以下是 Flowable 全模块数据表详解(涵盖 6大模块约90张表,基于Flowable 6.8.0)。按模块分类解析表结构、设计意图及关键字段,助您彻底掌握Flowable数据模型:
一、流程仓库(Repository)
存储静态流程定义资源(BPMN/DMN/Form)
| 表名 | 核心作用 | 关键字段说明 |
|---|---|---|
| ACT_RE_DEPLOYMENT | 部署单元(一次部署操作) | ID_(UUID), DEPLOY_TIME_(部署时间), KEY_(业务标识) |
| ACT_RE_PROCDEF | 核心表:流程定义元数据 | ID_(格式key:version:randomId), KEY_(BPMN中process id), VERSION_, SUSPENSION_STATE_(挂起状态) |
| ACT_RE_MODEL | 流程设计器创建的模型 | EDITOR_SOURCE_VALUE_ID_(关联模型JSON), EDITOR_SOURCE_EXTRA_VALUE_ID_(缩略图) |
| ACT_GE_BYTEARRAY | 核心表:存储所有二进制资源 | DEPLOYMENT_ID_(关联部署), BYTES_(BPMN/PNG/变量序列化值), GENERATED_(引擎生成标识) |
| ACT_GE_PROPERTY | 引擎元数据表 | NAME_(如schema.version/next.dbid), VALUE_(当前值) |
二、运行时(Runtime)
存储正在运行的流程实例、任务、变量
| 表名 | 核心作用 | 关键字段说明 |
|---|---|---|
| ACT_RU_EXECUTION | 核心表:流程执行实例(含流程实例) | PROC_INST_ID_(流程实例ID), BUSINESS_KEY_, ACT_ID_(当前节点ID), IS_SCOPE_(作用域标识) |
| ACT_RU_TASK | 核心表:用户待办任务 | EXECUTION_ID_, TASK_DEF_KEY_(BPMN任务ID), ASSIGNEE_, DUE_DATE_, SUSPENSION_STATE_ |
| ACT_RU_VARIABLE | 核心表:运行时变量 | TYPE_(变量类型), BYTEARRAY_ID_(大对象指针), DOUBLE_/LONG_/TEXT_(基础类型存储) |
| ACT_RU_IDENTITYLINK | 任务参与者(候选组/人) | TYPE_(assignee/candidate), GROUP_ID_, USER_ID_ |
| ACT_RU_JOB | 异步作业(核心执行器) | TYPE_(message/timer), EXCLUSIVE_(排他锁), RETRIES_, DUEDATE_ |
| ACT_RU_TIMER_JOB | 定时器作业 | 同ACT_RU_JOB,存储未到触发时间的作业 |
| ACT_RU_SUSPENDED_JOB | 挂起的作业 | 当流程挂起时转移至此表 |
| ACT_RU_DEADLETTER_JOB | 死信作业(重试失败) | EXCEPTION_STACK_ID_(错误堆栈指针) |
| ACT_RU_EVENT_SUBSCR | 事件订阅(消息/信号) | EVENT_TYPE_, EVENT_NAME_, ACTIVITY_ID_ |
三、历史(History)
流程执行痕迹审计(即使流程结束仍保留)
| 表名 | 核心作用 | 关键字段说明 |
|---|---|---|
| ACT_HI_PROCINST | 历史流程实例 | START_TIME_/END_TIME_, DURATION_(耗时ms), START_USER_ID_, DELETE_REASON_ |
| ACT_HI_ACTINST | 核心表:所有节点历史轨迹 | ACT_NAME_(节点名称), ACT_TYPE_(类型), START_TIME_/END_TIME_, ASSIGNEE_ |
| ACT_HI_TASKINST | 任务历史(比ACT_HI_ACTINST更详细的任务数据) | CLAIM_TIME_(签收时间), WORK_TIME_(处理时长) |
| ACT_HI_VARINST | 历史变量变更记录 | VAR_TYPE_, CREATE_TIME_(首次创建), LAST_UPDATED_TIME_(最后修改) |
| ACT_HI_DETAIL | 详细变更日志(history-level=full时启用) | TYPE_(VariableUpdate/FormProperty), 记录每次变量修改 |
| ACT_HI_COMMENT | 批注信息 | TYPE_(comment/event), ACTION_(如AddUserLink), FULL_MESSAGE_(内容) |
| ACT_HI_ATTACHMENT | 附件记录 | NAME_, DESCRIPTION_, URL_, CONTENT_ID_(关联ACT_GE_BYTEARRAY) |
| ACT_HI_IDENTITYLINK | 参与者历史 | 记录任务办理人/候选人变更 |
四、身份(Identity - 可选)
用户/组管理(生产环境建议集成外部系统)
| 表名 | 核心作用 | 关键字段说明 |
|---|---|---|
| ACT_ID_USER | 用户信息 | FIRST_, LAST_, EMAIL_, PWD_ |
| ACT_ID_GROUP | 用户组 | NAME_, TYPE_(security/assignment) |
| ACT_ID_MEMBERSHIP | 用户-组关系 | USER_ID_, GROUP_ID_ |
| ACT_ID_INFO | 用户扩展属性 | KEY_, VALUE_, PASSWORD_(加密存储) |
| ACT_ID_TOKEN | 登录Token | TOKEN_VALUE_, IP_ADDRESS_, USER_AGENT_ |
| ACT_ID_PRIV | 权限定义(新版本弃用) |
五、表单(Form - 可选)
引擎原生表单管理
| 表名 | 核心作用 |
|---|---|
| ACT_DE_FORM_DEFINITION | 表单定义 |
| ACT_DE_FORM_DEPLOYMENT | 表单部署 |
| ACT_DE_FORM_RESOURCE | 表单资源 |
| ACT_DE_FORM_MODEL_RELATION | 表单与流程模型关联 |
六、决策引擎(DMN)
规则决策表管理
| 表名 | 核心作用 |
|---|---|
| ACT_DMN_DEPLOYMENT | DMN部署单元 |
| ACT_DMN_DEPLOYMENT_RESOURCE | DMN资源关联 |
| ACT_DMN_DECISION_TABLE | 决策表定义 |
| ACT_DMN_HIT_POLICY | 命中策略配置 |
| ACT_DMN_DECISION_EXECUTION | 决策执行历史 |
七、事件日志(Event Logging)
分布式场景事件追踪
| 表名 | 核心作用 |
|---|---|
| ACT_EVT_LOG | 事件日志(事务一致性保障) |
| FLW_EVENT_DEPLOYMENT | 事件部署信息 |
八、内容引擎(Content - 可选)
大文件管理
| 表名 | 核心作用 |
|---|---|
| ACT_CO_CONTENT_ITEM | 内容项元数据 |
| ACT_CO_RESOURCE | 物理文件存储 |
| ACT_CO_DEPLOYMENT | 内容部署 |
表关系全景图
关键设计思想与生产建议
-
运行时与历史分离
RU_表:仅存活跃数据,流程结束即删除(任务/变量/执行实例)HI_表:永久审计,需定期归档(尤其ACT_HI_ACTINST易成性能瓶颈)
-
变量存储策略
-
作业执行体系
-
生产优化建议
- 索引优化:为
ACT_HI_PROCINST(END_TIME_),ACT_RU_TASK(CREATE_TIME_)加复合索引 - 历史清理:配置
AsyncHistoryCleanupJob定期清理 - 禁用非必要模块:如不需DMN/Form引擎,移除相关jar包减少表数量
- 变量最小化:避免在
ACT_RU_VARIABLE存储大对象(>10KB)
- 索引优化:为
完整建表脚本路径:
flowable-engine-6.8.0.jar!/org/flowable/db/create/flowable.mysql.create.engine.sql
掌握此表结构体系,便能:
✅ 精准诊断流程卡点
✅ 设计高效历史报表
✅ 优化数据库性能
✅ 深度定制引擎行为
1749

被折叠的 条评论
为什么被折叠?



