CN113360210A - 数据对账方法、装置、计算机设备和存储介质 - Google Patents
数据对账方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113360210A CN113360210A CN202110679776.0A CN202110679776A CN113360210A CN 113360210 A CN113360210 A CN 113360210A CN 202110679776 A CN202110679776 A CN 202110679776A CN 113360210 A CN113360210 A CN 113360210A
- Authority
- CN
- China
- Prior art keywords
- target
- event
- plug
- reconciliation
- identification
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- 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/12—Accounting
Abstract
本申请涉及一种数据对账方法、装置、计算机设备和存储介质。所述方法包括:获取待进行对账的目标对账事件;获取所述目标对账事件所对应的目标事件源标识,确定所述目标事件源标识所对应的目标插件标识集合;从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识;将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果。采用本方法能够提高数据对账效率。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种数据对账方法、装置、计算机设备和存储介质。
背景技术
随着互联网技术的发展,越来越多的用户在互联网平台进行交易,例如网上购买保险产品等,因此产生了大量的数据。互联网平台需要对这些数据进行对账,以保证数据的准确性。
传统技术中,通常是每隔预设时长进行一次对账,对账系统可以获取需要对账的数据进行处理,得到对账结果,然而,目前的对账系统存在对账效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够数据对账方法、装置、计算机设备和存储介质。
一种数据对账方法,所述方法包括:获取待进行对账的目标对账事件;获取所述目标对账事件所对应的目标事件源标识,确定所述目标事件源标识所对应的目标插件标识集合;从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识;将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果。
一种数据对账装置,所述装置包括:目标对账事件获取模块,用于获取待进行对账的目标对账事件;目标插件标识集合确定模块,用于获取所述目标对账事件所对应的目标事件源标识,确定所述目标事件源标识所对应的目标插件标识集合;目标插件标识确定模块,用于从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识;数据对账模块,用于将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果。
在一些实施例中,所述装置还包括:目标对账插件获取模块,用于获取配置的所述目标对账插件;目标事件源标识提取模块,用于从所述目标对账插件中提取所述目标对账插件所对应的目标事件源标识;标识加入模块,用于获取所述目标对账插件对应的目标插件标识,将所述目标插件标识加入至所述目标事件源标识对应的所述目标插件标识集合中。
在一些实施例中,所述装置还包括:事件订阅请求发送模块,用于向所述目标事件源标识所对应的事件发布服务器发送事件订阅请求,所述事件订阅请求携带所述目标事件源标识以及本端对应的订阅端标识,以使得所述事件发布服务器建立所述目标事件源标识与所述订阅端标识之间的对应关系;所述目标对账事件获取模块用于:接收所述事件发布服务器发送的待进行对账的所述目标对账事件;其中,所述事件发布服务器检测到所述目标对账事件时,获取所述目标对账事件所对应的目标事件源标识,基于所述对应关系确定所述订阅端标识,向所述订阅端标识对应的本端发送所述目标对账事件。
在一些实施例中,所述事件订阅请求发送模块用于:获取配置的所述目标对账插件;从所述目标对账插件中提取所述目标对账插件所对应的目标事件源标识;当确定所述目标事件源标识为新配置的事件源标识时,向所述目标事件源标识所对应的事件发布服务器发送事件订阅请求。
在一些实施例中,所述目标插件标识确定模块用于:基于所述目标插件标识集合中的插件标识所对应的对账优先级,从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识。
在一些实施例中,所述目标对账事件获取模块用于:从对账事件队列中获取待进行对账的目标对账事件;所述目标插件标识确定模块用于:从所述目标插件标识集合中,获取对账插件为空闲的插件标识,作为候选插件标识,组成候选插件标识集合;从所述候选插件标识集合中,选取对账优先级最高的候选插件标识,作为所述目标对账事件所对应的目标插件标识。
在一些实施例中,所述目标对账事件包含数据对象标识,所述数据对账模块用于:将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,所述目标对账插件触发执行事件过滤表达式;当所述事件过滤表达式执行成功时,所述目标对账插件对所述数据对象标识对应的数据进行数据对账,得到对账结果。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现以下步骤:获取待进行对账的目标对账事件;获取所述目标对账事件所对应的目标事件源标识,确定所述目标事件源标识所对应的目标插件标识集合;从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识;将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:获取待进行对账的目标对账事件;获取所述目标对账事件所对应的目标事件源标识,确定所述目标事件源标识所对应的目标插件标识集合;从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识;将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果。
上述数据对账方法、装置、计算机设备和存储介质,获取待进行对账的目标对账事件;获取目标对账事件所对应的目标事件源标识,确定目标事件源标识所对应的目标插件标识集合;从目标插件标识集合中,确定目标对账事件所对应的目标插件标识;将目标对账事件分配至目标插件标识所对应的目标对账插件中,以通过目标对账插件对目标对账事件所对应的数据进行对账,得到对账结果。由于数据对账是基于事件驱动的,且可以基于目标对账事件所对应的目标事件源标识将该目标对账事件分配给对应的插件进行对账处理,因此能够提高数据对账的效率。
附图说明
图1为一个实施例中数据对账方法的应用环境图;
图2为一个实施例中数据对账方法的流程示意图;
图3为一个实施例中数据对账方法的流程示意图;
图4为一个实施例中数据对账方法的流程示意图;
图5为一个实施例中插件对账平台的对账原理示意图;
图6为一个实施例中保险数据进行对账的时序图;
图7为一个实施例中数据对账装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据对账方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。终端102可以与服务器104进行交互,从而产生交易相关的数据,例如保单数据。服务器104基于交易行为触发目标对账事件,并执行本申请实施例提供的数据对账方法,对保单数据进行数据对账,得到对账结果。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。例如,服务器104可以包括交易服务器以及对账服务器。可以利用交易服务器与终端102进行交互,交易服务器基于保单数据生成目标对账事件,将目标对账事件发送给对账服务器进行数据对账,得到对账结果。
在一个实施例中,如图2所示,提供了一种数据对账方法,以该方法应用于图1中的服务器104为例进行说明,包括以下步骤:
步骤S202,获取待进行对账的目标对账事件。
其中,目标对账事件是需要进行对账的事件。目标对账事件中可以携带事件标识、事件源标识以及需要对账的数据对象标识。
事件标识用于标识该目标对账事件,可以是根据目标对账事件的事件触发时间生成的,例如可以按照事件触发时间的先后顺序生成事件标识,在目标对账事件的前一个对账事件的标识的基础上加1,得到目标对账事件的事件标识。
事件源标识用于标识该事件的来源,事件的来源可以根据需要进行划分。例如可以基于事件的类型进行划分或者基于对账事件所对应的数据源的至少一个进行划分。举个例子,对账事件的类型可以分为清算事件类型以及结算事件类型。对账数据所对应的数据源可以分为保单数据源、支付数据源以及账户数据源。保单数据源是指该数据是来源于保单数据的,是基于保单数据触发的对账事件。支付数据源是指对账事件的数据是来源于支付数据的,当一个用户在互联网平台进行了支付,则触发对账事件。账户数据源是指该数据是来源于账户数据的,是基于账户数据触发的对账事件,例如当账户中的金额发生了变更,触发对账事件。因此事件源可以分为保单事件源、支付事件源以及账户事件源。
数据对象标识用于标识所要进行对账的数据,例如可以是保单标识,这样服务器可以基于保单标识确定要进行对账的保单数据。
目标对账事件是基于事件触发的,当符合事件触发条件时,则触发目标对账事件。例如当账户中的金额发生了变更或者当产生了新的保单时,则可以触发目标对账事件。通过基于事件驱动进行对账,能保证及时的检查变更数据以及变更数据的逻辑准确性。
具体地,对账事件可以是按照时间的产生顺序,依次加入到事件队列中的,服务器可以从事件队列中,获取目标对账事件。
步骤S204,获取目标对账事件所对应的目标事件源标识,确定目标事件源标识所对应的目标插件标识集合。
具体地,目标插件标识集合可以包括一个或者多个插件标识,插件标识用于标识插件,其中多个是指至少两个。插件(Plug-in)是遵循一定规范的应用程序接口编写出来的程序,对账插件是用于进行对账的插件,包括对应的对账逻辑,可以独立的进行对账,得到对账结果。目标插件标识集合可以是预先配置的。目标事件源标识是标识目标对账事件所对应的目标事件源的标识。服务器中预先设置了事件源标识与插件标识集合的对应关系,服务器可以根据该对应关系以及目标事件源标识,确定目标事件源标识所对应的目标插件标识集合。
举个例子,事件源有多个。对于每个事件源,服务器可以记录该事件源标识所对应的插件列表。即每个事件源所对应的插件列表是不同的,因此当得到目标对账事件时,服务器可以从目标对账事件中提取得到目标事件源标识,获取该目标事件源标识所对应的插件列表。
步骤S206,从目标插件标识集合中,确定目标对账事件所对应的目标插件标识。
具体地,当目标插件标识集合中只有一个插件标识时,则将该插件标识作为目标插件标识。当目标插件标识集合中有多个插件标识时,则可以从中选取其中的一个插件标识,作为目标插件标识。例如可以按照插件优先级进行选取,选取优先级最高的插件标识。还可以是随机选取,例如随机选取其中的一个插件标识。服务器还可以是获取各个插件标识所对应的插件对账状态,插件对账状态为正在对账或者空闲,服务器可以获取插件对账状态为空闲的插件所对应的插件标识作为目标插件标识。
在一些实施例中,服务器可以基于目标插件标识集合中的插件标识所对应的对账优先级,从目标插件标识集合中,确定目标对账事件所对应的目标插件标识。
具体地,对账优先级表示对账插件获取对账事件进行对账的优先级,优先级高的插件比优先级低的插件,更优先获取对账事件。对账优先级可以是预先设置的。例如,在新配置的插件中,可以携带优先级配置信息,基于该优先级配置信息可以确定对账插件的优先级。
在一些实施例中,还可以设置各个插件获取对账事件的概率,通过插件获取对账事件的概率表示优先级。当获取到目标对账事件后,服务器对目标事件源标识所对应的目标插件标识集合中,各个插件标识所对应的概率进行归一化处理,得到每个插件标识所对应的事件分配概率,服务器可以基于每个插件标识所对应的事件分配概率,从目标插件标识集合中,确定目标对账事件所对应的目标插件标识。其中,事件分配概率表示被分配事件的概率,事件分配概率越高,则被分配对账事件的可能性越高。在对概率进行归一化处理时,将目标插件标识集合中各个插件标识对应的获取对账事件的概率相加,得到概率统计值,将插件标识对应的获取对账事件的概率除以概率统计值,得到归一化的该插件标识对应的事件分配概率。
举个例子,假设目标插件标识集合中有3个插件标识:A、B以及C,其所对应的获取对账事件的概率分别为0.8、0.9以及0.3,则概率统计值为0.8+0.9+0.3=2,则A对应的事件分配概率为:0.8/2=0.4,B对应的事件分配概率为0.9/2=0.45,C对应的事件分配概率为0.3/2=0.15。通过本申请实施例,能够使得即使目标插件标识集合中有两个以上具有同样的对账优先级时,也能够基于事件分配概率选取到目标对账插件标识。此外,通过插件获取对账事件的概率表示优先级,能够使得对账优先级较低的对账插件,也能够获取到目标对账事件进行对账,因此保证了插件分配的有序性以及效率。
在一些实施例中,获取待进行对账的目标对账事件包括:从对账事件队列中获取待进行对账的目标对账事件;即,对账事件是从对账事件队列中获取的,服务器可以从对账事件队列中依次获取对账事件进行对账,使得对账事件通过消息队列缓冲,且是分配给对应的插件进行对账,因此能够保证对每个事件涉及的数据单独对账,灵活控制对账速度,在保证及时性的同时也能兼顾对账功能对实际业务的性能影响。
在一些实施例中,基于目标插件标识集合中的插件标识所对应的对账优先级,从目标插件标识集合中,确定目标对账事件所对应的目标插件标识包括:从目标插件标识集合中,获取对账插件为空闲的插件标识,作为候选插件标识,组成候选插件标识集合;从候选插件标识集合中,选取对账优先级最高的候选插件标识,作为目标对账事件所对应的目标插件标识。
在一些实施例中,空闲的对账插件表示该插件是没有在执行对账任务的,服务器将目标插件标识集合中,空闲的对账插件所对应的插件标识,作为候选插件标识,组成候选插件标识集合,再从候选插件标识集合中,选取对账优先级最高的候选插件标识,作为目标对账事件所对应的目标插件标识,由于目标插件标识集合是用于处理目标事件源的事件所对应的插件标识,故能够保证目标插件标识所对应的目标对账插件,是可以用于处理该目标对账事件的插件中,处于空闲状态的且是对账优先级最高的,故可以提高对账的效率。当目标对账事件是从对账事件队列中获取时,还可以进一步保证对账事件队列中的对账事件是逐步有序的分配的,避免大量的对账事件一次性分配给同一个对账插件,导致对账插件崩溃的情况。
步骤S208,将目标对账事件分配至目标插件标识所对应的目标对账插件中,以通过目标对账插件对目标对账事件所对应的数据进行对账,得到对账结果。
具体地,对账结果可以是数据准确或者数据不准确。得到目标插件标识后,服务器可以将目标对账事件发送至目标对账插件中,从而使得目标对账插件可以执行对应的对账代码进行数据对账,得到对账结果。目标对账插件可以是专用于对目标事件源所对应的对账事件进行对账的插件,一个单独的对账插件可以实现为一个最小化的对账逻辑,每一对账插件对账执行过程中完全独立不影响其他插件的对账功能。例如,如目标对账插件是对支付状态进行对账,则一笔成功的支付数据源对应一笔成功的业务数据,因此目标对账插件可以获取支付订单的订单标识,确定该订单标识是否对应有成功的业务标识,例如保单标识,若是,则表示数据准确。若否,则表示数据不准确。又例如,如目标对账插件是对支付状态进行对账,则保单数据源中A保险公司的一个保单对应支付数据源中收款账户必须是BC,则目标对账插件可以对A保险公司的一个保单对应的收款账户是否是BC进行确认。若是,则表示数据准确。若否,则表示数据不准确。
在一些实施例中,当得到对账结果时,若对账结果为不准确,则服务器可以向对账终端发送异常提示信息,并输出目标对账事件所对应的事件标识。
在一些实施例中,目标对账事件包含数据对象标识,将目标对账事件分配至目标插件标识所对应的目标对账插件中,以通过目标对账插件对目标对账事件所对应的数据进行对账,得到对账结果包括:将目标对账事件分配至目标插件标识所对应的目标对账插件中,目标对账插件触发执行事件过滤表达式;当事件过滤表达式执行成功时,目标对账插件对数据对象标识对应的数据进行数据对账,得到对账结果。
其中,事件过滤表达式是用于过滤不属于目标对账插件所对应的对账事件的表达式。如果目标对账事件是目标对账插件所对应的对账事件,则事件过滤表达式执行成功。如果目标对账事件不是目标对账插件所对应的对账事件,则事件过滤表达式执行失败。
例如事件过滤表达式中设置了目标对账插件所对应的目标事件源标识。当目标对账事件所对应的事件源标识为目标事件源标识时,则事件过滤表达式执行成功。当事件过滤表达式执行成功时,目标对账插件再基于目标对账事件进行数据对账,例如获取数据对象标识,获取该数据对象标识相关的数据进行数据对账。否则,则不会对目标对账事件进行数据对账,而是将目标对账事件返回至分配事件的事件分发器,由事件分发器再次对目标对账事件进行分配,使得事件分发器能够对目标对账事件重新进行分配。通过本申请实施例,由于各个事件源所对应的对账插件的对账逻辑可能不同,因此能够在事件分发器分发错误时,保证事件能够退回到事件分发器重新进行分配,而不会利用进行错误对账插件进行对账,导致对账错误的情况发生。
其中,进行数据对账的处理函数即执行脚本说明如下,getVm()表示获取JavaScript运行解释器,queryPluginList为根据事件源名字获取对应的对账插件列表,vm.run()为运行相应的js代码。JavaScript是一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,可以用来给HTML网页增加动态功能。
上述数据对账方法中,获取待进行对账的目标对账事件;获取目标对账事件所对应的目标事件源标识,确定目标事件源标识所对应的目标插件标识集合;从目标插件标识集合中,确定目标对账事件所对应的目标插件标识;将目标对账事件分配至目标插件标识所对应的目标对账插件中,以通过目标对账插件对目标对账事件所对应的数据进行对账,得到对账结果。由于数据对账是基于事件驱动的,且可以基于目标对账事件所对应的目标事件源标识将该目标对账事件分配给对应的插件进行对账处理,因此能够提高数据对账的效率。
在一个实施例中,如图3所示,获取待进行对账的目标对账事件之前,数据对账方法还包括:
S302,获取配置的目标对账插件。
具体地,配置的目标对账插件是指目标对账插件是新配置的,例如是从插件配置平台获取的新配置的插件。例如,当开发人员需要进行插件更新或者加入新的插件时,则可以对插件进行重新配置。服务器的插件更新模块可以检测插件配置平台是否存在新的插件,如果有,则获取该配置的插件。
例如,新配置的插件可以包含包括事件源标识、事件过滤表达式、校验代码(对账代码)、对账优先级以及对账结果的格式要求。对应的脚本可以如下,其中“//”为对代码的解释:
S304,从目标对账插件中提取目标对账插件所对应的目标事件源标识。
其中,目标对账插件中携带了该目标对账插件所对应的目标事件源标识,表示该插件是专用于对目标事件源标识所对应的目标对账事件进行对账的。
S306,获取目标对账插件对应的目标插件标识,将目标插件标识加入至目标事件源标识对应的目标插件标识集合中。
具体地,目标对账插件还携带目标插件标识。当服务器获取到目标事件源标识时,可以基于事件源标识与插件标识集合的对应关系,确定目标事件源标识对应的目标插件标识集合,然后将目标对账插件对应的目标插件标识加入到目标插件标识集合中,从而使得当存在目标事件源所对应的目标对账事件时,由于目标插件标识已加入到目标插件标识集合中,故可以从中选取到目标插件标识,将目标对账事件分配至目标插件标识所对应的目标对账插件中,以通过目标对账插件对目标对账事件所对应的数据进行对账,得到对账结果。
例如,插件平台从插件配置平台获取到插件之后,可以根据插件中的数据源配置信息,将插件标识记录在相应的数据源触发列表中,即每个事件源标识都记录了关注它的插件列表,对应的函数说明如下:
在一些实施例中,如图4所示,数据对账方法还包括步骤S402:向目标事件源标识所对应的事件发布服务器发送事件订阅请求,事件订阅请求携带目标事件源标识以及本端对应的订阅端标识,以使得事件发布服务器建立目标事件源标识与订阅端标识之间的对应关系;
获取待进行对账的目标对账事件包括:接收事件发布服务器发送的待进行对账的目标对账事件;其中,事件发布服务器检测到目标对账事件时,获取目标对账事件所对应的目标事件源标识,基于对应关系确定订阅端标识,向订阅端标识对应的本端发送目标对账事件。
本端是指发送事件订阅请求的一端,订阅端标识是指本端对应的标识。例如订阅端为服务器,则订阅端标识为服务器的标识。事件发布服务器是用于发布对账事件的服务器。事件订阅请求用于请求订阅事件,当订阅了目标事件源标识所对应的事件时,若存在目标事件源标识所对应的待进行对账的目标对账事件,则事件发布服务器会将该事件推送给订阅了该目标事件源标识所对应的事件的服务器,从而保证对账服务器可以及时获取到目标对账事件。事件发布服务器接收到事件订阅请求后,可以建立目标事件源标识与订阅端标识之间的对应关系。这样,事件发布服务器在获取到待进行对账的目标对账事件时,可以基于该对应关系确定订阅端标识为订阅了目标事件源标识事件的订阅端的标识,从而可以及时根据订阅端标识,向对账的服务器发送目标对账事件。
在一些实施例中,向目标事件源标识所对应的事件发布服务器发送事件订阅请求包括:获取配置的目标对账插件;从目标对账插件中提取目标对账插件所对应的目标事件源标识;当确定目标事件源标识为新配置的事件源标识时,向目标事件源标识所对应的事件发布服务器发送事件订阅请求。
具体地,新配置的事件源标识是指该事件源标识在进行对账的服务器中是新的,表示服务器还没有配置过用于处理该事件源标识的插件。因此,当服务器新配置了用于处理该事件源标识的插件时,服务器可以向该事件源标识所对应的事件发布服务器发送事件订阅请求,从而可以从该事件源标识所对应的事件发布服务器中获取到该事件源标识所对应的目标对账事件,并分配给新配置的目标对账插件进行处理,保证了新配置的目标对账插件可以获取到正确的目标对账事件进行数据对账。
在一些实施例中,服务器中可以设置进行重新对账的次数阈值,在目标对账事件所对应的对账次数小于次数阈值时,如果对账结果为数据不准确,可以重新进行对账,其中次数阈值大于等于2。这样,通过提供一定次数的重试对账能力,能够在对账数据来源于多方业务系统,而多方业务系统的数据更新时间不一致的情况下,减少数据对账的结果为数据不准确的问题。
在一些实施例中,进行事件订阅的函数说明如下:
其中mq.subscribe是消息队列接口,从相应的队列拉取一个事件数据,如果长时间没有数据,则返回空,参数10表示拉取消息时候没有消息则等待多少秒事件,该接口由消息队列提供,消息队列有例如可以是rabbitmq等,其中,EventProcess为事件处理函数。
如图5所示,为一些实施例中,插件对账平台的原理示意图。插件对账平台可以包括对对账数据源进行订阅维护的模块、事件分发器、告警平台以及插件更新模块等。对账数据源可以包括保单数据源、支付数据源以及账户数据源,插件更新模块可以从插件配置平台获取新的插件,例如通过定时例如每分钟从插件配置平台拉取最新的插件,准实时的更新插件列表,实现插件动态更新。插件更新平台还可以响应于用户操作,对插件进行增加或者删除。对对账数据源进行订阅维护的模块可以在确定新配置的插件所对应的目标事件源标识为新配置的事件源标识时,向目标事件源标识所对应的事件发布服务器发送事件订阅请求。对账插件中按照要求配置关注的事件源,事件过滤表达式和对账校验逻辑,并且可以按照预设格式返回对账结果。事件分发器获取各个插件所对应的事件源标识,并将插件标识更新到该事件源标识对应的插件标识列表中,事件分发器获取到目标对账事件时,可以基于事件源标识对应的插件标识列表确定目标对账插件标识,从而事件分发器就可以将对应事件源满足条件的事件推送至相应的插件,事件分发服务器还可以获取插件的运行格式,基于该运行格式分发事件。插件的对账结果可以通过统一的告警平台输出。
其中,每个事件源对应的事件可以是基于消息队列的,使用消息队列的缓冲机制,可以将事件变更高峰期触发的对账请求缓存起来,避免对账系统的高并发请求对系统造成压力。其中事件变更高峰期比如是凌晨做一些批量处理的对账任务,引起大量数据变更时候。
可以理解,插件对账平台也可以包括进行总体对账的插件,例如包括存在总体对账逻辑的插件,如每天触发一次总体对账,存在总体对账逻辑的插件获取相应的对账数据进行对账计算。
其中,插件更新模块进行插件轮询更新的函数说明如下:
如图6所示,为一些实施例中,对保险数据进行对账的时序图。保险服务器是与用户进行交互,以提供保险相关服务的服务器,当保险服务器中的保险数据存在变更时,可以触发事件变更通知,对账服务器基于该事件变更通知,可以获取对账事件,并可以对对账事件进行过滤。对账服务器上运行有多个对账插件,对账服务器确定目标对账事件对应的目标对账插件,将目标对账事件分配给对应的对账插件进行对账,该对账事件需要获取来源于不同业务系统的数据进行对账,因此可以从业务系统1获取第一业务数据,从业务系统2获取第二业务数据,对账插件在进行对账时,将第一业务数据与第二业务数据进行对比,得到对账结果。如果对账结果为不准确,则对账插件可以触发重试机制,以重新进行对账,如果重新对账所得到的对账结果依然为不准确或者失败,则可以进行告警。
通过本申请实施例提供的方法,可以实现准实时对账校验,延时在秒级内,能更及时发现问题。其中的对账规则可以通过js(JavaScript)脚本编写,动态加载运行,灵活支持各种各样的对账校验逻辑。而基于事件触发的对账机制以及队列缓冲,保证对账事件数据量较小且能实时获取,能够保证对账逻辑平稳运行,不会对业务系统造成太大的冲击。
在一些实施例中,服务器还可以提高还提供错误抛出、数据统计、日志查询以及数据获取等底层能力。
在一些实施例中,本申请实施例中的JavaScript interpreter还可以用Pythoninterpreter或者Lua interpreter进行替代,其中JavaScript interpreter是一个专门处理JavaScript脚本的虚拟机。Python interpreter是一个专门处理Python脚本的虚拟机。Lua interpreter是一个专门处理Lua脚本的虚拟机。
应该理解的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种数据对账装置,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:
目标对账事件获取模块702,用于获取待进行对账的目标对账事件;
目标插件标识集合确定模块704,用于获取目标对账事件所对应的目标事件源标识,确定目标事件源标识所对应的目标插件标识集合;
目标插件标识确定模块706,用于从目标插件标识集合中,确定目标对账事件所对应的目标插件标识;
数据对账模块708,用于将目标对账事件分配至目标插件标识所对应的目标对账插件中,以通过目标对账插件对目标对账事件所对应的数据进行对账,得到对账结果。
在一些实施例中,其特征在于,装置还包括:目标对账插件获取模块,用于获取配置的目标对账插件;目标事件源标识提取模块,用于从目标对账插件中提取目标对账插件所对应的目标事件源标识;标识加入模块,用于获取目标对账插件对应的目标插件标识,将目标插件标识加入至目标事件源标识对应的目标插件标识集合中。
在一些实施例中,装置还包括:事件订阅请求发送模块,用于向目标事件源标识所对应的事件发布服务器发送事件订阅请求,事件订阅请求携带目标事件源标识以及本端对应的订阅端标识,以使得事件发布服务器建立目标事件源标识与订阅端标识之间的对应关系;目标对账事件获取模块用于:接收事件发布服务器发送的待进行对账的目标对账事件;其中,事件发布服务器检测到目标对账事件时,获取目标对账事件所对应的目标事件源标识,基于对应关系确定订阅端标识,向订阅端标识对应的本端发送目标对账事件。
在一些实施例中,事件订阅请求发送模块用于:获取配置的目标对账插件;从目标对账插件中提取目标对账插件所对应的目标事件源标识;当确定目标事件源标识为新配置的事件源标识时,向目标事件源标识所对应的事件发布服务器发送事件订阅请求。
在一些实施例中,目标插件标识确定模块用于:基于目标插件标识集合中的插件标识所对应的对账优先级,从目标插件标识集合中,确定目标对账事件所对应的目标插件标识。
在一些实施例中,目标对账事件获取模块用于:从对账事件队列中获取待进行对账的目标对账事件;目标插件标识确定模块用于:
从目标插件标识集合中,获取对账插件为空闲的插件标识,作为候选插件标识,组成候选插件标识集合;从候选插件标识集合中,选取对账优先级最高的候选插件标识,作为目标对账事件所对应的目标插件标识。
在一些实施例中,目标对账事件包含数据对象标识,数据对账模块用于:将目标对账事件分配至目标插件标识所对应的目标对账插件中,目标对账插件触发执行事件过滤表达式;当事件过滤表达式执行成功时,目标对账插件对数据对象标识对应的数据进行数据对账,得到对账结果。
关于数据对账装置的具体限定可以参见上文中对于数据对账方法的限定,在此不再赘述。上述数据对账装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储对账数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据对账方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据对账方法,其特征在于,所述方法包括:
获取待进行对账的目标对账事件;
获取所述目标对账事件所对应的目标事件源标识,确定所述目标事件源标识所对应的目标插件标识集合;
从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识;
将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果。
2.根据权利要求1所述的方法,其特征在于,所述获取待进行对账的目标对账事件之前,所述方法还包括:
获取配置的所述目标对账插件;
从所述目标对账插件中提取所述目标对账插件所对应的目标事件源标识;
获取所述目标对账插件对应的目标插件标识,将所述目标插件标识加入至所述目标事件源标识对应的所述目标插件标识集合中。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述目标事件源标识所对应的事件发布服务器发送事件订阅请求,所述事件订阅请求携带所述目标事件源标识以及本端对应的订阅端标识,以使得所述事件发布服务器建立所述目标事件源标识与所述订阅端标识之间的对应关系;
所述获取待进行对账的目标对账事件包括:
接收所述事件发布服务器发送的待进行对账的所述目标对账事件;其中,所述事件发布服务器检测到所述目标对账事件时,获取所述目标对账事件所对应的目标事件源标识,基于所述对应关系确定所述订阅端标识,向所述订阅端标识对应的本端发送所述目标对账事件。
4.根据权利要求3所述的方法,其特征在于,所述向所述目标事件源标识所对应的事件发布服务器发送事件订阅请求包括:
获取配置的所述目标对账插件;
从所述目标对账插件中提取所述目标对账插件所对应的目标事件源标识;
当确定所述目标事件源标识为新配置的事件源标识时,向所述目标事件源标识所对应的事件发布服务器发送事件订阅请求。
5.根据权利要求1所述的方法,其特征在于,所述从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识包括:
基于所述目标插件标识集合中的插件标识所对应的对账优先级,从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识。
6.根据权利要求5所述的方法,其特征在于,所述获取待进行对账的目标对账事件包括:
从对账事件队列中获取待进行对账的目标对账事件;
所述基于所述目标插件标识集合中的插件标识所对应的对账优先级,从所述目标插件标识集合中,确定目标对账事件所对应的目标插件标识包括:
从所述目标插件标识集合中,获取对账插件为空闲的插件标识,作为候选插件标识,组成候选插件标识集合;
从所述候选插件标识集合中,选取对账优先级最高的候选插件标识,作为所述目标对账事件所对应的目标插件标识。
7.根据权利要求1所述的方法,其特征在于,所述目标对账事件包含数据对象标识,所述将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果包括:
将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,所述目标对账插件触发执行事件过滤表达式;
当所述事件过滤表达式执行成功时,所述目标对账插件对所述数据对象标识对应的数据进行数据对账,得到对账结果。
8.一种数据对账装置,其特征在于,所述装置包括:
目标对账事件获取模块,用于获取待进行对账的目标对账事件;
目标插件标识集合确定模块,用于获取所述目标对账事件所对应的目标事件源标识,确定所述目标事件源标识所对应的目标插件标识集合;
目标插件标识确定模块,用于从所述目标插件标识集合中,确定所述目标对账事件所对应的目标插件标识;
数据对账模块,用于将所述目标对账事件分配至所述目标插件标识所对应的目标对账插件中,以通过所述目标对账插件对所述目标对账事件所对应的数据进行对账,得到对账结果。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679776.0A CN113360210A (zh) | 2021-06-18 | 2021-06-18 | 数据对账方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110679776.0A CN113360210A (zh) | 2021-06-18 | 2021-06-18 | 数据对账方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113360210A true CN113360210A (zh) | 2021-09-07 |
Family
ID=77535147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110679776.0A Pending CN113360210A (zh) | 2021-06-18 | 2021-06-18 | 数据对账方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360210A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114078045A (zh) * | 2022-01-18 | 2022-02-22 | 杭州星犀科技有限公司 | 对账方法、系统、电子装置和存储介质 |
CN115934301A (zh) * | 2023-03-03 | 2023-04-07 | 北京集度科技有限公司 | 对账方法、配置方法、终端设备及计算机程序产品 |
-
2021
- 2021-06-18 CN CN202110679776.0A patent/CN113360210A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114078045A (zh) * | 2022-01-18 | 2022-02-22 | 杭州星犀科技有限公司 | 对账方法、系统、电子装置和存储介质 |
CN115934301A (zh) * | 2023-03-03 | 2023-04-07 | 北京集度科技有限公司 | 对账方法、配置方法、终端设备及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10129118B1 (en) | Real time anomaly detection for data streams | |
US9053231B2 (en) | Systems and methods for analyzing operations in a multi-tenant database system environment | |
CN112118565A (zh) | 多租户服务灰度发布方法、装置、计算机设备和存储介质 | |
CN108304554B (zh) | 文件拆分方法、装置、计算机设备和存储介质 | |
CN110688598B (zh) | 业务参数采集方法、装置、计算机设备和存储介质 | |
CN110780870B (zh) | 一种业务执行方法、装置、设备及存储介质 | |
CN113360210A (zh) | 数据对账方法、装置、计算机设备和存储介质 | |
CN111598575A (zh) | 业务流程控制方法、装置、电子设备和可读存储介质 | |
CN112613993A (zh) | 交易数据处理方法、装置、计算机设备和存储介质 | |
CN112017007A (zh) | 用户行为数据的处理方法及装置、计算机设备、存储介质 | |
CN112288400A (zh) | 多系统数据交互方法、装置、计算机设备及存储介质 | |
CN114282011A (zh) | 知识图谱的构建方法和装置、图计算方法及装置 | |
CN113900907A (zh) | 一种映射构建方法和系统 | |
CN113821254A (zh) | 接口数据处理方法、装置、存储介质及设备 | |
CN111782262A (zh) | 数据动态发布方法、装置、系统、设备及存储介质 | |
CN116414628A (zh) | 一种新旧系统切换过程中交易请求的处理方法和装置 | |
US20180020075A1 (en) | Apparatus and method for providing data based on cloud service | |
CN112784029A (zh) | 基于自然语言处理的业务处理方法、装置和计算机设备 | |
CN114282940A (zh) | 用于意图识别的方法及装置、存储介质及电子设备 | |
CN113032647A (zh) | 数据分析系统 | |
CN113254399A (zh) | 日志查询方法、装置、电子设备及介质 | |
CN113741868A (zh) | 业务计算任务处理方法、装置、计算机设备和存储介质 | |
CN111770080A (zh) | 一种设备指纹的恢复方法及装置 | |
CN117112368B (zh) | 异常处理方法、装置、电子设备及存储介质 | |
CN109933573B (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 |