專利名稱:一種基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻流控制系統(tǒng),尤其是視頻文件控制系統(tǒng),具體地,涉及在視頻流控制系統(tǒng)中視頻文件系統(tǒng)以及對(duì)應(yīng)對(duì)所述視頻文件系統(tǒng)進(jìn)行控制的控制方法。
背景技術(shù):
運(yùn)營(yíng)級(jí)視頻監(jiān)控業(yè)務(wù)是基于寬帶網(wǎng)絡(luò)為用戶提供圖像、聲音和各種報(bào)警信號(hào)遠(yuǎn)程采集、傳輸、儲(chǔ)存、處理的ー種新型電信增值業(yè)務(wù)。其業(yè)務(wù)重點(diǎn)是通過(guò)ー個(gè)應(yīng)用廣泛的遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控中心服務(wù)平臺(tái),以集中式分區(qū)化運(yùn)營(yíng)方式為用戶提供便捷、經(jīng)濟(jì)、有效的遠(yuǎn)程監(jiān)控整體解決方案。通過(guò)運(yùn)營(yíng)級(jí)視頻監(jiān)控業(yè)務(wù),用戶可以不受時(shí)間、地點(diǎn)限制對(duì)監(jiān)控目標(biāo)進(jìn)行實(shí)時(shí)監(jiān)控、管理、觀看,實(shí)現(xiàn)跨地域的統(tǒng)ー監(jiān)控、統(tǒng)一存儲(chǔ)、統(tǒng)ー管理和資源共享。目前,在視頻監(jiān)控系統(tǒng)中,其監(jiān)控前端產(chǎn)品上通常使用EXT3或者XFS文件系統(tǒng)。這些系統(tǒng)具有一定的通用性,互聯(lián)性高,但是經(jīng)常出現(xiàn)各種問(wèn)題,例如一旦斷電重啟后,這些文件系統(tǒng)需要比較長(zhǎng)的時(shí)間進(jìn)行修復(fù),從而難以滿足快速重啟系統(tǒng)、正常工作的需求,可能會(huì)導(dǎo)致安全隱患;由于原有文件系統(tǒng)存在著各種復(fù)雜操作,所以會(huì)導(dǎo)致ー些程序錯(cuò)誤(BUG),而就這些錯(cuò)誤而言,并不是針對(duì)監(jiān)控業(yè)務(wù)的,所以實(shí)際上可以刪減這些不必要的程序;由于文件系統(tǒng)本身導(dǎo)致的磁盤上的空洞以及由于在物理位置上不連續(xù)導(dǎo)致磁頭頻繁移動(dòng),進(jìn)而致使磁盤壽命比較快地縮短,加大了用戶的硬件成本。由于以上種種問(wèn)題,在實(shí)現(xiàn)視頻監(jiān)控業(yè)務(wù)的過(guò)程中,存在著提供一種適合于視頻監(jiān)控業(yè)務(wù)的文件系統(tǒng)以及針對(duì)該文件系統(tǒng)的控制方法的需求。因此,本發(fā)明要解決如何提供一套簡(jiǎn)單、適用的用于視頻監(jiān)控業(yè)務(wù)的文件系統(tǒng)以及相應(yīng)的針對(duì)該文件系統(tǒng)的控制方法。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的的控制方法以及相應(yīng)的視頻文件系統(tǒng)。根據(jù)本發(fā)明的ー個(gè)方面,提供一種基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法,其特征在于,包括如下步驟b.根據(jù)錄像通道從與其對(duì)應(yīng)的若干大塊中確定ー個(gè)大塊用于保存錄像記錄,其中,一個(gè)錄像分區(qū)被劃分為若干大塊,且所述大塊僅可以保存來(lái)自同一個(gè)錄像通道的若干段錄像記錄。根據(jù)本發(fā)明的另ー個(gè)方面,還提供一種基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制裝置,其包括第一確定裝置,用于根據(jù)錄像通道從與其對(duì)應(yīng)的若干大塊中確定ー個(gè)大塊用于保存錄像記錄,其中,一個(gè)錄像分區(qū)被劃分為若干大塊,且所述大塊僅可以保存來(lái)自同一個(gè)錄像通道的若干段錄像記錄。優(yōu)選地,所述同一錄像分區(qū)中若干大塊的容量相同。優(yōu)選地,所述第一確定裝置包括第二確定裝置,其用于確定與所述錄像通道對(duì)應(yīng)的大塊;第一判斷裝置,其用于判斷與所述錄像通道對(duì)應(yīng)的大塊中是否存在未錄滿的大塊;第一處理裝置,其用于在與所述錄像通道對(duì)應(yīng)的大塊中存在未錄滿的大塊時(shí)將所述錄像記錄保存在所述未錄滿的大塊中。優(yōu)選地,所述第一確定裝置還包括第二判斷裝置,其用于在與所述錄像通道對(duì)應(yīng)的大塊中不存在未錄滿的大塊時(shí)判斷是否存在空的大塊。優(yōu)選地,所述第一確定裝置還包括第二處理裝置,其用于在存在所述空的大塊時(shí)將所述錄像記錄保存在所述空的大塊中,并根據(jù)所述錄像通道標(biāo)注所述空的大塊的錄像通道號(hào)。優(yōu)選地,所述第一確定裝置還包括第三處理裝置,其用于在不存在所述空的大塊時(shí)確定待覆蓋的大塊,并將所述錄像記錄保存到所述待覆蓋的大塊中。優(yōu)選地,所述第三處理裝置包括第四處理裝置,其用于將生成ID最小的大塊·確定為所述待覆蓋的大塊。優(yōu)選地,所述第三處理裝置包括第五處理裝置,其用于將未在使用中的大塊中生成ID最小的大塊確定為所述待覆蓋的大塊。優(yōu)選地,所述控制裝置還包括第三判斷裝置,其用于判斷下一個(gè)被寫入的幀是否為關(guān)鍵幀,并判斷當(dāng)前被寫入的大塊的剰余空間是否低于第三閾值,其中,若上述兩個(gè)條件均被滿足,則執(zhí)行所述第一判斷裝置。優(yōu)選地,所述控制裝置還包括第四判斷裝置,其用于判斷所述待覆蓋的大塊的剩余空間是否低于第一閾值;以及第六處理裝置,其用于在所述待覆蓋的大塊的剩余空間低于第一閾值時(shí)執(zhí)行所述第二判斷裝置。優(yōu)選地,所述控制裝置還包括第五判斷裝置,其用于判斷所述未錄滿的大塊的剩余空間是否低于第二閾值;以及第七處理裝置,其用于在所述未錄滿的大塊的剩余空間低于第二閾值時(shí)執(zhí)行所述第一確定裝置。優(yōu)選地,所述第一確定裝置還包括第八處理裝置,其用于在不存在所述空的大塊時(shí)停止錄像。優(yōu)選地,所述錄像分區(qū)包括主分區(qū)信息、塊索引以及若干大塊,其中,所述大塊包括幀索引。優(yōu)選地,所述錄像分區(qū)還包括副分區(qū)信息以及副塊索引。優(yōu)選地,所述塊索引包括大塊的塊時(shí)段。優(yōu)選地,所述控制裝置還包括第三確定裝置,其用于確定搜索時(shí)段;第四確定裝置,其用于確定待捜索的錄像通道;第六判斷裝置,其用于判斷是否存在與所述待搜索的錄像通道對(duì)應(yīng)、且所述塊時(shí)段與所述搜索時(shí)段相交疊的大塊;第七判斷裝置,其用于在所述步驟C的判斷結(jié)果是肯定時(shí)判斷所述大塊內(nèi)是否存在其錄像時(shí)段與所述搜索時(shí)段相交疊的錄像記錄;以及第第九處理裝置,其用于在所述步驟D的判斷結(jié)果是肯定時(shí)反饋所述其錄像時(shí)段與所述搜索時(shí)段相交疊的錄像記錄。優(yōu)選地,所述塊索引包括大塊的塊時(shí)段。進(jìn)ー步優(yōu)選地,所述控制裝置還包括第三確定裝置,其用于確定搜索時(shí)段;第四確定裝置,其用于確定待捜索的錄像通道;第六判斷裝置,其用于判斷是否存在與所述待搜索的錄像通道對(duì)應(yīng)、且所述塊時(shí)段與所述搜索時(shí)段相交疊的大塊;第八判斷裝置,其用于在所述步驟C的判斷結(jié)果是肯定時(shí)判斷所述大塊內(nèi)是否存在其事件信息與所述搜索事件相同的錄像記錄;第十處理裝置,其用于在所述步驟D’的判斷結(jié)果是肯定時(shí)反饋所述其事件信息與所述搜索事件相同的錄像記錄。
優(yōu)選地,所述控制裝置還包括排序裝置,其用于根據(jù)時(shí)間順序?qū)λ雒總€(gè)大塊進(jìn)行索引排序。根據(jù)本發(fā)明的又ー個(gè)方面,提供一種基于快速視頻數(shù)據(jù)存儲(chǔ)的視頻文件系統(tǒng),其特征在于,至少包括如下邏輯層
用戶應(yīng)用程序接ロ,用于向所述視頻文件系統(tǒng)外部提供調(diào)用根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù);
錄放像庫(kù),用于根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的 各種視頻數(shù)據(jù)的管理,并接受預(yù)定的各種接ロ函數(shù)以實(shí)現(xiàn)外部對(duì)所述視頻數(shù)據(jù)的管理;
視頻數(shù)據(jù)庫(kù)讀取層,用于管理根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)在磁盤上的存放與讀取,其接受來(lái)自上述錄放像庫(kù)的接ロ函數(shù),使得所述錄放像庫(kù)可以操作所述視頻數(shù)據(jù);
虛擬文件系統(tǒng),至少用于向外部提供針對(duì)根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)的讀、寫、定位函數(shù);
讀寫文件系統(tǒng);
塊I/o設(shè)備訪問(wèn)層,用于接受對(duì)物理磁盤的操作函數(shù)以實(shí)現(xiàn)對(duì)物理磁盤的操作,其中,所述讀寫文件系統(tǒng)訪問(wèn)所述塊I/o設(shè)備訪問(wèn)層以實(shí)現(xiàn)對(duì)虛擬文件系統(tǒng)以及其上各邏輯層對(duì)存儲(chǔ)于所述物理磁盤內(nèi)的所述視頻數(shù)據(jù)的讀寫與存放。本發(fā)明通過(guò)對(duì)視頻監(jiān)控系統(tǒng)的文件系統(tǒng)的改迸,并相應(yīng)地提供一套用于控制該文件系統(tǒng)的技術(shù)方案,在錄放像庫(kù)和底層讀寫層間建立ー個(gè)管理錄像記錄元數(shù)據(jù)和以及讀寫媒體數(shù)據(jù)的層次,從而實(shí)現(xiàn)快速的視頻數(shù)據(jù)的存儲(chǔ)和增強(qiáng)錄放像的使用效率和減少故障率。
通過(guò)閱讀參照以下附圖對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯
圖I示出根據(jù)本發(fā)明的第一實(shí)施例的,針對(duì)基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法的流程 圖2示出根據(jù)本發(fā)明的第二實(shí)施例的,針對(duì)基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法的流程 圖3示出根據(jù)本發(fā)明的第三實(shí)施例的,針對(duì)基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法的流程 圖4示出根據(jù)本發(fā)明的ー個(gè)具體實(shí)施方式
的,本發(fā)明提供的基于快速視頻數(shù)據(jù)存儲(chǔ)的視頻文件系統(tǒng)的分區(qū)示意 圖5示出根據(jù)本發(fā)明的ー個(gè)具體實(shí)施方式
的,本發(fā)明提供的基于快速視頻數(shù)據(jù)存儲(chǔ)的視頻文件系統(tǒng)的邏輯層示意圖;以及
圖6示出根據(jù)本發(fā)明的ー個(gè)具體實(shí)施方式
的,本發(fā)明提供的前端錄放像系統(tǒng)邏輯層示意圖。
具體實(shí)施方式
圖I示出根據(jù)本發(fā)明的第一實(shí)施例的,針對(duì)基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法的流程圖。優(yōu)選地,首先執(zhí)行步驟SlOl :判斷下一個(gè)被寫入的幀是否為關(guān)鍵幀。本領(lǐng)域技術(shù)人員理解,在本實(shí)施例中,所述視頻監(jiān)控系統(tǒng)正通過(guò)本發(fā)明提供的視頻文件系統(tǒng)向物理磁盤寫入視頻數(shù)據(jù)(或者稱為視頻文件),優(yōu)選地,所述視頻數(shù)據(jù)被ー幀、一幀地寫入。在這樣的過(guò)程中,如果當(dāng)前被寫入的幀為關(guān)鍵幀,或者說(shuō)下ー幀為關(guān)鍵幀,則在寫入過(guò)程中需要連續(xù)地寫入,而不能中途更換用于存儲(chǔ)該視頻數(shù)據(jù)的文件塊,即本發(fā)明所闡述的大塊。因此,在本步驟中首先判斷下一個(gè)被寫入的幀是否為關(guān)鍵幀。具體地,本領(lǐng)域技術(shù)人員理解,所述關(guān)鍵幀指視頻碼流中的I幀。進(jìn)ー步地,通過(guò)下述步驟S102來(lái)判斷是否在寫入關(guān)鍵幀之前切換所述大塊的過(guò)程,在此不予贅述。其次進(jìn)入步驟S102 :判斷當(dāng)前被寫入的大塊的剰余空間是否低于第三閾值。本領(lǐng)域技術(shù)人員理解,若所述當(dāng)前被寫入的大塊的剰余空間已經(jīng)比較小,例如優(yōu)選地?zé)o法滿足所述關(guān)鍵幀被連續(xù)寫入的情況,則在寫入所述關(guān)鍵幀之前要完成對(duì)所述被寫入大塊的切換過(guò)程,即重新確定ー個(gè)具有足夠空間(例如,優(yōu)選地可以容納所述關(guān)鍵幀)的大塊,在此不予贅述。進(jìn)ー步地,本領(lǐng)域技術(shù)人員可以參考現(xiàn)有技術(shù) 實(shí)現(xiàn)本步驟,例如通過(guò)獲取所述大塊的剩余空間(容量),并將所述剩余空間與所述第三閾值進(jìn)行比較以確定本步驟的判斷結(jié)果。若本步驟的判斷結(jié)果是肯定的,即所述當(dāng)前被寫入的大塊的剰余空間低于所述第三閾值,則進(jìn)入下述步驟S103;否則,若所述當(dāng)前被寫入的大塊的剰余空間不低于所述第三閾值,則本次過(guò)程結(jié)束,即不需要尋找下一個(gè)大塊,而可以繼續(xù)在當(dāng)前被寫入的大塊上寫入視頻數(shù)據(jù)。根據(jù)上述描述,本領(lǐng)域技術(shù)人員理解,若需要重新尋找ー個(gè)適合寫入當(dāng)前視頻數(shù)據(jù)的大塊,則首先執(zhí)行步驟S103 :確定與所述錄像通道對(duì)應(yīng)的大塊。進(jìn)ー步地,本領(lǐng)域技術(shù)人員理解,優(yōu)選地,在本發(fā)明中,所述每個(gè)大塊只能對(duì)應(yīng)ー個(gè)錄像通道,而ー個(gè)錄像通道對(duì)應(yīng)的視頻數(shù)據(jù)則可以寫入多個(gè)大塊,即錄像通道與大塊是ー對(duì)多的關(guān)系。本領(lǐng)域技術(shù)人員理解,所述錄像通道指針對(duì)一路錄像碼流進(jìn)行讀寫的虛擬邏輯路徑,而本發(fā)明所提供技術(shù)方案必須將錄像通道與大塊是一對(duì)多關(guān)系的意義在于ー個(gè)虛擬邏輯路徑需要占用磁盤系統(tǒng)的多個(gè)物理空間。接下來(lái)進(jìn)入步驟S104 :判斷與所述錄像通道對(duì)應(yīng)的大塊中是否存在未錄滿的大塊。本領(lǐng)域技術(shù)人員理解,一個(gè)大塊中的視頻數(shù)據(jù)可能是連續(xù)的,也可能是不連續(xù)。例如,優(yōu)選地,當(dāng)一個(gè)視頻文件對(duì)應(yīng)的視頻數(shù)據(jù)并沒(méi)有完全寫滿ー個(gè)大塊,此時(shí),則該大塊就存在空閑的空間;進(jìn)ー步地,當(dāng)要寫入下一個(gè)視頻文件時(shí),如果該大塊被繼續(xù)寫入,則就導(dǎo)致該大塊內(nèi)的數(shù)據(jù)不連續(xù)。進(jìn)ー步地,在本步驟中,首先確定所有與所述錄像通道對(duì)應(yīng)的大塊,例如一共確定有50個(gè)大塊可以與所述錄像通道相對(duì)應(yīng);然后類似于上述步驟S102,本領(lǐng)域技術(shù)人員可以獲得每ー個(gè)大塊的總?cè)萘恳约笆S嗫臻g(容量),從而可以判斷與所述錄像通道對(duì)應(yīng)的大塊中是否存在未錄滿的大塊。本領(lǐng)域技術(shù)人員可以參考現(xiàn)有的文件系統(tǒng)的實(shí)現(xiàn)方式理解并實(shí)施本步驟,在此不予贅述。最后執(zhí)行步驟S105 :將所述錄像記錄保存在所述未錄滿的大塊中。優(yōu)選地,通過(guò)上述步驟S104確定了一個(gè)待寫入的大塊后,則在本步驟中通過(guò)寫入指令將相應(yīng)的錄像記錄(視頻數(shù)據(jù))寫入該大塊對(duì)應(yīng)的磁盤空間內(nèi)。本領(lǐng)域技術(shù)人員結(jié)合現(xiàn)有技術(shù)可以實(shí)現(xiàn)本步驟,在此不予贅述。
進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,本發(fā)明所提供的視頻文件系統(tǒng)的錄像策略可以參考如下描述予以實(shí)現(xiàn)正常情況下,根據(jù)分區(qū)結(jié)構(gòu),按幀錄制。一個(gè)數(shù)據(jù)塊只能給一個(gè)通道錄像。當(dāng)開(kāi)始錄像(即向視頻文件系統(tǒng)所管理的物理磁盤寫入視頻)時(shí),先判斷通道號(hào),找到相同通道號(hào),且沒(méi)錄滿的塊,繼續(xù)錄制(即寫入視頻數(shù)據(jù));如果沒(méi)有,就新找一塊,標(biāo)記為該通道,開(kāi)始錄制(即寫入視頻數(shù)據(jù))。每次重新開(kāi)始錄像,都會(huì)在塊內(nèi)新加一條錄像記錄。優(yōu)選地,一個(gè)數(shù)據(jù)塊最多可以存47條錄像記錄,如果超過(guò)該錄像記錄數(shù),就算塊中實(shí)際數(shù)據(jù)未滿,也切換一個(gè)新塊。如果在某次錄像中,實(shí)際數(shù)據(jù)占滿了塊中所有空間,那么就強(qiáng)制停止錄像,重新開(kāi)始。重新開(kāi)始后會(huì)新找一塊繼續(xù)錄。對(duì)于這種情況,考慮到等待關(guān)鍵幀,那么就需要在一個(gè)數(shù)據(jù)塊內(nèi)還剩上述第三閾值間時(shí)就在關(guān)鍵幀處切換。如上述圖I所示實(shí)施例,為了完成在關(guān)鍵幀處的切換,優(yōu)選地,需要通過(guò)上述判斷過(guò)程進(jìn)行預(yù)判。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,上述第三閾值可以根據(jù)總磁盤塊數(shù)不超過(guò)5000 個(gè)的原則進(jìn)行確定。例如,優(yōu)選地,當(dāng)總磁盤空間為IT情況下,所述第三閾值(數(shù)據(jù)塊大小)可以確定為256M。數(shù)據(jù)塊大小可以變化,從64M到2G不等,取決于硬盤分區(qū)大小。一般對(duì)于監(jiān)控前端,固定128M即可。數(shù)據(jù)塊最開(kāi)始的一段空間內(nèi)存放幀索引,根據(jù)幀索引找到數(shù)據(jù)塊內(nèi)相應(yīng)的幀數(shù)據(jù)。數(shù)據(jù)塊越大,用戶搜索錄像的速度越快,但可能浪費(fèi)的硬盤空間越多;反之,數(shù)據(jù)塊越小,會(huì)影響用戶的搜索速度,但能節(jié)約硬盤空間,所以這里數(shù)據(jù)塊的大小應(yīng)該根據(jù)用戶的實(shí)際應(yīng)用環(huán)境進(jìn)行分配,在此不予贅述。圖2示出根據(jù)本發(fā)明的第二實(shí)施例的,針對(duì)基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法的流程圖。具體地,本實(shí)施例可以作為上述第一實(shí)施例的一個(gè)變化例。本領(lǐng)域技術(shù)人員理解,上述第一實(shí)施例是在錄制一個(gè)視頻文件的過(guò)程中切換大塊的過(guò)程,其中至少闡述了切換大塊的時(shí)機(jī)以及如何確定一個(gè)新的將被寫入的大塊。而在本實(shí)施例中,則從一次完整的錄像過(guò)程開(kāi)始,即從開(kāi)始一次錄像的源頭開(kāi)始。
進(jìn)一步地,首先執(zhí)行步驟Slll :開(kāi)始一次錄像。本領(lǐng)域技術(shù)人員理解,例如客戶端發(fā)出指令“開(kāi)始錄像”,則服務(wù)器端接收到該指令后,調(diào)用本發(fā)明提供的視頻文件系統(tǒng)開(kāi)始錄像,即向物理磁盤開(kāi)始寫入第一幀視頻數(shù)據(jù)。其次進(jìn)入步驟S112 :確定與所述錄像通道對(duì)應(yīng)的大塊。本步驟可以參考圖I所示步驟S103實(shí)現(xiàn),在此不予贅述。然后執(zhí)行步驟S113 :判斷與所述錄像通道對(duì)應(yīng)的大塊中是否存在未錄滿的大塊。本步驟可以參考圖I所示步驟S104實(shí)現(xiàn),在此不予贅述。若本步驟的判斷結(jié)果為否定的,則進(jìn)入下述步驟S114 ;否則若本步驟的判斷結(jié)果為肯定的,則將步驟S113中的所述未錄滿的大塊作為待寫入的大塊(圖2中未示出),即參考上述圖I所示步驟S105,然后本次過(guò)程結(jié)束。本領(lǐng)域技術(shù)人員參考上述圖I所示實(shí)施例可以實(shí)現(xiàn)本實(shí)施例,在此不予贅述。進(jìn)一步地,若上述步驟S113的判斷結(jié)果為否定的,則接下來(lái)進(jìn)入步驟S114 :判斷是否存在空的大塊。本領(lǐng)域技術(shù)人員理解,在上述各步驟中,僅涉及到未錄滿的大塊,即該大塊已經(jīng)寫入部分視頻數(shù)據(jù),但該大塊仍然存在一定數(shù)量的剩余空間。而優(yōu)選地,在本步驟中,所述空(閑)的大塊則指沒(méi)有寫入任何數(shù)據(jù)的大塊,即該大塊的剩余空間即為該大塊的最大空間;而次優(yōu)地,在一個(gè)變化例中,所述空(閑)的大塊則指存在大于第四閾值剩余空間的大塊,例如大于250M剩余空間的大塊,這取決于具體實(shí)施需要,在此不予贅述。相應(yīng)地,本領(lǐng)域技術(shù)人員結(jié)合現(xiàn)有技術(shù)以及上述圖I所示步驟S102可以實(shí)現(xiàn)所述變化例,在此不予贅述。進(jìn)一步地,若本步驟的判斷結(jié)果為否定的,則進(jìn)入下述步驟S115 ;否則若本步驟的判斷結(jié)果為肯定的,則將步驟S114中的所述空的大塊作為待寫入的大塊(圖2中未示出),即參考上述圖I所示步驟S105,然后本次過(guò)程結(jié)束。本領(lǐng)域技術(shù)人員參考上述圖I所示實(shí)施例可以實(shí)現(xiàn)本實(shí)施例,在此不予贅述。進(jìn)一步地,若上述步驟S114的判斷結(jié)果為否定的,則然后執(zhí)行步驟S115 :判斷生成ID最小的大塊是否為當(dāng)前被讀寫的大塊。在本步驟中,首先確定生成ID最小的大塊,然后進(jìn)一步判斷該生成ID最小的大塊是否正在被讀寫。優(yōu)選地,本領(lǐng)域技術(shù)人員結(jié)合現(xiàn)有技術(shù)可以實(shí)現(xiàn)本步驟,在此不予贅述。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,所述生成ID最小指塊索引最小,通過(guò)索引方式進(jìn)行查詢,就可以確定所述生成ID最小的大塊,在此不予贅述。相應(yīng)地,本領(lǐng)域技術(shù)人員理解,若本步驟的判斷結(jié)果為肯定的,則進(jìn)入下述步驟S116 ;否則若本步驟的判斷結(jié)果為否定的,則將所述生成ID最小的大塊作為待寫入的大塊,即待覆蓋的大塊(圖2中未示出),然后執(zhí)行下述步驟S117。
進(jìn)一步地,若上述步驟S115的判斷結(jié)果為肯定的,則接下來(lái)進(jìn)入步驟S116 :將所述生成ID最小的大塊之外的所述生成ID最小的大塊確定為所述待覆蓋的大塊。本領(lǐng)域技術(shù)人員理解,若上述步驟S115中所述生成ID最小的大塊正在被讀寫,則不能將該生成ID最小的大塊覆蓋,否則會(huì)影響正在進(jìn)行的讀寫進(jìn)程。因此,按照將生成ID最小的大塊作為待覆蓋的大塊的原理,則將比該生成ID最小的大塊略小的一個(gè)大塊,即倒數(shù)第二小的大塊作為所述待覆蓋的大塊。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,在一個(gè)變化例中,所述步驟S116也可以變化為“將可以被覆蓋的且生成ID最小的大塊作為待覆蓋的大塊”,與上述步驟S116類似,在本變化例中,仍然尋找生成ID最小的大塊作為待覆蓋的大塊,但前提提交時(shí)該生成ID最小的大塊能夠被覆蓋,例如優(yōu)選地,當(dāng)所述大塊處于被讀或者被寫的狀態(tài)時(shí),其不可以作為所述待覆蓋的大塊;又例如,當(dāng)所述大塊被設(shè)置為不可讀寫狀態(tài)時(shí),則其也不可以作為所述待覆蓋的大塊。本領(lǐng)域技術(shù)人員結(jié)合現(xiàn)有技術(shù)以及上述實(shí)施例可以實(shí)現(xiàn)所述變化例,在此不予贅述。最后執(zhí)行步驟SI 17 :將所述錄像記錄保存在待覆蓋的大塊中。具體地,本領(lǐng)域技術(shù)人員理解,本步驟與上述圖I所示步驟S105的區(qū)別在于本步驟將錄像記錄(視頻數(shù)據(jù))寫入所述待覆蓋的大塊中,而上述步驟S105中則將錄像記錄(視頻數(shù)據(jù))寫入所述未錄滿的大塊中。如果將所述“未錄滿的”大塊與所述“待覆蓋”的大塊均作為“目標(biāo)”大塊,則該兩個(gè)步驟是相同的。本領(lǐng)域技術(shù)人員結(jié)合現(xiàn)有技術(shù)以及上述步驟S105可以實(shí)現(xiàn)本步驟,在此不予贅述。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,與上述圖I所示實(shí)施例相比較,本實(shí)施例中,確定將被寫入的大塊時(shí),由于各種原因最終確定了一個(gè)原本存在視頻數(shù)據(jù)的大塊予以覆蓋。本領(lǐng)域技術(shù)人員理解,這樣的情況有很多,例如優(yōu)選地,當(dāng)所有數(shù)據(jù)塊都被占用,無(wú)法獲得可錄像的塊時(shí),根據(jù)上層需要可選擇一個(gè)大塊予以覆蓋。進(jìn)一步地,在覆蓋時(shí),選取生成ID最小的塊,將此塊當(dāng)作一個(gè)空塊使用,同時(shí)將塊索引中的tag值加1,從而保證塊索引不會(huì)出現(xiàn)重疊。更進(jìn)一步地,如果生成ID最小的塊正在使用中(比如在放像),那么選擇生成ID次小的塊覆蓋。相應(yīng)地,本領(lǐng)域技術(shù)人員還可以確定其他各種技術(shù)方案實(shí)現(xiàn)對(duì)大塊的覆蓋,在此不予贅述。圖3示出根據(jù)本發(fā)明的第三實(shí)施例的,針對(duì)基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法的流程圖。在上述圖I、圖2所示實(shí)施例中,對(duì)于如何在本發(fā)明提供的視頻文件系統(tǒng)中對(duì)視頻數(shù)據(jù)進(jìn)行存儲(chǔ)的過(guò)程予以詳細(xì)描述。其中,圖I、圖2實(shí)施例重點(diǎn)對(duì)于本發(fā)明與現(xiàn)有技術(shù)的不同處予以描述,其他對(duì)于實(shí)現(xiàn)視頻文件系統(tǒng)所必需的但又可以在現(xiàn)有技術(shù)中找到參考資料的部分則沒(méi)有進(jìn)一步展開(kāi),本領(lǐng)域技術(shù)人員結(jié)合現(xiàn)有技術(shù)實(shí)現(xiàn)這些實(shí)施例,在此不予贅述。進(jìn)一步地,在視頻數(shù)據(jù)被存儲(chǔ)到物理磁盤中,為了調(diào)用這些視頻數(shù)據(jù),還非常有必要對(duì)這些視頻數(shù)據(jù)(視頻文件或錄像)進(jìn)行搜索(檢索),相應(yīng)地,圖3所示實(shí)施例提供了這樣的技術(shù)手段。具體地,在本實(shí)施例中對(duì)一個(gè)事件進(jìn)行搜索。首先執(zhí)行步驟S121 :確定搜索時(shí)段和搜索事件。例如,確定搜索時(shí)間段為2010-09-22 12 :00 13:00,搜索事件為“人群聚集”。本領(lǐng)域技術(shù)人員理解,搜索事件的確定通常由搜索操作因素決定,例如“刪除錄像通道1”,在此不予贅述。 其次進(jìn)入步驟S122 :確定待搜索的錄像通道。待搜索的錄像通道主要基于用戶的鼠標(biāo)點(diǎn)擊選擇后確定。然后執(zhí)行步驟S123 :判斷是否存在與所述待搜索的錄像通道對(duì)應(yīng)、且所述塊時(shí)段與所述搜索時(shí)段相交疊的大塊。具體地,在本步驟中,確定兩個(gè)要素1)錄像通道與上述步驟S122中確定的錄像通道相一致;2)塊時(shí)段與所述步驟S121中確定的搜索時(shí)段存在關(guān)聯(lián),優(yōu)選地兩個(gè)時(shí)段交疊。對(duì)于滿足該兩個(gè)要素的,則進(jìn)一步執(zhí)行下述步驟S124,否則本次搜索過(guò)程結(jié)束,即搜索失敗。接下來(lái)進(jìn)入步驟S124 :判斷所述大塊內(nèi)是否存在其事件信息與所述搜索事件相同的錄像記錄。在上述步驟S123的判斷結(jié)果為肯定的情況下,執(zhí)行本步驟,即已經(jīng)確定了塊時(shí)間段相同,進(jìn)一步地確定事件內(nèi)容是否相同。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,若本步驟的判斷結(jié)果是否定的,則表明沒(méi)有與步驟S121所確定的搜索條件相符合的視頻文件,反饋搜索失敗的提示信息,本次過(guò)程結(jié)束;否則,若本步驟的判斷結(jié)果是肯定的,則進(jìn)入下述步驟S125,在此不予贅述。最后執(zhí)行步驟S125 :反饋所述其事件信息與所述搜索事件相同的錄像記錄。若上述步驟S124的判斷結(jié)果是肯定的,則確定步驟S121中所確定的搜索條件被滿足,所以向客戶端反饋所述被搜索到的內(nèi)容,即一個(gè)錄像記錄(視頻數(shù)據(jù)或視頻文件)。本領(lǐng)域技術(shù)人員理解,在本實(shí)施例的一個(gè)變化例中,所述步驟S123與步驟S124可以相互變換,例如可以在所述步驟S123中對(duì)事件進(jìn)行搜索,然后在步驟S124中對(duì)時(shí)間段進(jìn)行搜索。但本領(lǐng)域技術(shù)人員理解,步驟S123中首先對(duì)與塊時(shí)間段進(jìn)行搜索的效率更高,在此不予贅述。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,圖3所示實(shí)施例實(shí)際上描述了針對(duì)本發(fā)明提供的視頻文件系統(tǒng)進(jìn)行搜索的搜索策略。優(yōu)選地,在本發(fā)明中,搜索分為文件搜索和事件搜索,分別用文件ID和事件ID唯一標(biāo)識(shí),邏輯上保持與傳統(tǒng)方式一致。優(yōu)選地,文件搜索在業(yè)務(wù)上一般是指定通道號(hào),根據(jù)開(kāi)始時(shí)間和結(jié)束時(shí)間對(duì)所有錄像記錄(也就是錄像文件)進(jìn)行查找。進(jìn)一步地,針對(duì)文件搜索,進(jìn)行搜索時(shí)首先比對(duì)塊索引中的開(kāi)始和結(jié)束時(shí)間,如果搜索的時(shí)段和塊時(shí)段無(wú)交疊,則跳過(guò)該塊;如果有交疊,那么再去逐個(gè)比對(duì)塊內(nèi)的錄像記錄中的時(shí)段,如果和搜索時(shí)段有交疊,那么該錄像記錄就是搜索要求的記錄。進(jìn)一步地,事件搜索是在文件搜索的基礎(chǔ)上,指定了事件類型。搜索時(shí)同樣先檢測(cè)塊索引時(shí)間,然后再去塊內(nèi)事件區(qū)查找符合時(shí)間段的事件。通過(guò)事件信息,可以對(duì)應(yīng)到某個(gè)錄像記錄。本領(lǐng)域技術(shù)人員進(jìn)一步地理解,在不同的情況下,本發(fā)明提供的搜索效率存在不同情況。例如,如果搜索時(shí)按照逐一比對(duì)每條錄像記錄的策略,對(duì)于一個(gè)幾百G的硬盤,極端情況下要比較10萬(wàn)數(shù)量級(jí)的記錄數(shù),效率較低。考慮到無(wú)時(shí)間同步的情況下,某一通道的錄像記錄時(shí)間都是按照時(shí)間順序依次錄制的。在這種情況下,可以先對(duì)塊時(shí)間排序,然后簡(jiǎn)單地使用二分法查找。假如數(shù)據(jù)塊個(gè)數(shù)為N,對(duì)塊內(nèi)錄像記錄也采用二分法查找,那么比較的記錄數(shù)為
log2 (N) + 2Xlog2 (47)
因此,比較的記錄數(shù)可以控制在幾十條。但假如考慮時(shí)間同步問(wèn)題,那么搜索機(jī)制就要復(fù)雜多了。首先業(yè)務(wù)上保證,當(dāng)時(shí)間同步時(shí),停止錄像,更新時(shí)間后再開(kāi)始時(shí)間。所以不論是塊索引時(shí)間戳還是塊內(nèi)記錄時(shí)間戳,都會(huì)發(fā)生跳躍。對(duì)于時(shí)間戳向后的跳躍,對(duì)于搜索策略的影響并不大;但向前的時(shí)間調(diào)整則會(huì)對(duì)搜索策略帶來(lái)一定的技術(shù)難度。對(duì)于向前時(shí)間調(diào)整的情況,暫時(shí)沒(méi)有什么特別好的搜索策略。排序時(shí)按照開(kāi)始時(shí)間進(jìn)行排序,然后用二分法查找符合搜索開(kāi)始時(shí)間條件的記錄。在搜到的符合開(kāi)始時(shí)間條件的記錄中逐個(gè)比對(duì)結(jié)束時(shí)間條件。假設(shè)符合開(kāi)始時(shí)間條件的記錄數(shù)有k個(gè),那么總共的比較數(shù)為log2 (N) + 2Xlog2 (47) + k
極端情況下,k等于所有記錄數(shù)。但是本發(fā)明提供的針對(duì)向前時(shí)間調(diào)整的搜索策略仍然是比較好的搜索策略,因?yàn)橹挥帽容^結(jié)束時(shí)間。本領(lǐng)域技術(shù)人員對(duì)此可以理解,在此不予贅述。圖4示出根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
的,本發(fā)明提供的基于快速視頻數(shù)據(jù)存儲(chǔ)的視頻文件系統(tǒng)的分區(qū)示意圖。優(yōu)選地,在本發(fā)明中,針對(duì)視頻文件系統(tǒng)提供了一套對(duì)于 物理磁盤的分區(qū)技術(shù)方案,即將整個(gè)分區(qū)可以分割為如下3部分
I、主分區(qū)信息和塊索引。在分區(qū)最開(kāi)始的5M空間內(nèi)。分區(qū)信息存放了一些該分區(qū)的信息,如分區(qū)大小,分區(qū)塊個(gè)數(shù),數(shù)據(jù)塊起始位置等等。2、副分區(qū)信息和塊索引。在分區(qū)最末尾的5M空間內(nèi)。當(dāng)主分區(qū)信息和塊索引損壞時(shí),從副的里面讀取信息。3、數(shù)據(jù)塊。掐頭去尾后,剩下的空間按128M大小劃分成若干數(shù)據(jù)塊。數(shù)據(jù)塊內(nèi)存放媒體幀。本領(lǐng)域技術(shù)人員理解,上述數(shù)據(jù)塊大小可以變化,例如優(yōu)選地從64M到2G不等,這主要取決于硬盤分區(qū)大小,也取決于具體的實(shí)施需求。優(yōu)選地,對(duì)于監(jiān)控前端,固定為128M即可。通常,在數(shù)據(jù)塊最開(kāi)始的一段空間內(nèi)存放幀索引,根據(jù)幀索引找到數(shù)據(jù)塊內(nèi)相應(yīng)的幀數(shù)據(jù)。本領(lǐng)域技術(shù)人員結(jié)合現(xiàn)有技術(shù)以及上述描述可以實(shí)現(xiàn)本實(shí)施例,在此不予贅述。
圖5示出根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
的,本發(fā)明提供的基于快速視頻數(shù)據(jù)存儲(chǔ)的視頻文件系統(tǒng)的邏輯層示意圖。本領(lǐng)域技術(shù)人員理解,本發(fā)明提供的視頻文件系統(tǒng)的作用就是在錄放像庫(kù)和底層讀寫層間建立一個(gè)管理錄像記錄元數(shù)據(jù)和以及讀寫媒體數(shù)據(jù)的層次。優(yōu)選地,在本具體實(shí)施方式
中,所述視頻文件系統(tǒng)包括
用戶應(yīng)用程序接口,用于向所述視頻文件系統(tǒng)外部提供調(diào)用根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù);
錄放像庫(kù),用于根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)的管理,并接受預(yù)定的各種接口函數(shù)以實(shí)現(xiàn)外部對(duì)所述視頻數(shù)據(jù)的管理;
視頻數(shù)據(jù)庫(kù)讀取層,用于管理根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)在磁盤上的存放與讀取,其接受來(lái)自上述錄放像庫(kù)的接口函數(shù),使得所述錄放像庫(kù)可以操作所述視頻數(shù)據(jù);
虛擬文件系統(tǒng),至少用于向外部提供針對(duì)根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)的讀、寫、定位函數(shù);
讀寫文件系統(tǒng);· 塊I/o設(shè)備訪問(wèn)層,用于接受對(duì)物理磁盤的操作函數(shù)以實(shí)現(xiàn)對(duì)物理磁盤的操作,其中,所述讀寫文件系統(tǒng)訪問(wèn)所述塊I/o設(shè)備訪問(wèn)層以實(shí)現(xiàn)對(duì)虛擬文件系統(tǒng)以及其上各邏輯層對(duì)存儲(chǔ)于所述物理磁盤內(nèi)的所述視頻數(shù)據(jù)的讀寫與存放。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,所述用戶應(yīng)用程序接口是錄放像庫(kù)提供給上層使用的各種應(yīng)用程序接口。優(yōu)選地,為了減少上層應(yīng)用程序的改動(dòng),以實(shí)現(xiàn)本發(fā)明提供的視頻文件系統(tǒng)與其他現(xiàn)有的視頻系統(tǒng)(例如監(jiān)控系統(tǒng))的對(duì)接,例如,原則上要進(jìn)盡可能與以前的錄放像庫(kù)提供的接口一致。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,所述錄放像庫(kù)使用由本發(fā)明提供的視頻文件系統(tǒng)提供的對(duì)錄像記錄操作的接口函數(shù),實(shí)現(xiàn)錄放像數(shù)據(jù)管理,包括放像,錄像,下載等功能。
·
進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,所述虛擬文件系統(tǒng)可以屏蔽掉使用RAWIO和使用傳統(tǒng)文件系統(tǒng)之間的差異,即上層用戶不需要去關(guān)注與塊I/O設(shè)備訪問(wèn)層之間采用哪種文件系統(tǒng)。優(yōu)選地,所述虛擬文件系統(tǒng)使用RAWI0。進(jìn)一步地,本領(lǐng)域技術(shù)人員理解,所述塊I/O設(shè)備訪問(wèn)層的作用在于由驅(qū)動(dòng)提供對(duì)物理磁盤的操作函數(shù),在此不予贅述。圖6示出根據(jù)本發(fā)明的一個(gè)具體實(shí)施方式
的,本發(fā)明提供的前端錄放像系統(tǒng)邏輯層示意圖。本領(lǐng)域技術(shù)人員理解,本發(fā)明提供的前端錄放像系統(tǒng)與現(xiàn)有技術(shù)相比較,至少Rawmedia模塊、Rpctrl_raw模塊、Rpdownload_raw與現(xiàn)有技術(shù)不同。優(yōu)選地,所述Rawmedia模塊完成本發(fā)明提供的視頻文件系統(tǒng)的實(shí)現(xiàn)與封裝。例如優(yōu)選地,所述Rawmedia模塊提供添加一條錄像、查找指定錄像、寫入一巾貞數(shù)據(jù)、讀取一巾貞數(shù)據(jù)等功能。進(jìn)一步地,所述Rawmedia模塊同時(shí)還要對(duì)業(yè)務(wù)提供分區(qū)格式化,分區(qū)檢測(cè)等磁盤操作的接口。本領(lǐng)域技術(shù)人員理解,所述Rpctrl_raw模塊優(yōu)選地替代現(xiàn)有技術(shù)中的rpctrl_c模塊完成對(duì)錄放像在rawmedia上的調(diào)度。Rawmedia模塊的文件系統(tǒng)的IO緩存保證是非阻塞方式,因此rpctrl_raw不需要自己開(kāi)錄放像緩存,直接調(diào)度rawmedia的接口即可。本領(lǐng)域技術(shù)人員理解,所述Rpdownload_raw模塊優(yōu)選地實(shí)現(xiàn)下載服務(wù)端的功能。更進(jìn)一步地,所述業(yè)務(wù)層模塊具體可由業(yè)務(wù)根據(jù)下層接口并根據(jù)實(shí)施需要而確定,這并不影響本發(fā)明的實(shí)質(zhì)內(nèi)容,在此不予贅述。根據(jù)上述發(fā)明內(nèi)容以及具體實(shí)施例,本領(lǐng)域技術(shù)人員理解,視頻數(shù)據(jù)視頻數(shù)據(jù)庫(kù)讀取層有如下技術(shù)特點(diǎn)1.采用大塊來(lái)組織錄像數(shù)據(jù),錄像分區(qū)劃分成相同大小的大塊,例如128M;
2.同一個(gè)大塊只能保存一個(gè)通道的錄像數(shù)據(jù),但可支持同一個(gè)通道的多段錄像記錄。一個(gè)通道的錄像數(shù)據(jù)可以保存在多個(gè)大塊中;
3.系統(tǒng)支持兩種覆蓋策略錄像空間滿后停止、錄像空間滿后覆蓋。選用覆蓋策略后,按照大塊中錄像的最早結(jié)束的時(shí)間進(jìn)行覆蓋(所有通道中最早的結(jié)束時(shí)間);
4.支持系統(tǒng)中動(dòng)態(tài)增加、刪除錄像分區(qū);
5.支持系統(tǒng)中錄像分區(qū)隨意更換位置;
6.支持將一塊錄像硬盤接入其它監(jiān)控產(chǎn)品后繼續(xù)錄像;
7.支持修改系統(tǒng)時(shí)間,修改系統(tǒng)時(shí)間后錄像行為正常。8.告警預(yù)錄采用內(nèi)存預(yù)錄。優(yōu)選地,所述視頻文件系統(tǒng)可以建立在文件系統(tǒng)上,也可以直接使用裸分區(qū)。優(yōu)選地,所述視頻文件系統(tǒng)可以支持RAWIO以及文件系統(tǒng),優(yōu)選地通過(guò)在分區(qū)信息中進(jìn)行區(qū)分是使用RAWIO還是文件系統(tǒng)。優(yōu)選地,本發(fā)明提供的視頻文件系統(tǒng)充分考慮到了監(jiān)控前端產(chǎn)品針對(duì)視頻數(shù)據(jù)的錄像、抓拍、預(yù)錄等種種應(yīng)用策略。其考慮根據(jù)監(jiān)控前端的錄放像相對(duì)簡(jiǎn)單的特點(diǎn),設(shè)計(jì)一個(gè)更適合于監(jiān)控前端的視頻文件系統(tǒng)來(lái)代替?zhèn)鹘y(tǒng)的文件系統(tǒng),從而可以滿足更廣闊的市場(chǎng)需求。以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變形或修改,這并不影響本發(fā)明的實(shí)質(zhì)內(nèi)容。
權(quán)利要求
1.一種基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法,其特征在于,包括如下步驟 b.根據(jù)錄像通道從與其對(duì)應(yīng)的若干大塊中確定一個(gè)大塊用于保存錄像記錄, 其中,一個(gè)錄像分區(qū)被劃分為若干大塊,且所述大塊僅可以保存來(lái)自同一個(gè)錄像通道的若干段錄像記錄。
2.根據(jù)權(quán)利要求I所述的控制方法,其特征在于,同一錄像分區(qū)中若干大塊的容量相同。
3.根據(jù)權(quán)利要求I或2所述的控制方法,其特征在于,所述步驟b包括如下步驟 bl.確定與所述錄像通道對(duì)應(yīng)的大塊; b2.判斷與所述錄像通道對(duì)應(yīng)的大塊中是否存在未錄滿的大塊;b3’.若與所述錄像通道對(duì)應(yīng)的大塊中存在未錄滿的大塊,則將所述錄像記錄保存在所述未錄滿的大塊中。
4.根據(jù)權(quán)利要求3所述的控制方法,其特征在于,所述步驟b還包括如下步驟 b3.若與所述錄像通道對(duì)應(yīng)的大塊中不存在未錄滿的大塊,則判斷是否存在空的大塊。
5.根據(jù)權(quán)利要求4所述的控制方法,其特征在于,還包括如下步驟 b4’.若存在所述空的大塊,則將所述錄像記錄保存在所述空的大塊中,并根據(jù)所述錄像通道標(biāo)注所述空的大塊的錄像通道號(hào)。
6.根據(jù)權(quán)利要求4或5所述的控制方法,其特征在于,還包括如下步驟 b4.若不存在所述空的大塊,則確定待覆蓋的大塊,并將所述錄像記錄保存到所述待覆蓋的大塊中。
7.根據(jù)權(quán)利要求6所述的控制方法,其特征在于,所述步驟b4包括如下步驟 -將生成ID最小的大塊確定為所述待覆蓋的大塊。
8.根據(jù)權(quán)利要求6所述的控制方法,其特征在于,所述步驟b4包括如下步驟 -將未在使用中的大塊中生成ID最小的大塊確定為所述待覆蓋的大塊。
9.根據(jù)權(quán)利要求I至8中任一項(xiàng)所述的控制方法,其特征在于,在所述步驟b之前還包括如下步驟 a.判斷下一個(gè)被寫入的幀是否為關(guān)鍵幀,并判斷當(dāng)前被寫入的大塊的剩余空間是否低于第三閾值,其中,若上述兩個(gè)條件均被滿足,則執(zhí)行所述步驟b。
10.根據(jù)權(quán)利要求I至9中任一項(xiàng)所述的控制方法,其特征在于,還包括如下步驟 i.判斷所述待覆蓋的大塊的剩余空間是否低于第一閾值; .若所述待覆蓋的大塊的剩余空間低于第一閾值,則執(zhí)行所述步驟b3。
11.根據(jù)權(quán)利要求I至10中任一項(xiàng)所述的控制方法,其特征在于,還包括如下步驟 i’ ·判斷所述未錄滿的大塊的剩余空間是否低于第二閾值; ii’ ·若所述未錄滿的大塊的剩余空間低于第二閾值,則執(zhí)行所述步驟bl。
12.根據(jù)權(quán)利要求I至11中任一項(xiàng)所述的控制方法,其特征在于,還包括如下步驟 b4’’.若不存在所述空的大塊,則停止錄像。
13.根據(jù)權(quán)利要求I至12中任一項(xiàng)所述的控制方法,其特征在于,所述錄像分區(qū)包括主分區(qū)信息、塊索引以及若干大塊,其中,所述大塊包括幀索引。
14.根據(jù)權(quán)利要求13所述的控制方法,其特征在于,所述錄像分區(qū)還包括副分區(qū)信息以及副塊索引。
15.根據(jù)權(quán)利要求13或14所述的控制方法,其特征在于,所述塊索引包括大塊的塊時(shí)段,其中,所述控制方法還包括如下步驟 A.確定搜索時(shí)段; B.確定待搜索的錄像通道; C.判斷是否存在與所述待搜索的錄像通道對(duì)應(yīng)、且所述塊時(shí)段與所述搜索時(shí)段相交疊的大塊; D.若所述步驟C的判斷結(jié)果是肯定的,則判斷所述大塊內(nèi)是否存在其錄像時(shí)段與所述搜索時(shí)段相交疊的錄像記錄; E.若所述步驟D的判斷結(jié)果是肯定的,則反饋所述其錄像時(shí)段與所述搜索時(shí)段相交疊的錄像記錄。
16.根據(jù)權(quán)利要求13或14所述的控制方法,其特征在于,所述塊索引包括大塊的塊時(shí)段,其中,所述控制方法還包括如下步驟 A.確定搜索時(shí)段和搜索事件; B.確定待搜索的錄像通道; C.判斷是否存在與所述待搜索的錄像通道對(duì)應(yīng)、且所述塊時(shí)段與所述搜索時(shí)段相交疊的大塊; D’.若所述步驟C的判斷結(jié)果是肯定的,則判斷所述大塊內(nèi)是否存在其事件信息與所述搜索事件相同的錄像記錄; E’.若所述步驟D’的判斷結(jié)果是肯定的,則反饋所述其事件信息與所述搜索事件相同的錄像記錄。
17.根據(jù)權(quán)利要求15或16所述的控制方法,其特征在于,在所述步驟A之前還包括如下步驟 -根據(jù)時(shí)間順序?qū)λ雒總€(gè)大塊進(jìn)行索弓I排序。
18.一種基于快速視頻數(shù)據(jù)存儲(chǔ)的視頻文件系統(tǒng),其特征在于,至少包括如下邏輯層 用戶應(yīng)用程序接口,用于向所述視頻文件系統(tǒng)外部提供調(diào)用根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù); 錄放像庫(kù),用于根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)的管理,并接受預(yù)定的各種接口函數(shù)以實(shí)現(xiàn)外部對(duì)所述視頻數(shù)據(jù)的管理; 視頻數(shù)據(jù)庫(kù)讀取層,用于管理根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)在磁盤上的存放與讀取,其接受來(lái)自上述錄放像庫(kù)的接口函數(shù),使得所述錄放像庫(kù)可以操作所述視頻數(shù)據(jù); 虛擬文件系統(tǒng),至少用于向外部提供針對(duì)根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)的讀、寫、定位函數(shù); 讀寫文件系統(tǒng); 塊I/o設(shè)備訪問(wèn)層,用于接受對(duì)物理磁盤的操作函數(shù)以實(shí)現(xiàn)對(duì)物理磁盤的操作,其中,所述讀寫文件系統(tǒng)訪問(wèn)所述塊I/o設(shè)備訪問(wèn)層以實(shí)現(xiàn)對(duì)虛擬文件系統(tǒng)以及其上各邏輯層對(duì)存儲(chǔ)于所述物理磁盤內(nèi)的所述視頻數(shù)據(jù)的讀寫與存放。
19.根據(jù)權(quán)利要求18所述的視頻文件系統(tǒng),其特征在于,所述讀寫文件系統(tǒng)至少包括如下部分中的任ー個(gè)或任多個(gè) -RAWIO,其用于無(wú)文件系統(tǒng)的磁盤讀寫。
20.根據(jù)權(quán)利要求18或19所述的視頻文件系統(tǒng),其特征在于,還包括前端錄放像系統(tǒng),其中,所述前端錄放像系統(tǒng)包括 Rawmedia模塊,其用于提供與所述視頻文件系統(tǒng)相適應(yīng)的各種接ロ ; Rpctrl_raw模塊,其用于實(shí)現(xiàn)對(duì)根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù),封裝Rawmedia模塊,為提供上層統(tǒng)ー的接ロ ; Rpdownload_raw模塊,其用于下載與所述視頻文件系統(tǒng)對(duì)應(yīng)的各種文件,以使得所述iu端錄放像系統(tǒng)可以與所述視頻文件系統(tǒng)交互; 統(tǒng)ー編解碼接ロ模塊,其用于統(tǒng)ー各種編解碼器的調(diào)用接ロ ; 媒體控制層,用于根據(jù)外部的指令來(lái)控制根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù);以及 業(yè)務(wù)層,其用于向外部提供各種業(yè)務(wù)定義,外部可以根據(jù)這些業(yè)務(wù)實(shí)現(xiàn)各自不同的功倉(cāng)^:。
21.根據(jù)權(quán)利要求18至20中任一項(xiàng)所述的視頻文件系統(tǒng),其特征在于,根據(jù)權(quán)利要求I至17中任一項(xiàng)所述的控制方法實(shí)現(xiàn)對(duì)根據(jù)所述視頻文件系統(tǒng)存儲(chǔ)的各種視頻數(shù)據(jù)的管理。
全文摘要
本發(fā)明提供一種基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制方法,包括步驟b.根據(jù)錄像通道從與其對(duì)應(yīng)的若干大塊中確定一個(gè)大塊用于保存錄像記錄,其中,一個(gè)錄像分區(qū)被劃分為若干大塊,且所述大塊僅可以保存來(lái)自同一個(gè)錄像通道的若干段錄像記錄。還提供基于快速視頻數(shù)據(jù)存儲(chǔ)的文件系統(tǒng)的控制裝置。本發(fā)明通過(guò)對(duì)視頻監(jiān)控系統(tǒng)的文件系統(tǒng)的改進(jìn),并相應(yīng)地提供一套用于控制該文件系統(tǒng)的技術(shù)方案,在錄放像庫(kù)和底層讀寫層間建立一個(gè)管理錄像記錄元數(shù)據(jù)和以及讀寫媒體數(shù)據(jù)的層次,從而實(shí)現(xiàn)快速的視頻數(shù)據(jù)的存儲(chǔ)和增強(qiáng)錄放像的使用效率和減少故障率。
文檔編號(hào)G06F17/30GK102760136SQ20111010910
公開(kāi)日2012年10月31日 申請(qǐng)日期2011年4月29日 優(yōu)先權(quán)日2011年4月29日
發(fā)明者張之雙 申請(qǐng)人:蘇州科達(dá)科技有限公司