最近网上有个朋友问了一个关于移动客户端增量更新的问题,我并没有处理过类似的问题,一时也不好回答。
强迫症啊!!!
晚上回家好好想了一下,又是对网上的各款新闻资讯类客户端一顿狂刷。然后分析了下用户场景,提供一种解决思路。
1.用户多
2.更新频繁
3.可能涉及栏目频道
4.更新方式,推or拉
朋友需求的场景就是,客户端拉取数据,增量更新,多频道栏目。
出于之前做过的项目方案分析
1.版本号指令设计
2.客户端对数据做规划存储
3.更新策略设计
详细设计:
1.版本号指令设计,
设计3种内容指令 (增加, 删除, 修改),当内容发生3中变化中的一种,都将其变化记录有序集合中(可采用redis的SortedSet),以时间版本号为排序规则,当客户端获取更新内容时,获取所有大于客户端版本号的更新内容,最后封装成客户端数据,实现客户端的增删改。
2.客户端对数据做规划存储
客户端建立本地数据缓存,并且方便更新操作等,这里就不详细描述
3.更新策略设计
何时全量更新,何时增量更新..................
流程图