zoukankan      html  css  js  c++  java
  • 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属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录,

    1  Activiti数据库表结构

    1.1      数据库表名说明

        Activiti工作流总共包含23张数据表,所有的表名默认以“ACT_”开头。

    并且表名的第二部分用两个字母表明表的用例,而这个用例也基本上跟Service API匹配。

    u  ACT_GE_* : “GE”代表“General”(通用),用在各种情况下;

    u  ACT_HI_* : “HI”代表“History”(历史),这些表中保存的都是历史数据,比如执行过的流程实例、变量、任务,等等。Activit默认提供了4种历史级别:

    Ø  none: 不保存任何历史记录,可以提高系统性能;

    Ø  activity:保存所有的流程实例、任务、活动信息;

    Ø  audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;

    Ø  full:最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。

    对于几种级别根据对功能的要求选择,如果需要日后跟踪详细可以开启full

     

    u  ACT_ID_* : “ID”代表“Identity”(身份),这些表中保存的都是身份信息,如用户和组以及两者之间的关系。如果Activiti被集成在某一系统当中的话,这些表可以不用,可以直接使用现有系统中的用户或组信息;

    u  ACT_RE_* : “RE”代表“Repository”(仓库),这些表中保存一些‘静态’信息,如流程定义和流程资源(如图片、规则等);

    u  ACT_RU_* : “RU”代表“Runtime”(运行时),这些表中保存一些流程实例、用户任务、变量等的运行时数据。Activiti只保存流程实例在执行过程中的运行时数据,并且当流程结束后会立即移除这些数据,这是为了保证运行时表尽量的小并运行的足够快;

     

    1.2      数据库表结构

    1.2.1   Activiti数据表清单:

    表分类

    表名

    解释

    一般数据

    ACT_GE_BYTEARRAY

    通用的流程定义和流程资源

    ACT_GE_PROPERTY

    系统相关属性

    流程历史记录

     

    ACT_HI_ACTINST

    历史的流程实例

    ACT_HI_ATTACHMENT

    历史的流程附件

    ACT_HI_COMMENT

    历史的说明性信息

    ACT_HI_DETAIL

    历史的流程运行中的细节信息

    ACT_HI_IDENTITYLINK

    历史的流程运行过程中用户关系

    ACT_HI_PROCINST

    历史的流程实例

    ACT_HI_TASKINST

    历史的任务实例

    ACT_HI_VARINST

    历史的流程运行中的变量信息

    用户用户组表

    ACT_ID_GROUP

    身份信息-组信息

    ACT_ID_INFO

    身份信息-组信息

    ACT_ID_MEMBERSHIP

    身份信息-用户和组关系的中间表

    ACT_ID_USER

    身份信息-用户信息

    流程定义表

    ACT_RE_DEPLOYMENT

    部署单元信息

    ACT_RE_MODEL

    模型信息

    ACT_RE_PROCDEF

    已部署的流程定义

    运行实例表

    ACT_RU_EVENT_SUBSCR

    运行时事件

    ACT_RU_EXECUTION

    运行时流程执行实例

    ACT_RU_IDENTITYLINK

    运行时用户关系信息

    ACT_RU_JOB

    运行时作业

    ACT_RU_TASK

    运行时任务

    ACT_RU_VARIABLE

    运行时变量表

     

    1.2.2表名:ACT_GE_BYTEARRAY(通用的流程定义和流程资源

    用来保存部署文件的大文本数据。

    保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。

    ACT_GE_BYTEARRAY(act_ge_bytearray)

    是否主键

    字段名

    字段描述

    数据类型

    可空

    约束

    缺省值

    取值说明

    ID_

    主键ID,资源文件编号,自增长

    VARCHAR(64)

     

    REV_

    版本号

    INT(11)

    Version

    NAME_

    部署的文件名称,

    VARCHAR(255)

    mail.bpmn、mail.png 、mail.bpmn20.xml

    DEPLOYMENT_ID_

    来自于父表ACT_RE_DEPLOYMENT的主键

    VARCHAR(64)

    部署的ID

    BYTES_

    大文本类型,存储文本字节流

    LONGBLOB

    GENERATED_

    是否是引擎生成。

    TINYINT(4)

    0为用户生成

    1为Activiti生成

     

     

    1.2.3   表名:ACT_GE_PROPERTY(系统相关属性

    属性数据表。存储这个流程引擎级别的数据。

    ACT_GE_PROPERTY(act_ge_property)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    NAME_

    属性名称

    VARCHAR(64)

    64

    schema.version

    schema.history

    next.dbid

    VALUE_

    属性值

    VARCHAR(300)

    300

    5.*

    create(5.*)

    REV_INT

    版本号

    INT(11)

    11

     

    1.2.4表名:ACT_HI_ACTINST(历史节点表)

    历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容。

    ACT_HI_ACTINST(act_hi_actinst)

    是否主键

    字段名

    字段描述

    数据类型

    可空

    约束

    取值说明

    ID_

    ID_

    VARCHAR(64)

     

    PROC_DEF_ID_

    流程定义ID

    VARCHAR(64)

     

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

     

    EXECUTION_ID_

    流程执行ID

    VARCHAR(64)

     

    ACT_ID_

    活动ID

    VARCHAR(255)

     

    节点定义ID

    TASK_ID_

    任务ID

    VARCHAR(64)

    任务实例ID 其他节点类型实例ID在这里为空

    CALL_PROC_INST_ID_

    请求流程实例ID

    VARCHAR(64)

    调用外部流程的流程实例ID'

    ACT_NAME_

    活动名称

    VARCHAR(255)

    节点定义名称

    ACT_TYPE_

    活动类型

    VARCHAR(255)

     

    如startEvent、userTask

    ASSIGNEE_

    代理人员

    VARCHAR(64)

    节点签收人

    START_TIME_

    开始时间

    DATETIME

     

    2013-09-15 11:30:00

    END_TIME_

    结束时间

    DATETIME

    2013-09-15 11:30:00

    DURATION_

    时长,耗时

    BIGINT(20)

    毫秒值

     

     

    1.2.5   表名:ACT_HI_ATTACHMENT附件信息)

    ACT_HI_ATTACHMENT(act_hi_attachment)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    主键ID

    REV_

    REV_

    INT(11)

    11

    Version

    USER_ID_

    用户id

    VARCHAR(255)

    255

    用户ID

    NAME_

    名称

    VARCHAR(255)

    255

    附件名称

    DESCRIPTION_

    描述

    VARCHAR(4000)

    4000

    描述

    TYPE_

    类型

    VARCHAR(255)

    255

    附件类型

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    节点实例ID

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    URL_

    连接

    VARCHAR(4000)

    4000

    附件地址

    CONTENT_ID_

    内容Id

    字节表的ID

    VARCHAR(64)

    64

    ACT_GE_BYTEARRAY的ID

     

     

    1.2.6   表名:ACT_HI_COMMENT(历史审批意见表)

    ACT_HI_COMMENT(act_hi_comment)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    主键ID

    TYPE_

    意见记录类型,为comment时,为处理意见

    VARCHAR(255)

    255

    类型:event(事件)

    comment(意见)

    TIME_

    记录时间

    DATETIME

    填写时间

    USER_ID_

    用户Id

    VARCHAR(255)

    255

    填写人

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    节点实例ID

    PROC_INST_ID_

    流程实例Id

    VARCHAR(64)

    64

    流程实例ID

    ACTION_

    行为类型。

    为addcomment时,为处理意见

    VARCHAR(255)

    255

    值为下列内容中的一种:    AddUserLink、DeleteUserLink、AddGroupLink、DeleteGroupLink、AddComment、AddAttachment、DeleteAttachment

    MESSAGE_

    处理意见

    VARCHAR(4000)

    4000

    用于存放流程产生的信息,比如审批意见

    FULL_MSG_

    全部消息

    LONGBLOB

     

     

    1.2.7表名:ACT_HI_DETAIL(历史详细信息)

    历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。

    ACT_HI_DETAIL(act_hi_detail)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    主键

    TYPE_

    数据类型

    VARCHAR(255)

    255

    类型:

    FormProperty, //表单

    VariableUpdate //参数

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    EXECUTION_ID_

    执行实例Id

    VARCHAR(64)

    64

    执行实例ID

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    任务实例ID

    ACT_INST_ID_

    活动实例Id

    VARCHAR(64)

    64

    ACT_HI_ACTINST表的ID

    NAME_

    名称

    VARCHAR(255)

    255

    名称

    VAR_TYPE_

    变量类型

    VARCHAR(255)

    255

    参见VAR_TYPE_类型说明

    REV_

    REV_

    INT(11)

    11

    Version

    TIME_

    创建时间

    DATETIME

    创建时间

    BYTEARRAY_ID_

    字节数组Id

    VARCHAR(64)

    64

    ACT_GE_BYTEARRAY表的ID

    DOUBLE_

    DOUBLE_

    DOUBLE

    存储变量类型为Double

    LONG_

    LONG_

    BIGINT(20)

    20

    存储变量类型为long

    TEXT_

    VARCHAR(4000)

    4000

    存储变量值类型为String

    TEXT2_

    值2

    VARCHAR(4000)

    4000

    此处存储的是JPA持久化对象时,才会有值。此值为对象ID

     

    备注:VAR_TYPE_类型说明: jpa-entity、boolean、bytes、serializable(可序列化)、自定义type(根据你自身配置)、 CustomVariableType、date、double、integer、long、null、short、string

     

    1.2.8   表名:ACT_HI_IDENTITYLINK (历史流程人员表)

    任务参与者数据表。主要存储历史节点参与者的信息。

    ACT_HI_IDENTITYLINK(act_hi_identitylink)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    GROUP_ID_

    用户组ID

    VARCHAR(255)

    255

    组ID

    TYPE_

    用户组类型

    VARCHAR(255)

    255

    类型,主要分为以下几种:

    assignee、

    candidate、

    owner、starter 、participant

    USER_ID_

    用户ID

    VARCHAR(255)

    255

    用户ID

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    节点实例ID

    PROC_INST_ID_

    流程实例Id

    VARCHAR(64)

    64

    流程实例ID

     

    1.2.9   表名:ACT_HI_PROCINST(历史流程实例信息)核心表

    ACT_HI_PROCINST(act_hi_procinst)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    BUSINESS_KEY_

    业务Key

    VARCHAR(255)

    255

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

    START_TIME_

    开始时间

    DATETIME

    END_TIME_

    结束时间

    DATETIME

    DURATION_

    时长

    BIGINT(20)

    20

    START_USER_ID_

    发起人员Id

    VARCHAR(255)

    255

    START_ACT_ID_

    开始节点

    VARCHAR(255)

    255

    END_ACT_ID_

    结束节点

    VARCHAR(255)

    255

    SUPER_PROCESS_INSTANCE_ID_

    超级流程实例Id

    VARCHAR(64)

    64

    DELETE_REASON_

    删除理由

    VARCHAR(4000)

    4000

     

    1.2.10 表名:ACT_HI_TASKINST(历史任务流程实例信息)核心表

    ACT_HI_TASKINST(act_hi_taskinst)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    主键ID

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

    流程定义ID

    TASK_DEF_KEY_

    任务定义Key

    VARCHAR(255)

    255

    节点定义ID

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    EXECUTION_ID_

    执行ID

    VARCHAR(64)

    64

    执行实例ID

    NAME_

    名称

    VARCHAR(255)

    255

    名称

    PARENT_TASK_ID_

    父任务iD

    VARCHAR(64)

    64

    父节点实例ID

    DESCRIPTION_

    描述

    VARCHAR(4000)

    4000

    描述

    OWNER_

    实际签收人 任务的拥有者

    VARCHAR(255)

    255

    签收人(默认为空,只有在委托时才有值)

    ASSIGNEE_

    代理人

    VARCHAR(255)

    255

    签收人或被委托

    START_TIME_

    开始时间

    DATETIME

    开始时间

    CLAIM_TIME_

    提醒时间

    DATETIME

    提醒时间

    END_TIME_

    结束时间

    DATETIME

    结束时间

    DURATION_

    时长

    BIGINT(20)

    20

    耗时

    DELETE_REASON_

    删除理由

    VARCHAR(4000)

    4000

    删除原因(completed,deleted)

    PRIORITY_

    优先级

    INT(11)

    11

    优先级别

    DUE_DATE_

    应完成时间

    DATETIME

    过期时间,表明任务应在多长时间内完成

    FORM_KEY_

    表单key

    VARCHAR(255)

    255

    desinger节点定义的

    form_key属性

     

    1.2.11 表名:ACT_HI_VARINST历史变量信息)

    ACT_HI_VARINST(act_hi_varinst)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    流程实例ID

    EXECUTION_ID_

    执行ID

    VARCHAR(64)

    64

    执行实例ID

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

    任务实例ID

    NAME_

    名称

    VARCHAR(255)

    255

    参数名称(英文)

    VAR_TYPE_

    变量类型

    VARCHAR(100)

    100

    参见VAR_TYPE_类型说明

    REV_

    REV_

    INT(11)

    11

    Version

    BYTEARRAY_ID_

    字节数组ID

    VARCHAR(64)

    64

    ACT_GE_BYTEARRAY表的主键

    DOUBLE_

    DOUBLE_

    DOUBLE

    存储DoubleType类型的数据

    LONG_

    LONG_

    BIGINT(20)

    20

    存储LongType类型的数据

    TEXT_

    TEXT_

    VARCHAR(4000)

    4000

    存储变量值类型为String,如此处存储持久化对象时,值jpa对象的class

    TEXT2_

    TEXT2_

    VARCHAR(4000)

    4000

    此处存储的是JPA持久化对象时,才会有值。此值为对象ID

     

    1.2.12       表名:ACT_ID_GROUP用户组表)

    用来存储用户组信息。

    ACT_ID_GROUP(act_id_group)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    用户组ID

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    NAME_

    用户组描述信息

    VARCHAR(255)

    255

    TYPE_

    用户组类型

    VARCHAR(255)

    255

     

    1.2.13 表名:ACT_ID_INFO(用户扩展信息表)

    用户扩展信息表。目前该表未用到。

    ACT_ID_INFO(act_id_info)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    USER_ID_

    用户ID

    VARCHAR(64)

    64

    TYPE_

    类型

    VARCHAR(64)

    64

    KEY_

    formINPut名称

    VARCHAR(255)

    255

    VALUE_

    VARCHAR(255)

    255

    PASSWORD_

    密码

    LONGBLOB

    PARENT_ID_

    父节点

    VARCHAR(255)

    255

     

    1.2.14       表名:ACT_ID_MEMBERSHIP(用户用户组关联表)

    用来保存用户的分组信息

    ACT_ID_MEMBERSHIP(act_id_membership)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    USER_ID_

    用户Id

    VARCHAR(64)

    64

    GROUP_ID_

    用户组Id

    VARCHAR(64)

    64

     

    1.2.15 表名:ACT_ID_USER(用户信息表)

    ACT_ID_USER(act_id_user)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    FIRST_

    用户名称

    VARCHAR(255)

    255

    LAST_

    用户姓氏

    VARCHAR(255)

    255

    EMAIL_

    邮箱

    VARCHAR(255)

    255

    PWD_

    密码

    VARCHAR(255)

    255

    PICTURE_ID_

    头像Id

    VARCHAR(64)

    64

     

     

    1.2.16 表名:ACT_RE_DEPLOYMENT(部署信息表)

    用来存储部署时需要持久化保存下来的信息

    ACT_RE_DEPLOYMENT(act_re_deployment)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    部署编号,自增长

    VARCHAR(64)

    64

    NAME_

    部署包的名称

    VARCHAR(255)

    255

    CATEGORY_

    类型

    VARCHAR(255)

    255

     

    TENANT_ID_

    租户

    VARCHAR(255)

    255

     

    多租户通常是在软件需要为多个不同组织服务时产生的概念

     

    DEPLOY_TIME_

    部署时间

    TIMESTAMP

    CURRENT_TIMESTAMP

     

    1.2.17 表名:ACT_RE_MODEL(流程设计模型表)

        创建流程的设计模型时,保存在该数据表中。

    ACT_RE_MODEL(act_re_model)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    REV_

    INT(11)

    11

    乐观锁

    NAME_

    模型的名称:

    比如:收文管理

    VARCHAR(255)

    255

    名称

    KEY_

    模型的关键字,流程引擎用到。

    比如:FTOA_SWGL

    VARCHAR(255)

    255

    分类,例如:

    http://www.mossle.com/docs/activiti/

    CATEGORY_

    类型,用户自己对流程模型的分类。

    VARCHAR(255)

    255

    分类

    CREATE_TIME_

    创建时间

    TIMESTAMP

    创建时间

    LAST_UPDATE_TIME_

    最后修改时间

    TIMESTAMP

    最新修改时间

    VERSION_

    版本,从1开始。

    INT(11)

    11

    版本

    META_INFO_

    数据源信息,比如:

    {"name":"FTOA_SWGL","revision":1,"description":"丰台财政局OA,收文管理流程"}

    VARCHAR(4000)

    4000

    以json格式保存流程定义的信息

    DEPLOYMENT_ID_

    部署ID

    VARCHAR(64)

    64

    部署ID

    EDITOR_SOURCE_VALUE_ID_

    编辑源值ID

    VARCHAR(64)

    64

    是 ACT_GE_BYTEARRAY 表中的ID_值。

    EDITOR_SOURCE_EXTRA_VALUE_ID_

    编辑源额外值ID(外键ACT_GE_BYTEARRAY )

    VARCHAR(64)

    64

    是 ACT_GE_BYTEARRAY 表中的ID_值。

     

    TENANT_ID_

    租户

    VARCHAR(255)

    255

     

     

     

     

    1.2.18 表名:ACT_RE_PROCDEF流程定义:解析表)

    流程解析表,解析成功了,在该表保存一条记录。业务流程定义数据表

    ACT_RE_PROCDEF(act_re_procdef)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省

    备注

    ID_

    流程ID,由“流程编号:流程版本号:自增长ID”组成

    VARCHAR(64)

    64

    ID_

    REV_

    版本号

    INT(11)

    11

    乐观锁

    CATEGORY_

    流程命名空间(该编号就是流程文件targetNamespace的属性值)

    VARCHAR(255)

    255

    流程定义的Namespace就是类别

    NAME_

    流程名称(该编号就是流程文件process元素的name属性值)

    VARCHAR(255)

    255

    名称

    KEY_

    流程编号(该编号就是流程文件process元素的id属性值)

    VARCHAR(255)

    255

    流程定义ID

    VERSION_

    流程版本号(由程序控制,新增即为1,修改后依次加1来完成的)

    INT(11)

    11

    版本

    DEPLOYMENT_ID_

    部署编号

    VARCHAR(64)

    64

    部署表ID

    RESOURCE_NAME_

    资源文件名称

    VARCHAR(4000)

    4000

    流程bpmn文件名称

    DGRM_RESOURCE_NAME_

    图片资源文件名称

    VARCHAR(4000)

    4000

    png流程图片名称

    DESCRIPTION_

    描述信息

    VARCHAR(4000)

    4000

    描述

    HAS_START_FORM_KEY_

    是否从key启动

    TINYINT(4)

    4

    start节点是否存在formKey

     0否  1是

    SUSPENSION_STATE_

    是否挂起

    INT(11)

    11

    1激活 2挂起

    注:此表和ACT_RE_DEPLOYMENT是多对一的关系,即,一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在ACT_RE_PROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过程序用ACT_GE_BYTEARRAY.NAME与ACT_RE_PROCDEF.NAME_完成的,在数据库表结构中没有体现。

     

    1.2.19 表名:ACT_RU_EVENT_SUBSCR(运行时事件)

    ACT_RU_EVENT_SUBSCR(act_ru_event_subscr)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID

    VARCHAR(64)

    64

    REV_

    版本号

    INT(11)

    11

    EVENT_TYPE_

    事件类型

    VARCHAR(255)

    255

    EVENT_NAME_

    事件名称

    VARCHAR(255)

    255

    EXECUTION_ID_

    流程执行ID

    VARCHAR(64)

    64

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

    ACTIVITY_ID_

    活动ID

    VARCHAR(64)

    64

    CONFIGURATION_

    配置信息

    VARCHAR(255)

    255

    CREATED_

    创建时间

    TIMESTAMP

    CURRENT_TIMESTAMP

     

    1.2.20       表名:ACT_RU_EXECUTION运行时流程执行实例)

    核心,我的代办任务查询表

    ACT_RU_EXECUTION(act_ru_execution)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    REV_

    版本号

    INT(11)

    11

    乐观锁

    PROC_INST_ID_

    流程实例编号

    VARCHAR(64)

    64

    流程实例ID

    BUSINESS_KEY_

    业务编号

    VARCHAR(255)

    255

    业务主键ID

    PARENT_ID_

    父执行流程

    VARCHAR(64)

    64

    父节点实例ID

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

    流程定义ID

    SUPER_EXEC_

    VARCHAR(64)

    64

    ACT_ID_

    实例id

    VARCHAR(255)

    255

    节点实例ID即

    ACT_HI_ACTINST中ID

    IS_ACTIVE_

    激活状态

    TINYINT(4)

    4

    是否存活

    IS_CONCURRENT_

    并发状态

    TINYINT(4)

    4

    是否为并行(true/false)

    IS_SCOPE_

     

    TINYINT(4)

    4

     

    IS_EVENT_SCOPE_

     

    TINYINT(4)

    4

     

    SUSPENSION_STATE_

    暂停状态_

    INT(11)

    11

    挂起状态   1激活 2挂起

    CACHED_ENT_STATE_

    缓存结束状态_

    INT(11)

    11

     

     

    1.2.21 表名:ACT_RU_IDENTITYLINK身份联系)

    主要存储当前节点参与者的信息,任务参与者数据表。

    ACT_RU_IDENTITYLINK(act_ru_identitylink)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

     

    REV_

    版本号

    INT(11)

    11

     

    GROUP_ID_

    用户组ID

    VARCHAR(255)

    255

     

    TYPE_

    用户组类型

    VARCHAR(255)

    255

    主要分为以下几种:assignee、candidate、

    owner、starter、participant。即:受让人,候选人,所有者、起动器、参与者

    USER_ID_

    用户ID

    VARCHAR(255)

    255

     

    TASK_ID_

    任务Id

    VARCHAR(64)

    64

     

    PROC_INST_ID_

    流程实例ID

    VARCHAR(64)

    64

     

    PROC_DEF_ID_

    流程定义Id

    VARCHAR(64)

    64

     

     

     

    1.2.22 表名:ACT_RU_JOB运行中的任务)

    运行时定时任务数据表

    ACT_RU_JOB(act_ru_job)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    标识

    REV_

    版本号

    INT(11)

    11

    版本

    TYPE_

    TYPE_

    VARCHAR(255)

    255

    类型

    LOCK_EXP_TIME_

    LOCK_EXP_TIME_

    TIMESTAMP

    锁定释放时间

    LOCK_OWNER_

    LOCK_OWNER_

    VARCHAR(255)

    255

    挂起者

    EXCLUSIVE_

    EXCLUSIVE_

    TINYINT(1)

    1

     

    EXECUTION_ID_

    EXECUTION_ID_

    VARCHAR(64)

    64

    执行实例ID

    PROCESS_INSTANCE_ID_

    PROCESS_INSTANCE_ID_

    VARCHAR(64)

    64

    流程实例ID

    PROC_DEF_ID_

    PROC_DEF_ID_

    VARCHAR(64)

    64

    流程定义ID

    RETRIES_

    RETRIES_

    INT(11)

    11

     

    EXCEPTION_STACK_ID_

    EXCEPTION_STACK_ID_

    VARCHAR(64)

    64

    异常信息ID

    EXCEPTION_MSG_

    EXCEPTION_MSG_

    VARCHAR(4000)

    4000

    异常信息

    DUEDATE_

    DUEDATE_

    TIMESTAMP

    到期时间

    REPEAT_

    REPEAT_

    VARCHAR(255)

    255

    重复

    HANDLER_TYPE_

    HANDLER_TYPE_

    VARCHAR(255)

    255

    处理类型

    HANDLER_CFG_

    HANDLER_CFG_

    VARCHAR(4000)

    4000

    标识

     

     

     

     

    1.2.23 表名:ACT_RU_TASK(运行时任务数据表)

    (执行中实时任务)代办任务查询表

    ACT_RU_TASK(act_ru_task)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    取值说明

    ID_

    ID_

    VARCHAR(64)

    64

    ID_

    REV_

    版本号

    INT(11)

    11

    乐观锁

    EXECUTION_ID_

    实例id(外键EXECUTION_ID_)

    VARCHAR(64)

    64

    执行实例ID

    PROC_INST_ID_

    流程实例ID(外键PROC_INST_ID_)

    VARCHAR(64)

    64

    流程实例ID

    PROC_DEF_ID_

    流程定义ID

    VARCHAR(64)

    64

    流程定义ID

    NAME_

    任务名称

    VARCHAR(255)

    255

    节点定义名称

    PARENT_TASK_ID_

    父节任务ID

    VARCHAR(64)

    64

    父节点实例ID

    DESCRIPTION_

    任务描述

    VARCHAR(4000)

    4000

    节点定义描述

    TASK_DEF_KEY_

    任务定义key

    VARCHAR(255)

    255

    任务定义的ID

    OWNER_

    所属人(老板)

    VARCHAR(255)

    255

    拥有者(一般情况下为空,只有在委托时才有值)

    ASSIGNEE_

    代理人员

    (受让人)

    VARCHAR(255)

    255

    签收人或委托人

    DELEGATION_

    代理团

    VARCHAR(64)

    64

    委托类型,DelegationState分为两种:PENDING,RESOLVED。如无委托则为空

    PRIORITY_

    优先权

    INT(11)

    11

    优先级别,默认为:50

    CREATE_TIME_

    创建时间

    TIMESTAMP

    创建时间,CURRENT_TIMESTAMP

    DUE_DATE_

    执行时间

    DATETIME

    耗时

    SUSPENSION_STATE_

    暂停状态

    INT(11)

    11

    1代表激活 2代表挂起

     

     

    1.2.24 表名:ACT_RU_VARIABLE(运行时流程变量数据表)

    ACT_RU_VARIABLE(act_ru_variable)

    是否主键

    字段名

    字段描述

    数据类型

    长度

    可空

    约束

    缺省值

    备注

    ID_

    ID_

    VARCHAR(64)

    64

    主键标识

    REV_

    版本号

    INT(11)

    11

    乐观锁

    TYPE

    编码类型

    VARCHAR(255)

    255

    参见VAR_TYPE_类型说明

    NAME_

    变量名称

    VARCHAR(255)

    255

    变量名称

    EXECUTION_ID_

    执行实例ID

    VARCHAR(64)

    64

    执行的ID

    PROC_INST_ID_

    流程实例Id

    VARCHAR(64)

    64

    流程实例ID

    TASK_ID_

    任务id

    VARCHAR(64)

    64

    节点实例ID(Local)

    BYTEARRAY_ID_

    字节组ID

    VARCHAR(64)

    64

    字节表的ID

    (ACT_GE_BYTEARRAY)

    DOUBLE_

    DOUBLE_

    DOUBLE

    存储变量类型为Double

    LONG_

    LONG_

    BIGINT(20)

    20

    存储变量类型为long

    TEXT_

    TEXT_

    VARCHAR(4000)

    4000

    存储变量值类型为String

    如此处存储持久化对象时,值jpa对象的class

    TEXT2_

    TEXT2_

    VARCHAR(4000)

    4000

    此处存储的是JPA持久化对象时,才会有值。此值为对象ID

     

     

    2  Activiti中主要对象的关系

    本节主要介绍在工作流中出现的几个对象及其之间的关系,以及在Activiti中各个对象是如何关联的。

    在开始之前先看看下图,对整个对象结构有个了解,再结合实例详细介绍理解。

    图1.Activiti中几个对象之间的关系

    我们模拟一个请假的流程进行分析介绍,该流程主要包含以下几个步骤:

    u  员工申请请假

    u  部门领导审批

    u  人事审批

    u  员工销假

     

    ProcessInstance对象

    员工开始申请请假流程,通过runtimeService.startProcessInstance()方法启动,引擎会创建一个流程实例(ProcessInstance)。

    简单来说流程实例就是根据一次(一条)业务数据用流程驱动的入口,两者之间是一对一的关系。流程引擎会创建一条数据到ACT_RU_EXECUTION表,同时也会根据history的级别决定是否查询相同的历史数据到ACT_HI_PROCINST表。

    启动完流程之后业务和流程已经建立了关联关系,第一步结束。

    启动流程和业务关联区别:

    对于自定义表单来说启动的时候会传入businessKey作为业务和流程的关联属性

    对于动态表单来说不需要使用businessKey关联,因为所有的数据都保存在引擎的表中

    对于外部表单来说businessKey是可选的,但是一般不会为空,和自定义表单类似

     

    Execution对象

    对于初学者来说,最难理解的地方就是ProcessInstance与Execution之间的关系,要分两种情况说明。Execution的含义就是一个流程实例(ProcessInstance)具体要执行的过程对象。

    不过在说明之前先声明两者的对象映射关系:

    ProcessInstance(1)→ Execution(N),(其中N>=1)。

    1)  值相等的情况:

    除了在流程中启动的子流程之外,流程启动之后在表ACT_RU_EXECUTION中的字段ID_PROC_INST_ID_字段值是相同的。

    图2.ID_和PROC_INST_ID_相等

    2)  值不相等的情况:

    不相等的情况目前只会出现在子流程中(包含:嵌套、引入),例如一个购物流程中除了下单、出库节点之外可能还有一个付款子流程,在实际企业应用中付款流程通常是作为公用的,所以使用子流程作为主流程(购物流程)的一部分。

    当任务到达子流程时引擎会自动创建一个付款流程,但是这个流程有一个特殊的地方,在数据库可以直观体现,如下图。

    图3.ID_和PROC_INST_ID_不相等

    上图中有两条数据,第二条数据(嵌入的子流程)的PARENT_ID_等于第一条数据的ID_PROC_INST_ID_,并且两条数据的PROC_INST_ID_相同。

    上图中还有一点特殊的地方,字段IS_ACTIVE_的值分别是0和1,说明正在执行子流程主流程挂起。

     

    Task对象

    前面说了ProcessInstance和业务是一对一关联的,和业务数据最亲密;而Task则和用户最亲密的(UserTask),用户每天的待办事项就是一个个的Task对象。

    从图1中看得出Execution和Task是一对一关系,Task可以是任何类型的Task实现,可以是用户任务(UserTask)、Java服务(JavaServiceTask)等,在实际流程运行中只不过面向对象不同,用户任务(UserTask)需要有人为参与完成(complete),Java服务需要由系统自动执行(execution)。

    图4. 表ACT_RU_TASK

    Task是在流程定义中看到的最大单位,每当一个Task完成的时候引擎会把当前的任务移动到历史中,然后插入下一个任务插入到表ACT_RU_TASK中。结合请假流程来说就是让用户点击“完成”按钮提交当前任务是的动作,引擎自动根据任务的顺序流或者排他分支判断走向。

     

    HistoryActivity(历史活动)

    图5. 表ACT_HI_ACTINST

     

    Activity包含了流程中所有的活动数据,例如开始事件(图5表中的第1条数据)、各种分支(排他分支、并行分支等,图5表中的第2条数据)、以及刚刚提到的Task执行记录(如图5表中的第3、4条数据)。

    有些人认为Activity和Task是多对一关系,其实不是,从上图中可以看出来根本没有Task相关的字段。

    结合请假流程来说,如Task中提到的当完成流程的时候所有下一步要执行的任务(包括各种分支)都会创建一个Activity记录到数据库中。例如领导审核节点点击“同意”按钮就会流转到人事审批节点,如果“驳回”那就流转到调整请假内容节点,每一次操作的Task背后实际记录更详细的活动(Activity)。

  • 相关阅读:
    Android开发 ViewConfiguration View的配置信息类
    Android 开发 倒计时功能 转载
    Android 开发 关于7.0 FileUriExposedException异常 详解
    Android 开发 实现文本搜索功能
    Android 开发 Activity里获取View的宽度和高度 转载
    Android 开发 存储目录的详解
    Android 开发 Fresco框架点击小图显示全屏大图实现 ZoomableDraweeView
    Android 开发 将window变暗
    Android 开发 DisplayMetrics获取Android设备的屏幕高宽与其他信息
    Android 开发 DP、PX、SP转换详解
  • 原文地址:https://www.cnblogs.com/Fooo/p/12668368.html
Copyright © 2011-2022 走看看