本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,特別是涉及一種容器的任務(wù)調(diào)度方法及裝置。
背景技術(shù):
容器是應(yīng)用服務(wù)器中位于組件和平臺(tái)之間的接口集合。隨著容器技術(shù)的興起,越來(lái)越多的軟件系統(tǒng)開(kāi)始采用以容器的形式分發(fā)和部署。在基于容器的任務(wù)處理系統(tǒng)中,容器的調(diào)度器擔(dān)負(fù)著將用戶任務(wù)分發(fā)至服務(wù)器的職責(zé)。
在具體實(shí)施中由于有多個(gè)用戶和多個(gè)服務(wù)器在參與,如何將每個(gè)用戶任務(wù)分發(fā)到當(dāng)前系統(tǒng)中的哪些服務(wù)器來(lái)執(zhí)行是調(diào)度器的一個(gè)重要處理任務(wù)。如果調(diào)度器的任務(wù)調(diào)度方法不合理,則不僅導(dǎo)致服務(wù)器的應(yīng)用成本非常高,甚至有些情況下不能保證所有的用戶任務(wù)得到處理或者超出了服務(wù)器的處理能力。
由此可見(jiàn),如何將大量的用戶任務(wù)合理的分配至相應(yīng)的服務(wù)器進(jìn)行處理是本領(lǐng)域技術(shù)人員亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種容器的任務(wù)調(diào)度方法及裝置,用于將大量的用戶任務(wù)合理的分配至相應(yīng)的服務(wù)器從而保證所有的用戶任務(wù)都得到處理,其次能夠確保分發(fā)到每個(gè)服務(wù)器的任務(wù)總和不超過(guò)服務(wù)器自身的計(jì)算能力,且總體的使用成本最低。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種容器的任務(wù)調(diào)度方法,包括:
獲取服務(wù)器集群的狀態(tài)參數(shù),所述狀態(tài)參數(shù)包括各服務(wù)器的啟用費(fèi)用、各服務(wù)器的當(dāng)前計(jì)算能力、各用戶到各服務(wù)器的單位任務(wù)傳輸費(fèi)用、用戶的任務(wù)需求量;
將所述狀態(tài)參數(shù)轉(zhuǎn)換為線性規(guī)劃對(duì)應(yīng)的數(shù)學(xué)模型,所述數(shù)學(xué)模型中以總費(fèi)用最低作為目標(biāo)函數(shù),以各用戶的任務(wù)需求量和各服務(wù)器的最大負(fù)載能力作為約束條件;
對(duì)所述數(shù)學(xué)模型進(jìn)行求解以得到對(duì)應(yīng)的目標(biāo)服務(wù)器和任務(wù)分配量。
優(yōu)選地,所述對(duì)所述數(shù)學(xué)模型進(jìn)行求解以得到對(duì)應(yīng)的目標(biāo)服務(wù)器和任務(wù)分配量具體為:
將所述數(shù)學(xué)模型轉(zhuǎn)換為線性規(guī)劃的標(biāo)準(zhǔn)形式;
對(duì)所述標(biāo)準(zhǔn)形式進(jìn)行求解。
優(yōu)選地,所述對(duì)所述標(biāo)準(zhǔn)形式進(jìn)行求解具體包括:
根據(jù)所述目標(biāo)服務(wù)器的個(gè)數(shù)相對(duì)于所述服務(wù)器集群中的總個(gè)數(shù)的比重,將所述標(biāo)準(zhǔn)形式轉(zhuǎn)化為基于L1范數(shù)對(duì)應(yīng)的稀疏性約束的壓縮感知算法數(shù)學(xué)模型;
采用壓縮感知算法求解所述壓縮感知算法數(shù)學(xué)模型。
優(yōu)選地,還包括:
存儲(chǔ)所述狀態(tài)參數(shù),以及所述目標(biāo)服務(wù)器和所述任務(wù)分配量。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種容器的任務(wù)調(diào)度裝置,包括:
獲取單元,用于獲取服務(wù)器集群的狀態(tài)參數(shù),所述狀態(tài)參數(shù)包括各服務(wù)器的啟用費(fèi)用、各服務(wù)器的當(dāng)前計(jì)算能力、各用戶到各服務(wù)器的單位任務(wù)傳輸費(fèi)用、用戶的任務(wù)需求量;
模型構(gòu)建單元,用于將所述狀態(tài)參數(shù)轉(zhuǎn)換為線性規(guī)劃對(duì)應(yīng)的數(shù)學(xué)模型,所述數(shù)學(xué)模型中以總費(fèi)用最低作為目標(biāo)函數(shù),以各用戶的任務(wù)需求量和各服務(wù)器的最大負(fù)載能力作為約束條件;
計(jì)算單元,用于對(duì)所述數(shù)學(xué)模型進(jìn)行求解以得到對(duì)應(yīng)的目標(biāo)服務(wù)器和任務(wù)分配量。
優(yōu)選地,所述計(jì)算單元具包括:
轉(zhuǎn)換模塊,用于將所述數(shù)學(xué)模型轉(zhuǎn)換為線性規(guī)劃的標(biāo)準(zhǔn)形式;
計(jì)算模塊,用于對(duì)所述標(biāo)準(zhǔn)形式進(jìn)行求解。
優(yōu)選地,所述計(jì)算模塊具體用于根據(jù)所述目標(biāo)服務(wù)器的個(gè)數(shù)相對(duì)于所述服務(wù)器集群中的總個(gè)數(shù)的比重,將所述標(biāo)準(zhǔn)形式轉(zhuǎn)化為基于L1范數(shù)對(duì)應(yīng)的稀疏性約束的壓縮感知算法數(shù)學(xué)模型,并采用壓縮感知算法求解所述壓縮感知算法數(shù)學(xué)模型。
優(yōu)選地,還包括:
存儲(chǔ)單元,用于存儲(chǔ)所述狀態(tài)參數(shù),以及所述目標(biāo)服務(wù)器和所述任務(wù)分配量。
本發(fā)明所提供的容器的任務(wù)調(diào)度方法及裝置,將任務(wù)調(diào)度的過(guò)程轉(zhuǎn)換為一個(gè)線性規(guī)劃的數(shù)學(xué)模型,通過(guò)對(duì)數(shù)學(xué)模型進(jìn)行求解即可得到任務(wù)調(diào)度的結(jié)果。由于該數(shù)學(xué)模型中,以總費(fèi)用最低作為目標(biāo)函數(shù),以各用戶的任務(wù)需求量和各服務(wù)器的最大負(fù)載能力作為約束條件,因此,該方法能夠保證所有的用戶任務(wù)都得到處理,其次能夠確保分發(fā)到每個(gè)服務(wù)器的任務(wù)總和不超過(guò)服務(wù)器自身的計(jì)算能力,且總體的使用成本最低。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例,下面將對(duì)實(shí)施例中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種容器的任務(wù)調(diào)度方法的流程圖;
圖2為本發(fā)明實(shí)施例提供的另一種容器的任務(wù)調(diào)度方法的流程圖;
圖3為本發(fā)明實(shí)施例提供的一種容器的任務(wù)調(diào)度裝置的結(jié)構(gòu)圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下,所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)范圍。
本發(fā)明的核心是提供一種容器的任務(wù)調(diào)度方法及裝置,用于將大量的用戶任務(wù)合理的分配至相應(yīng)的服務(wù)器從而保證所有的用戶任務(wù)都得到處理,其次能夠確保分發(fā)到每個(gè)服務(wù)器的任務(wù)總和不超過(guò)服務(wù)器自身的計(jì)算能力,且總體的使用成本最低。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。
圖1為本發(fā)明實(shí)施例提供的一種容器的任務(wù)調(diào)度方法的流程圖。如圖1所示,容器的任務(wù)調(diào)度方法包括以下步驟。
S10:獲取服務(wù)器集群的狀態(tài)參數(shù),狀態(tài)參數(shù)包括各服務(wù)器的啟用費(fèi)用、各服務(wù)器的當(dāng)前計(jì)算能力、各用戶到各服務(wù)器的單位任務(wù)傳輸費(fèi)用、用戶的任務(wù)需求量。
S11:將狀態(tài)參數(shù)轉(zhuǎn)換為線性規(guī)劃對(duì)應(yīng)的數(shù)學(xué)模型,數(shù)學(xué)模型中以總費(fèi)用最低作為目標(biāo)函數(shù),以各用戶的任務(wù)需求量和各服務(wù)器的最大負(fù)載能力作為約束條件。
S12:對(duì)數(shù)學(xué)模型進(jìn)行求解以得到對(duì)應(yīng)的目標(biāo)服務(wù)器和任務(wù)分配量。
在具體實(shí)施中,首先要知道服務(wù)器集群的狀態(tài)參數(shù),為了便于采用公式描述,下文中將這些參數(shù)采用相應(yīng)的字母進(jìn)行表示。
設(shè)第i個(gè)服務(wù)器被啟用時(shí)產(chǎn)生的固定費(fèi)用,即服務(wù)器的啟用費(fèi)用為ai,用戶j到服務(wù)器i的單位任務(wù)傳輸費(fèi)用為cij,服務(wù)器的當(dāng)前計(jì)算能力為bi,用戶j的任務(wù)需求量是dj。令變量
令變量xij表示從用戶j傳輸?shù)椒?wù)器i的任務(wù)傳輸量,則線性規(guī)劃對(duì)應(yīng)的數(shù)學(xué)模型為:
其中,第一組約束條件,即表示每個(gè)用戶的計(jì)算需求都必須滿足;第二組約束條件,即表示不能超出服務(wù)器i的最大負(fù)載能力。
由此可見(jiàn),通過(guò)步驟S11就可以將容器的調(diào)度問(wèn)題轉(zhuǎn)換為一個(gè)線性規(guī)劃對(duì)應(yīng)的數(shù)學(xué)模型,通過(guò)對(duì)上述數(shù)學(xué)模型進(jìn)行求解即可得到目標(biāo)服務(wù)器和任務(wù)分配量。需要說(shuō)明的是,這里的目標(biāo)服務(wù)器是服務(wù)器集群中被選中的服務(wù)器,即在求解得到的服務(wù)器,任務(wù)傳輸量就是xij的求解結(jié)果。
另外,對(duì)上述數(shù)學(xué)模型的求解有多種形式,但是考慮到計(jì)算效率的問(wèn)題,作為優(yōu)選的實(shí)施方式,步驟S12具體為:
將數(shù)學(xué)模型轉(zhuǎn)換為線性規(guī)劃的標(biāo)準(zhǔn)形式;
對(duì)標(biāo)準(zhǔn)形式進(jìn)行求解。
對(duì)上述數(shù)學(xué)模型轉(zhuǎn)換為線性規(guī)劃的標(biāo)準(zhǔn)形式后,就可以按照對(duì)標(biāo)準(zhǔn)形式的求解方式進(jìn)求解??梢岳斫獾氖牵瑢?duì)于標(biāo)準(zhǔn)形式的求解過(guò)程為現(xiàn)有技術(shù),本實(shí)施例不再贅述。線性規(guī)劃的標(biāo)準(zhǔn)形式為:
其中,x0為上式中的f,x為xi,j和yi組成的向量,A為cij和ai組成的矩陣,b為bi組成的向量。
在具體實(shí)施中,由于服務(wù)器集群中的服務(wù)器數(shù)量較大,并且用戶的任務(wù)需求量也較多,這樣在對(duì)標(biāo)準(zhǔn)形式計(jì)算過(guò)程中運(yùn)算量也是較大,無(wú)疑增加了計(jì)算的時(shí)間。因此在上述實(shí)施例的基礎(chǔ)上,對(duì)標(biāo)準(zhǔn)形式進(jìn)行求解具體包括:
根據(jù)目標(biāo)服務(wù)器的個(gè)數(shù)相對(duì)于服務(wù)器集群中的總個(gè)數(shù)的比重,將標(biāo)準(zhǔn)形式轉(zhuǎn)化為基于L1范數(shù)對(duì)應(yīng)的稀疏性約束的壓縮感知算法數(shù)學(xué)模型;
采用壓縮感知算法求解壓縮感知算法數(shù)學(xué)模型。
在上式基礎(chǔ)上,考慮在現(xiàn)實(shí)生產(chǎn)環(huán)境中,對(duì)每一個(gè)用戶的任務(wù)需求量,只分發(fā)到服務(wù)器集群中的少量節(jié)點(diǎn)運(yùn)行,即相對(duì)于整個(gè)服務(wù)器集群來(lái)說(shuō),只有少量的服務(wù)器在運(yùn)行,那么x存在稀疏性,使用L1范數(shù)表示,即需要滿足:
min|x|1
由此,以上線性規(guī)劃問(wèn)題可轉(zhuǎn)化為基于L1稀疏性約束的壓縮感知問(wèn)題:
其中,∈為無(wú)限趨近于0的數(shù)。
至此,容器任務(wù)調(diào)度問(wèn)題便可采用壓縮感知算法求解??梢岳斫獾氖牵瑝嚎s感知算法為現(xiàn)有技術(shù),因此,本實(shí)施例不再贅述。
本實(shí)施例提供的容器的任務(wù)調(diào)度方法,將任務(wù)調(diào)度的過(guò)程轉(zhuǎn)換為一個(gè)線性規(guī)劃的數(shù)學(xué)模型,通過(guò)對(duì)數(shù)學(xué)模型進(jìn)行求解即可得到任務(wù)調(diào)度的結(jié)果。由于該數(shù)學(xué)模型中,以總費(fèi)用最低作為目標(biāo)函數(shù),以各用戶的任務(wù)需求量和各服務(wù)器的最大負(fù)載能力作為約束條件,因此,該方法能夠保證所有的用戶任務(wù)都得到處理,其次能夠確保分發(fā)到每個(gè)服務(wù)器的任務(wù)總和不超過(guò)服務(wù)器自身的計(jì)算能力,且總體的使用成本最低。
圖2為本發(fā)明實(shí)施例提供的另一種容器的任務(wù)調(diào)度方法的流程圖。如圖2所示,作為優(yōu)選的實(shí)施方式,在上述實(shí)施例的基礎(chǔ)上,還包括:
S20:存儲(chǔ)狀態(tài)參數(shù),以及目標(biāo)服務(wù)器和任務(wù)分配量。
為了便于后期查看每個(gè)用戶和每個(gè)服務(wù)器之間的對(duì)應(yīng)關(guān)系,以及統(tǒng)計(jì)服務(wù)器的任務(wù)執(zhí)行量,在本實(shí)施例中,將狀態(tài)參數(shù),即各服務(wù)器的啟用費(fèi)用、各服務(wù)器的當(dāng)前計(jì)算能力、各用戶到各服務(wù)器的單位任務(wù)傳輸費(fèi)用、用戶的任務(wù)需求量以及目標(biāo)服務(wù)器和任務(wù)分配量均存儲(chǔ)下來(lái),這樣在后期可以隨時(shí)調(diào)取查驗(yàn)。
與上述容器的任務(wù)調(diào)度方法相對(duì)應(yīng)的,本發(fā)明還公開(kāi)一種容器的任務(wù)調(diào)度。由于裝置部分的實(shí)施例與方法部分的實(shí)施例相互對(duì)應(yīng),因此裝置部分的實(shí)施例請(qǐng)參見(jiàn)方法部分的實(shí)施例的描述,這里暫不贅述。圖3為本發(fā)明實(shí)施例提供的一種容器的任務(wù)調(diào)度裝置的結(jié)構(gòu)圖。如圖3所示,容器的任務(wù)調(diào)度裝置包括:
獲取單元10,用于獲取服務(wù)器集群的狀態(tài)參數(shù),狀態(tài)參數(shù)包括各服務(wù)器的啟用費(fèi)用、各服務(wù)器的當(dāng)前計(jì)算能力、各用戶到各服務(wù)器的單位任務(wù)傳輸費(fèi)用、用戶的任務(wù)需求量;
模型構(gòu)建單元11,用于將狀態(tài)參數(shù)轉(zhuǎn)換為線性規(guī)劃對(duì)應(yīng)的數(shù)學(xué)模型,數(shù)學(xué)模型中以總費(fèi)用最低作為目標(biāo)函數(shù),以各用戶的任務(wù)需求量和各服務(wù)器的最大負(fù)載能力作為約束條件;
計(jì)算單元12,用于對(duì)數(shù)學(xué)模型進(jìn)行求解以得到對(duì)應(yīng)的目標(biāo)服務(wù)器和任務(wù)分配量。
作為優(yōu)選地實(shí)施方式,計(jì)算單元具包括:
轉(zhuǎn)換模塊,用于將數(shù)學(xué)模型轉(zhuǎn)換為線性規(guī)劃的標(biāo)準(zhǔn)形式;
計(jì)算模塊,用于對(duì)標(biāo)準(zhǔn)形式進(jìn)行求解。
作為優(yōu)選地實(shí)施方式,計(jì)算模塊具體用于根據(jù)目標(biāo)服務(wù)器的個(gè)數(shù)相對(duì)于服務(wù)器集群中的總個(gè)數(shù)的比重,將標(biāo)準(zhǔn)形式轉(zhuǎn)化為基于L1范數(shù)對(duì)應(yīng)的稀疏性約束的壓縮感知算法數(shù)學(xué)模型,并采用壓縮感知算法求解壓縮感知算法數(shù)學(xué)模型。
作為優(yōu)選地實(shí)施方式,還包括:
存儲(chǔ)單元,用于存儲(chǔ)狀態(tài)參數(shù),以及目標(biāo)服務(wù)器和任務(wù)分配量。
本實(shí)施例提供的容器的任務(wù)調(diào)度裝置,將任務(wù)調(diào)度的過(guò)程轉(zhuǎn)換為一個(gè)線性規(guī)劃的數(shù)學(xué)模型,通過(guò)對(duì)數(shù)學(xué)模型進(jìn)行求解即可得到任務(wù)調(diào)度的結(jié)果。由于該數(shù)學(xué)模型中,以總費(fèi)用最低作為目標(biāo)函數(shù),以各用戶的任務(wù)需求量和各服務(wù)器的最大負(fù)載能力作為約束條件,因此,該裝置能夠保證所有的用戶任務(wù)都得到處理,其次能夠確保分發(fā)到每個(gè)服務(wù)器的任務(wù)總和不超過(guò)服務(wù)器自身的計(jì)算能力,且總體的使用成本最低。
以上對(duì)本發(fā)明所提供的容器的任務(wù)調(diào)度方法及裝置進(jìn)行了詳細(xì)介紹。說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見(jiàn)即可。對(duì)于實(shí)施例公開(kāi)的裝置而言,由于其與實(shí)施例公開(kāi)的方法相對(duì)應(yīng),所以描述的比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法部分說(shuō)明即可。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。