CN115292297B - 一种构建数据仓库数据质量监测规则的方法和系统 - Google Patents
一种构建数据仓库数据质量监测规则的方法和系统 Download PDFInfo
- Publication number
- CN115292297B CN115292297B CN202210749182.7A CN202210749182A CN115292297B CN 115292297 B CN115292297 B CN 115292297B CN 202210749182 A CN202210749182 A CN 202210749182A CN 115292297 B CN115292297 B CN 115292297B
- Authority
- CN
- China
- Prior art keywords
- field
- data
- fields
- key
- constraint rule
- 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
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 32
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000006870 function Effects 0.000 claims description 20
- 230000000007 visual effect Effects 0.000 claims description 5
- 230000014509 gene expression Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 abstract description 5
- 238000007405 data analysis Methods 0.000 abstract description 4
- 230000001419 dependent effect Effects 0.000 description 4
- 238000009795 derivation Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000283014 Dama Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- JNSGIVNNHKGGRU-JYRVWZFOSA-N diethoxyphosphinothioyl (2z)-2-(2-amino-1,3-thiazol-4-yl)-2-methoxyiminoacetate Chemical compound CCOP(=S)(OCC)OC(=O)C(=N/OC)\C1=CSC(N)=N1 JNSGIVNNHKGGRU-JYRVWZFOSA-N 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004451 qualitative analysis Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/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
-
- 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/211—Schema design and management
-
- 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/2228—Indexing structures
-
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种构建数据仓库数据质量监测规则的方法和系统。对于数据库中各表的字段,确定具有非空特征的字段,基于非空特征字段形成非空的完整性约束规则;确定为主键的字段,基于主键字段形成唯一性约束规则;确定具有外键关系的字段,基于外键关系形成一致性约束规则;确定为主数据的字段,基于主数据的格式形成有效性约束规则;由规则引擎读取完整性约束规则、唯一性约束规则、一致性约束规则、有效性约束规则,生成相应的数据仓库数据质量监测规则语句。本发明仅需要通过数据分析得到关系关联规则和部分特征,即可完成数据质量监测规则的生成构建。
Description
技术领域
本发明属于商业智能技术领域,具体涉及一种构建数据仓库数据质量监测规则的方法和系统。
背景技术
随着数据仓库的深入运用,数据质量问题成为数据仓库中数据能否有效应用的关键问题,数据质量决定了数据仓库建设的成败。建立数据仓库主要为决策支持和数据分析提供基础,根本目的是优化企业资源调配、提升企业的协同能力和资源共享能力,从而提高企业的核心竞争力。低质量的数据非但不能达到此目的,还会起到反面的作用,因此数据质量成为数据仓库发展中越来越受重视的突出问题。
完整性、唯一性、一致性、有效性是由DAMA UK提出的数据质量的六个核心维度中的四个,其定义如下:
完整性Completeness:完整性是指数据信息是否存在缺失的状况,例如,数据表中行的缺失、字段的缺失或码值的缺失。不完整的数据所能借鉴的价值会大大降低,是数据质量监测中最为基础和常见的问题。
唯一性Uniqueness:在数据集中数据不重复的程度。是唯一数据条数和总数据条数的百分比。
一致性Consistency:一致性是指相同含义的信息在多业务多场景是否具有一致性,包括数据模型不一致和数据实体不一致。多源数据的数据模型不一致包括:命名不一致、数据结构不一致、约束规则不一致。数据实体不一致包括:数据编码不一致、命名及含义不一致、分类层次不一致、生命周期不一致等。
有效性Validity:有效性一般指范围有效性、日期有效性、形式有效性等体现数据记录的规范性和数据是否符合逻辑。规范性指的是一项数据存在它特定的格式,如:手机号码一定是11位的数字。逻辑指的是多项数据间存在着固定的逻辑关系,如:PV一定是大于等于UV的。
在传统的数据监测体系中,通常由专业人员结合数据仓库中ER图等资料,通过经验编写相关的数据质量监测规则。对于大量的检测规则,需要消耗相当多的人力去完成编写。
发明内容
本发明提出一种构建数据仓库数据质量监测规则的方法和系统。
为了解决现有技术中存在的技术问题,本发明提出一种构建数据仓库数据质量监测规则的方法,对于数据库中各表的字段,
确定具有非空特征的字段,基于非空特征字段形成非空的完整性约束规则;
确定为主键的字段,基于主键字段形成唯一性约束规则;
确定具有外键关系的字段,基于外键关系形成一致性约束规则;
确定为主数据的字段,基于主数据的格式形成有效性约束规则;
由规则引擎读取完整性约束规则、唯一性约束规则、一致性约束规则、有效性约束规则,生成相应的数据仓库数据质量监测规则语句。
作为一种优选的实施方式,通过字段级知识图谱来确定各项信息,具体包括:
通过字段级知识图谱确定数据库中各表的字段是否具有非空特征,将具有非空特征的字段所属表名、字段名、字段对应的非空规则以表形式存储以形成非空的完整性约束规则表;
通过字段级知识图谱确定数据库中各表的字段是否为主键,将主键字段所属表名、字段名、字段对应的唯一约束规则以表形式存储以形成唯一性约束规则表;
通过字段级知识图谱确定数据库各表中具有外键关系的字段,将外键关系中的主键和主键字段所属表名、字段名、字段对应的外键约束规则以表形式存储以形成一致性约束规则表;
通过字段级知识图谱确定数据库中各表的字段是否为主数据字段,并将数据共享的字段分为同一组主数据字段;找出将同一组主数据字段内字段维值最小的字段,将该字段维值最小的字段所属表名、字段名、字段对应的数据格式以表形式存储以形成有效性约束规则表;
由规则引擎读取完整性约束规则表、唯一性约束规则表、一致性约束规则表、有效性约束规则表,生成相应的数据仓库数据质量监测规则语句。
作为一种优选的实施方式,所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等、数据去空相等。
作为一种优选的实施方式,通过字段级知识图谱确定数据库中各表的字段是否为主数据字段时,找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务系统时,将该两个字段作为主数据字段。
作为一种优选的实施方式,所述数据格式采用正则表达式。
作为一种优选的实施方式,获取外键关系的过程为:
获取数据库中各表所来自的业务系统、表名,以及各表中的字段名;
针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;
针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系。
作为一种优选的实施方式,获取数据相等和数据去空相等关系的过程为:
通过表内函数依赖关系,确定外键所属的表A,找到该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表B;
通过外键关系,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D;
对临时表D中各字段在表A和表C的值进行对比,以形成如下表间关系:
数据相等,即表A和表C之间字段在临时表D中两列数据完全相等;
数据去空相等,即表A和表C之间字段在临时表D中两列数据去除空值后相等。
本发明另一方面还提出一种构建数据仓库数据质量监测规则的系统,包括:处理器;数据库;以及存储器,其中存储有程序,数据库存储各表,
其中在所述处理器执行所述程序时,进行以下操作:
对于数据库中各表的字段,
确定具有非空特征的字段,基于非空特征字段形成非空的完整性约束规则;
确定为主键的字段,基于主键字段形成唯一性约束规则;
确定具有外键关系的字段,基于外键关系形成一致性约束规则;
确定为主数据的字段,基于主数据的格式形成有效性约束规则;
由规则引擎读取完整性约束规则、唯一性约束规则、一致性约束规则、有效性约束规则,生成相应的数据仓库数据质量监测规则语句。
本发明与现有技术相比,其显著优点在于:
(1)本发明所述的数据仓库数据质量规则构建仅需要通过数据分析得到关系关联规则和部分特征,即可完成数据质量监测规则的生成构建。
(2)本发明将大量常见的同类的规则进行自动生成,减少人工配置带来的成本。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明一个实施例的流程示意图。
图2是图1中步骤300的具体流程示意图。
图3是本发明中表级知识图谱示意图。
具体实施方式
容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发明的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限制或限定。相反,提供这些实施例的目的是为了使本领域的技术人员更透彻地理解本发明。下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的创新构思。
本发明所述构建数据仓库数据质量监测规则的方法和系统仅需要通过数据分析得到关系关联规则和部分特征,即可完成数据质量监测规则的生成构建。
下面将结合一个具体的实施例来详细地说明书本法发明所述构建数据仓库数据质量监测规则的方法和系统。在实际操作中,为了便于保存各步骤获得计算结果,会在计算系统中建立一系列表格以存储各步骤的结果数据。当然,在实际操作中也可以使用文本文档等多种工具来保存各步骤的计算结果。作为一个实施例,构建数据仓库数据质量监测规则过程中可以使用以下系列的数据表格来存储各步骤的计算结果:
表1表清单表TABLES_LIST;
表2字段清单表COLUMNS_LIST;
表3非空的完整性约束规则表COMPLETE_RULES_LIST;
表4基于主键的唯一性约束规则表UNIQUE_RULES_LIST;
表5一致性约束规则表CONSISTENCY_RULES_LIST;
表6主数据信息表MASTER_DATA_INFO;
表7有效性约束规则表VALID_RULES_LIST。
上述构建的表格模板可以预先放置在系统的存储装置中。本实施例所示的构建数据仓库数据质量监测规则的方法包括以下步骤:
S100,获取用于构建数据仓库的各数据表的表名,将表名存储到表清单表TABLES_LIST。
由表数据读取装置从数据库读取全部表的清单,将各表的表名存入到预置在存储装置的表清单表模板中,形成如表1所述的全数据库表清单表TABLES_LIST。如果各表来自不同的业务系统,还包括获取各表的业务系统编号。
表1展示了从数据库读取的全部表的清单。
表1 表清单表TABLES_LIST(部分示例)
SYS_CODE | TABLE_CODE | COMMENT |
S03 | ods.ods_s03_acc_accp | 银承台帐 |
S03 | ods.ods_s03_ctr_loan_cont | 合同主表 |
S03 | ods.ods_s03_prd_bank_info | 银行信息 |
S55 | ods.ods_s55_bt_discount_batch | 贴现买入批次 |
S58 | ods.ods_s58_m_ci_customer | 客户基本信息表 |
S58 | ods.ods_s58_m_ci_person | 个人客户信息主表 |
S57 | ods.ods_s57_tb_fss_transbook | 转账信息流水表 |
表1中各项目的含义如下:
SYS_CODE为业务系统编号,业务系统为某一单位使用的各个工作系统,例如某银行同时有贷款系统、代发工资系统等,这些业务系统中的数据以表形式存储在数据仓库中。
TABLE_CODE为表在数据仓库中的英文名。
COMMENT为各表的中文名称。COMMENT一列所示的中文名称仅是为了更加方便的举例说明,在实际实施过程中,不一定需要包含中文名称这一列数据信息。
S200,获得每个表的字段,并存储至字段清单表COLUMNS_LIST。
表数据读取装置从数据仓库存储的数据表中获取各表中的字段信息,并存储到预置在存储装置的字段清单表表模板中,形成字段清单表COLUMNS_LIST。字段清单表的其中一部分如表2所示。
表2 字段清单表COLUMNS_LIST(部分示例)
表2中各项目的含义如下:
SYS_CODE为业务系统编号,
TABLE_CODE为表在数据仓库中的英文名。
COL_NUM为字段编号,
COL_CODE为字段名称,
COMMENT为各字段的中文名称。COMMENT一列所示的中文名称仅是为了更加方便的举例说明,在实际实施过程中,不一定需要包含中文名称这一列数据信息。
S300,针对各表,根据表内函数依赖关系识别出各表的主键;根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系;将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。
具体包括如下步骤:
S301,针对各表,根据表中字段的值,分析各字段的特征。
所述特征包括定性特征和定量特征;所述定性特征可以包括字段的数据类型,所述定量特征可以包括字段的长度。
本实施例中,所述字段的定性特征是指根据各字段的值(及字段中的数据)做以下定性分析:
COL_TYPE为字段的数据类型。例如,字符串、不同的存储长度、文本、数值、日期、时间等。
COL_NULLABLE为字段是否可空,属于字段的定性特征,为优选项,在一些实施例中,可以不将字段是否可空作为字段的定性特征。
COL_PK为字段是否为主键,属于字段的定性特征。当然,本步骤暂时无法获得改特征,需待后续步骤获得外键后再在表4字段基础元信息和定性特征记录表中记录该项特征。
COL_TYPE_JUDGE_RATE为字段类型判断数据比例,属于字段的定性特征,为优选项,在一些实施例中,可以不将其作为字段的定性特征。
本实施例中,定量特征包括:
COL_RECORDS为字段行数,属于指标特征。
COL_DISTINCT为字段去重后行数,属于指标特征。
COL_NOTNULL_为字段值中非NULL行数,属于指标特征。为优选项,在一些实施例中,可以不将其作为字段的指标特征。
当然,在本发明中,并非前所所有的定性特征和定量特征均需要用到。
S302,针对各表,根据表名、字段名以及字段的值,计算获得同一表内各字段之间的函数依赖关系,本发明称之为表内函数依赖关系。
现有技术中有多种方法可以计算获得函数依赖关系,本实施例不在具体展开。为了便于理解仅简要说明,函数依赖包括用于函数依赖推导的字段和函数依赖推导结果字段。例如,表prd_bank_info用于函数依赖推导的字段为银行代码bank_no,函数依赖推导结果字段为bank_name银行名称。由此,表内函数依赖关系可以理解为:由银行代码bank_no可以推出银行名称bank_name,或者可以说银行名称bank_name依赖于银行代码bank_no。
S303,针对各表,根据表内函数依赖关系识别出各表的主键。
现有技术中有多种方法可以计算获得表的主键,本实施例不在具体展开。本发明优选候选码集合的方法寻找主键,主键可能为一个或多个候选码。
S304,根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系。
现有技术中有多种方法可以获得外键关系,本实施例不在具体展开。
本发明优选一下方式获得外键关系:
将其他表中与主键数据类型和字段长度相匹配的字段作为外键,所述与主键数据类型和字段长度相匹配的字段是指,该字段的数据类型与主键数据类型相同,该字段的最小长度大于或等于主键的最小长度、最大长度小于或等于主键的最大长度。
进一步,可以对上述与主键数据类型和字段长度相匹配的字段做进一步筛选,例如:
依次遍历主键,对每个主键的值通过Hash方法生成对应的布隆过滤器;
将所述与主键数据类型和字段长度相匹配的字段的值与对应该主键的布隆过滤器进行比较,当数据重合率大于预先设定的阈值时,将该字段作为最终确定的外键。
S305,将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。
在获得外键关系后,将数据库中的表以及表之间的外键关系以图结构形式存储于预置于存储装置的图数据库中,并形成可视化、可便于查询的表级知识图谱。
表级知识图谱如图3所示。表级知识图谱包含1种节点和1种边,其中圆形的节点代表一张表,每个节点存储有代表该表的信息,包括该表的基础元信息和相关特征信息,例如表的英文名、字段个数、表注释(中文名)、表行数等信息。各项信息中,除表英文名外,其他信息均可以作为优选添加信息,节点中可以存储,也可以不存储这些信息。表级知识图谱中仅包含外键一种关系,在图3中体现为一条连接两个节点的用箭头表示的边,该边上标注的FK表示外键关系,每条边都为有向边,其中出发的节点为主键所属的表,箭头指向的节点为外键所属的表。每条边上还存储有外键关系信息,例如主键字段的英文名、外键字段的英文名及主外键重合率等。优选地,由于外键可能为联合外键,主键和外键在边上字段存储采用列表进行保存,相同下标的字段存在关联,完整的保存了联合外键的字段映射关系。
S400,通过字段级知识图谱识别出字段清单表中所有字段中特征为非空的字段,根据特征为非空的字段形成非空的完整性约束规则。
通过字段级知识图谱获取步骤S200中字段清单表中所有字段中字段是否可空特征,将非空的字段以及对应的非空特征记录在预置在存储装置中的完整性约束规则表中。本发明所述完整性约束规则是非空规则,即该字段必须包含非null值数据。
表3 非空的完整性约束规则表COMPLETE_RULES_LIST(部分示例)
SYS_CODE | TABLE_CODE | COL_CODE | RULE_TYPE |
S03 | ods.ods_s03_prd_bank_info | bank_no | NOT_NULL |
S03 | ods.ods_s03_prd_bank_info | area_code | NOT_NULL |
S03 | ods.ods_s03_prd_bank_info | phone | NOT_NULL |
S03 | ods.ods_s03_prd_bank_info | pcode | NOT_NULL |
S03 | ods.ods_s03_prd_bank_info | addr | NOT_NULL |
表3中各项目的含义如下:
SYS_CODE为业务系统编号,
TABLE_CODE为表在数据仓库中的英文名。
COL_CODE为字段名称,
RULE_TYPE为完整性约束规则类型,NOT_NULL表示完整性约束规则为非空规则,即非空的完整性约束规则。
S500,根据所有表清单中表的主键生成基于主键的唯一性约束规则。
根据字段级知识图谱获取步骤S200中字段清单表中各表的主键信息,并将主键及对应的唯一性约束规则记录在预置在存储装置中的唯一性约束规则表中。
唯一性约束规则用于检测字段数据唯一性,比如银承台帐ods.ods_s03_acc_accp中账单编号bill_no作为主键,账单编号bill_no的数据不应该出现重复数据。基于主键的唯一性约束规则检测主键字段数据是否重复及重复数量。
表4基于主键的唯一性约束规则表UNIQUE_RULES_LIST(部分示例)
SYS_CODE | TABLE_CODE | COL_CODE | GROUP_ID | RULE_TYPE |
S03 | ods.ods_s03_prd_bank_info | bank_no | 1 | UNIQUE |
S55 | ods.ods_s55_bt_discount_batch | disc_batch_id | 2 | UNIQUE |
S55 | ods.ods_s55_bt_discount_batch | s_batch_no | 3 | UNIQUE |
S03 | ods.ods_s03_ctr_loan_cont | cont_no | 4 | UNIQUE |
S03 | ods.ods_s03_acc_accp | bill_no | 5 | UNIQUE |
表4中各项目的含义如下:
SYS_CODE为业务系统编号,
TABLE_CODE为表在数据仓库中的英文名。
COL_CODE为字段名称,
GROUP_ID为分组编号,其中当分组编号相等时,表示同一分组内的多个字段联合构成唯一约束,
RULE_TYPE为唯一性约束规则类型,其中UNIQUE表示为唯一约束规则。
S600,通过外键关系,形成基于外键约束的一致性约束规则。
通过字段级知识图谱获取步骤S200中字段清单表中各表的所有外键关系。将找到的外键关系记录于预置在存储装置中的一致性约束规则表中,形成基于外键约束的一致性约束规则。
本发明所述一致性约束规则为外键约束,即外键字段中数据必须在主键字段中存在。基于外键约束的一致性约束规则检测外键数据比例和不符合约束行数。
表5一致性约束规则表CONSISTENCY_RULES_LIST(部分示例)
表5中各项目的含义如下:
SYS_CODE为业务系统编号;
TABLE_CODE为表在数据仓库中的英文名;
COL_CODE为字段名称;
RULE_TYPE为规则类型,其中FK表示为外键约束规则;
PRIMARY_SYS_CODE为主表所属业务系统编号;
PRIMARY_TABLE_CODE为主表在数据仓库中的英文名称;
PRIMARY_COL_CODE为主表字段名称。
S700,获取步骤100中的表清单中表的所有主数据字段。
通过字段级知识图谱找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务系统时,将该两个字段作为主数据字段。如前所述,所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;外键关系、数据相等或数据去空相等的关系在所述字段级知识图谱体现为对应的一条边。将找到的字段均记为主数据字段并记录在预置在存储装置中的主数据信息表信息表中。
主数据字段信息表的其中一部分示例如表6所示。
表6主数据信息表MASTER_DATA_INFO(部分示例)
SYS_CODE | TABLE_CODE | COL_CODE | MASTER_ID | ORDER |
s58 | ods.ods_s58_m_ci_org | regi_regis_date | 1821 | 1 |
s53 | ods.ods_s53_vai_cus_com_xd | reg_start_date | 1821 | 2 |
s03 | ods.ods_s03_cus_com | reg_start_date | 1821 | 3 |
s28 | ods.ods_s28_cus_com | reg_start_date | 1821 | 4 |
s53 | ods.ods_s53_vai_cus_com_xd | fina_per_tel | 1825 | 1 |
s03 | ods.ods_s03_cus_com | fina_per_tel | 1825 | 2 |
s28 | ods.ods_s28_cus_com | fina_per_tel | 1825 | 3 |
表6中各项目的含义如下:
SYS_CODE为业务系统编号,
TABLE_CODE为表在数据仓库中的英文名。
COL_CODE为字段名称,
MASTER_ID为主数据分组,当分组编号一致时说明数据在同一分组内,发生数据共享;
ORDER为分组内排序序号,其排序顺序由字段维值(即去重后行数)进行降序排序决定,分组内排序序号越小说明该字段更为重要。
S800,选取出步骤S700中主数据信息表中所有分组内排序序号为1的字段,并由用户填写有效性验证规则(比如电话、邮箱、身份证的格式),并将同一组内的字段自动应用同一有效性规则,并记录于预置在存储装置中的有效性约束规则表中。
由于主数据字段是跨系统共享的数据,故其数据格式一致,对同一分组内其中一个字段编辑规则即可作为全组的规则,本发明选取组内重要度最高字段进行规则编辑。
本发明所述有效性约束规则主要是对数据格式的约束,使用正则规则满足各类数据检查的需要。基于数据格式约束的有效性规则,数据格式为正则表达式。
表7有效性约束规则表VALID_RULES_LIST(部分实例)
表7中各项目的含义如下:
SYS_CODE为业务系统编号,
TABLE_CODE为表在数据仓库中的英文名。
COL_CODE为字段名称,
RULE_TYPE为规则类型,其中REGEX表示为正则约束,RULE为规则内容。
S900,由规则引擎读取完整性约束规则表、唯一性约束规则表、一致性约束规则表、有效性约束规则表并生成相应的数据质量监测规则语句。
用户可以进行规则测试,生成数据质量结果报告。
进一步,优选地,由用户阅读规则测试结果,并对错误的规则进行删除或纠正,完成数据质量规则的制定。
上述实施例中各表的结构仅为示例,在实际运行中,其个列数据项并非必然仅有上述实施例各表所示的各项,有可能还具有其他项目数据。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
应当理解,为了精简本发明并帮助本领域的技术人员理解本发明的各个方面,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时在单个实施例中进行描述,或者参照单个图进行描述。但是,不应将本发明解释成示例性实施例中包括的特征均为本专利权利要求的必要技术特征。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
应当理解,可以对本发明的一个实施例的系统中包括的装置、模块、单元、组件等进行自适应性地改变以把它们设置在与该实施例不同的设备或系统中。可以把实施例的系统包括的不同装置、模块、单元或组件组合成一个装置、模块、单元或组件,也可以把它们分成多个子装置、子模块、子单元或子组件。
本发明的实施例中的装置、模块、单元或组件可以以硬件方式实现,也可以以一个或者多个处理器上运行的软件方式实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的计算机程序产品或计算机可读介质上。
Claims (6)
1.一种构建数据仓库数据质量监测规则的方法,其特征在于,对于数据库中各表的字段,
确定具有非空特征的字段,基于非空特征字段形成非空的完整性约束规则;
确定为主键的字段,基于主键字段形成唯一性约束规则;
确定具有外键关系的字段,基于外键关系形成一致性约束规则;
确定为主数据的字段,基于主数据的格式形成有效性约束规则;
由规则引擎读取完整性约束规则、唯一性约束规则、一致性约束规则、有效性约束规则,生成相应的数据仓库数据质量监测规则语句;
通过字段级知识图谱确定数据库中各表的字段是否具有非空特征,将具有非空特征的字段所属表名、字段名、字段对应的非空规则以表形式存储以形成非空的完整性约束规则表;
通过字段级知识图谱确定数据库中各表的字段是否为主键,将主键字段所属表名、字段名、字段对应的唯一约束规则以表形式存储以形成唯一性约束规则表;
通过字段级知识图谱确定数据库各表中具有外键关系的字段,将外键关系中的主键和主键字段所属表名、字段名、字段对应的外键约束规则以表形式存储以形成一致性约束规则表;
通过字段级知识图谱确定数据库中各表的字段是否为主数据字段,并将数据共享的字段分为同一组主数据字段;找出将同一组主数据字段内字段维值最小的字段,将该字段维值最小的字段所属表名、字段名、字段对应的数据格式以表形式存储以形成有效性约束规则表;
由规则引擎读取完整性约束规则表、唯一性约束规则表、一致性约束规则表、有效性约束规则表,生成相应的数据仓库数据质量监测规则语句;
所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等、数据去空相等;
获取数据相等和数据去空相等关系的过程为:
通过表内函数依赖关系,确定外键所属的表A,找到该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表B;
通过外键关系,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D;
对临时表D中各字段在表A和表C的值进行对比,以形成如下表间关系:
数据相等,即表A和表C之间字段在临时表D中两列数据完全相等;
数据去空相等,即表A和表C之间字段在临时表D中两列数据去除空值后相等。
2.如权利要求1所述的构建数据仓库数据质量监测规则的方法,其特征在于,通过字段级知识图谱确定数据库中各表的字段是否为主数据字段时,找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务系统时,将该两个字段作为主数据字段。
3.如权利要求1所述的构建数据仓库数据质量监测规则的方法,其特征在于,所述数据格式采用正则表达式。
4.如权利要求1所述的构建数据仓库数据质量监测规则的方法,其特征在于,获取外键关系的过程为:
获取数据库中各表所来自的业务系统、表名,以及各表中的字段名;
针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;
针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系。
5.一种构建数据仓库数据质量监测规则的系统,其特征在于,包括:
处理器;数据库;以及存储器,其中存储有程序,数据库存储各表,
其中在所述处理器执行所述程序时,进行以下操作:
对于数据库中各表的字段,
确定具有非空特征的字段,基于非空特征字段形成非空的完整性约束规则;
确定为主键的字段,基于主键字段形成唯一性约束规则;
确定具有外键关系的字段,基于外键关系形成一致性约束规则;
确定为主数据的字段,基于主数据的格式形成有效性约束规则;
由规则引擎读取完整性约束规则、唯一性约束规则、一致性约束规则、有效性约束规则,生成相应的数据仓库数据质量监测规则语句;
通过字段级知识图谱确定数据库中各表的字段是否具有非空特征,将具有非空特征的字段所属表名、字段名、字段对应的非空规则以表形式存储以形成非空的完整性约束规则表;
通过字段级知识图谱确定数据库中各表的字段是否为主键,将主键字段所属表名、字段名、字段对应的唯一约束规则以表形式存储以形成唯一性约束规则表;
通过字段级知识图谱确定数据库各表中具有外键关系的字段,将外键关系中的主键和主键字段所属表名、字段名、字段对应的外键约束规则以表形式存储以形成一致性约束规则表;
通过字段级知识图谱确定数据库中各表的字段是否为主数据字段,并将数据共享的字段分为同一组主数据字段;找出将同一组主数据字段内字段维值最小的字段,将该字段维值最小的字段所属表名、字段名、字段对应的数据格式以表形式存储以形成有效性约束规则表;其中,通过字段级知识图谱确定数据库中各表的字段是否为主数据字段时,找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务系统时,将该两个字段作为主数据字段
由规则引擎读取完整性约束规则表、唯一性约束规则表、一致性约束规则表、有效性约束规则表,生成相应的数据仓库数据质量监测规则语句;
获取数据相等和数据去空相等关系的过程为:
通过表内函数依赖关系,确定外键所属的表A,找到该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表B;
通过外键关系,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D;
对临时表D中各字段在表A和表C的值进行对比,以形成如下表间关系:
数据相等,即表A和表C之间字段在临时表D中两列数据完全相等;
数据去空相等,即表A和表C之间字段在临时表D中两列数据去除空值后相等。
6.如权利要求5所述的构建数据仓库数据质量监测规则的系统,其特征在于,
获取外键关系的过程为:
获取数据库中各表所来自的业务系统、表名,以及各表中的字段名;
针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;
针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210749182.7A CN115292297B (zh) | 2022-06-29 | 2022-06-29 | 一种构建数据仓库数据质量监测规则的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210749182.7A CN115292297B (zh) | 2022-06-29 | 2022-06-29 | 一种构建数据仓库数据质量监测规则的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115292297A CN115292297A (zh) | 2022-11-04 |
CN115292297B true CN115292297B (zh) | 2024-02-02 |
Family
ID=83819773
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210749182.7A Active CN115292297B (zh) | 2022-06-29 | 2022-06-29 | 一种构建数据仓库数据质量监测规则的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115292297B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001013303A1 (en) * | 1999-08-16 | 2001-02-22 | Versata, Inc. | Business rules automation in database application development and maintenance |
US6662175B1 (en) * | 2001-05-08 | 2003-12-09 | Ncr Corporation | Semantic query optimization using value correlation |
CN104866593A (zh) * | 2015-05-29 | 2015-08-26 | 中国电子科技集团公司第二十八研究所 | 一种基于知识图谱的数据库搜索方法 |
CN105808939A (zh) * | 2016-03-04 | 2016-07-27 | 新博卓畅技术(北京)有限公司 | 一种数据规则引擎系统和方法 |
CN106528828A (zh) * | 2016-11-22 | 2017-03-22 | 山东浪潮云服务信息科技有限公司 | 一种基于多维度校验规则的数据质量检测方法 |
CN107609052A (zh) * | 2017-08-23 | 2018-01-19 | 中国科学院软件研究所 | 一种基于语义三角的领域知识图谱的生成方法及装置 |
CN107958049A (zh) * | 2017-11-28 | 2018-04-24 | 航天科工智慧产业发展有限公司 | 一种数据质量稽查管理系统 |
CN108595563A (zh) * | 2018-04-13 | 2018-09-28 | 林秀丽 | 一种数据质量管理方法及装置 |
CN110727676A (zh) * | 2019-07-23 | 2020-01-24 | 杭州城市大数据运营有限公司 | 数据表主键、外键识别方法、装置、设备和存储介质 |
CN111161815A (zh) * | 2019-12-27 | 2020-05-15 | 深圳中兴网信科技有限公司 | 医疗数据检测方法、装置、终端和计算机可读存储介质 |
CN111581393A (zh) * | 2020-04-28 | 2020-08-25 | 国家电网有限公司客户服务中心 | 一种基于电力行业客户服务数据的知识图谱的构建方法 |
CN112650762A (zh) * | 2021-03-15 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 数据质量监控的方法、装置、电子设备以及存储介质 |
CN112651296A (zh) * | 2020-11-23 | 2021-04-13 | 安徽继远软件有限公司 | 一种无先验知识数据质量问题自动探查方法及系统 |
CN113986241A (zh) * | 2021-10-25 | 2022-01-28 | 北京元年科技股份有限公司 | 一种基于知识图谱的业务规则的配置方法以及装置 |
CN114385437A (zh) * | 2021-12-10 | 2022-04-22 | 微梦创科网络科技(中国)有限公司 | 数据质量分析系统及方法 |
-
2022
- 2022-06-29 CN CN202210749182.7A patent/CN115292297B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001013303A1 (en) * | 1999-08-16 | 2001-02-22 | Versata, Inc. | Business rules automation in database application development and maintenance |
US6662175B1 (en) * | 2001-05-08 | 2003-12-09 | Ncr Corporation | Semantic query optimization using value correlation |
CN104866593A (zh) * | 2015-05-29 | 2015-08-26 | 中国电子科技集团公司第二十八研究所 | 一种基于知识图谱的数据库搜索方法 |
CN105808939A (zh) * | 2016-03-04 | 2016-07-27 | 新博卓畅技术(北京)有限公司 | 一种数据规则引擎系统和方法 |
CN106528828A (zh) * | 2016-11-22 | 2017-03-22 | 山东浪潮云服务信息科技有限公司 | 一种基于多维度校验规则的数据质量检测方法 |
CN107609052A (zh) * | 2017-08-23 | 2018-01-19 | 中国科学院软件研究所 | 一种基于语义三角的领域知识图谱的生成方法及装置 |
CN107958049A (zh) * | 2017-11-28 | 2018-04-24 | 航天科工智慧产业发展有限公司 | 一种数据质量稽查管理系统 |
CN108595563A (zh) * | 2018-04-13 | 2018-09-28 | 林秀丽 | 一种数据质量管理方法及装置 |
CN110727676A (zh) * | 2019-07-23 | 2020-01-24 | 杭州城市大数据运营有限公司 | 数据表主键、外键识别方法、装置、设备和存储介质 |
CN111161815A (zh) * | 2019-12-27 | 2020-05-15 | 深圳中兴网信科技有限公司 | 医疗数据检测方法、装置、终端和计算机可读存储介质 |
CN111581393A (zh) * | 2020-04-28 | 2020-08-25 | 国家电网有限公司客户服务中心 | 一种基于电力行业客户服务数据的知识图谱的构建方法 |
CN112651296A (zh) * | 2020-11-23 | 2021-04-13 | 安徽继远软件有限公司 | 一种无先验知识数据质量问题自动探查方法及系统 |
CN112650762A (zh) * | 2021-03-15 | 2021-04-13 | 腾讯科技(深圳)有限公司 | 数据质量监控的方法、装置、电子设备以及存储介质 |
CN113986241A (zh) * | 2021-10-25 | 2022-01-28 | 北京元年科技股份有限公司 | 一种基于知识图谱的业务规则的配置方法以及装置 |
CN114385437A (zh) * | 2021-12-10 | 2022-04-22 | 微梦创科网络科技(中国)有限公司 | 数据质量分析系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115292297A (zh) | 2022-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11615093B2 (en) | Fuzzy data operations | |
Lenz et al. | Summarizability in OLAP and statistical data bases | |
CN107357902B (zh) | 一种基于关联规则的数据表分类系统与方法 | |
CN111553137B (zh) | 报告生成方法、装置、存储介质及计算机设备 | |
CN111506559A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
US20220229854A1 (en) | Constructing ground truth when classifying data | |
CN115292508A (zh) | 一种基于表数据的知识图谱构建方法和系统 | |
CN112149387A (zh) | 财务数据的可视化方法、装置、计算机设备及存储介质 | |
CN115328883A (zh) | 一种数据仓库建模方法和系统 | |
CN115292297B (zh) | 一种构建数据仓库数据质量监测规则的方法和系统 | |
AU2017201787B2 (en) | Fuzzy data operations | |
CN114090076A (zh) | 应用程序的合规性判别方法和装置 | |
CN107730021A (zh) | 一种业务指标优化方法和装置 | |
CN115510021B (zh) | 一种构建数据仓库标准层的方法和系统 | |
JP2017010376A (ja) | マートレス検証支援システムおよびマートレス検証支援方法 | |
CN111221978A (zh) | 一种构建知识图谱的方法、装置、计算机存储介质及终端 | |
CN116881262B (zh) | 一种智能化的多格式数字身份映射方法及系统 | |
CN112115699B (zh) | 一种分析数据的方法和系统 | |
CN117763059A (zh) | 一种数据仓库和数据集市的模型构建方法及系统 | |
CN115203233A (zh) | 特征生成方法及装置、非易失性存储介质、处理器 | |
CN116975774A (zh) | 机构名称融合方法、终端设备及计算机可读存储介质 | |
CN116523628A (zh) | 一种基于公共信用大数据的信用模型定义方法 | |
CN118277953A (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 |