日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

基于網(wǎng)絡的嵌入式MPEG-2遠程視頻監(jiān)控系統(tǒng)的實現(xiàn)( 二 )


三、系統(tǒng)軟件設計
傳統(tǒng)的應用程序都是單線程的,即在程序運行期間,由單個線程獨占CPU的任務 。在這種情況下,程序在執(zhí)行一些比較費時的任務時,負責執(zhí)行所有任務時,就無法及時響應用戶的操作,影響了應用程序的實時性能 。在監(jiān)控系統(tǒng),非凡是遠程監(jiān)控系統(tǒng)中,應用程序往往不但要及時把監(jiān)控對象的最新信息反饋給監(jiān)視客戶(通過圖形顯示),還要處理本地機與遠程機之間的通信以及對控制對象的實時控制等任務,這時,僅僅由單個線程來完成所有任務,顯然無法滿足監(jiān)控系統(tǒng)的實時性要求 。為此,可引進多線程機制,主線程專門負責消息的響應,使程序能夠響應命令和其他事件 。輔助線程可以用于完成其他比較費時的工作,如通信、圖形顯示和后臺打印等,這樣就不至于影響主線程的運行 ??傊?,把多線程機制引進通信,有利于提高應用程序的實時性,充分利用系統(tǒng)資源 。對于大型的工程應用來說,不同的線程完成不同的任務,也有利于提高程序的模塊化,便于維護和擴展 。
軟件結構采用了Client/Server結構,兩端通過網(wǎng)絡建立TCP/IP連接,按照自定義的數(shù)據(jù)通信協(xié)議交換數(shù)據(jù),完成數(shù)據(jù)通信和系統(tǒng)控制的功能 。監(jiān)控中心的客戶端向服務器端申請建立連接,服務器監(jiān)聽到連接請求之后,和客戶端建立SOCKET連接,客戶端向服務器發(fā)送控制信號,服務器端向客戶端發(fā)送視頻碼流 。
Server端軟件運行在PC104上,編碼部分由于采用了硬件壓縮,不占用PC104的系統(tǒng)資源,所以合理設計PC104上運行的服務器軟件的結構對于提高整個系統(tǒng)的工作效率有著重要的意義,系統(tǒng)性能也與它密切相關 。軟件設計的主要思想如下:讀取線程、發(fā)送線程和控制線程之間的同步,防止有限資源的浪費 。
在分析控制指令、碼流讀入、發(fā)送傳輸?shù)奶幚磉^程中,可能會存在時間冗余 。以讀取碼流為例,系統(tǒng)從EPLD的FIFO中讀取視頻數(shù)據(jù),假如CPU讀取的速度比編碼器的速度快,可能會處于等待的編碼器硬件響應狀態(tài) 。此時雖然CPU被占用,但是實際上系統(tǒng)沒執(zhí)行有效的任務,造成計算機系統(tǒng)資源的浪費,而嵌入式系統(tǒng)的資源本來就非常緊張 。為了充分利用CPU計算能力,提高系統(tǒng)的整體性能,在該系統(tǒng)中采用多線程技術實現(xiàn)任務的調(diào)度,現(xiàn)以遠程現(xiàn)場數(shù)據(jù)處理過程為例分析 。
1.讀取線程 。負責控制硬件,從編碼器中讀取圖像數(shù)據(jù)到主機內(nèi)存;
2.發(fā)送線程 。負責視頻碼流的傳輸;
3.控制線程 。負責云臺/攝像頭的控制以及編碼器的參數(shù)設置 。
視頻傳輸中,在服務器端要求碼流讀取和發(fā)送互不干擾,以避免讀取和發(fā)送相互等待或者相互沖突的情況出現(xiàn),同樣在客戶端解碼和接收也存在這個關系 。本設計采用了一種基于環(huán)形緩沖區(qū)的多線程視頻傳輸技術,較好地解決了這個問題 。主機的環(huán)形緩沖區(qū)除了達到數(shù)據(jù)分離互斥作用外,還可以起到平滑碼流的作用 。讀取線程和發(fā)送線程是互斥關系,讀入的視頻數(shù)據(jù)供傳輸線程處理,這是一個簡單的消費者和生產(chǎn)者的關系問題,只要不進入臨界區(qū),兩個線程可以同時工作,用環(huán)形緩沖區(qū)和互斥鎖完全可以解決這兩個線程度同步問題 。線程之間通過同步實現(xiàn)了CPU時間片的合理分配、硬件訪問治理以及內(nèi)存緩沖區(qū)的訪問治理等等,大大的提高了該系統(tǒng)的處理性能 。
Client端提供用戶的控制接口,用戶通過它要求各種服務 。用戶可以連接到服務主機,按照自己的要求改變系統(tǒng)的工作方式和工作狀態(tài) 。最高權限可以調(diào)整Server端的工作方式,修改系統(tǒng)的治理信息,獲取所有不同類型的服務 。

推薦閱讀