一种构建数据仓库标准层的方法和系统与流程

1.本发明属于商业智能

技术领域


:,具体涉及一种构建数据仓库标准层的方法和系统。

背景技术


::2.在数据仓库、数据治理、数据湖等数据系统构建中,在数据入仓之前,都需要对数据进行标准化加工处理。在传统的技术方案中,数据标准化操作都是采用对数据库的pdm文件、表备注、字段备注、字段内容人工查看等方式来判定每张表每个字段是否需要进行标准化,如何标准化。传统技术对人工的依赖性比较重,如果出现字段、表、字段码值命名不规范、命名解释缺失,人员对数据结构、关系不了解,缺少pdm文件或者说明文档,人员对公司组织的业务流程不了解等情况,数据标准化操作将会变得非常困难。尤其在组织内系统繁杂,系统表数据量众多的时候,则需要投入非常多的人工来进行数据的识别、判断,这样仍然存在数据标准化不彻底、标准落地遗漏等问题。技术实现要素:3.本发明提出一种构建数据仓库标准层的方法和系统。4.为了解决现有技术中的技术问题,本发明提出一种构建数据仓库标准层的方法,包括:标准层包括表模型和字段模型;5.对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;6.对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于阈值(例如2%)且为非默认值时,将该字段放入标准层;7.当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型,例如,当原始类型为文本时,发现存储的数据均为(100%)浮点数(即小数)时,推荐转换为更精确的浮点类型;如果为码值字段,则推荐进行配置码值转换的规则。该处描述的码值即枚举值。8.作为一种优选的实施方式,通过表级知识图谱确定数据库中各表是否为孤岛表;所述表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点于其他任何节点不存在边时,该节点代表的表为孤岛表。9.作为一种优选的实施方式,通过字段级知识图谱确定数据库中各表的字段是否为主数据字段;所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等或数据去空相等;在确定主数据字段时,通过字段级知识图谱出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务系统时,将该两个字段作为主数据字段。10.作为一种优选的实施方式,获取所述表级知识图谱的方法为:获取数据库中各表所来自的业务系统、表名,以及各表中的字段名;针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻并确定与之对应的外键,在主键和外键之间形成外键关系;将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。11.作为一种优选的实施方式,获取字段级知识图谱中所述表间关系的方法为:通过表内函数依赖关系,确定外键所属的表a,到该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表b;通过外键关系,将主键所在表c作为左表,以临时表b作为右表,进行内连接形成一张新的临时表d;对临时表d中各字段在表a和表c的值进行对比,以形成如下表间关系:12.数据相等,即表a和表c之间字段在临时表d中两列数据完全相等;13.数据去空相等,即表a和表c之间字段在临时表d中两列数据去除空值后相等。14.本发明还提出一种构建数据仓库标准层的系统,包括:处理器;数据库;以及存储器,其中存储有程序,数据库存储各表,15.其中在所述处理器执行所述程序时,进行以下操作:16.对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于阈值(例如2%)且为非默认值时,将该字段放入标准层;当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。17.本发明与现有技术相比,其显著优点在于:18.(1)本发明从上游多个业务系统中导出所有的数据文件,将数据文件加载到大数据平台中,利用大数据平台的海量存储和计算能力,对所有业务系统的全部表数据进行计算分析,得到每张表与其他表的主外键关系和函数依赖关系,根据所述关系进行每张表、每个字段标准化处理的方法;19.(2)本发在数据仓库或者数据湖系统构建过程中,无需依赖任何的人工识别、判断、人为熟悉了解数据表、关系、字段内容、字段码值,也无需投入高成本的人力资源,便可以直接对需要进入数据仓库、数据湖中的全部的表、字段进行标准化处理,提升了标准化的处理效率,提高了数据标准化的程度,从而保证进入数据仓库或者数据湖中的数据都是统一标准。20.本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明21.图1是本发明一个实施例的流程示意图。22.图2是图1中步骤300的具体流程示意图。23.图3是字段级知识图谱简易示意图。24.图4是字段级知识图谱概览示意图。25.图5是字段级知识图谱部分详细示意图。26.图6是字段级知识图谱另一部分详细示意图。具体实施方式27.容易理解,依据本发明的技术方案,在不变更本发明的实质精神的情况下,本领域的一般技术人员可以想象出本发明的多种实施方式。因此,以下具体实施方式和附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限制或限定。相反,提供这些实施例的目的是为了使本领域的技术人员更透彻地理解本发明。下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的创新构思。28.本发明所述构建数据仓库标准层的方法和系统仅需要通过数据分析得到关键特征信息,就可完成对数据仓库标准层构建。29.本发明所述构建数据仓库标准层的方法,其标准层包括表模型和字段模型;30.对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;31.对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于2%且为非默认值时,将该字段放入标准层;32.当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。33.本发明中,作为以一种优选的方式,通过表级知识图谱确定数据库中各表是否为孤岛表;所述表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点于其他任何节点不存在边时,该节点代表的表为孤岛表。获取所述表级知识图谱的方法为:获取数据库中各表所来自的业务系统、表名,以及各表中的字段名;针对各表,根据表中字段的值,分析各字段的特征;以及针对各表,根据表名、字段名以及字段的值,计算获得表内各字段之间的表内函数依赖关系;针对各表,根据表内函数依赖关系识别出各表的主键,并根据所述主键的特征在其他表中寻并确定与之对应的外键,在主键和外键之间形成外键关系;将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。34.本发明中,作为以一种优选的方式,通过字段级知识图谱确定数据库中各表的字段是否为主数据字段;所述字段级知识图谱是指将各表的字段、表间关系以可视化的图结构形式展示的知识图谱;所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;所述表间关系体现为来自不同表的字段之间的关系,至少包括外键关系、数据相等或数据去空相等;在确定主数据字段时,通过字段级知识图谱出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务系统时,将该两个字段作为主数据字段。获取字段级知识图谱中所述表间关系的方法为:通过表内函数依赖关系,确定外键所属的表a,到该外键字段的闭包,将闭包内字段去重后形成一张以该外键的字段为主键的临时表b;通过外键关系,将主键所在表c作为左表,以临时表b作为右表,进行内连接形成一张新的临时表d;对临时表d中各字段在表a和表c的值进行对比,以形成如下表间关系:35.数据相等,即表a和表c之间字段在临时表d中两列数据完全相等;36.数据去空相等,即表a和表c之间字段在临时表d中两列数据去除空值后相等。37.本发明另一方面还提出一种构建数据仓库标准层的系统,包括:处理器;数据库;以及存储器,其中存储有程序,数据库存储各表,其中在所述处理器执行所述程序时,进行以下操作:对于数据库中各表,确定其是否为孤岛表,将非孤岛表作为表模型进放入标准层;所述孤岛表是指该表与其他表不存在外键关系;对于数据库中各表的字段,确定其是否为主数据字段;当该字段为主数据字段时,该字段放入标准层;当该字段不是主数据字段时,如果其字段特征中的填充率大于2%且为非默认值时,将该字段放入标准层;当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。38.下面将结合一个具体的实施例来详细地说明书本法发明所述构建数据仓库标准层的方法和系统。在实际操作中,为了便于保存各步骤获得计算结果,会在计算系统中建立一系列表格以存储各步骤的结果数据。当然,在实际操作中也可以使用文本文档等多种工具来保存各步骤的计算结果。作为一个实施例,构建数据仓库标准层过程中可以使用以下系列的数据表格来存储各步骤的计算结果:39.表1表清单表tables_list;40.表2字段清单表columns_list;41.表3主数据字段信息表master_data_info;42.表4字段特征信息表columns_feature_info;43.表5标准层模型表。44.上述构建的表格模板可以预先放置在系统的存储装置中。如图1所示,本实施例所示的构建数据仓库标准层的方法包括以下步骤:45.s100,获取用于构建数据仓库的各数据表的表名,将表名存储到表清单表tables_list。46.由表数据读取装置从数据库读取全部表的清单,将各表的表名存入到预置在存储装置的表清单表模板中,形成如表1所述的全数据库表清单表tables_list。如果各表来自不同的业务系统,还包括获取各表的业务系统编号。47.表1展示了从数据库读取的全部表的清单。48.表1表清单表tables_list(部分示例)49.sys_codetable_codecomments03ods.ods_s03_acc_accp银承台帐s03ods.ods_s03_ctr_loan_cont合同主表s03ods.ods_s03_prd_bank_info银行信息s55ods.ods_s55_bt_discount_batch贴现买入批次s58ods.ods_s58_m_ci_customer客户基本信息表s58ods.ods_s58_m_ci_person个人客户信息主表s57ods.ods_s57_tb_fss_transbook转账信息流水表50.表1中各项目的含义如下:51.sys_code为业务系统编号,业务系统为某一单位使用的各个工作系统,例如某银行同时有贷款系统、代发工资系统等,这些业务系统中的数据以表形式存储在数据仓库中。52.table_code为表在数据仓库中的英文名。53ment为各表的中文名称。comment一列所示的中文名称仅是为了更加方便的举例说明,在实际实施过程中,不一定需要包含中文名称这一列数据信息。54.s200,获得每个表的字段,并存储至字段清单表columns_list。55.表数据读取装置从数据仓库存储的数据表中获取各表中的字段信息,并存储到预置在存储装置的字段清单表表模板中,形成字段清单表columns_list。字段清单表的其中一部分如表2所示。56.表2字段清单表columns_list(部分实例)57.sys_codetable_codecol_numcol_codecomments58ods.ods_s58_m_ci_person1cust_no客户号s58ods.ods_s59_m_ci_person2cust_name客户名称s58ods.ods_s60_m_ci_person3cust_eng_name客户英文名称s58ods.ods_s61_m_ci_person4py_name拼音名称58.表2中各项目的含义如下:59.sys_code为业务系统编号,60.table_code为表在数据仓库中的英文名。61.col_num为字段编号,62.col_code为字段名称,63ment为各字段的中文名称。comment一列所示的中文名称仅是为了更加方便的举例说明,在实际实施过程中,不一定需要包含中文名称这一列数据信息。64.s300,获取表级知识图谱和字段级知识图谱。65.图2所示,本步骤具体包括以下步骤:66.s301,针对各表,根据表中字段的值,分析各字段的特征。67.所述特征包括定性特征和定量特征;所述定性特征可以包括字段的数据类型,所述定量特征可以包括字段的长度。68.本实施例中,所述字段的定性特征是指根据各字段的值(及字段中的数据)做以下定性分析:69.col_type为字段的数据类型。例如,字符串、不同的存储长度、文本、数值、日期、时间等。70.col_nullable为字段是否可空,属于字段的定性特征,为优选项,在一些实施例中,可以不将字段是否可空作为字段的定性特征。71.col_pk为字段是否为主键,属于字段的定性特征。当然,本步骤暂时无法获得改特征,需待后续步骤获得外键后再在表4字段基础元信息和定性特征记录表中记录该项特征。72.col_autoincre为是否为自增字段,属于字段的定性特征,为优选项,在一些实施例中,可以不将是否为自增字段作为字段的定性特征。73.col_defult表示是否为默认值字段,属于字段的定性特征,为优选项,在一些实施例中,可以不将其作为字段的定性特征。74.code_value_flg为是否为码值字段,属于字段的定性特征,为优选项,在一些实施例中,可以不将其作为字段的定性特征。75.本实施例中,定量特征包括:76.col_records为字段行数,属于指标特征。77.col_distinct为字段去重后行数,属于指标特征。78.col_notnull_为字段值中非null行数,属于指标特征。为优选项,在一些实施例中,可以不将其作为字段的指标特征。79.当然,在本发明中,并非前所所有的定性特征和定量特征均需要用到。80.s302,针对各表,根据表名、字段名以及字段的值,计算获得同一表内各字段之间的函数依赖关系,本发明称之为表内函数依赖关系。81.现有技术中有多种方法可以计算获得函数依赖关系,本实施例不在具体展开。为了便于理解仅简要说明,函数依赖包括用于函数依赖推导的字段和函数依赖推导结果字段。例如,表prd_bank_info用于函数依赖推导的字段为银行代码bank_no,函数依赖推导结果字段为bank_name银行名称。由此,表内函数依赖关系可以理解为:由银行代码bank_no可以推出银行名称bank_name,或者可以说银行名称bank_name依赖于银行代码bank_no。82.s303,针对各表,根据表内函数依赖关系识别出各表的主键。83.现有技术中有多种方法可以计算获得表的主键,本实施例不在具体展开。本发明优选候选码集合的方法寻主键,主键可能为一个或多个候选码。84.s304,根据所述主键的特征在其他表中寻并确定与之对应的外键,在主键和外键之间形成外键关系。85.现有技术中有多种方法可以获得外键关系,本实施例不在具体展开。86.本发明优选一下方式获得外键关系:87.将其他表中与主键数据类型和字段长度相匹配的字段作为外键,所述与主键数据类型和字段长度相匹配的字段是指,该字段的数据类型与主键数据类型相同,该字段的最小长度大于或等于主键的最小长度、最大长度小于或等于主键的最大长度。88.进一步,可以对上述与主键数据类型和字段长度相匹配的字段做进一步筛选,例如:89.依次遍历主键,对每个主键的值通过hash方法生成对应的布隆过滤器;90.将所述与主键数据类型和字段长度相匹配的字段的值与对应该主键的布隆过滤器进行比较,当数据重合率大于预先设定的阈值时,将该字段作为最终确定的外键。91.s305,将各表以及各表之间的外键关系以可视化的图结构形式展示作为表级知识图谱。92.在获得外键关系后,将数据库中的表以及表之间的外键关系以图结构形式存储于预置于存储装置的图数据库中,并形成可视化、可便于查询的表级知识图谱。93.表级知识图谱如图3所示。表级知识图谱包含1种节点和1种边,其中圆形的节点代表一张表,每个节点存储有代表该表的信息,包括该表的基础元信息和相关特征信息,例如表的英文名、字段个数、表注释(中文名)、表行数等信息。各项信息中,除表英文名外,其他信息均可以作为优选添加信息,节点中可以存储,也可以不存储这些信息。表级知识图谱中仅包含外键一种关系,在图3中体现为一条连接两个节点的用箭头表示的边,该边上标注的fk表示外键关系,每条边都为有向边,其中出发的节点为主键所属的表,箭头指向的节点为外键所属的表。每条边上还存储有外键关系信息,例如主键字段的英文名、外键字段的英文名及主外键重合率等。优选地,由于外键可能为联合外键,主键和外键在边上字段存储采用列表进行保存,相同下标的字段存在关联,完整的保存了联合外键的字段映射关系。94.s306,计算表间关系。95.本发明中表间关系具体体现为来自不同表的字段之间的关系,包括不同表中各字段之间的函数依赖关系、数据相等关系以及数据去空相等关系。本发明将不同表中各字段之间的函数依赖关系称为表间函数依赖关系。表间函数依赖关系又包括单向依赖和双向依赖。因此,本发明中,表间关系包括四种关系,分别为:96.单向依赖;97.双向依赖;98.数据相等;99.数据去空相等关系。100.以上表间关系作为外键和外键关系的补充,极大丰富了跨表间关系,用于实现更多功能。101.上述四种表间关系的计算方法为:对于外键关系中的主键和外键,102.首先,通过表内函数依赖关系选取外键所属的表a,到外键字段(包括联合外键)以及该外键字段的闭包,在当前闭包内,由于可以通过该外键推出包内所有其余字段,故将闭包内字段去重后形成一张以外键字段为主键的临时表b;103.其次,将主键所在表c作为左表,以临时表b作为右表,进行内连接形成一张新的临时表d,临时表d中的字段实际来源于表a和表c;104.在次,对于临时表d中,计算临时表d内各自段的表内函数依赖关系,临时表d的表内函数依赖关系使之为表a与表c的表间函数依赖关系;105.最后,通过对外键所属表a和主键所属表c中各字段值进行数据对比,获得以下表间关系:106.(1)单向依赖:表a和表c之间字段在临时表d中存在单向依赖关系,关系类型记为fd;本实施例仅存储单个字段间的依赖关系107.(2)双向依赖:表a和表c之间字段在临时表d存在双向依赖关系,即两字段存在数据一一对应的结果,关系类型记为bfd;本实施例仅存储单个字段间的依赖关系108.(3)数据相等:表a和表c之间字段在临时表d两列数据完全相等,可认为数据存在较强的关联或冗余关系,关系类型记为equals;109.(4)数据去空相等:表a和表c之间字段在临时表d两列数据去除空值后相等,可认right_col_code和left_col_code互相依赖。118.(6)表间数据相等关系:在图5或图6中体现为一条连接两个节点的一条边,在边上标注的equals表示为表间数据相等关系。表间多种关系记录表中rel_type等于equals的行均会转化为此关系,每条边都为无向边(图中画为有向边是受存储装置中图数据库限制,实际进行计算中会按无向边处理),其中出发的表间多种关系记录表中left_col_code中的字段,箭头指向的节点为表间多种关系记录表对应的right_col_code中的字段,表示right_col_code和left_col_code数据相等。119.(7)表间数据去空相等关系:在图5或图6中体现为一条连接两个节点的一条边,在边上标注的same表示为表间数据去空相等关系。表间多种关系记录表中rel_type等于same的行均会转化为此关系,每条边都为无向边(图中画为有向边是受存储装置中图数据库限制,实际进行计算中会按无向边处理),其中出发的表间多种关系记录表中left_col_code中的字段,箭头指向的节点为表间多种关系记录表对应的right_col_code中的字段,表示right_col_code和left_col_code数据去空相等。120.当然,在本发明中,并非前述所有的字段级知识图谱中的表间关系都需要用到。121.s400,获取步骤100中的表清单中表的所有主数据字段。122.通过字段级知识图谱出表间关系为外键关系、数据相等或数据去空相等的两个字段,且所述两个字段的原始数据来源于不同的业务系统时,将该两个字段作为主数据字段。如前所述,所述字段级知识图谱包括节点和边,每一个节点代表一个字段,每一条边代表一种字段间关系;外键关系、数据相等或数据去空相等的关系在所述字段级知识图谱体现为对应的一条边。将到的字段均记为主数据字段并记录在预置在存储装置中的主数据信息表信息表中。123.主数据字段信息表的其中一部分示例如表3所示。124.表3主数据字段信息表master_data_info(部分示例)125.sys_codetable_codecol_codemaster_idorders58ods.ods_s58_m_ci_orgregi_regis_date18211s53ods.ods_s53_vai_cus_com_xdreg_start_date18212s03ods.ods_s03_cus_comreg_start_date18213s28ods.ods_s28_cus_comreg_start_date18214s53ods.ods_s53_vai_cus_com_xdfina_per_tel18251s03ods.ods_s03_cus_comfina_per_tel18252s28ods.ods_s28_cus_comfina_per_tel18253126.表3中各项目的含义如下:127.sys_code为业务系统编号,128.table_code为表在数据仓库中的英文名。129.col_code为字段名称,130.master_id为主数据分组,当分组编号一致时说明数据在同一分组内,发生数据共享;131.order为分组内排序序号,其排序顺序由字段维值(即去重后行数)进行降序排序决定,分组内排序序号越小说明该字段更为重要。132.s500,通过字段级知识图谱获取字段清单里所有字段的特征。133.字段特征一般包括:134.1)col_records字段行数135.2)col_notnull字段值中非null行数136.3)col_distinct字段去重后行数137.4)col_type分析判断类型(字段数据类型)138.5)col_type_judge_rate字段类型判断数据比例139.6)col_defult字段是否为默认值140.7)code_value_flg字段是否为码值字段141.8)fill_rate填充率142.其中,特征1)-8)为直接根据字段级知识图谱获取的字段特征,填充率fill_rate通过依据公式col_notnull/col_records*100%计算获得。将前述特征记录在预置在存储装置中的字段特征信息表中columns_feature_info。143.表4字段特征信息表columns_feature_info[0144][0145]当然,在本发明中,并非前述所有的字段特征都需要用到。[0146]s600,通过表级知识图谱确定各表是否为获取孤岛表。[0147]如前所述,表级知识图谱是指将各表以及各表之间的外键关系以可视化的图结构展示的知识图谱;所述表级知识图谱包括节点和边,每一个节点代表一张表,每一条边代表一种外键关系;通过表级知识图谱中各节点之间是否存在边来确定对应的表是否存在外键关系,当某一节点与其他任何节点不存在边时,说明该节点代表的表与其他表不存在外键关系,该节点代表的表为孤岛表。在表清单表tables_list中对是否为孤岛表进行标注。[0148]标注后的表1表清单表tables_list(部分示例)[0149][0150][0151]表中,is_isolation为是否孤岛表,其中y表示是,n表示否。[0152]s700,根据前述各步骤结果,按照以下组装规则形成标准层。[0153]根据表1的is_isolation内容,选择为n的表(表示选择非孤岛表)加入标准层,即将非孤岛表作为表模型进放入标准层。[0154]然后根据表3和表4为标准层推荐字段,[0155]当某一字段为主数据字段时,显示装置中该字段的建议信息为保留字段,即该字段加入标准层;[0156]当字段为非主数据时候,填充率大于2%且为非默认值,建议保留字段,即该字段加入标准层,否则不建议加入标准层;[0157]当分析数据类型与原始类型不一致时,字段类型判断数据比例为100%时推荐转换类型;如果为码值字段,则推荐进行配置码值转换的规则。[0158]最后形成的标准层模型如表5所示[0159]表5ods.ods_s03_ctr_loan_cont在显示装置中的信息[0160][0161]显示装置中col_code为字段英文名称,sorce_col_type为字段原始数据类型,col_type为字段分析判断类型,analy_info为组装的字段分析结果。[0162]上述实施例中各表的结构仅为示例,在实际运行中,其个列数据项并非必然仅有上述实施例各表所示的各项,有可能还具有其他项目数据。[0163]以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,[0164]任何熟悉本

技术领域


:的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。[0165]应当理解,为了精简本发明并帮助本领域的技术人员理解本发明的各个方面,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时在单个实施例中进行描述,或者参照单个图进行描述。但是,不应将本发明解释成示例性实施例中包括的特征均为本专利权利要求的必要技术特征。[0166]本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。[0167]应当理解,可以对本发明的一个实施例的系统中包括的装置、模块、单元、组件等进行自适应性地改变以把它们设置在与该实施例不同的设备或系统中。可以把实施例的系统包括的不同装置、模块、单元或组件组合成一个装置、模块、单元或组件,也可以把它们分成多个子装置、子模块、子单元或子组件。[0168]本发明的实施例中的装置、模块、单元或组件可以以硬件方式实现,也可以以一个或者多个处理器上运行的软件方式实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的计算机程序产品或计算机可读介质上。当前第1页12当前第1页12

技术特征:


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

技术总结


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


技术研发人员:

杨立才 邵宏力 胡超 刘磊 李云 邓知知

受保护的技术使用者:

江苏昆山农村商业银行股份有限公司

技术研发日:

2022.06.29

技术公布日:

2022/12/22

本文发布于:2024-09-22 01:56:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/45699.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字段   关系   数据   图谱
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议