码迷,mamicode.com
首页 > 数据库 > 详细

服务器和客户端 数据库同步思路

时间:2015-04-24 18:36:10      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:

客户端: (放弃)

ID Name    SyncStatus     LastUpdateTime  syncError

1  xxxx  0(已同步)    2014-10-13        null

2  xxxx      1(本地新增)   ..        null

3  xxxx  2(本地修改)   ..        1

4  xxxx  3(本地删除)   ..        null

5  xxxx      4(同步出错)        ..        null

 

服务端 (启用)

ID Name   LastUpdateTime

1  xxxx  2014-10-13 13:50:44

2  xxxx     ..

3  xxxx   ..

4  xxxx   ..

服务器同步操作:

每次进入, 就把LastUpdateTime > 本地记录最大的LastUpdateTime

LastUpdateTime小于等于当前时间 的所有记录, 下载下来进行 新增/ 修改

 

把本地同步到服务器上:

获取SyncStatus不为0的记录数组, 发送到服务器

服务器处理:

SyncStatus = 1 : 检查服务器是否有记录, 无: 新增 ,

有:

  如果syncError不为1: false

     如果syncError为1: 修改

SyncStatus = 2 : 检查服务器是否有记录 有:修改:

无: 

  如果syncError不为1: false 

     如果syncError为1: 修改 

 

SyncStatus = 3: 检查服务器是否有记录 有:删除 无:true

服务器返回处理数组:

[

{  ID: "111", syncError:"0(已同步), 1: (同步出错)" msg:"错误报告"  },

{  ID: "112", syncError:"0(已同步), 1: (同步出错)" msg:"错误报告"  }

]

客户端收到处理报告:

修改 ID 下 并且syncError=0 的 记录 下字段SyncStatus 为 0 

 

服务器和客户端 数据库同步思路

标签:

原文地址:http://www.cnblogs.com/apem/p/4454060.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!