陈 琪, 刘涤尘, 周 玲
(武汉大学电气工程学院, 武汉 430072)
基于Web服务的电力信息化监管系统的构建
陈 琪, 刘涤尘, 周 玲
(武汉大学电气工程学院, 武汉 430072)
电力监管作为电力市场建设的重要组成部分,对电力市场的良性发展起着重要作用。文中针对南方电监局电力监管工作中信息采集管理存在严重制约的现状,提出了电力信息化监管系统的设计与实现方案,该系统以异构数据采集为着眼点,采用面向对象的Web Service 技术对所监管信息系统中的异构数据进行集成,以XML作为统一的数据格式,构成数据综合管理平台,填补了电力监管工作中信息采集机制的空白,解决了南方电监局各所监管信息系统跨平台的难题。
电力监管; 异构数据采集; 可标记性扩展语言; 网络服务
电力系统进行市场化改革是20 世纪90 年代以来世界电力工业最重大的变革[1~3]。作为电力市场建设的重要组成部分,我国的电力监管体系建设存在诸多问题,最突出的问题体现在电监会作为监管部门缺乏独立性[4]。电监会要切实实施其监管职能,迫切要求市场环境下加大电力监管力度和完善监管体系建设。
目前,我国电力工业的各发电和供电企业处于各自监管的现状,电监会无法直接有效的获取电力生产的信息。就时下而言,电监会进行电力监管面临的直接而紧迫的任务,是电力监管工作信息采集机制的建立与完善[5]。由于各电力企业信息化发展的不均衡,导致不同企业不同应用系统之间存在的语言差异,平台差异,协议差异,数据差异[6]等异构问题,电监会要实现其职能,迫切需要建立完备的电力信息化监管系统,对异构数据进行采集和融合,最终形成统一的数据格式。对于大范围的跨企业实体的电力信息化监管系统的异构数据采集的设计,以异构数据采集为着眼点,采用XML和Web Service技术对电力信息化监管系统进行设计,从而使电监局以直接有效的方式对电力工业各环节的业务数据进行采集,为实现其管理职能打下坚实基础。因此,对其进行系统深入的研究设计是有重要意义的。
1.1XML
XML是一个定义其它语言的系统[7]。XML使用文档定义类型DTD(document type definition)和Schema来定义数据的结构,利用它可确认文档中数据是否有效,但更重要的是它还能定义数据的类型和数据间的关系。可将传统的数据集成策略,以DTD-Schema为桥梁移植到对XML文档的集成上来,从而实现对XML所写的Web页面的集成。XML可对很多类型的异构信息进行高级集成。
1.2WebService
Web Service采用面向服务的体系构架SOA(service-oriented architecture)模型对资源进行统一的描述、发布、发现及动态绑定与调用,解决Internet环境下松耦合分布式异构问题。Web Services可看作是在一个基于因特网的应用程序模块,在遵守由一个协议集组成的特殊技术格式下进行对象组件间的远程互连交互。在Web服务中,XML是数据的格式,简单对象访问协议SOAP(simple object access protocol)是调用Web服务协议,服务描述语言WSDL(web service description language web)是描述服务的格式,而统一描述、发现和集成协议UDDI(universal description discovery and integration)是服务登记、查找和利用的组合。四方面组成了整个服务架构[8~10]。
2.1 电力监管系统中异构数据采集需求分析
电力监管系统中数据集成中心是为整个系统提供数据支持的基础平台,位于系统整合框架的数据整合层。架构设计的好坏,直接关系到整合工作是否能够实现既定目标。
按照数据流向,可将电力监管的整个数据结构划分为三个层次如图1所示。
图1 电力监管的数据结构层次
(1)数据源层 南方电监局负责的监管对象有发电、供电、电力建设等电力企业,其所关注的发电量、电网负荷等监管指标分别存在于各电力企业的三十余个分散独立的应用系统中。目前各应用系统基本上采用了关系型数据库来管理各自的业务数据。数据源层包括现有的各个应用系统,这些系统自身产生、维护数据,提供电力监管所需的基础信息服务。
(2)主题数据层 包括主题数据库和OLAP数据库。随着南方电监局对信息实时性需求的加强,对数据源层各应用系统进行数据整合后,建设主题数据库提供统一及时的数据日益重要。同时,南方电监局还需要陆续开发安全监管系统、分析统计系统、市场监管及报价系统等查询和分析系统。这些系统自己无法产生数据,需要从前面的数据源层所监管电力信息系统中采集所需的数据来支持分析和查询。
(3)中心数据库层 它是整个数据环境的核心。向下,它从数据源层中提取数据,进行数据整合,向上,又作为主题数据层的数据来源,为它们提供基础数据。
目前南方电监局还没有中心数据库层这样的一个环境,因此,需要建立中心数据库层,使所有的源数据层系统及所有的主题数据层只需和中心数据库层交互,提高数据的复用性和使用效率。
2.2 数据采集及发布的设计
中心数据库建设完成之后,可将数据源的变动数据采集到中心数据库,实现中心数据库中数据的及时更新和用户订阅的变动信息准确发布。此时要采用相应的数据更新策略来保证数据采集发布的正确性、及时性。按照数据的流向,将数据采集发布过程进行了层次划分,如图2所示。
(1)数据源层:这是数据的源头,即各个所监管电力信息系统的数据库。本层包含多种数据源。
(2)数据抽取层:这是数据开始整合的大门。用于将数据源层的数据抽取进中心数据库。数据抽取的目的是未来对数据进行重新组织和存储位置的转移,在数据转移过程中要对数据进行大量的清洗和转换工作。
(3)数据转换层:这是数据整合的关键步骤。由于源与目标之间存在的数据差异,需要制订相应的转换规则,然后根据数据转换规则,把抽取的业务数据结构转换为中心数据库的数据结构。
(4)数据加载层:这是数据整合的重要环节。作用是把转换好的数据写入到中心数据库中。本层解决模式实现以及数据装载时机等问题。
(5)中心数据库层:这是数据整合的第一目标。提供数据与元数据的存储场所。
(6)数据发布层:这是数据整合的成果体现。是根据共享数据订阅收集信息,把更新的共享数据发布出来供订阅者查看和接收。
图2 数据流的层次划分
2.3 关键问题解决方案
数据采集和发布的关键问题就是如何化解源数据与目标数据对象之间、目标数据与发布对象之间的差异。
数据异构信息主要来自三个方面:系统异构、数据模型异构和逻辑异构。
本文综合数据平台采用均是TCP/IP协议与各数据源相连接,因此不用考虑系统异构。对于数据模型异构,可以考虑采用一种中间格式即可解决此问题。最难解决也是中心数据库主要面对的异构问题,是逻辑异构。本文提出了数据映射的解决方案和数据交互格式的方案以解决数据异构问题,采用根据XSD规则转换表来进行数据映射,从而使数据从数据源传递到中心数据库。
(1)数据映射解决方案
基于XML的数据映射方案是根据不同的需求建立数据映射来实现数据之间的转换,是数据层面的数据映射。在数据采集发布的设计中采取XML作为数据的统一表现形式,数据的映射工作实际也就是关系型数据库管理系统RDBMS(relational database management system)一XML一RDBMS的转换,数据格式的转换工作实际上是XML文档之间的转换,如图3所示。
图3 数据格式转换
使用基于XML的数据转换主要要建立数据转换的规则。异构数据整合中最需要解决的是逻辑异构问题,而解决这一问题需要通过建立一个转换规则字典,数据转换在该规则字典下进行,这种规则是由用户建立的。本文采取如下办法解决这个问题:用户通过映射规则定义功能制订源到目标表的映射规则,保存到映射规则文件中;根据数据差异的分类,制定相应的转换规则处理函数;进行数据转换时,根据映射规则文件中的差异类型,调用相应的转换规则处理函数,进行数据的转换。转换规则不存在时,那么就需要使用异构数据库平台的DBA定制转换规则。这样就实现了数据库之间的数据转换。
(2)数据交互格式方案
由于各所监管电力信息系统与中心数据库之间的模式异构和逻辑异构,本文选用XML格式作为两者之间的数据交互格式。数据格式的XSD设计如下:
lt;element name=quot;SourceChangeDataFilequot;gt;
lt;complexTypegt;
lt;sequencegt;
lt;element ref=quot;Rowquot; minOccurs=quot;1quot; maxOccurs=quot;unboundedquot;/gt;
lt;/sequencegt;
lt;attribute name=quot;DataSourceInfoquot; use=quot;requiredquot; type=quot;stringquot;/gt;
lt;/complexTypegt;
lt;/elementgt;
lt;element name=quot;Rowquot;gt;
lt;complexTypegt;
lt;sequencegt;
lt;element name=quot;Handlequot; type=quot;Typequot; minOccurs=quot;1quot; maxOccurs=quot;1quot;/gt;
lt;element name=quot;SetValuequot; minOccurs=quot;1quot; maxOccurs=quot;1quot;/gt;
lt;complexTypegt;
lt;sequencegt;
lt;element ref=quot;Columquot; minOccurs=quot;1quot; maxOccurs=quot;unboundedquot;/gt;
lt;/sequencegt;
lt;/complexTypegt;
lt;/elementgt;
lt;element name=quot;Wherequot; minOccurs=quot;1quot; maxOccurs=quot;1quot;/gt;
lt;/sequencegt;
lt;/complexTypegt;
lt;/elementgt;
lt;element name=quot;Columquot;gt;
lt;complexTypegt;
lt;sequencegt;
lt;element name=quot;ColumNamequot; minOccurs=quot;1quot; maxOccurs=quot;1quot; type=quot;stringquot;/gt;
lt;element name=quot;ColumValuequot; minOccurs=quot;1quot; maxOccurs=quot;1quot; type=quot;stringquot;/gt;
lt;/sequencegt;
lt;/complexTypegt;
lt;/elementgt;
lt;simpleType name=quot;Typequot;gt;
lt;restriction base=quot;stringquot;gt;
lt;enumeration value=quot;Otherquot;/gt;
lt;enumeration value=quot;Delete/gt;
lt;/restrictiongt;
lt;/simpleTypegt;
其中“Row”由三个部分组成:“Handle”、“Set Value”和“Where”。“Type”是数据的变化类型。考虑到实际情况和处理函数的通用性,本文将变化数据类型合并成两种方式:更新和删除。删除含义不变,统一将增加和修改设置为更新类型。这是由于变化数据文件向中心数据库加载时,并不知道此条记录在中心数据库中的情况,盲目设置操作类型,可能会出现问题。因此本文只定义两种类型:“Other”是更新操作、“Delete”是删除操作。不同的数据变化对应不同类型“Type”。这种“Other”类型用于逐行比对方式的变化数据抽取。在文件产生时不指定具体数据操作,而是到了加载数据时来决定数据操作类型。“Set Value”对应需要更新的字段名称和数据;“Where”对应更新条件。因此,服务器端数据采集程序只要处理上述XML文件即可。
2.4 异构数据采集系统实现
本文设计了七个模块来完成整个数据更新过程。这七个模块是变化数据传输、消息监听、工作流程调度、接收、转换、加载和发布。整体框图见图4。
图4 数据采集和发布框图
(1)变化数据传输:从各所监管电力信息系统提取变化数据,转换成源数据文件,然后将源数据文件传输到指定的服务器目录中。客户端程序负责从各所监管电力信息系统中获取变化数据,然后转换成源数据文件,实时监管数据采用数据采集Web Service接口的方式来传输到服务器上,服务器程序负责接收源数据文件,并调用后续处理工作。
(2)接收数据:读取指定目录的源数据文件,并转换成变化数据文件。
(3)转换数据:由于源与目标之间存在的数据差异,需要制订相应的转换规则,然后根据数据转换规则,把抽取的业务数据结构转换为中心数据库的数据结构。它是解决各所监管电力信息系统和数据平台之间数据差异的模块。它需要数据映射规则文件的支持,而数据映射规则文件由平台相应的维护管理功能模块提供。
(4)加载数据:把转换好的数据写入到中心数据库中。
(5)发布数据:是根据共享数据订阅收集信息,把更新的共享数据发布出来供订阅者查看和接收。
(6)工作流程调度:按设定顺序,调用前四个模块,来实现中心数据库的更新。
(7)消息监听:负责监听来自客户端、系统等的消息,根据消息类别调用相应的工作流程。
为了对复杂的处理过程更好的调度和监控,本文专门设计一个工作流程调度模块。通过此模块的开发使用,将清晰、高效地通过任务调度的方式处理快速见效的数据采集发布过程。
本文设计的业务数据采集和发布整体框架有利于分模块、并行的开发,业务流程清晰明了,模块复用性高,达到数据流转的畅通和格式的统一。
3.1 基础平台
结合实际情况,南方的电监局用户端选用IBM RS600op650做综合数据平台的主服务器。配置是8颗Power4+的RISCPowerPCCPU,16G内存,IT磁盘空间,AIXS.2操作系统。选用Oracle 10g.2.0.4作为中心数据库的数据库管理系统DBMS(database management system)。划分给Oracle数据库600G磁盘空间做数据文件。
3.2 源数据采集
(1)南方电网安全性评价系统
该系统由数据处理语言COBOL(common business oriented language)+客户信息控制系统CICS(customer information control system)开发,后台数据库为DB2v7.1for205/390。它主要涉及到三个业务数据集的内容:直流安全性评价数据集、交流安全性评价信息数据集和用户信息数据集。 因为此系统开发在共享数据、数据标准收集之前,所以它的开发完全采用的是单独定义的共享数据结构和数据标准,因此必须在抽取完数据后进行清洗、转换。数据平台通过业务数据整合服务从综合各所监管电力信息系统的下传数据文件中抽取共享数据。
(2)粤电集团燃料管理系统
燃煤系统采用Pro*C+CICS开发,后台数据库为Oraele7。为保证系统安全性和完整性,它的数据抽取采用的触发器法。在数据同步更新的策略选择定期的逐行比对方案就足够了。
3.3 数据转换和加载
这是本实例的关键部分。数据转换和加载分为两个阶段来实现。第一个阶段是在数据平台建成初期,进行数据的全量转换和加载;第二个阶段是在第一阶段之后每天进行的增量数据转换和加载。根据项目的硬件配置,将数据转换和加载工作放在中心数据库所在的IBMRS6000小型机上执行,通过网络来进行源数据的抽取工作,将数据抽取生成的XML文件放在转换服务器指定的文件系统/before中,然后执行转换操作,转换生成的XML文件也放在转换服务器指定的另外一个文件系统/after中。加载操作从/after文件系统中读取XML文件,然后将数据加载到以关系模式存放数据的中心数据库中。根据现有源数据的特点,项目采用了在每天晚间非营业时间,根据增量数据生成的时间,按照制定的调度流程进行数据的采集、转换和加载。
3.4 数据发布
(1)对比分析系统
这是本地开发的系统。对比分析系统不仅要查询聚类数据,还要调阅明细数据。系统采用的是JSP开发,后端数据库是oracle9i。因此该模块需要从中心数据库订阅数据。但由于根据电监局的需求可知,对比分析系统的抽取频率较低(每天一次),因此,不需要实时从中心数据库中进行订阅。
(2)决策分析系统
决策分析它们包括自己的数据模型和相应的决策分析程序(permance analysis)。需从中心数据库订阅数据。这也是在上述四个系统数据加载完成后,中心数据库才将有关数据发布给此系统。
本文主要研究方向是基于异构数据采集的电力信息化系统的构建,根据南方电监局的实际需求和其所辖电力企业的监管指标调研情况,具体分析和设计了电力信息化监管系统中异构数据采集模块的方案,并结合XML/Web Services给出了数据采集和发布的整体构架。
本文所述设计方案在南方电监局的信息管理系统得到应用,该方案本着安全、灵活、易维护、易扩展的设计原则,填补了电力监管工作中信息采集机制的空白,实现了异构信息最大限度地共享,取得了很好的效果。
[1] Ilic M, Galiana F, Fink L. Power System Restructuring: Engineering and Economics[M]. Massachusetts: Kluwer Academic Publishers, 1998.
[2] Chao H P, Huntington H G. Designing Competitive Electricity Markets[M]. Massachusetts: Kluwer Academic Publishers, 1998.
[3] Schweppe F C, Caramanis M C, Tabors R D,etal.Spot Pricing of Electricity[M]. Massachusetts: Kluwer Academic Publishers, 1988.
[4] 刘惠萍(Liu Huiping).电力市场政府监管的现行问题及职能调适(The existing problems and adaptation of government function in power market monitoring) [J]. 重庆行政(Chongqing Administration), 2006, (4): 53-56.
[5] 张新海(Zhang Xinhai). 电力市场监管信息系统分析与设计研究(Research on Analysis and Design of Information System for the Electrical Power Market Supervision)[D]. 北京: 华北电力大学企业管理学院(Beijing: College of Economics and Management of North China Electrical Power University), 2007.
[6] 唐晓波, 黎朝辉(Tang Xiaobo, Li Zhaohui). XML Web服务在电力企业信息系统集成中的应用框架(Application framework of XML Web service in integration of electric corporation information system)[J]. 华中电力(Central China Electric Power), 2004, 17(1): 8-11.
[7] W3C XML. Extensible markup language[EB/OL]. http://www.w3.org/XML,2010.
[8] 赵国营(Zhao Guoying). 基于Web Services的数据交换平台的研究与实现(Research and Implementation of Data Exchange Platform Based on Web Services)[D]. 兰州: 兰州大学计算机学院(Lanzhou: College of Computer of Lanzhou University),2007.
[9] 叶春晓(Ye Chunxiao). XML在数据集成中的应用研究(Study on Application of XML in Data Integration)[D]. 重庆: 重庆大学计算机学院(Chongqing: College of Computer of Chongqing University),2002.
[10]班廷伦(Ban Tinglun). 基于Web Service的企业应用集成的研究(Research of Enterprise Application Integration Based on Web Service)[D]. 北京: 华北电力大学控制与计算机工程学院(Beijing: School of Control and Computer Engineering of North China Electrical Power University),2003.
[11]邹盟军,黄 炜(Zou Mengjun,Huang Wei). 基于消息机制和XML的数据交换中心的设计(Design of data exchange center based on message and XML)[J].电力系统及其自动化学报(Proceedings of the CSU-EPSA),2004,16(4):38-41.
陈 琪(1986-),女,硕士研究生,研究方向为电力系统自动化。Email:Wybxzy@163.com
刘涤尘(1952-),男,博士生导师,主要从事电力系统及电力电子方面的研究。Email:dcliu@whu.edu.cn
ConstructionofPowerInformationSupervisionSystemBasedonWebService
CHEN Qi, LIU Di-chen, ZHOU Ling
(School of Electrical Engineering,Wuhan University, Wuhan 430072, China)
As an important part of the power market construction, electricity regulation is playing an increasing influence on the power market. In view of serious constraints in power information resources management and sharing of the South electricity supervision bureau, the design and realization of a power market information supervision system is put forward. The system takes the heterogeneous data integration as the vantage point, employs the XML and Web Services techniques to construct integrated data management platform. The application fills the gap in the field of information collection mechanism in power market monitoring, and solves the cross-platform interacting problems of each information system under the South electricity supervision bureau.
electricity regulation; heterogeneous data integration; extensible markup language; web service
TM732; TP393
A
1003-8930(2012)02-0096-06
2010-03-29;
2010-07-23