陳飛
(云南電力調(diào)度控制中心 云南省昆明市 650000)
隨著信息時(shí)代的到來,在極大程度上增加了服務(wù)器集群所面臨的難度,對(duì)于分布式服務(wù)器負(fù)載均衡方法的優(yōu)化已經(jīng)迫在眉睫。分布式服務(wù)器負(fù)載均衡作為提高服務(wù)器響應(yīng)速度最安全、最可靠的方式之一,能夠有效的解決傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法在面對(duì)大量訪問請(qǐng)求時(shí)處理不及時(shí)的情況[1]。分布式服務(wù)器負(fù)載均衡方法能夠提升服務(wù)器上數(shù)據(jù)之間的交互程度,并且提高服務(wù)器的服務(wù)質(zhì)量。想減少用戶在發(fā)出訪問請(qǐng)求時(shí)的等待時(shí)間,這對(duì)分布式服務(wù)器負(fù)載均衡方法提出了更高的要求。對(duì)于這些通過計(jì)算機(jī)聯(lián)網(wǎng)而連接起來的數(shù)據(jù)庫(kù),必須能夠在最短時(shí)間內(nèi)同時(shí)處理大量的用戶請(qǐng)求。只有這樣,才能為用戶提供高質(zhì)量的互聯(lián)網(wǎng)服務(wù)。中間件指的就是在操作系統(tǒng)、IT系統(tǒng)以及數(shù)據(jù)庫(kù)之上,又位于下層應(yīng)用軟件的基礎(chǔ)件,利用中間件可以為用戶提供靈活、高效地互聯(lián)網(wǎng)服務(wù)。中間件是確保每個(gè)數(shù)據(jù)庫(kù)能夠高效運(yùn)行的關(guān)鍵因素,能夠充分發(fā)揮分布式服務(wù)器同時(shí)分配大量訪問請(qǐng)求的能力。因此,進(jìn)行基于中間件的分布式服務(wù)器負(fù)載均衡方法研究。
考慮到傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法無法合理的分配訪問請(qǐng)求,必然會(huì)導(dǎo)致服務(wù)器之間負(fù)載不均衡情況的出現(xiàn)[2]。分布式服務(wù)器線路負(fù)載率越均衡,分布式服務(wù)器的運(yùn)行水平也會(huì)隨之提高。因此,在進(jìn)行基于中間件的分布式服務(wù)器負(fù)載均衡方法研究中,首先,確定基于中間件負(fù)載均衡權(quán)重向量,再通過計(jì)算周期可變的動(dòng)態(tài)負(fù)載率,進(jìn)而實(shí)現(xiàn)分布式服務(wù)器負(fù)載均衡。
由于分布式服務(wù)器訪問業(yè)務(wù)不同,影響分布式服務(wù)器負(fù)載均衡的因素也會(huì)隨之變化。在傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法中,主要通過具有工作經(jīng)驗(yàn)的人來確定基于中間件負(fù)載均衡權(quán)重向量,雖然確定流程簡(jiǎn)單,但經(jīng)常會(huì)造成分布式服務(wù)器負(fù)載不均衡的問題出現(xiàn),導(dǎo)致負(fù)載均衡權(quán)重向量誤差均方值大[3]。在基于中間件的分布式服務(wù)器負(fù)載均衡方法設(shè)計(jì)中,基于中間件負(fù)載均衡權(quán)重向量具有更加快速、準(zhǔn)確的優(yōu)點(diǎn)。基于中間件負(fù)載均衡權(quán)重向量指的就是通過中間件均衡分布式服務(wù)器中讀寫器的負(fù)載權(quán)重,將大量的用戶請(qǐng)求以標(biāo)簽的形式公平的分配給每個(gè)讀寫器。其根本目的在于使整個(gè)分布式服務(wù)器中沒有讀寫器被分配到更少或更多數(shù)量的標(biāo)簽。當(dāng)確定基于中間件負(fù)載均衡權(quán)重向量均在每個(gè)讀寫器的監(jiān)控范圍內(nèi),并且每個(gè)讀寫器也能夠?qū)崟r(shí)監(jiān)控到所有訪問請(qǐng)求。將讀寫器采集到的實(shí)時(shí)監(jiān)控負(fù)載信息,通過不同讀寫器來監(jiān)控負(fù)載信息的消耗就會(huì)達(dá)到一種負(fù)載平衡,從而確定基于中間件負(fù)載均衡權(quán)重向量。
圖1:偏差對(duì)比結(jié)果
圖2:兩種方法負(fù)載率對(duì)比圖
通過確定基于中間件負(fù)載均衡權(quán)重向量,計(jì)算周期可變的動(dòng)態(tài)負(fù)載率[4]。針對(duì)讀寫器實(shí)時(shí)采集到的負(fù)載信息雖然能夠在理論上達(dá)到一種負(fù)載平衡,但頻繁的采集負(fù)載信息必然會(huì)造成不必要的開銷。為了最大限度的節(jié)約開銷,本文設(shè)計(jì)一種周期可變的動(dòng)態(tài)負(fù)載均衡算法。周期可變的動(dòng)態(tài)負(fù)載均衡算法致力于以周期W來反饋各服務(wù)器讀寫器的實(shí)時(shí)負(fù)載信息,并基于各分布式服務(wù)器節(jié)點(diǎn)的負(fù)載情況進(jìn)行重新分配。由于實(shí)時(shí)負(fù)載信息是變化的,那么周期T也會(huì)自動(dòng)隨著訪問請(qǐng)求數(shù)量的變化而做出相應(yīng)的調(diào)整。與此同時(shí),不但保證了分布式服務(wù)器信息采集的實(shí)時(shí)性,還節(jié)約了不必要的開銷。在周期可變的動(dòng)態(tài)負(fù)載均衡算法中,將基于中間件負(fù)載均衡權(quán)重向量設(shè)為i,則周期可變的動(dòng)態(tài)負(fù)載率為V,則V的計(jì)算公式,如公式(1)所示:
在公式(1)中:指的是基于中間件負(fù)載均衡權(quán)重向量中i的水平投影;zi指的是讀寫器對(duì)動(dòng)態(tài)負(fù)載均衡參數(shù)進(jìn)行分類時(shí)的調(diào)節(jié)參數(shù);zi-1指的是動(dòng)態(tài)負(fù)載均衡參數(shù)中第i-1個(gè)動(dòng)態(tài)負(fù)載均衡參數(shù)的核函數(shù);θmax指的是高斯徑向動(dòng)態(tài)負(fù)載均衡基核函數(shù)。
在計(jì)算周期可變的動(dòng)態(tài)負(fù)載率的基礎(chǔ)上,再利用分布式服務(wù)器通信數(shù)據(jù)離散余弦進(jìn)行變換,計(jì)算出基于中間件的分布式服務(wù)器線性擬合負(fù)載特征值,從而實(shí)現(xiàn)分布式服務(wù)器負(fù)載均衡[5]。運(yùn)用基于中間件的分布式服務(wù)器負(fù)載均衡方法進(jìn)行負(fù)載均衡分配,具體內(nèi)容如表1所示。
根據(jù)表1可知,基于中間件的分布式服務(wù)器負(fù)載均衡方法的誤差均方值是向著減小的方向進(jìn)行。因此,基于中間件的分布式服務(wù)器負(fù)載均衡方法可以取得分布式服務(wù)器負(fù)載均衡的良好效果。通過以上對(duì)基于中間件的分布式服務(wù)器負(fù)載均衡方法的研究,發(fā)現(xiàn)本文方法算出來的周期可變的動(dòng)態(tài)負(fù)載均衡率更加能夠體現(xiàn)分布式服務(wù)器影響負(fù)載均衡穩(wěn)定性的潛在干擾。在無特殊情況下,基于中間件的分布式服務(wù)器負(fù)載均衡方法的周期可變動(dòng)態(tài)均衡誤差率明顯低于傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法。
綜上所述,本文設(shè)計(jì)的基于中間件的分布式服務(wù)器負(fù)載均衡方法與傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法最大的不同在于,傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法人來確定基于中間件負(fù)載均衡權(quán)重向量,而基于中間件的分布式服務(wù)器負(fù)載均衡方法則是以周期可變的動(dòng)態(tài)負(fù)載率為中心。如此一來,可以更加科學(xué)、高效的針對(duì)分布式服務(wù)器負(fù)載進(jìn)行均衡分配,提高分布式服務(wù)器的運(yùn)行水平。
本文通過對(duì)比實(shí)驗(yàn),證明基于中間件的分布式服務(wù)器負(fù)載均衡方法的可行性,實(shí)驗(yàn)內(nèi)容針對(duì)分布式服務(wù)器的負(fù)載率進(jìn)行。本次仿真實(shí)驗(yàn)共設(shè)計(jì)3個(gè)實(shí)驗(yàn)場(chǎng)景,分別為:實(shí)驗(yàn)場(chǎng)景1只傳送空?qǐng)?bào)文;實(shí)驗(yàn)場(chǎng)景2指的是統(tǒng)計(jì)不同訪問業(yè)務(wù)時(shí)兩種方法的中間件吞吐量;實(shí)驗(yàn)場(chǎng)景3能夠統(tǒng)計(jì)在混合型訪問請(qǐng)求下的分布式服務(wù)器響應(yīng)總時(shí)間。首先采用傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法進(jìn)行實(shí)驗(yàn),再采用文章設(shè)計(jì)的基于中間件的分布式服務(wù)器負(fù)載均衡方法同樣操作步驟,設(shè)置傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法為對(duì)照組。分別使用兩種方法進(jìn)行對(duì)比實(shí)驗(yàn)。
實(shí)驗(yàn)環(huán)境采用UDHFGI總線網(wǎng)絡(luò)匯總10個(gè)節(jié)點(diǎn)構(gòu)成的系統(tǒng),其中包括多個(gè)臨界對(duì)象和多個(gè)等效負(fù)荷節(jié)點(diǎn),讀寫操作發(fā)生比例設(shè)置為1:1,總線上采用UFKIGV/SIJO通信模式。為更有利于實(shí)驗(yàn)分析,假設(shè)每一個(gè)節(jié)點(diǎn)僅與水平節(jié)點(diǎn)與其水平或鄰居節(jié)點(diǎn)進(jìn)行交互,采用標(biāo)準(zhǔn)的鄰居系統(tǒng),各個(gè)節(jié)點(diǎn)與鄰居之間的交換協(xié)同變量并更新自己的變量信息狀態(tài),并設(shè)置實(shí)驗(yàn)參數(shù),如表2所示。
上述表中,是對(duì)實(shí)驗(yàn)環(huán)境參數(shù)的設(shè)置,兩種算法都在此環(huán)境下進(jìn)行實(shí)驗(yàn),保證實(shí)驗(yàn)的嚴(yán)謹(jǐn)性。
本次實(shí)驗(yàn)主要測(cè)試分布式服務(wù)器負(fù)載均衡性,對(duì)比兩種方法在進(jìn)行計(jì)算時(shí)出現(xiàn)的偏差,并設(shè)定最高偏差線,偏差值控制在這一線內(nèi),不會(huì)影響算法的一致性,實(shí)驗(yàn)結(jié)果如圖1所示。
分析圖1可知,傳統(tǒng)的服務(wù)器負(fù)載算法計(jì)算時(shí),與標(biāo)準(zhǔn)線差異較大,數(shù)據(jù)溢出異常情況發(fā)生概率大。而本文設(shè)計(jì)分布式服務(wù)器負(fù)載均衡算法在進(jìn)行計(jì)算時(shí),與標(biāo)準(zhǔn)線相近,說明該方法具有很高的一致性,能夠大大減少算法中存在的偏差情況,減少了對(duì)服務(wù)器的控制請(qǐng)求,減少了多個(gè)節(jié)點(diǎn)搶先發(fā)送的情況,通過上述實(shí)驗(yàn),基本能夠證明本文設(shè)計(jì)的算法的有效性,能夠改善傳統(tǒng)算法中出現(xiàn)的問題,具有一定的實(shí)際應(yīng)用意義。
表1:分布式服務(wù)器負(fù)載均衡分配表
表2:實(shí)驗(yàn)環(huán)境參數(shù)設(shè)置
根據(jù)上述的設(shè)計(jì)的實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖2所示。
通過圖2可得出如下的結(jié)論,本文設(shè)計(jì)的基于中間件的分布式服務(wù)器負(fù)載均衡方法的負(fù)載率相較于傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法具有明顯的優(yōu)勢(shì)。因此,有理由相信基于中間件的分布式服務(wù)器負(fù)載均衡方法可以提高分布式服務(wù)器的負(fù)載率,取得分布式服務(wù)器負(fù)載均衡最佳效果。
隨著計(jì)算機(jī)聯(lián)網(wǎng)的逐步實(shí)現(xiàn),分布式服務(wù)器的負(fù)載均衡問題顯得越來越重要。分布式服務(wù)器負(fù)載均衡是針對(duì)大量訪問請(qǐng)求進(jìn)行合理分配的最實(shí)用和最有效的方法。針對(duì)基于中間件的分布式服務(wù)器負(fù)載均衡方法的研究可以大幅度提高分布式服務(wù)器的負(fù)載均衡率,完成傳統(tǒng)的分布式服務(wù)器負(fù)載均衡方法所不能完成的任務(wù)?;谥虚g件的分布式服務(wù)器負(fù)載均衡方法是分布式服務(wù)器負(fù)載均衡的核心技術(shù),為實(shí)現(xiàn)分布式服務(wù)器負(fù)載均衡提供理論依據(jù)。