一種作業調度方法及作業調度系統的制作方法
【專利摘要】本發明公開了一種作業調度方法及作業調度系統。所述作業調度系統包括作業提交設備、以及由主服務器及多個子服務器組成的服務器集群。所述主服務器用于接收到服務器集群中任意一臺子服務器M針對待處理作業隊列中的第j個作業提交的任務處理請求并判斷該臺子服務器M并非第j個作業的本地服務器時,基于資源預估模型量化計算一個數據塊傳輸周期T內服務器集群中第j個作業的本地服務器向第j個作業發起的任務處理請求次數Ej。所述主服務器還用于判斷該任務處理請求次數Ej低于一次時,將第j個作業的處理任務分配到子服務器M,或者判斷該任務處理請求次數Ej達到或超過一次時,執行第j個作業的延時調度工作。本發明可極大提高整體作業的調度效率。
【專利說明】一種作業調度方法及作業調度系統
【技術領域】
[0001] 本發明涉及任務分配【技術領域】,更具體地說,涉及一種作業調度方法及作業調度 系統。
【背景技術】
[0002] 為提高作業的本地數據資源獲取水平,縮短單個作業的執行時間,靜態延遲調度 方法得到了廣泛使用。然而,靜態延遲調度方法還存在如下缺陷:
[0003] 1)為確保用戶提交的作業獲取到本地數據資源,提高單個作業的執行效率,在作 業未獲取到來自本地數據資源的處理請求的情況下,需要進行作業的延時調度處理,導致 作業難以在預定時間內執行完畢。
[0004] 2)采用靜態延遲調度方法在提高單個作業的執行效率的同時,降低了整體作業的 執行效率。
[0005] 因此,如何克服靜態延遲調度方法所存在的上述缺陷,開發一款兼顧單個作業的 執行效率及整體作業的執行效率的作業調度方法已成為亟待解決的問題。
【發明內容】
[0006] 本發明要解決的技術問題在于,針對現有技術的上述缺陷,提供一種通過手勢動 作對車輛部件進行控制的方法及系統。
[0007] 本發明解決其技術問題所采用的技術方案是:構造一種作業調度方法,包括如下 步驟:
[0008] S1)在接收到由服務器集群中任意一臺子服務器Μ針對待處理作業隊列中的第j 個作業提交的任務處理請求時,判斷該臺子服務器Μ是否為第j個作業的本地服務器;Μ為 變量,j為遞增變量,Μ彡1,j彡1,且M、j均為正整數;
[0009] S2)如判斷子服務器Μ并非第j個作業的本地服務器,則基于資源預估模型量化計 算一個數據塊傳輸周期T內服務器集群中第j個作業的本地服務器針對第j個作業發起的 任務處理請求次數Ej ;
[0010] S3)判斷該任務處理請求次數Ej是否達到或超過一次;如判斷Ej < 1,則響應由子 服務器Μ提交的第j個作業的任務處理請求,將第j個作業的處理任務分配到子服務器Μ ; 如判斷&彡1,則執行第j個作業的延時調度工作。
[0011] 在本發明上述作業調度方法中,在所述步驟S1之前還包括如下步驟:
[0012] S0)指定服務器集群中用于執行作業受理及分配工作的主服務器,通過該主服務 器接收用戶通過作業提交終端提交的作業,并將作業添加到待處理作業隊列。
[0013] 在本發明上述作業調度方法中,所述步驟S0還包括:根據作業的提交時間確定待 處理作業隊列中各個作業的優先級,依照各個作業的優先級對待處理隊列中的各個作業進 行排序,以確定各個作業的處理順序。
[0014] 在本發明上述作業調度方法中,所述步驟S1中所述判斷子服務器Μ是否為第j個 作業的本地服務器的步驟包括:通過主服務器接收服務器集群中除其之外的任意一臺子服 務器Μ針對第j個作業發起的任務處理請求,遍歷待處理作業隊列,讀取待處理作業隊列中 的第j個作業,并判斷子服務器Μ是否存儲有用于處理第j個作業所需的數據塊;
[0015] 如判斷子服務器Μ存儲有用于處理第j個作業所需的數據塊,則判定子服務器Μ 為第j個作業的本地服務器;
[0016] 如判斷子服務器Μ未存儲有用于處理第j個作業所需的數據塊,則判定子服務器 Μ為非第j個作業的本地服務器。
[0017] 在本發明上述作業調度方法中,所述步驟S1還包括:如判斷子服務器Μ為本地服 務器,則響應由子服務器Μ提交的第j個作業的任務處理請求,將第j個作業的處理任務分 配到子服務器M。
[0018] 在本發明上述作業調度方法中,所述步驟S1還包括在將第j個作業的處理任務分 配到子服務器Μ之后所進行的第j個作業的處理步驟,所述第j個作業的處理步驟包括:
[0019] 子服務器Μ查找服務器集群中第j個作業的本地服務器,拷貝由該本地服務器存 儲的用于處理第j個作業所需的數據塊,并依照第j個作業對拷貝的數據塊進行處理,以將 第j個作業執行完畢。
[0020] 在本發明上述作業調度方法中,所述步驟S2中用于計算一個數據塊傳輸周期T內 服務器集群中第j個作業的本地服務器針對第j個作業所提交的任務處理請求次數Ej的 資源預估模型如下所示:
[0021]
【權利要求】
1. 一種作業調度方法,其特征在于,包括如下步驟: 51) 在接收到由服務器集群(200)中任意一臺子服務器Μ針對待處理作業隊列中的第 j個作業提交的任務處理請求時,判斷該臺子服務器Μ是否為第j個作業的本地服務器;Μ 為變量,j為遞增變量,Μ彡1,j彡1,且M、j均為正整數; 52) 如判斷子服務器Μ并非第j個作業的本地服務器,則基于資源預估模型量化計算一 個數據塊傳輸周期T內服務器集群(200)中第j個作業的本地服務器針對第j個作業發起 的任務處理請求次數Ej ; 53) 判斷該任務處理請求次數&是否達到或超過一次;如判斷& < 1,則響應由子服務 器Μ提交的第j個作業的任務處理請求,將第j個作業的處理任務分配到子服務器Μ ;如判 斷&彡1,轉而執行第j個作業的延時調度工作。
2. 根據權利要求1所述的作業調度方法,其特征在于,在所述步驟S1之前還包括如下 步驟: S0)指定服務器集群(200)中用于執行作業受理及分配工作的主服務器(201),通過 該主服務器(201)接收用戶通過作業提交終端提交的作業,并將作業添加到待處理作業隊 列。
3. 根據權利要求2所述的作業調度方法,其特征在于,所述步驟S0還包括:根據作業 的提交時間確定待處理作業隊列中各個作業的優先級,依照各個作業的優先級對待處理隊 列中的各個作業進行排序,以確定各個作業的處理順序。
4. 根據權利要求3所述的作業調度方法,其特征在于,所述步驟S1中所述判斷子服 務器Μ是否為第j個作業的本地服務器的步驟包括:通過主服務器(201)接收服務器集群 (200)中除其之外的任意一臺子服務器Μ針對第j個作業發起的任務處理請求,遍歷待處理 作業隊列,讀取待處理作業隊列中的第j個作業,并判斷子服務器Μ是否存儲有用于處理第 j個作業所需的數據塊; 如判斷子服務器Μ存儲有用于處理第j個作業所需的數據塊,則判定子服務器Μ為第 j個作業的本地服務器; 如判斷子服務器Μ未存儲有用于處理第j個作業所需的數據塊,則判定子服務器Μ為 非第j個作業的本地服務器。
5. 根據權利要求4所述的作業調度方法,其特征在于,所述步驟S1還包括:如判斷子 服務器Μ為本地服務器,則響應由子服務器Μ提交的第j個作業的任務處理請求,將第j個 作業的處理任務分配到子服務器M。
6. 根據權利要求5所述的作業調度方法,其特征在于,所述步驟S1還包括在將第j個 作業的處理任務分配到子服務器Μ之后所進行的第j個作業的處理步驟,所述第j個作業 的處理步驟包括: 子服務器Μ查找服務器集群(200)中第j個作業的本地服務器,拷貝由該本地服務器 存儲的用于處理第j個作業所需的數據塊,并依照第j個作業對拷貝的數據塊進行處理,以 將第j個作業執行完畢。
7. 根據權利要求1所述的作業調度方法,其特征在于,所述步驟S2中用于計算一個數 據塊傳輸周期T內服務器集群(200)中第j個作業的本地服務器針對第j個作業所提交的 任務處理請求次數Ej的資源預估模型如下所示: Ej = TX (N/THeat) XSlodP-XP/^^XP/。1111^ ;其中 N表示服務器集群(200)中的所有子服務器(202)的數目; THeat表示服務器集群(200)中子服務器(202)的任務處理請求提交周期; Slotavg表示每個子服務器(202)在提交任務處理請求時提供的平均時槽數目; Psl°t表示每個子服務器(202)提供的時槽中空閑時槽的概率; 表示服務器集群(200)中請求處理第j個作業的子服務器(202)為第j個作 業的本地服務器的概率; P/°mp&表示服務器集群(200)中第j個作業的競爭服務器數目占服務器集群(200)中 第j個作業的本地服務器數目的百分比; 其中,Psl(rt的計算公式如下所示: pslot _ rpavg^/rpHeat Tavg表示執行一個映射任務所需時間; PjkalData的計算公式如下所示: 卩廣蟲=NodeSj/N ; 此如\_表示服務器集群(200)中存儲有用于處理第j個作業所需數據塊的子服務器 (202)的數目,即第j個作業的本地服務器的數目; N表示服務器集群(200)中的所有服務器數目; P/°mp&的計算公式如下所示: P/卿ete = Nodes/head/NodeSj ; 其中,此(1^/^<1表示服務器集群(200)中存儲有第j個作業的競爭數據塊的競爭服務 器的數目; 第j個作業的競爭數據塊定義為:用于處理第j個作業以及主服務器(201)的待處理 作業隊列中優先級高于第j個作業的其它作業所需的同一個數據塊; 競爭服務器定義為:服務器集群(200)中存儲有所述競爭數據塊的子服務器(202)。
8. 根據權利要求1所述的作業調度方法,其特征在于,所述步驟S3中所述執行第j個 作業的延時調度工作的步驟包括:拒絕由子服務器Μ提交的針對第j個作業的當前的任務 處理請求,并將第j個作業分配到下一個數據塊傳輸周期T內向主服務器(201)請求處理 第j個作業的任意一臺子服務器Μ' ;M'為變量,M'彡1,且,為正整數。
9. 根據權利要求8所述的作業調度方法,其特征在于,所述步驟S3還包括第j個作業 的處理步驟,所述第j個作業的處理步驟包括: 子服務器Μ查找服務器集群(200)中第j個作業的本地服務器,拷貝該本地服務器存 儲的用于處理第j個作業所需的數據塊,并依照第j個作業對該拷貝的數據塊進行處理,以 將第j個作業執行完畢; 或者子服務器M'調取其存儲的用于處理第j個作業所需的數據塊,并依照第j個作業 對該拷貝的數據塊進行處理,以將第j個作業執行完畢。
10. 根據權利要求9所述的作業調度方法,其特征在于,在所述步驟S3之后還包括如下 步驟: S4)接收服務器集群(200)中任意一臺子服務器Μ提交的針對第(j+Ι)個作業的任務 處理請求,并依照所述步驟S1至所述步驟S3執行第(j+Ι)個作業的調度工作; 重復執行步驟S4,直至待處理作業隊列中的所有作業均已調度完畢。
11. 一種采用如權利要求1至10中任意一臺項所述的作業調度方法的作業調度系統, 所述作業調度系統包括作業提交設備(100)、以及由主服務器(201)及多個子服務器(202) 組成的服務器集群(200),所述主服務器(201)可接收由所述作業提交設備(100)提交的作 業,并將作業添加到待處理作業隊列,其特征在于: 所述主服務器(201)還用于接收到由服務器集群(200)中任意一臺子服務器Μ針對待 處理作業隊列中的第j個作業提交的任務處理請求并判斷該臺子服務器Μ并非第j個作業 的本地服務器時,基于資源預估模型量化計算一個數據塊傳輸周期T內服務器集群(200) 中第j個作業的本地服務器向第j個作業發起的任務處理請求次數Ej ; 所述主服務器(201)還用于判斷該任務處理請求次數&低于一次時,將第j個作業的 處理任務分配到子服務器M,或者判斷該任務處理請求次數&達到或超過一次時,執行第j 個作業的延時調度工作。
12. 根據權利要求11所述的作業調度系統,其特征在于,所述資源預估模型如下所示: & = TX (N/THeat) XSlodP-XP/^^XP/。1111^ ;其中 N表示服務器集群(200)中的所有子服務器(202)的數目; THeat表示服務器集群(200)中子服務器(202)的任務處理請求提交周期; Slotavg表示每個子服務器(202)在提交任務處理請求時提供的平均時槽數目; Psl°t表示每個子服務器(202)提供的時槽中空閑時槽的概率; 表示服務器集群(200)中請求處理第j個作業的子服務器(202)為第j個作 業的本地服務器的概率; P/°mp&表示服務器集群(200)中第j個作業的競爭服務器數目占服務器集群(200)中 第j個作業的本地服務器數目的百分比; 其中,Psl(rt的計算公式如下所示: pslot rpavg^/rpHeat Tavg表示執行一個映射任務所需時間; PjkalData的計算公式如下所示: 卩廣蟲=NodeSj/N ; 此如\_表示服務器集群(200)中存儲有用于處理第j個作業所需數據塊的子服務器 (202)的數目,即第j個作業的本地服務器的數目; N表示服務器集群(200)中的所有服務器數目; P/°mp&的計算公式如下所示: P/卿ete = Nodes/head/NodeSj ; 其中,此(1^/^<1表示服務器集群(200)中存儲有第j個作業的競爭數據塊的競爭服務 器的數目; 第j個作業的競爭數據塊定義為:用于處理第j個作業以及主服務器(201)的待處理 作業隊列中優先級高于第j個作業的其它作業所需的同一個數據塊; 競爭服務器定義為:服務器集群(200)中存儲有所述競爭數據塊的子服務器(202)。
【文檔編號】H04L29/08GK104158860SQ201410373085
【公開日】2014年11月19日 申請日期:2014年7月31日 優先權日:2014年7月31日
【發明者】劉建文, 都政, 井革新, 熊超超, 馮海軍, 徐穎俊, 周志平, 羅文龍, 陳遠磊 申請人:國家超級計算深圳中心(深圳云計算中心), 深圳云計算中心有限公司