综合信息化系列

您当前位置:网站首页 >> 产品与服务 >> 综合信息化系列

2013-09-04 计算机软件远程自动升级平台

    对商品化软件来说,良好的售后服务是至关重要的,而软件升级即是软件售后服务中非常重要的一个组成部分。在因特网出现之前,为了使用户得到升级软件,软件开发商主要采取邮寄的方法,这种方法的缺点是显而易见的:一是邮寄速度慢;二是邮寄过程中可能会损坏或丢失升级软件;三是邮寄费用对软件开发商来说也是一笔不小的开支。因特网得到广泛应用后,用户可以从开发商的服务器下载升级软件或由开发商利用电子邮件将升级软件发送给用户,大大提高了软件升级的效率,给用户和开发商都带来了很大的便利。现在通过因特网升级软件的方法已经被绝大多数软件开发商和用户采纳。不同的软件尽管其功能各异,但其升级的过程都是类似的。以用户从开发商的服务器下载升级软件为例:用户通过因特网将指定的文件下载到本地硬盘上,然后解压缩文件(若下载文件是压缩格式则执行这一步)并覆盖指定目录下的老版本文件,升级工作结束。如果有一个通用的软件升级工具,该工具分为开发商端与用户端两个部分,前者由软件开发商使用,根据不同软件的升级要求生成不同的参数配置文件,将该配置文件与后者发送给用户,由后者自动根据配置文件通过因特网下载升级文件并自动升级软件,这样就可以完成不同应用软件的自动升级工作。
     基于这一想法,北京世纪瑞联科技有限公司开发了通用软件升级系统,并用于本公司所在开发组开发的多个商业软件的升级,使用效果良好。
1.2 实现软件的自动升级存在的困难
      第一,为了查找远程服务器上的更新,应用程序必须有查询网络的途径,这需要网络编程、简单的应用程序与服务器通讯的协议。
     第二是下载。下载看起来不需要考虑联网的问题,但要考虑下载用户请求的文件,以及在没有用户同意时下载大文件。友好的自动更新应用程序将使用剩余的带宽下载更新。这听起来简单,但却是一个技术难题,幸运的是已经有了解决方法。
     第三个考虑因素是使用新版应用程序更换原应用程序的过程。这个问题比较有趣,因为它要求代码运行时将自己从系统删除,有多种办法可以实现该功能[5],本文程序主要通过比较新旧版本的日期号来实现替换新版本应用程序的功能。
1.3  实现软件自动在线升级的原理
      写两个程序,一个是主程序;一个是升级程序;所有升级任务都由升级程序完成。
1. 启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件、XML配置文档等)到临时文件夹;
2. 升级程序获取服务器端XML配置文件中新版本程序的更新日期或版本号或文件大小;
3 .升级程序获取原有客户端应用程序的最近一次更新日期或版本号或文件大小,两者进行比较;如果发现升级程序的日期大于原有程序的最新日期,则提示用户是否升级;或者是采用将现有版本与最新版本作比较,发现最新的则提示用户是否升级;也有人用其它属性如文件大小进行比较,发现升级程序的文件大小大于旧版本的程序的大小则提示用户升级。本文主要采用比较新旧版本更新日期号来提示用户升级。
4   .如果用户选择升级,则获取下载文件列表,开始进行批量下载文档;
5.   升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序;
6.   删除旧的主程序,拷贝临时文件夹中的文件到相应的位置;
7.   检查主程序的状态,若状态为活动的,则启动新的主程序;
8.   关闭升级程序,升级完成。

首 页 | 产品与服务 | 解决方案 | 新闻中心 | 下载中心 | 成功案例 | 代理加盟 | 关于我们