个人网站www.pixysoft.net设计系列: 数据库同步的实现
個人網站www.pixysoft.net設計系列: 數據庫同步的實現
Iteration 1
.對于本地新增的數據,版本號全部為0
.上傳成功后,版本自動加1
.上傳失敗則直接返回(Web V?<= Local V)
.下載成功后,修改本地版本號
.下載失敗,直接返回(Web V >= Local V)
Interation 2
.CVCL放在本地端.
.本地直接操作數據庫的時候不修改版本(新增的數據自動設0)
.當確定同步的時候,本地數據版本+1,然后上傳.如果成功則保存兩地版本
.如果失敗,則返回失敗信息通知處理
Interation 3
.在數據庫字段里面添加mark字段,表示是否被修改.
.上傳的時候讀取mark字段,作為上傳內容.
.上傳/下載成功后,mark字段自動被設置為false。
.本地數據Insert/update的之后自動設置Mark = true
Interation 4
。在WebDatabase數據庫操作類里面增加對mark的控制
。寫一個CVController: 放在Database上面.里面提供了與Database一樣的接口,通知增加了額外的操作
//Database Method
public Insert / change the mark for the data.
public Update / change the mark for the data.
private ActivateMark
private DeActivateMark
private InitVersion / When create a new data, it should initiate the version for that data.
//Net work method
public Download / download the data from Web: get local data according to the download data, compare the version, insert / update the correct data and list the error data.
public Upload / upload the data to the Web: select all the markTrue data, increate the version and upload.
private IncreateVersion / When upload, the data should pass this method to increate version.
private CompareVersion / When download, the data should be compared with those in local database, and list the conflict ones.
Interation 5 數據刪除
。當本地刪除了數據,如果是Download,則直接插入/ 如果是Upload,則提示是否刪除目標數據
。目標刪除了數據(默認為沒添加數據),Download 則提示是否刪除本地數據.Upload則直接插入
to be continued ...
轉載于:https://www.cnblogs.com/zc22/articles/555389.html
總結
以上是生活随笔為你收集整理的个人网站www.pixysoft.net设计系列: 数据库同步的实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: QSettings 类【官翻】
- 下一篇: Windows优化大师 V7.7