999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

設計模式在網絡視頻監控系統設計開發中的應用

2010-11-07 08:40:13劉炳均譚國斌
中國科技信息 2010年11期
關鍵詞:功能系統設計

劉炳均 譚國斌

中國人民解放軍總后軍事交通運輸研究所車輛裝備檢測試驗中心 300161

設計模式在網絡視頻監控系統設計開發中的應用

劉炳均 譚國斌

中國人民解放軍總后軍事交通運輸研究所車輛裝備檢測試驗中心 300161

隨著視頻監控系統的功能日益復雜,監控軟件的開發面臨著許多諸如代碼冗余、開發效率低等新的問題。利用設計模式可以更加簡單方便地復用成功的設計和體系結構,從而更快更好的完成系統的設計。實踐證明,充分利用設計模式提高了開發的效率,增強了系統的可維護性和可擴展性。

視頻監控;設計模式

網絡視頻監控系統是以攝像機為前端設備,以視頻服務器,硬盤錄像機等設備為中介,以計算機網絡為信息傳輸平臺,以計算機為終端,實現數字視頻的傳輸、存儲和播放等功能的安全防范系統。它以其直觀、準確、及時和信息內容豐富而廣泛應用于生產管理、保安等許多場合。

進入二十一世紀,隨著傳輸技術、計算機、網絡以及圖像處理技術的飛速發展,視頻監控技術也有了很大的提高。飛速發展的技術和人們的需求要求視頻監控系統實現基于各種網絡的點對點、一點對多點、多點對多點的實時監控、遙控攝像機、報警處理、信息管理等多種功能。這就要求網絡視頻監控系統具有很強的可維護性、可擴展性,對軟件開發人員提出了挑戰。

本文在對網絡視頻監控系統進行分析的基礎上,針對系統開發中遇到的幾個問題,提出了基于設計模式的解決方案,實現了一個具有分布監控、集中管理,任意整合、隨意擴充等功能的網絡視頻監控系統。

1.設計模式

設計模式是對被用來在特定場景下解決一般設計問題的類和相互通信的對象的描述。它是面向對象設計者在實際工作中針對特定問題的經驗和解決方案的總結,它通過規范和有效的形式記錄這些設計經驗,使人們可以更加簡單方便地復用成功的設計和體系結構,設計出復用性和靈活性更好的系統。

設計模式使得軟件系統的對象建模更加合理,對象間的耦合度更小,能獲得更高層次的設計復用和代碼復用。同時,使用設計模式可以降低軟件系統設計的復雜度。將軟件設計結果及其使用的設計模式同時記錄,可以幫助開發人員理解這些可復用思想,提高軟件系統的可理解性。

1995年Gamma等4人在《Design Patterns Elements of Reusable Object -Oriented Software》一書中介紹了3類(創建型、結構型和行為型)23種常用的設計模式。這本書的發表是設計模式發展的一個重要的里程碑式的標志性事件。

2.系統結構

網絡視頻監控系統分為兩個部分,服務器端和客戶端。其中,服務器端的主要功能有:設備管理、軟件中間件管理、用戶權限管理、系統配置等。客戶端的主要功能有:實時監控、錄像查看、報警處理、視頻服務器配置等。圖1所示為系統的功能結構圖。

3.系統分析

根據系統的功能需求對系統進行分析,系統設計中有幾個難點:

3.1 綜合配置管理

在系統中,將所有的硬件設備(攝像機、硬盤錄像機等)、軟件中間件(流媒體服務器、流轉發服務器、電視墻服務器等)、用戶、方案和系統設置統稱為“資源”。另外系統中還存在一種特殊的資源——“區域”。區域是一個抽象的概念,它可以包含子區域或直接包含各種硬件設備或軟件中間件。根據需求,在所開發的視頻監控系統中,需要更改資源的屬性,并且把所有的資源整合到一個層次分明的樹形結構中,進行統一配置管理。這就需要對資源類進行抽象與重組。

3.2 SDK的復雜性

系統的客戶端需要實現的功能主要有:圖像預覽、文件下載回放、云臺控制、語音對講、監聽、錄像、抓拍、日志管理、系統配置等等。這些功能都是通過對具體的DVR(硬盤錄像機)進行控制來實現的。

DVR廠家提供了訪問DVR的SDK接口,這些接口有上千個之多。系統需要支持多個廠家的設備,而每個廠家提供的SDK又各不相同。因此,系統開發的一大困難是:系統SDK相當復雜,在程序中直接調用SDK勢必導致代碼的臃腫、重復,不利于系統的維護和擴展。因此,系統設計的目標是既能同時兼容多個廠家設備的SDK,又能保證DVR訪問接口的統一。

3.3 報警處理要求

系統中的DVR可以產生兩大類的報警信息:系統報警和異常報警。系統報警主要是指DVR的硬盤異常報警、制式異常報警、非法訪問報警等;異常報警主要是指視頻信號的通道移動偵測報警、DVR的報警輸入端口上傳的報警等。

對于不同的報警信息系統有默認的處理方式,同時系統還需要支持用戶自定義的報警的處理方式。比如對于通道移動偵測報警,用戶可能要求系統自動顯示該通道的視頻信號,同時要彈出對話框提示發生了報警,有可能還需要彈出該通道所在地點的電子地圖。也就是說對于同一種報警信息,可能同時有多種不同處理方式,這些處理方式是不確定的,是可以通過用戶來自定義的。這要求系統有極大的靈活性,可以隨時添加或刪除不同的報警處理方式。這種報警信息的處理能夠代表系統中的一類問題,即對于不確定的消息的響應。

4.系統設計

在對系統分析的基礎上開始進行系統設計。首先,對系統中對象進行抽象,確定系統中的類和類之間的關系,然后針對系統特點提出了基于設計模式的解決方案,很好的解決了系統設計中的難點。

4.1 資源抽象與重組

根據系統資源的種類,定義不同的資源相對應的類。主要有:區域類(C R e g i o n)、嵌入式硬盤錄像機類(C E m b e d d e d D e v)、流媒體服務器(C S t r e a m S e r v e r N o d e)、用戶類(CUser)、預案類(CActionPlan)、動作類(C A c t i o n)、預覽組類(C B r o w s e G r o u p)、預覽窗口(CBrowseWindow)等等。

要將不同資源組成一個樹形的結構,就要求不同的資源之間存在父子關系。在系統設計中,使用設計模式中的Composite模式解決這一問題。

Composite模式的意圖是將對象組合成樹形結構以表示“部分—整體”的層次關系。Composite使得用戶對單個對象和組合對象的使用具有一致性。其結構圖如圖2所示。

圖2 Composite模式結構圖

要實現樹形結構,所有的資源類必須擁有父節點和子節點的集合,這是資源類之間的共性,通過提煉這個共性,抽象出一個模板類CParentClass,用這個類來描述節點間的父子關系。CParentClass的結構圖如圖3所示。

圖3 CParentClass結構圖

以CParentClass為模板,構造一個基本節點類CBaseNode,用于表示樹型結構中的節點,作為Composite模式中的Component,所有的硬件、軟件類節點、用戶類節點、預案類節點、預覽組類節點和系統配置類節點都從該類派生,都成為一個Composite。這樣所有的相關類就都具有了父子關系,可以形成一個完整的清晰的樹形結構。

4.2 SDK封裝

面對系統SDK過于繁瑣的問題,系統需要提供一個統一的接口來實現所有DVR的功能。在系統設計中,使用設計模式中的Facade模式解決了這個問題。

Facade模式的意圖是為子系統中的一組接口提供一個一致的界面,它定義了一個高層接口,這個接口使得這一子系統更加容易使用。這個意圖與系統的需求完全相符。

不同的廠家生產的不同型號的DVR的SDK接口并不相同,但是DVR所提供的功能卻大同小異。通過功能抽象,將對DVR的基本操作封裝到一個CDVR類中,這是一個虛基類,它沒有具體的實現,只提供了一些功能接口供上層調用,從而對客戶屏蔽了復雜的SDK。

具體不同廠家DVR功能,是通過派生CDVR類來實現的。比如希望系統支持“海康”嵌入式DVR,就從C E m b D V R類(嵌入式D V R類,從CDVR類派生)派生出了CHikEmbDVR類。在CHikEmbDVR類中,通過調用SDK實現了對海康嵌入式DVR的各種操作。這幾個類的結構圖如圖4所示。這樣就實現了一個以CDVR類為最上層接口的F a c a d e模式的子系統。

圖4 DVR系列類關系圖

4.3 報警功能的設計

對報警處理的要求是可以隨時添加或刪除不同的報警處理方式。就是說需要實現這樣的功能:當某資源的報警狀態發生改變時,所有需要對該報警進行響應的對象都要針對該報警信息做出相應的反應。解決這個問題,應用了Observer模式。

圖5 Observer模式結構圖

圖6 系統報警監聽處理類結構圖

圖7 報警監聽處理順序圖

Observer模式的意圖是定義對象間的一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知,并被自動更新。Observer模式的結構圖如圖5所示。

在系統中建立了兩個類:CDVRMsgHandler和CListener類。其中CDVRMsgHandler類用來處理所有上傳的報警信息,在系統中充當了目標者(Subject)的角色,CListener類用來監聽CDVRMsgHandler類發出的報警信息,在系統中充當了觀察者(Observer)的角色,所有可能需要對報警信息做出響應的類都從CListener類派生,作為具體報警監聽者。在系統運行時,需要監聽報警的Listener只需要在CDVRMsgHandler類對象中注冊,就可以監聽到所有的報警信息,從而對相應的報警做出響應。具體的報警監聽的類結構圖如圖6所示,報警產生時程序對報警的處理順序如圖7所示。

在系統中,還應用設計模式解決了許多其他的問題,比如用A b s t r a c t Factory模式解決了多種設備即插即用的問題;用Mediator模式解決了多個對象間消息傳遞的問題;用Adapter模式實現了CEmbeddedDev類對象與CDVR類對象的對應,從而解決了通過資源對象播放視頻的問題。限于篇幅關系,具體的解決方案這里不再贅述。

5.結束語

本文以網絡視頻監控系統的開發為線索,討論了設計模式在面向對象的軟件設計開發中的應用。面對系統開發中遇到的各種難題,提出了各種基于設計模式解決方案。通過設計模式的應用,系統的結構更加合理,開發效率大大提高,系統的可擴展性、可維護性更強。

如今,設計模式已經在軟件生產中獲得了越來越廣泛的應用,它對于降低軟件開發成本,提高生產效率和軟件的可靠性具有越來越重要的意義。

[1] Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides等著;李英軍等譯.設計模式:可復用面向對象軟件的基礎[M].第一版.北京:機械工業出版社.2000.9; 20-25

[2] 文艾,劉鵬,莫國慶,周光友.視頻監控系統可復用播放器框架研究[J].計算機應用研究.2008;25(增刊)∶2090-2092

10.3969/j.issn.1001-8972.2010.11.040

猜你喜歡
功能系統設計
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
關于非首都功能疏解的幾點思考
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 在线一级毛片| 91精品国产自产在线老师啪l| 毛片在线播放a| 国产三级a| 91蜜芽尤物福利在线观看| 国产精品自在线天天看片| 亚洲六月丁香六月婷婷蜜芽| 中文字幕久久波多野结衣| 丝袜国产一区| 一本大道香蕉高清久久| 一级毛片在线免费视频| 成人亚洲视频| 久久综合激情网| 无遮挡一级毛片呦女视频| 欧美亚洲一区二区三区在线| 日韩亚洲高清一区二区| 精品久久久久成人码免费动漫| Jizz国产色系免费| 天天色天天综合网| 伊人狠狠丁香婷婷综合色| 国产成人精品第一区二区| 欧美成人手机在线观看网址| 成人字幕网视频在线观看| 国产乱论视频| 久久美女精品国产精品亚洲| 久久综合丝袜长腿丝袜| 国产成人免费| 国产一区二区三区在线观看免费| 国产激爽大片高清在线观看| 美女无遮挡免费网站| 一级爆乳无码av| 亚洲永久精品ww47国产| 日本欧美一二三区色视频| 找国产毛片看| 亚洲国产日韩欧美在线| 一级香蕉人体视频| a亚洲视频| 69综合网| 午夜视频免费试看| 免费一级成人毛片| 久热99这里只有精品视频6| 国产高清无码麻豆精品| 欧美国产在线看| 亚洲国产精品美女| 国内熟女少妇一线天| 91年精品国产福利线观看久久| 色综合久久88色综合天天提莫| 国产在线八区| 欧美.成人.综合在线| 制服丝袜在线视频香蕉| 日韩一区二区三免费高清| 国产亚洲日韩av在线| 精品国产香蕉伊思人在线| 欧美亚洲国产精品久久蜜芽| 日韩二区三区| 久热这里只有精品6| 欧美国产在线精品17p| 日韩欧美中文在线| 少妇精品久久久一区二区三区| 国产成人精品亚洲77美色| 一级爆乳无码av| 亚洲AⅤ无码国产精品| 农村乱人伦一区二区| 亚洲美女一区| 国产精鲁鲁网在线视频| 国产精品无码一二三视频| 91黄色在线观看| 婷婷丁香在线观看| 亚洲成人免费看| 欧美翘臀一区二区三区| 园内精品自拍视频在线播放| 日韩一级毛一欧美一国产| 亚洲美女一区二区三区| 国产免费久久精品99re丫丫一| 亚洲A∨无码精品午夜在线观看| 亚洲天堂自拍| 熟妇丰满人妻av无码区| 国产精品女主播| 无码区日韩专区免费系列| 亚洲色图欧美激情| 巨熟乳波霸若妻中文观看免费| 国产乱肥老妇精品视频|