软件版本升级方法及装置、服务器.pdf

上传人:a2 文档编号:1026132 上传时间:2018-03-26 格式:PDF 页数:32 大小:1.21MB
返回 下载 相关 举报
摘要
申请专利号:

CN200910143099.X

申请日:

2009.06.01

公开号:

CN101576828A

公开日:

2009.11.11

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

中兴通讯股份有限公司

发明人:

孙 健

地址:

518057广东省深圳市南山区科技南路55号

优先权:

专利代理机构:

北京康信知识产权代理有限责任公司

代理人:

余 刚;吴孟秋

PDF下载: PDF下载
内容摘要

本发明公开了一种软件版本升级方法及装置、服务器。其中,该方法包括:在启动时,客户端启动Boot程序,向服务器发送请求消息,其中,该请求消息用于请求最新的版本程序的参数信息;客户端接收服务器响应于请求消息返回的响应消息,其中,该响应消息中携带有参数信息;客户端根据参数信息确定本地的版本程序不是最新的版本程序,从服务器读取最新的版本程序,并将最新的版本程序加载到内存中。通过本发明,可以减少客户端存储下载的新的版本程序的时间,提高升级的效率。

权利要求书

1.  一种软件版本升级方法,其特征在于,包括:
在启动时,客户端启动Boot程序,向服务器发送请求消息,其中,所述请求消息用于请求最新的版本程序的参数信息;
所述客户端接收所述服务器响应于所述请求消息返回的响应消息,其中,所述响应消息中携带有所述参数信息;
所述客户端根据所述参数信息确定本地的版本程序不是最新的版本程序,从所述服务器读取所述最新的版本程序,并将所述最新的版本程序加载到内存中。

2.
  根据权利要求1所述的方法,其特征在于,所述参数信息包括:所述最新的版本程序的版本号、文件校验合信息。

3.
  根据权利要求2所述的方法,其特征在于,所述客户端根据所述参数信息确定所述本地的版本程序是最新的版本程序的情况下,所述方法还包括:
所述客户端根据所述校验合信息,判断所述本地的版本程序是否完整,如果不是,则从所述服务器读取所述最新的版本程序,并将所述最新的版本程序加载到内存中;否则,将所述本地的版本程序加载到内存中。

4.
  根据权利要求1至3中任一项所述的方法,其特征在于,在将所述版本程序加载到内存中之后,所述方法还包括:
退出所述Boot程序,运行内存中的所述版本程序。

5.
  根据权利要求4所述的方法,其特征在于,在所述客户端运行内存中的所述版本程序之后,所述方法包括:
客户端向服务器发送请求消息,其中,所述请求消息用于请求最新的版本程序的所述参数信息;
所述客户端接收所述服务器响应于所述请求消息返回的响应消息,其中,所述响应消息中携带有所述参数信息;
所述客户端根据所述参数信息确定本地的版本程序的版本不是最新的版本程序,从所述服务器读取所述最新的版本程序,并将所述最新的版本程序存储在本地存储设备上。

6.
  根据权利要求5所述的方法,其特征在于,所述客户端根据所述参数信息确定所述本地的版本程序是最新的版本程序的情况下,所述方法还包括:
所述客户端根据所述校验合信息,判断所述本地的版本程序是否完整,如果不是,则从所述服务器读取所述最新的版本程序,并将所述最新的版本程序存储在本地存储设备上。

7.
  根据权利要求5所述的方法,其特征在于,在将所述最新的版本程序存储在本地存储设备上之后,所述方法还包括:
所述客户端在下一次启动时,将存储的所述最新的版本程序加载到内存中,运行所述最新的版本程序。

8.
  一种软件版本升级装置,其特征在于,包括:
发送模块,用于在客户端启动时或客户端运行本地的版本程序时向服务器发送请求消息,其中,所述请求消息用于请求最新的版本程序的参数信息;
接收模块,用于接收所述服务器响应于所述请求消息返回的响应消息,其中,所述响应消息中携带有所述参数信息;
第一判断模块,用于根据所述接收模块接收到所述参数信息,判断所述客户端本地的版本程序是否为最新的版本程序;
下载模块,用于在所述第一判断模块的判断结果为否的情况下,从所述服务器读取所述最新的版本程序;
加载模块,用于在客户端启动时,将所述下载模块读取的所述最新的版本程序加载到所述客户端的内存中;
存储模块,用于在客户端运行本地的版本程序时,将所述下载模块读取的所述最新的版本程序存储到所述客户端的本地存储设备上。

9.
  根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在所述第一判断模块的判断结果为是的情况下,根据所述参数信息判断所述本地的版本程序是否完整,在不完整的情况下,触发所述下载模块。

10.
  一种软件版本升级方法,其特征在于,包括:
服务器在发布新的版本程序时,将所述版本程序的参数信息发送到其管理的各个客户端;
所述服务器接收所述各个客户端返回的回执消息,其中,所述回执消息中携带有指示该客户端是否需要下载所述版本程序的信息;
所述服务器向需要下载所述版本程序的客户端发送所述版本程序;
需要下载所述版本程序的客户端将所述服务器发送的所述版本程序加载到内存中或存储在本地存储设备上。

11.
  根据权利要求10所述的方法,其特征在于,所述服务器向需要下载所述版本程序的客户端发送所述版本程序的数据包括:
所述服务器创建组播组;
所述服务器根据接收到的所述回执消息,将需要下载所述版本程序的客户端加入所述组播组;
所述服务器通过所述组播组向所述组播组中的各个客户端组播所述版本程序。

12.
  根据权利要求10所述的方法,其特征在于,
所述参数信息包括:所述新的版本程序的版本号、文件校验合信息;
所述服务器将所述参数信息发送到其管理的各个客户端之后,对于每个客户端,所述方法还包括:
所述客户端根据所述参数信息判断本地的版本程序是否为最新的版本程序,如果是,则在向所述服务器返回的所述回执消息中携带指示不需要下载新的所述版本程序的信息,否则,所述客户端在向所述服务器返回的所述回执消息中携带指示需要下载新的所述版本程序的信息。

13.
  根据权利要求10至12中任一项所述的方法,其特征在于,所述服务器向需要下载所述版本程序的客户端发送所述版本程序的数据之后,对于需要下载所述版本程序的每个客户端,所述方法还包括:
所述客户端将接收到的所述版本程序的数据存储在本地存储设备。

14.
  一种服务器,其特征在于,包括:
通知模块,用于在发布新的版本程序时,向其管理的各个客户端发送通知,其中,所述通知中携带有所述版本程序的参数信息;
接收模块,用于接收所述各个客户端返回的回执消息,其中,所述回执消息中携带有指示该客户端是否需要下载所述版本程序的信息;
发送模块,用于向需要下载所述版本程序的客户端发送所述版本程序。

说明书

软件版本升级方法及装置、服务器
技术领域
本发明涉及计算机及计算机网络技术领域,尤其涉及一种软件版本升级方法及装置、服务器。
背景技术
当前,随着计算机技术迅速发展,各类软件产品层出不穷,每类软件产品也在不停的更新换代。对于大多数基于服务器-客户端架构模式的软件,客户端的软件版本主要通过网络进行升级。通过软件版本的网络升级,不仅可以使客户端软件具有更新更强的功能,还可以解决一些软件系统的错误。因此,软件版本的网络升级成了服务器-客户端模式的软件在使用过程中一个不可缺少的功能。
图1为相关技术中软件版本网络升级的流程图,如图1所示,相关技术中软件版本网络升级主要可以包括以下步骤:
步骤S101:客户端软件在运行过程中查看服务器上是否存在比其当前运行的软件版本更新的软件版本,若有更新的软件版本,则下载该新的软件版本,将该新的软件版本存储在本地永久存储器上;
步骤S102:客户端停止运行当前软件版本的软件,安装下载的新的软件版本;
步骤S103:客户端重新启动升级后的软件。
相关技术的上述软件升级方法中主要存在以下几个问题:
(1)在某些情况下,客户端存储下载的新的版本文件耗时较多,从而使得客户端需要等待较长的时间才能重新启动升级后的软件。比如,对于很多通信设备,其本地没有硬盘,下载的新的软件版本一般存储在可擦写闪存(FLASH)上。而可擦写FLASH的写入速度比较慢,因此,在下载更新版本过程中,直接将软件版本写入可擦写FLASH时,若软件版本比较大,则将消耗较长的时间;
(2)相关技术的上述软件升级方法中由客户端软件查看服务器上是否存在新版本,若服务器上发布了新版本不能主动告知客户端,从而可能造成客户端的版本程序更新不及时。
发明内容
针对相关技术中存在的上述问题而提出本发明,为此,本发明的主要目的在于提供一种改进的软件版本升级方案,以解决客户端存储下载的新的版本程序耗时较多的问题,或者,客户端的版本程序更新不及时的问题。
根据本发明的一个方面,提供了一种软件版本升级方法。
根据本发明的软件版本升级方法包括:在启动时,客户端启动Boot程序,向服务器发送请求消息,其中,该请求消息用于请求最新的版本程序的参数信息;客户端接收服务器响应于请求消息返回的响应消息,其中,该响应消息中携带有参数信息;客户端根据参数信息确定本地的版本程序不是最新的版本程序,从服务器读取最新的版本程序,并将最新的版本程序加载到内存中。
根据本发明的另一个方面,提供了一种软件版本升级装置。
根据本发明的软件版本升级装置包括:发送模块、接收模块、第一判断模块、下载模块、加载模块和存储模块。其中,发送模块,用于在客户端启动时或客户端运行本地的版本程序时向服务器发送请求消息,其中,该请求消息用于请求最新的版本程序的参数信息;接收模块,用于接收服务器响应于请求消息返回的响应消息,其中,该响应消息中携带有参数信息;第一判断模块,用于根据接收模块接收到参数信息,判断客户端本地的版本程序是否为最新的版本程序;下载模块,用于在第一判断模块的判断结果为否的情况下,从服务器读取最新的版本程序;加载模块,用于在客户端启动时,将下载模块读取的最新的版本程序加载到客户端的内存中;存储模块,用于在客户端运行本地的版本程序时,将下载模块读取的最新的版本程序存储到客户端的本地存储设备上。
根据本发明的再一个方面,提供了另一种软件版本升级方法。
根据本发明的软件版本升级方法包括:服务器在发布新的版本程序时,将版本程序的参数信息发送到其管理的各个客户端;服务器接收各个客户端返回的回执消息,其中,该回执消息中携带有指示该客户端是否需要下载版本程序的信息;服务器向需要下载版本程序的客户端发送版本程序;需要下载版本程序的客户端将服务器发送的版本程序加载到内存中或存储在本地存储设备上。
根据本发明的又一个方面,提供了一种服务器。
根据本发明的服务器包括:通知模块、接收模块和发送模块。其中,通知模块,用于在发布新的版本程序时,向其管理的各个客户端发送通知,其中,该通知中携带有版本程序的参数信息;接收模块,用于接收各个客户端返回的回执消息,其中,该回执消息中携带有指示该客户端是否需要下载版本程序的信息;发送模块,用于向需要下载版本程序的客户端发送版本程序。
通过本发明的上述至少一个方案,客户端在启动时,启动Boot程序,并检测是否需要下载新的版本程序,在需要下载新的版本程序时,将新版本程序直接下载到客户端的内存中,从而减少了客户端存储下载的新的版本程序的时间,并且,在本发明实施例的另一个方案中,服务器发布新的版本程序时,主动检测各个客户端是否需要下载,并向需要下载的客户端发送新的版本程序,从而使得客户端的版本程序能够及时更新。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为相关技术中软件版本网络升级的流程图;
图2为根据本发明实施例第一种方案的软件版本升级方法的流程图;
图3为根据本发明实施例第一种方案的软件版本升级方法的具体实现流程图;
图4为根据本发明实施例第二种方案的软件版本升级方法的流程图;
图5为根据本发明实施例第二种方案的软件版本升级方法的具体实现流程图;
图6为根据本发明实施例的软件版本升级装置的结构示意图;
图7为根据本发明优选实施例的软件版本升级装置的结构示意图;
图8为根据本发明实施例第三种方案的软件版本升级方法的流程图;
图9为根据本发明实施例第三种方案的软件版本升级方法的具体实现流程图;
图10为根据本发明实施例第三种方案的服务器的结构示意图。
具体实施方式
功能概述
在相关技术中,由于客户端通过客户端软件运行启动,在检测到新版本时,客户端将新的版本程序下载到其可擦写FLASH中,并停止运行旧版本,在新版本下载完后,安装新版本,由于可擦写FLASH的写入速度比较慢,因此,可以消耗较长的时间,从而影响客户端的工作。并且,在相关技术中,客户端软件的升级是由客户端周期性发起的,客户端不能在第一时间获取服务器发布了新的版本,从而可能造成客户端的版本程序更新不及时,并且,在客户端数目较多时,大量的客户端向服务器请求最新版本信息,可能会加服务器的负担。针对上述问题,本发明实施例提供改进的版本程序更新方案。在本发明实施例中,客户端在启动时,启动引导(Boot)程序,由Boot程序发起版本程序的升级流程,在确定需要下载新的版本程序时,将下载的版本程序加载到客户端的内存,从而可以解决新的版本程序下载速度慢的问题。并且,在本发明实施例中,还提供了一种由服务器发起客户端软件升级流程的方法,在该方法中,当服务器发布新的版本程序时,服务器通知其下的各个客户端该版本程序的参数信息,各个客户端根据该参数信息确定需要下载时,向服务器发送指示需要下载的回执消息,服务器向需要下载的客户端发送该软件程序的数据。
在本发明实施例中,客户端包括两个程序,一个用于完成的客户端的功能,称之为版本程序,即客户端软件;此外,客户端还有一个较小的软件程序,称之为Boot程序。客户端在启动时首先启动Boot程序,由Boot程序检测是否需要从服务器上下载最新的版本程序,并在需要的情况下,从服务器上下载最新的版本程序并加载到内存中,然后启动加载在内存中的版本程序。一般情况下,Boot程序不需要修改,并且,Boot程序的容量较小、功能简单稳定,由该程序来启动客户端,可以简化启动流程,加快客户端的启动速度。
在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
在本发明实施例中,针对客户端启动时和客户端运行过程中两种场景,提供了两种由客户端发起版本程序升级流程的方案,另外,本发明实施例还提供了一种由服务器发起客户端的版本程序升级流程的方案,这三种方案可以相互接合使用,也可以单独使用。以下分别对这种三种方案进行说明。
第一种方案:在客户端启动时由客户端发起其软件版本的更新流程
在该方案中,客户端通过运行Boot程序启动,在启动后,Boot程序向服务器发送请求消息,请求最新的版本程序的参数信息,根据该参数信息,确定需要下载最新的版本程序时,Boot程序从服务器读取最新的版本程序,并将该版本程序加载到内存中,然后退出Boot程序,运行内存中的版本程序。
根据本发明实施例的该方案,首先提供了一种软件版本升级方法,该方法用于在客户端启动时对客户端软件进行升级。
图2为根据本发明实施例第一种方案的软件版本升级方法的流程图,如图2所示,根据本发明实施例第一种方案的软件版本升级方法主要包括以下步骤(步骤S201-步骤S205):
步骤S201:在启动时,客户端运行Boot程序,向服务器发送请求消息,其中,该请求消息用于请求最新的版本程序的参数信息;
步骤S203:客户端接收服务器响应于上述请求消息返回的响应消息,其中,该响应消息中携带有服务器发布的最新的版本程序的参数信息;
在具体实施过程中,该参数信息包括但不限于:最新的版本程序的版本号、大小和文件检验合信息等。
步骤S205:客户端根据上述参数信息确定本地的版本程序不是最新的版本程序,从服务器读取最新的版本程序,并将该版本程序加载到内存中。
具体地,客户端可以接收到的参数信息中包括的最新的版本程序的版本号判断本地的版本程序是否为最新的版本程序,如果不是,则客户端从服务器读取该最新的版本程序的内容,并将该版本程序的内容加载到客户端的内存中,然后退出Boot程序,运行内存中的版本程序。
如果客户端根据版本号确定本地的版本程序与服务器发布的最新的版本程序的版本相同,则客户端可以根据校验合信息进行判断本地的版本程序是否完整,如果不完整,则客户端从服务器读取该最新的版本程序的内容,并将该版本程序的内容加载到客户端的内存中,然后退出Boot程序,运行内存中的版本程序;否则,将本地的版本程序加载到内存中,然后退出Boot程序,运行内存中的版本程序。
在具体实施过程中,上述步骤S201-步骤S205中的客户端是指客户端运行的Boot程序。
图3为上述方法的具体实现流程图,如图3所示,根据本发明实施例的第一种方案的软件版本升级可以通过以下步骤实现:
步骤S301:客户端启动时,在客户端启动Boot程序;
步骤S302:Boot程序向服务器请求最新的版本程序信息(包括:版本程序的版本号,大小和文件校验合信息等);
步骤S303:服务器接收到客户端的上述请求后,向客户端发送最新的版本程序信息;
步骤S304:Boot程序接收到服务器发送的版本程序信息后,根据版本号判断本地的版本程序的版本是否是最新的版本,如果是,则执行步骤S305,否则,执行步骤S307;
步骤S305:根据从服务器获得的最新的版本程序的校验合信息判断本地的版本程序是否被破坏(即是否完整),若校验通过则执行步骤S306,否则,执行步骤S307;
步骤S306:Boot程序将本地的版本程序加载到内存中;
步骤S307:Boot程序从服务器读取最新的版本程序的内容,并将最新的版本程序的内容直接加载到内存中;
步骤S308:退出Boot程序,然后直接运行内存中的版本程序。
根据本发明实施例的第一种方案,客户端在启动时,从服务器上下载最新的版本程序后,并不是直接将下载的版本程序写入本地存储,而是直接加载在内存中执行,由于内存的读写速度很快的,因此,通过本发明实施例的第一种方案可以大幅提高客户端启动的速度。
第二种方案:在客户端运行版本程序的过程中由客户端发起其软件版本的更新流程
该方案可以作为上述第一种方案的后续过程,也可以作为一个独立的方案,在该方案中,Boot程序负责将最新的版本程序加载到内存中运行,然后,在该版本程序的运行过程中,客户端向服务器请求最新版本信息,在需要下载最新的版本程序的情况下,从服务器上下载最新版本程序并写入本地存储。
根据本发明实施例第二种方案,提供了一种软件版本升级方法,该方法用于在客户端运行本地的版本程序的过程中对版本程序进行升级。
图4为根据本发明实施例第二种方案的软件版本升级方法的流程图,如图4所示,根据本发明实施例第二种方案的软件版本升级方法主要包括以下步骤(步骤S401-步骤S405):
步骤S401:客户端在版本程序运行的过程中向服务器发送请求消息,其中,该请求消息用于请求最新的版本程序的参数信息;
步骤S403:客户端接收述服务器响应于上述请求消息返回的响应消息,其中,该响应消息中携带有服务器发布的最新的版本程序的参数信息;
在具体实施过程中,该参数信息包括但不限于:最新的版本程序的版本号、大小和文件检验合信息等。
步骤S405:客户端根据接收到的上述参数信息确定本地的版本程序的版本不是最新的版本程序,从服务器读取最新的版本程序,并将最新的版本程序存储在本地存储设备上。
具体地,客户端可以接收到的参数信息中包括的最新的版本程序的版本号判断本地的版本程序是否为最新的版本程序,如果不是,则客户端从服务器读取该最新的版本程序的内容,并将该版本程序的内容存储到客户端的本地存储设备中(比如,可擦写FLASH、硬盘)。
如果客户端根据版本号确定本地的版本程序与服务器发布的最新的版本程序的版本相同,则客户端可以根据接收到的最新的版本程序的校验合信息判断本地的版本程序是否完整,如果不完整,则客户端从服务器读取该最新的版本程序的内容,并将该版本程序的内容存储到客户端的本地存储设备中。
客户端在本次运行结束后,在下一次启动时,Boot程序将上述下载的版本程序加载到内存中运行。
图5为上述方法的具体实现流程图,如图5所示,根据本发明实施例的第一种方案的软件版本升级可以通过以下步骤实现:
步骤S501:客户端的版本程序由Boot程序负责加载到内存中,成功运行后,向服务器请求最新版本信息(包括服务器发布的最新版本程序的版本号、大小和文件校验合信息等);
步骤S502:服务器接收到客户端的上述请求后,向客户端发送其发布的最新版本信息;
步骤S503:客户端接收到上述版本信息后,根据其中的版本号判断其本地的版本程序的版本是否为最新版本,若确定本地的版本程序的版本为最新版本则执行步骤S505,否则,执行步骤S504;
步骤S504:客户端根据从服务器获得的最新版本程序的校验合信息判断本地的版本程序是否完整,若是,则结束流程,否则执行步骤S505;
步骤S505:客户端从服务器上下载最新的版本程序,并将该版本程序直接写入本地存储设备上(一般为可擦写FLASH)。
根据本发明实施例的第二种方案,在客户端运行过程中,在确定需要下载最新的版本程序的情况下,将从服务器上下载最新版本程序并写入本地存储,待客户端下次运行时加载,而不是在本次运行过程中,停止原版本程序的运行,待下载完最新的版本程序后,再重启动,从而可以加快客户端的启动速度。
根据本发明实施例的上述软件版本升级的方法,还提供了一种软件版本升级装置,该装置位于客户端,用于实现根据本发明实施例第一种方案和第二种方案提供的上述软件版本升级方法。
图6为根据本发明实施例的软件版本升级装置的结构示意图,如图6所示,根据本发明实施例的软件版本升级装置主要包括:发送模块61、接收模块63、第一判断模块65、下载模块67、加载模块60和存储模块62。其中,发送模块61,用于在客户端启动时或客户端运行本地的版本程序时向服务器发送请求消息,其中,该请求消息用于请求最新的版本程序的参数信息;接收模块63,用于接收服务器响应于上述请求消息返回的响应消息,其中,该响应消息中携带有该服务器发布的最新的版本程序的参数信息(包括最新的版本程序的版本号、文件校验合信息等信息);第一判断模块65与接收模块63连接,用于根据接收模块63接收到上述参数信息,判断客户端本地的版本程序的版本是否为最新的版本程序;下载模块67与第一判断模块65连接,用于在第一判断模块65的判断结果为否的情况下,从服务器读取最新的版本程序;加载模块60与下载模块67连接,用于在客户端启动时,将下载模块67读取的最新的版本程序加载到客户端的内存中;存储模块62与下载模块67连接,用于在客户端运行本地的版本程序时,将下载模块67读取的最新的版本程序存储到客户端的本地存储设备上。
进一步地,如图7所示,该装置还可以包括:第二判断模块69与第一判断模块65连接,用于在第一判断模块65的判断结果为是的情况下,根据接收模块63接收到的上述参数信息判断客户端本地的版本程序是否完整,在不完整的情况下,触发下载模块67。
第三种方案:由服务器发起客户端的版本程序的升级流程
在本方案中,服务器在发布新版本后,主动通知其下的各个客户端,如果有客户端需要下载新版本的版本程序,则服务器将新版本的版本程序发送给该客户端。
根据本发明实施例的第三种方案,提供了一种软件版本升级方法。
图8为根据本发明实施例第三种方案的软件版本升级方法的流程图,如图8所示,根据本发明实施例第三种方案的软件版本升级方法主要包括以下步骤(步骤S801-步骤S807):
步骤S801:服务器在发布新的版本程序时,将该版本程序的参数信息发送到其管理的各个客户端;
在具体实施过程中,服务器可以以组播的方式将该版本程序的参数信息发送给其管理的各个客户端;
各个客户端在接收到上述参数信息时,根据该参数信息,判断其本地的版本程序是否为最新的版本程序,如果是,则在向服务器返回的回执消息中携带指示不需要下载新的版本程序的信息,否则,客户端在向服务器返回的回执消息中携带指示需要下载新的版本程序的信息。
具体地,上述参数信息包括但不限于:服务器发布的新的版本程序的版本号、文件校验合信息等信息,并且,各个客户端在接收到服务器组播的参数信息后,可以根据上述第一种方案或第二种方案中所采用的方法判断是否需要下载服务器发布的新的版本程序。
步骤S803:服务器接收各个客户端返回的回执消息;
步骤S805:服务器向需要下载最新发布的上述版本程序的客户端发送该版本程序;
在具体实施过程中,服务器可以创建组播组,在接收到各个客户端返回的回执消息后,服务器根据各个客户端返回的回执消息中携带的信息,将需要下载该新版本的版本程序的客户端加入到组播组中,然后通过该组播组向各个客户端发送该版本程序。
步骤S807:需要下载版本程序的客户端将服务器发送的版本程序加载到内存中或存储在本地存储设备上。
在具体实施过程中,组播组中的各个客户端在接收到服务器发送的上述版本程序的数据,如果客户端正在启动,则客户端将接收到的版本程序加载到内存中,如果客户端正在运行本地的版本程序,则该客户端将接收到的该版本程序存储在本地存储设备,待下一次运行时,由Boot程序加载到内存中运行。
图9为根据本发明实施例第三种方案的软件版本升级方法的具体实现流程图,如图9所示,根据本发明实施例的第三种方案的软件版本升级可以通过以下步骤实现:
步骤S901:服务器发布新的版本程序;
步骤S902:服务器将新的版本程序信息(包括版本程序的版本号,大小和文件校验合信息等)组播发送到各个客户端上,并创建组播组;
服务器在后续过程中,将需要下载最新版本程序的客户端加入该组播组,然后,通过该组播组进行版本程序组播。
步骤S903:客户端接收到上述版本程序信息后,根据版本程序信息中的版本号与本地的版本程序的版本号的比较结果,判断本地的版本程序是否为最新版本,若是则执行步骤S904,否则,执行步骤S905;
步骤S904:直接向服务器发送回执消息,该回执消息中可以携带指示不需要下载新版本的信息,也可以采用默认的方式,不携带该信息;
步骤S905:该客户端加入服务器创建的上述组播组,该客户端向服务器发送回执消息,该回执消息中携带有指示需要下载新版本的信息;
步骤S906:服务器接收到所有客户端的回执消息后,根据各个客户端的回执消息判断是否有客户端需要下载新版本,若有则执行步骤S907,否则,结束流程;
步骤S907:服务器通过组播组向各客户端组播版本程序数据;
步骤S908:需要更新版本的客户端通过组播组接收到版本程序的数据包后,直接将该版本程序的数据包写入本地存储设备(假设客户端当前正在运行本地的版本程序)。
根据本发明实施例第三种方案,还提供了一种服务器,该服务器可以用于实现上述软件升级方法。
图10为根据本发明实施例第三种方案的服务器的结构示意图,如图10所示,根据本发明实施例第三种方案的服务器主要包括:通知模块11、接收模块13和发送模块15。其中,通知模块11,用于在发布新的版本程序时,向其管理的各个客户端发送通知,其中,该通知中携带有所述版本程序的参数信息;接收模块13,用于接收各个客户端返回的回执消息,其中,该回执消息中携带有指示该客户端是否需要下载所述版本程序的信息;发送模块15与接收模块13连接,用于向需要下载新的版本程序的客户端发送该版本程序。
根据本发明实施例的第三种方案,服务器发布新版本后,可以主动更新各客户端上的版本,从而保证了客户端的版本程序可以实时更新。
如上所述,借助本发明实施例提供的技术方案,在客户端启动时,从服务器上下载版本程序后并不是直接将版本程序写入本地存储,而是直接加载在内存中执行。由于内存的读写速度较快,因此,可以大幅加高客户端启动的速度;并且,在本发明实施例中,客户端在运行版本程序的过程中,也可以从服务器上下载最新版本程序并写入本地存储,由于客户端运行正常,服务器能够正常下发版本,客户端再次启动时不需从服务器更新版本,从而进一步加快了客户端的启动速度。并且,在本发明实施例中服务器可以主动向客户端下发新的版本程序,从而可以提高软件版本升级的效率,减少服务器的资源,提高服务器的业务处理能力。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

软件版本升级方法及装置、服务器.pdf_第1页
第1页 / 共32页
软件版本升级方法及装置、服务器.pdf_第2页
第2页 / 共32页
软件版本升级方法及装置、服务器.pdf_第3页
第3页 / 共32页
点击查看更多>>
资源描述

《软件版本升级方法及装置、服务器.pdf》由会员分享,可在线阅读,更多相关《软件版本升级方法及装置、服务器.pdf(32页珍藏版)》请在专利查询网上搜索。

本发明公开了一种软件版本升级方法及装置、服务器。其中,该方法包括:在启动时,客户端启动Boot程序,向服务器发送请求消息,其中,该请求消息用于请求最新的版本程序的参数信息;客户端接收服务器响应于请求消息返回的响应消息,其中,该响应消息中携带有参数信息;客户端根据参数信息确定本地的版本程序不是最新的版本程序,从服务器读取最新的版本程序,并将最新的版本程序加载到内存中。通过本发明,可以减少客户端存储下。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1