分布式存储系统数据块管理方法、系统、设备及储存介质技术方案

技术编号:38828920 阅读:12 留言:0更新日期:2023-09-15 20:08
本发明专利技术公开了一种分布式存储系统数据块管理方法、系统、设备及储存介质,所述方法包括:将数据块分配到预设的归置组;将所述归置组存储到预设的数据块服务,并在所述归置组与所述数据块服务之间建立映射关系;基于元数据服务管理所述归置组与所述数据块服务之间的映射关系,并在客户端在启动时从所述元数据服务获取最新的所述归置组的信息和其对应的所述数据块服务信息。通过本公开的处理方案,可以高效灵活地管理数据块在集群中存储位置。以高效灵活地管理数据块在集群中存储位置。以高效灵活地管理数据块在集群中存储位置。

【技术实现步骤摘要】
分布式存储系统数据块管理方法、系统、设备及储存介质


[0001]本专利技术涉及数据存储
,特别是涉及一种分布式存储系统数据块管理方法、系统、设备及储存介质。

技术介绍

[0002]按照用户使用的方式,分布式存储通常分为对象存储、文件存储、块存储。对象、文件、磁盘块的大小限制是很宽泛的,小到几KB,大到几TB。为了方便数据管理和调度,分布式存储一般会将大文件进行分块,不同的数据块可以分布在不同的存储设备中,充分利用多设备的优势提升并发访问的性能,此外大小相对固定的数据块便于采用多副本或纠删码等冗余策略提高数据的可靠性。
[0003]分布式存储一个很大的优势在于支持横向扩展,随着存储数据量的增加动态增加存储设备。因此如何高效灵活地管理数据块在集群中存储位置,即管理数据块和存储设备的对应关系是分布式存储必须要解决的重要问题。
[0004]一种现有技术通过元数据服务器管理数据块存储位置,元数据服务器集中维护了数据块到存储设备的映射关系。客户端访问数据块时,首先通过数据块ID从元数据服务器查询数据块的位置信息,再发送请求给对应存储设备访问数据块。该方法可以灵活调度数据块的存储位置,充分利用系统的存储资源。但是,因为客户端访问数据块时需先请求元数据服务器获取位置信息。当客户端数量较多IO请求频繁时,元数据服务器可能成为系统的瓶颈,限制了分布式存储系统规模和扩展能力。此外该方式还增加了IO延时。虽然通过在客户端缓存位置信息可以一定程度上缓解这些问题,但缓存有效性很大程度取决于缓存命中概率。
[0005]另一种现有技术通过哈希映射获取存储位置,通过对数据块ID进行哈希计算得到存储设备的ID,进而查询到存储设备信息。这种方式通常采用一致性哈希算法,以减少分布式存储拓扑变化时迁移的数据量。元数据服务器不需要维护每个数据块的位置信息,减少了元数据服务器的负载。但是,客户端通过哈希计算得到存储设备ID,虽然避免方法一中频繁访问元数据服务器的问题,但其限制了数据块分布的灵活性。例如系统扩容增加若干节点时,涉及大量的数据迁移影响正常业务访问。此外,该方法无法保证磁盘中存储数据的均衡性,即使系统有可用空间但因为个别磁盘空间占满而无法使用系统剩余存储空间,降低了整个系统的空间利率。
[0006]由此可见,上述现有的数据块管理方法在使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。如何能创设一种新的数据块管理方法,成为当前业界急需改进的目标。

技术实现思路

[0007]有鉴于此,本公开实施例提供一种分布式存储系统数据块管理方法,至少部分解决现有技术中存在的问题。
[0008]第一方面,本公开实施例提供了一种分布式存储系统数据块管理方法,所述方法
包括以下步骤:
[0009]将数据块分配到预设的归置组;
[0010]将所述归置组存储到预设的数据块服务,并在所述归置组与所述数据块服务之间建立映射关系;
[0011]基于元数据服务管理所述归置组与所述数据块服务之间的映射关系,并在客户端在启动时从所述元数据服务获取最新的所述归置组的信息和其对应的所述数据块服务信息。
[0012]根据本公开实施例的一种具体实现方式,所述方法还包括:
[0013]订阅所述归置组与所述数据块服务的更新事件。
[0014]根据本公开实施例的一种具体实现方式,所述将数据块分配到预设的归置组,包括以下步骤:
[0015]建立所述数据块到所述归置组的映射,在数据块创建时由元数据服务根据系统当前的存储空间和负载状态进行分配,通过以下公式进行计算:
[0016][0017]其中,W
i
为归置组被选择的权重值;i为归置组;N
i
为归置组相对目标容量的剩余可用容量比例;M
i
=Min(M1…
M
n
)为归置组对应数据块服务可用容量比例,M1为归置组对应第1个数据块服务的可用容量比例,M
n
为归置组对应第n个数据块服务的可用容量比例;L
i
=Max(L1…
L
n
)为归置组对应数据块服务当前的负载比例,L1为归置组对应第1个数据块服务的当前负载比例,L
n
为归置组对应第n个数据块服务的当前负载比例;δ为负载值的权重比例因子。
[0018]根据本公开实施例的一种具体实现方式,所述方法还包括:
[0019]当添加新的数据块时,所述客户端向元数据服务批量申请数据块存储配额,包括以下步骤:判断是否存在已申请未使用的数据块配额;其中,当不存在已申请未使用的数据块存储配额时,向所述元数据服务批量申请存储配额;所述元数据服务根据当前的存储空间以及负载情况,决定即将创建的数据块存储的目标归置组,并将归置组ID列表返回给客户端;以及,
[0020]当存在已申请未使用的数据块存储配额时,确定该数据块要存放的归置组;根据归置组和数据块服务的映射关系,确定数据块服务的信息;发送创建数据块请求给数据块服务;接收数据块服务的回复结果后返回对应归置组ID。
[0021]根据本公开实施例的一种具体实现方式,所述将所述归置组存储到预设的数据块服务,包括:
[0022]将所述归置组分别存储到预设数量的所述数据块服务中。
[0023]根据本公开实施例的一种具体实现方式,所述数据块和所述归置组的对应关系在整个数据块的生命周期内保持不变,用户访问数据块时需要提供其对应归置组ID。
[0024]第二方面,本公开实施例提供了一种分布式存储系统数据块管理系统,所述系统包括:
[0025]数据块分配模块,被配置用于将数据块分配到预设的归置组;
[0026]归置组分配模块,被配置用于将所述归置组存储到预设的数据块服务,并在所述
归置组与所述数据块服务之间建立映射关系;
[0027]管理组分配模块,被配置用于基于元数据服务管理所述归置组与所述数据块服务之间的映射关系,并在客户端在启动时从所述元数据服务获取最新的所述归置组的信息和其对应的所述数据块服务信息。
[0028]根据本公开实施例的一种具体实现方式,所述归置组分配模块还包括:
[0029]扩容模块,被配置用于当添加新的数据块时,所述客户端向元数据服务批量申请数据块存储配额,包括以下步骤:
[0030]判断是否存在已申请未使用的数据块配额;其中,当不存在已申请未使用的数据块存储配额时,向所述元数据服务批量申请存储配额;所述元数据服务根据当前的存储空间以及负载情况,决定即将创建的数据块存储的目标归置组,并将归置组ID列表返回给客户端;以及,
[0031]当存在已申请未使用的数据块存储配额时,确定该数据块要存放的归置组;根据归置组和数据块服务的映射关系,确定数据块服务的信息;发送创建数据块请求给数据块服务;接收数据块服务的回复结果后返回对应归置组ID。
[0032]第三方面,本公开实施例还提供了一种电子设备,该电子设备本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种分布式存储系统数据块管理方法,其特征在于,所述方法包括以下步骤:将数据块分配到预设的归置组;将所述归置组存储到预设的数据块服务,并在所述归置组与所述数据块服务之间建立映射关系;基于元数据服务管理所述归置组与所述数据块服务之间的映射关系,并在客户端在启动时从所述元数据服务获取最新的所述归置组的信息和其对应的所述数据块服务信息。2.根据权利要求1所述的分布式存储系统数据块管理方法,其特征在于,所述方法还包括:订阅所述归置组与所述数据块服务的更新事件。3.根据权利要求1所述的分布式存储系统数据块管理方法,其特征在于,所述将数据块分配到预设的归置组,包括以下步骤:建立所述数据块到所述归置组的映射,在数据块创建时由元数据服务根据系统当前的存储空间和负载状态进行分配,通过以下公式进行计算:其中,W
i
为归置组被选择的权重值;i为归置组;N
i
为归置组相对目标容量的剩余可用容量比例;M
i
=Min(M1…
M
n
)为归置组对应数据块服务可用容量比例,M1为归置组对应第1个数据块服务的可用容量比例,M
n
为归置组对应第n个数据块服务的可用容量比例;L
i
=Max(L1…
L
n
)为归置组对应数据块服务当前的负载比例,L1为归置组对应第1个数据块服务的当前负载比例,L
n
为归置组对应第n个数据块服务的当前负载比例;δ为负载值的权重比例因子。4.根据权利要求3所述的分布式存储系统数据块管理方法,其特征在于,所述方法还包括:当添加新的数据块时,所述客户端向元数据服务批量申请数据块存储配额,包括以下步骤:判断是否存在已申请未使用的数据块配额;其中,当不存在已申请未使用的数据块存储配额时,向所述元数据服务批量申请存储配额;所述元数据服务根据当前的存储空间以及负载情况,决定即将创建的数据块存储的目标归置组,并将归置组ID列表返回给客户端;以及,当存在已申请未使用的数据块存储配额时,确定该数据块要存放的归置组;根据归置组和数据块服务的映射关系,确定数据块服务的信息;发送创建数据块请求给数据块服务;接收数...

【专利技术属性】
技术研发人员:秦伟尹微文中领周泽湘
申请(专利权)人:北京同有飞骥科技股份有限公司
类型:发明
国别省市:

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

1