[發明專利]一種數據同步方法及系統有效
| 申請號: | 200610076027.4 | 申請日: | 2006-04-24 |
| 公開(公告)號: | CN101064630A | 公開(公告)日: | 2007-10-31 |
| 發明(設計)人: | 尚萬軍 | 申請(專利權)人: | 華為技術有限公司 |
| 主分類號: | H04L12/24 | 分類號: | H04L12/24;H04L29/08 |
| 代理公司: | 北京同達信恒知識產權代理有限公司 | 代理人: | 郭潤湘 |
| 地址: | 518129廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 數據 同步 方法 系統 | ||
技術領域
本發明涉及數據同步,尤其涉及一種基于客戶端/服務器模型的數據同步方法與系統。
背景技術
互聯網為人們提供豐富的服務,比如地址本管理,聊天記錄管理。這些服務的特點是基于客戶端/服務器(C/S)模型,用戶通過客戶端與服務器交互。由于客戶端數量巨大,客戶端需要頻繁地向服務器發回數據和處理請求,對服務器的性能要求非常高,在低帶寬或高延遲的情況下,情況會被惡化,產生的性能問題可能導致應用程序可用性和用戶效率大幅度下降。為了提高客戶端操作的性能,當前很多系統采用了在客戶端部署代碼和數據,在本地執行和訪問數據,通過本地數據緩存,減少從客戶端傳輸到服務器的數據量,進而提高系統的性能和實用性。這種處理方式客戶端和服務器都存在數據,系統需要進行必要的數據同步。比如:在聊天工具中,用戶在客戶端進行地址簿維護,添加聯系人信息,修改聯系人號碼,刪除聯系人等,系統修改服務器數據后再修改客戶端的數據,這些操作可能在多個客戶端進行,這樣,各個客戶端的數據和服務器數據可能不一致,造成客戶端操作的數據不是最新數據的問題。
現有技術一的同步方案:
完全下載同步方案,用戶在客戶端每次操作本地數據庫前,首先從服務器下載相關表的所有數據,完成同步,然后進行維護操作。
現有技術一的缺點:
數據表的數據量一般比較大,頻繁完全下載數據,效率低,嚴重影響服務器性能,與本地數據方案提高性能的目標有沖突,在數據量大的系統中不可用。
現有技術二的同步方案:
數據庫系統負責同步處理,系統定義哪些表需要同步即可,數據庫的列級和行級檢測保證同步。
現有技術二的缺點:
此方案需要客戶端具備本地數據庫,對客戶端的運行設備要求比較高。
發明內容
本發明提供一種數據同步方法,用以解決現有技術中存在的客戶端和服務器之間數據同步效率低、以及對服務器及客戶端設備要求較高的問題。
根據本發明提供的方法,本發明另提供一種相對應的數據同步系統。
本發明方法包括:在服務器中,針對每一個用戶,為該用戶的用戶數據的每一條記錄設置對應的記錄版本號,該記錄版本號根據用戶數據記錄的操作順序設置為遞增的整數;服務器將本地存儲的該用戶的用戶數據記錄的最大記錄版本號作為該用戶數據總版本號;當對用戶數據記錄進行了操作時,用戶數據總版本號進行相應改變;當用戶客戶端首次登錄所述服務器時,服務器將本地存儲的該用戶的全部用戶數據記錄及對應的用戶數據總版本號發送給所述客戶端;客戶端在本地存儲用戶數據記錄,并將服務器發送的用戶數據總版本號作為本地客戶端數據總版本號,首次實現數據完全同步;
當客戶端再次登錄服務器時,執行下列步驟:
A、客戶端向服務器發起數據同步請求,攜帶所述客戶端數據總版本號;
B、服務器判斷所述客戶端數據總版本號和該用戶數據總版本號是否相同,當兩者不相同時,服務器將本地存儲的記錄版本號大于客戶端數據總版本號的該用戶數據記錄,發送給客戶端,進行數據同步。
所述步驟A之前還包括:客戶端判斷本地數據文件是否存在或損壞;當本地數據文件不存在或已損壞時,創建新的數據文件;
所述步驟A中,所述客戶端向服務器發起數據同步請求,攜帶客戶端數據總版本號為0;所述步驟B中,服務器將本地存儲的該用戶的全部用戶數據記錄發送給所述客戶端,進行數據完全同步并記錄完全同步時間。
根據本發明的上述方法,還包括所述客戶端登錄服務器后,向所述服務器發起數據記錄操作請求,攜帶操作類型信息;
所述服務器根據請求的操作類型對用戶數據記錄執行相應操作,并返回操作結果信息和當前服務器中存儲的該用戶數據總版本號;
所述客戶端對本地用戶數據記錄進行相應操作,并更新客戶端數據總版本號為服務器返回的該用戶數據總版本號。
根據本發明的上述方法,當所述客戶端向服務器發起新增數據記錄請求時,攜帶操作類型為新增記錄;
所述服務器新增一條用戶數據記錄,設置該新增記錄的記錄版本號;更新服務器端存儲的該用戶數據總版本號;并獲取該客戶端的地址信息,返回新增記錄操作結果和更新后的該用戶數據總版本號;
所述客戶端新增對應的用戶數據記錄,并更新客戶端數據總版本號為服務器返回的該用戶數據總版本號。
根據本發明的上述方法,當所述客戶端向服務器發起刪除數據記錄請求時,攜帶操作類型為刪除記錄;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華為技術有限公司,未經華為技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200610076027.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種治療急性腎炎的中藥
- 下一篇:紅油蕨菜風味食品制作方法
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





