Camunda:16张运行时相关表及结构详细说明(act_ru_*)

220 阅读12分钟

运行时数据表存储了在流程执行期间所需的各种信息,包括流程实例、执行实例、任务、候选人、变量等等。在 Camunda 引擎运行时,这些表中的数据在不停地被更新、读取和删除。

基于camunda7.20

仅供参考:

  1. ACT_RU_TASK(任务实例表):存储正在运行的任务实例的信息。
  • ID_: 任务实例的 ID。
  • REV_: 版本号,用于乐观锁控制。
  • EXECUTION_ID_: 任务实例所属的执行实例 ID。
  • PROC_INST_ID_: 任务实例所属的流程实例 ID。
  • PROC_DEF_ID_: 任务实例所属的流程定义 ID。
  • CASE_EXECUTION_ID_: 任务实例所属的案例执行实例 ID。
  • CASE_INST_ID_: 任务实例所属的案例实例 ID。
  • CASE_DEF_ID_: 任务实例所属的案例定义 ID。
  • NAME_: 任务的名称。
  • PARENT_TASK_ID_: 如果任务是子任务,则指向父任务的 ID。
  • DESCRIPTION_: 任务的描述。
  • TASK_DEF_KEY_: 任务定义的键值,关联流程定义中的任务定义。
  • OWNER_: 拥有者,通常用于代理任务。
  • ASSIGNEE_: 受让人,即当前负责完成任务的用户。
  • DELEGATION_: 任务代理信息。
  • PRIORITY_: 任务的优先级。
  • CREATE_TIME_: 任务的创建时间。
  • LAST_UPDATED_: 最后更新时间。
  • DUE_DATE_: 任务的到期时间。
  • FOLLOW_UP_DATE_: 任务的跟踪时间。
  • SUSPENSION_STATE_: 标识任务的暂停状态。
  • TENANT_ID_: 任务所属的租户 ID。
  1. ACT_RU_EXECUTION(流程执行实例表):存储当前正在执行的流程实例的信息。
  • ID_: 流程执行实例的 ID。
  • REV_: 版本号,用于乐观锁控制。
  • PROC_INST_ID_: 流程实例的 ID。
  • ROOT_PROC_INST_ID_: 根流程实例的 ID。
  • BUSINESS_KEY_: 业务键,用于关联业务数据。
  • PARENT_ID_: 父级执行实例的 ID。
  • PROC_DEF_ID_: 流程定义的 ID,关联 ACT_RE_PROCDEF 表。
  • SUPER_EXEC_: 如果该执行实例是子流程的一部分,这个字段就是父级执行实例的 ID。
  • SUPER_CASE_EXEC_: 如果该执行实例是一个 case 实例的一部分,这个字段就是父级 case 实例的 ID。
  • CASE_INST_ID_: 如果该执行实例是一个 case 实例,这个字段就是 case 实例的 ID。
  • ACT_ID_: 当前活动的节点 ID。
  • ACT_INST_ID_: 当前活动的执行实例 ID。
  • IS_ACTIVE_: 标识流程实例是否正在活动中。
  • IS_CONCURRENT_: 标识该执行实例是否并发执行。
  • IS_SCOPE_: 标识该执行实例是否作为一个单独的作用域。
  • IS_EVENT_SCOPE_: 标识该执行实例是否作为事件作用域。
  • SUSPENSION_STATE_: 标识执行实例的暂停状态。
  • CACHED_ENT_STATE_: 缓存的实体状态。
  • SEQUENCE_COUNTER_: 序列计数器。
  • TENANT_ID_: 流程实例所属的租户 ID。
  1. ACT_RU_JOB(作业表):存储等待执行的作业信息,用于定时触发和异步任务。
  • ID_:作业的ID。
  • REV_:版本号,用于乐观锁控制。
  • TYPE_:作业类型,例如消息作业、定时作业等。
  • LOCK_EXP_TIME_:锁定该作业的过期时间。
  • LOCK_OWNER_:锁定该作业的所有者。
  • EXCLUSIVE_:指定作业是否是排他的。
  • EXECUTION_ID_:执行实例 ID,指示作业与哪个执行实例相关联。
  • PROCESS_INSTANCE_ID_:流程实例 ID,指示作业与哪个流程实例相关联。
  • PROCESS_DEF_ID_
  • PROCESS_DEF_KEY_
  • RETRIES_:作业的重试次数。
  • EXCEPTION_STACK_ID_:异常堆栈信息的存储ID。
  • EXCEPTION_MSG_:异常消息。
  • FAILED_ACT_ID_
  • DUEDATE_:作业的截止日期。
  • REPEAT_
  • REPEAT_OFFSET_
  • HANDLER_TYPE_:作业处理器的类型。
  • HANDLER_CFG_:作业处理器的配置信息。
  • DEPLOYMENT_ID_:部署ID。
  • SUSPENSION_STATE_:标识作业的暂停状态。
  • JOB_DEF_ID_
  • PRIORITY_
  • SEQUENCE_COUNTER_
  • TENANT_ID_
  • CREATE_TIME_
  • LAST_FAILURE_LOG_ID_
  1. ACT_RU_JOBDEF(运行时作业定义表)
  • ID_: Job 定义 ID。
  • REV_: 版本号。
  • PROC_DEF_ID_:与Job定义关联的流程定义的ID。
  • PROC_DEF_KEY_:与Job定义关联的流程定义的键。
  • ACT_ID_:与Job定义关联的活动(任务节点或网关)的ID。
  • JOB_TYPE_: Job 的类型,例如异步任务、定时任务等。
  • JOB_CONFIGURATION_: Job 的配置信息。
  • SUSPENSION_STATE_:挂起状态。
  • JOB_PRIORITY_:Job的优先级。
  • TENANT_ID_:租户ID。
  • DEPLOYMENT_ID_:与Job定义关联的部署的ID。
  1. ACT_RU_EVENT_SUBSCR(事件订阅表):存储与流程实例或执行实例关联的事件订阅信息。
  • ID_:订阅ID。
  • REV_:版本号。
  • EVENT_TYPE_: 事件类型。
  • EVENT_NAME_:事件名称。
  • EXECUTION_ID_:执行ID。
  • PROC_INST_ID_:流程实例ID。
  • ACTIVITY_ID_
  • CONFIGURATION_
  • CREATED_
  • TENANT_ID_
  1. ACT_RU_VARIABLE(变量实例表):存储流程实例和执行实例中的变量信息。
  • ID_: 变量实例的 ID。
  • REV_: 版本号,用于乐观锁控制。
  • TYPE_: 变量的数据类型。
  • NAME_: 变量的名称。
  • EXECUTION_ID_: 流程执行实例的 ID。
  • PROC_INST_ID_: 流程实例的 ID。
  • PROC_DEF_ID_: 流程定义的 ID,关联 ACT_RE_PROCDEF 表。
  • CASE_EXECUTION_ID_: case 执行实例的 ID。
  • CASE_INST_ID_: case 实例的 ID。
  • TASK_ID_: 与变量关联的任务的 ID。
  • BATCH_ID_: 如果变量是批量操作的一部分,这个字段存储批次的 ID。
  • BYTEARRAY_ID_: 存储变量数据的字节数组的 ID。
  • DOUBLE_: 双精度浮点型变量的值。
  • LONG_: 长整型变量的值。
  • TEXT_: 文本型变量的值。
  • TEXT2_: 可选的第二个文本型变量的值。
  • VAR_SCOPE_: 变量的作用域。
  • SEQUENCE_COUNTER_: 序列计数器。
  • IS_CONCURRENT_LOCAL_: 标识变量是否在本地会话中并发访问。
  • TENANT_ID_: 变量所属的租户 ID。
  1. ACT_RU_IDENTITYLINK(运行时身份关联表):存储与流程实例或任务实例关联的身份信息。
  • ID_:身份链接ID。
  • REV_:版本号,用于乐观锁控制。
  • GROUP_ID_:用户组ID。
  • TYPE_:身份链接类型。
  • USER_ID_:用户ID。
  • TASK_ID_:任务ID。
  • PROC_DEF_ID_:流程定义ID。
  • TENANT_ID_:租户ID。
  1. ACT_RU_EXT_TASK(运行时外部任务表):存储与外部系统交互的任务的信息,用于扩展任务。
  • ID_: 外部任务的唯一标识符。
  • REV_: 版本号,用于乐观锁控制并发访问。
  • WORKER_ID_: 执行该任务的工作者/执行者的ID。
  • TOPIC_NAME_: 外部任务的主题名称,用于标识任务类型。
  • RETRIES_: 失败重试次数,记录任务的失败重试次数。
  • ERROR_MSG_: 错误消息,记录任务执行过程中的错误信息。
  • ERROR_DETAILS_ID_: 错误详情ID,与错误信息相关的详细信息的ID。
  • LOCK_EXP_TIME_: 锁定过期时间,记录任务锁定的过期时间。
  • SUSPENSION_STATE_: 外部任务的暂停状态,记录任务的暂停状态。
  • EXECUTION_ID_: 外部任务关联的执行流程实例的ID。
  • PROC_INST_ID_: 外部任务所属的流程实例的ID。
  • PROC_DEF_ID_: 外部任务所属流程定义的ID。
  • PROC_DEF_KEY_: 外部任务所属流程定义的键。
  • ACT_ID_: 外部任务所在的活动(节点)的ID。
  • ACT_INST_ID_: 外部任务所在的活动实例的ID。
  • TENANT_ID_: 外部任务所属的租户ID。
  • PRIORITY_: 外部任务的优先级。
  • LAST_FAILURE_LOG_ID_: 最后失败日志的ID,记录上次任务失败的日志ID。
  1. ACT_RU_FILTER(过滤器表):存储用户定义的任务过滤器的信息。
  • ID_: 过滤器的唯一标识符。
  • REV_: 版本号,用于乐观锁控制并发访问。
  • RESOURCE_TYPE_: 过滤器的资源类型,用于指定过滤器应用于的资源类型。
  • NAME_: 过滤器的名称。
  • OWNER_: 过滤器的所有者。
  • QUERY_: 过滤器的查询条件,用于指定过滤器应用的条件。
  • PROPERTIES_: 过滤器的扩展属性,用于存储额外的过滤器属性或配置信息。
  1. ACT_RU_AUTHORIZATION(授权表):存储用户的操作权限信息。
  • ID_: 授权记录的唯一标识符。
  • REV_: 版本号,用于乐观锁控制并发访问。
  • TYPE_: 授权类型,包括“GRANT”和“REVOKE”。
  • GROUP_ID_: 授权组的ID,用于指定授权所属的组。
  • USER_ID_: 授权用户的ID,用于指定授权所属的用户。
  • RESOURCE_TYPE_: 授权资源类型,用于指定授权的资源类型。
  • RESOURCE_ID_: 授权资源的ID,用于指定授权的资源ID。
  • PERMS_: 授权操作权限,用于指定所授权的操作权限(读取、修改等)。
  • REMOVAL_TIME_: 授权的删除时间,用于记录已删除的授权记录的删除时间。
  • ROOT_PROC_INST_ID_: 授权记录的根流程实例ID,用于在层次流程实例中跟踪和标识授权记录和流程实例之间的关系。
  1. ACT_RU_BATCH(运行时批处理表):该表用于存储所有激活的批处理的信息。
  • ID_: 批处理的 ID。
  • REV_:版本号。
  • TYPE_: 批处理的类型,例如删除数据等。
  • TOTAL_JOBS_: 批处理任务的总数。
  • JOBS_CREATED_:批处理生成job的数量。
  • JOBS_PER_SEED_:种子任务创建的作业数量。种子任务在批处理中用于生成作业的任务。
  • INVOCATIONS_PER_JOB_:每个job可以被执行的次数限制。
  • SEED_JOB_DEF_ID_:种子任务定义ID。
  • BATCH_JOB_DEF_ID_:批处理任务定义ID。
  • MONITOR_JOB_DEF_ID_:监视任务定义ID。
  • SUSPENSION_STATE_: 暂停状态。
  • CONFIGURATION_: 批处理的配置信息。
  • TENANT_ID_:租户ID。
  • CREATE_USER_ID_:创建者用户ID。
  • START_TIME_:批处理实例开始时间。
  • EXEC_START_TIME_:批处理实例执行开始时间。
  1. ACT_RU_CASE_EXECUTION(运行时案例执行表):运行时案例执行的信息。
  • ID_: 案例执行实例的 ID。
  • REV_: 版本号。
  • CASE_INST_ID_: 案例实例的 ID。
  • SUPER_CASE_EXEC_:上级案例执行ID。(在嵌套案例中,一个案例执行可以包含另一个案例执行作为其子执行。因此,SUPER_CASE_EXEC_ 字段用于指示这个案例执行的上级案例执行。)
  • SUPER_EXEC_:上级执行流ID。(在案例管理流程中,一个案例执行可以包含其它执行,例如,任务和子过程。因此,SUPER_EXEC_ 字段用于指示这个案例执行的上级执行流ID。)
  • BUSINESS_KEY_:与案例执行关联的业务关键值。(该字段通常用于将业务实例与执行实例关联起来,方便在需要时查找、调整或删除实例。)
  • PARENT_ID_: 父案例执行实例的 ID。
  • CASE_DEF_ID_: 与案例执行相关的案例定义的 ID。
  • ACT_ID_:与此案例执行关联的活动ID。
  • PREV_STATE_:进入此状态之前的状态ID。(案例在进入当前状态之前的状态ID。适用于状态管理,可帮助检索状态变更的历史记录。)
  • CURRENT_STATE_:当前状态ID。(案例当期所处的状态ID。适用于状态管理,可帮助检索状态变更的历史记录。)
  • REQUIRED_:是否必须完成此执行。(如果这个字段的值为“true”,则必须完成执行,否则无法完成案例实例。)
  • TENANT_ID_:租户ID。
  1. ACT_RU_CASE_SENTRY_PART(运行时案例哨兵部分表):该表存储所有活动的案例哨兵部分实例。
  • ID_: 哨兵部分实例的 ID。
  • REV_: 数据库乐观锁版本号。
  • CASE_INST_ID_: 案例实例的 ID。
  • CASE_EXEC_ID_: 执行实例ID。(表示与哨兵部分相关的案例执行实例 ID)
  • SENTRY_ID_: 与哨兵部分实例相关联的哨兵 ID。
  • TYPE_: 哨兵部分类型。(可能的类型包括:变量哨兵、事件哨兵、注入哨兵或者计时器哨兵等;)
  • SOURCE_CASE_EXEC_ID_: 源执行实例ID。(字段如果存在,则表示触发此哨兵部分的源执行实例的ID。)
  • STANDARD_EVENT_: 标准事件名称。(字段指定窗口触发要监听的事件类型。例如,start、end 或 complete 等等。)
  • SOURCE_: 哨兵部分源地址。
  • VARIABLE_EVENT_: 流程变量引发的事件名称。(字段指定将 Watch_Variable 与哨兵部分关联的流程变量事件。例如当流程变量的值出现变化时将触发此哨兵部分。)
  • VARIABLE_NAME_: 变量名称(如果此部分类型为变量,则为所使用的变量名称)。
  • SATISFIED_: 指示是否满足此哨兵部分的条件。
  • TENANT_ID_: 租户ID。
  1. ACT_RU_INCIDENT(流程实例中断表):存储流程实例中出现的问题或异常的信息。
  • ID_: 事件实例的 ID。
  • REV_: 数据库乐观锁版本号。
  • INCIDENT_TIMESTAMP_: 事件的时间戳。
  • INCIDENT_MSG_: 事件消息,记录了事件的详细信息,可包括引起事件的错误、异常消息等。
  • INCIDENT_TYPE_: 事件的类型,例如未捕获的 Bpmn Error 等。
  • EXECUTION_ID_: 相关的执行 ID。
  • ACTIVITY_ID_: 事件所发生的活动 ID。
  • FAILED_ACTIVITY_ID_: 失败的活动(任务)ID,指示发生事件的活动。
  • PROC_INST_ID_: 相关的流程实例 ID。
  • PROC_DEF_ID_: 流程定义ID,指示流程定义与事件相关。
  • CAUSE_INCIDENT_ID_: 引起此事件的事件ID,指示事件的根本原因,用于追踪事件链。
  • ROOT_CAUSE_INCIDENT_ID_: 根本原因事件ID,指示事件的最顶层的原因,用于确定事件发生的根本原因。
  • CONFIGURATION_: 事件的配置信息。
  • TENANT_ID_: 租户ID,用于多租户部署的场景。
  • JOB_DEF_ID_: 作业定义ID,用于关联事件与作业定义。
  • ANNOTATION_: 注释,可用于附加描述事件的补充说明。
  1. ACT_RU_METER_LOG(运行时计量日志表):该表存储所有计量日志信息。
  • ID_: 计量日志实例的 ID。
  • NAME_: 计量器的名称,用于标识计量器。
  • REPORTER_: 计量器的报告者,通常是指记录计量日志的执行者。
  • VALUE_: 计量器的值,记录了计量器的具体数值。
  • TIMESTAMP_: 计量日志的时间戳,用于确定日志的生成时间。
  • MILLISECONDS_: 计量器的时间片段长度,以毫秒为单位。
  1. ACT_RU_TASK_METER_LOG(运行时任务计量日志表):该表存储所有任务计量日志信息。
  • ID_:任务计量日志实例的唯一标识符。
  • ASSIGNEE_HASH_:用于生成任务处理人的哈希值,可以帮助记录任务处理人的信息(如用户、组)。
  • TIMESTAMP_:记录任务计量日志的时间,用于确定日志的生成时间。