一种Storm分布式实时计算方法及系统技术方案

技术编号:31506412 阅读:30 留言:0更新日期:2021-12-22 23:38
本发明专利技术公开了一种Storm分布式实时计算方法及系统,获取数据库日志,对数据库日志进行解析,获取行级别的变更数据,并将获取的变更数据按照统一的标准数据结构转换为标准数据,将标准数据推送至消息中间件Kafka,将标准数据对应的数据库唯一标识和变更数据在数据库日志中的位置信息注册到Kafka的zookeeper组件中。监听消息中间件Kafka,保存数据在Kafka中的偏移量,以备后续实时计算失败时恢复到当前状态。本发明专利技术基于Storm的分布式实时计算提供了“精确一次”的数据可靠性保障,使得Storm可以应用在计算准确性要求高的场景下。可以应用在计算准确性要求高的场景下。可以应用在计算准确性要求高的场景下。

【技术实现步骤摘要】
一种Storm分布式实时计算方法及系统


[0001]本申请属于分布式实时计算
,尤其涉及一种Storm分布式实时计算方法及系统。

技术介绍

[0002]随着互联网时代的到来,各业务系统每天都会产生大量的数据,与此同时,越来越多的应用场景要求能够对数据进行实时采集与分析计算,例如网站统计、推荐系统、预警系统、金融风控系统等等。Apache Storm是一个分布式实时大数据流式计算引擎,广泛地应用于上述业务场景。但是它并不能保证一致性消息传递“精确一次”(exactly

one)的消息交付语义,它采用了“至少一次”(At

Least

Once)数据处理语义,所以可能会有重复的数据,这样就违背了数据的准确性、一致性的原则。数据处理中“精确一次”(exactly

one)数据/消息交付语义保证,即在各种故障的情况下,对于每一条数据都保证只会被有且仅有一次的处理,防止数据处理中数据遗漏和重复计算的问题。
[0003]由于在分布式实时计算环境中,网络异常、计算节点本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种Storm分布式实时计算方法,其特征在于,所述Storm分布式实时计算方法,包括:获取数据库日志,对数据库日志进行解析,获取行级别的变更数据,并将获取的变更数据按照统一的标准数据结构转换为标准数据;将标准数据推送至消息中间件Kafka,将标准数据对应的数据库唯一标识和变更数据在数据库日志中的位置信息注册到Kafka的zookeeper组件中;从消息中间件Kafka中读取所述标准数据,获取读取所述标准数据前后每个主题的偏移量,生成当前状态的快照信息,并保存到Kafka的zookeeper组件中;对读取的标准数据执行Storm分布式实时计算,如果计算发生错误,则从Kafka的zookeeper组件中获取快照信息,并根据快照信息从Kafka中再次获取对应的标准数据,然后重新计算。2.根据权利要求1所述的Storm分布式实时计算方法,其特征在于,所述获取数据库日志,包括:将数据采集端模拟为所要采集的数据库的备份数据库,从所要采集的数据库接收数据库日志。3.根据权利要求1所述的Storm分布式实时计算方法,其特征在于,所述标准数据结构包括数据库唯一标识、表名、操作类型、变更前后的数据值以及变更数据在数控库日志中的位置。4.根据权利要求1所述的Storm分布式实时计算方法,其特征在于,所述Storm分布式实时计算方法,还包括:如果数据采集端发生故障需要重新启动或者重新部署,启动后,从Kafka的zookeeper组件中获取到数据库唯一标识和变更数据的位置信息N,从数据库日志N+1位置处开始解析数据库日志。5.根据权利要求1所述的Storm分布式实时计算方法,其特征在于,所述快照信息包括:当前计算的数据库唯一标识、队列名称、读取前偏移量、读取后偏移量。6.一种Storm分布式实时计算系统,其特征在于,所述Storm分布式实时计算系统,包括...

【专利技术属性】
技术研发人员:高春林雷云李建东靳珊刘雪松
申请(专利权)人:浙江网新恩普软件有限公司
类型:发明
国别省市:

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

1