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