隨筆-295  評論-26  文章-1  trackbacks-0

          Activiti工作流引擎數據庫表結構

          數據庫表的命名

          Acitiviti數據庫中表的命名都是以ACT_開頭的。第二部分是一個兩個字符用例表的標識。此用例大體與服務API是匹配的。

          l  ACT_RE_*:RE’表示repository。帶此前綴的表包含的是靜態信息,如,流程定義,流程的資源(圖片,規則等)。

          l  ACT_RU_*:RU’表示runtime。這是運行時的表存儲著流程變量,用戶任務,變量,職責(job)等運行時的數據。Activiti只存儲實例執行期間的運行時數據,當流程實例結束時,將刪除這些記錄。這就保證了這些運行時的表小且快。

          l  ACT_ID_*:ID’表示identity。這些表包含標識的信息,如用戶,用戶組,等等。

          l  ACT_HI_*:HI’表示history。就是這些表包含著歷史的相關數據,如結束的流程實例,變量,任務,等等。

          l  ACT_GE_*:普通數據,各種情況都使用的數據。

          數據庫表結構圖

           

           

           

          數據庫表結構說明

          l  ACT_GE_PROPERTY:屬性數據表。存儲這個流程引擎級別的數據。

          1.     NAME_:屬性名稱

          2.     VALUE_:屬性值

          3.     REV_INT:版本號

          l  ACT_GE_BYTEARRAY:用來保存部署文件的大文本數據

          1.     ID_:資源文件編號,自增長

          2.     REV_INT:版本號

          3.     NAME_:資源文件名稱

          4.     DEPLOYMENT_ID_:來自于父表ACT_RE_DEPLOYMENT的主鍵

          5.     BYTES_:大文本類型,存儲文本字節流

          l  ACT_RE_DEPLOYMENT:用來存儲部署時需要持久化保存下來的信息

          1.     ID_:部署編號,自增長

          2.     NAME_:部署包的名稱

          3.     DEPLOY_TIME_:部署時間

          l  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_FROM_KEY_:是否有Start From Key

          注:此表和ACT_RE_DEPLOYMENT是多對一的關系,即,一個部署的bar包里可能包含多個流程定義文件,每個流程定義文件都會有一條記錄在ACT_REPROCDEF表內,每個流程定義的數據,都會對于ACT_GE_BYTEARRAY表內的一個資源文件和PNG圖片文件。和ACT_GE_BYTEARRAY的關聯是通過程序用ACT_GE_BYTEARRAY.NAMEACT_RE_PROCDEF.NAME_完成的,在數據庫表結構中沒有體現。

          l  ACT_ID_GROUP:用來存儲用戶組信息。

          1.     ID_:用戶組名*

          2.     REV_INT:版本號

          3.     NAME_:用戶組描述信息*

          4.     TYPE_:用戶組類型

          l  ACT_ID_MEMBERSHIP:用來保存用戶的分組信息

          1.     USER_ID_:用戶名

          2.     GROUP_ID_:用戶組名

          l  ACT_ID_USER:

          1.     ID_:用戶名

          2.     REV_INT:版本號

          3.     FIRST_:用戶名稱

          4.     LAST_:用戶姓氏

          5.     EMAIL_:郵箱

          6.     PWD_:密碼

          l  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_ 節點id

          9.     IS_ACTIVE_: 是否訪問

          10.  IS_CONCURRENT_

          11.  IS_SCOPE_ 

          l  ACT_RU_TASK:運行時任務數據表。

          1.     ID_

          2.     REV_

          3.     EXECUTION_ID_: 執行實例的id

          4.     PROC_INST_ID_: 流程實例的id

          5.     PROC_DEF_ID_  流程定義的id,對應act_re_procdef id_

          6.     NAME_  任務名稱,對應 ***task name

          7.     PARENT_TASK_ID_ : 對應父任務

          8.     DESCRIPTION_

          9.     TASK_DEF_KEY_ ***task id

          10.  OWNER_   : 發起人

          11.  ASSIGNEE_: 分配到任務的人

          12.  DELEGATION_ :  委托人

          13.  PRIORITY_: 緊急程度

          14.  CREATE_TIME_: 發起時間

          15.  DUE_TIME_:審批時長

          l  ACT_RU_IDENTITYLINK:任務參與者數據表。主要存儲當前節點參與者的信息。

          1.     ID_  標識

          2.     REV_: 版本

          3.     GROUP_ID_: 組織id

          4.     TYPE_: 類型

          5.     USER_ID_: 用戶id

          6.     TASK_ID_: 任務id

          l  ACT_RU_VARIABLE:運行時流程變量數據表。

          1.     ID_:標識

          2.     REV_:版本號

          3.     TYPE_:數據類型

          4.     NAME_:變量名

          5.     EXECUTION_ID_: 執行實例id

          6.     PROC_INST_ID_: 流程實例id

          7.     TASK_ID_: 任務id

          8.     BYTEARRAY_ID_

          9.     DOUBLE_:若數據類型為double ,保存數據在此列

          10.  LONG_: 若數據類型為Long保存數據到此列

          11.  TEXT_ string 保存到此列

          12.  TEXT2_

          l  ACT_HI_PROCINST

          1.     ID_ : 唯一標識

          2.     PROC_INST_ID_ : 流程ID

          3.     BUSINESS_KEY_ : 業務編號

          4.     PROC_DEF_ID_ : 流程定義id

          5.     START_TIME_ :  流程開始時間

          6.     ENT__TIME :  結束時間

          7.     DURATION_ : 流程經過時間

          8.     START_USER_ID_ : 開啟流程用戶id

          9.     START_ACT_ID_ : 開始節點

          10.  END_ACT_ID_: 結束節點

          11.  SUPER_PROCESS_INSTANCE_ID_ : 父流程流程id

          12.  DELETE_REASON_ : 從運行中任務表中刪除原因

          l  ACT_HI_ACTINST

          1.     ID_ : 標識

          2.     PROC_DEF_ID_ :流程定義id

          3.     PROC_INST_ID_ : 流程實例id

          4.     EXECUTION_ID_ : 執行實例

          5.     ACT_ID_ : 節點id

          6.     ACT_NAME_ : 節點名稱

          7.     ACT_TYPE_ : 節點類型

          8.     ASSIGNEE_ : 節點任務分配人

          9.     START_TIME_ : 開始時間

          10.  END_TIME_ : 結束時間

          11.  DURATION : 經過時長

          l  ACT_HI_TASKINST

          1.     ID_ : 標識

          2.     PROC_DEF_ID_ : 流程定義id

          3.     TASK_DEF_KEY_ : 任務定義id

          4.     PROC_INST_ID_ : 流程實例id

          5.     EXECUTION_ID_ : 執行實例id

          6.     PARENT_TASK_ID_ : 父任務id

          7.     NAME_ : 任務名稱

          8.     DESCRIPTION_ : 說明

          9.     OWNER_ : 擁有人(發起人)

          10.  ASSIGNEE_ : 分配到任務的人

          11.  START__TIME_ : 開始任務時間

          12.  END_TIME_ : 結束任務時間

          13.  DURATION_ : 時長

          14.  DELETE_REASON_ :從運行時任務表中刪除的原因

          15.  PRIORITY_ : 緊急程度

          16.  DUE_DATE_ :

          l  ACT_HI_DETAIL啟動流程或者在任務complete之后,記錄歷史流程變量

          1.     ID_ : 標識

          2.     TYPE_ : variableUpdate formProperty 兩種值

          3.     PROC_INST_ID_ : 對應流程實例id

          4.     EXECUTION_ID_ : 對應執行實例id

          5.     TASK_ID_ : 對應任務id

          6.     ACT_INST_ID : 對應節點id

          7.     NAME_ : 歷史流程變量名稱,或者表單屬性的名稱

          8.     VAR_TYPE_ : 定義類型

          9.     REV_ : 版本

          10.  TIME_ : 導入時間

          11.  BYTEARRAY_ID_

          12.  DOUBLE_ : 如果定義的變量或者表單屬性的類型為double,他的值存在這里

          13.  LONG_ : 如果定義的變量或者表單屬性的類型為LONG ,他的值存在這里

          14.  TEXT_ :  如果定義的變量或者表單屬性的類型為string,值存在這里

          15.  TEXT2_:

          l  ACT_HI_COMMENT 意見表

          1.     ID_ :標識

          2.     TYPE_ : 意見記錄類型 為comment 時 為處理意見

          3.     TIME_ : 記錄時間

          4.     USER_ID_ :

          5.     TASK_ID_ : 對應任務的id

          6.     PROC_INST_ID_ : 對應的流程實例的id

          7.     ACTION_ : 為AddComment 時為處理意見

          8.     MESSAGE_ : 處理意見

          9.     FULL_MSG_ :

          結論及總結

          l  流程文件部署主要涉及到3個表,分別是:ACT_GE_BYTEARRAY、ACT_RE_DEPLOYMENTACT_RE_PROCDEF。主要完成“部署包”-->“流程定義文件”-->“所有包內文件”的解析部署關系。從表結構中可以看出,流程定義的元素需要每次從數據庫加載并解析,因為流程定義的元素沒有轉化成數據庫表來完成,當然流程元素解析后是放在緩存中的,具體的還需要后面詳細研究。

          l  流程定義中的java類文件不保存在數據庫里 。

          l  組織機構的管理相對較弱,如果要納入單點登錄體系內還需要改造完成,具體改造方法有待研究。

          l  運行時對象的執行與數據庫記錄之間的關系需要繼續研究

          l  歷史數據的保存及作用需要繼續研究。

           

           

           

          Activiti使用Mybatis3做持久化工作,可以在配置中設置流程引擎啟動時創建表。

          Activiti使用到的表都是ACT_開頭的。

          ACT_RE_*:流程定義存儲。

          ACT_RU_*:流程執行記錄,記錄流程啟動到結束的所有動作,流程結束后會清除相關記錄。

          ACT_ID_*:用戶記錄,流程中使用到的用戶和組。

          ACT_HI_*:流程執行的歷史記錄。

          ACT_GE_*:通用數據及設置。

          使用到的表:

          ACT_GE_BYTEARRAY:流程部署的數據。

          ACT_GE_PROPERTY:通用設置。

          ACT_HI_ACTINST:流程活動的實例。

          ACT_HI_ATTACHMENT

          ACT_HI_COMMENT

          ACT_HI_DETAIL

          ACT_HI_PROCINST:流程實例。

          ACT_HI_TASKINST:任務實例。

          ACT_ID_GROUP:用戶組。

          ACT_ID_INFO

          ACT_ID_MEMBERSHIP

          ACT_ID_USER:用戶。

          ACT_RE_DEPLOYMENT:部署記錄。

          ACT_RE_PROCDEF:流程定義。

          ACT_RU_EXECUTION:流程執行記錄。

          ACT_RU_IDENTITYLINK

          ACT_RU_JOB

          ACT_RU_TASK:執行的任務記錄。

          ACT_RU_VARIABLE:執行中的變量記錄。

           

           

          activiti-administrator

          自帶的用戶管理系統,維護用戶和組,需要配置數據連接參數,在activiti-administrator\WEB-INF\applicationContext.xml中,并加入JDBC驅動包。

          activiti-cycle

          PVM活動檢測的,由activiti-rest提供服務,不需配置。

          activiti-explorer

          可以查看用戶任務和啟動流程,由activiti-rest提供服務,不需配置。

          activiti-kickstart

          簡單的點對點流程定義維護工具,需要配置數據連接,把activiti.cfg.xml文件放在classes下,并加入驅動包。

          activiti-modeler

          在線編輯和維護流程定義的工具,最后以文件夾方式部署,需要配置activiti-modeler\WEB-INF\classes\configuration.properties文件。

          activiti-probe

          PVM的觀測服務,由activiti-rest提供服務,不需配置,可以查看deployment、processdefinition、processinstancedatabase。

          activiti-rest

          其他幾個應用的服務提供者,需要配置數據連接,把activiti.cfg.xml文件放在classes下,并加入驅動包。



          大盤預測 國富論
          posted on 2017-05-15 22:23 華夢行 閱讀(236) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 永定县| 大宁县| 海晏县| 桐乡市| 巩义市| 武汉市| 阿尔山市| 房山区| 乐业县| 怀来县| 宁河县| 得荣县| 呼玛县| 水城县| 昌黎县| 台前县| 福贡县| 镇坪县| 文安县| 黔东| 凯里市| 凤台县| 抚松县| 阿拉善盟| 永泰县| 苏尼特左旗| 卢氏县| 三门县| 宁陕县| 延边| 板桥市| 南丹县| 桂林市| 台安县| 习水县| 滦南县| 泸溪县| 武安市| 南安市| 万宁市| 托里县|