陳然
(云南電力調度控制中心,昆明 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。