CN103957155A - 报文传输方法、装置及互联接口 - Google Patents
报文传输方法、装置及互联接口 Download PDFInfo
- Publication number
- CN103957155A CN103957155A CN201410189288.1A CN201410189288A CN103957155A CN 103957155 A CN103957155 A CN 103957155A CN 201410189288 A CN201410189288 A CN 201410189288A CN 103957155 A CN103957155 A CN 103957155A
- Authority
- CN
- China
- Prior art keywords
- message
- link
- backup
- node
- active link
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000005540 biological transmission Effects 0.000 title abstract description 18
- 238000004891 communication Methods 0.000 claims abstract description 35
- 238000000151 deposition Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 230000002159 abnormal effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 6
- 230000005856 abnormality Effects 0.000 description 5
- 239000013307 optical fiber Substances 0.000 description 4
- 238000012216 screening Methods 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/1874—Buffer management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/189—Transmission or retransmission of more than one copy of a message
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明实施例提供一种报文传输方法、装置及互联接口,该方法包括:发送节点判断主用链路是否发生不可恢复故障,若主用链路发生不可恢复故障,则从多个通信链路中选择除主用链路外的至少一个备份链路向接收节点发送报文,以使接收节点将报文发送给主用链路的接收端。该方法中,对于互联系统中,通过多条Link进行通信的两个节点,在判断出其中部分Link发生不可恢复故障时,将故障不可恢复的链路中发送端的重传缓存Buffer中的报文发送给备份链路,使备份链路将该些报文发送给故障不可恢复的链路的接收端,大大提高互联系统抵抗突发异常情况的能力,保证了互联系统的高可靠性。
Description
技术领域
本发明涉及通信技术,尤其涉及一种报文传输方法、装置及互联接口。
背景技术
随着市场对计算系统的性能需求越来越强烈,计算系统的规模也越来越大,计算系统中各计算节点之间通常采用各种类型的互联接口进行互联。用于计算系统的互联接口,为适应计算系统所承载的业务的重要性及互联协议的复杂性等,除了满足高带宽、低延时等性能外,还需要具有高可靠性。
现有技术通常采用重传缓冲(Buffer)重传技术保证互联接口的高可靠性,图1为现有技术中重传Buffer重传方式的结构示意图。如图1所示,芯片A与芯片B通过链路(Link)进行双向通信,以芯片A向芯片B发送报文为例:链路的发送(TX)端使用组件A1作为重传Buffer,备份发出的报文;组件B2:负责对收到的报文进行循环冗余码校验(CyclicRedundancy Check,CRC),并将校验结果(是否正确接收)发送给组件B3;组件B3为芯片B的重传管理模块:用于维护待收指针reptr,该指针在链路初始化完成后为0,每正确收到一个报文reptr加1,达到重传Buffer的最大深度后清0重新开始累加。Reptr指针永远指向下一个待收报文在芯片A的重传Buffer中的位置。组件B3还用于当收到CRC错误报文后,向芯片A发起重传请求,重传请求中携带芯片B记录的reptr。组件A3:芯片A的重传管理模块,负责收到重传请求报文后,驱动TX端口将从reptr的地址开始的报文再次发送给芯片B,完成重传流程。芯片B对CRC校验正确的报文,向自己的TX端发送的报文中加入确认信息发送给芯片A,当芯片A收到确认信息后释放重传Buffer中相应的空间,在重传Buffer中形成一个头指针(hptr),表示重传Buffer中未被释放的最老的地址。
然而,上述重传Buffer重传技术只能保证链路偶尔出现可恢复故障的场景,而对于链路出现故障不可恢复的场景,则由于重传Buffer中的报文并没有被对方确认接收而导致系统挂起,只有当人为干预将故障排除、链路重新联通后,系统才能继续工作,无法保证互联系统的可靠性。
发明内容
本发明实施例提供一种报文传输方法、装置及互联接口,实现将故障不可恢复的Link的重传Buffer中残留的报文通过其他备份链路发送出去,以保证互联系统的高可靠性。
第一个方面,本发明实施例提供一种报文传输方法,包括:
发送节点判断主用链路是否发生不可恢复故障,所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;
若所述发送节点判断出所述主用链路发生不可恢复故障,则从所述多个通信链路中选择除所述主用链路外的至少一个备份链路;
所述发送节点通过所述备份链路向所述接收节点发送报文,以使所述接收节点将所述报文发送给所述主用链路的接收端,所述报文为所述主用链路发送端的重传缓存Buffer中的报文。
在第一个方面的第一种可能的实现方式中,所述发送节点判断主用链路是否发生不可恢复故障之后,在从所述多个通信链路中选择所述备份链路之前,还包括:
所述发送节点停止通过所述主用链路发送业务报文,所述业务报文为所述发送节点与所述接收节点之间的报文。
结合第一个方面或第一个方面的第一种可能的实现方式,在第一个的第二种可能的实现方式中,所述发送节点通过所述备份链路向所述接收节点发送报文之前,还包括:
所述发送节点设置所述主用链路的发送端与所述备份链路的发送端之间的通路;
所述发送节点通过所述备份链路向所述接收节点发送报文,包括:
所述发送节点通过所述通路在所述发送节点内从所述主用链路向所述备份链路发送报文。
结合第一个方面、第一个方面的第一种或第二种可能的实现方式,在第一个的第三种可能的实现方式中,所述主用链路发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识和所述重传Buffer中的头指针hptr,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点完全接收所述重传缓存Buffer中的报文;
所述发送节点通过所述备份链路向所述接收节点发送报文,包括:
所述发送节点通过所述备份链路顺序发送所述备份开始报文、所述残留报文、所述备份结束报文。
结合第一个方面、第一个方面的第一种、第二种或第三种可能的实现方式,在第一个的第四种可能的实现方式中,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
结合第一个方面、第一个方面的第一种、第二种、第三种或第四种可能的实现方式,在第一个的第五种可能的实现方式中,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
第二个方面,本发明实施例提供一种报文传输方法,包括:
接收节点接收发送节点通过备份链路发送的报文,所述报文为主用链路的发送端的重传缓存Buffer中的报文;所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;所述备份链路为所述多个通信链路中除所述主用链路外的至少一个其他链路;
所述接收节点在所述接收节点内从所述备用链路向所述主用链路的接收端发送所述报文。
在第二个方面的第一种可能的实现方式中,所述接收节点向所述主用链路的接收端发送所述报文之前,还包括:
所述接收节点设置所述备份链路的接收端与所述主用链路的接收端之间的通路;
所述接收节点向所述主用链路的接收端发送所述报文,包括:
所述接收节点通过所述通路向所述主用链路的接收端发送所述报文。
结合第二个方面或第二个方面的第一种可能的实现方式,在第二个方面的第二种可能的实现方式中,所述主用链路的发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识,和所述重传Buffer中的头指针hptr;
所述接收节点接收发送节点通过备份链路发送的报文,包括:顺序接收所述备份开始报文、所述残留报文、所述备份结束报文;
所述接收节点向所述主用链路的接收端发送所述报文,包括:
所述接收节点顺序向所述主用链路的接收端发送所述备份开始报文、所述残留报文、所述备份结束报文。
结合第二个方面的第二种可能的实现方式,在第二个方面的第三种可能的实现方式中,所述备份开始报文还携带所述重传Buffer中的头指针hptr,所述接收节点顺序向所述主用链路的接收端发送所述备份开始报文、所述残留报文、所述备份结束报文之后,还包括:
所述接收节点根据所述hptr,确定所述主用链路的接收端的待收指针reptr对应的报文,所述待收指针reptr对应的报文后的报文为所述重传缓存Buffer中的报文。
结合第二个方面的第二种可能的实现方式,在第二个方面的第四种可能的实现方式中,所述接收备份链路发送的报文之后,还包括:
所述备份开始报文还携带所述重传Buffer中的头指针hptr,所述接收节点接收发送节点通过备份链路发送的报文之后,还包括:
所述接收节点在所述备份链路的发送端的重传Buffer中备份所述报文;
所述接收节点根据所述头指针hptr判断存放所述备份的备份结束报文的地址是否被释放,若释放,则确定所述主用链路的接收端已全部正确接收所述残留报文,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点已全部正确接收所述重传缓存Buffer中的报文。
结合第二个方面、第二个方面的第一种至第四种中任一种可能的实现方式,在第二个方面的第五种可能的实现方式中,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
结合第二个方面、第二个方面的第一种至第五种中任一种可能的实现方式,在第二个方面的第六种可能的实现方式中,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
第三个方面,本发明实施例提供一种报文传输装置,包括:
判断模块,用于判断主用链路是否发生不可恢复故障,所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;
选择模块,用于若所述判断模块判断出所述主用链路发生不可恢复故障时,则从所述多个通信链路中选择除所述主用链路外的至少一个备份链;
发送模块,用于通过所述选择模块选择出的所述备份链路发送报文,以使所述接收节点将所述报文发送给所述主用链路的接收端,所述报文为所述主用链路发送端的重传缓存Buffer中的报文。
在第三个方面的第一种可能的实现方式方式中,所述装置还包括:
停止模块,用于在所述判断模块判断出主用链路发生不可恢复故障之后,选择模块在从所述多个通信链路中选择所述备份链路之前,停止停止通过所述主用链路发送业务报文,所述业务报文为所述发送节点与所述接收节点之间的报文。
结合第三个方面或第三个方面的第一种可能的实现方式,在第三个的第二种可能的实现方式中,所述装置还包括:
设置模块,用于在所述发送模块通过所述备份链路向所述接收节点发送报文之前,设置所述主用链路的发送端与所述备份链路的发送端之间的通路;
所述发送模块,用于通过所述设置模块设置的所述通路在所述发送节点内从所述主用链路向所述备份链路发送报文。
结合第三个方面、第三个方面的第一种或第二种可能的实现方式,在第三个的第三种可能的实现方式中,所述主用链路发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识和所述重传Buffer中的头指针hptr,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点完全接收所述重传缓存Buffer中的报文;
所述发送模块,具体用于通过所述备份链路顺序发送所述备份开始报文、所述残留报文、所述备份结束报文。
结合第三个方面、第三个方面的第一种、第二种或第三种可能的实现方式,在第三个的第四种可能的实现方式中,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
结合第三个方面、第三个方面的第一种、第二种、第三种或第四种可能的实现方式,在第三个的第五种可能的实现方式中,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
第四个方面,本发明实施例提供一种报文传输装置,包括:
接收模块,用于接收发送节点通过备份链路发送的报文,所述报文为主用链路的发送端的重传缓存Buffer中的报文;所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;所述备份链路为所述多个通信链路中除所述主用链路外的至少一个其他链路;
发送模块,用于在所述接收节点内从所述备用链路向所述主用链路的接收端发送所述接收模块接收到的所述报文。
在第四个方面的第一种可能的实现方式中,所述装置还包括:
设置模块,用于在所述发送模块向所述主用链路的接收端发送所述报文之前,设置所述备份链路的接收端与所述主用链路的接收端之间的通路;
所述发送模块,具体用于通过所述设置模块设置的所述通路向所述主用链路的接收端发送所述报文。
结合第四个方面或第四个方面的第一种可能的实现方式,在第四个方面的第二种可能的实现方式中,所述主用链路的发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识和所述重传Buffer中的头指针hptr;
所述接收模块,具体用于顺序接收所述备份开始报文、所述残留报文、所述备份结束报文;
所述发送模块,具体用于顺序向所述主用链路的接收端发送所述接收模块接收到的所述备份开始报文、所述残留报文、所述备份结束报文。
结合第四个方面的第二种可能的实现方式,在第四个方面的第三种可能的实现方式中,所述装置还包括:
确定模块,用于在所述发送模块顺序向所述主用链路的接收端发送所述备份开始报文、所述残留报文、所述备份结束报文之后,根据所述hptr,确定所述主用链路的接收端的待收指针reptr对应的报文,所述待收指针reptr对应的报文后的报文为所述重传缓存Buffer中的报文。
结合第四个方面的第二种可能的实现方式,在第四个方面的第四种可能的实现方式中,所述装置还包括:
处理模块,用于在所述接收模块接收所述发送节点通过备份链路发送的报文之后,在所述备份链路的发送端的重传Buffer中备份所述报文,根据所述头指针hptr判断存放所述备份的备份结束报文的地址是否被释放,若释放,则确定所述主用链路的接收端已全部正确接收所述残留报文,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点已全部正确接收所述重传缓存Buffer中的报文。
结合第四个方面、第四个方面的第一种至第四种中任一种可能的实现方式,在第四个方面的第五种可能的实现方式中,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
结合第四个方面、第四个方面的第一种至第五种中任一种可能的实现方式,在第四个方面的第六种可能的实现方式中,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
第五个方面,本发明实施例提供一种互联接口,包括如上第三个方面、第三个方面的第一种至第五种中任一种可能的报文传输装置,以及如上第四个方面、第四个方面的第一种至第六种中任一种可能的报文传输装置。
本发明实施例提供的报文传输方法、装置及互联接口,对于互联系统中,通过多条Link进行通信的两个节点,在判断出其中部分Link发生不可恢复故障时,将故障不可恢复的链路中发送端的重传缓存Buffer中的报文发送给备份链路,使备份链路将该些报文发送给故障不可恢复的链路的接收端,大大提高互联系统抵抗突发异常情况的能力,保证了互联系统的高可靠性。另外,该过程可以由硬件自动完成,无需任何额外的软件开销,也没有消耗额外的资源。
附图说明
图1为现有技术中重传Buffer重传方式的结构示意图;
图2为本发明报文传输方法所适用的互联系统的第一架构示意图;
图3为本发明报文传输方法实施例一的流程图;
图4为本发明报文传输方法实施例二的流程图;
图5为本发明报文传输方法所适用的互联系统的第二架构示意图;
图6为本发明报文传输方法实施例三中报文发送的过程图;
图7为本发明报文传输方法所适用的互联系统的第三架构示意图;
图8为本发明报文传输装置实施例一的结构示意图;
图9为本发明报文传输装置实施例二的结构示意图;
图10为本发明报文传输装置实施例三的结构示意图;
图11为本发明报文传输装置实施例四的结构示意图;
图12为本发明报文传输装置实施例五的结构示意图;
图13为本发明报文传输装置实施例六的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一般来说,互联系统中存在多个节点,如计算节点、存储节点等,各个节点之间通过互联接口连接,其中,互联接口例如可以为并行转换器(Serializer/Deserializer,SerDes)接口、源同步接口、低速并行接口等,本发明并不以此为限制。为提升系统带宽,由多个互联接口构成链路(Link)。以Link由多条SerDes接口构成为例,每条Link可以为X4、X8、X12(X4即代表一条Link由4各SerDes构成,以此类推)的链路。然而,这种一条Link由多个SerDes接口捆绑构成的方式中,需要保证各SerDes接口严格等长,无法做到无限制的增加Link的线宽来提升带宽。本发明实施例中,为进一步的提升系统带宽,任意两个节点之间的Link可以为多条。具体的,可参见图2,图2为本发明报文传输方法所适用的互联系统的第一架构示意图。
如图2所示,节点A与节点B之间存在4条Link(Link0~Link3),各Link例如可以由一组X8的SerDes接口通过光纤互联而成,由该4条Link来分担节点A与节点B之间的带宽需求。节点A与节点B各自具有程序(Process,PROC)模块,该PROC模块代表应用/协议层的模块,用于在节点正常工作时将产生的报文发送给4条Link的发送(Transmit,TX)端,并接收各Link的接收(Receive,RX)端收到的报文。
请参照图2,节点A与节点B进行通信,当节点A向节点B发送报文时,节点A为发送节点,节点B为接收节点;当节点B向节点A发送报文时,节点B为发送节点,节点A为接收节点,发送节点与接收节点只是两个相对的概念。以节点A向节点B发送报文为例,当任意条Link发生不可恢复故障时,例如,Link3发生光纤意外拔出这类不可恢复的故障时,由于通信协议的协议层没有重传机制,若采用现有技术中的重传Buffer重传技术,则无法将Link3的重传Buffer中的残留报文发送给节点B中Link3的接收端。只有当光纤接回后,节点B的Link3才会发起重传,从而得到已经处在节点A的Link3的重传Buffer中残留报文。
有鉴于此,本发明实施例提供一种多Link动态互备的报文传输方法,保证在正常情况下各Link分担整个系统的带宽需求,当有Link出现不可恢复故障时,将坏掉的Link的重传Buffer中残留的报文通过其他备份链路发送给接收端,以保证互联系统的高可靠性。具体的,可参见图3。
图3为本发明报文传输方法实施例一的流程图。本实施例是从发送节点的角度对本发明进行详细阐述,本发明实施例适用于互联系统中任意两节点之间的部分Link发生不可恢复故障,需要保证互联系统实时性与可靠性的场景,本实施例中,节点A为发送节点,节点B为接收节点。具体的,本实施例包括如下步骤:
101、发送节点判断主用链路是否发生不可恢复故障,主用链路为发送节点与接收节点之间的多个通信链路中的任一个。
结合图2可知,发送节点与接收节点之间的通路链路,即Link可以有多条,一条Link是否发生不可恢复故障是由该Link本身的状态机判断的。本步骤中,节点A的各Link的状态机(图中未示出)判断对应的Link是否发生不可恢复故障,即是否发生自身无法恢复的故障,如光纤拔出等故障,以下为描述清楚起见,将发生不可恢复故障的链路称之为主用链路。
102、若发送节点判断出主用链路发生不可恢复故障,则从多个通信链路中选择除主用链路外的至少一个备份链路。
具体的,发送节点可事先将某一条Link默认配置为备份链路,并保证该备份链路一直处于有效状态;或者,也可以从多条有效Link中根据优先级、负载状况等选择出至少一条Link作为备份链路,将故障不可恢复的链路的重传Buffer中的残留报文发送给备份链路。
103、发送节点通过备份链路向接收节点发送报文,以使接收节点将报文发送给主用链路的接收端,报文为主用链路发送端的重传缓存Buffer中的报文。
以优先级为例,若Link0~Link3可作为备份链路的优先级依次为Link3、Link2、Link1、Link1。当步骤102中判断出某一条Link,例如Link3发生不可恢复故障时,节点A将Link2作为备份链路,将Link3的重传Buffer中的报文发送给Link2,使得在接收节点中,Link2将接收到的报文发送给Link3的接收端。该过程中,从检测到链路发生不可恢复的故障,到完整备份操作时间在1ms以下,使得用户完全感知不到故障的发生。
同理,当步骤102中判断出至少一条Link发生不可恢复故障时,同样也可以按照优先级、负载状况、报文重要程度等对该些坏掉的Link进行排序,按照排序为各Link选择备份链路。以报文重要程度为例,若Link0~Link3承载的报文的重要程度依次为Link0、Link1、Link2、Link3,可作为备份链路的优先级依次为Link3、Link2、Link1、Link0,则当判断出Link0和Link3都发生不可恢复故障时,则先对Link0选择备份链路Link2,再对Link3选择备份链路Link0;或者,将Link2作为Link0与Link3的备份链路,待Link0的重传Buffer中的残留报文发送完毕后,再将Link3的重传Buffer中的残留报文发送给Link2。
本发明实施例提供的报文传输方法,对于互联系统中,通过多条Link进行通信的两个节点,在判断出其中部分Link发生不可恢复故障时,发送节点选择出备份链路并将故障不可恢复的链路中发送端的重传缓存Buffer中的报文发送通过该备份链路发送给故障不可恢复的链路的接收端,大大提高互联系统抵抗突发异常情况的能力,保证了互联系统的高可靠性。另外,该过程可以由硬件自动完成,无需任何额外的软件开销,也没有消耗额外的资源。
图4为本发明报文传输方法实施例二的流程图。本实施例是从接收节点的角度对本发明进行详细阐述,本发明实施例适用于互联系统中任意两节点之间的部分Link发生不可恢复故障,需要保证互联系统实时性与可靠性的场景,本实施例中,节点A为发送节点,节点B为接收节点。具体的,本实施例包括如下步骤:
201、接收节点接收发送节点通过备份链路发送的报文,报文为主用链路的发送端的重传缓存Buffer中的报文;主用链路为发送节点与接收节点之间的多个通信链路中的任一个;备份链路为多个通信链路中除主用链路外的至少一个其他链路。
本步骤中,关于主用链路等的相关概念可参见图3步骤101,此处不再赘述。
202、接收节点在接收节点内从备用链路向主用链路的接收端发送报文。
请同时参照图2,以Link3发生不可恢复的故障、Link2为备份链路为例,节点A的Link3将其发送端的重传Buffer中的残留报文发送给Link2的发送端,由Link2的发送端将该些残留报文发送至Link2的接收端,如此一来,残留报文就可以从节点A发送到节点B。接着,在节点B中,Link2的接收端将接收到的报文再进一步的发送给Link3的接收端。
本发明实施例提供的报文传输方法,对于互联系统中,通过多条Link进行通信的两个节点,发送节点在判断出其中部分Link发生不可恢复故障时,将故障不可恢复的链路中发送端的重传缓存Buffer中的报文发送给备份链路;相应的,接收节点接收该些报文,并将该些报文发送给故障不可恢复的链路的接收端,从而大大提高互联系统抵抗突发异常情况的能力,保证了互联系统的高可靠性。另外,该过程可以由硬件自动完成,无需任何额外的软件开销,也没有消耗额外的资源。
上述图3、图4分别从发送节点与接收节点的角度对本发明进行了详细阐述,下面,从发送节点与接收节点交互的角度对本发明进行详细阐述。
图5为本发明报文传输方法所适用的互联系统的第二架构示意图。如图5所示,节点A与节点B之间存在4条Link(Link0~Link3),当节点A与节点B之间的Link0发生不可恢复故障,即Link0为主用链路时,以节点A向节点B发送报文为例,本发明实施例提供的报文传输过程中各部件的详细说明如下:
PROC_A模块:节点A的程序(Process,PROC)模块,该PROC模块代表应用/协议层的模块,用于在节点正常工作时将产生的报文发送给4条Link的发送(Transmit,TX)端,并接收各Link的接收(Receive,RX)端收到的报文;
PROC_B模块:节点B的程序(Process,PROC)模块,该PROC模块代表应用/协议层的模块,用于在节点正常工作时将产生的报文发送给4条Link的发送(Transmit,TX)端,并接收各Link的接收(Receive,RX)端收到的报文;
Link模块:节点A与节点B各自具有Link0~Link3模块,节点A的Link0的发送端与节点B的Link0的接收端相连,节点A的Link0的接收端与节点B的Link的发送端相连……以此类推;并且,各Link模块具有站点单元、筛选单元、分发单元、重传Buffer等;
A01:节点A的Link0的重传Buffer;
A02:节点A的Link0的站点单元,每个节点的每个Link都具有各自的站点单元,各站点单元相连可组成一条双向通道,从而使得各个Link互联起来;
A11:、节点A的Link1的重传Buffer;
A12、节点A的Link1的站点单元;
A22、节点A的Link2的站点单元;
B02、节点B的Link0的站点单元;
B04、节点B的Link0的筛选单元,用于根据自身记录的reptr选择从哪个位置开始接收报文,其中,报文为由备份Link转发的Link0的重传Buffer中的报文;
B12、节点B的Link1的站点单元;
B13、节点B的Link1的分发单元,用于在Link1作为备份链路时,将接收到的报文中属于故障不可恢复Link的报文分流到站点单元B12中;
备份管理单元A:节点A的备份管理单元;
备份管理单元B:节点B的备份管理单元。
在本发明报文传输方法实施例三中,请结合图5,当节点A与节点B之间的Link0发生不可恢复故障时,以节点A向节点B发送报文为例,本发明实施例提供的报文传输过程如下:
步骤1:Link0的物理链路发生故障;
步骤2:节点A的Link0的状态机检测出链路出现不可恢复故障后,阻止PROC_A模块继续向Link0的发送(TX)端发送新的报文,并向备份管理单元A发送备份请求,请求将主用链路Link0的重传Buffer中的报文通过其他Link传输;
步骤3:备份管理单元A收到主用链路Link0的备份请求后,为主用链路Link0选择一条有效Link作为Link0的备份链路。具体的,该备份链路选择流程包括如下步骤:
步骤3.1、备份管理单元A等待发生故障不可恢复的Link发送的备份请求;
步骤3.2、备份管理单元A判断是否接收到某Link发送的备份请求,若接收到,则执行步骤3.3;否则,返回步骤3.1继续等待备份请求;
步骤3.3、备份管理单元A判断节点A与节点B之间是否存在有效链路,若存在有效链路,则执行步骤3.5;否则,执行步骤3.4;
步骤3.4、备份管理单元A上报告警,然后,返回步骤3.1继续等待备份请求;
步骤3.5、备份管理单元A为Link0选择备份链路。
本步骤中,备份管理单元A从各有效链路中选择一条链路作为Link0的备份链路,具体的选择过程可参见图3步骤102,此处不再赘述。
步骤4、备份管理单元A设置Link0的发送端与备份链路的发送端之间的通路。
请同时参照图5,每个Link之间通过站点单元连接,每一站点单元与本Link的发送端相连,以下为清楚起见,将通过站点单元连接的各Link之间的通路称之为横向通路,将每一站点单元与本Link的发送端相连的通路称之为本Link发送通路,各站点单元通过选通开关选择开通横向通路或本Link发送通路。
本步骤中,备份管理单元A根据选择的备份Link,开启各站点单元的选通开关。例如,假设步骤3.5中选择出的备份Link为Link1,则本步骤中,备份管理单元A开启A02与A12之间的横向通路的选通开关,并开启A12与Link1的发送端的通路的选通开关,即开启Link1的本Link发送通路;再如,假设步骤3.5中选择出的备份Link为Link2,则本步骤中,备份管理单元A开启A02与A12、A12与A22之间的横向通路的选通开关,关闭Link1的本Link发送通路,并开启Link2的本Link发送通路。
步骤5、备份管理单元A通知主用链路Link0向备份链路发送重传Buffer中的报文。
备份管理单元A通知主用链路Link0通过设置的通路发送重传BufferA01中的报文,同时通知Link1阻止PROC_A模块向其发送新的报文。本步骤中,在发送节点内,若备份Link为Link1,则使Link0的重传Buffer A01中的残留报文流向站点单元A02,并由A02流向备份Link,即Link1的站点单元A12,最终由A12流向Link1的发送端。再如,若备份Link为Link2,则使得重传Buffer A01中的残留报文流向站点A02,再流向Link2的站点单元A22,并由A22流向Link2的发送端。
本步骤中,故障不可恢复的Link0,即主用链路Link0发送端的重传缓存Buffer中的报文,包括:备份开始报文、重传Buffer中的残留报文,备份结束报文;其中备份开始报文携带Link0的标识,重传Buffer中的头指针hptr。此时,若链路发生不可恢复故障,则向备份链路顺序发送备份开始报文、残留报文、备份结束报文,头指针hptr对应的地址晚于备份结束报文对应的地址时,指示接收节点完全接收重传缓存Buffer中的报文。具体的,重传Buffer中的报文的发送流程如图6所示,图6为本发明报文传输方法实施例三中报文发送的过程图。
下述步骤6~步骤11中,均以Link1作为备份Link为例对本发明进行详细阐述。
步骤6、重传Buffer A01中的报文经过横向通路传输至Link1的站点单元A12,并在Link1的本Link发送通路发出,即在Link1的发送端发出,同时,将重传Buffer A01中的报文写入Link1的重传Buffer A11中。
步骤7、节点B的Link1的接收端收到备份开始报文后,由节点B的Link1的分发单元B13对备份开始报文进行解析,记录该事件,同时根据备份开始报文中的信息设置Link1的接收端与主用链路Link0的接收端之间的通路,即开启B13与B12之间的本Link发送通路,以及B12与B02之间的横向通路。
步骤8、节点B的Link1将接收端收到的报文通过B13->B12->B02的路径发送给节点B的Link0的接收端。
步骤9、节点B的Link0的筛选单元B04根据备份开始报文中的头指针reptr的记录,对收到的残留报文进行计数从而找到自己的待收指针reptr对应的报文,该待收指针reptr对应的报文后的报文为重传缓存Buffer中的报文,并将从待收指针reptr对应的报文之后收到的报文发送给PROC_B模块,如此一来,节点B的PROC_B模块就无感知的收到了连续的正确报文。
步骤10、当节点B的筛选单元B02收到备份结束报文时,还原Link1的开关通路的状态,使得后续Link1收到的报文为PROC_A模块发送的属于Link1的报文。
步骤11、当节点A的Link1的重传Buffer A11中缓存的备份结束报文被正常的ACK释放掉后,即hptr地址晚于存放备份结束报文的地址后,说明节点B的Link0的接收端已全部正确接收节点A中Link0发送端缓存BufferA01中所有的报文。此时,Link1向备份管理单元A发送完成指示信息以上报本次重传流程结束。
上述图2与图5所示的互联系统,发生不可恢复故障的Link为直接相连的两个节点之间的Link,备份链路为直接连接发送节点与接收节点的有效链路,然而,本发明并不以此为限制,在其他可行的实施方式中,备份链路也可以为通过第三节点连接发送节点与接收节点的有效链路,该第三节点为发送节点与接收节点之外的其他节点。具体的,可参见图7,图7为本发明报文传输方法所适用的互联系统的第三架构示意图。
如图7所示,每个节点具有3条Link分别与其他3个节点相连,如节点A具有Link0,Link1,Link2,分别与节点B、节点D、节点C相连;节点B具有Link0、Link4、Link5,分别与节点A、节点D、节点C相连……,各节点通过该些Link形成一个全互联的系统。当节点A与节点B之间的Link0发生不可恢复故障时,以节点A向节点B发送报文为例,可将节点A中Link0的重传Buffer中的残留报文,通过Link1、Link4两次备份重传到节点B中Link0的接收端;或者,通过Link1,Link3,Link5三次备份重传到节点B中Link0的接收端。
可选的,本发明实施例提供的报文传输方法,适用于计算系统、存储系统等具有高带宽、高数据稳定性要求的互联系统,适用于任何没有协议层差错重传的通信接口协议的互联系统,如高速缓存一致性非均匀存储访问结构(Cache Coherence-Non Uniform Memory Access,CC-NUMA)系统,CC-NUMA系统的互联协议要求:互联接口数据链路层需要保证报文的完全可靠传输,任何一个错包和丢包就很有可能导致整个系统的宕机。
图8为本发明报文传输装置实施例一的结构示意图。本实施例提供的报文传输装置是与本发明图3实施例对应的装置实施例,具体实现过程在此不再赘述。具体的,本实施例提供的报文传输装置100具体包括:
判断模块11,用于判断主用链路是否发生不可恢复故障,所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;
选择模块12,用于若判断模块11判断出所述主用链路发生不可恢复故障时,则从所述多个通信链路中选择除所述主用链路外的至少一个备份链;
发送模块13,用于通过所述选择模块12选择出的所述备份链路发送报文,以使所述接收节点将所述报文发送给所述主用链路的接收端,所述报文为所述主用链路发送端的重传缓存Buffer中的报文。
本发明实施例提供的报文传输装置,对于互联系统中,通过多条Link进行通信的两个节点,在判断出其中部分Link发生不可恢复故障时,将故障不可恢复的链路中发送端的重传缓存Buffer中的报文发送给备份链路,使备份链路将该些报文发送给故障不可恢复的链路的接收端,大大提高互联系统抵抗突发异常情况的能力,保证了互联系统的高可靠性。另外,该过程可以由硬件自动完成,无需任何额外的软件开销,也没有消耗额外的资源。
图9为本发明报文传输装置实施例二的结构示意图。如图8所示,本实施例的报文传输装置100在图8装置结构的基础上,可选的,还包括:
停止模块14,用于在判断模块11判断出主用链路发生不可恢复故障之后,选择模块12在从所述多个通信链路中选择所述备份链路之前,停止通过所述主用链路发送业务报文,所述业务报文为所述发送节点与所述接收节点之间的报文。
可选的,再请参照图9,该报文传输装置100还包括:
设置模块15,用于在发送模块13通过所述备份链路向所述接收节点发送报文之前,设置主用链路的发送端与备份链路的发送端之间的通路;
发送模块13,具体用于通过设置模块14设置的通路在发送节点内从主用链路向备份链路发送报文。
可选的,上述实施例中,主用链路发送端的重传缓存Buffer中的报文,包括:备份开始报文、重传Buffer中的残留报文,备份结束报文;其中备份开始报文携带主用链路的标识和重传Buffer中的头指针hptr,头指针hptr对应的地址晚于备份结束报文对应的地址时,指示接收节点完全接收重传缓存Buffer中的报文;发送模块13,具体用于通过备份链路顺序发送备份开始报文、残留报文、备份结束报文。
可选的,上述实施例中,备份链路包括:备份链路包括:直接连接发送节点与接收节点的有效链路;或者,通过第三节点连接发送节点与接收节点的有效链路,第三节点为发送节点与接收节点之外的其他节点。
可选的,上述实施例中,主用链路与备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
图10为本发明报文传输装置实施例三的结构示意图。本实施例提供的报文传输装置是与本发明图4实施例对应的装置实施例,具体实现过程在此不再赘述。具体的,本实施例提供的报文传输装置200具体包括:
接收模块21,用于接收发送节点通过备份链路发送的报文,报文为主用链路的发送端的重传缓存Buffer中的报文;主用链路为发送节点与接收节点之间的多个通信链路中的任一个;备份链路为多个通信链路中除主用链路外的至少一个其他链路;
发送模块22,用于在接收节点内从备用链路向主用链路的接收端发送接收模块21接收到的报文。
本发明实施例提供的报文传输装置,对于互联系统中,通过多条Link进行通信的两个节点,发送节点在判断出其中部分Link发生不可恢复故障时,将故障不可恢复的链路中发送端的重传缓存Buffer中的报文发送给备份链路;相应的,接收节点接收该些报文,并将该些报文发送给故障不可恢复的链路的接收端,从而大大提高互联系统抵抗突发异常情况的能力,保证了互联系统的高可靠性。另外,该过程可以由硬件自动完成,无需任何额外的软件开销,也没有消耗额外的资源。
图11为本发明报文传输装置实施例四的结构示意图。如图11所示,本实施例的报文传输装置200在图10装置结构的基础上,可选的,还包括:
设置模块23,用于在发送模块22向主用链路的接收端发送报文之前,设置备份链路的接收端与主用链路的接收端之间的通路;
发送模块22,具体用于通过设置模块23设置的通路向主用链路的接收端发送报文。
可选的,上述实施例中,主用链路的发送端的重传缓存Buffer中的报文,包括:备份开始报文、重传Buffer中的残留报文,备份结束报文;其中备份开始报文携带主用链路的标识和重传Buffer中的头指针hpt;
接收模块21,具体用于顺序接收备份开始报文、残留报文、备份结束报文;发送模块22,具体用于顺序向主用链路的接收端发送接收模块21接收到的备份开始报文、残留报文、备份结束报文。
再请参照图11,可选的,报文传输装置200还包括:
确定模块24,用于在发送模块22顺序向主用链路的接收端发送备份开始报文、残留报文、备份结束报文之后,根据hptr,确定主用链路的接收端的待收指针reptr对应的报文,待收指针reptr对应的报文后的报文为重传缓存Buffer中的报文。
再请参照图11,可选的,报文传输装置200还包括:
处理模块25,用于在接收模块21接收发送节点通过备份链路发送的报文之后,根据头指针hptr判断存放备份的备份结束报文的地址是否被释放,若释放,则确定主用链路的接收端已全部正确接收残留报文,头指针hptr对应的地址晚于备份结束报文对应的地址时,指示接收节点已全部正确接收重传缓存Buffer中的报文。
可选的,上述实施例中,备份链路包括:直接连接发送节点与接收节点的有效链路;或者,通过第三节点连接发送节点与接收节点的有效链路,第三节点为发送节点与接收节点之外的其他节点。
可选的,上述实施例中,主用链路与备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
图12为本发明报文传输装置实施例五的结构示意图。如图12所示,本实施例提供的报文传输装置300,包括:处理器31和存储器32。报文传输装置300还可以包括发射器33、接收器34。发射器33和接收器34可以和处理器31相连。其中,发射器33用于发送数据或信息,接收器34用于接收数据或信息,存储器32存储执行指令,当报文传输装置300运行时,处理器31与存储器32之间通信,处理器31调用存储器32中的执行指令,用于执行图3所示方法实施例,其实现原理和技术效果类似,此处不再赘述。
图13为本发明报文传输装置实施例六的结构示意图。如图13所示,本实施例提供的报文传输装置400,包括:处理器41和存储器42。报文传输装置400还可以包括发射器43、接收器44。发射器43和接收器44可以和处理器41相连。其中,发射器43用于发送数据或信息,接收器44用于接收数据或信息,存储器42存储执行指令,当报文传输装置400运行时,处理器41与存储器42之间通信,处理器41调用存储器42中的执行指令,用于执行图4所示方法实施例,其实现原理和技术效果类似,此处不再赘述。
另外,在上述报文传输装置的基础上,本发明实施例还提供一种互联接口,其包括如上图8、图9或图12所述的报文传输装置,以及如上图10、图11或图13所述的报文传输装置,具体工作原理此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (27)
1.一种报文传输方法,其特征在于,包括:
发送节点判断主用链路是否发生不可恢复故障,所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;
若所述发送节点判断出所述主用链路发生不可恢复故障,则从所述多个通信链路中选择除所述主用链路外的至少一个备份链路;
所述发送节点通过所述备份链路向所述接收节点发送报文,以使所述接收节点将所述报文发送给所述主用链路的接收端,所述报文为所述主用链路发送端的重传缓存Buffer中的报文。
2.根据权利要求1所述的方法,其特征在于,所述发送节点判断主用链路是否发生不可恢复故障之后,在从所述多个通信链路中选择所述备份链路之前,还包括:
所述发送节点停止通过所述主用链路发送业务报文,所述业务报文为所述发送节点与所述接收节点之间的报文。
3.根据权利要求1或2所述的方法,其特征在于,所述发送节点通过所述备份链路向所述接收节点发送报文之前,还包括:
所述发送节点设置所述主用链路的发送端与所述备份链路的发送端之间的通路;
所述发送节点通过所述备份链路向所述接收节点发送报文,包括:
所述发送节点通过所述通路在所述发送节点内从所述主用链路向所述备份链路发送报文。
4.根据权利要求1~3任一项所述的方法,其特征在于,所述主用链路发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识和所述重传Buffer中的头指针hptr,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点完全接收所述重传缓存Buffer中的报文;
所述发送节点通过所述备份链路向所述接收节点发送报文,包括:
所述发送节点通过所述备份链路顺序发送所述备份开始报文、所述残留报文、所述备份结束报文。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
6.根据权利要求1~5任一项所述的方法,其特征在于,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
7.一种报文传输方法,其特征在于,包括:
接收节点接收发送节点通过备份链路发送的报文,所述报文为主用链路的发送端的重传缓存Buffer中的报文;所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;所述备份链路为所述多个通信链路中除所述主用链路外的至少一个其他链路;
所述接收节点在所述接收节点内从所述备用链路向所述主用链路的接收端发送所述报文。
8.根据权利要求7所述的方法,其特征在于,所述接收节点向所述主用链路的接收端发送所述报文之前,还包括:
所述接收节点设置所述备份链路的接收端与所述主用链路的接收端之间的通路;
所述接收节点向所述主用链路的接收端发送所述报文,包括:
所述接收节点通过所述通路向所述主用链路的接收端发送所述报文。
9.根据权利要求7或8所述的方法,其特征在于,所述主用链路的发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识,和所述重传Buffer中的头指针hptr;
所述接收节点接收发送节点通过备份链路发送的报文,包括:顺序接收所述备份开始报文、所述残留报文、所述备份结束报文;
所述接收节点向所述主用链路的接收端发送所述报文,包括:
所述接收节点顺序向所述主用链路的接收端发送所述备份开始报文、所述残留报文、所述备份结束报文。
10.根据权利要求9所述的方法,其特征在于,所述备份开始报文还携带所述重传Buffer中的头指针hptr,所述接收节点顺序向所述主用链路的接收端发送所述备份开始报文、所述残留报文、所述备份结束报文之后,还包括:
所述接收节点根据所述hptr,确定所述主用链路的接收端的待收指针reptr对应的报文,所述待收指针reptr对应的报文后的报文为所述重传缓存Buffer中的报文。
11.根据权利要求9所述的方法,其特征在于,所述备份开始报文还携带所述重传Buffer中的头指针hptr,所述接收节点接收发送节点通过备份链路发送的报文之后,还包括:
所述接收节点在所述备份链路的发送端的重传Buffer中备份所述报文;
所述接收节点根据所述头指针hptr判断存放所述备份的备份结束报文的地址是否被释放,若释放,则确定所述主用链路的接收端已全部正确接收所述残留报文,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点已全部正确接收所述重传缓存Buffer中的报文。
12.根据权利要求7~11任一项所述的方法,其特征在于,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
13.根据权利要求7~12任一项所述的方法,其特征在于,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
14.一种报文传输装置,其特征在于,包括:
判断模块,用于判断主用链路是否发生不可恢复故障,所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;
选择模块,用于若所述判断模块判断出所述主用链路发生不可恢复故障时,则从所述多个通信链路中选择除所述主用链路外的至少一个备份链;
发送模块,用于通过所述选择模块选择出的所述备份链路发送报文,以使所述接收节点将所述报文发送给所述主用链路的接收端,所述报文为所述主用链路发送端的重传缓存Buffer中的报文。
15.根据权利要求14所述的装置,其特征在于,所述装置还包括:
停止模块,用于在所述判断模块判断出主用链路发生不可恢复故障之后,选择模块在从所述多个通信链路中选择所述备份链路之前,停止通过所述主用链路发送业务报文,所述业务报文为所述发送节点与所述接收节点之间的报文。
16.根据权利要求14或15所述的装置,其特征在于,所述装置还包括:
设置模块,用于在所述发送模块通过所述备份链路向所述接收节点发送报文之前,设置所述主用链路的发送端与所述备份链路的发送端之间的通路;
所述发送模块,用于通过所述设置模块设置的所述通路在所述发送节点内从所述主用链路向所述备份链路发送报文。
17.根据权利要求14~16任一项所述的装置,其特征在于,所述主用链路发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识和所述重传Buffer中的头指针hptr,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点完全接收所述重传缓存Buffer中的报文;
所述发送模块,具体用于通过所述备份链路顺序发送所述备份开始报文、所述残留报文、所述备份结束报文。
18.根据权利要求14~17任一项所述的装置,其特征在于,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
19.根据权利要求14~18任一项所述的装置,其特征在于,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
20.一种报文传输装置,其特征在于,包括:
接收模块,用于接收发送节点通过备份链路发送的报文,所述报文为主用链路的发送端的重传缓存Buffer中的报文;所述主用链路为所述发送节点与接收节点之间的多个通信链路中的任一个;所述备份链路为所述多个通信链路中除所述主用链路外的至少一个其他链路;
发送模块,用于在所述接收节点内从所述备用链路向所述主用链路的接收端发送所述接收模块接收到的所述报文。
21.根据权利要求20所述的装置,其特征在于,所述装置还包括:
设置模块,用于在所述发送模块向所述主用链路的接收端发送所述报文之前,设置所述备份链路的接收端与所述主用链路的接收端之间的通路;
所述发送模块,具体用于通过所述设置模块设置的所述通路向所述主用链路的接收端发送所述报文。
22.根据权利要求20或21所述的装置,其特征在于,所述主用链路的发送端的重传缓存Buffer中的报文,包括:备份开始报文、所述重传Buffer中的残留报文,备份结束报文;其中所述备份开始报文携带所述主用链路的标识和所述重传Buffer中的头指针hptr;
所述接收模块,具体用于顺序接收所述备份开始报文、所述残留报文、所述备份结束报文;
所述发送模块,具体用于顺序向所述主用链路的接收端发送所述接收模块接收到的所述备份开始报文、所述残留报文、所述备份结束报文。
23.根据权利要求22所述的装置,其特征在于,所述装置还包括:
确定模块,用于在所述发送模块顺序向所述主用链路的接收端发送所述备份开始报文、所述残留报文、所述备份结束报文之后,根据所述hptr,确定所述主用链路的接收端的待收指针reptr对应的报文,所述待收指针reptr对应的报文后的报文为所述重传缓存Buffer中的报文。
24.根据权利要求22所述的装置,其特征在于,所述装置还包括:
处理模块,用于在所述接收模块接收所述发送节点通过备份链路发送的报文之后,在所述备份链路的发送端的重传Buffer中备份所述报文,根据所述头指针hptr判断存放所述备份的备份结束报文的地址是否被释放,若释放,则确定所述主用链路的接收端已全部正确接收所述残留报文,所述头指针hptr对应的地址晚于所述备份结束报文对应的地址时,指示所述接收节点已全部正确接收所述重传缓存Buffer中的报文。
25.根据权利要求20~24任一项所述的装置,其特征在于,所述备份链路包括:直接连接所述发送节点与所述接收节点的有效链路;或者,通过第三节点连接所述发送节点与所述接收节点的有效链路,所述第三节点为所述发送节点与所述接收节点之外的其他节点。
26.根据权利要求20~25任一项所述的装置,其特征在于,所述主用链路与所述备份链路中的任一个包括多条并行转换器SerDes接口、多条源同步接口或多条低速并行接口。
27.一种互联接口,其特征在于,包括如权利要求14~19任一项所述的报文传输装置,以及如权利要求20~26任一项所述的报文传输装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410189288.1A CN103957155B (zh) | 2014-05-06 | 2014-05-06 | 报文传输方法、装置及互联接口 |
PCT/CN2014/088961 WO2015169057A1 (zh) | 2014-05-06 | 2014-10-20 | 报文传输方法、装置及互联接口 |
EP14891176.1A EP3107251B1 (en) | 2014-05-06 | 2014-10-20 | Packet transmission method and device |
US15/289,246 US10348616B2 (en) | 2014-05-06 | 2016-10-10 | Packet transmission method and apparatus, and interconnect interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410189288.1A CN103957155B (zh) | 2014-05-06 | 2014-05-06 | 报文传输方法、装置及互联接口 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103957155A true CN103957155A (zh) | 2014-07-30 |
CN103957155B CN103957155B (zh) | 2018-01-23 |
Family
ID=51334383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410189288.1A Active CN103957155B (zh) | 2014-05-06 | 2014-05-06 | 报文传输方法、装置及互联接口 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10348616B2 (zh) |
EP (1) | EP3107251B1 (zh) |
CN (1) | CN103957155B (zh) |
WO (1) | WO2015169057A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015169057A1 (zh) * | 2014-05-06 | 2015-11-12 | 华为技术有限公司 | 报文传输方法、装置及互联接口 |
CN105634694A (zh) * | 2014-11-03 | 2016-06-01 | 杭州华为数字技术有限公司 | 一种节点间传输数据的方法和系统 |
CN110213176A (zh) * | 2019-06-28 | 2019-09-06 | 北京东土军悦科技有限公司 | 交换机的报文处理方法、装置、设备及介质 |
CN111586099A (zh) * | 2020-04-01 | 2020-08-25 | 烽火通信科技股份有限公司 | 一种跨节点的数据备份同步方法及系统 |
WO2023051248A1 (zh) * | 2021-09-30 | 2023-04-06 | 华为技术有限公司 | 一种数据访问系统、方法及相关设备 |
WO2023122995A1 (zh) * | 2021-12-28 | 2023-07-06 | 华为技术有限公司 | 一种报文传输方法和装置 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8125907B2 (en) | 2008-06-12 | 2012-02-28 | Talari Networks Incorporated | Flow-based adaptive private network with multiple WAN-paths |
US9069727B2 (en) | 2011-08-12 | 2015-06-30 | Talari Networks Incorporated | Adaptive private network with geographically redundant network control nodes |
US10447543B2 (en) * | 2009-06-11 | 2019-10-15 | Talari Networks Incorporated | Adaptive private network (APN) bandwith enhancements |
CN108123901B (zh) * | 2016-11-30 | 2020-12-29 | 新华三技术有限公司 | 一种报文传输方法和装置 |
US11082304B2 (en) | 2019-09-27 | 2021-08-03 | Oracle International Corporation | Methods, systems, and computer readable media for providing a multi-tenant software-defined wide area network (SD-WAN) node |
US11483228B2 (en) | 2021-01-29 | 2022-10-25 | Keysight Technologies, Inc. | Methods, systems, and computer readable media for network testing using an emulated data center environment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277269A (zh) * | 2008-05-06 | 2008-10-01 | 杭州华三通信技术有限公司 | 实现可靠通信的终端、终端切换方法及系统和适用该系统的方法 |
CN102082696A (zh) * | 2011-03-10 | 2011-06-01 | 中控科技集团有限公司 | 一种冗余网络系统以及基于该系统的报文发送方法 |
CN103746912A (zh) * | 2014-01-03 | 2014-04-23 | 杭州华三通信技术有限公司 | 一种基于子环链路的数据报文传输方法和设备 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6160808A (en) * | 1997-12-18 | 2000-12-12 | 3Com Corporation | Technique for transmitting incoming multi-link point-to-point (PPP) packet traffic over multiple outgoing links in a multi-link bundle |
WO2001058066A1 (fr) * | 2000-02-01 | 2001-08-09 | Fujitsu Limited | Dispositif de transfert d'information |
US6606379B2 (en) * | 2001-06-01 | 2003-08-12 | Tekelec | Methods and systems for collapsing signal transfer point (STP) infrastructure in a signaling network |
US20060187841A1 (en) * | 2005-02-24 | 2006-08-24 | Tekelec | Methods, systems, and computer program products for suppressing congestion control at a signaling system 7 network node |
US7898944B2 (en) * | 2005-12-14 | 2011-03-01 | Cisco Technology, Inc. | Smart mechanism for multi-client bidirectional optical channel protection scheme |
JP4587053B2 (ja) * | 2007-08-28 | 2010-11-24 | 日本電気株式会社 | 通信装置、通信システム、パケット欠落検出方法、およびパケット欠落検出プログラム |
US7792014B2 (en) * | 2007-09-28 | 2010-09-07 | Integrated Device Technology, Inc. | Method of skipping nullified packets during mass replay from replay buffer |
US8094569B2 (en) * | 2008-12-05 | 2012-01-10 | Cisco Technology, Inc. | Failover and failback of communication between a router and a network switch |
US20130003549A1 (en) * | 2011-06-30 | 2013-01-03 | Broadcom Corporation | Resilient Hashing for Load Balancing of Traffic Flows |
US9762434B2 (en) * | 2011-08-12 | 2017-09-12 | Rambus Inc. | Temporal redundancy |
JP5987319B2 (ja) * | 2012-01-06 | 2016-09-07 | 富士ゼロックス株式会社 | 送受信システム及びプログラム |
JP5883743B2 (ja) * | 2012-08-20 | 2016-03-15 | 株式会社日立製作所 | パケット通信網における通信途絶時間短縮方法 |
US9154370B2 (en) * | 2012-11-05 | 2015-10-06 | Cisco Technology, Inc. | Seamless multipath retransmission using source-routed tunnels |
CN103957155B (zh) * | 2014-05-06 | 2018-01-23 | 华为技术有限公司 | 报文传输方法、装置及互联接口 |
-
2014
- 2014-05-06 CN CN201410189288.1A patent/CN103957155B/zh active Active
- 2014-10-20 EP EP14891176.1A patent/EP3107251B1/en active Active
- 2014-10-20 WO PCT/CN2014/088961 patent/WO2015169057A1/zh active Application Filing
-
2016
- 2016-10-10 US US15/289,246 patent/US10348616B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101277269A (zh) * | 2008-05-06 | 2008-10-01 | 杭州华三通信技术有限公司 | 实现可靠通信的终端、终端切换方法及系统和适用该系统的方法 |
CN102082696A (zh) * | 2011-03-10 | 2011-06-01 | 中控科技集团有限公司 | 一种冗余网络系统以及基于该系统的报文发送方法 |
CN103746912A (zh) * | 2014-01-03 | 2014-04-23 | 杭州华三通信技术有限公司 | 一种基于子环链路的数据报文传输方法和设备 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015169057A1 (zh) * | 2014-05-06 | 2015-11-12 | 华为技术有限公司 | 报文传输方法、装置及互联接口 |
US10348616B2 (en) | 2014-05-06 | 2019-07-09 | Huawei Technologies Co., Ltd. | Packet transmission method and apparatus, and interconnect interface |
CN105634694A (zh) * | 2014-11-03 | 2016-06-01 | 杭州华为数字技术有限公司 | 一种节点间传输数据的方法和系统 |
CN105634694B (zh) * | 2014-11-03 | 2019-09-03 | 杭州华为数字技术有限公司 | 一种节点间传输数据的方法和系统 |
CN110213176A (zh) * | 2019-06-28 | 2019-09-06 | 北京东土军悦科技有限公司 | 交换机的报文处理方法、装置、设备及介质 |
CN111586099A (zh) * | 2020-04-01 | 2020-08-25 | 烽火通信科技股份有限公司 | 一种跨节点的数据备份同步方法及系统 |
CN111586099B (zh) * | 2020-04-01 | 2023-03-24 | 烽火通信科技股份有限公司 | 一种跨节点的数据备份同步方法及系统 |
WO2023051248A1 (zh) * | 2021-09-30 | 2023-04-06 | 华为技术有限公司 | 一种数据访问系统、方法及相关设备 |
WO2023122995A1 (zh) * | 2021-12-28 | 2023-07-06 | 华为技术有限公司 | 一种报文传输方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP3107251B1 (en) | 2019-08-28 |
EP3107251A1 (en) | 2016-12-21 |
WO2015169057A1 (zh) | 2015-11-12 |
EP3107251A4 (en) | 2017-03-29 |
CN103957155B (zh) | 2018-01-23 |
US10348616B2 (en) | 2019-07-09 |
US20170026280A1 (en) | 2017-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103957155A (zh) | 报文传输方法、装置及互联接口 | |
CA2095054C (en) | Error recovery in an information communication system | |
EP2798782B1 (en) | Technique for handling a status change in an interconnect node | |
US5301186A (en) | High speed transmission line interface | |
CN102984059B (zh) | 千兆以太网冗余网卡及其链路切换条件判定结果控制方法 | |
US11251898B2 (en) | Device and method for the unidirectional transmission of data | |
CN103141050B (zh) | 快速通道互联系统中数据包重传方法、节点 | |
US9197373B2 (en) | Method, apparatus, and system for retransmitting data packet in quick path interconnect system | |
CN101286940A (zh) | 双冗余can总线通信系统及其通信方法 | |
JPH10326261A (ja) | 分散コンピュータ・システムのハードウェア要素によりエラーを報告するシステム | |
CN117220837A (zh) | 一种数据传输方法、存储介质及设备 | |
US20060187932A1 (en) | Method and system for transmitting telegrams | |
JPH10326260A (ja) | 分散コンピュータ・システムのハードウェア要素によりエラーを報告する方法 | |
KR20130064500A (ko) | 캔통신 시스템에서 메시지 송수신 시의 오류 복구 방법 | |
CN114884767B (zh) | 一种同步双冗余can总线通信系统、方法、设备及介质 | |
EP3319249A1 (en) | Transmission checking method, node, system and computer storage medium | |
US20100208581A1 (en) | Data transfer system, data transmitting device, data receiving device and data transfer method | |
CN101924662A (zh) | 一种告警传递方法 | |
KR101039508B1 (ko) | 데이터 전송을 감시하기 위한 방법 및 장치 | |
JP3217397B2 (ja) | 通信制御装置のデータ送信方法 | |
CN110557315B (zh) | 一种基于环网的就地化保护装置有主模式的数据传输方法 | |
CN108255770B (zh) | 基于1394总线事件消息响应机制的处理方法 | |
CN113300921A (zh) | 一种信息传输方法及设备 | |
CN119003407A (zh) | Dma传输方法和装置 | |
JP2000165424A (ja) | ループ式データ伝送装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |