CN105373550A - 数据映射方法及装置 - Google Patents
数据映射方法及装置 Download PDFInfo
- Publication number
- CN105373550A CN105373550A CN201410422464.1A CN201410422464A CN105373550A CN 105373550 A CN105373550 A CN 105373550A CN 201410422464 A CN201410422464 A CN 201410422464A CN 105373550 A CN105373550 A CN 105373550A
- Authority
- CN
- China
- Prior art keywords
- class
- relation
- data table
- relational data
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据映射方法及装置。该数据映射方法包括:获取公共信息模型中的所有类,其中,公共信息模型为用于描述电力系统对象的模型;获取所述所有类中类与类之间的关系;以及基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中,其中,所述类与类之间的关系通过在所述关系型数据库中的关系型数据表中添加域建立。通过本发明解决了公共信息模型数据向关系型数据库映射不完整的问题,进而达到了实现公共信息模型数据向关系型数据库完整映射的效果。
Description
技术领域
本发明涉及电力领域,具体而言,涉及一种数据映射方法及装置。
背景技术
公共信息模型是IEC61970的核心部分,提供了一个公共的电力系统模型,使得可以在任何领域作集成。该公共信息模型包括公共的类、它们的属性和它们之间的关系。公共信息模型被划分为13个类包,290多个类,包括:域包、核心包、负荷包、发电包、拓扑包、电线包、测量包、储运损耗包、保护包、财政包、SCADA包、预测包和能量安排包等。
目前我们通用的都是关系型数据库,而公共信息模型采用了面向对象技术来抽象电力系统之间的复杂关系。通过提供一种对象类和属性及它们之间的关系来表示电力资源的标准。面向对象技术的优点是能更直观、更准确地表现现实世界,更符合软件开发的规律,缩短开发时间和减少开发费用,大大提高了软件的可重用性、可维护性和可扩充性。然而,目前面向对象的数据库发展还不成熟,使用最广泛、技术最成熟的数据库管理系统大都是关系型的。因此,如何将公共信息模型与关系型数据库更好地结合起来,是实现电力软件标准化工作的首要问题。
但目前还没有很好的方式能够在充分考虑到电力系统实际情况的前提下,完美的解决公共信息模型面向对象模型与关系型数据库之间的结合的问题。公共信息模型各个类之间的关系非常复杂,现有的技术大多是将公共信息模型的各个类单独生成关系表,用大量的关系表来描述公共信息模型的关系;或者是不考虑各个类之间的关系,只映射公共信息模型的对象。但是采用将公共信息模型的各个类单独生成关系表的方式将不可避免的会生成数量庞大的关系复杂的表,可扩展性非常差,而且使用和维护都非常不方便,大大影响到生产的效率;采用不考虑各个类之间的关系的方式,很明显可以看出,其数据库与公共信息模型并不完全对应,也就无法充分发挥出使用公共信息模型标准的优势。
针对相关技术中公共信息模型数据向关系型数据库映射不完整的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种数据映射方法及装置,以解决公共信息模型数据向关系型数据库映射不完整的问题。
为了实现上述目的,根据本发明的一个方面,提供了一种数据映射方法。
根据本发明的数据映射方法包括:获取公共信息模型中的所有类,其中,所述公共信息模型为用于描述电力系统对象的模型;获取所述所有类中类与类之间的关系,其中,所述关系包括继承关系、关联关系和聚集关系,所述继承关系是父类和子类的关系,所述子类继承所述父类的所有属性,所述关联关系是所述类与类之间存在概念上的连接,用于描述源类和目标类之间的关系,所述关联关系包括零对一关系、一对一关系、多对一关系和多对多关系,所述聚集关系是整体类与部分类的关系;以及基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中,其中,所述类与类之间的关系通过在所述关系型数据库中的关系型数据表中添加域建立。
进一步地,如果获取到所述类与类之间的关系是所述继承关系,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:将所述子类映射为关系型数据表,其中,在所述子类对应的所述关系型数据表中增加域,所述域用于记录所述父类的类名,以此在所述关系型数据库中建立所述子类和所述父类的所述继承关系;获取多个所述子类映射得到的关系型数据表,得到多个关系型数据表;以及将所述多个关系型数据表组合成所述关系型数据库。
进一步地,如果获取到所述类与类之间的关系是所述聚集关系,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:将所述整体类映射为关系型数据表,其中,在所述整体类对应的所述关系型数据表中增加域,所述域用于记录所述部分类的类名,以此建立所述整体类和所述部分类的所述聚合关系;获取多个所述整体类映射得到的关系型数据表,得到多个关系型数据表;以及将所述多个关系型数据表组合成所述关系型数据库。
进一步地,如果获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述多对多关系时,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:将所述关系为所述关联关系的所有类映射成关系型数据表;生成联系表,其中,所述联系表的主键是所述多对多关系中的类对应的所述关系型数据表的主键的合并,所述联系表用于建立所述类与类之间的所述关联关系;以及将所述关系型数据表以及所述联系表组合成所述关系型数据库。
进一步地,如果获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述零对一关系或所述一对一关系或所述多对一关系时,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:将所述源类映射为关系型数据表和将所述目标类映射为关系型数据表,其中,在所述源类对应的所述关系型数据表中增加域,所述域设置为所述目标类的对应的所述关系型数据表的外键,以此建立所述源类和所述目标类之间的所述关联关系;获取多个所述源类和多个所述目标类映射得到的关系型数据表,得到多个关系型数据表;以及将所述多个关系型数据表组合成所述关系型数据库。
为了实现上述目的,根据本发明的另一方面,提供了一种数据映射装置。
根据本发明的数据映射装置包括:第一获取模块,用于获取公共信息模型中的所有类,其中,所述公共信息模型为用于描述电力系统对象的模型;第二获取模块,用于获取所述所有类中类与类之间的关系,其中,所述关系包括继承关系、关联关系和聚集关系,所述继承关系是父类和子类的关系,所述子类继承所述父类的所有属性,所述关联关系是所述类与类之间存在概念上的连接,用于描述源类和目标类之间的关系,所述关联关系包括零对一关系、一对一关系、多对一关系和多对多关系,所述聚集关系是整体类与部分类的关系;以及映射模块,用于基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中,其中,所述类与类之间的关系通过在所述关系型数据库中的关系型数据表中添加域建立。
进一步地,如果获取到所述类与类之间的关系是所述继承关系,所述映射模块包括:第一映射单元,用于将所述子类映射为关系型数据表,其中,在所述子类对应的所述关系型数据表中增加域,所述域用于记录所述父类的类名,以此在所述关系型数据库中建立所述子类和所述父类的所述继承关系;第一获取单元,用于获取多个所述子类映射得到的关系型数据表,得到多个关系型数据表;以及第一组合单元,用于由所述多个关系型数据表组合成所述关系型数据库。
进一步地,如果获取到所述类与类之间的关系是所述聚合关系,所述映射模块包括:第二映射单元,用于将所述整体类映射为关系型数据表,其中,在所述整体类对应的所述关系型数据表中增加域,所述域用于记录所述部分类的类名,以此建立所述整体类和所述部分类的所述聚合关系;第二获取单元,用于获取多个所述整体类映射得到的关系型数据表,得到多个关系型数据表;以及第二组合单元,用于将所述多个关系型数据表组合成所述关系型数据库。
进一步地,如果获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述多对多关系时,所述映射模块包括:第三映射单元,用于将所述关系为所述关联关系的所有类映射成关系型数据表;生成单元,用于生成联系表,其中,所述联系表的主键是所述多对多关系中的类对应的所述关系型数据表的主键的合并,所述联系表用于建立所述类之间的所述关联关系;以及第三组合单元,用于将所述关系型数据表以及所述联系表组合成所述关系型数据库。
进一步地,如果获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述零对一关系或所述一对一关系或所述多对一关系时,所述映射子模块包括:第四映射单元,用于将所述源类映射为关系型数据表和将所述目标类映射为关系型数据表,其中,在所述源类对应的所述关系型数据表中增加域,所述域设置为所述目标类的外键,以此建立所述源类和所述目标类之间的所述关联关系;第三获取单元,用于获取多个所述源类和多个所述目标类映射得到的关系型数据表,得到多个关系型数据表;以及第四组合单元,用于将所述多个关系型数据表组合成所述关系型数据库。
通过本发明,采用基于公共信息模型中类与类之间的关系进行数据映射,通过在关系型数据库中的关系型数据表中添加域建立所述类与类之间的关系,解决了公共信息模型数据向关系型数据库映射不完整的问题,进而达到了实现公共信息模型数据向关系型数据库完整映射的效果。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据映射方法流程图;
图2是根据本发明实施例的继承关系示意图;
图3是根据本发明实施例的聚合关系示意图;
图4是根据本发明实施例的零或一对一关系示意图;
图5是根据本发明实施例的一对多关系示意图;
图6是根据本发明第一实施例的数据映射装置示意图;
图7是根据本发明第二实施例的数据映射装置示意图;
图8是根据本发明第三实施例的数据映射装置示意图;
图9是根据本发明第四实施例的数据映射装置示意图;以及
图10是根据本发明第五实施例的数据映射装置示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本发明提供了一种数据映射方法,如图1所示,该方法包括如下的步骤S102至步骤S106:
步骤S102:获取公共信息模型中的所有类,其中,公共信息模型为用于描述电力系统对象的模型;
步骤S104:获取所有类中类与类之间的关系,其中,该关系包括继承关系、关联关系和聚集关系,继承关系是父类和子类的关系,子类继承所述父类的所有属性,关联关系是所述类与类之间存在概念上的连接,用于描述源类和目标类之间的关系,该关联关系包括零对一关系、一对一关系、多对一关系和多对多关系,聚集关系是整体类与部分类的关系;以及
步骤S106:基于类与类之间的关系将公共信息模型数据映射到关系型数据库中,其中,类与类之间的关系通过在关系型数据库中的关系型数据表中添加域建立。
在获取上述公共信息模型中的类以及类与类之间的关系后,将上述类分别映射成单一的关系型数据表,并基于上述类与类之间的相互关系在关系型数据表中通过添加域建立类与类之间的关系,实现公共信息模型中类与类之间的关系向关系型数据库的映射,从而实现公共信息模型数据向关系型数据库的完整映射。
可选地,为了减少公共信息模型中类所对应的关系型数据表的数量,如果获取到类与类之间的关系是所述继承关系,基于类与类之间的关系将公共信息模型数据映射到关系型数据库中包括:
将子类映射为关系型数据表,其中,在该子类对应的关系型数据表中增加域,该域用于记录父类的类名,以此在关系型数据库中建立子类和父类的继承关系;
获取多个上述子类映射得到的关系型数据表,得到多个关系型数据表;以及
将上述多个关系型数据表组合成关系型数据库。
类与类之间的继承关系也称作泛化关系,是一种较普遍的类与较具体的类的关系,也可以称为父类与子类的关系。该较具体的类继承较普遍的类的所有属性,如图2所示,断路器类和接地刀闸类都是较具体的类,开关类为较普遍的类,断路器类不仅包含其自身的断路器第一属性i和断路器第二属性j,还包含从开关类继承来的开关属性s,同样的,接地刀闸类除了包括其自身的接地刀闸类k,还包括从开关类继承来的开关类属性s,在进行类与类之间的关系映射时,在断路器类对应的关系型数据表中添加一个开关类域,在接地刀闸类对应的关系型数据表中也添加一个开关类域。
在进行数据映射时,父类并不参与映射成关系型数据表,这样可以减少关系型数据表的数量,由于子类继承了父类的所有属性,在将子类映射成关系型数据表后,通过添加表示父类对象的域,从而在子类对应的关系型表中建立与父类对象的继承关系。
可选地,如果获取到类与类之间的关系是聚集关系,基于类与类之间的关系将公共信息模型数据映射到关系型数据库中包括:将整体类映射为关系型数据表,其中,在整体类对应的关系型数据表中增加域,该域用于反映整体类和部分类的聚合关系;获取多个上述整体类映射得到的关系型数据表,得到多个关系型数据表;以及将上述多个关系型数据表组合成关系型数据库。
类与类之间的聚集关系是一种整体类与部分类的关系,整体类“包含”部分类,部分类是整体类的一部分,聚集关系与继承关系的区别在于部分类并不从整体类继承属性。如图3所示,端点类只能是一个连接节点类的成员,但是连接节点类却能够包含任意数量(1至n)的端点类,在进行类与类之间的关系映射时,在连接节点类对应的关系型数据表中添加一个端点类域。
同样的,当公共信息模型中的类与类之间的关系为整体类与部分类的关系时,由于部分类的所有属性包含在整体类中,因而在进行数据映射时,不进行部分类向关系型数据表的映射,这样可以减少数据的冗余,减少关系型数据表的数量,但在整体类对应的关系型数据表中添加表示部分类的对象的域,以此在整体类对应的关系型数据表中建立部分类与整体类之间的聚合关系。
可选地,如果获取到类与类之间的关系是关联关系,并且该关联关系为多对多关系时,基于该类与类之间的关系将公共信息模型数据映射到关系型数据库中包括:
将关系为关联关系的所有类映射成关系型数据表;
生成联系表,其中,联系表的主键是多对多关系中的类对应的关系型数据表的主键的合并,上述联系表用于建立类与类之间的关联关系;
将上述关系型数据表以及联系表组合成关系型数据库。
由于类与类之间多对多关联时,对象之间的相互关系较为交错复杂,通过建立联系表可以清楚的反映类与类之间多对多的关联关系,而且可以减少数据的冗余度。
可选地,为了避免生成大量复杂的关系表,如果获取到类与类之间的关系是关联关系,并且该关联关系为零对一关系或一对一关系或多对一关系时,基于类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:
将源类映射为关系型数据表和将目标类映射为关系型数据表,其中,在源类对应的关系型数据表中增加域,该域设置为目标类对应的关系型数据表的外键,该域用于反映源类和目标类之间的关联关系;
分别获取多个源类和多个目标类映射得到的关系型数据表,得到多个关系型数据表;以及
将上述多个关系型数据表组合成关系型数据库。
由于当类与类之间的关联关系为零对一关系或一对一关系或多对一关系时,对象之间的关系还是较为简单,通过在数据型关系表中增加域就可以清楚的表示出类与类之间的关联关系,此时就无需在采用额外再建立联系表的方式,这样可以有效减少关系型数据库中表数量。
类与类之间的关联关系是类之间的一种概念上的联系,每一个关联都有两个角色,每个角色是指关联的方向,描述了在目标类与源类的关联中目标类的角色。如图4所示,电压控制区类与母线段类是零或一关系或一对一关系,一个母线段类对应零或一个电压控制区类,在进行类与类之间关联关系映射时,通过电压控制区类对应的关系型数据表中添加一个表示外键的域。图5表示的是类与类之间的多对多关系,变电站类与电压级类是一对多关联,通过在电压级类对应的多表中添加一个表示外键的域。
从以上的描述中,可以看出,本发明实现了如下技术效果:
根据本发明的实施例,提供了一种数据映射方法,在获取上述公共信息模型中的类以及类与类之间的关系后,将上述类分别映射成单一的关系型数据表,并基于上述类与类之间的相互关系在关系型数据表中通过添加域建立类与类之间的关系,实现公共信息模型中类与类之间的关系向关系型数据库的映射,从而实现公共信息模型数据向关系型数据库的完整映射。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本发明实施例的另一方面,提供了一种数据映射装置,图6是根据本发明实施例的数据映射装置的示意图,如图6所示,该数据映射装置包括:第一获取模块10、第二获取模块20和映射模块30。
第一获取模块10,用于获取公共信息模型中的所有类,其中,该公共信息模型为用于描述电力系统对象的模型;
第二获取模块20,用于获取上述所有类中类与类之间的关系,其中,该关系包括继承关系、关联关系和聚集关系,继承关系是父类和子类的关系,子类继承父类的所有属性,关联关系是上述类与类之间存在概念上的连接,用于描述源类和目标类之间的关系,该关联关系包括零对一关系、一对一关系、多对一关系和多对多关系,聚集关系是整体类与部分类的关系;以及
映射模块30,用于基于上述类与类之间的关系将公共信息模型数据映射到关系型数据库中,其中,类与类之间的关系通过在关系型数据库中的关系型数据表中添加域建立。
在第一获取模块10获取上述公共信息模型中的所有类以及第二获取模块20获取上述公共信息模型中类与类之间的关系后,映射模块30将上述类分别映射成单一的关系型数据表,并基于上述类与类之间的相互关系在关系型数据表中通过添加域建立类与类之间的关系,实现公共信息模型中类与类之间的关系向关系型数据库的映射,从而实现公共信息模型数据向关系型数据库的完整映射。
可选地,为了减少公共信息模型中类所对应的关系型数据表的数量,如果获取到类与类之间的关系是继承关系,如图7所示,映射模块30包括:
第一映射单元301,用于将子类映射为关系型数据表,其中,在子类对应的关系型数据表中增加域,该域用于记录父类的类名,以此在关系型数据库中建立子类和父类的继承关系;
第一获取单元302,用于获取多个子类映射得到的关系型数据表,得到多个关系型数据表;以及
第一组合单元303,用于由多个关系型数据表组合成关系型数据库。
在进行数据映射时,父类并不参与映射成关系型数据表,这样可以减少关系型数据表的数量,由于子类继承了父类的所有属性,在将子类映射成关系型数据表后,通过添加表示父类对象的域,从而在子类对应的关系型表中建立与父类对象的继承关系。
可选地,如果获取到类与类之间的关系是聚合关系,如图8所示,映射模块30包括:
第二映射单元304,用于将整体类映射为关系型数据表,其中,在整体类对应的关系型数据表中增加域,该域用于记录部分类的类名,以此建立整体类和部分类的聚合关系;
第二获取单元305,用于获取多个上述整体类映射得到的关系型数据表,得到多个关系型数据表;以及
第二组合单元306,用于将多个关系型数据表组合成关系型数据库。
同样的,当公共信息模型中的类与类之间的关系为整体类与部分类的关系时,由于部分类的所有属性包含在整体类中,因而在进行数据映射时,不进行部分类向关系型数据表的映射,这样可以减少数据的冗余,减少关系型数据表的数量,但在整体类对应的关系型数据表中添加表示部分类的对象的域,以此在整体类对应的关系型数据表中建立部分类与整体类之间的聚合关系。
可选地,如果获取到类与类之间的关系是关联关系,并且该关联关系为多对多关系时,如图9所示,映射模块30包括:
第三映射单元307,用于将关系为关联关系的所有类映射成关系型数据表;
生成单元308,用于生成联系表,其中,该联系表的主键是上述多对多关系中的类对应的关系型数据表的主键的合并,上述联系表用于建立类与类之间的关联关系;
第三组合单元309,用于将关系型数据表以及联系表组合成关系型数据库。
由于类与类之间多对多关联时,对象之间的相互关系较为交错复杂,通过建立联系表可以清楚的反映类与类之间多对多的关联关系,而且可以减少数据的冗余度。
可选地,为了避免生成大量复杂的关系表,如果获取到类与类之间的关系是关联关系,并且该关联关系为零对一关系或一对一关系或多对一关系时,如图10所示,映射模块30包括:
第四映射单元310,用于将源类映射为关系型数据表和将目标类映射为关系型数据表,其中,在源类对应的关系型数据表中增加域,该域设置为目标类的外键,以此建立源类和目标类之间的关联关系;
第三获取单元311,用于获取多个源类和多个目标类映射得到的关系型数据表,得到多个关系型数据表;以及
第四组合单元312,用于将上述多个关系型数据表组合成关系型数据库。
由于当类与类之间的关联关系为零对一关系或一对一关系或多对一关系时,对象之间的关系还是较为简单,通过在数据型关系表中增加域就可以清楚的表示出类与类之间的关联关系,此时就无需在采用额外再建立联系表的方式,这样可以有效减少关系型数据库中表数量。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据映射方法,其特征在于,包括:
获取公共信息模型中的所有类,其中,所述公共信息模型为用于描述电力系统对象的模型;
获取所述所有类中类与类之间的关系,其中,所述关系包括继承关系、关联关系和聚集关系,所述继承关系是父类和子类的关系,所述子类继承所述父类的所有属性,所述关联关系是所述类与类之间存在概念上的连接,用于描述源类和目标类之间的关系,所述关联关系包括零对一关系、一对一关系、多对一关系和多对多关系,所述聚集关系是整体类与部分类的关系;以及
基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中,其中,所述类与类之间的关系通过在所述关系型数据库中的关系型数据表中添加域建立。
2.根据权利要求1所述的数据映射方法,其特征在于,如果获取到所述类与类之间的关系是所述继承关系,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:
将所述子类映射为关系型数据表,其中,在所述子类对应的所述关系型数据表中增加域,所述域用于记录所述父类的类名,以此在所述关系型数据库中建立所述子类和所述父类的所述继承关系;
获取多个所述子类映射得到的关系型数据表,得到多个关系型数据表;以及将所述多个关系型数据表组合成所述关系型数据库。
3.根据权利要求1所述的数据映射方法,其特征在于,如果获取到所述类与类之间的关系是所述聚集关系,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:
将所述整体类映射为关系型数据表,其中,在所述整体类对应的所述关系型数据表中增加域,所述域用于记录所述部分类的类名,以此建立所述整体类和所述部分类的所述聚合关系;
获取多个所述整体类映射得到的关系型数据表,得到多个关系型数据表;以及
将所述多个关系型数据表组合成所述关系型数据库。
4.根据权利要求1所述的数据映射方法,其特征在于,如果获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述多对多关系时,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:
将所述关系为所述关联关系的所有类映射成关系型数据表;
生成联系表,其中,所述联系表的主键是所述多对多关系中的类对应的所述关系型数据表的主键的合并,所述联系表用于建立所述类与类之间的所述关联关系;以及
将所述关系型数据表以及所述联系表组合成所述关系型数据库。
5.根据权利要求4所述的数据映射方法,其特征在于,如果获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述零对一关系或所述一对一关系或所述多对一关系时,基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中包括:
将所述源类映射为关系型数据表和将所述目标类映射为关系型数据表,其中,在所述源类对应的所述关系型数据表中增加域,所述域设置为所述目标类的对应的所述关系型数据表的外键,以此建立所述源类和所述目标类之间的所述关联关系;
获取多个所述源类和多个所述目标类映射得到的关系型数据表,得到多个关系型数据表;以及
将所述多个关系型数据表组合成所述关系型数据库。
6.一种数据映射装置,其特征在于,包括:
第一获取模块,用于获取公共信息模型中的所有类,其中,所述公共信息模型为用于描述电力系统对象的模型;
第二获取模块,用于获取所述所有类中类与类之间的关系,其中,所述关系包括继承关系、关联关系和聚集关系,所述继承关系是父类和子类的关系,所述子类继承所述父类的所有属性,所述关联关系是所述类与类之间存在概念上的连接,用于描述源类和目标类之间的关系,所述关联关系包括零对一关系、一对一关系、多对一关系和多对多关系,所述聚集关系是整体类与部分类的关系;以及
映射模块,用于基于所述类与类之间的关系将所述公共信息模型数据映射到关系型数据库中,其中,所述类与类之间的关系通过在所述关系型数据库中的关系型数据表中添加域建立。
7.根据权利要求6所述的数据映射装置,其特征在于,所述映射模块包括:
第一映射单元,用于在获取到所述类与类之间的关系是所述继承关系时,将所述子类映射为关系型数据表,其中,在所述子类对应的所述关系型数据表中增加域,所述域用于记录所述父类的类名,以此在所述关系型数据库中建立所述子类和所述父类的所述继承关系;
第一获取单元,用于获取多个所述子类映射得到的关系型数据表,得到多个关系型数据表;以及
第一组合单元,用于由所述多个关系型数据表组合成所述关系型数据库。
8.根据权利要求6所述的数据映射装置,其特征在于,所述映射模块包括:
第二映射单元,用于在获取到所述类与类之间的关系是所述聚合关系时,将所述整体类映射为关系型数据表,其中,在所述整体类对应的所述关系型数据表中增加域,所述域用于记录所述部分类的类名,以此建立所述整体类和所述部分类的所述聚合关系;
第二获取单元,用于获取多个所述整体类映射得到的关系型数据表,得到多个关系型数据表;以及
第二组合单元,用于将所述多个关系型数据表组合成所述关系型数据库。
9.根据权利要求6所述的数据映射装置,其特征在于,所述映射模块包括:
第三映射单元,用于在获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述多对多关系时,将所述关系为所述关联关系的所有类映射成关系型数据表;
生成单元,用于生成联系表,其中,所述联系表的主键是所述多对多关系中的类对应的所述关系型数据表的主键的合并,所述联系表用于建立所述类之间的所述关联关系;以及
第三组合单元,用于将所述关系型数据表以及所述联系表组合成所述关系型数据库。
10.根据权利要求9所述的数据映射装置,其特征在于,所述映射子模块包括:
第四映射单元,用于在获取到所述类与类之间的关系是所述关联关系,并且所述关联关系为所述零对一关系或所述一对一关系或所述多对一关系时,将所述源类映射为关系型数据表和将所述目标类映射为关系型数据表,其中,在所述源类对应的所述关系型数据表中增加域,所述域设置为所述目标类的外键,以此建立所述源类和所述目标类之间的所述关联关系;
第三获取单元,用于获取多个所述源类和多个所述目标类映射得到的关系型数据表,得到多个关系型数据表;以及
第四组合单元,用于将所述多个关系型数据表组合成所述关系型数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410422464.1A CN105373550A (zh) | 2014-08-25 | 2014-08-25 | 数据映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410422464.1A CN105373550A (zh) | 2014-08-25 | 2014-08-25 | 数据映射方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105373550A true CN105373550A (zh) | 2016-03-02 |
Family
ID=55375757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410422464.1A Pending CN105373550A (zh) | 2014-08-25 | 2014-08-25 | 数据映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105373550A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956054A (zh) * | 2016-04-27 | 2016-09-21 | 国家电网公司 | 基于关系型数据库的电网cim模型数据实现存储的方法 |
CN106021344A (zh) * | 2016-05-09 | 2016-10-12 | 国电南瑞科技股份有限公司 | 一种多适应性cime电网模型共享方法 |
CN107273138A (zh) * | 2017-07-04 | 2017-10-20 | 杭州铜板街互联网金融信息服务有限公司 | 基于Android业务模块间交互的解耦方法和系统 |
CN107608872A (zh) * | 2016-07-11 | 2018-01-19 | 北京京东尚科信息技术有限公司 | 一种检测软件系统的模块化水平的方法和装置 |
CN109194704A (zh) * | 2018-07-06 | 2019-01-11 | 广东省智能制造研究所 | 一种b/s端三维模型数据存储方法、装置及存储介质 |
CN111506640A (zh) * | 2020-04-21 | 2020-08-07 | 北京中电普华信息技术有限公司 | 映射方法及装置 |
CN113162791A (zh) * | 2020-11-18 | 2021-07-23 | 厦门物之联智能科技有限公司 | 一种数据采集处理系统逆向继承建模的处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737086A (zh) * | 2012-01-13 | 2012-10-17 | 冶金自动化研究设计院 | 基于cim模型的钢铁企业信息集成平台 |
CN102750358A (zh) * | 2012-06-12 | 2012-10-24 | 中国电力科学研究院 | 一种系统数据模型到cim模型的映射方法及系统 |
CN103186628A (zh) * | 2011-12-31 | 2013-07-03 | 上海可鲁系统软件有限公司 | 一种公共信息模型与关系型数据库之间的映射方法 |
CN103186620A (zh) * | 2011-12-31 | 2013-07-03 | 上海可鲁系统软件有限公司 | 一种cim模型映射方法 |
CN103761077A (zh) * | 2013-10-17 | 2014-04-30 | 国家电网公司 | 一种将cim模型到关系数据库映射建模的方法 |
US20140122051A1 (en) * | 2012-11-01 | 2014-05-01 | Hitachi, Ltd. | Conversion method, program and system of power system data models |
-
2014
- 2014-08-25 CN CN201410422464.1A patent/CN105373550A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103186628A (zh) * | 2011-12-31 | 2013-07-03 | 上海可鲁系统软件有限公司 | 一种公共信息模型与关系型数据库之间的映射方法 |
CN103186620A (zh) * | 2011-12-31 | 2013-07-03 | 上海可鲁系统软件有限公司 | 一种cim模型映射方法 |
CN102737086A (zh) * | 2012-01-13 | 2012-10-17 | 冶金自动化研究设计院 | 基于cim模型的钢铁企业信息集成平台 |
CN102750358A (zh) * | 2012-06-12 | 2012-10-24 | 中国电力科学研究院 | 一种系统数据模型到cim模型的映射方法及系统 |
US20140122051A1 (en) * | 2012-11-01 | 2014-05-01 | Hitachi, Ltd. | Conversion method, program and system of power system data models |
CN103761077A (zh) * | 2013-10-17 | 2014-04-30 | 国家电网公司 | 一种将cim模型到关系数据库映射建模的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105956054A (zh) * | 2016-04-27 | 2016-09-21 | 国家电网公司 | 基于关系型数据库的电网cim模型数据实现存储的方法 |
CN106021344A (zh) * | 2016-05-09 | 2016-10-12 | 国电南瑞科技股份有限公司 | 一种多适应性cime电网模型共享方法 |
CN107608872A (zh) * | 2016-07-11 | 2018-01-19 | 北京京东尚科信息技术有限公司 | 一种检测软件系统的模块化水平的方法和装置 |
CN107273138A (zh) * | 2017-07-04 | 2017-10-20 | 杭州铜板街互联网金融信息服务有限公司 | 基于Android业务模块间交互的解耦方法和系统 |
CN109194704A (zh) * | 2018-07-06 | 2019-01-11 | 广东省智能制造研究所 | 一种b/s端三维模型数据存储方法、装置及存储介质 |
CN111506640A (zh) * | 2020-04-21 | 2020-08-07 | 北京中电普华信息技术有限公司 | 映射方法及装置 |
CN113162791A (zh) * | 2020-11-18 | 2021-07-23 | 厦门物之联智能科技有限公司 | 一种数据采集处理系统逆向继承建模的处理方法 |
CN113162791B (zh) * | 2020-11-18 | 2023-05-12 | 厦门物之联智能科技有限公司 | 一种数据采集处理系统逆向继承建模的处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105373550A (zh) | 数据映射方法及装置 | |
Ravikumar et al. | A common information model oriented graph database framework for power systems | |
Melton et al. | Leveraging standards to create an open platform for the development of advanced distribution applications | |
Cavalieri et al. | Integration of IEC 61850 SCL and OPC UA to improve interoperability in Smart Grid environment | |
Kim et al. | QVT-based model transformation to support unification of IEC 61850 and IEC 61970 | |
KR101397380B1 (ko) | 메타모델링 통합시스템 | |
Schachinger et al. | Ontology-based abstraction layer for smart grid interaction in building energy management systems | |
CN105956054A (zh) | 基于关系型数据库的电网cim模型数据实现存储的方法 | |
Kim et al. | Toward interoperability of smart grids | |
CN104200331A (zh) | 一种电力系统的电网模型拼接方法及系统 | |
CN104778551A (zh) | 一种可视化电网设计与分析方法 | |
Kim et al. | A metamodeling approach to unifying IEC 61850 and IEC 61970 | |
CN105743870A (zh) | 一种智能变电站一体化业务平台服务接口的设计方法 | |
Ravikumar et al. | CIM oriented graph database for network topology processing and applications integration | |
CN103761077A (zh) | 一种将cim模型到关系数据库映射建模的方法 | |
Ravikumar et al. | CIM oriented database for topology processing and integration of power system applications | |
KR101397379B1 (ko) | 메타 모델링 변환시스템 | |
CN111062110A (zh) | 一种基于cim的使用间隔模板快速构建变电站模型并生成站内接线图的方法 | |
CN103197926A (zh) | 一种实现建立iec61970电能质量cim模型的方法 | |
CN112580178A (zh) | 一种能量管理系统图模双向校验方法及装置 | |
Kovač | Translating CIM model to bus-branch model | |
CN103294878A (zh) | 一种基于 dms 的多维电网模型统一建模方法 | |
CN103023740B (zh) | 一种信息交互总线系统及电力数据传输方法 | |
CN104809664A (zh) | 一种配电主站的信息集成方法 | |
Galkin et al. | Automatic generation of data centre digital twins for virtual commissioning of their automation systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160302 |
|
RJ01 | Rejection of invention patent application after publication |