一种实现数据仓库自动建模的系统及方法与流程

文档序号:11250940阅读:829来源:国知局
一种实现数据仓库自动建模的系统及方法与流程

本发明涉及数据仓库建模领域,具体涉及一种快速实现数据仓库自动建模的系统及方法。



背景技术:

数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。它是单个数据存储,出于分析性报告和决策支持目的而创建。为需要业务智能的企业,提供指导业务流程改进、监视时间、成本、质量以及控制。

随着互联网的普及与信息化技术的快速发展,企业在进行战略转型过程中,逐渐向业务多元化发展。由此产生了越来越多的企业内部系统,以及越来越多的业务数据量。这给数据管理带来极大的难度,稍有不慎,极易导致数据混乱、准确性降低,使记录数据与实际情况不一致。而一堆混乱的数据难以实现其应有的价值,尤其是用以支撑经验管理决策的数据分析环节越来越难以发挥其应有作用。

因此需要建立数据仓库,对数据进行初步处理,梳理维度表和事实表,使数据正确、唯一、有效,降低数据的冗余程度,从而根据数据仓库的数据进行数据分析,提升数据分析效率和质量。

目前,很多企业采用人工梳理业务需求、数据来源等,再使用powerdesigner等建模工具,手动建立模型。这种方法耗时长,效率低,需要做大量的重复性工作,难以满足快速多变的市场以及业务变化。

因此急需提出一种能够满足多种业务需求且能够降低大量重复性劳动工作的数据仓库自动建模的系统。



技术实现要素:

本发明意在提供一种能够降低大量重复性劳动工作的实现数据仓库自动建模的系统。

为达到以上目的,提供如下方案:

方案一:本方案中的一种实现数据仓库自动建模的系统,包括从元数据库中获取业务模型的获取业务模型模块,以及与获取业务模型模块连接的创建数据仓库模型模块;所述创建数据仓库模型模块将获取业务模型模块中已有的业务模型进行修改、新增操作,通过拖拽操作完成数据仓库模型的创建,并将所创建的数据仓库模型保存至元数据库。

工作原理:

直接将预先存储在元数据库中的业务模型通过人工选择的方式获取到获取业务模型模块中。然后根据具体的业务需要,对获取业务模型模块中的模型模块进行修改、新增等操作,将当前需要的业务模型模块通过拖拽的方式拖拽到创建数据仓库模型模块中生成新的数据仓库模型,并将该数据仓库模型保存至元数据库中。

有益效果:

直接根据现有的存储在元数据库中的各种业务模型,选择需要的业务模型进行获取。再针对具体业务进行修改后,直接拖拽到创建数据仓库模型模块中进行组合,形成新的数据仓库模型并保存至元数据库中。

不仅可以根据实际业务需要进行多种业务模型的组合修改,还能够从元数据库中调用以前组合过的数据仓库模型进行直接使用。不需要向以往一样需要重头建立数据仓库,只需要对业务模型进行组合、修改或者说直接调用,就能够形成新的数据仓库。

弥补了目前数据仓库人工建模周期长、成本高、效率低的不足,节省了大量时间和人力,实现了数据仓库模型灵活可变、易修改的需求。

方案二:在方案一的基础上进一步,所述创建数据仓库模型模块包括依次连接的创建空模型单元、加载业务模型单元、拖拽相关业务模型单元、修改业务模型单元、新增模型元素单元、和保存数据仓库模型单元;

所述创建空模型单元可创建一个没有表结构和字段内容且能够容纳各个业务模型的空模型;所述空模型自动显示当前元素及其下级元素;

所述拖拽相关业务模型单元可以对加载业务模型单元中已经加载的业务模型中的模型元素拖拽到空模型中;

所述修改业务模型单元可以修改被拖拽至空模型中的业务模型中的元素名称、类型以及元素之间的关联关系;

所述新增模型元素单元可以新增每个业务模型中的模表、字段以及关联关系;

所述保存数据仓库模型单元对空模型中的所有业务模型进行保存,并自动生成数据仓库的模型脚本,存储到元数据库中。

通过创建空模型单元为后续加载、拖拽、修改等操作创建模型提供一个容器式的空模型,使可以根据实际业务选择不同的业务模型进行拖拽组合以及修改。空模型可以自动显示当前元素及其下级元素,可以方便操作者对显示出来的元素进行修改。同时,通过拖拽业务模型单元将所需要的其他业务模型从加载业务模型单元中将已经加载的业务模型拖入到空模型中。再通过修改业务模型单元对被拖拽入空模型中的所有业务模型的元素根据需要进行修改和重新定义。通过新增模型元素单元将各个业务模型中所欠缺,但是实际操作中需要的元素增加到空模型中的相应的业务模型中。最后,保存数据仓库模型单元将存在与空模型上的所有业务模型连通空模型一起作为一个整体的组合式模型保存至元数据库中,下次再遇到相关的业务需求的情况时,就可以直接调用这个已经存储在元数据库中的组合好的数据仓库模型进行使用。

方案三:在方案二的基础上进一步,所述获取业务模型模块包括从元数据库获取业务模型的获取业务模型单元。

方案四:在方案三的基础上进一步,所述加载业务模型单元对获取业务模型单元中的业务模型进行加载,并以树状结构展现。

通过加载业务模型单元与获取业务模型单元之间的业务模型数据的传输加载,使获取业务模型模块和创建数据仓库模块连接起来,使从元数据库中获取的业务模型可以经过筛选后传输到加载业务模型单元中,可以减少无效数据的传输工作量。

方案五:在方案一的基础上进一步,所述业务模型从高到低层次的模型元素分别为数据库、表、字段、关联关系。

模型元素从高到低的数据库、表、字段、关联关系,不仅能够定义区分具体业务模型,还能够清楚地定义该业务模型与其他业务模型以及空模型的关系,使整个空模型上的所有业务模型能够形成为一个整体的数据参考模型使用。

本发明的另一个目的是提供一种能够降低大量重复性劳动工作的实现数据仓库自动建模的系统的建模方法。

一种实现数据仓库自动建模的系统的建模方法,包括以下步骤:

步骤一:在获取业务模型模块的获取业务模型单元从元数据库获取选定的业务模型信息;

步骤二:通过创建数据仓库模型模块中的创建空模型单元,创建一个具有添加表、添加字段、添加关联关系功能的空模型;

步骤三:加载业务模型单元自动将步骤一中获取的业务模型加载到步骤二中形成的空模型中;

步骤四:通过拖拽相关业务模型单元将加载业务模型单元加载到空模型中的业务模型拖拽至空模型中用来组合业务模型的空白工作区中;

步骤五:通过修改业务模型单元对空白工作区上的每个表和字段的名称双击进行修改;

步骤六:通过新增模型元素单元对步骤五中已经修改的模型添加新的模型元素,使空白工作区上所有的业务模型组合形成数据仓库模型;

步骤七:通过保存数据仓库模型单元将步骤六中得到的数据仓库模型模型以数据库结构的方式存入到元数据库中。

本发明直接通过拖拽、组合、修改的方法,将已有的业务模型进行修改再利用,节省了大量的重复操作时间,弥补了目前数据仓库人工建模周期长、成本高、效率低的不足;还能够组合修改出各种满足实际需求的数据仓库模型,实现了数据仓库模型灵活可变易修改的需求。

进一步,在步骤一中,根据实际业务需求,选择业务数据库;获取业务模型单元根据选择的业务数据库从元数据库中获取业务数据库中对应的业务模型信息。

业务数据库上仅保存各个业务模型在元数据库中的地址信息,有利于减少业务数据库的信息容量。在避免重复保存业务模型信息的基础上,先访问业务数据库,选定业务模型,再从元数据库中获取相应的业务模型信息,有利于业务模型信息的安全保存,和获取业务模型单元在相对少量的业务数据库数据信息中快速寻找需要的业务数据库。

进一步,在步骤三中,经过加载业务模型单元加载到空模型中的业务模型按照树形结构的方式依次展开为数据库、表、字段。

通过数据库、表、字段按照树形结构的依次展开方式,方便操作者查看,同时方便后面的拖拽业务模型单元针对各个节点来拖拽具体的业务模型。

附图说明

图1是本发明实施例的系统的结构图。

图2是源生产系统的雪花模型结构的数据库模型结构示意图。

图3是数据仓库的星型结构模型结构示意图。

具体实施方式

下面通过具体实施方式对本发明作进一步详细的说明:

说明书附图中的附图标记包括:获取业务模型模块10、获取业务模型单元11、创建数据仓库模型模块20、创建空模型单元21、加载业务模型单元22、拖拽相关业务模型单元23、修改业务模型单元24、新增模型元素单元25、保存数据仓库模型单元26。

如图1所示,本实施例中实现数据仓库自动建模的系统,由获取业务模型模块10、创建数据仓库模型模块20组成。

获取业务模型模块10负责从元数据库中获取业务模型,即业务数据库的表结构,由获取业务模型单元11组成。

获取业务模型单元11负责连接元数据库,根据系统管理人员的选择,对某一特定的业务模型的相关元数据进行获取。

创建数据仓库模型模块20负责对已有的业务模型进行修改、新增等操作,通过简单的拖拽操作完成数据仓库模型的创建,并自动生成数据仓库模型元数据,由创建空模型单元21、加载业务模型单元22、拖拽相关业务模型单元23、修改业务模型单元24、新增模型元素单元25、保存数据仓库模型单元26组成。

创建空模型单元21负责帮助系统管理人员创建一个空的模型,没有表结构和字段等内容,为后续加载、拖拽、修改等操作创建模型提供一个容器。

加载业务模型单元22负责对获取业务模型单元11中的业务模型进行加载、展现,以树状结构展现,从高到低层次的模型元素分别为数据库、表、字段、关联关系,可支持加载多个业务模型。

拖拽相关业务模型单元23中,系统管理人员可以对加载业务模型单元22中已经加载的业务模型中的模型元素进行拖拽,拖拽到空模型容器中,容器中自动显示当前元素及其下级元素。

修改业务模型单元24提供对容器中的模型元素进行修改的功能,可以修改元素名称、类型、元素之间的关联关系等。

新增模型元素单元25可以新增模型元素:表、字段、关联关系等。

保存数据仓库模型单元26对模型容器中的所有元素进行保存,并自动生成数据仓库的模型脚本,存储到元数据库中。

该实例生产数据库payment的业务模型如图2,包括8个业务表,信息如下:

product表记录商品信息,store记录商店信息,staff记录员工信息,cust记录客户信息,payment记录客户购买商品信息,country记录国家信息,city记录城市信息,address记录具体地址信息。

各个业务表之间的关联关系如图2和图3所示。

该实例的目标是建立一个数据仓库payment_dwh,形成一个付款事实表以及商品、员工、客户、时间、商店等5个维度表,如图3所示。

元数据库是数据库,存储所有数据库的模型结构,模型元素是指数据库、表、字段等构成一个数据模型的元素。

s1:在获取业务模型模块10的获取业务模型单元11中,系统管理人员在系统中根据实际业务需求,选择业务数据库payment,系统自动从元数据库中找到payment相关的元数据模型信息。

s2:创建数据仓库模型模块20中创建空模型单元21,系统管理人员在系统中创建一个空模型,即系统页面上增加一个空白工作区,工作区中存在操作按钮:添加表、添加字段、添加关联关系等。

s3:在加载业务模型单元22中,系统自动将系统管理员选择的业务数据库payment的模型加载显示到模型列表中,模型按照树形结构的方式展示,层级为数据库-表-字段。

s4:在拖拽相关业务模型单元23中,系统管理员根据数据仓库的建立需求,先将整个payment数据库模型拖拽到空白工作区,即拖拽树形结构中的payment数据库节点,则空白工作区立即显示所有的表结构,如图2所示。

s5:在修改业务模型单元24中,系统管理人员需对空白工作区上的每个表和字段的名称双击进行修改,具体修改如下:

s5.1:删除country、city、address这3个表,选中三个表点击delete键。

s5.2:修改product表名为dim_product,修改字段create_date为last_update。

s5.3:修改store表名为dim_store,修改字段create_date为last_update,修改address_id为address。

s5.4:修改staff表名为dim_staff,修改字段create_date为last_update,修改address_id为address。

s5.5:修改cust表名为dim_cust,修改字段create_date为last_update,修改address_id为address。

s5.6:修改payment表名为dim_payment,删除字段price、amount,修改字段create_date为last_update。

s6:在新增模型元素单元25中,系统管理人员需对已经修改的模型添加新的模型元素,使其符合数据仓库的预期设计,修改完成后的数据仓库模型payment_dwh如图3所示,具体修改如下:

s6.1:在dim_store表中增加字段country、city。

s6.2:在dim_staff表中增加字段country、city。

s6.3:在dim_cust表中增加字段country、city。

s6.4:新建表dim_time,在表中增加字段time_id,time_value,hours,minutes,seconds,lastupdate。

s6.5:在dim_payment中增加字段dim_time。

s7:保存数据仓库模型单元26负责将新建的模型保存到元数据库中,即将图3所示的数据模型以数据库结构的方式存入到元数据库中。

以上所述的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1