公开/公告号CN116069775A
专利类型发明专利
公开/公告日2023-05-05
原文格式PDF
申请/专利权人 上海二三四五网络科技有限公司;
申请/专利号CN202310354204.4
发明设计人 康珊伟;
申请日2023-04-06
分类号G06F16/215(2019.01);G06F16/22(2019.01);G06F16/23(2019.01);
代理机构上海海钧知识产权代理事务所(特殊普通合伙) 31330;上海海钧知识产权代理事务所(特殊普通合伙) 31330;
代理人许兰;姜波
地址 201203 上海市浦东新区杨高北路528号14幢1-5层
入库时间 2023-06-19 19:33:46
法律状态公告日
法律状态信息
法律状态
2023-08-22
授权
发明专利权授予
2023-05-23
实质审查的生效 IPC(主分类):G06F16/215 专利申请号:2023103542044 申请日:20230406
实质审查的生效
2023-05-05
公开
发明专利申请公布
技术领域
本发明数据仓库技术领域,尤其是涉及一种数据仓库的数据质量校验系统及校验方法。
背景技术
面对开发人员不足的情况下,数据仓库的数据质量能够有效提高开发人员数据处理的效率。现有技术中,开发人员针对数据仓库的数据质量的校验往往存在定位数据不一致的情形,影响开发人员数据处理的效率。
发明内容
本发明提供了一种数据仓库的数据质量校验系统及校验方法的处理方法,以解决现有技术中数据仓库的数据质量的校验存在定位数据不一致的技术问题。
本发明的一个方面在于提供一种数据仓库的数据质量校验系统,所述数据质量校验系统包括:
ODBC配置模块,用于对不同的数据仓库配置不同的ODBC数据驱动,连接不同的数据仓库;
校验表生成模块,用于配置数据仓库的库表,生成校验表;预警表生成模块,用于配置数据仓库的库表,生成预警表;
数据校验引擎,用于调用所述校验表,并生成数据质量监控表;
元数据单元,用于存储所述校验表、所述预警表,以及所述数据质量监控表;
数据预警引擎,用于调用所述预警表和所述数据质量监控表,并关联预警表中待校验的库表和所述数据质量监控表中待校验的库表,对待校验的库表进行校验。
在一个优选的实施例中,所述校验表在Excel的第一工作页中生成,其中,所述校验表中以行排列多个库表;
所述预警表在Excel的第二工作页中生成,其中,所述预警表中以行排列多个库表;
所述数据质量监控表在Excel的第二工作页中生成,其中,所述数据质量监控表中以行排列多个库表。
在一个优选的实施例中,所述校验表中的每个库表至少包括第一校验ID;所述预警表中的每个库表至少包括第二校验ID;所述数据质量监控表的每个库表至少包括第三校验ID。
在一个优选的实施例中,数据预警引擎,根据预警表中的第二校验ID和所述数据质量监控表的第三校验ID,关联预警表中待校验的库表和数据质量监控表中待校验的库表。
在一个优选的实施例中,当所述数据质量监控表中待校验的库表的属性,与所述预警表中待校验的库表的属性不一致时,则进行预警。
本发明的另一个方面在于提供一种数据仓库的数据质量校验方法,所述校验方法包括如下方法步骤:
配置数据仓库的库表,生成校验表;校验表写入元数据单元;
数据校验引擎调用校验表,生成数据质量监控表;数据质量监控表写入元数据单元
配置数据仓库的数据表,生成预警表;预警表写入元数据单元;
数据预警引擎调用预警表和数据质量监控表,并关联预警表中待校验的库表和所述数据质量监控表中待校验的库表,对待校验的库表进行校验。
在一个优选的实施例中,数据仓库的库表,在Excel的第一工作页中生成校验表,其中,所述校验表中以行排列多个库表;
数据仓库的数据表,在Excel的第二工作页中生成预警表,其中,所述预警表中以行排列多个库表;
数据校验引擎调用校验表,在Excel的第三工作页中生成数据质量监控表,其中,所述数据质量监控表中以行排列多个库表。
在一个优选的实施例中,所述校验表中的库表至少包括第一校验ID;所述预警表中的每个库表至少包括第二校验ID;所述数据质量监控表中的每个库表至少包括第三校验ID。
在一个优选的实施例中,根据预警表中的第二校验ID和所述数据质量监控表的第三校验ID,关联预警表中待校验的库表和数据质量监控表中待校验的库表。
在一个优选的实施例中,当所述数据质量监控表中待校验的库表的属性,与所述预警表中待校验的库表的属性不一致时,则进行预警。
与现有技术相比,本发明具有以下有益效果:
本发明提供的一种数据仓库的数据质量校验系统及校验方法的处理方法,在Excel中生成校验表、预警表,通过VBA数据校验引擎,调用校验表,在Excel中生成数据质量监控表,由VBA数据预警引擎,调用预警表和数据质量监控表,并关联预警表中待校验的库表和数据质量监控表中待校验的库表,对待校验的库表进行校验,当数据质量监控表中待校验的库表的属性与预警表中待校验的库表的属性不一致时,则进行预警,能够第一时间获取具体某库表数据不一致问题,提高数据处理的效率。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种数据仓库的数据质量校验系统的结构框图。
图2为本发明生成的校验表的示意图。
图3为本发明生成的预警表的示意图。
图4为本发明生成的校验质量监控表的示意图。
图5为本发明一种数据仓库的数据质量校验方法的流程示意图。
具体实施方式
为了使本发明的上述以及其他特征和优点更加清楚,下面结合附图进一步描述本发明。应当理解,本文给出的具体实施例是出于向本领域技术人员解释的目的,仅是示例性的,而非限制性的。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
如图1所示本发明一种数据仓库的数据质量校验系统的结构框图,根据本发明的实施例,提供一种数据仓库的数据质量校验系统,包括:ODBC配置模块200、校验表生成模块300、预警表生成模块400、元数据单元500、数据校验引擎600和数据预警引擎700。
本发明通过提供的一种数据仓库的数据质量校验系统,对构建在数据库管理系统(database mangement system,DBMS)的数据仓库(database Data Warehouse,DW)中的库表进行校验。
本发明的实施例中,库表是指数据库管理系统(DBMS)中的数据仓库的数据表,简称库表。
数据仓库(DW)中的数据处理整体可以抽象为:输入和输出。数据仓库(DW)分为多层,如:操作数据层(ODS)、明细层(DWD)、汇总层(DWS)、应用层(ADS),每一层以库表(数据表)的形式存储/流转数据,不同层之间库表(数据表)流转通过输入和输出完成。在数据仓库中,不同层之间输入的库表(数据表)也称为数据源表,输出的库表(数据表)也称为目标表。
根据本发明的实施例,通过配置数据源100中不同的数据仓库的库表,对数据仓库的库表的输入和输出进行校验。如图1所示,本发明的实施例中,数据源100具有多个数据仓库:数据仓库A、数据仓库B、……、数据仓库N。通过配置数据源100多个数据仓库的库表,对数据仓库的库表的输入和输出进行校验。
根据本发明的实施例,ODBC配置模块200,用于对不同的数据仓库配置不同的ODBC数据驱动,连接不同的数据仓库。例如,对数据仓库A、数据仓库B、……、数据仓库N分别配置相应的ODBC(开放数据库互连),从而连接对应的数据仓库A、数据仓库B、……、数据仓库N。
校验表生成模块300,用于配置数据仓库的库表,生成校验表。预警表生成模块400,用于配置数据仓库的库表,生成预警表。
根据本发明的实施例,本发明ODBC配置模块200连接数据源100的多个数据仓库,配置数据源100的多个数据仓库中的库表,通过校验表生成模块300在Excel的工作页(sheet页)中生成校验表。
如图2所示本发明生成的校验表的示意图,本发明的实施例中,校验表在Excel的第一工作页中生成,校验表中以行排列多个库表,构成第一库表行阵列a00,例如,构成第一库表行阵列a00的多个库表为库表1、库表2、库表3库表4、……。
校验表中的每个库表的属性至少包括第一校验ID,例如库表1对应的第一校验ID为a1、库表2对应的第一校验ID为a2、库表3对应的第一校验ID为a3、库表4对应的第一校验ID为a4、……。
校验表中的每个库表的属性还包括记录数、汇总、维度、校验名称、限制条件、创建时间、更新时间、……。例如,库表1的属性分别为第一校验ID:a1、记录数:p_dt、汇总:process_cn、维度:p_dt、……。
根据本发明的实施例,本发明ODBC配置模块200连接数据源100的多个数据仓库,配置数据源100的多个数据仓库中的库表,通过预警表生成模块400在Excel的工作页(sheet页)中生成预警表。如图3所示本发明生成的预警表的示意图,本发明的实施例中,预警表在Excel的第二工作页中生成,预警表中以行排列多个库表,构成第二库表行阵列b00,例如,构成第二库表行阵列b00的多个库表为库表1、库表2、库表3库表4、……。
预警表中的每个库表的属性至少包括第二校验ID,例如库表1对应的第二校验ID为b1、库表2对应的第二校验ID为b3、库表3对应的第二校验ID为b3、库表4对应的第二校验ID为b4、……。
预警表中的每个库表的属性还包括预警等级、预警表达式、预警描述、……。例如,库表1的属性分别为第二校验ID:b1、预警等级:1、预警表达式:counts<>8、预警描述:obs_borvserc_lick、……。
根据本发明的实施例,元数据单元500,用于存储校验表、预警表,以及数据质量监控表(数据质量监控表在下文中阐述)。
校验表生成模块300生成的校验表写入元数据单元500,元数据单元500向校验表生成模块300提供查询功能。
校验表生成模块300通过调用Excel的VBA程序,生成目标校验SQL(结构化查询语言 Structured Query Language)脚本,将生成的校验表以校验SQL脚本的方式写入元数据单元500。
预警表生成模块400生成的预警表写入元数据单元500,元数据单元500向预警表生成模块400提供查询功能。
预警表生成模块400通过调用Excel的VBA程序,生成目标预警SQL(结构化查询语言 Structured Query Language)脚本,将生成的预警表以预警SQL脚本的方式写入元数据单元500。
根据本发明的实施例,数据校验引擎600,用于调用校验表,并生成数据质量监控表。元数据单元500向数据校验引擎600提供查询功能,数据校验引擎600通过查询元数据单元500中的校验表,生成数据质量监控表。
本发明的实施例中,数据校验引擎600为VBA数据校验引擎,通过执行Excel的VBA程序,调用元数据单元500中存储的校验表,生成数据质量监控表。数据校验引擎600通过调用Excel的VBA程序,生成目标数据质量监控SQL(结构化查询语言 Structured QueryLanguage)脚本,将生成的数据质量监控表以数据质量监控SQL脚本的方式写入元数据单元500。
如图4所示本发明生成的校验质量监控表的示意图,本发明的实施例中,数据质量监控表在Excel的第三工作页中生成,数据质量监控表中以行排列多个库表,构成第三库表行阵列c00,例如,构成第三库表行阵列c00的多个库表为库表1、库表2、库表3、库表4、……。
数据质量监控表中的每个库表的属性至少包括第三校验ID,例如库表1对应的第三校验ID为c1、库表2对应的第三校验ID为c2、库表3对应的第三校验ID为c3、库表4对应的第三校验ID为c4、……。
数据质量监控表中的每个库表的属性还包括录数、汇总、维度、校验名称、限制条件、创建时间、更新时间、……。例如,库表1的属性分别为第三校验ID:c1、记录数:p_dt、汇总:process_cn、维度:p_dt、……。
本发明中,校验表、预警表和数据质量监控表中,相同库表的第一校验ID、第二校验ID和第三校验ID均指向同一库表。
举例来说,库表1在校验表中对应的第一校验ID(a1)、库表1在预警标中对应的第二校验ID(b1)、库表1在数据质量监控表中对应的第三校验ID(c1),则第一校验ID(a1)、第二校验ID(b1)和第三校验ID(c1)均指向同一库表1。
根据本发明的实施例,数据预警引擎700,用于调用预警表和数据质量监控表,并关联预警表中待校验的库表和数据质量监控表中待校验的库表,对待校验的库表进行校验。
本发明的实施例中,数据预警引擎700为VBA数据校验引擎,元数据单元500向数据预警引擎700提供查询功能,数据预警引擎700通过查询元数据单元500中的联预警表和数据质量监控表,将预警表中待校验的库表和数据质量监控表中待校验的库表关联。
具体地,数据预警引擎700,根据预警表中的第二校验ID和数据质量监控表的第三校验ID,关联预警表中待校验的库表和数据质量监控表中待校验的库表。
举例来说,预警表中的第二校验ID为b1,其指向库表1,数据质量监控表的第三校验ID为c1,其指向库表1,则预警表中的库表1作为待校验的库表与数据质量监控表中的库表1作为待校验的库表进行关联。
根据本发明的实施例,当数据质量监控表中待校验的库表(例如库表1)的属性,与预警表中待校验的库表(例如库表1)的属性不一致时,则进行预警。
例如,当数据质量监控表中待校验的库表(例如库表1)的属性:记录数p_dt=0时,在预警表中待校验的库表(例如库表1)的属性预警表达式应当为counts=0。若在预警表中待校验的库表(例如库表1)的属性预警表达式为counts<>8,则此时数据质量监控表中待校验的库表(例如库表1)的属性,与预警表中待校验的库表(例如库表1)的属性不一致,对库表1进行预警,由开发人员检查不一致的原因。
在一个实施例中,同一数据仓库中不同层之间流转的库表进行校验。例如在数据仓库A中ODS层的库表(例如库表1)通过数据加工处理后生成DWD层的库表(例如库表1),则对该库表(库表1)进行校验。
在另一个实施例中,不同数据仓库中具有关联的相同层的库表进行校验。例如数据仓库A中DWD层的库表(例如库表2)与数据仓库B中DWD层的库表(例如库表2)具有一定的关联性,则对该库表(库表2)进行校验。
如图5所示本发明一种数据仓库的数据质量校验方法的流程示意图,根据本发明的实施例,提供一种数据仓库的数据质量校验方法,包括如下方法步骤:
步骤S101、数据源配置ODBC数据驱动。
ODBC配置模块200对数据源100的不同的数据仓库配置不同的ODBC数据驱动,连接不同的数据仓库。例如,对数据仓库A、数据仓库B、……、数据仓库N分别配置相应的ODBC(开放数据库互连),从而连接对应的数据仓库A、数据仓库B、……、数据仓库N。
步骤S102、配置数据仓库的库表,生成校验表。
ODBC配置模块200连接数据源100的多个数据仓库,配置数据源100的多个数据仓库中的库表,通过校验表生成模块300在Excel的工作页(sheet页)中生成校验表。
本发明的实施例中,数据仓库的库表,在Excel的第一工作页中生成校验表,校验表中以行排列多个库表,构成第一库表行阵列a00,例如,构成第一库表行阵列a00的多个库表为库表1、库表2、库表3库表4、……。
校验表中的每个库表的属性至少包括第一校验ID,例如库表1对应的第一校验ID为a1、库表2对应的第一校验ID为a2、库表3对应的第一校验ID为a3、库表4对应的第一校验ID为a4、……。
校验表中的每个库表的属性还包括记录数、汇总、维度、校验名称、限制条件、创建时间、更新时间、……。例如,库表1的属性分别为第一校验ID:a1、记录数:p_dt、汇总:process_cn、维度:p_dt、……。
步骤S103、校验表写入元数据单元。
校验表生成模块300生成的校验表写入元数据单元500。具体地,校验表生成模块300通过调用Excel的VBA程序,生成目标校验SQL(结构化查询语言 Structured QueryLanguage)脚本,将生成的校验表以校验SQL脚本的方式写入元数据单元500。
步骤S104、数据校验引擎调用校验表,生成数据质量监控表。
本发明的实施例中,数据校验引擎600为VBA数据校验引擎,通过执行Excel的VBA程序,调用元数据单元500中存储的校验表,生成数据质量监控表。数据校验引擎600通过调用Excel的VBA程序,生成目标数据质量监控SQL(结构化查询语言 Structured QueryLanguage)脚本,将生成的数据质量监控表以数据质量监控SQL脚本的方式写入元数据单元500。
本发明的实施例中,数据校验引擎调用校验表,在Excel的第三工作页中生成数据质量监控表,数据质量监控表中以行排列多个库表,构成第三库表行阵列c00,例如,构成第三库表行阵列c00的多个库表为库表1、库表2、库表3库表4、……。
数据质量监控表中的每个库表的属性至少包括第三校验ID,例如库表1对应的第三校验ID为c1、库表2对应的第三校验ID为c2、库表3对应的第三校验ID为c3、库表4对应的第三校验ID为c4、……。
数据质量监控表中的每个库表的属性还包括录数、汇总、维度、校验名称、限制条件、创建时间、更新时间、……。例如,库表1的属性分别为第三校验ID:c1、记录数:p_dt、汇总:process_cn、维度:p_dt、……。
步骤S105、数据质量监控表写入元数据单元。
数据校验引擎600通过调用Excel的VBA程序,生成目标数据质量监控SQL(结构化查询语言 Structured Query Language)脚本,将生成的数据质量监控表以数据质量监控SQL脚本的方式写入元数据单元500。
步骤S106、配置数据仓库的数据表,生成预警表。
ODBC配置模块200连接数据源100的多个数据仓库,配置数据源100的多个数据仓库中的库表,通过预警表生成模块400在Excel的工作页(sheet页)中生成预警表。
本发明的实施例中,数据仓库的数据表,在Excel的第二工作页中生成预警表,预警表中以行排列多个库表,构成第二库表行阵列b00,例如,构成第二库表行阵列b00的多个库表为库表1、库表2、库表3库表4、……。
预警表中的每个库表的属性至少包括第二校验ID,例如库表1对应的第二校验ID为b1、库表2对应的第二校验ID为b3、库表3对应的第二校验ID为b3、库表4对应的第二校验ID为b4、……。
预警表中的每个库表的属性还包括预警等级、预警表达式、预警描述、……。例如,库表1的属性分别为第二校验ID:b1、预警等级:1、预警表达式:counts<>8、预警描述:obs_borvserc_lick、……。
步骤S107、预警表写入元数据单元。
预警表生成模块400生成的预警表写入元数据单元500。具体地,预警表生成模块400通过调用Excel的VBA程序,生成目标预警SQL(结构化查询语言 Structured QueryLanguage)脚本,将生成的预警表以预警SQL脚本的方式写入元数据单元500。
本发明中,校验表、预警表和数据质量监控表中,相同库表的第一校验ID、第二校验ID和第三校验ID均指向同一库表。
举例来说,库表1在校验表中对应的第一校验ID(a1)、库表1在预警表中对应的第二校验ID(b1)、库表1在数据质量监控表中对应的第三校验ID(c1),则第一校验ID(a1)、第二校验ID(b1)和第三校验ID(c1)均指向同一库表1。
步骤S108、数据预警引擎调用预警表和数据质量监控表,并关联预警表中待校验的库表和数据质量监控表中待校验的库表,对待校验的库表进行校验。
本发明的实施例中,数据预警引擎700为VBA数据校验引擎,元数据单元500并向数据预警引擎700提供查询功能,数据预警引擎700通过查询元数据单元500中的联预警表和数据质量监控表,将预警表中待校验的库表和数据质量监控表中待校验的库表关联。
具体地,数据预警引擎700,根据预警表中的第二校验ID和数据质量监控表的第三校验ID,关联预警表中待校验的库表和数据质量监控表中待校验的库表。
根据本发明的实施例,当数据质量监控表中待校验的库表(例如库表1)的属性,与预警表中待校验的库表(例如库表1)的属性不一致时,则进行预警。
例如,当数据质量监控表中待校验的库表(例如库表1)的属性:记录数p_dt=0时,在预警表中待校验的库表(例如库表1)的属性预警表达式应当为counts=0。若在预警表中待校验的库表(例如库表1)的属性预警表达式应当为counts<>8,则此时数据质量监控表中待校验的库表(例如库表1)的属性,与预警表中待校验的库表(例如库表1)的属性不一致,对库表1进行预警,由开发人员检查不一致的原因。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
机译: 生成通道链接质量的自适应奇偶校验测试矩阵的方法,低密度奇偶校验代码的编码方法以及一种能够根据信道链接的质量和通信系统的特征而具有最佳质量的编码设备
机译: 一种使用卷积型低密度奇偶校验码存储系统进行编码和解码的存储器控制器,包括相同的方法和操作方法
机译: 一种在交织和无序数据流中计算RAID5奇偶校验码的方法,以及使用该方法的系统