[发明专利]流式计算方法、装置、设备以及存储介质在审
申请号: | 202110343528.9 | 申请日: | 2021-03-30 |
公开(公告)号: | CN113010295A | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 杨全文 | 申请(专利权)人: | 中信银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;H04L29/08 |
代理公司: | 北京市兰台律师事务所 11354 | 代理人: | 张峰 |
地址: | 100020 北京市朝阳区光*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算方法 装置 设备 以及 存储 介质 | ||
本发明实施例公开了一种流式计算方法、装置、设备以及存储介质,涉及计算机技术领域。所述方法包括:每个工人节点在流式计算过程中,若检测到进行实时关联计算失败的数据,则判断该数据是否需要进行延时处理;若需要进行延时处理,则将该数据的信息注册到该数据关联的工人节点的延时队列;延时处理线程根据配置的时间周期,定时从延时队列中依次获取数据信息并进行检查,确认数据是否能处理成功;若数据能够处理成功,则处理数据并从延时队列中删除该数据节点,否则等待下一个周期的处理。本发明实施例提供一种流式计算方法、装置、设备以及存储介质,以解决多个实时数据源的数据不同步问题。
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种流式计算方法、装置、设备以及存储介质。
背景技术
随着现代业务对实时数据要求越来越高,流式计算技术因其在实时性的性能优势,越来越受到企业实时架构的重视。当前流式数据虽然对于实时数据需求起到非常重要的作用,但也存在难以解决的困难,即数据实时关联的问题:在传统的数据处理,往往避免不了多个数据集合的数据需要进行关联计算的场景。最典型的就是关系型数据库常见的多表JOIN操作或者where条件下的多表联合计算。
而利用流式技术处理实时数据时,如果实时数据中需要进行关联计算的数据来自于多个实时数据源,则因为实时数据源的数据难以同步,可能会导致数据关联失败的结果。对于关系型数据库来说由于进行的是数据全量计算,因此只要通过多次重复执行计算规则,即可以达到数据结果的最终一致,此问题可以得到解决。
但是对于流式计算技术,由于处理的数据是增量数据,一旦流式计算过程结束,则完成计算的数据则不会再次进行计算,否则容易引起数据重复计算的问题,因此难以解决这种多个实时数据源的数据不同步问题。
发明内容
本发明实施例提供一种流式计算方法、装置、设备以及存储介质,以解决多个实时数据源的数据不同步问题。
第一方面,本发明实施例提供了一种流式计算方法,所述方法包括:
为待处理的目标流式计算任务开启至少一个工作进程;
控制所述至少一个工作进程在zookeeper分布式应用程序协调服务上进行竞争,抢注所述目标流式计算任务的领导节点,抢注成功的工作进程成为领导节点,并在zookeeper建立领导管理目录;
控制包括所述领导进程在内的所有工作进程在所述领导管理目录上注册成为所述目标流式计算任务的工人节点;
领导节点负责在zookeeper初始化所述目标流式计算任务的延时队列初始根目录,所有工人节点在根目录下创建各自节点对应的延时队列,在所述领导管理目录记录各自管理的延时队列信息;
工人节点启动延时处理线程池,为后续的延时任务做准备;
每个工人节点在流式计算过程中,若检测到进行实时关联计算失败的数据,则判断该数据是否需要进行延时处理;若需要进行延时处理,则将该数据的信息注册到该数据关联的工人节点的延时队列;
延时处理线程根据配置的时间周期,定时从延时队列中依次获取数据信息并进行检查,确认数据是否能处理成功;若数据能够处理成功,则处理数据并从延时队列中删除该数据节点,否则等待下一个周期的处理。
第二方面,本发明实施例提供了一种流式计算装置,所述装置包括:
进程开启模块,用于为待处理的目标流式计算任务开启至少一个工作进程;
节点竞争模块,用于控制所述至少一个工作进程在zookeeper分布式应用程序协调服务上进行竞争,抢注所述目标流式计算任务的领导节点,抢注成功的工作进程成为领导节点,并在zookeeper建立领导管理目录;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中信银行股份有限公司,未经中信银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110343528.9/2.html,转载请声明来源钻瓜专利网。