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

一種無線車載視頻監控專用文件系統的設計

2016-09-12 02:34:33趙國開馬洪兵陳從華
電子設計工程 2016年4期

趙國開,馬洪兵,陳從華

(1.清華大學 電子工程系,北京 100084;2.廈門雅迅網絡股份有限公司 福建 廈門 361008)

一種無線車載視頻監控專用文件系統的設計

趙國開1,2,馬洪兵1,陳從華2

(1.清華大學 電子工程系,北京 100084;2.廈門雅迅網絡股份有限公司 福建 廈門 361008)

本文針對現有無線車載視頻監控設備上在用的文件系統的不足之處,提出了一種滿足無線車載視頻監控應用的流式文件系統。本文從文件系統結構,存儲,讀取,檢索等各方面闡述了設計方案。流式文件系統已經在一些實際項目上批量投產使用,能很好的解決現有文件系統中的一些不足,滿足了高效,可靠,穩定的實際訴求。

流式文件系統;主索引塊;av存儲塊;數據節;時間片

隨著傳輸速率越來越快的3G和4G業務在國內的逐漸推廣,助推了無線車載視頻監控行業的快速發展。無線車載視頻監控系統采用3G/4G通信傳輸技術并輔以成熟的gps技術可對各種車輛進行實時音視頻監控、實時錄像存儲、歷史錄像回傳,車輛行駛軌跡跟蹤等功能,實現對車輛的運行情況的全方位跟蹤。因此越來越受用戶青睞,在各行各業的運營車輛上的使用也越來越普及,無論是在公交車,出租車,長途客運車,還是物流配送車,銀行運鈔車,110警車等等都能看到無線車載視頻監控設備的身影。而伴隨著交通部即將推出的車載視頻技術標準,原來2G業務下車載gps設備將會往3G/4G車載gps視頻設備升級,在市場需求和國家政策的推動下未來車載無線視頻將在運營車輛上得到越來越廣泛的使用[1-2]。

對車載視頻監控系統來說,音視頻存儲技術是關鍵的技術,而現在一些主流文件系統并不適合這種場合的數據存儲或者說或多或少存在一些不足,首先就存儲效率來說,現有的主流文件系統一般都需要對音視頻數據按時間間隔進行分包存儲(例如30分鐘存儲一個文件),因為存儲介質滿了之后需要檢索一些舊文件進行刪除,保證新錄下來的音視頻數據能夠存儲下來,這樣連續的存儲、刪除帶來的不僅帶來磁盤碎片,而且磨損平衡算法做的不好導致存儲介質壽命不高[3]。其次一般主流的文件系統都需要掛載后才能使用,特別是日志型文件系統掛載時需要進行合法性、完整性檢驗,掛載比較費時,如果文件系統一些數據遭破壞,這個時間會更長,甚至掛載不上,無法使用[4]。再次車輛環境不可避免的出現異常斷電的情況,導致音視頻數據嚴重丟失,甚至文件系統損壞無法使用的情況,常常在出現意外情況客戶要調取相應時段的音視頻數據時,卻無法調取這給客戶非常不好的體驗,導致客戶投訴激增。因此一個高效,穩定,可靠的文件系統對車載視頻監控系統而言至關重要。本文就針對音視頻存儲的特點和現實訴求設計了一個針對這種場合應用的文件系統。

1 流式文件系統設計概述

本文設計的文件系統取名流式文件系統,因為大部分情況下數據能按照字符流的方式被有序訪問。流式文件系統適用于的存儲介質有SD卡,固態硬盤和機械硬盤等(現在車載視頻設備用來存儲音視頻數據的主要三種存儲介質)。現在車載視頻監控設備大多采用Linux操作系統,因此流式文件系統主要在Linux操作系統進行設計,驗證和測試,當然也可以移植到其他操作系統上。

流式文件系統不對接虛擬文件系統,因此應用程序可以直接調用流式文件系統的相關接口進行操作如圖1所示,這樣不僅提高了效率,而且無需對文件系統進行掛載而避免了因掛載而出現的問題[5]。

圖1 流式文件系統在Linux系統中的框架圖Fig.1 Streaming file system in Linux system framework

下文拿硬盤作為存儲介質來介紹設計思路,SD卡也類似。流式文件系統把硬盤設計為兩個分區:擴展分區和音視頻數據分區。其中從0扇區開始到2 G字節處,作為擴展分區,以便用來作為被擴展的用途進行功能擴充,音視頻數據存儲從線性地址為2 G字節的開始處直至剩余空間 (如圖2所示)。

下面來具體說明下硬盤的數據分布,從2 G字節開始處,將硬盤劃分成以4M字節為單元的很多的塊,我們稱之為av存儲塊(即音視頻存儲塊),編號從0開始,直至所有剩余空間。以一個2048 G的硬盤為例子,如果以4 M為單元劃分塊,總共有524288個av存儲塊,如果為每一個av存儲塊建立一個4字節的索引,則需要2 M字節。這樣索引塊非常大,因為索引塊非常重要,盡可能不要出錯,因此索引塊盡可能小,索引我們設計將每16個av存儲塊對應一個4字節的索引,這樣,一個2048 G的硬盤只需要200 k的索引。同時我們將硬盤從0扇區開始處的連續2個4M字節的塊作為av存儲塊的索引塊,一個作為av主索引塊,一個作為av主索引塊的備份塊。av索引塊被分成很多4字節的單元,第0個4字節存儲第0個av存儲塊的錄制時間,第1個4字節存儲第16個av存儲塊的錄制時間,第2個4字節存儲第32個av存儲塊的錄制時間,依次類推。根據這樣的映射關系,從av索引塊上的獲得時間后,可以直接定位到該時間對應的av存儲塊的位置。整個硬盤的音/視頻數據和對應的索引的映射如圖3所示[6-7]。

圖2 硬盤分區結構圖Fig.2 Hard disk partition structure diagram

圖3 音/視頻數據和對應的索引的映射圖Fig.3 Audio/video data and corresponding index map

從av索引塊獲得時間,進而定位到該時間對應的av塊的位置有一個不足之處,就是每16個av存儲塊才記錄了一個索引,因此時間粒度比較粗糙,如果想進一步獲得更細的時間粒度,可以讀取av存儲塊本身的內容。為了鑒別正在使用的硬盤是否為我們用來存儲av存儲塊數據的硬盤,在av主索引塊4 M字節的最后16個字節全部填寫為0x55。在av索引塊中,使用連續4個字節的0xaa來表達最近記錄的錄像時間就是0xaaaaaaaa的上一個索引,如果硬盤初始化應該根據av塊的個數將對應的索引全部記錄為0xaa表明當前沒有記錄任何數據。

av存儲塊的數據分布說明:每一個av存儲塊共4 M字節,這4 M字節共分為1024個數據節,每個數據節為4096 (4 k)個字節(這里規定為4 k字節主要是為了方便硬盤的尋址,因為現在市面上很多硬盤的物理扇區為4k字節,這樣,將section大小定義為4 k,當我們尋址出錯的時候,很容易尋址到下一個節)。每個av存儲塊的第0個數據節我們稱之為av頭節,他的內容分布:標志+錄制時間+數據連續標志(和上一av存儲塊的數據是否連續)+每個通道是否有音視頻數據+gps信息+觸發事件+保留區。av頭節結構如圖4所示。

圖4 av存儲塊結構分布圖Fig.4 av block structure

每個av存儲塊第1至第1023個數據節我們稱之為av數據節,他的內容分布:標志+錄制時間+音頻或視頻輸入通道號+編碼參數+有效數據長度+保留+音視頻數據。av數據節結構如圖4所示。

2 音視頻數據的存儲

我們為一路攝像頭分配兩個環形緩存區,一個音頻環形緩存區、一個視頻環形緩存區,這樣可以實現預錄的功能,也就是說在事件觸發之前放入到緩沖區的數據,在事件觸發后可以寫入到硬盤。為了方便隨后向硬盤的av存儲塊寫入數據,我們將一個環形緩存區的長度設為一個av數據節的整數倍,并規定每次向環形緩存區寫入一個av數據節數據。

每一個環形緩存區每次只能寫入1路音頻或者視頻數據。如果有多個線程在接收多個攝像頭的編碼數據,則可以在每一個線程中都調用2個環形緩存區分別寫入音頻和視頻數據。寫入環形緩沖區的音視頻數據,并沒有馬上寫入到硬盤,直到收到寫入硬盤請求消息,才會寫入硬盤。

如果收到寫入硬盤的請求,則創建一個工作線程,將先前寫入到環形緩沖區的數據寫入到硬盤,并且將接下來寫入到環形緩沖區的數據也寫入到硬盤。整個寫入過程見圖5,寫入步驟如下:

1)輪詢所有用到的環形緩存區第一個未讀的av數據節,并獲取相應的錄制時間。

2)對比這些av數據節的錄制時間,并找到錄制時間最早的那一個av數據節。

3)讀取最早的那一個av數據節數據,并寫入硬盤的av存儲塊中。

①如果向其寫入的av數據節,剛好是av存儲塊的第1 個av數據節則同時更新這個av存儲塊的av頭節。

②如果向其寫入的av數據節,剛好是av存儲塊的第1023個av數據節并且這個av存儲塊剛好是大數據塊的第15個av存儲塊,則更新主索引塊和備份索引。

圖5 音視頻數據寫入硬盤示意圖Fig.5 Audio and video data is written to disk schematic

③如果大數據塊n(即硬盤的最后一個大數據塊)已經寫滿,下一次從大數據塊0開始覆蓋循環寫。

4)跳到步驟1)直到所有用到的環形緩存區數據都讀完。

3 音視頻數據的讀取

因為音視頻數據存儲的時候是嚴格按時間順序進行存儲的,所以當需要從硬盤中讀取某路音頻或者視頻的數據的時候,只需輸入查詢的起始時間和查詢的結束時間就可以準確定位到需要讀取音/視頻數據的起始地址和結束地址,繼而利用起始地址開和結束地址輕松的去讀取需要的數據。如圖6所示,具體分為3個步驟實現:

1)創建一個流,需要指定查詢的通道號(也可以是所有通道),查詢的起始時間,查詢的結束時間,創建成功會返回了該流的句柄stream_handle;

2)利用上一步驟創建的流句柄,從流中不斷循環讀取數據;

3)不在需要讀取數據后,關閉流。

注意以上3個步驟必須配套實現,缺一不可。如圖6所示,如果剛好讀到av存儲塊4 M的頭,則讀取av頭節+av數據節否則只讀取av數據節。另外,如果多個線程需要讀取多個通道的數據,則每讀取一個通道或者每讀取同一個通道的不同的時間段,都需要重新創建一個流來進行讀取。同一個流的句柄不能在多個線程中同時使用,否則會出現數據分流或其他意想不到的情況。

圖6 從硬盤讀取音/視頻數據示意圖Fig.6 Audio/video data read from the hard disk

4 音視頻數據的查找

類似讀取數據,當需要從硬盤中搜索某路音頻或者視頻的數據的時候,只需輸入搜索的起始時間和搜索的結束時間就可以從硬盤中讀取出滿足通道號和時間段要求的時間片。搜索并不讀取數據本身,只是讀取時間片信息。在指定的時間段之內如果音視頻數據不是連續存儲的(可能設備復位等造成的存儲中間斷開),則會還回多個時間片,最多可以還回256個時間片,每個時間片包含起始時間,結束時間,是否有音視頻數據,音視頻數據的編碼參數等。一般應用程序可以通過搜索指定的時間段來查詢硬盤中是否含有該時間段的音視頻數據,如圖7所示。

圖7 搜索滿足要求的時間片Fig.7 Search meet the requirements of time slice

5 結 論

至此流式文件系統主要結構已經基本介紹完畢。流式文件系統根據無線車載視頻監控的特點,把持續獲取的音視頻數據流嚴格按音視頻錄制的時間順序進行循環存儲,這樣既保證了存儲效率,又防止磁盤碎片的產生,也保證了存儲介質磨損的均衡。讀取時可按指定的時間段來進行高效的讀取,且可同時創建多個讀取流進行讀取而互不影響。同樣檢索可按時間段進行檢索,如果時間段內有數據則還回檢索到的時間片。流式文件系統已經在實際的無線車載視頻監控設備上進行過很好的驗證測試,并在一些項目上進行批量投產使用,很好的解決了之前引言介紹里面提出的一些問題,滿足了高效,可靠,穩定的實際訴求。

[1]孟軍.車載數據記錄器中Nand Flash文件系統的研究[D].北京:北京交通大學,2008.

[2]西剎子.安防天下:智能網絡視頻監控技術詳解與實踐[M].北京:清華大學出版社,2010.

[3]邱毅凌.嵌入式系統開發之道:菜鳥成長日志與項目經理的私房菜[M].北京:人民郵電出版社,2011.

[4]Robert Love.Linux內核設計與實現 (原書第三版)[M].陳莉君,康華,譯.上海:機械工業出版社,2011.

[5]李宗海.基于 910GML平臺的嵌入式 Linux文件系統的研究與改進[D].重慶:重慶大學,2010.

[6]馮敏.基于 linux加密文件系統的設計與實現[D].濟南:山東大學,2008.

[7]高永占.基于 SD卡的嵌入式文件系統的設計與實現[D].北京:北京交通大學,2010.

Design of a wireless in-car video surveillance dedicated file system

ZHAO Guo-kai1,2,MA Hong-bing1,CHEN Cong-hua2
(1.Electronic Engineering,Tsinghua University,Beijing 100084,China;2.Xiamen Yaxon Network Co.,Ltd.Xiamen 361008,China)

Aiming at the shortcomings of the existing wireless car video surveillance equipment in the use of the file system,we propose a streaming file system to meet the wireless car video surveillance applications.In this paper,introduced the design from the aspects of the file system structure,storage,read and search.Streaming file system has been put into use in some practical projects,can solve some of the existing file system inadequate to meet the efficient,reliable and stable real aspirations.

streaming file system;main index blocks;av storage blocks;data section;time slice

TN919.8

A

1674-6236(2016)04-0010-04

2015-04-09 稿件編號:201504081

趙國開(1983—),男,福建廈門人,中級工程師。研究方向:linux內核,計算機測控。

主站蜘蛛池模板: 日韩欧美国产三级| 国产农村妇女精品一二区| 日本一区二区三区精品视频| 国产精品分类视频分类一区| 久久永久免费人妻精品| 白浆视频在线观看| 91视频日本| 国产一二三区在线| 亚洲最大福利视频网| 国产精品毛片一区视频播| 2020国产在线视精品在| 露脸国产精品自产在线播| 色偷偷av男人的天堂不卡| 成人在线观看一区| 自拍偷拍欧美| 国产XXXX做受性欧美88| 欧美A级V片在线观看| 91九色国产porny| 综合网久久| 国产经典免费播放视频| 91精品国产一区| 91毛片网| 青青草原国产| 亚洲一区无码在线| 中文字幕在线欧美| 天堂成人在线| 天天激情综合| 国产成人一区在线播放| 99手机在线视频| 91久久青青草原精品国产| 欧美啪啪视频免码| 久久亚洲精少妇毛片午夜无码| 亚洲国产成熟视频在线多多| 亚洲制服丝袜第一页| 成人综合在线观看| 国产精品吹潮在线观看中文| 99ri精品视频在线观看播放| 欧美日韩精品一区二区在线线| 中文字幕无码av专区久久| 91精品亚洲| 欧美成人一区午夜福利在线| 91精品免费高清在线| 91国内外精品自在线播放| 成年午夜精品久久精品| 91视频精品| 国产成人91精品免费网址在线| 日a本亚洲中文在线观看| 任我操在线视频| 欧美在线综合视频| 婷婷午夜影院| 精品综合久久久久久97超人该| 四虎影视无码永久免费观看| 高清不卡毛片| 亚洲天堂网站在线| 欧美日韩中文字幕在线| 亚洲人在线| 一级毛片免费观看久| 在线无码九区| 亚洲欧美不卡| 一级毛片免费观看久| 色综合婷婷| 在线色国产| 在线观看无码a∨| 她的性爱视频| 亚洲色图欧美一区| 青青操视频在线| 精品少妇人妻av无码久久| 特级毛片免费视频| 亚洲中文字幕久久无码精品A| 色亚洲激情综合精品无码视频| 91丝袜在线观看| 日本伊人色综合网| 无码区日韩专区免费系列| 国产亚洲视频播放9000| 美女内射视频WWW网站午夜 | 91精品国产自产在线老师啪l| 国产91在线|中文| 一级一级特黄女人精品毛片| 一级香蕉视频在线观看| 久久久久国产一级毛片高清板| 国产高清精品在线91| 人妻丝袜无码视频|