数据均衡方法、计算机程序产品、设备和存储介质与流程
- 国知局
- 2024-08-05 11:47:41
本技术涉及计算机,特别是涉及一种数据均衡方法、计算机程序产品、设备和存储介质。
背景技术:
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、以目标机架拓扑信息的唯一标识为关键值,以目标机架拓扑信息为value值,构建key-value键值对;
29、利用预设鉴权信息对键值对进行加密,生成键值对的映射加密信息;
30、根据预设鉴权信息、键值对、映射加密信息生成虚拟键值对信息并存储在数据库内;
31、利用预设脚本对虚拟键值对信息进行变量赋值。
32、在其中一个实施例中,方法还包括:获取数据库内记录的目标机架拓扑信息的唯一标识,获取数据库内记录的目标机架拓扑信息的唯一标识包括:
33、获取目标机架拓扑信息对应的映射加密信息以及预设鉴权信息;
34、执行预设脚本,确定变量赋值对应的虚拟键值对信息中的映射加密信息;
35、利用预设鉴权信息对映射加密信息进行解密,得到键值对信息;
36、从键值对信息中查找目标机架拓扑信息对应的唯一标识。
37、在其中一个实施例中,根据当前节点机架拓扑信息以及数据库内记录的目标机架拓扑信息判断迁移操作是否满足第三预设条件包括:
38、当迁移操作满足第二预设条件时,生成具有租约的延时任务;
39、基于分布式键值存储系统中的监听机制实时监控关键值,获取关键值状态信息;
40、当租约到期时,提取延时任务中关键值对应的唯一标识,并删除关键值;
41、将延时任务中关键值对应的唯一标识与数据库中的最新的唯一标识进行比对,判断延时任务是否生效;
42、当延时任务中关键值对应的唯一标识与数据库中的最新的唯一标识一致时,则认为迁移操作不满足第三预设条件;
43、当延时任务中关键值对应的唯一标识与数据库中的最新的唯一标识不一致时,则认为迁移操作满足第三预设条件。
44、在其中一个实施例中,根据预设的数据均衡方法进行数据均衡包括:
45、获取节点存储的数据信息以及节点进行迁移操作后所在目标机架的编号;
46、根据目标机架的编号查找目标机架上其他节点存储的数据信息;
47、判断节点存储的数据信息与其他节点存储的数据信息是否相同;
48、若节点存储的数据信息与其他节点存储的数据信息相同,则将相同的数据信息中任一份数据信息作为待分配数据信息分配至均衡机架上。
49、在其中一个实施例中,方法还包括:
50、选取均衡机架,选取均衡机架包括:
51、获取分布式存储系统中的每一机架的编号,其中,每一机架的编号对应一数据域;
52、选取与目标机架的编号不同且机架上的节点中存储的数据信息与待分配数据信息不同的机架为均衡机架。
53、在其中一个实施例中,方法还包括:选取均衡机架中的均衡节点,选取均衡机架中的均衡节点包括:
54、获取分布式存储系统中的每一节点中存储的数据信息的负载;
55、根据每一节点的负载将每一节点作为哈曼夫树的叶子结点,构造哈曼夫树;其中,哈曼夫树具有多个层级,包括低层级、中层级、高层级,低层次的叶子结点具有相对最少的负载,高层级的叶子结点具有相对最多的负载;
56、当选取均衡节点时,以待分配数据信息的负载为负载阈值,选取满足负载阈值的哈曼夫树的层级作为目标层级;
57、对于目标层级中的节点,从左至右的依次从上级节点中选取与该节点最短的,且直接连接的节点作为均衡节点进行数据均衡。
58、在其中一个实施例中,方法还包括:
59、获取节点存储的数据信息以及其他节点存储的数据信息;
60、分别对节点存储数据信息以及其他节点存储的数据信息进行特征提取,得到第一特征向量以及第二特征向量;
61、根据第一特征向量以及第二特征向量构建关联性矩阵;
62、采用键能算法对关联矩阵进行变换,得到高关联度数据团矩阵;
63、根据高关联度数据团矩阵进行数据均衡;
64、其中,采用键能算法对关联矩阵进行变换,得到高关联度数据团矩阵包括:
65、对关联性矩阵进行行列变换;
66、计算每一次行列变换后的关联性矩阵的键能值,将最大键能值对应的变换后的关联性矩阵作为高关联度数据团矩阵;
67、其中,计算每一次行列变换后的关联性矩阵的键能值公式如下所示:
68、;
69、其中,e表示键能,l(i,j)表示共同访问第i节点和第j节点的任务数量,n表示节点总数量。
70、为了解决上述技术问题,第二方面,提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
71、为了解决上述技术问题,第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:所述处理器执行所述计算机程序时实现上述第一方面所述方法的步骤。
72、为了解决上述技术问题,第四方面,本技术提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法的步骤。
73、区别于现有技术,本技术中通过响应于节点在机架上进行迁移操作,获取节点未进行迁移操作的第一位置信息以及节点进行迁移操作后的第二位置信息;根据第一位置信息以及第二位置信息判断迁移操作是否满足第一预设条件;若不满足,获取机架总数量以及数据副本量,根据机架总数量以及数据副本量判断迁移操作是否满足第二预设条件;若满足,获取当前节点机架拓扑信息以及数据库内记录的目标机架拓扑信息;根据当前节点机架拓扑信息以及数据库内记录的目标机架拓扑信息判断迁移操作是否满足第三预设条件;若满足,根据预设的数据均衡方法进行数据均衡,通过判断迁移操作是否满足多个判断条件,将满足多个判断条件的迁移操作进行数据均衡,能够精准、高效的进行数据均衡。
本文地址:https://www.jishuxx.com/zhuanli/20240802/259442.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。