业务分析方法、装置、设备及存储介质制造方法及图纸

技术编号:21004517 阅读:33 留言:0更新日期:2019-04-30 21:38
本申请提供了一种业务分析方法、装置、设备及存储介质,属于计算机技术领域。本申请通过基于调用链的结构,获取调用链之间的相似度,基于调用链之间的相似度,将业务的大量的调用链聚为不同的类,从而可以基于类进行调用链的性能分析或调用链的异常分析。由于同一类中的调用链的结构相似,能够映射为业务的一种场景,通过区分不同调用链所属的类,可以区分同一业务的不同场景,从而对实现基于场景的业务分析。可以避免某一场景下出现问题的调用链混杂在其他场景下的调用链时,漏检测该出现问题的调用链的情况。另外,可以避免正常情况下性能参数较差的调用链被误检测为出现问题的调用链的情况,从而极大地提高业务分析结果的准确性。

【技术实现步骤摘要】
业务分析方法、装置、设备及存储介质
本申请涉及计算机
,特别涉及一种业务分析方法、装置、设备及存储介质。
技术介绍
随着计算机技术以及云计算技术的发展,计算机设备可以处理的业务越来越多,可以对业务进行分析,以便诊断业务处理的性能,定位业务处理的问题。目前,在分析业务的过程中,会获取业务的所有调用链,分析业务的所有调用链,输出业务的分析结果。以分析业务的处理速度为例,会设置调用时长阈值,获取每个调用链的调用时长,检测每个调用链的调用时长是否超过该调用时长阈值,当任一调用链的调用时长超过该调用时长阈值时,则筛选出该调用链,将该调用链作为执行速度过慢的异常调用链,输出该异常调用链。基于上述方案分析业务时,业务的分析结果的准确性较差。
技术实现思路
本申请实施例提供了一种业务分析方法、装置、设备及存储介质,能够解决相关技术中业务的分析结果的准确性较差的技术问题。所述技术方案如下:第一方面,提供了一种业务分析方法,所述方法包括:获取业务的多个调用链;基于所述多个调用链的结构,获取所述多个调用链之间的相似度;基于所述多个调用链之间的相似度,对所述多个调用链聚类,得到一个或多个类;基于所述一个或多个类,进行调用链的性能分析或调用链的异常分析。本实施例提供的方法,通过基于调用链的结构,获取调用链之间的相似度,基于调用链之间的相似度,将业务的大量的调用链聚为不同的类,从而可以基于类进行调用链的性能分析或调用链的异常分析。由于同一类中的调用链的结构相似,能够映射为业务的一种场景,通过区分不同调用链所属的类,可以区分同一业务的不同场景,从而对实现基于场景的业务分析。一方面,可以避免某一场景下出现问题的调用链混杂在其他场景下的调用链时,漏检测该出现问题的调用链的情况,从而提高业务分析的全面性。另一方面,对于调用链结构复杂、经过的网元较多、业务处理的运算量较大等原生因素而导致正常情况下性能参数较差的调用链来说,可以避免这种调用链被误检测为出现问题的调用链的情况,从而提高业务分析的精确性,因此,可以极大地提高业务分析结果的准确性,进而便于通过业务分析结果进行应用性能管理。可选地,所述基于所述多个调用链的结构,获取所述多个调用链之间的相似度,包括:基于所述多个调用链,生成多个树,每个树用于表示一个调用链;对于所述多个调用链中的任两个调用链,获取所述两个调用链对应的树之间的相似度,作为所述两个调用链之间的相似度。可选地,所述获取所述两个调用链对应的树之间的相似度之前,所述方法还包括:对于所述多个树中的任一树,基于所述树中不同节点之间的逻辑关系,向所述树添加逻辑节点,所述逻辑节点用于表示所述逻辑关系。可选地,所述基于所述树中不同节点之间的逻辑关系,向所述树添加逻辑节点,包括下述至少一个步骤:对于所述多个树中的任一树,基于所述树中不同节点之间的逻辑关系,向所述树添加逻辑节点,所述逻辑节点用于表示所述逻辑关系。可选地,所述基于所述树中不同节点之间的逻辑关系,向所述树添加逻辑节点,包括下述至少一个步骤:当所述树中第一节点具有多个第一子节点时,获取所述多个第一子节点的调用时间段,当所述多个第一子节点的调用时间段不重叠时,在所述第一节点与所述多个第一子节点之间添加顺序节点,所述顺序节点用于表示所述第一节点先后调用所述多个第一子节点;当所述树中第二节点具有多个第二子节点时,获取所述多个第二子节点的调用时间段,当所述多个第二子节点的调用时间段重叠时,在所述第二节点与所述多个第二子节点之间添加并行节点,所述并行节点用于表示所述第二节点同时调用所述多个第二子节点;当所述树中第三节点具有多个第三子节点,且所述多个第三子节点连续相同时,在所述第三节点与目标第三子节点之间添加循环节点,删除所述多个第三子节点中所述目标第三子节点以外的第三子节点,所述循环节点用于表示所述第三节点循环调用所述目标第三子节点,所述目标第三子节点为所述多个第三子节点中的任一第三子节点;通过在树中添加循环节点,至少可以达到以下效果:第一,如果函数A调用了函数B共计100次,则未添加循环节点前,节点“函数A”会有100个子节点“函数B”,导致树的分支过多,宽度较大,较为冗余,不便查看。而通过向树中添加循环节点,并删除重复的第三子节点,可以极大地减少了树中节点的数量,从而减少树的宽度,简化树的结构,达到剪枝的效果,让树的结构更加清晰,则后续基于树来展示调用链时,便于展示调用链的结构,同时帮助用户快速理解调用链的调用关系。第二,由于后续聚类过程中,会基于树的结构,获取树与树之间的距离,那么如果树中节点数量较多、结构复杂,就会使得聚类时运算量较大。因此,通过向树中添加循环节点,并删除重复的第三子节点,可以简化树的结构,从而减少聚类运算的计算量,提高计算效率。当所述树中第四节点具有第四子节点,且所述第四节点和第四子节点相同时,在所述第四节点之前添加递归节点,删除所述第四子节点,所述递归节点用于表示所述第四节点调用自身。通过在树中添加递归节点,至少可以达到以下效果:第一,未添加递归节点前,树的深度较大,较为冗余,不便查看。而通过向树中添加递归节点,并删除重复的第四子节点,可以简化树的结构,可以减少树的深度,让树的结构更加清晰。则后续基于树来展示调用链时,便于展示调用链的结构,同时帮助用户快速理解调用链的调用关系。第二,由于后续聚类过程中,会基于树的结构,获取树与树之间的距离,那么如果树中节点数量较多、结构复杂,就会使得聚类时运算量较大。因此,通过向树中添加递归节点,并删除重复的第四子节点,可以简化树的结构,从而减少聚类运算的计算量,提高计算效率。可选地,所述在所述第一节点与所述多个第一子节点之间添加顺序节点之后,所述方法还包括:根据所述多个第一子节点的时间戳,生成次序信息,所述次序信息用于指示所述第一节点调用所述多个第一子节点的先后次序;向所述顺序节点写入所述次序信息。通过这种可选方式,至少可以达到以下效果:对于任两个调用链来说,当这两个调用链均具有先后执行的多个第一子节点时,若该多个第一子节点的执行顺序不同,则生成这两个调用链对应的树时,向两个树的顺序节点写入的次序信息不同,从而可以通过两个树的顺序节点,区分这两个树,因此,在后续聚类过程中,可以避免这两个调用链对应的树相互混淆的情况,从而提高聚类运算的准确性。可选地,所述获取所述两个调用链对应的树之间的相似度之前,所述方法还包括:从一个或多个具有并行路径的树中,删除所述并行路径中关键路径以外的路径,所述并行路径是指同一调用链中调用时间点相同的多段路径,所述关键路径是指所述并行路径中调用时长最长的路径。通过这种可选方式,可以达到的效果至少可以包括:由于网络中经常会出现某一节点并行调用其他节点的情况,以致调用链会出现很多并行路径,因此调用链会结构复杂,则基于调用链生成的树也会结构复杂,导致对树聚类时,运算量较大,耗费的计算资源过多。而通过删除关键路径以外的路径,首先,对于关键路径以外的路径来说,由于这些路径的调用时长小于关键路径,因此这些路径对调用链的性能分析或异常分析的影响都较小,因此即使删除掉这些路径,也不会影响分析结果的准确性。另一方面,可以实现对树剪裁的功能,简化树的结构,则对树进行聚类时,可以减少聚类的运算量,显著提高聚类本文档来自技高网...

【技术保护点】
1.一种业务分析方法,其特征在于,所述方法包括:获取业务的多个调用链;基于所述多个调用链的结构,获取所述多个调用链之间的相似度;基于所述多个调用链之间的相似度,对所述多个调用链聚类,得到一个或多个类;基于所述一个或多个类,进行调用链的性能分析或调用链的异常分析。

【技术特征摘要】
1.一种业务分析方法,其特征在于,所述方法包括:获取业务的多个调用链;基于所述多个调用链的结构,获取所述多个调用链之间的相似度;基于所述多个调用链之间的相似度,对所述多个调用链聚类,得到一个或多个类;基于所述一个或多个类,进行调用链的性能分析或调用链的异常分析。2.根据权利要求1所述的方法,其特征在于,所述基于所述多个调用链的结构,获取所述多个调用链之间的相似度,包括:基于所述多个调用链,生成多个树,每个树用于表示一个调用链;对于所述多个调用链中的任两个调用链,获取所述两个调用链对应的树之间的相似度,作为所述两个调用链之间的相似度。3.根据权利要求2所述的方法,其特征在于,所述获取所述两个调用链对应的树之间的相似度之前,所述方法还包括:对于所述多个树中的任一树,基于所述树中不同节点之间的逻辑关系,向所述树添加逻辑节点,所述逻辑节点用于表示所述逻辑关系。4.根据权利要求3所述的方法,其特征在于,所述基于所述树中不同节点之间的逻辑关系,向所述树添加逻辑节点,包括下述至少一个步骤:当所述树中第一节点具有多个第一子节点时,获取所述多个第一子节点的调用时间段,当所述多个第一子节点的调用时间段不重叠时,在所述第一节点与所述多个第一子节点之间添加顺序节点,所述顺序节点用于表示所述第一节点先后调用所述多个第一子节点;当所述树中第二节点具有多个第二子节点时,获取所述多个第二子节点的调用时间段,当所述多个第二子节点的调用时间段重叠时,在所述第二节点与所述多个第二子节点之间添加并行节点,所述并行节点用于表示所述第二节点同时调用所述多个第二子节点;当所述树中第三节点具有多个第三子节点,且所述多个第三子节点连续相同时,在所述第三节点与目标第三子节点之间添加循环节点,删除所述多个第三子节点中所述目标第三子节点以外的第三子节点,所述循环节点用于表示所述第三节点循环调用所述目标第三子节点,所述目标第三子节点为所述多个第三子节点中的任一第三子节点;当所述树中第四节点具有第四子节点,且所述第四节点和第四子节点相同时,在所述第四节点之前添加递归节点,删除所述第四子节点,所述递归节点用于表示所述第四节点调用自身。5.根据权利要求4所述的方法,其特征在于,所述在所述第一节点与所述多个第一子节点之间添加顺序节点之后,所述方法还包括:根据所述多个第一子节点的时间戳,生成次序信息,所述次序信息用于指示所述第一节点调用所述多个第一子节点的先后次序;向所述顺序节点写入所述次序信息。6.根据权利要求2所述的方法,其特征在于,所述获取所述两个调用链对应的树之间的相似度之前,所述方法还包括:从一个或多个具有并行路径的树中,删除所述并行路径中关键路径以外的路径,所述并行路径是指同一调用链中调用时间点相同的多段路径,所述关键路径是指所述并行路径中调用时长最长的路径。7.根据权利要求1所述的方法,其特征在于,所述基于所述多个调用链的结构,获取所述多个调用链之间的相似度,包括:基于所述多个调用链的结构,获取所述多个调用链的向量,每个向量用于指示一个调用链的结构;对于所述多个调用链中的任两个调用链,根据所述两个调用链对应的向量之间的相似度,获取所述两个调用链之间的相似度;或者,根据所述两个调用链对应的向量之间的距离,获取所述两个调用链之间的相似度。8.根据权利要求7所述的方法,其特征在于,所述基于所述多个调用链的结构,获取所述多个调用链的向量,包括:对于所述多个调用链中的任一调用链,获取所述调用链的节点数量以及深度中的至少一项;根据所述节点数量以及深度中的至少一项,获取所述调用链的向量。9.根据权利要求1所述的方法,其特征在于,所述基于所述一个或多个类,进行调用链的性能分析或调用链的异常分析,包括下述至少一个步骤:对于所述一个或多个类中的任一类,获取所述类的性能分析阈值,通过所述类的性能分析阈值,对所述类进行调用链的性能分析;对于所述一个或多个类中的任一类,获取所述类的异常分析阈值,通过所述类的异常分析阈值,对所述类进行调用链的异常分析;对于所述一个或多个类中的任一类,获取所述类的性能分析模型在当前时间点的第一性能参数,通过所述类中调用链在当前时间点的第二性能参数与所述第一性能参数之间的偏差,对所述类进行调用链的性能分析;对于一个或多个类中的任一类中的第一调用链以及第二调用链,当第一调用链为第二调用链的子链,且第一调用链与第二调用链符合偏差条件时,将第一调用链输出为第二调用链的断链;对于所述业务的任一调用链,获取所述调用链与所述一个或多个类之间的相似度,得到一个或多个相似度,当所述一个或多个相似度小于相似度阈值时,将所述调用链输出为异常链。10.根据权利要求1所述的方法,其特征在于,所述基于所述多个调用链之间的相似度,对所述多个调用链聚类之后,所述方法还包括:统计所述一个或多个类的多个调用链的调用次数、错误次数、调用时长、节点数量、节点标识、调用链长度中的至少一项,得到一个或多个类的统计结果;显示所述一个或多个类的统计结果。11.一种业务分析装置,其...

【专利技术属性】
技术研发人员:王琛
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1