(电力系统及其自动化专业论文)基于soap技术的电力信息传输的研究.pdf_第1页
(电力系统及其自动化专业论文)基于soap技术的电力信息传输的研究.pdf_第2页
(电力系统及其自动化专业论文)基于soap技术的电力信息传输的研究.pdf_第3页
(电力系统及其自动化专业论文)基于soap技术的电力信息传输的研究.pdf_第4页
(电力系统及其自动化专业论文)基于soap技术的电力信息传输的研究.pdf_第5页
已阅读5页,还剩46页未读 继续免费阅读

(电力系统及其自动化专业论文)基于soap技术的电力信息传输的研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华北电力人学硕+ 学位论文摘要 摘要 目前,电力系统信息主要在厂站端和调度端之间传输。随着电网商业化运营的 深入开展,包括电力系统管理人员和电力用户在内的各方对电力信息的需求越来越 迫切。这样就使客户端数量巨大,并运行于不同的平台。本文在对s c u 变电站配置 语言) 和x m u 可扩展标记语言) 分析的基础上,对电力系统信息进行了x m l 描述, 并对s o a p ( 简单对象访问协议) 的通信机制进行了研究,建立了引入s o a p 协议后的 电力系统信息传输模型。最后利用j a v a 编程语言对该模型进行了编程实现,并通过 了测试。本文引入s o a p 协议传输电力系统信息时,只要求客户端安装普通浏览器, 可以顺利通过防火墙的限制,能够实现异构系统之间信息传输,对促进电力系统信 息化进程具有一定的应用价值。 关键词:可扩展标记语言,简单对象访问协议,电力系统信息,异构系统 a b s t r a c t a tp r e s e n t ,t h ei n f o r m a t i o nt r a n s m i s s i o no fp o w e rs y s t e mm o s t l yp r o c e e d sb e t w e e n s u b s t a t i o na n d d i s p a t c h i n g w i t ht h ee l e c t r i cn e t w o r km a n a g e m e n t b e c o m i n g c o m m e r c i a lg r a d u a l l y ,t h ed e m a n do fp o w e rs y s t e mi n f o m a t i o ng e t sm o r ea n dm o r e a t t e n t i o nf o ro p e r a t o r sa n du s e r sr u n n i n g0 nd i f f e r e n tp l a t f o r m s ,w h i c hl e a d st ot h e e n o n n o u sq u a n t i t yo fo b j e c tt y p ef o rc l i e n t b a s e do ns c l ( s u b s t a t i o nc o n f i g u r a t i o n l a n g u a g e ) a n dx m l ( e x t e n s i b l em a r k u pl a n g u a g e ) ,t h i sp a p e rd e s c r i b e dp o w e rs y s t e m i n f o m a t i o nb yx m la n df e s e a r c h e dt h ec o m m u n i c a t i o nm e c h a n i s mo fs o a p ( s i m p l e o b j e c ta c c e s sp r o t o c 0 1 ) ,a n dt h e ni n f o m a t i o nt r a n s m i s s i o nm o d e lb a s e do ns o a pw a s e s t a b l i s h e d b e s i d e s ,j a v al a n g u a g ew a su s e dt or e a l i z ea n dv a l i d a t et h em o d e l t h e i n f o m a t i o nt r a n s m i s s i o nr e f e f r e d i nt h i sp a p e r ,o n l yr e q u i r e si n s t a l l i n go r d i n a r yb r o w s e r f o rc l i e n ta n dc a ns m o o t h l yp a s st h ef i r e w a l l r e s t r i c t i o n s , s oa st oa c h i e v et h e i n f o r m a t i o nt r a n s m i s s i o na m o n gh e t e r o g e n e o u ss y s t e m s t h ee x p e r i m e n tp r o v e st h a ti t h a ss o m ev a l u ei np r o m o t i n gt h ep r o c e s so fp o w e r s y s t e mi n f o r m a t i z a t i o n c a oh o u j i ( p o w e rs y s t e ma n di t sa u t o m a t i o n ) d i r e c t e db yp r o f s o n gw e i k e y w o r d s :x m l ,s o a p ,p o w e rs y s t e mi n f o m a t i o n ,h e t e r o g e n e o u ss y s t e m s 声明尸叫 本人郑重声明:此处所提交的硕士学位论文基于s o a p 技术的电力信息传输 的研究,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工 作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中 不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名: 嗜屋继 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权 保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或 其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校 可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方式在不 同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:蜇纽 导师签名: 日 期:兰! ! 垒:! :1 日 期: 华北电力人学硕十学位论文 1 1 研究背景和意义 第一章引言 随着电网商业化运营的深入开展和电网规模的扩大,电力系统的信息发布需求 水平也越来越高,各方对于信息需求越来越迫切。目前的e m s s c a d a 系统在实际 应用中缺乏标准数据库和应用程序接口,系统扩展性较差,制约了与其它系统的数 据共享和集成,而且缺乏便利的信息发布系统。在通常情况下,只有少数调度、运 行端电脑控制平台可以访问和调用地调所使用的s c a d e m s 系统中的数据库。同 时,调度、运行端电脑控制平台必须配置专门的接收软件才能浏览从厂站端传递来 的数据,而异构系统很难直接访问s c a d a e m s 系统中的数据。这样就使得客户端 对象单一且数量有限。如今,电力市场不断发展,迫切要求电力系统中的一些数据 对外开放,并且随着计算机网络技术的快速发展,电力系统中的管理人员和一些电 力用户也要求能够通过网络快速、便捷地了解电力系统中的信息。这样就会使客户 端的对象类型多样化且数量巨大,服务对象除了调度员外还有电力系统中的管理人 员和电力用户等。同时电力企业管理信息系统之间存在着特殊性和地域分散性,并 且运行于不同平台、采用的开发语言以及数据格式也不同,系统之间不能兼容,形 成企业中的“信息孤岛”,企业之间难以信息共享。如果在客户端再要求安装相应的 接收软件才能浏览厂站中的数据,不仅会给用户带来很大的不便,还会造成资源的 浪费。鉴于客户端数量巨大,不可能也没有必要把变电站的信息实时地传输到每个 客户端,变电站只需把除了调度中心以外的其它客户端需要的信息准实时地进行传 输即可。 变电站自动化技术发展很快,国内外厂商相继推出了多种变电站自动化系统产 品。为使不同厂商的产品具有互操作性,i e c 制定了关于变电站自动化系统的通信 网络和系统的国际标准协议i e c 6 1 8 5 0 。随着我国加入w t o ,国内电力系统将进入国 际化,国内电力系统也将贯彻执行i e c 6 1 8 5 0 国际标准协议。在国内有数不清的不同 厂家的设备和系统在电力系统中运行,要实现数据和功能的共享及设备和系统的互 换十分困难,为了实现数据和功能的共享及设备和系统的互换,贯彻执行i e c 6 1 8 5 0 国际标准协议是完全必要的。在采用i e c 6 1 8 5 0 协议的变电站自动化通信系统中运用 了先进的网络通信技术和语言一x m l 。x m l 在变电站自动化系统中的应用主要包括 两个方面,一是作为变电站配置描述语言的基础用于系统的静态配置。x m l 用以编 写变电站自动化系统的静态配置文档,并作为信息交换格式实现设备间的互操作 性。二是用于通过w 曲进行的非实时数据通信。 i e c 6 1 8 5 0 协议已成为变电站自动化系统的唯一国际标准,有着很好地发展前 华北电力人学硕十学位论文 景,而x m l 作为结构化数据的一个工业标准,是i e c 6 1 8 5 0 实现互操作性的必要前提。 因此,把x m l 技术应用于解决电力系统中“信息孤岛”的问题中,有着十分现实的意 义。 当前,大部分机构都在他们的公共服务器和远程客户端之间放置防火墙,根据 不同的标准来阻止引入的网络角色,远程服务调用难以穿越防火墙。若要通过防火 墙访问一个服务就需要手工干预防火墙的配置,并且,处于另一个防火墙后的分布 式应用的客户端也面临同样的问题,要求客户来配置他们的防火墙以访问远程服务 是不现实的,而s o a p 技术的应用可以解决这个问题。 s o a p 把成熟的基于h t r p 的技术与x m l 的灵活性和可扩展性结合在了一起, s o a p 以x m l 形式提供了一个简单的、轻量的、用于分散或分布式环境中交换结构 化和类型化信息的机制。用s o a p 协议传递电力系统中的信息,两个系统不需要运 行于相同的平台上,也不需要用同一种编程语言就可以互相通信,提高了不同系统 之间的互操作性。s o a p 使用h t t p 协议作为传输载体,因为这种网络协议为大多数 操作系统所支持,所以使用这种方法可以方便地进行通信。s o a p 以现有的互联网 体系结构为基础,不需要对路由器、防火墙或者代理服务器做任何特殊调整,就可 以在任何平台上实现信息的网络交流。鉴于电力系统中的管理人员和电力用户希望 能够了解电力系统中的信息,而通过s o a p 协议传输这些信息有着巨大的优越性, 因此,研究利用s o a p 协议实现电力系统信息的传输有着重要的意义。 1 2 国内外研究动态 迄今为止,国内外已有一些文献对s o a p 技术进行了研究,对s o a p 协议在电 力系统中的应用也有所涉及。 1 2 1 s o a p 技术的发展状况 自从各公司纷纷向分布式系统转移以来,对应用程序之间交互性的需求就一直 在增长,行业先驱们一直都在寻找一种高效的、可靠的机制,让在不同远程计算机 上的分布式应用程序和组件之间可以彼此交互,于是简单对象访问协议s o a p 应运 而生。 2 0 0 0 年5 月初,m i c r o s o f t 、i b m 、c o m m e r c e 等公司向万维网联盟提交了s o a p l 1 , 后被定义为w 3 cn o t e 。2 0 0 6 年6 月,m i c r o s o f t 公司宣布了n e t 计划,它提供了一种在 网络中传递结构化信息的方法,s o a p 正是其核心概念,起着至关重要的作用。s o a p 是一个基于可扩展标记语言的在分散或分布式环境中实现信息交换的简单协议,其 主要目的是促进不同技术之间的可互用性,真正克服平台和防火墙的限制,使通信 各方在互联网上实现畅通无阻的信息交流。 2 华北电力人学硕十学位论文 文献f 1 1 首先讨论了当前网络中存在的两大主要问题:一是网络上数据的描述缺 乏简单、有效、可扩展的规范,数据表达格式不统一;二是各种分布式对象体系结 构的通信是基于平台的,从而限制了它们之间的互操作性。然后该文献有针对性地 提出了利用x m l 来表达网络数据,且将其封装在s o a p 消息中进行传输的解决方法, 构建了利用s o 船传输数据的通信模型,并利用j a v a 语言实现了对x m l 数据的封装 及数据传输的软件配置。 文献【2 】对于在j 2 m e 平台下,利用x m l 解析器开发s o a p 协议的基本方法进行了 研究,介绍了j 2 m e 平台和s o a p 协议,其中重点探讨了x m l 的开发,提出了一种利 用x m l 解析器在j 2 m e 平台上实现s o a p 协议的方法。 文献【3 】分析了目前远程监控系统中存在的问题,介绍了s o a p 技术在分布式系 统集成和交互上的优势,s o a p 技术提供了一种新的r p c 手段,有助于实现异构程序 和平台之间的互操作,以及对异构数据的访问和集成,在一定范围内能够改善 c o r b a 和r m i 等技术的不足。最后提出了基于s o a p 协议的远程监控系统,并分析 了实现该系统的关键问题。 文献【4 】设计了面向s o a p 的开放性远程网络监控体系,提出了系统的三层体系 结构和功能描述,并给出了具体的方法,实现了异构网络、跨防火墙、跨平台远程 监控网络运行的功能,提供了网络管理分布式组件间相互通信和操作的途径。有效 地解决了管理监控系统的跨平台远程调用和不同体系结构的分布式组件间的通信 问题。 文献【5 】研究了x m l 在基于w 曲的管理信息系统中的应用,并根据传统合同管理 中的种种弊端,开发出基于x m l s o a p 的合同管理系统。其中研究了x m l 远程方法 调用技术和x m l 消息传递模型等关键技术,分析研究了简单对象访问协议在合同管 理系统中的应用。 文献【6 】介绍了x m l 数据模型,x m l 的特点及其数据管理,分布式数据库的分 类及其异构数据库集成理论,软件重用技术。剖析了s o a p 技术的特点。根据x m l 数据自身的特点,通过分析比较现有的分布组件技术c o m ,c o r b a 等,在已有信 息集成系统理论和技术的基础上,采用x m l 模型作为集成的公共数据模型,应用 s o a p 技术作为底层通信机制,设计了一个基于s o a p 的异构数据源集成系统模型。 鉴于基于x m l 的s o a p 协议与平台无关、与编程语言无关、可以顺利通过防火 墙等特性,专家预测s o a p 将会得到更加广泛的应用。 1 2 2s o a p 技术在电力系统中的应用 鉴于目前电力系统信息传输时的一些不足,已经有一些人提出把s o a p 协议应 用到电力系统信息传输中。 3 华北电力人学硕+ 学位论文 文献【7 】介绍了把可扩展标记语言应用于电力系统中,利用其利于跨平台的数据 交换和系统的互操作性、良好的数据存储格式、可扩展性、高度结构化等优点,可 以很好地解决异构平台之间的数据传输。文中详细介绍了面向设备的x m l 描述方 法以及用x m l 描述电力系统信息的方法。 文献【8 】介绍了使用x m l 及s o a p 实现变电站综合信息管理系统中数据通信的总 体框架,并结合具体的例子讲述了利用x m l 及s o a p 在变电站综合信息管理系统中 实现服务器和客户端的通讯交互,可以使变电站完成与其它企业的跨防火墙数据通 止至 i 口。 文献【9 1 介绍了基于s o a p 协议的w 曲s e r v i c e s 技术,它能使各种不同平台之上的 应用实现互相连接和集成。提出了利用基于s o a p 协议的w 曲s e r v i c e s 技术实现电力 企业应用集成的解决方案,并针对企业之间数据集成的实际情况,给出了一个简化 数据集成系统的实例和实现方法。 文献【1 0 】首先讨论了传统的s c a d a 系统不能满足信息交互的需要,一般的w 曲 服务在进行实时信息的监控方面显得力不从心。而s o a p 腑,c b 服务提供服务描述发 布与发现功能,并利用现有的i n t e r n e t 基础进行x m l 格式的消息传输,可以达到实时 性的要求。文章主要介绍了基于s o a p w e b 服务的s c a d a 系统,系统集成了i n t e m e t 服务,并实现分布式的网络服务,支持即时信息查询和实时控制功能。 从以上参考文献中我们可以看到,虽然国内外已经有一些人提出了把s o a p 协 议应用到电力系统中的想法,但大都只进行了局部地讨论,并没有进行系统化的研 究,对于给出的一些应用框架,也缺乏具体的实现方案。 1 3 本文的主要工作 本文首先研究讨论了x m l 技术与s o a p 协议,并对电力系统信息进行了x m l 描 述,接下来研究了s o a p 协议的通信机制,最后实现了利用s o a p 协议传输电力系统 信息。其主要研究内容包括: 介绍了x m l 技术,并对电力系统信息进行了x m l 描述。讨论了x m l 文档的 存储方式问题,包括存储方式的选择和数据库的选用,并对基于n a t i v e x m l 数据库的x m l 文档的存储和管理进行了分析。 分析了s o a p 协议,对s o a p 协议的通信机制进行了研究,建立了s o a p 协议 的通信模型,并以传输变压器信息为例,具体地说明了s o a p 协议的通信机 制。 搭建了基于s o a p 协议的电力系统信息传输模型,给出了本课题中用到的各 种软件组件之间的关系图。着重介绍了s o a p 服务端和s o a p 客户端的编程 4 华北电力人学硕十学位论文 实现。最后,以传输李店变电站信息为例,实现了基于s o a p 协议传输电力 系统信息的测试。 5 华北电力人学硕十学位论文 第二章电力系统信息的x m l 描述 2 1ie c 6 18 5 0 协议及s c l 简介 i e c 6 1 8 5 0 标准是迄今为止最为完善的关于变电站自动化的通信标准,是由国际 电工委员会t c 5 7 在总结以往通信协议的基础上制定的。i e c 6 1 8 5 0 不仅能适应日新 月异的通信技术变化发展的需要,适应复杂多变的变电站自动化的应用功能,科学 地评估变电站自动化系统的通信性能,更为重要的是,它采用分层分布式体系和面 向对象的建模技术,使数据对象的自描述成为可能,为最终实现变电站自动化系统 的互操作性提供了依据。i e c 6 1 8 5 0 将变电站分为三层:变电站层、间隔层、过程层。 i e c 6 1 8 5 0 标准的第六部分规定了描述通信有关的智能电子装置l e d 配置和参数、 通信系统配置开关间隔功能结构及它们之间关系的文件格式,所定义的语言称为变 电站配置描述语言( s c l ) 。该语言是基于可扩展标记语言x m l l 0 版,x m l 是目前 最先进的网络技术和语言,它在变电站自动化通信系统中发挥着重要的作用。其应 用主要包括两方面:一是作为变电站配置描述语言的基础用于系统的静态配置;二 是通过w 曲进行非实时数据通信。 s c l 基于x m l l 0 ,它是一种信息集成的描述工具和转换工具,专门用于变电站 i e d 设备、变电站系统和变电站网络通信拓扑结构的配置,最终目的是为了对不同 制造厂商的配置工具交换系统的配置信息,实现互操作。 s c l 语法是基于x m l 语法的,s c l 语法元素分为五个部分【1 1 】: 标头( 用于表示一个s c l 配置和它的版本) 变电站描述 智能电子装置描述 通信系统描述 l n o d e ( 变电站功能逻辑节点) 类型描述 由于在本课题中我们描述电力系统信息并不是利用变电站配置语言,所以在利 用x m l 语言描述电力系统信息时只遵循了s c l 语法元素中的变电站描述和智能电 子装置描述,对于其他三种语法元素我们不予考虑。 2 2 m l 技术概述 2 2 1s g m l 、h t m l 和x m l 之间的关系1 2 1 x m l 同h t m l 一样,都来自s g m l ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ) ,即 6 华北电力人学硕十学何论文 ,标准通用置标语言。早在w 曲产生之前,s g m l 就已经存在,主要用于印刷和电子 出版物领域。s g m l 用来描述文档资料的标记是可以自由定义的,标记的具体含义 在文档类型定义,即d t d 中说明,可以根据特定领域的实际应用定义相应的d t d , 因而s g m l 的语法是可以自由扩展的。但是由于s g m l 十分庞大,不容易学,也不容 易使用,在计算机上实现也很困难,因此为了便于在计算机上实现,提出了h t m l , h t m l 只使用了s g m l 标记中很小的一部分。但随着w 曲的应用越来越广泛和深入, h t m l 过于简单的语法始终满足不了不断增长的需求,于是有人提议直接使用 s g m l ,但因实现有一定的难度,于是s g m l 的一个精简版本就应运而生了一一 x m l 。x m l 精简了很多s g m l 中很少用到的部分,同时充分考虑到w 曲的特性,x m l 是s g m l 的一个有限子集,一个x m l 文档可以同多个s c h e m a 相对应,s c h e m a 本身也 是一个x m l 文档,所不同的是s c h e m a 文档描述的是引用它的x m l 文档的元素和属 性的具体类型。 2 2 2x m l 的优点 脱胎于s g m l 的x m l 对s g m l 和h t m l 的改造是简单的。这种简单继承了s g m l 的高度概括和h t m l 的易懂易读,使之自然平滑地过渡,为工程师进行软件开发和 浏览器的升级提供了很好的技术“接口 ;同时,这种改造的影响是巨大的,x m l 将w e b 信息的组织结构彻底改写。x m l 已经不满足于h t m l 的“所见即所得 ,他通 过上下文的数据关联、规范化的数据格式和灵活的自定义,使w 曲具备了表达网页 中的元素究竟“是 什么的能力。具体来说,x m l 有以下几个优点: ( 1 ) 开放性 它允许各个组织、个人建立适合自己需要的置标集合,并且这些置标可以迅速 地投入使用。这一特征使得x m l 可以在电子商务、政府文档、司法、保险机构、厂 商和中介组织信息交换等领域中一展身手,针对不同的系统、厂商提供各具特色的 独立解决方案。 ( 2 ) 分离性 分离性是指文档的数据、结构和显示方式相分离。一般来说,一篇文档包括数 据、结构以及显示方式三个要素。对于h t m l 来说,显示方式内嵌在数据中,在创 建文本时,要时时考虑显示格式,这样,当需求不同而需要对同样的内容进行不同 风格的显示时,要从头创建一个新文档,重复工作量有时会很大。而x m l 的分离性 可以很好的解决这个问题。x m l 将数据、结构和显示方式完全分开,分别进行独立 地处理。同一份数据的显示方式可以多样化。且由于x m l 能对数据结构进行描述, 使得应用程序理解文档内容、抽取语义信息都很方便。 ( 3 ) 语法的严格性 7 华北电力人学硕+ 学位论文 x m l 十分注重准确性,它不但要求标记配对、嵌套,而且还要求严格遵守x m l 模式规定。如果语法有丝毫差错,分析器都会停止对它的进一步处理。相应地,除 了错误提示外,看不到其它任何的显示信息。 ( 4 ) 数据共享性 当今的计算机世界中,不同企业、不同部门之间的系统平台不尽相同。要想在 这些不同的平台之间传输信息,不得不使用一些特殊的软件,非常之不便。而在各 种不同的系统平台之间可以采用x m l 作为交流媒介。x m l 不但简单易读,而且可以 标注各种文字、图象甚至二进制文件,只要有x m l 处理工具,就可以轻松地读取并 利用这些数据,使得x m l 成为一种非常理想的网络语言。 ( 5 ) 自描述性 x m l 的自我描述性能够很好地表现许多复杂的数据关系,使得基于x m l 的应用 程序可以在x m l 文件中准确高效地搜索相关的数据内容,忽略其它不相关部分。 x m l 还有其它许多优点,完全可以充当网际语言,并有希望成为数据和文档交 换的标准机制。 2 2 3x m l 文档的结构 每一个x m l 都有一个逻辑结构和一个物理结构。 物理上而言,文档由称为实体的存储单元组成,实体都具有内容并且都通过实 体的名字进行标识。实体可以是一段文本、一个文件、一个数据库记录或者其它包 含数据的项目。一个实体可以引用其它的实体,从而将它们包含在文档中。格式良 好的x m l 文档形成了一种层次树结构,而x m l 文档开始于根元素。x m l 文档的根 元素被称为文档元素( d o c u m e n te l e m e n t ) ,它和其它外部出现的处理指令、注释等作 为文档实体的子节点,而根元素本身和其内部的子元素也是一棵树。 x m l 文档在逻辑上主要由以下5 个部分组成:x m l 声明、文档类型声明、元素、 注释和处理指令。 2 2 4x m l 处理器解析器 x m l 处理器主要用于分析处理x m l 文档,验证x m l 文档是否符合x m l 的规范。 实际上类似的h t m l 处理器我们经常都在使用,只是没有在意罢了。当我们浏览w e b 页面的时候,在浏览器中的h t m l 处理器就开始工作了,因为h t m l 格式非常松散, 所以在编写处理器的时候,需要大量的代码来处理和更正h t m l 文档中的语法错误, 从而导致浏览器变得很大。而x m l 文档的格式简单,结构清晰,语法也较少,所以 开发处理x m l 文档的应用程序相对要容易很多。支持对x m l 文档进行有效性检查的 x m l 处理器有以下两个: 8 华北电力入学硕+ 学位论文 ( 1 ) a p a c h e 的x e f c e s x e r c e s 是a p a c h e 的x m l 项目的一部分,它分别使用j a v a 、c + + 和p e r l 编写x m l 的处理器,支持有效性检查。x e r c e s 是一个开放代码的x m l 处理器,有关该处理器 的详细介绍可以参看网页:h t i p :x e r c e s a p a c h e o 叫x e r c e s 2 - j 。 ( 2 ) o r a c l ex m l p a r s e r o r a c l ex m lp a r s e r 是在o r a c l ex d k ( x m ld e v e l o p e r s 尉t ) 中提供的。x d k 是 o r a c l e 公司提供的基于x m l 的工具包,可以用于j a v a 、c + + 和p l s q l 。o r a c l ex d k 是一个商业化软件,并非开放源代码产品。有关该处理器的详细介绍可以参看网页: h t t p :唧、玑o r a c l e c o m t e c h n o l o g y t e c h x m l x d k h o m e h t m l x m l 处理器位于x m l 数据与使用x m l 数据的应用程序之间,它通过标准的a p i 来向应用程序提供数据。 2 2 5x m l 名称空间 一个x m l 文档中可以包含许多元素与属性,当我们使用其它x m l 文档时,或者 在文档中使用多个d t d 文件时,就有可能碰到名称相同的元素,而这些名称相同的 元素可能代表了完全不同的含义。当这些具有相同名称不同含义的元素混合到一个 文档中时,就会造成理解和处理上的混乱。为了解决x m l 文档中名称冲突的问题, x m l 引入了名称空间的概念。 名称空间通过使用一系列的保留属性来声明,这种属性的名字必须是以x m l n s 或以x m l n s :作为前缀。与其他任何x m l 属性一样,这些属性可以直接或以默认的方 式给出。有以下两种形式的名称空间声明。 第一种形式: 元素名是指你在哪一个元素上声明名称空间,在这个元素上声明的名称空间适 用于声明它的元素和属性,以及该元素内容中的所有子元素及其属性。需要注意的 是,在这样的声明中,名称空间的名字不能为空( ”) 。 第二种形式: 这种声明形式没有给出名称空间的前缀名,u r i 所标识的是默认的名称空间。 在这样的默认声明中,属性可以为空( ”) 。 2 2 6x m l 文档模式 制定x m l 文档模式的方法有两种:d t d ( 文档类型定义) 和w 3 c 定义的x m l s c h e m a 。一个有效的x m l 文档,除了要遵守x m l 语法规则外,还要遵守相应d t d 或x m ls c h e m a 文件约束。接下来我们主要讨论x m ls c h e m a 。 w 3 c 于2 0 0 1 年5 月2 日正式推荐使用x m l 的规范语言“x m ls c h e m a ”。x m l o 华北电力人学硕十学位论文 s c h e m a 标准由三个部分构成:相当于导言的“p r i m e r ”、规定数据类型的“d a r a t y p e s ”和标记结构的“s t r u c t u r e s ”。 x m ls c h e m a 是一些规则的集合( 也称为语法或词汇) ,其中包括了类型定义( 简 单和复杂类型) 以及元素和属性声明。x m ls c h e m a 用来描述x m l 文档的合法结构、 内容和限制,定义了可共享的词汇表,使用这些词汇表的x m l 文档提供了它们之间 的联系手段。 2 2 7s c h e m a 的文件结构 s c h e m a 文件和其它x m l 文件的样式非常相似,也是由一组元素构成的,其根元 素是“s c h e m a ,用于表明该x m l 文档是一个s c h e m a 文档。相应的,“s c h e m a 结 束标记一般在文档的末尾,这样,一个s c h e m a 的结构如下: s c h e m a 具有两个属性:n a m e 指定该s c h e m a 的名称,而x m l n s 则指定该s c h e m a 包 含的名称空间。一个s c h e m a 文件包含以下基本元素: e l e m e n t t y p e :声明x m l 文件时会出现的元素。 e l e m e n t :e l e m e n t t y p e 只是起到声明元素的作用,至于元素的内容是什么, 则要靠它的子元素e l e m e n t 来说明。 g r o u p :和d t d 一样,s c h e m a 也有组的概念。 a t t r i b u t e t y p e :a t t r i b u t e t y p e 元素也是s c h e m a 中的重要元素之一,用于定义 该s c h e m a 文档中出现的属性类型。 a t t r i b u t e :a t t r i b u t e t y p e 和a t t r i b u t e 的关系与e l e m e n t t y p e 和e l e m e n t 的关系相 同。 2 2 8x m ls c h e m a 的优点 和d t d 相比,s c h e m a 有五大优点【7 】: ( 1 ) 一致性 x m ls c h e m a 的格式与x m l 的格式是完全相同的,而作为s g m ld t d 的一个子 集,x m ld t d 有着与x m l 格式完全不同的格式,因此x m l 用户在使用x m ls c h e m a 的时候,不需要为了理解x m ls c h e m a 而重新学习,节省了时间。 ( 2 ) 互换性 可根据需要设计适合自己应用的s c h e m a ,并且可以同其他人交换彼此的 1 0 华北电力人学硕十学位论文 s c h e m a 。还可以将不同的s c h e m a 进行转换,以实现更高层次的数据交换。软件工具 可以利用x m l 文档和s c h e m a 之间语法通用这一优点来为两者提供支持。 ( 3 ) 扩展性 s c h e m a 能够扩展,能向s c h e m a 中加入元素和属性,只要元素和属性名域不同, 它们在一个s c h e m a 中是合法的,而d t d 将无法解析扩充的内容。 ( 4 ) 规范性 同d t d 一样,s c h e m a 也提供了一套完整的机制以约束x m l 文档中标记的使用, 但相比之下,后者基于x m l ,更具有规范性。s c h e m a 利用元素的内容和属性来定义 x m l 文档的整体结构。 ( 5 ) 易用性 s c h e m a 取代d t d 的另一个原因要归结于d o m 和s a x ,作为一种x m l a p l ,d o m 和s a x 只是对x m l 实例文档有效,对d t d 则无能为力。因为d t d 无法详细规定数据 的反复次数和出现顺序等。 2 3 电力系统信息的x m l 描述 利用s o a p 协议进行电力系统信息传输时,传输的信息是x m l 格式的,这就要 求首先要对电力系统信息进行x m l 描述。我们在对x m l 描述语言介绍的基础上,并 结合s c l 语法元素中的变电站描述和智能电子装置描述,下面对电力系统信息进行 x m l 描述。 2 3 1 电力系统信息描述方法的选择 对数据的描述一般有两种方法:采用面向点的数据描述方法;采用面向对象的 描述方法1 1 7 1 。 采用“面向点 的数据描述方法,在信息传输时数据收发双方必须事先对数据 库进行约定,并一一对应,这样才能正确放映现场设备的状态协议。一旦确立以后, 如果要增加或删除某些信息就必须对协议进行修改,这是一项耗费资金和时间的工 作。随着技术发展、电力市场建立和变电站自动化水平的提高,变电站内需要传输 的新信息不断增加,这种数据描述方法已不太适应当今电力系统的需要,会限制新 功能的应用。 采用面向对象的数据自描述在数据源就对数据本身进行自我描述,传输到接收 方的数据都带有自我说明,不需要再对数据进行工程物理量对应、标度转换等工作。 由于数据本身带有说明,所以传输时可以不受预先定义限制,简化了对数据的管理 和维护工作。采用面向对象的自我描述方法,在传输时的开销增加,由于网络技术 的发展,传输速率的提高,使得面向对象自我描述方法的实现成为可能。由于新技 1 1 华匕电力人学硕十学位论文 术的不断发展,变电站内的新应用功能不断出现,需要传输新的信息,已经定义的 协议可能无法传输这些新的信息,使得新功能的应用受到限制,采用面向对象的自 我描述方法就可以适应这种形势发展的要求,不受预先约定的限制,无论何种信息 都可以传输。采用面向对象的自我描述方法,传输到用户端的数据都带有说明,可 以立即建立数据库,使得现场验收的验证工作大大简化,数据库的维护工作量大大 减少。为此,我们将电力系统中的信息采用面向对象的描述方法进行描述。并以变 电站为例,说明如何利用x m l 描述电力系统信息。 变电站包括变压器、断路器、电容器、电抗器、母线、线路、隔离开关等。对 每个设备,首先描述其名字,再描述相关的状态量,最后描述相关的模拟量。变压 器设备包括主变号、分接头位置、温度、电压、电流等;母线包括母线号、电压等 级、电压、电流等;线路包括线路号、电压等级等;电容器和电抗器包括电压等级、 名字、电压、电流等;每个断路器都有名字、是否是常开、最后动作时间、开断电 流、开断时间等,见图2 1 。 主电电名开是名电电名电电母电电线电电开开温 变压流称合否称压流称压流线压流路压流关合度 号状常号号号状 态开态 图2 1 变电站树型模型 根据变电站配置语言s c l 中变电站描述和智能电子装置描述的规定,下面把变 电站中一些设备的类型代码表述如下: 变压器:p t r 断路器:c b r 电容器:c a p 电抗器:r e a 隔离开关:l s w 电压互感器:v t r 电流互感器:c t r 接下来以图中变压器为例,详细说明其x m ls c h e m a 的制定及相应的x m l 描述。 1 2 华北电力人学硕十学位论文 其它设备的x m ls c h e m a 的制定及相应x m l 描述与此类似,在此不再赘述。 2 3 2 面向对象的x m ls c h e m a 的制定 以前的s c h e m a 文档对x m l 文档中的内容和结构是采用“过程化方式”定义,即 按照元素间的嵌套关系逐一定义元素。当文档复杂时,这种定义方式很难理解,而 且扩展性不好。用x m l 描述电力系统信息时采用面向对象的描述方法,要求x m l s c h e m a 具有良好的面向对象性。一般而言,电力系统在内部应用s c h e m a 文档时需要 根据自身情况对s c h e m a 文档进行扩展,所以扩展性非常重要。故采用新型的x m l s c h e m a 规范书写方式,即面向对象方式。这种方式具有良好的扩展性,通过定义元 素的全局性和局部性并结合类型定义( c o m p l e x t y p e ,s i m p l e t y p e ) 灵活书写s c h e m a 文 档。书写s c h e m a 文档结构的原则一般是:第一层的元素定义为全局元素;把多次出 现的元素定义为全局元素,当需要使用时,只需引用而无需重新定义;其它元素定 义为局部元素。 写x m ls c h e m a 时,将图2 1 中的树型模型分层:元素变电站为第一层,元素母 线、线路、变压器、电容器、电抗器等为第二层,第二层中的各个原始所包含的子 元素为第三层。下面以变压器为例,详细说明其x m ls c h e m a 的制定及相应的x m l 描述。 x m ls c h e m a 本身就是一个x m l 文档,故第一步要进行x m l 类型声明,内容包 括版本、编码形式。 是对x m l 的类型声明 语句,指明该文档是一个x m l 文档,且符合版本1 o 规范。另外,该文档采用u t f 一8 编码。 第二步是s c h e m a 声明语句,包含s c h e m a 名称空间声明,本例用到三个名称空间: 一是x m l n s :x s d = ”h t t p :价瞩啊w 3 o f 2 0 0 1 x m l s c h e m a ”,指明了创建该文档的s c h e m a 元素所来自的名称空间;二是t a r g e t n a m e s p a c e = ”h t t p :,w w w t r a n s f o r m e r s c o m ”,指明 了该s c h e m a 文档中声明的元素所适用的名称空间:三是 x m l n s = ”h t t p :价喁啊t r a n s f o m e r s c o m ”,指明了该文档的缺省名称空间。如下所示: 第三步是要声明一个元素名为s u b s t a t i o n 的用户自定义的复杂数据类型,并通过 嵌入复杂数据类型的定义实现用户自定义的复杂数据类型。s u b s t a t i o n 元素中包括 p t r 子元素且声明了它的出现次数必须至少为一次。如下所示: 1 3 华北电力人学硕十学位论文 复杂数据类型是指包含子元素和属性的数据类型。其中,x s d :s e q u e n c e 用于决定 子元素的顺序。x s d :s e q u e n c e 中的子元素必须按声明的顺序出现在x m l 文档中。r e f 属性的值必须是一个在别处已声明的元素,且该元素必须是s c h e m a 元素的直接子元 素,不能是s c h e m a 子元素的子元素或是更低层次的子元素。这样声明的元素类型与 引用元素的类型相同。m i n o c c u r s 属性和m a x o c c u r s 属性用于控制元素的出现次数。 第四步是声明一个p t r 元素,在此元素内部也嵌入了复杂数据类型的定义。在 p t r 元素中所包含的子元素v 0 l t a g e l e v e l 、n a m e 、t a pp o s i t i o ni n f o 咖a t i o n 、t e m p e r a t u r e 、 v o l t a g e 、c u r r e n t 按所定义的先后顺序出现在x m l 文档中,并指出它们各自的出现次 数必须为一次。此声明与第三步中的元素声明类似,如下所示: , 最后,是各个独立子元素的声明,如下所示: 1 4 华北电力人学硕+ 学位论文 此处n a m e 属性用于指明元素名称;t y p e 属性用于指定元素的数据类型。 2 3 3 引用s c h e m a 的x m l 文档 引用s c h e m a 的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论