工作流資源模式 - 推模式9種

在創建階段,工作流系統根據不同的創建模式爲活動產生了工作項,併爲工作項限定了資源 範圍。接下來,系統將工作項與已限定的資源進行匹配,推送給相關的資源執行,資源本身不做 選擇,我們把這種方式稱爲“推式驅動”,系統將工作項推送給資源。

在前面我們已經瞭解到,工作流系統通過工作項管理器即不同類型的工作項列表與用戶進行 交互,所以這裏的推送也可以理解爲系統將生成的工作項推送至相應資源的工作項列表裏。

如圖B-22所示,推模式對應着工作項生命週期裏三種狀態的變遷,即提供給一個資源拾取、 提供給多個資源拾取(這些資源中只會有一個會實際執行,屬於競爭關係)、指派給一個資源負 責執行。

圖B-22 工作項生命週期裏的推模式

推模式共有9種,分爲3組,如圖B-23所示。

圖B-23 推模式

第一組包括提供給單個資源、提供給多個資源和 指派給單個資源,關注工作項推送的最終分配狀態;第二組包括隨機指派、循環指派和最短隊列 指派,關注當工作項分配給角色、部門等包含多個資源的資源組時,如何從中確定最終的一個資 源並進行指派;第三組包括提前分配、即時分配和推後分配,關注將工作項推送給用戶的時機。

  1. 提供給單個資源:在非綁定的基礎上將工作項推送給單個資源。
  2. 提供給多個資源:在非綁定的基礎上將工作項推送給多個資源。
  3. 指派給單個資源:在綁定的基礎上將工作項推送給單個資源。
  4. 隨機指派:當存在多個資源可供選擇時,從中隨機選擇一個資源進行工作項的指派。
  5. 循環指派:當存在多個資源可供選擇時,循環選擇其中一個資源進行工作項的指派。
  6. 最短隊列指派:當存在多個資源可供選擇時,選擇其中一個具有最少待辦工作即最短工 作隊列的資源進行工作項的指派。
  7. 提前分配:在工作項實際可以執行之前即將該工作項通知或潛在的分配給資源,提前預熱。
  8. 即時分配:在工作項實際可以執行時將該工作項分配給資源。
  9. 推後分配:在工作項實際可以執行後的某個時間纔將該工作項分配給資源,減少資源負載,提高流程實例吞吐量。

提供給單個資源(WRP_12: Distribution by Offer - Single Resource)

描述

能夠在非綁定的基礎上將工作項推送給單個資源。

如圖B-24所示,活動A工作項被系統推送至員工甲的可拾取列表。這意味着員工甲不必爲該 工作負責,他可以選擇執行該工作也可選擇忽略或拒絕。如果他選擇拒絕或忽略且工作項超時, 那麼會導致系統對該工作項的重新分配。如果他選擇執行該工作,那麼他首先需要拾取該工作項, 這會使該工作項進入他的待辦列表,意味着其必須對該工作負責。

圖B-24 提供給單個資源

應用

資源能夠將工作與自己進行匹配,選擇執行工作。

提供給多個資源(WRP_13: Distribution by Offer – Multiple Resource)

描述

能夠在非綁定的基礎上將工作項推送給多個資源。

如圖B-25所示,活動A所生成的工作項被推送給多個員工的可拾取列表。這些員工不必爲該 工作負責,他們可以選擇執行該工作也可選擇忽略或拒絕。如果他們都選擇拒絕或忽略且工作項 超時,那麼會導致系統對該工作項的重新分配。如果有一名員工選擇執行該工作,那麼該工作項 進入他的待辦列表,其他員工將不再具有拾取該工作項的機會。

應用

資源能夠將工作與自己進行匹配,選擇執行工作。多個資源選擇,競爭執行。

圖B-25 提供給多個資源

指派給單個資源(WRP_14: Distribution by Allocation – Single Resource)

描述

能夠在綁定的基礎上將工作項推送給單個資源。

如圖B-26所示,活動A工作項被系統推送至員工甲的待辦列表。這意味着員工甲必須爲該工 作負責。

圖B-26 指派給單個資源

應用

直接指定工作責任人。

隨機指派(WRP_15: Random Allocation)

描述

當存在多個資源可供選擇時,能夠從中隨機選擇一個資源進行工作項的指派。

如圖B-27所示,活動A所生成的工作項在創建階段分配給了開發人員這一角色,在推送階段, 系統會隨機選取一名開發人員負責該工作項的執行。

圖B-27 隨機指派

應用

提供了一種指派資源的非確定性機制。

循環指派(WRP_16: Round Robin Allocation)

當存在多個資源可供選擇時,能夠循環選擇其中一個資源進行工作項的指派。示例見圖B-28。

圖B-28 循環指派

應用

不患貧而患不均,平等/平均的分配工作。

最短隊列指派(WRP_17: Shortest Queue)

描述

當存在多個資源可供選擇時,能夠選擇其中一個具有最少待辦工作即最短工作隊列的資源進 行工作項的指派。示例見圖B-29。

圖B-29 最短隊列指派

應用

該模式的目的在於能夠最快開始工作的執行,找出相比而言最爲空閒的資源迅速開始工作。 但是實際應用中,僅僅依靠工作的數量來判斷資源是否空閒是不可靠的,因爲不同工作甚至同一 種工作在不同時間都存在着難易之分。

提前分配(WRP_18: Early Distribution)

描述

能夠在工作項實際可以執行之前即將該工作項通知或潛在的分配給資源。示例見圖B-30。

圖B-30 提前分配

應用

該模式強調的是預先計劃,即管理的計劃性。從某種意義上說,稍微複雜一點的工作都應該 做到提前通知、提前準備,做到提前預熱。

即時分配(WRP_19: Distribution on Enablement)

描述

能夠在工作項實際可以執行時將該工作項分配給資源。

應用

機械性的工作(生產流水線),重複單一高度標準化的工作,無計劃性的工作,如各種突發 情況的處理。

推後分配(WRP_20: Late Distribution)

描述

能夠在工作項實際可以執行後的某個時間纔將該工作項分配給資源。示例見圖B-31。

圖B-31 推後分配

應用

在實際觸發工作項的執行之前,考慮其他一些因素:當前組織是否有足夠的資源,當前組織 的負載等,保證組織和資源對工作的負載處於一種良好的狀態,避免出現圖B-32所示的情況。同 時,加快對正處理流程實例的執行速度。

圖B-32 工作負荷超出組織能力

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章