技術分享 基于UML時序圖的網絡視頻監控系統如何實現
本節向大家介紹一下UML時序圖的應用,相信通過本節基于UML時序圖的網絡視頻監控系統介紹你對UML時序圖的作用有清晰的認識,下面讓我們一起來看一下UML時序圖的應用吧。
基于UML時序圖的網絡視頻監控系統
UML是Unified ModelingLanguage 的簡稱,是00P(Object-Oriented programming面向對象編程)技術及至所成,可用于確定、展示和記錄軟件系統,是一種便于軟件系統規約化、可視化的構造及建模標識。而其中的圖形標記,尤其適用與面向對象的軟件設計。
視頻監控是樓宇安全防范系統的一個重要組成部分。隨著計算機網絡布線已深入到各種樓宇建設之中,如果通過計算機網絡(包括LAN和WAN)連接位于不同地點的多個監控小系統,這樣無需敷設專門線路,僅憑借已有的LAN和WAN,使得任意一臺賦予權限的主機都可以游刃有余地在網上采集現場的監控畫面,從而實現了遠程網絡視頻監控。
運用UML的軟件開發技術,我們可以把模塊與實際應用功能緊密聯系起來。對于視頻監控這樣的具體設計,我們可以用UML特有的圖形標識將其中的各個功能模塊化,形成相應的結構型語言,以便通過設計出的功能模塊與代碼之間的映射關系描述出最終的軟件代碼框架,同時確保代碼改進時模塊也可以隨之更新。
UML的基本原理
UML建模機制描述
UML有靜態和動態兩種分析方法和建模機制。靜態建模分析主要通過類圖、對象圖、用例圖等來描述,一般用于系統的核心模塊設計;動態建模通過合作圖、狀態圖、活動圖、時序圖來表述,可以用來描述系統對象間的關系模式。
動態建模機制中的UML時序圖
現在讓我們著重談談動態建模機制中的時序圖(sequencediagram)。UML時序圖是一種交互圖,時序圖的重點是標記出某個行為的對象類和這些對象類之間所傳遞的消息及其時間順序。另外時序圖允許直觀地表示出對象的生存期,在生存期內,對象可以對輸入消息做出響應,并且可以發送消息。正是對象生存期的引入,時序圖具備了時間順序的概念,從而可以清晰地表示出對象在其生存期的某一個時刻的動態行為。這種時間概念的精確性使時序圖在描述對象動態行為的時間特性方面具備了卓越的能力。
UML時序圖是一個二維圖形。一維處于水平方向表示對象;另一維處于垂直方向表示對象的生存期,因而可看成是時間軸。在一個對象圖中,所有的對象將從左到右排開,而每個對象的生存期就猶如一條生命線。只要對象沒有被撤消,這條生命線就可以從上至下延伸,如圖1所示。
視頻監控設計
視頻監控網絡框架
憑借已有的計算機網絡,我們設計一個基于組播技術的剛絡視頻監控系統方案原理圖,如圖2所示。從系統結構上看,該系統主要有兩大部分:視頻服務器和客戶機端,他們之間依靠IP組播網絡連接。在網絡上任何一個客戶機端都能看見視頻服務器上視頻信號(一點對多點的組播模式。當然采用多點對多點的組播傳輸模式,還可以看見其他站點的視頻信號)。客戶機端還必須接受具有上控機房的控制命令,執行相關的監控動作。該臨控系統中還要設計出對現場監控能主動做出預先或滯后處理的模塊。
在通信階段,視頻服務器與客戶機端可以采用簡單而可靠的通信方式如TCP,進行登錄并認證身份,一旦確認客戶端PC的有效身份后,視頻服務器與客戶機端之間通信進人初始化階段;在初始化階段,視頻服務器將依據安全策略和通信策略動態產生決策,去影響客戶機端;在這些一系列的動態交互結束后,系統進入組播通信階段,主控機房通過組播通信線程來接受和發送視頻信號。 #p#
軟件平臺的建模
根據客戶端PC和主控機房的視頻服務器直接通信的特點,可對網絡視頻監控系統作動態建模。網3就是以UML時序圖來描述此系統的軟件需求。本視頻監控網絡采用的是客戶機/服務器(C/S)剛絡通信模式,由客戶機端向服務器提出請求,服務器對請求做出確認并執行相應的任務。例如向客戶機端發送組播地址,建立連接后計算機用戶就可以在客戶終端監控各個遠程監測點,客戶終端接受遠程監控點傳來的視頻數據,并可以向視頻服務器傳送控制命令,視頻服務器根據用戶要求向當前設備發出控制命令,從而實現網絡遠程監控。
在各對象相互通信時,個人首先登錄到客戶機端(當然登錄本身包含諸多時序事件,例如用戶與客廣機端之間輸入戶名、問口令、輸入口令,客戶機端與服務器之間查證口令、判斷口令等。由于篇幅所限,圖3沒標出);個人登錄事件的后續事件是,客戶機向視頻服務器發送連接請求,得到服務器允許后,客戶機開始發送相關數據,服務器將該數據轉交后臺處理,并發給服務器下一個事件動作的指令,例如發送組播地址;調用WSASendTo()函數使得服務器向客戶機端通過IP組播網絡發送視頻數據;***調用 SARecvFrom()函數使得客戶機開始接受視頻數據;啟動播放線程。
軟件實現
在實際應用中,編程人員就可以根據上文的UML時序圖所捕述的需求來編制底層網絡應用程
序,去實現監控系統網絡的底層通信。編制底層網絡應用程序通常要借助于網絡數據通信編程接口,而在不同的操作系統中所提供的網絡編程接口是有所不同的,如在MicrosoftWindows環境下的網絡編程接口就是Windows套接字(Windows Socket,簡稱Winsock)。Winsock提供了包括TCP/IP、IPX等多種通信協議下的編程接口。除支持WinsockAPI外,還定義了一套可支持IP組播的與協議無關的API。
【編輯推薦】