陈然
(云南电力调度控制中心,昆明 650011)
大规模电网运行数据实时同步技术研究
陈然
(云南电力调度控制中心,昆明 650011)
为提高大规模电网运行数据从电网运行监控系统向电网运行管理系统同步的实时性和稳定性,本文基于XML、E文件接口、WebService及FtpFS等技术,提出并实现了一种新的大规模数据跨安全区、跨系统的实时同步方法。在取代传统方法应用后,同步的实时性和稳定性得到大幅提升。
电网运行监控系统;电网运行管理系统;实时同步
电网运行管理系统需要大量电网实时运行数据作为支撑,需要将电网运行监控系统 (OCS)的实时采集、计算数据以较短的周期跨安全区、跨系统同步到电网运行管理系统。随着电网规模的不断扩大,电网实时运行数据规模也呈现出爆炸式增长,目前已达到十万至二十万点规模。从传统同步接口运行情况看,经常出现实时性低、不稳定、数据丢失等问题,严重影响了电网运行管理系统的功能应用。本文通过探索研究,基于XML[1]、E文件[2]接口、WebService[3]及FtpFS文件系统技术,提出并实现了一种新的大规模数据跨安全区、跨系统实时同步方法,解决了电网运行数据同步的实时性和稳定性难题。
OMS的各功能模块及子系统对OCS存在大量实时数据的同步需求。如图1所示。按照当前电网规模,电网运行实时监控数据单次同步需求量约在10万数据点左右,未来五年内可能达到15万甚至20万数据点,同步周期需求为1 min以内。传统的同步接口所能承受的同步量约为5千至1万点,同步周期15 min,远远无法满足当前需求。
OCS位于生产控制大区 (安全Ⅰ区),OMS位于生产管理大区 (安全Ⅲ区),两系统由不同厂家开发。数据同步不仅需要跨域安全Ⅰ区与Ⅲ区之间的横向隔离装置,还需要建立跨系统的通用接口。
图1 数据实时同步需求
2.1 OCS内部Ⅰ/Ⅲ区跨安全区同步法
安全Ⅰ区与安全Ⅲ区之间部署的横向隔离装置为正向隔离装置,即仅允许Ⅰ区向Ⅲ区发送数据,而且数据传输被切分为了独立的两段,首先允许Ⅰ区程序与隔离装置之间建立前段TCP连接,先将数据包发送至隔离装置,经隔离装置内部安全策略过滤之后,再由隔离装置与Ⅲ区程序建立后段 TCP连接,将处理过的数据发送至Ⅲ区。
为解决跨区问题,在OCS内部实现Ⅰ/Ⅲ区的同步:
1)OCS的前置程序在Ⅰ区采集厂站数据,经过处理、计算后,映射在内存实时库中,做为实时数据的源。
2)开发OCS内部同步程序 (SYN),在Ⅰ区服务器上部署,该程序从Ⅰ区内存实时库中获取实时数据,与正向隔离装置建立前段TCP连接,将实时数据发送至正向隔离装置。
3)扩展OCS,在安全Ⅲ区部署同步服务器,建立与安全Ⅰ区同样的内存实时库。同样部署同步程序 (SYN),与正向隔离装置建立后段TCP连接,接收经过正向隔离装置安全策略过滤之后的实时数据,存入Ⅲ区内存实时库中,最终实现OCS内部Ⅰ、Ⅲ区实时库的同步,如下图所示。
图2 OCS安全Ⅰ区向安全Ⅲ区同步数据
2.2 OCSⅢ区向OMS同步数据方法
因为OMS模块、子系统众多,且开发厂商也不一致,OCSⅢ区实时库如果分别向OMS各模块和子系统同步数据,不仅需要开发大量点对点接口,而且将出现大量数据重复同步的情况,降低了网络有效利用率。本方案通过在OMS数据库平台统一建模存储,由OCS向OMS数据库平台一次性完成同步数据:
1)在OMS的数据库中建模,用于统一存储从OCS同步来的电网运行实时数据。
2)OCSⅢ区实时库一次性向OMS数据库平台同步实时数据,存入OMS数据库中。
此为跨系统同步最关键的一个步骤,如果组织不同厂家开发数据库传输专用接口将耗费大额开发费用,并且不具备通用性。本文基于XML和标准E文件接口原理,结合通用的FTP传输机制解决了该项难题,成功实现了十万数据点规模,以30 s为周期的自动同步方法,同步流程如下图所示:
图3 OCSⅢ区实时库向OMS数据库平台同步数据原理图
首先在OCSⅢ区同步服务器上开发实时数据“分类导出程序” (EFileExportDaemon),将内存实时库中的大量数据点归类,并定期 (30 s)按固定格式 (由双方约定的XML规范)从实时库中导出生成14个E格式的文本文件,然后将所有分类生成的E文件打包,通过FTP传输到OMS的FTP服务器。
最后在OMS开发E文件解析程序和入库程序,按照双方约定的XML规范解析接收到的E文件,从文件读取实时数据写入数据库,完成两大系统之间的数据实时同步。
2.3 OMS内部按需获取数据方法
当实时数据从OCS同步到OMS数据库平台后,需要解决的是OMS内部各子模块、子系统如何按需获取数据的问题。由于各模块和子系统各自所需数据量相对要小得多,实时性要求也不尽相同。因此,按照OMS内部模块、子系统与电网运行管理系统平台耦合程度及实时性要求高低不同,设计了两种数据获取方式。
第一种,针对程序与运行管理系统平台本身深度耦合,实时性要求高的模块,直接开放数据库访问接口,由模块自行调用获取所需数据。
第二种,对于程序与运行管理系统平台耦合程度较低,实时性要求不高的子系统,直接开放数据库访问接口存在一定风险,同时由于它们实时性要求不高,所需数据量不大,因此完全可以通过WebService接口方式获取数据。
由于OCS安全Ⅲ区的 “分类导出程序”生成实时数据E文件周期为30 s,即生成下一个时刻的E文件之前,仅有30 s的时间调用FTP客户端将本次生成的E文件包传输到OMS FTP服务端。一旦网络出现拥塞或者FTP服务端出现响应延时,FTP客户端程序的返回时间超过30 s,将导致 “分类导出程序”错过下一个30 s生成E文件的时间点,最终致使网络异常时间内的所有同步数据将丢失,如图4所示。
图4 E文件传统同步流程图及时间要求
该问题在本文同步方法应用初期多次出现,根本原因是 “分类导出程序”在调用Linux FTP客户端程序执行传送任务时,FTP客户端程序的执行时间不可控。
为使 “分类导出程序”按时从内存实时库导出数据,首先应该考虑的就是把FTP客户端程序(Linux系统自带程序,无法干涉其内部运行)这个不可控因素分离出去。 “分类导出程序”不再考虑E文件传送的问题,仅负责按30 s时间周期生成E文件并完成打包。
E文件包的传输,使用Shell脚本以及FtpFS文件系统技术解决。FtpFS是一种支持将远端FTP服务器映射为本地文件系统目录的技术。最关键的是,映射之后可在本地通过标准文件系统API操控远端FTP服务端,这使得使用Linux Shell脚本控制E文件传输成为可能。
首先在OCSⅢ区同步服务器上基于CurlFtpFS (FtpFS技术的Linux实现)将OMS FTP服务端映射到本地文件系统目录,例如 “Trans”目录,对该目录的所有文件操作等同于对OMS FTP服务端的所有文件操作。然后通过Linux Shell脚本程序,一方面负责监控并维护CurlFtpFS保持在正常运行状态,一方面负责扫描 “分类导出程序”的输出路径,将其生成的E文件包加上时间戳并移动到“Trans”目录中,CurlFtpFS在底层自动把 Trans目录中的文件传输至FTP服务端,如图5所示。
网络故障仅会导致Trans目录不可访问,“分类导出程序”照常生成E文件保存在本地。网络恢复后,Shell程序会将未成功传输文件重新移动到Trans目录中完成传输。至此,将E文件的生成和FTP传输彻底独立,解决了因网络原因导致FTP延时影响E文件生成的问题。
图5 基于FtpFS与Shell脚本的FTP同步方案
本文提出的大规模电网运行数据实时同步技术,实现了以30 s为周期,单次10万点数据规模的跨安全区、跨系统同步。相比传统接口,周期缩短了30倍,数据量提升了20倍。同时,解决了因网络拥塞导致的数据丢失问题。由于该数据实时同步方法是一种通用方法,其原理和技术均可以移植到不同的同步场景中,可在公司各部门、供电局全面推广。
[1] 冯进,丁博,史殿习,等.XML解析技术研究 [J].计算机工程与科学,2009,31(2):120-124.
[2] 邓大为,李可,陆俊.基于CIM/E文件的电网全景建模技术研究 [J].广东电力,2013,26(11):49-53.
[3] 吕曦,王化文.Web Service的架构与协议 [J].计算机应用,2002,22(12):62-65.
Research on Real-time Synchronization Techniques of Large-scale Power Grid Operation Data
CHEN Ran
(Yunnan Electric Power Dispatch and Control Center,Kunming 650011,China)
In order to improve the instantaneity and stability of large-scale data transmission from Operation Control System to Operation Management System,in this paper,we put forward and realized a new large-scale data real-time synchronization method across different security areas and systems based on XML,E-File interface,WebService and FtpFS technologies.After we replaced the traditional method with the new one,instantaneity and stability of synchronization has been greatly improved.
operation control system;operation management system;real-time synchronization
TM76
B
1006-7345(2015)05-0024-03
2015-04-10
陈然 (1983),男,硕士,工程师,云南电力调度控制中心,从事调度自动化相关工作 (e-mail)crandy@foxmail.com。