掌桥专利:专业的专利平台
掌桥专利
首页

一种基于元数据管理分析系统

文献发布时间:2023-06-19 10:43:23


一种基于元数据管理分析系统

技术领域

本发明涉及元数据管理技术领域,具体涉及一种基于元数据管理分析系统。

背景技术

元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述记录数据仓库中模型的定义、各层级间的映射关系、监控数据仓库的数据状态及ETL的任务运行状态。一般通过元数据资料库来统一地存储和管理元数据,其主要目的是使数据仓库的设计、部署、操作和管理能达成协同一致。元数据是数据仓库管理的重要组成部分,元数据管理是企业级数据仓库中的核心部分,贯穿了数据仓库的整个生命周期,使用元数据驱动数据仓库的开发,使得数据仓库自动化、可视化。

元数据的基本特点主要有:

a)元数据一经建立,便可共享。元数据的结构和完整性依赖于信息资源的价值和使用环境;元数据的开发与利用环境往往是一个变化的分布式环境;任何一种格式都不可能完全满足不同团体的不同需要;

b)元数据首先是一种编码体系。元数据是用来描述数字化信息资源,特别是网络信息资源的编码体系,这导致了元数据和传统数据编码体系的根本区别;元数据的最为重要的特征和功能是为数字化信息资源建立一种机器可理解框架。

数据仓库需要借助元数据管理,这是因为数据仓库的数据加工复杂,用户访问方式复杂,以某银行的DW数据为例:上游系统60个,下游系统20多个,仓库内部的表多达12000多个,运行的ETL任务6000多,每个月都有新版本上线,需要维护的数据信息量众多,上下游系统多,变更频繁;维护周期长。此外,现有技术往往采用三范式建模,因此LDM的核心表会有大量的来源与目标,一旦做影响分析,结果就会扩散放大。最终导致分析结果无法使用。

发明内容

有鉴于此,本发明要解决的问题是提供一种基于元数据管理分析系统。

为解决上述技术问题,本发明采用的技术方案是:一种基于元数据管理分析系统,包括元模型管理模块,所述元模型管理模块配置含有源系统业务数据表的业务单元和映射管理单元,所述源系统业务数据表存储有若干增量字段,所述映射管理单元用于创建元数据的映射关系和代码匹配规则;

元数据采集模块,所述元数据采集模块用于采集元数据并将采集到的元数据传输至元数据处理模块,所述元数据采集模块包括模板管理单元、元数据库以及入库审核单元;所述模板管理单元用于提供导入导出元数据的模板,所述元数据库配置有若干元数据,所述入库审核单元用于对产生变动的元数据提供入库审核功能;以及

元数据处理模块,所述元数据处理模块用于将源系统业务数据表进行处理并整合到元数据库。

在本发明中,优选地,所述元数据处理模块包括数据抽取模块、数据清洗模块、数据库转换模块以及数据加载模块,所述数据抽取模块用于确定数据源及其来源归属,所述数据清洗模块用于将不完整数据、错误数据、重复数据进行处理剔除;所述数据库转换模块用于空值处理、数据拆分以及负责验证,所述数据加载模块用于将数据缓冲区的数据加载到数据库对应表中。

在本发明中,优选地,所述元模型管理模块还配置有元访问分析模块,所述元访问分析模块用于提供元数据相互关联度、元数据访问频度以及版本比对。

在本发明中,优选地,所述增量字段设置为时间字段或自增长字段,所述增量字段用于判断新增数据或修改数据。

在本发明中,优选地,所述数据加载模块采用全量方式或增量方式完成数据加载。

在本发明中,优选地,所述元模型管理模块的架构由下至上依次包括对象模型层、基础层、资源层、分析层和管理层,所述对象模型层用于提供元数据模型的类的基本结构和相应的类型属性,所述基础层用于提供为驻留于更高层次的其他包提供服务,所述资源层用于作为源数据或目标数据以提供数据资源双向交换,所述分析层用于提供通用元数据,所述管理层用于描述数据仓库信息流以及对应数据仓库信息流的重要事件。

在本发明中,优选地,所述基础层包括业务信息包、数据类型包、表达式包、键和索引包、软件部署包以及类型映射包。

在本发明中,优选地,所述资源层包括对象包、关系型包、记录包、多维包以及XML包。

在本发明中,优选地,所述分析层包括转换包、OLAP分析包、数据挖掘包、信息可视化包以及业务术语包。

在本发明中,优选地,所述元数据库包括DDL、SPQ、Source Data、Excel、XML和Perl。

在本发明中,优选地,所述数据库对应表包括元数据实例表、元数据组合关系表和元数据依赖关系表。

本发明具有的优点和积极效果是:本发明通过元模型管理模块中的映射管理单元创建元数据的映射关系和代码匹配规则,与元数据采集模块的相互配合,对元数据库配置的若干元数据产生变动的部分进行入库审核,充分利用元数据库性能,由于元模型管理模块还配置有元访问分析模块,元访问分析模块能够提供元数据相互关联度、元数据访问频度以及版本比对,扩展性能较好,能够解决血缘分析放大问题,可以保持所有的数据始终在数据库当中,避免数据的加载和导出,从而保证效率,进一步提高系统的可监控性与数据的可追溯性。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1是本发明的一种基于元数据管理分析系统的架构拓扑图;

图2是本发明的一种基于元数据管理分析系统的元数据模型结构图;

图3是本发明的一种基于元数据管理分析系统的ETL工具原理示意图;

图4是本发明的一种基于元数据管理分析系统的元访问分析模块实现功能的元数据对象关系示意图;

图5是本发明的一种基于元数据管理分析系统的整体结构示意图。

具体实施方式

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

需要说明的是,当组件被称为“固定于”另一个组件,它可以直接在另一个组件上或者也可以存在居中的组件。当一个组件被认为是“连接”另一个组件,它可以是直接连接到另一个组件或者可能同时存在居中组件。当一个组件被认为是“设置于”另一个组件,它可以是直接设置在另一个组件上或者可能同时存在居中组件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

如图5所示,本发明提供一种基于元数据管理分析系统,包括元模型管理模块,所述元模型管理模块配置含有源系统业务数据表的业务单元和映射管理单元,所述源系统业务数据表存储有若干增量字段,所述映射管理单元用于创建元数据的映射关系和代码匹配规则;

元数据采集模块,所述元数据采集模块用于采集元数据并将采集到的元数据传输至元数据处理模块,所述元数据采集模块包括模板管理单元、元数据库以及入库审核单元;所述模板管理单元用于提供导入导出元数据的模板,所述元数据库配置有若干元数据,所述入库审核单元用于对产生变动的元数据提供入库审核功能;以及

元数据处理模块,所述元数据处理模块用于将源系统业务数据表进行处理并整合到元数据库。具体而言,通过直连源系统业务数据表的数据库采集物理模型,需网络连通能访问到数据库,并具备源数据到目标数据映射权限。模板管理单元用于采集元数据,模板采用Excel作为文件的格式。对于一般类型的模板,元模型中的每个“类”的元数据对应一个Excel中的Sheet工作表,元数据之间的组合关系通过被组合的元数据路径体现,元数据之间的依赖关系用专门的Sheet存放,这种类型的模板适用于系统元数据的导入导出,系统中所有的元模型(类)都可以在本模板中体现。用户均可按需要灵活定制Excel中的名字、Sheet中列于元模型的对应关系,为了便于使用,按类的属性的数据类型在Excel中增加数据有效性验证。

在本实施例中,进一步地,所述元数据处理模块包括数据抽取模块、数据清洗模块、数据库转换模块以及数据加载模块,所述数据抽取模块用于确定数据源及其来源归属,所述数据清洗模块用于将不完整数据、错误数据、重复数据进行处理剔除;所述数据库转换模块用于空值处理、数据拆分以及负责验证,所述数据加载模块用于将数据缓冲区的数据加载到数据库对应表中。具体可参见图3,由于元数据的采集是从不同的元数据载体通过数据抽取模块进行数据抽取得到,在所有数据对象、数据关系采集完成后需要对采集的结果进行验证。元数据处理模块采用ETL方式,先抽取、转换、加载到目标数据库。实现过程主要有四种模式,触发器模式、增量字段、全量同步和日志比对,触发器模式是根据抽取要求,在要被抽取的源系统业务数据表上建立插入、修改、删除触发器,当源系统业务数据表中数据发生变化时,则被相应的触发器将变化的数据写入一个增量日志表,增量抽取是从增量日志表中而非直接在源表中抽取数据同时增量日志表中抽取过的数据及时被标记或删除。增量日志表不存储增量数据的所有字段信息,而只存储源系统业务数据表的名称、更新的关键字值,从源表中获取对应的完整记录,再根据更新操作类型,对目标数据库进行相应处理。

全量方式采用load方式,增量方式采用根据业务规则MEGRE进数据库。向下查看定义,包括字段和索引。

通过增量字段获取变化数据,利用的是在源系统业务数据表中增加增量字段,当源系统业务数据表中数据新增或被修改时,增量字段就会发生变化,时间戳字段就会被修改为相应的系统时间,自增长字段则增加,进而能判断出哪些是新增数据哪些是修改数据,该数据抽取的优点是抽取性能较高,判断过程简单易行。

该过程能够充分利用数据库引擎来实现可扩展性能,保持数据始终在数据库中,避免数据的加载和导出,从而保证效率,提高系统的可监控性;能够根据数据的分布情况进行并行处理优化,同时能够利用数据库的固有功能优化磁盘;通过对相关数据库进行性能优化,大大提升了数据处理的效率。

元数据对象关系呈立体网状结构,具体可参见图4,

看本体——查看对象本身定义,例如表的名称、注释等信息。

向上看——查看对象所属对象的定义,例如表所归属的数据库。

向下看——查看对象包含的对象的定义,例如表所包含的字段、索引等。

向前看——查看对象的上游信息对象,例如该表的数据的来源表。

向后看——查看对象的下游信息对象,例如该表的数据的目标表。

看历史——查看对象的历史变更信息。例如该表在上一个版本中的内容。

看友邻——查看与对象有关系的其他对象,例如涉及该表的脚本等信息。

在本实施例中,进一步地,所述元模型管理模块还配置有元访问分析模块,所述元访问分析模块用于提供元数据相互关联度、元数据访问频度以及版本比对。影响分析:向下分析一个元数据对象对下游对象的影响;血缘分析:与影响分析的方向相反,向上追溯一个对象的数据来源;全链分析:从某对象出发,向上下游双方向进行分析:活力分析:分析一个数据库对象被访问的频度;孤立对象分析:分析数据准备区(SData)、物理模型区(PData)中的孤立元数据对象;一致性分析:定期分析元模型中的元数据是否与实际情况一致;版本比对:选择任意两个时点的版本进行比对;质量分析:分析数据仓库中的元数据的质量。

由于传统LDM大多采用三范式建模,因此LDM的核心表会有大量的来源与目标,一旦做影响分析,结果就会扩散放大。最终导致分析结果无法使用,然而本发明采用SQL解析器模块能分析数据的真实来源与目标,使得分析结果较为可靠,解析结果实现精细化。

在本实施例中,进一步地,所述增量字段设置为时间字段或自增长字段,所述增量字段用于判断新增数据或修改数据。

在本实施例中,进一步地,所述数据加载模块采用全量方式或增量方式完成数据加载。

在本实施例中,进一步地,所述元模型管理模块的架构由下至上依次包括对象模型层、基础层、资源层、分析层和管理层,所述对象模型层用于提供元数据模型的类的基本结构和相应的类型属性,所述基础层用于提供为驻留于更高层次的其他包提供服务,所述资源层用于作为源数据或目标数据以提供数据资源双向交换,所述分析层用于提供通用元数据,所述管理层用于描述数据仓库信息流以及对应数据仓库信息流的重要事件,重要事件具体为转换执行事件、度量事件和请求更改事件。具体可参见图1和图2,转换执行事件记录了最近的ETL过程执行的细节信息,标识了ETL过程开始和结束的时间,这些信息能够用来确定数据仓库中一些与过程执行状态相关的特定信息。度量事件能够为模型元素维护一些度量的标准,如其可以用于保存一个表的真实大小、估计大小和计划大小,可以协助预测系统的规模并作出决策。一个仓库过程对象将一个ETL转换过程与一个事件联系起来,事件集被用来触发转换的执行。

具体而言,对象模型层提供描述其他包中元数据模型的类的基本结构和相应的类型属性,定义元模型的概念、关系和约束,包括核心包、行为包、关系包和实例包;其中,核心包包含其他包使用的基本类和关联且不依赖于其他包;行为包用于描述其他包中类的行为特征,提供一个记录特定行为请求的基础;关系包用于描述两对象之间如何互相联系,定义泛化和关联两种类型关系,泛化指的是具有普遍性的对象和特定对象的关联、层次化的结构;关联是指定义两个或多个类元之间的特定关系;实例包提供交换过程中包含带值元数据的基础结构。

在本实施例中,进一步地,所述基础层包括业务信息包、数据类型包、表达式包、键和索引包、软件部署包以及类型映射包。基础层用于提供为驻留在更高层次的其他包提供特点服务的包,其中,业务信息元模型给所有包提供了面向业务的信息;数据类型包用于提供支持定义基本数据类型和构造数据类型所需的基本结构;表达包用于提供统一的表达式树的格式,用于为转换包进行服务;键和索引包用于提供统一的对元素进行标识、排序和检索所需的方法,能够为其他包所共享,其中,索引是按顺序安排的元素列表,键则是一个或多个值的集合,用来确定数据库中的某项纪录;软件部署包用于管理和记录各个软件系统的分布和连接情况,记录如何使用数据仓库中的软件和硬件;类型映射包定义了作为数据类型集合的类型系统的概念,还支持类型系统间数据类型的转换,主要为满足不同系统间数据类型差异进行的映射,能够进行多对多映射。

在本实施例中,进一步地,所述资源层包括对象包、关系型包、记录包、多维包以及XML包。资源层用于描述以包为中介的交换过程中作为源数据或目标数据的数据资源结构,由于对象模型层均可以直接建立面向对象的数据资源描述,也用于描述面向对象数据库的结构和面向对象应用组件的结构,如遇到不能处理的特征和功能时,可定义扩展包来增加处理能力;关系型包用于描述关系数据库的模式,记录包用于提供用于描述各种面向记录的数据结构的基础结构,其中包括记录的结构、记录的示例以及记录文件;多维包用于提供关于多维数据库的通用描述,包括多维模型中的维、维的层次,维属性、维成员和维度量等数据结构;XML包定义了如何使用XML文档描述数据仓库中的数据源,XML包包含用于描述XML数据源的通用类和关联。

在本实施例中,进一步地,所述分析层包括转换包、OLAP分析包、数据挖掘包、信息可视化包以及业务术语包。转换包包括涉及ETL过程中的元模型,其提供了描述ETL工具和ETL行为的通用元数据,特别是将ETL过程与数据源和数据目标进行关联,数据源和数据目标可为任何类型(基于关系或面向对象),任何粒度(类、属性、表、列);允许将ETL过程进行分组,并行执行以提高执行效率,包括ETL过程的加载情况,行为和步骤等;定义了描述OLAP系统通用概念的元数据,提供了将OLAP中的元数据映射到据图的物理数据源中的步骤;数据挖掘包用于为数据挖掘模型构建较为通用的表示方法;信息可视化包定义支持信息发布和信息可视化的元数据,为实现更加复杂的可视化机制提供支持;数据仓库的用户需要很好的理解仓库中包含的信息,以及仓库提供的工具,业务术语包用于提供能表达业务元数据的实体和关系。

在本实施例中,进一步地,所述元数据库包括DDL、SPQ、Source Data、Excel、XML和Perl。通过Excel模板文件采集标准化定义映射,模板中定义信息项LDM映射。元数据库支持采用原模板的导出,便于用户修改数据后再导入,从而形成数据的闭环,保证元数据的可传递性及易维护性;分析结果原模板导出对于影响血缘分析的结果支持按照原模板导出,方便用户快速锁定相关元数据并导出修改,修改后支持导入以更新元数据。

在本实施例中,进一步地,所述数据库对应表包括元数据实例表、元数据组合关系表和元数据依赖关系表。数据加载模块通过查询数据库对应表中的元数据实例表,并根据元数据实例表构建映射表,数据加载模块查询数据库对应表中的元数据实例表,并获取元数据实例的序列号、元数据类型和元数据名称三个字段所对应的数据,数据加载模块对元数据实例序列号进行哈希运算,进而获得数据实例序列号对应的哈希值,数据加载模块将元数据实例序列号与所对应的哈希值保存至上述映射表中。

以上对本发明的实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明范围所作的均等变化与改进等,均应仍归属于本专利涵盖范围之内。

相关技术
  • 一种基于元数据管理分析系统
  • 一种基于元数据管理系统的服务发布及监管系统及方法
技术分类

06120112657376