本技術(shù)涉及計(jì)算機(jī),提供了一種流程編排引擎的實(shí)現(xiàn)方法、裝置及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、目前,在企業(yè)級(jí)應(yīng)用系統(tǒng)的開發(fā)過(guò)程中,隨著業(yè)務(wù)需求的不斷復(fù)雜化,為保證業(yè)務(wù)系統(tǒng)中業(yè)務(wù)流程的高效執(zhí)行,往往需要引入相應(yīng)的流程編排引擎,來(lái)實(shí)現(xiàn)各種復(fù)雜的流程支撐業(yè)務(wù),以及實(shí)現(xiàn)業(yè)務(wù)流程的自動(dòng)化流轉(zhuǎn)。
2、在業(yè)務(wù)流程流轉(zhuǎn)的過(guò)程中會(huì)產(chǎn)生各種各樣的流程節(jié)點(diǎn)?,F(xiàn)有流程編排引擎的實(shí)現(xiàn)方法往往以業(yè)務(wù)功能為核心,即按照業(yè)務(wù)需求構(gòu)建圖形化的流程節(jié)點(diǎn),將流程節(jié)點(diǎn)按照帶有條件和方向的導(dǎo)向線連接形成業(yè)務(wù)流程圖,并將設(shè)計(jì)好的業(yè)務(wù)流程圖保存并發(fā)布至流程編排引擎中,流程編排引擎再根據(jù)業(yè)務(wù)系統(tǒng)的操作,自動(dòng)將流程流轉(zhuǎn)至對(duì)應(yīng)的節(jié)點(diǎn)進(jìn)行處理。
3、但是,為了滿足復(fù)雜業(yè)務(wù)的需要,企業(yè)級(jí)應(yīng)用系統(tǒng)中往往會(huì)存在多種流程分支和流程對(duì)接業(yè)務(wù),現(xiàn)有的流程編排引擎需要針對(duì)多個(gè)業(yè)務(wù)流程開發(fā)對(duì)應(yīng)的功能實(shí)現(xiàn)代碼,導(dǎo)致開發(fā)工作量大,系統(tǒng)的兼容性及擴(kuò)展性較差。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種流程編排引擎的實(shí)現(xiàn)方法、裝置及存儲(chǔ)介質(zhì),用以節(jié)省代碼的開發(fā)成本,并提高系統(tǒng)的兼容性及擴(kuò)展性。
2、本技術(shù)提供的具體技術(shù)方案如下:
3、第一方面,本技術(shù)實(shí)施例提供了一種流程編排引擎的實(shí)現(xiàn)方法,應(yīng)用于服務(wù)器,方法包括:
4、對(duì)接收到的流程創(chuàng)建請(qǐng)求進(jìn)行解析得到待創(chuàng)建的目標(biāo)流程編排的類型,其中,流程創(chuàng)建請(qǐng)求是客戶端針對(duì)流程編排軟件觸發(fā)的,流程編排軟件運(yùn)行在客戶端上;
5、基于預(yù)先設(shè)置的流程類型與目標(biāo)節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系,確定目標(biāo)流程編排包括的各流程節(jié)點(diǎn)以及各流程節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系,并基于各流程節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系創(chuàng)建目標(biāo)流程編排;
6、基于預(yù)先設(shè)置的目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系,分別為目標(biāo)流程編排中的各流程節(jié)點(diǎn)配置相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù);
7、按照關(guān)聯(lián)關(guān)系遍歷各流程節(jié)點(diǎn),并運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)。
8、可選地,基于預(yù)先設(shè)置的流程類型與目標(biāo)節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系,確定目標(biāo)流程編排包括的各流程節(jié)點(diǎn)以及各流程節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系,包括:
9、在預(yù)先設(shè)置的流程類型與目標(biāo)節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系中查找與待創(chuàng)建的目標(biāo)流程編排的類型相同的流程類型;
10、將流程類型與目標(biāo)節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系中與查找到的流程類型對(duì)應(yīng)的各目標(biāo)節(jié)點(diǎn)確定為目標(biāo)流程編排包括的各流程節(jié)點(diǎn);
11、基于流程類型指示的執(zhí)行步驟確定各流程節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系。
12、可選地,基于各流程節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系創(chuàng)建目標(biāo)流程編排,包括:
13、將各流程節(jié)點(diǎn)按照關(guān)聯(lián)關(guān)系進(jìn)行連接,并基于連接后的各流程節(jié)點(diǎn)創(chuàng)建目標(biāo)流程編排。
14、可選地,基于預(yù)先設(shè)置的目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系,分別為目標(biāo)流程編排中的各流程節(jié)點(diǎn)配置相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),包括:
15、在預(yù)先設(shè)置的目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系中分別查找與目標(biāo)流程編排中的各流程節(jié)點(diǎn)相同的各個(gè)目標(biāo)節(jié)點(diǎn);
16、將目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系中與查找到的各個(gè)目標(biāo)節(jié)點(diǎn)相對(duì)應(yīng)的業(yè)務(wù)確定為節(jié)點(diǎn)業(yè)務(wù);
17、分別為目標(biāo)流程編排中的各流程節(jié)點(diǎn)配置相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)。
18、可選地,通過(guò)以下方式預(yù)先設(shè)置目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系:
19、分別確定各個(gè)目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的業(yè)務(wù)的執(zhí)行內(nèi)容;
20、若任意兩個(gè)目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的業(yè)務(wù)的執(zhí)行內(nèi)容相同,則將任意兩個(gè)目標(biāo)節(jié)點(diǎn)均與執(zhí)行內(nèi)容相同的同一個(gè)業(yè)務(wù)進(jìn)行對(duì)應(yīng);
21、若任意兩個(gè)目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的業(yè)務(wù)的執(zhí)行內(nèi)容不同,則將任意兩個(gè)目標(biāo)節(jié)點(diǎn)分別與執(zhí)行內(nèi)容不同的兩個(gè)業(yè)務(wù)進(jìn)行對(duì)應(yīng)。
22、可選地,運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)之前,還包括:
23、為目標(biāo)流程編排設(shè)置實(shí)時(shí)監(jiān)控流程;
24、運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),包括:
25、當(dāng)運(yùn)行任意一個(gè)流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)時(shí),運(yùn)用實(shí)時(shí)監(jiān)控流程檢測(cè)流程節(jié)點(diǎn)的節(jié)點(diǎn)參數(shù)是否正確,以及,運(yùn)用實(shí)時(shí)監(jiān)控流程檢測(cè)上游流程節(jié)點(diǎn)的結(jié)果參數(shù)和任意一個(gè)流程節(jié)點(diǎn)的輸入?yún)?shù)是否匹配,其中,上游流程節(jié)點(diǎn)為在任意一個(gè)流程節(jié)點(diǎn)之前運(yùn)行節(jié)點(diǎn)業(yè)務(wù)的節(jié)點(diǎn);
26、若節(jié)點(diǎn)參數(shù)錯(cuò)誤,或者,若結(jié)果參數(shù)和輸入?yún)?shù)不匹配,則向外發(fā)出錯(cuò)誤提示信息。
27、可選地,按照關(guān)聯(lián)關(guān)系遍歷各流程節(jié)點(diǎn),并運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),包括:
28、在各流程節(jié)點(diǎn)中查找初始流程節(jié)點(diǎn),其中,初始流程節(jié)點(diǎn)是根據(jù)接收到的流程發(fā)起請(qǐng)求確定的,流程發(fā)起請(qǐng)求是客戶端針對(duì)目標(biāo)流程編排發(fā)起的,初始流程節(jié)點(diǎn)為各流程節(jié)點(diǎn)中第一個(gè)運(yùn)行節(jié)點(diǎn)業(yè)務(wù)的流程節(jié)點(diǎn);
29、以初始流程節(jié)點(diǎn)為起點(diǎn),按照關(guān)聯(lián)關(guān)系遍歷各流程節(jié)點(diǎn),并在遍歷到任意一個(gè)流程節(jié)點(diǎn)時(shí)運(yùn)行流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)。
30、第二方面,本技術(shù)實(shí)施例還提供了一種流程編排引擎的實(shí)現(xiàn)裝置,包括:
31、解析單元,用于對(duì)接收到的流程創(chuàng)建請(qǐng)求進(jìn)行解析得到待創(chuàng)建的目標(biāo)流程編排的類型,其中,流程創(chuàng)建請(qǐng)求是客戶端針對(duì)流程編排軟件觸發(fā)的,流程編排軟件運(yùn)行在客戶端上;
32、創(chuàng)建單元,用于基于預(yù)先設(shè)置的流程類型與目標(biāo)節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系,確定目標(biāo)流程編排包括的各流程節(jié)點(diǎn)以及各流程節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系,并基于各流程節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系創(chuàng)建目標(biāo)流程編排;
33、配置單元,用于基于預(yù)先設(shè)置的目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系,分別為目標(biāo)流程編排中的各流程節(jié)點(diǎn)配置相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù);
34、運(yùn)行單元,用于按照關(guān)聯(lián)關(guān)系遍歷各流程節(jié)點(diǎn),并運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)。
35、可選地,基于各流程節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系創(chuàng)建目標(biāo)流程編排,創(chuàng)建單元用于:
36、將各流程節(jié)點(diǎn)按照關(guān)聯(lián)關(guān)系進(jìn)行連接,并基于連接后的各流程節(jié)點(diǎn)創(chuàng)建目標(biāo)流程編排。
37、可選地,基于預(yù)先設(shè)置的目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系,分別為目標(biāo)流程編排中的各流程節(jié)點(diǎn)配置相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),配置單元用于:
38、在預(yù)先設(shè)置的目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系中分別查找與目標(biāo)流程編排中的各流程節(jié)點(diǎn)相同的各個(gè)目標(biāo)節(jié)點(diǎn);
39、將目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系中與查找到的各個(gè)目標(biāo)節(jié)點(diǎn)相對(duì)應(yīng)的業(yè)務(wù)確定為節(jié)點(diǎn)業(yè)務(wù);
40、分別為目標(biāo)流程編排中的各流程節(jié)點(diǎn)配置相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)。
41、可選地,通過(guò)以下方式預(yù)先設(shè)置目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系:
42、分別確定各個(gè)目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的業(yè)務(wù)的執(zhí)行內(nèi)容;
43、若任意兩個(gè)目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的業(yè)務(wù)的執(zhí)行內(nèi)容相同,則將任意兩個(gè)目標(biāo)節(jié)點(diǎn)均與執(zhí)行內(nèi)容相同的同一個(gè)業(yè)務(wù)進(jìn)行對(duì)應(yīng);
44、若任意兩個(gè)目標(biāo)節(jié)點(diǎn)對(duì)應(yīng)的業(yè)務(wù)的執(zhí)行內(nèi)容不同,則將任意兩個(gè)目標(biāo)節(jié)點(diǎn)分別與執(zhí)行內(nèi)容不同的兩個(gè)業(yè)務(wù)進(jìn)行對(duì)應(yīng)。
45、可選地,運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)之前,還包括:
46、為目標(biāo)流程編排設(shè)置實(shí)時(shí)監(jiān)控流程;
47、運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),包括:
48、當(dāng)運(yùn)行任意一個(gè)流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)時(shí),運(yùn)用實(shí)時(shí)監(jiān)控流程檢測(cè)流程節(jié)點(diǎn)的節(jié)點(diǎn)參數(shù)是否正確,以及,運(yùn)用實(shí)時(shí)監(jiān)控流程檢測(cè)上游流程節(jié)點(diǎn)的結(jié)果參數(shù)和任意一個(gè)流程節(jié)點(diǎn)的輸入?yún)?shù)是否匹配,其中,上游流程節(jié)點(diǎn)為在任意一個(gè)流程節(jié)點(diǎn)之前運(yùn)行節(jié)點(diǎn)業(yè)務(wù)的節(jié)點(diǎn);
49、若節(jié)點(diǎn)參數(shù)錯(cuò)誤,或者,若結(jié)果參數(shù)和輸入?yún)?shù)不匹配,則向外發(fā)出錯(cuò)誤提示信息。
50、可選地,按照關(guān)聯(lián)關(guān)系遍歷各流程節(jié)點(diǎn),并運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),運(yùn)行單元用于:
51、在各流程節(jié)點(diǎn)中查找初始流程節(jié)點(diǎn),其中,初始流程節(jié)點(diǎn)是根據(jù)接收到的流程發(fā)起請(qǐng)求確定的,流程發(fā)起請(qǐng)求是客戶端針對(duì)目標(biāo)流程編排發(fā)起的,初始流程節(jié)點(diǎn)為各流程節(jié)點(diǎn)中第一個(gè)運(yùn)行節(jié)點(diǎn)業(yè)務(wù)的流程節(jié)點(diǎn);
52、以初始流程節(jié)點(diǎn)為起點(diǎn),按照關(guān)聯(lián)關(guān)系遍歷各流程節(jié)點(diǎn),并在遍歷到任意一個(gè)流程節(jié)點(diǎn)時(shí)運(yùn)行流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù)。
53、第三方面,一種服務(wù)器,包括:
54、存儲(chǔ)器,用于存儲(chǔ)可執(zhí)行指令;
55、處理器,用于讀取并執(zhí)行存儲(chǔ)器中存儲(chǔ)的可執(zhí)行指令,以實(shí)現(xiàn)如第一方面任一項(xiàng)的方法。
56、第四方面,一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的指令由處理器執(zhí)行時(shí),使得所述處理器能夠執(zhí)行上述第一方面任一項(xiàng)所述的方法。
57、本技術(shù)有益效果如下:
58、綜上所述,本技術(shù)實(shí)施例中,提供的一種流程編排引擎的實(shí)現(xiàn)方法、裝置及存儲(chǔ)介質(zhì),該方法應(yīng)用于服務(wù)器,包括:對(duì)接收到的流程創(chuàng)建請(qǐng)求進(jìn)行解析得到待創(chuàng)建的目標(biāo)流程編排的類型,其中,流程創(chuàng)建請(qǐng)求是客戶端針對(duì)流程編排軟件觸發(fā)的,流程編排軟件運(yùn)行在客戶端上,基于預(yù)先設(shè)置的流程類型與目標(biāo)節(jié)點(diǎn)之間的對(duì)應(yīng)關(guān)系,確定目標(biāo)流程編排包括的各流程節(jié)點(diǎn)以及各流程節(jié)點(diǎn)之間的關(guān)聯(lián)關(guān)系,并基于各流程節(jié)點(diǎn)和關(guān)聯(lián)關(guān)系創(chuàng)建目標(biāo)流程編排,基于預(yù)先設(shè)置的目標(biāo)節(jié)點(diǎn)與業(yè)務(wù)之間的對(duì)應(yīng)關(guān)系,分別為目標(biāo)流程編排中的各流程節(jié)點(diǎn)配置相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),按照關(guān)聯(lián)關(guān)系遍歷各流程節(jié)點(diǎn),并運(yùn)行各流程節(jié)點(diǎn)相對(duì)應(yīng)的節(jié)點(diǎn)業(yè)務(wù),上述流程編排引擎的實(shí)現(xiàn)過(guò)程節(jié)省了代碼開發(fā)成本,提高了系統(tǒng)的兼容性及擴(kuò)展性。
59、本技術(shù)的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本技術(shù)而了解。本技術(shù)的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。