故障定位方法及系统与流程

文档序号:34105841发布日期:2023-05-10 19:58阅读:33来源:国知局
故障定位方法及系统与流程

本说明书一个或多个实施例涉及计算机领域,尤其涉及一种故障定位方法及系统。


背景技术:

1、在对开发大型软件程序时,在发现出现故障时,对于故障产生的原因常常难以定位,同时由于故障定位过程涉及到对于软件的编译过程和故障检测过程,两个过程都需要花费较多的时间,使得故障定位过程的性能分析的效率较低。


技术实现思路

1、有鉴于此,本说明书一个或多个实施例提供一种故障定位方法及系统,以解决相关技术中存在的问题。

2、为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

3、根据本说明书一个或多个实施例的第一方面,提出了一种故障定位方法,包括:

4、获取故障程序在未发生故障的初始时刻到发生故障的目标时刻之间的程序修改记录列表;

5、运行用于对所述故障程序进行故障检测的检测进程,针对从所述程序修改记录列表中确定出的初始程序修改记录对应的编译结果,进行第一轮的故障检测,并在运行所述检测进程的过程中,并行运行用于对所述程序修改记录进行编译的编译进程,对从所述程序修改记录列表中确定出的第二轮的待检测的程序修改记录进行编译;以及,

6、响应于所述第一轮的故障检测完成,运行所述检测进程,针对所述第二轮的待检测的程序修改记录对应的编译结果,进行第二轮的故障检测,并在运行所述检测进程的过程中,并行运行所述编译进程,对从所述程序修改记录列表中确定出的第三轮的待检测的程序修改记录进行编译,以此类推,直到从所述程序修改记录列表中检测出与所述故障相关的程序修改记录。

7、可选的,针对从所述程序修改记录列表中确定出的初始程序修改记录对应的编译结果,进行第一轮的故障检测之前,还包括:

8、运行所编译进程对从所述程序修改记录列表中确定出的初始程序修改记录进行编译。

9、可选的,所述从所述程序修改记录列表中确定初始程序修改记录,包括:

10、将与未发生故障的初始时刻对应的第一程序修改记录、发生故障的目标时刻对应的第二程序修改记录,以及所述程序修改记录列表中所述第一程序修改记录和所述第二程序修改记录之间的第一中间位置对应的第三程序修改记录确定为初始程序修改记录。

11、可选的,从所述程序修改记录列表中确定第二轮的待检测的第二轮的待检测的程序修改记录,包括:

12、将所述程序修改记录列表中所述第一程序修改记录和所述第三程序修改记录之间的第二中间位置对应的第四程序修改记录,以及所述程序修改记录列表中第三程序修改记录和所述第二程序修改记录之间的第三中间位置对应的第五程序修改记录,确定为第二轮的待检测的第二轮的待检测的程序修改记录。

13、可选的,响应于所述第一轮的故障检测完成,运行所述检测进程,针对所述第二轮的待检测的程序修改记录对应的编译结果,进行第二轮的故障检测,包括:

14、响应于所述第一轮的故障检测完成,基于所述第一轮的故障检测结果,确定与所述故障相关的程序修改记录在所述程序修改记录列表中的位置;

15、如果与所述故障相关的程序修改记录,位于所述第一程序修改记录和所述第三程序修改记录之间,则运行所述检测进程,针对所述第四程序修改记录对应的编译结果,进行第二轮的故障检测;

16、如果与所述故障相关的程序修改记录,位于所述第三程序修改记录和所述第二程序修改记录之间,则运行所述检测进程,针对所述第五程序修改记录对应的编译结果,进行第二轮的故障检测。

17、可选的,从所述程序修改记录列表中确定第三轮的待检测的第三轮的待检测的程序修改记录,包括:

18、如果针对所述第四程序修改记录对应的编译结果,进行了第二轮的故障检测,则将所述程序修改记录列表中所述第一程序修改记录和所述第四程序修改记录之间的第四中间位置对应的第六程序修改记录,以及所述程序修改记录列表中所述第四程序修改记录和所述第三程序修改记录之间的第五中间位置对应的第七程序修改记录,确定为第三轮的待检测的第三轮的待检测的程序修改记录;

19、如果针对所述第五程序修改记录对应的编译结果,进行了第二轮的故障检测,则将所述程序修改记录列表中所述第三程序修改记录和所述第五程序修改记录之间的第六中间位置对应的第八程序修改记录,以及所述程序修改记录列表中所述第五程序修改记录和所述第第二程序修改记录之间的第七中间位置对应的第九程序修改记录,确定为第三轮的待检测的第三轮的待检测的程序修改记录。

20、可选的,所述故障程序包括出现故障的linux内核程序。

21、根据本说明书一个或多个实施例的第二方面,提出了一种故障定位系统,所述系统执行如第一方面所述方法的步骤。

22、根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:

23、处理器;

24、用于存储处理器可执行指令的存储器;

25、其中,所述处理器通过运行所述可执行指令以实现如第一方面所述的方法。

26、根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。

27、由上述实施例的技术方案可知,本申请实施例通过将编译过程前置,并行运行检测进程和编译进程,从而可以大幅减少故障定位所消耗的时间,提升故障定位过程的效率。



技术特征:

1.一种故障定位方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,针对从所述程序修改记录列表中确定出的初始程序修改记录对应的编译结果,进行第一轮的故障检测之前,还包括:

3.根据权利要求1所述的方法,其特征在于,所述从所述程序修改记录列表中确定初始程序修改记录,包括:

4.根据权利要求3所述的方法,其特征在于,从所述程序修改记录列表中确定第二轮的待检测的程序修改记录,包括:

5.根据权利要求4所述的方法,其特征在于,响应于所述第一轮的故障检测完成,运行所述检测进程,针对所述第二轮的待检测的程序修改记录对应的编译结果,进行第二轮的故障检测,包括:

6.根据权利要求5所述的方法,其特征在于,从所述程序修改记录列表中确定第三轮的待检测的程序修改记录,包括:

7.根据权利要求1所述的方法,其特征在于,所述故障程序包括出现故障的linux内核程序。

8.一种故障定位系统,其特征在于,所述系统执行如权利要求1-7中任一所述的方法。

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。


技术总结
本说明书一个或多个实施例提供一种故障定位方法及系统。该方法包括:获取故障程序在未发生故障的初始时刻到发生故障的目标时刻之间的程序修改记录列表;运行检测进程,针对初始程序修改记录对应的编译结果进行第一轮的故障检测,并在运行检测进程的过程中,并行运行编译进程,对第二轮的待检测的程序修改记录进行编译;以及,响应于第一轮的故障检测完成,运行检测进程,针对第二轮的待检测的程序修改记录对应的编译结果进行第二轮的故障检测,并在运行所述检测进程的过程中,并行运行所述编译进程,对第三轮的待检测的程序修改记录进行编译,以此类推,直到从程序修改记录列表中检测出与所述故障相关的程序修改记录。

技术研发人员:张永超
受保护的技术使用者:阿里云计算有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1