CN113918370A - 类别确定方法、装置、电子设备和存储介质 - Google Patents

类别确定方法、装置、电子设备和存储介质 Download PDF

Info

Publication number
CN113918370A
CN113918370A CN202111182622.7A CN202111182622A CN113918370A CN 113918370 A CN113918370 A CN 113918370A CN 202111182622 A CN202111182622 A CN 202111182622A CN 113918370 A CN113918370 A CN 113918370A
Authority
CN
China
Prior art keywords
target stack
content
stack
determining
information corresponding
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.)
Pending
Application number
CN202111182622.7A
Other languages
English (en)
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 Rockwell Technology Co Ltd
Original Assignee
Beijing Rockwell 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 Rockwell Technology Co Ltd filed Critical Beijing Rockwell Technology Co Ltd
Priority to CN202111182622.7A priority Critical patent/CN113918370A/zh
Publication of CN113918370A publication Critical patent/CN113918370A/zh
Pending legal-status Critical Current

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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/906Clustering; Classification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提出一种类别确定方法、装置、电子设备和存储介质,其中,方法包括:获取多个异常的堆栈内容,各堆栈内容指示了相应的异常问题,对各堆栈内容进行解析,得到各堆栈内容对应的应用程序包名、主题信息和调用栈信息,根据应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容,根据目标堆栈内容对应的主题信息和调用栈信息,确定目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量,基于对存在异常的堆栈内容解析得到的多种信息,基于信息的匹配程度,对同一应用程序的异常问题进行分类识别和数量统计,提高了异常问题的类别识别的准确性和效率。

Description

类别确定方法、装置、电子设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种类别确定方法、装置、电子设备和存储介质。
背景技术
安卓Android电子设备运行时偶发Java crash问题时,通常会生成对应的堆栈文件供研发分析,而当产品的数量级比较大时,异常文件就会很多,就会消耗人力和大量的时间去逐一查看异常文件来确认哪个模块发生了哪一类问题,根据识别到的异常问题的情况通知研发根据优先级去解决,效率较低。同时,数据量太大时无法一一查看识别问题的类别,存在遗漏的情况,无法让较严重的问题得到及时准确的解决。
发明内容
本公开旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本公开提出一种类别确定方法、装置、电子设备和存储介质,以提高问题类别识别的效率和准确性。
本公开一方面实施例提出了一种类别确定方法,包括:
获取多个异常的堆栈内容;其中,各所述堆栈内容指示了相应的异常问题;
对各所述堆栈内容进行解析,得到各所述堆栈内容对应的应用程序包名、主题信息和调用栈信息;
根据所述应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容;
根据各所述目标堆栈内容对应的主题信息和调用栈信息,确定各所述目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
本公开另一方面实施例提出了一种类别确定装置,包括:
获取模块,用于获取多个异常的堆栈内容;其中,各所述堆栈内容指示了相应的异常问题;
解析模块,用于对各所述堆栈内容进行解析,得到各所述堆栈内容对应的应用程序包名、主题信息和调用栈信息;
确定模块,用于根据所述应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容;
所述确定模块,还用于根据各所述目标堆栈内容对应的主题信息和调用栈信息,确定各所述目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
本公开另一方面实施例提出了一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述一方面所述的方法。
本公开另一方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行前述一方面所述的方法。
本公开另一方面实施例提出了一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现前述一方面所述的方法。
本公开实施例所提供的技术方案包含如下的有益效果:
获取多个异常的堆栈内容,各异常的堆栈内容指示了相应的异常问题,对各堆栈内容进行解析,得到各堆栈内容对应的应用程序包名、主题信息和调用栈信息,根据应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容,根据各目标堆栈内容对应的主题信息和调用栈信息,确定各目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量,基于对存在异常的堆栈内容解析得到的多种信息,基于信息的匹配程度,对同一应用程序的异常问题进行自动分类识别和数量统计,提高了异常问题的类别识别的准确性和效率。
本公开附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本公开的实践了解到。
附图说明
本公开上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本公开实施例所提供的一种类别确定方法的流程示意图;
图2为本公开实施例提供的另一种类别确定方法的流程示意图;
图3为本公开实施例提供了另一种类别确定方法的流程示意图;
图4为本公开实施例提供的一种类别确定装置的结构示意图;
图5为本公开实施例提供的一种电子设备的结构框图。
具体实施方式
下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本公开,而不能理解为对本公开的限制。
下面参考附图描述本公开实施例的类别确定方法、装置、电子设备和存储介质。
图1为本公开实施例所提供的一种类别确定方法的流程示意图。
如图1所示,该方法包括以下步骤:
步骤101,获取多个异常的堆栈内容,其中,各堆栈内容指示了相应的异常问题。
其中,各异常的堆栈内容指示了相应的异常问题,也就是说各堆栈内容是在发生异常时生成的,当发生异常时,例如,java crash,即java崩溃的异常问题时,会在DropBox目录生成和异常问题对应的堆栈内容的文件,其中,DropBox是安卓Android引入的用来持续化存储系统数据的机制,主要用于记录Android运行过程中,内核、系统进程和用户进程等出现严重问题时的日志。本公开实施例中,从DropBox目录下存储的异常问题对应的各文件中,获取各文件中包含的异常的堆栈内容。
步骤102,对各堆栈内容进行解析,得到各堆栈内容对应的应用程序包名、主题信息和调用栈信息。
本公开实施例中,对各堆栈内容进行解析,以获取得到指示各异常问题的关键信息,包含应用程序包名、主题信息和调用栈信息。其中,应用程序包名指示了各堆栈内容所属的应用程序,即属于哪个应用程序出现异常问题时生产的堆栈内容。主题信息中用于指示异常问题所属的大分类,调用栈信息用于指示异常问题所属的小分类。例如,根据主题信息可确定异常问题所属的大粒度的分类为空指针异常,而根据调用栈信息可确定异常问题所属的小粒度的分类为第2行代码出现空指针异常,或第109行代码出现空指针异常,又或者是第182行代码出现的空指针异常,此处不一一列举,也就是说小粒度的分类进一步定位了异常问题,更易于快速进行异常问题的处理。
步骤103,根据应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容。
本公开实施例中,根据各堆栈内容对应的应用程序包名,进行应用程序包名的比对,以确定属于同一个应用程序的至少一个目标堆栈内容,进而对同一个应用程序下的各目标堆栈内容进行比对和识别。
例如,堆栈内容有6个,记为A-F,其中,A,C和D属于应用程序1,B,E和F属于应用程序2,则将属于同一应用程序1的目标堆栈内容A,C和D进行比对,将属于同一应用程序2的目标堆栈内容B,E和F进行比对。
步骤104,根据各目标堆栈内容对应的主题信息和调用栈信息,确定各目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
本公开实施例中,针对属于任一应用程序的目标堆栈内容,由于主题信息和调用栈信息携带了堆栈内容对应的关键信息,在确定堆栈内容指示的异常问题的类别上起主要作用,因此,根据堆栈内容对应的主题信息和调用栈信息进行分类,可以准确确定堆栈内容指示的异常问题的细粒度类别,同时在确定类别的过程中进行各个类别的数量的统计,提高了异常问题类别确定的准确性,相比于人工来确定异常问题类别的方法,实现了自动化处理,降低了成本,提高了效率和准确性,同时,确定的细粒度类别和数量,便于后续快速定位到严重的异常问题。
在本公开实施例的一种实现方式中,可将目标堆栈内容对应的主题信息的内容进行数据处理,包括去除数字、特殊符号以及空格,进而,根据处理后的堆栈内容对应的主题信息进行分类识别,进一步提高了分类识别的准确性和效率。
本公开实施例的类别确定方法中,获取多个异常的堆栈内容,各堆栈内容指示了相应的异常问题,对各堆栈内容进行解析,得到各堆栈内容对应的应用程序包名、主题信息和调用栈信息,根据应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容,根据各目标堆栈内容对应的主题信息和调用栈信息,确定各目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量,基于对存在异常的堆栈内容解析得到的多种信息,基于信息的匹配程度,对同一应用程序的异常问题进行分类识别和数量统计,提高了异常问题的类别识别的准确性和效率。
基于上一实施例,本公开实施例提供了另一种类别确定方法,图2为本公开实施例提供的另一种类别确定方法的流程示意图。
如图2所示,该方法可以包括以下步骤:
步骤201,获取多个异常的堆栈内容。
步骤202,对各堆栈内容进行解析,得到各堆栈内容对应的应用程序包名、主题信息和调用栈信息。
步骤203,根据应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容。
具体地,可参照前述方法实施例中的解释说明,本实施例中不再赘述。
步骤204,根据目标堆栈内容对应的主题信息之间的匹配度,确定多个第一集合。
本公开实施例中,将属于同一应用程序的目标堆栈内容,根据目标堆栈内容对应的主题信息进行逐一匹配,可确定多个第一集合,其中,第一集合中可包含和任一目标堆栈内容对应的主题信息均不匹配的一个第一目标堆栈内容;或者第一集合中包含相互匹配的多个第二目标堆栈内容。
其中,基于主题信息进行匹配时,可根据距离进行匹配,例如欧式距离等,以确定多个第一集合。
例如,和A应用程序对应的堆栈内容为7个,分别编号为1-7,基于7个堆栈内容的主题信息进行匹配后,确定1、4和5的主题信息匹配,3和7对应的主题信息匹配,而2和1-7中任一个对应的主题信息都不匹配,6和1-7中任一个对应的主题信息都不匹配,则确定4个第一集合,分别标记为K1-K4,其中,第一集合K1包含1、4和5,第一集合K2包含3和7,第一集合K3包含2,第一集合K4包含6。
步骤205,在任一第一集合包含一个第一目标堆栈内容时,确定第一目标堆栈内容指示的异常问题的第一类别。
其中,第一目标堆栈内容和任一目标堆栈内容对应的主题信息不匹配。
例如,第一集合K3中包含一个第一目标堆栈内容2,则确定目标堆栈内容2指示的异常问题为M类别,M类别对应的异常问题的数量为1。第一集合K4中包含一个第一目标堆栈内容6,则确定目标堆栈内容6指示的异常问题为N类别,N类别对应的异常问题的数量为1。
步骤206,在任一第一集合包含多个第二目标堆栈内容时,根据多个第二目标堆栈内容对应的调用栈信息,确定第二目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
其中,多个第二目标堆栈内容对应的主题信息相互匹配。
本公开实施例中,在根据各目标堆栈内容对应的融合信息确定存在第一集合的情况下,为了提高类别识别的准确性以及获取更细粒度的类别,本公开实施例中对任一第一集合中包含的多个第二目标堆栈内容,采用对应的调用栈信息继续进行匹配,确定第二目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
本公开实施例的类别确定方法中,在根据主题信息进行匹配的过程中,将和任一目标堆栈内容对应的融合信息均不匹配的第一目标堆栈内容指示的异常问题的第一类别,在确定存在包含主题信息相互匹配的多个第二目标堆栈内容的第一集合的情况下,为了提高类别识别的准确性和更细的粒度,本公开实施例中采用调用栈的信息继续进行匹配,以提高类别识别的准确性和更细的粒度,并统计各个类别的数量,以便于后续快速定位到严重的异常问题。
基于上述实施例,本公开实施例提供了另一种类别确定方法,图3为本公开实施例提供了另一种类别确定方法的流程示意图,如图3所示,该方法包含以下步骤:
步骤301,获取多个异常的堆栈内容。
步骤302,对各堆栈内容进行解析,得到各堆栈内容对应的应用程序包名、主题信息和调用栈信息。
步骤303,根据应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容。
具体地,可参照前述方法实施例中的解释说明,本实施例中不再赘述。
步骤304,将各目标堆栈内容对应的主题信息和关键字信息进行融合,得到各目标堆栈内容对应的融合信息。
本公开实施例中,关键字信息也用于指示目标堆栈内容对应的异常问题的大分类。
本公开实施例的一种实现方式中,将每一个目标堆栈内容对应的主题信息和关键字信息进行数据处理以去除无用信息后,可将相应的主题信息和关键字信息转化为对应的向量,对向量进行拼接,以得到融合信息。其中,在进行拼接时,主题信息和关键字信息的先后顺序本实施例中不进行限定。
本公开实施例的另一种实现方式中,将每一个目标堆栈内容对应的主题信息和关键字信息进行数据处理以去除无用信息后,可将相应的主题信息和关键字信息转化为对应的向量,对向量进行加和以得到融合信息,在维度不变的情况下,保留了主题信息和关键字信息,以在后续基于融合信息进行匹配时,保证匹配准确度的情况下提高匹配的效率。
步骤305,根据各目标堆栈内容对应的融合信息之间的匹配度,确定多个第一集合。
本公开实施例中,根据得到的融合信息,基于融合信息的匹配度,确定多个第一集合,由于融合信息携带了更多的关键信息,提高了第一集合确定的准确性。
具体可参照根据目标堆栈内容的主题信息间的匹配度确定第一集合的方式,本实施例中不再赘述。
步骤306,在任一第一集合包含一个第一目标堆栈内容时,确定第一目标堆栈内容指示的异常问题的第一类别。
其中,第一目标堆栈内容和任一目标堆栈内容对应的主题信息不匹配。
其中,前述方法实施例中的相关解释说明,也适用于本实施例的步骤,元利息相同,本实施例中不再赘述。
本公开实施例的一种实现方式中,根据第一目标堆栈内容对应的融合信息,确定相应第一目标堆栈内容指示的异常问题的第一类别。
步骤307,针对同一第一集合,根据多个第二目标堆栈内容对应的调用栈信息的匹配度,确定多个第二集合。
其中,调用栈指示了调用的函数和函数的行号,可用于指示更细粒度的异常,即具体某行的代码出现的异常。
其中,第二集合中可包含和任一第二目标堆栈内容对应的调用栈信息均不匹配的一个第三目标堆栈内容;或者第二集合中包含相互匹配的多个第四目标堆栈内容。
其中,基于调用栈信息进行匹配时,可根据距离进行匹配,例如欧式距离等,以确定多个第二集合。
例如,第一集合K1包含的第二目标堆栈内容为1、4和5,则基于第二目标堆栈内容对应的调用栈信息的匹配度,若第二目标堆栈内容5,与1和4的堆栈信息均不匹配,则确定第二集合L2包含的第二目标堆栈内容为5,为了便于区分,5称为第三目标堆栈内容;若第二目标堆栈内容1和4的堆栈信息匹配,则确定第二集合L1包含的第二目标堆栈内容为1和4,为了便于区分,1和4称为第四目标堆栈内容。
步骤308,在任一第二集合包含一个第三目标堆栈内容时,确定第三目标堆栈内容指示的异常问题的第二类别。
其中,第三目标堆栈内容和任一第二目标堆栈内容对应的调用栈信息不匹配。
本公开实施例的一种实现方式中,根据第三目标堆栈内容对应的融合信息和调用栈信息,确定相应第三目标堆栈内容指示的异常问题的第二类别。其中,第二类别的粒度细于第一类别,例如,第一类别为大粒度类别,即数组越界,第二类别为细粒度类别,即第4个数组越界。
本公开实施例中,第三目标堆栈内容和任一第二目标堆栈内容对应的融合信息相同,但是调用栈信息不同,也就是说第三目标堆栈内容和任一第二目标堆栈内容具有相同的大粒度分类,但是具有不同的小粒度分类。
例如,第二目标堆栈内容包含1、4和5,其中,5为第三目标堆栈内容,若根据对应的融合信息确定的大粒度分类为数组越界,而通过调用栈信息匹配后,确定第三目标堆栈内容5指示的异常问题的小粒度分类为第2个数组越界,而1和4指示的也为数组越界,但是不第2个数组越界。
步骤309,在任一第二集合包含多个第四目标堆栈内容时,确定任一第四目标堆栈内容指示的异常问题的第三类别及第三类别下异常问题的数量。
其中,多个第四目标堆栈内容对应的调用栈信息相互匹配。
本公开实施例中,任一第二集合包含的多个第四目标堆栈内容的融合信息匹配且调用栈信息也匹配,从而根据任一个第四目标堆栈内容对应的融合信息和调用栈信息可确定第四目标堆栈内容指示的第三类别,并根据该第二集合中包含的第四目标堆栈内容的数量确定第三类别下异常问题的数量。
例如,第二集合为2个,第一个第二集合中包含3个第四目标堆栈内容,分别为b1、b2和b4,第二个第二集合中包含4个第四目标堆栈内容,分别为b3、b5、b6和b7。从而,根据第四目标堆栈内容b1的融合信息和调用栈信息,确定第一个第二集合中的3个第四目标堆栈内容对应的类别为代码第8行空指针异常,而代码第8行空指针异常的异常问题数量为3个;根据第四目标堆栈内容b5的融合信息和调用栈信息,确定第二个第二集合中的4个第四目标堆栈内容对应的类别为代码第80行空指针异常,而代码第80行空指针异常的异常问题数量为4个。
本公开实施例中是先根据融合信息进行匹配,再根据调用栈的信息进行匹配,本领域技术人员也可以先根据调用栈的信息匹配,再根据融合信息进行匹配,本公开实施例中不进行限定。
本公开实施例的类别确定方法中,在根据融合信息进行匹配的过程中,将和任意异常问题的融合信息均不匹配的异常问题的类别确定为第一类别,在根据各异常问题的融合信息确定存在第一集合的情况下,为了提高类别识别的准确性,本公开实施例中采用调用栈的信息继续进行匹配,在满足融合信息匹配但调用栈的信息不匹配的情况下,确定对应的异常问题的类别为第二类别;在满足融合信息匹配且调用栈的信息也匹配的情况下,确定对应的异常问题的类别为第三类别。通过融合信息和调用栈的信息的匹配,提高了类别划分的细粒度,提高了类别划分的准确性,便于后续进行重要异常问题的识别和定位。
基于上述实施例,本公开实施例的一种实现方式中,确定目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量之后,还包括:
获取各类别的展示维度;维度包含时间段、应用程序对应的项目和版本号中的一个或多个,根据所述展示维度,对各类别进行展示。
也就是说,在上述实施例中,对目标堆栈内容指示的异常问题确定第一类别、第二类别和第三类别,以及第一类别、第二类别和第三类别的数量后,根据展示维度,对第一类别、第二类别和第三类别进行展示。作为一种实现方式,可以根据各个类别的数量按照从高到底的顺序进行展示;作为另一种实现方式,可以根据各个类别的热度或重要程度确定排名的高低,按照排名从高到底的顺序进行展示,并在类别展示的同时展示类别下异常问题的数量,以使得基于展示快速定位到较严重的异常问题,或者是快速关注到排名靠前的类别。
为了实现上述实施例,本公开还提出一种类别确定装置。
图4为本公开实施例提供的一种类别确定装置的结构示意图。
如图4所示,该装置包括:
获取模块41,用于获取多个异常的堆栈内容;各所述堆栈内容指示了相应的异常问题。
解析模块42,用于对各所述堆栈内容进行解析,得到各所述堆栈内容对应的应用程序包名、主题信息和调用栈信息。
确定模块43,用于根据所述应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容。
所述确定模块43,还用于根据各所述目标堆栈内容对应的主题信息和调用栈信息,确定各所述目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
进一步地,在本公开实施例的一种实现方式中,确定模块43,具体用于:
根据所述目标堆栈内容对应的主题信息之间的匹配度,确定多个第一集合;在任一第一集合包含一个第一目标堆栈内容时,确定所述第一目标堆栈内容指示的异常问题的第一类别;所述第一目标堆栈内容和任一所述目标堆栈内容对应的主题信息不匹配;在任一第一集合包含多个第二目标堆栈内容时,根据多个第二目标堆栈内容对应的调用栈信息,确定每个第二目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量;所述多个第二目标堆栈内容对应的主题信息相互匹配。
进一步地,在本公开实施例的一种实现方式中,目标堆栈内容还具有对应的关键字信息,确定模块43,具体还用于:
将各所述目标堆栈内容对应的主题信息和关键字信息进行融合,得到各所述目标堆栈内容对应的融合信息;所述根据各所述目标堆栈内容对应的融合信息之间的匹配度,确定多个第一集合。
进一步地,在本公开实施例的一种实现方式中,确定模块43,具体还用于:
针对同一所述第一集合,根据所述多个第二目标堆栈内容对应的调用栈信息的匹配度,确定多个第二集合;在任一第二集合包含一个第三目标堆栈内容时,确定所述第三目标堆栈内容指示的异常问题的第二类别;所述第三目标堆栈内容和任一所述第二目标堆栈内容对应的调用栈信息不匹配;在任一第二集合包含多个第四目标堆栈内容时,确定任一第四目标堆栈内容指示的异常问题的第三类别及所述第三类别下异常问题的数量;所述多个第四目标堆栈内容对应的调用栈信息相互匹配。
在本公开实施例的一种实现方式中,装置,还包括:
展示模块,用于获取各类别的展示维度;所述维度包含时间段、应用程序对应的项目和版本号中的一个或多个;根据所述展示维度,对各所述类别进行展示。
需要说明的是,前述对方法实施例的解释说明也适用于该实施例的装置,此处不再赘述。
本公开实施例的类别确定装置中,在根据融合信息进行匹配的过程中,将和任意异常问题的融合信息均不匹配的异常问题的类别确定为第一类别,在根据各异常问题的融合信息确定存在第一集合的情况下,为了提高类别识别的准确性,本公开实施例中采用调用栈的信息继续进行匹配,在满足融合信息匹配但调用栈的信息不匹配的情况下,确定对应的异常问题的类别为第二类别;在满足融合信息匹配且调用栈的信息也匹配的情况下,确定对应的异常问题的类别为第三类别。通过融合信息和调用栈的信息的匹配,提高了类别划分的细粒度,提高了类别划分的准确性,便于后续进行重要异常问题的识别和定位。
为了实现上述实施例,本公开实施例提出了一种电子设备,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述方法实施例所述的方法。
为了实现上述实施例,本公开实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行前述方法实施例所述的方法。
为了实现上述实施例,本公开实施例提出了一种计算机程序产品,包括计算机指令,所述计算机指令在被处理器执行时实现前述方法实施例所述的方法。
图5为本公开实施例提供的一种电子设备的结构框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备10包括处理器11,其可以根据存储在只读存储器(ROM,ReadOnly Memory)12中的程序或者从存储器16加载到随机访问存储器(RAM,Random AccessMemory)13中的程序而执行各种适当的动作和处理。在RAM 13中,还存储有电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O,Input/Output)接口15也连接至总线14。
以下部件连接至I/O接口15:包括硬盘等的存储器16;以及包括诸如LAN(局域网,Local Area Network)卡、调制解调器等的网络接口卡的通信部分17,通信部分17经由诸如因特网的网络执行通信处理;驱动器18也根据需要连接至I/O接口15。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分17从网络上被下载和安装。在该计算机程序被处理器11执行时,执行本公开的方法中限定的上述功能。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器16,上述指令可由电子设备10的处理器11执行以完成上述方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本公开的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本公开的限制,本领域的普通技术人员在本公开的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (13)

1.一种类别确定方法,其特征在于,包括以下步骤:
获取多个异常的堆栈内容;其中,各所述堆栈内容指示了相应的异常问题;
对各所述堆栈内容进行解析,得到各所述堆栈内容对应的应用程序包名、主题信息和调用栈信息;
根据所述应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容;
根据各所述目标堆栈内容对应的主题信息和调用栈信息,确定各所述目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
2.根据权利要求1所述的方法,其特征在于,所述根据各所述目标堆栈内容对应的主题信息和调用栈信息,确定各所述目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量,包括:
根据各所述目标堆栈内容对应的主题信息之间的匹配度,确定多个第一集合;
在任一第一集合包含一个第一目标堆栈内容时,确定所述第一目标堆栈内容指示的异常问题的第一类别;所述第一目标堆栈内容和任一所述目标堆栈内容对应的主题信息不匹配;
在任一第一集合包含多个第二目标堆栈内容时,根据多个第二目标堆栈内容对应的调用栈信息,确定每个第二目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量;所述多个第二目标堆栈内容对应的主题信息相互匹配。
3.根据权利要求2所述的方法,其特征在于,所述目标堆栈内容还具有对应的关键字信息,所述根据各所述目标堆栈内容对应的主题信息之间的匹配度,确定多个第一集合,包括:
将各所述目标堆栈内容对应的主题信息和关键字信息进行融合,得到各所述目标堆栈内容对应的融合信息;
所述根据各所述目标堆栈内容对应的融合信息之间的匹配度,确定多个第一集合。
4.根据权利要求2所述的方法,其特征在于,所述在任一第一集合包含多个第二目标堆栈内容时,根据多个第二目标堆栈内容对应的调用栈信息,确定每个第二目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量,包括:
针对同一所述第一集合,根据所述多个第二目标堆栈内容对应的调用栈信息的匹配度,确定多个第二集合;
在任一第二集合包含一个第三目标堆栈内容时,确定所述第三目标堆栈内容指示的异常问题的第二类别;所述第三目标堆栈内容和任一所述第二目标堆栈内容对应的调用栈信息不匹配;
在任一第二集合包含多个第四目标堆栈内容时,确定任一第四目标堆栈内容指示的异常问题的第三类别及所述第三类别下异常问题的数量;所述多个第四目标堆栈内容对应的调用栈信息相互匹配。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述确定所述目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量之后,包括:
获取各类别的展示维度;所述维度包含时间段、应用程序对应的项目和版本号中的一个或多个;
根据所述展示维度,对各所述类别进行展示。
6.一种类别确定装置,其特征在于,包括:
获取模块,用于获取多个异常的堆栈内容;其中,各所述堆栈内容指示了相应的异常问题;
解析模块,用于对各所述堆栈内容进行解析,得到各所述堆栈内容对应的应用程序包名、主题信息和调用栈信息;
确定模块,用于根据所述应用程序包名,确定属于同一应用程序的至少一个目标堆栈内容;
所述确定模块,还用于根据各所述目标堆栈内容对应的主题信息和调用栈信息,确定各所述目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量。
7.根据权利要求6所述的装置,其特征在于,所述确定模块,具体用于:
根据所述目标堆栈内容对应的主题信息之间的匹配度,确定多个第一集合;
在任一第一集合包含一个第一目标堆栈内容时,确定所述第一目标堆栈内容指示的异常问题的第一类别;所述第一目标堆栈内容和任一所述目标堆栈内容对应的主题信息不匹配;
在任一第一集合包含多个第二目标堆栈内容时,根据多个第二目标堆栈内容对应的调用栈信息,确定每个第二目标堆栈内容指示的异常问题的类别及每个类别下异常问题的数量;所述多个第二目标堆栈内容对应的主题信息相互匹配。
8.根据权利要求7所述的装置,其特征在于,所述目标堆栈内容还具有对应的关键字信息,所述确定模块,具体还用于:
将各所述目标堆栈内容对应的主题信息和关键字信息进行融合,得到各所述目标堆栈内容对应的融合信息;
所述根据各所述目标堆栈内容对应的融合信息之间的匹配度,确定多个第一集合。
9.根据权利要求7所述的装置,其特征在于,所述确定模块,具体还用于:
针对同一所述第一集合,根据所述多个第二目标堆栈内容对应的调用栈信息的匹配度,确定多个第二集合;
在任一第二集合包含一个第三目标堆栈内容时,确定所述第三目标堆栈内容指示的异常问题的第二类别;所述第三目标堆栈内容和任一所述第二目标堆栈内容对应的调用栈信息不匹配;
在任一第二集合包含多个第四目标堆栈内容时,确定任一第四目标堆栈内容指示的异常问题的第三类别及所述第三类别下异常问题的数量;所述多个第四目标堆栈内容对应的调用栈信息相互匹配。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述装置,还包括:
展示模块,用于获取各类别的展示维度;所述维度包含时间段、应用程序对应的项目和版本号中的一个或多个;根据所述展示维度,对各所述类别进行展示。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-5中任一项所述的方法。
13.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令在被处理器执行时实现权利要求1-5中任一项所述的方法。
CN202111182622.7A 2021-10-11 2021-10-11 类别确定方法、装置、电子设备和存储介质 Pending CN113918370A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111182622.7A CN113918370A (zh) 2021-10-11 2021-10-11 类别确定方法、装置、电子设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111182622.7A CN113918370A (zh) 2021-10-11 2021-10-11 类别确定方法、装置、电子设备和存储介质

Publications (1)

Publication Number Publication Date
CN113918370A true CN113918370A (zh) 2022-01-11

Family

ID=79239130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111182622.7A Pending CN113918370A (zh) 2021-10-11 2021-10-11 类别确定方法、装置、电子设备和存储介质

Country Status (1)

Country Link
CN (1) CN113918370A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149898A (zh) * 2023-04-17 2023-05-23 阿里云计算有限公司 内核异常类型的确定方法、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116149898A (zh) * 2023-04-17 2023-05-23 阿里云计算有限公司 内核异常类型的确定方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN107391379B (zh) 接口自动测试方法及装置
CN110554962A (zh) 回归测试的流程覆盖方法、服务器及计算机可读存储介质
CN108710636B (zh) 一种筛选病历的方法、终端设备及计算机可读存储介质
CN111444718A (zh) 一种保险产品需求文档处理方法、装置及电子设备
JP2005222108A (ja) バグ分析方法および装置
CN113918370A (zh) 类别确定方法、装置、电子设备和存储介质
CN109992511B (zh) 获取代码测试覆盖率的装置及方法
CN112783749A (zh) 一种静态代码扫描优化方法、装置、电子设备和存储介质
JP4973738B2 (ja) 業務フロー処理プログラム、方法及び装置
CN113138916A (zh) 基于标注样本的图片结构化算法的自动测试方法及系统
CN110991241B (zh) 异常识别方法、设备及计算机可读介质
CN115269444B (zh) 代码静态检测方法、装置及服务器
CN109144874B (zh) 一种测试环境的监测方法和装置
CN115794638A (zh) 基于代码变更分析引擎的测试方法、系统及计算机设备
CN111008150B (zh) 一种测试报告生成方法、装置及设备
CN111143220B (zh) 一种软件测试的训练系统及方法
CN114676061A (zh) 一种基于知识图谱自动化固件检测方法
CN111045849A (zh) 核对异常原因的识别方法、装置、服务器和存储介质
CN113806205A (zh) 软件性能测试方法、装置、电子设备及可读存储介质
CN112486823B (zh) 错误码的校验方法、装置、电子设备及可读存储介质
CN111158746B (zh) 一种调用关系的获取方法及装置
WO2023151622A1 (zh) 页面测试方法、装置、设备及存储介质
CN116910531A (zh) 模型训练及故障检测方法、装置、电子设备和存储介质
CN115658513A (zh) 页面异常检测方法及其系统、计算机设备
CN114677101A (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