視頻監(jiān)控索引數(shù)據(jù)的備份方法和裝置的制造方法
【技術領域】
[0001]本申請涉及視頻監(jiān)控技術領域,尤其涉及一種視頻監(jiān)控索引數(shù)據(jù)的備份方法和裝置。
【背景技術】
[0002]獨立磁盤RAID 陣列(Redundant Array of Independent Disks,RAID)技術廣泛應用于存儲領域,在視頻監(jiān)控領域,使用RAID陣列來存儲視頻數(shù)據(jù)也變得越來越流行。
[0003]視頻監(jiān)控的存儲設備通常是先在RAID陣列中寫入視頻數(shù)據(jù)對應的索引數(shù)據(jù),然后再寫入視頻數(shù)據(jù)。索引數(shù)據(jù)對監(jiān)控視頻圖像來說至關重要,在陣列失敗或者丟失磁盤的情況下,可以通過索引數(shù)據(jù)將存儲在剩下磁盤中的視頻數(shù)據(jù)讀取出來,從而可以保留大部分視頻數(shù)據(jù)。
[0004]目前,通常會對索引數(shù)據(jù)進行備份,以便在陣列失敗的情況下,可以通過索引數(shù)據(jù)將其他磁盤中的視頻數(shù)據(jù)讀取出來。然而,索引數(shù)據(jù)通常分散在RAID陣列的所有區(qū)域中,在備份索引數(shù)據(jù)時,需要將索引數(shù)據(jù)逐個拷貝到新的磁盤或者邏輯資源中,備份索引數(shù)據(jù)極為不便。
[0005]此外,索引數(shù)據(jù)均為小塊的10命令,且會被頻繁地訪問。訪問索引數(shù)據(jù)對于RAID陣列的磁盤而言,是許多隨機的小塊命令,這會大大降低磁盤的讀寫性能。
【發(fā)明內容】
[0006]有鑒于此,本申請?zhí)峁┮环N視頻監(jiān)控索引數(shù)據(jù)的備份方法和裝置。
[0007]具體地,本申請是通過如下技術方案實現(xiàn)的:
[0008]—種視頻監(jiān)控索引數(shù)據(jù)的備份方法,所述方法包括:
[0009]對RAID陣列的存儲資源進行劃分,使得劃分后的RAID陣列包括索引區(qū)、數(shù)據(jù)區(qū)以及備份索引區(qū),其中,所述索引區(qū)位于陣列頭部,所述備份索引區(qū)位于陣列尾部,所述數(shù)據(jù)區(qū)位于所述索引區(qū)以及所述備份索引區(qū)之間;
[0010]向所述數(shù)據(jù)區(qū)寫入視頻數(shù)據(jù);
[0011]向所述索引區(qū)寫入與視頻數(shù)據(jù)對應的索引數(shù)據(jù);
[0012]將所述索引數(shù)據(jù)按照錯位備份規(guī)則備份到所述備份索引區(qū)。
[0013]可選的,所述將所述索引數(shù)據(jù)按照錯位備份規(guī)則備份到所述備份索引區(qū),包括:
[0014]在首次備份時,針對RAID陣列的每個邏輯資源,檢索索引區(qū)中索引數(shù)據(jù)的第一起始地址和第一終止地址,將所述第一起始地址和所述第一終止地址之間的索引數(shù)據(jù)以條塊為單位備份到RAID陣列其他磁盤的備份索引區(qū),并記錄本次備份的所述第一終止地址,以作為備份終止地址;
[0015]在非首次備份時,針對RAID陣列的每個邏輯資源,判斷索引區(qū)中上一次記錄的備份終止地址是否小于當前索引數(shù)據(jù)的第二終止地址,如果小于,則將所述第二終止地址與上一次記錄的所述備份終止地址之間的索引數(shù)據(jù)以條塊為單位備份到RAID陣列其他磁盤的備份索引區(qū),如果大于等于,則將上一次記錄的備份終止地址與該邏輯資源的索引區(qū)終止地址之間的索引數(shù)據(jù)以條塊為單位備份到RAID陣列其他磁盤的備份索引區(qū),以及將該邏輯資源的索引區(qū)起始地址與當前索引數(shù)據(jù)的第二終止地址之間的索引數(shù)據(jù)以條塊為單位備份到RAID陣列其他磁盤的備份索引區(qū)。
[0016]可選的,所述將索引數(shù)據(jù)以條塊為單位備份到RAID陣列其他磁盤的備份索引區(qū),包括:
[0017]確定所述其他磁盤備份索引區(qū)的備份起始地址;
[0018]基于所述備份起始地址開始備份所述索引數(shù)據(jù);
[0019]其中,所述備份起始地址等于待備份的索引數(shù)據(jù)的第二起始地址加上RAID陣列的備份索引區(qū)與索引區(qū)的偏移量再加上N個條塊的大小,N為大于等于1且小于RAID陣列磁盤數(shù)量的自然數(shù)。
[0020]可選的,所述方法還包括:
[0021]在RAID陣列變?yōu)槭顟B(tài)后,通過與所述錯位備份規(guī)則對應的錯位恢復規(guī)則恢復出所述索引數(shù)據(jù)。
[0022]可選的,所述通過與所述錯位備份規(guī)則對應的錯位恢復規(guī)則恢復出所述索引數(shù)據(jù),包括:
[0023]根據(jù)非故障磁盤備份索引區(qū)中的備份索引數(shù)據(jù)在新加入磁盤的索引區(qū)中恢復故障磁盤的索引數(shù)據(jù),根據(jù)非故障磁盤索引區(qū)中的索引數(shù)據(jù)在新加入磁盤的備份索引區(qū)中恢復故障磁盤的備份索引數(shù)據(jù)。
[0024]可選的,所述根據(jù)非故障磁盤備份索引區(qū)中的備份索引數(shù)據(jù)在新加入磁盤的索引區(qū)中恢復故障磁盤的索引數(shù)據(jù),包括:
[0025]確定故障磁盤的索引數(shù)據(jù)在新加入磁盤中的恢復起始地址;
[0026]基于所述恢復起始地址將非故障磁盤備份索引區(qū)中的所述備份索引數(shù)據(jù)恢復到新加入磁盤的索引區(qū)中;
[0027]其中,所述恢復起始地址等于所述非故障磁盤備份索引區(qū)中的所述備份索引數(shù)據(jù)的第三起始地址減去RAID陣列的備份索引區(qū)與索引區(qū)的偏移量再減去Μ個條塊的大小,Μ的取值等于備份索引數(shù)據(jù)時采用的條塊數(shù)量。
[0028]可選的,所述方法還包括:
[0029]在RAID陣列變?yōu)槭顟B(tài)后,且恢復出所述索引數(shù)據(jù)前,將RAID陣列的讀寫狀態(tài)設置為只讀。
[0030]可選的,所述將所述索引數(shù)據(jù)按照錯位備份規(guī)則備份到所述備份索引區(qū),包括:
[0031]按照預設的時間周期將所述索引數(shù)據(jù)按照錯位備份規(guī)則備份到所述備份索引區(qū)。
[0032]可選的,所述方法還包括:
[0033]在RAID陣列變?yōu)榻导墵顟B(tài)后,通過陣列恢復機制恢復出所述索引數(shù)據(jù)。
[0034]可選的,所述備份索引區(qū)的大小不小于所述索引區(qū)的大小。
[0035]由以上描述可以看出,本申請可以通過錯位備份規(guī)則,將RAID陣列索引區(qū)中的索引數(shù)據(jù)備份到陣列其他磁盤的備份索引區(qū),便于索引數(shù)據(jù)的備份操作,同時,將索引數(shù)據(jù)集中存儲在RAID陣列的頭部,將備份的索引數(shù)據(jù)集中存儲在RAID陣列的尾部,可以提高磁盤的讀寫性能。
【附圖說明】
[0036]圖1是本申請一示例性實施例示出的一種RAID陣列示意圖。
[0037]圖2是本申請一示例性實施例示出的一種視頻監(jiān)控索引數(shù)據(jù)的備份方法的流程示意圖。
[0038]圖3是本申請一示例性實施例示出的一種索引數(shù)據(jù)覆蓋寫的示意圖。
[0039]圖4是本申請一示例性實施例示出的一種索引數(shù)據(jù)備份后的RAID陣列示意圖。
[0040]圖5是本申請一示例性實施例示出的一種索引數(shù)據(jù)恢復的RAID陣列示意圖。
【具體實施方式】
[0041]這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
[0042]在本申請使用的術語是僅僅出于描述特定實施例的目的,而非旨在限制本申請。在本申請和所附權利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語“和/或”是指并包含一個或多個相關聯(lián)的列出項目的任何或所有可能組合。
[0043]應當理解,盡管在本申請可能采用術語第一、第二、第三等來描述各種信息,但這些信息不應限于這些術語。這些術語僅用來將同一類型的信息彼此區(qū)分開。例如,在不脫離本申請范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語境,如在此所使用的詞語“如果”可以被解釋成為“在……時”或“當……時”或“響應于確定”。
[0044]針對上述問題,本申請?zhí)峁┮环N視頻監(jiān)控