摘要:文中提出了一種新穎的異構(gòu)服務(wù)器負(fù)載均衡方法,在傳統(tǒng)的均衡系統(tǒng)吞吐量的基礎(chǔ)上,考慮到各服務(wù)器的處理能力,通過加入服務(wù)器處理能力權(quán)重和概率選擇向量,對每一個到來的請求計算其概率向量進(jìn)行任務(wù)分配。這種方法從理論上分析應(yīng)能解決系統(tǒng)調(diào)度方面資源的耗費最小的問題,對不同性能的服務(wù)器最大可能的保持負(fù)載平衡,并且使客戶請求在最短時間內(nèi)得到回復(fù)。而實驗也表明,該方法是有效的。
關(guān)鍵詞:異構(gòu)服務(wù)器;負(fù)載均衡;服務(wù)器處理能力權(quán)重;概率選擇向量;系統(tǒng)調(diào)度
中圖分類號:TP301 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)10-2367-04
1 概述
在網(wǎng)絡(luò)迅速發(fā)展的過程中,每年網(wǎng)絡(luò)的用戶不斷遞增,造成一些網(wǎng)絡(luò)業(yè)務(wù)的要求也隨之提高,數(shù)據(jù)庫日訪問量的不斷遞增,給服務(wù)器的處理能力要求也帶來了同步的增長需求。在這樣的情況下,如果按照傳統(tǒng)的硬件升級方法是不能滿足不斷增長的需求的,而且面對業(yè)務(wù)量的不斷提升,硬件的升級會造成資源的浪費和高額的成本投入。因此需要用軟件的方法來均衡網(wǎng)絡(luò)的信息流量,這就是目前比較流行的負(fù)載均衡方法。
負(fù)載均衡 [1](Outbound Load Balancing)是通過人為的方法來簡單有效的擴大服務(wù)群體,增加服務(wù)器吞吐量和數(shù)據(jù)處理能力,或者通過擴展設(shè)備來達(dá)到滿足數(shù)據(jù)量不斷增長的需求,它的實現(xiàn)簡單,是建立在現(xiàn)有的網(wǎng)絡(luò)之上,效果比較明顯。負(fù)載均衡的含義有兩個方面 [2]:首先是集群(clustering)技術(shù),它是將到來的處理比較復(fù)雜耗時的負(fù)載分散到多臺處理器上進(jìn)行處理,然后匯總各處理器的處理結(jié)果,對外來說整個系統(tǒng)的處理能力都得到了一個質(zhì)的提升。第二層含義就是;為了加快服務(wù)器對用戶的響應(yīng)速度,減少用戶等待時間,把到來的訪問請求按照一定的算法分配到不同的節(jié)點上來處理,用以提高處理響應(yīng)速度的目的,這主要針對一些用戶響應(yīng)類的應(yīng)用服務(wù)器。
2 負(fù)載均衡算法
負(fù)載均衡算法是負(fù)載技術(shù)的調(diào)度算法,通過負(fù)載均衡算法將客戶端的請求分配給不同的服務(wù)器以達(dá)到網(wǎng)絡(luò)信息均衡的目的。
3 改進(jìn)后的算法及仿真環(huán)境搭建
常用的負(fù)載均衡算法適用于服務(wù)器同構(gòu)情況下的網(wǎng)絡(luò)負(fù)載均衡,對于異構(gòu)系統(tǒng)來說其使用性能在實際應(yīng)用中并不是很好,因此為了提高異構(gòu)系統(tǒng)服務(wù)器的性能,對常用的算法進(jìn)行改進(jìn)使之適應(yīng)在異構(gòu)情況下的應(yīng)用,提高服務(wù)器系統(tǒng)數(shù)據(jù)負(fù)載性能。
3.1 改進(jìn)后的負(fù)載均衡算法
對于改進(jìn)后的算法,從理論上分析應(yīng)能滿足在系統(tǒng)調(diào)度方面達(dá)到資源耗費最小,不同性能的異構(gòu)服務(wù)器最大可能的保持負(fù)載平衡,并且使客戶請求盡量在最短時間內(nèi)得到回復(fù)。對于改進(jìn)后的算法可以利用仿真軟件進(jìn)行算法之間的對比來確認(rèn)改進(jìn)后的算法的有效性。
3.2 OPNET負(fù)載均衡算法仿真環(huán)境搭建
優(yōu)化網(wǎng)絡(luò)工程工具 [5](optimized network engineering tool,OPNET)是目前最常用的商用網(wǎng)絡(luò)仿真軟件之一。該軟件對于進(jìn)行通信網(wǎng)絡(luò)和分發(fā)系統(tǒng)的模擬與仿真實驗有良好的效果,它可通過離散事件的仿真,分析模型或者算法來優(yōu)化系統(tǒng)行為和性能,幫助客戶進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計,網(wǎng)絡(luò)性能的分析,網(wǎng)絡(luò)模型的構(gòu)建和網(wǎng)絡(luò)行為的管理。它涉及到網(wǎng)絡(luò)仿真的各個階段,如模型設(shè)計、仿真、數(shù)據(jù)搜集以及數(shù)據(jù)分析。
在仿真實驗程序的整個調(diào)度流程中,把數(shù)據(jù)包重新修改地址分配給后臺服務(wù)器有一定的策略算法,這些算法用來保證請求數(shù)據(jù)包均衡分配給后臺服務(wù)器,其中我們的仿真實驗中就加入了兩種分配算法,也就是常說的負(fù)載均衡算法,通過對比pick-kx算法和pick-kw算法,來顯示修改算法的實用效果。
4VqP1w5GXxBnd554hM8oVvnCP5xml3cmU8RgX5rn9lvo= 實驗與分析
針對以上搭建的仿真環(huán)境,本試驗選擇仿真中的三臺服務(wù)器的負(fù)荷作為仿真統(tǒng)計量,同時利用OPNET Modeler特有組件對仿真結(jié)果可以比較的特點,將三臺服務(wù)器的仿真數(shù)據(jù)的仿真結(jié)果進(jìn)行了統(tǒng)一比較。因在構(gòu)建網(wǎng)絡(luò)拓?fù)鋾r配置的服務(wù)器處理能力不同,因此很方便看到算法比較的結(jié)果。
參考文獻(xiàn):
[1] 黃欣,楊帆.網(wǎng)絡(luò)負(fù)載平衡技術(shù)應(yīng)用[J].遼陽石油化工高等??茖W(xué)校學(xué)報,2002(4).
[2] 郭成城,晏蒲柳.一種異構(gòu)Web服務(wù)器集群動態(tài)負(fù)載均衡算法[J].計算機學(xué)報,2005,28(2):179-184.
[3] 陳志剛,許偉,曾志文.一種基于預(yù)測的動態(tài)負(fù)載均衡模型及算法研究[J].計算機工程,2004(23).
[4] 王霜,修保新,肖衛(wèi)東.Web服務(wù)器集群的負(fù)載均衡算法研究[J].計算機工程,2004(25).
[5] 王文博,張金文.OPNET Modeler與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2003:68-138.
[6] 廖艷達(dá).基于OPNET的Web集群負(fù)載均衡仿真研究[D].桂林:廣西師范大學(xué),2007:25-28.
[7] Takenaka T,Kato S.Adaptive load balancing content address hashing routing for reverse proxy servers, Communications[C].2004 IEEE International Conference on,2004:1522-1526.
[8] Zheng Shiyuan,Liu Jun.A global strategy for controlling document distribution in confidential document management system[C].Communication Software and Networks (ICCSN),2011 IEEE 3rd International Conference on, 2011:410-415.
[9] 趙成貴.互聯(lián)網(wǎng)絡(luò)負(fù)載平衡理論與算法[M].北京:科學(xué)出版社,2002:12-15.
[10] Cheriton D D. Multicast Routing in DatagramInternetworks And Extended LANs[C].In ACM Transactions on Computer Systems May 2010,2010:122-125.