專利名稱:一種遞歸結(jié)構(gòu)工作流模型及其調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種工作流模型及其調(diào)度方法,特別是一種新具有新定義結(jié)構(gòu)的工作 流模型及其調(diào)度方法。
背景技術(shù):
工作流是業(yè)務(wù)過程的計算模型,即將相應(yīng)的業(yè)務(wù)邏輯和業(yè)務(wù)規(guī)則在計算機中以恰 當(dāng)?shù)哪P瓦M行表示并對其實施計算。業(yè)務(wù)活動是能夠完成特定的功能的一個實際環(huán)節(jié),它 在信息系統(tǒng)中通常針對具體的應(yīng)用邏輯。業(yè)務(wù)過程是若干業(yè)務(wù)活動的集合,這些業(yè)務(wù)活動 按照一定的規(guī)則前后鏈接在一起,相互協(xié)作,使大量的基于知識與規(guī)則的任務(wù)和活動相互 協(xié)調(diào)一致、高效運作,實現(xiàn)在指定的時間將指定的信息傳遞給指定的人,完成指定的業(yè)務(wù)流 程。達到利用計算機技術(shù)和信息化手段實現(xiàn)全自動或半自動化的目地。工作流系統(tǒng)的最大優(yōu)點就是將軟件系統(tǒng)中的過程邏輯進行提煉和抽象,實現(xiàn)了應(yīng) 用邏輯與過程邏輯的分離,達到在盡量不修改具體應(yīng)用功能的情況下,通過修改、重定義過 程模型來改變系統(tǒng)功能,完成業(yè)務(wù)過程的集成管理,有效把人、信息和應(yīng)用工具進行合理組 織,發(fā)揮系統(tǒng)的最大效能??偟膩碚f,現(xiàn)實中存在的業(yè)務(wù)流程可能要比上述的任何一款工作流產(chǎn)品所能夠?qū)?現(xiàn)的都復(fù)雜很多,也會同時考慮很多因素(組織模型,授權(quán)模型,資源模型,安全,事務(wù),信 息文檔等等),而考慮的因素越多,涉及的流程復(fù)雜度越高,對工作流引擎的要求就越高。 實際上,一個通用的工作流引擎是不存在的,因為一個工作流引擎不僅需要解析運行預(yù)定 的流程模型,而且還需要控制維護流程運轉(zhuǎn)中的數(shù)據(jù)信息(很多業(yè)務(wù)數(shù)據(jù)是有很強的領(lǐng)域 性),所以大多的工作流引擎都是定位在某一方向上,以解決某一類問題為主。因此,設(shè)計一種更加簡單、高效,同時又具有很強描述能力工作流模型和調(diào)度方 法,并能針對復(fù)雜業(yè)務(wù)流程以自頂向下分解、清晰、直觀地進行建模,不僅可以使這些復(fù)雜 業(yè)務(wù)在工作流系統(tǒng)的輔助下實現(xiàn)應(yīng)用邏輯與過程邏輯相對分離,進一步實現(xiàn)業(yè)務(wù)過程的重 組和優(yōu)化,同時,也可以大大提高工作流管理系統(tǒng)的易用性、通用性和靈活性。
發(fā)明內(nèi)容
針對上述現(xiàn)有技術(shù)所存在的問題和不足,本發(fā)明的目的是提供一種簡單和高效工 作流模型及其調(diào)度方法。為實現(xiàn)上述目的,本發(fā)明遞歸結(jié)構(gòu)工作流模型可采用如下技術(shù)方案一種遞歸結(jié)構(gòu)工作流模型,所述遞歸結(jié)構(gòu)工作流模型中包含有若干節(jié)點,將該若 干節(jié)點分為一般節(jié)點、順序節(jié)點、分支節(jié)點、并行節(jié)點四種類型,其中,一般節(jié)點不具有下級 節(jié)點;順序節(jié)點的所有下級節(jié)點依次流轉(zhuǎn),所有下級節(jié)點完成后該順序節(jié)點才能完成;分 支節(jié)點具有數(shù)個分支,每一個分支中均具有下級節(jié)點,其中一個分支中的下級節(jié)點完成后 該分支節(jié)點才能完成;并行節(jié)點具有數(shù)條并行路徑,每一并行路徑中均具有下級節(jié)點,當(dāng)所 有并行的路徑全部完成后該節(jié)點才能完成。
本發(fā)明遞歸結(jié)構(gòu)工作流模型與現(xiàn)有技術(shù)相比通過將遞歸結(jié)構(gòu)工作流模型中的所 有節(jié)點以一般節(jié)點、順序節(jié)點、分支節(jié)點、并行節(jié)點歸類,且該四種類型為最基本的流轉(zhuǎn)單 元并是能夠進行遞歸嵌套和組合的結(jié)構(gòu)化流程模型,故可以將工作流的邏輯簡單化且清楚 化,實現(xiàn)遞歸結(jié)構(gòu)工作流模型的簡單和高效。為實現(xiàn)上述目的,本發(fā)明遞歸結(jié)構(gòu)工作流模型可采用如下技術(shù)方案一種遞歸結(jié)構(gòu)工作流模型的調(diào)度方法,該方法包括以下步驟(1)調(diào)度方法的流程開始,并取流程的當(dāng)前節(jié)點;(2)判斷當(dāng)前節(jié)點是否完成,若未完成,則退出流程;若完成,則進入步驟(3);(3)判斷所述當(dāng)前節(jié)點是否有下級節(jié)點,若無,則取所述當(dāng)前節(jié)點的上級節(jié)點,并 進入步驟;若有下級節(jié)點,則進入步驟(5);(4)判斷所述上級節(jié)點是否完成,若未完成,則退出流程;若完成,則判斷該上級 節(jié)點是否為順序節(jié)點,若不是順序節(jié)點,則再取當(dāng)前節(jié)點的另外的上級節(jié)點,若是順序節(jié) 點,則取該上級節(jié)點的同級節(jié)點的后續(xù)節(jié)點,將該后續(xù)節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點,并進 入步驟(6);(5)判斷步驟⑷所述下級節(jié)點的節(jié)點類型,并選擇該下級節(jié)點的再下級節(jié)點,并 將所述下級節(jié)點的再下級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點,并進入執(zhí)行狀態(tài);(6)執(zhí)行步驟⑷或步驟(5)中所述的需要執(zhí)行的當(dāng)前節(jié)點,然后退出流程。本發(fā)明遞歸結(jié)構(gòu)工作流模型的調(diào)度方法與現(xiàn)有技術(shù)相比通過將本發(fā)明中的遞歸 結(jié)構(gòu)工作流模型進行調(diào)度,特別是建立對順序節(jié)點、分支節(jié)點、并行節(jié)點的調(diào)度方法,使本 發(fā)明的遞歸結(jié)構(gòu)工作流模型可以簡單和高效的運行。
圖1為本發(fā)明一種遞歸結(jié)構(gòu)工作流模型中一個業(yè)務(wù)流程建模例子的示意圖。圖2為本發(fā)明一種遞歸結(jié)構(gòu)工作流模型的調(diào)度方法的流程圖。
具體實施例方式下面結(jié)合附圖和具體實施方式
,進一步闡明本發(fā)明,應(yīng)理解下述具體實施方式
僅 用于說明本發(fā)明而不用于限制本發(fā)明的范圍,在閱讀了本發(fā)明之后,本領(lǐng)域技術(shù)人員對本 發(fā)明的各種等價形式的修改均落于本申請所附權(quán)利要求所限定的范圍。本發(fā)明提供了一種遞歸結(jié)構(gòu)工作流模型及其調(diào)度方法。其中,所述遞歸結(jié)構(gòu)工作流模型中包含有若干節(jié)點(節(jié)點,組成工作流流程的最 小的運轉(zhuǎn)單元,每個活動完成一定的任務(wù),被定義相關(guān)的屬性,如活動的執(zhí)行者、相關(guān)的應(yīng) 用程序,輸入和輸出的數(shù)據(jù)等。在工作流引擎的驅(qū)動下,活動之間可以按照規(guī)則進行狀態(tài)的 遷移。),將該若干節(jié)點分為一般節(jié)點、順序節(jié)點、分支節(jié)點、并行節(jié)點四種類型,其中,一般 節(jié)點不具有下級節(jié)點;順序節(jié)點的所有下級節(jié)點依次流轉(zhuǎn),所有下級節(jié)點完成后該順序節(jié) 點才能完成;分支節(jié)點具有數(shù)個分支,每一個分支中均具有下級節(jié)點,其中一個分支中的下 級節(jié)點完成后該分支節(jié)點才能完成;并行節(jié)點具有數(shù)條并行路徑,每一并行路徑中均具有 下級節(jié)點,當(dāng)所有并行的路徑全部完成后該節(jié)點才能完成。該遞歸結(jié)構(gòu)工作流模型定義每個節(jié)點都有四種狀態(tài)不可達狀態(tài),候選狀態(tài),正在執(zhí)行,執(zhí)行完成;其中不可達狀態(tài)指該節(jié)點處于默認(rèn)狀態(tài),候選狀態(tài)指該節(jié)點可以被選擇但 還未被選擇。本發(fā)明通過將遞歸結(jié)構(gòu)工作流模型中的所有節(jié)點以一般節(jié)點、順序節(jié)點、分支節(jié) 點、并行節(jié)點歸類,其中,順序、分支、并行這三種節(jié)點可以有下級節(jié)點,下級節(jié)點同樣可以 是任意類型的活動節(jié)點,也就是說,如果需要,下級節(jié)點同樣可以有它們自己的下級節(jié)點, 這樣就形成了一種遞歸嵌套的結(jié)構(gòu),可以通過組合和嵌套實現(xiàn)建模任務(wù),使流程的模型描 述能力得以大大提升。且該四種類型為最基本的流轉(zhuǎn)單元并是能夠進行遞歸嵌套和組合的 結(jié)構(gòu)化流程模型,故可以將工作流的邏輯簡單化且清楚化,實現(xiàn)遞歸結(jié)構(gòu)工作流模型的簡 單和高效。下面舉一個具體的例子,請參閱圖1所示,為一個業(yè)務(wù)流程建模,流程的主干可以 看作只有3個節(jié)點,即節(jié)點1、2、和4 ;步驟2又是一個分支結(jié)構(gòu),其下有三個可選分支節(jié)點分支1、分支2、分支3 ;步驟2的分支1是簡單的一般節(jié)點;步驟2的分支2為順序結(jié)構(gòu),有3個順序節(jié)點;步驟2的分支3為并行結(jié)構(gòu),有2個并行節(jié)點;該業(yè)務(wù)流程模型中通過在分支2中再嵌套3個順序節(jié)點,在分支3中再嵌套2個 并行節(jié)點,且若有需要,所述分支2中的3個順序節(jié)點及分支3中的2個并行節(jié)點又可再嵌 套其他節(jié)點。從而可通過定義的一般節(jié)點、順序節(jié)點、分支節(jié)點、并行節(jié)點四種類型將整個 業(yè)務(wù)流程模型建模出來,實現(xiàn)工作流模型的簡單和高效。請結(jié)合圖2所示,所述遞歸結(jié)構(gòu)工作流模型的調(diào)度方法包括以下步驟一種遞歸結(jié)構(gòu)工作流模型的調(diào)度方法,該方法包括以下步驟(1)調(diào)度方法的流程開始,并取流程的當(dāng)前節(jié)點。(2)判斷當(dāng)前節(jié)點是否完成,若未完成,則退出流程;若完成,則進入步驟⑶。(3)判斷所述當(dāng)前節(jié)點是否有下級節(jié)點,若無,則取所述當(dāng)前節(jié)點的上級節(jié)點,并 進入步驟;若有下級節(jié)點,則進入步驟(5)。(4)判斷所述上級節(jié)點是否完成,若未完成,則退出流程;若完成,則判斷該上級 節(jié)點是否為順序節(jié)點,若不是順序節(jié)點,則再取當(dāng)前節(jié)點的另外的上級節(jié)點,若是順序節(jié) 點,則取該上級節(jié)點的同級節(jié)點的后續(xù)節(jié)點,將該后續(xù)節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點,并進 入步驟(6)。(5)判斷步驟⑷所述下級節(jié)點的節(jié)點類型,并選擇該下級節(jié)點的再下級節(jié)點,并 將所述下級節(jié)點的再下級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點,并進入執(zhí)行狀態(tài);其中該步驟中 所述的下級節(jié)點,分成順序節(jié)點、分支節(jié)點、并行節(jié)點三種類型。其中,所述順序節(jié)點的所 有下級節(jié)點依次流轉(zhuǎn),所有下級節(jié)點完成后該順序節(jié)點才能完成;分支節(jié)點具有數(shù)個分支, 每一個分支中均具有下級節(jié)點,其中一個分支中的下級節(jié)點完成后該分支節(jié)點才能完成; 并行節(jié)點具有數(shù)條并行路徑,每一并行路徑中均具有下級節(jié)點,當(dāng)所有并行的路徑全部完 成后該節(jié)點才能完成。若為順序節(jié)點,則直接選擇該順序節(jié)點的下級節(jié)點作為需要執(zhí)行的 當(dāng)前節(jié)點;若為分支節(jié)點,則選擇分支節(jié)點的一個分支下級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點; 若為并行節(jié)點,則選擇并行節(jié)點的所有并行的下級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點。通過對 不同節(jié)點類型選擇不同的處理方式,使本發(fā)明的遞歸結(jié)構(gòu)工作流模型可以簡單和高效的運行。(6)執(zhí)行步驟(4)或步驟(5)中所述的需要執(zhí)行的當(dāng)前節(jié)點,然后退出流程。本發(fā)明遞歸結(jié)構(gòu)工作流模型的調(diào)度方法與現(xiàn)有技術(shù)相比通過將本發(fā)明中的遞歸 結(jié)構(gòu)工作流模型進行調(diào)度,特別是建立對順序節(jié)點、分支節(jié)點、并行節(jié)點的分別設(shè)置對應(yīng)的 處理方式,使本發(fā)明的遞歸結(jié)構(gòu)工作流模型可以簡單和高效的運行。
權(quán)利要求
1.一種遞歸結(jié)構(gòu)工作流模型,其特征在于所述工作流模型中包含有若干節(jié)點,將該 若干節(jié)點分為一般節(jié)點、順序節(jié)點、分支節(jié)點、并行節(jié)點四種類型,其中,一般節(jié)點不具有下 級節(jié)點;順序節(jié)點的所有下級節(jié)點依次流轉(zhuǎn),所有下級節(jié)點完成后該順序節(jié)點才能完成; 分支節(jié)點具有數(shù)個分支,每一個分支中均具有下級節(jié)點,其中一個分支中的下級節(jié)點完成 后該分支節(jié)點才能完成;并行節(jié)點具有數(shù)條并行路徑,每一并行路徑中均具有下級節(jié)點,當(dāng) 所有并行的路徑全部完成后該節(jié)點才能完成。
2.根據(jù)權(quán)利要求1所述的遞歸結(jié)構(gòu)工作流模型,其特征在于定義每個節(jié)點都有四種 狀態(tài)不可達狀態(tài),候選狀態(tài),正在執(zhí)行,執(zhí)行完成;其中不可達狀態(tài)指該節(jié)點處于默認(rèn)狀 態(tài),候選狀態(tài)指該節(jié)點可以被選擇但還未被選擇。
3.—種如權(quán)利要求1所述的遞歸結(jié)構(gòu)工作流模型的調(diào)度方法,其特征在于該方法包 括以下步驟(1)調(diào)度方法的流程開始,并取流程的當(dāng)前節(jié)點;(2)判斷當(dāng)前節(jié)點是否完成,若未完成,則退出流程;若完成,則進入步驟(3);(3)判斷所述當(dāng)前節(jié)點是否有下級節(jié)點,若無,則取所述當(dāng)前節(jié)點的上級節(jié)點,并進入 步驟(4);若有下級節(jié)點,則進入步驟(5);(4)判斷所述上級節(jié)點是否完成,若未完成,則退出流程;若完成,則判斷該上級節(jié)點 是否為順序節(jié)點,若不是順序節(jié)點,則再取當(dāng)前節(jié)點的另外的上級節(jié)點,若是順序節(jié)點,則 取該上級節(jié)點的同級節(jié)點的后續(xù)節(jié)點,將該后續(xù)節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點,并進入步 驟(6);(5)判斷步驟(4)所述下級節(jié)點的節(jié)點類型,并選擇該下級節(jié)點的再下級節(jié)點,并將所 述下級節(jié)點的再下級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點,并進入執(zhí)行狀態(tài);(6)執(zhí)行步驟(4)或步驟(5)中所述的需要執(zhí)行的當(dāng)前節(jié)點,然后退出流程。
4.根據(jù)權(quán)利要求3所述的遞歸結(jié)構(gòu)工作流模型的調(diào)度方法,其特征在于步驟(5)中 所述的下級節(jié)點,分成順序節(jié)點、分支節(jié)點、并行節(jié)點三種類型,若為順序節(jié)點,則直接選擇 該順序節(jié)點的下級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點;若為分支節(jié)點,則選擇分支節(jié)點的一個 分支下級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點;若為并行節(jié)點,則選擇并行節(jié)點的所有并行的下 級節(jié)點作為需要執(zhí)行的當(dāng)前節(jié)點。
5.根據(jù)權(quán)利要求3或4所述的遞歸結(jié)構(gòu)工作流模型的調(diào)度方法,其特征在于所述順 序節(jié)點的所有下級節(jié)點依次流轉(zhuǎn),所有下級節(jié)點完成后該順序節(jié)點才能完成;分支節(jié)點具 有數(shù)個分支,每一個分支中均具有下級節(jié)點,其中一個分支中的下級節(jié)點完成后該分支節(jié) 點才能完成;并行節(jié)點具有數(shù)條并行路徑,每一并行路徑中均具有下級節(jié)點,當(dāng)所有并行的 路徑全部完成后該節(jié)點才能完成。
全文摘要
一種遞歸結(jié)構(gòu)工作流模型,所述工作流模型中包含有若干節(jié)點,通過將工作流模型中的所有節(jié)點以一般節(jié)點、順序節(jié)點、分支節(jié)點、并行節(jié)點歸類,且該四種類型為最基本的流轉(zhuǎn)單元并是能夠進行遞歸嵌套和組合的結(jié)構(gòu)化流程模型,故可以將工作流的邏輯簡單化且清楚化,實現(xiàn)本遞歸結(jié)構(gòu)工作流模型的簡單和高效。
文檔編號G06F9/46GK102063333SQ201110007528
公開日2011年5月18日 申請日期2011年1月14日 優(yōu)先權(quán)日2011年1月14日
發(fā)明者李小云, 王善棟, 苗陽 申請人:南京萊斯信息技術(shù)股份有限公司