一、数据库建表:
建表说明目前省略
二、数据库表结构说明:
1 、用建模工具反向出来的数据库表结构图如下:
2 、数据库表结构说明:
· ACT_GE_PROPERTY :属性数据表。存储整个流程引擎级别的数据。
1. NAME_ :属性名称
2. VALUE_ :属性值
3. REV_INT :版本号?
· ACT_GE_BYTEARRAY :用来保存部署文件的大文本数据的。
1. ID_ :资源文件编号,自增长
2. REV_INT :版本号?
3. NAME_ :资源文件名称
4. DEPLOYMENT_ID_ :来自于父表 ACT_RE_DEPLOYMENT 中的主键
5. BYTES_ :大文本类型,存储文本字节流
· ACT_RE_DEPLOYMENT :用来存储部署时需要被持久化保存下来的信息。
1. ID_ :部署编号,自增长
2. NAME_ :部署的包名称
3. DEPLOY_TIME_ :部署时间
· ACT_RE_PROCDEF :业务流程定义数据表。
1. ID_ :流程 ID ,由 “ 流程编号 : 流程版本号 : 自增长 ID ” 组成
2. CATEGORY_ :流程命令空间(该编号就是流程文件 targetNamespace 的属性值)
3. NAME_ :流程名称(该编号就是流程文件 process 元素的 name 属性值)
4. KEY_ :流程编号(该编号就是流程文件 process 元素的 id 属性值)
5. VERSION_ :流程版本号(由程序控制,新增即为 1 ,修改后依次加 1 来完成的)
6. DEPLOYMENT_ID_ :部署编号
7. RESOURCE_NAME_ :资源文件名称
8. DGRM_RESOURCE_NAME_ :图片资源文件名称
9. HAS_START_FORM_KEY_ :是否有 Start Form Key 。
注意:此表与 ACT_RE_DEPLOYMENT 是多对一的关系,即,一个部署的 bar 包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在 ACT_RE_PROCDEF 表内,每条流程定义的数据,都会对应 ACT_GE_BYTEARRAY 表内的一个资源文件和 PNG 图片文件。与 ACT_GE_BYTEARRAY 的关联是通过程序用 ACT_GE_BYTEARRAY.NAME_ 与 ACT_RE_PROCDEF.RESOURCE_NAME_ 完成的,在数据库表结构内没有体现。
· ACT_ID_GROUP :用来保存用户组信息。
1. ID_ :用户组名
2. REV_INT :版本号?
3. NAME_ :用户组描述信息
4. TYPE_ :用户组类型
· ACT_ID_MEMBERSHIP :用来保存用户分组信息。
1. USER_ID_ :用户名
2. GROUP_ID_ :用户组名
· ACT_ID_USER :用来保存用户信息。
1. ID_ :用户名
2. REV_INT :版本号?
3. FIRST_ :用户名称
4. LAST_ :用户姓氏
5. EMAIL_ :邮箱
6. PWD_ :登录密码
· ACT_RU_EXECUTION :
1. ID_ :
2. REV_ :版本号?
3. PROC_INST_ID_ :流程实例编号
4. BUSINESS_KEY_ :业务编号
5. PARENT_ID_ :
6. PROC_DEF_ID_ :流程 ID
7. SUPER_EXEC_ :
8. ACT_ID_ :
9. IS_ACTIVE_ :
10. IS_CONCURRENT_ :
11. IS_SCOPE_ :
· ACT_RU_JOB :运行时定时任务数据表。
1. ID_ :
2. REV_ :
3. TYPE_ :
4. LOCK_EXP_TIME_ :
5. LOCK_OWNER_ :
6. EXCLUSIVE_ :
7. EXECUTION_ID_ :
8. PROCESS_INSTANCE_ID_ :
9. RETRIES_ :
10. EXCEPTION_STACK_ID_ :
11. EXCEPTION_MSG_ :
12. DUEDATE_ :
13. REPEAT_ :
14. HANDLER_TYPE_ :
15. HANDLER_CFG_ :
· ACT_RU_TASK :运行时任务数据表。
1. ID_ :
2. REV_ :
3. EXECUTION_ID_ :
4. PROC_INST_ID_ :
5. PROC_DEF_ID_ :
6. NAME_ :
7. DESCRIPTION_ :
8. TASK_DEF_KEY_ :
9. ASSIGNEE_ :
10. PRIORITY_ :
11. CREATE_TIME_ :
· ACT_RU_IDENTITYLINK :任务参与者数据表。主要存储当前节点参与者的信息。
1. ID_ :
2. REV_ :
3. GROUP_ID_ :
4. TYPE_ :
5. USER_ID_ :
6. TASK_ID_ :
· ACT_RU_VARIABLE :运行时流程变量数据表。
1. ID_ :
2. REV_ :
3. TYPE_ :
4. NAME_ :
5. EXECUTION_ID_ :
6. PROC_INST_ID_ :
7. TASK_ID_ :
8. BYTEARRAY_ID_ :
9. DOUBLE_ :
10. LONG_ :
11. TEXT_ :
12. TEXT2_ :
· ACT_HI_PROCINST :
· ACT_HI_ACTINST :
· ACT_HI_TASKINST :
· ACT_HI_DETAIL :
3 、结论及改造建议
-
- 流程文件部署主要涉及到 3 个表,分别是: ACT_GE_BYTEARRAY 、 ACT_RE_DEPLOYMENT 、 ACT_RE_PROCDEF 。主要完成 “ 部署包 ”-->“ 流程定义文件 ”-->“ 所有包内文件 ” 的解析部署关系。从表结构中可以看出,流程定义的元素需要每次从数据库加载并解析,因为流程定义的元素没有转化成数据库表来完成,当然流程元素解析后是放在缓存中的,具体的还需要后面详细研究。
- 流程定义中的 java 类文件不保存在数据库里 。
- 组织机构的管理相对较弱,如果要纳入单点登录体系内还需要改造完成,具体改造方法有待研究。
- 运行时对象的执行与数据库记录之间的关系需要继续研究
- 历史数据的保存及作用需要继续研究。