Activiti 库表结构 张表
- 格式:pdf
- 大小:421.94 KB
- 文档页数:17
activiti的28张表结构Activiti是一个基于Java的工作流引擎,用于业务流程管理和自动化。
它提供了一套完整的工作流解决方案,包括流程定义、流程实例、任务和用户等管理功能。
以下是Activiti的28张表结构:1. ACT_GE_BYTEARRAY:保存流程引擎相关的资源,如bpmn、png等文件。
2. ACT_GE_PROPERTY:属性表,保存一些基本属性,为k-v格式。
3. ACT_RE_DEPLOYMENT:保存流程部署相关的信息。
4. ACT_RE_MODEL:保存模型相关的信息。
5. ACT_RE_PROCDEF:保存流程定义的相关信息。
6. ACT_RU_EXECUTION:保存流程实例的相关信息。
7. ACT_RU_JOB:保存定时任务的相关信息。
8. ACT_RU_TASK:保存任务的相关信息。
9. ACT_RU_VARIABLE:保存变量相关的信息。
10. ACT_ID_GROUP:保存用户组的信息。
11. ACT_ID_MEMBERSHIP:保存用户与用户组之间的关系。
12. ACT_ID_USER:保存用户的信息。
13. ACT_HI_ATTACHMENT:保存附件的相关信息。
14. ACT_HI_COMMENT:保存评论的相关信息。
15. ACT_HI_DETAIL:保存详细日志的相关信息。
16. ACT_HI_IDENTITYLINK:保存人员与任务之间的关系。
17. ACT_HI_PROCINST:保存流程实例的相关信息。
18. ACT_HI_TASKINST:保存任务实例的相关信息。
19. ACT_HI_VARINST:保存变量实例的相关信息。
20. ACT_IDX_BYTEARRAY:保存索引字节数组的信息。
21. ACT_IDX_DEPLOYMENT:保存索引部署的信息。
22. ACT_IDX_EXECUTION:保存索引执行的信息。
23. ACT_IDX_PROCDEF:保存索引流程定义的信息。
Activiti数据表结构目录1ACTIVITI数据库表结构 ----------------------------------------------------------------------------------------------- 21.1数据库表名说明 ------------------------------------------------------------------------------------------------ 21.2数据库表结构---------------------------------------------------------------------------------------------------- 31.2.1Activiti数据表清单: ---------------------------------------------------------------------------------------- 31.2.2表名:ACT_GE_BYTEARRAY (通用的流程定义和流程资源)-------------------------------- 31.2.3表名:ACT_GE_PROPERTY (系统相关属性) ----------------------------------------------------- 41.2.4表名:ACT_HI_ACTINST (历史节点表) ------------------------------------------------------------ 51.2.5表名:ACT_HI_ATTACHMENT (附件信息)-------------------------------------------------------- 61.2.6表名:ACT_HI_COMMENT (历史审批意见表)-------------------------------------------------- 61.2.7表名:ACT_HI_DETAIL (历史详细信息)----------------------------------------------------------- 71.2.8表名:ACT_HI_IDENTITYLINK (历史流程人员表) ---------------------------------------------- 81.2.9表名:ACT_HI_PROCINST(历史流程实例信息)核心表---------------------------------------- 81.2.10表名:ACT_HI_TASKINST(历史任务流程实例信息)核心表------------------------------ 91.2.11表名:ACT_HI_VARINST(历史变量信息) ------------------------------------------------------ 91.2.12表名:ACT_ID_GROUP(用户组表) ------------------------------------------------------------ 101.2.13表名:ACT_ID_INFO (用户扩展信息表) ---------------------------------------------------- 101.2.14表名:ACT_ID_MEMBERSHIP(用户用户组关联表) -------------------------------------- 111.2.15表名:ACT_ID_USER(用户信息表) ------------------------------------------------------------ 111.2.16表名:ACT_RE_DEPLOYMENT(部署信息表)------------------------------------------------ 121.2.17表名:ACT_RE_MODEL (流程设计模型部署表) ----------------------------------------------- 121.2.18表名:ACT_RE_PROCDEF (流程定义表) ---------------------------------------------------- 131.2.19表名:ACT_RU_EVENT_SUBSCR (运行时事件) ------------------------------------------------- 141.2.20表名:ACT_RU_EXECUTION (运行时流程执行实例) ----------------------------------- 151.2.21表名:ACT_RU_IDENTITYLINK(身份联系) --------------------------------------------------- 151.2.22表名:ACT_RU_JOB(运行中的任务)---------------------------------------------------------- 161.2.23表名:ACT_RU_TASK(运行时任务数据表) ------------------------------------------------------ 161.2.24表名:ACT_RU_VARIABLE(运行时流程变量数据表) ----------------------------------------- 17 2ACTIVITI中主要对象的关系 -------------------------------------------------------------------------------------- 181Activiti数据库表结构1.1数据库表名说明Activiti工作流总共包含23张数据表,所有的表名默认以“ACT_”开头。
activiti工作流数据库表详细介绍(23张表)Activiti的后台是有数据库的支持,所有的表都以ACT_开头。
第二部分是表示表的用途的两个字母标识。
用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。
这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。
这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。
Activiti 只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。
这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。
这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。
这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
资源库流程规则表1) act_re_deployment 部署信息表2) act_re_model 流程设计模型部署表3) act_re_procdef 流程定义数据表运行时数据库表1) act_ru_execution运行时流程执行实例表2) act_ru_identitylink运行时流程人员表,主要存储任务节点与参与者的相关信息3) act_ru_task运行时任务节点表4) act_ru_variable运行时流程变量数据表历史数据库表1) act_hi_actinst 历史节点表2) act_hi_attachment历史附件表3) act_hi_comment历史意见表4) act_hi_identitylink历史流程人员表5) act_hi_detail历史详情表,提供历史变量的查询6) act_hi_procinst历史流程实例表7) act_hi_taskinst历史任务实例表8) act_hi_varinst历史变量表组织机构表1) act_id_group用户组信息表2) act_id_info用户扩展信息表3) act_id_membership用户与用户组对应信息表4) act_id_user用户信息表这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足通用数据表1) act_ge_bytearray二进制数据表2) act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录,书生整理于网络。
工作流引擎activiti表结构和代码详解工作流引擎Activiti的表结构和代码详解Activiti是一个基于Java语言的工作流引擎,它提供了一种可执行业务流程的方式,实现了对流程进行定义、部署、执行、监控等全生命周期的管理,具有高效、灵活、可扩展等优点。
本文将详细介绍Activiti 的表结构和代码实现。
1. 表结构Activiti引擎定义了多张表,这些表按照功能可以分为以下几类:(1) 流程定义相关表ACT_GE_BYTEARRAY:流程定义和流程实例相关的二进制文件存储表,包括BPMN 2.0 XML文件和各种图片等资源文件。
ACT_RE_DEPLOYMENT:部署信息表,包含部署时间、部署后的ID 和名称。
ACT_RE_PROCDEF:流程定义信息表,包含流程ID、XML文件名、键值和流程部署ID等信息。
(2) 运行时数据表ACT_RU_EXECUTION:流程实例运行时数据表,包含流程实例ID、业务ID、当前任务ID等信息。
ACT_RU_TASK:任务运行时数据表,包含任务分配人、执行候选人、任务完成时间等信息。
(3) 历史数据表ACT_HI_PROCINST:流程实例历史数据表,包含流程实例ID、开始时间、结束时间等信息。
ACT_HI_TASKINST:任务历史数据表,包含任务分配人、执行人、开始时间等信息。
(4) 操作记录相关表ACT_HI_ACTINST:历史记录,包含流程实例ID、开始时间、结束时间等信息。
ACT_HI_COMMENT:批注表,记录了流程的操作记录和评论等信息。
2. 代码实现Activiti引擎在代码实现方面遵循了面向对象的思想和设计模式,其中核心类包括ProcessEngine、RepositoryService、RuntimeService和TaskService等。
下面通过实例代码来展示Activiti的各个组件之间的调用关系。
(1) 初始化ProcessEngineProcessEngine是Activiti引擎的核心组件,负责管理运行时数据、历史记录、任务等等。
activiti工作流数据库表详细介绍(23张表)Activiti的后台是有数据库的支持,所有的表都以ACT_开头。
第二部分是表示表的用途的两个字母标识。
用途也和服务的API对应。
ACT_RE_*: 'RE'表示repository。
这个前缀的表包含了流程定义和流程静态资源(图片,规则,等等)。
ACT_RU_*: 'RU'表示runtime。
这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。
Activiti 只在流程实例执行过程中保存这些数据,在流程结束时就会删除这些记录。
这样运行时表可以一直很小速度很快。
ACT_ID_*: 'ID'表示identity。
这些表包含身份信息,比如用户,组等等。
ACT_HI_*: 'HI'表示history。
这些表包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE_*: 通用数据,用于不同场景下,如存放资源文件。
资源库流程规则表1) act_re_deployment 部署信息表2) act_re_model 流程设计模型部署表3) act_re_procdef 流程定义数据表运行时数据库表1) act_ru_execution运行时流程执行实例表2) act_ru_identitylink运行时流程人员表,主要存储任务节点与参与者的相关信息3) act_ru_task运行时任务节点表4) act_ru_variable运行时流程变量数据表历史数据库表1) act_hi_actinst 历史节点表2) act_hi_attachment历史附件表3) act_hi_comment历史意见表4) act_hi_identitylink历史流程人员表5) act_hi_detail历史详情表,提供历史变量的查询6) act_hi_procinst历史流程实例表7) act_hi_taskinst历史任务实例表8) act_hi_varinst历史变量表组织机构表1) act_id_group用户组信息表2) act_id_info用户扩展信息表3) act_id_membership用户与用户组对应信息表4) act_id_user用户信息表这四张表很常见,基本的组织机构管理,关于用户认证方面建议还是自己开发一套,组件自带的功能太简单,使用中有很多需求难以满足通用数据表1) act_ge_bytearray二进制数据表2) act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录,书生整理于网络。
activiti工作流表结构Activiti是一个轻量级的工作流引擎,是一个基于 BPMN 2.0 标准的工作流引擎。
Activiti 采用了标准的 BPMN 2.0 规范,同时支持流程定义、流程实例、任务、网关、事件、监听器等基本元素,同时支持自定义元素。
Activiti 工作流引擎的表结构是其核心部分之一,本文将详细介绍 Activiti 工作流引擎的表结构。
一、Activiti 工作流引擎的表结构Activiti 工作流引擎的表结构包括以下几个方面:1. ACT_RE_*:RE 表示 repository,这些表包含了流程定义和流程静态数据,例如流程定义、流程定义的资源文件等。
2. ACT_RU_*:RU 表示 runtime,这些表包含了流程运行时的数据,例如流程实例、任务、变量等。
3. ACT_HI_*:HI 表示 history,这些表包含了流程历史数据,例如历史流程实例、历史任务、历史变量等。
4. ACT_ID_*:ID 表示 identity,这些表包含了 Activiti 工作流引擎的用户、组、角色等身份信息。
5. ACT_GE_*:GE 表示 general,这些表包含了 Activiti 工作流引擎的常规数据,例如数据库信息、属性等。
下面分别对这些表进行详细介绍。
二、ACT_RE_* 表1. ACT_RE_DEPLOYMENT该表用于存储流程部署信息,包括流程部署 ID、名称、部署时间等信息。
2. ACT_RE_PROCDEF该表用于存储流程定义信息,包括流程定义 ID、名称、KEY、版本号、部署 ID 等信息。
3. ACT_GE_BYTEARRAY该表用于存储 Activiti 工作流引擎中的字节数组信息,例如流程定义的 XML 文件、流程定义的 BPMN 图片等。
三、ACT_RU_* 表1. ACT_RU_EXECUTION该表用于存储流程实例信息,包括流程实例 ID、流程定义 ID、流程实例状态等信息。
Activiti数据表结构和核心对象关系西安创富电子科技有限公司二〇一三年九月版本历史目录1ACTIVITI数据库表结构 -------------------------------------------------- 41.1 数据库表名说明 ----------------------------------------------------- 41.2 数据库表结构 ------------------------------------------------------- 4 2ACTIVITI中主要对象的关系 ---------------------------------------------- 51Activiti数据库表结构1.1数据库表名说明Activiti工作流总共包含23张数据表,所有的表名默认以“ACT_”开头。
并且表名的第二部分用两个字母表明表的用例,而这个用例也基本上跟Service API匹配。
◆ACT_GE_* : “GE”代表“General”(通用),用在各种情况下;◆ACT_HI_*: “HI”代表“History”(历史),这些表中保存的都是历史数据,比如执行过的流程实例、变量、任务,等等。
当系统中配置history的信息记录级别为“none”时,这一类表也可以不用;◆ACT_ID_* : “ID”代表“Identity”(身份),这些表中保存的都身份信息,如用户和组以及两者之间的关系。
如果Activiti被集成在某一系统当中的话,这些表可以不用,可以直接使用现有系统中的用户或组信息;◆ACT_RE_* : “RE”代表“Repository”(仓库),这些表中保存一些‘静态’信息,如流程定义和流程资源(如图片、规则等);◆ACT_RU_*: “RU”代表“Runtime”(运行时),这些表中保存一些流程实例、用户任务、变量等的运行时数据。
Activiti只保存流程实例在执行过程中的运行时数据,并且当流程结束后会立即移除这些数据,这是为了保证运行时表尽量的小并运行的足够快;1.2数据库表结构Activiti数据表清单:2Activiti中主要对象的关系本节主要介绍在工作流中出现的几个对象及其之间的关系,以及在Activiti中各个对象是如何关联的。
Activiti常用的二十三张表Activiti的数据库名称都以ACT_开头,第二部分是表格用例的两字符识别。
此用例大体与服务API是匹配的。
二、创建表的sql语句(1)act_ge_bytearray:保存部署文件的大文本数据create table ACT_GE_BYTEARRAY (ID_ varchar(64),REV_ integer,NAME_ varchar(255),DEPLOYMENT_ID_ varchar(64),BYTES_ LONGBLOB,GENERATED_ TINYINT,primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(2)act_ge_property:通用设置create table ACT_GE_PROPERTY (NAME_ varchar(64),VALUE_ varchar(300),REV_ integer,primary key (NAME_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(3)act_hi_actinst:流程活动的实例create table ACT_HI_ACTINST (ID_ varchar(64) not null,PROC_DEF_ID_ varchar(64) not null,PROC_INST_ID_ varchar(64) not null,EXECUTION_ID_ varchar(64) not null,ACT_ID_ varchar(255) not null,TASK_ID_ varchar(64),CALL_PROC_INST_ID_ varchar(64),ACT_NAME_ varchar(255),ACT_TYPE_ varchar(255) not null,ASSIGNEE_ varchar(255),START_TIME_ datetime(3) not null,END_TIME_ datetime(3),DURATION_ bigint,TENANT_ID_ varchar(255) default'',primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(4)act_hi_attachment:附件create table ACT_HI_ATTACHMENT (ID_ varchar(64) not null,REV_ integer,USER_ID_ varchar(255),NAME_ varchar(255),DESCRIPTION_ varchar(4000),TYPE_ varchar(255),TASK_ID_ varchar(64),PROC_INST_ID_ varchar(64),URL_ varchar(4000),CONTENT_ID_ varchar(64),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(5)act_hi_comment:注释create table ACT_HI_COMMENT (ID_ varchar(64) not null,TYPE_ varchar(255),TIME_ datetime(3) not null,USER_ID_ varchar(255),TASK_ID_ varchar(64),PROC_INST_ID_ varchar(64),ACTION_ varchar(255),MESSAGE_ varchar(4000),FULL_MSG_ LONGBLOB,primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(6)act_hi_detail:详情create table ACT_HI_DETAIL (ID_ varchar(64) not null,TYPE_ varchar(255) not null,PROC_INST_ID_ varchar(64),EXECUTION_ID_ varchar(64),TASK_ID_ varchar(64),ACT_INST_ID_ varchar(64),NAME_ varchar(255) not null,VAR_TYPE_ varchar(255),REV_ integer,TIME_ datetime(3) not null,BYTEARRAY_ID_ varchar(64),DOUBLE_ double,LONG_ bigint,TEXT_ varchar(4000),TEXT2_ varchar(4000),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(7)act_hi_identitylink:身份联系create table ACT_HI_IDENTITYLINK (ID_ varchar(64),GROUP_ID_ varchar(255),TYPE_ varchar(255),USER_ID_ varchar(255),TASK_ID_ varchar(64),PROC_INST_ID_ varchar(64),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(8)act_hi_procinst:流程实例:create table ACT_HI_PROCINST (ID_ varchar(64) not null,PROC_INST_ID_ varchar(64) not null,BUSINESS_KEY_ varchar(255),PROC_DEF_ID_ varchar(64) not null,START_TIME_ datetime(3) not null,END_TIME_ datetime(3),DURATION_ bigint,START_USER_ID_ varchar(255),START_ACT_ID_ varchar(255),END_ACT_ID_ varchar(255),SUPER_PROCESS_INSTANCE_ID_ varchar(64),DELETE_REASON_ varchar(4000),TENANT_ID_ varchar(255) default'',NAME_ varchar(255),primary key (ID_),unique (PROC_INST_ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(9)act_hi_taskinst:任务实例create table ACT_HI_TASKINST (ID_ varchar(64) not null,PROC_DEF_ID_ varchar(64),TASK_DEF_KEY_ varchar(255),PROC_INST_ID_ varchar(64),EXECUTION_ID_ varchar(64),NAME_ varchar(255),PARENT_TASK_ID_ varchar(64),DESCRIPTION_ varchar(4000),OWNER_ varchar(255),ASSIGNEE_ varchar(255),START_TIME_ datetime(3) not null,CLAIM_TIME_ datetime(3),END_TIME_ datetime(3),DURATION_ bigint,DELETE_REASON_ varchar(4000),PRIORITY_ integer,DUE_DATE_ datetime(3),FORM_KEY_ varchar(255),CATEGORY_ varchar(255),TENANT_ID_ varchar(255) default'',primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(10)act_hi_varinst:变量实例create table ACT_HI_VARINST (ID_ varchar(64) not null,PROC_INST_ID_ varchar(64),EXECUTION_ID_ varchar(64),TASK_ID_ varchar(64),NAME_ varchar(255) not null,VAR_TYPE_ varchar(100),REV_ integer,BYTEARRAY_ID_ varchar(64),DOUBLE_ double,LONG_ bigint,TEXT_ varchar(4000),TEXT2_ varchar(4000),CREATE_TIME_ datetime(3),LAST_UPDATED_TIME_ datetime(3),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(11)act_id_group:用户组create table ACT_ID_GROUP (ID_ varchar(64),REV_ integer,NAME_ varchar(255),TYPE_ varchar(255),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(12)act_id_info:create table ACT_ID_INFO (ID_ varchar(64),REV_ integer,USER_ID_ varchar(64),TYPE_ varchar(64),KEY_ varchar(255),VALUE_ varchar(255),PASSWORD_ LONGBLOB,PARENT_ID_ varchar(255),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(13)act_id_membership:create table ACT_ID_MEMBERSHIP (USER_ID_ varchar(64),GROUP_ID_ varchar(64),primary key (USER_ID_, GROUP_ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(14)act_id_user:用户create table ACT_ID_USER (ID_ varchar(64),REV_ integer,FIRST_ varchar(255),LAST_ varchar(255),EMAIL_ varchar(255),PWD_ varchar(255),PICTURE_ID_ varchar(64),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(15)act_re_deployment:部署记录ID_ varchar(64),NAME_ varchar(255),CATEGORY_ varchar(255),TENANT_ID_ varchar(255) default'',DEPLOY_TIME_ timestamp(3),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(16)act_re_model:create table ACT_RE_MODEL (ID_ varchar(64) not null,REV_ integer,NAME_ varchar(255),KEY_ varchar(255),CATEGORY_ varchar(255),CREATE_TIME_ timestamp(3) null,LAST_UPDATE_TIME_ timestamp(3) null,VERSION_ integer,META_INFO_ varchar(4000),DEPLOYMENT_ID_ varchar(64),EDITOR_SOURCE_VALUE_ID_ varchar(64),EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),TENANT_ID_ varchar(255) default'',primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(17)act_re_procdef:流程定义create table ACT_RE_PROCDEF (ID_ varchar(64) not null,REV_ integer,CATEGORY_ varchar(255),NAME_ varchar(255),KEY_ varchar(255) not null,VERSION_ integer not null,DEPLOYMENT_ID_ varchar(64),RESOURCE_NAME_ varchar(4000),DGRM_RESOURCE_NAME_ varchar(4000),DESCRIPTION_ varchar(4000),HAS_START_FORM_KEY_ TINYINT,SUSPENSION_STATE_ integer,TENANT_ID_ varchar(255) default'',primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(18)act_ru_event_subscr:ID_ varchar(64) not null,REV_ integer,EVENT_TYPE_ varchar(255) not null,EVENT_NAME_ varchar(255),EXECUTION_ID_ varchar(64),PROC_INST_ID_ varchar(64),ACTIVITY_ID_ varchar(64),CONFIGURATION_ varchar(255),CREATED_ timestamp(3) not null DEFAULT CURRENT_TIMESTAMP(3), PROC_DEF_ID_ varchar(64),TENANT_ID_ varchar(255) default'',primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(19)act_ru_execution:流程执行记录create table ACT_RU_EXECUTION (ID_ varchar(64),REV_ integer,PROC_INST_ID_ varchar(64),BUSINESS_KEY_ varchar(255),PARENT_ID_ varchar(64),PROC_DEF_ID_ varchar(64),SUPER_EXEC_ varchar(64),ACT_ID_ varchar(255),IS_ACTIVE_ TINYINT,IS_CONCURRENT_ TINYINT,IS_SCOPE_ TINYINT,IS_EVENT_SCOPE_ TINYINT,SUSPENSION_STATE_ integer,CACHED_ENT_STATE_ integer,TENANT_ID_ varchar(255) default'',NAME_ varchar(255),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(20)act_ru_identitylink:create table ACT_RU_IDENTITYLINK (ID_ varchar(64),REV_ integer,GROUP_ID_ varchar(255),TYPE_ varchar(255),USER_ID_ varchar(255),TASK_ID_ varchar(64),PROC_INST_ID_ varchar(64),PROC_DEF_ID_ varchar(64),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(21)act_ru_job:create table ACT_RU_JOB (ID_ varchar(64) NOT NULL,REV_ integer,TYPE_ varchar(255) NOT NULL,LOCK_EXP_TIME_ timestamp(3) NULL,LOCK_OWNER_ varchar(255),EXCLUSIVE_ boolean,EXECUTION_ID_ varchar(64),PROCESS_INSTANCE_ID_ varchar(64),PROC_DEF_ID_ varchar(64),RETRIES_ integer,EXCEPTION_STACK_ID_ varchar(64),EXCEPTION_MSG_ varchar(4000),DUEDATE_ timestamp(3) NULL,REPEAT_ varchar(255),HANDLER_TYPE_ varchar(255),HANDLER_CFG_ varchar(4000),TENANT_ID_ varchar(255) default'',primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(22)act_ru_task:执行的任务记录create table ACT_RU_TASK (ID_ varchar(64),REV_ integer,EXECUTION_ID_ varchar(64),PROC_INST_ID_ varchar(64),PROC_DEF_ID_ varchar(64),NAME_ varchar(255),PARENT_TASK_ID_ varchar(64),DESCRIPTION_ varchar(4000),TASK_DEF_KEY_ varchar(255),OWNER_ varchar(255),ASSIGNEE_ varchar(255),DELEGATION_ varchar(64),PRIORITY_ integer,CREATE_TIME_ timestamp(3),DUE_DATE_ datetime(3),CATEGORY_ varchar(255),SUSPENSION_STATE_ integer,TENANT_ID_ varchar(255) default'',FORM_KEY_ varchar(255),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;(23)act_ru_variable:执行中的变量记录create table ACT_RU_VARIABLE (ID_ varchar(64) not null,REV_ integer,TYPE_ varchar(255) not null,NAME_ varchar(255) not null,EXECUTION_ID_ varchar(64),PROC_INST_ID_ varchar(64),TASK_ID_ varchar(64),BYTEARRAY_ID_ varchar(64),DOUBLE_ double,LONG_ bigint,TEXT_ varchar(4000),TEXT2_ varchar(4000),primary key (ID_)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin;三、关联语句create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_); create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_); create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_); create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_); create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_); create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_); create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_); create index ACT_IDX_HI_PROCVAR_PROC_INST onACT_HI_VARINST(PROC_INST_ID_);create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_,VAR_TYPE_);create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_); create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_); create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_); create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_); create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_); create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_); create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_); create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_); create index ACT_IDX_HI_PROCVAR_PROC_INST onACT_HI_VARINST(PROC_INST_ID_);create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_,VAR_TYPE_);create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_); create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_); create index ACT_IDX_HI_IDENT_LNK_PROCINST onACT_HI_IDENTITYLINK(PROC_INST_ID_);create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);注:以上内容是根据activiti的用户手册整理的:https:///userguide/index.html#databaseConfiguration关于表的相关结构和sql语句是在guitub上搜索到的,在搜索栏中输入activiti就可以搜索到关于activiti的内容:https:///search?utf8=%E2%9C%93&q=activiti&type=表的汉语备注部分是根据activiti的用户手册添加的,部分是根据自己的理解写的,仅供参考。
activiti5.13 框架数据库表结构说明1、结构设计2、1.1、逻辑结构设计Activiti使用到的表都是ACT_开头的。
ACT_RE_*:’RE’表示repository(存储),RepositoryService接口所操作的表。
带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
ACT_RU_*:‘RU’表示runtime,运行时表-RuntimeService。
这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。
Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。
这就保证了这些运行时的表小且快。
ACT_ID_*:’ID’表示identity (组织机构),IdentityService接口所操作的表。
用户记录,流程中使用到的用户和组。
这些表包含标识的信息,如用户,用户组,等等。
ACT_HI_*:’HI’表示history,历史数据表,HistoryService。
就是这些表包含着流程执行的历史相关数据,如结束的流程实例,变量,任务,等等ACT_GE_*:全局通用数据及设置(general),各种情况都使用的数据。
1.2、所有表的含义序号表名说明1 act_ge_bytearray二进制数据表2 act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录,3 act_hi_actinst历史节点表4 act_hi_attachment历史附件表5 act_hi_comment历史意见表6 act_hi_identitylink历史流程人员表7 act_hi_detail历史详情表,提供历史变量的查询8 act_hi_procinst历史流程实例表9 act_hi_taskinst历史任务实例表10act_hi_varinst历史变量表11act_id_group用户组信息表12act_id_info用户扩展信息表13act_id_membership用户与用户组对应信息表14act_id_user用户信息表15. act_re_deployment部署信息表16. act_re_model流程设计模型部署表17act_re_procdef流程定义数据表18act_ru_event_subscr19act_ru_execution运行时流程执行实例表20act_ru_identitylink运行时流程人员表,主要存储任务节点与参与者的相关信息21act_ru_job运行时定时任务数据表22act_ru_task运行时任务节点表23act_ru_variable运行时流程变量数据表2、表以及索引信息2.1 二进制数据表(act_ge_bytearray)2.1.1 简要描述保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。
activiti 数据库表结构
Activiti是一个BPMN(Business Process Management Notation)工作流引擎,使用关系数据库存储流程定义、执行过程和用户任务等信息。
Activiti的数据库包括以下表结构:
1. ACT_RE_*:这些表包含流程定义(repository)信息,包括流程定义的描述、版本、流程定义图等。
2. ACT_RU_*:这些表包含运行时(runtime)的流程实例信息,比如正在执行的流程实例、用户任务、定时器等。
这些表是Activiti的核心,主要用于执行和控制流程。
3. ACT_HI_*:这些表包含历史(history)数据,主要用于记录流程的执行历史,例如流程实例状态的变化、用户任务的完成情况等。
4. ACT_ID_*:这些表包含标识(identity)信息,包括用户、用户组、角色等。
5. ACT_GE_*:这些表包含常用的公共数据,例如任务的执行日志、异步任务的锁定等。
以上是Activiti数据库表结构的主要内容,不同版本的Activiti可能会有所差异。
在使用Activiti的过程中,需要在关系数据库中创建相应的表结构,并在Activiti
配置文件中指定数据库连接信息。
Activiti是一个用于工作流和业务流程管理的开源平台。
act_ru_task表是Activiti 数据库中的一个表,用于存储关于正在运行的任务的信息。
act_ru_task表的结构如下:
•ID:任务的唯一标识符
•PROC_DEF_ID:流程定义的ID
•PROC_INST_ID:流程实例的ID
•ACT_ID:任务的ID
•NAME:任务名称
•DESCR:任务描述
•FORM_KEY:表单的键
•PARENT_ID:父任务的ID
•SCOPE_ID:作用域的ID
•EXECUTION_ID:执行实例的ID
•TENANT_ID:租户ID
•USER_ID:执行任务的用户ID
•PLATFORM:执行平台
•CLUSTER_NODE:集群节点标识符
•ASSIGNEE:任务的执行者
•OWNER:任务的所有者
•CREATE_TIME:任务的创建时间
•SUSPEND_TIME:任务挂起时间
•END_TIME:任务的结束时间
•EXECUTION_URL:执行实例的URL
•TASK_URL:任务的URL
•IS_COUNT_ENABLED:是否启用计数
•IS_EXTERNALLY_TRIGGERED:是否由外部触发
•IS_钌□ (...) 引擎_ENABLED:是否启用流程引擎
请注意,这里列出的字段是根据常见的Activiti版本和配置提供的。
具体的表结构可能会因Activiti的版本、配置和扩展而有所不同。
如果您使用的是特定的Activiti版本或定制配置,建议参考相关的文档或数据库架构以获取准确的信息。
Activiti工作流引擎数据库表结构数据库表的命名Acitiviti数据库中表的命名都是以ACT_开头的。
第二部分是一个两个字符用例表的标识。
此用例大体与服务API是匹配的。
●ACT_RE_*:’RE’表示repository。
带此前缀的表包含的是静态信息, 如, 流程定义, 流程的资源(图片, 规则等)。
●ACT_RU_*:’RU’表示runtime。
这是运行时的表存储着流程变量, 用户任务, 变量, 职责(job)等运行时的数据。
Activiti只存储实例执行期间的运行时数据, 当流程实例结束时, 将删除这些记录。
这就保证了这些运行时的表小且快。
●ACT_ID_*:’ID’表示identity。
这些表包含标识的信息, 如用户, 用户组, 等等。
ACT_HI_*:’HI’表示history。
就是这些表包含着历史的相关数据, 如结束的流程实例, 变量, 任务, 等等。
ACT_GE_*:普通数据, 各种情况都使用的数据。
数据库表结构图数据库表结构说明●ACT_GE_PROPERTY:属性数据表。
存储这个流程引擎级别的数据。
_:属性名称2.VALUE_:属性值3.REV_INT:版本号●ACT_GE_BYTEARRAY:用来保存部署文件的大文本数据1.ID_:资源文件编号, 自增长2.REV_INT:版本号_:资源文件名称4.DEPLOYMENT_ID_:来自于父表ACT_RE_DEPLOYMENT的主键●BYTES_:大文本类型, 存储文本字节流●ACT_RE_DEPLOYMENT:用来存储部署时需要持久化保存下来的信息1.ID_:部署编号, 自增长_:部署包的名称3.DEPLOY_TIME_:部署时间●ACT_RE_PROCDEF:业务流程定义数据表1.ID_:流程ID, 由“流程编号: 流程版本号: 自增长ID”组成2.CATEGORY_:流程命名空间(该编号就是流程文件targetNamespace的属性值)_:流程名称(该编号就是流程文件process元素的name属性值)4.KEY_:流程编号(该编号就是流程文件process元素的id属性值)5.VERSION_:流程版本号(由程序控制, 新增即为1, 修改后依次加1来完成的)6.DEPLOYMENT_ID_:部署编号7.RESOURCE_NAME_:资源文件名称8.DGRM_RESOURCE_NAME_:图片资源文件名称9.HAS_START_FROM_KEY_:是否有Start From Key●注: 此表和ACT_RE_DEPLOYMENT是多对一的关系, 即, 一个部署的bar包里可能包含多个流程定义文件, 每个流程定义文件都会有一条记录在ACT_REPROCDEF表内, 每个流程定义的数据, 都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。
activity表结构活动表(Activities table)是一种用于记录各种活动信息的数据库表。
该表通常用于管理和跟踪与特定项目、计划或个人相关的各种活动。
下面是一个活动表结构的例子:字段名,数据类型,描述---,---,---id , integer ,活动的唯一标识符name , varchar(255) ,活动的名称description , text ,活动的详细描述start_date , date ,活动的开始日期end_date , date ,活动的结束日期status , varchar(50) ,活动的状态(进行中、已完成等)priority , varchar(50) ,活动的优先级(高、中、低等)owner_id , integer ,活动的负责人ID在这个活动表结构中,每个活动都由一个唯一的ID标识,以及相关的活动名称、描述、起止日期、状态、优先级、负责人ID和记录的创建和更新时间。
活动表的结构设计可以根据具体需求进行调整。
例如,可以添加更多的字段来跟踪和记录活动相关的属性,如预算、地点、参与人员等。
此外,可以根据需要进行字段的数据类型和长度的调整。
活动表可以与其他相关表进行关联,以支持更复杂的活动管理。
例如,可以创建一个关联表,用于记录活动与项目之间的关联关系。
另外,可以创建一个参与人员表,用于记录活动的参与人员信息。
活动表的设计应该考虑到数据的一致性和完整性。
可以通过定义适当的约束,如主键约束、外键约束和唯一约束,来确保数据的完整性。
此外,还可以在表级别上定义触发器、索引和视图等,以提高数据访问的效率和性能。
为了方便数据的管理和查询,可以使用适当的数据库管理系统(如MySQL、Oracle、SQL Server等)来创建和维护活动表。
使用数据库管理系统可以提供更强大的功能和工具来支持数据的导入、导出、备份和恢复等操作。
总之,活动表是一种用于管理和跟踪各种活动信息的数据库表。
Activiti6.0教程28张表解析使⽤Activit的朋友都知道Activiti对应的有28张表,今天我们就来说下Activit中28张表对应的含义是什么?如何创建表?在Activiti中创建表有三种⽅式,我们依次来看下:⼀、通过硬编码的形式直接指定// 创建⼀个流程成引擎对像ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneInMemProcessEngineConfiguration();// 设置数据库连接信息processEngineConfiguration.setJdbcDriver("com.mysql.jdbc.Driver");processEngineConfiguration.setJdbcUrl("jdbc:mysql://localhost:3306/db_activiti");processEngineConfiguration.setJdbcUsername("root");processEngineConfiguration.setJdbcPassword("");processEngineConfiguration.setDatabaseType("mysql");processEngineConfiguration.setDatabaseSchemaUpdate("update");// 设置⾃动创建表processEngineConfiguration.setDatabaseSchemaUpdate("true");// 在创建引擎对象的时候⾃动创建表ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();⼆、通过activit.cfg.xml配置⽂件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans /schema/beans/spring-beans.xsd"> <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration"><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_activiti?characterEncoding=utf8" /><property name="jdbcDriver" value="com.mysql.jdbc.Driver" /><property name="jdbcUsername" value="root" /><property name="jdbcPassword" value="" /><property name="databaseSchemaUpdate" value="true" /><property name="databaseType" value="mysql"></property></bean></beans>ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();三、使⽤配置⽂件,在资源⽬录下创建activiti-context.xml<!-- 创建流程引擎配置对象 --><bean id="ProcessEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneInMemProcessEngineConfiguration"><property name="jdbcDriver" value="com.mysql.jdbc.Driver"/><property name="jdbcUrl" value="jdbc:mysql://localhost:3306/db_activiti" /><property name="jdbcUsername" value="root" /><property name="jdbcPassword" value="" /><property name="databaseSchemaUpdate" value="true" /></bean>代码⾥边读取加载配置⽂件String resource = "activiti-context.xml";String beanName = "ProcessEngineConfiguration";ProcessEngineConfiguration cf = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource(resource, beanName); ProcessEngine processEngine = cf.buildProcessEngine();以上就是创建表的三种⽅式,接下来我们看创建好的表都有哪些?先上⼀张图,后⾯详细说。
activiti5.13 框架数据库表结构说明1、结构设计2、1.1、逻辑结构设计Activiti使用到的表都是ACT_开头的。
ACT_RE_*:’RE’表示repository(存储),RepositoryService接口所操作的表。
带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
ACT_RU_*:‘RU’表示runtime,运行时表-RuntimeService。
这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。
Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。
这就保证了这些运行时的表小且快。
ACT_ID_*:’ID’表示identity (组织机构),IdentityService接口所操作的表。
用户记录,流程中使用到的用户和组。
这些表包含标识的信息,如用户,用户组,等等。
ACT_HI_*:’HI’表示history,历史数据表,HistoryService。
就是这些表包含着流程执行的历史相关数据,如结束的流程实例,变量,任务,等等ACT_GE_*:全局通用数据及设置(general),各种情况都使用的数据。
1.2、所有表的含义序号表名说明1 act_ge_bytearray二进制数据表2 act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录,3 act_hi_actinst历史节点表4 act_hi_attachment历史附件表5 act_hi_comment历史意见表6 act_hi_identitylink历史流程人员表7 act_hi_detail历史详情表,提供历史变量的查询8 act_hi_procinst历史流程实例表9 act_hi_taskinst历史任务实例表10act_hi_varinst历史变量表11act_id_group用户组信息表12act_id_info用户扩展信息表13act_id_membership用户与用户组对应信息表14act_id_user用户信息表15. act_re_deployment部署信息表16. act_re_model流程设计模型部署表17act_re_procdef流程定义数据表18act_ru_event_subscr?19act_ru_execution运行时流程执行实例表20act_ru_identitylink运行时流程人员表,主要存储任务节点与参与者的相关信息21act_ru_job运行时定时任务数据表22act_ru_task运行时任务节点表23act_ru_variable运行时流程变量数据表2、表以及索引信息2.1 二进制数据表(act_ge_bytearray)2.1.1 简要描述保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。
1、结构设计1.1、逻辑结构设计Activiti使用到的表都是ACT_开头的。
ACT_RE_*:’RE’表示repository(存储),RepositoryService接口所操作的表。
带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
ACT_RU_*:‘RU’表示runtime,运行时表-RuntimeService。
这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。
Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。
这就保证了这些运行时的表小且快。
ACT_ID_*:’ID’表示identity (组织机构),IdentityService接口所操作的表。
用户记录,流程中使用到的用户和组。
这些表包含标识的信息,如用户,用户组,等等。
ACT_HI_*:’HI’表示history,历史数据表,HistoryService。
就是这些表包含着流程执行的历史相关数据,如结束的流程实例,变量,任务,等等ACT_GE_*:全局通用数据及设置(general),各种情况都使用的数据。
6 act_hi_identitylink历史流程人员表7 act_hi_detail历史详情表,提供历史变量的查询8 act_hi_procinst历史流程实例表9 act_hi_taskinst历史任务实例表10 act_hi_varinst历史变量表11 act_id_group用户组信息表12 act_id_info用户扩展信息表13 act_id_membership用户与用户组对应信息表14 act_id_user用户信息表15. act_re_deployment部署信息表16. act_re_model流程设计模型部署表17 act_re_procdef流程定义数据表18 act_ru_event_subscrthrowEvent、catchEvent时间监听信息表19 act_ru_execution运行时流程执行实例表20 act_ru_identitylink运行时流程人员表,主要存储任务节点与参与者的相关信息21 act_ru_job运行时定时任务数据表22 act_ru_task运行时任务节点表23 act_ru_variable运行时流程变量数据表2、表以及索引信息2.1 二进制数据表(act_ge_bytearray)2.1.1 简要描述保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。
activiti数据库表结构全貌解析下⾯本⼈介绍⼀些activiti这款开源流程设计引擎的数据库表结构,⾸先阐述:我们刚开始接触或者使⽤⼀个新的东西(技术)时我们⾸先多问⼀下⾃⼰⼏个为什么?为什么activiti在⼯作流程领域这么流⾏呢?仅仅是因为开源么?实现如此强⼤的流程引擎,activiti底层设计是如何进⾏的?activiti中依赖哪些技术等?这些可能应该是那些刚接触这个开源流程引擎产品的⼈应该有的疑问。
我们在⽤开源产品的都是其实应该多问⾃⼰为什么?这样才能有所进步,不是么?兴许你⼀时兴起,“起笔”就把⼀款属于你⾃⼰的开源作品给做出来了!了解⼀个开源作品,它的底层很重要。
在使⽤它之前,你是否尝试过了解它的底层。
那么这些尝试是否对你有必要呢?个⼈解决有必要,⾸先这个东西确实在你看来是个有⽤的东西,你对它感兴趣。
兴许将来你在应⽤它的时候可能会发现它的BUG,其实⼤⽜写的东西也未必是完美的,兴许你在使⽤时候就发现其中不满意的东西,那么你就可以向开元社区提交的你的BUG!就⽐如说我们在了解activiti的底层数据结构之后,在我们使⽤activiti的时候发现⼀些数据查询过程中出现性能瓶颈时,我们可以尝试分析activiti的数据查询规则,activiti的数据访问层依赖于mybatis,那么我可以分析打包在jar包⾥的关于mybatis的sql配置部分,看看那些所谓⼤⽜们写的sql是否存在问题。
当你发现问题时,你可以对它进⾏修改,然后重新打包。
从⽽满⾜⾃⼰在项⽬有中的需要。
这些都是⼀些关于进阶了解⼀个开源作品的⽅式。
在这样过程中你会发现你在某⽅⾯会有所进步。
以上内容抛砖引⽟,希望对你有所帮助!好吧,请允许我废话了这么久,下⾯开始解析activiti的数据库底层的模型截图:以上就activiti底层数据库23张表结构,个⼈觉得了解底层数据库模型是有必要的,让我们直观的了解⼀个开源作品的底层设计结构,对⽇后⼤伙使⽤的时候能有很⼤的帮助,特别是activiti的⾼级应⽤。
1、结构设计1.1、逻辑结构设计Activiti使用到的表都是ACT_开头的。
ACT_RE_*:’RE’表示repository(存储),RepositoryService接口所操作的表。
带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。
ACT_RU_*:‘RU’表示runtime,运行时表-RuntimeService。
这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。
Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。
这就保证了这些运行时的表小且快。
ACT_ID_*:’ID’表示identity (组织机构),IdentityService接口所操作的表。
用户记录,流程中使用到的用户和组。
这些表包含标识的信息,如用户,用户组,等等。
ACT_HI_*:’HI’表示history,历史数据表,HistoryService。
就是这些表包含着流程执行的历史相关数据,如结束的流程实例,变量,任务,等等ACT_GE_*:全局通用数据及设置(general),各种情况都使用的数据。
6 act_hi_identitylink历史流程人员表7 act_hi_detail历史详情表,提供历史变量的查询8 act_hi_procinst历史流程实例表9 act_hi_taskinst历史任务实例表10 act_hi_varinst历史变量表11 act_id_group用户组信息表12 act_id_info用户扩展信息表13 act_id_membership用户与用户组对应信息表14 act_id_user用户信息表15. act_re_deployment部署信息表16. act_re_model流程设计模型部署表17 act_re_procdef流程定义数据表18 act_ru_event_subscrthrowEvent、catchEvent时间监听信息表19 act_ru_execution运行时流程执行实例表20 act_ru_identitylink运行时流程人员表,主要存储任务节点与参与者的相关信息21 act_ru_job运行时定时任务数据表22 act_ru_task运行时任务节点表23 act_ru_variable运行时流程变量数据表2、表以及索引信息2.1 二进制数据表(act_ge_bytearray)2.1.1 简要描述保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。
Activiti学习笔记(四)获取ProcessEngine创建成功表结构后对表结构的理解和解释获取到ProcessEngine对象后数据库会相应的⾃动⽣成23长表,如图:那这些表分别对应的是什么,⽤什么作⽤呢?接下来我⼀⼀解释:资源库流程规则表1) act_re_deployment:部署信息表2) act_re_model :流程设计模型部署表3) act_re_procdef :流程定义数据表运⾏时数据库表1) act_ru_execution :运⾏时流程执⾏实例表2) act_ru_identitylink :运⾏时流程⼈员表,主要存储任务节点与参与者的相关信息3) act_ru_task :运⾏时任务节点表4) act_ru_variable:运⾏时流程变量数据表历史数据库表 1) act_hi_actinst:历史节点表 2) act_hi_attachment:历史附件表 3) act_hi_comment:历史意见表 4) act_hi_identitylink:历史流程⼈员表 5) act_hi_detail:历史详情表,提供历史变量的查询 6) act_hi_procinst:历史流程实例表 7) act_hi_taskinst:历史任务实例表 8) act_hi_varinst:历史变量表组织机构表1) act_id_group:⽤户组信息表2) act_id_info:⽤户扩展信息表3) act_id_membership:⽤户与⽤户组对应信息表4) act_id_user:⽤户信息表这四张表很常见,基本的组织机构管理,关于⽤户认证⽅⾯建议还是⾃⼰开发⼀套,组件⾃带的功能太简单,使⽤中有很多需求难以满⾜通⽤数据表1) act_ge_bytearray:⼆进制数据表2) act_ge_property:属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插⼊三条记录以上就是个⼈对ACtiviti 数据库⾃动⽣成的23张表的理解有什么间接之处欢迎指出互相学习QQ:138********。