CN113837878A - 一种数据比对方法、装置、设备及存储介质 - Google Patents
一种数据比对方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113837878A CN113837878A CN202111047346.3A CN202111047346A CN113837878A CN 113837878 A CN113837878 A CN 113837878A CN 202111047346 A CN202111047346 A CN 202111047346A CN 113837878 A CN113837878 A CN 113837878A
- Authority
- CN
- China
- Prior art keywords
- transaction
- transaction data
- data
- time point
- comparison
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 17
- 238000012546 transfer Methods 0.000 claims abstract description 66
- 238000012163 sequencing technique Methods 0.000 claims description 30
- 230000007704 transition Effects 0.000 claims description 29
- 238000011144 upstream manufacturing Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 12
- 238000009826 distribution Methods 0.000 claims description 11
- 238000005516 engineering process Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 22
- 230000008569 process Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 6
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000005315 distribution function Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Technology Law (AREA)
- Game Theory and Decision Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种数据比对方法、装置、设备及存储介质,涉及金融科技技术领域,该方法包括:基于联机系统在目标比对时间点的交易数据量,预测目标比对时间点对应的数据转移延时,再基于数据转移延时,确定目标比对时间点对应的数据比对窗口。从联机系统中获取数据比对窗口内的第一交易数据集合,以及从下游系统中获取数据比对窗口内的第二交易数据集合。然后将第一交易数据集合和第二交易数据集合进行数据比对,获得目标比对时间点对应的数据比对结果。本申请中,可以有效地缩短数据比对时间,实时、准确地确定联机系统和下游系统中不一致的交易数据。
Description
技术领域
本发明实施例涉及金融科技(Fintech)技术领域,尤其涉及一种数据比对方法、装置、设备及存储介质。
背景技术
交易系统包括多个联机系统和多个下游系统。联机系统是以事务处理为特征的在线处理系统,一个交易包含一个或多个事务。下游系统从联机系统中获取交易数据,并执行具体的业务处理,如清算等。
在交易场景中,当交易产生时,交易数据先保存在联机系统中,再通过数据转移装置,将交易数据转移至下游系统中。当联机系统中的交易数据和下游系统中的交易数据不一致时,会导致下游系统出现业务处理差错。
相关技术一般是将下游系统和联机系统中在比对时间之前的所有的交易数据分别导出为交易数据文件,再进行交易数据比对,无法得到实时的交易数据比对结果。
发明内容
本申请实施例提供了一种数据比对方法、装置、设备及存储介质,用于提高数据比对的效率。
一方面,本申请实施例提供了一种数据比对方法,该方法包括:
基于联机系统在目标比对时间点的交易数据量,预测所述目标比对时间点对应的数据转移延时;
基于所述数据转移延时,确定所述目标比对时间点对应的数据比对窗口;
从所述联机系统中获取所述数据比对窗口内的第一交易数据集合,以及从下游系统中获取所述数据比对窗口内的第二交易数据集合;
将所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
一方面,本申请实施例提供了一种数据比对装置,该装置包括:
预测模块,用于基于联机系统在目标比对时间点的交易数据量,预测所述目标比对时间点对应的数据转移延时;
执行模块,用于基于所述数据转移延时,确定所述目标比对时间点对应的数据比对窗口;
获取模块,用于从所述联机系统中获取所述数据比对窗口内的第一交易数据集合,以及从下游系统中获取所述数据比对窗口内的第二交易数据集合;
比对模块,用于将所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
可选地,所述预测模块具体用于:
基于联机系统在所述目标比对时间点的交易数据量,以及所述目标比对时间点,预测所述目标比对时间点对应的数据转移延时。
可选地,所述执行模块具体用于:
基于多条历史交易数据各自对应的交易周期,确定交易状态迁移时长;
基于所述数据转移延时和交易状态迁移时长,确定所述目标比对时间点对应的数据比对窗口。
可选地,所述执行模块具体用于:
对多条历史交易数据各自对应的交易周期进行统计,获得多个交易周期分别对应的历史交易数据量;
基于所述多个交易周期分别对应的历史交易数据量,确定所述多个交易周期对应的概率分布;
从所述多个交易周期对应的概率分布中,选取满足预设条件的概率对应的交易周期,作为交易状态迁移时长。
可选地,所述执行模块具体用于:
若所述数据转移延时大于所述交易状态迁移时长,则以所述目标比对时间点为起点,以所述数据转移延时为窗口长度,确定所述目标比对时间点对应的数据比对窗口;
否则,则以所述目标比对时间点为起点,以所述交易状态迁移时长为窗口长度,确定所述目标比对时间点对应的数据比对窗口。
可选地,所述第一交易数据集合中的每个第一交易数据包括第一交易标识,所述第二交易数据集合中的每个第二交易数据包括第二交易标识;
所述比对模块具体用于:
按照所述第一交易数据集合中各个第一交易数据的第一交易标识,对所述各个第一交易数据进行排序,获得第一排序结果;
按照所述第二交易数据集合中各个第二交易数据的第一交易标识,对所述各个第二交易数据进行排序,获得所述第二排序结果;
基于所述第一排序结果和所述第二排序结果,对所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
可选地,所述比对模块具体用于:
将所述第一交易数据集合中的各个第一交易数据进行分组,获得多个子交易数据集合;
针对每个子交易数据集合,按照子交易数据集合中各个第一交易数据的第一交易标识,对所述各个第一交易数据进行排序,获得所述子交易数据集合对应的子排序结果;
基于所述多个子交易数据集合各自对应的子排序结果,以及第一历史交易数据集合对应的历史排序结果,获得所述第一排序结果,所述第一历史交易数据集合包括所述联机系统中在历史比对时间点未比对成功的第一历史交易数据。
可选地,所述比对模块具体用于:
基于所述多个子交易数据集合各自对应的子排序结果,以及所述第一历史交易数据集合对应的历史排序结果,迭代从所述多个子交易数据集合和所述第一历史交易数据集合中选取第一交易标识最小的第一目标交易数据,并将所述第一目标交易数据添加到第一排序文件中,直到所述第一交易数据集合和所述第一历史交易数据集合中的交易数据全部添加至所述第一排序文件时结束;
基于各个第一目标交易数据的添加顺序,获得第一排序结果。
可选地,所述比对模块具体用于:
每次迭代过程包括以下步骤:
基于所述多个子交易数据集合各自对应的子排序结果,分别从所述多个子交易数据集合获取第一交易标识最小的第一交易数据;
基于所述第一历史交易数据集合对应的历史排序结果,从所述第一历史交易数据集合中获取第一交易标识最小的第一历史交易数据;
从获得的多个第一交易数据和一个第一历史交易数据中,确定第一交易标识最小的第一目标交易数据。
可选地,所述第一交易数据集合中的每个第一交易数据还包括第一交易内容,所述第二交易数据集合中的每个第二交易数据还包括第二交易内容;
所述比对模块具体用于:
从所述第一交易数据集合中获取上游指针指向的第一交易数据,其中,所述上游指针按照所述第一排序结果进行移动;
从所述第二交易数据集合中获取下游指针指向的第二交易数据,其中,所述下游指针按照所述第二排序结果进行移动;
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,且所述第一交易数据的第一交易内容与第二交易数据的第二交易内容相同,则输出所述第一交易数据与第二交易数据比对成功。
可选地,所述比对模块还用于:
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,所述第一交易数据的第一交易内容与第二交易数据的第二交易内容不相同,则输出所述第一交易数据至第一数据文件,输出所述第二交易数据至第二数据文件,所述第一数据文件用于保存所述联机系统中比对不成功的第一交易数据,所述第二数据文件用于保存所述下游系统中比对不成功的第二交易数据。
可选地,所述比对模块还用于:
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且所述第一交易数据的第一交易标识小于所述第二交易数据的第二交易标识,则输出所述第一交易数据至第一数据文件,调整所述上游指针指向下一个位置。
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且所述第一交易数据的第一交易标识大于等于所述第二交易数据的第二交易标识,输出所述第二交易数据至第二数据文件,调整所述下游指针指向下一个位置。
可选地,所述比对模块还用于:
若所述上游指针指向下一个位置没有对应的第一交易数据,则输出所述第二交易数据集合中未比对的第二交易数据至所述第二数据文件;
若所述下游指针指向下一个位置没有对应的第二交易数据,则输出所述第一交易数据集合中未比对的第一交易数据至所述第一数据文件。
一方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述数据比对方法的步骤。
一方面,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行上述数据比对方法的步骤。
在本申请实施例中,数据比对系统基于联机系统在目标比对时间点之前的预设时段内的交易数据量,预测目标比对时间点对应的数据转移延时,再基于数据转移延时,确定目标比对时间点对应的数据比对窗口。从联机系统中获取数据比对窗口内的第一交易数据集合,以及从下游系统中获取数据比对窗口内的第二交易数据集合。然后将第一交易数据集合和第二交易数据集合进行数据比对,获得目标比对时间点对应的数据比对结果。本申请中,数据比对窗口基于目标比对时间点和数据转移延时进行实时调整,再获取数据比对窗口内的交易数据,进行数据比对,而不是比对目标对比时间点之前的全部交易数据,因此,可以有效地缩短数据比对时间,实时、准确地确定联机系统和下游系统中不一致的交易数据。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种系统架构示意图;
图2为本申请实施例提供的一种数据比对方法的流程示意图;
图3为本申请实施例提供的一种预设时段的结构示意图;
图4为本申请实施例提供的一种数据比对窗口的结构示意图;
图5为本申请实施例提供的一种数据获取时间点的结构示意图;
图6为本申请实施例提供的一种概率密度函数示意图;
图7为本申请实施例提供的一种概率分布函数示意图;
图8为本申请实施例提供的一种对第一交易数据集合排序的流程示意图;
图9为本申请实施例提供的一种数据比对流程示意图;
图10为本申请实施例提供的一种数据比对装置的结构示意图;
图11为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参考图1,其为本申请实施例适用的一种系统架构图,该系统架构至少包括终端设备101、数据比对系统102、联机系统103和下游系统104。
终端设备101安装有用于数据比对的目标应用,该应用可以是预先安装的客户端、网页版应用或嵌入在其他应用中的小程序等。终端设备101可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。
数据比对系统102、联机系统103和下游系统104为目标应用的后台服务器,为目标应用提供服务。数据比对系统102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网路(Content DeliveryNetwork,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
联机系统103可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网路(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
下游系统104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网路(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端设备101与数据比对系统102可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。数据比对系统102与联机系统103可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。数据比对系统102与下游系统104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。联机系统103与下游系统104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
终端设备101响应用户的数据比对操作,发送数据比对指令至数据比对系统102。数据比对系统102接收数据比对指令,基于联机系统103在目标比对时间点的交易数据量,预测目标比对时间点对应的数据转移延时,再基于数据转移延时,确定目标比对时间点对应的数据比对窗口。从联机系统103中获取数据比对窗口内的第一交易数据集合,以及从下游系统104中获取数据比对窗口内的第二交易数据集合。最后,将第一交易数据集合和第二交易数据集合进行数据比对,获得目标比对时间点对应的数据比对结果。
基于图1所述的系统架构图,本申请实施例提供了一种数据比对方法的流程,如图2所示,该方法的流程由图1所示的数据比对系统102执行,包括以下步骤:
步骤S201,基于联机系统在目标比对时间点的交易数据量,预测目标比对时间点对应的数据转移延时。
具体地,目标比对时间点为当前时间点。目标比对时间点的交易数据量,即目标比对时间点对应的每秒处理的事务数。
一种可能的实施方式,查看联机系统的吞吐量(Transactions Per Second,TPS),在目标比对时间点所获取的联机系统的吞吐量作为目标比对时间点的交易数据量。
举例来说,目标比对时间点为10:00:10,确定10:00:10时联机系统的吞吐量为每秒200条交易数据,因此,10:00:10的交易数据量为200。
另一种可能的实施方式,确定预设时段,预设时段的时长可以在10s以内,预设时段的结束时间点为目标比对时间点。确定预设时段内,联机系统的交易数据量,将该交易数据量与预设时段的比值作为目标比对时间点的交易数据量。
举例来说,如图3所示,目标比对时间点为10:00:10,预设时段的时长为5s,预设时段为10:00:05-10:00:10(不包括时间点10:00:05,包括时间点10:00:10),确定时间段10:00:05-10:00:10内,联机系统的交易数据量为1000条,交易数据量1000与预设时段10s的比值为200。因此,10:00:10的交易数据量为200。
每条交易数据都对应的一个数据转移延时,交易数据的数据转移延时为交易数据写入下游系统的时间点与交易数据写入联机系统的时间点的差值。
获取在目标比对时间点的多条交易数据写入下游系统以及多条交易数据写入联机系统的各个时间点。在上述多条交易数据写入下游系统之前,可以先预测多条交易数据对应的数据转移延时。
在一种可能的实施方式中,由于预设时段的时长比较小,因此,可以不单独预测目标比对时间点的多个交易数据对应的多个数据转移延时,而是对于目标比对时间点的多个交易数据,预测一个数据转移延时,即通过目标比对时间点的交易数据量,预测目标比对时间点对应的数据转移延时。
具体地,目标比对时间点的交易数据量决定了交易数据的数据转移延时。目标比对时间点的交易数据越多,对应的数据转移延时就越大,否则,对应的数据转移延时就越小。
举例来说,目标比对时间点为10:00:10,设定10:00:10对应的交易数据量为200,通过交易数据量200确定10:00:10对应的数据转移延时为4s。
步骤S202,基于数据转移延时,确定目标比对时间点对应的数据比对窗口。
具体地,数据比对窗口的起始时间点为目标比对时间点,数据比对窗口的结束时间点为数据比对窗口的起始时间点与数据转移延时之和。
步骤S203,从联机系统中获取数据比对窗口内的第一交易数据集合,以及从下游系统中获取数据比对窗口内的第二交易数据集合。
举例来说,设定数据比对窗口为10:00:05-10:00:10(不包括时间点10:00:05,包括时间点10:00:10),从联机系统中获取10:00:05-10:00:10内产生的交易数据作为第一交易数据集合,从下游系统中获取10:00:05-10:00:10内产生的交易数据作为第二交易数据集合。
步骤S204,将第一交易数据集合和第二交易数据集合进行数据比对,获得目标比对时间点对应的数据比对结果。
具体地,针对第一交易数据集合中每个第一交易数据,若第二交易数据集合中没有与该第一交易数据匹配的第二交易数据,则确定该第一交易数据比对不成功。
针对第二交易数据集合中每个第二交易数据,若第一交易数据集合中没有与该第二交易数据匹配的第一交易数据,则确定该第二交易数据比对不成功。
基于数据转移延时和目标被比对时间点确定数据比对窗口之后,需要重新选择新目标比对时间点,并确定新目标比对时间点对应的数据比对窗口。新目标比对时间点为旧数据比对窗口的结束时间点。
具体地,在获得旧目标比对时间点对应的数据比对结果之后,从联机系统中获取新数据比对窗口内的第一交易数据集合,以及从下游系统中获取新数据比对窗口内的第二交易数据集合,并将第一交易数据集合和第二交易数据集合进行数据比对,获得新目标比对时间点对应的数据比对结果。
举例来说,如图4所示,设定第一目标比对时间点为10:00:05,对应的第一数据比对窗口为10:00:05-10:00:10(不包括时间点10:00:05,包括时间点10:00:10)。从联机系统中获取第一数据比对窗口内的第一交易数据集合,从下游系统中获取第一数据比对窗口内的第二交易数据集合,然后将第一交易数据集合和第二交易数据集合进行数据比对,获得数据比对结果。
第二目标比对时间点为第一数据比对窗口的结束时间点,即10:00:10,重新确定的第二目标比对时间点对应的第二数据比对窗口为10:00:10-10:00:18(不包括时间点10:00:10,包括时间点10:00:18)。从联机系统中获取第二数据比对窗口内的第一交易数据集合,从下游系统中获取第二数据比对窗口内的第二交易数据集合,然后将第一交易数据集合和第二交易数据集合进行数据比对,获得数据比对结果。
可选地,在数据获取时间点,从联机系统中获取数据比对窗口内的第一交易数据集合,从下游系统中获取数据比对窗口内的第二交易数据集合。
一种可能的实施方式,数据获取时间点可以由预设时长决定,即数据比对窗口的结束时间点与预设时长的和作为数据获取时间点。
举例来说,设定预设时长为60s。若第一数据比对窗口为10:00:05-10:00:10,第二数据比对窗口为10:00:10-10:00:18。第一数据比对窗口对应的数据获取时间点为10:01:10。因此,在10:01:10时刻,从联机系统中获取第一数据比对窗口内的第一交易数据集合,从下游系统中获取第一数据比对窗口内的第二交易数据集合。
第二数据比对窗口对应的数据获取时间点为10:01:18。因此,在10:01:18时刻,从联机系统中获取第二数据比对窗口内的第一交易数据集合,从下游系统中获取第二数据比对窗口内的第二交易数据集合。
另一种可能的实施方式,数据获取时间点可以根据数据比对窗口的大小动态调整,即数据比对窗口的结束时间点与当前数据比对窗口的时长的和作为数据获取时间点。
举例来说,如图5所示,若第一数据比对窗口为10:00:05-10:00:10,第二数据比对窗口为10:00:10-10:00:18。第一数据比对窗口的时长为5s,则第一数据比对窗口对应的数据获取时间点为10:00:15。因此,在10:00:15时刻,从联机系统中获取第一数据比对窗口内的第一交易数据集合,从下游系统中获取第一数据比对窗口内的第二交易数据集合。
第二数据比对窗口的时长为8s,则第二数据比对窗口对应的数据获取时间点为10:00:26。因此,在10:00:26时刻,从联机系统中获取第二数据比对窗口内的第一交易数据集合,从下游系统中获取第二数据比对窗口内的第二交易数据集合。
在本申请实施例中,数据比对系统基于联机系统在目标比对时间点之前的预设时段内的交易数据量,预测目标比对时间点对应的数据转移延时,再基于数据转移延时,确定目标比对时间点对应的数据比对窗口。从联机系统中获取数据比对窗口内的第一交易数据集合,以及从下游系统中获取数据比对窗口内的第二交易数据集合。然后将第一交易数据集合和第二交易数据集合进行数据比对,获得目标比对时间点对应的数据比对结果。本申请中,数据比对窗口基于目标比对时间点和数据转移延时进行实时调整,再获取数据比对窗口内的交易数据,进行数据比对,而不是比对目标对比时间点之前的全部交易数据,因此,可以有效地缩短数据比对时间,实时、准确地确定联机系统和下游系统中不一致的交易数据。
可选地,在上述步骤S201中,基于联机系统在目标比对时间点的交易数据量,以及目标比对时间点,预测目标比对时间点对应的数据转移延时。
具体地,基于联机系统在目标比对时间点的交易数据量,以及目标比对时间点,通过第一机器学习模型,确定目标比对时间点对应的数据转移延时。第一机器学习模型可以是LSTM模型,也可以是AR自回归模型。
本发明实施例提供了训练第一机器学习模型对应的数据预处理方法,该方法包括:
步骤S301,将历史交易数据按照目标比对时间点进行分组。
步骤S302,对各个分组中的历史交易数据进行统计,确定各个分组的交易数据量。
步骤S303,通过每组中各个交易数据进入联机系统时产生的第一记录时间,各个交易数据进入下游系统时产生的第二记录时间,确定各个交易数据的数据转移延时。
步骤S304,对每组中各个交易数据的数据转移延时求平均,确定各个组的数据转移平均延时。
步骤S305,将每个分组的交易数据量作为第一特征,将每个分组的目标比对时间点作为第二特征,将每个分组的数据转移平均延时作为标签值,由每个分组的第一特征、第二特征和标签值组成一条训练数据。
步骤S306,对训练数据进行数据清洗,去除离散点。
本发明实施例提供了调用第一机器学习模型的方法,该方法包括:
步骤S401,确定目标比对时间点的交易数据量,作为第一特征。
步骤S402,将目标比对时间点作为第二特征。
步骤S403,将第一特征和第二特征输入第一机器学习模型,获得目标比对时间点对应的数据转移延时。
本申请中,基于联机系统在目标比对时间点的交易数据量,以及目标比对时间点,通过第一机器学习模型,确定目标比对时间点对应的数据转移延时。当交易数据量的大小和目标比对时间点发生变化时,数据转移延时也会发生调整,因此可以根据交易数据的情况,实时调整数据转移延时。
可选地,在上述步骤S202中,基于多条历史交易数据各自对应的交易周期,确定交易状态迁移时长。基于数据转移延时和交易状态迁移时长,确定目标比对时间点对应的数据比对窗口。
具体地,基于多条历史交易数据各自对应的交易周期,确定交易状态迁移时长,包括以下步骤:
步骤S501,对多条历史交易数据各自对应的交易周期进行统计,获得多个交易周期分别对应的历史交易数据量。
具体地,一条交易数据包括多种交易状态,如交易产生、退款、交易结束等。
交易数据的交易周期,指交易结束的时间点与交易产生的时间点的差值。
举例来说,一条交易数据,交易产生的时间点为10:00:00,交易结束的时间点为10:00:20,则该条交易数据对应的交易周期为20s。
步骤S502,基于多个交易周期分别对应的历史交易数据量,确定多个交易周期对应的概率分布。
具体地,通过核密度估计(Kernel Density Estimates,KDE)估计多个交易周期对应的概率密度函数,再通过概率密度函数确定多个交易周期对应的概率分布。
核密度估计主要由核函数决定,常见的核函数有矩形核函数、Epanechnikov曲线核函数、高斯曲线核函数等。
在本申请中,采用高斯曲线核函数作为核密度估计的核函数,高斯曲线核函数满足公式(1):
其中,K(·)为高斯核函数,x为输入数据。
核密度估计为公式(2):
采用上述公式(2)可以确定每个交易周期对应的概率密度,然后基于多个交易周期对应的概率密度,确定多个交易周期对应的概率分布。
步骤S503,从多个交易周期对应的概率分布中,选取满足预设条件概率的对应的交易周期,作为交易状态迁移时长。
具体地,预设条件可以是概率大于等于预设阈值。当满足预设条件的概率为多个时,按照预设规则从中选取一个概率对应的交易周期,作为交易状态迁移时长,比如选取满足预设条件的最小概率对应的交易周期,作为交易状态迁移时长。
举例来说,图6为交易周期t对应的概率密度函数f(t)的示意图。图7为基于图6所示的概率密度函数f(t)确定的概率分布函数F(t)的示意图。
设定预设条件为概率大于等于0.99,由图7可知,概率分布中交易周期T对应的概率满足预设条件,且为满足预设条件的最小概率,则将交易周期为T确定为交易状态迁移时长。
可选地,基于数据转移延时和交易状态迁移时长,确定目标比对时间点对应的数据比对窗口,包括以下步骤:
若数据转移延时大于交易状态迁移时长,则以目标比对时间点为起点,以数据转移延时为窗口长度,确定目标比对时间点对应的数据比对窗口。
否则,则以目标比对时间点为起点,以交易状态迁移时长为窗口长度,确定目标比对时间点对应的数据比对窗口。
举例来说,目标比对时间点为10:00:00,数据转移延时为10s,交易状态迁移时长为13s。由于13s大于10s,因此,目标比对时间点对应的数据比对窗口的起点为10:00:00,终点为10:00:13,数据比对窗口大小为13s。
通过比较数据转移延时和交易状态迁移时长,能够更加准确地确定出合适的数据比对窗口长度,避免因数据比对窗口长度过小,导致数据比对次数太频繁带来的比对时间过长的问题,也避免出现因数据比对窗口长度过大,导致数据量太多带来的比对时间过长以及比对滞后的问题。
可选地,在上述步骤S204中,第一交易数据集合中的每个第一交易数据包括第一交易标识,第二交易数据集合中的每个第二交易数据包括第二交易标识。
按照第一交易数据集合中各个第一交易数据的第一交易标识,对各个第一交易数据进行排序,获得第一排序结果;按照第二交易数据集合中各个第二交易数据的第一交易标识,对各个第二交易数据进行排序,获得第二排序结果;基于第一排序结果和第二排序结果,对第一交易数据集合和第二交易数据集合进行数据比对,获得目标比对时间点对应的数据比对结果。
具体地,第一交易数据中包括第一交易标识和第一交易内容。每一条交易数据的第一交易标识均不相同,通过第一交易标识区分不同的第一交易数据。
第一交易标识可以是订单号,也可以是其他可以唯一标识第一交易数据的编号。
第一交易内容包括支付时间、交易状态、商品名称、收货地址等。
相应地,第二交易数据中包括第二交易标识和第二交易内容。每一条交易数据的第二交易标识均不相同,通过第二交易标识区分不同的第二交易数据。
一种可能的实施方式,基于第一交易数据集合中各个第一交易数据的第一交易标识,利用快速排序算法、冒泡排序算法、归并排序算法等,对各个第一交易数据进行排序,获得第一排序结果。
举例来说,第一交易数据集合为集合A,集合A中有2万条第一交易数据,将2万条第一交易数据读入内存,利用快速排序算法得到2万条第一交易数据的排序结果。
另一种可能的实施方式,按照第一交易数据集合中各个第一交易数据的第一交易标识,对各个第一交易数据进行排序,获得第一排序结果,包括以下步骤:
步骤S601,将第一交易数据集合中的各个第一交易数据进行分组,获得多个子交易数据集合。
步骤S602,针对每个子交易数据集合,按照子交易数据集合中各个第一交易数据的第一交易标识,对各个第一交易数据进行排序,获得子交易数据集合对应的子排序结果。
具体地,对各个子交易数据集合进行排序,可以选用冒泡排序算法,快速排序算法,归并排序算法等。
步骤S603,基于多个子交易数据集合各自对应的子排序结果,以及第一历史交易数据集合对应的历史排序结果,获得第一排序结果。
具体地,第一历史交易数据集合包括联机系统中在历史比对时间点未比对成功的第一历史交易数据。在目标比对时间点进行数据比对时,第一历史交易数据集合为前一个目标比对时间点进行数据比对时输出的。
具体实施中,基于多个子交易数据集合各自对应的子排序结果,以及第一历史交易数据集合对应的历史排序结果,迭代从多个子交易数据集合和第一历史交易数据集合中选取第一交易标识最小的第一目标交易数据,并将第一目标交易数据添加到第一排序文件中,直到第一交易数据集合和第一历史交易数据集合中的交易数据全部添加至第一排序文件时结束。然后基于各个第一目标交易数据的添加顺序,获得第一排序结果。
其中,每次迭代过程中,基于多个子交易数据集合各自对应的子排序结果,分别从多个子交易数据集合获取第一交易标识最小的第一交易数据。基于第一历史交易数据集合对应的历史排序结果,从第一历史交易数据集合中获取第一交易标识最小的第一历史交易数据。然后从获得的多个第一交易数据和一个第一历史交易数据中,确定第一交易标识最小的第一目标交易数据。
具体地,可以采用快速排序算法、冒泡排序算法、败者树算法等算法,确定第一交易标识最小的第一目标交易数据。
举例来说,如图8所示,从联机系统1中获取第一交易数据集合A,集合A中有2万条第一交易数据。从联机系统2中获取第二交易数据集合B,集合B中有3万条第一交易数据。按照集合A中第一交易数据的数据量,将集合A平均分成2组,即集合A1和集合A2,集合A1、集合A2中各有1万条第一交易数据。同理,将集合B平均分成3组,即集合B1、集合B2和集合B3,集合B1、集合B2、集合B3中各有1万条第一交易数据。采用冒泡排序算法,按照第一交易标识的大小,分别对集合A1、集合A2、集合B1、集合B2和集合B3中的第一交易数据进行排序,获得集合A1、集合A2、集合B1、集合B2和集合B3分别对应的子排序结果。
联机系统中在历史比对时间点未比对成功的第一历史交易数据集合为集合C。集合C中的第一历史交易数据为已经排序后的交易数据。
从集合A1中获取第一交易标识最小的第一交易数据a1、从集合A2中获取第一交易标识最小的第一交易数据a2、从集合B1中获取第一交易标识最小的第一交易数据b1、从集合B2中获取第一交易标识最小的第一交易数据b2、从集合B3中获取第一交易标识最小的第一交易数据b3、从集合C中获取第一交易标识最小的第一交易数据c。利用败者树算法,对第一交易数据a1、第一交易数据a2、第一交易数据b1、第一交易数据b2、第一交易数据b3、第一历史交易数据c进行排序,获得排序结果。若排序结果中,第一交易标识最小的第一交易数据为第一交易数据a1,则第一交易数据a1输出至第一排序文件。
进一步的,从集合A1中获取第一交易标识最小的第一交易数据a11,利用败者树算法,对第一交易数据a11、第一交易数据a2、第一交易数据b1、第一交易数据b2、第一交易数据b3、第一历史交易数据c进行排序,获得排序结果。若排序结果中,第一交易标识最小的第一交易数据为第一交易数据b1,则第一交易数据b1输出至第一排序文件。
依次类推,直到第一交易数据集合A、第一交易数据集合B和集合C中的交易数据全部添加至第一排序文件时结束。然后基于各个第一交易数据的添加顺序,获得第一排序结果。
可选地,在基于多个子交易数据集合各自对应的子排序结果,以及第一历史交易数据集合对应的历史排序结果,获得第一排序结果之后,对第一排序结果进行去重操作,获取去重后的第一排序结果。
具体地,若多条第一交易数据的第一交易标识相同,则从多条第一交易数据各自对应的第一交易内容中获取交易状态更新时间,保留交易状态更新时间最晚的第一交易数据。
举例来说,设定第一排序结果中有3条第一交易数据,分别为第一交易数据a1、第一交易数据b1、第一交易数据a2,其中,第一交易数据a1和第一交易数据a2的第一交易标识均为101,第一交易数据b1的第一交易标识为102。
若第一交易数据a1的交易状态为待支付,交易状态更新时间为10:00:00,第一交易数据a2的交易状态为已付款,交易状态更新时间为10:00:40,则删除第一交易数据a1。
去重后的第一排序结果包括第一交易数据b1、第一交易数据a2。
需要说明的是,按照第二交易数据集合中各个第二交易数据的第二交易标识,对各个第二交易数据进行排序,获得第二排序结果的过程,与获得第一排序结果的过程相同;对第二排序结果进行去重操作,与对第一排序结果进行去重操作的过程相同,在此不做赘述。
本申请中,将第一交易数据进行分组,获得多个子交易数据集合,然后分别从多个子交易数据集合获取第一交易标识最小的第一交易数据,以及从第一历史交易数据集合中获取第一交易标识最小的第一历史交易数据,然后基于第一交易标识对获取的交易数据进行比对,有效地解决了内存空间有限的问题。同时,在进行数据比较时,采用败者树算法,加快了比较的速度,有效降低了数据对比的时间。
可选地,在上述步骤S204,第一交易数据集合中的每个第一交易数据还包括第一交易内容,第二交易数据集合中的每个第二交易数据还包括第二交易内容。
基于第一排序结果和第二排序结果,对第一交易数据集合和第二交易数据集合进行数据比对,获得目标比对时间点对应的数据比对结果,包括以下步骤:
从第一交易数据集合中获取上游指针指向的第一交易数据,其中,上游指针按照第一排序结果进行移动。从第二交易数据集合中获取下游指针指向的第二交易数据,其中,下游指针按照第二排序结果进行移动。
若第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,且第一交易数据的第一交易内容与第二交易数据的第二交易内容相同,则输出第一交易数据与第二交易数据比对成功。
具体地,在初始化时,设置上游指针指向第一交易数据集合中第一个交易数据,下游指针指向第二交易数据集合中第一个交易数据。并判断上游指针指向的位置是否存在对应的第一交易数据,下游指针指向的位置是否存在对应的第二交易数据,若存在,则进行数据比对。在比对成功后,调整上游指针指向下一个位置,调整下游指针指向下一个位置。
在进行比对时,可以比较第一交易内容和第二交易内容,判断第一交易数据和第二交易数据是否相同。也可以先将第一交易内容和第二交易内容分别进行加密,比较加密后的第一交易内容和加密后的第二交易内容,判断第一交易数据和第二交易数据是否相同。加密方法可以是md5算法、sha256算法等。
在一种可能的实施方式中,若第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,第一交易数据的第一交易内容与第二交易数据的第二交易内容不相同,则输出第一交易数据至第一数据文件,输出第二交易数据至第二数据文件,同时调整上游指针指向下一个位置,调整下游指针指向下一个位置。
具体地,第一数据文件用于保存联机系统中比对不成功的第一交易数据,第二数据文件用于保存下游系统中比对不成功的第二交易数据。
在一种可能的实施方式中,若第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且第一交易数据的第一交易标识小于第二交易数据的第二交易标识,则输出第一交易数据至第一数据文件,调整上游指针指向下一个位置。
若第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且第一交易数据的第一交易标识大于等于第二交易数据的第二交易标识,输出第二交易数据至第二数据文件,调整下游指针指向下一个位置。
在前文描述的任意一种数据比对的实施方式的前提下,若上游指针指向下一个位置没有对应的第一交易数据,则输出第二交易数据集合中未比对的第二交易数据至第二数据文件。若下游指针指向下一个位置没有对应的第二交易数据,则输出第一交易数据集合中未比对的第一交易数据至第一数据文件。
举例来说,如图9所示,第一交易数据集合为集合A,第二交易数据集合为集合B。
步骤S901,设置上游指针指向集合A中第一个交易数据。
步骤S902,设置下游指针指向集合B中第一个交易数据。
步骤S903,判断上游指针指向的位置是否存在第一交易数据,若是,则执行步骤S905;否则,执行步骤S904。
步骤S904,输出集合B中未比对的第二交易数据至第二数据文件,并结束。
步骤S905,判断下游指针指向的位置是否存在第二交易数据,若是,则执行步骤S907;否则,执行步骤S906。
步骤S906,输出集合A中未比对的第一交易数据至第一数据文件,并结束。
步骤S907,从集合A中获取上游指针指向的第一交易数据i。
步骤S908,从集合B中获取下游指针指向的第二交易数据j。
步骤S909,判断第一交易数据i的第一交易标识是否等于第二交易数据j的第二交易标识,若是,则执行步骤S910;否则,执行步骤S913。
步骤S910,判断第一交易数据i的第一交易内容是否等于第二交易数据j的第二交易内容,若是,则执行步骤S912;否则,则执行步骤S911。
步骤S911,输出第一交易数据i至第一数据文件,输出第二交易数据j至第二数据文件。
步骤S912,上游指针指向下一个位置,下游指针指向下一个位置。
步骤S913,判断第一交易数据i的第一交易标识是否小于第二交易数据j的第二交易标识,若是,则执行步骤S916;否则,执行步骤S914。
步骤S914,输出第二交易数据j至第二数据文件。
步骤S915,下游指针指向下一个位置。
步骤S916,输出第一交易数据i至第一数据文件。
步骤S917,上游指针指向下一个位置。
本申请中,通过在第一交易数据集合中设置上游指针,在第二交易数据集合中设置下游指针,通过上游指针和下游指针的移动,分别获取第一交易数据和第二交易数据进行比对,可以有效提高数据比对的速度,同时避免数据遗漏。
基于相同的技术构思,本申请实施例提供了一种数据比对装置,如图10所示,该装置1000包括:
预测模块1001,用于基于联机系统在目标比对时间点的交易数据量,预测所述目标比对时间点对应的数据转移延时;
执行模块1002,用于基于所述数据转移延时,确定所述目标比对时间点对应的数据比对窗口;
获取模块1003,用于从所述联机系统中获取所述数据比对窗口内的第一交易数据集合,以及从下游系统中获取所述数据比对窗口内的第二交易数据集合;
比对模块1004,用于将所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
可选地,所述预测模块1001具体用于:
基于联机系统在所述目标比对时间点的交易数据量,以及所述目标比对时间点,预测所述目标比对时间点对应的数据转移延时。
可选地,所述执行模块1002具体用于:
基于多条历史交易数据各自对应的交易周期,确定交易状态迁移时长;
基于所述数据转移延时和交易状态迁移时长,确定所述目标比对时间点对应的数据比对窗口。
可选地,所述执行模块1002具体用于:
对多条历史交易数据各自对应的交易周期进行统计,获得多个交易周期分别对应的历史交易数据量;
基于所述多个交易周期分别对应的历史交易数据量,确定所述多个交易周期对应的概率分布;
从所述多个交易周期对应的概率分布中,选取满足预设条件的概率对应的交易周期,作为交易状态迁移时长。
可选地,所述执行模块1002具体用于:
若所述数据转移延时大于所述交易状态迁移时长,则以所述目标比对时间点为起点,以所述数据转移延时为窗口长度,确定所述目标比对时间点对应的数据比对窗口;
否则,则以所述目标比对时间点为起点,以所述交易状态迁移时长为窗口长度,确定所述目标比对时间点对应的数据比对窗口。
可选地,所述第一交易数据集合中的每个第一交易数据包括第一交易标识,所述第二交易数据集合中的每个第二交易数据包括第二交易标识;
所述比对模块1004具体用于:
按照所述第一交易数据集合中各个第一交易数据的第一交易标识,对所述各个第一交易数据进行排序,获得第一排序结果;
按照所述第二交易数据集合中各个第二交易数据的第一交易标识,对所述各个第二交易数据进行排序,获得所述第二排序结果;
基于所述第一排序结果和所述第二排序结果,对所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
可选地,所述比对模块1004具体用于:
将所述第一交易数据集合中的各个第一交易数据进行分组,获得多个子交易数据集合;
针对每个子交易数据集合,按照子交易数据集合中各个第一交易数据的第一交易标识,对所述各个第一交易数据进行排序,获得所述子交易数据集合对应的子排序结果;
基于所述多个子交易数据集合各自对应的子排序结果,以及第一历史交易数据集合对应的历史排序结果,获得所述第一排序结果,所述第一历史交易数据集合包括所述联机系统中在历史比对时间点未比对成功的第一历史交易数据。
可选地,所述比对模块1004具体用于:
基于所述多个子交易数据集合各自对应的子排序结果,以及所述第一历史交易数据集合对应的历史排序结果,迭代从所述多个子交易数据集合和所述第一历史交易数据集合中选取第一交易标识最小的第一目标交易数据,并将所述第一目标交易数据添加到第一排序文件中,直到所述第一交易数据集合和所述第一历史交易数据集合中的交易数据全部添加至所述第一排序文件时结束;
基于各个第一目标交易数据的添加顺序,获得第一排序结果。
可选地,所述比对模块1004具体用于:
每次迭代过程包括以下步骤:
基于所述多个子交易数据集合各自对应的子排序结果,分别从所述多个子交易数据集合获取第一交易标识最小的第一交易数据;
基于所述第一历史交易数据集合对应的历史排序结果,从所述第一历史交易数据集合中获取第一交易标识最小的第一历史交易数据;
从获得的多个第一交易数据和一个第一历史交易数据中,确定第一交易标识最小的第一目标交易数据。
可选地,所述第一交易数据集合中的每个第一交易数据还包括第一交易内容,所述第二交易数据集合中的每个第二交易数据还包括第二交易内容;
所述比对模块1004具体用于:
从所述第一交易数据集合中获取上游指针指向的第一交易数据,其中,所述上游指针按照所述第一排序结果进行移动;
从所述第二交易数据集合中获取下游指针指向的第二交易数据,其中,所述下游指针按照所述第二排序结果进行移动;
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,且所述第一交易数据的第一交易内容与第二交易数据的第二交易内容相同,则输出所述第一交易数据与第二交易数据比对成功。
可选地,所述比对模块1004还用于:
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,所述第一交易数据的第一交易内容与第二交易数据的第二交易内容不相同,则输出所述第一交易数据至第一数据文件,输出所述第二交易数据至第二数据文件,所述第一数据文件用于保存所述联机系统中比对不成功的第一交易数据,所述第二数据文件用于保存所述下游系统中比对不成功的第二交易数据。
可选地,所述比对模块1004还用于:
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且所述第一交易数据的第一交易标识小于所述第二交易数据的第二交易标识,则输出所述第一交易数据至第一数据文件,调整所述上游指针指向下一个位置。
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且所述第一交易数据的第一交易标识大于等于所述第二交易数据的第二交易标识,输出所述第二交易数据至第二数据文件,调整所述下游指针指向下一个位置。
可选地,所述比对模块1004还用于:
若所述上游指针指向下一个位置没有对应的第一交易数据,则输出所述第二交易数据集合中未比对的第二交易数据至所述第二数据文件;
若所述下游指针指向下一个位置没有对应的第二交易数据,则输出所述第一交易数据集合中未比对的第一交易数据至所述第一数据文件。
基于相同的技术构思,本申请实施例提供了一种计算机设备,计算机设备可以是终端或服务器,如图11所示,包括至少一个处理器1101,以及与至少一个处理器连接的存储器1102,本申请实施例中不限定处理器1101与存储器1102之间的具体连接介质,图11中处理器1101和存储器1102之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本申请实施例中,存储器1102存储有可被至少一个处理器1101执行的指令,至少一个处理器1101通过执行存储器1102存储的指令,可以执行上述数据比对方法中所包括的步骤。
其中,处理器1101是计算机设备的控制中心,可以利用各种接口和线路连接计算机设备的各个部分,通过运行或执行存储在存储器1102内的指令以及调用存储在存储器1102内的数据,从而进行数据比对。可选的,处理器1101可包括一个或多个处理单元,处理器1101可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1101中。在一些实施例中,处理器1101和存储器1102可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器1101可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器1102作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器1102可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器1102是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器1102还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本申请实施例提供了一种计算机可读存储介质,其存储有可由计算机设备执行的计算机程序,当程序在计算机设备上运行时,使得计算机设备执行上述数据比对方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种数据比对方法,其特征在于,包括:
基于联机系统在目标比对时间点的交易数据量,预测所述目标比对时间点对应的数据转移延时;
基于所述数据转移延时,确定所述目标比对时间点对应的数据比对窗口;
从所述联机系统中获取所述数据比对窗口内的第一交易数据集合,以及从下游系统中获取所述数据比对窗口内的第二交易数据集合;
将所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
2.如权利要求1所述的方法,其特征在于,所述基于联机系统在目标比对时间点的交易数据量,预测所述目标比对时间点对应的数据转移延时,包括:
基于联机系统在所述目标比对时间点的交易数据量,以及所述目标比对时间点,预测所述目标比对时间点对应的数据转移延时。
3.如权利要求1所述的方法,其特征在于,所述基于所述数据转移延时,确定所述目标比对时间点对应的数据比对窗口,包括:
基于多条历史交易数据各自对应的交易周期,确定交易状态迁移时长;
基于所述数据转移延时和交易状态迁移时长,确定所述目标比对时间点对应的数据比对窗口。
4.如权利要求3所述的方法,其特征在于,所述基于多条历史交易数据分别对应的交易周期,确定交易状态迁移时长,包括:
对多条历史交易数据各自对应的交易周期进行统计,获得多个交易周期分别对应的历史交易数据量;
基于所述多个交易周期分别对应的历史交易数据量,确定所述多个交易周期对应的概率分布;
从所述多个交易周期对应的概率分布中,选取满足预设条件的概率对应的交易周期,作为交易状态迁移时长。
5.如权利要求3所述的方法,其特征在于,所述基于所述数据转移延时和交易状态迁移时长,确定所述目标比对时间点对应的数据比对窗口,包括:
若所述数据转移延时大于所述交易状态迁移时长,则以所述目标比对时间点为起点,以所述数据转移延时为窗口长度,确定所述目标比对时间点对应的数据比对窗口;
否则,则以所述目标比对时间点为起点,以所述交易状态迁移时长为窗口长度,确定所述目标比对时间点对应的数据比对窗口。
6.如权利要求1所述的方法,其特征在于,所述第一交易数据集合中的每个第一交易数据包括第一交易标识,所述第二交易数据集合中的每个第二交易数据包括第二交易标识;
所述将所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果,包括:
按照所述第一交易数据集合中各个第一交易数据的第一交易标识,对所述各个第一交易数据进行排序,获得第一排序结果;
按照所述第二交易数据集合中各个第二交易数据的第一交易标识,对所述各个第二交易数据进行排序,获得所述第二排序结果;
基于所述第一排序结果和所述第二排序结果,对所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
7.如权利要求6所述的方法,其特征在于,所述按照所述第一交易数据集合中各个第一交易数据的第一交易标识,对所述各个第一交易数据进行排序,获得第一排序结果,包括:
将所述第一交易数据集合中的各个第一交易数据进行分组,获得多个子交易数据集合;
针对每个子交易数据集合,按照子交易数据集合中各个第一交易数据的第一交易标识,对所述各个第一交易数据进行排序,获得所述子交易数据集合对应的子排序结果;
基于所述多个子交易数据集合各自对应的子排序结果,以及第一历史交易数据集合对应的历史排序结果,获得所述第一排序结果,所述第一历史交易数据集合包括所述联机系统中在历史比对时间点未比对成功的第一历史交易数据。
8.如权利要求7所述的方法,其特征在于,所述基于所述多个子交易数据集合各自对应的子排序结果,以及第一历史交易数据集合对应的历史排序结果,获得所述第一排序结果,包括:
基于所述多个子交易数据集合各自对应的子排序结果,以及所述第一历史交易数据集合对应的历史排序结果,迭代从所述多个子交易数据集合和所述第一历史交易数据集合中选取第一交易标识最小的第一目标交易数据,并将所述第一目标交易数据添加到第一排序文件中,直到所述第一交易数据集合和所述第一历史交易数据集合中的交易数据全部添加至所述第一排序文件时结束;
基于各个第一目标交易数据的添加顺序,获得第一排序结果。
9.如权利要求8所述的方法,其特征在于,每次从所述多个子交易数据集合和所述第一历史交易数据集合中选取第一交易标识最小的第一目标交易数据的过程包括以下步骤:
基于所述多个子交易数据集合各自对应的子排序结果,分别从所述多个子交易数据集合获取第一交易标识最小的第一交易数据;
基于所述第一历史交易数据集合对应的历史排序结果,从所述第一历史交易数据集合中获取第一交易标识最小的第一历史交易数据;
从获得的多个第一交易数据和一个第一历史交易数据中,确定第一交易标识最小的第一目标交易数据。
10.如权利要求6所述的方法,其特征在于,所述第一交易数据集合中的每个第一交易数据还包括第一交易内容,所述第二交易数据集合中的每个第二交易数据还包括第二交易内容;
所述基于所述第一排序结果和所述第二排序结果,对所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果,包括:
从所述第一交易数据集合中获取上游指针指向的第一交易数据,其中,所述上游指针按照所述第一排序结果进行移动;
从所述第二交易数据集合中获取下游指针指向的第二交易数据,其中,所述下游指针按照所述第二排序结果进行移动;
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,且所述第一交易数据的第一交易内容与第二交易数据的第二交易内容相同,则输出所述第一交易数据与第二交易数据比对成功。
11.如权利要求10所述的方法,其特征在于,还包括:
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识相同,所述第一交易数据的第一交易内容与第二交易数据的第二交易内容不相同,则输出所述第一交易数据至第一数据文件,输出所述第二交易数据至第二数据文件,所述第一数据文件用于保存所述联机系统中比对不成功的第一交易数据,所述第二数据文件用于保存所述下游系统中比对不成功的第二交易数据。
12.如权利要求10所述的方法,其特征在于,还包括:
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且所述第一交易数据的第一交易标识小于所述第二交易数据的第二交易标识,则输出所述第一交易数据至第一数据文件,调整所述上游指针指向下一个位置;
若所述第一交易数据的第一交易标识与第二交易数据的第二交易标识不相同,且所述第一交易数据的第一交易标识大于等于所述第二交易数据的第二交易标识,输出所述第二交易数据至第二数据文件,调整所述下游指针指向下一个位置。
13.如权利要求12所述的方法,其特征在于,还包括:
若所述上游指针指向下一个位置没有对应的第一交易数据,则输出所述第二交易数据集合中未比对的第二交易数据至所述第二数据文件;
若所述下游指针指向下一个位置没有对应的第二交易数据,则输出所述第一交易数据集合中未比对的第一交易数据至所述第一数据文件。
14.一种数据比对装置,其特征在于,包括:
预测模块,用于基于联机系统在目标比对时间点的交易数据量,预测所述目标比对时间点对应的数据转移延时;
执行模块,用于基于所述数据转移延时,确定所述目标比对时间点对应的数据比对窗口;
获取模块,用于从所述联机系统中获取所述数据比对窗口内的第一交易数据集合,以及从下游系统中获取所述数据比对窗口内的第二交易数据集合;
比对模块,用于将所述第一交易数据集合和所述第二交易数据集合进行数据比对,获得所述目标比对时间点对应的数据比对结果。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1~13任一权利要求所述方法的步骤。
16.一种计算机可读存储介质,其特征在于,其存储有可由计算机设备执行的计算机程序,当所述程序在计算机设备上运行时,使得所述计算机设备执行权利要求1~13任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047346.3A CN113837878B (zh) | 2021-09-07 | 2021-09-07 | 一种数据比对方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111047346.3A CN113837878B (zh) | 2021-09-07 | 2021-09-07 | 一种数据比对方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113837878A true CN113837878A (zh) | 2021-12-24 |
CN113837878B CN113837878B (zh) | 2024-05-03 |
Family
ID=78958634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111047346.3A Active CN113837878B (zh) | 2021-09-07 | 2021-09-07 | 一种数据比对方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113837878B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024036829A1 (zh) * | 2022-08-19 | 2024-02-22 | 中国银联股份有限公司 | 一种数据融合方法、装置、设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065898A1 (en) * | 2001-09-08 | 2003-04-03 | Flamma Bruce M. | System for managing object storage and retrieval in partitioned storage media |
CN103391311A (zh) * | 2013-06-24 | 2013-11-13 | 北京奇虎科技有限公司 | 一种多平台之间数据一致性校验的方法和系统 |
CN106407190A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN110175165A (zh) * | 2019-04-16 | 2019-08-27 | 平安普惠企业管理有限公司 | 交易对账方法、装置、计算机设备及存储介质 |
CN110223153A (zh) * | 2019-04-17 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 对账方法、装置、电子设备及存储介质 |
CN110390586A (zh) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | 对账方法、装置和服务器 |
CN111325617A (zh) * | 2020-01-22 | 2020-06-23 | 北京开科唯识技术有限公司 | 基于文件的对账方法、装置、计算机设备和可读存储介质 |
CN112785408A (zh) * | 2021-02-26 | 2021-05-11 | 中国工商银行股份有限公司 | 基于哈希的对账方法及装置 |
CN113342750A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 一种文件的数据比对方法、装置、设备及存储介质 |
-
2021
- 2021-09-07 CN CN202111047346.3A patent/CN113837878B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030065898A1 (en) * | 2001-09-08 | 2003-04-03 | Flamma Bruce M. | System for managing object storage and retrieval in partitioned storage media |
CN103391311A (zh) * | 2013-06-24 | 2013-11-13 | 北京奇虎科技有限公司 | 一种多平台之间数据一致性校验的方法和系统 |
CN106407190A (zh) * | 2015-07-27 | 2017-02-15 | 阿里巴巴集团控股有限公司 | 一种事件记录查询方法及装置 |
CN110175165A (zh) * | 2019-04-16 | 2019-08-27 | 平安普惠企业管理有限公司 | 交易对账方法、装置、计算机设备及存储介质 |
CN110223153A (zh) * | 2019-04-17 | 2019-09-10 | 深圳壹账通智能科技有限公司 | 对账方法、装置、电子设备及存储介质 |
CN110390586A (zh) * | 2019-07-23 | 2019-10-29 | 中国工商银行股份有限公司 | 对账方法、装置和服务器 |
CN111325617A (zh) * | 2020-01-22 | 2020-06-23 | 北京开科唯识技术有限公司 | 基于文件的对账方法、装置、计算机设备和可读存储介质 |
CN112785408A (zh) * | 2021-02-26 | 2021-05-11 | 中国工商银行股份有限公司 | 基于哈希的对账方法及装置 |
CN113342750A (zh) * | 2021-06-29 | 2021-09-03 | 深圳前海微众银行股份有限公司 | 一种文件的数据比对方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
于兴平;李洪建;于腾飞;毕卫红;: "分布式系统数据时序更新方法", 软件工程, no. 05 * |
王昌琪;: "基于滑动时间窗口的金融反欺诈检测应用", 电脑与电信, no. 12 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024036829A1 (zh) * | 2022-08-19 | 2024-02-22 | 中国银联股份有限公司 | 一种数据融合方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113837878B (zh) | 2024-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116303459A (zh) | 处理数据表的方法及系统 | |
CN111401940A (zh) | 特征预测方法、装置、电子设备及存储介质 | |
CN111611390B (zh) | 一种数据处理方法及装置 | |
CN113837878B (zh) | 一种数据比对方法、装置、设备及存储介质 | |
WO2023024408A1 (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN111198961A (zh) | 商品搜索方法、装置及服务器 | |
CN111667018B (zh) | 一种对象聚类的方法、装置、计算机可读介质及电子设备 | |
CN112989182A (zh) | 信息处理方法、装置、信息处理设备及存储介质 | |
CN110213239B (zh) | 可疑交易报文生成方法、装置及服务器 | |
CN109446054B (zh) | 基于大数据的越权操作请求的处理方法及终端设备 | |
CN111598638A (zh) | 点击率确定方法、装置及设备 | |
CN116187422A (zh) | 神经网络的参数更新方法及相关设备 | |
CN116433369A (zh) | 一种校验方法及装置 | |
CN115660817A (zh) | 一种分类模型训练方法及装置 | |
CN110555182A (zh) | 用户画像的确定方法、装置及计算机可读存储介质 | |
CN111488490A (zh) | 视频聚类方法、装置、服务器及存储介质 | |
CN114661936B (zh) | 一种应用于工业视觉中的图像检索的方法及电子设备 | |
CN113837183B (zh) | 基于实时挖掘的多阶段凭证智能生成方法、系统及介质 | |
WO2024119937A1 (zh) | 一种图像检索的方法、系统以及装置 | |
CN114155049B (zh) | 一种确定目标对象的方法和装置 | |
CN113807923B (zh) | 一种订单处理方法、装置、电子设备及可读存储介质 | |
CN115640336B (zh) | 业务大数据挖掘方法、系统及云平台 | |
CN114706926A (zh) | 一种交易办理方法、装置、设备及介质 | |
CN114241243A (zh) | 图像分类模型的训练方法、装置、电子设备和存储介质 | |
WO2023086022A2 (en) | System and method for early fake account detection |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |