[发明专利]流计算方法、装置、设备及存储介质在审
申请号: | 202210246478.7 | 申请日: | 2022-03-14 |
公开(公告)号: | CN114610765A | 公开(公告)日: | 2022-06-10 |
发明(设计)人: | 邹定斌 | 申请(专利权)人: | 平安国际智慧城市科技股份有限公司 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/27;G06F16/28 |
代理公司: | 北京市京大律师事务所 11321 | 代理人: | 苏福念 |
地址: | 518000 广东省深圳市前海深港合*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 计算方法 装置 设备 存储 介质 | ||
本发明涉及大数据领域,公开了一种流计算方法、装置、设备及存储介质。所述方法包括:从消息中间件获取数据源;基于计算需求信息生成流计算作业并提交至计算集群;调用计算集群,并基于流计算作业中的数据需求信息,从数据源中获取流计算作业对应的流数据资源;调用窗口分配器将流数据资源封装于至少一个数据窗口中;为每个数据窗口注册定时触发器和计数触发器,并对其进行监听,当任意一个数据窗口的一个触发器被激活时,则清除另一未激活的触发器,并调用窗口函数对每个数据窗口进行计算,得到流计算结果。本发明将定时与计数结合的计算触发方式以进行流计算,从而避免计算延迟或单次计算量过大的问题以提高系统稳定性。
技术领域
本发明涉及大数据领域,尤其涉及一种流计算方法、装置、设备及存储介质。
背景技术
在传统的数据处理流程中,总是先收集数据,然后将数据放到数据库中。当人们需要得到答案或进行相关的处理时,可以通过数据库对数据做查询操作。这样看起来虽然非常合理,但是结果却非常的紧凑,尤其是在面对一些实时搜索应用环境中的某些具体问题时,并不能很好地解决问题。这就引出了一种新的数据计算结构——流计算方式。在流计算过程中,为提高数据处理的准确性,需要使每条输入消息只影响最终结果一次,即使出现机器故障或软件崩溃,也要保证不会有数据被重复处理。而Apache Flink是一个典型的流式计算框架,提供了强大的流式计算能力。
现有的流计算方法由于计算负载或计算延迟从而影响系统的稳定性,当定时计算时易导致单次计算的数据量较大,从而导致计算服务器奔溃,而当计数计算时易导致计算延迟,导致响应较慢。
发明内容
本发明的主要目的在于解决现有流计算方法准确性低的问题。
本发明第一方面提供了一种流计算方法,包括:
从预设的消息中间件获取业务数据,得到用于流计算的数据源;
基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业;
调用所述Flink计算集群,并基于所述流计算作业中的数据需求信息,从所述数据源中获取所述流计算作业所需要的流数据资源;
调用Flink中的窗口分配器,并基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中;
为每个所述数据窗口注册用于触发窗口计算的计算触发器,其中,所述计算触发器包括基于等待时长的定时触发器和基于窗口内数据量的计数触发器;
对每个所述数据窗口的定时触发器和计数触发器进行监听,当任意一个所述数据窗口的其中一个计算触发器被激活时,则清除另一个未激活的计算触发器,并调用预设的窗口函数对每个所述数据窗口中的数据进行计算,得到所述流计算作业对应的流计算结果。
可选的,在本发明第一方面的第一种实现方式中,所述计算需求信息中包括多个计算逻辑信息,所述基于预设的计算需求信息,生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业包括:
解析所述多个计算逻辑信息以生成有向无环图,其中,所述有向无环图具有多个节点和连接所述节点的有向边,所述节点用于指示计算逻辑中的数据操作,所述有向边用于指示计算逻辑中的数据流向;
根据所述有向无环图生成流计算作业,并将所述流计算作业提交至Flink计算集群以执行所述流计算作业。
可选的,在本发明第一方面的第二种实现方式中,所述基于预设的数据分布策略,将所述流计算作业所需要的流数据资源封装于至少一个数据窗口中包括:
基于预设的分流指标,对所述流计算作业所需要的流数据资源进行分流,得到多个数据分流;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安国际智慧城市科技股份有限公司,未经平安国际智慧城市科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210246478.7/2.html,转载请声明来源钻瓜专利网。