以下是 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
掌握此表结构体系,便能:
✅ 精准诊断流程卡点
✅ 设计高效历史报表
✅ 优化数据库性能
✅ 深度定制引擎行为