首页> 中国专利> 企业级数据仓库系统的样本数据获取方法及装置

企业级数据仓库系统的样本数据获取方法及装置

摘要

本发明提供一种企业级数据仓库系统的样本数据获取方法及装置,其中,该方法包括:解析企业级数据仓库系统的包括模型关联关系信息的逻辑模型信息,以获取模型关联关系信息;根据模型关联关系信息生成样本数据抽取配置信息;根据样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本;对全量抽取脚本进行迭代运算以确定全量抽取脚本调度的依赖关系;根据依赖关系生成基于有向图数据结构的调度文件;根据调度文件并行调度全量抽取脚本以获取样本数据。通过本发明,可以方便快速的获取企业级数据仓库系统的样本数据。

著录项

  • 公开/公告号CN102073698A

    专利类型发明专利

  • 公开/公告日2011-05-25

    原文格式PDF

  • 申请/专利权人 中国工商银行股份有限公司;

    申请/专利号CN201010611704.4

  • 发明设计人 金雁峰;邬敏炜;黄兆斌;马雯瑾;

    申请日2010-12-28

  • 分类号G06F17/30(20060101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人任默闻

  • 地址 100140 北京市西城区复兴门内大街55号

  • 入库时间 2023-12-18 02:39:01

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-10-17

    授权

    授权

  • 2011-07-06

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20101228

    实质审查的生效

  • 2011-05-25

    公开

    公开

说明书

技术领域

本发明涉及计算机数据仓库技术领域,具体地,涉及一种企业级数据仓库系统的样本数据获取方法及装置。

背景技术

随着企业级数据仓库系统的上游应用不断增加和基础区、汇总层与集市区的数据量持续扩大,又由于企业级数据仓库系统基础区数据是按范式化的模型和抽象的主题进行存放的,基础模型和数据变得愈加复杂而难以理解。以及,由于生产环境的数据安全考虑以及企业级数据仓库系统本身数据量异常庞大等原因,要想做到在生产环境或开发环境对全量数据进行检查与研究分析工作是不可能的,而只能通过抽取样本数据进行研究。这就对样本数据提出了要求,有可用价值的样本数据需要具有以下特点:

(1)保持企业级数据仓库系统原有全量数据的模型属性;

(2)保持全量数据的技术性特征(例如数据完整性特征);

(3)覆盖所有数据仓库涉及的业务;

(4)数据规模应小于生产环境,从而能够完整地部署在磁盘空间不富裕的开发环境。

只有满足以上这几点要求的样本数据才是理论上有效的。

然而,面对以上的样本数据需求,数据准备过程有着相当大的难度。在企业级数据仓库系统项目中,基础区、汇总区和集市区的实体个数超过了3000多个,为提取完整的样本数据,每一个实体的对应物理表都需要开发和维护一个脚本,以抽取符合上述标准的样本数据,这个工作量无疑是巨大的。

另外,由于企业级数据仓库系统的上游系统不断增加,数据模型在每个版本的开发过程中都需要作不同程度的修改,从而可能导致原有实体的样本数据抽取脚本(以下简称抽取脚本)逻辑已无法保证样本数据的显著特征,这样一来,样本数据就失去了实际的意义。因此,为了确保样本数据对企业级数据仓库系统后续开发的重要指导意义,在模型调整的同时需要对相应的抽取脚本做一定的维护。对于超过3000多个实体的企业级数据仓库系统项目来说,大量抽取脚本的编写与变更维护费时费力,严重影响了数据的处理效率。

综上所述,目前的企业级数据仓库系统样本数据的抽取过程中存在费时费力、效率低下的问题。

发明内容

本发明实施例的主要目的在于提供一种企业级数据仓库系统的样本数据获取方法及装置,以解决现有技术中的企业级数据仓库系统样本数据的抽取过程费时费力、效率低下的问题。

为了实现上述目的,本发明实施例提供一种企业级数据仓库系统的样本数据获取方法,该方法包括:解析企业级数据仓库系统的包括模型关联关系信息的逻辑模型信息,以获取所述的模型关联关系信息;根据所述的模型关联关系信息生成样本数据抽取配置信息;根据所述的样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本;对所述的全量抽取脚本进行迭代运算以确定全量抽取脚本调度的依赖关系;根据所述的依赖关系生成基于有向图数据结构的调度文件;根据所述的调度文件并行调度所述的全量抽取脚本以获取样本数据。

优选地,根据所述的调度文件并行调度所述的全量抽取脚本以获取样本数据之后,上述的方法还包括:如果获取样本数据失败,则记录失败信息;根据所述的失败信息重新生成全量抽取脚本;对所述重新生成的全量抽取脚本进行迭代运算以确定新的依赖关系;根据所述新的依赖关系生成基于有向图数据结构的新调度文件;根据所述新调度文件并行调度所述重新生成的全量抽取脚本以重新获取样本数据。

具体地,解析企业级数据仓库系统的包括模型关联关系信息的逻辑模型信息之后,所述的方法还包括:查找符合预定规则的模型主题;根据所述符合预定规则的模型主题获取相应的物理表。

根据所述的样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本包括:根据所述预先设置的抽取参数确定所述物理表的样本抽取逻辑;结合所述的样本数据抽取配置信息和所述物理表的样本抽取逻辑生成所述的全量抽取脚本。

具体地,所述根据所述的模型关联关系信息生成样本数据抽取配置信息包括:根据所述的模型关联关系信息对业务实体进行分类;根据分类的业务实体分别生成样本数据抽取配置信息。

根据所述的调度文件并行调度所述的全量抽取脚本以获取样本数据包括:根据不同的模型主题分别配置调度规则;根据所述的调度文件结合所述的调度规则并行调度所述的全量抽取脚本以获取样本数据。

本发明实施例还提供一种企业级数据仓库系统的样本数据获取装置,所述装置包括:逻辑模型信息解析单元,用于解析企业级数据仓库系统的包括模型关联关系信息的逻辑模型信息,以获取所述的模型关联关系信息;配置信息生成单元,用于根据所述的模型关联关系信息生成样本数据抽取配置信息;抽取脚本生成单元,用于根据所述的样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本;依赖关系确定单元,用于对所述的全量抽取脚本进行迭代运算以确定全量抽取脚本调度的依赖关系;调度文件生成单元,用于根据所述的依赖关系生成基于有向图数据结构的调度文件;样本数据获取单元,用于根据所述的调度文件并行调度所述的全量抽取脚本以获取样本数据。

优选地,上述的装置还包括:失败信息记录单元,用于在获取样本数据失败时,记录失败信息;新抽取脚本生成单元,用于根据所述的失败信息重新生成全量抽取脚本;新依赖关系确定单元,用于对所述重新生成的全量抽取脚本进行迭代运算以确定新的依赖关系;新调度文件生成单元,用于根据所述新的依赖关系生成基于有向图数据结构的新调度文件;新样本数据获取单元,根据所述新调度文件并行调度所述重新生成的全量抽取脚本以重新获取样本数据。

具体地,上述的装置还包括:模型主题查找单元,用于在解析所述的逻辑模型信息之后,查找符合预定规则的模型主题;物理表获取单元,用于根据所述符合预定规则的模型主题获取相应的物理表。

上述的抽取脚本生成单元包括:样本抽取逻辑确定模块,用于根据所述预先设置的抽取参数确定所述物理表的样本抽取逻辑;抽取脚本生成模块,用于结合所述的样本数据抽取配置信息和所述物理表的样本抽取逻辑生成所述的全量抽取脚本。

具体地,上述的配置信息生成单元包括:业务实体分类模块,用于根据所述的模型关联关系信息对业务实体进行分类;配置信息生成模块,用于根据分类的业务实体分别生成样本数据抽取配置信息。

上述的样本数据获取单元包括:调度规则配置模块,用于根据不同的模型主题分别配置调度规则;样本数据获取模块,用于根据所述的调度文件结合所述的调度规则并行调度所述的全量抽取脚本以获取样本数据。

借助于上述技术方案至少之一,通过根据解析逻辑模型信息得到的模型关联关系信息生成样本数据抽取配置信息,然后根据该样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本,并根据对全量抽取脚本进行迭代运算确定的全量抽取脚本调度的依赖关系生成调度文件,之后再根据调度文件并行调度全量抽取脚本以获取样本数据,克服了现有技术中的企业级数据仓库系统样本数据的抽取过程费时费力、效率低下的问题,从而可以方便快速的获取样本数据。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是根据本发明实施例的企业级数据仓库系统的样本数据获取装置的结构框图;

图2是根据本发明实施例的企业级数据仓库系统的样本数据获取装置的详细结构框图;

图3是根据本发明实施例的企业级数据仓库系统的样本数据获取装置的另一详细结构框图;

图4是根据本发明实施例的抽取脚本生成单元103的结构框图;

图5A是根据本发明实施例的配置信息生成单元102的结构框图;

图5B是根据本发明实施例的样本数据获取单元106的结构框图;

图6是根据本发明实施例的基于模型的对数据仓库样本数据抽取的装置结构框图;

图7是根据本发明实施例的模型解析装置1的结构框图;

图8是根据本发明实施例的脚本生成装置2的结构框图;

图9是根据本发明实施例的全表抽取类型的数据流向示意图;

图10是根据本发明实施例的按时间抽取类型的数据流向示意图;

图11是根据本发明实施例的按主外键关系抽取类型的数据流向示意图;

图12是根据本发明实施例的依赖生成装置3的结构框图;

图13是根据本发明实施例的调度执行装置4的结构框图;

图14是基于模型Erwin的对数据仓库样本数据抽取的流程图;

图15是数据仓库模型Erwin图;

图16是基于模型Erwin的配置信息CSV文件示意图;

图17是基于模型Erwin的抽取脚本数据库操作语言示意图;

图18是基于模型Erwin的基于有向图的调度文件示意图;

图19是基于模型Erwin的抽取脚本调度程序示意图;

图20是基于模型Erwin的抽取脚本执行失败信息的示意图;

图21是根据本发明实施例的企业级数据仓库系统的样本数据获取方法的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种企业级数据仓库系统的样本数据获取方法和装置。以下结合附图对本发明进行详细说明。

实施例一

本发明实施例提供一种企业级数据仓库系统的样本数据获取装置,如图1所述,该装置包括:

逻辑模型信息解析单元101,用于解析企业级数据仓库系统的包括模型关联关系信息的逻辑模型信息,以获取模型关联关系信息;

配置信息生成单元102,用于根据模型关联关系信息生成样本数据抽取配置信息;

抽取脚本生成单元103,用于根据样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本;

依赖关系确定单元104,用于对全量抽取脚本进行迭代运算以确定全量抽取脚本调度的依赖关系;

调度文件生成单元105,用于根据依赖关系生成基于有向图数据结构的调度文件;

样本数据获取单元106,用于根据调度文件并行调度全量抽取脚本以获取样本数据。

由以上描述可知,通过配置信息生成单元102根据逻辑模型信息解析单元101解析得到的模型关联关系信息生成样本数据抽取配置信息,抽取脚本生成单元103根据配置信息生成单元102生成的样本数据抽取配置信息以及预先设置的抽取参数生成全量抽取脚本,然后依赖关系确定单元104对全量抽取脚本进行迭代运算以确定全量抽取脚本调度的依赖关系,之后调度文件生成单元105根据依赖关系生成基于有向图数据结构的调度文件,使得样本数据获取单元106可以根据调度文件并行调度全量抽取脚本以获取样本数据,克服了现有技术中的企业级数据仓库系统样本数据的抽取过程费时费力、效率低下的问题,从而可以方便快速的获取样本数据。

优选地,如图2所示,上述装置还可以包括:

失败信息记录单元107,用于在获取样本数据失败时,记录失败信息;

新抽取脚本生成单元108,用于根据失败信息重新生成全量抽取脚本;

新依赖关系确定单元109,用于对重新生成的全量抽取脚本进行迭代运算以确定新的依赖关系;

新调度文件生成单元110,用于根据新的依赖关系生成基于有向图数据结构的新调度文件;

新样本数据获取单元111,根据新调度文件并行调度重新生成的全量抽取脚本以重新获取样本数据。

通过完善的失败作业机制,可以实现数据仓库样本抽取工作的准确执行,确保样本数据的有效性和完整性。

在具体实施过程中,可以采用一调度单元,在失败信息记录单元107记录失败信息之后,调度抽取脚本生成单元103、依赖关系确定单元104、调度文件生成单元105和样本数据获取单元106分别执行,以重新获取样本数据。

以下基于数据仓库模型Erwin(全称为AIIFuusin ERwin Data Modeler)来描述本发明实施例。

为了更好的理解本发明实施例,以下先描述几个技术术语:

业务实体:企业级数据仓库系统基于LDM(Logic Data Model,逻辑数据模型)的分主题业务实体,用于描述相关主题业务的功能与属性;通常,对于非仅逻辑化的业务实体都会对应到一张物理表,样本数据抽取是针对物理表来说的;

模型主表:对于每一个模型主题来说,其中可以找到一个涵盖该主题下所有实体主键记录的主实体,而该主实体对应的物理表就是主表;

实体关联:实体与实体之间关联关系以主外键的形式存在,甚至有时候,这些关联关系是跨主题的;实体关联的信息不会被物理化到物理表中,但是数据的蕴含关系是客观存在的;

抽取依赖:对于同一张物理表来说,可能既是抽取脚本A的源表,同时也是脚本B的目标表,这就意味着脚本A依赖于脚本B;正确的抽取依赖是保证数据完整性的重要前提。

具体地,如图3所示,上述装置还包括:

模型主题查找单元112,用于在解析逻辑模型信息之后,查找符合预定规则的模型主题;

物理表获取单元113,用于根据符合预定规则的模型主题获取相应的物理表。

如图4所示,上述的抽取脚本生成单元103具体包括:

样本抽取逻辑确定模块1031,用于根据预先设置的抽取参数确定物理表的样本抽取逻辑;

抽取脚本生成模块1032,用于结合样本数据抽取配置信息和物理表的样本抽取逻辑生成全量抽取脚本。

如图5A所示,配置信息生成单元102包括:

业务实体分类模块1021,用于根据模型关联关系信息对业务实体进行分类;

配置信息生成模块1022,用于根据分类的业务实体分别生成样本数据抽取配置信息。

如图5B所示,样本数据获取单元106包括:

调度规则配置模块1061,用于根据不同的模型主题分别配置调度规则;

样本数据获取模块1062,用于根据调度文件结合调度规则并行调度全量抽取脚本以获取样本数据。

在具体实施过程中,上述单元或模块在结构上可以合一设置或者独立设置,本发明不限于此。

以下结合Erwin给出一具体实例。

图6是基于模型的对数据仓库样本数据抽取的装置结构框图,如图6所示,该装置包含:模型解析装置1、脚本生成装置2、依赖生成装置3、调度执行装置4。以下分别对这四个装置进行描述。

模型解析装置1与脚本生成装置2和依赖生成装置3分别连接,负责解析企业级数据仓库系统逻辑模型ERWIN图,提取并处理模型存储的关联关系信息,然后生成样本数据抽取配置信息(以下简称配置信息),并将配置信息以文件的形式分别传输给脚本生成装置2与依赖生成装置3;

脚本生成装置2与模型解析装置1和调度执行装置4分别连接,负责通过读取模型解析装置1生成的配置信息,并根据预先设置的抽取参数,以完成全量抽取脚本的生成与自动生产部署工作,待调度执行装置4后续调度运行;

依赖生成装置3与模型解析装置1和调度执行装置4分别连接,负责通过读取模型解析装置1生成的配置信息,对全量抽取脚本进行依赖解析,迭代处理后将调度依赖抽象成有向图数据结构,并生成用于描述依赖整体情况的调度文件,供后续调度执行装置4有序并行调度抽取脚本;

调度执行装置4与脚本生成装置2和依赖生成装置3分别连接,负责读取依赖生成装置3生成的调度文件,按依赖关系以并行调度数据抽取脚本,并支持执行监控、失败处理等运维手段,高效、准确且自动地完成样本抽取的调度执行工作。

以下分别详细描述上述四个装置。

(一)模型解析装置1

图7是该模型解析装置1的结构示意图,如图7所示,该模型解析装置1包括:关联关系提取装置101、主表识别装置102、业务实体处理装置103、配置文件生成装置104,其中:

关联关系提取装置101将企业级数据仓库系统存储在Erwin图中的完整模型信息通过Erwin工具接口导出后,通过对完整模型信息中的实体属性、物理表信息、主外键字段与主、子实体关系的提取和分析,将这些信息存储于企业级数据仓库系统元数据库中。这些信息完整地描述了整个数据仓库模型实体的整体关联情况,包括字段关联、代码匹配等等,处理完成后所包含的数据表结构如下表所示,其中,表1、表2为模型实体描述,表3、表4为模型实体属性描述,表5、表6为模型实体属性关联描述。

表1

表2

  序号  域名  备注  1  实体名  2  实体描述  3  所属主题  4  是否仅逻辑化

表3

表4

  序号  域名  备注  1  实体名  2  属性名  3  属性描述  4  是否主键  5  是否外键

表5

表6

  序号  域名  备注  1  主实体名  2  主属性名  3  关联实体名  4  关联属性名  5  关联关系描述

主表识别装置102与关联关系提取装置101连接,负责对关联关系提取装置101的模型解析过程进行监测,找到预定规则的模型主题,该预定规则为各模型主题中不包含外键,且仅以主实体身份出现在模型实体属性关联描述表中的实体。然后,将这些符合预定规则的实体对应的物理表标记为主表。一般对于每个主题来说只有一张主表,而对仅逻辑化的业务实体主表不作处理。

业务实体处理装置103与主表识别装置102连接,是遍历处理业务实体的核心装置,其负责根据业务实体的性质、属性及数据量等情况将业务实体分类,并为不同类别的业务实体制定相应的数据抽取方案,并记录相应的信息数据。业务实体的处理可分为以下三类:

代码和机构类主题的实体:由于没有相应的模型实体属性关联关系,且该类主题的数据量相对都非常小,标记为全量数据抽取;

事件类主题的实体:在企业级数据仓库系统物理化时将事件类主题的主表实现为仅逻辑化,又由于事件类主题实体对应的物理表数据量一般都非常大,因此标记为通过筛选时间跨度的方式进行数据抽取,并记录筛选时间字段;

协议和当事人类主题的实体:此类主题在设计时严格遵守企业级数据仓库系统范式化模型设计规范,模型实体间关联结构清晰,标记为通过实体关联关系进行样本数据抽取工作,并记录对应物理表的主外键关系。

配置文件生成装置104与业务实体处理装置103连接,负责将业务实体处理装置103的处理结果整理、汇总,并通过一定规范以数据接口的方式生成配置文件,传输给脚本生成装置2和依赖生成装置3,以进行后续处理。

(二)脚本生成装置2

图8是脚本生成装置2的结构框图,如图8所示,该脚本生成装置2包括:主表逻辑配置装置201、脚本生成部署装置202,其中:

主表逻辑配置装置201负责根据主表识别装置102提供的主表清单,对各主表进行抽取逻辑的确定,通过参数配置过滤字段及对应筛选值的方式来筛选主表记录。其中,筛选值可以配置为常数,也可以配置为关联相关实体表的字段取值,从而达到主表与其他业务实体的样本数据筛选的目的;

脚本生成部署装置202与主表逻辑配置装置201连接,负责根据模型解析装置1生成的配置文件、结合主表抽取逻辑、分类别全量生成样本抽取脚本,并按预定的生产规范将脚本逐一部署至生产环境,待后续调度执行。其抽取脚本的抽取逻辑如下:

首先,抽取脚本在目标数据库(即开发环境)建立一张物理表(以下称为目标表),该目标表的结构与源数据库(即生产环境)中对应物理表(以下称为源表)的表结构完全相同。目标表建立完成之后,随即根据配置信息进行不同类型的抽取操作,具体为:

全表抽取类型:将源表数据完全保留,抽取入目标表,作为样本数据,具体数据流向可参见图9所示的示意图;

按时间抽取类型:根据配置信息记录的业务日期字段,将某个时间段之内的数据从源表抽取入目标表,作为样本数据,具体数据流向可参见图10所示的示意图;

按主外键关系抽取类型:通过主实体对应的已经完成样本抽取的物理表(以下简称关联表)与源表(子实体对应的物理表)主外键关联的方式,对源表的数据记录作数据库关联筛选操作,使得源表中只包含关联表中存在的主键记录,并将结果集抽入目标表,作为样本数据,具体数据流向可参见图11所示的示意图。在具体操作中,对目标表进行样本抽取操作的前提是关联表已经经过数据筛选,也就是存在硬性的依赖关系,以确保样本数据的完整性和一致性。

上述提到的三种样本抽取逻辑中,全表抽取类型与按时间抽取类型的抽取脚本都是对源表的单一数据库操作,也就是说,不存在任何依赖条件,可以无条件直接并行执行。但是对于按主外键关系抽取类型来说,抽取脚本牵涉到源表与关联表的至少两张物理表的操作,并且有一个前提条件也就是关联表已经完成了样本数据的抽取工作,因此此类的抽取作业存在着一个隐含的作业依赖关系。而对于层次比较多的模型主题来说(例如协议主题),隐含的作业依赖关系可能嵌套很多层,对于基于关联表抽取的作业有着非常严格的调度先后顺序。

(三)依赖生成装置3

图12是依赖生成装置3的结构框图,如图12所示,该依赖生成装置3包括:迭代依赖解析装置301、依赖配置生成装置302,其中:

迭代依赖解析装置301,负责根据脚本生成装置2生成的全量脚本逻辑,通过迭代循环算法,将作业看作节点、有向边作为依赖,一层一层关联构建基于有向图数据结构的全局依赖数据结构;

依赖配置生成装置302与迭代依赖解析装置301连接,负责将存储于内存中的全局作业依赖以邻接表的形式生成调度文件,传输给调度执行装置4,以便其可以通过最简单的方式重建全局调度依赖结构进行作业的有序调度。

(四)调度执行装置4

图13是调度执行装置4的结构框图,如图13所示,该调度执行装置4包括:调度队列控制装置401、执行情况监控装置402、失败信息捕获装置403、失败作业重跑装置404。其中:

调度队列控制装置401,通过读取依赖生成装置3生成的调度文件,以邻接表为基础在内存中重建基于有向图的全局依赖结构,并根据作业依赖关系并发执行抽取程序,当A作业跑完后自动触发其依赖作业B,若B满足依赖则放入等待执行的作业队列,直至所有作业执行结束。对于不同类型节点的作业作对应的调度处理如下:

孤立节点:对于没有边连接的孤立节点来说,说明该抽取作业没有任何依赖可以放入等待执行的作业队列;

出发节点:出发节点定义为只存在从该节点出发的有向边的节点,即,若v是出发节点,那么,对于任意的边<x,y>,存在x=v且不存在y=v。说明该抽取作业是依赖端首位的作业,可以放入等待执行的作业队列。当该抽取作业成功完成抽取后,将从该节点出发的有向边从有向图中删除(即删除依赖),随之产生的出发节点与孤立节点可以放入等待执行的作业队列;若运行失败,那么遍历从该节点出发能够到达的所有节点,将遍历到的节点全部置为执行失败。

其他节点:包括了中间节点与到达节点(与出发节点的定义刚好相反)需要等待通过该节点有向边之前的出发节点运行成功后删除有向边,使得自己变成出发节点或者孤立节点时才能放入等待执行的作业队列;若之前的出发节点运行失败,那么该节点也将被置为执行失败。

执行情况监控装置402与调度队列控制装置401连接,负责监控当前正在执行作业的相关情况,包括运行时间、占用资源和运行结果等,并支持作业强制中止以应对一些特殊情况,被中止的作业被视为失败作业处理;

失败信息捕获装置403与执行情况监控装置402连接,负责在调度执行过程中收集记录运行失败的作业信息,放入失败作业的清单,并记录详细完整的错误日志,提供后续查询使用。

失败作业重跑装置404与失败信息捕获装置403连接,负责为失败作业清单中的抽取作业重新建立仅含失败作业清单中作业的依赖结构,并通过调度队列控制装置401为上次执行失败作业完成二次调度执行。以此方式作为样本抽取执行的失败处理机制,直至所有抽取作业完全调度成功则执行过程结束。

图14是基于上述模型Erwin的对数据仓库样本数据抽取的流程图,如图14所示,通过解析数据仓库模型Erwin图(具体可参见图15)的导出文件,生成配置信息CSV文件(具体参见图16),通过读取配置信息CSV文件,生成按不同抽取分类对各个物理表生成对应逻辑的抽取脚本数据库操作语言(具体参见图17),并部署于生产环境。通过读取配置信息CSV文件,以迭代算法确定抽取脚本调度的依赖关系,并生成基于有向图的调度文件(具体参见图18)。通过Java编写的抽取脚本调度程序(具体参见图19)对全量抽取脚本并行调度执行,并监控每一个作业的执行情况。最后,记录抽取脚本执行失败的信息(具体参见图20),以便后续调整脚本逻辑重跑失败队列中的抽取脚本。

由以上描述可知,通过解析企业级数据仓库系统的LDM逻辑模型各主题业务实体的关联关系,从主要模型主题的主表出发,生成全量抽取脚本及对应的抽取依赖规则,自动并行调度抽取脚本配以完善的失败作业重跑机制以实现数据仓库样本抽取工作的准确执行,确保样本数据的有效性和完整性。

实施例二

本发明实施例提供一种企业级数据仓库系统的样本数据获取方法,如图21所示,该方法包括:

步骤101,解析企业级数据仓库系统的包括模型关联关系信息的逻辑模型信息,以获取模型关联关系信息;

步骤102,根据模型关联关系信息生成样本数据抽取配置信息;

步骤103,根据样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本;

步骤104,对全量抽取脚本进行迭代运算以确定全量抽取脚本调度的依赖关系;

步骤105,根据依赖关系生成基于有向图数据结构的调度文件;

步骤106,根据调度文件并行调度全量抽取脚本以获取样本数据。

由以上描述可以看出,通过根据解析逻辑模型信息得到的模型关联关系信息生成样本数据抽取配置信息,然后根据该样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本,并根据对全量抽取脚本进行迭代运算确定的全量抽取脚本调度的依赖关系生成调度文件,之后再根据调度文件并行调度全量抽取脚本以获取样本数据,克服了现有技术中的企业级数据仓库系统样本数据的抽取过程费时费力、效率低下的问题,从而可以方便快速的获取样本数据。

通过在根据调度文件并行调度全量抽取脚本以获取样本数据之后,上述方法还包括:如果获取样本数据失败,则记录失败信息;根据失败信息重新生成全量抽取脚本;对重新生成的全量抽取脚本进行迭代运算以确定新的依赖关系;根据新的依赖关系生成基于有向图数据结构的新调度文件;根据新调度文件并行调度重新生成的全量抽取脚本以重新获取样本数据。通过完善的失败作业重跑机制,可以实现数据仓库样本抽取工作的准确执行,确保样本数据的有效性和完整性。

类似于上述实施例一,以下基于数据仓库模型Erwin(全称为AllFuusin ERwin DataModeler)来描述本发明实施例。

具体地,在执行步骤101之后,上述方法还包括:查找符合预定规则的模型主题;根据符合预定规则的模型主题获取相应的物理表。例如,预定规则可以是各模型主题中不包含外键,且仅以主实体身份出现在模型实体属性关联描述表中的实体。

然后,上述的样本数据抽取配置信息、以及预先设置的抽取参数生成全量抽取脚本包括:根据预先设置的抽取参数确定物理表的样本抽取逻辑,并结合样本数据抽取配置信息和物理表的样本抽取逻辑生成全量抽取脚本。

上述的根据模型关联关系信息生成样本数据抽取配置信息具体包括:根据模型关联关系信息对业务实体进行分类;根据分类的业务实体分别生成样本数据抽取配置信息。

之后,上述的调度文件并行调度全量抽取脚本以获取样本数据包括:根据不同的模型主题分别配置调度规则;根据调度文件结合调度规则并行调度全量抽取脚本以获取样本数据。

具体地,上述步骤的具体实施过程可以参考上述实施例一中的描述,在此不再赘述。

本发明实施例利用数据仓库模型实体的关联关系,完成物理表抽取类型的划分、抽取脚本的生成以及样本抽取作业的并行调度工作,既保证了样本数据的一致性和完整性,又减少了大量的开发与维护代价。

表7为传统样本抽取方法与本发明实施例的基于模型的样本抽取方法进行的横向比较,如表7所示,本发明实施例与以往传统样本抽取方法相比,在效率、质量及错误恢复等方面都有很大的优势。

表7

  比较项  传统抽取方法  本发明实施例抽取方法  抽取逻辑确认  人工确认,代价大  自动确认,代价小  脚本开发与维护  需定期维护,成本高  自动生成,成本低  作业依赖关系  人为控制,并发度不理想  自动配置,最大并发量  运行监控  无法做到  图形化界面,可逐一监控  失败作业重跑机制  无,失败作业处理复杂  自动收集,自动配置重跑

具体地,与传统的方法相比,本发明实施例的效果和优点体现在以下几个方面:

(1)自动解析数据仓库模型

通过解析Erwin图得到数据仓库模型主题实体间的关系,并生成配置信息;

根据配置信息将模型主题实体分类处理;

根据模型设计规范与预定的业务规则确定重要模型主题的主表;

自动完成样本数据抽取前的预先准备工作;

(2)抽取脚本配置一体化:

通过参数配置完成主表的样本抽取逻辑以限定整个样本数据集的数据范围与数据规模;

根据配置信息对于不同类主题下的物理表生成对应的抽取脚本;

自动将全量物理表的抽取脚本部署至生产环境以备调度使用;

(3)作业调度零干预:

解析配置信息以生成基于有向图的调度控制文件;

限定抽取的物理表范围,并开始自动并行的抽取任务执行;

清晰的执行监控体系能第一时间了解作业的执行进度;

完善的失败重跑机制使得错误恢复工作一键完成,无需人工确认与干预。

由以上描述可知,本发明实施例通过简单的信息获取与部署即可完成全量数据仓库的样本抽取工作,并且对于数据仓库的版本和模型的变更来说是完全透明的,成本低效率高,保证了样本数据对数据仓库设计与开发的指导意义,促使数据仓库高效稳定的运行。

综上所述,本发明实施例通过脚本生成自动化、依赖调度一体化和数据完整标准化来对基于模型的数据仓库样本数据进行抽取,克服了现有的企业级数据仓库系统样本数据的抽取费时费力、效率低下的问题,从而可以确保样本数据的显著性与有效性,并且使样本数据能容易、完整地在开发环境部署,大大降低了抽取脚本与调用维护的代价,也保证了抽取后样本数据的准确性与完整性,同时具备可配置、零干预和高效率等优势。由于本发明实施例采用逻辑模型驱动样本数据的抽取,因此具有很强的通用性,在逻辑模型设计完善的其他领域的系统中也很容易推广使用。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号