CN111061583B - 一种崩溃信息处理方法、装置、设备及介质 - Google Patents
一种崩溃信息处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN111061583B CN111061583B CN201911119290.0A CN201911119290A CN111061583B CN 111061583 B CN111061583 B CN 111061583B CN 201911119290 A CN201911119290 A CN 201911119290A CN 111061583 B CN111061583 B CN 111061583B
- Authority
- CN
- China
- Prior art keywords
- information
- crash
- collapse
- target
- stack
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 33
- 238000003672 processing method Methods 0.000 title claims description 18
- 238000000034 method Methods 0.000 claims abstract description 41
- 238000004458 analytical method Methods 0.000 claims abstract description 12
- 230000006399 behavior Effects 0.000 claims description 72
- 238000005065 mining Methods 0.000 claims description 22
- 230000015654 memory Effects 0.000 claims description 18
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 7
- 239000013598 vector Substances 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 17
- 230000015556 catabolic process Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000004141 dimensional analysis Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000002349 favourable effect Effects 0.000 description 2
- 230000001788 irregular Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- 238000012300 Sequence Analysis Methods 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000006886 spatial memory Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种崩溃信息处理方法、装置、设备及介质,所述方法包括获取多条崩溃信息,每条崩溃信息指向一个崩溃事件;对所述崩溃信息进行聚类,得到至少一个目标崩溃集;对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。本发明通过对崩溃信息进行精准聚类得到目标崩溃集,以目标崩溃集为粒度进行崩溃信息的分析得到关联特征信息和时序操作行为特征信息,从而可以基于关联特征信息和时序操作行为特征信息较大程度地还原崩溃场景,从而快速复现崩溃,提升崩溃的复现的成功率,降低崩溃的复现复杂度。
Description
技术领域
本发明涉及崩溃分析领域,尤其涉及一种崩溃信息处理方法、装置、设备及介质。
背景技术
为了便于分析应用软件的崩溃,达到优化应用软件的目的,现有技术中往往需要对崩溃相关的崩溃信息进行收集,根据崩溃信息复现崩溃。崩溃信息可以包括应用程序崩溃时的硬件数据和日志信息,比如,硬件数据可以包括手机型号、内存、厂商等信息;日志数据可以包括崩溃堆栈、错误日志等信息。
为了提升崩溃复现的概率,现有技术还可以对崩溃信息进行数据处理,根据数据处理结果复现崩溃。然而,这种数据处理通常只能够进行简单维度的数据分析,并且对人工存在较强依赖。比如将采集到的崩溃信息逐条进行单维度展示,以便于人工分析;再比如统计某类崩溃信息中的某种数据项的占比信息,例如手机厂商占比、不同档次内存占比以及其他单维度信息占比,进而根据占比分析结果复现崩溃,但是,这种分析结果对于崩溃复现的成功率的提升效果也不显著。
发明内容
为了解决现有技术中对崩溃信息进行单维度分析无法捕捉崩溃信息中不同数据之间的关联性,无法获取精确的场景信息以及操作行为时序信息,导致崩溃复现困难的技术问题,本发明实施例提供一种崩溃信息处理方法、装置、设备及介质。
一方面,本发明提供了一种崩溃信息处理方法,所述方法包括:
获取多条崩溃信息,每条崩溃信息指向一个崩溃事件;
对所述崩溃信息进行聚类,得到至少一个目标崩溃集;
对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。
另一方面,本发明提供一种崩溃信息处理装置,所述装置包括:
崩溃信息获取模块,用于获取多条崩溃信息,每条崩溃信息指向一个崩溃事件;
聚类模块,用于对所述崩溃信息进行聚类,得到至少一个目标崩溃集;
分析模块,用于对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。
另一方面,本发明提供一种计算机存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述的一种崩溃信息处理方法。
另一方面,本发明提供一种崩溃信息处理设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行上述的一种崩溃信息处理方法。
本发明提供了一种崩溃信息处理方法、装置、设备及介质,通过对崩溃信息进行精准聚类得到目标崩溃集,以目标崩溃集为粒度进行崩溃信息的分析得到关联特征信息和时序操作行为特征信息,从而可以基于关联特征信息和时序操作行为特征信息较大程度地还原崩溃场景,从而快速复现崩溃,提升崩溃的复现的成功率,降低崩溃的复现复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明提供的一种崩溃信息处理方法的实施环境示意图;
图2是本发明提供的一种崩溃信息处理方法的流程图;
图3是本发明提供的对所述崩溃信息进行聚类,得到至少一个目标崩溃集的流程图;
图4是本发明提供的提取每个崩溃信息集中的各条崩溃信息的崩溃堆栈对应的特征信息流程图;
图5是本发明提供的根据所述每条崩溃信息的崩溃堆栈对应的特征信息得到所述崩溃信息集对应的独热编码流程图;
图6是本发明提供的根据任意两个崩溃信息集之间的编辑距离对各个崩溃信息集进行二次聚类,得到至少一个目标崩溃集流程图;
图7是本发明提供的一个目标崩溃集的示意图;
图8是本发明提供的对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的关联特征信息流程图;
图9是本发明提供的关联项集的显示示意图;
图10是本发明提供另一个可行的显示示意图;
图11是本发明提供的对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的时序操作行为特征信息流程图;
图12是本发明提供的提取每条崩溃信息中的操作行为数据,按照操作行为数据的产生时序对所述操作行为数据进行标记编码,得到操作行为特征数据串流程图;
图13是本发明提供的显示操作序列的显示示意图;
图14是本发明提供的同时包括关联特征信息和时序操作行为特征信息的显示示意图;
图15是本发明提供的一种崩溃信息处理装置框图;
图16是本发明提供的一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了使本发明实施例公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明实施例进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明实施例,并不用于限定本发明实施例。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。为了便于理解本发明实施例所述的技术方案及其产生的技术效果,本发明实施例首先对于相关专业名词进行解释:
Issue:某一类崩溃集合,由具有相似崩溃堆栈的应用崩溃(crash)组成。
One-Hot:独热编码是一种离散特征的编码方法,又称为一位有效编码,主要是采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并且在任意时候只有一位有效。One-Hot编码是分类变量作为二进制向量的表示。在回归,分类,聚类等机器学习算法中,特征之间距离的计算或相似度的计算是非常重要的,而常用的距离或相似度的计算都是在欧式空间的相似度计算,计算余弦相似性。One-Hot编码将离散特征的取值扩展到了欧式空间,离散特征的某个取值就对应欧式空间的某个点,从而让特征之间的距离计算更加合理。
Apriori:是经典的关联规则挖掘算法。它利用逐层搜索的迭代方法找出各个项集的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉那些没必要的中间结果)组成。该算法中项集的概念即为项的集合。
FreeSpan:频繁模式投影的序列模式挖掘,是一种有时序的关联规则数据挖掘方法。
Levenshtein:两个字符串之间的编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
现有技术中为了复现崩溃所对崩溃信息进行的分析方法中,通常是对崩溃信息中的硬件数据和崩溃堆栈进行单维度分析,很少牵涉到对用户操作行为的时序分析,以及对崩溃场景和硬件数据的关联分析,这种单维度分析只能够生成独立的信息孤岛,忽视了信息之间的关联性,造成在复现某类崩溃问题时,无法准确把握硬件数据以及崩溃场景的关联性,以及时序性用户操作行为,增大了复现难度;而在对一些偶现的崩溃进行复现时,只能凭感觉进行不断尝试,不仅耗时而且费力,且成效低。
为了解决现有技术中对崩溃信息进行单维度分析无法捕捉崩溃信息中不同数据之间的关联性,无法获取精确的场景信息以及操作行为时序信息,导致崩溃复现困难的技术问题,本发明实施例提供一种崩溃信息处理方法。
首先,本发明实施例公开了在一个可行的实施例中所述一种崩溃信息处理方法的实施环境。
参照图1,所述实施环境包括至少一个终端10和崩溃信息处理服务器30。所述崩溃信息处理服务器30可以用独立的服务器或者是多个服务器组成的服务器集群来实现。崩溃信息处理服务器30可以获取与之通信的各个终端10上传的崩溃信息,对所述崩溃信息进行处理,展示处理结果,以便于各个终端10可以复现自身或其它终端10产生的崩溃。
具体地,所述崩溃信息处理服务器30可以获取多条崩溃信息,每条崩溃信息指向一个崩溃事件,对所述崩溃信息进行聚类,得到至少一个目标崩溃集,对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。
所述终端10具体可以是车载终端、台式终端或移动终端,移动终端具体可以是手机、平板电脑和笔记本电脑等中的至少一种。在一个优选的实施例中,终端10与崩溃信息处理服务器30之间通过可靠的TCP传输协议进行通信。
请参考图2,其示出了述一种崩溃信息处理方法的流程图,所述方法可以以图1所述的实施环境崩溃信息处理服务器为执行主体实施,所述方法可以包括:
S101.获取多条崩溃信息,每条崩溃信息指向一个崩溃事件。
本发明实施例中终端可以在产生崩溃的时候触发崩溃事件,采集崩溃相关的各种数据构成一条崩溃信息,并将该条崩溃信息发送至崩溃信息处理服务器,崩溃信息处理服务器可以收集预设时间段内来自不同或相同终端的崩溃信息。
S103.对所述崩溃信息进行聚类,得到至少一个目标崩溃集。
在一个可行的实施例中,所述对所述崩溃信息进行聚类,得到至少一个目标崩溃集,如图3所示,包括:
S1031.根据崩溃信息中的崩溃堆栈的相似度对多条崩溃信息进行初始聚类,得到至少一个崩溃信息集。
初始聚类的基准在于崩溃堆栈的相似度,位于同一个崩溃信息集中的崩溃信息,其崩溃堆栈的相似程度均小于预设第一阈值;而位于不同的崩溃信息集中的崩溃信息,其崩溃堆栈的相似程度均大于预设第二阈值;显然,相同崩溃信息集中的崩溃信息具有相似的崩溃堆栈。
在一个可行的实施例中,可以以所述崩溃信息集作为目标崩溃信息集。然而,初始聚类的聚类基准较为单一,因此聚类效果有限,为了进一步提升聚类效果,本发明一个优选的实施例中,还包括:
S1033.提取每个崩溃信息集中的各条崩溃信息的崩溃堆栈对应的特征信息。
在一个可行的实施例中,所述提取每个崩溃信息集中的各条崩溃信息的崩溃堆栈对应的特征信息,如图4所示,包括:
S10331.获取崩溃信息的对应的操作系统。
S10333.若所述操作系统为苹果操作系统,则判断所述崩溃信息的崩溃堆栈是否为还原堆栈;若是,则在所述崩溃堆栈中提取第一特征信息;若否,则提取所述崩溃堆栈中的预设固定位的字符。
具体地,所述第一特征信息可以包括包名、函数名和参数信息,所述预设固定位可以为崩溃堆栈的堆栈行中间的固定两位。
S10335.若所述操作系统为安卓操作系统,则判断所述崩溃堆栈是否属于原生堆栈;若不属于原生堆栈,则在所述崩溃堆栈中提取第二特征信息。
具体地,若不属于原生堆栈,则属于java堆栈,提取java堆栈中的信息即可得到第二特征信息。java是一门面向对象编程语言,基于java语言设置的堆栈为java堆栈。
S10337.若属于原生堆栈,则判断所述崩溃堆栈中是否包含java堆栈,若是,则提取所述java堆栈中的第二特征信息,并提取所述崩溃堆栈中的第三特征信息,组合所述第二特征信息和所述第三特征信息得到第四特征信息;若否,则直接提取所述崩溃堆栈中的第三特征信息。
具体地,可以在原生堆栈中搜索字符“#”,以字符“#”标识的堆栈即为java堆栈。
具体地,所述第三特征信息可以包括包名、类名、参数名;所述第二特征信息包括类名和函数名。
显然,若所述操作系统为苹果操作系统,则提取到的特征信息为第一特征信息;若所述操作系统为安卓操作系统并且非原生堆栈,则提取到的特征信息为第二特征信息;若所述操作系统为安卓操作系统,并且崩溃堆栈为原生堆栈且包含java堆栈,则提取到的特征信息为第四特征信息;若所述操作系统为安卓操作系统,并且崩溃堆栈为不包含java堆栈的原生堆栈,则提取到的特征信息为第三特征信息。
S1035.根据所述每条崩溃信息的崩溃堆栈对应的特征信息得到所述崩溃信息集对应的独热编码。
具体地,所述根据所述每条崩溃信息的崩溃堆栈对应的特征信息得到所述崩溃信息集对应的独热编码,如图5所示,包括:
S10351.为所述每条崩溃信息的崩溃堆栈对应的特征信息进行独热编码,得到特征行向量;
S10353.根据每条崩溃信息产生的特征行向量得到崩溃信息集对应的独热编码。
显然,所述崩溃信息集对应的独热编码可以是以特征矩阵的形式进行表达的。
S1037.根据各个崩溃信息集对应的独热编码计算任意两个崩溃信息集之间的编辑距离。
S1039.根据任意两个崩溃信息集之间的编辑距离对各个崩溃信息集进行二次聚类,得到至少一个目标崩溃集。
在一个可行的实施例中,所述根据任意两个崩溃信息集之间的编辑距离对各个崩溃信息集进行二次聚类,得到至少一个目标崩溃集,如图6所示,包括:
S10391.根据任意两个崩溃信息集之间的编辑距离生成距离映射表。
S10393.基于所述距离映射表对各个崩溃信息集进行层次聚类,得到至少一个目标崩溃集。
如图7所示,其示出了一个目标崩溃集的示意图,显然,同一个目标崩溃集中的各条崩溃信息具有相似的崩溃堆栈。
S105.对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。
本发明实施例中以目标崩溃集为崩溃信息处理的单位,对各个目标崩溃集中的各条崩溃信息进行分析以得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。
在一个可行的实施例中,可以对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的关联特征信息,所述对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的关联特征信息,如图8所示,包括:
S1051.获取所述目标崩溃集中的各条崩溃信息。
S1053.提取每条崩溃信息中的硬件相关数据,对所述硬件相关数据进行标记和编码,得到硬件特征数据。
具体地,以游戏应用软件产生的崩溃信息为例,所述硬件相关数据可以包括机型、操作系统、启动时间、崩溃时游戏的前后台状态、内存大小等。
具体地,本发明实施例中标记动作用于将硬件相关数据透明化,即在后续的特征项中能够准确知晓某个数据的具体含义。比如,将数值android level27标记为(OS,‘系统版本’),得到标记为OS,数值为android level27的标记结果,在后续其它环节中还可以根据标记为OS,数值为android level27的标记结果得到名称为系统版本,数值为androidlevel27数据。
具体地,本发明实施例中编码动作用于将不规则的硬件相关数据规范化,例如对游戏的运行时长进行分段映射,将其编码为1-7等不同数值,前后台状态分别用0、1表示,内存数值段进行1-5编码等。
S1055.提取每条崩溃信息中的场景相关数据,对所述场景相关数据进行标记和编码,得到场景特征数据。
具体地,以游戏应用软件产生的崩溃信息为例,所述场景相关数据可以包括场景、玩家执行任务标识、玩家的角色标识、玩家等级以及其它和游戏场景相关的单维度数据。
步骤S1055中的标记动作和编码动作的含义与步骤S1053相同。
S1057.对所述硬件特征数据和所述场景特征数据均进行特征编码,得到每条崩溃信息的特征数据串。
具体地,所述特征数据串可以包括编号、标记以及标记对应的数值三部分内容的编码结果。比如,将操作系统编为1,机型编为2,内存大小编为3,...,职业编为n,等级编为n+1,场景编为n+2,任务编为n+3,...,其它数据编号依次增加,最后组成崩溃信息的特征数据串的示例数据格式如下:(1:os:android)……(n+1:task:release cursor)
S1059.将所述目标崩溃集中各条崩溃信息对应的特征数据串输入关联规则挖掘算法模块,得到所述关联规则挖掘算法输出的关联项集。
具体地,所述关联规则挖掘算法可以为Apriori算法。所述关联项集即为分析得到的所述目标崩溃集指向的关联特征信息。所述关联项集中的各个关联项对应了目标崩溃集相关的崩溃若要被复现需要同时成立的条件。
在一个可行的实施例中,可以将关联项集进行显示,以便于用户根据关联项集复现崩溃。在一个优选的实施例中,还可以将关联规则挖掘算法输出的关联项集映射为便于阅读的显示关联项集,比如,关联项集中的某个关联项为“OS:android level27”,则其对应的显示关联项可以为“操作系统:android level27”。如图9所示,其示出关联项集的显示示意图,显而易见,所述关联项集包括了“操作系统:安卓;空间内存:>2G;游戏状态:后台;启动时长:1-5min;引擎版本:5.6.6f2;视图层级:MainCity;场景副本:11000”。图9所示结果并非是单维度数据的简单组合,而是若需要复现崩溃必须同时满足的特征要求,从这些特征要求中技术人员可以获知复现该类崩溃需要的满足条件。与之形成对应的,如图10所示,其示出了另一个可行的显示示意图。三张饼图可以使用现有技术统计单维度数据而得到,这种统计结果割裂了数据之间的关联性,体现了信息孤岛,其统计的高频特征部分场景中并不一定会同时出现,而下方的复现特征为本发明实施例中的关联项集,其指向崩溃发生时必然出现的特征组合,显然,相较于三张饼图,其更有利于全面复现崩溃发生时的软硬件环境。
步骤S1051-S1059通过对目标崩溃集中的各条崩溃信息进行单维度数据提取、标记和编码,并根据编码结果进行关联特征挖掘,可以感知各种数据之间的相关性,从而锁定复现崩溃所需的各个维度的条件构成的关联项集,使得技术人员不用定向寻找导致某一个崩溃发生时的某个条件(比如机型、操作系统或场景),减少崩溃复现过程的盲目性。
在对某类崩溃、进行复现时,若不知道导致崩溃发生的用户操作行为数据,则复现将变得十分困难,耗时费力。因此,在另一个可行的实施例中,可以对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的时序操作行为特征信息,所述对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的时序操作行为特征信息,如图11所示,包括:
S1052.根据目标崩溃集中各条崩溃信息中的场景数据,对所述目标崩溃集中的各条崩溃信息进行归类,得到至少一个场景崩溃集,每个所述场景崩溃集包括至少一条崩溃信息。
S1054.确定待分析的目标场景崩溃集。
在一个优选的实施例中,可以对各个场景崩溃集均进行分析。
在一个优选的实施例中,还可以统计每个场景崩溃集中的崩溃信息条数,选取崩溃信息条数为TOP N的场景崩溃集进行后续分析。
S1056.获取所述目标场景崩溃集中的各条崩溃信息。
S1058.提取每条崩溃信息中的操作行为数据,按照操作行为数据的产生时序对所述操作行为数据进行标记编码,得到操作行为特征数据串。
具体地,在一个可行的实施例中,所述提取每条崩溃信息中的操作行为数据,按照操作行为数据的产生时序对所述操作行为数据进行标记编码,得到操作行为特征数据串,如图12所示,包括:
S10581.提取每条崩溃信息中的操作行为数据,对所述操作行为数据进行预处理,得到规范化操作行为数据。
具体地,所述预处理可以包括将操作行为数据统一进行小写化处理,并且去除不规则字符。
S10583.对所述规范化操作行为数据进行清洗,得到待编码操作行为数据。
具体地,可以对所述规范化操作行为进行去重操作,将去重操作的结果作为待编码操作行为数据。
S10585.对所述待编码操作行为数据按照时序进行标记编码,得到操作行为特征数据串。
步骤S10585中的标记动作和编码动作的含义与步骤S1053相同。
S10510.将所述目标崩溃集中各条崩溃信息对应的操作行为特征数据串输入序列模式挖掘模块,得到所述序列模式挖掘模块输出的时序操作行为特征信息。
具体地,所述关联规则挖掘算法可以为FreeSpan算法。
在一个可行的实施例中,可以将时序操作行为特征信息进行显示,以便于用户根据时序操作行为特征信息复现崩溃。在一个优选的实施例中,还可以将时序操作行为特征信息映射为便于阅读的显示操作序列。如图13所示,其示出显示操作序列的显示示意图,从结果中技术人员可以获取该类崩溃的共性操作特征,从而在复现崩溃时参照该共性操作特征进行操作,使偶现的崩溃大概率被复现,节省了大量人力和时间。
在步骤S105中,通过执行步骤S1051-S1059可以得到关联特征信息,关联特征信息有利于从多维度关联项的角度尽量复现崩溃发生时的软硬件环境;通过执行步骤S1052-S10510可以得到时序操作行为特征信息,时序操作行为特征信息有利于提取导致崩溃发生的时序操作行为,通过复现时序操作行为大概率触发崩溃的复现。显而易见,步骤S1051-S1059和步骤S1052-S10510分别从不同的角度增大崩溃的复现概率,其可以分别独立采用,也可以同时被采用。而同时被采用的场景中,可以从软硬件环境和时序操作行为两种角度还原崩溃发生的场景,作为一种优选的实施例,显然能够更大程度地提升崩溃复现的概率。如图14所示,其示出了同时采用步骤S1051-S1059和步骤S1052-S10510后的关联特征信息和时序操作行为特征信息显示示意图,示意图中明确得到了软硬件环境和用户操作特征组合,通过复现这两部分内容可以更大程度提升崩溃复现的概率。
本发明实施例公开一种崩溃信息处理方法,通过对崩溃信息进行精准聚类得到目标崩溃集,以目标崩溃集为粒度进行崩溃信息的分析得到关联特征信息和时序操作行为特征信息,从而可以基于关联特征信息和时序操作行为特征信息较大程度地还原崩溃场景,从而快速复现崩溃,提升崩溃的复现的成功率,降低崩溃的复现复杂度。
本发明实施例还公开了一种崩溃信息处理装置,如图15所示,所述装置包括:
崩溃信息获取模块201,用于获取多条崩溃信息,每条崩溃信息指向一个崩溃事件;
聚类模块203,用于对所述崩溃信息进行聚类,得到至少一个目标崩溃集;
分析模块205,用于对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。
具体地,本发明实施例所述一种崩溃信息处理装置与方法实施例均基于相同发明构思。详情请参见方法实施例,在此不再赘述。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令。所述指令可以适于由处理器加载并执行本发明实施例所述一种崩溃信息处理方法,所述方法至少包括下述步骤:
一种崩溃信息处理方法,所述方法包括:
获取多条崩溃信息,每条崩溃信息指向一个崩溃事件;
对所述崩溃信息进行聚类,得到至少一个目标崩溃集;
对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息。
在一个优选的实施例中,所述对所述崩溃信息进行聚类,得到至少一个目标崩溃集,包括:
根据崩溃信息中的崩溃堆栈的相似度对多条崩溃信息进行初始聚类,得到至少一个崩溃信息集;
提取每个崩溃信息集中的各条崩溃信息的崩溃堆栈对应的特征信息;
根据所述每条崩溃信息的崩溃堆栈对应的特征信息得到所述崩溃信息集对应的独热编码;
根据各个崩溃信息集对应的独热编码计算任意两个崩溃信息集之间的编辑距离;
根据任意两个崩溃信息集之间的编辑距离对各个崩溃信息集进行二次聚类,得到至少一个目标崩溃集。
在一个优选的实施例中,所述提取每个崩溃信息集中的各条崩溃信息的崩溃堆栈对应的特征信息,包括:
获取崩溃信息的对应的操作系统;
若所述操作系统为苹果操作系统,则判断所述崩溃信息的崩溃堆栈是否为还原堆栈;若是,则在所述崩溃堆栈中提取第一特征信息;若否,则提取所述崩溃堆栈中的预设固定位的字符;
若所述操作系统为安卓操作系统,则判断所述崩溃堆栈是否属于原生堆栈;若不属于原生堆栈,则在所述崩溃堆栈中提取第二特征信息;
若属于原生堆栈,则判断所述崩溃堆栈中是否包含java堆栈,若是,则提取所述java堆栈中的第二特征信息,并提取所述崩溃堆栈中的第三特征信息,组合所述第二特征信息和所述第三特征信息得到第四特征信息;若否,则直接提取所述崩溃堆栈中的第三特征信息。
在一个优选的实施例中,所述根据所述每条崩溃信息的崩溃堆栈对应的特征信息得到所述崩溃信息集对应的独热编码,包括:
为所述每条崩溃信息的崩溃堆栈对应的特征信息进行独热编码,得到特征行向量;
根据每条崩溃信息产生的特征行向量得到崩溃信息集对应的独热编码。
在一个优选的实施例中,所述根据任意两个崩溃信息集之间的编辑距离对各个崩溃信息集进行二次聚类,得到至少一个目标崩溃集,包括:
根据任意两个崩溃信息集之间的编辑距离生成距离映射表;
基于所述距离映射表对各个崩溃信息集进行层次聚类,得到至少一个目标崩溃集。
在一个优选的实施例中,所述对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的关联特征信息,包括:
获取所述目标崩溃集中的各条崩溃信息;
提取每条崩溃信息中的硬件相关数据,对所述硬件相关数据进行标记和编码,得到硬件特征数据;
提取每条崩溃信息中的场景相关数据,对所述场景相关数据进行标记和编码,得到场景特征数据;
对所述硬件特征数据和所述场景特征数据均进行特征编码,得到每条崩溃信息的特征数据串;
将所述目标崩溃集中各条崩溃信息对应的特征数据串输入关联规则挖掘算法模块,得到所述关联规则挖掘算法输出的关联项集。
在一个优选的实施例中,所述对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的时序操作行为特征信息,包括:
根据目标崩溃集中各条崩溃信息中的场景数据,对所述目标崩溃集中的各条崩溃信息进行归类,得到至少一个场景崩溃集,每个所述场景崩溃集包括至少一条崩溃信息;
确定待分析的目标场景崩溃集;
获取所述目标场景崩溃集中的各条崩溃信息;
提取每条崩溃信息中的操作行为数据,按照操作行为数据的产生时序对所述操作行为数据进行标记编码,得到操作行为特征数据串;
将所述目标崩溃集中各条崩溃信息对应的操作行为特征数据串输入序列模式挖掘模块,得到所述序列模式挖掘模块输出的时序操作行为特征信息。
进一步地,图16示出了一种用于实现本发明实施例所提供的方法的设备的硬件结构示意图,所述设备可以参与构成或包含本发明实施例所提供的装置或系统。如图16所示,设备10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图16所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,设备10还可包括比图16中所示更多或者更少的组件,或者具有与图16所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中所述的方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的一种崩溃信息处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(NetworkInterfaceController,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与设备10(或移动设备)的用户界面进行交互。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种崩溃信息处理方法,其特征在于,所述方法包括:
获取多条崩溃信息,每条崩溃信息指向一个崩溃事件;
对所述崩溃信息进行聚类,得到至少一个目标崩溃集;
对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息,所述关联特征信息包括通过对所述目标崩溃集中的各条崩溃信息进行关联特征挖掘,感知各种数据之间的相关性,得到的复现崩溃所需的各个维度的条件构成的关联项集,所述时序操作行为特征信息通过对基于各所述崩溃信息得到的操作行为特征数据串进行序列模式挖掘得到。
2.根据权利要求1所述的方法,其特征在于,所述对所述崩溃信息进行聚类,得到至少一个目标崩溃集,包括:
根据崩溃信息中的崩溃堆栈的相似度对多条崩溃信息进行初始聚类,得到至少一个崩溃信息集;
提取每个崩溃信息集中的各条崩溃信息的崩溃堆栈对应的特征信息;
根据所述每条崩溃信息的崩溃堆栈对应的特征信息得到所述崩溃信息集对应的独热编码;
根据各个崩溃信息集对应的独热编码计算任意两个崩溃信息集之间的编辑距离;
根据任意两个崩溃信息集之间的编辑距离对各个崩溃信息集进行二次聚类,得到至少一个目标崩溃集。
3.根据权利要求2所述的方法,其特征在于,所述提取每个崩溃信息集中的各条崩溃信息的崩溃堆栈对应的特征信息,包括:
获取崩溃信息的对应的操作系统;
若所述操作系统为苹果操作系统,则判断所述崩溃信息的崩溃堆栈是否为还原堆栈;若是,则在所述崩溃堆栈中提取第一特征信息;若否,则提取所述崩溃堆栈中的预设固定位的字符;
若所述操作系统为安卓操作系统,则判断所述崩溃堆栈是否属于原生堆栈;若不属于原生堆栈,则在所述崩溃堆栈中提取第二特征信息;
若属于原生堆栈,则判断所述崩溃堆栈中是否包含java堆栈,若是,则提取所述java堆栈中的第二特征信息,并提取所述崩溃堆栈中的第三特征信息,组合所述第二特征信息和所述第三特征信息得到第四特征信息;若否,则直接提取所述崩溃堆栈中的第三特征信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述每条崩溃信息的崩溃堆栈对应的特征信息得到所述崩溃信息集对应的独热编码,包括:
为所述每条崩溃信息的崩溃堆栈对应的特征信息进行独热编码,得到特征行向量;
根据每条崩溃信息产生的特征行向量得到崩溃信息集对应的独热编码。
5.根据权利要求2所述的方法,其特征在于,所述根据任意两个崩溃信息集之间的编辑距离对各个崩溃信息集进行二次聚类,得到至少一个目标崩溃集,包括:
根据任意两个崩溃信息集之间的编辑距离生成距离映射表;
基于所述距离映射表对各个崩溃信息集进行层次聚类,得到至少一个目标崩溃集。
6.根据权利要求1或2所述的方法,其特征在于,所述对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的关联特征信息,包括:
获取所述目标崩溃集中的各条崩溃信息;
提取每条崩溃信息中的硬件相关数据,对所述硬件相关数据进行标记和编码,得到硬件特征数据;
提取每条崩溃信息中的场景相关数据,对所述场景相关数据进行标记和编码,得到场景特征数据;
对所述硬件特征数据和所述场景特征数据均进行特征编码,得到每条崩溃信息的特征数据串;
将所述目标崩溃集中各条崩溃信息对应的特征数据串输入关联规则挖掘算法模块,得到所述关联规则挖掘算法输出的关联项集。
7.根据权利要求1或2所述的方法,其特征在于,所述对目标崩溃集中的崩溃信息进行分析,得到所述崩溃信息指向的时序操作行为特征信息,包括:
根据目标崩溃集中各条崩溃信息中的场景数据,对所述目标崩溃集中的各条崩溃信息进行归类,得到至少一个场景崩溃集,每个所述场景崩溃集包括至少一条崩溃信息;
确定待分析的目标场景崩溃集;
获取所述目标场景崩溃集中的各条崩溃信息;
提取每条崩溃信息中的操作行为数据,按照操作行为数据的产生时序对所述操作行为数据进行标记编码,得到操作行为特征数据串;
将所述目标崩溃集中各条崩溃信息对应的操作行为特征数据串输入序列模式挖掘模块,得到所述序列模式挖掘模块输出的时序操作行为特征信息。
8.一种崩溃信息处理装置,其特征在于,所述装置包括:
崩溃信息获取模块,用于获取多条崩溃信息,每条崩溃信息指向一个崩溃事件;
聚类模块,用于对所述崩溃信息进行聚类,得到至少一个目标崩溃集;
分析模块,用于对目标崩溃集中的崩溃信息进行分析,得到所述目标崩溃集指向的关联特征信息和/或时序操作行为特征信息,所述关联特征信息包括通过对所述目标崩溃集中的各条崩溃信息进行关联特征挖掘,感知各种数据之间的相关性,得到的复现崩溃所需的各个维度的条件构成的关联项集,所述时序操作行为特征信息通过对基于各所述崩溃信息得到的操作行为特征数据串进行序列模式挖掘得到。
9.一种计算机存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如权利要求1-7任一项所述的一种崩溃信息处理方法。
10.一种崩溃信息处理设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行如权利要求1-7任一项所述的一种崩溃信息处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911119290.0A CN111061583B (zh) | 2019-11-15 | 2019-11-15 | 一种崩溃信息处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911119290.0A CN111061583B (zh) | 2019-11-15 | 2019-11-15 | 一种崩溃信息处理方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061583A CN111061583A (zh) | 2020-04-24 |
CN111061583B true CN111061583B (zh) | 2024-07-12 |
Family
ID=70297961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911119290.0A Active CN111061583B (zh) | 2019-11-15 | 2019-11-15 | 一种崩溃信息处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061583B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114722927A (zh) * | 2022-03-28 | 2022-07-08 | 北京字节跳动网络技术有限公司 | 一种崩溃聚类方法、装置、电子设备以及存储介质 |
CN115862183B (zh) * | 2023-02-28 | 2023-05-26 | 禾多科技(北京)有限公司 | 传感器特征工程信息构建方法、装置、设备和计算机介质 |
CN116303101B (zh) * | 2023-05-19 | 2023-08-15 | 建信金融科技有限责任公司 | 测试案例生成方法、装置和设备 |
CN116962523B (zh) * | 2023-09-21 | 2023-12-08 | 深圳依时货拉拉科技有限公司 | 一种数据上传方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032909A (zh) * | 2018-07-18 | 2018-12-18 | 携程旅游信息技术(上海)有限公司 | 应用程序崩溃日志的处理方法、系统、设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6356285B1 (en) * | 1997-12-17 | 2002-03-12 | Lucent Technologies, Inc | System for visually representing modification information about an characteristic-dependent information processing system |
CA2388078A1 (en) * | 2002-05-29 | 2003-11-29 | Harfang Microtechniques Inc. | System and method for acquiring data in a processing unit |
CN104199749A (zh) * | 2014-09-17 | 2014-12-10 | 百度在线网络技术(北京)有限公司 | 一种崩溃信息的处理方法及装置 |
CN106708704B (zh) * | 2016-12-23 | 2021-01-12 | 北京奇虎科技有限公司 | 一种对崩溃日志进行分类的方法和装置 |
-
2019
- 2019-11-15 CN CN201911119290.0A patent/CN111061583B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109032909A (zh) * | 2018-07-18 | 2018-12-18 | 携程旅游信息技术(上海)有限公司 | 应用程序崩溃日志的处理方法、系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111061583A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061583B (zh) | 一种崩溃信息处理方法、装置、设备及介质 | |
CN107783898B (zh) | 移动应用的测试方法及测试设备 | |
CN110147722A (zh) | 一种视频处理方法、视频处理装置及终端设备 | |
CN109408058B (zh) | 基于机器学习的前端辅助开发方法和装置 | |
CN111814923B (zh) | 一种图像聚类方法、系统、设备和介质 | |
TWI670628B (zh) | 動作評量模型生成裝置及其動作評量模型生成方法 | |
CN110781818B (zh) | 视频分类方法、模型训练方法、装置及设备 | |
CN111783882A (zh) | 关键点检测方法、装置、电子设备及存储介质 | |
CN111125658A (zh) | 识别欺诈用户的方法、装置、服务器和存储介质 | |
CN111126626A (zh) | 一种训练方法、装置、服务器、平台及存储介质 | |
WO2020140624A1 (zh) | 从日志中提取数据的方法和相关设备 | |
CN114253866B (zh) | 恶意代码检测的方法、装置、计算机设备及可读存储介质 | |
US20180173687A1 (en) | Automatic datacenter state summarization | |
CN116883740A (zh) | 相似图片识别方法、装置、电子设备和存储介质 | |
CN116016692A (zh) | 协议描述文本构建方法、装置、设备及存储介质 | |
CN112801130B (zh) | 图像聚类簇质量评估方法、系统、介质及装置 | |
CN112861962B (zh) | 样本处理方法、装置、电子设备和存储介质 | |
CN114579136A (zh) | 代码处理方法、装置、计算机设备和存储介质 | |
CN114745452A (zh) | 设备管理方法、装置及电子设备 | |
CN112541357A (zh) | 实体识别方法、装置及智能设备 | |
CN113836370A (zh) | 用户群体的分类方法、装置、存储介质及计算机设备 | |
CN112257812A (zh) | 一种标注样本确定方法、装置、机器可读介质及设备 | |
CN117827685B (zh) | 一种模糊测试输入生成方法、装置、终端及介质 | |
CN112363669B (zh) | 操作行为判定方法、装置、电子设备及计算机可读存储介质 | |
CN113535594B (zh) | 业务场景测试用例的生成方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40022532 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |