Activiti工作流框架——數(shù)據(jù)庫表結(jié)構(gòu)說明

activity一共23張表

23張表.png

表的命名第一部分都是以 ACT_開頭的。

表的命名第二部分是一個(gè)兩個(gè)字符用例表的標(biāo)識(shí)


act_ge_*:

‘ge’代表general(一般)。普通數(shù)據(jù),各種情況都使用的數(shù)據(jù)。

  • act_ge_bytearray:二進(jìn)制數(shù)據(jù)表,用來保存部署文件的大文本數(shù)據(jù)
    1.ID_:資源文件編號(hào),自增長(zhǎng)
    2.REV_INT:版本號(hào)
    3.NAME_:資源文件名稱
    4.DEPLOYMENT_ID_:來自于父表act_re_deployment的主鍵
    5.BYTES_:大文本類型,存儲(chǔ)文本字節(jié)流

  • act_ge_property:屬性數(shù)據(jù)表,存儲(chǔ)這整個(gè)流程引擎級(jí)別的數(shù)據(jù)。在初始化表結(jié)構(gòu)時(shí),會(huì)默認(rèn)插入三條記錄。
    1.NAME_:屬性名稱
    2.VALUE_:屬性值
    3.REV_INT:版本號(hào)


act_hi_*:

’hi’代表 history(歷史)。就是這些表包含著歷史的相關(guān)數(shù)據(jù),如結(jié)束的流程實(shí)例、變量、任務(wù)、等等。

  • act_hi_actinst:歷史節(jié)點(diǎn)表
    1.ID_ : 標(biāo)識(shí)
    2.PROC_DEF_ID_ :流程定義id
    3.PROC_INST_ID_ : 流程實(shí)例id
    4.EXECUTION_ID_ : 執(zhí)行實(shí)例
    5.ACT_ID_ : 節(jié)點(diǎn)id
    6.ACT_NAME_ : 節(jié)點(diǎn)名稱
    7.ACT_TYPE_ : 節(jié)點(diǎn)類型
    8.ASSIGNEE_ : 節(jié)點(diǎn)任務(wù)分配人
    9.START_TIME_ : 開始時(shí)間
    10.END_TIME_ : 結(jié)束時(shí)間
    11.DURATION : 經(jīng)過時(shí)長(zhǎng)

  • act_hi_attachment:歷史附件表

  • act_hi_comment:歷史意見表
    1.ID_ :標(biāo)識(shí)
    2.TYPE_ : 意見記錄類型 為comment 時(shí) 為處理意見
    3.TIME_ : 記錄時(shí)間
    4.USER_ID_ :
    5.TASK_ID_ : 對(duì)應(yīng)任務(wù)的id
    6.PROC_INST_ID_ : 對(duì)應(yīng)的流程實(shí)例的id
    7.ACTION_ : 為AddComment 時(shí)為處理意見
    8.MESSAGE_ : 處理意見
    9.FULL_MSG_ :

  • act_hi_detail:歷史詳情表,啟動(dòng)流程或者在任務(wù)complete之后,記錄歷史流程變量
    1.ID_ : 標(biāo)識(shí)
    2.TYPE_ : variableUpdate 和 formProperty 兩種值
    3.PROC_INST_ID_ : 對(duì)應(yīng)流程實(shí)例id
    4.EXECUTION_ID_ : 對(duì)應(yīng)執(zhí)行實(shí)例id
    5.TASK_ID_ : 對(duì)應(yīng)任務(wù)id
    6.ACT_INST_ID : 對(duì)應(yīng)節(jié)點(diǎn)id
    7.NAME_ : 歷史流程變量名稱,或者表單屬性的名稱
    8.VAR_TYPE_ : 定義類型
    9.REV_ : 版本
    10.TIME_ : 導(dǎo)入時(shí)間
    11.BYTEARRAY_ID_
    12.DOUBLE_ : 如果定義的變量或者表單屬性的類型為double,他的值存在這里
    13.LONG_ : 如果定義的變量或者表單屬性的類型為L(zhǎng)ONG ,他的值存在這里
    14.TEXT_ :  如果定義的變量或者表單屬性的類型為string,值存在這里
    15.TEXT2_:

  • act_hi_identitylink:歷史流程人員表

  • act_hi_procinst: 歷史流程實(shí)例表
    1.ID_ : 唯一標(biāo)識(shí)
    2.PROC_INST_ID_ : 流程ID
    3.BUSINESS_KEY_ : 業(yè)務(wù)編號(hào)
    4.PROC_DEF_ID_ : 流程定義id
    5.START_TIME_ : 流程開始時(shí)間
    6.ENT__TIME : 結(jié)束時(shí)間
    7.DURATION_ : 流程經(jīng)過時(shí)間
    8.START_USER_ID_ : 開啟流程用戶id
    9.START_ACT_ID_ : 開始節(jié)點(diǎn)
    10.END_ACT_ID_: 結(jié)束節(jié)點(diǎn)
    11.SUPER_PROCESS_INSTANCE_ID_ : 父流程流程id
    12.DELETE_REASON_ : 從運(yùn)行中任務(wù)表中刪除原因

  • act_hi_taskinst: 歷史任務(wù)實(shí)例表
    1.ID_ : 標(biāo)識(shí)
    2.PROC_DEF_ID_ : 流程定義id
    3.TASK_DEF_KEY_ : 任務(wù)定義id
    4.PROC_INST_ID_ : 流程實(shí)例id
    5.EXECUTION_ID_ : 執(zhí)行實(shí)例id
    6.PARENT_TASK_ID_ : 父任務(wù)id
    7.NAME_ : 任務(wù)名稱
    8.DESCRIPTION_ : 說明
    9.OWNER_ : 擁有人(發(fā)起人)
    10.ASSIGNEE_ : 分配到任務(wù)的人
    11.START__TIME_ : 開始任務(wù)時(shí)間
    12.END_TIME_ : 結(jié)束任務(wù)時(shí)間
    13.DURATION_ : 時(shí)長(zhǎng)
    14.DELETE_REASON_ :從運(yùn)行時(shí)任務(wù)表中刪除的原因
    15.PRIORITY_ : 緊急程度
    16.DUE_DATE_ :

  • act_hi_varinst:歷史變量表


act_id_*:

’id’代表 identity(身份)。這些表包含著標(biāo)識(shí)的信息,如用戶、用戶組、等等。

  • act_id_group:用戶組信息表,用來存儲(chǔ)用戶組信息。
    1.ID_:用戶組名*
    2.REV_INT:版本號(hào)
    3.NAME_:用戶組描述信息*
    4.TYPE_:用戶組類型

  • act_id_info:用戶擴(kuò)展信息表

  • act_id_membership:用戶與用戶組對(duì)應(yīng)信息表,用來保存用戶的分組信息
    1.USER_ID_:用戶名
    2.GROUP_ID_:用戶組名

  • act_id_user:用戶信息表
    1.ID_:用戶名
    2.REV_INT:版本號(hào)
    3.FIRST_:用戶名稱
    4.LAST_:用戶姓氏
    5.EMAIL_:郵箱
    6.PWD_:密碼


act_re_*:

’re’代表 repository(倉庫)。帶此前綴的表包含的是靜態(tài)信息,如,流程定義、流程的資源(圖片、規(guī)則,等)。

  • act_re_deployment:部署信息表,用來存儲(chǔ)部署時(shí)需要持久化保存下來的信息
    1.ID_:部署編號(hào),自增長(zhǎng)
    2.NAME_:部署包的名稱
    3.DEPLOY_TIME_:部署時(shí)間

  • act_re_model 流程設(shè)計(jì)模型部署表

  • act_re_procdef:業(yè)務(wù)流程定義數(shù)據(jù)表
    1.ID_:流程ID,由“流程編號(hào):流程版本號(hào):自增長(zhǎng)ID”組成
    2.CATEGORY_:流程命名空間(該編號(hào)就是流程文件targetNamespace的屬性值)
    3.NAME_:流程名稱(該編號(hào)就是流程文件process元素的name屬性值)
    4.KEY_:流程編號(hào)(該編號(hào)就是流程文件process元素的id屬性值)
    5.VERSION_:流程版本號(hào)(由程序控制,新增即為1,修改后依次加1來完成的)
    6.DEPLOYMENT_ID_:部署編號(hào)
    7.RESOURCE_NAME_:資源文件名稱
    8.DGRM_RESOURCE_NAME_:圖片資源文件名稱
    9.HAS_START_FROM_KEY_:是否有Start From Key

注:此表和ACT_RE_DEPLOYMENT是多對(duì)一的關(guān)系,即,一個(gè)部署的bar包里可能包含多個(gè)流程定義文件,每個(gè)流程定義文件都會(huì)有一條記錄在ACT_REPROCDEF表內(nèi),每個(gè)流程定義的數(shù)據(jù),都會(huì)對(duì)于ACT_GE_BYTEARRAY表內(nèi)的一個(gè)資源文件和PNG圖片文件。和ACT_GE_BYTEARRAY的關(guān)聯(lián)是通過程序用ACT_GE_BYTEARRAY.NAME與ACT_RE_PROCDEF.NAME_完成的,在數(shù)據(jù)庫表結(jié)構(gòu)中沒有體現(xiàn)。


act_ru_*:

’ru’代表 runtime(運(yùn)行時(shí))。就是這個(gè)運(yùn)行時(shí)的表存儲(chǔ)著流程變量、用戶任務(wù)、變量、作業(yè),等中的運(yùn)行時(shí)的數(shù)據(jù)。 activiti 只存儲(chǔ)流程實(shí)例執(zhí)行期間的運(yùn)行時(shí)數(shù)據(jù),當(dāng)流程實(shí)例結(jié)束時(shí),將刪除這些記錄。這就使這些運(yùn)行時(shí)的表保持 的小且快。

  • act_ru_event_subscr

  • act_ru_execution:運(yùn)行時(shí)流程執(zhí)行實(shí)例表
    1.ID_:主鍵,這個(gè)主鍵有可能和PROC_INST_ID_相同,相同的情況表示這條記錄為主實(shí)例記錄。
    2.REV_:版本,表示數(shù)據(jù)庫表更新次數(shù)。
    3.PROC_INST_ID_:流程實(shí)例編號(hào),一個(gè)流程實(shí)例不管有多少條分支實(shí)例,這個(gè)ID都是一致的。
    4.BUSINESS_KEY_:業(yè)務(wù)編號(hào),業(yè)務(wù)主鍵,主流程才會(huì)使用業(yè)務(wù)主鍵,另外這個(gè)業(yè)務(wù)主鍵字段在表中有唯一約束。
    5.PARENT_ID_:找到該執(zhí)行實(shí)例的父級(jí),最終會(huì)找到整個(gè)流程的執(zhí)行實(shí)例
    6.PROC_DEF_ID_:流程定義ID
    7.SUPER_EXEC_: 引用的執(zhí)行模板,這個(gè)如果存在表示這個(gè)實(shí)例記錄為一個(gè)外部子流程記錄,對(duì)應(yīng)主流程的主鍵ID。
    8.ACT_ID_: 節(jié)點(diǎn)id,表示流程運(yùn)行到哪個(gè)節(jié)點(diǎn)
    9.IS_ACTIVE_: 是否活動(dòng)流程實(shí)例
    10.IS_CONCURRENT_:是否并發(fā)。上圖同步節(jié)點(diǎn)后為并發(fā),如果是并發(fā)多實(shí)例也是為1。
    11.IS_SCOPE_: 主實(shí)例為1,子實(shí)例為0。
    12.TENANT_ID_ : 這個(gè)字段表示租戶ID??梢詰?yīng)對(duì)多租戶的設(shè)計(jì)。
    13.IS_EVENT_SCOPE: 沒有使用到事件的情況下,一般都為0。
    14.SUSPENSION_STATE_:是否暫停。

  • act_ru_identitylink:運(yùn)行時(shí)流程人員表,主要存儲(chǔ)任務(wù)節(jié)點(diǎn)與參與者的相關(guān)信息
    1.ID_: 標(biāo)識(shí)
    2.REV_: 版本
    3.GROUP_ID_: 組織id
    4.TYPE_: 類型
    5.USER_ID_: 用戶id
    6.TASK_ID_: 任務(wù)id

  • act_ru_job

  • act_ru_task:運(yùn)行時(shí)任務(wù)節(jié)點(diǎn)表
    1.ID_:
    2.REV_:
    3.EXECUTION_ID_: 執(zhí)行實(shí)例的id
    4.PROC_INST_ID_: 流程實(shí)例的id
    5.PROC_DEF_ID_: 流程定義的id,對(duì)應(yīng)act_re_procdef 的id_
    6.NAME_: 任務(wù)名稱,對(duì)應(yīng) ***task 的name
    7.PARENT_TASK_ID_ : 對(duì)應(yīng)父任務(wù)
    8.DESCRIPTION_:
    9.TASK_DEF_KEY_: ***task 的id
    10.OWNER_ : 發(fā)起人
    11.ASSIGNEE_: 分配到任務(wù)的人
    12.DELEGATION_ : 委托人
    13.PRIORITY_: 緊急程度
    14.CREATE_TIME_: 發(fā)起時(shí)間
    15.DUE_TIME_:審批時(shí)長(zhǎng)

  • act_ru_variable:運(yùn)行時(shí)流程變量數(shù)據(jù)表
    1.ID_:標(biāo)識(shí)
    2.REV_:版本號(hào)
    3.TYPE_:數(shù)據(jù)類型
    4.NAME_:變量名
    5.EXECUTION_ID_: 執(zhí)行實(shí)例id
    6.PROC_INST_ID_: 流程實(shí)例id
    7.TASK_ID_: 任務(wù)id
    8.BYTEARRAY_ID_:
    9.DOUBLE_:若數(shù)據(jù)類型為double ,保存數(shù)據(jù)在此列
    10.LONG_: 若數(shù)據(jù)類型為L(zhǎng)ong保存數(shù)據(jù)到此列
    11.TEXT_: string 保存到此列
    12.TEXT2_:


結(jié)論及總結(jié):

  • *流程文件部署主要涉及到3個(gè)表,分別是:ACT_GE_BYTEARRAY、ACT_RE_DEPLOYMENT、ACT_RE_PROCDEF。主要完成“部署包”-->“流程定義文件”-->“所有包內(nèi)文件”的解析部署關(guān)系。從表結(jié)構(gòu)中可以看出,流程定義的元素需要每次從數(shù)據(jù)庫加載并解析,因?yàn)榱鞒潭x的元素沒有轉(zhuǎn)化成數(shù)據(jù)庫表來完成,當(dāng)然流程元素解析后是放在緩存中的,具體的還需要后面詳細(xì)研究。 *

  • *流程定義中的java類文件不保存在數(shù)據(jù)庫里 。 *

  • *組織機(jī)構(gòu)的管理相對(duì)較弱,如果要納入單點(diǎn)登錄體系內(nèi)還需要改造完成,具體改造方法有待研究。 *

  • *運(yùn)行時(shí)對(duì)象的執(zhí)行與數(shù)據(jù)庫記錄之間的關(guān)系需要繼續(xù)研究 *

  • 歷史數(shù)據(jù)的保存及作用需要繼續(xù)研究。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容