quick-cocos2d-x基于源码加密打包功能的更新策略(3)
2014-01-16 11:50
316 查看
前篇:
quick-cocos2d-x基于源码加密打包功能的更新策略(1)
quick-cocos2d-x基于源码加密打包功能的更新策略(2)
取最新资源列表文件,载入新资源列表
比较两个资源列表版本,如果一致,跳到第8步;以下流程中如果有误也跳到第8步
根据新资源列表检查现有文件,逐一下载新增或者有变化的文件,并加.upd后缀保存
每个下载的文件在保存后马上进行一次校验
所有文件下载完成,更新本地资源列表文件,用新列表替换旧列表
将下载的文件去掉.upd后缀,覆盖旧的文件
根据资源列表再校验一遍资源文件
第8步正确,则按资源列表的指示载入相关资源,启动程序(新版本)
第8步有错,说明资源列表与资源文件不匹配,删除本地资源列表文件(保证下次启动时重新更新资源),启动程序(原始安装版本)
第6步和第7步出错,会造成资源列表与资源文件不匹配,跳到第8步后,肯定只有从原始版本启动了。
第8步错误,有可能是因为前面出错,也有可能是用户自己破坏了本地文件。无论如何,还是能从原始版本启动,并保证下次进入能再次更新。
第8步正确,并不一定说明这次更新是成功的,但启动起来的一定是最后一次更新成功的版本。
因此我们可以确认,只要update模块本身流程没有问题,此更新方案是安全的。
本地已经下载过的文件不会再次下载,只做增量更新
本次更新下载了部分文件但未完成最后更新,下次更新,已经下载成功的文件不会再重复下载
代码经过压缩,减少下载量
根据客户端请求时的参数能够做到版本分发
希望我的分享对大家能有所帮助,也请大家对方案的不足之类多提意见!
quick-cocos2d-x基于源码加密打包功能的更新策略(1)
quick-cocos2d-x基于源码加密打包功能的更新策略(2)
三、更新流程说明及特性分析
A.更新流程
加载初始安装包,载入旧资源列表取最新资源列表文件,载入新资源列表
比较两个资源列表版本,如果一致,跳到第8步;以下流程中如果有误也跳到第8步
根据新资源列表检查现有文件,逐一下载新增或者有变化的文件,并加.upd后缀保存
每个下载的文件在保存后马上进行一次校验
所有文件下载完成,更新本地资源列表文件,用新列表替换旧列表
将下载的文件去掉.upd后缀,覆盖旧的文件
根据资源列表再校验一遍资源文件
第8步正确,则按资源列表的指示载入相关资源,启动程序(新版本)
第8步有错,说明资源列表与资源文件不匹配,删除本地资源列表文件(保证下次启动时重新更新资源),启动程序(原始安装版本)
B.安全性
可以看出在第6步之前,即使出错,也不会破坏原来的文件。跳到第8步后,一般能够以上一个更新成功的版本启动,除非上一个版本被用户破坏。第6步和第7步出错,会造成资源列表与资源文件不匹配,跳到第8步后,肯定只有从原始版本启动了。
第8步错误,有可能是因为前面出错,也有可能是用户自己破坏了本地文件。无论如何,还是能从原始版本启动,并保证下次进入能再次更新。
第8步正确,并不一定说明这次更新是成功的,但启动起来的一定是最后一次更新成功的版本。
因此我们可以确认,只要update模块本身流程没有问题,此更新方案是安全的。
C.其他特性
对于确定的终端,服务器端只需要维护一个最新版本的文件列表。不管客户端是什么版本,都能直接升级到新版本本地已经下载过的文件不会再次下载,只做增量更新
本次更新下载了部分文件但未完成最后更新,下次更新,已经下载成功的文件不会再重复下载
代码经过压缩,减少下载量
根据客户端请求时的参数能够做到版本分发
后记
对于方案的介绍到这里就告一段落了。后面这部分本来还想展开一下的,但后来觉得必要性没这么大,毕竟和大家分享的主要是解决方案而不是细节。希望我的分享对大家能有所帮助,也请大家对方案的不足之类多提意见!
相关文章推荐
- quick-cocos2d-x基于源码加密打包功能的更新策略
- quick-cocos2d-x基于源码加密打包功能的更新策略(1) (转)
- quick-cocos2d-x基于源码加密打包功能的更新策略(3)
- quick-cocos2d-x基于源码加密打包功能的更新策略(1)
- quick-cocos2d-x基于源码加密打包功能的更新策略(2) (转)
- quick-cocos2d-x基于源码加密打包功能的更新策略(2)
- quick-cocos2d-x基于源码加密打包功能的更新策略(3) (转)
- quick-cocos2d-x基于源码加密打包功能的更新策略(3)
- quick-cocos2d-x基于源码加密打包功能的更新策略(2)
- quick-cocos2d-x基于源码加密打包功能的更新策略(1)
- quick-cocos2d-x基于源码加密打包功能的更新策略
- quick-cocos2d-x基于源码加密打包功能的更新策略(1)
- quick-cocos2d-x基于源码加密打包功能的更新策略(2)
- quick-cocos2d-x基于源码加密打包功能的更新策略(3)
- quick-cocos2d-x基于源码加密打包功能的更新策略(1)
- [ZZ]quick-cocos2d-x基于源码加密打包功能的更新策略
- quick-cocos2d-x基于源码加密打包功能的更新策略(1)
- quick-cocos2d-x基于源码加密打包功能的更新策略(1)
- quick-cocos2d-x基于源码加密打包功能的更新策略(2)
- quick-cocos2d-x基于源码加密打包功能的更新