读书人

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

发布时间: 2013-02-28 11:33:09 作者: rapoo

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

快递物流行业:数据增量下载的实现网络拓扑图

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

基础资料包括:操作人员信息,网点信息等,快递行业的网点人员,信息量过多,如果每次都采取全部下载的方式,会导致下载数据会等待很长一段时间,给用户体验带来不利的影响。

因此我们需要寻找一种增量下载的方式,来提高基础数据同步的效率。

下面就以操作人员的数据同步为例,给出相应的解决方案

数据库设计方案

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层代码:

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

业务逻辑层代码:

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

数据访问层代码:

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

PDA(手持机)端

【思路:】

设手持机的最后一次更新时间为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(新增), 客户机需要执行下载的操作,把服务器端的数量批量插入到客户机即可

读书人网 >移动开发

热点推荐