一种增量升级方法及服务器的制作方法

文档序号:6340772阅读:105来源:国知局
专利名称:一种增量升级方法及服务器的制作方法
技术领域
本发明涉及数据处理技术领域,尤其涉及一种增量升级方法及服务器。

背景技术
软件的在线升级是一种很常见的软件技术。在线升级有两种情况“全量升级”和 “增量升级”。其中,全量升级,是指整个软件包文件的覆盖升级,比如50M的软件升级,就要 下载新版本的50M文件,然后将新版本的文件完全覆盖旧版本文件实现升级;增量升级,是 只下载新旧版本的差异部分即差分包,比如50M的软件升级,也许只要下载IM的差分包,然 后将该差分包增加至旧版本文件中实现升级。可见,增量升级在下载流量上有着明显的优 势。但是,随着软件版本的逐渐升级,不同版本间的差分包越来越多,针对不同客户端 的不同版本所需要配置的升级策略也越来越多,这导致软件开发管理的复杂度急剧上升。现有技术中,在增量升级时,由服务器管理员手动计算出所有不同版本间的差分 包,然后将差分包存储在服务器中,并手动配置不同版本之间的升级策略。待客户端访问服 务器请求版本增量升级时,根据升级策略,客户端获取差分包进行升级。该增量升级方法需 要预先计算所有的差分包后才能实现客户端的增量升级,而且差分包的计算和升级策略的 配置手动完成,版本升级效率过低,不能满足大量客户端的版本升级需求,而且一定程度了 延误了新版本的开发。

发明内容
本发明实施例提供一种增量升级方法及服务器,能够提高版本升级效率。为了解决上述技术问题,本发明实施例的技术方案如下本发明实施例提供了一种增量升级方法,包括接收客户端的查询请求,所述查询请求中包含所述客户端的待升级版本信息;确定升级版本信息后,计算所述待升级版本信息与所述升级版本信息之间的差分 包;通知所述客户端所述差分包的地址信息,以使所述客户端根据所述地址信息获得 所述差分包后进行增量升级。本发明实施例还提供了一种服务器,包括请求接收单元,用于接收客户端的查询请求,所述查询请求中包含所述客户端的 待升级版本信息;计算单元,用于在确定升级版本信息后,计算所述待升级版本信息与所述升级版 本信息之间的差分包;通知单元,用于通知所述客户端所述差分包的地址信息,以使所述客户端根据所 述地址信息获得所述差分包后进行增量升级。本发明实施例通过将差分包的计算和配置方法内置在服务器中代替人工计算和配置,而且在客户端请求升级时再动态生成客户端所需要的差分包,无需再预先计算所有 的差分包后再执行增量升级,缩短了服务器侧的升级准备过程,在从版本发布到客户端升 级的整个过程中加快了版本的升级,提高了版本升级效率,简化了新版本的发布过程,降低 了系统管理成本,避免了人工操作失误的可能,而且本发明实施例只计算客户端需要的差 分包,而无需计算所有的差分包,由于很多旧版本不一定会升级,也即有一部分差分包是不 需要的,所以本实施例方法也节省了服务器的资源。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可 以根据这些附图获得其他的附图。图1是本发明实施例一种增量升级方法流程图;图2是本发明实施例另一种增量升级方法流程图;图3是本发明实施例一种服务器的结构示意图;图4是本发明实施例另一种服务器的结构示意图。
具体实施例方式为了使本领域技术人员能进一步了解本发明的特征及技术内容,请参阅以下有关 本发明的详细说明与附图,附图仅提供参考与说明,并非用来限制本发明。现有技术中在每发布一个新版本之前需要预先计算出所有不同版本间的差分包, 比如有VI. 0、V2. 0、V3. 0三个版本,现在新开发V4. 0版本,那么就需要制作Dl. 0_4. 0、 D2. 0_4. 0、D3. 0_4. 0、D4. 0_1. 0、D4. 0_2. 0、D4. 0_3. 0 共 6 个增量包,然后把新版本的完整版 本、多个差分包都放到服务器上进行管理,并针对差分包逐一配置正确的升级策略,即指定 每一个差分包可以用于从哪个旧版本升级到哪个新版本及如何获得对应的差分包。而且各 差分包的计算过程和升级策略的配置过程均为管理员手动完成。因此,该增量升级方法的 版本升级效率过低,可能存在较多的人工操作失误,不能满足大量客户端的版本升级需求, 而且一定程度了延误了新版本的开发。基于此,本发明实施例提供了一种增量升级方法和服务器,通过将差分包的计算 和配置方法内置在服务器中代替人工计算和配置,而且在客户端请求升级时,再动态生成 客户端所需要的差分包,无需再预先计算所有的差分包后再执行增量升级,从而加快了版 本升级过程,提高了版本升级效率,简化了新版本的发布过程。下面结合附图和实施例,对本发明的技术方案进行描述。参见图1,为本发明实施例一种增量升级方法流程图。该方法可以包括步骤101,接收客户端的查询请求。当客户端发起查询请求时,由服务器接收该请求,并获取该请求中包含的客户端 的待升级版本信息,也即客户端当前的版本信息,例如当前版本为VI. 0。其中,该查询请求 具体可以是版本升级请求或者补丁请求等,只要该请求中包含了客户端的待升级版本信息即可。步骤102,确定升级版本信息后,计算待升级版本信息与升级版本信息之间的差分 包。服务器在接收到查询请求后,进一步确定升级版本信息,该确定方法可以有多种, 例如根据客户当前的版本信息,按照一定的版本号规则,查询是否有新的完整版本,例如是 否有版本V2.0,V3.0等,若有,则在新版本中确定一个版本作为升级版本。也可以是在客户 端发起的请求中包含了客户端希望升级到的版本信息,例如在请求消息中不仅包含了客户 端当前待升级的版本信息VI. 0,还包含了希望升级到的升级版本信息V3. 0,那么服务器即 可根据该请求确定升级版本信息。确定升级版本信息后,服务器即可根据内置的差分包计算方法计算待升级版本信 息与升级版本信息之间的差分包,该计算方法可以是按照二进制增量升级方法计算,也可 以是按照文件覆盖式增量升级方法计算,这两种方法为现有技术,此处不再赘述。步骤103,通知客户端该差分包的地址信息,以使客户端根据该地址信息获得差分 包后,进行增量升级。服务器在计算获得差分包后,进一步通知客户端该客户端所需求的差分包的地址 信息,进而客户端可以根据该地址信息下载对应的差分包,然后在客户端本地进行增量升 级。本发明实施例通过将差分包的计算和配置方法内置在服务器中代替人工计算和 配置,而且在客户端请求升级时再动态生成客户端所需要的差分包,无需再预先计算所有 的差分包后再执行增量升级,缩短了服务器侧的升级准备过程,在从版本发布到客户端升 级的整个过程中加快了版本的升级,提高了版本升级效率,简化了新版本的发布过程,降低 了系统管理成本,避免了人工操作失误的可能,而且本发明实施例只计算客户端需要的差 分包,而无需计算所有的差分包,由于很多旧版本不一定会升级,也即有一部分差分包是不 需要的,所以本实施例方法也节省了服务器的资源。参见图2,为本发明实施例另一种增量升级方法流程图。该方法可以包括步骤201,接收客户端的查询请求。服务器接收客户端发起的进行版本升级的查询请求,并获取该请求中包含的客户 端的待升级版本信息VI. 0。步骤202,根据版本号规则,查询是否存在新的完整版本,若是则选择最新版本的 信息作为升级版本信息。服务器首先根据版本号规则,在本地的完整版本库中查找是否存在新的完整版 本,若查找到新版本V2. 0, V3.0,则按照版本号规则,将最新的版本V3. 0作为升级版本,还 可以向客户端反馈查询到最新版本V3. 0的信息等,然后转入步骤203。若没有新版本,则可 以反馈客户端未查找到新版本或无需进行版本升级的信息。步骤203,查询是否存储有待升级版本信息与升级版本信息之间的差分包。服务器在确定升级版本V3. 0后,首先查询本地的差分包库中是否存储有该待升 级版本VI. 0和升级版本V3. 0之间的差分包Dl. 0_3. 0,若有,则直接将该差分包Dl. 0_3. 0 发送至客户端,或通知客户端该差分包Dl. 0_3. 0的存储地址,客户端即可根据该地址下载差分包Dl. 0_3. 0,在客户端本地进行增量升级。如果服务器本地的差分包库中没有差分包 Dl. 0_3. 0,则转入步骤204进行计算,还可以向客户端反馈计算差分包Dl. 0_3. 0,请等待等信息。步骤204,根据二进制增量升级方法计算待升级版本信息与升级版本信息之间的 差分包。在本实施例中,采用二进制增量升级的方法计算该差分包Dl. 0_3. 0,也即将版本 V3. 0和版本VI. 0进行二进制比较,计算出差分包,该具体计算方法与现有技术相同,此处 不再赘述。在计算获得差分包后,即可将该差分包存储在服务器的差分包库中,并配置该差 分包的信息,如该差分包应用于版本VI. 0到V3. 0的升级,以及该差分包的存储地址信息如 URL地址等。这样,在另一客户端请求该差分包时,即可直接反馈对应的差分包地址,使客户 端获得差分包,而无需该客户端再等待服务器计算该差分包。步骤205,再次接收到客户端的查询请求后,通知客户端差分包的地址信息,以使 客户端根据该地址信息获得差分包后进行增量升级。在本实施例中,服务器在计算获得差分包并存储、配置完成后,需要等待客户端 查询请求,客户端可以周期查询服务器的状态,以确认服务器是否已经计算并配置完成差 分包。在服务器计算并配置完成差分包后,若接收到该客户端的查询请求,如查询差分包 Dl. 0_3. 0,则可以向该客户端反馈该对应差分包的地址信息,该客户端即可按照该地址下 载差分包,在客户端本地进行增量升级。也可以是服务器在接收到客户端的查询请求后,重 复执行202 203,然后将计算好的差分包地址信息反馈至该客户端。本发明实施例通过将差分包的计算和配置方法内置在服务器中代替人工计算和 配置,而且在客户端请求升级时再动态生成客户端所需要的差分包,无需再预先计算所有 的差分包后再执行增量升级,缩短了服务器侧的升级准备过程,在从版本发布到客户端升 级的整个过程中加快了版本的升级,提高了版本升级效率,简化了新版本的发布过程,降低 了系统管理成本,避免了人工操作失误的可能,而且本发明实施例只计算客户端需要的差 分包,而无需计算所有的差分包,由于很多旧版本不一定会升级,也即有一部分差分包是不 需要的,所以本实施例方法也节省了服务器的资源。而且,本实施例中只要有一个客户端触发了生成差分包的过程,以后同样版本的 别的客户端用户就可以享受到便利,不再需要等待服务器生成差分包的过程。以上是对本发明实施例方法的介绍,下面对实现上述方法的服务器进行介绍。参见图3,为本发明实施例一种服务器的结构示意图。该服务器可以包括请求接收单元301,用于接收客户端的查询请求,该查询请求中包含客户端的待升 级版本信息。计算单元302,用于在确定升级版本信息后,计算待升级版本信息与升级版本信息 之间的差分包。通知单元303,用于通知客户端该差分包的地址信息,以使该客户端根据该地址信 息获得差分包后,进行增量升级。当客户端发起查询请求时,由请求接收单元301接收该请求,并获取该请求中包含的客户端的待升级版本信息,也即客户端当前的版本信息,然后由计算单元302首先确 定升级版本信息,具体的可以是根据客户当前的版本信息,按照一定的版本号规则,查询是 否有新的完整版本,若有,则在新版本中确定一个版本作为升级版本,也可以是在客户端发 起的请求获取客户端希望升级到的版本信息,计算单元302在确定升级版本信息后,即可 根据内置的差分包计算方法计算待升级版本信息与升级版本信息之间的差分包,具体的可 以是按照二进制增量升级方法计算,也可以是按照文件覆盖式增量升级方法计算,在计算 获得差分包后,由通知单元303通知客户端该客户端所需求的差分包的地址信息,进而客 户端可以根据该地址信息下载对应的差分包,然后在客户端本地进行增量升级。本发明实施例通过上述单元将差分包的计算和配置方法内置在服务器中代替人 工计算和配置,而且在客户端请求升级时再动态生成客户端所需要的差分包,无需再预先 计算所有的差分包后再执行增量升级,缩短了服务器侧的升级准备过程,在从版本发布到 客户端升级的整个过程中加快了版本的升级,提高了版本升级效率,简化了新版本的发布 过程,降低了系统管理成本,避免了人工操作失误的可能,而且本发明实施例中的计算单元 只计算客户端需要的差分包,而无需计算所有的差分包,由于很多旧版本不一定会升级,也 即有一部分差分包是不需要的,所以也节省了服务器的资源。参见图4,为本发明实施例另一种服务器的结构示意图。该服务器除了可以包括请求接收单元401,计算单元402和通知单元403之外,还 可以包括版本查询单元404和差分包查询单元405。其中,请求接收单元401与前述实施例中的请求接收单元301类似,此处不再赘 述。版本查询单元404,用于在接收到客户端的查询请求后,根据版本号规则,查询是 否存在新的完整版本,若是则选择最新版本的信息作为升级版本信息。差分包查询单元405,用于在确定升级版本信息后,查询是否存储有待升级版本信 息与升级版本信息之间的差分包,若否,再由计算单元402计算待升级版本信息与升级版 本信息之间的差分包。计算单元402,具体用于在确定升级版本信息后,根据二进制增量升级方法或者文 件覆盖式增量升级方法计算待升级版本信息与升级版本信息之间的差分包。通知单元403,还可以用于再次接收到客户端的查询请求后,通知客户端差分包的 地址信息,以使客户端根据地址信息获得差分包后进行增量升级。当客户端发起查询请求时,由请求接收单元301接收该请求,并获取该请求中包 含的客户端的待升级版本信息,然后由版本查询单元404查询是否存在新的完整版本,若 有,则选择最新版本的信息作为升级版本信息,然后再由差分包查询单元405查询是否存 储有待升级版本信息与升级版本信息之间的差分包,若有则直接向客户端反馈该差分包的 地址,以使客户端在该地址获得对应的差分包进行增量升级;若没有再由计算单元402计 算该差分包,并将该差分包存储在差分包库中,配置差分包的地址信息等,待通知单元403 再次接收到客户端的查询请求后,通知客户端差分包的地址信息,进而客户端可以根据该 地址下载对应的差分包,然后进行增量升级。本发明实施例通过上述单元将差分包的计算和配置方法内置在服务器中代替人 工计算和配置,而且在客户端请求升级时再动态生成客户端所需要的差分包,无需再预先计算所有的差分包后再执行增量升级,缩短了服务器侧的升级准备过程,在从版本发布到 客户端升级的整个过程中加快了版本的升级,提高了版本升级效率,简化了新版本的发布 过程,降低了系统管理成本,避免了人工操作失误的可能,而且本发明实施例中的计算单元 只计算客户端需要的差分包,而无需计算所有的差分包,由于很多旧版本不一定会升级,也 即有一部分差分包是不需要的,所以也节省了服务器的资源。另外,本实施例通过差分包查询单元对差分包进行查询,使得只要有一个客户端 触发了生成差分包的过程,以后同样版本的别的客户端用户就可以享受到便利,不再需要 等待计算单元计算生成差分包的过程。以上服务器中的各单元的具体实现过程请参照前述方法实施例中的相应描述,此 处不再赘述。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的权利要求保护范 围之内。
权利要求
1.一种增量升级方法,其特征在于,包括接收客户端的查询请求,所述查询请求中包含所述客户端的待升级版本信息;确定升级版本信息后,计算所述待升级版本信息与所述升级版本信息之间的差分包;通知所述客户端所述差分包的地址信息,以使所述客户端根据所述地址信息获得所述 差分包后进行增量升级。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括在接收到所述客户端的查询请求后,根据版本号规则,查询是否存在新的完整版本,若 是则选择最新版本的信息作为所述升级版本信息。
3.根据权利要求1所述的方法,其特征在于,所述计算所述待升级版本信息与所述升 级版本信息之间的差分包,具体为根据二进制增量升级方法或者文件覆盖式增量升级方法计算所述待升级版本信息与 所述升级版本信息之间的差分包。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括再次接收到所述客户端的查询请求后,通知所述客户端所述差分包的地址信息。
5.根据权利要求1至4中任意一项所述的方法,其特征在于,所述方法还包括在确定升级版本信息后,查询是否存储有所述待升级版本信息与所述升级版本信息之 间的差分包,若否,再计算所述待升级版本信息与所述升级版本信息之间的差分包。
6.一种服务器,其特征在于,包括请求接收单元,用于接收客户端的查询请求,所述查询请求中包含所述客户端的待升 级版本信息;计算单元,用于在确定升级版本信息后,计算所述待升级版本信息与所述升级版本信 息之间的差分包;通知单元,用于通知所述客户端所述差分包的地址信息,以使所述客户端根据所述地 址信息获得所述差分包后进行增量升级。
7.根据权利要求6所述的服务器,其特征在于,所述服务器还包括版本查询单元,用于在接收到所述客户端的查询请求后,根据版本号规则,查询是否存 在新的完整版本,若是则选择最新版本的信息作为所述升级版本信息。
8.根据权利要求6所述的服务器,其特征在于,所述计算单元,具体用于在确定升级版本信息后,根据二进制增量升级方法或者文件 覆盖式增量升级方法计算所述待升级版本信息与所述升级版本信息之间的差分包。
9.根据权利要求6所述的服务器,其特征在于,所述通知单元,还用于再次接收到所述客户端的查询请求后,通知所述客户端所述差 分包的地址信息,以使所述客户端根据所述地址信息获得所述差分包后进行增量升级。
10.根据权利要求6至9中任意一项所述的服务器,其特征在于,所述服务器还包括差分包查询单元,用于在确定升级版本信息后,查询是否存储有所述待升级版本信息与所述升级版本信息之间的差分包,若否,再由所述计算单元计算所述待升级版本信息与 所述升级版本信息之间的差分包。
全文摘要
本发明实施例提供一种增量升级方法及服务器。一种增量升级方法,包括接收客户端的查询请求,所述查询请求中包含所述客户端的待升级版本信息;确定升级版本信息后,计算所述待升级版本信息与所述升级版本信息之间的差分包;通知所述客户端所述差分包的地址信息,以使所述客户端根据所述地址信息获得所述差分包后进行增量升级。本发明实施例加快了版本升级过程,提高了版本升级效率,简化了新版本的发布过程,降低了系统管理成本,避免了人工操作失误的可能,而且本发明实施例只计算客户端需要的差分包,节省了服务器的资源。
文档编号G06F9/445GK102081536SQ20101061593
公开日2011年6月1日 申请日期2010年12月30日 优先权日2010年12月30日
发明者钟振 申请人:华为终端有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1