[发明专利]流计算方法、流计算装置、流计算系统及介质在审
| 申请号: | 201911314030.9 | 申请日: | 2019-12-18 |
| 公开(公告)号: | CN111104428A | 公开(公告)日: | 2020-05-05 |
| 发明(设计)人: | 刘逍;陈明忠;彭瑜祺;向月廷;王佟;张培武 | 申请(专利权)人: | 深圳证券交易所 |
| 主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/25;G06F16/215 |
| 代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 张婷 |
| 地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 计算方法 计算 装置 系统 介质 | ||
本发明公开了一种流计算方法,包括以下步骤:流计算系统读取源端数据;将所述源端数据写入目标端,以在所述目标端中生产带编号的消息,其中,所述编号与所述消息一一对应,且所述编号单调递增;应用端对所述编号进行去重,并根据去重后的所述编号在所述目标端中读取所述编号对应的所述消息。本发明还公开了一种流计算装置及计算机可读存储介质,达成了提升流计算的兼容性的效果。
技术领域
本发明涉及数据处理领域,尤其涉及流计算方法、流计算装置、流计算系统及计算机可读存储介质。
背景技术
在传统的数据处理流程中,总是先收集数据,然后将数据放到数据库中。当人们需要得到答案或进行相关的处理时,可以通过数据库对数据做查询操作。这样看起来虽然非常合理,但是结果却非常的紧凑,尤其是在面对一些实时搜索应用环境中的某些具体问题时,并不能很好地解决问题。这就引出了一种新的数据计算结构——流计算方式。在流计算过程中,为提高数据处理的准确性,需要使每条输入消息只影响最终结果一次,即使出现机器故障或软件崩溃,也要保证不会有数据被重复处理。
传统的流计算过程中,只能基于Flink(弗林克,一种开源流处理框架)实现仅一次处理。但Flink框架较为复杂,无法解决简单独立的Java或C++程序的仅一次处理,而且必须使用特点的下游组件,无法支持数据库等其它下游组件。这样存在流计算的兼容性较差的缺点。
发明内容
本发明的主要目的在于提供一种流计算方法、流计算装置、流计算系统及计算机可读存储介质,旨在达成提升流计算的兼容性的效果。
为实现上述目的,本发明提供一种流计算方法,所述流计算方法包括以下步骤:
流计算系统读取源端数据;
将所述源端数据写入目标端,以在所述目标端中生产带编号的消息,其中,所述编号与所述消息一一对应,且所述编号单调递增;
应用端对所述编号进行去重,并根据去重后的所述编号在所述目标端中读取所述编号对应的所述消息。
可选地,所述将所述源端数据写入目标端,以在所述目标端中生产带编号的消息的步骤之后,还包括:
判断所述源端数据是否写入失败;
在所述源端数据写入失败时,执行所述将所述源端数据写入目标端的步骤。
可选地,所述应用端根据所述编号在所述目标端中读取所述编号对应的所述消息的步骤包括:
获取当前读取动作对应的第一编号和前一次读取动作对应的第二编号;
在所述第一编号大于所述第二编号时,读取所述第一编号对应的消息。
可选地,所述获取当前读取动作对应的第一编号和前一次读取动作对应的第二编号的步骤之后,还包括:
在所述第一编号小于或等于所述第二编号时,忽略所述第一编号,并执行下一次读取动作。
可选地,所述流计算方法还包括:
所述流计算系统异常重启后,读取所述目标端中最后一条所述消息对应的所述编号;
根据所述编号确定读取源端数据时的起始点,并基于所述启示点执行所述流计算系统读取源端数据的步骤。
可选地,所述应用端对所述编号进行去重,并根据去重后的所述编号在所述目标端中读取所述编号对应的所述消息的步骤之后,还包括:
获取每一所述消息的业务时间戳及/或业务字段;
根据所述业务时间戳及/或所述业务字段对所述消息进行排序;
所述应用端根据所述排序顺序对所述消息进行处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳证券交易所,未经深圳证券交易所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911314030.9/2.html,转载请声明来源钻瓜专利网。





