本申請(qǐng)涉及分布式,尤其涉及一種作業(yè)執(zhí)行系統(tǒng)和方法、電子設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、目前,核心批處理分布式系統(tǒng)是指每天用計(jì)算機(jī)批量的進(jìn)行處理數(shù)據(jù)的分布式系統(tǒng),由于業(yè)務(wù)比較復(fù)雜,業(yè)務(wù)會(huì)分散到很多的業(yè)務(wù)系統(tǒng)中像企業(yè)端的系統(tǒng)就會(huì)存在十幾個(gè)業(yè)務(wù)系統(tǒng),一個(gè)作業(yè)的執(zhí)行因此會(huì)涉及到多個(gè)系統(tǒng),而系統(tǒng)與系統(tǒng)之間的交互很多都是通過rpc或者h(yuǎn)ttp進(jìn)行,網(wǎng)絡(luò)通信也是需要耗時(shí)的,而作業(yè)涉及到的數(shù)據(jù)量也很大,因此執(zhí)行完一個(gè)流程需要耗費(fèi)很長時(shí)間,執(zhí)行時(shí)間長表示長時(shí)間占用系統(tǒng)資源。并且存在如下問題:
2、1.由于作業(yè)執(zhí)行的時(shí)間比較長,導(dǎo)致這些連接被長期持有;
3、2.連接的長期持有導(dǎo)致系統(tǒng)資源被占用,無法有效提高并發(fā)。
4、因此,相關(guān)技術(shù)中存在上述的問題。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┝艘环N作業(yè)執(zhí)行系統(tǒng)和方法、電子設(shè)備和存儲(chǔ)介質(zhì),以至少解決相關(guān)技術(shù)中存在的一個(gè)技術(shù)問題。
2、根據(jù)本申請(qǐng)實(shí)施例的一個(gè)方面,提供了一種作業(yè)執(zhí)行系統(tǒng),包括:作業(yè)接入子系統(tǒng)、作業(yè)執(zhí)行子系統(tǒng)、消息隊(duì)列以及完成隊(duì)列;
3、所述作業(yè)接入子系統(tǒng),用于獲取目標(biāo)請(qǐng)求,其中,所述目標(biāo)請(qǐng)求用于請(qǐng)求執(zhí)行目標(biāo)作業(yè);
4、所述作業(yè)接入子系統(tǒng),還用于將所述目標(biāo)作業(yè)的目標(biāo)作業(yè)標(biāo)識(shí)放入所述消息隊(duì)列中;
5、所述作業(yè)執(zhí)行子系統(tǒng),用于消費(fèi)所述消息隊(duì)列中的所述目標(biāo)作業(yè)標(biāo)識(shí);
6、所述作業(yè)執(zhí)行子系統(tǒng),還用于對(duì)所述目標(biāo)作業(yè)標(biāo)識(shí)對(duì)應(yīng)的所述目標(biāo)作業(yè)執(zhí)行目標(biāo)操作之后,將所述目標(biāo)作業(yè)標(biāo)識(shí)放入所述完成隊(duì)列中,其中,目標(biāo)操作是所述作業(yè)執(zhí)行子系統(tǒng)所需對(duì)目標(biāo)作業(yè)執(zhí)行的至少一個(gè)操作;
7、所述作業(yè)接入子系統(tǒng),還用于基于所述完成隊(duì)列中的所述目標(biāo)作業(yè)標(biāo)識(shí),確定所述目標(biāo)作業(yè)已完成。
8、根據(jù)本申請(qǐng)的另一方面,還提供一種作業(yè)執(zhí)行方法,應(yīng)用于作業(yè)接入子系統(tǒng),包括:
9、獲取目標(biāo)請(qǐng)求,其中,所述目標(biāo)請(qǐng)求用于請(qǐng)求執(zhí)行目標(biāo)作業(yè);
10、將所述目標(biāo)作業(yè)的目標(biāo)作業(yè)標(biāo)識(shí)放入消息隊(duì)列中;
11、在作業(yè)執(zhí)行子系統(tǒng)消費(fèi)所述目標(biāo)作業(yè)標(biāo)識(shí),并對(duì)所述目標(biāo)作業(yè)執(zhí)行目標(biāo)操作,將所述目標(biāo)作業(yè)標(biāo)識(shí)放入完成隊(duì)列中之后,基于所述完成隊(duì)列中的所述目標(biāo)作業(yè)標(biāo)識(shí),確定所述目標(biāo)作業(yè)已完成,其中,所述目標(biāo)操作是所述作業(yè)執(zhí)行子系統(tǒng)對(duì)所述目標(biāo)作業(yè)所需執(zhí)行的操作。
12、可選地,如前述的方法,在所述將所述目標(biāo)作業(yè)的目標(biāo)作業(yè)標(biāo)識(shí)放入消息隊(duì)列中之后,所述方法還包括:
13、生成帶有所述目標(biāo)作業(yè)標(biāo)識(shí)的異步future;
14、將所述異步future放在本地內(nèi)存中;
15、所述基于所述完成隊(duì)列中的所述目標(biāo)作業(yè)標(biāo)識(shí),確定所述目標(biāo)作業(yè)已完成,包括:
16、將所述異步future中的所述目標(biāo)作業(yè)標(biāo)識(shí)與所述完成隊(duì)列的所有候選作業(yè)標(biāo)識(shí)進(jìn)行比對(duì),得到比對(duì)結(jié)果;
17、在所述比對(duì)結(jié)果確定所述所有候選作業(yè)標(biāo)識(shí)存在所述目標(biāo)作業(yè)標(biāo)識(shí)的情況下,確定所述目標(biāo)作業(yè)已完成。
18、可選地,如前述的方法,所述將所述異步future中的所述目標(biāo)作業(yè)標(biāo)識(shí)與所述完成隊(duì)列的所有候選作業(yè)標(biāo)識(shí)進(jìn)行比對(duì),得到比對(duì)結(jié)果,包括:
19、建立得到目標(biāo)定時(shí)任務(wù);
20、通過運(yùn)行所述目標(biāo)定時(shí)任務(wù),按照目標(biāo)周期,將所述異步future中的所述目標(biāo)作業(yè)標(biāo)識(shí)與所述完成隊(duì)列的所有候選作業(yè)標(biāo)識(shí)進(jìn)行比對(duì),得到所述比對(duì)結(jié)果。
21、可選地,如前述的方法,所述方法還包括:
22、在數(shù)據(jù)庫中建立所述目標(biāo)作業(yè)對(duì)應(yīng)的目標(biāo)狀態(tài)信息,以使所述作業(yè)執(zhí)行子系統(tǒng)在已對(duì)所述目標(biāo)作業(yè)執(zhí)行所述目標(biāo)操作之后,將所述目標(biāo)狀態(tài)信息更新為用于指示所述目標(biāo)作業(yè)已被執(zhí)行所述目標(biāo)操作的狀態(tài)信息,其中,所述狀態(tài)信息用于指示所述目標(biāo)作業(yè)已被執(zhí)行的操作。
23、根據(jù)本申請(qǐng)的另一方面,還提供一種作業(yè)執(zhí)行方法,應(yīng)用于作業(yè)執(zhí)行子系統(tǒng),包括:
24、消費(fèi)消息隊(duì)列中的目標(biāo)作業(yè)標(biāo)識(shí),其中,所述消息隊(duì)列中的目標(biāo)作業(yè)標(biāo)識(shí)是作業(yè)接入子系統(tǒng)獲取目標(biāo)請(qǐng)求之后,放入消息隊(duì)列中,所述目標(biāo)請(qǐng)求用于請(qǐng)求執(zhí)行目標(biāo)作業(yè);
25、對(duì)所述目標(biāo)作業(yè)執(zhí)行目標(biāo)操作之后,將所述目標(biāo)作業(yè)標(biāo)識(shí)放入完成隊(duì)列中,以使作業(yè)接入子系統(tǒng),基于所述完成隊(duì)列中的所述目標(biāo)作業(yè)標(biāo)識(shí),確定所述目標(biāo)作業(yè)已完成,其中,所述目標(biāo)操作是所需對(duì)所述目標(biāo)作業(yè)執(zhí)行的操作。
26、根據(jù)本申請(qǐng)的另一方面,還提供一種作業(yè)接入裝置,包括:
27、獲取模塊,用于獲取目標(biāo)請(qǐng)求,其中,所述目標(biāo)請(qǐng)求用于請(qǐng)求執(zhí)行目標(biāo)作業(yè);
28、放入模塊,用于將所述目標(biāo)作業(yè)的目標(biāo)作業(yè)標(biāo)識(shí)放入消息隊(duì)列中;
29、確定模塊,用于在作業(yè)執(zhí)行子系統(tǒng)消費(fèi)所述目標(biāo)作業(yè)標(biāo)識(shí),并對(duì)所述目標(biāo)作業(yè)執(zhí)行目標(biāo)操作,將所述目標(biāo)作業(yè)標(biāo)識(shí)放入完成隊(duì)列中之后,基于所述完成隊(duì)列中的所述目標(biāo)作業(yè)標(biāo)識(shí),確定所述目標(biāo)作業(yè)已完成,其中,所述目標(biāo)操作是所述作業(yè)執(zhí)行子系統(tǒng)對(duì)所述目標(biāo)作業(yè)所需執(zhí)行的操作。
30、根據(jù)本申請(qǐng)的另一方面,還提供一種作業(yè)執(zhí)行裝置,包括:
31、消費(fèi)模塊,用于消費(fèi)消息隊(duì)列中的目標(biāo)作業(yè)標(biāo)識(shí),其中,所述消息隊(duì)列中的目標(biāo)作業(yè)標(biāo)識(shí)是作業(yè)接入子系統(tǒng)獲取目標(biāo)請(qǐng)求之后,放入消息隊(duì)列中,所述目標(biāo)請(qǐng)求用于請(qǐng)求執(zhí)行目標(biāo)作業(yè);
32、放入模塊,用于對(duì)所述目標(biāo)作業(yè)標(biāo)識(shí)對(duì)應(yīng)的所述目標(biāo)作業(yè)執(zhí)行目標(biāo)操作之后,將所述目標(biāo)作業(yè)標(biāo)識(shí)放入完成隊(duì)列中,以使作業(yè)接入子系統(tǒng),基于所述完成隊(duì)列中的所述目標(biāo)作業(yè)標(biāo)識(shí),確定所述目標(biāo)作業(yè)已完成,其中,所述目標(biāo)操作是所需對(duì)所述目標(biāo)作業(yè)執(zhí)行的操作。
33、根據(jù)本申請(qǐng)實(shí)施例的又一個(gè)方面,還提供了一種電子設(shè)備,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,處理器、通信接口和存儲(chǔ)器通過通信總線完成相互間的通信;其中,存儲(chǔ)器,用于存儲(chǔ)計(jì)算機(jī)程序;處理器,用于通過運(yùn)行所述存儲(chǔ)器上所存儲(chǔ)的所述計(jì)算機(jī)程序來執(zhí)行上述任一實(shí)施例中的方法步驟。
34、根據(jù)本申請(qǐng)實(shí)施例的又一個(gè)方面,還提供了一種計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,該計(jì)算機(jī)程序被設(shè)置為運(yùn)行時(shí)執(zhí)行上述任一實(shí)施例中的方法步驟。
35、在本申請(qǐng)實(shí)施例中,通過引入了消息隊(duì)列以及完成隊(duì)列,從而使得作業(yè)接入子系統(tǒng)可以通過消息隊(duì)列中的消息告知作業(yè)執(zhí)行子系統(tǒng)所需執(zhí)行操作的作業(yè),且作業(yè)執(zhí)行子系統(tǒng)可以通過完成隊(duì)列中的消息告知作業(yè)接入子系統(tǒng)各個(gè)作業(yè)的完成情況,從而,作業(yè)接入子系統(tǒng)與作業(yè)執(zhí)行子系統(tǒng)之間無需長時(shí)間持有與每個(gè)執(zhí)行中的作業(yè)對(duì)應(yīng)的連接,進(jìn)而能夠有效提高對(duì)各個(gè)作業(yè)的并發(fā)執(zhí)行,提升資源使用效率,解決了相關(guān)技術(shù)中存在的由于作業(yè)步執(zhí)行的時(shí)間比較長,導(dǎo)致這些連接被長期持有;連接的長期持有導(dǎo)致系統(tǒng)資源被占用,無法有效提高并發(fā)的技術(shù)問題。
1.一種作業(yè)執(zhí)行系統(tǒng),其特征在于,包括:作業(yè)接入子系統(tǒng)、作業(yè)執(zhí)行子系統(tǒng)、消息隊(duì)列以及完成隊(duì)列;
2.一種作業(yè)執(zhí)行方法,其特征在于,應(yīng)用于作業(yè)接入子系統(tǒng),包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述將所述目標(biāo)作業(yè)的目標(biāo)作業(yè)標(biāo)識(shí)放入消息隊(duì)列中之后,所述方法還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將所述異步future中的所述目標(biāo)作業(yè)標(biāo)識(shí)與所述完成隊(duì)列的所有候選作業(yè)標(biāo)識(shí)進(jìn)行比對(duì),得到比對(duì)結(jié)果,包括:
5.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其特征在于,所述方法還包括:
6.一種作業(yè)執(zhí)行方法,其特征在于,應(yīng)用于作業(yè)執(zhí)行子系統(tǒng),包括:
7.一種作業(yè)接入裝置,其特征在于,包括:
8.一種作業(yè)執(zhí)行裝置,其特征在于,包括:
9.一種電子設(shè)備,包括處理器、通信接口、存儲(chǔ)器和通信總線,其中,所述處理器、所述通信接口和所述存儲(chǔ)器通過所述通信總線完成相互間的通信,其特征在于,
10.一種計(jì)算機(jī)可讀的存儲(chǔ)介質(zhì),其特征在于,所述存儲(chǔ)介質(zhì)中存儲(chǔ)有計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序被設(shè)置為運(yùn)行時(shí)執(zhí)行權(quán)利要求2至6中任一項(xiàng)中所述的方法步驟。