Flowable工作流引擎表用途整理

Flowable工作流引擎表用途整理Flowable 表用途说明 1 Flowable 数据库表命名规则 ACT RE RE 表示 repository 存储 RepositorySe 接口操作的表 带此前缀的表包含的是静态信息 如 流程定义 流程的资源 图片 规则等 ACT RU RU 表示 runtime 这是运行时的表存储着流程变量 用户任务 变量 职责 job 等运行时的数据 flowable 只

Flowable 表用途说明

1. Flowable数据库表命名规则

  • ACT_RE_*
    ’RE’表示repository(存储)。RepositoryService接口操作的表。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
  • ACT_RU_*
    ’RU’表示runtime。这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。flowable只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。
  • ACT_ID_*
    ’ID’表示identity(组织机构)。这些表包含标识的信息,如用户,用户组,等等。
  • ACT_HI_*
    ’HI’表示history。就是这些表包含着历史的相关数据,如结束的流程实例,变量,任务,等等。
  • ACT_GE_*
    普通数据,各种情况都使用的数据。

2. 数据库表结构(34张表)

一般数据(2)

表名 说明
ACT_GE_BYTEARRAY 通用的流程定义和流程资源
ACT_GE_PROPERTY 系统相关属性

流程历史记录(8)

表名 说明
ACT_HI_ACTINST 历史的流程实例
ACT_HI_ATTACHMENT 历史的流程附件
ACT_HI_COMMENT 历史的说明性信息
ACT_HI_DETAIL 历史的流程运行中的细节信息
ACT_HI_IDENTITYLINK 历史的流程运行过程中用户关系
ACT_HI_PROCINST 历史的流程实例
ACT_HI_TASKINST 历史的任务实例
ACT_HI_VARINST 历史的流程运行中的变量信息

用户用户组表(9)

表名 说明
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 用户表

流程定义表(3)

表名 说明
ACT_RE_DEPLOYMENT 部署单元信息
ACT_RE_MODEL 模型信息
ACT_RE_PROCDEF 已部署的流程定义

运行实例表(11)

表名 说明
ACT_RU_DEADLETTER_JOB 正在运行的任务表
ACT_RU_EVENT_SUBSCR 运行时事件
ACT_RU_EXECUTION 运行时流程执行实例
ACT_RU_HISTORY_JOB 历史作业表
ACT_RU_IDENTITYLINK 运行时用户关系信息
ACT_RU_JOB 运行时作业表
ACT_RU_SUSPENDED_JOB 暂停作业表
ACT_RU_TASK 运行时任务表
ACT_RU_TIMER_JOB 定时作业表
ACT_RU_VARIABLE 运行时变量表
ACT_RU_ACTINST 运行时节点信息,6.4.1版本新增此表

其他表(2)

表名 说明
ACT_EVT_LOG 事件日志表
ACT_PROCDEF_INFO 流程定义信息

3. 关键表详解

ACT_RU_EXECUTION 执行实例表

工作流程的核心表,保存了主干与分支流程的执行实例。一般来讲一个流程实例都有一条主线。如果流程为直线流程,那么流程实例在这个表中只有一条记录对应。但如果流程有会签多实例时,以及并行网关时,这时候它就有流程实例和执行实例,两者是一对多的关系。所以一定要理解流实例和执行实例的区别,不要把执行实例等同于流程实例表。

当在并行网关和会签多实例时,它是会产生多个执行实例,刚创建时各个执行实例的 IS_ACTIVE_ 这个字段的值都是为1,即激活状态。当每完成一个执行实例时,则其置为0-非激活状态,当所有执行实例完成后,它才会转移到历史,把这个多实例自动删除。另外当有子流程,子流程的实例是处于激活状态,而主干流程的实例处于非激活状态。

表字段说明
字段名 中文名 说明
ID_ 执行实例主键 这个主键有可能和PROC_INST_ID_相同,相同的情况表示这条记录为主实例记录。
REV_ 版本号 表示数据库表更新次数。
PROC_INST_ID_ 流程实例ID 一个流程实例不管有多少条分支实例,这个ID都是一致的。
BUSINESS_KEY_ 业务主键 只有主流程才会使用业务主键,另外这个业务主键字段在表中有唯一约束。
PARENT_ID_ 父实例ID 同步节点会产生两条执行记录,这两条记录的父ID为主线的ID。
PROC_DEF_ID_ 流程定义ID
SUPER_EXEC 如果存在表示这个实例记录为一个外部子流程记录,对应主流程的主键ID。
ACT_ID_ 节点ID 表示流程运行到的节点
IS_ACTIVE_ 是否激活 是否活动流程实例,当主流程为非活动实例,其下面有两个为活动实例,如果其中一个完成,那么完成的值将变为0即非活动。
IS_CONCURRENT_ 是否并发 同步节点后为并发,如果是并发多实例也是为1。
IS_SCOPE_ 如会签,子流程,同步等情况,主实例的情况这个字段为1,子实例这个字段为0。
TENANT_ID_ 租户ID 可以应对多租户的设计。
IS_EVENT_SCOPE 是否事件 没有使用到事件的情况下,一般都为0。
SUSPENSION_STATE_ 挂起状态 标识是否暂停
数据变化情况

直线串行流程时:

1.启动流程,即创建流程实例时,缺省为创建2条记录,其中一条是开始事件的执行实例,这个一直存在,只到流程结束后才会自动删除,另一条是普通的节点,所以它的流程实例id和PARENT_ID_字段即主干执行实例id字段值是一样的,完成任务时,它会第二转入历史任务和历史活动表中,如果创建的下一个节点还是普通节点,则它的第二条记录会变化。

ID_ PROC_INST_ID_ PARENT_ID_ IS_ACTIVE_
P1 P1 NULL 1
P2 P1 P1 1

2.并行网关时:创建了2个分支,他们的parant_id和流程实例id(proc_inst_id字段)都一样,缺省is_active都是1表示激活状态,当完成其中一个分支节点时,is_active就会变成0,等候其它节点一起完成后,才会转到历史,到时删除这些执行实例。并行网关的执行实例,它们的活动节点key是不一样,act_run_task中的TASK_DEF_ID_字段值是不一样(区别于会签多实例,会签多实例这个值是一样的)。

ID_ PROC_INST_ID_ PARENT_ID_ IS_ACTIVE_
P1 P1 NULL 1
P2 P1 P1 1
P3 P1 P1 1

完成了其中一条分支节点时,is_active变为了0。

ID_ PROC_INST_ID_ PARENT_ID_ IS_ACTIVE_
P1 P1 NULL 1
P2 P1 P1 0
P3 P1 P1 1

3.会签多实例时,如下是一个3人的会签,它会产生5条记录,一条是开始事件执行实例,一条是主干执行实例,只是它的状态为非激活状态,其它3个会签执行实例的parant_id值均是主干执行实例的id值,其中一个人做完了,这时候的act_ru_execution数据还是3条,但完成任务的那个执行实例is_active由1变为0了,它也一样等待其它2人会签均完成了才会转移到历史,如果查看act_ru_task表,则会发现原来3条,变为2条了,其中一条它已经转移到历史用户任务了。

ID_ PROC_INST_ID_ PARENT_ID_ IS_ACTIVE_
P1 P1 NULL 1
P2 P1 P1 0
P3 P1 P2 1
P4 P1 P2 1
P5 P1 P2 0

其他表,待续。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230318.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月5日 下午7:01
下一篇 2026年3月5日 下午7:22


相关推荐

  • 高斯同余理论_高斯模糊算法

    高斯同余理论_高斯模糊算法针对鲸鱼优化算法在处理高维问题时存在收敛速度慢、容易陷入局部最优和收敛精度低等问题,提出一种基于对数惯性权重和高斯差分变异的鲸群优化算法。通过高斯差分变异对鲸鱼位置更新方程进行变异,增加了种群多样性,提高了鲸群算法的全局搜索能力,防止早熟现象发生;将对数惯性权重引入搜寻猎物阶段,平衡全局搜索和局部开发能力,提高了算法寻优精度。通过测试函数优化实验对算法进行测试,实验结果表明,改进算法具有更高的寻优精度和更快的收敛速度。

    2022年10月5日
    5
  • 福昕PDF编辑器

    福昕PDF编辑器

    2026年3月12日
    2
  • IDEA删除一行的快捷键

    IDEA删除一行的快捷键以前习惯用 eclipse 但是现在用了 IDEA 很不习惯 也不知道 IDEA 的快捷开发键 1 eclipse 中删除一行是 Ctrl D 很方便 也很实用 2 IDEA 中删除一行则是 Ctrl Y 如下图 这是什么设计 还好我手指长能够得到 Y 3 当然了可以在 IDEA 中设置称 eclipse 快捷键 先用 Ctrl Alt S 打开 IDEA 的设置 在上面的地址栏中搜索 keymap 如下图 在 keymap 设置中选择 eclipse 然后点击右下加 apply 最后点击 OK

    2026年3月19日
    4
  • centos frp内网穿透_内网穿透 无需公网ip

    centos frp内网穿透_内网穿透 无需公网ip说明Linux搭建frp实现内网穿透操作步骤安装步骤省略(下载解压拷贝到server服务器和client服务器完事)具体移步:github注意程序文件需要追加可执行权限!注意相关端口放行!服务端配置文件:frps.ini[common]bind_port=7777authentication_method=tokentoken=12345678tls_only=truekcp_bind_port=7777max_pool_count=10l

    2025年11月5日
    3
  • fedora系统登录密码_fedora 命令行自动登录

    fedora系统登录密码_fedora 命令行自动登录情况类似于fedora10,fedora11.打开系统工具-终端输入命令:su-输入root密码(此时密码不显示,直接输入)输入命令:gedit/etc/pam.d/gdm在文本编辑器中注释掉”authrequiredpam_succeed_if.souser!=rootquiet”这一行(在这一行前面加上”#”,即改成#authrequ

    2026年1月31日
    6
  • VBS 刷屏代码[通俗易懂]

    VBS 刷屏代码[通俗易懂]刷屏代码VBSScript使用方法:复制需要转发的内容,点击QQ或者微信窗口,,再双击VBS脚本即可自动运行OnErrorResumeNextDimxda,yesetxda=createobject(“wscript.shell”)`循环次数fori=1to200`循环间隔时间wscript.sleep70xda.AppActivatexda.sendKeys”^v”xda.sendKeys”%s”nextwscript.quit…

    2022年6月9日
    261

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号