System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种数据储存方法及其相关设备技术_技高网

一种数据储存方法及其相关设备技术

技术编号:41704340 阅读:4 留言:0更新日期:2024-06-19 12:36
本申请提供了一种数据储存方法及其相关设备,用于利用待存储数据,生成多个分片,在目标存储池中,为所述多个分片确定容错层级,其中,所述目标存储池为多层级架构,所述目标存储池中的每层级对应至少一个存储单元,且上一层级的每个存储单元均包含下一层级的至少一个存储单元,所述容错层级为所述目标存储池中满足以下要求的最高层级:所对应的存储单元的数量大于或等于所述分片的数量,将所述多个分片分别存储于所述目标存储池的所述容错层级对应的不同存储单元中。通过上述方案,能够提高数据储存的可靠性。

【技术实现步骤摘要】

本申请涉及数据储存领域,特别是涉及一种数据储存方法及其相关设备


技术介绍

1、在数据储存领域中,数据经由数据节点写入到硬盘上,通常会将数据进行分片后,进而将该数据的多个分片分别依照数据节点写入到相应硬盘中。

2、对于将多个分片通过数据节点写入到相应硬盘的过程中,通常是将多个分片集中写入一个或若干个数据节点下的相应硬盘中,在写入分片数量较多的数据节点发生宕机故障时,则会导致该数据无法使用。


技术实现思路

1、本申请提供了一种数据储存方法及其相关设备,能够提高数据储存的可靠性。

2、本申请第一方面提供一种数据储存方法,包括:

3、利用待存储数据,生成多个分片;

4、在目标存储池中,为所述多个分片确定容错层级,其中,所述目标存储池为多层级架构,所述目标存储池中的每层级对应至少一个存储单元,且上一层级的每个存储单元均包含下一层级的至少一个存储单元,所述容错层级为所述目标存储池中满足以下要求的最高层级:所对应的存储单元的数量大于或等于所述分片的数量;

5、将所述多个分片分别存储于所述目标存储池的所述容错层级对应的不同存储单元中。

6、在一些实施方式中,在所述目标存储池的所述多层级架构中,自上而下的各层级对应的存储单元依序为机架、节点、硬盘池和硬盘。

7、在一些实施方式中,所述目标存储池为资源池的多个存储池中的其中一个;

8、所述在目标存储池中,为所述多个分片确定容错层级,包括:

9、从所述多个存储池中,查找是否存在满足预设要求的存储池,其中,所述预设要求为所述存储池的第一层级对应的存储单元的数量大于或等于所述分片的数量;

10、响应于存在满足所述预设要求的存储池,从满足所述预设要求的存储池中选出所述目标存储池,并将所述目标存储池的第一层级作为所述容错层级;

11、响应于不存在满足所述预设要求的存储池,从可用存储池中选出所述目标存储池,并从所述目标存储池的第二层级及以下的层级中选出所述容错层级,其中,所述可用存储池是从所述多个存储池中确定得到。

12、在一些实施方式中,所述目标存储池的选择策略为优先选择负载低的存储池;

13、和/或,所述从所述目标存储池的第二层级及以下的层级中选出所述容错层级,包括:

14、将所述存储池的第二层级作为当前层级;

15、判断当前层级对应的存储单元的数量是否大于或等于所述分片的数量;

16、响应于当前层级对应的存储单元的数量大于或等于所述分片的数量,将所述当前层级确定为所述容错层级;

17、响应于当前层级对应的存储单元小于所述分片的数量,将所述当前层级的下一层级确定为当前层级,并重新执行所述判断当前层级对应的存储单元是否大于或等于所述分片的数量及其后续步骤,直至确定出所述容错层级。

18、在一些实施方式中,所述将所述多个分片分别存储于所述目标存储池的所述容错层级对应的不同存储单元中,包括:

19、按照第一选择策略,从所述目标存储池中选择所述容错层级对应的多个存储单元,作为多个目标存储单元,其中,所述多个存储单元的数量与所述分片的数量相等;

20、将所述多个分片分别存储于所述多个目标存储单元中。

21、在一些实施方式中,所述第一选择策略包括所述第一子策略和第二子策略中的至少一者,其中,所述第一子策略包括:在所述容错层级的上一层级对应的存储单元的数量大于所述分片的数量的情况下,所述多个目标存储单元分布在所述容错层级的上一层级对应的第一数量个存储单元中,在所述容错层级的上一层级对应的存储单元的数量小于或等于所述分片的数量的情况下,所述多个目标存储单元分布在所述容错层级的上一层级对应的各存储单元中,所述第一数量等于所述分片的数量;所述第二子策略包括:各分布存储单元之间的目标存储单元的数量差异均少于第二数量,其中,所述分布存储单元为所述容错层级的上一层级的存储单元,且包含有所述目标存储单元。

22、在一些实施方式中,所述将所述多个分片分别存储于所述多个目标存储单元中,包括:

23、响应于所述容错层级非为所述多层级架构中的最后层级,分别将各所述目标存储单元作为写入存储单元;

24、按照第二选择策略,从所述写入存储单元所包含的下一层级的存储单元中选出新的写入存储单元,并针对所述新的写入存储单元重新执行本步骤,直至最新的写入存储单元对应的层级为最后层级;

25、将各所述分片分别存储于各所述目标存储单元对应的所述最新的写入存储单元中。

26、在一些实施方式中,所述第二选择策略为均衡负载策略。

27、在一些实施方式中,所述按照第二选择策略,从所述写入存储单元所包含的下一层级的存储单元中选出新的写入存储单元,包括:

28、从所述写入存储单元所包含的下一层级的存储单元中确定出多个待选队列,其中,所述多个待选队列皆由可更新且相同的多个存储单元构成,所述多个存储单元各自满足剩余容量相对大和负载相对低的至少一者;

29、从所述多个待选队列中选择目标待选队列,以从所述目标待选队列的多个存储单元中确定出所述新的写入存储单元。

30、在一些实施方式中,所述利用待存储数据,生成多个分片,包括:

31、对所述待存储数据进行编码,得到第一数量数据分片和第二数量校验分片,所述多个分片包括第一数量数据分片和第二数量校验分片。

32、在一些实施方式中,所述目标存储池为资源池的多个存储池中的其中一个,所述资源池用于存储同一业务类型的数据。

33、本申请第二方面提供一种数据存储装置,包括:

34、生成模块,用于利用待存储数据,生成多个分片;

35、确定模块,用于在目标存储池中,为所述多个分片确定容错层级,其中,所述目标存储池为多层级架构,所述目标存储池中的每层级对应至少一个存储单元,且上一层级的每个存储单元均包含下一层级的至少一个存储单元,所述容错层级为所述目标存储池中满足以下要求的最高层级:所对应的存储单元的数量大于或等于所述分片的数量;

36、存储模块,用于将所述多个分片分别存储于所述目标存储池的所述容错层级对应的不同存储单元中。

37、本申请第三方面提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如第一方面的方法。

38、本申请第四方面提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面任一的方法。

39、相对于现有技术,本申请的技术方案的存储池设置为多层级架构,资源池中的每层级对应至少一个存储单元,且上一层级的每个存储单元均包含下一层级的至少一个存储单元。并且,针对对待存储数据的本文档来自技高网...

【技术保护点】

1.一种数据储存方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在所述目标存储池的所述多层级架构中,自上而下的各层级对应的存储单元依序为机架、节点、硬盘池和硬盘。

3.根据权利要求1所述的方法,其特征在于,所述目标存储池为资源池的多个存储池中的其中一个;

4.根据权利要求3所述的方法,其特征在于,所述目标存储池的选择策略为优先选择负载低的存储池;

5.根据权利要求1所述的方法,其特征在于,所述将所述多个分片分别存储于所述目标存储池的所述容错层级对应的不同存储单元中,包括:

6.根据权利要求5所述的方法,其特征在于,所述第一选择策略包括第一子策略和第二子策略中的至少一者,其中,所述第一子策略包括:在所述容错层级的上一层级对应的存储单元的数量大于所述分片的数量的情况下,所述多个目标存储单元分布在所述容错层级的上一层级对应的第一数量个存储单元中,在所述容错层级的上一层级对应的存储单元的数量小于或等于所述分片的数量的情况下,所述多个目标存储单元分布在所述容错层级的上一层级对应的各存储单元中,所述第一数量等于所述分片的数量;所述第二子策略包括:各分布存储单元之间的目标存储单元的数量差异均少于第二数量,其中,所述分布存储单元为所述容错层级的上一层级的存储单元,且包含有所述目标存储单元。

7.根据权利要求5所述的方法,其特征在于,所述将所述多个分片分别存储于所述多个目标存储单元中,包括:

8.根据权利要求7所述的方法,其特征在于,所述按照第二选择策略,从所述写入存储单元所包含的下一层级的存储单元中选出新的写入存储单元,包括:

9.根据权利要求1所述的方法,其特征在于,所述目标存储池为资源池的多个存储池中的其中一个,所述资源池用于存储同一业务类型的数据。

10.一种计算机可读存储介质,包括指令,其特征在于,当其在计算机上运行时,使得计算机执行如权利要求1至9中任一项的所述方法。

...

【技术特征摘要】

1.一种数据储存方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在所述目标存储池的所述多层级架构中,自上而下的各层级对应的存储单元依序为机架、节点、硬盘池和硬盘。

3.根据权利要求1所述的方法,其特征在于,所述目标存储池为资源池的多个存储池中的其中一个;

4.根据权利要求3所述的方法,其特征在于,所述目标存储池的选择策略为优先选择负载低的存储池;

5.根据权利要求1所述的方法,其特征在于,所述将所述多个分片分别存储于所述目标存储池的所述容错层级对应的不同存储单元中,包括:

6.根据权利要求5所述的方法,其特征在于,所述第一选择策略包括第一子策略和第二子策略中的至少一者,其中,所述第一子策略包括:在所述容错层级的上一层级对应的存储单元的数量大于所述分片的数量的情况下,所述多个目标存储单元分布在所述容错层级的上一层级对应的第一数量个存储单元中,在所述容错层级的上一层级对应...

【专利技术属性】
技术研发人员:江文龙李孔强徐涛罗心
申请(专利权)人:浙江大华技术股份有限公司
类型:发明
国别省市:

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

1