[發明專利]一種基于記錄標記的數據庫同步方法有效
| 申請號: | 201410127885.1 | 申請日: | 2014-04-01 |
| 公開(公告)號: | CN103886091B | 公開(公告)日: | 2017-08-01 |
| 發明(設計)人: | 李立亞;李亞洲 | 申請(專利權)人: | 無錫科技職業學院 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 無錫盛陽專利商標事務所(普通合伙)32227 | 代理人: | 顧吉云 |
| 地址: | 214028 *** | 國省代碼: | 江蘇;32 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 記錄 標記 數據庫 同步 方法 | ||
1.一種基于記錄標記的數據庫同步方法,其特征在于:數據庫A、數據庫B在同個業務數據表中添加相應的同步標記,數據庫操作模塊通過所述同步標記同步操作數據庫A、數據庫B中的記錄數據,所述數據庫A、數據庫B的數據同步方法步驟為:
第一 ,所述數據庫A、B均正常運行:
(1)、所述數據庫操作模塊實行兩個數據庫正常運行態的操作模式,準備好記錄數據,將所述記錄的標記作為同步標記,將所述同步標記置為“已同步”狀態,在所述數據庫A中修改所述記錄,如果成功修改則執行步驟(2),否則執行步驟(3);
(2)、在所述數據庫B中修改所述記錄,將所述數據庫B中對應記錄的同步標記仍置為“已同步”狀態,如果成功修改則執行所述步驟(1),否則執行步驟(4);
(3)、將所述記錄的同步標記設置為“需同步”狀態,在所述數據庫B中修改所述記錄和對應的同步標記,如果成功修改則執行步驟(5),否則執行步驟(6);
(4)、設置所述數據庫A中所述記錄的同步標記為“需同步”狀態,執行步驟(5);
(5)、記下所述數據庫A、B的運行狀態,所述數據庫操作模塊變遷到單個數據庫正常運行態模式;
(6)、所述數據庫A、B均不能進行修改,則所述數據庫A、B都發生故障,排除所述數據庫A、B故障后,執行所述步驟(1);
第二,單個數據庫正常運行,假定所述數據庫A正常運行,所述數據庫B故障:
(1)、所述數據庫操作模塊實行單個數據庫正常運行態的操作模式;
(2)、準備好記錄數據,將所述記錄的標記作為同步標記,將所述同步標記置為“需同步”狀態,在所述數據庫A中修改所述記錄,如果成功修改則執行步驟(3),否則執行步驟(4);
(3)、檢查所述數據庫B是否恢復正常,如果恢復正常則執行步驟(5),否則執行所述步驟(1);
(4)、所述數據庫A、B均不能進行修改,則所述數據庫A、B都發生故障,排除所述數據庫A、B故障后,執行步驟(5);
(5)、所述數據庫操作模塊變遷到數據庫同步態模式;
第三,所述數據庫同步態模式,即為假定的所述數據庫A正常運行,所述數據庫B從故障恢復正常運行,所述數據庫A中有最新的記錄需要同步至所述數據庫B中:
(1)、所述數據庫操作模塊實行數據庫同步態的操作模式,則對外僅提供查詢數據服務;
(2)、所述數據庫A正常運行,以所述數據庫A為基準,掃描所述數據庫A中的同步標記為“需同步”狀態的記錄,并同步修改所述數據庫B對應的記錄,將所述數據庫A、B中相應記錄的同步標記設置為“已同步”狀態,如果成功則執行步驟(3);否則執行步驟(4);
(3)、所述數據庫操作模塊躍遷至兩個數據庫正常運行態的操作模式;
(4)、對非正常運行的數據庫進行排除故障,執行所述步驟(2);
所述數據庫A、B的修改記錄操作是對記錄的新增、刪除、更新操作,在所述數據庫A、B均正常運行時,將所述數據庫A、B中對應記錄的同步標記置為“已同步”狀態;
只有一個數據庫正常運行時的修改記錄操作:
(1)、為新增記錄操作時,設置正常運行的數據庫的同步標記為“需同步”狀態,類型為“新增”,并添加記錄到正常運行的數據庫中;
(2)、為刪除記錄操作時,如果正常運行的數據庫的同步標記為“需同步”狀態,且類型為“新增”,則所述刪除記錄操作直接刪除記錄,否則所述刪除記錄操作僅將正常運行的數據庫的同步標記設置為“需同步”狀態,類型為“刪除”;
(3)、為更新記錄操作時,如果正常運行的數據庫的同步標記為“需同步”狀態,且類型為“新增”,則所述更新記錄操作更新記錄后保持正常運行的數據庫的同步標記不變,否則所述更新記錄操作更新記錄并將正常運行的數據庫的同步標記設置為“需同步”狀態,類型為“更新”。
2.根據權利要求1所述的一種基于記錄標記的數據庫同步方法,其特征在于:所述數據庫操作模塊對所述數據庫A、B的記錄查詢操作:
(1)、收到記錄查詢操作請求時,判斷所述數據庫A、B是否都正常運行并且已同步完成,如果是執行步驟(2),否則執行步驟(3);
(2)、同步標記的過濾條件設置為“已同步”狀態,任選一個數據庫,查詢記錄;
(3)、所述數據庫A、B是否在同步中,如果是,執行步驟(5);否則執行步驟(4);
(4)、是否有一個數據庫可以正常運行,如果是,執行步驟(5);否則執行步驟(6);
(5)、假定所述數據庫A是正常運行的同步參考數據庫,要刪除的記錄無需再查詢,故將查詢過濾條件設置為:不查詢同步標記為“需同步”且類型為“刪除”的記錄,從所述數據庫A中查詢記錄;
(6)、所述數據庫A、B都故障,返回查詢失敗。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于無錫科技職業學院,未經無錫科技職業學院許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410127885.1/1.html,轉載請聲明來源鉆瓜專利網。





