摘要:該文提出一種利用網(wǎng)絡(luò)技術(shù)把模擬的視頻信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)引入Internet網(wǎng),采用流媒體技術(shù)建設(shè)視頻服務(wù)器,完成具有網(wǎng)絡(luò)存儲(chǔ)功能和回放功能的網(wǎng)絡(luò)視頻存儲(chǔ)回放系統(tǒng)。首先統(tǒng)一建模語(yǔ)言UML對(duì)系統(tǒng)進(jìn)行功能分析和可視化建模,在此基礎(chǔ)上運(yùn)用Visual Studio 2008進(jìn)行開(kāi)發(fā)和實(shí)現(xiàn)。
關(guān)鍵詞:網(wǎng)絡(luò)技術(shù);流媒體技術(shù);網(wǎng)絡(luò)存儲(chǔ)回放;可視化建模
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2009)04-0961-03
The Design and Realization of Network Video Replay and Storage System Based on UML
REN Si-jia1,GAO Yu-zhuo1,2,WANG Heng1
(1.Ningxia University,Yinchuan 750021,China;2.College of Public Administration,Huazhong University of Science and Technology,Wuhan 430074,China)
Abstract: This paper designs a network video replay and storage System.The System transforms the analog signals into digital signals put in Internet networks,use the Streaming Media Technology to bulid a video center,which can be directly provides the functions of network storage and replay.And use UML to system analyze and visual modeling for the network video replay and storage System,and finally the system is developed and realized in Visual Studio 2008.
Key words: network; streaming media technology; network storage and replay; visual modeling
近年來(lái),隨著網(wǎng)絡(luò)和多媒體技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)技術(shù)與視頻技術(shù)結(jié)合也就順理成章了,其中視頻監(jiān)控技術(shù)和流媒體技術(shù)都有了長(zhǎng)足的發(fā)展。出現(xiàn)了利用Internet網(wǎng)絡(luò)實(shí)現(xiàn)遠(yuǎn)程視頻監(jiān)控,把模擬的視頻監(jiān)控信號(hào)轉(zhuǎn)化為數(shù)字信號(hào)引入Internet網(wǎng),即可實(shí)現(xiàn)隨時(shí)隨地的監(jiān)控功能,不再受距離等因素的限制。
網(wǎng)絡(luò)視頻存儲(chǔ)回放系統(tǒng)作為視屏監(jiān)控系統(tǒng)的存儲(chǔ)管理系統(tǒng),在其中完成網(wǎng)絡(luò)視屏的存儲(chǔ)管理,回放管理,用戶計(jì)費(fèi)等功能。
系統(tǒng)采用UML的分析方法,對(duì)網(wǎng)絡(luò)視頻存儲(chǔ)回放的各個(gè)情況進(jìn)行分析,對(duì)系統(tǒng)的需求分析,總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)進(jìn)行建模。同時(shí)根據(jù)建模要求采用Visual Studio 2008進(jìn)行系統(tǒng)功能的具體實(shí)現(xiàn),完成設(shè)計(jì)目標(biāo)。
1 相關(guān)技術(shù)
1.1 UML技術(shù)介紹
UML是一種定義良好的,易于表達(dá)的,功能完善的而且普遍適用的建模語(yǔ)言[1]。
UML中包含了一些可以相互組合為圖表的圖形元素,每一種UML視圖都是由多個(gè)圖組成的,每一種圖都是系統(tǒng)結(jié)構(gòu)的某個(gè)側(cè)面的表示。各種圖實(shí)際上是一致的,所有圖在一起組成了系統(tǒng)的完整視圖[2]。
如圖1所示UML中的九種視圖從各個(gè)方面對(duì)系統(tǒng)的靜態(tài)組成和動(dòng)態(tài)功能進(jìn)行描述,從而對(duì)系統(tǒng)從總體到局部進(jìn)行完整的設(shè)計(jì)。
用例圖是簡(jiǎn)潔明了描述系統(tǒng)的活動(dòng)者、用例,以及它們之間的聯(lián)系。
對(duì)象圖和類圖描述對(duì)象模型的靜態(tài)結(jié)構(gòu),其中一部分圖形元素是基本的,如類、對(duì)象、關(guān)聯(lián)等,對(duì)于任何面向?qū)ο竽P投际潜夭豢缮俚摹?/p>
交互圖包括時(shí)序圖和協(xié)作圖,表達(dá)對(duì)象之間的交互,是描述一組對(duì)象如何合作完成某種行為的模型化工具。
活動(dòng)圖描述滿足用戶要求所進(jìn)行的動(dòng)及活動(dòng)間的約束關(guān)系,有利于識(shí)別并行活動(dòng) [3]。
1.2 流媒體技術(shù)介紹
流媒體的定義很廣泛,大多數(shù)時(shí)候指的是把連續(xù)的影像和聲音信息經(jīng)過(guò)壓縮處理后放上網(wǎng)站服務(wù)器,讓用戶一邊下載一邊觀看、收聽(tīng),而不需要等整個(gè)壓縮文件下載到自己機(jī)器后才可以觀看的視頻/音頻傳輸、壓縮技術(shù)。
流式傳輸技術(shù)又分兩種,一種是順序流式傳輸,另一種是實(shí)時(shí)流式傳輸。
順序流式傳輸是順序下載,在下載文件的同時(shí)用戶可以觀看,但是,用戶的觀看與服務(wù)器上的傳輸并不是同步進(jìn)行的,用戶是在一段延時(shí)后才能看到服務(wù)器上傳出來(lái)的信息。順序流式傳輸比較適合高質(zhì)量的短片段,因?yàn)樗梢暂^好地保證節(jié)目播放的最終質(zhì)量。它適合于在網(wǎng)站上發(fā)布的供用戶點(diǎn)播的音視頻節(jié)目。
在實(shí)時(shí)流式傳輸中,音視頻信息可被實(shí)時(shí)觀看到。在觀看過(guò)程中用戶可快進(jìn)或后退以觀看前面或后面的內(nèi)容,但是在這種傳輸方式中,如果網(wǎng)絡(luò)傳輸狀況不理想,則收到的信號(hào)效果比較差。
2 利用UML對(duì)供水收費(fèi)系統(tǒng)建模
2.1 需求分析
鑒于網(wǎng)絡(luò)視頻存儲(chǔ)回放系統(tǒng)的功能,我們?cè)谠O(shè)計(jì)時(shí)將他劃分為兩個(gè)具體的模塊完成不同的功能。在網(wǎng)絡(luò)視頻存儲(chǔ)回放系統(tǒng)中我們劃分兩個(gè)模塊:網(wǎng)絡(luò)視頻回放管理子系統(tǒng)和網(wǎng)絡(luò)視頻存儲(chǔ)子系統(tǒng)。前一個(gè)主要的功能就是管理和交互,后一個(gè)主要功能就是完成視頻流的存儲(chǔ)和發(fā)送。
2.2 系統(tǒng)的工作流程設(shè)計(jì)
2.2.1 錄像存儲(chǔ)子系統(tǒng)注冊(cè)
圖3描述了錄像存儲(chǔ)子系統(tǒng)作為監(jiān)控中心平臺(tái)管理的設(shè)備,在投入使用之前必須進(jìn)行的監(jiān)控中心平臺(tái)進(jìn)行入網(wǎng)操作。只有入網(wǎng)后的設(shè)備才是合法設(shè)備。
錄像存儲(chǔ)子系統(tǒng)定時(shí)向錄像回放管理子系統(tǒng)發(fā)送注冊(cè)請(qǐng)求,錄像回放管理子系統(tǒng)對(duì)進(jìn)行注冊(cè)認(rèn)證處理,以確認(rèn)該錄像存儲(chǔ)子系統(tǒng)的合法性。
錄像回放管理子系統(tǒng)根據(jù)注冊(cè)認(rèn)證的結(jié)果給錄像存儲(chǔ)子系統(tǒng)返回相應(yīng)的注冊(cè)成功注冊(cè)確認(rèn)或失敗注冊(cè)拒絕的反饋。
錄像回放管理子系統(tǒng)為每個(gè)注冊(cè)成功后的錄像存儲(chǔ)子系統(tǒng)設(shè)置一個(gè)存活時(shí)間,每次收到注冊(cè)確認(rèn)后將存活時(shí)間更新為最大值。錄像回放管理子系統(tǒng)定時(shí)檢測(cè)每個(gè)錄像存儲(chǔ)子系統(tǒng)的存活時(shí)間,當(dāng)存活時(shí)間減至0時(shí),認(rèn)為此錄像存儲(chǔ)子系統(tǒng)已經(jīng)不存活了,將其標(biāo)記為不可用。
2.2.2 錄像開(kāi)始調(diào)度
用戶需要錄像時(shí),監(jiān)控中心平臺(tái)向錄像回放管理子系統(tǒng)發(fā)送錄像請(qǐng)求。該錄像請(qǐng)求中攜帶了需要錄像的監(jiān)控前端,通道,以及錄像時(shí)間長(zhǎng)度等信息。
錄像回放管理子系統(tǒng)在收到錄像請(qǐng)求后,根據(jù)當(dāng)前各錄像存儲(chǔ)子系統(tǒng)的負(fù)荷情況,以及可用存儲(chǔ)空間的大小,調(diào)度確定是否有錄像存儲(chǔ)子系統(tǒng)能為此請(qǐng)求服務(wù)。如果調(diào)度成功,反饋錄像確認(rèn)給監(jiān)控中心平臺(tái),并攜帶錄像存儲(chǔ)的被調(diào)度的錄像存儲(chǔ)子系統(tǒng)的ID,錄像存放的物理位置,以及可以存放的錄像時(shí)長(zhǎng)等信息。
2.2.3 錄像回放調(diào)度
用戶需要回放錄像(包括實(shí)時(shí)錄像和告警錄像)時(shí),監(jiān)控中心平臺(tái)向錄像回放管理子系統(tǒng)發(fā)送回放請(qǐng)求。該回放請(qǐng)求中攜帶了需要回放的錄像資料的ID(Record-ID)。
錄像回放管理子系統(tǒng)在收到回放請(qǐng)求后,根據(jù)Record-ID查詢出相應(yīng)的錄像資料,如果沒(méi)有查到,則表示沒(méi)有此錄像直接反饋回放調(diào)度失?。ɑ胤啪芙^)并指出失敗的原因是該錄像不存在。如果查到錄像資料則返回調(diào)度成功(回放確認(rèn)),并帶回該錄像資料實(shí)際存放的物理路徑。
2.2.4 錄像啟動(dòng)
監(jiān)控中心平臺(tái)根據(jù)錄像開(kāi)始調(diào)度的反饋(其中包含錄像存儲(chǔ)子系統(tǒng)的ID),呼叫錄像存儲(chǔ)子系統(tǒng),錄像存儲(chǔ)子系統(tǒng)收到呼叫后,啟動(dòng)錄像并準(zhǔn)備接受視頻信息,如果啟動(dòng)成功,則發(fā)送連接消息給監(jiān)控中心平臺(tái)。隨后在兩者之間建立用于視頻傳輸?shù)耐ǖ馈?/p>
隨后監(jiān)控中心將該此錄像啟動(dòng)的狀態(tài)(成功或失?。┩ㄖ浵窕胤殴芾碜酉到y(tǒng)。如果啟動(dòng)成功,錄像回放管理子系統(tǒng)需要向數(shù)據(jù)庫(kù)中記錄此次錄像的資料信息。
2.2.5 回放啟動(dòng)
監(jiān)控中心平臺(tái)根據(jù)回放開(kāi)始調(diào)度的反饋(其中包含錄像存儲(chǔ)子系統(tǒng)的ID),呼叫錄像存儲(chǔ)子系統(tǒng),錄像存儲(chǔ)子系統(tǒng)收到呼叫后,啟動(dòng)錄像回放并準(zhǔn)備發(fā)送視頻信息,如果啟動(dòng)成功,則發(fā)送連接消息給監(jiān)控中心平臺(tái)。隨后在兩者之間建立用于視頻傳輸?shù)耐ǖ?,并將視頻傳送到監(jiān)控中心平臺(tái)。
隨后監(jiān)控中心將該此回放啟動(dòng)的狀態(tài)(成功或失敗)通知錄像回放管理子系統(tǒng)。
2.2.6 錄像回放結(jié)束
錄像存儲(chǔ)子系統(tǒng)檢測(cè)到需要停止錄像回放時(shí),立即關(guān)閉和監(jiān)控中心平臺(tái)的視頻通道,并停止錄像。
監(jiān)控中心檢測(cè)到和錄像存儲(chǔ)子系統(tǒng)的視頻通道關(guān)閉后向錄像回放管理子系統(tǒng)發(fā)送回放結(jié)束報(bào)告。錄像回放管理子系統(tǒng)處理后發(fā)送回放結(jié)束應(yīng)答給監(jiān)控中心。
2.2.7 刪除錄像資料
用戶需要?jiǎng)h除錄像資料時(shí),通過(guò)監(jiān)控中心平臺(tái)向錄像回放管理子系統(tǒng)發(fā)送刪除請(qǐng)求。其中攜帶了要?jiǎng)h除的錄像資料的ID。
錄像回放管理子系統(tǒng)找出該錄像資料的存放的文件名和所存放的錄像存儲(chǔ)子系統(tǒng),將其封裝生成刪除請(qǐng)求發(fā)送給錄像存儲(chǔ)子系統(tǒng)。
錄像存儲(chǔ)子系統(tǒng)收到刪除請(qǐng)求后,將指定的文件刪除。并給錄像回放管理子系統(tǒng)反饋。如果刪除成功,后者將該錄像資料從數(shù)據(jù)庫(kù)中刪除,然后給監(jiān)控中心平臺(tái)反饋。
3 結(jié)束語(yǔ)
UML語(yǔ)言的使用不僅僅是局限于系統(tǒng)的分析設(shè)計(jì)階段,他影響系統(tǒng)開(kāi)發(fā)整個(gè)過(guò)程,定義良好的UML設(shè)計(jì)模型,在開(kāi)發(fā)中可以使得不同的開(kāi)發(fā)人員遵循相同的理念對(duì)系統(tǒng)進(jìn)行實(shí)現(xiàn)。
系統(tǒng)在UML語(yǔ)言基礎(chǔ)上完成了模塊的定義和功能設(shè)計(jì)部分。利用Visual Studio 2008開(kāi)發(fā)工具完成系統(tǒng)的實(shí)現(xiàn)部分,可以對(duì)所有存儲(chǔ)子系統(tǒng)的存儲(chǔ)空間進(jìn)行集中式的管理;接收來(lái)自用戶平臺(tái)的呼叫,接收視頻流存儲(chǔ)到指定的物理文件中;接收來(lái)自用戶平臺(tái)的呼叫將指定的錄像文件轉(zhuǎn)換成視頻流發(fā)送給用戶平臺(tái)。
參考文獻(xiàn):
[1] 徐寶文,盧紅敏.UML與軟件建模[M].北京:清華大學(xué)出版社,2006:14-22.
[2] Michael Brahe. UML面向?qū)ο蠼Ec設(shè)計(jì)(第2版)[M].北京:人民郵電出版社,2005:12-15.
[3] Schmuller J.李虎,趙龍剛,譯.UML基礎(chǔ)案例與應(yīng)用[M].北京:人民郵電出版社,2004:3-18.
[5] 郝榮霞,徐旭東,陳文博.基于網(wǎng)絡(luò)攝像機(jī)的第三代視頻監(jiān)控系統(tǒng)的研究[J].信息技術(shù),2005,(9).
[6] 紀(jì)鵬之,梁篤國(guó).網(wǎng)絡(luò)視頻監(jiān)控的發(fā)展和應(yīng)用[J].人民公安,2008,(3).
[7] 吳麗平,巴繼東.一個(gè)大型網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)解決方案[J].電視技術(shù),2008,(1).
[8] 楊大全,熊璐.數(shù)字化網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)安全,2008,(2).
[9] 曹春亮,石志強(qiáng),程偉明.網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)管理平臺(tái)的設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用研究,2007,(6).