譚 印,蘇雯潔
(桂林電子科技大學,廣西 北海536000)
云計算最顯著的特色就是對資源和服務的虛擬處理,現如今越來越多的IT企業都在效仿云數據模式路線,它所消耗的能量也是有目共睹的,不光是企業,就連相關政府部門也開始關心并研究云數據能量低耗的問題[1-3],這就需要借助云計算虛擬機遷移模型這項技術,它是當前高效利用云端資源和低能耗的尖端技術。眾所周知,無論是資源還是服務的虛擬化,操作者對它們的搜索都是極其便捷的,但由于虛擬機的各項策略還是或多或少地對整個平臺的性能產生了一定程度的影響,因此,虛擬機遷移模型的重要性顯而易見[4]。虛擬機遷移是在保證云計算中心能順利提供幫助的條件下,在有限的時間里,把虛擬機的相關節點進行遷移,以此來減少各個節點的超負載,并有效減少云計算中心能量的耗用。
劉開南[5]等人設計了一種云數據中心基于遺傳算法的虛擬機遷移模型,構建虛擬機遷移時間消耗模型,結合該模型通過全局遺傳算法對虛擬機遷移進行優化。以某企業的數據中心作為對象,采用該方法對遷移效果進行測試,結果表明;該方法可以有效降低虛擬機的遷移次數,降低了物理主機的使用頻率。張智俊[6]等人提出了基于LP&GR算法的多優先級虛擬機遷移方法,對虛擬機的負載狀態進行預測,以此來降低虛擬機過載概率。構建決策分配模型,結合LP&GR算法設計多個優先級,以此來保證虛擬機的有序遷移。分析實驗結果可知,該方法可以提高虛擬機的負載均衡性能。上述方法雖然在一定程度上實現了虛擬機遷移的優化,但是均不適用于跨數據虛擬機遷移。為此研究基于深度哈希算法的云計算虛擬機遷移模型,降低跨數據虛擬機遷移的帶寬開銷。深度哈希算法具備較優的圖像檢索功能,在云計算領域應用廣泛。
利用深度哈希算法提取基本鏡像的類似程度,依據基本鏡像的類似程度構建哈希圖。該方法主要包含無監督階段與有監督階段[7,8],第一種階段利用棧式自動編碼神經網絡(Stacked Autoencoder,SA)學習深度卷積神經網絡(DCNN)的初始參數,通過逐層貪婪訓練法學習SA的參數,作為有監督階段的優化參數。
2.1.1 無監督階段
利用SA學習DCNN的初始參數,SA中包含數層稀疏編碼器,其中下一層的輸入均為上一層的輸出,編碼操作為依據上下次序運行各層自編碼器;解碼操作為依據上述操作的相反方向展開解碼;該編碼器的操作原理如圖1所示。

圖1 編碼器操作原理
SA的訓練方式是按照上下順序對每一層展開訓練,SA的首層參數是通過原始數據獲取的,并將其轉換成向量傳遞至下一層,作為其輸入,隨即展開訓練;直到全部編碼器訓練結束后,在分類器中輸入最終的特征。
2.1.2 有監督階段
SA網絡訓練結束后,利用存在標簽的樣本對SA展開有監督調整,其調整幅度較小,確保基本鏡像在漢明空間內依舊存在較高的類似程度。為了獲取虛擬機鏡像樣本,可以參考目標函數優化思想,建立一個目標函數,運用優化求解的方式獲取具有高置信度的有效標簽,即虛擬機鏡像樣本標簽。然后,通過基本鏡像屬性間的語義類似程度確定樣本對A的標簽,A的取值區間是A∈[0,1],令A的權值與基本鏡像屬性類似程度成反比,通過對比損失函數改進有監督階段的參數。
令樣本(x1,x2)∈X,A∈[0,1],存在標簽的訓練基本鏡像為X,訓練標簽是Y。樣本對映射空間的歐式距離為
(1)
其中,映射函數是FW。
有監督階段的損失函數表達公式如下
(2)

有監督階段的調整步驟如下
步驟1:利用語義標簽學習各輸入樣本,按照標簽語義的類似程度得到A的權值,按照順序訓練全部樣本,獲取樣本訓練集;
步驟2:迭代計算,以全部收斂為止。
(3)
在Y的權值大于0.5的情況下,以優化W的方式延長歐式距離dW,依舊利用式(3)展開運算。采用最小化映射函數的方式,完成輸出空間中各樣本點間dW的縮短與延長。
2.1.3SA二值化
通過閾值法二值化處理SA內的特征,使其變成二值特征,節省存儲空間[9],縮短運算時間。SA中的Tanh函數的輸出表達公式如下
(4)
SA最終輸出值的區間為[-1,1]。
通過分析每維基本景象數據的統計特征,利用式(5)展開閾值分割,公式如下
(5)

2.1.4 算法流程
深度哈希算法的步驟為:
步驟1:在DCNN網絡中輸入原始基本鏡像數據集,得到基本鏡像的特征;
步驟2:訓練SA,通過閾值法得到二進制哈希碼;
步驟3:依據二進制哈希碼獲取屬性相近的基本鏡像數據集;
步驟4:語義分析屬性相近基本鏡像數據集的標簽,得到標簽近似權值;
步驟5:按照基本鏡像對的語義類似程度,更改SA參數;
步驟6:求解漢明距離,獲取基本鏡像的類似程度;
步驟7:依據基本鏡像的類似程度構建哈希圖。
2.2.1 模型架構
云計算虛擬機遷移模型的架構如圖2所示。

圖2 云計算虛擬機遷移模型架構
根據圖2可知,在基于深度哈希算法的云計算虛擬機遷移模型中令各數據中心均存在一個MA,其作用是通過虛擬機遷移服務實現不同數據中心的遷移。依據各數據中心中的MA實現云計算虛擬機遷移過程中的信息交互[10],以及共享虛擬機鏡像過程中的信息交互。同時,操作者通過下載與利用共享存儲池中的基本鏡像,可以完成云計算虛擬機的遷移。
2.2.2 存儲單元
利用哈希圖存儲虛擬機的基本鏡像,云計算虛擬機的遷移請求叫作一次事件,在構建新的虛擬機情況下,宿主機會傳輸請求至MA,由存儲單元完成存儲功能。在基本鏡像發送至共享存儲池時,該鏡像僅具備只讀功能。在存儲單元中不僅存儲基本鏡像副本及其散列值,還存儲由深度哈希算法獲取的彼此間類似程度。除MA以外的其余單元均不具備傳遞虛擬機鏡像功能。存儲單元的操作步驟如下:
步驟1:生成一次事件,即構建一個新的虛擬機;
步驟2:觀察共享存儲池內有無與該事件對應的基本鏡像,如果有與該事件對應的基本鏡像,那么執行步驟3,反之,安裝基本鏡像,同時傳遞請求至MA,并傳輸至共享存儲池內,設置公開條件;
步驟3:主機傳遞請求至MA,利用MA求解步驟2內基本鏡像的散列值,存儲于本地數據中心;
步驟4:將上述事件傳遞至剩余數據中心的MA,實際上是將各基本鏡像間的類似程度傳遞出去;
步驟5:利用深度哈希算法構建哈希圖;
步驟6:該事件在哈希圖內達成一致,在固定時間中,通過每個MA優化本地哈希圖。
2.2.3 遷移請求階段
遷移單元的作用是傳遞基本鏡像,實現信息交互。發送虛擬機遷移請求時,利用MA決定需要遷移的鏡像數據,其步驟為:
步驟1:源主機接收虛擬機遷移請求時,傳遞請求至本地MA,MA搜索整個哈希圖文件,對比分析發送請求的遷移虛擬機和目標數據中心的鏡像散列值;
步驟2:塑造臨時標志位存儲發送請求的遷移虛擬機的鏡像散列值,目的是避免存儲重復信息,如果目標數據中心存在該鏡像散列值,那么將該標志位記作1,如果目標數據中心不存在該鏡像散列值,那么將其記作0,將標記結果與該虛擬機的基本鏡像和目標數據中心的基本鏡像間的類似程度信息傳遞至源主機;
步驟3:源主機將接收的信息發送至目標主機,目標主機確定信號后,便可展開遷移操作。由源主機向目標主機傳遞信息的作用確保遷移的鏡像相同,原因是每個數據中心的MA間的哈希圖副本完全相同,僅有這兩個主機的基本鏡像類似程度信息相同,才能確保遷移操作的順利執行。
步驟4:確定執行虛擬機遷移后,通過MA傳遞存在0與1標記結果的鏡像數據塊和鏡像散列值到目標主機。
2.2.4 遷移過程
云計算虛擬機遷移過程步驟如下:
步驟1:遷移基本鏡像;
步驟2:遷移操作者數據,依據快照方法遷移該數據,縮短遷移時間;
步驟3:遷移內存數據,利用預復制方法遷移該數據,遷移前提是結束操作者數據遷移;
步驟4:在迭代副本符合終止閾值的情況下,虛擬機在源站點停止運轉,目標站點開始啟動。
仿真中有50個數據中心,各數據中心分別存在2個服務器,分別是虛擬機的宿主機與遷移代理主機。實驗中遷移云計算虛擬機間基本鏡像的類似程度是(m,n),基本鏡像存儲結構遷移虛擬機操作系統鏡像間的類似程度是m,工作環境鏡像間的類似程度是n。
選取云數據中心遺傳算法遷移模型(文獻[5])與LP&GR算法遷移模型(文獻[6])作為本文模型的對比模型,利用三種模型在不同類似程度以及不同負載情況下,分別同時遷移50個虛擬機,對比分析三種模型遷移過程中的總遷移時間與網絡流量,不同負載編號及含義如表1所示,對比分析結果如表2所示。

表1 不同負載的詳細信息

表2 對比分析結果
根據表2可知,在負載相同時,三種模型的總遷移時間均隨著類似程度的提升而逐漸降低,本文模型的下降幅度最大,總遷移時間最低;在類似程度相同時,三種模型的總遷移時間均隨著負載的提升而逐漸提升,本文模型的總遷移時間依舊最低。原因是本文模型利用深度哈希算法構建的哈希圖具備迅速共享策略,不用反復求解數據,縮短了遷移時間。在負載相同時,三種模型的網絡流量均隨著類似程度的提升而逐漸下降,在類似程度相同時,三種模型的網絡流量均隨著負載的提升而逐漸提升,在不同情況下,本文模型的網絡流量均最低,說明本文方法的帶寬開銷最小。實驗證明:本文模型在同時遷移多個虛擬機時的總遷移時間最小,網絡流量最低即帶寬開銷最小,具備較優的跨數據中心虛擬機遷移性能。
以基本鏡像類似程度是(5%,5%)以及負載編號是Ⅲ為例,原因是這種情況下所需遷移的基本鏡像數據量最高,在遷移啟動一定時間后,對三種模型的遷移過程展開攻擊,測試三種模型延長的遷移時間,分析三種模型抵御攻擊的性能,延長的遷移時間測試結果如圖3所示。

圖3 延長的遷移時間測試結果
根據圖3可知,在抵御攻擊時,三種模型均存在延長的遷移時間,本文模型延長的遷移時間波動區間為0.80~0.86s,其余兩種模型延長的遷移時間波動區間分別為0.83~0.90s、0.84~0.89s。實驗證明:本文模型抵御攻擊時遷移時間延長的幅度較小,說明本文模型具備較優的抵御攻擊性能。
分析三種模型在遷移不同虛擬機數量時的能量消耗與SLA違反率如表3所示。
根據表3可知,隨著虛擬機數量的增加,本文模型的平均能量消耗最低;SLA違反率隨虛擬機數量增加的變化幅度較小,其余兩種模型的SLA違反率變化幅度較大。實驗證明:本文模型的能量消耗最低,其SLA違反率最低且較為平穩,有效提升QoS服務質量要求。

表3 能量消耗與SLA違反率
針對云計算平臺數據中心的能量消耗高與QoS服務質量低的問題,研究基于深度哈希算法的云計算虛擬機遷移模型,縮短虛擬機遷移時間,提升遷移過程的抵御攻擊能力。本文模型不僅適用于遷移單個虛擬機,還適用于跨數據中心虛擬機遷移,確保數據傳輸的安全性,在后續研究中將其廣泛應用于云計算的各種領域中。