一種錄像回放方法和裝置製造方法
2023-06-13 07:48:11 3
一種錄像回放方法和裝置製造方法
【專利摘要】本發明提出一種錄像回放方法,應用於一種視頻監控系統的DM伺服器上,包括:在本地備份每一路攝像機存儲資源中的關鍵索引數據,並周期性的進行更新;通過與存儲設備之間的信息交互,獲取當前的存儲資源映射信息;所述存儲資源映射信息包括存儲資源狀態與攝像機編號、存儲資源名稱以及存儲資源所在存儲陣列的標識之間的對應關係;當收到來自回放客戶端的回放請求時,根據該回放請求中的攝像機編號查詢存儲資源映射信息,如果該攝像機編號對應的存儲資源損壞,從本地讀取該攝像機存儲資源的關鍵索引數據,並根據該關鍵索引數據從存儲設備上讀取對應的錄像數據。本發明提高了對關鍵索引數據存儲的可擴展性,同時不需要新增額外的性能開銷。
【專利說明】一種錄像回放方法和裝置
【技術領域】
[0001]本發明涉及視頻監控領域,尤其涉及一種錄像回放方法和裝置。
【背景技術】
[0002]隨著高清在監控業務系統中的應用,對監控錄像存儲的可靠性、性能等要求越來越高。而前端IP編碼器設備到IP SAN存儲設備的端到端的媒體流iSCSI直存技術就是一種較好的錄像存儲方案。這種方案是在前端攝像機的IP編碼設備中集成iSCSI模塊,使得編碼設備可以基於iSCSI協議端到端的把錄像數據寫入IPSAN存儲設備中。
[0003]具體地,當監控點的圖像需要進行集中存儲時,前端IP編碼器與IP SAN存儲設備間建立iSCSI連接,將IPSAN設備的存儲資源通過iSCSI協議掛載到本地,然後將存儲視頻流進行iSCSI協議封裝,採用專有的塊存儲格式將媒體與時間索引數據寫入IPSAN存儲設備中。
[0004]其中一種通用的監控錄像塊存儲格式如圖1所示,該塊格式的主要組成部分如下:
[0005]超級塊:一般有幾十K(比如16K)字節,用來記錄塊格式的版本號、攝像機編碼,數據單元總數,以及新增數據單元的數據單元編號等;
[0006]一級時間索引區:超級塊後面為一級時間索引區,索引區中的每條時間索引與一個數據單元一一對應,用於記錄該數據單元的最早I幀組時間;
[0007]數據單元:一級時間索引區後面是一系列的數據單元,用於保存錄像的I幀組數據。每個數據單元是以一個二級時間索引區開始的,其中每條時間索引項與一個I幀組一一對應,用於記錄該I幀組的開始時間。二級時間索引區之後,就是本數據單元中的所有I幀組數據;每一個I幀組就是I秒的監控錄像數據。在I幀組中,存儲的是該I幀組的所有視頻、音頻數據包。
[0008]對於IP SAN存儲設備上以塊存儲格式進行存儲的錄像存儲資源,通常存在如下的錄像回放需求:
[0009]當IP SAN存儲設備的存儲陣列損壞磁碟數目超過其最大容忍範圍的情況下(比如:RAID5陣列最多容忍一塊壞盤,RAID6陣列最多容忍兩塊壞盤),用戶對陣列中的存儲錄像執行檢索、回放時,陣列正常盤上的錄像可以讀取和回放。同時,在錄像連續回放過程中,如果讀取到壞盤上的錄像數據,可以允許輕微程度的跳幀、花屏,但是整個回放流程不能中止。
[0010]對於上述回放需求,目前的解決方式是,對塊格式中的關鍵索引數據進行冗餘備份,從而在讀取壞盤上的索引數據失敗時,可以從冗餘備份區域讀取到索引備份數據。目前這種索引備份策略,主要是通過存儲設備自身進行完成,一種較通用的技術方案是通過在存儲設備的非磁碟存儲介質中(比如在CF卡中),分配索引備份空間。同時,對本存儲設備的所有攝像機劃分獨立的備份子空間,用於備份各攝像機塊存儲格式的關鍵索引數據。對於外部寫入的關鍵索引數據,存儲設備在索引備份空間中進行冗餘備份,複製備份一份。回放業務需要讀取索引數據時,如果數據落在壞盤上,則存儲設備從索引備份區域中讀取備份數據,並返回到回放業務。
[0011]然而該方案存在以下問題:
[0012]1:存儲設備自身可用於數據保護的非磁碟介質空間有限,如果需要備份的攝像機路數較多,則空間很可能不夠,方案的擴展性較差;
[0013]2:存儲設備需要理解外部寫入數據是否為索引數據,同時還需要理解是哪個攝像機通道的索引數據。而iSCSI塊存儲的關鍵技術優勢之一是存儲設備不需要理解數據格式,對接收數據統一按照二進位數據塊寫入,因此對上述索引及攝像機通道的理解處理,會降低存儲設備的寫入性能;
[0014]3:在回放過程中,存儲設備也需要理解外部讀取數據是否為索引數據、同時需要理解是哪個攝像機通道的索引數據,也會造成設備數據讀取性能的下降。
【發明內容】
[0015]有鑑於此,本發明提出一種錄像回放方法,應用於一種視頻監控系統的DM伺服器上,所述視頻監控系統還包括IP SAN存儲設備、回放客戶端以及若干前端攝像機,其中所述前端攝像機的錄像數據採用專有的塊存儲格式被集中存儲在IP SAN存儲設備中,所述方法包括:
[0016]步驟A、DM伺服器在本地備份每一路攝像機存儲資源中的關鍵索引數據,並周期性的進行更新;
[0017]步驟B、DM伺服器通過與IP SAN存儲設備之間的信息交互,獲取當前的存儲資源映射表信息;所述存儲資源映射表包括存儲資源狀態與攝像機編號、存儲資源名稱以及存儲資源所在存儲陣列的標識之間的對應關係;
[0018]步驟C、當DM伺服器收到來自回放客戶端的回放請求時,根據該回放請求中的攝像機編號查詢所述存儲資源映射表,如果該攝像機對應的存儲資源為損壞狀態,直接從本地讀取該攝像機存儲資源的關鍵索引數據,並根據該關鍵索引數據從IP SAN存儲設備上讀取對應的錄像數據。
[0019]本發明還提出一種錄像回放裝置,應用於一種視頻監控系統的DM伺服器上,所述視頻監控系統還包括IP SAN存儲設備、回放客戶端以及若干前端攝像機,其中所述前端攝像機的存儲資源採用專有的塊存儲格式存儲在IPSAN存儲設備中,所述裝置包括:
[0020]備份模塊,用於在本地備份每一路攝像機存儲資源中的關鍵索引數據,並周期性的進行更新;
[0021]創建模塊,用於通過與IP SAN存儲設備之間的信息交互,獲取當前的存儲資源映射信息;所述存儲資源映射信息包括存儲資源狀態與攝像機編號、存儲資源名稱以及存儲資源所在存儲陣列的標識之間的對應關係;
[0022]回放模塊,用於當收到來自回放客戶端的回放請求時,根據該回放請求中的攝像機編號查詢所述存儲資源映射信息,如果該攝像機對應的存儲資源為損壞狀態,直接從本地讀取該攝像機存儲資源的關鍵索引數據,並根據該關鍵索引數據從IP SAN存儲設備上讀取對應的錄像數據。
[0023]本發明方案通過對每一路攝像機存儲資源塊格式中的關鍵索引數據在DM伺服器本地進行備份,當DM伺服器在執行錄像回放時,對於損壞的存儲資源直接從本地的索引備份文件中讀取關鍵索引數據,提高了存儲的可擴展性,同時不需要新增額外的性能開銷。
【專利附圖】
【附圖說明】
[0024]圖1是現有技術中一種通用的監控錄像塊存儲格式;
[0025]圖2是本發明示例性的一實施方式中提出的一種錄像回放方法的流程圖;
[0026]圖3是本發明示例性的一實施方式中提出的一種視頻監控系統的組網圖;
[0027]圖4是本發明示例性的一實施方式中提出的一種索引備份文件的存儲格式;
[0028]圖5是本發明示例性的一實施方式中提出的一種DM伺服器對所有攝像機周期性的進行索引備份處理的流程圖;
[0029]圖6是本發明示例性的一實施方式中提出的一種DM伺服器根據本地關鍵索引數據讀取對應錄像數據的流程圖;
[0030]圖7是本發明示例性的一實施方式中提出的一種錄像回放裝置的邏輯結構圖。【具體實施方式】
[0031]為了使本發明的技術方案更加清楚明白,以下結合附圖並舉實施例對本發明進行詳細描述。
[0032]本發明示例性的一種實施方式中,提出一種錄像回放方法,應用於一種視頻監控系統的DM伺服器上,所述視頻監控系統還包括IP SAN存儲設備、回放客戶端以及若干前端攝像機,其中所述前端攝像機的錄像數據採用專有的塊存儲格式被集中存儲在IP SAN存儲設備中,請參見圖2,所述方法包括:
[0033]步驟S201、DM伺服器在本地備份每一路攝像機存儲資源中的關鍵索引數據,並周期性的進行更新;
[0034]步驟S202、DM伺服器通過與IP SAN存儲設備之間的信息交互,獲取當前的存儲資源映射信息;所述存儲資源映射信息包括存儲資源狀態與攝像機編號、存儲資源名稱以及存儲資源所在存儲陣列的標識之間的對應關係;
[0035]步驟S203、當DM伺服器收到來自回放客戶端的回放請求時,根據該回放請求中的攝像機編號查詢所述存儲資源映射信息,如果該攝像機對應的存儲資源為損壞狀態,直接從本地讀取該攝像機存儲資源的關鍵索引數據,並根據該關鍵索引數據從IP SAN存儲設備上讀取對應的錄像數據。
[0036]請參見圖3,圖3為所述視頻監控系統的組網圖,該系統中包括DM伺服器,IP SAN存儲設備,回放客戶端以及前端攝像機,其中前端攝像機的錄像數據通過集成了 iSCSI模塊的IP編碼器採用如圖2所示專有的塊存儲格式存儲集中存儲在IP SAN存儲設備中。
[0037]在整個系統中,DM伺服器周期性的對IP SAN存儲設備上的存儲資源進行遍歷巡檢,由於巡檢本身需要對已存儲的塊格式進行理解,因此可以在無新增性能開銷的前提下對塊格式中的關鍵索引數據進行備份。
[0038]在本實施例中,DM伺服器首先需要在本地硬碟中分配足夠大的索引備份空間,並格式化為文件系統,對每一路需要進行索引備份的攝像機使用一個單獨的索引備份文件。其中,所述索引備份文件的存儲格式如圖4所示,在該存儲格式中,超級塊、一級時間索引區和二級時間索引區的區域大小與圖2所示的塊存儲格式中對應區域的大小相同。為了方便基於攝像機定位到對應的索引備份文件,索引備份文件以對應的攝像機編號進行命名。t:匕如,對於攝像機編號為Cameral的索引備份文件,命名為「Camarel.block」。
[0039]具體地,請參見圖5,DM伺服器在對所有攝像機周期性的進行索引備份處理時,按照遍歷順序依次對攝像機進行關鍵索引數據的備份。其中,在本實施例中不對所述周期進行具體限定。
[0040]當DM伺服器遍歷到一個存儲資源時,首先判斷該存儲資源是否損壞,如果是,則直接處理下一個攝像機,如果否,則讀取超級塊中的攝像機編號,並判斷本地是否已經存在該攝像機對應的索引備份文件。
[0041]如果本地已經存在與該攝像機對應的索引備份文件,則打開該索引備份文件,將該存儲資源中的超級塊和一級時間索引區的數據拷貝到該索引備份文件的對應區域,同時根據超級塊中記錄的新增的數據單元編號,將對應的數據單元的二級時間索引區的數據也拷貝到本地的索引備份文件中,以完成索引備份文件的更新;其中所述新增的數據單元編號,為IP SAN存儲設備記錄的在DM伺服器的巡檢周期內新寫入錄像的數據單元的編號。
[0042]如果本地不存在與該攝像機對應的索引備份文件,則在本地創建一個以該攝像機編號命名的索引備份文件,將該存儲資源中的超級塊和一級時間索引區的數據拷貝到該索引備份文件的對應區域,同時根據超級塊中記錄的數據單元總數,將該存儲資源中的所有數據單元的二級時間索引區的數據逐個拷貝到該索引備份文件中。
[0043]同時,DM伺服器在為各攝像機在本地創建索引備份文件時,通過與IPSAN存儲設備間的信息交互,獲取各攝像機的存儲資源在存儲陣列上的映射信息,形成一張存儲資源映射表,其中該存儲 資源映射表包括存儲資源狀態與攝像機編號、存儲資源名稱以及存儲資源所在存儲陣列的標識之間的對應關係。具體地,該存儲資源映射表的具體格式請參見下表:
[0044]
【權利要求】
1.一種錄像回放方法,應用於一種視頻監控系統的DM伺服器上,所述視頻監控系統還包括IP SAN存儲設備、回放客戶端以及若干前端攝像機,其中所述前端攝像機的錄像數據採用專有的塊存儲格式被集中存儲在IP SAN存儲設備中,其特徵在於,所述方法包括: 步驟A、DM伺服器在本地備份每一路攝像機存儲資源中的關鍵索引數據,並周期性的進行更新; 步驟B、DM伺服器通過與IP SAN存儲設備之間的信息交互,獲取當前的存儲資源映射信息;所述存儲資源映射信息包括存儲資源狀態與攝像機編號、存儲資源名稱以及存儲資源所在存儲陣列的標識之間的對應關係; 步驟C、當DM伺服器收到來自回放客戶端的回放請求時,根據該回放請求中的攝像機編號查詢所述存儲資源映射信息,如果該攝像機對應的存儲資源為損壞狀態,直接從本地讀取該攝像機存儲資源的關鍵索引數據,並根據該關鍵索引數據從IP SAN存儲設備上讀取對應的錄像數據。
2.如權利要求1所述的方法,其特徵在於,所述步驟B還包括: 當IP SAN存儲設備的存儲陣列壞盤數量超過最大容忍數時,DM伺服器接收IP SAN存儲設備上報的已損壞存儲陣列標識,並根據該已損壞的存儲陣列標識,更新所述存儲資源映射信息。
3.如權利要求1所述的方法,其特徵在於,所述關鍵索引數據包括攝像機存儲資源塊格式中的超級塊、一級時間索引區數據以及二級時間索引區數據;所述步驟A具體包括: DM伺服器周期性對IP SAN存儲設備上存儲的各路攝像機的存儲資源進行遍歷; DM伺服器判斷遍歷到的存儲資源中的關鍵索引數據是否已在本地備份,如果否,在本地創建名稱與該存儲資源對應攝像機的編號相同的索引備份文件,將該存儲資源中的超級塊和一級時間索引區的數據拷貝到創建的索引備份文件中,並根據超級塊中的數據單元總數將所有數據單元的二級時間索引區的數據逐個拷貝到所述索引備份文件中; 如果是,將該存儲資源中的超級塊和一級時間索引區的數據拷貝到所述索引備份文件中,並根據超級塊中新增數據單元編號將對應的二級時間索引區的數據拷貝到創建的索引文件中。
4.如權利要求2所述的方法,其特徵在於,所述IPSAN存儲設備的存儲陣列包括RAID陣列和/或JBOD陣列; 當所述RAID陣列的壞盤數目超過最大容忍數,對於外部寫IO操作,直接返回失敗;對於外部讀IO操作,如果遇到壞盤,直接返回失敗;如果是正常盤,繼續執行磁碟的讀操作,並將讀取結果返回; 當所述JBOD陣列的壞盤數目超過最大容忍數,對於外部讀、寫IO操作,如果遇到壞盤,直接返回失敗;如果是正常盤,繼續執行對磁碟的讀、寫操作,並將讀、寫結果返回。
5.如權利要求1所述的方法,其特徵在於,所述根據該關鍵索引數據從IPSAN存儲設備上讀取對應的視頻數據包括: 步驟D、根據所述關鍵索引數據讀取對應的I幀組,如果讀取成功,直接將讀取到的I幀組輸出給回放客戶端,並繼續讀取下一 I幀組;如果讀取失敗,則執行步驟E ; 步驟E、根據預估的I幀長度,從IP SAN存儲設備上讀取所述I幀組中的I幀數據,如果讀取失敗,則繼續讀取下一 I幀組;如果讀取成功,則進一步判斷讀取到的I幀是否完整,如果是,直接將讀取到的I幀輸出給回放客戶端,並繼續讀取下一 I幀組;如果否,執行步驟F; 步驟F、讀取所述I幀的剩餘部分數據,並判斷讀取是否成功,如果是,對所述預估的I幀長度進行校正後,將該I幀輸出給回放客戶端,並繼續讀取下一 I幀組;如果否,直接繼續讀取一下I幀組。
6.一種錄像回放裝置,應用於一種視頻監控系統的DM伺服器上,所述視頻監控系統還包括IP SAN存儲設備、回放客戶端以及若干前端攝像機,其中所述前端攝像機的錄像數據採用專有的塊存儲格式被集中存儲在IP SAN存儲設備中,其特徵在於,所述裝置包括: 備份模塊,用於在本地備份每一路攝像機存儲資源中的關鍵索引數據,並周期性的進行更新; 創建模塊,用於通過與IP SAN存儲設備之間的信息交互,獲取當前的存儲資源映射信息;所述存儲資源映射信息包括存儲資源狀態與攝像機編號、存儲資源名稱以及存儲資源所在存儲陣列的標識之間的對應關係; 回放模塊,用於當收到來自回放客戶端的回放請求時,根據該回放請求中的攝像機編號查詢所述存儲資源映射信息,如果該攝像機對應的存儲資源為損壞狀態,直接從本地讀取該攝像機存儲資源的關鍵索引數據,並根據該關鍵索引數據從IP SAN存儲設備上讀取對應的錄像數據。
7.如權利要求6所述的裝置,其特徵在於,所述創建模塊進一步用於: 當IP SAN存儲設備的存儲陣列壞盤數量超過最大容忍數時,接收IP SAN存儲設備上報的已損壞存儲陣列標識,並根據該已損壞的存儲陣列標識,更新所述存儲資源映射信息。
8.如權利要求6所述的裝置,其特徵在於,所述關鍵索引數據包括攝像機存儲資源塊格式中的超級塊、一級時間索引區數據以及二級時間索引區數據;所述備份模塊具體用於: 周期性對IP SAN存儲設備上存儲的各路攝像機的存儲資源進行遍歷; 判斷遍歷到的存儲資源中的關鍵索引數據是否已在本地備份,如果否,在本地創建名稱與該存儲資源對應攝像機的編號相同的索引備份文件,將該存儲資源中的超級塊和一級時間索引區的數據拷貝到創建的索引備份文件中,並根據超級塊中的數據單元總數將所有數據單元的二級時間索引區的數據逐個拷貝到所述索引備份文件中; 如果是,將該存儲資源中的超級塊和一級時間索引區的數據拷貝到所述索引備份文件中,並根據超級塊中新增數據單元編號將對應的二級時間索引區的數據拷貝到創建的索引文件中。
9.如權利要求7所述的裝置,其特徵在於,所述IPSAN存儲設備的存儲陣列包括RAID陣列和/或JBOD陣列; 當所述RAID陣列的壞盤數目超過最大容忍數,對於外部寫IO操作,直接返回失敗;對於外部讀IO操作,如果遇到壞盤,直接返回失敗;如果是正常盤,繼續執行磁碟的讀操作,並將讀取結果返回; 當所述JBOD陣列的壞盤數目超過最大容忍數,對於外部讀、寫IO操作,如果是壞盤,直接返回失敗;如果是正常盤,繼續執行對磁碟的讀、寫操作,並將讀、寫結果返回。
10.如權利要求6所述的裝置,其特徵在於,所述回放模塊進一步包括:第一讀取模塊,用於根據所述關鍵索引數據讀取對應的I幀組,如果讀取成功,直接將讀取到的I幀組輸出給回放客戶端,並繼續讀取下一 I幀組;如果讀取失敗,則轉第二讀取模塊處理; 第二讀取模塊,用於根據預估的I幀長度,從IP SAN存儲設備上讀取所述I幀組中的I幀數據,如果讀取失敗,則繼續讀取下一 I幀組;如果讀取成功,則進一步判斷讀取到的I幀是否完整,如果是,直接將讀取到的I幀輸出給回放客戶端,並繼續讀取下一 I幀組;如果否,轉第三讀取模塊處理; 第三讀取模塊,用於讀取所述I幀的剩餘部分數據,並判斷讀取是否成功,如果是,對所述預估的I幀長度進行校正後,將該I幀輸出給回放客戶端,並繼續讀取下一 I幀組;如果否,直接繼續讀取一下I幀組。
【文檔編號】G06F17/30GK103929609SQ201410163659
【公開日】2014年7月16日 申請日期:2014年4月22日 優先權日:2014年4月22日
【發明者】成浩, 丁強 申請人:浙江宇視科技有限公司