1. 程式人生 > >MySQL資料庫單向同步問題(Mina 邏輯實現)

MySQL資料庫單向同步問題(Mina 邏輯實現)

時間戳法: (用時間作比較)   

       用過MINA的人都知道,MINA是一個基於網路的非同步通訊的框架,它可以實現兩臺機器的資訊的互動,不僅可以使用java通訊,還可以應用於網頁的資訊互動。

       不過在這裡講的是用——MINA  實現兩個資料庫的資料同步。

       準備工作:

       MINA  實現資料庫同步  需要藉助    JDBC 和 JSON 資料格式處理的jar包, 這裡編解碼器就不用說了,都是mina必備的內容。我這裡用的是累積協議編解碼器

       直接邏輯:

        1. 需要了解一下mysql 中的一個型別為 TimeStamp 的欄位,這個欄位你可以手動新建一下,驗證一下它的功能特點,簡單來說: 它是一個可以記錄 ——資料庫建立一條記錄或者更新一條  ——的時間,時間格式大概為“YYYY-MM-DD  HH-MM-SS”.

        2. 我喜歡建立兩個欄位,一個記錄更新的時間,一個記錄資料插入的時間,這樣我可以分別查詢,然後分別進行操作。

        3. 根據你想要同步的時間,定義你想什麼時候,同步哪一個時間段的資料。(定時執行  Timer類瞭解一下)

        4. 兩個時間欄位,可以大概解決資料庫對資料的    更新 和 插入 的SQL操作。

        5. 通過  傳輸資料庫表的 主鍵,我們來找到兩個資料庫相同的表中需要刪除的記錄,假如  兩個資料庫的主鍵 有所不同,那麼獲取到 主鍵的插入時間,如果插入時間不包括在你需要執行同步時間,那麼說明這條記錄不是該時間段插入的,引起的不同只能是另一個表刪除了,那麼刪除當前表內的這個資料。

        以上,實現了資料庫的  增、刪、改、查 的基本操作,與邏輯實現。     不用謝,不用謝!!!