本發(fā)明涉及資源管理技術(shù)領(lǐng)域,特別是涉及一種作業(yè)的調(diào)度方法及裝置。
背景技術(shù):
隨著分布式計(jì)算系統(tǒng)的廣泛應(yīng)用,如何對作業(yè)進(jìn)行合適的調(diào)度,以提高工作效率是一個(gè)比較現(xiàn)實(shí)的問題。
為了對作業(yè)進(jìn)行合適的調(diào)度,目前使用的作業(yè)調(diào)度系統(tǒng)的工作方式為:根據(jù)當(dāng)前個(gè)分布式節(jié)點(diǎn)的資源情況和作業(yè)所需的資源情況,選擇出滿足作業(yè)要求的分布式節(jié)點(diǎn),再將作業(yè)調(diào)度至該分布式節(jié)點(diǎn)。
現(xiàn)有技術(shù)僅考慮了當(dāng)前時(shí)刻各個(gè)分布式節(jié)點(diǎn)的計(jì)算資源量的情況,可能會(huì)把需要較強(qiáng)計(jì)算能力分布式節(jié)點(diǎn)的作業(yè)調(diào)度至計(jì)算能力比較差的分布式節(jié)點(diǎn),導(dǎo)致當(dāng)前作業(yè)所需的運(yùn)行時(shí)間較長,速度慢。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種作業(yè)的調(diào)度方法及裝置,以提高作業(yè)的運(yùn)行速度。具體技術(shù)方案如下:
為達(dá)到上述目的,本發(fā)明實(shí)施例提供了一種作業(yè)的調(diào)度方法,應(yīng)用于分布式計(jì)算系統(tǒng)的任務(wù)管理器,所述方法包括:
獲得當(dāng)前作業(yè)所需的計(jì)算資源;
獲得當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源;
根據(jù)當(dāng)前作業(yè)所需的計(jì)算資源和當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源,確定出當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長;
將所述作業(yè)在運(yùn)行該作業(yè)耗時(shí)最短的時(shí)刻調(diào)度至對應(yīng)的分布式節(jié)點(diǎn);
將作業(yè)隊(duì)列中,當(dāng)前作業(yè)的下一作業(yè)確定為當(dāng)前作業(yè),并返回執(zhí)行所述獲得當(dāng)前作業(yè)所需的計(jì)算資源的步驟。
可選的,所述獲得當(dāng)前作業(yè)所需的計(jì)算資源,包括:
獲得用戶針對所述當(dāng)前作業(yè)設(shè)定的計(jì)算資源;或,
根據(jù)所述當(dāng)前作業(yè)確定出需要的計(jì)算資源。
可選的,所述分布式節(jié)點(diǎn),為:
一個(gè)分布式節(jié)點(diǎn)服務(wù)器或包括至少兩個(gè)分布式節(jié)點(diǎn)服務(wù)器的服務(wù)器組。
可選的,所述獲得當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源,為:
針對當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻,排除所述作業(yè)隊(duì)列中,所述當(dāng)前作業(yè)之前的其他作業(yè)需要占用的計(jì)算資源后,根據(jù)各個(gè)分布式節(jié)點(diǎn)的硬件配置確定出在該時(shí)刻各個(gè)分布式節(jié)點(diǎn)的能夠提供的計(jì)算資源。
可選的,所述將所述作業(yè)在運(yùn)行該作業(yè)耗時(shí)最短的時(shí)刻調(diào)度至對應(yīng)的分布式節(jié)點(diǎn),包括:
從所述當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長中,選擇出所述當(dāng)前作業(yè)所需時(shí)長與該作業(yè)等待時(shí)長之和最短的第一時(shí)刻;
在所述第一時(shí)刻,將所述當(dāng)前作業(yè)調(diào)度至所述第一時(shí)刻對應(yīng)的分布式節(jié)點(diǎn)。
為達(dá)到上述目的,本發(fā)明實(shí)施例還提供了一種作業(yè)的調(diào)度裝置,應(yīng)用于分布式計(jì)算系統(tǒng)的任務(wù)管理器,所述裝置包括:第一獲得模塊、第二獲得模塊、第一確定模塊、調(diào)度模塊和第二確定模塊,其中,
所述第一獲得模塊,用于獲得當(dāng)前作業(yè)所需的計(jì)算資源;
所述第二獲得模塊,用于獲得當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源;
所述第一確定模塊,用于根據(jù)當(dāng)前作業(yè)所需的計(jì)算資源和當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源,確定出當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長;
所述調(diào)度模塊,用于將所述作業(yè)在運(yùn)行該作業(yè)耗時(shí)最短的時(shí)刻調(diào)度至對應(yīng)的分布式節(jié)點(diǎn);
所述第二確定模塊,用于將作業(yè)隊(duì)列中,當(dāng)前作業(yè)的下一作業(yè)確定為當(dāng)前作業(yè),并觸發(fā)第一獲得模塊。
可選的,所述第一獲得模塊,具體用于:
獲得用戶針對所述當(dāng)前作業(yè)設(shè)定的計(jì)算資源;或,
根據(jù)所述當(dāng)前作業(yè)確定出需要的計(jì)算資源。
可選的,所述分布式節(jié)點(diǎn),為:
一個(gè)分布式節(jié)點(diǎn)服務(wù)器或包括至少兩個(gè)分布式節(jié)點(diǎn)服務(wù)器的服務(wù)器組。
可選的,所述第二獲得模塊,具體用于:
針對當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻,排除所述作業(yè)隊(duì)列中,所述當(dāng)前作業(yè)之前的其他作業(yè)需要占用的計(jì)算資源后,根據(jù)各個(gè)分布式節(jié)點(diǎn)的硬件配置確定出在該時(shí)刻各個(gè)分布式節(jié)點(diǎn)的能夠提供的計(jì)算資源。
可選的,所述調(diào)度模塊,具體用于:
從所述當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長中,選擇出所述當(dāng)前作業(yè)所需時(shí)長與該作業(yè)等待時(shí)長之和最短的第一時(shí)刻;
在所述第一時(shí)刻,將所述當(dāng)前作業(yè)調(diào)度至所述第一時(shí)刻對應(yīng)的分布式節(jié)點(diǎn)。
本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度方法及裝置,應(yīng)用于分布式計(jì)算系統(tǒng)的任務(wù)管理器,所述方法包括:根據(jù)當(dāng)前作業(yè)所需的計(jì)算資源的大小和當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)的計(jì)算能力,確定出當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)計(jì)算完成該作業(yè)所需時(shí)長;將所述作業(yè)在計(jì)算完成該作業(yè)耗時(shí)最短的時(shí)刻調(diào)度至對應(yīng)節(jié)點(diǎn);將作業(yè)隊(duì)列中,當(dāng)前作業(yè)的下一作業(yè)確定為當(dāng)前作業(yè),并返回執(zhí)行所述確定出當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)計(jì)算完成該作業(yè)所需時(shí)長的步驟。
應(yīng)用本發(fā)明實(shí)施例,綜合各個(gè)分布式節(jié)點(diǎn)提供的計(jì)算資源量和計(jì)算性能,并在未來預(yù)設(shè)時(shí)長內(nèi)運(yùn)行當(dāng)前作業(yè)所需時(shí)間最短的時(shí)刻,將當(dāng)前作業(yè)調(diào)度至對應(yīng)的分布式節(jié)點(diǎn),減少了運(yùn)行當(dāng)前作業(yè)的時(shí)間,提高了作業(yè)的運(yùn)行速度。當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法并不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為解決現(xiàn)有技術(shù)問題,本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度方法及裝置,下面首先就本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度方法進(jìn)行介紹。
需要說明的是,本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度方法及裝置優(yōu)選適用于分布式計(jì)算系統(tǒng)的任務(wù)管理器。
圖1為本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度方法的流程示意圖;如圖1所示,該方法包括:
s101:獲得當(dāng)前作業(yè)所需的計(jì)算資源。
具體的,可以獲得用戶針對所述當(dāng)前作業(yè)設(shè)定的計(jì)算資源;或,
根據(jù)所述當(dāng)前作業(yè)確定出需要的計(jì)算資源。
在實(shí)際應(yīng)用中,用戶可以設(shè)定運(yùn)行當(dāng)前作業(yè)y所需的內(nèi)存為1gb,或者任務(wù)管理器根據(jù)當(dāng)前作業(yè)的計(jì)算量確定出運(yùn)行當(dāng)前作業(yè)y所需的內(nèi)存為1gb。
需要說明的是,計(jì)算資源包括但不僅限于內(nèi)存大小、cpu計(jì)算能力、顯存、顯卡處理能力或者硬盤大小及其組合。
s102:獲得當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源。
具體的,分布式節(jié)點(diǎn)可以為:一個(gè)分布式節(jié)點(diǎn)服務(wù)器或包括至少兩個(gè)分布式節(jié)點(diǎn)服務(wù)器的服務(wù)器組。
具體的,還可以針對當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻,排除所述作業(yè)隊(duì)列中,所述當(dāng)前作業(yè)之前的其他作業(yè)需要占用的計(jì)算資源后,根據(jù)各個(gè)分布式節(jié)點(diǎn)的硬件配置確定出在該時(shí)刻各個(gè)分布式節(jié)點(diǎn)的能夠提供的計(jì)算資源。
在實(shí)際應(yīng)用中,任務(wù)管理器接收用戶發(fā)送過來的作業(yè)后,會(huì)根據(jù)接收作業(yè)的先后順序形成一個(gè)作業(yè)隊(duì)列,假設(shè)作業(yè)隊(duì)列中含有作業(yè)x、y、z,其中作業(yè)x已經(jīng)被調(diào)度至b。預(yù)設(shè)每隔2秒為一個(gè)時(shí)刻。任務(wù)管理器獲得當(dāng)前時(shí)刻0:00:00的未來6秒內(nèi)的3個(gè)時(shí)刻的分布式節(jié)點(diǎn)a、分布式節(jié)點(diǎn)c能夠提供的內(nèi)存大小和排除運(yùn)行作業(yè)x所需的計(jì)算資源后分布式節(jié)點(diǎn)b能夠提供的內(nèi)存大小。
例如,分布式節(jié)點(diǎn)a在0:00:02時(shí)刻提供的是大小為0.3gb、運(yùn)行速度為2mb/s的內(nèi)存,在0:00:04時(shí)刻提供的是大小為0.8gb、運(yùn)行速度為1mb/s的內(nèi)存、在0:00:06時(shí)刻提供的是大小為1.5gb、運(yùn)行速度為1mb/s的內(nèi)存;
分布式節(jié)點(diǎn)b在排除運(yùn)行作業(yè)x所需的內(nèi)存后在0:00:02時(shí)刻提供的是大小為0.4gb、運(yùn)行速度為1mb/s的內(nèi)存,在0:00:04時(shí)刻提供的是大小為1gb、運(yùn)行速度為2mb/s的內(nèi)存,在0:00:06時(shí)刻提供的是大小為2gb,運(yùn)行速度為2mb/s的內(nèi)存;
分布式節(jié)點(diǎn)c在0:00:02時(shí)刻提供的是大小為8gb、運(yùn)行速度為1mb/s的內(nèi)存,在0:00:04時(shí)刻提供的是大小為1.2gb、運(yùn)行速度為2mb/s的內(nèi)存,在0:00:06時(shí)刻提供的是大小為10gb、運(yùn)行速度為2mb/s的內(nèi)存。
需要強(qiáng)調(diào)的是,可以將至少兩個(gè)分布式節(jié)點(diǎn)組成服務(wù)器組用于運(yùn)行各個(gè)作業(yè)。
s103:根據(jù)當(dāng)前作業(yè)所需的計(jì)算資源和當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源,確定出當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長。
具體的,根據(jù)分布式節(jié)點(diǎn)a、b、c在0:00:02時(shí)刻、0:00:04時(shí)刻、0:00:06時(shí)刻能夠提供的內(nèi)存的大小和當(dāng)前作業(yè)y所需的內(nèi)存,確定出當(dāng)前時(shí)刻0:00:00的未來1分鐘內(nèi)的3個(gè)時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行當(dāng)前作業(yè)y所需的時(shí)長。
例如,在運(yùn)行當(dāng)前作業(yè)y需要1gb內(nèi)存,分布式節(jié)點(diǎn)a在0:00:02時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(0.3*2)=1.67秒、在0:00:04時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(0.8*1)=1.25秒、在0:00:06時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(1.5*1)=0.67秒;
分布式節(jié)點(diǎn)b在排除運(yùn)行作業(yè)x所需的內(nèi)存后在0:00:02時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(0.4*1)=2.5秒、在0:00:04時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(1*2)=0.5秒、在0:00:06時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(2*2)=0.25秒;
分布式節(jié)點(diǎn)c在0:00:02時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(8*1)=0.125秒、在0:00:04時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(1.2*2)=0.42秒、在0:00:06時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長為1/(10*2)=0.05秒。
需要說明的是,用戶預(yù)先可以通過對分布式節(jié)點(diǎn)進(jìn)行壓力測試,得到分布式節(jié)點(diǎn)的各項(xiàng)性能指標(biāo),包括但不限于硬盤讀取速度、內(nèi)存讀取速度、cpu運(yùn)行速度、網(wǎng)絡(luò)傳輸速度。另外,通常情況下,分布式節(jié)點(diǎn)運(yùn)行當(dāng)前作業(yè)所需時(shí)間可以包括但不僅限于作業(yè)讀取的時(shí)間、作業(yè)運(yùn)行的時(shí)間和運(yùn)行結(jié)果存儲(chǔ)的時(shí)間。
示例性的,分布式節(jié)點(diǎn)在運(yùn)行當(dāng)前作業(yè)的過程,包括將作業(yè)從硬盤讀取到內(nèi)存的步驟、cpu運(yùn)行當(dāng)前作業(yè)的步驟和運(yùn)行結(jié)果的存儲(chǔ)步驟。分布式節(jié)點(diǎn)可以根據(jù)測試結(jié)果和當(dāng)前作業(yè)的數(shù)據(jù)量確定出將當(dāng)前作業(yè)從硬盤讀取到內(nèi)存的步驟耗時(shí)為t1;cpu運(yùn)行當(dāng)前作業(yè)的步驟耗時(shí)為t2;運(yùn)行結(jié)果的存儲(chǔ)步驟耗時(shí)為t3,則分布式節(jié)點(diǎn)運(yùn)行當(dāng)前作業(yè)所需的時(shí)間=t1+t2+t3。
需要強(qiáng)調(diào)的是,相鄰兩個(gè)時(shí)刻之間的時(shí)間間隔包括但不僅限于2秒。
s104:將所述作業(yè)在運(yùn)行該作業(yè)耗時(shí)最短的時(shí)刻調(diào)度至對應(yīng)的分布式節(jié)點(diǎn)。
具體的,可以從所述當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長中,選擇出所述當(dāng)前作業(yè)所需時(shí)長與該作業(yè)等待時(shí)長之和最短的第一時(shí)刻;
在所述第一時(shí)刻,將所述當(dāng)前作業(yè)調(diào)度至所述第一時(shí)刻對應(yīng)的分布式節(jié)點(diǎn)。
在實(shí)際應(yīng)用中,確定出的各個(gè)分布式節(jié)點(diǎn)運(yùn)行當(dāng)前作業(yè)所需時(shí)長與該作業(yè)等待時(shí)長之和如下:
分布式節(jié)點(diǎn)a在0:00:02時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為2+1.67=3.67秒、在0:00:04時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為4+1.25=5.25秒、在0:00:06時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為6+0.67=6.67秒;
分布式節(jié)點(diǎn)b在排除運(yùn)行作業(yè)x所需的內(nèi)存后在0:00:02時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為2+2.5=4.5秒、在0:00:04時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為4+0.5=4.5秒、在0:00:06時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為6+0.25=6.25秒;
分布式節(jié)點(diǎn)c在0:00:02時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為2+0.125=2.125秒、在0:00:04時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為4+0.42=4.42秒、在0:00:06時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和為6+0.05=6.05秒。
由以上結(jié)果可以確定出分布式節(jié)點(diǎn)c在0:00:02時(shí)刻運(yùn)行當(dāng)前作業(yè)y所需時(shí)長與該作業(yè)等待時(shí)長之和最短。在0:00:02時(shí)刻將當(dāng)前作業(yè)y調(diào)度至分布式節(jié)點(diǎn)c運(yùn)行。
需要說明時(shí),當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻可以包括當(dāng)前時(shí)刻。
s105:將作業(yè)隊(duì)列中,當(dāng)前作業(yè)的下一作業(yè)確定為當(dāng)前作業(yè),并返回執(zhí)行所述獲得當(dāng)前作業(yè)所需的計(jì)算資源的步驟。
具體的,將當(dāng)前作業(yè)y的下一作業(yè)z確定為當(dāng)前作業(yè),并返回執(zhí)行s101步驟。
應(yīng)用本發(fā)明圖1所示實(shí)施例,綜合各個(gè)分布式節(jié)點(diǎn)提供的計(jì)算資源量和計(jì)算性能,并在未來預(yù)設(shè)時(shí)長內(nèi)運(yùn)行當(dāng)前作業(yè)所需時(shí)間最短的時(shí)刻,將當(dāng)前作業(yè)調(diào)度至對應(yīng)的分布式節(jié)點(diǎn),減少了運(yùn)行當(dāng)前作業(yè)的時(shí)間,提高了作業(yè)的運(yùn)行速度。
與圖1所示實(shí)施例相對應(yīng),本發(fā)明實(shí)施例還提供了那個(gè)了一種作業(yè)的調(diào)度裝置
圖2為本發(fā)明實(shí)施例提供的一種作業(yè)的調(diào)度裝置的結(jié)構(gòu)示意圖,如圖2所示,該裝置包括:第一獲得模塊201、第二獲得模塊202、第一確定模塊203、調(diào)度模塊204和第二確定模塊205,其中,
第一獲得模塊201,用于獲得當(dāng)前作業(yè)所需的計(jì)算資源。
具體的,第一獲得模塊201,具體用于:獲得用戶針對所述當(dāng)前作業(yè)設(shè)定的計(jì)算資源;或,根據(jù)所述當(dāng)前作業(yè)確定出需要的計(jì)算資源。
第二獲得模塊202,用于獲得當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源。
具體的,分布式節(jié)點(diǎn),可以為:
一個(gè)分布式節(jié)點(diǎn)服務(wù)器或包括至少兩個(gè)分布式節(jié)點(diǎn)服務(wù)器的服務(wù)器組。
在實(shí)際應(yīng)用中,第二獲得模塊202,具體還用于:
針對當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻,排除所述作業(yè)隊(duì)列中,所述當(dāng)前作業(yè)之前的其他作業(yè)需要占用的計(jì)算資源后,根據(jù)各個(gè)分布式節(jié)點(diǎn)的硬件配置確定出在該時(shí)刻各個(gè)分布式節(jié)點(diǎn)的能夠提供的計(jì)算資源。
第一確定模塊203,用于根據(jù)當(dāng)前作業(yè)所需的計(jì)算資源和當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)能夠提供的計(jì)算資源,確定出當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長。
調(diào)度模塊204,用于將所述作業(yè)在運(yùn)行該作業(yè)耗時(shí)最短的時(shí)刻調(diào)度至對應(yīng)的分布式節(jié)點(diǎn)。
具體的,調(diào)度模塊204,具體用于:
從所述當(dāng)前時(shí)刻的未來預(yù)設(shè)時(shí)長內(nèi)每一時(shí)刻各個(gè)分布式節(jié)點(diǎn)運(yùn)行該作業(yè)所需時(shí)長中,選擇出所述當(dāng)前作業(yè)所需時(shí)長與該作業(yè)等待時(shí)長之和最短的第一時(shí)刻;
在所述第一時(shí)刻,將所述當(dāng)前作業(yè)調(diào)度至所述第一時(shí)刻對應(yīng)的分布式節(jié)點(diǎn)。
第二確定模塊205,用于將作業(yè)隊(duì)列中,當(dāng)前作業(yè)的下一作業(yè)確定為當(dāng)前作業(yè),并觸發(fā)第一獲得模塊201。
應(yīng)用本發(fā)明圖2所示實(shí)施例,綜合各個(gè)分布式節(jié)點(diǎn)提供的計(jì)算資源量和計(jì)算性能,并在未來預(yù)設(shè)時(shí)長內(nèi)運(yùn)行當(dāng)前作業(yè)所需時(shí)間最短的時(shí)刻,將當(dāng)前作業(yè)調(diào)度至對應(yīng)的分布式節(jié)點(diǎn),減少了運(yùn)行當(dāng)前作業(yè)的時(shí)間,提高了作業(yè)的運(yùn)行速度。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。