CN113157479A - 一种数据纠错方法、系统、装置、设备和存储介质 - Google Patents

一种数据纠错方法、系统、装置、设备和存储介质 Download PDF

Info

Publication number
CN113157479A
CN113157479A CN202110443600.5A CN202110443600A CN113157479A CN 113157479 A CN113157479 A CN 113157479A CN 202110443600 A CN202110443600 A CN 202110443600A CN 113157479 A CN113157479 A CN 113157479A
Authority
CN
China
Prior art keywords
data
reconciliation
error correction
error
cross
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110443600.5A
Other languages
English (en)
Inventor
林志勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Wangxing Information Technology Co ltd
Original Assignee
Guangzhou Wangxing Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Wangxing Information Technology Co ltd filed Critical Guangzhou Wangxing Information Technology Co ltd
Priority to CN202110443600.5A priority Critical patent/CN113157479A/zh
Publication of CN113157479A publication Critical patent/CN113157479A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

本发明实施例公开了一种数据纠错方法、系统、装置、设备和存储介质,该方法包括:获取业务交互过程中系统生成的流水数据,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。本方案通过在传统的业务对账方案中引入了自纠错对账,将传统的双向对账方案扩展为跨系统对账与自纠错对账,从而在满足跨系统数据对账的基础上,在数据源自身发生错乱时实现自行纠错对账,保障数据的一致性。

Description

一种数据纠错方法、系统、装置、设备和存储介质
技术领域
本申请实施例涉及计算机领域,尤其涉及一种数据纠错方法、系统、装置、设备和存储介质。
背景技术
分布式系统是建立在网络之上的软件系统,基于软件的特性,分布式系统具有高度的内聚性和透明性。但是,其在处理跨系统边界进行数据交互的业务时,可能出现数据不一致的情况,由于分布式系统实例间的物理距离长,系统交互复杂,导致在分布式系统中难以实现数据强一致性。在CAP原则(一致性、可用性和分区容错性三个要素最多只能同时满足两点,三者不可得兼)的限制下,通常优先保证分布式系统的可用性与分区容错性,一致性的优先度较低。但是在一些对数据比较敏感的业务中,则需要优先保证一致性,例如在支付业务等金融场景下,用户对账户等数据信息较为敏感,为了保障用户的体验,需要优先保证数据的一致性。
当前,传统的业务对账方案中,如在线准实时对账或离线对账的方案,其只针对跨系统业务双方,在数据源自身发生错乱时,无法实现高效的数据纠错以保障数据的一致性。
发明内容
本发明实施例提供了一种数据纠错方法、装置、设备、系统和存储介质,通过在传统的业务对账方案中引入了自纠错对账,将传统的双向对账方案扩展为跨系统对账与自纠错对账,从而在满足跨系统数据对账的基础上,在数据源自身发生错乱时实现自行纠错对账,保障数据的一致性。
第一方面,本发明实施例提供了一种数据纠错方法,该方法包括:
获取业务交互过程中系统生成的流水数据;
基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。
第二方面,本发明实施例提供了一种数据纠错系统,该系统包括:
数据准备模块,用于获取业务交互过程中系统生成的流水数据,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
纠错处理模块,用于通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理;
结果展示模块,用于对所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行展示。
第三方面,本发明实施例提供了一种数据纠错装置,该装置包括:
数据获取模块,用于获取业务交互过程中系统生成的流水数据;
数据生成模块,用于基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
数据纠错模块,用于通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。
第四方面,本发明实施例提供了一种数据纠错设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的一种数据纠错方法。
第五方面,本发明实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的一种数据纠错方法。
本发明实施例中,首先获取业务交互过程中系统生成的流水数据,之后,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据,最后,通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。该方案通过在传统的业务对账方案中引入了自纠错对账,将传统的双向对账方案扩展为跨系统对账与自纠错对账,从而在满足跨系统数据对账的基础上,在数据源自身发生错乱时实现自行纠错对账,保障数据的一致性。
附图说明
图1为本发明实施例提供的一种数据纠错方法的流程图。
图2为本发明实施例提供的另一种数据纠错方法的流程图。
图3为本发明实施例提供的另一种数据纠错方法的流程图。
图4为本发明实施例提供的另一种数据纠错方法的流程图。
图5为本发明实施例提供的一种数据纠错系统的结构框图。
图6为本发明实施例提供的一种数据纠错装置的结构框图。
图7为本发明实施例提供的一种数据纠错设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
图1为本发明实施例提供的一种数据纠错方法的流程图,本实施例可适用于对跨系统类型、非事务性系统类型的业务或者其他多种类型的业务数据进行纠错,该方法可以由计算设备如服务器来执行,具体包括如下步骤:
步骤S101、获取业务交互过程中系统生成的流水数据。
在一个实施例中,业务交互可以是业务在用户终端和主机之间实现双向信息交换过程,也可以是业务在用户终端和用户终端之间实现双向信息交换的过程。示例性的,用户通过手机APP向银行服务器发送查询账户余额的信息,银行服务器将账户余额的信息返回到用户的手机APP,此过程即是业务交互的过程。
流水数据是指数据内容会随着业务流程的变化而发生变化的数据,在分布式系统中,任何操作都可以形成流水记录并进行储存。在一个实施例中,流水数据可以是账户余额数据、账户积分数据等。示例性的,用户在手机APP上对游戏账号进行充值,服务器中游戏账号的余额发生变化的数据即为流水数据。示例性的,用户通过手机APP对商家进行商品支付,手机APP记录有相应的支付流水数据和余额等支付相关的数据信息,相应的和手机APP相连的银行支付系统和/或商家系统也记录有相应的支付数据,如商家系统记录有用户账户余额和每次的消费记录数据,银行支付系统记录有账户信息每次变动的流水数据。
步骤S102、基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据。
业务类型是指根据业务需要处理的事务的不同,将业务划分为不同种类。在一个实施例中,业务类型可以是跨系统业务类型、事务业务类型或者是非事务业务类型等。
在一个实施例中,对流水数据进行数据处理可以对流水数据进行归一化,将流水数据归一化为跨系统对账数据以及自纠错对账数据,生成跨系统对账数据的目的是为了进行跨系统对账,而生成自纠错对账数据的目的是为了进行自纠错对账。其中,归一化的过程中可以按照一定的规则对流水数据进行归一化,示例性的,根据不同业务类型将流水数据进行归一化特定结构的顺序数据,从而得到跨系统对账数据以及自纠错对账数据。
在一个实施例中,跨系统对账数据中包含有不同系统所生成的流水数据,而自纠错对账数据中包括有单个系统所生成的流水数据。例如,对于产生业务交互的A系统和B系统,跨系统对账数据中包含有A系统所生成的流水数据以及B系统所生成的流水数据,而在自纠错对账数据中,只包含有单一数据源生成的流水数据,例如封闭的系统C所生成流水数据。
步骤S103、通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。
对跨系统对账数据进行数据纠错处理,即是传统业务上的对账。一般的,在业务交互的过程中,若系统的上下游调用链失效,会导致不同系统产生的流水数据不一致,因此,需要对不同系统产生的流水数据进行数据纠错处理。示例性的,对于A系统和B系统产生的两套流水记录,A系统的流水记录如表1所示,B系统的流水记录如表2所示,在表1和表2中,每一个行表示一条流水数据,每一列表示流水数据的内容。
表1
A1 A11 A12 A1n
A2 A21 A22 A2n
Am Am1 Am2 Amn
表2
B1 B11 B12 B1n
B2 B21 B22 B2n
Bm Bm1 Bm2 Bmn
对表1和表2进行纠错处理,首先判断表1和表2的映射关系,根据映射关系判断流水数据中是否存在不一致的情况。在一个实施例中,进行跨系统对账数据的比对时,首先判断两个系统中数据的映射关系,如果所述映射关系为一对一映射组,则进行一对一数据比对;如果所述映射关系为非一对一映射组,则确定每个映射组中的核心对账数据,进行核心对账数据的比对。即若系统A与系统B的业务场景是1对1的双向对应的映射关系,例如表1的A1对表2中的B1,则表1中的流水数据A1一定可以根据关键信息(如设置的具体关键字段)在表2中找到与之相对应的流水数据B1,若不存在,或者A1和B1不一致,则可以判断表1和表2中出现流水数据不一致的情况,需要进行纠错。同理,若系统A与系统B的业务场景是非一对一的映射关系,如一对多、多对一或多对多映射,则确定每个映射组中的核心对账数据,进行核心对账数据的比对。以多对多的映射关系为例,例如表1中的A2和A3为映射组1,其与表2中的B2、B3以及B4相对应(B2、B3和B4为映射组2),假定映射组1确定出的核心数据为A2,同时假定映射组2中确定的核心数据为B3,进行核心数据A2和B3之间的比对,如果比对结果不一致,则确定映射组1和映射组2存在数据不一致的情况,需要进行纠错。
以直播送礼场景为例,用户一端中,用户背包中的礼物的数量为M,用户的账户余额为N,当用户送出一个礼物时,相应的礼物数量变为M-1个(记为A2),此时用户的账户余额为N-1*礼物单价(记为A3);系统一端中记录的对应该用户的数据包括B2(如送礼次数P+1)、B3(充值次数Q)和B4(当前余额J),此时分别确定(A2,A3)以及(B2、B3和B4)中的核心对账数据。具体的确定过程可以是获取对账数据中的核心数据字段,将核心数据字段对应的记录内容确定为核心对账数据,如核心数据字段为账户余额,则相应的A3和B4被确定为核心对账数据,进行A3和B4的比对以执行纠错处理。
在对自纠错对账数据进行数据纠错处理的过程中,即对连续性流水数据的纠错处理,典型的应用场景是并发引起的流水数据冗余或者缺失。对来源于单一数据源的自纠错对账数据,由于无法依靠外源数据进行一对一纠错,因此,自纠错对账数据需要在自身中找出发生错乱的流水数据并进行纠错。示例性的,如表3所示,表3为系统C所生成的流水记录,表3中每一个行表示一条流水数据,每一列表示流水数据的内容。
表3
C<sub>1</sub> C<sub>11</sub> C<sub>12</sub> C<sub>1m</sub>
C<sub>2</sub> C<sub>11</sub> C<sub>22</sub> C<sub>2m</sub>
C<sub>m</sub> C<sub>m1</sub> C<sub>m2</sub> C<sub>mn</sub>
表3中,当流水记录C2和流水记录C1中的内容都出现C11,此时即数据冗余。一般的,对于自纠错对账数据,通过上下文流水数据间的关系即可查找出错乱信息并进行纠错。
在一个实施例中,在进行数据纠错处理的过程中,通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。示例性的,对于A系统的生成跨系统对账数据D1和B系统生成的跨系统对账数据D2,通过跨系统对账模板将跨系统判断跨系统账数据D1和跨系统对账数据D2中的流水数据是否一一对应,若否,则说明需要对跨系统对账数据D1和跨系统对账数据D2进行数据纠错处理。对于C系统生成的自纠错对账数据D3,通过使用自纠错对账模块计算自纠错对账数据D3中上下文流水数据间的关系,即可查找出错乱的流水数据并进行纠错。
在一个实施例中,为了避免流水数据因为跨天等因素导致获取的流水数据缺失,因此,在获取业务交互过程中系统生成的流水数据时,获取目标时间内前后一段时间内的流水数据。示例性的,在获取业务交互在12点生成的流水数据时,同时获取业务交互在11点和13点生成的流水数据。
在一个实施例中,在得到跨系统对账数据的数据纠错处理结果和自纠错对账数据的数据纠错处理结果后,对跨系统对账数据的数据纠错处理结果和自纠错对账数据的数据纠错处理结果进行展示,展示的方式包括以下任意一种或多种:将跨系统对账数据以及自纠错对账数据的数据纠错处理结果发送到第三方程序中进行展示;示例性的,将跨系统对账数据的数据纠错处理结果和自纠错对账数据的数据纠错处理结果发送到微信小程序中进行展示,用户通过微信小程序便可对数据纠错处理结果进行查看。或者,展示的方式可以是将跨系统对账数据以及自纠错对账数据的数据纠错处理结果进行可视化展示;示例性的,在得到跨系统对账数据以及自纠错对账数据的数据纠错处理结果后,将数据纠错处理结果发送到计算机的显示器屏幕上进行可视化显示。或者,展示的方式还可以是以订阅邮件的形式,例如,将跨系统对账数据以及自纠错对账数据的数据纠错处理结果以订阅邮件的形式发送到预设的邮箱中,用户登录相应的邮箱即可对数据纠错处理结果进行查看。可理解的,数据纠错处理结果的展示的方式可以是多种方式的组合,例如,将数据纠错处理结果发送到微信小程序中进行展示,还将数据纠错处理结果发送到计算机的显示器屏幕上进行可视化显示,在本实施例中不对多种展示的方式进行具体限定。
由上述方案可知,为了在数据源自身发生错乱时实现高效的数据纠错,本方案首先获取业务交互过程中系统生成的流水数据,之后,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据,最后,通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。该方案通过在传统的业务对账方案中引入了自纠错对账,将传统的双向对账方案扩展为跨系统对账与自纠错对账,从而在满足跨系统数据对账的基础上,在数据源自身发生错乱时实现自行纠错对账,保障数据的一致性。
图2为本发明实施例提供的另一种数据纠错方法的流程图,给出了对所述流水数据中的关键字段数据进行提取,并对关键字段数据进行数据处理生成跨系统对账数据以及自纠错对账数据方法。如图2所示,技术方案具体如下:
步骤S201、获取业务交互过程中系统生成的流水数据。
步骤S202、对所述流水数据中的关键字段数据进行提取。
在一个实施例中,在获取流水数据后,对流水数据中的关键字段数据进行提取,从而获取流水数据中的关键信息,避免后续对流水数据中大量的信息进行处理,提高计算效率。示例性的,关键字段数据包含但不限于以下几种元素:订单编号orderid、用户标识uid、时间戳数据timestamp、数据当前值balance以及数据变化值change。其中订单编号orderid确定了唯一的一条流水数据,而流水数据的核心的变化数据为数据当前值balance和数据变化值change。
在一个实施例中,在业务交互过程中系统生成的流水数据后,对流水数据中的关键字段数据进行提取,提取的过程包括:
由于流水数据的产生具有异构性,流水数据的来源不仅有关系型数据库,也可能源于kv存储或者NoSql数据库。因此,为了方便后续处理,首先通过统一化的数据通道kafka,流式将流水数据导入到数据池中,之后,针对流水数据中的关键字段数据对流水数据进行数据清洗,提取出关键字段数据。
步骤S203、基于不同的业务类型对所述关键字段数据进行数据处理,生成跨系统对账数据以及自纠错对账数据,其中,业务类型包括跨系统业务类型和非事务业务类型。
在一个实施例中,若业务类型为跨系统业务类型,由于跨系统业务在进行交互的过程中会在不同系统中生成同一个流水数据,因此,当流水数据对应的业务类型为跨系统业务类型时,生成跨系统对账数据。若业务类型为非事务业务类型,由于非事务业务类型所生成的流水数据为单一来源,无法依靠外源数据进行纠错,因此,当业务类型为非事务业务类型,生成自纠错对账数据。
在一个实施例中,步骤S203具体通过步骤S2031-步骤S2032实现。
步骤S2031、如果当前流水数据对应的业务类型为跨系统业务类型,则根据所述关键字段数据中的订单编号以及用户标识进行排序生成跨系统对账数据。
在一个实施例中,当前流水数据对应的业务类型为跨系统业务类型时,生成与跨系统业务类型相对应的跨系统对账数据。由于在跨系统对账数据中更加关注订单的准确性,因此,在跨系统对账数据中,以订单编号为第一优先级,以用户标识为第二优先级对关键字段数据进行排序,生成跨系统对账数据,对于其余关键字段数据的排序顺序不做具体限定。示例性的,如表4所示,表4为跨系统对账数据,表4中的type为业务类型。
表4
orderid uid timestamp balance change type
O1 100001 T1 100 +10
O2 100001 T2 110 -10
O3 100001 T3 100 +20
O(k) 100001 T(k) balance(k) change(k)
步骤S2031、如果当前流水数据对应的业务类型为非事务业务类型,则根据所述关键字段数据中的用户标识以及时间戳数据进行排序生成自纠错对账数据。
在一个实施例中,当前流水数据对应的业务类型为非事务业务类型时,由于非事务业务类型所生成的流水数据为单一来源,因此生成自纠错对账数据。在自纠错对账数据中,关注的是某个用户的操作是否具有连续性,因此在自纠错对账数据中,以用户标识为第一优先级,以时间戳数据为第二优先级对关键字段数据进行排序,生成自纠错对账数据,对于其余关键字段数据的排序顺序不做具体限定。示例性的,如表5所示,表5为自纠错对账数据,表5中的type为业务类型。
表5
Figure BDA0003035933980000091
Figure BDA0003035933980000101
步骤S204、通过设置的跨系统纠错对账模板对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模板对所述自纠错对账数据进行数据纠错处理。
由上述方案可知,对流水数据中的关键字段数据进行提取,基于不同的业务类型对所述关键字段数据进行数据处理,生成跨系统对账数据以及自纠错对账数据,通过提取出流水数据中的关键字段数据从而获取流水数据中的关键信息,舍弃无效的数据,从而避免后续生成跨系统对账数据以及自纠错对账数据的过程中需要对大量的无效信息进行处理,提高计算效率并且节约了计算资源。
图3为本发明实施例提供的另一种数据纠错方法的流程图,给出了对跨系统对账数据进行数据纠错处理的方法,如图3所示。
步骤S301、获取业务交互过程中系统生成的流水数据。
步骤S302、基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据。
步骤S303、获取所述跨系统对账数据中的不一致数据,确定所述不一致数据的错误类型,所述错误类型包括数据冗余、数据缺失以及数据错误。
在一个实施例中,在生成跨系统对账数据后,将跨系统对账数据进行比较,判断进行业务交互的两个系统所生成的跨系统对账数据中的流水数据是否一一对应,当存在不对应的数据时,则存在不一致数据,确定不一致数据的错误类型。其中,当不一致数据在跨系统对账数据中出现时,则该不一致数据的错误类型为数据冗余;当不一致数据在跨系统对账数据中为空白数据时,则该流水不一致数据的错误类型为数据缺失,当不一致数据的错误类型不属于数据冗余或数据缺失时,可将该不一致数据的错误类型划分为数据错误。
步骤S304、当所述错误类型为数据错误时,确定所述跨系统对账数据中的基准数据,根据所述基准数据对相应的不一致数据进行修改。
在一个实施例中,当不一致数据的错误类型为数据错误时,需要在跨系统对账数据中确定一个基准数据,根据基准数据对相应的不一致数据进行修改。其中,对于基准数据的确定的方式有多种,在此实施例中不对基准数据的确定方式进行限制。示例性的,对于A系统的跨系统对账数据D1以及对于B系统的跨系统对账数据D2,当跨系统对账数据D1以及对于B系统的跨系统对账数据D2具有错误类型为数据错误的不一致数据时,可以认定跨系统对账数据D1为基准数据,根据跨系统对账数据D1对跨系统对账数据D2进行修改,或者,从根据跨系统对账数据D1和跨系统对账数据D2中选择出历史正确率较高的一个跨系统对账数据作为基准数据,又或者,选择跨系统对账数据D1和跨系统对账数据D2的权威性较高的一个跨系统对账数据作为基准数据。在本实施例中以跨系统对账数据D1为基准数据,根据跨系统对账数据D1对跨系统对账数据D2进行修改。
S305、通过设置的自纠错对账模板对所述自纠错对账数据进行数据纠错处理。
在一个实施例中,以在直播过程中观众对主播送礼而产生的流水数据为例,表6和表7分别为直播过程中与主播计算机相对应的跨系统对账数据和与服务器相对应的跨系统对账数据。表6和表7中,balance为当前礼物总价值,change为礼物变化值。
表6
orderid uid timestamp balance change type
O1 888 T1 200 +10
O2 888 T2 210 +10
O3 888 T3 230 +20
O(k) 888 T(k) 500 +10
表7
Figure BDA0003035933980000111
Figure BDA0003035933980000121
例如,在表6和表7中,检测到订单编号orderid为O3时,当前礼物总价值balance为不一致数据,且不一致数据的类别为数据错误。因此,选定表6的跨系统对账数据为基准数据,根据表6中的balance对表7中的对应的balance进行修改,能够实现跨系统对账数据的纠错,在对跨系统对账数据进行纠错后,便可进行进行轧账与平账,避免直播间送礼场景下由于网络的问题导致流水数据产生不一致性,从而修复跨系统间的数据交互调用造成的数据错乱。
由上述方案可知,在获取跨系统对账数据中的不一致数据后,确定不一致数据的错误类型,根据错误类型对不一致数据进行数据纠错处理,从而在分布式系统中或者在一些数据非强一致的场景下,通过本方案可以对跨系统对账数据中的不一致数据进行纠错,从而保障数据的最终一致性。
图4为本发明实施例提供的另一种数据纠错方法的流程图,给出了对自纠错进行数据纠错处理的方法,如图4所示。
步骤S401、获取业务交互过程中系统生成的流水数据。
步骤S402、基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据。
步骤S403、通过设置的跨系统纠错对账模板对所述跨系统对账数据进行数据纠错处理。
步骤S404、若所述自纠错对账数据中的流水数据发生变动后,变动后的流水数据与变动前的流水数据无法对应,则将所述变动后的流水数据确定为错误数据。
在一个实施例中,如果发现自纠错对账数据中的流水数据发生变动后,例如增加或减少后,变动后的流水数据与变动前的流水数据无法对应,则变动后的流水数据出错,将变动后的流水数据确定为错误数据。例如,以表8为例,表8为支付以及账户货币平台的服务器所对应的自纠错对账数据,表8中的balance当前账户余额,change为余额变动值。
表8
uid timestamp orderid balance change type
100002 T1 O1 500 +50
100002 T2 O2 550 -10
100002 T3 O3 530 +20
100002 T(k) O(k) 600 +10
在表8中,订单编号为O2的当前账户余额为550,当余额变动值减少10时,订单编号为O3的当前账户余额应当为540,而在表8中当前账户余额却为530,则根据账户余额的变动值,O2中的当前账户余额与O3中的当前账户余额无法对应,因此O3中的当前账户余额为错误数据。示例性的,对于自纠错对账数据,可以采用以下公式确定错误数据:
balance(k)!=balance(k-1)+change(k)
其中,k为第k条流水数据,balance(k)为第k条流水数据的数据当前值,change(k)为第k条流水数据的数据变化值,!=表示不等于。
步骤S405、将所述自纠错对账数据中流水数据发生变动的总值,与所述变动前的流水数据和所述变动后的流水数据的差值求差,得到纠错值,根据所述纠错值对所述变动后的流水数据进行修账。
在一个实施例中,首先计算自纠错对账数据中流水数据发生变动的总值,之后,计算变动前的流水数据和所述变动后的流水数据的差值,最后,将流水数据发生变动的总值减去差值,即可得到流水数据真实的变化结果,即纠错值,再根据纠错值对变动后的流水数据进行修账。示例性的,对纠错值的计算过程可以通过以下公式计算:
Fix=sum[change(1),change(2),…,change(N)]–[balance(N)–balance(0)]
其中,Fix为流水数据的纠错值,sum[]表示求和,change(N)表示第N条流水数据发生变动的数值,balance(N)表示第N条流水数据的数据当前值,N表示流水数据的总条数。
示例性的,在表8中,对于订单编号为O3的流水数据,
Fix=(50-10)-(530-500)=40-30=10
因此,纠错值为10,即需要对O3中的当前账户余额balance加上10,从而得到修正后的数据。
由上述方案可知,在获取跨系统对账数据中的不一致数据后,确定不一致数据的错误类型,根据错误类型对不一致数据进行数据纠错处理,通过将传统的双向对账方案扩展为跨系统对账与自纠错对账,从而在分布式系统中或者在一些数据非强一致的场景下,通过本方案可以在数据源自身发生错乱时实现自行纠错对账,从而保障数据的最终一致性。
如图5为本发明实施例提供的一种数据纠错系统的结构框图,该系统用于执行上述实施例提供的数据纠错方法,具备执行方法相应的功能模块和有益效果。如图5所示,该装置具体包括:数据准备模块501、纠错处理模块502以及结果展示模块503,其中,
数据准备模块501,用于获取业务交互过程中系统生成的流水数据,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
纠错处理模块502,用于通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理;
结果展示模块503,用于对所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行展示。
由上述方案可知,通过首先获取业务交互过程中系统生成的流水数据,之后,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据,最后,通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。通过在传统的业务对账方案中引入了自纠错对账,将传统的双向对账方案扩展为跨系统对账与自纠错对账,从而在满足跨系统数据对账的基础上,在数据源自身发生错乱时实现自行纠错对账,保障数据的一致性。
在一个实施例中,数据准备模块501还包括数据源适配模块5011、数据清洗模块5012以及对账规则匹配模块5013,其中,
数据源适配模块5011用于获取业务交互过程中系统生成的流水数据;
数据清洗模块5012用于对所述流水数据中的关键字段数据进行提取;
对账规则匹配模块5013用于基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据。
在一个实施例中,纠错处理模块502还包括跨系统对账模块5021以及自纠错对账模块5022,其中,
跨系统对账模块5021用于对所述跨系统对账数据进行数据纠错处理;
自纠错对账模块5022用于对所述自纠错对账数据进行数据纠错处理。
在一个实施例中,结果展示模块503还包括第三方程序展示模块5031、可视化展示模块5032以及邮件订阅展示模块5033,其中,
第三方程序展示模块5031用于将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果发送到第三方程序中进行展示;
可视化展示模块5032用于将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行可视化展示;
邮件订阅展示模块5033用于将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果以订阅邮件的形式发送到预设的邮箱中。
如图6为本发明实施例提供的一种数据纠错装置的结构框图,该装置用于执行上述实施例提供的数据纠错方法,具备执行方法相应的功能模块和有益效果。如图6所示,该装置具体包括:数据获取模块601、数据生成模块602以及数据纠错模块603,其中,
数据获取模块601用于获取业务交互过程中系统生成的流水数据;
数据生成模块602用于基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
数据纠错模块603用于通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。
由上述方案可知,通过首先获取业务交互过程中系统生成的流水数据,之后,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据,最后,通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。通过在传统的业务对账方案中引入了自纠错对账,将传统的双向对账方案扩展为跨系统对账与自纠错对账,从而在满足跨系统数据对账的基础上,在数据源自身发生错乱时实现自行纠错对账,保障数据的一致性。
在一个实施例中,数据获取模块601还用于,在基于不同的业务类型对所述流水数据进行数据处理之前,对所述流水数据中的关键字段数据进行提取,相应的,数据生成模块602用于基于不同的业务类型对所述流水数据进行数据处理,包括,用于基于不同的业务类型对所述关键字段数据进行数据处理。
在一个实施例中,所述业务类型包括跨系统业务类型,数据生成模块602用于基于不同的业务类型对所述关键字段数据进行数据处理生成跨系统对账数据以及自纠错对账数据,包括:用于如果当前流水数据对应的业务类型为跨系统业务类型,则根据所述关键字段数据中的订单编号以及用户标识进行排序生成跨系统对账数据。
在一个实施例中,所述业务类型包括非事务业务类型,数据生成模块602用于基于不同的业务类型对所述关键字段数据进行数据处理生成跨系统对账数据以及自纠错对账数据,包括:用于如果当前流水数据对应的业务类型为非事务业务类型,则根据所述关键字段数据中的用户标识以及时间戳数据进行排序生成自纠错对账数据。
在一个实施例中,数据纠错模块603用于通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,包括:用于获取所述跨系统对账数据中的不一致数据,确定所述不一致数据的错误类型,根据所述错误类型对所述不一致数据进行数据纠错处理。
在一个实施例中,所述错误类型包括数据冗余、数据缺失以及数据错误,所述数据纠错模块603用于根据所述错误类型对所述不一致数据进行数据纠错处理,包括:用于当所述错误类型为数据错误时,确定所述跨系统对账数据中的基准数据,根据所述基准数据对相应的不一致数据进行修改。
在一个实施例中,数据纠错模块603用于通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理,包括:用于确定所述自纠错对账数据中的错误数据,通过预设调整公式对所述错误数据进行调整。
在一个实施例中,数据纠错模块603用于确定所述自纠错对账数据中的错误数据,包括:用于若所述自纠错对账数据中的流水数据发生变动后,变动后的流水数据与变动前的流水数据无法对应,则将所述变动后的流水数据确定为错误数据;用于通过预设调整公式对所述错误数据进行调整包括:用于将所述自纠错对账数据中流水数据发生变动的总值,与所述变动前的流水数据和所述变动后的流水数据的差值求差,得到纠错值,根据所述纠错值对所述变动后的流水数据进行修账。
在一个实施例中,数据纠错装置还包括展示模块604,展示模块604用于对对所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行展示,其中展示方式包括下述任意一种或多种:
将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果发送到第三方程序中进行展示;
将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行可视化展示;
将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果以订阅邮件的形式发送到预设的邮箱中。
图7为本发明实施例提供的一种数据纠错设备的结构示意图,如图7所示,该设备包括处理器701、存储器702、输入装置703和输出装置704;设备中处理器701的数量可以是一个或多个,图7中以一个处理器701为例;设备中的处理器701、存储器702、输入装置703和输出装置704可以通过总线或其他方式连接,图7中以通过总线连接为例。存储器702作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的数据纠错方法对应的程序指令/模块。处理器701通过运行存储在存储器702中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的数据纠错方法。输入装置703可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置704可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行数据纠错方法,该方法包括:
获取业务交互过程中系统生成的流水数据;
基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。
值得注意的是,上述数据纠错装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。

Claims (14)

1.一种数据纠错方法,其特征在于,包括:
获取业务交互过程中系统生成的流水数据;
基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。
2.根据权利要求1所述的数据纠错方法,其特征在于,在基于不同的业务类型对所述流水数据进行数据处理之前,还包括:
对所述流水数据中的关键字段数据进行提取;
相应的,所述基于不同的业务类型对所述流水数据进行数据处理,包括:
基于不同的业务类型对所述关键字段数据进行数据处理。
3.根据权利要求2所述的数据纠错方法,其特征在于,所述业务类型包括跨系统业务类型,其中,基于不同的业务类型对所述关键字段数据进行数据处理生成跨系统对账数据,包括:
如果当前流水数据对应的业务类型为跨系统业务类型,则根据所述关键字段数据中的订单编号以及用户标识进行排序生成跨系统对账数据。
4.根据权利要求2所述的数据纠错方法,其特征在于,所述业务类型包括非事务业务类型,其中,基于不同的业务类型对所述关键字段数据进行数据处理生成自纠错对账数据,包括:
如果当前流水数据对应的业务类型为非事务业务类型,则根据所述关键字段数据中的用户标识以及时间戳数据进行排序生成自纠错对账数据。
5.根据权利要求1所述的数据纠错方法,其特征在于,所述通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,包括:
获取所述跨系统对账数据中的不一致数据;
确定所述不一致数据的错误类型,根据所述错误类型对所述不一致数据进行数据纠错处理。
6.根据权利要求5所述的数据纠错方法,其特征在于,所述错误类型包括数据错误,所述根据所述错误类型对所述不一致数据进行数据纠错处理,包括:
当所述错误类型为数据错误时,确定所述跨系统对账数据中的基准数据;
根据所述基准数据对相应的不一致数据进行修改。
7.根据权利要求1所述的数据纠错方法,其特征在于,所述通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,包括:
确定当前跨系统对账数据的映射关系;
如果所述映射关系为一对一映射组,则进行一对一数据比对;
如果所述映射关系为非一对一映射组,则确定每个映射组中的核心对账数据,进行核心对账数据的比对。
8.根据权利要求1所述的数据纠错方法,其特征在于,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理,包括:
确定所述自纠错对账数据中的错误数据;
通过预设调整公式对所述错误数据进行调整。
9.根据权利要求8所述的数据纠错方法,其特征在于,所述确定所述自纠错对账数据中的错误数据,包括:
若所述自纠错对账数据中的流水数据发生变动后,变动后的流水数据与变动前的流水数据无法对应,则将所述变动后的流水数据确定为错误数据;
相应的,所述通过预设调整公式对所述错误数据进行调整包括:
将所述自纠错对账数据中流水数据发生变动的总值,与所述变动前的流水数据和所述变动后的流水数据的差值求差,得到纠错值,根据所述纠错值对所述变动后的流水数据进行修账。
10.根据权利要求1-9中任一项所述的数据纠错方法,其特征在于,还包括:
对所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行展示,其中展示方式包括下述任意一种或多种:
将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果发送到第三方程序中进行展示;
将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行可视化展示;
将所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果以订阅邮件的形式发送到预设的邮箱中。
11.一种数据纠错系统,其特征在于,包括:
数据准备模块,用于获取业务交互过程中系统生成的流水数据,基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
纠错处理模块,用于通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理;
结果展示模块,用于对所述跨系统对账数据以及所述自纠错对账数据的数据纠错处理结果进行展示。
12.一种数据纠错装置,其特征在于,包括:
数据获取模块,用于获取业务交互过程中系统生成的流水数据;
数据生成模块,用于基于不同的业务类型对所述流水数据进行数据处理,生成跨系统对账数据以及自纠错对账数据;
数据纠错模块,用于通过设置的跨系统纠错对账模块对所述跨系统对账数据进行数据纠错处理,通过设置的自纠错对账模块对所述自纠错对账数据进行数据纠错处理。
13.一种数据纠错设备,其特征在于,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-10中任一项所述的一种数据纠错方法。
14.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-10中任一项所述的一种数据纠错方法。
CN202110443600.5A 2021-04-23 2021-04-23 一种数据纠错方法、系统、装置、设备和存储介质 Pending CN113157479A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110443600.5A CN113157479A (zh) 2021-04-23 2021-04-23 一种数据纠错方法、系统、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110443600.5A CN113157479A (zh) 2021-04-23 2021-04-23 一种数据纠错方法、系统、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN113157479A true CN113157479A (zh) 2021-07-23

Family

ID=76870008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110443600.5A Pending CN113157479A (zh) 2021-04-23 2021-04-23 一种数据纠错方法、系统、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN113157479A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114022279A (zh) * 2021-11-05 2022-02-08 税友软件集团股份有限公司 一种业务数据纠错方法、装置、设备及可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577571A (zh) * 2013-10-31 2014-02-12 北京奇虎科技有限公司 一种数据处理方法和装置
CN106447475A (zh) * 2016-08-30 2017-02-22 重庆好乐视网络科技有限公司 一种自动批量对账方法及系统
CN107273451A (zh) * 2017-05-31 2017-10-20 深圳市长亮科技股份有限公司 余额数据更新方法和系统
CN109146663A (zh) * 2018-07-20 2019-01-04 中国邮政储蓄银行股份有限公司 流水信息的处理方法和系统
CN110599026A (zh) * 2019-09-09 2019-12-20 北京搜狗科技发展有限公司 数据处理方法、装置和用于数据处理的装置
US20200012980A1 (en) * 2018-07-09 2020-01-09 Accenture Global Solutions Limited Data reconciliation
CN112184423A (zh) * 2020-09-29 2021-01-05 银盛支付服务股份有限公司 一种检查账户余额与t1结算金额不一致问题的方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577571A (zh) * 2013-10-31 2014-02-12 北京奇虎科技有限公司 一种数据处理方法和装置
CN106447475A (zh) * 2016-08-30 2017-02-22 重庆好乐视网络科技有限公司 一种自动批量对账方法及系统
CN107273451A (zh) * 2017-05-31 2017-10-20 深圳市长亮科技股份有限公司 余额数据更新方法和系统
US20200012980A1 (en) * 2018-07-09 2020-01-09 Accenture Global Solutions Limited Data reconciliation
CN109146663A (zh) * 2018-07-20 2019-01-04 中国邮政储蓄银行股份有限公司 流水信息的处理方法和系统
CN110599026A (zh) * 2019-09-09 2019-12-20 北京搜狗科技发展有限公司 数据处理方法、装置和用于数据处理的装置
CN112184423A (zh) * 2020-09-29 2021-01-05 银盛支付服务股份有限公司 一种检查账户余额与t1结算金额不一致问题的方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114022279A (zh) * 2021-11-05 2022-02-08 税友软件集团股份有限公司 一种业务数据纠错方法、装置、设备及可读存储介质

Similar Documents

Publication Publication Date Title
CN107122369B (zh) 一种业务数据处理方法、装置和系统
CN107391359B (zh) 一种业务测试方法及装置
CN109344154B (zh) 数据处理方法、装置、电子设备及存储介质
CN112597153B (zh) 一种基于区块链的数据存储方法、装置及存储介质
WO2020093736A1 (zh) 基于区块链的数据处理方法、装置和服务器
WO2018032982A1 (zh) 电子支付过程中资金交易路径的检测方法和装置
CN112150305A (zh) 企业电力用户信息核验方法及其系统、计算机设备、介质
CN113157479A (zh) 一种数据纠错方法、系统、装置、设备和存储介质
WO2019174339A1 (zh) 业务数据处理
CN114238397A (zh) 用户数据处理方法、装置、设备、存储介质和程序产品
CN111784246B (zh) 物流路径的估测方法
CN115809228A (zh) 数据比对方法、装置、存储介质及电子设备
CN115358825A (zh) 一种基于区块链预言机的撮合交易方法及系统
CN112070470B (zh) 一种年报申报方法、装置、电子设备及存储介质
CN112241889A (zh) 一种账户明细修复方法、装置、设备和存储介质
CN111241082B (zh) 数据修正方法及装置
CN110532807B (zh) 电子化凭证生成方法、装置、计算机设备及存储介质
CN113947464A (zh) 一种报表附注的生成方法、装置、设备及存储介质
CN112767084A (zh) 一种基于云计算的数据安全校验方法、装置及服务器
CN112632059B (zh) 数据核对方法、装置、电子设备及机器可读存储介质
CN113204535B (zh) 路由方法及装置、电子设备和计算机可读存储介质
CN114298629A (zh) 物流轨迹的生成方法、装置、设备、介质及程序产品
CN114185943A (zh) 一种数据校验系统、方法和电子设备
CN116703505A (zh) 一种订单信息的判断方法及装置
CN114201455A (zh) 对账方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination