<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

一種基于糾刪碼的多云碎片化安全存儲方法及系統與流程

文檔序號:11236789閱讀:599來源:國知局
一種基于糾刪碼的多云碎片化安全存儲方法及系統與流程

本發明涉及云存儲技術領域,尤其涉及一種基于糾刪碼的多云碎片化安全存儲方法及系統。



背景技術:

隨著新興信息技術與現代經濟社會的交匯融合,各行業產生的數據量正快速增長,大數據正快速聚集規模巨大、種類繁多、復雜多變的數據,并對其進行收集、存儲、處理和分析應用,從海量數據中發現規律、提取價值、創造財富的服務業態。由于數據中隱藏了巨大的價值財富,使得數據逐漸成為一個國家的基礎性戰略資源,同時大數據基礎設施、分析和服務技術的發展使企業能夠轉型為數據驅動型機構。由于大數據的重要性,國家、企業、組織機構都需要構建大數據能力來保持競爭力。我國近年來大力支持大數據發展應用,推動國家數據中心平臺建設,推進信用、交通、醫療、就業等領域政府數據資源適度向社會開發,以消除信息孤島,達到建設數據強國目的。

數據中心具有數據規模大、種類多、結構多樣等特征,且要求高可靠性、高安全性、高擴展性,對數據存儲安全提出了新要求。云存儲能支持海量資源數據存儲和有效管理百億級文件,為數據中心建設提供可靠的解決方案。現有數據存儲安全技術及存在問題如下:①數據加密:存在數據可用性問題,如數據損壞、丟失等。②副本技術:存儲開銷過大;③raid和糾刪碼技術:數據安全性問題,如傳輸過程被竊取等。此外,假設將數據存儲在單云數據中心,存在數據可用性、可靠性等問題,如云數據中心故障、不可信等。因此,數據安全存儲一直是數據中心的核心問題。

國內專利:一種基于多個云存儲系統的安全存儲方法及系統(cn103118089a),提供了包括數據寫操作、讀操作的安全存儲方法,數據寫操作步驟包括數據分塊、數據加密、冗余編碼、數字簽名、分享處理及數據存儲字步驟;數據讀操作步驟包括解密元數據分片文件、數字簽名檢查、冗余編碼及解密密文數據塊子步驟。同時安全存儲系統,包括加解密編碼模塊、冗余編碼模塊、秘密分享模塊和數字簽名模塊。但沒有保證數據存儲階段的時間消耗及服務質量。

國外文獻:implementationofcloud-raid:asecureandreliablestorageabovetheclouds(internationalconferenceongridandpervasivecomputing,springerberlinheidelberg,2013)提供多個云存儲供應商以避免鎖定問題,利用raid技術保證數據可用性、機密性和完整性,但當多個云存儲供應商出現故障時,無法保證數據可用性,且無法保證用戶與系統交互服務質量。

因此,針對以上問題,迫切需要一種新型的適用數據中心的云存儲系統,不僅滿足數據安全性、可用可靠性、機密性,而且能極大的節約數據中心建設成本,同時保證用戶與云存儲系統之間交互的服務質量。



技術實現要素:

本發明所要解決的技術問題是提供一種基于糾刪碼的多云碎片化安全存儲方法及系統,用于數據中心解決數據安全存儲等問題,同時提升用戶與云存儲系統之間交互的服務質量。

為了實現上述技術目的,本發明的技術方案是:

一種基于糾刪碼的多云碎片化安全存儲方法,包括多云數據中心的數據存儲步驟和多云數據中心的數據讀取步驟,

所述的多云數據中心的數據存儲步驟,包括數據碎片化步驟、數據分發步驟和數據條帶存儲步驟:

1)、數據碎片化:

對用戶上傳數據通過密鑰進行加密,生成加密數據,然后將加密數據進行編碼后生成多個文件塊,并生成記錄包括密鑰在內的文件塊信息的元數據文件;

2)、數據分發:

根據各個云數據中心的響應時間按照從小到大進行排序,將步驟1)中生成的文件塊依次分發到排序后的各個云數據中心;

3)、數據條帶存儲:

每個云數據中心提供邏輯上連續的地址空間,同一個加密數據存儲在不同云數據中心上的文件塊形成一個條帶組;

所述的多云數據中心的數據讀取步驟,包括元數據文件讀取步驟、數據碎片化讀取步驟和數據還原步驟;

①、元數據文件讀取:

從元數據服務器中讀取元數據文件,以獲取數據的n個文件塊信息;

②、數據碎片化讀取:

根據文件塊信息查找存儲了相應文件塊的云數據中心,并下載文件塊;

③、數據還原:

通過密鑰解密數據,得到原始數據。

所述的一種基于糾刪碼的多云碎片化安全存儲方法,所述的數據碎片化步驟的具體步驟包括:

首先,使用密鑰為key的對稱加密算法對數據data進行加密,生成加密數據data′;

其次,采用糾刪碼算法編碼加密數據data′,生成n個文件塊,其中包括k個數據塊和m個編碼塊,且n=k+m;

同時,產生一份data′的元數據文件,元數據文件存儲在元數據服務器中。元數據文件包括數據data名稱、大小,數據塊個數k、編碼塊個數m、糾刪碼算法名稱,密鑰key。

所述的一種基于糾刪碼的多云碎片化安全存儲方法,所述的數據碎片化步驟中,還包括采用散列算法對用戶上傳數據data進行哈希值運算,將得到的哈希值作為對稱加密算法密鑰key的步驟。

所述的一種基于糾刪碼的多云碎片化安全存儲方法,所述的數據分發步驟的具體步驟包括:

云數據中心的數量為c個,c取自然數,按照響應時間大小,將云數據中心排序為{c1,c2,...,cc}的集合c,將n個文件塊分發存儲到s個云數據中心,其中s∈c;

若n>c,則按照云數據中心排序的順序依次分發存儲文件塊;

若1≤n≤c,則選取前n個云數據中心分發存儲文件塊。

所述的一種基于糾刪碼的多云碎片化安全存儲方法,所述的數據分發步驟中,響應時間θ=te-tb,其中te為相應的云數據中心開始接收第一個數據字節的時間,tb為系統開始向相應的云數據中心發送請求時間。

所述的一種基于糾刪碼的多云碎片化安全存儲方法,所述的數據碎片化讀取步驟中,在下載文件塊時,還包括當某個云數據中心上的文件塊下載失敗時,則根據從其他云數據中心下載的存活文件塊進行解碼計算,從而恢復該數據。

所述的一種基于糾刪碼的多云碎片化安全存儲方法,所述的數據還原步驟中,還包括采用散列算法對解密后數據進行哈希值運算,再與原始哈希值進行比較的步驟,若哈希值相等,則讀取的數據為原始數據,否則判定為讀取數據失敗。

一種基于糾刪碼的多云碎片化安全存儲系統,包括數據碎片層、數據調度層和云服務層:

所述數據碎片層包括用戶應用服務模塊、數據加密/解密服務模塊、數據編碼/解碼服務模塊和元數據服務模塊;

(1)、用戶應用服務模塊用于提供與用戶進行交互的接口服務,對用戶身份進行標識登記,并為不同類型用戶設置不同的訪問及功能權限;

(2)、數據加密/解密服務模塊用于為用戶在存儲數據和讀取數據時分別通過密鑰進行加密和解密服務;

(3)、數據編碼服務模塊用于生成文件塊,包括將加密后的數據進行切分為多個數據塊并通過糾刪碼編碼計算產生多個編碼塊;數據解碼服務模塊用于從各云數據中心下載相應的文件塊,通過糾刪碼解碼計算恢復加密數據;

(4)、元數據服務模塊用于生成記錄包括密鑰在內的文件塊信息的元數據文件;

所述數據調度層包括數據調度服務模塊和數據分發服務模塊;

ⅰ、數據調度服務模塊用于根據系統與各云數據中心的響應時間,將云數據中心按照優→差進行排序,以此來調度編碼后生成的文件塊;

ii、數據分發服務模塊用于通過restfulapi(互聯網應用程序的api設計理論)與各云數據中心進行連接,將文件塊分發到各個云數據中心;

所述云服務層由多個云數據中心組成,用于進行云數據儲存。

所述的一種基于糾刪碼的多云碎片化安全存儲系統,所述的數據加密服務模塊在用戶存儲數據時,先采用散列算法計算數據的哈希值,將哈希值作為密鑰key,再采用密鑰為key的對稱加密算法加密數據;

所述的數據解密服務模塊在用戶讀取數據時,從元數據文件中獲取密鑰key值,再采用密鑰為key的對稱加密算法解密數據。

所述的一種基于糾刪碼的多云碎片化安全存儲系統,所述的數據編碼服務模塊將加密后的數據采用(n,k)糾刪碼算法平均切分為k個數據塊,再通過編碼計算產生m個編碼塊,其中k個數據塊和m個編碼塊的大小均相等,共生成n=k+m個文件塊;

所述的元數據服務模塊所生成的元數據文件中記錄有數據名稱、大小,數據塊個數k、編碼塊個數m、糾刪碼算法名稱和密鑰key。

所述的數據解碼服務模塊在用戶讀取數據時,先從元數據文件中獲取各個文件塊存儲的云數據中心信息,再從各云數據中心下載相應的文件塊,若部分文件塊不可用或失效,則根據(n,k)糾刪碼算法解碼計算恢復數據。

本發明的技術效果在于:

(1)數據經加密算法和糾刪碼算法處理后,存儲在多個云數據中心,既節省數據中心硬件建設成本,又避免單云數據中心所導致的數據可用可靠性問題,能最大化云數據中心多樣性、最大程度容忍云數據中心不可用,實現容錯最大化和提高數據訪問效率。

(2)文件塊根據響應時間來選擇相應的云數據中心,能提高文件塊分發效率,提升用戶與云存儲系統之間交互的服務質量。

(3)文件塊分散存儲在多個云數據中心,元數據存儲在元數據服務器上,能避免云數據中心壟斷竊取用戶數據,同時避免系統開發者獲取用戶數據,提升數據中心數據的存儲安全性。

附圖說明

圖1為基于糾刪碼的多云碎片化安全存儲系統示意圖。

圖2為本發明多云數據中心的數據存儲流程示意圖。

圖3為本發明多云數據中心的數據讀取流程示意圖。

圖4為本發明數據存儲方法流程圖。

圖5為本發明數據讀取方法流程圖。

圖6為本發明系統架構示意圖。

具體實施方式

下面結合附圖和實施例對本發明作進一步說明。

本發明基于raid思想和多個云數據中心,如圖1所示,各用戶通過云存儲系統將數據存儲在多個云數據中心,云數據中心由一些大型云存儲供應商組成,如amazons3,microsoftazure,阿里云,騰訊云和百度云等。

本發明所提供的一種基于糾刪碼的多云碎片化安全存儲方法,包括多云數據中心的數據存儲和多云數據中心的數據讀取。

多云數據中心的數據存儲,主要由數據碎片化、數據分發和數據條帶存儲組成。

(1)數據碎片化:

首先,采用散列算法對用戶上傳數據data進行哈希值運算,將得到的哈希值作為對稱加密算法密鑰key,再使用密鑰為key的對稱加密算法對數據data進行加密,生成加密數據data′;

其次,采用糾刪碼算法編碼加密數據data′,生成n個文件塊,其中包括k個數據塊和m個編碼塊,且n=k+m。

同時,產生一份data′的元數據文件,元數據文件存儲在元數據服務器中。元數據文件包括數據data名稱、大小,數據塊個數k、編碼塊個數m、糾刪碼算法名稱,密鑰key。

(2)數據分發

設系統由c個不同的云數據中心組成,記為c={1,2,...,c}。

定義響應時間θ=te-tb,其中te為相應的云數據中心開始接收第一個數據字節的時間,tb為系統開始向相應的云數據中心發送請求時間。

按照響應時間大小,將云數據中心排序為{c1,c2,...,cc}。將n個文件塊分發存儲到s個云數據中心,其中s∈c。

若n>c,則按照云數據中心排序的順序依次分發存儲文件塊;

若1≤n≤c,則選取前n個云數據中心分發存儲文件塊。

(3)數據條帶存儲

每個云數據中心提供邏輯地址連續但物理存放地址可能并不連續的數據存儲空間,數據data′存儲在不同云數據中心上的文件塊稱為條帶組。

多云數據中心的數據讀取,主要由元數據文件讀取、數據碎片化讀取、哈希值檢查組成。

(1)元數據文件讀取

從元數據服務器中讀取數據碎片化后存儲的元數據文件,從元數據文件上獲取n個文件塊信息。

(2)數據碎片化讀取

根據文件塊信息查找存儲了相應文件塊的云數據中心,從云數據中心獲取文件塊碎片信息,開始下載文件塊。若某云數據中心上的文件塊下載失敗,則根據其他存活文件塊解碼計算恢復該數據。

再通過密鑰為key的對稱加密算法解密數據,得到原始數據。

(3)數據還原

采用散列算法對解密后數據進行哈希值運算,再與原始哈希值進行比較,若相等則讀取的數據為原始數據,若不相等,則讀取數據失敗。

本發明所提供的一種基于糾刪碼的多云碎片化安全存儲系統,包括數據碎片層、數據調度層和云服務層:

所述數據碎片層由用戶應用服務、數據加密/解密服務、元數據服務和數據編碼/解碼服務組成。

①用戶應用服務。提供與用戶進行交互的接口服務,對用戶身份進行標識登記,不同類型用戶具有不同的訪問權限及可以使用不同的功能。

②數據加密/解密服務。

數據加密服務。當用戶存儲數據時,先采用散列算法計算數據的哈希值,將哈希值作為密鑰key,再采用密鑰為key的對稱加密算法加密數據。

數據解密服務。當用戶讀取數據時,從元數據文件中獲取密鑰key值,再采用密鑰為key的對稱加密算法解密數據。

③數據編碼/解碼服務。

數據編碼服務。加密后的數據采用(n,k)糾刪碼算法先將數據平均切分為k個數據塊,再通過編碼計算產生m個編碼塊,其中k個數據塊和m個編碼塊大小均相等,共生成n=k+m個文件塊。編碼后生成1份元數據文件,其中包含數據名稱、大小,數據塊個數k、編碼塊個數m、糾刪碼算法名稱,密鑰key。

數據解碼服務。當用戶讀取數據時,先從元數據文件中獲取各個文件塊信息,根據文件塊信息查找存儲的云數據中心,再從各云數據中心下載相應的文件塊,若部分文件塊不可用或失效(失效數小于m),則根據(n,k)糾刪碼算法編碼計算恢復數據。

④元數據服務

元數據服務。數據編碼后生成元數據文件,包含數據名稱、大小,數據塊個數k、編碼塊個數m、糾刪碼算法名稱,密鑰key。

所述數據調度層由數據調度服務、數據分發服務組成。

①數據調度服務。

根據系統與各云數據中心的響應時間,將云數據中心按照優→差進行排序,以此來調度編碼后生成的文件塊。

②數據分發服務。

系統通過restfulapi與各云數據中心進行連接,將文件塊分發到各個云數據中心。

所述云服務層,主要由若干云數據中心組成,云數據中心是知名互聯網企業云存儲產品,如amazons3、microsoftazure、阿里云、騰訊云和百度云等。

本發明的實施例選取5個云數據中心,分別為amazons3、microsoftazure、阿里云、騰訊云、百度云,各數據節點位置分別為東京、中國東部數據中心、杭州、廣州、北京。

該基于糾刪碼的多云碎片化安全存儲系統(簡寫:rclouds),rclouds系統示意圖如圖1所示,包括多云數據中心的數據存儲和多云數據中心的數據讀取步驟;

多云數據中心的數據存儲,如圖2所示,包括如下三個過程:

(1.1)數據碎片化

假設用戶需要存儲的數據data大小為129643295b,使用md5哈希算法計算哈希值為6392103b85a39d790f979f7fcb21c320,再采用key為該哈希值的aes算法加密數據,生成加密數據data′。

加密數據采用(6,4)rs糾刪碼算法編碼處理,先將加密數據切分為4個大小為32440320的數據塊di,i∈[1,5],再編碼處理生成2個大小為32440320的編碼塊ej,j∈[1,2],總共有6個文件塊。編碼處理完成后,生成1份元數據文件,元數據文件包括數據data名稱、大小,數據塊個數k、編碼塊個數m、糾刪碼算法名稱,密鑰key。其中元數據文件存儲在元數據服務器中。

(1.2)數據分發

評估5個云數據中心傳輸性能,通過restfulapi與各云數據中心進行連接,定義響應時間θ=te-tb,其中te為相應的云數據中心開始接收第一個數據字節的時間,tb為系統開始發送向相應的云數據中心發送請求時間。將θ值從小到大進行排序,對應云數據中心為騰訊云、阿里云、microsoftazure、百度云、amazons3。加密數據編碼后生成大小相等的6個文件塊,其中d1分發到騰訊云,d2分發到阿里云,d3分發到microsoftazure,d4分發到百度云,e1分發到amazons3,e2分發到騰訊云。

(1.3)數據條帶存儲

6個文件塊依次存儲在不同的云數據中心,這6個文件塊稱為條帶組。

圖4為多云數據中心的數據存儲方法流程圖。

多云數據中心的數據讀取,如圖3所示,包括如下三個過程:

(2.1)元數據文件讀取

當用戶需要讀取數據時,先從元數據服務器中讀取數據碎片化后存儲的元數據文件,從元數據文件中獲取n個文件塊信息,根據文件信息查找存儲的云數據中心。

(2.2)數據碎片化讀取

從云數據中心獲取文件塊碎片信息,開始下載文件塊。若某云數據中心上的文件塊下載失敗,則根據其他存活文件塊編碼計算恢復該數據。再通過密鑰為key的對稱加密算法解密數據,得到原始數據。

(2.3)數據還原

采用md5散列算法對解密后數據進行哈希值運算,再與原始哈希值進行比較,若相等則讀取的數據為原始數據,若不相等,則讀取數據失敗。

圖5為多云數據中心的數據讀取流程圖。

rclouds系統架構如圖6所示,rclouds系統主要由數據碎片層、數據調度層和云服務層組成。

(1)數據碎片層,主要包括:①用戶應用服務。②數據加密/解密服務。③元數據服務。④數據編碼/解碼服務。

(2)數據調度層,主要包括:①數據調度服務。②數據分發服務。

(3)云服務層,主要包括:amazons3、microsoftazure、阿里云、騰訊云、百度云等云數據中心。

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影