Nothing Special   »   [go: up one dir, main page]

CN117411840A - 链路故障处理方法、装置、设备、存储介质和程序产品 - Google Patents

链路故障处理方法、装置、设备、存储介质和程序产品 Download PDF

Info

Publication number
CN117411840A
CN117411840A CN202311324249.3A CN202311324249A CN117411840A CN 117411840 A CN117411840 A CN 117411840A CN 202311324249 A CN202311324249 A CN 202311324249A CN 117411840 A CN117411840 A CN 117411840A
Authority
CN
China
Prior art keywords
output port
switch
state
port
standby
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.)
Pending
Application number
CN202311324249.3A
Other languages
English (en)
Inventor
万伟
纵瑞博
李俊宏
欧阳长冬
李�柱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dawning Information Industry Co Ltd
Original Assignee
Dawning Information Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dawning Information Industry Co Ltd filed Critical Dawning Information Industry Co Ltd
Priority to CN202311324249.3A priority Critical patent/CN117411840A/zh
Publication of CN117411840A publication Critical patent/CN117411840A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • H04L45/247Multipath using M:N active or standby paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种链路故障处理方法、装置、设备、存储介质和程序产品。所述方法包括:检查第一交换机的目标输出端口的通断状态,若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口;通过备用输出端口转发数据报文。采用本方法能够加快链路恢复的时间,进而能够降低网络延迟。

Description

链路故障处理方法、装置、设备、存储介质和程序产品
技术领域
本申请涉及通信技术领域,特别是涉及一种链路故障处理方法、装置、设备、存储介质和程序产品。
背景技术
高性能计算(High performance computing,HPC)一直被用于解决复杂问题,当前数据呈指数级增长,需要更大的集群计算规模来应对当前和未来的计算挑战。在HPC中,需要一种高效的链路故障处理方法,以降低集群的进程间通信的时延。
传统技术中,如果网络出现链路故障的问题,网络节点会向服务器的子网管理服务发送通知信息(例如,trap消息包)。子网管理服务收到该trap消息包后,会触发重度扫描,重新计算路由,以绕过故障链路。
然而,上述处理方法会导致较长的链路恢复时间,导致网络延迟。
发明内容
基于此,有必要针对上述技术问题,提供一种能够降低链路恢复时间过长导致的网络延迟问题的链路故障处理方法、装置、设备、存储介质和程序产品。
第一方面,本申请提供了一种链路故障处理方法,包括:
检查第一交换机的目标输出端口的通断状态;该目标输出端口是该第一交换机的路由表中的目的网卡标识对应的输出端口;
若该目标输出端口的通断状态为断开,则确定该目标输出端口对应的备用输出端口;
通过该备用输出端口转发数据报文。
上述链路故障处理方法,检查第一交换机的目标输出端口的通断状态,若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口;通过备用输出端口转发数据报文。其中,目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口。传统技术中,在链路故障发生之后,交换机向子网管理服务发送通知,由子网管理重新计算路由,并更新所有交换机路由表,导致较长的链路恢复时间,从而导致网络延迟。而本申请实施例中,由于在链路故障后交换机可以先自主处理进行路由恢复,即,交换机通过备用输出端口转发数据报文,在交换机无法进行自主处理进行路由恢复后交换机才向服务器发送通知,加快了链路恢复的时间,进而能够降低网络延迟。
在其中一个实施例中,该通过该备用输出端口转发数据报文,包括:
确定该第一交换机的自适应路由功能的状态;
基于该自适应路由功能的状态通过该备用输出端口转发该数据报文。
本实施例中,可以确定第一交换机的自适应路由功能的状态,基于自适应路由功能的状态通过备用输出端口转发数据报文,由于本申请实施例中可以在故障发生时,能够将备用输出端口作为输出端口转发数据报文,即,在服务器和其他交换机无感知的情况下自动切换到备用路径,能够实现链路故障的自我修复,保证了网络的连通性。
在其中一个实施例中,该基于该自适应路由功能的状态通过该备用输出端口转发该数据报文,包括:
若该自适应路由功能的状态为未开启,则在该备用输出端口开启的情况下,通过该备用输出端口转发数据报文;
若该自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为该备用输出端口,并通过该备用输出端口转发数据报文。
本实施例中,若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文,若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文,在链路故障发生时,本申请实施例中提供了根据自适应路由功能的两种状态,将备用输出端口作为输出端口转发数据报文的方法,能够在服务器和其他交换机无感知的情况下自动切换到备用路径,提高了实现链路故障的自我修复性,降低了网络时延。
在其中一个实施例中,该方法还包括:
在满足预设条件的情况下,根据该数据报文生成第一恢复通知报文;该第一恢复通知报文用于指示该第一交换机无可用输出端口;该预设条件包括:该自适应路由功能的状态为未开启且该备用输出端口断开,或者,该自适应路由功能的状态为开启且该多个候选输出端口均断开;
将该第一恢复通知报文发送给第二交换机;该第二交换机是向该第一交换机发送该数据报文的交换机。
本实施例中,在满足预设条件的情况下,根据数据报文生成第一恢复通知报文;第一恢复通知报文用于指示第一交换机无可用输出端口;预设条件包括:自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开,将第一恢复通知报文发送给第二交换机;其中,第二交换机是向第一交换机发送数据报文的交换机。根据此方法交换机可以在检测到链路故障但无法自行恢复的情况下,通知网络中其他交换机,使整个网络可以快速更新故障链路状态得到可用路径,能够提高网络从故障状态恢复到正常状态的速度,将链路故障恢复时间从秒级降低到毫秒级。
在其中一个实施例中,该方法还包括:
接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;该第二恢复通知报文为该第三交换机在满足该预设条件的情况下发送的;
若该下一跳的端口类型为网卡,且该自适应路由功能的状态为未开启,则将该目的网卡标识对应的备用输出端口写入该第一交换机的路由表中的目标输出端口;
若该下一跳的端口类型为网卡,且该自适应路由功能的状态为开启,则将目标备用输出端口写入该第一交换机的路由表中的目标输出端口;该目标备用输出端口是未接收该第二恢复通知报文的端口;
若该下一跳的端口类型为交换机间链路,则向该第二交换机转发该第二恢复通知报文。
本实施例中,接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型,若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口;若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。其中,第二恢复通知报文为第三交换机在满足预设条件的情况下发送的,目标备用输出端口是未接收第二恢复通知报文的端口。根据此方法可以将第二恢复通知报文回传,直至下一跳类型为交换机间链路,即,交换机可以在检测到链路故障,但无法有交换机自行恢复链路的情况下,通知网络中其他交换机和服务器,使整个网络可以快速更新故障链路状态得到可用路径,能够降低降低网络延迟,提升整体网络的稳健性。
在其中一个实施例中,该方法还包括:
接收服务器发送的端口信息,端口信息包括该目标输出端口和该备用输出端口。
本实施例中,接收服务器发送的包括目标输出端口和备用输出端口的端口信息,有利于交换机根据获取的端口信息进行数据报文的转发,提高了交换机获取端口信息的及时性,提升网络的稳健性。
第二方面,本申请还提供了一种链路故障处理装置,包括:
检查模块,用于检查第一交换机的目标输出端口的通断状态;该目标输出端口是该第一交换机的路由表中的目的网卡标识对应的输出端口;
确定模块,用于若该目标输出端口的通断状态为断开,则确定该目标输出端口对应的备用输出端口;
第一转发模块,用于通过该备用输出端口转发数据报文。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现以上方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上方法的步骤。
上述链路故障处理方法、装置、设备、存储介质和程序产品,检查第一交换机的目标输出端口的通断状态,若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口;通过备用输出端口转发数据报文。其中,目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口。传统技术中,在链路故障发生之后,交换机向服务器发送通知,服务器中的子网管理器可以计算路由,并更新所有交换机路由表,导致较长的链路恢复时间,从而导致网络延迟。而本申请实施例中,由于在链路故障后交换机可以先自主处理进行路由恢复,即,交换机通过备用输出端口转发数据报文,在交换机无法进行自主处理进行路由恢复后交换机才向服务器发送通知,加快了链路恢复的时间,进而能够降低网络延迟。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中链路故障处理方法的应用环境图;
图2为一个实施例中链路故障方法的流程示意图;
图3为一个实施例中传统链路故障处理方法的示意图;
图4为一个实施例链路故障处理方法的示意图;
图5为一个实施例中数据报文转发方法的流程示意图;
图6为一个实施例中自适应路由功能的状态为未开启时的路由表结构图;
图7为一个实施例中自适应路由功能的状态为开启时的路由表结构图;
图8为另一个实施例中链路故障方法的流程示意图;
图9为一个实施例中的端口转发异常处理流程图;
图10为又一个实施例中链路故障方法的流程示意图;
图11为一个实施例中自适应路由功能的状态为未开启时的流程图;
图12为一个实施例中自适应路由功能的状态为开启时的流程图;
图13为一个实施例中上行链路故障的模拟图;
图14为一个实施例中下行链路故障的模拟图;
图15为一个详细实施例中链路故障方法的流程示意图;
图16为一个实施例中链路故障装置的结构框图;
图17为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
传统技术中,高性能计算(High performance computing,HPC)一直被用于解决复杂问题,当前数据呈指数级增长,需要更大的集群计算规模来应对当前和未来的计算挑战。在HPC中,高效的进程间通信取决于能够提供高带宽、低延迟、支持大量端点的互连结构,因此,需要高速可靠的互连网络。在MPI、共享存储、机器学习框架以及新的异构计算架构中同样也需要一个高速可靠的网络。随着高速互连网络继续扩展以适应更大规模的计算和存储容量,未来可能需要40K网络节点,甚至100K节点来满足需求,但是随着主机通道适配器(例如,HCA卡)和交换机的增加,特别是伴随这种情况不断增长的光纤线缆,将会遭受物理或电气损坏,造成链路不通的情况,传统技术中提供了一种作业检查方法来解决上述问题,具体地,创建作业的时间点快照,如果作业在以后某个时间点失败,作业将从上次成功的状态和时间点继续。或者是利用无限宽带协议的数据完整性检查和重传机制来解决上述问题,但这些方法都对性能造成负面影响,且在大规模通信的情况下并不实际。其中,MPI是一个跨语言的通讯协议,用于编写并行计算机。
目前,在高速网络中,如果出现链路故障的情况,网络节点会向服务器的子网管理服务发送通知信息(例如,陷阱报文trap消息包)。子网管理服务收到该trap消息包后,会触发重度扫描,重新计算路由,以绕过故障链路。这个过程的时间较长,一般最少为秒级,节点规模更大的情况甚至需要30s以上的时间,对于1000个节点,这可能需要长达5秒的时间;对于具有10000个或更多节点的群集,这可能需要30秒甚至更长的时间,较长的链路恢复时间,导致网络延迟。这将无法保证网络的可靠稳定,很可能会导致作业失败,这是无法容忍的情况。其中,trap消息包是子网管理服务中的一种用于向网络管理人员发送通知的机制,它可以在网络中出现故障或异常时自动发送消息。
另外,利用上述方法进行链路故障的处理会导致系统的不可靠性:在MPI等并行计算中,网络质量是十分重要的。如果出现了网络故障,较长时间路由链路未恢复则可能会导致作业失败,大大影响了系统的稳定性和可靠性。
相关技术可能还会导致网络拥塞:如果网络中存在大量链路故障,大量的trap消息可能会多这可能导致网络拥塞,从而影响到网络的正常运行。
相关技术可能还会导致子网管理服务性能降低:子网管理服务是高速互连网络中唯一的管理工具,负责子网扫描、路由计算及下发、网络配置管理、负载均衡、故障检测等功能。所以如果需要子网管理服务发送大量的trap消息,同时它还需要处理其他网络事件,这可能会影响子网管理服务的性能和处理效率。
相关技术可能还会导致不完全消除故障:虽然子网管理服务旨在提高网络弹性和可靠性,也有相关故障处理的机制,但它并不能完全消除故障的可能性。这意味着仍然需要实施其他故障应对措施,如备份和监控系统。
相关技术可能还会导致Trap消息重复性:trap消息可能会重复发送,导致管理节点处理重复警报。在网络不稳定的情况下,同一个链路故障的trap消息可能会被重复发送多次。在网络中会有很多Trap消息。
综上所述,上述处理方法会导致较长的链路恢复时间,导致网络延迟,并带来其他问题。
针对上述问题,本申请实施例提供了一种链路故障处理方法,可以应用于如图1所示的应用环境中,图1为一个实施例中链路故障处理方法的应用环境图。其中,交换机101可以与服务器102进行通信,服务器可以承载子网管理服务。数据存储系统可以存储服务器102需要处理的数据。交换机101可以为多个,多个交换机互联连接形成链路,并与服务器连接,以接收服务器下发的信息。交换机101可以检查第一交换机的目标输出端口的通断状态,并确定目标输出端口对应的备用输出端口,通过备用输出端口向其他交换机转发数据报文。其中,服务器102可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个示例性的实施例中,如图2所示,提供了一种链路故障处理方法,以该方法应用于图1中的交换机101为例进行说明,例如第一交换机,包括以下步骤:
S201、检查第一交换机的目标输出端口的通断状态;目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口。
其中,目标输出端口可以是第一交换机的路由表中的目的网卡标识对应的输出端口。路由表可以是线性路由表。
具体地,可以根据第一交换机的目的网卡,确定该第一交换机的目的网卡对应的输出端口,即确定第一交换机的目标输出端口,并检查第一交换机的目标输出端口的通断状态。
需要说明的是,服务器中的子网管理服务在进行拓扑发现时,给每个交换机标记每个交换机与其他交换机之间的位置关系,例如利用胖树结构标记交换机的层级,标记该交换机属于胖树结构的核心层、汇聚层或接入层,并通知每个交换机记录自己的层级。子网管理服务在每个扫描周期均会计算路由,如果自适应路由功能的状态为未开启,可以对每个交换机计算一个输出端口和一个备用输出端口;其中,要求通过这个输出端口的路由和备用输出端口的路由无链路重叠,如果没有合适的备用输出端口则设置备用输出端口为0。如果自适应路由功能的状态为开启,可以对每个交换机计算一个输出端口和该输出端口对应的所有备用输出端口,并将一个输出端口对应的所有备用输出端口放在一个端口组里。即,服务器可以通过子网管理服务向各交换机发送MAD报文,以通知各交换机记录自己的层级以及路由信息。其中,MAD报文是一种管理报文,用于发送网络管理消息。
S202、若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口。
其中,目标输出端口的通断状态包括断开和连通。若通断状态为连通,则直接利用该目标输出端口转发数据报文。
具体地,如果第一交换机检测出目标输出端口并不存在信号,或,第一交换机检查出第一交换机的路由表所记录的该目标输出端口的状态为断开,则确定目标输出端口的通断状态为断开,则可以查询第一交换机的路由表,从路由表中确定与目标输出端口对应的各候选输出端口,从各候选输出端口中确定一个未发生故障的候选输出端口作为该目标输出端口对应的备用输出端口。若候选输出端口仅有一个,则将该候选输出端口作为该目标输出端口对应的备用输出端口。
S203、通过备用输出端口转发数据报文。
具体地,如果第一交换机的备用输出端口未断开,则可以利用备用输出端口转发数据报文。例如,备用输出端口只有一个,且该备用输出端口可用,则利用该备用输出端口转发数据报文;又例如,备用输出端口为多个,则可以利用其中一个可用的备用输出端口转发数据报文。
如图3所示,图3为一个实施例中传统链路故障处理方法的示意图,传统技术中,在链路故障发生之后,交换机向服务器发送通知,服务器中的子网管理器可以计算路由,并更新所有交换机路由表,导致较长的链路恢复时间,进一步的,导致网络延迟。图4为一个实施例链路故障处理方法的示意图,而利用本申请实施例提供的方法,可以在链路故障发生之后,由交换机自主处理进行路由恢复,即,交换机通过备用输出端口转发数据报文。可以在交换机无法进行自主处理进行路由恢复后,交换机再向服务器发送通知,服务器中的子网管理器计算路由,并更新所有交换机路由表。
上述链路故障处理方法,检查第一交换机的目标输出端口的通断状态,若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口;通过备用输出端口转发数据报文。传统技术中,在链路故障发生之后,交换机向服务器发送通知,服务器中的子网管理器可以计算路由,并更新所有交换机路由表,导致较长的链路恢复时间,从而导致网络延迟。而本申请实施例中,由于在链路故障后交换机可以先自主处理进行路由恢复,即,交换机通过备用输出端口转发数据报文,在交换机无法自主处理进行路由恢复后交换机才向服务器发送通知,加快了链路恢复的时间,进而能够降低网络延迟。
另外,由于优先由交换机自主进行路由恢复,因此缓解了由于要向服务器发送大量trap消息导致的服务器的OpemSM性能降低的问题,以及大量发送trap消息带来的trap消息重复性。并且,OpemSM自身的故障处理机制并不能完全消除故障的可能性,而本申请实施例中由还要交换机自主进行路由恢复,提高了故障消除的可能性。
在上述通过备用输出端口转发数据报文的场景中,在一个示例性的实施例中,如图5所示,上述S203包括:
S501、确定第一交换机的自适应路由功能的状态。
其中,自适应路由功能可以是自适应路由功能(AR,Adaptive routing)。
在本申请实施例中,可以确定第一交换机的自适应路由功能的状态为开启还是未开启。具体地,第一交换机可以查询本地路由表中的路由表信息,以确定路由表信息中记录的自适应路由功能的状态是开启还是未开启。
S502、基于自适应路由功能的状态通过备用输出端口转发数据报文。
在本申请实施例中,第一交换机可以根据不同的自适应路由功能的状态,通过备用输出端口转发数据报文。例如,自适应路由功能的状态为开启时,有多个备用输出端口,利用一个未断开和未发生故障的备用输出端口转发数据报文;自适应路由功能的状态为开启时,有一个备用输出端口,可以利用该备用输出端口转发数据报文。
本实施例中,可以确定第一交换机的自适应路由功能的状态,基于自适应路由功能的状态通过备用输出端口转发数据报文,由于本申请实施例中可以在故障发生时,能够将备用输出端口作为输出端口转发数据报文,即,在服务器和其他交换机无感知的情况下自动切换到备用路径,能够实现链路故障的自我修复,保证了网络的连通性。
在上述基于自适应路由功能的状态通过备用输出端口转发数据报文的场景中,在一个示例性的实施例中,上述S502包括:
情况一、若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文。
具体地,如果自适应路由功能的状态为未开启,仅有一个目标输出端口对应的备用输出端口,则进一步确定目标输出端口对应的备用输出端口是否开启,在该备用输出端口开启的情况下,通过该备用输出端口转发数据报文。
例如,图6为一个实施例中自适应路由功能的状态为未开启时的路由表结构图,如图6所示,DLID字段为目的网卡标识,以DLID字段是1为例,第一行的output port字段为目的网卡标识1对应的输出端口,AR mode字段为是否开启自适应路由功能,AR Group字段为目标输出端口对应的备用输出端口表的标识。GroupTable为目标输出端口对应的备用输出端口表。在自适应路由功能的状态为未开启的情况下,ARGroup字段对应唯一一个备用输出端口的端口号BackupPort,P标识端口号,G为ARGroup字段中的标记,0表示该网卡标识Lid无备用输出端口。
情况二、若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文。
具体地,如果自适应路由功能的状态为开启,则一个目标输出端口对应有多个候选输出端口,可以从多个候选输出端口中确定一个开启的候选输出端口,将该开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文。
可选的,可以先根据目的网卡标识在路由表中查询目标输出端口对应的备用输出端口表,再利用负载均衡或者循环的方式从备用输出端口表中确定一个开启的候选输出端口转发数据报文。其中,若某一个候选输出端口断开或故障,则自动避开该候选输出端口,选择其他候选输出端口转发数据报文。
例如,图7为一个实施例中自适应路由功能的状态为开启时的路由表结构图,如图7所示,图中标识参考上述情况一的举例。可以先根据网卡标识Lid查询路由表中AR Group字段,再从AR Group字段对应的GroupTable中查找对应的备用输出端口组的比特图,以循环或负载均衡方式从备用输出端口表中确定一个开启的候选输出端口转发数据报文。当检查到某比特位对应候选输出端口断开时,自动避开该候选输出端口,将其它候选输出端口作为备用输出端口转发数据报文。
本实施例中,若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文,若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文,在链路故障发生时,本申请实施例中提供了根据自适应路由功能的两种状态,将备用输出端口作为输出端口转发数据报文的方法,能够在服务器和其他交换机无感知的情况下自动切换到备用路径,提高了实现链路故障的自我修复性,降低了网络时延。
在一个示例性的实施例中,如图8所示,方法还包括:
S801、在满足预设条件的情况下,根据数据报文生成第一恢复通知报文;第一恢复通知报文用于指示第一交换机无可用输出端口;预设条件包括:自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开。
其中,第一恢复通知报文(FRN_MAD,Fast Recovery Notification MAD)中可以包括第一交换机在胖树结构中的层级、目的网卡标识、数据报文、断开的备用输出端口的信息、目标输出端口的信息等。
具体地,如果自适应路由功能的状态为未开启且备用输出端口断开,则表示无可用备用端口可以转发数据报文,则可以丢弃数据报文,并根据数据报文以及断开的备用输出端口信息,生成第一恢复通知报文;如果自适应路由功能的状态为开启且多个候选输出端口均断开,则表示无可用备用输出端口可以转发数据报文,则可以丢弃数据报文,并根据数据报文以及断开的各候选输出端口生成第一恢复通知报文。
S802、将第一恢复通知报文发送给第二交换机;第二交换机是向第一交换机发送数据报文的交换机。
具体地,可以将第一恢复通知报文发送给向第一交换机发送数据报文的交换机,即,将将第一恢复通知报文发送给第二交换机。
本实施例中,当第一交换机检查本地路由表中记录的自适应路由功能的状态为未开启且备用输出端口断开,或者,当第一交换机检查本地路由表中记录的自适应路由功能的状态为开启且多个候选输出端口均断开时,第一交换机根据数据报文生成第一恢复通知报文。根据此方法交换机可以在检测到链路故障但无法自行恢复的情况下,通知网络中其他交换机,使整个网络可以快速更新故障链路状态得到可用路径,能够提高网络从故障状态恢复到正常状态的速度,将链路故障恢复时间从秒级降低到毫秒级。
图9为一个实施例中的端口转发异常处理流程图,如图9所示,可以包括以下步骤:
S901、若数据报文转发时发生链路故障,根据无限带宽网络协议的处理流程进行数据报文转发。
S902、满足预设条件,则构造第一恢复通知报文,将第二交换机的标识作为目的网卡标识,并将源网卡标识作为目的网卡标识。
S903、将第一恢复通知报文发给第二交换机。
在本申请实施例中,如果数据报文转发时发生链路故障,则第一交换机可以根据无限带宽网络协议的处理流程进行数据报文转发,即上述S501-S502的步骤,如果满足自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开,则第一交换机可以构造第一恢复通知报文,将第一恢复通知报文中第二交换机的标识作为目的网卡标识,并将源网卡标识作为目的网卡标识,并将第一恢复通知报文发给第二交换机。
在一个示例性的实施例中,如图10所示,方法还包括:
S1001、接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;第二恢复通知报文为第三交换机在满足预设条件的情况下发送的。
其中,第三交换机可以是接收第一交换机发送的数据报文的交换机。
具体地,如果第三交换机自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开,则第三交换机向第一交换机发送第二恢复通知报文,第一交换机接收该第三交换机发送的第二恢复通知报文。第一交换机在接收到第三交换机发送的第二恢复通知报文时,同时记录第一交换机中的哪个端口收到该第二恢复通知报文,例如第一交换机中的端口S收到该第二恢复通知报文。第一交换机可以根据第二恢复通知报文判断第二恢复通知报文下一跳的端口类型是网卡还是交换机间链路。
可以执行下述S1002、S1003或S1004中的一项。
S1002、若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口。
具体地,如果第二恢复通知报文下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口,并在路由表中将备用输出端口置为0,同时把修改内容记录在第一交换机的内存中,并标记第一交换机状态为容错更新。
需要说明的是,交换机的芯片可以设置标记,以标记自己是否进行了路由快速容错切换(容错更新),服务器可以利用子网管理服务重置交换机的该标记。
S1003、若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;目标备用输出端口是未接收第二恢复通知报文的端口。
具体地,如果第二恢复通知报文下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将未接收第二恢复通知报文的端口写入第一交换机的路由表中的目标输出端口,例如,可以将上述端口S以外的端口写入第一交换机的路由表中的目标输出端口。并且,可以将该目标网卡标识对应的自适应路由功能设置为不开启(即,静态模式),同时把修改内容记录在第一交换机的内存中,并标记第一交换机状态为容错更新。
S1004、若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。
具体地,如果第二恢复通知报文下一跳的端口类型为交换机间链路,则第一交换机将第二恢复通知报文发送给向第一交换机发送数据报文的第二交换机。
需要说明的是,在服务器利用子网管理服务在每个扫描周期计算路由时,同步自动修改的路由表数据,并进行更新。例如,同步交换机自行完成的路由表修改,并将路由表修改的内容同步至子网管理服务的数据结构中,保证子网管理服务重新计算路由和交换机更新的路由一致。即,如果自适应路由功能的状态为未开启,备用输出端口仅存在一个,子网管理服务对于交换机自动修改路由的结果是可预测的;如果自适应路由功能的状态为开启,候选输出端口为多个,即备用输出端口为多个,子网管理服务对于交换机自动修改路由结果是不可预测的,可以增加约定或同步机制。服务器还可以利用子网管理服务重新计算路由表中将备用输出端口置为0的备用输出端口,还可以重新计算将自适应路由功能设置为静态的目标网卡标识的新的备用输出端口。
如图11所示,图11为一个实施例中自适应路由功能的状态为未开启时的流程图,包括以下步骤:
S1101、端口S接收到第三交换机发送的第二恢复通知报文。
S1102、下一跳的端口类型为网卡。
S1103、解析第二恢复通知报文,得到目的网卡标识。
S1104、将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口,并在路由表中将备用输出端口置为0。
S1105、网卡标识和修改后的端口项记录在第一交换机的内存中。
S1106、标记第一交换机状态为容错更新。
S1107、转发第二恢复通知报文。
在本申请实施例中,第一交换机的端口S接收到第三交换机发送的第二恢复通知报文,并判断下一跳的端口类型是否为网卡(CA端口)。下一跳的端口类型为网卡,则解析第二恢复通知报文,得到目的网卡标识,将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口,并在路由表中将备用输出端口置为0,同时把网卡标识和修改后的端口项记录在第一交换机的内存中,并标记第一交换机状态为容错更新。下一跳的端口类型不是网卡,则向第二交换机转发第二恢复通知报文。
如图12所示,图12为一个实施例中自适应路由功能的状态为开启时的流程图,包括以下步骤:
S1201、端口S接收到第三交换机发送的第二恢复通知报文。
S1202、下一跳的端口类型为网卡。
S1203、解析第二恢复通知报文,得到目的网卡标识。
S1204、从目的网卡标识对应的备用输出端口的端口组确定一个非S端口的备用输出端口写入第一交换机的路由表中的目标输出端口,并在路由表中目的网卡标识对应的自适应路由功能状态置为不开启。
S1205、网卡标识和修改后的端口项记录在第一交换机的内存中。
S1206、标记第一交换机状态为容错更新。
S1207、转发第二恢复通知报文。
在本申请实施例中,第一交换机的端口S接收到第三交换机发送的第二恢复通知报文,并判断下一跳的端口类型是否为网卡(CA端口)。下一跳的端口类型为网卡,则解析第二恢复通知报文,得到目的网卡标识,并从目的网卡标识对应的备用输出端口的端口组确定一个非S端口的备用输出端口写入第一交换机的路由表中的目标输出端口,并在路由表中目的网卡标识对应的自适应路由功能状态置为不开启,同时把的网卡标识和修改后的端口项记录在第一交换机的内存中,并标记第一交换机状态为容错更新。下一跳的端口类型不是网卡,则向第二交换机转发第二恢复通知报文。
本实施例中,接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型,若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口;若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。其中,第二恢复通知报文为第三交换机在满足预设条件的情况下发送的,目标备用输出端口是未接收第二恢复通知报文的端口。根据此方法可以将第二恢复通知报文回传,直至下一跳类型为交换机间链路,即,交换机可以在检测到链路故障,但无法有交换机自行恢复链路的情况下,通知网络中其他交换机和服务器,使整个网络可以快速更新故障链路状态得到可用路径,能够降低降低网络延迟,提升整体网络的稳健性。
在一个示例性的实施例中,方法还包括:
接收服务器发送的端口信息,端口信息包括目标输出端口和备用输出端口。
具体地,服务器利用子网管理服务在每个扫描周期均会计算路由,如果自适应路由功能的状态为未开启,可以对每个交换机计算一个输出端口和一个备用输出端口;其中,要求通过这个输出端口的路由和备用输出端口的路由无链路重叠,如果没有合适的备用输出端口则设置备用输出端口为0。其中,MAD报文是一种管理报文,用于发送网络管理消息。服务器利用子网管理服务以MAD报文形式下发端口信息到各交换机,第一交换机可以接收服务器发送的端口信息,端口信息可以包括输出端口、备用输出端口。
本实施例中,接收服务器发送的包括目标输出端口和备用输出端口的端口信息,有利于交换机根据获取的端口信息进行数据报文的转发,提高了交换机获取端口信息的及时性,提升网络的稳健性。
图13为一个实施例中上行链路故障的模拟图,如图13所示,上行链路发生故障,交换机有多条路由路径可以到达目的地,一般故障发生在三层胖树网络上游交换机,如接入层到汇聚层,汇聚层到核心层。如果交换机的其中一条路径发生链路故障,路由快速容错切换生效将数据转发到该交换机另一个端口通过新的路径到达目的地。即,在上行链路出现故障,无需进行第一恢复通知报文FRN_MAD的回传,交换机直接在本地切换端口,减少丢数据包的概率。
图14为一个实施例中下行链路故障的模拟图。如图14所示,下行链路发生故障,例如交换机330至交换机231的链路发生故障且无可用备用输出端口,则交换机330向交换机401回传第一恢复通知报文FRN_MAD,交换机401再向交换机300回传第一恢复通知报文FRN_MAD,交换机300再向交换机201回传第一恢复通知报文FRN_MAD,以使交换机201将数据报文发给交换机301,交换机301将数据报文发给交换机402,交换机402将数据报文发给交换机331,交换机331将数据报文发给交换机231,以使得数据报文成功发送给主机133。
在一个详细的实施例中,如图15所示,方法包括:
S1501、接收服务器发送的端口信息;端口信息包括目标输出端口和备用输出端口。
S1502、检查第一交换机的目标输出端口的通断状态;目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口。
S1503、若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口。
S1504、确定第一交换机的自适应路由功能的状态。
执行下述S1505或S1506或S1507。
S1505、若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文。
S1506、若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文。
S1507、在满足预设条件的情况下,根据数据报文生成第一恢复通知报文;第一恢复通知报文用于指示第一交换机无可用输出端口;预设条件包括:自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开。
S1508、接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;第二恢复通知报文为第三交换机在满足预设条件的情况下发送的。
执行下述S1509或S1510或S1511。
S1509、若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口。
S1510、若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;目标备用输出端口是未接收第二恢复通知报文的端口。
S1511、若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。
上述链路故障处理方法,由于在链路故障后可以交换机可以先自主处理进行路由恢复,即,交换机通过备用输出端口转发数据报文,在交换机无法进行自主处理进行路由恢复后,交换机才向服务器发送通知,以使得服务器计算重新计算路由,更新交换机路由表,交换机根据更新后的交换机路由表进行数据报文的转发。对比传统技术中,在链路故障发生之后,交换机向服务器发送通知,服务器中的子网管理器可以计算路由,并更新所有交换机路由表。本申请实施例中提供的链路故障处理方法加快了链路恢复的时间,进而能够降低网络延迟。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的链路故障方法的链路故障装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个链路故障装置实施例中的具体限定可以参见上文中对于链路故障方法的限定,在此不再赘述。
在一个示例性的实施例中,如图16所示,提供了一种链路故障装置1600,包括:检查模块1601、确定模块1602和第一转发模块1603,其中:
检查模块1601,用于检查第一交换机的目标输出端口的通断状态;目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口。
确定模块1602,用于若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口。
第一转发模块1603,用于通过备用输出端口转发数据报文。
在一个示例性的实施例中,第一转发模块1603包括:
第一确定子模块,用于确定第一交换机的自适应路由功能的状态。
转发子模块,用于基于自适应路由功能的状态通过备用输出端口转发数据报文。
在一个示例性的实施例中,转发子模块包括:
第一转发单元,用于若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文。
第二转发单元,用于若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文。
在一个示例性的实施例中,装置1600还包括:
生成模块,用于在满足预设条件的情况下,根据数据报文生成第一恢复通知报文;第一恢复通知报文用于指示第一交换机无可用输出端口;预设条件包括:自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开;
发送模块,用于将第一恢复通知报文发送给第二交换机;第二交换机是向第一交换机发送数据报文的交换机。
在一个示例性的实施例中,装置1600还包括:
第一接收模块,用于接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;第二恢复通知报文为第三交换机在满足预设条件的情况下发送的。
第一写入模块,用于若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口。
第二写入模块,用于若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;目标备用输出端口是未接收第二恢复通知报文的端口。
第二转发模块,用于若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。
在一个示例性的实施例中,装置1600还包括:
第二接收模块,用于接收服务器发送的端口信息;端口信息包括目标输出端口和备用输出端口。
上述链路故障装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是交换机,其内部结构图可以如图17所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种链路故障方法。
本领域技术人员可以理解,图17中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
检查第一交换机的目标输出端口的通断状态;目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口;
若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口;
通过备用输出端口转发数据报文。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
确定第一交换机的自适应路由功能的状态;
基于自适应路由功能的状态通过备用输出端口转发数据报文。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文;
若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
在满足预设条件的情况下,根据数据报文生成第一恢复通知报文;第一恢复通知报文用于指示第一交换机无可用输出端口;预设条件包括:自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开;
将第一恢复通知报文发送给第二交换机;第二交换机是向第一交换机发送数据报文的交换机。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;第二恢复通知报文为第三交换机在满足预设条件的情况下发送的;
若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口;
若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;目标备用输出端口是未接收第二恢复通知报文的端口;
若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
接收服务器发送的端口信息;端口信息包括目标输出端口和备用输出端口。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
检查第一交换机的目标输出端口的通断状态;目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口;
若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口;
通过备用输出端口转发数据报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
确定第一交换机的自适应路由功能的状态;
基于自适应路由功能的状态通过备用输出端口转发数据报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文;
若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在满足预设条件的情况下,根据数据报文生成第一恢复通知报文;第一恢复通知报文用于指示第一交换机无可用输出端口;预设条件包括:自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开;
将第一恢复通知报文发送给第二交换机;第二交换机是向第一交换机发送数据报文的交换机。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;第二恢复通知报文为第三交换机在满足预设条件的情况下发送的;
若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口;
若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;目标备用输出端口是未接收第二恢复通知报文的端口;
若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收服务器发送的端口信息;端口信息包括目标输出端口和备用输出端口。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
检查第一交换机的目标输出端口的通断状态;目标输出端口是第一交换机的路由表中的目的网卡标识对应的输出端口;
若目标输出端口的通断状态为断开,则确定目标输出端口对应的备用输出端口;
通过备用输出端口转发数据报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
确定第一交换机的自适应路由功能的状态;
基于自适应路由功能的状态通过备用输出端口转发数据报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
若自适应路由功能的状态为未开启,则在备用输出端口开启的情况下,通过备用输出端口转发数据报文;
若自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为备用输出端口,并通过备用输出端口转发数据报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
在满足预设条件的情况下,根据数据报文生成第一恢复通知报文;第一恢复通知报文用于指示第一交换机无可用输出端口;预设条件包括:自适应路由功能的状态为未开启且备用输出端口断开,或者,自适应路由功能的状态为开启且多个候选输出端口均断开;
将第一恢复通知报文发送给第二交换机;第二交换机是向第一交换机发送数据报文的交换机。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;第二恢复通知报文为第三交换机在满足预设条件的情况下发送的;
若下一跳的端口类型为网卡,且自适应路由功能的状态为未开启,则将目的网卡标识对应的备用输出端口写入第一交换机的路由表中的目标输出端口;
若下一跳的端口类型为网卡,且自适应路由功能的状态为开启,则将目标备用输出端口写入第一交换机的路由表中的目标输出端口;目标备用输出端口是未接收第二恢复通知报文的端口;
若下一跳的端口类型为交换机间链路,则向第二交换机转发第二恢复通知报文。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
接收服务器发送的端口信息;端口信息包括目标输出端口和备用输出端口。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或自适应随机存取存储器(DynamicRandom Access Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种链路故障处理方法,其特征在于,所述方法包括:
检查第一交换机的目标输出端口的通断状态;所述目标输出端口是所述第一交换机的路由表中的目的网卡标识对应的输出端口;
若所述目标输出端口的通断状态为断开,则确定所述目标输出端口对应的备用输出端口;
通过所述备用输出端口转发数据报文。
2.根据权利要求1所述的方法,其特征在于,所述通过所述备用输出端口转发数据报文,包括:
确定所述第一交换机的自适应路由功能的状态;
基于所述自适应路由功能的状态通过所述备用输出端口转发所述数据报文。
3.根据权利要求2所述的方法,其特征在于,所述基于所述自适应路由功能的状态通过所述备用输出端口转发所述数据报文,包括:
若所述自适应路由功能的状态为未开启,则在所述备用输出端口开启的情况下,通过所述备用输出端口转发数据报文;
若所述自适应路由功能的状态为开启,则从多个候选输出端口中确定一个开启的候选输出端口作为所述备用输出端口,并通过所述备用输出端口转发数据报文。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在满足预设条件的情况下,根据所述数据报文生成第一恢复通知报文;所述第一恢复通知报文用于指示所述第一交换机无可用输出端口;所述预设条件包括:所述自适应路由功能的状态为未开启且所述备用输出端口断开,或者,所述自适应路由功能的状态为开启且所述多个候选输出端口均断开;
将所述第一恢复通知报文发送给第二交换机;所述第二交换机是向所述第一交换机发送所述数据报文的交换机。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收第三交换机发送的第二恢复通知报文并确定下一跳的端口类型;所述第二恢复通知报文为所述第三交换机在满足所述预设条件的情况下发送的;
若所述下一跳的端口类型为网卡,且所述自适应路由功能的状态为未开启,则将所述目的网卡标识对应的备用输出端口写入所述第一交换机的路由表中的目标输出端口;
若所述下一跳的端口类型为网卡,且所述自适应路由功能的状态为开启,则将目标备用输出端口写入所述第一交换机的路由表中的目标输出端口;所述目标备用输出端口是未接收所述第二恢复通知报文的端口;
若所述下一跳的端口类型为交换机间链路,则向所述第二交换机转发所述第二恢复通知报文。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括:
接收服务器发送的端口信息;所述端口信息包括所述目标输出端口和所述备用输出端口。
7.一种链路故障处理装置,其特征在于,所述装置包括:
检查模块,用于检查第一交换机的目标输出端口的通断状态;所述目标输出端口是所述第一交换机的路由表中的目的网卡标识对应的输出端口;
确定模块,用于若所述目标输出端口的通断状态为断开,则确定所述目标输出端口对应的备用输出端口;
第一转发模块,用于通过所述备用输出端口转发数据报文。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202311324249.3A 2023-10-12 2023-10-12 链路故障处理方法、装置、设备、存储介质和程序产品 Pending CN117411840A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311324249.3A CN117411840A (zh) 2023-10-12 2023-10-12 链路故障处理方法、装置、设备、存储介质和程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311324249.3A CN117411840A (zh) 2023-10-12 2023-10-12 链路故障处理方法、装置、设备、存储介质和程序产品

Publications (1)

Publication Number Publication Date
CN117411840A true CN117411840A (zh) 2024-01-16

Family

ID=89497256

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311324249.3A Pending CN117411840A (zh) 2023-10-12 2023-10-12 链路故障处理方法、装置、设备、存储介质和程序产品

Country Status (1)

Country Link
CN (1) CN117411840A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117938743A (zh) * 2024-01-23 2024-04-26 无锡众星微系统技术有限公司 一种基于胖树拓扑的数据中心网络链路恢复方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117938743A (zh) * 2024-01-23 2024-04-26 无锡众星微系统技术有限公司 一种基于胖树拓扑的数据中心网络链路恢复方法和装置
CN117938743B (zh) * 2024-01-23 2024-09-10 无锡众星微系统技术有限公司 一种基于胖树拓扑的数据中心网络链路恢复方法和装置

Similar Documents

Publication Publication Date Title
KR102014433B1 (ko) 미들웨어 머신 환경에서 기능이 저하된 팻-트리들을 디스커버링 및 라우팅하는 것을 지원하는 시스템 및 방법
CN106059791B (zh) 一种存储系统中业务的链路切换方法和存储设备
CN102394914A (zh) 集群脑裂处理方法和装置
CN112787960B (zh) 一种堆叠分裂的处理方法、装置、设备及存储介质
CN112104478B (zh) 一种链路切换方法、装置、设备及机器可读存储介质
CN112291160B (zh) 一种bum报文抑制方法、设备及介质
WO2024148856A1 (zh) 数据写入方法、系统、存储硬盘、电子设备及存储介质
CN105765889B (zh) 扩展桥及由其执行的方法
CN117411840A (zh) 链路故障处理方法、装置、设备、存储介质和程序产品
CN102651712B (zh) 多处理器系统的节点路由方法、控制器及多处理器系统
CN105763448B (zh) 一种报文传输方法和装置
US20180048487A1 (en) Method for handling network partition in cloud computing
US8972771B2 (en) Connection control apparatus, storage system, and control method of connection control apparatus
US10516625B2 (en) Network entities on ring networks
CN106776107B (zh) 一种奇偶校验纠错方法及网络设备
CN113805788B (zh) 一种分布式存储系统及其异常处理方法和相关装置
CN110535792A (zh) 多节点装置及其备援通信方法
CN117354267A (zh) 链路故障处理方法、装置、设备、存储介质和程序产品
CN112131201B (zh) 一种网络附加存储高可用性的方法、系统、设备及介质
US7573810B2 (en) Avoiding deadlocks in performing failovers in communications environments
US9104562B2 (en) Enabling communication over cross-coupled links between independently managed compute and storage networks
CN117914777B (zh) 故障处理方法、装置、网络设备及存储介质
US8352776B2 (en) Facilitating persistence of routing states
CN118175014A (zh) 基于多维心跳检测信息的可编程网络故障快速检测与恢复方法和装置
CN107329698B (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