專利名稱:一種云存儲的數(shù)據(jù)存取的方法、裝置及系統(tǒng)的制作方法
技術領域:
本發(fā)明屬于云存儲技術領域,特別涉及一種云存儲的數(shù)據(jù)存取的方法、裝置及系 統(tǒng)。
背景技術:
數(shù)據(jù)已經(jīng)被證明是企業(yè)重要資產之一,數(shù)據(jù)的高速增長使企業(yè)面臨前所未有的挑 戰(zhàn)。同時,瞬息萬變的世界經(jīng)濟形勢和激烈競爭帶來的成本壓力,使企業(yè)不得不考慮如何以 降低IT成本,應對企業(yè)不斷增長的存儲需求。現(xiàn)有的存儲架構可以劃分為兩種一種是由一方專有的架構,比如DAS(direCt attached storage,直接附加存儲),SAN(Storage Area Network,存儲區(qū)網(wǎng)絡)和網(wǎng)絡接入 存儲服務器(Network access server, NAS)等。這類存儲體系由一方獨占使用,可以提供 給用戶很好的控制權,更好的可靠性和性能,但是其擴展性較差,不適用于大規(guī)模部署;用 戶在這種模式下也很難靈活使用存儲預算(需要一次性地投入購買存儲設備);隨著存儲 容量的增加,成本控制也將面臨挑戰(zhàn)。另一種是多方共享架構,即云存儲架構。按照其服務范疇的不同,分為私有云 (private cloud)和公共云(public cloud)。云存儲的體系結構基于網(wǎng)絡技術(internet 和intranet),為用戶提供存儲空間按需購買、租賃和按需配置服務,該服務通常由第三方 (或企業(yè)內第三方部門)提供包括存儲設備和專門維護人員。通過該存儲服務,企業(yè)(或企 業(yè)內各部門)可以大幅降低其內部存儲器的需求和相應的管理成本,以平衡急劇上升的存 儲需求和企業(yè)成本壓力。以上所提存儲的使用方可以是個人、企業(yè),甚至企業(yè)內的部門或者 分支機構等。除了服務對象和服務范疇不同,公共云存儲系統(tǒng)和私有云存儲,及企業(yè)內傳統(tǒng)的 網(wǎng)絡備份系統(tǒng)不同之處在于,云存儲服務商(數(shù)據(jù)中心)之間相對獨立,限于安全性考慮及 數(shù)據(jù)兼容性問題,它們之間很少有信息交換和通訊的需求。公共云存儲服務雖然可以降低企業(yè)及個人存儲的成本,提高了數(shù)據(jù)存儲的靈活 性,但現(xiàn)實中通常由于各種不可預料原因導致云存儲服務不可用,甚至云存儲服務商的數(shù) 據(jù)中心中數(shù)據(jù)丟失或者被篡改,這種風險使得企業(yè)或個人對使用公共云存儲服務時,特別 是涉及其業(yè)務數(shù)據(jù)等關鍵數(shù)據(jù),望而卻步。比如云存儲服務提供商破產或者其他原因導致 其提供的云存儲服務不再可用,進而導致存放在其上的數(shù)據(jù)存在丟失的風險;或企業(yè)因服 務價格的原因選擇某些較小的云存儲服務提供商,但其因經(jīng)營不善而破產;或由于不可抗 拒的原因,如地震或者重大災害,云存儲服務商的數(shù)據(jù)中心的數(shù)據(jù)丟失;或由于某種原因如 電力中斷等,云存儲服務商中的數(shù)據(jù)不可用(一般云存儲服務商承諾其服務有99. 99%或 者99. 999%的可用性);或由于企業(yè)并購或其他原因,人為操作失誤導致的數(shù)據(jù)中心數(shù)據(jù) 丟失;以及病毒或者黑客入侵,導致的云存儲數(shù)據(jù)中心數(shù)據(jù)丟失或者被篡改。鑒于數(shù)據(jù)對企業(yè)的重要性或由于法律的要求,增加公共云存儲系統(tǒng)數(shù)據(jù)的容錯性 是很必要的,特別是企業(yè)或者個人的關鍵數(shù)據(jù)。
傳統(tǒng)用于提高公共云存儲服務的可用性和數(shù)據(jù)的容錯性,通常依賴于企業(yè)與 云存儲服務提供商簽訂服務協(xié)議(SLA)及在云存儲數(shù)據(jù)中心端的RAID機制(主要是 RAID2-RAID6)。參考文獻見David A. Patterson, Garth Gibson, and Randy H. Katz :A Case for Redundant Arrays of Inexpensive Disks (RAID). ACM 1988。 RAID2—RAID6方文 (傳輸?shù)酱鎯橘|)數(shù)據(jù)的校驗值,使數(shù)據(jù)保存有充分冗余,進而保證了在存儲介質硬件損 害時,不會導致數(shù)據(jù)丟失。RAID機制對于網(wǎng)絡存儲多用于數(shù)據(jù)接收端的數(shù)據(jù)保護,在數(shù)據(jù)接收端通過數(shù)據(jù)校 驗值創(chuàng)建數(shù)據(jù)冗余,保護因存儲硬件損害導致的數(shù)據(jù)丟失;RAID機制僅限于對互聯(lián)的、通 常在一個數(shù)據(jù)中心內的存儲介質創(chuàng)建數(shù)據(jù)冗余;RAID保護范圍有局限性,傳統(tǒng)的RAID技 術因通常部署在云存儲數(shù)據(jù)中心的存儲介質上,只能保護因存儲介質的物理損壞導致的數(shù) 據(jù)丟失,可見RAID機制主要是用來防范存儲硬件級別如硬盤、磁帶等的損害導致的數(shù)據(jù)丟 失。為了抵御非存儲硬件級別的災害引起的云存儲服務短暫不可用時造成的數(shù)據(jù)短 暫無法取回,用戶數(shù)據(jù)丟失及被篡改的風險,有必要創(chuàng)立一種新的提高公共云存儲服務的 可用性和數(shù)據(jù)的容錯性的方法。
發(fā)明內容
本發(fā)明的目的在于提供一種云存儲的數(shù)據(jù)存取的方法、裝置及系統(tǒng),旨在解決現(xiàn) 有云存儲方法無法有效抵御因非存儲硬件級別的災害引起的云存儲服務短暫不可用時造 成的數(shù)據(jù)暫時無法取回,數(shù)據(jù)丟失及被篡改的風險的問題。本發(fā)明提供了一種云存儲的數(shù)據(jù)存取的方法,所述方法包括數(shù)據(jù)的存儲與數(shù)據(jù)的 取回,所述數(shù)據(jù)的存儲步驟包括在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值;按預置的冗余存放策略將所述原始數(shù)據(jù)及數(shù)據(jù)校驗值分別傳輸至不同的云存儲 數(shù)據(jù)中心存儲;所述數(shù)據(jù)的取回步驟包括根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云存儲數(shù)據(jù)中心;判斷所述存儲原始數(shù)據(jù)的云存儲數(shù)據(jù)中心是否可用,如果不可用,則從其它云存 儲數(shù)據(jù)中心取回所述原始數(shù)據(jù)的數(shù)據(jù)校驗值和創(chuàng)建所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的 數(shù)據(jù);根據(jù)所述原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù) 據(jù)還原所述原始數(shù)據(jù)。本發(fā)明提供了 一種云存儲的數(shù)據(jù)存取的裝置,所述裝置包括數(shù)據(jù)的存儲模塊及數(shù) 據(jù)的取回模塊,所述數(shù)據(jù)的存儲模塊包括數(shù)據(jù)校驗值創(chuàng)建單元,用于在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值;數(shù)據(jù)傳輸單元,用于按預置的冗余存放策略將所述原始數(shù)據(jù)及數(shù)據(jù)校驗值創(chuàng)建單 元創(chuàng)建的數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù)中心存儲;所述數(shù)據(jù)的取回模塊包括
訪問判斷單元,用于根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云 存儲數(shù)據(jù)中心,以及判斷云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可用,發(fā)送判斷結果;數(shù)據(jù)取回單元,用于根據(jù)所述訪問判斷單元發(fā)送的所述云存儲數(shù)據(jù)中心存儲的原 始數(shù)據(jù)不可用的判斷結果,從其它云存儲數(shù)據(jù)中心取回所述原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建 所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù);數(shù)據(jù)還原單元,用于根據(jù)所述數(shù)據(jù)取回單元取回的原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建 所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)還原所述原始數(shù)據(jù)。本發(fā)明還提供了一種云存儲的數(shù)據(jù)存取的系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)的存儲模塊、 數(shù)據(jù)的取回模塊和云存儲數(shù)據(jù)中心,所述數(shù)據(jù)的存儲模塊包括數(shù)據(jù)校驗值創(chuàng)建單元,用于在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值;數(shù)據(jù)傳輸單元,用于按預置的冗余存放策略將所述原始數(shù)據(jù)及數(shù)據(jù)校驗值創(chuàng)建單 元創(chuàng)建的數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù)中心存儲;所述數(shù)據(jù)的取回模塊包括訪問判斷單元,用于根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云 存儲數(shù)據(jù)中心,以及判斷云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可用,發(fā)送判斷結果;數(shù)據(jù)取回單元,用于根據(jù)所述訪問判斷單元發(fā)送的所述云存儲數(shù)據(jù)中心存儲的原 始數(shù)據(jù)不可用的判斷結果,從其它云存儲數(shù)據(jù)中心取回所述原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建 所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù);數(shù)據(jù)還原單元,用于根據(jù)所述數(shù)據(jù)取回單元取回的原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建 所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)還原所述原始數(shù)據(jù)。本發(fā)明通過在數(shù)據(jù)發(fā)送端運用邏輯運算創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值,將待 存儲原始數(shù)據(jù)及數(shù)據(jù)校驗值按預置的冗余存放策略存儲于不同的云存儲數(shù)據(jù)中心,在云存 儲數(shù)據(jù)中心級別創(chuàng)建數(shù)據(jù)的冗余,從而大大地提高了云存儲數(shù)據(jù)的可用性和容錯性。
圖1是本發(fā)明實施例提供的云存儲的數(shù)據(jù)存取的方法流程圖;圖2是本發(fā)明實施例提供的數(shù)據(jù)冗余存放方法的原理示意圖;圖3是本發(fā)明實施例提供的另一數(shù)據(jù)冗余存放方法的原理示意圖;圖4是本發(fā)明實施例提供的云存儲的數(shù)據(jù)存取的裝置結構示意圖;圖5是本發(fā)明實施例提供的云存儲的數(shù)據(jù)存取的系統(tǒng)結構示意圖。
具體實施例方式為了深入了解本發(fā)明,下面結合附圖及具體實施例對本發(fā)明進行詳細說明。本發(fā)明實施例通過在數(shù)據(jù)發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值,將待存儲原 始數(shù)據(jù)及數(shù)據(jù)校驗值按預置的冗余存放策略分別存儲于不同的云存儲數(shù)據(jù)中心,在云存儲 數(shù)據(jù)中心級別創(chuàng)建數(shù)據(jù)的冗余。參見圖1,本發(fā)明實施例提供了 一種云存儲的數(shù)據(jù)存取的方法,該方法包括數(shù)據(jù)的 存儲步驟SlOO及數(shù)據(jù)的取回步驟S200 ;其中,數(shù)據(jù)的存儲步驟SlOO具體包括6
步驟SlOl 在數(shù)據(jù)發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值;在實際應用中,原始數(shù)據(jù)可以包括文件或者文件的部分數(shù)據(jù);在數(shù)據(jù)發(fā)送端創(chuàng)建 待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)及數(shù)據(jù)校驗值的個數(shù)能被云存儲數(shù)據(jù)中心的 個數(shù)整除,如果不能被整除,則需要用其它數(shù)據(jù)補足;原始數(shù)據(jù)的數(shù)據(jù)校驗值可以但不限于 通過異或邏輯運算創(chuàng)建,相應地,通過異或邏輯運算還原原始數(shù)據(jù);通常情況下,創(chuàng)建待存 儲原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)包括待存儲的原始數(shù)據(jù)以及至少一個固定長度的 二進制數(shù),例如可以使用原始數(shù)據(jù)與一個具有4個比特的二進制數(shù)1001進行異或邏輯運 算創(chuàng)建數(shù)據(jù)校驗值,或者使用原始數(shù)據(jù)與二個具有6個比特位的二進制數(shù)100100、001000 進行異或邏輯運算創(chuàng)建數(shù)據(jù)校驗值等;另外,用戶可以根據(jù)實際需要創(chuàng)建一個或多個原始 數(shù)據(jù)的數(shù)據(jù)校驗值;步驟S102 按預置的冗余存放策略將原始數(shù)據(jù)及數(shù)據(jù)校驗值分別傳輸至不同的 云存儲數(shù)據(jù)中心存儲;原始數(shù)據(jù)及數(shù)據(jù)校驗值分別存儲于不同的多個云存儲數(shù)據(jù)中心,具體地,用戶可 以依據(jù)自己的實際需要制定相應的冗余存放策略,將原始數(shù)據(jù)及數(shù)據(jù)校驗值按制定的冗余 存放策略來存放;創(chuàng)建的數(shù)據(jù)經(jīng)校驗值可以存儲于同一個云存儲數(shù)據(jù)中心,也可以存儲于 不同的云存儲數(shù)據(jù)中心;通常情況下,用戶會將創(chuàng)建的數(shù)據(jù)校驗值分別存儲于不同的云存 儲數(shù)據(jù)中心,以防止兩個或者多個云存儲服務同時不可用;原始數(shù)據(jù)及其校驗值的冗余存放策略有很多種,以下舉兩個實例1、將所有待存儲原始數(shù)據(jù)的校驗值統(tǒng)一存放在一個云存儲數(shù)據(jù)中心,如圖2所 示,假如有四個不同的云存儲數(shù)據(jù)中心可用時,將第一部分原始數(shù)據(jù)Dl存放在云存儲服務 提供商1的云存儲數(shù)據(jù)中心中,依次類推,將第二部分原始數(shù)據(jù)D2、第三部分原始數(shù)據(jù)D3分 別存放在云存儲服務提供商2、3的云存儲數(shù)據(jù)中心,最后將所有原始數(shù)據(jù)的校驗值Pl存放 在云存儲服務提供商4的云存儲數(shù)據(jù)中心;同理將其它的原始數(shù)據(jù)及對應的數(shù)據(jù)校驗值按 上述方法依次存儲于上述四個云存儲數(shù)據(jù)中心中;2、將所有原始數(shù)據(jù)和對應的數(shù)據(jù)校驗值均勻地混合地存放在各個云存儲數(shù)據(jù)中 心,如圖3所示,假如有四個不同的云存儲數(shù)據(jù)中心可用時,將第一部分原始數(shù)據(jù)Dl存放在 云存儲服務提供商1的云存儲數(shù)據(jù)中心中,將第二部分原始數(shù)據(jù)D2、第三部分原始數(shù)據(jù)D3 分別存放在云存儲服務提供商2、3的云存儲數(shù)據(jù)中心中,最后將所有原始數(shù)據(jù)的校驗值Pl 存放在云存儲服務提供商4的云存儲數(shù)據(jù)中心中;將原始數(shù)據(jù)D4、D5、D6及它們的校驗值 P2,分別存放在云存儲數(shù)據(jù)中心1、2、4和3 ;類似地,將原始數(shù)據(jù)D7、D8、D9及它們的校驗值 P3,分別存放在云存儲數(shù)據(jù)中心1、3、4和2 ;同理,其它的原始數(shù)據(jù)及對應的數(shù)據(jù)校驗值按 上述方法依次存儲于上述四個云存儲數(shù)據(jù)中心中;以上僅舉出了兩種原始數(shù)據(jù)和數(shù)據(jù)校驗值冗余存放策略,真實實現(xiàn)中用戶可以根 據(jù)自己的實際需要采用其他冗余數(shù)據(jù)存放策略,例如原始數(shù)據(jù)和數(shù)據(jù)校驗值交替存放。其中,數(shù)據(jù)的取回步驟S200具體包括步驟S201 根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云存儲數(shù) 據(jù)中心;步驟S202 判斷云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可用,如果不可用,則執(zhí)行 步驟S203,如果可用,則執(zhí)行步驟S205 ;
步驟S203 從其它云存儲數(shù)據(jù)中心取回原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建原始數(shù)據(jù) 的數(shù)據(jù)校驗值所使用的數(shù)據(jù);步驟S204 根據(jù)數(shù)據(jù)校驗值及創(chuàng)建原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)還原原 始數(shù)據(jù);步驟S205 從云存儲數(shù)據(jù)中心取回原始數(shù)據(jù);同創(chuàng)建原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的計算方法相對應,本實施例在根據(jù)數(shù)據(jù)校 驗值還原因云存儲數(shù)據(jù)中心的原始數(shù)據(jù)不可用而不能取回原始數(shù)據(jù)時,同樣采用異或邏輯 運算方法進行原始數(shù)據(jù)的還原;下面舉例說明,如果數(shù)據(jù)冗余存放策略采用上述第二種方法,參見圖3,假定第二 個云存儲服務商的云存儲數(shù)據(jù)中心的原始數(shù)據(jù)不可用,現(xiàn)在需要根據(jù)從另外三個云存儲數(shù) 據(jù)中心取回的其它原始數(shù)據(jù)及數(shù)據(jù)校驗值來還原存儲于第二個云存儲數(shù)據(jù)中心的原始數(shù) 據(jù),比如需要恢復原始數(shù)據(jù)D2,那么根據(jù)從其它云存儲數(shù)據(jù)中心取回的原始數(shù)據(jù)Dl、D3和 該原始數(shù)據(jù)D2的校驗值P1,按照異或運算法則得到該原始數(shù)據(jù)D2,即D2 = Dl θ D3 θ Pl同理,也可以還原其他原存放在第二個云存儲數(shù)據(jù)中心的其他原始數(shù)據(jù)。參見圖4,本發(fā)明實施例提供了一種云存儲的數(shù)據(jù)存取的裝置,該裝置包括數(shù)據(jù) 的存儲模塊20及數(shù)據(jù)的取回模塊30 ;數(shù)據(jù)的存儲模塊20包括數(shù)據(jù)校驗值創(chuàng)建單元21及數(shù)據(jù)傳輸單元22 ;數(shù)據(jù)的取回 模塊30包括訪問判斷單元33、數(shù)據(jù)取回單元31及數(shù)據(jù)還原單元32 ;在存儲數(shù)據(jù)時,數(shù)據(jù)校驗值創(chuàng)建單元21在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲的原始數(shù)據(jù) 的數(shù)據(jù)校驗值后,數(shù)據(jù)傳輸單元22按預置的冗余存放策略將原始數(shù)據(jù)及數(shù)據(jù)校驗值創(chuàng)建 單元21創(chuàng)建的數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù)中心進行存儲;當有原始數(shù)據(jù)訪問請求時,訪問判斷單元33根據(jù)訪問請求按預置的冗余存放策 略訪問存儲原始數(shù)據(jù)的云存儲數(shù)據(jù)中心,并判斷云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可 用;當該云存儲數(shù)據(jù)中心的該原始數(shù)據(jù)不可用時,數(shù)據(jù)取回單元31從其它云存儲數(shù)據(jù)中心 取回該原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建該原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù);數(shù)據(jù)還原單 元32根據(jù)數(shù)據(jù)取回單元31取回的原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建該原始數(shù)據(jù)的數(shù)據(jù)校驗值 所使用的數(shù)據(jù)還原該原始數(shù)據(jù)。參見圖5,本發(fā)明實施例還提供了一種云存儲的數(shù)據(jù)存取的系統(tǒng),該系統(tǒng)包括數(shù)據(jù) 的存儲模塊20、數(shù)據(jù)的取回模塊30和云存儲數(shù)據(jù)中心40 ;數(shù)據(jù)的存儲模塊20包括數(shù)據(jù)校驗值創(chuàng)建單元21及數(shù)據(jù)傳輸單元22 ;數(shù)據(jù)的取回 模塊30包括訪問判斷單元33、數(shù)據(jù)取回單元31及數(shù)據(jù)還原單元32 ;在存儲數(shù)據(jù)時,數(shù)據(jù)校驗值創(chuàng)建單元21在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲的原始數(shù)據(jù) 的數(shù)據(jù)校驗值后,數(shù)據(jù)傳輸單元22按預置的冗余存放策略將原始數(shù)據(jù)及數(shù)據(jù)校驗值創(chuàng)建 單元21創(chuàng)建的數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù)中心40進行存儲;當有原始數(shù)據(jù)訪問請求時,訪問判斷單元33根據(jù)訪問請求按預置的冗余存放策 略訪問存儲原始數(shù)據(jù)的云存儲數(shù)據(jù)中心40,并判斷云存儲數(shù)據(jù)中心40存儲的原始數(shù)據(jù)是 否可用;當該云存儲數(shù)據(jù)中心40的該原始數(shù)據(jù)不可用時,數(shù)據(jù)取回單元31從其它云存儲數(shù) 據(jù)中心40取回該原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建該原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù);數(shù)據(jù)還原單元32根據(jù)數(shù)據(jù)取回單元31取回的原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建該原始數(shù)據(jù)的 數(shù)據(jù)校驗值所使用的數(shù)據(jù)還原該原始數(shù)據(jù)。為了闡述本發(fā)明可行性,下面舉一典型的數(shù)據(jù)校驗值生成實例,該例主要通過數(shù) 據(jù)位異或O(OR)邏輯運算生成數(shù)據(jù)校驗值。記a @ b為a與b的異或運算,a、b = 0或者1。異或運算遵循以下規(guī)則1、如果a、b相同(即同為0,或者同為1),則a @b=0;反之aeb=l;2、a @ b @ c = a @ (b @ c) = (a @ b) @ c;3、d=a@b十c可以推出a=d十b十c在使用公共云存儲服務時,用戶存放在第三方云存儲數(shù)據(jù)中心的數(shù)據(jù)無論是文件 或數(shù)據(jù)塊,它們在物理上均表現(xiàn)為一串0、1值。假定現(xiàn)有三段待備份存儲到指定云存儲數(shù)據(jù)中心的原始數(shù)據(jù)D1、D2、D3,如果D1、 D2、D3不等長,需要通過補足0位使之等長,有四個不同的云存儲數(shù)據(jù)中心可用。在傳輸?shù)街付ǖ脑拼鎯?shù)據(jù)中心前,根據(jù)可用的云存儲數(shù)據(jù)中心的數(shù)量在上述原 始數(shù)據(jù)之間做異或邏輯運算,進而產生該待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值P1。數(shù)據(jù)校驗值Pl= Dl θ D2 θ D3。循環(huán)使用上述方法直到生成所有待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值。如果待存儲原始數(shù)據(jù)及其對應的數(shù)據(jù)校驗值的個數(shù)不能被所指定的云存儲數(shù)據(jù) 中心的個數(shù)整除時,可以使用其它的數(shù)據(jù)或指定一定長度的0、1串補足,產生待存儲原始 數(shù)據(jù)的數(shù)據(jù)校驗值。數(shù)據(jù)校驗值的生成方法已經(jīng)成熟,以上僅為一種典型數(shù)據(jù)校驗值生成方法,用戶 還可以根據(jù)需要生成兩份甚至多份數(shù)據(jù)校驗值并分別存放于不同的云存儲數(shù)據(jù)中心,以防 止兩個或者多個云存儲數(shù)據(jù)中心的原始數(shù)據(jù)同時不可用。待所有待存儲原始數(shù)據(jù)的校驗值生成后,根據(jù)可用的云存儲數(shù)據(jù)中心的數(shù)量,將 待存儲原始數(shù)據(jù)及其數(shù)據(jù)校驗值冗余地存放在不同的云存儲數(shù)據(jù)中心,從而可以達到抵御 任何一個云存儲數(shù)據(jù)中心的原始數(shù)據(jù)不可用或數(shù)據(jù)丟失或被篡改的風險。當云存儲數(shù)據(jù)中心的原始數(shù)據(jù)短暫不可用或者長期不可用時,用戶就可以通過原 始數(shù)據(jù)的數(shù)據(jù)校驗值輔助以恢復原始數(shù)據(jù)。以上所述僅是保存一份數(shù)據(jù)校驗值,具體實施中用戶可以通過保存兩份或者多份 數(shù)據(jù)校驗值確保存儲在兩個或者多個云存儲數(shù)據(jù)中心的原始數(shù)據(jù)不可用的時候,原始數(shù)據(jù) 仍然可以還原。只是保存多份數(shù)據(jù)校驗值將增加對存儲空間的需求,從而增加成本。因數(shù) 據(jù)還原方法類似,不再贅述。本發(fā)明實施例通過在數(shù)據(jù)發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的校驗值,將待存儲原始數(shù) 據(jù)及其校驗值,按照預置的策略分別存放在不同的云存儲數(shù)據(jù)中心,在不同的云存儲數(shù)據(jù) 中心之間創(chuàng)建數(shù)據(jù)的冗余,從而實現(xiàn)了防御因非存儲硬件級別的原因帶來的數(shù)據(jù)不可用、 數(shù)據(jù)丟失或被篡改的風險,提高了公共云存儲服務數(shù)據(jù)的可用性和數(shù)據(jù)的容錯性。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種云存儲的數(shù)據(jù)存取的方法,所述方法包括數(shù)據(jù)的存儲與數(shù)據(jù)的取回,其特征在于,所述數(shù)據(jù)的存儲步驟包括在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值;按預置的冗余存放策略將所述原始數(shù)據(jù)及數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù) 中心存儲;所述數(shù)據(jù)的取回步驟包括根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云存儲數(shù)據(jù)中心;判斷所述云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可用,如果不可用,則從其它云存儲 數(shù)據(jù)中心取回所述原始數(shù)據(jù)的數(shù)據(jù)校驗值和創(chuàng)建所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù) 據(jù);根據(jù)所述原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建所述原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)還 原所述原始數(shù)據(jù)。
2.如權利要求1所述的云存儲的數(shù)據(jù)存取的方法,其特征在于,所述創(chuàng)建待存儲原始 數(shù)據(jù)的數(shù)據(jù)校驗值是通過異或邏輯運算創(chuàng)建原始數(shù)據(jù)的數(shù)據(jù)校驗值;相應地,所述還原所 述原始數(shù)據(jù)是通過異或邏輯運算還原原始數(shù)據(jù)。
3.如權利要求1所述的云存儲的數(shù)據(jù)存取的方法,其特征在于,所述創(chuàng)建待存儲原始 數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)及所述數(shù)據(jù)校驗值的個數(shù)能被所述云存儲數(shù)據(jù)中心的個 數(shù)整除。
4.如權利要求1所述的云存儲的數(shù)據(jù)存取的方法,其特征在于,所述創(chuàng)建所述原始數(shù) 據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)包括所述原始數(shù)據(jù)和至少一個固定長度的二進制數(shù)。
5.如權利要求1所述的云存儲的數(shù)據(jù)存取的方法,其特征在于,所述數(shù)據(jù)校驗值存儲 于同一個云存儲數(shù)據(jù)中心,或存儲于不同的云存儲數(shù)據(jù)中心。
6.一種云存儲的數(shù)據(jù)存取的裝置,所述裝置包括數(shù)據(jù)的存儲模塊及數(shù)據(jù)的取回模塊, 其特征在于,所述數(shù)據(jù)的存儲模塊包括數(shù)據(jù)校驗值創(chuàng)建單元,用于在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值;數(shù)據(jù)傳輸單元,用于按預置的冗余存放策略將所述原始數(shù)據(jù)及數(shù)據(jù)校驗值創(chuàng)建單元創(chuàng) 建的數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù)中心存儲;所述數(shù)據(jù)的取回模塊包括訪問判斷單元,用于根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云存儲 數(shù)據(jù)中心,以及判斷云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可用,發(fā)送判斷結果;數(shù)據(jù)取回單元,用于根據(jù)所述訪問判斷單元發(fā)送的所述云存儲數(shù)據(jù)中心存儲的原始數(shù) 據(jù)不可用的判斷結果,從其它云存儲數(shù)據(jù)中心取回所述原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建所述 原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù);數(shù)據(jù)還原單元,用于根據(jù)所述數(shù)據(jù)取回單元取回的原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建所述 原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)還原所述原始數(shù)據(jù)。
7.—種云存儲的數(shù)據(jù)存取的系統(tǒng),所述系統(tǒng)包括數(shù)據(jù)的存儲模塊、數(shù)據(jù)的取回模塊和 云存儲數(shù)據(jù)中心,其特征在于,所述數(shù)據(jù)的存儲模塊包括 數(shù)據(jù)校驗值創(chuàng)建單元,用于在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值; 數(shù)據(jù)傳輸單元,用于按預置的冗余存放策略將所述原始數(shù)據(jù)及數(shù)據(jù)校驗值創(chuàng)建單元創(chuàng) 建的數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù)中心存儲; 所述數(shù)據(jù)的取回模塊包括訪問判斷單元,用于根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云存儲 數(shù)據(jù)中心,以及判斷云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可用,發(fā)送判斷結果;數(shù)據(jù)取回單元,用于根據(jù)所述訪問判斷單元發(fā)送的所述云存儲數(shù)據(jù)中心存儲的原始數(shù) 據(jù)不可用的判斷結果,從其它云存儲數(shù)據(jù)中心取回所述原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建所述 原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù);數(shù)據(jù)還原單元,用于根據(jù)所述數(shù)據(jù)取回單元取回的原始數(shù)據(jù)的數(shù)據(jù)校驗值及創(chuàng)建所述 原始數(shù)據(jù)的數(shù)據(jù)校驗值所使用的數(shù)據(jù)還原所述原始數(shù)據(jù)。
全文摘要
本發(fā)明屬于云存儲技術領域,特別涉及一種云存儲的數(shù)據(jù)存取的方法、裝置及系統(tǒng)。所述數(shù)據(jù)的存儲步驟包括在數(shù)據(jù)的發(fā)送端創(chuàng)建待存儲原始數(shù)據(jù)的數(shù)據(jù)校驗值;按預置的冗余存放策略將原始數(shù)據(jù)及數(shù)據(jù)校驗值分別傳輸至不同的云存儲數(shù)據(jù)中心存儲;所述數(shù)據(jù)的取回步驟包括根據(jù)訪問請求按預置的冗余存放策略訪問存儲原始數(shù)據(jù)的云存儲數(shù)據(jù)中心;判斷云存儲數(shù)據(jù)中心存儲的原始數(shù)據(jù)是否可用,如果不可用,則從其它云存儲數(shù)據(jù)中心取回原始數(shù)據(jù)的數(shù)據(jù)校驗值和創(chuàng)建數(shù)據(jù)校驗值所使用的數(shù)據(jù);根據(jù)數(shù)據(jù)校驗值及創(chuàng)建數(shù)據(jù)校驗值所使用的數(shù)據(jù)還原原始數(shù)據(jù)。本發(fā)明還提供了一種云存儲的數(shù)據(jù)存取的裝置及系統(tǒng)。本發(fā)明提高了云存儲數(shù)據(jù)的可用性和容錯性。
文檔編號H04L29/08GK102055797SQ20101056626
公開日2011年5月11日 申請日期2010年11月29日 優(yōu)先權日2010年11月29日
發(fā)明者劉慧 申請人:北京卓微天成科技咨詢有限公司