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