任務處理方法及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及任務處理技術領域,特別是涉及任務處理方法及系統(tǒng)。
【背景技術】
[0002]隨著科學技術的發(fā)展,具有任務處理能力的各種智能電子設備的性能也越來越高。通過將一個復雜的任務拆分為多個子任務,并將子任務分配到多個任務處理節(jié)點上進行處理,可以提高任務的處理速度。
[0003]具體的過程為:
[0004]首先將復雜的任務平均拆分為多個子任務,每個子任務的大小相同;
[0005]在任務拆分完畢后,將各個子任務平均分配到各任務處理節(jié)點上進行處理,每個任務處理節(jié)點上的子任務數量也是相同的。
[0006]申請人研宄發(fā)現:不同的任務處理節(jié)點的處理能力并不相同,由于每個任務處理節(jié)點上分配的子任務的大小和數量均相同,因此處理能力較高的任務處理節(jié)點在處理任務完畢后將處于空閑狀態(tài),以等待處理能力較低的任務處理節(jié)點處理完畢,只有全部子任務均處理完畢后,該復雜的任務才處理完畢,這無疑浪費了資源,不利于任務的快速處理。
【發(fā)明內容】
[0007]本發(fā)明實施例的目的在于提供一種任務處理方法及系統(tǒng),以實現任務的快速處理。
[0008]為達到上述目的,本發(fā)明實施例公開了一種任務處理方法,應用于任務分發(fā)服務器中,所述任務分發(fā)服務器與多個任務處理節(jié)點相連接,所述方法包括:
[0009]獲得待處理任務,對所述待處理任務進行拆分,獲得多個子任務,其中,任一所述子任務的顆粒度均為預設的多個顆粒度中的一個;
[0010]從與所述任務分發(fā)服務器相連接的各任務處理節(jié)點中選擇第一數目的任務處理節(jié)點作為采用節(jié)點組,根據存儲的所述采用節(jié)點組中各任務處理節(jié)點的任務處理能力記錄,將拆分的各子任務分別分配到所述采用節(jié)點組中具有與該子任務的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理。
[0011]可選的,還包括:
[0012]接收相連接的所述多個任務處理節(jié)點發(fā)送的任務處理能力;
[0013]根據所接收的任務處理能力更新任務處理節(jié)點的任務處理能力記錄。
[0014]可選的,將對所述待處理任務進行拆分,獲得多個子任務后,所述方法還包括:按照顆粒度大小,將拆分得到的各子任務放入分別與不同顆粒度對應的多個任務隊列中;
[0015]所述根據存儲的所述采用節(jié)點組中各任務處理節(jié)點的任務處理能力記錄,將拆分的各子任務分別分配到所述采用節(jié)點組中具有與該子任務的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理,包括:
[0016]根據存儲的所述采用節(jié)點組中各任務處理節(jié)點的任務處理能力記錄,將各任務隊列中的子任務分別分配到所述采用節(jié)點組中具有與該任務隊列對應的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理。
[0017]可選的,所述對所述待處理任務進行拆分,獲得多個子任務,包括:
[0018]當所述多個任務隊列中存在處于未滿狀態(tài)的任務隊列時,對所述待處理任務進行拆分直至所述多個任務隊列中不再存在處于未滿狀態(tài)的任務隊列,得到具有處于未滿狀態(tài)的任務隊列對應的顆粒度的多個子任務。
[0019]可選的,所述對所述待處理任務進行拆分直至所述多個任務隊列中不再存在處于未滿狀態(tài)的任務隊列,包括:
[0020]調用第一線程對所述待處理任務進行拆分直至所述多個任務隊列中不再存在處于未滿狀態(tài)的任務隊列;
[0021]所述將各任務隊列中的子任務分別分配到所述采用節(jié)點組中具有與該任務隊列對應的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理,包括:
[0022]調用第二線程將各任務隊列中的子任務分別分配到所述采用節(jié)點組中具有與該任務隊列對應的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理。
[0023]一種任務處理系統(tǒng),應用于任務分發(fā)服務器中,所述任務分發(fā)服務器與多個任務處理節(jié)點相連接,所述系統(tǒng)包括:任務拆分模塊和任務分配模塊,
[0024]所述任務拆分模塊,用于獲得待處理任務,對所述待處理任務進行拆分,獲得多個子任務,其中,任一所述子任務的顆粒度均為預設的多個顆粒度中的一個;
[0025]所述任務分配模塊,用于從與所述任務分發(fā)服務器相連接的各任務處理節(jié)點中選擇第一數目的任務處理節(jié)點作為采用節(jié)點組,根據存儲的所述采用節(jié)點組中各任務處理節(jié)點的任務處理能力記錄,將拆分的各子任務分別分配到所述采用節(jié)點組中具有與該子任務的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理。
[0026]可選的,還包括:處理能力接收模塊和記錄更新模塊,
[0027]所述處理能力接收模塊,用于接收相連接的所述多個任務處理節(jié)點發(fā)送的任務處理能力;
[0028]所述記錄更新模塊,用于根據所接收的任務處理能力更新任務處理節(jié)點的任務處理能力記錄。
[0029]可選的,所述系統(tǒng)還包括:入列模塊,用于在所述任務拆分模塊將對所述待處理任務進行拆分,獲得多個子任務后,按照顆粒度大小,將拆分得到的各子任務放入分別與不同顆粒度對應的多個任務隊列中;
[0030]所述任務分配模塊,具體設置為:從與所述任務分發(fā)服務器相連接的各任務處理節(jié)點中選擇第一數目的任務處理節(jié)點作為采用節(jié)點組,根據存儲的所述采用節(jié)點組中各任務處理節(jié)點的任務處理能力記錄,將各任務隊列中的子任務分別分配到所述采用節(jié)點組中具有與該任務隊列對應的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理。
[0031]可選的,所述任務拆分模塊,具體設置為:
[0032]當所述多個任務隊列中存在處于未滿狀態(tài)的任務隊列時,對所述待處理任務進行拆分直至所述多個任務隊列中不再存在處于未滿狀態(tài)的任務隊列,得到具有處于未滿狀態(tài)的任務隊列對應的顆粒度的多個子任務,其中,任一所述子任務的顆粒度均為預設的多個顆粒度中的一個。
[0033]可選的,所述任務拆分模塊,具體設置為:
[0034]當所述多個任務隊列中存在處于未滿狀態(tài)的任務隊列時,調用第一線程對所述待處理任務進行拆分直至所述多個任務隊列中不再存在處于未滿狀態(tài)的任務隊列,得到具有處于未滿狀態(tài)的任務隊列對應的顆粒度的多個子任務,其中,任一所述子任務的顆粒度均為預設的多個顆粒度中的一個;
[0035]所述任務分配模塊,具體設置為:從與所述任務分發(fā)服務器相連接的各任務處理節(jié)點中選擇第一數目的任務處理節(jié)點作為采用節(jié)點組,根據存儲的所述采用節(jié)點組中各任務處理節(jié)點的任務處理能力記錄,調用第二線程將各任務隊列中的子任務分別分配到所述采用節(jié)點組中具有與該任務隊列對應的顆粒度匹配的任務處理能力的任務處理節(jié)點進行處理。
[0036]本發(fā)明實施例提供的一種任務處理方法及系統(tǒng),可以將待處理任務拆分為具有不同顆粒度的子任務,并將子任務分配到任務處理能力與該子任務的顆粒度匹配的任務處理節(jié)點進行處理。由于各任務處理節(jié)點所要處理的任務的顆粒度與