一、 核心七大接口

RepositoryService: 提供一系列管理流程部署和流程定义的API

RunntimeService: 在流程运行时对流程实例进行管理和控制

TaskService: 对流程任务进行管理,例如任务提醒,任务完成和创建任务等

IdentityService: 提供对流程角色数据进行管理的API,这些角色包括用户组、用户以及他们之间的关系

ManagementService:  提供对流程引擎进行管理和维护的服务

HistoryService: 对流程的历史数据进行操作,包括查询,删除这些历史数据

FormService:提供操作流程流转的表单填写服务

二、28张表的数据结构

act_ge_开头的代表通用表,ge是general的缩写

act_hi_ 开头的代表历史数据表,hi是history的缩写,对应HistoryService接口的API

act_id_ 开头的代表身份认证数据,id是identity的缩写,对应IdentityService接口的API

act_re_ 开头的代表流程存储表,re是repository的缩写,对应RepositoryService接口的API,存储流程部署和流程定义的静态数据

act_ru_开头的代表流程运行数据表,ru是runntime的缩写,对应RunntimeService接口API,存储流程实例和用户任务等动态数据

表结构操作: 
资源库流程规则表 

  • 1) act_re_deployment 部署信息表 
  • 2) act_re_model 流程设计模型部署表 
  • 3) act_re_procdef 流程定义数据表 

运行时数据库表 

  • 1) act_ru_execution 运行时流程执行实例表 
  • 2) act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息 
  • 3) act_ru_task 运行时任务节点表 
  • 4) act_ru_variable 运行时流程变量数据表 

历史数据库表 

  • 1) act_hi_actinst 历史节点表 
  • 2) act_hi_attachment 历史附件表 
  • 3) act_ih_comment 历史意见表 
  • 4) act_hi_identitylink 历史流程人员表 
  • 5) act_hi_detail 历史详情表,提供历史变量的查询 
  • 6) act_hi_procinst 历史流程实例表 
  • 7) act_hi_taskinst 历史任务实例表 
  • 8) act_hi_varinst 历史变量表 

组织机构表 

  • 1) act_id_group 用户组信息表 
  • 2) act_id_info 用户扩展信息表 
  • 3) act_id_membership 用户与用户组对应信息表 
  • 4) act_id_user 用户信息表 

这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足 
通用数据表 

  • 1) act_ge_bytearray 二进制数据表 
  • 2) act_ge_property 属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录

activiti.cfg.xml(activiti的配置文件) 

Activiti核心配置文件,配置流程引擎创建工具的基本参数和数据库连接池参数。 
定义数据库配置参数: 

  • jdbcUrl: 数据库的JDBC URL。 
  • jdbcDriver: 对应不同数据库类型的驱动。 
  • jdbcUsername: 连接数据库的用户名。 
  • jdbcPassword: 连接数据库的密码。 

基于JDBC参数配置的数据库连接 会使用默认的MyBatis连接池。 下面的参数可以用来配置连接池(来自MyBatis参数): 

  • jdbcMaxActiveConnections: 连接池中处于被使用状态的连接的最大值。默认为10。 
  • jdbcMaxIdleConnections: 连接池中处于空闲状态的连接的最大值。 
  • jdbcMaxCheckoutTime: 连接被取出使用的最长时间,超过时间会被强制回收。 默认为20000(20秒)。 
  • jdbcMaxWaitTime: 这是一个底层配置,让连接池可以在长时间无法获得连接时, 打印一条日志,并重新尝试获取一个连接。(避免因为错误配置导致沉默的操作失败)。 默认为20000(20秒)。

 流程部署相关表 

  • act_re_deployement 部署对象表 
  • act_rep_procdef  流程定义表 
  • act_ge_bytearray 资源文件表 
  • act_ge_prperty  主键生成策略表(对于部署对象表的主键ID)

 流程实例相关表

  •  act_ru_execution 正在执行的执行对象表(包含执行对象ID和流程实例ID,如果有多个线程可能流程实例ID不一样)
  •  act_hi_procinst 流程实例历史表
  •  act_hi_actinst 存放历史所有完成的任务

 Task 任务相关表

  •  act_ru_task 代办任务表 (只对应节点是UserTask的)
  •  act_hi_taskinst 代办任务历史表 (只对应节点是UserTask的) 
  •  act_hi_actinst  所有节点活动历史表 (对应流程的所有节点的活动历史,从开始节点一直到结束节点中间的所有节点的活动都会被记录)

流程变量表

  •  act_ru_variable 正在执行的流程变量表
  •  act_hi_variable 流程变量历史表

三、数据字典

        保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除) 

ACT_GE_BYTEARRAY(act_ge_bytearray) 通用的流程定义和流程资源
字段名字段描述数据类型默认取值取值说明(例子)
ID_    主键varchar
REV_  版本号int

version       

NAME_部署的文件名称varchar
DEPLOYMENT_ID_

来自于父表ACT_RE_DEPLOYMENT 

的主键

varchar部署的ID
BYTES_

大文本类型,存储文本字

节流

LONGBLOB 
GENERATED_是否是引擎生成int

0为用户生成

1为Activiti生成

        属性数据表。存储这个流程引擎级别的数据

ACT_GE_PROPERTY (系统相关属性)
字段名字段描述数据类型默认取值取值说明(例子)
NAME_    

属性名称

varchar

schema.version 

schema.history 

next.dbid

VALUE_属性值varchar

5.* 

create(5.*)

REV_INT

版本号

int

        历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容

ACT_HI_ACTINST (历史节点表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

PROC_DEF_ID_

流程定义ID

varchar

PROC_INST_ID_

流程实例ID

varchar
EXECUTION_ID_

流程执行ID

varchar
ACT_ID_

活动ID

varchar

节点定义ID

TASK_ID_任务IDvarchar

任务实例ID ,其他节点类型实例ID在这里为空

CALL_PROC_INST_ID_请求流程实例ID

varchar

调用外部流程的流程实例ID

ACT_NAME_活动名称varchar节点定义名称
ACT_TYPE_活动类型varchar

如startEvent、userTask

ASSIGNEE_代理人员      varchar节点签收人
START_TIME_开始时间    datetime
END_TIME_结束时间      datetime
DURATION_时长、耗时int毫秒值

ACT_HI_ATTACHMENT (附件信息)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

REV_

版本号

int

USER_ID_

用户ID

varchar
NAME_

附件名称

varchar
DESCRIPTION_

附件描述

varchar

TYPE_附件类型varchar

TASK_ID_任务ID

varchar

节点实例ID

PROC_INST_ID_流程实例IDvarchar
URL_附件链接varchar

CONTENT_ID_内容ID      varchar
START_TIME_开始时间    datetime

ACT_GE_BYTEARRAY的ID

ACT_HI_COMMENT (历史审批意见表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

TYPE_

意见记录类型,为comment时,为处理意见

varchar

 类型:event(事件)、comment(意见)

TIME_

记录时间

datetime
USER_ID_

用户ID

varchar
PROC_INST_ID_

流程实例ID

varchar

ACTION_

行为类型。为addcomment时,为处理意见 

varchar

值为下列内容中的

一种:

AddUserLink、

DeleteUserLink、

AddGroupLink、

DeleteGroupLink、

AddComment、

AddAttachment、

DeleteAttachment

MESSAGE_

处理意见

 varchar

FULL_MSG_全部消息longblob

               历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等

ACT_HI_DETAIL (历史详细信息)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

TYPE_

数据类型

varchar

 类型: 

FormProperty, //表单

VariableUpdate //参数

PROC_INST_ID_

流程实例id

varchar
EXECUTION_ID_

执行实例id

varchar
TASK_ID_

任务ID

varchar

ACT_INST_ID_

活动实例ID 

varchar

ACT_HI_ACTINST表的ID

NAME_

名称

 varchar

VAR_TYPE_变量类型longblob

jpa-entity、boolean、bytes、serializable(可序列化)、自定义type(根据你自身配置)、CustomVariableType、date、double、integer、long、null、

short、string

REV_版本号        int
TIME_创建时间 datetime
BYTEARRAY_ID_字节数组id

ACT_GE_BYTEARRAY表的ID

DOUBLE_

存储变量类型为Double

double
LONG_存储变量类型为Longlong
TEXT_存储变量类型为Stringvarchar
TEXT2_存储变量类型为Stringvarchar

此处存储的是JPA持久化对象时,才会有值。此值为对象ID

任务参与者数据表。主要存储历史节点参与者的信息

ACT_HI_IDENTITYLINK (历史流程人员表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

GROUP_ID_

用户组ID

varchar

TYPE_

用户组类型

datetime

主要分为以下几种:assignee、candidate、owner、starter 、participant

USER_ID_

用户ID

varchar
TASK_ID_任务IDvarchar
PROC_INST_ID_

流程实例ID

varchar

ACT_HI_PROCINST(历史流程实例信息)核心表
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

PROC_INST_ID_

流程实例ID

varchar

BUSINESS_KEY_

业务Key

datetime

PROC_DEF_ID_

流程定义Id

varchar
START_TIME_开始时间datetime
END_TIME_

结束时间

datetime

DURATION_时长int
START_USER_ID_发起人员IDvarchar
START_ACT_ID_开始节点varchar
END_ACT_ID_结束节点varchar
SUPER_PROCESS_INSTANCE_ID_

超级流程实例Id

varchar
DELETE_REASON_

删除理由

varchar

ACT_HI_TASKINST(历史任务流程实例信息)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

PROC_DEF_ID_

流程定义ID

varchar

TASK_DEF_KEY_

任务定义ID

varchar

PROC_INST_ID_

流程实例ID

varchar
EXECUTION_ID_执行IDvarchar
NAME_

名称

varchar

PARENT_TASK_ID_父任务ID

varchar

DESCRIPTION_描述varchar
OWNER_

实际签收人、任务的拥有者

varchar

签收人(默认为空,只有在委托时才有值)

ASSIGNEE_

代理人

varchar
START_TIME_

开始时间

datetime
CLAIM_TIME_

提醒时间

datetime
END_TIME_结束时间datetime
DURATION_耗时        bigint
DELETE_REASON_删除理由varchar
PRIORITY_优先级int
DUE_DATE_应完成时间        datetime

过期时间,表明任务应在多长时间内完成

FORM_KEY_表单keyvarchar

desinger节点定义的form_key属性

ACT_HI_VARINST(历史变量信息)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

主键ID

varchar

PROC_INST_ID_

流程实例ID

varchar
EXECUTION_ID_执行IDvarchar
TASK_ID_

任务ID

varchar

NAME_名称

varchar

VAR_TYPE_变量类型varchar
REV_

版本

int

BYTEARRAY_ID_

字节数组ID

varchar

ACT_GE_BYTEARRAY表的主键

DOUBLE_

存储变量类型为Double

double
LONG_存储变量类型为Longlong
TEXT_存储变量类型为Stringvarchar
TEXT2_存储变量类型为Stringvarchar

此处存储的是JPA持久化对象时,才会有值。此值为对象ID

ACT_ID_GROUP(用户组表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

用户组ID

varchar

REV_

版本

int

NAME_

用户组描述信息

varchar

TYPE_

 用户组类型

varchar

ACT_ID_INFO (用户扩展信息表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本

int

USER_ID_

用户ID

varchar

KEY_

 formINPut名称

varchar
VALUE_varchar
PASSWORD_密码LONGBLOB
PARENT_ID_父节点   varchar

ACT_ID_MEMBERSHIP(用户用户组关联表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

GROUP_ID_

用户组ID

varchar

USER_ID_

用户ID

varchar

ACT_ID_USER(用户信息表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本号

int

FIRST_

用户名称

varchar

LAST_用户姓氏 varchar
EMAIL_邮箱varchar
PWD_密码varchar
PICTURE_ID_头像IDvarchar

ACT_RE_DEPLOYMENT(部署信息表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

部署编号

varchar

NAME_

部署包的名称

varchar

CATEGORY_

类型

varchar

TENANT_ID_租户varchar

多租户通常是在软件需要为多个不同组织服务时产生的概念

DEPLOY_TIME_部署时间TIMESTAMP 

ACT_RE_MODEL (流程设计模型表)- 创建流程的设计模型时,保存在该数据表中
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

部署编号

varchar

REV_

乐观锁

int

NAME_

模型的名称

varchar

KEY_模型的关键词,流程引擎用到varchar

CATEGORY_

类型,用户自己对流程模型的分类

varchar
CREATE_TIME_创建时间        TIMESTAMP 

LAST_UPDATE_TIME_

最后修改时间TIMESTAMP 
VERSION_版本,从1开始int
META_INFO_

数据源信息,比如:{"name":"FTOA_SWGL","revision":1,"description":"xx财政局OA,收文管理流程"}

varchar

以json格式保存流程定义信息 

DEPLOYMENT_ID_部署IDvarchar

EDITOR_SOURCE_VALUE_ID_

编辑源值ID

varchar

EDITOR_SOURCE_EXTRA_VALUE_ID_

编辑源额外值ID(外键ACT_GE_BYTEARRAY 

varchar
TENANT_ID_租户varchar

ACT_RE_PROCDEF (流程定义:解析表)流程解析表,解析成功了,在该表保存一条记录
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

流程ID,由“流程编号:流程版本号:自增长ID”组成

varchar

REV_

版本号

int

乐观锁

CATEGORY_

流程命名空间(该编号就是流程文件targetNamespace的属性值)

varchar

流程定义的Namespace就是类别 

NAME_

流程名称(该编号就是流程文件process元素的name属性值)

varchar

KEY_

流程编号(该编号就是流程文件process元素的id属性值)

varchar
VERSION_

流程版本号(由程序控制,新增即为1,修改后依次1来完成的

int

DEPLOYMENT_ID_

部署编号varchar

RESOURCE_NAME_ 

资源文件名称varchar

DGRM_RESOURCE_NAME_

图片资源名称

varchar

以json格式保存流程定义信息 

DESCRIPTION_描述varchar

HAS_START_FORM_KEY_

是否从key启动

int

start节点是否存在formKey  0否 1是

SUSPENSION_STATE_

是否挂起 

int

1 激活 2挂起

 注:此表和ACT_RE_DEPLOYMENT是多对一的关系,即,一个部署的war包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在ACT_RE_PROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过程序用ACT_GE_BYTEARRAY.NAME与ACT_RE_PROCDEF.NAME_完成的,在数据库表结构中没有体现。

ACT_RU_EVENT_SUBSCR (运行时事件)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本号

int

乐观锁

EVENT_TYPE_

事件类型

varchar
EVENT_NAME_ 

事件名称

varchar

EXECUTION_ID_

流程执行ID

varchar
PROC_INST_ID_

流程实例ID

varchar

ACTIVITY_ID_活动IDvarchar
CONFIGURATION_配置信息varchar
CREATED_

创建时间

TIMESTAMP

CURRENT_TIMESTAMP 

ACT_RU_EXECUTION (运行时流程执行实例)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本号

int

乐观锁

PROC_INST_ID_

流程实例编号

varchar
BUSINESS_KEY_

业务编号

varchar

PARENT_ID_

父执行流程

varchar
PROC_DEF_ID_

流程定义ID

varchar

SUPER_EXEC_varchar
ACT_ID_实例IDvarchar
IS_ACTIVE_

激活状态

int

是否激活

IS_CONCURRENT_并发状态int是否并行 true、false
IS_SCOPE_int
IS_EVENT_SCOPE_int

SUSPENSION_STATE_

暂停状态int

挂起状态:1激活   2挂起

CACHED_ENT_STATE_ 

缓存结束状态int

ACT_RU_IDENTITYLINK(身份联系)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本号

int

乐观锁

GROUP_ID_用户组IDvarchar
TYPE_

用户组类型

varchar

主要分为以下几种:assignee、candidate、owner、starter、participant。即:受让人,候选人,所有者、起动器、参与者

USER_ID_

用户ID

varchar
TASK_ID_

任务ID

varchar

PROC_INST_ID_流程实例IDvarchar
PROC_DEF_ID_流程定义IDvarchar

ACT_RU_JOB(运行中的任务)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本号

int

乐观锁

TYPE_

类型 

varchar

主要分为以下几种:assignee、candidate、owner、starter、participant。即:受让人,候选人,所有者、起动器、参与者

LOCK_EXP_TIME_

锁定释放时间

TIMESTAMP 
LOCK_OWNER_ 

挂起者

varchar

EXCLUSIVE_int
EXECUTION_ID_ 执行实例IDvarchar

PROCESS_INSTANCE_ID_

流程实例IDvarchar
PROC_DEF_ID_流程定义idvarchar
RETRIES_varchar

EXCEPTION_STACK_ID_

异常信息IDvarchar
EXCEPTION_MSG_异常信息varchar
DUEDATE_到期时间TIMESTAMP 
REPEAT_重复varchar
HANDLER_TYPE_处理类型varchar
HANDLER_CFG_标识varchar

ACT_RU_TASK(运行时任务数据表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本号

int

乐观锁

EXECUTION_ID_ 执行实例IDvarchar

PROCESS_INSTANCE_ID_

流程实例IDvarchar
PROC_DEF_ID_流程定义idvarchar
NAME_

任务名称

节点定义名称

PARENT_TASK_ID_ 

父节点任务IDvarchar

父节点实例ID

DESCRIPTION_任务描述varchar
TASK_DEF_KEY_任务定义keyvarchar
OWNER_所属人varchar

拥有者(一般情况下为空,只有在委托时才有值)

ASSIGNEE_ 代理人varchar
PRIORITY_优先权int

优先级别,默认为:50

CREATE_TIME_创建时间TIMESTAMP 
DUE_DATE_ 执行时间DATETIME 耗时

SUSPENSION_STATE_

暂停状态int

1代表激活、2代表挂起

ACT_RU_VARIABLE(运行时流程变量数据表)
字段名字段描述数据类型默认取值取值说明(例子)
ID_  

varchar

REV_

版本号

int

乐观锁

TYPE编码类型varchar
NAME_变量名称varchar
EXECUTION_ID_执行实例IDvarchar
PROC_INST_ID_流程实例idvarchar
TASK_ID_

任务ID

BYTEARRAY_ID_

字节数组ID

varchar

ACT_GE_BYTEARRAY表的主键

DOUBLE_

存储变量类型为Double

double
LONG_存储变量类型为Longlong
TEXT_存储变量类型为Stringvarchar
TEXT2_存储变量类型为Stringvarchar

此处存储的是JPA持久化对象时,才会有值。此值为对象ID

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐