自动增量升级系统介绍
一款成功的产品离不开不断的及时更新,对于软件就需要一款自动升级系统了。此升级产品代号(AutoUpdate)。
由于时间匆忙和文采有限,先简单描述下,后续更新此文章。
一. 系统组成
整套AutoUpdate升级系统分为服务端,和客户端程序。
1.服务端介绍
后台组成:服务端由API系统和控制后台组成,PHP语言实现,Mysql数据库。服务器硬件配置要求较低。
API系统: API系统稳定安全,二次开发简单,参考事例即可完成新功能的增加(无定制要求可不在意此细节,只关心控制后台即可)。
控制后台:控制后台简单易用,无需较高学习成本。比如发布一个新项目,只需新建项目,新建升级即可完成。事例图如下
控制灵活,可配置升级类型(普通升级,后台升级)切换升级模式。是否强制(开启强制,关闭强制)。检测类型(自动升级,手动升级)。升级地址支持主备双配置,如果主下载地址出错,程序自动切换到备用下载地址,增加程序的稳定。升级信息无字数限制。支持最低版本判断,方便升级服务器迁移操作。可随时设置升级任务的有效性,方便测试及突发情况的控制。
2.客户端介绍
客户端组成:升级nsAutoUpdate插件 和 升级NSIS脚本。
升级nsAutoUpdate插件:基于NSIS插件实现,数据请求,数据解析,文件下载,文件替换等复杂逻辑封装到插件内部,升级过程与处理结果已事件回调进行处理,使复杂度降到最低。提供丰富的接口,方便调用(API系统)如图
详细的日志详细,升级过程中记录详细的操作日志,出问题查看对应的log即可解决。
升级NSIS脚本:交互细节已NSIS脚本实现。理解更简单,代码维护简单,无需较高的和专业的研发技术。提供具体的NSIS代码事例。
二.升级流程
升级流程严谨,经过各种场景和问题不断迭代积累,如图
三.技术亮点
AutoUpdate已NSIS插件的形式实现,代码简洁,维护简单,无需较高研发技术。
升级文件是已增量形式,只更新需要更新的文件,避免浪费带宽和加快更新速度。
升级模式支持 手动模式(小范围测试时使用),自动模式 及时检测升级,并提示用户升级信息,由用户决定是否更新。后台模式(静默升级),后台静默升级,用户无感知。
客户端可以设置忽略非强制升级,避免打扰。
详细的API系统,丰富的事例代码
四.服务支持
服务器租赁
升级程序客户端定制(含服务端架设)
升级全套源代码
推荐文章