一種嵌入式Web服務器的設計方案
(2)嵌入式Web服務器的實現
1)網絡接口的實現
網絡接口是Web服務器與外界交流的接口。操作系統提供網絡協議棧的支持,最主要是TCP/IP以及socket套接字系統函數庫。
網絡接口使用操作系統提供的socket函數族建立可遠程通信的套接字。它分兩部分,一部分在系統初始化的時候建立,另一部分在HTTP引擎模塊里面實現。網絡接口模塊的功能描述為:首先建立socket.socket是BSOUnix提出的進程間通信(IPC)機制,它是一種雙向的通信接口,使得可以在兩個不同進程(通常是網絡上的不同節點的進程)之間可以直接通信。
2)中心處理模塊
中心處理模塊是嵌入式W e b服務器的核心。它進行全局的控制和管理。它通過accept()接收HTTP請求,調用read將請求接收到本地,然后進行請求解析。根據請求的內容,判斷是屬于動態內容還是靜態內容,如果是動態內容則調用相應的動態處理函數,如果是靜態內容則訪問VFS獲得相應的內容。然后將獲得的內容包裝成為HTTP響應,返回給客戶端。中心處理模塊還實現控制管理信息和容錯機制。
3)動態文件預處理器
Web服務器必須有交互能力才是有實際意義的服務器程序。目前大多數的Web服務器都是利用CGI(Common Gateway Interface,通用網關接口)來實現應用程序的接口。本論文從嵌入式系統的角度出發,實現了一種內部的應用程序接口。
動態文件預處理器所實現的功能是將普通的Web動態資源轉變成為可編譯的函數代碼。設動態文檔為f.dtm,它包含內容{x,f(a)}.其中x為靜態的內容,F()為應用程序,a為通過解析HTTP請求得出的參數。動態文件預處理器將f.dtm轉變成為f_dtm.c.它的內容為(f_dtm()},它是一個函數,實現功能為輸出{x,f(a)}.其中f(a)是f(a)的實際輸出,而x‘是輸出靜態內容的動作。
4.嵌入式Web服務器的主要應用
嵌入式Web服務器是應用在嵌入式系統上的Web服務器架構。它的主要應用是設備管理和應用程序的網絡擴展。
嵌入式Web服務器作為一個后臺程序直接在嵌入式設備上運行,用戶通過網絡對設備配置、控制、監測,保證設備安全、有效地運作。
Web接口使得用戶可以在任何一臺有互聯網接入能力的帶有Web瀏覽器的設備訪問到該嵌入式設備。Web服務器提供應用程序接口可以擴展Web的應用。這種設備管理方式不僅起到監測、控制的功能,而且根據設備的特點可以更加入性化和智能化。它使對遠程設備的操作從監控(Monitor)變成為管理(Manage)。其中基于嵌入式WEB服務器的視頻監控系統現已成為視頻監控系統的主流技術,在嵌入式系統中集成嵌入式Web視頻服務器,采用嵌入式實時多任務操作系統;內置一個嵌入式Web服務器。攝像頭送來的視頻信號數字化后由高效壓縮芯片壓縮,通過內部總線送到內置的Web服務器,網絡上用戶可以直接用瀏覽器觀看Web服務器上的攝像機圖像,授權用戶還可以控制攝像機、云臺、鏡頭的動作或對系統配置進行操作。
另一個應用是應用程序網絡擴展。Web服務已成為支撐現代應用程序技術和系統核心組件,現今約87%的企業用戶都希望為他們的程序添加上基于Web的用戶接口。嵌入式Web服務器很好地提供了Internet網絡的接口,將應用程序和Web接口結合起來,是應用程序網絡擴展的解決方案。
評論