CN106502696B - 一种升级安装包的生成方法及相关装置 - Google Patents

一种升级安装包的生成方法及相关装置 Download PDF

Info

Publication number
CN106502696B
CN106502696B CN201610951228.8A CN201610951228A CN106502696B CN 106502696 B CN106502696 B CN 106502696B CN 201610951228 A CN201610951228 A CN 201610951228A CN 106502696 B CN106502696 B CN 106502696B
Authority
CN
China
Prior art keywords
version
application program
adjacent
versions
upgraded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201610951228.8A
Other languages
English (en)
Other versions
CN106502696A (zh
Inventor
张佳宝
宋永周
高翊伦
黎裕钊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610951228.8A priority Critical patent/CN106502696B/zh
Publication of CN106502696A publication Critical patent/CN106502696A/zh
Application granted granted Critical
Publication of CN106502696B publication Critical patent/CN106502696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明实施例中公开了一种升级安装包的生成方法及相关装置,从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;分别确定所述两个非相邻版本各自对应的应用程序安装包;依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。当应用程序从低版本升级到非相邻的高版本时,不必逐一下载并安装从低版本升级到非相邻的高版本间的中间版本对应的升级安装包,仅需下载并安装上述根据两个非相邻版本各自对应的应用程序安装包的差异生成的升级安装包,省去了两个版本间的中间版本的升级过程,提高升级效率。

Description

一种升级安装包的生成方法及相关装置
技术领域
本发明涉及数据处理技术领域,具体涉及一种升级安装包的生成方法及相关装置。
背景技术
应用程序的升级指的是应用程序从低版本向高版本的更新。由于高版本的应用程序常常修复了低版本应用程序的部分漏洞,所以通过应用程序的升级,能够提升应用程序的性能,提高用户体验。
由于现有技术中只提供了每两个相邻版本之间对应的升级安装包,所述每两个相邻版本之间对应的升级安装包为将应用程序由低版本升级到与其相邻的高版本过程中,所需下载并安装的升级安装包。如果应用程序当前需要升级的低版本与期望升级到的高版本之间存在多个可升级版本时,用户在将应用程序从低版本升级到高版本过程中,需要逐一下载并安装从低版本到高版本间的每两个相邻可升级版本对应的升级安装包,增加了应用程序的升级时间,升级效率低。
发明内容
有鉴于此,本发明实施例提供一种升级安装包的生成方法及相关装置,在将应用程序从低版本升级到非相邻的高版本的过程中,省去了两个版本间的中间版本的升级过程,提高升级效率。
为实现上述目的,本发明实施例提供如下技术方案:
一种升级安装包的生成方法,所述方法包括:
从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
分别确定所述两个非相邻版本各自对应的应用程序安装包;
依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
一种升级安装包的生成装置,所述装置包括:
版本筛选模块,用于从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
应用程序安装包确定模块,用于分别确定所述两个非相邻版本各自对应的应用程序安装包;
升级安装包生成模块,用于依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
基于上述技术方案,本发明实施例中公开了一种升级安装包的生成方法及相关装置,从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;分别确定所述两个非相邻版本各自对应的应用程序安装包;依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。当应用程序从低版本升级到非相邻的高版本时,不必逐一下载并安装从低版本升级到非相邻的高版本间的中间版本对应的升级安装包,仅需下载并安装上述根据两个非相邻版本各自对应的应用程序安装包的差异生成的升级安装包,省去了两个版本间的中间版本的升级过程,提高升级效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种升级安装包的生成方法的流程图;
图2为本发明实施例提供的另一种升级安装包的生成方法的流程图;
图3为本发明实施例提供的一种从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本方法的流程图;
图4为本发明实施例提供的另一种从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本方法的流程图;
图5为本发明实施例提供的一应用程序的各个版本示意图;
图6为本发明实施例提供的一应用程序各个源版本号与目标版本号对应信息表;
图7为本发明实施例提供的一通过脚本传入源版本号和目的版本号,使用新版Tendiff工具制作升级安装包的程序示意图;
图8为本发明实施例提供的一种应用程序跨版本升级路径选择界面示意图;
图9为本发明实施例提供的一种应用程序跨版本升级界面示意图;
图10为本发明实施例提供的一种升级安装包的生成装置的结构框图;
图11为本发明实施例提供的一种升级安装包的生成装置的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种升级安装包的生成方法流程图,该方法可应用于服务器,参照图1,所述方法可以包括:
步骤S100、从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
可选的,本发明实施例中,从应用程序对应的所有版本中,按照预设筛选条件筛选出的任意两个非相邻版本中,其中一个版本可以为应用程序当前版本,或者应用程序当前版本之前的任意版本,另一版本可以为应用程序最高版本,即应用程序更新时间最晚的版本,其中,在游戏客户端版本升级的场景下,是直接升级到最高版本,在其他类型的软件程序场景下,可以有选择的进行版本升级,即可以依据应用程序不同版本对应的用户量确定的更新时间晚于待升级版本的版本,本发明实施例中不做具体限定。
步骤S110、分别确定所述两个非相邻版本各自对应的应用程序安装包;
需要说明的是,两个非相邻版本各自对应的应用程序安装包为提供给客户端分别下载安装应用程序的两个非相邻版本过程中各自对应的安装包。
步骤S120、依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
本发明实施例中,两个非相邻版本各自对应的应用程序安装包的差异为两个非相邻版本各自对应的应用程序安装包中文件的差异,具体可以为两个非相邻版本各自对应的应用程序安装包中不同的文件,还可以为两个非相邻版本中的高版本比低版本中新增的文件或者是减少的文件,本发明实施例中不做具体限定。
可选的,本发明实施例中公开的依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包的过程包括:对所述两个非相邻版本各自对应的应用程序安装包中的文件进行差异比对,获取差异文件;将所述差异文件进行打包,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
可选的,本发明实施例中可以将两个非相邻版本各自对应的应用程序安装包中的文件进行二进制差异比对,获取得到二进制差异文件,将所述二进制差异文件进行打包,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。需要说明的是,本发明实施例中所采用的差异比对方法不做具体限定。
需要说明的是,本发明实施例中当应用程序从低版本升级到非相邻的高版本时,不必逐一下载并安装从低版本升级到非相邻的高版本间的中间版本对应的升级安装包,仅需下载并安装上述根据两个非相邻版本各自对应的应用程序安装包的差异生成的升级安装包,省去了两个版本间的中间版本的升级过程,提高升级效率。而且,在一些情况下,根据两个非相邻版本各自对应的应用程序安装包的差异生成的升级安装包的大小会小于现有技术中将应用程序从低版本升级到高版本过程中,逐一下载并安装的从低版本到高版本间的中间版本对应的所有升级安装包的大小总和,从而通过下载并安装本发明实施例中公开的升级安装包,可以减小升级过程中的下载量,节省带宽资源,从而减少应用程序的升级时间,提高用户下载更新体验。
例如:从一应用程序的1版本升级到2版本过程中的升级安装包中添加了文件1,而在将该应用程序从2版本升级到3版本过程中的升级安装包中又删除了该文件1,利用现有技术中的方法,从1版本升级到3版本的过程中,需要逐一下载从1版本升级到2版本的升级安装包和从2版本升级到3版本的升级安装包,而通过本发明实施例中的技术方案,利用1版本与3版本的文件差异制作出的从1版本直接升级到3版本的升级安装包中则并不需要携带该文件1,由此可知,本发明实施例与现有技术相比,从1版本升级到3版本过程中所需下载安装的升级安装包中减少了文件1的大小,从而减少了应用程序从1版本升级到3版本的升级时间。
而且,由于不同的相邻可升级版本对应的升级安装包中可能存在重复的文件,现有技术中,逐一下载并安装从低版本到非相邻高版本间的每两个相邻可升级版本对应的升级安装包的过程中,容易造成文件的重复下载更新,而本申请中将应用程序从低版本到非相邻高版本的过程中,无需逐一下载并安装从低版本到非相邻高版本间的中间版本对应的升级安装包,仅仅下载根据两个非相邻版本各自对应的应用程序安装包的差异生成的升级安装包即可,减少了重复文件的下载,进一步减少应用程序的升级时间,提高升级效率。
可选的,图2示出了本发明实施例提供的另外一种升级安装包的生成方法流程图,该方法可以包括:
步骤S200、从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
步骤S210、分别确定所述两个非相邻版本各自对应的应用程序安装包;
步骤S220、依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包;
本发明实施例中的步骤S200-S220与上述实施例中的步骤S100-S120相对应,具体内容请参照上述实施例步骤S100-S120中公开的内容,本发明实施例不做详细描述。
步骤S230、接收客户端发送的应用程序升级请求;
所述应用程序升级请求中至少携带客户端应用程序当前需要升级的待升级版本号;所述应用程序升级请求中携带的客户端应用程序当前需要升级的待升级版本号可以为客户端应用程序当前所在的版本号,还可以为用户随机选择的版本号,本发明实施例中不做具体限定。
步骤S240、响应于所述应用程序升级请求,确定与待升级版本号非相邻的目标版本号;
所述目标版本号可以为应用程序最新版本,即应用程序更新时间最晚的版本,还可以为依据应用程序不同版本对应的用户量确定的更新时间晚于待升级版本的版本,本发明实施例中不做具体限定。
步骤S250、获取与所述待升级版本号和所述目标版本号对应的升级安装包;
需要说明的是,本发明实施例中可以从预存的升级安装包中获取与所述待升级版本号和所述目标版本号对应的升级安装包,还可以获取依据待升级版本号和目标版本号实时创建的升级安装包。
步骤S260、返回与所述待升级版本号和所述目标版本号对应的升级安装包的地址。
所述升级安装包的地址可以为URL(Uniform Resource Locator,统一资源定位符)地址,本发明实施例中不做具体限定。
本发明实施例中当应用程序从低版本升级到非相邻的高版本时,不必逐一下载并安装从低版本升级到非相邻的高版本间的中间版本对应的升级安装包,仅需下载并安装上述根据两个非相邻版本各自对应的应用程序安装包的差异生成的升级安装包,省去了两个版本间的中间版本的升级过程,提高升级效率。
可选的,图3示出了本发明实施例提供的一种从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本方法流程图,该方法可以包括:
步骤S300、获取用户对所述应用程序的不同版本的需求信息;
用户对所述应用程序的不同版本的需求信息为服务器获取的用户对应用程序不同版本的需求,即应用程序对应的目标群体对不同版本的需求,例如:应用程序某一版本对应的目标群体数量,一应用程序一段时间内流失的大部分目标群体所在的版本等,本发明实施例不做具体限定。
步骤S310、根据所述需求信息,从应用程序对应的所有版本中筛选出任意两个非相邻版本。
举例来说,当根据所述需求信息,确定一应用程序某一版本对应的用户量比较少时,则将该用户量比较少的版本作为两个非相邻版本中的待升级版本,将该应用程序对应的最新版本作为两个非相邻版本中的期望升级到的目标版本。再如,将统计得到的一应用程序在最近一个月内流失的大部分用户所在的版本作为两个非相邻版本中的待升级版本,将该应用程序对应的最新版本作为两个非相邻版本中的期望升级到的目标版本。
可选的,图4示出了本发明实施例提供的另一种从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本方法流程图,该方法可以包括:
步骤S400、从应用程序对应的所有版本中,确定一个目标版本作为两个非相邻版本中的高版本;
可选的,可以将应用程序的最新版本确定为两个非相邻版本中的高版本,还可以将应用程序对应的用户量最多的版本确定为两个非相邻版本中的高版本,本发明实施例中不做具体限定。
步骤S410、按照所述应用程序的版本更新时间从晚到早的顺序,选取出从所述目标版本开始的至少三个版本所组成的版本集合;
本发明实施例中更新时间越晚的版本级别越高,本发明实施例中的版本升级是从低版本升级到高版本,即从更新时间早的版本升级到更新时间晚的版本。
需要说明的是,其中一种情况,本发明实施例中所述版本集合中的每两个相邻版本对应的升级安装包的大小之和超过预设大小阈值,每两个相邻版本对应的升级安装包指的是从每两个相邻版本中的低版本升级到高版本过程中所需下载安装的升级安装包。
第二种情况,本发明实施例中所述版本集合中的每两个相邻版本对应的升级安装包的大小之和超过预设大小阈值,且版本数量最少,每两个相邻版本对应的升级安装包指的是从每两个相邻版本中的低版本升级到高版本过程中所需下载安装的升级安装包。
另一种情况,所述版本集合中的每两个相邻版本各自对应的应用程序安装包之间的重复文件数量之和超过预设数量阈值,每两个相邻版本各自对应的应用程序安装包之间的重复文件数量指的是,每两个相邻版本中低版本对应的应用程序安装包与高版本对应的应用程序安装包之间的重复文件数量。
步骤S420、将所述版本集合中更新时间最早的版本确定为两个非相邻版本中的低版本。
所述版本集合中更新时间最早的版本即为版本等级最低的版本,将其确定为两个非相邻版本中的低版本。
本发明实施例中公开的升级安装包的生成方法不仅可以应用于客户端自动更新场景中,还可以应用于制作手动升级补丁场景中。下面以客户端自动更新场景为例,详细说明本发明实施例中公开的上述升级安装包的生成方法的具体过程:
1、如图5所示,为一应用程序的各个版本示意图,现有技术中在将应用程序从3.7.5.0版本升级到3.8.5.0版本的过程中,需要逐一下载从3.7.5.0-3.7.6.0-3.7.7.0-3.7.8.0-3.7.9.0-3.8.0.0-3.8.1.0-3.8.2.0-3.8.3.0-3.8.4.0-3.8.5.0之间的各个升级安装包,而通过本发明实施例中的技术方案,可以依据3.7.5.0版本与3.8.5.0版本的差异,直接制作一个从3.7.5.0版本升级到3.8.5.0版本的升级安装包。
其中,在筛选出任意两个非相邻版本的过程中,可以在图6所示的表中,获取应用程序各个相邻的源版本号与目标版本号对应的自动包的大小,以及重复文件数量,自动包的大小为从一源版本升级到目标版本过程中所需下载安装的升级安装包的大小,重复文件数量为一源版本对应的应用程序安装包与目标版本对应的应用程序安装包之间的重复文件数量。图6所示的表中还记载有由各个源版本号升级到目标版本号所需要的升级时间以及升级日期。
2、可以先确定最新版本号3.8.5.0为两个非相邻版本中的高版本号,然后依据自动包的大小与重复文件数量中的至少一个,按照本发明实施例公开的上述方法确定出两个非相邻版本中的低版本号,例如:确定出从应用程序从3.7.5.0版本升级到3.8.5.0版本过程中,单位时间段内的自动包的大小大概为53M,大于预设自动包大小20M,则将3.7.5.0确定为待升级版本。
3、通过脚本传入源版本号和目的版本号,使用新版Tendiff工具制作自动升级包,图7为通过脚本传入源版本号和目的版本号,使用新版Tendiff工具制作升级安装包的程序。
结合如下表1所示,为旧版tendiff与新版tendiff相比,各自分别采用现有技术中的升级方式与本发明实施例中的升级方式升级过程中各自所需耗时以及下载安装的升级安装包大小比较。
由于新版Tendiff工具安装加速的功能,由表1可知,用户使用跨版本升级时,可以大幅减少下载量,缩减升级安装包的下载时间。
表1
4、在Webportal界面上配置跨版本升级路径,用户即可通过配置的路径进行升级。图8为在应用程序界面中向用户展示的跨版本升级路径,用户通过点击界面中的跨版本升级路径,即可实现跨版本升级。
5、用户点击跨版本升级路径后,页面跳转到图9,客户在如图9的应用程序跨版本升级界面中进行应用程序版本升级的时候,是直接下载并安装一个从3.7.5.0版本升级到3.8.5.0版本的升级安装包,由于图9的应用程序跨版本升级界面与现有技术中应用程序版本升级界面保持一致,客户在如图9的应用程序跨版本升级界面中进行应用程序跨版本升级的时候,与现有技术相比,可以明显感知升级时间缩短。
下面对本发明实施例提供的升级安装包的生成装置进行介绍,下文描述的升级安装包的生成装置可与上文升级安装包的生成方法相互对应参照。
图10为本发明实施例提供的升级安装包的生成装置的结构框图,参照图10,该升级安装包的生成装置可以包括:
版本筛选模块100,用于从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
应用程序安装包确定模块110,用于分别确定所述两个非相邻版本各自对应的应用程序安装包;
升级安装包生成模块120,用于依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
基于上述升级安装包的生成装置实施例,本发明还可从以下模块中选取合适单元组成新的升级安装包的生成装置,具体组成方式可对应方法实施例中的相关描述进行确定,本实施例不再赘述。
所述升级安装包生成模块包括:
差异比对模块,用于对所述两个非相邻版本各自对应的应用程序安装包中的文件进行差异比对,获取差异文件;
升级安装包生成子模块,用于将所述差异文件进行打包,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
还包括:
应用程序升级请求接收模块,用于接收客户端发送的应用程序升级请求,所述应用程序升级请求中至少携带客户端应用程序当前需要升级的待升级版本号;
目标版本号确定模块,用于响应于所述应用程序升级请求,确定与待升级版本号非相邻的目标版本号;
升级安装包获取模块,用于获取与所述待升级版本号和所述目标版本号对应的升级安装包;
地址返回模块,用于返回与所述待升级版本号和所述目标版本号对应的升级安装包的地址。
所述版本筛选模块包括:
版本需求信息获取模块,用于获取用户对所述应用程序的不同版本的需求信息;
版本筛选子模块,用于根据所述需求信息,从应用程序对应的所有版本中筛选出任意两个非相邻版本。
所述版本筛选模块包括:
第一高版本确定模块,用于从应用程序对应的所有版本中,确定一个目标版本作为两个非相邻版本中的高版本;
第一版本集合确定模块,用于按照所述应用程序的版本更新时间从晚到早的顺序,选取出从所述高版本开始的至少三个版本所组成的版本集合,所述版本集合中的每两个相邻版本对应的升级安装包的大小之和超过预设大小阈值;
第一低版本确定模块,用于将所述版本集合中更新时间最早的版本确定为两个非相邻版本中的低版本。
所述版本筛选模块包括:
第二高版本确定模块,用于从应用程序对应的所有版本中,确定一个目标版本作为两个非相邻版本中的高版本;
第二版本集合确定模块,用于按照所述应用程序的版本更新时间从晚到早的顺序,选取出从所述目标版本开始的至少三个版本所组成的版本集合,所述版本集合中的每两个相邻版本各自对应的应用程序安装包之间的重复文件数量之和超过预设数量阈值;
第二低版本确定模块,用于将所述版本集合中更新时间最早的版本确定为两个非相邻版本中的低版本。
可选的,升级安装包的生成装置可以为硬件设备,上文描述的模块可以设置于升级安装包的生成装置内的功能模块。图11示出了升级安装包的生成装置的硬件结构框图,参照图11,升级安装包的生成装置可以包括:处理器1,通信接口2,存储器3和通信总线4;其中处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;可选的,通信接口2可以为通信模块的接口,如GSM模块的接口;
处理器1,用于执行程序;存储器3,用于存放程序;程序可以包括程序代码,所述程序代码包括计算机操作指令;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路;存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,程序可具体用于:
从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
分别确定所述两个非相邻版本各自对应的应用程序安装包;
依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
综上所述:
本发明实施例中公开了一种升级安装包的生成方法及相关装置,从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;分别确定所述两个非相邻版本各自对应的应用程序安装包;依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。当应用程序从低版本升级到非相邻的高版本时,不必逐一下载并安装从低版本升级到非相邻的高版本间的中间版本对应的升级安装包,仅需下载并安装上述根据两个非相邻版本各自对应的应用程序安装包的差异生成的升级安装包,省去了两个版本间的中间版本的升级过程,提高升级效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种升级安装包的生成方法,其特征在于,所述方法包括:
从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
分别确定所述两个非相邻版本各自对应的应用程序安装包;
依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包;
所述从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本的过程包括:
获取用户对所述应用程序的不同版本的需求信息;
根据所述需求信息,从应用程序对应的所有版本中筛选出任意两个非相邻版本包括:
将用户量少的版本作为两个非相邻版本中的待升级版本,将应用程序对应的最新版本作为两个非相邻版本中的期望升级到的目标版本;或;将流失用户多的版本作为两个非相邻版本中的待升级版本,将该应用程序对应的最新版本作为两个非相邻版本中的期望升级到的目标版本。
2.根据权利要求1所述的方法,其特征在于,所述依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包的过程包括:
对所述两个非相邻版本各自对应的应用程序安装包中的文件进行差异比对,获取差异文件;
将所述差异文件进行打包,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
3.根据权利要求1或2所述的方法,其特征在于,在所述依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包之后,还包括:
接收客户端发送的应用程序升级请求,所述应用程序升级请求中至少携带客户端应用程序当前需要升级的待升级版本号;
响应于所述应用程序升级请求,确定与待升级版本号非相邻的目标版本号;
获取与所述待升级版本号和所述目标版本号对应的升级安装包;
返回与所述待升级版本号和所述目标版本号对应的升级安装包的地址。
4.根据权利要求1所述的方法,其特征在于,所述从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本的过程包括:
从应用程序对应的所有版本中,确定一个目标版本作为两个非相邻版本中的高版本;
按照所述应用程序的版本更新时间从晚到早的顺序,选取出从所述高版本开始的至少三个版本所组成的版本集合,所述版本集合中的每两个相邻版本对应的升级安装包的大小之和超过预设大小阈值;
将所述版本集合中更新时间最早的版本确定为两个非相邻版本中的低版本。
5.根据权利要求1所述的方法,其特征在于,所述从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本的过程包括:
从应用程序对应的所有版本中,确定一个目标版本作为两个非相邻版本中的高版本;
按照所述应用程序的版本更新时间从晚到早的顺序,选取出从所述目标版本开始的至少三个版本所组成的版本集合,所述版本集合中的每两个相邻版本各自对应的应用程序安装包之间的重复文件数量之和超过预设数量阈值;
将所述版本集合中更新时间最早的版本确定为两个非相邻版本中的低版本。
6.一种升级安装包的生成装置,其特征在于,所述装置包括:
版本筛选模块,用于从应用程序对应的所有版本中,按照预设筛选条件筛选出任意两个非相邻版本;
应用程序安装包确定模块,用于分别确定所述两个非相邻版本各自对应的应用程序安装包;
升级安装包生成模块,用于依据所述两个非相邻版本各自对应的应用程序安装包的差异,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包;
所述版本筛选模块包括:
版本需求信息获取模块,用于获取用户对所述应用程序的不同版本的需求信息;
版本筛选子模块,用于根据所述需求信息,从应用程序对应的所有版本中筛选出任意两个非相邻版本包括:
将用户量少的版本作为两个非相邻版本中的待升级版本,将应用程序对应的最新版本作为两个非相邻版本中的期望升级到的目标版本;或;将流失用户多的版本作为两个非相邻版本中的待升级版本,将该应用程序对应的最新版本作为两个非相邻版本中的期望升级到的目标版本。
7.根据权利要求6所述的装置,其特征在于,所述升级安装包生成模块包括:
差异比对模块,用于对所述两个非相邻版本各自对应的应用程序安装包中的文件进行差异比对,获取差异文件;
升级安装包生成子模块,用于将所述差异文件进行打包,生成将所述应用程序从所述两个非相邻版本中的低版本升级到高版本所需下载安装的升级安装包。
8.根据权利要求6或7所述的装置,其特征在于,还包括:
应用程序升级请求接收模块,用于接收客户端发送的应用程序升级请求,所述应用程序升级请求中至少携带客户端应用程序当前需要升级的待升级版本号;
目标版本号确定模块,用于响应于所述应用程序升级请求,确定与待升级版本号非相邻的目标版本号;
升级安装包获取模块,用于获取与所述待升级版本号和所述目标版本号对应的升级安装包;
地址返回模块,用于返回与所述待升级版本号和所述目标版本号对应的升级安装包的地址。
9.根据权利要求6所述的装置,其特征在于,所述版本筛选模块包括:
第一高版本确定模块,用于从应用程序对应的所有版本中,确定一个目标版本作为两个非相邻版本中的高版本;
第一版本集合确定模块,用于按照所述应用程序的版本更新时间从晚到早的顺序,选取出从所述高版本开始的至少三个版本所组成的版本集合,所述版本集合中的每两个相邻版本对应的升级安装包的大小之和超过预设大小阈值;
第一低版本确定模块,用于将所述版本集合中更新时间最早的版本确定为两个非相邻版本中的低版本。
10.根据权利要求6所述的装置,其特征在于,所述版本筛选模块包括:
第二高版本确定模块,用于从应用程序对应的所有版本中,确定一个目标版本作为两个非相邻版本中的高版本;
第二版本集合确定模块,用于按照所述应用程序的版本更新时间从晚到早的顺序,选取出从所述目标版本开始的至少三个版本所组成的版本集合,所述版本集合中的每两个相邻版本各自对应的应用程序安装包之间的重复文件数量之和超过预设数量阈值;
第二低版本确定模块,用于将所述版本集合中更新时间最早的版本确定为两个非相邻版本中的低版本。
CN201610951228.8A 2016-10-26 2016-10-26 一种升级安装包的生成方法及相关装置 Active CN106502696B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610951228.8A CN106502696B (zh) 2016-10-26 2016-10-26 一种升级安装包的生成方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610951228.8A CN106502696B (zh) 2016-10-26 2016-10-26 一种升级安装包的生成方法及相关装置

Publications (2)

Publication Number Publication Date
CN106502696A CN106502696A (zh) 2017-03-15
CN106502696B true CN106502696B (zh) 2019-09-17

Family

ID=58321215

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610951228.8A Active CN106502696B (zh) 2016-10-26 2016-10-26 一种升级安装包的生成方法及相关装置

Country Status (1)

Country Link
CN (1) CN106502696B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107643895A (zh) * 2017-09-29 2018-01-30 郑州云海信息技术有限公司 一种软件打包方法和装置
CN108491214A (zh) * 2018-02-08 2018-09-04 北京中科江南信息技术股份有限公司 应用系统升级部署的管理方法和管理系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统
CN103218239A (zh) * 2013-04-09 2013-07-24 沈阳美行科技有限公司 一种支持导航机地图版本增量更新版本的方法
CN103973475A (zh) * 2013-02-05 2014-08-06 腾讯科技(深圳)有限公司 差异补丁包生成方法及下载方法、服务器、客户端
CN105159724A (zh) * 2015-09-15 2015-12-16 青岛海信移动通信技术股份有限公司 一种软件跨版本升级的方法、客户端及服务器
CN103095838B (zh) * 2013-01-16 2016-03-30 百度时代网络技术(北京)有限公司 一种通过下载增量升级包来升级安卓智能手机软件的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102799445A (zh) * 2012-05-03 2012-11-28 陈昊 一种基于Android平台的应用升级方法及系统
CN103095838B (zh) * 2013-01-16 2016-03-30 百度时代网络技术(北京)有限公司 一种通过下载增量升级包来升级安卓智能手机软件的方法
CN103973475A (zh) * 2013-02-05 2014-08-06 腾讯科技(深圳)有限公司 差异补丁包生成方法及下载方法、服务器、客户端
CN103218239A (zh) * 2013-04-09 2013-07-24 沈阳美行科技有限公司 一种支持导航机地图版本增量更新版本的方法
CN105159724A (zh) * 2015-09-15 2015-12-16 青岛海信移动通信技术股份有限公司 一种软件跨版本升级的方法、客户端及服务器

Also Published As

Publication number Publication date
CN106502696A (zh) 2017-03-15

Similar Documents

Publication Publication Date Title
CN108111331B (zh) 更新数据包的获取方法、装置、存储介质、处理器及系统
CN105867947B (zh) 预置应用程序升级后的数据处理方法及装置
CN109391509A (zh) 一种更新应用程序的方法、系统及应用服务器
JP3942941B2 (ja) 通信装置及びプラグインモジュール制御方法及びコンピュータに実行させるためのプログラム及びコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
TWI246840B (en) System and method for temporary application component deletion and reload on a wireless device
CN105389191A (zh) 一种基于局域网的软件升级方法、装置和系统
CN110175042A (zh) 一种固件升级方法、装置及其相关设备
WO2006005674A1 (en) Priorization of application component distribution
WO2008017001A2 (en) Sharing live appliances
CN101009589A (zh) 一种软件升级方法及系统
CN108200070B (zh) 一种生成榜单的方法及装置
CN105930197A (zh) 一种软件升级的方法及电子设备
CN106502696B (zh) 一种升级安装包的生成方法及相关装置
CN111897564A (zh) 一种应用更新方法及系统
CN109840096A (zh) 操作系统的安装方法及装置
CN110247857B (zh) 限流方法及装置
CN109614559A (zh) 数据处理方法及装置
CN110784520A (zh) 文件下载方法、装置及电子设备
CN107729072A (zh) 控件属性读取方法、装置、终端及可读存储介质
CN106201588A (zh) 终端的软件升级方法和终端
CN111381957A (zh) 面向分布式平台的服务实例精细化调度方法及系统
US9946728B2 (en) Cloud service system and method thereof
CN111338679A (zh) 一种软件升级方法、装置以及相关设备
CN107479923A (zh) 应用程序升级方法、装置及显示终端
CN105204914B (zh) 应用软件下载方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant