亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于有限狀態(tài)機的流程引擎調度方法

文檔序號:6574111閱讀:531來源:國知局
專利名稱:基于有限狀態(tài)機的流程引擎調度方法
技術領域
本發(fā)明屬于應用軟件平臺構建技術,具體地說是一種構建軟件平臺操 作框架的流程調度方法。
背景技術
有限狀態(tài)機(FSM),是一個特殊的有向圖,它包括一些狀態(tài)(或稱節(jié) 點)和連接這些狀態(tài)的有向弧。每一個有限狀態(tài)機都有一個起始狀態(tài)和一 個終止狀態(tài)和若干中間狀態(tài)。每一條弧上帶有從一個狀態(tài)進入下一個狀態(tài) 的條件。有限狀態(tài)機在計算科學中有者廣泛的應用,包括基礎應用和業(yè)務 方面的應用。特別是隨著工作流軟件的成熟,構建靈活的工作流調度是其 關鍵點,而有限狀態(tài)機的靈活性給工作流向帶來了無限的靈活性。但由于 靈活性帶來的另一面是復雜性,因此在工作流的應用并不是特別多,更多 的是借鑒其靈活的機制。
目前,對于軟件平臺中的流程調度實現(xiàn)方式更多的是以模板的方式。 模板調度方法固定流程的流向邏輯,在具體實現(xiàn)流程實例時,用實際流程 涉及對象來填充模板中的空位,從而實現(xiàn)流程的調度,靈活控制操作流程。 如圖l所示,模板方法的調度更多的是一種線性或基于優(yōu)先級的線性調度 方法,實現(xiàn)起來比較方便,有一定的靈活性。特別是基于優(yōu)先級的線性調 度方法,引入優(yōu)先級后,在一定程度上可以控制流程的運行方向。但是不 管是簡單的線性調度方法還是基于優(yōu)先級的調度方法,歸根到底是線性調 度方法,對于復雜的流程和業(yè)務就顯得力不從力,這主要是由于線性調度 方法在調度過程中不能引入調度自身的邏輯。解決線性調度方法的缺點有 很多方法,其中一種是為各種類型的業(yè)務邏輯建立相應的模板,根據具體 業(yè)務在模板中尋找相適應的模板進行調度。這種方法的缺點是由于具體軟 件所涉及的業(yè)務復雜多樣,不可能窮舉所有的邏輯,而且針對每種邏輯要 實現(xiàn)相應的模板,工作非常繁雜。另一種方法是使用非線性的調度方法, 非線性調度方法克服線性調度方法不能引入調度自身的邏輯的缺點,具體 定義流程時,增加業(yè)務邏輯,給業(yè)務流程的流向帶來無限的可能。

發(fā)明內容
本發(fā)明為了克服現(xiàn)有技術中基于模板的線性調度方法的缺點,提供了 一種基于有限狀態(tài)機的非線性流程引擎調度方法,實現(xiàn)簡單,調度靈活。
本發(fā)明提出的基于有限狀態(tài)機的流程引擎調度方法,包括以下處理過

1) 將平臺中的操作流程部分抽取出來; 一
2) 構建流程引擎,在流程引擎中通過有限狀態(tài)機的方式對操作流程進 行調度。
優(yōu)選的,所述步驟2)中通過有限狀態(tài)機的方式對操作流程進行調度 的具體過程為
21) 將操作流程的操作對象設置為有限狀態(tài)機的主題,將主題所處的 位置設置為有限狀態(tài)機的狀態(tài),將操作流程中進行的操作動作設置為有限 狀態(tài)機的動作,將動作包括的功能步驟設置為有限狀態(tài)機的操作;
22) 通過操作、動作觸發(fā)有限狀態(tài)機中狀態(tài)的遷移,實現(xiàn)操作流程的 調度。
優(yōu)選的,所述的有限狀態(tài)機采用獨立組件進行封裝,對外公布狀態(tài)接 口、動作接口和操作接口,由外部服務實現(xiàn)有限狀態(tài)機的狀態(tài)、動作和操 作。
優(yōu)選的,所述有限狀態(tài)機的主題為操作流程上流動的數(shù)據流信息。
優(yōu)選的,所述數(shù)據流信息為以下信息之一基礎數(shù)據信息、業(yè)務信息、 工作流信息。
優(yōu)選的,所述有限狀態(tài)機中動作對應的操作可以動態(tài)調整。
采用本發(fā)明的基于有限狀態(tài)機的流程引擎調度方法,具有如下優(yōu)點
1. 狀態(tài)遷移靈活,可以實現(xiàn)任意的流程操作。由于狀態(tài)遷移是通過動 作來觸發(fā)的,而動作是由不同的操作組成的,動作中的操作的頻次可以隨 時調整,從而帶來了靈活的狀態(tài)遷移。
2. 實現(xiàn)簡單。由于調度方法是在FSM基礎上發(fā)展起來的,F(xiàn)SM本身是
一個比較成熟的方法。本發(fā)明是在FSM的基礎上增加了流程操作相適應的 具體上下文相關的內容,從而實現(xiàn)了流程靈活、快速的調度方法。
3.適用于復雜的流程和業(yè)務。由于本發(fā)明的調度方法是一種非線性調 度方法,由于在調度過程中可以引入調度自身的相關邏輯,因此在調度過 程中適用于各種復雜的流程和業(yè)務。


圖1是現(xiàn)有技術線性流程調度方法示意圖; 圖2是本發(fā)明基于有限狀態(tài)機的流程引擎調度方法示意圖; 圖3是本發(fā)明優(yōu)選實施例中有限調度機組件封裝示意圖; 圖4是本發(fā)明優(yōu)選實施例中調度原理圖。
具體實施例方式
以下結合附圖并通過實施例對本發(fā)明提出的調度方法進行詳細說明。 首先對于現(xiàn)有的調度方法和本發(fā)明的調度方法原理進行說明。如圖2 所示的本發(fā)明調度方法示意圖,與圖1所示的線性調度方法有所區(qū)別,本 發(fā)明的調度方法是在有限調度機的基礎上增加了與流程操作相適應的具體 上下文相關的內容。圖2中,當前的狀態(tài)是"已建立",如果進行發(fā)布動作, 當前狀態(tài)就進入"已發(fā)布"狀態(tài)。圖1調度方法是一種線性調度方法,由于 在調度過程中不能引入調度自身的邏輯,只適用于相對比較簡單的業(yè)務和 流程,而本發(fā)明的調度方法由于其中結合了上下文的具體情況進行調度, 則更適用于比較復雜的業(yè)務和流程。
以下對于本發(fā)明的調度方法進行詳細說明
目前,對于軟件平臺中涉及到操作流程的部分大多進行抽象的方法處 理,對于利用流程引擎來進行調度的方法尚未出現(xiàn)。本發(fā)明就是通過將涉 及到平臺中操作的部分抽取出來,構建一個獨立的流程引擎,來負責操作 流程的調度,并在流程引擎中的調度方法采用有限狀態(tài)機。在構建軟件平 臺過程中,通常涉及到對操作流程的抽象,從而形成框架的流程處理方法。 例如對于一個簡單的基礎數(shù)據維護, 一般由增、冊IJ、改操作,從這個簡 單維護操作可以抽象成已增加、已修改、已刪除三種狀態(tài),而狀態(tài)的遷移 通過增加、修改、刪除三個動作來觸發(fā)。因此,很自然的可以把一個基礎 M維護抽象成一個有限狀態(tài)機。通過對處于某一狀態(tài)的主題施加動作從
而引起狀態(tài)的遷移,最終實現(xiàn)操作的變換。調度過程中涉及到主題、狀態(tài)、 動作、操作等內容。
將操作流程的操作對象設置為有限狀態(tài)機的主題,它是具體存在的業(yè) 務內容,例如用戶信息、角色信息等;主題實際上是操作流程上流動的 數(shù)據流信息,如果沒有主題,流程的變化實際上就沒有意義。這些數(shù)據流 信息可以是基礎數(shù)據信息、業(yè)務信息或者工作流信息。例如對于用戶信息 維護,它的主題可以是用戶信息,包括用戶名稱、編號等主題項目。
將主題所處的位置設置為有限狀態(tài)機的狀態(tài),它為主題當前可以觸發(fā) 的動作指明了方向。
將流程中的業(yè)務操作設置為有限狀態(tài)機的動作,動作是引起主題狀態(tài) 變換的導火線。
將動作包括的功能步驟設置為有限狀態(tài)機的操作;動作一般有多個操 作組成。操作是指完成指定功能的一個業(yè)務, 一個動作中可以包括多個操
作,當然也可以包括o個操作。
此外,由于有限狀態(tài)機的狀態(tài)遷移是通過動作來觸發(fā)的,而動作是由 不同的操作組成的,可以通過對動作中的操作進行動態(tài)調整,從而實現(xiàn)靈 活的狀態(tài)遷移。
最后以用戶信息維護為例具體說明本發(fā)明的調度方法。如圖3所示, 本發(fā)明在具體實施時,可以采用獨立組件來封裝調度,公布回調接口 (包 括狀態(tài)接口、動作接口、操作接口等),由外面服務來實現(xiàn)具體動作、狀態(tài) 和操作。其它組件需要調度服務時,在注冊滿足調度組件要求的接口后, 直接調用調度服務,調度組件通過調度方法進行操作和狀態(tài)遷移。具體步 驟如下
步驟1:實現(xiàn)流程所需的回調接口,包括狀態(tài)接口、動作接口、操作
接口。狀態(tài)接口是指流程需要的狀態(tài),在用戶信息維護中,可能包括已增 加、已修改和已刪除等狀態(tài)。動作接口是指流程可以進行的操作動作。在 用戶信息維護中,可能包括增加、修改和刪除。而操作接口則提出動作包 括的功能步驟。在用戶信息維護中,增加動作可能包括權限檢査、用戶信 息持久化、權限分派等。
步驟2:注冊定義的回調接口。這時在實現(xiàn)上調度組件就知道了各個 回調接口的實現(xiàn)。.
步驟3:需調度服務組件調用調度服務。
步驟4:調度組件根據調度方法(具體指有限調度機),調用回調接口, 進行調度和狀態(tài)遷移。
如圖4所示,在上面的步驟4中,是調度組件進行調度的工作,實際
上最主要的是根據注冊的動作,執(zhí)行動作的操作,然后進行狀態(tài)遷移,具
體如下
4. 1檢查狀態(tài)及動作。調度方法首先進行狀態(tài)及動作關系的檢査,即
檢査動作是否可以應用此狀態(tài)。
4.2執(zhí)行動作。根據注冊的動作,進行執(zhí)行,實際上是執(zhí)行操作,動 作對應的操作有多個。
4. 2. l執(zhí)行操作一。
4. 2. 2執(zhí)行操作二。
4.2.3執(zhí)行操作三。
4.2.4執(zhí)行……。 4.3進行狀態(tài)轉換,到達目的狀態(tài)。
在執(zhí)行上面的全部步驟過程中,都是通過調度方法來控制的。
以上內容是結合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說 明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術 領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,做出的其他若 干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。
權利要求
1.一種基于有限狀態(tài)機的流程引擎調度方法,其特征在于,所述方法包括以下處理過程1)將平臺中的操作流程部分抽取出來;2)構建流程引擎,在流程引擎中通過有限狀態(tài)機的方式對操作流程進行調度。
2. 根據權利要求1所述的基于有限狀態(tài)機的流程引擎調度方法,其特 征在于,所述步驟2)中通過有限狀態(tài)機的方式對操作流程進行調度的具體過程為21) 將操作流程的操作對象設置為有限狀態(tài)機的主題,將主題所處的 位置設置為有限狀態(tài)機的狀態(tài),將操作流程中進行的操作動作設置為有限 狀態(tài)機的動作,將動作包括的功能步驟設置為有限狀態(tài)機的操作;22) 通過操作、動作觸發(fā)有限狀態(tài)機中狀態(tài)的遷移,實現(xiàn)操作流程的 調度。
3. 根據權利要求2所述的基于有限狀態(tài)機的流程引擎調度方法,其特 征在于,所述的有限狀態(tài)機采用獨立組件進行封裝,對外公布狀態(tài)接口、 動作接口和操作接口,由外部服務實現(xiàn)有限狀態(tài)機的狀態(tài)、動作和操作。
4. 根據權利要求2或3所述的基于有限狀態(tài)機的流程引擎調度方法, 其特征在于,所述有限狀態(tài)機的主題為操作流程上流動的數(shù)據流信息。
5. 根據權利要求4所述的基于有限狀態(tài)機的流程引擎調度方法,其特 征在于,所述數(shù)據流信息為以下信息之一基礎數(shù)據信息、業(yè)務信息、工 作流信息。
6. 根據權利要求2或3所述的基于有限狀態(tài)機的流程引擎調度方法, 其特征在于,所述有限狀態(tài)機中動作對應的操作可以動態(tài)調整。
全文摘要
本發(fā)明公開了一種基于有限狀態(tài)機的流程引擎調度方法,包括以下處理過程1)將平臺中的操作流程部分抽取出來;2)構建流程引擎,在流程引擎中通過有限狀態(tài)機的方式對操作流程進行調度。本發(fā)明的調度方法,由于狀態(tài)遷移是通過動作來觸發(fā)的,而動作是由不同的操作組成的,動作中的操作頻次可以隨時調整,從而帶來了靈活的狀態(tài)遷移。本發(fā)明是在有限狀態(tài)機的基礎上增加了流程操作相適應的具體上下文相關的內容,從而實現(xiàn)了流程靈活、快速的調度方法。本發(fā)明的調度方法是對有限狀態(tài)機技術應用的發(fā)展。
文檔編號G06F9/44GK101174206SQ20071007751
公開日2008年5月7日 申請日期2007年11月27日 優(yōu)先權日2007年11月27日
發(fā)明者章文理 申請人:深圳國人通信有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1