帮助中心 helper



自动增量升级系统介绍

发布于:2017-05-27 13:49 编辑:Surou  浏览:

一款成功的产品离不开不断的及时更新,对于软件就需要一款自动升级系统了。此升级产品代号(AutoUpdate)。

由于时间匆忙和文采有限,先简单描述下,后续更新此文章。

一. 系统组成

        整套AutoUpdate升级系统分为服务端,和客户端程序。

        1.服务端介绍

        后台组成:服务端由API系统和控制后台组成,PHP语言实现,Mysql数据库。服务器硬件配置要求较低。

        API系统: API系统稳定安全,二次开发简单,参考事例即可完成新功能的增加(无定制要求可不在意此细节,只关心控制后台即可)。

        控制后台:控制后台简单易用,无需较高学习成本。比如发布一个新项目,只需新建项目,新建升级即可完成。事例图如下


QQ图片20170309080545.pngQQ图片20170309080930.png
QQ图片20170309081114.png

        控制灵活,可配置升级类型(普通升级,后台升级)切换升级模式。是否强制(开启强制,关闭强制)。检测类型(自动升级,手动升级)。升级地址支持主备双配置,如果主下载地址出错,程序自动切换到备用下载地址,增加程序的稳定。升级信息无字数限制。支持最低版本判断,方便升级服务器迁移操作。可随时设置升级任务的有效性,方便测试及突发情况的控制。

        2.客户端介绍

        客户端组成:升级nsAutoUpdate插件 和 升级NSIS脚本。

        升级nsAutoUpdate插件:基于NSIS插件实现,数据请求,数据解析,文件下载,文件替换等复杂逻辑封装到插件内部,升级过程与处理结果已事件回调进行处理,使复杂度降到最低。提供丰富的接口,方便调用(API系统)如图

        QQ图片20170309083427.png

        详细的日志详细,升级过程中记录详细的操作日志,出问题查看对应的log即可解决。

        升级NSIS脚本:交互细节已NSIS脚本实现。理解更简单,代码维护简单,无需较高的和专业的研发技术。提供具体的NSIS代码事例。

二.升级流程

    升级流程严谨,经过各种场景和问题不断迭代积累,如图

    1484730403713838.png

三.技术亮点

  1. AutoUpdate已NSIS插件的形式实现,代码简洁,维护简单,无需较高研发技术。

  2. 升级文件是已增量形式,只更新需要更新的文件,避免浪费带宽和加快更新速度。

  3. 升级模式支持 手动模式(小范围测试时使用),自动模式 及时检测升级,并提示用户升级信息,由用户决定是否更新。后台模式(静默升级),后台静默升级,用户无感知。

  4. 客户端可以设置忽略非强制升级,避免打扰。

  5. 详细的API系统,丰富的事例代码



四.服务支持

  1. 服务器租赁

  2. 升级程序客户端定制(含服务端架设)

  3. 升级全套源代码


推荐文章

  1. 升级服务器部署步骤和注意点

  2. 升级文件部署及配置