首页 / 数据核对方法及设备

数据核对方法及设备实质审查 发明

技术领域

[0001] 本说明书涉及数据处理技术领域,尤其涉及一种数据核对方法及数据核对设备。

相关背景技术

[0002] 随着互联网技术的发展,越来越多的企业或用户通过网络平台进行各种事务活动例如跨境电子商务活动。因此,如何对网络平台的事务数据例如跨境电商平台的资产数据进行数据核对成为了关注的焦点。
[0003] 在相关技术方案中,通过SQL(Structured Query Language,结构化查询语言)脚本对网络平台的事务数据例如跨境电商平台的资产数据进行数据核对。然而,在这种技术方案,由于仅能进行单个SQL脚本进行数据核对,单个SQL脚本的核对功能单一,无法支持复杂场景的数据核对。
[0004] 背景技术部分的内容仅仅是发明人个人所知晓的信息,并不代表上述信息在本公开申请日之前已经进入公共领域,也不代表其可以成为本公开的现有技术。

具体实施方式

[0046] 以下描述提供了本说明书的特定应用场景和要求,目的是使本领域技术人员能够制造和使用本说明书中的内容。对于本领域技术人员来说,对所公开的实施例的各种局部修改是显而易见的,并且在不脱离本说明书的精神和范围的情况下,可以将这里定义的一般原理应用于其他实施例和应用。因此,本说明书不限于所示的实施例,而是与权利要求一致的最宽范围。
[0047] 这里使用的术语仅用于描述特定示例实施例的目的,而不是限制性的。比如,除非上下文另有明确说明,这里所使用的,单数形式“一”,“一个”和“该”也可以包括复数形式。当在本说明书中使用时,术语“包括”、“包含”和/或“含有”意思是指所关联的整数,步骤、操作、元素和/或组件存在,但不排除一个或多个其他特征、整数、步骤、操作、元素、组件和/或组的存在或在该系统/方法中可以添加其他特征、整数、步骤、操作、元素、组件和/或组。
[0048] 考虑到以下描述,本说明书的这些特征和其他特征、以及结构的相关元件的操作和功能、以及部件的组合和制造的经济性可以得到明显提高。参考附图,所有这些形成本说明书的一部分。然而,应该清楚地理解,附图仅用于说明和描述的目的,并不旨在限制本说明书的范围。还应理解,附图未按比例绘制。
[0049] 本说明书中使用的流程图示出了根据本说明书中的一些实施例的系统实现的操作。应该清楚地理解,流程图的操作可以不按顺序实现。相反,操作可以以反转顺序或同时实现。此外,可以向流程图添加一个或多个其他操作。可以从流程图中移除一个或多个操作。
[0050] 首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0051] 核对算子:对任何函数进行某一项操作都可以认为是一个算子。核对算子指的是用于对数据进行核对的算子,例如,A+B=0,则A和B就是两个核对算子。
[0052] 核对表达式:用来定义核对逻辑以及运算的函数,核对表达式包含至少一个核对算子,例如,核对表达式attr(1)+sql(2)=attr(3),其中,attr(1)、sql(2)以及attr(3)均为核对算子。
[0053] 核对规则:是指在进行数据核对时,需要遵循的一系列规则和标准。核对规则中配置有进行数据核对的核对表达式。核对规则可以帮助确保数据的准确性和一致性,从而避免错误和误差。
[0054] 修正因子:在跨境申报中,由于某些特殊原因,会存在线下手工申报,测试数据等情况,进行数据核对时,会造成线上数据的不一致,在数据不一致的情况下,需要加上一个特殊的数值(例如线下申报数量,测试交易笔数)等,才能使核对数据保存一致,这个特殊的数值,就叫做修正因子。
[0055] 在相关技术方案中,采用支持SQL脚本对网络平台的事务数据例如跨境电商资产数据进行数据核对。在这种技术方案,仅能通过单个SQL脚本进行数据核对,单个SQL脚本的核对功能单一。由于跨境申报事务的复杂性,同时涉及到的上下游事务非常的多,单个SQL脚本的数据核对已经无法满足日常的数据核对需求。
[0056] 基于上述内容,本说明书实施例提供了一种数据核对方法和数据核对设备,一方面,引入了核对表达式的概念,针对不同的数据核对场景预先编排核对表达式来表示与该场景对应的核对逻辑,从而能够针对不同的数据核对场景灵活地采用不同的核对表达式;另一方面,基于核对表达式中各个核对算子针对待核对数据的计算结果,通过核对表达式对待核对数据进行数据核对,能够非常灵活地对各种数据核对场景的数据进行核对。
[0057] 下面,将结合附图对本说明书实施例的技术方案进行详细的说明。
[0058] 图1示出了本说明书实施例提供的一种数据核对方法的实施环境的示意图。
[0059] 参见图1所示,该实施环境100可以包括终端110、服务器130以及数据库140。
[0060] 终端110通过无线网络或有线网络120与服务器130相连。终端110可以是平板电脑、笔记本电脑或台式计算机等,但并不局限于此。
[0061] 终端110可以存储有执行本说明书描述的数据核对方法的数据或指令。终端110可以包括具有数据信息处理能力的硬件设备和驱动该硬件设备工作所需必要的程序。
[0062] 服务器130是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、分发网络(Content Delivery Network,CDN),以及大数据和人工智能平台等基础云计算服务的云服务器等。服务器130为终端110上运行的应用程序提供后台服务。
[0063] 服务器130上搭载有集成开发平台。集成开发平台,也称集成开发环境(IDE,Integrated Development Environment),集成开发平台是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。开发人员可以在集成开发平台上进行程序代码的编写(即程序开发)。集成开发平台服务器可以是集成开发平台专门用来实施数据核对方法的计算设备。服务器130可以分别与终端110以及数据库140进行数据通信。
[0064] 此外,服务器130可以存储有执行本说明书描述的数据核对方法的数据或指令。服务器130可以包括具有数据信息处理能力的硬件设备和驱动该硬件设备工作所需必要的程序。当然,服务器130也可以仅为具有数据处理能力的硬件设备,或者,仅为运行在硬件设备中的程序。在一些实施例中,服务器130也可以作为插件,并部署在终端110,此时,服务器130存储有执行本说明书描述的终端110对应的数据核对方法的数据或指令。
[0065] 数据库140可以存储数据和/或指令。在一些实施例中,数据库140可以存储待核对数据以及核对算子的计算结果。在一些实施例中,数据库140可以存储服务器130执行或用于执行本说明书中描述的数据核对方法的数据和/或指令。终端110和服务器130具有访问数据库140的权限,终端110和服务器130可以通过网络访问存储在数据库140中的数据或指令。在一些实施例中,数据库140可以直接连接到终端110和服务器130。在一些实施例中,数据库140可以是服务器130的一部分。在一些实施例中,数据库140可以包括大容量存储、可移动存储、易失性读写存储器、只读存储器(ROM)或类似内容,或其任意组合。示例性大容量存储可能包括磁盘、光盘、固态驱动器等非暂时性存储介质(non transitory storage medium)。示例可移动存储可能包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等。典型的易失性读写内存可能包括随机存取存储器(RAM)。示例RAM可能包括动态RAM(DRAM)、双日期速率同步动态RAM(DDRSDRAM)、静态RAM(SRAM)、晶闸管RAM(T‑RAM)和零电容RAM(Z‑RAM)等。示例性ROM可包括掩码ROM(MROM)、可编程ROM(PROM)、可虚拟可编程ROM(PEROM)、电子可编程ROM(EEPROM)、光盘(CD ROM)和数字多功能磁盘ROM等。
[0066] 本领域技术人员可以知晓,上述终端的数量可以更多或更少。比如上述终端仅为一个,或者上述终端为几十个或几百个,或者更多数量,此时上述实施环境中还包括其他终端。本说明书实施例对终端的数量和设备类型不加以限定。
[0067] 在介绍完本说明书实施例的实施环境之后,下面将结合上述实施环境对本说明书实施例的应用场景进行介绍,在下述说明过程中,终端也即是上述实施环境中的终端110,服务器也即是上述实施环境中的服务器130。本说明书实施例提供的技术方案能够应用在各种数据核对场景中,例如跨境电商资产数据或交易数据的核对场景等。
[0068] 以本说明书实施例提供的技术方案应用在跨境电商的资产数据核对场景中为例,获取资产数据核对场景下的资产数据源对应的待核对数据;确定资产数据核对场景的待核对数据对应的核对规则,核对规则包含待核对数据对应的核对表达式,核对表达式包含至少一个核对算子,例如业务属性算子和SQL脚本算子;以及基于至少一个核对算子针对待核对数据的计算结果,通过核对表达式对待核对数据进行数据核对,得到核对结果。
[0069] 需要说明的是,上述是以本说明书实施例提供的技术方案应用在跨境电商资产数据的核对场景中为例进行说明的,本说明书实施例提供的技术方案还可以应用在其他适当的数据核对场景下例如,金融平台的支付数据核对或者储蓄数据核对场景等,实现过程与上述描述属于同一发明构思,在此不再赘述。
[0070] 需要说明的是,本说明书的示例实施例中的数据核对方法中的步骤可以部分由客户端执行,部分由服务器执行,也可以全部由服务器或者全部由客户端执行,本说明书对此不进行特殊限定。
[0071] 基于图1所示的实施环境,下面将结合图2‑图11,对本说明书实施例提供的数据核对方法和数据核对设备进行详细介绍。需要注意的是,上述实施环境仅是为了便于理解本说明书的精神和原理而示出,本说明书的实施例在此方面不受任何限制。相反,本说明书的实施例可以应用于适用的任何场景。
[0072] 图2是根据本说明书的一些实施例提供的一种数据核对设备200的结构示意图。上述数据核对设备200可以执行本说明书描述的数据核对方法。上述数据核对方法在本说明书中的其他部分介绍。上述数据核对设备200可以是通用计算机或专用计算机。例如,上述数据核对设备200可以是服务器、个人电脑、便携式电脑(比如笔记本计算机、平板电脑等),也可以是其他有计算能力的数据核对设备。当然,上述数据核对设备可以是图1中终端110或服务器130,也可以是多个开发人员用来在集成开发平台上进行程序开发的终端设备。
[0073] 本说明书中的数据核对设备可以包括一个或多个如下部件:处理器210、存储器220、输入装置230、输出装置240和总线250。处理器210、存储器220、输入装置230和输出装置240之间可以通过总线250连接。
[0074] 处理器210可以包括一个或者多个处理核心。处理器210利用各种接口和线路连接整个数据核对设备内的各个部分,通过运行或执行存储在存储器220内的指令、程序、代码集或指令集,以及调用存储在存储器220内的数据,执行本说明书描述的数据核对方法。可选地,处理器210可以采用数字信号处理(digital signal processing,DSP)、现场可编程门阵列(field-programmable gate array,FPGA)、可编程逻辑阵列(programmable logic Array,PLA)中的至少一种硬件形式来实现。处理器210可集成中心处理器(central processing unit,CPU)、图像处理器(graphics processing unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器210中,单独通过一块通信芯片进行实现。
[0075] 存储器220可以包括随机存储器(random Access Memory,RAM),也可以包括只读存储器(read‑only memory,ROM)。可选地,该存储器220包括非瞬时性计算机可读介质(non‑transitory computer‑readable storage medium)。存储器220可用于存储指令、程序、代码、代码集或指令集。存储器220可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(例如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等,该操作系统可以是安卓(Android)系统,包括基于Android系统深度开发的系统、IOS系统,包括基于IOS系统深度开发的系统或其它系统。
[0076] 为了使操作系统能够区分第三方应用程序的具体应用场景,需要打通第三方应用程序与操作系统之间的数据通信,使得操作系统能够随时获取第三方应用程序当前的场景信息,进而基于当前场景进行针对性的系统资源适配。
[0077] 其中,输入装置230用于接收输入的指令或数据,输入装置230包括但不限于键盘、鼠标、摄像头、麦克风或触控设备。输出装置240用于输出指令或数据,输出装置240包括但不限于显示设备和扬声器等。在一个示例中,输入装置230和输出装置240可以合设,输入装置230和输出装置240为触摸显示屏。
[0078] 除此之外,本领域技术人员可以理解,上述附图所示出的数据核对设备的结构并不构成对数据核对设备的限定,数据核对设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,数据核对设备中还包括射频电路、输入单元、传感器、音频电路、无线保真(Wireless Fidelity,WiFi)模块、电源、蓝牙模块等部件,在此不再赘述。
[0079] 图3示出了根据本说明书的实施例提供的一种数据核对方法的流程图。如前,数据核对设备200可以执行本说明书实施例的数据核对方法。具体地,处理器210可以读取存储在其本地存储介质中的指令集,然后根据指令集的规定,执行本说明书实施例的数据核对方法。下面,将结合附图对数据核对方法中的步骤S310至步骤S330进行详细的说明。
[0080] 如图3所示,在步骤S310中,获取预定场景下的目标数据源对应的待核对数据。
[0081] 在示例实施例中,预定场景为跨境电商的资产数据核对场景,目标数据源为该预定场景对应的数据源,例如资产数据核对场景对应的存储资产数据的数据库。待核对数据可以为目标数据源的数据库中的至少一张数据表中的数据,也可以为目标数据源对应的变更数据。
[0082] 需要说明的是,虽然以资产数据核对场景中为例进行说明的,但是本说明书实施例提供的技术方案还可以应用在其他适当的数据核对场景下,例如,金融平台的支付数据核对或者储蓄数据核对场景等,这同样在本说明书实施例的范围内。
[0083] 以预定场景为跨境电商的资产数据核对场景为例,在一些示例实施例中,待核对数据为数据表中的数据,数据核对设备200从存储跨境电商资产数据的数据库的资产数据表中获取待核对数据,例如,出境金额数据和账单金额数据。在另一些示例实施例中,待核对数据为目标数据源对应的变更数据,数据核对设备200接收到存储跨境电商资产数据的数据库的数据变更消息,从数据变更消息中获取资产核对场景下的待核对数据,例如,出境金额数据和账单金额数据。
[0084] 在步骤S320中,确定预定场景下的待核对数据对应的核对规则,核对规则包含待核对数据对应的核对表达式,核对表达式包含至少一个核对算子。
[0085] 在示例实施例中,核对规则是指在进行数据核对时,需要遵循的一系列规则和标准。核对规则可以帮助确保数据的准确性和一致性,从而避免错误和误差。举例而言,预先针对预定场景下的核对需求配置有对应的核对规则,例如,针对跨境电商的资产数据核对场景,配置资产数据的核对规则,或者针对交易数据核对场景配置交易数据的核对规则等。数据核对的核对规则主要包括几个数值进行运算的核对逻辑,例如和某一个规定值进行比较,或者待核对的值在某个范围内波动,根据核对逻辑或核对类型的不同,核对规则包括:
与固定值对比、波对阈值核对、空值NULL、多元核对以及计算结果值中的某个字段核对等。
[0086] 进一步地,核对规则包含待核对数据对应的核对表达式,也就是说,在核对规则中预先配置了预定场景下的待核对数据对应的核对表达式。核对表达式包含至少一个核对算子,核对算子的算子类型包括业务属性类型、脚本类型、脚本计算结果的字段值类型以及应用程序接口API类型中的一种或多种,不同的算子类型可以适用不同的计算场景。例如,若算子类型为业务属性类型,则在核对规则即核对表达式中配置为业务属性的标识ID;若算子类型为脚本类型,则在核对规则中配置对应的SQL脚本以及脚本出发的条件;若算子类型为脚本计算结果的字段值类型,则需要配置相应的字段。
[0087] 例如,资产数据的核对规则包含待核对资产数据对应的核对表达式,该核对表达式包含至少一个针对待核对资产数据的核对算子,例如,设人民币的出境金额为A,账单金额为B,核对表达式为attr(1)=attr(2),即A=B,其中,attr(1)和attr(2)为核对算子,即attr(1)和attr(2)为业务属性类型的核对算子;设订单金额为A,已支付金额为B,优惠金额为C,核对表达式为attr(1)+sql(2)=attr(3),即B+C=A,其中,attr(1)与attr(3)均为业务属性类型的核对算子,sql(2)为脚本类型的核对算子。
[0088] 进一步地,在一些示例实施例中,预先配置有预定场景与核对规则的对应关系,并在数据库中存储该对应关系。数据核对设备200基于预定场景的场景标识以及该对应关系,从数据库中获取该预定场景对应的核对规则,从核对规则对应的核对表达式中确定该核对规则对应的至少一个核对算子。例如,设人民币的出境金额为A,账单金额为B,核对表达式为attr(1)=attr(2),即A=B,从该核对表达式中确定核对算子attr(1)即A和核对算子attr(2)即B。
[0089] 在步骤S330中,基于至少一个核对算子针对待核对数据的计算结果,通过核对表达式对待核对数据进行数据核对。
[0090] 在示例实施例中,数据核对设备200确定各个核对算子针对待核对数据的计算结果;基于各个核对算子的计算结果执行核对表达式,得到核对表达式的核对结果。例如,数据核对设备200确定各个核对算子的算子类型;基于各个核对算子的算子类型针对待核对数据进行算子计算,得到各个核对算子针对待核对数据的计算结果,基于各个核对算子的计算结果执行核对表达式,得到核对表达式的核对结果。核对算子的算子类型包括业务属性类型、脚本类型、脚本计算结果的字段值类型以及应用程序接口API类型中的一种或多种。下面,将结合以下两个示例对本说明实施例中的通过核对表达式对待核对数据进行数据核对的过程进行详细的说明。
[0091] 示例一:
[0092] 设人民币的出境金额为A,账单金额为B,核对表达式为attr(1)=attr(2),即A=B,从该核对表达式中确定核对算子attr(1)即A和核对算子attr(2)即B,attr(1)和attr(2)为业务属性类型的核对算子,数据核对设备200针对核对算子attr(1)从出境金额表中获取对应的出境金额A,针对核对算子attr(2)从账单金额表中获取对应的账单金额B,判断出境金额A与账单金额B是否相等,若出境金额A与账单金额B相等,则判定待核对数据为正常数据;若出境金额A与账单金额B不相等,则判定待核对数据为异常数据。
[0093] 示例二:
[0094] 设订单金额为A,已支付金额为B,优惠金额为C,核对表达式为attr(1)+sql(2)=attr(3),即B+C=A,其中,attr(1)与attr(3)均为业务属性类型的核对算子,sql(2)为脚本类型的核对算子,数据核对设备200针对核对算子attr(1)与attr(3),从交易信息中获取已支付金额为B和订单金额A,针对sql(2),执行对应的SQL脚本,从优惠金额配置表中查询对应的优惠金额C,判断已支付金额B与优惠金额C之和是否等于订单金额A,若已支付金额B与优惠金额C之和等于订单金额,则判定待核对数据为正常数据;若已支付金额B与优惠金额C之和不等于订单金额A,则判定待核对数据为异常数据。
[0095] 根据图3的示例实施例中的技术方案,一方面,引入了核对表达式的概念,针对不同的数据核对场景预先编排核对表达式来表示与该场景对应的核对逻辑,从而能够针对不同的数据核对场景灵活地采用不同的核对表达式;另一方面,基于核对表达式中各个核对算子针对待核对数据的计算结果,通过核对表达式对待核对数据进行数据核对,能够非常灵活地对各种数据核对场景的数据进行核对。
[0096] 进一步地,核对规则还包含修正因子,修正因子用于对待核对数据进行修正,例如,在一些核对场景下,存在线下数据和线上数据不一致的情况下,需要对数据进行修正,例如,线下交易的优惠金额和线上交易的优惠金额不一致,需要对数据进行修正。在一些示例实施例中,数据核对设备200基于各个核对算子的计算结果以及修正因子执行核对表达式。
[0097] 举例而言,设订单金额为A,已支付金额为B,优惠金额为C,修正因子为X,核对表达式为attr(1)+sql(2)=attr(3)+X,即B+C=A+X,针对核对算子attr(1)与attr(3),从交易信息中获取已支付金额为B和订单金额A,针对sql(2),执行对应的SQL脚本,从优惠金额配置表中查询对应的优惠金额C,从核对规则的配置信息中获取修正因子X,判断已支付金额B与优惠金额C之和是否等于订单金额A与修正因子X之和,若已支付金额B与优惠金额C之和等于订单金额A与修正因子X之和,则判定待核对数据为正常数据;若已支付金额B与优惠金额C之和不等于订单金额A与修正因子X之和,则判定待核对数据为异常数据。
[0098] 根据上述示例实施例中的技术方案,通过采用修正因子对核对表达式进行修正,从而能够进一步保证数据的一致性,例如保证线下数据和线上数据的一致性。
[0099] 图4示出了根据本说明书的一些实施例提供的通过核对表达式进行数据核对的流程示意图。
[0100] 参照图4所示,在步骤S410中,确定核对表达式的各个核对算子的算子类型。
[0101] 在示例实施例中,核对规则中配置有核对表达式,核对表达式包含至少一个核对算子。核对规则中还配置有核对表达式对应的核对算子的算子类型和算子上下文。核对算子的算子类型包括业务属性类型、脚本类型、脚本计算结果的字段值类型以及应用程序接口(Application Programming Interface,API)类型中的一种或多种。数据核对设备200从配置的核对规则中确定核对表达式的各个核对算子的算子类型,例如在核对规则中预先配置核对规则与核对表达式的对应关系,核对表达与核对算子的对应关系,以及核对算子与算子类型的对应关系,基于上述对应关系确定核对表达式的各个核对算子的算子类型。
[0102] 图5示出了根据本说明书的一些实施例提供的核对规则的示意图。参照图5所示,以预定场景为跨境电商的资产数据核对场景为例,该资产数据核对场景下的核对规则包括标识ID、场景ID、资产ID、核对规则名称、核对表达式、是否启用等,核对表达式包含至少一个核对算子例如,n个核对算子,n大于或者等于1,核对算子包括标识ID、核对规则ID、算子类型、配置上下文、算子编号以及描述。例如,若算子类型为业务属性类型,则在核对规则即核对表达式中配置为业务属性的标识ID;若算子类型为脚本类型,则在核对规则中配置对应的SQL脚本以及脚本出发的条件;若算子类型为脚本计算结果的字段值类型,则需要配置相应的字段。
[0103] 在步骤S420中,基于各个核对算子的算子类型,生成各个核对算子针对待核对数据的计算任务。
[0104] 在示例实施例中,不同的算子类型的核对算子用于完成不同的数据处理逻辑。例如,业务属性类型的核对算子用于获取业务字段的字段值;脚本类型的核对算子用于执行SQL脚本获取对应的脚本计算结果;API类型的核对算子用于调用对应的API来获取API的返回值。
[0105] 进一步地,数据核对设备200针对不同算子类型的核对算子,生成与该算子类型的核对算子对应的计算任务。例如,通过与各个算子类型对应的算子计算引擎生成与该算子类型的核对算子对应的计算任务。算子计算引擎是一种用于进行算子计算的计算引擎。算子计算引擎专门用于处理和计算算子相关的数据和操作。算子是函数的一部分,可以对数据执行特定的操作或计算。例如,通过SQL算子计算引擎生成对应的SQL计算任务;通过业务属性计算引擎生成对应的业务属性计算任务;通过API计算引擎生成对应的API调用任务。
[0106] 在步骤S430中,执行各个核对算子的计算任务,得到各个核对算子针对待核对数据的计算结果。
[0107] 在示例实施例中,数据核对设备200针对不同算子类型的核对算子,通过对应的算子计算引擎执行对应的核对算子的计算任务,得到各个核对算子针对待核对数据的计算结果。例如,通过SQL算子计算引擎执行SQL核对算子对应的SQL计算任务;通过业务属性计算引擎执行业务属性算子对应的业务属性计算任务;通过API计算引擎执行对应的API调用任务,得到各个算子类型的核对算子针对待核对数据的计算结果。
[0108] 举例而言,设订单金额为A,已支付金额为B,优惠金额为C,核对表达式为attr(1)+sql(2)=attr(3),即B+C=A,其中,attr(1)与attr(3)均为业务属性类型的核对算子,sql(2)为脚本类型的核对算子,数据核对设备200针对核对算子attr(1)与attr(3),通过业务属性计算引擎从交易信息中获取已支付金额为B和订单金额A;针对sql(2),通过SQL算子计算引擎执行对应的SQL脚本,从优惠金额配置表中查询对应的优惠金额C。
[0109] 根据图4的示例实施例中的技术方案,针对不同的数据处理逻辑设置对应的算子类型的核对算子,生成并执行各个算子类型的核对算子的计算任务,不仅能够进一步灵活地对各种复杂场景的数据进行核对,而且能够提高数据处理效率。
[0110] 进一步的,在示例实施例中,该数据核对方法还包括:在确定各个核对算子针对待核对数据的计算结果之后,基于各个核对算子针对待核对数据的计算结果,生成各个核对算子对应的算子实例;通过算子实例存储各个核对算子针对待核对数据的计算结果。算子实例用于存储核对算子针对待核对数据的计算结果,举例而言,算子实例包括算子ID、核对规则ID、算子值、状态等,其中,算子ID用于唯一地标识核对算子,算子值用于存放核对算子的计算结果,例如将核对算子的计算结果即算子值存储到数据库例如Hbase数据库中。算子状态包括已完成DONE、处理中PROCESSING、处理失败FAIL等状态。
[0111] 根据上述示例实施例中的计算方案,通过算子实例存储各个核对算子针对待核对数据的计算结果,能够在数据核对的过程中预先得到并存储各个核对算子的计算结果,从而能够提高核对表达式的执行效率。
[0112] 图6示出了根据本说明书的一些实施例提供的输出核对结果的流程示意图。
[0113] 参照图6所示,在步骤S610中,基于核对规则,确定预定场景下的核对结果输出模板。
[0114] 在示例实施例中,核对结果输出模板可以为MarkDown格式文本或Velocity格式文本,也可以为其他适当格式文本例如FreeMarker格式文本等。核对结果包括核对结果状态、告警时间、核对结果输出信息中的一种或多种。其中,核对结果状态包括核对通过、核对失败、核对异常已处理以及核对中等。告警时间用于根据核对重要程度定时进行告警提醒,例如核对重要程度越高,则告警时间越短,例如核对重要程度为非常重要即重要等级为一,则告警时间为3分钟,核对重要程度为重要即重要等级为二,则告警时间为20分钟等。核对结果输出信息用于存放对应的核对结果,例如将核对结果存储到云存储上例如OSS(Object Storage Service,对象存储服务)上。
[0115] 需要说明的是,核对结果输出模板也可以包含其他适当的信息例如资产ID、业务周期、核对异常信息、核对规则ID等信息,这同样在本说明书实施例的范围内。
[0116] 进一步地,在预定场景的核对规则中配置有核对结果输出模板的标识信息,数据核对设备200基于预定场景的核对规则,提取该预定场景下的核对结果输出模板的标识信息,根据该标识信息确定对应的核对结果输出模板。
[0117] 在步骤S620中,基于核对结果输出模板,输出数据核对的核对结果。
[0118] 在示例实施例中,数据核对设备200基于核对结果输出模板结合核对结果的配置信息的信息项输出数据核对的核对结果。例如,设核对结果的配置信息包括核对结果状态以及核对结果输出信息,核对结果输出模板为MarkDown格式,在超出告警时间之后,数据核对设备200基于MarkDown格式输出核对结果状态以及核对结果输出信息。核对结果状态包括核对通过、核对失败、核对异常已处理以及核对中等。
[0119] 此外,在一些示例实施例中,核对结果包括异常结果,异常结果包括异常状态以及异常原因。例如,在核对结果的异常结果的配置信息中配置异常状态以及异常原因,设核对结果输出模板为MarkDown格式,数据核对设备200基于MarkDown格式输出异常结果中的异常状态以及异常原因。
[0120] 根据图6的示例实施例中的技术方案,引入了核对结果输出模板,可以根据不同的核对需求,选择合适的核对结果输出模板,展示对应的核对结果。
[0121] 图7示出了根据本说明书的一些实施例提供的数据核对方法的应用架构的架构示意。
[0122] 参照图7所示,该应用架构包括业务系统710、数据采集模块720、数据仓库730、算子计算引擎740、核对表达式计算引擎750、模板引擎760以及权限控制模块770。其中,业务系统710为预定场景下的业务平台,例如支付场景下的支付平台,数据采集模块720用于采集业务系统710的事务数据,数据仓库730用于存储业务系统710的事务数据以及其他数据例如待核对数据。
[0123] 进一步地,算子计算引擎740用于针对不同算子类型的核对算子,通过对应的算子计算引擎执行对应的核对算子的计算任务,得到各个核对算子针对待核对数据的计算结果。核对算子的算子类型包括业务属性类型、脚本类型、脚本计算结果的字段值类型以及应用程序接口API类型中的一种或多种。例如,通过SQL算子计算引擎执行SQL核对算子对应的SQL计算任务;通过业务属性计算引擎执行业务属性算子对应的业务属性计算任务;通过API计算引擎执行对应的API调用任务,得到各个算子类型的核对算子针对待核对数据的计算结果。
[0124] 核对表达式计算引擎750用于基于各个核对算子的计算结果执行核对表达式,得到核对表达式的核对结果。例如,核对表达式计算引擎750获取各个核对算子针对待核对数据的计算结果,基于各个核对算子的计算结果执行核对表达式,得到核对表达式的核对结果。
[0125] 模板引擎760用于基于核对结果输出模板,输出数据核对的核对结果。例如,设核对结果的配置信息包括核对结果状态以及核对结果输出信息,核对结果输出模板为MarkDown格式,数据核对设备200基于MarkDown格式输出核对结果状态以及核对结果输出信息。核对结果状态包括核对通过、核对失败、核对异常已处理以及核对中等。
[0126] 权限控制模块770用于对各个用户的数据访问权限进行控制。
[0127] 根据图7的示例实施例中的技术方案,一方面,基于核对表达式中各个核对算子针对待核对数据的计算结果,通过核对表达式对待核对数据进行数据核对,能够非常灵活地对各种数据核对场景的数据进行核对;另一方面,可以根据不同的核对需求,选择合适的核对结果输出模板,展示对应的核对结果。
[0128] 图8示出了根据本说明书的另一些实施例提供的一种数据核对方法的流程图。
[0129] 参照图8所示,在步骤S810中,获取核对规则中的核对表达式对应的核对算子。
[0130] 在示例实施例中,待核对数据为离线数据,离线数据核对的核对规则主要包括几个数值进行运算的核对逻辑,例如和某一个规定值进行比较,或者待核对的值在某个范围内波动,根据核对逻辑或核对类型的不同,核对规则包括:与固定值对比、波对阈值核对、空值NULL、多元核对以及计算结果值中的某个字段核对等。在跨境申报中,由于某些特殊原因,会存在线下手工申报,测试数据等情况,进行数据核对时,会造成线上数据的不一致,在数据不一致的情况下,需要加上一个特殊的数值(例如线下申报数量,测试交易笔数)等,才能使核对数据保存一致,这个特殊的数值,就叫做修正因子。参照下表1所示:
[0131] 表1:核对规则
[0132] 核对规则名称 修正因子 修正原因与固定值对比 0 线下手工申报
波动阈值核对 0 测试交易
NULL 0 测试交易
多元核对 1000 线下手工申报
计算结果值中某个字段核对 0 测试交易
[0133] 进一步地,核对规则包含待核对数据对应的核对表达式,也就是说,在核对规则中预先配置了预定场景下的待核对数据对应的核对表达式。核对表达式包含至少一个核对算子,核对算子的算子类型包括业务属性类型、脚本类型、脚本计算结果的字段值类型以及应用程序接口API类型中的一种或多种。参照下表2所示:
[0134] 表2:算子类型
[0135] 算子类型 说明 适用场景业务属性 已经计算存在的某个业务属性的值 业务属性间的核对
计算脚本 Sql脚本等脚本 Null类型的核对
脚本计算结果中的字段值 JSONPath取值($.data.username) 金额核对
API 调用API例如http服务 和第三方线上核对
[0136] 其中,不同的算子类型可以适用不同的计算场景,举例而言,业务属性类型的核对算子适用于业务属性间的核对,例如,申报金额和银行反馈申报金额核对,这种核对涉及两个资产的两个业务属性。
[0137] 根据上述示例实施例的技术方案,根据数据核对场景的数据核对逻辑,将核对规则以及核对算子进行组合,形成与核对规则对应的核对表达式。例如,以下示出了一些核对规则对应的核对表达式:1、attr(1)+attr(2)=attr(3)+x;2、sql(1)+sql(2)>=sql(3);3、attr(1)+sql(2)
[0138] 其中,核对表达式的各个元素的释义如下表3:
[0139] 表3:核对表达式的释义
[0140]核对算子 含义 示例
attr 业务属性 attr(1)
sql sql脚本 sql(2)
x 修正因子 x=1000
$ 取脚本计算结果中某个字段的值 $(1).diff
[0141] 进一步地,在一些示例实施例中,数据核对设备200从数据库中获取该预定场景对应的核对规则,从核对规则对应的核对表达式中确定该核对规则对应的至少一个核对算子。例如,设订单金额为A,已支付金额为B,优惠金额为C,核对表达式为attr(1)+sql(2)=attr(3),即B+C=A,其中,attr(1)与attr(3)均为业务属性类型的核对算子,sql(2)为脚本类型的核对算子,从核对规则对应的核对表达式中确定该核对规则对应的核对算子attr(1)、sql(2)以及attr(3)。
[0142] 此外,在一些示例示例实施例中,核对规则还可以配置其他适当的信息,例如,资产核对场景为例,参照图9所示,核对规则可以配置标识ID、场景ID、资产ID、核对规则名称、告警类型、核对表达式、修正因子、修正原因、核对重要程度、是否启用、核对结果通知订阅人列表、核对周期、核对结果输出模板等。其中,核对重要程度可以包括紧急、非常高、高、中、低等级别。核对结果输出模板可以为MarkDown格式文本,核对周期为T‑1/T/T+H,告警类型包括迟报、漏报以及错报。
[0143] 进一步地,参照图9所示,核对算子的配置信息可以包括标识ID、核对规则ID、算子类型、配置上下文、算子类型、算子编号以及描述等。核对算子的算子类型包括业务属性类型、脚本类型、脚本计算结果的字段值类型以及应用程序接口API类型中的一种或多种。配置上下文可以通过下式方式进行配置:若算子类型为业务属性类型,则在核对规则即核对表达式中配置为业务属性的标识ID;若算子类型为脚本类型,则在核对规则中配置对应的SQL脚本以及脚本出发的条件;若算子类型为脚本计算结果的字段值类型,则需要配置相应的字段。
[0144] 进一步地,算子实例用于存储核对算子针对待核对数据的计算结果,参照图9所示,算子实例包括算子ID、核对规则ID、业务周期、算子值、状态等,其中,算子ID用于唯一地标识核对算子,算子值用于存放核对算子的计算结果,例如将核对算子的计算结果即算子值存储到数据库例如Hbase数据库中。算子状态包括已完成DONE、处理中PROCESSING、处理失败FAIL等状态。
[0145] 在步骤S820中,针对每个核对算子,生成对应的计算任务。
[0146] 不同的算子类型的核对算子用于完成不同的数据处理逻辑。例如,业务属性类型的核对算子用于获取业务字段的字段值;脚本类型的核对算子用于执行SQL脚本获取对应的脚本计算结果;API类型的核对算子用于调用对应的API来获取API的返回值。
[0147] 进一步地,数据核对设备200针对不同算子类型的核对算子,生成与该算子类型的核对算子对应的计算任务。例如,通过与各个算子类型对应的算子计算引擎生成与该算子类型的核对算子对应的计算任务。算子计算引擎是一种用于进行算子计算的计算引擎。算子计算引擎专门用于处理和计算算子相关的数据和操作。算子是函数的一部分,可以对数据执行特定的操作或计算。例如,参照图8所示,在步骤S822中,通过业务属性计算引擎生成与业务属性算子对应的业务属性计算任务。在步骤S824中,通过sql算子计算引擎生成与sql脚本对应的sql计算任务;;通过API计算引擎生成对应的API调用任务。
[0148] 在步骤S830中,在执行完各个核对算子的计算任务之后,根据核对表达式进行数据核对。
[0149] 在示例实施例中,数据核对设备200针对不同算子类型的核对算子,通过对应的算子计算引擎执行对应的核对算子的计算任务,得到各个核对算子针对待核对数据的计算结果,基于各个核对算子的计算结果执行核对表达式,得到核对表达式的核对结果。例如,通过SQL算子计算引擎执行SQL核对算子对应的SQL计算任务;通过业务属性计算引擎执行业务属性算子对应的业务属性计算任务。
[0150] 设订单金额为A,已支付金额为B,优惠金额为C,核对表达式为attr(1)+sql(2)=attr(3),即B+C=A,其中,attr(1)与attr(3)均为业务属性类型的核对算子,sql(2)为脚本类型的核对算子,数据核对设备200针对核对算子attr(1)与attr(3),从交易信息中获取已支付金额为B和订单金额A,针对sql(2),执行对应的SQL脚本,从优惠金额配置表中查询对应的优惠金额C,判断已支付金额B与优惠金额C之和是否等于订单金额A,若已支付金额B与优惠金额C之和等于订单金额,则判定待核对数据为正常数据;若已支付金额B与优惠金额C之和不等于订单金额A,则判定待核对数据为异常数据。
[0151] 在步骤S840中,通知核对结果。
[0152] 在示例实施例中,数据核对设备200基于核对结果输出模板结合核对结果的配置信息的信息项输出数据核对的核对结果。例如,设核对结果的配置信息包括核对结果状态以及核对结果输出信息,核对结果输出模板为MarkDown格式,在超出告警时间之后,数据核对设备200基于MarkDown格式输出核对结果状态以及核对结果输出信息。核对结果状态包括核对通过、核对失败、核对异常已处理以及核对中等。
[0153] 图10示出了根据本说明书的一些实施例提供的核对成功输出的结果示意图。图11示出了根据本说明书的一些实施例提供的核对失败输出的结果示意图。参照图10和图11所示,核对规则名称为跨境人民币出境核对,业务周期均为20211203,算子11为清算人民币出境金额,算子2为跨境人民币出境金额,核对表达式为attr(1)=attr(2),其中,attr(1)为算子1,attr(2)为算子2,图10中的算子1的计算结果与算子2的计算结果相同,发出跨境资产核对成功通知;图11中算子1的计算结果与算子2的计算结果不同,发出跨境资产核对失败通知。
[0154] 在步骤S850中,进行核对异常处理。
[0155] 在示例实施例中。在核对异常结果处理的配置信息中配置异常结果处理信息,例如异常状态以及异常原因,异常状态包括待处理、处理中以及完成,数据核对设备200根据配置的异常结果处理信息来进行核对异常处理。参照图9所示,在核对异常结果处理的配置信息中配置资产ID、核对规则ID、业务周期、异常状态、异常原因、异常处理人、异常处理时间等,根据核对规则ID以及资产ID确定对应的核对异常结果处理的配置信息,根据该配置信息确定异常处理人以及异常处理时间等信息。
[0156] 根据图8的示例实施例中的技术方案,一方面,针对不同的数据处理逻辑设置包含对应的算子类型的核对算子,对核对算子进行组合形成核对表达式,生成并执行各个算子类型的核对算子的计算任务,不仅能够进一步灵活地对各种复杂场景的数据进行核对,而且能够提高数据处理效率;另一方面,可以根据不同的核对需求,选择合适的核对结果输出模板,展示对应的核对结果。
[0157] 本说明书另一方面提供一种非暂时性存储介质,存储有至少一组用来进行人群扩散的可执行指令。当所述可执行指令被处理器执行时,所述可执行指令指导所述处理器实施本说明书所述的数据核对方法的步骤。在一些可能的实施方式中,本说明书的各个方面还可以实现为一种程序产品的形式,其包括程序代码。当所述程序产品在数据核对设备200上运行时,所述程序代码用于使数据核对设备200执行本说明书描述的数据核对方法的步骤。用于实现上述方法的程序产品可以采用便携式紧凑盘只读存储器(CD‑ROM)包括程序代码,并可以在数据核对设备200上运行。然而,本说明书的程序产品不限于此,在本说明书中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统使用或者与其结合使用。所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在数据核对设备200上执行、部分地在数据核对设备200上执行、作为一个独立的软件包执行、部分在数据核对设备200上部分在远程计算设备上执行、或者完全在远程计算设备上执行。
[0158] 上述对本说明书特定实施例进行了描述。其他实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者是可能有利的。
[0159] 综上所述,在阅读本详细公开内容之后,本领域技术人员可以明白,前述详细公开内容可以仅以示例的方式呈现,并且可以不是限制性的。尽管这里没有明确说明,本领域技术人员可以理解本说明书需求囊括对实施例的各种合理改变,改进和修改。这些改变,改进和修改旨在由本说明书提出,并且在本说明书的示例性实施例的精神和范围内。
[0160] 此外,本说明书中的某些术语已被用于描述本说明书的实施例。例如,“一个实施例”,“实施例”和/或“一些实施例”意味着结合该实施例描述的特定特征,结构或特性可以包括在本说明书的至少一个实施例中。因此,可以强调并且应当理解,在本说明书的各个部分中对“实施例”或“一个实施例”或“替代实施例”的两个或更多个引用不一定都指代相同的实施例。此外,特定特征,结构或特性可以在本说明书的一个或多个实施例中适当地组合。
[0161] 应当理解,在本说明书的实施例的前述描述中,为了帮助理解一个特征,出于简化本说明书的目的,本说明书将各种特征组合在单个实施例、附图或其描述中。然而,这并不是说这些特征的组合是必须的,本领域技术人员在阅读本说明书的时候完全有可能将其中一部分设备标注出来作为单独的实施例来理解。也就是说,本说明书中的实施例也可以理解为多个次级实施例的整合。而每个次级实施例的内容在于少于单个前述公开实施例的所有特征的时候也是成立的。
[0162] 本文引用的每个专利,专利申请,专利申请的出版物和其他材料,例如文章,书籍,说明书,出版物,文件,物品等,可以通过引用结合于此。用于所有目的全部内容,除了与其相关的任何起诉文件历史,可能与本文件不一致或相冲突的任何相同的,或者任何可能对权利要求的最宽范围具有限制性影响的任何相同的起诉文件历史。现在或以后与本文件相关联。举例来说,如果在与任何所包含的材料相关联的术语的描述、定义和/或使用与本文档相关的术语、描述、定义和/或之间存在任何不一致或冲突时,使用本文件中的术语为准。
[0163] 最后,应理解,本文公开的申请的实施方案是对本说明书的实施方案的原理的说明。其他修改后实施例也在本说明书的范围内。因此,本说明书披露的实施例仅仅作为示例而非限制。本领域技术人员可以根据本说明书中的实施例采取替代配置来实现本说明书中的申请。因此,本说明书的实施例不限于申请中被精确地描述过的实施例。

当前第1页 第1页 第2页 第3页