CN115510021B - 一种构建数据仓库标准层的方法和*** - Google Patents

一种构建数据仓库标准层的方法和*** Download PDF

Info

Publication number
CN115510021B
CN115510021B CN202210749186.5A CN202210749186A CN115510021B CN 115510021 B CN115510021 B CN 115510021B CN 202210749186 A CN202210749186 A CN 202210749186A CN 115510021 B CN115510021 B CN 115510021B
Authority
CN
China
Prior art keywords
field
data
fields
knowledge graph
tables
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
CN202210749186.5A
Other languages
English (en)
Other versions
CN115510021A (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 Kunshan Rural Commercial Bank Co ltd
Original Assignee
Jiangsu Kunshan Rural Commercial Bank 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 Jiangsu Kunshan Rural Commercial Bank Co ltd filed Critical Jiangsu Kunshan Rural Commercial Bank Co ltd
Priority to CN202210749186.5A priority Critical patent/CN115510021B/zh
Publication of CN115510021A publication Critical patent/CN115510021A/zh
Application granted granted Critical
Publication of CN115510021B publication Critical patent/CN115510021B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/211Schema design and management
    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种构建数据仓库标准层的方法和***。包括:标准层包括表模型和字段模型;对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于阈值且为非默认值时,将该字段放入标准层;当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行查看设置码值转换。本发明提高了数据标准化的程度。

Description

一种构建数据仓库标准层的方法和***
技术领域
本发明属于商业智能技术领域,具体涉及一种构建数据仓库标准层的方法和***。
背景技术
在数据仓库、数据治理、数据湖等数据***构建中,在数据入仓之前,都需要对数据进行标准化加工处理。在传统的技术方案中,数据标准化操作都是采用对数据库的PDM文件、表备注、字段备注、字段内容人工查看等方式来判定每张表每个字段是否需要进行标准化,如何标准化。传统技术对人工的依赖性比较重,如果出现字段、表、字段码值命名不规范、命名解释缺失,人员对数据结构、关系不了解,缺少PDM文件或者说明文档,人员对公司组织的业务流程不了解等情况,数据标准化操作将会变得非常困难。尤其在组织内***繁杂,***表数据量众多的时候,则需要投入非常多的人工来进行数据的识别、判断,这样仍然存在数据标准化不彻底、标准落地遗漏等问题。
发明内容
本发明提出一种构建数据仓库标准层的方法和***。
为了解决现有技术中的技术问题,本发明提出一种构建数据仓库标准层的方法,包括:标准层包括表模型和字段模型;
对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;
对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于阈值(例如2%)且为非默认值时,将该字段放入标准层;
当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型,例如,当原始类型为文本时,发现存储的数据均为(100%)浮点数(即小数)时,推荐转换为更精确的浮点类型;如果为码值字段,则推荐进行配置码值转换的规则。该处描述的码值即枚举值。
作为一种优选的实施方式,通过表级知识图谱确定数据库中各表是否为孤岛表;所述表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点于其他任何节点不存在边时,该节点代表的表为孤岛表。
作为一种优选的实施方式,通过字段级知识图谱确定数据库中各表的字段是否为主数据字段;所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等或数据去空相等;在确定主数据字段时,通过字段级知识图谱找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务***时,将该两个字段作为主数据字段。
作为一种优选的实施方式,获取所述表级知识图谱的方法为:获取数据库中各表所来自的业务***、表名,以及各表中的字段名;针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系;将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。
作为一种优选的实施方式,获取字段级知识图谱中所述表间关系的方法为:通过表内函数依赖关系,确定外键所属的表A,找到该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表B;通过外键关系,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D;对临时表D中各字段在表A和表C的值进行对比,以形成如下表间关系:
数据相等,即表A和表C之间字段在临时表D中两列数据完全相等;
数据去空相等,即表A和表C之间字段在临时表D中两列数据去除空值后相等。
本发明还提出一种构建数据仓库标准层的***,包括:处理器;数据库;以及存储器,其中存储有程序,数据库存储各表,
其中在所述处理器执行所述程序时,进行以下操作:
对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于阈值(例如2%)且为非默认值时,将该字段放入标准层;当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。
本发明与现有技术相比,其显著优点在于:
(1)本发明从上游多个业务***中导出所有的数据文件,将数据文件加载到大数据平台中,利用大数据平台的海量存储和计算能力,对所有业务***的全部表数据进行计算分析,得到每张表与其他表的主外键关系和函数依赖关系,根据所述关系进行每张表、每个字段标准化处理的方法;
(2)本发明在数据仓库或者数据湖***构建过程中,无需依赖任何的人工识别、判断、人为熟悉了解数据表、关系、字段内容、字段码值,也无需投入高成本的人力资源,便可以直接对需要进入数据仓库、数据湖中的全部的表、字段进行标准化处理,提升了标准化的处理效率,提高了数据标准化的程度,从而保证进入数据仓库或者数据湖中的数据都是统一标准。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
图1是本发明一个实施例的流程示意图。
图2是图1中步骤300的具体流程示意图。
图3是字段级知识图谱简易示意图。
图4是字段级知识图谱概览示意图。
图5是字段级知识图谱部分详细示意图。
图6是字段级知识图谱另一部分详细示意图。
具体实施方式
容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发明的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限制或限定。相反,提供这些实施例的目的是为了使本领域的技术人员更透彻地理解本发明。下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的创新构思。
本发明所述构建数据仓库标准层的方法和***仅需要通过数据分析得到关键特征信息,就可完成对数据仓库标准层构建。
本发明所述构建数据仓库标准层的方法,其标准层包括表模型和字段模型;
对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;
对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于2%且为非默认值时,将该字段放入标准层;
当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。
本发明中,作为以一种优选的方式,通过表级知识图谱确定数据库中各表是否为孤岛表;所述表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点于其他任何节点不存在边时,该节点代表的表为孤岛表。获取所述表级知识图谱的方法为:获取数据库中各表所来自的业务***、表名,以及各表中的字段名;针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系;将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。
本发明中,作为以一种优选的方式,通过字段级知识图谱确定数据库中各表的字段是否为主数据字段;所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等或数据去空相等;在确定主数据字段时,通过字段级知识图谱找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务***时,将该两个字段作为主数据字段。获取字段级知识图谱中所述表间关系的方法为:通过表内函数依赖关系,确定外键所属的表A,找到该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表B;通过外键关系,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D;对临时表D中各字段在表A和表C的值进行对比,以形成如下表间关系:
数据相等,即表A和表C之间字段在临时表D中两列数据完全相等;
数据去空相等,即表A和表C之间字段在临时表D中两列数据去除空值后相等。
本发明另一方面还提出一种构建数据仓库标准层的***,包括:处理器;数据库;以及存储器,其中存储有程序,数据库存储各表,其中在所述处理器执行所述程序时,进行以下操作:对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于2%且为非默认值时,将该字段放入标准层;当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。
下面将结合一个具体的实施例来详细地说明书本法发明所述构建数据仓库标准层的方法和***。在实际操作中,为了便于保存各步骤获得计算结果,会在计算***中建立一系列表格以存储各步骤的结果数据。当然,在实际操作中也可以使用文本文档等多种工具来保存各步骤的计算结果。作为一个实施例,构建数据仓库标准层过程中可以使用以下系列的数据表格来存储各步骤的计算结果:
表1表清单表TABLES_LIST;
表2字段清单表COLUMNS_LIST;
表3主数据字段信息表MASTER_DATA_INFO;
表4字段特征信息表COLUMNS_FEATURE_INFO;
表5标准层模型表。
上述构建的表格模板可以预先放置在***的存储装置中。如图1所示,本实施例所示的构建数据仓库标准层的方法包括以下步骤:
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(部分实例)
SYS_CODE TABLE_CODE COL_NUM COL_CODE COMMENT
S58 ods.ods_s58_m_ci_person 1 cust_no 客户号
S58 ods.ods_s59_m_ci_person 2 cust_name 客户名称
S58 ods.ods_s60_m_ci_person 3 cust_eng_name 客户英文名称
S58 ods.ods_s61_m_ci_person 4 py_name 拼音名称
表2中各项目的含义如下:
SYS_CODE为业务***编号,
TABLE_CODE为表在数据仓库中的英文名。
COL_NUM为字段编号,
COL_CODE为字段名称,
COMMENT为各字段的中文名称。COMMENT一列所示的中文名称仅是为了更加方便的举例说明,在实际实施过程中,不一定需要包含中文名称这一列数据信息。
S300,获取表级知识图谱和字段级知识图谱。
图2所示,本步骤具体包括以下步骤:
S301,针对各表,根据表中字段的值,分析各字段的特征。
所述特征包括定性特征和定量特征;所述定性特征可以包括字段的数据类型,所述定量特征可以包括字段的长度。
本实施例中,所述字段的定性特征是指根据各字段的值(及字段中的数据)做以下定性分析:
COL_TYPE为字段的数据类型。例如,字符串、不同的存储长度、文本、数值、日期、时间等。
COL_NULLABLE为字段是否可空,属于字段的定性特征,为优选项,在一些实施例中,可以不将字段是否可空作为字段的定性特征。
COL_PK为字段是否为主键,属于字段的定性特征。当然,本步骤暂时无法获得改特征,需待后续步骤获得外键后再在表4字段基础元信息和定性特征记录表中记录该项特征。
COL_AUTOINCRE为是否为自增字段,属于字段的定性特征,为优选项,在一些实施例中,可以不将是否为自增字段作为字段的定性特征。
COL_DEFULT表示是否为默认值字段,属于字段的定性特征,为优选项,在一些实施例中,可以不将其作为字段的定性特征。
CODE_VALUE_FLG为是否为码值字段,属于字段的定性特征,为优选项,在一些实施例中,可以不将其作为字段的定性特征。
本实施例中,定量特征包括:
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表示外键关系,每条边都为有向边,其中出发的节点为主键所属的表,箭头指向的节点为外键所属的表。每条边上还存储有外键关系信息,例如主键字段的英文名、外键字段的英文名及主外键重合率等。优选地,由于外键可能为联合外键,主键和外键在边上字段存储采用列表进行保存,相同下标的字段存在关联,完整的保存了联合外键的字段映射关系。
S306,计算表间关系。
本发明中表间关系具体体现为来自不同表的字段之间的关系,包括不同表中各字段之间的函数依赖关系、数据相等关系以及数据去空相等关系。本发明将不同表中各字段之间的函数依赖关系称为表间函数依赖关系。表间函数依赖关系又包括单向依赖和双向依赖。因此,本发明中,表间关系包括四种关系,分别为:
单向依赖;
双向依赖;
数据相等;
数据去空相等关系。
以上表间关系作为外键和外键关系的补充,极大丰富了跨表间关系,用于实现更多功能。
上述四种表间关系的计算方法为:对于外键关系中的主键和外键,
首先,通过表内函数依赖关系选取外键所属的表A,找到外键字段(包括联合外键)以及该外键字段的闭包,在当前闭包内,由于可以通过该外键推出包内所有其余字段,故将闭包内字段去重后形成一张以外键字段为主键的临时表B;
其次,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D,临时表D中的字段实际来源于表A和表C;
在次,对于临时表D中,计算临时表D内各自段的表内函数依赖关系,临时表D的表内函数依赖关系使之为表A与表C的表间函数依赖关系;
最后,通过对外键所属表A和主键所属表C中各字段值进行数据对比,获得以下表间关系:
(1)单向依赖:表A和表C之间字段在临时表D中存在单向依赖关系,关系类型记为fd;本实施例仅存储单个字段间的依赖关系
(2)双向依赖:表A和表C之间字段在临时表D存在双向依赖关系,即两字段存在数据一一对应的结果,关系类型记为bfd;本实施例仅存储单个字段间的依赖关系
(3)数据相等:表A和表C之间字段在临时表D两列数据完全相等,可认为数据存在较强的关联或冗余关系,关系类型记为equals;
(4)数据去空相等:表A和表C之间字段在临时表D两列数据去除空值后相等,可认为数据存在稍弱的关联或冗余关系,关系类型记为same;
S307,将外键关系、表内函数依赖关系和表间关系以可视化的图结构形式展示作为字段级知识图谱。
本步骤中,使用外键关系、表内函数依赖关系和表间关系将字段连接在一起,存储于预置于存储装置的图数据库中,以可视化的图结构形式展示作为字段级知识图谱。字段级知识图谱概览如图4所示。字段级知识图谱中共包含1种节点和7种边。其中,圆形的节点代表一个字段,其中每个节点存储有代表该字段的信息,包含表名、字段英文名、业务***编号、字段编号、中文名称、分析的数据类型、字段分析长度、字段是否可空,是否为主键、是否为自增字段,是否为默认值,字段类型判断数据比例,字段是否包含中文,中文数据比例、是否为码值字段、字段行数、字段去重后行数、字段的最大长度、字段的最小长度、字段的平均长度、字段长度的方差、长度中位数、字段值中非NULL行数等信息。上述信息中,除表名、字段英文名必选,其余信息为优选,实际应用中可能根据实际需求添加或减少信息。由于图4画面有限,所展示的仅是字段级知识图谱的局部,无法全部展示上述7种边,本发明使用局部详细图5和图6进一步展示字段级知识图谱。需要说明书的是,图5和图6与图4一样,也是字段级知识图谱的局部,不是指图4的局部。
7种边分别为:
(1)外键:在图5或图6中体现为一条连接两个节点的一条边,该边上标注的FK表示为外键关系,每条边都为有向边,其中出发的节点为主键,箭头指向的节点为外键,每条边上还存储有分析到的相关信息,主要包含主外键重合率。
(2)联合外键:在图5或图6中体现为一条连接两个节点的一条边,在边上标注的JFK表示为联合外键关系。由于由多个字段关联,故当由几个字段联合便体现为几条边,比如联合主键由3个字段组成,则联合外键生成3条边。每条边都为有向边,其中出发的节点为主键所属的表,箭头指向的节点为外键所属的表,每条边上还存储有分析到的相关信息,主要包含主外键重合率。
(3)表内的函数依赖关系:在图中体现为一条连接两个节点的一条边,在边上标注的FD表示为表内的函数依赖关系。由于表内的函数依赖通常会很复杂,故图5或图6中仅选取函数依赖记录表中FD_LEVEL等于1的关系生成表内函数依赖关系。每条边都为有向边,其中出发的节点为函数依赖记录表中LEFT_COLUMNS中的字段,箭头指向的节点为函数依赖记录表中对应的RIGHT_COLUMN中的字段,表示RIGHT_COLUMN依赖于LEFT_COLUMNS。
(4)表间的单向函数依赖关系:在图5或图6中体现为一条连接两个节点的一条边,在边上标注的EXFD表示为表间的函数依赖关系。表间多种关系记录表中REL_TYPE等于fd的行均会转化为此关系,每条边都为有向边,其中出发的表间多种关系记录表中LEFT_COL_CODE中的字段,箭头指向的节点为表间多种关系记录表对应的RIGHT_COL_CODE中的字段,表示RIGHT_COL_CODE依赖于LEFT_COL_CODE。
(5)表间的双向函数依赖关系:在图5或图6中体现为一条连接两个节点的一条边,在边上标注的EXBFD表示为表间的函数依赖关系。表间多种关系记录表中REL_TYPE等于bfd的行均会转化为此关系,每条边都为无向边(图中画为有向边是受存储装置中图数据库限制,实际进行计算中会按无向边处理),其中出发的表间多种关系记录表中LEFT_COL_CODE中的字段,箭头指向的节点为表间多种关系记录表对应的RIGHT_COL_CODE中的字段,表示RIGHT_COL_CODE和LEFT_COL_CODE互相依赖。
(6)表间数据相等关系:在图5或图6中体现为一条连接两个节点的一条边,在边上标注的EQUALS表示为表间数据相等关系。表间多种关系记录表中REL_TYPE等于equals的行均会转化为此关系,每条边都为无向边(图中画为有向边是受存储装置中图数据库限制,实际进行计算中会按无向边处理),其中出发的表间多种关系记录表中LEFT_COL_CODE中的字段,箭头指向的节点为表间多种关系记录表对应的RIGHT_COL_CODE中的字段,表示RIGHT_COL_CODE和LEFT_COL_CODE数据相等。
(7)表间数据去空相等关系:在图5或图6中体现为一条连接两个节点的一条边,在边上标注的SAME表示为表间数据去空相等关系。表间多种关系记录表中REL_TYPE等于same的行均会转化为此关系,每条边都为无向边(图中画为有向边是受存储装置中图数据库限制,实际进行计算中会按无向边处理),其中出发的表间多种关系记录表中LEFT_COL_CODE中的字段,箭头指向的节点为表间多种关系记录表对应的RIGHT_COL_CODE中的字段,表示RIGHT_COL_CODE和LEFT_COL_CODE数据去空相等。
当然,在本发明中,并非前述所有的字段级知识图谱中的表间关系都需要用到。
S400,获取步骤100中的表清单中表的所有主数据字段。
通过字段级知识图谱找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务***时,将该两个字段作为主数据字段。如前所述,所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;外键关系、数据相等或数据去空相等的关系在所述字段级知识图谱体现为对应的一条边。将找到的字段均记为主数据字段并记录在预置在存储装置中的主数据信息表信息表中。
主数据字段信息表的其中一部分示例如表3所示。
表3主数据字段信息表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
表3中各项目的含义如下:
SYS_CODE为业务***编号,
TABLE_CODE为表在数据仓库中的英文名。
COL_CODE为字段名称,
MASTER_ID为主数据分组,当分组编号一致时说明数据在同一分组内,发生数据共享;
ORDER为分组内排序序号,其排序顺序由字段维值(即去重后行数)进行降序排序决定,分组内排序序号越小说明该字段更为重要。
S500,通过字段级知识图谱获取字段清单里所有字段的特征。
字段特征一般包括:
1)COL_RECORDS字段行数
2)COL_NOTNULL字段值中非NULL行数
3)COL_DISTINCT字段去重后行数
4)COL_TYPE分析判断类型(字段数据类型)
5)COL_TYPE_JUDGE_RATE字段类型判断数据比例
6)COL_DEFULT字段是否为默认值
7)CODE_VALUE_FLG字段是否为码值字段
8)FILL_RATE填充率
其中,特征1)-8)为直接根据字段级知识图谱获取的字段特征,填充率FILL_RATE通过依据公式COL_NOTNULL/COL_RECORDS*100%计算获得。将前述特征记录在预置在存储装置中的字段特征信息表中COLUMNS_FEATURE_INFO。
表4字段特征信息表COLUMNS_FEATURE_INFO
当然,在本发明中,并非前述所有的字段特征都需要用到。
S600,通过表级知识图谱确定各表是否为获取孤岛表。
如前所述,表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点与其他任何节点不存在边时,说明该节点代表的表与其他表不存在外键关系,该节点代表的表为孤岛表。在表清单表TABLES_LIST中对是否为孤岛表进行标注。
标注后的表1表清单表TABLES_LIST(部分示例)
SYS_CODE TABLE_CODE COMMENT IS_ISOLATION
S03 ods.ods_s03_acc_accp 银承台帐 N
S03 ods.ods_s03_ctr_loan_cont 合同主表 N
S03 ods.ods_s03_prd_bank_info 银行信息 N
S55 ods.ods_s55_bt_discount_batch 贴现买入批次 N
S58 ods.ods_s58_m_ci_customer 客户基本信息表 N
S58 ods.ods_s58_m_ci_person 个人客户信息主表 N
S57 ods.ods_s57_tb_fss_transbook 转账信息流水表 N
表中,IS_ISOLATION为是否孤岛表,其中Y表示是,N表示否。
S700,根据前述各步骤结果,按照以下组装规则形成标准层。
根据表1的IS_ISOLATION内容,选择为N的表(表示选择非孤岛表)加入标准层,即将非孤岛表作为表模型进放入标准层。
然后根据表3和表4为标准层推荐字段,
当某一字段为主数据字段时,显示装置中该字段的建议信息为保留字段,即该字段加入标准层;
当字段为非主数据时候,填充率大于2%且为非默认值,建议保留字段,即该字段加入标准层,否则不建议加入标准层;
当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。
最后形成的标准层模型如表5所示
表5 ods.ods_s03_ctr_loan_cont在显示装置中的信息
显示装置中COL_CODE为字段英文名称,SORCE_COL_TYPE为字段原始数据类型,COL_TYPE为字段分析判断类型,ANALY_INFO为组装的字段分析结果。
上述实施例中各表的结构仅为示例,在实际运行中,其个列数据项并非必然仅有上述实施例各表所示的各项,有可能还具有其他项目数据。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
应当理解,为了精简本发明并帮助本领域的技术人员理解本发明的各个方面,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时在单个实施例中进行描述,或者参照单个图进行描述。但是,不应将本发明解释成示例性实施例中包括的特征均为本专利权利要求的必要技术特征。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
应当理解,可以对本发明的一个实施例的***中包括的装置、模块、单元、组件等进行自适应性地改变以把它们设置在与该实施例不同的设备或***中。可以把实施例的***包括的不同装置、模块、单元或组件组合成一个装置、模块、单元或组件,也可以把它们分成多个子装置、子模块、子单元或子组件。
本发明的实施例中的装置、模块、单元或组件可以以硬件方式实现,也可以以一个或者多个处理器上运行的软件方式实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的计算机程序产品或计算机可读介质上。

Claims (6)

1.一种构建数据仓库标准层的方法,其特征在于,标准层包括表模型和字段模型;
对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;
对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于阈值且为非默认值时,将该字段放入标准层;
当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则;
通过表级知识图谱确定数据库中各表是否为孤岛表;
所述表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;
通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点于其他任何节点不存在边时,该节点代表的表为孤岛表;
通过字段级知识图谱确定数据库中各表的字段是否为主数据字段;
所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等或数据去空相等;
在确定主数据字段时,通过字段级知识图谱找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务***时,将该两个字段作为主数据字段。
2.如权利要求1所述的构建数据仓库标准层的方法,其特征在于,获取所述表级知识图谱的方法为:
获取数据库中各表所来自的业务***、表名,以及各表中的字段名;
针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;
针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系;
将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。
3.如权利要求1所述的构建数据仓库标准层的方法,其特征在于,获取字段级知识图谱中所述表间关系的方法为:
通过表内函数依赖关系,确定外键所属的表A,找到外键字段以及该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表B;
通过外键关系,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D;
对临时表D中各字段在表A和表C的值进行对比,以形成如下表间关系:
数据相等,即表A和表C之间字段在临时表D中两列数据完全相等;
数据去空相等,即表A和表C之间字段在临时表D中两列数据去除空值后相等。
4.一种构建数据仓库标准层的***,其特征在于,包括:
处理器;数据库;以及存储器,其中存储有程序,数据库存储各表,
其中在所述处理器执行所述程序时,进行以下操作:
对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;
对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于阈值且为非默认值时,将该字段放入标准层;
当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则;
通过表级知识图谱确定数据库中各表是否为孤岛表;
所述表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;
通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点于其他任何节点不存在边时,该节点代表的表为孤岛表;
通过字段级知识图谱确定数据库中各表的字段是否为主数据字段;
所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等或数据去空相等;
在确定主数据字段时,通过字段级知识图谱找出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务***时,将该两个字段作为主数据字段。
5.如权利要求4所述的构建数据仓库标准层的***,其特征在于,获取所述表级知识图谱的方法为:
获取数据库中各表所来自的业务***、表名,以及各表中的字段名;
针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;
针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻找并确定与之对应的外键,在主键和外键之间形成外键关系;
将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。
6.如权利要求4所述的构建数据仓库标准层的***,其特征在于,获取字段级知识图谱中所述表间关系的方法为:
通过表内函数依赖关系,确定外键所属的表A,找到外键字段以及该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表B;
通过外键关系,将主键所在表C作为左表,以临时表B作为右表,进行内连接形成一张新的临时表D;
对临时表D中各字段在表A和表C的值进行对比,以形成如下表间关系:
数据相等,即表A和表C之间字段在临时表D中两列数据完全相等;
数据去空相等,即表A和表C之间字段在临时表D中两列数据去除空值后相等。
CN202210749186.5A 2022-06-29 2022-06-29 一种构建数据仓库标准层的方法和*** Active CN115510021B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210749186.5A CN115510021B (zh) 2022-06-29 2022-06-29 一种构建数据仓库标准层的方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210749186.5A CN115510021B (zh) 2022-06-29 2022-06-29 一种构建数据仓库标准层的方法和***

Publications (2)

Publication Number Publication Date
CN115510021A CN115510021A (zh) 2022-12-23
CN115510021B true CN115510021B (zh) 2023-12-22

Family

ID=84502896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210749186.5A Active CN115510021B (zh) 2022-06-29 2022-06-29 一种构建数据仓库标准层的方法和***

Country Status (1)

Country Link
CN (1) CN115510021B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069033A (zh) * 2015-07-22 2015-11-18 北京京东尚科信息技术有限公司 一种创建数据库表模型的方法及装置
CN112000643A (zh) * 2020-08-07 2020-11-27 杭州数梦工场科技有限公司 数据模型的加工方法及装置
CN112818048A (zh) * 2021-01-28 2021-05-18 北京软通智慧城市科技有限公司 数据仓库的分层构建方法、装置、电子设备及存储介质
CN114091426A (zh) * 2020-10-19 2022-02-25 北京沃东天骏信息技术有限公司 一种处理数据仓库中字段数据的方法和装置
CN114357088A (zh) * 2021-12-14 2022-04-15 中核武汉核电运行技术股份有限公司 核电工业数据仓库***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200201834A1 (en) * 2018-12-21 2020-06-25 Fast River Technologies Inc. Systems and methods of efficient extensions of relational tables in a database

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105069033A (zh) * 2015-07-22 2015-11-18 北京京东尚科信息技术有限公司 一种创建数据库表模型的方法及装置
CN112000643A (zh) * 2020-08-07 2020-11-27 杭州数梦工场科技有限公司 数据模型的加工方法及装置
CN114091426A (zh) * 2020-10-19 2022-02-25 北京沃东天骏信息技术有限公司 一种处理数据仓库中字段数据的方法和装置
CN112818048A (zh) * 2021-01-28 2021-05-18 北京软通智慧城市科技有限公司 数据仓库的分层构建方法、装置、电子设备及存储介质
CN114357088A (zh) * 2021-12-14 2022-04-15 中核武汉核电运行技术股份有限公司 核电工业数据仓库***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
数据转换平台的设计与实现;纪元;李飞;王玮;;福建电脑(06);全文 *

Also Published As

Publication number Publication date
CN115510021A (zh) 2022-12-23

Similar Documents

Publication Publication Date Title
US8341131B2 (en) Systems and methods for master data management using record and field based rules
Lenz et al. Summarizability in OLAP and statistical data bases
US9015171B2 (en) Method and system for linking and delinking data records
US7720846B1 (en) System and method of using ghost identifiers in a database
US8122045B2 (en) Method for mapping a data source to a data target
US7912842B1 (en) Method and system for processing and linking data records
US7403942B1 (en) Method and system for processing data records
US10740396B2 (en) Representing enterprise data in a knowledge graph
US20080312992A1 (en) Automatic business process creation method using past business process resources and existing business process
US20140351241A1 (en) Identifying and invoking applications based on data in a knowledge graph
CN109446253B (zh) 数据查询控制方法、装置、计算机设备及存储介质
CN111506559A (zh) 数据存储方法、装置、电子设备及存储介质
US11921737B2 (en) ETL workflow recommendation device, ETL workflow recommendation method and ETL workflow recommendation system
CN115292508B (zh) 一种基于表数据的知识图谱构建方法和***
CN106095738A (zh) 推荐表单片段
US8463763B2 (en) Method and tool for searching in several data sources for a selected community of users
US10628421B2 (en) Managing a single database management system
CN115328883A (zh) 一种数据仓库建模方法和***
CN111369294A (zh) 软件造价估算方法及装置
US20050210040A1 (en) Document organization and formatting for display
CN113792084A (zh) 数据热度的分析方法、装置、设备及存储介质
KR101823463B1 (ko) 연구자 검색 서비스 제공 장치 및 그 방법
CN113761185A (zh) 主键提取方法、设备及存储介质
CN115510021B (zh) 一种构建数据仓库标准层的方法和***
CN116501733A (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