CN110837383B - 应用免安装升级方法及装置 - Google Patents
应用免安装升级方法及装置 Download PDFInfo
- Publication number
- CN110837383B CN110837383B CN201910943928.6A CN201910943928A CN110837383B CN 110837383 B CN110837383 B CN 110837383B CN 201910943928 A CN201910943928 A CN 201910943928A CN 110837383 B CN110837383 B CN 110837383B
- Authority
- CN
- China
- Prior art keywords
- application
- upgrade
- upgrading
- sandbox
- program
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 244000035744 Hura crepitans Species 0.000 claims abstract description 173
- 238000004806 packaging method and process Methods 0.000 claims abstract description 14
- 238000012795 verification Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000009434 installation Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000001028 reflection method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供一种应用免安装升级方法及装置,所述方法包括:启动沙箱引导程序对沙箱核心程序进行升级;启动沙箱核心程序对应用进行升级;启动升级后的应用;其中,所述应用采用不拆包封装方式封装在沙箱内运行。本发明实施例提供的应用免安装升级方法及装置,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
Description
技术领域
本发明涉及移动应用安全技术领域,尤其涉及一种应用免安装升级方法及装置。
背景技术
传统对终端上的应用进行更新,采用热更新方式。简单来说,就是在用户通下载安装应用APP之后,打开APP时遇到的即时更新。用户只有在打开App时才会发现热更新包,更新时只需下载安装更新部分的代码,再次打开时即可。但这种方式只能更新应用的某个插件模块,并不能对应用进行整包的更新。
发明内容
针对现有技术存在的问题,本发明实施例提供一种应用免安装升级方法及装置。
本发明实施例提供一种应用免安装升级方法,包括:
启动沙箱引导程序对沙箱核心程序进行升级;
启动沙箱核心程序对应用进行升级;
启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
可选地,所述启动沙箱引导程序对沙箱核心程序进行升级,包括:
启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;
确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序。
可选地,所述启动沙箱核心程序对应用进行升级,包括:
确定加载新版沙箱核心程序成功后,启动新版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;
确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用。
可选地,所述升级条件包括对应于升级环境的升级条件和对应于升级包的升级条件,其中:
对应于升级环境的升级条件包括:
待升级的程序或应用非初次安装;
待升级的程序或应用的升级启动是第一启动进程;
待升级的程序或应用非正在安装;
对应于升级包的升级条件:
升级包的文件时间大于原数据包的文件时间;
升级包签名需通过校验;
对于沙箱核心程序的升级,升级包版本号需不一致;
升级包与原数据包签名一致。
可选地,还包括:确定加载新版沙箱核心程序失败后,启动旧版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;
确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用。
可选地,还包括:确定加载新版应用失败后,启动旧版应用。
第二方面,本发明实施例提供一种应用免安装升级装置,包括:
第一升级模块,用于启动沙箱引导程序对沙箱核心程序进行升级;
第二升级模块,用于启动沙箱核心程序对应用进行升级;
启动模块,用于启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
可选地,所述第一升级模块具体用于:
启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;
确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序。
可选地,所述第二升级模块具体用于:
确定加载新版沙箱核心程序成功后,启动新版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;
确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用。
可选地,所述升级条件包括对应于升级环境的升级条件和对应于升级包的升级条件,其中:
对应于升级环境的升级条件包括:
待升级的程序或应用非初次安装;
待升级的程序或应用的升级启动是第一启动进程;
待升级的程序或应用非正在安装;
对应于升级包的升级条件:
升级包的文件时间大于原数据包的文件时间;
升级包签名需通过校验;
对于沙箱核心程序的升级,升级包版本号需不一致;
升级包与原数据包签名一致。
可选地,所述第二升级模块还具体用于:
确定加载新版沙箱核心程序失败后,启动旧版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;
确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用。
可选地,所述启动模块还用于:确定加载新版应用失败后,启动旧版应用。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述应用免安装升级方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述应用免安装升级方法的步骤。
本发明实施例提供的应用免安装升级方法及装置,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明应用免安装升级方法实施例流程图;
图2为本发明应用采用不拆包封装方式封装在沙箱内的封装示意图;
图3为本发明应用免安装升级方法实施例流程图;
图4为本发明应用免安装升级方法实施例流程图;
图5为本发明应用免安装升级方法的细化流程示意图;
图6为本发明应用免安装升级装置实施例结构图;
图7为本发明电子设备实施例结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
传统对终端上的应用进行更新,采用热更新方式,但这种方式只能更新应用的某个插件模块,并不能对应用进行整包的更新。但是经过封装在沙箱内的应用较之更有优势,在于沙箱核心程序和应用的原数据包都能被动态加载,可以看作是封装后应用的一个模块,因此可实现被封装的应用的动态免安装升级。但此种动态升级方式是基于不拆包封装的应用为基础的,如果是拆包封装的应用无法实现动态免安装升级。
为此,图1示出了本发明一实施例提供的一种应用免安装升级方法,包括:
S11、启动沙箱引导程序对沙箱核心程序进行升级;
S12、启动沙箱核心程序对应用进行升级;
S13、启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
针对步骤S11-步骤S13,需要说明的是,在本发明实施例中,如图2所示为应用采用不拆包封装方式封装在沙箱内的封装示意图。从图2中可以看出,沙箱引导程序、沙箱核心程序和应用形成层状安全运行环境。应用可在沙箱内安全运行。沙箱引导程序用于引导沙箱启动,不可免安装升级。可检测沙箱核心程序的升级包,在满足升级条件时,完成沙箱核心程序的升级操作,并能够动态加载沙箱核心程序的初始化程序。沙箱核心程序可检测应用的升级包,在满足升级条件时,完成应用的升级操作,并能够动态加载应用的初始化程序。应用初始化后,可被启动在沙箱内运行。
需要说明的是,无论是沙箱核心程序的升级还是应用的升级,在不满足升级条件时,都不能升级,并且在运行时只能运行原有的程序及应用。
本发明实施例提供的应用免安装升级方法,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
图3示出了本发明一实施例提供的一种应用免安装升级方法,包括:
S21、启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序;
S22、启动沙箱核心程序对应用进行升级;
S23、启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
针对步骤S21,需要说明的是,在本发明实施例中,第一升级环境信息为对应于沙箱核心程序升级的环境信息。该环境信息是对待升级的程序是否非初次安装,待升级的程序的升级启动是否是第一启动进程,待升级的程序是否正在安装进行检测的结果信息。
若待升级的程序(即沙箱核心程序)为初次安装,则不检测是否存有沙箱核心程序的升级包,直接使用沙箱核心程序的自带安装包。
若待升级的程序(即沙箱核心程序)不是第一启动进程,则不做升级操作,待等待程序为第一启动进程时,再做升级操作。
若待升级的程序(即沙箱核心程序)正在升级,则不检测是否存有沙箱核心程序的升级包,直接使用沙箱核心程序的自带安装包。
在本发明实施例中,启动沙箱引导程序,检测获取第一升级环境信息,以及检测是否存在对应于沙箱核心程序的第一升级包,在存在第一升级包时,根据第一升级环境信息和第一升级包判断是否均满足升级条件。在这里,升级条件包括对应于升级环境的升级条件和对应于升级包的升级条件,其中:
对应于升级环境的升级条件包括:
待升级的程序非初次安装;
待升级的程序的升级启动是第一线程;
待升级的程序非正在安装;
对应于升级包的升级条件:
升级包的文件时间大于原数据包的文件时间;
升级包签名需通过校验;
对于沙箱核心程序的升级,升级包版本号需不一致;
升级包与原数据包签名一致。
当判断均满足升级条件,则触发升级逻辑,根据第一升级包生成新版沙箱核心程序并动态加载新版沙箱核心程序的初始化程序,以及备份旧版沙箱核心程序。其中,升级更新包括JAVA代码及JNI so库等。
另外,当不满足升级条件时,动态加载旧版沙箱核心程序的初始化程序,从而启动沙箱核心程序。
针对步骤S22和步骤S23,与上述实施例步骤S12和步骤S13原理上相同,在此不再赘述。
本发明实施例提供的应用免安装升级方法,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
图4示出了本发明一实施例提供的一种应用免安装升级方法,包括:
S31、启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序;
S32、确定加载新版沙箱核心程序成功后,启动新版沙箱核心程序,确定第二升级环境信息和存在对应于应用程序的第二升级包;确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用程序并初始化加载,以及备份旧版应用程序;
S33、启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
针对步骤S32,需要说明的是,在本发明实施例中,第二升级环境信息为对应于应用升级的环境信息。该环境信息是对待升级的应用是否非初次安装,待升级的应用的升级启动是否是第一启动进程,待升级的应用是否正在安装进行检测的结果信息。
若待升级的应用为初次安装,则不检测是否存有应用的升级包,直接使用应用的自带安装包。
若待升级的应用不是第一启动进程,则不做升级操作,待等待应用为第一启动进程时,再做升级操作。
若待升级的应用正在升级,则不检测是否存有应用的升级包,直接使用应用的自带安装包。
在本发明实施例中,启动沙箱核心程序,检测获取第二升级环境信息,以及检测是否存在对应于应用的第二升级包,在存在第二升级包时,根据第二升级环境信息和第二升级包判断是否均满足升级条件。在这里,升级条件包括对应于升级环境的升级条件和对应于升级包的升级条件,其中:
对应于升级环境的升级条件包括:
待升级的应用非初次安装;
待升级的应用的升级启动是第一线程;
待升级的应用非正在安装;
对应于升级包的升级条件:
升级包的文件时间大于原数据包的文件时间;
升级包签名需通过校验;
对于沙箱核心程序的升级,升级包版本号需不一致;
升级包与原数据包签名一致。
当判断均满足升级条件,则触发升级逻辑,根据第二升级包生成新版应用并动态加载新版应用的初始化程序,以及备份旧版应用。其中,更新升级包括JAVA代码处理逻辑、AndroidManifest.xml、资源文件等。
另外,当不满足升级条件时,动态加载旧版应用的初始化程序,从而启动应用。
另外,加载失败(即升级失败)的原因包括:程序崩溃或程序初始化返回错误。因此,需要在返回重新加载程序的初始化程序,直到加载成功或加载确实失败。
在上述实施例的基础上进一步的实施例中,确定加载新版沙箱核心程序失败后,将旧版沙箱核心程序重新放入加载目录中,启动旧版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;
确定第二升级环境信息和第二升级包均满足升级条件后,根据第二升级包生成新版应用并初始化加载,以及备份旧版应用。
另外,确定加载新版应用失败后,启动旧版应用程序。
另外,加载失败(即升级失败)的原因包括:应用崩溃或应用初始化返回错误。因此,需要在返回重新加载应用的初始化程序,直到加载成功或加载确实失败。
需要说明的是,沙箱引导程序动态加载沙箱核心程序使用的是Java提供的动态加载机制来加载沙箱核心程序。沙箱核心程序动态加载应用使用的是Java反射方法进行动态加载应用。
图5所示为本发明实施例应用免安装升级方法的细化流程示意图,从图5中可以看出上述步骤S31-步骤S33的细化流程,具体流程内容上述步骤S21和步骤S32已详细说明,在此不再赘述。
本发明实施例提供的应用免安装升级方法,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
图6示出了本发明一实施例提供的一种应用免安装升级装置,包括第一升级模块41、第二升级模块42和启动模块43,其中:
第一升级模块41,用于启动沙箱引导程序对沙箱核心程序进行升级;
第二升级模块42,用于启动沙箱核心程序对应用进行升级;
启动模块43,用于启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明实施例提供的应用免安装升级装置,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
本发明一实施例提供的一种应用免安装升级装置,包括第一升级模块、第二升级模块和启动模块,其中:
第一升级模块,用于启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序;
第二升级模块,用于启动沙箱核心程序对应用进行升级;
启动模块,用于启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明实施例提供的应用免安装升级装置,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
本发明一实施例提供的一种应用免安装升级装置,包括第一升级模块、第二升级模块和启动模块,其中:
第一升级模块,用于启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序;
第二升级模块,用于确定加载新版沙箱核心程序成功后,启动新版沙箱核心程序,确定第二升级环境信息和存在对应于应用程序的第二升级包;确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用程序并初始化加载,以及备份旧版应用程序;
启动模块,用于启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
由于本发明实施例所述装置与上述实施例所述方法的原理相同,对于更加详细的解释内容在此不再赘述。
需要说明的是,本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
本发明实施例提供的应用免安装升级装置,通过沙箱引导程序对沙箱核心程序检测升级及通过沙箱核心程序对应用检测升级,实现对应用整包的免安装升级处理,使得应用升级便捷,减少更新安装的环节,实用性强。
图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)51、通信接口(Communications Interface)52、存储器(memory)53和通信总线54,其中,处理器51,通信接口52,存储器53通过通信总线54完成相互间的通信。处理器51可以调用存储器53中的逻辑指令,以执行如下方法:启动沙箱引导程序对沙箱核心程序进行升级;启动沙箱核心程序对应用进行升级;启动升级后的应用。
此外,上述的存储器53中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:启动沙箱引导程序对沙箱核心程序进行升级;启动沙箱核心程序对应用进行升级;启动升级后的应用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种应用免安装升级方法,其特征在于,包括:
启动沙箱引导程序对沙箱核心程序进行升级;所述启动沙箱引导程序对沙箱核心程序进行升级,包括:启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序;
启动沙箱核心程序对应用进行升级;所述启动沙箱核心程序对应用进行升级,包括:确定加载新版沙箱核心程序成功后,启动新版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用;
启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
2.根据权利要求1所述的应用免安装升级方法,其特征在于,所述升级条件包括对应于升级环境的升级条件和对应于升级包的升级条件,其中:
对应于升级环境的升级条件包括:
待升级的程序或应用非初次安装;
待升级的程序或应用的升级启动是第一启动进程;
待升级的程序或应用非正在安装;
对应于升级包的升级条件:
升级包的文件时间大于原数据包的文件时间;
升级包签名需通过校验;
对于沙箱核心程序的升级,升级包版本号需不一致;
升级包与原数据包签名一致。
3.根据权利要求1所述的应用免安装升级方法,其特征在于,还包括:确定加载新版沙箱核心程序失败后,启动旧版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;
确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用。
4.根据权利要求3所述的应用免安装升级方法,其特征在于,还包括:确定加载新版应用失败后,启动旧版应用。
5.一种应用免安装升级装置,其特征在于,包括:
第一升级模块,用于启动沙箱引导程序对沙箱核心程序进行升级;所述第一升级模块具体用于:启动沙箱引导程序,确定第一升级环境信息和存在对应于沙箱核心程序的第一升级包;确定所述第一升级环境信息和第一升级包均满足升级条件后,根据所述第一升级包生成新版沙箱核心程序并初始化加载,以及备份旧版沙箱核心程序;
第二升级模块,用于启动沙箱核心程序对应用进行升级;所述第二升级模块具体用于:确定加载新版沙箱核心程序成功后,启动新版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用;
启动模块,用于启动升级后的应用;
其中,所述应用采用不拆包封装方式封装在沙箱内运行。
6.根据权利要求5所述的应用免安装升级装置,其特征在于,所述升级条件包括对应于升级环境的升级条件和对应于升级包的升级条件,其中:
对应于升级环境的升级条件包括:
待升级的程序或应用非初次安装;
待升级的程序或应用的升级启动是第一启动进程;
待升级的程序或应用非正在安装;
对应于升级包的升级条件:
升级包的文件时间大于原数据包的文件时间;
升级包签名需通过校验;
对于沙箱核心程序的升级,升级包版本号需不一致;
升级包与原数据包签名一致。
7.根据权利要求5所述的应用免安装升级装置,其特征在于,所述第二升级模块还具体用于:
确定加载新版沙箱核心程序失败后,启动旧版沙箱核心程序,确定第二升级环境信息和存在对应于应用的第二升级包;
确定所述第二升级环境信息和第二升级包均满足升级条件后,根据所述第二升级包生成新版应用并初始化加载,以及备份旧版应用。
8.根据权利要求7所述的应用免安装升级装置,其特征在于,所述启动模块还用于:确定加载新版应用失败后,启动旧版应用。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任一项所述应用免安装升级方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至4任一项权利要求所述应用免安装升级方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943928.6A CN110837383B (zh) | 2019-09-30 | 2019-09-30 | 应用免安装升级方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910943928.6A CN110837383B (zh) | 2019-09-30 | 2019-09-30 | 应用免安装升级方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110837383A CN110837383A (zh) | 2020-02-25 |
CN110837383B true CN110837383B (zh) | 2023-10-31 |
Family
ID=69575188
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910943928.6A Active CN110837383B (zh) | 2019-09-30 | 2019-09-30 | 应用免安装升级方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837383B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522575B (zh) * | 2020-04-15 | 2023-11-24 | 维沃移动通信有限公司 | 一种应用程序升级方法及电子设备 |
US20220147636A1 (en) * | 2020-11-12 | 2022-05-12 | Crowdstrike, Inc. | Zero-touch security sensor updates |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693139A (zh) * | 2011-03-25 | 2012-09-26 | 比亚迪股份有限公司 | 一种无线升级手机软件的方法及系统 |
WO2014183391A1 (zh) * | 2013-05-17 | 2014-11-20 | 腾讯科技(深圳)有限公司 | 沙箱内安装软件的方法和系统、计算机存储介质 |
WO2016019893A1 (zh) * | 2014-08-07 | 2016-02-11 | 北京奇虎科技有限公司 | 应用安装的方法和装置 |
CN108021427A (zh) * | 2017-11-23 | 2018-05-11 | 国家电网公司 | 基于Docker的信息系统部署及升级管理方法 |
CN108632375A (zh) * | 2018-05-09 | 2018-10-09 | 四川华创世纪科技有限公司 | 一种针对分布式部署服务软件程序的在线升级方法 |
-
2019
- 2019-09-30 CN CN201910943928.6A patent/CN110837383B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102693139A (zh) * | 2011-03-25 | 2012-09-26 | 比亚迪股份有限公司 | 一种无线升级手机软件的方法及系统 |
WO2014183391A1 (zh) * | 2013-05-17 | 2014-11-20 | 腾讯科技(深圳)有限公司 | 沙箱内安装软件的方法和系统、计算机存储介质 |
WO2016019893A1 (zh) * | 2014-08-07 | 2016-02-11 | 北京奇虎科技有限公司 | 应用安装的方法和装置 |
CN108021427A (zh) * | 2017-11-23 | 2018-05-11 | 国家电网公司 | 基于Docker的信息系统部署及升级管理方法 |
CN108632375A (zh) * | 2018-05-09 | 2018-10-09 | 四川华创世纪科技有限公司 | 一种针对分布式部署服务软件程序的在线升级方法 |
Non-Patent Citations (1)
Title |
---|
王俊 ; .基于安全沙箱的医院移动终端数据安全防护.中国数字医学.2018,(第03期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN110837383A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10871953B2 (en) | Application update method and apparatus | |
CN105786538B (zh) | 基于安卓系统的软件升级方法和装置 | |
CN109828772B (zh) | 热更新方法、操作系统、终端设备和存储介质 | |
US8443354B1 (en) | Detecting new or modified portions of code | |
CN104809045B (zh) | 监控脚本的运行方法及装置 | |
CN110837383B (zh) | 应用免安装升级方法及装置 | |
CN106815049B (zh) | 特征库升级的方法及装置 | |
CN108228077B (zh) | 存储区的管理方法、运行方法、装置、设备、可读介质 | |
CN113326058A (zh) | 一种应用的版本更新方法、装置、设备及介质 | |
WO2018024198A1 (zh) | 机顶盒的应用程序升级方法、系统及机顶盒 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
WO2018156085A1 (en) | Device and method for reinforcing control flow integrity of software application | |
CN110414218B (zh) | 内核检测方法、装置、电子设备及存储介质 | |
CN106569851B (zh) | 应用程序处理方法及装置 | |
CN104158907A (zh) | 应用程序文件下载方法及装置 | |
CN110333882B (zh) | 系统的升级方法、装置、设备及计算机可读介质 | |
CN113641389B (zh) | 基于OpenCPU的软件升级方法、装置及设备 | |
CN111475220B (zh) | 冷启动方法、装置、电子设备及计算机存储介质 | |
CN114443065A (zh) | 平台部署方法、装置、电子设备和存储介质 | |
CN110134456B (zh) | 用于管理操作系统的方法、装置、设备和存储介质 | |
CN112882733A (zh) | 应用更新方法及装置、电子设备、存储介质 | |
US9081727B2 (en) | Method, apparatus and computer program for loading files during a boot-up process | |
CN113495738A (zh) | 应用程序的业务逻辑的更新方法及装置 | |
CN111694730B (zh) | 一种消除错误引用控件资源的方法及装置 | |
CN113051564A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant after: QAX Technology Group Inc. Applicant after: Qianxin Wangshen information technology (Beijing) Co.,Ltd. Address before: Room 332, 3 / F, Building 102, 28 xinjiekouwei street, Xicheng District, Beijing 100088 Applicant before: QAX Technology Group Inc. Applicant before: LEGENDSEC INFORMATION TECHNOLOGY (BEIJING) Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |