CN104866576B - 一种Data Vault模型数据仓库自动构建的方法及装置 - Google Patents

一种Data Vault模型数据仓库自动构建的方法及装置 Download PDF

Info

Publication number
CN104866576B
CN104866576B CN201510272096.1A CN201510272096A CN104866576B CN 104866576 B CN104866576 B CN 104866576B CN 201510272096 A CN201510272096 A CN 201510272096A CN 104866576 B CN104866576 B CN 104866576B
Authority
CN
China
Prior art keywords
center field
center
field
information table
unit
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
CN201510272096.1A
Other languages
English (en)
Other versions
CN104866576A (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.)
Guangdong Fine Point Data Polytron Technologies Inc
Original Assignee
Guangdong Fine Point Data Polytron Technologies Inc
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 Guangdong Fine Point Data Polytron Technologies Inc filed Critical Guangdong Fine Point Data Polytron Technologies Inc
Priority to CN201510272096.1A priority Critical patent/CN104866576B/zh
Publication of CN104866576A publication Critical patent/CN104866576A/zh
Application granted granted Critical
Publication of CN104866576B publication Critical patent/CN104866576B/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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种Data Vault模型数据仓库自动构建的方法及装置,该构建装置包括表查询装置和建表装置,所述表查询装置包括第一初始化单元、搜索单元、判断单元、写入单元、匹配单元和记录单元;所述建表装置包括第一处理单元、第二初始化单元、第二处理单元和建表单元。该构建方法包括表查询步骤和建表步骤。本发明提供的一种Data Vault模型数据仓库自动构建的方法及装置,可以利用对字段名和表与表之间的关联关系探索所需的中心表之间的关系,建立中心表、链接表和附属表之间的逻辑关系,从数据库表中抽取表并构建企业数据仓库,从而节省了企业级数据仓库构建人员构建企业数据仓库时进行逻辑分析的时间。

Description

一种Data Vault模型数据仓库自动构建的方法及装置
技术领域
本发明涉及一种数据仓库的构建领域,具体涉及一种Data Vault模型数据仓库自动构建的方法及装置。
背景技术
Data Vault是一种构建数据仓库的建模方法,无论数据在当时业务层面的对与错,这种建模方法保留所有的历史数据。用这种建模方法构建的数据仓库称为企业级的数据仓库,它包括了从企业各个数据库集成过来的所有的历史数据,它位于业务系统和数据集市之间,也是数据集市的唯一数据来源。Data Vault是面向细节,可追踪历史的,它是一组有连接关系的规范化的表的集合,这些表可以支持一个或多个业务功能。Data Vault只按照业务数据的原样保存数据,不做任何解释、过滤、清洗、转换。Data Vault模型的主要组成部分包括了中心表、链接表和附属表。中心表相当于业务实体表,包含业务实体的主键即业务主键,链接表是链接业务实体的表,其中包含了中心表中的业务主键,用于将中心表链接起来,代表了业务主键的业务关系。中心表和链接表是用于呈现业务实体和业务实体之间逻辑关系的表,其包含的字段只有代理键和时间戳等信息,附属表则是依附于中心表或者链接表,用于完成对业务实体或业务实体之间关系的信息的补充。企业数据仓库构建人员需要在源数据库中寻找业务实体并将业务主键和业务主键之间的关系按照Data Vault的建模规范集合到中心表、链接表和附属表当中。
Data Vault模型所建立的数据仓库与构建普通的数据仓库最大的不同在于构建的过程。原有的数据仓库直接构成数据集市,是面向主题的,需要在这个层面上给业务决策人展现业务报表,于是它的数据仓库构建过程需要按照每一次不同的主题来进行数据抽取、抓换和加载,数据抽取、转换和加载三项过程都会因主题的不同而有所变化。而企业数据仓库是面向历史的,它构建的数据仓库是一种包含了所有历史信息,包括错误的和重复的信息的数据仓库,它可以再经过数据处理来获得各个方面各个层面的报表,它不是直接面向业务决策人员的,而它的内容非常灵活,而且不再依赖于源数据库。
但是现如今的技术人员仍按照构建普通数据仓库的方式构建企业级数据仓库,即目前的构建普通数据仓库的技术包括了先构建逻辑上的中心表、链接表和附属表,再根据逻辑构建的表与表之间的关系,从源数据库中逐个抽取表的内容并建表。无法批量式构建企业数据仓库,费时费力。
鉴于上述缺陷,本发明创作者经过长时间的研究和试验,最终获得了本发明。
发明内容
本发明的目的在于提供一种Data Vault模型数据仓库自动构建的方法及装置,用以克服上述技术缺陷。
为实现上述目的,本发明采用的技术方案在于:
一方面提供一种Data Vault模型数据仓库自动构建装置,该构建装置包括表查询装置和建表装置,
所述表查询装置,用于接收用户输入的中心字段组,所述中心字段组包括多个中心字段,并对所述中心字段组进行处理后,输出总体信息表和中心字段关联信息表;所述总体信息表记录有所述中心字段组中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息,所述中心字段关联信息表记录有所述中心字段组中所有的中心字段相互之间的逻辑关系;
所述建表装置,用于接收所述总体信息表和中心字段关联信息表,通过分析处理所述中心字段关联信息表得到中间表,再根据所述中间表得到中心字段组合信息表后,再根据所述总体信息表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和所述中心表自动创建附属表,完成企业级数据仓库的构建。
进一步,所述表查询装置包括第一初始化单元、搜索单元、判断单元、写入单元、匹配单元和记录单元;
所述第一初始化单元,用于对所述中心字段组进行初始化,并形成初始化中心字段关联信息表;
所述搜索单元,用于在源数据库表中寻找具有被搜索中心字段的表;
所述判断单元,用于判断所述被搜索中心字段在具有所述被搜索中心字段的表中是否为主键,如果是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的主表;如果不是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的附表;
所述写入单元,用于将所述被搜索中心字段和具有所述被搜索中心字段的主表和附表的信息写入所述总体信息表中;
所述匹配单元,用于查询所述被搜索中心字段的附表,将用户输入的中心字段组中其他中心字段与所述被搜索中心字段的附表进行匹配查询,若所述被搜索中心字段的附表中有其他中心字段,则将其他中心字段设为所述被搜索中心字段的主动关联中心字段;
所述记录单元,用于将所述初始化字段关联信息表中的所述被搜索中心字段所对应的主动关联中心字段记录行置为一位二进制数1
进一步,所述建表装置包括第一处理单元、第二初始化单元、第二处理单元和建表单元;
所述第一处理单元,用于读取所述中心字段关联信息表中的中心字段和中心字段相互之间的逻辑关系后,经过分析处理后得到中间表;
所述第二初始化单元,用于对所述中间表中的中心字段进行初始化,并形成初始化中心字段组合信息表;
所述第二处理单元,用于读取所述中间表,经过分析处理后得到中心字段组合信息表;
建表单元,用于根据所述中心字段组的中心字段的主表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和中心表自动创建附属表。
进一步,所述第一处理单元分析处理过程具体为:设所述中心字段关联信息表中的中心字段有n个中心字段,对所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数做与运算,将得到的新的二进制数代替所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数后得到中间表,其中,1≤i,j≤n,元素a(i,j)代表中心字段关联信息表的第i行第j列,元素a(j,i)代表中心字段关联信息表的第j行第i列。
进一步,所述第二处理单元的分析处理过程具体为:
设中间表中的中心字段为Ai,1≤i≤n,根据中间表判断中心字段Ai行对应Aj,其中j>i,列的二进制数是否为1,若是,则将中心字段Ai和Aj归为一组即{Ai,Aj};在所述初始化中心字段组合信息表中插入一行记录,记录中心字段Ai和Aj为1,其他字段为0;
当{Ai}已经为归为一组中心字段组后,其中,{Ai}中的i为1到n之间的若干个数,根据中间表判断中心字段Ak(k=!i)行对应Ai列的二进制数是否全部都为1,若是,则将中心字段Ak(k=!i)和Ai归为一组中心字段组,其中k=!i代表k≠i;在所述初始化中心字段组合信息表中插入一行新记录{Ai,Ak}(k=!i),记录中心字段Ai和Ak(k=!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中心字段组合信息表。
又一方面提供一种Data Vault模型数据仓库自动构建方法,该构建方法包括:
表查询步骤:一表查询装置接收用户输入的中心字段组,所述中心字段组包括多个中心字段,并对所述中心字段组进行处理后,输出总体信息表和中心字段关联信息表。所述总体信息表记录有所述中心字段组中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息,所述中心字段关联信息表记录有所述中心字段组中所有的中心字段相互之间的逻辑关系;
建表步骤:一建表装置接收所述总体信息表和中心字段关联信息表,通过分析处理所述中心字段关联信息表得到中间表,再根据所述中间表得到中心字段组合信息表后,再根据所述总体信息表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和所述中心表自动创建附属表,完成企业级数据仓库的构建。
进一步,所述表查询步骤包括:
初始化步骤:一第一初始化单元对所述中心字段组进行初始化,并形成初始化中心字段关联信息表;
搜索步骤:一搜索单元在源数据库表中寻找具有被搜索中心字段的表;
判断步骤:一判断单元判断所述被搜索中心字段在具有所述被搜索中心字段的表中是否为主键,如果是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的主表;如果不是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的附表;
写入步骤:一写入单元将所述被搜索中心字段和具有所述被搜索中心字段的主表和附表的信息写入所述总体信息表中;
匹配步骤:一匹配单元查询所述被搜索中心字段的附表,将用户输入的中心字段组中其他中心字段与所述被搜索中心字段的附表进行匹配查询,若所述被搜索中心字段的附表中有其他中心字段,则将其他中心字段设为所述被搜索中心字段的主动关联中心字段;
记录步骤:一记录单元将所述初始化字段关联信息表中的所述被搜索中心字段所对应的主动关联中心字段记录行置为一位二进制数1;
重复上述步骤,所述表查询装置将用户输入的中心字段组中的所有中心字段进行上述操作后,表查询装置最后输出总体信息表和中心字段关联信息表。
进一步,所述建表步骤包括:
获取中间表步骤:一第一处理单元读取所述中心字段关联信息表中的中心字段和中心字段相互之间的逻辑关系后,经过分析处理后得到中间表;
第二初始化步骤:一第二初始化单元对所述中间表中的中心字段进行初始化,并形成初始化中心字段组合信息表;
获取中心字段组合信息表步骤:一第二处理单元读取所述中间表,经过分析处理后得到中心字段组合信息表;
获取中心表、链接表和附属表步骤:一建表单元根据用户输入的中心字段组的中心字段的主表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和中心表自动创建附属表,构建完成企业数据仓库。
进一步,所述获取中间表步骤中第一处理单元分析处理的具体过程为:设所述中心字段关联信息表中的中心字段有n个中心字段,对所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数做与运算,将得到的新的二进制数代替所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数后得到中间表,其中,1≤i,j≤n,元素a(i,j)代表中心字段关联信息表的第i行第j列,元素a(j,i)代表中心字段关联信息表的第j行第i列。
进一步,所述获取中心字段组合信息表步骤中第二处理单元分析处理的具体过程为:设中间表中的中心字段为Ai,1≤i≤n,根据中间表判断中心字段Ai行对应Aj,其中j>i,列的二进制数是否为1,若是,则将中心字段Ai和Aj归为一组即{Ai,Aj};在所述初始化中心字段组合信息表中插入一行记录,记录中心字段Ai和Aj为1,其他字段为0;
当{Ai}已经为归为一组中心字段组后,其中,{Ai}中的i为1到n之间的若干个数,根据中间表判断中心字段Ak(k=!i)行对应Ai列的二进制数是否全部都为1,若是,则将中心字段Ak(k=!i)和Ai归为一组中心字段组,其中k=!i代表k≠i;在所述初始化中心字段组合信息表中插入一行新记录{Ai,Ak}(k=!i),记录中心字段Ai和Ak(k=!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中心字段组合信息表。
与现有技术比较本发明的有益效果在于:本发明提供的一种DataVault模型数据仓库自动构建的方法及装置,可以利用对字段名和表与表之间的关联关系探索所需的中心表之间的关系,建立中心表、链接表和附属表之间的逻辑关系,从数据库表中抽取表并构建企业数据仓库,从而节省了企业级数据仓库构建人员构建企业数据仓库时进行逻辑分析的时间。用户只需要向该装置输入需要得到的业务主键的字段信息,即可以得到构建好的企业数据仓库,可批量式构建企业数据仓库省时省力。还可以实现对原有数据库表的逻辑的全部体现,构建得到的企业数据仓库能够满足源数据库表所有的逻辑信息包括源数据库表一直以来的历史数据。
附图说明
图1为本发明一种Data Vault模型数据仓库自动构建装置的结构框图;
图2为本发明一种Data Vault模型数据仓库自动构建方法的流程图;
图3为本发明一种Data Vault模型数据仓库自动构建方法中表查询步骤的流程图;
图4为本发明一种Data Vault模型数据仓库自动构建方法中建表步骤的流程图。
具体实施方式
为便于进一步理解本发明的技术内容,下面结合附图对本发明作进一步说明。
实施例一
如图1所示,为本发明的一种Data Vault模型数据仓库自动构建装置的结构框图,该装置包括:表查询装置10和建表装置20。所述表查询装置10用于接收用户输入的中心字段组,所述中心字段组包括多个中心字段,并对所述中心字段组进行处理后,输出总体信息表和中心字段关联信息表;所述总体信息表记录有所述中心字段组中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息,所述中心字段关联信息表记录有所述中心字段组中所有的中心字段相互之间的逻辑关系。所述业务实体是用户想要用来建立中心表的业务实体,业务实体是业务中的实体,比如客户是一个实体,店铺是个实体,购买记录是一个实体,……。中心字段是用来代表业务实体的字段名,比如“客户”、“店铺”、“购买记录”、……、都可以作为中心字段。所述建表装置20用于接收所述总体信息表和中心字段关联信息表,通过分析处理所述中心字段关联信息表得到中间表,再根据所述中间表得到中心字段组合信息表后,再根据所述总体信息表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和所述中心表自动创建附属表,完成企业级数据仓库的构建。
所述表查询装置10包括第一初始化单元101、搜索单元102、判断单元103、写入单元104、匹配单元105和记录单元106。第一初始化单元101用于对所述中心字段组进行初始化,并形成初始化中心字段关联信息表。搜索单元102用于在源数据库表中寻找具有被搜索中心字段的表。判断单元103用于判断该被搜索中心字段在具有该被搜索中心字段的表中是否为主键,如果是主键,则将具有该被搜索中心字段的表作为该被搜索中心字段的主表,称其为被搜索中心字段主表;如果不是主键,则将具有该被搜索中心字段的表作为该被搜索中心字段的附表,称其为被搜索中心字段附表。写入单元104用于将该被搜索中心字段和具有该被搜索中心字段的主表和附表的信息写入总体信息表中。所述总体信息表记录有用户给出的中心字段组中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息。匹配单元105用于查询该被搜索中心字段的附表,将用户给出的其他中心字段与该被搜索中心字段的附表进行匹配查询,若该被搜索中心字段的附表中有用户给出其他中心字段,则将其他中心字段设为该被搜索中心字段的主动关联中心字段。记录单元106用于将所述初始化字段关联信息表中的被搜索中心字段所对应的主动关联中心字段记录行置为一位二进制数1。依次类推,表查询装置将用户输入的中心字段组中的所有中心字段进行上述操作后,表查询装置最后输出总体信息表和中心字段关联信息表。所述总体信息表记录有用户给出的中心字段组中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息,所述中心字段关联信息表记录有用户给出的中心字段组中所有的中心字段相互之间的逻辑关系。
所述建表装置20包括第一处理单元201、第二初始化单元202、第二处理单元203和建表单元204。第一处理单元201用于读取所述中心字段关联信息表中的中心字段和中心字段相互之间的逻辑关系后,经过分析处理后得到中间表。第一处理单元分析处理过程具体为:设所述中心字段关联信息表中的中心字段有n个中心字段,对所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数做与运算,将得到的新的二进制数代替所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数后得到中间表,其中,1≤i,j≤n,元素a(i,j)代表中心字段关联信息表的第i行第j列,元素a(j,i)代表中心字段关联信息表的第j行第i列。第二初始化单元202用于对所述中间表中的中心字段进行初始化,并形成初始化中心字段组合信息表。第二处理单元203用于读取所述中间表,经过分析处理后得到中心字段组合信息表。第二处理单元的分析处理过程具体为:设中间表中的中心字段为Ai,1≤i≤n,根据中间表判断中心字段Ai行对应Aj(j>i)列的二进制数是否为1,若是,则将中心字段Ai和Aj归为一组即{Ai,Aj}。在所述初始化中心字段组合信息表中插入一行记录,记录中心字段Ai和Aj为1,其他字段为0。当{Ai}(i为1到n之间的若干个数)已经为归为一组中心字段组后,根据中间表判断中心字段Ak(k=!i)行对应Ai列的二进制数是否全部都为1,若是,则将中心字段Ak(k=!i)和Ai归为一组中心字段组,其中k=!i代表k≠i。在所述初始化中心字段组合信息表中插入一行新记录{Ai,Ak}(k=!i),记录中心字段Ai和Ak(k=!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中心字段组合信息表。建表单元204用于根据用户输入的中心字段组的中心字段的主表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和中心表自动创建附属表,构建完成企业数据仓库。
实施例二
如图2所示,为本发明的一种Data Vault模型数据仓库自动构建方法的流程图,该方法包括:
表查询步骤S10:一表查询装置接收用户输入的中心字段组,并对所述中心字段组进行处理后,输出总体信息表和中心字段关联信息表。
其中,所述总体信息表记录有所述中心字段组中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息,所述中心字段关联信息表记录有所述中心字段组中所有的中心字段相互之间的逻辑关系;
建表步骤S20:一建表装置接收所述总体信息表和中心字段关联信息表,通过分析处理所述中心字段关联信息表得到中间表,再根据所述中间表得到中心字段组合信息表后,再根据所述总体信息表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和所述中心表自动创建附属表,完成企业级数据仓库的构建。
如图3所示,为本发明的一种Data Vault模型数据仓库自动构建方法中表查询步骤的流程图,表查询步骤S10包括以下步骤:
初始化步骤S101:一第一初始化单元对所述中心字段组进行初始化,并形成初始化中心字段关联信息表;
搜索步骤S102:一搜索单元在源数据库表中寻找具有被搜索中心字段的表;
判断步骤S103:一判断单元判断所述被搜索中心字段在具有所述被搜索中心字段的表中是否为主键,如果是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的主表;如果不是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的附表;
写入步骤S104:一写入单元将所述被搜索中心字段和具有所述被搜索中心字段的主表和附表的信息写入所述总体信息表中;
匹配步骤S105:一匹配单元查询所述被搜索中心字段的附表,将用户输入的中心字段组中其他中心字段与所述被搜索中心字段的附表进行匹配查询,若所述被搜索中心字段的附表中有其他中心字段,则将其他中心字段设为所述被搜索中心字段的主动关联中心字段;
记录步骤S106:一记录单元将所述初始化字段关联信息表中的所述被搜索中心字段所对应的主动关联中心字段记录行置为一位二进制数1;
重复上述步骤S101-S106,所述表查询装置将用户输入的中心字段组中的所有中心字段进行上述操作后,表查询装置最后输出总体信息表和中心字段关联信息表。
如图4所示,为本发明的一种Data Vault模型数据仓库自动构建方法中建表步骤的流程图,建表步骤S20包括以下步骤:
获取中间表步骤S201:一第一处理单元读取所述中心字段关联信息表中的中心字段和中心字段相互之间的逻辑关系后,经过分析处理后得到中间表;
第一处理单元分析处理的具体过程为:设所述中心字段关联信息表中的中心字段有n个中心字段,对所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数做与运算,将得到的新的二进制数代替所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数后得到中间表,其中,1≤i,j≤n,元素a(i,j)代表中心字段关联信息表的第i行第j列,元素a(j,i)代表中心字段关联信息表的第j行第i列。
第二初始化步骤S202:一第二初始化单元对所述中间表中的中心字段进行初始化,并形成初始化中心字段组合信息表;
获取中心字段组合信息表步骤S203:一第二处理单元读取所述中间表,经过分析处理后得到中心字段组合信息表;
第二处理单元分析处理的具体过程为:设中间表中的中心字段为Ai,1≤i≤n,根据中间表判断中心字段Ai行对应Aj,其中j>i,列的二进制数是否为1,若是,则将中心字段Ai和Aj归为一组即{Ai,Aj};在所述初始化中心字段组合信息表中插入一行记录,记录中心字段Ai和Aj为1,其他字段为0;
当{Ai}已经为归为一组中心字段组后,其中,{Ai}中的i为1到n之间的若干个数,根据中间表判断中心字段Ak(k=!i)行对应Ai列的二进制数是否全部都为1,若是,则将中心字段Ak(k=!i)和Ai归为一组中心字段组,其中k=!i代表k≠i;在所述初始化中心字段组合信息表中插入一行新记录{Ai,Ak}(k=!i),记录中心字段Ai和Ak(k=!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中心字段组合信息表。
获取中心表、链接表和附属表步骤S204:一建表单元根据用户输入的中心字段组的中心字段的主表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和中心表自动创建附属表,构建完成企业数据仓库。
本发明提供的一种Data Vault模型数据仓库自动构建的方法及装置,可以利用对字段名和表与表之间的关联关系探索所需的中心表之间的关系,建立中心表、链接表和附属表之间的逻辑关系,从数据库表中抽取表并构建企业数据仓库,从而节省了企业级数据仓库构建人员构建企业数据仓库时进行逻辑分析的时间。用户只需要向该装置输入需要得到的业务主键的字段信息,即可以得到构建好的企业数据仓库,可批量式构建企业数据仓库省时省力。还可以实现对原有数据库表的逻辑的全部体现,构建得到的企业数据仓库能够满足源数据库表所有的逻辑信息包括源数据库表一直以来的历史数据。
为了更好的说明本发明提供的装置和方法的工作原理,现举例说明如下:
假设用户输入到所述表查询装置的中心字段组包括:中心字段A1、中心字段A2、中心字段A3、中心字段A4、中心字段A5。
所述表查询装置中的第一初始化单元对所述中心字段组进行初始化后形成初始化中心字段关联信息表,如表1所示。
表1初始化中心字段关联信息表
A1 A2 A3 A4 A5
A1 1 0 0 0 0
A2 0 1 0 0 0
A3 0 0 1 0 0
A4 0 0 0 1 0
A5 0 0 0 0 1
设当前被搜索中心字段为中心字段A1,所述搜索单元在源数据库表中寻找具有中心字段A1的表,看哪张表中有中心字段A1,只要有中心字段A1的表都记录下来。例如,搜索单元在源数据库表中,寻找到具有中心点段A1的那些表的表号为1、2、3、4。
找到这些表后,所述判断单元判断该中心字段A1在具有该中心字段A1的表中是否为主键,如果是主键,则将具有该中心字段A1的表作为该中心字段A1的主表,称其为中心字段A1主表;如果不是主键,则将具有该中心字段A1的表作为该中心字段A1的附表,称其为中心字段A1附表。例如,寻找到具有中心点段A1的那些表后,判断单元判断出该中心字段A1在表号为1中是主键,在表号为2、3、4中不是主键,那么表号为1的表就作为该中心字段A1的主表,表号为2、3、4的表就作为该中心字段A1的附表。
得到该中心字段A1主表后,所述写入单元将该中心字段A1和具有该中心字段A1的主表和附表的信息写入总体信息表中,如表2所示。
所述匹配单元查询该中心字段A1的附表,将用户给出的其他中心字段即中心字段A2、中心字段A3、中心字段A4和中心字段A5与中心字段A1的附表进行匹配查询,若中心字段A1的附表中有用户给出的其他中心字段,则将其他中心字段设为中心字段A1的主动关联中心字段,例如,中心字段A1的附表中有中心字段A2,则将中心字段A2设为中心字段A1的主动关联中心字段;中心字段A1的附表中有中心字段A3,则将中心字段A3设为中心字段A1的主动关联中心字段。
所述记录单元将所述初始化字段关联信息表中的中心字段A1所对应的主动关联中心字段记录行置为一位二进制数1。
依次类推,表查询装置将用户输入的中心字段组中的所有中心字段进行上述操作后,表查询装置最后输出总体信息表和中心字段关联信息表。所述总体信息表记录有用户给出的所有中心字段中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息,如表2所示。所述中心字段关联信息表记录有用户给出的中心字段组中所有的中心字段相互之间的逻辑关系,如表3所示。
表2总体信息表(表中1-5为源数据库表中的表号)
表3中心字段关联信息表
A1 A2 A3 A4 A5
A1 1 1 1 1 0
A2 1 1 1 0 1
A3 1 1 1 0 0
A4 0 0 0 1 1
A5 0 1 0 1 1
所述建表装置接收到所述表查询装置输出的总体信息表和中心字段关联信息表后,建表装置中的第一处理单元读取所述中心字段关联信息表中的中心字段和中心字段相互之间的逻辑关系后,进行分析处理后得到中间表,第一处理单元的分析处理过程具体为:设所述中心字段关联信息表中的中心字段有n个中心字段,对所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数做与运算,将得到的新的二进制数代替中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数后得到中间表,其中,1≤i,j≤n,元素a(i,j)代表中心字段关联信息表的第i行第j列,元素a(j,i)代表中心字段关联信息表的第j行第i列。
例如,从表3可知,表3中有五个中心字段,1≤i,j≤5,元素a(1,2)对应的二进制数为1,元素a(2,1)对应的二进制数为1,将两者做与运算后,得到新的二进制数为1,将该新的二进制数代替中心字段关联信息表的元素a(1,2)和a(2,1)对应的二进制数;元素a(1,3)对应的二进制数为1,元素a(3,1)对应的二进制数为1,将两者做与运算后,得到新的二进制数为1,将该新的二进制数代替中心字段关联信息表的元素a(1,3)和a(3,1)对应的二进制数;元素a(1,4)对应的二进制数为1,元素a(4,1)对应的二进制数为0,将两者做与运算后,得到新的二进制数为0,将该新的二进制数代替中心字段关联信息表的元素a(1,4)和a(4,1)对应的二进制数;以此类推,最后的到中间表,如表4所示。
表4中间表
A1 A2 A3 A4 A5
A1 1 1 1 0 0
A2 1 1 1 0 1
A3 1 1 1 0 0
A4 0 0 0 1 1
A5 0 1 0 1 1
建表装置中的第二初始化单元对所述中间表中的中心字段进行初始化,并形成初始化中心字段组合信息表。如表5所示。
表5初始化中心字段组合信息表
序号 A1 A2 A3 A4 A5
第二处理单元,用于读取所述中间表,经过分析处理后得到中心字段组合信息表。第二处理单元的分析处理过程具体为:根据中间表判断中心字段Ai行对应Aj(j>i)列的二进制数是否为1,若是,则将中心字段Ai和Aj归为一组即{Ai,Aj}。在所述初始化中心字段组合信息表中插入一行记录,记录中心字段Ai和Aj为1,其他字段为0。当{Ai}(i为1到n之间的若干个数)已经为归为一组中心字段组后,根据中间表判断中心字段Ak(k=!i)行对应Ai列的二进制数是否全部都为1,若是,则将中心字段Ak(k=!i)和Ai归为一组中心字段组。在所述初始化中心字段组合信息表中插入一行新记录{Ai,Ak}(k=!i),记录中心字段Ai和Ak(k=!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中心字段组合信息表。
例如,当i=1时,从中间表即表4可以判断出,中心字段A1对应A2、A3、A4、A5的二进制数分别为:1、1、0、0,则中心字段A1和A2归为一组即{A1,A2},中心字段A1和A3归为一组即{A1,A3}。在所述初始化中心字段组合信息表即表5中各插入一行记录,记录中心字段A1和A2为1,中心字段A1和A3为1,其他字段为0,得到如表51所示的表。
表51
序号 A1 A2 A3 A4 A5
1 1 0 0 0
1 0 1 0 0
当{A1,A2}为一组后,从中间表即表4可以判断出,只有中心字段A3行对应A1列和A2列的二进制数全部为1,则将中心字段A3和A1、A2归为一组中心字段组即{A1,A2,A3}。当{A1,A3}为一组后,从中间表即表4可以判断出,只有中心字段A2行对应A1列和A3列的二进制数全部为1,则将中心字段A2和A1、A3归为一组中心字段组即{A1,A2,A3}。故当i=1时,最后得到中心字段组为{A1,A2,A3},在所述初始化中心字段组合信息表即表5中插入一行记录,记录中心字段A1和A2、A3为1,其他字段为0,并将组合{A1,A2}、{A1,A3}对应记录删除,得到如表52所示的表。
表52
序号 A1 A2 A3 A4 A5
1 1 1 1 0 0
以此类推,当i=2时,最后得到中心字段组为{A2,A5},当i=3时,无中心字段组,当i=4时,最后得到中心字段组为{A4,A5},当i=5时,无中心字段组。最后得到中心字段组合信息表,如表6所示。
表6中心字段组合信息表
序号 A1 A2 A3 A4 A5
1 1 1 1 0 0
2 0 1 0 0 1
3 0 0 0 1 1
建表单元根据用户给出的中心字段组的中心字段的主表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和中心表自动创建附属表,从而构建成企业数据仓库。
以上所述仅为本发明的较佳实施例,对本发明而言仅仅是说明性的,而非限制性的。本专业技术人员理解,在本发明权利要求所限定的精神和范围内可对其进行许多改变,修改,甚至等效,但都将落入本发明的保护范围内。

Claims (8)

1.一种Data Vault模型数据仓库自动构建装置,其特征在于,该构建装置包括表查询装置和建表装置,
所述表查询装置,用于接收用户输入的中心字段组,所述中心字段组包括多个中心字段,并对所述中心字段组进行处理后,输出总体信息表和中心字段关联信息表;所述总体信息表记录有所述中心字段组中每一个中心字段以及该中心字段的主表和附表在源数据库表中的表号信息,所述中心字段关联信息表记录有所述中心字段组中所有的中心字段相互之间的逻辑关系;
所述建表装置,用于接收所述总体信息表和中心字段关联信息表,通过分析处理所述中心字段关联信息表得到中间表,再根据所述中间表得到中心字段组合信息表后,再根据所述总体信息表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和所述中心表自动创建附属表,完成企业级数据仓库的构建;
其中,所述表查询装置包括第一初始化单元、搜索单元、判断单元、写入单元、匹配单元和记录单元;
所述第一初始化单元,用于对所述中心字段组进行初始化,并形成初始化中心字段关联信息表;
所述搜索单元,用于在源数据库表中寻找具有被搜索中心字段的表;
所述判断单元,用于判断所述被搜索中心字段在具有所述被搜索中心字段的表中是否为主键,如果是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的主表;如果不是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的附表;
所述写入单元,用于将所述被搜索中心字段和具有所述被搜索中心字段的主表和附表的信息写入所述总体信息表中;
所述匹配单元,用于查询所述被搜索中心字段的附表,将用户输入的中心字段组中其他中心字段与所述被搜索中心字段的附表进行匹配查询,若所述被搜索中心字段的附表中有其他中心字段,则将其他中心字段设为所述被搜索中心字段的主动关联中心字段;
所述记录单元,用于将所述初始化中心字段关联信息表中的所述被搜索中心字段所对应的主动关联中心字段记录行置为一位二进制数1。
2.根据权利要求1所述的Data Vault模型数据仓库自动构建装置,其特征在于,所述建表装置包括第一处理单元、第二初始化单元、第二处理单元和建表单元;
所述第一处理单元,用于读取所述中心字段关联信息表中的中心字段和中心字段相互之间的逻辑关系后,经过分析处理后得到中间表;
所述第二初始化单元,用于对所述中间表中的中心字段进行初始化,并形成初始化中心字段组合信息表;
所述第二处理单元,用于读取所述中间表,经过分析处理后得到中心字段组合信息表;
建表单元,用于根据所述中心字段组的中心字段的主表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和中心表自动创建附属表。
3.根据权利要求2所述的Data Vault模型数据仓库自动构建装置,其特征在于,所述第一处理单元分析处理过程具体为:设所述中心字段关联信息表中的中心字段有n个中心字段,对所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数做与运算,将得到的新的二进制数代替所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数后得到中间表,其中,1≤i,j≤n,元素a(i,j)代表中心字段关联信息表的第i行第j列,元素a(j,i)代表中心字段关联信息表的第j行第i列。
4.根据权利要求2所述的Data Vault模型数据仓库自动构建装置,其特征在于,所述第二处理单元的分析处理过程具体为:
设中间表中的中心字段为Ai,1≤i≤n,根据中间表判断中心字段Ai行对应Aj,其中j>i,列的二进制数是否为1,若是,则将中心字段Ai和Aj归为一组即{Ai,Aj};在所述初始化中心字段组合信息表中插入一行记录,记录中心字段Ai和Aj为1,其他字段为0;
当{Ai}已经为归为一组中心字段组后,其中,{Ai}中的i为1到n之间的若干个数,根据中间表判断中心字段Ak(k=!i)行对应Ai列的二进制数是否全部都为1,若是,则将中心字段Ak(k=!i)和Ai归为一组中心字段组,其中k=!i代表k≠i;在所述初始化中心字段组合信息表中插入一行新记录{Ai,Ak}(k=!i),记录中心字段Ai和Ak(k=!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中心字段组合信息表。
5.一种Data Vault模型数据仓库自动构建方法,其特征在于,该构建方法包括:
表查询步骤:一表查询装置接收用户输入的中心字段组,并对所述中心字段组进行处理后,输出总体信息表和中心字段关联信息表;
建表步骤:一建表装置接收所述总体信息表和中心字段关联信息表,通过分析处理所述中心字段关联信息表得到中间表,再根据所述中间表得到中心字段组合信息表后,再根据所述总体信息表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和所述中心表自动创建附属表,完成企业级数据仓库的构建;
其中,所述表查询步骤包括:
初始化步骤:一第一初始化单元对所述中心字段组进行初始化,并形成初始化中心字段关联信息表;
搜索步骤:一搜索单元在源数据库表中寻找具有被搜索中心字段的表;
判断步骤:一判断单元判断所述被搜索中心字段在具有所述被搜索中心字段的表中是否为主键,如果是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的主表;如果不是主键,则将具有所述被搜索中心字段的表作为所述被搜索中心字段的附表;
写入步骤:一写入单元将所述被搜索中心字段和具有所述被搜索中心字段的主表和附表的信息写入所述总体信息表中;
匹配步骤:一匹配单元查询所述被搜索中心字段的附表,将用户输入的中心字段组中其他中心字段与所述被搜索中心字段的附表进行匹配查询,若所述被搜索中心字段的附表中有其他中心字段,则将其他中心字段设为所述被搜索中心字段的主动关联中心字段;
记录步骤:一记录单元将所述初始化中心字段关联信息表中的所述被搜索中心字段所对应的主动关联中心字段记录行置为一位二进制数1;
重复上述步骤,所述表查询装置将用户输入的中心字段组中的所有中心字段进行上述操作后,表查询装置最后输出总体信息表和中心字段关联信息表。
6.根据权利要求5所述的Data Vault模型数据仓库自动构建方法,其特征在于,所述建表步骤包括:
获取中间表步骤:一第一处理单元读取所述中心字段关联信息表中的中心字段和中心字段相互之间的逻辑关系后,经过分析处理后得到中间表;
第二初始化步骤:一第二初始化单元对所述中间表中的中心字段进行初始化,并形成初始化中心字段组合信息表;
获取中心字段组合信息表步骤:一第二处理单元读取所述中间表,经过分析处理后得到中心字段组合信息表;
获取中心表、链接表和附属表步骤:一建表单元根据用户输入的中心字段组的中心字段的主表自动创建中心表,根据所述中心字段组合信息表自动创建链接表,根据源数据库表和中心表自动创建附属表,构建完成企业数据仓库。
7.根据权利要求6所述的Data Vault模型数据仓库自动构建方法,其特征在于,所述获取中间表步骤中第一处理单元分析处理的具体过程为:设所述中心字段关联信息表中的中心字段有n个中心字段,对所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数做与运算,将得到的新的二进制数代替所述中心字段关联信息表的元素a(i,j)和a(j,i)对应的二进制数后得到中间表,其中,1≤i,j≤n,元素a(i,j)代表中心字段关联信息表的第i行第j列,元素a(j,i)代表中心字段关联信息表的第j行第i列。
8.根据权利要求6所述的Data Vault模型数据仓库自动构建方法,其特征在于,所述获取中心字段组合信息表步骤中第二处理单元分析处理的具体过程为:设中间表中的中心字段为Ai,1≤i≤n,根据中间表判断中心字段Ai行对应Aj,其中j>i,列的二进制数是否为1,若是,则将中心字段Ai和Aj归为一组即{Ai,Aj};在所述初始化中心字段组合信息表中插入一行记录,记录中心字段Ai和Aj为1,其他字段为0;
当{Ai}已经为归为一组中心字段组后,其中,{Ai}中的i为1到n之间的若干个数,根据中间表判断中心字段Ak(k=!i)行对应Ai列的二进制数是否全部都为1,若是,则将中心字段Ak(k=!i)和Ai归为一组中心字段组,其中k=!i代表k≠i;在所述初始化中心字段组合信息表中插入一行新记录{Ai,Ak}(k=!i),记录中心字段Ai和Ak(k=!i)为1,其他字段为0,并将组合{Ai}对应记录删除,最后得到中心字段组合信息表。
CN201510272096.1A 2015-05-25 2015-05-25 一种Data Vault模型数据仓库自动构建的方法及装置 Active CN104866576B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510272096.1A CN104866576B (zh) 2015-05-25 2015-05-25 一种Data Vault模型数据仓库自动构建的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510272096.1A CN104866576B (zh) 2015-05-25 2015-05-25 一种Data Vault模型数据仓库自动构建的方法及装置

Publications (2)

Publication Number Publication Date
CN104866576A CN104866576A (zh) 2015-08-26
CN104866576B true CN104866576B (zh) 2018-03-02

Family

ID=53912402

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510272096.1A Active CN104866576B (zh) 2015-05-25 2015-05-25 一种Data Vault模型数据仓库自动构建的方法及装置

Country Status (1)

Country Link
CN (1) CN104866576B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024021241A1 (zh) * 2022-07-29 2024-02-01 广东电网有限责任公司 一种电网数据仓库多版本元数据存储及一致性检测方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105118419B (zh) 2015-09-28 2017-11-10 深圳市华星光电技术有限公司 一种显示装置、tft基板及goa驱动电路
CN105160036B (zh) * 2015-09-30 2018-10-12 广州市经济贸易信息中心 一种企业非银信息查询方法
CN106326457B (zh) * 2016-08-29 2019-04-30 山大地纬软件股份有限公司 基于大数据的人社人员档案袋数据库的构建方法及系统
CN108268565B (zh) * 2017-01-04 2020-11-03 北京京东尚科信息技术有限公司 基于数据仓库处理用户浏览行为数据的方法及系统
CN110069508A (zh) * 2017-10-11 2019-07-30 北京奇虎科技有限公司 基于大数据的数据分析方法、装置及终端设备
CN109063178B (zh) * 2018-08-22 2019-12-24 四川新网银行股份有限公司 一种自动扩展的自助分析报表的方法及装置
CN109033452B (zh) * 2018-08-23 2021-09-07 重庆富民银行股份有限公司 一种数据仓库智能构建装载方法及系统
CN111460047A (zh) * 2020-03-09 2020-07-28 平安科技(深圳)有限公司 基于实体关系的特征构建方法、装置、设备及存储介质
CN111767327B (zh) * 2020-05-14 2021-06-15 中邮消费金融有限公司 数据流间具有依赖关系的数据仓库构建方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415632B1 (en) * 2004-10-29 2008-08-19 Unisys Corporation Detection and repair of corrupted critical data structures without operational interruption
CN102937965A (zh) * 2012-09-29 2013-02-20 山东浪潮齐鲁软件产业股份有限公司 一种基于数据模型的元系统设计方法
CN104484473A (zh) * 2014-12-31 2015-04-01 北京海量数据技术股份有限公司 一种基于数据库云的数据库监控平台及监控方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7415632B1 (en) * 2004-10-29 2008-08-19 Unisys Corporation Detection and repair of corrupted critical data structures without operational interruption
CN102937965A (zh) * 2012-09-29 2013-02-20 山东浪潮齐鲁软件产业股份有限公司 一种基于数据模型的元系统设计方法
CN104484473A (zh) * 2014-12-31 2015-04-01 北京海量数据技术股份有限公司 一种基于数据库云的数据库监控平台及监控方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
武振宇;下一代数据仓库模型Data Vault的研究及其应用;《万方数据知识服务平台》;20060116;正文第19-20页 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024021241A1 (zh) * 2022-07-29 2024-02-01 广东电网有限责任公司 一种电网数据仓库多版本元数据存储及一致性检测方法

Also Published As

Publication number Publication date
CN104866576A (zh) 2015-08-26

Similar Documents

Publication Publication Date Title
CN104866576B (zh) 一种Data Vault模型数据仓库自动构建的方法及装置
CN106844507B (zh) 一种数据批处理的方法及设备
CN102930023B (zh) 基于知识的数据质量解决方案
Ferreira et al. Approaching process mining with sequence clustering: Experiments and findings
CN102982097B (zh) 用于基于知识的数据质量解决方案的域
CN107015853A (zh) 多阶段任务的实现方法和装置
CN102135995A (zh) 一种etl数据清洗设计方法
US20130006996A1 (en) Clustering E-Mails Using Collaborative Information
CN102214232A (zh) 一种文本数据相似度的计算方法及装置
CN111079025A (zh) 基于大数据分析的政务推荐方法及包含该方法的系统
CN108446391A (zh) 数据的处理方法、装置、电子设备和计算机可读介质
CN110389950B (zh) 一种快速运行的大数据清洗方法
CN102270201B (zh) 用于网络文件的多维索引的方法和设备
WO2016119508A1 (zh) 基于Spark系统的大规模对象识别方法
CN104573095B (zh) 基于Hadoop框架的大规模对象识别方法
CN108255819A (zh) 一种基于分析工具spark的增值税数据整合方法及系统
US10877998B2 (en) Highly atomized segmented and interrogatable data systems (HASIDS)
Bucher (Big) data and algorithms: Looking for meaningful patterns
JP6763967B2 (ja) データ変換装置とデータ変換方法
JP2012088880A (ja) 準頻出構造パターンマイニング装置と頻出構造パターンマイニング装置とそれらの方法、及びプログラム
Jemal et al. MapReduce-DBMS: an integration model for big data management and optimization
CN105373561B (zh) 识别非关系数据库中的记录模式的方法和设备
Labib A comparative study to classify big data using fuzzy techniques
Pettit et al. The utility of machine learning for predicting donor discard in abdominal transplantation
Gaskó et al. An evolutionary approach for critical node detection in hypergraphs. A case study of an inflation economic network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 510630 Guangzhou Tianhe Road North, Guangdong hi tech building, 906 A-701

Applicant after: Guangdong fine point data Polytron Technologies Inc

Address before: 510630 Guangzhou Tianhe Road North, Guangdong hi tech building, 906 A-701

Applicant before: Guangzhou Jing Dian computing machine Science and Technology Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant