软件更新方法及软件更新系统的制作方法

文档序号:6371413阅读:144来源:国知局
专利名称:软件更新方法及软件更新系统的制作方法
技术领域
本发明涉及互联网技术领域,特别涉及一种软件更新方法以及一种软件更新系统。
背景技术
现有软件在进行使用时,由于补丁的修复、功能的进一步增加等原因,通常需要对软件进行升级。现有技术中对软件进行升级时,通常采用全量更新的方式进行升级。所谓全量更新,是指采用包含全部程序文件和数据文件的完整安装包进行更新。采用全量更新方式进行升级的一个具体过程是客户端进程启动时或者运行一段时间后,向服务端发送升级查询信息,询问服务器是否有更新,该升级查询信息中包含有当前客户端的当前版本 信息;服务器接收到升级查询信息后,通过比较目标版本(服务器版本)与客户端版本的版本号判断是否需要更新,若客户端版本的版本号大于或者等于服务器版本的版本号,则不需要进行更新,若客户端版本的版本号小于服务器版本的版本号,则需要进行更新;在需要进行更新时,服务器向客户端反馈需要更新的信息并附带更新信息,该更新信息包括有升级文件的地址等信息;客户端接收到服务器返回的反馈信息后,在用户选择需要更新的情况下,下载升级文件,并运行下载的全量安装包,进行覆盖安装以进行升级。这种全量更新的升级方式,在进行升级时需要下载包含全部程序文件和数据文件的完整安装包,完整安装包的数据量大,需要占用较多的带宽资源,下载成功率低,对用户来说,需要占用较多的上网流量,升级耗时长,影响了用户的使用体验。

发明内容
基于此,针对上述现有技术中存在的问题,本发明的目的在于提供一种软件更新方法,另一目的在于提供一种软件更新系统,其可以节约带宽,提高下载成功率,减少升级更新的耗时时间,提高了软件升级更新时的用户体验。为达到上述目的,本发明采用以下技术方案一种软件更新方法,包括步骤客户端向服务器发送升级查询信息,所述升级查询信息包括客户端版本信息;客户端接收服务器根据所述客户端版本信息以及服务器升级目标版本信息判定需要升级时返回的更新信息,所述更新信息包括增量更新包信息;客户端向服务器发送下载请求信息,该下载请求信息中包括所述增量更新包信息;客户端接收服务器发送的与所述增量更新包信息对应的增量更新包,并根据所述增量更新包进行更新。一种软件更新方法,包括步骤接收升级查询信息,所述升级查询信息包括客户端版本信息;根据客户端版本信息以及服务器升级目标版本信息判断是否需要升级,若是,向客户端返回更新信息,所述更新信息包括增量更新包信息;接收下载请求信息,该下载请求信息中包括所述增量更新包信息,并将该增量更新包信息对应的增量更新包发送给客户端进行更新。一种软件更新系统,包括客户端,所述客户端包括第一信息收发模块,用于向服务器发送升级查询信息,接收服务器根据客户端版本信息以及服务器升级目标版本信息判定需要升级时返回的更新信息,并向服务器发送下载请求信息,接收服务器发送的增量更新包,所述升级查询信息包括所述客户端版本信息,所述更新信息、所述下载请求信息中包括所述增量更新包信息,所述增量更新包与所述增量更新包信息对应;升级模块,用于根据所述第一信息收发模块接收的增量更新包进行更新。
一种软件更新系统,包括服务器,所述服务器包括信息收发模块,用于接收升级查询信息以及下载请求信息,所述升级查询信息包括客户端版本信息,所述下载请求信息中包括增量更新包信息;升级判定模块,用于根据客户端版本信息以及服务器升级目标版本信息判断是否需要升级,并在判定需要升级时,向客户端返回更新信息,所述更新信息包括增量更新包信息;下载模块,用于根据所述下载请求信息将增量更新包信息对应的增量更新包通过所述信息收发模块向客户端发送。根据如上所述的本发明方案,其是在服务器接收到客户端发送的升级查询信息后,在判定需要进行升级时,向客户端返回的更新信息中包含的是增量更新包信息,客户端下载获取的是增量更新包并根据该增量更新包对软件进行升级更新,无需从服务器下载全部的完整安装包,极大地减少了升级时下载的数据量,从而下载时所占用的带宽也少,节约了带宽,提高了下载成功率,减少了升级更新的耗时时间。


图I是本发明的软件更新方法实施例一的流程示意图;图2是本发明的软件更新方法实施例二的流程示意图;图3是本发明的软件更新方法实施例三的流程示意图;图4是本发明的一个具体示例中生成增量更新包的原理示意图;图5是本发明的软件更新系统实施例的结构示意图。
具体实施例方式以下结合其中的较佳实施方式对本发明方案进行详细阐述。图I中示出了本发明的软件更新方法实施例一的流程示意图。在该实施例一中,是以客户端的处理过程为例进行说明。如图I所示,在该实施例一中,客户端的处理过程包括有步骤SlOl :客户端向服务器发送升级查询信息,上述升级查询信息包括客户端版本信息;步骤S102 :客户端接收服务器根据上述客户端版本信息以及服务器升级目标版本信息判定需要升级时返回的更新信息,该更新信息包括增量更新包信息;步骤S103 :客户端向服务器发送下载请求信息,该下载请求信息中包括上述增量更新包信息; 步骤S104 :客户端接收服务器发送的与上述增量更新包信息对应的增量更新包,并根据该增量更新包进行更新。根据本实施例中的方案,客户端在向服务器发送升级查询信息后,在需要进行升级时,从服务器返回的是增量更新包,客户端下载获取的是增量更新包,并根据该增量更新包对软件进行升级更新,无需从服务器下载全部的完整安装包,极大地减少了升级时下载的数据量,从而下载时所占用的带宽也少,节约了带宽,提高了下载成功率,减少了升级更新的耗时时间。图2中示出了本发明的软件更新方法实施例二的流程示意图。在该实施例二中,是以服务器的处理过程为例进行说明。如图2所示,在该实施例二中,服务器的处理过程包括有步骤S201 :服务器接收升级查询信息,该升级查询信息包括客户端版本信息;步骤S202 :服务器根据客户端版本信息以及服务器升级目标版本信息判断是否需要升级,若是,进入步骤S203 ;步骤S203 :服务器向客户端返回更新信息,该更新信息包括增量更新包信息;步骤S204 :服务器接收客户端发送的下载请求信息,该下载请求信息中包括上述增量更新包信息,并将该增量更新包信息对应的增量更新包发送给客户端进行更新。根据如上所述的本发明实施例中的方法,服务器接收到客户端发送的升级查询信息后,在判定需要进行升级时,向客户端返回的更新信息中包含的是增量更新包信息,客户端下载获取的是增量更新包,并根据该增量更新包对软件进行升级更新,无需从服务器下载全部的完整安装包,极大地减少了升级时下载的数据量,从而下载时所占用的带宽也少,节约了带宽,提高了下载成功率,减少了升级更新的耗时时间。结合上述实施例一、实施例二中的方案,图3中示出了本发明的软件更新方法实施例三的流程示意图。在本实施例中,是以软件更新时服务器与客户端之间的双向交互过程为例进行说明,这种说明并不用以对本发明方案构成限定。如图3所示,在该实施例三中,本实施例中的方法包括步骤步骤S301 :客户端向服务器发送升级查询信息,该升级查询信息中包括客户端版本信息,进入步骤S302 ;步骤S302 :服务器接收客户端发送的升级查询信息,并根据客户端版本信息以及服务器升级目标版本信息判断是否需要升级,若需要升级,进入步骤S303 ;步骤S303 :服务器向客户端返回更新信息,其中,该更新信息中包括有增量更新包信息,进入步骤S304 ;步骤S304:客户端接收服务器返回的更新信息,并向服务器发送下载请求信息,该下载请求信息中包括有上述增量更新包信息,进入步骤S305 ;步骤S305 :服务器接收上述下载请求信息,将该增量更新包信息对应的增量更新包发送给客户端进行更新,进入步骤S306 ;步骤S306 :客户端接收服务器发送的增量更新包,并根据该增量更新包进行更新。根据如上所述的本发明实施例中的方法,其是在服务器接收到客户端发送的升级查询信息后,在判定需要进行升级时,向客户端返回的更新信息中包含的是增量更新包信息,客户端下载获取的是增量更新包,并根据该增量更新包对软件进行升级更新,无需从服务器下载全部的完整安装包,极大地减少了升级时下载的数据量,从而下载时所占用的带宽也少,节约了带宽,提高了下载成功率,减少了升级更新的耗时时间。 在其中一个具体示例中,上述增量更新包包括根据服务器升级目标版本信息确定的差值文件列表的集合。其中,在上述更新信息中,还可以包括有增量更新包的MD5 (Message-DigestAlgorithm 5,信息摘要算法5,将数据运算为另一固定长度值,用于确保信息传输的完整一致)信息。从而,在客户端下载了增量更新包(接收的服务器发送的增量更新包)后,还可以通过比较更新信息中的MD5信息与下载的增量更新包的MD5信息的一致性,来对增量更 新包的正确性与完整性进行验证。另一方面,在上述更新信息中,还可以包括有增量更新包的地址信息。从而,客户端可以根据该增量更新包的地址信息,直接向该地址信息对应的网络地址请求下载该增量更新包。如上所述,本发明方案是通过增量更新包来实现对软件的升级更新。在本发明方案中,增量更新包是基于服务器升级目标版本来生成,其中包含的有两个版本之间的所有差异化文件。例如,假设版本I中包含的文件集是{A1,A2,A3},升级后的版本2中包含的文件集是{A1,B2,B3},那么,版本I与版本2之间的差值文件列表则包括有文件B2与B3。或者说,假设版本I中包含的文件集是{Al,A2,A3},升级后的版本2中包含的文件集是{BI,B2,B3},如果Al = BI,A2古B2,A3古B3,那么,版本I与版本2之间的差值文件列表则包括有文件B2与B3。据此,根据实际需要,可以采用各种可能的方式生成增量更新包,只要能够使得客户端采用下载的增量更新包能够升级更新到目标版本(服务器升级目标版本)即可。以下就以其中的两种方式分别举例进行说明。在其中一种方式中,可以是通过服务器升级目标版本信息跟上一个升级目标版本之间的差值文件列表与上一个增量更新包的并集生成。以通过服务器升级目标版本信息跟上一个升级目标版本之间的差值文件列表与上一个增量更新包的并集生成增量更新包的方式为例,以下就其中一个具体示例中的增量更新包(以下简称为KB包)的生成方式进行举例说明。在本发明方案中,增量更新包实际上是两个软件版本之间的差值文件列表的集合。而在实际应用时,可以由上一个KB包中的差值文件列表与当前两个版本之间的差值文件列表的并集来获得外发的KB包,即外发KB包=(上一个KB包文件列表)U (两个版本的之间的差值文件列表)上式中,符号U表示并集。通过这种方式得到的外发KB包,对当前主版本对应的所有KB版本的升级都有效。应用这种增量更新包的生成方式,在本发明方案进行应用时,采用本发明方案进行升级的软件,其相应的版本可以采用下述规则来进行命名主版本号、次版本号、Build编号、Release编号。例如某软件版本的版本号记为7.0. 2686. 203。在该版本号中,7表示主版本号,0表不次版本号,2686表不Build编号,203表不Release编号。其中,Build编号随着每次的编译过程递增,而Release编号主要用于版本外发时的标记,该字段可能有不同的定义方式,具体的定义过程在此不予赘述。基于上述版本的定义规则,则在生成KB包时,假设需要从版本I. 0. 7. 201升级到版本I. 0. 10. 201,则所需的KB包即为版本I. 0. 7. 201与版本I. 0. 10. 201这两个版本之间的差值文件列表,记为KBOl (I. 0. 10. 201),若需要从版本I. 0. 7. 201升级到I. 0. 15. 201,则所需的KB包可以通过下式进行计算KB02(1. 0. 15. 201) = [KB01 (I. 0. 10. 201) ] U [KB02,(I. 0. 15. 201)]上式中,KBOl(I. 0. 10. 201)表示从版本 I. 0. 7. 201 升级到版本 I. 0. 10. 201 的 KB 包,KB02,(I. 0. 15. 201)表示版本I. 0. 10. 201与版本I. 0. 15. 201之间的差值文件列表。图4中示出了依据本发明方案的一个具体示例中生成KB包时的原理示意图。如图4 所示,从版本 Betal (I. 0. 7. 201)升级到版本 Betal (I. 0. 10. 201)的 KB 包记为 KB (1.0. 10. 201),版本 Betal (1.0. 10. 201)与版本 Betal (I. 0. 15. 201)之间的差值文件列表记为 KB02’ (I. 0. 15. 201),版本 Betal (I. 0. 15. 201)与版本 Betal (I. 0. 25. 201)之间的差值文件列表记为KB03’ (I. 0. 25. 201)。据此,若是需要从版本Betal (I. 0. 7. 201)升级到版本Betal (I. 0. 15. 201),则其对应的KB包KB02 (I. 0. 15. 201)可通过下式来生成KB02(1. 0. 15. 201) = [KB01 (I. 0. 10. 201) ] U [KB02,(I. 0. 15. 201)]相应地,若是需要从版本Betal (I. 0. 7. 201)升级到版本Betal (I. 0. 25. 201),则其对应的KB包KB03 (I. 0. 25. 201)可通过下式来生成KB03(1. 0. 25. 201) = [KB02(1. 0. 15. 201)] U [KB03,(I. 0. 15. 201)]如上所述,结合图4可以得知,KB包KB03(1.0. 25. 201)中包含了从版本BetaKl.O. 7. 201)到版本Betal (I. 0. 25. 201)的所有的差值文件列表,因此,对版本Betal (I. 0. 7. 201)、版本 Betal (I. 0. 10. 201)、版本 Betal (I. 0. 15. 201)中的任意一个版本来说,要升级到版本Betal (I. 0. 25. 201)都可以采用该KB包KB03 (I. 0. 25. 201)进行升级。基于图4中所示的KB包生成方式,对于同一个主版本来说,例如图4中所示的主版本I. *. *. *,只采用一个KB包KB03(1. 0. 25. 201)就可以实现对该主版本下的所有次版本的升级更新。在主版本发生改变的情况下,例如主版本升级为2. *. *. *,则可以针对该主版本2. *. *. *另外生成一个相应的KB包,来实现对该主版本2. *. *. *下的各次版本的升级更新。也就是说,可以对每个主版本生成一个对应的KB包,来实现对该主版本下的各次版本的升级更新。在此情况下,可以基于服务器升级目标版本信息来确定对应的增量更新包,并基于服务器升级目标版本信息获取上述增量更新包信息。由于通常情况下,一个主版本下对应的次版本数或者说升级次数是有限的,因此,针对一个主版本生成的KB包来说,容量不会太大,即便是KB包中包含有重复的或者说是不需要升级更新的文件,也不会过多的占用带宽资源,提高了软件升级更新的效率。在另外一种方式中,可以是根据服务器升级目标版本与客户端版本之间的差值文件列表来生成增量更新包。另一方面,结合上述通过服务器升级目标版本信息跟上一个升级目标版本之间的差值文件列表与上一个增量更新包的并集生成KB包的方式为例,考虑到网络带宽的占用及网络流量的问题,若采用同样的KB包KB03(1. 0. 25. 201)来将这三个版本升级到版本Betal (I. 0. 25. 201),那么,对于版本 Betal (I. 0. 7. 201)来说,该 KB 包 KB03 (I. 0. 25. 201)中包含的差值文件列表刚好是该版本Betal (I. 0. 7. 201)所需要升级的所有的差值文件列表,从而没有对带宽造成不必要的占用,达到了对带宽及网络流量的合理使用。而对于版本Betal (I. 0. 10. 201)、版本 Betal (I. 0. 15. 201)来说,在采用KB包KB03 (I. 0. 25. 201)升级到版本Betal (I. 0. 25. 201)的情况下,所下载的KB包KB03(1.0. 25. 201)中将会包含无需更新的差值文件列表,尽管没有占用过多的带宽资源,但是却没有达到对带宽的最大化合理运用,从而在一定程度上造成了对带宽的浪费。以从版本 Betal (1.0. 15. 201)升级到版本 Betal (I. 0. 25. 201)为例,KB 包 KB03(1.0. 25. 201)中包含的自版本Betal (I. 0.7. 201)到版本Betal (1.0. 15.201)之间的差值文件列表KB (1.0. 10. 201)与KB02’(1.0. 15. 201)实质上是不需要进行升级的,从而在一定程度上不必要的占用了带宽资源。据此,为了更为合理有效地对带宽进行利用,可以是根据服务器升级目标版本与客户端版本之间的差值文件列表来生成增量更新包。相应地,服务器在接收到客户端发送·的升级查询请求后,可以是根据客户端版本以及服务器升级目标版本选择确定相应的KB包,使得所选择的KB包中只包含了客户端版本与服务器升级目标版本之间的差值文件列表。在此情况下,可以基于服务器升级目标版本信息与客户端版本信息来确定对应的增量更新包,并基于服务器升级目标版本信息与客户端版本信息获取上述增量更新包信息。根据该实施方式,以从版本Betal (I. 0. 10. 201)升级到版本Betal (I. 0. 25. 201)为例,其对应的KB包可以是KB”(I. 0. 25. 201) = [KB02,(I. 0. 15. 201)] U [KB03,(I. 0. 25. 201]从而,针对安装的版本为BetaKL 0. 10. 201)的客户端来说,其进行升级时,可以只下载对应的KB包KB,,(I. 0. 25. 201),该KB包KB,,(I. 0. 25. 201)中包含的差值文件列表刚好是从版本Betal (I. 0. 10. 201)升级到版本Betal (I. 0. 25. 201)时所需包含的所有的差值文件列表,不会包含有不需要的差值文件列表,从而可以合理地使用带宽资源,不会造成带宽资源的浪费。 基于这种KB包生成方式,无需为各主版本分别生成与主版本对应的KB包,但需要根据客户端版本生成对应的KB包。作为另外一种实现方式,在处理能力以及响应速度能够满足要求的情况下,也可以是在接收升级查询请求、判定需要进行升级时,实时根据客户端版本与服务器升级目标版本生成对应的KB包即可。根据该升级方式,即便是升级到更高级别的主版本,也可以是只需要下载一个相应的KB包,实现对客户端版本的升级更新。根据如上所述的本发明方案,在其中一个具体实现方式中,结合客户端与服务器之间的双向交互过程为例,具体的软件升级更新方式可以是如下所述客户端进程启动时或者运行一段时间后,向服务端发送升级查询信息,询问服务器是否有更新,该升级查询信息中包含有当前客户端的当前版本信息;服务器接收到升级查询信息后,通过比较目标版本(服务器版本)与客户端版本的版本号判断是否需要更新,若客户端版本的版本号大于或者等于服务器版本的版本号,则不需要进行更新,若客户端版本的版本号小宇服务器版本的版本号,则需要进行更新;
在需要进行更新时,服务器向客户端反馈需要更新的信息并附带更新信息,该更新信息包括有对应的KB包以及该KB包的MD5信息等信息,其中,该KB包可以是根据客户端的当前版本与服务器升级目标版本生成的KB包,也可以是与服务器版本的主版本或者服务器升级目标版本的主版本对应的一个统一的KB包,此外,在该更新信息中,还可以包括有新版本特性、升级方式等其他类型信息,具体所包含的这些其他类型信息的类型,根据实际应用需要的不同可以做不同的设定,在此不予多加赘述;客户端接收到服务器返回的反馈信息后,在用户选择需要更新的情况下,下载对应的KB包;下载了对应的KB包后,客户端对下载的KB包的MD5与更新信息中的MD5的一致性进行判断,若不一致,则说明KB包下载失败,结束此次更新过程,或者重新下载KB包;若一致,则说明此次下载的KB包是正确的,运行该KB包,对该KB包进行安装,对 KB包进行安装的过程可以是覆盖安装,具体的安装过程在此不予多加赘述;若KB包安装不成功,则此次更新失败,结束此次更新过程,或者是执行其他的操作,例如重新进行安装等等;若KB包安装成功,则软件的该版本的更新成功,结束软件的升级更新过程。根据上述本发明的软件更新方法,本发明还提供一种软件更新系统。本发明的软件更新系统,可以只包括客户端、服务器中的一个,也可以同时包括客户端服务器。为方便说明,图5中以结合客户端和服务器为例,示出了本发明的软件更新系统实施例的结构示意图。如图5所示,本实施例中的软件更新系统中的客户端501包括有第一信息收发模块5011,用于向服务器502发送升级查询信息,接收服务器502根据客户端版本信息以及服务器升级目标版本信息判定需要升级时返回的更新信息,并向服务器502发送下载请求信息,接收服务器502发送的增量更新包,上述升级查询信息包括上述客户端版本信息,上述更新信息、上述下载请求信息中包括上述增量更新包信息,上述增量更新包与上述增量更新包信息对应;升级模块5012,用于根据上述第一信息收发模块接收的增量更新包进行更新。如图5所示,本实施例中的软件更新系统中的服务器502包括有信息收发模块5021,用于接收升级查询信息以及下载请求信息,其中,该升级查询信息包括客户端版本信息,该下载请求信息中包括增量更新包信息;升级判定模块5022,用于根据客户端版本信息以及服务器升级目标版本信息判断是否需要升级,并在判定需要升级时,向客户端返回更新信息,该更新信息中包括有增量更新包信息;下载模块5023,用于根据尚述下载请求信息将增量更新包信息对应的增量更新包向客户端发送,其中,该增量更新包包括根据服务器升级目标版本信息确定的差值文件列表的集合。其中,上述增量更新包包括根据服务器升级目标版本确定的差值文件列表的集
口 o其中,在其中一个具体实施例中,上述本发明的软件更新系统还可以包括有增量更新包生成模块5024,用于生成上述增量更新包。
在其中一个实现方式中,该增量更新包生成模块5024可以是通过服务器升级目标版本跟上一个升级目标版本之间的差值文件列表与上一个增量更新包的并集生成上述增量更新包。此时,上述增量更新包可以是与上述服务器升级目标版本的主版本相对应。在另外一个实现方式中,该增量更新包生成模块5024可以通过客户端版本与服务器升级目标版本之间的差值文件列表生成上述增量更新包。即客户端接收的增量更新包,是由服务器通过客户端版本与所述服务器升级目标版本之间的差值文件列表生成的。其中,在另 外一个具体实现方式中,上述更新信息中还可以包括有增量更新包的MD5信息、地址信息等中的任意一个或者任意组合,根据实际需要,还可以包括有其他的相关信息,例如新版本特性的描述信息等等。本发明的软件更新系统中各功能的具体实现方式,包括具体的升级更新方式、增量更新包的生成方式、判断是否需要升级更新的方式等等,可以与上述本发明方法中的相同,在此不予多加赘述。根据上述本发明方案,本发明还提供一种包含计算机可读程序的存储介质,当该存储介质中的计算机可读程序执行时,可以实现上述任何一种方式中的本发明的软件更新方法。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
权利要求
1.一种软件更新方法,其特征在于,包括步骤 客户端向服务器发送升级查询信息,所述升级查询信息包括客户端版本信息; 客户端接收服务器根据所述客户端版本信息以及服务器升级目标版本信息判定需要升级时返回的更新信息,所述更新信息包括增量更新包信息; 客户端向服务器发送下载请求信息,该下载请求信息中包括所述增量更新包信息; 客户端接收服务器发送的与所述增量更新包信息对应的增量更新包,并根据所述增量更新包进行更新。
2.根据权利要求I所述的软件更新方法,其特征在于所述增量更新包包括根据服务器升级目标版本确定的差值文件列表的集合。
3.根据权利要求2所述的软件更新方法,其特征在于所述增量更新包信息由所述服 务器根据所述服务器升级目标版本信息获取。
4.根据权利要求3所述的软件更新方法,其特征在于,所述增量更新包由所述服务器通过所述服务器升级目标版本跟上一个升级目标版本之间的差值文件列表与上一个增量更新包的并集生成。
5.根据权利要求4所述的软件更新方法,其特征在于,所述增量更新包与服务器升级目标版本的主版本相对应。
6.根据权利要求2所述的软件更新方法,其特征在于所述增量更新包信息由所述服务器根据所述客户端版本信息以及所述服务器升级目标版本信息获取。
7.根据权利要求6所述的软件更新方法,其特征在于,所述增量更新包由所述服务器通过客户端版本与服务器升级目标版本之间的差值文件列表生成。
8.根据权利要求I至7任意一项所述的软件更新方法,其特征在于,所述更新信息还包括增量更新包的MD5信息和/或增量更新包的地址信息。
9.一种软件更新方法,其特征在于,包括步骤 服务器接收升级查询信息,所述升级查询信息包括客户端版本信息; 根据客户端版本信息以及服务器升级目标版本信息判断是否需要升级,若是,向客户端返回更新信息,所述更新信息包括增量更新包信息; 接收下载请求信息,该下载请求信息中包括所述增量更新包信息,并将该增量更新包信息对应的增量更新包发送给客户端进行更新。
10.根据权利要求9所述的软件更新方法,其特征在于所述增量更新包包括根据服务器升级目标版本确定的差值文件列表的集合。
11.根据权利要求10所述的软件更新方法,其特征在于根据所述服务器升级目标版本信息获取所述增量更新包信息。
12.根据权利要求11所述的软件更新方法,其特征在于,通过所述服务器升级目标版本跟上一个升级目标版本之间的差值文件列表与上一个增量更新包的并集生成所述增量更新包。
13.根据权利要求12所述的软件更新方法,其特征在于,所述增量更新包与服务器升级目标版本的主版本相对应。
14.根据权利要求10所述的软件更新方法,其特征在于根据所述客户端版本信息以及所述服务器升级目标版本信息获取所述增量更新包信息。
15.根据权利要求14所述的软件更新方法,其特征在于 通过客户端版本与所述服务器升级目标版本之间的差值文件列表生成所述增量更新包; 或者 服务器根据客户端版本与所述服务器升级目标版本之间的差值文件列表实时生成所述增量更新包。
16.根据权利要求10至15任意一项所述的软件更新方法,其特征在于,所述更新信息还包括增量更新包的MD5信息和/或增量更新包的地址信息。
17.一种软件更新系统,其特征在于,包括客户端,所述客户端包括 第一信息收发模块,用于向服务器发送升级查询信息,接收服务器根据客户端版本信息以及服务器升级目标版本信息判定需要升级时返回的更新信息,并向服务器发送下载请求信息,接收服务器发送的增量更新包,所述升级查询信息包括所述客户端版本信息,所述更新信息、所述下载请求信息中包括所述增量更新包信息,所述增量更新包与所述增量更新包信息对应; 升级模块,用于根据所述第一信息收发模块接收的增量更新包进行更新。
18.根据权利要求17所述的软件更新系统,其特征在于,所述增量更新包包括根据服务器升级目标版本确定的差值文件列表的集合。
19.根据权利要求18所述的软件更新系统,其特征在于,所述增量更新包与所述服务器升级目标版本的主版本相对应。
20.根据权利要求18所述的软件更新系统,其特征在于,所述增量更新包由服务器通过客户端版本与所述服务器升级目标版本之间的差值文件列表生成。
21.根据权利要求17至20任意一项所述的软件更新系统,其特征在于,所述更新信息还包括增量更新包的MD5信息和/或增量更新包的地址信息。
22.—种软件更新系统,其特征在于,包括服务器,所述服务器包括 信息收发模块,用于接收升级查询信息以及下载请求信息,所述升级查询信息包括客户端版本信息,所述下载请求信息中包括增量更新包信息; 升级判定模块,用于根据客户端版本信息以及服务器升级目标版本信息判断是否需要升级,并在判定需要升级时,向客户端返回更新信息,所述更新信息包括增量更新包信息; 下载模块,用于根据所述下载请求信息将增量更新包信息对应的增量更新包通过所述信息收发模块向客户端发送。
23.根据权利要求22所述的软件更新系统,其特征在于,所述增量更新包包括根据服务器升级目标版本确定的差值文件列表的集合。
24.根据权利要求23所述的软件更新系统,其特征在于,所述增量更新包与所述服务器升级目标版本的主版本相对应。
25.根据权利要求24所述的软件更新系统,其特征在于,还包括增量更新包生成单元,用于通过所述服务器升级目标版本跟上一个升级目标版本之间的差值文件列表与上一个增量更新包的并集生成所述增量更新包。
26.根据权利要求23所述的软件更新系统,其特征在于,还包括增量更新包生成单元,用于通过客户端版本与所述服务器升级目标版本之间的差值文件列表生成所述增量更新包。
27.根据权利要求23至26任意一项所述的软件更新系统,其特征在于,所述更新信息还包括增量更新包的MD5信息和/或增量更新包的地址信息。
28.一种包含计算机可读程序的存储介质,其特征在于,当该存储介质中的计算机可读程序执行时,执行上述权利要求I至16任意一项中的软件更新方法。
全文摘要
一种软件更新方法及系统,该方法包括客户端向服务器发送升级查询信息,所述升级查询信息包括客户端版本信息;客户端接收服务器根据所述客户端版本信息以及服务器升级目标版本信息判定需要升级时返回的更新信息,所述更新信息包括增量更新包信息;客户端向服务器发送下载请求信息,该下载请求信息中包括所述增量更新包信息;客户端接收服务器发送的与所述增量更新包信息对应的增量更新包,并根据所述增量更新包进行更新。通过本发明方案进行升级,无需从服务器下载全部的完整安装包,极大地减少了升级时下载的数据量,从而下载时所占用的带宽也少,节约了带宽,提高了下载成功率,减少了升级更新的耗时时间。
文档编号G06F9/445GK102724308SQ20121019503
公开日2012年10月10日 申请日期2012年6月13日 优先权日2012年6月13日
发明者刘杨, 熊奇, 聂科峰, 陈起儒 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1