首页 / 专利库 / 电信 / 输出节点 / 数据核对方法、装置、系统、计算机设备和存储介质

数据核对方法、装置、系统、计算机设备和存储介质

阅读:1发布:2021-08-18

专利汇可以提供数据核对方法、装置、系统、计算机设备和存储介质专利检索,专利查询,专利分析的服务。并且本 发明 涉及一种数据核对方法、装置、系统、计算机设备和存储介质,所述方法包括:获取第一核对任务,所述第一核对任务携带待核对的目标数据标识;获取所述第一核对任务对应的第一核对结果,所述第一核对结果是根据所述目标数据标识对应的第一核对规则对目标数据进行核对得到的;获取所述目标数据对应的前向依赖数据标识;根据所述前向依赖数据标识生成对应的第二核对任务;获取所述第二核对任务对应的第二核对结果,所述第二核对结果是根据所述前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;根据所述第一核对结果和所述第二核对结果对所述目标数据的核对结果进行异常 定位 。上述方法可以提高异常定位的速度。,下面是数据核对方法、装置、系统、计算机设备和存储介质专利的具体信息内容。

1.一种数据核对方法,所述方法包括:
获取第一核对任务,所述第一核对任务携带待核对的目标数据标识;
获取所述第一核对任务对应的第一核对结果,所述第一核对结果是根据所述目标数据标识对应的第一核对规则对目标数据进行核对得到的;
获取所述目标数据对应的前向依赖数据标识;
根据所述前向依赖数据标识生成对应的第二核对任务;
获取所述第二核对任务对应的第二核对结果,所述第二核对结果是根据所述前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;
根据所述第一核对结果和所述第二核对结果对所述目标数据的核对结果进行异常定位
2.根据权利要求1所述的方法,其特征在于,所述获取所述目标数据对应的前向依赖数据标识包括:
获取所述目标数据对应的前向关系链,所述前向关系链包括多个关系节点
分别获取所述各个关系节点中所述目标数据对应的各个前向依赖数据标识。
3.根据权利要求2所述的方法,其特征在于,所述关系节点为与业务流程对应的有序数据接口,所述分别获取所述各个关系节点中所述目标数据对应的各个前向依赖数据标识包括:
获取所述各个有序数据接口的输出数据对应的输出数据标识,将所述输出数据标识作为前向依赖数据标识。
4.根据权利要求3所述的方法,其特征在于,所述根据所述第一核对结果和所述第二核对结果对所述核对任务的核对结果进行异常定位包括:
从所述第一核对结果以及所述第二核对结果中获取存在异常的目标核对结果,获取所述目标核对结果对应的异常接口标识以及异常数据标识;
所述方法还包括:
输出所述异常接口标识以及所述异常数据标识。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据数据标识对应的区域确定对应的消息缓存区;
将所述第一核对任务放入与所述目标数据标识所在区域对应的第一消息缓存区,所述第一核对任务用于被所述目标数据标识所在区域的第一核对节点获取,所述第一核对节点根据所述第一核对任务获取与所述目标数据标识对应的所述第一核对规则,根据所述第一核对规则对所述目标数据进行核对,得到所述第一核对结果;
将所述第二核对任务放入与所述前向依赖数据标识所在区域对应的第二消息缓存区,所述第二核对任务用于被所述前向依赖数据标识所在区域的第二核对节点获取,所述第二核对节点根据所述第二核对任务获取与所述前向依赖数据标识对应的所述第二核对规则,根据所述第二核对规则对所述前向依赖数据进行核对,得到所述第二核对结果。
6.根据权利要求5所述的方法,其特征在于,所述目标数据标识为目标数据类型标识,所述将所述第一核对任务放入与所述目标数据标识所在区域对应的第一消息缓存区包括:
根据所述目标数据类型标识获取对应的各个目标数据表标识;
获取所述目标数据表标识所在的各个第一区域,将同一区域的数据表标识组成标识集合;
将所述第一核对任务拆分为所述标识集合对应的第一子任务;
将所述第一子任务放入到对应的标识集合所在区域对应的第一消息缓存区中。
7.根据权利要求5所述的方法,其特征在于,所述将所述第一核对任务放入与所述目标数据标识所在区域对应的第一消息缓存区包括:
获取所述目标数据标识对应的各个第一核对节点的数据核对性能和/或所述目标数据的数据量;
根据所述数据核对性能和/或所述目标数据的数据量确定所述第一核对任务对应的子任务的目标数目;
将所述第一核对任务进行拆分,得到第二子任务,所述第二子任务的数目与所述目标数目一致;
将所述第二子任务放入与所述目标数据标识所在区域对应的第一消息缓存区。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取存在依赖关系的各个业务数据对应的核对规则;
将各个业务数据标识与对应的核对规则进行关联形成关联关系。
9.一种数据核对装置,所述装置包括:
第一任务获取模,用于获取第一核对任务,所述第一核对任务携带待核对的目标数据标识;
第一结果获取模块,用于获取所述第一核对任务对应的第一核对结果,所述第一核对结果是根据所述目标数据标识对应的第一核对规则对目标数据进行核对得到的;
前向依赖数据标识获取模块,用于获取所述目标数据对应的前向依赖数据标识;
第二任务生成模块,用于根据所述前向依赖数据标识生成对应的第二核对任务;
第二结果获取模块,用于获取所述第二核对任务对应的第二核对结果,所述第二核对结果是根据所述前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;
定位模块,用于根据所述第一核对结果和所述第二核对结果对所述目标数据的核对结果进行异常定位。
10.根据权利要求9所述的装置,其特征在于,所述前向依赖数据标识获取模块包括:
关系链获取单元,用于获取所述目标数据对应的前向关系链,所述前向关系链包括多个关系节点;
前向依赖数据标识获取单元,用于分别获取所述各个关系节点中所述目标数据对应的各个前向依赖数据标识。
11.一种数据核对系统,所述系统包括:
管理节点,所述管理节点用于获取第一核对任务,所述第一核对任务携带待核对的目标数据标识;
第一数据核对节点,用于获取所述第一核对任务,根据所述第一核对任务中获取所述目标数据标识对应的第一核对规则,根据所述第一核对规则对目标数据进行核对得到第一核对结果;
所述管理节点还用于获取所述第一核对结果,获取所述目标数据对应的前向依赖数据标识,根据所述前向依赖数据标识生成对应的第二核对任务;
第二数据核对节点,用于获取所述第二核对任务,根据所述第二核对任务中获取所述前向依赖数据标识对应的第二核对规则,根据所述第二核对规则对所述前向依赖数据进行核对得到第二核对结果;
所述管理节点还用于获取所述第二核对结果,根据所述第一核对结果和所述第二核对结果对所述目标数据的核对结果进行异常定位。
12.根据权利要求11所述的系统,其特征在于,所述管理节点还用于:
获取所述目标数据对应的前向关系链,所述前向关系链包括多个关系节点;
分别获取所述各个关系节点中所述目标数据对应的各个前向依赖数据标识。
13.根据权利要求11所述的系统,其特征在于,所述管理节点,还用于根据数据标识对应的区域确定对应的消息缓存区;将所述第一核对任务放入与所述目标数据标识所在区域对应的第一消息缓存区,将所述第二核对任务放入与所述前向依赖数据标识所在区域对应的第二消息缓存区;
所述第一核对节点,还用于从所述第一消息缓存区获取第一核对任务,所述第一核对节点为所述目标数据标识所在区域对应的核对节点;
所述第二核对节点,还用于从所述第二消息缓存区获取第二核对任务,所述第二核对节点为所述前向依赖数据所在区域对应的核对节点。
14.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1至8中任一项权利要求所述数据核对方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至8任一项权利要求所述数据核对方法的步骤。

说明书全文

数据核对方法、装置、系统、计算机设备和存储介质

技术领域

[0001] 本发明涉及数据处理领域,特别是涉及数据核对方法、装置、系统、计算机设备和存储介质。

背景技术

[0002] 随着多媒体技术和网络技术的飞速发展和广泛应用,人们在日常生活和生产中产生大量的数据,例如在网络上进行购物时,会产生订单号、交易金额以及购物清单等数据。
[0003] 在产生数据的过程中,由于网络或者数据处理逻辑的错误,生成的数据可能是错误的,因此需要进行数据核对。目前,在对数据进行核对发现数据有错误时,需要人工查找原因,异常定位时间长,效率低。

发明内容

[0004] 基于此,有必要针对上述的问题,提供一种数据核对方法、装置、系统、计算机设备和存储介质,由于在对目标数据进行核对时,还对目标数据的前向依赖数据进行核对,根据目标数据的第一核对结果以及前向依赖数据的第二核对结果进行异常定位。因此,能够及时通过核对结果得到数据异常位置,异常定位时间短,提高了异常定位的效率。
[0005] 一种数据核对方法,所述方法包括:获取第一核对任务,所述第一核对任务携带待核对的目标数据标识;获取所述第一核对任务对应的第一核对结果,所述第一核对结果是根据所述目标数据标识对应的第一核对规则对目标数据进行核对得到的;获取所述目标数据对应的前向依赖数据标识;根据所述前向依赖数据标识生成对应的第二核对任务;获取所述第二核对任务对应的第二核对结果,所述第二核对结果是根据所述前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;根据所述第一核对结果和所述第二核对结果对所述目标数据的核对结果进行异常定位。
[0006] 一种数据核对装置,所述装置包括:第一任务获取模,用于获取第一核对任务,所述第一核对任务携带待核对的目标数据标识;第一结果获取模块,用于获取所述第一核对任务对应的第一核对结果,所述第一核对结果是根据所述目标数据标识对应的第一核对规则对目标数据进行核对得到的;前向依赖数据标识获取模块,用于获取所述目标数据对应的前向依赖数据标识;第二任务生成模块,用于根据所述前向依赖数据标识生成对应的第二核对任务;第二结果获取模块,用于获取所述第二核对任务对应的第二核对结果,所述第二核对结果是根据所述前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;定位模块,用于根据所述第一核对结果和所述第二核对结果对所述目标数据的核对结果进行异常定位。
[0007] 在其中一个实施例中,所述前向依赖数据标识获取单元用于:获取所述各个有序数据接口的输出数据对应的输出数据标识,将所述输出数据标识作为前向依赖数据标识。
[0008] 在其中一个实施例中,所述定位模块用于:从所述第一核对结果以及第二核对结果中获取存在异常的目标核对结果,获取所述目标核对结果对应的异常接口标识以及异常数据标识;所述装置还包括:输出模块,用于输出所述异常接口标识以及所述异常数据标识。
[0009] 在其中一个实施例中,所述装置还包括:缓存区确定模块,用于根据数据标识对应的区域确定对应的消息缓存区;第一放入模块,用于将所述第一核对任务放入与所述目标数据标识所在区域对应的第一消息缓存区,所述第一核对任务用于被所述目标数据标识所在区域的第一核对节点获取,所述第一核对节点根据所述第一核对任务获取与所述目标数据标识对应的所述第一核对规则,根据所述第一核对规则对所述目标数据进行核对,得到所述第一核对结果;
[0010] 第二放入模块,用于将所述第二核对任务放入与所述前向依赖数据标识所在区域对应的第二消息缓存区,所述第二核对任务用于被所述前向依赖数据标识所在区域的第二核对节点获取,所述第二核对节点根据所述第二核对任务获取与所述前向依赖数据标识对应的所述第二核对规则,根据所述第二核对规则对所述前向依赖数据进行核对,得到所述第二核对结果。
[0011] 在其中一个实施例中,所述第一放入模块包括:表标识获取单元,用于根据所述目标数据类型标识获取对应的各个目标数据表标识;集合组成单元,用于获取所述目标数据表标识所在的各个第一区域,将同一区域的数据表标识组成标识集合;第一拆分单元,用于将所述第一核对任务拆分为所述标识集合对应的第一子任务;第一放入单元,用于将所述第一子任务放入到对应的标识集合所在区域对应的第一消息缓存区中。
[0012] 在其中一个实施例中,所述第一放入模块包括:信息获取单元,用于获取所述目标数据标识对应的各个第一核对节点的数据核对性能和/或所述目标数据的数据量;数目确定单元,用于根据所述数据核对性能和/或所述目标数据的数据量确定所述第一核对任务对应的子任务的目标数目;第二拆分单元,用于将所述第一核对任务进行拆分,得到第二子任务,所述第二子任务的数目与所述目标数目一致;第二放入单元,用于将所述第二子任务放入与所述目标数据标识所在区域对应的第一消息缓存区。
[0013] 在其中一个实施例中,所述装置还包括:规则获取模块,用于获取存在依赖关系的各个业务数据对应的核对规则;关联模块,用于将各个业务数据标识与对应的核对规则进行关联形成关联关系。
[0014] 一种数据核对系统,所述系统包括:管理节点,所述管理节点用于获取第一核对任务,所述第一核对任务携带待核对的目标数据标识;第一数据核对节点,用于获取所述第一核对任务,根据所述第一核对任务中获取所述目标数据标识对应的第一核对规则,根据所述第一核对规则对目标数据进行核对得到第一核对结果;所述管理节点还用于获取所述第一核对结果,获取所述目标数据对应的前向依赖数据标识,根据所述前向依赖数据标识生成对应的第二核对任务;第二数据核对节点,用于获取所述第二核对任务,根据所述第二核对任务中获取所述前向依赖数据标识对应的第二核对规则,根据所述第二核对规则对所述前向依赖数据进行核对得到第二核对结果;所述管理节点还用于获取所述第二核对结果,根据所述第一核对结果和所述第二核对结果对所述目标数据的核对结果进行异常定位。
[0015] 一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述数据核对方法的步骤。
[0016] 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述数据核对方法的步骤。
[0017] 上述数据核对方法、装置、系统、计算机设备和存储介质,在需要进行数据核对时,获取第一核对任务,第一核对任务携带待核对的目标数据标识,获取第一核对任务对应的第一核对结果,第一核对结果是根据目标数据标识对应的第一核对规则对目标数据进行核对得到的,获取目标数据对应的前向依赖数据标识,根据前向依赖数据标识生成对应的第二核对任务,获取第二核对任务对应的第二核对结果,第二核对结果是根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的,根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。由于在对目标数据进行核对时,还对目标数据的前向依赖数据进行核对,根据目标数据的第一核对结果以及前向依赖数据的第二核对结果进行异常定位。因此,能够及时通过核对结果得到数据异常位置,异常定位时间短,提高了异常定位的效率。附图说明
[0018] 图1为一个实施例中提供的数据核对方法的应用环境图;
[0019] 图2为一个实施例中数据核对方法的流程图
[0020] 图3为一个实施例中获取目标数据对应的前向依赖数据标识的流程图;
[0021] 图4为一个实施例中数据核对方法的流程图;
[0022] 图5为一个实施例中将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区的流程图;
[0023] 图6为一个实施例中将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区的流程图;
[0024] 图7为一个实施例中数据核对系统的结构框图
[0025] 图8为一个实施例中数据核对系统的架构图;
[0026] 图9为一个实施例中数据核对装置的结构框图;
[0027] 图10为一个实施例中前向依赖数据标识获取模块的结构框图;
[0028] 图11为一个实施例中数据核对装置的结构框图;
[0029] 图12为一个实施例中第一放入模块的结构框图;
[0030] 图13为一个实施例中第一放入模块的结构框图;
[0031] 图14为一个实施例中计算机设备的内部结构框图。

具体实施方式

[0032] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0033] 可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一消息缓冲区称为第二消息缓冲区,且类似地,可将第二消息缓冲区称为第一消息缓冲区。
[0034] 图1为一些实施例中提供的数据核对方法的应用环境图,如图1所示,在该应用环境中,包括管理节点110、第一核对节点120A、第二核对节点120B以及数据存储节点A~数据存储节点F。第一核对节点120A与第二核对节点120B可以处于不同的地理区域,第一核对节点120A与数据存储节点A、数据存储节点B以及数据存储节点C处于相同区域,第二核对节点120B与数据存储节点D、数据存储节点E以及数据存储节点F处于相同区域。管理节点110可以与第一核对节点120A或者第二核对节点120B中的一个处于同一区域,也可以处于与第一核对节点120A以及第二核对节点120B均不相同的区域。管理节点110用于获取第一核对任务,其中第一核对任务携带待核对的目标数据标识,目标数据存储在数据存储节点A中,管理节点110将第一核对任务发送到第一核对节点120A中,第一核对节点120A获取目标数据标识对应的第一核对规则,根据第一核对规则对目标数据进行核对,得到第一核对结果。当第一核对结果为目标数据存在异常时,管理节点110获取目标数据对应的前向依赖数据标识,根据前向依赖数据标识生成对应的第二核对任务,前向依赖数据存储在第二核对节点对应的数据存储节点中,管理节点110将第二核对任务发送到第二核对节点120B中,第二核对节点120B获取前向依赖数据标识对应的第二核对规则,根据第二核对规则对前向依赖数据进行核对,得到第二核对结果。管理节点110获取第一核对结果以及第二核对结果,根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。
[0035] 可以理解,上述实施例提供的数据核对方法的应用场景仅是一个示例,在一些实施例中,管理节点110、第一核对节点120A、第二核对节点120B以及各个数据存储节点还可以集成于同一个节点或者与图1的示例有不同的分布方式,例如,管理节点110、第一核对节点120A以及第二核对节点120B可以集成于同一个节点,或者第一核对节点120A、第二核对节点120B以及各个数据存储节点还可以集成于同一个节点。在此不做限制。
[0036] 上述的各个节点可以是独立的物理服务器或终端,服务器可以是多个物理服务器构成的服务器集群,可以是提供服务器、云数据库、云存储和CDN等基础云计算服务的云服务器。终端可以是多个终端构成的终端集群,终端可以是智能手机、平板电脑笔记本电脑、台式计算机、智能音箱和智能手表等,但并不局限于此。
[0037] 上述的各个管理节点与核对节点之间以及核对节点与数据存储节点之间可以通过网络或者蓝牙等通讯连接方式进行连接,本发明在此不做限制。
[0038] 如图2所示,在一些实施例中,提出了一种数据核对方法,本实施例主要以该方法应用于上述图1中的管理节点110来举例说明。具体可以包括以下步骤:
[0039] 步骤S202,获取第一核对任务,第一核对任务携带待核对的目标数据标识。
[0040] 具体地,目标数据标识用于标识目标数据,目标数据标识可以用于标识一个或多个目标数据。例如,目标数据标识可以是数据的类型标识,也可以是具体的数据的标识,具体不做限制。数据的类型可以用存储数据的节点标识表示,如为数据存储服务器001,也可以用数据对应的业务类型标识表示,如为支付类型,数据的类型也可以用时间表示,例如目标数据可以为具体的某一天的数据。具体的数据标识例如可以是商品交易的订单号再加上交易金额的字段名。数据标识可以是数字、语言文字以及字母中的一个或多个组成得到的,例如目标数据标识可以是服务器001A。第一核对任务可以是根据预先设置的任务触发条件自动触发的,也可以是接收到用户的发送的核对请求时触发的。
[0041] 在一些实施例中,任务触发条件可以是在预设的时间自动触发核对任务或者是在检测到数据存储节点中的数据有更新时自动触发任务。例如,当需要利用测试用例对应用进行测试,以确定应用的运行是否存在问题时,可以在测试用例执行完毕,得到对应的测试数据时触发核对任务。
[0042] 在一些实施例中,当用户需要对目标数据进行核对时,可以在管理节点的前端界面上输入目标数据标识,并发送数据核对请求,管理节点根据数据核对请求得到第一核对任务。或者,管理节点可以预先存储数据标识并展示在显示界面上,根据用户对数据标识的选取得到需要进行核对的目标数据标识。
[0043] 在一些实施例中,目标数据可以是存储在不同的数据库表中的。例如,为了降低数据存储节点的负载,需要将数据拆分存储在不同的数据表中,数据拆分的规则可以根据需要进行设置,例如按数据产生的日期进行拆分。因此,管理节点可以预先获取拆分后的数据表标识并展示在显示界面上,接收用户选取的数据表标识,作为目标数据标识。
[0044] 在一些实施例中,管理节点也可以获取存储数据的各个设备的标识并展示在显示界面上,接收用户选取的需要进行数据核对的设备标识,作为目标数据标识。
[0045] 步骤S204,获取第一核对任务对应的第一核对结果,第一核对结果是根据目标数据标识对应的第一核对规则对目标数据进行核对得到的。
[0046] 具体地,第一核对结果可以为存在异常或不存在异常。在一些实施例中,第一核对结果中还包括存在异常的异常数据标识。例如,当目标数据标识为支付金额对应的标识时,若检测到某一订单的支付金额存在异常,则可以输出存在异常的数据的主键如订单号。核对规则用于对数据进行核对,以确定数据是否异常,具体的核对规则可以根据存储的数据的要求进行设置,目标数据标识对应的第一核对规则可以为一个或多个,具体不做限制。例如对于订单的交易金额数据,核对规则可以是交易金额数据小于0,对于转账金额数据,核对规则可以是转入账户中增加的金额的数值与转出账户中减少的金额的数值不相同。规则可以用正则表达式进行表示,正则表达式是对字符串进行过滤的一种逻辑公式,用事先定义好的一些特定字符及这些特定字符的组合,组成一个“规则字符串”,利用“规则字符串”对数据进行过滤。例如,正则表达式可以是“^[0-9]*$”,表示要过滤数字类型的数据。第一核对规则是目标数据标识对应的核对规则。第一核对规则可以与目标数据标识预先对应存储在管理节点中,第一核对结果是利用第一核对规则对目标数据进行核对后得到的。
[0047] 在一些实施例中,根据目标数据标识对应的第一核对规则对目标数据进行核对得到第一核对结果的步骤可以是在管理节点中执行的,也可以是在其他节点中执行的。例如,当管理节点、数据核对节点以及存储目标数据的节点为同一个节点时,管理节点根据第一核对规则对目标数据进行核对。或者,当管理节点、数据核对节点以及存储目标数据的节点为不同的节点时,管理节点可以将第一核对任务发送到数据核对节点,数据核对节点获取目标数据,并根据第一核对规则对目标数据进行核对。或者,数据核对节点在获取到第一核对任务后,可以获取第一核对规则,并向数据存储节点发送数据核对请求,数据核对请求中携带第一核对规则以及目标数据标识,数据存储节点根据第一核对规则对目标数据进行核对,将存在异常的异常数据对应的异常数据标识返回给数据核对节点。
[0048] 在一些实施例中,第一核对结果可以包括核对结果为正常的数据的标识以及核对结果为异常的数据的标识,如可以将核对结果为正常的数据的标识存储在第一存储区域中,将核对结果为异常的数据的标识存储在第二存储区域中。或者,也可以只存储核对结果为异常的数据的标识。
[0049] 步骤S206,获取目标数据对应的前向依赖数据标识。
[0050] 具体地,前向依赖数据标识用于标识前向依赖数据,目标数据对应的前向依赖数据是得到目标数据之前要获取得到的数据,且是得到目标数据所需要的数据。前向依赖数据可以为直接依赖的数据以及间接依赖的数据。例如,当目标数据为交易金额时,需要根据订单中商品的总价以及折扣得到具体的交易金额,则商品的总价以及折扣为交易金额对应的直接依赖的数据。而商品的总价还需要根据商品的个数以及每个商品的单价得到,则商品的个数以及商品的单价为交易金额对应的间接依赖的数据。目标数据对应的前向依赖数据的个数可以为一个或多个。
[0051] 在一些实施例中,也可以预先设置前向依赖数据的个数,根据前向依赖数据的个数确定目标依赖距离,获取与前向依赖数据的依赖距离小于或等于目标依赖距离的前向依赖数据的标识。例如,假设目标数据为D数据,D数据的直接前向依赖数据为C数据,C数据的直接前向依赖数据为B数据,B数据的直接前向依赖数据为A数据,则D数据的前向依赖数据为A、B以及C,预先设置的前向依赖数据的个数为2,则目标依赖距离为2,故将C以及B作为D数据的前向依赖数据标识。
[0052] 在一些实施例中,前向依赖数据标识可以是根据接口调用日志得到的,目标数据的前向依赖数据可以是得到目标数据的接口在得到目标数据时,调用其他接口得到的数据,在调用接口时,可以存储所调用的接口标识以及前向依赖数据标识的日志,因此,可以从日志记录中获取得到目标数据时直接调用的直接前向依赖数据标识以及间接调用的间接前向依赖数据标识。
[0053] 步骤S208,根据前向依赖数据标识生成对应的第二核对任务。
[0054] 具体地,第二核对任务用于指示对前向依赖数据进行核对。第二核对任务携带前向依赖数据标识。当得到前向依赖数据标识后,生成对前向依赖数据标识对应的前向依赖数据进行核对的第二核对任务。
[0055] 步骤S210,获取第二核对任务对应的第二核对结果,第二核对结果是根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的。
[0056] 具体地,第二核对结果可以为存在异常或不存在异常。在一些实施例中,第二核对结果中还包括前向依赖数据标识中存在异常的异常数据标识。
[0057] 在一些实施例中,第二核对结果可以包括核对结果为正常的数据的标识以及核对结果为异常的数据的标识,如可以将第二核对结果中核对结果为正常的数据的标识存储在第三存储区域中,将核对结果为异常的数据的标识存储在第四存储区域中。或者,也可只存储第二核对结果中结果为异常的数据的标识。
[0058] 在一些实施例中,根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到第二核对结果的步骤可以是在管理节点中执行的,也可以是在其他节点中执行的。例如,管理节点、数据核对节点以及存储目标数据的节点为同一个节点时,管理节点根据第二核对规则对前向依赖数据进行核对。或者,管理节点、数据核对节点以及存储目标数据的节点为不同的节点,管理节点可以将第二核对任务发送到数据核对节点。数据核对节点获取前向依赖数据,并核对前向依赖数据是否满足第二核对规则。或者,数据核对节点在获取到第二核对任务后,可以获取第二核对规则,并向对应的数据存储节点发送数据核对请求,数据核对请求中携带第二核对规则以及前向依赖数据标识,数据存储节点根据第二核对规则进行核对,将存在异常的异常数据对应的异常数据标识返回给数据核对节点。
[0059] 步骤S212,根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。
[0060] 具体地,获取得到第一核对结果以及第二核对结果后,确定第一核对结果以及第二核对结果是否存在异常,并定位异常所在的位置。例如,将核对结果为存在异常的数据所在的接口作为异常的位置。或者,可以获取第一核对结果以及第二核对结果中核对结果为异常的数据的标识。
[0061] 在一些实施例中,还可以输出进行异常定位得到的异常位置,例如,可以将存在异常的接口的标识以及对应的数据的标识显示在预先设置的终端的界面上。或者,将异常的数据的标识以及对应的核对规则显示在终端的界面上。
[0062] 在一些实施例中,得到目标数据的核对结果后,还可以获取目标数据对应的联系人的联系方式,将目标数据的核对结果发送给联系方式对应的终端中。使对应的用户可以获取异常信息。联系方式可以是预先设置的,例如可以为电话号码或者邮箱地址的。当为邮箱地址时,可以生成异常对应的异常通知邮件,异常通知邮件包括存在异常的异常位置,并根据邮箱地址发送异常通知邮件。
[0063] 在一些实施例中,可以将异常通知邮件加入到邮件缓存区中例如邮件队列中,由联系信息对应的设备监控邮件队列,当存在对应的邮件时,拉取异常通知邮件。
[0064] 在一些实施例中,数据标识与核对规则是对应存储的,得到目标数据标识后,可以根据目标数据标识获取对应的第一核对规则,根据前向数据标识获取对应的第二核对规则。因此,在根据目标数据标识获取对应的第一核对规则以及根据前向依赖数据标识获取对应的第二核对规则之前,数据核对方法还可以包括以下步骤:获取存在依赖关系的各个业务数据对应的核对规则,将各个业务数据标识与对应的核对规则进行关联形成关联关系。
[0065] 具体地,业务数据是指在进行业务活动产生的数据,业务数据标识用于标识业务数据。当需要依赖其他业务数据得到当前业务数据,则当前业务数据与其依赖的其他业务数据具有依赖关系。通过获取存在依赖关系的各个业务数据对应的核对规则,并将业务数据标识与对应的核对规则进行关联形成关联关系,可以在需要对其中的目标业务数据进行核对时,获取得到目标业务数据依赖的业务数据的业务数据标识以及对应的核对规则,并利用对应的核对规则对依赖的业务数据进行核对,确定目标数据所依赖的各个业务流程是否存在异常。
[0066] 在一些实施例中,可以在当利用第一核对规则对目标数据进行核对得到第一核对结果,且第一核对结果为目标数据存在异常时才执行步骤S206~S212,当第一核对结果为目标数据不存在异常时则不执行步骤S206~S212,以减少核对的数据量。当然也可以当接收到第一核对任务时,无论第一核对结果是否存在异常,均执行步骤S206~S212,以在根据第一核对规则无法核对出目标数据的异常时,进一步根据前向依赖数据是否存在异常确定目标数据是否存在异常。
[0067] 上述数据核对方法,在需要进行数据核对时,获取第一核对任务,第一核对任务携带待核对的目标数据标识,获取第一核对任务对应的第一核对结果,第一核对结果是根据目标数据标识对应的第一核对规则对目标数据进行核对得到的,获取目标数据对应的前向依赖数据标识,根据前向依赖数据标识生成对应的第二核对任务,获取第二核对任务对应的第二核对结果,第二核对结果是根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的,根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。由于在对目标数据进行核对时,还对目标数据的前向依赖数据进行核对,根据目标数据的第一核对结果以及依赖数据的第二核对结果进行异常定位。因此,能够及时通过核对结果得到数据异常位置,异常定位时间短,提高了异常定位的效率。
[0068] 在一些实施例中,如图3所示,步骤S206即获取目标数据对应的前向依赖数据标识的步骤具体可以包括以下步骤:
[0069] 步骤S302,获取目标数据对应的前向关系链,前向关系链包括多个关系节点。
[0070] 具体地,关系节点是指与目标数据所在的当前节点存在依赖关系的数据节点。关系节点可以包括直接关系节点以及间接关系节点。直接关系节点是得到目标数据所直接依赖的数据对应的节点,间接关系节点是得到目标数据所间接依赖的数据对应的节点。目标数据对应的前向关系链是根据得到目标数据时所依赖的关系节点间的依赖顺序得到的。例如,假设目标数据为D数据,D数据的直接前向依赖数据为C数据,C数据的直接前向依赖数据为B数据,B数据的直接前向依赖数据为A数据,D、C、B、A对应的节点分别为4、3、2、1,则前向关系链可以为1-2-3-4。
[0071] 步骤S304,分别获取各个关系节点中目标数据对应的各个前向依赖数据标识。
[0072] 具体地,得到前向关系链后,获取在得到目标数据时,前向关系链的各个关系节点中输出的数据标识,作为前向依赖数据标识。
[0073] 在一些实施例中,关系节点为与业务流程对应的有序数据接口,分别获取各个关系节点中目标数据对应的各个前向依赖数据标识包括:获取各个有序数据接口的输出数据对应的输出数据标识,将输出数据标识作为前向依赖数据标识。
[0074] 具体地,业务流程是为完成业务活动所经历的过程,接口是指API(Application Programming Interface,应用程序编程接口)函数。可以根据实际需要将业务活动分为多个业务流程,完成业务活动的过程是有序的,例如,对于一个交易活动,可以分为加入购物车、提交订单、支付、结算系统进行结算以及将交易金额转入商家所在的账户多个业务流程,这些业务流程是有序进行的,因此业务流程对应的数据接口的依赖关系也是有序的,如订单接口需要调用购物车接口的数据生成订单,支付接口需要调用订单接口的金额生成支付数据以及交易接口需要调用支付接口的支付数据得到交易数据。因此,可以获取各个有序数据接口输出到下一接口的数据对应的输出数据的输出数据标识,将该输出数据标识作为前向依赖数据标识。例如,假设目标数据为D数据,D数据的直接前向依赖数据为C数据,C数据的直接前向依赖数据为B数据,B数据的直接前向依赖数据为A数据,D、C、B、A对应的接口分别为4、3、2、1,则前向关系链可以为1-2-3-4。因此,可以获取1接口输出到2接口的第一数据标识,获取2接口输出到3接口的第二数据标识,获取3接口输出到4接口的第三数据标识,将第一数据标识、第二数据标识以及第三数据标识作为前向依赖数据标识。
[0075] 在一些实施例中,根据第一核对结果和第二核对结果对核对任务的核对结果进行异常定位包括:从第一核对结果以及第二核对结果中获取存在异常的目标核对结果,获取目标核对结果对应的异常接口标识以及异常数据标识。数据核对方法还包括:输出异常接口标识以及异常数据标识。
[0076] 具体地,数据是否异常需要根据实际进行定义。异常数据标识为存在异常的数据的标识。例如,对于密码,假设密码的要求为长度大于8位,且为英文字母以及数字的组合,则长度小于8位或者不是英文字母与数字结合的密码为存在异常的数据。对于第一核对结果以及第二核对结果中存在异常的目标核对结果,获取异常数据标识所在的接口标识作为异常接口标识,并输出异常接口标识以及异常数据标识,以使得能够及时对异常接口存在的错误进行修正,提高数据的准确性。
[0077] 在一些实施例中,还可以输出核对出数据存在异常的核对规则,以可以根据核对规则确定数据存在异常的原因,及时对异常问题进行修正,提高数据的准确性。
[0078] 在一些实施例中,如图4所示,数据核对方法还可以包括以下步骤:
[0079] 步骤S402,根据数据标识对应的区域确定对应的消息缓存区。
[0080] 具体地,区域可以根据地理位置划分,区域的划分方法可以根据需要进行设置。可以是将一个城市作为一个区域,也可以将一个办公楼作为一个区域。数据标识对应的区域是数据标识对应的数据所在的区域。数据是存储在多个区域的,各个区域对应有消息缓存区,因此可以根据数据标识对应的区域确定对应的消息缓存区。例如,假设数据标识对应的区域有a1区域、a2区域,则可以建立a1区域对应的消息缓存区以及a2区域对应的消息缓存区。
[0081] 步骤S404,将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区,第一核对任务用于被目标数据标识所在区域的第一核对节点获取,第一核对节点根据第一核对任务获取与目标数据标识对应的第一核对规则,根据第一核对规则对目标数据进行核对,得到第一核对结果。
[0082] 具体地,第一核对节点是设置在目标数据所在区域的节点,用于获取目标数据标识所在区域对应的核对任务,并根据核对任务进行核对。第一核对规则可以是第一核对任务携带的,第一核对节点也可以预先存储数据标识与核对规则的关系,当接收到目标数据标识后,获取目标数据标识对应的第一核对规则。确定了各个区域对应的消息缓存区后,则可以获取目标数据标识所在的区域,将第一核对任务放入到目标数据标识所在区域对应的第一消息缓存区中,使第第一核对节点获取第一核对任务,根据第一核对任务获取与目标数据标识对应的第一核对规则,根据第一核对规则对目标数据进行核对,得到第一核对结果。
[0083] 在一些实施例中,管理节点中可以存储数据标识与区域的对应关系,得到目标数据标识后,根据数据标识与区域的对应关系获取目标数据标识所在的区域。
[0084] 在一些实施例中,目标数据标识可以是IP地址,目标数据为IP地址对应的计算机设备上存储的数据,不同的区域可以对应不同的IP地址段,因此可以根据IP地址确定目标数据标识对应的区域。
[0085] 在一些实施例中,当管理节点获取到第一核对任务后,还可以向存储目标数据的节点发送区域获取请求,管理节点将存储目标数据的节点返回的区域作为目标数据标识对应的区域。
[0086] 在一些实施例中,可以设置响应时间与区域的对应关系,管理节点还可以向存储目标数据的节点发送ping命令,根据存储目标数据的节点返回响应数据包的响应时间确定目标数据标识对应的区域。例如,可以设置当响应时间小于0.05s时,对应的区域为管理节点所在的城市,当设置当响应时间大于0.05s时,对应的区域为b城市。ping命令属于TCP/IP协议的一部分。利用ping命令可以向网络中的另一个设备发送测试数据包,接收到测试数据包的设备返回测试数据包对应的响应数据包。
[0087] 在一些实施例中,目标数据标识所在区域也可以是用户输入的,当需要对目标数据进行核对时,用户可以输入或者选择目标数据标识对应的区域。
[0088] 步骤S406,将第二核对任务放入与前向依赖数据标识所在区域对应的第二消息缓存区,第二核对任务用于被前向依赖数据标识所在区域的第二核对节点获取,第二核对节点根据第二核对任务获取与前向依赖数据标识对应的第二核对规则,根据第二核对规则对前向依赖数据进行核对,得到第二核对结果。
[0089] 具体地,第二核对节点是设置在前向依赖数据所在区域的节点,用于获取前向依赖数据所在区域对应的核对任务,并根据核对任务进行核对。第二核对规则可以是第二核对任务携带的,第二核对节点也可以预先存储数据标识与核对规则的关系,当接收到前向依赖数据标识后,获取前向依赖数据标识对应的第二核对规则。确定了各个区域对应的消息缓存区后,则可以获取前向依赖数据标识所在的区域,将第二核对任务放入到前向依赖数据标识所在区域对应的第二消息缓存区中,使第二核对节点获取第二核对任务,根据第二核对任务获取与前向依赖数据识对应的第二核对规则,根据第二核对规则对前向依赖数据进行核对,得到第二核对结果。前向依赖数据标识所在区域的获取方法可以参照目标数据标识所在区域的方法,在此不再赘述。
[0090] 可以理解,第二消息缓存区以及第一消息缓存区可以不同也可以相同,例如,当前向依赖数据标识所在区域与目标依赖数据标识所在区域相同时,第二消息缓存区以及第一消息缓存区相同。当前向依赖数据标识所在区域与目标依赖数据标识所在区域不相同时,第二消息缓存区以及第一消息缓存区不相同。
[0091] 在一些实施例中,消息缓存区可以为消息中间件消息中间件可以是集成在消息服务器中的,消息中间件是一种用于发送和接收消息的硬件软件装置,采用消息中间件机制的系统中,不同的对象之间通过传递消息来激活对方的事件,完成相应的操作。即消息发送设备可以将消息发送给消息服务器,消息服务器将消息存放在消息队列中,再将消息转发给接收设备。因此,当要进行核对时,管理节点将第一核对任务以及第二核对任务发送到消息服务器的消息队列中,数据核对节点可以从对应的消息中间件中获取核对任务,根据核对任务进行数据核对。本发明实施例中,采用消息中间件的形式,可以使管理节点在发送核对任务时,实现异步发送,因此无需与数据核对节点建立长连接以等待数据核对结果。
[0092] 在一些实施例中,可以是核对节点主动拉取核对任务,也可以是由消息缓存区对应的节点如消息服务器将核对任务发送到核对节点中。例如管理节点、消息中间件以及核对节点可以采用生产者以及消费者架构,生产者以及消费者架构中,存在生产者和消费者两种色,生产者和消费者可以通过消息缓冲区进行通信,生产者生产消息,消费者订阅特定主题的消息,消息缓冲区中的消息队列是根据消息的主题确定的,一个消息队列对应一个主题。消息的主题可以根据实际需要进行设置。当生产者生产消息后,发送消息到对应的消息队列中,消费者监控订阅的主题对应的消息队列中是否存在未消费的消息,若存在,则获取消息进行消费。因此管理节点为消息即核对任务的生产者,管理节点将核对任务发送到消息中间件对应的消息队列中,消息中间件的消息队列以区域为主题进行划分,消费者即数据核对节点监控到其所在区域对应的消息队列中存在核对任务时,获取核对任务,并根据核对任务进行核对。
[0093] 本发明实施例中,由于可以根据数据标识对应的区域将核对任务放在相应的区域对应的消息队列中,由相应区域的核对节点获取核对任务进行核对,因此可以提高数据核对的速度。
[0094] 在一些实施例中,目标数据标识为目标数据类型标识,如图5所示,步骤S404即将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区的步骤具体可以包括以下步骤:
[0095] 步骤S502,根据目标数据类型标识获取对应的各个目标数据表标识。
[0096] 具体地,数据类型标识用于标识数据类型,数据类型的划分规则可以根据需要定义。在一些实施例中,可以以业务类型进行划分或者时间进行划分,例如支付业务数据对应一种数据类型,借贷业务数据对应另一种数据类型。或者当前时间段产生的数据对应一种数据类型,历史时间段产生的数据对应另一种数据类型。为了降低数据存储节点的负载,提高读取数据的速度和并发量,可以将同一数据类型的数据存储在不同的数据表中,并获取数据的类型与数据表标识的对应关系。因此,得到目标数据类型标识后,获取目标数据类型标识对应的目标数据表标识。
[0097] 步骤S504,获取目标数据表标识所在的各个第一区域,将同一区域的数据表标识组成标识集合。
[0098] 具体地,得到目标数据表标识后,获取各个目标数据表标识所在的区域,并将同一个区域的数据表标识进行组合得到标识集合。
[0099] 步骤S506,将第一核对任务拆分为标识集合对应的第一子任务。
[0100] 具体地,得到各个标识集合后,将第一核对任务拆分为标识集合对应的子任务,即一个标识集合可以对应一个或多个子任务,一个子任务对应一个区域对应的标识集合,使得子任务对应的待核对数据为存储在同一区域的数据。
[0101] 步骤S508,将子任务放入到对应的标识集合所在区域对应的第一消息缓存区中。
[0102] 具体地,第一消息缓存区可以有多个,得到子任务后,获取各个子任务对应的标识集合所在的区域,然后获取该区域对应的第一消息缓存区,将子任务放入到对应的标识集合所在区域对应的第一消息缓存区中。
[0103] 例如,假设第一核对任务为对b1、b2、b3以及b4共四个目标数据进行核对,b1以及b2所在的区域为d区域,b3以及b4所在的区域为e区域,则b1以及b2组成第一标识集合,b3以及b4组成第二标识集合。将第一核对任务拆分为h1子核对任务以及h2子核对任务,其中h1子核对任务对第一标识集合对应的b1以及b2数据进行核对,h2子核对任务对第二标识集合对应的b3以及b4数据进行核对,并将h1子核对任务放入d区域对应的消息缓存区中,将h2子核对任务放入e区域对应的消息缓存区中。
[0104] 在一些实施例中,步骤S406即将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区包括:
[0105] 步骤S602,获取目标数据标识对应的各个第一核对节点的数据核对性能和/或目标数据的数据量。
[0106] 具体地,数据核对性能可以用第一核对节点的历史核对速度、当前历史核对速度以及硬件性能例如处理器的性能中的一种或多种进行表示。处理器的性能可以用处理器的工作频率表示。目标数据的数据量指目标数据所占的存储容量,容量的单位可以用G、KB或者其他数据量单位进行表示。可以获取第一核对节点的数据核对性能以及目标数据的数据量中的一种或两种。
[0107] 步骤S604,根据数据核对性能和/或目标数据的数据量确定第一核对任务对应的子任务的目标数目。
[0108] 具体地,可以设置数据核对性能与子任务的数目的对应关系。例如可以设置各个第一数据核对节点的当前核对速度与子任务的数目的对应关系,获取得到各个第一数据核对节点的当前核对速度对应的子数目后,对子数目进行求和计算,得到目标数目。或者可以设置各个第一数据核对节点的当前处理速度的和与子任务的数目的对应关系,得到各个第一数据核对节点的当前核对速度后,对当前核对速度进行求和计算,得到当前核对速度的和,再获取当前核对速度的和对应的子任务的数目,作为目标数目。或者可以设置数据量与子任务的数目的关系,得到目标数据的数据量后,得到对应的目标数目。在一些实施例中,数据核对性能和/或目标数据的数据量与子任务的数目的对应关系可以通过实验或者经验得到。
[0109] 步骤S606,将第一核对任务进行拆分,得到第二子任务,第二核对任务的数目与目标数目一致。
[0110] 具体地,得到目标数目后,按照目标数目的数量将第一核对任务拆分成数目与目标数目一致的第二子任务。例如,当目标数目为8,则将第一核对任务拆分为8个第二子任务。
[0111] 步骤S608,将第二子任务放入与目标数据标识所在区域对应的第一消息缓存区。
[0112] 具体地,得到第二子任务后,将第二子任务放入与目标数据标识对应的区域对应的第一消息缓存区,使得第一核对节点可以获取第二子任务进行数据核对。
[0113] 本发明实施例中,通过将第一核对任务拆分为多个子核对任务,使得当目标数据的数据量大或者第一数据核对节点的数据性能不满足核对所需要的负载时,可以通过多个第一数据核对节点对目标数据进行核对,提高数据核对的速度。
[0114] 可以理解,也可以根据第二核对节点的数据核对性能和/或前向依赖数据的数据量得到第二核对任务的子任务的数目,将第二核对任务拆分为多个子任务,具体可以参照步骤S602~S608的方法,在此不再赘述。
[0115] 以下以对订单中的支付金额进行核对为例,对本发明实施例提供的数据核对方法进行说明,具体如下;
[0116] 1、管理节点接收支付金额核对任务,核对任务中携带支付金额对应的字段名以及存储支付金额的存储区域,存储区域为深圳。例如,用户可以在管理节点的前端页面上输入支付金额对应的字段名以及存储区域,然后点击“核对”按钮发起核对任务,管理节点接收核对任务。
[0117] 2、管理节点获取存储支付金额的存储区域对应的消息队列,将支付金额核对任务发送到对应的消息队列中。例如,当存储为深圳时,可以将支付金额核对任务发送到深圳对应的消息队列中。
[0118] 3、核对节点从消息队列中获取支付金额核对任务,根据支付金额核对任务对支付金额进行核对,得到核对结果。具体地,深圳所在区域的核对节点对深圳对应的消息队列中的消息进行监控,当监控到深圳对应的消息队列存在未处理的支付金额核对任务时,从该消息队列中获取支付金额核对任务,其中核对节点中预先存储了支付金额对应的核对规则,因此可以获取支付金额对应的核对规则对支付金额进行核对。
[0119] 4、核对节点将对支付金额进行核对得到的核对结果存储在预设的数据库中。核对结果可以为存在异常的数据对应的异常数据标识。例如,当核对到订单号为001的支付金额存在异常时,将001订单号以及支付金额的字段名称存储到预设的数据库中。
[0120] 5、管理节点获取存在异常的订单号,在支付日志中获取计算得到该订单号的支付金额时对应的前向依赖数据标识以及对应的接口,例如生成支付金额是调用了订单号001的商品数量以及商品单价,所调用的接口为订单生成接口。订单生成接口也可能会调用其他接口的数据生成商品数量以及商品单价,因此订单生成接口生成商品数量以及商品单价时所调用的数据也可以为前向依赖数据。即订单号001的商品数量以及商品单价、生成商品数量以及商品单价时调用的数据的标识均为订单号001的支付金额对应的前向依赖数据标识。
[0121] 6、管理节点根据前向依赖数据标识生成对应的第二核对任务,第二核对任务用于对前向依赖数据标识对应的前向依赖数据进行核对,得到第二核对结果。核对的过程可以参照与目标数据的核对过程,具体不再赘述。
[0122] 7、管理节点获取第二核对结果中存在异常的前向依赖数据标识以及对应的接口标识,作为导致001订单号对应的支付金额产生异常的异常位置。
[0123] 如图7所示,在一些实施例中,提供了一种数据核对系统,系统包括:
[0124] 管理节点110,管理节点用于获取第一核对任务,第一核对任务携带待核对的目标数据标识。
[0125] 第一数据核对节点120A,用于获取第一核对任务,根据第一核对任务中获取目标数据标识对应的第一核对规则,根据第一核对规则对目标数据进行核对得到第一核对结果。
[0126] 管理节点110还用于获取第一核对结果,获取目标数据对应的前向依赖数据标识,根据前向依赖数据标识生成对应的第二核对任务。
[0127] 第二数据核对节点120B,用于获取第二核对任务,根据第二核对任务中获取前向依赖数据标识对应的第二核对规则,根据第二核对规则对前向依赖数据进行核对得到第二核对结果。
[0128] 管理节点110还用于获取第二核对结果,根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。
[0129] 在一些实施例中,管理节点110,还用于根据数据标识对应的区域确定对应的消息缓存区。将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区,将第二核对任务放入与前向依赖数据标识所在区域对应的第二消息缓存区。第一核对节点120A,还用于从第一消息缓存区获取第一核对任务,第一核对节点为目标数据标识所在区域对应的核对节点。第二核对节点120B,还用于从第二消息缓存区获取第二核对任务,第二核对节点为前向依赖数据所在区域对应的核对节点。
[0130] 在一些实施例中,提供了一种数据核对系统的架构,如图8所示,数据核对系统包括前端层、业务逻辑层以及数据层共三层,其中前端层包括存储节点信息获取模块、数据表信息获取模块、核对规则获取模块、核对任务获取模块、核对日志得到模块以及核对结果查询模块。业务逻辑层包括封装接口模块、异步服务模块、消息中间件模块以及核对代码模块。
[0131] 其中,前端层中,存储节点信息获取模块用于接收获取数据存储节点的信息,例如存储节点的IP地址等。数据表信息获取模块用于获取数据表信息,一个存储节点可以包括多个数据表,当用户需要核对特定的数据表时,可以在管理节点的前端界面上输入数据表标识。核对规则获取模块用于获取用户输入的核对规则。核对任务获取模块用于获取核对任务。核对日志得到模块用于记录核对的任务。核对结果查询模块用于接收核对结果查询请求。
[0132] 业务层中,封装应用模块的数据写入子模块用于将核对结果写入到数据层中,邮件发送子模块用于当数据核对结果为异常时,将发送给对应的联系人的邮件写入邮件队列。异步服务模块的同城核对子模块用于将数据存储节点与管理节点在同一城市的核对任务写入到同城核对消息队列中,跨城核对子模块用于将数据存储节点与管理节点不在同一城市的核对任务写入到跨城核对消息队列中。定时核对子模块用于在设置了定时核对任务时,自动触发定时核对任务进行数据核对。队列检查子模块用于检测消息队列中是否存在异常,例如消息队列中的核对任务是否超出预设数量等。消息中间件模块包括核对队列子模块以及邮件队列子模块。核对队列子模块用于存储核对任务队列,邮件队列子模块用于存储邮件任务队列。核对代码模块中的分库表接口子模块用于存储对数据库进行进行划分对应的代码,核对接口子模块用于存储与核对相关的代码。
[0133] 数据层则用于存储数据。例如,目标数据以及核对结果数据等。
[0134] 可以理解,图8的示例中,将核对系统的架构集成在同一设备中进行说明,但实际中核对系统的各个模块可以集成在多个设备中,本发明实施例在此不做限制。
[0135] 如图9所示,在一些实施例中,提供了一种数据核对装置,该数据核对装置可以集成于上述的管理节点120中,具体可以包括第一任务获取模块902、第一结果获取模块904、前向依赖数据标识获取模块906、第二任务生成模块908、第二结果获取模块99以及定位模块912。
[0136] 第一任务获取模块902,用于获取第一核对任务,第一核对任务携带待核对的目标数据标识。
[0137] 第一结果获取模块904,用于获取第一核对任务对应的第一核对结果,第一核对结果是根据目标数据标识对应的第一核对规则对目标数据进行核对得到的。
[0138] 前向依赖数据标识获取模块906,用于获取目标数据对应的前向依赖数据标识。
[0139] 第二任务生成模块908,用于根据前向依赖数据标识生成对应的第二核对任务。
[0140] 第二结果获取模块910,用于获取第二核对任务对应的第二核对结果,第二核对结果是根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的。
[0141] 定位模块912,用于根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。
[0142] 在其中一个实施例中,如图10所示,前向依赖数据标识获取模块906包括:
[0143] 关系链获取单元906A,用于获取目标数据对应的前向关系链,前向关系链包括多个关系节点。
[0144] 前向依赖数据标识获取单元906B,用于分别获取各个关系节点中目标数据对应的各个前向依赖数据标识。
[0145] 在其中一个实施例中,前向依赖数据标识获取单元906用于:获取各个有序数据接口的输出数据对应的输出数据标识,将输出数据标识作为前向依赖数据标识。
[0146] 在其中一个实施例中,定位模块912用于从第一核对结果以及第二核对结果中获取存在异常的目标核对结果,获取目标核对结果对应的异常接口标识以及异常数据标识。装置还包括:输出模块,用于输出异常接口标识以及异常数据标识。
[0147] 在其中一个实施例中,装置还包括:
[0148] 规则获取模块,用于获取存在依赖关系的各个业务数据对应的核对规则。
[0149] 关联模块,用于将各个业务数据标识与对应的核对规则进行关联形成关联关系。
[0150] 在其中一个实施例中,如图11所示,装置还包括:
[0151] 缓存区确定模块1102,用于根据数据标识对应的区域确定对应的消息缓存区。
[0152] 第一放入模块1104,用于将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区,第一核对任务用于被目标数据标识所在区域的第一核对节点获取,第一核对节点根据第一核对任务获取与目标数据标识对应的第一核对规则,根据第一核对规则对目标数据进行核对,得到第一核对结果。
[0153] 第二放入模块1106,用于将第二核对任务放入与前向依赖数据标识所在区域对应的第二消息缓存区,第二核对任务用于被前向依赖数据标识所在区域的第二核对节点获取,第二核对节点根据第二核对任务获取与前向依赖数据标识对应的第二核对规则,根据第二核对规则对前向依赖数据进行核对,得到第二核对结果。
[0154] 在其中一个实施例中,如图12所示,第一放入模块1102包括:
[0155] 表标识获取单元1202,用于根据目标数据类型标识获取对应的各个目标数据表标识。
[0156] 集合组成单元1204,用于获取目标数据表标识所在的各个第一区域,将同一区域的数据表标识组成标识集合。
[0157] 第一拆分单元1206,用于将第一核对任务拆分为标识集合对应的第一子任务。
[0158] 第一放入单元1208,用于将第一子任务放入到对应的标识集合所在区域对应的第一消息缓存区中。
[0159] 在其中一个实施例中,如图13所示,第一放入模块1102包括:
[0160] 信息获取单元1302,用于获取目标数据标识对应的各个第一核对节点的数据核对性能和/或目标数据的数据量。
[0161] 数目确定单元1304,用于根据数据核对性能和/或目标数据的数据量确定第一核对任务对应的子任务的目标数目。
[0162] 第二拆分单元1306,用于将第一核对任务进行拆分,得到第二子任务,第二子任务的数目与目标数目一致。
[0163] 第二放入单元1308,用于将第二子任务放入与目标数据标识所在区域对应的第一消息缓存区。
[0164] 图14示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的管理节点。如图14所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口以及输入装置。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现数据核对方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行数据核对方法。计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0165] 本领域技术人员可以理解,图14中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0166] 在一些实施例中,本申请提供的数据核对装置可以实现为一种计算机程序的形式,计算机程序可在如图14所示的计算机设备上运行。计算机设备的存储器中可存储组成该数据核对装置的各个程序模块,比如,图9所示的第一任务获取模块1002、第一结果获取模块1004、前向依赖数据标识获取模块1006、第二任务生成模块1008、第二结果获取模块1010以及定位模块1012。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的数据核对方法中的步骤。
[0167] 例如,图14所示的计算机设备可以通过如图10所示的数据核对装置中的第一任务获取模块1002执行获取第一核对任务,第一核对任务携带待核对的目标数据标识;通过第一结果获取模块1004执行获取第一核对任务对应的第一核对结果,第一核对结果是根据目标数据标识对应的第一核对规则对目标数据进行核对得到的;通过前向依赖数据标识获取模块1006执行获取目标数据对应的前向依赖数据标识;通过第二任务生成模块1008执行根据前向依赖数据标识生成对应的第二核对任务;通过第二结果获取模块1010执行获取第二核对任务对应的第二核对结果,第二核对结果是根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;通过定位模块1012执行根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。
[0168] 在一些实施例中,提出了一种计算机设备,计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:获取第一核对任务,第一核对任务携带待核对的目标数据标识;获取第一核对任务对应的第一核对结果,第一核对结果是根据目标数据标识对应的第一核对规则对目标数据进行核对得到的;获取目标数据对应的前向依赖数据标识;根据前向依赖数据标识生成对应的第二核对任务;获取第二核对任务对应的第二核对结果,第二核对结果是根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。
[0169] 在一些实施例中,处理器执行的获取目标数据对应的前向依赖数据标识包括:获取目标数据对应的前向关系链,前向关系链包括多个关系节点;分别获取各个关系节点中目标数据对应的各个前向依赖数据标识。
[0170] 在一些实施例中,处理器执行的关系节点为与业务流程对应的有序数据接口,分别获取各个关系节点中目标数据对应的各个前向依赖数据标识包括:获取各个有序数据接口的输出数据对应的输出数据标识,将输出数据标识作为前向依赖数据标识。
[0171] 在一些实施例中,处理器执行的根据第一核对结果和第二核对结果对核对任务的核对结果进行异常定位包括:从第一核对结果以及第二核对结果中获取存在异常的目标核对结果,获取目标核对结果对应的异常接口标识以及异常数据标识;方法还包括:输出异常接口标识以及异常数据标识。
[0172] 在一些实施例中,计算机程序还使得处理器执行如下步骤:根据数据标识对应的区域确定对应的消息缓存区;将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区,第一核对任务用于被目标数据标识所在区域的第一核对节点获取,第一核对节点根据第一核对任务获取与目标数据标识对应的第一核对规则,根据第一核对规则对目标数据进行核对,得到第一核对结果;将第二核对任务放入与前向依赖数据标识所在区域对应的第二消息缓存区,第二核对任务用于被前向依赖数据标识所在区域的第二核对节点获取,第二核对节点根据第二核对任务获取与前向依赖数据标识对应的第二核对规则,根据第二核对规则对前向依赖数据进行核对,得到第二核对结果。
[0173] 在一些实施例中,目标数据标识为目标数据类型标识,处理器执行的将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区包括:根据目标数据类型标识获取对应的各个目标数据表标识;获取目标数据表标识所在的各个第一区域,将同一区域的数据表标识组成标识集合;将第一核对任务拆分为标识集合对应的第一子任务;将第一子任务放入到对应的标识集合所在区域对应的第一消息缓存区中。
[0174] 在一些实施例中,处理器执行的将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区包括:获取目标数据标识对应的各个第一核对节点的数据核对性能和/或目标数据的数据量;根据数据核对性能和/或目标数据的数据量确定第一核对任务对应的子任务的目标数目;将第一核对任务进行拆分,得到第二子任务,第二子任务的数目与目标数目一致;将第二子任务放入与目标数据标识所在区域对应的第一消息缓存区。
[0175] 在一些实施例中,计算机程序还使得处理器执行如下步骤:获取存在依赖关系的各个业务数据对应的核对规则;将各个业务数据标识与对应的核对规则进行关联形成关联关系。
[0176] 在一些实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取第一核对任务,第一核对任务携带待核对的目标数据标识;获取第一核对任务对应的第一核对结果,第一核对结果是根据目标数据标识对应的第一核对规则对目标数据进行核对得到的;获取目标数据对应的前向依赖数据标识;根据前向依赖数据标识生成对应的第二核对任务;获取第二核对任务对应的第二核对结果,第二核对结果是根据前向依赖数据标识对应的第二核对规则对前向依赖数据进行核对得到的;根据第一核对结果和第二核对结果对目标数据的核对结果进行异常定位。
[0177] 在一些实施例中,处理器执行的获取目标数据对应的前向依赖数据标识包括:获取目标数据对应的前向关系链,前向关系链包括多个关系节点;分别获取各个关系节点中目标数据对应的各个前向依赖数据标识。
[0178] 在一些实施例中,处理器执行的关系节点为与业务流程对应的有序数据接口,分别获取各个关系节点中目标数据对应的各个前向依赖数据标识包括:获取各个有序数据接口的输出数据对应的输出数据标识,将输出数据标识作为前向依赖数据标识。
[0179] 在一些实施例中,处理器执行的根据第一核对结果和第二核对结果对核对任务的核对结果进行异常定位包括:从第一核对结果以及第二核对结果中获取存在异常的目标核对结果,获取目标核对结果对应的异常接口标识以及异常数据标识;方法还包括:输出异常接口标识以及异常数据标识。
[0180] 在一些实施例中,计算机程序还使得处理器执行如下步骤:根据数据标识对应的区域确定对应的消息缓存区;将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区,第一核对任务用于被目标数据标识所在区域的第一核对节点获取,第一核对节点根据第一核对任务获取与目标数据标识对应的第一核对规则,根据第一核对规则对目标数据进行核对,得到第一核对结果;将第二核对任务放入与前向依赖数据标识所在区域对应的第二消息缓存区,第二核对任务用于被前向依赖数据标识所在区域的第二核对节点获取,第二核对节点根据第二核对任务获取与前向依赖数据标识对应的第二核对规则,根据第二核对规则对前向依赖数据进行核对,得到第二核对结果。
[0181] 在一些实施例中,目标数据标识为目标数据类型标识,处理器执行的将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区包括:根据目标数据类型标识获取对应的各个目标数据表标识;获取目标数据表标识所在的各个第一区域,将同一区域的数据表标识组成标识集合;将第一核对任务拆分为标识集合对应的第一子任务;将第一子任务放入到对应的标识集合所在区域对应的第一消息缓存区中。
[0182] 在一些实施例中,处理器执行的将第一核对任务放入与目标数据标识所在区域对应的第一消息缓存区包括:获取目标数据标识对应的各个第一核对节点的数据核对性能和/或目标数据的数据量;根据数据核对性能和/或目标数据的数据量确定第一核对任务对应的子任务的目标数目;将第一核对任务进行拆分,得到第二子任务,第二子任务的数目与目标数目一致;将第二子任务放入与目标数据标识所在区域对应的第一消息缓存区。
[0183] 在一些实施例中,计算机程序还使得处理器执行如下步骤:获取存在依赖关系的各个业务数据对应的核对规则;将各个业务数据标识与对应的核对规则进行关联形成关联关系。
[0184] 应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0185] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
[0186] 以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0187] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈