專利名稱:一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)信息技術(shù)領(lǐng)域,特別是涉及一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡 方法和裝置。
背景技術(shù):
現(xiàn)有的流量調(diào)度根據(jù)對(duì)現(xiàn)有網(wǎng)絡(luò)狀況的分析和參數(shù)采集結(jié)果來(lái)對(duì)以下的流量進(jìn) 行調(diào)度分配,實(shí)現(xiàn)負(fù)載均衡。在負(fù)載平衡的實(shí)現(xiàn)中,調(diào)度算法是核心的內(nèi)容。在當(dāng)前網(wǎng)絡(luò) 下,現(xiàn)有的流量調(diào)度算法主要有輪叫調(diào)度算法,加權(quán)輪叫調(diào)度算法,最小連接調(diào)度算法,加 權(quán)最小連接法,目的地址散列調(diào)度,源地址散列調(diào)度等??煞譃殪o態(tài)流量調(diào)度算法和動(dòng)態(tài)流 量調(diào)度算法,隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大和用戶需求的增加靜態(tài)流量調(diào)度算法已經(jīng)不能滿足負(fù)載 均衡的需求,設(shè)計(jì)一種動(dòng)態(tài)的自適應(yīng)的流量調(diào)度算法更適合如今的網(wǎng)絡(luò)應(yīng)用需求。
其中,輪叫調(diào)度算法,未考慮服務(wù)器的當(dāng)前連接數(shù)和響應(yīng)速度,一般要求所有服務(wù) 器處理性能均相同,算法相對(duì)簡(jiǎn)單,不適用于服務(wù)器組中處理性能不一的情況,而且當(dāng)請(qǐng)求 服務(wù)時(shí)間變化比較大時(shí),循環(huán)調(diào)度算法容易導(dǎo)致服務(wù)器的負(fù)載不平衡。
加權(quán)輪叫調(diào)度算法,簡(jiǎn)單高效,考慮了不同服務(wù)器的處理性能差異,但當(dāng)請(qǐng)求服務(wù) 時(shí)間變化大時(shí),單獨(dú)的加權(quán)輪叫調(diào)度算法可能會(huì)導(dǎo)致服務(wù)器間負(fù)載不平衡。同時(shí)加權(quán)輪叫 調(diào)度算法是一種無(wú)狀態(tài)的調(diào)度算法。
最小連接調(diào)度算法,該算法是把新的連接請(qǐng)求分配到當(dāng)前連接數(shù)最小的服務(wù)器。 最小連接調(diào)度是指一種動(dòng)態(tài)調(diào)度算法,它通過(guò)服務(wù)器當(dāng)前所活躍的連接數(shù)來(lái)估計(jì)服務(wù)器的 負(fù)載情況。調(diào)度器需要記錄各個(gè)服務(wù)器已建立連接的數(shù)目,當(dāng)一個(gè)請(qǐng)求被調(diào)度到某臺(tái)服務(wù) 器,其連接數(shù)加一;當(dāng)連接終止或超時(shí),其連接數(shù)減一。當(dāng)各個(gè)服務(wù)器有相同的處理性能時(shí), 最小連接調(diào)度算法能把負(fù)載變化發(fā)送到同一臺(tái)服務(wù)器上。但是,當(dāng)各個(gè)服務(wù)器的處理能力 不同時(shí),該算法并不理想,因?yàn)門CP連接處理請(qǐng)求后會(huì)進(jìn)入TIME_WAIT狀態(tài),TCP的TIME_ WAIT 一般為2分鐘,此時(shí)連接還占用服務(wù)器的資源,所以會(huì)出現(xiàn)這樣情形,性能高的服務(wù)器 已處理所收到的連接,連接處于TIME_WAIT狀態(tài),而性能低的服務(wù)器已經(jīng)忙于處理所收到 的連接,還不斷收到新的連接請(qǐng)求。
加權(quán)最小連接調(diào)度算法,該算法是最小連接調(diào)度算法的改進(jìn),各個(gè)服務(wù)器用相應(yīng) 的權(quán)值表示其處理性能。服務(wù)器的缺省值為1,系統(tǒng)管理員可以動(dòng)態(tài)地設(shè)置服務(wù)器的權(quán)值。 加權(quán)最小連接調(diào)度在調(diào)度新連接時(shí)盡可能使服務(wù)器的已建立連接數(shù)和其權(quán)值成比例。
目的地址散列調(diào)度算法,該算法通過(guò)一個(gè)散列函數(shù)將目標(biāo)IP地址映射到一臺(tái)服 務(wù)器,屬于靜態(tài)映射算法。目標(biāo)地址散列調(diào)度算法首先將請(qǐng)求的目標(biāo)IP地址作為散列鍵, 從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器;若該服務(wù)器是可用且未超載,則將請(qǐng)求發(fā)送到該 服務(wù)器,否則返回空。
源地址散列調(diào)度,與目標(biāo)地址散列調(diào)度算法相反,該算法將請(qǐng)求的源IP地址作為 散列鍵,從靜態(tài)分配的散列表找出對(duì)應(yīng)的服務(wù)器;若該服務(wù)器是可用的且未超載,則將請(qǐng)求 發(fā)送到該服務(wù)器,否則返回空。除了將請(qǐng)求的目標(biāo)IP地址換成請(qǐng)求的源IP地址,該算法采用的散列函數(shù)與目標(biāo)地址散列調(diào)度算法相同,算法流程與目標(biāo)地址散列調(diào)度算法基本相 似。
上述調(diào)度算法在解決服務(wù)器負(fù)載平衡方面起到了一定的作用,但隨著網(wǎng)絡(luò)規(guī)模的 不斷擴(kuò)大,訪問(wèn)請(qǐng)求的增加,這些調(diào)度算法在調(diào)度性能上存在不足。
因此,目前需要本領(lǐng)域技術(shù)人員迫切解決的一個(gè)技術(shù)問(wèn)題就是如何能夠創(chuàng)新地 提出一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法和裝置,以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)業(yè)務(wù)流實(shí)時(shí)、動(dòng)態(tài)的 調(diào)度,使得業(yè)務(wù)量在整個(gè)網(wǎng)絡(luò)中均勻分布,減少網(wǎng)絡(luò)擁塞。發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法和 裝置,用以實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)業(yè)務(wù)流實(shí)時(shí)、動(dòng)態(tài)的調(diào)度,使得業(yè)務(wù)量在整個(gè)網(wǎng)絡(luò)中均勻分布,減少 網(wǎng)絡(luò)擁塞。
為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法,所 述方法包括
實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù);所述服務(wù)器狀態(tài)參數(shù)包括CPU負(fù)載,網(wǎng)絡(luò)流量,內(nèi)存 占用率;
計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比 較;
當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),將對(duì)應(yīng)服務(wù)器的響應(yīng)停止預(yù)設(shè) 時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù)載加權(quán)值最小的 服務(wù)器上。
優(yōu)選的,所述預(yù)設(shè)管理閥值為一個(gè)或多個(gè),則
各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值;
或,各服務(wù)器分別對(duì)應(yīng)一個(gè)預(yù)設(shè)管理閥值。
優(yōu)選的,當(dāng)各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值時(shí),所述方法在計(jì)算各服務(wù)器的負(fù)載 加權(quán)值后,包括
將負(fù)載加權(quán)值中最大的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較;
當(dāng)最大的負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),比較下一最大負(fù)載加權(quán)值與 預(yù)設(shè)管理閥值,直到所比較負(fù)載加權(quán)值不大于預(yù)設(shè)管理閥值,同時(shí)將負(fù)載加權(quán)值大于預(yù)設(shè) 閥值的服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間段;重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng) 求分配到負(fù)載加權(quán)值最小的服務(wù)器上。
優(yōu)選的,所述負(fù)載加權(quán)值通過(guò)對(duì)服務(wù)器各狀態(tài)參數(shù)與其對(duì)應(yīng)權(quán)重的乘積求和獲 取。
本發(fā)明還公布了一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡裝置,所述裝置包括
采集模塊,用于實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù);所述服務(wù)器狀態(tài)參數(shù)包括CPU負(fù)載, 網(wǎng)絡(luò)流量,內(nèi)存占用率;
比較模塊,用于計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè)管 理閥值進(jìn)行比較;
處理模塊,用于當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),將對(duì)應(yīng)服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù) 載加權(quán)值最小的服務(wù)器上。
優(yōu)選的,所述比較模塊中預(yù)設(shè)管理閥值為一個(gè)或多個(gè),則
各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值;
或,各服務(wù)器分別對(duì)應(yīng)一個(gè)預(yù)設(shè)管理閥值。
優(yōu)選的,所述比較模塊通過(guò)對(duì)服務(wù)器各狀態(tài)參數(shù)與其對(duì)應(yīng)權(quán)重的乘積求和獲取。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)
本發(fā)明通過(guò)實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù),計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì) 算的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較,當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器 時(shí),將對(duì)應(yīng)服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù) 載請(qǐng)求分配到負(fù)載加權(quán)值最小的服務(wù)器上,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)業(yè)務(wù)流實(shí)時(shí)、動(dòng)態(tài)的調(diào)度,使得 業(yè)務(wù)量在整個(gè)網(wǎng)絡(luò)中均勻分布,減少網(wǎng)絡(luò)擁塞。
圖1是本發(fā)明實(shí)施例一所述的一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法的流程 圖2是本發(fā)明實(shí)施例一所述的一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法的仿真 模型示意圖3 (a)是本發(fā)明實(shí)施例一所述的最小流量調(diào)度算法服務(wù)器的負(fù)載效果示意圖3(b)是本發(fā)明實(shí)施例一所述的自適應(yīng)最小流量調(diào)度算法服務(wù)器的負(fù)載效果示 意圖4是本發(fā)明實(shí)施例一所述的服務(wù)器處理請(qǐng)求的延遲示意圖5是本發(fā)明實(shí)施例一所述的兩種算法各服務(wù)器請(qǐng)求的有效性的分析示意圖6是本發(fā)明實(shí)施例二所述的一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡裝置的結(jié)構(gòu) 圖。
具體實(shí)施方式
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí) 施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。
網(wǎng)絡(luò)技術(shù)的飛速發(fā)展及人們對(duì)通信需求的日益增加使已有的網(wǎng)絡(luò)架構(gòu)無(wú)法滿足 未來(lái)信息網(wǎng)絡(luò)更趨復(fù)雜化和異構(gòu)化得發(fā)展趨勢(shì),需要設(shè)計(jì)更適合的網(wǎng)絡(luò)結(jié)構(gòu)和行為模式, 認(rèn)知網(wǎng)絡(luò)應(yīng)運(yùn)而生。認(rèn)知網(wǎng)絡(luò)能在動(dòng)態(tài)自適應(yīng)的過(guò)程中不斷地學(xué)習(xí),具有預(yù)見(jiàn)性,其自適應(yīng) 是先應(yīng)式的,而不是反應(yīng)式的,也即動(dòng)態(tài)調(diào)整是發(fā)生在問(wèn)題出現(xiàn)之前,而不是之后。認(rèn)知行 為模型為首先檢測(cè)網(wǎng)絡(luò)當(dāng)前的狀態(tài),然后根據(jù)觀察到的網(wǎng)絡(luò)條件和參數(shù)進(jìn)行調(diào)整、判決、 執(zhí)行。認(rèn)知技術(shù)使得通信實(shí)體具有認(rèn)知周圍環(huán)境的能力,并能根據(jù)周圍環(huán)境的變化智能、自 主、自適應(yīng)地動(dòng)態(tài)變化。將認(rèn)知的概念和功能引入現(xiàn)有的信息網(wǎng)絡(luò),就構(gòu)成了認(rèn)知網(wǎng)絡(luò)。認(rèn) 知網(wǎng)絡(luò)具有環(huán)境學(xué)習(xí)功能,可以根據(jù)網(wǎng)絡(luò)狀態(tài)的認(rèn)知結(jié)果執(zhí)行相應(yīng)的決策機(jī)制,自適應(yīng)地 調(diào)整網(wǎng)絡(luò)行為來(lái)保證網(wǎng)絡(luò)服務(wù)質(zhì)量。
而在認(rèn)知網(wǎng)絡(luò)中,終端的分布狀況、隨機(jī)移動(dòng)特性、用戶業(yè)務(wù)的多種服務(wù)質(zhì)量5(Quality of Service-QoS)需求會(huì)引起網(wǎng)絡(luò)業(yè)務(wù)量分布不平衡,局部業(yè)務(wù)過(guò)載、重負(fù)載區(qū) 域發(fā)生擁塞,導(dǎo)致丟包率和業(yè)務(wù)時(shí)延增加,而輕負(fù)載區(qū)域的閑置資源沒(méi)有得到充分利用。負(fù) 載均衡是提高網(wǎng)絡(luò)資源利用率,實(shí)現(xiàn)業(yè)務(wù)QoS保證的一種有效途徑。根據(jù)網(wǎng)絡(luò)流量的變化 趨勢(shì),提前配置可用資源,保證業(yè)務(wù)的QoS需求,提高網(wǎng)絡(luò)資源利用率的有效途徑。本發(fā)明 設(shè)計(jì)一種基于認(rèn)知網(wǎng)絡(luò)的動(dòng)態(tài)的流量調(diào)度的措施,在保證用戶QoS需求的前提下,根據(jù)負(fù) 載變化情況提前配置網(wǎng)絡(luò)可用資源,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)業(yè)務(wù)流實(shí)時(shí)、動(dòng)態(tài)的調(diào)度,使得業(yè)務(wù)量在整 個(gè)網(wǎng)絡(luò)中均勻分布,減少網(wǎng)絡(luò)擁塞。
而在認(rèn)知網(wǎng)絡(luò)中,由于網(wǎng)絡(luò)的提前學(xué)習(xí)效應(yīng),對(duì)網(wǎng)絡(luò)下一步的流量狀態(tài)有了基本 的把握,能在網(wǎng)絡(luò)服務(wù)請(qǐng)求到達(dá)之前將網(wǎng)絡(luò)流量均勻分配到各服務(wù)器,達(dá)到網(wǎng)絡(luò)的負(fù)載均 衡。負(fù)載平衡主要完成的任務(wù)主要有解決網(wǎng)絡(luò)擁塞問(wèn)題,就進(jìn)提供服務(wù),實(shí)現(xiàn)地理位置無(wú) 關(guān)性;提高服務(wù)響應(yīng)速度,為用戶提供更好的訪問(wèn)質(zhì)量;提高服務(wù)器及其他資源的利用效 率,避免網(wǎng)絡(luò)關(guān)鍵部位出現(xiàn)單點(diǎn)失效。
實(shí)施例一
參照?qǐng)D1,示出了本發(fā)明的一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法的流程圖,所 述方法具體包括
步驟S101,實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù);所述服務(wù)器狀態(tài)參數(shù)包括CPU負(fù)載,網(wǎng)絡(luò) 流量,內(nèi)存占用率;
步驟S102,計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè)管理閥 值進(jìn)行比較;
步驟S103,當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),將對(duì)應(yīng)服務(wù)器的響 應(yīng)停止預(yù)設(shè)時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù)載加 權(quán)值最小的服務(wù)器上。
實(shí)際應(yīng)用中,通常通過(guò)使用專用網(wǎng)絡(luò)軟件如MRTG等,實(shí)時(shí)的采集當(dāng)前網(wǎng)絡(luò)中各 服務(wù)器的狀態(tài)參數(shù),同時(shí),充分考慮各類業(yè)務(wù)對(duì)網(wǎng)絡(luò)流量的不同影響特征,具體的,其中所 述服務(wù)器狀態(tài)參數(shù)包括CPU負(fù)載,網(wǎng)絡(luò)流量,內(nèi)存占用率,計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并 將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較,將各服務(wù)器已建立連接的業(yè)務(wù)與其所能 運(yùn)行的管理閥值進(jìn)行比較,并給出比較結(jié)果,當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù) 器時(shí),服務(wù)器處于超負(fù)荷狀態(tài),判定該服務(wù)器可能處于堵塞狀態(tài),將對(duì)應(yīng)服務(wù)器的響應(yīng)停止 預(yù)設(shè)時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù)載加權(quán)值最 小的服務(wù)器上。
優(yōu)選的,所述預(yù)設(shè)管理閥值為一個(gè)或多個(gè),則
各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值;
或,各服務(wù)器分別對(duì)應(yīng)一個(gè)預(yù)設(shè)管理閥值。
在實(shí)際的應(yīng)用中,可按照網(wǎng)絡(luò)的運(yùn)行情況以及各服務(wù)器的硬件配置情況,對(duì)服務(wù) 器的管理閥值進(jìn)行設(shè)定,具體的,可以為各個(gè)服務(wù)器分別設(shè)置一個(gè)預(yù)設(shè)管理閥值,也可以為 所有的服務(wù)器統(tǒng)一設(shè)置一個(gè)管理閥值。
優(yōu)選的,當(dāng)各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值時(shí),所述方法在計(jì)算各服務(wù)器的負(fù)載 加權(quán)值后,包括
將負(fù)載加權(quán)值中最大的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較;
當(dāng)最大的負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),比較下一最大負(fù)載加權(quán)值與 預(yù)設(shè)管理閥值,直到所比較負(fù)載加權(quán)值不大于預(yù)設(shè)管理閥值,同時(shí)將負(fù)載加權(quán)值大于預(yù)設(shè) 閥值的服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間段;重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng) 求分配到負(fù)載加權(quán)值最小的服務(wù)器上。
對(duì)于各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值的情況,本發(fā)明所述的方法,可以將負(fù)載加 權(quán)值中最大的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較,當(dāng)最大的負(fù)載加權(quán)值大于預(yù)設(shè)管理閥 值的服務(wù)器時(shí),再比較下一最大負(fù)載加權(quán)值與預(yù)設(shè)管理閥值,直到所比較負(fù)載加權(quán)值不大 于預(yù)設(shè)管理閥值為止,同時(shí)將負(fù)載加權(quán)值大于預(yù)設(shè)閥值的服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間段, 重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù)載加權(quán)值最小的服務(wù)器上。
優(yōu)選的,所述負(fù)載加權(quán)值通過(guò)對(duì)服務(wù)器各狀態(tài)參數(shù)與其對(duì)應(yīng)權(quán)重的乘積求和獲 取。
具體的,假設(shè)服務(wù)器個(gè)數(shù)為m個(gè),j取值1-3分別表示CPU負(fù)載,網(wǎng)絡(luò)流量,內(nèi)存占 用率。A [j] (1彡i彡m,1彡j彡3)用于表示第i個(gè)服務(wù)器的CPU負(fù)載,網(wǎng)絡(luò)流量,內(nèi)存占 用率的數(shù)值,Wj (1 ^ j ^ 3)表示服務(wù)器CPU負(fù)載,網(wǎng)絡(luò)流量,內(nèi)存占用率的權(quán)值。每個(gè)服務(wù) 器i的加權(quán)值為L(zhǎng)oad[i] =Σ r^j] Xffjo
對(duì)于本實(shí)施例所述的方法,其在實(shí)際應(yīng)用中的一種實(shí)現(xiàn)代碼如下
MaxLoadValue = 0 ;
For(int i = 1 ;i < = m ;i++)
{
For(int j = 1 ;j < = 3 ;j++)
Load[i] = Load[i]+r[j] ? Wj
If (MaxLoadValue < Load[i])
{
MaxLoadValue = Load[i];
Return MinLoad[i]
}
}
If(MaxLoadValue <預(yù)定閥值)
暫停 server [i] —定時(shí)間;
else
對(duì)若干臺(tái)服務(wù)器進(jìn)行獲取性能參數(shù)并計(jì)算加權(quán)值。
認(rèn)知網(wǎng)絡(luò)具有的自主學(xué)習(xí)能力與重配置能力,要求其各算法具有一定的認(rèn)知性, 該算法收集網(wǎng)絡(luò)現(xiàn)有的絕對(duì)參數(shù),通過(guò)數(shù)學(xué)模型的建立與應(yīng)用學(xué)習(xí)網(wǎng)絡(luò)的相對(duì)負(fù)載平衡狀 態(tài),根據(jù)負(fù)載平衡狀態(tài)參數(shù)對(duì)網(wǎng)絡(luò)請(qǐng)求處理進(jìn)行重新配置,使網(wǎng)絡(luò)負(fù)載均衡,在算法中使用 數(shù)學(xué)模型對(duì)網(wǎng)絡(luò)負(fù)載平衡狀態(tài)進(jìn)行學(xué)習(xí),通過(guò)改進(jìn)的動(dòng)態(tài)調(diào)度算法對(duì)網(wǎng)絡(luò)請(qǐng)求處理單位進(jìn) 行重新配置。
由于該算法在充分了解網(wǎng)絡(luò)狀態(tài)信息的前提下,將新請(qǐng)求與服務(wù)器管理閥值進(jìn)行 權(quán)重分析,得到負(fù)載流向的新參數(shù)值,對(duì)新請(qǐng)求進(jìn)行調(diào)度處理,學(xué)習(xí)網(wǎng)絡(luò)狀態(tài)信息,體現(xiàn)了 認(rèn)知性。
此外,發(fā)明人還對(duì)本實(shí)施例所述的方法進(jìn)行了實(shí)際仿真,具體的按照一般網(wǎng)絡(luò)組 成,網(wǎng)絡(luò)仿真模型包括輸入,處理與輸出三部分。輸入采用基于泊松分布于伯努利分布的自 回歸模型產(chǎn)生網(wǎng)絡(luò)數(shù)據(jù),路由器中的進(jìn)程模型完成收集網(wǎng)絡(luò)參數(shù)與服務(wù)器性能參數(shù),并計(jì) 算負(fù)載權(quán)值,對(duì)負(fù)載進(jìn)行調(diào)度輸出到出口節(jié)點(diǎn)中,其仿真模型示意圖可參照?qǐng)D2.
將本發(fā)明的基本自適應(yīng)算法完善到仿真模型中,對(duì)進(jìn)程模型,節(jié)點(diǎn)模型,以及工程 場(chǎng)景進(jìn)行設(shè)置。
建立網(wǎng)絡(luò)仿真場(chǎng)景模型中設(shè)置三個(gè)客戶端對(duì)三個(gè)服務(wù)器進(jìn)行收發(fā)數(shù)據(jù)。將加權(quán)最 小連接調(diào)度算法與改進(jìn)之后的ASAMT調(diào)度算法進(jìn)行比較分析,根據(jù)一般網(wǎng)絡(luò)數(shù)據(jù),對(duì)一些 基本參數(shù)進(jìn)行設(shè)置,其中進(jìn)程模型為Acb_fifo (先進(jìn)先出),數(shù)據(jù)包到達(dá)平均間隔為1.0s, IP數(shù)據(jù)包大小設(shè)定為1000-9000b/p,發(fā)送間隔為Is仿真時(shí)間為0. flours。
據(jù)此設(shè)置仿真實(shí)驗(yàn),預(yù)期應(yīng)該實(shí)現(xiàn)如下效果ASAMT算法根據(jù)網(wǎng)絡(luò)中負(fù)載變化情 況對(duì)業(yè)務(wù)流能進(jìn)行實(shí)時(shí)、動(dòng)態(tài)的調(diào)度,有效地將網(wǎng)絡(luò)請(qǐng)求調(diào)度到各個(gè)節(jié)點(diǎn),能有效解決有的 服務(wù)器負(fù)載過(guò)重而有的服務(wù)器閑置的狀況,使各個(gè)節(jié)點(diǎn)的服務(wù)請(qǐng)求均勻得分配在整個(gè)網(wǎng)絡(luò) 中,從而減少網(wǎng)絡(luò)擁塞。與此同時(shí),該算法應(yīng)該不會(huì)形成明顯的網(wǎng)絡(luò)代價(jià)。
實(shí)驗(yàn)的數(shù)據(jù)證明
圖3(a)為最小流量調(diào)度算法服務(wù)器的負(fù)載效果示意圖,圖3(b)為自適應(yīng)最小流 量調(diào)度算法服務(wù)器的負(fù)載效果示意圖。其中,橫軸表示仿真時(shí)間30min,縱軸表示不同服務(wù) 器的負(fù)載。如圖3(a)三個(gè)服務(wù)器的負(fù)載不夠均衡,第三個(gè)服務(wù)器承擔(dān)了更多的網(wǎng)絡(luò)請(qǐng)求。 圖3(b)三臺(tái)服務(wù)器的負(fù)載較為均衡,比較平均得承擔(dān)了網(wǎng)絡(luò)請(qǐng)求。使用改進(jìn)后的ASAMT算 法之后各服務(wù)器的負(fù)載均衡與最小流量調(diào)度算法相比更優(yōu)。
圖4所示為服務(wù)器處理請(qǐng)求的延遲示意圖,分別為個(gè)服務(wù)器處理客戶端請(qǐng)求的延 遲分析,圖中第一部分為網(wǎng)絡(luò)整體延遲,下面三部分為三個(gè)客戶端發(fā)送請(qǐng)求的延遲,平均延 遲小于0. 00002秒,三個(gè)服務(wù)器間并無(wú)顯著差異,對(duì)請(qǐng)求處理無(wú)影響,說(shuō)明ASAMT算法并未 造成請(qǐng)求延遲。
如圖5所示為兩種算法各服務(wù)器請(qǐng)求的有效性的分析示意圖;根據(jù)服務(wù)器的負(fù)載 來(lái)看,各請(qǐng)求到達(dá)服務(wù)器端有效性均大于零,且各個(gè)節(jié)點(diǎn)對(duì)服務(wù)器的請(qǐng)求有效性并無(wú)顯著差異。
實(shí)施例二
參照?qǐng)D6,示出了本發(fā)明的一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡裝置結(jié)構(gòu)圖,所述 裝置包括
采集模塊601,用于實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù);所述服務(wù)器狀態(tài)參數(shù)包括CPU負(fù) 載,網(wǎng)絡(luò)流量,內(nèi)存占用率;
比較模塊602,用于計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè) 管理閥值進(jìn)行比較;
處理模塊603,用于當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),將對(duì)應(yīng)服務(wù) 器的響應(yīng)停止預(yù)設(shè)時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到 負(fù)載加權(quán)值最小的服務(wù)器上。
優(yōu)選的,所述比較模塊中預(yù)設(shè)管理閥值為一個(gè)或多個(gè),則
各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值;
或,各服務(wù)器分別對(duì)應(yīng)一個(gè)預(yù)設(shè)管理閥值。
優(yōu)選的,所述比較模塊通過(guò)對(duì)服務(wù)器各狀態(tài)參數(shù)與其對(duì)應(yīng)權(quán)重的乘積求和獲取。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與 其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可。對(duì)于裝置實(shí)施例 而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部 分說(shuō)明即可。
以上對(duì)本發(fā)明所提供的一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法和裝置進(jìn)行了 詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的 說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依 據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說(shuō)明書(shū)內(nèi)容 不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法,其特征在于,所述方法包括實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù);所述服務(wù)器狀態(tài)參數(shù)包括CPU負(fù)載,網(wǎng)絡(luò)流量,內(nèi)存占用率;計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較; 當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),將對(duì)應(yīng)服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間 段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù)載加權(quán)值最小的服務(wù)器上。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)管理閥值為一個(gè)或多個(gè),則 各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值;或,各服務(wù)器分別對(duì)應(yīng)一個(gè)預(yù)設(shè)管理閥值。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值時(shí),所 述方法在計(jì)算各服務(wù)器的負(fù)載加權(quán)值后,包括將負(fù)載加權(quán)值中最大的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較; 當(dāng)最大的負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),比較下一最大負(fù)載加權(quán)值與預(yù)設(shè) 管理閥值,直到所比較負(fù)載加權(quán)值不大于預(yù)設(shè)管理閥值,同時(shí)將負(fù)載加權(quán)值大于預(yù)設(shè)閥值 的服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間段;重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分 配到負(fù)載加權(quán)值最小的服務(wù)器上。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于所述負(fù)載加權(quán)值通過(guò)對(duì)服務(wù)器各狀態(tài)參數(shù)與其對(duì)應(yīng)權(quán)重的乘積求和獲取。
5.一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡裝置,其特征在于,所述裝置包括采集模塊,用于實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù);所述服務(wù)器狀態(tài)參數(shù)包括CPU負(fù)載,網(wǎng)絡(luò) 流量,內(nèi)存占用率;比較模塊,用于計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè)管理閥 值進(jìn)行比較;處理模塊,用于當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),將對(duì)應(yīng)服務(wù)器的響 應(yīng)停止預(yù)設(shè)時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù)載加 權(quán)值最小的服務(wù)器上。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述比較模塊中預(yù)設(shè)管理閥值為一個(gè)或 多個(gè),則各服務(wù)器對(duì)應(yīng)同一預(yù)設(shè)管理閥值; 或,各服務(wù)器分別對(duì)應(yīng)一個(gè)預(yù)設(shè)管理閥值。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于所述比較模塊通過(guò)對(duì)服務(wù)器各狀態(tài)參數(shù)與其對(duì)應(yīng)權(quán)重的乘積求和獲取。
全文摘要
本發(fā)明提供了一種基于認(rèn)知網(wǎng)絡(luò)的自適應(yīng)負(fù)載均衡方法和裝置,通過(guò)實(shí)時(shí)采集各服務(wù)器狀態(tài)參數(shù),計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將所計(jì)算的負(fù)載加權(quán)值與預(yù)設(shè)管理閥值進(jìn)行比較,當(dāng)存在負(fù)載加權(quán)值大于預(yù)設(shè)管理閥值的服務(wù)器時(shí),將對(duì)應(yīng)服務(wù)器的響應(yīng)停止預(yù)設(shè)時(shí)間段后,重新計(jì)算各服務(wù)器的負(fù)載加權(quán)值,并將最新負(fù)載請(qǐng)求分配到負(fù)載加權(quán)值最小的服務(wù)器上,從而實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)業(yè)務(wù)流實(shí)時(shí)、動(dòng)態(tài)的調(diào)度,使得業(yè)務(wù)量在整個(gè)網(wǎng)絡(luò)中均勻分布,減少網(wǎng)絡(luò)擁塞。
文檔編號(hào)H04L12/56GK102035737SQ201010586289
公開(kāi)日2011年4月27日 申請(qǐng)日期2010年12月8日 優(yōu)先權(quán)日2010年12月8日
發(fā)明者華蕊, 尚小溥, 張潤(rùn)彤, 朱曉敏, 李丹丹, 谷秀君, 邢婷 申請(qǐng)人:北京交通大學(xué)