本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種服務(wù)器調(diào)度方法、裝置和系統(tǒng)。
背景技術(shù):
服務(wù)器,作為提供計(jì)算服務(wù)的設(shè)備,由于需要響應(yīng)服務(wù)請求,并進(jìn)行處理,因此一般來說應(yīng)具備承擔(dān)服務(wù)并且保障服務(wù)的能力。但是,隨著通信技術(shù)的發(fā)展,單一的服務(wù)器已經(jīng)遠(yuǎn)遠(yuǎn)不足以提供高質(zhì)量的服務(wù),因此,現(xiàn)有技術(shù)提出了集群的概念。集群是一組相互獨(dú)立的、通過高速網(wǎng)絡(luò)互聯(lián)的計(jì)算機(jī),它們構(gòu)成了一個(gè)組,并以單一系統(tǒng)的模式加以管理,由于集群系統(tǒng)的構(gòu)建是模塊化的,因此,可以將一個(gè)網(wǎng)際協(xié)議(IP,Internet Protocol)地址或一組IP地址的計(jì)算機(jī)的集合稱為一個(gè)模塊,即一個(gè)模塊中可以包括至少一個(gè)計(jì)算機(jī)(服務(wù)器)。一個(gè)客戶與集群相互作用時(shí),集群像是一個(gè)獨(dú)立的大服務(wù)器,而實(shí)際上,集群中的每一個(gè)模塊中,又包括了多個(gè)獨(dú)立的服務(wù)器,因此,如何對這些模塊中的服務(wù)器進(jìn)行合理的調(diào)度,是保障集群性能的一個(gè)極為重要的問題。
在傳統(tǒng)技術(shù)中,一般都會采用輪詢的方式來對模塊中的服務(wù)器進(jìn)行調(diào)度,即把每一次來自用戶的請求輪流分配給內(nèi)部中的服務(wù)器,但是這種方式會導(dǎo)致一些性能較差的服務(wù)器負(fù)載過大,而一些性能較好的服務(wù)器則資源過剩,因此,鑒于每個(gè)服務(wù)器的處理能力不同,現(xiàn)有技術(shù)又提出加權(quán)調(diào)度方案,即根據(jù)服務(wù)器的不同處理能力,給每個(gè)服務(wù)器分配不同的權(quán)值,使其接受相應(yīng)權(quán)值數(shù)的服務(wù)請求。其中,權(quán)值指的是加權(quán)平均數(shù)中的每個(gè)數(shù)的頻數(shù),也稱為權(quán)數(shù)或權(quán)重。
在對現(xiàn)有技術(shù)的研究和實(shí)踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有方案難以適應(yīng)服務(wù)器運(yùn)行過程中服務(wù)請求承載能力的非線性變化,因此,調(diào)度效果并不佳,影響處理效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種服務(wù)器調(diào)度方法、裝置和系統(tǒng),可以根據(jù)服務(wù)器運(yùn)行過程中服務(wù)請求承載能力的非線性變化靈活進(jìn)行調(diào)度,改善調(diào)度效果,提高 處理效率。
本發(fā)明實(shí)施例提供一種服務(wù)器調(diào)度方法,包括:
獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值;
采集所述各服務(wù)器的負(fù)載信息;
根據(jù)所述負(fù)載信息對所述初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值;
將所述調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器,以觸發(fā)生效;
在生效后,根據(jù)所述調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度。
相應(yīng)的,本發(fā)明實(shí)施例還提供一種服務(wù)器調(diào)度裝置,包括:
獲取單元,用于獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值;
采集單元,用于采集所述各服務(wù)器的負(fù)載信息;
調(diào)整單元,用于根據(jù)所述負(fù)載信息對所述初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值;
發(fā)送單元,用于將所述調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器,以觸發(fā)生效;
調(diào)度單元,用于在生效后,根據(jù)所述調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度。
此外,本發(fā)明實(shí)施例還提供一種服務(wù)器調(diào)度系統(tǒng),包括本發(fā)明實(shí)施例所提供的任一種服務(wù)器調(diào)度裝置。
本發(fā)明實(shí)施例采用獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值,并采集各服務(wù)器的負(fù)載信息,然后根據(jù)負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值,并基于該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度;由于該方案可以根據(jù)服務(wù)器的負(fù)載情況對調(diào)度權(quán)值進(jìn)行調(diào)整,而服務(wù)器的負(fù)載情況,又可以反映出服務(wù)器在運(yùn)行過程中服務(wù)請求承載能力的非線性變化,因此,可以更加靈活、準(zhǔn)確合理地進(jìn)行任務(wù)調(diào)度,使得集群模塊可以時(shí)刻運(yùn)行在自動平衡狀態(tài)下,不會出現(xiàn)集群模塊內(nèi)服務(wù)器負(fù)載分離的場景,保障業(yè)務(wù)安全;而且,由于調(diào)度權(quán)值是由系統(tǒng)自動下發(fā)的,因此,可以降低由人工變更的成本和風(fēng)險(xiǎn);總而言之,采用該方案,可以改善調(diào)度效果,以及提高處理效率和業(yè)務(wù)安全性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1a是本發(fā)明實(shí)施例提供的服務(wù)器調(diào)度系統(tǒng)的場景示意圖;
圖1b是本發(fā)明實(shí)施例提供的服務(wù)器調(diào)度方法的流程圖;
圖2是本發(fā)明實(shí)施例提供的服務(wù)器調(diào)度方法的另一流程圖;
圖3a是本發(fā)明實(shí)施例提供的服務(wù)器調(diào)度裝置的結(jié)構(gòu)示意圖;
圖3b是本發(fā)明實(shí)施例提供的服務(wù)器調(diào)度裝置的另一結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例提供一種服務(wù)器調(diào)度方法、裝置和系統(tǒng)。
該服務(wù)器調(diào)度系統(tǒng)可以包括本發(fā)明實(shí)施例所提供的任一種服務(wù)器調(diào)度裝置,如圖1a所示,該服務(wù)器調(diào)度裝置具體可以集成在用于調(diào)度的服務(wù)器如調(diào)度設(shè)備中。此外,該服務(wù)器調(diào)度系統(tǒng)還可以包括其他的設(shè)備,比如集群模塊,其中,該集群模塊可以包括多個(gè)服務(wù)器,比如應(yīng)用服務(wù)器,這些服務(wù)器除了可以根據(jù)調(diào)度設(shè)備調(diào)度,接收相應(yīng)的服務(wù)請求,并對服務(wù)請求進(jìn)行處理之外,還可以將自身的初始調(diào)度權(quán)值和負(fù)載信息上報(bào)給調(diào)度設(shè)備。例如,具體可以如下:
調(diào)度設(shè)備獲取集群模塊內(nèi)各服務(wù)器,如應(yīng)用服務(wù)器的初始調(diào)度權(quán)值,并采集該各服務(wù)器的負(fù)載信息,然后,根據(jù)該負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值,然后,基于該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度,比如,可以將該調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器,以觸發(fā)生效,在生效后,根據(jù)該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度,等等。
以下將分別進(jìn)行詳細(xì)說明。
實(shí)施例一、
本實(shí)施例將從服務(wù)器調(diào)度裝置的角度進(jìn)行描述,該服務(wù)器調(diào)度裝置具體可以集成在調(diào)度設(shè)備或其他可以用于控制和調(diào)度的網(wǎng)絡(luò)設(shè)備中。
一種服務(wù)器調(diào)度方法,包括:獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值,采集該各服務(wù)器的負(fù)載信息,根據(jù)該負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值,將該調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器,以觸發(fā)生效,在生效后,根據(jù)該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度。
如圖1b所示,該服務(wù)器調(diào)度方法的具體流程可以如下:
101、獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值。
其中,集群模塊中各個(gè)服務(wù)器的初始調(diào)度權(quán)值可以預(yù)先進(jìn)行設(shè)置,即在步驟“獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值”之前,該服務(wù)器調(diào)度方法還可以包括:
設(shè)置集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值。
比如,可以獲取集群模塊內(nèi)各服務(wù)器的硬件信息,比如中央處理器(CPU,Central Processing Unit)、內(nèi)存和/或網(wǎng)卡等的性能信息,然后,根據(jù)該硬件信息分別對各服務(wù)器初始調(diào)度權(quán)值進(jìn)行設(shè)置。
102、采集該各服務(wù)器的負(fù)載信息。
其中,負(fù)載信息可以由各個(gè)服務(wù)器對自身在運(yùn)行過程中的負(fù)載進(jìn)行采集,得到負(fù)載采樣值,然后將該負(fù)載采樣值進(jìn)行上報(bào),即步驟“采集該各服務(wù)器的負(fù)載信息”可以包括:
接收各服務(wù)器在運(yùn)行過程中所采集的負(fù)載采樣值,從該負(fù)載采樣值中確定最大負(fù)載采樣值,并記錄該最大負(fù)載采樣值。
103、根據(jù)該負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值。
其中,根據(jù)該負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整的方式可以有多種,具體可以根據(jù)實(shí)際應(yīng)用的需求而定,例如,具體可以如下:
確定當(dāng)前需要進(jìn)行調(diào)整的初始調(diào)度權(quán)值,得到第一權(quán)值,確定該第一權(quán)值所對應(yīng)的服務(wù)器的負(fù)載采樣值,得到第一負(fù)載采樣值,計(jì)算該最大負(fù)載采樣值和該第一負(fù)載采樣值的比值,將第一權(quán)值乘以該比值,得到對應(yīng)的調(diào)整后調(diào)度 權(quán)值,若用公式表示,則可以如下:
其中,wn為服務(wù)器n的初始調(diào)度權(quán)值(即第一權(quán)值),λmax為最大負(fù)載采樣值,λn為服務(wù)器n的負(fù)載采樣值(即第一負(fù)載采樣值),w為調(diào)整后調(diào)度權(quán)值。其中,n為正整數(shù)。
以此類推,可以采用上述方法計(jì)算出各個(gè)服務(wù)器的調(diào)整后調(diào)度權(quán)值。
104、將該調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器,以觸發(fā)生效。
例如,在對初始調(diào)度權(quán)值w1進(jìn)行調(diào)整之后,可以將得到的調(diào)整后調(diào)度權(quán)值發(fā)送給對應(yīng)的服務(wù)器1,以對原初始調(diào)度權(quán)值w1進(jìn)行更新,從而觸發(fā)生效;在對初始調(diào)度權(quán)值w2進(jìn)行調(diào)整之后,可以將得到的調(diào)整后調(diào)度權(quán)值發(fā)送給對應(yīng)的服務(wù)器2,以對原初始調(diào)度權(quán)值w2進(jìn)行更新,從而觸發(fā)生效,依次類推,等等。
105、在生效后,根據(jù)該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度。
例如,具體可以根據(jù)調(diào)整后調(diào)度權(quán)值為各個(gè)服務(wù)器分配服務(wù)請求,使其接受相應(yīng)權(quán)值數(shù)的服務(wù)請求,等等,在此不再贅述。
由上可知,本實(shí)施例采用獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值,并采集各服務(wù)器的負(fù)載信息,然后根據(jù)負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值,并基于該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度;由于該方案可以根據(jù)服務(wù)器的負(fù)載情況對調(diào)度權(quán)值進(jìn)行調(diào)整,而服務(wù)器的負(fù)載情況,又可以反映出服務(wù)器在運(yùn)行過程中服務(wù)請求承載能力的非線性變化,因此,可以更加靈活、準(zhǔn)確合理地進(jìn)行任務(wù)調(diào)度,使得集群模塊可以時(shí)刻運(yùn)行在自動平衡狀態(tài)下,不會出現(xiàn)集群模塊內(nèi)服務(wù)器負(fù)載分離的場景,保障業(yè)務(wù)安全;而且,由于調(diào)度權(quán)值是由系統(tǒng)自動下發(fā)的,因此,可以降低由人工變更的成本和風(fēng)險(xiǎn);總而言之,采用該方案,可以改善調(diào)度效果,以及提高處理效率和業(yè)務(wù)安全性。
實(shí)施例二、
根據(jù)實(shí)施例一所描述的方法,以下將舉例作進(jìn)一步詳細(xì)說明。
在本實(shí)施例中,將以該服務(wù)器調(diào)度裝置具體集成在調(diào)度設(shè)備為例進(jìn)行說 明。
如圖2所示,一種服務(wù)器調(diào)度方法,具體流程可以如下:
201、調(diào)度設(shè)備獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值(w1w2…wn)
例如,調(diào)度設(shè)備可以接收集群模塊在獲取到各個(gè)服務(wù)器的初始調(diào)度權(quán)值后,統(tǒng)一上報(bào)的初始調(diào)度權(quán)值集合,其中,該初始調(diào)度權(quán)值集合包括各個(gè)服務(wù)器的初始調(diào)度權(quán)值。
或者,又例如,調(diào)度設(shè)備可以接收各個(gè)服務(wù)器分別發(fā)送的初始調(diào)度權(quán)值,比如,可以接收服務(wù)器1發(fā)送的初始調(diào)度權(quán)值w1,接收服務(wù)器2發(fā)送的初始調(diào)度權(quán)值w2,……,接收服務(wù)器n發(fā)送的初始調(diào)度權(quán)值wn,以此類推,等等。
其中,集群模塊中各個(gè)服務(wù)器的初始調(diào)度權(quán)值(w1w2…wn)可以預(yù)先根據(jù)各個(gè)服務(wù)器的硬件信息,比如CPU、內(nèi)存和/或網(wǎng)卡等的性能信息進(jìn)行設(shè)置。
202、調(diào)度設(shè)備接收各服務(wù)器上報(bào)的負(fù)載采樣值(λ1λ2…λn)。
例如,可以接收集群模塊在獲取到各個(gè)服務(wù)器上報(bào)的負(fù)載采樣值之后,統(tǒng)一上報(bào)的負(fù)載采樣值集合,其中,該負(fù)載采樣值集合包括各個(gè)服務(wù)器的負(fù)載采樣值;或者,也可以接收各個(gè)服務(wù)器分別上報(bào)的負(fù)載采樣值,比如,可以接收服務(wù)器1上報(bào)的負(fù)載采樣值λ1,接收服務(wù)器2上報(bào)的負(fù)載采樣值λ2,……,接收服務(wù)器n上報(bào)的負(fù)載采樣值λn,以此類推,等等。
其中,這些負(fù)載采樣值由各個(gè)服務(wù)器對自身在運(yùn)行過程中的負(fù)載進(jìn)行采集所得。負(fù)載可以是某個(gè)預(yù)設(shè)時(shí)間點(diǎn)的負(fù)載,比如CPU、內(nèi)存和/或網(wǎng)卡的使用情況等,也可以是某段時(shí)間的平均負(fù)載,比如在預(yù)設(shè)時(shí)間間隔內(nèi)運(yùn)行隊(duì)列中的平均進(jìn)程樹,等等,在此不再贅述。
203、調(diào)度設(shè)備從這些負(fù)載采樣值中確定最大負(fù)載采樣值,并記錄該最大負(fù)載采樣值λmax。
例如,如果接收到λ1,λ2,λ3和λ4,其中,λ1最大,則此時(shí),可以確定λmax為λ1,并記錄該λmax。
204、調(diào)度設(shè)備根據(jù)該負(fù)載信息對這些初始調(diào)度權(quán)值(w1w2…wn)進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值。例如,具體可以如下:
確定當(dāng)前需要進(jìn)行調(diào)整的初始調(diào)度權(quán)值,得到第一權(quán)值,確定該第一權(quán)值 所對應(yīng)的服務(wù)器的負(fù)載采樣值,得到第一負(fù)載采樣值,計(jì)算該最大負(fù)載采樣值和該第一負(fù)載采樣值的比值,將第一權(quán)值乘以該比值,得到對應(yīng)的調(diào)整后調(diào)度權(quán)值,若用公式表示,則為:
其中,wn為服務(wù)器n的初始調(diào)度權(quán)值(即第一權(quán)值),λmax為最大負(fù)載采樣值,λn為服務(wù)器n的負(fù)載采樣值(即第一負(fù)載采樣值),w為調(diào)整后調(diào)度權(quán)值。其中,n為正整數(shù)。
以此類推,可以采用上述方法計(jì)算出各個(gè)服務(wù)器的調(diào)整后調(diào)度權(quán)值。
205、調(diào)度設(shè)備將該調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器。
例如,在對初始調(diào)度權(quán)值w1進(jìn)行調(diào)整之后,可以將得到的調(diào)整后調(diào)度權(quán)值發(fā)送給對應(yīng)的服務(wù)器1;在對初始調(diào)度權(quán)值w2進(jìn)行調(diào)整之后,可以將得到的調(diào)整后調(diào)度權(quán)值發(fā)送給對應(yīng)的服務(wù)器2,依次類推,等等。
206、各個(gè)服務(wù)器在接收到該調(diào)整后調(diào)度權(quán)值后,根據(jù)該調(diào)整后調(diào)度權(quán)值對原初始調(diào)度權(quán)值進(jìn)行更新并觸發(fā)生效。
例如,服務(wù)器1在接收到調(diào)整后調(diào)度權(quán)值后,利用該調(diào)整后調(diào)度權(quán)值對原初始調(diào)度權(quán)值w1進(jìn)行更新,從而觸發(fā)生效;服務(wù)器2在接收到調(diào)整后調(diào)度權(quán)值后,利用該調(diào)整后調(diào)度權(quán)值對原初始調(diào)度權(quán)值w2進(jìn)行更新,從而觸發(fā)生效,依次類推,等等。
207、在生效后,調(diào)度設(shè)備根據(jù)該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度。
例如,具體可以根據(jù)調(diào)整后調(diào)度權(quán)值為各個(gè)服務(wù)器分配服務(wù)請求,使其接受相應(yīng)權(quán)值數(shù)的服務(wù)請求,等等,在此不再贅述。
由上可知,本實(shí)施例采用獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值,并采集各服務(wù)器的負(fù)載信息,然后根據(jù)負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值,并基于該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度;由于該方案可以根據(jù)服務(wù)器的負(fù)載情況對調(diào)度權(quán)值進(jìn)行調(diào)整,而服務(wù)器的負(fù)載情況,又可以反映出服務(wù)器在運(yùn)行過程中服務(wù)請求承載能力的非線性變化,因此,可 以更加靈活、準(zhǔn)確合理地進(jìn)行任務(wù)調(diào)度,使得集群模塊可以時(shí)刻運(yùn)行在自動平衡狀態(tài)下,不會出現(xiàn)集群模塊內(nèi)服務(wù)器負(fù)載分離的場景,保障業(yè)務(wù)安全;而且,由于調(diào)度權(quán)值是由系統(tǒng)自動下發(fā)的,因此,可以降低由人工變更的成本和風(fēng)險(xiǎn);總而言之,采用該方案,可以改善調(diào)度效果,以及提高處理效率和業(yè)務(wù)安全性。
實(shí)施例三、
為了更好地實(shí)施以上方法,本發(fā)明實(shí)施例還提供一種服務(wù)器調(diào)度裝置,如圖3a所示,該服務(wù)器調(diào)度裝置包括獲取單元301、采集單元302、調(diào)整單元303、發(fā)送單元304和調(diào)度單元305,如下:
獲取單元301,用于獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值。
采集單元302,用于采集該各服務(wù)器的負(fù)載信息。
調(diào)整單元303,用于根據(jù)該負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值。
發(fā)送單元304,用于將該調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器,以觸發(fā)生效。
例如,在對初始調(diào)度權(quán)值w1進(jìn)行調(diào)整之后,發(fā)送單元304可以將得到的調(diào)整后調(diào)度權(quán)值發(fā)送給對應(yīng)的服務(wù)器1,以對原初始調(diào)度權(quán)值w1進(jìn)行更新,從而觸發(fā)生效;在對初始調(diào)度權(quán)值w2進(jìn)行調(diào)整之后,發(fā)送單元304可以將得到的調(diào)整后調(diào)度權(quán)值發(fā)送給對應(yīng)的服務(wù)器2,以對原初始調(diào)度權(quán)值w2進(jìn)行更新,從而觸發(fā)生效,依次類推,等等。
調(diào)度單元305,用于在生效后,根據(jù)該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度。
例如,調(diào)度單元305具體可以根據(jù)調(diào)整后調(diào)度權(quán)值為各個(gè)服務(wù)器分配服務(wù)請求,使其接受相應(yīng)權(quán)值數(shù)的服務(wù)請求,等等,在此不再贅述。
其中,負(fù)載信息可以由各個(gè)服務(wù)器對自身在運(yùn)行過程中的負(fù)載進(jìn)行采集,得到負(fù)載采樣值,然后將該負(fù)載采樣值進(jìn)行上報(bào),即:
該采集單元302,具體可以用于接收該各服務(wù)器在運(yùn)行過程中所采集的負(fù)載采樣值,從該負(fù)載采樣值中確定最大負(fù)載采樣值,并記錄該最大負(fù)載采樣值。
其中,根據(jù)該負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整的方式可以有多種,具 體可以根據(jù)實(shí)際應(yīng)用的需求而定,例如,具體可以如下:
該調(diào)整單元303,具體可以用于確定當(dāng)前需要進(jìn)行調(diào)整的初始調(diào)度權(quán)值,得到第一權(quán)值,確定該第一權(quán)值所對應(yīng)的服務(wù)器的負(fù)載采樣值,得到第一負(fù)載采樣值,計(jì)算該最大負(fù)載采樣值和該第一負(fù)載采樣值的比值,將第一權(quán)值乘以該比值,得到對應(yīng)的調(diào)整后調(diào)度權(quán)值,若用公式表示,則可以如下:
其中,wn為服務(wù)器n的初始調(diào)度權(quán)值(即第一權(quán)值),λmax為最大負(fù)載采樣值,λn為服務(wù)器n的負(fù)載采樣值(即第一負(fù)載采樣值),w為調(diào)整后調(diào)度權(quán)值。其中,n為正整數(shù)。
以此類推,可以采用上述方法計(jì)算出各個(gè)服務(wù)器的調(diào)整后調(diào)度權(quán)值。
其中,集群模塊中各個(gè)服務(wù)器的初始調(diào)度權(quán)值可以預(yù)先進(jìn)行設(shè)置,即如圖3b所示,該服務(wù)器調(diào)度裝置還可以包括設(shè)置單元306,如下:
設(shè)置單元306,用于設(shè)置集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值。
例如,該設(shè)置單元306,具體可以用于獲取集群模塊內(nèi)各服務(wù)器的硬件信息,根據(jù)該硬件信息分別對各服務(wù)器初始調(diào)度權(quán)值進(jìn)行設(shè)置。
其中,硬件信息可以包括CPU內(nèi)存和/或網(wǎng)卡等的性能信息。
具體實(shí)施時(shí),以上各個(gè)單元可以作為獨(dú)立的實(shí)體來實(shí)現(xiàn),也可以進(jìn)行任意組合,作為同一或若干個(gè)實(shí)體來實(shí)現(xiàn),以上各個(gè)單元的具體實(shí)施可參見前面的方法實(shí)施例,在此不再贅述。
該服務(wù)器調(diào)度裝置具體可以集成在調(diào)度設(shè)備或其他可以用于控制和調(diào)度的網(wǎng)絡(luò)設(shè)備中。
由上可知,本實(shí)施例的服務(wù)器調(diào)度裝置的獲取單元301可以獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值,并由采集單元302采集各服務(wù)器的負(fù)載信息,然后由調(diào)整單元303根據(jù)負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值,并由調(diào)度單元305基于該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度;由于該方案可以根據(jù)服務(wù)器的負(fù)載情況對調(diào)度權(quán)值進(jìn)行調(diào)整,而服務(wù)器的負(fù)載情況,又可以反映出服務(wù)器在運(yùn)行過程中服務(wù)請求承載能力的非線性變化,因此, 可以更加靈活、準(zhǔn)確合理地進(jìn)行任務(wù)調(diào)度,使得集群模塊可以時(shí)刻運(yùn)行在自動平衡狀態(tài)下,不會出現(xiàn)集群模塊內(nèi)服務(wù)器負(fù)載分離的場景,保障業(yè)務(wù)安全;而且,由于調(diào)度權(quán)值是由系統(tǒng)自動下發(fā)的,因此,可以降低由人工變更的成本和風(fēng)險(xiǎn);總而言之,采用該方案,可以改善調(diào)度效果,以及提高處理效率和業(yè)務(wù)安全性。
實(shí)施例四、
此外,本發(fā)明實(shí)施例還提供一種服務(wù)器調(diào)度系統(tǒng),包括本發(fā)明實(shí)施例所提供的任一種服務(wù)器調(diào)度裝置,具體可以參見實(shí)施例三。其中,該服務(wù)器調(diào)度裝置可以集成在調(diào)度設(shè)備中,例如,可以如下:
調(diào)度設(shè)備,用于獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值,采集該各服務(wù)器的負(fù)載信息,根據(jù)該負(fù)載信息對該初始調(diào)度權(quán)值進(jìn)行調(diào)整,得到調(diào)整后調(diào)度權(quán)值,將該調(diào)整后調(diào)度權(quán)值分別發(fā)送給對應(yīng)的服務(wù)器,以觸發(fā)生效,在生效后,根據(jù)該調(diào)整后調(diào)度權(quán)值對各服務(wù)器進(jìn)行任務(wù)調(diào)度。
例如,該調(diào)度設(shè)備,具體可以用于獲取集群模塊內(nèi)各服務(wù)器的初始調(diào)度權(quán)值,以及接收各服務(wù)器在運(yùn)行過程中所采集的負(fù)載采樣值,從該負(fù)載采樣值中確定最大負(fù)載采樣值,并記錄該最大負(fù)載采樣值,然后,確定當(dāng)前需要進(jìn)行調(diào)整的初始調(diào)度權(quán)值,得到第一權(quán)值,確定該第一權(quán)值所對應(yīng)的服務(wù)器的負(fù)載采樣值,得到第一負(fù)載采樣值,計(jì)算該最大負(fù)載采樣值和該第一負(fù)載采樣值的比值,將第一權(quán)值乘以該比值,得到對應(yīng)的調(diào)整后調(diào)度權(quán)值,具體如下:
其中,wn為服務(wù)器n的初始調(diào)度權(quán)值(即第一權(quán)值),λmax為最大負(fù)載采樣值,λn為服務(wù)器n的負(fù)載采樣值(即第一負(fù)載采樣值),w為調(diào)整后調(diào)度權(quán)值。其中,n為正整數(shù)。
該服務(wù)器調(diào)度系統(tǒng)還可以包括其他的設(shè)備,比如集群模塊,其中,該集群模塊可以包括多個(gè)服務(wù)器,如下:
服務(wù)器,用于將自身的初始調(diào)度權(quán)值和負(fù)載信息上報(bào)給調(diào)度設(shè)備,以及根據(jù)調(diào)度設(shè)備調(diào)度,接收相應(yīng)的服務(wù)請求,并對服務(wù)請求進(jìn)行處理
以上各個(gè)設(shè)備的具體實(shí)施可參見前面的實(shí)施例,在此不再贅述。
由于該服務(wù)器調(diào)度系統(tǒng)可以包括本發(fā)明實(shí)施例所提供的任一種服務(wù)器調(diào)度裝置,因此,可以實(shí)現(xiàn)本發(fā)明實(shí)施例所提供的任一種服務(wù)器調(diào)度裝置所能實(shí)現(xiàn)的有益效果,詳見前面的實(shí)施例,在此不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計(jì)算機(jī)可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(ROM,Read Only Memory)、隨機(jī)存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。
以上對本發(fā)明實(shí)施例所提供的一種服務(wù)器調(diào)度方法、裝置和系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。