基于Web Services的水库调度自动化系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Web Services的水库调度自动化系统设计
李崇浩1,纪昌明2,李文武1
(1武汉大学水资源与水电工程科学国家重点实验室,武汉,430072)
(2 华北电力大学(北京)动力工程系,北京,102206)
[摘要] 在阐述水库调度自动化系统主要应用功能以及介绍Web Services技术的基础上,本文结合Web Services的原理及实现机制提出了面向网络服务的水库调度自动化系统设计方案。
文中介绍了该系统地实现思路、总体结构及技术特征,并给出了应用实现样例,为水库调度自动化系统的研制与开发提供了一个新型、可靠的解决方案。
[关键字] 水库调度;自动化系统;Web Services
1 引言
电网水调自动化系统(HDAS)是电网调度自动化的一个重要组成部分,在电网的安全经济运行工作中具有重大的作用。
系统的建立实现了水电厂日常水调工作的自动化,不仅为水电厂安全渡汛提供了及时准确的水情信息,而且提供包括防洪、发电等综合利用的优化调度决策支持,具有显著的经济效益和良好的社会效益[1]。
在当前随着我国电力市场改革的深入,积极开展水调自动化系统应用软件的研究,加快电网水调自动化系统的建设发展,使其在防洪、水库优化调度和资源优化配置方面发挥更大的作用,不仅是进行科学水库调度的需要,同时也是适应当前电力市场发展要求、适应电网现代化管理的需要。
目前,电网水调自动化系统主要采用的传统C/S结构[2],或者以C/S为主,结合部分的B/S方式(如Web信息发布);系统以水调数据库为核心,在其基础上实现其各个子应用系统,包括数据查询/编辑子系统、业务报表子系统以及高级专业应用子系统等。
近年来随着计算机网络技术的进步、大规模系统软件开发技术以及分布式计算领域的快速发展,迫切需要能够方便地实现Internet/Intranet上跨平台、语言独立、松散耦合的异构应用的交互和集成。
Web Services作为新一代的Internet 应用技术,提出了面向服务的分布式计算模式[3,4]。
目前,Web Services已成为计算机领域的一个研究热点,学术界和业界技术厂商如IBM,Sun,Microsoft等都对其表示了密切的关注,纷纷加入到Web Services的研究和开发中。
本文在分析水库调度应用需求的基础上,结合Web Services技术的原理及实现机制,提出了基于面向Web服务的新型水调自动化系统设计方案。
2HDAS系统主要功能
电网水调自动化系统是一项充分利用现代计算机技术和数据通讯技术,进行与水电厂水库运行相关的监视、预报、调度及管理的多学科综合系统工程。
系统的主要功能如下。
(1)数据处理
对采集的各种数据进行处理、计算、存储。
HDAS涉及到的数据种类繁多且信息量大,包括水情测报系统采集的流域水雨情数据、EMS数据、气象信息数据等等。
(2)流域监视
实时动态地监视全流域水情变化,既包括各单元流域和水系,各雨量站点和水位站点以及大坝各种特征水位、蓄水量和流量值。
以流域动态画面实时反映全流域任一时刻的水位和降雨变化,以雨强图和等雨量线图分析当前流域雨情雨势。
对异常数据,实时进行报警。
(3)信息查询
根据给定的检索条件通过图、表方式显示和打印各流域或水系实时水情信息、水文特征值、实时洪水预报、水库调度结果等,亦可进行各种历史数据浏览。
(4)业务报表
完成常规的水务计算及各类生产日、旬、月、年报表的生成、存档、打印等。
(5)径流预报
属于系统的核心高级应用之一。
包括实时洪水预报以及中长期径流预报。
根据采集的水雨情数据或其他数据,应用各种科学的水文预报模型(短期和中长期)进行来水预报,以供预报调度和决策。
(6)发电调度
应用径流调节计算和水库优化调度理论和方法,以实现最大经济效益为目标,根据电站入流、系统负荷以及机组特性等情况,进行短期和中长期的发电调度计算,生成相应的优化调度结果和方案,为生产和运行提高决策支持。
(7)系统管理
进行系统各类参数设置、界面方案设置、用户管理、文件管理、历史数据的修改、备份以及实现与其他系统(如MIS)接口的相关设置等。
3 Web Services 技术
Web Services技术是一项基于Web的分布式计算和处理的新技术,也可以说它是建立可互操作的分布式应用程序的新平台。
从功能角度讲,Web Services是一种新型的web应用程序,具有自包含、自描述以及模块化的特点,可以通过web发布、查找和调用[3]。
其实现的功能可以是响应客户端一个简单的请求,也可以是完成一个复杂的商务流程。
Web Services 具备以下特征:完好的封装性;面向服务,松散耦合;使用标准协议规范;高度可集成能力[5]。
近年来成为软件界的热点之一,受到了广泛的关注和应用。
Web Services涉及的核心技术规范包括XML,WSDL,SOAP和UDDI。
WSDL是程序员描述Web Services的编程接口;Web Services可以通过UDDI来注册自己的特性,其他应用程序可以通过UDDI找到需要的web服务。
SOAP则提供了应用程序和web服务之间的通信手段。
而WSDL,SOAP和UDDI都建立在XML基础之上。
(1)XML。
可扩展标记语言(Extensible Markup Language,XML)使用标记来界定内容,允许用户定义任意复杂度的结构,具有良好的扩展性;它具有自描述性,适合数据交换和共享;XML另一个优点是无关性,独立于具体的平台和厂商,确保了结构化数据的统一。
目前XML已成为开放环境下描述数据信息的标准技术,也是Web Services中信息描述和交换的标准手段。
(2)WSDL。
Web Services采用WSDL(Web Service Scrimption Language)来描述其服务接口。
WSDL采用XML schema定义,能够对各种语言实现的服务接口进行描述,具有语言无关性。
WSDL将Web Services定义为网络端点的集合,使用类型、消息、端口等元素来
描述服务接口。
请求者据此可以知道服务要求的数据类型、消息结构、传输协议等,从而实现对Web Services的调用。
(3)SOAP。
XML使数据易于理解和共享,但应用实体之间要发送和接收XML文档,还需对网络协议、访问点等细节达成共识。
Web Services实体间交互使用的是简单对象访问协议(Simple Object Access Protocol,SOAP)。
它提供了Internet中交换结构化信息的轻量级机制,实现异构应用之间的互操作性
(4)UDDI。
为了使服务申请者能够查找需要的服务,业界制订了注册和查找web服务的UDDI技术规范。
UDDI注册中心是对所有提供公共UDDI注册服务站点的统称,凡是实现UDDI规范的站点都可被称为UDDI操作入口站点,站点之间通过复制机制保持彼此间的内容同步。
服务提供者可以在服务注册中心发布自己提供的服务,服务请求者则在注册中心查找期望的服务。
标准的Web Services应用的运行机理及结构如图1所示。
图1 标准Web Service应用的运行机理及结构图
Web Services作为一项新的技术规范,由于其推出时间较短,体系结构、技术实现等都尚待完善,因而在实际应用中还存在以下一些不足之处。
(1)服务的发布与发现。
在具体应用中,Web Services可能具有不同的内容、形式和复杂程度,如何对Web Services进行描述和组织,使请求者能够基于概率或语义约束的模糊匹配进行查找,实现服务发现的高效性、自动化和智能化,是有待进一步研究的一个重要内容。
(2)性能优化。
XML和SOAP使Web Services具有更好的开放性,但XML的解析和传输等使其性能与CORBA等调用相比,还存在着较大的差距[3]。
这将直接影响Web Services 应用和推广。
因此如何对XML的解析、SOAP消息传输进行优化,是提高SOAP可用性的一个重要方面。
(3)安全性。
为了保证Internet上Web应用的安全,防止信息被非法访问和修改,需要采用安全控制或信息加密等手段。
现有的安全技术如数字签名、XML加密标准、访问控制技
术等,一定程度上解决了特定的安全问题,但如何实现Web Services安全保护的自动化,保证不同粒度和级别的数据机密性、完整性和可用性仍然是一个重要的研究问题。
4基于Web Services的HDAS
与C/S结构相比,基于Web Services的HDAS是一个全新的架构。
由于这是一种面向服务的分布式计算的系统架构,系统不再是以水调数据库为核心进行系统应用集成,而是将水调数据库作为系统的底端数据层,以应用服务器为中心来实现系统构造,客户端则通过浏览器发送相应的服务请求和接受来自应用服务器端的信息响应来实现与系统的人机交互。
从网络的具体部署来说,系统是属于B/S方式进行架构的,但又比信息的检索/发布为主要应用的B/S系统要先进、统一和灵活,且具有更好的可扩展性。
4.1基于Web Services的HDAS系统结构
基于Web Services的HDAS首先是一个采用标准多阶层软件设计模型的一套系统。
这种多层结构由底层的数据服务层、核心的应用服务层和面向用户的人机界面层组成。
数据服务层主要负责对水调数据库和其他外部系统数据的访问,其面向的服务对象是应用服务层的各个应用模块(服务);应用服务层是整个系统的核心,系统的全部主要功能都以Web Services 的形式部署在该层,其面向的服务对象是人机界面层的所有客户端;而人机界面层则为系统的最高层,也是系统的终端,由多个客户端组成,所有客户端通过浏览器与应用服务层实现交互。
系统的逻辑结构如下图所示。
图2 基于Web Services的HDAS系统结构
由此可见,基于Web Services的HDAS的客户端不直接访问数据库服务器,核心的应用
服务层也是通过网络数据服务层来访问底层数据。
这样的一种多阶层结构,使应用服务无须关心数据的获取,而集中于业务逻辑的实现,而且能够实现对异构数据库的数据访问;此外也避免客户端直接操作数据库,提高了数据的安全性。
基于Web Services的HDAS还具有一个重要特征即组件化结构。
通过对各类应用需求的具体分析,将功能逻辑相近的部分尽可能地归纳抽象成为通用的逻辑对象或相应的子系统,如报表子系统、图形子系统、常规数学计算公共库等,再封装成标准化的Web Services提供给客户端。
采用组件化的结构,可以大大提高系统开发效率和软件质量,而且利于系统维护、完善和功能扩展。
4.2 具体实现样例
以下就简单以一个系统封装的流域水文站雨量数据查询的Web Service作为样例,演示Web Services技术的具体实现,其核心代码如下所示。
< operation name = “QueryRainfall” >
< soap: operation
soapAction = “urn:uttdatatype-IHDASquery # QueryRainfall”
style = “rpc” / >
//声明了一个检索水文站雨量的QueryRainfall方法
- < input >
< soap: body use = “encoded”
encodingStyle = “/soap/encoding/”
namespace = “urn:uttdatatype-IHDASquery” / >
< /input >
- < output >
< soap: body use = “encoded”
encodingStyle = “/soap/encoding/”
namespace = “urn:uttdatatype-IHDASquery” / >
< /output >
< /operation>
- < message name = “QueryRainfallRequest” >
< part name = “HydroStationID”, type = “xs:int” /> //检索水文站编号
< part name = “Datetime”, type = “xs:time” /> //检索时间
< /message >
//以上声明的是QueryRainfall方法的两个输入参数:HydroStationID和Datetime。
- < message name = “QueryRainfallResponse” >
< part name = “Rainfall”, type = “xs:float” /> //雨量值
< /message >
//以上声明了QueryRainfall方法的输出及类型。
4.3 开发平台
Web Services可以由很多语言和工具来开发,Microsoft的Visual 提供了一个很好的开发环境。
由于Microsoft的.NET框架是建立在Web Services的基础之上的,且Visual
和UDDI很好地集成在一起,因此在该平台上Web Services应用开发变得非常简单[5]。
同时,通过Visual 能够令组件化的开发和Web Services的结合达到最佳,此外,它还具有以下优点:可以使用任何编程语言;减少了代码编写量;引入了高级编译技术和缓存特性,使得应用程序具有更高的可靠性和更好的性能。
因此,Visual 是创建和实现Web Services的理想平台。
除Visual 外,同类的开发平台还有IBM Web Sphere和sun ONE。
IBM的Web Sphere采用J2EE架构,在Web Sphere平台上提供了完整而且领先的web服务的开发工具;sun公司则通过开放网络环境sun ONE(sun Open Net Environment)提供“灵巧web服务”的运行环境,支持Java,C++等程序设计语言和LDAP,XML,SOAP及UDDI等开放标准,也是一个Visual 强势竞争产品。
5 结语
随着现代计算机网络技术的不断进步和电力市场改革的深化,电网水调自动化系统作为现代化电网水调管理的重要手段,对系统可移植能力、互操作能力、可扩展能力、互联能力,开放分布计算能力都提出了更高的要求。
本文所阐述的基于Web Services的水调自动化系统,具有良好的架构以及统一的应用实现规范;系统基于XML和Web Services的特性使得系统易于实现应用功能(服务)的扩展和与其他系统的交互。
因而,基于Web Services的水调自动化系统的设计与开发将为今后电网水库调度自动化系统的研究、发展和应用提供更先进的实现思路与更全面、可靠的技术解决方案。
参考文献
[1] 裴哲义,孙芹芳。
水电厂水情自动测报与水库调度自动化。
电力系统自动化。
2001年5月。
[2] 李永红,余有胜,王铭业,等。
新型水库调度自动化系统。
水电自动化与大坝监测。
2003年4月。
[3] 杨涛,刘锦德。
Web Services技术综述——一种面向服务的分布式计算模式。
计算机应用,2004年8月。
[4] 吕曦,王化文。
Web Service的架构与协议。
计算机应用。
2002年12月。
[5] 郑小平。
.NET精髓—Web服务原理与开发。
北京:人民邮电出版社,2002年。
---------------------------------------------------------------------------------------------------------------------
作者从业简述:
纪昌明(1958-),男,华北电力大学教授,博士生导师,主要从事水资源与能源科学、风险管理与决策理论方面的研究。
李崇浩(1979-),男,武汉大学博士生,从事水库调度、电力市场与水电运行方面的研究。
李文武(1975-),男,武汉大学博士生,从事水库调度及其自动化系统开发方面的研究。
---------------------------------------------------------------------------------------------------------------------
DESIGN OF HYDROPOWER DISPATCHING AUTOMATION SYSTEM
BASED ON WEB SERVICES
LI Chong-hao, Li Wen-wu
(State Key Laboratory of Water Resources and Hydropower Engineering Science, Wuhan University, Wuhan 430072, China)
JI Chang-ming
(Power Engineering Department, North China Electric Power University, Beijing 102206, China)
Abstract: On the basis of description of main functions of Hydropower Dispatching Automation System (HDAS) and introduction of Web Services technique, this paper presents a Web-Service-Orientated designing of HDAS. The realization method and system structure as well as its technical features are introduced, also an application example is given. This design provides a new and reliable technique solution to study and development of HDAS.
Keywords: Hydropower Dispatch; Automation System; Web Services。