返回
揭秘 Flowable 79 张数据表:全面解析流程引擎背后的秘密
后端
2024-02-15 08:20:55
揭秘 Flowable 79 张数据表:全面解析流程引擎背后的秘密
前言
Flowable 是一个功能强大的开源流程引擎,提供了各种功能来支持复杂的业务流程建模和自动化。在使用 Flowable 时,我们主要通过 API 与它交互,而这些 API 最终操作的是底层的数据库表。Flowable 默认创建了 79 张数据表,每一张表都有其特定的作用。本文将深入探讨这些数据表,帮助您全面了解 Flowable 流程引擎的内部运作机制。
Flowable 数据表概览
Flowable 79 张数据表可以分为以下几个类别:
- 核心表: 存储流程定义、流程实例、任务和变量等核心流程数据。
- 用户和组表: 管理系统中的用户和组,并维护他们的权限。
- 历史表: 记录流程实例的历史状态和事件。
- 数据库锁定表: 用于实现乐观并发控制。
- 任务查询表: 优化任务查询性能。
- 其他表: 存储 Flowable 引擎的各种配置和元数据信息。
核心表
核心表是 Flowable 流程引擎的关键,存储了流程定义、流程实例、任务和变量等数据。这些表包括:
- ACT_RE_PROCDEF: 存储流程定义信息,如流程名称、和 XML。
- ACT_RE_PROCDEF_INFO: 存储流程定义的附加信息,如分类和版本。
- ACT_RU_EXECUTION: 存储流程实例的执行信息,如流程实例 ID、当前活动和变量。
- ACT_RU_TASK: 存储任务信息,如任务 ID、名称、委派人和状态。
- ACT_RU_VARIABLE: 存储流程变量的值。
用户和组表
用户和组表用于管理系统中的用户和组,并维护他们的权限。这些表包括:
- ACT_ID_USER: 存储用户信息,如用户名、密码和电子邮件地址。
- ACT_ID_GROUP: 存储组信息,如组名称和。
- ACT_ID_MEMBERSHIP: 存储用户和组之间的关系。
历史表
历史表记录流程实例的历史状态和事件。这些表包括:
- ACT_HI_ACTINST: 存储活动实例的历史信息,如开始时间、结束时间和执行用户。
- ACT_HI_DETAIL: 存储流程变量的历史值。
- ACT_HI_PROCINST: 存储流程实例的历史信息,如开始时间、结束时间和状态。
- ACT_HI_TASKINST: 存储任务实例的历史信息,如开始时间、结束时间和委派用户。
数据库锁定表
数据库锁定表用于实现乐观并发控制,防止多个用户同时修改相同的数据。这些表包括:
- ACT_LO_LOCK: 存储流程实例的锁信息。
任务查询表
任务查询表优化了任务查询性能。这些表包括:
- ACT_RU_TASK_CANDIDATE: 存储任务候选人的信息。
- ACT_RU_TASK_IDENTITY_LINK: 存储任务和用户或组之间的关系。
其他表
除了上述类别外,还有一些其他表存储 Flowable 引擎的各种配置和元数据信息。这些表包括:
- ACT_GE_BYTEARRAY: 存储大二进制对象,如流程图。
- ACT_GE_PROPERTY: 存储引擎配置信息。
- ACT_ID_INFO: 存储引擎信息,如版本和许可证。
结论
Flowable 79 张数据表为流程引擎提供了坚实的基础。这些表存储了流程定义、流程实例、任务、变量和历史事件等关键数据,并通过用户和组表、数据库锁定表和任务查询表等其他表进行了补充。通过了解这些数据表及其相互关系,您可以深入了解 Flowable 流程引擎的内部运作机制,并更有效地使用它来自动化您的业务流程。