扩展存储系统的分区方法、设备和计算机程序产品技术方案

技术编号:32345649 阅读:18 留言:0更新日期:2022-02-20 02:00
本公开涉及扩展存储系统的分区方法、设备和计算机程序产品。在一种方法中,将一组对象划分为第一组对象和第二组对象。基于第一组对象和第二组对象,创建第一分区和第二分区,第一分区包括第一组对象以及第二分区包括第二组对象。获取分区的分区索引,分区索引包括的一组节点分别表示一组对象的元数据。基于分区索引分别生成第一分区索引和第二分区索引,第一分区索引包括的第一组节点分别表示第一组对象的元数据,以及第二分区索引包括的第二组节点分别表示第一组对象的元数据。进一步,提供了相应的设备和计算机程序产品。利用上述示例性实现,可以以更为高效的方式扩展存储系统中的分区,进而提高存储系统的整体运行效率。进而提高存储系统的整体运行效率。进而提高存储系统的整体运行效率。

【技术实现步骤摘要】
扩展存储系统的分区方法、设备和计算机程序产品


[0001]本公开的各实现方式涉及存储管理,更具体地,涉及用于扩展存储系统中的分区的方法、设备和计算机程序产品。

技术介绍

[0002]随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力。目前已经提出了分布式存储系统的概念,并且可以将用户数据分布在分布式存储系统中包括的各个存储设备上。进一步,在提高数据存储能力的同时,用户对于存储系统的响应时间也提出了越来越高的需求。目前,已经开发出了针对存储系统中存储的对象划分分区,并且通过分区索引来以加速数据访问速度的技术方案。
[0003]随着存储系统的使用,存储系统中的存储设备可能面临存储空间不足。此时,可以扩展存储系统中的存储空间。此时,不得不相应地扩展存储系统中的分区。如何扩展存储系统中的分区以便提高存储系统的响应速度,成为一个研究热点。

技术实现思路

[0004]因而,期望能够开发并实现一种以更为有效的方式来管理存储系统的分区的技术方案。期望该技术方案能够与现有的存储系统相兼容,并且通过改造现有存储系统的各种配置,来以更为有效的方式管理存储系统。
[0005]根据本公开的第一方面,提供了一种用于扩展存储系统的分区的方法,存储系统包括至少一个分区,至少一个分区中的分区包括一组对象。在该方法中,将一组对象划分为第一组对象和第二组对象。基于第一组对象和第二组对象,创建第一分区和第二分区,第一分区包括第一组对象以及第二分区包括第二组对象。获取分区的分区索引,分区索引包括的一组节点分别表示一组对象的元数据。基于分区索引分别生成第一分区索引和第二分区索引,第一分区索引包括的第一组节点分别表示第一组对象的元数据,以及第二分区索引包括的第二组节点分别表示第一组对象的元数据。
[0006]根据本公开的第二方面,提供了一种电子设备,包括:至少一个处理器;易失性存储器;以及与至少一个处理器耦合的存储器,存储器具有存储于其中的指令,指令在被至少一个处理器执行时使得设备执行一种用于扩展存储系统的分区的动作。存储系统包括至少一个分区,至少一个分区中的分区包括一组对象。该动作包括:将一组对象划分为第一组对象和第二组对象;基于第一组对象和第二组对象,创建第一分区和第二分区,第一分区包括第一组对象以及第二分区包括第二组对象;获取分区的分区索引,分区索引包括的一组节点分别表示一组对象的元数据;以及基于分区索引分别生成第一分区索引和第二分区索引,第一分区索引包括的第一组节点分别表示第一组对象的元数据,以及第二分区索引包括的第二组节点分别表示第一组对象的元数据。
[0007]根据本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令用于执行根据
本公开的第一方面的方法。
附图说明
[0008]结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
[0009]图1示意性示出了其中可以实现本公开的方法的存储系统的框图;
[0010]图2示意性示出了根据本公开的一个实现方式的用于扩展存储系统中的分区的过程的框图;
[0011]图3示意性示出了根据本公开的一个实现方式的用于扩展存储系统中的分区的方法的流程图;
[0012]图4示意性示出了根据本公开的一个实现方式的用于获取存储系统中的分区索引的过程的框图;
[0013]图5示意性示出了根据本公开的一个实现方式的树状索引的框图;
[0014]图6示意性示出了根据本公开的一个实现方式的第二分区索引的框图;
[0015]图7示意性示出了根据本公开的一个实现方式的第一分区索引的框图;
[0016]图8示意性示出了根据本公开一个实现方式的用于基于扩展的分区来处理访问请求的过程的框图;以及
[0017]图9示意性示出了根据本公开的示例性实现的用于扩展存储系统中的分区的设备的框图。
具体实施方式
[0018]下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0019]在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
[0020]目前已经开发出了多种存储系统,例如,面向对象的存储系统可以以对象为单位来存储用户数据。在此的对象例如可以是图像、视频、音频或者其他格式的数据。可以将对象划分为一个或多个区块(chunk),并且基于区块进行存储。具体地,图1示意性示出了其中可以实现本公开的方法的存储系统的框图100。如图1所示,可以提供存储资源池110,并且该存储资源池110可以包括多个存储设备112、114、
……
、116。尽管在此示出了多个独立的物理存储设备112、114、
……
、116,根据本公开的示例性实现,存储设备还可以是虚拟存储设备。
[0021]在存储资源池110之上,可以建立区块层120。该区块层可以包括多个区块122和124等。对于不同的存储系统而言,区块可以被设置为不同的大小。在区块层120之上,可以
建立对象层130,并且该对象层130对于存储系统100的用户是可见的。在此,基于对象中存储的内容,对象可以包括一个或多个区块,例如,对象132可以包括两个区块(诸如,区块122和124),又例如,对象134可以仅包括一个区块。
[0022]随着存储系统100的运行,该存储系统100中可以包括大量的对象。为了便于对存储系统100中的各个对象进行管理,可以基于分布式哈希表(Distributed Hash Table,DHT)来将对象层130中的多个对象划分至相应的分区(partition)。例如,分区层140可以包括分区142和144等分区。可以基于存储系统100的配置,来设置分区的数量。例如可以将分区的数量设置为128或者其他的数值。此时,一个分区可以包括一个或多个对象。
[0023]为了便于管理分区中的各个对象,可以建立分区索引150来存储与对象相关联的元数据,以便以快速和有效的方式来访问存储系统中的对象。将会理解,图1仅示意性示出了用于分区142的分区索引150。对于分区层140中的每个分区,可以建立相应的索引。进一步,可以由一个或多个节点设备来运行分区管理器,以便管理各个分区中的对象。将会理解,在此的节点设备例如可以是存储设备112本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于扩展存储系统的分区的方法,所述存储系统包括至少一个分区,所述至少一个分区中的分区包括一组对象,所述方法包括:将所述一组对象划分为第一组对象和第二组对象;基于所述第一组对象和所述第二组对象,创建第一分区和第二分区,所述第一分区包括所述第一组对象以及所述第二分区包括所述第二组对象;获取所述分区的分区索引,所述分区索引包括的一组节点分别表示所述一组对象的元数据;以及基于所述分区索引分别生成第一分区索引和第二分区索引,所述第一分区索引包括的第一组节点分别表示所述第一组对象的元数据,以及所述第二分区索引包括的第二组节点分别表示所述第一组对象的元数据。2.根据权利要求1所述的方法,其中获取所述分区的分区索引包括:将所述分区的存储器表中的数据冲刷至所述存储系统的存储区块层中的对应于所述分区的存储区块;以及从所述存储区块中读取所述分区索引。3.根据权利要求1所述的方法,其中基于所述分区索引生成第二分区索引包括:基于所述分区索引中的与所述第二组对象相对应的节点,确定所述第二分区索引。4.根据权利要求3所述的方法,其中确定所述第二分区索引包括:基于写时拷贝过程,从所述分区索引中读取与所述第二组对象相对应的节点;基于所述第二组对象更新读取的所述节点以将更新的所述节点写入所述第二分区索引的所述存储器表;以及将所述第二分区索引的所述存储器表冲刷至所述存储系统的所述存储区块层中的对应于所述第二分区的存储区块,以生成所述第二分区索引。5.根据权利要求4所述的方法,其中确定所述第二分区索引进一步包括:在读取与所述第二组对象相对应的节点之前,停止处理针对所述分区的访问请求。6.根据权利要求5所述的方法,其中所述分区索引是附加式索引,以及其中基于所述分区索引生成第一分区索引包括:在所述分区索引已经被读取之后,将所述分区索引中的表示所述第二组对象中的对象的元数据的节点设置为无效,以生成所述第一分区索引。7.根据权利要求6所述的方法,进一步包括:基于所述第一分区索引和所述第二分区索引,恢复处理针对所述存储系统的访问请求。8.根据权利要求7所述的方法,其中恢复处理针对所述分区的所述访问请求包括:基于与所述分区相关联的哈希函数确定所述访问请求涉及的目标对象的扩展哈希值;基于所述扩展哈希值,从所述第一分区和所述第二分区中确定所述目标对象所在的目标分区;以及基于所述目标分区的索引来处理所述访问请求。9.根据权利要求1所述的方法,其中将所述一组对象划分至所述第一组对象和所述第二组对象包括:针对所述一组对象中的对象,基于与所述分区相关联的哈希函数确定所述对象的扩展哈希值;响应于确定所述扩展哈希值与所述对象的哈希值相同,将所述对象划分至所述第一组
对象,所述哈希值的长度小于所述扩展哈希值;以及响应于确定所述扩展哈希值与所述哈希值不同,将所述对象划分至所述第二组对象。10.根据权利要求1所述的方法,其中所述方法在用于管理所述分区的分区管理结点处的管理进程中被执行,以及其中所述方法响应于以下中的至少任一项而被执行:所述存储系统的存储容量的扩展:以及所述存储系统的并行访问能力的扩展。11.一种电子设备,包括:至少一个处理器;易失性存储器;以及与所述至少一个处理器耦合的存...

【专利技术属性】
技术研发人员:龚云海孙伟董国欣黄峰
申请(专利权)人:伊姆西IP控股有限责任公司
类型:发明
国别省市:

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

1