張 晨,孫 鵬
(西安科技大學高新學院,陜西 西安 710109)
隨著網絡科技的發展,每天上網瀏覽的用戶越來越多,所留下的數據也愈發的龐大,由于普通的服務器空間、寬帶以及內存等配置較低,現階段管理規劃已達不到實際要求,而為了對這些數據進行處理,誕生了云平臺技術,該項技術是用硬件資源以及軟件資源的服務,滿足對數據提供存儲、網絡以及計算。而云平臺下的混合服務能夠靈活的進行增配,不會影響使用情況,并且還存在大量數據的處理能力,提供龐大的空間容量,沒有空間的限制[1]。
在網絡內一個節點就是一個連接點,代表一個再分發點或者是一個通信端點,其節點的定義主要是依賴網絡以及協議層,一個物理網絡節點就是一個能夠連接到網絡的有源電子設備,可以利用通信通道進行發送、轉發以及接收。所以無源分發點并不是節點。因各節點之間存在差異性,一旦某節點出現問題,需要及時處理。目前云平臺下的混合服務器應用于各種商業模式下,其用戶的要求多樣化、動態化和服務器自身的異構性,會致使其中的數據存在負載不均衡的情況,部分物理機器負載過重,其余物理機器處于空閑狀態,導致效率降低,因此需要利用負載均衡調度的方式,來調節物理機器之間的平衡,提高系統效率。傳統的負載均衡調度效果較差,不能夠完全的利用物理機器,達不到實際應用的效果。所以該項技術一直是國內外研究學者的重要挑戰。文獻[2]提出一種螢火蟲優化的分布式互聯網絡資源負載均衡分配方法,根據當前服務器的負載情況以及歷史數據來制定網絡資源調度的映射方案,給出網絡負載均衡分配問題的約束條件,將用戶任務完成時間最小作為資源負載均衡分配優化的目標函數,通過螢火蟲算法找到目標函數值最優的資源負載均衡分配策略。但是該方法的負載均衡調度效果較差、負載均衡度較低。文獻[3]提出了一種改進的負載均衡算法,該算法實時采集節點服務器的CPU使用率和內存占用率,綜合計算出節點負載,選取最小負載節點作為應用分配節點。但是該方法的系統執行作業耗時較長。
針對上述問題,本文提出一種云平臺下混合服務器差異節點負載均衡調度方法。該方法首先提取云平臺混合服務器的差異節點特征,再利用遺傳算法對其進行負載檢測,然后構建一個負載模型,通過神經網絡對該負載模型進行處理,實現負載均衡調度,最后通過仿真驗證了本文方法的有效性。
在云平臺下混合服務器的差異節點負載檢測流程時,首先要對混合服務器的節點目標負載特征進行提取,以此提供服務器的負載檢測基礎[4]。
云平臺混合服務器的差異節點目標特征建立集合,可以利用V表述,其表達式為
V={V1,V2,…,Vy}
(1)
式中:y代表用來表達全部服務器節點的負載目標特征個數。對服務器節點的負載目標特征提取時,要對負載目標特征的個數所組成的集合提取,同時依據以上公式可以得到不同服務器節點的負載目標特征權重Vl∈V,Yl(E),且能夠有效的進行排序,進而提取云平臺下混合服務器的差異節點負載目標特征X(E),其表達式為

(2)
式中:hl代表云平臺下的混合服務器的目標特征個數,R代表所有服務器的差異節點個數,yl代表服務器的節點負載能量數值[5]。
依據上述方法,可以基于得到的云平臺下混合服務器的差異節點負載目標特征,對前y個權重比較大的負載目標特征提取,主要表述此服務器所能夠覆蓋的區域位置,以此為云平臺下混合服務器差異節點的檢測提供了基礎[6]。
依據上述所提取的目標特征,采用遺傳算法,可以檢測云平臺下混合服務器的差異節點負載。在對其進行檢測時,采用自然數的編碼方式,可以設置染色體的路經以及長度個數。對云平臺下混合服務器的差異節點進行編號,把所有節點都作為一個目標特征遺傳算法內的染色體。其以上的流程內,染色體長度是已知的,而目標特征遺傳算子,只是一個變量[7]。
在正常情況下,要任意選擇一組染色體,來作為原始群體,其云平臺下混合服務器的差異節點數據信息傳輸路經編號所構建的集合,可以采用Rj進行表述,而其中,混合服務器的節點數據傳輸路經最大值,可以利用Yj表述,那么所有的服務器差異節點下的原始染色群體,都能夠利用(z1,z2,…,z|L|)表述。
對該混合服務器的差異節點進行負載檢測,可以轉換為一個極小值計算流程,因此需要采用以下的適應度函數來對節點負載檢測方法進行計算,具體公式為

(3)
在目標特征的遺傳算法中,其主要包括了變異、交叉以及選擇操作,把全部染色體當成交叉單點來進行變異,可以得到全新的染色體種群。
依據適應度函數可以判斷目前的染色體是否為最佳解。其檢測云平臺下混合服務器的差異節點負載的具體流程如下所示:
1)首先設置采用目標特征的遺傳算法,來對其原始化的負載進行檢測。在進行檢測時,計算含有種群內的染色體個數,變異與交叉處理概率,迭代操作的個數最大值。
2)依據適應度的函數,可以計算云平臺下混合服務器的差異節點負載檢測流程的染色體適應性值。
3)在依據染色體適應性的數值,以此對染色體進行變異、交叉以及選擇處理,可以得到全新染色體種群。
4)計算得到的全新種群子代個體適應性。
5)染色體的計數器個數設置可以利用u=0表述,其迭代的操作個數可以利用F表述。以此判斷得到的全新染色是否為最佳解,若是最佳解,那么對得到的結果保存;反之,需要執行u=u+1,重新返回至1),繼續計算。
6)如果檢測云平臺下混合服務器的差異節點負載,其迭代操作次數到達最大值,那么則需要執行5),且u=u+1;反之,則需要返回至2)繼續計算,一直得到最佳解[8]。
依據以上方法,能夠有效的檢測云平臺下混合服務器的差異節點負載情況。
為了對混合服務器的差異節點負載進行均衡調度,利用基于線性的時間序列的方式,構建一個負載模型,其本質上是利用足夠多的數值去模擬一個組數據,以此期望獲得最優擬合度[9]。
基于線性的時間序列方法模型,在網絡流量的變化穩定環境內,具有較好的適應性。且該類方法的復雜度較低,容易實現。
將ARMA轉換成ARMA(p,q),并構建差異節點的負載模型,具體公式如下所示

(4)
式中:xt表示云計算中節點在t時刻過載的負載量;φ表示云環境整體負載;p代表AR模型階數值,q代表MA模型的階數值。
在p=0時,則會退化成MA模型;而q=0時,則會退化成AR模型。
其ARMA模型,是建立在假設的時間序列平穩基礎之上的,所以只能夠使用在目標沒有劇烈的變化情況下,相對于網絡流量來說,更適用于在較短的時間內以及小局域網的流量變換平穩情況下。
BP神經網絡是信號的前向傳播和誤差反向傳播。在輸入樣本的刺激下,通過神經網絡不斷的對節點間權值改變和閾值的激發,期望獲得滿意的輸出值最佳擬合。而BP神經網絡是通過輸出層、隱層以及輸入層3層構成的。依據Kolmogorov原理,3層神經網絡可以表達隨意的非線性函數,具體圖像如圖1所示。

圖1 BP神經網絡框架圖像
BP神經網絡的算法流程如下所示:
BP神經網絡的前向傳播:信號依次通過輸入層、隱層和輸出層,在前向傳播時,輸出層生成輸出信號,若輸出信號能夠滿足誤差的要求,或者是達到訓練的次數,那么計算就會結束;反之,若輸出信號達不到輸出的要求,那么將會轉入誤差,進行反向傳播[10]。
如果輸入層具有a個神經單元,那么i代表隨意的一個神經元,若隱層具有b個神經元,那么j代表隨意的一個神經元,而輸出層具有c個神經元,那么k代表隨意的一個神經元。vij代表隱層和輸入層間點的權值,voi代表隱層的閾值,ujk代表輸出層和隱層間的權值,uok代表輸出層的閾值。如果Ij是隱層輸入,yj是隱層的輸出,那么輸出層利用Ik作為輸入,zk作為輸出。利用X=(X1,X2,…Xr,…Xn)來作為訓練樣本,其實際的輸出則是zr=(zr1,zr2,…,zro),理想的輸出為dr=(dr1,dr2,…dro),r=1,2,…,n。
其輸入訓練樣本Xr,具體的前向傳播公式如下所示

(5)

(6)

(7)

(8)

(9)
式中:若E(m) BP神經網絡的誤差反向傳播:其誤差是指網絡內的期望值和實際輸出值之間的差距,誤差先從輸出層開始反向向隱層以及輸入層傳播,傳播的過程中,依據所反饋回來的誤差,調整網絡權值。在每調節一次都會重新的前向傳播。而權值的修正流程,同樣會致使實際輸出越來越逼近期望值,一直滿足設置的誤差。 其誤差反向傳播的公式如下所示 (10) ujk(m+1)=ujk(m)+Δujk(m) (11) (12) vij(m+1)=vij(m)+Δvij(m) (13) 式中:η是一個給定的整數,代表學習速率。 通過分析以上信息,假設將系統的目前時段pv視為p(t),那么預測下個時間段pv為p′(t+1),系統在目前時段全部后端實例平均CPU利用率為c,而其中0≤c≤1。系統的目前時段采用實例個數為n。利用負載均衡調度策略,實現云平臺下混合服務器差異節點負載均衡調度。具體的調度策略如下所示: 由于中小制造企業的小而精的特征,多數企業都專注于某個單獨細分產業。以壓縮機械產業為例,空氣壓縮機產業是為我國工業生產提供基礎能源的關鍵行業,需求量大,因而10年內空壓機企業在我國大量產生,產生了一批專業化的單一設備生產企業。上游的配套零部件包括鑄件、電機、軸承、冷卻器、電控系統、壓力容器、潤滑系統等,也產生了大量專業化的生產企業。由于成功的中小企業大多專心某一個產品,將全部資本和人力都投在上面,效果往往也是最好的。如果能在新經濟環境下搭上智能化制造順風車,必然能極大地提升產品質量,并為“中國2025” 戰略提供助力。 1)在n=1并且p′(t+1)>p(t),那么調度策略則會增加一個負載均衡器的后端實例。 為了證明本文方法的有效性,在CloudSim平臺上進行實驗,在實驗內模擬一個云計算中心,利用兩臺真實服務器和一臺負載均衡器搭建測試環境,由另外兩臺測試機將模擬用戶的大量訪問,測試平臺結構如圖2所示。 圖2 測試平臺結構 采用文獻[2]提出的分布式互聯網絡資源負載均衡分配方法、文獻[3]提出的改進的ICE中間件負載均衡方法和本文提出的云平臺下混合服務器差異節點負載均衡調度方法,通過測試平臺對數據中心系統的負載均衡度以及執行作業耗時進行對比。具體實驗分成3組,其每一組的服務個數都相等,均為20個,不過由于任務個數不相同,分別為200個、2000個以及20000個。所有的任務都是隨機生成,并且大小不相同。 5.2.1 負載均衡調度精度 在隨機生成的200任務下,利用以上三種方法對其調度,對比三種方法的混合服務器差異節點負載均衡調度精度,對比結果如表1所示。 表1 三種方法的負載均衡調度精度/% 根據上表能夠看出,隨著迭代次數的增加,本文方法的混合服務器差異節點負載均衡調度精度也在不斷增長,其精度在92.6%~99.8%之間;而文獻[2]方法和文獻[3]方法的混合服務器差異節點負載均衡調度精度在46.5%~65.7%之間和70.6%~79.9%之間。說明本文方法的負載均衡調度效果最佳,其次是文獻[3]方法,而文獻[2]方法的負載均衡調度效果最差。本文方法最佳是因為對混合服務器實時負載進行了考慮,能夠實現對服務器的動態,賦予權值,并且依據任務種類的復雜程度,任務種類也需要加權計算。而其它兩種方法并沒有對混合服務器的任務權值以及實時負載情況進行考慮。 5.2.2 負載均衡度 為進一步驗證本文方法的有效性,對文獻[2]方法、文獻[3]方法和本文方法的混合服務器差異節點負載均衡度進行對比分析,對比結果如圖3所示。 圖3 負載均衡度對比結果 根據圖3可知,服務器工作時負載度越平穩,方法的負載均衡效果越好,負載均衡度越高。而本文方法的混合服務器差異節點負載均衡度曲線比文獻[2]方法和文獻[3]方法的混合服務器差異節點負載均衡度曲線平穩,說明本文方法的負載均衡效果較好,負載均衡度較高。 5.2.3 執行作業耗時 在云平臺下,利用文獻[2]方法、文獻[3]方法和本文方法對混合服務器差異節點進行負載均衡調度,對比三種方法執行作業所用的時間,對比結果如圖4所示: 圖4 執行作業耗時對比結果 根據圖4可知,采用本文方法執行作業所用的時間均少于文獻[2]方法、文獻[3]方法執行作業所用的時間,說明本文所提云平臺下混合服務器差異節點負載均衡調度方法的執行效率較高。 為了解決傳統節點負載均衡調度方法均衡調度效果差、執行時間長的問題,本文提出一種云平臺下混合服務器差異節點負載均衡調度方法。提取服務器的負載特征,采用目標特征的遺傳算法,檢測云平臺下混合服務器的差異節點負載,通過BP神經網絡對構建的線性時間序列模型進行處理,完成負載均衡調度。實驗結果表明,本文方法的混合服務器差異節點負載均衡調度效果較好,執行效率較高。

4.3 負載均衡調度策略實現



5 實驗證明
5.1 實驗環境

5.2 實驗結果和分析



6 結束語