[发明专利]一种高可靠分布式数据流实时统计方法及系统有效
| 申请号: | 201710192864.1 | 申请日: | 2017-03-28 |
| 公开(公告)号: | CN107193643B | 公开(公告)日: | 2019-11-05 |
| 发明(设计)人: | 木伟民;李召希;王坤朋;王伟平 | 申请(专利权)人: | 中国科学院信息工程研究所 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54;G06F11/30 |
| 代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100093 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 可靠 分布式 数据流 实时 统计 方法 系统 | ||
1.一种高可靠分布式数据流实时统计方法,其步骤为:
1)根据当前的统计任务生成分布式集群MapReducer的Map任务和Reducer任务;
2)针对每个计算任务为Mapper集群中的每一Mapper节点初始化一Mapper序号、为Reducer集群中的每一Reducer节点初始化一Reducer序号;其中,Mapper序号初始化为Mapper集群已经在分布式缓存中生成的中间数据集个数;Reducer序号初始化为Reducer集群下一轮计算即将从分布式缓存中取得的中间数据集序号;
3)Mapper集群中的Mapper节点根据当前的Mapper序号从消息中间件拉取消息并处理;其中,当一个Mapper节点处理完一个时间粒度的输入数据产生初步计算结果后,将Mapper序号自增1并把初步计算结果以自增后的Mapper序号存储在分布式缓存系统Redis中;
4)Reducer集群从分布式缓存系统Redis中顺序读取所述初步计算结果并处理,得到当前统计任务的最终统计结果;其中,每个Reducer节点处理任务时,从分布式缓存系统Redis中得到Reducer序号,然后从分布式缓存系统Redis中读取该Reducer序号的数据;如果Reducer节点需要归并多个Reducer序号的数据集,则该Reducer节点保存增加后的Reducer序号,直到该多个Reducer序号的数据集处理完成后,将该Reducer节点的Reducer序号更新到分布式缓存系统Redis中。
2.如权利要求1所述的方法,其特征在于,Reducer集群首先选取一节点作为master节点,然后该master节点使用一致性哈希算法计算各个节点处理的任务编号,并根据计算结果向各个节点发送调度信号,告知各节点需要处理的任务;各节点监听自己的任务状态,在接收到调度信号时启动对应的计算任务或停止不再处理的计算任务。
3.如权利要求2所述的方法,其特征在于,选取master节点的方法为:每个Reducer节点上线时在指定目录注册命名相同的临时顺序节点;将最先上线注册的节点作为master节点。
4.如权利要求2或3所述的方法,其特征在于,该master节点使用一致性哈希算法计算各个节点处理的任务编号的方法为:该master节点首先将各Reducer节点以节点IP为key注册在哈希环上;然后对于每一个任务,将任务的id加上混淆字符串注册在该哈希环上;然后在该哈希环上寻找遇到的第一个节点并将该id对应的任务分配给该节点。
5.如权利要求1或2或3所述的方法,其特征在于,每个数据流统计任务有两种状态:等待状态和运行状态,以及两种信号:就绪信号和限制信号;通过就绪信号和限制信号控制当前统计任务在等待状态和运行状态之间转换。
6.如权利要求1或2或3所述的方法,其特征在于,步骤3)中,利用分布式缓存系统Redis提供的自增原子操作将Mapper序号自增1。
7.如权利要求1所述的方法,其特征在于,步骤4)中,在Reducer集群中,每个Reducer任务的一个并行度仅对应一个Reducer节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710192864.1/1.html,转载请声明来源钻瓜专利网。





