CN111064590B - 异常状态的修复方法、装置及可读存储介质 - Google Patents
异常状态的修复方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN111064590B CN111064590B CN201811205143.0A CN201811205143A CN111064590B CN 111064590 B CN111064590 B CN 111064590B CN 201811205143 A CN201811205143 A CN 201811205143A CN 111064590 B CN111064590 B CN 111064590B
- Authority
- CN
- China
- Prior art keywords
- application process
- server
- abnormal
- state
- daemon
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Environmental & Geological Engineering (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种异常状态的修复方法、装置及可读存储介质,涉及计算机技术领域。该方法包括:启动目标应用程序的应用进程;通过守护进程监控应用进程的运行状态;当应用进程处于异常状态时,通过守护进程生成异常报告;向服务器发送异常报告;接收服务器发送的目标修复组件。通过设置与应用进程独立且并列的守护进程对应用进程的运行状态进行监控,由于守护进程与应用进程之间相互独立,也即守护进程不会根据应用进程处于异常状态而发生异常,即使应用进程处于异常状态,守护进程也可以正常对应用进程的运行状态进行监控,并监控到该应用进程处于异常状态,以及生成异常报告并发送至服务器,以对该异常状态进行修复。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种异常状态的修复方法、装置及可读介质。
背景技术
用户在对终端中安装的应用程序进行使用的过程中,经常会由于应用程序本身的漏洞(英文:bug)导致应用程序处于异常状态(如:卡顿、崩溃、闪退、黑屏等),而为了优化用户对应用程序的使用体验,开发人员需要从终端获取bug的相关信息后对bug进行修复,以减少异常状态的出现。
相关技术中,应用程序的应用进程中设置有检测线程,该检测线程会向应用进程的主进程发送检测消息,通过主进程根据该检测消息的答复消息监测该应用进程是否处于异常状态。如果处于异常状态,则对异常状态的相关信息进行收集,并将相关信息上传至服务器中,开发人员根据相关信息对bug进行修复。
然而,由于应用程序的应用进程处于异常状态时,应用进程被分配的资源已被占用无法释放给检测线程运行,也即检测线程无法被分配资源以进行状态检测,该应用进程中的检测线程也处于异常状态,从而导致检测线程无法收集异常状态的相关信息,造成异常状态检测的失败。
发明内容
本申请实施例提供了一种异常状态的修复方法、装置及可读存储介质,可以解决在检测线程处于异常状态时,通过检测线程无法正常向应用进程发送检测消息,也无法收集异常状态的相关信息,从而造成异常状态检测失败的问题。所述技术方案如下:
一方面,提供了一种异常状态的修复方法,所述方法包括:
启动目标应用程序的应用进程;
通过守护进程监控所述应用进程的运行状态,所述守护进程和所述应用进程是运行在终端中独立且并列的两个进程,所述运行状态包括异常状态或正常状态,所述应用进程中登录有第一帐号,所述守护进程中登录有与所述第一帐号关联的第二帐号;
当所述应用进程处于所述异常状态时,通过所述守护进程获取与所述异常状态对应的异常信息;
通过所述守护进程根据所述异常信息生成异常报告,所述异常报告用于指示所述应用进程中的目标组件在运行过程中引发所述异常状态;
通过所述守护进程采用所述第二帐号向服务器发送所述异常报告,或,通过所述应用进程采用所述第一帐号向所述服务器发送所述异常报告;
接收所述服务器发送的目标修复组件,所述目标修复组件用于通过替换所述应用进程中的所述目标组件修复所述异常状态。
另一方面,提供了一种异常状态的修复装置,所述装置包括:
启动模块,用于启动目标应用程序的应用进程;
监控模块,用于通过守护进程监控所述应用进程的运行状态,所述守护进程和所述应用进程是运行在终端中独立且并列的两个进程,所述运行状态包括异常状态或正常状态,所述应用进程中登录有第一帐号,所述守护进程中登录有与所述第一帐号关联的第二帐号;
获取模块,用于当所述应用进程处于所述异常状态时,通过所述守护进程获取与所述异常状态对应的异常信息;
生成模块,用于通过所述守护进程根据所述异常信息生成异常报告,所述异常报告用于指示所述应用进程中的目标组件在运行过程中引发所述异常状态;
发送模块,用于通过所述守护进程采用所述第二帐号向服务器发送所述异常报告,或,通过所述应用进程采用所述第一帐号向所述服务器发送所述异常报告;
接收模块,用于接收所述服务器发送的目标修复组件,所述目标修复组件用于通过替换所述应用进程中的所述目标组件修复所述异常状态。
另一方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例所述的异常状态的修复方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述本申请实施例所述的异常状态的修复方法。
另一方面,提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行如上述本申请实施例所述的异常状态的修复方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过设置与应用进程独立且并列的守护进程对应用进程的运行状态进行监控,由于守护进程与应用进程之间相互独立,也即守护进程不会根据应用进程处于异常状态而发生异常,即使应用进程处于异常状态,守护进程也可以正常对应用进程的运行状态进行监控,并监控到该应用进程处于异常状态,以及生成异常报告并发送至服务器,以对该异常状态进行修复。避免由于应用进程中的检测线程随着应用线程的异常状态而无法继续进行检测,导致异常状态无法被修复的问题。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性的实施例提供的异常状态的修复方法的实施环境示意图;
图2是本申请一个示例性实施例提供的异常状态的修复方法的流程图;
图3是本申请另一个示例性实施例提供的异常状态的修复方法的流程图;
图4是本申请基于图3所示的实施例提供的信息流传递示意图;
图5是本申请另一个示例性实施例提供的异常状态的修复方法的流程图;
图6是本申请基于图5所示的实施例提供的提示界面的界面示意图;
图7是本申请另一个示例性实施例提供的异常状态的修复方法的流程图;
图8是本申请一个示例性实施例提供的异常状态的修复装置的结构框图;
图9是本申请另一个示例性实施例提供的异常状态的修复装置的结构框图;
图10是本申请一个示例性的实施例提供的终端的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行简单介绍:
应用进程:是指目标应用程序在终端中运行时,支持该目标应用程序的运行的一次活动。可选地,该目标应用程序中还包括功能模块,该目标应用程序中的功能由功能模块通过代码逻辑实现,不同的功能由不同的功能模块通过不同的代码逻辑实现,而功能模块的划分粒度可以由开发人员自行控制,如:在目标应用程序中,发送功能和接收功能可以由发送模块和接收模块分别通过代码逻辑实现,也可以由通信模块通过代码逻辑统一实现。该功能模块可以实现为应用进程中的组件,也即组件为运行态的功能模块。示意性的,应用程序A中包括功能模块a、功能模块b以及功能模块c,其中,功能模块a是收发消息对应的模块,功能模块b是信息设置对应的模块,则当应用程序A接收到消息时,运行功能模块a对应的组件对消息进行接收。
守护进程:是指一类在终端后台运行的用于执行管理任务的进程。可选地,本申请实施例中,该守护进程是指针对目标应用程序设置的用于对目标应用程序的运行状态进行监控的进程。可选地,该运行状态包括异常状态或正常状态。可选地,该守护进程是目标应用程序在终端中进行安装时启动的进程,且该守护进程不会随着目标应用程序的应用进程停止运行而停止运行,即,该守护进程是持续运行在终端后台的进程,当终端的电源关闭后,守护进程随着终端的关闭而停止运行,而当终端的电源上电后,守护进程进行开机自启动或当应用进程启动时随着应用进程的启动而启动;或,该守护进程会随着应用进程的启动而启动,且随着应用进程的停止运行而停止运行。
异常状态:是指目标应用程序的应用进程在运行过程中,与正常运行状态不同的运行状态,可选地,该异常状态包括但不限于卡顿状态、崩溃状态、闪退状态、黑屏状态中的至少一种。其中,卡顿状态是指应用进程在运行过程中,当终端接收到针对目标应用程序操作指令时,应用进程无法完成该操作指令对应的任务的状态;崩溃状态是指应用进程的运行导致终端操作***运行错误,无法完成针对操作***的任何指令的状态;闪退状态是指应用进程在运行过程中未接收到终止指令却终止运行后的状态;黑屏状态是指应用进程在运行过程中终端显示屏无法显示应用进程对应的显示内容,而呈现黑屏的状态。
可选地,本申请实施例中,主要以卡顿状态为例进行说明。
结合上述名词简介以及应用场景,对本申请实施例中的实施环境进行介绍,请参考图1,该实施环境包括终端11、服务器12。
其中,终端11中安装有操作***110,以及企业客户端120,操作***110中运行有应用进程111,该应用进程111即为企业客户端120运行时的载体,操作***110中还运行有守护进程112,该守护进程112用于对应用进程111的运行状态进行监控,并当应用进程111处于异常状态时,将异常报告发送至服务器12。
可选地,本实施例中,以终端11中安装有企业客户端120为例进行说明,该企业客户端120还可以实现为其他客户端,本申请实施例对此不加以限定。
可选地,终端11通过通信网络向服务器12发送异常报告,该通信网络可以是有线网络也可以是无线网络。
可选地,守护进程112与服务器12之间建立有客户机到服务器(Client-Server,CS)连接以及超文本传输协议(HyperText Transfer Protocol,HTTP)连接两种连接,当守护进程112与服务器12之间建立有CS连接时,守护进程112可以通过CS协议向服务器12发送消息(如:异常报告),服务器12可以通过服务器到客户机(Server-Client,SC)协议向守护进程112发送消息或组件(如:目标修复组件)。可选地,守护进程112与服务器12之间还建立有HTTP连接,当守护进程112需要向服务器12发送文件形式的内容时,通过该HTTP连接,以HTTP协议作为传输协议向服务器12发送该文件形式的内容(如:异常信息)。
可选地,应用进程111与服务器12之间建立有长连接,该长连接是指应用进程111可以与服务器12进行一次通信认证后,无需再次与服务器12进行通信认证也可以多次向服务器12发送需要发送的内容。可选地,当守护进程112通过HTTP协议发送异常信息被拦截时,可以通过应用进程111与服务器之间建立的长连接发送该异常信息。可选地,应用进程111与服务器12还可以建立有其他连接方式,本申请实施例中对应用进程111与服务器12之间建立的连接方式不做限定。
可选地,图1中以终端11的数量为1个为例进行说明,在实际操作中,终端11的数量还可以更多。
可选地,该服务器12可以是一***立的服务器,也可以是一组服务器,该服务器12可以是物理服务器,也可以是云服务器,本申请实施例对此不加以限定。
结合上述实施环境及名词简介,对本申请实施例中涉及的异常状态的修复方法进行说明,如图2所示,以该方法应用在如图1所示的终端11中为例进行说明,该方法包括:
步骤201,启动目标应用程序的应用进程。
可选地,该目标应用程序可以是企业应用程序、视频应用程序、即时通讯应用程序、购物应用程序、金融应用程序、导航应用程序、游戏应用程序中的至少一种。
可选地,该应用进程为目标应用程序在终端中运行时的载体,也即该目标应用程序的运行是通过应用进程在终端中的运行实现的。
可选地,用户在显示屏中对目标应用程序的图标进行选择后,终端接收到选择信号,并根据该选择信号运行目标应用程序,即启动该目标应用程序的应用进程。
步骤202,通过守护进程监控应用进程的运行状态。
可选地,守护进程和应用进程是运行在终端中独立且并列的两个进程,也即,守护进程并不会根据应用进程的运行状态的改变而发生相应的改变。示意性的,应用进程在终端中运行时处于异常状态时,守护进程依旧可以处于正常运行状态运行。
可选地,应用进程中登录有第一帐号,守护进程中登录有与第一帐号关联的第二帐号。
可选地,该守护进程是目标应用程序在终端中进行安装时启动的进程;或,该守护进程是目标应用程序进行版本更新时,在终端中增加启动的进程;或,该守护进程是目标应用程序在运行时,通过目标应用程序的应用进程安装在终端中长期运行的进程。也即,该守护进程是目标应用程序携带的在终端中用于对应用进程进行监控的进程。
可选地,该运行状态包括正常状态或异常状态,其中,正常状态和异常状态为并列的两种状态,也即应用进程在运行过程中可以处于正常状态,或者处于异常状态。
可选地,通过守护进程监控应用进程的运行状态时,包括如下方式中的至少一种:
第一种,通过守护进程定期向应用进程发送检测消息,该检测消息用于指示应用进程向守护进程回复应答消息,该应答消息用于表示应用进程未处于异常状态,当守护进程在预设时长内未接收到应答消息时,则确定该应用进程处于异常状态。可选地,守护进程定期发送检测消息是指,守护进程每隔预设时长向应用进程发送一次检测消息。
执行时,当守护进程在终端中被启动后,应用进程会将窗口句柄发送给该守护进程,其中,窗口句柄为操作***中设置的对窗口进行操作的窗口标识,守护进程通过窗口句柄向应用进程发送设置有阻塞时延的检测消息(SendMessageTimeOut),当在阻塞时延内没有收到应用进程发送的应答消息时,则确认该应用进程处于异常状态。
示意性的,守护进程向应用进程发送检测消息,并设置50ms的阻塞时延,且守护进程每隔100ms向应用进程发送一次检测消息,守护进程第一次向应用进程发送检测消息后,应用进程10ms后向守护进程发送应答消息,则守护进程确定应用进程未处于异常状态,与第一次发送检测消息相隔100ms后,守护进程第二次向应用进程发送检测消息,应用进程50ms内未向守护进程发送应答消息,则守护进程确定应用进程处于异常状态。可选地,守护进程也可以在接收到应用进程发送的应答消息后相隔100ms发送下一条检测消息,本申请实施例对此不加以限定。
第二种,在应用进程中设置心跳检测机制,设置应用进程在启动后每隔预设时长向守护进程发送心跳检测消息,当守护进程距离上一次收到心跳检测消息的时长超过预设时长时,确定该应用进程处于异常状态。
步骤203,当应用进程处于异常状态时,通过守护进程获取与异常状态对应的异常信息。
可选地,守护进程调用信息获取线程以及动态链接库(Dynamic Link Library,DLL)获取与该异常状态对应的异常信息,可选地,该信息获取线程可以是***提供的用于对***信息进行获取的线程。
可选地,该异常信息包括终端的***信息和/或目标应用程序的运行信息。可选地,该异常信息包括如下信息中的至少一种:内存占用信息、中央处理器(CentralProcessing Unit,CPU)资源占用信息、输入输出(Input/Output,IO)资源占用信息、目标应用程序的版本信息、应用进程的堆栈信息等。
步骤204,通过守护进程根据异常信息生成异常报告。
可选地,该异常报告用于指示应用进程中的目标组件在运行过程中引发异常状态。可选地,该目标组件是目标应用程序中的调用某个功能时运行的组件。示意性的,该目标应用程序为企业客户端,当用户应用该企业客户端中的发送通知功能时,企业客户端发生卡顿,则该异常报告用于指示应用进程中与发送通知功能对应的目标组件在运行过程中引发异常状态。
可选地,守护进程生成异常报告的方式包括如下方式中的任意一种:
第一,守护进程获取与该异常状态对应的异常信息后,根据该异常信息计算对应的哈希值,生成异常报告,该异常报告中包括该计算得到的哈希值;
第二,守护进程获取与该异常状态对应的异常信息后,生成包括该异常信息的异常报告,如:异常信息包括与该异常状态对应的异常标识,上述异常报告中包括该异常标识。
步骤205,通过守护进程采用第二帐号向服务器发送异常报告。
可选地,该异常报告可以通过守护进程进行发送,也可以通过应用进程进行发送。
可选地,通过守护进程发送该异常报告时,守护进程会使用通过CS协议将异常报告发送至服务器。
可选地,守护进程中登录有第二帐号,故,通过守护进程发送异常报告时,是以第二帐号为发送帐号向服务器发送异常报告的。
步骤206,通过应用进程采用第一帐号向服务器发送异常报告。
当通过应用进程向服务器发送异常报告时,可以通过应用进程与服务器建立的长连接,将该异常报告发送至服务器。
可选地,针对上述步骤205及步骤206,由于应用进程处于异常状态,则可以优先通过守护进程以CS协议为通信协议发送该异常报告,当守护进程无法通过CS协议发送异常报告时,如:CS连接失败等情况,通过应用进程以应用进程与服务器建立的长连接作为发送通道发送该异常报告。
可选地,由于应用进程处于异常状态,则需要等待应用进程下一次开启时,通过应用进程发送该异常报告;或,当应用进程停止异常状态时,通过应用进程发送该异常报告。如:应用进程处于卡顿状态后,等待应用进程的卡顿状态停止后,通过应用进程向服务器发送异常报告。
可选地,守护进程还可以将异常信息携带在异常报告中发送至服务器,服务器通过该异常报告中的异常信息对异常状态进行修复;或者,该异常报告是根据异常信息生成的异常标识,服务器中可能存储有与该异常标识对应的目标修复组件,并根据异常标识向终端发送该目标修复组件对异常状态进行修复。
步骤207,接收服务器发送的目标修复组件。
该目标组件用于替换应用进程中的目标组件以修复上述异常状态。
可选地,该目标修复组件用于修复上述异常状态,该目标修复组件可以是在目标组件的基础上,根据异常状态对目标组件进行修复后得到的,也可以是根据异常状态重新对目标组件对应的功能模块的代码进行编辑后得到的,也即该目标修复组件相对于目标组件来说可以认为是一个全新的组件。
可选地,该异常状态可能是服务器中已处理过的异常状态,也可能是服务器中未处理过的异常状态。其中,当该异常状态是服务器中已处理过的异常状态时,终端接收服务器发送的第一目标修复组件,该第一目标修复组件是服务器中已存储的与异常报告对应的组件;当该异常状态是服务器中未处理过的异常状态时,服务器可以根据该异常报告对异常状态进行修复,也可以向终端发送指示消息,指示终端向服务器发送异常信息,并根据终端向服务器发送的异常信息对异常状态进行修复。
综上所述,本申请实施例提供的异常状态的修复方法,通过设置与应用进程独立且并列的守护进程对应用进程的运行状态进行监控,由于守护进程与应用进程之间相互独立,也即守护进程不会根据应用进程处于异常状态而发生异常,即使应用进程处于异常状态,守护进程也可以正常对应用进程的运行状态进行监控,并监控到该应用进程处于异常状态,以及生成异常报告并发送至服务器,以对该异常状态进行修复。避免由于应用进程中的检测线程随着应用线程的异常状态而无法继续进行检测,导致异常状态无法被修复的问题。
在一个可选的实施例中,服务器中已存储有与该异常状态对应的目标组件时,可以直接根据异常信息从服务器中获取该目标组件进行替换。如图3所示,图3是本申请另一个示例性实施例提供的异常状态的修复方法,以该方法应用在如图1所示的终端11中为例进行说明,该方法包括:
步骤301,终端启动目标应用程序的应用进程。
可选地,该目标应用程序可以是企业应用程序、视频应用程序、即时通讯应用程序、购物应用程序、金融应用程序、导航应用程序、游戏应用程序中的至少一种。
可选地,该应用进程为目标应用程序在终端中运行时的载体,也即该目标应用程序的运行是通过应用进程在终端中的运行实现的。
步骤302,终端通过守护进程监控应用进程的运行状态。
可选地,守护进程和应用进程是运行在终端中独立且并列的两个进程,也即,守护进程并不会根据应用进程的运行状态的改变而发生相应的改变。示意性的,应用进程在终端中运行时处于异常状态时,守护进程依旧可以处于正常运行状态运行。
可选地,上述应用进程中登录有第一帐号,上述守护进程中登录有与第一帐号关联的第二帐号。
可选地,该运行状态包括正常状态或异常状态,其中,正常状态和异常状态为并列的两种状态,也即应用进程在运行过程中可以处于正常状态,或者处于异常状态。
可选地,通过守护进程监控应用进程的运行状态时,包括如下方式中的至少一种:
第一种,通过守护进程定期向应用进程发送检测消息,该检测消息用于指示应用进程向守护进程回复应答消息,该应答消息用于表示应用进程未处于异常状态,当守护进程在预设时长内未接收到应答消息时,则确定该应用进程处于异常状态。
第二种,在应用进程中设置心跳检测机制,设置应用进程在启动后每隔预设时长向守护进程发送心跳检测消息,当守护进程距离上一次收到心跳检测消息的时长超过预设时长时,确定该应用进程处于异常状态。
步骤303,当应用进程处于异常状态时,终端通过守护进程获取与异常状态对应的异常信息。
可选地,守护进程调用信息获取线程以及动态链接库(Dynamic Link Library,DLL)获取与该异常状态对应的异常信息,可选地,该信息获取线程可以是***提供的用于对***信息进行获取的线程。
可选地,该异常信息包括终端的***信息和/或目标应用程序的运行信息。可选地,该异常信息包括如下信息中的至少一种:内存占用信息、中央处理器(CentralProcessing Unit,CPU)资源占用信息、输入输出(Input/Output,IO)资源占用信息、目标应用程序的版本信息、应用进程的堆栈信息等。
步骤304,终端通过守护进程计算异常信息对应的哈希值。
可选地,守护进程可以仅通过异常信息中的某一项对哈希值进行计算,如:通过应用进程的堆栈信息对哈希值进行计算;也可以将异常信息中的所有项的取值进行按序连接后,对哈希值进行计算,如:内存占用为35%、CPU占用为12%、IO占用为18%,则对数字串351218计算哈希值。
可选地,再通过异常信息计算哈希值时包括如下计算方式中的任意一种:消息摘要(Message-Digest,MD5)算法、安全散列算法(Secure Hash Algorithm,SHA)等。
其中,对MD5算法的运算过程进行简单介绍如下:对异常信息以512位为一组进行分组处理,将每一组划分为16个32位的子分组,对该划分得到的分组和子分组进行处理后,得到4个32位的分组,并将该4个32位的分组级联后生成一个128位的散列值即为该哈希值;而SHA算法还分为SHA-1、SHA-224、SHA-256、SHA-384,和SHA-512等,不同的SHA算法所应用的运算逻辑也是不同的。
步骤305,终端通过守护进程生成异常报告。
可选地,该异常报告中包括上述计算得到的哈希值。
步骤306,通过守护进程采用第二帐号向服务器发送异常报告。
可选地,该异常报告可以通过守护进程进行发送,也可以通过应用进程进行发送。
可选地,通过守护进程发送该异常报告时,守护进程会使用通过CS协议将异常报告发送至服务器。
可选地,守护进程中登录有第二帐号,故,通过守护进程发送异常报告时,是以第二帐号为发送帐号向服务器发送异常报告的。
步骤307,通过应用进程采用第一帐号向服务器发送异常报告。
当通过应用进程向服务器发送异常报告时,可以通过应用进程与服务器建立的长连接,将该异常报告发送至服务器。
可选地,针对上述步骤306及步骤307,由于应用进程处于异常状态,则可以优先通过守护进程以CS协议为通信协议发送该异常报告,当守护进程无法通过CS协议发送异常报告时,如:CS连接失败等情况,通过应用进程以应用进程与服务器建立的长连接作为发送通道发送该异常报告。
可选地,上述步骤306和步骤307为择一执行的步骤,即执行步骤306或执行步骤307,当执行步骤306失败后,可以继续选择执行步骤307。
可选地,由于应用进程处于异常状态,则可以等待应用进程下一次开启时,通过应用进程发送该异常报告;或,当应用进程停止异常状态时,通过应用进程发送该异常报告。如:应用进程处于卡顿状态后,等待应用进程的卡顿状态停止后,通过应用进程向服务器发送异常报告。
步骤308,服务器判断是否存储有与哈希值对应的第一目标修复组件。
可选地,服务器中存储有已修复的修复组件与哈希值的对应关系,服务器根据接收到的哈希值,与已存储的哈希值与修复组件的对应关系,确定服务器中是否已存储有与接收到的哈希值对应的目标修复组件。
示意性的,服务器中存储的已修复的修复组件与哈希值的对应关系如下表一所示,其中,修复组件包括组件标识,该表一中以组件标识表示修复组件:
表一
序号 | 哈希值 | 修复组件标识 |
1 | 56468155 64615645 | 001 |
2 | 23151515 69716667 | 002 |
3 | 14664489 | 003 |
示意性的,服务器接收到的哈希值为“23151515 69716667”,则服务器根据表一得到与该哈希值对应的修复组件为002,则服务器确定已存储有与该哈希值对应的第一目标修复组件。
可选地,当该哈希值在服务器中未存储有对应的目标修复组件,则服务器根据异常信息对目标组件进行修复得到目标修复组件后,将该目标修复组件与该哈希值进行对应存储,则当再有另一终端的目标应用程序中出现与该哈希值相同的异常状态时,服务器可以直接将该目标修复组件发送至该另一终端。
步骤309,当服务器中已存储有与哈希值对应的第一目标修复组件时,服务器向终端发送第一目标修复组件。
可选地,服务器可以通过服务器到客户机协议(Server-Client,SC)协议将该第一目标修复组件发送至终端。
步骤310,终端接收服务器发送的第一目标修复组件。
该第一目标修复组件用于替换应用进程中的目标组件以修复上述异常状态。可选地,终端可以通过守护进程接收该第一目标修复组件,并对应用进程中的目标组件进行替换。
步骤311,当服务器中未存储有与哈希值对应的第一目标修复组件时,服务器向终端发送指示消息。
可选地,该指示消息用于指示终端向服务器发送异常信息。可选地,该指示消息可以以数值的形式进行表达,该数值为服务器与目标应用程序约定的数值,如:该指示消息为“key=032”,其中,032为服务器与目标应用程序约定的用于表示发送异常信息的数值;也可以以指令的形式进行表达,如:该指示消息为“key=msg”,其中,msg用于表示异常信息。
可选地,服务器可以通过SC协议将该指示消息发送至终端。
步骤312,终端接收服务器发送的指示消息。
可选地,终端可以通过守护进程接收到该指示消息。
步骤313,终端通过守护进程根据指示消息采用第二帐号向服务器发送异常信息,或,终端通过应用进程根据指示消息采用第一帐号向服务器发送异常信息。
可选地,该异常信息以异常文件的方式发送至服务器。
首先,终端通过守护进程向服务器发送异常信息时,该守护进程以HTTP协议作为通信协议将异常信息上传至服务器。可选地,应用进程中登录有第一帐号,守护进程中登录有与第一帐号关联的第二帐号。当上述异常信息是守护进程以第二帐号作为发送帐号进行上传的信息时,该第二帐号用于在服务器中完成登录态校验。
可选地,服务器中还用于根据接收到的异常信息对应的发送帐号,将异常信息存储至与发送帐号对应的帐号目录下。
可选地,终端通过守护进程向服务器发送异常信息时,还附带发送有登录态信息,该登录态信息中包括守护进程中登录的帐号信息、时间戳以及登录票据,其中,帐号信息主要是指第二帐号的帐号标识,时间戳主要是指守护进程发送异常信息的时刻,登录票据主要是证明该守护进程中登录的帐号为第二帐号。
示意性的,应用进程中登录的第一帐号为“abc”,守护进程中登录的第二帐号为“def”,该第二帐号与第一帐号为绑定帐号,服务器接收到守护进程发送的异常信息时,首先检验发送该异常信息的帐号是否为与已存储的应用进程对应的第一帐号关联的第二帐号,即,服务器读取到发送该异常信息的帐号为“def”,且已存储的第一帐号与第二帐号的关联关系中包括第一帐号“abc”与第二帐号“def”的关联关系,则认为第二帐号完成登录态校验。
其次,当通过守护进程以HTTP协议作为通信协议上传异常信息被拦截时,通过应用进程以该应用进程与服务器建立的长连接作为通信通道,将异常信息上传至服务器。当终端处于企业网络中时,也即该终端连接的局域网为企业网络,通常企业网络会对HTTP请求进行拦截以防止通过企业网络传输的重要文件被泄露。
也即,终端优先通过守护进程以HTTP协议作为通信协议上传异常信息,当该方式无法上传异常信息时,再通过应用进程以该应用进程与服务器建立的长连接上传该异常信息。
可选地,通过守护进程上传异常信息的方式和通过应用进程上传异常信息的方式中,接收该异常信息的服务器可以是不同的,并在不同的服务器接收到异常信息后,再将该异常信息发送至存储服务器进行汇总。示意性的,通过守护进程将异常信息上传至企业文件存储服务器,企业文件存储服务器将接收到的异常信息发送至存储服务器进行保存,通过应用进程将异常信息上传至客户端存储服务器,客户端存储服务器将接收到的异常信息发送至存储服务器进行保存。
步骤314,服务器向终端发送第二目标修复组件。
可选地,该第二目标修复组件是根据异常信息对异常状态进行修复之后的组件。
步骤315,终端接收服务器发送的第二目标修复组件。
该第二目标修复组件用于替换应用进程中的目标组件以修复上述异常状态。
综上所述,本申请实施例提供的异常状态的修复方法,通过设置与应用进程独立且并列的守护进程对应用进程的运行状态进行监控,由于守护进程与应用进程之间相互独立,也即守护进程不会根据应用进程处于异常状态而发生异常,即使应用进程处于异常状态,守护进程也可以正常对应用进程的运行状态进行监控,并监控到该应用进程处于异常状态,以及生成异常报告并发送至服务器,以对该异常状态进行修复。避免由于应用进程中的检测线程随着应用线程的异常状态而无法继续进行检测,导致异常状态无法被修复的问题。
本实施例提供的方法,首先通过异常信息计算哈希值,并将该哈希值发送至服务器,当服务器中已存储有与该哈希值对应的第一目标修复组件时,则直接将该第一目标修复组件发送至终端以替换目标组件,而无需再根据该异常信息对异常状态进行修复亦可通过哈希值对异常状态进行修复,也即,针对已经出现过的同样的异常状态,可以通过哈希值进行识别,并直接向终端提供第一目标修复组件,提高了修复异常状态的效率。
本实施例提供的方法,优先通过守护进程建立与服务器之间的HTTP连接发送异常信息,避免由于应用进程处于异常状态无法通过应用进程发送异常信息的问题,且守护进程中登录有第二帐号,该第二帐号用于在服务器中进行登录态校验,避免服务器中存储的数据被恶意获取。
在一个示意性的实施例中,如图4所示,企业客户端40对应运行有守护进程41和应用进程42。其中,守护进程41通过向应用进程42发送检测消息检测该应用进程42是否处于异常状态,应用进程42用于向守护进程41发送应答消息以表示该应用进程42未处于异常状态。可选地,当应用进程42未向守护进程41发送应答消息时,则该应用进程42处于异常状态。当应用进程42处于异常状态时,守护进程41分析该应用进程42的堆栈信息,计算得到hash值后,将该hash值通过CS协议上传至企业客户端服务器43;当企业客户端服务器43中未存储与该hash值对应的目标修复模块的对应关系时向守护进程回复指示消息,守护进程41根据指示消息通过HTTP请求上传异常信息至企业文件存储服务器44,当HTTP请求被拦截时,通过应用进程42以长连接方式将该异常信息上传至客户端存储服务器45;可选地,企业文件存储服务器44以及客户端存储服务器45都会将接收到的异常信息发送至一台用于汇总异常信息的存储服务器46。当通过HTTP请求上传异常信息时,守护进程41接收企业文件存储服务器44发送的目标修复组件,并替换应用进程中的目标组件;当通过长连接上传异常信息时,守护进程41接收客户端存储服务器45发送的目标修复组件,并替换应用进程中的目标组件。
在一个可选的实施例中,守护进程还可以对出现异常状态之前,终端接收到的操作进行读取,并在再次接收到该操作时,提示用户会产生异常状态。图5是本申请另一个示例性实施例提供的异常状态的修复方法,如图5所示,以该方法应用于如图1所示的终端11中为例进行说明,该方法包括:
步骤501,启动目标应用程序的应用进程。
可选地,该目标应用程序可以是企业应用程序、视频应用程序、即时通讯应用程序、购物应用程序、金融应用程序、导航应用程序、游戏应用程序中的至少一种。
可选地,该应用进程为目标应用程序在终端中运行时的载体,也即该目标应用程序的运行是通过应用进程在终端中的运行实现的。
可选地,用户在显示屏中对目标应用程序的图标进行选择后,终端接收到选择信号,并根据该选择信号运行目标应用程序,即启动该目标应用程序的应用进程。
步骤502,通过守护进程监控应用进程的运行状态。
可选地,守护进程和应用进程是运行在终端中独立且并列的两个进程,也即,守护进程并不会根据应用进程的运行状态的改变而发生相应的改变。示意性的,应用进程在终端中运行时处于异常状态时,守护进程依旧可以处于正常运行状态运行。
可选地,该运行状态包括正常状态或异常状态,其中,正常状态和异常状态为并列的两种状态,也即应用进程在运行过程中可以处于正常状态,或者处于异常状态。
可选地,通过守护进程监控应用进程的运行状态时,包括如下方式中的至少一种:
第一种,通过守护进程定期向应用进程发送检测消息,该检测消息用于指示应用进程向守护进程回复应答消息,该应答消息用于表示应用进程未处于异常状态,当守护进程在预设时长内未接收到应答消息时,则确定该应用进程处于异常状态。可选地,守护进程定期发送检测消息是指,守护进程每隔预设时长向应用进程发送一次检测消息。
第二种,在应用进程中设置心跳检测机制,设置应用进程在启动后每隔预设时长向守护进程发送心跳检测消息,当守护进程距离上一次收到心跳检测消息的时长超过预设时长时,确定该应用进程处于异常状态。
步骤503,通过应用进程记录终端接收到的针对应用进程的操作。
可选地,应用进程记录接收到针对应用进程的操作可以是持续进行的。示意性的,该针对应用进程的操作包括如下操作中的至少一种:对按钮进行点击、对文件进行拖动、对窗口进行拖动、对窗口进行打开、打开音频功能、打开视频功能等。其中,对按钮进行点击还可以标记出被点击的按钮的标识,对窗口进行拖动还可以标记出被拖动的窗口的标识、对窗口进行打开还可以标记出被打开的窗口的标识,如:对按钮A进行点击。
步骤504,当应用进程出现异常状态后,通过守护进程读取异常状态出现之前被记录的一个操作。
可选地,当应用进程出现异常状态后,应用进程将该异常状态出现之前被记录的一个操作发送至守护进程,可选地,该被记录的一个操作可以是被记录的最近一个操作,也可以是被记录的至少两个操作中的任意一个操作。
可选地,守护进程将该操作记录在预设文件中,该预设文件为该应用进程中登录的第一帐号对应的号码文件。
示意性的,应用进程记录的终端接收到的针对应用进程的操作依次为:点击按钮A、拖动窗口B、拖动文件C、点击按钮D,当应用程序出现异常状态后,应用程序将出现异常状态之前被记录的最近一个操作,即“点击按钮D”发送至守护进程进行记录。
步骤505,当终端再次接收到该操作时,显示提示界面。
可选地,该提示界面用于对异常状态进行预警提示。
可选地,终端再次接收到该操作的时刻,异常状态已停止,即应用进程已暂时恢复至正常状态,但由于异常状态未被修复,无法确认该异常状态不会再次出现,故当终端再次接收到该操作时,显示提示界面。
示意性的,请参考图6,在目标应用程序的用户界面61中,终端接收到对控件62的点击操作,该点击操作导致应用进程处于卡顿状态,无法继续跳转与该控件62对应的界面,示意性的,如用户界面63所示,该用户界面63中的内容与用户界面61中的内容一致,且用户界面63中,提示有“未响应”的提示信息,即表示该应用进程处于卡顿状态。则当卡顿结束后,用户再次点击该控件62时,显示提示界面64,该提示界面64中显示有提示信息“该操作会造成卡顿,是否继续”。
步骤506,当应用进程出现异常状态后,通过守护进程读取异常状态出现之前被记录的一个操作序列组。
可选地,当应用进程出现异常状态后,应用进程将该异常状态出现之前被记录的一个操作序列组发送至守护进程,可选地,该被记录的操作序列组可以是被记录的最近n个操作。
可选地,守护进程将该操作序列组记录在预设文件中,该预设文件为该应用进程中登录的第一帐号对应的号码文件。
示意性的,应用进程记录的终端接收到的针对应用进程的操作依次为:点击按钮A、拖动窗口B、拖动文件C、点击按钮D,当应用程序出现异常状态后,应用程序将出现异常状态之前被记录的最近3个操作,即“拖动窗口B、拖动文件C、点击按钮D”发送至守护进程进行记录。
步骤507,当终端再次接收到该操作序列组时,显示提示界面。
可选地,终端再次接收到该操作的时刻,异常状态已停止,即应用进程已暂时恢复至正常状态,但由于异常状态未被修复,无法确认该异常状态不会再次出现,故当终端再次接收到该操作序列组时,显示提示界面,避免由于同样的操作造成同样的异常状态的出现。
步骤508,当应用进程出现异常状态,且恢复至正常状态后,通过应用进程卸载目标组件。
可选地,当应用进程出现异常状态后,可以直接通过应用进程卸载目标组件,也可以通过提示用户,并经过用户确认后卸载该目标组件。
可选地,当该异常状态的持续时长超过预设时长时,当该应用进程恢复至正常状态后,卸载该目标组件;和/或,当该异常状态的类别属于目标类别时,当该应用进程恢复至正常状态后,卸载该目标组件,示意性的,目标类别包括:闪退、黑屏,当该异常状态为黑屏状态时,当应用进程恢复至正常状态后,卸载上述目标组件。
可选地,由于应用进程正处于异常状态,故在该应用进程恢复至正常状态后,卸载目标组件。可选地,该恢复至正常状态是指应用进程的运行状态发生变化,而应用进程的异常状态尚未被修复,也即目标组件尚未被目标修复组件替换时。
示意性的,在步骤505及步骤507中,显示提示界面时,该提示消息可以时限为“该操作会造成卡顿,是否删除该组件”,并当用户确认删除后,卸载该目标组件。
也即,步骤508可以实现在步骤505或步骤507之后,也可以实现于步骤505之前,当步骤508实现于步骤505之前时,当步骤508被执行后,目标组件被卸载,则步骤505至步骤507无需再执行。
值得注意的是,当目标组件被卸载且目标修复组件尚未安装,而用户需要对该目标组件对应的功能进行应用时,可以通过配置命令行参数的方式强制启动该目标组件,也可以通过清理本地号码文件的方式,删除已记录的会造成异常状态的操作所对应的功能,从而强制启动目标组件。
步骤509,接收服务器发送的目标修复组件。
该目标组件用于替换应用进程中的目标组件以修复上述异常状态。
值得注意的是,本实施例中的方法可以与上述图2和/或图3的实施例结合实现,也即,接收服务器发送目标修复组件之前,向服务器发送异常报告或异常信息的方法可以通过图2和/或图3的实施例结合在图5的实施例中实现。
综上所述,本申请实施例提供的异常状态的修复方法,通过设置与应用进程独立且并列的守护进程对应用进程的运行状态进行监控,由于守护进程与应用进程之间相互独立,也即守护进程不会根据应用进程处于异常状态而发生异常,即使应用进程处于异常状态,守护进程也可以正常对应用进程的运行状态进行监控,并监控到该应用进程处于异常状态,以及生成异常报告并发送至服务器,以对该异常状态进行修复。避免由于应用进程中的检测线程随着应用线程的异常状态而无法继续进行检测,导致异常状态无法被修复的问题。
本申请实施例提供的方法,通过记录终端接收到的针对应用进程的操作,并确认在异常状态出现之前的一个或一组操作,当终端再次接收到该一个或一组操作时,可以显示提示界面对异常状态进行预警提示,在一定程度上可以避免再次由于相同的原因出现的同样的异常状态。
本实施例提供的方法,通过在出现异常状态后卸载目标组件,避免目标组件对应的功能再次被调用而再次造成异常状态的出现,且用户可以对目标应用程序的其他功能进行正常的使用。
图7是本申请另一个示例性实施例提供的异常状态的修复方法的流程图,以异常状态为卡顿为例进行说明,如图7所示,该方法包括:
步骤701,通过守护进程检测应用进程是否处于卡顿状态。
可选地,该应用进程可以是企业客户端的应用进程,也可以是其他客户端的应用进程。当应用进程不处于卡顿状态时,继续执行循环执行步骤701。
步骤702,当应用进程处于卡顿状态时,收集堆栈信息。
可选地,该堆栈信息为目标应用程序当前的堆栈信息。
步骤703,计算hash值。
可选地,根据该堆栈信息计算该hash值,具体计算方式已在上述步骤304中进行了说明,此处不再赘述。
步骤704,上传hash值。
步骤705,当服务器中已有该hash值时,终端下载对应的模块以替换。
可选地,当服务器中已有与该hash值对应的目标修复模块时,下载该目标修复模块以替换目标模块。
步骤706,当应用进程处于卡顿状态时,存储卡顿文件。
可选地,该卡顿文件即为上述卡顿信息,该卡顿文件中包括内存占用信息、CPU资源占用信息、IO资源占用信息、目标应用程序的版本信息、应用进程的堆栈信息中的至少一种。
步骤707,上传卡顿文件。
步骤708,当应用进程处于卡顿状态时,记录操作步骤。
步骤709,当操作步骤被重复时,显示提示界面。
可选地,该提示界面用于提示用户该操作步骤会导致异常状态的产生,和/或,该提示界面用于提示用户删除引起该卡顿状态的模块。
步骤710,当应用进程处于卡顿状态时,卸载模块。
图8是本申请一个示例性实施例提供的异常状态的修复装置的结构框图,如图8所示,该装置包括启动模块81、监控模块82、获取模块83、生成模块84、发送模块85以及接收模块86;
启动模块81,用于启动目标应用程序的应用进程;
监控模块82,用于通过守护进程监控所述应用进程的运行状态,所述守护进程和所述应用进程是运行在终端中独立且并列的两个进程,所述运行状态包括异常状态或正常状态,所述应用进程中登录有第一帐号,所述守护进程中登录有与所述第一帐号关联的第二帐号;
获取模块83,用于当所述应用进程处于所述异常状态时,通过所述守护进程获取与所述异常状态对应的异常信息;
生成模块84,用于通过所述守护进程根据所述异常信息生成异常报告,所述异常报告用于指示所述应用进程中的目标组件在运行过程中引发所述异常状态;
发送模块85,用于通过所述守护进程采用所述第二帐号向服务器发送所述异常报告,或,通过所述应用进程采用所述第一帐号向所述服务器发送所述异常报告;
接收模块86,用于接收所述服务器发送的目标修复组件,所述目标修复组件用于通过替换所述应用进程中的所述目标组件修复所述异常状态。
在一个可选的实施例中,所述异常状态是所述服务器中已处理过的异常状态;
所述接收模块86,还用于接收所述服务器发送的第一目标修复组件,所述第一目标修复组件是所述服务器中已存储的与所述异常报告对应的组件。
在一个可选的实施例中,如图9所示,所述生成模块84,包括:
计算子模块841,用于通过所述守护进程计算所述异常信息对应的哈希值;
所述生成模块84,还用于通过所述守护进程生成所述异常报告,所述异常报告中包括所述哈希值,所述第一目标修复组件是所述服务器中已存储的与所述哈希值对应的组件。
在一个可选的实施例中,所述接收模块86,还用于接收所述服务器发送的指示消息,所述指示消息是所述服务器中未存储有与所述异常报告对应的修复组件时向所述终端发送的,所述指示消息用于指示所述终端向所述服务器发送所述异常信息;
所述发送模块85,还用于通过所述守护进程根据所述指示消息采用所述第二帐号向所述服务器发送所述异常信息,或,通过所述应用进程根据所述指示消息采用所述第一帐号向所述服务器发送所述异常信息;
所述接收模块86,还用于接收所述服务器根据所述异常信息发送的第二目标修复组件,所述第二目标修复组件是根据所述异常信息对所述异常状态进行修复之后的组件。
在一个可选的实施例中,所述发送模块85,还用于通过所述守护进程以超文本传输协议作为通信协议采用所述第二帐号将所述异常信息上传至所述服务器。
在一个可选的实施例中,所述发送模块85,还用于当通过所述守护进程以所述超文本传输协议作为通信协议上传所述异常信息被拦截时,通过所述应用进程以所述应用进程与所述服务器建立的长连接作为通信通道,采用所述第一帐号将所述异常信息上传至所述服务器。
在一个可选的实施例中,所述监控模块82,还用于通过所述守护进程定期向所述应用进程发送检测消息,所述检测消息用于指示所述应用进程向所述守护进程回复应答消息,所述应答消息用于表示所述应用进程未处于所述异常状态;当所述守护进程在预设时长内未接收到所述应答消息时,确定所述应用进程处于所述异常状态。
在一个可选的实施例中,所述装置,还包括:
记录模块87,用于通过所述应用进程记录终端接收到的针对所述应用进程的操作;
显示模块88,用于当所述应用进程出现所述异常状态后,通过所述守护进程读取所述异常状态出现之前被记录的一个操作,当所述终端再次接收到所述操作时,显示提示界面,所述提示界面用于对所述异常状态进行预警提示;或,通过所述守护进程读取所述异常状态出现之前被记录的一个操作序列组,当所述终端再次接收到所述操作序列组时,显示所述提示界面。
在一个可选的实施例中,所述装置还包括:
卸载模块89,用于当所述应用进程出现所述异常状态,且恢复至所述正常状态后,通过所述应用进程卸载所述目标组件。
综上所述,本申请实施例提供的异常状态的修复装置,通过设置与应用进程独立且并列的守护进程对应用进程的运行状态进行监控,由于守护进程与应用进程之间相互独立,也即守护进程不会根据应用进程处于异常状态而发生异常,即使应用进程处于异常状态,守护进程也可以正常对应用进程的运行状态进行监控,并监控到该应用进程处于异常状态,以及生成异常报告并发送至服务器,以对该异常状态进行修复,避免由于应用进程中的检测线程随着应用线程的异常状态而无法继续进行检测,导致异常状态无法被修复的问题。
图10示出了本发明一个示例性实施例提供的终端1000的结构框图。该终端1000可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1000还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1000包括有:处理器1001和存储器1002。
处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1001可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1001还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的异常状态的修复方法。
在一些实施例中,终端1000还可选包括有:***设备接口1003和至少一个***设备。处理器1001、存储器1002和***设备接口1003之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口1003相连。具体地,***设备包括:射频电路1004、触摸显示屏1005、摄像头1006、音频电路1007、定位组件1008和电源1009中的至少一种。
***设备接口1003可被用于将I/O(Input/Output,输入/输出)相关的至少一个***设备连接到处理器1001和存储器1002。在一些实施例中,处理器1001、存储器1002和***设备接口1003被集成在同一芯片或电路板上;在一些其他实施例中,处理器1001、存储器1002和***设备接口1003中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1004用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1004通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1004将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1004包括:天线***、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1004可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1004还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1005用于显示UI(UserInterface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1001进行处理。此时,显示屏1005还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1005可以为一个,设置终端1000的前面板;在另一些实施例中,显示屏1005可以为至少两个,分别设置在终端1000的不同表面或呈折叠设计;在再一些实施例中,显示屏1005可以是柔性显示屏,设置在终端1000的弯曲表面上或折叠面上。甚至,显示屏1005还可以设置成非矩形的不规则图形,也即异形屏。显示屏1005可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1006还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1007可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1001进行处理,或者输入至射频电路1004以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1000的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1001或射频电路1004的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1007还可以包括耳机插孔。
定位组件1008用于定位终端1000的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1008可以是基于美国的GPS(GlobalPositioning System,全球定位***)、中国的北斗***或俄罗斯的伽利略***的定位组件。
电源1009用于为终端1000中的各个组件进行供电。电源1009可以是交流电、直流电、一次性电池或可充电电池。当电源1009包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。
加速度传感器1011可以检测以终端1000建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1011可以用于检测重力加速度在三个坐标轴上的分量。处理器1001可以根据加速度传感器1011采集的重力加速度信号,控制触摸显示屏1005以横向视图或纵向视图进行用户界面的显示。加速度传感器1011还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1012可以检测终端1000的机体方向及转动角度,陀螺仪传感器1012可以与加速度传感器1011协同采集用户对终端1000的3D动作。处理器1001根据陀螺仪传感器1012采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1013可以设置在终端1000的侧边框和/或触摸显示屏1005的下层。当压力传感器1013设置在终端1000的侧边框时,可以检测用户对终端1000的握持信号,由处理器1001根据压力传感器1013采集的握持信号进行左右手识别或快捷操作。当压力传感器1013设置在触摸显示屏1005的下层时,由处理器1001根据用户对触摸显示屏1005的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1014用于采集用户的指纹,由处理器1001根据指纹传感器1014采集到的指纹识别用户的身份,或者,由指纹传感器1014根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1001授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1014可以被设置终端1000的正面、背面或侧面。当终端1000上设置有物理按键或厂商Logo时,指纹传感器1014可以与物理按键或厂商Logo集成在一起。
光学传感器1015用于采集环境光强度。在一个实施例中,处理器1001可以根据光学传感器1015采集的环境光强度,控制触摸显示屏1005的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1005的显示亮度;当环境光强度较低时,调低触摸显示屏1005的显示亮度。在另一个实施例中,处理器1001还可以根据光学传感器1015采集的环境光强度,动态调整摄像头组件1006的拍摄参数。
接近传感器1016,也称距离传感器,通常设置在终端1000的前面板。接近传感器1016用于采集用户与终端1000的正面之间的距离。在一个实施例中,当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变小时,由处理器1001控制触摸显示屏1005从亮屏状态切换为息屏状态;当接近传感器1016检测到用户与终端1000的正面之间的距离逐渐变大时,由处理器1001控制触摸显示屏1005从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图10中示出的结构并不构成对终端1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述实施例中所述的异常状态的修复方法。
可选地,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、固态硬盘(SSD,Solid State Drives)或光盘等。其中,随机存取记忆体可以包括电阻式随机存取记忆体(ReRAM,Resistance RandomAccess Memory)和动态随机存取存储器(DRAM,Dynamic Random Access Memory)。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种异常状态的修复方法,其特征在于,所述方法包括:
启动目标应用程序的应用进程;
通过守护进程监控所述应用进程的运行状态,所述守护进程和所述应用进程是运行在终端中独立且并列的两个进程,所述运行状态包括异常状态或正常状态,所述应用进程中登录有第一帐号,所述守护进程中登录有与所述第一帐号关联的第二帐号;
当所述应用进程处于所述异常状态时,通过所述守护进程获取与所述异常状态对应的异常信息;
通过所述守护进程根据所述异常信息生成异常报告,所述异常报告用于指示所述应用进程中的目标组件在运行过程中引发所述异常状态;
通过所述守护进程采用所述第二帐号向服务器发送所述异常报告,或,通过所述应用进程采用所述第一帐号向所述服务器发送所述异常报告;
响应于所述异常状态的持续时长超过预设时长,且所述应用进程恢复至所述正常状态后,通过所述应用进程卸载所述目标组件;和/或,响应于所述异常状态的类别属于目标类别,且所述应用进程恢复至所述正常状态后,通过所述应用进程卸载所述目标组件;其中,所述应用进程恢复至所述正常状态是指所述应用进程的运行状态发生变化,而所述应用进程的所述异常状态尚未被修复;
接收所述服务器发送的目标修复组件,所述目标修复组件用于通过替换所述应用进程中的所述目标组件修复所述异常状态。
2.根据权利要求1所述的方法,其特征在于,所述异常状态是所述服务器中已处理过的异常状态;
所述接收所述服务器发送的目标修复组件,包括:
接收所述服务器发送的第一目标修复组件,所述第一目标修复组件是所述服务器中已存储的与所述异常报告对应的组件。
3.根据权利要求2所述的方法,其特征在于,所述通过所述守护进程生成异常报告,包括:
通过所述守护进程计算所述异常信息对应的哈希值;
通过所述守护进程生成所述异常报告,所述异常报告中包括所述哈希值,所述第一目标修复组件是所述服务器中已存储的与所述哈希值对应的组件。
4.根据权利要求1所述的方法,其特征在于,所述接收所述服务器发送的目标修复组件,包括:
接收所述服务器发送的指示消息,所述指示消息是所述服务器中未存储有与所述异常报告对应的修复组件时向所述终端发送的,所述指示消息用于指示所述终端向所述服务器发送所述异常信息;
通过所述守护进程采用所述第二帐号根据所述指示消息向所述服务器发送所述异常信息,或,通过所述应用进程采用所述第一帐号根据所述指示消息向所述服务器发送所述异常信息;
接收所述服务器根据所述异常信息发送的第二目标修复组件,所述第二目标修复组件是根据所述异常信息对所述异常状态进行修复之后的组件。
5.根据权利要求4所述的方法,其特征在于,所述通过所述守护进程采用所述第二帐号根据所述指示消息向所述服务器发送所述异常信息,包括:
通过所述守护进程以超文本传输协议作为通信协议采用所述第二帐号将所述异常信息上传至所述服务器。
6.根据权利要求5所述的方法,其特征在于,所述通过所述应用进程采用所述第一帐号根据所述指示消息向所述服务器发送所述异常信息,包括:
当通过所述守护进程以所述超文本传输协议作为通信协议上传所述异常信息被拦截时,通过所述应用进程以所述应用进程与所述服务器建立的长连接作为通信通道,采用所述第一帐号将所述异常信息上传至所述服务器。
7.根据权利要求1至6任一所述的方法,其特征在于,所述通过守护进程监控所述应用进程的运行状态,包括:
通过所述守护进程定期向所述应用进程发送检测消息,所述检测消息用于指示所述应用进程向所述守护进程回复应答消息,所述应答消息用于表示所述应用进程未处于所述异常状态;
当所述守护进程在预设时长内未接收到所述应答消息时,确定所述应用进程处于所述异常状态。
8.根据权利要求1至6任一所述的方法,其特征在于,将所述应用进程中的所述目标组件替换为所述目标修复组件之前,还包括:
通过所述应用进程记录终端接收到的针对所述应用进程的操作;
当所述应用进程出现所述异常状态后,通过所述守护进程读取所述异常状态出现之前被记录的一个操作,当所述终端再次接收到所述操作时,显示提示界面,所述提示界面用于对所述异常状态进行预警提示;或,通过所述守护进程读取所述异常状态出现之前被记录的一个操作序列组,当所述终端再次接收到所述操作序列组时,显示所述提示界面。
9.一种异常状态的修复装置,其特征在于,所述装置包括:
启动模块,用于启动目标应用程序的应用进程;
监控模块,用于通过守护进程监控所述应用进程的运行状态,所述守护进程和所述应用进程是运行在终端中独立且并列的两个进程,所述运行状态包括异常状态或正常状态,所述应用进程中登录有第一帐号,所述守护进程中登录有与所述第一帐号关联的第二帐号;
获取模块,用于当所述应用进程处于所述异常状态时,通过所述守护进程获取与所述异常状态对应的异常信息;
生成模块,用于通过所述守护进程根据所述异常信息生成异常报告,所述异常报告用于指示所述应用进程中的目标组件在运行过程中引发所述异常状态;
发送模块,用于通过所述守护进程采用所述第二帐号向服务器发送所述异常报告,或,通过所述应用进程采用所述第一帐号向所述服务器发送所述异常报告;
卸载模块,用于响应于所述异常状态的持续时长超过预设时长,且所述应用进程恢复至所述正常状态后,通过所述应用进程卸载所述目标组件;和/或,响应于所述异常状态的类别属于目标类别,且所述应用进程恢复至所述正常状态后,通过所述应用进程卸载所述目标组件;其中,所述应用进程恢复至所述正常状态是指所述应用进程的运行状态发生变化,而所述应用进程的所述异常状态尚未被修复;
接收模块,用于接收所述服务器发送的目标修复组件,所述目标修复组件用于通过替换所述应用进程中的所述目标组件修复所述异常状态。
10.根据权利要求9所述的装置,其特征在于,所述异常状态是所述服务器中已处理过的异常状态;
所述接收模块,还用于接收所述服务器发送的第一目标修复组件,所述第一目标修复组件是所述服务器中已存储的与所述异常报告对应的组件。
11.根据权利要求10所述的装置,其特征在于,所述生成模块,包括:
计算子模块,用于通过所述守护进程计算所述异常信息对应的哈希值;
所述生成模块,还用于通过所述守护进程生成所述异常报告,所述异常报告中包括所述哈希值,所述第一目标修复组件是所述服务器中已存储的与所述哈希值对应的组件。
12.根据权利要求9所述的装置,其特征在于,所述接收模块,还用于接收所述服务器发送的指示消息,所述指示消息是所述服务器中未存储有与所述异常报告对应的修复组件时向所述终端发送的,所述指示消息用于指示所述终端向所述服务器发送所述异常信息;
所述发送模块,还用于通过所述守护进程根据所述指示消息采用所述第二帐号向所述服务器发送所述异常信息,或,通过所述应用进程根据所述指示消息采用所述第一帐号向所述服务器发送所述异常信息;
所述接收模块,还用于接收所述服务器根据所述异常信息发送的第二目标修复组件,所述第二目标修复组件是根据所述异常信息对所述异常状态进行修复之后的组件。
13.根据权利要求12所述的装置,其特征在于,所述发送模块,还用于通过所述守护进程以超文本传输协议作为通信协议采用所述第二帐号将所述异常信息上传至所述服务器。
14.一种计算机可读存储介质,其特征在于,所述可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至8任一所述的异常状态的修复方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811205143.0A CN111064590B (zh) | 2018-10-16 | 2018-10-16 | 异常状态的修复方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811205143.0A CN111064590B (zh) | 2018-10-16 | 2018-10-16 | 异常状态的修复方法、装置及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111064590A CN111064590A (zh) | 2020-04-24 |
CN111064590B true CN111064590B (zh) | 2021-12-14 |
Family
ID=70296745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811205143.0A Active CN111064590B (zh) | 2018-10-16 | 2018-10-16 | 异常状态的修复方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111064590B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111858177B (zh) * | 2020-07-22 | 2023-12-26 | 广州六环信息科技有限公司 | 进程间通信的异常修复方法、装置、电子设备及存储介质 |
CN112307465A (zh) * | 2020-10-30 | 2021-02-02 | 上海中通吉网络技术有限公司 | 应对应用程序被查杀的保活拉活方法、存储介质及设备 |
CN112363870B (zh) * | 2020-11-20 | 2022-07-29 | 广州太平洋电脑信息咨询有限公司 | 应用程序开发处理方法、装置、计算机设备和存储介质 |
CN112650565A (zh) * | 2020-12-21 | 2021-04-13 | ***股份有限公司 | 一种应用进程恢复方法及装置 |
CN112769652B (zh) * | 2021-01-14 | 2022-12-16 | 苏州浪潮智能科技有限公司 | 一种节点服务监控方法、装置、设备及介质 |
CN112905230B (zh) * | 2021-03-16 | 2024-06-28 | 深圳市麦谷科技有限公司 | 应用程序的管理方法、装置、终端设备和存储介质 |
CN113468023A (zh) * | 2021-07-09 | 2021-10-01 | 中国电信股份有限公司 | 监控方法、装置、介质及电子设备 |
CN113535579A (zh) * | 2021-07-28 | 2021-10-22 | 展讯半导体(成都)有限公司 | 一种异常定位方法及相关装置 |
CN113867847A (zh) * | 2021-11-30 | 2021-12-31 | 统信软件技术有限公司 | 一种异常插件处理方法、装置及计算设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855181A (zh) * | 2011-07-01 | 2013-01-02 | 腾讯科技(深圳)有限公司 | 软件修复方法及*** |
CN106708643A (zh) * | 2016-11-14 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 异常信息处理方法及装置 |
CN108446226A (zh) * | 2018-03-08 | 2018-08-24 | 北京小米移动软件有限公司 | 应用异常的处理方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104809400A (zh) * | 2015-04-28 | 2015-07-29 | 联动优势科技有限公司 | 一种进程保护的方法及装置 |
US10073753B2 (en) * | 2016-02-14 | 2018-09-11 | Dell Products, Lp | System and method to assess information handling system health and resource utilization |
CN107515796B (zh) * | 2017-07-31 | 2020-08-25 | 奇安信科技集团股份有限公司 | 一种设备异常监控处理方法及装置 |
-
2018
- 2018-10-16 CN CN201811205143.0A patent/CN111064590B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855181A (zh) * | 2011-07-01 | 2013-01-02 | 腾讯科技(深圳)有限公司 | 软件修复方法及*** |
CN106708643A (zh) * | 2016-11-14 | 2017-05-24 | 武汉斗鱼网络科技有限公司 | 异常信息处理方法及装置 |
CN108446226A (zh) * | 2018-03-08 | 2018-08-24 | 北京小米移动软件有限公司 | 应用异常的处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111064590A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111064590B (zh) | 异常状态的修复方法、装置及可读存储介质 | |
CN110232048B (zh) | 日志文件的获取方法、装置及存储介质 | |
CN108306771B (zh) | 日志上报方法、装置及*** | |
CN107979851B (zh) | 异常数据上报方法及装置 | |
CN106708734B (zh) | 软件异常检测方法及装置 | |
WO2015154670A1 (en) | Method and apparatus for invoking application programming interface | |
CN110569220B (zh) | 游戏资源文件的展示方法、装置、终端及存储介质 | |
CN111061550A (zh) | 任务处理方法、装置、设备及存储介质 | |
CN113204298A (zh) | 显示发布进度的方法、装置、电子设备及存储介质 | |
CN109726064B (zh) | 模拟客户端异常运行的方法、装置、***及存储介质 | |
CN111290896A (zh) | 服务器压力的测试方法、装置、设备及介质 | |
CN109684123B (zh) | 问题资源定位方法、装置、终端及存储介质 | |
CN108229171A (zh) | 驱动程序处理方法、装置及存储介质 | |
CN109600301B (zh) | 消息处理方法及装置 | |
CN110677262A (zh) | 基于区块链的信息公证方法、装置及*** | |
EP3129883B1 (en) | Method and apparatus for repairing dynamic link library file | |
CN110399246B (zh) | 程序修复方法和装置 | |
CN112231666A (zh) | 违规帐号的处理方法、装置、终端、服务器及存储介质 | |
CN107800720B (zh) | 劫持上报方法、装置、存储介质及设备 | |
CN111258683A (zh) | 检测方法、装置、计算机设备及存储介质 | |
CN110225106A (zh) | 一种数据传输方法、装置及存储介质 | |
CN113591090B (zh) | 程序漏洞的上报方法、装置、设备及存储介质 | |
CN113282243B (zh) | 存储对象文件的方法及装置 | |
CN112528311B (zh) | 数据管理方法、装置及终端 | |
CN110971692B (zh) | 开通服务的方法、装置及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022122 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |