崩溃信息的处理方法、装置及系统的制作方法

文档序号:6487056阅读:109来源:国知局
崩溃信息的处理方法、装置及系统的制作方法
【专利摘要】本申请公开了一种崩溃信息的处理方法、装置及系统。其中,该方法包括:服务器获取客户端生成的崩溃信息文件;提取崩溃信息文件中崩溃信息中的特征信息;根据特征信息从规则库中进行查询操作,以获取崩溃信息所对应的处理方案;将处理方案返回至客户端,以处理产生崩溃信息的应用程序;其中,在规则库中未查找到对应的第一崩溃信息的处理方案的情况下,服务器将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中。通过本申请,能够实现当客户端发生崩溃时,服务器可以自动为客户端反馈当前崩溃信息所对应的处理方案。
【专利说明】崩溃信息的处理方法、装置及系统
【技术领域】
[0001]本申请涉及计算机领域,具体而言,涉及一种崩溃信息的处理方法、装置及系统。【背景技术】
[0002]客户端上的应用软件在运行过程中,会因为违规操作等各种原因而出现运行错误,从而产生崩溃信息,而崩溃发生的主要原因,可归为两类,一类是客户端程序依赖的某一当前用户计算机上的环境或文件出现问题,一类是客户端程序自身的某个文件出现错误或损坏。在客户端发生崩溃的情况下,严重的会导致客户端上该应用程序的软件进程崩溃,使得用户无法正常使用该应用软件。
[0003]针对客户端发生应用软件崩溃的情况,现有技术采用如下两种主流的崩溃处理方法:
[0004]方法一、在应用软件发生崩溃的情况下,经过用户确认后,客户端会收集包含有崩溃信息的崩溃信息文件,并将该崩溃信息文件上传到服务器,研发人员会根据服务器上保存的崩溃文件信息进行分析,得到一个升级的客户端版本或者补丁文件,从而在以后的客户端版本中修复该问题。该方法可以提供解决崩溃信息的处理方案,但需要用户等待下一个应用软件的版本或补丁,或需要用户联系相关技术支持进行一对一解决,导致崩溃问题的解决效率低下。
[0005]方法二、在应用软件发生崩溃或错误时,客户端会引导用户到帮忙页面上获取解决方案,用户可以根据实际情况查找该错误或崩溃的相关帮助信息,即客户端在本地为用于提供了针对崩溃信息的在线帮助功能,但由于在客观环境中,客户端应用软件会不定期的发生崩溃,由于客户端本地所提供的帮助信息针对性不强,且更新速度无法进行实时更新,因此,本地帮助信息无法实时、有效地帮助用户。
[0006]目前针对相关技术中当客户端的应用程序发生崩溃时,客户端无法自动获取到准确的解决方案的问题,目前尚未提出有效的解决方案。

【发明内容】

[0007]针对相关技术中当客户端的应用程序发生崩溃时,客户端无法自动获取到准确的解决方案的问题,目前尚未提出有效的解决方案,为此,本申请的主要目的在于提供一种崩溃信息的处理方法、装置及系统,以解决上述问题。
[0008]为了实现上述目的,根据本申请的一个方面,提供了一种崩溃信息的处理方法,该方法包括:服务器获取客户端生成的崩溃信息文件;提取崩溃信息文件中崩溃信息中的特征信息;根据特征信息从规则库中进行查询操作,以获取崩溃信息所对应的处理方案;将处理方案返回至客户端,以处理产生崩溃信息的应用程序;其中,在根据特征信息从规则库中进行查询操作的步骤中,在规则库中未查找到对应的第一崩溃信息的处理方案的情况下,服务器将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中,规则库包括一条或多条处理规则信息,每条处理规则信息包括崩溃信息及其对应的处理方案。
[0009]进一步地,服务器将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中的步骤包括:步骤A,检测方案数据库中是否已经保存了用于处理第一崩溃信息的处理方案,其中,在方案数据库中检测到已经存在用于处理第一崩溃信息的处理方案的情况下,创建第一崩溃信息的特征信息与其对应的处理方案的关联关系,以得到第一处理规则信息;在方案数据库中未检测到用于处理第一崩溃信息的处理方案的情况下,生成该第一崩溃信息的特征信息所对应的新处理方案,并创建该特征信息与新处理方案的关联关系,以得到第二处理规则信息;步骤B,将第一处理规则信息或第二处理规则信息保存至规则库中;步骤C,循环执行步骤A和步骤B,以获取针对各个第一崩溃信息的特征信息所创建的多个第一处理规则信息或多个第二处理规则信息。
[0010]进一步地,在生成该特征信息所对应的新处理方案之后,方法还包括:将新处理方案保存至方案数据库中。
[0011]进一步地,在检测方案数据库中是否已经保存了用于处理由客户端生成的特征信息所对应的崩溃信息的处理方案之前,方法还包括:检测崩溃信息文件中每条崩溃信息的特征信息是否存在于特征库中,其中,当任意一个特征信息在特征库中存在时,终止根据该检测到的特征信息执行步骤A至步骤B的操作;当任意一个特征信息在特征库中不存在时,则根据该未检测到的特征信息执行步骤A至步骤B的操作。
[0012]进一步地,在获取客户端生成的崩溃信息文件之前,方法还包括:客户端上的一个或多个应用程序发生崩溃时,客户端启动收集程序;该收集程序根据应用程序的进程ID,来获取发生崩溃的应用程序的崩溃信息;将每个发生崩溃的应用程序的崩溃信息进行组合,以生成崩溃信息文件;在用户确定上传崩溃信息文件之后,客户端将崩溃信息文件发送至服务器。
[0013]进一步地,崩溃信息包括以下一个或多个信息的组合:发生崩溃的应用程序的堆栈信息、错误信息、安装目录的文件信息、版本信息、当前客户端的操作系统信息以及硬件信息。
[0014]为了实现上述目的,根据本申请的另一方面,提供了一种崩溃信息的处理装置,该装置包括:第一获取模块,用于获取客户端生成的崩溃信息文件;提取模块,用于提取崩溃信息文件中崩溃信息中的特征信息;查询模块,用于根据特征信息从规则库中进行查询操作,以获取崩溃信息所对应的处理方案;发送模块,用于将处理方案返回至客户端,以处理产生崩溃信息的应用程序;第二获取模块,用于在规则库中未查找到对应的第一崩溃信息的处理方案的情况下,服务器将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中;其中,规则库包括一条或多条处理规则信息,每条处理规则信息包括一个崩溃信息及其对应的处理方案。
[0015]进一步地,装置还包括:第一检测处理模块,包括第一创建模块和第二创建模块,用于检测方案数据库中是否已经保存了用于处理由客户端生成的特征信息所对应的崩溃信息的处理方案;其中,第一创建模块,用于在方案数据库中检测到已经存在用于处理特征信息所对应的崩溃信息的处理方案的情况下,创建特征信息与其对应的处理方案的关联关系,以得到第一处理规则信息;第二创建模块,用于在方案数据库中未检测到用于处理特征信息所对应的崩溃信息的处理方案的情况下,生成该特征信息所对应的新处理方案,并创建该特征信息与新处理方案的关联关系,以得到第二处理规则信息;第一保存模块,用于将第一处理规则信息或第二处理规则信息保存至规则库中;循环执行模块,用于循环执行第一检测处理模块和第一保存模块,以获取针对各个特征信息所创建的多个第一处理规则信息或多个第二处理规则信息。
[0016]进一步地,装置还包括:第二保存模块,用于将新处理方案保存至方案数据库中。
[0017]进一步地,装置还包括:第二检测处理模块,包括第一执行模块和第二执行模块,用于检测崩溃信息文件中每条崩溃信息的特征信息是否存在于特征库中;其中,第一执行模块,用于当任意一个特征信息在特征库中存在时,终止根据该检测到的特征信息执行第一检测处理模块以及第一保存模块的操作;第二执行模块,用于当任意一个特征信息在特征库中不存在时,则根据该未检测到的特征信息执行第一检测处理模块以及第一保存模块的操作。
[0018]为了实现上述目的,根据本申请的另一方面,提供了一种崩溃信息的处理系统,该系统包括:客户端,用于生成崩溃信息文件;服务器,用于在获取客户端生成的崩溃信息文件之后,提取崩溃信息文件中崩溃信息中的特征信息,并根据特征信息从规则库中进行查询操作,在获取到崩溃信息所对应的处理方案之后,将处理方案返回至客户端,以处理产生崩溃信息的应用程序;其中,在服务器根据特征信息从规则库中进行查询操作的过程中,在规则库中未查找到对应的第一崩溃信息的处理方案的情况下,服务器将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中,规则库包括一条或多条处理规则信息,每条处理规则信息包括一个崩溃信息及其对应的处理方案。
[0019]进一步地,系统还包括:分析服务器,用于检测方案数据库中是否已经保存了用于处理由客户端生成的特征信息所对应的崩溃信息的处理方案。
[0020]进一步地,客户端包括:启动装置,用于当一个或多个应用程序发生崩溃时,启动收集程序;采集装置,用于根据应用程序的进程ID,来获取发生崩溃的应用程序的崩溃信息,并将每个发生崩溃的应用程序的崩溃信息进行组合,以生成崩溃信息文件;发送装置,用于在用户确定上传崩溃信息文件之后,客户端将崩溃信息文件发送至服务器。
[0021]通过本申请,采用服务器获取客户端生成的崩溃信息文件;提取崩溃信息文件中崩溃信息中的特征信息;根据特征信息从规则库中进行查询操作,以获取崩溃信息所对应的处理方案;将处理方案返回至客户端,以处理产生崩溃信息的应用程序;其中,在根据特征信息从规则库中进行查询操作的步骤中,在规则库中未查找到对应的第一崩溃信息的处理方案的情况下,服务器将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中,规则库包括一条或多条处理规则信息,每条处理规则信息包括崩溃信息及其对应的处理方案。上述方案通过提供一个服务器对客户端上产生的崩溃信息文件进行在线的自动分析,从而在规则库中获取到当前客户端产生的崩溃信息文件的解决方案,对于在规则库中未保存崩溃信息的处理方案,服务器会从方案数据库中进行获取,并将获取到的崩溃信息及与其具有关联关系的处理方案作为处理规则信息保存至规则库,使得客户端总能够从服务器获取到合适的解决崩溃问题的处理方案。解决了相关现有技术中当客户端的应用程序发生崩溃时,客户端无法自动获取到准确的解决方案的问题,进而实现当客户端发生崩溃时,服务器可以自动为客户端反馈当前崩溃信息所对应的处理方案的效果。
【专利附图】

【附图说明】
[0022]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0023]图1是根据本申请实施例的崩溃信息的处理系统的结构示意图;
[0024]图2是根据图1所示实施例的崩溃信息的处理系统的详细结构示意图;
[0025]图3是根据本申请实施例的崩溃信息的处理方法的流程图;
[0026]图4是根据图3所示实施例的崩溃信息的详细处理流程图;
[0027]图5是根据图3和图4所示实施例的崩溃信息的分析流程图;
[0028]图6是根据图3和图4所示实施例的客户端首级崩溃信息的流程图;以及
[0029]图7是根据本申请实施例的崩溃信息的处理装置的结构示意图。
【具体实施方式】
[0030]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0031]图1是根据本申请实施例的崩溃信息的处理系统的结构示意图;图2是根据图1所示实施例的崩溃信息的处理系统的详细结构示意图。
[0032]如图1所示,该崩溃信息的处理系统包括:客户端10,用于生成崩溃信息文件;月艮务器30,用于在获取客户端10生成的崩溃信息文件之后,提取崩溃信息文件中崩溃信息中的特征信息,并根据特征信息从规则库中进行查询操作,在获取到崩溃信息所对应的处理方案之后,将处理方案返回至客户端10,以处理产生崩溃信息的应用程序;其中,在服务器30根据特征信息从规则库中进行查询操作的过程中,在规则库中未查找到对应第一崩溃信息的处理方案的情况下,服务器30将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中,规则库包括一条或多条处理规则信息,每条处理规则信息包括一个崩溃信息及其对应的处理方案,即用于解决该特征信息所对应的崩溃信息的处理方案,且该处理规则信息方案是一个由崩溃信息及其对应的处理方案组成的关联组。
[0033]本申请上述实施例中,在客户端10发生崩溃的情况下(例如客户端10上的计算机软件发生异常中止的情况),系统通过提供一个服务器30对客户端10上产生的崩溃信息文件进行在线的自动分析,从而在规则库中自动获取到用于解决当前客户端10产生的崩溃信息文件所带来的问题的处理方案,对于在规则库中未保存崩溃信息的处理方案,服务器30会从方案数据库中进行获取,并将获取到的崩溃信息及与其具有关联关系的处理方案作为处理规则信息保存至规则库,使得客户端10总能够从服务器30获取到合适的解决崩溃问题的处理方案。从而解决了相关现有技术中当客户端10的应用程序发生崩溃时,客户端10无法自动获取到准确的解决方案的问题,进而实现当客户端10发生崩溃时,服务器30可以自动为客户端10反馈当前崩溃信息所对应的处理方案的效果。[0034]具体的,如图2所示的系统,本申请上述图1所示实施例中的客户端10上会在应用程序发生崩溃时生成对应的崩溃信息,以构成崩溃信息文件,并自动将得到的崩溃信息文件发送给服务器30,服务器30在每次收集到崩溃信息文件后,会通过在线帮助系统使得服务器30触发对收集到的崩溃信息文件进行规则扫描,即根据崩溃信息上所携带的特征信息在规则库中进行扫描查找是否有匹配的规则,以得到该崩溃信息最合适的解决方案,如果有,则根据规则中的解决方案的类型,来提醒用户实施该解决方案,即将该方案提供给客户端10上的用户来直接解决问题,例如,客户端10软件可以根据解决方案的提示来更新损坏的文件或清理相应的计算机环境;如果没有,则可以提示用户暂时没有找到解决方案,可以联系技术支持。
[0035]同时,如图2所示,本申请上述实施例的系统中还可以包括:分析服务器,用于检测方案数据库中是否已经保存了用于处理由客户端10生成的特征信息所对应的崩溃信息的处理方案。即分析崩溃信息文件中的各个崩溃信息是否在方案数据库中已经具有对应的解决方案,其中,如果在方案数据库中检测到已经存在用于处理特征信息所对应的崩溃信息的处理方案的情况下,服务器30可以开始创建当前崩溃信息中特征信息与其对应的处理方案的关联关系,以得到第一处理规则信息;但如果方案数据库中未检测到用于处理特征信息所对应的崩溃信息的处理方案的情况下,则通过智能学习工具或人工获取得到该特征信息所对应的新处理方案,并创建该特征信息与新处理方案的关联关系,以得到第二处理规则信息,并最后将第一处理规则信息或第二处理规则信息保存至规则库中,以便于发出当前崩溃信息的客户端10,可以直接从服务器30的规则库中获取得到对应的解决方案。
[0036]上述实施例中的分析服务器可以为属于服务器30中的一部分,也可以作为一个独立的分析服务器外置于该服务器30,并与服务器30建立通讯。
[0037]上述实施例中的每条处理规则信息具体包括一条特征信息和已经存在的解决方案或新生成的新处理方案,以及它们之间的关联关系。分析服务器30会循环执行上述操作,对实时收集到的每条崩溃信息进行处理,从而可以得到针对各个特征信息所创建的多个第一处理规则信息或多个第二处理规则信息。
[0038]优选地,上述实施例中的服务器30会将已经处理过的崩溃信息的特征信息保存在特征库中,并在下次收集到的崩溃信息进行检测处理,用于检测崩溃信息文件中每条崩溃信息的特征信息是否存在于特征库中,如果检测到任意一个特征信息已经在特征库中存在时,则终止根据该检测到的特征信息执行获取处理规则信息的操作,即认为规则库中已经存在该崩信息的处理方案,不需要进行重复的创建过程,但当任意一个特征信息在特征库中不存在时,则根据该未检测的特征信息重复执行获取处理规则信息的操作,以保证规则库的不断更新和充实,提高客户的易用性。
[0039]由上可知,本申请上述实施例会对收集到的崩溃信息进行自动化的崩溃分析,并获取较为通用的崩溃处理方法和规则,形成比较全面的崩溃解决方案集。同时,如果用户需要,会将当前用户引导到在线帮助系统上,对当前崩溃文件进行规则扫描,找出最合适的方案提供给用户直接解决问题。而且由于崩溃解决方案集会随时根据收集到的崩溃文件进行分析和增加,从而保证了在线帮助系统的实时有效性。
[0040]优选的,本申请上述实施例中的客户端10可以包括:启动装置,用于当一个或多个应用程序发生崩溃时,启动收集程序;采集装置,用于根据应用程序的进程ID,来获取发生崩溃的应用程序的崩溃信息,并将每个发生崩溃的应用程序的崩溃信息进行组合,以生成崩溃信息文件;发送装置,用于在用户确定上传崩溃信息文件之后,客户端10将崩溃信息文件发送至服务器30。
[0041]本申请上述实施例实现了当客户端10发生崩溃时,可以询问用户是否愿意提交当前生成的崩溃信息,只有用户确认的情况下可以启动收集程序,即收集该应用程序产生的崩溃信息文件,并将它们上传到崩溃收集文件服务器30,并引导用户进入在线解决系统;或否,则结束。该实施例在客户端10增加了一个用户主动触发的功能,提高了本系统的灵活性。
[0042]图3是根据本申请实施例的崩溃信息的处理方法的流程图;图4是根据图3所示实施例的崩溃信息的详细处理流程图。
[0043]如图3所示该方法包括如下步骤:
[0044]步骤S10,通过图1中的服务器30获取客户端10生成的崩溃信息文件。
[0045]步骤S30,该服务器30提取崩溃信息文件中每条崩溃信息中的特征信息。
[0046]步骤S50,根据特征信息从规则库中进行查询操作,以获取崩溃信息所对应的处理方案。
[0047]步骤S70,将处理方案返回至客户端10,以处理产生崩溃信息的应用程序。
[0048]其中,在根据所述特征信息从规则库中进行查询操作的步骤中,在规则库中未查找到对应第一崩溃信息的处理方案的情况下,服务器30将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中,规则库包括一条或多条处理规则信息,每条处理规则信息包括一个崩溃信息及其对应的处理方案。
[0049]本申请上述实施例通过服务器30对客户端10上产生的崩溃信息文件进行在线的自动分析,从而在规则库中获取到当前客户端10产生的崩溃信息文件的解决方案,对于在规则库中未保存崩溃信息的处理方案,服务器30会从方案数据库中进行获取,并将获取到的崩溃信息及与其具有关联关系的处理方案作为处理规则信息保存至规则库,使得客户端10总能够从服务器30获取到合适的解决崩溃问题的处理方案。从而解决了相关现有技术中当客户端10的应用程序发生崩溃时,客户端10无法自动获取到准确的解决方案的问题,进而实现当客户端10发生崩溃时,服务器30可以自动为客户端10反馈当前崩溃信息所对应的处理方案的效果。
[0050]具体的,如图4所示,上述实施例中的步骤SlO实施之前,客户端10上的应用程序发生崩溃时,向服务器30发出在线解决请求,该在线解决请求中携带有崩溃号,服务器30在接收到上述在线解决请求之后,会根据崩溃号来执行步骤S10。
[0051]并且步骤S30在实施过程中,可以包括如下步骤:
[0052]步骤S301,根据崩溃号读取崩溃信息文件。
[0053]步骤S302,对崩溃信息文件进行格式分析,并提取崩溃信息文件中一个或多个崩溃信息的特征信息。
[0054]在完成步骤S30之后,进入步骤S50。并且步骤S50在实施过程中,可以包括如下步骤:
[0055]步骤S501,对第一个崩溃信息的特征信息进行匹配处理,判断特征信息在规则库中是否有匹配的处理规则信息,即在规则库中查找与第一个崩溃信息的特征信息匹配的处理规则信息,在匹配成功的情况下,进入步骤S502,否则,则对下一个崩溃信息的特征信息进行匹配处理。
[0056]步骤S502,读取当前崩溃信息的特征信息成功匹配到的处理规则信息,并从该处理规则信息获取到该崩溃信息对应的用于解决崩溃信息而得到的处理方案;
[0057]步骤S503,将每一个匹配处理过程所得到的处理方案都保存到方案集中。
[0058]在完成步骤S50之后,进入步骤S70。并且步骤S70在实施过程中,可以包括如下步骤:
[0059]步骤S701,将保存有各个处理方案的方案集返回给客户端10 ;
[0060]步骤S702,客户端10将根据方案集中各处理方案的具体操作方法引导用户完成具体操作,例如下载文件覆盖损坏的文件、清理计算机环境等,或者更简单的重新启动客户端10软件等。用户根据提示引导完成具体操作后,相应的崩溃问题将得到解决。
[0061]优选地,在步骤S501之前,方法还可以包括如下步骤:步骤S801,对提取到的特征信息进行分析,确认该特征信息是否已经经过对应的查询处理,即具有该特征信息的崩溃信息是否已经查询得到对应的处理方案,如果已经获取到对应的处理方案,则进入步骤S70,否则继续在规则库中进行匹配处理,直到获取到可以处理该特征信息所对应的问题的处理方案。
[0062]另外,如果系统在规则库中未找到相关信息,则客户端10可以提示技术支持热线,寻求人工帮助。
[0063]图5是根据图3和图4所示实施例的崩溃信息的分析流程图;图6是根据图3和图4所示实施例的客户端10首级崩溃信息的流程图。
[0064]本申请上述图3和4所示的实施例中,服务器30将从方案数据库中获取到处理任意一个或多个第一崩溃信息的处理方案,并将每一个第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中的步骤可以包括如下步骤:
[0065]步骤A,检测方案数据库中是否已经保存了用于处理任意一个第一崩溃信息的处理方案,其中,在方案数据库中检测到已经存在用于处理任意一个第一崩溃信息的处理方案的情况下,创建第一崩溃信息的特征信息与其对应的处理方案的关联关系,以得到第一处理规则信息;在方案数据库中未检测到用于处理任意一个第一崩溃信息的处理方案的情况下,生成该第一崩溃信息的特征信息所对应的新处理方案,并创建该特征信息与新处理方案的关联关系,以得到第二处理规则信息。优选地,在生成该特征信息所对应的新处理方案之后,方法还包括:将新处理方案保存至方案数据库中。
[0066]步骤B,将第一处理规则信息或第二处理规则信息保存至规则库中。
[0067]步骤C,循环执行步骤A和步骤B,以获取针对各个第一崩溃信息的特征信息所创建的多个第一处理规则信息或多个第二处理规则信息。
[0068]具体的,如图5所示的实施例实现了对步骤S801的实施过程中,未找到处理方案的崩溃信息的崩溃分析流程。具体的,步骤A实现了检测方案数据库中是否已经保存了用于处理由客户端10生成的特征信息所对应的崩溃信息的处理方案,以在在规则库中没有记录对应的处理方案的崩溃信息为例,该步骤A可以包括如下步骤:
[0069]步骤Al,在对提取到的特征信息进行分析,确认该特征信息在规则库中没有记录对应的处理方案之后,从服务器30中提取这些尚未获取到处理方案的崩溃信息的集合。
[0070]步骤A2,对未获取到处理方案的崩溃信息集合进行格式分析,并提取该崩溃信息集合中崩溃信息的特征信息。
[0071]步骤A3,对该崩溃信息集合中的没个崩溃信息的特征信息进行查询处理,即在方案数据库检测是否已经保存了可以处理各个崩溃信息的处理方案,如果成功查询得到各个崩溃信息对应的处理方案,则进入步骤A4,否则,则进入步骤A5。
[0072]步骤A4,从方案数据库中获取各个崩溃信息对应的处理方案,并将每个处理方案与其对应的崩溃信息组合成一个处理规则信息。该步骤A4可以包括如下实施步骤:
[0073]步骤A41,判断方案数据库中是否存在可以解决该崩溃信息的问题的处理方案,如果存在,则进入步骤A42,否则进入步骤A5。
[0074]步骤A42,从方案数据中读取该处理方案。
[0075]步骤A43,将该崩溃信息或记录在其中的特征信息与处理方案关联组成得到的处理规则信息,放入规则库。
[0076]步骤A5,如果没有从方案数据库中找到合适的处理方案,系统可以通过学习系统或者人工操作获取到新处理方案,并创建该新处理方案与崩溃信息的关联组合,以生成一个新处理规则信息。
[0077]最后,将步骤A4和步骤A5的结果都保存至规则库中,使得规则库不断更新,从而在步骤S801的实施过程中,可以自动为每个崩溃信息都找到对应的处理方案。
[0078]优选地,在步骤A之前,方法还可以包括如下步骤:步骤D,检测崩溃信息文件中每条崩溃信息的特征信息是否存在于特征库中,其中,当任意一个特征信息在特征库中存在时,终止根据该检测到的特征信息执行步骤A至步骤B的操作;当任意一个特征信息在特征库中不存在时,则根据该未检测到的特征信息执行步骤A至步骤B的操作。
[0079]具体的,本步骤D中实现了对每个崩溃信息的特征信息进行检测,如果检测到当前的特征信息已经存在于特征库中,则认为该特征信息已经处理完毕,在规则库中已经存在该特征信息对应的处理方案及他们的关联关系,则处理下一个崩溃信息的特征信息,如果对每个特征信息都处理了则结束。如果特征库中未检测到当前特征信息的存在,则标记为新特征,需要继续执行步骤A。
[0080]上述实施例步骤A中对于当前崩溃信息的特征信息是否已经保存了处理方案,可以采用后台工程师对新特征进行人工处理,从方案库中找出合适方案,或者建立新的方案,并与特征信息一起,组成新规则,放入规则库。这里涉及到的后台人工处理过程可以由“机器学习”等人工智能技术部分替代,从而增强工作效率和可扩展性。
[0081]如图6所示,本申请上述图3和4所示的实施例中,在步骤SlO服务器30获取客户端10生成的崩溃信息文件之前,方法还可以包括如下步骤:
[0082]步骤S101,客户端10上的一个或多个应用程序发生崩溃时,客户端10启动收集程序。
[0083]步骤S102,该收集程序根据应用程序的进程ID,来获取发生崩溃的应用程序的崩溃信息其中,崩溃信息可以包括以下一个或多个信息的组合:发生崩溃的应用程序的堆栈信息、错误信息、安装目录的文件信息、版本信息、当前客户端10的操作系统信息以及硬件信息。[0084]具体的,该步骤中获取到崩溃信息的过程可以为:首先,抓取崩溃程序的调动堆栈信息,以及其他的错误信息;然后,进一步收集发生崩溃的应用程序的安装目录的文件信息,版本信息等;接着,进一步收集用户当前机器设备的硬件及软件信息,比如操作系统信息,以及其他的硬件信息等。
[0085]步骤S103,将每个发生崩溃的应用程序的崩溃信息进行组合,以生成崩溃信息文件。
[0086]步骤S104,在用户确定上传崩溃信息文件之后,客户端10将崩溃信息文件发送至服务器30。具体的,该步骤S104可以包括如下步骤:
[0087]步骤S1041,收集程序发出用于提示用户的提示信息,该提示信息具体可以为:当前程序发生异常,请确认是否帮助改进程序,并发送错误报告,同时提供确认发送和退出的按钮。
[0088]步骤S1042,在用户选择发送错误报告的按钮之后,崩溃收集程序则将收集到的所有崩溃信息文件进行压缩,并上传到对应的服务器30群中的崩溃收集服务器30,完成发送动作后,收集程序退出;如果用户选择不发送错误报告,收集程序则直接退出。
[0089]本申请各个实施例中,提取崩溃信息文件中的特征信息不止一个,特征信息可以是:出现错误的dll信息,出现错误时的栈信息等。具体的,本申请各个实施例中所涉及到的特征信息是具有特定含义的特征字符串或包含关联信息的一组字符串。例如,“Faulraddress:4A3EB1B5 01:0000A1B5 C: \windows\sysiem32\USER32.dll ”就是一个特征信息,代表了 USER32.dll这个文件可能存在损坏。且特征信息的集合为特征库。
[0090]另外,本申请各个实施例中,涉及到对于崩溃信息的处理方案是指用于解决客户端10问题的具体操作方法,例如“下载并覆盖某个文件”、“重启客户端软件”等,处理方案的集合为方案库/解决方案库。其中,处理方案的种类包含但不限于:提示或引导用户完成如下操作:下载覆盖客户端软件自身的某个丢失或损坏的文件;下载并覆盖当前计算机环境上的某个丢失或损坏的文件;下载安装某个软件以解决依赖关系;下载重新安装本客户端软件;重新启动计算机;升级到新版本客户端软件;修改当前运行环境的某一设置。
[0091]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0092]图7是根据本申请实施例的崩溃信息的处理装置的结构示意图。
[0093]如图7所示,该崩溃信息的处理装置包括:第一获取模块102,用于获取客户端10生成的崩溃信息文件;提取模块104,用于提取崩溃信息文件中每条崩溃信息中的特征信息;查询模块106,用于根据特征信息从规则库中进行查询操作,以获取崩溃信息所对应的处理方案;发送模块108,用于将处理方案返回至客户端10,以处理产生崩溃信息的应用程序;第二获取模块110,用于在规则库中未查找到对应第一崩溃信息的处理方案的情况下,服务器30将从方案数据库中获取到处理第一崩溃信息的处理方案,并将第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至规则库中;其中,规则库包括一条或多条处理规则信息,每条处理规则信息包括一个崩溃信息及其对应的处理方案。
[0094]本申请上述实施例通过查询模块对客户端10上产生的崩溃信息文件进行在线的自动分析,从而在规则库中获取到当前客户端10产生的崩溃信息文件的解决方案,对于在规则库中未保存崩溃信息的处理方案,第二获取模块会从方案数据库中进行获取,并将获取到的崩溃信息及与其具有关联关系的处理方案作为处理规则信息保存至规则库,使得客户端10总能够从服务器30获取到合适的解决崩溃问题的处理方案。从而解决了相关现有技术中当客户端10的应用程序发生崩溃时,客户端10无法自动获取到准确的解决方案的问题,进而实现当客户端10发生崩溃时,服务器30可以自动为客户端10反馈当前崩溃信息所对应的处理方案的效果。
[0095]上述实施例中的装置还可以包括:第一检测处理模块,包括第一创建模块和第二创建模块,用于检测方案数据库中是否已经保存了用于处理由客户端10生成的特征信息所对应的崩溃信息的处理方案;其中,第一创建模块,用于在方案数据库中检测到已经存在用于处理特征信息所对应的崩溃信息的处理方案的情况下,创建特征信息与其对应的处理方案的关联关系,以得到第一处理规则信息;第二创建模块,用于在方案数据库中未检测到用于处理特征信息所对应的崩溃信息的处理方案的情况下,生成该特征信息所对应的新处理方案,并创建该特征信息与新处理方案的关联关系,以得到第二处理规则信息;第一保存模块,用于将第一处理规则信息或第二处理规则信息保存至规则库中;循环执行模块,用于循环执行第一检测处理模块和第一保存模块,以获取针对各个特征信息所创建的多个第一处理规则信息或多个第二处理规则信息。
[0096]优选地,上述装置还可以包括:第二保存模块,用于将新处理方案保存至方案数据库中。
[0097]上述实施例中的装置还可以包括:第二检测处理模块,包括第一执行模块和第二执行模块,用于检测崩溃信息文件中每条崩溃信息的特征信息是否存在于特征库中;其中,第一执行模块,用于当任意一个特征信息在特征库中存在时,终止根据该检测到的特征信息执行一检测处理模块以及第一保存模块的操作;第二执行模块,用于当任意一个特征信息在特征库中不存在时,则根据该未检测到的特征信息执行第一检测处理模块以及第一保存模块的操作。
[0098]从以上的描述中,可以看出,本申请实现了如下技术效果:在每次收集到崩溃文件后,会进行自动化崩溃分析,并对未检测到的处理方案从方案数据库中进行后台处理和获取,从而当客户端10发生崩溃时,服务器30可以自动为客户端10反馈当前崩溃信息所对应的处理方案,提供了全面的崩溃解决方案集。同时,由于崩溃解决方案集会随时根据收集到的崩溃文件进行分析和增加,进而保证了在线帮助系统的实时有效性。
[0099]显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
[0100]以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
【权利要求】
1.一种崩溃信息的处理方法,其特征在于,包括: 服务器获取客户端生成的崩溃信息文件; 提取所述崩溃息文件中崩溃息中的特征息; 根据所述特征信息从规则库中进行查询操作,以获取所述崩溃信息所对应的处理方案; 将所述处理方案返回至所述客户端,以处理产生所述崩溃信息的应用程序; 其中,在根据所述特征信息从规则库中进行查询操作的步骤中,在所述规则库中未查找到对应的第一崩溃信息的处理方案的情况下,所述服务器将从方案数据库中获取到处理所述第一崩溃信息的处理方案,并将所述第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至所述规则库中,所述规则库包括一条或多条处理规则信息,每条处理规则信息包括崩溃信息及其对应的处理方案。
2.根据权利要求1所述的方法,其特征在于,所述服务器将从方案数据库中获取到处理所述第一崩溃信息的处理方案,并将所述第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至所述规则库中的步骤包括: 步骤A,检测方案数据库中是否已经保存了用于处理所述第一崩溃信息的处理方案,其中, 在所述方案数据库中检测到已经存在用于处理所述第一崩溃信息的处理方案的情况下,创建所述第一崩溃信息的特征信息与其对应的处理方案的关联关系,以得到第一处理规则信息;· 在所述方案数据库中未检测到用于处理所述第一崩溃信息的处理方案的情况下,生成该第一崩溃信息的特征信息所对应的新处理方案,并创建该特征信息与所述新处理方案的关联关系,以得到第二处理规则信息; 步骤B,将所述第一处理规则信息或所述第二处理规则信息保存至所述规则库中; 步骤C,循环执行步骤A和步骤B,以获取针对各个第一崩溃信息的特征信息所创建的多个所述第一处理规则信息或多个所述第二处理规则信息。
3.根据权利要求2所述的方法,其特征在于,在生成该特征信息所对应的新处理方案之后,所述方法还包括:将所述新处理方案保存至所述方案数据库中。
4.根据权利要求2或3所述的方法,其特征在于,在检测方案数据库中是否已经保存了用于处理由所述客户端生成的特征信息所对应的崩溃信息的处理方案之前,所述方法还包括: 检测所述崩溃信息文件中每条崩溃信息的特征信息是否存在于特征库中,其中, 当任意一个特征信息在所述特征库中存在时,终止根据该检测到的特征信息执行步骤A至步骤B的操作; 当任意一个特征信息在所述特征库中不存在时,则根据该未检测到的特征信息执行步骤A至步骤B的操作。
5.根据权利要求1所述的方法,其特征在于,在获取客户端生成的崩溃信息文件之前,所述方法还包括: 客户端上的一个或多个应用程序发生崩溃时,客户端启动收集程序; 该收集程序根据应用程序的进程ID,来获取发生崩溃的应用程序的崩溃信息;将每个发生崩溃的应用程序的崩溃信息进行组合,以生成所述崩溃信息文件; 在用户确定上传所述崩溃信息文件之后,所述客户端将所述崩溃信息文件发送至所述服务器。
6.根据权利要求5所述的方法,其特征在于,所述崩溃信息包括以下一个或多个信息的组合:发生崩溃的应用程序的堆栈信息、错误信息、安装目录的文件信息、版本信息、当前客户端的操作系统信息以及硬件信息。
7.一种崩溃信息的处理装置,其特征在于,包括: 第一获取模块,用于获取客户端生成的崩溃信息文件; 提取模块,用于提取所述崩溃信息文件中崩溃信息中的特征信息; 查询模块,用于根据所述特征信息从规则库中进行查询操作,以获取所述崩溃信息所对应的处理方案; 发送模块,用于将所述处理方案返回至所述客户端,以处理产生所述崩溃信息的应用程序; 第二获取模块,用于在所述规则库中未查找到对应的第一崩溃信息的处理方案的情况下,所述服务器将从方案数据库中获取到处理所述第一崩溃信息的处理方案,并将所述第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至所述规则库中; 其中,所述规则库包括一条或多条处理规则信息,每条处理规则信息包括一个崩溃信息及其对应的处理方案。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括: 第一检测处理模块,包括第一创建模块和第二创建模块,用于检测方案数据库中是否已经保存了用于处理由所述客户端生成的特征信息所对应的崩溃信息的处理方案; 其中,所述第一创建模块,用于在所述方案数据库中检测到已经存在用于处理所述特征信息所对应的崩溃信息的处理方案的情况下,创建所述特征信息与其对应的处理方案的关联关系,以得到第一处理规则信息;所述第二创建模块,用于在所述方案数据库中未检测到用于处理所述特征信息所对应的崩溃信息的处理方案的情况下,生成该特征信息所对应的新处理方案,并创建该特征信息与所述新处理方案的关联关系,以得到第二处理规则信息; 第一保存模块,用于将所述第一处理规则信息或所述第二处理规则信息保存至所述规则库中; 循环执行模块,用于循环执行所述第一检测处理模块和所述第一保存模块,以获取针对各个特征信息所创建的多个所述第一处理规则信息或多个所述第二处理规则信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:第二保存模块,用于将所述新处理方案保存至所述方案数据库中。
10.根据权利要求8或9所述的装置,其特征在于,所述装置还包括: 第二检测处理模块,包括第一执行模块和第二执行模块,用于检测所述崩溃信息文件中每条崩溃信息的特征信息是否存在于特征库中; 其中,所述第一执行模块,用于当任意一个特征信息在所述特征库中存在时,终止根据该检测到的特征信息执行所述第一检测处理模块以及所述第一保存模块的操作;所述第二执行模块,用于当任意一个特征信息在所述特征库中不存在时,则根据该未检测到的特征信息执行所述第一检测处理模块以及所述第一保存模块的操作。
11.一种崩溃信息的处理系统,其特征在于,包括: 客户端,用于生成崩溃信息文件; 服务器,用于在获取所述客户端生成的崩溃信息文件之后,提取所述崩溃信息文件中崩溃信息中的特征信息,并根据所述特征信息从规则库中进行查询操作,在获取到所述崩溃信息所对应的处理方案之后,将所述处理方案返回至所述客户端,以处理产生所述崩溃信息的应用程序; 其中,在所述服务器根据所述特征信息从规则库中进行查询操作的过程中,在所述规则库中未查找到对应的第一崩溃信息的处理方案的情况下,所述服务器将从方案数据库中获取到处理所述第一崩溃信息的处理方案,并将所述第一崩溃信息与对应的处理方案的关联关系作为一条处理规则信息保存至所述规则库中,所述规则库包括一条或多条处理规则信息,每条处理规则信息包括一个崩溃信息及其对应的处理方案。
12.根据权利要求11所述的系统,其特征在于,所述系统还包括: 分析服务器,用于检测所述方案数据库中是否已经保存了用于处理由所述客户端生成的特征信息所对应的崩溃信息的处理方案。
13.根据权利要求11所述的系统,其特征在于,所述客户端包括: 启动装置,用于当一个或多个应用程序发生崩溃时,启动收集程序; 采集装置,用于根据应用程序的进程ID,来获取发生崩溃的应用程序的崩溃信息,并将每个发生崩溃的应用程序的崩 溃信息进行组合,以生成所述崩溃信息文件; 发送装置,用于在用户确定上传所述崩溃信息文件之后,所述客户端将所述崩溃信息文件发送至所述服务器。
【文档编号】G06F17/30GK103544071SQ201210248403
【公开日】2014年1月29日 申请日期:2012年7月17日 优先权日:2012年7月17日
【发明者】金宇, 胡洪卫 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1