系統操做日誌設計

1 前言

在作企業級管理系統時,咱們須要對用戶的操做行爲進行跟蹤,以便出現問題後對問題數據進行分析或者恢復。數據庫

2 系統設計

2.1 場景

例如如今咱們有一張用戶表User:json

字段名 字段解釋
USER_ID 用戶ID
USER_NAME 用戶姓名
STATUS 用戶狀態  1:正常 2:封帳號 3:禁發動態 4:禁言

若是後臺管理員對用戶作了禁言等操做,必然須要對該操做以及緣由進行日誌記錄以便後續的用戶管理。最簡單的日誌記錄就是針對這張USER表創建一張USER_LOG日誌表,而後對操做進行記錄。可是若是每張業務表的操做都如此進行日誌記錄,勢必會形成日誌表數量倍增,並且還會加大開發量。針對這種狀況,咱們能夠設計一個通用的操做日誌模塊。spa

2.2 表設計

表說明:設計

操做日誌表 -- 主要用來保存表名,業務模塊名稱,操做類型,操做內容等。日誌

操做日誌詳細表 -- 主要用來保存字段的原始值和新值,用於數據恢復。ci

 

考慮到若是操做的字段較多,詳細表可能數據量會很大,從新設計數據庫表:開發

說明:CHANGE_COLUMN字段冗餘了操做的字段名+先後值得json字符串。字符串

相關文章
相關標籤/搜索