CN112882733B - 应用更新方法及装置、电子设备、存储介质 - Google Patents

应用更新方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN112882733B
CN112882733B CN202110156223.7A CN202110156223A CN112882733B CN 112882733 B CN112882733 B CN 112882733B CN 202110156223 A CN202110156223 A CN 202110156223A CN 112882733 B CN112882733 B CN 112882733B
Authority
CN
China
Prior art keywords
version number
application
updating
preset
current
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
CN202110156223.7A
Other languages
English (en)
Other versions
CN112882733A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202110156223.7A priority Critical patent/CN112882733B/zh
Publication of CN112882733A publication Critical patent/CN112882733A/zh
Application granted granted Critical
Publication of CN112882733B publication Critical patent/CN112882733B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal 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)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种应用更新方法及装置、电子设备、存储介质,该方法包括:响应于应用的启动操作,获取应用的当前版本信息和预设更新信息;当前版本信息包括当前引擎版本号和当前资源版本号,预设更新信息包括预设引擎版本号和预设资源版本号;判断当前引擎版本号是否低于预设引擎版本号,以及当前资源版本号是否低于预设资源版本号,得到判断结果;依据判断结果确定应用的更新方式;本申请实施例不仅可以实现维护较少的补丁总量,还可以实现根据用户的分类提供相适应的更新方式,提高用户更新应用时的体验效果。

Description

应用更新方法及装置、电子设备、存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及应用更新方法及装置、电子设备、存储介质。
背景技术
随着计算机技术的发展,各类应用程序也得到了迅速的发展。应用在发布后,常常需要进行不同程度的更新,以便给用户提供更好的服务,以及解决一些旧版本应用中的问题。
对于普通应用来说,一般通过整包更新的方式进行应用更新。但对于更新频繁且安装包体积较大的应用来说,若每次更新都采用整包更新的方式会有大量资源冗余下载的问题,对该应用活跃度高的用户影响更为明显。因此,该类应用一般通过下载补丁(Patch)的方式来实现更新。
补丁中包含的是最新版本安装包相对于首个版本安装包的更新文件。以游戏应用为例,下载补丁更新方式的过程如下:游戏应用通过比对本地文件和补丁文件,对于有修改的文件进行下载替换。如图1所示,随着时间的推移,游戏应用更新的次数不断增多,导致需要维护的补丁的总量不断变大,不仅影响补丁生成速度,还影响游戏应用比对补丁的时间,进而也会影响用户体验。
发明内容
鉴于上述问题,提出了本申请以便提供克服上述问题或者至少部分地解决上述问题的应用更新方法及装置、电子设备、存储介质,包括:
一种应用更新方法,所述方法包括:
响应于应用的启动操作,获取所述应用的当前版本信息和预设更新信息;所述当前版本信息包括当前引擎版本号和当前资源版本号,所述预设更新信息包括预设引擎版本号和预设资源版本号;
判断所述当前引擎版本号是否低于所述预设引擎版本号,以及所述当前资源版本号是否低于所述预设资源版本号,得到判断结果;
依据所述判断结果确定所述应用的更新方式。
可选地,所述依据判断结果确定所述应用的更新方式的步骤,包括:
当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号低于所述预设资源版本号时,确定所述应用的更新方式为整包更新;
当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号不低于所述预设资源版本号时,确定所述应用的更新方式为补丁更新。
可选地,所述依据所述判断结果确定所述应用的更新方式的步骤,还包括:
当所述当前引擎版本号不低于所述预设引擎版本号时,确定所述应用的更新方式为补丁更新。
可选地,所述方法包括:
当所述更新方式为补丁更新时,获取所述应用的补丁;所述补丁包含所述预设资源版本号和最新资源版本号之间的更新文件;
依据所述补丁更新所述应用。
可选地,所述依据所述补丁更新所述应用的步骤,包括:
依据所述当前资源版本号,从所述补丁中获取对应的目标更新文件
依据所述目标更新文件更新所述应用。
可选地,所述方法还包括:
当所述更新方式为整包更新时,在所述终端设备的显示屏上显示更新提示信息。
可选地,所述方法还包括:
接收针对新版应用安装包的下载操作,获取所述新版应用安装包;
采用所述新版应用安装包覆盖所述应用的本地安装包。
一种应用更新装置,所述装置包括:
第一获取模块,用于响应于应用的启动操作,获取所述应用的当前版本信息和预设更新信息;所述当前版本信息包括当前引擎版本号和当前资源版本号,所述预设更新信息包括预设引擎版本号和预设资源版本号;
第一判断模块,用于判断所述当前引擎版本号是否低于所述预设引擎版本号,以及所述当前资源版本号是否低于所述预设资源版本号,得到判断结果;
第一确定模块,用于依据所述判断结果确定所述应用的更新方式。
可选地,所述第一确定模块,包括:
第一更新子模块,用于当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号低于所述预设资源版本号时,确定所述应用的更新方式为整包更新;
第二更新子模块,用于当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号不低于所述预设资源版本号时,确定所述应用的更新方式为补丁更新。
可选地,所述第一确定模块,还包括:
第三更新子模块,用于当所述当前引擎版本号不低于所述预设引擎版本号时,确定所述应用的更新方式为补丁更新。
可选地,所述装置还包括:
第二获取模块,用于当所述更新方式为补丁更新时,获取所述应用的补丁;所述补丁包含所述预设资源版本号和最新资源版本号之间的更新文件;
补丁更新模块,用于依据所述补丁更新所述应用。
可选地,所述补丁更新模块包括:
第三获取模块,用于依据所述当前资源版本号,从所述补丁中获取对应的目标更新文件;
更新文件更新模块,用于依据所述目标更新文件更新所述应用。
可选地,所述装置还包括:
更新提示模块,用于当所述更新方式为整包更新时,在所述终端设备的显示屏上显示更新提示信息。
可选地,所述装置还包括:
安装包下载模块,用于接收针对新版应用安装包的下载操作,获取所述新版应用安装包;
安装包更新模块,用于采用所述新版应用安装包覆盖所述应用的本地安装包。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的应用更新方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的应用更新方法的步骤。
本申请具有以下优点:
在本申请的实施例中,通过响应于应用的启动操作,获取应用的当前版本信息和预设更新信息;当前版本信息包括当前引擎版本号和当前资源版本号,预设更新信息包括预设引擎版本号和预设资源版本号;预设引擎版本号可以作为新老安装包的判定依据,通过判断当前引擎版本号是否低于预设引擎版本,可以确定该应用的安装包是新安装包还是老安装包,进而可以确定使用该应用的用户是新用户还是老用户;在确定应用的用户为老用户的基础上,可以采用预设资源版本号作为老用户活跃度的判定依据,判断当前资源版本号是否低于预设资源版本号;依据判断结果确定应用的更新方式;可以实现针对老用户的应用,根据活跃度来确定对应的更新方式,通过设置适当的更新方式来保证活跃度高的老用户在使用应用时不受应用更新的影响,可以有效减少老用户的流失。
附图说明
为了更清楚地说明本申请的技术方案,下面将对本申请的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为背景技术中补丁维护总量的变化示意图;
图2为本申请实施例的一种应用更新方法的步骤流程图;
图3为本申请实施例的一种应用更新方法的具体示例流程图;
图4为本申请实施例的一具体示例的补丁维护总量示意图;
图5为本申请实施例的一种应用更新装置的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参照图2,示出了本申请一实施例提供的一种应用更新方法,该方法可以应用于终端设备,该终端设备可以是手机、平板电脑、笔记本电脑、台式电脑、个人数字助理等电子设备。该终端设备的***可以为安卓***(Android)、ISO***、Windows Phone、Windows、塞班(SYmbian)、黑莓(BlackBerry)等操作***。本申请实施例可以适用于终端设备安装的任一一款应用的应用更新。
在本实施例中该方法具体可以包括以下步骤:
步骤101,响应于应用的启动操作,获取所述应用的当前版本信息和预设更新信息;所述当前版本信息包括当前引擎版本号和当前资源版本号,所述预设更新信息包括预设引擎版本号和预设资源版本号。
步骤102,判断所述当前引擎版本号是否低于所述预设引擎版本号,以及所述当前资源版本号是否低于所述预设资源版本号,得到判断结果。
步骤103,依据判断结果确定所述应用的更新方式。
本申请实施例通过响应于应用的启动操作,获取应用的当前版本信息和预设更新信息;当前版本信息包括当前引擎版本号和当前资源版本号,预设更新信息包括预设引擎版本号和预设资源版本号;预设引擎版本号可以作为新老安装包的判定依据,通过判断当前引擎版本号是否低于预设引擎版本号,可以确定该应用的安装包是新安装包还是老安装包,进而可以确定使用该应用的用户是新用户还是老用户;在确定应用的用户为老用户的基础上,可以采用预设资源版本号作为老用户活跃度的判定依据,判断当前资源版本号是否低于预设资源版本号;依据判断结果确定应用的更新方式;可以实现针对老用户的应用,根据活跃度来确定对应的更新方式,通过设置适当的更新方式来保证活跃度高的老用户在使用应用时不受应用更新的影响,可以有效减少老用户的流失。
下面,将对本示例性实施例中应用更新方法作进一步地说明。
在步骤101中,响应于应用的启动操作,获取所述应用的当前版本信息和预设更新信息;所述当前版本信息包括当前引擎版本号和当前资源版本号,所述预设更新信息包括预设引擎版本号和预设资源版本号。
为便于本领域技术人员对本申请的理解,本申请实施例以游戏应用为例进行示例性说明。
游戏应用的安装包可以分为引擎部分和资源部分,其中,引擎部分决定游戏应用的基础结构,资源部分决定游戏应用的脚本。上述当前版本信息可以指游戏应用在终端设备的本地版本信息。当前版本信息包括当前引擎版本号和当前资源版本号。当前引擎版本号是由游戏应用安装时的安装包决定的;当前资源版本号与游戏应用上一次运行时的资源部分相关。
游戏应用启动时,可以获取本地的当前版本信息和预设更新信息。该预设更新信息可以从服务器直接获得。示例性地,在游戏应用启动时,终端设备可以向服务器发送获取与游戏应用对应的预设更新信息的请求,服务器依据该请求可以将预设更新信息返回至终端设备。
预设更新信息与服务器中该游戏应用的最新版本相关。预设更新信息包括预设引擎版本号和预设资源版本号。其中,预设引擎版本号可以认为是将游戏应用对应的用户划分为新用户和老用户的依据,预设引擎版本号高于初始引擎版本号,其中,初始引擎版本号是应该首次发布时对应的引擎版本号。具体以哪个引擎版本号作为预设引擎版本号可以由游戏应用开发人员进行设定,例如,预设引擎版本可以是最新引擎版本号,最新引擎版本号为最新发布的应用安装包对应的引擎版本号,或者,也可以是距离最新引擎版本号的前一个引擎版本号,等等。预设资源版本号不高于预设引擎版本号对应的安装包中的资源版本号。预设资源版本号与游戏应用的最新补丁相关,补丁中包括最新资源版本号与至少一个在先资源版本号的更新文件,预设资源版本号是补丁的更新文件对应的最低资源版本号。
一般而言,游戏应用的资源部分更新频率高于引擎部分的更新频率。资源版本号与引擎版本号一般不是一一对应的关系,但引擎版本号和安装包版本号是一一对应的关系。游戏应用的资源部分每进行一次更新都会得到一个新的资源版本号和新的更新文件,新的资源版本号高于前一次更新的资源版本号,新的更新文件是新的资源版本号与前一次资源版本号的修改文件,新的更新文件可以存入补丁中。利用补丁中的更新文件可以对游戏应用的资源部分进行更新。
在本申请实施例中,补丁中只保留最新资源版本号与预设资源版本号之间的更新文件。与现有技术中,补丁需要保留最新资源版本号与初始资源版本号之间的更新文件相比,本申请实施例需要维护的补丁的总量小,可以减少补丁打包时间和通过补丁更新应用时比对补丁的时间,进而提高工作效率。尤其是在资源版本更新次数较多和/或每次更新文件较大的场景中,本申请实施例的优势更为显著。
在步骤102中,判断所述当前引擎版本号是否低于所述预设引擎版本号,以及所述当前资源版本号是否低于所述预设资源版本号,得到判断结果。
在本实施例中,预设引擎版本号作为区分新老用户的依据,通过将当前引擎版本号与预设引擎版本号进行比较,确定使用该游戏应用的用户类别,该用户表情包括新用户和老用户。具体地,当当前引擎版本号低于预设引擎版本号时,确定用户类别为老用户,当当前引擎版本号不低于预设引擎版本号时,确定用户类别为新用户。需要说明的是,随着应用版本的更新迭代,本申请实施例中的预设引擎版本号和预设资源版本号可以随着最新引擎版本号和最新资源版本号更新。例如,可以将最新引擎版本号的前一引擎版本号确定为预设引擎版本号。
在确定用户类别为老用户的基础上,可以利用预设资源版本号来作为老用户活跃度的判定依据。在本申请实施例中,预设资源版本号不高于预设引擎版本号对应的安装包中的资源版本号,可选地,预设资源版本号高于初始资源版本。其中,初始资源版本号可以指应用首次发布时的资源版本号,可选地,初始资源版本号还可以指应用的最新资源版本依赖的最低引擎版本号对应的安装包中的基准资源版本号。为了便于描述,将预设引擎版本号对应的安装包中的资源版本号定义为参考资源版本号;例如,当最新资源版本号为10,初始资源版本号对应是1,参考资源版本号是8时,预设资源版本号可以是2至8中的任意一个。
为了减少补丁的维护总量,可以规定预设引擎版本号与最新引擎版本号之间的引擎版本的数量在第一预设个数内,规定预设资源版本号与参考资源版本号之间的数量在第二预设个数内。例如,该第一预设个数可以是0~2中的任意一个;当第一预设个数是1时,预设引擎版本号即为上一次发布安装包对应的引擎版本号,可以认为,安装上一次发布安装包之前的用户为老用户;第二预设个数可以是0~5中的任意一个;当第二预设个数为1时,预设资源版本号即为参考资源版本号的前一个资源版本号,对应的补丁维护总量即为最新资源版本号与参考资源版本号的前一个资源版本号之间的更新文件。
在步骤103中,依据判断结果确定所述应用的更新方式。
在本申请实施例中,通过将当前资源版本号和预设资源版本号进行对比,可以确定游戏应用对应用户的活跃度。具体地,当当前资源版本号低于预设资源版本号时,可以认为用户在最低资源版本号发布后没有再次正常使用该游戏应用,进而判断该用户的活跃度低于预期活跃度;当当前资源版本号不低于预设资源版本号时,可以认为用户在最低资源版本发布后有正常启用过该游戏应用,进而判断该用户的活跃度达到预期活跃度。
为了实现补丁维护总量较少,以及为了给老活跃用户提供更好的应用更新体验,减少应用更新导致老用户流失,本申请实施例根据老用户的不同活跃度适配不同的更新方式。
具体地,当所述当前引擎版本号低于所述预设引擎版本号,并且当当前资源版本号低于预设资源版本号时,确定应用的更新方式为整包更新;
当所述当前引擎版本号低于所述预设引擎版本号,并且当当前资源版本号不低于预设资源版本号时,确定应用的更新方式为补丁更新。
其中,整包更新是通过重新下载应用的新的安装包并覆盖本地安装包进行安装,以更新应用。而补丁更新是通过下载应用的当前版本与最新版本之间的差异文件来更新应用。
具体地,当更新方式为补丁更新时,获取应用的补丁;然后依据补丁更新应用。其中,补丁包含预设资源版本号和最新资源版本号之间的更新文件。
在具体实现中,终端设备可以从服务器获取游戏应用的补丁,该补丁包含预设资源版本号和最新资源版本号之间的更新文件。由于当前资源版本号不低于预设资源版本号,因此,补丁中包含当前资源版本号和最新资源版本号之间的目标更新文件。
进一步地,可以从补丁中获取到当前资源版本号和最新资源版本号之间的目标更新文件;依据目标更新文件更新应用。
在一可选实施例中,可以通过将本地的文件与补丁中的更新文件进行差异对比,确定目标更新文件,并下载目标更新文件以对应用进行更新。更新后的应用中的资源部分与最新资源版本号对应的资源部分相同,即通过补丁更新,使得应用中的资源部分更新到最新版本。
在另一可选实施例中,补丁中的更新文件可以按照资源版本号分别进行打包,依据当前资源版本号确定目标更新文件,并下载目标更新文件以对应用进行更新。作为一种示例,当最新资源版本号为100时,预设资源版本号为98,当前资源版本号为99,此时,补丁中包括资源版本号为100与99之间的第一更新文件,以及包括资源版本号为99与98之间的第二更新文件;根据当前资源版本号为99可以确定目标更新文件为第一更新文件,然后下载目标更新文件,并依据目标更新文件更新应用,是的应用中的资源部分更新到最新版本。
进一步地,当更新方式为整包更新时,在终端设备的显示屏上显示更新提示信息。
在具体实现中,由于整包更新需要重新下载应用的安装包,而安装包的下载一般需要获得用户的授权,因此,在本实施例中,当更新方式为整包更新时,可以通过在显示屏显示更新提示信息,以提示用户重新下载应用的安装包。
一般而言,当更新方式为整包更新时,当前应用将无法正常提供服务,因此,当更新方式为整包更新时,还可以终止当前应用。
接收针对新版应用安装包的下载操作,获取所述新版应用安装包;
采用所述新版应用安装包覆盖所述应用的本地安装包。
在本申请实施例中,更新提示信息可以是显示提示用户下载新版应用安装包的文字,例如,可以是“请下载新版安装包”;进一步地,更新提示信息还可以是新版应用安装包的下载地址链接,以供用户通过点击该更新提示信息实现快速下载新版应用安装包。
当用户依据更新提示信息触发针对新版应用安装包的下载操作时,可以从服务器下载新版应用安装包,并采用新版应用安装包覆盖应用的本地安装包,以实现应用的更新。可选地,新版应用安装包可以是该应用最近一次发布的安装包。
需要说明的是,最近一次发布的安装包对应的资源版本号不一定是最新资源版本号,但最近一次发布的安装包对应的引擎版本号一定不低于预设引擎版本号,因此,在一可选示例中,当新版应用安装包覆盖应用的本地安装包后,可以重新启动应用,返回到获取应用的当前版本信息和预设更新信息的步骤继续执行,其中,当前版本信息包括新版应用安装包对应的引擎版本号和资源版本号。或者,当新版应用安装包覆盖应用的本地安装包后,可以重新启动应用,在判断当前资源版本号低于最新资源版本号时,从补丁中获取目标更新文件进行更新。
进一步地,当所述当前引擎版本号不低于所述预设引擎版本号时,确定所述应用的更新方式为补丁更新。
在本实施例中,当当前引擎版本号不低于预设引擎版本号,可以认为该应用对应的用户类别为新用户,针对新用户的应用更新,则可以根据补丁包含的更新文件来进行。本实施例中补丁更新的具体过程可以参见上文的描述。
本申请实施例通过将当前引擎版本号与预设引擎版本号进行对比,以将对应的用户划分为新包用户和老包用户,对于新包用户可以直接采用补丁更新的方式进行应用更新,应用更新体验效果好。对于老包用户则可以进一步通过将当前资源版本号与预设资源版本号进行对比,其中,预设资源版本号是应用补丁的更新文件对应的最低资源版本号,对低于预设资源版本号的老包用户采用整包更新的方式进行应用更新,对此类用户而言,整包更新所需的时间和流量小于补丁更新所需的时间和流量;而对于不低于预设资源版本号的老包用户采用补丁更新的方式进行应用更新,对此类用户而言,采用补丁更新所需的时间和流量小于整包更新所需的时间和流量。由于预设引擎版本号和预设资源版本号都可以随着应用版本的更新迭代而相应更新,因此,本申请实施例不仅可以实现维护较少的补丁总量,还可以实现根据用户的分类提供相适应的更新方式,提高用户更新应用时的体验效果。
为了使本领域技术人员更好地理解本申请,下面将结合图3和图4中的具体示例对本申请实施例进行描述说明。
如图3所示,图3示出了本申请实施例提供的一种应用更新方法的具体示例流程图。
步骤301,读取本地引擎版本号和本地资源版本号;当应用启动时,可以读取该应用安装路径下的对应文件,以获得本地引擎版本号和本地资源版本号,本地引擎版本号即本地引擎版本对应的版本号,本地资源版本号即本地资源版本对应的版本号;本地引擎版本号由该应用安装包发布时间决定,本地资源版本号由应用上次正常运行时的资源版本决定;
步骤302,判断本地引擎版本号是否低于预设引擎版本号;若是,则执行步骤303;若否,则执行步骤305;其中,预设引擎版本号即预设引擎版本对应的版本号,用于作为新老用户的划分依据;
步骤303,判断本地资源版本号是否低于预设资源版本号;若是,则确定该应用的用户的活跃度较低,执行步骤304;若否,则确定该应用的用户的活跃度较高,执行步骤305;预设资源版本号即预设资源版本对应的版本号,用于作为用户活跃度是否符合预期的划分依据;
步骤304,整包更新;
步骤305,补丁更新。
如图4所示,图4示出了本申请实施例提供的一种应用更新方法的具体示例的补丁维护总量示意图。
在图4所示的示例中,最新资源版本号是219week;预设资源版本号是190week,预设引擎版本号是198week,对应的参考资源版本号是198week。图4中的安装包A、B、C表示该应用在市面上分布的包体情况,可以理解,终端设备中安装的该应用对应的当前引擎版本号可能为138week、186week、198week中的任一一种。根据当前引擎版本号和预设引擎版本号之间的关系,可以将应用安装包A和B对应的用户划分为老包用户,将应用安装包C对应的用户划分为新包用户;根据预设资源版本号可以将应用的用户划分为活跃用户和非活跃用户,针对不同用户分类确定对应的更新方式,具体情况可以汇总如下表1:
安装包 当前资源版本 用户分类 结果
安装包A/B 190week前 老包非活跃用户 整包更新
安装包A/B 190week/之后 老包活跃用户 补丁更新
安装包C 198week/之后 新包活跃用户 补丁更新
表1:图4中不同安装包的应用分类汇总表
结合上表可得,在本申请实施例中,通过预设引擎版本号将应用的用户划分为新包用户和老包用户,并通过预设资源版本号将应用的用户划分为活跃用户和非活跃用户,针对老包活跃用户采用的更新方式为补丁更新,而针对老包非活跃用户的更新方式则为整包更新,可以保证老包活跃用户在使用应用时不受应用更新的影响,可以有效减少老用户的流失,同时也可以有效减少补丁维护总量,进而减少补丁打包时间和通过补丁更新应用时比对补丁的时间。上述示例中,补丁中只需要包含190week至219week的更新文件,与现有技术(参见图1)需要维护的内容相比,至少减少了138week到190week的维护内容。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图5,示出了本申请的一种应用更新装置实施例的结构框图,在本申请实施例中,该装置具体可以包括如下模块:
第一获取模块501,用于响应于应用的启动操作,获取所述应用的当前版本信息和预设更新信息;所述当前版本信息包括当前引擎版本号和当前资源版本号,所述预设更新信息包括预设引擎版本号和预设资源版本号;
第一判断模块502,用于判断所述当前引擎版本号是否低于所述预设引擎版本号,以及所述当前资源版本号是否低于所述预设资源版本号,得到判断结果;
第一确定模块503,用于依据判断结果确定所述应用的更新方式。
可选地,所述第一确定模块503,包括:
第一更新子模块,用于当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号低于所述预设资源版本号时,确定所述应用的更新方式为整包更新;
第二更新子模块,用于当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号不低于所述预设资源版本号时,确定所述应用的更新方式为补丁更新。
可选地,所述第一确定模块503,还包括:
第三更新子模块,用于当所述当前引擎版本号不低于所述预设引擎版本号时,确定所述应用的更新方式为补丁更新。
可选地,所述装置还包括:
第二获取模块,用于当所述更新方式为补丁更新时,获取所述应用的补丁;所述补丁包含所述预设资源版本号和最新资源版本号之间的更新文件;
补丁更新模块,用于依据所述补丁更新所述应用。
可选地,所述补丁更新模块包括:
第三获取模块,用于依据所述当前资源版本号,从所述补丁中获取对应的目标更新文件;
更新文件更新模块,用于依据所述目标更新文件更新所述应用。
可选地,所述装置还包括:
更新提示模块,用于当所述更新方式为整包更新时,在所述终端设备的显示屏上显示更新提示信息。
可选地,所述装置还包括:
安装包下载模块,用于接收针对新版应用安装包的下载操作,获取所述新版应用安装包;
安装包更新模块,用于采用所述新版应用安装包覆盖所述应用的本地安装包。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例还公开了电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的应用更新方法的步骤。
本申请实施例还公开了计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的应用更新方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种应用更新方法、一种应用更新装置、电子设备和存储介质,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (9)

1.一种应用更新方法,其特征在于,所述方法包括:
响应于应用的启动操作,获取所述应用的当前版本信息和预设更新信息;所述当前版本信息包括当前引擎版本号和当前资源版本号,所述预设更新信息包括预设引擎版本号和预设资源版本号;
判断所述当前引擎版本号是否低于所述预设引擎版本号,以及所述当前资源版本号是否低于所述预设资源版本号,得到判断结果;
依据所述判断结果确定所述应用的更新方式;
所述依据所述判断结果确定所述应用的更新方式的步骤,包括:
当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号低于所述预设资源版本号时,确定所述应用的更新方式为整包更新;
当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号不低于所述预设资源版本号时,确定所述应用的更新方式为补丁更新。
2.根据权利要求1所述的方法,其特征在于,所述依据所述判断结果确定所述应用的更新方式,还包括:
当所述当前引擎版本号不低于所述预设引擎版本号时,确定所述应用的更新方式为补丁更新。
3.根据权利要求2所述的方法,其特征在于,所述方法包括:
当所述更新方式为补丁更新时,获取所述应用的补丁;所述补丁包含所述预设资源版本号和最新资源版本号之间的更新文件;
依据所述补丁更新所述应用。
4.根据权利要求3所述的方法,其特征在于,所述依据所述补丁更新所述应用的步骤,包括:
依据所述当前资源版本号,从所述补丁中获取对应的目标更新文件
依据所述目标更新文件更新所述应用。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述更新方式为整包更新时,在终端设备的显示屏上显示更新提示信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
接收针对新版应用安装包的下载操作,获取所述新版应用安装包;
采用所述新版应用安装包覆盖所述应用的本地安装包。
7.一种应用更新装置,其特征在于,所述装置包括:
第一获取模块,用于响应于应用的启动操作,获取所述应用的当前版本信息和预设更新信息;所述当前版本信息包括当前引擎版本号和当前资源版本号,所述预设更新信息包括预设引擎版本号和预设资源版本号;
第一判断模块,用于判断所述当前引擎版本号是否低于所述预设引擎版本号,以及所述当前资源版本号是否低于所述预设资源版本号,得到判断结果;
第一确定模块,用于依据所述判断结果确定所述应用的更新方式;
所述第一确定模块,包括:
第一更新子模块,用于当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号低于所述预设资源版本号时,确定所述应用的更新方式为整包更新;
第二更新子模块,用于当所述当前引擎版本号低于所述预设引擎版本号,并且当所述当前资源版本号不低于所述预设资源版本号时,确定所述应用的更新方式为补丁更新。
8.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的应用更新方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的应用更新方法的步骤。
CN202110156223.7A 2021-02-04 2021-02-04 应用更新方法及装置、电子设备、存储介质 Active CN112882733B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110156223.7A CN112882733B (zh) 2021-02-04 2021-02-04 应用更新方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110156223.7A CN112882733B (zh) 2021-02-04 2021-02-04 应用更新方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN112882733A CN112882733A (zh) 2021-06-01
CN112882733B true CN112882733B (zh) 2023-09-08

Family

ID=76057200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110156223.7A Active CN112882733B (zh) 2021-02-04 2021-02-04 应用更新方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN112882733B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338533B (zh) * 2021-12-30 2024-05-28 广东明创软件科技有限公司 一种调整方法、电子设备及计算机存储介质

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077054A (zh) * 2012-12-29 2013-05-01 百度在线网络技术(北京)有限公司 一种云应用引擎中版本预览的控制方法及装置
WO2014146256A1 (zh) * 2013-03-19 2014-09-25 华为技术有限公司 一种升级方法、智能终端及升级***
CN104077160A (zh) * 2014-05-12 2014-10-01 联动优势电子商务有限公司 一种升级安卓软件的方法、设备和***
WO2016086692A1 (zh) * 2014-12-03 2016-06-09 中兴通讯股份有限公司 业务声明文件的更新处理方法、装置及***
WO2017028364A1 (zh) * 2015-08-19 2017-02-23 华为技术有限公司 一种参考信号配置方法及设备
CN106708537A (zh) * 2017-01-22 2017-05-24 百度在线网络技术(北京)有限公司 应用更新方法和装置
CN107797817A (zh) * 2017-03-13 2018-03-13 平安科技(深圳)有限公司 应用更新方法和装置
CN108845816A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 应用程序更新方法、***、计算机设备及存储介质
CN110058873A (zh) * 2019-03-12 2019-07-26 天津五八到家科技有限公司 应用页面更新方法、装置、设备和存储介质
CN110262827A (zh) * 2019-05-20 2019-09-20 北京三快在线科技有限公司 增量更新的方法、装置、存储介质以及电子设备
CN111090444A (zh) * 2019-12-03 2020-05-01 航天信息股份有限公司 版本升级方法、装置、存储介质及电子设备
WO2020087230A1 (zh) * 2018-10-29 2020-05-07 深圳市欢太科技有限公司 游戏页面的显示方法及相关产品
CN111221559A (zh) * 2019-11-05 2020-06-02 北京达佳互联信息技术有限公司 应用更新方法、装置、存储介质、终端及服务器
CN111708566A (zh) * 2020-06-10 2020-09-25 深圳云之家网络有限公司 软件增量更新方法、装置、***及计算机可读存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060277209A1 (en) * 2005-06-06 2006-12-07 Javaground Usa, Inc. Efficient and automatic software application development system for wireless devices
US9823917B2 (en) * 2011-10-20 2017-11-21 Facebook, Inc. Update application user interfaces on client devices
US9575744B2 (en) * 2014-09-26 2017-02-21 Oracle International Corporation Live updating of a shared plugin registry with no service loss for active users
CN108089879B (zh) * 2016-11-21 2021-11-26 阿里巴巴(中国)有限公司 增量更新方法、设备及可编程设备
CN107479933A (zh) * 2017-08-21 2017-12-15 惠州Tcl移动通信有限公司 一种移动终端应用程序升级方法、存储设备及移动终端

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103077054A (zh) * 2012-12-29 2013-05-01 百度在线网络技术(北京)有限公司 一种云应用引擎中版本预览的控制方法及装置
WO2014146256A1 (zh) * 2013-03-19 2014-09-25 华为技术有限公司 一种升级方法、智能终端及升级***
CN104077160A (zh) * 2014-05-12 2014-10-01 联动优势电子商务有限公司 一种升级安卓软件的方法、设备和***
WO2016086692A1 (zh) * 2014-12-03 2016-06-09 中兴通讯股份有限公司 业务声明文件的更新处理方法、装置及***
WO2017028364A1 (zh) * 2015-08-19 2017-02-23 华为技术有限公司 一种参考信号配置方法及设备
CN106708537A (zh) * 2017-01-22 2017-05-24 百度在线网络技术(北京)有限公司 应用更新方法和装置
CN107797817A (zh) * 2017-03-13 2018-03-13 平安科技(深圳)有限公司 应用更新方法和装置
CN108845816A (zh) * 2018-06-22 2018-11-20 平安科技(深圳)有限公司 应用程序更新方法、***、计算机设备及存储介质
WO2020087230A1 (zh) * 2018-10-29 2020-05-07 深圳市欢太科技有限公司 游戏页面的显示方法及相关产品
CN110058873A (zh) * 2019-03-12 2019-07-26 天津五八到家科技有限公司 应用页面更新方法、装置、设备和存储介质
CN110262827A (zh) * 2019-05-20 2019-09-20 北京三快在线科技有限公司 增量更新的方法、装置、存储介质以及电子设备
CN111221559A (zh) * 2019-11-05 2020-06-02 北京达佳互联信息技术有限公司 应用更新方法、装置、存储介质、终端及服务器
CN111090444A (zh) * 2019-12-03 2020-05-01 航天信息股份有限公司 版本升级方法、装置、存储介质及电子设备
CN111708566A (zh) * 2020-06-10 2020-09-25 深圳云之家网络有限公司 软件增量更新方法、装置、***及计算机可读存储介质

Also Published As

Publication number Publication date
CN112882733A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
US11106446B2 (en) Preinstalled application management method for mobile terminal and mobile terminal
CN107025559B (zh) 一种业务处理方法及装置
KR100952251B1 (ko) 서비스 패키지에 의해 소프트웨어 제품을 업데이트하는 방법, 컴퓨터로 구현되는 방법, 컴퓨터 판독가능 저장 매체, 및 서비스 패키지
CN105786538B (zh) 基于安卓***的软件升级方法和装置
US8667486B2 (en) Automatic provisioning of a software platform to a device ecosystem
CN108874437B (zh) 一种android应用程序的在线云更新方法
CN108647032B (zh) 应用加载方法及装置、计算机装置和计算机可读存储介质
WO2017186066A1 (zh) 软件管理方法及装置
CN112463191A (zh) 一种文件更新方法及装置、设备、存储介质
US20150067668A1 (en) Installation engine and package format
CN103793248A (zh) 一种应用程序升级的方法及装置
CN106020882A (zh) 一种应用升级方法、智能终端及升级***
CN110765394A (zh) so文件加载方法、装置、存储介质及终端设备
CN110908734A (zh) 基于插件化的应用组合方法、装置、终端设备及存储介质
CN110888658A (zh) 应用程序中功能模块的动态化方法、装置及存储介质
CN112882733B (zh) 应用更新方法及装置、电子设备、存储介质
CN110851151A (zh) 预装应用的方法、装置、终端、服务器和存储介质
CN106293790B (zh) 基于Firefox操作***的应用程序升级方法和装置
CN107423093B (zh) 控制方法及装置、计算机装置和计算机可读存储介质
CN106293814B (zh) 升级方法及装置
CN107479923A (zh) 应用程序升级方法、装置及显示终端
CN110825417A (zh) 应用程序更新方法及***
CN111708567B (zh) 一种应用程序的处理方法和装置
CN110531961B (zh) 智能服务破壳***及其方法
CN118018557A (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