第22卷第4期 现代电力 Vol 22 No 4 2005年08月 Modern Electric Pow er Aug 2005 文章编号:10072322(2005)04002005 文献标识码:A中图分类号:TP311.1323 CM模型与关系模型的一种映射方法的探讨 翁芳芳,林俐,杨以涵 (华北电力大学电力系统保护与动态安全监控教育部重点实验室,北京102206 Discussion of a Way of Mapping CIM to Relative Model W eng Fangfang,Lin Li,Yang Yihan (Key Laboratory of Pow er System Protect ion and Dynamic Security Monit oring and Control under Ministry of Educat ion,NCEPU.Beijing 102206.China) 摘要:以兰州电网智能决策支持系统为背景,以实现电力comply with IEC61970 fully and these tables are also com 软件系统的互操作为目的,分析了公共信息模型(CM)模 patible.Moreover the system and other software systems 型和电力系统的特征,提出了基于IEC61970标准的CM模 whose interfaces accord w ith IEC61970 can visit each other. 型与关系型数据库之间的一种映射方法,解决了面向对象模 Key words:power system:CIM:map:UML:RDBMS 型与关系型模型灵活对应的问题:C模型的丰富完善并 不会影响映射过程和映射效果。该映谢方法尽可能地采用设 立外键的方法,在不影响数据库性能的情况下建立必要的关 0 引 言 系表确保映射的关系型数据库能够完全表达CM模型的 各种关系:其中表名对应类名,域名对应本身属性,外键、 随着电力系统数字化建设的蓬勃发展,各电力 专门的关系表、表中的属性对应泛化、聚合、简单关联关 软件生产厂商都推出了各自基于电力系统的应用软 系。采用Ra ional Rose和UML来描述映射的过程。该方法 件,然而由于各生产厂商都是在无规范无标准的情 使得软件系统的数据库表完全遵循EC61970标准,具有良况下自主设计并开发自己的产品,导致各个系统之 好的兼容性:只要外部系统的接口能够遵循EC61970标 间的数据共享程度和集成度都很低,致使电力信息 准,就可以同软件系统进行交互。 化建设“信息孤岛”的问题凸现:甚至自己开发的 关键词:电力系统;公共信息模型:映射;统一建模语言: 产品自我扩展性也很差。随着需求的变化,功能的 关系数据库 扩展,以前开发的产品将面临大量的浪费。 Abstrac:This paper presents a method of mapping CIM of 为此,国际电工委员会(IEC)负责电力系统控 IEC61970 to relational databases based on the analysis of 制及其通信的相关标准的第57技术委员会(IEC characteristics of CIM and power systems for the purpose of TC57)制定了一系列标准,其中第13工作组 realizing interaction among different software systems in (WGI3)负责制定与EMS专业相关的标准系列即 power systems The Lanzhou Netw ork Intelligent decision making support system is used as a reference.This method EC61970系列,使EMS的应用软件组件化和开放 provides an approach to flexibly mapping betw een an object- 化。EC61970标准最初的草案是接受了美国电科 oriented model and a relational model Under a condition 院控制中心API(简称EPRI CCAP)项目的研究成 that there should no any impact on performance of database 果,其目标是: systems,this method creates foreign keys as many as possr ①在为EMS(Energy Management System)增 ble and establishes necessary relational tables in order to em 加新的应用时尽可能减少费用和时间: sure CIM to be mapped to relational databases fully.In the ②尽可能的保护以前有效的应用系统的投资; mapping scheme,table name mat ches class name,domain ③为与现存的应用程序接口提供完整的框架。 name matches native attributes,and foreign key,special re lation table and attributes in table match generalization,ag CCAPI工程的任务是制定一套导则和标准,来适 gregation and simple association,respectively.The process 应不同的开发商开发的应用程序之间的综合与互操 of mapping is expressed by Rational Rose and UML.By ur 作。 s血g5丹ea米fm平98ma鸭blishing自从.1996年月以来,eCCA天程的研究范
第 22 卷 第 4 期 2005 年 08 月 现 代 电 力 Modern Electric Pow er Vo l 22 No 4 Aug 2005 文章编号: 10072322( 2005) 04002005 文献标识码: A 中图分类号: TP311 132 3 CIM 模型与关系模型的一种映射方法的探讨 翁芳芳, 林 俐, 杨以涵 ( 华北电力大学电力系统保护与动态安全监控教育部重点实验室, 北京 102206) Discussion of a Way of Mapping CIM to Relative Model W eng Fangfang, Lin Li, Yang Yihan ( Key Labor ator y of Pow er Sy stem Pro tect ion and Dy namic Securit y Monit oring and Contr ol under Ministr y o f Educat ion, NCEPU, Beijing 102206, China) 摘 要: 以兰州电网智能决策支持系统为背景, 以实现电力 软件系统的互操作为目的, 分析了公共信息模型 ( CIM) 模 型和电力系统的特征, 提出了基于 IEC61970 标准的 CIM 模 型与关系型数据库之间的一种映射方法, 解决了面向对象模 型与关系型模型灵活对应的问题: CIM 模型的丰富完善并 不会影响映射过程和映射效果。该映射方法尽可能地采用设 立外键的方法, 在不影响数据库性能的情况下建立必要的关 系表, 确保映射的关系型数据库能够完全表达 CIM 模型的 各种关系; 其中表名对应类名, 域名对应本身属性, 外键、 专门的关系表、表中的属性对应泛化、聚合、简单关联关 系。采用 Rat ional Rose 和UM L 来描述映射的过程。该方法 使得软件系统的数据库表完全遵循 IEC61970 标准, 具有良 好的兼容性; 只要外部系统的接口能够遵循 IEC61970 标 准, 就可以同软件系统进行交互。 关键词: 电力系统; 公共信息模型; 映射; 统一建模语言; 关系数据库 Abstract: This pape r pre sents a me thod o f mapping CIM of IEC61970 to r ela tiona l da tabases based on the analysis of chara cteristics o f CIM and powe r sy stems fo r the purpose of rea lizing inte raction among diff er ent so ftwa re systems in pow er sy stems The Lanzhou Netw ork Intellig ent decision making support sy stem is used as a r efer ence This me thod pro vides an appr oa ch to f lex ibly mapping betw een an object oriented model and a r elationa l model Under a condition that ther e should no any impact on perfo rmance o f database systems, this method crea tes f or eign key s as many as possi ble and establishes nece ssar y re lationa l table sin o rder to en sur e CIM to be mapped to relational databa ses fully In the mapping scheme, table name mat che s cla ss name, domain name matche s na tiv e a ttributes, and fo re ign key, special r e lation table and a ttributes in table match gener alization, a g g reg ation and simple asso cia tion, re spectiv ely. The pro cess of mapping is expr essed by Ra tional Ro se and UML. By u sing this method, databa se tables o f a so ftw ar e system can comply with IEC61970 f ully and these table s a re also com patible. Mor eo ver the system and othe r so ftwa re systems who se interfa ces accord w ith IEC61970 can visit each othe r. Key words: powe r sy stem; CIM; map; UML; RDBMS 0 引 言 随着电力系统数字化建设的蓬勃发展, 各电力 软件生产厂商都推出了各自基于电力系统的应用软 件, 然而由于各生产厂商都是在无规范无标准的情 况下自主设计并开发自己的产品, 导致各个系统之 间的数据共享程度和集成度都很低, 致使电力信息 化建设 信息孤岛 的问题凸现; 甚至自己开发的 产品自我扩展性也很差。随着需求的变化, 功能的 扩展, 以前开发的产品将面临大量的浪费。 为此, 国际电工委员会( IEC) 负责电力系统控 制及其通信的相关标准的第 57 技术委员会( IEC TC 57) 制定了一系列标准, 其中第 13 工作组 ( WG13) 负责制定与 EMS 专业相关的标准系列即 IEC61970 系列, 使 EM S 的应用软件组件化和开放 化。IEC61970 标准最初的草案是接受了美国电科 院控制中心 API( 简称 EPRI CCAPI) 项目的研究成 果[ 1] , 其目标是: ①在为 EMS ( Energy Manag ement System) 增 加新的应用时尽可能减少费用和时间; ②尽可能的保护以前有效的应用系统的投资; ③为与现存的应用程序接口提供完整的框架。 CCAPI 工程的任务是制定一套导则和标准, 来适 应不同的开发商开发的应用程序之间的综合与互操 作。 自从 1996 年 6 月以来, CCAPI 工程的研究范
第4期 翁芳芳等:CM模型与关系模型的一种映射方法的探讨时 21 围己不仅限于控制中心,扩展了发电、输电、配电 程、规划、管理、运行和财务等应用的开发和集 部分。 成。为方便起见,CIM被划分为13个类包,290 在标准草案出台后的几年里,各国电力工作 多个类。包括:域包、核心包、电线包、测量包、 者都对此作了大量深入的研究:①完成了基于 拓扑包、负荷包、储运损耗包、保护包、发电包、 CIM(Common Information Model,公共信息模 财政包、预测包和能量安排包、SCADA包等。各个 型)/XML(EXtensible Markup Language)的数据 EMS应用内部可以有各自的信息描述,但只要在应 导入导出的实验验证:美国分别于2000年12 用程序(或构件)接口语义级上基于CM,不同厂商 月、2001年5月和2002年6月进行的三次互操 开发的应用程序或不同系统的应用程序就可以以同 作实验(参加的单位有ABB、SIM MENS、ES 样的方式访问公共数据,实现应用间的相互操作, CA、GE、Harris),验证了CIM模型的正确性 提高应用程序之间的兼容性及系统本身的开放性。 和可用性:为了跟上国际对CIM的研究步伐, CIM模型定义了3种关系:泛化(Generaliza 从2002年1月开始,国家电力调度通信中心进 tion)、简单关联(Association)和聚合(Aggrega 行了两次互操作实验(参加单位有中国电力科学 tion)。用UML表示的类和关系如图1。 研究院、南京电力自动化研究院、东方电子、 PowerTransformer 清华大学、山东大学),实验的成功再次证明了 PowerSystemResaurce CIM的正确性,以及国内对CM理解的正确性。 Generalization TapChanger +TapChangers 0...1 ②提出了基于EC61970的新一代调度自动化系 RegulationSc hedule 统的框架构想。 0.,.n +RegulationSchedule 但是,大家都不可避免地要面临的棘手的问题 Association 是:CIM模型的面向对象性和目前全世界流行的 Toplogicallslend ToplogicalNode Aggregation 关系型数据库怎么结合,才能真正实现CIM模型 图1CM模型三种关系 的通用性和可扩展性,而又能使数据的存取效率满 足电力生产的要求句。 本文将根据电力系统的实际特点,结合兰州电 2 问题的焦点 网的实际情况,采用UML(U nified Model Lam CIM采用了面向对象技术来抽象电力系统的 guage,统一建模语言)的描述方法,提出基于 现实世界。通过提供一种对象类和属性及他们之间 IEC61970标准的CIM模型与关系型数据库的一种 的关系来表示电力资源的标准。面向对象技术的优 映射方法。 点是能更直观、更准确地表现现实世界;更符合软 EC61970MCM简介 件开发的规律,缩短开发时间和减少开发费用:大 大提高了软件的可重用性、可维护性和可扩充性。 EC61970分为5个部分:第1部分:导则和 然而,目前面向对象的数据库发展还不成熟,而使 一般要求:第2部分:术语表:3xx系列:公共信 用最广泛、技术最成熟的数据库管理系统大都是关 息模型CIM:4xx系列:组件接口规范CIS,级别 系型的。因此,如何将CIM模型与关系型数据库 1;5xx系列:组件接口规范CIS,级别2。其中 更好地结合起来,是实现电力软件标准化工作的首 CM经过近十年的制定,现在相对比较成熟,第 要问题。 10版己经发布。CIS正在制订中,形成了部分草 案,除了用XML承载CIM数据的标准(Part50I) 3分析问题 己经到了可以应用的程度外,CIS的其它部分还很 在进行CIM模型与关系型数据库的结合,即 不成熟,是下一步标准化的重点。 实现CIM到关系型数据库的映射时,应考虑两个 CIM是IEC61970的核心部分,它提供了EMS 方面的问题:一方面是面向对象模型与关系型数据 信息的一个综合逻辑视图:定义了电力工业主要对 库系统的矛盾;另一方面,现实的电力系统具体情 象的公共类、属性及对象间的关系,用于电力工 9ò1China cadmic oul Electron Publis祝捣必然会影响间题的解决方案ttp://www..cnki.net
围已不仅限于控制中心, 扩展了发电、输电、配电 部分[ 2] 。 在标准草案出台后的几年里, 各国电力工作 者都对此作了大量深入的研究: ①完成了基于 CIM ( Common Informatio n M o del, 公 共 信 息模 型) / XM L( EXtensible M arkup Lang uage) 的数据 导入导出的实验验证: 美国分别于 2000 年 12 月、2001 年 5 月和 2002 年 6 月进行的三次互操 作实验( 参加的 单位有 A BB、SIM M ENS、ES CA 、GE、Harris) , 验证了 CIM 模型的正确性 和可用性; 为了跟上国际对 CIM 的 研究步伐, 从 2002 年 1 月开始, 国家电力调度通信中心进 行了两次互操作实验( 参加单位有中国电力科学 研究院、南京电力自 动化研究院、东方电 子、 清华大学、山东大学) , 实验的成功再次证明了 CIM 的正确性, 以及国内对 CIM 理解的正确性。 ②提出了基于 IEC61970 的新一代调度自动化系 统的框架构想。 但是, 大家都不可避免地要面临的棘手的问题 是: CIM 模型的面向对象性和目前全世界流行的 关系型数据库怎么结合, 才能真正实现 CIM 模型 的通用性和可扩展性, 而又能使数据的存取效率满 足电力生产的要求[ 3~ 6] 。 本文将根据电力系统的实际特点, 结合兰州电 网的实际情况, 采用 UM L ( U nified M odel Lan g uag e, 统一建模语言) 的 描述方法, 提 出基于 IEC61970 标准的 CIM 模型与关系型数据库的一种 映射方法。 1 IEC61970/ CIM 简介 IEC61970 分为 5 个部分: 第 1 部分: 导则和 一般要求; 第 2 部分: 术语表; 3x x 系列: 公共信 息模型 CIM ; 4xx 系列: 组件接口规范 CIS, 级别 1; 5xx 系列: 组件接口规范 CIS, 级别 2。其中 CIM 经过近十年的制定, 现在相对比较成熟, 第 10 版已经发布。CIS 正在制订中, 形成了部分草 案, 除了用 XM L 承载 CIM 数据的标准( Part 501) 已经到了可以应用的程度外, CIS 的其它部分还很 不成熟, 是下一步标准化的重点。 CIM 是 IEC61970 的核心部分, 它提供了EM S 信息的一个综合逻辑视图; 定义了电力工业主要对 象的公共类、属性及对象间的关系, 用于电力工 程、规划、管理、运行和财务等应用的开发和集 成。为方便起见, CIM 被划分为 13 个类包, 290 多个类。包括: 域包、核心包、电线包、测量包、 拓扑包、负荷包、储运损耗包、保护包、发电包、 财政包、预测包和能量安排包、SCADA 包等。各个 EMS 应用内部可以有各自的信息描述, 但只要在应 用程序( 或构件) 接口语义级上基于 CIM, 不同厂商 开发的应用程序或不同系统的应用程序就可以以同 样的方式访问公共数据, 实现应用间的相互操作, 提高应用程序之间的兼容性及系统本身的开放性。 CIM 模型定义了 3 种关系: 泛化( Generaliza tion) 、简单关联 ( Association) 和聚合 ( A ggr eg a tion) [ 6] 。用 UM L 表示的类和关系如图 1。 图 1 CIM 模型三种关系 2 问题的焦点 CIM 采用了面向对象技术来抽象电力系统的 现实世界。通过提供一种对象类和属性及他们之间 的关系来表示电力资源的标准。面向对象技术的优 点是能更直观、更准确地表现现实世界; 更符合软 件开发的规律, 缩短开发时间和减少开发费用; 大 大提高了软件的可重用性、可维护性和可扩充性。 然而, 目前面向对象的数据库发展还不成熟, 而使 用最广泛、技术最成熟的数据库管理系统大都是关 系型的。因此, 如何将 CIM 模型与关系型数据库 更好地结合起来, 是实现电力软件标准化工作的首 要问题。 3 分析问题 在进行 CIM 模型与关系型数据库的结合, 即 实现 CIM 到关系型数据库的映射时, 应考虑两个 方面的问题: 一方面是面向对象模型与关系型数据 库系统的矛盾; 另一方面, 现实的电力系统具体情 况也必然会影响问题的解决方案。 第 4 期 翁芳芳等: CIM 模型与关系模型的一种映射方法的探讨 21
22 现代电力 2005年 31M模型的特征分析 个矩形来表示。 根据对EC61970标准CIM模型的深入研究, 42泛化 CIM模型具有以下特征:①CIM采用面向对象技 在映射关系之前,首先将CIM模型中的所有 术,UML描述,定义了电力工业标准对象模型, 类,分别按表名对应类名,域名对应本身属性 它提供了描述电力对象及其关系的标准。②对象间 (Native Attributes,与继承属性(Inherited Attrib 的关系包括3种:泛化、简单关联、聚合。③对象 uts)相对应),全部一一映射成数据库表。关系通 之间的关系较复杂、层次较深。④聚合关系与简单 过外键和专门的关系表来实现。 关联的区别是增加了“整体与部分”的语义。⑤简 泛化关系是用来表达一个相对通用的类和一个 单关联关系分为3种:多对多、一对多、一对一。 相对专门的类之间的关系。相对专门的类可以继承 32现实电力系统的特征分析 相对通用的类的属性,包含更多的信息。比如子 现实电力系统的特征分析如下:①结构上是分 类Current Relay不仅包含Nat ive Attributes如(cur 层分级的拓扑结构,层次关系较为复杂:②设备种 rentLimit1,currentLimit2,currentLimit3,inverse 类虽多,但数据量较大的设备元件(比如线路,电 TimeFlag,timeDelayl,timeDelay2,timeDelay3 ) 压互感器.电流互感器,保护装置等)种类并不多. 还包括从父类ProtectionEquipment继承下来的属性 而大部分电气设备(如机组、母线等)的数据量却不 ProtectionEquipment relay DelayTime,Protec 大。 tionEquipment.highLimit,Prot ectionEquipment low- Limit,ProtectionEquipment.powerDirection Flag) 4 解决办法 Naming(所有类都会继承其属性)继承下来的属性如 CIM模型的关系较为复杂,如果完全映射成 Naming aliasName,Naming,descript ion,Naming,na 关系数据库的表将会不可避免的生成很多关系表来 me,Naming pathName)。类SynchrocheckRelay也相 表达复杂的CIM关系,使得数据库表数量增大。 同。 如果只是映射CIM的对象,而不管关系的映射, 在关系数据库里要表达这种继承关系,可在父 数据库便不能完整地遵循CIM模型,也就失去了 类的属性中添加一个属性来表明子类的类型。以保 标准的意义。根据工程经验和实验研究,影响数据 护包为例,如图2,在父类ProtectionEquipment 库性能的一个很重要的因素是数据库中的“大表” 对应的表中添加一个域Protection Equipment (即记录最多表)。这些大表的记录往往是与现实相 Type,此域下记录是其所有子类的类名。此外, 对应实体的实例:而关系表的记录是各个对象之间 为了方便,也可在子类所对应的表的表名中包含父 的关系实体,所以数据量是比较小的。数据库的管 类的名字如CurrentRelay inherited Protec 理很大程度上是对数据库的大表的管理。因此,本 tionEquipment, 以便辨认(但这不是必需的。 文的映射方法,是基于这样一条原则:关系的映射 ProtectionEquipment 尽可能采用设立外键的方法,另外在不影响数据库 性能的情况下,可以考虑建立一些必要的关系表, CurrentRelay SynchrocheckRelay 确保映射的关系型数据库完全表达CIM模型的各 y ProtectionEquipment SynchrocheckRelay CurrentRelay 种关系,以及随EC61970标准升级的可扩展性。 onqui pentTypeay ◆currentRelayID ◆currentLiaitl 41表示方法 ◆lovLimit ◆axFregl0iff ◆currentLimit2 PowerDirectionFlag ◆axYoltDfff ÷4 本文采用Rational Rose工具和UML来表达 映射过程。Rational Rose用同样的符号来表达类 图2泛化关系映射过程 和数据库的表。数据库名与类名相对,域和属性相 43聚合 对。由于CIM模型只规定了对象的属性,而没有 聚合关系是一种特殊的关联关系,聚合说明了 规定方法:数据库的表也不包含方法,所以,本文 类之间的关系是整体与部分的关系。比如类 隐去了类符号表达方法的部分。对于没有必要显示 属性的类,为了方便,本文也隐去了属性,单用一 Transformer W inding和类Heat Exchanger是Pow~ C1994-20 1China Academic Journal Electronic Publisome的两部分Pow erT ransformer不仅
3 1 CIM 模型的特征分析 根据对 IEC61970 标准 CIM 模型的深入研究, CIM 模型具有以下特征: ①CIM 采用面向对象技 术, UM L 描述, 定义了电力工业标准对象模型, 它提供了描述电力对象及其关系的标准。②对象间 的关系包括 3 种: 泛化、简单关联、聚合。③对象 之间的关系较复杂、层次较深。④聚合关系与简单 关联的区别是增加了 整体与部分 的语义。⑤简 单关联关系分为 3 种: 多对多、一对多、一对一。 3 2 现实电力系统的特征分析 现实电力系统的特征分析如下: ①结构上是分 层分级的拓扑结构, 层次关系较为复杂; ②设备种 类虽多, 但数据量较大的设备元件( 比如线路, 电 压互感器, 电流互感器, 保护装置等) 种类并不多, 而大部分电气设备( 如机组、母线等) 的数据量却不 大。 4 解决办法 CIM 模型的关系较为复杂, 如果完全映射成 关系数据库的表将会不可避免的生成很多关系表来 表达复杂的 CIM 关系, 使得数据库表数量增大。 如果只是映射 CIM 的对象, 而不管关系的映射, 数据库便不能完整地遵循 CIM 模型, 也就失去了 标准的意义。根据工程经验和实验研究, 影响数据 库性能的一个很重要的因素是数据库中的 大表 ( 即记录最多表) 。这些大表的记录往往是与现实相 对应实体的实例; 而关系表的记录是各个对象之间 的关系实体, 所以数据量是比较小的。数据库的管 理很大程度上是对数据库的大表的管理。因此, 本 文的映射方法, 是基于这样一条原则: 关系的映射 尽可能采用设立外键的方法; 另外在不影响数据库 性能的情况下, 可以考虑建立一些必要的关系表, 确保映射的关系型数据库完全表达 CIM 模型的各 种关系, 以及随 IEC61970 标准升级的可扩展性。 4 1 表示方法 本文采用 Rational Ro se 工具和 U M L 来表达 映射过程。Rational Rose 用同样的符号来表达类 和数据库的表。数据库名与类名相对, 域和属性相 对。由于 CIM 模型只规定了对象的属性, 而没有 规定方法; 数据库的表也不包含方法, 所以, 本文 隐去了类符号表达方法的部分。对于没有必要显示 属性的类, 为了方便, 本文也隐去了属性, 单用一 个矩形来表示。 4 2 泛化 在映射关系之前, 首先将 CIM 模型中的所有 类, 分别按表名对应类名, 域名对应本身属性 ( Nativ e Attributes, 与继承属性( Inherited Attrib utes ) 相对应) , 全部一一映射成数据库表。关系通 过外键和专门的关系表来实现。 泛化关系是用来表达一个相对通用的类和一个 相对专门的类之间的关系。相对专门的类可以继承 相对通用的类的属性, 包含更多的信息[ 1] 。比如子 类CurrentRelay 不仅包含 Native Attributes 如( cur rentLimit1, currentLimit2, currentLimit3, inverse TimeFlag, timeDelay1, timeDelay2, timeDelay3 ) , 还包括从父类 ProtectionEquipment 继承下来的属性 如 ( ProtectionEquipment relayDelayTime, Protec tionEquipment highLimit, ProtectionEquipment low Limit, ProtectionEquipment powerDirectionFlag) 和类 Naming( 所有类都会继承其属性) 继承下来的属性如 ( NamingaliasName, Namingdescription, Namingna me, Naming pathName) 。类 SynchrocheckRelay 也相 同。 在关系数据库里要表达这种继承关系, 可在父 类的属性中添加一个属性来表明子类的类型。以保 护包为例, 如图 2, 在父类 Pro tectionEquipment 对应 的 表 中 添 加 一 个 域 Pro tectionEquipment Ty pe, 此域下记录是其所有子类的类名。此外, 为了方便, 也可在子类所对应的表的表名中包含父 类 的 名 字 如 CurrentRelay inherited Pro tec tionEquipment, 以便辨认( 但这不是必需的) 。 图 2 泛化关系映射过程 4 3 聚合 聚合关系是一种特殊的关联关系, 聚合说明了 类之间的关系是整体与部分的关系 [ 1] 。比如类 TransformerW inding 和类 HeatExchanger 是 Pow er T ransfo rmer 的两部分。Pow erT ransfo rmer 不仅 22 现 代 电 力 2005 年
第4期 翁芳芳等:CIM模型与关系模型的一种映射方法的探讨 23 拥有Native Attributes,.Inherited Attributes,.还 ConnectivityNode 会将类Transformer Winding和类Heat Ex changer 0...n +ConnectivityNodes 作为自身的一个属性包含进来。 +Memberof EquipeentContainer EquipoentContainer 在关系库里,映射聚合关系的方法是在“整 体”类对应的表里添加“部分”类作为新的域。以 CoanectivityNode EquipnentContainer 电线包(w ires package)为例,如图3,在“整体” ◆connectivityNodeID equipnentContainerID 类Po werTransformer对应的表里添加两个域: equipmentContainerID Transformer W inding和Heat Ex changer。 图5一对多关联关系映射过程 PowerTransforaer 射,这是为了避免生成过多的关系表,影响查询效 TransformerVindingHeatExchanger 率。但是,对于简单关联中的多对多关联,却采用 2 了建立关系表的方法实现映射,原因是建立关系表 PowerTransformer Trarsformerfinding HeatExchanger asforerindingtasforeridingeatExchangerID 能更加清晰地反映对象之间的关系,而且更重要的 eatExchanger ◆insulationKY ,,, 是数据的冗余度将会大大减小。 多对多的映射方法是用一个单独的表来实现多 图3聚合关系映射过程 对多关联。关联的主键是每个类的主键的合并。以 44简单关联 核心包(Core Package)为例,如图6,类Power 简单关联是类在概念上的一种联系。CIM里 System Resource和类Company是多对多的关系。 简单关联有3种表现形式。 表Association是表Pow erSystemResource和表Cor 441零或一对一(和一对一) pany派生出来的关系表,其中包括两个域Power- 零或一对一关联映射成数据库的表,只需将外 System ResourcelD CompanyID,PowerSystemRe 键隐藏在零或一对一的“零或一”表中。一对一关 sourcelD和CompanyID共同构成主键)。 联,将外键隐藏在一对一的任意一张表中。以生产 PomerSystenResource 包为例(product package)如图4,AirCompressor +Operates_PSRs 对应零或一个CombustionT urbine。.在表Combus peBCompanies Company☐ tionTurbine里添加一个域即AirCompressorID。 CombustionTurbine] PoverSystemResource Company Association 0..1 +0 rives AirCan即essor powerSystemResourceID conpanyID ◆companyID +DrivenBy_CoabustionTurbine ◆companyType powerSystemResourceID AirCoupressor 图6多对多关联关系映射过程 CombustionTurbine AirCompressor ◆combustionTurbine[D ◆airCompressorI⑩ airCompressorRating 5结论与展望 ◆ambientlemp 本文研究的映射方法是:用关系型数据库完全 图4“零或一”对一关联关系映射过程 表达CIM模型。这个方法的优点是,数据库完全 442一对多 遵循IEC61970标准,开放性直接达到了数据库; 一对多映射方法是将外键隐藏在多表中。以拓 缺点也很明显,而且由于CM里虚类的存在,也 扑包为例,如图5,类Equipment Container和类 会在关系数据库里对应地产生一些虚表,加上关系 ConnectivityNode是一对多关联。在类Connectivi 表的外键较多,使得程序员对数据库的操作会比较 ty Node相应的“多表”里添加域EquipmentCorr 麻烦,而且效率也较低。为了得到完整的数据,可 tainerID做为外键即可实现。 能需要查几张表。实际上,软件开发不仅包括数据 443多对多 库设计,同时还包括应用程序的设计。要真正地实 ©杏齐大务数情况下采思了外键的方法来实现睞山1现数据共烹,A导入景出数据的过程方法标准化1燕
拥有 Native Attributes, Inherited Attributes, 还 会将类 Tr ansformerWinding 和类 HeatEx chang er 作为自身的一个属性包含进来。 在关系库里, 映射聚合关系的方法是在 整 体 类对应的表里添加 部分 类作为新的域。以 电线包( w ir es packag e) 为例, 如图 3, 在 整体 类 Pow erT ransformer 对应 的表 里添 加两个 域: TransformerW inding 和 HeatEx chang er。 图 3 聚合关系映射过程 4 4 简单关联 简单关联是类在概念上的一种联系。CIM 里 简单关联有 3 种表现形式。 4 4 1 零或一对一( 和一对一) 零或一对一关联映射成数据库的表, 只需将外 键隐藏在零或一对一的 零或一 表中。一对一关 联, 将外键隐藏在一对一的任意一张表中。以生产 包为例( product package) 如图 4, A irCompr essor 对应零或一个 CombustionT urbine。在表 Combus tionT urbine 里添加一个域即 AirCompresso rID。 图 4 零或一 对一关联关系映射过程 4 4 2 一对多 一对多映射方法是将外键隐藏在多表中。以拓 扑包为例, 如图 5, 类 EquipmentCo ntainer 和类 Co nnectivityNode 是一对多关联。在类 Connectiv i tyNode 相应的 多表 里添加域 EquipmentCon tainerID 做为外键即可实现。 4 4 3 多对多 本文大多数情况下采用了外键的方法来实现映 图 5 一对多关联关系映射过程 射, 这是为了避免生成过多的关系表, 影响查询效 率。但是, 对于简单关联中的多对多关联, 却采用 了建立关系表的方法实现映射, 原因是建立关系表 能更加清晰地反映对象之间的关系, 而且更重要的 是数据的冗余度将会大大减小。 多对多的映射方法是用一个单独的表来实现多 对多关联。关联的主键是每个类的主键的合并。以 核心包 ( Co re Packag e) 为例, 如图 6, 类 Pow er Sy stemReso urce 和类 Company 是多对多的关系。 表Asso ciation 是表Pow erSystemResource 和表Com pany 派生出来的关系表, 其中包括两个域 Power SystemResourceID 和 CompanyID, PowerSystemRe sourceID 和 CompanyID 共同构成主键[7] 。 图 6 多对多关联关系映射过程 5 结论与展望 本文研究的映射方法是: 用关系型数据库完全 表达 CIM 模型。这个方法的优点是, 数据库完全 遵循 IEC61970 标准, 开放性直接达到了数据库; 缺点也很明显, 而且由于 CIM 里虚类的存在, 也 会在关系数据库里对应地产生一些虚表, 加上关系 表的外键较多, 使得程序员对数据库的操作会比较 麻烦, 而且效率也较低。为了得到完整的数据, 可 能需要查几张表。实际上, 软件开发不仅包括数据 库设计, 同时还包括应用程序的设计。要真正地实 现数据共享, 导入导出数据的过程方法标准化, 并 第 4 期 翁芳芳等: CIM 模型与关系模型的一种映射方法的探讨 23
24 现代电力 2005年 不一定必须让数据库全部承担,而应用程序的设计 [4 张慎明,卜凡强,姚建国,杨志宏,陈梅,赵京虎 可以和数据库设计互为补充、互为调节。比如在数 曹阳.遵循EC61970标准的实时数据库管理系统 据库里只存放对象,将关系的解释交给应用程序, [】,电力系统自动化,2002,26(24:26-30 比如可以设计一些接口函数,只要对外部系统的接 [ 樊涛,吴杏平,米为民,胡建勇.基于EC61970标 准的新一代调度自动化系统的研究[C☑·第四届输 口能够遵循CIM,就映射成功了。但这样做增加了 配电技术国际会议论文集.长沙:20031040-1044 接口设计的工作量和难度。事实上,数据库设计和 [6 赵江河,郭中华,董春晖,基于CM模型的配电自 应用程序的设计之间的相互协调,效率和复杂度也 动化[C],第四届输配电技术国际会议论文集。长 一直是软件工业界随时考虑的问题。 沙:2003707-710 从CCAPI工程的目的出发,IEC61970是一个 [7刀 Draft IEC 61970:Energy Management System Appli 万全之策,既考虑到避免目前应用系统的浪费,提 cation Program Int erface EMS A PD)-Part 301 [S]: 供XML数据导入导出方案;又为将来新建的系统 Common Information Model (CIM)Base 提供了CM框架。为电力软件工程提供了共同标 [8周 Michael Blaha著.使用UML设计数据库应用[门, 准,电力行业信息孤岛问题的解决指日可待。 张启鹏译.http:∥www.umlchina com 参考文献 收稿日期:20040317 [ 张慎明,刘国定,IEC61970标准简介[刀,电力系 作者简介: 统自动化,2002.26(14:1-6 翁芳芳(1978一),女,硕士研究生,研究方向为数字电力 [2 Draft IEC 61970:Energy Management System Appli 系统: cation Program Interface EMS API)-Part 1 [S]: 林俐(1968一),女,副教授,主要从事电力系统自动化 Guidelines and General Requirements 及继电保护方面的研究工作: [3) 胡继芳,王宁.IEC61970与新一代EMS数据库管理系 杨以涵(1927一),男,教授,博士生导师,主要从事电力 统[】.电力系统自动化200,2424:38-40 系统自动化方面的研究工作。 ·简讯· 华中电网新增外送电力111万kW 华中电网重任在肩,将落实迎峰度夏期间国家电网公司下达的新增111万kW跨区送电任务。可先执 行后谈价,据实结算。 由于三峡水电站14号机组推迟投产,三峡水电站实际发电能力比年度计划发电能力减少,三季度华中 至华东输电通道出现富余空间(其中7月份101万kW),国家电网公司要求华中电网负责填满富余空间: 另外要求华中送华北电力由原计划40万kW增加到50万kW。 在迎峰度夏期间,华中电网不仅要经受高温高负荷的冲击,同时要完成国家电网公司下达的新增跨区 送电任务,承受的压力可想而知。6月30日,华中电网公司召开了华中电网2005年迎峰度夏工作协调电 视电话会议,部署了迎峰度夏期间的跨区送电任务,并提出了将采取的主要措施:一是电网安全共保,资 源统调。在电网安全和输送通道允许的情况下,全网可用发电资源实行跨省(市)统一调配:二是跨区跨省 (市)互济资源可先执行后谈价,据实结算:三是总量满足送华东电力曲线要求,网内根据各省(市)电力供 应紧张程度进行调剂,按实际送电量结算:四是备用共享。迎峰度夏期间,全网备用容量共享,部分电力 支援,由调度台灵活掌握。 通过协调安排和各省(市)的大力支持,7月份向华东输送101万kW电力和向华北新增送电任务已经 落实:8、9月送电任务,华中电网公司也将在国家电网公司的统一部署下,综合考虑区内各省(市)电网可 用资源能力、电力供需形势、输送通道空间以及7月各省(市)跨区送电情况等因素,统筹安排,落实到省 (市),以保证圆满完成国家电网公司下达的跨区送电任务。 1994-2011 China Academic Journal Electronic Publishing House.All rights reserved.http://www.cnki.net
不一定必须让数据库全部承担, 而应用程序的设计 可以和数据库设计互为补充、互为调节。比如在数 据库里只存放对象, 将关系的解释交给应用程序, 比如可以设计一些接口函数, 只要对外部系统的接 口能够遵循CIM, 就映射成功了。但这样做增加了 接口设计的工作量和难度。事实上, 数据库设计和 应用程序的设计之间的相互协调, 效率和复杂度也 一直是软件工业界随时考虑的问题。 从 CCAPI 工程的目的出发, IEC61970 是一个 万全之策, 既考虑到避免目前应用系统的浪费, 提 供 XM L 数据导入导出方案; 又为将来新建的系统 提供了 CIM 框架。为电力软件工程提供了共同标 准, 电力行业信息孤岛问题的解决指日可待。 参 考 文 献 [ 1] 张慎明, 刘国定 IEC61970 标准简介 [ J] 电力系 统自动化, 2002, 26( 14) : 1~ 6 [ 2] Draft IEC 61970: Energ y Manag ement System Appli catio n Pro gr am Interface ( EM S API) Part 1 [ S] : Guidelines and General Requirements [ 3] 胡继芳, 王 宁 IEC61970 与新一代 EMS 数据库管理系 统 [ J] 电力系统自动化, 2000, 24( 24) : 38~ 40 [ 4] 张慎明, 卜凡强, 姚建国, 杨志宏, 陈梅, 赵京虎, 曹阳 遵循 IEC61970 标准的实时数据库管理系统 [ J] 电力系统自动化, 2002, 26( 24) : 26~ 30 [ 5] 樊涛, 吴杏平, 米为民, 胡建勇 基于 IEC61970 标 准的新一代调度自动化系统的研究 [ C] 第四届输 配电技术国际会议论文集 长沙: 2003 1040~ 1044 [ 6] 赵江河, 郭中华, 董春晖 基于 CIM 模型的配电自 动化 [ C] 第四届输配电技术国际会议论文集 长 沙: 2003 707~ 710 [ 7] Draft IEC 61970: Energ y Manag ement System Appli catio n Pro gr am Int erface ( EMSAPI) Part 301 [ S] : Commo n Info rmation Model ( CIM) Base [ 8] Michael Blaha 著 使用 UML 设计数据库应用 [ N] 张启鹏译 http: ww w umlchina com 收稿日期: 20040317 作者简介: 翁芳芳 ( 1978 ) , 女, 硕士研究生, 研究方向为数字电力 系统; 林 俐 ( 1968 ) , 女, 副教授, 主要从事电力系统自动化 及继电保护方面的研究工作; 杨以涵 ( 1927 ) , 男, 教授, 博士生导师, 主要从事电力 系统自动化方面的研究工作。 简讯 华中电网新增外送电力 111 万 kW 华中电网重任在肩, 将落实迎峰度夏期间国家电网公司下达的新增 111 万 kW 跨区送电任务。可先执 行后谈价, 据实结算。 由于三峡水电站 14 号机组推迟投产, 三峡水电站实际发电能力比年度计划发电能力减少, 三季度华中 至华东输电通道出现富余空间 ( 其中 7 月份 101 万 kW) , 国家电网公司要求华中电网负责填满富余空间; 另外要求华中送华北电力由原计划 40 万 kW 增加到 50 万 kW。 在迎峰度夏期间, 华中电网不仅要经受高温高负荷的冲击, 同时要完成国家电网公司下达的新增跨区 送电任务, 承受的压力可想而知。6 月 30 日, 华中电网公司召开了华中电网 2005 年迎峰度夏工作协调电 视电话会议, 部署了迎峰度夏期间的跨区送电任务, 并提出了将采取的主要措施: 一是电网安全共保, 资 源统调。在电网安全和输送通道允许的情况下, 全网可用发电资源实行跨省( 市) 统一调配; 二是跨区跨省 ( 市) 互济资源可先执行后谈价, 据实结算; 三是总量满足送华东电力曲线要求, 网内根据各省( 市) 电力供 应紧张程度进行调剂, 按实际送电量结算; 四是备用共享。迎峰度夏期间, 全网备用容量共享, 部分电力 支援, 由调度台灵活掌握。 通过协调安排和各省( 市) 的大力支持, 7 月份向华东输送 101 万 kW 电力和向华北新增送电任务已经 落实; 8、9 月送电任务, 华中电网公司也将在国家电网公司的统一部署下, 综合考虑区内各省( 市) 电网可 用资源能力、电力供需形势、输送通道空间以及 7 月各省( 市) 跨区送电情况等因素, 统筹安排, 落实到省 ( 市) , 以保证圆满完成国家电网公司下达的跨区送电任务。 24 现 代 电 力 2005 年