[发明专利]一种流式数据处理方法及装置有效
申请号: | 201911369508.8 | 申请日: | 2019-12-26 |
公开(公告)号: | CN111124650B | 公开(公告)日: | 2023-10-24 |
发明(设计)人: | 章彩红;赵子健;庹艳林 | 申请(专利权)人: | 中国建设银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 林哲生 |
地址: | 100033 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据处理 方法 装置 | ||
本发明公开了一种流式数据处理方法和装置,在流式计算系统进入正常状态时,通过主程序对实时数据进行处理,并且记录处理的实时数据对应的时间段,然后可以利用补数程序对实时数据对应的时间段进行扫描确定其对应的需要处理的历史数据的目标批次数据,然后对其进行处理。实现了历史数据处理与实时数据处理分开处理,资源隔离,防止互相抢占计算资源或者异常传播。从而实现了对历史数据的有效处理,提升了数据分析的准确性。
技术领域
本发明涉及计算机技术领域,特别是涉及一种流式计算系统的流式数据处理方法及装置。
背景技术
在云计算环境下,数据量增长较快,对各类数据的挖掘和分析可以为业务系统带来有益的价值数据。大数据分析场景需要进行数据统计,即从多重维度出具统计结果,为后续提供更加清晰简洁的分析视图或度量指标。其中,基于流式计算的数据处理引擎可以从消息中间件(例如,Kafka)中获取一段时间的准实时数据进行计算。Spark的SparkStreaming正是目前流式计算中一种广泛使用的计算引擎。
但是,基于SparkStreaming的应用版本在版本升级或异常时会导致无法正常处理数据,而这段时间内的数据就会积累,在应用版本恢复后,就会存在历史数据,在现有处理方式中无法实现对这一部分数据的有效处理,使得数据处理结果不准确,影响后续对数据分析的准确性。
发明内容
针对于上述问题,本发明提供一种流式数据处理方法及装置,实现了对历史数据的有效处理,提升了数据分析的准确性。
为了实现上述目的,本发明提供了如下技术方案:
一种流式数据处理方法,所述方法应用于流式计算系统,所述流式计算系统包括主程序和补数程序,当执行所述主程序时,对实时数据进行处理,当执行所述补数程序时对历史数据进行处理,该方法包括:
响应于所述主程序启动,记录所述主程序处理的所有实时数据对应的时间段,所述主程序启动表征所述流式计算系统进入正常数据处理状态;
通过所述补数程序对所述实时数据对应的时间段进行扫描,确定补数时间段;
对所述补数时间段内的数据进行批次拆分,得到目标批次;
依据每个批次的数据在消息中间件的消息偏移量,计算所述目标批次对应的批次时间段内的目标消息偏移量;
根据所述目标消息偏移量确定目标历史数据,控制所述补数程序对所述目标历史数据进行处理,得到第一数据处理结果;
根据所述主程序对实时数据处理得到的第二数据处理结果和所述第一数据处理结果,生成数据流式处理结果。
可选地,所述记录所述主程序处理的所有实时数据对应的时间段,包括:
控制所述主程序运行,使得所述主程序查找上一次成功处理的数据的批次时间,并记录再次启动时实时数据对应的处理时间段内每个批次的数据的起始消息和结束消息在消息中间件的消息偏移量;
将所述消息偏移量存储到预创建的数据表。
可选地,所述通过所述补数程序对所述历史数据对应的时间段进行扫描,确定补数时间段,包括:
获取所述历史数据对应的时间段的各个批次数据对应的处理时间;
判断相邻两个批次的处理时间是否超过预设时间阈值,如果是,且下一批次的数据不在目标状态,将所述相邻两个批次的时间段确定为补数时间段;所述目标状态为补数中或者补数完成。
可选地,所述根据所述目标消息偏移量确定目标历史数据,控制所述补数程序对所述目标历史数据进行处理,得到第一数据处理结果,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国建设银行股份有限公司,未经中国建设银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911369508.8/2.html,转载请声明来源钻瓜专利网。