?

能量管理系統服務子系統WebS的設計

2011-07-03 07:05薛蕾
電力工程技術 2011年4期
關鍵詞:瀏覽器文檔子系統

薛蕾

(江蘇省電力公司電力科學研究院,江蘇 南京 211103)

在能量管理系統中,服務子系統WebS是1個極其重要的子系統。電力系統軟件規劃者人為地將能量管理系統劃分并要求部署在3個安全分區中[1]。其中Ⅰ區作為實時運行信息區,安全要求級別最高。Ⅲ區作為安全級別更低的安全區域,部署服務子系統WebS,進行信息的發布以及與其他非實時應用的信息交互。從1990年代開始,各個能量管理系統都已具備各自的Web服務功能,并且不斷發展。期間對如何設計與開發好服務子系統WebS發生過多次的技術爭論,實現方法在各具體產品中也有相當大的區別,其展現效果也有巨大的差異。這些方法大都由于當時的計算機技術,包括通信技術、瀏覽器技術等的限制,都或多或少地存在一些缺陷。近年來,先進的計算機技術不斷涌現,技術環節的銜接手段與方法也在不斷改進,為改進能量管理系統服務子系統WebS的設計提供了可能。

1 WebS的架構模式

1.1 基于C/S模式下的Web架構

基于C/S模式的Web客戶端采用各種高級語言進行編寫,編譯后通過文件發布服務將程序發布并更新到客戶端。用戶直接使用發布到客戶端的執行程序進行瀏覽與操作。Web的信息發布功能可根據要求靈活配置,比如圖形瀏覽、曲線查詢、告警瀏覽、報表查詢等功能均可通過Web的更新發布機制提供給客戶端。如圖1所示,Web服務器上需要部署基本的網頁發布服務、實時數據服務、歷史數據服務和網絡通信服務等基本服務程序。Web客戶端通過網頁發布機制將相關程序和資源緩存到本地,再通過主網頁提供相關模塊的鏈接進行程序的調用。由于客戶端直接采用現有的圖形程序進行部署,所以原有的實時數據服務、歷史數據服務、告警查詢服務等都可以直接使用。

圖1 基于C/S模式的Web架構

1.2 基于B/S模式下的Web架構

基于B/S模式的Web架構與基于C/S模式的Web架構不同,其主要利用瀏覽器對腳本語言的支持能力,實現瀏覽器與服務器之間的HTTP請求與響應,將大量的應用邏輯處理放在服務器端進行處理。相對于C/S模式而言是一個非常輕量級的客戶端展示方式。

B/S模式下最簡單的Web應用程序模型為同步模型,即輸入數據,發送頁面到服務器,等待響應,如圖2所示。這里存在著2個基本的問題:一是必須等待服務器的響應;二是服務器不能發起更新。

圖2 基于B/S模式的Web同步模型

為此,異步模型則更加吸引人。在異步模型中,應用程序不會讓所有的客戶端操作響應都回到服務端去處理,而是部分變化由客戶端處理,部分響應由服務端處理的技術方法。這個模型中所交互的網頁即不是所有信息的全集,也不是僅有顯示的部分頁面,在使用過程中,只有包含新信息的用戶界面元素才會被更新,其余部分都保持不變。這就意味著不需要發送全部的信息,不需要長時間等待響應,如圖3所示。

圖3 基于B/S模式的Web異步模型

1.3 Web架構模式選擇

基于C/S模式的服務子系統WebS可以實現作為一個服務子系統WebS所要實現的各項基本功能要求,包括圖形瀏覽、告警查詢、報表瀏覽等功能。而且由于采用實時系統的應用程序直接作為Web客戶端程序發布,其功能非常的強大且交互性強。但是基于C/S結構的方式有明顯的缺點。

(1)客戶端需要下載。對于每一個客戶端,都需要下載客戶端程序和相關的配置與圖形文件到本地。這一過程會導致一些問題:①下載時間長;②對磁盤空間有要求,在某些系統上需要500 MB甚至1 GB以上的空間;③磁盤上的文件一旦下載,清除困難,導致存在垃圾文件;④可能存在安裝失敗的情況,異常處理復雜。

(2)程序更新復雜。任何的修改都需要向客戶端進行發布,部分發布就有可能帶來匹配問題

(3)客戶端軟件沖突。當同一客戶端瀏覽多個Web服務器可能會發生客戶端軟件沖突。

(4)對瀏覽器安全策略有要求。由于需要允許下裝控件,要求瀏覽器降低安全權限和可信站點進行配置,不符合安全防護的功能要求,同時也要求使用Web客戶端的使用者需要手動的進行操作,增加了技術支持人員的工作量。

(5)網絡設備需要維護。網絡上要開放數個通信端口以供應用程序通信。而由于系統中網絡結構往往比較復雜,跨越多個交換機和路由器的情況時有發生,一旦出現訪問異常,很難確定是問題原因。且隨著安全防護要求的不斷增加,開放的端口越少越好。

(6)對網絡帶寬要求比較高。由于使用客戶端程序直連,為加快操作與交互的速度,大量初始信息會提取到客戶端進行邏輯分析,而非最終的結果發布,導致對網絡帶寬的要求增加。

(7)對服務器性能要求比較高。由于每一個客戶端的登陸、瀏覽都要消耗服務器一些資源,導致服務器的負載較高。因此C/S客戶端方式支持的在線人數不多。

①志愿助人服務:門診服務中心、門診各樓層志愿者負責協助病人自助掛號、繳費、打印化驗單;急診分診處志愿者負責維護醫療工作秩序;門診B超室志愿者負責協助醫務人員登記,分流引導病人及家屬到相應就診樓層和診室檢查。②志愿關懷服務:積極為殘疾、老年、體弱、行動不便及其他特需病人、外國友人等提供諸如攙扶、陪同、輪椅、拐杖、平車協助的優質服務;幫助危重癥、老年、體弱病人辦理住院手續并陪送至病房;主動、熱情地為病人及家屬提供指路、引導服務。③志愿環衛服務:維持安靜、清潔、整齊、安全、良好的醫院環境;協助護工清理病人就診途中的分泌物、排泄物、嘔吐物等,為病人提供舒適、優質的醫療服務。

正是由于基于C/S模式的服務子系統WebS存在著種種的缺陷,新的服務子系統模式的研究就顯得十分重要。需要解決的問題:(1)下載內容盡量少,甚至零下載,即不落地的Web;(2)開放端口盡量少,最好只開放標準的8000端口;(3)服務器資源占用量盡量少,允許更多的訪問用戶;(4)客戶端對服務器的訪問相對獨立,即一個客戶端可瀏覽多個Web服務器上的內容;(5)客戶端是免維護的。

而基于B/S模式的服務子系統WebS正好在這方面具有得天獨厚的優勢。其客戶端包含HTML頁面和嵌入的腳本,這些內容是不落地的;正常瀏覽僅需開發一個標準的HTML端口(8000)或一個指定發布端口;服務器可以采用Servlet容器支持并發的頁面訪問,效率極佳;客戶端對服務器的訪問完全對立,一個客戶端可以任意瀏覽多個Web服務器的內容,而且客戶端是免維護的。但是基于B/S模式的服務子系統WebS依賴HTML頁面的展現和嵌入的腳本處理能力,其功能和交互特性與C/S模式下的客戶端相比要遜色不少。

2 異步模型構架技術方案

如前所述,基于B/S模式的Web構架較基于C/S模式的Web構架具備很多的優勢,而W3C發布的SVG語言規范,以及異步模式技術Ajax(Asynchronous JavaScript and XML)為構建這種架構的服務子系統提供了技術支撐?;谶@一思考,研究設計基于B/S模式的適合電力能量管理系統使用的服務子系統WebS架構方案。在本方案中,SVG/XML是信息的主要載體,而HTTP服務器的搭建與Ajax技術的使用則是本設計方案的主要研究內容。

基于B/S模式的Web異步模型有3個重要的環節,如圖4所示。(1)Web服務器側的HTTP服務器的搭建與服務提供;(2)瀏覽器側的展示技術。(3)異步腳本通信與頁面更新。

圖4 基于B/S模式的服務子系統WebS構架

2.1 瀏覽器展示技術

SVG的開放性、高效性、靈活性、可擴展性和可交互性等多方面特性使其具備了成為該系統中承載模型與圖形表達以及交互展示的能力[2]。SVG將矢量圖形的表達技術引入,使SVG文件很小,下載瀏覽更加便捷,而且采用客戶機本地解釋生成圖形的方式,既充分利用了客戶機的資源,又減輕了服務器端的負擔,可以解決網絡瓶頸問題[3-5]。由于SVG是解釋性語言,所以在瀏覽時遇上很大的圖形文件,可以以圖形元素為單位,接收多少,顯示多少,類似與JPEG的漸進顯示。SVG/XML既是一種語言,也是一種技術。作為一種語言,它具有易讀、可校驗、方便修改等特性;作為一種技術,它為計算機領域提供了一種標準化的信息載體,方便地進行信息的共享與交互[6,7]。加之大量業界廠商對SVG/XML作為主流格式的文本載體進行支持,大大擴展并提高了其解析能力、校驗能力、傳輸能力。

2.2 異步腳本通信設計

服務子系統WebS利用Ajax完成請求發送并取回必需的數據,并在客戶端采用JavaScript處理來自服務器的響應。因為在服務器和瀏覽器之間交換的數據大量減少,應用響應得更快。同時很多的處理工作可以在發出請求的客戶端機器上完成,所以Web服務器的處理時間也減少了。此方案的最大優點,就是能在不更新整個頁面的前提下維護數據。這使得WebS的客戶端更為迅捷地回應用戶動作,并避免了在網絡上發送那些沒有改變過的信息。

服務子系統WebS利用JavaScript來傳遞用戶界面上的數據到服務端并獲取結果。XMLHttpRequest對象用來響應通過HTTP傳遞的數據,一旦數據返回到客戶端就可以立刻使用DOM將數據修改到基于SVG的網頁上。XMLHttpRequest對象在大部分瀏覽器上已經實現而且擁有一個簡單的接口允許數據從客戶端傳遞到服務端,但并不會打斷用戶當前的操作。使用XMLHttpRequest傳送的數據可以是任何格式,而在本文的研究設計中采用了基于XML的SVG數據格式。

2.3 動態更新網頁畫面

前端展示的圖形頁面選擇SVG作為嵌入對象,在載入靜態畫面后,需要結合實際應用系統的數據變化進行網頁畫面的動態更新。如前所述,其數據請求由JavaScript腳本函數通過XMLHttpRequest對象組織發出,當數據返回后,數據的刷新依賴則是文檔對象模型DOM來完成。

DOM可以看作是一組應用程序接口API,它把HTML文檔、XML文檔等看成一個文檔對象,在接口里面存放的是對這些文檔操作的屬性和方法的定義,若編程語言實現了這些屬性和方法,就可以對文檔對象中的數據進行存取,并且利用程序對數據進行進一步的處理。由于DOM是基于信息層次的,因而DOM被認為是基于樹或基于對象的。通過DOM接口,應用程序可以是任何時候范圍XML文檔中的任何一部分數據。SVG也是基于XML的,所以與DOM也有著密切的關系。

服務子系統WebS即通過操縱SVG DOM來與SVG圖形進行交互。當瀏覽器利用DOM載入了SVG文件后,就會在內存中按照SVG DOM構造一棵節點樹。通過遍歷DOM樹,可以獲取畫面的請求數據集,并通過異步數據訪問進行實時數據的獲取。在數據返回后,利用DOM將解析的數據內容逐個的更新修改節點樹上的相應節點,實現畫面數據的動態刷新、狀態著色、電氣島著色等展示功能,讓靜態的圖形動起來。具體流程如圖5所示。在這一過程中,所有的軟件操作都是基于內存中的DOM節點樹,原始的SVG文件不會發生任何變化。

圖5 SVG數據轉換流程

2.4 數據刷新服務

對動態數據(如:量測量等)的處理,可以利用DOM(文檔對象模型)接口操縱SVG文檔來實現數據的動態刷新。通過腳本語言定時調用文檔對象模型的接口,獲得畫面上所有元素及其屬性和屬性值,通過DOM方式將整個XML表述的SVG格式的圖形文件映射到內存中。內存中每個對象中屬性值的變化可以通過訂閱機制向服務端定制。

例如開關設備的動態變化可以通過JavaScript腳本來實現。(1)申明g_svgDoc為SVG的文檔對象,g_svgRoot為根節點;(2)定位到指定的節點;(3)修改use節點的屬性,引用該節點的不同狀態。

類似的,動態數據也可以進行修改。(1)申明g_svgDoc為SVG的文檔對象,g_svgRoot為根節點;(2)定位到指定的節點;(3)修改文本節點的值。通過這些步驟就可以簡單地表達對指定節點進行的修改。

數據的獲取則是實現的另一個關鍵。目前采用了Ajax技術來實現。比如上述SVG文件可以通過如下步驟來獲取數據。(1)創建Ajax請求對象;(2)將所有的key_id信息拼接起來字符串方式發送給SvgDataServlet程序。數據信息的請求發給服務器端的 Java Servlet程序 (SvgDataServlet), 該程序在doPost方法中負責解析請求,并進一步將key_id通過CORBA發送給后臺服務獲取系統數據,數據獲取之后返回給Web客戶端,客戶端收到結果之后自動調用回調函數進行數據的刷新。以上的處理流程如圖6所示。

圖6 數據刷新的處理流程

3 結束語

本文針對基于C/S模式與基于B/S模式構架進行服務子系統WebS的搭建進行優缺點比較,發現實現一套基于B/S模式架構的服務子系統WebS顯得尤為重要。且利用多種計算機技術提出并實現了一套完整的基于B/S模式架構的設計方案。首先,對服務子系統WebS的系統架構進行分析,并對幾種常用的系統設計模式進行比較,提出了基于B/S模式架構實現服務子系統WebS的設計方案。其次,通過選取Servlet容器技術搭建HTTP服務,以W3C標準SVG作為前端展示語言與格式,并利用Ajax技術實現客戶端與服務器的通信,從而建立瀏覽器與服務器之間的異步訪問模型。最后,結合異步訪問模型,建立服務子系統WebS的服務實現機制,對前端展示所必須的數據刷新服務、事件響應等進行了詳細的研究設計。

[1]蔣元晨,潘正鈺.電力管理信息系統中圖形的Web發布[J].電力系統自動化,2003,27(18):61-64.

[2]秦 華,高毅雄,王康元.能量管理系統中圖形SVG導出的實現[J].繼電器,2006,34(8):70-72.

[3]黃凱偉.SVG開發實踐[M].北京:電子工業出版社,2008.

[4]李亞平,姚建國,黃海峰,等.SVG技術在電網調度自動化系統中的應用[J].電力系統自動化,2005,29(23):80-82.

[5]劉 嘯.基于XML的SVG應用指南[M].北京:北京科海電子出版社,2001.

[6]石東源,盧炎生,王星華,等.SVG及其在電力系統軟件圖形化中的應用初探[J].繼電器,2004,32(16):37-40.

[7]劉遵雄,況志軍,高玉柱.基于SVG的電力圖形系統的實現[J].繼電器,2005,33(21):69-73.

[8]阿斯利森,舒 塔.Ajax基礎教程[M].金 靈譯.北京:人民郵電出版社,2006.

猜你喜歡
瀏覽器文檔子系統
不對中轉子系統耦合動力學特性研究
淺談Matlab與Word文檔的應用接口
有人一聲不吭向你扔了個文檔
GSM-R基站子系統同步方案研究
反瀏覽器指紋追蹤
駝峰測長設備在線監測子系統的設計與應用
基于RI碼計算的Word復制文檔鑒別
環球瀏覽器
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
車載ATP子系統緊急制動限制速度計算
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合