服務器設計實現分析論文
時間:2022-06-21 07:01:00
導語:服務器設計實現分析論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:針對傳統Web技術路線方案用于構造變電站自動化系統中Web服務器存在的困難,提出應用嵌入式技術開發變電站自動化系統中嵌入式Web服務器的基本思想。本文結合變電站監控系統產品開發實例,介紹了嵌入式Web服務器的功能,給出了系統基于三層B/S結構的瘦Web服務器體系結構,詳細闡述了嵌入式Web服務器實現的一些關鍵技術,包括:采用自定義數據點標記使得網頁設計與服務器程序分離,系統具有靈活性和可擴展性;提出數據點基于“點”和基于“面”的雙重復用技術,滿足嵌入式Web服務器有限資源約束;集成嵌入式JavaApplet和javascript實現中間機制,解決了變電站自動化系統中大量數據點實時動態刷新的問題;采用PPP鏈路提供遠程訪問接入服務和發送電子郵件等。變電站自動化系統這種基于嵌入式Web服務器的遠程監控維護方式將有效降低系統監控運行維護成本、提高監控運行維護效率,因而具有很大的應用前景和推廣價值。
關鍵詞:嵌入式Web服務器;變電站自動化系統;自定義標記;數據點復用;嵌入式Java;PPP
中圖分類號:TM77;TP393
0引言
Internet網絡技術應用于變電站自動化領域將導致該領域傳統運行維護模式的一場變革:將Web服務器“植入”變電站自動化系統后接入Internet,在世界上任何一個地方即可通過網絡瀏覽器從Internet獲取該Web服務器的系統實時信息,進而實現遠程實時控制、調節與維護;并且,這種基于HTML標準化的Web用戶界面降低了為不同操作平臺而定制人機界面的開發費用、通信費用、人員培訓費用和系統升級維護費用。顯然,變電站自動化系統這種基于Web的遠程監控維護方式將克服傳統本地監控維護方式[1]存在的低效率、高成本的缺陷。
但是,傳統的Web技術路線方案[2,3]不能直接用于構造變電站自動化系統中的Web服務器。傳統Web服務器以具有高運算處理能力和海量存儲容量的工作站或PC機為硬件工作平臺,以非實時操作系統為軟件工作平臺,其上運行的是大型復雜的服務器程序,典型的如基于WindowsNT的IIS(InternetInformationServer)、基于Unix的ApacheWebServer等,服務器的這種高檔配置方案對于大量使用8位、16位或32位單片機的變電站自動化系統而言是不現實的要求。
基于嵌入式技術[4,5]的嵌入式Web服務器的出現為解決以上問題開辟了一條嶄新途徑。嵌入式Web服務器以8位、16位或32位單片機為硬件工作平臺,以嵌入式實時多任務操作系統(RTOS)為軟件工作平臺,其上運行小型精簡的服務器程序。已有嵌入式Web服務器的成功開發案例主要集中于通信領域中的路由器、交換機、網絡視頻監控等產品,這類產品的共同特征是監控數據點較少,而變電站自動化領域中的嵌入式Web服務器需要處理的是大批量的采集監控點,目前這方面的研究報導甚為少見。
本文以開發煙臺東方電子高壓變電站綜合自動化監控系統DF3600中嵌入式Web服務器的項目實踐為例,闡述應用嵌入式技術開發變電站自動化系統中嵌入式Web服務器的一般性設計方法和一些關鍵實現技術。
1系統功能需求分析
主要包括以下七個方面。
1.1實時數據與歷史數據動態功能
實時數據包括遙測、遙信、電度、時鐘信息等,歷史數據包括事項信息、保護動作信息等。嵌入式Web服務器將實時數據和歷史數據以網頁形式到Internet網上,且動態實時刷新,遠方客戶通過接入Internet瀏覽該服務器的高壓監控系統實時信息。
1.2參數設置功能
參數包括運行參數和設備狀態參數,如遙測、遙信、電度的初始值、整定系數、滿度值等。Web服務器接收到遠方客戶提交的參數設置請求后執行參數寫入操作。
1.3遠程實時控制功能
控制功能包括遙控、遙調、同期操作和定值切換。Web服務器接收到遠方客戶提交的控制操作請求后,下發控制命令驅動監控系統中相應的執行機構。
1.4文件下載與上傳功能
下載和上傳的文件是指系統、模塊和端口的配置信息參數文件。下載功能是將參數文件從Web服務器方下載到客戶方,上傳功能是將參數文件從客戶方上傳至Web服務器方。
1.5電子郵件告警(SMTP)功能
電子郵件告警功能用于當變電站設備運行出現異常時,Web服務器通過Internet自動發送電子郵件,及時通知管理人員進行設備維護。此外,在系統正常運行期間,還可以根據用戶設置,定期向指定的E-mail信箱發送變電站自動化系統運行日志。
1.6訪問級別設置與權限認證功能
訪問級別設置不僅提供傳統的“基于頁面”方式,而且提供靈活的“基于對象”方式,單個設備、數據采集點均可成為“對象”,這樣同一頁面不同重要等級的數據點可被設置為不同的訪問級別,只有權限不低于設備要求訪問級別的客戶經Web服務器認證后方可進行其權限范圍內的監控操作。
1.7PPP撥號上網功能
Web服務器通過PPP(PointtoPointProtocol)撥號方式接入Internet提供遠程訪問服務。
2系統設計
2.1系統體系結構
圖1系統體系結構
嵌入式Web服務器的PC網關體系結構[6]作為現有變電站自動化系統網絡化的手段或許可以接受,但從嚴格意義而言,這不是真正意義上的嵌入式Web服務器,且因此而添加購置的PC機網關提高了系統的整體造價成本。由嵌入式系統自身實現Web服務器功能是真正意義上的嵌入式Web服務器,但若使系統中每一臺嵌入式設備都具備Web服務器功能,一則Internet通信協議簇要求CPU的運算速度和存儲器的存儲容量較高,導致系統造價成本大幅度提高,再則每臺嵌入式設備成為Web服務器接入Internnet也無必要。因此較為合理的體系結構方案是:系統中一臺配置較高的嵌入式設備完成嵌入式Web服務器功能,其它配置較低的嵌入式設備完成數據采集和控制功能。
本監控系統即是基于以上思想構建而成,其分層分級分布式體系結構如圖1所示,系統由一臺通信處理裝置(CPU為32位的IntelX86系列單片機)、若干臺分布的測控保護裝置(CPU為32位的M68332單片機)組成,各裝置間以現場總線CAN、FDKBus或工業以太網互聯。通信處理裝置采用分層分級模塊化結構,Web服務器嵌入其中,主要完成的功能包括:通過現場總線或以太網收集各測控保護裝置的采集信息并向Internet,接收Internet上的遠程客戶提交的配置控制命令后下發給測控保護裝置執行。
2.2嵌入式Web服務器的體系結構
如圖2所示,嵌入式Web服務器為基于三層B/S結構的瘦Web服務器。其中,HTTPServer和Client間的通信協議采用HTTP1.1,嵌入式實時多任務操作系統pSOS提供TCP/IP協議支持,編程接口為BerkerlySockets4.3,HTTPServer與DatabaseServer間的交互接口為CGI(CommonGatewayInterface)。整個嵌入式Web服務器程序采用ANSIC編寫,HTML頁面的制作采用MicrosoftFrontpage2000,系統主頁面如圖3所示。
3系統實現關鍵技術
3.1自定義數據點標記
網頁只提供文件鏈接功能,欲在網頁中顯示變電站自動化系統中大量的實時數據,常規方法是將HTML代碼直接集成到程序代碼中,如,或者反之將C程序代碼集成到HTML標記語言中,這兩種方法均要求開發人員對HTML標記語言的語法細節非常熟悉,且網頁界面或程序結構的單方面調整都將導致整個系統全盤修改,系統不具靈活性與可擴展性。
網頁描述語言HTML的精髓在于該語言的“標記”性,各種不同的標記如的具體含義是由Web服務器和Web瀏覽器進行解析,因此,當現有即定標記不能滿足新的應用需求時,不妨自行定義新的標記,只需自己的Web服務器將自定義標記解析為標準標記,然后傳送給標準Web瀏覽器解析成的Web頁面即可。
基于以上思想,本系統中定義數據點標記用于在網頁中嵌入動態實時數據,再定義如圖4所示的數據字典。運行時當客戶端發出查看實時數據“GETMethod”請求后,嵌入式Web服務器將相應HTML文件從電子盤加載到內存進行逐項解析,辯識出標記后,從數據字典中查找該標記對應的Get_Handler指針,用Get_Handler返回的該標記對應的數據點當前值置換
圖3系統主頁
HTML文件流中的標記,全部解析過程完成后,嵌入式Web服務器將解析結果通過HTTP協議發送給客戶端,經客戶端的Web瀏覽器解析后變為Web頁面呈現在客戶端面前。以上過程為實時數據查看的實現機制,參數設置和遠程實時控制的實現機制基本類同,所不同的是,客戶端發出的是“POSTMethod”請求,服務器在數據字典中查找的是“Set_Handler指針”。
以上分析表明,通過自定義數據點標記實現變電站自動化系統Web頁面中實時數據點的動態顯示和控制,動態數據的網頁嵌入設計與動態數據的Web服務器處理程序得以分離,處于一種弱耦合關聯狀態,這樣,網頁界面的調整不會影響Web服務器的程序設計,Web服務器程序的修改也與網頁界面設計無關,整個嵌入式Web服務器設計具有了靈活性和可擴展性。
3.2數據點復用技術
本系統中測控裝置和保護裝置最大配置為255個,每個裝置中的遙測、遙信、電度等采集點又分別最多可達96路,若每個裝置對應一個頁面,裝置中的每一個數據點對應該Web頁面中的一個,勢必導致系統中所有Web頁面文件個數和每個Web頁面文件大小趨于無窮。對于以有限資源約束為主要特征的嵌入式系統而言,這種Web頁面設計方案不具可行性。
解決方法之一是采用復用技術,提出“基于點”和“基于面”的雙重復用技術。以綜合測控裝置的遙信點為例,系統中所有綜合測控裝置共用同一Web頁面,該頁面中的所有遙信點共用一個數據點標記
其中,為帶參數的自定義標記,用于循環控制,數據點標記表示該裝置中的遙信點個數。運行時當嵌入式Web服務器辯識至,該標記將被解析為二維數組變量MsYxVal[devNo][ptNo],其中:devNo為該遙信點所在DF3670類型裝置的設備序號(可理解為頁面號),devNo由URL中QueryString提交,限于HTTP協議的無狀態記憶性,提交后的devNo由HTML文件中的FormHiddenElement記憶;ptNo為該遙信點在裝置中的遙信點序號(可理解為點號),ptNo值表征循環標記REPEAT中當前的循環次數。此后,服務器將devNo和ptNo作為參數傳給MsYxVal所在數據頁面中的Get/Set_Handler函數進行處理,得到返回值置換標記。
采用以上數據點雙重復用技術后,系統總Web頁面文件個數為16,最大Web頁面文件大小為5KB。
3.3嵌入式JavaApplet與javascript
HTML頁面技術只提供基于頁面的瀏覽刷新機制,這一機制用于顯示只需動態刷新數據點的頁面時存在閃爍缺陷,解決的方法是采用Java技術[7]。Java以其平臺無關性、可下載性、動態性而成為一種優秀的Internet編程語言,但將Java直接用于嵌入式系統存在以下問題:(1)Java虛擬機JVM腳本相對存儲資源有限的嵌入式系統過于龐大;(2)由于HTTP協議的無狀態性,WebServer為響應多個JavaApplet周期性的刷新請求被迫反復的創建再刪除TCP堆棧,當請求周期足夠短時,根據Heisenberg原理,有限資源的嵌入式系統的CPU將很快達到其處理能力的極限。因此,從這一角度而言,嵌入式系統中允許使用的Applet個數是有限的,但這一限制這對于有大量數據點需實時動態刷新的變電站自動化系統而言是不現實的要求。
為解決以上問題,本系統放棄了常規Java虛擬機機制而采用中間機制,如圖5所示,所有下載到客戶端的Applet(包括圖形化Applet和數據Applet)與WebServer的交互都需要通過中間AppletBroker,該Applet在Web頁面上不可視,其功能有兩個方面,一是將所有圖形化Applet和數據Applet對嵌入式Web服務器的數據請求“整合”后送往Web服務器,另一方面則是將從嵌入式Web服務器接收到的響應分發給相應的圖形化Applet和數據Applet。這樣,若干Applet與嵌入式Web服務器的數據傳輸次數得以最小化,嵌入式Web服務器對于Applet的響應處理負載得以減輕,系統允許使用的Applet不再有個數限制。
此外,Brower方的控制應用程序采用了JavaSript配合JavaApplet完成與服務器的交互過程。JavaSript用于控制管理Brower方各客戶不同的操作信息,通過QueryingString或FormHiddenElement向WebServer提交,Server解析提交信息后置值,然后下載該Applet,Applet下載至客戶端開始運行,首先從中讀取相應信息完成初始化過程,進而開始與服務器的LoginàGetàLogout的循環交互。
3.4訪問級別設置與權限認證
嵌入式設備上網后,安全性問題成為衡量系統性能的一項重要指標。本系統對此采用了訪問權限認證機制,其中:設計階段中的訪問級別設置不僅提供傳統的“基于頁面”方式,而且,提供靈活的“基于對象”的方式,單個設備,數據采集點的DataMark均可成為“對象”,這樣同一頁面不同重要級別的數據點可被分別設置為不同的讀、寫操作訪問級別,只有權限不低于設定要求訪問級別的客戶經Web服務器認證后方可進行其權限范圍內的監控操作;運行階段中權限認證采用javascript-Digest方式,相對傳統Browser-based的雙向可逆Base64加密算法,javascript-Digest的MD5加密算法具有不可逆性,因此用戶名和密碼即使被網上非法用戶截獲也無法破解,此外,系統權限認證中使用的Cookie駐留客戶端Browser內存中而非客戶端的硬盤文件中,因此非法用戶也無法在客戶端從Cookie中獲取合法用戶名和訪問密碼。
3.5Point-to-PointProtocol(PPP)與電子郵件告警(SMTP)
PPP鏈路一般工作于ServerMode以提供遠程訪問接入服務,當發送電子郵件告警信息時,PPP鏈路切換至ClientMode。電子郵件告警信息的發送采用SMTP(SendMailTransferProtocol)協議,發送前應設置ISP(InternetServiceProvider)為到達電子郵局的出口網關,例如ISP可選用163電信局,電子郵局可選用263郵局。
4結語
本文重點探討了變電站自動化系統中嵌入式Web服務器的設計方法與實現中的一些關鍵問題,嵌入式Web服務器的其它一些功能(包括文件上傳與下載、權限登陸與注銷等)的實現類同傳統Web服務器,限于篇幅,本文不再贅述。
目前DF3600系統已順利通過北京電科院質檢中心的入網測試,表明利用嵌入式技術在嵌入式系統中開發變電站自動化系統中的嵌入式Web服務器是切實可行的。變電站自動化系統基于嵌入式Web服務器的遠程監控維護方式將有效降低監控運行維護成本、提高監控運行維護效率,因而具有很大的應用前景和推廣價值。
參考文獻
1劉立芳(LiuLifang).遠程設備實時監控管理系統的設計與實現(Thedesignandimplementationofanequipments’real-timeremotemonitoringandcontrollingsystem).計算機工程(Computerengineering),2000(4),Vol.26
2汪源生(WangYuansheng).基于Web的繼電保護信息管理系統的開發與應用(Web-basedmanagementinformationsystemofrelayprotection).電力系統自動化(Automationofelectricpowersystems),2001(5)
3朱磊(Zhulei).基于Web的電力通信網監控系統的設計與實現(Designandimplementationofaweb-basedsupervisorycontrolsystemforthecommunicationnetworkofelectricpowersystem).電力系統自動化(Automationofelectricpowersystems),2001(2)
4BurtonH.Lee.EmbeddedInternetSystems:PoisedforTakeoff.InternetComputing,1998(3),Vol.2
5LNDuglasAgranat.EngineeringWebTechnologiesforEmbeddedApplications.InternetComputing,1998(3)
6李農(LiNong).因特網技術在嵌入式系統中的應用(Applicationofinternettechnologyforembeddedsystem).測控技術(Measurement&controltechnology),2000(4),Vol.19
7PetervanderLinden.JustJavaandBeyong.PaloAlto,California:SunMicrosystemsPress,1998
DesignandImplementationofEmbeddedWebServerinSubstationAutomationSystem
Abstracts:Aimedatthedifficultyofapplyingtraditionalwebtechnologytoconstructwebserverinsubstationautomationsystem,anewideologyofadoptingembeddedtechnologytodevelopembeddedwebserverinsubstationautomationsystemisproposedinthepaper.Withanexampleofdevelopingansubstationautomationsystemproduct,thefunctionandarchitectureofembeddedwebserverarepresented.Thekeyrealizationtechnologiesaredescribedindetail,whichincludeusingcustomtagstoseparatepagedesigningfromserverprogrammingfortheflexibilityandexpandabilityofsystem,puttingoutthedoublereusebasedonpointandpagetosatisfytheconstraintoflimitedresourceinembeddedwebserver,integratingembeddedJavaAppletandjavascripttoimplementthebrokerforreal-timeupdateoflotsofdatapointsinsubstationautomationsystem,adoptingPPPlinktoprovideremoteaccessserviceane-mailtransmissionetc.Theremotemonitorandcontrolmodebasedonembeddedwebserverinsubstationautomationsystemwilldecreasesystemrunningcostandimprovemaintainingefficiency,whichhaswideapplicationprospectandpopularizationvalue.
Keywords:embeddedwebserver;substationautomationsystem;customtags;data-pointreuse;embeddedJava;PPP
- 上一篇:國稅局稅收執法檢查匯報材料
- 下一篇:變電站自動化綜合分析論文