我們都知道工作流引擎在系統開發上起到了舉足輕重的地位,那麼如何很好的設計一個自己的工作流引擎,我們今天就簡單從數據庫設計方面,談談流引擎設計。
下面我們就以Tpflow工作流程引擎的資料庫設計來跟大家聊聊。
工作流程引擎資料表一般有'flow''flow_process' 'run' 'run_process' 'log' 至少應該擁有這五張基礎資料表;當然在tpflow中,也設計了'run_sing' ' run_cache' 兩張附表。用以上7張資料表,構成了Tpflow的工作流程。
'flow'表一般用於儲存主要工作流程的關鍵信息,例如工作流程類別、工作流程關聯資訊、工作流程狀態等等;
'flow_process'表一般直接存儲步驟訊息,其中關聯'flow'主表,共同構成流程資訊表;步驟的所有屬性,例如下級步驟,步驟狀態,轉出條件等等。
'run' 表,可以理解為flow表的運行分身
'run_process' 表可以理解為flow_process 表的運行分身
'run_sing' 表則是會簽時間的資訊儲存表;
'run_cache' 'run_log' 則體現了工作流程的訊息日誌及快取;
以上我們大致了解了工作流程五張主表的設計及功能。
在整個php工作流程引擎的設計困難中,不光是資料表的設計難度,更難的是在於前端及後端的各種驅動。想要更好的設計好一款工作流程引擎,資料表的設計基礎,及想法不可或缺。
如您有更好的思路,不妨點擊下方留言,我們共同探討。
tpflow