亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        網(wǎng)絡(luò)攝像機(jī)軟件架構(gòu)的研究與設(shè)計(jì)

        2012-08-10 07:48:10黃言磊葉光明
        電視技術(shù) 2012年23期
        關(guān)鍵詞:應(yīng)用層信令線程

        黃言磊,葉光明

        (武漢郵電科學(xué)研究院,湖北 武漢 430074)

        責(zé)任編輯:任健男

        1 視頻監(jiān)控PU統(tǒng)一平臺(tái)總體架構(gòu)簡(jiǎn)介

        由于嵌入式操作系統(tǒng)具有低功耗、集成度高、可裁剪等優(yōu)點(diǎn),現(xiàn)在嵌入式設(shè)備已經(jīng)越來越多地應(yīng)用于各個(gè)領(lǐng)域。軟件架構(gòu)設(shè)計(jì)是嵌入式設(shè)備的軟件設(shè)計(jì)過程中一個(gè)很重要的環(huán)節(jié)。但不同嵌入式操作產(chǎn)品的軟件架構(gòu)在實(shí)現(xiàn)中存在內(nèi)存泄露、堆棧溢出、競(jìng)爭(zhēng)條件、死鎖、時(shí)序問題、可重入條件等各種問題,造成了嵌入式軟件開發(fā)效率低、周期長(zhǎng),并且影響產(chǎn)品的性能和市場(chǎng)競(jìng)爭(zhēng)力。

        為了很好地解決上述問題,本文提出了一種面向嵌入式應(yīng)用的新的軟件架構(gòu)解決方案——視頻監(jiān)控PU統(tǒng)一平臺(tái)總體架構(gòu)。其架構(gòu)如圖1所示,分為OS適配層、應(yīng)用層、協(xié)議層、硬件適配層。其中OS適配層、協(xié)議層、應(yīng)用層定義為平臺(tái)軟件,平臺(tái)軟件設(shè)計(jì)要求適應(yīng)所有類型的前端設(shè)備,設(shè)備間的差別通過配置文件進(jìn)行開支[1-3]。硬件適配層定義為產(chǎn)品支持庫(kù),該層提供統(tǒng)一的接口與平臺(tái)軟件交互,對(duì)于不同的設(shè)備類型需開發(fā)相應(yīng)的硬件適配層。

        2 OS適配層

        圖1 視頻監(jiān)控PU統(tǒng)一平臺(tái)總體架構(gòu)圖

        OS適配層(Operation-System Adaptation Layer)定義系統(tǒng)公用的統(tǒng)一接口函數(shù),包括網(wǎng)絡(luò)通信接口(TCP/UDP)、系統(tǒng)服務(wù)接口(定時(shí)器、內(nèi)存管理、線程/進(jìn)程管理、消息、信號(hào)量)、文件I/O接口(錄像文件、配置文件)、配置文件接口、系統(tǒng)日志、系統(tǒng)維護(hù)。

        OS適配層的目的是當(dāng)需要將代碼移植到其他操作系統(tǒng)時(shí),只需要修改該層的內(nèi)容。

        2.1 系統(tǒng)服務(wù)接口

        1)定時(shí)器

        在進(jìn)程執(zhí)行的期間需要對(duì)進(jìn)程的執(zhí)行時(shí)間加以控制,從而控制進(jìn)程的執(zhí)行過程,這需要使用定時(shí)器或信號(hào)。定時(shí)器就像鬧鐘,可以設(shè)置一個(gè)時(shí)間,進(jìn)程運(yùn)行到規(guī)定的時(shí)間,“鬧鐘”就會(huì)觸發(fā),而進(jìn)程就可以被觸發(fā)去做一個(gè)特定的工作。

        2)內(nèi)存管理

        內(nèi)存池(Memory Pool)是一種內(nèi)存分配方式。使用new、malloc等API申請(qǐng)分配內(nèi)存會(huì)造成大量的內(nèi)存碎片并進(jìn)而降低性能。內(nèi)存池則是在真正使用內(nèi)存之前,先申請(qǐng)分配一定數(shù)量的、大小相等的內(nèi)存塊留作備用。當(dāng)有新的內(nèi)存需求時(shí),就從內(nèi)存池中分出一部分內(nèi)存塊,若內(nèi)存塊不夠再繼續(xù)申請(qǐng)新的內(nèi)存。這樣可以避免內(nèi)存碎片,使得內(nèi)存分配效率得到提升。

        3)線程/進(jìn)程管理

        Linux是用線程來實(shí)現(xiàn)多任務(wù)并發(fā)的系統(tǒng)。進(jìn)程可以共享大多數(shù)系統(tǒng)資源,同時(shí)擁有足夠分享的上下文維護(hù)各自的控制線程。因此一個(gè)線程的數(shù)據(jù)可以直接為其他線程所用,線程間通信也方便快捷。線程/進(jìn)程管理包括初始化線程、建一個(gè)線程、分離一個(gè)線程、終止線程、線程同步。本架構(gòu)中的所有任務(wù)進(jìn)程都是基于實(shí)時(shí)傳輸控制協(xié)議(RSTP)通信機(jī)制與其他相關(guān)進(jìn)程通信。

        4)消息

        消息隊(duì)列是Linux下進(jìn)程間通信的一種方式,一般用于傳送少量數(shù)據(jù),如果大量數(shù)據(jù)需要在進(jìn)程間共享,則可以用共享內(nèi)存。使用一般過程如下:(1)調(diào)用ftok接口產(chǎn)生一個(gè)key;(2)調(diào)用msgget(使用key作為參數(shù))產(chǎn)生一個(gè)隊(duì)列;(3)進(jìn)程可以用msgsnd發(fā)送消息到這個(gè)隊(duì)列,相應(yīng)的別的進(jìn)程用msgrcv讀取;(4)刪除消息隊(duì)列。

        5)信號(hào)量

        信號(hào)量是提供任務(wù)間通信、同步和互斥的主要手段。適用于保護(hù)多份復(fù)制的資源。

        2.2 錄像文件接口

        錄像文件接口支持前端錄像、平臺(tái)錄像、錄像查詢、錄像回放、錄像下載[4]。

        2.3 數(shù)據(jù)庫(kù)接口

        使用開源的SQLite數(shù)據(jù)實(shí)現(xiàn)錄像、圖片的信息的管理。SQLite數(shù)據(jù)庫(kù)是專門為嵌入式系統(tǒng)設(shè)計(jì)的,與MySQL數(shù)據(jù)庫(kù)相比,具有占用內(nèi)存小的優(yōu)點(diǎn)。

        2.4 配置文件接口

        在多用戶、多任務(wù)環(huán)境中,配置文件控制用戶權(quán)限、系統(tǒng)應(yīng)用程序、守護(hù)進(jìn)程、服務(wù)和其他管理任務(wù)。這些任務(wù)包括管理用戶賬號(hào)、分配磁盤配額、管理電子郵件和新聞組,以及配置內(nèi)核參數(shù)。

        2.5 系統(tǒng)日志

        在本系統(tǒng)中,所有的文件系統(tǒng)的變化、添加和改變都被記錄到“日志”中。每隔一定時(shí)間,文件系統(tǒng)會(huì)將更新后的文件及文件內(nèi)容寫入磁盤,之后刪除這部分日志。重新開始新日志記錄。日志文件系統(tǒng)能夠詳細(xì)記錄系統(tǒng)每天發(fā)生的各種各樣的事件,使數(shù)據(jù)、文件變得安全。

        2.6 系統(tǒng)維護(hù)

        系統(tǒng)維護(hù)模塊實(shí)現(xiàn)對(duì)系統(tǒng)應(yīng)用任務(wù)的活動(dòng)狀態(tài)監(jiān)控,所有被監(jiān)控的任務(wù)通過定時(shí)發(fā)送活動(dòng)消息到系統(tǒng)維護(hù)模塊以表示其活動(dòng)狀態(tài),如果在設(shè)定的時(shí)間內(nèi)沒有收到應(yīng)用任務(wù)的活動(dòng)狀態(tài)將啟動(dòng)維護(hù)方式,包括重新啟動(dòng)系統(tǒng)。

        3 應(yīng)用層(Application Layer)

        應(yīng)用層實(shí)現(xiàn)系統(tǒng)應(yīng)用業(yè)務(wù)流程。包括業(yè)務(wù)應(yīng)用(簡(jiǎn)稱Cmd)、媒體傳輸(簡(jiǎn)稱Media)、設(shè)備管理(簡(jiǎn)稱Mg,實(shí)現(xiàn)告警輸入輸出相關(guān)功能)、存儲(chǔ)(簡(jiǎn)稱Record)、User Interface模塊(簡(jiǎn)稱Ui)、網(wǎng)管模塊(簡(jiǎn)稱Nm)等模塊。應(yīng)用層應(yīng)達(dá)成如下目的:考慮不同的平臺(tái)接入需求,可方便擴(kuò)展支持接入其他的平臺(tái)。

        應(yīng)用層功能軟件的運(yùn)行由多個(gè)任務(wù)進(jìn)程完成,由一個(gè)總的控制進(jìn)程管理所有的進(jìn)程,它負(fù)責(zé)監(jiān)控所有任務(wù)進(jìn)程的狀態(tài),同時(shí)由于每個(gè)進(jìn)程都具有初始態(tài)、掛起態(tài)、運(yùn)行態(tài)和終止態(tài)等4種基本狀態(tài),總控制進(jìn)程通過發(fā)送消息命令控制這4種狀態(tài)之間的切換。這種機(jī)制的優(yōu)點(diǎn)在于只要定義好任務(wù)接口,各個(gè)任務(wù)進(jìn)程模塊就可以被當(dāng)作獨(dú)立軟件模塊來操作實(shí)現(xiàn)。很明顯,嵌入式系統(tǒng)應(yīng)用層這一級(jí)的開發(fā)提高了代碼的復(fù)用度。

        應(yīng)用層的業(yè)務(wù)交互如圖2所示。

        視頻監(jiān)控平臺(tái)(包括其他廠家平臺(tái))通過Cmd模塊實(shí)現(xiàn)信令交互。媒體處理信令通過調(diào)用Media模塊接口進(jìn)行。存儲(chǔ)抓拍信令通過調(diào)用Record模塊接口進(jìn)行。其他信令(包括參數(shù)配置等)直接調(diào)用Mg模塊接口。

        Web客戶端通過Nm模塊實(shí)現(xiàn)對(duì)設(shè)備的訪問。Nm模塊中,對(duì)于設(shè)備的操作統(tǒng)一通過Mg模塊實(shí)現(xiàn)。對(duì)于媒體流,Nm模塊需要與Media的媒體控制子模塊進(jìn)行交互。

        對(duì)于車載、單兵等具有本地顯示的設(shè)備,通過Ui實(shí)現(xiàn)對(duì)設(shè)備的訪問。Ui模塊中,對(duì)于設(shè)備的操作統(tǒng)一通過Nm模塊實(shí)現(xiàn)。

        圖2 應(yīng)用層的業(yè)務(wù)交互示意圖

        3.1 業(yè)務(wù)應(yīng)用模塊

        業(yè)務(wù)應(yīng)用模塊實(shí)現(xiàn)與平臺(tái)之間的信令交互處理流程。實(shí)現(xiàn)要求如下:接收并處理來自平臺(tái)的SIP信令;媒體傳輸信令調(diào)用媒體傳輸模塊接口函數(shù);告警處理信令調(diào)用告警處理模塊接口函數(shù)。

        業(yè)務(wù)交互模塊分為信令交互子模塊和信令處理子模塊。信令交互子模塊實(shí)現(xiàn)信令的接收、分發(fā)和發(fā)送等功能。信令處理子模塊實(shí)現(xiàn)對(duì)信令的處理流程。

        3.2 媒體傳輸模塊

        媒體傳輸模塊實(shí)現(xiàn)設(shè)備與平臺(tái)之間的媒體傳輸,包括視頻傳輸、音頻傳輸,支持UDP傳輸和TCP傳輸。模塊分兩部分,一部分mediaControl用于媒體控制,主要是指對(duì)設(shè)備通道資源的控制,編碼器開啟關(guān)閉,通道占用與釋放的工作都在這個(gè)文件中進(jìn)行處理;另一部分為mediaTrans,用于媒體傳輸部分,專門負(fù)責(zé)媒體數(shù)據(jù)的傳輸,現(xiàn)支持TCP與UDP傳輸。將媒體模塊分為兩部分的好處在于以后如果需要接入其他平臺(tái),只需修改mediaTrans模塊的傳輸協(xié)議部分,mediaControl部分可以不用修改,直接調(diào)用。

        3.3 存儲(chǔ)模塊

        存儲(chǔ)模塊分為錄像存儲(chǔ)子模塊、抓拍子模塊和錄像回放子模塊。

        錄像存儲(chǔ)子模塊錄像文件的類型分為三種,即定時(shí)錄像、報(bào)警錄像和手動(dòng)錄像。定時(shí)錄像又分為每天模式和每周模式,不管什么模式,每天最多有3個(gè)定時(shí)錄像的時(shí)間段,且每個(gè)錄像的時(shí)間段是不能重疊的,也不能跨天。報(bào)警錄像可能包括報(bào)警預(yù)錄和延遲錄像,其中報(bào)警預(yù)錄是可選的,且預(yù)錄的時(shí)間不超過30 s。

        錄像模塊主要由以下子模塊組成:1)定時(shí)器。該定時(shí)器的定時(shí)精度為1 s,用于檢測(cè)周期錄像的開始和結(jié)束時(shí)間,同時(shí)維護(hù)錄像控制中的相對(duì)時(shí)間。2)錄像線程。從預(yù)錄隊(duì)列中取視頻數(shù)據(jù),然后保存到存儲(chǔ)設(shè)備。3)緩沖隊(duì)列。編碼庫(kù)出的視頻數(shù)據(jù),加上存儲(chǔ)幀頭以后,存于緩沖隊(duì)列中。為了避免出現(xiàn)內(nèi)存碎片,同時(shí)兼顧每個(gè)節(jié)點(diǎn)的訪問速率,緩沖隊(duì)列應(yīng)采用大內(nèi)存管理機(jī)制。根據(jù)視頻的最大碼率及預(yù)錄的時(shí)間,一次性分配所有的內(nèi)存空間。緩沖隊(duì)列采用數(shù)組的形式,節(jié)點(diǎn)空間的分配和回收都由大內(nèi)存管理模塊進(jìn)行。

        錄像文件的命名規(guī)則為:PUID_通道號(hào)_錄像類型_錄像開始時(shí)間.后綴。錄像名共43 byte,每個(gè)域所占的字節(jié)數(shù)如表1所示,對(duì)應(yīng)的格式如表2所示。例如:420000000267908936_01_01_20111105160000.264。

        表1 錄像命名規(guī)則中每個(gè)域的詳細(xì)信息表

        表2 錄像命名規(guī)則中每個(gè)域的格式表

        抓拍子模塊的規(guī)則與錄像規(guī)則類似。

        4 協(xié)議層(Protocol Layer)

        協(xié)議層實(shí)現(xiàn)與PU相關(guān)的網(wǎng)絡(luò)協(xié)議,包括SIP,RTP,RTCP,RTSP,SOAP,HTTP 等。

        5 硬件適配層(Hardware Adaptation Layer)

        硬件適配層的目的是當(dāng)系統(tǒng)需要支持不同的硬件方案時(shí),只需要修改硬件適配層的內(nèi)容。該層包括看門狗、串口、CODEC、告警、設(shè)備配置、云臺(tái)控制等模塊。采用嵌入式DSP處理器用于計(jì)算離散時(shí)間信號(hào),在圖像處理方面上有很高的編譯效率和執(zhí)行速度。該層位于架構(gòu)的最底層,它封裝了硬件的各種功能行為,包括硬件初始化、中斷的產(chǎn)生和處理、硬件看門狗啟動(dòng)、硬件時(shí)鐘管理,提供了對(duì)各種開發(fā)板的硬件功能操作的統(tǒng)一軟件接口,這是保證操作系統(tǒng)可移植性的關(guān)鍵。

        6 總結(jié)

        本文提出的這種新的軟件架構(gòu)方案,具有較好的容錯(cuò)能力、可重用性、安全性、擴(kuò)展性、可管理性。當(dāng)某一層需要調(diào)整時(shí),可以不對(duì)其他層面進(jìn)行任何修改,從而降低了整個(gè)設(shè)計(jì)系統(tǒng)之間的依賴性。同時(shí)它能夠讓設(shè)計(jì)開發(fā)人員在編碼分工變得更加明確更加優(yōu)化,只要做好各個(gè)層次的接口定義即可,縮小了工作冗余量,提高了研發(fā)人員的效率。通過研究和項(xiàng)目實(shí)踐證實(shí)了這種方案可被很好地用于中興力維接入平臺(tái)。

        [1]梅大成,楊大千,趙娜.基于Linux的嵌入式網(wǎng)絡(luò)攝像機(jī)設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007(23):45-47.

        [2]勁松.基于TMS320DM355的高清網(wǎng)絡(luò)攝像機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[D].南京:南京郵電大學(xué),2009.

        [3]湯凱,劉峰.基于TMS320DM355的網(wǎng)絡(luò)高清視頻監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電視技術(shù),2009,33(12):98-101.

        [4]吳海龍,孫運(yùn)強(qiáng).網(wǎng)絡(luò)攝像機(jī)監(jiān)控系統(tǒng)的應(yīng)用研究[D].太原:中北大學(xué),2010.

        猜你喜歡
        應(yīng)用層信令線程
        SLS字段在七號(hào)信令中的運(yùn)用
        移動(dòng)信令在交通大數(shù)據(jù)分析中的應(yīng)用探索
        基于信令分析的TD-LTE無線網(wǎng)絡(luò)應(yīng)用研究
        淺談linux多線程協(xié)作
        基于分級(jí)保護(hù)的OA系統(tǒng)應(yīng)用層訪問控制研究
        LTE網(wǎng)絡(luò)信令采集數(shù)據(jù)的分析及探討
        新一代雙向互動(dòng)電力線通信技術(shù)的應(yīng)用層協(xié)議研究
        物聯(lián)網(wǎng)技術(shù)在信息機(jī)房制冷系統(tǒng)中的應(yīng)用
        Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
        Linux線程實(shí)現(xiàn)技術(shù)研究
        大胆欧美熟妇xxbbwwbw高潮了 | 国产一区二区三区免费观看在线| 岛国av无码免费无禁网站| 婷婷射精av这里只有精品| 少妇高潮潮喷到猛进猛出小说| 国产人在线成免费视频| 少妇邻居内射在线| 人妻少妇看A偷人无码电影| 无码流畅无码福利午夜| 99熟妇人妻精品一区五一看片| 亚洲一区二区综合精品| 精品国产一区二区三区av免费| 亚洲三级视频一区二区三区 | 亚洲夜夜性无码| 人与禽性视频77777| 久久久久久国产精品无码超碰动画| 国产精品久久久久久无码| 狠狠丁香激情久久综合| 亚洲中文字幕日产喷水| 精品少妇白浆一二三区| 成人全部免费的a毛片在线看| 中文字幕人妻饥渴浪妇| 少妇夜夜春夜夜爽试看视频 | 亚洲肥婆一区二区三区| 欧美丰满熟妇xxxx性ppx人交 | 一本色道久久婷婷日韩| 中文字幕亚洲欧美在线不卡| 色八区人妻在线视频免费| 国产精品每日更新在线观看| 亚洲天堂一二三四区在线| 成h视频在线观看免费| 人妻精品久久久久中文字幕| 久久精品无码免费不卡| 国产精品欧美久久久久老妞| 国产亚洲精品性爱视频| 亚洲一区二区三区乱码在线| 亚洲国产成人av毛片大全| 三级黄色片免费久久久| 国产成人av一区二区三区| 一区二区无码中出| 亚洲国产av中文字幕|