一種任務分配的方法及裝置的制造方法
【技術領域】
[0001] 本發(fā)明涉及通信技術領域,尤其涉及一種任務分配的方法及裝置。
【背景技術】
[0002] 隨著通信技術的發(fā)展,為了降低數(shù)據(jù)中心的能耗,通常采用虛擬機迀移的方法。在 虛擬機的迀移過程中,考慮到每個服務器上運行的虛擬機的數(shù)量,可以將多臺運行著少數(shù) 虛擬機的服務器上的虛擬機集中迀移至一臺或少數(shù)幾臺服務器上,之后將已經(jīng)迀空虛擬機 的服務器關停,以達到降低數(shù)據(jù)中心能耗的目的。比如:服務器A上運行1個虛擬機,服務 器B上運行2個虛擬機,可以通過將服務器A上運行的1個虛擬機迀移至服務器B,并將服 務器A關停,從而降低數(shù)據(jù)中心的能耗。
[0003] 采用上述迀移虛擬機的方法,雖然可以一定程度上降低數(shù)據(jù)中心的能耗,但由于 在虛擬機迀移的過程中,只考慮到服務器上運行的虛擬機的數(shù)量,但是,虛擬機在迀移過程 中也會產(chǎn)生一定的能耗,并且產(chǎn)生的能耗會影響數(shù)據(jù)中心的能耗。因此,可能由于服務器A 上執(zhí)行的任務數(shù)量遠高于服務器B上執(zhí)行的任務數(shù)量,而導致將服務器A上運行的1個虛 擬機迀移至服務器B所耗費的能耗,遠高于將服務器B上運行的2個虛擬機迀移至服務器A 所耗費的能耗。因此,以虛擬機為迀移粒度進行迀移,只考慮到被迀移的虛擬機的數(shù)量,從 而導致通過迀移虛擬機無法更好的降低數(shù)據(jù)中心的能耗。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實施例提供一種任務分配的方法及裝置,能夠更好的降低數(shù)據(jù)中心的能 耗。
[0005] 為達到上述目的,本發(fā)明實施例采用如下技術方案:
[0006] 第一方面,本發(fā)明實施例提供一種任務分配的方法,所述方法包括:
[0007] 分別獲取第一服務器和第二服務器的能力參數(shù),所述能力參數(shù)用于表示所述第一 服務器或所述第二服務器執(zhí)行任務的能力;
[0008] 根據(jù)所述能力參數(shù),判斷所述第一服務器上所有任務和所述第二服務器上所有任 務是否能全部運行在所述第一服務器上,且能全部運行在所述第二服務器上;
[0009] 當所述第一服務器上所有任務和所述第二服務器上所有任務能全部運行在所述 第一服務器或所述第二服務器上時,獲取能耗預測值,所述能耗預測值包括將所述第一服 務器上所有任務迀移至所述第二服務器上所節(jié)省的能耗值,以及將所述第二服務器上所有 任務迀移至所述第一服務器上所節(jié)省的能耗值;
[0010] 根據(jù)所述能耗預測值,將所述第一服務器上所有任務迀移至所述第二服務器,或 將所述第二服務器上所有任務迀移至所述第一服務器。
[0011] 第二方面,本發(fā)明實施例提供一種任務分配的裝置,所述裝置包括:
[0012] 獲取模塊,用于分別獲取第一服務器和第二服務器的能力參數(shù),所述能力參數(shù)用 于表示所述第一服務器或所述第二服務器執(zhí)行任務的能力;
[0013] 判斷模塊,用于根據(jù)所述獲取模塊獲取的所述能力參數(shù),判斷所述第一服務器上 所有任務和所述第二服務器上所有任務是否能全部運行在所述第一服務器上,且能全部運 行在所述第二服務器上;
[0014] 所述獲取模塊,還用于當所述第一服務器上所有任務和所述第二服務器上所有任 務能全部運行在所述第一服務器或所述第二服務器上時,獲取能耗預測值,所述能耗預測 值包括將所述第一服務器上所有任務迀移至所述第二服務器上所節(jié)省的能耗值,以及將所 述第二服務器上所有任務迀移至所述第一服務器上所節(jié)省的能耗值;
[0015] 迀移模塊,用于根據(jù)所述獲取模塊獲取的所述能耗預測值,將所述第一服務器上 所有任務迀移至所述第二服務器,或?qū)⑺龅诙掌魃纤腥蝿辙|移至所述第一服務 器。
[0016] 本發(fā)明實施例提供的一種任務分配的方法及裝置,分別獲取第一服務器和第二服 務器的能力參數(shù),并根據(jù)能力參數(shù)進行判斷,當?shù)谝环掌魃纤腥蝿蘸偷诙掌魃纤?有任務是否能全部運行在第一服務器上,且能全部運行在第二服務器上時,獲取能耗預測 值,并根據(jù)能耗預測值,將第一服務器上所有任務迀移至第二服務器,或?qū)⒌诙掌魃纤?有任務迀移至第一服務器。其中,能耗預測值包括將第一服務器上所有任務迀移至第二服 務器上所節(jié)省的能耗值,以及將第二服務器上所有任務迀移至第一服務器上所節(jié)省的能耗 值。相比較于現(xiàn)有技術中僅考慮到虛擬機的數(shù)量,并以虛擬機為粒度進行迀移,本發(fā)明實施 例可以以任務為粒度進行迀移,考慮到迀移不同服務器上的任務所節(jié)省的能耗的不同,根 據(jù)能耗預測值來選擇合理的任務迀移方案,從而更好的降低數(shù)據(jù)中心的能耗。
【附圖說明】
[0017] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例中所需要使用的 附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領 域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其它的附 圖。
[0018] 圖1為本發(fā)明實施例提供的一種具體應用場景不意圖;
[0019] 圖2為本發(fā)明實施例提供的一種任務分配的方法流程圖;
[0020] 圖3為本發(fā)明實施例提供的一種任務分配的示意圖;
[0021] 圖4為本發(fā)明實施例提供的另一種任務分配的示意圖;
[0022] 圖5為本發(fā)明實施例提供的另一種任務分配的示意圖;
[0023] 圖6為本發(fā)明實施例提供的另一種任務分配的方法流程圖;
[0024] 圖7為本發(fā)明實施例提供的另一種任務分配的方法流程圖;
[0025] 圖8為本發(fā)明實施例提供的另一種任務分配的方法流程圖;
[0026] 圖9為本發(fā)明實施例提供的一種任務分配的裝置結構示意圖。
【具體實施方式】
[0027] 下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它 實施例,都屬于本發(fā)明保護的范圍。
[0028] 本發(fā)明實施例可以用于一種數(shù)據(jù)中心,數(shù)據(jù)中心設置有至少兩個服務器和云管 理模塊。其中,云管理模塊可以用于監(jiān)測數(shù)據(jù)中心中各個服務器的狀態(tài),比如:服務器的 CPU(CentralProcessingUnit,中央處理器)利用率、內(nèi)存使用率和磁盤吞吐量等信息,以 及服務器上所有任務的狀態(tài),比如:任務的數(shù)量、大小等信息。如圖1所示,數(shù)據(jù)中心設置有 N個服務器和云管理模塊,每個服務器上至少執(zhí)行一個任務。
[0029] 本發(fā)明實施例提供一種任務分配的方法,如圖2所示,該方法均由云管理模塊來 執(zhí)行,該方法包括:
[0030] 101、分別獲取第一服務器和第二服務器的能力參數(shù)。
[0031] 其中,能力參數(shù)用于表示第一服務器或第二服務器執(zhí)行任務的能力。在本發(fā)明實 施例中,能力參數(shù)可以包括第一指令數(shù)量和第二指令數(shù)量,第一指令數(shù)量可以為處理第一 服務器或第二服務器上所有任務執(zhí)行的指令數(shù)量之和,第二指令數(shù)量可以為第一服務器或 第二服務器除執(zhí)行所有任務以外,還能執(zhí)行的指令數(shù)量之和。
[0032] 第一指令數(shù)量可以體現(xiàn)執(zhí)行結束服務器上所有任務時,總共需要執(zhí)行多少條指 令,而第二指令數(shù)量可以體現(xiàn)服務器除了可以用于執(zhí)行當前服務器上的所有任務,還可以 執(zhí)行多少條指令。因此,結合第一指令數(shù)量和第二指令數(shù)量,可以充分體現(xiàn)服務器的處理能 力,也就是服務器可以執(zhí)行的指令數(shù)量。例如:服務器的處理能力為服務器可以執(zhí)行1000 條指令,當前服務器上所有任務執(zhí)行結束共需要執(zhí)行800條指令,而服務器在保證當前所 有任務可以順利執(zhí)行的情況下,還可以執(zhí)行200條指令。也就是服務器的第一指令數(shù)量為 800,第二指令數(shù)量為200。
[0033] 需要說明的是,能力參數(shù)不僅限于第一指令數(shù)量和第二指令數(shù)量看,能力參數(shù)還 可以包括其他可以用于表示服務器執(zhí)行任務的能力的參數(shù)。在本發(fā)明實施例中,不僅可以 將兩個服務器上所有任務迀移至同一服務器,只要服務器的狀態(tài)允許,還可以將更多個服 務器上所有任務迀移至同一服務器。
[0034] 102、根據(jù)能力參