亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數據冗余處理方法、裝置和分布式存儲系統的制作方法

文檔序號:6516234閱讀:182來源:國知局
數據冗余處理方法、裝置和分布式存儲系統的制作方法
【專利摘要】本發(fā)明提供了一種數據冗余處理方法、裝置和分布式存儲系統。所述裝置包括數據分段模塊、冗余數據生成模塊和存儲模塊。所述方法為將寫入數據進行等長切分,不足長度用二進制0填充,對切分的每個片段再等長切分為4個數據塊,通過冗余算法計算出4個冗余數據塊,將每個片段的8個數據塊存儲到至少4個存儲節(jié)點上。所述分布式存儲系統利用所述裝置或方法存儲數據,并包括4個以上的存儲節(jié)點。當一個片段的8個數據塊中部分數據出現損壞時,可利用剩余數據塊對損壞的數據進行恢復。本發(fā)明提高了存儲空間的利用率,降低了存儲節(jié)點的負載,節(jié)省了數據訪問時間,且支持多種類型的冗余備份方式,靈活性較高。
【專利說明】數據冗余處理方法、裝置和分布式存儲系統
【技術領域】:
[0001]本發(fā)明涉及存儲技術,尤其涉及一種數據冗余處理方法、裝置和分布式存儲系統。【背景技術】:
[0002]分布式存儲系統包括通過網絡互聯的多個存儲節(jié)點,數據可以被分散地存儲到不同的存儲節(jié)點上,以實現大容量、高可靠性且易擴展的存儲應用。
[0003]現有的分布式存儲系統可以采用基于對象的存儲方式。對于這種存儲方式來說,現有技術采用存儲節(jié)點間的多份機制以保證數據存儲的可靠性。具體來說,該多份機制即為將該分布式存儲系統中的某一個或者某幾個存儲節(jié)點作為主存儲節(jié)點的備份節(jié)點。在寫數據時,需要將數據在這些存儲節(jié)點上寫入多份相同的數據,從而實現數據的冗余備份,在一個存儲節(jié)點發(fā)生故障時,其它存儲節(jié)點上的數據是可用的。
[0004]但是,上述現有的多份機制只是筒單地向多個存儲節(jié)點中寫入相同的數據,如果要保證損壞N個存儲節(jié)點后數據仍可用,則數據至少需要重復寫N+1份,則存儲節(jié)點的空間利用率最多為1/(N+1),因此,存儲空間的利用率較低,存儲節(jié)點的負載增高;而且,這種多份機制不能支持多種類型的冗余備份方式,靈活性較低。

【發(fā)明內容】
:
[0005]本發(fā)明針對現有多份機制所需的存儲空間利用率低且不支持多種類型的冗余備份方式的缺點,提供了一種數據冗余處理方法、裝置和分布式存儲系統。
[0006]本發(fā)明提供的一種數據冗余處理方法,具體是:首先,將寫入數據以固定長度L進行切分,得到K個片段數據,當最后一個片段的長度小于L時,以二進制值00000000進行填充,L為4N個字節(jié),K為不小于I的自然數,N為正整數;然后,將每個片段數據等分成4個數據塊,由4個數據塊計算出4個冗余數據塊;最后,對每個片段數據,將對應的4個數據塊和4個冗余數據塊存儲到至少4個存儲節(jié)點上,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。所述的4個冗余數據塊通過對4個數據塊進行邏輯異或操作(XOR)計算得到。
[0007]本發(fā)明提供的一種數據冗余處理裝置,包括:數據分段模塊、冗余數據生成模塊以及存儲模塊。數據分段模塊用于將寫入數據以固定長度L進行切分,設共得到K個片段數據,當最后一個片段的長度小于L時,以二進制值00000000進行填充,L為4N個字節(jié),K為不小于I的自然數,N為正整數。冗余數據生成模塊,將每個片段數據等分成4個數據塊,并由4個數據塊計算出4個冗余數據塊。所述的4個冗余數據塊通過對4個數據塊進行邏輯異或操作計算得到。存儲模塊將每個片段數據所對應的4個數據塊和4個冗余數據塊存儲到至少4個存儲節(jié)點上,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。
[0008]本發(fā)明還提供了一種分布式存儲系統,使用所述的數據冗余處理方法和裝置,該系統中最少包含4個存儲節(jié)點,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。
[0009]所述的片段的長度L為固定值,且對于同一個系統中的數據,片段長度是唯一的。
[0010]本發(fā)明的數據冗余處理方法、裝置和分布式存儲系統,提高了存儲空間的利用率,降低了存儲節(jié)點的負載,且支持多種類型的冗余備份方式,靈活性較高。對于大容量數據,本發(fā)明的分塊存儲可以提高數據的訪問速度,例如在進行數據遷移和校驗時,對散布在不同節(jié)點的數據可以進行并行的操作,相比對一個大文件的線性處理,節(jié)省時間。本發(fā)明的備份方式按照實際占用的容量,需要兩倍于原數據的存儲容量,并且通過邏輯異或操作產生的存儲塊,可在分塊不完整的情況下恢復丟失的數據。而典型的分布式數據存儲系統(如Apache的HDFS)中不使用數據恢復編碼,而是直接使用三個一致的副本和簡單的檢錯碼。相比之下,本發(fā)明的數據冗余處理方法、裝置和分布式存儲系統占用更少的存儲空間。
【專利附圖】

【附圖說明】:
[0011]圖1為本發(fā)明的數據冗余處理裝置的結構示意圖;
[0012]圖2為本發(fā)明的數據冗余處理方法中對數據處理的示意圖。
【具體實施方式】:
[0013]下面將結合附圖和實施例對本發(fā)明的技術方案進行詳細說明。
[0014]如圖1所示,本發(fā)明提供了一種數據冗余處理裝置,包括數據分段模塊1、冗余數據生成模塊2以及存儲模塊3。
[0015]所述的數據分段模塊I將寫入數據切分為等長的K個片段數據,K為不小于I的自然數,每個片段的長度為L。最后的第K個片段有可能小于所設定的長度L,則使用二進制值00000000來進行填充,使第K個片段的長度為L。片段的長度L在具體實施時采用固定值,對于一個系統中的數據,片段長度L是唯一的。設置片段長度L為4N個字節(jié),N為正整數。
[0016]所述的冗余數據生成模塊2將每個片段數據進一步均等地切分成4個數據塊,通過邏輯異或操作(XOR)對4個數據塊進行計算,得到4個冗余數據塊。所述的4個塊數據和4個冗余數據塊中,當任意損壞至多4個數據時,都能夠利用未損壞的數據塊恢復損壞的數據。
[0017]所述的存儲模塊3對于每一個片段數據的4個數據塊和4個冗余數據塊都存儲到位于至少4個存儲節(jié)點的對象中。對于一個片段數據,共存儲8個數據塊,并且每個存儲節(jié)點包含每個片段數據的至多2個數據塊。本發(fā)明提供的數據冗余處理方法,包括如下三個步驟:
[0018]步驟1:將寫入數據以固定長度L進行切分,得到K個片段數據。當最后一個片段的長度小于L時,以二進制值00000000進行填充,L為4N個字節(jié),K為不小于I的自然數,N為正整數。如圖2所示。
[0019]步驟2:將每個片段數據等分成4個數據塊,并對得到的4個數據塊通過冗余數據算法計算出4個冗余數據塊。如圖2所示。所述的冗余數據算法可為邏輯異或操作算法。
[0020]步驟3:對每個片段數據,將對應的4個數據塊和4個冗余數據塊存儲到至少4個存儲節(jié)點上,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。
[0021]本發(fā)明將所述的數據冗余處理裝置或方法應用到分布式存儲系統中,得到一種分布式存儲系統,該分布式存儲系統最少包含4個存儲節(jié)點,每個存儲節(jié)點存儲每個片段數據中的至多2個數據塊。[0022]實施例:
[0023]寫入數據被切分為等長的K個片段數據,K為不小于I的自然數。每個片段數據的長度為64MB。K個片段中的最后一個數據塊有可能小于固定的長度,使用二進制值00000000來進行填充。
[0024]每個數據片段被進一步等分成4個數據塊,每個數據塊長度為16MB。通過邏輯異或操作,由4個數據塊計算出4個冗余數據塊,每個冗余數據塊的長度為16MB。所述4個數據塊和4個冗余數據塊中任意損壞至多4個時,能夠利用未損壞的數據塊來恢復損壞的數據。
[0025]對于每一個數據片段,將該數據片段的4個數據塊和4個冗余數據塊分別存儲到位于至少4個存儲節(jié)點上的對象中,共存儲8個數據塊,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。
[0026]冗余數據塊是采用冗余算法對片段數據的4個數據塊進行冗余運算獲取得到,冗余數據塊是保證在數據塊和冗余數據塊中任意幾個數據出錯時,采用剩余的數據塊均能夠恢復出原始數據,而具體可以允許幾個數據塊出錯,則由冗余算法確定。
[0027]本發(fā)明的技術方案并非在各個存儲節(jié)點上進行多份存儲,而是通過將塊數據和冗余塊數據分別存儲在位于至少4個存儲節(jié)點上,從而可以實現存儲節(jié)點之間的冗余處理,可以提高存儲空間地利用率且降低了存儲節(jié)點的負載,另外,本發(fā)明實施例可以支持不同的冗余算法,從而滿足客戶不同的可靠性需求,靈活性較高。
【權利要求】
1.一種數據冗余處理方法,其特征在于,具體實現方案為:首先,將寫入數據以固定長度L進行切分,得到K個片段數據,當最后一個片段的長度小于L時,以二進制值00000000進行填充,L為4N個字節(jié),K為不小于I的自然數,N為正整數;然后,將每個片段數據等分成4個數據塊,由4個數據塊計算出4個冗余數據塊;最后,對每個片段數據,將對應的4個數據塊和4個冗余數據塊存儲到至少4個存儲節(jié)點上,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。
2.根據權利要求1所述的數據冗余處理方法,其特征在于,所述的4個冗余數據塊,通過對4個數據塊進行邏輯異或操作計算得到。
3.一種數據冗余處理裝置,其特征在于,包括:數據分段模塊、冗余數據生成模塊以及存儲模塊;數據分段模塊用于將寫入數據以固定長度L進行切分,設共得到K個片段數據,當最后一個片段的長度小于L時,以二進制值00000000進行填充,L為4N個字節(jié),K為不小于I的自然數,N為正整數;冗余數據生成模塊,將每個片段數據等分成4個數據塊,并根據所述的4個數據塊計算出4個冗余數據塊;存儲模塊將每個片段數據所對應的4個數據塊和4個冗余數據塊存儲到至少4個存儲節(jié)點上,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。
4.根據權利要求3所述的數據冗余處理裝置,其特征在于,所述的4個冗余數據塊,通過對4個數據塊進行邏輯異或操作計算得到。
5.一種分布式存儲系統,其特征在于,利用權利要求1所述的數據冗余處理方法或者利用權利要求2所述的數據冗余處理裝置,將寫入數據進行存儲,所述分布式存儲系統最少包含4個存儲節(jié)點,每個存儲節(jié)點包含每個片段數據的至多2個數據塊。
【文檔編號】G06F3/06GK103559102SQ201310499656
【公開日】2014年2月5日 申請日期:2013年10月22日 優(yōu)先權日:2013年10月22日
【發(fā)明者】王雷, 吳興博, 龍翔 申請人:北京航空航天大學
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1