CN117149476A - 故障上报方法及相关装置 - Google Patents

故障上报方法及相关装置 Download PDF

Info

Publication number
CN117149476A
CN117149476A CN202310094482.0A CN202310094482A CN117149476A CN 117149476 A CN117149476 A CN 117149476A CN 202310094482 A CN202310094482 A CN 202310094482A CN 117149476 A CN117149476 A CN 117149476A
Authority
CN
China
Prior art keywords
application
fault
target
service
failure
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
CN202310094482.0A
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 CN202310094482.0A priority Critical patent/CN117149476A/zh
Publication of CN117149476A publication Critical patent/CN117149476A/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Telephone Function (AREA)

Abstract

本申请实施例提供故障上报方法及相关装置,涉及终端技术领域。方法包括:第一应用通过调用接口向第二应用注册目标故障;当第二应用确定第一应用出现目标故障时,第二应用向第一应用上报目标故障,用于第一应用对目标故障进行处理。这样,当应用出现故障时,维测服务应用可以及时向该应用反馈故障数据,从而使应用可以对故障进行处理,提升应用定位故障的效率,提升用户体验。

Description

故障上报方法及相关装置
技术领域
本申请涉及终端技术领域,尤其涉及故障上报方法及相关装置。
背景技术
用户在使用终端设备中的应用时,应用可能会发生故障,例如应用可能会出现无响应、闪退,或卡顿等问题。
一种实现中,用户可以向应用的客服人员反馈故障信息,当应用的开发人员在收到较多的故障反馈时,可以更新该应用的版本,在更新后的应用版本中实现对故障的修复。然而,从用户反馈到开发人员更新版本的时间通常较长,修复故障的及时性差。
发明内容
本申请实施例提供的故障上报方法及相关装置,终端设备中设置有维测服务应用,应用可以接入维测服务应用。维测服务应用可以实时监控该应用的故障,当应用出现故障时,维测服务应用可以及时向该应用反馈故障数据,从而使应用可以对故障进行处理,提升应用定位故障的效率,提升用户体验。
第一方面,本申请实施例提供的故障上报方法,方法包括:
第一应用通过调用接口向第二应用注册目标故障;当第二应用确定第一应用出现目标故障时,第二应用向第一应用上报目标故障,用于第一应用对目标故障进行处理。这样,当应用出现故障时,维测服务应用可以及时向该应用反馈故障数据,从而使应用可以对故障进行处理,提升应用定位故障的效率,提升用户体验。
一种可能的实现中,第一应用中集成有用于接入第二应用的资源文件;第一应用通过调用接口向第二应用注册目标故障,可以包括:第一应用基于资源文件向第二应用传递第一应用的注册信息,第一应用的注册信息包括目标故障以及第一应用的下述一项或多项信息:包名、用户标识UID、回调函数。这样,第二应用可以实现根据不同应用的订阅故障不同,第二应用向应用上报不同的故障数据。
一种可能的实现中,终端设备的应用框架层还包括目标服务,方法还可以包括:第二应用向目标服务传递第一应用的注册信息;当目标服务检测到第一应用出现目标故障时,目标服务向第二应用上报目标故障。这样,第二应用可以及时向应用上报目标故障的故障数据,从而提升第一应用定位故障的效率。
一种可能的实现中,目标服务向第二应用上报目标故障之前,还可以包括:目标服务接收终端设备上报的故障编码;目标服务根据故障编码确定终端设备中发生的目标故障;目标服务获取进程信息;目标服务在进程信息中确定发生目标故障的为第一应用。这样,终端设备采取故障编码的上报方式,可以快速识别和区分不同的故障类型,可以提升故障检测的效率。
一种可能的实现中,第二应用向第一应用上报目标故障,可以包括:第二应用调用第一应用的回调函数。这样,回调函数可以被作为参数传递,回调函数在监听第一应用发生目标故障时,回调函数可以对相应的目标故障执行对应的处理方式,回调函数可以提升终端设备的执行效率。
一种可能的实现中,第一应用通过调用接口向第二应用注册目标故障之前,还可以包括:若第二应用检测到第一应用发生故障,第二应用保存第一应用的故障数据。这样,第二应用保存一段时间的故障数据,可以保证故障数据量不会对终端设备存储有较大影响,还可以提升第二应用筛选故障的效率。
一种可能的实现中,第一应用通过调用接口向第二应用注册目标故障之后,还可以包括:第一应用向第二应用请求第一应用注册之前的故障数据;若第二应用查询到第一应用注册之前的故障数据,则第二应用向第一应用返回第一应用注册之前的故障数据。这样,在更新后的第一应用版本中可以实现对故障的修复,提升用户体验。
第二方面,本申请实施例提供一种故障上报的装置,该装置可以是终端设备,也可以是终端设备内的芯片或者芯片系统。该装置可以包括处理单元。处理单元用于实现第一方面或第一方面的任意一种可能的实现方式中终端设备执行的与处理相关的任意方法。当该装置是终端设备时,该处理单元可以是处理器。该装置还可以包括存储单元,该存储单元可以是存储器。该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该终端设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。当该装置是终端设备内的芯片或者芯片系统时,该处理单元可以是处理器。该处理单元执行存储单元所存储的指令,以使该终端设备实现第一方面或第一方面的任意一种可能的实现方式中描述的方法。该存储单元可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是该终端设备内的位于该芯片外部的存储单元(例如,只读存储器、随机存取存储器等)。
一种可能的实现方式中,处理单元,用于第一应用通过调用接口向第二应用注册目标故障;还用于第二应用确定第一应用出现目标故障;具体还用于第二应用向第一应用上报目标故障。
一种可能的实现方式中,处理单元,用于第一应用基于资源文件向第二应用传递第一应用的注册信息。
一种可能的实现方式中,处理单元,用于第二应用向目标服务传递第一应用的注册信息;还用于目标服务检测第一应用出现目标故障;具体还用于目标服务向第二应用上报目标故障。
一种可能的实现方式中,处理单元,用于目标服务接收终端设备上报的故障编码,具体还用于目标服务根据故障编码确定终端设备中发生的目标故障;还用于目标服务获取进程信息;具体还用于目标服务在进程信息中确定发生目标故障的为第一应用。
一种可能的实现方式中,处理单元,用于第二应用调用第一应用的回调函数。
一种可能的实现方式中,处理单元,用于第二应用保存第一应用的故障数据。
一种可能的实现方式中,处理单元,用于第一应用向第二应用请求第一应用注册之前的故障数据;还用于第二应用查询第一应用注册之前的故障数据;具体还用于第二应用向第一应用返回第一应用注册之前的故障数据。
第三方面,本申请实施例提供一种终端设备,包括处理器和存储器,存储器用于存储代码指令,处理器用于运行代码指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的故障上报方法。
第四方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的故障上报方法。
第五方面,本申请实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的故障上报方法。
第六方面,本申请提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的故障上报方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
应当理解的是,本申请的第二方面至第六方面与本申请的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例提供的一种终端设备的结构示意图;
图2为本申请实施例提供的一种终端设备的软件结构示意图;
图3为本申请实施例提供的一种维测服务应用为应用提供故障检测方法的示意图;
图4为本申请实施例提供的一种应用的故障类型的示意图;
图5为本申请实施例提供的一种应用和维测服务应用之间的交互示意图;
图6为本申请实施例提供的一种详细的故障检测和故障上报的流程图;
图7为本申请实施例提供的一种故障提示信息界面示意图;
图8为本申请实施例提供的一种维测服务应用内部的故障数据处理的流程图;
图9为本申请实施例提供的一种故障上报的示意图;
图10为本申请实施例提供的一种芯片的结构示意图。
具体实施方式
为了便于清楚描述本申请实施例的技术方案,以下,对本申请实施例中所涉及的部分术语和技术进行简单介绍:
1、术语
在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一芯片和第二芯片仅仅是为了区分不同的芯片,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本申请实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a--c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
2、终端设备
本申请实施例的终端设备也可以为任意形式的电子设备,例如,电子设备可以包括手持式设备、车载设备等。例如,一些电子设备为:手机(mobile phone)、平板电脑、掌上电脑、笔记本电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端、蜂窝电话、无绳电话、会话启动协议(session initiationprotocol,SIP)电话、无线本地环路(wireless local loop,WLL)站、个人数字助理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备或连接到无线调制解调器的其它处理设备、车载设备、可穿戴设备,5G网络中的终端设备或者未来演进的公用陆地移动通信网络(public land mobile network,PLMN)中的终端设备等,本申请实施例对此并不限定。
作为示例而非限定,在本申请实施例中,该电子设备还可以是可穿戴设备。可穿戴设备也可以称为穿戴式智能设备,是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,如眼镜、手套、手表、服饰及鞋等。可穿戴设备即直接穿在身上,或是整合到用户的衣服或配件的一种便携式设备。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。广义穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或者部分的功能,例如:智能手表或智能眼镜等,以及只专注于某一类应用功能,需要和其它设备如智能手机配合使用,如各类进行体征监测的智能手环、智能首饰等。
此外,在本申请实施例中,电子设备还可以是物联网(internet of things,IoT)系统中的终端设备,IoT是未来信息技术发展的重要组成部分,其主要技术特点是将物品通过通信技术与网络连接,从而实现人机互连,物物互连的智能化网络。
本申请实施例中的终端设备也可以称为:用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置等。
在本申请实施例中,终端设备或各个网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。该硬件层包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。该操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。该应用层包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
示例性的,图1示出了终端设备的结构示意图。
终端设备可以包括处理器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)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器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)接口,SIM卡接口,和/或USB接口等。
可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端设备的结构限定。在本申请另一些实施例中,终端设备也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端设备的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储终端设备使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器110通过运行存储在内部存储器121的指令,和/或存储在设置于处理器中的存储器的指令,执行终端设备的各种功能应用以及数据处理。例如,可以执行本申请实施例的方法。
移动通信模块150可以提供应用在终端设备上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
无线通信模块160可以提供应用在终端设备上的包括无线局域网(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经由天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线转为电磁波辐射出去。
终端设备通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。终端设备可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
终端设备可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音频播放或录音等。
图2是本申请实施例的终端设备的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。如图2所示,应用程序包可以包括电话、日历、相机、备忘录、视频等应用程序。应用程序可以包括系统应用和三方应用。本申请实施例中,应用程序层还可以包括维测服务应用。
维测服务应用可以管理应用的订阅注册信息、保存故障数据、检测发热方面的故障,以及将故障通知给应用等,具体关于维测服务应用的描述在下述实施例中将进行详细描述,在此不再赘述。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括资源管理器、通知管理器、内容提供器和窗口管理器、等。应用程序框架层还可以包括故障检测服务。
故障检测服务可以对应用出现的故障进行实时监控,并且可以将故障数据上报给维测服务应用。具体关于故障检测服务的描述在下述实施例中将进行详细描述,在此不再赘述。
资源管理器为应用程序提供各种资源,例如本地化字符串、图标、图片、布局文件、视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息、发出提示音、终端设备振动、指示灯闪烁等。
内容提供器用于在不同的应用程序之间实现数据共享的功能,允许一个程序访问另一个程序中的数据,同时还能保证被访问的数据的安全性。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏、锁定屏幕、触摸屏幕、拖拽屏幕、截取屏幕等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。例如本申请实施例中,虚拟机可以用于执行应用对故障类型的注册以及对故障的处理,维测服务应用管理注册信息以及进行故障检测等功能。
系统库可以包括多个功能模块。例如:媒体库(media libraries)、函数库(function libraries)、图形处理库(例如:OpenGL ES)等。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
函数库为开发者提供多种服务的API接口,方便开发者快速集成并实现各种功能。
图形处理库用于实现三维图形绘图、图像渲染、合成和图层处理等。
内核层是硬件和软件之间的层。内核层可以包括显示驱动、摄像头驱动、音频驱动等。
需要说明的是,本申请实施例仅以安卓系统举例来说明,在其他操作系统中(例如Windows系统,IOS系统等),只要各个功能模块实现的功能和本申请的实施例类似,也能实现本申请的方案。
用户在使用终端设备中的应用时,应用可能会发生故障,例如应用可能会出现无响应、闪退,或卡顿等问题。
一种实现中,用户可以向应用的客服人员反馈故障信息,当应用的开发人员在收到较多的故障反馈时,可以更新该应用的版本,在更新后的应用版本中实现对故障的修复。然而,在开发人员修复故障的过程中,故障定位的成功率较低,可能需要开发人员对该故障进行反复复现,或者可能需要开发人员通过增加日志的方式来打印故障数据,以实现故障定位,增加了开发人员在应用维护上的投入量。并且从用户反馈到开发人员更新版本的时间通常较长,修复故障的及时性差,导致该应用解决故障存在滞后性,无法快速解决故障。
有鉴于此,本申请实施例提供了故障上报方法,终端设备中设置有维测服务应用,应用可以接入维测服务应用。维测服务应用可以实时监控该应用的故障,当应用出现故障时,维测服务应用可以及时向该应用反馈故障数据,从而使应用可以对故障进行处理,提升应用定位故障的效率,提升用户体验。
图3示出了终端设备的维测服务应用为应用提供故障检测方法的示意图。
应用中可以集成维测服务应用所提供的安卓应用资源文件(androidapplication resource,AAR),使得应用可以基于该AAR实现与维测服务应用的交互。
维测服务应用可以将订阅维测服务的应用的相关订阅信息发送给故障检测服务。其中,相关订阅信息例如包括故障类型。
例如,应用可以基于该AAR订阅故障检测服务,该故障检测服务可以对该应用出现的故障进行实时监控,当故障检测服务检测到应用发生的故障为该应用所订阅的故障类型时,故障检测服务可以将故障通知给维测服务应用。维测服务应用可以进一步将该故障通知给应用,以便应用可以对该故障进行处理。
本申请实施例中,应用订阅的故障类型至少可以包括稳定性方面的故障类型、性能方面的故障类型,和/或发热方面的故障类型。
示例性的,图4示出了稳定性、性能和发热分别包括的具体故障类型。具体包括:
稳定性方面的故障类型可以包括应用无响应(application not response,ANR)、应用闪退(tombston)、应用异常退出(crash)、内存泄漏(memoryleak)、线程泄漏(threadleak)以及应用异常退出(killed)等类型。
其中,tombston、crash和killed均可以引起应用的异常退出。可以理解的是,由tombston引起的应用闪退可以包括系统应用异常退出,以及应用空指针调用、数组越界,或地址错误等在终端设备的底层执行出错的情况等异常;由crash引起的应用闪退可以包括运行在终端设备的前台或后台应用出现的堆栈异常,以及应用调用空指针等异常;由killed引起的应用闪退可以包括应用被终端设备异常杀死等。
此外,应用的内存泄漏可以导致应用的性能越来越差,从而可能造成应用崩溃;应用的线程泄漏可以导致应用的资源耗尽,从而可能造成应用崩溃。
性能方面的故障类型可以包括应用的丢帧、应用启动较慢、应用闪退、应用卡顿等类型。
发热方面的故障类型可以包括终端设备发热以及发热严重等类型。例如,发热可以包括终端设备的电池温度高于第一预设的温度值,严重发热可以包括终端设备的电池温度高于第二预设的温度值。其中,第一预设的温度值小于第二预设的温度值,第一预设的温度值以及第二预设的温度值均可以由维测服务应用设置,也可以由应用设置,本申请实施例不作限定。
可以理解的是,终端设备中的不同应用所关注的故障类型可以不相同,因此,不同的应用可以向维测服务应用订阅不同的故障类型。具体应用所关注的故障类型,可以由应用进行自定义设置,本申请实施例不作限定。
示例性的,办公类型的应用可以关注应用闪退等稳定性方面的故障类型,则该类型的应用可以向维测服务应用订阅稳定性方面的故障类型;短视频类型的应用可以关注应用卡顿等性能方面的故障类型,则该类型的应用可以向维测服务应用订阅性能方面的故障类型;游戏类型的应用可以关注终端设备发热方面的故障类型,则该类型的应用可以向维测服务应用订阅发热方面的故障类型。
图5示出了应用和维测服务应用之间的交互示意图。下面分别对应用侧、维测服务应用侧,以及故障检测服务进行详细介绍。
(1)应用侧
应用可以集成维测服务AAR,由于集成维测服务AAR中封装了故障检测注册接口,因此,应用可以通过调用该故障检测注册接口进行故障注册,从而订阅应用自身所关注的故障类型,实现对应用自身故障的实时监控。
其中,应用可以将自身应用所定义的回调函数作为参数传递给故障检测注册接口,当应用出现故障时,维测服务应用可以调用该回调函数,在应用侧的该回调函数中可以实现对所注册故障类型的处理。
示例性的,某一游戏类型的应用可以自定义发热故障类型的回调函数,该应用在向维测服务AAR注册发热故障类型时,该应用可以将该回调函数传递给故障检测注册接口。当维测服务应用检测到当前终端设备的电池发热后,可以调用该应用所传递的回调函数,这时,应用侧可以执行该回调函数中的逻辑,对发热故障进行相应处理。例如,应用对发热故障进行相应处理可以包括:该应用可以对游戏界面执行降帧处理。
(2)维测服务应用侧
维测服务应用中可以包括:订阅注册管理模块、数据库管理模块、故障检测模块,以及触发回调模块等。
其中,维测服务应用在接收到应用的注册信息后,订阅注册管理模块可以管理应用的注册订阅信息,以及维护订阅列表。该订阅列表可以保存在维测服务应用所维护的数据库中,可能的实现中,维测服务应用所维护的订阅列表可以以键值对(key-value)的形式存储应用的订阅信息。示例性的,订阅列表的key值可以包括应用的包名以及应用的用户标识(user identification,UID);订阅列表的value值可以包括应用传递的回调函数以及应用注册的故障类型。
数据库管理模块可以将检测到的故障数据保存到数据库中,还可以对数据库进行管理,实现对数据库中故障数据的增删改查等功能。示例性的,当某一应用发生故障时,数据库管理模块可以保存该应用的故障数据;数据库管理模块还可以根据应用需求查询该应用之前的故障数据;当维测服务应用将故障数据反馈给应用后,数据库管理模块还可以将已反馈的故障数据从数据库中删除。
故障检测模块可以用于检测终端设备发热方面的故障。
可以理解的是,对于发热方面的故障类型,维测服务应用中的故障检测模块可以实现对终端设备的温度检测。由于应用层的维测服务应用可以实现发热方面的故障检测,因此,应用框架层中的故障检测服务可以不执行发热方面的故障检测,这样可以在应用层中实现对发热方面的故障检测和故障上报,减少了在应用框架层中执行发热方面的故障检测的处理流程,减少算力,提升终端设备的运行效率。
当然,发热方面的故障检测也可以在框架层的故障检测服务中进行检测。维测服务应用可以将应用的注册信息发送给故障检测服务。当故障检测服务检测到发热故障后,故障检测服务可以将发热故障上报给维测服务应用。
(3)故障检测服务侧
故障检测服务中可以包括:故障筛选模块和故障上报模块。
故障筛选模块可以进行故障的感知,对故障进行分析,进行故障类型的筛选,其中,筛选的故障类型可以参照上述图4对应的实施例中故障类型的分类,不再赘述。
当终端设备中的应用出现故障时,终端设备底层的稳定性和性能故障检测模块可以将该故障的故障编码、进程信息以及相关的故障数据上报给故障检测服务。其中,故障编码可以用来标识不同的故障类型,具体故障编码的标识方式,本申请实施例不作限定。进程信息可以包括进程号、进程id、进程名等。相关的故障数据可以包括:堆栈信息、故障发生时间、内存信息,或者CPU运行情况等信息。可以理解的是,不同的故障类型,终端设备上报的相关的故障数据可以不相同。
示例性的,当某一应用出现闪退故障时,终端设备可以将该闪退故障对应的故障编码、堆栈信息、栈顶函数、故障时间,以及进程信息等上报给故障检测服务。故障检测服务中的故障筛选模块可以根据故障编码确定该故障为稳定性方面的闪退故障,故障检测服务还可以根据进程信息确定该出现故障所对应的应用。进而,故障上报模块可以向维测服务应用上报故障数据,维测服务应用可以将上述的闪退故障的相关信息及时上报给应用。
当某一应用出现启动慢故障时,终端设备可以将该故障对应的故障编码、内存信息、故障时间、CPU占用信息、以及进程信息等上报给故障检测服务。故障检测服务中的故障筛选模块可以根据故障编码确定该故障为性能方面的启动慢故障,故障检测服务还可以根据进程信息确定该出现故障所对应的应用。进而,故障上报模块可以向维测服务应用上报故障数据,维测服务应用可以将上述的启动慢故障的相关信息及时上报给应用。
当终端设备出现发热故障时,终端设备可以将该发热故障对应的故障编码、应用耗电排名、Wi-Fi耗电、移动数据耗电、以及CPU占用时间等信息上报给故障检测服务。故障检测服务中的故障筛选模块可以根据故障编码确定该故障为发热方面的故障,故障检测服务还可以向维测服务应用上报故障数据,进而,维测服务应用可以向注册了发热故障的应用及时反馈发热故障的相关信息。
具体的,图6示出了详细的故障检测和故障上报流程图。
S601、应用调用故障检测注册接口进行故障注册。
应用可以集成维测服务AAR,并且应用可以通过调用维测服务AAR提供的故障检测注册接口进行故障注册,从而订阅应用自身所关注的故障类型,实现对应用自身故障的实时监控。其中,应用可以在故障检测注册接口中传递自身应用的包名、UID、回调函数以及注册的故障类型。
S602、维测服务应用对应用注册信息进行管理。
维测服务应用中的订阅注册管理模块可以对应用的注册信息进行管理。具体订阅注册管理模块可以参照上述图5对应的实施例中的相关描述,不再赘述。
S603、维测服务应用向故障检测服务发送应用注册信息。
对于应用注册的稳定性和性能方面的故障类型,维测服务应用可以将应用的注册信息发送到故障检测服务中,以便故障检测服务对应用注册的故障类型进行分析和筛选。
一些实现中,对于应用注册的发热方面的故障,维测服务应用也可以将应用的注册信息发送到故障检测服务中,由故障检测服务实现对发热故障的检测。
S604、应用查询之前的故障数据。
一些实现中,在应用接入维测服务之前,应用可能已经运行有一段时间,产生一些故障数据。例如,某一应用的旧版本不支持接入维测服务应用,该应用的新版本支持接入维测服务应用,当终端设备的该应用更新到新版本后,维测服务应用可以及时向该应用上报故障数据。
应用未接入维测服务应用时,维测服务应用可以将该应用的故障数据在数据库中进行保存。可以理解的是,数据库中可以保存预设时间内的应用故障数据,例如,考虑到故障数据量对终端设备存储的影响以及故障筛选的效率,数据库中可以保存30天之内的应用的故障数据。具体数据库保存故障数据的时长,可以由维测服务应用自定义设置,本申请实施例不作限定。
在应用接入维测服务应用之后,应用可以向维测服务应用请求获取维测服务应用中保存的该应用之前的故障数据。
可能的实现中,应用可以向维测服务应用传递标识信息来表示是否获取该应用之前的故障数据,其中,标识信息可以为布尔类型、整型或字符串等数据类型。例如,标识信息为TRUE时可以表示该应用请求获取之前的故障数据,标识信息为FALSE时可以表示该应用未请求获取之前的故障数据,具体标识信息的类型和取值,本申请实施例不作限定。
S605、维测服务应用查询数据库,获取该应用之前的故障数据。
当应用请求获取维测服务应用中保存的该应用之前的故障数据时,维测服务应用可以查询数据库中是否有该应用之前的故障数据。
若维测服务应用查询到有该应用之前的故障数据,则维测服务应用可以获取该应用之前的故障数据,并执行步骤S606。若维测服务应用未查询到有该应用之前的故障数据,则维测服务应用可以不向该应用反馈之前的故障数据。
S606、维测服务应用返回应用之前的故障数据。
在应用获取到维测服务应用返回的之前的故障数据后,该应用可以根据之前的故障数据对故障进行分析,可能的实现中,应用可以根据这些故障数据解决一些该应用存在的故障问题,进而可以在更新后的应用版本中实现对应用故障的修复,提升用户体验。
S607、维测服务应用从数据库中删除该应用之前的故障数据。
在维测服务应用将查询到的该应用之前的故障数据反馈给该应用之后,维测服务应用可以将反馈给该应用的故障数据从数据库中删除。这样,可以减少故障数据对终端设备内存空间的占用,提升终端设备运行的流畅性,减少终端设备的卡顿。
S608、故障分析和故障筛选。
当故障检测服务检测到应用发生稳定性故障、性能故障,和/或发热故障时,故障检测服务可以对故障进行分析以及对故障进行类型筛选。若该故障为应用所注册的故障类型,则故障检测服务可以执行步骤S609。
一些实现中,发热故障的检测可以替换为通过维测服务应用实现。
S609、故障检测服务上报故障数据。
故障检测服务可以将故障数据上报给维测服务应用。
S610、触发该故障对应的回调函数。
维测服务应用可以根据故障类型确定该故障对应的回调函数,并调用该回调函数,将故障数据及时上报给应用。
S611、应用进行故障处理。
应用可以对维测服务应用上报的故障进行相应的处理。可以理解的是,终端设备中不同的应用对终端设备上报的故障可以有不同的故障处理方式。具体应用所关注的故障类型和故障处理方式,可以由应用进行自定义设置,本申请实施例不作限定。
示例性的,办公类型的应用可以关注应用闪退等稳定性方面的故障类型,当办公类应用获取到自身应用当前发生闪退故障时,该应用可以重新启动并打开闪退前的页面;短视频类型的应用可以关注应用卡顿等性能方面的故障类型,当短视频类应用获取到自身应用当前出现卡顿故障时,该应用可以清理自身应用中的缓存资源等;游戏类型的应用可以关注终端设备发热方面的故障类型,当游戏类应用获取到当前终端设备的电池发热达到预设温度时,该应用可以对游戏界面进行降帧处理等。
需要说明的是,步骤S604-步骤S607可以是可选的步骤,应用可以向维测服务应用请求获取该应用之前的故障数据,也可以不向维测服务应用请求获取该应用之前的故障数据。具体应用是否请求之前的故障数据,可以由应用自行决定,本申请实施例不作限定。
可选的,应用在对故障处理之前,该应用可以指示终端设备显示故障处理的弹窗。
以应用出现无响应故障为例,如图7所示,终端设备的界面上可以显示弹窗701,弹窗701中可以显示应用图标702、故障提示标题703、故障处理提示信息704、确定按钮705以及取消按钮706。
其中,故障提示标题703可以包括“应用无响应”,故障处理提示信息704可以包括“当前应用无响应,是否将其关闭?”具体的故障提示标题703和故障处理提示信息704的内容信息,本申请实施例不作限定。当终端设备接收到用户触发确定按钮705的操作时,终端设备可以关闭该应用。当终端设备接收到用户触发取消按钮706的操作时,终端设备可以取消弹窗701的显示,且不关闭该应用。
图8示出了维测服务应用内部的故障数据处理的流程图。
当应用注册了维测服务应用的故障检测接口时,维测服务应用可以将应用的注册信息添加到订阅信息中,其中,订阅信息可以参照上述图5对应的实施例中维测服务应用所维护的订阅列表的相关描述,不再赘述。可以理解的是,订阅消息后,应用和故障类型之间可以存在绑定关系,也就是说,维测服务应用可以确定每个应用所关心的故障类型。
在应用绑定维测服务后,维测服务应用可以根据应用的需求确定是否给应用反馈之前的故障数据。可能的实现方式可以参照上述图6的实施例中S604的相关描述,不再赘述。
若应用请求获取之前的故障数据,维测服务应用可以读取数据库,查询数据库中是否有该应用之前的故障数据。若维测服务应用查询到有该应用之前的故障数据,则维测服务应用可以将查询到的该应用之前的故障数据反馈给该应用。在反馈给应用之后,维测服务应用可以将反馈给该应用的故障数据从数据库中删除。
当故障检测服务检测到有故障发生时,故障检测服务可以将故障数据上报给维测服务应用。维测服务应用可以判断该故障类型是否有对应的应用绑定信息,若有应用注册绑定了该故障类型,则维测服务应用可以将故障检测服务上报的故障数据及时反馈给应用。若没有应用注册绑定该故障类型,则维测服务应用可以将该故障数据保存到数据库中。
下面通过具体的实施例对本申请实施例的方法进行详细说明。下面的实施例可以相互结合或独立实施,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图9示出了本申请实施例的故障上报方法。方法包括:
S901、第一应用通过调用接口向第二应用注册目标故障。
本申请实施例中,第一应用可以为终端设备中安装的任何应用,第一应用可以包括三方应用和系统应用。第一应用可以为任意需要故障处理的应用,具体的第一应用,本申请实施例不作限定。
第二应用可以为终端设备中能够进行故障检测的应用。例如,第二应用可以为上面的实施例中的维测服务应用。可以理解的是,上面的实施例均以应用和维测服务应用之间的交互为例,示例性说明故障上报的方法。可能的实现中,应用可以替换为任意需要故障处理的第一应用,维测服务应用可以替换为任意能够进行故障检测的第二应用。
目标故障可以为第一应用向第二应用注册的故障类型。例如目标故障可以为包括稳定性方面的故障类型、性能方面的故障类型,和/或发热方面的故障类型。其中,稳定性、性能和发热分别包括的具体故障类型可以参照上述图4对应的实施例中的相关描述,不再赘述。具体第一应用向第二应用注册的故障类型,本申请实施例不做限定。
S902、当第二应用确定第一应用出现目标故障时,第二应用向第一应用上报目标故障,用于第一应用对目标故障进行处理。
本申请实施例中,第二应用可以根据终端设备上报的故障数据确定第一应用的目标故障。示例性的,第二应用确定第一应用出现目标故障的方式可以参照上述图5对应的实施例中故障检测服务侧的相关描述,不再赘述。
可能的实现中,第二应用可以通过回调函数向第一应用上报目标故障,也可以通过广播向第一应用上报目标故障,还可以通过安卓接口定义语言向第一应用上报目标故障。具体第二应用向第一应用上报目标故障的方式,本申请实施例不作限定。示例性的,第二应用通过回调函数向第一应用上报目标故障的流程可以参照上述图5对应的实施例中应用侧的相关描述,不再赘述。
本申请实施例中,第二应用可以实时监控第一应用的故障,当第一应用出现故障时,第二应用可以及时向第一应用反馈故障数据,从而使第一应用可以对故障数据进行处理,提升第一应用定位故障的效率,提升用户体验。
可选的,在图9对应的实施例的基础上,第一应用中集成有用于接入第二应用的资源文件;第一应用通过调用接口向第二应用注册目标故障,可以包括:第一应用基于资源文件向第二应用传递第一应用的注册信息,第一应用的注册信息包括目标故障以及第一应用的下述一项或多项信息:包名、用户标识UID、回调函数。
本申请实施例中,资源文件可以为第二应用提供的AAR,也可以为在第一应用的配置文件中设置的与第二应用相关的资源信息,还可以为其他与第二应用相关的文件,具体的资源文件,本申请实施例不作限定。
第一应用基于资源文件向第二应用传递第一应用的注册信息,这样,第二应用可以根据包名和用户标识UID确定不同的应用,第二应用也可以根据目标故障确定应该订阅的故障类型,第二应用也可以调用应用的回调函数及时向应用上报目标故障的故障数据。从而第二应用可以实现根据不同应用的订阅故障不同,第二应用向应用上报不同的故障数据。
可选的,在图9对应的实施例的基础上,终端设备的应用框架层还包括目标服务,方法还可以包括:第二应用向目标服务传递第一应用的注册信息;当目标服务检测到第一应用出现目标故障时,目标服务向第二应用上报目标故障。
本申请实施例中,目标服务可以实现对故障进行故障筛选和故障上报,示例性的,目标服务可以为上述实施例中的故障检测服务,具体的目标服务的名称,本申请实施例不作限定。
当目标服务检测到第一应用出现目标故障时,目标服务向第二应用上报目标故障。这样,第二应用可以及时向应用上报目标故障的故障数据,从而提升第一应用定位故障的效率。
可选的,在图9对应的实施例的基础上,目标服务向第二应用上报目标故障之前,还可以包括:目标服务接收终端设备上报的故障编码;目标服务根据故障编码确定终端设备中发生的目标故障;目标服务获取进程信息;目标服务在进程信息中确定发生目标故障的为第一应用。
本申请实施例中,进程信息可以用来确定发生目标故障的应用,具体进程信息包括的内容可以参照上述图5对应的实施例中故障检测服务侧的相关描述,不再赘述。
故障编码可以用来标识不同的故障类型,具体故障编码的标识方式,本申请实施例不作限定。终端设备采取故障编码的上报方式,可以快速识别和区分不同的故障类型,可以提升故障检测的效率。
可选的,在图9对应的实施例的基础上,第二应用向第一应用上报目标故障,可以包括:第二应用调用第一应用的回调函数。
本申请实施例中,第二应用调用第一应用的回调函数的流程可以参照上述图5对应的实施例中应用侧的相关描述,不再赘述。
回调函数可以被作为参数传递,回调函数在监听第一应用发生目标故障时,回调函数可以对相应的目标故障执行对应的处理方式,回调函数可以提升终端设备的执行效率。
可选的,在图9对应的实施例的基础上,第一应用通过调用接口向第二应用注册目标故障之前,还可以包括:若第二应用检测到第一应用发生故障,第二应用保存第一应用的故障数据。
本申请实施例中,第一应用向第二应用注册目标故障之可以理解为第一应用不支持接入第二应用,此时,第二应用可以将第一应用的故障数据在数据库中进行保存。具体第二应用保存第一应用的故障数据可以参照上述图6对应的实施例中S604的应用查询之前的故障数据中的相关描述,不再赘述。
可以理解的是,在第一应用未接入第二应用之前,第二应用可以保存一段时间的第一应用的故障数据,例如第二应用可以保存30天之内的应用的故障数据。这样,第二应用保存一段时间的故障数据,可以保证故障数据量不会对终端设备存储有较大影响,还可以提升第二应用筛选故障的效率。
可选的,在图9对应的实施例的基础上,第一应用通过调用接口向第二应用注册目标故障之后,还可以包括:第一应用向第二应用请求第一应用注册之前的故障数据;若第二应用查询到第一应用注册之前的故障数据,则第二应用向第一应用返回第一应用注册之前的故障数据。
本申请实施例中,第一应用可以向第二应用传递标识信息来表示是否获取之前的故障数据,具体的标识信息可以参照上述图6对应的实施例中S604的应用查询之前的故障数据中的相关描述,不再赘述。
在第一应用接入第二应用之后,第二应用可以向第一应用返回之前的故障数据,进而,第一应用可以根据之前的故障数据对故障进行分析。第一应用可以根据这些故障数据解决一些该应用存在的故障问题,这样,在更新后的第一应用版本中可以实现对故障的修复,提升用户体验。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的方法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对实现该方法的装置进行功能模块的划分,例如可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图10示为本申请实施例提供的一种芯片的结构示意图。芯片1000包括一个或两个以上(包括两个)处理器1001、通信线路1002、通信接口1003和存储器1004。
在一些实施方式中,存储器1004存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
上述本申请实施例描述的方法可以应用于处理器1001中,或者由处理器1001实现。处理器1001可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1001可以是通用处理器(例如,微处理器或常规处理器)、数字信号处理器(digitalsignal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门、晶体管逻辑器件或分立硬件组件,处理器1001可以实现或者执行本申请实施例中的公开的各处理相关的方法、步骤及逻辑框图。
结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。其中,软件模块可以位于随机存储器、只读存储器、可编程只读存储器或带电可擦写可编程存储器(electricallyerasable programmable read only memory,EEPROM)等本领域成熟的存储介质中。该存储介质位于存储器1004,处理器1001读取存储器1004中的信息,结合其硬件完成上述方法的步骤。
处理器1001、存储器1004以及通信接口1003之间可以通过通信线路1002进行通信。
在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。其中,计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在存储器中。
本申请实施例还提供一种计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。例如,可用介质可以包括磁性介质(例如,软盘、硬盘或磁带)、光介质(例如,数字通用光盘(digital versatile disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。
本申请实施例还提供一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。计算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
作为一种可能的设计,计算机可读介质可以包括紧凑型光盘只读储存器(compactdisc read-only memory,CD-ROM)、RAM、ROM、EEPROM或其它光盘存储器;计算机可读介质可以包括磁盘存储器或其它磁盘存储设备。而且,任何连接线也可以被适当地称为计算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,DSL或无线技术(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(digital versatile disc,DVD),软盘和蓝光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光光学地再现数据。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

Claims (10)

1.一种故障上报方法,其特征在于,应用于终端设备,所述终端设备包括第一应用和第二应用,所述第一应用和所述第二应用间设置有调用接口,所述方法包括:
所述第一应用通过所述调用接口向所述第二应用注册目标故障;
当所述第二应用确定所述第一应用出现所述目标故障时,所述第二应用向所述第一应用上报所述目标故障,用于所述第一应用对所述目标故障进行处理。
2.根据权利要求1所述的方法,其特征在于,所述第一应用中集成有用于接入所述第二应用的资源文件;所述第一应用通过所述调用接口向所述第二应用注册目标故障,包括:
所述第一应用基于所述资源文件向所述第二应用传递所述第一应用的注册信息,所述第一应用的注册信息包括所述目标故障以及所述第一应用的下述一项或多项信息:包名、用户标识UID、回调函数。
3.根据权利要求2所述的方法,其特征在于,所述终端设备的应用框架层还包括目标服务,所述方法还包括:
所述第二应用向所述目标服务传递所述第一应用的注册信息;
当所述目标服务检测到所述第一应用出现所述目标故障时,所述目标服务向所述第二应用上报所述目标故障。
4.根据权利要求3所述的方法,其特征在于,所述目标服务向所述第二应用上报所述目标故障之前,还包括:
所述目标服务接收终端设备上报的故障编码;
所述目标服务根据所述故障编码确定所述终端设备中发生的所述目标故障;
所述目标服务获取进程信息;
所述目标服务在所述进程信息中确定发生所述目标故障的为所述第一应用。
5.根据权利要求1-4所述的方法,其特征在于,所述第二应用向所述第一应用上报所述目标故障,包括:
所述第二应用调用所述第一应用的回调函数。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述第一应用通过所述调用接口向所述第二应用注册目标故障之前,还包括:
若所述第二应用检测到所述第一应用发生故障,所述第二应用保存所述第一应用的故障数据。
7.根据权利要求6所述的方法,其特征在于,所述第一应用通过所述调用接口向所述第二应用注册目标故障之后,还包括:
所述第一应用向所述第二应用请求所述第一应用注册之前的故障数据;
若所述第二应用查询到所述第一应用注册之前的故障数据,则所述第二应用向所述第一应用返回所述第一应用注册之前的故障数据。
8.一种终端设备,其特征在于,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器用于执行所述计算机程序,以执行如权利要求1-7任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1-7任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,当所述计算机程序被运行时,使得终端设备执行如权利要求1-7任一项所述的方法。
CN202310094482.0A 2023-01-13 2023-01-13 故障上报方法及相关装置 Pending CN117149476A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310094482.0A CN117149476A (zh) 2023-01-13 2023-01-13 故障上报方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310094482.0A CN117149476A (zh) 2023-01-13 2023-01-13 故障上报方法及相关装置

Publications (1)

Publication Number Publication Date
CN117149476A true CN117149476A (zh) 2023-12-01

Family

ID=88908779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310094482.0A Pending CN117149476A (zh) 2023-01-13 2023-01-13 故障上报方法及相关装置

Country Status (1)

Country Link
CN (1) CN117149476A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453513A (zh) * 2023-12-21 2024-01-26 荣耀终端有限公司 日志获取方法及相关设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140003225A1 (en) * 2012-06-28 2014-01-02 Alcatel-Lucent Canada Inc. Dynamic reaction to diameter routing failures
CN104506939A (zh) * 2014-12-15 2015-04-08 四川长虹电器股份有限公司 一种信息上报方法及电视终端
CN107463492A (zh) * 2017-06-29 2017-12-12 北京五八信息技术有限公司 应用程序故障定位方法及装置
CN109542689A (zh) * 2018-11-30 2019-03-29 努比亚技术有限公司 应用程序处理方法、终端以及计算机可读存储介质
US20200112448A1 (en) * 2017-06-12 2020-04-09 Huawei Technologies Co., Ltd. Wireless Communication Method and Device
CN111367769A (zh) * 2020-03-30 2020-07-03 浙江大华技术股份有限公司 应用故障处理方法及电子设备
CN113672420A (zh) * 2021-08-10 2021-11-19 荣耀终端有限公司 故障检测方法及电子设备
CN114328097A (zh) * 2021-12-23 2022-04-12 北京字跳网络技术有限公司 一种文件监控方法、装置、电子设备和存储介质
WO2022078095A1 (zh) * 2020-10-14 2022-04-21 华为技术有限公司 一种故障检测方法及电子终端
CN114501511A (zh) * 2022-02-15 2022-05-13 华为技术有限公司 测量方法和测量装置
CN115334138A (zh) * 2021-04-26 2022-11-11 华为技术有限公司 Quic数据传输方法、装置、客户端及服务端

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140003225A1 (en) * 2012-06-28 2014-01-02 Alcatel-Lucent Canada Inc. Dynamic reaction to diameter routing failures
CN104506939A (zh) * 2014-12-15 2015-04-08 四川长虹电器股份有限公司 一种信息上报方法及电视终端
US20200112448A1 (en) * 2017-06-12 2020-04-09 Huawei Technologies Co., Ltd. Wireless Communication Method and Device
CN107463492A (zh) * 2017-06-29 2017-12-12 北京五八信息技术有限公司 应用程序故障定位方法及装置
CN109542689A (zh) * 2018-11-30 2019-03-29 努比亚技术有限公司 应用程序处理方法、终端以及计算机可读存储介质
CN111367769A (zh) * 2020-03-30 2020-07-03 浙江大华技术股份有限公司 应用故障处理方法及电子设备
WO2022078095A1 (zh) * 2020-10-14 2022-04-21 华为技术有限公司 一种故障检测方法及电子终端
CN115334138A (zh) * 2021-04-26 2022-11-11 华为技术有限公司 Quic数据传输方法、装置、客户端及服务端
CN113672420A (zh) * 2021-08-10 2021-11-19 荣耀终端有限公司 故障检测方法及电子设备
CN114328097A (zh) * 2021-12-23 2022-04-12 北京字跳网络技术有限公司 一种文件监控方法、装置、电子设备和存储介质
CN114501511A (zh) * 2022-02-15 2022-05-13 华为技术有限公司 测量方法和测量装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117453513A (zh) * 2023-12-21 2024-01-26 荣耀终端有限公司 日志获取方法及相关设备

Similar Documents

Publication Publication Date Title
CN110007952B (zh) 数据处理方法、装置、设备和机器可读介质
KR101657379B1 (ko) 원격 환경에 대해 데이터 엔트리 콘텐츠를 제공하기 위한 방법 및 장치
CN113032766B (zh) 应用权限管理的方法和装置
JP2020509622A (ja) ワイヤレスネットワークタイプ検出方法および装置および電子デバイス
CN117149476A (zh) 故障上报方法及相关装置
CN116669064B (zh) 无线协议测试方法及电子设备
CN114201103B (zh) 数据输入方法和终端设备
US11815990B2 (en) Method for determining faulty computing core in multi-core processor and electronic device
CN105262829B (zh) 地理位置监控方法和系统
CN116701320B (zh) 一种日志生成方法及相关装置
CN114428737A (zh) 基于微服务体系的通信方法、装置、设备及存储介质
CN114692137A (zh) 应用的安全性分析方法、装置、设备及存储介质
CN116662101B (zh) 电子设备的故障修复方法和电子设备
CN113850633B (zh) 信息推送方法和装置
CN116089320B (zh) 垃圾回收方法和相关装置
CN114650332B (zh) 信息处理方法、系统及计算机存储介质
CN115902766B (zh) 一种测量方法及相关装置
CN113867999B (zh) 应用异常处理方法、终端及计算机可读存储介质
CN116708647B (zh) 通知消息回复方法及电子设备
US11797316B2 (en) System and method for automatic generation and management of feature level application directory
CN113918447B (zh) 一种应用测试方法及电子设备
CN107506199A (zh) Hook方法、装置以及计算机可读存储介质
WO2024037346A1 (zh) 页面管理方法及电子设备
CN117714271A (zh) 消息处理方法及相关装置
CN117827043A (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