一种软件自动升级的方法及系统的制作方法

文档序号:6443832阅读:312来源:国知局
专利名称:一种软件自动升级的方法及系统的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件自动升级的方法及系统。
背景技术
软件升级,是指软件开发者在编写软件的时候,由于设计人员考虑不全面或程序功能不完善,在软件发行后,通过对程序的修改或加入新的功能后,以升级补丁的形式发布,通过下载并安装升级补丁实现软件升级。
软件升级王要包括两种方式手动升级和自动升级。手动升级需要用户手动控制下载并安装升级补丁,使用较为麻烦。自动升级通常采用客户端/服务器的形式,客户端上安装需要升级的软件,升级补丁存放在服务器。软件包含主程序和更新程序,升级过程如图 I所示,包括如下步骤
步骤101 :主程序释放并激活更新程序。
步骤102 :更新程序连接服务器,下载版本信息文件。
步骤103 :将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤104。
步骤104 :更新程序从服务器下载升级补丁,下载完成后停止相关进程,然后将新数据覆盖旧的数据。
步骤105 :更新程序自行退出并运行主程序。
现有自动升级方法存在的问题是更新程序从属于主程序,如果由于某些原因 (如病毒感染、用户误操作删除关键文件)导致主程序不能正常启动或运行,则更新程序也无法运行,也就无法进行自动升级。此外,如果升级补丁很大或者网速很慢,用户不得不等待很长时间直到下载完成或者下载失败,导致更新程序长时间占用客户端系统资源或网络带宽。特别是在同一局域网内多台客户端安装同一需要升级的程序时,这多台客户端都要分别进行升级,严重占用局域网与广域网之间的连接带宽。发明内容
本发明提供了一种软件自动升级的方法及系统,可以使得软件升级更为可靠,并且避免占用客户端和网络带宽资源。
本发明实施例提供的一种软件自动升级的方法,包括如下步骤
A、位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件;
B、更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤C,若相同,则按照更新策略等待特定时长后返回步骤A ;
C、更新管理实体从服务器下载并保存升级补丁 ;
D、更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
E、客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
较佳地,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5 算法对升级补丁进行演算得到的MD5码。
本发明实施例还提供一种软件自动升级的系统,包括位于广域网中的服务器,位于同一局域网中的更新管理实体和至少一个客户端;
所述服务器用于保存升级补丁,并提供升级补丁的下载服务;
所述更新管理实体用于从服务器处下载升级补丁,并保存升级补丁,连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
所述客户端用于接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
较佳地,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5 算法对升级补丁进行演算得到的MD5码。
较佳地,所述更新管理实体包括
版本比较模块,用于从服务器下载版本信息文件,将下载的版本信息文件与本地版本信息进行对比,如果不同则使能下载模块;
下载模块,用于从服务器下载升级补丁 ;
保存模块,用于保存下载模块所下载的升级补丁 ;
推送模块,用于将升级补丁推送到所述更新管理实体所在的局域网中的客户端。
从以上技术方案可以看出,将更新程序完全从主程序以及客户端中独立出来,在客户端所在的局域网内设置专门的更新管理实体,由更新管理实体实现升级补丁的自动下载及安装,客户端只需要接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。根据本发明方案,局域网中安装同一软件的多个客户端每次升级时,只要从服务器下载一次升级补丁即可,极大减少了对局域网与广域网之间的连接带宽的占用。更新管理实体与客户端独立,因此更新过程无须占用客户端的资源,即使客户端的主程序出现异常也可以实现更新。本发明方案尤其适用于局域网中部署了大量安装了同一软件的客户端的情形。


图I为现有技术中的自动升级流程示意图2为本发明实施例提供的软件自动升级流程示意图。
具体实施方式
本发明的基本思想是,将更新程序完全从主程序以及客户端中独立出来,在客户端所在的局域网内设置专门的更新管理实体,由更新管理实体实现升级补丁的自动下载及安装。
本发明实施例提供的软件自动升级流程如图2所示,包括如下步骤
步骤201 :位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件。
步骤202 :更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤203,若相同,则按照更新策略等待特定时长后返回步骤201。
步骤203 :更新管理实体从服务器下载并保存升级补丁。
步骤204:更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端。
步骤205 :客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
所述版本信息文件可以是按照时间及软件版本编码的版本信息,也可以是采用 MD5算法对升级补丁进行演算得到的MD5码。
更新管理实体可以保存多个升级补丁,以便在某些情况下客户端可以回退到较旧的版本。更新管理实体可以仅保存最新的n个升级补丁,而将更早的升级补丁删除。
本发明实施例还提供了一种软件自动升级的系统,包括位于广域网中的服务器, 位于同一局域网中的更新管理实体和至少一个客户端;
所述服务器用于保存升级补丁,并提供升级补丁的下载服务;
所述更新管理实体用于从服务器处下载升级补丁,并保存升级补丁,连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;
所述客户端用于接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
其中,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5 算法对升级补丁进行演算得到的MD5码。
较佳地,所述更新管理实体包括
版本比较模块,用于从服务器下载版本信息文件,将下载的版本信息文件与本地版本信息进行对比,如果不同则使能下载模块;
下载模块,用于从服务器下载升级补丁 ;
保存模块,用于保存下载模块所下载的升级补丁 ;
推送模块,用于将升级补丁推送到所述更新管理实体所在的局域网中的客户端。
从以上流程可以看出,由独立的更新管理实体从服务器下载升级补丁,并推送到局域网中的各个客户端进行安装,这样局域网中安装同一软件的多个客户端每次升级时, 只要从服务器下载一次升级补丁即可,极大减少了对局域网与广域网之间的连接带宽的占用。更新管理实体与客户端独立,因此更新过程无须占用客户端的资源,即使客户端的主程序出现异常也可以实现更新。本发明方案尤其适用于局域网中部署了大量安装了同一软件的客户端的情形。
更新管理实体可以看作一类特殊的客户端,其运行的程序就是更新程序。此外,更新管理实体自身运行的程序可以按照现有技术的方式进行升级。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种软件自动升级的方法,其特征在于,包括如下步骤A、位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件;B、更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤C,若相同,则按照更新策略等待特定时长后返回步骤A ;C、更新管理实体从服务器下载并保存升级补丁;D、更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;E、客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
2.根据权利要求1所述的方法,其特征在于,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5算法对升级补丁进行演算得到的MD5码。
3.一种软件自动升级的系统,其特征在于,包括位于广域网中的服务器,位于同一局域网中的更新管理实体和至少一个客户端;所述服务器用于保存升级补丁,并提供升级补丁的下载服务;所述更新管理实体用于从服务器处下载升级补丁,并保存升级补丁,连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;所述客户端用于接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
4.根据权利要求3所述的系统,其特征在于,所述版本信息文件是按照时间及软件版本编码的版本信息,或是采用MD5算法对升级补丁进行演算得到的MD5码。
5.根据权利要求3或4所述的系统,其特征在于,所述更新管理实体包括版本比较模块,用于从服务器下载版本信息文件,将下载的版本信息文件与本地版本信息进行对比,如果不同则使能下载模块;下载模块,用于从服务器下载升级补丁 ;保存模块,用于保存下载模块所下载的升级补丁 ;推送模块,用于将升级补丁推送到所述更新管理实体所在的局域网中的客户端。
全文摘要
本发明提供了一种软件自动升级的方法,包括如下步骤A、位于局域网中的更新管理实体连接位于广域网中的服务器,下载版本信息文件;B、更新管理实体将下载的版本信息文件与本地版本信息进行对比,当不相同的时候则执行步骤C,若相同,则按照更新策略等待特定时长后返回步骤A;C、更新管理实体从服务器下载并保存升级补丁;D、更新管理实体连接与自身位于同一局域网的客户端,将升级补丁推送到客户端;E、客户端接收来自更新管理实体的升级补丁,停止相关进程,然后将新数据覆盖旧的数据。
文档编号G06F9/445GK102546246SQ201110448428
公开日2012年7月4日 申请日期2011年12月28日 优先权日2011年12月28日
发明者庄建波 申请人:创新科存储技术(深圳)有限公司, 创新科软件技术(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1