張學勇,韓 曉,李佳陽,孫云楓,鄒金良
(1.南瑞集團公司(國網(wǎng)電力科學研究院),江蘇南京211106;2.國電南瑞科技股份有限公司,江蘇南京211106)
基于可擴展架構的SVG圖形系統(tǒng)的設計與實現(xiàn)
張學勇1,2,韓 曉1,2,李佳陽1,2,孫云楓1,2,鄒金良1,2
(1.南瑞集團公司(國網(wǎng)電力科學研究院),江蘇南京211106;2.國電南瑞科技股份有限公司,江蘇南京211106)
著重闡述了以可縮放矢量圖形(SVG)為核心的可擴展架構的WEB圖形的設計和實現(xiàn)技術,研究和建立了基于SVG標準的電力系統(tǒng)的圖元庫和統(tǒng)一的SVG圖形發(fā)布格式。研發(fā)應用了跨語言接口調(diào)用的技術和跨語言結構化消息通信機制,研發(fā)應用了以服務器推送技術實現(xiàn)WEB畫面數(shù)據(jù)異步通信機制?;赟VG和可擴展的WEB圖形系統(tǒng),有效解決了模型信息動態(tài)刷新時對實時性要求高的問題,提升了WEB圖形應用于電網(wǎng)運行控制系統(tǒng)的水平,并在實踐中得到了應用。
SVG;可擴展架構;跨語言;服務器推送技術
電網(wǎng)運行控制系統(tǒng)發(fā)展的目標是保障電網(wǎng)安全穩(wěn)定運行[1],其中圖形系統(tǒng)是調(diào)度自動化系統(tǒng)的重要組成部分[2]。圖形化顯示作為人機交互的一部分和應用系統(tǒng)等集成在一起,但無法直接在WEB上發(fā)布??煽s放矢量圖形(SVG)的出現(xiàn)為電網(wǎng)控制運行系統(tǒng)的圖形數(shù)據(jù)在WEB上發(fā)布提供了一種開放性的解決方案[3,4],結合SVG特點,有效解決了電網(wǎng)圖形在WEB上發(fā)布的問題[5]。
1.1 設備圖元建模
電力系統(tǒng)的圖元設備在圖形系統(tǒng)中都用一致的圖標表示[7]。根據(jù)SVG的相關標準,使用
1.2 SVG圖形建模
引用預先定義的SVG圖元庫,建立SVG格式的圖形,用SVG的
圖1 開關圖元
圖形分平面模式在電網(wǎng)圖形支撐系統(tǒng)中被普遍使用,SVG通過
1.3 自動轉(zhuǎn)換SVG
電網(wǎng)控制系統(tǒng)的圖形描述語言是G語言規(guī)范[7],是應用于電力系統(tǒng)一種新型高效的圖形描述語言[8,9]。瀏覽器無法直接顯示基于G語言描述的圖形文件,需要設計SVG轉(zhuǎn)換程序,實現(xiàn)從圖形G文件轉(zhuǎn)換成SVG標準格式[10]。
本W(wǎng)EB圖形系統(tǒng)利用當前電力系統(tǒng)中的圖形模塊提供的標準接口獲取到設備圖元的位置和應用屬性,實現(xiàn)了從CIM/G圖形文件到SVG文件的轉(zhuǎn)換,轉(zhuǎn)換流程如圖2所示。
圖2 自動生成SVG流程圖
本W(wǎng)EB圖形系統(tǒng)基于上述建立的SVG圖形模型,將CIM/G圖形文件轉(zhuǎn)換為SVG標準圖形。圖3給出一個基于SVG的WEB圖形系統(tǒng)的可擴展的設計方案。
圖3 WEB圖形系統(tǒng)的結構模型
設計方案分為三層設計,分為前端層、WEB服務層和應用服務層。WEB圖形系統(tǒng)的數(shù)據(jù)來自應用服務層,圖形展示數(shù)據(jù)來自于WEB服務層。本圖形系統(tǒng)在以下方面進行了改進:
(1)實現(xiàn)了WEB服務器與應用服務器分布式部署的技術,配置WEB集群和應用服務器集群,在大并發(fā)量訪問情況下,可單獨對WEB服務器或應用服務器進行擴展。
(2)實現(xiàn)了跨語言接口調(diào)用技術,在WEB服務層(Java)直接調(diào)用應用層(C++)的接口,直接獲得應用層的運行數(shù)據(jù)。
(3)采用了一種跨語言序列化消息通信技術,實現(xiàn)了在WEB服務層與應用層之間能直接傳輸較復雜的結構體參數(shù)。
(4)實現(xiàn)了服務器數(shù)據(jù)推送技術,WEB服務層能感知到服務器上數(shù)據(jù)變化,并把這種變化狀態(tài)主動通知到客戶端。
3.1 應用分離部署技術
WEB服務器和應用服務器各作為獨立的集群發(fā)布,WEB服務器對外提供一個統(tǒng)一的發(fā)布地址,集群內(nèi)部做負載均衡管理。WEB圖形系統(tǒng)的數(shù)據(jù)刷新的流程如圖4所示。首先客戶端發(fā)起數(shù)據(jù)請求,然后WEB服務層通過資源管理服務,定位應用主機服務器,最后把獲得的主機服務器數(shù)據(jù)發(fā)送到客戶端,以后當數(shù)據(jù)有變化時,WEB服務器會主動把數(shù)據(jù)推送到客戶端。
3.2 跨語言接口調(diào)用技術
本圖形系統(tǒng)基于JNI(Java Native Interface)框架[11]實現(xiàn)了WEB圖形系統(tǒng)接口與應用服務器數(shù)據(jù)接口的映射,這樣就可以在WEB服務層直接調(diào)用應用層的接口。實現(xiàn)步驟如下:
(1)先定義公共的Java類,定義滿足JNI規(guī)范的公共的Java接口聲明。
圖4 應用數(shù)據(jù)獲取流程
(2)用Java平臺提供的生成頭文件命令自動生成目標語言聲明的頭文件。
(3)根據(jù)生成的目標語言的頭文件,定義相應的函數(shù)實現(xiàn)體,最終編譯成可以被調(diào)用的目標平臺的動態(tài)庫。
3.3 跨語言結構化通信技術
為了降低消息通信中的網(wǎng)絡帶寬和提高消息體解析的簡便性,WEB圖形系統(tǒng)研究采用了ProtocolBuffer作為服務層之間消息通信的數(shù)據(jù)格式,下面以WEB圖形系統(tǒng)中動態(tài)著色的顏色消息為例介紹跨語言結構化通信技術的具體實現(xiàn)。
(1)分析并確定著色消息的結構體,結構體中定義了線色、填充色、是否閃爍等信息。消息結構體示意如圖5所示。
圖5 消息結構
(2)用ProtocolBuffer提供的基本類型描述消息結構體,文件描述內(nèi)容如圖6所示。
圖6 Proto結構定義
(3)最后把proto文件編譯成目標語言描述文件。經(jīng)ProtocolBuffer序列化后的二進制信息非常緊湊,消息的體積小,被人截獲后無法被人直接讀取編輯。這種特性應用在WEB圖形系統(tǒng)上能防止消息被篡改、被泄露的安全風險,提升了WEB圖形系統(tǒng)的可靠性和安全性[12]。
3.4 數(shù)據(jù)推送技術
本W(wǎng)EB圖形系統(tǒng)基于Atmosphere框架實現(xiàn)了圖形數(shù)據(jù)推送功能,WEB圖形系統(tǒng)的推送架構如圖7所示。
圖7 推送架構
主動推送技術是一種旨在提供富互聯(lián)網(wǎng)應用,改善B/S結構應用的用戶體驗。
WEB圖形直觀地顯示出電網(wǎng)運行控制系統(tǒng)的運行狀態(tài),讓使用者能夠方便快捷地了解當前電網(wǎng)運行控制系統(tǒng)的運行狀態(tài)。當前基于SVG實現(xiàn)的WEB圖形按照預定義電壓等級的顏色顯示。當根據(jù)拓撲分析結果時,將帶電的設備和線路高亮顯示,不帶電的統(tǒng)一顯示一種顏色。當設備狀態(tài)變化時,WEB圖形會根據(jù)新的拓撲分析顏色重新渲染。SVG支持在輸電線路上疊加箭頭顯示潮流,其中箭頭方向?qū)绷髯呦?,SVG支持動畫能夠使這些箭頭形成流動效果。
廣東中調(diào)OCS系統(tǒng)WEB圖形系統(tǒng)發(fā)布的圖形如圖8所示。
圖8 WEB圖形廠站圖
本文建立了可擴展的面向電網(wǎng)運行控制系統(tǒng)的WEB圖形架構,并應用了最新的計算機發(fā)展技術實現(xiàn)了WEB圖形結構,采取了靈活的平面顯示策略,滿足了多種應用的顯示需求。目前該圖形系統(tǒng)已經(jīng)在工程項目中應用,完全滿足電力調(diào)度對WEB圖形的多種需求。(1)數(shù)據(jù)報文采用序列化二進制方式傳輸,保證了數(shù)據(jù)的安全性,減小了數(shù)據(jù)傳輸?shù)膸捳加?;?)可擴展的結構方式,可單獨擴充WEB服務器或應用服務器;(3)數(shù)據(jù)推送技術實現(xiàn)了數(shù)據(jù)的實時刷新。
[1]姚建國,楊勝春,高宗和.電網(wǎng)調(diào)度自動化系統(tǒng)發(fā)展趨勢展望[J].電力系統(tǒng)自動化,2007,31(13):7-11.
[2]蔣元晨,潘正玨.電力管理信息系統(tǒng)中圖形的Web發(fā)布[J].電力系統(tǒng)自動化,2003,27(18):61-64.
[3]郭創(chuàng)新,齊 旭,朱傳柏,等.基于SVG的電力調(diào)度圖形支撐平臺設計與實現(xiàn)[J].電力系統(tǒng)及其自動化學報,2007,19(2):28-33.
[4]黃華梅,楊信廷,楊寶祝,等.基于 AJAX和SVG的組態(tài)軟件Web發(fā)布模型[J].計算機工程與設計,2010,31(11):2629-2633.
[5]孫 虹,李昆明,王 林,等.基于WEB的省級能效管理平臺的設計與應用[J].江蘇電機工程,2014,33(2):48-51.
[6]沈劍云,孫利超,劉子英.基于SVG的SCADA圖模庫一體化系統(tǒng)的研究[J].工業(yè)控制計算機,2008,21(12):27-28.
[7]李 偉,辛耀中,沈國輝,等.基于CIM/G的電網(wǎng)圖形維護與共享方案[J].電力系統(tǒng)自動化,2015,39(1):42-47.
[8]李亞平,姚建國,黃海峰,等.SVG技術在電網(wǎng)調(diào)度自動化系統(tǒng)中的應用[J].電力系統(tǒng)自動化,2005,29(23):80-82.
[9]敖麗敏,李林輝.基于AJAX的電力圖形系統(tǒng)的實現(xiàn)[J].電力系統(tǒng)自動化,2007,31(9):47-81.
[10]何 巖.基于AJAX/SVG的EMS Web監(jiān)視系統(tǒng)的研究[D].成都:西南交通大學碩士研究生學位論文,2005.
[11]米 洪,鄭 穎.基于SOCKET和JNI的Java與C++通信對比研究[J].軟件導刊,2009,08(1):71-72.
[12]邊 玲,仲學飛.壓縮技術在實時信息系統(tǒng)中的應用[J].電力系統(tǒng)通信,2009,30(198):41-44.
Design and Implementation of SVG Graphics System Based on Extensible Architecture
ZHANG Xueyong1,2,HAN Xiao1,2,LI Jiayang1,2,SUN Yunfeng1,2,ZOU Jinliang1,2
(1.NARI Group Corporation(State Grid Electric Power Research Institute),Nanjing 211106,China; 2.NARI Technology Development Co.Ltd.,Nanjing 211106,China)
The paper emphatically elaborated the design and implementation technology of WEB graphics based on extensible architecture with SVG(Scalable Vector Graphics)as the core.To realize the technology,power system graphics library and unified SVG graphics publishing format were studied and set up based on the SVG standard.Besides,the R&D applied interface call technology and structured message communication mechanism across different languages.What's more, asynchronous communication mechanism of WEB graphical data was achieved based on server pushing technology.The SVG and scalable WEB graphics system help effectively solve the problem of strict requirement for real-time performance when the model information is dynamically refreshed,improving the level of WEB graphics applied to power grid operation control system.Now the SVG and scalable WEB graphics system has been applied in practice.
SVG;extensible architecture;across different languages;server pushing technology
TM76
A
1009-0665(2016)06-0079-03
張學勇(1983),男,江蘇興化人,工程師,從事電網(wǎng)調(diào)度自動化系統(tǒng)的開發(fā)與研究工作;
韓 曉(1982),男,山東泰安人,工程師,從事電網(wǎng)調(diào)度自動化系統(tǒng)的開發(fā)與研究工作;
李佳陽(1983),女,江蘇連云港人,工程師,從事電網(wǎng)調(diào)度自動化系統(tǒng)的開發(fā)與研究工作;
孫云楓(1974),男,江蘇靖江人,高級工程師,從事電網(wǎng)調(diào)度自動化系統(tǒng)的開發(fā)與研究工作;
鄒金良(1985),男,江蘇鹽城人,工程師,從事電網(wǎng)調(diào)度自動化系統(tǒng)的開發(fā)與研究工作。
2016-08-01;
2016-09-18