新四季網

一種錄像文件存儲方法及裝置與流程

2023-04-29 08:38:07 1


本發明涉及視頻數據存儲領域,特別涉及一種錄像文件存儲方法。本發明同時還涉及一種錄像文件存儲裝置。



背景技術:

隨著網絡技術的蓬勃發展和視頻監控數位化、網絡化、高畫質化、智能化的逐漸成熟,視頻監控前端攝像機視頻採集技術也在飛速發展,從早期的10萬像素到今天的200萬、500萬像素,視頻清晰度越來越高,視頻畫面中的信息量也越來越豐富。作為安防視頻管理系統信息的最終集散地,存儲技術越來越為人們所重視。

在視頻監控行業,儘可能的保證歷史錄像可播放是衡量一個視頻監控系統是否健壯的關鍵指標。在監控存儲解決方案中,目前最常用的是ipc(ipcamera,網絡攝像機)+ipsan(storageareanetwork,存儲區域網路)組網,該存儲方案利用ipsan提供raid(redundantarraysofindependentdisks,磁碟陣列)5級別的保護。

raid是由很多磁碟組合成一個容量巨大的磁碟組,利用個別磁碟提供數據所產生加成效果提升整個磁碟系統效能。利用這項技術,技術人員能夠將數據切割成許多區段,分別存放在各個硬碟上。作為raid技術的規範之一,raid5能夠使用至少3塊硬碟(也可以更多)組建raid5磁碟陣列,當有數據寫入硬碟的時候,這次數據寫入會根據算法分成3部分,然後寫入這3塊硬碟,寫入的同時還會在這3塊硬碟上寫入校驗信息,當讀取寫入的數據的時候會分別從3塊硬碟上讀取數據內容,再通過檢驗信息進行校驗。當其中有1塊硬碟出現損壞的時候,就從另外2塊硬碟上存儲的數據可以計算出第3塊硬碟的數據內容。

發明人在實現本發明的過程中發現,在有校驗盤的情況下,一塊盤損壞不影響錄像文件的存儲,但raid的存儲方式只允許同時有一塊硬碟出現故障,當有兩塊盤接連損壞的情況下,那麼整個磁碟陣列的數據將會因為文件索引被破壞而不可讀寫。若不使用陣列而以單盤提供服務的話,需要在每一個盤上格式化文件系統,把文件單獨存到一個盤上或者把一個文件分割成多份存儲到多個盤上,該方案通過繞開了磁碟陣列的以提供單盤服務,但沒有了磁碟陣列保護,用戶所存儲的錄像文件直接受硬碟故障率的影響,從而導致系統穩定性降低。

由此可見,如何使存儲在磁碟陣列中的錄像文件能夠在硬碟損壞而導致文件索引被破壞的前提下仍然可被讀取,成為本領域技術人員亟待解決的技術問題。



技術實現要素:

本發明提供了一種錄像文件存儲方法,用以解決現有技術在磁碟出問題的情況下無法正常根據文件索引讀取磁碟陣列中所存儲的錄像文件的問題,該方法應用於磁碟陣列raid存儲系統中,包括:

將所述錄像文件寫入空白的分片數據段,並在寫入完成後獲取及保存所述分片數據段的地址,所述分片數據段與所述錄像文件一一對應,且所述分片數據段的長度大於所述錄像文件的文件大小;

當所述錄像文件的文件索引發生異常時,根據所述地址在所述分片數據段中獲取所述錄像文件的錄像數據。

相應的,本申請還提出了一種錄像文件存儲裝置,應用於磁碟陣列raid存儲系統中,包括:

寫入模塊,將所述錄像文件寫入空白的分片數據段,並在寫入完成後獲取及保存所述分片數據段的地址,所述分片數據段與所述錄像文件一一對應,且所述分片數據段的長度大於所述錄像文件的文件大小;

獲取模塊,當所述錄像文件的文件索引發生異常時,根據所述地址在所述分片數據段中獲取所述錄像文件的錄像數據。

由此可見,通過應用本申請的技術方案,將錄像文件寫入空白的分片數據段,並在寫入完成後獲取及保存該分片數據段的地址,由於該分片數據段與錄像文件一一對應,且分片數據段的長度大於錄像文件的文件大小,因此當錄像文件的文件索引發生異常時,能夠根據分片數據段的地址在分片數據段中獲取錄像文件的錄像數據。從而能夠在不降低存儲性能的前提下解決了raid存儲系統中文件索引被破壞而導致錄像文件無法被讀取的問題,提高了raid存儲系統的穩定性。

附圖說明

圖1為本申請實施例提出的一種錄像文件存儲方法的流程示意圖;

圖2為現有技術中raid存儲系統所採用的一種常見的存儲格式的示意圖;

圖3為本申請具體實施例所提出的一種錄像索引塊格式的示意圖;

圖4為本申請具體實施例所提出的一種錄像索引塊的處理方法示意圖;

圖5為本申請實施例提出的一種錄像文件存儲裝置的結構示意圖。

具體實施方式

如背景技術所述,當raid存儲系統中的多塊磁碟均出現故障時,該raid存儲系統中所述存儲的錄像文件的文件索引會被破壞,從而導致所存儲的錄像文件不可訪問。即便是通過冗餘備份的方式在其他磁碟陣列或者其他設備上完整複製一份當前raid存儲系統中所有錄像文件的索引。但該文件系統結構將會佔用很大的空間作為索引區,無論是簡單的備份或者完整備份都會降低其他邏輯卷的性能,從而對錄像業務產生影響。

有鑑於現有技術中的問題,本發明提出了一種錄像文件存儲方法,該方法應用於磁碟陣列raid存儲系統中,如圖1所示,包括如下步驟:

s101,將所述錄像文件寫入空白的分片數據段,並在寫入完成後獲取及保存所述分片數據段的地址,所述分片數據段與所述錄像文件一一對應,且所述分片數據段的長度大於所述錄像文件的文件大小。

為便於對本發明的技術方案進行闡述,以下首先針對方案中所涉及的概念進行介紹,如圖2所示,為raid存儲系統所採用的一種常見的存儲格式的示意圖。該存儲格式將一個邏輯卷劃分為以下三個部分:

(1)格式化信息:用於描述slice索引區內卷索引、索引日誌、目錄索引、文件索引的地址信息。

(2)slice索引區:用於描述分片數據區內的多個數據段的信息。在slice索引區內部,卷索引描述整個分片數據區的分片數據段地址。目錄索引和文件索引記錄錄像文件目錄信息(目錄名稱、創建時間等)、錄像文件信息(文件名稱、文件創建時間等)以及佔用的分片數據段地址信息。

(3)分片數據區:分片數據區根據固定長度分為多個分片數據段(現有技術中默認為64mb),分片數據段為一段連續且固定長度的數據。

在將錄像文件存儲至應用上述文件存儲格式的raid存儲系統時,所需要處理的內容分為文件描述信息和文件數據兩部分。其中,文件描述信息包括錄像文件的名稱、創建時間、佔用的一個或者多個分片數據段地址。而錄像文件的錄像數據存儲在一個或者多個分片數據段中。在錄像數據的存儲完成後,文件描述信息被作為該錄像文件的文件索引,其在raid存儲系統中的地址被返回用戶,由用戶把記錄保存到資料庫,之後用戶可以通過該地址讀取對應的錄像數據。

然而,由於raid是將數據切割成許多區段來分別存放在各個磁碟上,因此當raid存儲系統中一塊以上的磁碟因故障而無法訪問時,其條帶結構的數據存儲方式將導致間隔的數據段不可被讀取。以應用以上的存儲格式的raid5陣列為例,假設該raid5陣列的條帶塊(組成陣列條帶基本單元)的大小為64k,通過硬碟4+1的方式組成一個陣列,當其中兩塊盤被拔出後,連續完整的數據長度僅為3*64k,中間間隔丟失了64k數據。這種情況下,無論文件索引在邏輯卷(在陣列之上劃分的邏輯資源)的任何位置,必然會出現損壞,而導致文件索引數據不可訪問,用戶也無從獲得錄像文件的存儲位置。

基於以上描述,本發明的技術方案為了實現在文件系統索引損壞的情況下保證錄像文件的錄像數據繼續可讀,通過該步驟實現以下三個條件:

(1)一個錄像文件只存儲到一個分片數據段中:

(2)在現有技術的基礎上加大單位分片數據段的長度,使其可以容納單個錄像文件;

(3)將分片數據段地址視為另一種文件索引(現有的文件索引處理方式保持不變)進行保存。

舉例來說,在通過該步驟將2g大小的錄像文件寫入raid存儲系統中分片數據區的某一個分片數據段後,該數據段中僅存在該錄像文件,該錄像文件也僅完整存儲在該數據段中,並且該數據段的長度大於2g,以至於可整個容納錄像文件。

通過該步驟實現了一個錄像文件和一個分片數據段對應後,由於分片數據段在下層存儲上連續,那麼單個錄像文件的錄像數據就可以通過分片數據段的地址進行描述。後續在當文件索引不完整無法訪問時,用戶可以通過分片數據段的地址進行訪問。

為了達到以上技術目的,本申請的優選實施例在該步驟之前採用如下步驟確保分片數據段與錄像文件一一對應且長度大於錄像文件的文件大小:

步驟a)將所述分片數據段的長度設置為大於所述錄像文件的文件大小;

步驟b)從所述raid存儲系統中選擇未存儲任何錄像文件的所述分片數據段。

在現有的文件存儲格式中,單個文件的大小可以達到2gb或者更大,可同時對應多個slice的數據段。由於本發明的技術方案要求一個文件和一個分片數據段對應,所以該優選實施例通過增加單位分片數據段長度來保證單個錄像文件的大小在存儲至分片數據段後保持不變,從而間接保證索引不會增加。

需要說明的是,儘管上述優選實施例的步驟通過具體的方式闡述了如何將分片數據段的長度進行設置以及使單個分片數據段僅保存一個錄像文件,但是本發明並不僅限於此,在寫入錄像文件之前的其他時機通過其他方式達到相同目的的實現方式均屬於本申請的保護範圍。

s102,當所述錄像文件的文件索引發生異常時,根據所述地址在所述分片數據段中獲取所述錄像文件的錄像數據。

由於本發明的技術方案在相對於現有技術中保存文件索引的基礎上還額外保持了分片數據段的地址,因此在實際的應用過程中,用戶在正常情況下可選擇通過文件索引訪問所存儲的錄像文件,並且可在此基礎上讀取更多的描述信息(例如創建時間等),以此來實現精確的檢索。但是,當文件索引發生異常(例如因磁碟損壞而變得無法被讀取)時,用戶能夠通過保存的分片數據段的地址找到錄像文件的錄像數據,並基於錄像文件結構繼續讀取錄像數據。

以上方案通過加大raid存儲系統中分片數據段長度,同時把錄像文件和分片數據段地址進行對應,簡單的實現了通過分片數據段地址就可以讀取錄像文件的目的。在此基礎上,為了進一步能夠在錄像存儲格式索引損壞的情況下實現錄像文件的檢索與播放,本申請的優選實施例在分片數據段的錄像文件上設置了連續空間,該連續空間中存儲有多個與錄像文件對應的相同的錄像索引塊。基於raid存儲系統的特性,這些錄像索引塊具有以下特徵:

(1)所述錄像索引塊包含校驗信息以及所述錄像文件的播放信息。

目前,錄像數據格式多種多樣,例如ps、ts格式的碼流。為了準備描述錄像文件的特徵,該優選實施例在錄像文件上(例如文件頭)預留適當大小(例如1mb左右)的連續空間,用於保存多個錄像索引塊。該錄像索引塊描述的信息包括錄像索引信息塊的校驗信息(用於確認該錄像索引塊是否完好)以及錄像文件的播放信息,後續可在通過校驗信息確認錄像索引塊完好的情況下,通過播放信息實現錄像文件的數據播放。

在本申請的一個具體實施例中,錄像索引塊格式如圖3所示,錄像索引塊描述的信息包括錄像索引信息塊的校驗信息、錄像文件的開始時間、結束時間、i幀間隔時間、每一個i幀的相對時間戳和i幀的相對存儲位置。詳細說明如下:

第一部分是索引塊的校驗信息,第二部分是錄像的開始時間、結束時間,第三部分是i幀的間隔,單位秒,1表示間隔為1秒,第四部分是錄像文件內所有i幀的相對時間戳,單位秒,第五部分是錄像文件內所有i幀的地址信息,和第四部分的i幀的相對時間戳一一對應,按順序排列。

舉例來說,以一個2gb大小的錄像文件為例,碼率6mb/s,大約存儲半小時左右,如果i幀間隔為1秒,那麼就有1800個i幀,一個i幀時間戳加上一個i幀偏移總共8個字節,加上錄像索引塊校驗信息(4個字節),錄像開始時間和結束時間(64位元組)、i幀間隔描述(4位元組)總共大小為1800*8+4+64+4≈14k,這些信息存儲在一個陣列的條帶塊內,假如條帶塊大小是64kb,那麼多出剩餘空間可用0填充。

在此需要說明的是,以上錄像索引塊所包含的內容及其所存放的位置均為本申請所提出的具體說明,本領域技術人員在此基礎上所做的其他改進也應屬於本申請的保護範圍之內。

(2)所述錄像索引塊的大小小於或等於所述磁碟陣列raid存儲系統的條帶塊。

(3)所述錄像索引塊數量大於組成所述磁碟陣列raid存儲系統的磁碟的數量。

基於磁碟陣列的組成以及數據存儲特性,在該預留的連續空間內,本發明的技術方案存儲了多個錄像索引塊的副本(即多個錄像索引塊),每一個錄像索引塊的大小小於或等於陣列條帶塊的大小,且錄像索引塊的副本的個數要求大於用於做陣列的磁碟個數,這樣即便是磁碟出現故障而導致其中某個錄像索引塊無法被讀取,那麼也可使用其他的錄像索引塊讀取錄像文件的相關信息,進而實現錄像數據的播放。

以圖4所示的具體應用場景為例,該具體實施例採取raid5以及4+1的陣列方案,陣列條帶塊的大小為64kb,在存儲的錄像文件的連續空間內的錄像索引塊的副本個數必須大於5個。因為raid5陣列按條帶組織,對於多塊磁碟損壞時,連續條帶中的必然有一個條帶塊是好的,從而保證了的多個錄像索引塊中至少有一個是好的。

基於上述方案,本申請的優選實施例通過以下步驟實現錄像數據的播放:

步驟a)根據所述開始時間、所述結束時間以及所述關鍵幀相對時間戳確定需要讀取的關鍵幀的位置;

步驟b)根據所述關鍵幀地址信息從所述位置播放所述錄像數據,並在遇到不完整的關鍵幀數據時根據所述關鍵幀間隔跳過所述不完整的關鍵幀數據。

在進行錄像檢索時,上述優選實施例的方案通過讀取錄像文件的多個索引塊信息,根據校驗信息找到正確的索引塊。然後根據索引塊中錄像開始時間、結束時間,i幀的相對時戳,進行二分法查找,找到需要讀取的i幀的位置,然後從當前i幀位置開始播放錄像數據,如果過播放過程中有i幀數據不完整,跳過當前i幀,繼續讀取下一個i幀數據,以此確保在陣列損壞時,i幀的索引數據完整可讀。

通過應用本申請的技術方案,將錄像文件寫入空白的分片數據段,並在寫入完成後獲取及保存該分片數據段的地址,由於該分片數據段與錄像文件一一對應,且分片數據段的長度大於錄像文件的文件大小,因此當錄像文件的文件索引發生異常時,能夠根據分片數據段的地址在分片數據段中獲取錄像文件的錄像數據。從而能夠在不降低存儲性能的前提下解決了raid存儲系統中文件索引被破壞而導致錄像文件無法被讀取的問題,提高了raid存儲系統的穩定性。

為達到以上技術目的,本申請還提出了一種錄像文件存儲裝置,應用於磁碟陣列raid存儲系統中,如圖5所示,包括:

寫入模塊510,將所述錄像文件寫入空白的分片數據段,並在寫入完成後獲取及保存所述分片數據段的地址,所述分片數據段與所述錄像文件一一對應,且所述分片數據段的長度大於所述錄像文件的文件大小;

獲取模塊520,當所述錄像文件的文件索引發生異常時,根據所述地址在所述分片數據段中獲取所述錄像文件的錄像數據。

在具體的應用場景中,還包括:

設置模塊,將所述分片數據段的長度設置為大於所述錄像文件的文件大小;

選擇模塊,從所述raid存儲系統中選擇未存儲任何錄像文件的所述分片數據段。

在具體的應用場景中,所述設置模塊還用於:

在所述錄像文件上設置連續空間,所述連續空間中存儲有多個與所述錄像文件對應的相同的錄像索引塊;

其中,所述錄像索引塊包含校驗信息以及所述錄像文件的播放信息,所述錄像索引塊的大小小於或等於所述磁碟陣列raid存儲系統的條帶塊,所述錄像索引塊數量大於組成所述磁碟陣列raid存儲系統的磁碟的數量。

在具體的應用場景中,還包括:

篩選模塊,從所述連續空間中篩選出校驗信息正確的錄像索引塊;

播放模塊,根據所述校驗信息正確的錄像索引塊中的播放信息對所述錄像數據進行播放。

在具體的應用場景中,所述播放信息包含所述錄像文件的開始時間、結束時間、關鍵幀間隔、關鍵幀相對時間戳以及關鍵幀地址信息,所述播放模塊具體用於:

根據所述開始時間、所述結束時間以及所述關鍵幀相對時間戳確定需要讀取的關鍵幀的位置;

根據所述關鍵幀地址信息從所述位置播放所述錄像數據,並在遇到不完整的關鍵幀數據時根據所述關鍵幀間隔跳過所述不完整的關鍵幀數據。

通過應用本申請的技術方案,將錄像文件寫入空白的分片數據段,並在寫入完成後獲取及保存該分片數據段的地址,由於該分片數據段與錄像文件一一對應,且分片數據段的長度大於錄像文件的文件大小,因此當錄像文件的文件索引發生異常時,能夠根據分片數據段的地址在分片數據段中獲取錄像文件的錄像數據。從而能夠在不降低存儲性能的前提下解決了raid存儲系統中文件索引被破壞而導致錄像文件無法被讀取的問題,提高了raid存儲系統的穩定性。

通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可以通過硬體實現,也可以藉助軟體加必要的通用硬體平臺的方式來實現。基於這樣的理解,本發明的技術方案可以以軟體產品的形式體現出來,該軟體產品可以存儲在一個非易失性存儲介質(可以是cd-rom,u盤,移動硬碟等)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施場景所述的方法。

本領域技術人員可以理解附圖只是一個優選實施場景的示意圖,附圖中的模塊或流程並不一定是實施本發明所必須的。

本領域技術人員可以理解實施場景中的裝置中的模塊可以按照實施場景描述進行分布於實施場景的裝置中,也可以進行相應變化位於不同於本實施場景的一個或多個裝置中。上述實施場景的模塊可以合併為一個模塊,也可以進一步拆分成多個子模塊。

上述本發明序號僅僅為了描述,不代表實施場景的優劣。

以上公開的僅為本發明的幾個具體實施場景,但是,本發明並非局限於此,任何本領域的技術人員能思之的變化都應落入本發明的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀