实全软件产品自动升级管理如何解决方案

实全软件产品自动升级管理解决方案 目 录 1 描述 1 2 产品管理后台系统 1 2 1 产品发布 1 2 2

实全软件产品自动升级管理解决方案

目 录

1.    描述... 1

2.    产品管理后台系统... 1

2.1.     产品发布... 1

2.2.     产品下载... 2

2.3.     下载日志... 3

2.4.     异常日志... 3

3.    产品Web Service服务接口... 3

3.1.     接口说明... 4

4.    产品升级更新程序... 4

4.1.     产品升级自动更新工具... 5

4.2.     产品版本信息... 5

5.    结语... 6

 

1.      描述

  任何一个开发团队在软件产品的开发、设计中都很难将软件产品做到完美,在有限的时间、人力和物力情况,甚至还存在较多的漏洞时,就得将产品交付客户试用。在软件的使用中,会不断发现问题,这些问题可能是软件本身的毛病;也可能是运行的软、硬件环境的变化造成的;同时用户会有不断的完善产品功能的要求。因此软件产品升级在我们使用的时候变得越来越普遍。对于用户来说,软件升级可以补全漏洞,确保数据安全;可以增加和更新功能,用起来更加得心应手。对于软件开发商来说,为了拓展市场,增强自己的竞争力,也需要不断升级自己的软件,力求做得更好。所以说软件产品的版本控制和自动更新升级功能对于开发和维护有重要的意义。

    本软件产品自动升级管理解决方案为:

  • 使用Winform 程序管理各个软件产品信息、版本、产品文件、产品升级跟踪及产品异常跟踪。
  • 使用WEB Service提供产品升级更新接口。
  • 使用Windows 程序和服务程序获取服务器产品升级信息及升级文件,并对产品进行自动更新操作。

2.      产品管理后台系统

  使用Winform 程序管理各个软件产品信息、版本、产品文件、产品升级跟踪及产品异常跟踪。

2.1.   产品发布

   对产品版本信息进行登记,增加产品文件并进行发布。产品发布后允许产品升级更新程序进行下载更新。提供产品发布前产品信息及产品文件下载,进行测试,以保证产品升级更新程序下载的程序能够正常运行。

 

2.2.   产品下载

产品下载提供产品发版本后的产品信息及产品文件下载,可下载历史版本文件,遇到发布后有重大问题时,允许取消发布,即不允许产品升级更新程序进行下载文件。

 

 

2.3.   下载日志

下载日志跟踪产品下载日志

2.4.   异常日志

异常日志跟踪产品更新异常日志及程序异常日志,以便产品优化。

3.      产品Web Service服务接口

产品Web Service 服务接口主要提供给产品升级更新程序检查、下载及提交更新日志接口。

3.1.   接口说明

接口名称

接口说明

SQReturnResult GetPReleaseDateTime(string pProductNo)

获取产品最新发版时间。返回说明:成功:0,失败

SQReturnResult GetPReleaseInfo(string pProductNo)

获取产品信息。返回说明:成功:0,失败

SQReturnResult GetProductFile(string pProductNo,string pVersion, string pFileName)

获取产品文件内容。返回说明:成功:0,失败

SQReturnResult GetProductFileByte(string pFileTag)

获取产品文件内容。返回说明:成功:0,失败

SQReturnResult AddError(string pProductNo, string pProductName, string pPVersion

            , string pCustomerNo, string pCustomerName, string pErrorClassify, string pErrorTitle, string pErrorRemark)

增加产品异常信息。返回说明:成功:0,失败

 

4.      产品升级更新程序

  实现客户端相关文件的自动更新有多种方法,常见的方法是通过人工的或智能的手段通知客户端有新的软件版本和更新方法,软件使用人员手动从网上下载必要的文件并更新;或者在应用软件的菜单条目中增加自动升级的功能,让使用人员控制软件升级的频率和时机。这些方法在特定条件下应当有它存在的意义和优势,但对那些与数据库有关的管理程序而言,考虑到多客户数据处理的同步与协调问题,如果软件的更新由使用人员掌握,很难保证版本之间数据处理的一致性,并且往往使得开发人员为了考虑前后程序的兼容性束缚了设计思路。因此,本文实现的软件自动升级方法,其中有一个重要的目标是保证软件强制性的升级,而且考虑到使用人员计算机应用能力的参差不齐,力求达到升级过程的无缝过渡。也就是说,使用人员在程序启动的时候,由程序本身检测是否有新的版本需要更新,并在用户完全不知情的情况下替换相关文件,最后又自动重新运行新的主程序。对用户来说,软件升级的过程是程序在后台自动、平滑地实现的,根本不需要关心软件的升级问题,只要放心地使用,完全由开发人员掌握软件的分发、维护、更新、同步等问题。为实现这一关键目标,设计思路应主要包括以下几点:

  • 产品升级更新程序连接服务器获取产品最新发版时间,与本地产品发版时间进行比对。
  • 本地产品发版时间与服务器发版时间不符时,获取产品发版信息。
  • 根据产品发版信息下载服务器产品文件。
  • 将下载的产品文件更新到产品目录。

4.1.   产品升级自动更新工具

 

4.2.   产品版本信息

  产品版本信息记录产品版本信息及产品文件信息。同时下载后将保存到产品目录中,以便下次根据此进行判断是否有新的版本需要下载及更新。

 

 

5.      结语

  软件产品自动升级更新管理解决方案目前支持Winform程序,Windows服务程序及控制台程序,对于B/S架构软件产品,产品文件及文件目录比较多,管理产品文件方式进行发布会比程序要复杂;如果打包成一个文件,产品升级更新工具需要对打包文件进行解压,将后续考虑优化。产品升级更新工具只负责下载产品文件及更新文件,对于软件产品需要更新数据库、需要更新注册表等操作,将由软件产品自身处理。

 

您可能有感兴趣的文章
【WPF】软件更新程序的设计思路

软件升级更新如何解决方案

点点守护教您如何关闭安卓手机应用软件自动更新

软件更新原理

.Net小型软件自动更新库(SimpAutoUpdater)