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