陳飛
(云南電力調度控制中心 云南省昆明市 650000)
隨著信息時代的到來,在極大程度上增加了服務器集群所面臨的難度,對于分布式服務器負載均衡方法的優化已經迫在眉睫。分布式服務器負載均衡作為提高服務器響應速度最安全、最可靠的方式之一,能夠有效的解決傳統的分布式服務器負載均衡方法在面對大量訪問請求時處理不及時的情況[1]。分布式服務器負載均衡方法能夠提升服務器上數據之間的交互程度,并且提高服務器的服務質量。想減少用戶在發出訪問請求時的等待時間,這對分布式服務器負載均衡方法提出了更高的要求。對于這些通過計算機聯網而連接起來的數據庫,必須能夠在最短時間內同時處理大量的用戶請求。只有這樣,才能為用戶提供高質量的互聯網服務。中間件指的就是在操作系統、IT系統以及數據庫之上,又位于下層應用軟件的基礎件,利用中間件可以為用戶提供靈活、高效地互聯網服務。中間件是確保每個數據庫能夠高效運行的關鍵因素,能夠充分發揮分布式服務器同時分配大量訪問請求的能力。因此,進行基于中間件的分布式服務器負載均衡方法研究。
考慮到傳統的分布式服務器負載均衡方法無法合理的分配訪問請求,必然會導致服務器之間負載不均衡情況的出現[2]。分布式服務器線路負載率越均衡,分布式服務器的運行水平也會隨之提高。因此,在進行基于中間件的分布式服務器負載均衡方法研究中,首先,確定基于中間件負載均衡權重向量,再通過計算周期可變的動態負載率,進而實現分布式服務器負載均衡。
由于分布式服務器訪問業務不同,影響分布式服務器負載均衡的因素也會隨之變化。在傳統的分布式服務器負載均衡方法中,主要通過具有工作經驗的人來確定基于中間件負載均衡權重向量,雖然確定流程簡單,但經常會造成分布式服務器負載不均衡的問題出現,導致負載均衡權重向量誤差均方值大[3]。在基于中間件的分布式服務器負載均衡方法設計中,基于中間件負載均衡權重向量具有更加快速、準確的優點。基于中間件負載均衡權重向量指的就是通過中間件均衡分布式服務器中讀寫器的負載權重,將大量的用戶請求以標簽的形式公平的分配給每個讀寫器。其根本目的在于使整個分布式服務器中沒有讀寫器被分配到更少或更多數量的標簽。當確定基于中間件負載均衡權重向量均在每個讀寫器的監控范圍內,并且每個讀寫器也能夠實時監控到所有訪問請求。將讀寫器采集到的實時監控負載信息,通過不同讀寫器來監控負載信息的消耗就會達到一種負載平衡,從而確定基于中間件負載均衡權重向量。

圖1:偏差對比結果

圖2:兩種方法負載率對比圖
通過確定基于中間件負載均衡權重向量,計算周期可變的動態負載率[4]。針對讀寫器實時采集到的負載信息雖然能夠在理論上達到一種負載平衡,但頻繁的采集負載信息必然會造成不必要的開銷。為了最大限度的節約開銷,本文設計一種周期可變的動態負載均衡算法。周期可變的動態負載均衡算法致力于以周期W來反饋各服務器讀寫器的實時負載信息,并基于各分布式服務器節點的負載情況進行重新分配。由于實時負載信息是變化的,那么周期T也會自動隨著訪問請求數量的變化而做出相應的調整。與此同時,不但保證了分布式服務器信息采集的實時性,還節約了不必要的開銷。在周期可變的動態負載均衡算法中,將基于中間件負載均衡權重向量設為i,則周期可變的動態負載率為V,則V的計算公式,如公式(1)所示:

在公式(1)中:指的是基于中間件負載均衡權重向量中i的水平投影;zi指的是讀寫器對動態負載均衡參數進行分類時的調節參數;zi-1指的是動態負載均衡參數中第i-1個動態負載均衡參數的核函數;θmax指的是高斯徑向動態負載均衡基核函數。
在計算周期可變的動態負載率的基礎上,再利用分布式服務器通信數據離散余弦進行變換,計算出基于中間件的分布式服務器線性擬合負載特征值,從而實現分布式服務器負載均衡[5]。運用基于中間件的分布式服務器負載均衡方法進行負載均衡分配,具體內容如表1所示。
根據表1可知,基于中間件的分布式服務器負載均衡方法的誤差均方值是向著減小的方向進行。因此,基于中間件的分布式服務器負載均衡方法可以取得分布式服務器負載均衡的良好效果。通過以上對基于中間件的分布式服務器負載均衡方法的研究,發現本文方法算出來的周期可變的動態負載均衡率更加能夠體現分布式服務器影響負載均衡穩定性的潛在干擾。在無特殊情況下,基于中間件的分布式服務器負載均衡方法的周期可變動態均衡誤差率明顯低于傳統的分布式服務器負載均衡方法。
綜上所述,本文設計的基于中間件的分布式服務器負載均衡方法與傳統的分布式服務器負載均衡方法最大的不同在于,傳統的分布式服務器負載均衡方法人來確定基于中間件負載均衡權重向量,而基于中間件的分布式服務器負載均衡方法則是以周期可變的動態負載率為中心。如此一來,可以更加科學、高效的針對分布式服務器負載進行均衡分配,提高分布式服務器的運行水平。
本文通過對比實驗,證明基于中間件的分布式服務器負載均衡方法的可行性,實驗內容針對分布式服務器的負載率進行。本次仿真實驗共設計3個實驗場景,分別為:實驗場景1只傳送空報文;實驗場景2指的是統計不同訪問業務時兩種方法的中間件吞吐量;實驗場景3能夠統計在混合型訪問請求下的分布式服務器響應總時間。首先采用傳統的分布式服務器負載均衡方法進行實驗,再采用文章設計的基于中間件的分布式服務器負載均衡方法同樣操作步驟,設置傳統的分布式服務器負載均衡方法為對照組。分別使用兩種方法進行對比實驗。
實驗環境采用UDHFGI總線網絡匯總10個節點構成的系統,其中包括多個臨界對象和多個等效負荷節點,讀寫操作發生比例設置為1:1,總線上采用UFKIGV/SIJO通信模式。為更有利于實驗分析,假設每一個節點僅與水平節點與其水平或鄰居節點進行交互,采用標準的鄰居系統,各個節點與鄰居之間的交換協同變量并更新自己的變量信息狀態,并設置實驗參數,如表2所示。
上述表中,是對實驗環境參數的設置,兩種算法都在此環境下進行實驗,保證實驗的嚴謹性。
本次實驗主要測試分布式服務器負載均衡性,對比兩種方法在進行計算時出現的偏差,并設定最高偏差線,偏差值控制在這一線內,不會影響算法的一致性,實驗結果如圖1所示。
分析圖1可知,傳統的服務器負載算法計算時,與標準線差異較大,數據溢出異常情況發生概率大。而本文設計分布式服務器負載均衡算法在進行計算時,與標準線相近,說明該方法具有很高的一致性,能夠大大減少算法中存在的偏差情況,減少了對服務器的控制請求,減少了多個節點搶先發送的情況,通過上述實驗,基本能夠證明本文設計的算法的有效性,能夠改善傳統算法中出現的問題,具有一定的實際應用意義。

表1:分布式服務器負載均衡分配表

表2:實驗環境參數設置
根據上述的設計的實驗,實驗結果如圖2所示。
通過圖2可得出如下的結論,本文設計的基于中間件的分布式服務器負載均衡方法的負載率相較于傳統的分布式服務器負載均衡方法具有明顯的優勢。因此,有理由相信基于中間件的分布式服務器負載均衡方法可以提高分布式服務器的負載率,取得分布式服務器負載均衡最佳效果。
隨著計算機聯網的逐步實現,分布式服務器的負載均衡問題顯得越來越重要。分布式服務器負載均衡是針對大量訪問請求進行合理分配的最實用和最有效的方法。針對基于中間件的分布式服務器負載均衡方法的研究可以大幅度提高分布式服務器的負載均衡率,完成傳統的分布式服務器負載均衡方法所不能完成的任務。基于中間件的分布式服務器負載均衡方法是分布式服務器負載均衡的核心技術,為實現分布式服務器負載均衡提供理論依據。