首页> 中国专利> 一种数据质量检测方法和数据质量检测引擎

一种数据质量检测方法和数据质量检测引擎

摘要

本申请公开了一种数据质量检测方法和数据质量检测引擎。方法包括;获得目标模型的数据检测配置参数;数据检测配置参数用于确定对目标数据库表的检测项;获得目标数据库表;目标数据库表为根据目标模型生成的;根据数据检测配置参数对目标数据库表进行数据质量检测,得到对目标数据库表的数据质量检测结果。本申请可面向多样化的数据质量要求建立多样化的数据质量检测方案。基于数据检测配置参数可以确定出要对目标数据库表执行的检测项,实现适应于系统业务场景需求的数据质量检测方案。相比于现有的数据质量检测方案,本申请提供的技术方案检测更加灵活,检测方案可满足多样化的数据质量要求。

著录项

  • 公开/公告号CN112597142A

    专利类型发明专利

  • 公开/公告日2021-04-02

    原文格式PDF

  • 申请/专利权人 中国农业银行股份有限公司;

    申请/专利号CN202011569179.4

  • 申请日2020-12-26

  • 分类号G06F16/215(20190101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人赵晓荣

  • 地址 100005 北京市东城区建国门内大街69号

  • 入库时间 2023-06-19 10:27:30

说明书

技术领域

本申请涉及数据检测技术领域,特别是涉及一种数据质量检测方法和数据质量检测引擎。

背景技术

商业银行中某个业务领域内的数据集市,承担着行内各种不同的数据支持任务。既有为考核指标类系统提供数据,同时也为分析挖掘类系统提供数据。不同的系统对数据的要求特点不同。例如:指标类系统要求数据质量高,数据准确,字段内容完整;分析挖掘类系统要求数据量大,记录数全,对精度要求不高。现有的数据质量检测方案多为以固定标准的对数据质量进行检测,检测方案对于各个数据系统是通用的。现有的数据质量检测方案未考虑到数据集市不同系统对数据质量的多样化要求,因此检测灵活性不足,无法适应性地满足多样化的数据质量要求。

发明内容

基于上述问题,本申请提供了一种数据质量检测方法和数据质量检测引擎,以提升数据质量检测的灵活性,检测适应性地满足多样化的数据质量要求。

本申请实施例公开了如下技术方案:

第一方面,本申请提供一种数据质量检测方法,包括:

获得目标模型的数据检测配置参数;所述数据检测配置参数用于确定对目标数据库表的检测项;所述目标数据库表为根据所述目标模型生成的;

获得所述目标数据库表;

根据所述数据检测配置参数对所述目标数据库表进行数据质量检测,得到对所述目标数据库表的数据质量检测结果。

可选地,所述获得所述目标数据库表具体包括:

获得目标作业的作业名;所述目标作业与所述目标模型具有对应关系;所述作业名中包含所述目标数据库表的表名;

根据所述作业名确定所述目标数据库表的表名;

根据所述目标数据库表的表名获得所述目标数据库表。

可选地,所述数据检测配置参数包括:第一配置参数、第二配置参数和第三配置参数;

所述第一配置参数用于指示是否对所述目标数据库表进行第一检测项的检测和是否对所述目标数据库表进行第二检测项的检测;

所述第一检测项包括:主键重复检测;所述第二检测项包括:主键空串检测;

所述第二配置参数包括所述目标数据库表的所有主键字段;

所述第三配置参数包括日期字段,且所述第三配置参数用于指示是否对所述目标数据库表进行第三检测项的检测;所述第三检测项包括:数据量波动检测。

可选地,当所述第三配置参数指示对所述目标数据库表进行数据量波动检测时,所述数据检测配置参数还包括:所述第三检测项对应的检测阈值;

当所述目标数据库表的数据量波动超过所述检测阈值时,所述数据质量检测结果包括:所述目标数据库表的所述第三检测项检测不通过;

当所述目标数据库表的数据量波动未超过所述检测阈值时,所述数据质量检测结果包括:所述目标数据库表的所述第三检测项检测通过。

可选地,所述第三检测项具体包括:对所述目标数据库表的当日和上日的数据进行数据量波动检测。

可选地,所述根据所述目标数据库表的表名获得所述目标数据库表,包括:

向数据库发送第一获取请求,所述第一获取请求中携带所述目标数据库表的表名;

接收所述数据库提供的所述目标数据库表。

可选地,所述获得目标模型的数据检测配置参数,包括:

从作业调度系统获得所述目标模型的数据检测配置参数;

所述获得目标作业的作业名,包括:

从所述作业调度系统获得所述目标作业的作业名。

可选地,方法还包括:

当确定所述目标数据库表的任意一项检测项不合格时,发出告警提示;或者,当确定所述目标数据库表的任意一项检测项不合格时,向作业调度系统反馈以使所述作业调度系统发出告警提示。

第二方面,本申请提供一种数据质量检测引擎,包括:

参数获取模块,用于获得目标模型的数据检测配置参数;所述数据检测配置参数用于确定对目标数据库表的检测项;所述目标数据库表为根据所述目标模型生成的;

数据库表获取模块,用于获得所述目标数据库表;

数据质量检测模块,用于根据所述数据检测配置参数对所述目标数据库表进行数据质量检测,得到对所述目标数据库表的数据质量检测结果。

可选地,所述数据检测配置参数包括:第一配置参数、第二配置参数和第三配置参数;

所述第一配置参数用于指示是否对所述目标数据库表进行第一检测项的检测和是否对所述目标数据库表进行第二检测项的检测;

所述第一检测项包括:主键重复检测;所述第二检测项包括:主键空串检测;

所述第二配置参数包括所述目标数据库表的所有主键字段;

所述第三配置参数包括日期字段,且所述第三配置参数用于指示是否对所述目标数据库表进行第三检测项的检测;所述第三检测项包括:数据量波动检测。

相较于现有技术,本申请具有以下有益效果:

本申请提供的数据质量检测方法包括;获得目标模型的数据检测配置参数;数据检测配置参数用于确定对目标数据库表的检测项;目标数据库表为根据目标模型生成的;获得目标数据库表;目标数据库表为根据目标模型生成的;根据数据检测配置参数对目标数据库表进行数据质量检测,得到对目标数据库表的数据质量检测结果。可见,本申请可面向多样化的数据质量要求建立多样化的数据质量检测方案。例如,基于第一类系统对数据质量的第一要求为目标模型配置第一套数据检测配置参数,指示了检测项A和检测项B;基于第二类系统对数据质量的第二要求为目标模型配置第二套数据检测配置参数,指示了检测项B和检测项C。因此,基于数据检测配置参数可以确定出要对目标数据库表执行的检测项,实现适应于系统业务场景需求的数据质量检测方案。相比于现有的数据质量检测方案,本申请提供的技术方案检测更加灵活,检测方案可满足多样化的数据质量要求。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的一种数据质量检测方法的流程图;

图2为本申请实施例提供的一种数据质量检测方法的应用场景示意图;

图3为本申请实施例提供的另一种数据质量检测方法的流程图;

图4为本申请实施例提供的一种数据质量检测引擎的结构示意图。

具体实施方式

数据仓库中包含多种业务领域的数据。位于数据仓库下游的数据集市,为特定业务领域提供模型化数据支撑。其数据将为各种不同的应用场景所使用,不同的场景对数据质量的要求不同。数据集市既要满足分析挖掘类的大数据大而全的要求,又要为统计考核类的准确数据提供输出。目前已有的数据质量检测方案未考虑到数据集市不同系统对数据质量的多样化要求,因此检测灵活性不足,无法适应性地满足多样化的数据质量要求。

大规模并行处理(Massively Parallel Processing,MPP)架构的数据库(例如国产GBASE)不对主键重复进行检查,对主键字段是否为空串不做要求,对库内单表每日数据量波动不会检测。如果想要满足不同的数据质量检测要求,需要由数据仓库监控人员采用灵活的检测策略,对于数据仓库监控人员的专业水平有较高的要求,同时人力成本较高。

为解决以上问题,面向多样化的数据质量要求建立多样化的数据质量检测方案,发明人于本申请中提供了一种数据质量检测方法和数据质量检测引擎。在本申请技术方案中根据目标模型的数据检测配置参数来确定对目标数据库表的检测项。在对目标数据库表的数据质量进行检测时,即可按照数据检测配置参数指示的数据项来实行检测,获得对目标数据库表的数据质量检测结果。该方案实现灵活的数据检测,满足不同系统对数据的质量检测要求。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

图1为本申请实施例提供的一种数据质量检测方法的流程图,图2为本申请实施例提供的数据质量检测方法的应用场景示意图。本申请实施例提供的数据质量检测方法可以应用在图2所示的数据质量检测引擎202上。

首先需要说明介绍的是,数据集市中的数据模型是抽象描述现实世界的一种工具和方法,是通过抽象的实体及实体之间联系的形式,来表示现实世界中事务的相互关系的一种映射。在本申请实施例提供的技术方案中,数据模型用来生成数据库表。由于数据库表是根据数据模型生成的,因此,对数据库表中的数据进行检测,本质上也是对数据模型进行检测。例如,如果数据库表中的数据在某检测项不通过,表示生成该数据库表的数据模型在此检测项方面存在问题。利用该数据质量检测方法获得的数据质量检测结果还可以为数据模型的调整、修正提供指导。

如图1所示,本申请实施例提供的数据质量检测方法包括:

S101:获得目标模型的数据检测配置参数;数据检测配置参数用于确定对目标数据库表的检测项。

在本申请实施例中,目标数据库表是根据目标模型生成的。目标模型为所检测的数据对应的数据模型。目标模型的数据检测配置参数可以预先配置好并存储在图2所示的作业调度系统203上。当数据质量检测引擎202确定要对目标模型生成的目标数据库表进行数据质量检测时,即可通过作业调度系统203获得目标数据库表的数据检测配置参数。

在本申请实施例的技术方案中,数据检测配置参数可以是依据特定系统对数据质量的要求来设置的。例如对字段内容的完整性具有较高的要求,则通过设置相应的数据检测配置参数指示对主键空串进行检测。

在数据检测配置参数中可以具体包括多个参数,这些参数可以用来确定要求对目标数据库表执行的检测项。下面提供了一则示例。

目标数据库表的数据检测配置参数包括:

1|’name,address,phone’|(a,data)。以“|”分隔出多个参数。其中,1为第一配置参数,第二配置参数为”中内容,第三配置参数为()中内容。第一配置参数的取值含义如下表1。

表1第一配置参数指示的检测项

结合表1内容可知,第一配置参数用于指示是否对目标数据库表进行第一检测项的检测和是否对目标数据库表进行第二检测项的检测。作为一示例,第一检测项包括:主键重复检测;第二检测项包括:主键空串检测。

第二配置参数包括目标数据库表的所有主键字段。在以上示例中,目标数据库表的主键字段包括:name,address和phone。

第二配置参数中表示本表对应的主键字段;

第三配置参数中,a表示需要执行第三检测项,如果a替换为b则表示不需要执行第三检测项。第三配置参数中,data表示日期字段。第三检测项与日期相关,作为一示例,第三检测项包括:数据量波动检测。

结合以上示例可知,可以根据数据检测配置参数确定要对目标数据库表执行的检测项。此外,目标数据库表的表名和主键字段可以灵活配置。

S102:获得目标数据库表。

图2所示的数据库201包括多种数据模型生成的数据库表。在一种可能的实现方式中,一种数据模型生成一张数据库表;在另一种实现方式中,一种数据模型生成多张数据库表,这些数据库表以不同日期划分,例如一个日期对应该数据模型生成的一张数据库表。数据检测引擎202可以通过向数据库201发送第一获取请求来获得数据库201提供的目标数据库表。第一获取请求中携带目标数据库表的表名。

在实际应用中,作业调度系统203具有调度作业的功能。作业与数据模型具有一一对应的关系。本步骤S102可以包括:数据质量检测引擎202从作业调度系统203接收目标作业的作业名,目标作业与目标模型对应。作业名中包含数据库表的表名,因此数据质量检测引擎202从目标作业的作业名中可以确定目标数据库表的表名,从而数据质量检测引擎202可依据该表名从数据库201获得目标数据库表。具体地,获得目标数据库表中与检测项相关的数据。表2示意性地示出了目标作业的作业名和数据检测配置参数。表2中,作业名为DMS_ABC_AND_CHINA_00,数据质量检测引擎根据该作业名可以获知需要对表名为ABC_AND_CHINA的目标数据库表进行数据质量检测。

表2作业名与对应的数据检测配置参数

S103:根据数据检测配置参数对目标数据库表进行数据质量检测,得到对目标数据库表的数据质量检测结果。

由于依据数据检测配置参数可以确定出检测项,因此S103中即可根据检测项对目标数据库表进行质量检测。例如,当要执行的检测项包括第一检测项、第二检测项和第三检测项,则对目标数据库表分别进行主键重复检测、主键空串检测和数据波动量检测。当要执行的检测项包括第一检测项而不包括第二检测项和第三检测项,则对目标数据库表仅进行主键重复检测。

此处需要说明的是,主键重复检测是指目标数据库表中是否包含所有主键字段的数据完全重复的情况。例如,一条数据中name,address,phone三个主键字段的数据和另一条数据中name,address,phone三个主键字段的数据完全相同,则可以确定目标数据库表存在主键重复的数据质量问题。

以上即为本申请实施例提供的数据质量检测方法。该方法获得目标模型的数据检测配置参数;数据检测配置参数用于确定对目标数据库表的检测项;目标数据库表为根据目标模型生成的;获得目标数据库表;目标数据库表为根据目标模型生成的;根据数据检测配置参数对目标数据库表进行数据质量检测,得到对目标数据库表的数据质量检测结果。可见,本申请可面向多样化的数据质量要求建立多样化的数据质量检测方案。基于数据检测配置参数可以确定出要对目标数据库表执行的检测项,实现适应于系统业务场景需求的数据质量检测方案。相比于现有的数据质量检测方案,本申请提供的技术方案检测更加灵活,检测方案可满足多样化的数据质量要求。

在图1中仅示意了一种示例性的执行顺序,先执行S101后执行S102。需要说明的是,具体应用时还可以先执行S102后执行S101,或者同时执行S101和S102。

前面提到,第三配置参数与日期相关,可以指示是否执行第三检测项。第三检测项包括:数据量波动检测。在一种可能的实现方式中,当第三配置参数指示对目标数据库表进行数据量波动检测时,数据检测配置参数还包括:第三检测项对应的检测阈值。检测阈值是指波动量检测阈值,可以依据系统对数据质量(具体体现在波动量)的要求进行设置,以检测阈值规定数据波动量的合理范围。因此,在此场景中,S103根据数据检测配置参数对目标数据库表进行数据质量检测,得到对目标数据库表的数据质量检测结果,具体可以包括:

当目标数据库表的数据量波动超过检测阈值时,数据质量检测结果包括:目标数据库表的第三检测项检测不通过;

当目标数据库表的数据量波动未超过检测阈值时,数据质量检测结果包括:目标数据库表的第三检测项检测通过。

在一种可能的实现方式中,第三检测项具体包括:对目标数据库表的当日和上日的数据进行数据量波动检测。例如:目标数据库表的日期为2020年12月2日,则执行第三检测项则是指,将目标数据库表在2020年12月2日的数据量与在2020年12月1日的数据量进行比较获得数据量波动(即差值)。再将该数据量波动与检测阈值进行比较,以确定第三检测项是否通过。

在一种可能的实现方式中,为了提示检测项未通过的情况,提示异常,本申请实施例提供的数据质量检测方法还可以进一步包括:

当确定目标数据库表的任意一项检测项不合格时,数据质量检测引擎202发出告警提示;或者,当确定目标数据库表的任意一项检测项不合格时,数据质量检测引擎202向作业调度系统203反馈,以使作业调度系统203发出告警提示。

通过及时告警,可以辅助工作人员调整目标模型,提升后续产生的数据库表中的数据质量。

另外,本申请实施例中,数据质量检测引擎202还可以向作业调度系统203发送目标作业的作业日志。作业日志中包含数据质量检测引擎202对目标数据库表的检测结果。

图3为本申请实施例提供的另一种数据质量检测方法的流程图。在图3中示意出了数据质量检测的完整流程。图3中,S4~S6分别对应前述实施例中提及的第一检测项、第二检测项和第三检测项。实际应用中,对三个检测项的执行顺序可以置换,此处对执行顺序不做限制。

数据质量检测引擎202可部署在加载机上,作业调度系统203将作业名和参数等作业信息传递给数据质量检测引擎202,数据质量检测引擎202对数据库201内的数据库表进行质量检测,将检测结果反馈给作业调度系统203。具体地,可以反馈给作业调度系统203中的告警系统和日志系统,以便作业调度系统203根据检测结果进行告警和/或生成日志。

基于前述实施例提供的数据质量检测方法,相应地,本申请还提供一种数据质量检测引擎。以下结合实施例和附图对该数据质量检测引擎的具体实现进行描述。

如图4所示的数据质量检测引擎的结构,该数据质量检测引擎202,包括:

参数获取模块2021,用于获得目标模型的数据检测配置参数;所述数据检测配置参数用于确定对目标数据库表的检测项;所述目标数据库表为根据所述目标模型生成的;

数据库表获取模块2022,用于获得所述目标数据库表;

数据质量检测模块2023,用于根据所述数据检测配置参数对所述目标数据库表进行数据质量检测,得到对所述目标数据库表的数据质量检测结果。

以上即为本申请实施例提供的数据质量检测引擎。可见,本申请提供的数值质量检测引擎可面向多样化的数据质量要求建立多样化的数据质量检测方案。基于数据检测配置参数可以确定出要对目标数据库表执行的检测项,实现适应于系统业务场景需求的数据质量检测方案。相比于现有的数据质量检测方案,以该引擎进行数据质量检测的方式更加灵活,检测方案可满足多样化的数据质量要求。

可选地,数据库表获取模块2022具体包括:

作业名获取单元,用于获得目标作业的作业名;所述目标作业与所述目标模型具有对应关系;所述作业名中包含所述目标数据库表的表名;

表名获取单元,用于根据所述作业名确定所述目标数据库表的表名;

数据库表获取单元,用于根据所述目标数据库表的表名获得所述目标数据库表。

可选地,所述数据检测配置参数包括:第一配置参数、第二配置参数和第三配置参数;

所述第一配置参数用于指示是否对所述目标数据库表进行第一检测项的检测和是否对所述目标数据库表进行第二检测项的检测;

所述第一检测项包括:主键重复检测;所述第二检测项包括:主键空串检测;

所述第二配置参数包括所述目标数据库表的所有主键字段;

所述第三配置参数包括日期字段,且所述第三配置参数用于指示是否对所述目标数据库表进行第三检测项的检测;所述第三检测项包括:数据量波动检测。

可选地,当所述第三配置参数指示对所述目标数据库表进行数据量波动检测时,所述数据检测配置参数还包括:所述第三检测项对应的检测阈值;

当所述目标数据库表的数据量波动超过所述检测阈值时,所述数据质量检测结果包括:所述目标数据库表的所述第三检测项检测不通过;

当所述目标数据库表的数据量波动未超过所述检测阈值时,所述数据质量检测结果包括:所述目标数据库表的所述第三检测项检测通过。

可选地,所述第三检测项具体包括:对所述目标数据库表的当日和上日的数据进行数据量波动检测。

可选地,数据库表获取单元包括:

请求单元,用于向数据库发送第一获取请求,所述第一获取请求中携带所述目标数据库表的表名;

接收单元,用于接收所述数据库提供的所述目标数据库表。

可选地,参数获取模块2021用于从作业调度系统获得所述目标模型的数据检测配置参数;

作业名获取单元,用于从所述作业调度系统获得所述目标作业的作业名。

可选地,数据质量检测引擎202还包括:告警模块;

告警模块用于当确定所述目标数据库表的任意一项检测项不合格时,发出告警提示;或者,当确定所述目标数据库表的任意一项检测项不合格时,向作业调度系统反馈以使所述作业调度系统发出告警提示。

告警模块可以及时提示或指示出以目标模型产生的目标数据库表存在的数据质量问题。通过及时告警,可以辅助工作人员调整目标模型,提升后续产生的数据库表中的数据质量。

以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号