CN108038038A - 移动终端重启定位方法、移动终端及计算机可读存储介质 - Google Patents

移动终端重启定位方法、移动终端及计算机可读存储介质 Download PDF

Info

Publication number
CN108038038A
CN108038038A CN201711234781.0A CN201711234781A CN108038038A CN 108038038 A CN108038038 A CN 108038038A CN 201711234781 A CN201711234781 A CN 201711234781A CN 108038038 A CN108038038 A CN 108038038A
Authority
CN
China
Prior art keywords
mobile terminal
node
key message
state value
call flow
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.)
Granted
Application number
CN201711234781.0A
Other languages
English (en)
Other versions
CN108038038B (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.)
Nubia Technology Co Ltd
Original Assignee
Nubia Technology 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 Nubia Technology Co Ltd filed Critical Nubia Technology Co Ltd
Priority to CN201711234781.0A priority Critical patent/CN108038038B/zh
Publication of CN108038038A publication Critical patent/CN108038038A/zh
Application granted granted Critical
Publication of CN108038038B publication Critical patent/CN108038038B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality

Abstract

本发明公开了一种移动终端重启定位方法、移动终端及计算机可读存储介质,该方法包括步骤:当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据监测指令监测内核模块中的预设关键信息点;读取关键信息点的状态值,并根据状态值确定是否由于调用流程和/或时序逻辑异常导致关键信息点对应的spin lock锁处于死锁状态;若由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,则根据预设关键点和状态值定位移动终端的重启信息。本发明实现了快速定位移动终端发生重启操作的重启信息,节省了人力成本。

Description

移动终端重启定位方法、移动终端及计算机可读存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种移动终端重启定位方法、移动终端及计算机可读存储介质。
背景技术
随着终端技术的快速发展,手机及平板电脑等移动终端已成为人们工作和生活的必备工具。用户在使用移动终端的过程中,会出现移动终端自动重启的现象,而导致移动终端自动重启的原因可能是在移动终端上市之前已存在的,只是开发人员没有发现的。此时,用户需要将该移动终端返厂,由测试人员进行大量的测试工作,以确定移动终端重启的原因。目前,在测试领域,对移动终端操作系统进行重启压力测试的方法依然是采用人工测试的方法,手动重启手机,随后进行压力测试。然而,这种测试方法过于耗费人力和时间,尤其是对漏洞BUG复现率较低的移动终端,例如,移动终端重启1000次可能就只出现一次或几次BUG,时间和人力的投入过大而产出很小,很显然,这种分析移动终端发生重启操作原因的做法是极其低效的。
发明内容
本发明的主要目的在于提出一种移动终端重启定位方法、移动终端及计算机可读存储介质,旨在解决现有不能快速定位移动终端发生重启操作的原因的问题。
为实现上述目的,本发明提供了一种移动终端重启定位方法,所述移动终端重启定位方法包括:
当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点;
读取所述关键信息点的状态值,并根据所述状态值确定是否由于所述调用流程和/或时序逻辑异常导致所述关键信息点对应的spin lock锁处于死锁状态;
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端的重启信息。
可选地,所述读取所述关键信息点的状态值的步骤包括:
按照第一读取频率读取所述关键信息点预设数量的第一状态值;
若根据预设数量的所述第一状态值都确定所述关键信息点对应的spin lock锁处于正常状态,则按照第二读取频率读取所述关键信息点预设数量的第二状态值;
若根据预设数量的所述第二状态值都确定所述spin lock锁处于正常状态,则按照第三读取频率读取所述关键信息点的第三状态值,其中,所述第二读取频率大于所述第一读取频率,小于所述第三读取频率。
可选地,所述按照第一读取频率读取所述关键信息点预设数量的第一状态值的步骤之后,还包括:
若根据一个所述第一状态值确定所述spin lock锁处于死锁状态,则检测所述移动终端是否发生重启操作;
若所述移动终端未发生重启操作,则按照第四读取频率读取所述关键信息点的第四状态值。
可选地,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端的重启信息的步骤包括:
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息;
判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态;
若在所述第一预设时间内监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述关键信息点和所述日志信息定位所述移动终端的重启信息。
可选地,所述判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态的步骤之后,还包括:
若在所述第一预设时间内未监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则删除所述日志信息。
可选地,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息的步骤之后,还包括:
确定在第二预设时间内存储的日志信息;
对所述第二预设时间内存储的日志信息执行去冗余操作,以节省存储空间。
可选地,所述当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,还包括:
确定所述调用流程的识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点;
在所述识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点中设置关键信息点。
可选地,所述当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,还包括:
在部署所述Kernel层的进程时,将所述监测指令对应的线程部署在kernel进程和kthreadd进程中。
此外,为实现上述目的,本发明还提供一种移动终端,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的移动终端重启定位程序,所述移动终端重启定位程序被所述处理器执行时实现如上文所述的移动终端重启定位方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有移动终端重启定位程序,所述移动终端重启定位程序被处理器执行时实现如上文所述的移动终端重启定位方法的步骤。
本发明通过当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点;读取所述关键信息点的状态值,并根据所述状态值确定所述内核模块中是否由于所述调用流程和/或时序逻辑异常导致所述关键信息点对应的spin lock锁处于死锁状态;若存在由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端的重启信息。实现了在移动终端未发生重启操作之前,预先获取移动终端会发生重启操作对应的重启信息,以便于在移动终端发生重启操作后,相应的工作人员可以根据重启信息快速确定导致移动终端重启的原因,提高了定位移动终端重启原因的效率,以及减少了人力成本。
附图说明
图1为实现本发明各个实施例一种终端的硬件结构示意图;
图2为本发明实施例提供的一种通信网络系统架构图;
图3为本发明移动终端重启定位方法第一实施例的流程示意图;
图4为本发明移动终端重启定位方法第二实施例的流程示意图;
图5为本发明移动终端重启定位方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等移动终端,以及诸如数字TV、台式计算机等固定终端。
后续描述中将以移动终端为例进行说明,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
请参阅图1,其为实现本发明各个实施例的一种移动终端的硬件结构示意图,该移动终端100可以包括:RF(Radio Frequency,射频)单元101、Wi-Fi模块102、音频输出单元103、传感器105、显示单元106、用户输入单元107、接口单元108、存储器109、处理器110、以及电源111等部件。本领域技术人员可以理解,图1中示出的移动终端100结构并不构成对移动终端100的限定,移动终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对移动终端100的各个部件进行具体的介绍:
射频单元101可用于收发信息或通话过程中,信号的接收和发送,具体的,将基站的下行信息接收后,给处理器110处理;另外,将上行的数据发送给基站。通常,射频单元101包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元101还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于GSM(Global System of Mobile communication,全球移动通讯系统)、GPRS(General Packet Radio Service,通用分组无线服务)、CDMA2000(CodeDivision Multiple Access 2000,码分多址2000)、WCDMA(Wideband Code DivisionMultiple Access,宽带码分多址)、TD-SCDMA(Time Division Synchronous CodeDivision Multiple Access,时分同步码分多址)、FDD-LTE(Frequency DivisionDuplexing-Long Term Evolution,频分双工长期演进)和TDD-LTE(Time DivisionDuplexing-Long Term Evolution,分时双工长期演进)等。
Wi-Fi属于短距离无线传输技术,移动终端100通过Wi-Fi模块102可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了Wi-Fi模块102,但是可以理解的是,其并不属于移动终端100的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
音频输出单元103可以在移动终端100处于呼叫信号接收模式、通话模式、记录模式、语音识别模式、广播接收模式等等模式下时,将射频单元101或Wi-Fi模块102接收的或者在存储器109中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元103还可以提供与移动终端100执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元103可以包括扬声器、蜂鸣器等等。
移动终端100还包括至少一种传感器105,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1061的亮度,接近传感器可在移动终端100移动到耳边时,关闭显示面板1061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
显示单元106用于显示由用户输入的信息或提供给用户的信息。显示单元106可包括显示面板1061,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板1061。
用户输入单元107可用于接收输入的数字或字符信息,以及产生与移动终端的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元107可包括触控面板1071以及其他输入设备1072。触控面板1071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1071上或在触控面板1071附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板1071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器110,并能接收处理器110发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1071。除了触控面板1071,用户输入单元107还可以包括其他输入设备1072。具体地,其他输入设备1072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。
进一步的,触控面板1071可覆盖显示面板1061,当触控面板1071检测到在其上或附近的触摸操作后,传送给处理器110以确定触摸事件的类型,随后处理器110根据触摸事件的类型在显示面板1061上提供相应的视觉输出。虽然在图1中,触控面板1071与显示面板1061是作为两个独立的部件来实现移动终端的输入和输出功能,但是在某些实施例中,可以将触控面板1071与显示面板1061集成而实现移动终端的输入和输出功能,具体此处不做限定。
接口单元108用作至少一个外部装置与移动终端100连接可以通过的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元108可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到移动终端100内的一个或多个元件或者可以用于在移动终端100和外部装置之间传输数据。
存储器109可用于存储软件程序以及各种数据。存储器109可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器109可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器110是移动终端100的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器109内的软件程序和/或模块,以及调用存储在存储器109内的数据,执行移动终端100的各种功能和处理数据,从而对移动终端100进行整体监控。处理器110可包括一个或多个处理单元;优选的,处理器110可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器110中。
此外,在图1所示的移动终端100中,处理器110用于调用存储器109中存储的移动终端100重启定位程序,并执行以下操作:
当检测到监测移动终端100Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点;
读取所述关键信息点的状态值,并根据所述状态值确定是否由于所述调用流程和/或时序逻辑异常导致所述关键信息点对应的spin lock锁处于死锁状态;
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端100的重启信息。
进一步地,所述读取所述关键信息点的状态值的步骤包括:
按照第一读取频率读取所述关键信息点预设数量的第一状态值;
若根据预设数量的所述第一状态值都确定所述关键信息点对应的spin lock锁处于正常状态,则按照第二读取频率读取所述关键信息点预设数量的第二状态值;
若根据预设数量的所述第二状态值都确定所述spin lock锁处于正常状态,则按照第三读取频率读取所述关键信息点的第三状态值,其中,所述第二读取频率大于所述第一读取频率,小于所述第三读取频率。
进一步地,所述按照第一读取频率读取所述关键信息点预设数量的第一状态值的步骤之后,处理器110还用于调用存储器109中存储的移动终端100重启定位程序,以实现以下步骤:
若根据一个所述第一状态值确定所述spin lock锁处于死锁状态,则检测所述移动终端100是否发生重启操作;
若所述移动终端100未发生重启操作,则按照第四读取频率读取所述关键信息点的第四状态值。
进一步地,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端100的重启信息的步骤包括:
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息;
判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态;
若在所述第一预设时间内监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述关键信息点和所述日志信息定位所述移动终端100的重启信息。
进一步地,所述判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态的步骤之后,处理器110还用于调用存储器109中存储的移动终端100重启定位程序,以实现以下步骤:
若在所述第一预设时间内未监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则删除所述日志信息。
进一步地,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息的步骤之后,处理器110还用于调用存储器109中存储的移动终端100重启定位程序,以实现以下步骤:
确定在第二预设时间内存储的日志信息;
对所述第二预设时间内存储的日志信息执行去冗余操作,以节省存储空间。
进一步地,所述当检测到监测移动终端100Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,处理器110还用于调用存储器109中存储的移动终端100重启定位程序,以实现以下步骤:
确定所述调用流程的识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点;
在所述识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点中设置关键信息点。
进一步地,所述当检测到监测移动终端100Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,处理器110还用于调用存储器109中存储的移动终端100重启定位程序,以实现以下步骤:
在部署所述Kernel层的进程时,将所述监测指令对应的线程部署在kernel进程和kthreadd进程中。
移动终端100还可以包括给各个部件供电的电源111(比如电池),优选的,电源111可以通过电源管理系统与处理器110逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管图1未示出,移动终端100还可以包括蓝牙模块等,在此不再赘述。
为了便于理解本发明实施例,下面对本发明的移动终端所基于的通信网络系统进行描述。
请参阅图2,图2为本发明实施例提供的一种通信网络系统架构图,该通信网络系统为通用移动通信技术的LTE系统,该LTE系统包括依次通讯连接的UE(User Equipment,用户设备)201,E-UTRAN(Evolved UMTS Terrestrial Radio Access Network,演进式UMTS陆地无线接入网)202,EPC(Evolved Packet Core,演进式分组核心网)203和运营商的IP业务204。
具体地,UE201可以是上述移动终端100,此处不再赘述。
E-UTRAN202包括eNodeB2021和其它eNodeB2022等。其中,eNodeB2021可以通过回程(backhaul)(例如X2接口)与其它eNodeB2022连接,eNodeB2021连接到EPC203,eNodeB2021可以提供UE201到EPC203的接入。
EPC203可以包括MME(Mobility Management Entity,移动性管理实体)2031,HSS(Home Subscriber Server,归属用户服务器)2032,其它MME2033,SGW(Serving Gate Way,服务网关)2034,PGW(PDN Gate Way,分组数据网络网关)2035和PCRF(Policy andCharging Rules Function,政策和资费功能实体)2036等。其中,MME2031是处理UE201和EPC203之间信令的控制节点,提供承载和连接管理。HSS2032用于提供一些寄存器来管理诸如归属位置寄存器(图中未示)之类的功能,并且保存有一些有关服务特征、数据速率等用户专用的信息。所有用户数据都可以通过SGW2034进行发送,PGW2035可以提供UE 201的IP地址分配以及其它功能,PCRF2036是业务数据流和IP承载资源的策略与计费控制策略决策点,它为策略与计费执行功能单元(图中未示)选择及提供可用的策略和计费控制决策。
IP业务204可以包括因特网、内联网、IMS(IP Multimedia Subsystem,IP多媒体子系统)或其它IP业务等。
虽然上述以LTE系统为例进行了介绍,但本领域技术人员应当知晓,本发明不仅仅适用于LTE系统,也可以适用于其他无线通信系统,例如GSM、CDMA2000、WCDMA、TD-SCDMA以及未来新的网络系统等,此处不做限定。
基于上述终端硬件结构以及通信网络系统,提出本发明移动终端重启定位方法的各个实施例。
本发明提供一种移动终端重启定位方法。
参照图3,图3为本发明移动终端重启定位方法第一实施例的流程示意图。
在本实施例中,提供了移动终端重启定位方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中,移动终端重启定位方法可选应用于移动终端中,移动终端重启定位方法包括:
步骤S10,当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据监测指令监测内核模块中的预设关键信息点。
本发明主要应用于Kernel层内核模块使用自旋锁spin lock锁的场景,其中,spinlock锁是专为防止多处理器并发而引入的一种锁。移动终端先根据spin lock锁的属性对使用spin lock锁的场景进行分类,如根据spin lock锁的运行时间、运行效率等对使用spin lock锁的场景进行分类。在分类后,移动终端确定使用spin lock锁的场景对应模块的调用流程和/或时序逻辑,对调用流程和/或时序逻辑进行标准化,即在调用流程和/或时序逻辑主要的功能节点中设置关键信息点,以得到Kernel层中内核模块对应标准化的调用流程和其内部基本功能的时序逻辑。其中,Kernel层为移动终端的系统内核层,主要用于进行初始化进程管理、内存管理、加载Display(显示)、Camera Driver(相机驱动)和BinderDriver(Binder驱动)等相关工作,并用于创建内核工作线程kworkder、软中断线程ksoftirqd和软中断线程thermal等内核守护进程。
当移动终端检测到监测其Kernel层内核模块调用流程和/或时序逻辑的监测指令被触发后,移动终端根据监测指令监测Kernel层内核模块中的预设关键信息点。关键信息点为在Kernel层内核模块中调用流程和/或时序逻辑的主要节点中预先设置的信息点。如在调用流程中的加载节点设置关键信息点,或者当内核模块某个功能的时序逻辑为A→B→C,则在A、B和C三个节点中设置关键信息点。监测指令可以由移动终端实时或者定时触发,若监测指令是由移动终端定时触发的,则定时触发监测指令的间隔时间可由用户根据具体需要而设置,在此不做限制。进一步地,监测指令也可由用户根据具体需要而触发。
步骤S20,读取关键信息点的状态值,并根据状态值确定是否由于调用流程和/或时序逻辑异常导致关键信息点对应的spin lock锁处于死锁状态。
在移动终端根据监测指令监测内核模块中的预设关键信息点过程中,移动终端读取关键信息点的状态值,并根据该状态值确定是否由于调用流程和/或时序逻辑异常导致该关键信息点对应的spin lock锁处于死锁状态。
需要说明的是,状态值与调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态存在对应关系。在本实施例中,状态值与调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态之间的对应关系可根据具体需要而限制,在此不做限制。如可设置为当spin lock锁的状态值为“0”时,确定由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态;否则,则确定spin lock锁处于正常状态,或者确定spin lock锁处于死锁状态不是由调用流程和/或时序逻辑异常导致的。
进一步地,读取关键信息点对应spin lock锁的状态值的步骤包括:
步骤a,按照第一读取频率读取关键信息点预设数量的第一状态值。
步骤b,若根据预设数量的第一状态值都确定关键信息点对应的spin lock锁处于正常状态,则按照第二读取频率读取关键信息点预设数量的第二状态值。
步骤c,若根据预设数量的第二状态值都确定spin lock锁处于正常状态,则按照第三读取频率读取关键信息点的第三状态值,其中,第二读取频率大于第一读取频率,小于第三读取频率。
移动终端读取关键信息点的状态值的过程为:移动终端按照第一读取频率读取关键信息点预设数量的第一状态值,并判断所读取的预设数量的第一状态值是否都能确定spin lock锁处于正常状态。若所读取的预设数量的第一状态值都能确定spin lock锁处于正常状态,则按照第二读取频率读取关键信息点预设数量的第二状态值,并判断所读取的预设数量的第二状态值是否都能确定spin lock锁处于正常状态。若所读取的预设数量的第二状态值都能确定spin lock锁处于正常状态,则按照第三读取频率读取关键信息点预设数量的第三状态值,以根据第三状态值确定是否由于调用流程和/或时序逻辑异常导致关键信息点对应的spin lock锁处于死锁状态。
其中,第二读取频率大于第一读取频率,小于第三读取频率。第一读取频率、第二读取频率、第三读取频率和预设数量可根据具体需要而设置,如可将第一读取频率设置为每间隔1秒读取一次,将第二读取频率设置为每间隔3秒读取一次,将第三读取频率设置为每间隔5秒读取一次,预设数量设置为5。即当移动终端在连续5次以1秒间隔读取的状态值都表明spin lock锁处于正常状态后,每间隔3秒连续读取5次关键信息点对应的状态值,若每间隔3秒读取的5个状态值都表明spin lock锁处于正常状态,则每间隔5秒连续读取5次关键信息点对应的状态值,根据每间隔5秒连续读取的5个状态值来确定是否由于调用流程和/或时序逻辑异常导致关键信息点对应的spin lock锁处于死锁状态。
需要说明的是,在其它实施例中,可以再增加设置读取关键信息点状态值的读取频率,如若每间隔5秒连续读取的5个状态值都表明spin lock锁处于正常状态时,以每间隔8秒连续读取5次关键信息点对应的状态值。在本实施例中对此不做限制。
进一步地,移动终端重启定位方法还包括:
步骤d,若根据一个第一状态值确定spin lock锁处于死锁状态,则检测移动终端是否发生重启操作。
步骤e,若移动终端未发生重启操作,则按照第四读取频率读取关键信息点的第四状态值。
进一步地,在根据第一读取频率读取关键信息点预设数量的第一状态值过程中,若根据一个第一状态值确定spin lock锁处于异常状态,移动终端则检测其是否发生重启操作。若移动终端未发生重启操作,移动终端则按照第四读取频率读取关键信息点的状态值。进一步,若移动终端发生重启操作,则表明移动终端已经初始化了,移动终端则检测是否侦测到监测其Kernel层中内核模块调用流程和/或时序逻辑的监测指令。其中,第四读取频率可根据具体需要而设置,如第四读取频率可设置为与第一读取频率相等,都设置为每间隔1秒读取一次;或者设置为与第一读取频率不相等,如将第四读取频率设置为每间隔0.8秒读取一次,或者每隔2秒读取一次。
为了便于理解,举例说明该过程:移动终端在按照每间隔1秒连续读取5次关键信息点状态值过程中,若根据第3秒读取的状态值确定由于调用流程和/或时序逻辑异常导致关键信息点对应的spin lock锁处于死锁状态,且移动终端未发生重启操作,移动终端则按照每间隔0.8读取一次关键信息点的状态值(此时,第四读取频率设置为0.8秒读取一次)。
可以理解的是,若根据一个第二状态值或者第三状态值确定由于调用流程和/或时序逻辑异常导致关键信息点对应的spin lock锁处于死锁状态,移动终端则检测是否发生重启操作。通过设置读取关键信息点的读取频率,以在Kernel层中内核模块关键信息点对应的spin lock锁处于正常状态时,增大读取关键信息点状态值的读取频率,以在spinlock锁处于正常状态时,减少读取关键信息点状态值的次数。
步骤S30,若由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,则根据预设关键点和状态值定位移动终端的重启信息。
若由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,移动终端则根据状态值获取对应的日志信息,根据该日志信息和关键信息点确定其重启信息。其中,重启信息包括移动终端中发生重启操作的位置以及发生重启操作的原因。日志信息包括但不限于与调用流程和/或时序逻辑对应的进程名称(即涉事进程名称)、该进程对应的ID(identification)号、与涉事进程关联或者交互的线程名称、以及该线程对应的ID号、调用流程和/或时序逻辑对应的节点、以及该节点的状态信息。
进一步地,为了记录定位移动终端重启的过程,将日志信息以日志形式输出,以供对应的开发人员根据需要查看。在输出日志信息过程中,将日志信息以特定格式的日志输出,以便于相应的工作人员根据所输出的日志进行分析处理。
进一步地,移动终端重启定位方法还包括:
步骤f,在部署Kernel层的进程时,将监测指令对应的线程部署在kernel进程和kthreadd进程中。
移动终端在部署Kernel层的进程时,确定监测指令对应的线程,将监测指令对应的线程部署在kernel进程和kthreadd进程中,以便于可以全程监测Kernel层内核模块中的spin lock锁是否处于死锁状态。需要说明的是,监测指令对应的线程在移动终端中是独立运行的。
本实施例通过当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据监测指令监测内核模块中的预设关键信息点;读取关键信息点的状态值,并根据状态值确定内核模块中是否由于调用流程和/或时序逻辑异常导致关键信息点对应的spin lock锁处于死锁状态;若存在由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,则根据预设关键点和状态值定位移动终端的重启信息。实现了在移动终端未发生重启操作之前,预先获取移动终端会发生重启操作对应的重启信息,以便于在移动终端发生重启操作后,相应的工作人员可以根据重启信息快速确定导致移动终端重启的原因,提高了定位移动终端重启原因的效率,以及减少了人力成本。
进一步地,基于第一实施例提出本发明移动终端重启定位方法的第二实施例。移动终端重启定位方法的第二实施例与移动终端重启定位方法的第一实施例的区别在于,参照图4,步骤S30包括:
步骤S31,若由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,则获取状态值对应的日志信息,并存储日志信息。
当确定由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态后,移动终端获取状态值对应的日志信息,并存储该日志信息。进一步地,为了高效地获取日志信息,在获取日志信息过程中,不会进行日志信息的冗余处理,会直接获取的日志信息。
进一步地,移动终端在存储日志信息过程中,对所存储的日志信息进行去冗余操作,避免重复存储相同的日志信息。在执行去冗余操作后,移动终端确定获取日志信息的获取时间,按照获取时间从前到后存储日志信息,将最后获取的日志信息排列在最前面。通过去冗余操作,可以控制所存储的日志信息的数量,以节省移动终端存储器的存储空间。
步骤S32,判断在获取到日志信息后的第一预设时间内是否监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态。
步骤S33,若在第一预设时间内监测到由于调用流程和/或时序逻辑异常导致spinlock锁处于死锁状态,则根据关键信息点和日志信息定位移动终端的重启信息。
当获取到日志信息后,移动终端判断在获取到日志信息后的第一预设时间内是否监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态。若在第一预设时间内监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,移动终端则保留所存储的日志信息,并根据关键信息点确定其发生重启操作的位置,根据状态值对应的日志信息确定其重启操作的原因。其中,第一预设时间可根据具体需要而设置,如可将第一预设时间设置为3分钟,5分钟,或者8分钟等。
移动终端重启定位方法还包括:
步骤S40,若在第一预设时间内未监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,则删除日志信息。
移动终端若在第一预设时间内未监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,移动终端则删除所存储的日志信息。
进一步地,在移动终端中,已经预先设置好了生成定位移动终端重启操作日志的日志格式,通过生成定位移动终端重启操作的日志以记录定位移动终端重启操作的流程,即记录在移动终端发生重启操作之前,发生重启操作等过程中的信息。在本实施例中,移动终端在获取日志信息过程中,会根据生成日志的日志格式来对应获取日志信息,即根据生成日志所需的数据来获取日志信息。当生成定位移动终端重启操作的日志后,通过OS(Operating System,操作系统)系统特定的API(Application Programming Interface,应用程序编程接口)将该日志存储至特定的日志存储区间中,以供对应的工作人员根据具体需要在日志存储区间中获取所需日志。
本实施例通过在获取到日志信息后,判断在获取到日志信息后的第一预设时间内是否监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,当在第一预设时间内监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,则保留存储的日志信息,否则,删除该日志信息,通过确定是否重复监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,来确定处于死锁状态的spin lock锁是否可以用来确定移动终端会发生重启操作,以提高定位移动终端重启的正确性。
进一步地,移动终端重启定位方法还包括:
步骤g,确定在第二预设时间内存储的日志信息。
步骤h,对第二预设时间内存储的日志信息执行去冗余操作,以节省存储空间。
进一步地,当存储日志信息后,移动终端确定在第二预设时间内存储的日志信息,并对第二预设时间内存储的日志信息执行去冗余操作,以节省存储器的存储空间。具体地,在执行去冗余操作过程中,只存储属于同一类重启操作的一条日志信息,删除所存储的该类重启操作对应的其它日志信息,对应记录属于同一类重启操作的日志信息数量,以及对应的处于异常状态的指针是否恢复正常,即是否已转变为正常状态,若指针已转变为正常状态,并记录该指针转变为正常状态的转变时间。其中,第二预设时间可根据具体需要而设置,如可将第二预设时间设置为45分钟、60分钟、或者100分钟等。需要说明的是,对日志信息进行分类存储过程中,可按照发生重启的原因进行分类存储,也可以按照发生重启的位置进行分类,在此不做限制。
如当移动终端在10点至11点这60分钟内监测到由于调用流程和/或时序逻辑异常导致spin lock锁处于死锁状态,且移动终端一共存储了1000条日志信息。此时,移动终端在处于死锁状态的spin lock锁未恢复正常状态前,将同属于同一类别的重启操作的日志信息分为一类。若这1000条日志信息中,有520条日志信息对应A1类重启操作,360条日志信息对应B1类重启操作,120条日志信息对应C1类重启操作,则只存储一条A1类重启操作对应的日志信息,删除其余519条A1类重启操作对应的日志信息,并记录A1类重启操作对应日志信息的数量为520;存储一条B1类重启操作对应的日志信息,删除其余359条B1类重启操作对应的日志信息,并记录B1类重启操作对应的日志信息的数量为360;存储一条C1类重启操作对应的日志信息,删除其余119条C1类重启操作对应的日志信息,并记录C1类重启操作对应的日志信息的数量为120。
本发明通过对第二预设时间段内存储的日志信息进行去冗余操作,以节省移动终端存储器的存储空间。
进一步地,提出本发明移动终端重启定位方法的第三实施例。移动终端重启定位方法的第四实施例与移动终端重启定位方法的第一和/或第二实施例的区别在于,参照图5,移动终端重启定位方法还包括:
步骤S50,确定调用流程的识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点。
步骤S60,在识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点中设置关键信息点。
为了可以准确快速定位移动终端Kernel层中内核模块中发生重启操作的重启信息。移动终端确定其Kernel层内核模块中调用流程的识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点,并在识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点中设置关键信息点,以通过该关键信息点监测对应节点的spin lock锁是否由于调用流程和/或时序逻辑异常而处于死锁状态。可以理解的是,识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点是内核模块调用流程中比较重要的节点。
进一步地,为了可以快速定位移动终端发生重启操作的重启原因,移动终端确定内核模块中各个功能的时序逻辑,在时序逻辑对应的各个功能节点中设置关键信息点。如Kernel调度模块中某个功能的时序逻辑为:A→B→C→D,则在A节点,B节点,C节点和D节点分别设置关键信息点。
可以理解的是,由于在移动终端不同模块对应的调用流程和时序逻辑中设置的关键信息点,因此,在确定移动终端发生重启操作后,还可以根据该关键信息点确定重启操作的类型,即确定移动终端是由于Java框架层、Native框架层、或者是Kernel层中内核模块等出现异常导致重启操作。
本实施例通过在内核模块的调用流程的识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点设置关键信息点,通过监测内核模块中各个关键信息点来判断spin lock锁是否由于调用流程异常而处于死锁状态,以定位移动终端内核模块调用流程中重要节点发生重启操作的重启原因。
此外,本发明实施例还提出一种计算机可读存储介质。
所述计算机可读存储介质上存储有移动终端重启定位程序,所述移动终端重启定位程序被处理器执行时实现如下步骤:
当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点;
读取所述关键信息点的状态值,并根据所述状态值确定是否由于所述调用流程和/或时序逻辑异常导致所述关键信息点对应的spin lock锁处于死锁状态;
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端的重启信息。
进一步地,所述读取所述关键信息点的状态值的步骤包括:
按照第一读取频率读取所述关键信息点预设数量的第一状态值;
若根据预设数量的所述第一状态值都确定所述关键信息点对应的spin lock锁处于正常状态,则按照第二读取频率读取所述关键信息点预设数量的第二状态值;
若根据预设数量的所述第二状态值都确定所述spin lock锁处于正常状态,则按照第三读取频率读取所述关键信息点的第三状态值,其中,所述第二读取频率大于所述第一读取频率,小于所述第三读取频率。
进一步地,所述按照第一读取频率读取所述关键信息点预设数量的第一状态值的步骤之后,所述移动终端重启定位程序被处理器执行时实现如下步骤:
若根据一个所述第一状态值确定所述spin lock锁处于死锁状态,则检测所述移动终端是否发生重启操作;
若所述移动终端未发生重启操作,则按照第四读取频率读取所述关键信息点的第四状态值。
进一步地,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端的重启信息的步骤包括:
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息;
判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态;
若在所述第一预设时间内监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述关键信息点和所述日志信息定位所述移动终端的重启信息。
进一步地,所述判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态的步骤之后,所述移动终端重启定位程序被处理器执行时实现如下步骤:
若在所述第一预设时间内未监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则删除所述日志信息。
进一步地,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息的步骤之后,所述移动终端重启定位程序被处理器执行时实现如下步骤:
确定在第二预设时间内存储的日志信息;
对所述第二预设时间内存储的日志信息执行去冗余操作,以节省存储空间。
进一步地,所述当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,所述移动终端重启定位程序被处理器执行时实现如下步骤:
确定所述调用流程的识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点;
在所述识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点中设置关键信息点。
进一步地,所述当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,所述移动终端重启定位程序被处理器执行时实现如下步骤:
在部署所述Kernel层的进程时,将所述监测指令对应的线程部署在kernel进程和kthreadd进程中。
本发明计算机可读存储介质具体实施方式与上述移动终端重启定位方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种移动终端重启定位方法,其特征在于,所述移动终端重启定位方法包括:
当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点;
读取所述关键信息点的状态值,并根据所述状态值确定是否由于所述调用流程和/或时序逻辑异常导致所述关键信息点对应的spin lock锁处于死锁状态;
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端的重启信息。
2.如权利要求1所述的移动终端重启定位方法,其特征在于,所述读取所述关键信息点的状态值的步骤包括:
按照第一读取频率读取所述关键信息点预设数量的第一状态值;
若根据预设数量的所述第一状态值都确定所述关键信息点对应的spin lock锁处于正常状态,则按照第二读取频率读取所述关键信息点预设数量的第二状态值;
若根据预设数量的所述第二状态值都确定所述spin lock锁处于正常状态,则按照第三读取频率读取所述关键信息点的第三状态值,其中,所述第二读取频率大于所述第一读取频率,小于所述第三读取频率。
3.如权利要求2所述的移动终端重启定位方法,其特征在于,所述按照第一读取频率读取所述关键信息点预设数量的第一状态值的步骤之后,还包括:
若根据一个所述第一状态值确定所述spin lock锁处于死锁状态,则检测所述移动终端是否发生重启操作;
若所述移动终端未发生重启操作,则按照第四读取频率读取所述关键信息点的第四状态值。
4.如权利要求1所述的移动终端重启定位方法,其特征在于,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则根据所述预设关键点和所述状态值定位所述移动终端的重启信息的步骤包括:
若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息;
判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态;
若在所述第一预设时间内监测到由于所述调用流程和/或时序逻辑异常导致所述spinlock锁处于死锁状态,则根据所述关键信息点和所述日志信息定位所述移动终端的重启信息。
5.如权利要求4所述的移动终端重启定位方法,其特征在于,所述判断在获取到所述日志信息后的第一预设时间内是否监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态的步骤之后,还包括:
若在所述第一预设时间内未监测到由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则删除所述日志信息。
6.如权利要求4所述的移动终端重启定位方法,其特征在于,所述若由于所述调用流程和/或时序逻辑异常导致所述spin lock锁处于死锁状态,则获取所述状态值对应的日志信息,并存储所述日志信息的步骤之后,还包括:
确定在第二预设时间内存储的日志信息;
对所述第二预设时间内存储的日志信息执行去冗余操作,以节省存储空间。
7.如权利要求1至6任一项所述的移动终端重启定位方法,其特征在于,所述当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,还包括:
确定所述调用流程的识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点;
在所述识别节点、加载节点、初始化节点、运行节点、卸载节点、内存资源申请节点、内存资源释放节点、磁盘读写操作节点和文件加解密节点中设置关键信息点。
8.如权利要求1至6任一项所述的移动终端重启定位方法,其特征在于,所述当检测到监测移动终端Kernel层中内核模块调用流程和/或时序逻辑的监测指令被触发后,根据所述监测指令监测所述内核模块中的预设关键信息点的步骤之前,还包括:
在部署所述Kernel层的进程时,将所述监测指令对应的线程部署在kernel进程和kthreadd进程中。
9.一种移动终端,其特征在于,所述移动终端包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的移动终端重启定位程序,所述移动终端重启定位程序被所述处理器执行时实现如权利要求1至8中任一项所述的移动终端重启定位方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有移动终端重启定位程序,所述移动终端重启定位程序被处理器执行时实现如权利要求1至8中任一项所述的移动终端重启定位方法的步骤。
CN201711234781.0A 2017-11-30 2017-11-30 移动终端重启定位方法、移动终端及计算机可读存储介质 Active CN108038038B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711234781.0A CN108038038B (zh) 2017-11-30 2017-11-30 移动终端重启定位方法、移动终端及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711234781.0A CN108038038B (zh) 2017-11-30 2017-11-30 移动终端重启定位方法、移动终端及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN108038038A true CN108038038A (zh) 2018-05-15
CN108038038B CN108038038B (zh) 2021-11-16

Family

ID=62094483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711234781.0A Active CN108038038B (zh) 2017-11-30 2017-11-30 移动终端重启定位方法、移动终端及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN108038038B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022022185A1 (zh) * 2020-07-29 2022-02-03 华为技术有限公司 内核重启方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942113A (zh) * 2013-11-21 2014-07-23 小米科技有限责任公司 系统重启原因的检测方法、装置及终端设备
CN104270275A (zh) * 2014-10-14 2015-01-07 步步高教育电子有限公司 一种异常原因的辅助分析方法、服务器以及智能设备
CN105975383A (zh) * 2015-09-28 2016-09-28 乐视致新电子科技(天津)有限公司 一种日志信息的处理方法和装置
CN107133143A (zh) * 2017-04-25 2017-09-05 努比亚技术有限公司 重启日志归并方法、上传方法、系统及可读存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103942113A (zh) * 2013-11-21 2014-07-23 小米科技有限责任公司 系统重启原因的检测方法、装置及终端设备
CN104270275A (zh) * 2014-10-14 2015-01-07 步步高教育电子有限公司 一种异常原因的辅助分析方法、服务器以及智能设备
CN105975383A (zh) * 2015-09-28 2016-09-28 乐视致新电子科技(天津)有限公司 一种日志信息的处理方法和装置
CN107133143A (zh) * 2017-04-25 2017-09-05 努比亚技术有限公司 重启日志归并方法、上传方法、系统及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022022185A1 (zh) * 2020-07-29 2022-02-03 华为技术有限公司 内核重启方法
CN114064128A (zh) * 2020-07-29 2022-02-18 华为技术有限公司 内核重启方法
CN114064128B (zh) * 2020-07-29 2024-01-02 华为技术有限公司 内核重启方法

Also Published As

Publication number Publication date
CN108038038B (zh) 2021-11-16

Similar Documents

Publication Publication Date Title
CN108040159A (zh) 基于硬件驱动的重启定位方法、移动终端及可读存储介质
CN108052412A (zh) 重启故障定位方法、移动终端及计算机可读存储介质
CN109542689A (zh) 应用程序处理方法、终端以及计算机可读存储介质
CN108920306A (zh) 基于内存管理的重启定位方法、移动终端及可读存储介质
CN108012031A (zh) 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108121613A (zh) 基于内存页的重启定位方法、移动终端及可读存储介质
CN108196968A (zh) 移动终端重启定位方法、移动终端及计算机可读存储介质
CN109002547A (zh) 日志文件存储方法、移动终端及计算机可读存储介质
CN107908491A (zh) 卡屏检测与解决方法、移动终端及计算机可读存储介质
CN109165110A (zh) 移动终端重启定位方法、移动终端及计算机可读存储介质
CN107908492A (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN108052430A (zh) 移动终端重启定位方法、移动终端及计算机可读存储介质
CN107765922A (zh) 卡屏检测与解决方法、移动终端及计算机可读存储介质
CN107766222A (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN108089937A (zh) 基于直接内存分配的重启定位方法、移动终端及存储介质
CN108052437A (zh) 重启定位方法、移动终端及计算机可读存储介质
CN108196969A (zh) 重启监测与定位方法、移动终端及计算机可读存储介质
CN108182123A (zh) 移动终端重启定位方法、移动终端及计算机可读存储介质
CN108255631A (zh) 移动终端重启定位方法、移动终端及计算机可读存储介质
CN110113779A (zh) eSIM卡的测试方法、系统、测试平台、移动终端和介质
CN109298964A (zh) 移动终端重启定位方法、移动终端及计算机可读存储介质
CN107861827A (zh) 卡屏检测方法、移动终端及计算机可读存储介质
CN108038362A (zh) 未读信息显示方法、装置及计算机可读存储介质
CN107872367A (zh) 黑屏检测方法、移动终端及计算机可读存储介质
CN108076200A (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