Activiti工作流引擎数据库详解

需积分: 9 1 下载量 152 浏览量 更新于2024-09-11 收藏 1.45MB DOC 举报
"这篇资料主要介绍了Activiti工作流引擎的数据库设计,包括各个表的命名规范、表结构以及一些核心表的功能和字段说明。" 在Activiti工作流引擎中,数据库设计扮演着至关重要的角色,它负责存储流程的静态信息、运行时数据、身份信息、历史记录以及通用数据。下面我们将详细探讨这些方面。 1. **表命名规范** - Activiti数据库中的表名以`ACT_`开头,后面跟着两个字符的分类标识。例如: - `ACT_RE_*`:代表Repository,存储流程定义和相关资源。 - `ACT_RU_*`:代表Runtime,存储运行时数据,如流程变量、用户任务等。 - `ACT_ID_*`:代表Identity,用于存储用户、用户组等身份信息。 - `ACT_HI_*`:代表History,包含历史数据,如已完成的流程实例。 - `ACT_GE_*`:通用数据,适用于多种情况。 2. **核心数据库表结构及功能** - **ACT_GE_PROPERTY**:存储流程引擎级别的属性数据,如名称、值和版本号。 - **ACT_GE_BYTEARRAY**:保存部署文件的大文本数据,包括文件编号、名称、部署ID和字节流内容。 - **ACT_RE_DEPLOYMENT**:存储部署信息,如部署ID、部署包名称和部署时间。 - **ACT_RE_PROCDEF**:业务流程定义数据表,包含了流程ID(由流程编号、流程版本号和自增长ID组成)、命名空间、流程名称、流程编号和版本号。 3. **其他关键表** - `ACT_ID_*`系列的表,如`ACT_ID_USER`(用户表)、`ACT_ID_GROUP`(用户组表)和`ACT_ID_MEMBERSHIP`(用户-组关系表),用于管理身份信息。 - `ACT_RU_*`系列的表,如`ACT_RU_TASK`(用户任务表)、`ACT_RU_VARIABLE`(运行时变量表)和`ACT_RU_JOB`(定时任务表),记录运行时状态。 - `ACT_HI_*`系列的表,如`ACT_HI_PROCINST`(历史流程实例表)、`ACT_HI_TASKINST`(历史任务实例表)和`ACT_HI_VARINST`(历史变量实例表),用于存储已完成流程的相关历史信息。 4. **流程实例生命周期** - 当流程实例启动时,相关数据会被存储在`ACT_RU_*`表中,随着流程的执行,这些表会不断更新。 - 当流程实例结束,`ACT_RU_*`表中的记录会被清理,相应的历史数据会移动到`ACT_HI_*`表中,确保运行时表保持较小且高效。 Activiti的数据库设计是其强大功能的基石,它使得流程实例的管理和追踪变得简单而高效,同时提供了丰富的历史数据供分析和审计。了解并掌握这些数据库表结构对于深入理解并使用Activiti至关重要。