CN106708537A - 应用更新方法和装置 - Google Patents
应用更新方法和装置 Download PDFInfo
- Publication number
- CN106708537A CN106708537A CN201710046064.9A CN201710046064A CN106708537A CN 106708537 A CN106708537 A CN 106708537A CN 201710046064 A CN201710046064 A CN 201710046064A CN 106708537 A CN106708537 A CN 106708537A
- Authority
- CN
- China
- Prior art keywords
- resource bundle
- version
- version information
- update
- bag
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000004044 response Effects 0.000 claims description 51
- 230000006854 communication Effects 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 17
- 230000008569 process Effects 0.000 abstract description 6
- 238000010586 diagram Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 2
- 230000000052 comparative effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了应用更新方法和装置。该方法的一具体实施方式包括:接收客户端发送的更新请求,其中,更新请求包括待更新应用的多个资源文件包中每一个资源文件包的版本信息;基于所接收的版本信息,确定是否需要对各个资源文件包更新;对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取目标更新包的下载地址;将所获取的下载地址发送至客户端,以使客户端从下载地址下载目标更新包,并更新待更新应用。该实施方式提高了应用更新的灵活性,减少了应用更新过程中的流量消耗。
Description
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及应用更新方法和装置。
背景技术
随着计算机技术的发展,安装在终端设备的应用的种类越来越丰富。通常,开发人员需要依赖应用管理系统来进行应用的发布、版本更新等管理,用户也需要依赖应用管理系统进行应用的更新等操作。
现有的应用更新方法通常基于应用的当前版本的更新补丁,下载并安装上述更新补丁来进行应用的整体性更新。然而,应用通常由多个资源文件包构成,现有的应用更新方式无法实现针对各个资源文件包进行更新,因而,存在着更新不够灵活、流量耗费较大的问题。
发明内容
本申请的目的在于提出一种改进的应用更新方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供了一种用于应用管理服务器的应用更新方法,上述方法包括:接收客户端发送的更新请求,其中,上述更新请求包括待更新应用的多个资源文件包中每一个资源文件包的版本信息;基于所接收的版本信息,确定是否需要对各个资源文件包更新;对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取上述目标更新包的下载地址;将所获取的下载地址发送至上述客户端,以使上述客户端从下载地址下载目标更新包,并更新上述待更新应用。
在一些实施例中,上述应用管理服务器分别与客户端和更新包生成服务器通信连接,上述客户端和上述更新包生成服务器均与用于存储应用的更新包的存储服务器通信连接,上述更新包生成服务器用于生成应用的更新包。
在一些实施例中,上述接收客户端发送的更新请求之前,上述方法还包括:对于所管理的多个应用中的每一个应用,将该应用的多个资源文件包发送至上述更新包生成服务器,以使上述更新包生成服务器生成与每一个资源文件包匹配的多个更新包,并将所生成的更新包发送至上述存储服务器;接收上述更新包生成服务器返回的各个更新包的下载地址,其中,更新包的下载地址是上述存储服务器在接收到更新包后返回给上述更新包生成服务器的。
在一些实施例中,上述更新请求还包括客户端信息;以及上述基于所接收的版本信息,确定是否需要对各个资源文件包更新,包括:对于每一个资源文件包,获取该资源文件包的历史版本信息集合,其中,上述历史版本信息集合中的历史版本信息包括版本标识;检索上述版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息;若检索到,基于上述客户端信息和该资源文件包的版本信息,确定上述客户端是否满足预设的与该资源文件包匹配的灰度测试条件;若是,将包含灰度发布版本标识的历史版本信息确定为目标版本信息;基于上述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新。
在一些实施例中,版本信息包含主版本号,历史版本信息包含历史主版本号;以及上述基于所接收的版本信息,确定是否需要对各个资源文件包更新,还包括:对于每一个资源文件包,响应于从该资源文件包的历史版本信息集合中未检索到所包含的检索版本标识为灰度发布版本标识的历史版本信息或上述客户端不满足与该资源文件包匹配的灰度测试条件,则确定最高历史主版本号;响应于该资源文件包的主版本号与上述最高历史主版本号相同,则将所包含的历史主版本号为最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在一些实施例中,上述基于所接收的版本信息,确定是否需要对各个资源文件包更新,还包括:对于每一个资源文件包,响应于该资源文件包的主版本号小于该资源文件包的最高历史主版本号,则将所包含的历史主版本号为该资源文件包的主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在一些实施例中,上述基于上述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新,包括:对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息相匹配,则确定不需要对该资源文件包更新。
在一些实施例中,上述基于上述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新,包括:对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息不匹配,则确定需要对该资源文件包更新。
在一些实施例中,上述对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,包括:对于每一个需要更新的资源文件包,若该资源文件包的版本信息低于目标版本信息,确定该资源文件包的更新类型为增量更新;若该资源文件包的版本信息高于目标版本信息,确定该资源文件包的更新类型为全量更新;基于所确定的更新类型、该资源文件包的版本信息和上述目标版本信息,确定目标更新包。
在一些实施例中,上述对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,包括:对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的更新类型和目标更新包。
在一些实施例中,上述将所获取的下载地址发送至上述客户端之后,上述方法还包括:接收上述客户端发送的更新结果信息,上述更新结果信息包括上述客户端应用的各个资源文件包当前的版本信息和更新日期;存储上述更新结果信息。
第二方面,本申请提供了用于应用管理服务器的应用更新装置,上述装置包括:第一接收单元,配置用于接收客户端发送的更新请求,其中,上述更新请求包括待更新应用的多个资源文件包中每一个资源文件包的版本信息;第一确定单元,配置用于基于所接收的版本信息,确定是否需要对各个资源文件包更新;第二确定单元,配置用于对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取上述目标更新包的下载地址;第一发送单元,配置用于将所获取的下载地址发送至上述客户端,以使上述客户端从下载地址下载目标更新包,并更新上述待更新应用。
在一些实施例中,上述应用管理服务器分别与客户端和更新包生成服务器通信连接,上述客户端和上述更新包生成服务器均与用于存储应用的更新包的存储服务器通信连接,上述更新包生成服务器用于生成应用的更新包。
在一些实施例中,上述装置还包括:第二发送单元,配置用于对于所管理的多个应用中的每一个应用,将该应用的多个资源文件包发送至上述更新包生成服务器,以使上述更新包生成服务器生成与每一个资源文件包匹配的多个更新包,并将所生成的更新包发送至上述存储服务器;第二接收单元,配置用于接收上述更新包生成服务器返回的各个更新包的下载地址,其中,更新包的下载地址是上述存储服务器在接收到更新包后返回给上述更新包生成服务器的。
在一些实施例中,上述更新请求还包括客户端信息;以及上述第一确定单元进一步配置用于:对于每一个资源文件包,获取该资源文件包的历史版本信息集合,其中,上述历史版本信息集合中的历史版本信息包括版本标识;检索上述版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息;若检索到,基于上述客户端信息和该资源文件包的版本信息,确定上述客户端是否满足预设的与该资源文件包匹配的灰度测试条件;若是,将包含灰度发布版本标识的历史版本信息确定为目标版本信息;基于上述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新。
在一些实施例中,版本信息包含主版本号,历史版本信息包含历史主版本号;以及上述第一确定单元进一步配置用于:对于每一个资源文件包,响应于从该资源文件包的历史版本信息集合中未检索到所包含的检索版本标识为灰度发布版本标识的历史版本信息或上述客户端不满足与该资源文件包匹配的灰度测试条件,则确定最高历史主版本号;响应于该资源文件包的主版本号与上述最高历史主版本号相同,则将所包含的历史主版本号为最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在一些实施例中,上述第一确定单元进一步配置用于:对于每一个资源文件包,响应于该资源文件包的主版本号小于该资源文件包的最高历史主版本号,则将所包含的历史主版本号为该资源文件包的主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在一些实施例中,上述第一确定单元进一步配置用于:对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息相匹配,则确定不需要对该资源文件包更新。
在一些实施例中,上述第一确定单元进一步配置用于:对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息不匹配,则确定需要对该资源文件包更新。
在一些实施例中,上述第二确定单元进一步配置用于:对于每一个需要更新的资源文件包,若该资源文件包的版本信息低于目标版本信息,确定该资源文件包的更新类型为增量更新;若该资源文件包的版本信息高于目标版本信息,确定该资源文件包的更新类型为全量更新;基于所确定的更新类型、该资源文件包的版本信息和上述目标版本信息,确定目标更新包。
在一些实施例中,上述第二确定单元进一步配置用于:对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的更新类型。
在一些实施例中,上述装置还包括:第三接收单元,配置用于接收上述客户端发送的更新结果信息,上述更新结果信息包括上述客户端应用的各个资源文件包当前的版本信息和更新日期;存储单元,配置用于存储上述更新结果信息。
本申请提供的应用更新方法和装置,通过接收待更新应用的每一个资源文件包的版本信息以便确定是否对该资源文件包进行更新,而后确定需要更新的资源文件包的目标更新包,并获取目标更新包的下载地址,最后将获取的下载地址发送至客户端,以使客户端从下载地址下载目标更新包并更新待更新应用,因而可实现针对待更新应用的各个资源文件包进行更新,提高了应用更新的灵活性,减少了应用更新过程中的流量消耗。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的应用更新方法的一个实施例的流程图;
图3是根据本申请的应用更新方法的一个应用场景的示意图;
图4是根据本申请的应用更新方法的又一个实施例的流程图;
图5是根据本申请的应用更新方法的装置间交互过程的示意图;
图6是根据本申请的应用更新装置的一个实施例的结构示意图;
图7是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的应用下载方法或应用下载装置的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和应用管理服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。此外,终端设备101、102、103上还可以安装有用于管理(例如下载、更新、卸载等)上述终端设备所安装的各个应用的管理类应用。
终端设备101、102、103可以是支持应用下载、更新、卸载的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
应用管理服务器105可以是为终端设备101、102、103上所安装的管理类应用提供支持的服务器。应用管理服务器105可以对接收到的更新请求等数据进行分析,确定待更新应用的各个资源文件包是否需要更新,还可以进行更新类型的确定等处理,并将处理结果(例如更新包的下载地址)反馈给终端设备101、102、103。
此外,上述示例性系统架构100还可以包括更新包生成服务器106和存储服务器107。上述更新包生成服务器106可以用于生成应用的更新包,上述存储服务器107可以用于存储应用的更新包。
需要说明的是,本申请实施例所提供的应用更新方法一般由应用管理服务器105执行,相应地,应用更新装置一般设置于应用管理服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,其示出了根据本申请的应用更新方法的一个实施例的流程200。所述的应用更新方法,包括以下步骤:
步骤201,接收客户端发送的更新请求。
在本实施例中,应用更新方法运行于其上的电子设备(例如图1所示的应用更新服务器105)可以通过有线连接方式或者无线连接方式从客户端(例如图1所示的终端设备101、102、103)接收更新请求,其中,上述更新请求可以包括待更新应用的多个资源文件包中每一个资源文件包的版本信息。实践中,客户端所安装的每一个应用可以包含多个资源文件包,每一个资源文件包可以存储可执行程序、脚本、配置文件以及图片、音视频等数据。另外,每一个资源文件包可以有相应的版本信息,版本信息可以用于指示该资源文件包的版本。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
通常,用户可以利用上述客户端所安装的管理类应用,向应用管理服务器发送上述待更新应用的更新请求,也可以运行上述待更新应用,点击上述待更新应用的更新按键,向上述应用管理服务器发送更新请求。此外,用户还可以对上述待更新应用的对更新请求发送时间进行设置,使客户端可以自动发送更新请求。例如,可以设置为上述待更新应用启动时自动发送更新请求,或者上述待更新应用切换到后台运行时自动发送更新请求,或者每隔预设的时间间隔(如1天、一周等)自动发送更新请求等。
步骤202,基于所接收的版本信息,确定是否需要对各个资源文件包更新。
在本实施例中,上述电子设备可以对多个应用的进行管理,其中,上述多个应用中包括上述待更新应用。上述电子设备上可以存储有上述待更新应用的每一个资源文件包的多个版本信息。对于上述待更新应用的每一个资源文件包,上述电子设备可以首先从所存储的该资源文件包的多个版本信息中选取一个版本信息作为目标版本信息;之后,可以将步骤201所接收的该资源文件包的版本信息与上述目标版本信息进行匹配,基于匹配结果确定是否需要对该资源文件包进行更新。
在本实施例的一些可选的实现方式中,若所接收的该资源文件包的版本信息与上述目标版本信息相匹配,则可以确定不需要对该资源文件包更新。
在本实施例的一些可选的实现方式中,若所接收的该资源文件包的版本信息与上述目标版本信息不匹配,则可以确定需要对该资源文件包更新。
在本实施例的一些可选的实现方式中,步骤201所接收每一个资源文件包的版本信息可以包含主版本号。实践中,每一个资源文件包的版本信息中还可以包含次版本号、修订版本号等。可将主版本号、次版本号、修订版本号以及标点符号按照预设顺序进行组合作为该资源文件包的版本。作为示例,资源文件包的主版本号、次版本号、修订版本号分别为1、0、10,则该资源文件包的版本可以用字段“1.0.10”表示。
在本实施例的一些可选的实现方式中,对于上述待更新应用的每一个资源文件包,确定是否需要对该资源文件包更新,还可以按照如下步骤进行:
第一步,上述电子设备可以将所存储的该资源文件包的多个版本信息中的各个版本信息作为历史版本信息,生成历史版本信息集合,其中,每一个历史版本信息可以包含历史主版本号和版本标识。实践中,版本标识可以用于区分资源文件包的版本类型,且版本标识可以是任意的字符串(例如数字、字母、中文字符等)。作为示例,版本标识可以是用于指示资源文件包的版本类型为最高全量版本的最高全量版本标识、指示版本类型为最低全量版本的最低全量版本标识、指示版本类型为灰度发布版本的灰度发布版本标识等。
第二步,上述电子设备可以读取各个历史版本信息的历史主版本号,确定最高历史主版本号,其中,上述最高历史主版本号可以是最新更新版本的主版本号;若该资源文件包的主版本号与上述最高历史主版本号相同,则将所包含的历史主版本号为上述最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息;若该资源文件包的主版本号与上述最高历史主版本号不同,则将所包含的历史主版本号为上述最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
第三步,上述电子设备可以基于上述目标版本信息和步骤201所接收的该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新。具体的,若所接收的该资源文件包的版本信息与上述目标版本信息相匹配,则确定不需要对该资源文件包更新;若所接收的该资源文件包的版本信息与上述目标版本信息不匹配,则确定需要对该资源文件包更新。实践中,对于上述待更新应用的每一个资源文件包,若该资源文件包的版本信息中的主版本号、次版本号、修订版本号与目标版本信息中相应的主版本号、次版本号、修订版本号均匹配,则上述电子设备可以确定该资源文件包的版本信息与该目标版本信息相匹配。
步骤203,对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取目标更新包的下载地址。
在本实施例中,对于上述待更新应用的每一个资源文件包,响应于确定需要对该资源文件包更新,上述电子设备可以将所接收的该资源文件包的版本信息与目标版本信息进行比较,基于比较结果,确定该资源文件包的目标更新包。实践中,对于上述待更新应用的每一个资源文件包,该资源文件包的每一个版本均可有多个更新包,上述多个更新包可以包括用于全量更新的更新包和用于增量更新的更新包等。上述多个用于增量更新的更新包可以是基于该资源文件包的多个历史版本而预先生成的。
在本实施例的一些可选的实现方式中,对于上述待更新应用的每一个资源文件包,若所接收的该资源文件包的版本信息低于上述目标版本信息,则上述电子设备可以确定该资源文件包的目标更新包为用于增量更新的更新包。
在本实施例的一些可选的实现方式中,对于上述待更新应用的每一个资源文件包,若所接收的该资源文件包的版本信息高于目标版本信息,则上述电子设备可以确定该资源文件包的目标更新包为用于全量更新的更新包。
在本实施例中,上述电子设备中可以预先存储更新包和下载地址之间的映射。对于上述待更新应用的每一个资源文件包,上述电子设备可以基于所确定的该资源文件包的目标更新包,以及更新包和下载地址之间的映射,确定并获取与目标更新包的下载地址。实践中,上述下载地址可以由统一资源定位符(Uniform Resource Locator,URL)来表示。
步骤204,将所获取的下载地址发送至客户端,以使客户端从下载地址下载目标更新包,并更新待更新应用。
在本实施例中,上述电子设备可以将步骤203所获取的下载地址发送至上述客户端,以使上述客户端从下载地址下载目标更新包,并更新待更新应用。实践中,上述目标更新包可以存储在另一服务器中,上述客户端可以从下载地址所指示的用于存储目标更新包的另一服务器中下载上述目标更新包。
继续参见图3,图3是根据本实施例的应用更新方法的应用场景的一个示意图。在图3的应用场景中,首先,客户端301向应用管理服务器302发送了对待更新应用的更新请求303,其中,上述更新请求303包括了待更新应用的多个资源文件包中每一个资源文件包的版本信息。之后,上述应用管理服务器302基于所接收的版本信息,确定是否需要对各个资源文件包更新;对于每一个资源文件包,响应于确定需要对该资源文件包更新,上述应用管理服务器302确定该资源文件包的目标更新包,并获取上述目标更新包的下载地址304。而后,上述应用管理服务器302将所获取的下载地址发送至上述客户端301。上述客户端301在接收到下载地址304后,从下载地址304所指示的用于存储目标更新包的另一服务器305中下载目标更新包306,并更新上述待更新应用。
本申请的上述实施例提供的方法通过接收待更新应用的每一个资源文件包的版本信息以便确定是否对该资源文件包进行更新,而后确定需要更新的资源文件包的目标更新包,并获取目标更新包的下载地址,最后将获取的下载地址发送至客户端,以使客户端从下载地址下载目标更新包并更新待更新应用,因而可实现针对待更新应用的各个资源文件包进行更新,提高了应用更新的灵活性,减少了应用更新过程中的流量消耗。
进一步参考图4,其示出了应用更新方法的又一个实施例的流程400。应用管理服务器分别与客户端和更新包生成服务器通信连接,上述客户端和上述更新包生成服务器均与用于存储应用的更新包的存储服务器通信连接,上述更新包生成服务器用于生成应用的更新包。用于应用管理服务器的应用更新方法的流程400,包括以下步骤:
步骤401,对于所管理的多个应用中的每一个应用,将该应用的多个资源文件包发送至更新包生成服务器。
在本实施例中,上述电子设备对于所管理的多个应用中的每一个应用,可以将该应用的多个资源文件包发送至上述更新包生成服务器,以使上述更新包生成服务器生成与每一个资源文件包匹配的多个更新包,并将所生成的更新包发送至上述存储服务器。可以参见图5,图5示出了上述电子设备(即图5中的应用更新服务器)、上述更新包生成服务器和上述存储服务器之间的交互过程的示意图。在图5中,上述电子设备在将应用的多个资源文件包501发送至上述更新包生成服务器后,上述更新包生成服务器生成与每一个资源文件包匹配的多个更新包502,并将所生成的更新包502发送至上述存储服务器。
实践中,上述电子设备对于所管理的多个应用中的每一个应用,可以配置该应用的名称、介绍等信息,也可以为该应用配置应用标识、版本信息等。其中,上述应用标识可以是用于区别各个应用的任意标识,如由字母和/或数字组成的编号等。另外,上述电子设备还可以为每一个应用配置密钥等,其中,上述密钥可以包含公钥和私钥,上述公钥可以供开发者查看和使用。此外,上述电子设备对于所管理的每一个应用,可以配置该应用的各个资源文件包的名称、介绍等信息,也可以为各个资源文件包配置资源文件包标识。
需要说明的是,对于每一个资源文件包,上述更新包生成服务器可以基于该资源文件包的版本信息生成与该资源文件包匹配的多个更新包。其中,上述多个更新包可以包含一个用于更新类型为全量更新的更新包和多个用于更新类型为增量更新的更新包。上述多个用于更新类型为增量更新的更新包可以是基于该资源文件包的多个历史版本生成的。
步骤402,接收更新包生成服务器返回的各个更新包的下载地址。
在本实施例中,上述电子设备接收上述更新包生成服务器返回的各个更新包的下载地址,其中,更新包的下载地址是上述存储服务器在接收到更新包后返回给上述更新包生成服务器的。如图5所示,在上述更新包生成服务器所生成的更新包502发送至上述存储服务器后,上述存储服务器将更新包的下载地址503返回给上述更新包生成服务器;之后,上述更新包生成服务器将所接收到的下载地址503返回给上述电子设备。实践中,上述电子设备在接收上述更新包生成服务器返回的各个更新包的下载地址之后,可以建立更新包和下载地址之间的映射。
步骤403,接收客户端发送的更新请求。
在本实施例中,在本实施例中,应用更新方法运行于其上的电子设备(例如图1所示的应用更新服务器105)可以通过有线连接方式或者无线连接方式从客户端(例如图1所示的终端设备101、102、103)接收更新请求,其中,上述更新请求可以包括待更新应用的多个资源文件包中每一个资源文件包的版本信息。此处,每一个资源文件包的版本信息可以包含主版本号、次版本号和修订版本号。
需要说明的是,上述更新请求还可以包括客户端信息。其中,上述客户端信息可以包括但不限于上述客户端的设备识别号、用户标识、上述客户端类型(如PC(personalcomputer,个人计算机)端、移动端)等等。
步骤404,对于待更新应用的每一个资源文件包,获取该资源文件包的历史版本信息集合。
在本实施例中,上述电子设备上可以存储有上述待更新应用的每一个资源文件包的历史版本信息集合。其中,上述历史版本信息集合可以存储该资源文件包的多个历史版本信息,上述电子设备可以直接从本地获取上述待更新应用的各个资源文件包的历史版本信息集合。
需要说明的是,每个历史版本信息可以包含主版本号、次版本号和修订版本号,还可以包含版本标识。
步骤405,确定是否可检索到版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息。
在本实施例中,对于上述待更新应用的每一个资源文件包,上述电子设备可以检索该资源文件包的版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息。若确定检索到,则上述电子设备可以执行步骤406;若确定未检索到,则上述电子设备可以执行步骤408。
步骤406,基于客户端信息和该资源文件包的版本信息,确定客户端是否满足预设的灰度测试条件。
在本实施例中,对于上述待更新应用的每一个资源文件包,响应于步骤405确定检索到与该资源文件包匹配的版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息,则上述电子设备可以按如下步骤执行:
首先,获取预设的与该资源文件包匹配的灰度测试条件。其中,上述灰度测试条件可以包括以下一项或多项:上述客户端的设备识别号在预设的设备识别号集合中、用户标识在预设的用户标识集合中,上述客户端类型为预设的客户端类型。此外,上述灰度测试条件还可以包括以下一项或多项:该资源文件包的版本小于灰度发布版本、该资源文件包的主版本号与上述灰度发布版本的主版本号相同、该资源文件包的版本信息在预设版本信息集合中。
之后,上述电子设备可以确定上述客户端信息和该资源文件包的版本信息所指示的该资源文件包的版本是否满足上述灰度测试条件,若满足,则确定上述客户端满足上述灰度测试条件。响应于确定上述客户端满足上述灰度测试条件,则上述电子设备可以执行步骤407;响应于确定上述客户端不满足上述灰度测试条件,则上述电子设备可以执行步骤408。需要说明的是,上述灰度测试条件不限于上述列举的条件。
步骤407,将包含灰度发布版本标识的历史版本信息确定为目标版本信息。
在本实施例中,对于上述待更新应用的每一个资源文件包,响应于步骤406确定上述客户端满足与该资源文件包匹配的灰度测试条件,则上述电子设备可以将步骤405检索到的包含灰度发布版本标识的历史版本信息确定为目标版本信息,并执行步骤412。
步骤408,确定最高历史主版本号。
在本实施例中,对于上述待更新应用的每一个资源文件包,响应于步骤405确定从该资源文件包的历史版本信息集合中未检索到所包含的检索版本标识为灰度发布版本标识的历史版本信息,或者响应于步骤407确定上述客户端不满足与该资源文件包匹配的灰度测试条件,则上述电子设备可以读取该资源文件包的历史版本信息集合中的各个历史版本信息的历史主版本号,确定该资源文件包的最高历史主版本号。
步骤409,确定资源文件包的主版本号是否与最高历史主版本号相同。
在本实施例中,对于上述待更新应用的每一个资源文件包,上述电子设备可以确定该资源文件包的主版本号是否与该资源文件包的最高历史主版本号相同。响应于确定该资源文件包的主版本号与该资源文件包的历史主版本号相同,则可以执行步骤410;响应于确定该资源文件包的主版本号与该资源文件包的最高历史主版本号不同,则可以执行步骤411。通常,该资源文件包的主版本号与该资源文件包的最高历史主版本号不同是指该资源文件包的主版本号小于该资源文件包的最高历史主版本号。
步骤410,将所包含的历史主版本号为最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在本实施例中,对于上述待更新应用的每一个资源文件包,响应于步骤409确定该资源文件包的主版本号与该资源文件包的最高历史主版本号相同,则上述电子设备可以从该资源文件包的历史版本信息集合中检索所包含的历史主版本号为上述最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息,并将所检索到的历史版本信息确定为目标版本信息,并执行步骤412。
步骤411,将所包含的历史主版本号为该资源文件包的主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在本实施例中,对于上述待更新应用的每一个资源文件包,响应于步骤409确定该资源文件包的主版本号与该资源文件包的最高历史主版本号不同,即该资源文件包的主版本号小于该资源文件包的最高历史主版本号,则上述电子设备可以从该资源文件包的历史版本信息集合中检索所包含的历史主版本号为该资源文件包的主版本号且所包含的版本标识为最高全量版本标识的历史版本信息,并将所检索到的历史版本信息确定为目标版本信息,并执行步骤412。
步骤412,对于待更新应用的每一个资源文件包,基于目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新。
在本实施例中,对于待更新应用的每一个资源文件包,上述电子设备可以通过字符串匹配方式确定该资源文件包的版本信息是否与该资源文件包的目标版本信息相匹配。响应于确定该资源文件包的版本信息与该资源文件包的目标版本信息相匹配,则上述电子设备可以确定不需要对该资源文件包更新;响应于确定该资源文件包的版本信息与该资源文件包的目标版本信息不匹配,则可以确定需要对该资源文件包更新,并执行步骤413。
步骤413,对于待更新应用的每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的更新类型和目标更新包,并获取目标更新包的下载地址。
在本实施例中,对于待更新应用的每一个资源文件包,响应于确定需要对该资源文件包更新,上述电子设备可以确定该资源文件包的更新类型。其中,更新类型可以包括但不限于增量更新、全量更新、回滚等。
在本实施例中,对于待更新应用的每一个资源文件包,若所接收的该资源文件包的版本信息低于该资源文件包的目标版本信息,则上述电子设备可以确定该资源文件包的更新类型为增量更新;若所接收的该资源文件包的版本信息高于目标版本信息,则上述电子设备可以确定该资源文件包的更新类型为全量更新。
在本实施例中,上述电子设备也可以预先存储更新包与更新类型、版本信息之间的映射,也可以预先存储更新包和下载地址之间的映射。对于上述待更新应用的每一个资源文件包,上述电子设备可以基于所接收的该资源文件包的版本信息和所确定的更新类型,以及更新包与更新类型、版本信息之间的映射,确定该资源文件包的目标更新包;之后,基于所确定的该资源文件包的目标更新包,以及更新包和下载地址之间的映射,确定并获取与目标更新包的下载地址。
步骤414,将所获取的下载地址发送至客户端,以使客户端从下载地址下载目标更新包,并更新待更新应用。
在本实施例中,上述电子设备可以将步骤413所获取的下载地址发送至上述客户端,以使上述客户端基于下载地址从上述存储服务器中下载目标更新包,并更新待更新应用。
在本实施例中,上述电子设备将下载地址发送至上述客户端之后,还可以接收上述客户端发送的更新结果信息。其中,上述更新结果信息可以包括但不限于上述客户端应用的各个资源文件包当前的版本信息和更新日期;之后,上述电子设备可以存储上述更新结果信息,并进行更新成功率等数据的更新。
需要说明的是,上述步骤409-步骤412的具体操作与步骤202的具体操作基本相同,在此不再赘述。
从图4中可以看出,与图1对应的实施例相比,本实施例中的应用更新方法的流程400突出了应用管理服务器、更新包生成服务器和版本服务器的连接关系和通信的步骤,还突出了灰度发布版本的判定步骤。由此,本实施例描述的方案引入了更多的更新类型,进一步提高了应用更新的灵活性。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种应用更新装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,本实施例所述的应用更新装置600包括:第一接收单元601,配置用于接收客户端发送的更新请求,其中,上述更新请求包括待更新应用的多个资源文件包中每一个资源文件包的版本信息;第一确定单元602,配置用于基于所接收的版本信息,确定是否需要对各个资源文件包更新;第二确定单元603,配置用于对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取上述目标更新包的下载地址;第一发送单元604,配置用于将所获取的下载地址发送至上述客户端,以使上述客户端从下载地址下载目标更新包,并更新上述待更新应用。
在本实施例中,上述应用更新装置600的第一接收单元601可以通过有线连接方式或者无线连接方式从客户端(例如图1所示的终端设备101、102、103)接收更新请求,其中,上述更新请求可以包括待更新应用的多个资源文件包中每一个资源文件包的版本信息。
在本实施例中,上述第一确定单元602可以存储有上述待更新应用的每一个资源文件包的多个版本信息。对于上述待更新应用的每一个资源文件包,上述第一确定单元602可以首先从所存储的该资源文件包的多个版本信息中选取一个版本信息作为目标版本信息;之后,可以将上述第一接收单元601所接收的该资源文件包的版本信息与上述目标版本信息进行匹配,基于匹配结果确定是否需要对该资源文件包进行更新。
在本实施例的一些可选的实现方式中,上述更新请求还可以包括客户端信息;上述第一确定单元602可以进一步配置用于执行以下操作:对于每一个资源文件包,首先可以获取该资源文件包的历史版本信息集合,其中,上述历史版本信息集合中的历史版本信息包括版本标识;之后,检索上述版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息;若检索到,可以基于上述客户端信息和该资源文件包的版本信息,确定上述客户端是否满足预设的与该资源文件包匹配的灰度测试条件;若是,可以将包含灰度发布版本标识的历史版本信息确定为目标版本信息;最后,可以基于上述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新。
在本实施例的一些可选的实现方式中,版本信息可以包含主版本号,历史版本信息可以包含历史主版本号;上述第一确定单元602还可以进一步配置用于执行以下操作:对于每一个资源文件包,响应于从该资源文件包的历史版本信息集合中未检索到所包含的检索版本标识为灰度发布版本标识的历史版本信息或上述客户端不满足与该资源文件包匹配的灰度测试条件,则确定最高历史主版本号;响应于该资源文件包的主版本号与上述最高历史主版本号相同,则将所包含的历史主版本号为最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在本实施例的一些可选的实现方式中,上述第一确定单元602可以进一步配置用于对于每一个资源文件包,响应于该资源文件包的主版本号小于该资源文件包的最高历史主版本号,则将所包含的历史主版本号为该资源文件包的主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
在本实施例的一些可选的实现方式中,上述第一确定单元602可以进一步配置用于对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息相匹配,则确定不需要对该资源文件包更新。
在本实施例的一些可选的实现方式中,上述第一确定单元602可以进一步配置用于对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息不匹配,则确定需要对该资源文件包更新。
在本实施例中,对于上述待更新应用的每一个资源文件包,响应于确定需要对该资源文件包更新,上述第二确定单元603可以将所接收的该资源文件包的版本信息与目标版本信息进行比较,基于比较结果,确定该资源文件包的目标更新包。
在本实施例中,上述第二确定单元603可以预先存储更新包和下载地址之间的映射。对于上述待更新应用的每一个资源文件包,上述第二确定单元603可以基于所确定的该资源文件包的目标更新包,以及更新包和下载地址之间的映射,确定并获取与目标更新包的下载地址。
在本实施例的一些可选的实现方式中,上述第二确定单元603可以进一步配置用于对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的更新类型。
在本实施例的一些可选的实现方式中,上述第二确定单元603可以进一步配置用于对于每一个需要更新的资源文件包,若该资源文件包的版本信息低于目标版本信息,确定该资源文件包的更新类型为增量更新;若该资源文件包的版本信息高于目标版本信息,确定该资源文件包的更新类型为全量更新;基于所确定的更新类型、该资源文件包的版本信息和上述目标版本信息,确定目标更新包。
在本实施例中,第一发送单元604可以将上述第二确定单元603所获取的下载地址发送至上述客户端,以使上述客户端从下载地址下载目标更新包,并更新待更新应用。
在本实施例的一些可选的实现方式中,上述应用更新装置600还可以包括第三接收单元和存储单元(图中未示出)。其中,上述第三接收单元可以配置用于接收上述客户端发送的更新结果信息,上述更新结果信息包括上述客户端应用的各个资源文件包当前的版本信息和更新日期;上述存储单元可以配置用于存储上述更新结果信息。
在本实施例的一些可选的实现方式中,上述应用管理服务器可以分别与客户端和更新包生成服务器通信连接,上述客户端和上述更新包生成服务器均可以与用于存储应用的更新包的存储服务器通信连接,上述更新包生成服务器可以用于生成应用的更新包。
在本实施例的一些可选的实现方式中,上述装置还可以包括第二发送单元和第二接收单元(图中未示出)。其中,上述第二发送单元可以配置用于对于所管理的多个应用中的每一个应用,将该应用的多个资源文件包发送至上述更新包生成服务器,以使上述更新包生成服务器生成与每一个资源文件包匹配的多个更新包,并将所生成的更新包发送至上述存储服务器;上述第二接收单元可以配置用于接收上述更新包生成服务器返回的各个更新包的下载地址,其中,更新包的下载地址是上述存储服务器在接收到更新包后返回给上述更新包生成服务器的。
本申请的上述实施例提供的装置,通过第一接收单元601接收待更新应用的每一个资源文件包的版本信息以便第一确定单元602确定是否对该资源文件包进行更新,而后第二确定单元603确定需要更新的资源文件包的目标更新包,并获取目标更新包的下载地址,最后第一发送单元604将获取的下载地址发送至客户端,以使客户端从下载地址下载目标更新包并更新待更新应用,因而可实现针对待更新应用的各个资源文件包进行更新,提高了应用更新的灵活性,减少了应用更新过程中的流量消耗。
下面参考图7,其示出了适于用来实现本申请的终端设备或服务器(包括应用管理服务器、更新包应用服务器及存储服务器)的计算机系统700的结构示意图。
如图7所示,计算机系统700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的
程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行各种适当的动作和处理。在RAM 703中,还存储有系统700操作所需的各种程序和数据。CPU 701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,上述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。在该计算机程序被中央处理单元(CPU)701执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一接收单元、第一确定单元、第二确定单元和第一发送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一接收单元还可以被描述为“接收客户端发送的更新请求的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中上述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当上述一个或者多个程序被一个设备执行时,使得上述设备:接收客户端发送的更新请求,其中,更新请求包括待更新应用的多个资源文件包中每一个资源文件包的版本信息;基于所接收的版本信息,确定是否需要对各个资源文件包更新;对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取目标更新包的下载地址;将所获取的下载地址发送至客户端,以使客户端从下载地址下载目标更新包,并更新待更新应用。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (22)
1.一种用于应用管理服务器的应用更新方法,其特征在于,所述方法包括:
接收客户端发送的更新请求,其中,所述更新请求包括待更新应用的多个资源文件包中每一个资源文件包的版本信息;
基于所接收的版本信息,确定是否需要对各个资源文件包更新;
对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取所述目标更新包的下载地址;
将所获取的下载地址发送至所述客户端,以使所述客户端从下载地址下载目标更新包,并更新所述待更新应用。
2.根据权利要求1所述的应用更新方法,其特征在于,所述应用管理服务器分别与客户端和更新包生成服务器通信连接,所述客户端和所述更新包生成服务器均与用于存储应用的更新包的存储服务器通信连接,所述更新包生成服务器用于生成应用的更新包。
3.根据权利要求2所述的应用更新方法,其特征在于,所述接收客户端发送的更新请求之前,所述方法还包括:
对于所管理的多个应用中的每一个应用,将该应用的多个资源文件包发送至所述更新包生成服务器,以使所述更新包生成服务器生成与每一个资源文件包匹配的多个更新包,并将所生成的更新包发送至所述存储服务器;
接收所述更新包生成服务器返回的各个更新包的下载地址,其中,更新包的下载地址是所述存储服务器在接收到更新包后返回给所述更新包生成服务器的。
4.根据权利要求1所述的应用更新方法,其特征在于,所述更新请求还包括客户端信息;以及
所述基于所接收的版本信息,确定是否需要对各个资源文件包更新,包括:
对于每一个资源文件包,获取该资源文件包的历史版本信息集合,其中,所述历史版本信息集合中的历史版本信息包括版本标识;检索所述版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息;若检索到,基于所述客户端信息和该资源文件包的版本信息,确定所述客户端是否满足预设的与该资源文件包匹配的灰度测试条件;若是,将包含灰度发布版本标识的历史版本信息确定为目标版本信息;基于所述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新。
5.根据权利要求4所述的应用更新方法,其特征在于,版本信息包含主版本号,历史版本信息包含历史主版本号;以及
所述基于所接收的版本信息,确定是否需要对各个资源文件包更新,还包括:
对于每一个资源文件包,响应于从该资源文件包的历史版本信息集合中未检索到所包含的检索版本标识为灰度发布版本标识的历史版本信息或所述客户端不满足与该资源文件包匹配的灰度测试条件,则确定最高历史主版本号;响应于该资源文件包的主版本号与所述最高历史主版本号相同,则将所包含的历史主版本号为所述最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
6.根据权利要求5所述的应用更新方法,其特征在于,所述基于所接收的版本信息,确定是否需要对各个资源文件包更新,还包括:
对于每一个资源文件包,响应于该资源文件包的主版本号小于该资源文件包的最高历史主版本号,则将所包含的历史主版本号为该资源文件包的主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
7.根据权利要求4-6之一所述的应用更新方法,其特征在于,所述基于所述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新,包括:
对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息相匹配,则确定不需要对该资源文件包更新。
8.根据权利要求4-6之一所述的应用更新方法,其特征在于,所述基于所述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新,包括:
对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息不匹配,则确定需要对该资源文件包更新。
9.根据权利要求8所述的应用更新方法,其特征在于,所述对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,包括:
对于每一个需要更新的资源文件包,若该资源文件包的版本信息低于目标版本信息,确定该资源文件包的更新类型为增量更新;若该资源文件包的版本信息高于目标版本信息,确定该资源文件包的更新类型为全量更新;基于所确定的更新类型、该资源文件包的版本信息和所述目标版本信息,确定目标更新包。
10.根据权利要求1所述的应用更新方法,其特征在于,所述对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,包括:
对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的更新类型和目标更新包。
11.根据权利要求1所述的应用更新方法,其特征在于,所述将所获取的下载地址发送至所述客户端之后,所述方法还包括:
接收所述客户端发送的更新结果信息,所述更新结果信息包括所述客户端应用的各个资源文件包当前的版本信息和更新日期;
存储所述更新结果信息。
12.一种用于应用管理服务器的应用更新装置,其特征在于,所述装置包括:
第一接收单元,配置用于接收客户端发送的更新请求,其中,所述更新请求包括待更新应用的多个资源文件包中每一个资源文件包的版本信息;
第一确定单元,配置用于基于所接收的版本信息,确定是否需要对各个资源文件包更新;
第二确定单元,配置用于对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的目标更新包,并获取所述目标更新包的下载地址;
第一发送单元,配置用于将所获取的下载地址发送至所述客户端,以使所述客户端从下载地址下载目标更新包,并更新所述待更新应用。
13.根据权利要求12所述的应用更新装置,其特征在于,所述应用管理服务器分别与客户端和更新包生成服务器通信连接,所述客户端和所述更新包生成服务器均与用于存储应用的更新包的存储服务器通信连接,所述更新包生成服务器用于生成应用的更新包。
14.根据权利要求13所述的应用更新装置,其特征在于,所述装置还包括:
第二发送单元,配置用于对于所管理的多个应用中的每一个应用,将该应用的多个资源文件包发送至所述更新包生成服务器,以使所述更新包生成服务器生成与每一个资源文件包匹配的多个更新包,并将所生成的更新包发送至所述存储服务器;
第二接收单元,配置用于接收所述更新包生成服务器返回的各个更新包的下载地址,其中,更新包的下载地址是所述存储服务器在接收到更新包后返回给所述更新包生成服务器的。
15.根据权利要求12所述的应用更新装置,其特征在于,所述更新请求还包括客户端信息;以及
所述第一确定单元进一步配置用于:
对于每一个资源文件包,获取该资源文件包的历史版本信息集合,其中,所述历史版本信息集合中的历史版本信息包括版本标识;检索所述版本信息集合中的、所包含的版本标识为灰度发布版本标识的历史版本信息;若检索到,基于所述客户端信息和该资源文件包的版本信息,确定所述客户端是否满足预设的与该资源文件包匹配的灰度测试条件;若是,将包含灰度发布版本标识的历史版本信息确定为目标版本信息;基于所述目标版本信息和该资源文件包的版本信息的匹配情况,确定是否需要对该资源文件包更新。
16.根据权利要求15所述的应用更新装置,其特征在于,版本信息包含主版本号,历史版本信息包含历史主版本号;以及
所述第一确定单元进一步配置用于:
对于每一个资源文件包,响应于从该资源文件包的历史版本信息集合中未检索到所包含的检索版本标识为灰度发布版本标识的历史版本信息或所述客户端不满足与该资源文件包匹配的灰度测试条件,则确定最高历史主版本号;响应于该资源文件包的主版本号与所述最高历史主版本号相同,则将所包含的历史主版本号为所述最高历史主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
17.根据权利要求16所述的应用更新装置,其特征在于,所述第一确定单元进一步配置用于:
对于每一个资源文件包,响应于该资源文件包的主版本号小于该资源文件包的最高历史主版本号,则将所包含的历史主版本号为该资源文件包的主版本号且所包含的版本标识为最高全量版本标识的历史版本信息确定为目标版本信息。
18.根据权利要求16-17之一所述的应用更新装置,其特征在于,所述第一确定单元进一步配置用于:
对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息相匹配,则确定不需要对该资源文件包更新。
19.根据权利要求15-17之一所述的应用更新装置,其特征在于,所述第一确定单元进一步配置用于:
对于每一个资源文件包,响应于该资源文件包的版本信息与目标版本信息不匹配,则确定需要对该资源文件包更新。
20.根据权利要求19所述的应用更新装置,其特征在于,所述第二确定单元进一步配置用于:
对于每一个需要更新的资源文件包,若该资源文件包的版本信息低于目标版本信息,确定该资源文件包的更新类型为增量更新;若该资源文件包的版本信息高于目标版本信息,确定该资源文件包的更新类型为全量更新;基于所确定的更新类型、该资源文件包的版本信息和所述目标版本信息,确定目标更新包。
21.根据权利要求12所述的应用更新装置,其特征在于,所述第二确定单元进一步配置用于:对于每一个资源文件包,响应于确定需要对该资源文件包更新,确定该资源文件包的更新类型。
22.根据权利要求12所述的应用更新装置,其特征在于,所述装置还包括:
第三接收单元,配置用于接收所述客户端发送的更新结果信息,所述更新结果信息包括所述客户端应用的各个资源文件包当前的版本信息和更新日期;
存储单元,配置用于存储所述更新结果信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710046064.9A CN106708537A (zh) | 2017-01-22 | 2017-01-22 | 应用更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710046064.9A CN106708537A (zh) | 2017-01-22 | 2017-01-22 | 应用更新方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106708537A true CN106708537A (zh) | 2017-05-24 |
Family
ID=58909457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710046064.9A Pending CN106708537A (zh) | 2017-01-22 | 2017-01-22 | 应用更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708537A (zh) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107205057A (zh) * | 2017-08-02 | 2017-09-26 | 无锡江南影视传播有限公司 | 一种游戏资源更新方法、装置及客户端 |
CN107357612A (zh) * | 2017-06-27 | 2017-11-17 | 聚好看科技股份有限公司 | 应用程序升级检测方法及装置 |
CN107577491A (zh) * | 2017-08-09 | 2018-01-12 | 时趣互动(北京)科技有限公司 | 一种基于Weex的移动应用内版本更新的方法、系统 |
CN107634858A (zh) * | 2017-09-25 | 2018-01-26 | 新华三信息安全技术有限公司 | 特征库更新方法及控制器 |
CN108011891A (zh) * | 2017-12-22 | 2018-05-08 | 深圳乐信软件技术有限公司 | 一种应用访问方法、装置、服务器及计算机存储介质 |
CN108062228A (zh) * | 2017-12-11 | 2018-05-22 | 深圳市买买提信息科技有限公司 | 一种文件处理方法及其装置 |
CN109189442A (zh) * | 2018-09-30 | 2019-01-11 | 联想(北京)有限公司 | 更新方法、系统和电子设备 |
CN109388414A (zh) * | 2017-08-03 | 2019-02-26 | 合网络技术(北京)有限公司 | 软件升级方法及装置 |
CN109445833A (zh) * | 2018-11-09 | 2019-03-08 | 苏宁消费金融有限公司 | 一种React-native热更新的方法 |
CN109491693A (zh) * | 2018-12-29 | 2019-03-19 | 深圳点猫科技有限公司 | 一种图形编程客户端的热更新处理方法及电子设备 |
CN109729138A (zh) * | 2018-06-01 | 2019-05-07 | 平安普惠企业管理有限公司 | 客户端资源更新方法、设备、客户端及存储介质 |
CN109902130A (zh) * | 2019-01-31 | 2019-06-18 | 北京明略软件系统有限公司 | 一种数据存储方法、数据查询方法和装置、存储介质 |
CN110069303A (zh) * | 2019-03-20 | 2019-07-30 | 厦门网宿有限公司 | 一种屏幕布局更新方法及服务器、电子设备及存储介质 |
CN110162964A (zh) * | 2019-05-29 | 2019-08-23 | 中国银行股份有限公司 | 一种文件篡改的检查方法、装置及系统 |
CN110830822A (zh) * | 2019-11-14 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 资源更新方法、装置及计算机可读存储介质 |
CN110990038A (zh) * | 2019-11-29 | 2020-04-10 | 中化信息技术有限公司 | 用于应用局部更新的方法、装置、电子设备和介质 |
CN111078257A (zh) * | 2019-12-19 | 2020-04-28 | 杭州安恒信息技术股份有限公司 | 一种h5应用包的加载方法及相关装置 |
CN111381848A (zh) * | 2018-12-29 | 2020-07-07 | 华为技术有限公司 | 资源文件的更新方法、装置、设备及存储介质 |
CN111538514A (zh) * | 2020-04-17 | 2020-08-14 | 北京三快在线科技有限公司 | 企业应用的更新方法、装置、存储介质及电子设备 |
CN111708689A (zh) * | 2020-05-19 | 2020-09-25 | 北京奇艺世纪科技有限公司 | 一种修改ab实验的方法、装置及电子设备 |
CN111752582A (zh) * | 2020-05-25 | 2020-10-09 | 深圳市鸿合创新信息技术有限责任公司 | 局域网内的软件更新方法、装置及电子设备 |
CN111831300A (zh) * | 2019-08-23 | 2020-10-27 | 北京骑胜科技有限公司 | App更新方法、装置、电子设备及计算机可读存储介质 |
CN112115217A (zh) * | 2020-08-11 | 2020-12-22 | 北京四维图新科技股份有限公司 | 高精地图的数据处理方法、装置、电子设备及存储介质 |
CN112256316A (zh) * | 2020-11-13 | 2021-01-22 | 北京玩蟹科技有限公司 | 客户端应用更新方法及客户端 |
CN112262556A (zh) * | 2018-11-01 | 2021-01-22 | 华为技术有限公司 | 模型文件的管理方法和终端设备 |
CN112783529A (zh) * | 2021-01-27 | 2021-05-11 | 上海淇玥信息技术有限公司 | 一种控制应用程序预发布与升级的方法、装置和电子设备 |
CN112783515A (zh) * | 2021-02-08 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 插件的控制方法和装置、存储介质 |
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN113076128A (zh) * | 2020-01-03 | 2021-07-06 | 北京猎户星空科技有限公司 | 用于机器人配置的方法、装置、电子设备及存储介质 |
CN113254098A (zh) * | 2021-05-21 | 2021-08-13 | 四川金熊猫新媒体有限公司 | 一种客户端资源处理方法、装置及电子设备 |
CN114422505A (zh) * | 2022-01-25 | 2022-04-29 | 中国农业银行股份有限公司 | 银行柜面交易程序更新传输方法、装置、设备及存储介质 |
CN114527944A (zh) * | 2022-02-22 | 2022-05-24 | 珠海金山数字网络科技有限公司 | 资源文件处理方法及装置 |
CN114546522A (zh) * | 2022-02-07 | 2022-05-27 | 北京百度网讯科技有限公司 | 应用的图片配置方法、装置、电子设备及存储介质 |
CN116700738A (zh) * | 2022-09-20 | 2023-09-05 | 荣耀终端有限公司 | 应用管理方法、电子设备及系统 |
CN114422505B (zh) * | 2022-01-25 | 2024-07-05 | 中国农业银行股份有限公司 | 银行柜面交易程序更新传输方法、装置、设备及存储介质 |
-
2017
- 2017-01-22 CN CN201710046064.9A patent/CN106708537A/zh active Pending
Cited By (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357612A (zh) * | 2017-06-27 | 2017-11-17 | 聚好看科技股份有限公司 | 应用程序升级检测方法及装置 |
CN107205057A (zh) * | 2017-08-02 | 2017-09-26 | 无锡江南影视传播有限公司 | 一种游戏资源更新方法、装置及客户端 |
CN109388414A (zh) * | 2017-08-03 | 2019-02-26 | 合网络技术(北京)有限公司 | 软件升级方法及装置 |
CN107577491A (zh) * | 2017-08-09 | 2018-01-12 | 时趣互动(北京)科技有限公司 | 一种基于Weex的移动应用内版本更新的方法、系统 |
CN107577491B (zh) * | 2017-08-09 | 2021-05-11 | 时趣互动(北京)科技有限公司 | 一种基于Weex的移动应用内版本更新的方法、系统 |
CN107634858A (zh) * | 2017-09-25 | 2018-01-26 | 新华三信息安全技术有限公司 | 特征库更新方法及控制器 |
CN108062228A (zh) * | 2017-12-11 | 2018-05-22 | 深圳市买买提信息科技有限公司 | 一种文件处理方法及其装置 |
CN108011891A (zh) * | 2017-12-22 | 2018-05-08 | 深圳乐信软件技术有限公司 | 一种应用访问方法、装置、服务器及计算机存储介质 |
CN109729138A (zh) * | 2018-06-01 | 2019-05-07 | 平安普惠企业管理有限公司 | 客户端资源更新方法、设备、客户端及存储介质 |
CN109189442B (zh) * | 2018-09-30 | 2022-03-25 | 联想(北京)有限公司 | 更新方法、系统和电子设备 |
CN109189442A (zh) * | 2018-09-30 | 2019-01-11 | 联想(北京)有限公司 | 更新方法、系统和电子设备 |
CN112262556A (zh) * | 2018-11-01 | 2021-01-22 | 华为技术有限公司 | 模型文件的管理方法和终端设备 |
US11940992B2 (en) | 2018-11-01 | 2024-03-26 | Huawei Technologies Co., Ltd. | Model file management method and terminal device |
CN109445833A (zh) * | 2018-11-09 | 2019-03-08 | 苏宁消费金融有限公司 | 一种React-native热更新的方法 |
CN109491693A (zh) * | 2018-12-29 | 2019-03-19 | 深圳点猫科技有限公司 | 一种图形编程客户端的热更新处理方法及电子设备 |
CN111381848A (zh) * | 2018-12-29 | 2020-07-07 | 华为技术有限公司 | 资源文件的更新方法、装置、设备及存储介质 |
CN109902130A (zh) * | 2019-01-31 | 2019-06-18 | 北京明略软件系统有限公司 | 一种数据存储方法、数据查询方法和装置、存储介质 |
CN110069303A (zh) * | 2019-03-20 | 2019-07-30 | 厦门网宿有限公司 | 一种屏幕布局更新方法及服务器、电子设备及存储介质 |
CN110162964A (zh) * | 2019-05-29 | 2019-08-23 | 中国银行股份有限公司 | 一种文件篡改的检查方法、装置及系统 |
CN110162964B (zh) * | 2019-05-29 | 2021-09-24 | 中国银行股份有限公司 | 一种文件篡改的检查方法、装置及系统 |
CN111831300A (zh) * | 2019-08-23 | 2020-10-27 | 北京骑胜科技有限公司 | App更新方法、装置、电子设备及计算机可读存储介质 |
CN110830822A (zh) * | 2019-11-14 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 资源更新方法、装置及计算机可读存储介质 |
CN110990038A (zh) * | 2019-11-29 | 2020-04-10 | 中化信息技术有限公司 | 用于应用局部更新的方法、装置、电子设备和介质 |
CN110990038B (zh) * | 2019-11-29 | 2023-08-22 | 中化信息技术有限公司 | 用于应用局部更新的方法、装置、电子设备和介质 |
CN111078257A (zh) * | 2019-12-19 | 2020-04-28 | 杭州安恒信息技术股份有限公司 | 一种h5应用包的加载方法及相关装置 |
CN111078257B (zh) * | 2019-12-19 | 2023-09-08 | 杭州安恒信息技术股份有限公司 | 一种h5应用包的加载方法及相关装置 |
CN113076128B (zh) * | 2020-01-03 | 2023-11-10 | 北京猎户星空科技有限公司 | 用于机器人配置的方法、装置、电子设备及存储介质 |
CN113076128A (zh) * | 2020-01-03 | 2021-07-06 | 北京猎户星空科技有限公司 | 用于机器人配置的方法、装置、电子设备及存储介质 |
CN111538514A (zh) * | 2020-04-17 | 2020-08-14 | 北京三快在线科技有限公司 | 企业应用的更新方法、装置、存储介质及电子设备 |
CN111708689A (zh) * | 2020-05-19 | 2020-09-25 | 北京奇艺世纪科技有限公司 | 一种修改ab实验的方法、装置及电子设备 |
CN111752582A (zh) * | 2020-05-25 | 2020-10-09 | 深圳市鸿合创新信息技术有限责任公司 | 局域网内的软件更新方法、装置及电子设备 |
CN112115217A (zh) * | 2020-08-11 | 2020-12-22 | 北京四维图新科技股份有限公司 | 高精地图的数据处理方法、装置、电子设备及存储介质 |
CN112256316A (zh) * | 2020-11-13 | 2021-01-22 | 北京玩蟹科技有限公司 | 客户端应用更新方法及客户端 |
CN112783529B (zh) * | 2021-01-27 | 2024-03-29 | 上海淇玥信息技术有限公司 | 一种控制应用程序预发布与升级的方法、装置和电子设备 |
CN112783529A (zh) * | 2021-01-27 | 2021-05-11 | 上海淇玥信息技术有限公司 | 一种控制应用程序预发布与升级的方法、装置和电子设备 |
CN112882733A (zh) * | 2021-02-04 | 2021-06-01 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN112882733B (zh) * | 2021-02-04 | 2023-09-08 | 网易(杭州)网络有限公司 | 应用更新方法及装置、电子设备、存储介质 |
CN112783515B (zh) * | 2021-02-08 | 2023-08-25 | 腾讯科技(深圳)有限公司 | 插件的控制方法和装置、存储介质 |
CN112783515A (zh) * | 2021-02-08 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 插件的控制方法和装置、存储介质 |
CN113254098A (zh) * | 2021-05-21 | 2021-08-13 | 四川金熊猫新媒体有限公司 | 一种客户端资源处理方法、装置及电子设备 |
CN114422505A (zh) * | 2022-01-25 | 2022-04-29 | 中国农业银行股份有限公司 | 银行柜面交易程序更新传输方法、装置、设备及存储介质 |
CN114422505B (zh) * | 2022-01-25 | 2024-07-05 | 中国农业银行股份有限公司 | 银行柜面交易程序更新传输方法、装置、设备及存储介质 |
CN114546522A (zh) * | 2022-02-07 | 2022-05-27 | 北京百度网讯科技有限公司 | 应用的图片配置方法、装置、电子设备及存储介质 |
CN114546522B (zh) * | 2022-02-07 | 2023-12-12 | 北京百度网讯科技有限公司 | 应用的图片配置方法、装置、电子设备及存储介质 |
CN114527944A (zh) * | 2022-02-22 | 2022-05-24 | 珠海金山数字网络科技有限公司 | 资源文件处理方法及装置 |
CN116700738B (zh) * | 2022-09-20 | 2023-12-12 | 荣耀终端有限公司 | 应用管理方法、电子设备及系统 |
CN116700738A (zh) * | 2022-09-20 | 2023-09-05 | 荣耀终端有限公司 | 应用管理方法、电子设备及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708537A (zh) | 应用更新方法和装置 | |
US8041594B2 (en) | System for importing calendar data from a computer screen into a calendar application | |
US6948163B2 (en) | Remote electronic file builder | |
CN108551487A (zh) | PaaS平台的应用部署方法、装置、服务器及存储介质 | |
CN103150513B (zh) | 拦截应用程序中的植入信息的方法及装置 | |
CN106101256B (zh) | 用于同步数据的方法和装置 | |
CN108614774A (zh) | 自动化测试方法和装置 | |
CN105630684B (zh) | 软件开发工具包识别方法和装置 | |
CN101754407B (zh) | 一种处理业务访问请求的方法、服务器和系统 | |
CN108733380A (zh) | 应用部署方法和装置 | |
CN106843976B (zh) | 用于生成镜像文件的方法和装置 | |
CN106874471A (zh) | 信息推送方法和装置 | |
CN109815105A (zh) | 基于Btrace的应用程序测试方法和装置 | |
CN107491321A (zh) | 一种用于实现软件自动更新的处理方法及装置 | |
CN109582873A (zh) | 用于推送信息的方法和装置 | |
CN108093015A (zh) | 文件传输系统 | |
CN109254914A (zh) | 软件开发包测试方法、系统、计算机装置及可读存储介质 | |
CN100591056C (zh) | 用于处理消息的方法和系统 | |
CN108933695A (zh) | 用于处理信息的方法和装置 | |
CN110365745A (zh) | 数据处理系统、方法、装置、服务器和计算机可读介质 | |
US20130262495A1 (en) | Device application search system | |
CN111666079B (zh) | 软件升级的方法、装置、系统、设备和计算机可读介质 | |
CN107844488A (zh) | 数据查询方法和装置 | |
JP5613295B2 (ja) | 装置へのコンテンツの分配を管理するシステムと方法とプログラムを提供する記憶媒体 | |
CN105262876B (zh) | 通话处理方法、提供电话号码的号码信息的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170524 |