首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Flowable流程引擎数据库表结构详解:BPMN文件与运行时数据存储

Flowable流程引擎数据库表结构详解:BPMN文件与运行时数据存储

原创
作者头像
高老师
修改2025-07-11 09:51:59
修改2025-07-11 09:51:59
9390
举报

Flowable流程引擎数据库表结构详解:BPMN文件与运行时数据存储

引言

在Flowable流程引擎中,BPMN文件的存储与运行时数据的管理依赖于精心设计的数据库表结构。本文将深入解析流程定义表、运行时数据表和历史表的核心作用,帮助开发者理解数据存储机制,为流程调试与性能优化提供参考。

一、流程定义表:BPMN文件的存储核心

1.1 ACT_RE_DEPLOYMENT(部署记录表)

  • 作用:记录每次部署操作的基本信息
  • 关键字段
    • ID_:部署记录唯一标识
    • NAME_:部署包名称(如loan-process.zip
    • DEPLOY_TIME_:部署时间戳
  • 特点:不存储BPMN XML内容,仅记录部署元数据

1.2 ACT_RE_PROCDEF(流程定义表)

  • 作用:存储已部署流程的具体定义
  • 关键字段
    • ID_:流程定义ID(格式:流程Key:版本:随机码
    • KEY_:流程唯一标识(与BPMN文件id属性对应)
    • VERSION_:流程版本号(自动递增)
    • DGRM_RESOURCE_NAME_:关联的图片资源名称
  • 特点:通过DEPLOYMENT_ID_字段与部署表关联

1.3 ACT_GE_BYTEARRAY(资源文件表)

  • 作用:存储二进制资源文件(BPMN XML的核心存储)
  • 关键字段
    • BYTES_:压缩后的BPMN XML内容(BLOB类型)
    • NAME_:资源文件名(如loan-process.bpmn20.xml
  • 查询示例:SELECT BYTES_ FROM ACT_GE_BYTEARRAY WHERE NAME_ = 'loan-process.bpmn20.xml';

二、运行时数据表:动态流程状态管理

2.1 ACT_RU_TASK(运行时任务表)

  • 作用:跟踪当前活动的用户任务
  • 关键字段
    • ASSIGNEE_:任务当前办理人
    • OWNER_:任务创建者
    • PROC_INST_ID_:所属流程实例ID
  • 状态迁移:任务完成时数据会转移至历史表

2.2 ACT_RU_IDENTITYLINK(用户任务关联表)

  • 作用:存储任务候选人与组信息
  • 典型数据场景:-- 查询候选人 SELECT USER_ID_ FROM ACT_RU_IDENTITYLINK WHERE TYPE_ = 'candidate' AND TASK_ID_ = '123';

2.3 ACT_RU_VARIABLE(运行时变量表)

  • 作用:存储流程实例的临时变量
  • 变量类型支持
    • 基础类型(String, Integer)
    • 序列化对象(需实现Serializable接口)
  • 表达式存储:当变量作为表达式值时(如${approver}),会被存储在此表

2.4 ACT_RU_EXECUTION(执行流表)

  • 作用:跟踪流程实例的执行路径
  • 关键概念
    • 主执行流(Root Execution)
    • 并行网关产生的子执行流

三、历史表:流程数据的完整轨迹

3.1 历史数据特性

  • 数据保留策略:默认永久存储(需配置history属性为auditfull
  • 数据清理建议:定期执行DELETE FROM ACT_HI_*语句

3.2 核心历史表解析

表名

关键字段

典型应用场景

ACT_HI_TASKINST

STARTTIME, ENDTIME

任务处理时长分析

ACT_HI_VARINST

LASTUPDATED_TIME

变量变更历史追溯

ACT_HI_IDENTITYLINK

GROUPID, USERID

审计用户操作权限

3.3 表达式缓存问题

  • 现象:修改BPMN文件后,历史实例仍使用旧表达式
  • 原因:历史表ACT_HI_VARINST存储了表达式执行结果
  • 解决方案:-- 清除历史变量(谨慎操作) DELETE FROM ACT_HI_VARINST WHERE PROC_INST_ID_ = 'old_instance_id';

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Flowable流程引擎数据库表结构详解:BPMN文件与运行时数据存储
    • 引言
    • 一、流程定义表:BPMN文件的存储核心
      • 1.1 ACT_RE_DEPLOYMENT(部署记录表)
      • 1.2 ACT_RE_PROCDEF(流程定义表)
      • 1.3 ACT_GE_BYTEARRAY(资源文件表)
    • 二、运行时数据表:动态流程状态管理
      • 2.1 ACT_RU_TASK(运行时任务表)
      • 2.2 ACT_RU_IDENTITYLINK(用户任务关联表)
      • 2.3 ACT_RU_VARIABLE(运行时变量表)
      • 2.4 ACT_RU_EXECUTION(执行流表)
    • 三、历史表:流程数据的完整轨迹
      • 3.1 历史数据特性
      • 3.2 核心历史表解析
      • 3.3 表达式缓存问题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档