CN114064075A - 一种应用程序的更新方法、装置、电子设备及存储介质 - Google Patents
一种应用程序的更新方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114064075A CN114064075A CN202111327196.1A CN202111327196A CN114064075A CN 114064075 A CN114064075 A CN 114064075A CN 202111327196 A CN202111327196 A CN 202111327196A CN 114064075 A CN114064075 A CN 114064075A
- Authority
- CN
- China
- Prior art keywords
- version number
- application
- application program
- hot
- latest
- 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
Images
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)
- Stored Programmes (AREA)
Abstract
本发明公开了一种应用程序的更新方法、装置、电子设备及存储介质,涉及移动互联技术领域。该方法包括:获取应用程序的本地应用版本号和本地热更新版本号;从服务端获取应用程序的最新应用版本号和最新热更新版本号;若所述本地应用版本号与所述最新应用版本号相同,则比较所述本地热更新版本号与所述最新热更新版本号,且在所述本地热更新版本号小于所述最新热更新版本号的情况下,对所述应用程序进行热更新。通过本申请的技术方案,可以解决传统应用程序更新技术工作量大、耗时长的问题,可以在应用程序内自行更新前端资源包,降低了应用更新频率,无需频繁向应用市场申请更新,提高应用程序的更新时效性;用户无需替换重装,优化用户体验。
Description
技术领域
本发明实施例涉及移动互联技术领域,尤其涉及一种应用程序的更新方法、装置、电子设备及存储介质。
背景技术
应用程序是针对用户的某种特殊应用目的所撰写的软件,通过不同的应用程序可以为用户提供不同的服务。而在实际应用中,出于扩展功能,修复漏洞,提升用户体验等目的,常常需要对应用程序进行更新。
当前应用程序上架需要经过一系列的申请、严密的审核,等待时间较长。上架更新成功后,用户才能在应用市场进行下载安装。随着应用程序的版本周期迭代,开发者需要频繁打包,向各个应用市场申请换包,等待审核,这就会带来工作量大、耗时长等问题。因此,需要提出一种应用程序的更新方法来改善传统更新技术存在的问题。
发明内容
本发明提供一种应用程序的更新方法、装置、电子设备及存储介质,以实现提高应用程序的更新时效性的效果。
第一方面,本发明实施例提供了一种应用程序的更新方法,该方法包括:
获取应用程序的本地应用版本号和本地热更新版本号;
从服务端获取应用程序的最新应用版本号和最新热更新版本号;
若所述本地应用版本号与所述最新应用版本号相同,则比较所述本地热更新版本号与所述最新热更新版本号,且在所述本地热更新版本号小于所述最新热更新版本号的情况下,对所述应用程序进行热更新。
第二方面,本发明实施例还提供了一种应用程序的更新装置,该装置包括:
本地获取模块,用于获取应用程序的本地应用版本号和本地热更新版本号;
服务端获取模块,用于从服务端获取应用程序的最新应用版本号和最新热更新版本号;
热更新模块,用于若所述本地应用版本号与所述最新应用版本号相同,则比较所述本地热更新版本号与所述最新热更新版本号,且在所述本地热更新版本号小于所述最新热更新版本号的情况下,对所述应用程序进行热更新。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所述的应用程序的更新方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任意实施例所述的应用程序的更新方法。
本发明实施例提供的一种应用程序的更新方法、装置、电子设备及存储介质,通过获取应用程序的本地应用版本号和本地热更新版本号;从服务端获取应用程序的最新应用版本号和最新热更新版本号;若所述本地应用版本号与所述最新应用版本号相同,则比较所述本地热更新版本号与所述最新热更新版本号,且在所述本地热更新版本号小于所述最新热更新版本号的情况下,对所述应用程序进行热更新,解决传统应用程序更新技术工作量大、耗时长的问题,可以在应用程序内自行更新前端资源包,降低了应用更新频率,无需频繁向应用市场申请更新,提高应用程序的更新时效性;用户无需替换重装,优化用户体验,为应用程序的更新提供了一种新思路。
附图说明
图1为本发明实施例一提供的一种应用程序的更新方法的流程图;
图2是本发明实施例二提供的一种应用程序的更新方法的流程图;
图3是本发明实施例三提供的一种应用程序的更新方法的流程图;
图4是本发明实施例四提供的一种应用程序的更新装置的结构框图;
图5是本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种应用程序的更新方法的流程图,本实施例可适用于对应用程序进行更新的情况,尤其适用于对漏洞的紧急修复。该方法可以由本发明实施例提供的应用程序的更新装置来执行,该装置可以采用软件和/或硬件的方式实现,并可集成在电子设备上。
具体的,如图1所示,本发明实施例提供的应用程序的更新方法,可以包括如下步骤:
S110、获取应用程序的本地应用版本号和本地热更新版本号。
其中,目前常用的应用程序开发方式主要有3种,分为:本地应用程序(NativeAPP,原生App)、网页应用程序(Web App,移动Web)和混合应用程序(Hybrid App,混合App)。Hybrid App通过网页视图(Webview)加载Web页面,在Native和Web页面之间建立双向通信。
本实施例中,优选的,应用程序为混合应用。如果企业使用Hybrid App开发方法,就能集Native App和Web App两者之所长。一方面,Native App让开发者可以充分利用现代移动设备所提供的全部不同的特性和功能。另一方面,使用Web App语言编写的所有代码都可以在不同的移动平台之间共享,使得开发和日常维护过程变得更集中、更简短、更经济高效。
应用程序版本号,是采用统一方式对应用程序的当前版本进行的编号,可以用来唯一区分应用程序的当前版本。版本号的制定规则为:“应用版本号.热更新版本号”。
可选的,应用程序版本号中的前n位为应用版本号,应用程序版本号中的第n+1位为热更新版本号。具体的,应用程序版本号2.4.3.1中,2.4.3为应用版本号,1为热更新版本号。其中,应用版本号又可以包括多位。本实施例以应用程序版本号包括3位应用版本号、1位热更新版本号为例进行说明,应用程序初版本时,应用程序版本号可以为0.1.0.0,也可以为1.0.0.0;当应用程序在进行了局部修改或bug修正时,可以保持前两位版本号不变,第三位版本号加1,如应用程序版本号由2.4.3.1修改为2.4.4.1;当应用程序在原有的基础上增加了部分功能时,可以保持第一位版本号不变,第二位版本号加1,将第三位版本号复位为0,如应用程序版本号由2.4.3.1修改为2.5.3.1;当应用程序在进行了重大修改或局部修正累积较多,而导致应用程序整体发生全局变化时,可以将第一位版本号加1,如应用程序版本号由2.4.3.1修改为3.4.3.1。需要说明的是,热更新版本号也可以分为多位,本申请对此不做具体限定。
本实施例中,本地应用程序版本号的制定规则为:“本地应用版本号.本地热更新版本号”。可以端获取本地应用程序版本号,根据预设的版本号制定规则和本地应用程序版本号,确定本地应用版本号和本地热更新版本号,以供后续比较。
S120、从服务端获取应用程序的最新应用版本号和最新热更新版本号。
其中,服务端配置了最新版本的应用程序。服务端应用程序的最新应用程序版本号的制定规则仍然为:“最新应用版本号.最新热更新版本号”。当应用版本号发生变化时,为较大版本更新,需要申请上架市场;当只有热更新版本号变化时,可以在应用程序内自行更新软件内容。
本实施例中,可以在后台管理端设置应用程序的更新菜单,定义热更新渠道页签,包含安卓(Android)和iOS,两端独立配置,灵活可控,互不影响。定义热更新开关,控制热更新开启或关闭。配置最新前端资源版本号、资源地址和安装策略。
在本地应用程序启动时,可以通过版本更新检查接口,获取配置于后台的最新前端资源版本号、对应的资源地址和安装策略。其中,配置于后台的最新前端资源版本号为服务端配置的最新版本的应用程序版本号,包括最新应用版本号和最新热更新版本号;资源地址为最新版本的应用程序安装包的获取地址。
S130、若本地应用版本号与最新应用版本号相同,则比较本地热更新版本号与最新热更新版本号,且在本地热更新版本号小于最新热更新版本号的情况下,对应用程序进行热更新。
其中,本地应用版本号与最新应用版本号相同,意味着当前用户已更新最新版本的应用,无需重复整体更新。本地热更新版本号小于最新热更新版本号,则意味着当前用户热更新版本并非最新,需要进行热更新。
热更新,就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复漏洞和发布功能,让开发者得以绕开上架的审核机制,避免长时间的审核等待以及多次被拒造成的成本。用户只有在打开App时才会发现热更新包,更新时只需下载安装更新部分的代码,再次打开时即可。
通过这种二级比较的方式,只需要维护一个最新的前端资源包,资源包也只会对应用版本号比对一致且热更新版本号比对不一致的应用进行热更新,而对于历史存量版本App,则进行应用整体更新,无需维护多个前端资源包与历史存量版本App之间适配关系,也不需要维护多个前端资源包。
本实施例的技术方案,通过获取应用程序的本地应用版本号和本地热更新版本号;从服务端获取应用程序的最新应用版本号和最新热更新版本号;若本地应用版本号与最新应用版本号相同,则比较本地热更新版本号与最新热更新版本号,且在本地热更新版本号小于最新热更新版本号的情况下,对应用程序进行热更新,解决传统应用程序更新技术工作量大、耗时长的问题,可以在应用程序内自行更新前端资源包,降低了应用更新频率,无需频繁向应用市场申请更新,提高应用程序的更新时效性;用户无需替换重装,优化用户体验,为应用程序的更新提供了一种新思路。
由于用户在进入App时频繁看到版本升级,然后得下载、覆盖安装,影响了用户体验。在上述技术方案的基础上,为了提升用户体验,优选的,对应用程序进行热更新,可以包括:根据最新热更新资源包的地址,静默下载最新热更新资源包;根据最新热更新资源包的热更新策略,对应用程序进行热更新。
为了降低用户对应用程序更新的感知,实现更新无感,在一个可选的实施方式中,根据最新热更新资源包的热更新策略,对应用程序进行热更新,可以包括:若最新热更新资源包的热更新策略为静默更新,则等待应用程序重新启动时,采用最新热更新资源对本地应用程序进行更新。
为了一些较为紧急的功能修复,需要进行强制更新,在另一个可选的实施方式中,根据最新热更新资源包的热更新策略,对应用程序进行热更新,可以包括:触发采用最新热更新资源对本地应用程序进行更新,并重启应用程序。
进一步的,采用最新热更新资源对本地应用程序进行更新,包括:采用最新更新资源包替换本地热更新资源包。
实施例二
图2为本发明实施例二提供的一种应用程序的更新方法的流程图,该方法在上述实施例的基础上进一步的优化,给出了本地应用版本号小于最新应用版本号的具体情况介绍。
具体的,如图2所示,该方法包括:
S210、获取应用程序的本地应用版本号和本地热更新版本号。
S220、从服务端获取应用程序的最新应用版本号和最新热更新版本号。
S230、若本地应用版本号小于最新应用版本号,则生成对应用程序进行整体更新的提示信息。
其中,本地应用版本号小于最新应用版本号,意味着当前用户的应用需要整体更新。考虑到应用程序进行整体更新的资源包一般较大,更新时间较长,可能会影响到用户的使用,可以在整体更新前生成对应用程序进行整体更新的提示信息,由用户确定是否进行整体更新、何时进行整体更新。
S240、响应于用户的整体更新确认操作,采用应用程序的整体资源包对应用程序进行整体更新。
其中,整体资源包是一种应用程序安装包,包括应用程序安装的所有文件。整体更新,相较于热更新而言,更新幅度更大。
本实施例中,用户接收到应用程序进行整体更新的提示信息后,可以确定是否进行整体更新、何时进行整体更新。若用户确定进行整体更新操作,则采用应用程序的整体资源包对应用程序进行整体更新。
其中,应用程序的整体资源包配置于后台。在本地应用程序启动时,可以通过版本更新检查接口,获取配置于后台的整体资源包地址;访问整体资源包地址,获取整体资源包;采用应用程序的整体资源包对应用程序进行整体升级。
S250、获取整体资源包的热更新版本号,且在整体资源包的热更新版本号小于最新热更新版本号的情况下,对整体更新后的应用程序进行热更新。
考虑到最新的热更新可能不会包括在整体资源包中,在当前应用程序的应用版本号更新到最新时,获取整体资源包的热更新版本,比较整体资源包的热更新版本号和最新热更新版本号,确定是否需要进一步进行热更新。
若整体资源包的热更新版本号小于最新热更新版本号,则对整体更新后的应用程序进行热更新;若整体资源包的热更新版本号等于最新热更新版本号,则无需对整体更新后的应用程序进行热更新。
本实施例的技术方案,给出了本地应用版本号小于最新应用版本号的具体情况介绍,通过若本地应用版本号小于最新应用版本号,则生成对应用程序进行整体更新的提示信息;响应于用户的整体更新确认操作,采用应用程序的整体资源包对应用程序进行整体更新;获取整体资源包的热更新版本号,且在整体资源包的热更新版本号小于最新热更新版本号的情况下,对整体更新后的应用程序进行热更新,解决了现有技术需要前端维护多个资源包的问题,只需要维护一个最新的前端资源包,减轻了开发者多版本维护负担和后台服务兼容适配的难度。
实施例三
图3为本发明实施例三提供的一种应用程序的更新方法的流程图,该方法在上述实施例的基础上进一步的优化,给出了对更新资源包进行签名值校验的具体情况介绍。
具体的,如图3所示,该方法包括:
S310、获取应用程序的本地应用版本号和本地热更新版本号。
S320、从服务端获取应用程序的最新应用版本号和最新热更新版本号。
S330、若本地应用版本号与最新应用版本号相同,则比较本地热更新版本号与最新热更新版本号,且在本地热更新版本号小于最新热更新版本号的情况下,获取最新热更新资源包所携带的资源包签名值。
其中,资源包签名值用于验证资源包是否异常,在一定程度上保证了最新热更新资源包的安全性。在构建最新热更新资源包时,可以将与最新热更新资源包具有相同应用版本号的原生资源包的应用签名添加到最新热更新资源包,作为最新热更新资源包所携带的资源包签名值。
本实施例中,若本地应用版本号与最新应用版本号相同,则比较本地热更新版本号与最新热更新版本号,且在本地热更新版本号小于最新热更新版本号的情况下,下载最新热更新资源包,并读取最新热更新资源包所携带的资源包签名值,用于后续校验。
S340、比较资源包签名值与应用程序中的本地签名值,并根据比较结果对应用程序进行热更新对应用程序进行热更新。
本实施例中,根据比较结果对应用程序进行热更新,包括:若资源包签名值与应用程序中的本地签名值相同,则确定最新热更新资源包未被篡改,且采用最新热更新资源包对应用程序进行热更新;否则,拒绝对应用程序进行热更新。
示例性的,如安卓端,下载最新热更新资源包后,则读取config.json中的签名值,将最新热更新资源中的签名值和本地应用中的签名值进行比对,如一致,则说明最新热更新资源包正确,没有被伪造替换,在一定程度上保证了前端资源包的安全;如不一致,则说明最新热更新资源包异常,校验不通过,更新停止。
S350、在应用程序重新启动时,获取最新热更新资源包所携带的资源包签名值;若资源包签名值与应用程序中的本地签名值不同,则控制应用程序退出。
为了防止前端资源包被套壳,进一步提高应用程序更新的安全性,对应用程序进行热更新之后,还可以在应用程序重新启动时,再次获取最新热更新资源包所携带的资源包签名值;若资源包签名值与应用程序中的本地签名值不同,则控制应用程序退出。
本实施例的技术方案,给出了对更新资源包进行签名值校验的具体情况介绍,通过获取最新热更新资源包所携带的资源包签名值,比较资源包签名值与应用程序中的本地签名值,并根据比较结果对应用程序进行热更新对应用程序进行热更新,可以防止前端的最新热更新资源包被篡改货套壳,在一定程度上保证了前端资源包的安全。
实施例四
图4是本发明实施例四所提供的一种应用程序的更新装置的结构示意图,该装置适用于执行本发明实施例提供的应用程序的更新方法,可以提高应用程序的更新时效性。如图4所示,该装置包括本地获取模块410、服务端获取模块420和热更新模块430。
其中,本地获取模块410,用于获取应用程序的本地应用版本号和本地热更新版本号;服务端获取模块420,用于从服务端获取应用程序的最新应用版本号和最新热更新版本号;热更新模块430,用于若本地应用版本号与最新应用版本号相同,则比较本地热更新版本号与最新热更新版本号,且在本地热更新版本号小于最新热更新版本号的情况下,对应用程序进行热更新。
本实施例的技术方案,通过获取应用程序的本地应用版本号和本地热更新版本号;从服务端获取应用程序的最新应用版本号和最新热更新版本号;若本地应用版本号与最新应用版本号相同,则比较本地热更新版本号与最新热更新版本号,且在本地热更新版本号小于最新热更新版本号的情况下,对应用程序进行热更新,解决传统应用程序更新技术工作量大、耗时长的问题,提高应用程序的更新时效性,进而有利于维护好应用程序,提升用户体验,为应用程序的更新提供了一种新思路。
优选的,装置还包括:更新提示模块,用于若本地应用版本号小于最新应用版本号,则生成对应用程序进行整体更新的提示信息。
优选的,装置还包括:整体更新模块,用于生成对应用程序进行整体更新的提示信息之后,响应于用户的整体更新确认操作,采用应用程序的整体资源包对应用程序进行整体更新;获取整体资源包的热更新版本号,且在整体资源包的热更新版本号小于最新热更新版本号的情况下,对整体更新后的应用程序进行热更新。
优选的,上述热更新模块430具体包括:资源包下载单元和热更新单元。其中,资源包下载单元,用于根据最新热更新资源包的地址,静默下载最新热更新资源包;热更新单元,用于根据最新热更新资源包的热更新策略,对应用程序进行热更新。
优选的,上述热更新单元具体用于若最新热更新资源包的热更新策略为静默更新,则等待应用程序重新启动时,采用最新热更新资源对本地应用程序进行更新;否则,触发采用最新热更新资源对本地应用程序进行更新,并重启应用程序。
优选的,采用最新热更新资源对本地应用程序进行更新,包括:采用最新热更新资源包替换本地热更新资源包。
优选的,上述热更新模块430还具体包括:签名值获取单元和签名值比较单元。其中,签名值获取单元,用于获取最新热更新资源包所携带的资源包签名值;签名值比较单元,用于比较资源包签名值与应用程序中的本地签名值,并根据比较结果对应用程序进行热更新。
优选的,签名值比较单元具体用于:若资源包签名值与应用程序中的本地签名值相同,则确定最新热更新资源包未被篡改,且采用最新热更新资源包对应用程序进行热更新;否则,拒绝对应用程序进行热更新。
优选的,装置还包括:签名值获取模块和签名值比较模块。其中,签名值获取模块,用于在应用程序重新启动时,获取最新热更新资源包所携带的资源包签名值;签名值比较模块,用于若资源包签名值与应用程序中的本地签名值不同,则控制应用程序退出。
优选的,装置还包括签名添加模块,用于在构建最新热更新资源包时,将与最新热更新资源包具有相同应用版本号的原生资源包的应用签名添加最新热更新资源包。
优选的,应用程序版本号中的前n位可以设置为应用版本号,应用程序版本号中的第n+1位可以设置为热更新版本号。
优选的,应用程序为混合应用。
本发明实施例所提供的应用程序的更新装置可执行本发明任意实施例所提供的应用程序的更新方法,具备执行方法相应的功能模块和有益效果。
实施例五
图5为本发明实施例五提供的一种电子设备的结构示意图。图5示出了适于用来实现本发明实施方式的示例性电子设备12的框图。图5显示的电子设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备12以通用计算设备的形式表现。电子设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MCA)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
电子设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。电子设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。系统存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如系统存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
电子设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该电子设备12交互的设备通信,和/或与使得该电子设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,电子设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与电子设备12的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的应用程序的更新方法。
实施例六
本发明实施例六还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请任意发明实施例提供的应用程序的更新方法。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络包括局域网(LAN)或广域网(WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种应用程序的更新方法,其特征在于,所述方法包括:
获取应用程序的本地应用版本号和本地热更新版本号;
从服务端获取应用程序的最新应用版本号和最新热更新版本号;
若所述本地应用版本号与所述最新应用版本号相同,则比较所述本地热更新版本号与所述最新热更新版本号,且在所述本地热更新版本号小于所述最新热更新版本号的情况下,对所述应用程序进行热更新。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述本地应用版本号小于所述最新应用版本号,则生成对所述应用程序进行整体更新的提示信息。
3.根据权利要求2所述的方法,其特征在于,所述生成对所述应用程序进行整体更新的提示信息之后,还包括:
响应于用户的整体更新确认操作,采用应用程序的整体资源包对应用程序进行整体更新;
获取整体资源包的热更新版本号,且在整体资源包的热更新版本号小于所述最新热更新版本号的情况下,对所述整体更新后的应用程序进行热更新。
4.根据权利要求1所述的方法,其特征在于,对所述应用程序进行热更新,包括:
根据最新热更新资源包的地址,静默下载最新热更新资源包;
根据所述最新热更新资源包的热更新策略,对所述应用程序进行热更新。
5.根据权利要求4所述的方法,其特征在于,所述根据所述最新热更新资源包的热更新策略,对所述应用程序进行热更新,包括:
若所述最新热更新资源包的热更新策略为静默更新,则等待应用程序重新启动时,采用所述最新热更新资源对本地应用程序进行更新;
否则,触发采用所述最新热更新资源对本地应用程序进行更新,并重启应用程序。
6.根据权利要求5所述的方法,其特征在于,采用所述最新热更新资源对本地应用程序进行更新,包括:
采用所述最新热更新资源包替换本地热更新资源包。
7.根据权利要求1所述的方法,其特征在于,所述对所述应用程序进行热更新,包括:
获取最新热更新资源包所携带的资源包签名值;
比较所述资源包签名值与应用程序中的本地签名值,并根据比较结果对所述应用程序进行热更新。
8.根据权利要求7所述的方法,其特征在于,根据比较结果对所述应用程序进行热更新,包括:
若所述资源包签名值与应用程序中的本地签名值相同,则确定所述最新热更新资源包未被篡改,且采用所述最新热更新资源包对所述应用程序进行热更新;否则,拒绝对所述应用程序进行热更新。
9.根据权利要求1所述的方法,其特征在于,所述对所述应用程序进行热更新之后,还包括:
在应用程序重新启动时,获取最新热更新资源包所携带的资源包签名值;
若所述资源包签名值与应用程序中的本地签名值不同,则控制应用程序退出。
10.根据权利要求7-9中任一项所述的方法,其特征在于,所述获取最新热更新资源包所携带的资源包签名值之前,还包括:
在构建所述最新热更新资源包时,将与所述最新热更新资源包具有相同应用版本号的原生资源包的应用签名添加所述最新热更新资源包。
11.根据权利要求1或2所述的方法,其特征在于,应用程序版本号中的前n位为应用版本号,所述应用程序版本号中的第n+1位为热更新版本号。
12.根据权利要求1所述的方法,其特征在于,所述应用程序为混合应用。
13.一种应用程序的更新装置,其特征在于,所述装置包括:
本地获取模块,用于获取应用程序的本地应用版本号和本地热更新版本号;
服务端获取模块,用于从服务端获取应用程序的最新应用版本号和最新热更新版本号;
热更新模块,用于若所述本地应用版本号与所述最新应用版本号相同,则比较所述本地热更新版本号与所述最新热更新版本号,且在所述本地热更新版本号小于所述最新热更新版本号的情况下,对所述应用程序进行热更新。
14.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-12中任一所述的应用程序的更新方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-12中任一所述的应用程序的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111327196.1A CN114064075A (zh) | 2021-11-10 | 2021-11-10 | 一种应用程序的更新方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111327196.1A CN114064075A (zh) | 2021-11-10 | 2021-11-10 | 一种应用程序的更新方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064075A true CN114064075A (zh) | 2022-02-18 |
Family
ID=80274599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111327196.1A Pending CN114064075A (zh) | 2021-11-10 | 2021-11-10 | 一种应用程序的更新方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064075A (zh) |
-
2021
- 2021-11-10 CN CN202111327196.1A patent/CN114064075A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8489922B2 (en) | Networked recovery system | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
CN109194606B (zh) | 攻击检测系统、方法、计算机设备及存储介质 | |
US8954949B2 (en) | Smart patch delivery system | |
US9250889B2 (en) | Assigning severity to a software update | |
US9626196B2 (en) | Broadcasting management information using fountain codes | |
CN107291481B (zh) | 一种组件更新方法、装置和系统 | |
CA2860657C (en) | Installation engine and package format for parallelizable, reliable installations | |
US20110265072A1 (en) | Dynamic Installation of Files for Running Programs | |
CN109634659A (zh) | 一种对bmc进行控制的方法、装置、设备以及存储介质 | |
US10394619B2 (en) | Signature-based service manager with dependency checking | |
CN114064075A (zh) | 一种应用程序的更新方法、装置、电子设备及存储介质 | |
US20200257520A1 (en) | Updating firmware of a microcontroller | |
US20150212866A1 (en) | Management system for service of multiple operating environments, and methods thereof | |
US20220334820A1 (en) | System and method for intermediate software upgrades for information handling systems | |
CN112988192A (zh) | 版本更新方法、装置、电子设备及存储介质 | |
CN113656063A (zh) | 一种系统版本更换方法、装置、设备及计算机可读介质 | |
CN114860283A (zh) | 一种软件升级方法、装置、电子设备及存储介质 | |
CN116661844A (zh) | 配置文件处理方法、应用程序更新方法、装置、服务器 | |
CN111741130A (zh) | 一种服务器管理方法、装置、设备及存储介质 | |
CN111013157A (zh) | 游戏加载方法、装置、设备及存储介质 | |
CN116795560A (zh) | 一种会话共享方法、装置及相关设备 | |
CN116737213A (zh) | 热补丁升级方法、多核处理器及相关设备与存储介质 | |
CN114895926A (zh) | 一种应用程序安装方法、装置、电子设备及存储介质 | |
CN114035820A (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 |