[發明專利]一種異構數據庫的數據同步、校驗方法、裝置及系統有效
| 申請號: | 201410192546.1 | 申請日: | 2014-05-08 |
| 公開(公告)號: | CN103984715B | 公開(公告)日: | 2017-04-12 |
| 發明(設計)人: | 胡三波 | 申請(專利權)人: | 武漢庫百網絡技術有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京輕創知識產權代理有限公司11212 | 代理人: | 楊立 |
| 地址: | 430074 湖北省武漢市洪*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據庫 數據 同步 校驗 方法 裝置 系統 | ||
技術領域
本發明涉及數據同步技術領域,具體涉及一種異構數據庫的數據同步、校驗方法、裝置及系統。
背景技術
目前常用的差異數據捕捉方法主要有快照法(Snapshot)、日志法、API(Application?Program?Interface)法、影子表法、控制表法、時間戳法和觸發器法。
快照法就是在某一時刻對數據庫中數據進行一次“照相”,生成一個描述數據庫中數據的瞬時狀態的靜態文件,最后在規定時間內復制到目標數據庫。
日志法就是通過分析數據庫日志信息來捕獲復制對象的變化序列。
API(Application?Program?Interface,應用程序接口)法就是在應用程序和數據庫之間引入一類中間件,由它提供一系列API,在API上完成應用程序對數據庫修改的同時,記錄下同步對象的變化序列。
影子表法是初始化數據庫時,為每一個同步對象表建立一個影子表,即作為一份當前的拷貝,以后通過比較當前的影子表與源表獲取變化信息。
控制表法是為每個要同步的源表創建一個控制表,控制表只包括源表的主鍵字段和一些控制信息字段(更新時間、更新類型等),當源表中的某條記錄發生變化時,同時添加或修改控制表相應的主鍵記錄。
時間戳法是需要相關應用系統中的每個表中都有一個時間戳字段,以記錄每個表的修改時間。
觸發器法是為復制對象創建相應的觸發器,當對復制對象進行修改、插入和刪除等DML(Data?Manipulation?Language,數據操作語言)命令時,觸發器被喚醒,將變化捕獲。
采用上述快照法不依賴任何機制,不占用額外的系統資源,但因為它是對數據庫的完整拷貝,因此效率很低且無法區分哪些具體項發生變化;另外,快照法只能在同種數據庫之間使用,不適用異構數據庫之間的數據同步。
由于大多數數據庫都有日志,利用日志法不僅方便而且也不會占用太多額外的系統資源,但是采用日志法也存在一些缺點:首先,一些數據庫系統不公開其日志的格式,要開發一個基于日志的變化捕獲程序非常困難;其次,不同的數據庫在具體細節上存在很大差異,會給異構數據庫帶來新的問題;最后,日常數據庫管理工作已經非常繁重,而日志法無疑會加重這種負擔,日志法同快照法一樣,只能在同種數據庫之間完成,不適用異構數據庫。
API法可以實現日志法大多數的優點,但對于不經過API的操作所引起的數據變化,API無法捕獲,另外應用程序的可移植性比較差;在數據離線的方式下,通過API的數據庫操作也不能保持數據的一致性。
影子表法使用范圍比較廣,容易移植,很適合解決異構數據庫的數據同步,但是占用空間大,不能獲得中間操作信息和控制信息,并且每次捕獲變化都要掃描源表和影子表,效率低下。
控制表法可以獲得同步對象的凈變化,運行和數據傳輸的效率都很高,控制表占用存儲空間小于影子表,易于管理,并且控制表中保存的更新時間、操作者等控制信息,彌補了解決同步沖突的不足。但由于控制表法要依賴觸發器實現,因而在應用上有一定的局限性。
時間戳法雖然不影響原有應用的運行效率,但卻需要對原有系統做較大的調整,因而不能捕獲到哪些不通過應用系統引起的操作數據變化。
觸發器法占用的系統資源比較多,對于復雜的復制任務需要非常復雜的配置和實施,管理非常不方便;另外,觸發器在異構數據可之間也是無效的。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的異構數據庫的數據同步方法、裝置及異構數據庫的數據同步校驗方法、系統,采用多種機制保持數據庫的一致性,即在線狀態下保證數據實時同步,離線數據可以在網絡重連之后上傳,在數據出錯后可以進行校驗,保證數據的一致。
依據本發明的一個方面,提供了一種異構數據庫的數據同步方法,包括:
在線數據同步部分和離線數據同步部分;
所述在線數據同步部分包括:
實時監聽客戶端數據庫的數據操作;
當監聽到客戶端數據庫中的數據發生變化時,獲取發生變化的數據記錄;
客戶端將所述數據記錄發送給服務器端;
在服務器端接收到客戶端發送的數據記錄的情況下,服務器端根據所述數據記錄,修改服務器端數據庫中的數據,并將數據修改結果狀態通知客戶端;
所述離線數據同步部分包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢庫百網絡技術有限公司,未經武漢庫百網絡技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410192546.1/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





