[发明专利]一种CIM模型映射方法在审
申请号: | 201110457454.8 | 申请日: | 2011-12-31 |
公开(公告)号: | CN103186620A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 俞高宇;林吉;梁俊 | 申请(专利权)人: | 上海可鲁系统软件有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cim 模型 映射 方法 | ||
技术领域
本发明涉及一种关系数据库映射技术
背景技术
现有公共信息模型(Common Information Model,简称“CIM”)的实现大多来自对象管理组织(Object Management Group,简称“OMG”)《Utility Management System(UMS)Data Access Facility Specification》附录C——SQL Examples。该文档提出了将GDA接口映射为SQL语句的范例。由此引申出一个问题:基于面向对象模型描述的CIM模型如何映射至关系型数据库的问题。
在对象模型中,对象之间普遍存在着各种关系,如关联、组合、聚合、继承等,这种关系无法在关系型数据库中直接表达,这就是产生了所谓的对象模型与关系模型之间的“阻抗不匹配”。为解决这些问题,当前大多采用基于结构映射模式的O/R(对象-关系)映射方法。
通常的O/R映射方法,对对象模型的处理需要包括以下三方面内容:
1、对象映射——将对象映射至数据库表,即用表字段来描述面向对象模型的类属性,这样对象就映射为具体的表记录,数据表就表达为对象的集合,基于关系键映射来描述对象之间的聚合关系,如图1所示。
2、类关系映射——用数据库表之间的关系键映射来描述对象之间的关系特性,由于对象之间普遍存在着一对多甚至多对多的关系,根据关系型数据库表之间的关系键映射的处理方法,多对多关系需要引入第三张表即关联表,基于关系表映射来描述对象之间的多对多关系,如图2所示。另外对象类之间的关系还分为关联、组合、聚合,对于前两种关系还需描述关系的角色特性,对于对象类关系的这个特性,简单的关系键映射不能直接解决该问题。
3、类继承映射——在对象模型中还存在通过继承关系相互连接起来的类层次,由于标准的SQL里面没有用于继承的标准方法,所以为了在关系模型中表达对象之间这种层次关系,还需要建立数据表之间的继承映射关系。对于任何继承结构,目前都有三种选择:a、为层次中的所有类建立一个表,即单表继承,如图3所示;b、为每个具体类建立一个表,即具体表继承,如图4所示;c、为层次中每一个类建立一个表,即类表继承,如图5所示。
本发明的发明人发现,现有技术中采用的基于结构映射模式的O/R(对象-关系)映射方法存在以下问题:
1、表“膨胀”——可以看出整个映射模型中存在两大类表,即对象表与关系表。在CIM对象模型中至少存在几百个类,加上类之间的复杂关系,基于该映射方法建立起来的对象关系模型,表数量巨大,由此导致系统的可维护性很差。
2、大量连接操作——由于大量关系表的存在,导入一个对象需要涉及多个连接(join)操作,这样通常损失了数据库操作性能,虽然单表继承与具体表继承可以避免因继承关系带来的连接操作,但单表继承同时带来了存储空间上浪费,具体表继承允许从一个表中取得一个对象,但由此引起系统的可扩展性与数据的引用完整性问题。同时对象类关系的存在仍使得对象引用时大量的连接操作不可避免。
3、表记录“膨胀”——这种情况尤其体现在采用类表继承,由于每一个超类均需要保存一份子类的对应记录,这直接导致超类表记录数增多。
总之,在当前采用基于结构映射模式的O/R(对象-关系)映射方法来解决对象模型的大规模实际应用,尤其是在一些涉及海量信息资源建模应用的领域,如电力、石油、铁路等行业,以及当前广泛关注的物联网应用,由于其本身就需处理海量的“物”描述。这种映射方法显得有些困难。
发明内容
本发明主要解决的技术问题是提供一种CIM模型与关系型数据库之间的映射方法,使得在实现CIM模型到关系型数据库之间映射的同时,可以满足CIM应用中对信息模型的任意扩展要求与引用完整性约束,避免出现表“膨胀”、和大量连接操作的问题。
为了解决上述技术问题,本发明提供了一种,包含以下步骤
建立公共信息模型中类的元模型描述,包含类本体的描述、类属性的描述、和类关系的描述,类关系包括类层次关系和类逻辑关系;
为类的各描述分别建立元模型,生成类本体的描述类元模型、类属性的描述类元模型、类关系的描述类元模型,和各元模型的关系;公共信息模型中所有类模型均通过上述各元模型实例化得到;
将类的元模型映射至关系型数据库,每个元模型对应一关系表,建立由类的各元模型映射而成的模式关系表集合;
在对类元模型进行实例化,生成具体的类模型时,根据实例化的内容,在模式关系表集合中对应的关系表中新增记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海可鲁系统软件有限公司,未经上海可鲁系统软件有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110457454.8/2.html,转载请声明来源钻瓜专利网。