CN109753411A - 异常处理方法、装置、移动终端以及存储介质 - Google Patents
异常处理方法、装置、移动终端以及存储介质 Download PDFInfo
- Publication number
- CN109753411A CN109753411A CN201910065557.6A CN201910065557A CN109753411A CN 109753411 A CN109753411 A CN 109753411A CN 201910065557 A CN201910065557 A CN 201910065557A CN 109753411 A CN109753411 A CN 109753411A
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- information
- continuously
- threshold value
- monitoring
- 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
Landscapes
- Telephone Function (AREA)
Abstract
本申请公开了一种异常处理方法、装置、移动终端以及存储介质,涉及移动终端技术领域。在移动终端运行的过程中,对移动终端进行监控并获取监控信息,其中,该监控信息包括第一信息或第二信息,第一信息用于表征移动终端运行异常,第二信息用于表征移动终端运行正常,当监控信息为第一信息时,控制移动终端重启并记录连续重启次数,判断该连续重启次数是否达到次数阈值,当该连续重启次数达到次数阈值时,控制移动终端进入recovery模式。本申请通过对移动终端的运行过程进行监控,并在监控到移动终端运行异常次数连续达到预设次数时,控制移动终端进入recovery模式,以提升移动终端的自动修复能力,提升用户体验。
Description
技术领域
本申请涉及移动终端技术领域,更具体地,涉及一种异常处理方法、装置、移动终端以及存储介质。
背景技术
随着科学技术的发展,移动终端已经成为人们日常生活中最常用的电子产品之一。但是,移动终端在运行的过程中可能出现异常情况,对此,目前的移动终端厂商没有进行针对处理。
发明内容
鉴于上述问题,本申请提出了一种异常处理方法、装置、移动终端以及存储介质,以解决上述问题。
第一方面,本申请实施例提供了一种异常处理方法,应用于移动终端,所述方法包括:在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,其中,所述监控信息包括第一信息或第二信息,所述第一信息用于表征所述移动终端运行异常,所述第二信息用于表征所述移动终端运行正常;当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数;判断所述连续重启次数是否达到次数阈值;当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式。
第二方面,本申请实施例提供了一种异常处理装置,应用于移动终端,所述装置包括:监控模块,用于在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,其中,所述监控信息包括第一信息或第二信息,所述第一信息用于表征所述移动终端运行异常,所述第二信息用于表征所述移动终端运行正常;记录模块,用于当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数;判断模块,用于判断所述连续重启次数是否达到次数阈值;控制模块,用于当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式。
第三方面,本申请实施例提供了一种移动终端,包括:存储器;一个或多个处理器,与所述存储器耦接;一个或多个程序,其中,所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行上述方法。
第四方面,本申请实施例提供了一种计算机可读取存储介质,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行上述方法。
本申请实施例提供的异常处理方法、装置、移动终端以及存储介质,在移动终端运行的过程中,对移动终端进行监控并获取监控信息,其中,该监控信息包括第一信息或第二信息,第一信息用于表征移动终端运行异常,第二信息用于表征移动终端运行正常,当监控信息为第一信息时,控制移动终端重启并记录连续重启次数,判断该连续重启次数是否达到次数阈值,当该连续重启次数达到次数阈值时,控制移动终端进入recovery模式,从而通过对移动终端的运行过程进行监控,并在监控到移动终端运行异常次数连续达到预设次数时,控制移动终端进入recovery模式,以提升移动终端的自动修复能力,提升用户体验。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1示出了本申请实施例用于执行根据本申请实施例的异常处理方法的移动终端的框图;
图2示出了本申请实施例提供的安卓***的框架示意图;
图3示出了本申请一个实施例提供的异常处理方法的流程示意图;
图4示出了本申请另一个实施例提供的异常处理方法的流程示意图;
图5示出了本申请的图4所示的异常处理方法的步骤S205的流程示意图;
图6示出了本申请实施例提供的移动终端的recovery界面的示意图;
图7示出了本申请实施例提供的异常处理装置的模块框图;
图8示出了本申请实施例的用于保存或者携带实现根据本申请实施例的异常处理方法的程序代码的存储单元。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
请参阅图1,其示出了本申请实施例提供的一种移动终端100的结构框图。该移动终端100可以是智能手机、平板电脑、电子书等能够运行应用程序的电子设备。本申请中的移动终端100可以包括一个或多个如下部件:处理器110、存储器120、屏幕130以及一个或多个应用程序,其中一个或多个应用程序可以被存储在存储器120中并被配置为由一个或多个处理器110执行,一个或多个程序配置用于执行如前述方法实施例所描述的方法。
其中,处理器110可以包括一个或者多个处理核。处理器110利用各种接口和线路连接整个移动终端100内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行移动终端100的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(ProgrammableLogic Array,PLA)中的至少一种硬件形式来实现。处理器110可集成中央处理器(CentralProcessing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作***、用户界面和应用程序等;GPU用于负责显示内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
存储器120可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作***的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等。存储数据区还可以存储移动终端100在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。
屏幕130用于显示移动终端100所生成或接收的图像数据以及用于进行移动终端100与用户之间的交互。其中,该屏幕130可以为液晶显示屏(Liquid Crystal Display,LCD),可以为有机发光二极管(Organic Light-Emitting Diode,OLED),也可以为电子墨水屏等,在此不做限定。
本申请实施例可应用于安卓(Android)***,其中,存储器120中存储的程序和数据如图2所示,存储器120中存储有Linux内核层140、***运行库层150、应用框架层160和应用层170。Linux内核层140为移动终端100的各种硬件提供了底层的驱动,如显示驱动、音频驱动、摄像头驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。***运行库层150通过一些C/C++库来为Android***提供了主要的特性支持。如SQLite库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,Webkit库提供了浏览器内核的支持等。在***运行库层150中还提供有Android运行时库(Android Runtime),它主要提供了一些核心库,能够允许开发者使用Java语言来编写Android应用。应用框架层160提供了构建应用程序时可能用到的各种API,开发者也可以通过使用这些API来构建自己的应用程序,比如活动管理、窗口管理、视图管理、通知管理、内容提供者、包管理、通话管理、资源管理、定位管理。应用层10中运行有至少一个应用程序,这些应用程序可以是操作***自带的联系人程序、短信程序、时钟程序、相机应用等;也可以是第三方开发者所开发的应用程序,比如即时通信程序、相片美化程序、购物程序等。
发明人经过长期的研究发现,目前的移动终端在运行过程中可能出现异常重启的情况,并且基于Android***的移动终端厂商仅监控了较少的关键service,监控的范围有限,在出现异常时的处理方式也仅仅是简单的重启,没有对移动终端进行修复处理,造成重启后的移动终端依然存在异常,用户体验不佳。针对上述问题,发明人提出了本申请实施例提供的异常处理方法、装置、移动终端以及存储介质,通过对移动终端的运行过程进行监控,并在监控到移动终端运行异常次数连续达到预设次数时,控制移动终端进入recovery模式,以提升移动终端的自动修复能力,提升用户体验。其中,具体的异常处理方法在后续的实施例中进行详细的说明。
实施例
请参阅图3,图3示出了本申请一个实施例提供的异常处理方法的流程示意图。所述异常处理方法用于通过对移动终端的运行过程进行监控,并在监控到移动终端运行异常次数连续达到预设次数时,控制移动终端进入recovery模式,以提升移动终端的自动修复能力,提升用户体验。在具体的实施例中,所述异常处理方法应用于如图6所示的异常处理装置200以及配置有所述异常处理装置200的移动终端100(图1)。下面将以移动终端为例,说明本实施例的具体流程,当然,可以理解的,本实施例所应用的移动终端可以为智能手机、平板电脑、穿戴式电子设备、车载设备、网关等,在此不做具体的限定。下面将针对图3所示的流程进行详细的阐述,所述异常处理方法具体可以包括以下步骤:
步骤S101:在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,其中,所述监控信息包括第一信息或第二信息,所述第一信息用于表征所述移动终端运行异常,所述第二信息用于表征所述移动终端运行正常。
在本实施例中,移动终端运行的过程可以包括从移动终端尝试开机到完成关机的过程。其中,移动终端在关机状态下可以接收开机指令,并基于该开机指令尝试开机,具体地,作为一种方式,当移动终端处于关机状态时,可以监听作用于该移动终端上的触控操作,例如,可以监听作用于移动终端上的按压操作、滑动操作或者点击操作等,并将监听到的触控操作与预先设置并存储的预设操作进行比较,当该触控操作与预设操作匹配时,表征该触控操作满足指示移动终端开机的条件,则所述移动终端响应该触控操作尝试开机,例如,当所述移动终端监听到作用于移动终端的开关机实体按键上的长按操作时,表征用户期望开启移动终端,则移动终端响应该触控操作尝试开机。
作为另一种方式,当移动终端处于关机状态时,可以监听所述移动终端所处环境的环境信息,并将监听到的环境信息与预先设置并存储的预设环境信息进行比较,当该环境信息与预设环境匹配时,表征该环境信息满足指示移动终端开机的条件,则所述移动终端作为响应尝试开机,其中,该环境信息可以包括环境温度、环境湿度、当前时间等,在此不做限定。以当前时间为例,所述移动终端预先设置并存储有指定开机时间,在所述移动终端处于关机状态且所述当前时间达到所述指定开机时间时,表征用户期望开启移动终端,则移动终端作为响应尝试开机。
通常,移动终端尝试开机后,会首先进入开机启动阶段,例如,进入UEFI(UnifiedExtensible Firmware Interface)阶段或LK(Little Kernel)阶段,然后依次进入kernel阶段、android阶段等直到开机成功,进一步地,当移动终端开机成功后,可以正常运行各种应用程序、各种服务等直到移动终端再次关机。因此,在本实施例中,在移动终端运行的过程中,可以对移动终端的整个运行过程进行监控并获取监控信息,其中,该监控信息可以包括第一信息或第二信息,第一信息用于表征移动终端运行异常,第二信息用于表征移动终端运行正常,以判断该移动终端的运行过程是否发生运行异常。
其中,移动终端运行异常可以包括移动终端在运行过程中出现长时间卡顿、在运行过程中出现闪退等,在此不做限定,例如,当移动终端在运行某个视频播放类应用程序时,若在播放过程中出现闪退或者出现长时间卡顿的情况时,可以认为该移动终端出现运行异常,则可以确定此时获取的监控信息为第一信息。相反的,移动终端运行正常可以包括从移动终端开机到关机的过程中,没有出现长时间卡顿或闪退等异常情况,例如,当移动终端在运行某个视频播放类应用程序时,若在播放过程中没有出现闪退或者长时间卡顿的情况时,可以认为该移动终端运行正常,则可以确定此时获取的监控信息为第二信息。
步骤S102:当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数。
进一步地,当所述监控信息为第一信息时,也就是说,当移动终端出现运行异常时,则移动终端作为响应控制移动终端重启并记录移动终端的连续重启次数。作为一种方式,当监控信息为第一信息时,移动终端可以自动尝试通过重启的方式来解决运行异常的问题,也可以提示用户手动控制移动终端重启的方式来解决运行异常的问题,在此不做限定,另外,可以理解的,移动终端在重启阶段可以包括重启成功和重启失败两种情况,因此,可以对移动终端的重启阶段进行监控,其中,当检测到移动终端重启成功时,表征该移动终端可以进入主界面正常运行,当检测到移动终端重启失败时,表征移动终端无法正常启动,则记录该移动终端的连续重启次数。
在本实施例中,当移动终端首次出现运行异常并尝试重启时,则记录一次重启次数,即连续重启次数为一次;当移动终端重启失败时,则控制移动终端再次重启并再记录一次重启次数,即连续重启次数为两次;当移动终端再次重启失败时,则控制移动终端再次重启并再记录一次重启次数,即连续重启次数为三次,以此类推。作为一种方式,该连续重启次数可以记录在eMMC等存储设备或DDR内存中的某个位置,在此不做限定,其中,在DDR上记录连续重启次数的速度相对于在eMMC上记录连续重启次数的速度更快一些,但是DDR上的数据会丢失,因此,在本实施例中,可以开启DDR的reserve功能,以避免记录在DDR中的连续重启次数丢失。
步骤S103:判断所述连续重启次数是否达到次数阈值。
在本实施例中,所述移动终端可以设置次数阈值,该次数阈值用于作为移动终端的连续重启次数的判断依据。其中,该次数阈值可以预先设置完成后存储在移动终端本地,也可以在判断时再进行设置,另外,该次数阈值可以由用户手动设置、可以由移动终端自动设置、也可以由服务器设置完成后传输至移动终端,在此不做限定。因此,在本实施例中,当获取所述移动终端的连续重启次数后,可以将该连续重启次数与次数阈值进行比较,以判断该连续重启次数是否达到次数阈值,可以理解的,当该连续重启次数等于该次数阈值时,可以确定该连续重启次数达到该次数阈值,当该连续重启次数小于该次数阈值时,可以确定该连续重启次数没有达到该次数阈值。其中,该次数阈值可以为3次、4次、5次等,可选地,在本实施例中,该次数阈值可以为4次,因此,在获取该连续重启次数后,可以判断连续重启次数是否达到4次,并且在连续重启次数达到4次时,确定该连续重启次数达到次数阈值。
步骤S104:当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式。
其中,当该连续重启次数达到次数阈值时,表征该移动终端通过重启的方式难以解决运行异常的问题,因此,可以控制移动终端进入recovery模式。其中,recovery是操作***为Android***的移动终端的备份功能,recovery模式指的是一种可以对安卓机内部的数据或***进行修改的模式(类似于windows PE或DOS),因此,在所述recovery模式下,用户可以选择对已有的***进行备份或升级,即修复boot.img,也可以在此恢复出厂设置,以实现移动终端的修复能力,进而提升用户体验。
例如,在移动终端运行的过程中,在移动终端的panic的执行函数中调用监控模块对所述移动终端的kernel是否发生panic重启进行监控,并获取所述监控信息,然后当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数,判断所述连续重启次数是否达到次数阈值,当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式。具体地,当kernel发生panic重启时,则在panic的执行函数中调用监控模块(监控模块嵌入在panic的执行流程中),该监控模块负责在eMMC等存储设备或者DDR内存的某个位置写入连续重启次数,并在重启异常时循环上述过程,如果panic重启次数达到次数阈值,如达到4次时,则重启移动终端并进入recovery模式。另外,如果android***上层运行异常,也同样可以适用所述异常处理方法,在此不再赘述。
本申请一个实施例提供的异常处理方法,在移动终端运行的过程中,对移动终端进行监控并获取监控信息,其中,该监控信息包括第一信息或第二信息,第一信息用于表征移动终端运行异常,第二信息用于表征移动终端运行正常,当监控信息为第一信息时,控制移动终端重启并记录连续重启次数,判断该连续重启次数是否达到次数阈值,当该连续重启次数达到次数阈值时,控制移动终端进入recovery模式,从而通过对移动终端的运行过程进行监控,并在监控到移动终端运行异常次数连续达到预设次数时,控制移动终端进入recovery模式,以提升移动终端的自动修复能力,提升用户体验。
请参阅图4,图4示出了本申请又一个实施例提供的异常处理方法的流程示意图。该方法应用于上述移动终端,下面将针对图4所示的流程进行详细的阐述,所述异常处理方法具体可以包括以下步骤:
步骤S201:在所述移动终端处于kernel起始阶段或android起始阶段的过程中,启动时间监控进程,其中,所述时间监控进程用于对所述移动终端的开机动画阶段进行监控并获取所述开机动画的加载时长。
在本实施例中,移动终端预先设置有时间监控进程,其中,该时间监控进程用于对移动终端的开机动画阶段进行监控并获取该开机动画的加载时长。因此,在本实施例中,当监听到移动终端处于kernel起始阶段(kernel启动2S左右)的过程中,可以启动该时间监控进程,以通过该时间监控进程监控整个开机动画阶段的执行情况;或者当监听到移动终端处于android起始阶段(android启动2S左右)的过程中,可以启动该时间监控进程,以通过该时间监控进程监控整个开机动画阶段的执行情况。其中,kernel起始阶段和android起始阶段的时间点不同,且kernel先运行,android后运行,因此,在kernel起始阶段和android起始阶段启动时间监控进程的监控时长可以不同,在kernel起始阶段启动时间监控进程的监控时长可以更长一些(包含android阶段)。另外,需要说明的是,开机动画是在android阶段开始显示。
步骤S202:判断所述加载时长是否达到时长阈值。
在本实施例中,所述移动终端可以设置时长阈值,该时长阈值用于作为开机动画的加载时长的判断依据。其中,该时长阈值可以预先设置完成后存储在移动终端本地,也可以在判断时再进行设置,另外,该时长阈值可以由用户手动设置、可以由移动终端自动设置、也可以由服务器设置完成后传输至移动终端,在此不做限定。因此,在本实施例中,当获取所述开机动画的加载时长后,可以将该加载时长与时长阈值进行比较,以判断该开机动画的加载时长是否达到时长阈值,可以理解的,当该加载时长等于该时长阈值时,可以确定该开机动画的加载时长达到时长阈值,当该加载时长小于该时长阈值时,可以确定该开机动画的加载时长没有达到时长阈值。其中,该时长阈值可以为3分钟、4分钟、5分钟等,可选地,在本实施例中,该时长阈值可以为4分钟,因此,在获取该加载时长后,可以判断该加载时长是否达到4分钟。
步骤S203:当所述加载时长达到所述时长阈值时,确定所述监控信息为所述第一信息。
其中,当该加载时长达到时长阈值时,表征该开机动画的加载没有结束,即可以认为移动终端此次开机异常,因此,可以确定监控信息为第一信息。
步骤S204:当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数。
其中,步骤S204的具体描述请参阅步骤S102,在此不再赘述。
步骤S205:基于所述连续重启次数在所述移动终端的指定写入位置写入标记信息,生成待验证数据。
进一步地,在获取移动终端的连续重启次数后,可以基于该连续重启次数获取与之对应的标记信息,其中,该连续重启次数与标记信息一一对应。在本实施例中,在移动终端的指定写入位置写入该标记信息,以生成待验证数据,可以理解的,该指定写入位置可以在eMMC等存储设备的某个写入位置或在DDR内存的某个保留位置,在此不做限定。作为一种方式,当该连续重启次数为1次时,则该标记信息可以为0×7C;当该连续重启次数为2次时,则该标记信息可以为0×7C7C;当该连续重启次数为3次时,则该标记信息可以为0×7C7C7C;当该连续重启次数为4次时,则该标记信息可以为0×7C7C7C7C,以此类推。另外,当该标记信息写入指定写入位置后,移动终端根据写入的标记信息生成待验证数据。
例如,当确定该移动终端的连续重启次数为2次时,可以查找连续重启次数为两次所对应的标记信息为0×7C7C,然后移动终端可以将0×7C7C作为待验证数据;当确定该移动终端的连续重启次数为3次时,可以查找连续重启次数为两次所对应的标记信息为0×7C7C7C,然后移动终端可以将0×7C7C7C作为待验证数据,以此类推。
请参阅图5,图5示出了本申请的图4所示的实施例提供的异常处理方法的步骤S205的流程示意图。下面将针对图5所示的流程进行详细的阐述,所述方法具体可以包括以下步骤:
步骤S2051:当所述连续重启次数为1次时,生成第一标记信息,并在所述指定写入位置写入所述第一标记信息。
具体地,当确定该移动终端的连续重启次数为1次时,生成第一标记信息,其中,该第一标记信息可以为0×7C,并且,当该移动终端的连续重启次数为1次时,表征该指定写入位置当前没有写入数据,因此,可以直接将该第一标记信息写入该指定写入位置,例如,在指定写入位置写入0×7C。
步骤S2052:当所述连续重启次数为N次时,生成第N标记信息,并在所述指定写入位置写入所述第N标记信息并覆盖第N-1标记信息,其中,N为大于1的正整数。
其中,当该连续重启次数为N次时,生成第N标记信息,其中,N为大于1的正整数,例如,当N为2时,则表征该连续重启次数为2次,则生成第2标记信息;当N为3时,则表征该连续重启次数为3次,则生成第3标记信息。并且,当该移动终端的连续重启次数为N次时,表征该指定写入位置已写入数据,且该写入数据为第N-1标记信息,因此,可以将该第N标记信息写入指定写入位置并覆盖第N-1标记信息。
例如,当N为2时,表征该连续重启次数为2次,此时生成的第2标记信息为0×7C7C,同时由于该指定写入位置在移动终端第一次重启时已写入数据0×7C,因此,可以将0×7C7C写入该指定写入位置覆盖已写入的0×7C;当N为3时,表征该连续重启次数为3次,此时生成的第3标记信息为0×7C7C7C,同时由于该指定写入位置在移动终端第二次重启时已写入数据0×7C7C,因此,可以将0×7C7C7C写入该指定写入位置覆盖已写入的0×7C7C;当N为4时,表征该连续重启次数为4次,此时生成的第4标记信息为0×7C7C7C7C,同时由于该指定写入位置在移动终端第3次重启时已写入数据0×7C7C7C,因此,可以将0×7C7C7C7C写入该指定写入位置覆盖已写入的0×7C7C7C,以此类推。
步骤S206:判断所述待验证数据是否为指定数据。
进一步地,所述移动终端设置有指定数据,该指定数据用于作为该待验证数据的判断依据。其中,该指定数据可以预先设置完成后存储在移动终端本地,也可以在判断时再进行设置,另外,该指定数据可以由用户手动设置、可以由移动终端自动设置、也可以由服务器设置完成后传输至移动终端,在此不做限定。因此,在本实施例中,当获取所述待验证数据后,可以将该待验证数据与指定数据进行比较,以判断该待验证数据是否为指定数据,可以理解的,当该待验证数据与指定数据匹配或一致时,可以确定该待验证数据为指定数据,当该待验证数据与指定数据不匹配时,可以确定该待验证数据为指定数据。
其中,该指定数据与次数阈值对应,也就是说,当该待验证数据为指定数据时,可以认为该连续重启次数达到次数阈值。例如,当该次数阈值为4次时,那么,该指定数据可以为0×7C7C7C7C;当该次数阈值为3次时,那么,该指定数据可以为0×7C7C7C等。在本实施例中,以指定数据为0×7C7C7C7C为例进行说明,在获取待验证数据后,可以将该待验证数据与0×7C7C7C7C进行比较,以判断该待验证数据是否为0×7C7C7C7C,可以理解的,当该移动终端的连续重启次数为1次时,那么,该待验证数据为0×7C,因此,可以确定该待验证数据不是指定数据,也就是说连续重启次数没有达到次数阈值,可以控制移动终端再次重启;当移动终端的连续重启次数为2次时,那么,该待验证数据为0×7C7C,因此,可以确定该待验证数据不是指定数据,也就是说,连续重启次数没有达到次数阈值,可以控制移动终端再次重启;当移动终端的连续重启次数为3次时,那么,该待验证数据为0×7C7C7C,因此,可以确定该待验证数据不是指定数据,也就是说,连续重启次数没有达到次数阈值,可以控制移动终端再次重启;而当移动终端的连续重启次数为4次时,那么,该待验证数据为0×7C7C7C7C,因此,可以确定该待验证数据为指定数据,也就是说,连续重启次数达到次数阈值,可以控制移动终端进入recovery模式。
步骤S207:当所述待验证数据为所述指定数据时,确定所述连续重启次数达到所述次数阈值。
其中,在本实施例中,由于该指定数据和次数阈值对应,也就是说,当该待验证数据为指定数据时,那么,可以确定该连续重启次数达到次数阈值。
步骤S208:当所述连续重启次数达到所述次数阈值时,控制所述移动终端显示recovery界面,所述recovery界面用于提示用户选择对所述移动终端进行恢复出厂设置或对所述移动终端进行升级***。
作为一种方式,在确定连续重启次数达到次数阈值时,可以控制移动终端显示recovery界面,其中,在recovery界面下,用户可以选择对移动终端进行升级***、备份***、恢复出厂设置等操作,以便快速对移动终端的开机故障进行处理。如图6所示,图6示出了可用于本申请实施例的recovery界面的示意图,其中,该recovery界面可以显示多个控件,作为一种方式,该多个控件可以包括安装升级文件控件、清除数据控件、重启手机控件、关机控件、取消root权限控件、磁盘检查控件、版本控件等,可以理解的,该多个控件均可以用于接收用户的选择操作,例如,接收用户的点击操作、按压操作、滑动操作等,在此不做限定。例如,当移动终端检测到作用于重启手机控件上的触控操作时,表征用户期望重启移动终端,则移动终端作为响应进行重启;当移动终端检测到作用于安装升级文件控件上的触控操作时,表征用户期望安装升级文件,则移动终端作为响应安装升级文件对移动终端进行升级等。
步骤S209:当所述监控信息为所述第二信息时,将所述指定写入位置写入的标记信息清零。
在本实施例中,当监控信息为第二信息时,也就是说,当移动终端运行正常时,则表征移动终端的异常情况已经修复或者已经暂时修复,因此,作为一种方式,可以将指定写入位置写入的标记信息清零,此时,指定写入位置没有已写入数据。可以理解的,基于上述方法,当移动终端再次出现运行异常时,则可以重新从头开始确定移动终端的连续重启次数,例如,当移动终端运行正常后第1次运行异常时,则该移动终端连续重启次数为1次,即可以在指定写入位置写入标记信息0×7C,当移动终端运行正常后连续第2次运行异常时,则该移动终端连续重启次数为2次,即可以在指定写入位置写入标记信息0×7C7C并覆盖0×7C等。
作为一种可实施的方式,时间监控进程对开机动画的加载时长进行监控,并且当该时间监控进程监控到该移动终端在时长阈值内从开机动画界面跳转至home界面时,可以确定该开机动画在时长阈值内加载完成,即移动终端开机正常,因此,可以确定该监控信息为第二信息,则对应将该指定写入位置写入的标记信息清零。
本申请又一个实施例提供的异常处理方法,在移动终端处于kernel起始阶段或android起始阶段的过程中,启动时间监控进程,其中,该时间监控进程用于对移动终端的开机动画阶段进行监控并获取该开机动画的加载时长,判断该加载时长是否达到时长阈值,当该加载时长达到时长阈值时,确定该监控信息为第一信息。当监控信息为第一信息时,控制移动终端重启并记录连续重启次数,基于该连续重启次数在移动终端的指定写入位置写入标记信息,生成待验证数据,判断该待验证数据是否为指定数据,当该待验证数据为指定数据时,确定连续重启次数达到次数阈值。当连续重启次数达到次数阈值时,控制移动终端显示recovery界面,该recovery界面用于提示用户选择对移动终端进行恢复出厂设置或对移动终端进行升级***。当监控信息为第二信息时,将制定写入位置写入的标记信息清零。相较于图3所示的异常处理方法,本实施例在kernel起始阶段或android起始阶段的过程中,对开机动画的加载时长进行监控,在加载时长达到时长阈值时确定该移动终端异常并控制重启,并且在重启次数达到次数阈值时,控制移动终端显示recovery界面,以实现对开机动画阶段的监控和修复。另外,根据连续重启次数在移动终端的指定写入位置写入对应的标记信息,并基于标记信息判断该连续重启次数是否达到次数阈值,以提升重启次数判断的准确率。
请参阅图7,图7示出了本申请实施例提供的异常处理装置200的模块框图。所述异常处理装置200应用于上述移动终端,下面将针对图7所示的框图进行阐述,所述异常处理装置200包括:监控模块210、记录模块220、判断模块230以及控制模块240,其中:
监控模块210,用于在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,其中,所述监控信息包括第一信息或第二信息,所述第一信息用于表征所述移动终端运行异常,所述第二信息用于表征所述移动终端运行正常。进一步地,所述监控模块210包括:启动子模块、时长判断子模块、第一信息确定子模块、第二信息确定子模块以及监控子模块,其中:
启动子模块,用于在所述移动终端处于kernel起始阶段或android起始阶段的过程中,启动时间监控进程,其中,所述时间监控进程用于对所述移动终端的开机动画阶段进行监控并获取所述开机动画的加载时长。
时长判断子模块,用于判断所述加载时长是否达到时长阈值。
第一信息确定子模块,用于当所述加载时长达到所述时长阈值时,确定所述监控信息为所述第一信息。
第二信息确定子模块,用于当所述监控信息为所述第二信息时,将所述指定写入位置写入的标记信息清零。进一步地,所述第二信息确定子模块包括:清零单元,其中:
清零单元,用于当所述移动终端在时长阈值内从开机动画界面跳转至home界面时,将所述指定写入位置写入的标记信息清零。
监控子模块,用于在所述移动终端运行的过程中,在移动终端的panic的执行函数中调用监控模块对所述移动终端的kernel是否发生panic重启进行监控,并获取所述监控信息。
记录模块220,用于当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数。
判断模块230,用于判断所述连续重启次数是否达到次数阈值。进一步地,所述判断模块230包括:写入子模块、次数判断子模块以及次数确定子模块,其中:
写入子模块,用于基于所述连续重启次数在所述移动终端的指定写入位置写入标记信息,生成待验证数据。进一步地,所述写入子模块包括:第一写入单元和第二写入单元,其中:
第一写入单元,用于当所述连续重启次数为1次时,生成第一标记信息,并在所述指定写入位置写入所述第一标记信息。
第二写入单元,用于当所述连续重启次数为N次时,生成第N标记信息,并在所述指定写入位置写入所述第N标记信息并覆盖第N-1标记信息,其中,N为大于1的正整数。
次数判断子模块,用于判断所述待验证数据是否为指定数据。
次数确定子模块,用于当所述待验证数据为所述指定数据时,确定所述连续重启次数达到所述次数阈值。
控制模块240,用于当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式。进一步地,所述控制模块240包括:控制子模块,其中:
控制子模块,用于当所述连续重启次数达到所述次数阈值时,控制所述移动终端显示recovery界面,所述recovery界面用于提示用户选择对所述移动终端进行恢复出厂设置或对所述移动终端进行升级***。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,模块相互之间的耦合可以是电性,机械或其它形式的耦合。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
请参阅图8,其示出了本申请实施例提供的一种计算机可读存储介质的结构框图。该计算机可读介质300中存储有程序代码,所述程序代码可被处理器调用执行上述方法实施例中所描述的方法。
计算机可读存储介质300可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。可选地,计算机可读存储介质300包括非易失性计算机可读介质(non-transitory computer-readable storage medium)。计算机可读存储介质300具有执行上述方法中的任何方法步骤的程序代码310的存储空间。这些程序代码可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。程序代码310可以例如以适当形式进行压缩。
综上所述,本申请实施例提供的异常处理方法、装置、移动终端以及存储介质,在移动终端运行的过程中,对移动终端进行监控并获取监控信息,其中,该监控信息包括第一信息或第二信息,第一信息用于表征移动终端运行异常,第二信息用于表征移动终端运行正常,当监控信息为第一信息时,控制移动终端重启并记录连续重启次数,判断该连续重启次数是否达到次数阈值,当该连续重启次数达到次数阈值时,控制移动终端进入recovery模式,从而通过对移动终端的运行过程进行监控,并在监控到移动终端运行异常次数连续达到预设次数时,控制移动终端进入recovery模式,以提升移动终端的自动修复能力,提升用户体验。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不驱使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (11)
1.一种异常处理方法,其特征在于,应用于移动终端,所述方法包括:
在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,其中,所述监控信息包括第一信息或第二信息,所述第一信息用于表征所述移动终端运行异常,所述第二信息用于表征所述移动终端运行正常;
当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数;
判断所述连续重启次数是否达到次数阈值;
当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式。
2.根据权利要求1所述的方法,其特征在于,所述判断所述连续重启次数是否达到次数阈值,包括:
基于所述连续重启次数在所述移动终端的指定写入位置写入标记信息,生成待验证数据;
判断所述待验证数据是否为指定数据;
当所述待验证数据为所述指定数据时,确定所述连续重启次数达到所述次数阈值。
3.根据权利要求2所述的方法,其特征在于,所述基于所述连续重启次数在所述移动终端的指定写入位置写入标记信息,生成待验证数据,包括:
当所述连续重启次数为1次时,生成第一标记信息,并在所述指定写入位置写入所述第一标记信息;
当所述连续重启次数为N次时,生成第N标记信息,并在所述指定写入位置写入所述第N标记信息并覆盖第N-1标记信息,其中,N为大于1的正整数。
4.根据权利要求2所述的方法,其特征在于,所述在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,包括:
在所述移动终端处于kernel起始阶段或android起始阶段的过程中,启动时间监控进程,其中,所述时间监控进程用于对所述移动终端的开机动画阶段进行监控并获取所述开机动画的加载时长;
判断所述加载时长是否达到时长阈值;
当所述加载时长达到所述时长阈值时,确定所述监控信息为所述第一信息。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
当所述监控信息为所述第二信息时,将所述指定写入位置写入的标记信息清零。
6.根据权利要求5所述的方法,其特征在于,所述当所述监控信息为所述第二信息时,将所述指定写入位置写入的标记信息清零,包括:
当所述移动终端在时长阈值内从开机动画界面跳转至home界面时,将所述指定写入位置写入的标记信息清零。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式,包括:
当所述连续重启次数达到所述次数阈值时,控制所述移动终端显示recovery界面,所述recovery界面用于提示用户选择对所述移动终端进行恢复出厂设置或对所述移动终端进行升级***。
8.根据权利要求1-6任一项所述的方法,其特征在于,所述在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,包括:
在所述移动终端运行的过程中,在移动终端的panic的执行函数中调用监控模块对所述移动终端的kernel是否发生panic重启进行监控,并获取所述监控信息。
9.一种异常处理装置,其特征在于,应用于移动终端,所述装置包括:
监控模块,用于在所述移动终端运行的过程中,对所述移动终端进行监控并获取监控信息,其中,所述监控信息包括第一信息或第二信息,所述第一信息用于表征所述移动终端运行异常,所述第二信息用于表征所述移动终端运行正常;
记录模块,用于当所述监控信息为所述第一信息时,控制所述移动终端重启并记录连续重启次数;
判断模块,用于判断所述连续重启次数是否达到次数阈值;
控制模块,用于当所述连续重启次数达到所述次数阈值时,控制所述移动终端进入recovery模式。
10.一种移动终端,其特征在于,包括:
存储器;
一个或多个处理器,与所述存储器耦接;
一个或多个程序,其中,所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行如权利要求1-8任一项所述的方法。
11.一种计算机可读取存储介质,其特征在于,所述计算机可读取存储介质中存储有程序代码,所述程序代码可被处理器调用执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910065557.6A CN109753411A (zh) | 2019-01-17 | 2019-01-17 | 异常处理方法、装置、移动终端以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910065557.6A CN109753411A (zh) | 2019-01-17 | 2019-01-17 | 异常处理方法、装置、移动终端以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109753411A true CN109753411A (zh) | 2019-05-14 |
Family
ID=66406017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910065557.6A Pending CN109753411A (zh) | 2019-01-17 | 2019-01-17 | 异常处理方法、装置、移动终端以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753411A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825593A (zh) * | 2019-11-11 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种进程的异常状态检测方法、装置、设备及存储介质 |
CN110825563A (zh) * | 2019-10-22 | 2020-02-21 | RealMe重庆移动通信有限公司 | ***恢复方法、装置以及电子设备 |
CN111367720A (zh) * | 2020-03-04 | 2020-07-03 | 北京字节跳动网络技术有限公司 | 数据保护方法、装置、电子设备及计算机可读存储介质 |
CN111611106A (zh) * | 2020-05-21 | 2020-09-01 | 浙江中旻智能科技有限公司 | 一种人脸识别***的***恢复方法 |
CN113032183A (zh) * | 2021-03-24 | 2021-06-25 | 西安闻泰信息技术有限公司 | ***管理方法、装置、计算机设备和存储介质 |
CN113048628A (zh) * | 2021-03-29 | 2021-06-29 | 珠海格力电器股份有限公司 | 一种电离净化设备的控制方法及控制装置 |
CN114913649A (zh) * | 2021-02-09 | 2022-08-16 | 腾讯科技(深圳)有限公司 | 显示状态监控方法、装置、设备及计算机可读存储介质 |
CN117130824A (zh) * | 2023-01-10 | 2023-11-28 | 荣耀终端有限公司 | 一种处理异常的方法、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094532A1 (en) * | 2005-10-25 | 2007-04-26 | Hewlett-Packard Development Company, L.P. | Kernel debugging in a cluster computing system |
CN101247615A (zh) * | 2008-03-07 | 2008-08-20 | 上海华为技术有限公司 | 提高通信设备可靠性的方法及装置 |
CN101556548A (zh) * | 2008-04-11 | 2009-10-14 | 联想(北京)有限公司 | 一种计算机使用环境的监测方法及计算机 |
CN102185956A (zh) * | 2009-11-27 | 2011-09-14 | Tcl集团股份有限公司 | 一种便携式电子装置及其自动控制方法 |
CN102591729A (zh) * | 2011-01-13 | 2012-07-18 | 联想(北京)有限公司 | 计算机、电子设备和开机控制方法 |
CN103987177A (zh) * | 2014-05-28 | 2014-08-13 | 梅志国 | 恢复出厂设置的方法及*** |
CN105573864A (zh) * | 2015-12-15 | 2016-05-11 | 广州视源电子科技股份有限公司 | 终端***恢复方法及其*** |
CN108920195A (zh) * | 2018-06-19 | 2018-11-30 | Oppo(重庆)智能科技有限公司 | 开机处理方法及相关产品 |
-
2019
- 2019-01-17 CN CN201910065557.6A patent/CN109753411A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094532A1 (en) * | 2005-10-25 | 2007-04-26 | Hewlett-Packard Development Company, L.P. | Kernel debugging in a cluster computing system |
CN101247615A (zh) * | 2008-03-07 | 2008-08-20 | 上海华为技术有限公司 | 提高通信设备可靠性的方法及装置 |
CN101556548A (zh) * | 2008-04-11 | 2009-10-14 | 联想(北京)有限公司 | 一种计算机使用环境的监测方法及计算机 |
CN102185956A (zh) * | 2009-11-27 | 2011-09-14 | Tcl集团股份有限公司 | 一种便携式电子装置及其自动控制方法 |
CN102591729A (zh) * | 2011-01-13 | 2012-07-18 | 联想(北京)有限公司 | 计算机、电子设备和开机控制方法 |
CN103987177A (zh) * | 2014-05-28 | 2014-08-13 | 梅志国 | 恢复出厂设置的方法及*** |
CN105573864A (zh) * | 2015-12-15 | 2016-05-11 | 广州视源电子科技股份有限公司 | 终端***恢复方法及其*** |
CN108920195A (zh) * | 2018-06-19 | 2018-11-30 | Oppo(重庆)智能科技有限公司 | 开机处理方法及相关产品 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110825563A (zh) * | 2019-10-22 | 2020-02-21 | RealMe重庆移动通信有限公司 | ***恢复方法、装置以及电子设备 |
CN110825563B (zh) * | 2019-10-22 | 2022-12-06 | RealMe重庆移动通信有限公司 | ***恢复方法、装置以及电子设备 |
CN110825593A (zh) * | 2019-11-11 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 一种进程的异常状态检测方法、装置、设备及存储介质 |
CN110825593B (zh) * | 2019-11-11 | 2022-08-23 | 腾讯科技(深圳)有限公司 | 一种进程的异常状态检测方法、装置、设备及存储介质 |
CN111367720A (zh) * | 2020-03-04 | 2020-07-03 | 北京字节跳动网络技术有限公司 | 数据保护方法、装置、电子设备及计算机可读存储介质 |
WO2021175187A1 (zh) * | 2020-03-04 | 2021-09-10 | 北京字节跳动网络技术有限公司 | 数据保护方法、装置、电子设备及计算机可读存储介质 |
CN111611106A (zh) * | 2020-05-21 | 2020-09-01 | 浙江中旻智能科技有限公司 | 一种人脸识别***的***恢复方法 |
CN114913649A (zh) * | 2021-02-09 | 2022-08-16 | 腾讯科技(深圳)有限公司 | 显示状态监控方法、装置、设备及计算机可读存储介质 |
CN113032183A (zh) * | 2021-03-24 | 2021-06-25 | 西安闻泰信息技术有限公司 | ***管理方法、装置、计算机设备和存储介质 |
CN113048628A (zh) * | 2021-03-29 | 2021-06-29 | 珠海格力电器股份有限公司 | 一种电离净化设备的控制方法及控制装置 |
CN117130824A (zh) * | 2023-01-10 | 2023-11-28 | 荣耀终端有限公司 | 一种处理异常的方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753411A (zh) | 异常处理方法、装置、移动终端以及存储介质 | |
US10007505B2 (en) | Initiating update operations | |
CN109542744B (zh) | 检测终端开机异常问题的方法、装置、存储介质及终端 | |
US9848072B2 (en) | Electronic device monitoring method and apparatus | |
CN102436387B (zh) | 用于快速计算机启动的方法和装置 | |
CN102446111B (zh) | 快速计算机启动 | |
CN109783149A (zh) | 开机控制方法、装置、移动终端以及存储介质 | |
US20190370657A1 (en) | Method and apparatus for updating application prediction model, storage medium, and terminal | |
US20140066040A1 (en) | Over-the-air update method for continuous delta of android handheld device | |
WO2019019668A1 (zh) | 应用程序启动方法、装置、计算机设备和存储介质 | |
CN104794014A (zh) | ***运行的方法及智能终端 | |
JP2019525275A (ja) | 異常スタック情報取得方法、装置及びコンピュータ読み取り可能な記憶媒体 | |
CN109753297A (zh) | 终端待机时软件升级方法、装置及可读存储介质 | |
CN102567047A (zh) | 快速计算机启动 | |
US20210282075A1 (en) | Scan method in near-field wireless communication network and electronic device for implementing same | |
CN109684573B (zh) | 目标图片显示方法及装置、存储介质、电子设备 | |
CN113474756A (zh) | 应用程序的处理方法、装置、存储介质及电子设备 | |
WO2024078218A1 (zh) | ***启动方法及电子设备 | |
CN105117250B (zh) | 一种兼容性处理方法及电子设备 | |
CN110837430A (zh) | 开机异常处理方法、装置、电子设备以及存储介质 | |
CN106021024B (zh) | 一种用户终端停止响应提示方法及用户终端 | |
CN103634668A (zh) | 智能电视中的***升级方法和装置 | |
CN107765922A (zh) | 卡屏检测与解决方法、移动终端及计算机可读存储介质 | |
CN107908491A (zh) | 卡屏检测与解决方法、移动终端及计算机可读存储介质 | |
CN110727473A (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 |