本申請(qǐng)實(shí)施例涉及計(jì)算機(jī),尤其涉及一種任務(wù)調(diào)度方法、電子設(shè)備、計(jì)算機(jī)存儲(chǔ)介質(zhì)及計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
1、對(duì)任務(wù)進(jìn)行批處理,是指對(duì)任務(wù)所涉及的數(shù)據(jù)集進(jìn)行一次性處理的方式,通常在數(shù)據(jù)積累到一定量后進(jìn)行。批處理性質(zhì)上是延遲的,適用于大規(guī)模的數(shù)據(jù)分析任務(wù),它可以通過(guò)任務(wù)調(diào)度來(lái)定期運(yùn)行,如每天、每小時(shí)處理特定的數(shù)據(jù)集。例如:在基于索引進(jìn)行的網(wǎng)頁(yè)搜索技術(shù)領(lǐng)域,可以按照?qǐng)?zhí)行先后順序?qū)⑷克饕龢?gòu)建過(guò)程依次劃分為如下三個(gè)任務(wù):輕特征合并任務(wù)、數(shù)據(jù)挑選任務(wù)以及重特征合并任務(wù)。其中,上述各任務(wù)均可以采用批處理的方式執(zhí)行。
2、在傳統(tǒng)情況下,對(duì)于任務(wù)間具有依賴關(guān)系的多任務(wù)場(chǎng)景,也即:上游任務(wù)的輸出作為下游任務(wù)輸入的場(chǎng)景,往往會(huì)按照順序依次執(zhí)行上游任務(wù)和下游任務(wù)。就上述索引構(gòu)建過(guò)程而言,通常是在完成所有的輕特征合并這一上游任務(wù)后,才開(kāi)始執(zhí)行數(shù)據(jù)挑選這一下游任務(wù)。
3、然而,當(dāng)處于上游的輕特征合并任務(wù)的某個(gè)或某些子任務(wù)(也即任務(wù)分片)執(zhí)行時(shí)間較長(zhǎng)時(shí),可能會(huì)顯著拖慢整個(gè)輕特征合并任務(wù)的完成進(jìn)度,進(jìn)而影響處于下游的數(shù)據(jù)挑選任務(wù)的啟動(dòng)時(shí)機(jī)。因此,上述順序執(zhí)行的批處理方式,不僅降低了資源利用率,還可能導(dǎo)致任務(wù)處理出現(xiàn)較大延遲。
技術(shù)實(shí)現(xiàn)思路
1、有鑒于此,本申請(qǐng)實(shí)施例提供一種任務(wù)調(diào)度方案,以至少部分解決上述問(wèn)題。
2、根據(jù)本申請(qǐng)實(shí)施例的第一方面,提供了一種任務(wù)調(diào)度方法,包括:
3、獲取待調(diào)度的多個(gè)任務(wù);所述多個(gè)任務(wù)包括:由多個(gè)上游任務(wù)分片組成的上游任務(wù),以及,由多個(gè)下游任務(wù)分片組成的下游任務(wù);
4、確定任務(wù)分片依賴關(guān)系,所述任務(wù)分片依賴關(guān)系表征各上游任務(wù)分片與各下游任務(wù)分片之間所存在的依賴關(guān)系;
5、響應(yīng)于當(dāng)前上游任務(wù)分片執(zhí)行完成,為依賴于已完成的上游任務(wù)分片的目標(biāo)下游任務(wù)分片分配任務(wù)執(zhí)行器,以由所述任務(wù)執(zhí)行器執(zhí)行所述目標(biāo)下游任務(wù);所述目標(biāo)下游任務(wù)分片是通過(guò)所述任務(wù)分片依賴關(guān)系確定的。
6、根據(jù)本申請(qǐng)實(shí)施例的第二方面,提供了另一種任務(wù)調(diào)度方法,包括:
7、在針對(duì)多個(gè)任務(wù)的調(diào)度過(guò)程中,確定任務(wù)分片依賴關(guān)系;所述多個(gè)任務(wù)包括:由多個(gè)上游任務(wù)分片組成的上游任務(wù),以及,由多個(gè)下游任務(wù)分片組成的下游任務(wù);所述任務(wù)分片依賴關(guān)系表征各上游任務(wù)分片與各下游任務(wù)分片之間所存在的依賴關(guān)系;
8、接收目標(biāo)任務(wù)執(zhí)行器發(fā)送的任務(wù)分配請(qǐng)求;
9、將未執(zhí)行的目標(biāo)下游任務(wù)分片分配至所述目標(biāo)任務(wù)執(zhí)行器,以通過(guò)所述目標(biāo)任務(wù)執(zhí)行器執(zhí)行所述目標(biāo)下游任務(wù)分片;所述目標(biāo)下游任務(wù)分片是根據(jù)所述任務(wù)分片依賴關(guān)系確定的、依賴于已完成的上游任務(wù)分片的下游任務(wù)分片。
10、根據(jù)本申請(qǐng)實(shí)施例的第三方面,提供了又一種任務(wù)調(diào)度方法,包括:
11、向任務(wù)調(diào)度器發(fā)送任務(wù)分配請(qǐng)求,以使任務(wù)調(diào)度器在針對(duì)多個(gè)任務(wù)的調(diào)度過(guò)程中,將未執(zhí)行的目標(biāo)下游任務(wù)分片分配至所述目標(biāo)任務(wù)執(zhí)行器;
12、獲取任務(wù)調(diào)度器分配的所述目標(biāo)下游任務(wù)分片,并執(zhí)行所述目標(biāo)下游任務(wù)分片;
13、其中,所述多個(gè)任務(wù)包括:由多個(gè)上游任務(wù)分片組成的上游任務(wù),以及,由多個(gè)下游任務(wù)分片組成的下游任務(wù);所述目標(biāo)下游任務(wù)分片是依賴于已完成的上游任務(wù)分片的下游任務(wù)分片。
14、根據(jù)本申請(qǐng)實(shí)施例的第四方面,提供了一種電子設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線,所述處理器、所述存儲(chǔ)器和所述通信接口通過(guò)所述通信總線完成相互間的通信;所述存儲(chǔ)器用于存放至少一可執(zhí)行指令,所述可執(zhí)行指令使所述處理器執(zhí)行如第一方面至第三方面中任一項(xiàng)所述方法對(duì)應(yīng)的操作。
15、根據(jù)本申請(qǐng)實(shí)施例的第五方面,提供了一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面至第三方面中任一項(xiàng)所述的方法。
16、根據(jù)本申請(qǐng)實(shí)施例提供的任務(wù)調(diào)度方案,獲取待調(diào)度的多個(gè)任務(wù);所述多個(gè)任務(wù)包括:由多個(gè)上游任務(wù)分片組成的上游任務(wù),以及,由多個(gè)下游任務(wù)分片組成的下游任務(wù);確定任務(wù)分片依賴關(guān)系,所述任務(wù)分片依賴關(guān)系表征各上游任務(wù)分片與各下游任務(wù)分片之間所存在的依賴關(guān)系;響應(yīng)于當(dāng)前上游任務(wù)分片執(zhí)行完成,為依賴于已完成的上游任務(wù)分片的目標(biāo)下游任務(wù)分片分配任務(wù)執(zhí)行器,以由所述任務(wù)執(zhí)行器執(zhí)行所述目標(biāo)下游任務(wù);所述目標(biāo)下游任務(wù)分片是通過(guò)上述任務(wù)分片依賴關(guān)系確定的。
17、本申請(qǐng)上述實(shí)施例,在獲取到多個(gè)具有依賴關(guān)系的批處理式上下游任務(wù)之后,通過(guò)各任務(wù)分片之間的依賴關(guān)系,將下游任務(wù)對(duì)上游任務(wù)整體層面的依賴分解轉(zhuǎn)變?yōu)橄掠稳蝿?wù)分片對(duì)個(gè)別上游任務(wù)分片的依賴。依據(jù)任務(wù)分片之間的依賴關(guān)系,在任務(wù)分片調(diào)度及執(zhí)行過(guò)程中,無(wú)需等待上游任務(wù)整體執(zhí)行完畢,而是在上游任務(wù)中的個(gè)別上游任務(wù)分片執(zhí)行完成之后,即可啟動(dòng)與上述個(gè)別上游任務(wù)分片具有依賴關(guān)系的下游任務(wù)分片執(zhí)行程序。因此,通過(guò)本申請(qǐng)實(shí)施例的方案,在接收到具有依賴關(guān)系的批處理上下游任務(wù)之后,可以將原本采用批處理方式來(lái)處理的上下游任務(wù),轉(zhuǎn)換成通過(guò)流處理方式來(lái)處理的任務(wù)分片,在保留對(duì)各任務(wù)分片內(nèi)部數(shù)據(jù)進(jìn)行批處理操作的同時(shí),實(shí)現(xiàn)了任務(wù)分片層面的流式處理。
18、通過(guò)上述方式,任務(wù)提交者仍可以按照批處理任務(wù)的方式進(jìn)行任務(wù)邏輯設(shè)定及提交,無(wú)需進(jìn)行任何任務(wù)邏輯的改動(dòng),而在任務(wù)調(diào)度和執(zhí)行過(guò)程中,本申請(qǐng)實(shí)施例提供的方案則可以自動(dòng)將批處理任務(wù)轉(zhuǎn)換為流處理任務(wù)分片。因此,實(shí)現(xiàn)了批任務(wù)的偽流式化處理,使得批任務(wù)執(zhí)行過(guò)程兼具了流處理的優(yōu)勢(shì):數(shù)據(jù)持續(xù)不斷流轉(zhuǎn),提升任務(wù)執(zhí)行器的資源利用率,提高任務(wù)處理效率,縮短任務(wù)執(zhí)行時(shí)長(zhǎng),降低任務(wù)處理的延遲。
19、另外,本申請(qǐng)實(shí)施例中,一旦有上游任務(wù)分片執(zhí)行完成,則無(wú)需等待其他上游任務(wù)分片執(zhí)行完畢,就可以啟動(dòng)對(duì)應(yīng)的下游任務(wù)分片執(zhí)行程序。因此,對(duì)于第一個(gè)執(zhí)行完成的上游任務(wù)分片對(duì)應(yīng)的第一份分片執(zhí)行結(jié)果而言,采用本申請(qǐng)實(shí)施例可以有效縮短上述第一份分片執(zhí)行結(jié)果的產(chǎn)出時(shí)長(zhǎng)。這對(duì)于基于任務(wù)執(zhí)行結(jié)果進(jìn)行任務(wù)邏輯正確性排查的場(chǎng)景而言,可以有效提升排查效率。
1.一種任務(wù)調(diào)度方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,其中,所述響應(yīng)于當(dāng)前上游任務(wù)分片執(zhí)行完成,為依賴于已完成的上游任務(wù)分片的目標(biāo)下游任務(wù)分片分配任務(wù)執(zhí)行器,包括:
3.根據(jù)權(quán)利要求2所述的方法,其中,在所述判斷是否存在未執(zhí)行的上游任務(wù)分片之后,所述方法還包括:
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其中,所述方法還包括:
5.一種任務(wù)調(diào)度方法,包括:
6.根據(jù)權(quán)利要求5所述的方法,其中,所述將未執(zhí)行的目標(biāo)下游任務(wù)分片分配至所述目標(biāo)任務(wù)執(zhí)行器,以通過(guò)所述目標(biāo)任務(wù)執(zhí)行器執(zhí)行所述目標(biāo)下游任務(wù)分片,包括:
7.根據(jù)權(quán)利要求5所述的方法,其中,所述將未執(zhí)行的目標(biāo)下游任務(wù)分片分配至所述目標(biāo)任務(wù)執(zhí)行器,以通過(guò)所述目標(biāo)任務(wù)執(zhí)行器執(zhí)行所述目標(biāo)下游任務(wù)分片,包括:
8.根據(jù)權(quán)利要求7所述的方法,其中,所述接收目標(biāo)任務(wù)執(zhí)行器發(fā)送的任務(wù)分配請(qǐng)求,包括:
9.一種任務(wù)調(diào)度方法,包括:
10.根據(jù)權(quán)利要求9所述的方法,其中,所述目標(biāo)下游任務(wù)分片為長(zhǎng)尾任務(wù)分片,所述方法還包括:
11.根據(jù)權(quán)利要求10所述的方法,其中,在所述向任務(wù)調(diào)度器發(fā)送目標(biāo)目錄寫(xiě)入請(qǐng)求之后,所述方法還包括:
12.根據(jù)權(quán)利要求9-11任一項(xiàng)所述的方法,其中,所述向任務(wù)調(diào)度器發(fā)送任務(wù)分配請(qǐng)求,包括:
13.一種電子設(shè)備,包括:處理器、存儲(chǔ)器、通信接口和通信總線,所述處理器、所述存儲(chǔ)器和所述通信接口通過(guò)所述通信總線完成相互間的通信;
14.一種計(jì)算機(jī)存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如權(quán)利要求1-12中任一所述的方法。
15.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)指令,所述計(jì)算機(jī)指令指示計(jì)算設(shè)備執(zhí)行如權(quán)利要求1-12中任一所述方法對(duì)應(yīng)的操作。