首页 基于CIM-DAF电力系统模型数据交互研究

基于CIM-DAF电力系统模型数据交互研究

举报
开通vip

基于CIM-DAF电力系统模型数据交互研究基于CIM-DAF电力系统模型数据交互研究 华中科技大学 硕士学位论文 基于CIM-DAF的电力系统模型数据交互的研究 姓名樊荣 申请学位级别硕士 专业系统分析与集成 指导教师王乘杨峰 20070303 华 中 科 技 大 学 硕 士 学 位 论 文 摘 要 随着电力系统自动化水平的不断提高与信息化的不断深入标准化成为能量管 理系统Energy Management SystemEMS 发展的必然之路IEC-61970 标准的公 共信息模型--CIM Common information ...

基于CIM-DAF电力系统模型数据交互研究
基于CIM-DAF电力系统模型数据交互研究 华中科技大学 硕士学位 论文 政研论文下载论文大学下载论文大学下载关于长拳的论文浙大论文封面下载 基于CIM-DAF的电力系统模型数据交互的研究 姓名樊荣 申请学位级别硕士 专业系统分析与集成 指导教师王乘杨峰 20070303 华 中 科 技 大 学 硕 士 学 位 论 文 摘 要 随着电力系统自动化水平的不断提高与信息化的不断深入 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 化成为能量管 理系统Energy Management SystemEMS 发展的必然之路IEC-61970 标准的公 共信息模型--CIM Common information model 提供了用于不同能量管理系统EMS 间交互数据的一个实用化的数据模型IEC-61970 标准的组件接口 规范 编程规范下载gsp规范下载钢格栅规范下载警徽规范下载建设厅规范下载 --CIS Component Interface Specification 是在CIM 基础上定义的规定组件 或应用 程序 为了能够以一种标准方式和其它的组件 或应用程序 交换信息而应该实现的各 种接口数据访问设施Data Access Facility DAF 是 OMG 发布的国际标准 IEC-61970 引入了DAF 技术作为其CIS 的基本接口 在基于CIMCIS 的EMS 系统间交互信息是以CIMXML 为载体而CIMXML 数据本质上是CIM 语义的RDF 数据本文在开发基于CIM 模型的EMS 数据支撑系 统中通过引入专于 RDF 的JENA 技术来处理 CIMXML 着重讨论了 JENA 对 RDF 数据的表达解析查询技术在CIMCIS 中的应用JENA 不仅能自动地生成 CIMXML 数据而且可以高效地对CIMXML 进行查询从而可以进一步实现CIS 的 DAF 接口JENA 技术为IEC-61970 标准的进一步的实用提供了一条新的有效途径 第一章介绍了本论文的课题背景及研究意义 第二章研究了IEC-61970 标准体系结构以及CIM 模型与CIS 接口 第三章阐述了搭建基于 CIM 模型的 EMS 数据支撑系统中使用的相关技术包 括资源描述框架 Resource Description FrameworkRDF JENA 技术公共对象请求 代理结构CommonObject Request Broker ArchitectureCORBA 第四章引入 JENA 技术研究了如何把数据从既有电力系统的关系数据库导出 到CIMXML 文件的过程完成了基于JENA 技术的CIM 对象数据库构建 第五章在深入研究数据访问设施DAF 以及公共对象请求代理结构CORBA 分布式组件技术的基础上通过JENA 的SparQL 语言查询RDF 数据实现了 CIS 中 主要的接口服务--DAF 关键词电力系统 IEC-61970 公共信息模型 组件接口规 范 资源描述框架 数据访问设施 II 华 中 科 技 大 学 硕 士 学 位 论 文 Abstract The continuous improvement of the automation of Electric power system in information age renders Standardization as an inexorable trend for Energy Management Sysetm EMS Common information model CIM of IEC-61970 provided a common model for exchanging in different EMS Based on CIM Component Interface Specification CIS of IEC-61970 afford a standard interface for data accessing and employed the International standard Data Access Facility DAF released by the OMG as its basic interface CIMXMLas a carrier of exchange information on EMS systems is essentially based on RDF technology In the development of EMS JENA technology that focused on RDF has been introduced to process CIMXML JENA can automatically produce CIMXML data and highly effective query helping to Implementation of CIS JENA technology provides a new and effective way to practical for IEC 61970 standard In the chapter 1 the purpose and background of this paper are introduced In the chapter 2 the IEC-61970 Specification as well as the CIM and CIS interface is presented In the chapter 3 the key technology used in the EMS system on the basis of CIM which includes RDF JENA and CORBA is illustrated In the chapter 4 JENA technology is used for CIM data processing the procedure of export data from EMS database to CIMXML file is discussed in details and a new object database of CIM was created based on JENA technology In chapter 5 DAF and distributed component technology based Common Object Request Broker Architecture CORBA is further discussed in the first place and then the main interface service RDF of CIS was implemented with the use of SparQL inquiry language on the basis of JENA Key words Power System IEC-61970 CIM CIS RDF DAF III 华 中 科 技 大 学 硕 士 学 位 论 文 独创性声明 本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及 取得的研 究成果尽我所知除文中已经标明引用的内容外本论文不包含任何其他个人或 集体已经发表或撰写过的研究成果对本文的研究做出贡献的个人和集体均已在 文中以明确方式标明本人完全意识到本声明的法律结果由本人承担 学位论文作者签名 日期 年 月 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留使用学位论文的规定即学校有权 保留并向国家有关部门或机构送交论文的复印件和电子版允许论文被查阅和借阅 本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检 索可以采用影印缩印或扫描等复制手段保存和汇编本学位论文 保密? 在_____年解密后适用本授权书 本论文属于 不保密? 请在以上方框内打? 学位论文作者签名 指导教师签名 日期 年 月 日 日期 年 月 日 I 华 中 科 技 大 学 硕 士 学 位 论 文 1 绪论 11 引言 近年来随着电力系统自动化水平的不断提高以及电力系统信息化的深入EMS 无论从应用广度还是应用深度都有很大发展新一代的EMS 更加重视标准化和开放 性在原有系统的基础上用户可以不断开发扩充新的功能增加新的模块以满 足较长时间内充分发挥 EMS 作用的要求目前的开放式EMS 只是平台的开放还 没有达到应用程序级的开放面临着异种系统集成和二次开发的困难无法实现大 规模互联电力系统中各控制中心EMS 之间的数据交换和信息共享迫切需要应用程 序接口方面有良好的国际标准可循我国电力企业信息化的完善目前也逐步建设 了大批综合性的分布式应用的系统[1]这些系统的运用极大地提高了电力企业运行 效率但随着运用的深入一些问题也逐步的暴露1 当用户对老的系统更新换代时 由于运行平台不兼容用户原来一些运行稳定可靠的软件不能再正常运行用户长 期积累的数据资料和二次开发的工作不能再保留2 当用户对系统中某一部分的功能 进行扩展时如果用第三方软件由于接口专用要重复建设一些软件浪费了用 户的资金和时间3 当用户进行后期功能招标时由于第三方软件的接口问题往往 使用户选择原来系统的厂家不能选择最好的应用软件为了解决新一代EMS 的这 些问题IEC 国际电工委员会推行了IEC 61970 系列标准来提供统一的 数据模型 和标准的访问接口主要包括公用信息模型Common Interface ModelCIM 和组 件接口规范 Component Interface SpecificationCIS 系列标准 12 IEC-61970 标准体系 IEC-61970 标准由国际电工协会 IEC 第 57 技术委员会第 13 工作组提出它是 为能量管理系统的应用程序定义接口此标准的提出是基于美国EPRI 的控制中心应 用接口 CCAPI 研究项目的大量工作美国EPRI CCAPI 项目的主要目的就是 1 减少新的EMS 应用系统的开发成本与时间 2 保护已有的正常运行的EMS 应用系统的投资 3 提供电力自动化系统之间的数据通讯 1 华 中 科 技 大 学 硕 士 学 位 论 文 技术上实现的办法就是为现有的应用或系统提供一个集成构架这一构架基于 通用的结构和信息模型及接口与并且底层的实现技术无关IEC-61970 系列标准的工 作就是形成一套导则和标准用以?集成在控制中心环境中不同开发商的应用? 与控制中心外的系统交换数据因此标准的范围也涉及其它电力传输系统配电系 统以及在控制中心以外需要实时交换数据的发电系统IEC 61970 还要实现对遗留的 系统和新开发的系统依据标准进行集成IEC-61970 标准的技术特点是基于 公共信 息模型独立与底层的组件技术 CIM 是整个IEC-61970 系列标准的重要基础规定了IEC-61970 系列标准的语 义部分CIM 是一个抽象模型采用可视化的面向对象的建模语言 UML Unified Modeling Language 来设计CIM 对主要的电网设备和相关对象进行了建模包含 这些对象的公共类和属性以及它们之间的关系IEC TC57 的第14 工作组WG14 在系列标准IEC-61968 中扩展了CIM面向配网应用增加了一些信息模型主要包 括资产管理工作管理建设管理配网管理地理信息系统 GIS 停运管理等 从而使CIM 模型进一步的完善几乎涵盖了电力企业中的所有对象 CIS 规定组件或应用程序为了能够以一种标准方式和其它的组件或应 用程 序交换信息而应该实现的各种接口当前CIS 标准规定了DAF 数据访问设施 GDA 通用数据访问接口HSDA 高速数据访问接口TSDA 时序数据访问接 口中的所有接口服务包括近100 个 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 其中DAF 定义了数据读取访问的简 单接口GDA 扩展了写接口和条件查询HSDA 支持从EMS 到EMS 或EMS 之外 的客户端实时高效地传递大量数据TSDA 支持对于时间序列数据的处理这些 CIS 服务与CIM 数据库结合构成了不同组件间相互通讯协调与控制的软总线 13 国内外研究现状与进展 近年来关于新一代 EMS 系统的发展方向有很多讨论其中支持 IEC-61970 CIMCIS 标准是新系统支持平台的重要特征国内外各大 EMS 厂商和研究院校都 对此进行了有益的尝试主要包括CIM 数据的建立与导出导入CIS 的部分接口 [2][3] 的实现如DAF GDAHSDA 等 这些实现无论是CIM 数据库与CIS 接口都依 赖于后台的关系数据库或者类似的内存数据库而 CIM 模型是基于对象模型的导 致CIM 数据库构建复杂后续维护代价较高一方面效率不高一方面也不利于扩 [4][5] 展本文借鉴前人的成功经验 引入JENA 技术直接在CIMCML 文件上构建 2 华 中 科 技 大 学 硕 士 学 位 论 文 了CIM 数据库并实现CIS 的基本接口DAF 整个实现过程简单方便易于扩展 基于IEC 61970 标准的互操作实验推动和促进了EMS 发展和应用截止2005 年 初国外针对 EMSAPI 做过六次互操作实验其中前四次实验都是基于静态的可扩 展置标语言Extensible Markup Language XML 文档的第五次互操作实验于 2003 年 11 月18 到11 月20 日在美国俄亥俄州进行这是第一次基于通用接口定义 Generic Interface DefinitionGID 的互操作实验[6]第六次互操作实验于 2004 年6 月进行主要测试CIS 的GDA 与HSDA 互操作的兼容性[7] 为了与国际电力行业接轨我国成立对应于IEC TC57 的第13 工作组的EMS-API 工作组2002 年1 月23 日到1 月24 日在北京进行了国内第一次EMS-API 互操作 试验国内最近一次互操作实验于2006 年10 月26 到10 月27 日在国网调度中心进 [8] 行这是国内进行的第六次互操作实验主要测试CIS 的HSDA 部分的兼容性 14 本文的主要工作 大力发展和推广 EMS 系统最为关键的是如何构建统一的数据支撑平台在 充分考虑到 EMS 系统需求的情况下通过引入 JENA 技术初步搭建一个符合 IEC-61970 标准的基于CIMDAF 的数据支撑平台这就是本论文的目标 在研究公共信息模型CIM 与组件接口规范CIS 的基础上本文完成了一 个基于CIMDAF 的EMS 数据支撑平台在这当中涉及到基于RDF 的JENA 技术 CIM 数据库的建立CIM 的数据的查询以及基于JENA 的DAF 接口的实现本文在 实现基于CIMDAF 的EMS 数据支撑平台过程中引入了专于RDF 的JENA 技术 摒弃了传统的关系数据库直接使用 JENA 的查询技术来实现类似关系数据库的查 询接口有了JENA 技术构建CIM 数据库就是从EMS 数据库将其数据导出为符 合CIM 规范的CIMXML 文件然后通过JENA 载入CIMXML 文件并使用JENA 的SparQL 查询语言来实现CIM 数据库的查询接口其实现过程具有很强的 实用性 和可操作性 3 华 中 科 技 大 学 硕 士 学 位 论 文 2 IEC-61970 标准技术综述 IEC-61970 标准由国际电工协会 IEC 第 57 技术委员会第 13 工作组提出它是 为能量管理系统的应用程序定义接口此标准的提出是基于美国EPRI 的控制中心应 用接口 CCAPI 研究项目的大量工作IEC-61970 系列标准草案采用公共信息模型 CIM 描述电力系统资源的公用信息并以组件接口规范CIS 访问 CIM 21 IEC-61970 慨述 IEC-61970 标准为现有的应用或系统提供一个集成构架这一构架具有如下的特 性?基于通用的结构和信息模型及接口?与底层的技术无关如图2-1 IEC 61970 系列标准包括公共信息模型CIM 和组件接口规范CIS 两方面内容CIM 提供 了通用的数据模型依据CIM 不同的EMS 有可能以一个统一数据模型来表达数据 而CIS 在CIM 基础上提供了标准的数据访问接口其目的和意义在于1便于来 自不同厂家的 EMS 系统内部各应用的集成2 便于 EMS 系统与调度中心内部 其它系统的互联3 便于不同调度中心 EMS 系统之间的模型交换 电 老 新 力 的 的 系 E E 统 M M 其 S S 他 应 系 应 IEC-61970 构件接口规范CIS 公共信息模型CIIM 图2-1 IEC-61970 系列标准的总体框架结构 IEC-61970 标准的技术特点是基于组件的公共信息模型独立与底层的组件技 术如图 2-2 IEC-61970 标准由以下五部分组成 Part 1 指导方针与需求 Part 2 术语表 Part 3xx 公共信息模型 CIM Part 4xx 组件接口规范 CIS 4 华 中 科 技 大 学 硕 士 学 位 论 文 Part 5xx CIS 技术映射CIS 技术在不同的组件技术如CORBAEJB DCOM 等下实现的细节描述 导则 术语 IEC 61970标准 CIS 第二部分 IEC 61970-1 IEC 61970-2 IEC 61970-3 IEC 61970-4 IEC 61970-5 Part 401 Part 402 Part 403 CIM规范 CIS第一部分 图 2-2 IEC-61970 系列标准的总体框架结构 22 公共信息模型 CIM 公共信息模型CIM 是整个IEC-61970 系列标准的框架的基础部分通过提供一 个表示电力系统资源的类属性及其关系的标准CIM 使得不同厂商独立开发的EMS 应用程序的集成整个EMS 内部的集成和EMS 与其它相关电力系统运行软件 例如 发电或变网管理系统 间的集成变得容易这个目标的实现要通过定义一种 基于CIM 的通用模型来使得这些运用程序或系统能够获取公共数据和独立地交换信息 CIM 提供了一个元数据模型定义了应用之间数据交换的内容和格式为应用 间集成和数据共享提供了一个一致的基础各类应用在这个统一的元数据的定义范 围内交换数据进行互联操作CIM 包含在EMS 信息模型中的电力企业的所有主要 对象通过提供一种用对象类和属性及他们之间的关系来表示电力系统资源的标准 方法具体的说CIM 给电力系统中所有的实体对象 ENTITY OBJECTS 提出了一个 标准化的定义把所有这些实体对象抽象成类来进行描述进而又把这些类分 别归入了不同的包可见CIM 给从事电力系统能量管理系统集成方面的人员 提供了一种通用的电力系统模型所有人员按照CIM 的规定就可以得到对电力系 统资源的统一描述进而在接口层上实现数据交换和数据共享 CIM 提供了关于电力系统的抽象模型从而对于共同遵循CIM 的系统而言就有 了交换信息的基础CIM 采用 UML UnifiedModeling Language 对电力系统进行 建模经过建模后电力系统中的实体对象被抽象成类而且各个类被分别放在若 干个逻辑包中CIM 由一组逻辑包组成逻辑包是一般意义上将相关模型组件分组 的方法没有具体的语义意义逻辑包的选择是为了使模型更易于设计理解与查 5 华 中 科 技 大 学 硕 士 学 位 论 文 看公共信息模型是由一整套逻辑包所组成的实体可以具有越过许多逻辑包 边界 的关联每一应用将使用一个或多个逻辑包所表示的信息 整个 CIM 模型包括下面几个逻辑包Core核心包Topology拓扑包 Wires电线 网 包Outage停运包Protection保护包Meas量测包 LoadModel 负荷模型包Generation 发电包Production 生产包 GenerationDynamics发电动态包Domain-域包EnergyScheduling能量计划 [9] 包Reservation预订包Financial财务包Asset资产包 图2-3 CIM 的包结构 图2-3 表示在CIM IEC 61970-301 篇中定义的各包及它们之间的依赖关系虚线 表示依赖关系箭头从依赖的包指向它所依赖的包 1Core 核心包 核心包包含核心PowerSystemResource 和ConductingEquipment 实体这些实体 被所有的应用程序及这些实体的公共集合所共享并不是所有的应用程序需要所有 的Core 实体这个包不依赖于任何其它的包但是其它包中的大部分都具有依赖于 本包 6 华 中 科 技 大 学 硕 士 学 位 论 文 2 Topology 拓扑包 拓扑包是Core 包的扩展它与Terminal 类一起来建立连接模型而连接模型是 设备怎样连接在一起的物理定义另外它还建立了拓扑模型这是设备怎样通过 闭合开关连接在一起的逻辑定义Topology 的定义与其它电气特征无关 3 Wires 电线包 电线包是Cor 和Topology 包的扩展它建立了输电和配电网络的电气特征的信 息模型这个包用于网络应用例如状态估计潮流及最优潮流 4 Outage 停运包 这个包是Core 和Wires 包的扩展它建立了当前及计划网络结构的信 息模型 这些实体在典型的网络应用中是可选的 5 Protection 保护包 保护包是Core 和Wires 包的扩展它建立了保护设备例如继电器的信息模型 这些实体用于培训模拟和配电网故障定位应用 6 Meas 量测包 量测包包含对各应用之间交换的动态测量数据进行描述的实体 7 LoadModel 负荷模型包 负荷模型包以曲线及相关的曲线数据的形式为能量用户及系统负荷提供模型 这里还包括影响负荷的特殊情况例如季节与日期类型这个包主要用于负荷预测 和负荷管理使用 8 Generation 发电包 发电包分成两个子包Production 包和GenerationDynamics 包 9 Production 生产包 生产包提供了各种类型发电机的模型它还建立了生产成本信息模型用于发电 机间进行经济需求分配及计算备用量大小这个包主要用于机组组合水火发电机 组的经济调度负荷预测及自动发电控制应用 10GenerationDynamics 发电动态包 发电动态包提供原动机的模型例如汽轮机和锅炉的模型这些模型在模拟和培 训应用中需要用到这个包主要用于动态培训模拟应用的机组建模 11Domain 域包 域包是量与单位的数据字典定义了可能被其它任何包中任何类使用的属性的数 7 华 中 科 技 大 学 硕 士 学 位 论 文 据类型此包包含原始数据类型的定义包括测量单位和允许值每一种数据类型 包含值属性及可选的测量单位它被规定为一个静态变量并作为测量单位的文字 描述初始化允许的枚举值在属性文档中用大括号内的UML 约束句法列出字符串 长度在文档中列出并被指定了长度属性 12Financial 财务包 财务包用于结算和报价这些类代表参与正式或非正式协议的合法电力企业 13EnergySchedule 能量计划包 能量计划包的功能是计划计算不同电力公司之间的电能交换它包括发出功率 消耗功率损耗功率通过功率卖出功率买入功率等这些类用来计算能量 发电容量传输能量和辅助服务 14Reservation 负荷预测包 负荷预测包用于能量发电容量传输辅助服务的交易计划预测 15SCADA 数据采集与监控包 数据采集与监控包包含数据采集与监控所需的数据模型监控是让调度员控制设 备如开合开关数据采集用来采集各种来源的数据遥测实体的子类型与IEC61850 一致这个包同样支持报警但是不可被其它应用使用 国际电工委员会第57 技术委员会正在深化对CIM 的研究不断扩大CIM 的应 用范围欲将其推广至配电管理系统DMS 变电站自动化控制SAS 等 EMS 相关应用以及公共事业的其他应用中 23 组件接口规范CIS 组件接口规范 Component Interface Specification 简称CIS 是在CIM 基础上定 义的规定组件 或应用程序 为了能够以一种标准方式和其它的组件 或应用程序 交 换信息而应该实现的各种接口这些组件接口描述可以被应用程序用于这一 目的的 特定的事件方法和属性所以CIS 的意图是规定一些接口应用程序或系统要用 [10] 这些接口来促进和其它独立开发的应用系统进行集成 IEC-61970 标准的 4XX 和 5XX 系列标准共同构成了组件接口规范 CIS 定 义了使用标准方式交换数据的途径所交换的内容以及用来在组件间交换数据的 接口的功能要求4XX 系列定义了 CIS 规范的语法与底层的实现技术无关是 CIS 的第一层其中第一组的 401,449 号标准详细说明了 CIS 所要提供的所有 8 华 中 科 技 大 学 硕 士 学 位 论 文 通用服务其定义和功能采用叙述性的文字UML IDL 共同描述第二组的 450, 499 号标准的重点在于在 61970 总则所定义的典型应用之间交换数据所应遵循的 信息内容信息格式的基本要求这些数据可以是事件event 的形式也可以作 为消息message 发布还可以转换成 XML 文档传输目前还未见相关草案发表 5XX 系列定义了 4XX 系列如何映射到具体的底层技术是 CIS 的第二层CIS 的 标准化的工作还在进行中图2-4 描述了目前已经有草案的CIS 第4XX 部分的标准 Part 405 Generic Part 402 Base Part 403 Generic Part 404 Hi Speed Eventing and Part 407 Time Services Data Access Data Access Subscription Series Data Access [GID Common GDA HSDA GES TSDA Services] [DAF GID CDA] [DAIS DA] [DAIS SE GID PS] DAF DAF DAIS DA DAIS AE HDAIS OPC DA OPC AE OPC HDA 图2-4 目前CIS 第4 部分定义的接 口 [11] 第 402 部分公共服务Common ServicesCS 给出了数据访问的一 般标 准与服务主要包括 ResourceID 资源描述Description 和名称空间 Namespace 的概念以及可选组件服务 CSIdentifiers 包和 CSServer 包 [12] 第403 部分通用数据访问Generic Data AccessGDA 对标准的第 402 部分进行了一定的扩展主要内容来源于 OMG 组织颁布的 UMS DataAccess Facility Specification 简称数据访问设施 Data Access Facility DAF 增加了过滤 查询接口GDAFiltered QueryInterface 更新接口GDA Update Interface 资 源 更新服务接口ResourceUpdateService Interface 和事件接口GDAEvents Interface 9 华 中 科 技 大 学 硕 士 学 位 论 文 [13] 第 404 部分高速数据访问High Speed Data Access HSDA 描述了基于 OMG DAIS 的在线实时数据访问接口 本文的主要内容就是引入 JENA 技术来实现 CIS 的基础接口――DAF 实现对 EMS 数据的查询访问数据访问设施Data Access Facility DAF 是OMG 发布的 国际标准目前版本是 com[14]它构成了 IEC-61970 第 403 部分的主要内容其 目标是提高 EMS 应用与其它系统应用的协同工作能力该规范用于访问 CIM 公 共数据为不同的供应商提供了一种使用公共应用程序接口API 和公共服务的机 制DAF 和其他数据库API 的最大的区别在于统一简单实用便于快速解决 一定范围内的应用整合问题DAF 的基本结构如图 2-5 所示包括四个重要的接口 模块DAFIdentifiers 模块DAFDescriptions 模块DAFQuery 模块与 DAFEvents 模块分别用于资源的定位数据描述资源的查询与数据变化的事件消息而其中 的 CosNaming 和 CosEventChannelAdmin 则是CORBA 中定义的标准包 资源定位 资源描述 资源查询 图2-5 DAF 模块关系 DAF 的设计理念在于为现在或者将来的应用提供一个简单易用的数据访问API 其接口的设计具有以下特点 简单快速 DAF Data Access Facility 不同于一些数据库API 它的接口很精简开发人员可 以在一个简单小型的系统上快速构建 DAF 以提供解决系统集成问题的数据访问方 10 华 中 科 技 大 学 硕 士 学 位 论 文 案 高性能 DAF 本身并不要求其后台为某种特定的存储实体也力求避免带来性能上的瓶 颈这就为实现各种实时应用提供了可能DAF 后台数据即可以是关系数据库也 可以是内存数据库甚至可以是普通的数据文件DAF 也在一定程度上支持用户自 定义的优化查询 应用程序可以通过DAF 接口向服务端访问数据例如潮流程序要获得系统中的 所有变压器绕组的正序串联电阻 resist 和绕组的正序串联电抗 react 就可使用 get_extent_values 方法只要将用于标识类的TransformerWinding 以及属性正序串 联电阻 resist 和正序串联电抗 react 的具体信息的统一资 源标识符 URI 提供给 get_extent_values 方法数据支撑平台据此查到正序串联电阻 resist 和正序串联电 抗 react 并按 DAFDescriptions 包的定义的格式将数据组织起来返回给潮流程序使 用 24 本章小结 本章对 IEC-61970 标准进行了总体介绍分别阐述了公共信息模型CIM 的 内容特点和结构以及组件接口规范CIS 的构成与框架着重介绍了CIS 的基 本接口数据访问设施DAF DAF 的设计理念在于为现在或者将来的应用提供一个简 单易用的数据访问API DAF 和其他数据库 API 的最大的区别在于统一简单 实用 11 华 中 科 技 大 学 硕 士 学 位 论 文 3 关键技术 本章对文中应用到的相关技术做一统一的描述和解释主要包括用于 CIM 数据 构建的RDF 与JENA 技术和用于CIS 接口实现的Corba 中间件技术本章只针对重 要的概念思想方法和部分实际应用技术详细的内容参见相关的技术文档 31 资源描述框架 CIM 在形式上是通过资源描述框架语言来描述各种电力系统中的对象与对象间 的关系资源描述框架 Resource Description Framework简称 RDF 是一个用于表达 资源的信息的语言是以通用的方式来描述数据的保存分布产生使用等情况 的XML 应用RDF 以数据为中心为交换机器可读信息的应用程序提供一种交互 性资源描述框架RDF 分为模型和语法 RDF Model and Syntax 以及RDF 模式 RDF Schema RDF 用于信息需要被应用程序处理而不是仅仅显示给人观看的场合RDF 提供 了一种用于表达这一信息并使其能在应用程序间交换而不丧失语义的通用框架 既然是通用框架应用程序设计者可以利用现成的通用RDF 解析器RDF parser 以及通用的处理工具例如JENA 能够在不同的应用程序间交换信息意味着 对于 那些并非信息的最初创建者的应用程序也可以理解与处理这些信息 com RDF 模型 主体 谓词 客体 Anything named A characteristic A simple value by a URI eg applicable to or another a substation the resource in resource any vocabulary 资源 属 值 图3-1 一个RDF 语句 12 华 中 科 技 大 学 硕 士 学 位 论 文 RDF 建立在一个称为三元组的数学模型上它可以把一些非常简单的元数 据说明组合在一起每一个三元组由主体 Subject 谓词 Predicate 和客体 Object 这三个元素构成如图3-1 三者组成一个语句 Statement 多个语句的集合称为描 述 Description [15][16] 如在电力系统中这样描述变电站一个变电站的名字叫做 NY 这就是一个只有一个语句的描述可以使用RDF 进行表示如图 3-2 其中了一个变电站是主体名字是谓词而NY 是客体主语代表资源 resource ――所有可由RDF 表达的对象包括web 站点单个网页电力系统中的 开关线路等它们一般总是由一个相关的统一资源标识符 URI Uniform Resource Identifier 独一无二地表示这个资源谓词指的是资源的属性 property 包括资源的 外观特点性质与其它资源之间的关系等一个资源可以有多个属性客体就 是属性的值 value 每个属性值可以是简单的值如数字字符串等也可以更复杂 甚至属性值又可以是资源 一个变电站的名字叫做NY 主体 谓词 客体 变电站 名字 NY cimSubstation cimNamingaliasName NY cimSubstation rdfID "_1" cimNamingaliasName "NY" 图3-2 一个以RDF 表达的简单描述 RDF 的三元组可以通过类似于XML 的RDF 代码来表达下面的RDF 代码 描述 13 华 中 科 技 大 学 硕 士 学 位 论 文 了一个变电站它属于NY 电力公司该变电站有一个常开的断路器有Genenal Eletric 公司制造断路器的描述包含在变电站元素中电力公司的描述是一 个单独 的元素通过ID 被变电站引用文档中的所以标记具有cim 的命名空间前 缀 表示这些标记在CIM RDF Schema 中定义 cimSubstation rdfID "_1" cimPowerSystemResouceName "NY" cimContain cimBreaker rdfID "_2" cimPowerSystemResourceName "11023" cimManufacturer "General Electric" cimNormalOpen "trur" cimContain cimSubstation RDF 模型可以方便地描述对象或者资源以及它们之间关系RDF 的数 据模 型实质上是一种三元关系的表达由于任何复杂的关系都可以分解为多个简 单的三 [17] 元关系因此RDF 的数据模型可以作为其他任何复杂关系模型的基础模型 com RDF Schema RDF 使用命名特性和值来表达与资源有关的简单声明但是在某些情况下 由于特定的应用需要自定义一些词汇然后用这些词汇来描述资源这些词汇表 明正在描述某种特定资源并且会采用某些特定的特性来描述 RDF 允许任何人定义元数据来描述特定的资源由于资源的属性不止一种因 此实际上一般是定义一个元数据集这在RDF 中被称作词汇集Vocabulary 例如 com 节所举例子中cimSubstationcimContain 就是基于CIM 的RDF 词汇词汇 集也是一种资源可以用URI 来唯一标识这样在用RDF 描述资源的时候可以 使用各种词汇集只要用URI 指明它们即可当然各种词汇集的受欢迎程度可能 不同有的也许只是被定义它的人使用有的却由于其定义的科学性为许多人所接 受如以类似图书馆卡片目录的方式来定义资源的词汇集Dublin Core 定义教育内 容IMS 元数据定义个人信息的V-Card 元数据等CIM 就是一种由IEC 定义的用 于描述电力系统的RDF 词汇集RDF 本身并不能针对特定应用需求来定义一些类和 特性它们需要通过RDF 词汇描述语言RDF Schema RDF 的一种扩展语言 来 定义[18]既然词汇集是资源当然可以用RDF 来描述它的属性以及和其他词汇集间 的关系W3C 为此特地提出RDF Schema 来定义怎样用RDF 来描述词汇集也就是 说RDF Schema 是定义RDF 词汇集的词汇集所以CIM 可以认为是一种由RDF 14 华 中 科 技 大 学 硕 士 学 位 论 文 Schema 定义的用于描述电力系统的RDF 词汇 RDF Schema 规范制定的目的就是要提供一套XML 的字汇来做RDF 模型更进 一步的说它所做的事情可以分为两大项 1描述类别 classes 和它的子类别之间的关系也就是定义出某个特 定领域 分类的方法 2 定义类别所拥有的属性 com CIM 与RDF 的关系 在CIM 模型中明确了电力系统的资源属性以及关系等的通用语义为了能 够进一步增强信息化地交换CIM 模型的能力电力业已经开发了一种IEC-61970 规 定了用XML 表达CIM 模型的方法即CIMXML CIMXML 是一种RDF 的应用使 用RDF 和RDF Schema 来组织CIM 模型的XML 文档结构 Power System Resource Member of Company Is a Company Conducting Substation Equipment Switch Breaker 图3-3 CIM 模型片断 CIM 模型被明确表示为一系列使用统一建模语言 httpcom Unified Modeling Language UML 描述的类图CIM 模型的基类是 PowerSystemResource 类 15 华 中 科 技 大 学 硕 士 学 位 论 文 同时CIM 模型还包括了Substation SwitchBreaker 等一些特殊化的子类如图3-3 CIMXML 将CIM 表示为RDF 模式的一个词汇表并将RDFXML 用作为交换特定系 统模型间的语言[19]CIM 从某种意义上说就是一种由IEC 定义用于描述电力系统 对象的RDF 词汇集CIM 模型实际上也是可以转换为RDF 的词汇集参见41 节 本质上说CIMXML 数据是基于CIM 语义的RDF 数据 32 JENA 技术 既然CIMXML 本质上是基于RDF 技术的就可以直接使用基于RDF 工具来对 CIMXML 进行解析与处理JENA 就是一个由HP 实验室开发的表示和处理半结构 化数据的Java 开源工具[20]目前是JENA2 版本JENA 做到了支持RDF 的数据表 达解析查询和简单的推理Java 程序员可以方便地使用JENA 创建和填充RDF 模型从而构建CIM 数据并且能使用 JENA 的SparQL 查询语言查询CIM 数据从而 进一步实现CIS 接口 com 创建简单的 RDF 模型 JENA 提供了 ModelFactory 类来创建不同类型的 RDF 模型对于空的内存模 型所要调用的方法是ModelFactorycreateDefaultModel 这种方法返回 Model 实例 可以使用它进一步创建资源创建了资源后就可以编写关于这些资源的语句并添 加到模型中在JENA 中语句的主题永远是Resource 谓词由Property 表示 对象 是另一个Resource 或常量值常量在JENA 中通过 Literal 类型表示所有这些类型 共享公共接口 RDFNode 这些实例使用 ModelcreateProperty 创建将语句添加到模 型中的最简单方法是通过调用 ResourceaddProperty 此方法 以 Resource 作为主题在 模型中创建语句该方法使用两个参数表示语句谓词的 Property 和语句的对象 addProperty 方法被过载一个过载使用 RDFNode 作为对象 所以可以使用Resource [21] 或Literal 通过使用三元组的主体谓词和对象调用 ModelcreateStatement 可以 直接在模 型上创建语句注意以此种方式创建 Statement 不将其添 加到模型中如果想将其添 加到模型中可以使用创建的 Statement 调用 Modeladd 通常JENA 创建一个RDF 模型主要有如下三个步骤 1创建空模型ModelFactory 类中有许多创建模型的方法下面代码创 16 华 中 科 技 大 学 硕 士 学 位 论 文 建一个默认的空模型实现语句是 Model modelOfLp ModelFactorycreateDefaultModel 2 给模型赋值即将所需要描述的资源赋给已经创好的空模型实现语句 是 Resource ResourceTmp modelOfLpcreateResource URI 3 描述资源即给资源增加属性及属性值实现语句是 ResourceTmpaddProperty VCARDEMAIL cinicom 上面的代码给 modelResource 资源添加了 EMAIL 属性属性值为 cinicom com 查询数据 RDF 数据查询语言 SparQL Simple Protocol and RDF Query Language 是为RDF 开发的 一种查询语 言它是为W3C 所开发的RDF 数据模型所定义但是可以用于查询任何可以用 RDF 来表示的信息资源SparQL 查询语言目前是 W3C 委员会的工作草案或推荐标准 还在讨论当中SparQL 构建在以前的 RDF 查询语言例如 rdfDB RDQL 和 SeRQL之上拥有一些有价值的新特性而且SparQL 将Web20 和Semantic web 两种新的web 技术联系起来了很有可能成为将来的主流网络数据库的查询语言和 数据获取标准[22] SparQL 通过简明的方式表达复杂的查询查询引擎执行访问数据模型的繁重工 作SparQL 的语法表面上类似 SQL 的语法它的一些概念对已经使用过关系数据 库查询的人来说将比较熟悉[23]SparQL 可以在给定的约束条件下在数据库找出给 定变量的所有可能值SparQL 中的约束表达式可以看成是RDF 的声明语句的列表 这里每个声明的某些部分有缺省值由指示它取代了 URIs 或者字符串 下面的代码描述了一段SparQL 语句该语句可以从RDF 数据模型中查询相关数据 关于SparQL 的具体信息请参考其SparQL 标准[22] 17 华 中 科 技 大 学 硕 士 学 位 论 文 SELECT person name age WHERE person a foafPerson foafname name OPTIONAL person userage age FILTER REGEX name clickstone ORDER BY ASC name LIMIT 20 1SELECT查询关键字和 SQL 中的一个意思 2 person name age要查询的变量使用 标识变量也可 以使用 变量间使用空白分隔正式标准中使用空白还是逗号分隔尚未最终确定 3 WHERE 过滤条件集合和SQL 中的WHERE 相似 4 person a foafPerson具体的过滤条件 5 OPTIONAL可选过滤条件比如有些 person 可能没有填写 age 属性 如果不使用 OPTIONAL 那么查询结果将不包含这些 person 使用了 OPTIONAL 关键字没有填写 age 属性的 person 同样可以被查询到 6 FILTER REGEX name clickstone 明确化的过滤条件类似于 SQL 中的 LIKE 等的左右上面代码中的FILTER 表明返回的 name 变量中 必须包含clickstone 7 ORDER BY排序可以指定多个排序比如例子可以改为ORDER BY ASC name DESC age 默认排序是ASC 8 LIMIT 20 将返回结果限定在20 条与 SQL 中的SELECT TOP 20 类似 9 OFFSET 20掠过前边的 20 条从第21 条开始返回这个功能比SQL 方便SQL 需要额外的代码实现翻页 在JENA 中使用SparQL JENA 目前完全支持SparQLJENA comjenaquery 包含盖了在 Java 代 码中使用 SparQL 所需的所有类和接口要创建 SparQL 查询首先将 SparQL 语句 字符串放入 String 中然后并将其传送给Query 的构造函数除非在 SparQL 中使 用 FROM 子句指定了其他的源通常直接设置模型用作查询的源一旦创建了 Query可以从它创建 QueryEngine 然后由QueryEngine 通知JENA 执行查询并返 回结果具体代码所示 18 华 中 科 技 大 学 硕 士 学 位 论 文 Create a new query passing a String containing the rdql to execute Query query new Query queryString Set the model to run the query against querysetSource model Use the query to create a query engine QueryEngine qe new QueryEngine query Use the query engine to execute the query QueryResults results qeexec JENA 也提供了jenardfquery 工具在命令行上对 RDF 模型执行 SparQL 查询 [24] RDFQuery 从文本文件中获取 SparQL 查询然后对指定的RDF 模型运行该查询 33 Corba 技术 IEC-61970 标准的CIS 接口实现往往依靠于一个分布式组件框架当前关于分布 式组件技术主要有对象管理组Object Manage GroupOMG 的CORBASun 公司 的企业级Java Bean EJB Enterprise Java Bean 和 Microsoft 公司的分布构件对象模 型DCOM Distributed Component Object Model 这三种技术的核心思想都 有一定的 共通之处彼此具有相当的兼容性其中CORBA 技术具有语言无关和平台开放的 优点而且功能完整发展比较成熟而EJB 和DCOM 由于语言和平台的限制只 能用于特定平台或小规模的系统集成本文采用 CORBA 技术作为实现CIS 的组件 平台可获得系统的较大的开放性与较好的可移植性 用对象请求代理体系结构Common Object Request Broker Architecture 缩写为 CORBA是对象管理组织对当今快速增长的软硬件的协同工作能力的要求而提出的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 简而言之CORBA 允许应用程序和其他的应用程序通讯而不论他们在什么 地方或者由谁来设计CORBA 11 由对象管理组织在 1991 年发布它定义了接口 定义语言IDL 和应用编程接口API 从而通过实现对象请求代理ObjectRequest Broker ORB 来激活客户服务器的交互[25]CORBA 20 于 1994 年的 12 月发布 它定义了如何跨越不同的ORB 提供者而进行通讯ORB 是一个中间件它在对象间 建立客户,服务器的关系通过ORB一个客户可以很简单地使用服务器对象的方 法而不论服务器是在同一机器上还是通过一个网络访问ORB 体系结构如图3-3 所 示箭头说明ORB 的调用关系为了提出一个请求客户端可以使用动态调用接口 Dynamic Invocation 或者客户端的Stub 程序客户端也可以直接和ORB 交互 ORB 截获调用然后负责找到一个对象实现这个请求传递参数和方法最后返回结 19 华 中 科 技 大 学 硕 士 学 位 论 文 果ORB 能够使在分布环境中的对象透明地生成请求以及接收响应客户不用知道 [26] 对象在哪里是什么语言实现的它的操作系统以及其它和对象接口无关的东西 图 3-4 ORB 体系结构 在传统的客户服务器程序中开发者使用他们自己设计的或者公认的标准定义 设备之间的协议协议的定义依赖于实现的语言网络的传输和其他许许多多因素 ORB 将这个过程简单化使用ORB协议定义是通过应用接口而该接口是接口定 义语言IDL 的一个实现它和使用的编程语言无关的并且ORB 提供了很大的 灵活性它让程序员选择最适当的操作系统运行环境和设计语言来建设系统中每 个组件更重要的是它允许集成已经存在的组件 采用公共对象请求代理体系结构 CORBA 作为实现 CIS 的中间件已经成为共 识目前基于CORBA 的中间件产品主要有Borland 公司的VisiBroker IONA 公 司的Orbix开源的TAOmico ORBit 等在本文开发过程中经过细致的比较研究 最终选择了Borland 公司的CORBA 中间件产品VisiBroker 来作为CIS 接口实现框架 VisiBroker 是一款完全遵循CORBA 26 系列规范的CORBA 中间件VisiBroker 是需 要高性能响应的面向复杂数据大量交易处理关键任务环境的理想之选[27]通 过其久经考验的线程和连接管理其智能代理Smart Agent架构以及IIOP 协议 的高效实现VisiBroker 可以轻松满足大量客户机和服务器的需求VisiBroker 提供 CORBA 应用程序与其他领先的技术包括Web Services NET 和J2EE 之间无缝 的互操作所需要的所有功能使其顺应SOA 面向服务架构的应用潮流最新的 VisiBroker 70 版本全面遵循CORBA 26 的系列规范 34 本章小结 RDF 为资源描述提供了一种通用框架它以一种机器可理解的方式被表示出来 可以很方便地进行数据交换IEC-61970 标准引入RDF 作为CIM 数据描述的载体 CIM 从某种意义上说就是一种由IEC 定义用于描述电力系统对象的RDF 词汇集 20 华 中 科 技 大 学 硕 士 学 位 论 文 CIM 模型实际上也是可以转换为RDF 的词汇集所以CIM 数据实际上是基于 CIM 语义的RDF 数据JENA 技术是一个专于RDF 数据表达解析查询和推理的强大 工具本文最重要的特色就是引入了JENA 技术来处理CIM 数据CORBA 作为当 前流行的中间件平台可以被用于实现CIS 接口的系统框架 21 华 中 科 技 大 学 硕 士 学 位 论 文 4 CIM 数据库的构建 在基于CIM 的EMS 数据支撑平台的开放中首要的是搭建一个CIM 数据库 CIM 数据库是以 CIM 为规范来组织数据并能提供查询的数据资源在传统的基于 [28] CIM 的EMS 数据平台构建中通常是将CIM 数据存储在普通的关系数据库中 [29] 通过关系数据库的SQL 查询语言来实现查询CIM 数据 但是由于CIM 本质上是 基于面向对象的思想描述数据关系数据库无法完整而有效地存储表达查询CIM 数据在关系数据库的CIM 系统中往往需要建立相关的数据字典并在关系数据 库中添加额外的表用于记录CIM 数据的继承关系与关联关系在基于关系数据库的 CIM 系统中查询CIM 数据时也需要额外的转换过程 由于CIM 数据本身是通过RDF 进行表达本文在实现 CIM 数据库过程中引 入了专于 RDF 的JENA 技术摒弃了传统的关系数据库直接使用 JENA 的RDF 查询技术来查询CIM 数据有了JENA 技术构建CIM 数据库就是从EMS 数据 库 将其数据导出为符合CIM 规范的CIMXML 文件然后就通过JENA 载入CIMXML 文件并使用JENA 的SparQL 查询语言来实现CIM 数据库的查询接口如图 4-1 CIS接口 CIS接口 DAF DAF SparQL SQL CIM数据库 CIM数据库 CIM数据字 典记录 JENA CIM继承关系与关联关系的表 导出的CIMXML文件 关系数据库 EMS 数据库 EMS 数据库 基于JENA的CIM数据库 传统的基于关系数据库的CIM数据库 图4-1 基于关系数据库的CIM 数据库与传统的基于关系数据库的CIM 数据库 图4-2 描述了如何利用从EMS 数据库导出符合CIM 标准的CIMXML 文档的过 程注意是通过UML 描述的CIM 模型IEC-61970-30x 部分描述与RDF 标准W3C 22 华 中 科 技 大 学 硕 士 学 位 论 文 给出的标准来得到CIM RDF SCHEMA[30] 由CIM RDF SCHEMA 来 规范EMS 导出的RDF 文件的格式使其能以CIM 标准来正确表示EMS 数据库的数据 CIM in UML EMS 数据库 61970_-30x CIM RDF validates Schema Exporter 61970-501 Provides namespace for Power System Data RDF 标准 represented as CIMRDF WC Standard 61970-503 图4-2 EMS 数据库导出符合CIM 标准的CIMXML 文档的过 程 通过JENA 生成RDF 文件就是创建与填充RDF 模型而使用JENA 来实现 EMS 数据库导出CIMXML 文件就是创建和填充基于CIM 的RDF 模型这个过程主 要分 为三个过程 1从CIM UML 模型生成CIM RDF SCHEMA 2 从CIM RDF SCHEMA 生成CIM JENA 词汇 3 读取EMS 数据库并将数据通过CIM JENA 词汇来创建与填充基于CIM 的模型从而生成相应的CIMXML 文件 41 从CIM UML 模型生成CIM RDF SCHEMA CIM 使用统一建模语言 UML 定义了与电力系统相关的各种类以及它们之间的 相互关系通过它就可以用RDF 来 例如C Java 等 描述电力系统中的各种对 象[31]但现在为了实现应用系统之间的数据交换将采用XML 来实现电力系统中 各种对象的描述这就需要一个描述的模式 Schema 也就是所说的 CIM RDF Schema同时这个模式要与CIM 的UML 定义相匹配这就需要一个从UML 模 型 生成一个Schema 的规则这个规则在IEC 61970 第501 部分定义[32]具体 如下 1对于域包Domain 外的其他包 23 华 中 科 技 大 学 硕 士 学 位 论 文 对于包中的每个类生成的Schema 如下 rdfsClass rdfID "ClassName" rdfslabel xmllang "en" ClassName rdfslabel rdfssubClassOfrdfresource "MySuperClassesName" rdfscomment "ClassDocumentation" rdfscomment cimsstereotype "ClassStereotype" cimsstereotype rdfsClass 对于每个属性类生成的Schema 如下 rdfProperty rdfID "CcomibuteName" rdfslabel xmllang "en" AttributeName rdfslabel rdfsdomain rdfresource "ClassName" rdfsrange rdfresource "AttributeType" rdfscomment "AttributeDocumentation" rdfscomment rdfProperty 对于包中的每个角色生成的Schema 如下 rdfProperty rdfID "CcomName" rdfslabel xmllang "en" RoleName rdfslabel rdfsdomain rdfresource "ClassName" rdfsrange rdfresource "com" cimsinverseRoleName rdfresource "comcom" cimsmultiplicity rdfresource "httpcomschemautility99-10-0 3MRoleCardinalityFrom" cimsisAggregate rdfLiteral "RoleIsAggregate" rdfscomment "RoleDocumentation" rdfscomment rdfProperty 2 对于域包 对于域包里的每个类生成的Schema 如下 rdfsClass rdfID "ClassName" rdfssubClassOf rdfresource "MySuperClassesName" rdfscomment "ClassDocumentation" rdfscomment cimsstereotype "ClassStereotype" cimsstereotype rdfsClass 对于域包中类的每个属性 生成的Schema 如下 24 华 中 科 技 大 学 硕 士 学 位 论 文 rdfProperty rdfID "CcomibuteName" rdfsdomain rdfresource "ClassName" rdfsrange rdfresource "AttributeType" rdfscomment "AttributeDocumentation" rdfscomment rdfProperty 对于域包中至少拥有一个属性的枚举类型生成的Schema 如下 ClassName rdfID "AttributeName" 通过以上的规则就可以从CIM 的UML 模型转换为CIM RDF Schema实际 上就 是从CIM 的UML 文件转换成RDF Schema 文件这一过程可以通过被称为 Xpetal 的工具自动完成其命令如下 Java -jar Xpetaljar -rdf cimmdl cimrdfs 其中选型-rdf 表示将mdl 文件转换为RDF Schema 文件 42 从CIM RDF SCHEMA 生成CIM JENA 词汇 有了给定的CIM RDF Schema一个电力系统EMS 就能转换成一个导出的RDF 文档这个文档就被称为CIMXML 文档在CIMXML 文档中所使用的所有标记 由CIM RDF Schema 定义这个文档能够被解析其中的信息能够被导入到别的系 统中 CIM 对电力系统中主要的电网设备和相关实体进行了建模将其分为不同的对 象与属性CIM 标准就包含这些对象的公共类和属性以及它们之间的关系CIM 标准是通过UML 语言来描述的一个mdl 文件只有符合CIM 标准定义的RDF 文 件才可以称为 CIMXML 文件CIM 标准描述的开关 Switch 包括如下的属性 normalOpen switchOnCountswitchOnDate 等这些属性一般都可以从EMS 数据 库中得到并且体现在导出的CIMXML 文件中[33][34] 如果有些CIM 标准中定义 的属性EMS 数据库中不存在则导出的RDF 文件可以没有该属性但需要注意的是 导出的RDF 文件的属性名称必须严格与CIM 标准保持一致以此来确保CIM 的兼 容性 由于导出的CIMXML 文件必须满足CIM 标准JENA 需要得到描述CIM 标 准的词汇通过该词汇导出的RDF 必然满足CIM 标准JENA 提供了 Schemagen 25 华 中 科 技 大 学 硕 士 学 位 论 文 工具来从RDF SCHEMA 来生成JENA 词汇而CIM 的RDF SCHEMA 又可以通过 Xpetal 工具从mdl 模型文件来得到图4-3 描述了从CIM 标准生成JAVA CIM 词汇 的过程下面的代码显示了schemagen 的具体用法 j ava jenaschemagen -i [-a ] [-o ] [-c ] [-e ] CIM标准 CIMmdl comau 提供从mdl文件生成RDF Xpetal Schema文件的工具 CIMrdfs schemagen JENA提供从RDF Schema 文件生成JENA 词汇文 件的工具 JENA CIM 词汇 CIMjava 图4-3 从CIM 标准生成JEAN CIM 词汇 下面是JENA CIM 词汇关于Switch 属性的部分JENA CIM 词汇完整 地表现了 CIM 标准在CIMmdl 的对象的各个属性以及对象间的相互关系 Public static final Property Switch_normalOpen m_modelcreateProperty "httpiecchTC572001CIM-schema-cim10SwitchnormalOpen" public static final Property Switch_switchOnCount m_modelcreateProperty "httpiecchTC572001CIM-schema-cim10SwitchswitchOnCount" public static final Property Switch_switchOnDate m_modelcreateProperty "httpiecchTC572001CIM-schema-cim10SwitchswitchOnDate" 43 通过JENA 创建和填充RDF 模型 通过JENA CIM 词汇就可以创建和填充RDF 模型来生成符合CIM 标准的RDF 文件JENA 的 ModelFactory 类是创建不同类型模型的首选方式通过调用 ModelFactory 的方法ModelFactorycreateDefaultModel 来得到一个空的模型这种方 26 华 中 科 技 大 学 硕 士 学 位 论 文 法返回 Model 实例使用它可以调用modelcreateResource 创建表示CIM 中每个对 象的 Resource 创建了资源后就可以将这些成员的属性添加到模型中将属性添 加到模型中的最简单方法是通过调用 ResourceaddProperty 此方法以 Resource 作为主题在模型中创建语句该方法使用两个参数表示语句谓词的 Property 和语 句的对象 create an empty model Model model ModelFactorycreateDefaultModel sql "select from Station" rs stmtexecuteQuery sql 执行查询 IDType "station" while rsnext ID rsgetString "STANO" modelcreateResource IDPrefix IDType ID CIMSubstation addProperty CIMNaming_aliasNamersgetString "STATIONNAME" addProperty CIMNaming_descriptionrsgetString "STATIONDESC" 以上代码以导出EMS 数据库中的站点信息为例展示了完整的创建与 填充RDF 模型的过程主要分为 4 步?查询 EMS 数据库得 到相关信息?通过 ModelFactorycreateDefaultModel 创建一个空的模型?通过 modelcreateResource 创建资源该过程往往用于将 EMS 数据库的表表示为 CIM 中的对象?通过 ResourceaddProperty 创建属性该过程往往用于将 EMS 数据库的表中的 字段表示 为CIM 中的资源的属性需要注意的是创建资源与创建属性步骤需要应用 JENA CIM 词汇故在编写这部分程序时需要包括JENA CIM 词汇文件 表4-1 是EMS 的ORACLE 数据库记录系统中变电站的名称与ID 信息的 表的前 三条记录 表4-1 ORACLE 中电站信息表片段 STA_ID STATIO_NNAME STATION_DESC 1 QT 青台
本文档为【基于CIM-DAF电力系统模型数据交互研究】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_562397
暂无简介~
格式:doc
大小:93KB
软件:Word
页数:0
分类:
上传时间:2017-11-14
浏览量:18