天天看點

Activiti-5.2工作流引擎-資料庫表結構

一、資料庫建表:

      建表說明目前省略

二、資料庫表結構說明:

 1、用模組化工具反向出來的資料庫表結構圖如下:

Activiti-5.2工作流引擎-資料庫表結構

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類檔案不儲存在資料庫裡 。
    • 組織機構的管理相對較弱,如果要納入單點登入體系内還需要改造完成,具體改造方法有待研究。
    • 運作時對象的執行與資料庫記錄之間的關系需要繼續研究
    • 曆史資料的儲存及作用需要繼續研究。