存储系统中管理数据索引的方法和装置制造方法及图纸

技术编号:24409713 阅读:45 留言:0更新日期:2020-06-06 08:39
本申请公开了存储系统中管理数据索引的方法和装置,涉及计算机技术领域,有助于实现使用合适粒度的操作单元创建数据索引,从而节省数据索引所占的存储空间。该方法包括:获取第一待写数据,第一待写数据的逻辑地址范围是第一逻辑地址范围;基于第一逻辑地址范围中待生成数据索引的逻辑地址范围与存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引;其中,存储系统包含第一长度的数据索引操作单元和第二长度的数据索引操作单元;第一长度大于第二长度。

The method and device of managing data index in storage system

【技术实现步骤摘要】
存储系统中管理数据索引的方法和装置本申请要求于2019年12月23日提交国家知识产权局、申请号为201911342473.9、申请名称为“一种自适应存储索引管理机制”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及计算机
,尤其涉及存储系统中管理数据索引的方法和装置。
技术介绍
数据索引(index)用于快速查询数据,使用数据索引可以屏蔽数据语义,提供一致性的高效的存储服务。将存储系统上数据的存储地址按照特定的数据索引操作单元为单位生成数据索引。存储系统使用一种固态粒度的数据索引操作单元创建数据索引,根据存储系统中数据访问的多样性,无法满足访问数据访问需求。因此,如何使用合适粒度的数据索引操作单元创建数据索引成为存储系统要解决的问题。
技术实现思路
本申请实施例提供了存储系统中管理数据索引的方法和装置,有助于实现使用合适粒度的数据索引操作单元创建数据索引,从而节省数据索引所占的存储空间。第一方面,提供了一种存储系统中管理数据索引的方法,包括:获取第一待写数据,第一待写数据的逻辑地址范围是第一逻辑地址范围。然后,基于第一逻辑地址范围中待生成数据索引的逻辑地址范围与存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引。其中,该存储系统包含第一长度的数据索引操作单元和第二长度的数据索引操作单元;第一长度大于第二长度。该技术方案中,支持基于不同长度的数据索引操作单元生成数据索引。由于对于同一逻辑地址范围来说,在保证与相应数据索引操作单元对齐的情况下,基于越大长度的数据索引操作单元生成数据索引,数据索引量越少,越节省数据索引所占的存储空间。因此,使用本技术方案有助于节省数据索引所占的存储空间。作为示例,待生成数据索引的逻辑地址范围,可以理解为,第一逻辑地址范围中的未参与生成数据索引的操作的逻辑地址范围。在一种可能的设计中,基于第一逻辑地址范围中待生成数据索引的逻辑地址范围与存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引,具体包括:当待生成数据索引的逻辑地址范围与第一长度的数据索引操作单元对齐时,基于第一长度的数据索引操作单元,为第一数据生成第一数据索引;第一数据是第一待写数据中从待生成数据索引的逻辑地址范围的首个逻辑地址开始且长度是第一长度的逻辑地址范围的数据。其中,第一数据索引包括第一数据在存储系统中的位置。在一种可能的设计中,基于第一逻辑地址范围中待生成数据索引的逻辑地址范围与存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引,具体包括:当待生成数据索引的逻辑地址范围与第一长度的数据索引操作单元不对齐时,基于第二长度的数据索引操作单元,为第二数据生成第二数据索引。其中,第二数据是第一待写数据中从待生成数据索引的逻辑地址范围的首个逻辑地址开始且长度是第二长度的逻辑地址范围的数据;第二数据索引包括第二数据在存储系统中的位置。这样,优先基于较大长度的数据索引操作单元生成数据索引,数据索引的数量越少,有助于节省数据索引所占的存储空间。也就是说,在生成数据索引的流程中,越大长度的数据索引操作单元,具有越高的优先级。在一种可能的设计中,当待生成数据索引的逻辑地址范围的首个逻辑地址能被第一长度整除,且待生成数据索引的逻辑地址范围大于等于所述第一长度时,待生成数据索引的逻辑地址范围与第一长度的数据索引操作单元对齐。在一种可能的设计中,当待生成数据索引的逻辑地址范围的首个逻辑地址不能被第一长度整除,和/或,待生成数据索引的逻辑地址范围小于所述第一长度时,待生成数据索引的逻辑地址范围与第一长度的数据索引操作单元不对齐。在一种可能的设计中,在基于第一长度的数据索引操作单元,为第一数据生成第一数据索引之后,该方法还包括:当存储系统中已存在第一目标数据索引时,删除第一目标数据索引。第一目标数据索引是基于第二长度的数据索引操作单元,为第三数据生成的数据索引。第一数据的逻辑地址范围包括第三数据的逻辑地址范围。第一目标数据索引包含第三数据在存储系统中的位置。这样,有助于节省数据索引所占的存储空间,并且有助于在垃圾回收时,提高垃圾回收的效率。在一种可能的设计中,在基于第一长度的数据索引操作单元,为第一数据生成第一数据索引之后,该方法还包括:当存储系统中已存在第一目标数据索引时,存储系统将第一目标数据索引标记为无效。在一种可能的设计中,在基于第二长度的数据索引操作单元,为第二数据生成第二数据索引之后,该方法还包括:当存储系统中已存在第二目标数据索引时,将第二目标数据索引中的目标部分的状态标记为无效。其中,第二目标数据索引是基于第一长度的数据索引操作单元,为第四数据生成的数据索引。目标部分是为第四数据的逻辑地址范围中包含的第二逻辑地址范围的数据生成的数据索引。第二逻辑地址范围与第二数据的逻辑地址范围相同。这样,有助于在数据查询过程和垃圾回收过程中,区分新数据和旧数据,从而提高数据查询效率和垃圾回收效率。在一种可能的设计中,存储系统可以使用状态位来标记第二目标数据索引中的每一部分(section)。在一种可能的设计中,该方法还包括:当第二目标数据索引的所有部分的状态均被标记为无效时,删除第二目标数据索引。这样,有助于在垃圾回收过程中,区分新数据和旧数据,从而提高垃圾回收效率。在一种可能的设计中,该方法还包括:当第二目标数据索引的所有部分中状态为无效的部分的个数大于或等于阈值时,将所该有部分中状态为有效的部分生成新的数据索引,并删除第二目标数据索引。这样,有助于进一步节省数据索引所占的存储空间;并且,在垃圾回收过程中,区分新数据和旧数据,从而提高垃圾回收效率。在一种可能的设计中,该方法还包括:获取待查询逻辑地址范围;然后,基于第二长度对待查询逻辑地址范围进行编码,得到第一编码结果;接着,基于第一编码结果查询到第二数据索引。其中,第二数据索引包括第一编码结果。最后,基于第二数据索引所指示的数据,确定待查询逻辑地址范围的数据。在一种可能的设计中,该方法还包括:当存储系统中不存在第一编码结果时,基于第一长度对待查询逻辑地址范围进行编码,得到第二编码结果;然后,基于第二编码结果查询到第一数据索引;其中,第一数据索引包括第二编码结果;接着,基于第一数据索引所指示的数据,确定待查询逻辑地址范围的数据。这样,优先基于较小长度的数据索引操作单元得到的编码结果,从而基于该编码结果确定待查询逻辑地址范围的数据,有助于保证查询到的待查询逻辑地址范围的数据是新数据。也就是说,在数据查询流程中,越小长度的数据索引操作单元,具有越高的优先级。在一种可能的设计中,第一逻辑地址范围中的首个逻辑地址能被第二长度整除,第一逻辑地址范围的长度是第二长度的整数倍。在一种可能的设计中,获取第一待写数据,具体包括:接收数据写请求;该数据写请求包括第一待写数据。或者,接收数据写请求,该数据写请求包括初始待写数据和初始逻辑地址范围;基于第二长度补齐初始待写数据,得到第一待写数据。也就是说,第一逻辑地址范围可以是写请求中携本文档来自技高网...

【技术保护点】
1.一种存储系统中管理数据索引的方法,其特征在于,所述方法包括:/n获取第一待写数据,所述第一待写数据的逻辑地址范围是第一逻辑地址范围;/n基于所述第一逻辑地址范围中待生成数据索引的逻辑地址范围与所述存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引;其中,所述存储系统包含第一长度的数据索引操作单元和第二长度的数据索引操作单元;所述第一长度大于所述第二长度。/n

【技术特征摘要】
20191223 CN 20191134247391.一种存储系统中管理数据索引的方法,其特征在于,所述方法包括:
获取第一待写数据,所述第一待写数据的逻辑地址范围是第一逻辑地址范围;
基于所述第一逻辑地址范围中待生成数据索引的逻辑地址范围与所述存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引;其中,所述存储系统包含第一长度的数据索引操作单元和第二长度的数据索引操作单元;所述第一长度大于所述第二长度。


2.根据权利要求1所述的方法,其特征在于,所述基于所述第一逻辑地址范围中待生成数据索引的逻辑地址范围与所述存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引,具体包括:
当所述待生成数据索引的逻辑地址范围与所述第一长度的数据索引操作单元对齐时,基于所述第一长度的数据索引操作单元,为第一数据生成第一数据索引;所述第一数据是所述第一待写数据中从所述待生成数据索引的逻辑地址范围的首个逻辑地址开始且长度是所述第一长度的逻辑地址范围的数据;其中,所述第一数据索引包括所述第一数据在所述存储系统中的位置。


3.根据权利要求2所述的方法,其特征在于,所述基于所述第一逻辑地址范围中待生成数据索引的逻辑地址范围与所述存储系统中不同长度的数据索引操作单元的对齐情况生成数据索引,具体包括:
当所述待生成数据索引的逻辑地址范围与所述第一长度的数据索引操作单元不对齐时,基于所述第二长度的数据索引操作单元,为第二数据生成第二数据索引;其中,所述第二数据是所述第一待写数据中从所述待生成数据索引的逻辑地址范围的首个逻辑地址开始且长度是所述第二长度的逻辑地址范围的数据;所述第二数据索引包括所述第二数据在所述存储系统中的位置。


4.根据权利要求2或3所述的方法,其特征在于,当所述待生成数据索引的逻辑地址范围的首个逻辑地址能被所述第一长度整除,且所述待生成数据索引的逻辑地址范围大于等于所述第一长度时,所述待生成数据索引的逻辑地址范围与所述第一长度的数据索引操作单元对齐。


5.根据权利要求2所述的方法,其特征在于,在所述基于所述第一长度的数据索引操作单元,为第一数据生成第一数据索引之后,所述方法还包括:
当所述存储系统中已存在第一目标数据索引时,删除所述第一目标数据索引;其中,所述第一目标数据索引是基于所述第二长度的数据索引操作单元,为第三数据生成的数据索引;所述第一数据的逻辑地址范围包括所述第三数据的逻辑地址范围;所述第一目标数据索引包含所述第三数据在所述存储系统中的位置。


6.根据权利要求3所述的方法,其特征在于,在所述基于所述第二长度的数据索引操作单元,为第二数据生成第二数据索引之后,所述方法还包括:
当所述存储系统中已存在第二目标数据索引时,将所述第二目标数据索引中的目标部分的状态标记为无效;其中,所述第二目标数据索引是基于所述第一长度的数据索引操作单元,为第四数据生成的数据索引;所述目标部分是为所述第四数据的逻辑地址范围中包含的第二逻辑地址范围的数据生成的数据索引;所述第二逻辑地址范围与所述第二数据的逻辑地址范围相同。


7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述第二目标数据索引的所有部分的状态均被标记为无效时,删除所述第二目标数据索引。


8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述第二目标数据索引的所有部分中状态为无效的部分的个数大于或等于阈值时,将所述所有部分中状态为有效的部分生成新的数据索引,并删除所述第二目标数据索引。


9.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获取待查询逻辑地址范围;
基于所述第二长度对所述待查询逻辑地址范围进行编码,得到第一编码结果;
基于所述第一编码结果查询到所述第二数据索引;其中,所述第二数据索引包括所述第一编码结果;
基于所述第二数据索引所指示的数据,确定所述待查询逻辑地址范围的数据。


10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述存储系统中不存在所述第一编码结果时,基于所述第一长度对所述待查询逻辑地址范围进行编码,得到第二编码结果;
基于所述第二编码结果查询到所述第一数据索引;其中,所述第一数据索引包括所述第二编码结果;
基于所述第一数据索引所指示的数据,确定所述待查询逻辑地址范围的数据。


11.一种存储系统中管理数据索引的装置,其特征在于,所述装置包括:
获取单元,用于获取第一待写数据,所述第一待写数据的逻辑地址范围是第一逻辑地址范围;
生成单元,用于基于所述第一逻辑地址范围中待生成数据索引的逻辑地址范围与所述存储系...

【专利技术属性】
技术研发人员:德语心
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1