嵌入式Web服務(wù)器技術(shù)及其在電力系統(tǒng)中的應(yīng)用綜述
2.4 基于不同應(yīng)用程序接口的信息流分析
通過應(yīng)用程序接口模塊可以和嵌入式系統(tǒng)進行動態(tài)交換各種數(shù)據(jù)信息,在不同接口形式下,信息的處理方式和信息流動的途徑有較大的差別[3, 6, 7]。
(1)基于CGI接口形式的信息流分析
CGI提供EWS一個執(zhí)行外部程序的通道,CGI程序經(jīng)過編譯成為可執(zhí)行文件,放在服務(wù)器端運行,其信息流圖如圖3所示。EWS根據(jù)用戶的請求調(diào)用相應(yīng)的CGI程序,并由EWS將CGI程序得到的動態(tài)信息封裝到頁面中,發(fā)送到用戶瀏覽器上。
CGI接口是EWS系統(tǒng)中最簡單的實現(xiàn)方案,但是由于它必須是執(zhí)行后才可以看到結(jié)果,而且編程復(fù)雜。故對于嵌入式應(yīng)用系統(tǒng)而言,必須將程序?qū)懭氲紽lash存儲器中才可以進行在線測試,將大大增加開發(fā)和維護的難度。
(2)基于SSI接口形式的信息流分析
SSI 接口方法將含有內(nèi)嵌腳本的HTML頁面存儲在EWS中,EWS將根據(jù)用戶請求啟動腳本引擎,調(diào)入相應(yīng)帶有腳本代碼的HTML頁面,腳本引擎與嵌入式系統(tǒng)進行交互,將腳本代碼部分替換為實際數(shù)據(jù),最后由EWS將替換后的HTML頁面發(fā)送到客戶端。具體的信息流圖如圖4所示。
SSI接口比CGI接口要簡單,便于開發(fā),但腳本引擎的運行必然要影響嵌入式系統(tǒng)的性能。而且腳本以及腳本名稱到嵌入式軟件系統(tǒng)中的函數(shù)和變量名的映射都將耗費EWS的寶貴存儲空間。
(3)基于HCPA接口形式的信息流分析
此接口形式與SSI類似,首先生成帶有C源碼的Web頁面,其中的C源碼帶有標記而且可以和嵌入式軟件系統(tǒng)進行簡單高效的接口。其處理過程如圖5所示,預(yù)處理器將Web源頁面壓縮,提取參量標記,解析HTML頁面,最終生成C代碼。C編譯器將生成的C代碼,Web端的C代碼和應(yīng)用系統(tǒng)的C代碼連接編譯為可執(zhí)行文件??蓤?zhí)行文件存放在EWS的存儲器中,其信息流圖和CGI接口下的信息流圖類似。
通過預(yù)處理器的處理和解析過程,大大減輕了EWS系統(tǒng)的運行負荷,而嵌入C代碼和HTML頁面解析方法為開發(fā)嵌入式系統(tǒng)提供了很大的靈活性。它結(jié)合了CGI方式的高效運行和SSI方式的快捷開發(fā)的優(yōu)點,適合于小型、高效的嵌入式應(yīng)用系統(tǒng)的開發(fā)。
2.5 實現(xiàn)EWS的關(guān)鍵問題
(1)資源分配問題
一個好的EWS設(shè)計方案一定是一個合理分配系統(tǒng)資源的系統(tǒng)方案。這里主要考慮的是系統(tǒng)硬件資源的分配問題。硬件資源主要包括CPU的計算資源和系統(tǒng)的存儲空間資源。
由于EWS的CPU同時承擔著應(yīng)用系統(tǒng)本身的計算、控制等任務(wù)負荷,所以EWS進程必須盡可能少的使用CPU的計算資源,尤其是實時監(jiān)控設(shè)備,操作系統(tǒng)一般分配等級低的線程給EWS使用而不影響系統(tǒng)自身的性能。同時EWS采用HTTP 1.1通信協(xié)議,明確引入了緩沖控制機制,可以有效減輕CPU的負荷。對多個HTTP事務(wù)建立單一持續(xù)的連接,而不是對每一個HTTP請求建立各自的 TCP連結(jié),同樣可以改善網(wǎng)絡(luò)和系統(tǒng)的性能。
存儲空間的分配主要解決減小軟件代碼量的問題,上一節(jié)分析的HCPA接口方案可以利用生成的可執(zhí)行文件減少代碼冗余,盡可能少地占用存儲空間,而簡化的實時操作系統(tǒng)內(nèi)核和TCP/IP協(xié)議棧也可以減少存儲空間的需要量,高效的TCP/IP協(xié)議棧和Web服務(wù)器軟件只占用大約48k的ROM和16 k的RAM的存儲空間。
同時針對不同的應(yīng)用系統(tǒng),還必須考慮EWS系統(tǒng)的總體資源配置問題。EWS實現(xiàn)了對現(xiàn)場設(shè)備的網(wǎng)絡(luò)控制,但并不意味著系統(tǒng)的每一臺嵌入式設(shè)備都必須成為 Web服務(wù)器。在設(shè)備相對集中的區(qū)域可以考慮建立獨立的EWS系統(tǒng),通過現(xiàn)場總線與一定數(shù)目的嵌入式設(shè)備通信,成為這些設(shè)備共同的Web服務(wù)器,在系統(tǒng)造價和性能間可以獲得更優(yōu)的組合設(shè)計。
(2)安全性問題
由于Web技術(shù)的開放性和標準性,其優(yōu)點有時也是缺點,即必須對訪問者有所區(qū)分,否則系統(tǒng)的安全將不可預(yù)料。沒有詳細的安全和保密措施的EWS系統(tǒng)是不完整的系統(tǒng)。目前可能的安全策略有[4]:
1)閉環(huán)網(wǎng)絡(luò)訪問策略:把網(wǎng)絡(luò)訪問范圍局限在Intranet范圍內(nèi),通過網(wǎng)內(nèi)的任意PC機上的瀏覽器就可以進行遠程監(jiān)視、診斷,甚至實現(xiàn)遠程控制和參數(shù)設(shè)置。同時網(wǎng)絡(luò)是封閉的,所有可能的攻擊點全部局限在本網(wǎng)絡(luò)范圍內(nèi);
2)回呼策略:當用戶在Intranet范圍外通過電話撥號的方式訪問網(wǎng)內(nèi)的設(shè)備資源時,通過授權(quán)的回呼連接,將提供高的安全性能。“回呼”保證了只有授權(quán)的電話連接才可以訪問Intranet范圍內(nèi)的資源,同時電話號碼也要保密,以防止該電話號碼被惡意撥打阻塞訪問通道,造成“拒絕服務(wù)”此類的錯誤。
3)只讀訪問策略:對關(guān)鍵信息和敏感信息,一個重要的安全措施就是將其標記為只讀特性,尤其是從Intranet范圍外的IP地址來的訪問請求。這樣用戶可以在任意地方查看嵌入式系統(tǒng)的狀況,出現(xiàn)問題可以及時采取措施。
4)密碼和防火墻策略:如果希望實現(xiàn)任意地點的用戶對嵌入式系統(tǒng)的控制和參數(shù)設(shè)定,則必須將防火墻技術(shù)引入到Intranet的網(wǎng)關(guān)中,必要時還須將其集成到EWS中,根據(jù)規(guī)則過濾掉外部的數(shù)據(jù)流。同時所有的數(shù)據(jù)傳送必須加密,訪問所有可能受到攻擊的點都必須提供正確的用戶名和密碼才可以訪問。
評論