一種云計算服務(wù)器自適應(yīng)負載均衡控制方法及控制系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種云計算服務(wù)器自適應(yīng)負載均衡控制方法及控制系統(tǒng)。
【背景技術(shù)】
[0002]在下一代網(wǎng)絡(luò)中,采用了軟交換技術(shù),實現(xiàn)了呼叫控制與業(yè)務(wù)提供的分離。軟交換系統(tǒng)中引入了應(yīng)用服務(wù)器,為第三方的業(yè)務(wù)提供開發(fā)和運行平臺。為了提高滿足業(yè)務(wù)系統(tǒng)的大容量需求,需要多個應(yīng)用服務(wù)器組成集群系統(tǒng)。集群中的每一業(yè)務(wù)服務(wù)器都會安裝一個配置客戶端軟件,定時向稱之為配置中心的服務(wù)器上報自身的工作狀態(tài),當(dāng)配置中心服務(wù)器在一段時間內(nèi)沒有收到某一業(yè)務(wù)服務(wù)器的狀態(tài)上報時,則認為該業(yè)務(wù)服務(wù)器發(fā)生故障,將該業(yè)務(wù)服務(wù)器排除到集群外,而當(dāng)配置中心服務(wù)器接收到由于故障被排除在集群之外的業(yè)務(wù)服務(wù)器上報的工作狀態(tài)時,則認為該業(yè)務(wù)服務(wù)器恢復(fù)工作,將該業(yè)務(wù)服務(wù)器加入集群。
[0003]為了便于客戶端順利訪問業(yè)務(wù)服務(wù)器,連接客戶端的每一接入服務(wù)器定時從配置中心服務(wù)器獲取集群中的業(yè)務(wù)服務(wù)器列表,當(dāng)接入服務(wù)器收到客戶端的請求包后,采用負載均衡算法將請求包轉(zhuǎn)發(fā)給對應(yīng)的業(yè)務(wù)服務(wù)器處理。
[0004]其中,負載均衡算法是:由配置中心服務(wù)器預(yù)先為集群中的每臺業(yè)務(wù)服務(wù)器設(shè)置最大配額,其中,業(yè)務(wù)服務(wù)器處理能力越強,配額值就越大,接入服務(wù)器根據(jù)這些最大配額值的比例分發(fā)請求包。例如,假如業(yè)務(wù)服務(wù)器列表中共有3臺業(yè)務(wù)服務(wù)器,最大配額分別為100、100、200,那么,單位時間內(nèi),假如接入服務(wù)器有800個請求包需要分發(fā),這3臺業(yè)務(wù)服務(wù)器分別收到的請求包是200、200、400。
[0005]從接入服務(wù)器的視角看,業(yè)務(wù)服務(wù)器的服務(wù)質(zhì)量,不僅取決于業(yè)務(wù)服務(wù)器自身的處理能力,還取決于兩者之間的網(wǎng)絡(luò)帶寬、網(wǎng)絡(luò)時延、以及該業(yè)務(wù)服務(wù)器外部環(huán)境的變化等,而現(xiàn)有采用的負載均衡算法,僅按照業(yè)務(wù)服務(wù)器的最大配額值比例分發(fā)請求包,即僅考慮了業(yè)務(wù)服務(wù)器自身的處理能力,而當(dāng)通往業(yè)務(wù)服務(wù)器的網(wǎng)絡(luò)出現(xiàn)擁塞、丟包,或該業(yè)務(wù)服務(wù)器自身性能下降時,接入服務(wù)器如果還按照最大配額值的比例分發(fā)請求包,這會導(dǎo)致業(yè)務(wù)服務(wù)器之間不能真正實現(xiàn)負載均衡。
[0006]在實現(xiàn)上述負載分發(fā)的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:負載被平均地分發(fā)到各個應(yīng)用服務(wù)器上,沒有考慮各個服務(wù)器的負載能力和實際負載狀況,可能導(dǎo)致有的服務(wù)器長時間處于高負載狀態(tài),而有的服務(wù)器長時間空閑,浪費了系統(tǒng)資源。
【發(fā)明內(nèi)容】
[0007]為克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的是:提供一種云計算服務(wù)器自適應(yīng)負載均衡控制方法和控制系統(tǒng)能夠最大限度地平衡各應(yīng)用服務(wù)器的負載,有效配置系統(tǒng)資源。
[0008]為了解決【背景技術(shù)】中的技術(shù)問題,本發(fā)明提供了一種云計算服務(wù)器自適應(yīng)負載均衡控制方法,包括以下步驟:
[0009]探測服務(wù)請求的響應(yīng)時間,計算所述服務(wù)請求的優(yōu)先級,將所述服務(wù)請求納入服務(wù)請求隊列,根據(jù)優(yōu)先級對所述請求隊列中的各個服務(wù)請求進行調(diào)度,把所述服務(wù)請求依次分配給相應(yīng)的服務(wù)器;
[0010]檢測并反饋所述服務(wù)器的節(jié)點參數(shù)信息,根據(jù)節(jié)點參數(shù)信息和分配到該服務(wù)器的服務(wù)請求的優(yōu)先級,計算服務(wù)器的節(jié)點分配權(quán)值,取出各個服務(wù)器的節(jié)點分配權(quán)值,并對服務(wù)器節(jié)點的權(quán)值進行更新;
[0011]動態(tài)采集各個服務(wù)器的實時負載情況,分析并重新計算集群中各個服務(wù)器性能,對分析結(jié)果進行審查,對是否存在網(wǎng)絡(luò)擁堵風(fēng)險進行評估和監(jiān)控,根據(jù)所述審查結(jié)果再分配請求隊列中的服務(wù)請求給服務(wù)器。
[0012]具體地,所述動態(tài)采集各個服務(wù)器的實時負載情況包括:
[0013]監(jiān)視和收集集群中各個結(jié)點的負載信息,服務(wù)器主機結(jié)點上的客戶端進程向采集部件報告服務(wù)器自身負載狀況的工作。
[0014]具體地,所述檢測并反饋所述服務(wù)器的節(jié)點參數(shù)信息,根據(jù)節(jié)點參數(shù)信息和分配到該服務(wù)器的服務(wù)請求的優(yōu)先級,計算服務(wù)器的節(jié)點分配權(quán)值包括:
[0015]檢測服務(wù)器節(jié)點的動態(tài)和靜態(tài)參數(shù),計算出分配指標(biāo)參數(shù),將響應(yīng)時間、動態(tài)參數(shù)、靜態(tài)參數(shù)和分配指標(biāo)參數(shù)存儲至數(shù)據(jù)結(jié)構(gòu),利用云自適應(yīng)遺傳算法計算服務(wù)器的節(jié)點分配權(quán)值,并根據(jù)遺傳算法的適應(yīng)度值自動生成交叉概率和變異概率。
[0016]具體地,在所述根據(jù)優(yōu)先級對所述請求隊列中的各個服務(wù)請求進行調(diào)度,把所述服務(wù)請求依次分配給相應(yīng)的服務(wù)器之前,還包括:
[0017]將探測到的響應(yīng)時間與理想響應(yīng)時間之間的誤差作為控制變量,設(shè)定控制周期,在每個控制周期,利用最小遞歸二乘法自動更新集群服務(wù)器的運行參數(shù),根據(jù)所述控制變量和更新得到的運行參數(shù),控制每個服務(wù)器的資源量。
[0018]具體地,所述計算服務(wù)器的節(jié)點分配權(quán)值還包括:
[0019]設(shè)定偏差閾值和閾值比較周期,在每個閾值比較周期,將計算出的分配權(quán)值與服務(wù)器當(dāng)前權(quán)值的差值同所述偏差閾值作比較,若差值大于偏差閾值,則給服務(wù)器節(jié)點更新權(quán)值,并將該服務(wù)器標(biāo)記待分配服務(wù)請求狀態(tài),若差值小于偏差閾值,則不給服務(wù)器節(jié)點更新權(quán)值,所述服務(wù)器不接受新的服務(wù)請求。
[0020]本發(fā)明還提供了一種云計算服務(wù)器自適應(yīng)負載均衡控制系統(tǒng),包括以下模塊:
[0021]響應(yīng)時間傳感模塊,用于探測服務(wù)請求的響應(yīng)時間;
[0022]調(diào)度模塊,用于計算所述服務(wù)請求的優(yōu)先級,將所述服務(wù)請求納入服務(wù)請求隊列,根據(jù)優(yōu)先級對所述請求隊列中的各個服務(wù)請求進行調(diào)度,把所述服務(wù)請求依次分配給相應(yīng)的服務(wù)器;
[0023]檢測模塊,用于檢測并反饋所述服務(wù)器的節(jié)點參數(shù)信息;
[0024]權(quán)值計算模塊,用于根據(jù)節(jié)點參數(shù)信息和分配到該服務(wù)器的服務(wù)請求的優(yōu)先級,計算服務(wù)器的節(jié)點分配權(quán)值;
[0025]權(quán)值更新模塊,用于取出各個服務(wù)器的節(jié)點分配權(quán)值,并對服務(wù)器節(jié)點的權(quán)值進行更新;
[0026]評估監(jiān)控模塊,用于動態(tài)采集各個服務(wù)器的實時負載情況,分析并重新計算集群中各個服務(wù)器性能,對分析結(jié)果進行審查,對是否存在網(wǎng)絡(luò)擁堵風(fēng)險進行評估和監(jiān)控,根據(jù)所述審查結(jié)果再分配請求隊列中的服務(wù)請求給服務(wù)器。
[0027]優(yōu)選地,所述評估監(jiān)控模塊用于監(jiān)視和收集集群中各個結(jié)點的負載信息,服務(wù)器主機結(jié)點上的客戶端進程向采集部件報告服務(wù)器自身負載狀況的工作。
[0028]具體地,所述檢測模塊用于檢測服務(wù)器節(jié)點的動態(tài)和靜態(tài)參數(shù),所述權(quán)值計算模塊用于計算出分配指標(biāo)參數(shù),并將響應(yīng)時間、動態(tài)參數(shù)、靜態(tài)參數(shù)和分配指標(biāo)參數(shù)存儲至數(shù)據(jù)結(jié)構(gòu),所述權(quán)值更新模塊用于利用云自適應(yīng)遺傳算法計算服務(wù)器的節(jié)點分配權(quán)值,并根據(jù)遺傳算法的適應(yīng)度值自動生成交叉概率和變異概率。
[0029]本發(fā)明提供的云計算服務(wù)器自適應(yīng)負載均衡控制系統(tǒng)還包括更新控制模塊,用于將探測到的響應(yīng)時間與理想響應(yīng)時間之間的誤差作為控制變量,設(shè)定控制周期,在每個控制周期,利用最小遞歸二乘法自動更新集群服務(wù)器的運行參數(shù),根據(jù)所述控制變量和更新得到的運行參數(shù),控制每個服務(wù)器的資源量。
[0030]具體地,所述權(quán)值計算模塊還用于:設(shè)定偏差閾值和閾值比較周期,在每個閾值比較周期,將計算出的分配權(quán)值與服務(wù)器當(dāng)前權(quán)值的差值同所述偏差閾值作比較,若差值大于偏差閾值,則給服務(wù)器節(jié)點更新權(quán)值,并將該服務(wù)器標(biāo)記待分配服務(wù)請求狀態(tài),若差值小于偏差閾值,則不給服務(wù)器節(jié)點更新權(quán)值,所述服務(wù)器不接受新的服務(wù)請求。
[0031]采用上述技術(shù)方案,本發(fā)明的云計算服務(wù)器自適應(yīng)負載均衡控制方法和控制系統(tǒng)能夠最大限度地平衡各應(yīng)用服務(wù)器的負載,有效配置系統(tǒng)資源。
【附圖說明】
[0032]為了更清楚地說明本發(fā)明的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它附圖。
[0033]圖1是現(xiàn)有技術(shù)中集群系統(tǒng)的示意框圖;
[0034]圖2是本發(fā)明實施例提供的云計算服務(wù)器自適應(yīng)負載均衡控制方法的流程示意圖;
[0035]圖3是本發(fā)明實施例提供的云計算服務(wù)器自適應(yīng)負載均衡控制系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0036]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0037]實施例1:圖2為本發(fā)明實施例提供的云計算服務(wù)器自適應(yīng)負載均衡控制方法的流程示意圖,從圖中可以清楚地看出,本實施例提供的云計算服務(wù)器自適應(yīng)負載均衡控制方法包括以下步驟:
[0038]探測服務(wù)請求的響應(yīng)時間,計算所述服務(wù)請求的優(yōu)先級,將所述服務(wù)請求納入服務(wù)請求隊列,根據(jù)優(yōu)先級對所述請求隊列中的各個服務(wù)請求進行調(diào)度,把所述服務(wù)請求依次分配給相應(yīng)的服務(wù)器;
[0039]檢測并反饋所述服務(wù)器的節(jié)點參數(shù)信息,根據(jù)節(jié)點參數(shù)信息和分配到該服務(wù)器的服務(wù)請求的優(yōu)先級,計算服務(wù)器的節(jié)點分配權(quán)值,取出各個服務(wù)器的節(jié)點分配權(quán)值,并對服務(wù)器節(jié)點的權(quán)值進行更新;
[0040]動態(tài)采集各個服務(wù)器的實時負載情況,分析并重新計算集群中各個服務(wù)器性能,對分析結(jié)果進行審查,對是否存在網(wǎng)絡(luò)擁堵風(fēng)險進行評估和監(jiān)控,根據(jù)所述審查結(jié)果再分配請求隊列中的服務(wù)請求給服務(wù)器。
[0041]具體地,所述動態(tài)采集各個服務(wù)器的實時負載情況包括:
[0042]監(jiān)視和收集集群中各個結(jié)點的負載信息,服務(wù)器主機結(jié)點上的客戶端進程向采集部件報告服務(wù)器自身負載狀況的工作。
[0043]具體地,所述檢測并反饋所述服務(wù)器