本發(fā)明涉及企業(yè)信息系統(tǒng),更具體地,涉及一種任務(wù)流程控制方法、系統(tǒng)、電子設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、虛擬仿真亦稱虛擬現(xiàn)實(shí),是利用計(jì)算機(jī)技術(shù)模擬創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)系統(tǒng),虛擬仿真技術(shù)廣泛應(yīng)用于教育培訓(xùn)、醫(yī)學(xué)、軍事、航空航天、工程設(shè)計(jì)等領(lǐng)域。
2、在虛擬仿真軟件開發(fā)過程中,任務(wù)流程控制是核心關(guān)鍵,優(yōu)秀的任務(wù)流程控制能夠提升開發(fā)效率、縮短開發(fā)周期。
3、傳統(tǒng)任務(wù)流程控制通常采用集中統(tǒng)一管理的方式實(shí)現(xiàn),例如,使用一個(gè)單獨(dú)的腳本來統(tǒng)一管理所有任務(wù)流程,高度集中會(huì)導(dǎo)致相應(yīng)的配置過于復(fù)雜臃腫,由于模塊配置數(shù)據(jù)高度集中,根據(jù)串并連原理,無形中代碼的健壯性就會(huì)大大降低,另外高集中不代表著高內(nèi)聚,因而這種集中統(tǒng)一管理非常不靈活,代碼邏輯不夠清晰,代碼不可復(fù)用,后期維護(hù)難度大,不利于模塊化開發(fā)。
4、鑒于上述問題,在現(xiàn)有技術(shù)中,一些技術(shù)人員也提出了一些改進(jìn)方案,比如麻茹雪等人提出了基于隊(duì)列的任務(wù)執(zhí)行流程控制方法及系統(tǒng),王鋒等人提出了一種基于數(shù)據(jù)表的任務(wù)流程配置方法,但以上這些方法都只是解決集中統(tǒng)一管理中的某些問題,沒有從根本上擺脫集中統(tǒng)一管理的思維范疇。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明提供了一種任務(wù)流程控制方法、系統(tǒng)、電子設(shè)備和存儲(chǔ)介質(zhì),利用面向?qū)ο缶幊趟枷雽?shí)現(xiàn)的分散式任務(wù)流程控制方法,能夠解決傳統(tǒng)集中統(tǒng)一管理任務(wù)流程方式不夠靈活、代碼邏輯不夠清晰、代碼不可復(fù)用、后期維護(hù)難度大、不利于模塊化開發(fā)等問題。
2、為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
3、第一方面,本發(fā)明提供一種任務(wù)流程控制方法,包括:
4、根據(jù)業(yè)務(wù)需求生成任務(wù)流程;
5、根據(jù)任務(wù)流程確定多個(gè)子任務(wù);
6、為每個(gè)子任務(wù)配置執(zhí)行條件;
7、對于任一子任務(wù),執(zhí)行條件包括:
8、依賴任務(wù)集合,依賴任務(wù)集合為空或者包括一個(gè)或多個(gè)依賴任務(wù);其中,依賴任務(wù)為該子任務(wù)以外的其他子任務(wù);
9、依賴任務(wù)的期望狀態(tài),其中,依賴任務(wù)分為過程任務(wù)和狀態(tài)任務(wù);
10、過程任務(wù)的狀態(tài)為完成時(shí),即為符合依賴任務(wù)的期望狀態(tài);
11、狀態(tài)任務(wù)的當(dāng)前狀態(tài)值為預(yù)設(shè)狀態(tài)值時(shí),即為符合依賴任務(wù)的期望狀態(tài);
12、響應(yīng)依賴任務(wù)集合中每個(gè)依賴任務(wù)符合依賴任務(wù)的期望狀態(tài),執(zhí)行子任務(wù)。
13、可選的,為每個(gè)子任務(wù)配置執(zhí)行條件包括:
14、分別為每個(gè)子任務(wù)創(chuàng)建一個(gè)獨(dú)立的任務(wù)腳本;
15、對每個(gè)子任務(wù)的任務(wù)腳本進(jìn)行任務(wù)參數(shù)配置。
16、可選的,分別為每個(gè)子任務(wù)創(chuàng)建一個(gè)獨(dú)立的任務(wù)腳本包括:
17、新建任務(wù)流程控制基類;其中,任務(wù)流程控制基類中定義有過程任務(wù)依賴腳本數(shù)組和狀態(tài)任務(wù)依賴腳本數(shù)組;
18、新建過程任務(wù)腳本類和狀態(tài)任務(wù)腳本類;其中,過程任務(wù)腳本類和狀態(tài)任務(wù)腳本類均繼承任務(wù)流程控制基類;
19、若子任務(wù)為過程任務(wù),則將子任務(wù)的任務(wù)腳本繼承過程任務(wù)腳本類;
20、若子任務(wù)為狀態(tài)任務(wù),則將子任務(wù)的任務(wù)腳本繼承狀態(tài)任務(wù)腳本類。
21、可選的,過程任務(wù)腳本類定義有:
22、過程任務(wù)完成字段,用于標(biāo)識過程任務(wù)是否完成;
23、狀態(tài)任務(wù)腳本類定義有:
24、第一狀態(tài)值字段,用于存儲(chǔ)狀態(tài)任務(wù)的所有狀態(tài)值;
25、第二狀態(tài)值字段,用于存儲(chǔ)狀態(tài)任務(wù)的當(dāng)前狀態(tài)值。
26、可選的,對每個(gè)子任務(wù)的任務(wù)腳本進(jìn)行任務(wù)參數(shù)配置包括:
27、若依賴任務(wù)集合中依賴任務(wù)為過程任務(wù),則將依賴任務(wù)的腳本名稱寫入任務(wù)腳本的第一任務(wù)參數(shù);其中,第一任務(wù)參數(shù)為過程任務(wù)依賴腳本數(shù)組的參數(shù);
28、若依賴任務(wù)集合中依賴任務(wù)為狀態(tài)任務(wù),則將依賴任務(wù)的腳本名稱和預(yù)設(shè)狀態(tài)值寫入任務(wù)腳本的第二任務(wù)參數(shù);其中,第二任務(wù)參數(shù)為狀態(tài)任務(wù)依賴腳本數(shù)組的參數(shù)。
29、可選的,響應(yīng)依賴任務(wù)集合中每個(gè)依賴任務(wù)符合依賴任務(wù)的期望狀態(tài),執(zhí)行子任務(wù)包括:
30、對于依賴任務(wù)集合中的過程任務(wù),讀取過程任務(wù)完成字段,若過程任務(wù)完成字段標(biāo)識過程任務(wù)完成,則判定符合依賴任務(wù)的期望狀態(tài);
31、對于依賴任務(wù)集合中的狀態(tài)任務(wù),讀取第二狀態(tài)值字段,若第二狀態(tài)值字段存儲(chǔ)的狀態(tài)任務(wù)的當(dāng)前狀態(tài)值為預(yù)設(shè)狀態(tài)值,則判定符合依賴任務(wù)的期望狀態(tài);
32、若依賴任務(wù)集合中所有依賴任務(wù)均符合依賴任務(wù)的期望狀態(tài),則執(zhí)行子任務(wù)。
33、第二方面,本發(fā)明提供了一種任務(wù)流程控制系統(tǒng),包括:控制模塊、處理模塊和測試工具,其中,
34、控制模塊,與處理模塊電連接,用于根據(jù)業(yè)務(wù)需求生成任務(wù)流程,根據(jù)任務(wù)流程確定多個(gè)子任務(wù),為每個(gè)子任務(wù)配置執(zhí)行條件;
35、處理模塊,分別與控制模塊和測試工具電連接,用于響應(yīng)依賴任務(wù)集合中每個(gè)依賴任務(wù)符合依賴任務(wù)的期望狀態(tài),執(zhí)行子任務(wù);
36、測試工具,與處理模塊電連接,用于子任務(wù)的參數(shù)配置和更改。
37、第三方面,本發(fā)明提供了一種任務(wù)流程控制裝置,包括:處理器和存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)計(jì)算機(jī)程序代碼,計(jì)算機(jī)程序代碼包括計(jì)算機(jī)指令,當(dāng)處理器執(zhí)行計(jì)算機(jī)指令時(shí),任務(wù)流程控制裝置執(zhí)行如第一方面及其任一種可能的實(shí)現(xiàn)方式的任務(wù)流程控制方法。
38、第四方面,本發(fā)明提供了一種電子設(shè)備,包括:處理器、存儲(chǔ)介質(zhì)以及計(jì)算機(jī)程序,計(jì)算機(jī)程序存儲(chǔ)于存儲(chǔ)介質(zhì)中,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求如第一方面及其任一種可能的實(shí)現(xiàn)方式的任務(wù)流程控制方法。
39、第五方面,一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面及其任一種可能的實(shí)現(xiàn)方式的任務(wù)流程控制方法。
40、本發(fā)明中第二方面到第五方面及其各種實(shí)現(xiàn)方式的具體描述,可以參考第一方面及其各種實(shí)現(xiàn)方式中的詳細(xì)描述;并且,第二方面到第五方面及其各種實(shí)現(xiàn)方式的有益效果,可以參考第一方面及其各種實(shí)現(xiàn)方式中的有益效果分析,此處不再贅述。
41、與現(xiàn)有技術(shù)相比,本發(fā)明提供的一種任務(wù)流程控制方法、系統(tǒng)、電子設(shè)備和存儲(chǔ)介質(zhì),至少實(shí)現(xiàn)了如下的有益效果:
42、本發(fā)明實(shí)施例提供的任務(wù)流程控制方法,為一種面向?qū)ο缶幊趟枷氲姆稚⑹饺蝿?wù)流程控制方法,包括根據(jù)業(yè)務(wù)需求生成任務(wù)流程;根據(jù)任務(wù)流程確定多個(gè)子任務(wù);每個(gè)子任務(wù)都作為一個(gè)獨(dú)立的任務(wù)對象,每個(gè)子任務(wù)只需要關(guān)注本任務(wù)的輸入和輸出狀態(tài)及其流程控制邏輯的實(shí)現(xiàn);為每個(gè)子任務(wù)配置執(zhí)行條件;對于任一子任務(wù),執(zhí)行條件包括:依賴任務(wù)集合,依賴任務(wù)集合為空或者包括一個(gè)或多個(gè)依賴任務(wù);其中,依賴任務(wù)為該子任務(wù)以外的其他子任務(wù);依賴任務(wù)的期望狀態(tài),其中,依賴任務(wù)分為過程任務(wù)和狀態(tài)任務(wù);過程任務(wù)的狀態(tài)為完成時(shí),即為符合依賴任務(wù)的期望狀態(tài);狀態(tài)任務(wù)的當(dāng)前狀態(tài)值為預(yù)設(shè)狀態(tài)值時(shí),即為符合依賴任務(wù)的期望狀態(tài);響應(yīng)依賴任務(wù)集合中每個(gè)依賴任務(wù)符合依賴任務(wù)的期望狀態(tài),執(zhí)行子任務(wù)。每個(gè)子任務(wù)是否可執(zhí)行都依賴于依賴任務(wù)是否滿足期望狀態(tài),符合依賴任務(wù)的期望狀態(tài),執(zhí)行子任務(wù),否則不執(zhí)行,可以很方便的對任意子任務(wù)所依賴的其他子任務(wù)狀態(tài)信息進(jìn)行更改配置,不需要修改任何程序代碼就可改變?nèi)蝿?wù)流程的執(zhí)行順序或執(zhí)行條件,能夠解決傳統(tǒng)集中統(tǒng)一管理任務(wù)流程方式不夠靈活、代碼邏輯不夠清晰、代碼不可復(fù)用、后期維護(hù)難度大、不利于模塊化開發(fā)的問題。
43、本發(fā)明第二方面至第五方面的技術(shù)效果,可以參照任務(wù)流程控制方法得到的技術(shù)效果。
44、當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品必不特定需要同時(shí)達(dá)到以上所述的所有技術(shù)效果。
45、通過以下參照附圖對本發(fā)明的示例性實(shí)施例的詳細(xì)描述,本發(fā)明的其它特征及其優(yōu)點(diǎn)將會(huì)變得清楚。