【技术实现步骤摘要】
本专利技术涉及计算机
,特别涉及一种MapReduce系统处理数据流的方法。
技术介绍
随着计算机技术的发展,计算机需要处理的数据的数量也越来越大,单台计算机已经不能处理一些大规模的数据,为此需要将多台计算机联合起来,构成计算机群,并行处理大规模的数据。为了可以将多台计算机联合起来,并行处理大规模的数据,现有技术提供了一种可以应用于并行处理大规模数据的系统-MapReduce(映射规约)系统。目前MapReduce系统可以对各种大规模的数据集进行并行处理,在对数据集进行并行处理时的过程如下:根据Map(映射)任务的数量,将数据集分解为多个数据块;分别对每个数据块中的每个原始键值对数据执行Map处理,得到每个原始键值对数据对应的中间结果键值对数据集;在得到所有原始键值对数据对应的中间结果键值对数据集后,分别对所有具有相同键的中间结果键值对数据进行相应的Reduce(规约)处理,得到相应的最终结果键值对数据。然而在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:目前在实时监控系统、零售业的联机处理系统和物联网等系统中产生了数据流,与传统的具有固定数量范围的数据集相比,数据流具有按时间顺序快速变化、海量和潜在无限的特点,也就是说数据流没有固定的数量范围。由于数据流没有固定的数量范围,因此无法将数据流分成固定数量的数据块,也无法在得到所有数据流的中间结果键值对数据后再进行Reduce ...
【技术保护点】
【技术特征摘要】
1.一种MapReduce系统,其特征在于,所述系统包括:M个映射Map模
块和R个规约Reduce模块,其中,M为正整数,R为自然数;
其中,所述Map模块包括:
原始数据流数据获取单元,用于按照数据流到达时刻或预设的时间间隔,
不断从并行计算数据流的源位置获取一预设份数的原始数据流数据;其中,所
述并行计算数据流是与用户提交的并行处理作业对应的待处理数据流;
中间结果数据获取单元,用于对所述原始数据流数据获取单元获取的每份
原始数据流数据进行Map处理,得到每份原始数据流数据对应的中间结果数据;
中间结果数据段获取单元,用于根据预设的规则,对所述中间结果数据获
取单元得到的中间结果数据进行合并组段,得到多个中间结果数据段;
中间结果数据段处理单元,用于将所述中间结果数据段获取单元得到的多
个中间结果数据段中的所有具有相同键的中间结果数据,发送给相应的Reduce
模块进行处理;
其中,所述Reduce模块包括:
Reduce处理单元,用于接收所述中间结果数据段处理单元发送的所有具有
相同键的中间结果数据,并对所有具有相同键的中间结果数据进行Reduce处理,
得到相应的最终结果数据。
2.根据权利要求1所述的MapReduce系统,其特征在于,所述Map模块
还包括:
中间结果数据段选取单元,用于从所述中间结果数据段获取单元得到的多
个中间结果数据段中选取出符合预设的处理条件的中间结果数据段;
相应地,
所述中间结果数据段处理单元,还用于将所述中间结果数据段选取单元选
取出的符合预设的处理条件的中间结果数据段中的所有具有相同键的中间结果
数据发送给相应的Reduce模块进行处理。
3.根据权利要求1所述的MapReduce系统,其特征在于,所述Reduce模
\t块还包括:
中间结果数据段请求单元,用于向所述中间结果数据段处理单元发送中间
结果数据段获取请求,请求其所需要处理的中间结果数据段;
相应地,
所述中间结果数据段处理单元,还用于在接收到所述中间结果数据段请求
单元发送的中间结果数据段获取请求后,将所述中间结果数据段请求单元请求
所需要处理的中间结果数据段中的所有具有相同键的中间结果数据发送给相应
的Reduce模块进行处理。
4.根据权利要求1-3中任意一项权利要求所述的MapReduce系统,其特征
在于,所述系统还包括:客户端模块和作业跟踪模块;
所述客户端模块,用于将用户撰写的并行处理作业提交至所述作业跟踪模
块;并将所述并行计算数据流的源位置信息告知所述作业跟踪模块;
其中,所述作业跟踪模块包括:
作业分解分配...
【专利技术属性】
技术研发人员:蔡斌,万乐,刘奕慧,史晓峰,宫振飞,张文郁,张迪,楚大鹏,自然,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。