Flowable:数据库详情
Posted fntp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flowable:数据库详情相关的知识,希望对你有一定的参考价值。
Flowable(二):数据库详情
红色文字描述代表当前描述未确认
橘色文字描述代表当前描述存在争议
绿色文字描述代表当前描述已考证
一、数据驱动详情
(1)数据库软件类型
内置对H2Base、mysql的良好支持。
(2)数据驱动模式
对于Flowable来说,其本身是采用Liquibase 来管理数据库模式
二、数据表详情
(1)数据表分类标准
Flowable数据表定义趋于常规。按照OMG国际惯例制定的流程XML标准内容进行分类,Flowable数据表分为三类:
(1)第一类:遵循BPMN协议(或者说遵循BPMN规范)的流程数据表。
(2)第二类:遵循CMMN协议(或者说遵循CMMN规范)的流程数据表。
(3)第三类:遵循DMN协议(或者说遵循DMN规范)的流程数据表。
(2)数据表命名规则
与 Flowable 开源代码库相关的数据库表名以**ACT _**开头。**特定于 Flowable Work 或 Engage 的数据库表以FLW _**前缀开头。
Flowable数据表命名主要分为三大规则,每一个数据表的命名基本可以拆卸为三个部分,每一个部分对应一个规则。
第一部分大多数均以ACT开头,这个缘由可以看小字部分,主要也是为了兼容Activiti的迁移,这也是第一个命名规则。
第二部分是说明表用途的两字符标示符。服务API的命名也大略符合这个规则,这也是第二个命名规则。
第三部分就是根据具体的业务分类,这是第三个命名规则。
所以,综上所述,就能知道,ACT代表的Activiti;FLW顾名思义就是Flowable了,FLW开头的表也有一些,等遇到了再做解释。
Flowable源自于Activiti,所以很多数据表都是一个套路,可以参考Activiti
Flowable 是 Activiti 的一个分支,原来技术成员都是Activiti 归属企业 Alfresco 的成员。
后来大牛跟企业又出现分歧,小暴脾气又独立门户了,就有了Flowable,所以Flowable与Activiti有很多类似的地方。
(3)数据表作用分类
(1)常用模式:待更新
(2)辅助数据表:待更新
(3)通用数据表:原始数据库表(如 BPMN 和 IDM 的表)使用 Flowable 模式和脚本进行版本管理。较新的引擎和表使用 Liquibase 进行表版本控制。有两个与数据库模式管理相关的 Liquibase 表:(简单说的话就是看后缀)
- <前缀> _ DATABASECHANGELOG:Liquibase 使用此表来跟踪哪些变更集已运行。
- <前缀> _ DATABASECHANGELOGLOCK:Liquibase 使用此表来确保一次仅运行一个 Liquibase 实例。
注意: 是一个基于 Java 的框架,用于跟踪数据库模式的变化。
(4)数据表介绍
**ACT_APP_ *** 类型表:ACT_APP顾名思义就是activiti的应用的表,这种表(表第二部分不含有CMMN或者是DMN)属于BPMN类型的数据表。
表名 | 作用 | 版本 |
---|---|---|
ACT_APP_APPDEF | 应用模型定义数据表,应用程序模型产生应用程序定义。此定义,如流程/案例/等。是成功部署到应用引擎的应用模型的表示 | 6.7.2 |
ACT_APP_DEPLOMENT | 应用部署表,当通过应用引擎部署应用模型时,会存储一条记录以指示此部署**。部署的实际内容被引用并*存储在ACT_APP_DEPLOYMENT_RESOURCE表中*。 | 6.7.2 |
ACT_APP_DEPLOMENT_RESOURCE | 应用部署资源表,此表包含构成应用程序部署的实际资源(存储为字节)**。**当引擎需要实际模型时,将从该表中获取资源。 | 6.7.2 |
ACT_APP_DATABASECHANGELOGLOCK | Liquibase执行锁 | 6.7.2 |
ACT_APP_DATABASECHANGELOG | Liquibase执行的记录 | 6.7.2 |
**ACT_CMMN_ * ** 类型表:CMMN-表示案例管理模型和符号,与BPMN协议一致,也是一种流程内容的规范。这类表用于存储处理BPMN不所能适用的业务场景数据,通常与BPMN搭配适用,前提是符合CMMN规范的模型的数据才会涉及到适用这类表。ACT_CMMN_RU_ * :RU代表运行时。这些是包含案例实例、计划项等的运行时数据的运行时表。Flowable 仅在案例实例执行期间存储运行时数据,并在案例实例结束时删除记录。这使运行时表保持小且查询速度快。
表名 | 作用 | 版本 |
---|---|---|
ACT_CMMN_CASEDEF | CMMN流程用例定义 | 6.7.2 |
ACT_CMMN_DATABASECHANGELOG | Liquibase执行的记录 | 6.7.2 |
ACT_CMMN_DATABASECHANGELOGLOCK | Liquibase执行锁 | 6.7.2 |
ACT_CMMN_DEPLOMENT | CMMN流程部署表 | 6.7.2 |
ACT_CMMN_HI_CASE_INST | CMMN流程历史用例实例表 | 6.7.2 |
ACT_CMMN_HI_MIL_INST | 此表包含在案例实例中达到的每个里程碑的条目 | 6.7.2 |
ACT_CMMN_HI_PLAN_ITEM_INST | 此表包含作为案例实例执行的一部分创建的每个计划项目实例的条目 | 6.7.2 |
ACT_CMMN_RU_CASE_INST | 此表包含每个已启动但尚未完成的案例实例的条目。 | 6.7.2 |
ACT_CMMN_RU_MIL_INST | 此表包含作为运行案例实例的一部分达到的每个里程碑的条目。 | 6.7.2 |
ACT_CMMN_RU_PLAN_ITEM_INST | 案例实例执行由案例定义中定义的计划项目的多个实例组成。此表包含在案例实例执行期间创建的每个实例的条目。 | 6.7.2 |
ACT_CMMN_RU_SENTRY_PART_INST | 计划项目实例可以有守卫状态转换的哨兵。这样的哨兵可以包含在状态改变发生之前需要满足的多个部分。此表存储满足的此类哨兵的任何部分。 | 6.7.2 |
**ACT_CO_ * ** 类型表:内容引擎数据表。
内容引擎用于存储和查询内容。内容可以是文档、图像等。
表名 | 作用 | 版本 |
---|---|---|
ACT_CO_CONTENT_ITEM | 每项内容在此表中都有一个条目 | 6.7.2 |
ACT_CO_DATABASECHANGELOG | Liquibase执行的记录 | 6.7.2 |
ACT_CO_DATABASECHANGELOGLOCK | Liquibase执行锁 | 6.7.2 |
ACT_DMN_ * ** 类型表:Flowable DMN的数据库名称都以ACT_DMN_**开头,DMN决策表。
表名 | 作用 | 版本 |
---|---|---|
ACT_DMN_DATABASECHANGELOGLOCK | Liquibase执行锁 | 6.7.2 |
ACT_DMN_DATABASECHANGELOG | Liquibase执行的记录 | 6.7.2 |
ACT_DMN_DECISION | 此表包含已部署决策表的元数据,并与其他引擎的定义相对应 | 6.7.2 |
ACT_DMN_DEPLOMENT | 决策部署表 | 6.7.2 |
ACT_DMN_DEPLOMENT_RESOURCE | 决策部署涉及资源表 | 6.7.2 |
ACT_DMN_HI_DECISION_EXECUTION | 此表包含有关 DMN 决策表执行的审计信息 | 6.7.2 |
**ACT_EVT_ * ** 类型表:EVT代表event事件
表名 | 作用 | 版本 |
---|---|---|
ACT_EVT_LOG | 事件日志表 | 6.7.2 |
**ACT_FO_ * ** 类型表:FO-表示form(表格表)。
表名 | 作用 | 版本 |
---|---|---|
ACT_FO_DATABASECHANGELOG | Liquibase执行的记录 | 6.7.2 |
ACT_FO_DATABASECHANGELOGLOCK | Liquibase执行锁 | 6.7.2 |
ACT_FO_FORM_DEFINITION | 表格定义表 | 6.7.2 |
ACT_FO_FORM_DEPLOYMENT | 表格部署表 | 6.7.2 |
ACT_FO_FORM_INSTANCE | 表格实例表 | 6.7.2 |
ACT_FO_FORM_RESOURCE | 表格资源表 | 6.7.2 |
**ACT_GE_ * ** 类型表:GE 代表通用数据,用于各种用例。
表名 | 作用 | 版本 |
---|---|---|
ACT_GE_BYTEARRAY | 保存和流程引擎相关的资源,只要调用了Activiti存储服务的API,涉及的资源均会被转换为byte数组保存到这个表中,部署几次就会有几条记录 | 6.7.2 |
ACT_GE_PROPERTY | 流程全部的属性抽象为key-value对,每个属性都有名称和值。 | 6.7.2 |
*ACT_HI_ ** 类型表:HI表示history。(10张表)就是这些表包含着历史的相关数据,如结束的流程实例,变量,任务,等等。
表名 | 作用 | 版本 |
---|---|---|
ACT_HI_ACTINST | 流程实例历史 | 6.7.2 |
ACT_HI_ATTACHMENT | 实例的历史附件(几乎不会使用,会加大数据库很大的一个loading) | 6.7.2 |
ACT_HI_COMMENT | 实例的历史备注 | 6.7.2 |
ACT_HI_DETAIL | 历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。 | 6.7.2 |
ACT_HI_ENTITYLINK | 历史流程人员表,任务参与者数据表,主要存储历史节点参与者的信息。 | 6.7.2 |
ACT_HI_INDENTITYLINK | 实例节点中,如果指定了目标人,产生的历史 | 6.7.2 |
ACT_HI_PROCINST | 流程实例历史 | 6.7.2 |
ACT_HI_TASKINST | 流程实例的任务历史。 | 6.7.2 |
ACT_HI_TSK_LOG | 来跟踪用户/人工任务发生的更改。(在任务的受让人、所有者或例如到期日期发生变化时创建。默认情况下,用户/人工任务日志记录是禁用的,enableHistoricTaskLogging 属性可以启用) | 6.7.2 |
ACT_HI_VARINST | 流程实例的变量历史。 | 6.7.2 |
**ACT_ID_ *** 类型表: ID表示identity(组织机构)。(9张表)这些表包含标识的信息,如用户,用户组,等等。
表名 | 作用 | 版本 |
---|---|---|
ACT_ID_BYTEARRAY | 6.7.2 | |
ACT_ID_GROUP | 此表包含系统中定义的每个组的条目。 | 6.7.2 |
ACT_ID_INFO | 此表存储有关用户的非结构化数据,这些数据未存储在FLW _ ID _ USER表中。 | 6.7.2 |
ACT_ID_MEMBERSHIP | 此表映射用户和组之间的关系。也就是说,哪些用户属于哪些组 | 6.7.2 |
ACT_ID_PRIV | 权限表 | 6.7.2 |
ACT_ID_PRIV_MAPPING | 用户组和权限之间的关系 | 6.7.2 |
ACT_ID_PROPERTY | 用户或者用户组属性拓展表 | 6.7.2 |
ACT_ID_TOKEN | 当用户成功登录时,令牌将作为会话数据的一部分存储。集群中的每台服务器都可以查询这个数据库表来协调每台服务器上的用户会话。 | 6.7.2 |
ACT_ID_USER | 此表包含系统中定义的每个用户的条目。 | 6.7.2 |
**ACT_RE_ * ** 类型表:RE-表示repository(存储)。这类表是由RepositoryService接口操作的表。带此前缀的表包含的是静态信息,如流程定义,流程的资源
(图片,规则等)。
表名 | 作用 | 版本 |
---|---|---|
ACT_GE_BYTEARRAY | 保存和流程引擎相关的资源,只要调用了Activiti存储服务的API,涉及的资源均会被转换为byte数组保存到这个表中,部署几次就会有几条记录 | 6.7.2 |
ACT_GE_PROPERTY | 流程全部的属性抽象为key-value对,每个属性都有名称和值。 | 6.7.2 |
**ACT_RU_ * **类型表:RU表示runtime。(15张表)这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。flowable只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。
表名 | 作用 | 版本 |
---|---|---|
ACT_RU_ACTINST | 流程实例中**的每个活动在此表中都有一行来指示活动的当前状态。 | 6.7.2 |
ACT_RU_DEADLETTER_JOB | Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据。 | 6.7.2 |
ACT_RU_ENTITYLINK | 此表存储有关实例的父子关系的信息。例如,如果流程实例启动子案例实例,则此关系存储在此表中。这样可以轻松查询关系。 | 6.7.2 |
ACT_RU_EVENT_SUBSCR | 当流程定义使用事件(信号/消息/等或启动/中间/边界)时,引擎将对该表的引用存储在此表中。这简化了查询哪些实例正在等待某种类型的事件 | 6.7.2 |
ACT_RU_EXECUTION | 存储流程实例和指向流程实例当前状态的指针(称为执行) | 6.7.2 |
ACT_RU_EXTERNAL_JOB | Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据。 | 6.7.2 |
ACT_RU_HISTORY_JOB | Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据。 | 6.7.2 |
ACT_RU_IDENTITYLINK | 此表存储有关用户或组的数据及其与(流程/案例/等)实例相关的角色。该表也被其他需要身份链接的引擎使用。 | 6.7.2 |
ACT_RU_JOB | Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据。 | 6.7.2 |
ACT_RU_SUSPENDED_JOB | Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据。 | 6.7.2 |
ACT_RU_TASK | 此表包含一个正在运行的实例的每个未完成用户任务的条目。然后在查询用户的任务列表时使用此表。CMMN 引擎也使用此表 | 6.7.2 |
ACT_RU_TIMER_JOB | Flowable 引擎使用作业表来实现异步逻辑、计时器或历史处理。这些表存储每个作业所需的数据。 | 6.7.2 |
ACT_RU_VARIABLE | 此表存储与实例相关的变量。CMMN 引擎也使用此表。 | 6.7.2 |
*FLW_ ** 类型表:FLW表示flowable
表名 | 作用 | 版本 |
---|---|---|
FLW_CHANNEL_DEFINITION | 泳池管道定义表 | 6.7.2 |
FLW_EV_DATABASECHANGELOG | Liquibase执行的记录 | 6.7.2 |
FLW_EV_DATABASECHANGELOGLOCK | Liquibase执行锁 | 6.7.2 |
FLW_EVENT_DEFINITION | 已部署事件定义的元数据 | 6.7.2 |
FLW_EVENT_DEPLOYMENT | 已部署事件部署元数据 | 6.7.2 |
FLW_EVENT_RESOURCE | 事件所需资源 | 6.7.2 |
FLW_RU_BATCH | 迁移业务流程实例并非易事,但Flowable提供了迁移复杂流程的高级功能,也可以在批处理和测试模式下迁移,这张表用于处理批量迁移详情 | 6.7.2 |
FLW_RU_BATCH_PART | 批量数据迁移模块 | 6.7.2 |
未完待续,更多内容:尽在码农修炼笔记
以上是关于Flowable:数据库详情的主要内容,如果未能解决你的问题,请参考以下文章
jsp问题:想在详情页面必填项文字后边加上(*)且*为红色,