多个Android客户端同步服务器端表中数据架构分析
2012-09-19 19:42
323 查看
需求:Android客户端有N个,服务器端只有一个,客户端会不定时的到服务器端同步数据。
思路分析:
由于客户端的个数不确定,而且是不定时的到服务器端同步数据,所以应该由客户端来维护何时发起请求.
客户端和服务器端都维护一个TableVersion表,服务器端某个数据表中的数据改变时同时修改服务器端的TableVersion表.如下图:
table1中添加了1条数据,rowVersion值为4(自增),修改了1条数据,则把这条数据的rowVersion修改为5(自增),然后又添加了1条数据,这时这条数据的rowVersion为6(自增).table1中每次变动都会同时修改服务器端的TableVersion中table1这一条的数据的Version值,保持当前表的最大值.
客户端发起同步请求时携带客户端的TableVersion数据传递给服务器端,服务器端比对传递过来的客户端TableVersion和服务器端TableVersion的差异就知道了哪些表发生了变化,如下图:
通过比对知道了table1和table3中的数据发生了变化,这时就需要把table1/table3中变化的数据和TableVersion中的全部数据传递给客户端,客户端修改本地的table1/table3和TableVersion中的数据,这就完成了一次同步的过程.例如table1中的数据rowVersion大于3的数据是变化了的数据,因为客户端tableVersion当前记录代表了本地数据的最大版本,只同步这些rowVersion大于3的数据就是只同步变化了的数据.
关于客户端和服务器端交互请参考:
封装一个类搞定90%安卓客户端与服务器端交互 /article/1409631.html
android端数据库处理框架请参考:
Android sqlite数据库操作通用框架AHibernate(一) /article/1409581.html
数据传递可以使用json,请参考:
Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 /article/1409637.html
思路分析:
由于客户端的个数不确定,而且是不定时的到服务器端同步数据,所以应该由客户端来维护何时发起请求.
客户端和服务器端都维护一个TableVersion表,服务器端某个数据表中的数据改变时同时修改服务器端的TableVersion表.如下图:
table1中添加了1条数据,rowVersion值为4(自增),修改了1条数据,则把这条数据的rowVersion修改为5(自增),然后又添加了1条数据,这时这条数据的rowVersion为6(自增).table1中每次变动都会同时修改服务器端的TableVersion中table1这一条的数据的Version值,保持当前表的最大值.
客户端发起同步请求时携带客户端的TableVersion数据传递给服务器端,服务器端比对传递过来的客户端TableVersion和服务器端TableVersion的差异就知道了哪些表发生了变化,如下图:
通过比对知道了table1和table3中的数据发生了变化,这时就需要把table1/table3中变化的数据和TableVersion中的全部数据传递给客户端,客户端修改本地的table1/table3和TableVersion中的数据,这就完成了一次同步的过程.例如table1中的数据rowVersion大于3的数据是变化了的数据,因为客户端tableVersion当前记录代表了本地数据的最大版本,只同步这些rowVersion大于3的数据就是只同步变化了的数据.
关于客户端和服务器端交互请参考:
封装一个类搞定90%安卓客户端与服务器端交互 /article/1409631.html
android端数据库处理框架请参考:
Android sqlite数据库操作通用框架AHibernate(一) /article/1409581.html
数据传递可以使用json,请参考:
Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 /article/1409637.html
相关文章推荐
- 多个Android客户端同步服务器端表中数据架构分析
- Android客户端与服务器端数据同步
- Android客户端与服务器端数据同步
- Android客户端与服务器端数据同步
- Android 客户端数据和服务器端的同步
- Android客户端与服务器端数据同步
- Android Camera 系统架构源码分析(5)---->Camera数据Buf的传递方式及相关类
- android客户端从服务器端获取json数据并解析的实现代码
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
- Android客户端和服务器端数据交互的第三种方法
- 用.Net打造一个移动客户端(Android/IOS)的服务端框架NHM(二)——“请求”“交互”与传输数据(服务器端)
- Android客户端与服务器端通过SOCKET连接进行读写(将JSON数据转化为字符串后传输)
- android客户端从服务器端获取json数据并解析的实现代码
- android客户端从服务器端获取json数据并解析
- android客户端从服务器端获取json数据并解析
- 用SugarORM快速开发需要同步和保存大量数据的Android互联网客户端
- android 客户端与服务器端之间采用JSON进行数据通信之一
- android客户端从服务器端获取json数据并解析
- Android客户端与服务器端的json数据交互(很详细)