异常状态的修复方法、装置及可读存储介质制造方法及图纸

技术编号:23938265 阅读:26 留言:0更新日期:2020-04-25 04:00
本申请公开了一种异常状态的修复方法、装置及可读存储介质,涉及计算机技术领域。该方法包括:启动目标应用程序的应用进程;通过守护进程监控应用进程的运行状态;当应用进程处于异常状态时,通过守护进程生成异常报告;向服务器发送异常报告;接收服务器发送的目标修复组件。通过设置与应用进程独立且并列的守护进程对应用进程的运行状态进行监控,由于守护进程与应用进程之间相互独立,也即守护进程不会根据应用进程处于异常状态而发生异常,即使应用进程处于异常状态,守护进程也可以正常对应用进程的运行状态进行监控,并监控到该应用进程处于异常状态,以及生成异常报告并发送至服务器,以对该异常状态进行修复。

Repair method, device and readable storage medium of abnormal state

【技术实现步骤摘要】
异常状态的修复方法、装置及可读存储介质
本申请实施例涉及计算机
,特别涉及一种异常状态的修复方法、装置及可读介质。
技术介绍
用户在对终端中安装的应用程序进行使用的过程中,经常会由于应用程序本身的漏洞(英文: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.一种异常状态的修复方法,其特征在于,所述方法包括:/n启动目标应用程序的应用进程;/n通过守护进程监控所述应用进程的运行状态,所述守护进程和所述应用进程是运行在终端中独立且并列的两个进程,所述运行状态包括异常状态或正常状态,所述应用进程中登录有第一帐号,所述守护进程中登录有与所述第一帐号关联的第二帐号;/n当所述应用进程处于所述异常状态时,通过所述守护进程获取与所述异常状态对应的异常信息;/n通过所述守护进程根据所述异常信息生成异常报告,所述异常报告用于指示所述应用进程中的目标组件在运行过程中引发所述异常状态;/n通过所述守护进程采用所述第二帐号向服务器发送所述异常报告,或,通过所述应用进程采用所述第一帐号向所述服务器发送所述异常报告;/n接收所述服务器发送的目标修复组件,所述目标修复组件用于通过替换所述应用进程中的所述目标组件修复所述异常状态。/n

【技术特征摘要】
1.一种异常状态的修复方法,其特征在于,所述方法包括:
启动目标应用程序的应用进程;
通过守护进程监控所述应用进程的运行状态,所述守护进程和所述应用进程是运行在终端中独立且并列的两个进程,所述运行状态包括异常状态或正常状态,所述应用进程中登录有第一帐号,所述守护进程中登录有与所述第一帐号关联的第二帐号;
当所述应用进程处于所述异常状态时,通过所述守护进程获取与所述异常状态对应的异常信息;
通过所述守护进程根据所述异常信息生成异常报告,所述异常报告用于指示所述应用进程中的目标组件在运行过程中引发所述异常状态;
通过所述守护进程采用所述第二帐号向服务器发送所述异常报告,或,通过所述应用进程采用所述第一帐号向所述服务器发送所述异常报告;
接收所述服务器发送的目标修复组件,所述目标修复组件用于通过替换所述应用进程中的所述目标组件修复所述异常状态。


2.根据权利要求1所述的方法,其特征在于,所述异常状态是所述服务器中已处理过的异常状态;
所述接收所述服务器发送的目标修复组件,包括:
接收所述服务器发送的第一目标修复组件,所述第一目标修复组件是所述服务器中已存储的与所述异常报告对应的组件。


3.根据权利要求2所述的方法,其特征在于,所述通过所述守护进程生成异常报告,包括:
通过所述守护进程计算所述异常信息对应的哈希值;
通过所述守护进程生成所述异常报告,所述异常报告中包括所述哈希值,所述第一目标修复组件是所述服务器中已存储的与所述哈希值对应的组件。


4.根据权利要求1所述的方法,其特征在于,所述接收所述服务器发送的目标修复组件,包括:
接收所述服务器发送的指示消息,所述指示消息是所述服务器中未存储有与所述异常报告对应的修复组件时向所述终端发送的,所述指示消息用于指示所述终端向所述服务器发送所述异常信息;
通过所述守护进程采用所述第二帐号根据所述指示消息向所述服务器发送所述异常信息,或,通过所述应用进程采用所述第一帐号根据所述指示消息向所述服务器发送所述异常信息;
接收所述服务器根据所述异常信息发送的第二目标修复组件,所述第二目标修复组件是根据所述异常信息对所述异常状态进行修复之后的组件。


5.根据权利要求4所述的方法,其特征在于,所述通过所述守护进程采用所述第二帐号根据所述指示消息向所述服务器发送所述异常信息,包括:
通过所述守护进程以超文本传输协议作为通信协议采用所述第二帐号将所述异常信息上传至所述服务器。


6.根据权利要求5所述的方法,其特征在于,所述通过所述应用进程采用所述第一帐号根据所述指示消息向所述服务器发送所述异常信息,包括:
当通过所述守护进程以所述超文本传输协议作为通信协议上传所述异常信息被拦截时,通过所述应用进程以所述应用进程与所述服务器建立的长连接作为通信通道,采用所述第一帐号将所述异常信息上传至所述服务器。


7.根据权利要求1至6任一所述的方法,其特征在于,所述通过守护进程监控所述应用进程的运行状态,包括:
通过所述守护进程定期向所述应用进程发送检测消息,所述检测消息用于指示所述应用进程向所述守护进程回复应答消息,所述应答消息用于表示所述应用进程未处于所述异常状态;
当所述守护进程在预设时长内未接收到所述应答消息时,确定所述应用进程处于所述异常状态。


8.根据权利要求1至6任一所述的方法,其特征在于,所述将所述应用进程中的所述目标组件替换为所述目标修复组件之前,还...

【专利技术属性】
技术研发人员:方昭潭潘林锋徐郎特
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1