一种服务故障诊断方法及系统技术方案

技术编号:37549529 阅读:27 留言:0更新日期:2023-05-15 07:35
本发明专利技术公开了一种服务故障诊断方法及系统,属于Java虚拟机技术领域,方便进行服务故障诊断,且具有对程序性能损耗小,实时性强的有益效果。方法包括:接收由服务故障诊断服务器发送的trace命令;所述trace命令携带类名,及待进行服务故障诊断的与所述类名对应的方法名;在接口方法中增加拦截方法;所述拦截方法用于从方法及子方法中获取方法相关指标信息;当监听到所述方法名对应的方法及子方法将要被调用或是执行结束时,自动调用增加拦截方法后的接口方法,通过所述拦截方法从所述方法及所述子方法中获取所述方法相关指标信息,并发送所述方法相关指标信息至所述服务故障诊断服务器,以供所述服务故障诊断服务器根据所述方法相关指标信息进行服务故障诊断,得到服务故障诊断结果。务故障诊断结果。务故障诊断结果。

【技术实现步骤摘要】
一种服务故障诊断方法及系统


[0001]本专利技术涉及Java虚拟机
,尤其涉及一种服务故障诊断方法及系统。

技术介绍

[0002]当被执行服务故障诊断的设备发生故障时,故障难以定位,无法实时了解设备的实时jvm信息。要想获取方法的返回值、方法输入参数以及方法执行耗时等信息时,在不重启服务应用的情况下,无法获得上述信息,也无法获得导致服务报错的原因,现有方法通常是增加日志,重新打包,部署,然后进行场景重现,但是,这样的方法常常会导致一系列未知的严重问题。

技术实现思路

[0003]鉴于上述的分析,本专利技术实施例旨在提供一种服务故障诊断方法及系统,方便进行服务故障诊断,且具有对程序性能损耗小,实时性强的有益效果。
[0004]本专利技术公开了一种服务故障诊断方法,包括:
[0005]接收由服务故障诊断服务器发送的trace命令;所述trace命令携带类名,及待进行服务故障诊断的与所述类名对应的方法名;
[0006]在接口方法中增加拦截方法;所述拦截方法用于从方法及子方法中获取方法相关指标信息;
[0007]当监听到所述方法名对应的方法及子方法将要被调用或是执行结束时,自动调用增加拦截方法后的接口方法,通过所述拦截方法从所述方法及所述子方法中获取所述方法相关指标信息,并发送所述方法相关指标信息至所述服务故障诊断服务器,以供所述服务故障诊断服务器根据所述方法相关指标信息进行服务故障诊断,得到服务故障诊断结果。
[0008]进一步地,所述在接口方法中增加拦截方法,包括:
[0009]在与所述方法及子方法执行前对应的接口方法中增加第一拦截方法,用于获取所述方法及子方法执行前的方法相关指标信息;
[0010]在与所述方法及子方法执行后对应的接口方法中增加第二拦截方法,用于获取所述方法及子方法执行后的方法相关指标信息。
[0011]进一步地,所述当监听到所述方法名对应的方法及子方法将要被调用或是执行结束时,自动调用增加拦截方法后的接口方法,通过所述拦截方法从所述方法及所述子方法中获取所述方法相关指标信息,并发送所述方法相关指标信息至所述服务故障诊断服务器,包括:
[0012]当监听到所述方法及子方法将要被调用时,自动调用与所述方法及子方法执行前对应的接口方法;
[0013]当监听到所述方法及子方法执行结束时,自动调用与所述方法及子方法执行后对应的接口方法;
[0014]在与所述方法及子方法执行后对应的接口方法中通过methodEnd方法调用监听器
对象,输出所述方法相关指标信息;所述methodEnd方法用于在所述方法及所述子方法执行结束时输出全部方法相关指标信息,并将全部方法相关指标信息发送至所述服务故障诊断服务器。
[0015]进一步地,所述服务故障诊断方法还包括:
[0016]接收由所述服务故障诊断服务器发送的设备探测命令;
[0017]根据所述设备探测命令对本地设备进行探测,得到用于服务故障诊断的设备相关指标信息;
[0018]发送所述设备相关指标信息和所述方法相关指标信息至所述服务故障诊断服务器,以供所述服务故障诊断服务器根据所述方法相关指标信息和所述设备相关指标信息进行服务故障诊断,得到服务故障诊断结果。
[0019]本专利技术公开了一种服务故障诊断方法,包括:
[0020]发送trace命令至被执行服务故障诊断的设备;所述trace命令携带类名,及待进行服务故障诊断的与所述类名对应的方法名;
[0021]接收所述设备根据与所述类名对应的方法名返回的方法相关指标信息,并根据所述方法相关指标信息进行服务故障诊断,得到服务故障诊断结果。
[0022]进一步地,所述方法相关指标信息包括方法输入参数、返回值和方法执行耗时;相应的,所述根据所述方法相关指标信息进行服务故障诊断,得到服务故障诊断结果,包括:
[0023]对所述方法输入参数中的类名和方法名进行归一处理,得到类的方法名;
[0024]确定与所述类的方法名对应的方法执行耗时,并根据所述方法执行耗时与预设方法耗时阈值的比较结果,以及所述返回值得到所述服务故障诊断结果。
[0025]进一步地,所述根据所述方法执行耗时与预设方法耗时阈值的比较结果,以及所述返回值得到所述服务故障诊断结果,包括:
[0026]若所述方法执行耗时小于所述预设方法耗时阈值,且所述返回值为正常值,则确定所述服务故障诊断结果为正常;
[0027]若所述方法执行耗时大于等于所述预设方法耗时阈值;和/或所述返回值为异常值,则确定所述服务故障诊断结果为异常。
[0028]进一步地,所述服务故障诊断方法还包括:
[0029]接收由所述设备发送的设备相关指标信息和所述方法相关指标信息;并根据所述方法相关指标信息和所述设备相关指标信息进行服务故障诊断,得到服务故障诊断结果。
[0030]进一步地,所述设备相关指标信息包括内存相关指标信息、线程相关指标信息和堆栈相关指标信息;相应的,所述根据所述方法相关指标信息和所述设备相关指标信息进行服务故障诊断,得到服务故障诊断结果,包括:
[0031]根据所述内存相关指标信息与预设内存相关指标阈值的比较结果,确定所述服务故障诊断结果;
[0032]根据所述线程相关指标信息与预设线程相关指标阈值的比较结果,确定所述服务故障诊断结果;
[0033]根据所述堆栈相关指标信息与预设堆栈相关指标阈值的比较结果,确定所述服务故障诊断结果;
[0034]根据所述方法执行耗时与预设方法耗时阈值的比较结果,以及所述返回值,确定
所述服务故障诊断结果。
[0035]本专利技术公开了一种服务故障诊断系统,包括:被执行服务故障诊断的设备和服务故障诊断服务器;
[0036]其中,所述设备和所述服务故障诊断服务器分别执行对应所述的服务故障诊断方法。
[0037]与现有技术相比,本专利技术至少可实现如下有益效果之一:
[0038]本专利技术实施例中提供的服务故障诊断方法,接收由服务故障诊断服务器发送的trace命令;所述trace命令携带类名,及待进行服务故障诊断的与所述类名对应的方法名;在接口方法中增加拦截方法;所述拦截方法用于从方法及子方法中获取方法相关指标信息;当监听到所述方法名对应的方法及子方法将要被调用或是将要执行结束时,自动调用增加拦截方法后的接口方法,通过所述拦截方法从所述方法及所述子方法中获取所述方法相关指标信息,并发送所述方法相关指标信息至所述服务故障诊断服务器,以供所述服务故障诊断服务器根据所述方法相关指标信息进行服务故障诊断,得到服务故障诊断结果。方便进行服务故障诊断,且具有对程序性能损耗小,实时性强的有益效果。
[0039]本专利技术实施例中提供的服务故障诊断系统,包括被执行服务故障诊断的设备和服务故障诊断服务器,设备执行的方法包括:接收由服务故障诊断服务器发送的trace命令;所述trace命令携带类名,及待进行服务故障诊本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务故障诊断方法,其特征在于,包括:接收由服务故障诊断服务器发送的trace命令;所述trace命令携带类名,及待进行服务故障诊断的与所述类名对应的方法名;在接口方法中增加拦截方法;所述拦截方法用于从方法及子方法中获取方法相关指标信息;当监听到所述方法名对应的方法及子方法将要被调用或是执行结束时,自动调用增加拦截方法后的接口方法,通过所述拦截方法从所述方法及所述子方法中获取所述方法相关指标信息,并发送所述方法相关指标信息至所述服务故障诊断服务器,以供所述服务故障诊断服务器根据所述方法相关指标信息进行服务故障诊断,得到服务故障诊断结果。2.根据权利要求1所述的服务故障诊断方法,其特征在于,所述在接口方法中增加拦截方法,包括:在与所述方法及子方法执行前对应的接口方法中增加第一拦截方法,用于获取所述方法及子方法执行前的方法相关指标信息;在与所述方法及子方法执行后对应的接口方法中增加第二拦截方法,用于获取所述方法及子方法执行后的方法相关指标信息。3.根据权利要求2所述的服务故障诊断方法,其特征在于,所述当监听到所述方法名对应的方法及子方法将要被调用或是执行结束时,自动调用增加拦截方法后的接口方法,通过所述拦截方法从所述方法及所述子方法中获取所述方法相关指标信息,并发送所述方法相关指标信息至所述服务故障诊断服务器,包括:当监听到所述方法及子方法将要被调用时,自动调用与所述方法及子方法执行前对应的接口方法;当监听到所述方法及子方法执行结束时,自动调用与所述方法及子方法执行后对应的接口方法;在与所述方法及子方法执行后对应的接口方法中通过methodEnd方法调用监听器对象,输出所述方法相关指标信息;所述methodEnd方法用于在所述方法及所述子方法执行结束时输出全部方法相关指标信息,并将全部方法相关指标信息发送至所述服务故障诊断服务器。4.根据权利要求1至3任一所述的服务故障诊断方法,其特征在于,所述服务故障诊断方法还包括:接收由所述服务故障诊断服务器发送的设备探测命令;根据所述设备探测命令对本地设备进行探测,得到用于服务故障诊断的设备相关指标信息;发送所述设备相关指标信息和所述方法相关指标信息至所述服务故障诊断服务器,以供所述服务故障诊断服务器根据所述方法相关指标信息和所述设备相关指标信息进行服务故障诊断,得到服务故障诊断结果。5.一种服务故障诊断方法,其特征在于,包括:发送trace命令至被执行服务...

【专利技术属性】
技术研发人员:喻博刘培锋张科文
申请(专利权)人:远光软件股份有限公司
类型:发明
国别省市:

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

1