数据传输路径的故障检测方法、装置及服务器的制造方法

文档序号:9931122阅读:449来源:国知局
数据传输路径的故障检测方法、装置及服务器的制造方法
【技术领域】
[0001]本发明涉及网络技术领域,特别涉及一种数据传输路径的故障检测方法、装置及服务器。
【背景技术】
[0002]随着网络技术的发展,越来越多的用户使用应用程序来实现相应功能,随之产生的数据量也不断增多,为了应对数据量的与日倶增,运营商通常为应用服务器配置为之提供数据服务的存储服务器,以便存储应用程序的数据。对于应用服务器和存储服务器来说,为了保证数据传输的及时性和稳定性,应用服务器与存储服务器之间有多条用于数据传输的数据传输路径,当其中一条数据传输路径出现故障时,可以切换至其他可用的数据传输路径进行数据传输。
[0003]在现有的数据传输过程中,可以对每条数据传输路径上所传输的数据包的发送进行计时,当接收到存储服务器返回的响应消息时,并计算往返时间,当往返时间大于参考时间值时,确定该路径出现故障。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
[0005]如图1所示,由于数据传输过程中,在应用服务器侧会依次经过多路径层、iSCSI (Internet Small Computer System Interface,小型计算机系统接口)层、TCP/IP (Transmiss1n Control Protocol/Internet Protocol,传输控制协议 / 因特网互联协议)层以及网卡层的处理,当数据传输到存储服务器侧时,会依次经过网卡层、TCP/IP层、iSCSI层、控制器层以及磁盘层的处理,才会最终将数据存储在存储服务器的磁盘中。然而,应用服务器的多路径层、iSCSI层以及存储服务器的iSCSI层、控制器层、磁盘层对数据的处理都会带来额外的时间开销。
[0006]当数据传输路径上承载的数据流较大时,数据传输时间会变长,从而也为数据传输中带来额外的时间开销。
[0007]在数据传输路径未发生故障的情况下,以上两个方面都可能会使得所求得的往返时间比参考时间值大,也即是,即使往返时间大于参考时间值,该数据传输路径也不一定是出现了故障,进而导致现有技术对数据传输路径是否出现故障的检测不准确。

【发明内容】

[0008]为了解决现有技术的问题,本发明实施例提供了一种数据传输路径的故障检测方法、装置及服务器。所述技术方案如下:
[0009]第一方面,提供了一种数据传输路径的故障检测方法,所述方法包括:
[0010]每隔第一预设时长,根据第一数据传输路径,向所述第一数据传输路径所对应的第一存储服务器发送控制报文协议ICMP数据包,使得所述第一存储服务器在接收到所述ICMP数据包时,返回响应消息;
[0011]根据每次在所述第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长,确定数据传输的基准时长;
[0012]每隔第二预设时长,根据第二数据传输路径,向所述第二数据传输路径所对应的第二存储服务器发送ICMP数据包,使得所述第二存储服务器在接收到所述ICMP数据包时,返回响应消息;
[0013]根据每次在所述第二数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长,确定第二数据传输路径上的平均传输时长;
[0014]根据所述平均传输时长与所述基准时长,检测所述第二数据传输路径是否发生故障。
[0015]结合第一方面,在第一方面的第一种可能实现方式中,所述根据所述平均传输时长与所述基准时长,检测所述第二数据传输路径是否发生故障,包括:
[0016]当所述平均传输时长与所述基准时长之间的差值大于预设阈值时,确定所述第二数据传输路径发生故障。
[0017]结合第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述在确定所述第二数据传输路径发生故障之后,所述方法还包括:
[0018]将所述第二数据传输路径的属性设置为亚健康。
[0019]结合第一方面,在第一方面的第三种可能实现方式中,所述每隔第二预设时长,根据第二数据传输路径,向所述第二数据传输路径所对应的第二存储服务器发送ICMP数据包包括:
[0020]每隔第二预设时长,根据小型计算机系统接口 iSCSI会话信息,判断是否有新增的数据传输路径;
[0021]当所述iSCSI会话信息中包括新增的会话信息时,确定有新增的数据传输路径;
[0022]将所述新增的数据传输路径作为第二数据传输路径,执行所述根据第二数据传输路径,向所述第二数据传输路径所对应的第二存储服务器发送控制报文协议ICMP数据包的步骤。
[0023]结合第一方面,在第一方面的第四种可能实现方式中,所述根据每次在所述第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长,确定数据传输的基准时长包括:
[0024]获取所述每次在所述第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长;计算每次发送对应的间隔时长的平均值,并将所述平均值作为所述基准时长;
[0025]或者,根据每次发送ICMP数据包时,所述第一传输路径上数据流的负载量,计算每次发送对应的间隔时长的权重,根据每次发送对应的间隔时长和权重进行计算,得到基准时长。
[0026]结合上述任一可能的实现方式,在第一方面的第五种可能实现方式中,在所述每隔第二预设时长,根据第二数据传输路径,向所述第二数据传输路径所对应的第二存储服务器发送ICMP数据包之后,所述方法还包括:
[0027]当在预设时间内未收到所述第二存储服务器返回的响应消息时,将所述第二数据传输路径的属性设置为不可用。
[0028]第二方面,提供了一种数据传输路径的故障检测装置,所述装置包括:
[0029]发送模块,用于每隔第一预设时长,根据第一数据传输路径,向所述第一数据传输路径所对应的第一存储服务器发送控制报文协议ICMP数据包;
[0030]接收模块,用于接收所述第一存储服务器返回的响应消息;
[0031]确定模块,用于根据每次所述发送模块在所述第一数据传输路径上发送ICMP数据包以及所述接收模块接收到响应消息之间的间隔时长,确定数据传输的基准时长;
[0032]所述发送模块,还用于每隔第二预设时长,根据第二数据传输路径,向所述第二数据传输路径所对应的第二存储服务器发送ICMP数据包;
[0033]所述接收模块,还用于接收所述第二存储服务器返回的响应消息;
[0034]所述确定模块,还用于根据每次所述发送模块在所述第二数据传输路径上发送ICMP数据包以及所述接收模块接收到响应消息之间的间隔时长,确定第二数据传输路径上的平均传输时长;
[0035]故障检测模块,用于根据所述平均传输时长与所述基准时长,检测所述第二数据传输路径是否发生故障。
[0036]结合第二方面,在第二方面的第一种可能实现方式中,所述故障检测模块,具体用于当所述平均传输时长与所述基准时长之间的差值大于预设阈值时,确定所述第二数据传输路径发生故障。
[0037]结合第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,所述装置还包括:设置模块,用于在故障检测模块确定所述第二数据传输路径发生故障时,将所述第二数据传输路径的属性设置为亚健康。
[0038]结合第二方面,在第二方面的第三种可能实现方式中,所述装置还包括:新增路径检测模块,用于每隔第二预设时长,根据小型计算机系统接口 iSCSI会话信息,判断是否有新增的数据传输路径,当所述iSCSI会话信息中包括新增的会话信息时,确定有新增的数据传输路径;将所述新增的数据传输路径作为第二数据传输路径,根据第二数据传输路径,触发所述发送模块向所述第二数据传输路径所对应的第二存储服务器发送控制报文协议ICMP数据包。
[0039]结合第二方面,在第二方面的第四种可能实现方式中,所述确定模块包括:
[0040]获取单元,用于获取所述每次在所述第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长;
[0041]计算单元,用于根据所述获取单元获取的所述每次在所述第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长,计算每次发送对应的间隔时长的平均值,并将所述平均值作为所述基准时长;或者,根据每次发送ICMP数据包时,所述第一传输路径上数据流的负载量,计算每次发送对应的间隔时长的权重,根据每次发送对应的间隔时长和权重进行计算,得到基准时长。
[0042]结合第二方面的第二种可能实现方式,在第二方面的第五种可能实现方式中,所述设置模块还用于当所述接收模块在预设时间内未收到所述第二存储服务器返回的响应消息时,将所述第二数据传输路径的属性设置为不可用。
[0043]第三方面,提供了一种服务器,包括:
[0044]发射器、接收器、存储器以及分别与发射器、接收器和存储器连接的处理器;
[0045]存储器中存储一组程序代码,且处理器用于调用存储器中存储的程序代码,用于执行以下操作:
[0046]每隔第一预设时长,根据第一数据传输路径,向所述第一数据传输路径所对应的第一存储服务器发送控制报文协议ICMP数据包,使得所述第一存储服务器在接收到所述ICMP数据包时,返回响应消息;
[0047]根据每次在所述第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长,确定数据传输的基准时长;
[0048]每隔第二预设时长,根据第二数据传输路径,向所述第二数据传输路径所对应的第二存储服务器发送ICMP数据包,使得所述第二存储服务器在接收到所述ICMP数据包时,返回响应消息;
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1