劉若冰
摘 要: 該文介紹面向大數據的云存儲系統的關鍵技術,依據定向隨機游走規則對分布式云存儲技術進行分析。為了保證數據安全,通過RAS加密算法對數據進行加密,利用公鑰或密鑰針對所需存儲的數據進行加密,將另一個作為對應的解密密鑰對數據進行解密。為了保證系統的可靠性和數據的訪問效率,詳細分析數據的檢索技術。通過云存儲技術、數據加密技術和數據檢索技術的組合方式達到高效整合、管理網絡存儲資源的目的,對外提供友好的連接窗口,使云計算網絡數據的發布方式更加快速,為使用者提供便捷的存儲服務。仿真實驗結果表明,采用所提關鍵技術的云存儲系統不僅運行時間和整體耗能低,而且可用性極高。
關鍵詞: 大數據; 云存儲; 關鍵技術; 數據加密
中圖分類號: TN911?34; TP333 文獻標識碼: A 文章編號: 1004?373X(2016)06?0021?04
Research on key technologies for big data cloud storage system
LIU Ruobing
(College of Arts and Sciences Yunnan Normal University, Kunming 650222, China)
Abstract: Therefore, the key technologies of a big data cloud storage system are introduced, and the distributed cloud storage technology is analyzed according to the rules of the directional random walk. In order to guarantee the data security, the data is encrypted with the RAS encryption algorithm, the public key or secret key is used to encrypt the data which needs to be stored, and another corresponding decryption key is adopted to decrypt the data. In order to guarantee the reliability of the system and data access efficiency, data retrieval technology is analyzed in detail. The efficient integration and network storage resource management are reached by means of the combination of cloud storage technology, data encryption technology and data retrieval technology, which provides a friendly connection window for outward to make the release of the cloud computing network data quicker, and provide users with convenient storage service. The simulation experiment results show that the cloud storage system with the proposed key technology has shorter running time, lower overall energy consumption and higher availability.
Keywords: big data; cloud storage; key technology; data encryption
0 引 言
云存儲是在云計算技術的基礎上發展形成的,其將數據的存儲及管理看作是核心任務,云存儲能夠在集群應用、網格技術及分布式文件系統的基礎上,利用相關軟件將網絡中各種類型的存儲設備結合在一起,為用戶提供相關數據存儲和業務訪問功能[1?3]。隨著科技的逐漸發展,數據量越來越大,研究面向大數據云存儲系統具有重要意義,已經成為相關學者研究的重點課題[4?6]。
目前,關于云存儲系統的研究主要有 Amazon EC2,Amazon EBS和Google File System(GFS)等。相關研究也取得了一定的成果,其中:文獻[7]介紹了一種Virtual Block Store(VBS)云存儲系統的關鍵技術,其不僅能夠獨立作為一個云存儲系統進行使用,也能夠為一些云計算系統(如 Openstack)提供云存儲管理服務,但該系統很容易出現單點故障問題,影響了整個云存儲系統的性能;文獻[8]介紹了一種Orthrus云存儲系統的關鍵技術,該系統采用了多服務器形式,依據變種遺傳算法實現各服務器的負載均衡,但該系統因缺少變異過程,容易陷入局部最優,無法實現對系統負載的最優化分配;文獻[9]介紹了一種P2P云存儲系統的關鍵技術,將之前較為分散的互聯網資源集合起來,為用戶提供相應服務,但該系統往往會受到一些網絡因素的限制,性能不高;文獻[10]介紹了一種Kuhn云存儲系統,對相關文件進行分塊和建立元數據,將元數據保存在文件中,新的文件對象均存儲于文件的目錄結構之中,該云存儲能夠明顯提高元數據的存儲性能,然而其需要引入目錄,約束了應用的發展及使用。本文介紹了面向大數據的云存儲系統的關鍵技術,依據定向隨機游走規則對分布式云存儲技術進行分析,通過RAS加密算法對數據進行加密,利用數據檢索技術使云存儲系統更加可靠,數據的訪問效率更高。通過云存儲技術、數據加密技術和數據檢索技術的組合方式達到高效整合、管理網絡存儲資源的目的。經實驗驗證,采用所提關鍵技術的云存儲系統不僅運行時間和整體耗能低,而且可用性極高。
1 面向大數據云存儲系統的關鍵技術
云存儲是依據云計算技術發展而來的,將大數據的存儲及管理作為核心任務,為外界提供相關的數據存儲和業務訪問功能。云存儲系統的基礎是分布式云存儲技術、數據加密技術及數據檢索技術,上述關鍵技術的組合方式不但能達到高效整合、管理網絡存儲資源的目的,還能夠對外提供友好的連接窗口,使云計算網絡數據的發布方式更加快速,為使用者提供便捷的存儲服務。下面詳細介紹面向大數據云存儲系統的關鍵技術。
1.1 基于定向隨機游走規則的分布式云存儲技術
面向大數據云存儲系統的分布式存儲技術就是利用網絡服務商提供的不同存儲設備上的存儲空間對數據進行傳輸存儲,同時將上述分散的存儲資源組成一個虛擬的存儲設備。本文依據定向隨機游走規則對分布式云存儲技術進行分析。
依據定向隨機游走規則,在云存儲系統源數據包抵達所訪問的網絡節點[v]后,從[v]的所有鄰居節中隨機選擇一個節點[u]繼續進行訪問。
假設[No]為云存儲系統下一個節點[o]的鄰居節點集合;[δo=No]為節點[o]的鄰居節點個數;[co]為定向隨機游走此刻已經訪問節點[o]的總次數,則鄰居節點[u]的選擇過程如下:
(1) 從正在訪問節點[v]的鄰居節點集合[Nv]中隨機選出2個節點,將其看作是備選節點,其構成的集合用[N′]表示;
(2) 依據給出的條件從2個備選節點中選擇繼續訪問的節點。
本文面向大數據云存儲系統分布式云存儲技術的基本原理如下:
面向大數據進行云存儲前:每個節點均存儲有一個初始值為0的存儲數據包[Yi],同時所有數據節點僅存在一個源數據包[Xj]。
開始進行云存儲后:從任意數據節點開始一個步數為[cnlnn]的定向隨機游走,對該數據節點的源數據包進行傳遞;源數據包抵達一個新的節點后,新節點將以概率[alnkk]接收源數據包,并且將得到的源數據包儲存在自身的存儲數據包中;新節點按照定向隨機游走規則繼續發送源數據包。源數據傳遞次數達到定向隨機游走的給定步數[cnlnn]后,即[N>cnlnn],源數據包會被刪除。所有[k]個源數據包均被刪除后,即實現了大數據的云存儲。詳細實現過程如下:
輸入:[k]個源數據包[Xv],[v=1,2,…,k]。
輸出:[n]個存儲數據包[Yu],[u=1,2,…,n]。
(1) 假設數據節點為[v],[v=1,2,…,k]。將信息[IDv]號與定向隨機游走步數計數器[N=0]加入源數據包[Xv]中;
(2) 假設云存儲系統節點為[u],[u=1,2,…,n]。對所有存儲數據包的值及所有源數據包已訪問節點的次數進行初始化處理;
(3) 以概率[alnkk]接收[Xv],并且完成對自身存儲數據包的更新。
(4) 通過定向隨機游走原則將源數據包[Xv]傳輸到其相鄰節點中。
(5) 針對所有抵達節點[u]的源數據包[Xj],若[Xj]第一次訪問節點[u],則節點[u]以概率[alnkk]接收[Xj],并利用步驟(2)對自身的存儲數據包進行更新,源數據包[Xj]對頭信息進行更新:[N=N+1]。若[N 1.2 數據加密技術 因為本文采用的是分布式云存儲技術,數據存儲在多個數據中心中,所以數據安全成為亟需解決的問題,本文通過RAS加密算法對數據進行加密。 RSA加密算法是一種典型的公鑰密碼算法,在RSA加密算法中,公鑰與密鑰均可用于數據的加密。而另一個可以作為對應的解密密鑰。 RSA加密算法屬于一種依據大整數分解的算法,其過程可描述成[n=p×q],對素數[p]與[q]的值進行計算,詳細程序代碼如下: RSA加密算法對參數的選擇有一定的要求,主要需遵守下述條件: (1) 素數[p]與[q]需足夠大,同時為強素數。RSA算法的安全性主要是依據[p]與[q]因子分解的,因此,需保證[p]和[q]是強素數。除此之外,為了保持因式分解的難度,加強RSA算法的安全性,[p]與[q]的取值需足夠大。 (2) [p]與[q]的差不能太小,也不能太大。如果[p]與[q]的差過小,則可采用下述方法對[n]進行分解。若[p]與[q]的差過大,即可通過嘗試法完成對[n]的分解。 (3) [d]不能夠過小。解密密鑰的值越小,RSA的機密效率越高,然而,若[d]過小,則可以較小的代價,利用己知明文求出密文。RSA算法中通常[d≥n14]。 (4) [e]不能夠過小。[e]越小,RSA算法的效率越高,對密鑰的管理容易,但[e]過小則能夠利用加密算法[c≡memodn]對密文[c]進行破解。 為了保證形成的數的素性,需對素數進行檢驗,詳細過程如下: (1) 完成對[p-1]的分解; (2) 完成對[F]的分解; (3) [a=1]; (4) [a=a+1]; (5) 若存在等于1的情況,則繼續進行下一步;反之,進行第七步,結束迭代; (6) 若[p]為素數,進行下一步,結束迭代;反之,重新進行第四步; (7) 結束迭代。 1.3 數據檢索技術 數據檢索技術是云存儲系統的關鍵技術之一,檢索性能的好壞不僅決定著系統的可靠性,還決定著數據的訪問效率。 用戶在對云存儲數據進行檢索時,通過訪問[n]個云服務器中任意[k]個服務器實現對原始數據的還原。通過下式對用戶檢索所選[k]個云服務器上的全部編碼向量與編碼標記進行驗證。
若某編碼標記驗證失敗,則用戶將向第三方服務器發送報告,同時對替代云存儲服務器進行訪問。若[k]個存儲服務器編碼標記均驗證成果,則用戶僅對編碼向量進行置信傳播解碼算法,同時對有利于解碼的編碼向量ID進行統計。同時,數據用戶從相應的存儲服務器處檢索對應的編碼分組和檢索標記,完成對編碼分組完整性的驗證。通過對編碼分組進行和編碼向量相同的計算過程,能夠恢復文件[M]的全部原始分組。最終,對文件進行[M]解密操作,同時得到明文數據,以完成云存儲系統的檢索。
2 仿真實驗結果分析
本文實驗在真實的網絡環境下進行,拓撲結構如圖1所示。
圖1中的拓撲結構由10個數據節點DataNode、1個中心路由節點Center和1個客戶端節點Client構成。軟件環境為Windows 7.0。實驗將Hadoop系統作為對比進行分析。
2.1 運行時間分析
在數據量較小的情況下,隨著存儲數據的逐漸增加,將本文系統和Hadoop系統消耗的時間進行比較,這里消耗的時間主要包括讀取時間、存儲時間和寫入時間。
分析圖2、圖3可以看出,當數據量較小時,本文系統和Hadoop系統所消耗的時間相差不大,而當數據量較大時,本文系統所消耗的時間明顯低于Hadoop系統,這是因為本文系統專門面向大數據而設計,時間優勢非常明顯。
2.2 系統可用性分析
當數據節點數為100個時,對本文系統和Hadoop系統數據分布情況進行統計,得到的結果分別見圖4、圖5。
分析圖4、圖5可以看出,和Hadoop系統相比,本文系統的數據分布情況更加均勻說明本文系統具有很高的可用性。數據的分布情況對整個系統性能的影響很大,如果數據分布不均勻,會導致負載不均衡,使節點宕機,造成數據遷移,大大降低系統的可用性。
2.3 網絡的整體能耗
對本文系統和Hadoop系統的網絡整體能耗進行比較,得到的結果如圖6所示。
分析圖6可以看出,當存儲數據數量不同時,兩種系統的整體能耗變化不同。本文系統的總消耗明顯低于Hadoop系統,這主要是因為Hadoop系統需要在整個云存儲系統中來尋找存儲點,大大增加了存儲所需的時間,提高了網絡的總體能耗。
3 結 語
本文介紹了面向大數據的云存儲系統的關鍵技術,依據定向隨機游走規則對分布式云存儲技術進行分析。為了保證數據安全,通過RAS加密算法對數據進行加密,利用公鑰或密鑰均對所需存儲的數據進行加密,將另一個作為對應的解密密鑰對數據進行解密。為了保證系統的可靠性和數據的訪問效率,詳細分析了數據的檢索技術。通過云存儲技術、數據加密技術和數據檢索技術的組合方式達到高效整合、管理網絡存儲資源的目的,對外提供友好的連接窗口,使云計算網絡數據的發布方式更加快速,為使用者提供便捷的存儲服務。仿真實驗結果表明,采用所提關鍵技術的云存儲系統不僅運行時間和整體耗能低,而且可用性極高。
參考文獻
[1] 林麗,種大雙.高校數據中心私有云存儲系統研究[J].軟件導刊·教育技術,2014(4):85?87.
[2] 杜蕓蕓.一種面向糾刪碼技術的云存儲可靠性機制[J].計算機應用與軟件,2014(2):312?316.
[3] 閆智,詹靜.面向行為可信的大數據安全系統形式化描述[J].電信科學,2014,30(7):32?38.
[4] 孫燕飛.大數據場景下基于HDFS的云存儲服務系統設計[J].數字技術與應用,2014(2):172.
[5] 毛文彬.面向大數據的分布式系統設計關鍵技術研究[J].無線互聯科技,2014(11):150?151.
[6] 傅穎勛,羅圣美,舒繼武.安全云存儲系統與關鍵技術綜述[J].計算機研究與發展,2013,50(1):136?145.
[7] 孫勇,林菲,王寶軍.面向云計算的鍵值型分布式存儲系統研究[J].電子學報,2013,41(7):1406?1411.
[8] 趙鐵柱,鄧見光.面向大規模數據備份的云存儲網關研究[J].計算機光盤軟件與應用,2013(12):43?44.
[9] 費賢舉,王樹鋒,王文.一種海量大數據云存儲系統框架設計[J].常州工學院學報,2014(3):38?42.
[10] 馬軍,石輝,裴文斌,等.面向云存儲的存儲網關[J].計算機系統應用,2014,23(12):42?46.