本申請涉及計(jì)算機(jī),尤其涉及一種多任務(wù)編排處理方法、裝置、存儲介質(zhì)及計(jì)算機(jī)設(shè)備。
背景技術(shù):
1、在當(dāng)前的任務(wù)管理領(lǐng)域,任務(wù)管理系統(tǒng)已經(jīng)躍升為不可或缺的核心支柱,特別是在處理復(fù)雜業(yè)務(wù)流程、實(shí)現(xiàn)自動(dòng)化運(yùn)維以及駕馭大規(guī)模分布式計(jì)算場景時(shí),其重要性更是無可替代。這些系統(tǒng)能夠通過智能化的調(diào)度策略來管理任務(wù)執(zhí)行,從而極大地提升了整體運(yùn)營效率與響應(yīng)速度。
2、然而,隨著業(yè)務(wù)環(huán)境的日益復(fù)雜化,任務(wù)之間的執(zhí)行順序與依賴關(guān)系變得錯(cuò)綜復(fù)雜,而現(xiàn)有的任務(wù)管理系統(tǒng)往往無法提供足夠的靈活性來適應(yīng)這種變化,導(dǎo)致任務(wù)管理系統(tǒng)在面對多任務(wù)并行處理與嚴(yán)格順序要求時(shí),需要依賴手動(dòng)調(diào)整與監(jiān)控,使得效率和準(zhǔn)確率低下。
技術(shù)實(shí)現(xiàn)思路
1、本申請的目的旨在至少能解決上述的技術(shù)缺陷之一,特別是現(xiàn)有技術(shù)中任務(wù)管理系統(tǒng)在面對多任務(wù)并行處理與嚴(yán)格順序要求時(shí),需要依賴手動(dòng)調(diào)整與監(jiān)控,使得效率和準(zhǔn)確率低下的技術(shù)缺陷。
2、本申請?zhí)峁┝艘环N多任務(wù)編排處理方法,所述方法包括:
3、獲取待處理的目標(biāo)文件,并對所述目標(biāo)文件進(jìn)行任務(wù)編排,得到包含多個(gè)子任務(wù)的主任務(wù);其中,每一子任務(wù)均包括至少一個(gè)任務(wù)節(jié)點(diǎn);
4、確定所述主任務(wù)中各個(gè)子任務(wù)的依賴順序,并通過任務(wù)調(diào)用接口按照所述依賴順序?qū)⒏鱾€(gè)子任務(wù)標(biāo)記為待執(zhí)行后依次記錄至緩存中,形成目標(biāo)主任務(wù);
5、從所述緩存中獲取第一個(gè)待執(zhí)行的子任務(wù),作為目標(biāo)子任務(wù),并對所述目標(biāo)子任務(wù)中的各個(gè)任務(wù)節(jié)點(diǎn)進(jìn)行并行執(zhí)行,得到執(zhí)行結(jié)果;
6、當(dāng)檢測到所述執(zhí)行結(jié)果中各個(gè)任務(wù)節(jié)點(diǎn)均標(biāo)記為執(zhí)行完成時(shí),將所述緩存中所述目標(biāo)子任務(wù)的標(biāo)記更新為執(zhí)行完成;
7、返回所述從所述緩存中獲取第一個(gè)待執(zhí)行的子任務(wù),作為目標(biāo)子任務(wù)及其后續(xù)步驟,直至所述緩存中不存在待執(zhí)行的子任務(wù),標(biāo)記所述目標(biāo)主任務(wù)執(zhí)行完成。
8、可選地,所述對所述目標(biāo)文件進(jìn)行任務(wù)編排,得到包含多個(gè)子任務(wù)的主任務(wù),包括:
9、對所述目標(biāo)文件進(jìn)行任務(wù)解析,得到多個(gè)子任務(wù)以及各個(gè)子任務(wù)之間的依賴關(guān)系;
10、基于所述依賴關(guān)系對各個(gè)子任務(wù)進(jìn)行順序編排,并根據(jù)編排結(jié)果生成主任務(wù)。
11、可選地,所述對所述目標(biāo)文件進(jìn)行任務(wù)解析,得到多個(gè)子任務(wù),包括:
12、對所述目標(biāo)文件進(jìn)行節(jié)點(diǎn)解析,得到多個(gè)任務(wù)節(jié)點(diǎn);
13、確定每一任務(wù)節(jié)點(diǎn)中的分組號,并將分組號一致的任務(wù)節(jié)點(diǎn)進(jìn)行組合,形成子任務(wù);
14、其中,每一子任務(wù)中各個(gè)任務(wù)節(jié)點(diǎn)的依賴關(guān)系為并行。
15、可選地,所述通過任務(wù)調(diào)用接口按照所述依賴順序?qū)⒏鱾€(gè)子任務(wù)標(biāo)記為待執(zhí)行后記錄至緩存中,形成目標(biāo)主任務(wù),包括:
16、創(chuàng)建任務(wù)調(diào)用接口,并獲取所述目標(biāo)文件的文件地址;
17、將所述文件地址上傳至所述任務(wù)調(diào)用接口中,以使所述任務(wù)調(diào)用接口對所述目標(biāo)文件對應(yīng)的主任務(wù)進(jìn)行讀取,得到讀取結(jié)果;
18、將所述讀取結(jié)果中的各個(gè)子任務(wù)標(biāo)記為待執(zhí)行,并按照所述依賴順序?qū)?biāo)記后的各個(gè)子任務(wù)依次記錄至緩存中,形成目標(biāo)主任務(wù)。
19、可選地,所述對所述目標(biāo)子任務(wù)中的各個(gè)任務(wù)節(jié)點(diǎn)進(jìn)行并行執(zhí)行,得到執(zhí)行結(jié)果,包括:
20、對所述目標(biāo)子任務(wù)中的各個(gè)任務(wù)節(jié)點(diǎn)進(jìn)行并行執(zhí)行,并在執(zhí)行過程中對各個(gè)任務(wù)節(jié)點(diǎn)的執(zhí)行狀態(tài)進(jìn)行監(jiān)測;
21、按照預(yù)設(shè)時(shí)間間隔讀取監(jiān)測結(jié)果中各個(gè)任務(wù)節(jié)點(diǎn)的實(shí)時(shí)狀態(tài),作為所述目標(biāo)子任務(wù)的執(zhí)行結(jié)果。
22、可選地,所述方法還包括:
23、若檢測到所述執(zhí)行結(jié)果中存在任務(wù)節(jié)點(diǎn)標(biāo)記為執(zhí)行異常時(shí),在所述緩存中標(biāo)記所述目標(biāo)子任務(wù)執(zhí)行異常,并停止所述目標(biāo)子任務(wù)的執(zhí)行操作;
24、生成所述目標(biāo)主任務(wù)的執(zhí)行異常通知,并將所述執(zhí)行異常通知推送至用戶端。
25、可選地,所述方法還包括:
26、在標(biāo)記所述目標(biāo)主任務(wù)執(zhí)行完成后,生成所述目標(biāo)主任務(wù)的執(zhí)行完成通知,并將所述執(zhí)行完成通知推送至用戶端。
27、本申請還提供了一種多任務(wù)編排處理裝置,包括:
28、任務(wù)編排模塊,用于獲取待處理的目標(biāo)文件,并對所述目標(biāo)文件進(jìn)行任務(wù)編排,得到包含多個(gè)子任務(wù)的主任務(wù);其中,每一子任務(wù)均包括至少一個(gè)任務(wù)節(jié)點(diǎn);
29、主任務(wù)緩存模塊,用于確定所述主任務(wù)中各個(gè)子任務(wù)的依賴順序,并通過任務(wù)調(diào)用接口按照所述依賴順序?qū)⒏鱾€(gè)子任務(wù)標(biāo)記為待執(zhí)行后依次記錄至緩存中,形成目標(biāo)主任務(wù);
30、子任務(wù)執(zhí)行模塊,用于從所述緩存中獲取第一個(gè)待執(zhí)行的子任務(wù),作為目標(biāo)子任務(wù),并對所述目標(biāo)子任務(wù)中的各個(gè)任務(wù)節(jié)點(diǎn)進(jìn)行并行執(zhí)行,得到執(zhí)行結(jié)果;
31、子任務(wù)標(biāo)記模塊,用于當(dāng)檢測到所述執(zhí)行結(jié)果中各個(gè)任務(wù)節(jié)點(diǎn)均標(biāo)記為執(zhí)行完成時(shí),將所述緩存中所述目標(biāo)子任務(wù)的標(biāo)記更新為執(zhí)行完成;
32、主任務(wù)標(biāo)記模塊,用于返回所述從所述緩存中獲取第一個(gè)待執(zhí)行的子任務(wù),作為目標(biāo)子任務(wù)及其后續(xù)步驟,直至所述緩存中不存在待執(zhí)行的子任務(wù),標(biāo)記所述目標(biāo)主任務(wù)執(zhí)行完成。
33、本申請還提供了一種存儲介質(zhì),所述存儲介質(zhì)中存儲有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器執(zhí)行如上述實(shí)施例中任一項(xiàng)所述多任務(wù)編排處理方法的步驟。
34、本申請還提供了一種計(jì)算機(jī)設(shè)備,包括:一個(gè)或多個(gè)處理器,以及存儲器;
35、所述存儲器中存儲有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),執(zhí)行如上述實(shí)施例中任一項(xiàng)所述多任務(wù)編排處理方法的步驟。
36、從以上技術(shù)方案可以看出,本申請實(shí)施例具有以下優(yōu)點(diǎn):
37、本申請?zhí)峁┑亩嗳蝿?wù)編排處理方法、裝置、存儲介質(zhì)及計(jì)算機(jī)設(shè)備,在進(jìn)行多任務(wù)編排處理時(shí),可以先獲取待處理的目標(biāo)文件,并對該目標(biāo)文件進(jìn)行任務(wù)編排,得到包含多個(gè)子任務(wù)的主任務(wù),從而實(shí)現(xiàn)多任務(wù)的自動(dòng)編排,提高效率。由于編排得到的主任務(wù)中各個(gè)子任務(wù)具有依賴順序,且每一子任務(wù)均包括至少一個(gè)任務(wù)節(jié)點(diǎn),因此可以通過任務(wù)調(diào)用接口按照該依賴順序?qū)⒏鱾€(gè)子任務(wù)標(biāo)記為待執(zhí)行后依次記錄至緩存中,形成目標(biāo)主任務(wù),從而可以保證目標(biāo)主任務(wù)在執(zhí)行過程中執(zhí)行順序的準(zhǔn)確性;在任務(wù)執(zhí)行的過程中,可以先從緩存中獲取第一個(gè)待執(zhí)行的子任務(wù),作為目標(biāo)子任務(wù),并對目標(biāo)子任務(wù)中的各個(gè)任務(wù)節(jié)點(diǎn)進(jìn)行并行執(zhí)行,得到執(zhí)行結(jié)果;其中,通過并行執(zhí)行操作可以進(jìn)一步提高任務(wù)執(zhí)行的效率。當(dāng)檢測到執(zhí)行結(jié)果中各個(gè)任務(wù)節(jié)點(diǎn)均標(biāo)記為執(zhí)行完成時(shí),可以將緩存中該目標(biāo)子任務(wù)的標(biāo)記更新為執(zhí)行完成,接著可以繼續(xù)執(zhí)行下一個(gè)待執(zhí)行的子任務(wù),直至緩存中不存在待執(zhí)行的子任務(wù),標(biāo)記目標(biāo)主任務(wù)執(zhí)行完成。通過該方法,本申請可以按照子任務(wù)間的依賴關(guān)系靈活編排多任務(wù)的執(zhí)行順序,降低因依賴關(guān)系混亂或任務(wù)執(zhí)行順序錯(cuò)誤而導(dǎo)致的錯(cuò)誤,并在子任務(wù)內(nèi)并行執(zhí)行節(jié)點(diǎn),進(jìn)一步提高多任務(wù)處理效率。
1.一種多任務(wù)編排處理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的多任務(wù)編排處理方法,其特征在于,所述對所述目標(biāo)文件進(jìn)行任務(wù)編排,得到包含多個(gè)子任務(wù)的主任務(wù),包括:
3.根據(jù)權(quán)利要求2所述的多任務(wù)編排處理方法,其特征在于,所述對所述目標(biāo)文件進(jìn)行任務(wù)解析,得到多個(gè)子任務(wù),包括:
4.根據(jù)權(quán)利要求1所述的多任務(wù)編排處理方法,其特征在于,所述通過任務(wù)調(diào)用接口按照所述依賴順序?qū)⒏鱾€(gè)子任務(wù)標(biāo)記為待執(zhí)行后記錄至緩存中,形成目標(biāo)主任務(wù),包括:
5.根據(jù)權(quán)利要求1所述的多任務(wù)編排處理方法,其特征在于,所述對所述目標(biāo)子任務(wù)中的各個(gè)任務(wù)節(jié)點(diǎn)進(jìn)行并行執(zhí)行,得到執(zhí)行結(jié)果,包括:
6.根據(jù)權(quán)利要求1所述的多任務(wù)編排處理方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的多任務(wù)編排處理方法,其特征在于,所述方法還包括:
8.一種多任務(wù)編排處理裝置,其特征在于,包括:
9.一種存儲介質(zhì),其特征在于:所述存儲介質(zhì)中存儲有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得一個(gè)或多個(gè)處理器執(zhí)行如權(quán)利要求1至7中任一項(xiàng)所述多任務(wù)編排處理方法的步驟。
10.一種計(jì)算機(jī)設(shè)備,其特征在于,包括:一個(gè)或多個(gè)處理器,以及存儲器;