基于元数据映射机制的异构数据操作

2015-03-02 12:36王晓雯孙承爱周春露
软件导刊 2015年1期
关键词:元数据数据共享

王晓雯++孙承爱 周春露

摘要:实现异构数据库的数据共享操作是数据库管理的关键技术,从各种分布、异构式数据源中抽取数据,以达到实现异构数据库间的数据管理。对基于元数据的数据互操作技术和现状进行总结分析,提出基于元数据映射的分布式异构数据管理机制,针对国内外元数据标准,按照元数据提取、映射规则,能够很好地解决从异构数据源中提取数据并按照标准数据库的要求进行加工处理后的上报问题,实现异构数据共享。

关键词:元数据;异构数据库;数据共享;元数据提取;元数据映射

DOIDOI:10.11907/rjdk.143671

中图分类号:TP392

文献标识码:A 文章编号文章编号:16727800(2015)001014603

基金项目基金项目:山东科技大学教育教学“群星计划”基金项目(2013230);山东科技大学研究生科技创新基金项目(YC130322)

作者简介作者简介:王晓雯(1990-),女,山东青岛人,山东科技大学信息科学与工程学院硕士研究生,研究方向为软件工程、数据库、信息管理;孙承爱(1964-),女,山东泰安人,硕士,山东科技大学信息科学与工程学院副教授,研究方向为C语言、计算机技术;周春露(1988-),男,山东潍坊人,山东科技大学信息科学与工程学院硕士研究生,研究方向为软件开发与集成。

0 引言

随着应用软件系统规模的不断扩大,对不同数据库中数据操作及数据共享的需求也越来越重要,特别是现有管理系统大多构建于不同的数据库应用软件上,造成信息共享困难。传统的异构数据管理技术不能有效地解决统一数据操作和减少信息冗余问题。因此,为实现异构数据库间的数据管理,有效利用数据,对基于元数据的操作技术进行讨论分析,结合关键技术的应用需求,为数据库系统间数据共享提供解决方案。针对这一需求,提出基于元数据映射机制的分布式异构数据管理机制,在介绍元数据标准和技术分类体系成果的基础上,分析基于不同元数据标准的数据库系统间操作的关键技术,克服元数据标准间的差异[1],实现数据的有效管理操作,并根据这种技术特点加以改进。

1 元数据及异构数据库系统理论

元数据是描述数据的数据,其作用包括描述信息资源或数据本身的特征和属性,规定数字化信息的组织[2]。在元数据应用上,资源分析是指明确元数据所对应描述的数字对象及相关需求等。在系统建模基础上,用属性提取来分析每一个资源实体的属性以及资源实体的管理、描述、应用的功能需求,从而得到每个资源实体的元数据描述[3]。元数据处理的高效性将影响整个系统的正确可靠性和性能提升。对元数据进行管理可以灵活地实现外部数据的加入和退出,降低了数据管理难度。在系统中可把数据看作独立的信息单元。

异构数据库系统是相关的多个数据库系统的集合,其目标是为实现数据共享管理和透明访问,异构数据库间的合并和共享,并不会破坏原有数据库系统的独立性和完整性控制。而元数据是对信息资源的结构化描述,在数据库中可以更好地存储各类异构数据源的节点信息,一般包含编码、名称、类别、标识、字段类型、是否主键、对应外键等。

异构数据库系统,实现数据共享管理应满足两点:一是实现数据库转换,二是实现数据的透明访问[4]。针对标准节点数据项是否能够完全映射子节点元数据项,提出基于元数据映射的异构数据上报技术和基于元数据映射的异构数据集成技术。

2 基于元数据映射的异构数据管理

可通过基于元数据映射机制的分布式异构数据管理机制,实现数据库系统间的数据管理。从分布式异构数据库系统的数据处理流程来看,从不同源数据库中分别提取元数据信息,按照数据共享的目标统一表达元数据[5],通过数据转换的操作实现元数据表的统一和聚合。

基于元数据映射机制的分布式异构数据管理机制,是将子节点数据表划分成元数据项,使其与标准节点数据表的元数据映射,将映射后对应的子节点数据项上传到标准节点数据库中,从而解决从异构数据源中提取数据并按照标准数据库的要求进行加工处理并上报的问题。

2.1 元数据映射的分布式异构数据上报

基于元数据映射的分布式异构数据上报是由标准节点维护描述各子节点所需上报数据大而全的数据表,各子节点自主上报数据项内容。在此过程中,允许各节点根据使用习惯自主对数据项进行名称的修改和顺序调整。

属性映射的过程就是标准节点数据库中已经设计了包含描述一个对象所需要的所有数据项,而各子节点根据需要从标准节点数据库中选出自身描述对象时所需要的数据项种类,并且根据使用习惯修改数据项名称、调整数据项显示顺序,并将这些操作结果用合适的方法进行记录,当上报数据时能够将修改后的子节点数据项正确地映射到原本对应的中央节点数据库数据项上。

就数据项数目和类别而言,应该涵盖用户要描述对象的全部项目。然而,对应具体某个节点来说,在数据项数目上可能只需要标准的一个子集:例如标准节点要求描述一个货物可能有始发站、目的站、日期、货物名称、件数、重量等,而子节点描述该货物只需要目的站、货物名称、件数;在数据项名称上可能有任意的命名。例如,对于“目的站”,子节点可以用“目的地”、“货物寄送地址”等相似词语来描述,在数据项顺序上可以按照任意顺序给出。

2.2 元数据提取

针对上述方案主要解决两个主要问题:元数据提取和节点数据到标准数据元数据的映射。元数据提取过程需要实现的是将标准节点数据库中元数据的提取和子节点数据库中用户元数据的提取。标准元数据提取是将标准节点数据库中定义的描述一个对象的所有数据项按照列的顺序将属性编号、数据项名称、是否可以为空等属性提取到一个表格中进行维护,供以后节点数据到标准元数据的映射过程使用,其中如果该项要求不为空,则必选项设为1;如果可以为空,则设为0。对于必选项值为0的数据项,子节点用户在选择要上报的数据项时可以不予选择,否则必须选择。例如:标准节点数据库规定描述一个对象A所设计的表格A如图1所示。

图1 表A设计

描述对象A需要B、C、D、E、F、G这6个数据项,则定义最终提取到的标准元数据表如图2所示。

用户元数据提取是将用户对标准节点数据库数据项做出的选择、对数据项名称的修改过程。按照列的顺序将属性编号、数据项名称、标准节点属性编号提取到一个表格中进行维护,其中标准节点属性编号是指该条记录中的数据项对应标准元数据提取结果表中的属性编号。例如:某个节点选择了表A中的B、D、E、F 4个数据项,并将其重命名为B-、E-、F-,数据项D保持不变,将显示顺序变为:E-、F-、B-、D,则存储结果如图3所示。

图2 分布式异构数据上报的标准元数据提取结果

图3 分布式异构数据上报的用户元数据提取结果

2.3 节点数据到元数据映射

节点数据到元数据的映射是指,用户对标准节点数据库描述一个对象的所有数据项进行数据项个数选择、数据项名称修改、数据项顺序调整后,节点数据的结构会与标准数据即标准节点数据不一致,这种情况下就不能像普通的数据库插入操作一样将节点数据的每项与标准节点数据库中的数据项对应起来后再进行数据的插入操作。

进行用户元数据到标准元数据的映射过程为:①按照用户元数据提取表格中的属性编号顺序依次获得用户元数据中的记录,获取用户数据中包含的数据项,包括数据项名称、标准节点属性编号[6];②循环获取用户数据中每个数据项对应标准节点数据库数据项的名称,例如上述节点数据库中数据项名称为E-中的数据应该对应插入到标准节点数据库中名称为E的数据项,查询标准元数据提取结果表格中对应属性编号为4的数据项名称,可以得到4对应的数据项名称为E,同样的节点数据中的F-项对应标准节点数据库中的F。

3 元数据提取技术及映射机制的推广改进

应用元数据提取技术及映射机制可以解决数据上报问题,但当标准节点数据库描述一个对象的数据项并不全面时,即当节点数据要求插入标准节点数据库时,如果节点数据中含有标准节点数据库不存在的数据项,则该数据项会被新增到标准节点数据库中作为一个新的数据项。因此做出改进:将各节点结合同义词表与标准节点数据库进行属性映射、插入操作。

当节点数据中某个数据项名称与标准节点数据库中的数据项不一致时,如果在同义词表中,该名称作为标准节点数据库中某个数据项的同义词,则可以将该项与标准节点数据库中的相似项进行映射;如果在同义词表中,该名称没有作为标准节点数据库的某个数据项的同义词,则将其添加为标准节点数据库某个数据项的同义词或者在标准节点数据库中新添加一个数据项。

标准节点数据库的数据项名称与子节点数据库的项目名称不一定相同,这种情况下,需要维护一个同义词表。当用户需要上报数据时,将子节点数据库的数据项名称在同义词表中进行查询,如果存在记录,则可以将子节点数据库的数据项名称映射到标准节点数据库的数据项名称上;如果不存在该记录,则在同义词表中添加该同义词,在标准节点数据库中插入新的数据项并命名,然后在同义词表中加上该数据项的相关信息。这样在进行元数据的映射时,如果查询元数据提取表中没有匹配成功,需要查询同义词表中同义词数据项一列中有无记录的内容与该数据项相同,如果存在相同记录,则查询该记录所对应“属性编号”一列的内容,然后根据该属性编号与元数据提取结果表的“属性编号”相结合查找标准节点数据库中对应的数据项名称。

4 应用案例

应用此机制以程序设计基础精品课程管理网站为实用案例,对基于元数据映射机制的异构数据操作管理原型系统进行了设计与实现,用于说明文中介绍的分布式异构数据上报技术。此精品课程管理网站提供管理员、学生、教师3种角色,教师需要对各学期、各课程的考核提供所需要的业务数据。各教师均已有自己的业务数据库,但只能严格从自身所管理的数据内容中选择上报的数据,对于自己业务无关的数据可以不予关注。作为节点用户应用该系统,主要是对节点上报数据的管理,包括上报数据的浏览、查询、增加、修改和删除等操作。以网站中的知识点更新功能为例,教师通过该界面,可以对每门课程的知识点进行添加、更新、删除。

5 结语

不同应用软件造成的异构现象会给数据共享带来很大困难,从而产生大量“信息孤岛”[7]。与传统异构数据管理方法比较,数据联邦方法透明度高,但要求有较好的网络性能且容易冗余;数据仓库技术实时性较差、耦合性低,面对大量数据时,服务效率明显降低。基于元数据映射机制的分布式异构数据管理机制,通过将节点数据表划分成元数据项,标准节点与子节点的元数据项进行映射后,将子节点数据提交到标准节点,解决了分布式异构数据不能上报的问题。这种机制为用户提供了统一数据操作接口,且各数据源的结构保持相对稳定,降低了数据管理难度,实现了数据资源的有效整合。

参考文献:

[1] 崔纪锋,张勇,邢春晓.元数据在数据库互操作中的应用[J].计算机科学与探索,2011,5(4):3033.

[2] 戴超凡.数据仓库中元数据技术研究[J].计算机工程与应用,2011,37(14):5658.

[3] 刘恋,郑彪.分布式文件系统中元数据操作的优化[J].计算机应用,2012(12):1215.

[4] 毕强,朱亚玲.元数据标准及其互操作研究[J].信息系统,2008(5):2325.

[5] 蒋楠,丁祥武.基于模型驱动元数据管理策略的研究[J].计算机应用与软件,2012,29(1):3336.

[6] 卫佳蕴,孙莉,朱吉翔.基于元数据的目录服务体系研究与实现[J].计算机技术与发展,2008,18(4):2730.

[7] 刘青宝,黄宏斌等.数据仓库中的元数据管理[J].计算机工程与科学,2008(4):1519.

猜你喜欢
元数据数据共享
财会信息资源元数据标准的研究