CN114115974A - 一种插件运行方法、装置、设备及计算机存储介质 - Google Patents
一种插件运行方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN114115974A CN114115974A CN202010887660.1A CN202010887660A CN114115974A CN 114115974 A CN114115974 A CN 114115974A CN 202010887660 A CN202010887660 A CN 202010887660A CN 114115974 A CN114115974 A CN 114115974A
- Authority
- CN
- China
- Prior art keywords
- version
- target
- plug
- abnormal
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 142
- 230000002159 abnormal effect Effects 0.000 claims abstract description 155
- 230000008569 process Effects 0.000 claims abstract description 105
- 238000012544 monitoring process Methods 0.000 claims description 30
- 230000000875 corresponding effect Effects 0.000 claims description 28
- 230000006870 function Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 4
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 230000002547 anomalous effect Effects 0.000 claims description 2
- 238000012545 processing Methods 0.000 abstract description 29
- 238000010586 diagram Methods 0.000 description 9
- 238000009434 installation Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000001186 cumulative effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Retry When Errors Occur (AREA)
Abstract
本申请提供一种插件运行方法、装置、设备及计算机存储介质,涉及计算机技术领域,用以提升对插件的异常版本进行处理的效率。该方法包括:获得待启动的目标插件的当前版本;确定所述当前版本是异常版本时,启动本地备份的目标版本;所述异常版本包括所述目标插件的历史版本中,在本地运行过程中的第一稳定度满足异常条件的版本,所述目标版本包括所述历史版本中,在本地运行过程中的第二稳定度满足稳定条件的版本。该方法中目标插件的当前版本为本地运行过的异常版本时,直接启动本地备份的目标版本,减少了基于异常版本的异常信息确定对异常版本的处理方式的分析过程,提升了对插件的异常版本的处理效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种插件运行方法、装置、设备及计算机存储介质。
背景技术
插件的版本在更新迭代的过程中,插件的当前版本在终端设备上运行的过程中,会由于稳定度差而导致当前版本发生异常,此时终端设备需要将当前版本的异常信息上传给服务器;之后依赖于工程师对服务器收到的在多个终端设备上的异常信息进行分析后,得知当前版本是稳定度差的异常版本后,确定对异常版本的处理方式,如对该异常版本进行优化得到新的版本或确定一个稳定度比较好的历史版本并发布等,且需要告知使用各个终端设备的用户在终端设备上下载、安装发布的新的版本或确定的历史版本;但上述对异常版本的处理过程冗长且耗时、处理效率低,因此,如何提升对插件的异常版本的处理效率成为了需要考虑的问题。
发明内容
本申请实施例提供一种插件运行方法、装置、设备及计算机存储介质,用于提升对插件的异常版本进行处理的效率。
本申请第一方面,提供一种插件运行方法,包括:
获得待启动的目标插件的当前版本;
确定所述当前版本是异常版本时,启动本地备份的目标版本;所述异常版本包括所述目标插件的历史版本中,在本地运行过程中的第一稳定度满足异常条件的版本,所述目标版本包括所述历史版本中,在本地运行过程中的第二稳定度满足稳定条件的版本。
在一种可能的实现方式中,所述启动本地备份的目标版本之后,还包括监测到所述目标版本在运行过程中发生崩溃,
若确定所述目标版本的崩溃率大于崩溃率阈值,则向所述目标插件对应的业务进程发送第二提示消息;
根据所述业务进程发送的第二运行指令,确定是否继续运行所述目标版本,所述第二运行指令是所述业务进程响应于所述第二提示消息确定的。
在一种可能的实现方式中,所述确定所述当前版本是异常版本,包括:
若确定所述当前版本的版本信息在本地记录的异常版本列表中,则确定所述当前版本是异常版本;
所述记录所述当前版本是所述异常版本,包括:
将所述当前版本的版本信息记录到所述异常版本列表中。
本申请第二方面,提供一种插件运行装置,包括:
插件版本获取单元,用于获得待启动的目标插件的当前版本;
插件运行单元,用于确定所述当前版本是异常版本时,启动本地备份的目标版本;所述异常版本包括所述目标插件的历史版本中,在本地运行过程中的第一稳定度满足异常条件的版本,所述目标版本包括所述历史版本中,在本地运行过程中的第二稳定度满足稳定条件的版本。
在一种可能的实现方式中,所述第一稳定度包括版本在本地运行过程中的崩溃率,所述异常条件包括崩溃率大于崩溃率阈值;
所述第二稳定度包括版本在本地运行过程中的崩溃率和在本地启动的累计启动次数,所述稳定条件包括崩溃率不大于崩溃率阈值且累计启动次数大于启动次数阈值。
在一种可能的实现方式中,所述插件运行单元还用于:
确定所述当前版本不是所述异常版本时,启动所述当前版本;以及
若确定所述当前版本的崩溃率不大于崩溃率阈值,且所述当前版本在本地启动的累计启动次数大于启动次数阈值,则将所述当前版本备份为所述目标版本。
在一种可能的实现方式中,所述插件运行单元还用于,启动所述当前版本之后,监测所述当前版本在运行过程中发生的崩溃,
若确定所述当前版本的崩溃率大于崩溃率阈值,则记录所述当前版本是所述异常版本,否则更新所述当前版本的累计崩溃次数,更新后的累计崩溃次数用于确定所述当前版本下一次发生崩溃时的崩溃率。
在一种可能的实现方式中,所述插件运行单元具体用于:
通过监控代码,获得崩溃捕获函数监测所述当前版本是否发生崩溃的监测结果;
若确定所述监测结果指示所述当前版本发生崩溃,则监测到所述当前版本在运行过程中发生崩溃。
在一种可能的实现方式中,所述目标版本包括多个版本,所述插件运行单元具体用于:
按照所述多个目标版本中各个目标版本的备份时刻,启动备份时刻与当前时刻的时间差最小的目标版本;或
随机启动所述多个目标版本中的一个目标版本;或
启动所述多个目标版本中第三稳定度最高的目标版本。
在一种可能的实现方式中,所述插件运行单元具体用于:
从所述多个目标版本中确定出至少两个目标版本;
通过多次重新启动操作,确定所述至少两个目标版本中每个目标版本的第三稳定度,其中每一次重新启动操作包括:启动所述至少两个目标版本中的一个目标版本,根据所述一个目标版本在目标时段中的崩溃率,确定所述一个目标版本的第三稳定度,其中所述一个目标版本的第三稳定度与所述一个目标版本在目标时段中的崩溃率为负相关;
启动所述至少两个目标版本中第三稳定度最高的目标版本。
在一种可能的实现方式中,所述插件运行单元还用于:
确定所述当前版本是所述异常版本之后,确定本地没有备份的目标版本,或确定所述当前版本是本地备份的目标版本,则向所述目标插件对应的业务进程发送第一提示消息;
根据所述业务进程发送的第一运行指令,确定是否启动所述当前版本,所述第一运行指令是所述业务进程响应于所述第一提示消息确定的。
在一种可能的实现方式中,所述插件运行单元还用于启动本地备份的目标版本之后,监测到所述目标版本在运行过程中发生崩溃,
若确定所述目标版本的崩溃率大于崩溃率阈值,则向所述目标插件对应的业务进程发送第二提示消息;
根据所述业务进程发送的第二运行指令,确定是否继续运行所述目标版本,所述第二运行指令是所述业务进程响应于所述第二提示消息确定的。
本申请第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面及任一种可能的实施方式中任一所述的方法。
本申请第四方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面的各种可能的实现方式中提供的方法。
本申请第五方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面及任一种可能的实施方式中所述的方法。
由于本申请实施例采用上述技术方案,至少具有如下技术效果:
1)当前版本为异常版本时,直接启动本地备份的稳定度高的目标版本,不需要终端设备将当前版本的异常信息发送给服务器,减少了信息传输的时间;也不需要人工对当前版本的异常信息进行分析后确定对异常版本的处理方式,减少了确定异常版本的处理方式的时间,进而提升了对插件的异常版本进行处理的效率。
2)本申请实施例中在确定当前版本在终端设备上是异常版本后,即启动本地备份的目标版本替代当前版本,该过程中并不需要知道当前版本在其他终端设备上是否是异常的版本,实现了针对单个终端设备对异常插件进行处理。
附图说明
图1为本申请实施例提供的一种终端设备100的内部架构示意图;
图2为本申请实施例提供的一种插件运行方法的示例图;
图3为本申请实施例提供的一种应用的说明界面的示例图;
图4为本申请实施例提供的一种应用的正常加载界面的示例图;
图5为本申请实施例提供的一种应用的异常加载界面的示例图;
图6为本申请实施例提供的一种终端设备的内部各模块的交互示例图;
图7为本申请实施例提供的一种插件运行装置的结构图;
图8为本申请实施例提供的一种终端设备的结构图。
具体实施方式
为了更好的理解本申请实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
为了便于本领域技术人员更好地理解本申请的技术方案,下面对本申请涉及的技术名词进行说明。
插件:对于安卓(Android)系统而言,插件是一个独立的安卓安装包(AndroidPackage,APK)文件;一个已由安卓系统安装的应用app可以通过插件框架安装加载插件,而不需要通过系统安装器,从而不需要用户感知插件的安装过程;插件一般多用于Android的应用APP功能的动态拓展和修复。
版本信息:插件的版本的相关信息,本申请实施例中版本信息可以但不局限于包括版本标识(如版本号)、版本文件的存储路径、版本的签名信息中的一个或多个信息。
版本文件:插件的版本对应的文件,本申请实施例中的版本文件主要指代插件的对应版本的APK文件。
目标插件:本申请实施例中的目标插件可以是运行在终端设备的应用中的任意类型的插件,如可以但不局限于为浏览器插件、音视频播放插件、游戏应用插件等。
目标插件的版本、当前版本和历史版本:目标插件运行过程中出现一些异常或者进行功能更新时,可以对插件当前的APK文件进行修改,以得到新的APK文件,其中目标插件对应的一个APK文件即可以认为是目标插件的一个版本;目标插件的当前版本指当前在终端设备上安装运行的目标插件的APK文件对应的版本;目标插件的历史版本是在当前时刻之前发布的目标插件的版本。
异常版本、目标版本、异常条件和稳定条件:异常版本包括目标插件的历史版本中,在终端设备本地运行过程中的第一稳定度满足异常条件的版本;目标版本包括目标插件的历史版本中,在终端设备本地运行过程中的第二稳定度满足稳定条件的版本;异常条件指插件的版本(包括当前版本或历史版本)在运行过程中,出现异常的异常率达到预设值的情况;稳定条件指插件的版本在运行过程中,出现异常的异常率未达到预设值且启动次数满足要求的情况;其中本申请实施例中发生异常的情况可以但不局限于为发生崩溃,进而本申请实施例中将版本在运行过程中的崩溃率确定为版本的第一稳定度,将崩溃率大于崩溃率阈值设置为稳定条件,将版本在运行过程中的崩溃率以及版本在本地启动的累计启动次数确定为版本的第二稳定度,将崩溃率不大于崩溃率阈值且累计启动次数大于启动次数阈值设置为稳定条件。
下面对本申请的设计思想进行说明。
插件的版本在更新迭代的过程中,插件的当前版本在终端设备上运行的过程中发生异常(如发生崩溃)后,终端设备需要将异常信息上传给服务器;进而工程师对多个终端设备上传的异常信息进行分析后,得知当前版本是异常版本后,根据实际情况确定对该异常版本的处理方式,如对该异常版本进行优化得到新的版本或用稳定程度比较好的历史版本替换该异常版本,且需要告知使用各个终端设备的用户在终端设备上下载、安装发布的新的版本或确定的历史版本;但上述对异常版本的处理过程中存在如下缺点:1)需要终端设备上传异常信息,且需要人工对异常信息进行分析后才能确定对异常版本的处理方式,过程冗长,处理的效率低;终端设备离线时不能及时上传异常信息,进一步减慢了对异常版本的处理;2)目前相关技术中根据同一版本在多个终端设备上的异常信息,最终确定对该同一版本的处理方式,但同一版本在不同终端设备上运行的稳定程度会由于终端设备所在环境,版本文件的操作路径等信息的影响而不同,相关技术中无法针对单个终端设备上的插件的异常版本进行有效的处理。
鉴于此,发明人设计了一种插件运行方法、装置、设备及计算机存储介质,一方面,由于相关技术在对插件的异常版本进行处理时,人工分析异常信息和依据分析结果确定对异常版本的处理方式耗时长,因此本申请实施例中考虑节省人力,自动对插件的异常版本进行处理;且考虑到运行插件的终端设备所在环境,插件的版本文件的操作路径等信息会影响插件运行时的稳定程度,同一版本在不同终端设备上运行时的稳定程度会不同,相关技术中是针对在不同终端设备上的同一个异常版本进行处理的,并没有针对单个终端设备上的不同的异常版本进行处理的方案,会影响单个终端设备上的版本的处理准确度,因此本申请实施例中考虑针对单个终端设备上的异常版本进行处理;另外终端设备上传当前版本的异常信息也增加了处理的流程和时间,因此本申请实施例中考虑直接在终端设备上确定对异常版本的处理方式并对异常版本进行处理;具体地,本申请实施例中获得待启动的目标插件的当前版本;确定当前版本是异常版本时,启动本地备份的目标版本,其中:异常版本和目标版本,都是根据插件的版本在终端设备上的历史运行情况确定的,异常版本包括目标插件的历史版本中,在本地运行过程中的第一稳定度满足异常条件的版本,上述目标版本包括历史版本中,在本地运行过程中的第二稳定度满足稳定条件的版本。
为了更清楚地理解本申请的设计思路,以下结合附图对本申请实施例提供的插件运行方法进行示例介绍。
本申请实施例中提供一种插件管理器以实现上述插件运行方法,以下以本申请实施例中提供的插件管理器为例,对插件运行方法进行示例性介绍。
请参见图1,表示一种插件管理器的处理机制示意图,或者也可以表示一种终端设备100的内部架构示意图,该内部架构示意图中包括插件管理器110、数据库120以及异常捕获器130;其中:
插件管理器110在获得待启动的当前版本后,若确定当前版本是终端设备100的数据库120中记录的异常版本,则从数据库120中获取本地备份的目标版本并启动,若确定当前版本是不是异常版本,则可以启动当前版本;以及
插件管理器110中设置有监控代码,插件管理器110执行监控代码,则可以通过接口获得异常捕获器130监测当前版本(或目标版本)在终端设备上运行的过程中是否发生异常的监测结果,并根据监测结果确定该当前版本(或目标版本)是否是异常的。
数据库120中记录有异常版本,以及备份目标版本,其中数据库120可以但不局限于通过记录异常版本的版本信息的形式记录异常版本,可以但不局限于通过备份目标版本的版本文件的形式备份目标文件异常;且数据库120可以将异常版本和目标版本记录到不同的数据存储位置,如将异常版本记录到异常版本列表,将目标版本备份到稳定版本文件列表中等。
异常捕获器130运行在终端设备100上,用于监测插件的版本在终端设备100上运行的过程中是否发生异常;当终端设备100安装的是安卓系统时;其中插件的版本在运行过程中发生异常可以但不局限于是发生崩溃;本申请实施例中发生异常为发生崩溃时,异常捕获器130可以是崩溃捕获器,该崩溃捕获器用于监测插件的版本在终端设备100上运行的过程中是否发生崩溃;崩溃捕获器可以但不局限于为Thread.UncaughtExceptionHandler函数、BroadcastReceive函数、unwind函数等崩溃捕获函数,具体地,可以通过Thread.UncaughtExceptionHandler函数收集Java层崩溃、利用BroadcastReceiver函数获知ANR(目标插件运行所附属的应用无响应)的发生、利用unwind获函数取Native层崩溃等进行全面的崩溃信息收集等。
在本申请实施例中,终端设备110可以但不局限于是移动终端、固定终端或便携式终端,例如移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、个人通信系统(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者其任意组合,包括这些设备的配件和外设或者其任意组合。各终端设备110上可以安装并运行目标插件的各种版本的版本文件、安装和运行目标插件对应的应用、运行插件管理器110的程序以及运行异常捕获器130的程序等。
以下对本申请实施例涉及的方法进行详细说明,请参见图2,该方法可以用于上述插件管理器110,具体包括如下步骤:
步骤S201,获得待启动的目标插件的当前版本。
应当说明的是,本申请实施例中获得待启动的目标插件的当前版本,指代用户使用终端设备上的应用的过程中,触发启动目标插件后,在启动目标插件前时,获取终端设备上当前安装使用的目标插件的版本文件为当前版本。
步骤S202,确定上述当前版本是异常版本时,启动本地备份的目标版本。
在本申请实施例中,在目标插件的各历史版本在终端设备的本地运行的过程中,根据各历史版本在本地运行过程中的稳定程度,确定目标插件的各历史版本是否是异常版本和稳定版本;其中若某一历史版本在本地运行过程中的第一稳定度满足异常条件,则将该历史版本在本地记录为异常版本,进而在获得待启动的当前版本后,可以根据本地记录的异常版本的信息,直接确定待启动的当前版本是否是异常版本;若某一历史版本在本地运行过程中的第二稳定度满足稳定条件,则将该历史版本在本地备份为目标版本,进而在确定待启动的当前版本是异常版本后,可以启动本地备份的目标版本。
作为一种实施例,本申请实施例中可以将多个第二稳定度满足异常条件的历史版本备份为目标版本;也可以仅将多个第二稳定度满足稳定条件的历史版本中,发布时间距离当前时刻最近的历史版本备份为目标版本;还可以在每次新确定出一个第二稳定度满足异常条件的历史版本后,将该新确定出的历史版本替换本地已备份的目标版本。
进一步,若在本地备份了多个目标版本,则在步骤S202中,可以但不局限于通过如下启动方式启动本地备份的目标版本。
第一种启动方式:启动最新备份的目标版本
即可以按照备份的多个目标版本中各个目标版本的备份时刻,启动备份时刻与当前时刻的时间差最小的目标版本。
第二种启动方式:随机启动备份的多个目标版本中的一个目标版本。
第三种启动方式:启动备份的多个目标版本中第三稳定度最高的目标版本。
具体地,可以从上述多个目标版本中确定出至少两个目标版本,通过多次重新启动操作,确定上述至少两个目标版本中每个目标版本的第三稳定度,进而启动上述至少两个目标版本中第三稳定度最高的目标版本;其中:
上述至少两个目标版本可以是备份的多个目标版本中的部分目标版本,也可以是备份的多个目标版本中的全部目标版本;上述每一次重新启动操作包括:启动上述至少两个目标版本中的一个目标版本,根据上述一个目标版本在目标时段中的崩溃率,确定上述一个目标版本的第三稳定度,上述第三稳定度用于表征目标版本在目标时段中运行的稳定程度。
其中上述一个目标版本的第三稳定度与上述一个目标版本在目标时段中的崩溃率为负相关,如可以但局限于将一个目标版本在目标时段中的崩溃率的倒数,确定为该目标版本的第三稳定度,或者将预设的稳定度参考值与该目标版本在目标时段中的崩溃率的差值,确定为该目标版本的第三稳定度等;其中确定目标版本在目标时段中的崩溃率将在下文进行介绍,与确定历史版本在历史运行周期中的崩溃率类似。
应当说明的是,本申请实施例中目标版本在对应的历史运行周期中的稳定程度高于异常版本在对应的历史运行周期中的稳定程度,即对于目标插件的一个版本而言,该版本的第一稳定度可能满足上述异常条件,该版本的第二稳定度也有可能满足上述稳定条件;但在一些特殊情况下,该版本的第一稳定度不满足异常条件且该版本的第二稳定度不满足稳定条件,如在终端设备上初始启动某个目标插件的版本时,由于该终端设备上没有该版本的历史运行信息,因此不能得知该版本在该终端设备上是否能稳定运行,这种情况下可能出现该版本的第一稳定度不满足异常条件且该版本的第二稳定度不满足稳定条件,则可以认为该版本既不是异常版本也不是目标版本,此时可以默认继续运行该版本至确定其是异常版本还是目标版本,或者通知业务进程以使业务进程指示是否运行该版本,该版本可以为目标插件的当前版本或历史版本。
作为一种实施例,考虑到节省终端设备的存储空间能在一定程度上提升终端设备上的数据处理效率,且为了便于在查询异常版本和获取目标版本,本申请实施例中可以但不局限于通过记录异常版本的版本信息的形式在终端设备的本地记录异常版本,可以但不局限于通过备份目标版本的版本文件的形式,在终端设备的本地备份目标版本。
作为一种实施例,若异常版本是通过本地的上述异常版本列表记录的,则在步骤S202中,可以直接查询异常版本列表,若确定当前版本的版本信息在本地记录的异常版本列表中,则确定当前版本是异常版本。
进一步,为了更便捷快速地查询到异常版本和获取目标版本,本申请实施例中可以将异常版本和目标版本分别记录在终端设备的本地不同的数据存储位置,如可以但不局限于将异常版本记录到异常版本列表,将目标版本备份到稳定版本文件列表(如特定版本的备份目标)中等。
以下对确定历史版本中的异常版本和目标版本的过程进行详细说明。
考虑到历史版本运行时的稳定程度与历史版本运行过程中的异常信息有关,且考虑到历史版本是否稳定与历史版本的正常启动的次数有关,因此本申请实施例中通过历史版本在运行过程中的异常信息以及启动次数,判断历史版本的稳定程度是否满足异常条件以及稳定条件并记录。
进一步,考虑到目标插件的历史版本发生异常的主要情况为发生崩溃,则本申请实施例中以历史版本的崩溃信息作为上述异常信息,具体地,本申请实施例中第一稳定度可以为版本在本地运行过程中的崩溃率,异常条件可以为崩溃率大于崩溃率阈值;第二稳定度可以为版本在本地运行过程中的崩溃率和在本地启动的累计启动次数,稳定条件可以为崩溃率不大于崩溃率阈值且累计启动次数大于启动次数阈值的版本。
上述崩溃率可以为历史版本在历史运行周期中的崩溃频次,上述历史运行周期可以是历史版本的首次安装时刻和最近崩溃时刻之前的时间段,上述首次安装时刻指在终端设备上第一次安装上述历史版本的时刻;上述最近崩溃时刻为该历史版本在上述终端设备上运行的过程中,发生崩溃的时刻中离当前时刻最近的时刻;具体地,可以但不局限于通过如下公式1,计算目标插件的一个历史版本的崩溃率。
公式1中,Bp是目标插件的一个历史版本是否是异常版本的标识结果,Tp是该历史版本在该终端设备上的首次安装时刻;Tp’是该历史版本在该终端设备上运行的过程中的最近崩溃时刻;Sp是上述崩溃率阈值;(Tp’-Tp)是该历史版本的历史运行周期;Cp是该历史版本在其历史运行周期中发生崩溃的崩溃次数;是该历史版本在历史运行周期中的崩溃频次;1为异常版本的标识信息,0为不是异常版本的标识信息。
当确定一个历史版本的Bp为0后,进而可以基于如下公式2,确定该历史版本是否是目标版本。
公式2中,Wp是目标插件的一个历史版本是否是稳定版本的标识结果,Ep是上述历史版本在一个终端设备上的累计启动次数,上述Lp是上述启动次数阈值;1为稳定版本的标识信息,0为不是稳定版本的标识信息。
此处对上述步骤S202中第三种启动方式中,确定备份的多个目标版本中每个目标版本在目标时段中的崩溃率进行说明:
针对每个目标版本,将其重新安装在终端设备上并启动;确定该目标版本的本次重新安装时刻为上述首次安装时刻,以及在目标时段中的崩溃次数以及在目标时段中最后一次发生崩溃的时刻为上述最近崩溃时刻,进而基于上述公式2,确定该目标版本的崩溃率;其中目标时段可以但不局限于为从上述本次重新安装时刻至上述本次重新安装时刻之后的设定时长的时间段。
作为一种实施例,待启动的当前版本可能不是本地已经记录的异常版本,因此在上述步骤S202中,确定当前版本不是本地记录的异常版本时,则启动上述当前版本;并在启动当前版本后,基于当前版本的第二稳定度确定该当前版本是否是稳定版本,即若确定当前版本的崩溃率不大于崩溃率阈值,且当前版本在本地启动的累计启动次数大于启动次数阈值,则将该当前版本在本地备份为目标版本。
进一步,在启动当前版本之后,虽然当前版本不是本地记录的异常版本,但是并不表示当前版本就是稳定程度高的版本,仍可能由于终端设备的环境等原因,导致当前版本在运行过程中发生异常,因此,本申请实施例中在启动上述当前版本之后,可以监测当前版本在运行过程中是否发生崩溃,并在监测到当前版本发生崩溃时进行相应的处理,具体地,在监测到当前版本在运行过程中发生崩溃时,确定当前版本在发生崩溃的时刻的崩溃率,若确定当前版本的崩溃率大于崩溃率阈值,则在终端设备的本地记录当前版本是异常版本,如可以将当前版本的版本信息记录到上述异常版本列表中;若当前版本的崩溃率不大于崩溃率阈值,则更新当前版本的累计崩溃次数,该更新后的累计崩溃次数用于确定当前版本在上述终端设备上运行的过程中下一次发生崩溃时的崩溃率。
其中,本申请实施例中可以但不局限于通过执行插件管理器中的监控代码,获得崩溃捕获函数监测当前版本是否发生崩溃的监测结果;在确定监测结果指示上述当前版本发生崩溃,则确定监测到上述当前版本在运行过程中发生崩溃。
作为一种实施例,在步骤S202中,确定上述当前版本是异常版本,还可能存在如下两种异常情况:
第一种异常情况:终端设备本地没有备份的目标版本。
具体地,如当前版本为第一次在终端设备上启动的目标插件的第一个版本的情况。
第二种异常情况:当前版本为本地备份的目标版本。
即该异常情况中,当前版本是既是本地记录的异常版本,又是本地备份的目标版本;如以往在终端设备上运行当前版本的过程中,确定该当前版本是稳定版本并在本地记录,且之后由于一直插件服务方一直未发布目标插件的新版本,则会在上述终端设备上使用当前版本,在继续使用的过程中,出现该当前版本的崩溃率大于崩溃率阈值,进而将该当前版本在本地记录为了异常版本的情况;
本申请实施例中,若在步骤S202中确定出现了上述两种异常情况,则向目标插件对应的业务进程发送第一提示消息,该第一提示消息用于向业务进程确认是否继续启动当前版本;并根据业务进程发送的第一运行指令,确定是否启动上述当前版本,上述第一运行指令是上述业务进程响应于上述第一提示消息确定的;如目标插件为对应的应用显示首页时需加载的插件时,业务进程可以通过第一运行指令指示继续启动上述当前版本;目标插件为对应的应用启动后的附件功能对应的插件时,业务进程可以通过第一运行指令指示不启动上述当前版本等。
作为一种实施例,目标版本在终端设备上历史的运行过程中的第二稳定度满足稳定条件,但终端设备所处的环境以及其网络的网络质量等可能随时发生改变,目标版本历史运行的第二稳定度,并不能表示目标版本在当前时刻的运行过程中的稳定程度,因此,本申请实施例在步骤S202中启动本地备份的目标版本之后,还可以监测到目标版本在运行过程中是否发生崩溃,并根据监测结果进行处理;
具体地,若监测到目标版本在运行过程中发生崩溃,且确定目标版本的崩溃率大于崩溃率阈值,则向目标插件对应的业务进程发送第二提示消息;并根据上述业务进程发送的第二运行指令,确定是否继续运行上述目标版本,上述第二运行指令是上述业务进程响应于上述第二提示消息确定的。
以下提供一个插件运行的具体示例。
该示例中目标插件为WebView插件;请参见图3,提供了一种WebView插件对应的游戏应用的说明界面;当WebView插件的当前版本正常运行时,上述游戏应用的正常加载界面如图4;当WebView插件的当前版本在运行过程中发生崩溃时,上述游戏应用的加载界面可能出现图5示例出的加载不全(如蓝屏或白屏)的加载界面,因此当目标插件的当前版本发生异常时,需要及时对当前版本进行处理,以使上述游戏应用能正常加载WebView插件的功能。
请参见图6,当触发启动目标插件的当前版本后,终端设备的内部插件管理器、异常版本列表、稳定版本文件列表、崩溃捕获器(本示例中以崩溃捕获器作为上述异常捕获器130进行示例性说明)的信息交互如下。
步骤S601,触发启动目标插件的当前版本P。
步骤S601之后包括步骤S602和步骤608两种情况
步骤S602,插件管理器基于异常版本列表,确定当前版本P是异常版本。
步骤S602之后包括步骤S603以及S606两种情况。
步骤S603,插件管理器确定稳定版本文件列表中有备份的目标文件且当前版本P不是备份的目标版本,则从稳定版本文件列表中获取备份的目标版本的版本文件;利用目标版本的版本文件覆盖当前版本P的版本文件,将目标版本的崩溃次数设置为0,并启动目标版本。
步骤S604,插件管理器通过监控代码,获得崩溃捕获器对目标版本的监测结果,根据监测结果确定目标版本发生崩溃,且目标版本的崩溃率大于崩溃率阈值,则向目标插件对应的业务进程发送第二提示消息。
步骤S605,插件管理器根据业务进程发送的第二运行指令,确定是否继续运行目标版本。
步骤S606,插件管理器确定当前版本P是稳定版本文件列表中备份的目标版本,或确定稳定版本文件列表中没有备份的目标版本,则向目标插件对应的业务进程发送第一提示消息。
步骤S607,插件管理器根据业务进程发送的第一运行指令,确定是否启动当前版本P。
步骤S608,插件管理器基于异常版本列表,确定当前版本P不是异常版本,则启动当前版本P。
步骤S609,插件管理器基于当前版本P的累计启动次数,确定当前版本是满足稳定条件的目标版本,则将当前版本P的版本文件备份到稳定版本文件列表中。
步骤S610,插件管理器通过监控代码,获得崩溃捕获器对当前版本P的监测结果,根据监测结果确定当前版本P发生崩溃,且当前版本P的崩溃率大于崩溃率阈值,则将上述当前版本P的版本信息记录到异常版本列表。
上述步骤S601至步骤S610的详细过程可参见本申请实施例上述相关内容,此处不再重复叙述。
本申请实施例中,当前版本为异常版本时,直接启动本地备份的目标版本,不需要终端设备发送异常信息给服务器,也不需要人工对多个终端设备发送的异常信息进行分析进,而确定对异常版本的处理方式,减少了确定对异常版本的处理方式的时间,提升了对插件的异常版本进行处理的效率;且在确定当前版本在终端设备上是异常版本后,即启动终端设备在本地备份的目标版本替代当前版本,该过程中并不需要知道当前版本在其他终端设备上是否是异常的版本,实现了针对单个终端设备上的异常插件进行快速且有效的处理。
请参照图7,基于同一发明构思,本申请实施例提供一种插件装置700,包括:
插件版本获取单元701,用于获得待启动的目标插件的当前版本;
插件运行单元702,用于确定上述当前版本是异常版本时,启动本地备份的目标版本。
在一种可能的实现方式中,插件运行单元702还用于:
确定上述当前版本不是上述异常版本时,启动上述当前版本;以及
若确定上述当前版本的崩溃率不大于崩溃率阈值,且上述当前版本在本地启动的累计启动次数大于启动次数阈值,则将上述当前版本备份为上述目标版本。
作为一种实施例,插件运行单元702还用于,启动上述当前版本之后,监测上述当前版本在运行过程中发生的崩溃,若确定上述当前版本的崩溃率大于崩溃率阈值,则记录上述当前版本是上述异常版本,否则更新上述当前版本的累计崩溃次数,更新后的累计崩溃次数用于确定上述当前版本下一次发生崩溃时的崩溃率。
作为一种实施例,插件运行单元702具体用于:通过监控代码,获得崩溃捕获函数监测上述当前版本是否发生崩溃的监测结果;若确定上述监测结果指示上述当前版本发生崩溃,则监测到上述当前版本在运行过程中发生崩溃。
作为一种实施例,上述目标版本包括多个版本,插件运行单元702具体用于:按照上述多个目标版本中各个目标版本的备份时刻,启动备份时刻与当前时刻的时间差最小的目标版本;或随机启动上述多个目标版本中的一个目标版本;或启动上述多个目标版本中第三稳定度最高的目标版本。
作为一种实施例,插件运行单元702具体用于:从上述多个目标版本中确定出至少两个目标版本;通过多次重新启动操作,确定上述至少两个目标版本中每个目标版本的第三稳定度,其中每一次重新启动操作包括:启动上述至少两个目标版本中的一个目标版本,根据上述一个目标版本在目标时段中的崩溃率,确定上述一个目标版本的第三稳定度,其中上述一个目标版本的第三稳定度与上述一个目标版本在目标时段中的崩溃率为负相关;启动上述至少两个目标版本中第三稳定度最高的目标版本。
作为一种实施例,插件运行单元702还用于:确定上述当前版本是上述异常版本之后,确定本地没有备份的目标版本,或确定上述当前版本是本地备份的目标版本,则向上述目标插件对应的业务进程发送第一提示消息;根据上述业务进程发送的第一运行指令,确定是否启动上述当前版本,上述第一运行指令是上述业务进程响应于上述第一提示消息确定的。
作为一种实施例,插件运行单元702还用于启动本地备份的目标版本之后,监测到上述目标版本在运行过程中发生崩溃,若确定上述目标版本的崩溃率大于崩溃率阈值,则向上述目标插件对应的业务进程发送第二提示消息;根据上述业务进程发送的第二运行指令,确定是否继续运行上述目标版本,上述第二运行指令是上述业务进程响应于上述第二提示消息确定的。
作为一种实施例,图7中的装置可以用于实现前文论述的任意一种插件运行方法。
基于同一发明构思,本申请实施例提供一种终端设备,下面对该终端设备100进行介绍。
请参照图8,上述插件管理器、异常捕获器可以运行在终端设备100上,目标插件的当前版本和历史版本以及目标插件对应的应用软件可以安装在终端设备100上,该终端设备100包括显示单元840、处理器880以及存储器820,其中,显示单元840包括显示面板841,用于显示由用户交互操作界面等。
可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)或有机发光二极管OLED(Organic Light-Emitting Diode)等形式来配置显示面板841。
处理器880用于读取计算机程序,然后执行计算机程序定义的方法,例如处理器880读取插件管理器110的程序、异常捕获器130的程序、目标插件对应的文件以及目标插件对应的应用的文件等,从而在该终端设备100上运行目标插件,在显示单元840上显示目标插件对应的应用的界面。处理器880可以包括一个或多个通用处理器,还可包括一个或多个DSP(Digital Signal Processor,数字信号处理器),用于执行相关操作,以实现本申请实施例所提供的技术方案。
存储器820一般包括内存和外存,内存可以为随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE)等。外存可以为硬盘、光盘、USB盘、软盘或磁带机等。存储器820用于存储计算机程序和其他数据,该计算机程序包括各客户端对应的应用程序等,其他数据可包括操作系统或应用程序被运行后产生的数据,该数据包括系统数据(例如操作系统的配置参数)和用户数据。本申请实施例中程序指令存储在存储器820中,处理器880执行存储器820中的程序指令,实现前文图论述的任意的一种插件运行方法。
上述显示单元840用于接收输入的数字信息、字符信息或接触式触摸操作/非接触式手势,以及产生与终端设备100的用户设置以及功能控制有关的信号输入等。具体地,本申请实施例中,该显示单元840可以包括显示面板841。显示面板841例如触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在显示面板841上或在显示面板841的操作),并根据预先设定的程式驱动相应的连接装置。
可选的,显示面板841可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测玩家的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。
其中,显示面板841可以采用电阻式、电容式、红外线以及表面声波等多种类型实现。除了显示单元840,终端设备100还可以包括输入单元830,输入单元830可以包括图形输入设备831和其他输入设备832,其中其他输入设备可以但不限于包括物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
除以上之外,终端设备100还可以包括用于给其他模块供电的电源890、音频电路860、近场通信模块870和RF电路810。终端设备100还可以包括一个或多个传感器850,例如加速度传感器、光传感器、压力传感器等。音频电路860具体包括扬声器861和麦克风862等,例如终端设备100可以通过麦克风862采集用户的声音,进行相应的操作等。
作为一种实施例,处理器880的数量可以是一个或多个,处理器880和存储器820可以是耦合设置,也可以是相对独立设置。
作为一种实施例,图8中的处理器880可以用于实现如图7中的插件版本获取单元701和插件运行单元702的功能。
作为一种实施例,图8中的处理器880可以用于实现前文论述的插件管理器的功能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例上述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种插件运行方法,其特征在于,包括:
获得待启动的目标插件的当前版本;
确定所述当前版本是异常版本时,启动本地备份的目标版本;所述异常版本包括所述目标插件的历史版本中,在本地运行过程中的第一稳定度满足异常条件的版本,所述目标版本包括所述历史版本中,在本地运行过程中的第二稳定度满足稳定条件的版本。
2.如权利要求1所述的方法,其特征在于,所述第一稳定度包括版本在本地运行过程中的崩溃率,所述异常条件包括崩溃率大于崩溃率阈值;
所述第二稳定度包括版本在本地运行过程中的崩溃率和在本地启动的累计启动次数,所述稳定条件包括崩溃率不大于崩溃率阈值且累计启动次数大于启动次数阈值。
3.如权利要求2所述的方法,其特征在于,还包括:
确定所述当前版本不是所述异常版本时,启动所述当前版本;以及
若确定所述当前版本的崩溃率不大于崩溃率阈值,且所述当前版本在本地启动的累计启动次数大于启动次数阈值,则将所述当前版本备份为所述目标版本。
4.如权利要求2所述的方法,其特征在于,所述启动所述当前版本之后,还包括监测所述当前版本在运行过程中发生的崩溃,
若确定所述当前版本的崩溃率大于崩溃率阈值,则记录所述当前版本是所述异常版本,否则更新所述当前版本的累计崩溃次数,更新后的累计崩溃次数用于确定所述当前版本下一次发生崩溃时的崩溃率。
5.如权利要求4所述的方法,其特征在于,监测到所述当前版本在运行过程中发生崩溃,包括:
通过监控代码,获得崩溃捕获函数监测所述当前版本是否发生崩溃的监测结果;
若确定所述监测结果指示所述当前版本发生崩溃,则监测到所述当前版本在运行过程中发生崩溃。
6.如权利要求1-5任一项所述的方法,其特征在于,所述目标版本包括多个版本,所述启动本地备份的目标版本包括:
按照所述多个目标版本中各个目标版本的备份时刻,启动备份时刻与当前时刻的时间差最小的目标版本;或
随机启动所述多个目标版本中的一个目标版本;或
启动所述多个目标版本中第三稳定度最高的目标版本。
7.如权利要求6所述的方法,其特征在于,所述启动所述多个目标版本中第三稳定度最高的目标版本,包括:
从所述多个目标版本中确定出至少两个目标版本;
通过多次重新启动操作,确定所述至少两个目标版本中每个目标版本的第三稳定度,其中每一次重新启动操作包括:启动所述至少两个目标版本中的一个目标版本,根据所述一个目标版本在目标时段中的崩溃率,确定所述一个目标版本的第三稳定度,其中所述一个目标版本的第三稳定度与所述一个目标版本在目标时段中的崩溃率为负相关;
启动所述至少两个目标版本中第三稳定度最高的目标版本。
8.如权利要求1-5任一项所述的方法,其特征在于,所述确定所述当前版本是所述异常版本之后,还包括:
确定本地没有备份的目标版本,或确定所述当前版本是本地备份的目标版本,则向所述目标插件对应的业务进程发送第一提示消息;
根据所述业务进程发送的第一运行指令,确定是否启动所述当前版本,所述第一运行指令是所述业务进程响应于所述第一提示消息确定的。
9.一种插件运行装置,其特征在于,包括:
插件版本获取单元,用于获得待启动的目标插件的当前版本;
插件运行单元,用于确定所述当前版本是异常版本时,启动本地备份的目标版本;所述异常版本包括所述目标插件的历史版本中,在本地运行过程中的第一稳定度满足异常条件的版本,所述目标版本包括所述历史版本中,在本地运行过程中的第二稳定度满足稳定条件的版本。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8中任一权利要求所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887660.1A CN114115974A (zh) | 2020-08-28 | 2020-08-28 | 一种插件运行方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010887660.1A CN114115974A (zh) | 2020-08-28 | 2020-08-28 | 一种插件运行方法、装置、设备及计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114115974A true CN114115974A (zh) | 2022-03-01 |
Family
ID=80375149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010887660.1A Pending CN114115974A (zh) | 2020-08-28 | 2020-08-28 | 一种插件运行方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115974A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056115A (zh) * | 2023-10-10 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740359A (en) * | 1994-12-27 | 1998-04-14 | Kabushiki Kaisha Toshiba | Program execution system having a plurality of program versions |
JP2000089940A (ja) * | 1998-09-09 | 2000-03-31 | N Ii C Cable Media Kk | プログラムロード方式 |
CN1983206A (zh) * | 2006-05-29 | 2007-06-20 | 华为技术有限公司 | 软件系统自动恢复的方法及装置 |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
US20150205979A1 (en) * | 2012-06-19 | 2015-07-23 | Beijing Qihoo Technology Company Limited | Method and system for repairing file at user terminal |
CN111198725A (zh) * | 2019-12-30 | 2020-05-26 | 掌阅科技股份有限公司 | 应用启动的处理方法、计算设备及计算机存储介质 |
WO2020147462A1 (zh) * | 2019-01-20 | 2020-07-23 | 华为技术有限公司 | 应用异常恢复 |
-
2020
- 2020-08-28 CN CN202010887660.1A patent/CN114115974A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5740359A (en) * | 1994-12-27 | 1998-04-14 | Kabushiki Kaisha Toshiba | Program execution system having a plurality of program versions |
JP2000089940A (ja) * | 1998-09-09 | 2000-03-31 | N Ii C Cable Media Kk | プログラムロード方式 |
CN1983206A (zh) * | 2006-05-29 | 2007-06-20 | 华为技术有限公司 | 软件系统自动恢复的方法及装置 |
CN101221508A (zh) * | 2008-01-31 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种设备启动方法和装置 |
US20150205979A1 (en) * | 2012-06-19 | 2015-07-23 | Beijing Qihoo Technology Company Limited | Method and system for repairing file at user terminal |
WO2020147462A1 (zh) * | 2019-01-20 | 2020-07-23 | 华为技术有限公司 | 应用异常恢复 |
CN111198725A (zh) * | 2019-12-30 | 2020-05-26 | 掌阅科技股份有限公司 | 应用启动的处理方法、计算设备及计算机存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056115A (zh) * | 2023-10-10 | 2023-11-14 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
CN117056115B (zh) * | 2023-10-10 | 2024-03-15 | 腾讯科技(深圳)有限公司 | 应用程序的修复方法和装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10007505B2 (en) | Initiating update operations | |
CN103984538B (zh) | 应用场景的识别方法、功耗管理方法、装置及终端设备 | |
US7941704B2 (en) | Maintenance management system, database server, maintenance management program, and maintenance management method | |
CN108427616B (zh) | 后台程序监控方法及监控装置 | |
US20130246837A1 (en) | System and method for mitigating repeated crashes of an application resulting from supplemental code | |
CN107018022B (zh) | 软件升级的处理方法、装置及终端 | |
CN103473163B (zh) | 应用程序检测方法及装置 | |
CN105094903A (zh) | 对固件进行升级的方法及装置 | |
JP2011186783A (ja) | スナップショット管理方法、スナップショット管理装置、及びプログラム | |
CN110442426B (zh) | 一种密码重置方法、装置及存储介质 | |
CN112162795B (zh) | 一种插件启动方法、装置、计算机设备和存储介质 | |
CN112437914A (zh) | 一种系统恢复方法及装置 | |
US20180349125A1 (en) | Information processing apparatus and program management method | |
CN110941551A (zh) | 一种应用卡顿检测方法、装置、设备及计算机存储介质 | |
US20170199733A1 (en) | Method for terminal to update operating system, terminal and system | |
CN114115974A (zh) | 一种插件运行方法、装置、设备及计算机存储介质 | |
CN113411225B (zh) | 基于云主机的qga服务管理方法、装置、设备及介质 | |
WO2019137280A1 (zh) | 终端异常的修复方法、装置、移动终端及存储介质 | |
EP3129883B1 (en) | Method and apparatus for repairing dynamic link library file | |
CN113138785A (zh) | 应用程序的更新方法和装置 | |
KR20140020287A (ko) | 소프트웨어 조작성 서비스 | |
CN114398065B (zh) | 微前端系统更新方法、装置、电子设备及存储介质 | |
CN104951320B (zh) | 应用的安装和/或卸载方法及系统 | |
CN117311723A (zh) | 编译优化文件的生效方法、装置及电子设备 | |
US7681205B2 (en) | Connection monitoring and driver management method and apparatus and program therefor |
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 |