元数据管理方法及系统的制作方法

文档序号:6575563阅读:530来源:国知局
专利名称:元数据管理方法及系统的制作方法
元数据管理方法及系统技术领域
本发明关于元数据管理技术,特别关于一种元数据管理方法及系统。
技术背景
元数据管理系统已成为当前业界企业级数据仓库CEnterprise Data Warehouse EDW)必不可少的组成部分,能够为EDW的开发、运行和管理提供足够的信息,提升 EDW的生产效率,保证EDW的稳定运行。
构建数据仓库的元数据管理系统需要考虑两个方面如何实现数据仓库的各子 系统中元数据的同步,并利用业界的标准和工具做好元数据的管理和元数据的分析;如 何提供简洁高效的运行访问接口。
目前,业界虽然有很多用于元数据管理的工具,这些元数据管理的工具能够提 供元数据历史管理、元数据分析以及面向对象的元数据访问接口,以支持元数据库的构 建和访问。然而,基于业界标准实现的元数据工具,在访问性能和接口的简洁性方面, 无法满足支持数据仓库运行这一时效性很高的要求;基于数据库的二维表所建立的关系 模型,无法进行复杂的元数据分析,并且不能与国际标准的接口兼容。发明内容
本发明实施例的目的在于提供一种元数据管理方法及系统,通过元数据管理系 统中双模型之间的元数据同步,以实现元数据管理系统与现有国际标准接口兼容及数据 仓库运行时的快速响应,提供仓库运行所必需的元数据信息。
为了实现上述目的,本发明实施例提供一种元数据同步方法,所述方法包括 从数据源获取元数据;将所述的元数据存储到关系数据库中;建立所述关系数据库与对 象数据库的同步映射关系;根据所述的同步映射关系将所述关系数据库中存储的元数据 同步存储到所述的对象数据库中;将所述的关系数据库存储的元数据与外部运行系统进 行数据交互;将所述的对象数据库存储的元数据与外部WEB服务器进行数据交互。
为了实现上述目的,本发明实施例还提供一种元数据同步系统,所述系统包 括元数据获取单元,用于从数据源获取元数据;元数据存储单元,用于将所述的元 数据存储到关系数据库中;同步映射关系建立单元,用于建立所述关系数据库与对象数 据库的同步映射关系;元数据同步单元,用于根据所述的同步映射关系将所述关系数据 库中存储的元数据同步存储到所述的对象数据库中;关系数据库数据交互单元,用于将 所述的关系数据库存储的元数据与外部运行系统进行数据交互;对象数据库数据交互单 元,用于将所述的对象数据库存储的元数据与外部WEB服务器进行数据交互。
本发明实施例的有益技术效果元数据管理系统中双模型之间的元数据同步, 可以通过对象模型实现元数据管理系统与现有国际标准接口兼容;还可以通过关系模型 的接口实现数据仓库运行时的快速响应,提供仓库运行所必需的元数据信息,保证数据 仓库高效稳定的运行。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或 现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图IA为现有技术元数据管理系统的应用示意图IB为本发明实施例元数据管理系统的应用示意图2A为本发明实施例元数据管理系统102的结构示意图2B为本发明实施例元数据同步单元204的结构示意图3为本发明实施例元数据管理方法流程图4为本发明实施例元数据管理系统与外部系统的连接的结构示意图
图5为本发明实施例元数据运行库装置401的功能示意图6为本发明实施例元数据知识库装置401的功能示意图7为本发明实施例元数据桥接器装置403的结构示意图8为本发明实施例两个模型之间同步的总体流程图9为本发明实施例配置文件中的同步映射关系示意图10为本发明实施例孤立对象的同步流程图11为本发明实施例子对象的同步流程图12为本发明实施例对象间平行关系的同步流程图13为本发明实施例XML文件的具体格式示意图14为本发明实施例具体的配置文件的实例示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、 完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施 例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得 的所有其他实施例,都属于本发明保护的范围。
图IA为现有技术元数据管理系统的应用示意图。如图所示,数据仓库中的元数 据管理系统102包含对象数据库104,元数据管理系统102从数据源101获取需要加载的 元数据,数据源可以是开发的文档及数据字典等。元数据管理系统102将获取的元数据 存储到对象数据库104中;对象数据库104向元数据管理员105及元数据用户106操作的 元数据分析应用系统提供国际标准接口,元数据管理员105及元数据用户106通过国际标 准接口操作元数据,例如,元数据用户106可以通过国际标准接口进行元数据信息浏览 (包括主题浏览、TEL信息浏览、DQ信息浏览及架构浏览等)及元数据信息分析等网络 服务,如活力分析(被访问次数),生命周期分析(分析数据的来源及目的地),影响分 析(数据变化对数据仓库的影响)等。
元数据管理系统102的外部运行系统(如数据质量检查DQ系统109、ETL调度 系统110及外部数据加载系统),外部运行系统如图中的虚线框所示,ETL指源系统数据在数据仓库系统中抽取(Extraction)、转换(Trasfromation)、加载(Loading)的过程,也用于表示数据仓库系统中数据加载转换的子系统。无法通过国际标准接口向对象数据库104 访问数据,而是直接从元数据源中获取数据,无法满足元数据的同步需求。
图IB为本发明实施例元数据管理系统的应用示意图,如图所示,数据仓库中的 元数据管理系统102从数据源101获取需要加载的元数据,将获取的元数据存储到关系数 据库103中;关系数据库103为数据仓库中的运行系统(如数据质量检查DQ系统109、 ETL调度系统110及外部数据加载系统)提供服务接口 108,以向数据仓库中的运行系统 提供元数据。
数据管理系统102建立关系数据库103与对象数据库104的同步映射关系;所述 的同步映射关系包括关系数据库103的表与对象数据库104的类的同步映射关系、关系 数据库103的字段与对象数据库104的类属性的同步映射关系及关系数据库103的主键与 对象数据库104的对象标识的同步映射关系。
数据管理系统102根据所述的同步映射关系将所述关系数据库103中存储的元数 据同步存储到所述的对象数据库104中。在元数据管理系统的运行过程中,关系数据库 103自动实现向对象数据库104的同步。对象数据库104向元数据管理员105及元数据 用户106操作的元数据分析应用系统提供国际标准接口,元数据管理员105及元数据用户 106通过国际标准接口操作元数据等。这样不但解决了数据同步的问题,还能使元数据管 理系统能提供简洁高效的接口,并且与国际标准兼容。
图2A为本发明实施例元数据管理系统102的结构示意图。如图所示,所述的元 数据管理系统102包括元数据获取单元201,用于从数据源获取元数据;元数据存储单 元202,用于将所述的元数据存储到关系数据库中;同步映射关系建立单元203,用于建 立所述关系数据库与对象数据库的同步映射关系;元数据同步单元204,用于根据所述 的同步映射关系将所述关系数据库中存储的元数据同步存储到所述的对象数据库中;关 系数据库数据交互单元205,用于将所述的关系数据库存储的元数据与外部运行系统进行 数据交互;对象数据库数据交互单元206,用于将所述的对象数据库存储的元数据与外 部WEB服务器进行数据交互。
所述的同步映射关系包括所述关系数据库的表与所述对象数据库的类的同步 映射关系、所述关系数据库的字段与所述对象数据库的类属性的同步映射关系及所述关 系数据库的主键与所述对象数据库的对象标识的同步映射关系。
关系数据库与对象数据库之间元数据的同步可以包括孤立对象的同步、对象间 父子关象的同步及对象间平行关系的同步三种。
1)孤立对象的同步如图2B所示,所述的元数据同步单元204包括对象查找 模块207,用于根据所述的同步映射关系查找所述的对象数据库中是否存在待同步对象; 对象更新模块208,用于当所述的对象数据库中存在待同步对象时,根据所述关系数据库 中存储的元数据的待同步记录更新所述的待同步对象;对象新建模块209,用于当所述 的对象数据库中不存在待同步对象时,根据所述关系数据库中存储的元数据的待同步记 录在所述的对象数据库中新建对象。
2)对象间父子关象的同步所述的对象查找模块207根据所述的同步映射关系 在所述的对象数据库中查找待同步对象的父对象;根据查找到的所述父对象和所述待同步对象的属性查找所述的对象数据库中是否存在所述的待同步对象;当所述的对象数据 库中存在所述的待同步对象时,所述的对象更新模块208根据所述关系数据库中存储的 元数据的待同步记录更新所述的待同步对象;当所述的对象数据库中不存在所述的待同 步对象时,所述的对象新建模块209根据所述关系数据库中存储的元数据的待同步记录 在所述的对象数据库中新建对象。所述的元数据同步单元还包括关系建立模块210, 用于建立所述父对象与所述新建对象的父子关系。
3)对象间平行关系的同步所述的对象查找模块207根据所述的同步映射关系 在所述的对象数据库中查找待同步源对象;根据所述的同步映射关系在所述的对象数据 库中查找待同步目标对象;所述的关系建立模块209建立所述待同步源对象与待同步目 标对象之间的平行关系。
图3为本发明实施例元数据管理方法流程图,如图所示,所述的方法包括
步骤S301 从数据源获取元数据。
步骤S302 将所述的元数据存储到关系数据库中。
步骤S303 建立所述关系数据库与对象数据库的同步映射关系;所述的同步映 射关系包括所述关系数据库的表与对象数据库的类的同步映射关系、所述关系数据库 的字段与对象数据库的类属性的同步映射关系及所述关系数据库的主键与对象数据库的 对象标识的同步映射关系。同步映射关系在元数据管理系统的映射配置文件中。
步骤S304 根据所述的同步映射关系将所述关系数据库中存储的元数据同步存 储到所述的对象数据库中。
步骤S305 将所述的关系数据库存储的元数据与外部运行系统进行数据交互。
步骤幻06 将所述的对象数据库存储的元数据与外部WEB服务器进行数据交互。
步骤S304可以包括根据所述的同步映射关系查找所述的对象数据库中是否存 在待同步对象;如果是,根据所述关系数据库中存储的元数据的待同步记录更新所述的 待同步对象;否则,根据所述关系数据库中存储的元数据的待同步记录在所述的对象数 据库中新建对象。
步骤幻04还可以包括根据所述的同步映射关系在所述的对象数据库中查找 待同步对象的父对象;根据查找到的所述父对象和所述待同步对象的属性查找所述的对 象数据库中是否存在所述的待同步对象;如果是,根据所述关系数据库中存储的元数据 的待同步记录更新所述的待同步对象;否则,根据所述关系数据库中存储的元数据的待 同步记录在所述的对象数据库中新建对象,并建立所述父对象与所述新建对象的父子关 系。
步骤S304还可以包括根据所述的同步映射关系在所述的对象数据库中查找待 同步源对象;根据所述的同步映射关系在所述的对象数据库中查找待同步目标对象;建 立所述待同步源对象与待同步目标对象之间的平行关系。
下面结合元数据管理系统说明本发明的具体实施方式
。元数据运行库装置401 用于实现关系数据库的功能,元数据知识库装置402用于实现对象知识库的功能。
图4为本发明实施例元数据管理系统示意图,如图所示,该系统包括两套模 型元数据知识库装置402基于MDS的面向对象的元模型和元数据运行库装置401基于数据库的传统二维关系型元模型,MDS是与国际标准兼容的元数据引擎Metadata Service。
元数据知识库装置402基于与业界标准兼容的MDS工具进行元模型的设计和元 数据库的构建和管理;元数据运行库装置401通过传统的关系型数据库模型提供数据仓 库运行时的接口 ;元数据运行库装置401与元数据知识库装置402通过元数据桥接器装 置403连接,元数据桥接器装置403在元数据库内部的两套模型之间进行元数据内容的同步ο
如图4所示,元数据运行库装置401连接于数据仓库子系统404并为数据仓库各 子系统404(外部运行系统)提供功能接口,数据仓库子系统404对于所访问的元数据要 求结构简单但是时效性要求很高,且数据仓库子系统404的接口不遵循国际标准,数据 仓库子系统404可以为数据仓库内部的数据质量管理系统、ETL调度系统及外部数据加载 系统等。元数据知识库装置402连接于元数据分析应用系统405 (WEB服务器),为元数 据分析应用系统405提供功能接口,元数据分析应用系统405对应一些高级的元数据应用 和遵循国际标准的子系统,如要求对元数据进行一定分析加工的数据仓库的前端门户系 统、采用Cognos或SAS等工具实现的灵活查询子系统等。
元数据运行库装置401是基于传统模型构建的元数据库,用于从数据仓库子系 统404中同步元数据,并为数据仓库子系统404提供访问运行元数据时的接口;类似的, 元数据知识库装置402是基于面向对象的元模型构建的元数据库,通过国际标准的元数 据接口,用于向元数据分析应用系统405中提供元数据访问。而元数据运行库装置401 与元数据知识库装置402之间则通过元数据桥接器装置403来进行数据同步。
如图5所示,元数据运行库装置401存放的是基础元数据,它通过数据库视图 层501的转换将元数据变换成满足其他系统应用需要的元数据,向ETL运行库502、DQ 配置库503及ETL加载程序504等数据仓库子系统提供元数据。数据库视图层501是根 据不同的元数据应用和需求,在基础元数据之上定义的一系列数据库视图的集合。因为 元模型的通用性和所存放元数据的基础性,如以后其他子系统的功能拓展或改进,同样 可以方便地从传统模型的元数据库中通过数据库视图层提供的接口获得所需的元数据信 息。通过以上的方式,基于传统模型的元数据库为数据仓库的运行提供了快速、灵活、 可扩展的元数据服务,充分发挥了传统模型的优势。
如图6所示,元数据知识库装置402通过用户查询界面和API提供各种元数据 的查询功能和分析功能。其中元数据分析引擎装置601对元数据知识库402中存放的元 数据进行查找、汇总、比对,形成满足特定要求的分析结果,返回给用户查询界面602。 用户查询界面提供一组应用功能接口,提供的功能包括元数据影响分析(向下分析一个 元数据对象对下游对象的影响)、血缘分析(与影响分析的方向相反,向上追溯一个对象 的数据来源)、活力分析(分析一个数据库对象被访问的频度)、孤儿分析(分析数据准 备区MData)、物理模型区(PData)中的孤儿元数据对象)以及元数据浏览和查询等。用 户可以通过用户查询界面602查询影响分析结果603、血缘分析结果604、活力分析结果 605、孤儿分析结果606以及元数据浏览和查询结果607等。
元数据运行库装置401与元数据知识库装置402两个模型之间的数据自动同步机 制,是基于双模型的元数据管理系统的基础。两个模型之间通过元数据桥接器装置403完成数据同步。元数据桥接器装置403的结构如图7所示,元数据桥接器装置403包括 映射配置文件存储模块701、配置解析模块702、数据库访问模块703以及数据同步模块 704组成。映射配置文件存储模块701还可以不在元数据桥接器装置403中。
在元数据管理系统的运行过程中,关系数据库103自动实现向对象数据库104的 同步。元数据运行库装置401与元数据知识库装置702两个模型之间同步的总体流程如 图8所示
步骤S801 配置解析模块702解析映射配置文件存储模块701中的映射配置文 件,获取同步映射关系;
步骤S802 数据同步模块704从配置解析模块702中读取配置解析模块702获 取的同步映射关系;配置文件中的描述的同步映射关系包含3种对应关系,如图9所示。 根据图9中的3种对应关系可以够完成数据的同步操作。
步骤S803 数据同步模块704根据同步映射关系调用数据库访问模块403读取 元数据运行库装置401中的元数据信息;元数据信息是元数据运行库装置401的表中需进 行同步的记录,这些记录需要同步至元数据知识库装置402的对象。元数据信息包括脚 本及数据结构等信息。
步骤S804 数据同步模块704将元数据信息转换同步至元数据知识库装置402。
在元数据知识库装置402中的对象模型中,描述元数据的方式包括类、对 象、对象间的父子关系及对象间的平行关系;“类”在概念上相当于关系模型中的“表”,定义了所有具有相似属性的对象的集合;“对象”在概念上相当于关系模型中 的“记录”,定义了一个数据实体的唯一标识和所有属性;在对象模型中,对象之间可 通过关系两两关联,对象间的父子关系的特点是,子对象存在的前提条件是父对象必须 存在;对象间的平行关系是指具有平行关系的对象,可以各自独立存在。
元数据运行库装置401与元数据知识库装置402两个模型之间的同步是基于运行 库记录至数据对象的同步映射关系,因此同步方式可以归纳为以下三种类型
1.表中记录同步至对象。根据对象是否依赖于其他对象而存在,同步方式可分 为孤立对象的同步和子对象的同步。
2.表中记录同步至对象间的父子关系。因为子对象必须依赖于父对象存在,即 不存在孤立的子对象,所以对象间的父子关系在子对象的创建时必须自动完成。
3.表中记录同步至对象间的平行关系。对象间平行关系的同步,需通过记录中 的信息分别定位对象模型中的源和目标两个对象,并在它们之间建立关系。
下面分别对孤立对象的同步、子对象的同步及对象间平行关系的同步进行说 明。
图10为本发明实施例孤立对象的同步流程图;如图10所示,所述的流程包 括
步骤S1001 配置解析模块702解析映射配置,并由数据同步模块704读取配置 信息。配置信息描述了从数据库记录到知识库对象的同步映射关系,即如何将元数据运 行库装置401记录转换成知识库的对象,同步映射关系如图6所示。
步骤S1002 数据同步模块704调用数据库访问模块703读取元数据运行库装置 401中的元数据信息。
数据库访问模块703与运行库的接口是传统的数据库连接访问接口,所读取的 元数据信息是元数据运行库装置401的表中需进行同步的记录,这些记录需要同步至元 数据知识库装置402的对象。元数据信息包括脚本及数据结构等信息。
步骤S1003 数据同步模块704在元数据知识库装置402中查找需同步的对象。 数据同步模块704将元数据信息中的主键信息作为对象的唯一标识,根据同步映射关系 在元数据知识库装置402中查找需要同步的对象。
步骤S1004:判断是否找到需要同步的对象;如果找到需要同步的对象,进行 步骤S1005,否则,进行步骤S1006。
步骤S1005:数据同步模块704更新需要同步的对象。更新对象的属性,如更 新数据结构中的字段、长度及类型及脚本的算法及加工对象等。
步骤S1006:在元数据知识库装置402中新建对象,并按照所读取的记录内容设 置相应对象属性。
孤立对象的同步结束后,推出同步流程。
图11为本发明实施例子对象的同步流程图;如图11所示,所述的同步流程包 括
步骤SllOl 配置解析模块702解析映射配置,并由数据同步模块704读取配置信息。
配置信息描述了从数据库记录到知识库对象的同步映射关系,即如何将元数据 运行库装置401记录转换成知识库的对象,同步映射关系如图9所示。
同步子对象时的配置信息比同步孤立对象时多了父对象的描述。由于子对象只 能依附于父对象存在,因此同步时应先找到对应的父对象。
步骤S1102 数据同步模块704调用数据库访问模块703读取元数据运行库装置 401中的元数据信息,元数据信息是元数据运行库装置401的表中需进行同步的记录,这 些记录需要同步至元数据知识库装置402的对象,包括父对象、子对象的描述信息。元 数据信息包括脚本及数据结构等信息。
步骤S1103:数据同步模块704根据配置信息和元数据信息,查找是元数据知识 库装置402中否存在需要同步对象的父对象;如果是,进行步骤S1104,否则警告提示并 退出同步流程。
数据同步模块704将元数据信息中的主键信息作为对象的唯一标识,根据同步 映射关系在元数据知识库装置402中查找需要同步对象的父对象。
步骤S1104 通过父对象和子对象属性查找元数据知识库装置402中是否存在子 对象。如果是,进行步骤S1105,否则进行步骤S1106。
步骤S1105:数据同步模块704更新子对象。更新对象的属性,如更新数据结 构中的字段、长度及类型及脚本的算法及加工对象等。
步骤Sl 106 在元数据知识库装置402中新建对象。
步骤S1107 最后数据同步模块704将新建的对象与父对象建立父子关系;
步骤S1108 退出同步流程。
进行同步对象间平行关系的同步时,要求每一对关系涉及到的两个对象均已在 元数据知识库装置402中存在,同步程序根据元数据运行库装置401中的对象标识信息从元数据知识库装置402中找到这两个对象之后,再在元数据知识库装置402中将他们建立 平行关系。
图12为本发明实施例对象间平行关系的同步流程图;如图12所示,所述的同步 流程包括
步骤S1201:配置解析模块702解析映射配置,并由数据同步模块704读取配置fn息ο
配置信息描述了从数据库记录到知识库对象的同步映射关系,即如何将元数据 运行库装置401记录转换成知识库的对象,同步映射关系如图9所示。
步骤S1202 数据同步模块704调用数据库访问模块703读取元数据运行库装置 401中的元数据信息。元数据信息是元数据运行库装置401的表中需进行同步的记录,这 些记录需要同步至元数据知识库装置402的对象。元数据信息包括脚本及数据结构等信 肩、ο
步骤S1203 数据同步模块704在元数据知识库装置402中查找平行关系中的源对象。
步骤Sl204退出同步流程。
步骤S1205 的目标对象。
步骤S1206 并退出同步流程。
步骤S1207 关系。
步骤S1208:退出同步流程。
通用桥接器装置403通过读取配置文件可以获得元数据运行库装置401与元数据 知识库装置402两个模型之间具体如何映射的信息。在本发明实施例中,映射信息通过 自定义的配置文件来描述,通过配置文件来指导桥接器的同步,可以使桥接器无需跟随 模型的变化而变化,只需配置不同的文件,即可实现不同模型之间的同步功能,使得同 步过程自动、灵活和可扩展。
配置文件可以是多种形式的文件,如XML、Excel等,但必须包含运行库记录 与对象的数据映射及数据库记录与对象关联关系的数据映射两部分的内容。
下面以XML文件的形式,说明配置文件描述映射信息的方法和元素。图 13为本发明实施例XML文件的具体格式示意图,如图13所示,XML的根节点是 <BridgeConi>,之下是描述同步映射关系的<Mapping>节点。根节点可以包含多个 〈Mapping〉节点。〈Mapping〉节点分为 <EntityMap> 禾口 <RelationMap> 两个部分,艮口 实 体映射部分和关系映射部分,分别将二维表形式的传统元模型中的数据实体和实体之间 的关系,通过映射转换成对象和对象之间的关系,再同步至MDS元数据库中,按照MDS 的存储方式存储。
如图13所示,<EntityMap>f点的属性描述了对象数据映射的基本信息 name表示映射名称,用来标识一个映射节点;TableName表示同步映射关系模型中的判断源对象是否存在,如果是,进行步骤S1205,否则警告提示并 数据同步模块704在元数据知识库装置402中继续查找平行关系中 判断目标对象是否存在,如果是,进行步骤S1207,否则警告提示 同步模块504在元数据知识库装置402的对象模型中建立对象间的源表名;ClassName表示映射对象模型中的类名;Filter表示源表中的记录筛选条件。 <EntityMap>节点包含的元素描述了记录与对象映射的详细信息节点ColumnMap 的srccolumn和destprop属性分别描述了表中字段和对象属性的一组对应关系;节点 ParentColumns用于进行子对象的映射。三个属性中,RelationName标识了父子关系的 关系名称;ClassName标识了父对象所属的类名;Column标识了用于定位父对象的字段 名。通过以上信息,可以定位到当前所同步的对象的父对象。
<RelationMap>节点的属性描述了对象关系映射的基本信息name表示映射名 称,用来标识一个映射节点;TableName表示同步映射关系模型中的源表名;RelName 表示映射对象模型中的关系名称;Filter表示源表中的记录筛选条件。<RelationMap>节 点包含的元素描述了记录与对象关系映射的详细信息Origte表示关系中的源对象。两 个属性中,class表示源对象所属的类名;Column表示用于定位该对象的字段名称;Dest 表示关系中的目标对象。两个属性中,class表示目标对象所属的类名;Column表示用 于定位该对象的字段名称。
图14为本发明实施例具体的配置文件的实例示意图。描述了源系统的表定义信 息如何从关系模型同步至对象模型。<EntityMap>节点和它的属性告知桥接器从元数据 运行库中的SOURCE_TABLE(存放源系统表信息的数据表)表将数据同步至元数据知识 库的SourceTable类。多个<ColumnMap>节点描述了 SOURCE_TABLE表的字段如何与 SourceTable类的属性对应起来。因为ScmrceTable类的对象是子对象,必须描述如何找到 其父对象。<ParentColumn>节点及其属性描述了这种父子关系以及如何通过databasesys 字段找到当前对象的父对象。
本发明实施例的技术效果元数据管理系统中双模型之间的元数据同步,可以 通过对象模型实现元数据管理系统与现有国际标准接口兼容;还可以通过关系模型的接 口实现数据仓库运行时的快速响应,提供仓库运行所必需的元数据信息,保证数据仓库 高效稳定的运行。与现有技术相比
本发明实施例以元数据支持ETL 通过元数据直接生成临时区的建表语句;通 过元数据进行ETL加载的灵活配置,使上游系统的变化对EDW的影响最小化。元数据 库为ETL提供上游系统的包、接口、场次、文件名、文件字段、加载模式等信息,增加 和修改接口只需直接修改元数据即可;通过元数据信息,ETL自动生成数据加载脚本, 提高了 ETL加载的灵活性;元数据通过支持ETL,实现了内容的准确性与一致性;通过 元数据信息,提供ETL任务、ETL任务依赖关系等信息;
本发明实施例以元数据支持EDW数据质量检查通过元数据库保存的接口信 息,自动生成数据质量检查模块的接口检查任务;通过元数据库保存的实体主键信息和 实体关联性信息,自动生成数据质量检查模块的实体完整性检查任务;通过元数据库保 存的数据字典信息,自动生成数据质量检查模块的代码检查任务。
以上所述的具体实施方式
,对本发明的目的、技术方案和有益效果进行了进一 步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式
而已,并不用于限定 本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进 等,均应包含在本发明的保护范围之内。
权利要求
1.一种元数据管理方法,其特征在于,所述的方法包括 从数据源获取元数据;将所述的元数据存储到关系数据库中; 建立所述关系数据库与对象数据库的同步映射关系;根据所述的同步映射关系将所述关系数据库中存储的元数据同步存储到所述的对象 数据库中;将所述的关系数据库存储的元数据与外部运行系统进行数据交互; 将所述的对象数据库存储的元数据与外部WEB服务器进行数据交互。
2.如权利要求1所述的方法,其特征在于,所述建立所述关系数据库与对象数据库的 同步映射关系包括建立所述关系数据库的表与对象数据库的类的同步映射关系、所述 关系数据库的字段与对象数据库的类属性的同步映射关系及所述关系数据库的主键与对 象数据库的对象标识的同步映射关系。
3.如权利要求1所述的方法,其特征在于,根据所述的同步映射关系将所述关系数据 库中存储的元数据同步存储到所述的对象数据库中包括根据所述的同步映射关系查找所述的对象数据库中是否存在待同步对象; 如果是,根据所述关系数据库中存储的元数据的待同步记录更新所述的待同步对 象;否则,根据所述关系数据库中存储的元数据的待同步记录在所述的对象数据库中新 建对象。
4.如权利要求1所述的方法,其特征在于,根据所述的同步映射关系将所述关系数据 库中存储的元数据同步存储到所述的对象数据库中包括根据所述的同步映射关系在所述的对象数据库中查找待同步对象的父对象; 根据查找到的所述父对象和所述待同步对象的属性查找所述的对象数据库中是否存 在所述的待同步对象;如果是,根据所述关系数据库中存储的元数据的待同步记录更新所述的待同步对 象;否则,根据所述关系数据库中存储的元数据的待同步记录在所述的对象数据库中新 建对象,并建立所述父对象与所述新建对象的父子关系。
5.如权利要求1所述的方法,其特征在于,根据所述的同步映射关系将所述关系数据 库中存储的元数据同步存储到所述的对象数据库中包括根据所述的同步映射关系在所述的对象数据库中查找待同步源对象; 根据所述的同步映射关系在所述的对象数据库中查找待同步目标对象; 建立所述待同步源对象与待同步目标对象之间的平行关系。
6.—种元数据管理系统,其特征在于,所述的系统包括 元数据获取单元,用于从数据源获取元数据;元数据存储单元,用于将所述的元数据存储到关系数据库中; 同步映射关系建立单元,用于建立所述关系数据库与对象数据库的同步映射关系; 元数据同步单元,用于根据所述的同步映射关系将所述关系数据库中存储的元数据 同步存储到所述的对象数据库中;关系数据库数据交互单元,用于将所述的关系数据库存储的元数据与外部运行系统 进行数据交互;对象数据库数据交互单元,用于将所述的对象数据库存储的元数据与外部WEB服务 器进行数据交互。
7.如权利要求6所述的系统,其特征在于,所述的同步映射关系包括所述关系数 据库的表与所述对象数据库的类的同步映射关系、所述关系数据库的字段与所述对象数 据库的类属性的同步映射关系及所述关系数据库的主键与所述对象数据库的对象标识的 同步映射关系。
8.如权利要求6所述的系统,其特征在于,所述的元数据同步单元包括对象查找模块,用于根据所述的同步映射关系查找所述的对象数据库中是否存在待 同步对象;对象更新模块,用于当所述的对象数据库中存在待同步对象时,根据所述关系数据 库中存储的元数据的待同步记录更新所述的待同步对象;对象新建模块,用于当所述的对象数据库中不存在待同步对象时,根据所述关系数 据库中存储的元数据的待同步记录在所述的对象数据库中新建对象。
9.如权利要求8所述的系统,其特征在于,所述的对象查找模块,用于根据所述的同步映射关系在所述的对象数据库中查找待 同步对象的父对象;根据查找到的所述父对象和所述待同步对象的属性查找所述的对象 数据库中是否存在所述的待同步对象;当所述的对象数据库中存在所述的待同步对象时,所述的对象更新模块根据所述关 系数据库中存储的元数据的待同步记录更新所述的待同步对象;当所述的对象数据库中不存在所述的待同步对象时,所述的对象新建模块根据所述 关系数据库中存储的元数据的待同步记录在所述的对象数据库中新建对象。
10.如权利要求9所述的系统,其特征在于,所述的元数据同步单元还包括关系建立模块,用于建立所述父对象与所述新建对象的父子关系。
11.如权利要求10所述的系统,其特征在于,所述的对象查找模块,用于根据所述的同步映射关系在所述的对象数据库中查找待 同步源对象;根据所述的同步映射关系在所述的对象数据库中查找待同步目标对象;所述的关系建立模块,用于建立所述待同步源对象与待同步目标对象之间的平行关系。
全文摘要
本发明提供一种元数据管理方法及系统,所述的方法包括从数据源获取元数据;将所述的元数据存储到关系数据库中;建立所述关系数据库与对象数据库的同步映射关系;根据所述的同步映射关系将所述关系数据库中存储的元数据同步存储到所述的对象数据库中;将所述的关系数据库存储的元数据与外部运行系统进行数据交互;将所述的对象数据库存储的元数据与外部WEB服务器进行数据交互。元数据管理系统中双模型之间的元数据同步,可以通过对象模型实现元数据管理系统与现有国际标准接口兼容;还可以通过关系模型的接口实现数据仓库运行时的快速响应,提供仓库运行所必需的元数据信息,保证数据仓库高效稳定的运行。
文档编号G06F17/30GK102023979SQ20091009282
公开日2011年4月20日 申请日期2009年9月9日 优先权日2009年9月9日
发明者张海军, 王立, 邬敏炜, 陈慧 申请人:中国工商银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1