CN117130824A - 一种处理异常的方法、电子设备及存储介质 - Google Patents

一种处理异常的方法、电子设备及存储介质 Download PDF

Info

Publication number
CN117130824A
CN117130824A CN202310035500.8A CN202310035500A CN117130824A CN 117130824 A CN117130824 A CN 117130824A CN 202310035500 A CN202310035500 A CN 202310035500A CN 117130824 A CN117130824 A CN 117130824A
Authority
CN
China
Prior art keywords
processor
abnormality
functional module
module
information related
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
Application number
CN202310035500.8A
Other languages
English (en)
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.)
Honor Device Co Ltd
Original Assignee
Honor Device 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 Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202310035500.8A priority Critical patent/CN117130824A/zh
Publication of CN117130824A publication Critical patent/CN117130824A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种处理异常的方法、电子设备及存储介质,涉及电子技术领域,该方法应用于电子设备,电子设备包括第一处理器和第二处理器,第二处理器包括一个或多个功能模块,该方法在第一功能模块出现异常时,获取与第一功能模块出现的异常相关的信息;在与第一功能模块出现的异常相关的信息是首次获取到时,第一处理器指示多个功能模块停止运行,并从第二处理器对应的内存中获取第一数据。在与第一功能模块出现的异常相关的信息是非首次获取到时,第二处理器可以只重启第一功能模块。本申请增加了对只重启第一功能模块的支持,在处理第一功能模块出现的异常时,不影响其他功能模块的运转,能够提高处理异常情况的效率。

Description

一种处理异常的方法、电子设备及存储介质
技术领域
本申请涉及电子技术领域,特别涉及一种处理异常的方法、电子设备及存储介质。
背景技术
随着智能手机、平板电脑等电子设备可以实现的功能越来越多,电子设备中除了应用处理器(application processor,AP)之外,通常还包括其他的处理器,例如数字信号处理器(digital signal processor,DSP),其中,应用处理器是电子设备中最主要的一部分,用于运行操作系统、用户界面和应用程序等。其他的处理器作为子系统受应用处理器管理,可以针对电子设备不同的功能处理一些计算任务,减少应用处理器所需要处理的任务。
由于处理器本身可能存在技术漏洞或随着运行时间的增加可能出现故障,当子系统出现异常情况时,一般通过中断整个子系统处理异常情况,但是子系统实际可能包括多个模块,中断整个子系统的速度较慢,处理异常情况的效率较低。
发明内容
本申请提供了一种处理异常的方法、电子设备及存储介质,能够提高处理异常情况的效率。所述技术方案如下:
第一方面,本申请实施例提供了一种处理异常的方法,该方法应用于电子设备,电子设备包括第一处理器和第二处理器,第二处理器用于辅助第一处理器处理任务,第二处理器包括一个或多个功能模块,上述方法由第一处理器执行,包括:
在第一功能模块出现异常时,获取与第一功能模块出现的异常相关的信息;在与第一功能模块出现的异常相关的信息是首次获取到时,指示多个功能模块停止运行,并从第二处理器对应的内存中获取第一数据。
基于上述技术方案,在第一功能模块出现异常时,第一处理器能够判断与第一功能模块出现的异常相关的信息是否为首次获取到的,第一处理器只需要在与第一功能模块出现的异常相关的信息是首次获取到时,指示多个功能模块停止运行,从第二处理器对应的内存中获取第一数据,以进行后续分析。由于首次时已经获取了第一数据,对于与第一功能模块出现的异常相关的信息是非首次获取到的情况,第一处理器不需要从第二处理器的内存中获取,不用指示多个功能模块停止运行,因此第二处理器的多个功能模块不需要停止运行,从而对于与第一功能模块出现的异常相关的信息是非首次获取到的情况,在处理第一功能模块出现的异常时,不影响其他功能模块的运转,能够提高处理异常情况的效率。
结合第一方面,在第一方面的某些实现方式中,在指示多个功能模块停止运行,并从第二处理器对应的内存中获取第一数据之后,上述方法还包括:建立与第一功能模块出现的异常相关的信息和第一数据之间的关联关系。
也就是说,在与第一功能模块出现的异常相关的信息是首次获取到的情况下,第一处理器保存从第二处理器的内存中获取的第一数据,还保存与第一功能模块出现的异常相关的信息,并且建立与第一功能模块出现的异常相关的信息和第一数据之间的关联关系,从而基于关联关系,方便每次异常时第一处理器进行查找判断。
结合第一方面和上述实现方式,在第一方面的某些实现方式中,在指示多个功能模块停止运行,并从第二处理器对应的内存中获取第一数据之后,上述方法还包括:指示多个功能模块启动运行。本申请实施例中,通过多个功能模块重新启动运行实现异常问题的快速恢复,使第二处理器在等待异常问题被处理的期间能够给继续正常运转。
结合第一方面,在第一方面的某些实现方式中,在与第一功能模块出现的异常相关的信息是非首次获取到时,根据与第一功能模块出现的异常相关的信息以及第一信息,从本地获取与第二处理器对应的内存的第二数据,第一信息指示与第一功能模块出现的异常相关的信息和第二处理器对应的内存数据之间的关联关系。
由于在与第一功能模块出现的异常相关的信息是首次获取到时,第一处理器保存了第一数据、与异常相关的信息、二者之间的关联关系,那么相同的异常再一次出现时就是非首次出现,因此,在与第一功能模块出现的异常相关的信息是非首次获取到的情况下,第一处理器本地存储有第一数据、与异常相关的信息、二者之间的关联关系,第一处理器可以根据与异常相关的信息、二者之间的关联关系,从本地获取第一数据。第一处理器在每次异常时均记录关联关系,这些关联关系记为第一信息。为了区分,本次实时获取的内存的数据称为第一数据,历史获取的内存的数据称为第二数据。在与第一功能模块出现的异常相关的信息是非首次获取到时,第一处理器可以从本地获取第二数据,以确定异常数据确实是存在的。
结合第一方面,在第一方面的某些实现方式中,上述方法还包括:在与第一功能模块出现的异常相关的信息是非首次获取到时,指示第一功能模块停止运行,并且在停止运行后再次启动运行。也就是说,本申请实施例在与第一功能模块出现的异常相关的信息是非首次获取到时,通过重启第一功能模块实现快速恢复,由于只重启第一功能模块,能够加快重启速度,减少对其他功能模块的影响。
第二方面,本申请实施例提供了一种处理异常的方法,该方法应用于电子设备,电子设备包括第一处理器和第二处理器,第二处理器用于辅助第一处理器处理任务,第二处理器包括一个或多个功能模块,上述方法由所述第二处理器执行,包括:在第一功能模块出现异常时,向第一处理器发送与第一功能模块出现的异常相关的信息;在与第一功能模块出现的异常相关的信息是第一处理器首次获取到时,在第一处理器的指示下,停止运行多个功能模块。
基于上述技术方案,第二处理器会将与第一功能模块出现的异常相关的信息上报给第一处理器,第一处理器收到与第一功能模块出现的异常相关的信息之后,会判断与第一功能模块出现的异常相关的信息是否是首次获取到的,只有在与第一功能模块出现的异常相关的信息是第一处理器首次获取到时,第一处理器才会指示停止运行多个功能模块,那么,对于与第一功能模块出现的异常相关的信息是第一处理器非首次获取到的情况,第一处理器不会指示停止运行多个功能模块,进而第二处理器不会停止运行多个功能模块,从而第一功能模块出现的异常不影响其他功能模块的运行,能够提高处理异常的效率。
结合第二方面,在第二方面的某些实现方式中,在停止运行多个功能模块之后,上述方法还包括:在第一处理器的指示下,启动运行多个功能模块。
结合第二方面,在第二方面的某些实现方式中,在与第一功能模块出现的异常相关的信息是第一处理器非首次获取到时,上述方法还包括:在第一处理器的指示下,停止运行第一功能模块,并且在停止运行后再次启动运行第一功能模块。
结合第二方面和上述实现方式,在第二方面的某些实现方式中,上述方法还包括:在预设时长内第一功能模块停止运行,并且在停止运行后再次启动运行的次数大于或者等于预设阈值的情况下,停止运行多个功能模块,并且在停止运行后再次启动运行多个功能模块。
第三方面,本申请实施例提供一种电子设备,包括:第一处理器和第二处理器,第二处理器用于辅助第一处理器处理任务;一个或多个存储器;存储器存储有一个或多个程序,当一个或者多个程序被处理器执行时,使得电子设备执行上述第一方面或第二方面任一项可能的方法。
第四方面,本申请实施例提供了一种装置,该装置包含在电子设备中,该装置具有实现上述各方面及上述各方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,获取模块或单元、判断模块或单元、处理模块或单元等。
第五方面,本申请实施例提供一种装置(例如,该装置可以是芯片系统),该装置包括第一处理器,用于支持电子设备实现上述第一方面中所涉及的功能;或者,该装置包括第二处理器,用于支持电子设备实现上述第二方面中所涉及的功能。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。可选地,所述芯片系统还包括存储器,存储器与处理器通过电路或电线连接。
第六方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
第七方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或第二方面所述的方法。
上述第三方面至第七方面所获得的技术效果与上述第一方面和第二方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1示出了本申请实施例提供的一例电子设备100的结构示意图;
图2示出了本申请实施例提供的一例软件结构框图;
图3示出了本申请实施例提供的一例通信示意图;
图4示出了本申请实施例提供的又一例通信示意图;
图5示出了本申请实施例提供的一例处理异常的方法的示意性流程图;
图6示出了本申请实施例提供的又一例处理异常的方法的示意性流程图;
图7示出了本申请实施例提供的又一例处理异常的方法的示意性流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请实施例提供的方法可以应用于智能手机、平板电脑、PC、超级移动个人计算机(ultra-mobile personal computer,UMPC)、车载设备、上网本、个人数字助理(personaldigital assistant,PDA)等具有处理单元的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图1是本申请实施例提供的一例电子设备100的结构示意图。以电子设备100是手机为例,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。电源管理模块141还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。在其他一些实施例中,电源管理模块141也可以设置于处理器110中。在另一些实施例中,电源管理模块141和充电管理模块140也可以设置于同一个器件中。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
视频编解码器用于对数字视频压缩或解压缩。电子设备100可以支持一种或多种视频编解码器。这样,电子设备100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG2,MPEG3,MPEG4等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
应理解,除了图1中列举的各种部件或者模块之外,本申请实施例对电子设备100的结构不做具体限定。在本申请另一些实施例中,电子设备100还可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图2是本申请实施例的电子设备100的软件结构框图。以电子设备100是手机为例,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息、手机助手等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动等。
应理解,除了图2中列举的各个层以及各层包括的模块之外,本申请实施例对电子设备100的软件架构不做具体限定。在本申请另一些实施例中,电子设备100还可以包括比图示更多或更少的层,或者组合某些层,或者拆分某些层,或者不同的模块布置。
上述应用处理器也可以称为主控处理器、主中央处理器(cental processorunit,CPU)等,用于运行操作系统、用户界面和应用程序等,负责整个系统的控制,是电子设备中最主要的一部分,对应于前述第一处理器。
虽然应用处理器具有非常强的处理运算能力,但是随着电子设备100的功能越来越复杂,应用处理器需要处理的任务可能越来越多,应用处理器可以通过其他处理器来分担处理任务,且应用处理器可以管理其他处理器,例如,负责其他处理器的加载、启动、重启等操作。例如,上述数字信号处理器是集成专用计算能力的一种芯片,用于处理数字信号,可以辅助应用处理器完成一些计算任务,减少应用处理器所需要处理的任务。
数字信号处理器除了可以处理数字图像信号,还可以处理其他数字信号。例如,数字信号处理器还可以在通信中完成调制、解调等信号处理,还可以负责低功耗传感器的信息处理,例如监控计步器获取用户行走的步数,还可以处理音频,例如语音合成、语音识别、编解码等。
也就是说,上述电子设备100中包括的电源管理模块141、调制解调处理器(modem)、基带处理器、音频模块170或音频模块170的部分功能模块等都可以通过数字信号处理器实现。这些功能模块可以集成在一个数字信号处理器中。或者,一个功能模块对应于一个数字信号处理器,例如,电子设备100可以使用超低功耗DSP处理低功耗传感器的信息,使用计算DSP处理数字图像信号,使用MODEM DSP处理通信信号,使用Audio DSP处理音频。也就是说,电子设备100可以包括一个或多个数字信号处理器,一个数字信号处理器可以包括一个或多个功能模块。本申请实施例中,一个数字信号处理器或多个数字信号处理器的集合对应于前述第二处理器。
需要说明的是,在电子设备100中,应用处理器和数字信号处理器可以是分离式的两个独立的器件,即数字信号处理器为一个独立的芯片。或者,应用处理器和数字信号处理器可以作为子芯片集成在一个系统级芯片(system on chip,SoC)中,该系统级芯片也可以称为片上系统,在SoC内部应用处理器和数字信号处理器分工依然明确。
此外,数字信号处理器有独立的嵌入式操作系统,可以理解为,在多种处理器构成的系统中,一个数字信号处理器或多个数字信号处理器的集合构成一个独立的子系统,也就是说第二处理器可以认为是一个子系统,该子系统运行的是嵌入式操作系统。不管是分离式还是集成式,子系统均可以通过共享内存或硬件(例如,直接存储器访问(directmemory access,DMA))与应用处理器进行通信。共享内存(shared memory)指在多处理器的计算机系统中,可以被不同中央处理器访问的大容量内存。通过内存共享,应用处理器和数字信号处理器之间信息的交互可以快速、有效的进行,能够很好得解决处理器之间通信(数据交换)的问题。
由于处理器本身可能存在技术漏洞或随着运行时间的增加可能出现故障,数字信号处理器在运行中可能发生异常情况,这里的异常指的是程序在执行过程中发生的异常。比如,数字信号处理器在运行中发生的异常可以包括类型转换异常、空指针异常、数组下标越界异常、字符串下标越界异常、算术异常、找不到类异常、找不到文件异常、执行超时异常等。这些异常可能会导致程序无法继续执行,比如会导致相关应用的进程中断,进而导致相关应用发生崩溃或闪退等。数字信号处理器发生异常之后,通常向应用处理器上报异常情况,应用处理器抓取异常数据,以便开发人员对异常情况进行检查或修复。
示例性的,图3示出了一种子系统与应用处理器进行通信的示意图,子系统可以分为计算层和通信层,其中,计算层包括电源管理模块、音频管理模块和传感器管理模块,分别用于处理与电源、音频、传感器相关的任务,通信层包括异常处理模块、第一中断模块。应用处理器包括数据收集模块和子系统重启模块。子系统中的每个功能模块都有可能出现异常情况,例如,当电源管理模块出现异常时,异常处理模块获取到异常信息,并向第一中断模块通知有功能模块出现异常,第一中断模块主动触发子系统中断,并通知应用处理器,应用处理器的数据收集模块收集子系统的异常数据,用于分析电源管理模块出现异常的原因。子系统重启模块用于在异常数据收集完成之后指示子系统重新启动运行。
然而,子系统运行过程中可能存在电源管理模块出现异常时,音频管理模块和传感器管理模块未出现异常的情况,在此情况下,子系统重启模块主动触发子系统中断,将影响音频管理模块和传感器管理模块的正常运行。此外,子系统中包括多个功能模块,中断整个子系统的速度较慢。为了让程序继续正常执行,在子系统中断之后可能还需要重启子系统,则重启整个子系统的速度也较慢,处理异常情况的效率较低。
为了减少整个子系统的重启次数,本申请实施例提供一种处理异常的方法,可以根据与功能模块出现的异常相关的信息,确定是否重启子系统,在一些不需要重启子系统的情况中,可以只重启出现异常的功能模块,例如,在只有电源管理模块出现异常时,只重启电源管理模块,音频管理模块和传感器管理模块正常运行。同时,本申请考虑到了只重启异常的功能模块可能出现的导致该方式无法应用的问题,如图3所示,问题一为只重启异常的功能模块不能分析异常原因,第二中断模块只重启异常的功能模块时整个子系统没有停止运行,由于内存的独占性,子系统在运行的时候,应用处理器无法获取子系统的数据,导致重启异常的功能模块之后无法分析使功能模块出现异常的原因,进而导致异常问题不能得到解决,还是需要重启子系统。问题二为子系统的计算层通过通信层和应用处理器进行通信,如果是通信层的原因(例如内存不足、调度堵塞等)导致的功能模块出现异常问题,重启异常的功能模块不能使程序继续正常执行,则重启之后该功能模块仍然会出现异常问题,导致出现该功能模块反复重启的问题。
示例性的,图4示出了一种子系统与应用处理器进行通信的示意图,子系统可以分为计算层和通信层,其中,计算层包括一个或多个功能模块,例如电源管理模块、音频管理模块和传感器管理模块,分别用于处理与电源、音频、传感器相关的任务,计算层的每一个功能模块都是一个应用进程。通信层包括异常处理模块、自动控制模块、第一中断模块、第二中断模块、快速恢复模块。应用处理器包括数据收集模块、子系统重启模块、信息接收模块、判断模块。
其中,当某个功能模块(例如电源管理模块)出现异常时,该电源管理模块将自身与异常相关的信息发送给异常处理模块。异常处理模块可以通过共享内存或DMA硬件等方式,与信息接收模块进行通信,从而信息接收模块获取与异常相关的信息。数据收集模块保存了各个功能模块在历史时期出现异常之后获取的异常数据。信息接收模块将接收到的与异常相关的信息发送给判断模块,判断模块基于数据收集模块中保存的历史数据,以及本次与异常相关的信息,判断本次与异常相关的信息是否为首次获取到,进而判断模块向自动控制模块发送指示信息。
自动控制模块接收到指示信息后,确定采用哪种模式来处理电源管理模块的异常。第一种模式中,第一中断模块主动触发子系统中断,并通知数据收集模块,数据收集模块收集子系统的异常数据,用于分析电源管理模块出现异常的原因。此外,数据收集模块还保存本次与异常相关的信息,将本次收集的异常数据以及本次与异常相关的信息进行关联,以便判断模块后续进行查找和判断。在第一种模式中,在异常数据收集完成之后,子系统可以重新运行。子系统重启模块用于指示子系统重新启动运行。第二种模式中,第二中断模块通过计算层与通信层的接口,控制电源管理模块停止运行,并且在停止运行之后重新启动运行。若快速恢复模块监控到在一定时间段内,对于相同的异常问题,多次通过第二种模式处理电源管理模块的异常,则快速恢复模块将触发第一种模式处理电源管理模块的异常。
上述第一种模式可以被称为子系统重启(subsystem restart,SSR),上述第二种模式可以被称为应用重启(application restart,APR),可以理解,子系统重启和应用重启中执行重启的操作是不同的。需要说明的是,本申请实施例中对模块的划分是示意性的,实际实现时可以有另外的划分方式。下面基于图4所述实施例对本申请实施例提供的方法进行详细说明。
图5示出了本申请实施例提供的一种处理异常的方法,应用于电子设备,该方法由应用处理器执行,包括下述S501和S502。
S501,在第一功能模块出现异常时,获取与第一功能模块出现的异常相关的信息。
第一功能模块是子系统中的一个或多个功能模块中的任意一个功能模块,在第一功能模块出现异常时,子系统可以将与第一功能模块出现的异常相关的信息传递至共享内存,应用处理器访问共享内存,从而应用处理器获取与第一功能模块出现的异常相关的信息。其中,与第一功能模块出现的异常相关的信息可以包括模块标识、异常类型、异常时刻等。
模块标识为出现异常的功能模块的唯一标识,可以是功能模块的名称,例如,音频管理模块出现异常时其模块标识可以表示为“音频管理模块”,或者模块标识可以是其他具有指向性的标识,例如对每个功能模块进行编码等,本申请实施例对模块标识的表现形式不做限定。
异常类型表示功能模块出现了什么类型的异常问题,以便于后续对异常原因进行分析,例如,出现空指针异常时(指针存放的是内存地址,当指针不指向任何内存地址时,就叫做空指针),表示没有访问到有效的内存地址,异常类型可以表示为000000,本申请实施例对异常类型的表现形式不做限定。
S502,在与第一功能模块出现的异常相关的信息是首次获取到时,指示多个功能模块停止运行,并从第二处理器对应的内存中获取第一数据。
在历史时期中,每个功能模块每一次出现异常之后,应用处理器都保存与功能模块出现的异常相关的信息以及对应的异常数据,形成历史记录,与异常相关的信息和异常数据之间存在关联关系。其中,异常数据来自子系统的全部或部分内存数据,具体可以包括模块运行信息、线程信息、堆栈调用信息等。异常数据可以保存在一些日志文件中,例如,可以保存为Dump文件。Dump文件也可以称为内存转储文件、内存快照文件等,是程序的进程的内存映像。也就是说,应用处理器可以把功能模块发生异常时的程序的执行状态保存到Dump文件中,后续修复异常时可以通过Dump文件,再现程序的执行状态,再现异常问题,然后根据再现异常问题的情况,定位导致异常发生的原因,进而对漏洞进行修复。
与异常相关的信息可以通过列表、Dump文件名等形式进行记录。应用处理器获取到与第一功能模块出现的异常相关的信息之后,根据自身的历史记录,判断与第一功能模块出现的异常相关的信息是否是首次获取到的。其中,首次指的是应用处理器的历史记录中没有对应的与第一功能模块出现的异常相关的信息。
具体的,应用处理器可以根据模块标识和异常类型进行判断。例如,当音频管理模块出现空指针异常时,应用处理器根据模块标识在历史记录中查找是否有音频管理模块的模块标识,如果有模块标识,进一步根据异常类型,查找与音频管理模块的模块标识关联的异常类型中是否有空指针异常,如果有空指针异常,则表示与第一功能模块出现的异常相关的信息不是首次获取到的。如果没有找到音频管理模块的模块标识,或者没有找到空指针异常,表示与第一功能模块出现的异常相关的信息是首次获取到的。
在与第一功能模块出现的异常相关的信息是首次获取到时(对应SSR模式),应用处理器的历史记录中没有与本次异常关联的异常数据,对于第一功能模块本次出现的异常问题,后续无法进行定位分析,需要获取子系统的异常数据,具体的,应用处理器指示子系统的多个功能模块停止运行,在多个功能模块停止运行之后,从子系统对应的内存中获取第一数据。这里的第一数据和下面提到的第二数据是不同时间段内子系统对应的内存中的数据。第一数据是本次异常获取到的数据,第二数据是历史时期发生异常时获取到的数据。
基于上述技术方案,在第一功能模块出现异常时,应用处理器只需要在与第一功能模块出现的异常相关的信息是首次获取到时,指示多个功能模块停止运行,从第二处理器对应的内存中获取第一数据,以进行后续分析。对于与第一功能模块出现的异常相关的信息是非首次获取到的情况,应用处理器保存有对应的异常数据,不需要从子系统的内存中获取,不需要多个功能模块停止运行,因此对于非首次获取到的情况,在处理第一功能模块出现的异常时,不影响其他功能模块的运转,能够提高处理异常情况的效率。
进一步的,在与第一功能模块出现的异常相关的信息是首次获取到的情况下,应用处理器可以将获取的第一数据保存成Dump文件,通过Dump文件能够方便地保存发生异常时进程的状态,方便后续分析。应用处理器还保存与第一功能模块出现的异常相关的信息,并且建立与第一功能模块出现的异常相关的信息和第一数据之间的关联关系,从而基于关联关系,可以根据第一数据确定对应的与第一功能模块出现的异常相关的信息,或者根据对应的与第一功能模块出现的异常相关的信息找到第一数据,方便后续进行分析,也方便下次出现异常时进行查找判断。
异常捕获的一个目的就是为了让程序继续正常执行,在一些延时处理异常的场景,应用处理器获取到异常数据之后,开发人员可能需要几天、一周甚至更长的时间才能对本次异常问题进行处理,在一种实现方式中,应用处理器在获取到第一数据之后,指示子系统的多个功能模块重新启动运行,从而实现子系统的快速恢复,使子系统在等待开发人员处理异常问题的期间能够给继续正常运转。
在与第一功能模块出现的异常相关的信息是非首次获取到时(对应APR模式),表明应用处理器的历史记录中有与本次异常类型关联的异常数据,该类型的异常问题可以进行后续定位分析,本次不需要再从子系统的内存中获取异常数据。在一种实现方式中,为了让程序继续正常执行,应用处理器可以指示第一功能模块停止运行,并且在停止运行后再次启动运行。也就是说,通过重启第一功能模块实现快速恢复,解决本次异常问题,使第一功能模块在等待开发人员处理异常问题的期间继续正常运转。由于只重启第一功能模块,能够加快重启速度,减少对其他功能模块的影响。此外,本申请实施例是在第一功能模块出现的异常相关的信息是非首次获取到时,重启第一功能模块,从而避免子系统无法获取异常数据的问题。
在一些实现方式中,在与第一功能模块出现的异常相关的信息是非首次获取到时,应用处理器可以根据与第一功能模块出现的异常相关的信息以及第一信息,从本地获取与子系统对应的内存的第二数据,从而确定异常数据确实是存在的,或者在一些实时处理异常的场景中,满足场景需求。第一信息指示与第一功能模块出现的异常相关的信息和子系统对应的内存数据之间的关联关系。可以理解,对于每个功能模块出现的每种类型的异常,应用处理器均保存对应的异常数据,且建立与异常相关的信息和异常数据之间的关联关系,这些关联关系可以记为第一信息。
在一些实现方式中,在与第一功能模块出现的异常相关的信息是非首次获取到时,应用处理器可以在获取到第二数据之后,再指示第一功能模块停止运行,并且在停止运行后再次启动运行。若果没有获取到第二数据,应用处理器指示子系统采用SSR模式处理异常。
此外,应用处理器在保存与第一功能模块出现的异常相关的信息时,可以记录每个功能模块每个异常类型出现的次数,为后续的异常处理提供更多的信息。
图6示出了本申请实施例提供的一种处理异常的方法,应用于电子设备,该方法由子系统执行,包括下述S601和S602。
S601,在第一功能模块出现异常时,向第一处理器发送与第一功能模块出现的异常相关的信息。
如前所述,子系统可以通过共享内存或DMA硬件等方式,与应用处理器进行通信,传递与第一功能模块出现的异常相关的信息。
S602,在与第一功能模块出现的异常相关的信息是第一处理器首次获取到时,在第一处理器的指示下,停止运行多个功能模块。
在与第一功能模块出现的异常相关的信息是应用处理器首次获取到时,应用处理器向子系统发送第一指示信息,指示子系统的多个功能模块停止运行。子系统接收到第一指示信息后采用SSR模式处理异常,具体的,子系统清理自身缓存,通过寄存器主动触发子系统中断,进行停止运行的状态(计算层和内核层都停止运行),然后向应用处理器发送中断信号,应用处理器接收到中断信号后,获取子系统对应的内存的第一数据。
基于上述技术方案,只有在与第一功能模块出现的异常相关的信息是应用处理器首次获取到时,子系统才需要整体停止运行,那么,对于与第一功能模块出现的异常相关的信息是应用处理器非首次获取到的情况,子系统不需要整体停止运行,从而第一功能模块出现的异常不影响其他功能模块的运行,能够提高处理异常的效率。
在一些实现方式中,子系统在向应用处理器发送中断信号时,还可以再次将与第一功能模块出现的异常相关的信息传递给应用处理器,以使第一信息更准确。
在一些实现方式中,第一数据获取完成之后,应用处理器向子系统发送复位信号,指示子系统的多个功能模块重新启动运行。子系统接收到复位信号后,重新启动运行。
在与第一功能模块出现的异常相关的信息是应用处理器非首次获取到时,应用处理器向子系统发送第二指示信息,子系统接收到第二指示信息后采用APR模式处理异常,具体的,子系统停止运行第一功能模块,并且在第一功能模块停止运行后再次启动运行第一功能模块(即重启第一功能模块)。
在一些实现方式中,子系统记录每一次出现异常的功能模块和出现的异常类型,并记录采用第一功能模块重启的次数和每次重启的时刻。其中,重启的次数为本次异常之前记录的次数。子系统接收到第二指示信息之后,判断在预设时长内第一功能模块重启的次数是否大于或者等于预设阈值,在大于或者等于预设阈值的情况下,子系统自动采用SSR模式处理异常,在小于预设阈值的情况下,子系统才采用APR模式处理异常。这是由于在预设时长内第一功能模块重启的次数大于或者等于预设阈值,说明第一功能模块反复重启,APR模式无法处理第一功能模块的异常,第一功能模块不能恢复运行。
或者,子系统接收到第二指示信息之后,判断在预设时长内,第一功能模块由于同一类型的异常重启的次数是否大于或者等于预设阈值,在大于或者等于预设阈值的情况下,子系统自动采用SSR模式处理异常,在小于预设阈值的情况下,子系统才采用APR模式处理异常。本申请实施例增加了对APR模式的支持,当出现APR模式无法恢复的异常时,能够自动转换为SSR模式。
图7示出了本申请实施例提供的一种处理异常的方法,应用于电子设备,该方法包括下述S701-S711。
S701,子系统监控到第一功能模块出现异常。
S702,应用处理器获取与第一功能模块出现的异常相关的信息。
S703,应用处理器判断与第一功能模块出现的异常相关的信息是否是首次获取到的。
S704,在与第一功能模块出现的异常相关的信息是首次获取到时,应用处理器指示多个功能模块停止运行。
S705,子系统停止运行,并向应用处理器发送中断信号。
S706,应用处理器从子系统对应的内存中获取第一数据。
S707,应用处理器指示多个功能模块启动运行。
S708,子系统多个功能模块重新启动运行。
S709,在与第一功能模块出现的异常相关的信息是非首次获取到时,应用处理器指示第一功能模块重新启动。
S710,子系统确定预设时间段内第一功能模块由于相同异常问题重启的次数是否大于或者等于阈值。
S711,若预设时间段内第一功能模块由于相同异常问题重启的次数小于阈值,子系统重新启动第一功能模块。若预设时间段内第一功能模块由于相同异常问题重启的次数大于或者等于阈值,执行S705-S708。
本申请实施例的细节参见前述实施例,在此不再赘述。综上所述,本申请实施例提供的方法,支持只重启出现异常的功能模块,能够减少对其他未出现异常的功能模块的影响,提高处理异常的效率。
上文详细介绍了本申请实施例提供的方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,本申请说明书和所附权利要求书中提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,不能理解为指示或暗示相对重要性,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (11)

1.一种处理异常的方法,其特征在于,所述方法应用于电子设备,所述电子设备包括第一处理器和第二处理器,所述第二处理器用于辅助所述第一处理器处理任务,所述第二处理器包括一个或多个功能模块,所述方法由所述第一处理器执行,包括:
在第一功能模块出现异常时,获取与所述第一功能模块出现的异常相关的信息;
在与所述第一功能模块出现的异常相关的信息是首次获取到时,指示所述多个功能模块停止运行,并从所述第二处理器对应的内存中获取第一数据。
2.根据权利要求1所述的方法,其特征在于,在指示所述多个功能模块停止运行,并从所述第二处理器对应的内存中获取第一数据之后,所述方法还包括:
建立与所述第一功能模块出现的异常相关的信息和所述第一数据之间的关联关系。
3.根据权利要求1或2所述的方法,其特征在于,在指示所述多个功能模块停止运行,并从所述第二处理器对应的内存中获取第一数据之后,所述方法还包括:
指示所述多个功能模块启动运行。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在与所述第一功能模块出现的异常相关的信息是非首次获取到时,根据与所述第一功能模块出现的异常相关的信息以及第一信息,从本地获取与所述第二处理器对应的内存的第二数据,所述第一信息指示与所述第一功能模块出现的异常相关的信息和所述第二处理器对应的内存数据之间的关联关系。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在与所述第一功能模块出现的异常相关的信息是非首次获取到时,指示所述第一功能模块停止运行,并且在停止运行后再次启动运行。
6.一种处理异常的方法,其特征在于,所述方法应用于电子设备,所述电子设备包括第一处理器和第二处理器,所述第二处理器用于辅助所述第一处理器处理任务,所述第二处理器包括一个或多个功能模块,所述方法由所述第二处理器执行,包括:
在第一功能模块出现异常时,向所述第一处理器发送与所述第一功能模块出现的异常相关的信息;
在与所述第一功能模块出现的异常相关的信息是所述第一处理器首次获取到时,在所述第一处理器的指示下,停止运行所述多个功能模块。
7.根据权利要求6所述的方法,其特征在于,在停止运行所述多个功能模块之后,所述方法还包括:
在所述第一处理器的指示下,启动运行所述多个功能模块。
8.根据权利要求6所述的方法,其特征在于,在与所述第一功能模块出现的异常相关的信息是所述第一处理器非首次获取到时,所述方法还包括:
在所述第一处理器的指示下,停止运行所述第一功能模块,并且在停止运行后再次启动运行所述第一功能模块。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在预设时长内所述第一功能模块停止运行,并且在停止运行后再次启动运行的次数大于或者等于预设阈值的情况下,停止运行所述多个功能模块,并且在停止运行后再次启动运行所述多个功能模块。
10.一种电子设备,其特征在于,包括:
第一处理器和第二处理器,所述第二处理器用于辅助所述第一处理器处理任务;
一个或多个存储器;
所述存储器存储有一个或多个程序,当所述一个或者多个程序被所述第一处理器执行时,使得所述电子设备执行权利要求1至5中任一项所述的方法,或者,当所述一个或者多个程序被所述第二处理器执行时,使得所述电子设备执行如权利要求6至9中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行如权利要求1至5中任一项所述的方法,或者,执行如权利要求6至9中任一项所述的方法。
CN202310035500.8A 2023-01-10 2023-01-10 一种处理异常的方法、电子设备及存储介质 Pending CN117130824A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310035500.8A CN117130824A (zh) 2023-01-10 2023-01-10 一种处理异常的方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310035500.8A CN117130824A (zh) 2023-01-10 2023-01-10 一种处理异常的方法、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN117130824A true CN117130824A (zh) 2023-11-28

Family

ID=88855260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310035500.8A Pending CN117130824A (zh) 2023-01-10 2023-01-10 一种处理异常的方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN117130824A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117440088A (zh) * 2023-12-20 2024-01-23 荣耀终端有限公司 通话方法及相关设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117440088A (zh) * 2023-12-20 2024-01-23 荣耀终端有限公司 通话方法及相关设备
CN117440088B (zh) * 2023-12-20 2024-05-14 荣耀终端有限公司 通话方法及相关设备

Similar Documents

Publication Publication Date Title
US11822805B2 (en) Method and terminal for reclaiming memory after freezing program
KR102148948B1 (ko) 전자 장치의 멀티 태스킹 방법 및 그 전자 장치
WO2023284415A1 (zh) 电源键误触检测方法及电子设备
CN110866254B (zh) 一种检测漏洞方法与电子设备
CN115292199B (zh) 一种显存泄露的处理方法及相关装置
WO2023202429A1 (zh) 垃圾回收的方法及电子设备
CN117130824A (zh) 一种处理异常的方法、电子设备及存储介质
CN111381996B (zh) 内存异常处理方法及装置
WO2022052897A1 (zh) 调整内存配置参数的方法和装置
CN116257262A (zh) 内核升级方法、芯片、电子设备及计算机可读存储介质
CN114816031B (zh) 终端设备的省电方法、终端设备及介质
CN116719670B (zh) 数据处理的方法、电子设备及可读存储介质
CN114077529B (zh) 日志上传方法、装置、电子设备及计算机可读存储介质
WO2021238376A1 (zh) 功能包的加载方法、装置、服务器和电子设备
CN115794361A (zh) 管理内存的方法和电子设备
CN116719556B (zh) 系统升级的方法和电子设备
WO2023185684A1 (zh) 一种应用程序的进程查杀方法及电子设备
CN116701320B (zh) 一种日志生成方法及相关装置
CN114896097B (zh) 一种应用程序无响应处理方法及电子设备
CN117093278B (zh) 内核关机方法、电子设备及存储介质
CN114168065B (zh) 调整内存配置参数的方法和装置
CN115016665B (zh) 冻屏故障检测方法、电子设备和计算机可读存储介质
WO2023001033A1 (zh) 镜像启动的方法、生成镜像的方法和电子设备
CN116055443B (zh) 识别社交场景的方法、电子设备及计算机可读存储介质
WO2021147838A1 (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