TWI742045B - 任務的資源調度方法及裝置 - Google Patents
任務的資源調度方法及裝置 Download PDFInfo
- Publication number
- TWI742045B TWI742045B TW106105970A TW106105970A TWI742045B TW I742045 B TWI742045 B TW I742045B TW 106105970 A TW106105970 A TW 106105970A TW 106105970 A TW106105970 A TW 106105970A TW I742045 B TWI742045 B TW I742045B
- Authority
- TW
- Taiwan
- Prior art keywords
- task
- scheduled
- tasks
- sequence
- time
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000010586 diagram Methods 0.000 description 23
- 230000001419 dependent effect Effects 0.000 description 7
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
- G06F9/4831—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority
- G06F9/4837—Task transfer initiation or dispatching by interrupt, e.g. masked with variable priority time dependent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本發明提供了一種任務的資源調度方法及裝置,透過確定多個任務的優先順序以及規定的任務截止時間,確定預設的資源上限,根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件,其中,第一條件為任務不存在時間資源衝突,所述時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。本實施例中執行多個任務時,不再採用現有先進先出的原則,而是根據任務的優先順序來調度。透過上述調度處理,能夠維持各任務按級別序執行,盡可能地保證級別高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料的呈現。
Description
本發明屬於資料處理領域,尤其關於一種任務的資源調度方法及裝置。
在傳統的大資料計算中,每個需求一般包括多個任務,當需求包括的所有任務全部完成後,需求才能夠在前端進行資料呈現。
目前,需求對應的任務按照先到達先計算的規則執行。往往會出現一些重要性低的需求的任務先一步到達,這些需求的任務到達後就能夠佔用機器資源開始計算。當重要性較低的需求的任務計算時所需時間較長且資源較大時,就可能對後續達到的一些重要性高且期望完成時間較早的需求的任務產生一定的影響。例如,當這些重要性較高的需求的任務到達時,計算集群資源已經滿載,這些重要性較高的需求的任務無法及時進行計算,進而最終會影響到前台資料的呈現。
本發明提供一種任務的資源調度方法及裝置,用於解決按照先到先計算的規則執行任務時重要性高的需求對應的任務無法及進行計算,影響該需求前端資料呈現的問題。
為了實現上述目的,本發明提供了一種任務的資源調度方法,包括:確定多個任務的優先順序以及規定的任務截止時間;確定預設的資源上限;根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件,所述第一條件為任務不存在時間資源衝突,所述時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。
為了實現上述目的,本發明提供了一種任務的資源調度裝置,包括:確定模組,用於確定多個任務的優先順序、規定的任務截止時間,以及預設的資源上限;調度模組,用於根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件,所述第一條件為任務不存在時間資源衝突,所述時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。
本發明提供的任務的資源調度方法及裝置,透過確定多個任務的優先順序以及規定的任務截止時間,確定預設
的資源上限,根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件,其中,第一條件為任務不存在時間資源衝突,所述時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。本實施例中執行多個任務時,不再採用現有先進先出的原則,而是根據任務的優先順序來調度,透過上述調度處理,能夠維持各任務按級別順次執行,盡可能地保證級別高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料的呈現。
16‧‧‧查詢請求接收模組
18‧‧‧查詢模組
20‧‧‧資訊建立模組
22‧‧‧資訊發送模組
28‧‧‧呼叫請求接收模組
30‧‧‧查詢請求發送模組
32‧‧‧號碼資訊接收模組
34‧‧‧呼叫模組
40‧‧‧號碼請求接收模組
42‧‧‧號碼分配模組
44‧‧‧綁定模組
46‧‧‧呼叫模組
100‧‧‧伺服器
110‧‧‧伺服器
120‧‧‧伺服器
圖1為本發明實施例一的任務的資源調度方法的流程示意圖;圖2為本發明實施例二的任務的資源調度方法的流程示意圖;圖3為本發明實施例三任務的資源調度方法的流程示意圖;圖4為本發明實施例四任務的資源調度方法的流程示意圖圖;圖5為本發明實施例四的任務的資源調度方法的應用示意圖之一;圖6a為本發明實施例四的任務的資源調度方法的應用示意圖之二;
圖6b為本發明實施例四的任務的資源調度方法的應用示意圖之三;圖6c為本發明實施例四的任務的資源調度方法的應用示意圖之四;圖6d為本發明實施例四的任務的資源調度方法的應用示意圖之五;圖7a為本發明實施例四的任務的資源調度方法的應用示意圖之六;圖7b為本發明實施例四的任務的資源調度方法的應用示意圖之七;圖7c為本發明實施例四的任務的資源調度方法的應用示意圖之八;圖7d為本發明實施例四的任務的資源調度方法的應用示意圖之九;圖8a為本發明實施例四的任務的資源調度方法的應用示意圖之十;圖8b為本發明實施例四的任務的資源調度方法的應用示意圖之十一;圖8c為本發明實施例四的任務的資源調度方法的應用示意圖之十二;圖8d為本發明實施例四的任務的資源調度方法的應用示意圖之十三;圖9a為本發明實施例四的任務的資源調度方法的應用示意圖之十四;
圖9b為本發明實施例四的任務的資源調度方法的應用示意圖之十五;圖10為本發明實施例五的任務的資源調度裝置的結構示意圖;圖11為本發明實施例六的任務的資源調度裝置的結構示意圖;圖12為本發明實施例七中任務的資源調度裝置的結構示意圖。
下面結合附圖對本發明實施例提供的任務的資源調度方法及裝置進行詳細描述。
如圖1所示,其為本發明實施例一的任務的資源調度方法的流程示意圖。該任務的資源調度方法包括以下步驟:S101、確定多個任務的優先順序以及規定的任務截止時間;本實施例中,每個任務對應的一個優先順序,不同的任務可以具有相同的優先順序。不同的任務可以屬於同一個需求,不同需求之間的任務的優先順序可以不同,而隸屬於同一需求的所有任務的優先順序相同。進一步地,為每個需求設置一個任務截止時間,該需求所包括的任務要
在該任務截止時間內完成。
S102、確定預設的資源上限。
為了保證執行任務的機器集群能夠高效的允許,需要為執行任務的機器集群設置一個資源上限,在該資源上限內機器集群的允許效率較高,當超過該資源上限時,執行任務的過程中可能會出現異常。
S103、根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件。
其中,第一條件為任務不存在時間資源衝突,時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。時間資源衝突具體為一個以上相同類型的任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。
為了保證重要的任務盡可能先執行,需要按照確定的任務的優先順序對多個任務進行排序,具體地,所述多個任務中存著類型不同的任務,不同類型的任務之間可能存在依賴關係,一般情況下,同一需求的不同類型的任務之間存在依賴關係,根據任務的優先順序和任務的依賴關係對執行多個任務的先後順序進行調度。本實施例中,對於不同需求的任務按照優先順序的順序進行調度,而同一需求的任務需要按照任務之間的依賴關係進行調度。
在進行調度後,需要保證調度後的任務滿足第一條件,即任務之間不存在時間資源衝突。本實施例中,時間
資源衝突為一個以上任務在時間序列上存在重疊的部分,而所述重疊的部分所佔用的資源總和大於資源上限。
時間序列上重疊說明有多個任務在一個時間段內並行地執行,時間序列上重疊的多個任務的開始時間可能相同也可能不同,結束時間可能相同也可能不同,但是會在一段時間內並存執行。
進一步地,調度後的任務還滿足第二條件,即所有任務的結束時間不會超出其規定的任務截止時間。也就是說,調度後的所有任務需要在規定的任務截止時間內完成。
進一步地,如果存在無法滿足第一條件和第二條件的任務,則將該任務放置到對其他任務完成調度後再進行處理。
本發明提供的任務的資源調度方法,透過確定多個任務的優先順序以及規定的任務截止時間,確定預設的資源上限,根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件,其中,第一條件為任務不存在時間資源衝突,所述時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且重疊的部分的所佔用的資源總和大於資源上限。本實施例中執行多個任務時,不再採用現有先進先出的原則,而是根據任務的優先順序來調度,透過上述調度處理,能夠維持各任務按級別順次執行,盡可能地保證級別高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料
的呈現。
如圖2所示,其為本發明實施例二的任務的資源調度方法的流程示意圖。該任務的資源調度方法包括以下步驟:S200、利用調度後的任務構成已調度任務序列。
S201、向已調度任務序列中增加第一待調度任務。
其中,所述已調度任務序列中的任務的優先順序高於或等於第一待調度任務的優先順序,所述已調度任務序列滿足第一條件,其中,第一條件為任務不存在時間資源衝突,本實施例中,所述時間資源衝突為一個以上相同類型任務在時間序列上重疊的部分所佔用的資源總和大於該類型任務對應的資源上限。
本實施例中,每個任務對應的一個優先順序,不同的任務可以具有相同的優先順序。不同的任務可以屬於同一個需求,不同需求之間的任務的優先順序可以不同,而隸屬於同一需求的所有任務的優先順序相同。
為了保證級別的高任務優先執行,本實施例中按照任務的優先順序由高到低的順序進行資源調度。對第一待調度任務進行資源調度時,需要將該第一待調度任務增加到已調度任務序列中,其中已調度任務序列中的任務的優先順序高於或者等於該第一待定調度任務的優先順序。為了保證已調度任務序列中的任務能夠執行,當前需要保證該
已調度任務序列中的任務之間不存在時間資源衝突。時間資源衝突為時間序列上重疊的相同類型的任務所佔用的資源總和大於預設的資源上限。時間序列上重疊的判斷條件為:第一待調度任務的開始時間小於等於已調度任務序列中同類型任務的結束時間,且已調度任務序列中同類型任務的開始時間小於等於第一待調度任務的結束時間。時間序列上重疊說明有多個任務在一個時間段內並行地執行,時間序列上重疊的多個任務的開始時間可能相同也可能不同,結束時間可能相同也可能不同,但是會在一段時間內並存執行。
本實施例中,預先設置一個資源上限,而時間資源衝突是指在一段時間內並存執行的相同類型的任務所佔用的資源總和大於該資源上限。
S202、判斷增加第一待調度任務是否導致所述時間資源衝突。
第一待調度任務需要佔用一定的資源和時間,首先獲取到與該第一待調度任務在時間序列上重疊的相同類型的任務,然後判斷第一待調度任務和時間序列上重疊的相同類型的任務所佔用的資源是否超出資源上限,也就是判斷增加第一待調度任務是否導致時間資源衝突。
如果判斷結果為是,執行步驟203,如果判斷結果為否,執行步驟207。
S203、執行第一調度操作。
其中,第一調度操作包括:
沿著時間序列向後調整與第一待調度任務發生時間資源衝突的一個或多個第一重疊任務,或者,沿著時間序列向後調整一個或多個第一重疊任務以及在之後的時間序列上與第一待調度任務同類型的全部或部分任務,以生成滿足第一條件和第二條件的調整後的任務序列。
其中,第二條件為:所有任務的結束時間不會超出其規定的任務截止時間。
執行第一調度操作中的第一種操作:沿著時間序列向後調整與第一待調度任務發生時間資源衝突的一個或多個第一重疊任務以獲取滿足第一條件和第二條件的調整後的任務序列的具體過程如下:將一個或多個第一重疊任務沿著時間序列向後調整,每當向後調整後該一個或者多個第一重疊任務與已調度任務序列中後面的任務存在時間資源衝突時,則繼續向後調整該一個或多個第一重疊任務,當獲取到存在滿足第一條件的調度後的任務序列,則執行步驟204;如果在將該一個或多個第一重疊任務向後調整的過程中,出現了其任務的結束時間超出其規定的任務截止時間時,說明不存在滿足第一條件和第二條件的調度後的任務序列,則執行步驟205。
執行第一調度操作中的第二種操作:沿著時間序列向後調整一個或多個第一重疊任務以及在之後的時間序列上與第一待調度任務同類型的全部或部分任務,以獲取滿足下第一條件和第二條件的調整後的任務序列。
經過第二種操作後,在沿著時間序列向後調整一個或多個第一重疊任務以及在之後的時間序列上與第一待調度任務同類型的全部或部分任務的操作中,需要保持已調度任務序列中同類型任務的先後順序。也就是說,獲取到的滿足第一條件和第二條件的調整後的任務序列中同類型任務的先後順序與已調度任務中原有任務的先後順序。
第二種操作的具體過程如下:將一個或多個第一重疊任務作為目標任務沿著時間序列向後移動直至與目標任務發生的時間資源衝突消失後停止。如果移動後的目標任務的結束時間未超出其規定的任務截止時間,則進一步判斷是否存在與移動後目標任務發生時間資源衝突的第二重疊任務,如果存在與移動後目標任務發生時間資源衝突的第二重疊任務,則將一個或多個第二重疊任務作為新的目標任務重複執行上述將目標任務沿著時間序列向後移動的操作,如果不存在與移動後目標任務發生時間資源衝突的第二重疊任務,則判定為當前調度後的任務序列滿足第一條件和第二條件,則執行步驟204。
如果移動後的目標任務的結束時間超出其規定的任務截止時間,則判定為不存在滿足第一條件和第二條件的調度後的任務序列,執行返回執行步驟205放棄向已調度任務序列中增加第一待調度任務的處理。
本實施例中,時間序列包括由已調度任務序列所包含的各任務的開始時間和結束時間構成的時間點,在沿著時間序列調整任務時具體為沿著時間序列的時間點調整任
務。
其中,可以將與第一待調度任務存在時間資源衝突的所有任務按照其結束時間進行從早到晚排序,然後按照從晚到早的順序逐次從上述與第一待調度任務存在時間資源衝突的所有任務中選取一個或多個第一重疊任務。或者,將與第一待調度任務存在時間資源衝突的所有任務按照其開始時間進行從早到晚排序,然後按照從晚到早的順序從上述與第一待調度任務存在時間資源衝突的所有任務中選取一個或多個第一重疊任務任務。或者,根據第一待調度任務的佔用資源以及與第一待調度任務存在時間資源衝突的所有任務的佔用資源,可以得知需要釋放多少資源量,就可以滿足第一待調度任務的資源需求。當確定出資源量後,可以從上述與第一待調度任務存在時間資源衝突的所有任務中選取一個或多個第一重疊任務。
此處需要說明,第二重疊任務的選取與第一重疊任務的選取過程相似,此處不再贅述。
S204、將滿足第一條件和第二條件的調度後的任務序列保存為已調度任務序列。
在將第一條件和第二條件的調度後的任務序列保存為已調度任務序列後,對第一待調度任務的處理已經完成,可以執行步驟206。
S205、不存在滿足第一條件和第二條件的調度後的任務序列時,放棄向已調度任務序列中增加第一待調度任務。
當未查找到滿足第一條件和第二條件的調整後的任務序列保存為已調度任務序列時,則放棄向已調度任務序列中增加第一待調度任務,此時對第一待調度任務的處理已經完成,可以執行步驟206。
S206、選取新的未調度任務作為第一待調度任務,重複執行向已調度任務序列中增加第一待調度任務的處理,直至處理完全部未調度任務。
S207、將增加了第一待調度任務的任務序列保存為已調度任務序列。
進一步地,如果步驟202中判斷出增加第一待調度任務未導致時間資源衝突,則可以在已調度任務序列中直接增加該第一待調度任務,並將增加了該第一待調度任務的任務序列保存為已調度任務序列。
本實施例提供的任務的資源調度方法,向已調度任務序列中增加第一待調度任務,其中,第一待調度任務的優先順序要低於或者等於已調度任務中的任務的優先順序,當增加第一待調度資源導致時間資源衝突時,對第一待調度任務進行第一調度操作,對已調度任務序列進行調整,以達到調整後的任務序列不存在時間資源衝突,並且已調度任務序列中的所有任務的結束時間不會超出其規定的任務截止時間的目的。透過上述調度處理,能夠維持各任務按級別序執行,盡可能地保證級別高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料的呈現。
如圖3所示,其為本發明實施例三的任務的資源調度方法的流程示意圖。在上述實施例二的基礎之上,所述向已調度任務序列中增加第一待調度任務之前,包括以下步驟:
S301、根據任務之間的依賴關係劃分任務組。
其中,各任務組包括:檢測資料狀態的第一類型任務、計算資料的第二類型任務和匯總資料計算結果的第三類型任務;第二類型任務依賴第一類型任務,第三類型任務直接依賴第二類型任務,間接依賴第一類型任務。
實際應用中,同一需求的任務之間存在依賴關係,根據任務之間存在的依賴關係,對任務進行分組。一般情況下,一個任務組包括:檢查資料狀態的第一類型任務、計算資料的第二類型任務和匯總計算結果的第三類型任務。其中,第一類型任務用於檢查資料的狀態是否達到可以計算的程度,通常時檢查資料的同步進度。第二類型任務用於對資料進行計算,通常耗費較長時間,第三類型任務用於對第二類型任務的計算結果進行匯總計算,以傳送到前端進行資料展示。
S302、按照任務組的優先順序由高到低進行排序。
在獲取到各任務組後,對所有任務組進行排序。具體地,首先獲取各任務組中各任務運行時長及佔用資源,將每個任務運行時長與佔用資源相乘,然後將每個乘積相加
得到各任務組的累加值,基於各任務組的累加值和各任務組預設的級別,獲取各任務組的優先順序,然後按照優先順序從大到小對各任務組進行排序。任務組的優先順序可以根據所對應需求的重要性進行設置。
具體地,針對每個任務組,收集設定時間段內的組內任務的歷史資料,分析收集到的歷史資料進行分析,獲取任務組內任務的運行資訊,根據任務組的運行資訊獲取任務組內各任務的開始時間、結束時間和運行時長。
獲取任務的開始時間的過程如下:收集設定時間段內的任務開始時間的歷史資料,將該時間轉換為一個數字,實際應用中時間一般為Unix時間,從1970年1月1日0時0分0秒到現在的累計秒數,用所有數字計算平均值和標準差,從所有歷史資料中篩選出超過該平均值上下兩個標準差的歷史進行剔除資料後,利用剩餘的歷史資料重新計算平均值,再將重新得到的平均值轉換為時間,以該時間作為最終的開始時間。
獲取任務的運行時長的過程如下:獲取任務設定時長內運行時長的歷史資料,計算平均值和標準差,從所有的歷史資料中篩選出超過平均值上下兩個標準差的歷史資料進行剔除,利用剩餘的歷史資料重新計算平均值,將該平均值作為任務最終的運行時長。
在獲取到任務的開始時間和運行時長後,就可以得到任務的結束時間。
可選地,運行資訊包括第一類型任務的開始時間、結
束時間、第二類型任務和第三類型任務的運行時長。由於任務之間存在依賴關係,當獲取到第一類型任務的開始時間和運行時長後,就可能獲取到第二類型任務的開始時間,根據獲取到的第二類型任務的運行時長,可以計算得到第二類型任務的結束時間。相應地,在獲取到第二類型任務的結束時間,根據獲取到的第三類型任務的運行時長,就能獲取到第三類型任務的結束時間。
實際應用中,一個任務可能依賴於多個父節點任務,也可能只依賴一個父節點任務。例如,當目標任務為第二類型任務時,可能依賴於多個第一類型任務,也可能只依賴於一個第一類型任務,第一類型任務就是目標任務的父節點任務。
當獲取目標任務的開始時間時,判斷第一待調度任務是否具有父節點任務,所謂父節點任務就是第一待調度任務直接依賴的上一級任務,例如當第一待調度任務為第二類型任務時,則其父節點任務就是所依賴的第一類任務。當判斷出有父節點任務時,需要得到其所依賴的所有父節點任務,得到目標任務所有父節點任務的結束時間,然後將所有父節點任務最晚的結束時間作為該目標任務的開始時間,進一步地根據目標任務的歷史資料獲取到的運行時長就能夠得到目標任務的結束時間。
本實施例中,預先為各任務組設置優先順序,在排序的過程中還考慮各任務組中任務的資源佔用情況以及運行時長,結合這些因素排序後,使得重要性高且任務量大的
任務排在前面,而重要性低且任務量小的任務排在後面,這樣重要任務能儘早地運行,從而保證重要任務的完成時間比較早。
S303、將各任務組內的任務按照任務類型進行排序。
本實施例中,對任務組進行排序後,由於組內任務之間還有依賴關係,只有當所依賴的上一級任務即父節點任務完成後,下一級任務才能執行,還需要對組內的任務進行排序,使組內任務第一類型任務排在第二類型任務之前,第二類型任務排在第三類型任務之前,這樣就可以安裝任務類型的順序對任務組中的任務部署資源,從而可以達到先執行第一類型任務再執行第二類型任務最後執行第三類型任務的目的。
S304、按序從任務組中獲取第一待調度任務。
在對任務組和任務組內的任務按照任務類型排序後,按序從任務組中獲取第一待調度任務。例如,包括有三個任務組:任務組1、任務組2和任務組3。其中,排序後任務組2、任務組3和任務組1,排序後首先優先從任務組2中按照任務類型獲取第一待調度任務、然後再是任務組3和之後再是任務組1中獲取第一待調度任務。
此處需要說明,初始進行任務的資源調度時,由於未開始對待調度任務進行調度,當前已調度任務序列中未添加任務時即當前的已調度任務序列為空,首先從優先順序最高的任務組中選取全部或部分任務生成已調度任務序列,然後,按序從任務組中獲取第一待調度任務進行調度
處理的過程。
本實施例提供的任務的資源調度方法,在將第一待調度任務增加到已調度任務序列中之前,對任務進行分組,並且對任務組按照優先順序排序,組內按照任務類型進行排序,排序後按照順序獲取第一待調度任務。本實施例中,將隸屬於同一個需求的任務劃分到一個組內,針對同一個任務組來說,能集中對該任務組中的同類型任務進行調度,這樣該任務組中的任務可以陸續執行,而且第一待調度任務獲取時按照排序獲取,能夠維持各任務組按照循序執行,盡可能地保證重要性高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料的呈現。
如圖4所示,其為本發明實施例四的任務的資源調度方法的流程示意圖。在上述實施例的基礎上,所述放棄向已調度任務序列中增加所述第一待調度任務之後,還包括以下步驟:S401、在處理完全部未調度任務後,選取被放棄的第一待調度任務作為第二待調度任務,執行如下第二調度操作。
其中,將第二待調度任務從已調度任務序列的尾部開始,沿著時間序列向前移動,選取滿足如下第三條件的最靠前的位置作為第二待調度任務的最終位置,所述第三條
件為增加了第二待調度任務後的任務序列不存在時間資源衝突。
在處理完全部待調度任務後,由於第一條件的設置,在實施例一中出現了一些第一待調度任務當時不能增加到已調度任務序列中的情況,在上述情況下,放棄第一待調度任務,但是為了保證需求的完成,則需要重新對被放棄的第一待調度任務進行如下的第二調度操作。
具體地,將被放棄的第一調度任務作為第二待調度任務,將第二待調度任務從已調度任務序列的尾部開始,沿著時間序列向前移動,選取滿足如下第三條件的最靠前的位置作為第二待調度任務的最終位置。其中,第三條件為:增加了第二待調度任務後的任務序列不存在時間資源衝突。
本實施例中,時間序列包括由已調度任務序列所包含的各任務的開始時間和結束時間構成的時間點,沿著時間序列向前移動,即將第二待調度任務從最晚的時間點開始逐次往前移動,每當移動到一個時間點上就需要判斷增加了第二待調度任務後的任務序列是否滿足第三條件,即增加了第二待調度任務後的任務序列是否存在時間資源衝突,如果判斷出滿足第三條件,則繼續向前移動第二待調度任務,直到移動到的時間點處增加了第二待調度任務後的任務序列不滿足第三條件為止,並且將滿足第三條件的最靠前的位置作為第二待調度任務的最終位置。
在獲取到該第二待調度任務的最終位置後,將該最終
位置的時間點作為該第二待調度任務的開始時間。
本實施例中,將第二待調度任務沿著時間序列從後往前調整,以便於第二待調度任務儘早獲取到資源,能夠使得第二待調度任務的完成時間儘量接近其預設的任務截止時間,使完成時間不要晚於其截止時間太多。
為了更好地理解本實施例提供的任務的資源調度方法,下面舉例進行說明:假設需要對4個任務組進行資源部署,4個任務組分別為任務組1、任務組2、任務組3和任務組4。本示例中任務的資源調度方法的具體過程如下:按照級別、執行時間及佔用資源進行加權計算後,得到每個任務組的優先順序,優先順序的大小順序為:任務組2、任務組4、任務組1、任務組3。
每個任務組包括三種類型的任務:“檢查資料狀態”的第一類任務,在該例子中稱為A類任務、“計算資料”的第二類任務,在該例子中稱為B類任務和“匯總資料計算結果”的第三類任務,在該例子中稱為C類任務。三類任務存在依賴關係,B類任務依賴A類任務,C類任務直接依賴B類任務,間接依賴A類任務。
其中,任務組2中包括兩個A類任務分別記為:2A1、2A2,包括兩個B類任務分別記為:2B1、2B2,其中,2B1、依賴於2A1,2B2依賴於2A2,包括一個C類任務分別記為:2C。
任務組4中包括三個A類任務分別記為:4A1、4A2,
4A3,包括兩個B類任務分別記為:4B1、4B2,其中,4B1、依賴於4A1,4B2依賴於4A2,4A3,包括一個C類任務分別記為:4C。
任務組1中包括一個A類任務記為:1A1,包括兩個B類任務分別記為:1B1、1B2,其中,1B1和1B2均依賴於1A1,包括一個C類任務分別記為:1C。
任務組3中包括一個A類任務記為:3A1,包括一個B類任務記為:3B1,其中,3B1依賴於3A1,包括一個C類任務分別記為:3C。
此處以B類任務為例進行說明:圖5中橫軸為時間軸,縱軸為資源軸,其中與橫軸平行的一條加粗黑線表示預設的資源上限。圖5中邊框內填充網格用於表示A類任務,邊框內填充正斜線用於表示B類任務,邊框內填充反斜線表示C類任務。與縱軸平行的標有2字的加粗分隔號表示任務組2的任務截止時間,與縱軸平行的虛分隔號為時間點,時間點由已調度任務序列中每個任務的開始時間和結束時間構成。
當對任務組2進行調度處理時,由於資源充足只需按照任務的開始時間將任務組2中部分或者全部B類任務分別放置到對應的位置,構成已調度任務序列。其中,任務組2中每個B類任務的開始時間以其依賴的所有父節點即A類任務中的最晚的結束時間作為其開始時間,在任務組2中,2B1依賴於2A1,2B2依賴於2A2。2B1的開始時間為2A1的結束時間,2B2的開始時間為2A2的結束時間。已調
度任務序列的結果如圖5所示。
圖6a~圖6d中橫坐標為時間軸,縱坐標為資源軸,其中與橫軸平行的一條加粗黑線表示預設的資源上限。邊框內填充網格用於表示A類任務,邊框內填充正斜線用於表示B類任務,邊框內填充反斜線表示C類任務。與縱軸平行的標有2字的加粗分隔號表示任務組2的任務截止時間,與縱軸平行的標有4字的加粗分隔號表示任務組4的任務截止時間。與縱軸平行的虛分隔號為時間點,時間點由已調度任務序列中每個任務的開始時間和結束時間構成。
當對任務組4進行調度處理時,如果任務組4中的任務中與任務組2中B類型的任務在時間序列上的不存在時間資源衝突,則將任務組4放置到對應的位置上,此時將增加了任務組4中B類型任務後的任務序列保存為已調度任務序列,如圖6a所示。其中,4B1依賴於4A1,4B1的開始時間為4A1的結束時間。4B2依賴於4A2,4A3,4B2將以4A2和4A3中最晚的結束時間一個作為其開始時間。在圖6a中可以看出,4A3的結束時間最晚,4B2將4A3的結束時間作為其開始時間。
將任務組4中的B類任務按照結束時間進行排序,在計算優先順序的過程中,可以獲取到每個任務的運行時長,根據開始時間和運行時長能夠推算出結束時間。按照順序依次對B類任務進行調度處理。按照結束時間排序後的順序為:4B1、4B2。首先判斷4B1與任務組2中的2B1和
2B2是否存在時間資源衝突,其中,時間序列上重疊的判斷條件:任務組4中4B1的開始時間任務組2中2B1或2B2任務的結束時間且任務組2中2B1或2B2的開始時間任務組4中4B1的結束時間。而且當將4B1添加到已調度任務序列中後,時間序列上重疊的部分所佔用的資源總和大於資源上限,即4B1與2B1和2B2時間序列上存在時間資源衝突,時間資源衝突情況如圖6b所示。
從圖6b中可以得看出,當任務組4中4B1進入已調度任務序列中排隊後,4B1所佔用資源與任務組2中2B1和2B2在時間序列上出現衝突的部分所佔用的資源總和超過資源上限,此時,需要嘗試將任務組2中重疊一個B類任務進行延時,按照B類任務結束時間從晚到早的順序依次延時任務組2中的重疊的B類任務,從圖6b中可以得知2B2的結束時間要晚與2B1,首先將2B2按照時間序列向後移動,以為4B1釋放一定的資源。在對2B2進行移動的過程中,按照時間點進行延時,即按照圖中虛線進行延時,當2B2延時2B1的結束時間時,4B1所佔用資源與任務組2中2B1和2B2在時間序列上出現衝突的部分所佔用的資源總和未超過資源上限,如圖6c所示。
在延時之後,需要判斷任務組2中2B1的結束時間是否超出任務組2規定的任務截止時間,如果未超出就可以將4B1添加到任務序列中,將該增加了4B1的任務序列保存為已調度任務序列。
進一步地,繼續對任務組4中4B2按照上述的步驟進
行調度處理,首先分別判斷4B2與任務組2中的2B1和2B2以及4B1是否存在時間序列上的重疊,其中,時間序列上重疊的判斷條件不再贅述。當判斷出4B1與前面已排隊的B類任務存在時間序列的重疊,將4B2向已調度任務序列中增加後,判斷時間序列上重疊的部分所佔用的資源總和未超過資源上限,則將4B2添加到任務序列中,並將增加了4B2的任務序列保存為已調度任務序列,如圖6d所示。
圖7a~圖7d中橫坐標為時間軸,縱坐標為資源軸,其中與橫軸平行的一條加粗黑線表示預設的資源上限。邊框內填充網格用於表示A類任務,邊框內填充正斜線用於表示B類任務,邊框內填充反斜線表示C類任務。與縱軸平行的標有2字的加粗分隔號表示任務組2的截止時間,與縱軸平行的標有4字的加粗分隔號表示任務組4的截止時間,與縱軸平行的標有1字的加粗分隔號表示任務組1的截止時間。與縱軸平行的虛分隔號為時間點,時間點由每個任務的開始時間和結束時間構成。此處需要說明,圖7a~圖7d是在圖6d的基礎上進行調度處理。
當任務組1進行調度處理時,如果任務組1中的任務中1B1和1B2與與已調度任務序列中B類任務在時間序列上的不存在衝突,則將任務組1中的任務添加到已調度任務序列中,如圖7a所示。其中,1B1和1B2均依賴於1A1,1B1和1B2的開始時間為1A1的結束時間。
如果任務組1中1B1和1B2與已調度任務序列中的B
類任務在時間序列上的存在時間資源衝突,則需要進行調度處理。任務組1中1B1和1B2的開始時間相同,則可以選取1B1進入已調度任務序列中排隊,該1B1與任務組4中的4B2存在時間資源衝突,如圖7b所示。
從圖7b中可以看出,1B1與中4B2在時間重疊的部分所佔用的資源總和超過資源上限,此時需要嘗試將任務組4中的4B2沿著時間序列向後移動,以為1B1釋放一定的資源。在對4B2進行向後的過程中,按照每個時間點進行延時,即按照虛線進行延時,當4B2延時2C的結束時間時,1B1所佔用資源與4B2在時間序列上出現重疊的部分所佔用的資源總和未超過資源上限,但是,由於4B2的結束時間相應延時,導致與4B2的結束時間超出了任務組4的規定B類任務的任務截止時間,即超出了標有4字的加粗分隔號,如圖7c所示。此時,任務組1中的1B1不能添加到已調度任務序列中進行排隊,此時放棄將1B1添加到已調度任務序列中。
進一步地,繼續對任務組1中1B2按照上述的步驟進行資源部署,由於任務組1中1B1和1B2的開始時間相同,則1B2與任務組4中的4B2也存在時間序列上的重疊,但是由於1B2與4B2在時間序列上重疊的部分所佔用的資源總和未超過資源上限,如圖7d所示,可以將1B2添加到已調度任務序列中進行排隊。由於1B1未放置到已調度任務序列中,所有與其有依賴關係的1C的也不能進行排隊。
圖8a~圖8d中橫坐標為時間軸,縱坐標為資源軸,其中與橫軸平行的一條加粗黑線表示預設的資源上限。邊框內填充網格用於表示A類任務,邊框內填充正斜線用於表示B類任務,邊框內填充反斜線表示C類任務。與縱軸平行的標有2字的加粗分隔號表示任務組2的截止時間,與縱軸平行的標有4字的加粗分隔號表示任務組4的任務截止時間,與縱軸平行的標有1字的加粗分隔號表示任務組1的任務截止時間,與縱軸平行的標有3字的加粗分隔號表示任務組3的任務截止時間。時間點由每個任務的開始時間和結束時間構成。此處需要說明,圖8a~圖8d是在圖7d的基礎上進行調度處理。
當對任務組3進行調度處理時,如果任務組3中的任務中與已調度任務序列中相同類型的任務在時間序列上的不存在重疊,則將任務組3放置到已調度任務序列中排隊就可以,如圖8a所示。其中,3B1、依賴於3A1,3B1的開始時間為3A1的結束時間。
如果任務組3中3B1與已調度任務序列中的B類任務在時間序列上存在衝突,則需要進行調度處理。任務組3中3B1的開始時間為3A1的結束時間,3B1與任務組4中的4B2以及任務組1中的1B1均存在時間資源衝突,如圖8b所示。
從圖8b中可以看出,3B1佔用資源與4B2以及1B2在時間序列上出現衝突的部分所佔用的資源總和超過資源上限。將出現衝突的4B2和1B2按照結束時間從晚到早進行
排序,首先將1B2沿著時間序列向後移動,以為3B1釋放一定的資源。在對1B2向後移動的過程中,按照時間點進行移動,即按照虛線進行移動,當1B2移動4B2的結束時間時,1B2的結束時間超出任務組1的截止時間,而且此時3B1所佔用資源與1B2在時間序列上重疊的部分所佔用的資源總和仍然超過資源上限,如圖8c所示。
此時需要嘗試對4B2沿著時間序列向後移動,以為3B1釋放一定資源。在對4B2進行移動的過程中,按照時間點進行向後移動,即按照虛線向後移動,當4B2移動到1B2的結束時間時,此時3B1所佔用資源與4B2以及1B2在時間序列上重疊的部分所佔用的資源總和未超過資源上限,如圖8d所示。從圖中可以得知,此時4B2的結束時間超出任務組4的任務截止時間,因此,不能將3B1添加到已調度任務序列中進行排隊,放棄對3B1的調度。
在完成對所有任務組中任務的資源調度後,仍有任務組1中的1B1和任務組3中的3B1未能進行資源部署。此時,1B1和和3B1為第二待調度任務進行資源調度。此處需要說明,第二待調度任務的資源調度是在圖7d的結果下進行的。
圖9a~圖9b中橫坐標為時間軸,縱坐標為資源軸,其中與橫軸平行的一條加粗黑線表示預設的資源上限。邊框內填充網格用於表示A類任務,邊框內填充正斜線用於表示B類任務,邊框內填充反斜線表示C類任務。與縱軸平行的標有2字的加粗分隔號表示任務組2的任務截止
時間,與縱軸平行的標有4字的加粗分隔號表示任務組4的任務截止時間,與縱軸平行的標有1字的加粗分隔號表示任務組1的任務截止時間,與縱軸平行的標有3字的加粗分隔號表示任務組3的任務截止時間。時間點由每個任務的開始時間和結束時間構成。
將任務組1中的1B1沿著時間序列從最後一個時間點開始嘗試向已調度任務序列中進行添加,當1B1放置到4C的結束時間的虛線處未超出資源上限,則將1B1繼續往前移動,當移動到1B2結束時間的虛線處時,未超出資源上限,則可以繼續往前移動,當移動到4B2的結束時間的虛線處時,超出資源上限,則該1B1最早的開始時間為1B2的結束時間,相應地,延時1C的結束時間,由於延時後1C的結束時間超出截止時間,並需要調整該任務組1的截止時間,將1C的結束時間作為任務組1的最終截止時間,如圖9a所示。
進一步地,在圖9a的基礎上,將任務組3中的3B1沿著時間序列從最後一個時間點開始嘗試向已調度任務序列中添加,當3B1放置到1C的結束時間的虛線處未超出資源上限,則將3B1繼續往前移動,當移動到1B2的結束時間的虛線處時,未超出資源上限,則可以繼續往前移動,當移動到4C的結束時間的虛線處時,超出資源上限,則該3B2最早的開始時間為1B2的結束時間,相應地,延時3C的結束時間,由於延時後3C的結束時間超出截止時間,需要將任務組3的最終截止時間調整為3C的結束時間,
如圖9b所示。
在該示例中,在對第一待調度任務進行資源調度未成功時,放棄對第一待調度任務的調度,並等待所有待調度的同類型任務完成調度後,再沿著時間序列從後往前嘗試對被放棄的第一待調度任務進行資源調度,以便於所在任務組的完成時間儘量接近其預設的截止時間,盡可能使完成時間不要晚於其截止時間太多。
如圖10所示,其為本發明實施例五的任務的資源調度裝置的結構示意圖。該任務的資源調度裝置包括:確定模組11和調度模組12。
確定模組11,用於確定多個任務的優先順序、規定的任務截止時間,以及預設的資源上限。
本實施例中,每個任務對應的一個優先順序,不同的任務可以具有相同的優先順序。不同的任務可以屬於同一個需求,不同需求之間的任務的優先順序可以不同,而隸屬於同一需求的所有任務的優先順序相同。進一步地,為每個需求設置一個任務截止時間,該需求所包括的任務要在該任務截止時間內完成。
為了保證執行任務的機器集群能夠高效的允許,需要為執行任務的機器集群設置一個資源上限,在該資源上限內機器集群的允許效率較高,當超過該資源上限時,執行任務的過程中可能會出現異常。
調度模組12,用於根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件。
其中,第一條件為任務不存在時間資源衝突,所述時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。時間資源衝突具體為一個以上相同類型的任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。
進一步地,調度後的任務還滿足第二條件:所有任務的結束時間不會超出其規定的任務截止時間。也就是說,調度後的所有任務需要在規定的任務截止時間內完成。
調度模組12,還用於如果存在無法滿足所述第一條件和所述第二條件的任務,則將該任務放置到對其他任務完成調度後再進行處理。
調度模組12,用於根據任務的優先順序和任務的依賴關係對執行多個任務的先後順序進行調度。
為了保證重要的任務盡可能先執行,調度模組12需要按照確定的任務的優先順序對多個任務進行排序,具體地,所述多個任務中存著類型不同的任務,不同類型的任務之間可能存在依賴關係,一般情況下,同一需求的不同類型的任務之間存在依賴關係,根據任務的優先順序和任務的依賴關係對執行多個任務的先後順序進行調度。本實施例中,對於不同需求的任務按照優先順序的順序進行調
度,而同一需求的任務需要按照任務之間的依賴關係進行調度。
進一步地,如果存在無法滿足第一條件和第二條件的任務,則將該任務放置到對其他任務完成調度後再進行處理。
本實施例中執行多個任務時,不再採用現有先進先出的原則,而是根據任務的優先順序來調度,透過上述調度處理,能夠維持各任務按級別順次執行,盡可能地保證級別高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料的呈現。
如圖10所示,其為本發明實施例五的任務的資源調度裝置的結構示意圖。該任務的資源調度裝置包括:確定模組11和調度模組12。
本實施例中,將調度後的任務構成已調度任務序列。
調度模組12一種可選地的結構方式,包括:任務增加單元112、調度執行單元122、序列生成單元123和選取單元124。
其中,任務增加單元121,用於向已調度任務序列中增加第一待調度任務,所述已調度任務序列中的任務的優先順序高於或等於所述第一待調度任務的優先順序,所述已調度任務序列滿足所述第一條件。
調度執行單元122,用於如果增加所述第一待調度任
務導致所述時間資源衝突,則執行如下第一調度操作:沿著時間序列向後調整與所述第一待調度任務發生時間資源衝突的一個或多個第一重疊任務,或者,沿著時間序列向後調整一個或多個所述第一重疊任務以及在之後的時間序列上與所述第一待調度任務同類型的全部或部分任務,以生成滿足第一條件和第二條件的調整後的任務序列:其中,所述第二條件為:所有任務的結束時間不會超出其規定的任務截止時間。
序列生成單元123,用於如果存在滿足所述第一條件和所述第二條件的調度後的任務序列,則保存為已調度任務序列,如果不存在,則放棄向已調度任務序列中增加所述第一待調度任務。
選取單元124,用於選取新的未調度任務作為第一待調度任務,重複執行向已調度任務序列中增加第一待調度任務的處理,直至處理完全部未調度任務。
進一步地,序列生成單元123,還用於如果增加所述第一待調度任務未導致所述時間資源衝突,則將增加了所述第一待調度任務的任務序列保存為已調度任務序列。
進一步地,選取單元124,還用於在處理完全部未調度任務後,選取被放棄的第一待調度任務作為第二待調度任務,執行如下第二調度操作:
將所述第二待調度任務從所述已調度任務序列的尾部開始,沿著所述時間序列向前移動,選取滿足如下第三條
件的最靠前的位置作為所述第二待調度任務的最終位置,所述第三條件為增加了所述第二待調度任務後的任務序列不存在時間資源衝突。
進一步地,在沿著時間序列向後調整一個或多個所述第一重疊任務以及在之後的時間序列上與第一待調度任務同類型的全部或部分任務的操作中,保持已調度任務序列中同類型任務的先後順序。
進一步地,調度執行單元122,具體用於將一個或多個,第一重疊任務作為目標任務沿著所述時間序列向後移動直至與目標任務發生的時間資源衝突消失後停止,如果移動後的目標任務的結束時間未超出其規定的任務截止時間,則進一步判斷是否存在與移動後目標任務發生時間資源衝突的第二重疊任務,如果存在,則將一個或多個所述第二重疊任務作為新的目標任務重複執行上述將所述目標任務沿著所述時間序列向後移動的操作,如果不存在,則將當前任務序列作為保存為已調度任務序列,如果移動後的所述目標任務的結束時間超出其規定的任務截止時間,則判定為不存在滿足所述第一條件的調度後的任務序列,執行放棄向已調度任務序列中增加第一待調度任務的處理。
進一步地,時間序列包括由已調度任務序列所包含的各任務的開始時間和結束時間構成的時間點,沿著時間序列調整任務具體為沿著時間序列的時間點調整任務。
本實施例提供的任務的資源調度裝置,向已調度任務
序列中增加第一待調度任務,其中,第一待調度任務的優先順序要低於或者等於已調度任務中的任務的優先順序,當增加第一待調度資源導致時間資源衝突時,對第一待調度任務進行第一調度操作,對已調度任務序列進行調整,以達到調整後的任務序列不存在時間資源衝突,並且已調度任務序列中的所有任務的結束時間不會超出其規定的任務截止時間的目的。透過上述調度處理,能夠維持各任務按優先順序執行,盡可能地保證優先順序高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料的呈現。
如圖11所示,其為本發明實施例六的任務的資源調度裝置的結構示意圖。該任務的資源調度裝置包括:確定模組11和調度模組12。調度模組12除了包括上述實施例四中的任務增加單元121、調度執行單元122、序列生成單元123和選取單元124之外,還包括:劃分單元125、排序單元126和獲取單元127。
其中,劃分單元125,用於根據任務之間的依賴關係劃分任務組;其中,各任務組包括:檢測資料狀態的第一類型任務、計算資料的第二類型任務和匯總資料計算結果的第三類型任務;第二類型任務依賴第一類型任務,第三類型任務直接依賴第二類型任務,間接依賴第一類型任務。
排序單元126,用於按照任務組的優先順序由高到低進行排序,以及將各任務組內的任務按照任務類型進行排序。
選取單元124,用於按序從任務組中獲取所述第一待調度任務,或者選取優先順序最高的任務組中的全部或部分任務生成所述已調度任務序列,然後,按序從任務組中獲取所述第一待調度任務。
進一步地,獲取單元127,用於獲取各任務組預設的截止時間,以及根據所述預設的截止時間獲取到每個類型任務對應的任務截止時間。
進一步地,排序單元126,具體用於獲取任務組中的各任務的運行時長,針對每個任務組,將組內任務對應的所述運行時長和預設的佔用資源量相乘後累加得到任務組的累加值,基於各任務組的累加值和預先為各任務組設置的優先順序,得到各任務組的優先順序,對各任務組根據獲取的優先順序由高到低進行排序。
進一步地,排序單元126,還具體用於針對每個任務組,收集設定時間段內的組內任務的歷史資料,對歷史資料進行分析,獲取任務組的運行資訊,根據所述任務組的運行資訊獲取任務組內各任務的運行時長。
進一步地,獲取單元127,還用於判斷第一待調度任務是否存在父節點任務,如果存在所述父節點任務時,根據第一待調度任務與所在任務組中其他任務之間的依賴關係,獲取第一待調度任務的所有父節點任務,將所有父節
點任務最晚的結束時間作為第一待調度任務的開始時間。
本實施例提供的任務的資源調度裝置,在將第一待調度任務增加到已調度任務序列中之前,對任務進行分組,並且對任務組按照優先順序排序,組內按照任務類型進行排序,排序後按照順序獲取第一待調度任務。本實施例中,將隸屬於同一個需求的任務劃分到一個組內,針對同一個任務組來說,能集中對該任務組中的同類型任務進行調度,這樣該任務組中的任務可以陸續執行,而且第一待調度任務獲取時按照排序獲取,能夠維持各任務組按照循序執行,盡可能地保證重要性高的需求對應的任務優先獲取資源,從而能夠優先被執行,有利於該需求前端資料的呈現。
本領域普通技術人員可以理解:實現上述各方法實施例的全部或部分步驟可以透過程式指令相關的硬體來完成。前述的程式可以儲存於一電腦可讀取儲存媒體中。該程式在執行時,執行包括上述各方法實施例的步驟;而前述的儲存媒體包括:ROM、RAM、磁碟或者光碟等各種可以儲存程式碼的媒體。
最後應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;儘管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特徵進行等同替換;而這些修改或者替換,並不使相應技術方案的本質脫離本發明各
實施例技術方案的範圍。
Claims (30)
- 一種任務的資源調度方法,其特徵在於,包括:確定多個任務的優先順序以及規定的任務截止時間;確定預設的資源上限;根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件,該第一條件為任務不存在時間資源衝突,該時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且該重疊的部分的所佔用的資源總和大於資源上限,其中,該調度後的任務構成已調度任務序列;所述根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件包括:向已調度任務序列中增加第一待調度任務,該已調度任務序列中的任務的優先順序高於或等於該第一待調度任務的優先順序,該已調度任務序列滿足該第一條件;如果增加該第一待調度任務導致該時間資源衝突,則執行如下第一調度操作:沿著時間序列向後調整與該第一待調度任務發生時間資源衝突的一個或多個第一重疊任務,或者,沿著時間序列向後調整一個或多個該第一重疊任務以及在之後的時間序列上與該第一待調度任務同類型的全部或部分任務,以生成滿足該第一條件和第二條件的調整後的任務序列:其中,該第二條件為:所有任務的結束時間不會超出其規定的任務截止時間; 如果存在滿足該第一條件和該第二條件的調度後的任務序列,則保存為已調度任務序列,如果不存在,則放棄向已調度任務序列中增加該第一待調度任務;選取新的未調度任務作為第一待調度任務,重複執行向已調度任務序列中增加第一待調度任務的處理,直至處理完全部未調度任務。
- 根據申請專利範圍第1項所述的方法,其中,該調度後的任務還滿足第二條件:所有任務的結束時間不會超出其規定的任務截止時間。
- 根據申請專利範圍第2項所述的方法,其中,還包括:如果存在無法滿足該第一條件和該第二條件的任務,則將該任務放置到對其他任務完成調度後再進行處理。
- 根據申請專利範圍第1至3項中任一項所述的方法,其中,所述根據任務優先順序對執行多個任務的先後順序進行調度包括:根據任務的優先順序和任務的依賴關係對執行多個任務的先後順序進行調度。
- 根據申請專利範圍第4項所述的方法,其中,該多個任務中,存著類型不同的任務,該時間資源衝突具體為一個以上相同類型的任務在時間序列上存在重疊的部分,並且該重疊的部分的所佔用的資源總和大於資源上限。
- 根據申請專利範圍第1項所述的方法,其中,還 包括:如果增加該第一待調度任務未導致該時間資源衝突,則將增加了該第一待調度任務的任務序列保存為已調度任務序列。
- 根據申請專利範圍第1或6項所述的方法,其中,還包括:在處理完全部未調度任務後,選取被放棄的第一待調度任務作為第二待調度任務,執行如下第二調度操作:將該第二待調度任務從該已調度任務序列的尾部開始,沿著該時間序列向前移動,選取滿足第三條件的最靠前的位置作為該第二待調度任務的最終位置,該第三條件為增加了該第二待調度任務後的任務序列不存在時間資源衝突。
- 根據申請專利範圍第1項所述的方法,其中,在沿著該時間序列向後調整一個或多個該第一重疊任務以及在之後的時間序列上與該第一待調度任務同類型的全部或部分任務的操作中,保持該已調度任務序列中同類型任務的先後順序。
- 根據申請專利範圍第1項所述的方法,其中,該沿著時間序列向後調整一個或多個該第一重疊任務以及在之後的時間序列上與該第一待調度任務同類型的全部或部分任務,包括:將一個或多個該第一重疊任務作為目標任務沿著該時間序列向後移動直至與該目標任務發生的時間資源衝突消 失後停止;如果移動後的該目標任務的結束時間未超出其規定的任務截止時間,則進一步判斷是否存在與移動後該目標任務發生時間資源衝突的第二重疊任務,如果存在,則將一個或多個該第二重疊任務作為新的目標任務重複執行上述將該目標任務沿著該時間序列向後移動的操作,如果不存在,則將當前任務序列作為保存為已調度任務序列;如果移動後的該目標任務的結束時間超出其規定的任務截止時間,則判定為不存在滿足該第一條件和該第二條件的調度後的任務序列,執行該放棄向已調度任務序列中增加該第一待調度任務的處理。
- 根據申請專利範圍第1項所述的方法,其中,該時間序列包括由該已調度任務序列所包含的各任務的開始時間和結束時間構成的時間點,沿著時間序列調整任務具體為沿著時間序列的時間點調整任務。
- 根據申請專利範圍第1項所述的方法,其中,所述向已調度任務序列中增加第一待調度任務之前,包括:根據任務之間的依賴關係劃分任務組;其中,各任務組包括:檢測資料狀態的第一類型任務、計算資料的第二類型任務和匯總資料計算結果的第三類型任務;第二類型任務依賴第一類型任務,第三類型任務直接依賴第二類型任務,間接依賴第一類型任務;按照任務組的優先順序由高到低進行排序;將各任務組內的任務按照任務類型進行排序; 按序從任務組中獲取該第一待調度任務,或者選取優先順序最高的任務組中的全部或部分任務生成該已調度任務序列,然後,按序從任務組中獲取該第一待調度任務。
- 根據申請專利範圍第11項所述的方法,其中,所述根據任務之間的依賴關係劃分任務組之後,還包括:獲取各任務組預設的截止時間;根據該預設的截止時間獲取到每個類型任務對應的任務截止時間。
- 根據申請專利範圍第12項所述的方法,其中,所述按照任務組的優先順序由高到低進行排序,包括:獲取任務組中的各任務的運行時長;針對每個任務組,將組內任務對應的該運行時長和預設的佔用資源量相乘後累加得到任務組的累加值;基於各任務組的累加值和預先為各任務組設置的優先順序,得到各任務組的優先順序;對各任務組根據獲取的優先順序由高到低進行排序。
- 根據申請專利範圍第13項所述的方法,其中,所述獲取各任務組的各任務的運行時長,包括:針對每個任務組,收集設定時間段內的組內任務的歷史資料;對該歷史資料進行分析,獲取任務組的運行資訊;根據該任務組的運行資訊獲取任務組內各任務的運行時長。
- 根據申請專利範圍第14項所述的方法,其中, 所述依照順序從任務組中獲取該第一待調度任務之後,還包括:判斷該第一待調度任務是否存在父節點任務;如果存在該父節點任務時,根據該第一待調度任務與所在任務組中其他任務之間的依賴關係,獲取該第一待調度任務的所有父節點任務;將所有父節點任務最晚的結束時間作為該第一待調度任務的開始時間。
- 一種任務的資源調度裝置,其特徵在於,包括:確定模組,用於確定多個任務的優先順序、規定的任務截止時間,以及預設的資源上限;調度模組,用於根據任務優先順序對執行多個任務的先後順序進行調度,並使調度後的任務滿足第一條件,該第一條件為任務不存在時間資源衝突,該時間資源衝突為一個以上任務在時間序列上存在重疊的部分,並且該重疊的部分的所佔用的資源總和大於資源上限,其中,所述調度後的任務構成已調度任務序列;該調度模組,包括:任務增加單元,用於向已調度任務序列中增加第一待調度任務,該已調度任務序列中的任務的優先順序高於或等於該第一待調度任務的優先順序,該已調度任務序列滿足該第一條件;調度執行單元,用於如果增加該第一待調度任務導致該時間資源衝突,則執行如下第一調度操作: 沿著時間序列向後調整與該第一待調度任務發生時間資源衝突的一個或多個第一重疊任務,或者,沿著時間序列向後調整一個或多個所述第一重疊任務以及在之後的時間序列上與該第一待調度任務同類型的全部或部分任務,以生成滿足該第一條件和第二條件的調整後的任務序列:其中,該第二條件為:所有任務的結束時間不會超出其規定的任務截止時間;序列生成單元,用於如果存在滿足該第一條件和該第二條件的調度後的任務序列,則保存為已調度任務序列,如果不存在,則放棄向已調度任務序列中增加該第一待調度任務;選取單元,用於選取新的未調度任務作為第一待調度任務,重複執行向已調度任務序列中增加第一待調度任務的處理,直至處理完全部未調度任務。
- 根據申請專利範圍第16項所述的裝置,其中,所述調度後的任務還滿足第二條件:所有任務的結束時間不會超出其規定的任務截止時間。
- 根據申請專利範圍第17項所述的裝置,其中,該調度模組,還用於如果存在無法滿足該第一條件和該第二條件的任務,則將該任務放置到對其他任務完成調度後再進行處理。
- 根據申請專利範圍第16至18項任一項所述的裝置,其中,該調度模組,用於根據任務的優先順序和任務的依賴關係對執行多個任務的先後順序進行調度。
- 根據申請專利範圍第19項所述的裝置,其中,該多個任務中,存著類型不同的任務,該時間資源衝突具體為一個以上相同類型的任務在時間序列上存在重疊的部分,並且所述重疊的部分的所佔用的資源總和大於資源上限。
- 根據申請專利範圍第16項所述的裝置,其中,該序列生成單元,還用於如果增加該第一待調度任務未導致該時間資源衝突,則將增加了該第一待調度任務的任務序列保存為已調度任務序列。
- 根據申請專利範圍第16或21項所述的裝置,其中,該選取單元,還用於在處理完全部未調度任務後,選取被放棄的第一待調度任務作為第二待調度任務,執行如下第二調度操作:將該第二待調度任務從該已調度任務序列的尾部開始,沿著該時間序列向前移動,選取滿足如下第三條件的最靠前的位置作為該第二待調度任務的最終位置,該第三條件為增加了該第二待調度任務後的任務序列不存在時間資源衝突。
- 根據申請專利範圍第16項所述的裝置,其中,在沿著該時間序列向後調整一個或多個所述第一重疊任務以及在之後的時間序列上與該第一待調度任務同類型的全部或部分任務的操作中,保持該已調度任務序列中同類型任務的先後順序。
- 根據申請專利範圍第16項所述的裝置,其中, 該調度執行單元,具體用於將一個或多個該第一重疊任務作為目標任務沿著該時間序列向後移動直至與該目標任務發生的時間資源衝突消失後停止,如果移動後的該目標任務的結束時間未超出其規定的任務截止時間,則進一步判斷是否存在與移動後該目標任務發生時間資源衝突的第二重疊任務,如果存在,則將一個或多個所述第二重疊任務作為新的目標任務重複執行上述將該目標任務沿著該時間序列向後移動的操作,如果不存在,則將當前任務序列作為保存為已調度任務序列,如果移動後的該目標任務的結束時間超出其規定的任務截止時間,則判定為不存在滿足所述第一條件的調度後的任務序列,執行所述放棄向已調度任務序列中增加該第一待調度任務的處理。
- 根據申請專利範圍第16項所述的裝置,其中,該時間序列包括由該已調度任務序列所包含的各任務的開始時間和結束時間構成的時間點,沿著時間序列調整任務具體為沿著時間序列的時間點調整任務。
- 根據申請專利範圍第16項所述的裝置,其中,該調度模組,還包括:劃分單元,用於根據任務之間的依賴關係劃分任務組;其中,各任務組包括:檢測資料狀態的第一類型任務、計算資料的第二類型任務和匯總資料計算結果的第三類型任務;第二類型任務依賴第一類型任務,第三類型任務直接依賴第二類型任務,間接依賴第一類型任務;排序單元,用於按照任務組的優先順序由高到低進行 排序,以及將各任務組內的任務按照任務類型進行排序;該選取單元,用於按序從任務組中獲取該第一待調度任務,或者選取優先順序最高的任務組中的全部或部分任務生成該已調度任務序列,然後,按序從任務組中獲取該第一待調度任務。
- 根據申請專利範圍第26項所述的裝置,其中,該調度模組,還包括:獲取單元,還用於獲取各任務組預設的截止時間,以及根據該預設的截止時間獲取到每個類型任務對應的任務截止時間。
- 根據申請專利範圍第27項所述的裝置,其中,該排序單元,具體用於獲取任務組中的各任務的運行時長,針對每個任務組,將組內任務對應的該運行時長和預設的佔用資源量相乘後累加得到任務組的累加值,基於各任務組的累加值和預先為各任務組設置的優先順序,得到各任務組的優先順序,對各任務組根據獲取的優先順序由高到低進行排序。
- 根據申請專利範圍第28項所述的裝置,其中,該排序單元,還具體用於針對每個任務組,收集設定時間段內的組內任務的歷史資料,對該歷史資料進行分析,獲取任務組的運行資訊,根據該任務組的運行資訊獲取任務組內各任務的運行時長。
- 根據申請專利範圍第29項所述的裝置,其中,該獲取單元,還用於判斷該第一待調度任務是否存在父節 點任務,如果存在該父節點任務時,根據該第一待調度任務與所在任務組中其他任務之間的依賴關係,獲取該第一待調度任務的所有父節點任務,將所有父節點任務最晚的結束時間作為該第一待調度任務的開始時間。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610201205.5A CN107291548B (zh) | 2016-03-31 | 2016-03-31 | 任务的资源调度方法及装置 |
CN201610201205.5 | 2016-03-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201737078A TW201737078A (zh) | 2017-10-16 |
TWI742045B true TWI742045B (zh) | 2021-10-11 |
Family
ID=59962571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106105970A TWI742045B (zh) | 2016-03-31 | 2017-02-22 | 任務的資源調度方法及裝置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10936359B2 (zh) |
EP (1) | EP3438821B1 (zh) |
CN (1) | CN107291548B (zh) |
SG (2) | SG11201808548XA (zh) |
TW (1) | TWI742045B (zh) |
WO (1) | WO2017167105A1 (zh) |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10802880B2 (en) * | 2017-09-19 | 2020-10-13 | Huawei Technologies Co., Ltd. | System and method for distributed resource requirement and allocation |
CN107609803B (zh) * | 2017-10-27 | 2021-03-26 | 国网河南省电力公司商丘供电公司 | 一种网络用户需求调度方法及装置 |
CN108415757B (zh) * | 2018-02-02 | 2020-10-30 | 创新先进技术有限公司 | 分布式事务处理方法及装置 |
CN108388230B (zh) * | 2018-02-11 | 2020-08-07 | 北京车和家信息技术有限公司 | 任务调度方法、任务调度系统、车辆电子控制单元及车辆 |
US11874101B2 (en) | 2018-04-12 | 2024-01-16 | Faro Technologies, Inc | Modular servo cartridges for precision metrology |
US10969760B2 (en) * | 2018-04-12 | 2021-04-06 | Faro Technologies, Inc. | Coordinate measurement system with auxiliary axis |
CN109725995B (zh) * | 2018-06-15 | 2024-04-12 | 中国平安人寿保险股份有限公司 | 数据抽取任务执行方法、装置、设备及可读存储介质 |
CN109725994B (zh) * | 2018-06-15 | 2024-02-06 | 中国平安人寿保险股份有限公司 | 数据抽取任务执行方法、装置、终端及可读存储介质 |
CN110633880B (zh) * | 2018-06-22 | 2024-08-20 | 北京京东乾石科技有限公司 | 一种确定自动导引运输车配置数量的方法和装置 |
CN109214771A (zh) * | 2018-08-01 | 2019-01-15 | 奇酷互联网络科技(深圳)有限公司 | 日常任务管理的方法、设备、存储介质及终端 |
CN109240823B (zh) * | 2018-08-10 | 2019-08-02 | 北京小蓦机器人技术有限公司 | 多端联动处理任务的方法、装置和可读存储介质 |
CN109242733A (zh) * | 2018-08-24 | 2019-01-18 | 北京比特智学科技有限公司 | 用于教学应用的调度方法、装置、存储介质及计算机设备 |
US20200097878A1 (en) * | 2018-09-21 | 2020-03-26 | Walmart Apollo, Llc | Long term scheduling of task resources at a plurality of retail stores |
CN110968406B (zh) * | 2018-09-30 | 2023-04-07 | 北京国双科技有限公司 | 处理任务的方法、装置、存储介质和处理器 |
US11150954B2 (en) * | 2019-02-04 | 2021-10-19 | Servicenow, Inc. | Mitigating resource scheduling conflicts in a cloud platform |
FR3093579B1 (fr) * | 2019-03-07 | 2021-07-30 | Thales Sa | Ordonnanceur d'evenements pour microprocesseur |
US10996981B2 (en) * | 2019-03-15 | 2021-05-04 | Toshiba Memory Corporation | Processor zero overhead task scheduling |
CN110119306B (zh) * | 2019-05-22 | 2020-05-26 | 无锡华云数据技术服务有限公司 | 作业自动调度均衡方法、装置、设备及存储介质 |
CN110287008B (zh) * | 2019-05-22 | 2023-12-19 | 百度(中国)有限公司 | 一种测试任务调度方法、装置及电子设备 |
CN110390493B (zh) * | 2019-07-31 | 2021-10-22 | 北京字节跳动网络技术有限公司 | 任务管理方法、装置、存储介质及电子设备 |
CN110688222B (zh) * | 2019-09-10 | 2024-06-21 | 平安证券股份有限公司 | 资源处理请求的排序方法、装置、介质及电子设备 |
US11366692B2 (en) * | 2019-10-25 | 2022-06-21 | Micro Focus Llc | Task execution based on whether task completion time exceeds execution window of device to which task has been assigned |
CN111124644B (zh) * | 2019-12-19 | 2023-04-04 | 北京旷视科技有限公司 | 任务调度资源的确定方法、装置及系统 |
CN111242473B (zh) * | 2020-01-09 | 2022-06-17 | 北京三快在线科技有限公司 | 资源调度方法、装置、电子设备及可读存储介质 |
US11726823B2 (en) * | 2020-02-06 | 2023-08-15 | Samsung Electronics Co., Ltd. | Electronic device having heterogeneous processors and method of processing task using the heterogeneous processors |
CN111260254B (zh) * | 2020-02-19 | 2022-07-26 | 中国人民解放军国防科技大学 | 面向动态到达任务的在线调度方法 |
CN111309017B (zh) * | 2020-02-27 | 2023-04-07 | 广东博智林机器人有限公司 | 设备调度方法、装置、电子设备及存储介质 |
CN113448743B (zh) * | 2020-03-25 | 2024-02-23 | 伊姆西Ip控股有限责任公司 | 用于任务处理的方法、电子设备以及计算机程序产品 |
CN111292025B (zh) * | 2020-04-01 | 2022-06-07 | 成都卡普数据服务有限责任公司 | 输电线路在线巡检作业调度方法 |
CN111857995B (zh) * | 2020-06-30 | 2024-05-24 | 海尔优家智能科技(北京)有限公司 | 进程调度方法和装置、存储介质及电子装置 |
CN113918314A (zh) * | 2020-07-08 | 2022-01-11 | 中兴通讯股份有限公司 | 任务处理方法、边缘计算设备、计算机设备、介质 |
CN112087503A (zh) * | 2020-08-29 | 2020-12-15 | 北京明略昭辉科技有限公司 | 集群任务调度方法、系统、计算机和计算机可读存储介质 |
CN112148491B (zh) * | 2020-09-27 | 2023-12-05 | 京东科技控股股份有限公司 | 数据处理方法及装置 |
WO2022067531A1 (zh) * | 2020-09-29 | 2022-04-07 | 深圳大学 | 一种计算资源感知的任务调度方法 |
CN111984426B (zh) * | 2020-10-09 | 2023-07-25 | 中国平安人寿保险股份有限公司 | 任务调度方法、装置、电子设备及存储介质 |
CN112286655A (zh) * | 2020-10-19 | 2021-01-29 | 江苏银承网络科技股份有限公司 | 分布式延时调度方法、装置及系统 |
CN112306661B (zh) * | 2020-11-06 | 2023-09-15 | 平安科技(深圳)有限公司 | 任务调度方法、装置、电子设备及可读存储介质 |
US20220171645A1 (en) * | 2020-11-30 | 2022-06-02 | Red Hat, Inc. | Efficient out of order request completion |
CN113269385B (zh) * | 2021-03-02 | 2023-10-24 | 北京市遥感信息研究院 | 面向敏捷卫星资源的应急调度方法和系统 |
CN113065797B (zh) * | 2021-04-22 | 2023-08-18 | 平安国际智慧城市科技股份有限公司 | 多任务的执行期限优化方法、装置、终端设备及介质 |
CN113283789B (zh) * | 2021-06-10 | 2022-10-11 | 中国人民解放军国防科技大学 | 空间站运营任务的时间冗余启发式规划方法、装置及设备 |
CN113282402B (zh) * | 2021-07-22 | 2021-11-05 | 航天中认软件测评科技(北京)有限责任公司 | 一种面向复杂资源约束的测试任务调度方法 |
CN113778711B (zh) * | 2021-09-09 | 2024-04-16 | 恒安嘉新(北京)科技股份公司 | 一种事件处理方法、装置、电子设备及存储介质 |
CN114064268A (zh) * | 2021-10-26 | 2022-02-18 | 上海钧正网络科技有限公司 | 一种消息处理方法、装置及设备 |
CN115330073A (zh) * | 2022-08-24 | 2022-11-11 | 中国电信股份有限公司 | 电能分配方法、装置、电子设备及存储介质 |
CN115938087A (zh) * | 2022-10-31 | 2023-04-07 | 浙江静远电力实业有限公司 | 一种特高压变电站防洪防水监测预警系统 |
CN115827206B (zh) * | 2023-01-18 | 2023-05-05 | 太极计算机股份有限公司 | 一种基于机器学习的显卡任务资源的调度方法及系统 |
CN116578406B (zh) * | 2023-07-13 | 2023-10-10 | 太极计算机股份有限公司 | 面向分布式机器学习系统的任务平台连续运行调度方法 |
CN117149393B (zh) * | 2023-09-27 | 2024-04-02 | 苏州深捷信息科技有限公司 | 一种可调试的计算机多任务调度方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100433A1 (en) * | 2007-10-12 | 2009-04-16 | Electronics And Telecommunications Research Institute | Disk scheduling method and apparatus |
CN104915251A (zh) * | 2015-06-05 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 任务调度方法及装置 |
US9223628B2 (en) * | 2010-06-25 | 2015-12-29 | Ebay Inc. | Task scheduling based on dependencies and resources |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5193189A (en) * | 1987-10-07 | 1993-03-09 | Allen-Bradley Company, Inc. | Programmable controller with multiple priority level task processing |
US5640563A (en) * | 1992-01-31 | 1997-06-17 | International Business Machines Corporation | Multi-media computer operating system and method |
US6571215B1 (en) | 1997-01-21 | 2003-05-27 | Microsoft Corporation | System and method for generating a schedule based on resource assignments |
US7093004B2 (en) | 2002-02-04 | 2006-08-15 | Datasynapse, Inc. | Using execution statistics to select tasks for redundant assignment in a distributed computing platform |
EP1489508B1 (en) * | 2002-03-22 | 2008-01-09 | Toyota Jidosha Kabushiki Kaisha | Task management device and method, operation judgment device and method, and program to be judged |
US20060112388A1 (en) * | 2004-11-22 | 2006-05-25 | Masaaki Taniguchi | Method for dynamic scheduling in a distributed environment |
US7793294B2 (en) * | 2005-02-22 | 2010-09-07 | Northrop Grumman Corporation | System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task |
US8959515B2 (en) | 2006-01-18 | 2015-02-17 | International Business Machines Corporation | Task scheduling policy for limited memory systems |
CN101290585B (zh) * | 2007-04-19 | 2011-09-21 | 中兴通讯股份有限公司 | 一种嵌入式系统实时任务的调度方法 |
US20090307035A1 (en) | 2008-06-04 | 2009-12-10 | Microsoft Corporation | Resolution of resource over-allocations in project plans |
CN102096599A (zh) * | 2009-12-14 | 2011-06-15 | 中国移动通信集团公司 | 一种多队列任务调度方法及相关系统和设备 |
JP5682705B2 (ja) * | 2011-03-30 | 2015-03-11 | 富士通株式会社 | タスク実行制御装置、タスク実行制御システムおよびタスク実行制御方法 |
CN103164258B (zh) * | 2011-12-12 | 2016-03-23 | 中国科学院沈阳计算技术研究所有限公司 | 一种适用于数控系统的容错实时调度方法 |
KR101926464B1 (ko) * | 2012-10-11 | 2018-12-07 | 삼성전자 주식회사 | 멀티코어 프로세서에서 수행되는 프로그램의 컴파일 방법, 멀티코어 프로세서의 태스크 매핑 방법 및 태스크 스케줄링 방법 |
CN104021044B (zh) * | 2013-02-28 | 2017-05-31 | 中国移动通信集团浙江有限公司 | 一种作业调度方法及装置 |
US10977092B2 (en) | 2015-10-16 | 2021-04-13 | Qualcomm Incorporated | Method for efficient task scheduling in the presence of conflicts |
US10630565B2 (en) | 2017-02-15 | 2020-04-21 | Dell Products, L.P. | Overload management for internet of things (IoT) gateways |
-
2016
- 2016-03-31 CN CN201610201205.5A patent/CN107291548B/zh active Active
-
2017
- 2017-02-22 TW TW106105970A patent/TWI742045B/zh not_active IP Right Cessation
- 2017-03-22 WO PCT/CN2017/077732 patent/WO2017167105A1/zh active Application Filing
- 2017-03-22 EP EP17773135.3A patent/EP3438821B1/en active Active
- 2017-03-22 SG SG11201808548XA patent/SG11201808548XA/en unknown
- 2017-03-22 SG SG10202009635XA patent/SG10202009635XA/en unknown
-
2018
- 2018-09-28 US US16/147,035 patent/US10936359B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090100433A1 (en) * | 2007-10-12 | 2009-04-16 | Electronics And Telecommunications Research Institute | Disk scheduling method and apparatus |
US9223628B2 (en) * | 2010-06-25 | 2015-12-29 | Ebay Inc. | Task scheduling based on dependencies and resources |
CN104915251A (zh) * | 2015-06-05 | 2015-09-16 | 北京京东尚科信息技术有限公司 | 任务调度方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107291548B (zh) | 2021-04-13 |
CN107291548A (zh) | 2017-10-24 |
US10936359B2 (en) | 2021-03-02 |
EP3438821B1 (en) | 2021-06-16 |
US20190034223A1 (en) | 2019-01-31 |
TW201737078A (zh) | 2017-10-16 |
WO2017167105A1 (zh) | 2017-10-05 |
SG10202009635XA (en) | 2020-10-29 |
EP3438821A4 (en) | 2019-11-27 |
EP3438821A1 (en) | 2019-02-06 |
SG11201808548XA (en) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI742045B (zh) | 任務的資源調度方法及裝置 | |
CN111399989B (zh) | 一种面向容器云的任务抢占调度方法及系统 | |
CN104298550B (zh) | 一种面向Hadoop的动态调度方法 | |
US20170269924A1 (en) | Managing a software-patch submission queue | |
US9477460B2 (en) | Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method | |
CN110287245A (zh) | 用于分布式etl任务调度执行的方法及系统 | |
CN111158895A (zh) | 微服务资源调度方法和系统 | |
CN107506234B (zh) | 一种虚拟机调度方法及装置 | |
EP2700008A1 (en) | Scheduling map and reduce tasks of jobs for execution according to performance goals | |
CN105204938B (zh) | 一种内存访问的数据密集型进程调度方法 | |
CN115454589A (zh) | 一种任务调度方法、装置及Kubernetes调度器 | |
CN112685153A (zh) | 微服务调度方法、装置以及电子设备 | |
CN103593232B (zh) | 一种数据仓库的任务调度方法及装置 | |
CN108733839A (zh) | 一种海量数据的统计方法及装置 | |
JP5676297B2 (ja) | ジョブスケジューリングシステム、ジョブスケジューリング方法及びプログラム | |
CN114416315A (zh) | 持续集成系统中的任务动态调度方法和系统 | |
CN108055161B (zh) | 一种组网优化方法及装置 | |
CN110275765A (zh) | 基于分支dag依赖的数据并行作业调度方法 | |
Bril et al. | Best-case response times and jitter analysis of real-time tasks | |
KR101335038B1 (ko) | 위상 정렬 및 잉여 시간을 기반으로 하는 주기 및 비주기 실시간 태스크 스케줄링 알고리즘 | |
CN108845870B (zh) | 一种基于pWCET整形的概率性实时任务调度方法 | |
CN114461356B (zh) | 调度器进程数量的控制方法、IaaS云平台调度系统 | |
JP2823520B2 (ja) | リアルタイムアプリケーションタスクスケジューリング及び処理システム | |
CN105138401A (zh) | 基于线性链表的实时任务可调度性测试直接模拟方法 | |
Ghit et al. | Reducing job slowdown variability for data-intensive workloads |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |