CN114610735A - 数据一致性校验方法、装置、设备及存储介质 - Google Patents

数据一致性校验方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114610735A
CN114610735A CN202210242850.7A CN202210242850A CN114610735A CN 114610735 A CN114610735 A CN 114610735A CN 202210242850 A CN202210242850 A CN 202210242850A CN 114610735 A CN114610735 A CN 114610735A
Authority
CN
China
Prior art keywords
data
service system
task
verification
checking
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
CN202210242850.7A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Wodong Tianjun 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 Beijing Jingdong Century Trading Co Ltd, Beijing Wodong Tianjun Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN202210242850.7A priority Critical patent/CN114610735A/zh
Publication of CN114610735A publication Critical patent/CN114610735A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2322Optimistic concurrency control using timestamps
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种数据一致性校验方法、装置、设备及存储介质,该方法包括:通过从第一数据监听队列获取第一业务***的第一数据变更消息;根据第一数据变更消息生成数据校验任务,并将数据校验任务加入延时消息队列;数据校验任务用于校验第一业务***与第一业务***关联的第二业务***的数据一致性;在延时消息队列中的数据校验任务到期时,获取数据校验任务对应的第一业务***和第二业务***中的关联数据,对关联数据进行数据一致性校验。通过设置数据监听队列、延时消息队列,确保***数据校验任务有序进行。通过对延时消息队列中数据校验任务的执行时间的控制,优化***数据一致性校验的处理能力,提高数据一致性校验的准确率。

Description

数据一致性校验方法、装置、设备及存储介质
技术领域
本申请涉及数据处理技术领域,尤其涉及一种数据一致性校验方法、装置、设备及存储介质。
背景技术
当前各业务***普遍采用分布式、微服务架构。其中分布式是指服务部署在不同的机器上,一个服务可以提供一个或多个功能,服务之间可以通过RPC或webservice来交互。微服务是服务的最小单元,只能完成一个功能,微服务可以单独部署运行,不同微服务之间可以通过RPC调用。
目前,在分布式业务***中存在RPC调用超时、MQ消息丢失、存储中间件读写失败等问题,导致各业务***的服务数据,尤其是重要的业务数据不一致,从而引起用户体验下降以及客户投诉。例如,电商平台***包括订单***、支付***等,存在例如订单金额与支付金额不一致等问题。
因此,为了保证分布式***的稳定运行,有必要对分布式***的数据一致性校验方案进行优化。
发明内容
本申请实施例提供一种数据一致性校验方法、装置、设备及存储介质,优化***数据一致性校验的处理能力,提高数据一致性校验的准确率。
本申请实施例的第一方面提供一种数据一致性校验方法,包括:
从第一数据监听队列获取第一业务***的第一数据变更消息;
根据所述第一数据变更消息生成数据校验任务,并将所述数据校验任务加入延时消息队列;所述数据校验任务用于校验所述第一业务***与所述第一业务***关联的第二业务***的数据一致性;
在所述延时消息队列中的所述数据校验任务到期时,获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据,对所述关联数据进行数据一致性校验。
本申请第一方面的一个可选实施例中,所述根据所述第一数据变更消息生成数据校验任务,并将所述数据校验任务加入延时消息队列,包括:
通过解析所述第一数据变更消息,获取所述第一业务***的变更数据以及所述第一业务***的变更数据对应的第一标识数据;
将所述第一标识数据作为所述数据校验任务的标识,将所述第一标识数据加入所述延时消息队列。
本申请第一方面的一个可选实施例中,所述在所述延时消息队列中的所述数据校验任务到期时,获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据,包括:
在所述延时消息队列中的所述数据校验任务到期时,根据所述第一标识数据,从缓存中获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据。
本申请第一方面的一个可选实施例中,所述关联数据包括所述第一业务***的变更数据,以及与所述变更数据对应的所述第二业务***的目标数据;对所述关联数据进行数据一致性校验,包括:
若所述变更数据与所述目标数据不一致,根据所述变更数据修正所述目标数据,和/或,将所述数据校验任务的相关数据推送至运营终端。
本申请第一方面的一个可选实施例中,若所述变更数据与所述目标数据不一致,根据所述变更数据修正所述目标数据之后,所述方法还包括:
根据所述变更数据更新与所述第二业务***关联的其他业务***的关联数据。
本申请第一方面的一个可选实施例中,所述方法还包括:
将所述第一业务***的变更数据以及所述第一标识数据保存至缓存中。
本申请第一方面的一个可选实施例中,所述方法还包括:
从第二数据监听队列获取所述第二业务***的第二数据变更消息;
通过解析所述第二数据变更消息,获取所述第二业务***的变更数据以及所述第二业务***的变更数据对应的第二标识数据;
将所述第二业务***的变更数据以及所述第二标识数据保存至缓存中。
本申请第一方面的一个可选实施例中,所述方法还包括:
若所述缓存不包括所述第一标识数据对应的所述第二业务***的目标数据,根据所述第一标识数据从所述第二业务***的数据库中获取所述目标数据。
本申请实施例的第二方面提供一种数据一致性校验装置,包括:
获取模块,用于从第一数据监听队列获取第一业务***的第一数据变更消息;
处理模块,用于根据所述第一数据变更消息生成数据校验任务,并将所述数据校验任务加入延时消息队列;所述数据校验任务用于校验所述第一业务***与所述第一业务***关联的第二业务***的数据一致性;
所述获取模块,还用于在所述延时消息队列中的所述数据校验任务到期时,获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据;
本申请实施例的第三方面提供一种电子设备,包括:存储器,处理器以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面中任一项所述的方法。
本申请实施例的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现如第一方面中任一项所述的方法。
本申请实施例的第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法。
本实施例示出的数据一致性校验方法、装置、设备及存储介质,该方法包括:通过从第一数据监听队列获取第一业务***的第一数据变更消息;根据第一数据变更消息生成数据校验任务,并将数据校验任务加入延时消息队列;数据校验任务用于校验第一业务***与第一业务***关联的第二业务***的数据一致性;在延时消息队列中的数据校验任务到期时,获取数据校验任务对应的第一业务***和第二业务***中的关联数据,对关联数据进行数据一致性校验。通过设置数据监听队列、延时消息队列,确保***数据校验任务有序进行。通过对延时消息队列中数据校验任务的执行时间的控制,避免由于业务流程中各个业务***数据暂未更新导致的数据校验错误,优化***数据一致性校验的处理能力,提高数据一致性校验的准确率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据一致性校验方法的场景示意图;
图2为本申请实施例提供的数据一致性校验方法的流程示意图;
图3为本申请实施例提供的数据一致性校验方法的流程示意图;
图4为本申请实施例提供的数据一致性校验装置的结构示意图一;
图5为本申请实施例提供的数据一致性校验装置的结构示意图二;
图6为本申请实施例提供的电子设备的硬件结构图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例的说明书、权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述之外的顺序实施。
应当理解,本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请实施例的描述中,术语“对应”可表示两者之间具有直接对应或间接对应的关系,也可以表示两者之间具有关联关系,也可以是指示与被指示、配置与被配置等关系。
首先对本申请实施例涉及到的相关术语进行简要说明。
Binlog,即二进制日志,它记录了数据库上的所有改变,并以二进制的形式保存在磁盘中,可以用来查看数据库的变更历史、数据库增量备份和恢复、MySQL(关系型数据库管理***)的复制。
Redis缓存,是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的应用程序编程接口API。
目前分布式***中各业务***存在业务数据不一致的问题,可能导致用户端感知到数据的不一致,引发大量用户投诉。以电商平台的分布式***为例,若用户获知业务***数据有误,通常通过“用户/客户投诉”、“客服/业务人员接收反馈”、“推送问题至技术人员”、“技术人员排查问题”、“数据修复”的处理过程解决相应问题。上述处理链路较长,问题处理不够及时,导致平台口碑下降,用户体验不佳。
针对上述问题,本申请实施例提出一种数据一致性校验方法,用于提高分布式***数据一致性校验的效率和准确率。发明人在解决上述问题的过程中,考虑到分布式***中各业务***可能同时存在数据变更,通过对不同业务***设置相应的消息队列,存储不同业务***的数据变更消息。为了确保数据校验任务有序进行,通过设置延时消息队列有序存储待校验的任务。另外,考虑到分布式***中各个业务***存在处理流程上的先后顺序,通过预设延时时间触发延时消息队列中的待校验任务,避免由于业务流程中各个业务***数据暂未写入导致的数据校验错误,优化***数据一致性校验的处理能力,提高数据一致性校验的准确率。
在介绍本申请提供的数据一致性校验方法之前,首先对数据一致性校验方法的应用场景进行简要介绍。
图1为本申请实施例提供的数据一致性校验方法的场景示意图。如图1所示,该场景包括相互连接的数据平台11以及数据校验装置12。其中数据平台为分布式平台,包括多个业务***,如图1中的业务***13、业务***14、业务***15和业务***16。各个业务***有独立的数据库,数据库可用于记录相应业务***中的数据变更消息。如图1中业务***13包括数据库17,业务***14包括数据库18,业务***15包括数据库19,业务***16包括数据库20。数据校验装置12用于校验数据平台11中各个业务***的数据一致性。
作为一种示例,数据校验装置12分别与数据平台11中的各个业务***通信连接,数据校验装置12可看作是各个业务***之间的中间件,用于实时监听各个业务***的数据变化、校验各个业务***中关联数据的数据一致性。
可选的,在一些实施例中,上述场景还包括终端设备21,终端设备21与数据校验装置12通信连接。
作为一种示例,终端设备21为业务***开发者所属的终端设备。数据校验装置12可定期向终端设备21发送数据校验记录。其中数据校验记录包括各个数据校验任务的所有数据,开发者可基于数据校验记录中的数据对数据平台11中各业务***进行更新维护。
可选的,数据平台11可以是电商平台、社交平台、短视频平台等各类数据平台,对此本申请实施例不作任何限制。
示例性的,以数据平台11为电商平台为例,根据电商平台不同业务类别构建电商平台的分布式架构,该分布式架构包括但不限于订单***、支付***、库存***、物流***、售后***等业务***。应理解,分布式架构下的各个业务***之间具有数据关联性。例如订单***某订单的订单金额与支付***该订单的支付金额具有关联性;又例如,订单***的某订单物品数量与物流***该订单的发货数量具有关联性。
可选的,在一些实施例中,还可以将数据校验装置12集成在数据平台11,作为数据平台11的一个功能装置,校验数据平台11中各个业务***之间的数据一致性。
需要说明的是,上述应用场景仅作为一种示例,其他类似的数据一致性校验场景均属于本申请技术方案保护的范围,例如微服务架构中各个微服务之间的数据校验。
基于上述应用场景,下面通过具体实施例对本申请实施例提供的技术方案进行详细说明。需要说明的是,本申请实施例提供的技术方案可以包括以下内容中的部分或全部,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请实施例提供的数据一致性校验方法的流程示意图。本实施例提供的数据一致性校验方法可应用于图1所示的数据校验装置12。如图2所示,该方法包括如下步骤:
步骤101、从第一数据监听队列获取第一业务***的第一数据变更消息。
本实施例中,数据校验装置通过数据监听服务对第一业务***的数据库进行业务数据监听,当数据库中业务数据发生变化时,例如新增、删除、修改某一业务数据,从数据库中获取第一数据变更消息,并将第一数据变更消息加入第一数据监听队列中。其中第一数据监听队列用于记录第一业务***的数据变更消息。
可选的,在一些实施例中,数据校验装置除了监听第一业务***之外,还通过数据监听服务对与第一业务***关联的其他业务***进行业务数据监听。
需要指出的是,数据监听服务中可预配置需要监听的业务***的标识,以及业务***之间的关联关系,例如第一业务***与第二业务***之间部分业务数据具有关联性等。
本实施例中,第一业务***为数据一致性校验的基准业务***(或称为主业务***),数据平台中与第一业务***关联的所有业务***的相关数据均需要与第一业务***的数据保持一致。
步骤102、根据第一数据变更消息生成数据校验任务,并将数据校验任务加入延时消息队列。其中,数据校验任务用于校验第一业务***与第一业务***关联的第二业务***的数据一致性。
本实施例中,与第一业务***关联的第二业务***的数量可能是一个或多个,对此本实施例不作任何限制。
具体的,数据校验装置通过解析第一数据变更消息,获取第一业务***的变更数据对应的第一标识数据;将第一标识数据作为数据校验任务的标识,并将第一标识数据加入延时消息队列。其中延时消息队列为先入先出队列。
步骤103、在延时消息队列中的数据校验任务到期时,获取数据校验任务对应的第一业务***和第二业务***中的关联数据。
本实施例中,第一业务***和第二业务***中的关联数据包括第一业务***的变更数据,以及与变更数据对应的第二业务***的目标数据。其中,第一业务***的变更数据可以看作是数据校验的源数据(或称为基准数据),第二业务***的目标数据可以看作是数据校验的目标数据。
本实施例的一个可选实施例中,在延时消息队列中的数据校验任务到期时,根据第一标识数据(即数据校验任务的标识数据),从缓存中获取数据校验任务对应的第一业务***和第二业务***中的关联数据。即根据第一标识数据从缓存中获取第一标识数据对应的第一业务***中的变更数据以及第一标识数据对应的第二业务***中的目标数据。可选的,缓存为Redis缓存。
本实施例中,第一业务***的变更数据与第二业务***的目标数据均来自数据校验装置的缓存,即第一业务***与第二业务***中的关联数据均发生变化且已经写入数据校验装置的缓存中,等待数据一致性校验。
在一个可选的实施方式中,通过解析第一数据变更消息,获取第一业务***的变更数据。可选的,第一数据变更消息为binlog日志消息,通过解析第一业务***的binlog日志消息,获取第一业务***的变更数据。可选的,将第一业务***的变更数据以及第一标识数据保存至缓存中。
在一个可选的实施方式中,从第二数据监听队列获取第二业务***的第二数据变更消息;通过解析第二数据变更消息,获取第二业务***的变更数据以及第二业务***的变更数据对应的第二标识数据;将第二业务***的变更数据以及第二标识数据保存至缓存中。其中第二数据监听队列用于记录第二业务***的数据变更消息。
可选的,第一标识数据与第二标识数据相同,则第二标识数据对应的第二业务***的变更数据即:与第一业务***的变更数据对应的第二业务***的目标数据,数据一致性校验用于验证第一业务***和第二业务***中均发生数据变更的关联数据的一致性。
本实施例的一个可选实施例中,若缓存不包括第一标识数据对应的第二业务***的目标数据:在延时消息队列中的数据校验任务到期时,除了根据第一标识数据,从缓存中获取数据校验任务对应的第一业务***的变更数据外,还需要根据第一标识数据从第二业务***的数据库中获取目标数据。
本实施例中,第一业务***的变更数据与第二业务***的变更数据没有关联性,因此需要从第二业务***的数据库获取与第一业务***的变更数据对应的目标数据,校验两者是否一致。
需要指出的是,延时消息队列中每个数据校验任务的延时时间是预配置的,配置延时时间的目的在于:获取需要数据校验的各业务***中的关联数据,避免由于业务流程的先后顺序没有获取到各业务***中的关联数据的最新数据,导致数据校验报错的问题。
可选的,可根据业务数据的类型配置相应的数据校验任务的延时时间,不同业务数据可以具有相同或不同的延时时间。
步骤104、对关联数据进行数据一致性校验。
在一种可选的实施方式中,若第一业务***的变更数据与第二业务***的目标数据不一致,根据第一业务***的变更数据修正第二业务***的目标数据。
在一种可选的实施方式中,若第一业务***的变更数据与第二业务***的目标数据不一致,将数据校验任务的相关数据推送至运营终端。该实施方式是将数据校验任务的相关数据及时推送至运营终端,以便人工执行数据校验。该实施方式主要考虑到预设校验规则可能并不适用于所有数据校验场景,因此通过推送消息提示运营人员及时处理,相比前文所述的处理链路,实现自动推送,进而可提高平台数据校验的速度。
一种可选的实施方式中,若第一业务***的变更数据与第二业务***的目标数据不一致,根据第一业务***的变更数据修正第二业务***的目标数据,且将数据校验任务的相关数据推送至运营终端。其中数据校验任务的相关数据除了包括两个业务***的关联数据外,还可以包括数据校验结果。该实施方式在完成数据一致性修正后,还需要将本次数据校验的所有数据推送至运营终端,以便运营人员对自动校验过程进行汇总分析,进一步优化***功能。
本实施例示出的数据一致性校验方法,通过从第一数据监听队列获取第一业务***的第一数据变更消息;根据第一数据变更消息生成数据校验任务,并将数据校验任务加入延时消息队列;数据校验任务用于校验第一业务***与第一业务***关联的第二业务***的数据一致性;在延时消息队列中的数据校验任务到期时,获取数据校验任务对应的第一业务***和第二业务***中的关联数据,对关联数据进行数据一致性校验。通过设置数据监听队列、延时消息队列,确保***数据校验任务有序进行。通过对延时消息队列中数据校验任务的执行时间的控制,避免由于业务流程中各个业务***数据暂未更新导致的数据校验错误,优化***数据一致性校验的处理能力,提高数据一致性校验的准确率。
基于上述实施例,可选的,在一些实施例中,数据校验装置还可以根据第一业务***的变更数据更新与第二业务***关联的其他业务***的关联数据。该实施例进一步扩展了数据校验的范围,实现对数据平台中所有关联业务***的数据检查,进一步提升数据一致性校验的处理能力。
下面通过一个具体示例,对数据一致性校验过程进行详细说明。
下文实施例以电商平台为例,电商平台分布式***包括例如订单***、支付***、库存***、物流***等业务***,其中订单***为电商平台分布式***中的主业务***。
一种可能的情况下,电商平台的支付***、库存***以及物流***均看作是与订单***关联的下游业务***。
一种可能的情况下,电商平台的支付***看作是与订单***关联的下游业务***,库存***和物流***看作是与支付***关联的下游业务***。可以理解,订单在完成支付后,才进行库存和物流数据的更新。
为了便于理解,下文实施例以订单***和支付***中关联数据的一致性校验为例进行方案说明。
图3为本申请实施例提供的数据一致性校验方法的流程示意图。如图3所示,数据校验装置包括数据监听服务和数据校验服务。
作为一种示例,数据校验装置通过数据监听服务监听订单***的数据变更消息,将订单***的数据变更消息加入订单binlog队列。同样的,数据校验装置通过数据监听服务监听支付***的数据变更消息,将支付***的数据变更消息加入支付binlog队列。其中,订单binlog队列和支付binlog队列分别对应上文实施例中的第一数据监听队列和第二数据监听队列。
作为一种数据,数据校验装置通过解析订单binlog队列中的数据变更消息,获取订单***的变更数据以及变更数据对应的标识,例如变更数据为某订单的订单金额,变更数据对应的标识为订单编号。将订单***的变更数据以及变更数据对应的标识写入数据校验装置的缓存中。同样的,数据校验装置通过解析支付binlog队列中的数据变更消息,获取支付***的变更数据以及变更数据对应的标识,例如变更数据为某订单的支付金额,变更数据对应的标识为订单编号。将支付***的变更数据以及变更数据对应的标识写入数据校验装置的缓存中。
作为一种示例,以订单***为数据一致性校验的基准***举例,数据校验装置根据订单binlog队列中的数据变更消息,生成数据校验任务,将数据校验任务加入延时消息队列中,等待执行该数据校验任务。在数据校验任务的预设延时时间到达时,触发数据一致性校验。
可选的,从缓存中获取数据校验任务对应的订单***和支付***中的关联数据,经数据组装,执行如下任意一项:
若数据符合预设规则,执行数据一致性校验,和/或,向运营终端推送数据校验信息。其中数据校验信息包括数据校验任务的相关数据,例如数据校验任务的关联数据以及数据校验结果等。
若数据不符合预设规则,向运营终端推送告警信息,告警信息用于指示数据校验任务的数据不符合预设规则,需要结合人工进行数据一致性校验。
上述预设规则包括以下至少一项:数据完整性;数据格式。例如数据符合预设规则包括数据完整和/或数据格式正确,数据不符合预设规则包括数据不完整和/或不符合预设的数据格式。
作为一种示例,若数据符合预设规则,且订单***和支付***的数据不一致,可根据订单***的变更数据修正支付***的相应数据。在完成数据修正后,可以对支付***的下游***(如物流***、售后***等)进行数据更新,实现各业务***关联数据的一致性。
本实施例示出的数据一致性校验方法,通过从数据监听队列中获取监听到的订单***和支付***的数据变更消息,将各个***的数据变更消息解析后,存储至缓存中。基于订单***的数据变更消息生成数据校验任务,在该数据校验任务的预设延时时间达到时,从延时消息队列中取出该数据校验任务的标识,根据标识从缓存中获取订单***和支付***的关联数据,进行数据一致性校验。若获取的关联数据不完整或数据格式不正确,可向运营终端发送告警信息。通过上述方案优化***数据一致性校验的处理能力,提高数据一致性校验的准确率。
上文描述了本申请实施例提供的数据一致性校验方法,下面将描述本申请实施例提供的数据一致性校验装置。
本申请实施例可以根据上述方法实施例对数据一致性校验装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
图4为本申请实施例提供的数据一致性校验装置的结构示意图一。如图4所示,本实施例提供的数据一致性校验装置300,包括:获取模块301以及处理模块302。
获取模块301,用于从第一数据监听队列获取第一业务***的第一数据变更消息;
处理模块302,用于根据所述第一数据变更消息生成数据校验任务,并将所述数据校验任务加入延时消息队列;所述数据校验任务用于校验所述第一业务***与所述第一业务***关联的第二业务***的数据一致性;
所述获取模块301,还用于在所述延时消息队列中的所述数据校验任务到期时,获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据;
本实施例的一个可选实施例中,处理模块302,用于:
通过解析所述第一数据变更消息,获取所述第一业务***的变更数据以及所述第一业务***的变更数据对应的第一标识数据;
将所述第一标识数据作为所述数据校验任务的标识,将所述第一标识数据加入所述延时消息队列。
本实施例的一个可选实施例中,获取模块301,用于:
在所述延时消息队列中的所述数据校验任务到期时,根据所述第一标识数据,从缓存中获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据。
本实施例的一个可选实施例中,所述关联数据包括所述第一业务***的变更数据,以及与所述变更数据对应的所述第二业务***的目标数据。
本实施例的一个可选实施例中,处理模块302,用于若所述变更数据与所述目标数据不一致,根据所述变更数据修正所述目标数据。
图5为本申请实施例提供的数据一致性校验装置的结构示意图二。在图4所示装置的基础上,如图5所示,数据一致性校验装置300还包括:发送模块303和存储模块304。
本实施例的一个可选实施例中,发送模块303,用于将所述数据校验任务的相关数据推送至运营终端。
本实施例的一个可选实施例中,处理模块302,用于若所述变更数据与所述目标数据不一致,根据所述变更数据修正所述目标数据之后,根据所述变更数据更新与所述第二业务***关联的其他业务***的关联数据。
本实施例的一个可选实施例中,存储模块304,用于:
将所述第一业务***的变更数据以及所述第一标识数据保存至缓存中。
本实施例的一个可选实施例中,获取模块301,用于:
从第二数据监听队列获取所述第二业务***的第二数据变更消息;通过解析所述第二数据变更消息,获取所述第二业务***的变更数据以及所述第二业务***的变更数据对应的第二标识数据;
存储模块304,用于将所述第二业务***的变更数据以及所述第二标识数据保存至缓存中。
本实施例的一个可选实施例中,获取模块301,用于若所述缓存不包括所述第一标识数据对应的所述第二业务***的目标数据,根据所述第一标识数据从所述第二业务***的数据库中获取所述目标数据。
本实施例提供的数据一致性校验装置,可以执行上述任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图6为本申请实施例提供的电子设备的硬件结构图。如图6所示,本实施例提供的电子设备400,包括:
存储器401;
处理器402;以及
计算机程序;
其中,计算机程序存储在存储器401中,并被配置为由处理器402执行以实现上述任一方法实施例中数据校验装置的技术方案,其实现原理和技术效果类似,此处不再赘述。
可选的,存储器401既可以是独立的,也可以跟处理器402集成在一起。当存储器401是独立于处理器402之外的器件时,电子设备400还包括:总线403,用于连接存储器401和处理器402。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器402执行以实现如前述任一方法实施例中数据校验装置的技术方案。
本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如前述任一方法实施例中数据校验装置的技术方案。
本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述任一方法实施例中数据校验装置的技术方案。进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例中数据校验装置的技术方案。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。

Claims (12)

1.一种数据一致性校验方法,其特征在于,包括:
从第一数据监听队列获取第一业务***的第一数据变更消息;
根据所述第一数据变更消息生成数据校验任务,并将所述数据校验任务加入延时消息队列;所述数据校验任务用于校验所述第一业务***与所述第一业务***关联的第二业务***的数据一致性;
在所述延时消息队列中的所述数据校验任务到期时,获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据,对所述关联数据进行数据一致性校验。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一数据变更消息生成数据校验任务,并将所述数据校验任务加入延时消息队列,包括:
通过解析所述第一数据变更消息,获取所述第一业务***的变更数据以及所述第一业务***的变更数据对应的第一标识数据;
将所述第一标识数据作为所述数据校验任务的标识,将所述第一标识数据加入所述延时消息队列。
3.根据权利要求1所述的方法,其特征在于,所述在所述延时消息队列中的所述数据校验任务到期时,获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据,包括:
在所述延时消息队列中的所述数据校验任务到期时,根据所述第一标识数据,从缓存中获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述关联数据包括所述第一业务***的变更数据,以及与所述变更数据对应的所述第二业务***的目标数据;对所述关联数据进行数据一致性校验,包括:
若所述变更数据与所述目标数据不一致,根据所述变更数据修正所述目标数据,和/或,将所述数据校验任务的相关数据推送至运营终端。
5.根据权利要求4所述的方法,其特征在于,若所述变更数据与所述目标数据不一致,根据所述变更数据修正所述目标数据之后,所述方法还包括:
根据所述变更数据更新与所述第二业务***关联的其他业务***的关联数据。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
将所述第一业务***的变更数据以及所述第一标识数据保存至缓存中。
7.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
从第二数据监听队列获取所述第二业务***的第二数据变更消息;
通过解析所述第二数据变更消息,获取所述第二业务***的变更数据以及所述第二业务***的变更数据对应的第二标识数据;
将所述第二业务***的变更数据以及所述第二标识数据保存至缓存中。
8.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述缓存不包括所述第一标识数据对应的所述第二业务***的目标数据,根据所述第一标识数据从所述第二业务***的数据库中获取所述目标数据。
9.一种数据一致性校验装置,其特征在于,包括:
获取模块,用于从第一数据监听队列获取第一业务***的第一数据变更消息;
处理模块,用于根据所述第一数据变更消息生成数据校验任务,并将所述数据校验任务加入延时消息队列;所述数据校验任务用于校验所述第一业务***与所述第一业务***关联的第二业务***的数据一致性;
所述获取模块,还用于在所述延时消息队列中的所述数据校验任务到期时,获取所述数据校验任务对应的所述第一业务***和所述第二业务***中的关联数据;
所述处理模块,用于对所述关联数据进行数据一致性校验。
10.一种电子设备,其特征在于,包括:存储器,处理器以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行以实现如权利要求1-8中任一项所述的方法。
12.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。
CN202210242850.7A 2022-03-11 2022-03-11 数据一致性校验方法、装置、设备及存储介质 Pending CN114610735A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210242850.7A CN114610735A (zh) 2022-03-11 2022-03-11 数据一致性校验方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210242850.7A CN114610735A (zh) 2022-03-11 2022-03-11 数据一致性校验方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN114610735A true CN114610735A (zh) 2022-06-10

Family

ID=81862748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210242850.7A Pending CN114610735A (zh) 2022-03-11 2022-03-11 数据一致性校验方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114610735A (zh)

Similar Documents

Publication Publication Date Title
CN110300017B (zh) 标准配置生成装置及方法和网络设备配置纠错装置及方法
US9535754B1 (en) Dynamic provisioning of computing resources
US10171315B2 (en) Orchestration process template for generation of orchestration process to tolerate errors
US20170163742A1 (en) Supporting high availability for orchestrated services
US9170821B1 (en) Automating workflow validation
US20130339933A1 (en) Systems and methods for quality assurance automation
CN108830715B (zh) 批量文件部分回盘处理方法和***
CN104991821A (zh) 批量处理监控任务的方法及装置
CN111580939A (zh) 一种分级异步处理事务的方法及装置
US20170046249A1 (en) Testing of enterprise resource planning systems
CN114398293A (zh) 接口测试用例生成方法、电子设备和存储介质
CN113448826A (zh) 一种软件自动化测试***及方法
CN111464384A (zh) 一种异步消息的一致性测试方法及装置
CN113297153A (zh) 数据导出方法、装置、设备及存储介质
CN113721950A (zh) 一种资损防控处理方法及装置
CN114610735A (zh) 数据一致性校验方法、装置、设备及存储介质
CN116383052A (zh) 批处理任务的自动化测试方法、装置、设备及存储介质
CN115905430A (zh) 基于mes***的多标签管控方法、装置、终端及介质
CN111277425A (zh) 集中化数据传输管理的装置
CN114064467A (zh) 资源分析方法、装置、电子设备及存储介质
CN114416420A (zh) 设备问题反馈方法和***
CN114036060A (zh) 用于芯片测试的方法、***和计算机可读介质
CN114511314A (zh) 一种支付账户管理的方法、装置、计算机设备和存储介质
CN110221952B (zh) 业务数据的处理方法及装置、业务数据处理***
CN114237634A (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