深入研究嵌入式web服務(wù)器的監控應用
1 引言
隨著(zhù)微處理器技術(shù)、計算機網(wǎng)絡(luò )技術(shù)的進(jìn)步,基于嵌入式WEB的網(wǎng)絡(luò )數字視頻監控系統逐漸得到了人們的廣泛關(guān)注。把圖像采集、視頻壓縮和WEB功能集中到一個(gè)體積很小的設備內,可以直接連入局域網(wǎng)和Internet,達到即插即用,省掉多種復雜的電纜,安裝方便,用戶(hù)也無(wú)須安裝任何硬件設備即可觀(guān)看,這使得由嵌入式網(wǎng)絡(luò )視頻監控服務(wù)器組成的監控網(wǎng)絡(luò )組網(wǎng)和擴展都極為靈活方便。
2 WEB服務(wù)器所在系統工作原理
如圖1所示,系統有兩種網(wǎng)絡(luò )接入方式:通過(guò)PPPOE自動(dòng)撥號,動(dòng)態(tài)獲取IP聯(lián)入Internet;自定義靜態(tài)IP連入局域網(wǎng)。
之后,系統的整個(gè)工作流程包括兩條主線(xiàn):
1.通過(guò)HTTP/TCP/IP方式,解析來(lái)自監控端的網(wǎng)頁(yè)請求,包括:攝像機控制(云臺上下左右、鏡頭光圈、縮放等等),數據庫讀寫(xiě)(視頻參數如分辨率、亮色度、碼流,畫(huà)質(zhì)),視頻調度與傳輸(多個(gè)用戶(hù)之間視頻數據的發(fā)送停止及其相互協(xié)調,系統參數也放在這里)。
2.通過(guò)RTP/UDP/IP方式,為監控端提供所需的實(shí)時(shí)視頻信息。RTP/UDP/IP的方式兼顧了視頻傳輸的實(shí)時(shí)性與QoS保證。
3 WEB服務(wù)器的選擇
根據工作原理的描述,WEB服務(wù)器處于整個(gè)系統核心的位置,需要解決的幾個(gè)難點(diǎn)包括:
1.安全性。只有授權登陸用戶(hù)才能進(jìn)行系統配置(網(wǎng)絡(luò )參數、視頻
特性等等)。普通用戶(hù)只能簡(jiǎn)單監控。
2.流量控制。視頻數據連續且大量,服務(wù)器應該具備一定的協(xié)調各路監控數據的能力。
3.實(shí)時(shí)性。對于監控端的web請求指令響應速度,特別是在高負荷的情況下。
4.性能。在多路監控請求同時(shí)存在的情況下,系統的響應速度。
5.支持串口命令。云臺控制指令需要串口支持。
6.數據庫交互。包括用戶(hù)數據庫,系統配置參數等等,都需要實(shí)現脫機保存。
uCLinux下,主要有3個(gè)WebServer:Httpd、Thttpd和BOA。Httpd是最簡(jiǎn)單的一個(gè)WebServer,它的功能最弱,不支持認證,不支持CGI(CommonGatewayInterface,通用網(wǎng)關(guān)接口)。Thttpd和BOA都支持認證、CGI等,功能都比較全。BOA源代碼開(kāi)放、性能可靠、穩定性好,但是是一個(gè)單任務(wù)的Web服務(wù)器。所以,我們選擇簡(jiǎn)單、小巧、易移植、快速和安全的Thttpd。
Thttpd在默認的狀況下,僅運行于普通用戶(hù)模式下,從而能夠有效地杜絕非授權的系統資源和數據的訪(fǎng)問(wèn),同時(shí)Thttpd全面支持HTTP基本驗證(RFC2617),可有效解決安全性的問(wèn)題。
另外,Thttpd對于并發(fā)請求不使用fork()來(lái)派生子進(jìn)程處理,而是采用多路復用(Multiplex)技術(shù)來(lái)實(shí)現,因此效能很高,可以有效提高系統的性能。
最后,Thttpd基于URL的文件流量限制,對于連續的視頻流量控制而言是非常方便的,象Apache就必須使用插件實(shí)現,效率較Thttpd低。在Thttpd的官方網(wǎng)站上有一個(gè)與其他webserver的對比圖Benchmark。
綜上所述,Thttpd在安全性、性能、流量控制等方面有效的滿(mǎn)足系統需要,當然,實(shí)時(shí)性也得到很好的保證。下面,結合源碼,首先實(shí)現Thttpd的基本功能,然后將視頻數據轉發(fā)、安全性、支持串口命令、數據庫交互的實(shí)現完善起來(lái)。
評論