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 |
其他表,待续。
Flowable工作流引擎表用途整理相关推荐
- Flowable工作流引擎
Flowable工作流引擎 Flowable-基础篇(根据BV1Pb4y1p7Ku整理) 一.简介 Flowable是BPMN的一个基于java的软件实现,不过Flowable不仅仅包括BPMN,还有 ...
- SpringBoot整合Flowable工作流引擎框架
Flowable工作流引擎框架介绍 一个Java编写的轻量级业务流程引擎,为开发人员.系统管理员和业务用户提供工作流和业务流程管理(BPM)平台. 不仅包括BPMN,还有DMN决策表和CMMN Cas ...
- Flowable工作流引擎的使用2(BPMN结构及节点介绍)
Flowable工作流引擎的使用(2BPMN结构介绍) 上一篇讲到了flowable如何使用,用了一个简单的demo,演示了一下流程的创建,发起,审核,查询等功能 内容不多但是引申出很多的概念: BP ...
- Spring Boot +Vue + Flowable 工作流引擎
Flowable 项目提供了一组核心的开源业务流程引擎,这些引擎紧凑且高效.它们为开发人员.系统管理员和业务用户提供了一个工作流和业务流程管理(BPM)平台.它的核心是一个非常快速且经过测试的动态 B ...
- Spring Boot + Flowable 工作流引擎
想必大家再看这篇文章的时候已经对目前主流的工作流引擎有所了解了.目前主流的工作流开源框架也就 Activiti/Camunda/Flowable 这几个了,在我对这三大工作流引擎简单使用了解后,最后选 ...
- 驰骋工作流引擎表单设计控件-字段类控件(2)
2019独角兽企业重金招聘Python工程师标准>>> Technorati Tags: 开源工作流引擎, 驰骋.net工作流引擎, 开源表单引擎, ccform, ccflow, ...
- 2分钟 Docker 部署 SprinBoot 集成 Flowable 工作流引擎
文章目录 一. 简介 二. docker流程引擎部署 2.1. jdk安装配置 2.2. 下载打包好的tar包 2.3. 上传tar包 2.4. 在线安装Docker 2.5. 检验安装是否成功 三. ...
- Flowable工作流引擎技术方案
应对越来越多的工作流使用场景,以及越来越灵活的业务情形,我们亟需对工作流引擎进行一次重构优化.目前市场上主流的工作流引擎,一种是我们熟知的activiti,另外一种就是flowable.众所周知,fl ...
- Flowable 工作流引擎
Flowable是一个流行的轻量级的采用Java开发的业务流程引擎.通过Flowable流程引擎,我们可以部署BPMN2.0的流程定义(一般为XML文件),通过流程定义创建流程实例,查询和访问流程相关 ...
- Flowable工作流引擎的使用3(task审批节点的接受与使用)
BPMN task节点 节点介绍 task节点是和业务最贴切的节点,表示一次审批 除了id,name,inComingFlows,outGoingFlows这些属性以外,还有一些权限信息.用于区分一个 ...
最新文章
- CentOS7使用systemctl添加自定义服务
- Maximum Subsequence Sum最大子列和问题(c语言实现)
- 毕设ssm商城系统_ssm商城系统(爱淘淘购物)项目源码
- PCL1.8.0+Windows+VS2013配置
- Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!
- ListView 条目加载上滑下滑首尾缩放动画实现
- 分布式系统领域经典论文翻译集
- 百度收录批量查询-免费百度整站批量收录查询工具
- 现代控制理论公式大赏
- 精准医学: 应用脑脊液游离DNA全基因组甲基化测序筛选小儿髓母细 胞瘤早期诊断与预后监测的可靠生物标志物|液体活检专题
- 大数据浪潮将催生信息产业第三极——“数据极”
- DSA签名简介及对其的攻击方式
- 热部署与定时任务冲突问题解决方案
- 第 1-4 课:Flutter 项目结构及配置文件详解
- 写一个函数insert,用来向一个动态链表插入节点。
- 【面试系列】手把手教你如何面试,你要的我都有(简历篇)
- zabbix通过pg_monz模板监控postgresql数据库
- 用imu_tk和imu_utils标定imu
- 头条笔试题:任务调度
- H.266/VVC相关技术学习笔记20:帧间预测技术中的MMVD技术(Merge mode with MVD)