介绍
项目为一个多可以在多终端离线操作数据并同步的项目(一个离线记事本功能),数据在服务端为MySql表结构方式存储,终端所操作的数据为离线操作产生。
这就需要各个终端,对自己账户离线期间所产生的数据进行增量同步。
客户端
1.各终端对自己所产生的增量数据(insert/delete/update)的提交到服务端,同时带上上一次同步所保存的版本号(ver)。
2.终端在提交增量数据成功后,对返回的服务端返回的其他终端增量数据整合在本地并保存返回的最新版本号(ver)。
3.在本地能有效的管理每条数据,保存每条产生的数据,并标记数据的变更类型(insert/delete/update)以及 同步状态(done_sync/wait_sync)(存储方式建议sqlite等数据库)
服务端
1.对终端的同步请求的增量数据进行入库(insert/delete/update)处理。
2.生成本次同步的版本号(new_ver),并记录本次版本的更新所涉及到的数据。
3.对根据终端请求的版本号(ver),获取大于该版本号的所有版本数据和新的版本号(new_ver) 进行返回。
数据库表结构
1.内容数据表:table_content
cid :自增id
content : 具体内容
2.版本表:table_ver 记录版本信息
ver : 版本号,自增
ver_msg : 版本信息
3.版本内容表 : table_ver_content 记录该版本所涉及到的数据cid
id:自增id
ver: 对应版本号
cid: 对应content表数据cid
流程: