存储管理的方法、设备和计算机程序产品技术

技术编号:26170828 阅读:23 留言:0更新日期:2020-10-31 13:40
本公开的实施例涉及存储管理的方法、设备和计算机程序产品。该方法包括:接收针对被存储在第一存储块中的目标对象的更新请求,以在与第一存储块不同的第二存储块中写入经更新的目标对象;利用查找树确定与目标对象相关联的至少一个候选对象,查找树指示多个对象构成的层级关系,其中在查找树中,与目标对象相对应的第一节点和与至少一个候选对象相对应的第二节点具有相同的索引节点;确定至少一个候选对象在过去的预定时间内是否被更新;以及响应于至少一个候选对象在过去的预定时间内未被更新,将至少一个候选对象从第三存储块移动到与第三存储块不同的第四存储块中。

Storage management methods, equipment and computer program products

【技术实现步骤摘要】
存储管理的方法、设备和计算机程序产品
本公开的实施例涉及计算机领域,并且更具体地,涉及存储管理的方法、设备和计算机程序产品。
技术介绍
为了提高数据查找的效率,人们常利用诸如BTREE等查找树来组织元数据(例如,键值对)。例如,利用BTREE这种数据结构,人们可以快速地定位于目标键所对应的节点,从而快速定位目标数据。近年来,随着需要管理的数据的规模越来越大,存储元数据的存储开销也随之增长。因而,如何高效地管理元数据的存储称为关注的焦点。
技术实现思路
本公开的实施例提供一种用于存储管理的方案。根据本公开的第一方面,提出了一种用于存储管理的方法。该方法包括:接收针对被存储在第一存储块中的目标对象的更新请求,以在与第一存储块不同的第二存储块中写入经更新的目标对象;利用查找树确定与目标对象相关联的至少一个候选对象,查找树指示多个对象构成的层级关系,其中在查找树中,与目标对象相对应的第一节点和与至少一个候选对象相对应的第二节点具有相同的索引节点;确定至少一个候选对象在过去的预定时间内是否被更新;以及响应于至少一个候选对象在过去的预定时间内未被更新,将至少一个候选对象从第三存储块移动到与第三存储块不同的第四存储块中。根据本公开的第二方面,提出了一种用于存储管理的设备。该设备包括:至少一个处理单元;至少一个存储器,该至少一个存储器被耦合到该至少一个处理单元并且存储用于由该至少一个处理单元执行的指令,该指令当由该至少一个处理单元执行时,使得该设备执行动作,该动作包括:接收针对被存储在第一存储块中的目标对象的更新请求,以在与第一存储块不同的第二存储块中写入经更新的目标对象;利用查找树确定与目标对象相关联的至少一个候选对象,查找树指示多个对象构成的层级关系,其中在查找树中,与目标对象相对应的第一节点和与至少一个候选对象相对应的第二节点具有相同的索引节点;确定至少一个候选对象在过去的预定时间内是否被更新;以及响应于至少一个候选对象在过去的预定时间内未被更新,将至少一个候选对象从第三存储块移动到与第三存储块不同的第四存储块中。在本公开的第三方面,提供了一种计算机程序产品。该计算机程序产品被存储在非瞬态计算机存储介质中并且包括机器可执行指令,该机器可执行指令在设备中运行时使该设备执行根据本公开的第一方面所描述的方法的任意步骤。提供
技术实现思路
部分是为了以简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。
技术实现思路
部分无意标识本公开的关键特征或必要特征,也无意限制本公开的范围。附图说明通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。图1A至图1C图示了常规的更新查找树的示意图;图2图示了根据本公开实施例的存储管理的方法的流程图;图3图示了根据本公开实施例的示例查找树的示意图;图4图示了根据本公开一个实施例的确定候选对象在过去的预定时间段是否被更新的过程的流程图;图5图示了根据本公开另一实施例的确定候选对象在过去的预定时间段是否被更新的过程的流程图;图6图示了根据本公开实施例的更新后的示例查找树的示意图;以及图7图示了可以用来实施本公开内容的实施例的示例设备的示意性框图。具体实施方式下面将参照附图更详细地描述本公开的优选实施例。虽然附图中显示了本公开的优选实施例,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。如上文所讨论的,在例如使用BTREE等查找树的存储系统中,数据节点和索引节点所占用的存储空间的管理已经成为关注的焦点。例如,图1A示出了初始的查找树100A的示意图。如图1所示,查找树100A包括了索引节点A102、索引节点B104、索引节点C106、数据节点D108、数据节点E110、数据节点F112和数据节点G114,其中用于查找数据的数据对象(例如,键值对)被存储在数据节点中,而索引节点则存储其子节点的索引信息,以更快地查找到对应的数据节点。如图1A所示,初始地,与查找树100A中的各节点相关联的数据被顺序地存储在一个存储区域120中的多个存储块(存储块122-存储块134)中。在诸如ECS等数据存储系统中,存储系统在更新查找树100A中某个节点的数据,会将更新后的数据写入到新的存储块中,而不是在先前的存储块中直接替换数据。如图1B所示,在存储系统更新与数据节点E110中存储的元数据时,存储系统将在存储区域140中的存储块142中写入更新后的数据,并将存储区域120’中与数据节点E110相关联的存储块124标记为空闲,即更新为存储块124’。此外,存储系统还需要相应地更新数据节点E110的上级节点,即索引节点B104和索引节点A102,以体现数据节点E110已经被更新。例如,存储系统将在存储区域140中的存储块144和146分别写入与更新后的索引节点B’104’和更新后的索引节点A’102’相关联的数据,并将先前的存储块130和存储块134标记为空闲,即更新为存储区域120’中的存储块130’和134’。相应地,图1A中的索引节点A102和索引节点B104被更新为图1B中的索引节点A102’和索引节点B104’。类似地,如图1C所示,当存储系统需要进一步更新与数据节点G114中存储的元数据时,存储系统将在新的存储块150、存储块152和存储块154中分别写入与更新后的元数据以及对应的索引数据,并将先前的存储块128、存储块132和存储块146标记为空闲,以得到存储块128”、存储块132”和存储块146”。相应地,数据节点G114、索引节点C106和索引节点A102’被更新为数据节点G114”、索引节点C106”和索引节点A102”。此时,如图1C所示,存储区域120”中仅有两个在用的存储块122和存储块126,并且占据大部分空间的空闲存储块无法被有效地利用。一些传统的方案可以通过将存储块122和存储块126中的数据移动到新的存储区域来释放存储区域120”,以提稿存储的效率。然而,由于在移动存储块中的数据的过程中,存储块系统还需要更新与数据节点相关联的上级节点,从而导致写放大的情形。例如,一般的索引节点的大小可以为64KB,而数据节点的大小为8KB,在需要移动数据节点D108中存储的元数据时,存储系统需要写入与数据节点D108、数据节点B’104’和索引节点A”102”相关联本文档来自技高网
...

【技术保护点】
1.一种存储管理方法,包括:/n接收针对被存储在第一存储块中的目标对象的更新请求,以在与所述第一存储块不同的第二存储块中写入经更新的所述目标对象;/n利用查找树确定与所述目标对象相关联的至少一个候选对象,所述查找树指示多个对象构成的层级关系,其中在所述查找树中,与所述目标对象相对应的第一节点和与所述至少一个候选对象相对应的第二节点具有相同的索引节点;/n确定所述至少一个候选对象在过去的预定时间内是否被更新;以及/n响应于所述至少一个候选对象在所述过去的预定时间内未被更新,将所述至少一个候选对象从第三存储块移动到与所述第三存储块不同的第四存储块中。/n

【技术特征摘要】
1.一种存储管理方法,包括:
接收针对被存储在第一存储块中的目标对象的更新请求,以在与所述第一存储块不同的第二存储块中写入经更新的所述目标对象;
利用查找树确定与所述目标对象相关联的至少一个候选对象,所述查找树指示多个对象构成的层级关系,其中在所述查找树中,与所述目标对象相对应的第一节点和与所述至少一个候选对象相对应的第二节点具有相同的索引节点;
确定所述至少一个候选对象在过去的预定时间内是否被更新;以及
响应于所述至少一个候选对象在所述过去的预定时间内未被更新,将所述至少一个候选对象从第三存储块移动到与所述第三存储块不同的第四存储块中。


2.根据权利要求1所述的方法,还包括:
在所述第三存储块所在的存储区域中将所述第三存储块标记为空闲;以及
响应于确定所述存储区域均为空闲,回收所述存储区域。


3.根据权利要求1所述的方法,其中确定所述至少一个候选对象在所述过去的预定时间内是否被更新包括:
针对所述至少一个候选对象中的一个候选对象,
获取与所述候选对象相关联的更新次数标识,所述更新次数标识指示在所述候选对象最近被更新时所述查找树已经被更新的第一次数;
确定所述第一次数与所述查找树当前已经被更新的第二次数之间的次数差异;以及
响应于所述差异大于预定的差异阈值,确定所述候选对象在所述过去的预定时间内未被更新。


4.根据权利要求3所述的方法,还包括:
递增所述查找树被更新的第二次数;以及
将与所述至少一个候选对象相关联的所述次数标识更新为经递增的所述第二次数。


5.根据权利要求1所述的方法,其中确定所述候选对象在所述过去的预定时间内是否被更新包括:
获取指示所述候选对象最近被更新时间的时间戳;
基于所述时间戳确定所述最近被更新时间与当前时间的时间差;以及
响应于确定所述时间差大于预定的阈值,确定所述候选对象在所述过去的预定时间内未被更新。


6.根据权利要求1所述的方法,其中所述目标对象为用于查找数据的键值对。


7.一种用于存储管理的设备,包括:
至少一个处理单元;
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令当由所述至少一个处理单元执行时,使得所述设备执行动作,所述动作包括:
接收针对被存储在第一存储块中的目标对象的更新请求,以在与所述第一存储块不同的第二存储块中写入经更新的所述目标对象;
利用查找树确定与所述目标对象相关联的至少一个候选对象,所述查找树指示多个对象构成的层级关系,其中在所述查找树中,与所述目标对象相对应的第一节点和与所述至少一个候选对象相对应的第二节点具有相同的索引节点;
确定所述至少一个候选对象在过去的预定时间内是否被更新;以及
响应于所述至少一个候选对象在所述过去的预定时间内未被更新,将所述至少一个候选对象从第三存储块移动到与所述第三存储块不同的第四存储块中。


8.根据权利要求7所述的设备,所述动作还包括:
在所述第三存储块所在的存储区域中将所述第三存储块标记为空闲;以及
响应于确定所述存储区域均为空闲,回收所述存储区域。


9.根据权利要求7所述的设备,其中确定所述至少一个候选对象在所述过去的预定时间内是否被更新包括:
针对所述至少一个候选对象中的...

【专利技术属性】
技术研发人员:雷璐吴阳春
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:美国;US

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

1