一种增量数据处理方法技术

技术编号:39663388 阅读:9 留言:0更新日期:2023-12-11 18:26
本申请公开了一种增量数据处理方法

【技术实现步骤摘要】
一种增量数据处理方法、装置、设备及存储介质


[0001]本专利技术涉及数据处理
,特别涉及一种增量数据处理方法

装置

设备及存储介质


技术介绍

[0002]在企业的实时或准实时的场景中,往往涉及到有状态的计算需求,无法直接通过增量计算获得结果

许多场景需要结合历史数据才能进行完整和准确的计算,这给增量计算带来了相当大的挑战

而通过定时调度任务以跑批方式
(
批量处理
)
执行效率又不够

不管通过基于增量流计算方式

还是定时调度跑批方式,会面临以下问题:
1)
批式处理和流式处理过程不一致;
2)
数据量大;
3)
实时性要求高

具体的,在实际应用中,很多项目的批式逻辑是一套逻辑,流式处理是另外一套逻辑

无法保证逻辑的一致,这使得维护上线迁移成本大大提升

很多场景下,编写批式处理的开发人员和流式处理的开发人员不是同一个人,所以,这期间的沟通转换成本巨大

复杂
SQL(Structured Query Language
,结构化查询语言
)
逻辑通常需要处理大规模的数据,全量计算需要占用大量的内存

存储和计算能力,这可能超出系统的承载能力,导致资源消耗过大,影响整体系统的性能和稳定性

某些场景,例如金融交易

实时监控等,对数据处理的实时性要求非常高

在这些场景下,需要尽快地获取并处理最新的数据,以便做出及时的决策和响应

然而,如果每次都要对历史全量数据进行计算,耗时将会非常长,无法满足实时性要求,可能会导致信息滞后

延迟等问题

随着时间的推移,数据量会不断增长,历史全量数据的计算时间也会随之增加

如果每次都需要处理全部历史数据,计算时间会呈现指数级增长,这对实时性要求高的场景来说是不可接受的

[0003]由此可见,如何提高增量数据处理的效率,并且降低成本,是本领域要解决的问题


技术实现思路

[0004]有鉴于此,本专利技术的目的在于提供一种增量数据处理方法

装置

设备及存储介质,可以复用批量处理的业务逻辑,减少开发测试时间,降低了维护成本

其具体方案如下:
[0005]第一方面,本申请提供了一种增量数据处理方法,包括:
[0006]从业务场景的变更日志中获取相应的增量数据,并利用所述增量数据对初始全局状态进行更新,得到当前全局状态;
[0007]基于目标
SQL
业务逻辑和所述增量数据的主键,从所述当前全局状态中获取相应的待计算数据;所述目标
SQL
业务逻辑为与所述增量数据对应的批量处理的业务逻辑;
[0008]利用所述待计算数据,并以流式处理的方式执行所述目标
SQL
业务逻辑,以得到与所述待计算数据对应的业务处理结果;
[0009]将所述业务处理结果更新至所述当前全局状态,以完成所述增量数据的处理过程

[0010]可选的,所述从业务场景的变更日志中获取相应的增量数据,包括:
[0011]查看业务场景对应的消息队列,以从所述消息队列中获取变更日志;
[0012]对所述变更日志进行分流计算,以得到相应的增量数据

[0013]可选的,所述利用所述增量数据对初始全局状态进行更新,得到当前全局状态,包括:
[0014]根据预设全局状态数据格式对所述增量数据进行结构化处理,得到待更新数据;
[0015]利用所述待更新数据对初始全局状态进行更新,得到当前全局状态

[0016]可选的,所述基于目标
SQL
业务逻辑和所述增量数据的主键,从所述当前全局状态中获取相应的待计算数据,包括:
[0017]从批量处理的业务逻辑中确定出与所述增量数据对应的目标
SQL
业务逻辑;
[0018]根据所述增量数据的主键从所述当前全局状态中获取与所述目标
SQL
业务逻辑对应的待计算数据

[0019]可选的,所述根据所述增量数据的主键从所述当前全局状态中获取与所述目标
SQL
业务逻辑对应的待计算数据,包括:
[0020]根据所述增量数据的主键从所述当前全局状态中获取与所述目标
SQL
业务逻辑对应的初始数据;
[0021]基于预设数据格式转换规则对所述初始数据进行格式转换,以得到与所述目标
SQL
业务逻辑的数据格式相匹配的待计算数据

[0022]可选的,所述将所述业务处理结果更新至所述当前全局状态之后,还包括:
[0023]将所述业务处理结果从所述当前全局状态推送至下游业务,以便所述下游业务利用所述业务处理处理结果进行相应的计算操作

[0024]第二方面,本申请提供了一种增量数据处理装置,包括:
[0025]第一更新模块,用于从业务场景的变更日志中获取相应的增量数据,并利用所述增量数据对初始全局状态进行更新,得到当前全局状态;
[0026]数据获取模块,用于基于目标
SQL
业务逻辑和所述增量数据的主键,从所述当前全局状态中获取相应的待计算数据;所述目标
SQL
业务逻辑为与所述增量数据对应的批量处理的业务逻辑;
[0027]业务逻辑执行模块,用于利用所述待计算数据,并以流式处理的方式执行所述目标
SQL
业务逻辑,以得到与所述待计算数据对应的业务处理结果;
[0028]第二更新模块,用于将所述业务处理结果更新至所述当前全局状态,以完成所述增量数据的处理过程

[0029]可选的,所述数据获取模块,包括:
[0030]业务逻辑确定单元,用于从批量处理的业务逻辑中确定出与所述增量数据对应的目标
SQL
业务逻辑;
[0031]数据获取单元,用于根据所述增量数据的主键从所述当前全局状态中获取与所述目标
SQL
业务逻辑对应的待计算数据

[0032]第三方面,本申请提供了一种电子设备,包括:
[0033]存储器,用于保存计算机程序;
[0034]处理器,用于执行所述计算机程序以实现如上述的增量数据处理方法

[0035]第四方面,本申请提供了一种计算机可读存储介质,用于保存计算机程序,所述计
算机程序被处理器执行时实现如上述的增量本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种增量数据处理方法,其特征在于,包括:从业务场景的变更日志中获取相应的增量数据,并利用所述增量数据对初始全局状态进行更新,得到当前全局状态;基于目标
SQL
业务逻辑和所述增量数据的主键,从所述当前全局状态中获取相应的待计算数据;所述目标
SQL
业务逻辑为与所述增量数据对应的批量处理的业务逻辑;利用所述待计算数据,并以流式处理的方式执行所述目标
SQL
业务逻辑,以得到与所述待计算数据对应的业务处理结果;将所述业务处理结果更新至所述当前全局状态,以完成所述增量数据的处理过程
。2.
根据权利要求1所述的增量数据处理方法,其特征在于,所述从业务场景的变更日志中获取相应的增量数据,包括:查看业务场景对应的消息队列,以从所述消息队列中获取变更日志;对所述变更日志进行分流计算,以得到相应的增量数据
。3.
根据权利要求1所述的增量数据处理方法,其特征在于,所述利用所述增量数据对初始全局状态进行更新,得到当前全局状态,包括:根据预设全局状态数据格式对所述增量数据进行结构化处理,得到待更新数据;利用所述待更新数据对初始全局状态进行更新,得到当前全局状态
。4.
根据权利要求1所述的增量数据处理方法,其特征在于,所述基于目标
SQL
业务逻辑和所述增量数据的主键,从所述当前全局状态中获取相应的待计算数据,包括:从批量处理的业务逻辑中确定出与所述增量数据对应的目标
SQL
业务逻辑;根据所述增量数据的主键从所述当前全局状态中获取与所述目标
SQL
业务逻辑对应的待计算数据
。5.
根据权利要求4所述的增量数据处理方法,其特征在于,所述根据所述增量数据的主键从所述当前全局状态中获取与所述目标
SQL
业务逻辑对应的待计算数据,包括:根据所述增量数据的主键从所述当前全局状态中获取与所述目标
SQL
业务逻辑...

【专利技术属性】
技术研发人员:周锋杨晨李杨曹闯杨得力
申请(专利权)人:河南中原消费金融股份有限公司
类型:发明
国别省市:

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

1