張 晨,孫 鵬
(西安科技大學(xué)高新學(xué)院,陜西 西安 710109)
隨著網(wǎng)絡(luò)科技的發(fā)展,每天上網(wǎng)瀏覽的用戶越來越多,所留下的數(shù)據(jù)也愈發(fā)的龐大,由于普通的服務(wù)器空間、寬帶以及內(nèi)存等配置較低,現(xiàn)階段管理規(guī)劃已達(dá)不到實(shí)際要求,而為了對(duì)這些數(shù)據(jù)進(jìn)行處理,誕生了云平臺(tái)技術(shù),該項(xiàng)技術(shù)是用硬件資源以及軟件資源的服務(wù),滿足對(duì)數(shù)據(jù)提供存儲(chǔ)、網(wǎng)絡(luò)以及計(jì)算。而云平臺(tái)下的混合服務(wù)能夠靈活的進(jìn)行增配,不會(huì)影響使用情況,并且還存在大量數(shù)據(jù)的處理能力,提供龐大的空間容量,沒有空間的限制[1]。
在網(wǎng)絡(luò)內(nèi)一個(gè)節(jié)點(diǎn)就是一個(gè)連接點(diǎn),代表一個(gè)再分發(fā)點(diǎn)或者是一個(gè)通信端點(diǎn),其節(jié)點(diǎn)的定義主要是依賴網(wǎng)絡(luò)以及協(xié)議層,一個(gè)物理網(wǎng)絡(luò)節(jié)點(diǎn)就是一個(gè)能夠連接到網(wǎng)絡(luò)的有源電子設(shè)備,可以利用通信通道進(jìn)行發(fā)送、轉(zhuǎn)發(fā)以及接收。所以無源分發(fā)點(diǎn)并不是節(jié)點(diǎn)。因各節(jié)點(diǎn)之間存在差異性,一旦某節(jié)點(diǎn)出現(xiàn)問題,需要及時(shí)處理。目前云平臺(tái)下的混合服務(wù)器應(yīng)用于各種商業(yè)模式下,其用戶的要求多樣化、動(dòng)態(tài)化和服務(wù)器自身的異構(gòu)性,會(huì)致使其中的數(shù)據(jù)存在負(fù)載不均衡的情況,部分物理機(jī)器負(fù)載過重,其余物理機(jī)器處于空閑狀態(tài),導(dǎo)致效率降低,因此需要利用負(fù)載均衡調(diào)度的方式,來調(diào)節(jié)物理機(jī)器之間的平衡,提高系統(tǒng)效率。傳統(tǒng)的負(fù)載均衡調(diào)度效果較差,不能夠完全的利用物理機(jī)器,達(dá)不到實(shí)際應(yīng)用的效果。所以該項(xiàng)技術(shù)一直是國內(nèi)外研究學(xué)者的重要挑戰(zhàn)。文獻(xiàn)[2]提出一種螢火蟲優(yōu)化的分布式互聯(lián)網(wǎng)絡(luò)資源負(fù)載均衡分配方法,根據(jù)當(dāng)前服務(wù)器的負(fù)載情況以及歷史數(shù)據(jù)來制定網(wǎng)絡(luò)資源調(diào)度的映射方案,給出網(wǎng)絡(luò)負(fù)載均衡分配問題的約束條件,將用戶任務(wù)完成時(shí)間最小作為資源負(fù)載均衡分配優(yōu)化的目標(biāo)函數(shù),通過螢火蟲算法找到目標(biāo)函數(shù)值最優(yōu)的資源負(fù)載均衡分配策略。但是該方法的負(fù)載均衡調(diào)度效果較差、負(fù)載均衡度較低。文獻(xiàn)[3]提出了一種改進(jìn)的負(fù)載均衡算法,該算法實(shí)時(shí)采集節(jié)點(diǎn)服務(wù)器的CPU使用率和內(nèi)存占用率,綜合計(jì)算出節(jié)點(diǎn)負(fù)載,選取最小負(fù)載節(jié)點(diǎn)作為應(yīng)用分配節(jié)點(diǎn)。但是該方法的系統(tǒng)執(zhí)行作業(yè)耗時(shí)較長。
針對(duì)上述問題,本文提出一種云平臺(tái)下混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度方法。該方法首先提取云平臺(tái)混合服務(wù)器的差異節(jié)點(diǎn)特征,再利用遺傳算法對(duì)其進(jìn)行負(fù)載檢測,然后構(gòu)建一個(gè)負(fù)載模型,通過神經(jīng)網(wǎng)絡(luò)對(duì)該負(fù)載模型進(jìn)行處理,實(shí)現(xiàn)負(fù)載均衡調(diào)度,最后通過仿真驗(yàn)證了本文方法的有效性。
在云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載檢測流程時(shí),首先要對(duì)混合服務(wù)器的節(jié)點(diǎn)目標(biāo)負(fù)載特征進(jìn)行提取,以此提供服務(wù)器的負(fù)載檢測基礎(chǔ)[4]。
云平臺(tái)混合服務(wù)器的差異節(jié)點(diǎn)目標(biāo)特征建立集合,可以利用V表述,其表達(dá)式為
V={V1,V2,…,Vy}
(1)
式中:y代表用來表達(dá)全部服務(wù)器節(jié)點(diǎn)的負(fù)載目標(biāo)特征個(gè)數(shù)。對(duì)服務(wù)器節(jié)點(diǎn)的負(fù)載目標(biāo)特征提取時(shí),要對(duì)負(fù)載目標(biāo)特征的個(gè)數(shù)所組成的集合提取,同時(shí)依據(jù)以上公式可以得到不同服務(wù)器節(jié)點(diǎn)的負(fù)載目標(biāo)特征權(quán)重Vl∈V,Yl(E),且能夠有效的進(jìn)行排序,進(jìn)而提取云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載目標(biāo)特征X(E),其表達(dá)式為
(2)
式中:hl代表云平臺(tái)下的混合服務(wù)器的目標(biāo)特征個(gè)數(shù),R代表所有服務(wù)器的差異節(jié)點(diǎn)個(gè)數(shù),yl代表服務(wù)器的節(jié)點(diǎn)負(fù)載能量數(shù)值[5]。
依據(jù)上述方法,可以基于得到的云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載目標(biāo)特征,對(duì)前y個(gè)權(quán)重比較大的負(fù)載目標(biāo)特征提取,主要表述此服務(wù)器所能夠覆蓋的區(qū)域位置,以此為云平臺(tái)下混合服務(wù)器差異節(jié)點(diǎn)的檢測提供了基礎(chǔ)[6]。
依據(jù)上述所提取的目標(biāo)特征,采用遺傳算法,可以檢測云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載。在對(duì)其進(jìn)行檢測時(shí),采用自然數(shù)的編碼方式,可以設(shè)置染色體的路經(jīng)以及長度個(gè)數(shù)。對(duì)云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)進(jìn)行編號(hào),把所有節(jié)點(diǎn)都作為一個(gè)目標(biāo)特征遺傳算法內(nèi)的染色體。其以上的流程內(nèi),染色體長度是已知的,而目標(biāo)特征遺傳算子,只是一個(gè)變量[7]。
在正常情況下,要任意選擇一組染色體,來作為原始群體,其云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)數(shù)據(jù)信息傳輸路經(jīng)編號(hào)所構(gòu)建的集合,可以采用Rj進(jìn)行表述,而其中,混合服務(wù)器的節(jié)點(diǎn)數(shù)據(jù)傳輸路經(jīng)最大值,可以利用Yj表述,那么所有的服務(wù)器差異節(jié)點(diǎn)下的原始染色群體,都能夠利用(z1,z2,…,z|L|)表述。
對(duì)該混合服務(wù)器的差異節(jié)點(diǎn)進(jìn)行負(fù)載檢測,可以轉(zhuǎn)換為一個(gè)極小值計(jì)算流程,因此需要采用以下的適應(yīng)度函數(shù)來對(duì)節(jié)點(diǎn)負(fù)載檢測方法進(jìn)行計(jì)算,具體公式為
(3)
在目標(biāo)特征的遺傳算法中,其主要包括了變異、交叉以及選擇操作,把全部染色體當(dāng)成交叉單點(diǎn)來進(jìn)行變異,可以得到全新的染色體種群。
依據(jù)適應(yīng)度函數(shù)可以判斷目前的染色體是否為最佳解。其檢測云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載的具體流程如下所示:
1)首先設(shè)置采用目標(biāo)特征的遺傳算法,來對(duì)其原始化的負(fù)載進(jìn)行檢測。在進(jìn)行檢測時(shí),計(jì)算含有種群內(nèi)的染色體個(gè)數(shù),變異與交叉處理概率,迭代操作的個(gè)數(shù)最大值。
2)依據(jù)適應(yīng)度的函數(shù),可以計(jì)算云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載檢測流程的染色體適應(yīng)性值。
3)在依據(jù)染色體適應(yīng)性的數(shù)值,以此對(duì)染色體進(jìn)行變異、交叉以及選擇處理,可以得到全新染色體種群。
4)計(jì)算得到的全新種群子代個(gè)體適應(yīng)性。
5)染色體的計(jì)數(shù)器個(gè)數(shù)設(shè)置可以利用u=0表述,其迭代的操作個(gè)數(shù)可以利用F表述。以此判斷得到的全新染色是否為最佳解,若是最佳解,那么對(duì)得到的結(jié)果保存;反之,需要執(zhí)行u=u+1,重新返回至1),繼續(xù)計(jì)算。
6)如果檢測云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載,其迭代操作次數(shù)到達(dá)最大值,那么則需要執(zhí)行5),且u=u+1;反之,則需要返回至2)繼續(xù)計(jì)算,一直得到最佳解[8]。
依據(jù)以上方法,能夠有效的檢測云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載情況。
為了對(duì)混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載進(jìn)行均衡調(diào)度,利用基于線性的時(shí)間序列的方式,構(gòu)建一個(gè)負(fù)載模型,其本質(zhì)上是利用足夠多的數(shù)值去模擬一個(gè)組數(shù)據(jù),以此期望獲得最優(yōu)擬合度[9]。
基于線性的時(shí)間序列方法模型,在網(wǎng)絡(luò)流量的變化穩(wěn)定環(huán)境內(nèi),具有較好的適應(yīng)性。且該類方法的復(fù)雜度較低,容易實(shí)現(xiàn)。
將ARMA轉(zhuǎn)換成ARMA(p,q),并構(gòu)建差異節(jié)點(diǎn)的負(fù)載模型,具體公式如下所示
(4)
式中:xt表示云計(jì)算中節(jié)點(diǎn)在t時(shí)刻過載的負(fù)載量;φ表示云環(huán)境整體負(fù)載;p代表AR模型階數(shù)值,q代表MA模型的階數(shù)值。
在p=0時(shí),則會(huì)退化成MA模型;而q=0時(shí),則會(huì)退化成AR模型。
其ARMA模型,是建立在假設(shè)的時(shí)間序列平穩(wěn)基礎(chǔ)之上的,所以只能夠使用在目標(biāo)沒有劇烈的變化情況下,相對(duì)于網(wǎng)絡(luò)流量來說,更適用于在較短的時(shí)間內(nèi)以及小局域網(wǎng)的流量變換平穩(wěn)情況下。
BP神經(jīng)網(wǎng)絡(luò)是信號(hào)的前向傳播和誤差反向傳播。在輸入樣本的刺激下,通過神經(jīng)網(wǎng)絡(luò)不斷的對(duì)節(jié)點(diǎn)間權(quán)值改變和閾值的激發(fā),期望獲得滿意的輸出值最佳擬合。而BP神經(jīng)網(wǎng)絡(luò)是通過輸出層、隱層以及輸入層3層構(gòu)成的。依據(jù)Kolmogorov原理,3層神經(jīng)網(wǎng)絡(luò)可以表達(dá)隨意的非線性函數(shù),具體圖像如圖1所示。
圖1 BP神經(jīng)網(wǎng)絡(luò)框架圖像
BP神經(jīng)網(wǎng)絡(luò)的算法流程如下所示:
BP神經(jīng)網(wǎng)絡(luò)的前向傳播:信號(hào)依次通過輸入層、隱層和輸出層,在前向傳播時(shí),輸出層生成輸出信號(hào),若輸出信號(hào)能夠滿足誤差的要求,或者是達(dá)到訓(xùn)練的次數(shù),那么計(jì)算就會(huì)結(jié)束;反之,若輸出信號(hào)達(dá)不到輸出的要求,那么將會(huì)轉(zhuǎn)入誤差,進(jìn)行反向傳播[10]。
如果輸入層具有a個(gè)神經(jīng)單元,那么i代表隨意的一個(gè)神經(jīng)元,若隱層具有b個(gè)神經(jīng)元,那么j代表隨意的一個(gè)神經(jīng)元,而輸出層具有c個(gè)神經(jīng)元,那么k代表隨意的一個(gè)神經(jīng)元。vij代表隱層和輸入層間點(diǎn)的權(quán)值,voi代表隱層的閾值,ujk代表輸出層和隱層間的權(quán)值,uok代表輸出層的閾值。如果Ij是隱層輸入,yj是隱層的輸出,那么輸出層利用Ik作為輸入,zk作為輸出。利用X=(X1,X2,…Xr,…Xn)來作為訓(xùn)練樣本,其實(shí)際的輸出則是zr=(zr1,zr2,…,zro),理想的輸出為dr=(dr1,dr2,…dro),r=1,2,…,n。
其輸入訓(xùn)練樣本Xr,具體的前向傳播公式如下所示
(5)
(6)
(7)
(8)
(9)
式中:若E(m) BP神經(jīng)網(wǎng)絡(luò)的誤差反向傳播:其誤差是指網(wǎng)絡(luò)內(nèi)的期望值和實(shí)際輸出值之間的差距,誤差先從輸出層開始反向向隱層以及輸入層傳播,傳播的過程中,依據(jù)所反饋回來的誤差,調(diào)整網(wǎng)絡(luò)權(quán)值。在每調(diào)節(jié)一次都會(huì)重新的前向傳播。而權(quán)值的修正流程,同樣會(huì)致使實(shí)際輸出越來越逼近期望值,一直滿足設(shè)置的誤差。 其誤差反向傳播的公式如下所示 (10) ujk(m+1)=ujk(m)+Δujk(m) (11) (12) vij(m+1)=vij(m)+Δvij(m) (13) 式中:η是一個(gè)給定的整數(shù),代表學(xué)習(xí)速率。 通過分析以上信息,假設(shè)將系統(tǒng)的目前時(shí)段pv視為p(t),那么預(yù)測下個(gè)時(shí)間段pv為p′(t+1),系統(tǒng)在目前時(shí)段全部后端實(shí)例平均CPU利用率為c,而其中0≤c≤1。系統(tǒng)的目前時(shí)段采用實(shí)例個(gè)數(shù)為n。利用負(fù)載均衡調(diào)度策略,實(shí)現(xiàn)云平臺(tái)下混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度。具體的調(diào)度策略如下所示: 由于中小制造企業(yè)的小而精的特征,多數(shù)企業(yè)都專注于某個(gè)單獨(dú)細(xì)分產(chǎn)業(yè)。以壓縮機(jī)械產(chǎn)業(yè)為例,空氣壓縮機(jī)產(chǎn)業(yè)是為我國工業(yè)生產(chǎn)提供基礎(chǔ)能源的關(guān)鍵行業(yè),需求量大,因而10年內(nèi)空壓機(jī)企業(yè)在我國大量產(chǎn)生,產(chǎn)生了一批專業(yè)化的單一設(shè)備生產(chǎn)企業(yè)。上游的配套零部件包括鑄件、電機(jī)、軸承、冷卻器、電控系統(tǒng)、壓力容器、潤滑系統(tǒng)等,也產(chǎn)生了大量專業(yè)化的生產(chǎn)企業(yè)。由于成功的中小企業(yè)大多專心某一個(gè)產(chǎn)品,將全部資本和人力都投在上面,效果往往也是最好的。如果能在新經(jīng)濟(jì)環(huán)境下搭上智能化制造順風(fēng)車,必然能極大地提升產(chǎn)品質(zhì)量,并為“中國2025” 戰(zhàn)略提供助力。 1)在n=1并且p′(t+1)>p(t),那么調(diào)度策略則會(huì)增加一個(gè)負(fù)載均衡器的后端實(shí)例。 為了證明本文方法的有效性,在CloudSim平臺(tái)上進(jìn)行實(shí)驗(yàn),在實(shí)驗(yàn)內(nèi)模擬一個(gè)云計(jì)算中心,利用兩臺(tái)真實(shí)服務(wù)器和一臺(tái)負(fù)載均衡器搭建測試環(huán)境,由另外兩臺(tái)測試機(jī)將模擬用戶的大量訪問,測試平臺(tái)結(jié)構(gòu)如圖2所示。 圖2 測試平臺(tái)結(jié)構(gòu) 采用文獻(xiàn)[2]提出的分布式互聯(lián)網(wǎng)絡(luò)資源負(fù)載均衡分配方法、文獻(xiàn)[3]提出的改進(jìn)的ICE中間件負(fù)載均衡方法和本文提出的云平臺(tái)下混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度方法,通過測試平臺(tái)對(duì)數(shù)據(jù)中心系統(tǒng)的負(fù)載均衡度以及執(zhí)行作業(yè)耗時(shí)進(jìn)行對(duì)比。具體實(shí)驗(yàn)分成3組,其每一組的服務(wù)個(gè)數(shù)都相等,均為20個(gè),不過由于任務(wù)個(gè)數(shù)不相同,分別為200個(gè)、2000個(gè)以及20000個(gè)。所有的任務(wù)都是隨機(jī)生成,并且大小不相同。 5.2.1 負(fù)載均衡調(diào)度精度 在隨機(jī)生成的200任務(wù)下,利用以上三種方法對(duì)其調(diào)度,對(duì)比三種方法的混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度精度,對(duì)比結(jié)果如表1所示。 表1 三種方法的負(fù)載均衡調(diào)度精度/% 根據(jù)上表能夠看出,隨著迭代次數(shù)的增加,本文方法的混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度精度也在不斷增長,其精度在92.6%~99.8%之間;而文獻(xiàn)[2]方法和文獻(xiàn)[3]方法的混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度精度在46.5%~65.7%之間和70.6%~79.9%之間。說明本文方法的負(fù)載均衡調(diào)度效果最佳,其次是文獻(xiàn)[3]方法,而文獻(xiàn)[2]方法的負(fù)載均衡調(diào)度效果最差。本文方法最佳是因?yàn)閷?duì)混合服務(wù)器實(shí)時(shí)負(fù)載進(jìn)行了考慮,能夠?qū)崿F(xiàn)對(duì)服務(wù)器的動(dòng)態(tài),賦予權(quán)值,并且依據(jù)任務(wù)種類的復(fù)雜程度,任務(wù)種類也需要加權(quán)計(jì)算。而其它兩種方法并沒有對(duì)混合服務(wù)器的任務(wù)權(quán)值以及實(shí)時(shí)負(fù)載情況進(jìn)行考慮。 5.2.2 負(fù)載均衡度 為進(jìn)一步驗(yàn)證本文方法的有效性,對(duì)文獻(xiàn)[2]方法、文獻(xiàn)[3]方法和本文方法的混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡度進(jìn)行對(duì)比分析,對(duì)比結(jié)果如圖3所示。 圖3 負(fù)載均衡度對(duì)比結(jié)果 根據(jù)圖3可知,服務(wù)器工作時(shí)負(fù)載度越平穩(wěn),方法的負(fù)載均衡效果越好,負(fù)載均衡度越高。而本文方法的混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡度曲線比文獻(xiàn)[2]方法和文獻(xiàn)[3]方法的混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡度曲線平穩(wěn),說明本文方法的負(fù)載均衡效果較好,負(fù)載均衡度較高。 5.2.3 執(zhí)行作業(yè)耗時(shí) 在云平臺(tái)下,利用文獻(xiàn)[2]方法、文獻(xiàn)[3]方法和本文方法對(duì)混合服務(wù)器差異節(jié)點(diǎn)進(jìn)行負(fù)載均衡調(diào)度,對(duì)比三種方法執(zhí)行作業(yè)所用的時(shí)間,對(duì)比結(jié)果如圖4所示: 圖4 執(zhí)行作業(yè)耗時(shí)對(duì)比結(jié)果 根據(jù)圖4可知,采用本文方法執(zhí)行作業(yè)所用的時(shí)間均少于文獻(xiàn)[2]方法、文獻(xiàn)[3]方法執(zhí)行作業(yè)所用的時(shí)間,說明本文所提云平臺(tái)下混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度方法的執(zhí)行效率較高。 為了解決傳統(tǒng)節(jié)點(diǎn)負(fù)載均衡調(diào)度方法均衡調(diào)度效果差、執(zhí)行時(shí)間長的問題,本文提出一種云平臺(tái)下混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度方法。提取服務(wù)器的負(fù)載特征,采用目標(biāo)特征的遺傳算法,檢測云平臺(tái)下混合服務(wù)器的差異節(jié)點(diǎn)負(fù)載,通過BP神經(jīng)網(wǎng)絡(luò)對(duì)構(gòu)建的線性時(shí)間序列模型進(jìn)行處理,完成負(fù)載均衡調(diào)度。實(shí)驗(yàn)結(jié)果表明,本文方法的混合服務(wù)器差異節(jié)點(diǎn)負(fù)載均衡調(diào)度效果較好,執(zhí)行效率較高。4.3 負(fù)載均衡調(diào)度策略實(shí)現(xiàn)
5 實(shí)驗(yàn)證明
5.1 實(shí)驗(yàn)環(huán)境
5.2 實(shí)驗(yàn)結(jié)果和分析
6 結(jié)束語