程序数据处理方法、装置、电子设备、存储介质制造方法及图纸

技术编号:34639402 阅读:9 留言:0更新日期:2022-08-24 15:14
本公开关于一种程序数据处理方法、装置、电子设备、存储介质和计算机程序产品,所述方法包括:获取设备活动数据对;设备活动数据对包括以第一树结构存储的基准数据和以第二树结构存储的目标数据;按照目标应用程序的不同程序运行阶段,分别在第一树结构和第二树结构中进行区域划分,得到与各程序运行阶段对应的第一树结构区域和第二树结构区域;针对任一程序运行阶段,确定第一树结构区域和第二树结构区域之间的相同节点;将各程序运行阶段对应的相同节点,作为设备活动数据对对应的相同节点集合;相同节点集合用于确定针对目标应用程序的耗时异常分析结果。采用本方法能够自动分析比对出相同调用方法,提升了程序数据分析效率。率。率。

【技术实现步骤摘要】
程序数据处理方法、装置、电子设备、存储介质


[0001]本公开涉及计算机
,尤其涉及一种程序数据处理方法、装置、电子设备、存储介质和计算机程序产品。

技术介绍

[0002]Systrace是一款用于记录短期内设备活动的工具,该工具所生成的Systrace信息中汇总了与设备有关的数据信息,如CPU调度程序、磁盘活动和应用线程等信息,开发者可以通过抓取设备的Systrace信息来分析设备的性能。
[0003]传统方法是通过手动对比Systrace信息的方式来分析设备的性能,但由于Systrace信息中涉及的方法量巨大,造成了巨大的分析工作量,人工分析耗时费力。
[0004]因此,相关技术中存在分析程序运行数据效率低的问题。

技术实现思路

[0005]本公开提供一种程序数据处理方法、装置、电子设备、存储介质和计算机程序产品,以至少解决相关技术中存在分析程序运行数据效率低的问题。本公开的技术方案如下:
[0006]根据本公开实施例的第一方面,提供一种程序数据处理方法,包括:
[0007]获取设备活动数据对;所述设备活动数据对包括以第一树结构存储的基准数据和以第二树结构存储的目标数据,所述第一树结构用于表征目标设备调用基准应用程序中的各方法的堆栈关系和耗时情况,所述第二树结构用于表征所述目标设备调用目标应用程序中的各方法的堆栈关系和耗时情况,所述基准应用程序和所述目标应用程序为不同版本的同一应用程序;
[0008]按照所述目标应用程序的不同程序运行阶段,分别在所述第一树结构和所述第二树结构中进行区域划分,得到与各所述程序运行阶段对应的第一树结构区域和第二树结构区域;
[0009]针对任一所述程序运行阶段,确定所述第一树结构区域和所述第二树结构区域之间的相同节点;所述相同节点用于确定在所述任一程序运行阶段中被所述目标设备调用的存在耗时异常的方法;
[0010]将各所述程序运行阶段对应的相同节点,作为所述设备活动数据对对应的相同节点集合;所述相同节点集合用于确定针对所述目标应用程序的耗时异常分析结果。
[0011]在一种可能实现方式中,所述获取设备活动数据对,包括:
[0012]获取目标设备对应的基准数据和目标数据;所述基准数据为所述目标设备运行所述基准应用程序时所产生的设备活动数据,所述目标数据为所述目标设备运行所述目标应用程序时所产生的设备活动数据;
[0013]按照所述目标设备调用所述基准应用程序中的各方法的执行堆栈,采用所述基准数据构造所述第一树结构;
[0014]按照所述目标设备调用所述目标应用程序中的各方法的执行堆栈,采用所述目标
数据构造所述第二树结构;
[0015]其中,所述第一树结构和所述第二树结构中的各节点具有对应的节点信息,所述节点信息包括用于表征节点位置和堆栈关系的标识信息,以及用于表征所调用方法的运行状态和耗时情况的方法信息。
[0016]在一种可能实现方式中,所述针对任一所述程序运行阶段,确定所述第一树结构区域和所述第二树结构区域之间的相同节点,包括:
[0017]获取预设的第一比对条件;所述第一比对条件用于判定节点之间的节点属性标识是否相匹配,所述节点属性标识包括所属节点标识、所属父节点标识、节点层级深度;
[0018]针对任一所述程序运行阶段,将所述程序运行阶段对应的第一树结构区域中的任一节点作为待查找节点,按照所述第一比对条件,从所述程序运行阶段对应的第二树结构区域中确定针对所述待查找节点的候选节点;
[0019]从所述候选节点中确定所述待查找节点对应的匹配节点,将所述第一树结构区域中各节点对应的匹配节点,作为所述程序运行阶段中所述第一树结构区域和所述第二树结构区域之间的相同节点。
[0020]在一种可能实现方式中,所述从所述候选节点中确定所述待查找节点对应的匹配节点,包括:
[0021]获取预设的第二比对条件;所述第二比对条件用于判定所述候选节点与所述待查找节点的节点关联标识是否相匹配,所述节点关联标识用于指示所属节点具有的子节点;
[0022]若检测到任一所述候选节点与所述待查找节点满足所述第二比对条件,将任一所述候选节点作为所述匹配节点。
[0023]在一种可能实现方式中,在所述按照所述目标应用程序的不同程序运行阶段,分别在所述第一树结构和所述第二树结构中进行区域划分,得到与各所述程序运行阶段对应的第一树结构区域和第二树结构区域的步骤之后,还包括:
[0024]针对任一所述程序运行阶段,遍历所述程序运行阶段对应的第二树结构区域中的任一节点;
[0025]若检测到所述程序运行阶段对应的第一树结构区域中未存在与所述任一节点相同的节点,则将所述任一节点作为所述程序运行阶段对应的新增方法节点,以得到所述设备活动数据对对应的新增方法集合。
[0026]在一种可能实现方式中,在所述将各所述程序运行阶段对应的相同节点,作为所述设备活动数据对对应的相同节点集合的步骤之后,还包括:
[0027]从所述设备活动数据对对应的相同节点集合中确定方法异常节点;所述方法异常节点包括耗时异常节点和调用异常节点;
[0028]根据所述耗时异常节点、所述调用异常节点,以及所述新增方法集合,得到所述设备活动数据对对应的目标节点集合;
[0029]获取多组所述设备活动数据对对应的目标节点集合之间的交集,得到针对所述目标应用程序的耗时异常分析结果。
[0030]在一种可能实现方式中,所述根据所述耗时异常节点、所述调用异常节点,以及所述新增方法集合,得到所述设备活动数据对对应的目标节点集合,包括:
[0031]对所述耗时异常节点、所述调用异常节点,以及所述新增方法集合中的冗余节点
进行过滤,将过滤后节点作为所述设备活动数据对对应的目标节点集合。
[0032]根据本公开实施例的第二方面,提供一种程序数据处理装置,包括:
[0033]设备活动数据对获取单元,被配置为执行获取设备活动数据对;所述设备活动数据对包括以第一树结构存储的基准数据和以第二树结构存储的目标数据,所述第一树结构用于表征目标设备调用基准应用程序中的各方法的堆栈关系和耗时情况,所述第二树结构用于表征所述目标设备调用目标应用程序中的各方法的堆栈关系和耗时情况,所述基准应用程序和所述目标应用程序为不同版本的同一应用程序;
[0034]树结构区域划分单元,被配置为执行按照所述目标应用程序的不同程序运行阶段,分别在所述第一树结构和所述第二树结构中进行区域划分,得到与各所述程序运行阶段对应的第一树结构区域和第二树结构区域;
[0035]相同节点确定单元,被配置为执行针对任一所述程序运行阶段,确定所述第一树结构区域和所述第二树结构区域之间的相同节点;所述相同节点用于确定在所述任一程序运行阶段中被所述目标设备调用的存在耗时异常的方法;
[0036]相同节点集合得到单元,被配置为执行将各所述程序运行阶段对应的相同节点,作为本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种程序数据处理方法,其特征在于,所述方法包括:获取设备活动数据对;所述设备活动数据对包括以第一树结构存储的基准数据和以第二树结构存储的目标数据,所述第一树结构用于表征目标设备调用基准应用程序中的各方法的堆栈关系和耗时情况,所述第二树结构用于表征所述目标设备调用目标应用程序中的各方法的堆栈关系和耗时情况,所述基准应用程序和所述目标应用程序为不同版本的同一应用程序;按照所述目标应用程序的不同程序运行阶段,分别在所述第一树结构和所述第二树结构中进行区域划分,得到与各所述程序运行阶段对应的第一树结构区域和第二树结构区域;针对任一所述程序运行阶段,确定所述第一树结构区域和所述第二树结构区域之间的相同节点;所述相同节点用于确定在所述任一程序运行阶段中被所述目标设备调用的存在耗时异常的方法;将各所述程序运行阶段对应的相同节点,作为所述设备活动数据对对应的相同节点集合;所述相同节点集合用于确定针对所述目标应用程序的耗时异常分析结果。2.根据权利要求1所述的方法,其特征在于,所述获取设备活动数据对,包括:获取目标设备对应的基准数据和目标数据;所述基准数据为所述目标设备运行所述基准应用程序时所产生的设备活动数据,所述目标数据为所述目标设备运行所述目标应用程序时所产生的设备活动数据;按照所述目标设备调用所述基准应用程序中的各方法的执行堆栈,采用所述基准数据构造所述第一树结构;按照所述目标设备调用所述目标应用程序中的各方法的执行堆栈,采用所述目标数据构造所述第二树结构;其中,所述第一树结构和所述第二树结构中的各节点具有对应的节点信息,所述节点信息包括用于表征节点位置和堆栈关系的标识信息,以及用于表征所调用方法的运行状态和耗时情况的方法信息。3.根据权利要求1所述的方法,其特征在于,所述针对任一所述程序运行阶段,确定所述第一树结构区域和所述第二树结构区域之间的相同节点,包括:获取预设的第一比对条件;所述第一比对条件用于判定节点之间的节点属性标识是否相匹配,所述节点属性标识包括所属节点标识、所属父节点标识、节点层级深度;针对任一所述程序运行阶段,将所述程序运行阶段对应的第一树结构区域中的任一节点作为待查找节点,按照所述第一比对条件,从所述程序运行阶段对应的第二树结构区域中确定针对所述待查找节点的候选节点;从所述候选节点中确定所述待查找节点对应的匹配节点,将所述第一树结构区域中各节点对应的匹配节点,作为所述程序运行阶段中所述第一树结构区域和所述第二树结构区域之间的相同节点。4.根据权利要求3所述的方法,其特征在于,所述从所述候选节点中确定所述待查找节点对应的匹配节点,包括:获取预设的第二比对条件;所述第二比对条件用于判定所述候选节点与所述待查找节点的节点关联标识是否相匹配,所述节点关联标识用于指示所属节点具有的子节点;
若检测到任一所述候选节点与所述待查找节点满足所述第二比对条件,将任一所述候选节点作为所述匹配节...

【专利技术属性】
技术研发人员:张炜雄
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1