CN114020496A - 一种数据核对方法、装置、电子设备和存储介质 - Google Patents

一种数据核对方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN114020496A
CN114020496A CN202111326368.3A CN202111326368A CN114020496A CN 114020496 A CN114020496 A CN 114020496A CN 202111326368 A CN202111326368 A CN 202111326368A CN 114020496 A CN114020496 A CN 114020496A
Authority
CN
China
Prior art keywords
data
real
time
detected
component
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
CN202111326368.3A
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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202111326368.3A priority Critical patent/CN114020496A/zh
Publication of CN114020496A publication Critical patent/CN114020496A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请涉及数据处理领域,尤其涉及一种数据核对方法、装置、电子设备和存储介质,用以提高数据核对效率和实时性,其中,方法包括:获取至少一个业务组件发送至消息队列的待检测数据,所述待检测数据包括用于表示所述待检测数据所属业务流程的业务标识;从所述消息队列中选取具有相同业务标识的待检测数据,并将选取的待检测数据进行比对,获得比对结果;若比对结果不一致,则基于所述比对结果确定的差异数据,并在所述差异数据满足预设输出条件时,输出基于所述比对结果确定的差异数据。由于本申请通过对比至少一个业务组件发送的待检测数据,获得比对结果,并在满足预设输出条件时输出差异数据,有效提高了数据核对效率和实时性,实现过程简单。

Description

一种数据核对方法、装置、电子设备和存储介质
技术领域
本申请涉及数据处理领域,尤其涉及一种数据核对方法、装置、电子设备和存储介质。
背景技术
随着互联网的日益普及和用户数量的增加,在线数据交换的场景越来越多,需要在特定的时间进行数据核对,确认是否存在数据错误,通过数据核对可以及时了解双方的数据记录是否一致。在更复杂的场景下,可能出现多方同时交换数据的场景,这就对数据核对方式提出了更高的要求。
相关技术中的对账方式一般采用批处理核对,在固定周期导出所有需要核对的文件,传输到核对方,由核对方对数据进行处理和核对,需要进行数据转换等多个步骤。但是,相关技术中的数据核对方式处理效率低,时效性低,中间状态保存的成本较高,实现过程较为复杂。
发明内容
本申请实施例提供一种数据核对方法、装置、电子设备和存储介质,用以提高数据核对效率和实时性。
本申请实施例提供的一种数据核对方法,包括:
获取至少一个业务组件发送至消息队列的待检测数据,所述待检测数据包括用于表示所述待检测数据所属业务流程的业务标识;
从所述消息队列中选取具有相同业务标识的待检测数据,并将选取的待检测数据进行比对,获得比对结果;
若比对结果不一致,则基于所述比对结果确定的差异数据,并在所述差异数据满足预设输出条件时,输出基于所述比对结果确定的差异数据。
在上述实施方式中,通过获取至少一个业务组件发送至消息队列的待检测数据,从消息队列中选取具有相同业务标识的待检测数据进行比对,获得比对结果,并在差异数据满足预设输出条件时,输出基于比对结果确定的差异数据,采用流式对账的方式允许多方参与核对,可以并发地、实时的进行对账,具备稳定、可扩展等多个特性,有效提高了数据核对效率和实时性,实现过程简单。
在一种可选的实施方式中,每个业务组件为实时业务组件或非实时业务组件,每个消息队列为实时组件消息队列或非实时组件消息队列;所述获取至少一个业务组件发送至消息队列的待检测数据,包括:
若所述至少一个业务组件都为实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时消息队列的待检测数据;或
若所述至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时消息队列的待检测数据,以及各个非实时业务组件批次发送至所述非实时组件消息队列的待检测数据文件,每个待检测数据文件包括本批次内一个非实时业务组件对应的待检测数据。
在上述实施方式中,通过实时业务组件实时将待检测数据实时发送至消息队列,对于不能将待检测数据实时发送至消息队列的非实时业务组件,采用将待检测数据按批次存储在待检测数据文件,定期卸载至导入方的方式,使得本申请中的数据核对方式可以兼容实时业务组件和非实时业务组件,提高了数据核对效率的实时性,实现过程简单。
在一种可选的实施方式中,若所述至少一个业务组件都为实时业务组件,则通过下列方式确定所述差异数据是否满足所述预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,每个第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间;
将确定的各个第一时间戳中最小的第一时间戳,作为目标时间戳;
若所述差异数据对应的第二时间戳小于所述目标时间戳,则确定满足预设输出条件,所述第二时间戳表示所述差异数据对应的待检测数据所属业务流程的发生时间。
在上述实施方式中,通过系统的整体处理进度来确定何时对差异数据输出,可以保证在正常情况下,所有早于目标时间戳的待检测数据都已经发送至消息队列,因此可以把第二时间戳早于目标时间戳的差异数据输出,避免发生属于同一业务流程的待检测数据还没有全部发送至消息队列,就已经把发送至消息队列的待检测数据当作差异数据输出。
在一种可选的实施方式中,所述待检测数据文件中的待检测数据按照所述待检测数据所属业务流程的发生时间先后的顺序排序。
在一种可选的实施方式中,若所述至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,通过下列方式确定所述差异数据是否满足所述预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,以及各个非实时业务组件对应的第三时间戳,所述第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间,所述第三时间戳表示:相应的非实时业务组件中发送至非实时组件消息队列的待检测数据文件包含的待检测数据所属业务流程的最晚发生时间;
若所述各个实时业务组件的最小的第一时间戳大于所有非实时业务组件的最大的第三时间戳,且所有非实时业务组件发送的待检测数据文件满足预设导入条件,则确定所述差异数据满足所述预设输出条件。
在上述实施方式中,通过实时业务组件的最小时间戳与非实时业务组件的最大时间戳相比较,确定实时业务组件已经将该批次的交易信息发送至系统中,通过是否满足预设导入条件,确定非实时业务组件已经将该批次的交易信息发送至系统中,可以避免出现该批次的交易信息还未全部发送至系统中,就已经将差异数据输出,提高了数据核对的准确率和实时性。
在一种可选的实施方式中,通过下列方式确定所有非实时业务组件发送的待检测数据文件满足预设导入条件:
若待接收的所述待检测数据文件的数量,与获取到的所述待检测数据文件的数量一致,其中,所述待接收的所述待检测数据文件为:各个非实时业务组件在本批次内需要发送的包含所有待检测数据的文件。
在一种可选的实施方式中,所述在所述差异数据满足预设输出条件时,输出基于所述比对结果确定的差异数据:
在所述差异数据满足预设输出条件,且符合预设差异调整策略时,将所述差异数据输出至用于进行差异调整的第一队列;
在所述差异数据满足预设输出条件,且不符合预设差异调整策略时,将所述差异数据输出至用于差异确认的第二队列。
本申请实施例提供的一种数据核对装置,包括:
获取单元,用于获取至少一个业务组件发送至消息队列的待检测数据,所述待检测数据包括用于表示所述待检测数据所属业务流程的业务标识;
比对单元,用于从所述消息队列中选取具有相同业务标识的待检测数据,并将选取的待检测数据进行比对,获得比对结果;
输出单元,用于若比对结果不一致,则基于所述比对结果确定的差异数据,并在所述差异数据满足预设输出条件时,输出基于所述比对结果确定的差异数据。
可选的,每个业务组件为实时业务组件或非实时业务组件,每个消息队列为实时组件消息队列或非实时组件消息队列,所述获取单元具体用于:
若所述至少一个业务组件都为实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据;或
若所述至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据,以及各个非实时业务组件批次发送至所述非实时组件消息队列的待检测数据文件,每个待检测数据文件包括本批次内一个非实时业务组件对应的待检测数据。
可选的,所述获取单元具体用于:
所述待检测数据文件中的待检测数据按照所述待检测数据所属业务流程的发生时间先后的顺序排序。
可选的,若所述至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,所述输出单元通过下列方式确定所述差异数据是否满足所述预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,以及各个非实时业务组件对应的第三时间戳,所述第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间,所述第三时间戳表示:相应的非实时业务组件中发送至非实时组件消息队列的待检测数据文件包含的待检测数据所属业务流程的最晚发生时间;
若所述各个实时业务组件的最小的第一时间戳大于所有非实时业务组件的最大的第三时间戳,且所有非实时业务组件发送的待检测数据文件满足预设导入条件,则确定所述差异数据满足所述预设输出条件。
可选的,所述获取单元还用于通过下列方式确定所有非实时业务组件发送的待检测数据文件满足预设导入条件:
若待接收的所述待检测数据文件的数量,与获取到的所述待检测数据文件的数量一致,其中,所述待接收的所述待检测数据文件为:各个非实时业务组件在本批次内需要发送的包含所有待检测数据的文件。
可选的,所述输出单元具体用于:
在所述差异数据满足预设输出条件,且符合预设差异调整策略时,将所述差异数据输出至用于进行差异调整的第一队列;
在所述差异数据满足预设输出条件,且不符合预设差异调整策略时,将所述差异数据输出至用于差异确认的第二队列。
本申请实施例提供的一种电子设备,包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行上述任意一种数据核对方法的步骤。
本申请实施例提供一种计算机可读存储介质,其包括程序代码,当所述存储介质在电子设备上运行时,所述程序代码用于使所述电子设备执行上述任意一种数据核对方法的步骤。
本申请实施例提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述任意一种数据核对方法的步骤。
本申请有益效果如下:
本申请实施例提供了一种数据核对方法、装置、电子设备和存储介质,由于本申请通过获取至少一个业务组件发送至消息队列的待检测数据,从消息队列中选取具有相同业务标识的待检测数据进行比对,获得比对结果,并在差异数据满足预设输出条件时,输出基于比对结果确定的差异数据,采用流式对账的方式允许多方参与核对,可以并发地、实时的进行对账,具备稳定、可扩展等多个特性,有效提高了数据核对效率和实时性,实现过程简单。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中的一种数据核对方法的流程示意图;
图2为本申请实施例中一种普通场景下的流式对账流程示意图;
图3为本申请实施例中一种特殊场景下的流式对账流程示意图;
图4为本申请实施例中的一种数据核对装置的结构示意图;
图5为应用本申请实施例的一种电子设备的一个硬件组成结构示意图;
图6为应用本申请实施例的另一种电子设备的一个硬件组成结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
下面对本申请实施例中涉及的部分概念进行介绍。
1、本申请实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
2、本申请实施例中术语“时间戳”用于衡量数据处理进度,通过一定的技术手段,对数据产生的时间进行认证,从而验证这段数据在产生后是否经过篡改,在本申请实施例中时间戳用于表示对某个进程所处时间的认证。
3、本申请实施例中术语“批次”用于表示一批业务流程是在同一时间段内发生,在本申请实施例中,可以对某一批次的业务流程对应的待检测数据进行数据核对。
以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面以本申请中的数据核对方法用于对交易信息进行对账为例,对本申请中的数据核对方法具体介绍。
一个联机交易系统通常由多个功能组件或模块组成,交易每流经一个组件,都需要在该组件进行记账,在特定的时间进行账务核对,确认是否存在异常订单。比如顾客去商户消费时,使用电子支付,付款组件会在系统记一笔帐,收款组件也会在系统记一笔帐,通过对账可以及时了解双方的账务是否一致,如果遇到一方已经付款,另一方却没收到的情况,可以及时采取措施。需要说明的是,本申请中的数据核对方法,不仅适用于两方数据核对,同样适用于任何多方数据核对的场景。
参阅图1所示,为本申请实施例提供的一种数据核对方法的流程示意图,该方法的具体实施流程如下:
S11:获取至少一个业务组件发送至消息队列的待检测数据;
其中,待检测数据包括用于表示待检测数据所属业务流程的业务标识,当业务流程表示一笔交易时,待检测数据为该笔交易的交易信息,包括需要进行对账的数据,业务标识为交易流水号,一笔交易在各个业务组件中的交易流水号是相同的。
S12:从消息队列中选取具有相同业务标识的待检测数据,并将选取的待检测数据进行比对,获得比对结果;
具体的,将消息队列中具有相同业务标识的待检测数据进行比对,也就是根据交易流水号,将属于一笔交易的交易信息进行比对,获得比对结果。
S13:若比对结果不一致,则基于比对结果确定差异数据,并在差异数据满足预设输出条件时,输出基于比对结果确定的差异数据。
具体的,若比对结果不一致,即一笔交易在各个业务组件中的交易信息不相同,例如,当交易发生于两方时,付款方处的交易信息显示付款10元,而收款方处的交易信息显示收款8元,即为交易信息不同,这样的待检测数据将作为差异数据,当满足预设输出条件时,将差异数据输出。
在本申请实施例中,解决了传统对账方式步骤繁琐、耗时长、实时性不高,以及较难满足多方核对场景的缺点,提出了一种简洁高效、允许并发、准实时的流式对账方法。这种对账方法允许多方参与核对,在兼顾原有组件正常对账的情况下,允许用最小的成本加入新的组件到多方对账之中,具备稳定、可扩展等多个特性。除对账之外,本申请还适用于任何多方数据核对的场景,在此不再重复赘述,本申请主要是以对账数据核对为例进行举例说明的。
一种可选的实施方式为,若比对结果一致,则直接删除待检测数据信息;
具体的,若比对结果一致,即当交易发生于两方时,付款方处的交易信息显示付款10元,而收款方处的交易信息显示收款10元,这样比对一致的待检测数据可以直接从存储单元中删除,以减少存储资源占用。
在本申请实施例中,业务组件分为:用于实时将待检测数据发送至消息队列的实时业务组件,和将待检测数据按照批次发送至消息队列的非实时业务组件。消息队列分为:用于实时接收实时业务组件发送的待检测数据的实时组件消息队列,和用于接收非实时业务组件按照批次发送的待检测数据的非实时组件消息队列。
参阅图2,其为本申请实施例中一种普通场景下的流式对账流程示意图,图2中的业务组件均为实时业务组件,相应的队列为实时组件消息队列,下面结合图2对本申请实施例中的普通场景下的流式对账过程具体介绍。
普通场景下的流式对账步骤如下:
步骤1:参与对账的业务组件在执行成功一笔交易后,发送包含对账数据的消息到消息队列,使用全局唯一的交易流水号来作为对账消息的key(关键字);
步骤2:将各参与对账组件的对账消息汇总到Compare队列(待对账队列)。从提升并发处理能力考虑,Compare队列可以进一步拆分为多个分区子队列,只需保证在汇总时将同一个key的消息路由至同一个Compare队列分区;
步骤3:由Compare Processor对账处理器读取对账消息,按照交易流水号进行核对,对比输出差异到指定队列。
具体可分为:数据输入、汇总、输出、核对四部分。
其中,在数据输入部分具体是指:在业务执行成功之后,参与对账的业务组件立即发送消息到消息队列,消息内容包含每笔数据的唯一标识(如交易流水号),以及需要进行对账的数据。一笔交易在各组件的唯一标识是相同的,因此可将唯一标识作为消息的key,将同一个key的数据路由至同一个Compare队列。
一种可选的实施方式为,若至少一个业务组件都为实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据;
具体的,当至少一个业务组件都为实时业务组件时,在一笔交易执行成功后,参与对账的业务组件如图2中的组件A、组件B、组件C中的至少一个,将这笔交易相关的待检测信息发送至其对应的实时组件消息队列中。
例如,交易流水号为202109202224的一笔交易执行成功,与这笔交易相关的组件为组件A和组件B,则组件A将这笔交易相关的交易信息发送至队列A,组件B将这笔交易相关的交易信息发送至队列B,系统将队列A和队列B中的数据汇总至Compare队列,然后由Compare Processor进行比对。
在本申请实施例中,通过实时业务组件将完成交易的交易信息实时发送至消息队列中形成无界的、持续不断的数据,无需传输数据至第三方核对,支持并发核对,提高了对账处理效率和实时性。
汇总部分指:将实时组件消息队列中的交易信息汇总至Compare队列,CompareProcessor以Compare队列中每笔数据的唯一标识作为key,将状态信息(即待检测数据)保存在内部存储单元,该单元需具备持久化和高可用的能力,每次有新的状态信息需要按照交易流水号与已有的状态信息进行数据一致性校验。若检验一致,说明该笔交易各方核对无误,若读取完所有输入的状态信息后仍无法检验一致,则说明该笔交易存在账务不一致,需做后续账务调整。为减少存储资源占用,检验一致时即可在内部存储单元删除此key对应的状态。在满足预设输出条件时,将内部存储中遗留的状态信息(即无法检验一致的交易信息)转换为差异形式发送到下游队列。
输出部分指:由于流处理中数据是无界的,持续不断的,对于有状态的操作需要输出结果必然有一个范围(边界),流处理中通常称之为窗口。通常使用事件的发生时间作为切分窗口的维度。数据切分之后,需要解决的问题就是何时输出结果,流处理中称为触发机制。输出结果的时间可以是固定周期输出,但是存在太早输出或者太晚输出的问题,太早输出导致很多无意义甚至错误的结果,太晚输出则会导致时延增加,实时性降低。
因此,如果系统可以感知到数据处理的进度与当前窗口的完成度,那么就可以完美地通过一次输出得到准确的消息,即在系统确信某窗口不会再收到消息后即可输出。这个衡量数据处理进度的指标就是时间,用于表示数据发生的时间。
对于单个业务组件输入(即没有合并没有分支)的流处理系统,使用时间戳可以确定结果输出的时机,但是对于多方数据源的流处理场景,数据汇总后时间戳信息必须分别维护,因为多个组件的处理进度是无关的,例如组件A的时间戳在15点,组件B的时间戳可能仍在10点。
在所有业务组件都接入流处理的前提下,可以通过时间戳推进窗口的关闭。本申请通过收集各业务组件的时间戳得出当前系统的整体时间戳,当内部存储单元中遗留的状态信息的时间戳小于当前系统整体时间戳,即表明不会再收到整体时间戳以前的消息,则可将状态信息转换为差异形式发送到下游队列。
一种可选的实施方式为,若至少一个业务组件都为实时业务组件,则通过下列方式确定差异数据是否满足预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,每个第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间;将确定的各个第一时间戳中最小的第一时间戳,作为目标时间戳;若差异数据对应的第二时间戳小于目标时间戳,则确定满足预设输出条件,第二时间戳表示差异数据对应的待检测数据所属业务流程的发生时间。
具体的,首先,通过第一时间戳表示各个业务组件数据处理进度,然后比较各个业务组件的第一时间戳,将最小的第一时间戳作为目标时间戳,也就是表示目前系统整体的处理进度,最后若差异数据的第二时间戳小于目标时间戳,则确定满足预设输出条件,可以将差异数据输出。
例如,组件A最晚发送至消息队列的交易信息的发生时间为10点,那么组件A的第一时间戳为10点,组件B最晚发送至消息队列的交易信息的发生时间为9点,那么组件B的第一时间戳为9点,组件C最晚发送至消息队列的交易信息的发生时间为11点,那么组件C的第一时间戳为11点,因此目标时间戳为9点,表示目前系统的处理进度为9点,系统中的差异数据的第二时间戳早于9点的都可以被输出。
在本申请实施例中,通过系统的整体处理进度来确定何时对差异数据输出,可以保证在正常情况下,所有早于目标时间戳的交易信息都已经发送至消息队列,因此可以把第二时间戳早于目标时间戳的差异数据输出,避免发生一笔交易相关的交易信息还没有全部发送至消息队列,就已经把发送至消息队列的交易信息当作差异数据输出。
核对部分指:对于组件A、B、C中任意两方的数据不一致,则表明此笔交易存在差异,可以根据需要输出整体差异状况,也可以输出两两之间的差异。针对不同的差异情况,本申请可以输出到不同队列,假设差异结果可以直接交予下游做账务调整,就输出到待调整差异队列;假设差异结果需要进一步确认,就将差异输出到待确认差异队列。
一种可选的实施方式为,在差异数据满足预设输出条件,且符合预设差异调整策略时,将差异数据输出至用于进行差异调整的第一队列;在差异数据满足预设输出条件,且不符合预设差异调整策略时,将差异数据输出至用于差异确认的第二队列。
其中,符合预设差异调整策略即指差异结果可以直接交予下游做账务调整,不符合预设差异调整策略则是指差异结果需要进一步确认,不能直接交予下游做账务调整。
另外,在无法获取部分或全部业务组件的第一时间戳,或者其他异常情况下,导致系统无法确定输出时间,系统不能无限期的储存差异数据时,可以设定:若预设时间内无法确定输出时间,也可进一步将差异数据输出至第二队列,进行差异数据确认。
参阅图3所示,其为本申请实施例中一种特殊场景下的流式对账流程示意图,下面结合图3对本申请实施例中的特殊场景下的流式对账过程具体介绍。
某些情况下,因为接入流处理的成本较大,一些系统不能将交易信息实时接入消息队列,如图3所示,图3仅作为例子描述了4个组件的对账流程,实际情况可能包含更多可以将交易信息实时接入消息队列的实时组件以及无法实时接入的非实时组件,同样在本申请的适用范围内。
特殊场景下的流式对账步骤如下:
步骤1:将交易信息实时接入消息队列的实时组件在执行成功一笔交易后,发送包含对账数据的消息到消息队列;无法将交易信息实时接入消息队列的非实时组件采用定期卸数的方法,将明细文件传输给导入方,由导入方导入到流处理系统;
步骤2:将各参与对账组件的对账消息汇总到待对账队列(图3中Compare队列)。从提升并发处理能力考虑,Compare队列可以进一步拆分为多个分区子队列,只需保证在汇总时将同一个key(键值)的消息路由至同一个Compare队列分区;
步骤3:由Compare Processor对账处理器读取对账消息,按照交易流水号进行核对,对比输出差异到指定队列。
同普通场景相同,具体也可分为:数据输入、汇总、输出、核对四个部分。
数据输入部分具体是指:对于无法将交易信息实时接入消息队列的组件,本申请采用定期卸数的方法,将待检测数据文件卸载给导入方,由导入方导入到流处理系统。需要按照批次核对,批次编号的生成方负责批次的切换并通知相关方,相关方收到批次切换通知后负责卸数并发送给核对方。
当业务组件的数据分片时,需要卸载多个待检测数据文件,那么就需要告诉导入方该组件该批次需要卸载的一共有多少个文件,这就用到了close文件,close文件的使用需要满足一些约束条件:
1、每个组件每个批次必须送一个close文件,否则对账系统不知道该批次是未发生交易还是数据未到;
2、每个组件对于某个批次的交易可以只有一个文件,也可以包含多个文件,但close文件中必须记录该批次包含的文件数量;
3、每个数据文件内的交易信息必须按照时间戳排序。
与普通场景下的输出一样,消息内容包含每笔数据的唯一标识(如交易流水号),以及需要进行对账的数据。一笔交易在各组件的唯一标识是相同的,因此可将唯一标识作为消息的key,将同一个key的数据路由至同一个Compare队列。
一种可选的实施方式为,若至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据,以及各个非实时业务组件批次发送至非实时组件消息队列的待检测数据文件,每个待检测数据文件包括本批次内一个非实时业务组件对应的待检测数据。
具体的,在至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件时,例如图3中的实时业务组件A和非实时业务组件B、C、D,实时业务组件将交易信息实时发送至消息队列中,非实时业务组件按照交易批次将交易信息存储在待检测数据文件中,然后卸载至导入方,由导入方将交易信息导入到消息队列中。
例如,当前需要进行对账的是9点至10点之间的数据,也就是需要对账的数据的批次是9点至10点,实时业务组件已经实时将交易信息接入消息队列,非实时业务组件需要将存储包含该批次交易信息的待检测数据文件卸载至导入方,由导入方发送至消息队列。
在本申请实施例中,通过实时业务组件实时将交易信息发送至消息队列,对于不能将交易信息实时发送至消息队列的非实时业务组件,采用将交易信息按批次存储在待检测数据文件,定期卸载至导入方的方式,使得本申请中的数据核对方式可以兼容实时业务组件和非实时业务组件,提高了数据核对效率的实时性,实现过程简单。
在一种可选的实施方式中,待检测数据文件中的待检测数据按照待检测数据所属业务流程的发生时间先后的顺序排序。
具体的,待检测数据文件中的交易信息按照交易信息所属交易的发生时间先后的顺序排序,例如9点15分发生的交易信息就要排在9点16分发生的交易信息之前。
在一种可选的实施方式中,通过下列方式确定所有非实时业务组件发送的待检测数据文件满足预设导入条件:
若待接收的待检测数据文件的数量,与获取到的待检测数据文件的数量一致,其中,待接收的待检测数据文件为:各个非实时业务组件在本批次内需要发送的包含所有待检测数据的文件。
具体的,可以采用在非实时业务组件向导入方发送本批次待检测数据文件的同时,另外发送一个文件包含本批次应该向导入方发送的待检测数据文件的数量,导入方可以根据应该接收待检测数据文件的数量与实际获取到的待检测数据文件的数量,确定该批次的待检测数据文件是否导入完成。
汇总部分指:将实时组件消息队列和非实时组件消息队列中的交易信息汇总至Compare队列,Compare Processor以Compare队列中每笔数据的唯一标识作为key,将状态信息(即待检测数据)保存在内部存储单元,该单元需具备持久化和高可用的能力,每次有新的状态信息需要按照交易流水号与已有的状态信息进行数据一致性校验。若检验一致,说明该笔交易各方核对无误,若读取完所有输入的状态信息后仍无法检验一致,则说明该笔交易存在账务不一致,需做后续账务调整。为减少存储资源占用,检验一致时即可在内部存储单元删除此key对应的状态。在满足预设输出条件时,将内部存储中遗留的状态信息(即无法检验一致的交易信息)转换为差异形式发送到下游队列。输出:使用文件导入的方式,更无法准确定义,不能以任一组件的时间戳决定输出的时间,因为其他非实时业务组件的文件可能还未卸载或导入。本申请使用监听的方式,监听该批次关联组件文件是否导入完成,当某批次满足以下全部条件时,即可判定该批次处理结束:
1、消息队列收到过实时业务组件的交易信息(任一批次);
2、实时业务组件的最小时间戳大于所有非实时业务组件该批次的最大时间戳(即该实时业务组件不存在仍未将交易信息接入消息队列的可能);
3、该批次所有关联组件都已完成导入;
4、该批次在指定时间(可配置)内未收到消息。
在一种可选的实施方式中,若至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,通过下列方式确定差异数据是否满足预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,以及各个非实时业务组件对应的第三时间戳,第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间,第三时间戳表示:相应的非实时业务组件中发送至非实时组件消息队列的待检测数据文件包含的待检测数据所属业务流程的最晚发生时间;
若各个实时业务组件的最小的第一时间戳大于所有非实时业务组件的最大的第三时间戳,且所有非实时业务组件发送的待检测数据文件满足预设导入条件,则确定差异数据满足预设输出条件。
具体的,首先,确定各个实时业务组件对应的第一时间戳,以及各个非实时业务组件对应的第三时间戳,若最小的第一时间戳大于最大的第三时间戳,可以确定实时业务组件该批次的交易信息已经发送至消息队列,并且在满足预设导入条件时,即非实时业务组件该批次的交易信息也已经发送至消息队列,此时可以确定满足预设输出条件,可以将差异数据输出。
在本申请实施例中,通过实时业务组件的最小时间戳与非实时业务组件的最大时间戳相比较,确定实时业务组件已经将该批次的交易信息发送至系统中,通过是否满足预设导入条件,确定非实时业务组件已经将该批次的交易信息发送至系统中,可以避免出现该批次的交易信息还未全部发送至系统中,就已经将差异数据输出,提高了数据核对的准确率和实时性。
核对部分指:对于组件A、B、C、D中任意两方的数据不一致,则表明此笔交易存在差异,可以根据需要输出整体差异状况,也可以输出两两之间的差异。针对不同的差异情况,本申请可以输出到不同队列,假设差异结果可以直接交予下游做账务调整,就输出到待调整差异队列;假设差异结果需要进一步确认,就将差异输出到待确认差异队列。
基于相同的发明构思,本申请实施例还提供一种数据核对装置的结构示意图。如图4所示,其为数据核对装置400的结构示意图,可以包括:
获取单元401,用于获取至少一个业务组件发送至消息队列的待检测数据,待检测数据包括用于表示待检测数据所属业务流程的业务标识;
比对单元402,用于从消息队列中选取具有相同业务标识的待检测数据,并将选取的待检测数据进行比对,获得比对结果;
输出单元403,用于若比对结果不一致,则基于比对结果确定的差异数据,并在差异数据满足预设输出条件时,输出基于比对结果确定的差异数据。
可选的,每个业务组件为实时业务组件或非实时业务组件,每个消息队列为实时组件消息队列或非实时组件消息队列,获取单元401具体用于:
若至少一个业务组件都为实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据;或
若至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据,以及各个非实时业务组件批次发送至非实时组件消息队列的待检测数据文件,每个待检测数据文件包括本批次内一个非实时业务组件对应的待检测数据。
可选的,获取单元401具体用于:
待检测数据文件中的待检测数据按照待检测数据所属业务流程的发生时间先后的顺序排序。
可选的,若至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,输出单元403通过下列方式确定差异数据是否满足预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,以及各个非实时业务组件对应的第三时间戳,第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间,第三时间戳表示:相应的非实时业务组件中发送至非实时组件消息队列的待检测数据文件包含的待检测数据所属业务流程的最晚发生时间;
若各个实时业务组件的最小的第一时间戳大于所有非实时业务组件的最大的第三时间戳,且所有非实时业务组件发送的待检测数据文件满足预设导入条件,则确定差异数据满足预设输出条件。
可选的,获取单元401还用于通过下列方式确定所有非实时业务组件发送的待检测数据文件满足预设导入条件:
若待接收的待检测数据文件的数量,与获取到的待检测数据文件的数量一致,其中,待接收的待检测数据文件为:各个非实时业务组件在本批次内需要发送的包含所有待检测数据的文件。
可选的,输出单元403具体用于:
在差异数据满足预设输出条件,且符合预设差异调整策略时,将差异数据输出至用于进行差异调整的第一队列;
在差异数据满足预设输出条件时,且不符合预设差异调整策略时,将差异数据输出至用于差异确认的第二队列。
为了描述的方便,以上各部分按照功能划分为各模块(或单元)分别描述。当然,在实施本申请时可以把各模块(或单元)的功能在同一个或多个软件或硬件中实现。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的数据核对装置可以至少包括处理器和存储器。其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行本说明书中描述的根据本申请各种示例性实施方式的数据核对方法中的步骤。例如,所述处理器可以执行如图1中所示的步骤。
与上述方法实施例基于同一发明构思,本申请实施例中还提供了一种电子设备。在一种实施例中,该电子设备可以是服务器。在该实施例中,电子设备的结构可以如图5所示,包括存储器501,通讯模块503以及一个或多个处理器502。
存储器501,用于存储处理器502执行的计算机程序。存储器501可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
存储器501可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器501也可以是非易失性存储器(non-volatilememory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);或者存储器501是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器501可以是上述存储器的组合。
处理器502,可以包括一个或多个中央处理单元(central processing unit,CPU)或者为数字处理单元等等。处理器502,用于调用存储器501中存储的计算机程序时实现上述数据核对方法。
通讯模块503用于与终端设备和其他服务器进行通信。
本申请实施例中不限定上述存储器501、通讯模块503和处理器502之间的具体连接介质。本申请实施例在图5中以存储器501和处理器502之间通过总线504连接,总线504在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线504可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器501中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本申请实施例的数据核对方法。处理器502用于执行上述的数据核对方法,如图1中所示的步骤。
在另一种实施例中,电子设备也可以是其他电子设备。在该实施例中,电子设备的结构可以如图6所示,包括:通信组件610、存储器620、显示单元630、摄像头640、传感器650、音频电路660、蓝牙模块670、处理器680等部件。
通信组件610用于与服务器进行通信。在一些实施例中,可以包括电路无线保真(Wireless Fidelity,WiFi)模块,WiFi模块属于短距离无线传输技术,电子设备通过WiFi模块可以帮助用户收发信息。
存储器620可用于存储软件程序及数据。处理器680通过运行存储在存储器620的软件程序或数据,从而执行终端设备60的各种功能以及数据处理。存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器620存储有使得终端设备60能运行的操作系统。本申请中存储器620可以存储操作系统及各种应用程序,还可以存储执行本申请实施例数据核对方法的代码。
显示单元630还可用于显示由用户输入的信息或提供给用户的信息以及终端设备60的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元630可以包括设置在终端设备60正面的显示屏632。其中,显示屏632可以采用液晶显示器、发光二极管等形式来配置。显示单元630可以用于显示本申请实施例中的多媒体信息推荐相关的界面等等。
显示单元630还可用于接收输入的数字或字符信息,产生与终端设备60的用户设置以及功能控制有关的信号输入,具体地,显示单元630可以包括设置在终端设备60正面的触摸屏631,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
其中,触摸屏631可以覆盖在显示屏632之上,也可以将触摸屏631与显示屏632集成而实现终端设备60的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元630可以显示应用程序以及对应的操作步骤。
摄像头640可用于捕获静态图像,用户可以将摄像头640拍摄的图像通过视频客户端上传评论。摄像头640可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器680转换成数字图像信号。
终端设备还可以包括至少一种传感器650,比如加速度传感器651、距离传感器652、指纹传感器653、温度传感器654。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
音频电路660、扬声器661、传声器662可提供用户与终端设备60之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出。终端设备60还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出至通信组件610以发送给比如另一终端设备60,或者将音频数据输出至存储器620以便进一步处理。
蓝牙模块670用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块670与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
处理器680是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器620内的软件程序,以及调用存储在存储器620内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器680可包括一个或多个处理单元;处理器680还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器680中。本申请中处理器680可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例的数据核对方法。另外,处理器680与显示单元630耦接。
在一些可能的实施方式中,本申请提供的数据核对方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的数据核对方法的步骤,例如,计算机设备可以执行如图1中所示的步骤。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的数据核对方法的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算装置上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算装置上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算装置上部分在远程计算装置上执行、或者完全在远程计算装置或服务器上执行。在涉及远程计算装置的情形中,远程计算装置可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算装置,或者,可以连接到外部计算装置(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。

Claims (10)

1.一种数据核对方法,其特征在于,该方法包括:
获取至少一个业务组件发送至消息队列的待检测数据,所述待检测数据包括用于表示所述待检测数据所属业务流程的业务标识;
从所述消息队列中选取具有相同业务标识的待检测数据,并将选取的待检测数据进行比对,获得比对结果;
若比对结果不一致,则基于所述比对结果确定的差异数据,并在所述差异数据满足预设输出条件时,输出基于所述比对结果确定的差异数据。
2.如权利要求1所述的方法,其特征在于,每个业务组件为实时业务组件或非实时业务组件,每个消息队列为实时组件消息队列或非实时组件消息队列;所述获取至少一个业务组件发送至消息队列的待检测数据,包括:
若所述至少一个业务组件都为实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据;或
若所述至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,则获取各个实时业务组件实时发送至各自对应的实时组件消息队列的待检测数据,以及各个非实时业务组件批次发送至所述非实时组件消息队列的待检测数据文件,每个待检测数据文件包括本批次内一个非实时业务组件对应的待检测数据。
3.如权利要求2所述的方法,其特征在于,若所述至少一个业务组件都为实时业务组件,则通过下列方式确定所述差异数据是否满足所述预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,每个第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间;
将确定的各个第一时间戳中最小的第一时间戳,作为目标时间戳;
若所述差异数据对应的第二时间戳小于所述目标时间戳,则确定满足预设输出条件,所述第二时间戳表示所述差异数据对应的待检测数据所属业务流程的发生时间。
4.如权利要求2所述的方法,其特征在于,所述待检测数据文件中的待检测数据按照所述待检测数据所属业务流程的发生时间先后的顺序排序。
5.如权利要求2所述的方法,其特征在于,若所述至少一个业务组件包括至少一个实时业务组件和至少一个非实时业务组件,通过下列方式确定所述差异数据是否满足所述预设输出条件:
基于各个实时业务组件的数据处理进度,确定各个实时业务组件对应的第一时间戳,以及各个非实时业务组件对应的第三时间戳,所述第一时间戳表示:相应的实时业务组件发送至实时组件消息队列的各个待检测数据所属业务流程的最晚发生时间,所述第三时间戳表示:相应的非实时业务组件中发送至非实时组件消息队列的待检测数据文件包含的待检测数据所属业务流程的最晚发生时间;
若所述各个实时业务组件的最小的第一时间戳大于所有非实时业务组件的最大的第三时间戳,且所有非实时业务组件发送的待检测数据文件满足预设导入条件,则确定所述差异数据满足所述预设输出条件。
6.如权利要求5所述的方法,其特征在于,通过下列方式确定所有非实时业务组件发送的待检测数据文件满足预设导入条件:
若待接收的所述待检测数据文件的数量,与获取到的所述待检测数据文件的数量一致,其中,所述待接收的所述待检测数据文件为:各个非实时业务组件在本批次内需要发送的包含所有待检测数据的文件。
7.如权利要求1~6任一项所述的方法,其特征在于,所述在所述差异数据满足预设输出条件时,输出基于所述比对结果确定的差异数据:
在所述差异数据满足预设输出条件,且符合预设差异调整策略时,将所述差异数据输出至用于进行差异调整的第一队列;
在所述差异数据满足预设输出条件,且不符合预设差异调整策略时,将所述差异数据输出至用于差异确认的第二队列。
8.一种数据核对装置,其特征在于,所述装置包括:
获取单元,用于获取至少一个业务组件发送至消息队列的待检测数据,所述待检测数据包括用于表示所述待检测数据所属业务流程的业务标识;
比对单元,用于从所述消息队列中选取具有相同业务标识的待检测数据,并将选取的待检测数据进行比对,获得比对结果;
输出单元,用于若比对结果不一致,则基于所述比对结果确定的差异数据,并在所述差异数据满足预设输出条件时,输出基于所述比对结果确定的差异数据。
9.一种电子设备,其特征在于,其包括处理器和存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~7中任一所述方法的步骤。
10.一种计算机可读存储介质,其特征在于,其包括程序代码,当所述存储介质在电子设备上运行时,所述程序代码用于使所述电子设备执行权利要求1~7中任一所述方法的步骤。
CN202111326368.3A 2021-11-10 2021-11-10 一种数据核对方法、装置、电子设备和存储介质 Pending CN114020496A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111326368.3A CN114020496A (zh) 2021-11-10 2021-11-10 一种数据核对方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111326368.3A CN114020496A (zh) 2021-11-10 2021-11-10 一种数据核对方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN114020496A true CN114020496A (zh) 2022-02-08

Family

ID=80063323

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111326368.3A Pending CN114020496A (zh) 2021-11-10 2021-11-10 一种数据核对方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN114020496A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114218599A (zh) * 2022-02-22 2022-03-22 飞狐信息技术(天津)有限公司 一种业务数据处理方法及装置、存储介质及电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114218599A (zh) * 2022-02-22 2022-03-22 飞狐信息技术(天津)有限公司 一种业务数据处理方法及装置、存储介质及电子设备
CN114218599B (zh) * 2022-02-22 2022-05-27 飞狐信息技术(天津)有限公司 一种业务数据处理方法及装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
US10354320B2 (en) Optimizing aggregation routing over a network
CN108880934B (zh) 一种基于区块链的数据流量统计方法和装置
CN111857888B (zh) 一种交易处理方法及装置
CN112288577B (zh) 分布式服务的交易处理方法、装置、电子设备和介质
CN110610376A (zh) 行为数据的响应方法、装置、计算机设备及存储介质
CN115297183B (zh) 一种数据处理方法、装置、电子设备和存储介质
CN115269411A (zh) 一种业务测试方法、装置、电子设备和存储介质
TW201733312A (zh) 自動熔斷的消息發送方法、裝置及系統
CN114020496A (zh) 一种数据核对方法、装置、电子设备和存储介质
CN116627333A (zh) 日志缓存方法、装置、电子设备及计算机可读存储介质
CN109933508B (zh) 用于发送信息的方法和装置
WO2023169251A1 (zh) 一种指标确定方法、装置、服务器和介质
CN110081903B (zh) 计步、兑换、计步数据发送方法、装置、设备及存储介质
US20230418470A1 (en) Data processing method and apparatus, and electronic device
CN115904805A (zh) 一种数据备份方法、装置、电子设备和存储介质
CN116418711A (zh) 服务网关的测试方法、设备、存储介质及产品
CN110415112B (zh) 贷后业务的处理方法、装置、设备和存储介质
CN116303755A (zh) 一种信息同步变更方法、装置、电子设备和存储介质
CN112818139A (zh) 应用于安防监控的边缘计算数据管理方法、装置和设备
CN116149920A (zh) 交易系统验证方法、装置、设备及存储介质
CN111639936B (zh) 交易信息的获取方法、装置、电子设备及可读存储介质
JP7087402B2 (ja) 処理装置、処理システム、及びプログラム
TW202226781A (zh) 區塊鏈中介系統以及方法
CN116521637A (zh) 更变数据处理方法、装置、电子设备及存储介质
CN115774731A (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