activiti(2):解读activiti数据表

时间:2024-03-27 07:30:47

用过activiti的都了解,他选择了mybatis框架将数据进行持久化,同时将运行时的数据与历史数据分离存储。研究activit数据库表,在于理解其设计思想与精巧的数据结构,其数据表基本可以划分为以下5大类(以5.20.0版本为参考,mysql数据库):

1 基本通用数据表:

通用数据表中存放通用数据,无关特定流程或者业务,ACT_GE_,GE即为general,主要有两张表:

ACT_GE_BYETEARRAY:二进制资源表

存放与流程引擎相关的资源,如流程文件内容,流程图片等等。
activiti(2):解读activiti数据表
其中,BYTES_字段用于存储资源内容,longblob,最大可存储4GB。

ACT_GE_PROPERTY:属性表,key-value将全部属性抽象成键值对保存。

activiti(2):解读activiti数据表
初始化引擎时,会产生三条数据。

2 流程相关的存储表:

存储与流程定义和部署相关的信息,ACT_RE_,re即为repository,主要有三张表和一个扩展表:

ACT_RE_DEPLORYMENT:部署表,存储部署的基本信息,并将部署资源保存到二进制资源表

activiti(2):解读activiti数据表
其中,NAME_可以通过调用API来存储值。

ACT_RE_PROCDEF:流程定义表,存储部分解析的流程定义内容。

activiti(2):解读activiti数据表
其中,ID_不再是简单值,而是一串组合规则,KEY_记录process的id,VERSION_记录同一文件部署的次数,版本递增。

ACT_PROCDEF_INFO:流程定义信息扩展

activiti(2):解读activiti数据表

ACT_RE_MODEL:流程设计模型部署表。

activiti(2):解读activiti数据表

3 用户相关的表:

用户身份数据独立于流程引擎存在,ACT_ID_,id即为identity,共有四张表。

ACT_ID_USER:用户表,见名知意:

activiti(2):解读activiti数据表

ACT_ID_INFO:用户信息表,扩展用户表;

activiti(2):解读activiti数据表

ACT_ID_GROUP:用户组表,类似角色分组

activiti(2):解读activiti数据表

ACT_ID_MEMBERSHIP:用户-组多对多关联关系表

activiti(2):解读activiti数据表

4 运行时数据表:

运行数据,如流程实例,顺序流,任务等信息,ACT_RU_,ru即为runtime,包含了六张存储表:

ACT_RU_EXECUTION:流程实例表,流程启动便产生对应的流程实例

activiti(2):解读activiti数据表
此表,既记录流程实例,同时也可以记录执行顺序流,其中关键字段有,PROC_INST_ID_,PARANT_ID_,SUPER_EXEC_

ACT_RU_TASK:任务表

activiti(2):解读activiti数据表
这个表就不用解释了,重点关注。

ACT_RU_VARIABLE:流程变量表,存放流程中的各类参数,字段类型较丰富

activiti(2):解读activiti数据表
其中,TYPE_值有,boolean,bytes,serializable,date,double,integer,jpa-entity,long,null,short,string,也可以自定义。

ACT_RU_IDENTITYLINK:流程与用户关联关系表

activiti(2):解读activiti数据表
外键较多,用户数据与流程数据关联的链接点。

ACT_RU_JOB:工作数据表

activiti(2):解读activiti数据表
定时任务等相关。

ACT_RU_EVENT_SUBSCR:事件描述表

activiti(2):解读activiti数据表

5 流程历史信息记录表

表中保存的是一经写入,就很少发生结构性变化的数据,如结束的流程数据,ACT_HI_,hi即为history,共计八张表:

ACT_HI_PROCINST:历史实例表

activiti(2):解读activiti数据表

ACT_HI_DETAIL:历史流程明细

activiti(2):解读activiti数据表

ACT_HI_TASKINST:历史任务

activiti(2):解读activiti数据表

ACT_HI_ACTINST:历史行为

activiti(2):解读activiti数据表

ACT_HI_ATTACHMENT:历史附件

activiti(2):解读activiti数据表

ACT_HI_COMMENT:历史评论

activiti(2):解读activiti数据表

ACT_HI_IDENTITYLINK:历史关系表

activiti(2):解读activiti数据表

ACT_HI_VARINST:历史变量表

activiti(2):解读activiti数据表

ACT_EVT_LOG:最后还有张事件日志表

activiti(2):解读activiti数据表