天天看點

flowable38張表含義說明前言:表名規則:總結:

前言:

是要對flowable的表先有全面的認識,對深入研究flowable作個鋪墊。網上的内容也不是很全,是以整合網上各個來源,加上自己實踐過程中的認識整理出來以下内容。

表名規則:

目前一共38張表

Activiti 使用到的表都是 ACT_ 開頭的。表名的第二部分用兩個字母表明表的用途。

  • ACT_GE_ (GE) 表示 general 全局通用資料及設定,各種情況都使用的資料。
  • ACT_HI_ (HI) 表示 history 曆史資料表,包含着程執行的曆史相關資料,如結束的流程執行個體,變量,任務,等等
  • ACT_ID_ (ID) 表示 identity 組織機構,使用者記錄,流程中使用到的使用者群組。這些表包含辨別的資訊,如使用者,使用者組,等等。
  • ACT_RE_ (RE) 表示 repository 存儲,包含的是靜态資訊,如,流程定義,流程的資源(圖檔,規則等)。
  • ACT_RU_ (RU) 表示 runtime 運作時,運作時的流程變量,使用者任務,變量,職責(job)等運作時的資料。Activiti 隻存儲執行個體執行期間的運作時資料,當流程執行個體結束時,将删除這些記錄。這就保證了這些運作時的表小且快。

act_evt_log

Flowable引入了事件日志機制。日志機制基于Flowable引擎的事件機制,并預設禁用。總的來說,來源于引擎的事件會被捕獲,并建立一個包含了所有事件資料(甚至更多)的map,提供給org.flowable.engine.impl.event.logger.EventFlusher,由它将這些資料儲存其他地方。預設情況下,使用簡單的基于資料庫的事件處理器/儲存器,用Jackson将上述map序列化為JSON,并将其作為EventLogEntryEntity執行個體存入資料庫。預設會在資料庫中建立ACT_EVT_LOG表儲存事件日志。如果不使用事件日志,可以删除這個表。

act_ge_bytearray

每個流程的部署記錄,bytes_字段中存儲流程的具體内容。每次啟動時都會預設部署process目錄下的流程檔案,執行

repositoryService.createDeployment().deploy方法也會部署流程。

act_ge_property

flowable自身的一些變量,主要是版本号。

act_hi_actinst

曆史執行的所有流程節點的内容。

act_hi_attachment

流程曆史附件表。

附件自身主要是帶上了url。

flowable38張表含義說明前言:表名規則:總結:
flowable38張表含義說明前言:表名規則:總結:

可以對任務添加附件。

act_hi_comment

流程的曆史評論表

評論嘛,就帶了個string的fullMessage

flowable38張表含義說明前言:表名規則:總結:
flowable38張表含義說明前言:表名規則:總結:

act_hi_detail

流程中曆史産生的變量詳情。

(在流程中指定變量,流程流轉時傳入變量,作業務處理,比如判斷稽核通過還是拒絕)

act_hi_entitylink

曆史參與的人員表

内部是維護一個scopeId及其關聯的scopeId。

每一個task任務屬于一個scopeId(需要再研究一下)

flowable38張表含義說明前言:表名規則:總結:

act_hi_identitylink

記錄每一個曆史節點的使用者(可能是group可能是user)。

act_hi_procinst

每一個曆史流程,建立時就生成,一條流程實(process)例對應一個記錄。

act_hi_taskinst

記錄每一個曆史節點,一個task對應一個記錄。

act_hi_tsk_log

每一次執行(execution)可能會帶上資料,存在這裡(data),沒有生成過。

HistoricTaskLogEntry類

act_hi_varinst

維護所有的曆史變量

act_id_bytearray

使用者組的部署内容

act_id_group

所有使用者組的資訊

act_id_info

所有使用者的資訊,賬号密碼

act_id_membership

使用者和使用者組的關系

act_id_priv

權限表

act_id_priv_mapping

使用者權限關系表

act_id_property

使用者的變量,存了版本号。

act_id_token

使用者通路記錄

act_id_user

使用者基本資訊,包括郵箱等

以上幾張使用者表是對flowable idm的使用者管理體系,可以配置使用者對api的調用權限。

flowable38張表含義說明前言:表名規則:總結:

act_procdef_info

流程定義資訊,對流程的說明

act_re_deployment

流程部署記錄,每次服務重新開機會部署一次,這邊新增一條記錄。

act_re_model

建立模型時,額外定義的一些模型相關資訊,存在這張表,預設不存。

act_re_procdef

記錄流程的變更,流程每變更一次存一條,version_加1

act_ru_suspended_job

act_ru_deadletter_job

act_ru_timer_job

  • ServiceTask異步任務會産生異步任務,存放在一般工作表act_ru_job中。
  • 定時任務會産生定時的任務,在定時時間未到達之前會存放在定時工作表act_ru_timer_job中。
  • 挂起任務,比如将未到時間的定時任務手動暫停,則會存放在挂起任務表act_ru_suspended_job中。
  • 不可執行任務,如果任務執行失敗,并且在重試次數用完的情況下也沒有成功執行,則任務會存放到不可執行任務表act_ru_deadletter_job中。
  • 激活後會把資料再放回act_ru_timer_job表中。
  • https://blog.csdn.net/ldqchat/article/details/81837121

act_ru_history_job

目前流程所有曆史執行的任務

但是因為如果流程結束,就查不到這些任務

是以雖然是曆史,但是也命名成了act_ru。

https://forum.flowable.org/t/what-act-ru-history-job-is-used-for/5383

act_ru_job

運作時的定時任務記錄表

act_ru_event_subscr

運作時事件 throwEvent、catchEvent 時間監聽資訊表(目前我們這邊都沒用到過哈。。)

flowable38張表含義說明前言:表名規則:總結:

act_ru_execution

act_ru_entitylink

act_ru_identitylink

act_ru_task

act_ru_variable

同上act_hi對應表。

總結:

通過整理表,發現flowable還:

對task提供了很多配置,包括添加附件、評論,以及設定tenant多租戶區分權限;

對自動任務作了完善的機制(包括多次失敗、重新激活等類型任務的記錄維護);

同時也維護了一套使用者管理權限,可以基于它實作一套工作流建構的服務。

參考:

https://www.devdoc.cn/activiti-table-summary.html

https://blog.csdn.net/hj7jay/article/details/51302829