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