一種視頻監(jiān)控系統(tǒng)的磁盤冗余陣列的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)存儲技術(shù)領(lǐng)域,尤其涉及一種視頻監(jiān)控系統(tǒng)的磁盤冗余陣列。
【背景技術(shù)】
[0002]近年來,隨著計算機、網(wǎng)絡(luò)以及圖像處理、傳輸技術(shù)的飛速發(fā)展,視頻監(jiān)控的普及化趨勢越來越明顯。在視頻監(jiān)控系統(tǒng)中,對視頻媒體流的存儲是關(guān)鍵技術(shù)之一。目前在一些關(guān)鍵場所,存儲穩(wěn)定性要求相對較高,都需要對存儲介質(zhì)有一定的冗余要求。
[0003]磁盤冗余陣列RAID (Redundant Array of Independant Disks)是常用的一種存儲方案。其中RAIDl需要兩組以上的磁盤相互做鏡像,在一些多線程操作系統(tǒng)中能有很好的讀取速度,理論上讀取速度等于磁盤數(shù)量的倍數(shù),另外寫入速度有微小的降低,RAIDl只要一個磁盤正常即可維持運作,可靠性最高。其原理為在主硬盤上存放數(shù)據(jù)的同時也在鏡像硬盤上寫一樣的數(shù)據(jù)。當主硬盤(物理)損壞時,鏡像硬盤則代替主硬盤的工作。因為有鏡像硬盤做數(shù)據(jù)備份,所以RAID I的數(shù)據(jù)安全性在所有的RAID級別上來說是最好的。但無論用多少磁盤做RAID 1,僅只有一半磁盤的容量,是所有RAID中磁盤利用率最低的一個級別。而RAID5是把數(shù)據(jù)和相對應(yīng)的奇偶校驗信息存儲到組成RAID5的各個磁盤上,并且奇偶校驗信息和相對應(yīng)的數(shù)據(jù)分別存儲于不同的磁盤上。當RAID5的一個磁盤數(shù)據(jù)發(fā)生損壞后,可以利用剩下的數(shù)據(jù)和相應(yīng)的奇偶校驗信息去恢復(fù)被損壞的數(shù)據(jù)。RAID 5可以為系統(tǒng)提供數(shù)據(jù)安全保障,但保障程度要比鏡像低而磁盤空間利用率要比鏡像高。RAID 5具有和RAID O相近似的數(shù)據(jù)讀取速度,只是因為多了一個奇偶校驗信息,寫入數(shù)據(jù)的速度相對單獨寫入一塊硬盤的速度略慢。同時由于多個數(shù)據(jù)對應(yīng)一個奇偶校驗信息,RAID 5的磁盤空間利用率要比RAID I高,存儲成本相對較便宜。
[0004]在視頻監(jiān)控系統(tǒng)中,一般都會選擇RAID5作為冗余存儲設(shè)備,如圖1所示,RAID5一般由N(N> = 3)塊磁盤組成,并要求RAID5內(nèi)的每塊磁盤容量相等,RAID5陣列會對每塊磁盤以固定大小的空間劃分區(qū)間,每個磁盤的相同位置區(qū)間組成一個條帶,每個條帶有N-1個磁盤數(shù)據(jù)區(qū)間與一個校驗區(qū)間組成,條帶是RAID5的最小數(shù)據(jù)存儲單元。整個RAID5陣列對外會虛擬成一個磁盤,對用戶來說,相當于操作一個磁盤。視頻監(jiān)控系統(tǒng)會對每個RAID5陣列以固定大小方式劃分出η個文件存儲空間,文件存儲空間由多個條帶組成,每個文件存儲空間大小固定,并以該文件為單位,分配給一個攝像頭進行錄像存儲。當該錄像文件由于老化等原因被回收,該文件空間又可以分配給任一一個攝像頭進行錄像存儲。
[0005]但是RAID5為視頻監(jiān)控系統(tǒng)提供視頻媒體流存儲時,當每個視頻媒體流順序存儲時,由于RAID5條帶化原因,需要RAID5中的每個磁盤都需要提供存儲服務(wù),因此無法使RAID5陣列內(nèi)的某些硬盤進入休眠狀態(tài)。即根據(jù)視頻監(jiān)控系統(tǒng)視頻媒體流存儲特點,無法使某些硬盤進入休眠而節(jié)省硬盤消耗的電能及延長硬盤使用壽命。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供了一種視頻監(jiān)控系統(tǒng)的磁盤冗余陣列,利用RAIDl與RAID5融合,使得RAID5中的磁盤有序進入休眠狀態(tài),從而節(jié)省電源并延長硬盤壽命,并在單塊磁盤損壞情況下,保證整個錄像數(shù)據(jù)完整的磁盤冗余特點。
[0007]為了實現(xiàn)上述目的,本發(fā)明技術(shù)方案如下:
[0008]一種視頻監(jiān)控系統(tǒng)的磁盤冗余陣列,用于存儲所述視頻監(jiān)控系統(tǒng)的錄像數(shù)據(jù),所述磁盤冗余陣列包括至少三塊磁盤,每塊磁盤包括RAID5和RAIDl兩種組盤空間,所有磁盤的RAID5組盤空間組成一組RAID5陣列,所有磁盤的RAIDl組盤空間組成至少兩組RAIDl陣列。
[0009]本發(fā)明的一種實現(xiàn)方式,當組成磁盤冗余陣列的磁盤數(shù)量為偶數(shù)或為大于三的奇數(shù)時,所述RAIDl陣列由組成所述磁盤冗余陣列的磁盤的RAIDl組盤空間兩兩組合為一組RAIDl陣列。
[0010]本發(fā)明的另一種實現(xiàn)方式,當組成磁盤冗余陣列的磁盤數(shù)量為三時,所述每個磁盤的RAIDl組盤空間分為上半部分和下半部分,其中任意一個磁盤的上半部分與另一個磁盤的下半部分組合為一組RAIDl陣列。
[0011]進一步地,所述RAIDl陣列用于臨時錄像數(shù)據(jù)的存儲,所述RAIDl陣列為存儲的錄像數(shù)據(jù)設(shè)置狀態(tài)標識,所述狀態(tài)標識包含有效或無效兩種狀態(tài),當該錄像數(shù)據(jù)未復(fù)制到所述RAID5陣列中時,其對應(yīng)的狀態(tài)標識為有效,當該錄像數(shù)據(jù)已經(jīng)復(fù)制到所述RAID5陣列中后,所述狀態(tài)標識變?yōu)闊o效。
[0012]進一步地,所述磁盤冗余陣列還包括控制模塊,所述控制模塊用于在所述磁盤冗余陣列啟動后,先掃描所有RAIDl陣列,檢查RAIDl陣列中是否有有效錄像數(shù)據(jù),如果有RAIDl陣列中存在有效錄像數(shù)據(jù),則將該RAIDl陣列中存在的有效錄像數(shù)據(jù)復(fù)制到所述RAID5陣列,同時從該RAIDl陣列的下一組RAIDl陣列開始存儲新的錄像數(shù)據(jù);如果所有RAIDl陣列中都不存在有效錄像數(shù)據(jù),則從第一組RAIDl陣列開始存儲新的錄像數(shù)據(jù)。
[0013]進一步地,所述控制模塊還用于檢測任一組在存儲錄像數(shù)據(jù)的RAIDl陣列,如果存儲滿,則啟動下一組RAIDl陣列來存儲新的錄像數(shù)據(jù),同時將當前存儲滿的RAIDl陣列中的錄像數(shù)據(jù)復(fù)制到所述RAID5陣列。
[0014]從而在當前RAIDl空間存儲錄像數(shù)據(jù)過程中,其余RAID5硬盤在設(shè)定時間內(nèi)如果沒有任何數(shù)據(jù)訪問,則硬盤自身自動會進入休眠,從而節(jié)省電源并延長硬盤壽命。
[0015]進一步地,本發(fā)明中所述RAIDl陣列循環(huán)使用。
[0016]本發(fā)明所述RAID5組盤空間占磁盤空間的95%以上,所述RAIDl和RAID5陣列均劃分為固定大小的存儲空間單元,每個存儲空間單元對應(yīng)一個錄像數(shù)據(jù)文件,并且RAIDl與RAID5陣列中的存儲空間單元的大小相等。從而可以將錄像數(shù)據(jù)文件直接從RAIDl中復(fù)制到RAID5中。
[0017]本發(fā)明提出了一種視頻監(jiān)控系統(tǒng)的磁盤冗余陣列,通過將磁盤分為RAIDl和RAID5組盤空間,由RAID5組盤空間組成RAID5陣列來保存錄像數(shù)據(jù),由RAIDl組盤空間組成RAIDl陣列來進行錄像數(shù)據(jù)的臨時存儲,然后再復(fù)制到RAID5陣列。避免了 RAID5—直在進行數(shù)據(jù)的訪問,可使RAID5中的硬盤有序進入休眠狀態(tài),從而節(jié)省電源并延長硬盤壽命,并保證單塊磁盤損壞情況下,整個錄像數(shù)據(jù)完整的磁盤冗余特點。
【附圖說明】
[0018]圖1為現(xiàn)有技術(shù)RAID5條帶示意圖;
[0019]圖2為本發(fā)明一種實施例的RAID示意圖;
[0020]圖3為本發(fā)明另一種實施例的RAID示意圖;
[0021]圖4為本發(fā)明RAIDl陣列與RAID5陣列錄像數(shù)據(jù)復(fù)制替換示意圖。
【具體實施方式】
[0022]下面結(jié)合附圖和實施例對本發(fā)明技術(shù)方案做進一步詳細說明,以下實施例不構(gòu)成對本發(fā)明的限定。
[0023]本發(fā)明總體思路為:采用至少三塊磁盤組成磁盤冗余陣列,將組成磁盤冗余陣列的每一個磁盤分為兩部分空間,一部分為RAID5組盤空間,另一部分為RAIDl組盤空間,將各個磁盤中RAID5組盤空間組成為一個RAID5陣列,將各個磁盤中RAIDl組盤空間組成多個RAIDl陣列。分配給RAID5組盤空間的容量較大,占磁盤95%空間以上,用于錄像數(shù)據(jù)的存儲;而分配給RAIDl的組盤空間容量較小,用于臨時錄像數(shù)據(jù)的存儲。在視頻監(jiān)控系統(tǒng)開始錄像時,錄像數(shù)據(jù)臨時存入當前RAIDl陣列中,當當前RAIDl陣列的空間使用完之后,開啟下一組RAIDl陣列進行存儲,而將存滿的RAIDl陣列中的錄像數(shù)據(jù)復(fù)制到RAID5陣列中。由于復(fù)制錄像數(shù)據(jù)需要時間,一組RAIDl陣列在復(fù)制錄像數(shù)據(jù)時,另一組RAIDl來負責進行錄像數(shù)據(jù)的存儲,因此本實施例至少需要兩組RAIDl陣列。
[0024]本實施例將各個磁盤中RAID5組盤空間組成為一個RAID5陣列,而對于RAIDl的組成,由于RAIDl每次組盤需要2塊硬盤,因此需要根據(jù)磁盤的數(shù)量及奇/偶屬性來進行配置。如圖2和圖3所示,以下通過兩種實施例對本發(fā)明一種視頻監(jiān)控系統(tǒng)的磁盤冗余陣列進行詳細的闡述。
[0025]實施例一、直接模式,對應(yīng)于組成磁盤冗余陣列RAID的磁盤數(shù)量為偶數(shù),或超過3塊的奇數(shù)。
[0026]具體RAIDl的配置如下:
[0027]在磁盤的數(shù)量為偶數(shù)時,將相鄰2個磁盤中用于RAIDl的空間部分組成RAIDl陣列。例如當磁盤的數(shù)量為4時,磁盤I與2中RAIDl組盤空間,組成一組RAIDl陣列,磁盤3與4中RAIDl組盤空間,組成一組RAIDl陣列。
[0028]在磁盤的數(shù)量為超過3的奇數(shù)時,將最后一塊磁盤不進行配置,