[发明专利]一种基于Storm-Kafka实现数据顺序处理的方法及其系统在审
申请号: | 201811612312.2 | 申请日: | 2018-12-27 |
公开(公告)号: | CN109815027A | 公开(公告)日: | 2019-05-28 |
发明(设计)人: | 杨涛 | 申请(专利权)人: | 四川驹马科技有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 成都环泰知识产权代理事务所(特殊普通合伙) 51242 | 代理人: | 李斌;黄青 |
地址: | 610000 四川省成都市锦江区*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据确认单元 顺序处理 数据处理单元 队列 获取数据 数据处理 数据处理模块 数据传输模块 数据发送模块 数据反馈模块 数据缓存模块 数据获取模块 缓存 处理效率 缓存处理 结果发送 结果返回 组件创建 源头 并发 发送 创建 保证 | ||
1.一种基于Storm-Kafka实现数据顺序处理的方法,其特征在于,包括以下步骤:
a、搭建Storm-Kafka框架,并创建KafkaSpout源头组件;
b、从kafka上获取数据信息至KafkaSpout源头组件;
c、将数据信息分别发送至数据处理单元Bolt对应的队列和数据确认单元Acker对应的队列中;
d、数据信息发送至数据确认单元Acker对应的队列中后,将数据信息传输至数据确认单元Acker,并缓存;
e、数据信息发送至数据处理单元Bolt对应的队列中后,将数据信息传输至数据处理单元Bolt;
f、进行数据处理,缓存处理后的数据序号,并将数据处理的结果发送至数据确认单元Acker对应的队列中;
g、数据确认单元Acker接收到其队列中的数据处理结果后,判断整个链式处理是否完成,并将该结果返回至KafkaSpout源头组件。
2.根据权利要求1所述的基于Storm-Kafka实现数据顺序处理的方法,其特征在于,还包括以下步骤:
扩展KafkaSpout源头组件,在其输出数据端增设一个对应kafka中数据位移offset的序号;
当检测到序号重置时,则清空数据处理单元Bolt中所记录的所有缓存。
3.根据权利要求1或2所述的基于Storm-Kafka实现数据顺序处理的方法,其特征在于,所述步骤f包括以下步骤:
进行数据处理之前,比较当前数据的序号与缓存中已处理数据的序号。
4.根据权利要求3所述的基于Storm-Kafka实现数据顺序处理的方法,其特征在于,所述步骤f还包括以下步骤:
若当前数据的序号小于等于缓存中已处理数据的序号,则直接发送处理成功的结果至数据确认单元Acker对应的队列中。
5.根据权利要求3所述的基于Storm-Kafka实现数据顺序处理的方法,其特征在于,所述步骤f还包括以下步骤:
若当前数据的序号大于缓存中已处理数据的序号,则进行常规数据处理;
判断常规数据处理是否成功,如果是,则更新缓存中的序号,并将处理成功的结果发送至数据确认单元Acker对应的队列中;如果否,则发送处理失败的结果至数据确认单元Acker对应的队列中。
6.一种基于Storm-Kafka实现数据顺序处理的系统,其特征在于,包括组件创建模块、数据获取模块、数据发送模块、数据缓存模块、数据传输模块、数据处理模块和数据反馈模块,其中:
组件创建模块,基于搭建的Storm-Kafka框架,创建KafkaSpout源头组件;
数据获取模块,从kafka上获取数据信息至KafkaSpout源头组件;
数据发送模块,用于将数据信息分别发送至数据处理单元Bolt对应的队列和数据确认单元Acker对应的队列中;
数据缓存模块,用于将数据信息传输至数据确认单元Acker,并缓存;
数据传输模块,用于将数据信息传输至数据处理单元Bolt;
数据处理模块,用于进行数据处理,缓存处理后的数据序号,并将数据处理的结果发送至数据确认单元Acker对应的队列中;
数据反馈模块,用于数据确认单元Acker接收到其队列中的数据处理结果后,判断整个链式处理是否完成,并将该结果返回至KafkaSpout源头组件。
7.根据权利要求6所述的基于Storm-Kafka实现数据顺序处理的系统,其特征在于,还包括组件扩展模块和数据清空模块,其中:
组件扩展模块,用于扩展KafkaSpout源头组件,在其输出数据端增设一个对应kafka中数据位移offset的序号;
数据清空模块,用于当检测到序号重置时,则清空数据处理单元Bolt中所记录的所有缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川驹马科技有限公司,未经四川驹马科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811612312.2/1.html,转载请声明来源钻瓜专利网。