一种根因诊断的方法、装置制造方法及图纸

技术编号:20864595 阅读:35 留言:0更新日期:2019-04-17 09:00
本申请提供了一种超时根因的诊断方法、装置。该方法包括:根据第一控制器发送的第一消息的超时信息,确定所述第一消息由所述第一控制器发送至第二控制器;检测所述第二控制器是否上报第二消息的超时信息,所述第二消息由所述第二控制器发送至第三控制器;若所述第二控制器没有上报所述第二消息的超时信息,确定所述第二控制器为所述第一消息的超时根因控制器。本申请提供的技术方案可以准确的诊断出超时类问题产生的根因,并可以对准确的根因故障点进行恢复。

【技术实现步骤摘要】
一种根因诊断的方法、装置
本申请涉及存储领域,并且更具体地,涉及一种根因诊断的方法、装置。
技术介绍
应用中超时类问题不可避免,而超时类问题可能会引起应用程序崩溃或者长时间的无法响应。无法响应可以表现为应用或服务依然存在,但是实际却不能提供功能,有时候应用中严重的无法响应可能会导致业务中断。现有技术中,仅仅是将上报超时类故障的控制器或所述控制器运用的应用确定为超时类故障的根因。但是,超时类故障的根因并不一定是上报所述超时类故障的控制器或应用。例如,上报超时类故障的控制器为控制器A,而超时类故障的根因是控制器B。如果将控制器A确定为超时类故障的根因,并对控制器A进行恢复,没有对控制器B进行恢复,那么控制器A上运行的应用还是会存在超时类问题。因此,如何准确的检测应用中超时类问题产生的根因成为业界亟需要解决的问题。
技术实现思路
本申请提供一种超时根因的诊断方法,可以准确的判断出超时类问题产生的根因,并可以对准确的根因故障点进行恢复。第一方面,提供了一种超时根因的诊断方法,由主控制器执行,所述主控制器接收其他控制器发送的消息超时信息,包括:根据第一控制器发送的第一消息的超时信息,确定所述第一消息由所述第一控制器发送至第二控制器;检测所述第二控制器是否上报第二消息的超时信息,所述第二消息由所述第二控制器发送至第三控制器;若所述第二控制器没有上报所述第二消息的超时信息,确定所述第二控制器为导致所述第一消息的超时根因控制器。上述技术方案可以准确的诊断出超时类问题产生的根因,并可以对准确的根因故障点进行恢复。结合第一方面,在第一方面的某些实现方式中,还包括:若所述第二控制器上报所述第二消息的超时信息,检测所述第三控制器是否上报第三消息的超时信息,所述第三消息由所述第三控制器发送至第四控制器;若所述第三控制器没有上报所述第三消息的超时信息,确定所述第三控制器为导致所述第一消息的超时根因控制器。结合第一方面,在第一方面的某些实现方式中,所述第一消息的超时信息包括:第一控制器标识ID、第二控制器标识ID、消息转发超时时间,根据所述第一消息的超时信息中包括的第二控制器标识ID,确定所述第一消息由所述第一控制器发送至第二控制器。第二方面,提供了一种超时根因的诊断方法,由控制器执行,所述控制器运行有第一应用,所述第一应用接收或者发送消息至其他控制器,包括:获取所述第一应用发送的超时信息;判断所述超时信息是否为持有锁超时信息或流程超时信息;若所述超时信息为持有锁超时信息或流程超时信息,则确定所述控制器为导致所述超时的根因控制器。结合第二方面,在第二方面的某些实现方式中,在确定所述超时根因控制器后,所述方法还包括:若判断所述第一应用发送的超时信息为持有锁超时信息,则判断所述第一应用是否存在消息转发超时或申请锁超时;若判断所述第一应用没有所述消息转发超时或申请锁超时,确定所述第一应用所述超时的根因应用。结合第二方面,在第二方面的某些实现方式中,还包括:若判断所述第一应用存在申请锁超时,则判断所述控制器运行的其他应用是否存在针对所述申请锁超时对应的区域的持有锁超时;若判断所述其他应用没有针对所述申请锁超时对应的区域的持有锁超时,确定所述第一应用为所述超时的根因应用。结合第二方面,在第二方面的某些实现方式中,若判断所述第一应用发送的超时信息为流程超时信息,则判断所述第一应用是否存在消息转发超时或申请锁超时;若判断所述第一应用没有所述消息转发超时或申请锁超时,确定所述第一应用所述超时的根因应用。结合第二方面,在第二方面的某些实现方式中,所述超时信息包括锁的标识,根据所述超时信息中的锁的标识确定所述超时信息为锁超时信息。结合第二方面,在第二方面的某些实现方式中,所述超时信息包括流程的标识,根据所述超时信息中的流程的标识确定所述超时信息为流程超时信息。第三方面,提供了一种超时根因的诊断装置,由主控制器执行,所述主控制器接收其他控制器发送的消息超时信息,包括:检测模块,用于根据第一控制器发送的第一消息的超时信息,确定所述第一消息由所述第一控制器发送至第二控制器。检测模块,还用于检测所述第二控制器是否上报第二消息的超时信息,所述第二消息由所述第二控制器发送至第三控制器。诊断模块,用于若所述第二控制器没有上报所述第二消息的超时信息,确定所述第二控制器为导致所述第一消息的超时根因控制器。结合第三方面,在第三方面的某些实现方式中,所述检测模块还用于:若所述第二控制器上报所述第二消息的超时信息,检测所述第三控制器是否上报第三消息的超时信息,所述第三消息为导致所述第三控制器发送至第四控制器。所述诊断模块还用于:若所述第三控制器没有上报所述第三消息的超时信息,确定所述第三控制器为所述第一消息的超时根因控制器。结合第三方面,在第三方面的某些实现方式中,所述第一消息的超时信息包括:第一控制器标识ID、第二控制器标识ID、消息转发超时时间,根据所述第一消息的超时信息中包括的第二控制器标识ID,确定所述第一消息由所述第一控制器发送至第二控制器。第四方面,提供了一种超时根因的诊断装置,由控制器执行,所述控制器运行有第一应用,所述第一应用接收或者发送消息至其他控制器,包括:检测模块,用于获取所述第一应用发送的超时信息。检测模块,还用于判断所述超时信息是否为持有锁超时信息或流程超时信息。诊断模块,用于若所述超时信息为持有锁超时信息或流程超时信息,则确定所述控制器为导致所述超时的根因控制器。结合第四方面,在第四方面的某些实现方式中,所述检测模块具体用于:若判断所述第一应用发送的超时信息为持有锁超时信息,则判断所述第一应用是否存在消息转发超时或申请锁超时。所述诊断模块具体用于:若判断所述第一应用没有所述消息转发超时或申请锁超时,确定所述第一应用所述超时的根因应用。结合第四方面,在第四方面的某些实现方式中,所述检测模块还用于:若判断所述第一应用存在申请锁超时,则判断所述控制器运行的其他应用是否存在针对所述申请锁超时对应的区域的持有锁超时。所述诊断模块还用于:若判断所述其他应用没有针对所述申请锁超时对应的区域的持有锁超时,确定所述第一应用为所述超时的根因应用。结合第四方面,在第四方面的某些实现方式中,所述检测模块具体用于:若判断所述第一应用发送的超时信息为流程超时信息,则判断所述第一应用是否存在消息转发超时或申请锁超时。所述诊断模块具体用于:若判断所述第一应用没有所述消息转发超时或申请锁超时,确定所述第一应用所述超时的根因应用。结合第四方面,在第四方面的某些实现方式中,所述超时信息包括锁的标识,所述检测模块具体用于:根据所述超时信息中的锁的标识确定所述超时信息为锁超时信息。结合第四方面,在第四方面的某些实现方式中,所述超时信息包括流程的标识,所述检测模块具体用于:根据所述超时信息中的流程的标识确定所述超时信息为流程超时信息。第五方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。第六方面,提供了一种计算机可读介质,所述计算机可读介质存储有程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述各方面中的方法。附图说明图1是本申请实施例提供的一种应用场景的示意图。图2是本本文档来自技高网...

【技术保护点】
1.一种超时根因的诊断方法,由主控制器执行,所述主控制器接收其他控制器发送的消息超时信息,其特征在于,包括:根据第一控制器发送的第一消息的超时信息,确定所述第一消息由所述第一控制器发送至第二控制器;检测所述第二控制器是否上报第二消息的超时信息,所述第二消息由所述第二控制器发送至第三控制器;若所述第二控制器没有上报所述第二消息的超时信息,确定所述第二控制器为导致所述第一消息的超时根因控制器。

【技术特征摘要】
1.一种超时根因的诊断方法,由主控制器执行,所述主控制器接收其他控制器发送的消息超时信息,其特征在于,包括:根据第一控制器发送的第一消息的超时信息,确定所述第一消息由所述第一控制器发送至第二控制器;检测所述第二控制器是否上报第二消息的超时信息,所述第二消息由所述第二控制器发送至第三控制器;若所述第二控制器没有上报所述第二消息的超时信息,确定所述第二控制器为导致所述第一消息的超时根因控制器。2.根据权利要求1所述的方法,其特征在于,还包括:若所述第二控制器上报所述第二消息的超时信息,检测所述第三控制器是否上报第三消息的超时信息,所述第三消息由所述第三控制器发送至第四控制器;若所述第三控制器没有上报所述第三消息的超时信息,确定所述第三控制器为导致所述第一消息的超时根因控制器。3.根据权利要求1或2所述的方法,其特征在于,所述第一消息的超时信息包括:第一控制器标识ID、第二控制器标识ID、消息转发超时时间,所述根据第一控制器发送的第一消息的超时信息,确定所述第一消息由所述第一控制器发送至第二控制器,包括:根据所述第一消息的超时信息中包括的第二控制器标识ID,确定所述第一消息由所述第一控制器发送至第二控制器。4.一种超时根因的诊断方法,由控制器执行,所述控制器运行有第一应用,所述第一应用接收或者发送消息至其他控制器,其特征在于,包括:获取所述第一应用的超时信息;判断所述超时信息是否为持有锁超时信息或流程超时信息;若所述超时信息为持有锁超时信息或流程超时信息,则确定所述控制器为导致超时的根因控制器。5.根据权利要求4所述的方法,其特征在于,在确定所述超时根因控制器后,所述方法还包括:若判断所述第一应用发送的超时信息为持有锁超时信息,则判断所述第一应用是否存在消息转发超时或申请锁超时;若判断所述第一应用没有所述消息转发超时或申请锁超时,确定所述第一应用所述超时的根因应用。6.根据权利要求5所述的方法,其特征在于,还包括:若判断所述第一应用存在申请锁超时,则判断所述控制器运行的其他应用是否存在针对所述申请锁超时对应的区域的持有锁超时;若判断所述其他应用没有针对所述申请锁超时对应的区域的持有锁超时,确定所述第一应用为所述超时的根因应用。7.根据权利要求4至6中任一项所述的方法,其特征在于,在确定所述超时根因控制器后,所述方法还包括:若判断所述第一应用发送的超时信息为流程超时信息,则判断所述第一应用是否存在消息转发超时或申请锁超时;若判断所述第一应用没有所述消息转发超时或申请锁超时,确定所述第一应用所述超时的根因应用。8.一种超时根因的诊断装置,由主控制器执行,所述主控制器接收其他控制器发送的消息超时信息,其特征在于,包括:检测模块,用于根据第一控制器发送的第一消息的超时信息,确定所述第一消息由所述第一控制...

【专利技术属性】
技术研发人员:肖军张廖仇幼成
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1