camunda7数据库schame和表结构介绍

本文基于Camunda7.19.0版本,介绍Camunda开源工作流引擎的数据库架构和ER模型,Camunda7.19.0共49张表,包括了BPMN流程引擎、DMN规则引擎、CMMN引擎、历史数据、用户身份等方面的表结构定义,以及表与表之间的关联关系。

1、camunda数据库结构综述

Camunda流程引擎的数据库架构由多个表组成。表名称都以ACT开头。第二部分是表的用例的两个字符标识。此用例也将与服务API大致匹配。

  • ACT_RE_*:RE代表存储库。带有此前缀的表包含“静态”信息,如流程定义和流程资源(图片、规则等)。
  • ACT_RU_*:RU代表运行时间。这些是包含流程实例、用户任务、变量、作业等运行时数据的运行时表。引擎仅在流程实例执行期间存储运行时数据,并在流程实例结束时删除记录。这使运行时表保持小而快。
  • ACT_ID_*:ID代表身份。这些表包含用户、组等标识信息。
  • ACT_HI_*:HI代表历史。这些表包含历史数据,如过去的流程实例、变量、任务等。
  • ACT_GE_*:通用数据,用于各种用例。

流程引擎的主表是流程定义、执行、任务、变量和事件订阅的实体。它们之间的关系如下面的UML模型所示。

流程定义(ACT_RE_PROCDEF)

ACT_RE_PROCDEF表包含所有已部署的流程定义。它包括版本详细信息、资源名称或挂起状态等信息。

流程执行(ACT_RU_EXECUTION

ACT_RU_EXECUTION表包含所有当前执行。它包括流程定义、父执行、业务键、当前活动和有关执行状态的不同元数据等信息。

待办任务(ACT_RU_TASK

ACT_RU_TASK表包含所有正在运行的流程实例的所有打开的任务。它包括相应的流程实例、执行以及元数据(如创建时间、受理人或截止日期)等信息。

流程变量(ACT_RU_VARIABLE

ACT_RU_VARIABLE表包含所有当前设置的流程或任务变量。它包括变量的名称、类型和值,以及有关相应流程实例或任务的信息。

事件订阅(ACT_RU_EVENT_SUBSCR

ACT_RU_EVENT_SUBSCR表包含所有当前存在的事件预订。它包括预期事件的类型、名称和配置,以及有关相应流程实例和执行的信息。

数据库版本日志ACT_GE_SCHEMA_LOG

ACT_GE_SCHEMA_LOG表包含数据库模式版本的历史记录。当对数据库模式进行更改时,会将新条目写入表中。创建数据库时,将添加初始条目。每个更新脚本都会添加一个新条目,其中包含ID、数据库更新到的版本以及更新的日期和时间(时间戳)。

要从模式日志中检索条目,可以使用schemaLogQuery-API:

List<SchemaLogEntry> entries = managementService.createSchemaLogQuery().list();

指标日志(ACT_RU_METER_LOG

ACT_RU_METER_LOG表包含运行时指标的集合,这些指标有助于得出有关Camunda平台的使用情况、负载和性能的结论。度量以Java长范围中的数字形式报告,并计算特定事件的发生次数。有关如何收集指标的详细信息,请参阅指标用户指南:https://docs.camunda.org/manual/7.19/user-guide/process-engine/metrics/.

运行时指标默认配置。MetricsReporter的默认配置将每15分钟在ACT_RU_METER_LOG中为每个度量创建一行。

任务指标日志(ACT_RU_TASK_METER_LOG

ACT_RU_TASK_METER_LOG表包含一组与任务相关的指标,这些指标有助于得出有关BPM平台的使用情况、负载和性能的结论。任务度量包含任务代理人的假名和固定长度值及其出现时间。有关如何收集任务指标的详细信息,请参阅指标用户指南.

每次将任务分配给任务接受者时,都会在ACT_RU_TASK_METER_LOG中创建一行。

2、camunda表结构-实体关系图

数据库不是公共API的一部分。数据库架构可能会因次要和主要版本更新而更改。

请注意:以下图表基于MySQL数据库模式,对于其他数据库,关系图可能略有不同。

下面的实体关系图可视化数据库表及其显式外键约束,按BPMN引擎、DMN引擎、CMMN引擎、引擎历史记录和标识分组。请注意,图表不会将表之间的隐式连接可视化。

2.1、BPMN流程引擎

BPMN引擎共20张表,它们的实体定义和表关系如下:

BPMN引擎数据库表说明:

表名称

表用途说明

ACT_GE_PROPERTY

流程引擎参数信息表

ACT_GE_SCHEMA_LOG  

数据库版本日志表

ACT_RE_PROCDEF

BPMN流程模型定义表

ACT_RE_DEPLOYMENT

BPMN流程模型部署表

ACT_RE_CAMFORMDEF

流程表单定义表

ACT_GE_BYTEARRAY

二进制数据存储表(BPMN模型、表单、脚本、决策表等流程引擎所需的二进制数据)

ACT_RU_TASK_METER_LOG

Task任务性能指标日志表

ACT_RU_EXECUTION

流程引擎执行实例表

ACT_RU_JOB

定时器作业运行表

ACT_RU_JOBDEF

定时器作业定义表

ACT_RU_VARLABLE

流程运行时变量表

ACT_RU_EXT_TASK

外部任务待办表

ACT_RU_INCIDENT

运行时异常记录表

ACT_RU_AUTHORIZATION

资源授权权限表

ACT_RU_FILTER

流程查询过滤器定义表

ACT_RU_METER_LOG

流程指标日志记录表

ACT_RU_TASK

待办任务表

ACT_RU_EVENT_SUBSCR

事件订阅表

ACT_RU_IDENTITYLINK

流程处理用户ID关联表

ACT_RU_BATCH

流程批处理信息表

2.2、DMN决策引擎

DMN引擎数据库表说明:

表名称

表用途说明

ACT_RE_DECISION_DEF

DMN决策定义表

ACT_RE_DECISION_REQ_DEF

DMN决策需求定义表

2.3、CMMN案例引擎

CMMN(案例)引擎共5张表,其中待办任务和变量表,复用流程引擎的ACT_RU_TASK和ACT_RU_VARLABLE表。

CMMN(案例)引擎数据库表说明:

表名称

表用途说明

ACT_RE_CASE_DEF

CMMN模型定义表

ACT_RU_CASE_EXECUTION

CMMN实例执行信息表

ACT_RU_CASE_SENTRY_PART

CMMN案例实例中的哨兵条件配置和评估结果信息表

ACT_RU_TASK

待办任务表,跟BPMN引擎复用一张表

ACT_RU_VARLABLE

流程运行时变量表,跟BPMN引擎复用一张表

2.4、实例历史记录表

camunda流程实例历史记录表共18张表,为了允许不同的配置并使表更加灵活,历史表不包含外键约束。

流程实例历史记录数据库表说明:

表名称

表用途说明

ACT_HI_PROCINST

流程实例的历史记录表

ACT_HI_ACTINST

活动实例的历史记录表

ACT_HI_ATTACHMENT

流程附件的历史记录表

ACT_HI_BATCH

批处理的历史记录表

ACT_HI_COMMENT

流程审批意见的历史记录表

ACT_HI_DETAIL

流程变量详情的历史记录表

ACT_HI_EXT_TASK_LOG

外部任务执行日志的历史记录表

ACT_HI_IDENTITYLINK

待办处理用户关系的历史记录表

ACT_HI_INCIDENT

流程异常事件的历史记录表

ACT_HI_JOB_log

定时作业的历史记录表

ACT_HI_OP_log

操作日志的历史记录表

ACT_HI_TASKINST

流程待办任务的历史记录表

ACT_HI_VARINST

流程变量的历史记录表

ACT_HI_DECINST

DMN决策实例的历史记录表

ACT_HI_DEC_IN

DMN决策变量输入的历史记录表

ACT_HI_DEC_OUT

DMN决策变量输出的历史记录表

ACT_HI_CASEINST

CMMN实例的历史记录表

ACT_HI_CASEACTINST

CMMN活动实例的历史记录表

2.5、组织用户身份表

用户身份数据库表说明:

表名称

表用途说明

ACT_ID_USER

用户信息表

ACT_ID_GROUP

群组信息表

ACT_ID_MEMBERSHIP

用户群组关系表

ACT_ID_INFO

用户扩展信息表

ACT_ID_TENANT

租户信息表

ACT_ID_TENANT_MEMBER

租户成员表

更详细数据库表结构说明:https://blog.csdn.net/wxz258/article/details/109048818

在线体验工作流引擎功能:http://www.yunchengxc.com

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SQL优化——插入数据、主键优化、order by 优化、group by 优化、limit 优化、count优化、update优化、

目录 1、SQL优化1——插入数据&#xff08;Insert&#xff09; 1.1、普通插入&#xff1a; 1.1.1、采用批量插入&#xff08;一次插入的数据不建议超过1000条&#xff09; 1.1.2、手动提交事务 1.1.3、主键顺序插入 1.2、大批量插入 1.2.1、在客户端连接服务器的时候&am…

Python——桌面摄像头软件(附源码+打包)

目录 一、前言 二、桌面摄像头软件 2.1、下载项目 2.2、功能介绍 三、打包工具&#xff08;nuitka&#xff09; 四、项目文件复制&#xff08;我全部合到一个文件里面了&#xff09; 五、结语 一、前言 看见b站的向军大叔用electron制作了一个桌面摄像头软件 但是&#x…

【离散化】【 树状树状 】100246 将元素分配到两个数组中

本文涉及知识点 离散化 树状树状 LeetCode 100246 将元素分配到两个数组中 给你一个下标从 1 开始、长度为 n 的整数数组 nums 。 现定义函数 greaterCount &#xff0c;使得 greaterCount(arr, val) 返回数组 arr 中 严格大于 val 的元素数量。 你需要使用 n 次操作&#x…

Network LSA 结构简述

Network LSA主要用于描述一个区域内的网络拓扑结构&#xff0c;包括网络中的路由器和连接到这些路由器的网络。它记录了每个路由器的邻居关系、连接状态以及连接的度量值&#xff08;如带宽、延迟等&#xff09;&#xff0c;以便计算最短路径和构建路由表。display ospf lsdb n…

CentOS下安装Kafka3

kafka是分布式消息队列&#xff0c;本文讲述其在centos&#xff08;centos 7.5&#xff09;下的安装。安装过程可以参考其官方文档https://kafka.apache.org/36/documentation.html 首先在官网 https://kafka.apache.org/downloads 下载Kafka二进制文件&#xff08;官网的压缩包…

WordPress免费的远程图片本地化下载插件nicen-localize-image

nicen-localize-image&#xff08;可在wordpress插件市场搜索下载&#xff09;&#xff0c;是一款用于本地化文章外部图片的插件&#xff0c;支持如下功能&#xff1a; 文章发布前通过编辑器插件本地化 文章手动发布时自动本地化 文章定时发布时自动本地化 针对已发布的文章…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《基于条件风险价值的虚拟电厂参与能量及备用市场的双层随机优化》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 这篇文章的标题涉及到以下几个关键点…

数字革命的浪潮:Web3如何改变一切

随着数字技术的不断发展&#xff0c;人类社会正迎来一场前所未有的数字革命浪潮。在这个浪潮中&#xff0c;Web3技术以其去中心化、安全、透明的特性&#xff0c;正在逐渐改变着我们的生活方式、商业模式以及社会结构。本文将深入探讨Web3技术如何改变一切&#xff0c;以及其所…

【学习心得】请求参数加密的原理与逆向思路

一、什么是请求参数加密&#xff1f; 请求参数加密是JS逆向反爬手段中的一种。它是指客户端&#xff08;浏览器&#xff09;执行JS代码&#xff0c;生成相应的加密参数。并带着加密后的参数请求服务器&#xff0c;得到正常的数据。 常见的被加密的请求参数sign 它的原理和过程图…

【C语言】【洛谷】P1125笨小猴

一、个人解答 #include<stdio.h> #include<string.h>int prime(int num);int main() {char max a, min z;int maxn0, minn1000;char str[100];int num[26] { 0 };fgets(str, sizeof(str), stdin);str[strcspn(str, "\n")] \0;for (int i 0; str[i]…

ABAP - SALV 教程15 用户点击按钮交互功能

SALV增加了按钮&#xff0c;那么该怎么实现点击了按钮实现交互功能呢&#xff1f;可以通过注册事件并且在对应的method中写入相关逻辑&#xff0c;来实现点击按钮后的逻辑。通过自定义状态栏的方式添加按钮&#xff1a;http://t.csdnimg.cn/lMF16通过使用派生类的方式添加按钮&…

【MetaGPT】配置教程

MetaGPT配置教程&#xff08;使用智谱AI的GLM-4&#xff09; 文章目录 MetaGPT配置教程&#xff08;使用智谱AI的GLM-4&#xff09;零、为什么要学MetaGPT一、配置环境二、克隆代码仓库三、设置智谱AI配置四、 示例demo&#xff08;狼羊对决&#xff09;五、参考链接 零、为什么…

java学习(常用类)

一、包装类&#xff08;针对八种基本数据类型相应的引用类型--包装类. 1)包装类和基本数据类型的相互转换 装箱&#xff1a;基本类型->包装类型 拆箱&#xff1a;包装类型->基本类型 //以下是int类型和char类型演示。 public class temp1 {public static void main(St…

【Web - 框架 - Vue】随笔 - 通过CDN的方式使用VUE 2.0和Element UI

通过CDN的方式使用VUE 2.0和Element UI - 快速上手 VUE 网址 https://cdn.bootcdn.net/ajax/libs/vue/2.7.16/vue.js源码 https://download.csdn.net/download/HIGK_365/88815507测试 代码 <!DOCTYPE html> <html lang"en"> <head><meta …

C语言基础(五)——结构体与C++引用

七、结构体与C引用 7.1 结构体的定义、初始化、结构体数组 C 语言提供结构体来管理不同类型的数据组合。通过将不同类型的数据组合成一个整体&#xff0c;方便引用 例如&#xff0c;一名学生有学号、姓 名、性别、年龄、地址等属性&#xff0c;如果针对学生的学号、姓名、年龄…

VMware 虚拟机安装windows 10操作系统

先提前准备好镜像文件 1.创建新的虚拟机 2.选择自定义&#xff0c;然后下一步 v Windows 建议选择2G以上&#xff0c;下一步 选择网络地址转换&#xff08;NAT&#xff09;&#xff0c;下一步 这里可按自己的需求来分区&#xff0c;也可以安装好后再分区 选择立即重启&#xff…

【计算机毕业设计】208基于SSM的在线教育网站

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

Redis高并发高可用详解

Redis高并发高可用 复制 在分布式系统中为了解决单点问题&#xff0c;通常会把数据复制多个副本部署到其他机器&#xff0c;满足故障恢复和负载均衡等需求。Redis也是如此&#xff0c;它为我们提供了复制功能&#xff0c;实现了相同数据的多个Redis 副本。复制功能是高可用Re…

Effective objective-c-- 内存管理

Effective objective-c-- 内存管理 前言理解引用计数引用计数工作原理属性存取方法中的内存管理自动释放池保留环要点 以ARC简化引用计数使用ARC时必须遵循的方法和命名规则变量的内存管理语义ARC如何清理实例变量覆写内存管理方法要点 在dealloc方法中只释放引用并解除监听要点…

【数据分享】2000~2022年中国区域MOD16A2GF V061 潜在蒸散发PET数据

各位同学们好&#xff0c;今天和大伙儿分享的是2000~2022年中国区域MOD16A2GF V061 潜在蒸散发PET数据。如果大家有下载处理数据等方面的问题&#xff0c;您可以私信或者评论。 Running, S., Mu, Q., Zhao, M., Moreno, A. (2021). MODIS/Terra Net Evapotranspiration Gap-Fil…