[发明专利]一种面向负载均衡的动态均衡分区方法及系统有效
申请号: | 202110371977.4 | 申请日: | 2021-04-07 |
公开(公告)号: | CN112965825B | 公开(公告)日: | 2023-08-04 |
发明(设计)人: | 杨迪;赵家伟;李松江;董明;王鹏 | 申请(专利权)人: | 长春理工大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京方圆嘉禾知识产权代理有限公司 11385 | 代理人: | 冯静 |
地址: | 130022 吉林*** | 国省代码: | 吉林;22 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 负载 均衡 动态 分区 方法 系统 | ||
1.一种面向负载均衡的动态均衡分区方法,其特征在于,包括:
将传入Map端的任务数据存储至数据链表中;所述数据链表为Sum类型;所述任务数据以元组的形式存储至所述数据链表,所述数据链表中存储每个元组的数据值和对应的数据量;
将所述数据链表中的所有元组按照数据量排序,得到排序后的数据链表;
根据Reduce节点的数量构建相应数量的预分区链表;预分区链表与Reduce节点一一对应;
将所述排序后的数据链表中数据量大于数据量阈值的每个元祖,均按照所述预分区链表的数量进行切分,并平均分配到所有预分区链表中进行存储;所述数据量阈值为数据链表的数据量上限与预分区链表数量的比值;
将所述数据链表中数据量不大于数据量阈值的元组,按照在数据链表中的顺序,基于最佳适应算法的分区分配原则依次分配到不同的预分区链表中进行存储;
当所述数据链表中的所有元组均被分配到所述预分区链表中进行存储时,通过索引将每个预分区链表中的元组分配到对应的Reduce节点上。
2.根据权利要求1所述的面向负载均衡的动态均衡分区方法,其特征在于,所述将传入Map端的任务数据存储至数据链表中,具体包括:
在Map阶段构建WordSum()函数依次将传入Map端的任务数据按照元组进行统计;
按照所述数据链表的数据量上限确定待存储的任务数据;所述待存储的任务数据为统计的部分任务数据;
将所述待存储的任务数据存储至所述数据链表。
3.根据权利要求2所述的面向负载均衡的动态均衡分区方法,其特征在于,所述当所述数据链表中的所有元组均被分配到所述预分区链表中进行存储时,通过索引将每个预分区链表中的元组分配到对应的Reduce节点上,之后还包括:
根据所述数据链表的数据链上限更新待存储的任务数据;更新后的待存储的任务数据为已被统计但未被存储过的部分任务数据;
将更新后的待存储的任务数据存储至所述数据链表;
返回“将所述数据链表中的所有元组按照数据量排序,得到排序后的数据链表”步骤。
4.根据权利要求1所述的面向负载均衡的动态均衡分区方法,其特征在于,所述将所述排序后的数据链表中数据量大于数据量阈值的每个元祖,均按照所述预分区链表的数量进行切分,并平均分配到所有预分区链表中,具体包括:
对于所述排序后的数据链表的第i个元组,判断所述第i个元组的数据量是否大于数据量阈值;
当所述第i个元组的数据量大于数据量阈值时,按照所述预分区链表的数量将所述第i个元组的数据进行平均切分,将切分后的数据平均分配到所有预分区链表中存储;
若所述数据链表中的所有元组按照数据量降序排序,则将i更新为i+1,返回“判断所述第i个元组的数据量是否大于数据量阈值”的步骤;若所述数据链表中的所有元组按照数据量升序排序,则将i更新为i-1,返回“判断所述第i个元组的数据量是否大于数据量阈值”的步骤;
当所述第i个元组的数据量不大于数据量阈值时,若所述数据链表中的所有元组按照数据量降序排序,则将所述数据链表中第i个元组之后的所有元组确定为数据量不大于数据量阈值的元组;若所述数据链表中的所有元组按照数据量升序排序,则将所述数据链表中第i个元组之前的所有元组确定为数据量不大于数据量阈值的元组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长春理工大学,未经长春理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110371977.4/1.html,转载请声明来源钻瓜专利网。