一种高速总线稳定性检测方法、系统及相关组件与流程

专利2022-06-29  69


本申请涉及服务器领域,特别涉及一种高速总线稳定性检测方法、系统及相关组件。



背景技术:

随着大数据、云计算、人工智能时代的到来,互联网业务量出现猛烈增长,计算量及计算频率随之增。数据量雪崩式地增加,海量的数据需要存储,存储子系统作为数据存储的主要链路显得尤为重要,不仅需要巨大容量的云盘,而且对存储子系统链路的稳定性提出了很高的要求。

存储链路通常包括操作系统、驱动、cpu(centralprocessingunit,中央处理器)、存储设备等几个部分,当前的存储链路多选用pcie(peripheralcomponentinterconnectexpress,高速串行计算机扩展总线标准)高速链路,pcie高速链路带来更快的速度和更高的性能的同时,也带来了高风险,在服务器运行过程中,如果pcie高速链路不稳定,则会引起数据的收发错误,轻微的会影响存储和计算性能,严重的会引起链路瘫痪,导致掉盘宕机,引发客户端业务中断,数据丢失,因此,pcie高速总线的稳定性检测非常重要,但是目前还没有一种预先对pcie高速总线进行稳定性检测的方案。

因此,如何提供一种解决上述技术问题的方案是本领域技术人员目前需要解决的问题。



技术实现要素:

本申请的目的是提供一种高速总线稳定性检测方法、系统、电子设备及计算机可读存储介质,在产品开发阶段,测试高速链路在切换过程中的稳定性能够提前发现并纠正问题,避免在客户使用过程中出现异常,引发数据的丢失,提高了服务器的稳定性和可靠性,提高产品的竞争力。

为解决上述技术问题,本申请提供了一种高速总线稳定性检测方法,包括:

控制高速链路在linkdown状态和linkup状态间循环交替切换;

当所述高速链路处于所述linkup状态,获取系统日志;

根据所述系统日志判断所述高速链路是否存在故障;

若是,停止切换所述高速链路的状态,并执行故障指示操作。

优选的,所述控制高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

通过修改高速链路的状态寄存器控制所述高速链路在linkdown状态和linkup状态间循环交替切换;

相应的,所述停止切换所述高速链路的状态的过程具体为:

停止修改所述高速链路的状态寄存器。

优选的,所述控制高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

在第一预设时间段内控制高速链路在linkdown状态和linkup状态间循环交替切换。

优选的,所述通过修改高速链路的状态寄存器控制所述高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

在所述第一预设时间段的起始时间,将所述高速链路的状态寄存器调整为linkdown状态;

等待第二预设时间段,将所述高速链路的状态寄存器调整为linkup状态;等待所述第二预设时间段,将所述高速链路的状态寄存器调整为所述linkdown状态,重复本步骤直至达到所述第一预设时间段的结束时间。

优选的,所述根据所述系统日志判断所述高速链路是否存在故障的过程具体为:

根据预设故障关键字遍历所述系统日志,若所述系统日志中存在与所述预设故障关键字匹配的信息,则判定所述高速链路存在故障,否则,判定所述高速链路不存在故障。

优选的,所述通过修改高速链路的状态寄存器控制所述高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

通过脚本调整高速链路的状态寄存器,以控制所述高速链路在linkdown状态和linkup状态间循环交替切换;

相应的,所述获取系统日志的过程具体为:

通过所述脚本获取系统日志;

相应的,所述根据所述系统日志判断所述高速链路是否存在故障的过程具体为:

通过所述脚本根据所述系统日志判断所述高速链路是否存在故障。

优选的,所述执行故障指示操作的过程具体为:

当所述高速链路存在故障,通过bmc生成低电平信号;

通过cpld接收所述低电平信号并输出预设频率的脉冲信号,以驱动led灯执行故障指示操作。

为解决上述技术问题,本申请还提供了一种高速总线稳定性检测系统,包括:

调整模块,用于控制高速链路在linkdown状态和linkup状态间循环交替切换;

获取模块,用于当所述高速链路处于所述linkup状态,获取系统日志;

判断模块,用于根据所述系统日志判断所述高速链路是否存在故障;

报错模块,用于控制所述调整模块停止切换所述高速链路的状态,并执行故障指示操作。

为解决上述技术问题,本申请还提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如上文任意一项所述的高速总线稳定性检测方法的步骤。

为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上文任意一项所述的高速总线稳定性检测方法的步骤。

本申请提供了一种高速总线稳定性检测方法,在产品开发阶段,控制高速链路在linkdown状态和linkup状态间循环交替切换,切换的过程会使高速链路的状态机反复重新执行,从而对高速总线施加最高压力,以便测试高速链路在切换过程中的稳定性。考虑到pcie高速信号不稳定时,在切换过程中就会出现pcie报错,甚至宕机,相关错误信息可以通过系统日志获取,当检测到高速链路存在故障,停止调整高速链路的状态的操作,以提高测试安全性,并进行故障指示操作,以便测试员能够提前发现并纠正问题,避免在客户使用过程中出现异常,引发数据的丢失,提高了服务器的稳定性和可靠性,提高产品的竞争力。本申请还提供了一种高速总线稳定性检测系统、电子设备及计算机可读存储介质,具有和上述高速总线稳定性检测方法相同的有益效果。

附图说明

为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请所提供的一种高速总线稳定性检测方法的步骤流程图;

图2为本申请所提供的一种故障指示装置的结构示意图;

图3为本申请所提供的一种高速总线稳定性检测系统的结构示意图。

具体实施方式

本申请的核心是提供一种高速总线稳定性检测方法、系统、电子设备及计算机可读存储介质,在产品开发阶段,测试高速链路在切换过程中的稳定性能够提前发现并纠正问题,避免在客户使用过程中出现异常,引发数据的丢失,提高了服务器的稳定性和可靠性,提高产品的竞争力。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

请参照图1,图1为本申请所提供的一种高速总线稳定性检测方法的步骤流程图,该高速总线稳定性检测方法包括:

s101:控制高速链路在linkdown状态和linkup状态间循环交替切换;

具体的,当前存储链路多选用高速的pcie链路,本实施例以pcie链路为例对高速总线稳定性检测方法进行说明,当然,高速链路还可以选择其他高速总线链路,本实施例在此不做具体的限定。

本实施例所提供的高速总线稳定性检测方法具体适用于产品开发阶段,以便能够及时发现并纠正问题,避免用户使用过程中出现异常,引发数据丢失情况。考虑到pcie链路在进行linkdown状态(即链路中断状态)和linkup状态(即链路连接状态)切换时,切换的过程会给pcie链路带来最大的压力,如果pcie高速信号存在不稳定的情况,在进行linkdown状态和linkup状态切换的过程中会出现pcie报错,因此,本步骤的目的在于为pcie高速信号提供高压力环境,以便测试高速总线的稳定性。

作为一种优选的实施例,具体可以通过修改高速链路的状态寄存器来控制高速链路在linkdown状态和linkup状态间循环交替切换,状态切换的过程会使pcie链路的状态机反复重新执行,从而给pcie链路带来高压力。进一步的,为保证系统稳定,需要预先设定测试时间,即在第一预设时间段内控制高速链路在linkdown状态和linkup状态间循环交替切换,超过第一预设时间段则不再进行对pcie链路的状态切换操作,其中,第一预设时间段可以设置为48h。在测试开始时,首先将高速链路的状态寄存器调整为linkdown状态,等待第二预设时间段,将状态寄存器调整为linkup状态,如果服务器系统正常,则继续等待第二预设时间段,将状态寄存器调整为linkdown状态,以此类推,将两种状态循环交替切换,直至达到第一预设时间段的结束时间,则不再进行pcie链路的状态切换,其中,第二预设时间段可以设置为20s,当然,第二预设时间段需要根据实际工程需要设置,只要满足不影响执行s102-s103的条件即可。

s102:当高速链路处于linkup状态,获取系统日志;

具体的,参照上文所述,高速链路在由linkdown状态到linkup状态的切换过程中,会给pcie链路带来巨大的压力,如果pcie高速信号存在不稳定的情况,则在该切换过程中出现pcie报错,甚至宕机,pcie报错等信息具体会体现在系统日志中,因此,每当高速链路进入linkup状态,就获取一次系统日志,以便后续根据该系统日志判断上一切换过程是否存在故障,从而判断pcie高速信号在高压力环境下是否能够稳定传输。

s103:根据系统日志判断高速链路是否存在故障,若是,执行步骤s104,若否,执行s101;

s104:停止切换高速链路的状态,并执行故障指示操作。

本实施例中,执行s103的目的在于根据系统日志判断高速链路是否存在故障,在执行s103之前,本实施例还可以包括预先设置故障关键字的操作,预设故障关键字与pcie报错信息、宕机信息相对应的,通过预设故障关键字进行匹配,可以提高后续在系统日志中查找故障信息的效率。具体的,当获取到系统日志后,遍历系统日志,判断系统日志是否存在与预设故障关键字相对应的信息,如果是,则说明存在pcie报错,此时,停止执行高速链路状态切换的操作,即不再修改pcie链路的状态寄存器,使pcie链路保持在当前状态;若否,则执行在等待时间达到第二预设时间段后,将状态寄存器调整为linkdown状态的操作。进一步的,还可以执行故障指示操作,以提醒工作人员采取相关处理措施。

作为一种优选的实施例,为提高响应速度,可通过硬件指示的方式进行故障指示,具体的,可以通过故障指示装置执行故障指示操作。参照图2所示,图2为本申请所提供的一种故障指示装置的结构示意图,该故障指示装置可以包括bmc01、cpld02、开关管q、led灯d及电阻r,bmc01的主板内部可以识别系统日志中是否存在与故障关键字对应的信息,若存在,bmc01输出低电平信号至cpld02,当cpld02接收到低电平信号后,输出预设频率的脉冲信号,通过晶体管的导通或关断来控制led灯d呈闪烁状态,以达到提示工作人员的目的。

作为一种优选的实施例,为了进一步提高测试的自动化水平,提高测试效率,可以通过脚本来实现本实施例中的控制高速链路在linkdown状态和linkup状态间循环交替切换的操作、当高速链路处于linkup状态,获取系统日志的操作以及根据系统日志判断高速链路是否存在故障,若是,停止切换高速链路的状态的操作,在进行测试时,直接运行对应的脚本即可。

可见,本实施例在产品开发阶段,控制高速链路在linkdown状态和linkup状态间循环交替切换,切换的过程会使高速链路的状态机反复重新执行,从而对高速总线施加最高压力,以便测试高速链路在切换过程中的稳定性。考虑到pcie高速信号不稳定时,在切换过程中就会出现pcie报错,甚至宕机,相关错误信息可以通过系统日志获取,当检测到高速链路存在故障,停止调整高速链路的状态的操作,以提高测试安全性,并进行故障指示操作,以便测试员能够提前发现并纠正问题,避免在客户使用过程中出现异常,引发数据的丢失,提高了服务器的稳定性和可靠性,提高产品的竞争力。

请参照图3,图3为本申请所提供的一种高速总线稳定性检测系统的结构示意图,包括:

调整模块11,用于控制高速链路在linkdown状态和linkup状态间循环交替切换;

获取模块12,用于当高速链路处于linkup状态,获取系统日志;

判断模块13,用于根据系统日志判断高速链路是否存在故障;

报错模块14,用于控制调整模块11停止切换高速链路的状态,并执行故障指示操作。

作为一种优选的实施例,调整模块11具体用于:

通过修改高速链路的状态寄存器控制高速链路在linkdown状态和linkup状态间循环交替切换;

相应的,停止切换高速链路的状态的过程具体为:

停止修改高速链路的状态寄存器。

作为一种优选的实施例,调整模块11具体用于:

在第一预设时间段内控制高速链路在linkdown状态和linkup状态间循环交替切换。

作为一种优选的实施例,通过修改高速链路的状态寄存器控制高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

在第一预设时间段的起始时间,将高速链路的状态寄存器调整为linkdown状态;

等待第二预设时间段,将高速链路的状态寄存器调整为linkup状态;等待第二预设时间段,将高速链路的状态寄存器调整为linkdown状态,重复本步骤直至达到第一预设时间段的结束时间。

作为一种优选的实施例,判断模块13具体包括:

遍历单元,用于根据预设故障关键字遍历系统日志;

判定单元,用于若系统日志中存在与预设故障关键字匹配的信息,则判定高速链路存在故障,否则,判定高速链路不存在故障。

作为一种优选的实施例,通过修改高速链路的状态寄存器控制高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

通过脚本调整高速链路的状态寄存器,以控制高速链路在linkdown状态和linkup状态间循环交替切换;

相应的,获取系统日志的过程具体为:

通过脚本获取系统日志;

相应的,根据系统日志判断高速链路是否存在故障的过程具体为:

通过脚本根据系统日志判断高速链路是否存在故障。

作为一种优选的实施例,执行故障指示操作的过程具体为:

当高速链路存在故障,通过bmc生成低电平信号;

通过cpld接收低电平信号并输出预设频率的脉冲信号,以驱动led灯执行故障指示操作。

另一方面,本申请还提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现如上文任意一个实施例所描述的高速总线稳定性检测方法。

本申请所提供的一种电子设备具有和上述高速总线稳定性检测方法相同的有益效果。

对于本申请所提供的一种电子设备的介绍请参照上述实施例,本申请在此不再赘述。

另一方面,本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上文任意一个实施例所描述的高速总线稳定性检测方法。

本申请所提供的一种计算机可读存储介质具有和上述高速总线稳定性检测方法相同的有益效果。

对于本申请所提供的一种计算机可读存储介质的介绍请参照上述实施例,本申请在此不再赘述。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。


技术特征:

1.一种高速总线稳定性检测方法,其特征在于,包括:

控制高速链路在linkdown状态和linkup状态间循环交替切换;

当所述高速链路处于所述linkup状态,获取系统日志;

根据所述系统日志判断所述高速链路是否存在故障;

若是,停止切换所述高速链路的状态,并执行故障指示操作。

2.根据权利要求1所述的高速总线稳定性检测方法,其特征在于,所述控制高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

通过修改高速链路的状态寄存器控制所述高速链路在linkdown状态和linkup状态间循环交替切换;

相应的,所述停止切换所述高速链路的状态的过程具体为:

停止修改所述高速链路的状态寄存器。

3.根据权利要求2所述的高速总线稳定性检测方法,其特征在于,所述控制高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

在第一预设时间段内控制高速链路在linkdown状态和linkup状态间循环交替切换。

4.根据权利要求3所述的高速总线稳定性检测方法,其特征在于,所述通过修改高速链路的状态寄存器控制所述高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

在所述第一预设时间段的起始时间,将所述高速链路的状态寄存器调整为linkdown状态;

等待第二预设时间段,将所述高速链路的状态寄存器调整为linkup状态;等待所述第二预设时间段,将所述高速链路的状态寄存器调整为所述linkdown状态,重复本步骤直至达到所述第一预设时间段的结束时间。

5.根据权利要求1所述的高速总线稳定性检测方法,其特征在于,所述根据所述系统日志判断所述高速链路是否存在故障的过程具体为:

根据预设故障关键字遍历所述系统日志,若所述系统日志中存在与所述预设故障关键字匹配的信息,则判定所述高速链路存在故障,否则,判定所述高速链路不存在故障。

6.根据权利要求2所述的高速总线稳定性检测方法,其特征在于,所述通过修改高速链路的状态寄存器控制所述高速链路在linkdown状态和linkup状态间循环交替切换的过程具体为:

通过脚本调整高速链路的状态寄存器,以控制所述高速链路在linkdown状态和linkup状态间循环交替切换;

相应的,所述获取系统日志的过程具体为:

通过所述脚本获取系统日志;

相应的,所述根据所述系统日志判断所述高速链路是否存在故障的过程具体为:

通过所述脚本根据所述系统日志判断所述高速链路是否存在故障。

7.根据权利要求1-6任意一项所述的高速总线稳定性检测方法,其特征在于,所述执行故障指示操作的过程具体为:

当所述高速链路存在故障,通过bmc生成低电平信号;

通过cpld接收所述低电平信号并输出预设频率的脉冲信号,以驱动led灯执行故障指示操作。

8.一种高速总线稳定性检测系统,其特征在于,包括:

调整模块,用于控制高速链路在linkdown状态和linkup状态间循环交替切换;

获取模块,用于当所述高速链路处于所述linkup状态,获取系统日志;

判断模块,用于根据所述系统日志判断所述高速链路是否存在故障;

报错模块,用于控制所述调整模块停止切换所述高速链路的状态,并执行故障指示操作。

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

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现如权利要求1-7任意一项所述的高速总线稳定性检测方法的步骤。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任意一项所述的高速总线稳定性检测方法的步骤。

技术总结
本申请公开了一种高速总线稳定性检测方法,包括:控制高速链路在linkdown状态和linkup状态间循环交替切换;当高速链路处于linkup状态,获取系统日志;根据系统日志判断高速链路是否存在故障;若是,停止切换高速链路的状态,并执行故障指示操作。本申请在产品开发阶段,测试高速链路在切换过程中的稳定性能够提前发现并纠正问题,避免在客户使用过程中出现异常,引发数据的丢失,提高了服务器的稳定性和可靠性,提高产品的竞争力。本申请还公开了一种高速总线稳定性检测系统、电子设备及计算机可读存储介质,具有以上有益效果。

技术研发人员:岳远斌
受保护的技术使用者:苏州浪潮智能科技有限公司
技术研发日:2020.02.14
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-27176.html

最新回复(0)