一种信息处理方法及装置制造方法及图纸

技术编号:18458603 阅读:28 留言:0更新日期:2018-07-18 12:37
本申请公开了一种信息处理方法及装置。该方法应用于客户端,包括:当客户端被启动时,创建并运行客户端的进程;监测异常处理执行模块,异常处理执行模块用于处理在进程中发生的至少一个异常;根据监测到的异常处理执行模块的运行状态,针对进程设置异常处理标记;及,根据异常处理标记判断进程是否崩溃。利用这些技术方案,提供了一种通用于各类客户端的崩溃感知方法,提高了用户终端运行的稳定性和资源利用率。

A method and device for information processing

The application discloses an information processing method and device. The method is applied to the client, including: when the client is started, the process of creating and running the client; monitoring the exception handling execution module; the exception handling execution module is used to handle at least one exception in the process; the execution state of the module is executed according to the monitored exception handling, and the exception is set against the process. Processing marks; and, judging by the exception handling mark, whether the process is crumbling. Using these technical solutions, a crash perception method that is common to all kinds of clients is provided, which improves the stability and resource utilization of user terminals.

【技术实现步骤摘要】
一种信息处理方法及装置
本申请涉及信息处理
,尤其涉及一种信息处理方法及装置。
技术介绍
在计算机系统中,当操作系统或某个客户端的应用程序运行时,常常会遇到各种各样的异常,例如,除零、非法内存访问、文件打开错误、内存不足、磁盘读写错误、外设操作失败等。为了保证应用程序在遇到异常时仍能够健壮稳定地继续运行,操作系统会对运行在其中的进程提供一次补救的机会来处理异常,这种机制常被称为异常处理机制。软件开发人员可以通过这种异常处理机制来了解应用程序是否发生了异常,当异常发生时,判断应用程序是可以继续执行,或是不能继续执行。但是,目前windows操作系统中的异常处理机制并没有针对异常处理的结果提供一个准确上报的方法。因此,如何准确的感知异常是否处理完毕、应用程序是否能够继续执行,成为软件开发中的关键问题。
技术实现思路
有鉴于此,本专利技术提供了一种信息处理方法及装置,能够有效、准确的感知客户端的进程在运行过程中出现异常后发生的崩溃,提高了用户终端运行的稳定性和资源利用率。本专利技术的技术方案是这样实现的:本专利技术提供了一种信息处理方法,应用于客户端,包括:当所述客户端被启动时,创建并运行所述客户端的进程;监测异常处理执行模块,所述异常处理执行模块用于处理在所述进程中发生的至少一个异常;根据监测到的所述异常处理执行模块的运行状态,针对所述进程设置异常处理标记;及,根据所述异常处理标记判断所述进程是否崩溃。本专利技术还提供了一种信息处理装置,所述装置位于客户端内,当所述客户端被启动时,创建并运行所述客户端的进程,所述装置包括:监测模块,用于监测异常处理执行模块,所述异常处理执行模块用于处理在所述进程中发生的至少一个异常;设置模块,用于根据所述监测模块监测到的所述异常处理执行模块的运行状态,针对所述进程设置异常处理标记;及,判断模块,用于根据所述设置模块设置的异常处理标记判断所述进程是否崩溃。此外,本专利技术还提供了一种计算机可读存储介质,存储有计算机可读指令,可以使至少一个处理器执行本申请实施例中所述的方法。与现有技术相比,本专利技术实施例提供了一种通用于各类客户端的崩溃感知方法,可以在不获知客户端代码的前提下,通过接管操作系统的部分功能(即异常处理执行模块),不破坏原有的异常处理机制,准确的判断出异常处理流程对异常处理的最终结果,有效的监控客户端的运营质量,避免事故和突发事件,提高了用户终端运行的稳定性和资源利用率。附图说明为了更清楚的说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,图1为本专利技术一实施例的信息处理系统的结构示意图;图2为依据本专利技术一实施例的信息处理方法的示例性流程图;图3为依据本专利技术另一实施例的信息处理方法的示例性流程图;图4为依据本专利技术又一实施例的信息处理方法的示例性流程图;图5为依据本专利技术一实施例的崩溃统计数据的示意图;图6依据本专利技术一实施例的客户端的结构示意图;图7为依据本专利技术另一实施例的客户端的结构示意图;图8为依据本专利技术一实施例的信息处理装置的结构示意图;图9为依据本专利技术另一实施例的信息处理装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术一实施例的信息处理系统的结构示意图。如图1所示,信息处理系统100包括用户终端200和服务器300。其中,用户终端200中安装有客户端210和操作系统220。客户端210以进程的形式基于操作系统220进行运行。当客户端210的进程211在运行发生过程中发生异常时,操作系统200中的异常处理流程221感知该异常并且寻找已注册的异常处理函数来处理该异常。根据本专利技术的实施例,为了能够准确感知、捕获客户端的进程中异常处理的结果,在客户端210中安装有专用的异常处理结果的分析组件212。异常处理结果的分析组件212监测异常处理执行模块2211和异常处理查找模块2212的运行状态,根据二者的运行状态对进程进行异常处理标记,通过该异常处理标记判断进程是否崩溃。其中,异常处理执行模块2211用于调用异常处理函数来对发生的异常执行处理的操作;异常处理查找模块2212则用于扫描所有的执行例程、查找出当前可用的异常处理执行模块。随后,客户端210将判断后的结果通过崩溃指示消息上传给服务器300。服务器300根据接收到的崩溃指示消息,统计发生崩溃的次数以及崩溃率等。基于这些数据分析,软件开发人员可以对该客户端的异常处理结果有个准确、量化的感知,从而进行后续的软件提升工作。实际应用中,服务器300可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。用户终端200和服务器300之间可以通过无线网络或有线网络相连。图2为依据本专利技术一实施例的信息处理方法的示例性流程图,该方法应用于客户端。如图2所示,该方法可包括如下步骤:步骤201,当客户端被启动时,创建并运行客户端的进程。在本申请实施例中,客户端被启动时,通过进程的方式执行客户端的应用程序,即将客户端对应的应用程序代码加载到内存中,操作系统为其分配资源后执行相应的代码,这种执行的程序称之为进程。进程是操作系统进行资源分配和调度的一个独立单位,每个进程都有自己单独的地址空间。也就是说,当客户端运行时,通过进程来展现应用程序在操作系统上顺序执行时的动态活动。步骤202,监测异常处理执行模块,异常处理执行模块用于处理在进程中发生的至少一个异常。本步骤中,异常处理执行模块位于客户端所基于的操作系统中。以windows操作系统为例,当进程中发生异常时,windows操作系统感知该异常并且开始分发,寻找已注册的异常处理函数来处理该异常。在现有的windows操作系统异常处理流程中,应用层异常的分发是按照向量化异常处理(VEH)、结构化异常处理(SEH)以及未处理异常过滤器(UnhandledExceptionFilter)的顺序来进行分发的。需要注意的是,在这种分发逻辑中,存在以下两种问题:1)有些异常产生时,VEH执行之后,若异常未被解决,该异常会继续分发给SEH进行。但SEH处理异常的结果并不会回传给VEH,因此,VEH无法感知SEH的处理结果。若VEH把SEH可处理的异常认为进程已崩溃,则会导致对异常处理结果的误报。2)有些异常产生时,SEH未能处理该异常,导致进程崩溃,此时该异常将传递不到未处理异常过滤器,会导致其不能感知和统计异常,从而存在少报的情况。鉴于此,本申请实施例中,考虑到SEH对每个异常至少有一次处理机会,所有的崩溃都是SEH决定的,因此,本步骤中,监测操作系统中的异常处理执行模块,是指监测SEH处理过程中用于执行处理异常这一操作的例程。具体应用时,上述异常处理执行模块为windows操作系统中的RtlpExecuteHandlerForException函数。具体地,在SE本文档来自技高网...

【技术保护点】
1.一种信息处理方法,其特征在于,应用于客户端,所述方法包括:当所述客户端被启动时,创建并运行所述客户端的进程;监测异常处理执行模块,所述异常处理执行模块用于处理在所述进程中发生的至少一个异常;根据监测到的所述异常处理执行模块的运行状态,针对所述进程设置异常处理标记;及,根据所述异常处理标记判断所述进程是否崩溃。

【技术特征摘要】
1.一种信息处理方法,其特征在于,应用于客户端,所述方法包括:当所述客户端被启动时,创建并运行所述客户端的进程;监测异常处理执行模块,所述异常处理执行模块用于处理在所述进程中发生的至少一个异常;根据监测到的所述异常处理执行模块的运行状态,针对所述进程设置异常处理标记;及,根据所述异常处理标记判断所述进程是否崩溃。2.根据权利要求1所述的方法,其中,所述监测异常处理执行模块,包括:调用钩子函数监测所述客户端所基于的操作系统调用所述异常处理执行模块的消息。3.根据权利要求1所述的方法,其中,所述根据监测到的所述异常处理执行模块的运行状态,针对所述进程设置异常处理标记包括:当监测到所述异常处理执行模块正在运行时,为所述异常处理标记赋上第一数值;所述根据所述异常处理标记判断所述进程是否崩溃包括:当判断出所述异常处理标记为所述第一数值时,确定所述进程已崩溃。4.根据权利要求1所述的方法,其中,所述根据监测到的所述异常处理执行模块的运行状态,针对所述进程设置异常处理标记包括:当监测到所述异常处理执行模块已返回时,为所述异常处理标记赋上第二数值;所述根据所述异常处理标记判断所述进程是否崩溃包括:当判断出所述异常处理标记为所述第二数值时,确定所述进程未崩溃。5.根据权利要求1至4中任一项所述的方法,其中,所述异常处理执行模块为windows操作系统中的RtlpExecuteHandlerForException函数。6.根据权利要求1所述的方法,还包括:监测异常处理查找模块,所述异常处理查找模块用于查找当前可用的异常处理执行模块;根据监测到的所述异常处理查找模块的运行状态,设置所述异常处理标记。7.根据权利要求6所述的方法,其中,所述根据监测到的所述异常处理查找模块的运行状态,设置所述异常处理标记包括:当监测到所述异常处理查找模块正在运行时,为所述异常处理标记赋上第三数值;所述根据所述异常处理标记判断所述进程是否崩溃包括:当所述异常处理标记为所述第三数值时,确定所述...

【专利技术属性】
技术研发人员:朱贵远
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1