CN114185943A - 一种数据校验系统、方法和电子设备 - Google Patents
一种数据校验系统、方法和电子设备 Download PDFInfo
- Publication number
- CN114185943A CN114185943A CN202111504453.4A CN202111504453A CN114185943A CN 114185943 A CN114185943 A CN 114185943A CN 202111504453 A CN202111504453 A CN 202111504453A CN 114185943 A CN114185943 A CN 114185943A
- Authority
- CN
- China
- Prior art keywords
- data
- verified
- verification
- rule
- module
- 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
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- 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/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供了一种数据校验系统、方法和电子设备,涉及数据校验技术领域,用以实现全面、灵活和高效地进行批量数据校验。该系统中,包括:数据提取模块、数据存储模块、推送模块和规则引擎;其中,数据提取模块用于接收数据校验请求;数据校验请求中包括待校验数据的查询条件;根据查询条件生成查询请求,并将查询请求发送至数据存储模块;数据存储模块用于根据查询请求,查询符合查询条件的待校验数据,并将待校验数据发送至推送模块;推送模块用于接收待校验数据,并将待校验数据发送至规则引擎;规则引擎用于根据预先存储的校验规则,对待校验数据进行校验,并输出校验结果。
Description
技术领域
本申请涉及数据校验技术领域,特别涉及一种数据校验系统、方法和电子设备。
背景技术
数据是企业的重要资产,联机分析处理的目的是从数据中挖掘业务价值,提高业务运营和经营分析能力,推动企业有效决策。数据校验是数据挖掘中必不可少的。
数据校验是在数据抽取、清洗转换流程完成之后,通过一系列的校验规则,定位到错误数据,并将异常数据推送给下游处理,最终提升数据质量的环节。由于数据校验往往是对批量数据进行校验,传统的批量数据校验方式采用人工或自动测试的方法进行检验,然而人工测试代价高,效果差,几乎无法在批量数据中发现少数异常;自动测试也仅仅是从批量数据中尽量抽取出具有代表性的数据,再通过执行程序语言的方式进行比对。这些方法都不能做到对批量数据的全量校对,无法确保数据校验的准确性。
在大数据时代,数据庞大而复杂,如何全面、灵活和高效地进行批量数据校验是一个难题。
发明内容
本申请实施例提供了一种数据校验系统、方法和电子设备,用以实现全面、灵活和高效地进行批量数据校验。
第一方面,本申请实施例提供了一种数据校验系统,包括:数据提取模块、数据存储模块、推送模块和规则引擎;
其中,所述数据提取模块用于接收数据校验请求;所述数据校验请求中包括待校验数据的查询条件;根据所述查询条件生成查询请求,并将所述查询请求发送至所述数据存储模块;所述数据存储模块用于根据所述查询请求,查询符合所述查询条件的待校验数据,并将所述待校验数据发送至所述数据提取模块;所述数据提取模块还用于将所述待校验数据发送至所述推送模块;所述推送模块用于接收所述待校验数据,并将所述待校验数据发送至所述规则引擎;所述规则引擎用于根据预先存储的校验规则,对所述待校验数据进行校验,并输出校验结果;所述校验结果用于指示所述待校验数据校验通过,或者所述校验结果用于指示所述待校验数据校验失败。
基于上述方案,用户的数据校验请求通过数据提取模块、数据存储模块、推送模块以及规则引擎模块,可以实现在数据庞大而复杂的情况下,全面、灵活和高效地进行批量数据质量验证。
一种可能的实现方式,所述数据提取模块根据所述查询条件生成查询请求时,具体用于:解析所述查询条件;在所述查询条件包括所述待校验数据的关联关系时,根据所述关联关系生成关联关系查询请求;将所述关联关系查询请求和所述查询请求发送至所述数据存储模块。
基于上述方案,通过根据关联关系生成关联关系查询请求,可以解决传统规则引擎无法实现跨数据表进行规则校验的问题。
一种可能的实现方式,所述预先存储的校验规则中包括数据集和属性变量,所述数据集用于指示数据标识,所述属性变量用于指示数据内容;其中,至少两个数据集之间具有关联关系,所述关联关系对应数据集和属性变量;所述关联关系对应的数据集包括所述至少两个数据集;所述关联关系对应的属性变量用于指示所述至少两个数据集具有关联关系。
一种可能的实现方式,所述预先存储的校验规则是可视化配置的。
基于上述方案,将校验规则可视化配置,避免了以往通过硬编码对批量业务数据进行检验核查的方式,并且业务人员可根据需求的变化情况,方便且快速地对校验规则进行更新,不需要技术人员参与,减少了人力需求并且提高了校验规则的更新效率。
一种可能的实现方式,所述规则引擎的数量为至少两个;所述推送模块在将所述待校验数据发送至所述规则引擎时,具体用于:所述推送模块通过轮询的方式将所述待校验数据发送至所述至少两个规则引擎。
基于上述方案,推送模块采用轮询的方式将待校验数据发送给至少两个规则引擎可以简便地实现多个规则引擎同时进行规则校验,可以在数据量大的情况下实现系统稳定运行并提高数据校验的效率。
一种可能的实现方式,所述数据存储模块为clickhouse集群,所述推送模块为rocketMQ集群。
基于上述方案,通过clickhouse集群和rocketMQ集群技术的应用,提高了数据校验系统执行的性能,增加了数据校验系统的可扩展性,还增强了数据校验系统的可靠性。
第二方面,本申请实施例提供了一种数据校验方法,包括:接收数据校验请求;所述数据校验请求中包括待校验数据的查询条件;根据所述查询条件,查询符合所述查询条件的待校验数据;根据预先存储的校验规则,对所述待校验数据进行校验,并输出校验结果;所述校验结果用于指示所述待校验数据校验通过,或者所述校验结果用于指示所述待校验数据校验失败。
一种可能的实现方式,所述接收数据校验请求,具体包括:解析所述查询条件;在所述查询条件包括所述待校验数据的关联关系时,根据所述关联关系生成关联关系查询请求;将所述关联关系查询请求和所述查询请求发送至所述数据存储模块。
一种可能的实现方式,所述预先存储的校验规则中包括数据集和属性变量,所述数据集用于指示数据标识,所述属性变量用于指示数据内容;其中,至少两个数据集之间具有关联关系,所述关联关系对应数据集和属性变量;所述关联关系对应的数据集包括所述至少两个数据集;所述关联关系对应的属性变量用于指示所述至少两个数据集具有关联关系。
一种可能的实现方式,所述预先存储的校验规则是可视化配置的。
第三方面,本申请实施例提供了一种电子设备,包括:
存储器,用于存储计算机指令;
处理器,与所述存储器连接,用于执行所述存储器中的计算机指令,且在执行所述计算机指令时实现如第二方面中任一项所述的方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第二方面中任一项所述的方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括:
所述计算机程序产品在被计算机调用时,使得所述计算机执行如第二方面中任一项所述的方法。
上述第二方面至第五方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的数据校验方法应用的系统示意图;
图2为本申请实施例提供的一种数据校验系统的结构示意图之一;
图3为本申请实施例提供的数据提取模块工作流程示意图;
图4为本申请实施例提供的多规则引擎时数据推送示意图;
图5为本申请实施例提供的一种数据校验系统的结构示意图之一;
图6为本申请实施例提供的一种数据校验方法的示例性流程图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了便于理解本申请实施例提供的技术方案,下面介绍本申请实施例涉及的专业术语。
(1)联机分析处理OLAP(On-Line Analytical Processing),是一种数据分析处理技术,支持复杂的大量的数据分析操作,通常为批量操作,通过对数据按不同维度的聚合、维度的上钻以及下钻等探索并挖掘数据价值,侧重决策支持。
(2)数据校验,是为保证数据的完整性和有效性对数据质量进行的一种验证操作;在OLAP处理过程中,除了进行技术验证外,由于业务数据本身的业务属性,可以通过定义一系列的业务检查规则,对OLAP分析中使用的或结果数据进行批量核查验证。
(3)Drools,是一款基于Java的优秀的规则引擎,将复杂多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在文件中,使得修改规则不需要改动代码重启业务服务就能生效。
(4)集群,是一组相互独立的、通过高速网络互联的计算机,它们构成了一个小组,并以单一系统的模式管理和对外提供服务。通过集群部署,可以提高性能、增加可扩展性、增强可靠性。
(5)规则引擎,是一种嵌入到应用程序中的组件,实现了将业务规则或决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务规则,接受数据输入,解释业务规则,并根据业务规则做出结果业务决策。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请技术方案保护的范围。
本申请实施例中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
传统的批量数据校验方式采用人工或自动测试的方法进行检验,然而人工测试代价高,效果差,几乎无法在批量数据中发现少数异常;自动测试也仅仅是从批量数据中尽量抽取出具有代表性的数据,再通过执行程序语言的方式进行比对。这些方法都不能做到对批量数据的全量校对,无法确保数据校验的准确性。在大数据时代,数据庞大而复杂,如何全面、灵活和高效地进行批量数据校验就亟待解决。
有鉴于此,本申请提供了一种数据校验系统。该系统中,通过数据提取模块接收数据校验请求,通过数据存储模块根据由数据校验请求生成的查询请求查询符合查询条件的待校验数据,然后通过推送模块将待校验数据发送到规则引擎中根据预先配置的校验规则对数据进行校验。用以实现全面、灵活和高效地进行批量数据校验。
参见图1为本申请实施例提供的数据校验方法应用的系统示意图。系统100包括:终端设备101、存储器102和处理器103。其中,终端设备101可以为平板电脑、计算机或智能手机等设备。终端设备101用于接收用户的数据校验请求。存储器102用于存储校验规则以及待校验数据。处理器103用于根据校验规则对待校验数据进行规则校验。
参见图2示出了本申请实施例提供的一种数据校验系统的结构示意图之一,如图所示,该系统可包括:数据提取模块201、数据存储模块202、推送模块203和规则引擎204。
数据提取模块201接收用户的数据校验请求。然后数据提取模块201根据数据校验请求中待校验数据的查询条件生成查询请求,并将查询请求发送至数据存储模块202。其中,数据校验请求中包括待校验数据的查询条件。查询条件用于提取数据存储模块202中符合查询条件的待校验数据。
数据提取模块201根据数据校验请求中待校验数据的查询条件生成查询请求时,数据提取模块201对数据校验请求中待校验数据的查询条件进行解析。如果数据的查询条件中包括待校验数据的关联关系,则数据提取模块201根据该关联关系生成关联关系查询请求。然后数据提取模块201将关联关系查询请求和查询请求均发送至数据存储模块202。如果数据的查询条件中不包括待校验数据的关联关系,那么数据提取模块201将只生成查询请求,然后将生成的查询请求发送至数据存储模块202。
其中,待校验数据的关联关系是指两个及以上的以数据表的形式存储的待校验数据之间的关联关系。举例来说,假设待校验数据存储于三个数据表中,分别为数据表1、数据表2以及数据表3。如果通过数据表1中第一行的数据和数据表2中第二行的数据可以得到数据表3第一行的数据。那么在这种情况下,就可以认为数据表1、数据表2以及数据表3这三个数据表之间是有关联关系的。那么数据提取模块201则根据该关联关系生成关联关系查询请求,并将关联关系查询请求和查询请求发送至数据存储模块202。
在数据存储模块202接收到数据提取模块201发送的查询请求时,数据存储模块202会根据数据提取模块201发送来的查询请求,对存储于数据存储模块202的待校验数据进行查询。然后将查询到的符合查询请求的待校验数据发送至数据提取模块201。在数据存储模块202接收到数据提取模块201发送的关联关系查询请求和查询请求时,数据存储模块202会根据数据提取模块201发送来的关联关系查询请求和查询请求,对存储于数据存储模块202的待校验数据进行查询。然后将符合关联关系查询请求和查询请求的待校验数据发送至数据提取模块201。
数据提取模块201在接收到数据存储模块202发送来的待校验数据后,还会将接收到的待校验数据发送至推送模块203。
参见图3为本申请实施例提供的数据提取模块工作流程示意图。具体流程包括:
S301,数据提取模块接收数据校验请求。
其中,数据校验请求中包括查询条件。
S302,数据提取模块对待校验数据的查询条件进行解析。
S303,数据提取模块判断查询条件中是否包括待校验数据的关联关系。
如果数据提取模块执行S302后,判断出数据校验请求中的查询条件中包括待校验数据的关联关系时,则执行S304。数据提取模块执行S302后,判断出数据校验请求中的查询条件中不包括待校验数据的关联关系时,则执行S306。
S304,数据提取模块生成关联关系查询请求以及查询请求。
数据提取模块根据S302解析出的待校验数据的关联关系生成关联关系查询请求,并且根据数据校验请求中的查询条件生成查询请求。
S305,数据提取模块将查询请求和关联关系查询请求均发送至数据存储模块。
S306,数据提取模块生成查询请求。
如果S302解析查询条件后,数据校验请求的查询条件中不包含待校验数据的关联关系,则数据提取模块只需要根据查询条件生成查询请求。
S307,数据提取模块将查询请求发送至数据存储模块。
S308,数据提取模块接收数据存储模块发送来的符合查询条件的待校验数据。
数据存储模块会在数据提取模块执行完S307后,接收到数据提取模块发送的查询请求,然后对存储于数据存储模块的待校验数据进行查询,并将查询到的符合查询请求的待校验数据发送至数据提取模块。此时数据提取模块会将接收到的由数据存储模块发送来的符合查询请求的待校验数据。
S309,数据提取模块将符合查询条件的待校验数据发送至推送模块。
数据提取模块会将数据存储模块发送来的符合查询请求的待校验数据发送至推送模块。
数据提取模块202将符合查询条件的待校验数据发送至推送模块203之后,推送模块203接收待校验数据,并将待校验数据发送至规则引擎204。推送模块203在本申请实施例提供的数据校验系统中主要起到了分发待校验数据的作用。由于数据校验时数据量的单位通常为百万级或者亿万级,因此如果直接将批量待校验数据从数据存储模块发送至数据引擎,将会导致系统出现性能问题,严重的话将会导致系统崩溃。因此在数据校验系统需要执行批量待校验数据的数据校验时,推送模块203就显得尤为重要。
一种可能的实现方式,当规则引擎204的数量为至少两个时,推送模块203将待校验数据发送至规则引擎204时,可以通过轮询的方式将待校验数据发送到至少两个规则引擎204中。
参见图4,为本申请实施例提供的多规则引擎时数据推送示意图。如图所示,图中包含一个推送模块401,三个规则引擎分别是规则引擎A、规则引擎B和规则引擎C。在推送模块401需要将待校验数据发送到规则引擎进行规则校验时,会将第3m+1个待校验数据发送至规则引擎A,将第3m+2个待校验数据发送至规则引擎B,将第3m+3个待校验数据发送至规则引擎C,其中m为大于或等于0的整数。举例来说,在m为0时,则将第1个待校验数据发送至规则引擎A,将第2个待校验数据发送至规则引擎B,将第3个待校验数据发送至规则引擎C。以此类推,直至所有待校验数据均被发送至规则引擎中进行校验。
基于上述方案,推送模块采用轮询的方式将待校验数据发送给至少两个规则引擎可以简便地实现多个规则引擎同时进行规则校验,可以在数据量大的情况下实现系统稳定运行并提高数据校验的效率。
规则引擎204根据预先存储的校验规则,对待校验数据进行校验并输出校验结果。具体的,规则引擎204对发送到规则引擎204的待校验数据根据预先配置的校验规则进行条件匹配,如果待校验数据与校验规则的条件匹配,则对应输出待校验数据校验通过的校验结果。如果待校验数据与校验规则的条件不匹配,则对应输出待校验数据校验失败的校验结果。
预先存储的校验规则是可视化配置的。校验规则可以包含条件部分和行为部分,通过多个规则组件中的一个或多个即可对校验规则进行可视化配置。业务人员通过规则组件对校验规则进行可视化配置后,配置的校验规则可以通过转换程序转换为可被规则引擎解释的语法形式的语言。
其中,规则组件可以包括数据模型定义组件、决策树组件、决策表组件、规则集组件和规则流组件。
数据模型定义组件,由于数据模型可以分为数据集和属性变量,其中,数据集用于指示数据标识,属性变量用于指示数据内容。因此通过定义数据集和属性变量可以对数据模型进行定义。换句话说,通过数据模型定义组件对校验规则进行配置,也就是通过对校验规则应用的数据模型进行定义而配置校验规则。例如,可以为每个数据表定义数据模型,则表字段为属性变量。也可以选取多个数据表,指定各个数据表之间的关联关系,然后根据关联关系的结果定义数据集和属性变量。
一种可能的实现方式,预先存储的校验规则中的多个数据集中至少两个数据集之间是具有关联关系的,关联关系对应数据集和属性变量。其中,关联关系对应的数据集包括至少两个数据集,关联关系对应的属性变量用于指示至少两个数据集是具有关联关系的。
决策树组件,是一种以树形图的方式,将一组彼此之间相关联的规则配置到一起的规则设定组件。树形图的“树干”部分是各个条件的具体分叉值,“树叶”部分也就是节点部分则是每个条件的结果。决策树的每条从“树根”到“树叶”的分支都是一条完整的校验规则。业务人员可以通过在决策树组件设定校验规则的条件和结果对校验规则进行配置。
决策表组件,是一种以多维图表的方式,将一组彼此之间相关联的规则配置到一起的规则设定组件。适用于描述处理判断条件较多,各条件又相互组合、有多种决策方案的情况。从决策表最左边的第一个“维度”到右边的最后一个“结果”,即可构成一条完整的校验规则和结果。业务人员可以通过在决策表组件中设定校验规则的“维度”和“结果”对校验规则进行配置。
规则集组件,是一系列分散的规则组件的集合,也就是说规则集中的规则组件彼此之间没有关联。可以包括数据模型定义组件、决策树组件以及决策表组件中的一种或多种。在规则集组件配置页面以引导的方式,使业务人员为每个规则组件分别配置校验规则的条件以及满足该条件的结果,并为每个校验规则的配置该校验规则在多个校验规则中的执行顺序。
规则流组件,可以看作是数据模型定义组件、决策树组件、决策表组件、规则集组件以及规则流组件的有序组合,可以包括上述组件的一种或多种。规则流组件也可以作为规则组件嵌入到其他规则流组件中。利用规则流组件可以配置执行每个规则组件的执行时间、每个规则组件的执行条件和每个规则组件的执行方式,从而实现由多种规则组件配置的校验规则的流程化处理。在规则流组件中,相邻两个规则组件可以将前一个规则组件的输出作为后一个规则组件的输入,通过规则流组件可以将流程化的多个规则组件作为一整体来实现复杂的规则策略。应了解,上述规则组件可以为数据模型定义组件、决策树组件、决策表组件、规则集组件和规则流组件中的任意一种。
基于上述方案,将校验规则可视化配置,避免了以往通过硬编码对批量业务数据进行检验核查的方式,并且业务人员可根据需求的变化情况,方便且快速地对校验规则进行更新,不需要技术人员参与,减少了人力需求并且提高了校验规则的更新效率。
本次通过上述规则组件配置完校验规则后,会被保存到系统中,直到下一次业务人员更改校验规则前,规则引擎204将一直以本次配置的校验规则对待校验数据进行规则校验。
由于进行数据校验时通常是对批量数据进行数据校验,且上述批量数据,在数据间一般会存在关联关系,因此可以通过搭建处理集群的方式进行数据校验,不仅可以解决系统的性能问题,还可以提高数据校验的效率。
示例性的,参见图5为本申请实施例提供的一种数据校验系统的结构示意图之一。如图所示,数据校验系统500包括数据提取集群501、数据存储集群502、推送集群503和规则引擎集群504。
数据提取集群501可以是由多个数据提取模块组成的。本申请实施例中以数据提取集群501中包含两个数据提取模块为例。当接收到数据校验请求时,数据提取集群501会采用负载均衡的方式将数据校验请求分别发送至数据提取集群501中的多个数据提取模块中。其中,负载均衡就是指对系统的工作任务进行平衡换句话说就是将系统的多个工作任务分摊到多个操作单元上进行运行,从而提高系统的数据处理能力、增加系统的吞吐量以及增加系统的可用性和灵活性。
在数据提取集群501中的每个数据提取模块的工作流程可以参见图2的相关描述,在此不再赘述。
数据存储集群502是由多个数据存储模块组成的。本申请实施例中以数据存储集群502中包含两个数据存储模块为例。可选的,数据存储集群502可以采用clickhouse集群,也就是将clickhouse数据库作为数据存储模块。其中,clickhouse是一个列式存储大规模并行处理(Massively Parallel Processing,MPP)数据库,采用向量计算的方式,能够支持多核心并行处理,并可以支持多服务器分布式处理,因此查询效率很高。
推送集群503是由多个推送模块组成的。本申请实施例中以推送集群503中包含两个推送模块为例。可选的,推送集群503可以采用rocketMQ集群,也就是将rocketMQ消息中间件作为推送模块。其中,rocketMQ是一个具有高性能、高可靠、高实时以及分布式特点的消息队列模型的消息中间件。
规则引擎集群504是由多个规则引擎组成的。本申请实施例中以规则引擎集群504中包含两个规则引擎为例。可选的,规则引擎集群504可以采用Drools规则引擎集群,也就是将Drools规则引擎作为本申请实施例中数据校验系统的规则引擎。Drools规则引擎基于Rete算法执行规则校验。规则引擎集群504采用多线程技术对数据进行并行处理。同时,由于规则引擎集群504中包含了多个规则引擎,可以提升数据校验系统的数据处理容量。
数据校验系统500中的数据提取集群501接收用户的数据校验请求,然后将查询请求和关联关系查询请求发送至数据存储集群502中。数据存储集群502根据查询请求和关联关系查询请求查询符合查询条件的待校验数据,并将待校验数据发送至数据提取集群501。数据提取集群501再将待校验数据发送至推送集群503。推送集群503将待校验数据按照轮询地方式将待校验数据发送至规则引擎集群504中的全部规则引擎中进行数据的校验。最后由规则引擎集群504输出全部待校验数据的校验结果。
下面,为了能够更加清晰地理解本申请实施例提出的方案,将结合具体地实施例对本申请提供的一种数据校验方法进行介绍。
本申请实施例提供的数据校验方法可以应用于OLAP中。参阅图6,为本申请实施例提供的一种数据校验方法的示例性流程图,具体包括:
S601,系统接收数据校验请求。
其中,查询请求中包含查询条件。
S602,系统根据数据校验请求中的查询条件,查询符合查询条件的待校验数据。
符合查询条件的待校验数据的查询方法可以参见图1所示系统实施例中的相关描述,本申请对此不再赘述。
S603,系统根据预先存储的校验规则,对所述待校验数据进行校验,并输出校验结果。
其中,校验结果用于指示待校验数据校验通过或者待校验数据校验失败。待校验数据的校验方法以及校验规则可以参见图2所示系统实施例中的相关描述,本申请对此不再赘述。
基于上述方法的同一构思,参见图7,为本申请实施例提供的一种电子设备的结构示意图。如图所示,该电子设备可包括:处理器701、存储器702以及总线接口703。
处理器701负责管理总线架构和通常的处理,存储器702可以存储处理器701在执行操作时所使用的数据。
总线架构可以包括任意数量的互联的总线和桥,具体由处理器701代表的一个或多个处理器和存储器702代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器701负责管理总线架构和通常的处理,存储器702可以存储处理器701在执行操作时所使用的数据。
本申请实施例揭示的流程,可以应用于处理器701中,或者由处理器701实现。在实现过程中,处理流程的各步骤可以通过处理器701中的硬件的集成逻辑电路或者软件形式的指令完成。处理器701可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器702,处理器701读取存储器702中的信息,结合其硬件完成本申请实施例中的方法流程的步骤。
具体地,处理器701,用于读取存储器702中的计算机指令并执行本申请实施例中的数据校验方法。
在此需要说明的是,本申请实施例提供的上述通信装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行上述任一方法的步骤。
本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在被计算机调用时,使得所述计算机执行上述任一方法的步骤。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
虽然以上描述了本申请的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本申请的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本申请的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本申请的保护范围。尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种数据校验系统,其特征在于,包括:数据提取模块、数据存储模块、推送模块和规则引擎;
其中,所述数据提取模块用于接收数据校验请求;所述数据校验请求中包括待校验数据的查询条件;根据所述查询条件生成查询请求,并将所述查询请求发送至所述数据存储模块;
所述数据存储模块用于根据所述查询请求,查询符合所述查询条件的待校验数据,并将所述待校验数据发送至所述数据提取模块;
所述数据提取模块还用于将所述待校验数据发送至所述推送模块;
所述推送模块用于接收所述待校验数据,并将所述待校验数据发送至所述规则引擎;
所述规则引擎用于根据预先存储的校验规则,对所述待校验数据进行校验,并输出校验结果;所述校验结果用于指示所述待校验数据校验通过,或者所述校验结果用于指示所述待校验数据校验失败。
2.根据权利要求1所述的系统,其特征在于,所述数据提取模块根据所述查询条件生成查询请求时,具体用于:
解析所述查询条件;
在所述查询条件包括所述待校验数据的关联关系时,根据所述关联关系生成关联关系查询请求;
将所述关联关系查询请求和所述查询请求发送至所述数据存储模块。
3.根据权利要求1或2所述的系统,其特征在于,所述预先存储的校验规则中包括数据集和属性变量,所述数据集用于指示数据标识,所述属性变量用于指示数据内容;
其中,至少两个数据集之间具有关联关系,所述关联关系对应数据集和属性变量;所述关联关系对应的数据集包括所述至少两个数据集;所述关联关系对应的属性变量用于指示所述至少两个数据集具有关联关系。
4.根据权利要求1所述的系统,其特征在于,所述预先存储的校验规则是可视化配置的。
5.根据权利要求1所述的系统,其特征在于,所述规则引擎的数量为至少两个;
所述推送模块在将所述待校验数据发送至所述规则引擎时,具体用于:
所述推送模块通过轮询的方式将所述待校验数据发送至所述至少两个规则引擎。
6.根据权利要求1所述的系统,其特征在于,所述数据存储模块为clickhouse集群,所述推送模块为rocketMQ集群。
7.一种数据校验方法,其特征在于,包括:
接收数据校验请求;所述数据校验请求中包括待校验数据的查询条件;
根据所述查询条件,查询符合所述查询条件的待校验数据;
根据预先存储的校验规则,对所述待校验数据进行校验,并输出校验结果;所述校验结果用于指示所述待校验数据校验通过,或者所述校验结果用于指示所述待校验数据校验失败。
8.根据权利要求7所述的方法,其特征在于,所述接收数据校验请求,具体包括:
解析所述查询条件;
在所述查询条件包括所述待校验数据的关联关系时,根据所述关联关系生成关联关系查询请求。
9.根据权利要求7或8所述的方法,其特征在于,所述预先存储的校验规则中包括数据集和属性变量,所述数据集用于指示数据标识,所述属性变量用于指示数据内容;
其中,至少两个数据集之间具有关联关系,所述关联关系对应数据集和属性变量;所述关联关系对应的数据集包括所述至少两个数据集;所述关联关系对应的属性变量用于指示所述至少两个数据集具有关联关系。
10.根据权利要求7所述的方法,其特征在于,所述预先存储的校验规则是可视化配置的。
11.一种电子设备,其特征在于,包括:
存储器,用于存储计算机指令;
处理器,与所述存储器连接,用于执行所述存储器中的计算机指令,且在执行所述计算机指令时实现如权利要求7-10中任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,包括:
所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如权利要求7-10中任一项所述的方法。
13.一种计算机程序产品,其特征在于,包括:
所述计算机程序产品在被计算机调用时,使得所述计算机执行如权利要求7-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111504453.4A CN114185943A (zh) | 2021-12-10 | 2021-12-10 | 一种数据校验系统、方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111504453.4A CN114185943A (zh) | 2021-12-10 | 2021-12-10 | 一种数据校验系统、方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185943A true CN114185943A (zh) | 2022-03-15 |
Family
ID=80604281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111504453.4A Pending CN114185943A (zh) | 2021-12-10 | 2021-12-10 | 一种数据校验系统、方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185943A (zh) |
-
2021
- 2021-12-10 CN CN202111504453.4A patent/CN114185943A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595157B (zh) | 区块链数据的处理方法、装置、设备和存储介质 | |
CN109344154B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN110263938B (zh) | 用于生成信息的方法和装置 | |
CN110162516B (zh) | 一种基于海量数据处理的数据治理的方法及系统 | |
CN108874678B (zh) | 一种智能程序的自动测试方法及装置 | |
CN107133233B (zh) | 一种配置数据查询的处理方法及装置 | |
CN111242164A (zh) | 一种决策结果的确定方法、装置及设备 | |
CN112181522A (zh) | 数据处理的方法、装置以及电子设备 | |
CN109241163B (zh) | 电子凭证的生成方法及终端设备 | |
CN114139161A (zh) | 一种批量检测漏洞的方法、装置、电子设备及介质 | |
CN113918532A (zh) | 画像标签聚合方法、电子设备及存储介质 | |
CN110728118B (zh) | 跨数据平台的数据处理方法、装置、设备及存储介质 | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
CN111475165A (zh) | 一种应用程序智能编译方法、系统、终端及存储介质 | |
CN114185943A (zh) | 一种数据校验系统、方法和电子设备 | |
CN114358910A (zh) | 异常财务数据处理方法、装置、设备及存储介质 | |
CN114328700A (zh) | 医疗数据etl任务中的数据核查方法及装置 | |
CN113485942A (zh) | 一种基于独立模块的自动化测试方法及装置 | |
CN103761247B (zh) | 一种出错文件的处理方法及装置 | |
CN114371884A (zh) | Flink计算任务的处理方法、装置、设备和存储介质 | |
CN113419957A (zh) | 基于规则的大数据离线批处理性能容量扫描方法及装置 | |
CN113760864A (zh) | 数据模型的生成方法和装置 | |
CN113157479A (zh) | 一种数据纠错方法、系统、装置、设备和存储介质 | |
CN113495831B (zh) | 基于关键字生成测试用例的方法、系统、设备及介质 | |
CN112799797A (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 |