吳曉玲,邱珍珍
(廣州商學院,廣東 廣州 511363)
計算機網(wǎng)絡日益發(fā)展,大眾步入了信息化時代。分布式數(shù)據(jù)與信息的高效存儲和利用早已成為大眾生活和工作中十分關鍵的部分,無論企業(yè)還是個人,對數(shù)據(jù)的關注度都越來越高,由此,數(shù)據(jù)的存儲數(shù)量在大量增加[1-2]。但現(xiàn)實情況中,大多數(shù)據(jù)存儲算法和方法均不具備較為全面的性能[3]。當前分布式大數(shù)據(jù)存儲方法借助網(wǎng)絡信息技術將用戶的數(shù)據(jù)儲存在網(wǎng)絡云端當中,并借助加密算法的方式對數(shù)據(jù)信息給予密碼保護,由于數(shù)據(jù)處理的效率比較高,傳送速度快,集成化程度比較高以及服務器的覆蓋范圍廣泛等特征,近些年的發(fā)展與普及速度非???。大數(shù)據(jù)的儲存是云計算當中的主要環(huán)節(jié),是計算機網(wǎng)絡技術中有些儲存功能借助聯(lián)合與改進而形成的一種高實用性、低成本的儲存方法,其可以將用戶信息以儲存并加密的方式進行處理,并借助網(wǎng)絡回傳給用戶。以下為相關學者提出的數(shù)據(jù)存儲算法和方法,以此為例對目前相關研究進行探討。
林志貴[4]等人提出基于存儲閾值的數(shù)據(jù)存儲算法。過程中,將事件的優(yōu)先級作為判斷數(shù)據(jù)存儲位置至查詢節(jié)點間距離的依據(jù),并以此減少數(shù)據(jù)存儲以及查詢時對網(wǎng)絡的消耗,依據(jù)對節(jié)點數(shù)據(jù)存儲閾值的定義判斷進入下輪時隙分配與否。當網(wǎng)格范圍內節(jié)點均達到數(shù)據(jù)存儲閾值,將數(shù)據(jù)保存至同一優(yōu)先級的網(wǎng)格中。當同一個優(yōu)先級中所有網(wǎng)絡節(jié)點均達到某存儲閾值,將工作時隙重新分配。實驗結果表明,所提算法運行下網(wǎng)絡生命周期較長,但數(shù)據(jù)存儲的安全性較差。侯昉[5]等人提出基于Z-Ordering的數(shù)據(jù)存儲算法。過程中,利用空間填充曲線Z-Ordering自身具備的存儲映射方式和其訪問距離衡量因素,將網(wǎng)絡中的高維相鄰數(shù)據(jù)簇結合至一維存儲位置,以此加強數(shù)據(jù)存儲局部性。實驗結果表明,該算法存儲耗時短,但空間占用情況嚴重。杜瑞忠[6]等人提出基于封閉加密的數(shù)據(jù)存儲方法。利用虛擬機的隔離技術構建封閉計算空間,對R-SA公鑰加密法進行改進,使其無需重新生成大素數(shù)即可完成密鑰變化,同時利用SSL安全鏈對數(shù)據(jù)和密鑰進行傳輸,將數(shù)據(jù)于封閉計算空間中進行加密之后再保存到分布式系統(tǒng)。其中,封閉式的計算空間可以阻止網(wǎng)絡中不良應用和云管理員各種攻擊,高效防范數(shù)據(jù)的泄露。實驗表明,該方法安全性較強,但存在容錯性差的問題。
根據(jù)上述對當前數(shù)據(jù)存儲算法和方法的研究可知,相關研究存在安全性和容錯性差、數(shù)據(jù)存儲占用空間大的問題,為此,本文展開研究,試圖提供新思路。
因為分布式大數(shù)據(jù)存儲的過程中,數(shù)據(jù)會以一種離散形式進行存儲,由此需要在分布式大數(shù)據(jù)存儲前做以下約束:
(1)整個分布式大數(shù)據(jù)存儲的過程中,數(shù)據(jù)的流動性為透明的狀態(tài),也就是最終的數(shù)據(jù)存儲節(jié)點對中間的數(shù)據(jù)傳輸鏈路并不關注,且整個中間鏈路為云特性;
(2)分布式大數(shù)據(jù)網(wǎng)絡不存在固定控制中心,隨機分布式數(shù)據(jù)傳輸和存儲時都需要經(jīng)過該數(shù)據(jù)庫的檢索完成數(shù)據(jù)調度;
(3)隨機一個數(shù)據(jù)存儲的中繼節(jié)點出現(xiàn)失效情況,都能夠利用其他中繼節(jié)點完成數(shù)據(jù)存儲的接力。
因為對隨機中繼節(jié)點來說,進行數(shù)據(jù)傳輸就是對網(wǎng)絡中一定帶寬轉存的一個過程,由此分布式數(shù)據(jù)存儲容錯性能夠利用式(1)的模型確定:
(1)
式中,Esent(c)為分布式大數(shù)據(jù)存儲容錯程度;c為數(shù)據(jù)存儲數(shù)量;fsent(t)為數(shù)據(jù)傳輸時的映射函數(shù)。
依據(jù)式(1)可知,針對隨機分布式數(shù)據(jù)的傳輸鏈路來說,整體數(shù)據(jù)存儲容錯系數(shù)影響因素很多,其中包含當前節(jié)點數(shù)據(jù)的存儲數(shù)量等[7-8]。分布式數(shù)據(jù)在傳輸?shù)倪^程中,要依據(jù)各條分布式數(shù)據(jù)存儲鏈路完成數(shù)據(jù)存儲,由此其容錯系數(shù)會隨著數(shù)據(jù)存儲鏈路數(shù)量的增加而變大。
在基于云存儲架構的分布式大數(shù)據(jù)安全容錯存儲算法運行前,將分布式數(shù)據(jù)彈性和數(shù)據(jù)的利用概率以及數(shù)據(jù)的粒度確定為已知值。其中,數(shù)據(jù)粒度是指數(shù)據(jù)庫中數(shù)據(jù)的細化和綜合程度,細化程度越高,粒度越??;細化程度越低,粒度越大。彈性數(shù)據(jù)集是一個容錯且可以執(zhí)行并行操作的元素的集合,控制數(shù)據(jù)的彈性需要控制數(shù)據(jù)的收斂性來實現(xiàn)。
當數(shù)據(jù)存儲節(jié)點收到數(shù)據(jù)存儲請求之后,分布式數(shù)據(jù)存儲為連續(xù)請求狀態(tài),依據(jù)式(2)至式(8)所示的數(shù)據(jù)存儲梯度和存儲強度指數(shù)計算模型,當計算結果滿足式(8)時,將數(shù)據(jù)存儲起來,假設不滿足,則反復執(zhí)行式(2)至式(8)。其中,一般數(shù)據(jù)儲存系統(tǒng)會劃分為三個梯度,第一梯度實現(xiàn)數(shù)據(jù)的高度訪問,第二梯度起到了對第一梯度和第三梯度的緩沖作用,第三梯度用于數(shù)據(jù)歸檔。下文式(2)至式(8)所體現(xiàn)的是數(shù)據(jù)儲存的第一梯度。
假設分布式數(shù)據(jù)的利用概率為P(x),分布式數(shù)據(jù)的利用概率期望值EP(x)和分布式數(shù)據(jù)彈性期望值E[T(x)]為倒數(shù)關系,則有:
(2)
式中,λ代表分布式數(shù)據(jù)服從指數(shù)。
當式(2)模型計算期望值為負數(shù)時,則表明數(shù)據(jù)存儲過程中的存儲流暢程度和擁塞程度為反比,分布式數(shù)據(jù)存儲繼續(xù)進行。假設式(2)計算期望值為正數(shù),需要對數(shù)據(jù)存儲的服務質量進行控制,利用調控數(shù)據(jù)的粒度完成存儲過程的繼續(xù)。
因分布式數(shù)據(jù)存儲的流暢度和式(2)計算出的期望值為負相關,尤其是當數(shù)據(jù)粒度比較細時會使該期望值持續(xù)上升,還可能會變?yōu)檎龜?shù),由此利用粒度率p對分布式數(shù)據(jù)彈性T(x)進行控制,進而降低數(shù)據(jù)存儲空間占用率,使數(shù)據(jù)存儲流程更加順暢[9]。
綜上分析可知,T(x)和p之間滿足負相關關系,由此能夠通過該關系保證T(x)數(shù)值不變,則有:
T(x)?p
(3)
式中,T(x)?p的期望值E[T(x)?p]滿足時間函數(shù),E[T(x)?p]數(shù)學表達式為:
(4)
根據(jù)式(4),將當前數(shù)據(jù)存儲接入粒度率還設定為p,那么下一個時刻T(x)滿足的關系式如下
(5)
因為分布式數(shù)據(jù)存儲點帶寬是有限的,而且存儲梯度Δ可以高效覆蓋T(x),由此對于隨機時刻Δt,與之對應的保證覆蓋關系ΔT(x)滿足式(6):
(6)
依據(jù)式(6)的計算,得到的分布式數(shù)據(jù)存儲強度指數(shù)Δλ滿足式(7)所示的數(shù)學表達式:
(7)
基于式(7)的計算結果,分布式大數(shù)據(jù)存儲梯度Δ和數(shù)據(jù)彈性T(x)滿足式(8),以此實現(xiàn)數(shù)據(jù)存儲:
(8)
根據(jù)式(8)的計算可知數(shù)據(jù)存儲梯度Δ和數(shù)據(jù)彈性T(x)的最佳關系,此時將分布式大數(shù)據(jù)進行存儲,式(9)為最終存儲結果Δ(X):
Δ(X)=Esent(c)·c·P(x)·Δλ·T(x)
(9)
式(9)即為基于云存儲架構的分布式大數(shù)據(jù)安全容錯存儲結果。
基于分布式大數(shù)據(jù)存儲結果,利用CP-ABE加密算法對數(shù)據(jù)存儲結果進行加密,以提升數(shù)據(jù)存儲的安全性。
ABE加密算法為公鑰加密,與其對應的解密對象不是個體,而是整個基于云存儲架構的分布式大數(shù)據(jù)安全容錯存儲群體。由于ABE融入了數(shù)據(jù)屬性理念,使ABE算法于云計算下應用較為廣泛[10]。其將訪問控制權交給用戶,數(shù)據(jù)訪問用戶能夠自主選取要查詢檢索的數(shù)據(jù)信息,此為CP-ABE加密算法于云計算下最大優(yōu)勢。以下是將CP-ABE加密算法應用于本文分布式大數(shù)據(jù)安全容錯存儲算法的具體步驟:
(1)輸入設定安全參數(shù),獲取主密鑰MK,公開參數(shù)PK。
(2)輸入主密鑰MK和公開參數(shù)PK,結合2.2步驟得到的分布式大數(shù)據(jù)存儲結果,在明文Δ(X)的基礎上獲取密文C[Δ(X)]。
(3)輸入分布式大數(shù)據(jù)屬性集合(包括大數(shù)據(jù)分布彈性T(x)、粒度率p以及儲存梯度Δ)、主密鑰MK,獲取私鑰SK。
(4)輸入密文C[Δ(X)]、私鑰SK,對密文C[Δ(X)]進行解密,最終獲取明文Δ(X)。
根據(jù)CP-ABE加密算法對分布式大數(shù)據(jù)存儲結果進行進一步加密,可高效解決當前數(shù)據(jù)存儲方法中存在的安全度差的問題,確保數(shù)據(jù)儲存的安全性。
為驗證本文提出算法的整體性能進行實驗。實驗環(huán)境為:CPU是Intel Pentium CPU G3260 @ 3.30 GHz,實驗內存為8.00 GB,實驗操作系統(tǒng)為Windows 764位操作體系,實驗軟件為Matlab 2017a。實驗參數(shù)如表1所示:
表1 實驗參數(shù)
根據(jù)上述實驗環(huán)境和實驗參數(shù)的設定,分別在以下方面對本文提出的算法進行驗證:
(1)數(shù)據(jù)存儲安全性
(2)數(shù)據(jù)存儲空間占用率
(3)數(shù)據(jù)存儲容錯性
實驗結果如下:
圖1 不同數(shù)據(jù)存儲法安全性對比
分析圖1可知,相比基于存儲閾值的數(shù)據(jù)存儲算法和基于Z-Ordering的數(shù)據(jù)存儲算法,本文提出的算法安全系數(shù)更大。該算法利用ABE加密算法對應的解密對象不是個體,而是整個本文算法群體這一特性,有效提升了分布式大數(shù)據(jù)存儲的安全性。與當前算法相比,該算法表現(xiàn)出了較強的可行性。
圖2 不同數(shù)據(jù)存儲法空間占用情況對比
由圖2可知,基于Z-Ordering的數(shù)據(jù)存儲算法數(shù)據(jù)存儲空間占用率最高,基于封閉加密的數(shù)據(jù)存儲方法數(shù)據(jù)存儲空間占用率次之,本文提出的算法數(shù)據(jù)存儲空間占用率最低。該算法利用粒度率對分布式數(shù)據(jù)彈性進行控制,有效降低了數(shù)據(jù)存儲空間占用率,緩解了當前數(shù)據(jù)存儲算法和方法中存在的空間占用情況嚴重的問題。
表2中。U0代表實驗次數(shù),U1代表基于封閉加密的數(shù)據(jù)存儲方法容錯系數(shù),U2代表基于存儲閾值的數(shù)據(jù)存儲算法容錯系數(shù),U3代表本文提出算法容錯系數(shù)。
由表2可知,本文所提算法在不同實驗次數(shù)下,數(shù)據(jù)存儲容錯系數(shù)均值較大,最大為1.0,最小為0.8,與當前算法和方法相比,魯棒性更強。該算法在分布式數(shù)據(jù)在傳輸?shù)倪^程中,要依據(jù)各條分布式數(shù)據(jù)存儲鏈路完成數(shù)據(jù)存儲,進而使所提算法容錯系數(shù)隨著數(shù)據(jù)存儲鏈路數(shù)量的增加而提升,有效增強了數(shù)據(jù)存儲算法的容錯性。
綜合上述實驗結果,本文所提算法與當前數(shù)據(jù)存儲算法和方法相比,呈現(xiàn)出了較強的存儲性能。該算法在數(shù)據(jù)存儲安全性、容錯性和存儲空間占用方面均較為優(yōu)越,是一種切實可行的分布式大數(shù)據(jù)存儲算法。
表2 不同數(shù)據(jù)存儲法容錯性對比
數(shù)據(jù)存儲在大眾日常中占據(jù)著十分重要的地位,一個性能良好的數(shù)據(jù)庫必須具備數(shù)據(jù)緩存單元,可見數(shù)據(jù)存儲對于社會各界產(chǎn)生的大數(shù)據(jù)重要意義不言而喻。以解決當前數(shù)據(jù)存儲方法和算法中存在的問題為目的,提出基于云存儲架構的分布式大數(shù)據(jù)安全容錯存儲算法。通過分布式大數(shù)據(jù)存儲約束條件的構建為數(shù)據(jù)存儲奠定基礎,利用云架構實現(xiàn)數(shù)據(jù)存儲,同時通過CP-ABE加密算法對云架構下數(shù)據(jù)存儲結果進行加密。實驗結果表明,所提算法可實現(xiàn)低占用內存、安全、高容錯的數(shù)據(jù)存儲。根據(jù)實驗可知,基于云存儲架構的分布式大數(shù)據(jù)安全容錯存儲算法可為該領域發(fā)展提供借鑒。