流程引擎的總結

2021-12-24 22:22:17 字數 1916 閱讀 3753

流程引擎的總結 (入選推薦日誌,加10幣)

這兩天把流程引擎剛剛寫好,還差好幾個功能模組所以還沒來得及測試一下:( 流程引擎的複雜有些超乎想象,先把這幾天的工作小小的總結一下:

一、流程的種類

為了和現實中的工作對應起來,我把流程分為了四種:

1 固定流程:流程以及流程引數不可變更。這主要是用於簡單而清晰的日常工作

2 可調流程:流程所定義的各級工作環節不可變更,但具體執行時的流程引數可以調整。目前主要是時間引數可以調整,主要是用於根據需要指定完成日期的工作,比如交貨期有一定彈性的情況,未來還考慮拆單、併單的統一處理。

這應該是未來的主要使用中的流程情況

3 可擴充套件流程:流程只定義了一些大的里程碑,其它環節通過虛節點可以在流程實際執行中動態的擴充套件為實際的任務或子流程。這主要是考慮和專案管理的相容

4 特殊流程:就是空流程,完全在實際執行中進行動態定義。這主要是用於那些一次性的、不太熟悉的工作,但就管理的角度來看,交辦領導又希望能看到工作的進展情況

流程引擎最複雜的其實是在對流程的調控上,本來除了時間引數的控制,筆者還希望可以通過任務/子流程的狀態來實現任務之間的同步等協調控制,但需要跟蹤記錄的東東太多了,對於乙個基礎性的版本來說實在是太複雜,所以只好放到以後再實現啦:(

二、流程的驅動

一般所實現的流程都是任務驅動,但實際的工作有相當部分應該是屬於資源驅動的。任務驅動對映到資訊系統中就是命令驅動,而資源驅動對映到資訊系統就是資料驅動,但由於流程和一般的邏輯控制轉換不同,存在必須當所有的前驅任務全部完成才可以執行的情況,這種情況下筆者引入了petri網中的token和庫所的概念進行邏輯表達,但使用了token以後,則控制驅動就資訊系統的角度來看也就是資料驅動了,所以本質上流程的驅動其實都是資料驅動的。這樣的話,筆者的這個流程引擎其實也完全可以用於資源驅動的情況,當然,目前的基礎版本還沒有匯入資料模組,所以還不存在支援資源驅動的可能。

三、任務執行者的指派

對於實際執行的任務的指派,這個問題實際上更複雜。因為有請假、輪班等等情況的存在,所以必須嚴格區分角色和實際使用者,筆者認為組織中所有的崗位規劃和任務定義都是針對角色的,但乙個人可以同時在多個企業工作,在乙個企業也可以有多種角色。這樣的話就存在乙個嚴重的問題,實際執行中的任務應該如何分發呢?!

筆者認為任務就應該按照角色來排程,同時給每個使用者分配乙個角色列表形成實際上的多級佇列。為了便於管理,同時也要考慮到不同角色、不同任務、不同個人所導致的任務重要程度是不同的,所以任務的排程是基於所有這些因素所決定的乙個優先順序進行排程的。目前這個優先順序只反映了流程、任務、發起者等等的重要程度,因為沒有匯入資料模組,所以還無法反映流程執行延誤等緊急情況,當然按照要事第一的原則,重要程度本來就是遠遠高於緊急程度的:

)考慮到這些,筆者將任務指派實現為任務實際排程時動態決定,具體可分為固定指派、臨時指派、動態指派等等情況,這裡乙個最大的問題就是如果是臨時指派或是動態指派,那麼當被替班或是輪班者到來以後而此時任務尚未結束,那麼是保留由替班者繼續執行還是強制切換給被替班者呢?!好在筆者在實現任務時使用了狀態機,其中有排隊、掛起、執行等等,那麼強制切換就相當於:

1 替班者掛起正在執行的任務;

2 結束臨時指派;

3 被替班者恢復掛起的任務;

4掛起的任務進行角色的任務佇列排隊;

5系統再次對該任務進行動態指派分發給原有的使用者。

四、後繼工作

筆者認為流程系統欲在實際的業務管理中得到有價值的使用,其必須要實現自動化、自動規劃、動態可調,而這些目標的基礎就是資料的匯入。自動化的前提是業務邏輯和業務資料的有效分離,自動規劃是資源的合理表達,動態可調則需要對流程的運**況全面跟蹤。

下一步的關鍵就是自動化的實現,筆者的流程引擎目前只是實現了流程的自動化,但任務都還是手工任務。所以後面的版本就需要盡可能的實現可以計算機化的任務的自動化。但這個問題比較複雜,需要和實際的業務模組一起開發。

動態可調意義相對不大,自動規劃面向複雜的業務需求,而且這兩者還存在衝突,所以對這兩者的引入就要在遙遠的未來版本中考慮了:)

引擎的保養

引擎是你的車子中修理起來最貴的一部份。一旦引擎部份要大修,往往不如把車子賣了再換一輛來得容易,因此引擎的保養特別重要。引擎的保養分為三部份 冷卻系統,啟動系統,以及排氣系統。以下分就此三部份加以說明 一 冷卻系統 開車前先確定所有的油料是否正常,因油是來潤滑機械磨擦及有降溫作用,萬一缺少會產生當機。...

最早的汽油噴射引擎 機械噴射引擎

早期汽車的引擎燃油控制系統主要是以傳統的化油器為主,在我國這種控制系統甚至一直到現在依然存在。但是化油器存在諸如易發生氣阻 結冰 節氣門響應不靈敏等現象,在多缸發動機中供油不勻,引起工作不穩 不利於大功率設計。為了彌補這些缺陷,燃油噴射引擎應運而生。汽油噴射系統作為汽油發動機的燃油輸送系統,已有多年...

從引擎平順性談完美平衡的引擎結構

從引擎平順性談完美平衡的引擎結構 v12 引擎 從引擎平順性談完美平衡的引擎結構 v12 引擎 作者 徐業良 內燃機式汽車引擎是一項已經發展百餘年,非常成熟的科技。您如果翻翻內燃機 引擎的教科書,會發現一百多年來,汽車工程師嘗試了各種各樣有趣而迷人的設計,目的不外乎提公升引擎的動力效能 省油效率,減...