穆雪蓮 咸鶴群
摘要:數(shù)據(jù)去重的過程中,云存儲系統(tǒng)會產(chǎn)生大量的計算機調(diào)度沖突。針對去重操作調(diào)度沖突問題,提出一種基于長短期記憶網(wǎng)絡(luò)(LSTM)機器學(xué)習(xí)方法的預(yù)測模型,可根據(jù)歷史操作預(yù)測服務(wù)器負載情況,由此給出操作序列建議,對服務(wù)器進程進行合理調(diào)度并實施去重操作。并與基于隨機模擬仿真數(shù)據(jù)的操作調(diào)度進行了對比,實驗結(jié)果表明,本方案在提高服務(wù)器去重操作執(zhí)行效率方面具有優(yōu)勢,能夠降低服務(wù)器的性能開銷。
關(guān)鍵詞:云存儲;數(shù)據(jù)去重;調(diào)度優(yōu)化 ;LSTM;預(yù)測模型
中圖分類號:TP391
文獻標志碼:A
文章編號:1006-1037(2021)01-0025-04
基金項目:山東省自然科學(xué)基金(批準號:ZR2019MF058)資助。
通信作者:咸鶴群,男,博士,副教授,主要研究方向為密碼學(xué)、網(wǎng)絡(luò)與信息系統(tǒng)安全、云計算安全等。E-mail:xianhq@126.com
隨著云存儲服務(wù)的廣泛推廣和大規(guī)模應(yīng)用,云端存儲的數(shù)據(jù)龐大,研究發(fā)現(xiàn),基于虛擬機主存儲系統(tǒng)中有80%的數(shù)據(jù)冗余,存儲系統(tǒng)中高達60%的數(shù)據(jù)是冗余的[1],越來越多的冗余數(shù)據(jù)被存儲在云服務(wù)器中,數(shù)據(jù)去重技術(shù)得到廣泛應(yīng)用。在數(shù)據(jù)去重的過程中,云存儲系統(tǒng)會產(chǎn)生大量的計算機調(diào)度沖突。如何在保護用戶數(shù)據(jù)隱私的同時解決調(diào)度沖突,提高去重操作的效率,是數(shù)據(jù)去重方案面臨的新問題。相同的數(shù)據(jù)在不同的加密密鑰和加密方式的作用下,所得的密文也不一致[2-3],云服務(wù)器難以直接根據(jù)密文判斷該數(shù)據(jù)是否來自于同一明文數(shù)據(jù),這也嚴重制約了跨用戶重復(fù)數(shù)據(jù)刪除系統(tǒng)的執(zhí)行效率[4]。Liu等[5-6]提出了服務(wù)器端數(shù)據(jù)去重方案,擁有相同數(shù)據(jù)拷貝的用戶,調(diào)用Password Authenticated Key Exchange(PAKE)協(xié)議進行密鑰交換。付印金等[7]重點分析和總結(jié)數(shù)據(jù)去重各項關(guān)鍵技術(shù)的研究現(xiàn)狀,包括數(shù)據(jù)劃分方法、I/O優(yōu)化技術(shù)、高可靠數(shù)據(jù)配置策略以及系統(tǒng)可擴展性,有效提高了數(shù)據(jù)去重的效率。咸鶴群等[8]提出了一種可驗證的數(shù)據(jù)去重方法,無需可信第三方在線參與有效提高了數(shù)據(jù)去重的效率。為提高數(shù)據(jù)去重效率,Stanek等[9]提出將數(shù)據(jù)分為流行數(shù)據(jù)和非流行數(shù)據(jù),并采取不同的加密策略。現(xiàn)有的商用云存儲系統(tǒng)普遍采用了數(shù)據(jù)去重技術(shù),如Dropbox,Wuala,Mozy,Geogle Drive等[10]。但該技術(shù)的提出也引來了數(shù)據(jù)安全、用戶隱私、去重操作效率低下等一系列相關(guān)問題。終端設(shè)備產(chǎn)生數(shù)據(jù)量的激增,使得終端數(shù)據(jù)不得不外包到專門的數(shù)據(jù)中心,為了降低資源消耗,減少系統(tǒng)開銷,引入了一種新型的計算范式,稱為fog計算[11],數(shù)據(jù)所有者可以更新或者刪除存儲在遠程存儲中的外包數(shù)據(jù)。劉紅燕等[12]提出了一種采用文件級和塊級相結(jié)合的重復(fù)數(shù)據(jù)刪除方法,在實現(xiàn)高效重復(fù)數(shù)據(jù)刪除的同時,更好地保護了用戶數(shù)據(jù)隱私。通過對數(shù)據(jù)去重技術(shù)當前研究現(xiàn)狀的分析,恰當?shù)臋C制打破數(shù)據(jù)去重技術(shù)的可靠性局限并減少數(shù)據(jù)去重技術(shù)帶來的額外系統(tǒng)開銷也是一個重要的方面[13]。為提高數(shù)據(jù)去重的效率,程思嘉等[14-15]提出了一種基于密文策略屬性的數(shù)據(jù)刪重方案。該方案采用混合云結(jié)構(gòu),公有云負責(zé)數(shù)據(jù)的存儲,私有云負責(zé)數(shù)據(jù)重復(fù)檢測。上述方案都是對用戶的隱私數(shù)據(jù)進行分類、加工操作,去重效率并沒有得到大幅度的提升。針對此類問題,本文提出了一種基于機器學(xué)習(xí)的去重操作調(diào)度方法,通過解決去重過程中的沖突,提升調(diào)度效率。
1 方案
本方案基于長短期記憶網(wǎng)絡(luò)(LSTM,Long Short-Term Memory)構(gòu)造機器學(xué)習(xí)模型。解決數(shù)據(jù)安全去重方案中去重操作與服務(wù)器其他數(shù)據(jù)操作的調(diào)度沖突問題。在一般的基于數(shù)據(jù)加密的數(shù)據(jù)去重系統(tǒng)中,刪除冗余數(shù)據(jù)之前需要預(yù)先對密文數(shù)據(jù)進行處理[16]。這些操作與服務(wù)器正常的數(shù)據(jù)操作之間的調(diào)度優(yōu)化,能夠顯著提升數(shù)據(jù)去重的執(zhí)行效率。
本方案的系統(tǒng)模型包含3類實體:用戶(U)、預(yù)測器(P)和云服務(wù)器(CS),云服器為用戶提供數(shù)據(jù)存儲和數(shù)據(jù)共享服務(wù)。為訓(xùn)練出一個效果突出且可以提供性能調(diào)度優(yōu)化策略的預(yù)測器P,引入了LSTM神經(jīng)網(wǎng)絡(luò)模型,將該網(wǎng)絡(luò)的神經(jīng)元個數(shù)設(shè)置為26 240,時間步為1,輸入數(shù)據(jù)個數(shù)為1,輸出維度為80,迭代次數(shù)為1 000次,利用該預(yù)測器得出的結(jié)論指導(dǎo)序列生成器生成操作序列建議,云服務(wù)器可依據(jù)此建議進行去重操作的調(diào)度,用戶可以將自己的數(shù)據(jù)上傳至云服務(wù)器。若云端檢測到該數(shù)據(jù)為冗余數(shù)據(jù),則做冗余數(shù)據(jù)刪除準備,向預(yù)測器發(fā)送進程調(diào)度請求,預(yù)測器可以根據(jù)云服務(wù)器當前操作的反饋數(shù)據(jù)預(yù)測出在未來一段時間服務(wù)器調(diào)度的高峰低谷即空檔期,并將此預(yù)測數(shù)據(jù)交給序列生成器加工生成操作序列建議,云服務(wù)器可以依據(jù)此建議進行去重操作調(diào)度。本方案的綜合流程圖如圖1所示。
預(yù)測模型包含四個算法:文件生成算法Encryption,數(shù)據(jù)判斷算法JudgeGen,預(yù)測生成函數(shù) PredictGen,序列生成策略ArrayGen。
(1)Encryption(F)→C:文件生成算法,由用戶U執(zhí)行。輸入數(shù)據(jù)所有者的上傳數(shù)據(jù)F,輸出文件C,然后將C上傳至云服務(wù)器CS。
(2)Judge-Gen(C)→R<Amo,D(OS)>:數(shù)據(jù)判斷算法,由云服務(wù)器執(zhí)行。輸入文件C,產(chǎn)生文件規(guī)模標識Amo和云服務(wù)器當前操作調(diào)度D(OS),并將二元組R<Amo,D(OS)>請求發(fā)送給預(yù)測器P。
(3)Predict-Gen(R,TW)→T<S,Ra,Res>:預(yù)測生成函數(shù),由預(yù)測器執(zhí)行。輸入云服務(wù)器相關(guān)數(shù)據(jù)R和訓(xùn)練生成網(wǎng)絡(luò)TW,輸出預(yù)測器生成的調(diào)度策略S(即預(yù)測器生成的曲線圖表)、當前服務(wù)器繁忙等級Ra和理想操作狀態(tài)Res(True或False)。并將此性能調(diào)度優(yōu)化策略T<S,Ra,Res>交予序列生成器生成操作序列建議。
具體步驟為:①將訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)輸入到預(yù)測器中,對未來一段時間云服務(wù)器的操作調(diào)度情況進行預(yù)測;②預(yù)測器根據(jù)輸入的(R,TW),生成調(diào)度策略S,當前服務(wù)器繁忙等級Ra和理想操作狀態(tài)Res。當前服務(wù)器的繁忙等級輸出為High或者Low,理想操作狀態(tài)Res分為True和False;③將輸出的值T<S,Ra,Res>發(fā)送給序列生成器
(4)Array-Gen(T)->Suggest:序列生成策略,根據(jù)預(yù)測結(jié)果生成操作序列建議,即0-1字符串。
具體步驟為:①根據(jù)數(shù)據(jù)T,提取出操作序列,并將操作次數(shù)的平均值作為區(qū)分高峰低谷的標準,低于平均值的時刻進行輸出,并生成操作序列建議(即0-1字符串);②將序列建議發(fā)送給云服務(wù)器。操作序列建議中0表示此時可以進行去重調(diào)度,1表示此時服務(wù)器被占用無法進行去重操作的調(diào)度。
2 仿真與實驗分析
本方案采用Python語言,利用Skerlearn、Pandas、Random等函數(shù)庫進行方案的實現(xiàn)。運行平臺是具有4GB運行內(nèi)存、4核CPU,運行的操作系統(tǒng)是Windows。實驗基于Keras高級神經(jīng)庫中的LSTM神經(jīng)網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)的神經(jīng)元個數(shù)為26 240,設(shè)置該LSTM的時間步為1,輸入數(shù)據(jù)個數(shù)為1,輸出維度為80,迭代次數(shù)為1 000次。實驗將以一分鐘作為時間跨度的數(shù)據(jù)上傳給預(yù)測器,根據(jù)實驗結(jié)果的輸出,提取出預(yù)測數(shù)據(jù)中的高峰低谷,與真實數(shù)據(jù)的高峰低谷進行對比分析,結(jié)果輸出如圖2所示。
圖2中0~160 min的部分(虛線左側(cè))是訓(xùn)練數(shù)據(jù)集作為網(wǎng)絡(luò)輸入得到的預(yù)測結(jié)果和實際數(shù)據(jù)的比較。虛線右側(cè)(161~240 min的部分)是測試數(shù)據(jù)集作為網(wǎng)絡(luò)輸入得到的預(yù)測結(jié)果和實際數(shù)據(jù)的比較。根據(jù)預(yù)測器所得出的未來一段時間內(nèi)服務(wù)器的調(diào)度預(yù)測情況,對應(yīng)生成操作建議序列。方案定義高于所有預(yù)測結(jié)果平均值的時刻為服務(wù)器繁忙期,低于平均值的時刻為空閑期,從而指導(dǎo)服務(wù)器進行去重操作的調(diào)度。首先求得所有預(yù)測數(shù)據(jù)的平均值,高于該平均值的時刻輸出1,低于該平均值的輸出0,最終得到操作序列建議0-1序列,序列建議為0的時刻進行去重操作調(diào)度,為1 的時刻不進行任何調(diào)度。最后進行了普通的隨機碰撞模擬實驗,數(shù)據(jù)顯示該實驗碰撞概率在20%以上。通過對兩種預(yù)測結(jié)果的對比分析,根據(jù)預(yù)測器給出的性能調(diào)度優(yōu)化策略,可以最大幅度的提升調(diào)度的效率,從而使得去重能夠更快更有效的進行。對比結(jié)果如圖3所示,Predictor數(shù)據(jù)為預(yù)測器的結(jié)果得出的調(diào)度沖突概率,Random數(shù)據(jù)為普通模擬得出的沖突概率。
3 結(jié)論
本文設(shè)計了基于機器學(xué)習(xí)的云存儲數(shù)據(jù)安全去重調(diào)度方案,基于LSTM神經(jīng)網(wǎng)絡(luò),訓(xùn)練出一種可以根據(jù)歷史操作來預(yù)測未來一段時間內(nèi)服務(wù)器調(diào)度情況的預(yù)測器,根據(jù)預(yù)測器給出合理的操作序列建議,依據(jù)此序列對服務(wù)器進程進行調(diào)度并指導(dǎo)去重操作。首次對加密數(shù)據(jù)去重方案中關(guān)于去重操作執(zhí)行效率進行討論,提出了首個基于LSTM模型對去重操作進行調(diào)度的方案。文中給出了依據(jù)性能調(diào)度優(yōu)化策略進行服務(wù)器調(diào)度產(chǎn)生的碰撞率與隨機模擬碰撞實驗的對比情況,表明此方案是方便高效的,提高了去重操作的效率,降低了服務(wù)器的性能開銷。
參考文獻
[1]CLEMENTS A, AHMAD I, Vilayannur M, et al. Decentralized deduplication in SAN cluster file systems[C]//Proc of the USENIX ATC′09. Berkeley, CA: USENIX, 2009:101-114.
[2]DOUCEUR J R, ADYA A, BOLOSKY W J, et al. Reclaiming space from duplicate files in a serverless distributed file system[C]//Proceeding of the 22nd International Conference on Distributed Computing Systems. Piscataway, NJ: IEEE, 2002:617-624.
[3]LIU J F, WANG J F, TAO X L, et al. Secure similarity-based cloud data deduplication in Ubiquitous city[J]. Pervasive and Mobile Computing, 2017,41:231-242.
[4]ZHANG P F, HUANG P, HE X B, et al. Resemblance and mergence based indexing for high performance data deduplication[J]. Journal of Systems and Software,2017,128:11-24.
[5]LIU J,ASOKAN N,PINKAS B. Secure deduplication of encrypted data without additional independent servers[C]//Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2015: 874-885.
[6]胡學(xué)先,張振峰,劉文芬.標準模型下通用可組合的口令認證密鑰交換協(xié)議[J].軟件學(xué)報,2011,22(11):2820-2832.
[7]付印金,肖儂,劉芳. 數(shù)據(jù)去重關(guān)鍵技術(shù)研究進展[J]. 計算機研究與發(fā)展,2012,49(1):12-20.
[8]咸鶴群,劉紅燕,張曙光,等.可驗證的云存儲安全數(shù)據(jù)刪重方法[J].軟件學(xué)報,2020,31(2):455-470.
[9]STANEK J,SORNIOTTI A,ANDROULAKI E,et al. A secure data deduplication scheme for cloud storage[C]// Proceedings of the 18th International Conference on Financial Cryptography and Data Security. Berlin: Springer,2014: 99-118.
[10] 張曙光,咸鶴群,王雅哲,等.基于離線密鑰分發(fā)的加密數(shù)據(jù)重復(fù)刪除方法[J].軟件學(xué)報,2018,29(7):66-72.
[11] KOO D,HUR J. Privacy-preserving deduplication of encrypted data with dynamic ownership management in fog computing[J]. Future Generation Computer Systems, 2018,78: 739-752.
[12] 劉紅燕,咸鶴群,魯秀青,等. 基于用戶定義安全條件的可驗證重復(fù)數(shù)據(jù)刪除方法[J]. 計算機研究與發(fā)展, 2018, 55(10): 2134-2148.
[13] 敖莉,舒繼武,李明強,等. 數(shù)據(jù)去重技術(shù)[J]. 軟件學(xué)報,2010,21(5):916-929.
[14] 程思嘉,張昌宏,潘帥卿.基于 CP-ABE 算法的云存儲數(shù)據(jù)訪問控制方案設(shè)計[J].信息網(wǎng)絡(luò)安全, 2016(2):1-6.
[15] CUI H,DENG R H,LI Y,et al. Attribute-based storage supporting secure deduplication of encrypted data in cloud[J]. IEEE Transactions on Big Data,2017,5(3):330-342.
[16] 高原,咸鶴群,穆雪蓮,等. 基于閾值自適應(yīng)調(diào)整的重復(fù)數(shù)據(jù)刪除方案[J]. 青島大學(xué)學(xué)報(自然科學(xué)版),2019,32(4):36-39.