CN112559525A - 数据检查系统、方法、装置和服务器 - Google Patents
数据检查系统、方法、装置和服务器 Download PDFInfo
- Publication number
- CN112559525A CN112559525A CN202011472809.6A CN202011472809A CN112559525A CN 112559525 A CN112559525 A CN 112559525A CN 202011472809 A CN202011472809 A CN 202011472809A CN 112559525 A CN112559525 A CN 112559525A
- Authority
- CN
- China
- Prior art keywords
- task
- inspection
- target data
- execution
- data table
- 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 103
- 238000007689 inspection Methods 0.000 claims abstract description 452
- 238000003491 array Methods 0.000 claims description 9
- 238000012216 screening Methods 0.000 claims description 5
- 238000012790 confirmation Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 21
- 238000004891 communication Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 230000009467 reduction Effects 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 5
- 230000008676 import Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Images
Classifications
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- 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/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本说明书提供了数据检查系统、方法、装置和服务器。基于该方法,在大数据处理场景中,前端任务服务器可以获取用户设置的相关联的配置参数,以及包含有关系参数的自定义注解参数;根据配置参数和自定义注解参数,确定出目标数据表的检查任务所处的任务层级,并生成批量任务执行参数组;再根据配置参数、批量任务执行参数组生成对应的检查任务执行数据包,并将该检查任务执行数据包发送至总控节点服务器;总控节点服务器根据检查任务执行数据包,按照任务层级之间的执行顺序,结合预设的检查规约规则,逐层级地执行多个任务层级中的各个任务层级的目标数据表的检查任务。从而能有序、高效地对多个目标数据进行批量检查。
Description
技术领域
本说明书属于大数据处理技术领域,尤其涉及数据检查系统、方法、装置和服务器。
背景技术
在大数据处理领域中,数据处理系统常常需要对数据量庞大的业务数据进行数据质量检查。例如,在银行的交易数据处理场景中,系统需要对不同业务的多种不同数据表是否满足多种不同规则分别进行逐一检查。
而基于现有的数据检查方法,往往需要用户针对每一种数据表是否满足一种规则单独设计、编写对应的检查代码,再通过调用该检查代码来对该数据表是否满足该种规则进行单独的检查。这样势必会增加用户的工作量,影响整体的检查效率。此外,基于上述方法,在对多种不同的数据表进行多任务检查时,往往很难以较好地管控不同数据表的检查过程之间的依赖关系,进而导致容易出现检查误差。
可见,现有的数据检查方法具体实施时,往往存在用户操作繁琐,数据表检查效率低、误差大的技术问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本说明书提供了一种数据检查系统、方法、装置和服务器,以简化用户操作,减少误差,高效、有序地对多个目标数据表进行多任务的批量检查。
本说明书提供了一种数据检查系统,包括:前端任务服务器、多个节点服务器,其中,
所述前端任务服务器用于获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;
所述前端任务服务器还用于根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;并根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;
所述前端任务服务器还用于从多个节点服务器中筛选出总控节点服务器,并将所述检查任务执行数据包发送至所述总控节点服务器;
所述总控节点服务器用于根据所接收到的所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
所述总控节点服务器还用于按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
本说明书提供了一种数据检查方法,应用于前端任务服务器,包括:
获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;
根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;
根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;
从多个节点服务器中确定出总控节点服务器;
将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
在一个实施例中,所述批量任务执行参数组包含有按照任务层级之间的执行顺序排列的多个子数组;其中,所述多个子数组分别对应一个任务层级,且所述多个子数组中的各个子数组所包含的元素分别对应一个目标数据表的检查任务。
在一个实施例中,获取与所述多个目标数据表关联的配置参数和自定义注解参数,包括:
通过终端设备向用户展示关于配置参数的第一输入界面,并通过所述第一输入界面接收用户设置的配置参数;
通过终端设备向用户展示关于自定义注解参数的第二输入界面,并通过所述第二输入界面接收用户设置的自定义注解参数。
在一个实施例中,所述配置参数包括以下至少之一:目标数据表的表名、与目标数据表的检查任务相关的检查规则的规则标识、目标数据表在检查任务中的被检查的字段、目标数据表的检查时间、目标数据表的类型。
在一个实施例中,所述检查规则包括以下至少之一:及时性检查规则、准确性检查规则、完整性检查规则、一致性检查规则。
在一个实施例中,所述目标数据表包括:资产托管场景中的数据表;
相应的,所述目标数据表的类型包括以下至少之一:净值数据表、资金流数据表、过账信息数据表。
在一个实施例中,所述检查任务执行数据包包括多层级的JSON数据。
在一个实施例中,根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包,包括:
根据所述配置参数,从预设的规则库中,获取目标检查规则;
根据所述目标检查规则、所述配置参数、所述批量任务执行参数组,生成所述检查任务执行数据包。
在一个实施例中,将所述检查任务执行数据包发送至所述总控节点服务器,包括:
通过分布式消息队列将所述检查任务执行数据包发送至所述总控节点服务器。
本说明书提供了一种数据检查方法,应用于总控节点服务器,包括:
接收检查任务执行数据包;
根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
在一个实施例中,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务,包括:
按照以下方式,根据所述检查任务执行数据包、预设的检查规约规则,执行所述多个任务层级中的当前任务层级的目标数据表的检查任务:
根据预设的检查规约规则,建立与当前任务层级的目标数据表的检查任务分别对应的多个任务线程,并根据所述多个任务线程构建的任务线程队列;
根据预设的检查规约规则,调用相应的子节点服务器,从所述任务线程队列中领取任务线程;
通过所述子节点服务器并行执行任务线程所对应的目标数据表的检查任务,并将任务执行结果记录到预设的数据库中。
在一个实施例中,通过所述子节点服务器并行执行任务线程所对应的目标数据表的检查任务,包括:
按照以下方式通过当前子节点服务器执行当前目标数据表的检查任务:
配置多个SQL执行节点;
控制多个SQL执行节点,分批次地并行执行当前目标数据表的检查任务。
在一个实施例中,所述任务执行结果包括:目标数据表的检查任务执行成功的确认信息、目标数据表中的错误字段,以及错误字段所命中的检查规则的规则标识。
在一个实施例中,在根据所述检查任务执行数据包、预设的检查规约规则,执行所述多个任务层级中的当前任务层级的目标数据表的检查任务之后,所述方法还包括:
从预设的数据库中获取当前任务层级的任务执行结果;
根据所述当前任务层级的任务执行结果,确定当前任务层级的目标数据表的检查任务是否执行完成;
在确定当前任务层级的目标数据表的检查任务执行完成的情况下,按照任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,执行当前任务层级的下一层级的目标数据表的检查任务。
在一个实施例中,所述方法还包括:
在确定当前任务层级的目标数据表的检查任务没有执行完成的情况下,触发根据所述检查任务执行数据包、预设的检查规约规则,重新执行当前任务层级的目标数据表的检查任务。
本说明书提供了一种数据检查装置,包括:
获取模块,用于获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;
第一确定模块,用于根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;
生成模块,用于根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;
第二确定模块,用于从多个节点服务器中确定出总控节点服务器;
发送模块,用于将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
本说明书提供了一种数据检查装置,包括:
接收模块,用于接收检查任务执行数据包;
第三确定模块,用于根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
执行模块,用于按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
本说明书提供了一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述数据检查方法。
本说明书提供的一种数据检查系统、方法、装置和服务器,基于该方法,在需要对大数据处理场景中待检查的多个目标数据表进行批量检查时,前端任务服务器可以先获取与多个目标数据表关联的配置参数,以及包含有关系参数的自定义注解参数;进而可以根据配置参数和自定义注解参数,确定出各个目标数据表的各个检查任务所处的任务层级,并生成批量任务执行参数组;再根据上述配置参数、批量任务执行参数组生成对应的检查任务执行数据包;并将该检查任务执行数据包发送至总控节点服务器。总控节点服务器可以根据检查任务执行数据包,确定出各个任务层级的目标数据表的检查任务,以及任务层级之间的执行顺序;进而可以按照任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的各个目标数据表的检查任务。从而可以简化用户操作,减少误差,提高整体的检查效率,能准确地基于不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系,高效、有序地对多个目标数据表进行多任务的批量检查。解决了现有方法中存在的用户操作繁琐,数据表检查效率低、误差大的技术问题。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的数据检查系统的结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的数据检查方法的流程示意图;
图3是本说明书的一个实施例提供的数据检查方法的流程示意图;
图4是本说明书的一个实施例提供的服务器的结构组成示意图;
图5是本说明书的一个实施例提供的数据检查装置的结构组成示意图;
图6是本说明书的一个实施例提供的数据检查装置的结构组成示意图;
图7是在一个场景示例中,应用本说明书实施例提供的数据检查方法的一种实施例的示意图;
图8是在一个场景示例中,应用本说明书实施例提供的数据检查方法的一种实施例的示意图;
图9是在一个场景示例中,应用本说明书实施例提供的数据检查方法的一种实施例的示意图;
图10是在一个场景示例中,应用本说明书实施例提供的数据检查方法的一种实施例的示意图;
图11是在一个场景示例中,应用本说明书实施例提供的数据检查方法的一种实施例的示意图;
图12是在一个场景示例中,应用本说明书实施例提供的数据检查方法的一种实施例的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
考虑到基于现有的数据检查方法,往往需要用户(例如,相关的技术人员、开发人员等)针对每一种数据表是否满足每一种规则单独设计、编写对应的检查代码,再通过调用该检查代码来对该数据表是否满足该种规则进行单独检查。这样势必会增加用户的工作量,也影响整体的检查效率。此外,基于上述方法,在对多种不同的数据表进行多任务检查时,往往还难以较好地管控不同数据表的检查过程之间的依赖关系,进而造成检查误差。
针对产生上述问题的根本原因,本说明书考虑可以引入一种新的数据检查方式来简化用户的操作,降低检查误差。具体的,用户只需要通过终端设备设置好与待检查的多个目标数据表关联的配置参数,以及包含有用于表征不同目标数据表以及不同检查任务之间的依赖关系的关系参数的自定义注解参数。进而,与终端设备对接的前端任务服务器可以获取上述配置参数和自定义注解参数,并根据配置参数和自定义注解参数,确定出目标数据表的检查任务所处的任务层级,以生成批量任务执行参数组;再根据上述配置参数、批量任务执行参数组生成对应的检查任务执行数据包;将该检查任务执行数据包发送至所筛选出的总控节点服务器。进一步,负责具体的检查处理的总控节点服务器可以根据检查任务执行数据包,先确定出各个任务层级中的目标数据表的检查任务,以及任务层级之间的执行顺序;再按照任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的各个目标数据表的检查任务。从而可以有效地简化用户操作,减少检查过程中的误差,提高整体的检查效率,能准确地基于不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系,高效、有序地对多个目标数据表进行多任务的批量检查。进而解决了现有方法中存在的用户操作繁琐,数据表检查效率低、误差大的技术问题。
本说明书实施例提供一种数据检查系统。具体可以参阅图1所示,该数据检查系统中至少可以包含有前端任务服务器、多个节点服务器。
其中,上述前端任务服务器和多个节点服务器之间可以通过有线或无线的方式相连,以进行数据交互。
上述前端任务服务器具体可以理解为一种与布设于用户一侧的终端设备对接的服务器。上述节点服务器具体可以理解为一种分布式的负责具体的数据处理的服务器。
在本实施例中,所述前端任务服务器、节点服务器具体可以包括一种应用于数据处理系统一侧,能够实现数据传输、数据处理等功能的后台服务器。具体的,所述前端任务服务器、节点服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述前端任务服务器、节点服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述前端任务服务器、节点服务器所包含的服务器的数量。所述前端任务服务器、节点服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。进一步,上述节点服务器具体还可以是一种分布式的节点服务器。
在本实施例中,所述终端设备具体可以包括一种应用于用户一侧,能够实现数据采集、数据传输等功能的电子设备。具体的,所述终端设备例如可以为台式电脑、平板电脑、笔记本电脑、智能手机等。或者,所述终端设备也可以为能够运行于上述电子设备中的软件应用。例如,可以是在台式电脑上运行的某应用程序等。
前端任务服务器可以获取来自终端设备的与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数。
接着,前端任务服务器可以根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;并根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包。
继而,前端任务服务器还可以从多个节点服务器中筛选出总控节点服务器,并将所述检查任务执行数据包发送至所述总控节点服务器;
总控节点服务器可以根据所接收到的所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
进一步,总控节点服务器还用于按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
通过上述数据检查系统,可以有效地简化用户操作,减少误差,提高整体的检查效率,能准确地基于不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系,高效、有序地对多个目标数据表进行多任务的批量检查。
参阅图2所示,本说明书实施例提供了一种数据检查方法。其中,该方法具体可以应用于前端任务服务器一侧。具体实施时,该方法可以包括以下内容。
S201:获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数。
S202:根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组。
S203:根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包。
S204:从多个节点服务器中确定出总控节点服务器。
S205:将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
在本实施例中,通过上述方式前端服务器可以根据不同目标数据表之间的依赖关系,以及不同检查任务之间的依赖关系,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,进而生成相应的批量任务执行参数组;再基于上述配置参数、批量任务执行参数组,生成对应的检查任务执行数据包,并将该检查任务执行数据包提供给总控节点服务器,以便总控节点服务器可以根据该检查任务执行数据包,对多个目标数据表的多个检查任务分层级,并逐层级地进行处理。从而可以避免出现由于依赖关系的混乱产生的误差,同时,也简化了用户的操作,能够高效、有序地执行对多个目标数据表的多个检查任务。
在本实施例中,上述目标数据表具体可以理解为待检查的数据表。具体的,针对不同目标数据表的检查任务的类型,以及检查任务的数量可以是不同的。相应的,执行不同目标数据表的检查任务时所使用的检查规则也可以是不同的。
具体的,例如,对于目标数据表Q,可以有3个检查任务,分别为:检查任务1、检查任务2和检查任务3。其中,检查任务1是基于检查规则1执行的,检查任务2是基于检查规则2执行的,检查任务3是基于检查规则3执行的。而对于目标数据表P,可以有2个检查任务,分别为:检查任务1和检查任务4。其中,检查任务1是基于检查规则1执行的,检查任务4是基于检查规则4执行的。
在本实施例中,上述自定义注解参数至少可以包含有用于表征不同目标数据表之间的依赖关系,以及不同检查任务之间的依赖关系的关系参数。具体的,上述自定义注解参数例如可以是由用户通过终端设备设置的@InspectData注解。
在本实施例中,通常在执行多个目标数据表的多个检查任务时,不同目标数据表之间可能会存在依赖关系,不同检查任务之间也可能会存在依赖关系。可以使用关系参数来表征出上述依赖关系。
进一步,在执行多个目标数据表的多个检查任务时,由于上述依赖关系的存在,往往需要按照一定的执行顺序,来执行存在依赖关系的目标数据表的检查任务,才能较为准确地执行完成相应的目标数据表的检查任务。
具体的,例如,目标数据表Q和目标数据表P存在以下依赖关系:目标数据表Q是基于目标数据表P的处理结果得到的。这种情况下,根据上述依赖关系,在执行针对目标数据表Q和目标P的检查任务时,需要先执行针对目标数据表P的检查任务;在完成针对目标数据表P的检查任务之后,再执行针对目标数据表Q的检查任务。
在本实施例中,前端任务服务器可以先获取与待检查的多个目标数据表关联的包含有上述关系参数的自定义注解参数,以及配置参数。
其中,上述配置参数具体可以理解为用户根据具体的检查需求所设置的用于指示待检查的目标数据表、待检查的目标数据表中的字段对象、所采用的检查规则等信息的参数数据。上述自定义注解参数具体可以理解为用于注解不同目标数据表之间的依赖关系和/或不同检查任务之间的依赖关系的参数数据。
在一个实施例中,上述获取与所述多个目标数据表关联的配置参数和自定义注解参数,具体实施时,可以包括:通过终端设备向用户展示关于配置参数的第一输入界面,并通过所述第一输入界面接收用户设置的配置参数;通过终端设备向用户展示关于自定义注解参数的第二输入界面,并通过所述第二输入界面接收用户设置的自定义注解参数。
在本实施例中,用户可以根据具体的应用场景和检查需求,在所述第一输入界面中输入合适的参数数据作为上述配置参数。类似的,用户可以根据具体的应用场景和检查需求,在所述第二输入界面中输入合适的参数数据作为自定义注解参数。相应的,前端任务服务器可以通过上述第一输入界面和第二输入界面,获取由用户设置的配置参数和自定义注解参数,进而可以根据上述配置参数和自定义注解参数,触发后续自动、有序地执行多个目标数据表的多个检查任务。从而简化了用户一侧的操作,降低了用户操作的复杂度。
在一个实施例中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识。其中,每一个规则标识对应一种检查规则。
在一个实施例中,上述检查规则具体可以包括以下至少之一:及时性检查规则、准确性检查规则、完整性检查规则、一致性检查规则等。
其中,上述准确性检查规则用于执行基于准确性的检查任务,以检查数据表中的某个字段是否正确。上述一致性检查规则用于执行基于一致性的检查任务,以检查两张数据表或多张数据表中的某个数据是否一致。上述完整性检查规则用于执行基于完整性的检查任务,以检查数据表中的各个字段是否为空。上述及时性检查规则用于执行基于及时性的检查任务,以及检查某个时间点的数据是否存在。当然,上述所列举的检查规则只是一种示意性说明。具体实施时,根据具体的应用场景和检查需求,还可以引入其他类型的检查规则,以实现更多样化的检查任务。
在本实施例中,具体实施前,可以预先配置好多个不同的检查规则,并存储在预设的规则库中。后续具体实施时,针对某一个目标数据表,可以根据配置参数中所包含有的与该目标数据表的检查任务相关的检查规则的规则标识,从多个预设的规则库中检索并获取一个或多个相应的检查规则;进而可以根据上述检查规则,对该目标数据表进行相应的一个或多个检查任务。这样可以不需要临时在线配置或生成所需要的检查规则,提高了检查效率。
在一个实施例中,上述配置参数具体还可以包括以下至少之一:目标数据表的表名、与目标数据表的检查任务相关的检查规则的规则标识、目标数据表在检查任务中的被检查的字段、目标数据表的检查时间、目标数据表的类型等等。当然,需要说明的是,上述所列举的配置参数只是一种示意性说明。具体实施时,根据具体的应用场景和检查需求,上述配置参数还可以包含有其他类型的参数数据。例如,上述配置参数还可以包含有检查时使用的操作符、操作符的字段值、目标数据表所属的业务类型等等。
通过上述实施例,可以支持用户根据具体情况灵活地设置多种参数数据作为配置参数,以满足用户多样化的检查需求。
在一个实施例中,所述目标数据表具体可以包括:资产托管场景中的数据表;相应的,所述目标数据表的类型包括以下至少之一:净值数据表、资金流数据表、过账信息数据表。
在本实施例中,在资产托管场景中,对于净值数据表、资金流数据表、过账信息数据表等类型的目标数据表,往往更加关注数据的同步性和一致性。因此,配置参数中所包含的检查规则的规则标识至少包含有对应一致性检查规则的规则标识,和对应及时性检查规则的规则标识。通过上述实施例,可以更有针对性、更高效地实现针对资产托管场景中的批量数据的多任务的检查。
在一个实施例中,上述获取与所述多个目标数据表关联的自定义注解参数,具体实施时,还可以包括以下内容:根据配置参数,确定出不同目标数据表之间的依赖关系,以及不同检查任务之间的依赖关系;根据所述不同目标数据表之间的依赖关系,以及不同检查任务之间的依赖关系,生成对应的自定义注解参数。
具体的,例如,前端任务服务器可以根据配置参数中不同目标数据表所属的业务类型、目标数据表的类型等参数数据,自动确定出不同目标数据表之间的依赖关系,以及不同检查任务之间的依赖关系,进而可以不需要用户自己设置,就能自动地生成对应的自定义注解参数,从而可以进一步简化用户的操作,进一步提高用户的使用体验。
在一个实施例中,上述批量任务执行参数组具体可以理解为一种用于表征划分在不同任务层级中的目标数据表的检查任务,以及不同任务层级之间的执行顺序的参数数组。
在一个实施例中,上述批量任务执行参数组可以包含有按照任务层级之间的执行顺序排列的多个子数组;其中,所述多个子数组分别对应一个任务层级,且所述多个子数组中的各个子数组所包含的元素分别对应一个目标数据表的一个检查任务。
具体的,例如,一个批量任务执行参数组表示为[(A1,B2),(A2,C1),C3]。根据上述批量任务执行参数组,可知包含有的三个不同的任务层级,按照执行顺序的先后分别为:第一个任务层级(包括:A1,B2,即A数据表的1号检查任务、B数据表的2检查任务)、第二个任务层级(包括:A2,C1,即A数据表的2号检查任务、C数据表的1号检查任务)、第三个任务层级(包括:C3,即C数据表的3号检查任务)。其中,第一个任务层级中所包含的数据表的检查任务的执行顺序要先于第二个任务层级中所包含的数据表的检查任务的执行顺序,第二个任务层级中所包含的数据表的检查任务的执行顺序又要先于第三个任务层级中所包含的数据表的检查任务的执行顺序。而同一个任务层级中所包含的数据表的检查任务的执行顺序则不作限定。例如,在执行第一个任务层级中所包含的A1、B2时,可以先执行A1,再执行B2;也可以先执行B2,再执行A1;还可以同时执行A1和B2。
通过上述批量任务执行参数组可以较为清晰、准确地表征出不同目标数据表的不同检查任务之间的执行顺序,从而后续可以根据上述执行顺序准确、有序地批量执行多个目标数据表的多个检查任务。
在一个实施例中,上述根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组,具体实施时,可以包括以下内容:根据所述配置参数确定出多个目标数据表中的各个目标数据表的检查任务;根据所述自定义注解参数,确定出所述多个目标数据表中的各个目标数据表的检查任务的执行顺序;将执行顺序相同的目标数据表的检查任务划分为一个任务层级,得到多个任务层级;根据所述多个任务层级中的各个任务层级所包含的目标数据表的检查任务,生成相应的批量任务执行参数组。
通过上述实施例,前端任务服务器可以较为准确地生成批量任务执行参数组。
在一个实施例中,所述检查任务执行数据包具体可以包括多层级的JSON数据。通过使用上述多层级的JSON数据来传输检查任务执行数据包,可以更好地反映出多个任务层级,以及不同任务层级之间的执行顺序等信息。
在一个实施例中,上述根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包,具体实施时,可以包括以下内容:根据所述配置参数,从预设的规则库中,获取目标检查规则;根据所述目标检查规则、所述配置参数、所述批量任务执行参数组,生成所述检查任务执行数据包。
通过上述实施例,可以预先找出后续在执行多个目标数据表的多个检查任务所要使用到的检查规则,并将上述检查规则连同配置参数、批量任务执行参数组一同打包成检查任务执行数据包再传输给后续负责处理该批检查任务的总控节点服务器,可以提高后续具体检查时的检查效率。
在一个实施例中,上述总控节点服务器具体可以理解为由前端任务服务器筛选出的用于负责控制后续多个目标数据表的检查任务处理的节点服务器。
在一个实施例中,上述从多个节点服务器中确定出总控节点服务器,具体实施时,可以包括以下内容:获取多个节点服务器的性能参数以及当前的运行状态参数;根据所述节点服务器的性能参数以及当前的运行状态参数,从多个节点服务器中确定出与所述任务执行数据包匹配的节点服务器作为所述总控节点服务器。从而可以从多个节点服务器中筛选出相匹配的,适合处理上述多个目标数据表的检查任务的节点服务器。其中,上述多个节点服务器可以是多个分布式节点服务器。
在一个实施例中,上述将所述检查任务执行数据包发送至所述总控节点服务器,具体实施时,可以包括:通过分布式消息队列将所述检查任务执行数据包发送至所述总控节点服务器。其中,上述分布式消息队列具体可以包括kafka队列等。通过上述实施例,可以相对更加高效、可靠地将检查任务执行数据包传输至对应的总控节点服务器。
在一个实施例中,总控节点服务器在接收到上述检查任务执行数据包后,可以根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务,从而能够配合上述前端任务服务器,高效、有序地对多个目标数据表进行多任务的批量检查。
参阅图3所示,本说明书实施例提供了一种数据检查方法。其中,该方法具体可以应用于总控节点服务器一侧。具体实施时,该方法可以包括以下内容。
S301:接收检查任务执行数据包。
S302:根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序。
S303:按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
在本实施例中,上述预设的检查规约规则具体可以理解为一种基于分布式流式检查的规则数据。总控节点服务器可以根据上述预设的检查规约规则,采用分布式流式检查的方式来高效、有序地执行多个目标数据表的多个检查任务。
基于上述实施例,总控节点服务器可以根据检查任务执行数据包、预设的检查规约规则,通过分布式流式检查的方式,高效、有序逐层级地执行各个任务层级的目标数据表的检查任务。
在本实施例中,总控节点服务器具体实施时,可以通用分布式消息队列(例如,kafka队列)接收上述检查任务执行数据包。
在一个实施例中,上述根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务,具体实施时,可以包括:按照以下方式,根据所述检查任务执行数据包、预设的检查规约规则,执行所述多个任务层级中的当前任务层级的目标数据表的检查任务:
S1:根据预设的检查规约规则,建立与当前任务层级的目标数据表的检查任务分别对应的多个任务线程,并根据所述多个任务线程构建的任务线程队列;
S2:根据预设的检查规约规则,调用相应的子节点服务器,从所述任务线程队列中领取任务线程;
S3:通过所述子节点服务器并行执行任务线程所对应的目标数据表的检查任务,并将任务执行结果记录到预设的数据库中。
其中,上述子节点服务器具体可以包括多个节点服务器中除总控节点服务器以外的其他节点服务器,和/或,隶属总控节点服务器管理的下一级的服务器等。
通过上述实施例,总控节点服务器可以根据预设的检查规约规则高效地调用相应数量的子节点服务器完成当前任务层级的目标数据表的检查任务。
在本实施例中,总控节点服务器具体可以根据当前任务层级的目标数据表的检查任务的数量,按照1比1的比例,建立相同数量的多个任务线程。并且,上述每一个任务线程分别对应该任务层级的一个目标数据表的检查任务。
在本实施例中,进一步,总控节点服务器可以根据预设的检查规约规则调用多个子节点服务器作为检查规约节点来并行处理当前任务层级的多个目标数据表的多个检查任务。
具体的,每一个被调用的子节点服务器可以通过分布式消息队列从上述任务线程队列中未处理的任务线程中随机拉取一个任务线程,并执行与该任务线程对应的当前任务层级的一个目标数据表的检查任务。同时,该子节点服务器还会将具体的任务执行结果记录到预设的数据库中。
在一个实施例中,所述任务执行结果具体可以包括:目标数据表的检查任务执行成功的确认信息、目标数据表中的错误字段,以及错误字段所命中的检查规则的规则标识等。当然,上述所列举的任务执行结果只是一种示意性说明。具体实施时,根据具体的应用场景和处理需求,还可以将例如标数据表的检查任务执行失败的确认信息等也作为一种任务执行结果记录到预设的数据库中。
相应的,总控节点服务器可以根据预设的数据库中记录的任务执行结果,准确地确定出各个被调用的子节点服务器执行所负责的目标数据表的检查任务时的具体情况,从而进行有效的监控和管理,以保证当前任务层级的多个目标数据表的检查任务都可以成功地执行完成。
具体的,例如,总控节点服务器可以定期访问预设的数据库以获取上述任务执行结果,根据任务执行结果,在确定某个子节点服务器所负责的目标数据表的检查任务执行失败的情况下,可以调用该子节点服务器重新执行该目标数据表的检查任务。并对该次目标数据表的检查任务的执行情况进行持续地跟踪监测,再发现该子节点服务器再次执行失败的情况下,可以根据各种监测到数据,分析导致失败的原因;进而可以根据上述导致失败的原因,进行针对性的参数修正;在完成参数修正后,再次调用该子节点服务器重新执行该目标数据表的检查任务。从而可以使得被调用的子节点服务器能够成功地执行完成所负责的目标数据表的检查任务。
在一个实施例中,当一个子节点服务器成功执行完成所负责的目标数据表的检查任务之后,可以通过分布式消息队列再次访问任务线程队列,以获取下一个任务线程,并根据该任务线程执行下一个目标数据表的检查任务。
按照上述方式,被调用的多个子节点服务器能够较为高效地完成当前任务层级的目标数据表的检查任务。
在一个实施例中,区别于现有方法中使用单个SQL(Structured Query Language,结构化查询语言)执行节点来执行检查任务,被调用的子节点服务器在具体执行所负责的目标数据表的检查任务时,可以通过动态配置多个SQL执行节点将原本的单个SQL执行节点拆分成多个SQL执行节点,并控制上述多个SQL节点以并行的方式来执行对目标数据表的检查任务,从而可以提高子节点服务器针对单个目标数据表的检查任务的检查效率。
在一个实施例中,上述通过所述子节点服务器并行执行任务线程所对应的目标数据表的检查任务,具体实施时,可以包括以下内容:按照以下方式通过当前子节点服务器执行当前目标数据表的检查任务:配置多个SQL执行节点;控制多个SQL执行节点,分批次地并行执行当前目标数据表的检查任务。
具体的,上述子节点服务器首先可以根据任务执行数据包中关于所负责的目标数据表的检查任务的配置参数,结合当前该子节点服务器可调用的SQL执行节点的数量和运行情况,动态地配置出合适个数个SQL执行节点来参与针对所负责的目标数据表的检查任务的执行。进一步,子节点服务器可以根据所配置的SQL执行节点的数量,以及目标数据表的数据量,将目标数据表的检查任务划分成多个批次;进而可以控制上述多个SQL执行节点分批次地并行执行针对该目标数据表的检查任务。
通过上述实施例,可以提高单个子节点服务器执行所负责的目标数据表的检查任务的检查效率,从而能够进一步提高整体的检查效率。
子节点服务器在按照上述方式,控制多个SQL执行节点,执行完当前批次的目标数据表的检查任务之后,还可以获取当前批次所云顶的所有的SQL执行节点所使用的SQL子语句;再按子SQL语句的数量1比1地新建回调线程(例如,Callable线程),并将子SQL子语句1对1放入新建的回调线程并开启;进而可以使用http方法联机调用SQL执行节点的执行方法,对检查归约节点和子SQL执行节点形成映射关系,并返回当前批次检查出来的异常数据的信息集合,作为当前批次的任务执行结果。按照上述方式分布节点服务器可以获取得到各个批次的任务执行结果;进而可以综合各个批次的任务执行结果,得到所负责的目标数据表的检查任务的任务执行结果。
在一个实施例中,在根据所述检查任务执行数据包、预设的检查规约规则,执行所述多个任务层级中的当前任务层级的目标数据表的检查任务之后,所述方法具体实施时,还可以包括以下内容:从预设的数据库中获取当前任务层级的任务执行结果;根据所述当前任务层级的任务执行结果,确定当前任务层级的目标数据表的检查任务是否执行完成;在确定当前任务层级的目标数据表的检查任务执行完成的情况下,按照任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,执行当前任务层级的下一层级的目标数据表的检查任务。
通过上述实施例,可以使得子节点服务器按照执行顺序,每执行完上一个任务层级的目标数据表的检查任务,才能触发执行下一个任务层级的目标数据表的检查任务。
在一个实施例中,在执行所述多个任务层级中的当前任务层级的目标数据表的检查任务之前,所述方法还可以包括:从预设的数据库中获取当前任务层级的上一层级的任务执行结果;根据所述上一层级的任务执行结果,确定上一层级的目标数据表的检查任务是否执行完成;在确定上一层级的目标数据表的检查任务执行完成的情况下,才会触发执行当前任务层级的目标数据表的检查任务。
在一个实施例中,所述方法具体实施时,还可以包括以下内容:在确定当前任务层级的目标数据表的检查任务没有执行完成的情况下,触发根据所述检查任务执行数据包、预设的检查规约规则,重新执行当前任务层级的目标数据表的检查任务。直到确定当前任务层级的目标数据表的检查任务执行完成,才会触发执行当前任务层级的下一层级的目标数据表的检查任务,或者完成目标数据表的检查任务。
通过上述实施例,可以使得节点服务器能够较为严格地按照不同任务层级之间的执行顺序,有序地批量执行完成多个目标数据表的多个检查任务。
在一个实施例中,在完成多个目标数据表的多个检查任务之后,前端服务器和/或总控节点服务器可以通过访问预设的数据库获取任务执行结果;进而可以根据所述任务执行结果确定出多个目标数据表的数据质量,以确定多个目标数据表是否符合预设的质量要求。
在一个实施例中,前端服务器和/或总控节点服务器还可以根据所确定出的多个目标数据表的数据质量,生成关于多个目标数据表的检查结果报表,并将该检查结果报表发送给终端设备。终端设备接收并向用户展示出多个目标数据表的检查结果报表,以便用户可以清楚、便捷地了解上述多个目标数据表的质量情况。
在一个实施例中,前端服务器和/或总控节点服务器在确定多个目标数据表是否符合预设的质量要求之后,还可以根据所述任务执行结果,对出现错误的目标数据表进行针对性的修改,以消除目标数据表中的错误,提高目标数据表的数据质量。
由上可见,本说明书实施例提供的数据检查方法,基于该方法,大数据处理场景中在需要对待检查的多个目标数据表进行批量检查时,前端任务服务器可以获取与多个目标数据表关联的配置参数,以及包含有关系参数的自定义注解参数;进而可以根据配置参数和自定义注解参数,确定出目标数据表的检查任务所处的任务层级,并生成批量任务执行参数组;再根据上述配置参数、批量任务执行参数组生成对应的检查任务执行数据包;并将该检查任务执行数据包发送至总控节点服务器。总控节点服务器可以根据检查任务执行数据包,确定出各个任务层级的目标数据表的检查任务,以及任务层级之间的执行顺序;进而可以按照任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。从而可以简化用户操作,减少误差,提高整体的检查效率,能准确地基于不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系,高效、有序地对多个目标数据表进行多任务的批量检查。解决了现有方法中存在的用户操作繁琐,数据表检查效率低、误差大的技术问题。解决了现有方法中存在的用户操作繁琐,数据表检查效率低、误差大的技术问题。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;从多个节点服务器中确定出总控节点服务器;将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
为了能够更加准确地完成上述指令,参阅图4所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口401、处理器402以及存储器403,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口401,具体可以用于获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数。
所述处理器402,具体可以用于根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;从多个节点服务器中确定出总控节点服务器;将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
所述存储器403,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口401可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器402可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器403可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收检查任务执行数据包;根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
本说明书实施例还提供了一种基于上述数据检查方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;从多个节点服务器中确定出总控节点服务器;将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
本说明书实施例还提供了一种基于上述数据检查方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收检查任务执行数据包;根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图5所示,在软件层面上,本说明书实施例还提供了一种数据检查装置,该装置具体可以包括以下的结构模块。
获取模块501,具体可以用于获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;
第一确定模块502,具体可以用于根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;
生成模块503,具体可以用于根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;
第二确定模块504,具体可以用于从多个节点服务器中确定出总控节点服务器;
发送模块505,具体可以用于将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
参阅图6所示,在软件层面上,本说明书实施例还提供了一种数据检查装置,该装置具体可以包括以下的结构模块。
接收模块601,具体可以用于接收检查任务执行数据包;
第三确定模块602,具体可以用于根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
执行模块603,具体可以用于按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
由上可见,本说明书实施例提供的数据检查装置,可以简化用户操作,减少误差,提高整体的检查效率,能够高效、有序地对多个目标数据表进行多任务的批量检查。
在一个具体的场景示例中,可以应用本说明书提供的数据检查方法来对资产托管领域中的批量数据进行检查。具体实施过程可以参阅以下内容。
在资产托管领域中,通常数据种类每新增一种时,就需要开发人员新增一种数据质量检查代码,导致系统代码量大且不灵活。而在本场景示例中,可以将数据质量检查规则(即检查规则)存储至数据库,通过检查触发批量化、自定义注解、用户页面定义检查规则等参数,动态生成JSON格式的检查规则并发起检查,将流程简化统一。这样开发人员只需动态配置数据库中检查规则的被检查数据表、被检查字段、数据开始日期、数据结束日期、数据日期范围类型、操作符、操作符值字段等(例如,设置配置参数),在代码中使用注解配置多种作业的依赖关系(例如,设置自定义注解参数),即可达到开箱即用的效果。
在本场景示例中涉及的数据质量检查规则可以预置有四种,分别为:准确性检查规则(用于检查数据库表的字段是否正确,例如估值表数据导入场景中,检查数据金额字段是否大于0,即查询条件中限制金额字段要求大于0,查看数量是否和不加该查询条件的数量是否一致,如果不一致则筛选出异常数据)、一致性检查规则(用于检查两张表的数据是否一致,例如跨数据库类型同步数据场景,跨数据库会导致数据字段类型不一致,可能引发隐式转换而导致数据错误,则对两张表的数据做类型约束查询,即查询条件里限制全字段的匹配查询,最终筛选出异常数据)、完整性检查规则(用于检查数据的各个字段是否为空,例如净值数据和现金流数据分批导入,两者导入完成后需检查最终这2个数据字段是否齐全,即通过查询条件限制这些字段不为空且值不小于0来进行筛选,为空或值小于0的数据将被筛选出来作为异常数据)、及时性检查规则(用于检查某一时间点的数据是否存在,例如数据同步场景,过账信息需要从另一个相同类型的数据库导入到目标数据库,执行完导入作业后,需要检查检查目标数据表的数据是否齐全,即查询条件限制数据Id是否在另一个数据表中,如果查询不到则为异常数据)。
由于原系统触发检查的代码不统一,代码维护性差,故在本场示例将不同的检查规则统一存储数据库。其中,一张表对应一个检查规则任务,如需对一张表做多种检查,则需要配置多个检查任务(如多个检查任务之间存在依赖顺序,则在注解中配置依赖关系即可)。
具体检查时,通过实时轮训,扫描用户在界面上设定的各检查规则任务的触发时间表达式(cron表达式),当时间表达式符合当前时间后,将符合条件的检查规则取出,按检查规则种类通过策略设计模式,调用各检查的发起方法,通过切面编程来读取开发人员事先在方法上配置的注解上的参数(该参数为多种任务的依赖关系),按照检查任务之间的依赖关系动态生成一条多层次的JSON数据(例如,任务执行数据包),使用分布式消息队列(kafka队列)发送至检查总控节点(例如,总控节点服务器),以批量触发检查,达到逻辑清晰,可维护性高的作用,解决数据质量检查代码量大的问题。
在本场景示例中,考虑到数据质量检查可能会存在依赖关系,例如检查C表数据的前提要先检查A,B两表,A,B表的正确性才能保证C表的正确性,那么检查规则就存在先后顺序关系。原系统分开实现各个检查数据质量的逻辑导致检查层次差异大,对后续的代码维护、工作交接十分不友好。在本场示例中可以通过分布式流式检查及其检查总控节点和检查归约节点、队列顺序消费的特性,使得前置一层的任务全都完成后再开启下一层任务的执行,来保证多种数据质量检查之间的顺序执行,解决了任务依赖管理复杂的问题。
又考虑到传统场景下,资产托管领域内的数据迁移周期较长,难以对数据进行高频分区,即数据质量检查通常对一张数据量极大的表使用一句SQL语句进行检查。执行该条SQL语句的服务器节点由于硬件性能限制,执行速度会非常慢,即存储过程也无法解决使使用该问题。如果使用大数据引擎(如hive、spark等),则存在高起步价的问题(不管检查的数据量有多小,检查执行时间都会很长),并且导入大数据引擎需要额外的大量开发成本,同时也需要做大数据导入的数据质量检查,操作冗余。在本场景示例中使用通过检查归约,将单条SQL语句按节点数(currentNodeSize)及配置的最大单机执行数据量(maxRowSize),动态的进行拆分成多条,如共10万条数据需要被检查,SQL执行节点数为5个,单机最大执行数据库为1万条,则会自动拆分为单节点检查1万条,共2批的结构(1x 5x 2=10),按批次通过http实时调用SQL执行节点的执行方法,每一批次的检查全部完成后,收集全部节点的异常数据id并存储至数据库,直至所有批次完成后,标记本条检查规则执行完成,用户可以在页面上可以查看到根据异常数据Id关联到的具体异常数据,并对其进行分析。最终做到提高数据质量检查的效率,解决了资源使用瓶颈的问题。
具体实施时,参阅图7所示,开发人员(例如,用户)可以按照以下步骤操作。
701:用户在页面上选择需要的质量检查规则,如准确性检查。
702:设定需要被检查数据表,被检查字段,数据开始日期,数据结束日期,数据日期范围类型,操作符,操作符值。
703:设定检查任务的执行时间表达式。
704:等待设定的定时时间发起检查任务。
参阅图8所示,具体的,开发人员可以按照以下步骤设置注解参数。
801:新建规则检查的触发类。
802:继承AbstractInspect抽象类。
803:使用自定义的@InspectData注解,在注解的dependency字段上配置该检查的依赖关系,如检查C依赖检查A和检查B,则配置为[(A,B),C]。
804:编写具体的检查规则逻辑代码。
参阅图9所示,服务器可以根据之前开发人员的设置,按照以下步骤批量触发进行检查。
901:系统启动后,轮训检查规则表。
902:根据当前时间扫描是否有符合触发时间表达式的检查规则。
903:从数据库中取出符合的检查规则。
904:根据取出的检查规则类型,使用策略模式,从检查任务触发类集合中取出对应规则的触发类的对象。
905:使用切面编程,切入检查任务触发方法,读取改触发类对象的start方法上的@InspectData注解。
906:解析该@InspectData注解上的dependency字段并进行解析,该字段为数组,每个元素为一个集合,该数组中元素的顺序为检查任务的依赖顺序,每个集合里的检查规则不分顺序,如数组为[(A,B),C],则先执行A,B检查规则,在执行C,其中A,B检查规则不分顺序。从数据库中读取出对应的检查规则配置并对该数组内容进行赋值。
907:解析完成后生成检查用JSON数据,该JSON按依赖的数组分层,如其格式为:[{“A”:{各检查规则属性},“B”:{各检查规则属性}},{“C”:{各检查规则属性}}]。
908:调用触发方法,将该检查用JSON通过分布式消息队列(kafka)发送至检查总控节点。
参阅图10所示,在进行检查时,具体又可以按照以下方式进行分布式流式检查。
1001:检查总控节点的消费方法拉取队列中的检查用JSON。
1002:解析该检查用JSON,由于该JSON为数组,故对该数组进行遍历。
1003:该检查用JSON的每个元素为一个集合,该集合为一个检查层级,解析当前遍历的元素转化为检查层级(一个层级为一个检查任务,一个层级中的元素为检查规则)。
1004:按照当前层级中的元素数量1比1新建线程。
1005:将当前层级中的检查规则按照规则种类1对1放入新建的线程中,每个线程将属于它的检查规则JSON发送至kafka的各规则队列。
1006:各个检查归约节点拉取到各个检查规则。
1007:检查归约节点进行逻辑处理。
1008:检查归约节点归约检查结果。
1009:检查归约节点记录完成情况到数据库。
1010:轮训检查该检查层级的所有检查规则
1011:扫描所有检查归约节点的执行完成情况,判断当前层级的所有检查是否完成。
1012:判断所有的检查是否通过,即是否有检查不通过的情况出现。
1013:是否遍历完所有层级。
1014:如果出现了检查不通过的情况,则记录该不通过的情况到数据库,并不再进行后续检查规则的执行。
1015:遍历下一层级的元素。
1016:完成本次检查。
在具体检查时,还采用了检查规约的方式来进行检查。具体的,可以参阅图11所示,按照以下步骤执行。
1101:检查归约节点拉取kafka中的单条检查规则的JSON消息。
1102:解析该JSON,根据JSON中的配置(被检查数据表,被检查字段,数据开始日期,数据结束日期,数据日期范围类型,操作符,操作符值)生成该检查规则的执行SQL。
1103:按JSON中配置的最大记录数(maxRowSize)和当前运行的SQL执行节点的数量(currentNodeSize),计算出SQL所需要拆分的批次数并对其进行拆分。
1104:按批次数对拆分出来的SQL执行批次进行遍历。
1105:判断是否遍历完成。
1106:本次检查归约节点完成所有检查,进行归约,记录完成状态到数据库。
1107:获取当前批次的所有子SQL语句。
1108:按子SQL语句数来1比1新建回调线程(Callable)。
1109:将子SQL语句1对1放入新建的回调线程并开启,使用http方法联机调用SQL执行节点的执行方法,对检查归约节点和子SQL执行节点形成映射关系,执行方法会返回检查出来的异常数据Id号的集合。
1110:调用这些线程的回调方法,等待所有线程返回数据。
1111:各SQL执行节点返回各子SQL的检查结果。
1112:判断当前批次的子SQL是否全部完成。
1113:如果当前批次的子SQL存在有未完成的,则等待,直到该批次的所有子SQL完成。
进一步,在本场示例中还采用了一种数据系统来实现上述过程。其中,参阅图12所示,基于上述数据系统具体实施时可以包括以下内容。
1201:发起总检查的上游系统。
1202:分布式消息队列(kafka)。
1203:检查总控节点。
1204:检查归约节点。
1205:SQL执行节点。
1206:数据库。
在本场景示例中,基于上述资产托管领域的灵活数据质量检查方法,通过分析传统场景下的数据质量检查特点,通过批量触发检查,可以整合各个数据质量检查规则,极大简化了用户操作量和开发人员的工作量,降低了开发和维护代码的难度和复杂度,解决了代码冗余且繁杂的问题;又通过分布式流式检查,将需要形成依赖关系的各个检查规则串行执行,解决了传统多检查任务的场景下难以管理其先后执行顺序的问题;还通过检查归约,解决了现有单节点执行大数据量的检查SQL语句速度慢的硬件资源瓶颈问题,从而实现基于资产托管领域的灵活数据质量检查。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。
Claims (19)
1.一种数据检查系统,其特征在于,包括:前端任务服务器、多个节点服务器,其中,
所述前端任务服务器用于获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;
所述前端任务服务器还用于根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;并根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;
所述前端任务服务器还用于从多个节点服务器中筛选出总控节点服务器,并将所述检查任务执行数据包发送至所述总控节点服务器;
所述总控节点服务器用于根据所接收到的所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
所述总控节点服务器还用于按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
2.一种数据检查方法,其特征在于,应用于前端任务服务器,包括:
获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;
根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;
根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;
从多个节点服务器中确定出总控节点服务器;
将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
3.根据权利要求2所述的方法,其特征在于,所述批量任务执行参数组包含有按照任务层级之间的执行顺序排列的多个子数组;其中,所述多个子数组分别对应一个任务层级,且所述多个子数组中的各个子数组所包含的元素分别对应一个目标数据表的检查任务。
4.根据权利要求2所述的方法,其特征在于,获取与所述多个目标数据表关联的配置参数和自定义注解参数,包括:
通过终端设备向用户展示关于配置参数的第一输入界面,并通过所述第一输入界面接收用户设置的配置参数;
通过终端设备向用户展示关于自定义注解参数的第二输入界面,并通过所述第二输入界面接收用户设置的自定义注解参数。
5.根据权利要求4所述的方法,其特征在于,所述配置参数还包括以下至少之一:目标数据表的表名、与目标数据表的检查任务相关的检查规则的规则标识、目标数据表在检查任务中的被检查的字段、目标数据表的检查时间、目标数据表的类型。
6.根据权利要求5所述的方法,其特征在于,所述检查规则包括以下至少之一:及时性检查规则、准确性检查规则、完整性检查规则、一致性检查规则。
7.根据权利要求5所述的方法,其特征在于,所述目标数据表包括:资产托管场景中的数据表;
相应的,所述目标数据表的类型包括以下至少之一:净值数据表、资金流数据表、过账信息数据表。
8.根据权利要求2所述的方法,其特征在于,所述检查任务执行数据包包括多层级的JSON数据。
9.根据权利要求8所述的方法,其特征在于,根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包,包括:
根据所述配置参数,从预设的规则库中,获取目标检查规则;
根据所述目标检查规则、所述配置参数、所述批量任务执行参数组,生成所述检查任务执行数据包。
10.根据权利要求9所述的方法,其特征在于,将所述检查任务执行数据包发送至所述总控节点服务器,包括:
通过分布式消息队列将所述检查任务执行数据包发送至所述总控节点服务器。
11.一种数据检查方法,其特征在于,应用于总控节点服务器,包括:
接收检查任务执行数据包;
根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
12.根据权利要求11所述的方法,其特征在于,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务,包括:
按照以下方式,根据所述检查任务执行数据包、预设的检查规约规则,执行所述多个任务层级中的当前任务层级的目标数据表的检查任务:
根据预设的检查规约规则,建立与当前任务层级的目标数据表的检查任务分别对应的多个任务线程,并根据所述多个任务线程构建的任务线程队列;
根据预设的检查规约规则,调用相应的子节点服务器,从所述任务线程队列中领取任务线程;
通过所述子节点服务器并行执行任务线程所对应的目标数据表的检查任务,并将任务执行结果记录到预设的数据库中。
13.根据权利要求12所述的方法,其特征在于,通过所述子节点服务器并行执行任务线程所对应的目标数据表的检查任务,包括:
按照以下方式通过当前子节点服务器执行当前目标数据表的检查任务:
配置多个SQL执行节点;
控制多个SQL执行节点,分批次地并行执行当前目标数据表的检查任务。
14.根据权利要求12所述的方法,其特征在于,所述任务执行结果包括:目标数据表的检查任务执行成功的确认信息、目标数据表中的错误字段,以及错误字段所命中的检查规则的规则标识。
15.根据权利要求14所述的方法,其特征在于,在根据所述检查任务执行数据包、预设的检查规约规则,执行所述多个任务层级中的当前任务层级的目标数据表的检查任务之后,所述方法还包括:
从预设的数据库中获取当前任务层级的任务执行结果;
根据所述当前任务层级的任务执行结果,确定当前任务层级的目标数据表的检查任务是否执行完成;
在确定当前任务层级的目标数据表的检查任务执行完成的情况下,按照任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,执行当前任务层级的下一层级的目标数据表的检查任务。
16.根据权利要求15所述的方法,其特征在于,所述方法还包括:
在确定当前任务层级的目标数据表的检查任务没有执行完成的情况下,触发根据所述检查任务执行数据包、预设的检查规约规则,重新执行当前任务层级的目标数据表的检查任务。
17.一种数据检查装置,其特征在于,包括:
获取模块,用于获取与待检查的多个目标数据表关联的配置参数和自定义注解参数;其中,所述配置参数至少包含有与目标数据表的检查任务相关的检查规则的规则标识,所述自定义注解参数至少包含有用于表征不同目标数据表之间的依赖关系以及不同检查任务之间的依赖关系的关系参数;
第一确定模块,用于根据所述配置参数和所述自定义注解参数,确定出多个目标数据表中的各个目标数据表的各个检查任务所处的任务层级,以生成相应的批量任务执行参数组;
生成模块,用于根据所述配置参数、所述批量任务执行参数组,生成检查任务执行数据包;
第二确定模块,用于从多个节点服务器中确定出总控节点服务器;
发送模块,用于将所述检查任务执行数据包发送至所述总控节点服务器;其中,所述总控节点服务器用于根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
18.一种数据检查装置,其特征在于,包括:
接收模块,用于接收检查任务执行数据包;
第三确定模块,用于根据所述检查任务执行数据包,确定出多个任务层级中的各个任务层级的目标数据表的检查任务以及任务层级之间的执行顺序;
执行模块,用于按照所述任务层级之间的执行顺序,根据所述检查任务执行数据包、预设的检查规约规则,逐层级地执行所述多个任务层级中的各个任务层级的目标数据表的检查任务。
19.一种服务器,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求2至10,或11至16中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472809.6A CN112559525B (zh) | 2020-12-15 | 2020-12-15 | 数据检查系统、方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011472809.6A CN112559525B (zh) | 2020-12-15 | 2020-12-15 | 数据检查系统、方法、装置和服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559525A true CN112559525A (zh) | 2021-03-26 |
CN112559525B CN112559525B (zh) | 2024-02-27 |
Family
ID=75063310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011472809.6A Active CN112559525B (zh) | 2020-12-15 | 2020-12-15 | 数据检查系统、方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559525B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485999A (zh) * | 2021-08-04 | 2021-10-08 | 中国工商银行股份有限公司 | 数据清理方法、装置和服务器 |
CN113986575A (zh) * | 2021-10-25 | 2022-01-28 | 聚好看科技股份有限公司 | 服务器及多层级数据的处理方法 |
CN115878666A (zh) * | 2022-10-31 | 2023-03-31 | 四川川大智胜系统集成有限公司 | 一种缓存依赖关系的管理方法、系统、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131448A1 (en) * | 2009-11-30 | 2011-06-02 | Iron Mountain, Incorporated | Performing a workflow having a set of dependancy-related predefined activities on a plurality of task servers |
CN102467532A (zh) * | 2010-11-12 | 2012-05-23 | 中国移动通信集团山东有限公司 | 一种任务处理方法以及任务处理装置 |
CN104216888A (zh) * | 2013-05-30 | 2014-12-17 | 中国电信股份有限公司 | 数据处理任务关系设置方法及系统 |
-
2020
- 2020-12-15 CN CN202011472809.6A patent/CN112559525B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110131448A1 (en) * | 2009-11-30 | 2011-06-02 | Iron Mountain, Incorporated | Performing a workflow having a set of dependancy-related predefined activities on a plurality of task servers |
CN102467532A (zh) * | 2010-11-12 | 2012-05-23 | 中国移动通信集团山东有限公司 | 一种任务处理方法以及任务处理装置 |
CN104216888A (zh) * | 2013-05-30 | 2014-12-17 | 中国电信股份有限公司 | 数据处理任务关系设置方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113485999A (zh) * | 2021-08-04 | 2021-10-08 | 中国工商银行股份有限公司 | 数据清理方法、装置和服务器 |
CN113986575A (zh) * | 2021-10-25 | 2022-01-28 | 聚好看科技股份有限公司 | 服务器及多层级数据的处理方法 |
CN113986575B (zh) * | 2021-10-25 | 2024-08-23 | 聚好看科技股份有限公司 | 服务器及多层级数据的处理方法 |
CN115878666A (zh) * | 2022-10-31 | 2023-03-31 | 四川川大智胜系统集成有限公司 | 一种缓存依赖关系的管理方法、系统、电子设备及介质 |
CN115878666B (zh) * | 2022-10-31 | 2023-09-12 | 四川川大智胜系统集成有限公司 | 一种缓存依赖关系的管理方法、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112559525B (zh) | 2024-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112559525B (zh) | 数据检查系统、方法、装置和服务器 | |
CN110554958B (zh) | 图数据库测试方法、系统、设备和存储介质 | |
CN109885624B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111125444A (zh) | 大数据任务调度管理方法、装置、设备及存储介质 | |
US20160125052A1 (en) | Database virtualization | |
US11176169B2 (en) | Recommending visual and execution templates to enable automation of control and data exploration across systems | |
CN111897724A (zh) | 一种适用于云平台的自动化测试方法及装置 | |
US20220292083A1 (en) | System and method for batch and real-time feature computation | |
CN112800095A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN108363787B (zh) | 一种ifc文件并行存储方法、装置及系统 | |
CN113360581A (zh) | 数据处理方法、装置及存储介质 | |
CN103248511B (zh) | 一种单点业务性能的分析方法、装置和系统 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN115392501A (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN113220597B (zh) | 测试方法、测试装置、电子设备及存储介质 | |
CN114253798A (zh) | 指标数据采集方法和装置、电子设备、存储介质 | |
CN115994085A (zh) | 代码覆盖率的测试处理方法、装置、设备及存储介质 | |
CN112671878A (zh) | 一种区块链的信息订阅方法、装置、服务器和存储介质 | |
CN113722141B (zh) | 数据任务的延迟原因确定方法、装置、电子设备及介质 | |
CN115248735A (zh) | 一种日志数据输出控制方法、装置、设备及存储介质 | |
CN115550382A (zh) | 配置项同步方法、装置、系统以及设备 | |
CN113268421A (zh) | 服务调用处理方法、装置、服务器及存储介质 | |
CN113434382A (zh) | 数据库性能监控方法、装置、电子设备及计算机可读介质 | |
CN108960433B (zh) | 用于运行机器学习建模过程的方法及系统 | |
CN111160403A (zh) | 一种api接口复用发现的方法及装置 |
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 |