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

文档序号:9931122阅读:来源:国知局
探测得到的基准时长判断数据传输路径是否故障,由于ICMP数据包在传输过程中,在应用服务器侧只需经过TCP/IP层和网卡层的处理,在存储服务器侧也只需经过网卡层和TCP/IP层的处理,相对于现有技术中利用实际传输数据进行故障判断的过程,由于不需要经过多路径层、iSCSI层、控制器层以及磁盘层,因此,大大减小了额外的时间开销。进一步地,因为ICMP数据包很小,即使数据传输路径上承载的数据流较大,对ICMP数据包的传输时间影响也很小。因此,本发明在进行数据传输路径的探测时所获取到的时长,能够更真实的反应数据传输路径的实际状态,从而提高故障检测的准确度。
[0098]可选的,基于图3所示实施例,步骤305“根据平均传输时长与基准时长,检测第二数据传输路径是否发生故障”具体包括:当平均传输时长与基准时长之间的差值大于预设阈值时,确定第二数据传输路径发生故障。
[0099]其中,预设阈值可根据实际情况进行调整,本发明实施例对此不作具体限定。
[0100]需要说明的是,由于网络的实际情况有差别,因此,为了避免误判,可以设置一预设阈值,使得在判断是否发生故障时,可以有一定的容错度。具体地,由于平均传输时长可能大于基准时长,也可能小于基准时长,因此可以通过计算平均传输时长与基准时长之间差值的绝对值来判断第二数据传输路径是否发生故障,具体的,当平均传输时长与基准时长之间差值的绝对值大于预设阈值时,确定第二数据传输路径发生故障。通过预设阈值的设置可以提高对数据传输路径检测的准确度。
[0101]在本发明实施例中,数据传输路径的属性有三种:健康、亚健康、不可用。当数据传输路径的属性为健康时,说明该条数据传输路径能进行正常的数据传输。当数据传输路径的属性为亚健康时,说明该条数据传输路径能够进行数据传输,但是数据在该条数据传输路径上的传输速度会变慢,传输时间会变长。当数据传输路径的属性为不可用时,说明该条数据传输路径不能够进行数据传输。
[0102]可选的,基于图3所示实施例,在根据平均传输时长与基准时长,确定第二数据传输路径发生故障之后,该方法还包括:将第二数据传输路径的属性设置为亚健康。
[0103]具体的,当平均传输时长与基准时长之间差值的绝对值大于预设阈值时,能够说明该第二数据传输路径能够进行数据的传输,但是数据在第二数据传输路径上传输的传输速度变慢、时间变长,因此该种情况下可以确定第二数据传输路径发生故障,并将第二数据传输路径的属性设置为亚健康。
[0104]可选的,基于图3所示实施例,在步骤303“每隔第二预设时长,根据第二数据传输路径,向第二数据传输路径所对应的第二存储服务器发送ICMP数据包”之后,该方法还包括:当在预设时间内未收到第二存储服务器返回的响应消息时,将第二数据传输路径的属性设置为不可用。
[0105]其中,预设时间可根据实际情况进行调整,例如,该预设时间可以为20s-30s,或者,该预设时间可以为基准时间的2倍,本发明实施例对此不作具体限定。
[0106]具体的,当应用服务器向第二存储服务器发送ICMP数据包后,在预设时间范围内没有收到第二存储服务器返回的响应消息,那么应用服务器就判断ICMP数据包没有到达第二存储服务器,或者,存储服务器返回的响应消息在第二传输路径上传输时,发生了中断。该种情况下先将第二数据传输路径的属性设置为亚健康并将该第二数据传输路径进行标记,该标记用以告知应用服务器该第二数据传输路径需要进行第二次检测,随后再次向该第二存储服务器发送ICMP数据包后,如果在预设时间范围内依然没有接收到第二存储服务器返回的响应消息,那么就可以确定该第二数据传输路径不能进行正常的数据传输,并将第二数据传输路径的属性设置为不可用。通过第二次向第二存储服务器发送ICMP数据包,验证第二数据传输路径是否出现故障,可以避免由于诸如网络下线等因素而造成对第二数据传输路径的误判。
[0107]本发明实施例中,当数据传输路径的属性为亚健康或者不可用时,可以将该条数据传输路径上承载的数据流切换到属性为健康的数据传输路径上进行传输,以保证数据传输的及时性和稳定性。当有新的数据需要进行传输时,可以先检测数据传输路径的属性,当数据传输路径的属性为健康时,那么选择该条数据传输路径进行数据的传输,当数据传输路径的属性为亚健康或者不可用时,不选择该条数据传输路径进行传输。本发明实施例也可以根据数据传输路径的不同属性将数据传输路径进行标记。例如,将属性为亚健康或者不可用的数据传输路径标记为禁止使用,将属性为健康的数据传输路径标记为可以使用,当有新的数据需要进行传输时,可根据数据传输路径的标记,选择可以使用的数据传输路径进行数据的传输,进而有效的保证了数据传输的及时性和稳定性。
[0108]可选地,基于图3所示实施例,步骤302 “根据每次在第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长,确定数据传输的基准时长”包括下述任一种实现方式:
[0109]第一种方式,获取每次在第一数据传输路径上发送ICMP数据包以及接收响应消息之间的间隔时长,计算每次发送对应的间隔时长的平均值,并将平均值作为基准时长。
[0110]另外,在向第一数据传输路径发送ICMP数据包的方法时,可以采取以下任一种发送方式:一、每隔一个预定的时间周期向第一数据传输路径上发送一次ICMP数据包,无论是否接收到该ICMP数据包对应的响应消息,均继续发送下一个ICMP数据包。二、在向第一数据传输路径上发送一次ICMP数据包之后,当应用服务器接收到该ICMP数据包对应的响应消息时,才向第一数据传输路径发送下一个ICMP数据包。
[0111]基于上述第一种方式,举例如下:假设在第一数据传输路径上发送ICMP数据包的次数为3次。假设第一次的间隔时长为5s。第二次的间隔时长为5.1s。第三次的间隔时长为4.9s。那么,通过计算,得到这3次间隔时长的平均值为5s,则将该平均值5s作为基准时长。
[0112]第二种方式,根据每次发送ICMP数据包时,第一传输路径上数据流的负载量,计算每次发送对应的间隔时长的权重,根据每次发送对应的间隔时长和权重进行计算,得到基准时长。
[0113]在第二种方式中,发送ICMP数据包的次数以及发送ICMP数据包的方法与上述第一种方式同理,在此不做赘述。
[0114]其中,数据流的负载量是指在数据传输路径上传输的数据的多少。在数据传输路径上传输的数据越多,对应的负载量就越大,权重就越小。根据每次发送ICMP数据包对应的间隔时长和权重进行计算,以得到基准时长,可以提高对数据传输路径的检测精度。
[0115]基于上述第二种方式,举例如下:假设在第一数据传输路径上发送ICMP数据包的次数为3次。假设第一次的间隔时长为5s,并且该次对应的间隔时长的权重为0.33。第二次的间隔时长为5.ls,并且该次对应的间隔时长的权重为0.32。第三次的间隔时长为
4.9s,并且该次对应的间隔时长的权重为0.35。最后根据这3次对应的间隔时长和间隔时长的权重进行计算得到基准时长为4.997。
[0116]通过采用多次向第一数据传输路径发送ICMP数据包以及接收响应消息之间的间隔时长,最终确定数据传输的基准时长,可以使确定的基准时长更精确,进而提高了对数据传输路径的检测精度。
[0117]可选地,基于图3所示实施例,步骤303“每隔第二预设时长,根据第二数据传输路径,向第二数据传输路径所对应的第二存储服务器发送ICMP数据包”具体包括:
[0118]3031、每隔第二预设时长,根据iSCSI会话信息,判断是否有新增的数据传输路径。
[0119]其中,会话信息用于规定应用服务器和存储服务器之间进行数据传输时的数据传输路径。通过iSCSI建立新的会话信息可以建立新的数据传输路径。因此可以根据iSCSI会话信息,来判断是否有新增的数据传输路径。
[0120]具体的,为了避免在一个检测周期内对某条数据传输路径进行重复检测,可以将该检测周期内已经检测过的数据传输路径对应的会话信息进行标记。因此当获取的iSCSI会话信息中有未标记的会话信息时,那么就判断有新增的传输路径。
[0121]3032、当iSCSI会话信息中包括新增的会话信息时,确定有新增的数据传输路径。
[0122]3033、将新增的数据传输路径作为第二数据传输路径,执行向第二数据传输路径所对应的第二存储服务器发送ICMP数据包,使得第二存储服务器在接收到ICMP数据包时,返回响应消息。
[0123]其中,会话信息中包括存储服务器的IP地址。
[0124]具体的,在确定有新增的数据传输路径之后,提取会话信息中存储服务器的IP地址,并将该存储服务器作为第二储服务器,同时向第二数据传输路径所对应的第二存储服务器发送ICMP数据包。
[0125]需要说明的是,上述步骤301中每隔第一预设时长,根据第一数据传输路径,向第一数据传输路径所对应的第一存储服务器发送ICMP数据包的具体实现方式与该步骤同理。
[0126]本发明通过不断的对新增的数据传输路径进行检测,能够及时的检测新增的数据传输路径是否出现故障,当新增数据传输路径出现故障时,可以切换其他正常的数据传输路径进行数据的传输,从而保障了数据传输的及时性和稳定性。
[0127]上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再
--赘述。
[0128]为了便于理解,在此,仅针对对于第二数据传输路径进行检测的过程进行举例说明。图4是本发明实施例提供的另一种数据传输路径的故障检测方法的流程图,参见图4,该方法包括:
[0129]401、根据第一会话信息,确定第一数据传输路径。
[013
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1