zoukankan      html  css  js  c++  java
  • 桌面应用程序的版本更新,升级

    公司开发了一款应用软件,有大量的用户在使用该软件,当应用程序有业务变动或者功能完善时,就面临一个问题,怎样高效稳定的更新客户端的应用程序。

    根据现有的升级程序的缺陷,我们做了大量的改进工作,我做了一个升级程序原型,欢迎大家的指正和拍砖。

    一:更新程序的后台管理

    更新程序的后台管理分为三个部份,包括了待更新程序的上传,发布范围的选定以及相关更新的配置,对更新进行不同维度的统计。

    1:待更新程序的上传

    需求1:版本号可以根据前一个版本号自动生成下一个版本号,也可以人为的按版本号规则命名。

    需求2:更新摘要,主要记录每次软件更新所完善的功能,以及解决的BUG,在客户端展示给用户,让用户选择是否有必要更新。(与jira关联)。

    需求3:在上传整个更新程序的时候,用一个map.xml的文件描述整个程序的目录结构。

    模型图如下:

    2:发布范围的选定以及相关更新的配置

    需求1:确定需要发布的版本后,根据对象的类型(渠道,用户)选择需要发布的对象。 其中如果钩选了 “全部用户更新”,选择对象范围为灰色,不起作用。

    需求2:自动更新设置

          i:  是否让用户每次开启应用程序都检测更新。

          ii: 更新提示周期,就是客户端每隔多长时间检测一下,是否有新版本的程序需要更新。

          iii:当用户检测到有程序需要更新,是立刻更新,还是往后推迟更新。

    模型图如下:

    3:对更新进行不同维度的统计

    需求1:查询某个用户,正在使用的程序版本。

    需求2:某个版本,有多少个用户在使用。

    需求3:某个版本,在某个时间段的更新用户数。

    需求4:查询某个用户更新的历史记录。

    模型图如下:

    二:客户端更新程序

    1:客户端更新提示及设置

    需求1:显示本次更新的摘要

    需求2:用户可以决定在何时更新

    模型图如下:

    2:客户端更新状态

    需求1:可以显示下载更新的进度,以及详细信息。

    需求2:当下载安装后,可以显示更新进度和详细信息。

    目前这个更新程序就基本上能满足我们现在的需求了。

    园友,还有什么更好的建议以及我没考虑到的需求,欢迎提出来,到时候也做一个万能的,通用的升级程序软件。

    如果博客对你有帮助,在右下角推荐我一下。

     对应9楼:

  • 相关阅读:
    Django学习手册
    Django学习手册
    django 学习手册
    Django学习手册
    python
    python
    osg学习笔记2, 命令行参数解析器ArgumentParser
    osg(OpenSceneGraph)学习笔记1:智能指针osg::ref_ptr<>
    Boost.Build 简明教程
    Boost1.6x+win7+VC2015编译
  • 原文地址:https://www.cnblogs.com/xcj26/p/4519725.html
Copyright © 2011-2022 走看看