浏览 1938 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-11-12
下面的思路,本来是要做项目的, 但是后面给推掉了。所以没有实践, 如果有不对的地方,请原谅。还望多多指点。。。谢谢。
最近在做一个项目。 我们的同一条数据,本地(android)和服务器都有保存。 这就产生了一个问题,如何判断本地(服务器)的数据是正确的,也就是如何防止脏数据的存在。
思路:模仿svn的版本控制。 判断本地版本和服务版本是否一致, 如果一致就不进行任何操作,如果不一致,就认定高版本的数据为正确的数据,修改低版本的数据。
下面举例。 如对一个用户(user)操作 user 字段有 String id //整个系统(本地和服务器)都是唯一的,并且同一个用户都是同一的。 专业说法:UUID String name 。。。。。。其他字段省略 String version //用时间(毫秒数)作为版本号
增加流程 1.提交用户所填写的数据到服务器【不包括id和Version】 2.服务器处理成功后,返回id和version 3.本地增加记录 修改流程 1.用户提交修改的数据字段【本地修改的永远比服务器的新】 2.服务器处理成功后,返回version 3.本地修改记录 删除流程 1.直接提交要删除的数据的id 2.服务器返回处理结果。 3.成功就删除本地数据 查询流程 1.把本地的id(多个)发送到服务器上。服务器匹配数据库,发挥一个多个数据集合的总集合(包含 增加的/删除的【只要id】/修改的) 2. 解析数据库的返回值,多线程操作。一边显示给用户,一边更新数据库。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |