楊麗華,鄂晶晶,馮 鋒
(1. 呼倫貝爾學(xué)院計(jì)算機(jī)學(xué)院,內(nèi)蒙古 呼倫貝爾 021000;2. 寧夏大學(xué)信息工程學(xué)院,寧夏 銀川 750021)
Internet技術(shù)的快速發(fā)展下,各個(gè)類型的數(shù)據(jù)和信息均呈爆炸式增加,任務(wù)數(shù)據(jù)不斷增加。因此,如何有效保存數(shù)據(jù)成為網(wǎng)絡(luò)發(fā)展過程中的重要問題。現(xiàn)階段,大部分網(wǎng)絡(luò)均采用的存儲策略為全部數(shù)據(jù)單獨(dú)存儲[1,2],將其作為一個(gè)項(xiàng)目展開相關(guān)的管理工作。云存儲具有傳統(tǒng)存儲技術(shù)不可代替的優(yōu)勢,分別為安全性高以及通用性強(qiáng)等,同時(shí)通過云存儲還可以有效減少各個(gè)系統(tǒng)的運(yùn)行成本,提升企業(yè)的運(yùn)行效率。
和傳統(tǒng)的存儲計(jì)算相比,云存儲占據(jù)明顯優(yōu)勢。國內(nèi)相關(guān)專家也針對該方面的內(nèi)容展開了大量研究,例如李根[3]主要通過網(wǎng)絡(luò)處理技術(shù)以及電子信息技術(shù)完成數(shù)據(jù)存儲,通過云計(jì)算技術(shù)的分析,為后期進(jìn)一步促進(jìn)計(jì)算機(jī)云計(jì)算數(shù)據(jù)儲存技術(shù)的提升奠定基礎(chǔ)。周由勝等人[4]通過橢圓曲線組建基于密文策略的屬性基加密完成訪問控制,引入?yún)^(qū)塊鏈技術(shù)完成數(shù)據(jù)安全存儲以及刪除。謝鵬等人[5]將關(guān)系型數(shù)據(jù)庫存儲模式轉(zhuǎn)換為HBase存儲模式,以此為依據(jù)構(gòu)建基于空間矢量數(shù)據(jù)的HBase存儲模型,通過模型完成數(shù)據(jù)存儲工作。
雖然上述方法均已經(jīng)取得了較好的研究成果,但是,云計(jì)算任務(wù)之間的差異性是完成數(shù)據(jù)存儲的關(guān)鍵因素,因此,為進(jìn)一步實(shí)現(xiàn)數(shù)據(jù)的節(jié)能化存儲,在以上幾種算法的基礎(chǔ)上,本研究提出一種差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲算法。經(jīng)實(shí)驗(yàn)測試結(jié)果表明,所提算法能夠全面提升存儲容量以及系統(tǒng)利用率,同時(shí)還能夠有效縮短平均響應(yīng)時(shí)間。
通過局部特征分析方法,可以得到差異性云計(jì)算下任務(wù)數(shù)據(jù)節(jié)能式存儲中各個(gè)類型冗余數(shù)據(jù)的主要特征,將全部特征作為后期分類處理的重要依據(jù)。由于網(wǎng)絡(luò)在使用過程中會有一定程度的延遲,所以,以下通過最優(yōu)分類超平面對差異性云計(jì)算任務(wù)數(shù)據(jù)中的冗余數(shù)據(jù)分類處理[6,7],將冗余數(shù)據(jù)分類問題轉(zhuǎn)換為最優(yōu)平面求解問題R(t),具體的計(jì)算式為
(1)
式中,βi,j代表判別函數(shù);αi,j代表分類閾值;(x,y)代表網(wǎng)絡(luò)節(jié)點(diǎn)的坐標(biāo)位置;i和j分別代表不同的節(jié)點(diǎn)。
其中,最優(yōu)超平面求解問題必須滿足式(2)中的約束條件
(2)
式中,p代表常數(shù)。
如果差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲中冗余數(shù)據(jù)特征沒有滿足實(shí)際需求,需要對其轉(zhuǎn)換處理。主要借助最優(yōu)分類超平面求解,設(shè)定內(nèi)積為N(x,y),則對應(yīng)的轉(zhuǎn)換結(jié)果為
(3)
最優(yōu)分類函數(shù)可以表示為式(4)的形式
(4)
式中,H(x,y)代表最優(yōu)分類函數(shù);m代表類別屬性。
根據(jù)式(4)可以獲取冗余數(shù)據(jù)片段,最優(yōu)分類平面算法主要是針對各個(gè)類型的冗余數(shù)據(jù)片段劃分。優(yōu)先分析不同冗余數(shù)據(jù)的屬性,以數(shù)據(jù)為依據(jù)將其轉(zhuǎn)換為二分類,同時(shí)對其詳細(xì)求解,最終將提取的冗余數(shù)據(jù)刪除。由于云計(jì)算下任務(wù)數(shù)據(jù)的冗余刪除具有一定的難度,同時(shí)冗余數(shù)據(jù)的特征值十分多,需要采用一對一的分類方式完成冗余數(shù)據(jù)的刪除操作[8,9]。
通過基于遺傳算法的冗余數(shù)據(jù)分配算法展開冗余數(shù)據(jù)的分類處理,詳細(xì)的操作流程如圖1所示:
1)根據(jù)實(shí)際需求,需要優(yōu)先設(shè)定冗余數(shù)據(jù)的進(jìn)化參數(shù)。
2)采用二進(jìn)制中的串結(jié)構(gòu)數(shù)據(jù)分別描述不同類型的冗余數(shù)據(jù)片段。
3)通過選育方式對全部群體初始化處理,同時(shí)提取通信代價(jià)最小的前n個(gè)個(gè)體,進(jìn)而構(gòu)建初始種群,確保群體內(nèi)個(gè)體的優(yōu)秀水準(zhǔn)。
4)計(jì)算群體內(nèi)不同個(gè)體的通信代價(jià),通信代價(jià)對應(yīng)的導(dǎo)數(shù)即為各個(gè)個(gè)體的適應(yīng)度取值。
5)通過冗余數(shù)據(jù)分類算法將最優(yōu)存儲數(shù)據(jù)和數(shù)據(jù)選擇兩者綜合處理,完成最優(yōu)個(gè)體選擇操作。
6)對全部個(gè)體交叉處理。
7)對全部個(gè)體變異處理。
8)判斷是否滿足停止準(zhǔn)則,假設(shè)滿足,則直接輸出差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲中冗余數(shù)據(jù)分類結(jié)果;反之,則跳轉(zhuǎn)至步驟(1)。
根據(jù)差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲中的冗余數(shù)據(jù)分類結(jié)果,將無利用價(jià)值的任務(wù)數(shù)據(jù)刪除,最終完成冗余數(shù)據(jù)刪除處理。
空間數(shù)據(jù)模型是完成任務(wù)數(shù)據(jù)節(jié)能式存儲的重要基礎(chǔ)[10,11],也就是構(gòu)建數(shù)據(jù)庫的核心。針對任務(wù)數(shù)據(jù)的特點(diǎn),需要設(shè)定不同的分塊方式,具體如下所示:
1)固定字節(jié)長度分塊方式
長度的設(shè)定是通過相關(guān)先驗(yàn)知識確定,和任務(wù)數(shù)據(jù)的存儲內(nèi)容并沒有存在實(shí)際關(guān)聯(lián),具有操作簡單以及計(jì)算速度快等優(yōu)勢。其中,固定長度分塊方式更加適用于柵格數(shù)據(jù)集以及對象數(shù)據(jù)集。通過式(5)計(jì)算不同數(shù)據(jù)塊對應(yīng)的序號
(5)
上式中,Block(kid)代表數(shù)據(jù)塊序號;offset代表文件頭的字節(jié)總數(shù);blocksize代表字節(jié)長度。
(2)數(shù)據(jù)差異性分塊
通過從上到下以及從左到右的順序?qū)θ蝿?wù)數(shù)據(jù)劃分處理。同時(shí)采用差異性排序的方式對各個(gè)數(shù)據(jù)塊編碼處理。其中,各個(gè)數(shù)據(jù)塊的編號LBlock(kid)可以通過(6)展開計(jì)算:
(6)
上式中,gridwidth和grideigth分別代表數(shù)據(jù)存儲差異性分塊的寬度以及高度;width代表數(shù)據(jù)存儲原始寬度。
(3)數(shù)據(jù)特征分塊
分析高分?jǐn)?shù)據(jù)特征,引入面向?qū)ο笏枷氤橄蟮臄?shù)據(jù)管理方式,通過不同的任務(wù)數(shù)據(jù)類型選擇對應(yīng)的數(shù)據(jù)切分模型,分析數(shù)據(jù)存儲特點(diǎn),以此為依據(jù),對任務(wù)數(shù)據(jù)存儲節(jié)點(diǎn)分配處理。
以下將任務(wù)數(shù)據(jù)作為研究對象,結(jié)合時(shí)空理論,設(shè)定對應(yīng)的數(shù)據(jù)對象,如式(7)所示:
Objectrs={ObjectRawImage,ObjectImage,ObjectVector}
(7)
上式中,Objectrs代表數(shù)據(jù)對象;ObjectRawImage代表初始任務(wù)數(shù)據(jù);ObjectImage代表產(chǎn)品數(shù)據(jù)對象;ObjectVector代表矢量數(shù)據(jù)。
在云計(jì)算平臺下,通過數(shù)據(jù)存儲技術(shù)可以全面提升資源的利用率,同時(shí)還能夠簡化數(shù)據(jù)動態(tài)遷移過程。為了建立虛擬服務(wù)器,首先需要虛擬化存儲節(jié)點(diǎn),對任務(wù)數(shù)據(jù)完成均衡分配。在虛擬服務(wù)器的內(nèi)部,主要通過直接尋址的方式管理任務(wù)數(shù)據(jù)。其中任務(wù)數(shù)據(jù)和初級任務(wù)數(shù)據(jù)的存儲只需要通過選擇合適的球面網(wǎng)格劃分標(biāo)準(zhǔn)即可。當(dāng)對原始任務(wù)數(shù)據(jù)展開切分處理,數(shù)據(jù)自身則不實(shí)行任何操作。
產(chǎn)品數(shù)據(jù)和任務(wù)產(chǎn)品數(shù)據(jù)兩者疊加應(yīng)用,具有優(yōu)勢互補(bǔ)性能。所以可以通過標(biāo)準(zhǔn)金字塔模型組織完成不同類型數(shù)據(jù)的結(jié)構(gòu)存儲。
在差異性云計(jì)算環(huán)境下,主要通過比較簡單的哈希取模法將任務(wù)數(shù)據(jù)分配到不同的存儲節(jié)點(diǎn),將數(shù)據(jù)的切片行列號相加處理,然后和存儲空間總數(shù)展開取模計(jì)算,確定任務(wù)數(shù)據(jù)的存儲位置。
對于云計(jì)算環(huán)境下的服務(wù)器虛擬化處理,可以將全部節(jié)點(diǎn)映射為多個(gè)虛擬節(jié)點(diǎn)。其中,虛擬節(jié)點(diǎn)和物理節(jié)點(diǎn)屬于多對一關(guān)系,將存儲系統(tǒng)的一致性哈希環(huán)形存儲空間劃分為多個(gè)等份,同時(shí)提取任務(wù)數(shù)據(jù)特征,經(jīng)過計(jì)算獲取一致性哈希函數(shù),如式(8)所示:
J=hash(ObjectRawImage)
(8)
式中,J代表一致性哈希函數(shù);hash代表存儲節(jié)點(diǎn)數(shù)量。
在采用一致性哈希算法后,需要從根本解決任務(wù)數(shù)據(jù)節(jié)能式存儲問題。當(dāng)系統(tǒng)內(nèi)加入全新節(jié)點(diǎn)后,需要將原始兩個(gè)節(jié)點(diǎn)之間的哈希空間分裂處理,進(jìn)而加入全新的節(jié)點(diǎn),這樣可以確保在存儲器出現(xiàn)異常時(shí),不會出現(xiàn)數(shù)據(jù)大規(guī)模遷移的情況,只需要維護(hù)出現(xiàn)變動的任務(wù)數(shù)據(jù)即可。
設(shè)定共有n臺服務(wù)器,根據(jù)設(shè)定參數(shù),獲取參數(shù)和服務(wù)器最大參數(shù)兩者之間的比值Cur(n),如式(9)所示
(9)
式中,Cur(n)代表參數(shù);Cumax代表服務(wù)器最大參數(shù)。
通過式(9)可以準(zhǔn)確分析集群服務(wù)器性能的強(qiáng)弱,引入加權(quán)平均法將全部任務(wù)數(shù)據(jù)整合處理,獲取對應(yīng)服務(wù)器的總體性能值Sr(n),如式(10)所示
(10)
式中,Mcr(n)代表第n臺服務(wù)器的利用率。
通過集群服務(wù)器統(tǒng)計(jì)的實(shí)時(shí)性能,可以獲取服務(wù)器的實(shí)際負(fù)載權(quán)重閾值,如式(11)所示
(11)
式中,ω(i,j)代表實(shí)際負(fù)載權(quán)重閾值。
通過分析任務(wù)數(shù)據(jù)的不同特征,結(jié)合云計(jì)算相關(guān)特點(diǎn)構(gòu)建任務(wù)數(shù)據(jù)節(jié)能式存儲模型,詳細(xì)的操作流程如圖1所示。
圖1 任務(wù)數(shù)據(jù)節(jié)能式存儲模型構(gòu)建流程圖
1)在數(shù)據(jù)中心分別接收不同類型的任務(wù)數(shù)據(jù),通過任務(wù)類型將數(shù)據(jù)分類處理,同時(shí)統(tǒng)一全部數(shù)據(jù)的時(shí)空基準(zhǔn)[12,13]。
2)提取差異性云計(jì)算任務(wù)數(shù)據(jù)的主要特征,將其作為服務(wù)器存儲的分散因子,經(jīng)過相關(guān)操作得到對應(yīng)的空間特征。
3)通過哈希一致性算法將服務(wù)器設(shè)定為存儲核心,通過動態(tài)分配策略將全部任務(wù)數(shù)據(jù)均勻分配到哈希環(huán)形空間內(nèi),同時(shí)根據(jù)提取的特征完成存儲服務(wù)器均勻分布處理[14,15]。
4)通過任務(wù)數(shù)據(jù)庫完成數(shù)據(jù)的采集以及管理等相關(guān)工作,結(jié)合數(shù)據(jù)庫組建不同任務(wù)數(shù)據(jù)之間的映射關(guān)系。
5)以任務(wù)數(shù)據(jù)之間的映射關(guān)系為依據(jù),構(gòu)建差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲模型,如式(12)所示
(12)
式中,Cubot(x,y)代表差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲模型。
將全部經(jīng)過冗余數(shù)據(jù)刪除的任務(wù)數(shù)據(jù)輸入到差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲模型模型,最終實(shí)現(xiàn)任務(wù)數(shù)據(jù)節(jié)能式存儲。
為了驗(yàn)證所提差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲算法的有效性,需要展開實(shí)驗(yàn)測試。對比方法為文獻(xiàn)[3]設(shè)計(jì)的基于計(jì)算機(jī)云計(jì)算的數(shù)據(jù)存儲算法和文獻(xiàn)[4]設(shè)計(jì)的基于區(qū)塊鏈的數(shù)據(jù)安全存儲算法。在設(shè)定客戶端數(shù)量下,分析三種不同算法的平均響應(yīng)時(shí)間,詳細(xì)的實(shí)驗(yàn)測試結(jié)果如圖2所示。
圖2 客戶端數(shù)量影響下不同算法平均響應(yīng)時(shí)間測試
通過分析圖2中的實(shí)驗(yàn)數(shù)據(jù)可知,在客戶端數(shù)量已知的情況下,各個(gè)算法的平均響應(yīng)時(shí)間也發(fā)生了比較明顯的變化。雖然所提算法的平均響應(yīng)時(shí)間也呈直線上升趨勢,但是變化幅度不大且響應(yīng)時(shí)間更短。
在以上實(shí)驗(yàn)分析的基礎(chǔ)上,分析用戶請求數(shù)量不斷增加情況下各個(gè)算法的平均響應(yīng)時(shí)間變化情況,詳細(xì)的實(shí)驗(yàn)測試結(jié)果如圖3所示。
圖3 用戶請求數(shù)量影響下不同算法平均響應(yīng)時(shí)間測試
由圖3中的實(shí)驗(yàn)數(shù)據(jù)可知,各個(gè)算法的平均響應(yīng)時(shí)間均會受到用戶請求數(shù)量的影響。但是在三種算法中,所提算法所受到的影響相對較小一些,同時(shí)平均響應(yīng)時(shí)間也更低一些。
綜合分析不同節(jié)點(diǎn)數(shù)量下各個(gè)算法的系統(tǒng)利用率情況,詳細(xì)的實(shí)驗(yàn)測試結(jié)果如表1所示。
表1 不同數(shù)據(jù)節(jié)點(diǎn)下不同算法的系統(tǒng)利用率測試
由表1中的實(shí)驗(yàn)數(shù)據(jù)可知,各個(gè)算法的系統(tǒng)利用率會不同程度受到數(shù)據(jù)節(jié)點(diǎn)數(shù)量的影響。但是相比另外兩種算法,所提算法的系統(tǒng)利用率明顯更高一些,進(jìn)一步驗(yàn)證了所提算法的優(yōu)越性。
為了分析不同算法的存儲性能,實(shí)驗(yàn)將存儲容量作為測試指標(biāo),詳細(xì)的實(shí)驗(yàn)測試結(jié)果如圖4所示。
圖4 不同算法的最大存儲容量測試
分析圖4中的實(shí)驗(yàn)數(shù)據(jù)可知,由于所提算法在差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲前期實(shí)行了冗余任務(wù)數(shù)據(jù)刪除操作,將全部無利用價(jià)值的冗余數(shù)據(jù)刪除,全面降低了數(shù)據(jù)存儲量,同時(shí)優(yōu)化了存儲容量,促使所提方法可以更好完成數(shù)據(jù)存儲,具有較大的存儲容量。
為測試不同數(shù)據(jù)存儲算法的節(jié)能效果,采用數(shù)據(jù)存儲后網(wǎng)絡(luò)剩余能量與初始能量的比值作為測試指標(biāo),網(wǎng)絡(luò)剩余能量越高,即該比值越高,則說明數(shù)據(jù)存儲算法的節(jié)能效果越優(yōu)。具體測試結(jié)果如圖5所示。
圖5 不同算法應(yīng)用下網(wǎng)絡(luò)剩余能量對比測試
根據(jù)圖5可知,隨著云計(jì)算任務(wù)數(shù)據(jù)的存儲事件數(shù)量的增多,不同云計(jì)算任務(wù)數(shù)據(jù)存儲算法應(yīng)用下網(wǎng)絡(luò)剩余能量與初始總能量的比值出現(xiàn)降低,相比之下,研究算法的網(wǎng)絡(luò)剩余能量更高,當(dāng)云計(jì)算任務(wù)數(shù)據(jù)的存儲事件數(shù)量達(dá)2000個(gè)時(shí),網(wǎng)絡(luò)剩余能量與初始總能量的比值仍可達(dá)0.4,由此可知研究算法具有更理想的節(jié)能效果。
面對海量任務(wù)數(shù)據(jù),快速準(zhǔn)確完成數(shù)據(jù)存儲是研究的關(guān)鍵。為此,提出一種差異性云計(jì)算任務(wù)數(shù)據(jù)節(jié)能式存儲算法。經(jīng)過大量仿真對比和分析可知,所提算法可以有效減少平均響應(yīng)時(shí)間,提升系統(tǒng)利用率以及存儲容量,獲取更加滿意的存儲效果。
雖然現(xiàn)階段所提算法取得了比較滿意的研究成果,但是仍然存在不足,后續(xù)將針對以下幾方面的內(nèi)容展開研究:
1)擴(kuò)大研究范圍,針對復(fù)雜數(shù)據(jù)展開更加深入的研究。
2)現(xiàn)階段研究沒有考慮存儲開銷問題,后續(xù)將針對該方面內(nèi)容展開研究和分析。