Flowable 生成的表都是干嘛的?(二)

news2024/11/22 6:15:29

一.简介

Flowable 默认一共生成了 79 张数据表,了解这些数据表,有助于我们更好的理解 Flowable 中的各种 API。

接下来我们就对这 79 张表进行一个简单的分类整理。

  1. ACT_APP_*(5)
  2. ACT_CMMN_*(12)
  3. ACT_CO_*(3)
  4. ACT_DMN_*(6)
  5. ACT_EVT_*(1)
  6. ACT_FO_*(6)
  7. ACT_GE_*(2)
  8. ACT_HI_*(10)
  9. ACT_ID_*(9)
  10. ACT_PROCDEF_*(1)
  11. ACT_RE_*(3)
  12. ACT_RU_*(13)
  13. FLW_CHANNEL_*(1)
  14. FLW_EV_*(2)
  15. FLW_EVENT_*(3)
  16. FLW_RU_*(2)
  • 是通配符,后面的数字表示这种类型的表有多少个。

大致看一下,其实还是有很多规律的。最明显的规律就表名通过两个 _ 隔开成了三部分,接下来就以此,一部分一部分来讲。

二.表名前缀

表的前缀,分了两种:

  1. ACT_
  2. FLW_

具体来说,与 Flowable 开源代码库相关的数据库表名以 ACT_ 开头。特定于 Flowable Work 或 Engage 的数据库表以 FLW_ 前缀开头。

三.表名中间部分

紧跟着 ACT_ 或者 FLW_ 后面的内容,基本上也都是简称,例如:

  1. APP 表示这都是跟应用程序相关的表。
  2. CMMN 表示这都是跟 CMMN 协议相关的表。
  3. CO(CONTENT)表示这都是跟内容引擎相关的表。
  4. DMN 表示这都是跟 DMN 协议相关的表。
  5. EVT(EVENT)表示这都是跟事件相关的表。
  6. FO(FORM)表示这都是跟表单相关的表。
  7. GE(GENERAL)表示这都是通用表,适用于各种用例的。
  8. HI(HISTORY)这些是包含历史数据的表。当从运行时表中删除数据时,历史表仍然包含这些已完成实例的所有信息。
  9. ID(IDENTITY)表示这都是跟用户身份认证相关的表。
  10. PROCDEF(PROCESSDEFINE) 表示这都是跟记录流程定义相关的表。
  11. RE(REPOSITORY)表示这都是跟流程的定义、流程的资源等等包含了静态信息相关的表。
  12. RU(RUNTIME)代表运行时,这些是包含尚未完成的流程、案例等的运行时数据的运行时表。Flowable 仅在执行期间存储运行时数据,并在实例结束后删除记录,这使运行时表保持小而快。
  13. CHANNEL 表示这都是跟泳道相关的表。
  14. EV 表示这个是跟 FLW_ 搭配的,在这里似乎并没有一个明确的含义,相关的表也都是跟 Liquibase 相关的表。
  15. EVENT 表示这都是跟事件相关的表。

表名是由三部分构成的,我们现在已经分析了前两部分了,接下来我们来看第三部分。

三.表名后缀

表名的后缀,有一些是通用的后缀名词,例如:

  1. DATABASECHANGELOG:
    表名中包含这个单词的,表示这个表是 Liquibase 执行的记录,Liquibase 是一个数据库脚本管理的工具。包含 DATABASECHANGELOG 后缀的表一共是 6 张。
  2. DATABASECHANGELOGLOCK:
    表名中包含这个单词的,表示这个表记录 Liquibase 执行锁的,用以确保一次只运行一个 Liquibase 实例,包含 DATABASECHANGELOGLOCK 后缀的表也是 6 张。

这两个加起来就 12 张表了,一共 79 张,现在还剩 67 张,我们来详细看下。

在后面的介绍中,凡是涉及到 DATABASECHANGELOG 和 DATABASECHANGELOGLOCK 的表,就直接省略了。

3.1 ACT_APP_*

3.2 ACT_CMMN_*

3.3 ACT_DMN_*

前三点看前一篇文章,这边就不会赘叙。

3.4 ACT_RU_*

以 ACT_RU_ 开头的表都是和流程引擎运行时信息相关的一些表。涉及到的表一共有 13 张,截图如下:
在这里插入图片描述
在这里插入图片描述

ACT_RU_ACTINST

流程实例中的每个活动在此表中都有一行来指示活动的当前状态。

  1. ACT_RU_JOB
  2. ACT_RU_TIMER_JOB
  3. ACT_RU_SUSPENDED_JOB
  4. ACT_RU_EXTERNAL_JOB
  5. ACT_RU_HISTORY_JOB
  6. ACT_RU_DEADLETTER_JOB

Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据。

ACT_RU_ENTITYLINK

此表存储有关实例的父子关系的信息。例如,如果流程实例启动子案例实例,则此关系存储在此表中。这样可以轻松查询关系。

ACT_RU_EVENT_SUBSCR

当流程定义使用事件(信号/消息/等或启动/中间/边界)时,引擎将对该表的引用存储在该表中。这简化了查询哪些实例正在等待某种类型的事件。

ACT_RU_EXECUTION

存储流程实例和指向流程实例当前状态的指针(称为执行)。

ACT_RU_IDENTITYLINK

此表存储有关用户或组的数据及其与(流程/案例/等)实例相关的角色。该表也被其他需要身份链接的引擎使用。

ACT_RU_TASK

此表包含正在运行的实例的每个未完成用户任务的条目。然后在查询用户的任务列表时使用此表。CMMN 引擎也使用此表。

ACT_RU_VARIABLE

此表存储与实例相关的变量。CMMN 引擎也使用此表。

3.5 ACT_HI_*

以 ACT_HI_* 开头的表包含正在运行和已完成的实例的历史数据,这些表的名称遵循其运行时对应的名称,这里一共涉及到 10 张表,截图如下:
在这里插入图片描述

ACT_HI_ACTINST

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

ACT_HI_ATTACHMENT

历史附件表。

ACT_HI_COMMENT

流程的历史评论表。

ACT_HI_DETAIL

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

ACT_HI_ENTITYLINK

历史参与的人员表。

ACT_HI_IDENTITYLINK

任务参与者数据表,主要存储历史节点参与者的信息,可能是 Group 也可能是 User。

ACT_HI_PROCINST

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

ACT_HI_TASKINST

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

ACT_HI_TSK_LOG

每一次执行可能会带上数据,存在这里。

ACT_HI_VARINST

流程历史变量表。

3.6 ACT_ID_*

以 ACT_ID_* 开头的都是和用户身份相关的表,一共是有 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.7 ACT_FO_FORM_*

以 ACT_FO_FORM_ 开头的表存储表单引擎和围绕表单模型和这些表单的实例数据。

ACT_FO_FORM_DEFINITION

表单定义表。

ACT_FO_FORM_DEPLOYMENT

表单部署表。

ACT_FO_FORM_INSTANCE

表单实例表。

ACT_FO_FORM_RESOURCE

表单源数据表。

3.8 ACT_GE_*

以 ACT_GE_ 开头的表表示一些通用信息表,涉及到的表一共是两个,截图如下:
在这里插入图片描述

ACT_GE_BYTEARRAY

存储每个流程的部署记录,bytes_ 字段中保存流程的具体内容。

ACT_GE_PROPERTY

存储 Flowable 自身的一些变量,主要是版本号。

3.9 ACT_RE_*

以 ACT_RE_ 开头的表表示这些表都是跟流程的定义、流程的资源等等包含了静态信息相关的表。

ACT_RE_DEPLOYMENT

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

ACT_RE_MODEL

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

ACT_RE_PROCDEF

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

3.10 FLW_EVENT_*

FLW_EVENT_DEFINITION

已部署事件定义的元数据。

FLW_EVENT_DEPLOYMENT

已部署事件部署元数据。

FLW_EVENT_RESOURCE

事件所需资源。

3.11 其他表

还剩一些规则不太明显的表,如下:

FLW_RU_BATCHFLW_RU_BATCH_PART

这两个是批量迁移流程时使用。

ACT_PROCDEF_INFO

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

ACT_CO_CONTENT_ITEM

每项内容在此表中都有个条目。

ACT_EVT_LOG

Flowable 引入了事件日志机制,默认会在数据库中创建 ACT_EVT_LOG 表保存事件日志,如果不使用事件日志,则可以删除这个表。

FLW_CHANNEL_DEFINITION

泳池管道定义表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/540153.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux之后台终端

1、后台终端 当我们连接一个终端并执行一个程序时,关闭终端时程序也被终结。比如想在终端中执行一个web服务器,想一直后台运行,可以使用screen这个工具 2、screen工具 screen工具不是自带的所以需要sudo apt update && sudo apt i…

excel 甘特图制作(详细)

文章目录 前言excel 甘特图制作(详细)1. 模板字段确认2. 冻结至F列3. 在第二行确认状态颜色4. 设置开始日期5. 先将第3行居中,然后状态那列设置下拉6. 填充任务7. 开启日期与结束日期设置单元格式为日期8. 填充任务9. 制作日期10. 制作日期交互11. 修改开始时间范围…

数说故事与华为云签署全面合作协议,共同升级数字世界营销新体验

5月16日,由广东省工业和信息化厅、广州市人民政府联合指导,华为主办的2023华为云城市峰会首站登录广州。为贯彻落实广东省高质量发展大会的工作要求,响应《广东省制造业高质量发展“十四五”规划》, 本次大会围绕“在工业 为工业”主题并邀请…

普通表转分区表

当一张表数据过大时,可以进行垂直拆分(每张表存储部分字段)和水平拆分(每张表字段完整,数据只存储一部分) 这里记录的是水平拆分 首先对数据进行备份 create table 备份表名 as (select * from 原表名);…

Vue 3 第二十章:组件八(组件高级特性-组件的全局注册和局部注册)

文章目录 1. 全局注册组件2. 局部注册组件 Vue3 允许我们在全局注册组件,这使得我们可以构建更加灵活和可扩展的应用程序。同时,局部注册可以帮助我们更好地组织代码并提高应用程序的性能。 1. 全局注册组件 通过 app.component 方法可以在 Vue3 中创建…

钓鱼对抗之 Coremail安全拦截

作者简介: 胡晓磊,男,山东省城市商业银行合作联盟有限公司邮箱管理员,Coremail管理员社区特邀大咖 钓鱼邮件,是一种常见的网络诈骗手段。一般目的是用来欺骗收件人,将账号、口令或密码等信息回复给指定的接…

(数字图像处理MATLAB+Python)第八章图像复原-第五、六节:盲去卷积复原和几何失真校正

文章目录 一:盲去卷积复原(1)概述(2)程序 二:几何失真校正(1)概述(2)程序 一:盲去卷积复原 (1)概述 盲去卷积复原&#…

Java中的ORM框架有哪些,Hibernate 使用讲解

简介 在Java开发中,使用ORM框架是一种常见的开发方式。ORM(Object-Relational Mapping)框架是一种将对象模型和关系模型进行映射的技术,它使得Java开发人员可以使用面向对象的方式来操作关系型数据库,而无需直接使用S…

拍卖行搜索包分析

《天涯明月刀》的明文包内容大多比较简单,不过也有个别封包的结构较大,分析起来较为复杂,以拍卖行的搜索函数为例。 首先通过send返回到明文包的位置(如图) 这个封包的大小为0x56,随意搜索一个物品的名字使游戏断下(如图) 在这…

Vue 3 脚手架搭建

Vue 3 脚手架搭建 一、环境准备1.1 node.js 安装1.2 包管理工具安装:可选 二、创建项目2.1 使用 npm2.2 使用 yarn 三、配置项目3.1 安装初始依赖3.2 增加依赖3.2 配置自动导包3.3 配置 eslint 规则3.4 .vue 文件导入报错解决 四、路由配置4.1 路由类型定义4.2 inde…

加密解密软件VMProtect入门使用教程(八)控制台版本

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

【C++初阶】模板

⭐博客主页:️CS semi主页 ⭐欢迎关注:点赞收藏留言 ⭐系列专栏:C初阶 ⭐代码仓库:C初阶 家人们更新不易,你们的点赞和关注对我而言十分重要,友友们麻烦多多点赞+关注,你们的支持是我…

Java应用程序性能调优的秘诀:掌握JVM自带的命令行工具

Java 自带了多个 JVM 调优工具,以下是其中一些常用的工具: 1)jps(JVM Process Status Tool): 用于显示当前系统中所有正在运行的 Java 进程的 PID 和相关信息。 2)jstat(JVM Stati…

常用的表格检测识别方法-表格区域检测方法(上)

常用的表格检测识别方法 表格检测识别一般分为三个子任务:表格区域检测、表格结构识别和表格内容识别。本章将围绕这三个表格识别子任务,从传统方法、深度学习方法等方面,综述该领域国内国外的发展历史和最新进展,并提供几个先进…

ERP、SCM与CRM系统的关系和区别是什么?

在当今数字化时代,企业管理系统扮演着至关重要的角色,而ERP、SCM和CRM系统是其中三个核心组成部分。 虽然它们都在企业管理中发挥着关键作用,但它们各自的功能和应用领域存在一些区别。 我们先来看看,ERP、SCM与CRM系统分别是啥…

张驰咨询:突破瓶颈降低成本-精益生产咨询的实践策略

在现代企业运营中,提高效率、优化流程是实现成功的关键因素之一。为了帮助企业在这方面取得突破性的进展,精益生产咨询成为了一种备受推崇的方法。本文将介绍精益生产咨询的基本原理、优势以及如何将其应用于企业实践中。 精益生产咨询是一种源于丰田生…

软考- 受限双端队列出队顺序--后面有历年真题

前提:栈和队列 栈: 先进后出 队列:先进先出 对于元素1,2,3,4按照顺序进出栈和队列时: 对于入栈,出栈时: 可以进一个元素,出一个元素: 能得…

基于MATLAB的车牌识别系统+GUI界面的毕业设计(完整源码+课题报告+说明文档+数据)

文章目录 1. 前言2. 实现步骤1)颜色信息提取2)倾斜校正3)字符分割4)字体识别5)语音播报6)存储数据 3. 效果展示4. 总结5. 完整源码下载 1. 前言 近年来,随着交通现代化的发展要求,汽车牌照自动识别技术已经…

网络安全实验——web安全

目录 实验目的 实验原理 实验内容 实验1 1. 地址栏中执行脚本 2. 对DOM技术的利用 实验2 1.jump1 2.jump2 3.get 4.xss 5.注册bss 6.盗取cookie 7.分析cookie 实验3 一.搭建IIS服务器 二.身份验证和权限设置 三.IP地址和域名限制 四.安全通信 五. 单点登录 …

《终身成长》笔记四——如何面对失败

目录 经典摘录 秉性 一个英雄具备的所有特质 ​编辑 什么是成功 什么是失败 掌控成功 领导力与固定型思维模式 成长型思维模式领导者的行为 害羞 经典摘录 秉性 天才们,因为自己拥有的优势而得意忘形,不去学习如何努力奋斗以及如何面对挫折。…