基于中间件技术的电网在线监测数据集成系统设计
2012-07-26刘毅刘军毛琛琳
刘毅,刘军,毛琛琳
(1.国家电网西北规划评审中心,陕西西安710065;2.西安电力高等专科学校,陕西西安710032;3.陕西省电力科学研究院,陕西西安710054)
近年来,随着电力信息技术的迅猛发展,基于现有的生产管理(production management system,PMS),重点关注电网设备在线监测(remoteasset monitoring,RAM)的深化应用,大型变电站的主要设备都安装了在线监测系统,对保障电网安全、稳定运行,起到了重要的安全监控作用。但由于各监控系统都具备独立的管理运行系统,所选用数据库大都各不相同,在线监测数据传输方式较混乱,不能实现在多个在线监测系统间实现信息共享,极大地阻碍了在线监测技术的推广应用。
随着监控系统的不断增加,“信息孤岛”问题愈发突出,增加了电网系统信息管理的复杂度。如何在目前各变电站和输电线路现有的设备在线监测系统的基础上,采用异构数据集成技术,实现基于PMS支持的设备状态预防性检修,综合利用来自各在线监测系统采集的设备状态信息,以对设备状态进行综合评估诊断[2],已经成为当前实际工作中突出需研究解决的问题。
1 数据集成的难点与方法
数据集成的本质是把不同来源、格式、特点、性质的数据在逻辑上或物理上有机地集中,从而为用户提供全面的数据共享[3]。数据集成的核心任务是要将互相关联的分布式异构数据源集成到一起,使用户能够以透明的方式访问这些数据源,数据集成系统如图1所示,为用户提供统一的数据源访问接口,执行用户对数据源的访问请求。
要实现数据集成,必须解决数据集成中的一些难题。数据集成的难点可以归纳为以下主要方面:
1)异构性。被集成的数据源通常是独立开发的,数据模型异构,存在跨平台数据访问问题。
2)分布性。数据源是异地分布的,依赖网络传输数据,存在网络传输的性能和安全性等问题。
3)自治性。各个数据源有很强的自治性,它们可以在不通知集成系统的前提下改变自身的结构和数据,对数据集成系统的稳定性提出挑战。
图1 数据集成系统模型Fig.1 Data integration system model
按照不同的实现技术,目前已有的典型数据集成方法为模式集成方法和数据复制方法[4]。
1.1 模式集成方法
即在构建集成系统时将各数据源的数据视图集成为全局模式,使用户能够按照全局模式透明地访问各数据源的数据,目前使用较多的是中间件集成方法。
中间件提供位于硬件及操作系统和应用之间的通用服务,如图2所示。这些服务具有标准的程序接口和协议,服务提供针对不同的操作系统和硬件平台、符合接口和协议规范的多种实现。
中间件的主要作用是用来屏蔽网络硬件平台的差异性和操作系统与网络协议的异构性,使应用软件能平滑地运行于不同的硬件系统或操作系统之上。
典型的基于中间件的数据集成系统,如图3所示。主要包括中间件和封装器(适配器),其中每个数据源对应一个封装器,中间件通过封装器与各个数据源交互。中间件注重于全局查询的处理和优化,以提高查询处理的并发性,减少响应时间。
1.2 数据复制方法
最常见的数据复制方法就是数据仓库方法。数据复制方法将各个数据源的数据复制到与其相关的其他数据源上,并维护数据源整体上的数据一致性、提高信息共享利用的效率[5]。
图2 中间件平台Fig.2 Middleware platform
图3 基于中间件的数据集成系统Fig.3 A data integration system based on middleware
以上2种数据集成方法各有优缺点及适用范围。模式集成方法适用于被集成的系统规模大、数据更新频繁、数据实时一致性要求高的情况。在模式集成方法中,通常采用中间件方法。由于联邦数据库在集成时需要为每个数据源单独编写大量的通讯接口,因此,现在单纯的联邦数据库方法已很少被采用。
数据复制则适用于数据源相对稳定、用户查询模式已知或有限的情况。
2 电网在线监测系统数据集成特点
当前智能电网建设正处于蓬勃发展阶段,电网的通信系统将集成各种通信技术,并可采用开放式的通信网架,具有高速、集成、兼容、双向的特质,可以动态响应实时信息交互[6]。目前,安装在大中型变电站和输电线路上的在线监测系统(变电站内有工程图像监控系统、变压器油色谱在线监测、变压器局部放电在线监测和GIS局部放电在线监测;输电线路上:有线路覆冰在线监测、导线温度在线监测、导线泄漏电流在线监测等),一般由不同的厂家,分时分阶段开发、实施,各系统软件开发系统与数据库结构均有较大的差异,存在以下基本特点:
1)系统数据库为典型异构系统,需要通过数据交换,实现各监控系统数据的采集、转换、传输、存储及共享等功能。
2)监控系统处于分布的网络环境中,数据集成方案中涉及数据通信、数据格式等问题,必须妥善考虑并解决。
3)在电力行业特定的安全需求网络环境中,要求数据交换可以扩展传输协议,能够穿越物理隔离设备,实现在安全网络环境中的数据共享。
在变电站和输电线路上的在线监测系统数据库系统,以其独立性、自主性共同构成了一个现实的异构数据库框架。为了在多个在线监测系统间实现综合信息的共享,就需要对各监控系统的异构数据库进行集成。
对电网监控系统异构数据库集成的需求主要涉及到以下几个方面:
1)建立全局数据库视图。用户访问多个异构数据库就像访问单个数据库一样,实现分布式访问的透明[7]。
2)统一的查询模式。采用同一种数据模型和查询语言来访问其他异构数据库,实现查询的异构性透明。
3)多数据库关联查询。同时对位于不同变电站的多数据库进行关联查询,根据查询要求返回结果集。
4)各异构数据库的完整和独立。保持各现有监控系统正常运行,维护各自数据库的完整和独立。
5)实时性。突出电网监控信息的实时性要求。
3 在线监测数据集成系统的设计
在线监测数据集成系统采用中间件技术来实现对异构数据库的数据集成。为保证本系统与各监控系统数据交换的安全可靠,采用JMS(Java Message Service)技术实现数据交换;以XML(Extensible Markup Language,可扩展标记性语言)格式为数据交换的中介格式,再将异构数据库的数据整合在同一个系统接口输出。
中间件主要集中完成对异构数据源提供一个高层次目录检索服务,为数据共享、发布和对应用集成信息的访问提供支持。
3.1 设计目标
中间件系统的设计目标主要有以下几点:
1)能解决数据的异构性问题,使分散在不同物理位置的不同格式、不同数据库中的数据经由整合处理,以同一接口输出。
2)能够统一、透明、高效地访问网络环境中各种分布、异构的数据资源,快速地将“孤岛数据”转化为共享信息资源。
3)保持已有各应用系统的自治性,在进行数据集成的同时,不需要改变原始数据的存储和管理方式,而且能够妥善解决“数据同步”问题。
4)满足异构数据库集成所必须完成的数据交换需求。
3.2 系统设计原则
根据企业生产运行实际状况,分别从以下原则出发,对“在线监测数据集成系统”设计进行了整体考虑。
1)专业性。它是一个具有实时性、图形化的在线监测专业综合信息服务平台,主要为远端企业各级领导和现场专责人员提供信息与决策支持。
2)安全可靠性。系统平台的建设不能影响现有各监控系统的独立运行,必须严格遵循《全国电力二次系统安全防护规定》,采取分层的应用级信息安全控制和严格的权限管理机制。
3)扩展性。系统架构设计应易于扩展,能够方便地集成和管理;应用功能容易扩展和升级,以适应业务的发展和扩充,满足用户需求的变化。
4)可移植性。适用于所有变电站和输电线路使用和推广。
5)可集成性。远期能够与公司现有各业务系统(企业数据中心、企业门户)进行有机集成,便于数据的二次开发,确保该系统降低耦合度,保持自治性,提高重用度,增强扩展性。
3.3 技术路线
3.3.1 数据模型
由于各监控系统采用的是不同的数据库系统,数据存储格式存在很大差异,需要用一种统一的数据模式来描绘来自不同数据源的不同存储格式的数据。
XML(Extensible Markup Language,可扩展标记性语言)有标准性、开放性、纯文本、自描绘、可扩展的特点,具有很强的对数据存储、数据描述和数据传送的能力,在异构数据库间可方便地进行数据交换和处理[8]。
3.3.2 数据传输方式
基于JMS(Java Message Service)消息是一种松耦合的异步处理机制,具有平台无关性、松耦合性、异步特性、可靠性等特点,设计中采用JMS作为构建跨平台模型的通信方式。
3.3.3 变化数据提取
按照数据库数据变化的捕获方法的不同,通常有4种方法可以应用:触发器法、日志法、时间戳法和API法[9]。
以上4种方法各有利弊,要么需要修改原有的应用系统,要么影响原有应用系统的运行效率。考虑到触发器法仅当数据源表进行修改、插入和删除等命令时,触发器才被唤醒,将变化数据提取出来。虽然占用的系统资源较多,但实现起来较其他方法较简单,况且计算机硬件技术日新月异、发展很快,能够很快弥补系统资源的不足。
基于以上分析,我们采用触发器法来提取变化的数据。
3.3.4 数据的同步
实现异构数据库集成,就是在保持各应用数据库系统相对独立性和自治性的基础上,当统一综合数据库建立之后,分布的应用数据库中数据发生变化后,综合数据库的相应数据也应当随之而改变。
可以采用只将发生了改变的应用系统增量数据发送到综合数据库以实现同步。同时Oracle、SQLserver、Mysql等数据库因其本身具有较强的功能,能提供触发器功能。
4 系统架构
针对系统的需求分析和设计原则,在线监测数据集成系统总体功能主要划分为“数据采集平台”和“信息综合发布平台”,系统的总体功能架构如图4所示。
1)通过数据采集平台,将各专业监控系统的数据实时采集,并按照统一的数据格式存储在统一综合数据库。主要表现为各专业监控系统数据库与统一数据库的数据交换,按照电力安全防护的信息管理要求,这种数据交换是单向的。
2)通过信息综合发布平台,系统提供一个完整的用户界面,用户可以实现对任意专业监控系统的查询访问。用户根据各自不同的权限配置,可以分别点击主设备查询相应的变电站、线路各运行主设备、杆塔、监控系统实时数据,既形象又方便。
图4 电网在线监测系统结构图Fig.4 Online monitoring system structure diagram of grid
系统的综合信息数据来源为统一的综合数据库,而综合数据库的数据是通过数据采集平台,从各专业系统数据库采集提取而来。根据采集数据的时间,可以将其划分为实时库及历史库。实时库仅保留所有实时数据,历史库存储历史数据。
5 异构数据采集系统
利用中间件技术实现异构数据库集成,该中间件位于异构数据库系统(数据层)和应用程序(应用层)之间,向下协调各数据库系统,向上为访问集成数据的应用提供统一数据模式和数据访问的通用接口,各个数据库的应用仍然完成他们的任务。数据采集集成系统的功能结构如图5所示。
图5 数据集成系统结构图Fig.5 Data integration system structure diagram
数据集成系统,主要由集中器、适配器、元数据和管理配置等4部分以及WEB服务器组成。系统支持虚拟视图或视图集合,统一了异构数据库系统的数据通信标准,采用后台方式解决了数据访问、数据抽取、数据转换、数据整合及数据展示等问题,实现了用户对异构数据源的透明访问。
用户提交一个查询后,由集中器将用户查询翻译成一个或多个对数据库的查询。然后这些子查询由相关的适配器发送到后台数据库(异构数据库)进行查询操作,集中器接着将适配器发送回来的各个数据源的查询结果进行综合处理,经由整合模式的设计,将相关的多笔资料整合成一笔记录,以同一接口输出返回给用户。
从客户/服务器角度来看,该中间件封装了系统的业务逻辑,构建在数据库服务系统和应用之间,构成客户服务器3层结构。各个异构数据库资源构成了系统数据层;中间件系统提供数据集成的业务服务,构成系统的业务逻辑层;应用程序则构成系统的表示层或事务应用层(对于4层系统模型来说)。
6 系统数据流程
用户通过Web浏览器输入相关查询信息,系统中间件遍历相关数据字典,然后分解查询到异构数据库取出数据,将这些数据按照查询结构组织成以XML结构表达的结果文件,最后通过Web浏览器给用户返回查询结果。
下面以查询为例,说明其工作流程,如图6所示。
图6 系统查询工作流程图Fig.6 System inquiry flowchart
1)用户通过浏览器提出查询请求。
2)应用程序生成一个查询的消息给数据交换中间件。
3)数据交换中间件根据消息中要请求的服务,查询元数据(系统资源数据库)获得调用相应业务数据库所需的信息。
4)数据交换中间件访问相应数据库。
5)从业务数据库中提取符合条件的数据。
6)数据交换中间件将结果返回给应用程序。
7)应用程序将返回的结果显示给用户。
从图6可以看出,应用程序并不需要知道它查询提取的数据在什么地方,以及查询异构数据的不同字段名。系统搭建了一个开放性的信息交换通用接口,规范了各种数据和信息标准,屏蔽了数据库的异构性,使来自不同数据源的应用数据得以无缝集成,实现了不同系统间的信息查询功能。
7 数据交换
7.1 数据交换形式
按照企业的网络拓扑结构将数据交换模式划分成交换单元的形式,单元内由包含数据交换单元服务器、交换系统管理服务器和若干交换节点组成,不同的交换单元之间可以通过特定节点连接在一起,构成整体的系统。数据交换单元的拓扑示意图如图7所示。
图7 数据交换单元示意图Fig.7 Data exchange unit diagram
1)数据交换单元。将数据源所在的逻辑区称为交换单元,每个交换单元由若干交换节点、一个交换单元服务器、通信交换机制及元数据服务等单元组成,可实现最基本的交换。这些服务在实际部署中,可以部署到一台计算机。
2)数据交换节点。是为满足某一数据需求的数据源,实现业务数据源的访问和数据转换功能[10]。
3)交换协议。即数据交换单元的消息通信服务,是节点间交互采取的一系列规约,包括交换模式与消息传输协议。交互模式方面,是实现数据通信所依赖的应用层通信协议;消息传输方面,如报文传输采用的JMS、TCP/IP或其他网络层之上的协议等。
这样设计的数据交换环境,能够适应当前变电站应用监控系统的现有结构,同一单元内的每个交换节点、每次交互采用哪种交换协议、收到报文如何处理等,均由配置文件定义,发送消息节点采用统一读取配置文件的方式,采用相应的协议将消息发送出去。
7.2 数据交换内容
采用统一的XML数据表现格式,完成不同数据源节点之间的数据交换。包含2方面内容:
1)数据采集方式。在消息中间件机制中存在“推”和“拉”2种消息发布方式[11],系统数据采集也提供2种方式。一种是即时命令式,由用户需求端发出请求,等待响应;另一种由系统服务器定时发出数据更新任务,各用户端执行,也称为“任务”式。
2)交互过程中的数据形态。数据从源点取出以XML格式表示,以转换规则处理表示成标准格式,发送到接收端,由接收端按预先设置好的转换规则转换成自身数据形式。
8 结语
1)从电网设备在线监测深化应用的角度出发,分析了适应智能电网快速发展,支持电网设备状态综合评估的环境过程中,对异构在线监测数据源集成需要的现实性,提出了基于中间件、XML和JMS的异构数据库集成解决方案。系统设计充分考虑用户监测系统的扩充性,将来自多个不同监测系统的相关数据整合在一个接口输出,解决了用户必须在分布式的数据库中搜寻,再手动式拼凑这些数据的问题。
2)提出了一种面向电力行业、适应异构网络环境,解决原有各类在线监测系统异构数据源之间的数据共享与传递的数据采集和发布平台设计方案。
3)随着电力系统规模的不断扩大,电压等级不断提高,建设坚强智能电网是电力事业发展的方向[12],采用合理的信息技术,实现智能电网在线检测数据集成,为电力系统安全、稳定和可靠运行,及提供优质的电力服务打下坚实的基础。
[1]邹建明.在线监测技术在电网中的应用[J].高电压技术2007,33(8):203-206.ZOU Jian-ming.Application of on-line monitoring technology on power grid[J].High Voltage Engineering 2007,33(8):203-206(in Chinese).
[2]陈宏印,卜苏滨,李维东,等.全域电网资源聚合架构的研究与应用[J].电网技术,2012(2):35-41 CHEN Hong-yin,BU Su-bin,LI Wei-dong,et al.Global power resource aggregation framework research and application[J].Power Systen Technology,2012(2):35-41(in Chinese).
[3]程学先,蒋慧婷.异构数据源集成实现的研究[J].计算机工程与科学,2008(8):86-88.CHENG Xue-xian,JIANG Hui-ting.Research on heterogeneous data sources integration[J].Computer Engineering&Science 2008(8):86-88(in Chinese).
[4]刘秋英,罗安,李强,等.异构数据集成技术在变电站[J].电力系统及其自动化学报,2009(6):6-8 LIU Qiu-ying,LUO An,LI Qiang,et al.Application of heterogenous database integration for SIS in a substation[J].Proceeding s of the CSU-EPSA 2009(6):6-8(in Chinese).
[5]何荣茂,秦富童,胡然,等.基于SOA的异构数据集成中间件的研究与设计[J].舰船电子工程,2012,(1):77-79.HE Rong-mao,QIN Fu-tong,HU Ran,et al.Research and design on heterogeneous data integration middlewarebased on SOA[J].Ship Electronic Engineering,2012,(1):77-79(in Chinese).
[6]马云峰,王源.基于XML和Web Service的异构数据集成研究与实现,计算机技术与发展2010,(11):42-44 MA Yun-feng,WANG Yuan.Research and implementation of heterogeneous data integration based on XML and web service[J].Computer Technology and Developm ENT,2010,11):42-44(in Chinese).
[7]李乃湖,倪以信,孙舒捷,等.智能电网及其关键技术综述[J].南方电网技术2010,(3):3-6 LI Nai-hu,NI Yi-xin,SUN Shu-jie,et al.Survey on smart grid and relevant key technologies[J].Southern Power System Technology,2010(3):3-6(in Chinese).
[8]郝少华,韩燮.基于XML技术的异构关系数据库集成模型[J].计算机工程与设计,2010,3(24):5285-5287.HAOShao-hua,HANXie.Heterogeneousrelationaldatabase integration model based on XML[J].Computer Engineering and Design,2010,31(24):5285-5287(in Chinese).
[9]郎星建,刘宏志.基于XML的信息工程监理异构数据集成研究[J].计算机技术与发展,2011(3):221-223.LANG Xing-jian,LIU Hong-zhi.Research on heterogeneous data integration for information engineering surveillance based on XML[J].Computer Technology and Development,2011(3):221-223(in Chinese).
[10]何慧,陈博.基于XML和JMS的异构数据交换集成的研究[J].计算机技术与发展,2007(2):70-72.HE Hui,CHEN Bo.Research of heterogeneous cata integration and exchanging based on XML and JMS[J].Computer Technology and Development,2007(2):70-72(in Chinese).
[11]童悦,朱根标,张凤鸣.异构数据库转换方法研究[J].现代电子技术,2007(15):65-66.TONG Yue,ZHU Gen-biao,ZHANG Feng-ming.Research on method of heterogeneous database conversion[J].Modern Electronic Technology,2007(15):65-66(in Chinese).
[12]张琳,叶丹丹,胡叶舟,等.用于特/超高压电网电压控制的分级投切可控高抗控制策略[J].电网与清洁能源,2012,28(2):25-29.ZHANG Lin,YE Dan-dan,HU Ye-Zhou,et al.Conntrol Method for the stepped controllable shunt reactor used for voltage control in UHV/EHV transmission system[J].Power System Clean Enery,2012,28(2):25-29(in Chinese).