[发明专利]一种面向中间值长度异构的编码MapReduce方法有效
申请号: | 202010446348.9 | 申请日: | 2020-05-25 |
公开(公告)号: | CN111490795B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 唐斌;董亚美;叶保留;陆桑璐;陈琰;陈晓露;吴金龙;方晓蓉 | 申请(专利权)人: | 南京大学;国网上海市电力公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30 |
代理公司: | 南京泉为知识产权代理事务所(特殊普通合伙) 32408 | 代理人: | 许丹丹 |
地址: | 210023 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 中间 长度 编码 mapreduce 方法 | ||
1.一种面向中间值长度异构的编码MapReduce方法,其特征在于,所述方法包括以下步骤:
收集各个Reduce函数所需中间值的字节长度值;
依据Reduce函数间所需中间值的字节长度不同,指定各个工作节点负责特定Reduce函数的结果输出;
确定存储冗余度,所述存储冗余度用于表征一个输入文件将被放置在多少个不同的工作节点上;
根据输入文件集与存储冗余度,将输入文件集放置在各个工作节点上;
工作节点对中间值编码并多播编码值,压缩Shuffle数据传输量;
工作节点根据接收到的编码值与本地已有的中间值,解码还原出需要的中间值。
2.根据权利要求1所述的一种面向中间值长度异构的编码MapReduce方法,其特征在于,所述收集各个Reduce函数所需中间值的字节长度值包括:
模拟MapReduce作业,Map节点计算函数不变,Reduce节点的输出更改为各个Map计算函数的中间值的字节长度值;
以预设数据量文件作为输入,提交MapReduce作业以伪分布式的方式模拟运行;
依据模拟运行的结果,收集到各个Map计算函数的中间值的字节长度值,即为每个Reduce函数所需中间值的字节长度值。
3.根据权利要求2所述的一种面向中间值长度异构的编码MapReduce方法,其特征在于,所述指定各个工作节点负责特定Reduce函数的结果输出包括:
将各个Reduce函数所需的Map中间值字节长度按从大到小排序,得到对应Reduce函数排序顺序,其中Reduce函数个数不小于工作节点数;
每个工作节点上中间值字节长度的和值初始化为零,将Reduce函数按排序顺序依次分配给工作节点;
遍历每个工作节点上已分配到的函数中间值字节长度的和,将Reduce函数分配到和值最小的那个工作节点上;
重复执行上述遍历分配操作,直到所有Reduce函数分配结束。
4.根据权利要求1所述的一种面向中间值长度异构的编码MapReduce方法,其特征在于,所述确定存储冗余度包括:
以预设数据量文件作为输入,提交MapReduce作业以伪分布式的方式模拟运行;
通过监控程序获取Map节点CPU计算时间Tmap与Shuffle阶段的传输时间Tshuffle;
估算存储冗余度r,使得最小,其中r是一个不大于工作节点数的正整数。
5.根据权利要求1所述的一种面向中间值长度异构的编码MapReduce方法,其特征在于,所述根据输入文件集与存储冗余度,将输入文件集放置在各个工作节点上包括:
排列组合出所有基数为冗余度的工作节点子集结果,其中冗余度为一个正整数,其范围不大于工作节点数;
将输入文件集平均分配给所有工作节点子集,每个输入文件的大小是固定的;
每个工作节点聚集分配到它所在工作节点子集上的所有输入文件。
6.根据权利要求1所述的一种面向中间值长度异构的编码MapReduce方法,其特征在于,所述工作节点对中间值编码并多播编码值包括:
排列组合出所有基数为(r+1)的工作节点子集结果,其中r为存储冗余度,然后重复执行以下步骤,直到遍历完所有基数为(r+1)的工作节点子集:
针对任意一个工作节点子集,将子集中任意一个节点本地所缺但子集中其它节点本地已有的中间值集合均分给子集中其它节点负责传输;
工作节点子集中的每个工作节点将负责传输r个中间值子集,将这r个中间值子集间进行异或操作;
工作节点子集中的每个工作节点将异或编码值多播传输给子集中的其它工作节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学;国网上海市电力公司,未经南京大学;国网上海市电力公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010446348.9/1.html,转载请声明来源钻瓜专利网。