CN110231948B - 应用程序方法、装置、系统、存储介质和计算机设备 - Google Patents

应用程序方法、装置、系统、存储介质和计算机设备 Download PDF

Info

Publication number
CN110231948B
CN110231948B CN201910496765.1A CN201910496765A CN110231948B CN 110231948 B CN110231948 B CN 110231948B CN 201910496765 A CN201910496765 A CN 201910496765A CN 110231948 B CN110231948 B CN 110231948B
Authority
CN
China
Prior art keywords
upgrade
module
version
information
sub
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
CN201910496765.1A
Other languages
English (en)
Other versions
CN110231948A (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 Chengdu Co Ltd
Original Assignee
Tencent Technology Chengdu 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 Chengdu Co Ltd filed Critical Tencent Technology Chengdu Co Ltd
Priority to CN201910496765.1A priority Critical patent/CN110231948B/zh
Publication of CN110231948A publication Critical patent/CN110231948A/zh
Application granted granted Critical
Publication of CN110231948B publication Critical patent/CN110231948B/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/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本申请涉及一种应用程序升级方法、装置、系统、存储介质和计算机设备,所述方法包括:获取应用程序中的至少一个功能子模块所触发的升级请求;根据所述升级请求发送升级查询请求;所述升级查询请求携带所述功能子模块的版本信息;当基于所述升级查询请求中的版本信息确定升级时,接收反馈的升级信息;根据所述升级信息获取与所述版本信息匹配的升级资源;基于所述升级资源更新所述应用程序中相对应的所述功能子模块。本申请提供的方案可以提高应用程序的升级效率。

Description

应用程序方法、装置、系统、存储介质和计算机设备
技术领域
本申请涉及计算机技术领域,特别是涉及一种应用程序方法、装置、系统、存储介质和计算机设备。
背景技术
应用程序是为了完成某项或某几项特定任务而被开发运行于操作系统上的软件程序。升级是应用程序的基本能力之一,用户可通过升级应用程序,从而获得该应用程序所提供的最新的功能和资源。
然而,目前应用程序的升级方式,通常是下载整个应用程序所对应的最新的安装包或资源包,使用重新安装或者资源覆盖的方式来实现应用程序升级。对于简单的应用程序而言,这种方式相对稳定可靠。但对于复杂的应用程序而言,目前的应用程序升级方式,升级粒度大,每次升级都需要将整个应用的安装包都重新下载并安装,安装耗时长,导致应用程序升级效率低。
发明内容
基于此,有必要针对应用程序升级效率低的技术问题,提供一种应用程序升级方法、装置、系统、存储介质和计算机设备。
一种应用程序升级方法,包括:
获取应用程序中的至少一个功能子模块所触发的升级请求;
根据所述升级请求发送升级查询请求;所述升级查询请求携带所述功能子模块的版本信息;
当基于所述升级查询请求中的版本信息确定升级时,接收反馈的升级信息;
根据所述升级信息获取与所述版本信息匹配的升级资源;
基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
在一个实施例中,所述根据所述升级请求发送升级查询请求,包括:
获取触发所述升级请求的各功能子模块分别对应的模块标识和版本信息;
依据所述模块标识和版本信息生成升级查询请求;
向升级服务器发送所述升级查询请求;
所述当基于所述升级查询请求中的版本信息确定升级时,接收反馈的升级信息,包括:
当所述升级服务器基于所述模块标识和版本信息,确定所述功能子模块的版本信息所指示的版本低于所述功能子模块的最高版本时,通过所述升级服务器查找与所述功能子模块匹配的升级信息;
接收所述升级服务器反馈的升级信息。
在一个实施例中,所述方法还包括:
在所述功能子模块更新完成后,根据所述升级资源所对应的版本信息更新所述功能子模块的版本信息。
一种应用程序升级装置,包括:
功能子模块,用于触发升级请求;
主模块,用于获取应用程序中的至少一个功能子模块所触发的升级请求;根据所述升级请求发送升级查询请求;所述升级查询请求携带所述功能子模块的版本信息;当基于所述升级查询请求中的版本信息确定升级时,接收反馈的升级信息;根据所述升级信息获取与所述版本信息匹配的升级资源;并基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取应用程序中的至少一个功能子模块所触发的升级请求;
根据所述升级请求发送升级查询请求;所述升级查询请求携带所述功能子模块的版本信息;
当基于所述升级查询请求中的版本信息确定升级时,接收反馈的升级信息;
根据所述升级信息获取与所述版本信息匹配的升级资源;
基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取应用程序中的至少一个功能子模块所触发的升级请求;
根据所述升级请求发送升级查询请求;所述升级查询请求携带所述功能子模块的版本信息;
当基于所述升级查询请求中的版本信息确定升级时,接收反馈的升级信息;
根据所述升级信息获取与所述版本信息匹配的升级资源;
基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
上述应用程序升级方法、装置、计算机可读存储介质和计算机设备,通过对应用程序进行模块化拆分,当功能子模块需要升级时则可单独触发升级请求。从而获取与该功能子模块的版本信息匹配的升级资源,再基于该升级资源更新应用程序中相对应的功能子模块。这样,通过对应用程序中不同功能子模块的版本管理,可实现以功能子模块为粒度进行升级。当某个功能子模块需要升级时可单独触发升级请求,从而实现该功能子模块的升级更新,降低了升级过程中消耗的下载流量和安装耗时,既降低了升级成本,又大大提高了升级效率。
一种应用程序升级方法,包括:
获取升级查询请求;所述升级查询请求根据应用程序中的至少一个功能子模块所触发的升级请求而生成;所述升级查询请求携带所述功能子模块的版本信息;
当基于所述升级查询请求中的版本信息确定升级时,确定与所述版本信息对应的升级信息,并响应于所述升级查询请求反馈所述升级信息;
接收基于所述升级信息所发起的资源获取请求;
响应于所述资源获取请求,查找与所述升级信息匹配的升级资源并反馈;反馈的所述升级资源用于更新所述应用程序中相对应的所述功能子模块。
在一个实施例中,所述升级查询请求通过升级服务器获取,所述升级信息通过所述升级服务器确定并反馈;所述资源获取请求通过下载服务器接收,所述升级资源通过所述下载服务器查找并反馈;
所述方法还包括:
通过配置服务器,将所述功能子模块对应的最高版本的安装包,分别与比所述最高版本低的每一级历史版本的安装包进行比对,确定与各历史版本的所述功能子模块对应的升级资源;
通过下载服务器存储所述升级资源,并向所述配置服务器反馈存储的所述升级资源对应的链接地址;
通过所述配置服务器,根据各功能子模块的版本信息、所述升级资源对应的版本信息、及所述链接地址生成升级信息,并将所述升级信息发送至所述升级服务器。
在一个实施例中,所述升级查询请求通过升级服务器获取,所述升级信息通过所述升级服务器确定并反馈;所述资源获取请求通过下载服务器接收,所述升级资源通过所述下载服务器查找并反馈;
所述方法还包括:
通过配置服务器,将所述功能子模块对应的最高版本的安装包,与比最高版本低一级的历史版本的安装包进行比对,确定与所述功能子模块对应的升级资源;
通过下载服务器存储所述升级资源,并向所述配置服务器反馈存储的所述升级资源对应的链接地址;
通过所述配置服务器,根据各功能子模块的版本信息、所述升级资源对应的版本信息、及所述链接地址生成升级信息,并将所述升级信息发送至所述升级服务器。
一种应用程序升级装置,包括:
获取模块,用于获取升级查询请求;所述升级查询请求根据应用程序中的至少一个功能子模块所触发的升级请求而生成;所述升级查询请求携带所述功能子模块的版本信息;
升级信息反馈模块,用于当基于所述升级查询请求中的版本信息确定升级时,确定与所述版本信息对应的升级信息,并响应于所述升级查询请求反馈所述升级信息;
接收模块,用于接收基于所述升级信息所发起的资源获取请求;
升级资源反馈模块,用于响应于所述资源获取请求,查找与所述升级信息匹配的升级资源并反馈;反馈的所述升级资源用于更新所述应用程序中相对应的所述功能子模块。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行以下步骤:
获取升级查询请求;所述升级查询请求根据应用程序中的至少一个功能子模块所触发的升级请求而生成;所述升级查询请求携带所述功能子模块的版本信息;
当基于所述升级查询请求中的版本信息确定升级时,确定与所述版本信息对应的升级信息,并响应于所述升级查询请求反馈所述升级信息;
接收基于所述升级信息所发起的资源获取请求;
响应于所述资源获取请求,查找与所述升级信息匹配的升级资源并反馈;反馈的所述升级资源用于更新所述应用程序中相对应的所述功能子模块。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行以下步骤:
获取升级查询请求;所述升级查询请求根据应用程序中的至少一个功能子模块所触发的升级请求而生成;所述升级查询请求携带所述功能子模块的版本信息;
当基于所述升级查询请求中的版本信息确定升级时,确定与所述版本信息对应的升级信息,并响应于所述升级查询请求反馈所述升级信息;
接收基于所述升级信息所发起的资源获取请求;
响应于所述资源获取请求,查找与所述升级信息匹配的升级资源并反馈;反馈的所述升级资源用于更新所述应用程序中相对应的所述功能子模块。
一种应用程序升级系统,其特征在于,所述系统包括终端、升级服务器和下载服务器;
所述终端,用于获取应用程序中的至少一个功能子模块所触发的升级请求;根据所述升级请求向所述升级服务器发送升级查询请求;所述升级查询请求携带所述功能子模块的版本信息;
所述升级服务器,用于接收所述升级查询请求;当基于所述升级查询请求中的版本信息确定升级时,确定与所述版本信息对应的升级信息,并响应于所述升级查询请求反馈所述升级信息;
所述终端,还用于接收所述升级服务器反馈的升级信息;根据所述升级信息向所述下载服务器发送资源获取请求;
所述下载服务器,用于接收所述资源获取请求;响应于所述资源获取请求,查找与所述升级信息匹配的升级资源并反馈;
所述终端还用于基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
上述应用程序升级方法、装置、系统、计算机可读存储介质和计算机设备,获取升级查询请求,并反馈与升级查询请求中携带的功能子模块的版本信息对应的升级信息。其中,该升级查询请求是功能子模块在需要升级时触发的。再接收基于该升级信息所发起的资源获取请求,并反馈相应的升级资源。该升级资源用于更新应用程序中相对应的功能子模块。这样,通过对应用程序中不同功能子模块的版本管理,可实现以功能子模块为粒度进行升级。当某个功能子模块需要升级时可单独触发升级请求,从而实现该功能子模块的升级更新,降低了升级过程中消耗的下载流量和安装耗时,既降低了升级成本,又大大提高了升级效率。
附图说明
图1为一个实施例中应用程序升级方法的应用环境图;
图2为一个实施例中应用程序升级方法的流程示意图;
图3为一个实施例中一个实施例中升级信息的数据结构示意图;
图4为一个实施例中获取应用程序中的至少一个功能子模块所触发的升级请求步骤的流程示意图;
图5为一个实施例中启动应用程序后进入的页面的界面示意图;
图6为一个实施例中应用程序升级方法的流程示意图;
图7为一个实施例中升级信息配置步骤的流程示意图;
图8为一个实施例中配置终端所提供的升级配置页面的界面图;
图9为一个实施例中应用程序系统的架构图;
图10为一个实施例中功能子模块所对应的升级信息的配置流程图;
图11为一个具体实施例中用程序升级方法的流程示意图;
图12为一个实施例中应用程序升级方法的交互图;
图13为一个实施例中应用程序升级装置的结构框图;
图14为一个实施例中应用程序升级装置的结构框图;
图15为另一个实施例中应用程序升级装置的结构框图;
图16为一个实施例中计算机设备的结构框图;
图17为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
图1为一个实施例中应用程序升级方法的应用环境图。参照图1,该应用程序升级方法应用于应用程序升级系统。该应用程序升级系统包括终端110和服务器120。终端110和服务器120通过网络连接。终端110具体可以是台式终端或移动终端,移动终端具体可以手机、平板电脑、笔记本电脑等中的至少一种。服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,终端110上运行操作系统,并在操作系统上运行应用程序,当应用程序中的至少一个功能子模块需要升级时,终端110可获取应用程序中的至少一个功能子模块所触发的升级请求;根据所述升级请求向服务器120发送升级查询请求;所述升级查询请求携带所述功能子模块的版本信息;当基于所述升级查询请求中的版本信息确定升级时,接收服务器120反馈的升级信息;根据所述升级信息获取与所述版本信息匹配的升级资源;基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
如图2所示,在一个实施例中,提供了一种应用程序升级方法。本实施例主要以该方法应用于上述图1中的终端110来举例说明。参照图2,该应用程序升级方法具体包括如下步骤:
S202,获取应用程序中的至少一个功能子模块所触发的升级请求。
其中,应用程序是为了完成某项或某几项特定任务而被开发运行于操作系统上的软件程序。用户可以在终端上安装各种应用程序,如拍照应用程序、社交应用程序或者邮件应用程序等,从而通过终端上安装的这些应用可以实现各种功能,如拍照功能、社交功能或者电子邮件管理功能等。
功能子模块是应用程序中的可用于实现独立的软件功能的程序单元,并且通过至少一个不同的功能子模块间的相互作用,可实现应用程序的所有功能。应用程序中可包括至少一个功能子模块,比如,对于社交应用程序,可具体包括联系人子模块、会话子模块、支付子模块、电子卡包子模块等用于提供不同功能的功能子模块。
可以理解,应用程序中除了包括用于实现不同功能的功能子模块外,还可包括主模块。主模块用于协调和调度各个功能子模块的运行,并负责与外界的其他计算机设备进行交互。当然,除此之外,主模块还可用于实现其他功能,本申请实施例在此不做限定。
具体地,当应用程序中的功能子模块需要升级时,该功能子模块可单独触发升级请求。终端可通过运行的应用程序中的主模块获取各个功能子模块所触发的升级请求。
在一个实施例中,终端可设置升级触发条件,当功能子模块满足升级触发条件时即可触发升级请求。其中,对于不同的功能子模块可以对应相同的升级触发条件或者不同的升级触发条件,本申请实施例对此不做限定。升级触发条件具体可以是检测到作用于功能子模块的触发操作、当前时间点达到预设时间点或距离上一次发起升级请求的时间段达到预设时间周期等。
在一个实施例中,功能子模块可包括升级子程序,主模块包括升级主程序。当用户通过运行在终端上的应用程序进入某个功能子模块所提供的页面时,该升级子程序可自动检测当前的版本是否为最高版本,当该功能子模块对应的版本不是最高版本时,该升级子程序可向升级主程序发起升级请求。
在一个实施例中,终端可设置应用程序中的功能子模块在预设时间点自动触发升级请求,或每间隔预设时间周期则自动触发升级请求。或者,终端可设置应用程序中的功能子模块在预设时间点或间隔预设时间周期后自动检测当前的版本是否为最高版本,若当前版本不是最高版本时,触发升级请求;若当前版本是最高版本时,则等待下一个预设时间点或下一个预设时间周期的到达。
S204,根据升级请求发送升级查询请求;升级查询请求携带功能子模块的版本信息。
其中,升级查询请求是查询升级信息的请求。功能子模块的版本信息是反映该功能子模块所对应的版本类型的信息。功能子模块的版本信息具体可以是该功能子模块所对应的版本号,比如V1.1.1、V1.1.2、或V1.1.3等。其中,不同的版本号对应不同类型的版本。
对于同一个功能子模块的不同版本,可通过相关联的版本号来进行区分。比如,对于同一个功能子模块,每当发布一个新的版本时,新版本的版本号中的数值要高于前一个版本的版本号中的数值。也就是,版本号中的数值越小,则对应的版本越低,版本号中的数值越大,则对应的版本越高。当然,也可设置为新版本的版本号中的数值低于前一个版本的版本号中的数值,本申请实施例在此不做限定。或者,还可通过其他的方式来区分同一个功能子模块所对应的不同版本,比如依据不同的英文字母、或不同的字符等来确定每次新发布的新版本的版本号等。
具体地,终端可获取触发了升级请求的各功能子模块分别对应的版本信息,并依据该版本信息生成升级查询请求。终端可向升级服务器发送该升级查询请求,以获取与版本信息对应的升级信息。
在一个实施例中,功能子模块在需要升级时触发升级请求,该升级请求中携带了该功能子模块的版本信息。终端可通过应用程序中的主模块接收升级请求,并从升级请求中提取出相应的版本信息。
在一个实施例中,功能子模块在需要升级时触发升级请求,该升级请求中并未携带版本信息,终端可通过应用程序中的主模块在收到升级请求后,主动查询触发升级请求的功能子模块所对应的版本信息。
在一个实施例中,终端可通过应用程序中的主模块接收升级请求,在接收到升级请求后,直接根据升级请求生成携带有版本信息的升级查询请求并发送。在这种情况下,单个的功能子模块触发了升级请求后,即可触发发送升级查询请求。
在另一个实施例中,终端还可在达到预设时间段时,根据该时间段内获取的升级请求所对应功能子模块的版本信息,生成升级查询请求。可以理解,在这种情况下,终端所发送的升级查询请求中携带的版本信息可以是一个,也可以是多个。当升级查询请求中仅携带单个功能子模块的版本信息时,在后续步骤中所接收的升级信息也仅包括该功能子模块的升级信息。当升级查询请求中携带多个功能子模块的版本信息时,在后续步骤中所接收的升级信息具体可以包括多个功能子模块对应的升级信息。
其中,升级信息是用于协助功能子模块完成升级时所需的信息,包括升级参考信息和升级资源信息。其中,升级参考信息是功能子模块在升级时可参考的信息,具体包括资源描述信息、功能子模块对应的当前的版本信息、功能子模块对应的可升级版本的版本信息等。升级资源信息是获取升级资源的信息,比如指向升级资源的链接地址,或者是获取升级资源的网址信息等。
参考图3,图3示出了一个实施例中升级信息的数据结构示意图。图3中仅示出了两个功能子模块所对应的升级信息,可以理解,在实际应用中,终端所接收的升级信息也可以是一个功能子模块对应的升级信息、或者三个或三个以上的功能子模块对应的升级信息。具体升级信息中包括升级子模块所对应的升级信息的数量取决于升级查询请求中所包括的版本信息的数量。如图3所示,对于功能子模块A和功能子模块B而言,功能子模块A和功能子模块B分别对应的升级信息具体可包括:当前版本、可升级版本、资源地址、及资源包描述。其中,当前版本通过当前的版本信息体现;可升级版本通过可升级版本的版本信息体现;资源地址具体可以是指向升级资源的链接地址;资源包描述也就是前述实施例中所提到的资源描述信息,是用于描述通过升级资源进行更新时所采用的更新方式的信息。
在一个实施例中,步骤S204,也就是根据升级请求发送升级查询请求的步骤具体包括:获取触发升级请求的各功能子模块分别对应的模块标识和版本信息;依据模块标识和版本信息生成升级查询请求;向升级服务器发送升级查询请求;升级查询请求用于指示升级服务器分别依据各功能子模块各自对应的模块标识和版本信息,查找与各功能子模块分别匹配的升级信息并反馈。
其中,模块标识是用于唯一确定功能子模块的的标识信息,具体可以是字符、汉字、字母、或数字等。具体地,终端可确定触发升级请求的功能子模块,并获取该功能子模块对应的模块标识和版本信息。进而根据模块标识和版本信息生成升级查询请求,并向升级服务器发送升级查询请求。升级服务器在接收到升级查询请求后,可依据模块标识查询该功能子模块对应的最高版本的版本信息,当功能子模块的版本信息与最高版本的版本信息不一致时,则可判定该功能子模块需要升级,进而升级服务器可从预先配置的升级信息中查找与需要升级的功能子模块分别匹配的升级信息并反馈。
在一个实施例中,升级服务器可将预先配置的升级信息存储至数据库或配置文件中,当需要查找时,则可直接从数据库或配置文件中查找。
上述实施例中,依据触发升级请求的功能子模块所对应的模块标识和版本信息生成升级查询请求,并发送至升级服务器,可通过升级服务器依据模块标识和版本信息快速准确地查找与功能子模块匹配的升级信息并反馈。
S206,当基于升级查询请求中的版本信息确定升级时,接收反馈的升级信息。
具体地,终端可将升级查询请求发送至升级服务器,升级服务器基于升级查询请求中的版本信息确定相应的功能子模块是否需要升级。当相应的功能子模块需要升级时,升级服务器可从预先配置的升级信息中查找与需要升级的功能子模块相匹配的升级信息并反馈。终端接收升级服务器反馈的升级信息。
在一个实施例中,升级服务器在接收到升级查询请求后,可查询与功能子模块对应的最高版本的版本信息,当功能子模块的版本信息与最高版本的版本信息不一致时,则可判定该功能子模块需要升级;当功能子模块的版本信息与最高版本的版本信息一致时,则可判定该功能子模块的版本为最高版本,无需升级。
在一个实施例中,当基于升级查询请求中的版本信息确定升级时,接收反馈的升级信息,包括:当升级服务器基于模块标识和版本信息,确定功能子模块的版本信息所指示的版本低于功能子模块的最高版本时,通过升级服务器查找与功能子模块匹配的升级信息;接收升级服务器反馈的升级信息。
具体地,升级服务器在接收到升级查询请求后,可依据模块标识查询该功能子模块对应的最高版本的版本信息。当功能子模块的版本信息所指示的版本低于功能子模块的最高版本时,则可判定该功能子模块需要升级。进而可通过升级服务器查找与功能子模块匹配的升级信息并反馈。终端可通过应用程序接收升级服务器反馈的升级信息。
上述实施例中,当功能子模块的版本信息所指示的版本低于功能子模块的最高版本时,可确定功能子模块需要升级,从而可通过升级服务器反馈与功能子模块的版本信息匹配的升级信息。
在一个实施例中,升级服务器可维护应用程序中的至少一个功能子模块所对应的升级信息,并可基于该升级信息确定各个功能子模块各自对应的最高版本的版本信息。升级服务器可依据各个功能子模块对应的模块标识和最高版本的版本信息建立最高版本查询文件,当需要查询功能子模块的最高版本的版本信息时则可调用该最高版本查询文件。可以理解,每当升级服务器接收到最新版本相关的升级信息时,也就是每当发布了功能子模块的更新版本时,该最高版本查询文件中的最高版本的版本信息需要及时进行相应地更新。
S208,根据升级信息获取与版本信息匹配的升级资源。
其中,升级资源是用于更新功能子模块的资源文件,是一种可执行文件,具体可以是与功能子模块对应的安装包,包括库文件及加载插件等。升级资源具体可以是待更新的功能子模块所对应的完整的安装包,也可以是待更新的功能子模块的当前的版本的安装包与待升级至的新版本的安装包之间的差异内容。
具体地,终端可通过应用程序接收升级信息,并依据升级信息获取与版本信息匹配的升级资源。其中,升级信息中可直接包括升级资源,或者包括获取升级资源的链接地址。
在一个实施例中,该升级信息中包括升级资源,终端可直接从升级信息中提取出升级资源,从而对应用程序中的功能子模块进行升级。
在一个实施例中,该升级信息包括链接地址。其中,链接地址具体可以是指向升级资源的网络地址,或者指向获取升级资源的网页地址等。当终端检测到作用于该链接地址的触发操作时,则可依据该链接地址下载与版本信息匹配的升级资源。
在一个实施例中,升级信息包括链接地址;步骤S208,也就是根据升级信息获取与版本信息匹配的升级资源的步骤具体包括:从升级信息中提取出链接地址;链接地址指向下载服务器中所存储的与功能子模块的版本信息匹配的升级资源;按照链接地址,向下载服务器发送资源获取请求;资源获取请求用于指示下载服务器查找与升级信息匹配的升级资源;接收下载服务器反馈的升级资源。
具体地,升级信息包括链接地址,该链接地址指向下载服务器中所存储的与功能子模块的版本信息匹配的升级资源。终端可从升级信息中提取出链接地址,并按照链接地址,通过应用程序向下载服务器发送资源获取请求。下载服务器接收到资源获取请求后,可从存储的资源中查找与升级信息匹配的升级资源并反馈至终端。终端通过应用程序接收下载服务器反馈的升级资源。
可以理解,前述实施例中所提及的升级服务器和下载服务器、以及后面实施例中所提及的配置服务器,具体可以通过不同的服务器来实现,也可以是通过运行在同一个服务器上的不同服务来实现,本申请实施例在此不做限定。
上述实施例中,可通过升级信息中的链接地址,方便快捷地从下载服务器处下载升级资源,进而依据该升级资源来更新应用程序中待升级的功能子模块。
S210,基于升级资源更新应用程序中相对应的功能子模块。
具体地,终端可依据获取的升级资源,更新应用程序中相对应的功能子模块。当升级资源为待更新的功能子模块所对应的完整的安装包时,终端可通过应用程序中的主模块将升级资源覆盖原有的资源文件进行覆盖式升级。当升级资源为待更新的功能子模块的当前版本的安装包与待升级至的新版本的安装包之间的差异内容时,可依据该升级资源和原有的资源文件对功能子模块进行升级更新。
在一个实施例中,终端可通过应用程序的主模块执行更新功能子模块的步骤。功能子模块在升级的过程中需要退出相应的功能,应用程序的主模块可加载升级资源,以实现相应功能子模块的更新。
在一个实施例中,升级信息包括与功能子模块对应的资源描述信息;基于升级资源更新应用程序中相对应的功能子模块,包括:从升级信息中提取出资源描述信息;资源描述信息是描述通过升级资源进行更新时所采用的更新方式的信息;按照资源描述信息,并基于升级资源更新应用程序中相对应的功能子模块。
其中,资源描述信息是描述通过升级资源进行更新时所采用的更新方式的信息,具体可以是相应的升级参数或加载规则等。在一个实施例中,资源描述信息具体可以是预先设定好的加载规则,比如,当终端的分辨率为A类别时,功能子模块在升级时所加载的图像尺寸为a类尺寸等这样的加载规则。
具体地,终端可从升级信息中提取出资源描述信息,在依据升级资源对应用程序中相对应的功能子模块进行升级时,根据资源描述信息来加载升级资源。可以理解,对于不同的升级资源,其对应的资源描述信息必然也是不一样的。
在一个实施例中,升级资源中包括适应于不同类型的终端的文件。其中,不同类型的终端是指终端所运行的操作系统不同、或终端自身硬件参数不同等。那么,考量到不同类型的终端在升级功能子模块时所适用的文件也可能不同,在加载升级资源时则需要资源描述信息作为指导。通过与升级资源对应的资源描述信息,可指导终端在对应用程序中相应的功能子模块进行升级时加载适配的资源文件。
上述实施例中,按照资源描述信息来加载升级资源,可在资源描述信息的指导下更加适应性的地更新应用程序中相对应的功能子模块,大大扩展了升级资源的适用性。
在一个实施例中,该应用程序升级方法还包括更新功能子模块的版本信息的步骤,该步骤具体包括:在功能子模块更新完成后,根据升级资源所对应的版本信息更新功能子模块的版本信息。
具体地,在在功能子模块更新完成后,终端可通过应用程序的主模块更新功能子模块的版本信息。在一个实施例中,应用程序中的主模块可依据升级资源更新功能子模块所对应的资源,以对功能子模块进行升级。当功能子模块升级完成时,主模块可向该功能子模块反馈指示升级是否成功的信息、以及升级后的版本信息等。当功能子模块升级完成后,用户即可使用升级后的功能子模块所提供的功能。
上述应用程序升级方法,通过对应用程序进行模块化拆分,当功能子模块需要升级时则可单独触发升级请求。从而获取与该功能子模块的版本信息匹配的升级资源,再基于该升级资源更新应用程序中相对应的功能子模块。这样,通过对应用程序中不同功能子模块的版本管理,可实现以功能子模块为粒度进行升级。当某个功能子模块需要升级时可单独触发升级请求,从而实现该功能子模块的升级更新,降低了升级过程中消耗的下载流量和安装耗时,既降低了升级成本,又大大提高了升级效率。
在一个实施例中,步骤S202,也就是获取应用程序中的至少一个功能子模块所触发的升级请求的步骤具体包括以下步骤:
S402,启动应用程序;应用程序包括至少一个功能子模块。
具体地,终端上运行有应用程序,终端可展示进入应用程序的图标,当检测到作用于该图标的启动触发操作时,则可启动应用程序并进入应用程序的主页面。
参考图5,图5为一个实施例中启动应用程序后进入的页面的界面示意图。如图5所示,在初次启动该应用程序时,进入主页面前会显示关于该应用程序的相关信息,比如应用程序图标510、应用程序名称520、应用程序的版本信息530、以及其他的关联信息540。其中,其他的关联信息比如功能介绍、隐私政策、服务条款、许可及服务协议等。当用户点击每个类别的关联信息均可展示该类别关联信息的详细信息。
在一个实施例中,应用程序在开发时,即可通过模块化手段,把不同的功能划分到不同的子模块中,也就是通过不同的功能子模块来实现不同的功能,使得应用程序中的多个功能子模块共同实现应用程序的功能。各个功能子模块间功能的实现可互不干扰,通过应用程序中的主模块来实现调度。这样,当有某个功能子模块需要升级时,则可单独触发升级请求。
S404,当发生作用于功能子模块的第一触发操作时,查询与功能子模块对应的最高版本的版本信息。
其中,第一触发操作是作用于功能子模块的预设操作,检测到第一触发操作将触发查询与功能子模块对应的最高版本的版本信息的动作。其中,触发操作具体可以是触摸操作、光标操作、按键操作或者语音操作。其中,触摸操作可以是触摸点击操作、触摸按压操作或者触摸滑动操作,触摸操作可以是单点触摸操作或者多点触摸操作;光标操作可以是控制光标进行点击的操作或者控制光标进行按压的操作;按键操作可以是虚拟按键操作或者实体按键操作等。
在一个实施例中,功能子模块在客户端上的体现具体可以是可检测的控件,当发生作用于对应控件的第一触发操作时,终端可通过应用程序查询与功能子模块对应的最高版本的版本信息。
在一个实施例中,应用程序的功能子模块对应的最高版本的版本信息具体可以是功能子模块对应的最新版本的版本信息。当发生作用于功能子模块的第一触发操作时,终端可通过功能子模块向服务器发送版本查询请求,该版本查询请求携带功能子模块对应的模块标识。服务器在接收到版本查询请求时,通过模块标识查找与该功能子模块对应的所有已发布版本的版本信息。服务器可将发布时间距离当前时间间距最短的版本所对应的版本信息作为该功能子模块所对应的最高版本的版本信息反馈至终端。或者,当该功能子模块所对应的版本号依据版本高低从低至高依次增加时,服务器可将最高版本号反馈至终端。
在一个实施例中,当发生作用于功能子模块的第一触发操作时,查询与功能子模块对应的最高版本的版本信息,包括:当发生用于进入功能子模块所提供的页面的第一触发操作时,通过功能子模块发送版本查询请求;版本查询请求携带功能子模块对应的模块标识;接收响应于版本查询请求所反馈的、且与模块标识对应的最高版本的版本信息。
具体地,当发生用于进入功能子模块所提供的页面的第一触发操作时,功能子模块可直接依据相应的模块标识向升级服务器或其他的服务器发送版本查询请求。接收到版本查询请求的服务器可从预先存储的版本信息中查找与功能子模块对应的最高版本的版本信息并反馈至终端。这样,当发生作用于功能子模块的第一触发操作时,就可方便快捷地查询当前的最新版本的版本信息,从而判断是否需要升级。
S406,当功能子模块的版本信息与最高版本的版本信息不一致时,通过功能子模块触发升级请求。
具体地,当功能子模块的版本信息与最高版本的版本信息不一致时,也就是功能子模块的版本信息所指示的版本低于功能子模块的最高版本时,则可判定该功能子模块需要升级,此时,功能子模块可向主模块发起升级请求。
上述实施例中,当发生作用于功能子模块的第一触发操作时,可相应查询与功能子模块对应的最高版本的版本信息,从而准确地确定当前的功能子模块是否需要升级,如果需要升级则功能子模块可直接触发升级请求。
在一个实施例中,应用程序的升级方式具体可采用逐级升级的方式,或者一次性升级的方式进行升级。其中,逐级升级的方式也就是一级一级的升级,比如,当功能子模块当前的版本是V1版本,而目前该功能子模块已经发布到V3版本了,那么该功能子模块可先从V1版本升级到V2版本,再从V2版本升级到V3版本。一次性升级的方式也就是直接从当前版本升级到最高版本,比如,当功能子模块当前的版本是V1版本,而目前该功能子模块已经发布到V3版本了,那么该功能子模块可从V1版本直接升级到V3版本。
在一个实施例中,升级资源包括第一差分包;第一差分包依据当前版本的功能子模块对应的安装包,与最高版本的功能子模块对应的安装包间的差异所生成。步骤S210,也就是基于升级资源更新应用程序中相对应的功能子模块的步骤包括:基于第一差分包,将应用程序中相对应的功能子模块升级至最高版本。
其中,差分包是依据功能子模块所对应的不同版本的安装包之间的差异所生成的资源文件。第一差分包是依据当前版本的功能子模块对应的安装包,与最高版本的功能子模块对应的安装包间的差异所生成的资源文件。
具体地,当升级资源是第一差分包时,终端可基于第一差分包,将应用程序中相对应的功能子模块升级至最高版本。可以理解,如果终端可采用这种一次性升级的方式直接将功能子模块从当前版本升级至最高版本,那么后台的下载服务器必然会存储从任何一版的历史版本的功能子模块均可升级至最高版本的功能子模块所需的升级资源,这样,当终端向下载服务器发送资源获取请求时,下载服务器可查找对应当前版本的升级资源并反馈至终端。
关于为实现应用程序中的功能子模块直接从当前版本升级至最高版本,后台的配置服务器、升级服务器和下载服务器所需做的相关准备工作,在后续的实施例中会进行详细说明。
上述实施例中,通过依据当前版本的功能子模块对应的安装包,与最高版本的功能子模块对应的安装包间的差异所生成的第一差分包,可直接将应用程序中的功能子模块从当前版本升级至最高版本,大大提高了应用程序的升级效率。
在一个实施例中,升级资源包括第二差分包;第二差分包依据当前版本的功能子模块对应的安装包,与高一级的版本的功能子模块对应的安装包间的差异所生成。步骤S210,基于升级资源更新应用程序中相对应的功能子模块的步骤具体包括:基于第二差分包,将应用程序中相对应的功能子模块升级至比当前版本高一级的版本。当高一级的版本低于最高版本时,该应用程序升级方法还包括:展示升级选择界面;升级选择界面中包括指示继续升级的控件;当发生作用于控件的第二触发操作时,返回发送升级查询请求的步骤并继续执行,直至将应用程序中相对应的功能子模块升级至最高版本。
其中,第二差分包是依据当前版本的功能子模块对应的安装包,与高一级的版本的功能子模块对应的安装包间的差异所生成的资源文件。
具体地,当升级资源是第二差分包时,终端可基于第二差分包,将应用程序中相对应的功能子模块升级至比当前版本高一级的版本。当此次升级完成后,终端可通过应用程序展示升级选择界面。该升级选择界面中包括指示继续升级的控件、及指示暂停升级的控件。当终端检测到作用于指示继续升级的控件的第二触发操作时,可将升级后的版本信息作为当前的版本信息继续发送升级查询请求,以实现继续升级至更高一级的版本,直到将应用程序中相对应的功能子模块升级至最高版本。当终端检测到作用于指示暂停升级的控件的触发操作时,可结束本次升级流程,等待下次满足升级触发条件时再触发升级请求。
可以理解,如果终端采用这种逐级升级的方式,一级一级的将应用程序中的功能子模块升级至最高版本,那么后台的下载服务器则可仅存储功能子模块所对应的相邻版本间升级所需的升级资源。这样,虽然应用程序需要升级至最高版本时需要逐级升级,但可大大减少下载服务器的存储压力。
关于为实现应用程序中的功能子模块从当前版本逐级升级至最高版本,后台的配置服务器、升级服务器和下载服务器所需做的相关准备工作,在后续的实施例中会进行详细说明。
上述实施例中,通过依据当前版本的功能子模块对应的安装包,与高一级的版本的功能子模块对应的安装包间的差异所生成的第二差分包,可将应用程序逐级升级至最高版本,大大提高了应用程序的升级效率。
如图6所示,在一个实施例中,提供了一种应用程序升级方法。本实施例主要以该方法应用于上述图1中的服务器120来举例说明。参照图6,该应用程序升级方法具体包括如下步骤:
S602,获取升级查询请求;升级查询请求根据应用程序中的至少一个功能子模块所触发的升级请求而生成;升级查询请求携带功能子模块的版本信息。
具体地,终端可运行有应用程序,当应用程序中的功能子模块需要升级时,该功能子模块可单独触发升级请求。终端可通过运行的应用程序中的主模块获取各个功能子模块所触发的升级请求,并基于触发升级请求的各功能子模块分别对应的版本信息,向服务器发送升级查询请求。服务器可接收终端发送的携带有待升级的功能子模块的版本信息的升级查询请求。
其中,关于功能子模块如何触发升级请求、以及终端如何根据升级请求发送升级查询请求的详细内容,可参考前述实施例中关于步骤S202和步骤S204的详细描述,在此不再赘述。
在一个实施例中,该服务器具体可包括升级服务器和下载服务器。终端可向升级服务器发送升级查询请求,从而升级服务器接收该升级查询请求并执行步骤S604。
S604,当基于升级查询请求中的版本信息确定升级时,确定与版本信息对应的升级信息,并响应于升级查询请求反馈升级信息。
具体地,服务器可基于升级查询请求中的版本信息确定相应的功能子模块是否需要升级。当相应的功能子模块需要升级时,服务器可从预先配置的升级信息中查找与需要升级的功能子模块相匹配的升级信息并反馈至终端。
在一个实施例中,服务器在接收到升级查询请求后,可查询与功能子模块对应的最高版本的版本信息,当功能子模块的版本信息与最高版本的版本信息不一致时,也即功能子模块的版本信息所指示的版本低于功能子模块的最高版本时,则可判定该功能子模块需要升级;当功能子模块的版本信息与最高版本的版本信息一致时,则可判定该功能子模块的版本为最高版本,无需升级。当基于升级查询请求中的版本信息确定升级时,服务器可查找与功能子模块匹配的升级信息并反馈至终端。
在一个实施例中,服务器可维护应用程序中的至少一个功能子模块所对应的升级信息,并可基于该升级信息确定各个功能子模块各自对应的最高版本的版本信息。服务器可依据各个功能子模块对应的模块标识和最高版本的版本信息建立最高版本查询文件,当需要查询功能子模块的最高版本的版本信息时则可调用该最高版本查询文件。可以理解,每当服务器接收到最新版本相关的升级信息时,也就是每当发布了功能子模块的更新版本时,该最高版本查询文件中的最高版本的版本信息需要及时进行相应地更新。
S606,接收基于升级信息所发起的资源获取请求。
具体地,当终端接收到服务器反馈的升级信息后,可基于升级信息向服务器发起资源获取请求。在一个实施例中,终端接收到升级服务器反馈的升级信息后,可基于该升级信息向下载服务器发送资源获取请求。并通过下载服务器执行步骤S608。
在一个实施例中,终端可从升级信息中提取出链接地址,并按照链接地址,通过应用程序向下载服务器发送资源获取请求。下载服务器接收到资源获取请求后,可从存储的资源中查找与升级信息匹配的升级资源并反馈至终端。终端通过应用程序接收下载服务器反馈的升级资源。
S608,响应于资源获取请求,查找与升级信息匹配的升级资源并反馈;反馈的升级资源用于更新应用程序中相对应的功能子模块。
具体地,当服务器接收到资源获取请求后,可查找与升级信息匹配的升级资源并反馈。在一个实施例中,升级信息包括链接地址,当终端检测到作用于该链接地址的触发操作时,则可依据该链接地址向服务器发起资源获取请求。服务器接收到资源获取请求后,可查找对应的升级资源并反馈至终端。
在一个实施例中,终端可依据服务器反馈的升级资源,更新应用程序中相对应的功能子模块。其中,终端基于升级资源更新应用程序中相对应的功能子模块的具体内容可参考前述实施例中关于步骤S210的具体描述,在此不再赘述。
上述应用程序升级方法,获取升级查询请求,并反馈与升级查询请求中携带的功能子模块的版本信息对应的升级信息。其中,该升级查询请求是功能子模块在需要升级时触发的。再接收基于该升级信息所发起的资源获取请求,并反馈相应的升级资源。该升级资源用于更新应用程序中相对应的功能子模块。这样,通过对应用程序中不同功能子模块的版本管理,可实现以功能子模块为粒度进行升级。当某个功能子模块需要升级时可单独触发升级请求,从而实现该功能子模块的升级更新,降低了升级过程中消耗的下载流量和安装耗时,既降低了升级成本,又大大提高了升级效率。
在一个实施例中,升级查询请求通过升级服务器获取,升级信息通过升级服务器确定并反馈;资源获取请求通过下载服务器接收,升级资源通过下载服务器查找并反馈。
可以理解,本申请实施例中所提及的服务器具体可包括升级服务器和下载服务器。其中,升级服务器和下载服务器可通过同一个物理设备部署实现,也可以通过不同的物理设备部署实现,本申请实施例在此不做限定。
在一个实施例中,升级服务器获取升级查询请求;升级查询请求根据应用程序中的至少一个功能子模块所触发的升级请求而生成;升级查询请求携带功能子模块的版本信息。当基于升级查询请求中的版本信息确定升级时,升级服务器确定与版本信息对应的升级信息,并响应于升级查询请求反馈升级信息。下载服务器接收基于升级信息所发起的资源获取请求;并响应于资源获取请求,查找与升级信息匹配的升级资源并反馈;反馈的升级资源用于更新应用程序中相对应的功能子模块。这样,通过升级服务器和下载服务器的分工合作,可实现应用程序的模块化粒度升级,大大提高了应用程序的升级效率。
在一个实施例中,该应用程序升级方法还包括升级信息配置的步骤,该步骤具体包括:
S702,通过配置服务器,将功能子模块对应的最高版本的安装包和相应的历史版本的安装包进行比对,确定与功能子模块对应的升级资源。
具体地,配置服务器可获取配置终端所提交的与应用程序中的各个功能子模块对应的最高版本的安装包。配置文件可将各个功能子模块对应的最高版本的安装包和相应的历史版本的安装包进行比对,筛选出最高版本的安装包和相应的历史版本的安装包之间的差异内容,并将差异内容作为与功能子模块对应的升级资源。
S704,通过下载服务器存储升级资源,并向配置服务器反馈存储的升级资源对应的链接地址。
具体地,配置服务器确定了与功能子模块对应的升级资源后,可将升级资源上传到下载服务器。下载服务器存储对应的升级资源,并向配置服务器反馈存储该升级资源对应的链接地址。
S706通过配置服务器,根据各功能子模块的版本信息、升级资源对应的版本信息、及链接地址生成升级信息,并将升级信息发送至升级服务器。
具体地,配置服务器可根据各功能子模块的版本信息、升级资源对应的版本信息、及链接地址生成升级信息,并将升级信息发送至升级服务器。
在一个实施例中,每当配置服务器中生成了新的升级信息时,配置服务器就可即时将升级信息同步至升级服务器。或者,配置服务器还可每间隔预设时间段时再将该预设时间段内所生成的升级信息发送至升级服务器。
在一个实施例中,升级服务器向配置终端反馈升级信息的配置结果。参考图8,图8为一个实施例中配置终端所提供的升级配置页面的界面图。用户可通过图8所示的升级配置界面管理配置服务器所配置的升级信息。如图8所示,升级配置页面中可包括“新增”的按钮,点击可增加新的功能子模块对应的升级配置栏。参考图8,图8中示例性地示出了3个功能子模块所对应的升级配置栏,其中,每一栏都包括以下信息:“功能子模块标识”(也就是ID,Identity)、“功能子模块名称”(bussiness name)、“系统”、“当前版本”、“最低版本”、“最高版本”、“业务包”(bussiness包,也就是升级资源)及“备注”等信息。比如,对于ID为26的功能子模块,其名称为“TVStationQualityColumnList_New”;对应的系统为“ios”;当前版本为690;最低版本为680;最高版本为800;业务包所对应的地址为“http://abc.12345678.zip”;备注为“电视台的新闻栏”。对于ID为25的功能子模块,其名称为“TVStationQualityColumnList”;对应的系统为“ios”;当前版本为700;最低版本为680;最高版本为800;业务包所对应的地址为“http://abc.23456789.zip”;暂无备注。对于ID为24的功能子模块,其名称为“TVStationList_New”;对应的系统为“ios”;当前版本为700;最低版本为680;最高版本为800;业务包所对应的地址为“http://abc.34567890.zip”;暂无备注。其中“ios”表示苹果操作系统。
可以理解,本申请实施例中所提及的服务器具体还可包括配置服务器。其中,升级服务器、下载服务器和配置服务器可通过同一个物理设备部署实现,也可以通过不同的物理设备部署实现,本申请实施例在此不做限定。
可以理解,对于每一个功能子模块的每一次升级发布,配置服务器均可采用上述方式配置升级资源和相应的升级信息。
上述实施例中,通过配置服务器确定与功能子模块对应的升级资源,并发送至下载服务器进行存储;配置服务器再生成相应的升级信息发送至升级服务器供升级服务器反馈升级信息。这样,在服务器层面增加了配置服务器,可用于管理不同功能子模块的资源文件,以及对新的版本的资源文件进行分析,以得到不同功能子模块的升级资源和升级信息,以使得在应用程序的功能子模块需要升级时,可通过升级服务器和下载服务器的分工合作来实现模块化粒度升级,大大提高了应用程序的升级效率。
在一个实施例中,应用程序的升级方式具体可采用逐级升级的方式,或者一次性升级的方式进行升级。对于逐级升级的方式和一次性升级方式而言,后台相应的服务器所执行的配置动作也会有所差异。
在一个实施例中,步骤S702,也就是通过配置服务器,将功能子模块对应的最高版本的安装包和相应的历史版本的安装包进行比对,确定与功能子模块对应的升级资源的步骤具体包括:通过配置服务器,将功能子模块对应的最高版本的安装包,分别与比最高版本低的每一级历史版本的安装包进行比对,确定与各历史版本的功能子模块对应的升级资源。
具体地,配置服务器在进行升级资源配置时,可将功能子模块对应的最高版本的安装包,分别与比最高版本低的每一级历史版本的安装包进行比对,从而确定与各历史版本的功能子模块对应的升级资源。
进一步地,配置服务器可将与各历史版本的功能子模块对应的升级资源均上传至下载服务器供下载服务器存储。配置服务器可获取分别将各历史版本的功能子模块升级至最高版本的升级资源所对应的链接地址。配置服务器可依据对应关系分别确定对应的升级信息并发送至升级服务器。
举例说明,以功能子模块A为例进行说明,当功能子模块A的历史版本包括V1版本和V2版本,而目前该功能子模块A的最高版本为V3版本。配置服务器在获取到V3版本对应的安装包B3时,可与历史版本V1对应的安装包B1进行比对,确定由V1版本升级至V3版本所需的差分包C1;将安装包B3与历史版本V2对应的安装包B2进行比对,确定由V2版本升级至V3版本所需的差分包C2。从而将差分包C1和差分包C2发送至下载服务器,下载服务器将差分包C1存储至与链接地址L1对应的位置;将差分包C2存储至与链接地址L2对应的位置处,并反馈链接地址L1和链接地址L2至配置服务器。
配置服务器可依据该功能子模块A的历史版本V1和可升级版本V3、及相应的链接地址L1,生成对应的升级信息1;依据该功能子模块A的历史版本V2和可升级版本V3、及相应的链接地址L2,生成对应的升级信息2。配置服务器将升级信息1和升级信息2发送至升级服务器。当终端发送的升级查询请求所携带的版本信息表示功能子模块A处于V1版本时,升级服务器可反馈相应的升级信息1至终端,从而使得终端获取差分包C1,将功能子模块A升级至最高版本V3。
可以理解,对于应用程序中每一个功能子模块的每一次升级发布,配置服务器均可采用上述方式配置升级资源和相应的升级信息。
上述实施例中,将功能子模块对应的最高版本的安装包,分别与比最高版本低的每一级历史版本的安装包进行比对,以此来确定与各历史版本的功能子模块对应的升级资源。这样,可提供任何历史版本的功能子模块升级至最高版本的升级资源,使得应用程序的功能子模块可从当前版本直接升级至最高版本,减少了一级一级升级的流量浪费和资源浪费,大大提高了应用程序的升级效率。
在一个实施例中,步骤S702,也就是通过配置服务器,将功能子模块对应的最高版本的安装包和相应的历史版本的安装包进行比对,确定与功能子模块对应的升级资源,包括:通过配置服务器,将功能子模块对应的最高版本的安装包,与比最高版本低一级的历史版本的安装包进行比对,确定与功能子模块对应的升级资源。
具体地,配置服务器在进行升级资源配置时,可将功能子模块对应的最高版本的安装包,与比最高版本低一级的历史版本的安装包进行比对,以确定与功能子模块对应的升级资源。
进一步地,配置服务器可将与比最高版本低一级的历史版本的功能子模块对应的升级资源上传至下载服务器供下载服务器存储。配置服务器可获取将比最高版本低一级的历史版本的功能子模块升级至最高版本的升级资源所对应的链接地址。配置服务器可依据对应关系分别确定对应的升级信息并发送至升级服务器。
举例说明,以功能子模块A为例进行说明,当功能子模块A的历史版本包括V1版本和V2版本,而目前该功能子模块A的最高版本为V3版本。配置服务器在获取到V3版本对应的安装包B3时,可与历史版本V2对应的安装包B2进行比对,确定由V2版本升级至V3版本所需的差分包C2。从而将差分包C2发送至下载服务器,下载服务器将差分包与链接地址L2对应的位置处,并反馈链接地址L2至配置服务器。
可以理解,当V2版本刚发布时,配置服务器在获取到V2版本对应的安装包B2时,可与历史版本V1对应的安装包B1进行比对,确定由V1版本升级至V2版本所需的差分包C3。从而将差分包C3发送至下载服务器,下载服务器将差分包C3与链接地址L3对应的位置处,并反馈链接地址L3至配置服务器。
也就是说,对于应用程序中每一个功能子模块的每一次升级发布,配置服务器均可依据当前发布的版本与前一次发布的版本之间的差异来配置升级资源及相应的升级信息。
配置服务器可依据该功能子模块A的历史版本V2和可升级版本V3、及相应的链接地址L2,生成对应的升级信息2。配置服务器将升级信息2发送至升级服务器。同时,升级服务器中还存储有前一次,配置服务器依据该功能子模块A的历史版本V1和可升级版本V2、及相应的链接地址L3,生成的升级信息3。当终端发送的升级查询请求所携带的版本信息表示功能子模块A处于V1版本时,升级服务器可反馈相应的升级信息3至终端,从而使得终端获取差分包C3,将功能子模块A升级至高一级的版本V2。当终端发送的升级查询请求所携带的版本信息表示功能子模块A处于V2版本时,升级服务器可反馈相应的升级信息2至终端,从而使得终端获取差分包C2,将功能子模块A升级至高一级的版本V3。
上述实施例中,将功能子模块对应的最高版本的安装包,与比最高版本低一级的历史版本的安装包进行比对,以此来确定与功能子模块对应的升级资源。虽然应用程序需要升级至最高版本时需要逐级升级,但可大大减少下载服务器的存储压力。
参考图9,图9示出了一个实施例中应用程序系统的架构图。如图9所示,该应用程序系统包括终端、升级服务器、配置服务器和下载服务器。其中,终端上运行有应用程序的客户端,客户端包括多个(图9中以3个为例)功能子模块,包括功能子模块A、功能子模块B和功能子模块C。配置服务器可预先获取各个功能子模块对应的最新版本的安装包,并将安装包进行分析得到升级包(也就是升级资源),配置服务器将升级包上传至下载服务器,下载服务器反馈存储该升级包的链接地址至配置服务器。配置服务器据此更新升级服务器中的升级信息。当终端发起升级查询请求时,升级服务器可反馈相匹配的升级信息;终端再依据升级信息从下载服务器处下载升级资源,以完成应用程序中功能子模块的升级。
如图9所示,在客户端层面,通过模块化方式,将不同的功能划分到不同的功能子模块中,每个功能子模块均可以单独发起升级请求。服务器层面增加了配置服务器,用于管理不同模块的资源信息,以及对新版本的资源文件进行分析,得到不同功能子模块所对应的升级信息,并同步给升级服务器。
在一个实施例中,提供了一种应用程序升级系统,系统包括终端、升级服务器和下载服务器。终端,用于获取应用程序中的至少一个功能子模块所触发的升级请求;并根据升级请求向升级服务器发送升级查询请求;升级查询请求携带功能子模块的版本信息。升级服务器,用于接收升级查询请求;当基于升级查询请求中的版本信息确定升级时,确定与版本信息对应的升级信息,并响应于升级查询请求反馈升级信息。终端,还用于接收升级服务器反馈的升级信息;根据升级信息向下载服务器发送资源获取请求。下载服务器,用于接收资源获取请求;响应于资源获取请求,查找与升级信息匹配的升级资源并反馈。终端还用于基于升级资源更新应用程序中相对应的功能子模块。
参考图10,图10为一个实施例中功能子模块所对应的升级信息的配置流程图。如图10所示,配置终端向配置服务器发送新版本的资源文件。配置服务器将新版本的资源文件与历史版本的资源文件进行比对,筛选出差异内容(也就是升级资源);并将差异内容上传到下载服务器。下载服务器将存储差异内容所对应的链接地址反馈至配置服务器。配置服务器根据差异内容,更新各个功能子模块的升级信息,其中,升级新包括模块标识、当前版本、可升级版本、及链接地址等。配置服务器将升级信息发送至升级服务器。配置服务器向配置终端返回处理结果。
如图11所示,在一个具体的实施例中,该应用程序升级方法包括以下步骤:
S1102,启动应用程序;应用程序包括至少一个功能子模块。
S1104,当发生用于进入功能子模块所提供的页面的第一触发操作时,通过功能子模块发送版本查询请求;版本查询请求携带功能子模块对应的模块标识。
S1106,接收响应于版本查询请求所反馈的、且与模块标识对应的最高版本的版本信息。
S1108,当功能子模块的版本信息与最高版本的版本信息不一致时,通过功能子模块触发升级请求。
S1110,获取触发升级请求的各功能子模块分别对应的模块标识和版本信息。
S1112,依据模块标识和版本信息生成升级查询请求。
S1114,向升级服务器发送升级查询请求。
S1116,当升级服务器基于模块标识和版本信息,确定功能子模块的版本信息所指示的版本低于功能子模块的最高版本时,通过升级服务器查找与功能子模块匹配的升级信息。
S1118,接收升级服务器反馈的升级信息;升级信息包括链接地址。
S1120,从升级信息中提取出链接地址;链接地址指向下载服务器中所存储的与功能子模块的版本信息匹配的升级资源。
S1122,按照链接地址,向下载服务器发送资源获取请求;资源获取请求用于指示下载服务器查找与升级信息匹配的升级资源。
S1124,接收下载服务器反馈的升级资源。
S1126,从升级信息中提取出资源描述信息;资源描述信息是描述通过升级资源进行更新时所采用的更新方式的信息。
S1128,按照资源描述信息,并基于升级资源更新应用程序中相对应的功能子模块。
S1130,在功能子模块更新完成后,根据升级资源所对应的版本信息更新功能子模块的版本信息。
上述应用程序升级方法,通过对应用程序进行模块化拆分,当功能子模块需要升级时则可单独触发升级请求。从而获取与该功能子模块的版本信息匹配的升级资源,再基于该升级资源更新应用程序中相对应的功能子模块。这样,通过对应用程序中不同功能子模块的版本管理,可实现以功能子模块为粒度进行升级。当某个功能子模块需要升级时可单独触发升级请求,从而实现该功能子模块的升级更新,降低了升级过程中消耗的下载流量和安装耗时,既降低了升级成本,又大大提高了升级效率。
图11为一个实施例中应用程序升级方法的流程示意图。应该理解的是,虽然图11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图11中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个具体地实施例中,参考图12,图12为一个实施例中应用程序升级方法的交互图。如图12所示,终端运行的客户端包括主模块和功能子模块。当功能子模块需要升级时,可触发升级请求,并将升级请求发送至客户端中的主模块。主模块可提交触发升级请求的功能子模块的版本号,向升级服务器发送升级查询请求,以请求升级信息。升级服务器判断版本号,选择合适的升级资源,并返回对应的升级信息。客户端依据升级信息中的链接地址向下载服务器请求升级资源。下载服务器将升级资源反馈至客户端。客户端中的主模块更新待升级的功能子模块,并通知功能子模块升级结果和升级版本号。
在具体应用场景中,对于运行于终端中的应用程序的升级,比如掌上、助手系列APP(Application,应用程序)的升级,均可通过本申请实施例中所提供的应用程序升级方法实现独立功能子模块的升级。比如,终端上运行有社交应用程序,该社交应用程序具体包括联系人子模块、会话子模块、支付子模块、电子卡包子模块等用于提供不同功能的功能子模块。当用户点击联系人子模块所对应的控件,进入联系人页面时,联系人子模块可检测是否需要升级,当需要升级时,则可通过终端执行该应用程序升级方法,以实现社交应用中联系人子模块的升级更新。
如图13所示,在一个实施例中,提供了应用程序升级装置1300,包括功能子模块1301和主模块1302,其中功能子模块1301的数量可以是一个也可是多于一个,其中:
功能子模块1301,用于触发升级请求。
主模块1302,用于获取应用程序中的至少一个功能子模块所触发的升级请求;根据升级请求发送升级查询请求;升级查询请求携带功能子模块的版本信息;当基于升级查询请求中的版本信息确定升级时,接收反馈的升级信息;根据升级信息获取与版本信息匹配的升级资源;并基于升级资源更新应用程序中相对应的功能子模块。
在一个实施例中,主模块1302还用于启动应用程序;应用程序包括至少一个功能子模块。子功能模块1301还用于当发生作用于功能子模块的第一触发操作时,查询与功能子模块对应的最高版本的版本信息。子功能模块1301还用于当功能子模块的版本信息与最高版本的版本信息不一致时,通过功能子模块触发升级请求。
在一个实施例中,功能子模块1301还用于当发生用于进入功能子模块所提供的页面的第一触发操作时,通过功能子模块发送版本查询请求;版本查询请求携带功能子模块对应的模块标识;接收响应于版本查询请求所反馈的、且与模块标识对应的最高版本的版本信息。
在一个实施例中,主模块1302还用于获取触发升级请求的各功能子模块分别对应的模块标识和版本信息;依据模块标识和版本信息生成升级查询请求;向升级服务器发送升级查询请求;升级查询请求用于指示升级服务器分别依据各功能子模块各自对应的模块标识和版本信息,查找与各功能子模块分别匹配的升级信息并反馈。
在一个实施例中,当升级服务器基于模块标识和版本信息,确定功能子模块的版本信息所指示的版本低于功能子模块的最高版本时,通过升级服务器查找与功能子模块匹配的升级信息。主模块1302还用于接收升级服务器反馈的升级信息。
在一个实施例中,升级信息包括链接地址;主模块1302还用于从升级信息中提取出链接地址;链接地址指向下载服务器中所存储的与功能子模块的版本信息匹配的升级资源;按照链接地址,向下载服务器发送资源获取请求;资源获取请求用于指示下载服务器查找与升级信息匹配的升级资源;接收下载服务器反馈的升级资源。
在一个实施例中,升级资源包括第一差分包;第一差分包依据当前版本的功能子模块对应的安装包,与最高版本的功能子模块对应的安装包间的差异所生成;主模块1302还用于基于第一差分包,将应用程序中相对应的功能子模块升级至最高版本。
在一个实施例中,升级资源包括第二差分包;第二差分包依据当前版本的功能子模块对应的安装包,与高一级的版本的功能子模块对应的安装包间的差异所生成。主模块1302还用于基于第二差分包,将应用程序中相对应的功能子模块升级至比当前版本高一级的版本。当高一级的版本低于最高版本时,主模块1302还用于展示升级选择界面;升级选择界面中包括指示继续升级的控件;当发生作用于控件的第二触发操作时,返回发送升级查询请求的步骤并继续执行,直至将应用程序中相对应的功能子模块升级至最高版本。
在一个实施例中,升级信息包括与功能子模块对应的资源描述信息;主模块1302还用于从升级信息中提取出资源描述信息;资源描述信息是描述通过升级资源进行更新时所采用的更新方式的信息;按照资源描述信息,并基于升级资源更新应用程序中相对应的功能子模块。
在一个实施例中,主模块1302还用于在功能子模块更新完成后,根据升级资源所对应的版本信息更新功能子模块的版本信息。
上述应用程序升级装置,通过对应用程序进行模块化拆分,当功能子模块需要升级时则可单独触发升级请求。从而获取与该功能子模块的版本信息匹配的升级资源,再基于该升级资源更新应用程序中相对应的功能子模块。这样,通过对应用程序中不同功能子模块的版本管理,可实现以功能子模块为粒度进行升级。当某个功能子模块需要升级时可单独触发升级请求,从而实现该功能子模块的升级更新,降低了升级过程中消耗的下载流量和安装耗时,既降低了升级成本,又大大提高了升级效率。
如图14所示,在一个实施例中,提供了应用程序升级装置1400,包括获取模块1401、升级信息反馈模块1402、接收模块1403、及升级资源反馈模块1404,其中:
获取模块1401,用于获取升级查询请求;升级查询请求根据应用程序中的至少一个功能子模块所触发的升级请求而生成;升级查询请求携带功能子模块的版本信息。
升级信息反馈模块1402,用于当基于升级查询请求中的版本信息确定升级时,确定与版本信息对应的升级信息,并响应于升级查询请求反馈升级信息。
接收模块1403,用于接收基于升级信息所发起的资源获取请求。
升级资源反馈模块1404,用于响应于资源获取请求,查找与升级信息匹配的升级资源并反馈;反馈的升级资源用于更新应用程序中相对应的功能子模块。
在一个实施例中,获取模块1401和升级信息反馈模块1402集成在升级服务器中;接收模块1403和升级资源反馈模块1404集成在下载服务器中。
如图15所示,在一个实施例中,该应用程序升级装置1400还包括确定模块1405、存储模块1406、和生成模块1407,其中:
确定模块1405,集成在配置服务器中,用于将功能子模块对应的最高版本的安装包和相应的历史版本的安装包进行比对,确定与功能子模块对应的升级资源。
存储模块1406,集成在下载服务器中,用于存储升级资源,并向配置服务器反馈存储的升级资源对应的链接地址。
生成模块1407,集成在配置服务器中,用于根据各功能子模块的版本信息、升级资源对应的版本信息、及链接地址生成升级信息,并将升级信息发送至升级服务器。
在一个实施例中,确定模块1405还用于将功能子模块对应的最高版本的安装包,分别与比最高版本低的每一级历史版本的安装包进行比对,确定与各历史版本的功能子模块对应的升级资源。
在一个实施例中,确定模块1405还用于将功能子模块对应的最高版本的安装包,与比最高版本低一级的历史版本的安装包进行比对,确定与功能子模块对应的升级资源。
上述应用程序升级装置,获取升级查询请求,并反馈与升级查询请求中携带的功能子模块的版本信息对应的升级信息。其中,该升级查询请求是功能子模块在需要升级时触发的。再接收基于该升级信息所发起的资源获取请求,并反馈相应的升级资源。该升级资源用于更新应用程序中相对应的功能子模块。这样,通过对应用程序中不同功能子模块的版本管理,可实现以功能子模块为粒度进行升级。当某个功能子模块需要升级时可单独触发升级请求,从而实现该功能子模块的升级更新,降低了升级过程中消耗的下载流量和安装耗时,既降低了升级成本,又大大提高了升级效率。
图16示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的终端110。如图16所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现应用程序升级方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行应用程序升级方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的应用程序升级装置可以实现为一种计算机程序的形式,计算机程序可在如图16所示的计算机设备上运行。计算机设备的存储器中可存储组成该应用程序升级装置的各个程序模块,比如,图13所示的功能子模块和主模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的应用程序升级方法中的步骤。
例如,图16所示的计算机设备可以通过如图13所示的应用程序升级装置中的功能子模块执行触发升级请求的步骤。计算机设备可通过主模块模块执行步骤S202-S210。
图17示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的服务器120。如图17所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现应用程序升级方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行应用程序升级方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的应用程序升级装置可以实现为一种计算机程序的形式,计算机程序可在如图17所示的计算机设备上运行。计算机设备的存储器中可存储组成该应用程序升级装置的各个程序模块,比如,图15所示的获取模块、升级信息反馈模块、接收模块和升级资源反馈模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的应用程序升级方法中的步骤。
例如,图17所示的计算机设备可以通过如图15所示的应用程序升级装置中的获取模块执行步骤S602。计算机设备可通过升级信息反馈模块执行步骤S604。计算机设备可通过接收模块执行步骤S606。计算机设备可通过升级资源反馈模块执行步骤S608。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述应用程序升级方法的步骤。此处应用程序升级方法的步骤可以是上述各个实施例的应用程序升级方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行上述应用程序升级方法的步骤。此处应用程序升级方法的步骤可以是上述各个实施例的应用程序升级方法中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (24)

1.一种应用程序升级方法,包括:
启动应用程序;所述应用程序包括主模块和至少一个功能子模块;
当发生作用于所述功能子模块的第一触发操作时,通过所述功能子模块从升级服务器查询与所述功能子模块对应的最高版本的版本信息;
当所述功能子模块的版本信息与所述最高版本的版本信息不一致时,通过所述功能子模块触发升级请求;
通过所述主模块,接收所述升级请求,根据所述升级请求生成并发送升级查询请求至所述升级服务器;所述升级查询请求携带所述功能子模块的版本信息;
当所述升级服务器基于所述升级查询请求中的版本信息确定升级时,通过所述主模块接收所述升级服务器反馈的升级信息;
通过所述主模块,根据所述升级信息获取与所述功能子模块的版本信息匹配的升级资源;
通过所述主模块,基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
2.根据权利要求1所述的方法,其特征在于,所述当发生作用于所述功能子模块的第一触发操作时,通过所述功能子模块从升级服务器查询与所述功能子模块对应的最高版本的版本信息,包括:
当发生用于进入所述功能子模块所提供的页面的第一触发操作时,通过所述功能子模块发送版本查询请求至升级服务器;所述版本查询请求携带所述功能子模块对应的模块标识;
接收所述升级服务器响应于所述版本查询请求所反馈的、且与所述模块标识对应的最高版本的版本信息。
3.根据权利要求1所述的方法,其特征在于,所述根据所述升级请求生成并发送升级查询请求至所述升级服务器,包括:
获取触发所述升级请求的各功能子模块分别对应的模块标识和版本信息;
依据所述模块标识和版本信息生成升级查询请求;
向所述升级服务器发送所述升级查询请求;所述升级查询请求用于指示所述升级服务器分别依据各所述功能子模块各自对应的模块标识和版本信息,查找与各所述功能子模块分别匹配的升级信息并反馈。
4.根据权利要求1所述的方法,其特征在于,所述升级信息包括链接地址;所述根据所述升级信息获取与所述版本信息匹配的升级资源,包括:
从所述升级信息中提取出所述链接地址;所述链接地址指向下载服务器中所存储的与所述功能子模块的版本信息匹配的升级资源;
按照所述链接地址,向所述下载服务器发送资源获取请求;所述资源获取请求用于指示所述下载服务器查找与所述升级信息匹配的升级资源;
接收所述下载服务器反馈的所述升级资源。
5.根据权利要求4所述的方法,其特征在于,所述升级资源包括第一差分包;所述第一差分包依据当前版本的所述功能子模块对应的安装包,与最高版本的所述功能子模块对应的安装包间的差异所生成;所述基于所述升级资源更新所述应用程序中相对应的所述功能子模块,包括:
基于所述第一差分包,将所述应用程序中相对应的所述功能子模块升级至最高版本。
6.根据权利要求4所述的方法,其特征在于,所述升级资源包括第二差分包;所述第二差分包依据当前版本的所述功能子模块对应的安装包,与高一级的版本的所述功能子模块对应的安装包间的差异所生成;所述基于所述升级资源更新所述应用程序中相对应的所述功能子模块,包括:
基于所述第二差分包,将所述应用程序中相对应的所述功能子模块升级至比当前版本高一级的版本;
当所述高一级的版本低于最高版本时,所述方法还包括:
展示升级选择界面;所述升级选择界面中包括指示继续升级的控件;
当发生作用于所述控件的第二触发操作时,返回所述发送升级查询请求的步骤并继续执行,直至将所述应用程序中相对应的所述功能子模块升级至最高版本。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述升级信息包括与所述功能子模块对应的资源描述信息;所述基于所述升级资源更新所述应用程序中相对应的所述功能子模块,包括:
从所述升级信息中提取出所述资源描述信息;所述资源描述信息是描述通过所述升级资源进行更新时所采用的更新方式的信息;
按照所述资源描述信息,并基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
8.根据权利要求7所述的方法,其特征在于,所述升级资源包括适用于不同类型的终端的资源文件;所述按照所述资源描述信息,并基于所述升级资源更新所述应用程序中相对应的所述功能子模块,包括:
在对所述应用程序中相对应的所述功能子模块进行升级时,通过所述资源描述信息,加载所述升级资源中与所述应用程序所在终端适配的资源文件。
9.一种应用程序升级方法,包括:
获取升级查询请求;所述升级查询请求是应用程序中的主模块根据应用程序中的至少一个功能子模块所触发的升级请求而生成;所述升级查询请求携带所述功能子模块的版本信息;所述升级请求是当发生作用于所述功能子模块的第一触发操作时,通过所述功能子模块从升级服务器查询与所述功能子模块对应的最高版本的版本信息,当所述功能子模块的版本信息与所述最高版本的版本信息不一致时,通过所述功能子模块触发的;
当基于所述升级查询请求中的版本信息确定升级时,确定与所述功能子模块的版本信息对应的升级信息,并响应于所述升级查询请求反馈所述升级信息;
接收基于所述升级信息所发起的资源获取请求;
响应于所述资源获取请求,查找与所述升级信息匹配的升级资源并反馈;反馈的所述升级资源用于更新所述应用程序中相对应的所述功能子模块。
10.根据权利要求9所述的方法,其特征在于,所述升级查询请求通过升级服务器获取,所述升级信息通过所述升级服务器确定并反馈;所述资源获取请求通过下载服务器接收,所述升级资源通过所述下载服务器查找并反馈。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
通过配置服务器,将所述功能子模块对应的最高版本的安装包和相应的历史版本的安装包进行比对,确定与所述功能子模块对应的升级资源;
通过下载服务器存储所述升级资源,并向所述配置服务器反馈存储的所述升级资源对应的链接地址;
通过所述配置服务器,根据各功能子模块的版本信息、所述升级资源对应的版本信息、及所述链接地址生成升级信息,并将所述升级信息发送至所述升级服务器。
12.一种应用程序升级装置,包括:
主模块,用于启动应用程序;所述应用程序包括主模块和至少一个功能子模块;
功能子模块,用于当发生作用于所述功能子模块的第一触发操作时,从升级服务器查询与所述功能子模块对应的最高版本的版本信息,当所述功能子模块的版本信息与所述最高版本的版本信息不一致时,触发升级请求;
所述主模块,还用于接收所述升级请求,根据所述升级请求生成并发送升级查询请求至所述升级服务器;所述升级查询请求携带所述功能子模块的版本信息;当所述升级服务器基于所述升级查询请求中的版本信息确定升级时,接收所述升级服务器反馈的升级信息;根据所述升级信息获取与所述功能子模块的版本信息匹配的升级资源;并基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
13.根据权利要求12所述的装置,其特征在于,所述功能子模块还用于:
当发生用于进入所述功能子模块所提供的页面的第一触发操作时,通过所述功能子模块发送版本查询请求至升级服务器;所述版本查询请求携带所述功能子模块对应的模块标识;
接收所述升级服务器响应于所述版本查询请求所反馈的、且与所述模块标识对应的最高版本的版本信息。
14.根据权利要求12所述的装置,其特征在于,所述主模块还用于:
获取触发所述升级请求的各功能子模块分别对应的模块标识和版本信息;
依据所述模块标识和版本信息生成升级查询请求;
向所述升级服务器发送所述升级查询请求;所述升级查询请求用于指示所述升级服务器分别依据各所述功能子模块各自对应的模块标识和版本信息,查找与各所述功能子模块分别匹配的升级信息并反馈。
15.根据权利要求12所述的装置,其特征在于,所述升级信息包括链接地址;所述主模块还用于:
从所述升级信息中提取出所述链接地址;所述链接地址指向下载服务器中所存储的与所述功能子模块的版本信息匹配的升级资源;
按照所述链接地址,向所述下载服务器发送资源获取请求;所述资源获取请求用于指示所述下载服务器查找与所述升级信息匹配的升级资源;
接收所述下载服务器反馈的所述升级资源。
16.根据权利要求15所述的装置,其特征在于,所述升级资源包括第一差分包;所述第一差分包依据当前版本的所述功能子模块对应的安装包,与最高版本的所述功能子模块对应的安装包间的差异所生成;所述主模块还用于:
基于所述第一差分包,将所述应用程序中相对应的所述功能子模块升级至最高版本。
17.根据权利要求15所述的装置,其特征在于,所述升级资源包括第二差分包;所述第二差分包依据当前版本的所述功能子模块对应的安装包,与高一级的版本的所述功能子模块对应的安装包间的差异所生成;所述主模块还用于:
基于所述第二差分包,将所述应用程序中相对应的所述功能子模块升级至比当前版本高一级的版本;
当所述高一级的版本低于最高版本时,所述主模块还用于:
展示升级选择界面;所述升级选择界面中包括指示继续升级的控件;
当发生作用于所述控件的第二触发操作时,返回所述发送升级查询请求的步骤并继续执行,直至将所述应用程序中相对应的所述功能子模块升级至最高版本。
18.根据权利要求12至17中任一项所述的装置,其特征在于,所述升级信息包括与所述功能子模块对应的资源描述信息;所述主模块还用于:
从所述升级信息中提取出所述资源描述信息;所述资源描述信息是描述通过所述升级资源进行更新时所采用的更新方式的信息;
按照所述资源描述信息,并基于所述升级资源更新所述应用程序中相对应的所述功能子模块。
19.根据权利要求18所述的装置,其特征在于,所述升级资源包括适用于不同类型的终端的资源文件;所述主模块还用于:
在对所述应用程序中相对应的所述功能子模块进行升级时,通过所述资源描述信息,加载所述升级资源中与所述应用程序所在终端适配的资源文件。
20.一种应用程序升级装置,包括:
获取模块,用于获取升级查询请求;所述升级查询请求是应用程序中的主模块根据应用程序中的至少一个功能子模块所触发的升级请求而生成;所述升级查询请求携带所述功能子模块的版本信息;所述升级请求是当发生作用于所述功能子模块的第一触发操作时,通过所述功能子模块从升级服务器查询与所述功能子模块对应的最高版本的版本信息,当所述功能子模块的版本信息与所述最高版本的版本信息不一致时,通过所述功能子模块触发的;
升级信息反馈模块,用于当基于所述升级查询请求中的版本信息确定升级时,确定与所述功能子模块的版本信息对应的升级信息,并响应于所述升级查询请求反馈所述升级信息;
接收模块,用于接收基于所述升级信息所发起的资源获取请求;
升级资源反馈模块,用于响应于所述资源获取请求,查找与所述升级信息匹配的升级资源并反馈;反馈的所述升级资源用于更新所述应用程序中相对应的所述功能子模块。
21.根据权利要求20所述的装置,其特征在于,所述升级查询请求通过升级服务器获取,所述升级信息通过所述升级服务器确定并反馈;所述资源获取请求通过下载服务器接收,所述升级资源通过所述下载服务器查找并反馈。
22.根据权利要求21所述的装置,其特征在于,
确定模块,集成在配置服务器中,用于将所述功能子模块对应的最高版本的安装包和相应的历史版本的安装包进行比对,确定与所述功能子模块对应的升级资源;
存储模块,集成在所述下载服务器中,用于存储所述升级资源,并向所述配置服务器反馈存储的所述升级资源对应的链接地址;
生成模块,集成在所述配置服务器中,用于根据各功能子模块的版本信息、所述升级资源对应的版本信息、及所述链接地址生成升级信息,并将所述升级信息发送至所述升级服务器。
23.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
24.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至11中任一项所述方法的步骤。
CN201910496765.1A 2019-06-10 2019-06-10 应用程序方法、装置、系统、存储介质和计算机设备 Active CN110231948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910496765.1A CN110231948B (zh) 2019-06-10 2019-06-10 应用程序方法、装置、系统、存储介质和计算机设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910496765.1A CN110231948B (zh) 2019-06-10 2019-06-10 应用程序方法、装置、系统、存储介质和计算机设备

Publications (2)

Publication Number Publication Date
CN110231948A CN110231948A (zh) 2019-09-13
CN110231948B true CN110231948B (zh) 2024-02-13

Family

ID=67859558

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910496765.1A Active CN110231948B (zh) 2019-06-10 2019-06-10 应用程序方法、装置、系统、存储介质和计算机设备

Country Status (1)

Country Link
CN (1) CN110231948B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113076128B (zh) * 2020-01-03 2023-11-10 北京猎户星空科技有限公司 用于机器人配置的方法、装置、电子设备及存储介质
CN111722865A (zh) * 2020-06-18 2020-09-29 广州小鹏车联网科技有限公司 一种应用程序的资源数据处理方法和装置
CN111857781B (zh) * 2020-07-23 2022-06-10 平安普惠企业管理有限公司 资源更新方法及相关设备
CN112289431A (zh) * 2020-09-30 2021-01-29 音数汇元(上海)智能科技有限公司 居家护理终端的升级方法、装置、计算机设备和存储介质
CN112685613B (zh) * 2021-01-06 2022-10-25 青岛海尔科技有限公司 一种资源包查询的方法、装置及信息处理系统
CN112860287A (zh) * 2021-01-18 2021-05-28 深圳市锐尔觅移动通信有限公司 系统程序升级方法、装置、计算机设备及存储介质
CN114675872A (zh) * 2021-05-21 2022-06-28 腾讯云计算(北京)有限责任公司 一种对应用程序的数据处理方法、装置、设备及存储介质
CN112925551A (zh) * 2021-02-08 2021-06-08 北京罗克维尔斯科技有限公司 对象升级方法、装置、设备和存储介质
CN114691175A (zh) * 2022-04-22 2022-07-01 麒麟合盛网络技术股份有限公司 一种应用更新方法、装置和系统
CN115097905B (zh) * 2022-08-25 2022-12-02 中关村科学城城市大脑股份有限公司 模块可拆卸的终端设备和模块应用安装方法
CN116932014B (zh) * 2023-09-15 2023-12-12 腾讯科技(深圳)有限公司 一种应用更新方法、装置、设备及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206575A (zh) * 2006-12-19 2008-06-25 大唐移动通信设备有限公司 一种软件补丁在线升级方法、单板及系统
CN102098559A (zh) * 2009-12-11 2011-06-15 康佳集团股份有限公司 机顶盒软件升级系统和方法
CN104965721A (zh) * 2014-07-10 2015-10-07 腾讯科技(深圳)有限公司 一种对应用程序进行更新的方法及装置
CN107203395A (zh) * 2017-05-19 2017-09-26 北京京东尚科信息技术有限公司 资源升级方法、装置及计算机可读存储介质和电子设备
CN107608706A (zh) * 2017-09-26 2018-01-19 南京哈卢信息科技有限公司 一种基于功能模块的应用程序自动热更新方法
CN109783092A (zh) * 2019-01-04 2019-05-21 珠海天燕科技有限公司 一种应用程序安装方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2443846B (en) * 2006-11-15 2011-12-07 Joseph Timothy Poole Computing system
US20080301660A1 (en) * 2007-05-30 2008-12-04 Google Inc. Maintaining Multiple Versions of a Software Application on a Device
US20160321064A1 (en) * 2015-05-01 2016-11-03 Quixey, Inc. Developer Exchange System

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206575A (zh) * 2006-12-19 2008-06-25 大唐移动通信设备有限公司 一种软件补丁在线升级方法、单板及系统
CN102098559A (zh) * 2009-12-11 2011-06-15 康佳集团股份有限公司 机顶盒软件升级系统和方法
CN104965721A (zh) * 2014-07-10 2015-10-07 腾讯科技(深圳)有限公司 一种对应用程序进行更新的方法及装置
CN107203395A (zh) * 2017-05-19 2017-09-26 北京京东尚科信息技术有限公司 资源升级方法、装置及计算机可读存储介质和电子设备
CN107608706A (zh) * 2017-09-26 2018-01-19 南京哈卢信息科技有限公司 一种基于功能模块的应用程序自动热更新方法
CN109783092A (zh) * 2019-01-04 2019-05-21 珠海天燕科技有限公司 一种应用程序安装方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
On a Dynamic Software Update Framework for Messaging Oriented Middleware Services;Qian Wu等;《2007 International Conference on Wireless Communications, Networking and Mobile Computing》;第6521-6524页 *
双向数字电视网络终端软件升级系统设计与实现;詹永强等;《有线电视技术》;第73-77页 *

Also Published As

Publication number Publication date
CN110231948A (zh) 2019-09-13

Similar Documents

Publication Publication Date Title
CN110231948B (zh) 应用程序方法、装置、系统、存储介质和计算机设备
CN109743390B (zh) 任务调度方法、装置、计算机设备和存储介质
US11252203B2 (en) Method for processing message in group session, storage medium, and computer device
CN109814854B (zh) 项目框架生成方法、装置、计算机设备和存储介质
CN108829477B (zh) 界面跳转方法、装置、计算机设备和存储介质
CN110908683A (zh) 硬件模块的软件系统升级方法、装置、存储介质和终端
CN109474456B (zh) 配置数据处理方法、装置、计算机设备和存储介质
CN108235763B (zh) 检测系统、方法及相关装置
CN108959384B (zh) 网页数据获取方法、装置、计算机设备和存储介质
CN113365106B (zh) 一种多媒体资源生成方法、装置、电子设备及存储介质
EP2866158A1 (en) Method for reader to provide service, reader, terminal and computer storage medium
CN111399756A (zh) 一种数据存储方法、数据下载方法及装置
CN117390330A (zh) 网页访问方法及装置
US20160019046A1 (en) Light app offline updating method, device and terminal
CN111078559A (zh) java代码中函数调用的提取方法、装置、介质及计算机设备
CN112423281B (zh) 无线模组升级方法、装置、计算机设备和存储介质
CN111190609B (zh) 业务的处理方法、装置、设备和存储介质
CN106534280B (zh) 数据分享方法及装置
CN111898102A (zh) 权限配置方法、装置、计算机设备和存储介质
CN109067896B (zh) 交互方法、交互装置、计算机设备和存储介质
CN112073289A (zh) 一种即时通信控制方法及装置
CN110941779A (zh) 加载页面的方法、装置、存储介质及电子设备
CN106161075B (zh) 业务处理方法、装置及系统
CN110727477B (zh) 组件加载方法、装置、计算机设备和存储介质
CN110209401B (zh) 应用程序的加载方法及装置

Legal Events

Date Code Title Description
PB01 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