CN110704404B - 一种数据质量校验方法、装置、系统 - Google Patents

一种数据质量校验方法、装置、系统 Download PDF

Info

Publication number
CN110704404B
CN110704404B CN201910808716.7A CN201910808716A CN110704404B CN 110704404 B CN110704404 B CN 110704404B CN 201910808716 A CN201910808716 A CN 201910808716A CN 110704404 B CN110704404 B CN 110704404B
Authority
CN
China
Prior art keywords
data
check
loading
field data
checked
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.)
Active
Application number
CN201910808716.7A
Other languages
English (en)
Other versions
CN110704404A (zh
Inventor
杨延威
汪目明
孙迁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Suning Cloud Computing Co ltd
SuningCom Co ltd
Original Assignee
Suning Cloud Computing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suning Cloud Computing Co Ltd filed Critical Suning Cloud Computing Co Ltd
Priority to CN201910808716.7A priority Critical patent/CN110704404B/zh
Publication of CN110704404A publication Critical patent/CN110704404A/zh
Application granted granted Critical
Publication of CN110704404B publication Critical patent/CN110704404B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开一种数据质量校验方法、装置、系统,方法包括:获取数据库中预保存的配置文件;其中,配置文件包括校验表、被校验表、校验表和被校验表的字段之间的对应关系;判断校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载校验表和被校验表的字段数据;对加载后的字段数据进行校验。本申请为不同的数据源设计了不同的数据加载方式,从而加载得到不同类型的数据源的数据,进而可以实现复杂数据源、复杂数据源中复杂数据类型的数据质量完整性、一致性校验,打破了不同数据源之间数据校验的壁垒;此外,本申请通过分片限流的方法解决了当大数据量读取关系型数据库时造成的内存溢出、数据库抽数压力大的问题。

Description

一种数据质量校验方法、装置、系统
技术领域
本发明属于计算机技术领域,尤其涉及一种数据质量校验方法、装置、系统。
背景技术
数据如同矿石,质量好才能打造好的产品。数据质量是指数据值的质量,通常由完整性,一致性,准确性,及时性来评估数据质量的好坏。数据质量差会浪费资源并且得到相反的结果。因此,对于数据质量校验非常重要。然后,在数据质量校验方面,业内一直处于摸索阶段,数据的完整性、一致性通常存在于理论阶段或者仅仅对单一数据源的、少量的数据进行完整性和一致性校验。由于现在处于数据爆发的时代,大数据场景复杂多样,现有校验方法已经无法满足需求。
发明内容
为了解决现有技术的问题,本发明提出了一种数据质量校验方法、装置、系统,本方法可以对多源数据、大数据量进行完整性和一致性校验,克服现有技术中只能对单一数据源、少量数据进行校验的难点。
本发明实施例提供的具体技术方案如下:
第一方面,本发明提供一种数据质量校验方法,所述方法包括:
获取数据库中预保存的配置文件;其中,所述配置文件包括校验表、被校验表、所述校验表和被校验表的字段之间的对应关系;
判断所述校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据;
对加载后的字段数据进行校验。
优选的,所述方法还包括:
若所述数据源为关系型数据库,对所述校验表和被校验表的字段数据进行分页处理并根据预创建的多个分片分别加载与所述分片相对应的分页的数据。
优选的,若所述数据源为关系型数据库,对所述校验表和被校验表的字段数据进行分页处理并根据预创建的多个分片分别加载与所述分片相对应的分页的数据具体包括:
分别计算所述校验表的字段数据和所述被校验表的字段数据的数据量;
将所述字段数据进行分页处理;
创建包括至少两个分片的弹性分布式数据集;
将获取到的连接信息进行封装并广播至所述各个分片;
根据所述连接信息,在所述分片中加载对应分页的数据。
优选的,所述校验为完整性校验;所述配置文件还包括定时任务配置信息;
所述按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据包括:
按照与不同类型的数据源对应的加载方式全量加载所述被校验表的字段数据;
若为首次加载或者修改后首次加载,按照与不同类型的数据源对应的加载方式定时全量加载所述校验表的字段数据;
若为非首次加载,按照与不同类型的数据源对应的加载方式定时增量加载所述校验表的字段数据。
优选的,所述对加载后的字段数据进行完整性校验包括:
若所述校验表的字段数据为定时全量加载,则:
根据加载得到的所述校验表的字段数据计算与所述校验表对应的被校验表的字段数据的缺失值;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验;
若所述校验表的字段数据为定时增量加载,则:
获取前次校验结果表;
将加载得到的所述校验表的字段数据与所述前次校验结果表的数据进行合并;
根据合并后得到的数据计算与所述校验表对应的被校验表的字段数据的缺失值并将所述缺失值存入当前校验结果表;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验。
优选的,所述校验为一致性校验;
所述按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据包括:
按照与不同类型的数据源对应的加载方式全量加载所述校验表的字段数据和所述被校验表的字段数据。
优选的,所述对加载后的字段数据进行一致性校验具体包括:
将加载后的所述校验表的字段数据进行整合,生成参照集;
将加载后的所述被校验表的字段数据进行整合,生成全量数据集;
根据所述参照集对所述全量数据集进行过滤以得到与所述参照集一致的数据子集;
根据所述数据子集和全量数据集,得到不一致数据。
优选的,所述方法还包括:
若所述数据源为非关系型数据库,根据所述校验表和被校验表在所述非关系型数据库中的存储分布情况,加载对应存储区域的字段数据。
第二方面,本发明提供一种数据质量校验装置,所述装置包括:
获取模块,用于获取数据库中预保存的配置文件;其中,所述配置文件包括校验表、被校验表、所述校验表和被校验表中字段之间的对应关系;
加载模块,用于判断所述校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据;
校验模块,用于对加载后的字段数据行校验。
优选的,所述加载模块包括:
第一加载子模块,用于若所述数据源为关系型数据库,对所述校验表和被校验表的字段数据进行分页处理并根据预创建的多个分片分别加载与所述分片相对应的分页的数据。
优选的,所述第一加载子模块具体用于:
分别计算所述校验表的字段数据和所述被校验表的字段数据的数据量;
将所述字段数据进行分页处理;
创建包括至少两个分片的弹性分布式数据集;
将获取到的连接信息进行封装并广播至所述各个分片;
根据所述连接信息,在所述分片中加载对应分页的数据。
优选的,所述校验为完整性校验;所述配置文件还包括定时任务配置信息;所述加载模块具体用于:
按照与不同类型的数据源对应的加载方式全量加载所述被校验表的字段数据;
若为首次加载或者修改后首次加载,按照与不同类型的数据源对应的加载方式定时全量加载所述校验表的字段数据;
若为非首次加载,按照与不同类型的数据源对应的加载方式定时增量加载所述校验表的字段数据。
优选的,所述校验模块包括:
完整性校验模块,用于若所述校验表的字段数据为定时全量加载,则:
根据加载得到的所述校验表的字段数据计算与所述校验表对应的被校验表的字段数据的缺失值;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验;
若所述校验表的字段数据为定时增量加载,则:
获取前次校验结果表;
将加载得到的所述校验表的字段数据与所述前次校验结果表的数据进行合并;
根据合并后得到的数据计算与所述校验表对应的被校验表的字段数据的缺失值并将所述缺失值存入当前校验结果表;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验。
优选的,所述校验为一致性校验;所述加载模块还用于:
按照与不同类型的数据源对应的加载方式全量加载所述校验表的字段数据和所述被校验表的字段数据。
优选的,所述校验模块还包括:
一致性校验模块,用于将加载后的所述校验表的字段数据进行整合,生成参照集;
将加载后的所述被校验表的字段数据进行整合,生成全量数据集;
根据所述参照集对所述全量数据集进行过滤以得到与所述参照集一致的数据子集;
根据所述数据子集和全量数据集,得到不一致数据。
优选的,所述加载模块还包括:
第二加载子模块,用于若所述数据源为非关系型数据库,根据所述校验表和被校验表在所述非关系型数据库中的存储分布情况,加载对应存储区域的字段数据。
第三方面,本发明提供一种计算机系统,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
获取数据库中预保存的配置文件;其中,所述配置文件包括校验表、被校验表、所述校验表和被校验表的字段之间的对应关系;
判断所述校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据;
对加载后的字段数据进行校验。
本发明实施例具有如下有益效果:
1、本发明为不同的数据源设计了不同的数据加载方式,从而加载得到不同类型的数据,进而可以实现复杂数据源、复杂数据源中复杂数据类型的数据质量完整性、一致性校验,打破了不同数据源之间数据校验的壁垒;
2、本发明采用分片限流的方法解决了当大数据量读取关系型数据库时造成的内存溢出、数据库抽数压力大的问题;
3、本发明可通过配置定时任务对复杂数据源的校验表的字段数据进行增量方式加载,从而实现完整性校验,大大降低了计算量和计算时间、减少了计算机内存占用。
当然,本发明并不一定需要同时满足上述所有效果,只需满足其一即可。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据质量校验方法的应用环境图;
图2是本申请实施例一提供的数据质量校验方法的流程图;
图3是本申请实施例一提供的被校验表和校验表的对应关系图;
图4是本申请实施例二提供的数据质量校验装置的结构示意图;
图5是本申请实施例三提供的计算机系统架构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供一种数据完整性和一致性校验方法,可以应用于如图1所示的应用环境中。其中,服务器14通过网络与数据库12和终端16进行通信。终端16可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,终端16上可部署Web服务器,用于给用户提供页面,从而进行表及任务信息的配置;数据库12用于存储用户保存的配置文件;服务器14可以为分布式yarn服务器,通过执行Spark任务读取数据库12的配置文件,进而完成数据加载与校验。
实施例一
如图2所示,本申请提供了一种数据质量校验方法,需要说明的是,本申请中通过创建的Spark任务来实现数据完整性和一致性校验,具体包括如下步骤:
S22、获取数据库中预保存的配置文件;其中,配置文件包括校验表、被校验表、校验表和被校验表的字段之间的对应关系。
具体的,根据Spark任务ID,通过Spark自带的API读取数据库中预保存的配置文件。
其中,被校验表和校验表中的数据可来源于单一数据源或者多个数据源,其数据类型包括整型,浮点型,字符串,布尔型;被校验表和校验表中的字段可以选择为整表字段、一个字段或者多个字段,通过设置校验表和被校验表的字段之间的对应关系,可以使得一被校验表对应多个校验表或者多个被校验表对应一个校验表。
参考图3,图3中显示了由被校验表C、被校验表B、被校验表A组成的被校验表列队,其中,在配置文件中,被校验表C对应了校验表D和校验表E、被校验表B对应了校验表C、被校验表A对应了校验表A和校验表B。
此外,配置文件还包括定时任务配置信息。通过定时任务配置可以使得Spark任务按照分钟/小时/天/周/月来执行。
S24、判断校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载校验表和被校验表的字段数据。
本方案中,由于校验表和被检验表中的数据可能源自单一数据源或者多个数据源,当数据来自多个数据源时,不同类型的数据源配置不同,因此同样的加载方式势必满足不了多源数据的加载要求,进而也无法实现多源数据的校验。
基于上述问题,本方案将按照与不同类型的数据源对应的加载方式来实现校验表和被校验表的字段数据的加载。
具体加载过程包括:
若数据源为非关系型数据库,根据校验表和被校验表在非关系型数据库中的存储分布情况,加载对应存储区域的字段数据。
其中,非关系型数据库通常为一些小型化数据库,其数据量较小,因此可以根据表的存储分布情况对数据进行直接加载。
示例性的,若非关系型数据库为Hive(Hive是基于Hadoop的数据仓库工具),Hive表分布式存储在各个片区,因此,根据Hive表在Hadoop分布式文件系统上存储的分区可直接加载得到表数据。
若数据源为关系型数据库,对字段数据进行分页处理并根据预创建的多个分片分别加载与分片相对应的分页的数据。
具体的,关系型数据库的数据加载过程包括如下步骤:
a、分别计算校验表的字段数据和被校验表的字段数据的数据量;
b、将字段数据进行分页处理;
c、创建包括至少两个分片的弹性分布式数据集;
d、将获取到的连接信息进行封装并广播至各个分片;
e、根据连接信息,在分片中加载对应分页的数据。
以Mysql数据库(关系型数据库)为例进一步解释说明如何进行数据加载:
计算要加载的数据总量,将字段数据进行分页处理;创建包括多个分片的RDD(弹性分布式数据集);将Mysql连接信息封装成对象实现序列化并广播到各个分片;在每个分片中根据连接信息,使用jdbc加载对应分页的数据。
其中,连接信息包括url、用户名和密码,此外,在使用jdbc进行数据加载时,其fetchSize的值应设为整形。对于其他类型的关系型数据库,如:Oracle、DB2或PostgreSql,在进行数据加载时,其fetchSize的值应设为正整数。由于数据库对于连接数和读取数据量有瓶颈,如果不设置fetchSize,则会导致数据库超载,当进行数据质量完整性、一致性校验时,其他需要连接数据库的业务都要卡顿甚至停止,因此,需要针对不同的数据源设置不同的fetchSize。
在现有技术中,通过Spark自带的API直接加载关系型数据库数据时,通常只创建一个分片的RDD,因此当数据量很大时,必然导致内存溢出现象,而本方案通过创建包括多个分片的RDD来对关系型数据库的数据进行分页处理,既可以实现对关系型数据库的数据加载,又可以克服当加载的数据量较大时,出现内存溢出等问题。
此外,在数据加载过程中,为了节省计算量、降低内存占用,可以按照定时任务配置情况对数据进行全量或者增量加载。
具体的,若加载后的数据用于完整性校验,可以按照下列步骤加载数据:
a、按照与不同类型的数据源对应的加载方式全量加载被校验表的字段数据;
b、若为首次加载或者修改后首次加载,按照与不同类型的数据源对应的加载方式定时全量加载校验表的字段数据;若为非首次加载,按照与不同类型的数据源对应的加载方式定时增量加载校验表的字段数据。
其中,首次加载/修改后首次加载/非首次加载可以通过判断Spark任务的执行情况来确定;当Spark任务为首次执行时,对应的加载为首次加载,当Spark任务为修改后首次执行时,对应的加载为修改后首次加载,当Spark任务为非首次执行时,对应的加载为非首次加载。
此外,示例性的,定时全量加载校验表的字段数据可为本次定时任务之前的校验表的字段数据;定时增量加载校验表的字段数据可为本次定时任务之前、上次定时任务之后的字段数据。通过定时任务配置,取增量方式获取数据,每次只需保存和更新中间结果,大大降低了计算量和计算时间。
若加载后的数据用于一致性校验,可以按照下列步骤加载数据:
a、按照与不同类型的数据源对应的加载方式全量加载校验表的字段数据和被校验表的字段数据。
S26、对加载后的字段数据进行校验。
具体的,数据校验包括完整性校验和一致性校验;
其中,完整性校验包括:
当校验表的字段数据为定时全量加载,则:
a、根据加载得到的校验表的字段数据计算与校验表对应的被校验表的字段数据的缺失值;
其中,加载得到的校验表的字段数据为定时任务之前的全量数据。
b、对缺失值进行去重以完成对被校验表的字段数据的完整性校验。
当校验表的字段数据为定时增量加载,则:
a、获取前次校验结果表;
其中,前次校验结果表用于存放前次校验得到的中间结果数据,如:被校验表名、缺失值、缺失值数量、前次校验的定时任务时间等。
b、将加载得到的校验表的字段数据与前次校验结果表的数据进行合并;
其中,加载得到的校验表的字段数据为本次定时任务之前、上次定时任务之后的数据。
c、根据合并后得到的数据计算与校验表对应的被校验表的字段数据的缺失值并将缺失值存入当前校验结果表;
d、对缺失值进行去重以完成对被校验表的字段数据的完整性校验。
示例性的,当校验表的字段数据为定时增量加载时,以图3为例,进一步进行完整性校验说明,具体包括:
将加载到的被校验表A、B、C和校验表A、B、C、D、E的字段数据在各个分片中使用RDD的distinct算子去重;取被校验表C,创建RDD数据集RC,同时取与被校验表C对应的校验表D、校验表E;将校验表D的字段数据与前次校验结果表的数据合并;根据合并后得到的数据,使用RDD中except算子求出被校验表C的缺失值1并将缺失值1存于RC,同时将Spark任务ID、被校验表名、缺失值、缺失值数量、当前定时任务时间等信息存入当前校验结果表;将校验表E与当前校验结果表合并;根据合并后得到的数据,使用RDD中except算子求出被校验表C的缺失值2并将缺失值2存于RC,同时将Spark任务ID、被校验表名、缺失值、缺失值数量、当前定时任务时间等信息存入当前校验结果表;将RC中的数据进行去重。此时,被校验表C完整性校验结束。按照同样的方式可实现被校验表B、被校验表A的完整性校验,此处不再赘述。
此外,对加载后的字段数据进行一致性校验具体包括:
a、将加载后的所有校验表的字段数据进行整合,生成参照集;
b、将加载后的所有被校验表的字段数据进行整合,生成全量数据集;
c、根据参照集对全量数据集进行过滤以得到与参照集一致的数据子集;
d、根据数据子集和全量数据集,得到不一致数据。
本发明为不同的数据源设计了不同的数据加载方式,从而加载得到不同类型的数据源的数据,进而可以实现复杂数据源、复杂数据源中复杂数据类型的数据质量完整性、一致性校验,打破了不同类型的数据源之间数据校验的壁垒;并且,本发明采用分片限流的方法解决了当大数据量读取关系型数据库时造成的内存溢出、数据库抽数压力大的问题;此外,进一步地,本发明通过配置定时任务对复杂数据源的的校验表的字段数据进行增量方式加载,从而实现完整性校验,大大降低了计算量和计算时间、减少了计算机内存占用。
实施例二
对应上述实施例一的方法,本发明实施例二提供一种数据质量校验装置,如图4所示,装置包括:
获取模块42,用于获取数据库中预保存的配置文件;其中,配置文件包括校验表、被校验表、校验表和被校验表中字段之间的对应关系;
加载模块44,用于判断校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载校验表和被校验表的字段数据;
校验模块46,用于对加载后的字段数据进行校验。
优选的,上述加载模块44包括:
第一加载子模块442,用于若数据源为关系型数据库,对校验表和被校验表的字段数据进行分页处理并根据预创建的多个分片分别加载与分片相对应的分页的数据。
优选的,上述第一加载子模块442具体用于:
分别计算校验表的字段数据和被校验表的字段数据的数据量;
将字段数据进行分页处理;
创建包括至少两个分片的弹性分布式数据集;
将获取到的连接信息进行封装并广播至各个分片;
根据连接信息,在分片中加载对应分页的数据。
优选的,上述校验为完整性校验;上述配置文件还包括定时任务配置信息;上述加载模块44具体用于:
按照与不同类型的数据源对应的加载方式全量加载被校验表的字段数据;
若为首次加载或者修改后首次加载,按照与不同类型的数据源对应的加载方式定时全量加载校验表的字段数据;
若为非首次加载,按照与不同类型的数据源对应的加载方式定时增量加载校验表的字段数据。
优选的,上述校验模块46包括:
完整性校验模块462,用于若校验表的字段数据为定时全量加载,则:
根据加载得到的校验表的字段数据计算与校验表对应的被校验表的字段数据的缺失值;
对缺失值进行去重以完成对被校验表的字段数据的完整性校验;
若校验表的字段数据为定时增量加载,则:
获取前次校验结果表;
将加载得到的校验表的字段数据与前次校验结果表的数据进行合并;
根据合并后得到的数据计算与校验表对应的被校验表的字段数据的缺失值并将缺失值存入当前校验结果表;
对缺失值进行去重以完成对被校验表的字段数据的完整性校验。
优选的,上述校验为一致性校验;上述加载模块44还用于:
按照与不同类型的数据源对应的加载方式全量加载校验表的字段数据和被校验表的字段数据。
优选的,上述校验模块46还包括:
一致性校验模块464,用于将加载后的校验表的字段数据进行整合,生成参照集;
将加载后的被校验表的字段数据进行整合,生成全量数据集;
根据参照集对全量数据集进行过滤以得到与参照集一致的数据子集;
根据数据子集和全量数据集,得到不一致数据。
优选的,上述加载模块44还包括:
第二加载子模块444,用于若数据源为非关系型数据库,根据校验表和被校验表在非关系型数据库中的存储分布情况,加载对应存储区域的字段数据。
实施例三
对应上述方法和装置,本申请实施例三提供一种计算机系统,包括:
一个或多个处理器;以及
与一个或多个处理器关联的存储器,存储器用于存储程序指令,程序指令在被一个或多个处理器读取执行时,执行如下操作:
获取数据库中预保存的配置文件;其中,配置文件包括校验表、被校验表、校验表和被校验表的字段之间的对应关系;
判断校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载校验表和被校验表的字段数据;
对加载后的字段数据进行校验。
其中,图5示例性的展示出了计算机系统的架构,具体可以包括处理器52,视频显示适配器54,磁盘驱动器56,输入/输出接口58,网络接口510,以及存储器512。上述处理器52、视频显示适配器54、磁盘驱动器56、输入/输出接口58、网络接口510,与存储器512之间可以通过通信总线514进行通信连接。
其中,处理器52可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请所提供的技术方案。
存储器512可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器512可以存储用于控制计算机系统50运行的操作系统516,用于控制计算机系统的低级别操作的基本输入输出系统(BIOS)518。另外,还可以存储网页浏览器520,数据存储管理系统522等等。总之,在通过软件或者固件来实现本申请所提供的技术方案时,相关的程序代码保存在存储器512中,并由处理器52来调用执行。
输入/输出接口58用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
网络接口510用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
通信总线514包括一通路,在设备的各个组件(例如处理器52、视频显示适配器54、磁盘驱动器56、输入/输出接口58、网络接口510,与存储器512之间传输信息。
另外,该计算机系统还可以从虚拟资源对象领取条件信息数据库中获得具体领取条件的信息,以用于进行条件判断,等等。
需要说明的是,尽管上述设备仅示出了处理器52、视频显示适配器54、磁盘驱动器56、输入/输出接口58、网络接口510,存储器512,通信总线514等,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,云服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
尽管已描述了本发明实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例中范围的所有变更和修改。另外,上述实施例提供的数据质量校验装置、计算机系统与数据质量校验方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种数据质量校验方法,其特征在于,所述方法包括:
获取数据库中预保存的配置文件;其中,所述配置文件包括校验表、被校验表、所述校验表和被校验表的字段之间的对应关系;
判断所述校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据;
对加载后的字段数据进行校验;
所述校验为完整性校验;所述配置文件还包括定时任务配置信息;
所述按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据包括:
按照与不同类型的数据源对应的加载方式全量加载所述被校验表的字段数据;
若为首次加载或者修改后首次加载,按照与不同类型的数据源对应的加载方式定时全量加载所述校验表的字段数据;
若为非首次加载,按照与不同类型的数据源对应的加载方式定时增量加载所述校验表的字段数据;
所述对加载后的字段数据进行完整性校验包括:
若所述校验表的字段数据为定时全量加载,则:
根据加载得到的所述校验表的字段数据计算与所述校验表对应的被校验表的字段数据的缺失值;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验;
若所述校验表的字段数据为定时增量加载,则:
获取前次校验结果表;
将加载得到的所述校验表的字段数据与所述前次校验结果表的数据进行合并;
根据合并后得到的数据计算与所述校验表对应的被校验表的字段数据的缺失值并将所述缺失值存入当前校验结果表;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述数据源为关系型数据库,对所述校验表和被校验表的字段数据进行分页处理并根据预创建的多个分片分别加载与所述分片相对应的分页的数据。
3.根据权利要求2所述的方法,其特征在于,若所述数据源为关系型数据库,对所述校验表和被校验表的字段数据进行分页处理并根据预创建的多个分片分别加载与所述分片相对应的分页的数据具体包括:
分别计算所述校验表的字段数据和所述被校验表的字段数据的数据量;
将所述字段数据进行分页处理;
创建包括至少两个分片的弹性分布式数据集;
将获取到的连接信息进行封装并广播至所述各个分片;
根据所述连接信息,在所述分片中加载对应分页的数据。
4.根据权利要求1所述的方法,其特征在于,所述校验为一致性校验;
所述按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据包括:
按照与不同类型的数据源对应的加载方式全量加载所述校验表的字段数据和所述被校验表的字段数据。
5.根据权利要求4所述的方法,其特征在于,所述对加载后的字段数据进行一致性校验具体包括:
将加载后的所述校验表的字段数据进行整合,生成参照集;
将加载后的所述被校验表的字段数据进行整合,生成全量数据集;
根据所述参照集对所述全量数据集进行过滤以得到与所述参照集一致的数据子集;
根据所述数据子集和全量数据集,得到不一致数据。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述数据源为非关系型数据库,根据所述校验表和被校验表在所述非关系型数据库中的存储分布情况,加载对应存储区域的字段数据。
7.一种数据质量校验装置,其特征在于,所述装置包括:
获取模块,用于获取数据库中预保存的配置文件;其中,所述配置文件包括校验表、被校验表、所述校验表和被校验表中字段之间的对应关系;所述配置文件还包括定时任务配置信息;
加载模块,用于判断所述校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据;
所述按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据包括:
按照与不同类型的数据源对应的加载方式全量加载所述被校验表的字段数据;
若为首次加载或者修改后首次加载,按照与不同类型的数据源对应的加载方式定时全量加载所述校验表的字段数据;
若为非首次加载,按照与不同类型的数据源对应的加载方式定时增量加载所述校验表的字段数据;
校验模块,用于对加载后的字段数据进行校验;
所述校验为完整性校验;
所述对加载后的字段数据进行完整性校验包括:
若所述校验表的字段数据为定时全量加载,则:
根据加载得到的所述校验表的字段数据计算与所述校验表对应的被校验表的字段数据的缺失值;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验;
若所述校验表的字段数据为定时增量加载,则:
获取前次校验结果表;
将加载得到的所述校验表的字段数据与所述前次校验结果表的数据进行合并;
根据合并后得到的数据计算与所述校验表对应的被校验表的字段数据的缺失值并将所述缺失值存入当前校验结果表;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验。
8.一种计算机系统,其特征在于,包括:
一个或多个处理器;以及
与所述一个或多个处理器关联的存储器,所述存储器用于存储程序指令,所述程序指令在被所述一个或多个处理器读取执行时,执行如下操作:
获取数据库中预保存的配置文件;其中,所述配置文件包括校验表、被校验表、所述校验表和被校验表的字段之间的对应关系;
判断所述校验表和被检验表的数据来源,按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据;
对加载后的字段数据进行校验;
所述校验为完整性校验;所述配置文件还包括定时任务配置信息;
所述按照与不同类型的数据源对应的加载方式加载所述校验表和被校验表的字段数据包括:
按照与不同类型的数据源对应的加载方式全量加载所述被校验表的字段数据;
若为首次加载或者修改后首次加载,按照与不同类型的数据源对应的加载方式定时全量加载所述校验表的字段数据;
若为非首次加载,按照与不同类型的数据源对应的加载方式定时增量加载所述校验表的字段数据;
所述对加载后的字段数据进行完整性校验包括:
若所述校验表的字段数据为定时全量加载,则:
根据加载得到的所述校验表的字段数据计算与所述校验表对应的被校验表的字段数据的缺失值;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验;
若所述校验表的字段数据为定时增量加载,则:
获取前次校验结果表;
将加载得到的所述校验表的字段数据与所述前次校验结果表的数据进行合并;
根据合并后得到的数据计算与所述校验表对应的被校验表的字段数据的缺失值并将所述缺失值存入当前校验结果表;
对所述缺失值进行去重以完成对所述被校验表的字段数据的完整性校验。
CN201910808716.7A 2019-08-29 2019-08-29 一种数据质量校验方法、装置、系统 Active CN110704404B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910808716.7A CN110704404B (zh) 2019-08-29 2019-08-29 一种数据质量校验方法、装置、系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910808716.7A CN110704404B (zh) 2019-08-29 2019-08-29 一种数据质量校验方法、装置、系统

Publications (2)

Publication Number Publication Date
CN110704404A CN110704404A (zh) 2020-01-17
CN110704404B true CN110704404B (zh) 2023-04-28

Family

ID=69194222

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910808716.7A Active CN110704404B (zh) 2019-08-29 2019-08-29 一种数据质量校验方法、装置、系统

Country Status (1)

Country Link
CN (1) CN110704404B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110929493B (zh) * 2020-02-16 2020-08-04 广州信安数据有限公司 数据管理方法、冗余数据检测方法、存储介质及数据系统
CN111506578B (zh) * 2020-04-17 2024-07-09 深圳前海微众银行股份有限公司 业务数据的校验方法、装置、设备及存储介质
CN112148721B (zh) * 2020-09-25 2022-08-19 新华三大数据技术有限公司 数据检核方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391903A (zh) * 2014-11-14 2015-03-04 广州科腾信息技术有限公司 一种基于分布存储和并行计算的电网数据质量检测方法
CN107491381A (zh) * 2017-07-04 2017-12-19 广西电网有限责任公司电力科学研究院 一种设备状态监测数据质量评测系统
CN107679146A (zh) * 2017-09-25 2018-02-09 南方电网科学研究院有限责任公司 电网数据质量的校验方法和系统
CN107908672A (zh) * 2017-10-24 2018-04-13 深圳前海微众银行股份有限公司 基于Hadoop平台的应用报表实现方法、设备及存储介质
CN108776856A (zh) * 2018-04-20 2018-11-09 国家电网有限公司 一种基于溯源关系的电力台账数据校验方法及装置
CN110059078A (zh) * 2019-04-19 2019-07-26 中国航空无线电电子研究所 一种导航数据库定制数据的动态配置和校验方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2505184A (en) * 2012-08-21 2014-02-26 Ibm Checking data quality of an application program by monitoring runtime behaviour
CN103699638B (zh) * 2013-12-23 2017-02-15 国云科技股份有限公司 一种基于配置参数实现跨数据库类型同步数据的方法
US10713587B2 (en) * 2015-11-09 2020-07-14 Xerox Corporation Method and system using machine learning techniques for checking data integrity in a data warehouse feed
US10416931B2 (en) * 2016-09-30 2019-09-17 Hewlett Packard Enterprise Development Lp Fault tolerance in shared memory
CN107247799A (zh) * 2017-06-27 2017-10-13 北京天机数测数据科技有限公司 兼容多种大数据存储的数据处理方法、系统及其建模方法
CN107423436A (zh) * 2017-08-04 2017-12-01 郑州云海信息技术有限公司 一种用于不同类型数据库间在线数据迁移的方法
CN109947833A (zh) * 2019-02-27 2019-06-28 浪潮软件集团有限公司 一种基于b/s架构的数据质量管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391903A (zh) * 2014-11-14 2015-03-04 广州科腾信息技术有限公司 一种基于分布存储和并行计算的电网数据质量检测方法
CN107491381A (zh) * 2017-07-04 2017-12-19 广西电网有限责任公司电力科学研究院 一种设备状态监测数据质量评测系统
CN107679146A (zh) * 2017-09-25 2018-02-09 南方电网科学研究院有限责任公司 电网数据质量的校验方法和系统
CN107908672A (zh) * 2017-10-24 2018-04-13 深圳前海微众银行股份有限公司 基于Hadoop平台的应用报表实现方法、设备及存储介质
CN108776856A (zh) * 2018-04-20 2018-11-09 国家电网有限公司 一种基于溯源关系的电力台账数据校验方法及装置
CN110059078A (zh) * 2019-04-19 2019-07-26 中国航空无线电电子研究所 一种导航数据库定制数据的动态配置和校验方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Fariz Darari 等.Completeness Management for RDF Data Sources.ACM.2018,第1–53页. *
张岳 ; 马卫峰 ; 张小波 ; 朱寿东 ; 郭兰萍 ; 王星星 ; .中药资源普查数据校验的方法与探讨.中国中药杂志.2013,(13),第2060-2062页. *
杨博 ; 王聚全 ; 杜渂 ; .城市开放区域的客流数据质量管理研究与运用.电信快报.2018,(02),第19-23页. *
林霞 ; 申端明 ; 时迎 ; 乔德新 ; .可配置组合式数据校验方法.计算机系统应用.2015,(05),第161-166页. *

Also Published As

Publication number Publication date
CN110704404A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
CN110704404B (zh) 一种数据质量校验方法、装置、系统
US11249969B2 (en) Data storage method and apparatus, and storage medium
US20180285417A1 (en) Intelligent query parameterization of database workloads
US9477974B2 (en) Method and systems for flexible and scalable databases
CN106802932B (zh) 一种数据库的路由方法、装置及数据库系统
US20160034504A1 (en) Efficient aggregation, storage and querying of large volume metrics
US20190258736A1 (en) Dynamic Execution of ETL Jobs Without Metadata Repository
CN115190010A (zh) 基于软件服务依赖关系的分布推荐方法和装置
US20230185549A1 (en) Automatic Workflow Generation
CN113779117A (zh) 一种数据监控方法、装置、存储介质和电子设备
CN113516506B (zh) 一种数据处理方法、装置及电子设备
CN103034730B (zh) 一种基于安卓平台的数据处理方法和系统
CN113392010B (zh) 公共组件测试方法、装置、电子设备及存储介质
CN112148705A (zh) 数据迁移的方法和装置
CN114357032A (zh) 一种数据质量监控方法、装置、电子设备及存储介质
CN113419896B (zh) 数据恢复方法、装置、电子设备及计算机可读介质
CN116628042A (zh) 数据处理方法、装置、设备及介质
CN114064693A (zh) 处理账户数据的方法、装置、电子设备和计算机可读介质
CN114328700A (zh) 医疗数据etl任务中的数据核查方法及装置
CN113609152A (zh) 数据处理方法、装置及计算设备
CN109669668B (zh) 一种系统性能测试中实现模拟交易执行的方法和装置
CN114996307A (zh) 一种对数据的联邦处理方法及装置
CN112988806A (zh) 一种数据处理的方法及装置
CN113760600A (zh) 一种数据库备份方法、数据库还原方法和相关装置
CN111158994A (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
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address

Address after: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee after: Jiangsu Suning cloud computing Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

Country or region before: China

CP03 Change of name, title or address
TR01 Transfer of patent right

Effective date of registration: 20240123

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Patentee after: SUNING.COM Co.,Ltd.

Country or region after: China

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Jiangsu Suning cloud computing Co.,Ltd.

Country or region before: China

TR01 Transfer of patent right