CN112395119A - 异常数据处理方法、装置、服务器及存储介质 - Google Patents

异常数据处理方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN112395119A
CN112395119A CN201910739436.5A CN201910739436A CN112395119A CN 112395119 A CN112395119 A CN 112395119A CN 201910739436 A CN201910739436 A CN 201910739436A CN 112395119 A CN112395119 A CN 112395119A
Authority
CN
China
Prior art keywords
data
stack information
information
exception handling
candidate
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.)
Granted
Application number
CN201910739436.5A
Other languages
English (en)
Other versions
CN112395119B (zh
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910739436.5A priority Critical patent/CN112395119B/zh
Publication of CN112395119A publication Critical patent/CN112395119A/zh
Application granted granted Critical
Publication of CN112395119B publication Critical patent/CN112395119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/079Root cause analysis, i.e. error or fault diagnosis
    • 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

Abstract

本公开关于一种异常数据处理方法、装置、服务器及存储介质,主要涉及计算机技术领域。所述方法包括:获取异常问题的堆栈信息;对堆栈信息与堆栈信息库进行匹配,堆栈信息库包括多个已知异常问题的候选堆栈信息;当堆栈信息与堆栈信息库中任一候选堆栈信息匹配时,向候选堆栈信息对应的目标异常处理对象发送堆栈信息。本公开实施例通过将堆栈信息与已知异常问题的候选堆栈信息匹配,确定本次异常问题为哪种已知异常问题,从而确定目标异常处理对象,向其发送堆栈信息,上述过程实现了异常数据的自动化处理,无需人工参与,大幅度提高了异常数据处理的效率,也可以避免因人工处理可能出现的出错现象,提高了处理过程的准确性。

Description

异常数据处理方法、装置、服务器及存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种异常数据处理方法、装置、服务器及存储介质。
背景技术
随着计算机技术的发展和终端功能的多样化,在终端上能够运行各种各样的应用,不同应用可以满足用户的不同需求。但应用运行过程中可能会出现crash,从而影响用户的使用体验。其中,crash是指在应用运行过程中发生异常问题导致运行程序崩溃。在应用出现crash时,终端可以向服务器发送异常问题的堆栈信息。终端发送的堆栈信息可以被分配给技术人员进行异常分析和处理。
相关技术中,异常数据处理方法通常是接收异常问题的堆栈信息,由人工对异常问题的堆栈信息进行分析,确定本次异常问题是哪种已知的异常问题,并将其分配给相应的技术人员去进行异常分析和处理。
上述方法中由人工对异常问题的堆栈信息进行分析并分配,人工处理的效率低,每个人的经验不同,处理过程容易出现失误,因而,上述方法的准确性差。
发明内容
本公开提供一种异常数据处理方法、装置、服务器及存储介质,以至少解决相关技术中效率低和准确性差的问题。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种异常数据处理方法,包括:
获取异常问题的堆栈信息;
对所述堆栈信息与堆栈信息库进行匹配,所述堆栈信息库包括多个已知异常问题的候选堆栈信息;
当所述堆栈信息与所述堆栈信息库中任一候选堆栈信息匹配时,向所述候选堆栈信息对应的目标异常处理对象发送所述堆栈信息。
在一种可能实现方式中,所述对所述堆栈信息与堆栈信息库进行匹配,包括:
提取所述堆栈信息的特征;
对所述堆栈信息的特征与所述堆栈信息库中的多个候选堆栈信息的特征进行匹配。
在一种可能实现方式中,所述堆栈信息包括多行数据;
所述对所述堆栈信息与堆栈信息库进行匹配之后,所述方法还包括:
当所述堆栈信息与所述堆栈信息库中的多个候选堆栈信息均匹配失败时,将所述堆栈信息中的每一行数据与数据库进行匹配,所述数据库包括多行候选数据;
根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象;
从所述堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象;
向所述目标异常处理对象发送所述堆栈信息。
在一种可能实现方式中,所述每一行数据包括文件名、行号、包名、类名或方法名中的至少一项信息;
所述将所述堆栈信息中的每一行数据与数据库进行匹配,包括:
对于所述每一行数据,对比所述每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息;
当所述每一行数据的至少一项信息与任一候选数据的至少一项信息均相同时,确定所述每一行数据与所述候选数据匹配。
在一种可能实现方式中,所述对比所述每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息,包括:
按照文件名、行号、包名、类名、方法名的顺序,依次对比所述每一行数据的至少一项信息与所述多个候选数据的至少一项信息。
在一种可能实现方式中,所述根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象,包括:
获取所述每一行数据匹配的候选数据的历史处理信息,所述历史处理信息包括目标历史数据被分配的异常处理对象,所述目标历史数据为与所述候选数据匹配的多个历史数据中分配时间与系统时间之间的时长最小的历史数据;
将所述历史处理信息中的所述目标历史数据被分配的异常处理对象作为所述每一行数据对应的异常处理对象。
在一种可能实现方式中,所述历史处理信息还包括所述目标历史数据被分配给异常处理对象的分配时间;
所述从所述堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象,包括:
将所述堆栈信息包括的多行数据对应的多个异常处理对象中,所述分配时间与系统时间之间的时长最小的异常处理对象确定为所述目标异常处理对象。
在一种可能实现方式中,所述从所述堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象,包括:
将所述堆栈信息包括的多行数据对应的多个异常处理对象与异常处理对象库进行对比,得到多个候选异常处理对象;
将所述多个候选异常处理对象中所述分配时间与系统时间之间的时长最小的候选异常处理对象确定为所述目标异常处理对象。
在一种可能实现方式中,所述将所述堆栈信息包括的多行数据对应的多个异常处理对象与异常处理对象库进行对比之后,所述方法还包括:
当对比结果指示所述多个异常处理对象均位于所述异常处理对象库之外时,确定目标工程模块,所述目标工程模块为目标历史数据的分配时间与系统时间之间的时长最小的候选数据对应的工程模块;
将所述目标工程模块对应的异常处理对象确定为所述目标异常处理对象。
在一种可能实现方式中,所述方法还包括:
当根据所述堆栈信息确定目标异常处理对象失败时,根据所述堆栈信息,确定目标页面,所述目标页面为历史处理记录中发生相同异常问题时所显示的多个页面中出现次数最大的页面;
将所述目标页面对应的异常处理对象确定为所述目标异常对象。
在一种可能实现方式中,所述方法还包括:
当所述目标页面不包括对应的异常处理对象时,将所述堆栈信息发送至预设异常处理对象。
在一种可能实现方式中,所述方法还包括:
根据所述异常问题的出现次数、所述异常问题发生时的版本信息、所述堆栈信息与所述堆栈信息库的匹配结果或所述异常问题发生的最早时间中至少一项,确定所述堆栈信息的优先级,所述优先级用于表示所述异常问题的严重程度;
向所述目标异常处理对象发送所述堆栈信息的优先级。
在一种可能实现方式中,所述方法还包括:
根据对所述堆栈信息的处理步骤,对所述堆栈信息的状态进行更新,所述状态包括已分配状态、跟进中状态、长期状态、无法解决状态或已解决状态中任一项。
在一种可能实现方式中,所述方法还包括:
获取所述异常问题发生时正在播放或显示的多媒体资源、所述异常问题发生时所显示的页面或所述异常问题发生时应用的版本信息中至少一项数据,所述至少一项数据用于对所述异常问题的发生原因进行分析。
在一种可能实现方式中,所述方法还包括:
根据所述每一个异常处理对象被分配的多个堆栈信息的优先级、状态或所述多个堆栈信息的分配时间与系统时间之间的时长至少一项,对所述多个堆栈信息进行排序。
根据本公开实施例的第二方面,提供一种异常数据处理装置,包括:
获取单元,被配置为执行获取所述异常问题的堆栈信息;
匹配单元,被配置为执行对所述堆栈信息与所述堆栈信息库进行匹配,所述堆栈信息库包括多个已知异常问题的候选堆栈信息;
发送单元,被配置为执行当所述堆栈信息与所述堆栈信息库中任一候选堆栈信息匹配时,向所述候选堆栈信息对应的目标异常处理对象发送所述堆栈信息。
在一种可能实现方式中,所述匹配单元被配置为执行:
提取所述堆栈信息的特征;
对所述堆栈信息的特征与所述堆栈信息库中的多个候选堆栈信息的特征进行匹配。
在一种可能实现方式中,所述堆栈信息包括多行数据;
所述匹配单元还被配置为执行当所述堆栈信息与所述堆栈信息库中的多个候选堆栈信息均匹配失败时,将所述堆栈信息中的每一行数据与数据库进行匹配,所述数据库包括多行候选数据;
所述装置还包括:
第一确定单元,被配置为执行根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象;
所述第一确定单元,还被配置为执行从所述堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象;
所述发送单元还被配置为执行向所述目标异常处理对象发送所述堆栈信息。
在一种可能实现方式中,所述每一行数据包括文件名、行号、包名、类名或装置名中的至少一项信息;
所述匹配单元被配置为执行:
对于所述每一行数据,对比所述每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息;
当所述每一行数据的至少一项信息与任一候选数据的至少一项信息均相同时,确定所述每一行数据与所述候选数据匹配。
在一种可能实现方式中,所述匹配单元被配置为执行按照文件名、行号、包名、类名、装置名的顺序,依次对比所述每一行数据的至少一项信息与所述多个候选数据的至少一项信息。
在一种可能实现方式中,所述第一确定单元被配置为执行:
获取所述每一行数据匹配的候选数据的历史处理信息,所述历史处理信息包括目标历史数据被分配的异常处理对象,所述目标历史数据为与所述候选数据匹配的多个历史数据中分配时间与系统时间之间的时长最小的历史数据;
将所述历史处理信息中的所述目标历史数据被分配的异常处理对象作为所述每一行数据对应的异常处理对象。
在一种可能实现方式中,所述历史处理信息还包括所述目标历史数据被分配给异常处理对象的分配时间;
所述第一确定单元被配置为执行将所述堆栈信息包括的多行数据对应的多个异常处理对象中,所述分配时间与系统时间之间的时长最小的异常处理对象确定为所述目标异常处理对象。
在一种可能实现方式中,所述第一确定单元被配置为执行:
将所述堆栈信息包括的多行数据对应的多个异常处理对象与异常处理对象库进行对比,得到多个候选异常处理对象;
将所述多个候选异常处理对象中所述分配时间与系统时间之间的时长最小的候选异常处理对象确定为所述目标异常处理对象。
在一种可能实现方式中,所述第一确定单元还被配置为执行:
当对比结果指示所述多个异常处理对象均位于所述异常处理对象库之外时,确定目标工程模块,所述目标工程模块为目标历史数据的分配时间与系统时间之间的时长最小的候选数据对应的工程模块;
将所述目标工程模块对应的异常处理对象确定为所述目标异常处理对象。
在一种可能实现方式中,所述第一确定单元还被配置为执行:
当根据所述堆栈信息确定目标异常处理对象失败时,根据所述堆栈信息,确定目标页面,所述目标页面为历史处理记录中发生相同异常问题时所显示的多个页面中出现次数最大的页面;
将所述目标页面对应的异常处理对象确定为所述目标异常对象。
在一种可能实现方式中,所述发送单元还被配置为执行当所述目标页面不包括对应的异常处理对象时,将所述堆栈信息发送至预设异常处理对象。
在一种可能实现方式中,所述装置还包括:
第二确定单元,被配置为执行根据所述异常问题的出现次数、所述异常问题发生时的版本信息、所述堆栈信息与所述堆栈信息库的匹配结果或所述异常问题发生的最早时间中至少一项,确定所述堆栈信息的优先级,所述优先级用于表示所述异常问题的严重程度;
所述发送单元,还被配置为执行向所述目标异常处理对象发送所述堆栈信息的优先级。
在一种可能实现方式中,所述装置还包括:
更新单元,被配置为执行根据对所述堆栈信息的处理步骤,对所述堆栈信息的状态进行更新,所述状态包括已分配状态、跟进中状态、长期状态、无法解决状态或已解决状态中任一项。
在一种可能实现方式中,所述获取单元还被配置为执行获取所述异常问题发生时正在播放或显示的多媒体资源、所述异常问题发生时所显示的页面或所述异常问题发生时应用的版本信息中至少一项数据,所述至少一项数据用于对所述异常问题的发生原因进行分析。
在一种可能实现方式中,所述装置还包括:
排序单元,被配置为执行根据所述每一个异常处理对象被分配的多个堆栈信息的优先级、状态或所述多个堆栈信息的分配时间与系统时间之间的时长至少一项,对所述多个堆栈信息进行排序。
根据本公开实施例的第三方面,提供一种服务器,所述服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行第一方面以及第一方面的可能实现方式中任一项所述的异常数据处理方法所执行的操作。
根据本公开实施例的第四方面,提供一种存储介质,该存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行第一方面以及第一方面的可能实现方式中任一项所述的异常数据处理方法所执行的操作。
根据本公开实施例的第五方面,提供一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由终端的处理器执行时,使得所述终端能够执行第一方面以及第一方面的可能实现方式中任一项所述的异常数据处理方法所执行的操作。
本公开的实施例提供的技术方案至少带来以下有益效果:
本公开实施例通过获取异常问题的堆栈信息,从而通过堆栈信息与堆栈信息库匹配,将堆栈信息与已知异常问题的候选堆栈信息匹配,确定本次异常问题为哪种已知异常问题,从而将确定的已知异常问题对应的异常处理对象作为目标异常处理对象,向其发送堆栈信息,上述过程实现了异常数据的自动化处理,无需人工参与,大幅度提高了异常数据处理的效率,也可以避免因人工处理可能出现的出错现象,提高了处理过程的准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种异常数据处理方法的流程图;
图2是根据一示例性实施例示出的一种异常数据处理方法的流程图;
图3是根据一示例性实施例示出的一种异常数据处理方法的流程图;
图4是根据一示例性实施例示出的一种异常数据处理装置框图;
图5是根据一示例性实施例示出的一种服务器的结构示意图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种异常数据处理方法的流程图,如图1所示,该方法应用于服务器,包括以下步骤。
在步骤S11中,获取异常问题的堆栈信息。
在步骤S12中,对该堆栈信息与堆栈信息库进行匹配,该堆栈信息库包括多个已知异常问题的候选堆栈信息。
在步骤S13中,当该堆栈信息与该堆栈信息库中任一候选堆栈信息匹配时,向该候选堆栈信息对应的目标异常处理对象发送该堆栈信息。
本公开实施例通过获取异常问题的堆栈信息,从而通过堆栈信息与堆栈信息库匹配,将该堆栈信息与已知异常问题的候选堆栈信息匹配,确定本次异常问题为哪种已知异常问题,从而将确定的已知异常问题对应的异常处理对象作为目标异常处理对象,向其发送堆栈信息,上述过程实现了异常数据的自动化处理,无需人工参与,大幅度提高了异常数据处理的效率,也可以避免因人工处理可能出现的出错现象,提高了处理过程的准确性。
在一种可能实现方式中,该对该堆栈信息与堆栈信息库进行匹配,包括:
提取该堆栈信息的特征;
对该堆栈信息的特征与该堆栈信息库中的多个候选堆栈信息的特征进行匹配。
在一种可能实现方式中,该堆栈信息包括多行数据;
该对该堆栈信息与堆栈信息库进行匹配之后,该方法还包括:
当该堆栈信息与该堆栈信息库中的多个候选堆栈信息均匹配失败时,将该堆栈信息中的每一行数据与数据库进行匹配,该数据库包括多行候选数据;
根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象;
从该堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象;
向该目标异常处理对象发送该堆栈信息。
在一种可能实现方式中,该每一行数据包括文件名、行号、包名、类名或方法名中的至少一项信息;
该将该堆栈信息中的每一行数据与数据库进行匹配,包括:
对于该每一行数据,对比该每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息;
当该每一行数据的至少一项信息与任一候选数据的至少一项信息均相同时,确定该每一行数据与该候选数据匹配。
在一种可能实现方式中,该对比该每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息,包括:
按照文件名、行号、包名、类名、方法名的顺序,依次对比该每一行数据的至少一项信息与该多个候选数据的至少一项信息。
在一种可能实现方式中,该根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象,包括:
获取该每一行数据匹配的候选数据的历史处理信息,该历史处理信息包括目标历史数据被分配的异常处理对象,该目标历史数据为与该候选数据匹配的多个历史数据中分配时间与系统时间之间的时长最小的历史数据;
将该历史处理信息中的该目标历史数据被分配的异常处理对象作为该每一行数据对应的异常处理对象。
在一种可能实现方式中,该历史处理信息还包括该目标历史数据被分配给异常处理对象的分配时间;
该从该堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象,包括:
将该堆栈信息包括的多行数据对应的多个异常处理对象中,该分配时间与系统时间之间的时长最小的异常处理对象确定为该目标异常处理对象。
在一种可能实现方式中,该从该堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象,包括:
将该堆栈信息包括的多行数据对应的多个异常处理对象与异常处理对象库进行对比,得到多个候选异常处理对象;
将该多个候选异常处理对象中该分配时间与系统时间之间的时长最小的候选异常处理对象确定为该目标异常处理对象。
在一种可能实现方式中,该将该堆栈信息包括的多行数据对应的多个异常处理对象与异常处理对象库进行对比之后,该方法还包括:
当对比结果指示该多个异常处理对象均位于该异常处理对象库之外时,确定目标工程模块,该目标工程模块为目标历史数据的分配时间与系统时间之间的时长最小的候选数据对应的工程模块;
将该目标工程模块对应的异常处理对象确定为该目标异常处理对象。
在一种可能实现方式中,该方法还包括:
当根据该堆栈信息确定目标异常处理对象失败时,根据该堆栈信息,确定目标页面,该目标页面为历史处理记录中发生相同异常问题时所显示的多个页面中出现次数最大的页面;
将该目标页面对应的异常处理对象确定为该目标异常对象。
在一种可能实现方式中,该方法还包括:
当该目标页面不包括对应的异常处理对象时,将该堆栈信息发送至预设异常处理对象。
在一种可能实现方式中,该方法还包括:
根据该异常问题的出现次数、该异常问题发生时的版本信息、该堆栈信息与该堆栈信息库的匹配结果或该异常问题发生的最早时间中至少一项,确定该堆栈信息的优先级,该优先级用于表示该异常问题的严重程度;
向该目标异常处理对象发送该堆栈信息的优先级。
在一种可能实现方式中,该方法还包括:
根据对该堆栈信息的处理步骤,对该堆栈信息的状态进行更新,该状态包括已分配状态、跟进中状态、长期状态、无法解决状态或已解决状态中任一项。
在一种可能实现方式中,该方法还包括:
获取该异常问题发生时正在播放或显示的多媒体资源、该异常问题发生时所显示的页面或该异常问题发生时应用的版本信息中至少一项数据,该至少一项数据用于对该异常问题的发生原因进行分析。
在一种可能实现方式中,该方法还包括:
根据该每一个异常处理对象被分配的多个堆栈信息的优先级、状态或该多个堆栈信息的分配时间与系统时间之间的时长至少一项,对该多个堆栈信息进行排序。
图2是根据一示例性实施例示出的一种异常数据处理方法的流程图,如图2所示,该方法应用于服务器,包括以下步骤。
在步骤S21中,服务器获取异常问题的堆栈信息。
在本公开实施例中,服务器可以根据该堆栈信息获知终端发生异常问题时的状态,对该堆栈信息进行分析,确定本次异常问题需由哪个异常处理对象处理。其中,异常问题可以包括以下的表现形式:当发生异常问题时,应用程序出现崩溃,应用界面出现卡顿甚至闪退的现象,影响用户的正常使用。
导致应用界面出现卡顿甚至闪退的现象的原因可以有多种,例如,在平时使用应用的过程中,会产生一些垃圾数据,该应用内部的垃圾数据过多,长时间未清理导致该应用出现卡顿甚至闪退。又例如,对应用的启动条件没有进行设置时,很多应用会自发启动,会导致后台运行程序过多,系统内存不足,进而造成该应用卡顿甚至闪退。又例如,有些应用对版本有一定的要求,应用的版本可能过低,也可能过高,还可能处于测试阶段,可能会出现应用的版本与设备的版本发生不兼容问题,从而造成应用卡顿甚至闪退。又例如,一些应用需要相关的数据包才能运行,因某些原因丢失了相关的数据包也可能造成应用闪退。又例如,部分应用需要在联网环境下运行,当网络不稳定时,也会出现该应用卡顿或闪退的异常问题。
具体地,服务器获取异常问题的堆栈信息的过程可以为:终端发生异常问题时,可以生成堆栈信息,并向服务器发送该堆栈信息,服务器接收终端发送的异常问题的堆栈信息。
在步骤S22中,服务器对该堆栈信息与堆栈信息库进行匹配,该堆栈信息库包括多个已知异常问题的候选堆栈信息,当该堆栈信息与该堆栈信息库中任一候选堆栈信息匹配时,执行步骤S23,当该堆栈信息与该堆栈信息库中的多个候选堆栈信息均匹配失败时,执行步骤S24至步骤S27。
该堆栈信息库可以包括多个已知异常问题的候选堆栈信息。在一种可能实现方式中,该堆栈信息库可以由相关技术人员根据自身经验或对服务器过去获取到的堆栈信息进行分析得到。例如,相关技术人员可以确定服务器过去获取到的堆栈信息对应的异常问题,从而对异常问题进行分类,得到多个已知异常问题,从而将该多个已知异常问题的堆栈信息作为该堆栈信息库中的多个候选堆栈信息。在本公开实施例中,服务器对堆栈信息与堆栈信息库进行匹配,即可根据匹配结果,确定本次发生的异常问题是哪种已知异常问题,从而可以向该已知异常问题对应的异常处理对象发送堆栈信息。
在一种可能实现方式中,服务器对堆栈信息和堆栈信息库进行匹配的过程可以为:服务器提取该堆栈信息的特征,对该堆栈信息的特征与该堆栈信息库中的多个候选堆栈信息的特征进行匹配。其中,该堆栈信息的特征可以用来表征堆栈信息,在一些场景中,还可以称该特征为关键字,特征和关键字都是用来表征堆栈信息的信息。
服务器对堆栈信息和堆栈信息库进行匹配后,可能会得到不同的匹配结果,匹配结果不同时,服务器可以执行不同的处理步骤。具体地,该堆栈信息与该堆栈信息库中任一候选堆栈信息匹配,说明本次发生的异常问题与该任一候选堆栈信息对应的已知异常问题相同,因而,可以执行步骤S23。该堆栈信息与该堆栈信息库中的多个候选堆栈信息均匹配失败,说明本次发生的异常问题与多个已知异常问题均不相同,因而可以执行步骤S24至S27。
在步骤S23中,服务器向该候选堆栈信息对应的目标异常处理对象发送该堆栈信息。
该目标异常处理对象可以是多个候选堆栈信息中匹配的候选堆栈信息所对应的异常处理对象。该异常处理对象可以是用于处理异常问题的技术人员,或者是用于处理异常问题的处理单元,例如:一个线程。
该候选堆栈信息与异常处理对象之间可以存在对应关系,该对应关系可以采用关系表或映射图的形式。在步骤S22中,服务器通过匹配,确定堆栈信息匹配的候选堆栈信息,因而,可以根据该对应关系,将匹配的候选堆栈信息对应的异常处理对象作为目标异常处理对象。这种通过匹配,对异常数据进行自动化处理的方式,提高了解决异常数据的效率。
服务器确定了目标异常处理对象后,即可向该目标异常处理对象发送堆栈信息。具体地,服务器可以获取该技术人员所控制的设备的地址,也可以获取该技术人员的用户账号,从而向该地址或该用户账号所在设备发送堆栈信息。
例如:在一个具体示例中,每一个候选堆栈信息可以对应于一个技术人员,则该堆栈信息库对应于一个技术人员列表。服务器向候选堆栈信息对应的技术人员发送堆栈信息,具体地,可以通过该技术人员的邮箱或社交应用的用户账号,向该技术人员发送该堆栈信息。通过不同的方式对该堆栈信息进行发送,提高了解决异常数据的及时性。
在步骤S24中,服务器将该堆栈信息中的每一行数据与数据库进行匹配,该数据库包括多行候选数据。
该堆栈信息可以包括多行数据,服务器可以对堆栈信息中的每一行数据与数据库进行匹配,以确定该每一行数据与该数据库中的哪一行数据相同。当然,该每一行数据可能与该数据库中的某一行数据相同,也可以与该数据库中的多行数据均不相同。
在一种可能实现方式中,该堆栈信息包括多行数据。该每一行数据包括文件名、行号、包名、类名或方法名中的至少一项信息。服务器在对堆栈信息中的每一行数据与数据库进行匹配时,就可对比该至少一项信息。具体地,对于该每一行数据,服务器可以对比该每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息,当该每一行数据的至少一项信息与任一候选数据的至少一项信息均相同时,确定该每一行数据与该候选数据匹配。
在一种可能实现方式中,上述对比过程还可以按照一定顺序执行,具体地,服务器可以按照文件名、行号、包名、类名、方法名的顺序,依次对比该每一行数据的至少一项信息与该多个候选数据的至少一项信息。
例如,在一个具体示例中,该至少一项信息可以为文件名、行号、包名、类名和方法名。服务器可以通过每个堆栈的每一行的文件名,在数据库中对比文件名,找到与文件名相匹配的行,对于文件名不相匹配的行不再进行对比。在已经挑选出来文件名相匹配的行中,继续通过每个堆栈的每一行的行号,在数据库中对比行号,挑选出行号相匹配的行,对于行号不匹配的行不再进行对比。在挑选出行号相匹配的行中,通过对比每一行的包名与数据库中的包名,找到与包名相匹配的行,对于包名不相匹配的行不再进行对比。在挑选出包名相匹配的行中,通过对比每一行的类名与数据库中的类名,挑选出类名相匹配的行,对于类名不匹配的行不再进行对比。在已经挑选出来类名相匹配的行中,继续通过每个堆栈的每一行的方法名,在数据库中对比方法名,从而找到目标异常处理对象。若在依次对比的过程中,只要出现不能匹配上的,说明该行数据和数据库中多个候选数据的信息均不相同。这种通过依次对比每行的文件名、行号、包名、类名和方法名,为异常数据进行自动化处理的方式,可以逐渐缩小对比的范围,提高解决异常数据的效率。
上述过程中仅对该每一行数据的至少一项信息与任一候选数据的至少一项信息均相同时,确定每一行数据与该候选数据匹配的情况,还有一种可能情况,每一行数据的至少一项信息与多个候选数据均不匹配时,服务器可以执行其他步骤,以进一步确定目标异常处理对象,具体可以参见下述步骤S27中根据页面确定目标异常处理对象的过程,在此不多做赘述。
在一种可能实现方式中,本申请中的数据用于描述应用程序的运行逻辑、运行架构等。数据可以为代码的形式,相应的,数据库可以为代码库的形式,每一行代码与代码库进行匹配的过程与上述过程同理。即服务器将该堆栈信息中的每一行代码与代码库进行匹配,该代码库包括多行候选代码。
在一种可能实现方式中,该堆栈信息包括多行代码。该每一行代码包括文件名、行号、包名、类名或方法名中的至少一项信息。具体地,对于该每一行代码,服务器可以对比该每一行代码的至少一项信息与代码库中的多个候选代码的至少一项信息,当该每一行代码的至少一项信息与任一候选代码的至少一项信息均相同时,确定该每一行代码与该候选代码匹配。
在一种可能实现方式中,上述对比过程还可以按照一定顺序执行,具体地,服务器可以按照文件名、行号、包名、类名、方法名的顺序,依次对比该每一行代码的至少一项信息与该多个候选代码的至少一项信息。
在步骤S25中,服务器根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象。
每个候选数据可以对应有历史处理信息,该历史处理信息包括与候选数据匹配到的历史数据所被分配的异常处理对象。服务器确定了每一行数据匹配的候选数据后,根据该候选数据的历史处理信息,从而确定该每一行数据对应的异常处理对象。
在一种可能实现方式中,服务器根据历史处理信息,确定每一行数据对应的异常处理对象的过程可以为:服务器获取该每一行数据匹配的候选数据的历史处理信息,该历史处理信息包括目标历史数据被分配的异常处理对象,该目标历史数据为与该候选数据匹配的多个历史数据中分配时间与系统时间之间的时长最小的历史数据,服务器将该历史处理信息中的该目标历史数据被分配的异常处理对象作为该每一行数据对应的异常处理对象。
在一种可能实现方式中,历史处理信息中可以包括多个历史数据,在该多个历史数据中,查找到该候选数据匹配的多个历史数据中分配时间与系统时间之间的时长最小的历史数据,将其确定为目标历史数据,本次确定每一行数据对应的异常处理对象时,即可将该目标历史数据作为参考依据。在另一种可能实现方式中,该历史处理信息也可以仅包括目标历史数据,该历史处理信息可以基于该候选数据相关的处理过程进行更新,每当确定与候选数据匹配的数据对应的异常处理对象时,即可将该数据被发送的异常处理对象作为该候选数据的历史处理信息。
在一种可能实现方式中,代码可以为代码的形式,相应的,历史数据可以为历史代码的形式,确定每一行代码对应的异常处理对象的过程与上述过程同理。
服务器根据历史处理信息,确定每一行代码对应的异常处理对象的过程可以为:服务器获取该每一行代码匹配的候选代码的历史处理信息,该历史处理信息包括目标历史代码被分配的异常处理对象,该目标历史代码为与该候选代码匹配的多个历史代码中分配时间与系统时间之间的时长最小的历史代码,服务器将该历史处理信息中的该目标历史代码被分配的异常处理对象作为该每一行代码对应的异常处理对象。
在一种可能实现方式中,历史处理信息中可以包括多个历史代码,在该多个历史代码中,查找到该候选代码匹配的多个历史代码中分配时间与系统时间之间的时长最小的历史代码,将其确定为目标历史代码。在另一种可能实现方式中,该历史处理信息也可以仅包括目标历史代码,该历史处理信息可以基于该候选代码相关的处理过程进行更新,每当确定与候选代码匹配的代码对应的异常处理对象时,即可将该代码被发送的异常处理对象作为该候选代码的历史处理信息。
在步骤S26中,服务器从该堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象。
步骤S24和步骤S25中,服务器可以对每一行数据进行匹配,确定每一行数据对应的异常处理对象,则可能每一行数据均对应一个异常处理对象,也可能有的数据并未对应于任一个异常处理对象,通过上述步骤即可得到多行数据对应的。
服务器从多个异常处理对象中确定目标异常处理对象的过程可以通过多种方式实现,下面提供了两种可能实现方式,在这两种实现方式中,该历史处理信息还包括该目标历史数据被分配给异常处理对象的分配时间。服务器可以采用任一种方式来确定目标异常处理对象,本公开实施例对具体采用哪种方式不作限定。
方式一、服务器将该堆栈信息包括的多行数据对应的多个异常处理对象中,该分配时间与系统时间之间的时长最小的异常处理对象确定为该目标异常处理对象。
在方式一中,可以理解地,分配时间与与系统时间之间的时长最小,说明该数据对应的异常问题由该异常处理对象进行处理的时间距离系统时间最近,可能该异常处理对象还存在的可能性更大,又或者可能在该类异常问题处理的历史情况中,该异常处理对象对该类异常问题的处理能力更强,也可能对该类异常问题的处理方式在不停更新中,则该异常处理对象对该类异常问题的处理方式最有效,因而,可以将分配时间与系统时间之间的时长最小的异常处理对象确定为该目标异常处理对象。
方式二、服务器将该堆栈信息包括的多行数据对应的多个异常处理对象与异常处理对象库进行对比,得到多个候选异常处理对象;将该多个候选异常处理对象中该分配时间与系统时间之间的时长最小的候选异常处理对象确定为该目标异常处理对象。
服务器还可以设置有异常处理对象库,异常处理对象库包括多个能够处理异常问题的异常处理对象。在一种可能实现方式中,该异常处理对象库可以实时更新。具体地,当该异常处理对象库中包括处理过异常问题但后续不能够处理异常问题的异常处理对象时,可以将其从该异常处理对象库中删除。
在方式二中,除了方式一中考虑的分配时间之外,服务器还可以基于异常处理对象库来考虑多行数据对应的多个异常处理对象能否处理异常问题。服务器可以将能够处理异常问题的多个候选异常处理对象中分配时间与系统时间之间的时长最小的候选异常处理对象作为目标异常处理对象。
例如:步骤S24至步骤S25中的每一行数据匹配的候选数据的历史处理信息中,可以包括有这一行提交的技术人员信息,遍历每一行数据,可以将该行数据匹配到的堆栈信息所对应的技术人员信息记录下来,遍历完多行数据之后,可以记录下来多个技术人员信息,具体地,可以将其记录在技术人员列表中,从而通过这种遍历多行数据的方式,服务器可以得到堆栈信息所对应的技术人员列表。有些技术人员可能会离职,在对异常问题进行分配时,我们需要考虑在职的技术人员,在服务器中可以维护有员工数据库,该员工数据库中可以维护有在职的技术人员,服务器在获取得到堆栈信息所对应的技术人员列表之后,可以去员工数据库中查找每个技术人员是否在职,从而将在职的技术人员作为本次考虑的范围。另外,每个技术人员还可能处理过多次异常问题,服务器可以考虑每个技术人员最晚一次处理异常问题的时间,通过对比时间,找到最晚一次处理异常问题的技术人员,将其作为本次处理异常问题的技术人员。这种对自动化对异常数据进行处理的方法,提高了解决异常数据的效率。
在方式二中,仅示出了对比结果指示该多个异常处理对象中至少有一个位于该异常处理对象库之内时,服务器可以确定目标异常处理对象,并向其发送堆栈信息的情况,还有一种可能情况,当对比结果指示该多个异常处理对象均位于该异常处理对象库之外时,服务器可以确定目标工程模块,该目标工程模块为目标历史数据的分配时间与系统时间之间的时长最小的候选数据对应的工程模块;将该目标工程模块对应的异常处理对象确定为该目标异常处理对象。
在一种可能实现方式中,数据可以为代码的形式,确定目标异常处理对象的过程与上述过程同理。上述两种方式则可以为:
方式一、服务器将该堆栈信息包括的多行代码对应的多个异常处理对象中,该分配时间与系统时间之间的时长最小的异常处理对象确定为该目标异常处理对象。
方式二、服务器将该堆栈信息包括的多行代码对应的多个异常处理对象与异常处理对象库进行对比,得到多个候选异常处理对象;将该多个候选异常处理对象中该分配时间与系统时间之间的时长最小的候选异常处理对象确定为该目标异常处理对象。
在方式二中,除了方式一中考虑的分配时间之外,服务器还可以基于异常处理对象库来考虑多行代码对应的多个异常处理对象能否处理异常问题。服务器可以将能够处理异常问题的多个候选异常处理对象中分配时间与系统时间之间的时长最小的候选异常处理对象作为目标异常处理对象。
在方式二中,仅示出了对比结果指示该多个异常处理对象中至少有一个位于该异常处理对象库之内时,服务器可以确定目标异常处理对象,并向其发送堆栈信息的情况,还有一种可能情况,当对比结果指示该多个异常处理对象均位于该异常处理对象库之外时,服务器可以确定目标工程模块,该目标工程模块为目标历史代码的分配时间与系统时间之间的时长最小的候选代码对应的工程模块;将该目标工程模块对应的异常处理对象确定为该目标异常处理对象。
在步骤S27中,服务器向该目标异常处理对象发送该堆栈信息。
该步骤S27中向目标异常处理对象发送堆栈信息的过程与步骤S23中的发送过程同理,只是步骤S23与步骤S27中目标异常处理对象的确定方式不同。
步骤S23至步骤S27均为根据堆栈信息能够成功确定目标异常处理对象,并向其发送堆栈信息的情况,还有一种根据堆栈信息确定目标异常处理对象失败的情况,在这种情况中,当根据该堆栈信息确定目标异常处理对象失败时,服务器可以根据该堆栈信息,确定目标页面,该目标页面为历史处理记录中发生相同异常问题时所显示的多个页面中出现次数最大的页面;将该目标页面对应的异常处理对象确定为该目标异常对象。通过目标页面确定目标异常处理对象,可以保证在上述根据堆栈信息无法确定目标异常处理对象时也可以成功确定目标异常处理对象,提高了处理异常数据的可靠性和实用性。
上述过程是目标页面对应有异常处理对象的情况,当该目标页面不包括对应的异常处理对象时,服务器可以将该堆栈信息发送至预设异常处理对象。通过该预设异常处理对象的设置,可以保证在上述几种确定目标异常处理对象的方式均不可确定目标异常处理对象时,也可以成功确定目标异常处理对象,提高了处理异常数据的可靠性和实用性。
在一种可能实现方式中,由于每个异常问题的严重程度可能不同,则服务器可以对堆栈信息的优先级进行判定,进而目标异常处理对象处理异常问题时,可以根据优先级处理。在判定优先级时,还可以根据多项因素,综合判定优先级。具体地,服务器可以根据该异常问题的出现次数、该异常问题发生时的版本信息、该堆栈信息与该堆栈信息库的匹配结果或该异常问题发生的最早时间中至少一项,确定该堆栈信息的优先级,该优先级用于表示该异常问题的严重程度,服务器可以向该目标异常处理对象发送该堆栈信息的优先级。服务器对堆栈问题的优先级进行判定,目标异常处理对象可以清晰地获知该异常问题的严重程度,根据不同异常问题的不同严重程度,对更为严重的异常问题优先处理,对与之相比较不太严重的异常问题可以随后处理,这种按照优先级处理异常问题的方法,可以及时对严重的异常问题进行处理,以保证终端的正常运行,也提高了对异常问题的处理效率。
在一种可能实现方式中,服务器根据对该堆栈信息的处理步骤,对该堆栈信息的状态进行更新,该状态包括已分配状态、跟进中状态、长期状态、无法解决状态或已解决状态中任一项。例如:服务器将异常问题已经分配给对应的技术人员后,可将对堆栈信息的状态更新为已分配状态。服务器将异常问题分配给技术人员后,技术人员正在对该异常问题发生的原因进行分析、准备处理,并在服务器上进行操作使得堆栈信息的状态更新为跟进转态。技术人员对分配到的异常问题长时间没有进行处理,服务器会对该类异常问题的状态更新为长期状态。对于长期未跟进解决的异常问题,分配系统中的服务器会每天发消息给技术人员进行提醒,对于长期未解决的异常问题,服务器会将异常问题抄送给技术人员进行跟进处理。无法解决状态可以指技术人员由于自身的经验不足,处理问题出现了失误,或者可以是由于异常问题本身解决难度大,使得技术人员无法解决该异常问题,通过对服务器的操作使得堆栈信息的状态更新为无法解决状态。已解决状态可以指技术人员由于之前对该类异常问题进行分析、处理过,本次能够及时且高效的解决该异常问题,在服务器上进行操作使得本次的异常问题得到解决。同时,服务器将本次堆栈信息的状态更新为已解决状态。
这种对堆栈信息不同状态的设置,可以方便技术人员跟踪异常问题的进展情况,对已分配状态和跟进中状态的异常问题,技术人员可以及时对该异常问题进行分析、处理,而对于处于长期状态、无法解决状态和已解决状态的异常问题,技术人员可以节约时间不再给与处理。这种跟进流程的管理方式,分类明确,能够保证异常问题的不遗漏,并且能够迅速的解决,提升异常问题解决的效率。
在一种可能实现方式中,根据该每一个异常处理对象被分配的多个堆栈信息的优先级、状态或该多个堆栈信息的分配时间与系统时间之间的时长至少一项,对该多个堆栈信息进行排序。例如:在一个具体示例中,服务器可以根据该每一个异常处理对象被分配的多个堆栈信息的状态进行排序。对于处于分配状态、跟进中状态、长期状态、无法解决状态或已解决状态的异常问题,由于分配状态和跟进中状态中的异常问题处于等待解决的一个状态,技术人员可以优先对配状态和跟进中状态中的异常问题进行分析、处理。而处于无法解决状态或已解决状态的异常问题可以暂缓或者不再给与处理。处于长期状态的异常问题,服务器会根据异常问题所处的解决情况,做出不同的处理。如果是长期跟进解决的异常问题,服务器会每天发消息向技术人员进行提醒,如果是长期未解决的问题,服务器会将异常问题抄送给技术人员进行跟进处理。这种对堆栈信息进行排序的方式,技术人员可以清楚的得知哪些异常问题应该优先被处理,从而提高了解决异常问题的效率。
在步骤S21中,服务器获取堆栈信息之外,还可以获取该异常问题发生时正在播放或显示的多媒体资源、该异常问题发生时所显示的页面或该异常问题发生时应用的版本信息中至少一项数据,该至少一项数据用于对该异常问题的发生原因进行分析。
本公开实施例通过服务器获取堆栈信息后,对异常数据采取自动化处理方法,提高了异常数据的解决效率和准确率。
例如,如图3所示,图3是根据一示例性实施例示出的一种异常数据处理方法的流程图,在一个具体实施例中,当终端程序出现异常时,服务器会获取这个异常问题的堆栈信息,然后对堆栈信息与堆栈信息库进行特征匹配,即对应步骤S22。如果匹配成功,服务器可以向该候选堆栈信息对应的目标异常处理对象发送该堆栈信息,即对应步骤S23。如果匹配失败,服务器可以将该堆栈信息中的每一行数据与数据库进行匹配,根据匹配的结果,分别按照步骤S23或者按照S24至S27中提供的方法去对异常问题进行分配。如果服务器找出已知异常问题的堆栈信息,则可将这些已知特征的堆栈信息直接分配给对应的技术人员。如果服务器没有找出已知异常问题的堆栈信息,则可以将堆栈信息中的每一行数据与数据库匹配,通过在数据库中遍历完,找到符合的数据行,则在数据库中能查找到最近一次的开发,记录并将对应堆栈信息发送给对应的技术人员。当堆栈信息确定目标异常处理对象失败时,服务器可以根据该堆栈信息,通过查找历史处理记录中发生相同异常问题时所显示的多个页面中出现次数最大的页面,来确定目标页面,从而将对应的堆栈信息发送给对应的技术人员,即对应步骤S23至S27中的方法。这种通过目标工程数据、目标页面确定目标异常处理对象的方法,可以成功确定目标异常处理对象,提高了自动化处理异常数据的可靠性和实用性。
本公开实施例通过获取异常问题的堆栈信息,从而通过堆栈信息与堆栈信息库匹配,并将该堆栈信息与已知异常问题的候选堆栈信息匹配,确定本次异常问题为哪种已知异常问题,从而将确定的已知异常问题对应的异常处理对象作为目标异常处理对象,向其发送堆栈信息,上述过程实现了异常数据的自动化处理,无需人工参与,大幅度提高了异常数据处理的效率,也可以避免因人工处理可能出现的出错现象,提高了处理过程的准确性。
本公开所涉及的用户信息可以为经用户授权或者经过各方充分授权的信息。
图4是根据一示例性实施例示出的一种异常数据处理装置框图,如图4所示,该装置包括:
获取单元401,被配置为执行获取该异常问题的堆栈信息;
匹配单元402,被配置为执行对该堆栈信息与该堆栈信息库进行匹配,该堆栈信息库包括多个已知异常问题的候选堆栈信息;
发送单元403,被配置为执行当该堆栈信息与该堆栈信息库中任一候选堆栈信息匹配时,向该候选堆栈信息对应的目标异常处理对象发送该堆栈信息。
在一种可能实现方式中,该匹配单元402被配置为执行:
提取该堆栈信息的特征;
对该堆栈信息的特征与该堆栈信息库中的多个候选堆栈信息的特征进行匹配。
在一种可能实现方式中,该堆栈信息包括多行数据;
该匹配单元402还被配置为执行当该堆栈信息与该堆栈信息库中的多个候选堆栈信息均匹配失败时,将该堆栈信息中的每一行数据与数据库进行匹配,该数据库包括多行候选数据;
该装置还包括:
第一确定单元,被配置为执行根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象;
该第一确定单元,还被配置为执行从该堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象;
该发送单元403还被配置为执行向该目标异常处理对象发送该堆栈信息。
在一种可能实现方式中,该每一行数据包括文件名、行号、包名、类名或装置名中的至少一项信息;
该匹配单元402被配置为执行:
对于该每一行数据,对比该每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息;
当该每一行数据的至少一项信息与任一候选数据的至少一项信息均相同时,确定该每一行数据与该候选数据匹配。
在一种可能实现方式中,该匹配单元402被配置为执行按照文件名、行号、包名、类名、装置名的顺序,依次对比该每一行数据的至少一项信息与该多个候选数据的至少一项信息。
在一种可能实现方式中,该第一确定单元被配置为执行:
获取该每一行数据匹配的候选数据的历史处理信息,该历史处理信息包括目标历史数据被分配的异常处理对象,该目标历史数据为与该候选数据匹配的多个历史数据中分配时间与系统时间之间的时长最小的历史数据;
将该历史处理信息中的该目标历史数据被分配的异常处理对象作为该每一行数据对应的异常处理对象。
在一种可能实现方式中,该历史处理信息还包括该目标历史数据被分配给异常处理对象的分配时间;
该第一确定单元被配置为执行将该堆栈信息包括的多行数据对应的多个异常处理对象中,该分配时间与系统时间之间的时长最小的异常处理对象确定为该目标异常处理对象。
在一种可能实现方式中,该第一确定单元被配置为执行:
将该堆栈信息包括的多行数据对应的多个异常处理对象与异常处理对象库进行对比,得到多个候选异常处理对象;
将该多个候选异常处理对象中该分配时间与系统时间之间的时长最小的候选异常处理对象确定为该目标异常处理对象。
在一种可能实现方式中,该第一确定单元还被配置为执行:
当对比结果指示该多个异常处理对象均位于该异常处理对象库之外时,确定目标工程模块,该目标工程模块为目标历史数据的分配时间与系统时间之间的时长最小的候选数据对应的工程模块;
将该目标工程模块对应的异常处理对象确定为该目标异常处理对象。
在一种可能实现方式中,该第一确定单元还被配置为执行:
当根据该堆栈信息确定目标异常处理对象失败时,根据该堆栈信息,确定目标页面,该目标页面为历史处理记录中发生相同异常问题时所显示的多个页面中出现次数最大的页面;
将该目标页面对应的异常处理对象确定为该目标异常对象。
在一种可能实现方式中,该发送单元403还被配置为执行当该目标页面不包括对应的异常处理对象时,将该堆栈信息发送至预设异常处理对象。
在一种可能实现方式中,该装置还包括:
第二确定单元,被配置为执行根据该异常问题的出现次数、该异常问题发生时的版本信息、该堆栈信息与该堆栈信息库的匹配结果或该异常问题发生的最早时间中至少一项,确定该堆栈信息的优先级,该优先级用于表示该异常问题的严重程度;
该发送单元403,还被配置为执行向该目标异常处理对象发送该堆栈信息的优先级。
在一种可能实现方式中,该装置还包括:
更新单元,被配置为执行根据对该堆栈信息的处理步骤,对该堆栈信息的状态进行更新,该状态包括已分配状态、跟进中状态、长期状态、无法解决状态或已解决状态中任一项。
在一种可能实现方式中,该获取单元401还被配置为执行获取该异常问题发生时正在播放或显示的多媒体资源、该异常问题发生时所显示的页面或该异常问题发生时应用的版本信息中至少一项数据,该至少一项数据用于对该异常问题的发生原因进行分析。
在一种可能实现方式中,该装置还包括:
排序单元,被配置为执行根据该每一个异常处理对象被分配的多个堆栈信息的优先级、状态或该多个堆栈信息的分配时间与系统时间之间的时长至少一项,对该多个堆栈信息进行排序。
本公开实施例提供的装置,通过获取异常问题的堆栈信息,从而通过堆栈信息与堆栈信息库匹配,将该堆栈信息与已知异常问题的候选堆栈信息匹配,确定本次异常问题为哪种已知异常问题,从而将确定的已知异常问题对应的异常处理对象作为目标异常处理对象,向其发送堆栈信息,上述过程实现了异常数据的自动化处理,无需人工参与,大幅度提高了异常数据处理的效率,也可以避免因人工处理可能出现的出错现象,提高了处理过程的准确性。
图5是根据一示例性实施例示出的一种服务器的结构示意图,该服务器500可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)501和一个或一个以上的存储器502,其中,该存储器502中存储有至少一条指令,该至少一条指令由该处理器501加载并执行以实现上述各个方法实施例提供的异常数据处理方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器,上述指令可由装置的处理器执行以完成上述异常数据处理方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,该非临时性计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品,包括一条或多条指令,该一条或多条指令可以由服务器的处理器执行,以完成上述实施例中提供的异常数据处理方法的方法步骤。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种异常数据处理方法,其特征在于,包括:
获取异常问题的堆栈信息;
对所述堆栈信息与堆栈信息库进行匹配,所述堆栈信息库包括多个已知异常问题的候选堆栈信息;
当所述堆栈信息与所述堆栈信息库中任一候选堆栈信息匹配时,向所述候选堆栈信息对应的目标异常处理对象发送所述堆栈信息。
2.根据权利要求1所述的异常数据处理方法,其特征在于,所述堆栈信息包括多行数据;
所述对所述堆栈信息与堆栈信息库进行匹配之后,所述方法还包括:
当所述堆栈信息与所述堆栈信息库中的多个候选堆栈信息均匹配失败时,将所述堆栈信息中的每一行数据与数据库进行匹配,所述数据库包括多行候选数据;
根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象;
从所述堆栈信息包括的多行数据对应的多个异常处理对象中,确定目标异常处理对象;
向所述目标异常处理对象发送所述堆栈信息。
3.根据权利要求2所述的异常数据处理方法,其特征在于,所述每一行数据包括文件名、行号、包名、类名或方法名中的至少一项信息;
所述将所述堆栈信息中的每一行数据与数据库进行匹配,包括:
对于所述每一行数据,对比所述每一行数据的至少一项信息与数据库中的多个候选数据的至少一项信息;
当所述每一行数据的至少一项信息与任一候选数据的至少一项信息均相同时,确定所述每一行数据与所述候选数据匹配。
4.根据权利要求2所述的异常数据处理方法,其特征在于,所述根据每一行数据匹配的候选数据的历史处理信息,确定每一行数据对应的异常处理对象,包括:
获取所述每一行数据匹配的候选数据的历史处理信息,所述历史处理信息包括目标历史数据被分配的异常处理对象,所述目标历史数据为与所述候选数据匹配的多个历史数据中分配时间与系统时间之间的时长最小的历史数据;
将所述历史处理信息中的所述目标历史数据被分配的异常处理对象作为所述每一行数据对应的异常处理对象。
5.根据权利要求1-4任一项所述的异常数据处理方法,其特征在于,所述方法还包括:
当根据所述堆栈信息确定目标异常处理对象失败时,根据所述堆栈信息,确定目标页面,所述目标页面为历史处理记录中发生相同异常问题时所显示的多个页面中出现次数最大的页面;
将所述目标页面对应的异常处理对象确定为所述目标异常对象。
6.根据权利要求5所述的异常数据处理方法,其特征在于,所述方法还包括:
当所述目标页面不包括对应的异常处理对象时,将所述堆栈信息发送至预设异常处理对象。
7.根据权利要求1所述的异常数据处理方法,其特征在于,所述方法还包括:
根据所述异常问题的出现次数、所述异常问题发生时的版本信息、所述堆栈信息与所述堆栈信息库的匹配结果或所述异常问题发生的最早时间中至少一项,确定所述堆栈信息的优先级,所述优先级用于表示所述异常问题的严重程度;
向所述目标异常处理对象发送所述堆栈信息的优先级。
8.一种异常数据处理装置,其特征在于,包括:
获取单元,被配置为执行获取所述异常问题的堆栈信息;
匹配单元,被配置为执行对所述堆栈信息与所述堆栈信息库进行匹配,所述堆栈信息库包括多个已知异常问题的候选堆栈信息;
发送单元,被配置为执行当所述堆栈信息与所述堆栈信息库中任一候选堆栈信息匹配时,向所述候选堆栈信息对应的目标异常处理对象发送所述堆栈信息。
9.一种服务器,其特征在于,包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行指令的一个或多个存储器;
其中,所述一个或多个处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的异常数据处理方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由服务器的处理器执行时,使得所述服务器能够执行如权利要求1至7中任一项所述的异常数据处理方法。
CN201910739436.5A 2019-08-12 2019-08-12 异常数据处理方法、装置、服务器及存储介质 Active CN112395119B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910739436.5A CN112395119B (zh) 2019-08-12 2019-08-12 异常数据处理方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910739436.5A CN112395119B (zh) 2019-08-12 2019-08-12 异常数据处理方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN112395119A true CN112395119A (zh) 2021-02-23
CN112395119B CN112395119B (zh) 2024-03-12

Family

ID=74602242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910739436.5A Active CN112395119B (zh) 2019-08-12 2019-08-12 异常数据处理方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN112395119B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356434A (zh) * 2021-11-26 2022-04-15 北京达佳互联信息技术有限公司 页面加载方法、设备、装置、存储介质及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704356A (zh) * 2017-06-12 2018-02-16 平安科技(深圳)有限公司 异常堆栈信息获取方法、装置及计算机可读存储介质
CN108052431A (zh) * 2017-12-08 2018-05-18 北京奇虎科技有限公司 终端程序异常关闭信息处理方法、装置、终端
CN108647106A (zh) * 2018-05-11 2018-10-12 深圳市腾讯网络信息技术有限公司 应用异常处理方法、存储介质及计算机设备
CN108829416A (zh) * 2018-05-30 2018-11-16 维沃移动通信有限公司 一种升级推荐方法、服务器及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704356A (zh) * 2017-06-12 2018-02-16 平安科技(深圳)有限公司 异常堆栈信息获取方法、装置及计算机可读存储介质
CN108052431A (zh) * 2017-12-08 2018-05-18 北京奇虎科技有限公司 终端程序异常关闭信息处理方法、装置、终端
CN108647106A (zh) * 2018-05-11 2018-10-12 深圳市腾讯网络信息技术有限公司 应用异常处理方法、存储介质及计算机设备
CN108829416A (zh) * 2018-05-30 2018-11-16 维沃移动通信有限公司 一种升级推荐方法、服务器及终端

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356434A (zh) * 2021-11-26 2022-04-15 北京达佳互联信息技术有限公司 页面加载方法、设备、装置、存储介质及程序产品
CN114356434B (zh) * 2021-11-26 2024-03-26 北京达佳互联信息技术有限公司 页面加载方法、设备、装置、存储介质及程序产品

Also Published As

Publication number Publication date
CN112395119B (zh) 2024-03-12

Similar Documents

Publication Publication Date Title
US20090182794A1 (en) Error management apparatus
US7721288B2 (en) Organizing transmission of repository data
CN109150572B (zh) 实现告警关联的方法、装置以及计算机可读存储介质
CN110569298B (zh) 一种数据对接、可视化方法和系统
KR102232859B1 (ko) 인공지능 학습 데이터 생성을 위한 크라우드소싱 기반 프로젝트의 기능요소 및 난이도에 기반한 작업자 풀 자동 생성 방법
WO2019019652A1 (zh) 推送信息的处理方法、装置、计算机设备和存储介质
CN110851324B (zh) 基于日志的巡检处理方法、装置以及电子设备、存储介质
CN109542737A (zh) 平台告警处理方法、装置、电子装置及存储介质
US11221943B2 (en) Creating an intelligent testing queue for improved quality assurance testing of microservices
CN113312153A (zh) 一种集群部署方法、装置、电子设备及存储介质
CN106529281B (zh) 一种可执行文件处理方法及装置
CN107168788A (zh) 分布式系统中资源的调度方法以及装置
CN112395119B (zh) 异常数据处理方法、装置、服务器及存储介质
CN111651235A (zh) 一种虚拟机组任务管理方法及装置
US11216352B2 (en) Method for automatically analyzing bottleneck in real time and an apparatus for performing the method
CN116303320A (zh) 基于日志文件的实时任务管理方法、装置、设备及介质
CN113010310A (zh) 作业数据的处理方法、装置和服务器
CN114203304A (zh) 基于智慧医疗大数据的信息推送方法及智慧医疗云服务器
CN113596871A (zh) 一种测试方法、服务器及计算机存储介质
CN112035174B (zh) 运行web服务的方法、装置及计算机存储介质
CN112231185A (zh) 基于应用系统告警信息的知识获取方法及装置
CN111158654A (zh) 算法调用方法、装置、服务器及存储介质
CN111680018A (zh) 响应请求的方法、装置、设备及可读存储介质
CN110716778A (zh) 应用兼容性测试方法、装置及系统
CN114153830B (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
GR01 Patent grant
GR01 Patent grant