本發(fā)明屬于計算機網(wǎng)絡技術領域,特別是一種基于多租戶的虛擬機在云數(shù)據(jù)中心安全配置的方法。
背景技術:
云計算使用互聯(lián)網(wǎng)數(shù)據(jù)中心作為基本的基礎設施,為住戶提供各種應用。一個大型的互聯(lián)網(wǎng)數(shù)據(jù)中心可能包括超過一百個虛擬機支架,每個支架通常包括約20個物理機。這些物理機由專用的高速數(shù)據(jù)中心網(wǎng)絡互聯(lián),用戶對云系統(tǒng)資源的請求可能會在任何時間到達。。虛擬機的配置一直是在以基礎設施作為服務的云計算系統(tǒng)中的一個基本問題。一般來說,租戶在云計算系統(tǒng)部署應用程序前,需要云數(shù)據(jù)中心的虛擬機能夠滿足應用程序的需求。然后,云系統(tǒng)的資源管理器為每個請求的虛擬機分配相應的物理資源。因此,虛擬機的分配算法對云系統(tǒng)的許多方面有著直接的影響,例如資源的利用率,應用程序的性能,滿足租戶要求的能力。
目前,大多數(shù)的研究主要集中在虛擬機針對個人租戶的分配,而不考慮多個租戶。此外,現(xiàn)有的虛擬機配置方法通常有缺陷。例如在分配的過程中趨向于在虛擬機上提供更多的免費資源,這樣的結果導致云數(shù)據(jù)中心產(chǎn)生大量的資源碎片,使資源不能被有效的使用,從而影響了整體資源的利用率。當處理用戶的請求時,當前的虛擬機分配算法通常專注于當前最佳的解決方案,而忽略了對租戶請求達到后的影響。因此,當前的算法因為無法更好的處理后續(xù)請求和沒有考慮到全局,導致了服務質量不穩(wěn)定,并且不同用戶之間的服務質量差異較大。
當前主流的分層數(shù)據(jù)中心的典型架構中,最高的是路由器,它是與外界交互的數(shù)據(jù)中心。在底部的一般是物理機,被放置在架子上。每個架子都有一個頂部開關。通常,在數(shù)據(jù)中心的頂部和底部之間有幾層切換裝置。理想的做法是將租戶要求的虛擬機建在同一個物理機或支架上。然而,同一個點或支架資源可能不足以滿足多租戶的需求。此外,住戶減少一些資源或云系統(tǒng)的工作完成后,造成大量的系統(tǒng)資源碎片云。
技術實現(xiàn)要素:
本發(fā)明的目的在于提供一種高效、安全的基于多租戶的虛擬機在云數(shù)據(jù)中心配置的方法,以提高資源的利用率,應用程序的性能,以及提升用戶的服務質量。
實現(xiàn)本發(fā)明目的的技術解決方案為:一種基于多租戶的虛擬機在云數(shù)據(jù)中心安全配置的方法,包括以下步驟:
步驟1,智能集中控制器收集云數(shù)據(jù)中心的閑置資源,資源為云系統(tǒng)中可以被用戶申請利用的虛擬機;
步驟2,智能集中控制器收集用戶設備的資源使用申請;
步驟3,智能集中控制器采用人工魚群算法對所有用戶申請的虛擬機資源進行安全分配。
進一步地,步驟2中所述的資源使用申請包括用戶設備所需的時間比例,用戶設備所需的資源數(shù)的多少,用戶設備所需的最小速率。
進一步地,步驟3中所述的智能集中控制器采用人工魚群算法對所有用戶申請的虛擬機資源進行安全分配,具體步驟如下:
步驟3.1,智能集中控制器初始化人工魚群算法的參數(shù);
步驟3.2,計算出最優(yōu)魚位置及最優(yōu)值,記錄于公告板;
步驟3.3,對每條人工魚,選擇聚群行為,追尾行為,覓食行為中的最優(yōu)行為執(zhí)行;
步驟3.4,計算每條人工魚新的位置及適應度函數(shù)值,更新公告板;
步驟3.5,判斷是否達到算法終止條件,若未達到則返回步驟3.2,若達到則進入下一步;
步驟3.6,得到適應度函數(shù)最優(yōu)值即最優(yōu)人工魚位置;
步驟3.7,重復步驟3.2~3.6ng次,所得的適應度函數(shù)的最優(yōu)值即為虛擬機資源進行安全分配的最優(yōu)結果,ng表示人工魚群算法的最大迭代次數(shù)。
進一步地,步驟3.1中所述的參數(shù)包括:人工魚個體表示為xi,i=1,2,…,n,其中xi為欲尋優(yōu)變量;各人工魚所在位置的食物濃度用待尋優(yōu)函數(shù)的值y=f(x)表示;人工魚個體之間的距離為dij=||xi-xj||;人工魚每次移動的最大試探次數(shù)為trynumber;人工魚的感知距離即視野為visual;人工魚的步長為step;擁擠度因子為δ。
進一步地,人工魚群算法的具體過程為:
首先,計算出最優(yōu)魚位置及最優(yōu)值,記錄于公告板;
其次,對每條人工魚,選擇聚群行為,追尾行為,覓食行為中的最優(yōu)行為執(zhí)行,以下是三種行為的具體判斷過程:
執(zhí)行覓食行為即af_prey:設人工魚i的當前位置xi,在其感知距離內隨機選擇一位置xj;求極小值問題中,當yi>yj時,向xj方向前進;否則,重新選擇位置xj,判斷是否yi>yj;其中yi表示當前位置xi的食物濃度值,yj表示當前位置xj的食物濃度值;若反復嘗試trynumber次后,仍然不滿足前進條件,則隨機移動一步;
執(zhí)行聚群行為即af_swarm:設人工魚i的當前位置xi,搜索當前鄰域內即dij<visual的伙伴數(shù)目nf,計算中心位置xc,如果ycnf<yi,則人工魚i朝中心方向前進一步;否則執(zhí)行覓食行為,其中ycnf表示當前伙伴數(shù)目的食物濃度值;
執(zhí)行追尾行為即af_follow:設人工魚i的當前位置xi,搜索當前鄰域內即dij<visual的伙伴中yj最小的伙伴xj,如果yfnf<yi,則人工魚i朝xj方向前進一步;否則執(zhí)行覓食行為,其中yfnf表示當前追尾伙伴數(shù)目的食物濃度值;
然后,根據(jù)每條魚移動后的位置及適應度函數(shù)值,更新公告板;
最后,設置迭代次數(shù)為ng,當執(zhí)行完固定的次數(shù)即ng次時停止,此時得到的結果視為最優(yōu)結果。
本發(fā)明與現(xiàn)有技術相比,其顯著優(yōu)點在于:(1)虛擬機的分配基于多租戶的虛擬機在云數(shù)據(jù)中心安全配置的方法,滿足多租戶虛擬機的安全分配;(2)采用人工魚群算法對所有用戶申請的虛擬機資源進行分配,充分的利用了云數(shù)據(jù)中心的資源;(3)采用人工智能的算法,更貼近實際,提升了用戶的服務質量。
下面結合說明書附圖詳細描述本發(fā)明提供的基于多租戶的虛擬機在云數(shù)據(jù)中心安全配置的方法。
附圖說明
圖1為本發(fā)明基于多租戶的虛擬機在云數(shù)據(jù)中心安全配置的方法的流程圖。
圖2為本發(fā)明資源分配的安全模型的示意圖
圖3為本發(fā)明基于分層遞進多背包算法的資源分配方法示意圖。
具體實施方式
結合圖1,本發(fā)明基于多租戶的虛擬機在云數(shù)據(jù)中心安全配置的方法,包括以下步驟:
步驟1,智能集中控制器收集云數(shù)據(jù)中心的閑置資源,資源為云系統(tǒng)中可以被用戶申請利用的虛擬機;
結合圖2,步驟2,智能集中控制器收集用戶設備的資源使用申請;
進一步地,步驟2中所述的資源使用申請包括用戶設備所需的時間比例,用戶設備所需的資源數(shù)的多少,用戶設備所需的最小速率。
結合圖3,步驟3,智能集中控制器采用人工魚群算法對所有用戶申請的虛擬機資源進行安全分配,具體過程如下:
步驟3.1,智能集中控制器初始化人工魚群算法的參數(shù);
所述的參數(shù)包括:人工魚個體表示為xi,i=1,2,…,n,其中xi為欲尋優(yōu)變量;各人工魚所在位置的食物濃度用待尋優(yōu)函數(shù)的值y=f(x)表示;人工魚個體之間的距離為dij=||xi-xj||;人工魚每次移動的最大試探次數(shù)為trynumber;人工魚的感知距離即視野為visual;人工魚的步長為step;擁擠度因子為δ。
步驟3.2,計算出最優(yōu)魚位置及最優(yōu)值,記錄于公告板;
步驟3.3,對每條人工魚,選擇聚群行為,追尾行為,覓食行為中的最優(yōu)行為執(zhí)行;
步驟3.4,計算每條人工魚新的位置及適應度函數(shù)值,更新公告板;
步驟3.5,判斷是否達到算法終止條件,若未達到則返回步驟3.2,若達到則進入下一步;
步驟3.6,得到適應度函數(shù)最優(yōu)值即最優(yōu)人工魚位置;
步驟3.7,重復步驟3.2~3.6ng次,所得的適應度函數(shù)的最優(yōu)值即為虛擬機資源進行安全分配的最優(yōu)結果,ng表示人工魚群算法的最大迭代次數(shù)。
作為一種具體示例,步驟3.2~3.7所述人工魚群算法的具體過程如下:
首先,計算出最優(yōu)魚位置及最優(yōu)值,記錄于公告板;
其次,對每條人工魚,選擇聚群行為,追尾行為,覓食行為中的最優(yōu)行為執(zhí)行,以下是三種行為的具體判斷過程:
執(zhí)行覓食行為(af_prey):設人工魚i的當前位置xi,在其感知距離內隨機選擇某一位置xj,如式(1)所示。求極小值問題中(極大值問題結論類似,此處以極小值為例),當yi>yj時,向xj方向前進;否則,重新選擇位置xj,判斷是否yi>yj;其中yi表示當前位置xi的食物濃度值,yj表示當前位置xj的食物濃度值;若反復嘗試trynumber次后,仍然不滿足前進條件,則隨機移動一步。數(shù)學表達式如式(2)所示:
xj=xi+visual*rand(1)
ifyi>yj:xi_next=xi+rand*step*(xj-xi)/dij
ifyi≤yj:xi_nex=xi+rand*step(2)
執(zhí)行聚群行為(af_swarm):設人工魚i的當前位置xi,搜索當前鄰域內(dij<visual)的伙伴數(shù)目nf,計算中心位置xc,如果ycnf<yi,表明伙伴中心食物較少且不太擁擠,人工魚i朝中心方向前進一步;否則執(zhí)行覓食行為,其中ycnf表示當前伙伴數(shù)目的食物濃度值;數(shù)學表達式如式(3)所示:
ifycnf<yi:xi_next=xi+rand*step*(xj-xi)/||xc-xi||(3)
ifyi≥ycnf:af_prey
執(zhí)行追尾行為(af_follow):設人工魚i的當前位置xi,搜索當前鄰域內(dij<visual)的伙伴中yj最小的伙伴xj,如果yfnf<yi,表明xj處食物濃度較低且周圍不太擁擠,則人工魚i朝xj方向前進一步;否則執(zhí)行覓食行為,其中yfnf表示當前追尾伙伴數(shù)目的食物濃度值;數(shù)學表達式如式(4)所示:
ifyfnf<yi:xi_next=xi+rand*step*(xj-xi)/||xj-xi||(4)
ifyfnf≥yi:af_prey
綜上所述,通過對魚群的位置優(yōu)化,就可以實現(xiàn)擬機資源的安全分配。