專利名稱:任務(wù)調(diào)度方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別是涉及一種任務(wù)調(diào)度方法及裝置。
背景技術(shù):
傳統(tǒng)的計算機技術(shù)中,對于業(yè)務(wù)請求可以任務(wù)的形式將請求進行封裝,并對任務(wù)進行處理。例如,對于存儲設(shè)備,業(yè)務(wù)請求即I/O請求(input/output,輸入輸出請求),可將I/O請求封裝為I/O任務(wù)進行處理;對于計算設(shè)備,業(yè)務(wù)請求即計算請求,可將計算請求封裝為計算任務(wù)進行處理。由于計算機資源的限制,如CPU個數(shù)與計算能力、傳輸帶寬,多個任務(wù)往往不能同時處理,需要將任務(wù)以任務(wù)隊列的形式存儲,并對任務(wù)隊列中的任務(wù)逐一進行調(diào)度處理。傳統(tǒng)技術(shù)中,在將請求封裝成任務(wù)對象時,通常按照關(guān)鍵程度為任務(wù)設(shè)定優(yōu)先級。在進行任務(wù)處理時,根據(jù)優(yōu)先級在任務(wù)隊列中選擇關(guān)鍵程度較高的任務(wù)優(yōu)先處理。然而,這種任務(wù)調(diào)度方式使得關(guān)鍵程度較低的任務(wù)需要等待較長時間才能得到處理的機會,從而降低了任務(wù)處理的效率
發(fā)明內(nèi)容
·基于此,有必要提供一種能提高任務(wù)處理效率的任務(wù)調(diào)度方法。一種任務(wù)調(diào)度方法,包括獲取任務(wù)等待隊列;獲取任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額;根據(jù)所述資源最低配額和資源最高配額在所述任務(wù)等待隊列中選取任務(wù);處理所述任務(wù)。在其中一個實施例中,所述方法還包括獲取任務(wù),提取任務(wù)的優(yōu)先級系數(shù);根據(jù)所述任務(wù)的優(yōu)先級系數(shù)將所述任務(wù)添加到對應(yīng)的任務(wù)等待隊列中。在其中一個實施例中,所述方法還包括獲取配額分配請求,所述配額分配請求包括資源最低配額和資源最高配額;獲取所述配額分配請求對應(yīng)的任務(wù)等待隊列;為所述對應(yīng)的任務(wù)等待隊列設(shè)置資源最低配額和資源最高配額。在其中一個實施例中,所述根據(jù)所述資源最低配額和資源最高配額在所述任務(wù)等待隊列中選取任務(wù)的步驟為根據(jù)所述資源最低配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例,并根據(jù)所述資源最高配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例;根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中選取任務(wù)。在其中一個實施例中,所述根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中選取任務(wù)的步驟為根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中以輪詢或先進先出或短任務(wù)優(yōu)先的方式選取任務(wù)。此外,還有必要提供一種能提高任務(wù)處理效率的任務(wù)調(diào)度裝置。一種任務(wù)調(diào)度裝置,包括等待隊列獲取模塊,用于獲取任務(wù)等待隊列;資源配額獲取模塊,用于獲取任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額;任務(wù)選取模塊,用于根據(jù)所述資源最低配額和資源最高配額在所述任務(wù)等待隊列中選取任務(wù);任務(wù)處理模塊,用于處理所述任務(wù)。在其中一個實施例中,所述裝置還包括任務(wù)添加模塊,用于獲取任務(wù),提取任務(wù)的優(yōu)先級系數(shù),根據(jù)所述任務(wù)的優(yōu)先級系數(shù)將所述任務(wù)添加到對應(yīng)的任務(wù)等待隊列中。在其中一個實施例中,所述裝置還包括資源配額分配模塊,用于獲取配額分配請求,所述配額分配請求包括資源最低配額和資源最高配額,獲取所述配額分配請求對應(yīng)的任務(wù)等待隊列,為所述對應(yīng)的任務(wù)等待隊列設(shè)置資源最低配額和資源最高配額。 在其中一個實施例中,所述任務(wù)選取模塊還用于根據(jù)所述資源最低配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例,并根據(jù)所述資源最高配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例,根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中選取任務(wù)。
在其中一個實施例中,所述任務(wù)選取模塊還用于根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中以輪詢或先進先出或短任務(wù)優(yōu)先的方式選取任務(wù)。上述任務(wù)調(diào)度方法及裝置通過獲取到的任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額來選取任務(wù),為任務(wù)等待隊列中的任務(wù)提供了計算資源或帶寬資源的最低的資源使用保障和最高的資源占用限制,使得關(guān)鍵程度較高的任務(wù)可至少得到最低資源使用保障的資源來進行處理,而關(guān)鍵程度較低的任務(wù)也可同時在資源占用限制的范圍內(nèi)獲得資源進行處理,從而提高了任務(wù)處理的效率。
圖I為一個實施例中任務(wù)調(diào)度方法的流程圖;圖2為一個實施例中任務(wù)調(diào)度裝置的結(jié)構(gòu)示意圖;圖3為另一個實施例中任務(wù)調(diào)度裝置的結(jié)構(gòu)示意圖。
具體實施例方式在一個實施例中,如圖I所示,一種任務(wù)調(diào)度方法,包括步驟S102,獲取任務(wù)等待隊列。任務(wù)等待隊列即在任務(wù)處理的阻塞過程中用于緩存新來的任務(wù)的邏輯存儲單元。任務(wù)等待隊列可以有多個,且不同的任務(wù)等待隊列可以用于緩存關(guān)鍵程度不同的任務(wù)。在一個實施例中,可將請求封裝成任務(wù),并根據(jù)請求的類別為任務(wù)設(shè)置優(yōu)先級,然后將任務(wù)添加到相應(yīng)額度任務(wù)等待隊列中,其過程為獲取任務(wù),提取任務(wù)的優(yōu)先級系數(shù),根據(jù)任務(wù)的優(yōu)先級系數(shù)將任務(wù)添加到對應(yīng)的任務(wù)等待隊列中。
例如,網(wǎng)絡(luò)游戲服務(wù)器在接收到付費用戶和免費用戶的請求時,可將付費用戶的請求封裝成付費用戶任務(wù),然后添加到付費任務(wù)等待隊列中;將免費用戶的請求封裝成免費用戶任務(wù),然后添加到免費用戶任務(wù)等待隊列中。步驟S104,獲取任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額。資源配額可以是CPU占用率、帶寬占用率、緩存資源占用率等,可采用百分比表示。資源最低配額即任務(wù)等待隊列中的任務(wù)在處理過程中至少需要用到的資源配額,資源最高配額即任務(wù)等待隊列中的任務(wù)在處理過程中最多能用到的資源配額。不同的任務(wù)等待隊列可各自對應(yīng)不同的資源最低配額和資源最高配額。例如,若在一個運行場景中,付費用戶任務(wù)等待隊列的資源最低配額為80%,資源最聞配額為100% ;免費用戶任務(wù)等待隊列的資源最低配額為0%,資源最聞配額為60%。則表示CPU至少需要花費80%的計算時間用于處理付費用戶任務(wù),而最多只能花費60%的計算時間用于處理免費用戶任務(wù)。在一個實施例中,任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額可預(yù)先配置,其過程為獲取配額分配請求,配額分配請求包括資源最低配額和資源最高配額,獲取配額分配請求對應(yīng)的任務(wù)等待隊列,為對應(yīng)的任務(wù)等待隊列設(shè)置資源最低配額和資源最高配額。步驟S106,根據(jù)資源最低配額和資源最高配額在任務(wù)等待隊列中選取任務(wù)。在一個實施例中,根據(jù)資源最低配額和資源最高配額在任務(wù)等待隊列中選取任務(wù)的步驟為根據(jù)資源最低配額計算任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例,并根據(jù)資源最高配額計算任務(wù)等待隊列對應(yīng)的最大任務(wù)數(shù)比例,根據(jù)最小任務(wù)數(shù)和最大任務(wù)數(shù)在任務(wù)等待隊列中選取任務(wù)。在本實施例中,已選取的任務(wù)形成任務(wù)執(zhí)行序列,任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例即需要從該任務(wù)等待隊列選取的任務(wù)的數(shù)目占任務(wù)執(zhí)行序列長度的比例;任務(wù)等待隊列對應(yīng)的最大任務(wù)數(shù)比例即可從該任務(wù)等待隊列選取的任務(wù)的數(shù)目占任務(wù)執(zhí)行序列長度的比例。例如,若付費用戶任務(wù)等待隊列的資源最低配額為80%,資源最高配額為100% ;免費用戶任務(wù)等待隊列的資源最低配額為10%,資源最高配額為60%。則需要從付費用戶任務(wù)等待隊列選取的任務(wù)的數(shù)目占任務(wù)執(zhí)行序列長度的比例為O. 8,可以從付費用戶任務(wù)等待隊列選取的任務(wù)的數(shù)目占任務(wù)執(zhí)行序列長度的比例為I ;需要從免費用戶任務(wù)等待隊列選取的任務(wù)的數(shù)目占任務(wù)執(zhí)行序列長度的比例為O. 1,可以從付費用戶任務(wù)等待隊列選取的任務(wù)的數(shù)目占任務(wù)執(zhí)行序列長度的比例為O. 6。也就是說從付費用戶任務(wù)等待隊列和免費用戶任務(wù)等待隊列中每選取10個任務(wù),其中至少有8個是從付費用戶任務(wù)等待隊列中選出,有I個是從免費用戶任務(wù)隊列中選出,且從免費用戶任務(wù)隊列中選出的任務(wù)數(shù)最大不能超過6個。
需要說明的是,在從任務(wù)等待隊列中選取任務(wù)時,只有在任務(wù)等待隊列中存在等待處理的任務(wù)時,才會根據(jù)資源最低配額選取任務(wù),若任務(wù)等待隊列中不存在等待處理的任務(wù),則不需要在該任務(wù)等待隊列中選取任務(wù)。例如,若付費用戶任務(wù)等待隊列的資源最低配額為80%,資源最高配額為100%;免費用戶任務(wù)等待隊列的資源最低配額為10%,資源最高配額為100%。則當(dāng)付費用戶任務(wù)等待隊列為空時,可全部在免費用戶任務(wù)等待隊列中選取。進一步的,可根據(jù)資源最低配額和資源最高配額在任務(wù)等待隊列中以輪詢或先進先出或短任務(wù)優(yōu)先的方式選取任務(wù)。輪詢方式即將計算資源或帶寬資源劃分成多個時間片,并為選取的任務(wù)輪流分配時間片進行處理。先進先出的方式即優(yōu)先選取最早添加到任務(wù)等待隊列中的任務(wù)。短任務(wù)優(yōu)先的方式即將處理耗時較少的任務(wù)優(yōu)先選取。步驟S108,處理任務(wù)。即分配相應(yīng)的資源對任務(wù)進行處理。例如,若為I/O任務(wù),則分配I/O帶寬進行傳輸,若為計算任務(wù)則分配CPU資源進行計算。在一個實施例中,若在某時刻,任務(wù)等待隊列A中存在任務(wù)A1、A2、A3、A4、A5、A6 ;任務(wù)等待隊列B中存在任務(wù)則、82、83、84、85、86 ;任務(wù)等待隊列C中存在任務(wù)Cl、C2、C3、C4、C5、C6。任務(wù)等待隊列A、B、C對應(yīng)的資源最低配額和資源最聞配額如表I所不表I
權(quán)利要求
1.一種任務(wù)調(diào)度方法,包括獲取任務(wù)等待隊列;獲取任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額;根據(jù)所述資源最低配額和資源最高配額在所述任務(wù)等待隊列中選取任務(wù);處理所述任務(wù)。
2.根據(jù)權(quán)利要求I所述的任務(wù)調(diào)度方法,其特征在于,所述方法還包括獲取任務(wù),提取任務(wù)的優(yōu)先級系數(shù);根據(jù)所述任務(wù)的優(yōu)先級系數(shù)將所述任務(wù)添加到對應(yīng)的任務(wù)等待隊列中。
3.根據(jù)權(quán)利要求I所述的任務(wù)調(diào)度方法,其特征在于,所述方法還包括獲取配額分配請求,所述配額分配請求包括資源最低配額和資源最高配額;獲取所述配額分配請求對應(yīng)的任務(wù)等待隊列;為所述對應(yīng)的任務(wù)等待隊列設(shè)置資源最低配額和資源最高配額。
4.根據(jù)權(quán)利要求I所述的任務(wù)調(diào)度方法,其特征在于,所述根據(jù)所述資源最低配額和資源最高配額在所述任務(wù)等待隊列中選取任務(wù)的步驟為根據(jù)所述資源最低配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例,并根據(jù)所述資源最高配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例;根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中選取任務(wù)。
5.根據(jù)權(quán)利要求4所述的任務(wù)調(diào)度方法,其特征在于,所述根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中選取任務(wù)的步驟為根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中以輪詢或先進先出或短任務(wù)優(yōu)先的方式選取任務(wù)。
6.一種任務(wù)調(diào)度裝置,其特征在于,包括等待隊列獲取模塊,用于獲取任務(wù)等待隊列;資源配額獲取模塊,用于獲取任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額;任務(wù)選取模塊,用于根據(jù)所述資源最低配額和資源最高配額在所述任務(wù)等待隊列中選取任務(wù);任務(wù)處理模塊,用于處理所述任務(wù)。
7.根據(jù)權(quán)利要求6所述的任務(wù)調(diào)度裝置,其特征在于,所述裝置還包括任務(wù)添加模塊,用于獲取任務(wù),提取任務(wù)的優(yōu)先級系數(shù),根據(jù)所述任務(wù)的優(yōu)先級系數(shù)將所述任務(wù)添加到對應(yīng)的任務(wù)等待隊列中。
8.根據(jù)權(quán)利要求6所述的任務(wù)調(diào)度裝置,其特征在于,所述裝置還包括資源配額分配模塊,用于獲取配額分配請求,所述配額分配請求包括資源最低配額和資源最高配額,獲取所述配額分配請求對應(yīng)的任務(wù)等待隊列,為所述對應(yīng)的任務(wù)等待隊列設(shè)置資源最低配額和資源最聞配額。
9.根據(jù)權(quán)利要求6所述的任務(wù)調(diào)度裝置,其特征在于,所述任務(wù)選取模塊還用于根據(jù)所述資源最低配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例,并根據(jù)所述資源最高配額計算所述任務(wù)等待隊列對應(yīng)的最小任務(wù)數(shù)比例,根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中選取任務(wù)。
10.根據(jù)權(quán)利要求9所述的任務(wù)調(diào)度裝置,其特征在于,所述任務(wù)選取模塊還用于根據(jù)所述最小任務(wù)數(shù)比例和所述最小任務(wù)數(shù)比例在所述任務(wù)等待隊列中以輪詢或先進先出或短任務(wù)優(yōu)先的方式選取任務(wù)。
全文摘要
本發(fā)明涉及一種任務(wù)調(diào)度方法,包括獲取任務(wù)等待隊列;獲取任務(wù)等待隊列對應(yīng)的資源最低配額和資源最高配額;根據(jù)所述資源最低配額和資源最高配額在所述任務(wù)等待隊列中選取任務(wù);處理所述任務(wù)。此外,還包括一種任務(wù)調(diào)度裝置。上述任務(wù)調(diào)度方法及裝置可以保證任務(wù)得到處理,從而提高任務(wù)處理的效率。
文檔編號G06F9/48GK102945185SQ20121041047
公開日2013年2月27日 申請日期2012年10月24日 優(yōu)先權(quán)日2012年10月24日
發(fā)明者趙振陽, 廖偉強, 張睿 申請人:深信服網(wǎng)絡(luò)科技(深圳)有限公司