[发明专利]用于MapReduce的中间数据传输方法及系统在审

专利信息
申请号: 201310311798.7 申请日: 2013-07-23
公开(公告)号: CN103327128A 公开(公告)日: 2013-09-25
发明(设计)人: 王猛;郭叶志 申请(专利权)人: 百度在线网络技术(北京)有限公司
主分类号: H04L29/08 分类号: H04L29/08;G06F17/30;G06F9/48
代理公司: 北京清亦华知识产权代理事务所(普通合伙) 11201 代理人: 宋合成
地址: 100085 北京市*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 用于 mapreduce 中间 数据传输 方法 系统
【说明书】:

技术领域

发明涉及云计算技术领域,特别涉及一种用于MapReduce的中间数据传输方法、系统及中间传输服务器。

背景技术

当前云计算领域中,MapReduce是其中的一种简单流行但功能强大的编程模型,用于大规模数据集(大于1TB)的并行运算。MapReduce的应用非常广泛,包括:分布grep,分布排序,web连接图反转,每台机器的词矢量,web访问日志分析,反向索引构建,文档聚类,机器学习等。

MapReduce不要求集群的计算节点是大型机,只要普通机器即可。MapReduce操作的数据是分布在多台机器(节点)上的海量数据,这些数据都存储在一个分布式的文件系统中,文件系统会对外提供对文件进行流式操作的一些接口。MapReduce编程模型的核心思想是分而治之,一个用MapReduce框架编写的作业通常由两部分组成,Map阶段和Reduce阶段。这两个阶段的逻辑为:

Map(映射)阶段:框架执行多个map task,从分布式文件系统中读入对应的要处理的数据,使用map函数对每一条数据进行(映射)处理,并将结果按序写入本地磁盘。

Reduce(化简)阶段:框架执行一个或多个reduce task,通过网络获取所有由Map阶段产生的数据,使用reduce函数对其做进一步(化简)处理,将结果写到分布式文件系统中。

Map阶段的主体部分是用户自定义的map函数,它的输入为一个域上的(key,value)对,它的输出为另一域上(key,value)对的链表。

Map(k1,v1)→list(k2,v2)

map函数会并行地应用于全部输入数据,从而为每个输入(k1,v1)生成一系列(k2,v2)对。Reduce阶段的reduce函数也由用户自定义,MapReduce框架会将所有k2相同的(k2,v2)收集起来形成一组,并将所有组按一定规则分发给reduce进行处理。每个组将被应用Reduce函数,生成0个或多个值。

Reduce(k2,list(v2))→list(v3)

在MapReduce编程模型,如图5所示,并结合图6。当map task处理完所有数据时,最终会输出一个中间结果数据文件。当reduce task启动时,需要通过网络去获取所有map tasks计算出来的中间结果数据。Map和Reduce之间的中间数据是通过“pull”的方式来传输的,并且只有当有map task完成时,reduce task才能传输该map task的数据;当map tasks全部完成时,reduce task获取所有数据后才能开始计算。因此reducetask启动后的执行状态依赖于map tasks的完成。这种reduce task对map task的依赖会造成Map和Reduce阶段间的耦合关系。这种耦合关系是为了确保reduce tasks的正确执行,但是会引发“reduce task资源hoarding”和“网络负载不均衡”的问题。

现有的可解决“reduce task资源hoarding”或“计算节点网络负载不均衡”的技术方案中,在解决一方面问题的同时且加重另一方面的问题。

例如:一种常见的解决“reduce task资源hoarding”的技术是,推迟reduce task的启动时间点,即当绝大多数map task均完成时(如>=90%)才启动reduce task。该方案可以在一定程度上提高资源利用率,但是会导致计算节点的网络资源利用更加不平滑均。

例如:一种常见的解决“网络负载不均衡”的技术是,提前reduce task的启动时间点,即当map task刚启动时就启动reduce task。该方案可以解决“网络负载不均衡”的问题,但是会导致“reduce task资源hoarding”的问题更加严重。

另外,Apache社区的yarn分布式系统实现,提出了一个“独立shuffle service”的概念。独立shuffle service的职责是负责托管该计算节点已经完成的map task的中间结果数据,供reduce task获取;在此基础上yarn进行了两项改进:

引入批量map task中间结果数据获取机制,提高数据传输效率;

改进map task中间结果数据Server端的工作机制,使用“IO复用+线程池+非阻塞IO模型”,提高Server端处理能力;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201310311798.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top