flowable38张表含义说明

前言:

是要对flowable的表先有全面的认识,对深入研究flowable作个铺垫。网上的内容也不是很全,因此整合网上各个来源,加上自己实践过程中的认识整理出来以下内容。

表名规则:

目前一共38张表

Activiti 使用到的表都是 ACT_ 开头的。表名的第二部分用两个字母表明表的用途。

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

act_evt_log

Flowable引入了事件日志机制。日志机制基于Flowable引擎的事件机制,并默认禁用。总的来说,来源于引擎的事件会被捕获,并创建一个包含了所有事件数据(甚至更多)的map,提供给org.flowable.engine.impl.event.logger.EventFlusher,由它将这些数据保存其他地方。默认情况下,使用简单的基于数据库的事件处理器/保存器,用Jackson将上述map序列化为JSON,并将其作为EventLogEntryEntity实例存入数据库。默认会在数据库中创建ACT_EVT_LOG表保存事件日志。如果不使用事件日志,可以删除这个表。

 

act_ge_bytearray

每个流程的部署记录,bytes_字段中存储流程的具体内容。每次启动时都会默认部署process目录下的流程文件,执行

repositoryService.createDeployment().deploy方法也会部署流程。

 

act_ge_property

flowable自身的一些变量,主要是版本号。

 

act_hi_actinst

历史执行的所有流程节点的内容。

 

act_hi_attachment

流程历史附件表。

附件自身主要是带上了url。

flowable38张表含义说明_第1张图片

 

flowable38张表含义说明_第2张图片

可以对任务添加附件。

 

act_hi_comment

流程的历史评论表

评论嘛,就带了个string的fullMessage

flowable38张表含义说明_第3张图片

 

flowable38张表含义说明_第4张图片

 

act_hi_detail

流程中历史产生的变量详情。

(在流程中指定变量,流程流转时传入变量,作业务处理,比如判断审核通过还是拒绝)

 

act_hi_entitylink

历史参与的人员表

内部是维护一个scopeId及其关联的scopeId。

每一个task任务属于一个scopeId(需要再研究一下)

flowable38张表含义说明_第5张图片

 

act_hi_identitylink

记录每一个历史节点的用户(可能是group可能是user)。

 

act_hi_procinst

每一个历史流程,创建时就生成,一条流程实(process)例对应一个记录。

 

act_hi_taskinst

记录每一个历史节点,一个task对应一个记录。

 

act_hi_tsk_log

每一次执行(execution)可能会带上数据,存在这里(data),没有生成过。

HistoricTaskLogEntry类

 

act_hi_varinst

维护所有的历史变量

 

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

用户基本信息,包括邮箱等

 

以上几张用户表是对flowable idm的用户管理体系,可以配置用户对api的调用权限。

 

flowable38张表含义说明_第6张图片

 

 

act_procdef_info

流程定义信息,对流程的说明

 

act_re_deployment

流程部署记录,每次服务重启会部署一次,这边新增一条记录。

 

act_re_model

创建模型时,额外定义的一些模型相关信息,存在这张表,默认不存。

 

act_re_procdef

记录流程的变更,流程每变更一次存一条,version_加1

 

act_ru_suspended_job

act_ru_deadletter_job

act_ru_timer_job

  • ServiceTask异步任务会产生异步任务,存放在一般工作表act_ru_job中。
  • 定时任务会产生定时的任务,在定时时间未到达之前会存放在定时工作表act_ru_timer_job中。
  • 挂起任务,比如将未到时间的定时任务手动暂停,则会存放在挂起任务表act_ru_suspended_job中。
  • 不可执行任务,如果任务执行失败,并且在重试次数用完的情况下也没有成功执行,则任务会存放到不可执行任务表act_ru_deadletter_job中。
  • 激活后会把数据再放回act_ru_timer_job表中。
  • https://blog.csdn.net/ldqchat/article/details/81837121

act_ru_history_job

当前流程所有历史执行的任务

但是因为如果流程结束,就查不到这些任务

所以虽然是历史,但是也命名成了act_ru。

https://forum.flowable.org/t/what-act-ru-history-job-is-used-for/5383

 

act_ru_job

运行时的定时任务记录表

 

act_ru_event_subscr

 

运行时事件 throwEvent、catchEvent 时间监听信息表(目前我们这边都没用到过哈。。)

flowable38张表含义说明_第7张图片

 

act_ru_execution

act_ru_entitylink

act_ru_identitylink

act_ru_task

act_ru_variable

同上act_hi对应表。

总结:

通过整理表,发现flowable还:

对task提供了很多配置,包括添加附件、评论,以及设置tenant多租户区分权限;

对自动任务作了完善的机制(包括多次失败、重新激活等类型任务的记录维护);

同时也维护了一套用户管理权限,可以基于它实现一套工作流构建的服务。

 

参考:

https://www.devdoc.cn/activiti-table-summary.html

https://blog.csdn.net/hj7jay/article/details/51302829

 

你可能感兴趣的:(flowable,JAVA)