業務工作流引擎排程演算法簡析 一

2021-05-12 19:32:54 字數 2536 閱讀 2629

在工作流系統中,系統排程是核心,排程演算法的生效程度和成熟性直接決定了工作流系統的可用性。本文章描述工作流如何推進和回退,並且描述在分之、合併、跳轉等特殊情況下的流轉規則處理。

1.1 流程例項

1.2 啟動節點(start-state)

1.3 終止節點(end-state)

1.4 活動節點(activety node)

活動節點是流程中最主要的節點,也是最複雜的節點。系統執行到該節點時將根據規則定義產生任務項(task item),任務項是使用者與工作流進行交換唯一途徑。

在活動節點需要各種各樣的規則,包括以下幾個方面:

u 節點業務屬性

ø 業務功能定義,定義該節點所關聯的業務

ø 變數定義,包括本身節點變數定義和取公有變數節點定義

ø 啟動條件定義,定義該節點在什麼條件下啟動。

u 流程執行規則

ø 執行者範圍定義,定義該節點哪些部門或角色或個人可以執行。

ø 是否可以終止,定義該節點是否可以終止流程。

ø 生效條件定義,定義該節點執行生效表示式。

ø 限時處理定義,定義該節點處理時限。

ø 協作規則定義,定義該節點協作方式,包括任務分配方式、任務執行方式和任務搶占方式。

u 流程回退規則

ø 能否回退標記,指示該節點是否可以執行回退操作

ø 回退忽略標記,指示系統回退時,該節點是否忽略。

ø 生效條件定義,定義該節點回退生效條件表示式。

ø 回退模式定義,定義從該節點如何執行回退

ø 回退環節定義,如果回退模式定義定義為指定環節,則需要定義回退環節。

ø 回退確認標記,指示該節點回退時,是否需要進行提示。

u 流程合併規則

ø 合併流程標記,指示該節點執行合併操作時,是否對流程進行合併。

ø 生效條件定義,定義該節點合併生效條件表示式

u 流程跳轉規則

ø 生效條件定義,定義該節點跳轉生效表示式

ø 任務等待方式,定義跳轉時,如何處理未完成任務的情況。

ø 跳轉條件定義,定義該節點在什麼情況下進行跳轉。

u 流程**規則

ø 能否**定義,指示該節點是否可以執行**操作。

ø **範圍定義,定義該節點可以**給哪些人。

ø 生效條件定義,定義該節點**生效條件表示式。

ø **確認標記,指示該節點**時,是否需要進行提示

u 流程通知提醒規則

ø 生效條件定義,定義該節點通知生效表示式

ø 通知接收範圍定義,定義該節點哪些人可以接收通知。

ø 通知模式定義,定義何時進行通知。

ø 通知內容定義,定義通知時傳送的內容

1.5 條件節點(condition node)

條件節點用來用來定義流程流轉條件,用來控制流程流轉方向

條件節點需要定義以下內容:

u 條件表示式,用來計算條件值

1.6 事件節點(event node)

事件節點用來定義流程在流轉過程進行外部互動的操作,如傳送郵件、傳送簡訊等等操作。

事件節點不需要使用者介入操作,由系統自動完成,因此,也不需要生成工作任務項(task item)。

工作流系統提供抽象供使用者實現事件節點邏輯,工作流在例項執行過程中,自動**該介面完成操作。

事件節點需要定義以下內容:

u 生效條件定義,定義該節點有效條件,如果條件無效,則忽略該節點,自動流轉到下乙個節點。

1.7 子流程節點(sub process node)

子流程節點用來用來定義在工作流程過程呼叫另外乙個流程的功能,系統不在子流程產生定工作任務項(task item),但可以產生通知提示。

在子流程節點需要各種各樣的規則,包括以下幾個方面:

u 節點業務屬性

u 子流程回退規則

1.8 外部系統呼叫節點

業務系統在執行過程中,需要與其它系統進行資料交換(即呼叫其它系統一些介面等),外部系統呼叫節點就是用來完成該項任務。

工作流系統提供一套抽象的業務介面,供工作流程開發人員實現,系統在執行該節點自動**該介面,完成與其它系統交換的功能。

外部系統呼叫節點定義包括以下內容:

1.9 分支條件節點(split node)

分支條件節點是業務流程定義過程中非常重要節點,用來控制流程流向。

分支條件節點有以下三種:

分支條件節點不會產生工作任務項(task item),系統流轉到該環節時自動處理,並流轉到下個節點。

分支條件節點定義包括以下內容:

1.10 合併節點(join node)

合併節點是合併多個流入節點,控制任務流轉。

合併節點不會產生工作任務項(task item),系統流轉到該環節時自動處理,並流轉到下個節點。

合併節點包括兩種型別:

或合併節點(or join node):不等待所有流入節點完成任務,任何乙個流入節點都直接通過。

合併節點定義包括以下:

u 流程合併規則定義

u 回退規則定義

1.11 邏輯節點(logic node)

邏輯節點是用來聯合多個條件節點,以控制流程流向。

邏輯節點包括三種型別:

業務工作流平台設計 六

鎖定處理 在前面的文章我已經講過,把使用者資料的收集同工作流例項中分離出來。資料的儲存也就很可能地進行了分離。這種資料的分離會要求我們去做更多的工作 l 維護工件 如稿件,任務等要在工作流中進行加工的東西 與工作流例項的關係。我們用 wf自帶的 sqlworkflowpersistenceservi...

實戰筆記 分布式排程 工作流引擎

一 分布式排程 spring schedler 分布式鎖 quartz xxl job xxl job架構 實現 xxl job定義了兩個介面executorbiz,adminbiz executorbiz scheduler 呼叫者 executor 實現方 介面中封裝了心跳,暫停,觸發執行等操作...

乙個工作流的業務例子

乙個工作流的業務例子 學工作流要有例子,憑空想像的例子與真實的應用是有差距的,看了一下以前幹過的例子,工控涉汲硬體控作不適業當例子。有些業務性又太強,光理解業務就要好久。發現這個與行政許可相關的例子還不錯,與日常生活也比效接近,就把業務遊程圖與系統流程圖傳上來了。以下檔案是jpg格式,只是將副檔名改...