System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及分布式存储,更具体地说,涉及一种数据分布方法、系统、计算机程序产品、设备及介质。
技术介绍
1、当前,在对分布式存储系统进行数据分布时,可以建立元数据服务器来记录副本数据所在位置。然而,该方式增加了元数据的存储压力和访问压力,且元数据服务器运维较为复杂,元数据服务器一旦出现故障,整个分布式存储系统将无法正常工作,导致分布式存储的可靠性和稳定性较差。
2、综上所述,如何提高分布式存储的可靠性和稳定性是目前本领域技术人员亟待解决的问题。
技术实现思路
1、本专利技术的目的是提供一种数据分布方法,其能在一定程度上解决如何提高分布式存储的可靠性和稳定性的技术问题。本专利技术还提供了一种数据分布系统、计算机程序产品、电子设备及计算机可读存储介质。
2、为了实现上述目的,本专利技术提供如下技术方案:
3、第一方面,提供一种数据分布方法,包括:
4、在分布式存储中,确定出待部署的逻辑单元号;
5、在所述分布式存储中,选取出用于部署所述逻辑单元号的第一集群节点;
6、将所述逻辑单元号切分成逻辑数据块;
7、在所述第一集群节点中生成第一虚拟节点;
8、对所述逻辑数据块和所述第一虚拟节点进行一致性哈希运算,得到第一运算结果;
9、根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果。
10、另一方面,在所述分布式存储中,选取出用于部署所述逻辑单元号的
11、获取所述分布式存储中集群节点的容量限制条件;
12、获取选取用于部署所述逻辑单元号的所述第一集群节点的选取策略;
13、在所述分布式存储中,根据所述容量限制条件和所述选取策略选取出所述第一集群节点。
14、另一方面,所述容量限制条件包括第一限制条件和第二限制条件,所述选取策略包括第一策略、第二策略和第三策略;
15、所述第一限制条件包括所述分布式存储中所有集群节点的总容量使用率不超过第一预设值;
16、所述第二限制条件包括单个集群节点的容量使用率不超过第二预设值;
17、所述第一策略包括选取的集群节点的个数为所述逻辑单元号的副本数与1的和值,且选取的集群节点分配逻辑单元号后的容量使用率低于第三预设值;
18、所述第二策略包括无法满足所述第一策略时,选取的集群节点分配逻辑单元号后的容量使用率低于第四预设值,所述第四预设值大于所述第三预设值;
19、所述第三策略包括无法满足所述第一策略和所述第二策略时,选取所有满足所述第二限制条件的集群节点,且选取的集群节点分配逻辑单元号后的容量使用率低于第五预设值,所述第五预设值大于所述第四预设值。
20、另一方面,根据所述容量限制条件和所述选取策略选取出所述第一集群节点,包括:
21、计算所述分布式存储为所述逻辑单元号分配空间后的第一容量使用率;
22、若所述第一容量使用率超过所述第一预设值,则返回集群容量不足的报错信息。
23、另一方面,计算所述分布式存储为所述逻辑单元号分配空间后的第一容量使用率之后,还包括:
24、若所述第一容量使用率未超过所述第一预设值,则在所述分布式存储中,确定出容量使用率低于所述第二预设值的第二集群节点;
25、按照集群节点的优先级从高到低的顺序,对所述第二集群节点进行排序,得到第三集群节点;
26、从所述第三集群节点中选取出第一数量的第一待选集群节点,所述第一数量为所述副本数与1的和值;
27、计算所述第一待选集群节点为所述逻辑单元号分配空间后的第二容量使用率;
28、若所述第二容量使用率低于所述第三预设值,则将所述第一待选集群节点作为所述第一集群节点;
29、其中,集群节点的可用容量越高,集群节点的优先级越高。
30、另一方面,计算所述第一待选集群节点为所述逻辑单元号分配空间后的第二容量使用率之后,还包括:
31、若所述第二容量使用率大于等于所述第三预设值,则从所述第三集群节点中选取出一个未被选取过的集群节点并添加至所述第一待选集群节点中,得到第二待选集群节点;
32、计算所述第二待选集群节点为所述逻辑单元号分配空间后的第三容量使用率;
33、若所述第三容量使用率低于所述第四预设值,则将所述第二待选集群节点作为所述第一集群节点。
34、另一方面,计算所述第二待选集群节点为所述逻辑单元号分配空间后的第三容量使用率之后,还包括:
35、若所述第三容量使用率大于等于所述第四预设值,则从所述第三集群节点中选取出前第二数量的第三待选集群节点;
36、计算所述第三待选集群节点为所述逻辑单元号分配空间后的第四容量使用率;
37、重复执行若所述第四容量使用率低于所述第四预设值,则在(c+1,s)范围内二分取集群节点与所述第三待选集群节点组成第四待选集群节点,若所述第四容量使用率大于等于所述第四预设值,则在(s,n)范围内二分取集群节点与所述第三待选集群节点组成第四待选集群节点的步骤,直至所述第四待选集群节点满足所述第二策略,将所述第四待选集群节点作为所述第一集群节点;
38、其中,所述第二数量的确定过程包括:s=c+1+((n-c-1))/2,s表示所述第二数量,c表示所述副本数,n表示集群节点的总数量。
39、另一方面,根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果之后,还包括:
40、确定对所述逻辑单元号进行扩容的扩容策略;
41、根据所述容量限制条件和所述扩容策略,对所述第一集群节点进行调整,得到第四集群节点,并对所述第一分布结果进行调整。
42、另一方面,所述扩容策略包括若扩容后的所述逻辑单元号所在集群节点的容量使用率小于第六预设值,则不对所述第一分布结果进行调整,否则对所述第一分布结果进行调整。
43、另一方面,根据所述容量限制条件和所述扩容策略,对所述第一集群节点进行调整,得到第四集群节点,包括:
44、检测所述逻辑单元号扩容后,所述分布式存储的剩余容量是否满足所述第一限制条件,若不满足,则返回集群容量不足的报错信息。
45、另一方面,检测所述逻辑单元号扩容后,所述分布式存储的剩余容量是否满足所述第一限制条件之后,还包括:
46、若满足,则分析所述逻辑单元号的类型;
47、若所述逻辑单元号为非本地化逻辑单元号,则计算所述逻辑单元号扩容后,所述第一集群节点的容量使用率的第一理想值,若所述第一理想值大于等于所述第六预设值,则根据所述第二集群节点对所述第一集群节点进行调整,得到所述第四集群节点;
48、若所述逻辑单元号为本地化逻辑单元号,则确定本地化集群节点无法放置的剩余逻辑数据块,计算所述剩本文档来自技高网...
【技术保护点】
1.一种数据分布方法,其特征在于,包括:
2.根据权利要求1所述的数据分布方法,其特征在于,在所述分布式存储中,选取出用于部署所述逻辑单元号的第一集群节点,包括:
3.根据权利要求2所述的数据分布方法,其特征在于,所述容量限制条件包括第一限制条件和第二限制条件,所述选取策略包括第一策略、第二策略和第三策略;
4.根据权利要求3所述的数据分布方法,其特征在于,根据所述容量限制条件和所述选取策略选取出所述第一集群节点,包括:
5.根据权利要求4所述的数据分布方法,其特征在于,计算所述分布式存储为所述逻辑单元号分配空间后的第一容量使用率之后,还包括:
6.根据权利要求5所述的数据分布方法,其特征在于,计算所述第一待选集群节点为所述逻辑单元号分配空间后的第二容量使用率之后,还包括:
7.根据权利要求6所述的数据分布方法,其特征在于,计算所述第二待选集群节点为所述逻辑单元号分配空间后的第三容量使用率之后,还包括:
8.根据权利要求7所述的数据分布方法,其特征在于,根据所述第一运算结果确定所述逻辑数据块在所述
9.根据权利要求8所述的数据分布方法,其特征在于,所述扩容策略包括若扩容后的所述逻辑单元号所在集群节点的容量使用率小于第六预设值,则不对所述第一分布结果进行调整,否则对所述第一分布结果进行调整。
10.根据权利要求9所述的数据分布方法,其特征在于,根据所述容量限制条件和所述扩容策略,对所述第一集群节点进行调整,得到第四集群节点,包括:
11.根据权利要求10所述的数据分布方法,其特征在于,检测所述逻辑单元号扩容后,所述分布式存储的剩余容量是否满足所述第一限制条件之后,还包括:
12.根据权利要求11所述的数据分布方法,其特征在于,根据所述第二集群节点对所述第一集群节点进行调整,得到所述第四集群节点,包括:
13.根据权利要求1所述的数据分布方法,其特征在于,根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果之后,还包括:
14.根据权利要求1所述的数据分布方法,其特征在于,根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果之后,还包括:
15.根据权利要求1所述的数据分布方法,其特征在于,根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果之后,还包括:
16.根据权利要求1所述的数据分布方法,其特征在于,根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果之后,还包括:
17.根据权利要求1所述的数据分布方法,其特征在于,根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果之后,还包括:
18.一种数据分布系统,其特征在于,包括:
19.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至17任一项所述数据分布方法的步骤。
20.一种电子设备,其特征在于,包括:
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述数据分布方法的步骤。
...【技术特征摘要】
1.一种数据分布方法,其特征在于,包括:
2.根据权利要求1所述的数据分布方法,其特征在于,在所述分布式存储中,选取出用于部署所述逻辑单元号的第一集群节点,包括:
3.根据权利要求2所述的数据分布方法,其特征在于,所述容量限制条件包括第一限制条件和第二限制条件,所述选取策略包括第一策略、第二策略和第三策略;
4.根据权利要求3所述的数据分布方法,其特征在于,根据所述容量限制条件和所述选取策略选取出所述第一集群节点,包括:
5.根据权利要求4所述的数据分布方法,其特征在于,计算所述分布式存储为所述逻辑单元号分配空间后的第一容量使用率之后,还包括:
6.根据权利要求5所述的数据分布方法,其特征在于,计算所述第一待选集群节点为所述逻辑单元号分配空间后的第二容量使用率之后,还包括:
7.根据权利要求6所述的数据分布方法,其特征在于,计算所述第二待选集群节点为所述逻辑单元号分配空间后的第三容量使用率之后,还包括:
8.根据权利要求7所述的数据分布方法,其特征在于,根据所述第一运算结果确定所述逻辑数据块在所述第一集群节点上的第一分布结果之后,还包括:
9.根据权利要求8所述的数据分布方法,其特征在于,所述扩容策略包括若扩容后的所述逻辑单元号所在集群节点的容量使用率小于第六预设值,则不对所述第一分布结果进行调整,否则对所述第一分布结果进行调整。
10.根据权利要求9所述的数据分布方法,其特征在于,根据所述容量限制条件和所述扩容策略,对所述第一集群节点进行调整,得到第四集群节点,包括:
11.根据权利要求10所述的数据分布方...
【专利技术属性】
技术研发人员:汪光跃,贺磊,颜秉珩,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。