快递物流行业:数据增量下载的实现

基础资料包括:操作人员信息,网点信息等,快递行业的网点人员,信息量过多,如果每次都采取全部下载的方式,会导致下载数据会等待很长一段时间,给用户体验带来不利的影响。
因此我们需要寻找一种增量下载的方式,来提高基础数据同步的效率。
下面就以操作人员的数据同步为例,给出相应的解决方案
数据库设计方案
ID
UserID
Name
CreateTime
UpdateTime
Enable
编号
用户名
姓名
数据创建时间
最近修改时间
是否启用
0: 停用
1:启用
1
0007
值守策
2012-10-24 20:11:36
2012-11-06 17:07:19
1
3
800107
库管测007
2012-10-24 18:01:17
2012-11-12 10:40:46
1
4
600202
雷网接2
2012-10-24 16:26:15
2012-11-06 17:52:46
1
5
88888888
fghfg
2012-11-08 11:36:14
2012-11-09 10:59:21
0
6
4002
押运2
2012-10-12 16:32:11
2012-11-07 11:02:17
1
WeService服务器(PC)端
思路:根据最近更新时间搜索最新的操作人员信息
WebService层代码:



【思路:】
设手持机的最后一次更新时间为LastUpdateTime
1: 当 LastUpdateTime <UpdateTime 时,说明服务器上有最新的基础数据需要下载
手持机数据库设计:
操作人员表:和服务器端的设计结构大致相同
不同的是需要建立一个新表,设计一个字段即可
即:最近数据更新时间:LastUpdateTime日期型

获取最新的操作人员后,及时更新到PDA的本机数据库中

设计方案的优化
可以参考以下数据库的设计:
ID
UserID
Name
UpdateTime
OperFlag
编号
用户名
姓名
最近修改时间
操作类型标志
D(删除 delete,假删除)
U(更新 update)
I(新增 insert)
1
0007
值守策
2012-11-06 17:07:19
1
3
800107
库管测007
2012-11-12 10:40:46
1
4
600202
雷网接2
2012-11-06 17:52:46
1
5
88888888
fghfg
2012-11-09 10:59:21
0
6
4002
押运2
2012-11-07 11:02:17
1
【思路:】
设手持机的最后一次更新时间为LastUpdateTime
1: 当 LastUpdateTime <UpdateTime 时,说明服务器上有最新的基础数据需要下载
1)当OperFlag = D(假删除),客户机不需要执行下载的操作,只需要把对应的记录设置为D即可
2) 当OperFlag = U(修改),客户机需要执行下载的操作,可以采用数据覆盖的方式进行
3) 当OperFlag = I(新增), 客户机需要执行下载的操作,把服务器端的数量批量插入到客户机即可