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