基于MapReduce模型的任务执行方法和装置制造方法及图纸

技术编号:15297522 阅读:82 留言:0更新日期:2017-05-11 19:59
本发明专利技术实施例提供一种基于MapReduce模型的任务执行方法和装置,该方法包括:提取待执行任务的每个输入文件的键值对;采用最大差异直方图将键值对划分为多个分割集合;采用哈希一致性算法计算多个分割集合中的键值对中的键值与reduce节点的映射关系;根据映射关系执行待执行任务。实现了reduce节点上的负载均衡,提高了任务的执行效率。

Method and device for executing task based on MapReduce model

The embodiment of the invention provides a MapReduce model of task based method and device, the method includes: extracting for each input file to perform the task of key value pairs; the maximum value of difference histogram will be divided into multiple segmentation sets; consistent hashing algorithm using multiple key calculation in the set of segmentation in key with the reduce node mapping; executing task execution according to the mapping relationship. The load balance of reduce node is realized, which improves the efficiency of task execution.

【技术实现步骤摘要】

本专利技术实施例涉及计算机
,尤其涉及一种基于MapReduce模型的任务执行方法和装置
技术介绍
MapReduce模型是当下并行处理技术中的主流编程模型,其将任务抽象为基于键值对的map任务和Reduce任务。图1为现有技术基于MapReduce模型的任务执行方法。如图1所示,现有技术中基于MapReduce模型的任务执行方法主要分为以下几个步骤:步骤101,将任务的输入文件划分为M份。步骤102,执行Map任务的节点读取相应的分区块,并从输入文件的数据记录中提取出键值对,传入map函数,map函数对这些键值对进行处理,产生的中间键值存入缓存或者本地磁盘。步骤103,选择哈希函数作用于中间键,并产生0~R-1个桶编号。根据哈希结果将Map任务的结果存放到R个本地文件中的一个。步骤104,执行Reduce任务的节点远程地读取R个文件中相应的一个,采用取模的方式,将键值与关联的值传递给reduce函数,reduce函数产生的输出会添加到这个分区的输出文件中。现有技术中的MapReduce模型的任务执行方法中,由于Map任务执行完生成键值对,将键值对发送给reduce任务的节点时,遵循相同的键值被发送至同一个reduce节点的原则。因此,在key取值不均的情况下,容易造成reduce任务中节点的负载不均衡的问题,这种不均衡会造成轻负载的reduce节点等待重负载的reduce节点的现象,任务重的reduce节点将会拖慢整体的执行效率。所以现有的基于MapReduce模型的任务执行方法导致了reduce节点上的负载不均衡,进而导致了任务的执行效率较低
技术实现思路
本专利技术实施例提供一种基于MapReduce模型的任务执行方法,该方法解决了现有的基于MapReduce模型的任务执行方法导致reduce节点上的负载不均衡,进而导致任务的执行效率较低的技术问题。本专利技术实施例提供一种基于MapReduce模型的任务执行方法,包括:提取待执行任务的每个输入文件的键值对;采用最大差异直方图将所述键值对划分为多个分割集合;采用哈希一致性算法计算多个分割集合中的键值对中的键值与reduce节点的映射关系;根据所述映射关系执行待执行任务。本专利技术实施例提供一种基于MapReduce模型的任务执行装置,包括:提取模块,用于提取待执行任务的每个输入文件的键值对;第一划分模块,用于采用最大差异直方图将所述键值对划分为多个分割集合;计算模块,用于采用哈希一致性算法计算多个分割集合中的键值对中的键值与reduce节点的映射关系;执行模块,用于根据所述映射关系执行待执行任务。本专利技术实施例提供一种基于MapReduce模型的任务执行方法和装置,通过提取待执行任务的每个输入文件的键值对;采用最大差异直方图将键值对划分为多个分割集合;采用哈希一致性算法计算多个分割集合中的键值对中的键值与reduce节点的映射关系;根据映射关系执行待执行任务。由于首先采用最大差异直方图将键值对划分为多个分割集合,使每个分割集合中的键值对中key的频率取值差异不大,而分割集合间的键值对中key的频率取值差异很大,将每个分割集合中的键值对分配到各个reduce节点时,能够保证分配给每个reduce节点上的任务量大致相同。并且计算多个分割集合中的键值对中的键值与reduce节点的映射关系时,采用哈希一致性算法,所以能够把每个分割集合中的键值对中的键值均衡地分配给各reduce节点,所以实现了reduce节点上的负载均衡,提高了任务的执行效率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为现有技术基于MapReduce模型的任务执行方法流程图;图2为本专利技术基于MapReduce模型的任务执行方法实施例一的流程图;图3为本专利技术基于MapReduce模型的任务执行方法实施例二的流程图;图4为本专利技术基于MapReduce模型的任务执行装置实施例一的结构示意图;图5为本专利技术基于MapReduce模型的任务执行装置实施例二的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。图2为本专利技术基于MapReduce模型的任务执行方法实施例一的流程图,如图2所示,则本实施例提供的基于MapReduce模型的任务执行方法的执行主体为基于MapReduce模型的任务执行装置,该基于MapReduce模型的任务执行装置可以集成或安装在计算机或服务器中,则本实施例提供的基于MapReduce模型的任务执行方法包括以下几个步骤。步骤201,提取待执行任务的每个输入文件的键值对。其中,本实施例中,采用MapReduce模型中的Map任务提取待执行任务的每个输入文件的键值对。具体地,Map任务的节点读取相应的输入文件,并从输入文件的文档数据记录中提取对应输入文件的键值对。其中,键值对表示为(key,valve)。其中,key表示键值,valve表示该键值的频率。可以理解的是,map函数可以对提取出的键值对进行处理,产生中间键值对存入到缓存或本地磁盘中。步骤202,采用最大差异直方图将键值对划分为多个分割集合。本实施例中,待所有的键值对均提取完成后,采用最大差异直方图将键值对划分为多个分割集合。其中,最大差异直方图可以表示为:maxdiff直方图。具体地,本实施例中,采用最大差异直方图将键值对划分为多个分割集合,多个分割集合的个数为b个,每个分割集合可以称之为桶,maxdiff直方图的分桶原则是相邻桶间的差异最大。则maxdiff直方图的分桶步骤可以为以下几个步骤。首先依次统计每个键值的频率value。其次计算Δvi=valuei+1-valuei。再次将Δvi按照降序排列,由高到低选取b-1个Δvi,并记录相邻数值d2i,d2i+1。最后得到分割集合D={d1,d2,...,db本文档来自技高网
...
基于MapReduce模型的任务执行方法和装置

【技术保护点】
一种基于MapReduce模型的任务执行方法,其特征在于,包括:提取待执行任务的每个输入文件的键值对;采用最大差异直方图将所述键值对划分为多个分割集合;采用哈希一致性算法计算多个分割集合中的键值对中的键值与reduce节点的映射关系;根据所述映射关系执行待执行任务。

【技术特征摘要】
1.一种基于MapReduce模型的任务执行方法,其特征在于,包括:提取待执行任务的每个输入文件的键值对;采用最大差异直方图将所述键值对划分为多个分割集合;采用哈希一致性算法计算多个分割集合中的键值对中的键值与reduce节点的映射关系;根据所述映射关系执行待执行任务。2.根据权利要求1所述的方法,其特征在于,所述提取待执行任务的每个输入文件的键值对之前,还包括:将所述待执行任务划分为多个的输入文件;读取所述输入文件。3.根据权利要求1或2所述的方法,其特征在于,所述采用哈希一致性算法计算多个分割集合中的键值对中的键值与reduce节点的映射关系具体包括:对所述多个分割集合中的每个键值对进行哈希运算,生成每个键值对的键值对应的一个或多个哈希值;对每个reduce节点的地址进行哈希运算,生成每个reduce节点对应的哈希值;根据每个键值对的键值对应的每个哈希值和reduce节点对应的哈希值,建立每个键值对的键值和reduce节点的映射关系。4.根据权利要求3所述的方法,其特征在于,所述根据每个键值对的键值对应的每个哈希值和reduce节点对应的哈希值,建立每个键值对的键值和reduce节点的映射关系,具体包括:获取哈希值大于键值的哈希值的reduce节点;查找与所述键值的哈希值的差值最小的第一reduce节点;将所述键值映射到所述第一reduce节点上。5.根据权利要求4所述的方法,其特征在于,所述每个reduce节点的地址为所...

【专利技术属性】
技术研发人员:傅文卿石卫平马宝军许宁侯玉娜金潇靳会勤朱丹萍谭燕燕于秀丽张晓宁郭嘉张铮王淑玲
申请(专利权)人:中国联合网络通信集团有限公司联通信息导航有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1