CN109032851B - 一种链路故障确定方法和装置 - Google Patents
一种链路故障确定方法和装置 Download PDFInfo
- Publication number
- CN109032851B CN109032851B CN201810673827.7A CN201810673827A CN109032851B CN 109032851 B CN109032851 B CN 109032851B CN 201810673827 A CN201810673827 A CN 201810673827A CN 109032851 B CN109032851 B CN 109032851B
- Authority
- CN
- China
- Prior art keywords
- port
- controller
- response time
- average response
- average
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000004044 response Effects 0.000 claims abstract description 264
- 238000012545 processing Methods 0.000 claims description 70
- 230000015556 catabolic process Effects 0.000 claims description 51
- 238000006731 degradation reaction Methods 0.000 claims description 51
- 230000000593 degrading effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000000875 corresponding effect Effects 0.000 description 106
- 230000015654 memory Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 239000000306 component Substances 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000003672 processing method Methods 0.000 description 4
- 230000001276 controlling effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1629—Error detection by comparing the output of redundant processing systems
- G06F11/1654—Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/2221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test input/output devices or peripheral units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种链路故障确定方法和装置,涉及计算机技术领域,能够准确的确定链路故障。具体方案为:第一控制器获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间;所述第一控制器接收所述第二控制器发送的所述第二端口的第二平均响应时间和第二平均服务时间;所述第一控制器根据所述第一平均响应时间、所述第一平均服务时间、所述第二平均响应时间和所述第二平均服务时间,确定所述第一端口对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障。本申请实施例提供的方案适合于确定链路故障。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种链路故障确定方法和装置。
背景技术
双端口硬盘是指包含两个端口的硬盘,双端口硬盘的两个端口中,每个端口分别连接一个控制器,构成两条后端链路,该双端口硬盘和与该双端口硬盘连接的两个控制器组成双控存储系统。双控存储系统不仅提升了存储系统的后端带宽,还提高了系统的可靠性,例如:当硬盘的一条后端链路发生故障时,可以通过另外一条链路继续访问硬盘数据。
现有技术提供的链路故障处理方法具体为:当与双端口硬盘中一个端口对应的后端链路发生故障时,与该端口连接的控制器下发到该链路的I/O访问可能会因收不到响应而超时,当I/O访问超时后,该控制器将超时的I/O指令转发至与双端口硬盘中另一个端口连接的控制器进行重试。
发明人发现,现有技术中的链路故障处理方法至少存在以下问题:链路故障实际可能导致I/O访问超时,也可能导致I/O访问产生较大延时,但未超时,现有技术中的链路故障处理方法,只对导致I/O访问超时的链路故障进行处理,对导致I/O访问产生较大延时,但未超时的故障无法识别,影响存储服务的稳定性。
发明内容
本申请实施例提供一种链路故障确定方法和装置,能够在链路故障导致I/O访问产生较大延时,但未超时的情况下,快速准确的确定出双端口硬盘的后端链路故障,减小对业务的影响。
为达到上述目的,本申请实施例采用如下技术方案:
本申请实施例的第一方面,提供一种链路故障确定方法,该方法包括:第一控制器获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间;该第一平均响应时间为第一端口在第一时间段内的平均响应时间,该第一平均服务时间为第一端口在第一时间段内的平均服务时间;其中,该双端口硬盘包括第一端口和第二端口,该第一端口连接第一控制器,该第二端口连接第二控制器;该第一控制器接收第二控制器发送的第二端口的第二平均响应时间和第二平均服务时间,该第二平均响应时间为第二端口在第一时间段内的平均响应时间,该第二平均服务时间为第二端口在第一时间段内的平均服务时间;该第一控制器根据第一平均响应时间、第一平均服务时间、第二平均响应时间和第二平均服务时间,确定第一端口对应的后端链路是否故障,和/或第二端口对应的后端链路是否故障。这样一来,能够在链路故障导致I/O访问产生较大延时,但未超时的情况下,根据第一端口和第二端口的平均响应时间和平均服务时间,确定双端口硬盘的两个端口的后端链路是否故障。
结合第一方面,在第一种可能的实现方式中,上述确定第一端口对应的后端链路是否故障,和/或第二端口对应的后端链路是否故障包括:若第一平均响应时间和第二平均响应时间中的较大值与较小值的比值大于或等于第一预设阈值,且第一端口的第一平均响应时间和第二端口的第二平均响应时间中的较大值大于第二预设阈值,且第一端口的第一平均服务时间和第二端口的第二平均服务时间中的较大值与较小值的比值小于或等于第三预设阈值,则确定第一端口和第二端口中的一个端口对应的后端链路故障;根据第一平均响应时间和第二平均响应时间,确定故障的后端链路。这样一来,能够确定出第一端口和第二端口中的一个端口对应的后端链路故障。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述根据第一平均响应时间和第二平均响应时间,确定故障的后端链路包括:若第一平均响应时间大于第二平均响应时间,确定第一端口对应的后端链路故障;若第二平均响应时间大于第一平均响应时间,确定第二端口对应的后端链路故障。这样一来,能够根据两个端口的平均响应时间确定出具体故障的后端链路。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述方法还包括:若第一端口对应的后端链路故障,对该第一端口对应的后端链路降级;第一控制器向第二控制器发送数据请求,用于获取第二端口的第三平均响应时间,该第三平均响应时间为第二端口在第二时间段内的平均响应时间;第一控制器接收第三平均响应时间;若该第三平均响应时间大于或等于第一平均响应时间的1/2,取消对第一端口对应的后端链路的降级。这样一来,能够在链路降级以后,第二端口处理I/O的时延与链路降级之前第一端口处理I/O时延相比没有太大改善时取消链路降级,排除误判。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述方法还包括:若第二端口对应的后端链路故障,第一控制器向第二控制器发送链路故障消息,以指示该第二控制器对第二端口对应的后端链路降级;第一控制器获取第一端口的第四平均响应时间,该第四平均响应时间为第一端口在第二时间段内的平均响应时间;若该第四平均响应时间大于或等于第二平均响应时间的1/2,第一控制器向第二控制器发送取消链路降级消息,以指示第二控制器取消对第二端口对应的后端链路的降级。这样一来,能够在链路降级以后,第一端口处理I/O的时延与链路降级之前第二端口处理I/O时延相比没有太大改善时,取消对第二端口对应的后端链路的降级,排除误判。
结合第一方面和上述可能的实现方式,在另一种可能的实现方式中,上述方法还包括:在第三时间段内,分别统计第一控制器对应的后端链路故障的数量和第二控制器对应的后端链路故障的数量,若第一控制器对应的后端链路故障的数量大于或者等于第四预设阈值,则确定第一控制器故障;若第二控制器对应的后端链路故障的数量大于或者等于第四预设阈值,则确定第二控制器故障。这样一来,能够在控制器对应的后端链路故障数量过多时,确定控制器故障。
本申请实施例的第二方面,提供一种链路故障确定方法,该方法包括:第二控制器获取双端口硬盘的第二端口的第二平均响应时间和第二平均服务时间,该第二平均响应时间为第二端口在第一时间段内的平均响应时间,该第二平均服务时间为第二端口在第一时间段内的平均服务时间;其中,该双端口硬盘包括第一端口和第二端口,第一端口连接第一控制器,第二端口连接所述第二控制器;第二控制器向第一控制器发送第二平均响应时间和第二平均服务时间,用于指示第一控制器确定第一端口对应的后端链路是否故障,和/或第二端口对应的后端链路是否故障。这样一来,能够在链路故障导致I/O访问产生较大延时,但未超时的情况下,根据第一端口和第二端口的平均响应时间和平均服务时间,确定双端口硬盘的两个端口的后端链路是否故障。
结合第二方面,在第一种可能的实现方式中,若第一端口对应的后端链路故障,上述方法还包括:第二控制器接收第一控制器发送的数据请求;第二控制器获取第二端口的第三平均响应时间,该第三平均响应时间为所述第二端口在第二时间段内的平均响应时间;第二控制器向第一控制器发送该第三平均响应时间,用于指示第一控制器根据第三平均响应时间确定是否取消对第一端口对应的后端链路的降级。这样一来,能够在链路降级以后,第二端口处理I/O的时延与链路降级之前第一端口处理I/O时延相比没有太大改善时取消链路降级,排除误判。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,若第二端口对应的后端链路故障,上述方法还包括:第二控制器接收第一控制器发送的链路故障消息;对第二端口对应的后端链路降级。这样一来,能够在第二端口对应的后端链路故障时,快速隔离慢链路,减小I/O时延的波动。
结合第二方面和上述可能的实现方式,在另一种可能的实现方式中,上述对第二端口对应的后端链路降级后,还包括:第二控制器接收第一控制器发送的取消链路降级消息;该取消链路降级消息为第一控制器确定第一端口的第四平均响应时间时间大于或等于第二平均响应时间的1/2之后发送的;该第四平均响应时间为所述第一端口在第二时间段内的平均响应时间;第二控制器取消对第二端口对应的后端链路的降级。这样一来,能够在链路降级以后,第一端口处理I/O的时延与链路降级之前第二端口处理I/O时延相比没有太大改善时,取消对第二端口对应的后端链路的降级,排除误判。
本申请实施例的第三方面,提供一种第一控制器,包括:获取单元,用于获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间;该第一平均响应时间为第一端口在第一时间段内的平均响应时间,该第一平均服务时间为第一端口在第一时间段内的平均服务时间;其中,该双端口硬盘包括第一端口和第二端口,第一端口连接第一控制器,第二端口连接第二控制器;接收单元,用于接收第二控制器发送的第二端口的第二平均响应时间和第二平均服务时间,该第二平均响应时间为第二端口在第一时间段内的平均响应时间,该第二平均服务时间为第二端口在第一时间段内的平均服务时间;处理单元,用于根据获取单元获取的第一平均响应时间和第一平均服务时间,以及接收单元接收的第二平均响应时间和第二平均服务时间,确定第一端口对应的后端链路是否故障,和/或第二端口对应的后端链路是否故障。
结合第三方面,在第一种可能的实现方式中,上述处理单元,还用于若获取单元获取的第一平均响应时间和接收单元接收的第二平均响应时间中的较大值与较小值的比值大于或等于第一预设阈值,且获取单元获取的第一平均响应时间和接收单元接收的第二平均响应时间中的较大值大于第二预设阈值,且获取单元获取的第一平均服务时间和接收单元接收的第二平均服务时间中的较大值与较小值的比值小于或等于第三预设阈值,则确定第一端口和第二端口中的一个端口对应的后端链路故障;处理单元,还用于根据获取单元获取的第一平均响应时间和接收单元接收的第二平均响应时间,确定故障的后端链路。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,还用于若获取单元获取的第一平均响应时间大于接收单元接收的第二平均响应时间,确定第一端口对应的后端链路故障;若接收单元接收的第二平均响应时间大于获取单元获取的第一平均响应时间,确定第二端口对应的后端链路故障。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述第一控制器还包括发送单元,处理单元,还用于若处理单元确定第一端口对应的后端链路故障,对第一端口对应的后端链路降级;该发送单元,用于向第二控制器发送数据请求,以获取第二端口的第三平均响应时间,该第三平均响应时间为第二端口在第二时间段内的平均响应时间;接收单元,还用于接收第三平均响应时间;处理单元,还用于若接收单元接收的第三平均响应时间大于或等于获取单元获取的第一平均响应时间的1/2,取消对第一端口对应的后端链路的降级。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述发送单元,还用于若处理单元确定第二端口对应的后端链路故障,向第二控制器发送链路故障消息,以指示第二控制器对第二端口对应的后端链路降级;获取单元,还用于获取第一端口的第四平均响应时间,该第四平均响应时间为第一端口在第二时间段内的平均响应时间;发送单元,还用于若获取单元获取的第四平均响应时间大于或等于接收单元接收的第二平均响应时间的1/2,向第二控制器发送取消链路降级消息,以指示第二控制器取消对所述第二端口对应的后端链路的降级。
结合第三方面和上述可能的实现方式,在另一种可能的实现方式中,上述处理单元,还用于在第三时间段内,分别统计第一控制器对应的后端链路故障的数量和第二控制器对应的后端链路故障的数量;若第一控制器对应的后端链路故障的数量大于或者等于第四预设阈值,处理单元确定第一控制器故障;若第二控制器对应的后端链路故障的数量大于或者等于第四预设阈值,处理单元确定第二控制器故障。
本申请实施例的第四方面,提供一种第二控制器,包括:获取单元,用于获取双端口硬盘的第二端口的第二平均响应时间和第二平均服务时间,该第二平均响应时间为第二端口在第一时间段内的平均响应时间,该第二平均服务时间为第二端口在第一时间段内的平均服务时间;其中,该双端口硬盘包括第一端口和第二端口,第一端口连接第一控制器,第二端口连接第二控制器;发送单元,用于向第一控制器发送获取单元获取的第二平均响应时间和第二平均服务时间,用于指示第一控制器确定第一端口对应的后端链路是否故障,和/或第二端口对应的后端链路是否故障。
结合第四方面,在第一种可能的实现方式中,上述第二控制器还包括接收单元,上述接收单元,用于若第一端口对应的后端链路故障,接收第一控制器发送的数据请求;获取单元,还用于获取第二端口的第三平均响应时间,该第三平均响应时间为第二端口在第二时间段内的平均响应时间;上述发送单元,还用于向第一控制器发送获取单元获取的第三平均响应时间,用于指示第一控制器根据所述第三平均响应时间确定是否取消对第一端口对应的后端链路的降级。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述第二控制器还包括:处理单元,上述接收单元,还用于若第二端口对应的后端链路故障,接收第一控制器发送的链路故障消息;上述处理单元,用于对第二端口对应的后端链路降级。
结合第四方面和上述可能的实现方式,在另一种可能的实现方式中,上述接收单元,还用于接收第一控制器发送的取消链路降级消息;该取消链路降级消息为第一控制器确定第一端口的第四平均响应时间时间大于或等于第二平均响应时间的1/2之后发送的;该第四平均响应时间为第一端口在第二时间段内的平均响应时间;处理单元,还用于取消对第二端口对应的后端链路的降级。
上述第三方面以及第三方面的各种实现方式的效果描述可以参考第一方面相应效果的描述,上述第四方面以及第四方面的各种实现方式的效果描述可以参考第二方面相应效果的描述,在此不再赘述。
本申请实施例的第五方面,提供了一种控制器,该控制器的结构中包括处理器和存储器,该存储器用于与处理器耦合,保存该控制器必要的程序指令和数据,该处理器用于执行存储器中存储的程序指令,使得该控制器执行上述方法。
本申请实施例的第六方面,提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序代码,当所述计算机程序代码在处理器上运行时,使得所述处理器执行第一方面或第一方面的可能的实现方式中任一所述的链路故障确定方法。
本申请实施例的第七方面,提供了一种计算机程序产品,该程序产品储存有上述处理器执行的计算机软件指令,该计算机软件指令包含用于执行上述方面所述方案的程序。
本申请实施例的第八方面,提供了一种装置,该装置以芯片的产品形态存在,该装置的结构中包括处理器和存储器,该存储器用于与处理器耦合,保存该装置必要的程序指令和数据,该处理器用于执行存储器中存储的程序指令,使得该装置执行上述方法中第一控制器和第二控制器的功能。
附图说明
图1为本申请实施例提供的一种双控存储系统的结构示意图;
图2为本申请实施例提供的一种具体的双控存储系统的结构示意图;
图3为本申请实施例提供的一种链路故障确定方法的流程图;
图4为本申请实施例提供的另一种链路故障确定方法的流程图;
图5为本申请实施例提供的另一种链路故障确定方法的流程图;
图6为本申请实施例提供的一种控制器的组成示意图;
图7为本申请实施例提供的另一种控制器的组成示意图;
图8为本申请实施例提供的另一种控制器的组成示意图;
图9为本申请实施例提供的另一种控制器的组成示意图。
具体实施方式
本申请实施例提供的一种链路故障确定方法可以应用于双控存储系统,该双控存储系统包含两个控制器和至少两个双端口硬盘,该至少两个双端口硬盘中每个双端口硬盘包括两个端口,记为第一端口和第二端口,该第一端口连接两个控制器中的任一控制器,该第二端口连接两个控制器中的另一控制器。本申请实施例提供的一种链路故障确定方法也可以应用于多控存储系统,该多控存储系统包含至少两个控制器和至少两个双端口硬盘,每个双端口硬盘包括两个端口,两个端口中的任一端口连接至少两个控制器中的任一控制器,两个端口中的另一端口连接至少两个控制器中除与第一端口连接的控制器以外的任一控制器。可理解的是,本申请实施例对于链路故障确定方法的具体应用的场景并不进行限制,在此仅以图1所示的场景进行示例性说明。
仅是示例性的,如图1所示,本申请实施例提供的一种双控存储系统包括两个控制器,记为控制器A和控制器B,该至少两个双端口硬盘中每个双端口硬盘包括两个端口,分别为A端口和B端口,每个双端口硬盘的A端口连接控制器A,每个双端口硬盘的B端口连接控制器B。
该控制器A和控制器B用于控制硬盘的I/O(输入/输出),协调硬盘与其他设备之间的数据传输。控制器A和B中一个控制器为主控制器,另一个控制器为辅控制器。示例性的,本申请实施例中主控制器可以为第一控制器,主要用于确定链路是否故障;辅控制器可以为第二控制器,主要用于向主控制器发送获取的数据以及接收主控制器的消息,其中,控制器A(主控制器)和控制器B(辅控制器)的信息同步。控制器A和控制器B之间可以通过有线或者无线的方式通信,本申请不进行限定。
示例性的,如图2所示的一种双控存储系统100,控制器A包括处理器101A、存储器102A、芯片103A和接口104A,该控制器B包括处理器101B、存储器102B、芯片103B和接口104B。
处理器:是控制器的核心部件,用于运行控制器上的应用程序。
本申请实施例中,处理器具体可以为中央处理器(central processing unit,CPU),通用处理器,数字信号处理器(digital signal processor,DSP),专用集成电路(applicatI/On-specific integrated circuit,ASIC),现场可编程门阵列(fieldprogrammable gate array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本申请实施例公开的内容所描述的各种示例性的逻辑方框,模块和电路;处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。可理解的是,图2仅为示例性结构图,对于双控存储系统中双端口硬盘的具体数量,本申请实施例并不进行限定。
存储器:可用于存储软件程序以及模块,处理器通过运行存储在存储器里的软件程序以及模块,从而执行服务器的各种功能应用以及数据处理。存储器可包含一个或多个计算机可读存储介质。存储器包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等,例如,可存储实现本申请实施例提供的链路故障确定方法的程序。存储数据区可存储控制器A和控制器B创建的数据等。例如,可存储执行链路故障确定方法的过程中,获取的第一平均响应时间、第一平均服务时间、第二平均响应时间和第二平均服务时间等。
本申请实施例中,存储器具体可以包括易失性存储器(volatile memory),例如动态随机存取存储器(Dynamic Random Access Memory,DRAM);随机存取存储器(random-access memory,RAM);该存储器也可以包括非易失性存储器(non-volatile memory),快闪存储器(flash memory),硬盘(hard fisk drive,HDD)或固态硬盘(solid-state drive,SSD);该存储器还可以包括上述种类的存储器的组合。
芯片:是内含集成电路的硅片,通过在芯片中嵌入软件,实现多功能和高性能,以及对多种协议、多种硬件和不同应用的支持。本申请实施例中,对芯片的具体规格和型号不进行限定,例如,芯片可以为PCle S/W。
接口,用于支持控制器与其它外部设备,例如硬盘、服务器、网络之间的通信。
实际应用中,双控存储系统100可以包括比图1所示更多或者更少的部件。图1所示结构不对本申请实施例提供的双控存储系统构成任何限制。
为了解决现有技术中的链路故障处理方法,只能识别导致I/O访问超时的链路故障,无法识别未超时但导致I/O访问产生较大延时的链路故障的问题,本申请实施例提供了一种链路故障确定方法。如图3所示,该方法可以包括S301-S305:
S301、第一控制器获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间。
其中,双端口硬盘为第一控制器和第二控制器连接的任一个双端口硬盘,将该双端口硬盘包括的两个端口分别记为第一端口和第二端口,该第一端口连接第一控制器,该第二端口连接第二控制器。
第一平均响应时间为第一端口在第一时间段内的平均响应时间,第一平均服务时间为第一端口在第一时间段内的平均服务时间,其中,平均响应时间为硬盘处理I/O的总时延与硬盘处理I/O总数的比值,平均服务时间为硬盘服务总时间与硬盘处理I/O总数的比值。
第一控制器获取第一端口的第一平均响应时间具体为,第一控制器获取第一端口处理I/O的总时延和第一端口处理I/O的总数,计算第一端口处理I/O的总时延和第一端口处理I/O的总数的比值,即为第一平均响应时间。
第一控制器获取第一端口的第一平均服务时间具体为,第一控制器获取第一端口服务总时间和第一端口处理I/O的总数,计算第一端口服务总时间和第一端口处理I/O的总数的比值,即为第一平均服务时间。
S302、第二控制器获取双端口硬盘的第二端口的第二平均响应时间和第二平均服务时间。
其中,第二平均响应时间为该第二端口在第一时间段内的平均响应时间,第二平均服务时间为该第二端口在第一时间段内的平均服务时间。
S303、第二控制器向第一控制器发送所述第二平均响应时间和所述第二平均服务时间。
示例性的,第二控制器可以直接将获取到的第二端口的第二平均响应时间和第二平均服务时间主动发送给第一控制器,也可以在接收到第一控制器发送的数据请求以后再将第二端口的第二平均响应时间和第二平均服务时间发送给第一控制器。
其中,第二控制器可以通过第一控制器和第二控制器之间的通信网络向第一控制器发送第二控制器获取到的第二端口的第二平均响应时间和第二平均服务时间。
S304、第一控制器接收所述第二控制器发送的所述第二端口的第二平均响应时间和第二平均服务时间。
第一控制器通过两个控制器之间的通信网络接收第二控制发送的第二端口的第二平均响应时间和第二平均服务时间。
S305、所述第一控制器根据所述第一平均响应时间、所述第一平均服务时间、所述第二平均响应时间和所述第二平均服务时间,确定所述第一端口对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障。
示例性的,确定第一端口对应的后端链路是否故障,和/或第二端口对应的后端链路是否故障的方法可以为:判断第一平均响应时间、第一平均服务时间、第二平均响应时间和第二平均服务时间是否满足预设条件。
示例性的,该预设条件为:第一平均响应时间和第二平均响应时间中的较大值与较小值的比值大于或等于第一预设阈值,且第一平均响应时间和第二平均响应时间中的较大值大于第二预设阈值,且第一平均服务时间和第二平均服务时间中的较大值与较小值的比值小于或等于第三预设阈值时,确定双端口硬盘的第一端口和第二端口中的一个端口对应的后端链路故障。
可以理解的是,上述预设条件包括以下三个条件,分别为:
第一条件:Major_delay/Minor_delay>=X1;
第二条件:Major_delay>X2;
第三条件:Major_svctm/Minor_svctm<=X3;
其中,Major_delay是第一平均响应时间和第二平均响应时间中的较大值,Minor_delay是第一平均响应时间和第二平均响应时间中的较小值,Major_svctm是第一平均服务时间和第二平均服务时间中的较大值,Minor_svctm是第一平均服务时间和第二平均服务时间中的较小值。上述X1、X2、X3分别为第一预设阈值、第二预设阈值和第三预设阈值,实际场景中可以根据硬盘类型和系统规格确定第一预设阈值、第二预设阈值和第三预设阈值的具体参数。
示例性的,本申请实施例中的第一预设阈值和第三预设阈值可以根据经验值确定,第二预设阈值可以根据硬盘类型时延标称值的50倍确定,第三预设阈值可以为经验值2,该第三预设阈值可以不随硬盘类型改变。例如,当硬盘为机械硬盘时,该第一预设阈值可以设置为20,第二预设阈值可以设置为5s,第三预设阈值可以设置为2。本申请实施例对于第一预设阈值、第二预设阈值和第三预设阈值的具体取值并不进行限定,在此仅是示例性说明。
需要说明的是,本申请实施例若同时满足上述三个条件,确定第一端口和第二端口中的一个端口对应的后端链路故障。示例性的,若不满足上述三个条件中的任意一个,确定双端口硬盘的后端链路未发生故障;若不满足上述条件中的至少两个,确定双端口硬盘的后端链路未发生故障。
本申请实施例在确定第一端口对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障时,对于上述三个条件的判断顺序并不进行限定,在三个条件同时满足时,可以确定第一端口和第二端口中的一个端口对应的后端链路故障。
进一步的,可以根据第一端口的第一平均响应时间和第二端口的第二平均响应时间,确定故障的后端链路。
示例性的,根据第一端口的第一平均响应时间和第二端口的第二平均响应时间,确定故障的后端链路包括:判断第一平均响应时间和第二平均响应时间是否满足第四条件。
该第四条件可以为第一平均响应时间是否大于第二平均响应时间,若满足,则确定第一端口对应的后端链路故障;若不满足,则确定第一端口对应的后端链路并未发生故障。或者,第四条件可以为第一平均响应时间是否小于第二平均响应时间,若满足,则确定第二端口对应的后端链路故障;若不满足,则确定第二端口对应的后端链路并未发生故障。
示例性的,在确定第一端口和第二端口中的一个端口对应的后端链路故障后,若第一平均响应时间大于第二平均响应时间,确定第一端口对应的后端链路故障;若第二平均响应时间大于第一平均响应时间,确定第二端口对应的后端链路故障。
需要说明的是,本申请在确定故障的后端链路时,可以先判断是否满足第一条件、第二条件和第三条件,三个条件同时满足时确定第一端口和第二端口中的一个端口对应的后端链路故障,再判断第四条件,确定具体故障的后端链路;也可以判断是否同时满足第一条件、第二条件、第三条件和第四条件,若同时满足四个条件,也可以确定出故障的后端链路。可以理解的是,本申请实施例在确定故障的后端链路时,对于上述四个条件的判断顺序并不进行限制,同时满足上述条件即可。
本申请实施例提供的一种链路故障确定方法,通过获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间,接收第二控制器发送的第二端口的第二平均响应时间和第二平均服务时间,并根据第一平均响应时间、第一平均服务时间、第二平均响应时间和第二平均服务时间,确定故障的后端链路。本申请实施例中的链路故障确定方法,能够在链路故障导致I/O访问产生较大延时,但未超时的情况下,快速准确的确定出双端口硬盘的后端故障链路。
本申请还提供一实施例,参见图4,该方法包括S306A-S312A;或S306B-S312B。
S306A、若所述第一端口对应的后端链路故障,所述第一控制器对所述第一端口对应的后端链路降级。
示例性的,第一控制器对第一端口对应的后端链路降级可以包括,第一控制器将第一控制器接收到的I/O访问转发给第二控制器,以指示第二控制器的芯片将该I/O访问下发至第二端口。
S307A、所述第一控制器向所述第二控制器发送数据请求。
示例性的,第一控制器对第一端口对应的后端链路降级后,第一控制器向第二控制器发送数据请求,请求获取链路降级后第二端口的平均响应时间。
S308A、所述第二控制器接收所述第一控制器发送的数据请求。
S309A、所述第二控制器获取所述第二端口的第三平均响应时间。
该第三平均响应时间为第二端口在第二时间段内的平均响应时间。其中,该第二时间段的起始时间在第一端口对应的后端链路降级之后,本申请对于第二时间段的时长不进行限定,例如,第二时间段的时长可以与第一时间段的时长相等。
S310A、所述第二控制器向所述第一控制器发送所述第三平均响应时间。
S311A、所述第一控制器接收所述第三平均响应时间。
S312A、若所述第三平均响应时间大于或等于所述第一平均响应时间的1/2,所述第一控制器取消对所述第一端口对应的后端链路的降级。
示例性的,若第三平均响应时间大于或等于第一平均响应时间的1/2,说明链路降级以后第二端口处理I/O的时延与链路降级之前第一端口处理I/O时延相比没有太大改善,可以认为是双端业务模型差异导致的时延差异,第一端口对应的后端链路并未发生故障,第一控制器取消对第一端口对应的后端链路的降级,排除误判。
若第三平均响应时间小于第一平均响应时间的1/2,说明链路降级以后的第二端口处理I/O的时延与链路降级之前第一端口处理I/O时延相比得到了很大的改善,提高了系统的可靠性。
S306B、若所述第二端口对应的后端链路故障,所述第一控制器向所述第二控制器发送链路故障消息。
示例性的,第一控制器确定第二端口对应的后端链路故障以后,发送链路故障消息通知第二控制器,与该第二控制器连接的第二端口对应的后端链路故障,以指示第二控制器对该第二端口的后端链路降级。
S307B、所述第二控制器接收所述第一控制器发送的链路故障消息。
S308B、所述第二控制器对所述第二端口对应的后端链路降级。
示例性的,第二控制器对第二端口对应的后端链路降级可以包括,第二控制器将第二控制器接收到的I/O访问转发给第一控制器,以指示第一控制器的芯片将该I/O访问下发至第一端口。
S309B、所述第一控制器获取所述第一端口在第二时间段内的第四平均响应时间。
该第四平均响应时间为第一端口在第二时间段内的平均响应时间。其中,该第二时间段的起始时间在第二端口对应的后端链路降级之后,本申请对于第二时间段的时长不进行限定,例如,第二时间段的时长可以与第一时间段的时长相等。
S310B、若所述第四平均响应时间大于或等于所述第二平均响应时间的1/2,所述第一控制器向所述第二控制器发送取消链路降级消息。
示例性的,若第四平均响应时间大于或等于第二平均响应时间的1/2,说明链路降级以后第一端口处理I/O的时延与链路降级之前第二端口处理I/O时延相比没有太大改善,可以认为是双端业务模型差异导致的时延差异,第一控制器向第二控制器发送取消链路降级消息,以指示第二控制器取消对第二端口对应的后端链路的降级,排除误判。
若第四平均响应时间小于第二平均响应时间的1/2,说明链路降级以后的第一端口处理I/O的时延与链路降级之前第二端口处理I/O时延相比得到了很大的改善,提高了系统的可靠性。
S311B、所述第二控制器接收第一控制器发送的取消链路降级消息。
S312B、所述第二控制器取消对所述第二端口对应的后端链路的降级。
示例性的,第二控制器接收第一控制器发送的取消链路降级消息后,取消对第二端口对应的后端链路的降级,排除误判。
本申请实施例提供的一种链路故障确定方法,通过获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间,接收第二控制器发送的第二端口的第二平均响应时间和第二平均服务时间,并根据第一平均响应时间、第一平均服务时间、第二平均响应时间和第二平均服务时间,确定故障的后端链路,对故障的后端链路进行降级处理,并进一步排除误判,以提高链路故障确定方法的准确性。本申请实施例中的链路故障确定方法,能够在链路故障导致I/O访问产生较大延时,但未超时的情况下,快速准确的确定出双端口硬盘的后端链路故障,并对故障链路进行修复,减小对业务的影响。
本申请提供又一实施例,参见图5,该方法还包括S313。
S313、在第三时间段内,第一控制器分别统计第一控制器对应的后端链路故障的数量和第二控制器对应的后端链路故障的数量,若所述第一控制器对应的后端链路故障的数量大于或者等于第四预设阈值,则确定所述第一控制器故障;若所述第二控制器对应的后端链路故障的数量大于或者等于第四预设阈值,则确定所述第二控制器故障。
示例性的,如图1所示,控制器A连接多个双端口硬盘的A端口,控制器B连接多个双端口硬盘的B端口,控制器A确定与控制器A连接的多个双端口硬盘中A端口对应的后端链路故障的个数、与控制器B连接的B端口对应的后端链路故障的个数,如果控制器A对应的后端链路故障数量过多,确定控制器A故障,如果控制器B对应的后端链路故障数量过多,确定控制器B故障。本申请对于第一控制器和第二控制器故障的原因不进行限定,例如,可以是控制器的芯片异常导致与控制器连接的多个后端链路故障。
本申请实施例提供的一种链路故障确定方法,通过获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间,接收第二控制器发送的第二端口的第二平均响应时间和第二平均服务时间,并根据第一平均响应时间、第一平均服务时间、第二平均响应时间和第二平均服务时间,确定故障的后端链路并进行修复,进一步在同一控制器对应的后端链路故障数量过大时,确定控制器故障。本申请实施例中的链路故障确定方法,能够在链路故障导致I/O访问产生较大延时,但未超时的情况下,快速准确的确定出双端口硬盘的后端链路故障,并对故障链路进行修复,减小对业务的影响。
上述主要从方法步骤的角度对本发明实施例提供的方案进行了介绍。可以理解的是,控制器为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件和计算机软件的结合形式来实现。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对控制器进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,本申请实施例可以包括确定链路故障的装置,该装置可以为控制器。图6示出了上述实施例中所涉及的控制器600的一种可能的结构示意图,控制器600包括:获取单元601,接收单元602,处理单元603,发送单元604。获取单元601用于支持控制器执行图3中的步骤S301,或图4中步骤S309B;接收单元602用于支持控制器执行图3中的步骤S304,或图4中的步骤S311A;处理单元603用于支持控制器执行图3中的步骤S305,或图4中的步骤S306A和S312A、或图5中的步骤S313;发送单元604用于支持控制器执行图4中的步骤S307A、S306B和S310B。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
图7示出了上述实施例中所涉及的控制器700的另一种可能的结构示意图,控制器700包括:获取单元701,发送单元702,接收单元703,处理单元704。获取单元701用于支持控制器执行图3中的步骤S302,或图4中的步骤S309A;发送单元702用于支持控制器执行图3中的步骤S303,或图4中的步骤S310A;接收单元703用于支持控制器执行图4中的步骤S308A、S307B和S311B;处理单元704用于支持控制器执行图4中的步骤S308B和S312B。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在采用集成的单元的情况下,图8示出了上述实施例中所涉及的控制器的一种可能的结构示意图。该控制器800包括:存储模块801和处理模块802。处理模块802用于控制器的动作进行控制管理,例如,处理模块802用于支持控制器800执行图3中的步骤S301、S304、S305,或图4中的步骤S306A、S306B、S307A、S309B、S310B、S311A、S312A,或图5中的步骤S313,和/或用于本文所描述的技术的其它过程。存储模块801,用于存储控制器的程序代码和数据。当上述存储模块801为存储器,处理模块802为处理器时,图8所示的控制器的具体结构可以为上述图2所示的控制器,其中,上述图2涉及的各部件的所有相关内容的描述均可以援引到图8对应部件的功能描述,在此不再赘述。
在采用集成的单元的情况下,图9示出了上述实施例中所涉及的控制器的一种可能的结构示意图。该控制器900包括:存储模块901和处理模块902。处理模块902用于对控制器900的动作进行控制管理,例如,处理模块902用于支持控制器900执行图3中的步骤S302、S303,或图4中的步骤S307B、S308A、S308B、S309A、S310A、S311B、S312B,和/或用于本文所描述的技术的其它过程。存储模块901,用于存储控制器的程序代码和数据。当上述存储模块901为存储器,处理模块902为处理器时,图9所示的控制器的具体结构可以为上述图2所示的控制器,其中,上述图2涉及的各部件的所有相关内容的描述均可以援引到图9对应部件的功能描述,在此不再赘述。
结合本申请公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(Random Access Memory,RAM)、闪存、可擦除可编程只读存储器(Erasable Programmable ROM,EPROM)、电可擦可编程只读存储器(ElectricallyEPROM,EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (21)
1.一种链路故障确定方法,其特征在于,所述方法包括:
第一控制器获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间;所述第一平均响应时间为所述第一端口在第一时间段内的平均响应时间,所述第一平均服务时间为所述第一端口在所述第一时间段内的平均服务时间;其中,所述双端口硬盘包括所述第一端口和第二端口,所述第一端口连接所述第一控制器,所述第二端口连接第二控制器;
所述第一控制器接收所述第二控制器发送的所述第二端口的第二平均响应时间和第二平均服务时间,所述第二平均响应时间为所述第二端口在所述第一时间段内的平均响应时间,所述第二平均服务时间为所述第二端口在所述第一时间段内的平均服务时间;
所述第一控制器根据所述第一平均响应时间、所述第一平均服务时间、所述第二平均响应时间和所述第二平均服务时间,确定所述第一端口对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障。
2.根据权利要求1所述的链路故障确定方法,其特征在于,所述确定所述第一端口对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障包括:
若所述第一平均响应时间和所述第二平均响应时间中的较大值与较小值的比值大于或等于第一预设阈值,且所述第一端口的第一平均响应时间和所述第二端口的第二平均响应时间中的较大值大于第二预设阈值,且所述第一端口的第一平均服务时间和所述第二端口的第二平均服务时间中的较大值与较小值的比值小于或等于第三预设阈值,则确定所述第一端口和第二端口中的一个端口对应的后端链路故障;
根据所述第一平均响应时间和所述第二平均响应时间,确定故障的后端链路。
3.根据权利要求2所述的链路故障确定方法,其特征在于,所述根据所述第一平均响应时间和所述第二平均响应时间,确定故障的后端链路包括:
若所述第一平均响应时间大于所述第二平均响应时间,确定所述第一端口对应的后端链路故障;
若所述第二平均响应时间大于所述第一平均响应时间,确定所述第二端口对应的后端链路故障。
4.根据权利要求1-3任一项所述的链路故障确定方法,其特征在于,所述方法还包括:
若所述第一端口对应的后端链路故障,对所述第一端口对应的后端链路降级;
所述第一控制器向所述第二控制器发送数据请求,用于获取所述第二端口的第三平均响应时间,所述第三平均响应时间为所述第二端口在第二时间段内的平均响应时间;
所述第一控制器接收所述第三平均响应时间;
若所述第三平均响应时间大于或等于所述第一平均响应时间的1/2,取消对所述第一端口对应的后端链路的降级。
5.根据权利要求1-3任一项所述的链路故障确定方法,其特征在于,所述方法还包括:
若所述第二端口对应的后端链路故障,所述第一控制器向所述第二控制器发送链路故障消息,以指示所述第二控制器对所述第二端口对应的后端链路降级;
所述第一控制器获取所述第一端口的第四平均响应时间,所述第四平均响应时间为所述第一端口在第二时间段内的平均响应时间;
若所述第四平均响应时间大于或等于所述第二平均响应时间的1/2,所述第一控制器向所述第二控制器发送取消链路降级消息,以指示所述第二控制器取消对所述第二端口对应的后端链路的降级。
6.根据权利要求1-3任一项所述的链路故障确定方法,其特征在于,所述方法还包括,
在第三时间段内,分别统计所述第一控制器对应的后端链路故障的数量和所述第二控制器对应的后端链路故障的数量,若所述第一控制器对应的后端链路故障的数量大于或者等于第四预设阈值,则确定所述第一控制器故障;
若所述第二控制器对应的后端链路故障的数量大于或者等于第四预设阈值,则确定所述第二控制器故障。
7.一种链路故障确定方法,其特征在于,所述方法包括:
第二控制器获取双端口硬盘的第二端口的第二平均响应时间和第二平均服务时间,所述第二平均响应时间为所述第二端口在第一时间段内的平均响应时间,所述第二平均服务时间为所述第二端口在所述第一时间段内的平均服务时间;其中,所述双端口硬盘包括第一端口和所述第二端口,所述第一端口连接第一控制器,所述第二端口连接所述第二控制器;
所述第二控制器向所述第一控制器发送所述第二平均响应时间和所述第二平均服务时间,用于指示所述第一控制器根据所述第一端口的第一平均响应时间、所述第一端口的第一平均服务时间、所述第二平均响应时间和所述第二平均服务时间,确定所述第一端口对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障;
所述第一平均响应时间为所述第一端口在第一时间段内的平均响应时间,所述第一平均服务时间为所述第一端口在所述第一时间段内的平均服务时间。
8.根据权利要求7所述的链路故障确定方法,其特征在于,若所述第一端口对应的后端链路故障,所述方法还包括:
所述第二控制器接收所述第一控制器发送的数据请求;
所述第二控制器获取所述第二端口的第三平均响应时间,所述第三平均响应时间为所述第二端口在第二时间段内的平均响应时间;
所述第二控制器向所述第一控制器发送所述第三平均响应时间,用于指示所述第一控制器根据所述第三平均响应时间确定是否取消对所述第一端口对应的后端链路的降级。
9.根据权利要求7所述的链路故障确定方法,其特征在于,若所述第二端口对应的后端链路故障,所述方法还包括:
所述第二控制器接收所述第一控制器发送的链路故障消息;
对所述第二端口对应的后端链路降级。
10.根据权利要求9所述的链路故障确定方法,其特征在于,所述对所述第二端口对应的后端链路降级后,所述方法还包括:
所述第二控制器接收所述第一控制器发送的取消链路降级消息;所述取消链路降级消息为所述第一控制器确定所述第一端口的第四平均响应时间大于或等于所述第二平均响应时间的1/2之后发送的;所述第四平均响应时间为所述第一端口在第二时间段内的平均响应时间;
所述第二控制器取消对所述第二端口对应的后端链路的降级。
11.一种第一控制器,应用于链路故障装置,其特征在于,包括:
获取单元,用于获取双端口硬盘的第一端口的第一平均响应时间和第一平均服务时间;所述第一平均响应时间为所述第一端口在第一时间段内的平均响应时间,所述第一平均服务时间为所述第一端口在所述第一时间段内的平均服务时间;其中,所述双端口硬盘包括所述第一端口和第二端口,所述第一端口连接所述第一控制器,所述第二端口连接第二控制器;
接收单元,用于接收所述第二控制器发送的所述第二端口的第二平均响应时间和第二平均服务时间,所述第二平均响应时间为所述第二端口在所述第一时间段内的平均响应时间,所述第二平均服务时间为所述第二端口在所述第一时间段内的平均服务时间;
处理单元,用于根据获取单元获取的所述第一平均响应时间和所述第一平均服务时间,以及接收单元接收的所述第二平均响应时间和所述第二平均服务时间,确定所述第一端口对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障。
12.根据权利要求11所述的第一控制器,其特征在于,
所述处理单元,还用于若所述获取单元获取的所述第一平均响应时间和所述接收单元接收的所述第二平均响应时间中的较大值与较小值的比值大于或等于第一预设阈值,且所述获取单元获取的所述第一平均响应时间和所述接收单元接收的所述第二平均响应时间中的较大值大于第二预设阈值,且所述获取单元获取的所述第一平均服务时间和所述接收单元接收的所述第二平均服务时间中的较大值与较小值的比值小于或等于第三预设阈值,则确定所述第一端口和第二端口中的一个端口对应的后端链路故障;
所述处理单元,还用于根据所述获取单元获取的所述第一平均响应时间和所述接收单元接收的所述第二平均响应时间,确定故障的后端链路。
13.根据权利要求12所述的第一控制器,其特征在于,
所述处理单元,还用于若所述获取单元获取的所述第一平均响应时间大于所述接收单元接收的所述第二平均响应时间,确定所述第一端口对应的后端链路故障;若所述接收单元接收的所述第二平均响应时间大于所述获取单元获取的所述第一平均响应时间,确定所述第二端口对应的后端链路故障。
14.根据权利要求11-13任一项所述的第一控制器,其特征在于,所述第一控制器还包括发送单元,
所述处理单元,还用于若所述第一端口对应的后端链路故障,对所述第一端口对应的后端链路降级;
所述发送单元,用于向所述第二控制器发送数据请求,以获取所述第二端口的第三平均响应时间,所述第三平均响应时间为所述第二端口在第二时间段内的平均响应时间;
所述接收单元,还用于接收所述第三平均响应时间;
所述处理单元,还用于若所述接收单元接收的所述第三平均响应时间大于或等于所述获取单元获取的所述第一平均响应时间的1/2,取消对所述第一端口对应的后端链路的降级。
15.根据权利要求11-13任一项所述的第一控制器,其特征在于,
发送单元,还用于若所述处理单元确定所述第二端口对应的后端链路故障,向所述第二控制器发送链路故障消息,以指示所述第二控制器对所述第二端口对应的后端链路降级;
所述获取单元,还用于获取所述第一端口的第四平均响应时间,所述第四平均响应时间为所述第一端口在第二时间段内的平均响应时间;
所述发送单元,还用于若所述获取单元获取的所述第四平均响应时间大于或等于所述接收单元接收的第二平均响应时间的1/2,向所述第二控制器发送取消链路降级消息,以指示所述第二控制器取消对所述第二端口对应的后端链路的降级。
16.根据权利要求11-13任一项所述的第一控制器,其特征在于,
所述处理单元,还用于在第三时间段内,分别统计所述第一控制器对应的后端链路故障的数量和所述第二控制器对应的后端链路故障的数量;若所述第一控制器对应的后端链路故障的数量大于或者等于第四预设阈值,所述处理单元确定所述第一控制器故障;若所述第二控制器对应的后端链路故障的数量大于或者等于第四预设阈值,所述处理单元确定所述第二控制器故障。
17.一种第二控制器,其特征在于,包括:
获取单元,用于获取双端口硬盘的第二端口的第二平均响应时间和第二平均服务时间,所述第二平均响应时间为所述第二端口在第一时间段内的平均响应时间,所述第二平均服务时间为所述第二端口在所述第一时间段内的平均服务时间;其中,所述双端口硬盘包括第一端口和所述第二端口,所述第一端口连接第一控制器,所述第二端口连接所述第二控制器;
发送单元,用于向第一控制器发送所述获取单元获取的所述第二平均响应时间和所述第二平均服务时间,用于指示所述第一控制器根据所述第一端口的第一平均响应时间、所述第一端口的第一平均服务时间、所述第二平均响应时间和所述第二平均服务时间,确定所述第一端口的对应的后端链路是否故障,和/或所述第二端口对应的后端链路是否故障;
所述第一平均响应时间为所述第一端口在第一时间段内的平均响应时间,所述第一平均服务时间为所述第一端口在所述第一时间段内的平均服务时间。
18.根据权利要求17所述的第二控制器,其特征在于,所述第二控制器还包括接收单元,
所述接收单元,用于若所述第一端口对应的后端链路故障,接收所述第一控制器发送的数据请求;
所述获取单元,还用于获取所述第二端口的第三平均响应时间,所述第三平均响应时间为所述第二端口在第二时间段内的平均响应时间;
所述发送单元,还用于向所述第一控制器发送所述获取单元获取的所述第三平均响应时间,用于指示所述第一控制器根据所述第三平均响应时间确定是否取消对所述第一端口对应的后端链路的降级。
19.根据权利要求17所述的第二控制器,其特征在于,所述第二控制器还包括:处理单元,
接收单元,还用于若所述第二端口对应的后端链路故障,接收所述第一控制器发送的链路故障消息;
所述处理单元,用于对所述第二端口对应的后端链路降级。
20.根据权利要求19所述的第二控制器,其特征在于,
所述接收单元,还用于接收所述第一控制器发送的取消链路降级消息;所述取消链路降级消息为所述第一控制器确定所述第一端口的第四平均响应时间大于或等于所述第二平均响应时间的1/2之后发送的;所述第四平均响应时间为所述第一端口在第二时间段内的平均响应时间;
所述处理单元,还用于取消对所述第二端口对应的后端链路的降级。
21.一种计算机存储介质,所述计算机存储介质中存储有计算机程序代码,其特征在于,当所述计算机程序代码在处理器上运行时,使得所述处理器执行如权利要求1-6或7-10中任意一项所述的链路故障确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810673827.7A CN109032851B (zh) | 2018-06-26 | 2018-06-26 | 一种链路故障确定方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810673827.7A CN109032851B (zh) | 2018-06-26 | 2018-06-26 | 一种链路故障确定方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109032851A CN109032851A (zh) | 2018-12-18 |
CN109032851B true CN109032851B (zh) | 2021-01-12 |
Family
ID=64611378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810673827.7A Active CN109032851B (zh) | 2018-06-26 | 2018-06-26 | 一种链路故障确定方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109032851B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810062A (zh) * | 2014-03-05 | 2014-05-21 | 华为技术有限公司 | 慢盘检测方法和装置 |
CN105138292A (zh) * | 2015-09-07 | 2015-12-09 | 四川神琥科技有限公司 | 磁盘数据读取方法 |
CN106557389A (zh) * | 2015-09-29 | 2017-04-05 | 成都华为技术有限公司 | 一种慢盘检测方法和装置 |
CN107817953A (zh) * | 2017-11-20 | 2018-03-20 | 杭州宏杉科技股份有限公司 | 一种双控存储设备访问硬盘的方法及装置 |
-
2018
- 2018-06-26 CN CN201810673827.7A patent/CN109032851B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810062A (zh) * | 2014-03-05 | 2014-05-21 | 华为技术有限公司 | 慢盘检测方法和装置 |
CN105138292A (zh) * | 2015-09-07 | 2015-12-09 | 四川神琥科技有限公司 | 磁盘数据读取方法 |
CN106557389A (zh) * | 2015-09-29 | 2017-04-05 | 成都华为技术有限公司 | 一种慢盘检测方法和装置 |
CN107817953A (zh) * | 2017-11-20 | 2018-03-20 | 杭州宏杉科技股份有限公司 | 一种双控存储设备访问硬盘的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109032851A (zh) | 2018-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210200681A1 (en) | Data storage method and apparatus, and server | |
US9143416B2 (en) | Expander device | |
CN113472607B (zh) | 应用程序网络环境检测方法、装置、设备及存储介质 | |
US20140337022A1 (en) | System and method for load balancing in a speech recognition system | |
US10789114B2 (en) | Multiple automotive multi-core processor error monitoring device and method | |
US11843477B2 (en) | Anomaly determination method, anomaly determination device, and recording medium | |
US9323596B2 (en) | Network apparatus and method of monitoring processor | |
CN108683528B (zh) | 一种数据传输方法、中心服务器、服务器及数据传输系统 | |
US11231983B2 (en) | Fault tolerance processing method, apparatus, and server | |
EP4036732A1 (en) | Verification data calculation method and device | |
WO2012169456A1 (ja) | 車両制御装置、車両制御システム | |
CN104270287A (zh) | 一种报文乱序检测方法及装置 | |
CN109032851B (zh) | 一种链路故障确定方法和装置 | |
CN108235800B (zh) | 一种网络故障探测方法、控制中心设备及计算机存储介质 | |
US20160080111A1 (en) | Receiver, transmitter and data transmission system | |
JP2009176232A (ja) | 起動装置、起動方法、及び、起動プログラム | |
US20200034058A1 (en) | Method and apparatus for dynamic flow control in distributed storage systems | |
CN114880254A (zh) | 一种表项读取方法、装置及网络设备 | |
US9952920B2 (en) | Information processing device, information processing method, and program | |
US10218468B2 (en) | USB device, data transfer system and data transfer method | |
US10606232B2 (en) | Controller system and control method | |
CN112751778A (zh) | 数据传输控制方法及装置,拥塞检测及装置,服务器系统 | |
CN108304214B (zh) | 一种立即数的完整性的校验方法及装置 | |
CN114430362B (zh) | 链路切换的方法、fpga芯片、设备及存储介质 | |
CN114064362B (zh) | 用于分布式存储中的数据恢复方法、系统及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |