本申请涉及计算机,尤其涉及一种数据稽核方法、装置、设备、存储介质及程序产品。
背景技术:
1、当在两个或更多个不同系统间进行数据同步时,不论系统间的数据结构是否相同,跨系统数据间的数据一致性保障(data consistency)都成为了必须关注的焦点。
2、不论涉及多少个系统,跨系统的数据一致性的保障的执行过程都可以简化为两个不同系统间的数据一致性保障;如果超过两个系统,可以将其分为多个组,每个组包含两个系统,然后逐组进行一致性保障。
3、现有的数据一致性保障有两种方案:一种是对数据进行全量稽核与修复,另一种是对数据进行增量稽核与修复。
4、全量稽核是指基于预设周期(例如天、周、月、季、年等)定时提取两个系统之间需要比对的全量数据,通过一致性稽核程序进行稽核,并对不一致的数据进行修复;增量稽核是指基于预设周期(例如天、周、月、季、年等)定时提取两个系统在该周期内变化的数据,通过一致性稽核程序进行稽核,并对不一致的增量数据进行修复。
5、因此,数据一致性保障一般分为数据提取、数据稽核和不一致数据修复三个阶段。
6、全量稽核和增量稽核都需要定时批量提取不同系统间的数据进行稽核,只是提取数据的范围不同,全量稽核是提取两个系统间的所有数据进行比对,增量稽核是提取稽核周期内两个系统间变化的增量数据进行比对,但两者都是定时一次性提取数据进行比对。
7、在数据量超过一定级别(例如千万级别)时,批量提取数据不但耗时长,而且在执行数据稽核时,对原信息系统和数据一致性系统的i/o(输入/输出)设备和cpu(中央处理器)、内存、网络流量等带来巨大负荷冲击,资源需求大,因此一般只能选择在闲时执行数据稽核,大多采用日增量稽核与月全量稽核相结合的方式进行。
8、但是,由于现有的数据稽核方法需要定时执行,容易导致两个系统间不一致的数据难以被及时发现,引发系统业务风险。
技术实现思路
1、本申请实施例提供一种数据稽核方法、装置、设备、存储介质及程序
2、产品,用以解决现有的数据稽核方法容易导致两个系统间不一致的数据难以被及时发现,引发系统业务风险的技术问题。
3、第一方面,本申请实施例提供一种数据稽核方法,包括:获取稽核事件消息;基于稽核事件消息,判断第一数据和第二数据是否一致;若第一数据和第二数据不一致,则对第一数据进行修复,获得第三数据,并对第二数据进行修复,获得第四数据;判断第三数据和第四数据是否一致;若第三数据和第四数据不一致,则分别对第三数据和第四数据进行修复。
4、在一个实施例中,获取稽核事件消息,包括:基于第一系统和第二系统之间的分发数据,生成稽核事件消息;将稽核事件消息存储于消息中间件;若确定稽核事件消息在消息中间件的存储时长大于或等于第一预设延迟时限,则从消息中间件中获取稽核事件消息。
5、在一个实施例中,稽核事件消息包括稽核事件的生成时间;基于稽核事件消息,判断第一数据和第二数据是否一致,包括:基于稽核事件消息,确定稽核事件的生成时间;基于生成时间和第一预设延迟时限,确定剔重时间;判断是否存在生成时间晚于剔重时间的已处理历史稽核事件;若不存在生成时间晚于剔重时间的已处理历史稽核事件,则从第一系统读取第一数据,并从第二系统读取第二数据;判断第一数据和第二数据是否一致。
6、在一个实施例中,若第一数据和第二数据不一致,则对第一数据进行修复,获得第三数据,并对第二数据进行修复,获得第四数据,包括:若确定第一数据和第二数据不一致,则生成数据修复请求;基于数据修复请求,再次判断第一数据和第二数据是否一致;若再次确定第一数据和第二数据不一致,则对第一数据进行修复,获得第三数据,并对第二数据进行修复,获得第四数据;生成修复完成消息;判断第三数据和第四数据是否一致,包括:若确定修复完成消息的生成时长大于或等于第二预设延迟时限,则基于修复完成消息,判断第三数据和第四数据是否一致。
7、在一个实施例中,若第三数据和第四数据不一致,则分别对第三数据和第四数据进行修复,包括:若第三数据和第四数据不一致,则生成二次修复消息;基于二次修复消息,再次判断第三数据和第四数据是否一致;若再次确定第三数据和第四数据不一致,则分别对第三数据和第四数据进行修复,并生成修复日志。
8、在一个实施例中,基于稽核事件消息,判断第一数据和第二数据是否一致之后,还包括:若第一数据和第二数据一致,则不对第一数据和第二数据进行修复处理,并生成稽核日志。
9、第二方面,本申请实施例提供一种数据稽核装置,包括:获取模块,用于获取稽核事件消息;第一稽核模块,用于基于稽核事件消息,判断第一数据和第二数据是否一致;第一修复模块,用于若第一数据和第二数据不一致,则对第一数据进行修复,获得第三数据,并对第二数据进行修复,获得第四数据;第二稽核模块,用于判断第三数据和第四数据是否一致;第二修复模块,用于若第三数据和第四数据不一致,则分别对第三数据和第四数据进行修复。
10、第三方面,本申请实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如上述任一种数据稽核方法。
11、第四方面,本申请实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种数据稽核方法。
12、第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述任一种数据稽核方法。
13、本申请实施例提供的数据稽核方法、装置、设备、存储介质及程序产品,获取稽核事件消息;基于稽核事件消息,判断第一数据和第二数据是否一致;若第一数据和第二数据不一致,则对第一数据进行修复,获得第三数据,并对第二数据进行修复,获得第四数据;判断第三数据和第四数据是否一致;若第三数据和第四数据不一致,则分别对第三数据和第四数据进行修复。通过上述方式,不采用定时执行的稽核策略,在需要进行数据稽核时,无需等待稽核周期到来,而是直接对两个系统间的数据进行数据稽核和数据修复,使得两个系统间不一致的数据被及时发现,若两个系统间修复后的数据仍不一致,则进行二次数据稽核和数据修复,通过二次稽核和二次修复的机制保证不同系统间的数据一致性,降低系统业务风险。
1.一种数据稽核方法,其特征在于,包括:
2.根据权利要求1所述的数据稽核方法,其特征在于,所述获取稽核事件消息,包括:
3.根据权利要求1所述的数据稽核方法,其特征在于,所述稽核事件消息包括稽核事件的生成时间;
4.根据权利要求1所述的数据稽核方法,其特征在于,所述若所述第一数据和所述第二数据不一致,则对所述第一数据进行修复,获得第三数据,并对所述第二数据进行修复,获得第四数据,包括:
5.根据权利要求1所述的数据稽核方法,其特征在于,所述若所述第三数据和所述第四数据不一致,则分别对所述第三数据和所述第四数据进行修复,包括:
6.根据权利要求1所述的数据稽核方法,其特征在于,所述基于所述稽核事件消息,判断第一数据和第二数据是否一致之后,还包括:
7.一种数据稽核装置,其特征在于,包括:
8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述数据稽核方法。
9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据稽核方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述数据稽核方法。