【技术实现步骤摘要】
堆栈分析方法及相关装置
本专利技术涉及计算机
,更具体的,涉及堆栈分析方法及相关装置。
技术介绍
应用软件,例如智能终端游戏在崩溃(crash)时会产生dump文件,dump文件中的堆栈信息可用于分析崩溃原因,从而可依据崩溃原因有针对性的对应用程序进行修复。每次crash都会上传dump文件,进而可获取到相应的堆栈信息。在堆栈数据海量的情况下,如何对堆栈进行分析,成为目的亟待解决的问题。
技术实现思路
有鉴于此,本专利技术实施例提供堆栈分析方法及相关装置,以实现对堆栈进行分类。为实现上述目的,本专利技术实施例提供如下技术方案:一种堆栈分析方法,包括:获取进程崩溃产生的各堆栈;所述堆栈为多层数据结构,每一层数据为一数据帧;相邻两数据帧按照调用顺序组成的向量为路段;根据获取的各堆栈中路段的权重进行分类,得到至少一个堆栈类;其中,属于同一堆栈类的堆栈两两间的相似度大于或不小于相似度阈值。一种堆栈分析装置,包括:获取单元,用于获取进程崩溃产生的各堆栈;所述堆栈为多层数据结构,每一层数据为一数据帧;相邻两数据帧按照调用顺序组成的向量为路段;分类单元,用于根据获取的各堆栈中路段的权重进行分类,得到至少一个堆栈类;其中,属于同一堆栈类的堆栈两两间的相似度大于或不小于相似度阈值。一种堆栈分析系统,至少包括堆栈分析服务器,所述堆栈分析服务器包括上述的堆栈分析装置。可见,在本申请实施例中,创造性得提出每一层数据为一数据帧,相邻两数据帧按照调用顺序组成的向量为路段。在分类时,是根据所述路段的权重对各堆栈进行分类的,其中,属于同一堆栈类的任意两堆栈的相似度大于或不小于相似度阈值 ...
【技术保护点】
一种堆栈分析方法,其特征在于,包括:获取进程崩溃产生的各堆栈;所述堆栈为多层数据结构,每一层数据对应一个函数,相邻两层数据对应的函数之间存在调用关系,所述堆栈的栈顶位置是进程崩溃的位置;每一层数据为一数据帧,相邻两数据帧按照调用顺序组成的向量为路段;根据获取的各堆栈中路段的权重进行分类,得到至少一个堆栈类;其中,属于同一堆栈类的堆栈两两间的相似度大于或不小于相似度阈值;任一路段的权重至少根据所述任一路段中数据帧的位置决定,所述权重用于表征所述任一路段在堆栈中的重要程度。
【技术特征摘要】
1.一种堆栈分析方法,其特征在于,包括:获取进程崩溃产生的各堆栈;所述堆栈为多层数据结构,每一层数据对应一个函数,相邻两层数据对应的函数之间存在调用关系,所述堆栈的栈顶位置是进程崩溃的位置;每一层数据为一数据帧,相邻两数据帧按照调用顺序组成的向量为路段;根据获取的各堆栈中路段的权重进行分类,得到至少一个堆栈类;其中,属于同一堆栈类的堆栈两两间的相似度大于或不小于相似度阈值;任一路段的权重至少根据所述任一路段中数据帧的位置决定,所述权重用于表征所述任一路段在堆栈中的重要程度。2.如权利要求1所述的方法,其特征在于,所述根据获取的各堆栈中路段的权重进行分类,得到至少一个堆栈类包括:对所述获取的各堆栈进行预划分,得到至少一个预划分集合;获取目标堆栈对应的目标集合;所述目标堆栈为任一未分类堆栈;在所述目标集合中,任一堆栈的至少一个路段与所述目标堆栈的指定路段相同;将所述至少一个预划分集合和所述目标集合进行取交集计算,得到目标交集集合;对所述目标交集集合中的堆栈两两计算相似度,按相似度进行分类,得到包含所述目标堆栈的堆栈类;其中,任意两堆栈间的相似度acc根据上述任意两堆栈所包含路段的权重和散列值计算得到。3.如权利要求2所述的方法,其特征在于,所述获取的各堆栈进行预划分,得到至少一个预划分集合包括:按关键词对所述获取的各堆栈进行预划分,得到至少一个关键词集合;任一关键词集合中的堆栈包含相同的关键词;按项目对所述获取的各堆栈进行预划分,得到至少一个项目集合;同一项目集合中堆栈的项目相同;所述关键词集合和所述项目集合均为预划分集合。4.如权利要求3所述的方法,其特征在于,所述获取目标堆栈对应的目标集合包括:按路段的散列值对所述获取的各堆栈进行预划分,得到至少一个散列值集合;任一散列值集合对应的散列值不同于其他散列值集合,所述任一散列值集合中的堆栈包含具有相同散列值的路段;从所述至少一个散列值集合中,获取所述指定路段的散列值所对应的散列值集合;所述目标集合包括所述指定路段的散列值所对应的散列值集合。5.如权利要求2-4任一项所述的方法,其特征在于,所述目标堆栈的指定路段通过如下方式确定:将所述目标堆栈中连续M层数据帧对应的M-1个路段作为所述指定路段;其中,所述连续M层数据帧中包括顶层数据帧;所述M为所述目标堆栈的最少命中层数,所述M根据所述目标堆栈的总层数N计算得到;所述连续M层数据帧对应的路段的权重之和,与所述目标堆栈的权重总和的比值,不大于所述相似度阈值m。6.如权利要求1所述的方法,其特征在于,任意两堆栈表示为第一堆栈和第二堆栈,任意两堆栈间的相似度acc通过如下方式计算:确定所述第一堆栈与所述第二堆栈之间散列值相同的路段;所述散列值相同的路段表示为相同路段;将所述相同路段在所述第一堆栈中对应...
【专利技术属性】
技术研发人员:阎超,魏学峰,严明,邱学倩,罗章龙,黄斌,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。