CN111865816A - 一种数据传输的方法、发送方设备和接收方设备 - Google Patents
一种数据传输的方法、发送方设备和接收方设备 Download PDFInfo
- Publication number
- CN111865816A CN111865816A CN201910364824.XA CN201910364824A CN111865816A CN 111865816 A CN111865816 A CN 111865816A CN 201910364824 A CN201910364824 A CN 201910364824A CN 111865816 A CN111865816 A CN 111865816A
- Authority
- CN
- China
- Prior art keywords
- data block
- link
- data
- sender
- receiver device
- 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 97
- 230000005540 biological transmission Effects 0.000 title claims abstract description 46
- 238000012163 sequencing technique Methods 0.000 claims abstract description 11
- 238000013507 mapping Methods 0.000 claims description 54
- 238000012545 processing Methods 0.000 claims description 33
- 238000010586 diagram Methods 0.000 description 25
- 230000002776 aggregation Effects 0.000 description 19
- 238000004220 aggregation Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 239000000872 buffer Substances 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001105 regulatory effect Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/24—Multipath
- H04L45/245—Link aggregation, e.g. trunking
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种数据传输的方法,用于提供一种实现多个链路负载分担的均衡,且避免数据包乱序的一种数据传输的方法。本申请实施例方法包括:接收业务数据;根据业务数据中数据包的排序将业务数据分为第一数据块和第二数据块;分别为第一数据块和第二数据块分配第一链路和第二链路;生成合并规则,合并规则用于指示第一数据块和第二数据块的数据块排序,数据块排序与业务数据中数据包的排序对应;向接收方设备发送合并规则,并分别通过第一链路和第二链路向接收方设备发送第一数据块和第二数据块,以使接收方设备分别接收第一数据块和第二数据块,并根据合并规则所指示的数据块排序将第一数据块和第二数据块合并恢复为业务数据。
Description
技术领域
本申请涉及数据传输领域,尤其涉及一种数据传输的方法、发送方设备和接收方设备。
背景技术
以太网链路聚合(Eth-Trunk)简称链路聚合,如图1所示为链路聚合的示意图,它通过将多条以太网物理链路捆绑在一起成为一条逻辑链路,即链路聚合组(linkaggregation group,LAG),从而实现增加链路带宽的目的。同时,这些捆绑在一起的链路通过相互间的动态备份,可以有效地提高链路的可靠性,各条链路可以实现负载分担。
由于一条Eth-Trunk链路包括多条成员链路,因而在设备间传输数据时,为提高效率,需要将传输的数据分配到每个成员链路上来传输,即需要为每个链路分配负载。目前,链路聚合的负载分担方式主要包括逐流分担和逐包分担。如图2所示,为链路聚合的场景下逐包分担的示意图,设备1将不同的数据包分配至不同的链路上向设备2传输。如图3所示,为链路聚合的逐流分担的示意图,设备1为不同业务流分配不同的链路,从而在不同链路上向设备2传输不同业务流的数据。
但是,无论是逐包分担,还是逐流分担的方式,都有比较大的缺陷。由于设备1和设备2之间的逻辑链路包含多个成员链路,逐包分担时,可能会产生同一数据流的第二数据块在一条成员链路上传输,而第二数据块在另外一条成员链路上传输的情况,若第一条成员链路在数据传输时出现故障或者另外一条成员链路的传输速率较快,这样一来,就有可能出现该第二数据块比第二数据块先到达设备2的情况,从而产生设备2接收的该业务流的数据包乱序的情况。而逐流分担时,设备1根据不同业务流的五元组为不同业务流分配不同的出端口,这样就保证了同一业务流的数据包在同一成员链路上转发,从而保证了业务流中数据包的顺序不会在传输中发生改变。但由于流量是动态的,具有突发性,逐流分担不能保证各链路利用率的问题,即有可能存在某段时间内某条链路上都是大流量,另一条链路都是小流量或无流量的情况。综上可知,在对Eth-Trunk链路进行负载分担时,如何实现既不产生业务流的数据包在传输过程中的乱序问题,且能够提高各链路利用率,是一个亟需解决的问题。
发明内容
本申请实施例公开了一种数据传输的方法,该用法应用于发送方设备和接收方设备之间,该发送方设备和接收方设备通过第一链路和第二链路连接,用于提供一种实现多个链路负载分担的均衡,且避免数据包乱序的一种数据传输的方法。
有鉴于此,本申请实施例第一方面提供了一种数据传输的方法,该方法应用于发送方设备和接收方设备,该发送方设备和该接收方设备通过第一链路和第二链路相连,可以包括:
发送方设备,如路由器交换机等,在接收到上一节点发送的业务数据后,根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块,并分别为该第一数据块和该第二数据块分配该第一链路和该第二链路,每个数据块都可以包含多个数据包。确定数据块对应的链路后,该发送方设备生成用于指示该第一数据块和该第二数据块的排序的合并规则,该第一数据块和该第二数据块的排序与该业务数据中数据包的排序对应。该发送方设备向该接收方设备发送该合并规则,并分别通过该第一链路和该第二链路向该接收方设备发送该第一数据块和该第二数据块,从而使得接收方设备在分别通过第一链路和第二链路接收到该第一数据块和该第二数据块后,可以根据该合并规则所指示的数据块的排序将该第一数据块和该第二数据块合并恢复为该业务数据。本申请实施例中,发送方设备在向接收方设备发送数据时,第一链路和第二链路均参与了数据的转发,相比现有技术中的逐流分担方式避免了某一链路空置带来的链路利用率低下,同时由于在发送数据块时,也发送了合并规则,确保了接收方设备可以将收到的第一数据块和第二数据块恢复为原业务数据,相比现有技术中的逐包分担方式,避免了传输过程中的数据包乱序情况。
可选的,在一些可能的实现方式中,该合并规则可以包括该第一链路和该第二链路的排序信息。本申请实施例中,对合并规则进行了进一步的说明,提高了方案的可操作性。
可选的,在一些可能的实现方式中,该发送方设备根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块,可以包括:该发送方设备根据该业务数据中数据包的排序及该第一链路和该第二链路的带宽大小比例将该业务数据分为第一数据块和第二数据块。本申请实施例中,指出第一数据块和第二数据块的大小可以根据链路带宽的比例来分配,进一步提高了链路的带宽利用率。
可选的,在一些可能的实现方式中,该发送方设备分别为该第一数据块和该第二数据块分配该第一链路和该第二链路,包括:该发送方设备根据该第一数据块和该第二数据块的数据量的大小分别为该第一数据块和该第二数据块分配该第一链路和该第二链路。本申请实施例中,指出发送方设备可以根据数据块的大小,为数据块分配对应的链路,即带宽越大的链路承载更多的数据块的传输,从而进一步提高了链路的带宽利用率。
可选的,在一些可能的实现方式中,该方法还可以包括:该发送方设备确定第一阈值和第二阈值,该第一阈值为该第一链路在单个预设的时间槽内传输的数据量的上限值,该第二阈值为该第二链路在单个预设的该时间槽内传输的数据量的上限值,该第一数据块的数据量小于等于该第一阈值,该第二数据块的数据量小于等于该第二阈值。本申请实施例中,指出可以为第一链路和第二链路设定单个时间槽内传输的数据量的上限值,从而发送方设备在分配第一数据块和第二数据块的大小时,可以以此为参照,从而确保各个链路的充分利用。
可选的,在一些可能的实现方式中,该发送方设备确定第一阈值和第二阈值,可以包括:该发送方设备确定第三阈值,该第三阈值为预先设定的该发送方设备单次处理的数据量和预先设定的该接收方设备单次处理的数据量中两者的较小值;该发送方设备根据该第三阈值及该第一链路和该第二链路的总带宽计算得到该时间槽;该发送方设备根据该第一链路的带宽值、该第二链路的带宽值和该时间槽计算得到该第一阈值和该二阈值。本申请实施例中,对第一阈值和第二阈值的确定进行了说明,提高了方案的可操作性。
可选的,在一些可能的实现方式中,该方法还可以包括:该发送方设备从该接收方设备接收反馈消息,该反馈消息可以包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;该发送方设备根据该延迟信息调整通过该第一链路和该第二链路发送数据的时间点。本申请实施例中,指出发送方设备可以从接收方设备接收反馈消息,从而根据该反馈消息携带的第一链路和该第二链路接收数据的延迟信息调整第一链路和第二链路发送数据的时间点,使得接收方设备可以同时接收到之后通过第一链路和第二链路发送来的数据,减少了接收方设备的等待时间,从而提高了数据传输的效率。
本申请实施例第二方面提供了一种数据传输的方法,该方法应用于发送方设备和接收方设备,该发送方设备和该接收方设备通过第一链路和第二链路相连,该方法可以包括:
接收方设备与发送方设备建立第一链路和第二链路的连接后,从该发送方设备接收合并规则,以及分别通过该第一链路和该第二链路从该发送方设备接收第一数据块和第二数据块。之后,该接收方设备根据该合并规则确定该第一数据块和该第二数据块的数据块排序并根据该数据块排序将该第一数据块和该第二数据块合并恢复为业务数据。本申请实施例中,接收方设备在接收数据块时,一并还接收到了合并规则,从而接收方设备可以根据该合并规则确定接收到的第一数据块和第二数据块的排序,并按照排序将第一数据块和第二数据块恢复为原业务数据。由于第一链路和第二链路均参与了数据转发,相比逐流分担的方式,提高了链路的利用率,同时,由于接收方同时还接收到了合并规则,根据合并规则所指示的排序对第一数据块和第二数据块进行合并恢复,相比逐流分担的方式,避免了数据传输过程中的乱序情况的发生。
可选的,在一些可能的实现方式中,该合并规则可以包括该第一链路和该第二链路的排序信息。本申请实施例中,对合并规则进行了进一步的说明,提高了方案的可操作性。
可选的,在一些可能的实现方式中,该方法还可以包括:该接收方设备生成反馈消息,该反馈消息可以包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;该接收方设备向该发送方设备发送该反馈消息,该反馈消息用于指示该发送方设备调整通过该第一链路和该第二链路发送数据的时间点。本申请实施例中,指出接收方设备可以向发送方设备发送反馈消息,从而使得发送方设备根据该反馈消息所携带的第一链路和该第二链路接收数据的延迟信息调整第一链路和第二链路发送数据的时间点,使得接收方设备可以同时接收到之后通过第一链路和第二链路发送来的数据,减少了接收方设备的等待时间,从而提高了数据传输的效率。
本申请实施例第三方面提供了一种数据传输的方法,该方法应用于发送方设备和接收方设备,该发送方设备和该接收方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该方法可以包括:
发送方设备,如路由器交换机等,在接收到上一节点发送的业务数据后,将该业务数据以队列的形式保存在本地,业务数据中数据包的顺序即为数据包在队列中的顺序。该发送方设备根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块,并生成该第一数据块和该第二数据块的数据块排序,该数据块排序与该业务数据中数据包的排序对应,该数据块排序可以体现为数据块编号的排序。该发送方设备根据该数据块排序及预置的该映射关系为该第一数据块分配该第一链路,并为该第二数据块分配该第二链路。之后,该发送方设备分别通过该第一链路和该第二链路向该接收方设备发送该第一数据块和该第二数据块,以使该接收方设备分别接收该第一数据块和该第二数据块,并根据预置的该映射关系确定该数据块排序,进而根据该数据块排序将该第一数据块和该第二数据块合并恢复为该业务数据。本申请实施例中,发送方设备和接收方设备均预置有不同数据块排序与不同链路的映射关系,从而发送方设备可以根据该映射关系为第一数据块和第二数据块分配对应的链路,并且接收方设备在分别通过第一链路和第二链路接收到该第一数据块和第二数据块后,可以根据该映射关系确定第一数据块和第二数据块的排序,进而根据该排序将第一数据块和第二数据块恢复为原业务数据。由于在本方案中,发送方设备在向接收方设备发送数据时,第一链路和第二链路均参与了数据的转发,因而相比现有技术中的逐流分担方式,避免了某一链路空置带来的链路利用率低下,同时由于接收方设备和发送方设备均预置了该映射关系,确保了接收方设备可以将收到的第一数据块和第二数据块恢复为原业务数据,相比现有技术中的逐包分担方式,避免了传输过程中的数据包乱序情况。
可选的,在一些可能的实现方式中,该发送方设备根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块,可以包括:该发送方设备根据该业务数据中数据包的排序及该第一链路和该第二链路的带宽大小比例将该业务数据分为第一数据块和第二数据块。本申请实施例中,指出第一数据块和第二数据块的大小可以根据链路带宽的比例来分配,进一步提高了链路的带宽利用率。
可选的,在一些可能的实现方式中,该方法还可以包括:该发送方设备确定第一阈值和第二阈值,该第一阈值为该第一链路在单个预设的时间槽内传输的数据量的上限值,该第二阈值为该第二链路在单个预设的该时间槽内传输的数据量的上限值,该第一数据块的数据量小于等于该第一阈值,该第二数据块的数据量小于等于该第二阈值。本申请实施例中,指出可以为第一链路和第二链路设定单个时间槽内传输的数据量的上限值,从而发送方设备在分配第一数据块和第二数据块的大小时,可以以此为参照,从而确保各个链路的充分利用。
可选的,在一些可能的实现方式中,该发送方设备确定第一阈值和第二阈值,可以包括:该发送方设备确定第三阈值,该第三阈值为预先设定的该发送方设备单次处理的数据量和预先设定的该接收方设备单次处理的数据量中两者的较小值;该发送方设备根据该第三阈值、该第一链路和该第二链路的总带宽计算得到该时间槽;该发送方设备根据该第一链路的带宽值及该第二链路的带宽值和该时间槽计算得到该第一阈值和该二阈值。本申请实施例中,对第一阈值和第二阈值的确定进行了说明,提高了方案的可操作性。
可选的,在一些可能的实现方式中,该方法还可以包括:该发送方设备从该接收方设备接收反馈消息,该反馈消息可以包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;该发送方设备根据该延迟信息调整通过该第一链路和该第二链路发送数据的时间点。本申请实施例中,指出发送方设备可以从接收方设备接收反馈消息,从而根据该反馈消息携带的第一链路和该第二链路接收数据的延迟信息调整第一链路和第二链路发送数据的时间点,使得接收方设备可以同时接收到之后通过第一链路和第二链路发送来的数据,减少了接收方设备的等待时间,从而提高了数据传输的效率。
本申请实施例第四方面提供了一种数据传输的方法,该方法应用于发送方设备和接收方设备,该发送方设备和该接收方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该方法可以包括:
接收方设备与发送方设备建立第一链路和第二链路的连接后,分别通过该第一链路和该第二链路从该发送方设备接收第一数据块和第二数据块,该第一链路和该第二链路由该发送方设备根据该第一数据块和该第二数据块的数据块排序及该映射关系确定,该数据块排序与业务数据中数据包的排序对应。之后,该接收方设备根据该映射关系确定该第一数据块和第二数据块的数据块排序,并根据该排序将该第一数据块和该第二数据块合并恢复为该业务数据。本申请实施例中,接收方设备在接收数据块后,根据不同链路以及预置的映射表,从而确定不同链路所接收到的数据块的排序,进而将接收到的数据块进行合并恢复为原数据。由于第一链路和第二链路均参与了数据转发,相比逐流分担的方式,提高了链路的利用率,同时,由于接收方同时还接收到了合并规则,根据合并规则所指示的排序对第一数据块和第二数据块进行合并恢复,相比逐流分担的方式,避免了数据传输过程中的乱序情况的发生。
可选的,在一些可能的实现方式中,该方法还可以包括:该接收方设备生成反馈消息,该反馈消息可以包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;该接收方设备向该发送方设备发送该反馈消息,该反馈消息用于指示该发送方设备调整通过该第一链路和该第二链路发送数据的时间点。本申请实施例中,指出接收方设备可以向发送方设备发送反馈消息,从而使得发送方设备根据该反馈消息所携带的第一链路和该第二链路接收数据的延迟信息调整第一链路和第二链路发送数据的时间点,使得接收方设备可以同时接收到之后通过第一链路和第二链路发送来的数据,减少了接收方设备的等待时间,从而提高了数据传输的效率。
本申请实施例第五方面提供了一种发送方设备,该发送方设备和接收方设备通过第一链路和第二链路相连,该发送方设备包括:
收发单元,用于接收业务数据;
处理单元,用于根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块;分别为该第一数据块和该第二数据块分配该第一链路和该第二链路;生成合并规则,该合并规则用于指示该第一数据块和该第二数据块的数据块排序,该数据块排序与该业务数据中数据包的排序对应;
该收发单元,还用于向该接收方设备发送该合并规则,并分别通过该第一链路和该第二链路向该接收方设备发送该第一数据块和该第二数据块,以使该接收方设备分别接收该第一数据块和该第二数据块,并根据该合并规则所指示的该数据块排序将该第一数据块和该第二数据块合并恢复为该业务数据。
可选的,在一些可能的实现方式中,
该合并规则包括该第一链路和该第二链路的排序信息。
可选的,在一些可能的实现方式中,
该处理单元,具体用于根据该业务数据中数据包的排序及该第一链路和该第二链路的带宽大小比例将该业务数据分为第一数据块和第二数据块。
可选的,在一些可能的实现方式中,
该处理单元,具体用于根据该第一数据块和该第二数据块的数据量的大小分别为该第一数据块和该第二数据块分配该第一链路和该第二链路。
可选的,在一些可能的实现方式中,
该处理单元,还用于确定第一阈值和第二阈值,该第一阈值为该第一链路在单个预设的时间槽内传输的数据量的上限值,该第二阈值为该第二链路在单个预设的该时间槽内传输的数据量的上限值,该第一数据块的数据量小于等于该第一阈值,该第二数据块的数据量小于等于该第二阈值。
可选的,在一些可能的实现方式中,
该处理单元,具体用于确定第三阈值,该第三阈值为预先设定的该发送方设备单次处理的数据量和预先设定的该接收方设备单次处理的数据量中两者的较小值;根据该第三阈值及该第一链路和该第二链路的总带宽计算得到该时间槽;根据该第一链路的带宽值、该第二链路的带宽值和该时间槽计算得到该第一阈值和该二阈值。
可选的,在一些可能的实现方式中,
该收发单元,还用于从该接收方设备接收反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;根据该延迟信息调整通过该第一链路和该第二链路发送数据的时间点。
本申请实施例第六方面提供了一种接收方设备,该接收方设备和发送方设备通过第一链路和第二链路相连,该接收方设备包括:
收发单元,用于从该发送方设备接收合并规则,并分别通过该第一链路和该第二链路从该发送方设备接收第一数据块和第二数据块;
处理单元,用于根据该合并规则确定该第一数据块和该第二数据块的数据块排序;根据该数据块排序将该第一数据块和该第二数据块合并恢复为业务数据。
可选的,在一些可能的实现方式中,
该合并规则包括该第一链路和该第二链路的排序信息。
可选的,在一些可能的实现方式中,
该处理单元,还用于生成反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;
该收发单元,还用于向该发送方设备发送该反馈消息,该反馈消息用于指示该发送方设备调整通过该第一链路和该第二链路发送数据的时间点。
本申请实施例第七方面提供了一种发送方设备,该发送方设备和接收方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该发送方设备包括:
收发单元,用于接收业务数据;
处理单元,用于根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块,并生成该第一数据块和该第二数据块的数据块排序,该数据块排序与该业务数据中数据包的排序对应;根据该数据块排序及预置的该映射关系为该第一数据块分配该第一链路,并为该第二数据块分配该第二链路;
该收发单元,还用于分别通过该第一链路和该第二链路向该接收方设备发送该第一数据块和该第二数据块,以使该接收方设备分别接收该第一数据块和该第二数据块,并根据预置的该映射关系确定该数据块排序,进而根据该数据块排序将该第一数据块和该第二数据块合并恢复为该业务数据。
可选的,在一些可能的实现方式中,
该处理单元,具体用于根据该业务数据中数据包的排序及该第一链路和该第二链路的带宽大小比例将该业务数据分为第一数据块和第二数据块。
可选的,在一些可能的实现方式中,
该处理单元,还用于确定第一阈值和第二阈值,该第一阈值为该第一链路在单个预设的时间槽内传输的数据量的上限值,该第二阈值为该第二链路在单个预设的该时间槽内传输的数据量的上限值,该第一数据块的数据量小于等于该第一阈值,该第二数据块的数据量小于等于该第二阈值。
可选的,在一些可能的实现方式中,
该处理单元,具体用于确定第三阈值,该第三阈值为预先设定的该发送方设备单次处理的数据量和预先设定的该接收方设备单次处理的数据量中两者的较小值;根据该第三阈值、该第一链路和该第二链路的总带宽计算得到该时间槽;根据该第一链路的带宽值及该第二链路的带宽值和该时间槽计算得到该第一阈值和该二阈值。
可选的,在一些可能的实现方式中,
该接收单元,还用于从该接收方设备接收反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;根据该延迟信息调整通过该第一链路和该第二链路发送数据的时间点。
本申请实施例第八方面提供了一种接收方设备,该接收方设备和发送方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该接收方设备包括:
收发单元,用于分别通过该第一链路和该第二链路从该发送方设备接收第一数据块和第二数据块,该第一链路和该第二链路由该发送方设备根据该第一数据块和该第二数据块的数据块排序及该映射关系确定,该数据块排序与业务数据中数据包的排序对应;
处理单元,用于根据该映射关系确定该数据块排序;根据该数据块排序将该第一数据块和该第二数据块合并恢复为该业务数据。
可选的,在一些可能的实现方式中,
该处理单元,还用于生成反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;
该收发单元,还用于向该发送方设备发送该反馈消息,该反馈消息用于指示该发送方设备调整通过该第一链路和该第二链路发送数据的时间点。
本申请实施例第九方面提供了一种发送方设备,所述发送方设备和接收方设备通过第一链路和第二链路相连,所述发送方设备可以包括:
处理器、存储器以及收发器;所述存储器、所述收发器和所述处理器通过总线连接;所述收发器用于与所述发送方设备之外的装置进行通信;所述存储器用于存储操作指令;所述处理器用于调用所述操作指令,执行本申请实施例中第一方面及任一可选方式中所述的方法。
本申请实施例第十方面提供了一种接收方设备,所述接收方设备和发送方设备通过第一链路和第二链路相连,所述接收方设备可以包括:
处理器、存储器以及收发器;所述存储器、所述收发器和所述处理器通过总线连接;所述收发器用于与所述接收方设备之外的装置进行通信;所述存储器用于存储操作指令;所述处理器用于调用所述操作指令,执行本申请实施例中第二方面及任一可选方式中所述的方法。
本申请实施例第十一方面提供了一种发送方设备,该发送方设备和接收方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该发送方设备可以包括:
处理器、存储器以及收发器;所述存储器、所述收发器和所述处理器通过总线连接;所述收发器用于与所述发送方设备之外的装置进行通信;所述存储器用于存储操作指令;所述处理器用于调用所述操作指令,执行本申请实施例中第三方面及任一可选方式中所述的方法。
本申请实施例第十二方面提供了一种接收方设备,该接收方设备和发送方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该接收方设备可以包括:
处理器、存储器以及收发器;所述存储器、所述收发器和所述处理器通过总线连接;所述收发器用于与所述接收方设备之外的装置进行通信;所述存储器用于存储操作指令;所述处理器用于调用所述操作指令,执行本申请实施例中第四方面及任一可选方式中所述的方法。
本申请实施例第十三方面提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行本申请实施例中第一方面或第二方面及任一可选方式中所述的方法。
本申请实施例第十四方面提供了一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行本申请实施例中第一方面或第二方面及任一可选方式中所述的方法。
本申请实施例第十五方面提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行本申请实施例中第三方面或第四方面及任一可选方式中所述的方法。
本申请实施例第十六方面提供了一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行本申请实施例中第三方面或第四方面及任一可选方式中所述的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
发送方设备在接收到业务数据后,根据业务数据中数据包的排序将业务数据分为第一数据块和第二数据块,并生成了对应的合并规则。从而之后将该合并规则发送给接收方设备,并分别通过第一链路和第二链路向接收方设备发送第一数据块和第二数据块,使得接收方设备可以根据该合并规则,将接收到的第一数据块和第二数据块合并恢复为该业务数据。即发送方设备在向接收方设备发送数据时,第一链路和第二链路均参与了数据的转发,相比现有技术中的逐流分担方式避免了某一链路空置带来的链路利用率低下,同时由于在发送数据块时,也发送了合并规则,确保了接收方设备可以将收到的第一数据块和第二数据块恢复为原业务数据,相比现有技术中的逐包分担方式避免了传输过程中的数据包乱序的情况。
附图说明
图1为本申请实施例中所提供的链路聚合的示意图;
图2为本申请实施例中所提供的链路聚合的场景下逐包分担的示意图;
图3为本申请实施例中所提供的链路聚合的场景下逐流分担的示意图;
图4为本申请实施例中所提供的流程示意图;
图5为本申请实施例中一种数据传输的方法的一个实施例示意图;
图6为本申请实施例中所提供的一个场景示意图;
图7为本申请实施例中一种数据传输的方法的一个实施例示意图;
图8为本申请实施例中一种发送方设备的一个实施例示意图;
图9为本申请实施例中一种接收方设备的一个实施例示意图;
图10为本申请实施例中一种发送方设备的一个实施例示意图;
图11为本申请实施例中一种接收方设备的一个实施例示意图;
图12为本申请实施例中一种发送方设备的另一个实施例示意图;
图13为本申请实施例中一种接收方设备的另一个实施例示意图;
图14为本申请实施例中一种发送方设备的另一个实施例示意图;
图15为本申请实施例中一种接收方设备的另一个实施例示意图。
具体实施方式
下面结合附图对本申请实施例提供的一种数据传输的方法、发送方设备和接收方设备进行详细说明。
本申请实施例,应用于数据传输领域,可以应用于至少两个设备,如路由器、交换机等设备之间的数据交互,例如但不限于应用于Eth-Trunk场景下的数据传输。
下面对本申请实施例所涉及的技术或者术语进行说明。
链路聚合技术是一种可以在不进行硬件升级的条件下,通过将多个物理链路捆绑在一起成为一个逻辑链路,从而有效提高两个设备之间链路带宽的方式。其中,该逻辑链路又称为链路聚合组(link aggregation group,LAG),每个聚合组唯一对应着一个逻辑接口,可以作为普通的以太网接口来使用,与普通以太网接口的差别在于:转发的时候链路聚合组需要从成员接口中选择一个或多个接口来进行数据转发。
数据包乱序是指,发送方设备在向接收方设备发送业务数据时,由于在传输过程中受一些因素的影响,导致接收方设备所接收到的业务流数据包的顺序与发送方设备上该业务流数据包的顺序不同的情况。如图1所示,发送方设备和接收方设备以队列的形式存储业务数据,发送方设备上的业务数据包含业务流a、b和c的数据,所对应的数据包的排序为b2-c2-c1-a2-b1-a1。而在传输过程中,由于每个数据包传输的时间并不相同,接收方设备接收到的数据包的时间点也并不对应,从而导致接收方设备接收并保存在队列中数据包的排序为c1-b2-c2-b1-a1-a2,业务流a和业务流c发生乱序。数据包乱序会导致接收方对该业务流的数据进行处理时,不能按照原有的顺序进行处理,从而可能导致业务数据处理错误的情况。
基于以上的说明,本申请实施例提供了一种数据传输的方法,用于提供一种在链路聚合场景下,实现各链路负载分担的均衡,且避免发生数据包乱序的一种数据传输的方法。
如图4所示,为本申请实施例所提供的流程示意图,该流程包括:步骤401:发送方设备对队列中的业务数据按照数据包的排序划分为多个数据块,数据块的数量与活跃链路的数量一致,数据块的排序与业务数据中数据包的排序对应;402:发送方设备为每个数据块分配对应的链路;403:发送方设备通过每个链路向接收方设备发送对应的数据块;404:接收方设备根据数据块的排序,将接收到的数据块合并恢复为原业务数据。
参照图4所示的流程示意图,发送方设备通过将队列中的业务数据按照业务数据中数据包的排序分为多个有序的数据块,并为每个数据包分配活跃链路,分别通过对应的活跃链路进行转发,数据块的数量与活跃链路的数量相同。之后,接收方设备将通过不同链路接收到的数据块按照数据块排序合并恢复为原业务数据。由于数据块的传输过程中,每个活跃链路都参与了转发,从而相比逐流分担的方式,提高了链路的利用率。而数据块存在顺序,该顺序与业务数据中数据包的排序对应,接收方设备在接收到不同链路的数据块后,可以根据该顺序恢复业务数据,因而相比逐包分担的方式,解决了乱序问题。
该流程示意图中,接收方设备需要确定数据块的顺序。需要说明的是,该数据块的顺序可以是发送方设备在发送数据块时告知接收方设备的,从而接收方设备可以根据该顺序对接收到的数据块进行合并恢复。也可以是双方预先协商的,即发送方设备按照预定的方式发送数据块,而接收方设备同时也按照该预设的方式接收,通过该方式保证接收方设备接收到的数据块的排序与发送方设备一致,进而接收方设备可以按照该排序合并恢复业务数据。
基于以上的说明,下面分别就接收方设备如何确定接收到的数据块的排序分别进行说明。
如图5所示,为本申请实施例所提供的一种数据传输的方法的一个实施例示意图,包括:
501、发送方设备建立与接收方设备之间的逻辑链路,该逻辑链路包括第一链路和第二链路。
本实施例中,发送方设备和接收方设备可以是路由器或者交换机,可以是相同的设备也可以是不同设备。所建立的逻辑链路即为Eth-Trunk链路,建立该Eth-Trunk链路的方式可以通过人工模式或者链路汇聚控制协议(link aggregation control protocol,LACP)模式,两种方式略有不同,具体这两种建立逻辑链路的方式是目前该技术领域的常见技术,此处不再赘述。
其中,所建立的逻辑链路包含多条成员链路,该成员链路包括至少两个活动链路,还可以包括非活动链路,活动链路用于参与数据转发,非活动链路为备用链路,在某一活动链路出现故障时,非活动链路由聚合组两端设备自动调控或者接收人工调控替代故障的活动链路,从而完成数据转发的任务。该至少两个活动链路包括第一链路和第二链路,第一链路和第二链路的带宽大小可以相同也可以不同。需要说明的是,每个链路在聚合组两端设备都具有对应的端口号,发送方设备和接收方设备建立该逻辑链路后,基于所连接的成员链路,发送方设备和接收方设备两端同时会在本地生成端口号的对应关系,并将该对应关系保存在本地。从而,发送方设备和接收方设备可以通过一对对应的端口号来标识链路。如下表1所示,为聚合组两端设备的端口号与成员链路的对应关系。
端口号(发送方设备) | 端口号(接收方设备) | 带宽(Geb/s) |
001 | 004 | 100 |
002 | 005 | 10 |
003 | 006 | 1 |
表1
502、发送方设备确定第三阈值,该第三阈值为预先设定的发送方设备和接收方设备单次处理的数据量中两者的较小值。
本实施例中,发送方设备和接收方设备对接收到的业务数据以队列的形式进行存储,存储在预设的队列中,因而发送方设备和接收方设备均预先设定有队列值,预设的队列值指示了设备预设的单次处理的数据量。
发送方设备和接收方设备建立Eth-Trunk链路后,发送方设备可以向接收方设备发送请求消息,根据接收方设备返回的响应确定接收方设备预先设定的队列值,之后通过与自身预先设定的队列值进行比较,确定第三阈值,该第三阈值发送方设备和接收方设备两者的队列值的较小值。除此之外,该发送方设备也可以在建立Eth-Trunk链路的过程中,确定该第三阈值,具体确定该第三阈值的方式,此处不做限定。
503、发送方设备根据第三阈值、第一链路和第二链路的总带宽计算得到时间槽信息。
本实施例中,确定第三阈值后,发送方设备根据该第三阈值和当前活跃链路的总带宽计算得到时间槽信息,例如,设定活跃链路为第一链路和第二链路,其总带宽为110Geb/s,第三阈值为14.08M,则计算得到时间槽=14.08M/110Geb/s=1ms。
504、发送方设备根据第一链路的带宽值、第二链路的带宽值和时间槽计算得到第一阈值和二阈值,该第一阈值和第二阈值分别为第一链路和第二链路在单个预设的时间槽内传输的数据量的上限值。
本实施例中,发送方设备确定时间槽后,发送方设备根据第一链路和第二链路各自的带宽值分别计算得到在该时间槽内,第一链路和第二链路传输的数据量的最大值,即分别对应为第一阈值和第二阈值。例如,第一链路的带宽为100Geb/s,第二链路的带宽为10Geb/s,时间槽为1ms,则计算得到第一阈值为100Geb/s×1ms=12.8M,第二阈值为10Geb/s×1ms=1.28M,即在1ms内,发送方/接收方设备通过第一链路发送/接收的数据量最大值不超过12.8M,对应第二链路为1.28M。
除此之外,确定第一阈值和第二阈值后,发送方设备可以将出队列按照该第一阈值和第二阈值的大小进行设置,即将第一链路对应的出队列划分为该第一阈值对应的数值,将第二链路对应的出队列的大小划分为该第二阈值对应的数值。同时,该发送方设备也可以向接收方设备发送配置信息,使得接收方设备预先将第一链路对应的入队列的大小设置为第一阈值的数值,将第二链路对应的入队列的大小设置为第二阈值的数值。
需要说明的是,步骤502至步骤504为可选步骤。
505、发送方设备接收业务数据。
本实施例中,发送方设备从上一节点接收并在队列中缓存一个或者多个流的业务数据,不同流的数据采用五元组进行区分。其中,所接收的这些业务数据包含多个数据包,发送方设备按照接收数据包的顺序,将接收到的这些数据包以队列的形式缓存在本地。
506、发送方设备根据业务数据中数据包的排序将业务数据分为第一数据块和第二数据块,第一数据块的数据量小于等于第一阈值,第二数据块的数据量小于第二阈值。
本实施例中,发送方设备获取到业务数据后,保存在队列中。根据出队列中数据包的报头所指示的路径,确定下一个节点为接收方设备。发送方设备与接收方设备之间的链路包括第一链路和第二链路,发送方设备对出队列中业务数据的数据包的排序将业务数据划分为第一数据块和第二数据块,其中,数据块的数量不超过当前活跃链路的数量,该第一数据块和第二数据块均可以由一个或者多个数据包组成,第一数据块的数据量小于等于第一阈值,第二数据块的数据量小于所述第二阈值。
此外,需要说明的是,所划分的第一数据块和第二数据块的大小可以相同,也可以不同。
可选的,在一些可能的实现方式中,发送方设备在根据业务数据的数据包的排序划分业务数据时,再根据各活跃链路带宽的大小比例来确定所划分的第一数据块和第二数据块的大小。例如,如步骤404中所述,假设第一链路和第二链路的带宽大小分别为100Geb/s和10Geb/s,对应的第一阈值和第二阈值分别为12.8M和1.28M,假设出队列中保存的业务数据的数据量为13.2M,则可以按照第一链路和第二链路带宽大小比例,将该业务数据分为12M和1.2M,即设定第一数据块和第二数据块的数据量分别为12M和1.2M。
507、发送方设备分别为第一数据块和第二数据块分配第一链路和第二链路。
本实施例中,发送方设备确定第一数据块和第二数据块后,可以随机或根据预设的其他规则为第一数据块分配第一链路,并为第二数据块分为第二链路。
可选的,在一些可能的实现方式中,发送方设备根据第一数据块和第二数据块的数据量大小为第一数据块分配第一链路,为第二数据块分配第二链路,即为数据量较大的链路分配带宽较大的链路,为数据量较小的数据块分配带宽较小的链路,从而保证链路带宽的充分利用。
508、发送方设备生成合并规则,该合并规则用于指示第一数据块和第二数据块的数据块排序,该数据块排序与业务数据中数据包的排序对应。
本实施例中,发送方设备将业务数据分配为第一数据块和第二数据块后,生成对应的合并规则,该合并规则用于指示第一数据块和第二数据块的数据块排序,该数据块排序与业务数据中数据包的排序对应。从而,发送方设备之外的其他设备在得到该合并规则后,可以将根据该合并规则指示的数据块排序合并接收到的第一数据块和第二数据块为对应的业务数据。
其中,该合并规则可以是第一链路和第二链路的排序信息,该链路的排序与第一数据块和第二数据块的排序对应,即也与业务数据中数据包的排序对应。例如,如图6所示,假设数据块对应的排序为:第一数据块-第二数据块,第一链路端口号为002,第二链路端口号为001,假设发送方设备通过第一链路向接收方设备发送第一数据块,通过第一链路向接收方设备发送第二数据块,则链路的排序信息为002-001,从而使得接收方设备在接收到该排序信息后,按照端口004-003的顺序确定所接收到的第一数据块和第二数据块的排序,从而将接收到的第一数据块和第二数据块合并恢复为业务数据。
509、发送方设备向接收方设备发送合并规则,并分别通过第一链路和第二链路向接收方设备发送第一数据块和第二数据块。
本实施例中,该合并规则生成后,发送方设备向接收方设备发送该合并规则,并分别通过先前确定的第一链路和第二链路向接收方设备发送第一数据块和第二数据块。
在实际应用中,可以携带在协议报文中,该协议报文为发送方设备和接收方设备所协商确定的报文形式。该协议报文可以先于第一数据块和第二数据块发送,也可以同时发送,可以通过第一链路,也可以通过第二链路发送。此外,该合并规则中,还可以包括第一数据块和第二数据块的数据量的大小信息,和/或第一数据块和第二数据块中数据包的数量信息,用以指示接收方设备对入队列进行划分,来存储接收到的第一数据块和第二数据块。
510、接收方设备从发送方设备接收合并规则,并分别通过第一链路和第二链路从发送方设备接收第一数据块和第二数据块。
本实施例中,接收方设备接收到合并规则后,若该合并规则包括第一数据块和第二数据块的数据量的大小信息,则接收方设备将在入队列中预留对应的空间。之后,接收方设备分别通过第一链路和第二链路接收第一数据块和第二数据块,并进行缓存。
511、接收方设备根据合并规则确定第一数据块和第二数据块的数据块排序。
本实施例中,接收方设备接收到合并规则后,根据该合并规则确定第一数据块和第二数据块的数据块排序。该合并规则包括第一链路和第二链路的排序信息,还可以包括数据量的大小信息和数据包的数量信息。例如,第一链路和第二链路的端口号分别为003和004,对应的链路排序为004-003,第一数据块包含50个数据包,数据量为10M,第二数据块包含10个数据包,数据量为1M,则该合并规则可以如下表2所示:
链路排序 | 端口号 | 数据包数量 | 数据量 |
1 | 004 | 10 | 1M |
2 | 003 | 50 | 10M |
表2
接收方设备获取到该合并规则后,可以将入队列按照链路顺序及数据块的数据量划分出1M和10M两个有序的存储空间,并根据该链路的顺序确定第一数据块和第二数据块的排序。
512、接收方设备根据数据块排序将第一数据块和第二数据块合并恢复为业务数据。
本实施例中,接收方设备在确定该数据块的排序后,按照该排序将该缓存的将该第一数据块和第二数据块分别存入对应的队列中,即将第一数据块和第二数据块恢复为业务数据。若接收方设备根据合并规则预先设置了对应的队列空间,则按照设定的队列空间保存该第一数据块和第二数据块。
可选的,在一些可能的实施例中,所述接收方设备生成反馈消息,所述反馈消息包括所述接收方设备从所述第一链路和所述第二链路接收数据的延迟信息;所述接收方设备向所述发送方设备发送所述反馈消息;所述发送方设备从所述接收方设备接收反馈消息;所述发送方设备根据所述延迟信息调整通过所述第一链路和所述第二链路发送数据的时间点。本实施例中,接收方设备在从发送方设备接收第一数据块和第二数据块时,可以分别记录通过第一链路和通过第二链路接收到数据的时间点,并生成反馈消息,向发送方设备发送该反馈消息。第一链路接收到该反馈消息后,可能根据该反馈消息确定接收方设备第一链路和第二链路接收到的数据的延迟,从而调整通过第一链路和第二链路发送数据的时间点,使得接收方设备可以同时接收到第一链路和第二链路传输的数据。例如,发送方设备根据该反馈消息确定接收方设备接收第一数据块的时间点比第二数据块晚0.5ms,则发送方设备之后将通过第一链路发送数据的时间点相比第二链路提前0.5ms,从而使得之后接收方设备可以同时接收到两个链路发送的数据,节约了传输时间。
从以上技术方案可以看出,本申请实施例具有以下优点:
发送方设备在接收到业务数据后,根据业务数据中数据包的排序将业务数据分为第一数据块和第二数据块,并生成了对应的合并规则。从而之后将该合并规则发送给接收方设备,并分别通过第一链路和第二链路向接收方设备发送第一数据块和第二数据块,使得接收方设备可以根据该合并规则,将接收到的第一数据块和第二数据块合并恢复为该业务数据。即发送方设备在向接收方设备发送数据时,第一链路和第二链路均参与了数据的转发,相比现有技术中的逐流分担方式避免了某一链路空置带来的链路利用率低下,同时由于在发送数据块时,也发送了合并规则,确保了接收方设备可以将收到的第一数据块和第二数据块恢复为原业务数据,相比现有技术中的逐包分担方式避免了传输过程中的数据包乱序情况。
上述技术方案描述了发送方设备通过向接收方设备告知数据块的排序的方式,下面对发送方设备和接收方设备双方协商的方式进行说明。
如图7所示,为本申请实施例所提供的一种数据传输的方法的另一个实施例示意图,包括:
701、发送方设备建立与接收方设备之间的逻辑链路,并配置不同数据块排序与不同链路的映射关系,该逻辑链路包括第一链路和第二链路。
本实施例中,发送方设备可以通过人工模式或LACP模式建立与接收方设备之间的Eth-Trunk链路,该Eth-Trunk链路的建立过程与图5所示实施例中步骤501所描述的建立过程类似,此处不再赘述。
需要说明的是,在Eth-Trunk链路的建立过程中,发送方设备和接收方设备同时配置相同的不同数据块排序与不同链路的映射关系,该映射关系中,数据块的排序可以表现为数据块编号的排序,该编号的排序同时也与业务数据中数据包的排序对应。如下表3所示,为该映射关系的示意表,数据块排序为m4-m3-m2-m1。
数据块排序 | 发送方端口号 | 接收方端口号 | 带宽(Geb/s) |
m1 | 003 | 005 | 100 |
m2 | 001 | 006 | 10 |
m3 | 002 | 008 | 1 |
m4 | 004 | 007 | 50 |
表3
可选的,发送方设备确定第三阈值,该第三阈值为预先设定的发送方设备单次处理的数据量和预先设定的接收方设备单次处理的数据量中两者的较小值。发送方设备根据第三阈值、第一链路和第二链路的总带宽计算得到时间槽信息。发送方设备根据第一链路的带宽值、第二链路的带宽值和时间槽计算得到第一阈值和二阈值,该第一阈值和第二阈值分别为第一链路和第二链路在单个预设的时间槽内传输的数据量的上限值。
需要说明的是,该可选步骤与图5所示实施例中步骤502至步骤504类似,此处不再赘述。
702、发送方设备接收业务数据。
本实施例中,发送方设备从上一节点接收并在队列中缓存一个或者多个流的业务数据,不同流的数据采用五元组进行区分。其中,所接收的这些业务数据包含多个数据包,发送方设备按照接收数据包的顺序,将接收到的这些数据包以队列的形式缓存在本地。
703、发送方设备根据业务数据中数据包的排序将业务数据分为第一数据块和第二数据块,并生成第一数据块和第二数据块的数据块排序,所述数据块排序与所述业务数据中数据包的排序对应。
本实施例中,发送方设备根据业务数据中数据包的排序将业务数据分为第一数据块和第二数据块,及可选的,发送方设备可以根据各活跃链路带宽的大小比例来确定所划分的第一数据块和第二数据块的大小,与图5所示实施例中步骤506所描述的对业务数据的划分及可选步骤类似,此处不再赘述。
需要说明的是,步骤703中,发送方设备在生成第一数据块和第二数据块时,同时也对生成了第一数据块和第二数据块的排序,该排序可以以数据块编号排序的形式体现,该编号与预置的映射关系中数据块的编号为同一类型的编号。例如,业务数据(b3-d3-c2-c1-b2-a2-a1-b1),所划分后,第一数据块为(b3-d3-c2-c1),第二数据块为(b2-a2-a1-b1),则数据块的排序为:第一数据块-第二数据块,因而发送方设备设定该第一数据块的编号为m2,第二数据块的编号为m1,编号对应排序即为m2-m1。
704、发送方设备根据数据块排序及预置的映射关系分别为第一数据块和第二数据块分配第一链路和第二链路。
本实施例中,发送方设备确定数据块的排序后,根据如表3所示的映射关系确定第一数据块和第二数据块分别对应的链路。例如,数据块排序为:第一数据块-第二数据块,则根据表3,确定第一数据块对应的第一链路为端口号为001的链路,确定第二数据块对应的第一链路为端口号为003的链路。
705、发送方设备分别通过第一链路和第二链路向接收方设备发送第一数据块和第二数据块。
本实施例中,发送方设备确定第一数据块和第二数据块对应的链路后,分别通过先前确定的第一链路和第二链路向接收方设备发送第一数据块和第二数据块。
706、接收方设备分别通过第一链路和第二链路从发送方设备接收第一数据块和第二数据块。
本实施例中,接收方设备分别通过第一链路和第二链路从发送方设备接收第一数据块和第二数据块,并进行缓存。
707、接收方设备根据映射关系确定数据块排序。
本实施例中,接收方在分别通过第一链路和第二链路从发送方设备接收第一数据块和第二数据块时,分别记录所接收到的每个数据块所对应的端口号,从而根据预置的映射关系,确定数据块的排序。
708、接收方设备根据数据块排序将第一数据块和所述第二数据块合并恢复为业务数据。
本实施例中,接收方设备确定数据块排序后,按照该排序将该缓存的第一数据块和第二数据块分别存入对应的队列中,即将第一数据块和第二数据块恢复为业务数据。若接收方设备根据合并规则预先设置了对应的队列空间,则按照设定的队列空间保存该第一数据块和第二数据块。
可选的,在一些可能的实施例中,所述接收方设备生成反馈消息,所述反馈消息包括所述接收方设备从所述第一链路和所述第二链路接收数据的延迟信息;所述接收方设备向所述发送方设备发送所述反馈消息;所述发送方设备从所述接收方设备接收反馈消息;所述发送方设备根据所述延迟信息调整通过所述第一链路和所述第二链路发送数据的时间点。需要说明的是,该可选步骤与图5所示实施例中对应的可选步骤类似,此处不再赘述。
从以上技术方案可以看出,本申请实施例具有以下优点:
发送方设备与接收方设备均预置了不同数据块排序与不同链路的映射关系,该数据块排序与业务数据中数据包的排序对应。发送方设备在接收到业务数据,并按照业务数据中数据包的排序将业务数据分为第一数据块和第二数据块后,可以根据第一数据块和第二数据块的排序以及该映射关系确定第一数据块对应的第一链路和第二数据块对应的第二链路。之后,发送方设备分别通过该第一链路和第二链路向第二设备发送第一数据块和第二数据块。而接收方设备可以通过第一数据块和第二数据块所对应的链路,以及映射关系确定第一数据块和第二数据块的排序,进而将该第一数据块和第二数据块合并恢复为原业务数据。该传输过程中,第一链路和第二链路都参与了数据的转发,相比逐流分担的方式,提高了链路的利用率,且通过预置的映射关系,相比逐包分担的方式,避免了传输过程中数据包乱序情况的发生。
如图8所示,为本申请实施例所提供的一种发送方设备的一个实施例示意图,该发送方设备和接收方设备通过第一链路和第二链路相连,包括:
收发单元801,用于接收业务数据;
处理单元802,用于根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块;分别为该第一数据块和该第二数据块分配该第一链路和该第二链路;生成合并规则,该合并规则用于指示该第一数据块和该第二数据块的数据块排序,该数据块排序与该业务数据中数据包的排序对应;
收发单元801,还用于向该接收方设备发送该合并规则,并分别通过该第一链路和该第二链路向该接收方设备发送该第一数据块和该第二数据块,以使该接收方设备分别接收该第一数据块和该第二数据块,并根据该合并规则所指示的该数据块排序将该第一数据块和该第二数据块合并恢复为该业务数据。
可选的,在一些可能的实现方式中,该合并规则包括该第一链路和该第二链路的排序信息。
可选的,在一些可能的实现方式中,
处理单元802,具体用于根据该业务数据中数据包的排序及该第一链路和该第二链路的带宽大小比例将该业务数据分为第一数据块和第二数据块。
可选的,在一些可能的实现方式中,
处理单元802,具体用于根据该第一数据块和该第二数据块的数据量的大小分别为该第一数据块和该第二数据块分配该第一链路和该第二链路。
可选的,在一些可能的实现方式中,
处理单元802,还用于确定第一阈值和第二阈值,该第一阈值为该第一链路在单个预设的时间槽内传输的数据量的上限值,该第二阈值为该第二链路在单个预设的该时间槽内传输的数据量的上限值,该第一数据块的数据量小于等于该第一阈值,该第二数据块的数据量小于等于该第二阈值。
可选的,在一些可能的实现方式中,处理单元
802,具体用于确定第三阈值,该第三阈值为预先设定的该发送方设备单次处理的数据量和预先设定的该接收方设备单次处理的数据量中两者的较小值;根据该第三阈值及该第一链路和该第二链路的总带宽计算得到该时间槽;根据该第一链路的带宽值、该第二链路的带宽值和该时间槽计算得到该第一阈值和该二阈值。
可选的,在一些可能的实现方式中,
收发单元801,还用于从该接收方设备接收反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;根据该延迟信息调整通过该第一链路和该第二链路发送数据的时间点。
如图9所示,为本申请实施例所提供的一种接收方设备的一个实施例示意图,该接收方设备和发送方设备通过第一链路和第二链路相连,该接收方设备包括:
收发单元901,用于从该发送方设备接收合并规则,并分别通过该第一链路和该第二链路从该发送方设备接收第一数据块和第二数据块;
处理单元902,用于根据该合并规则确定该第一数据块和该第二数据块的数据块排序;根据该数据块排序将该第一数据块和该第二数据块合并恢复为业务数据。
可选的,在一些可能的实现方式中,该合并规则包括该第一链路和该第二链路的排序信息。
可选的,在一些可能的实现方式中,
处理单元902,还用于生成反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;
收发单元901,还用于向该发送方设备发送该反馈消息,该反馈消息用于指示该发送方设备调整通过该第一链路和该第二链路发送数据的时间点。
如图10所示,为本申请实施例所提供的一种发送方设备的一个实施例示意图,该发送方设备和接收方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该发送方设备包括:
收发单元1001,用于接收业务数据;
处理单元1002,用于根据该业务数据中数据包的排序将该业务数据分为第一数据块和第二数据块,并生成该第一数据块和该第二数据块的数据块排序,该数据块排序与该业务数据中数据包的排序对应;根据该数据块排序及预置的该映射关系为该第一数据块分配该第一链路,并为该第二数据块分配该第二链路;
收发单元1001,还用于分别通过该第一链路和该第二链路向该接收方设备发送该第一数据块和该第二数据块,以使该接收方设备分别接收该第一数据块和该第二数据块,并根据预置的该映射关系确定该数据块排序,进而根据该数据块排序将该第一数据块和该第二数据块合并恢复为该业务数据。
可选的,在一些可能的实现方式中,
处理单元1002,具体用于根据该业务数据中数据包的排序及该第一链路和该第二链路的带宽大小比例将该业务数据分为第一数据块和第二数据块。
可选的,在一些可能的实现方式中,
处理单元1002,还用于确定第一阈值和第二阈值,该第一阈值为该第一链路在单个预设的时间槽内传输的数据量的上限值,该第二阈值为该第二链路在单个预设的该时间槽内传输的数据量的上限值,该第一数据块的数据量小于等于该第一阈值,该第二数据块的数据量小于等于该第二阈值。
可选的,在一些可能的实现方式中,
处理单元1002,具体用于确定第三阈值,该第三阈值为预先设定的该发送方设备单次处理的数据量和预先设定的该接收方设备单次处理的数据量中两者的较小值;根据该第三阈值、该第一链路和该第二链路的总带宽计算得到该时间槽;根据该第一链路的带宽值及该第二链路的带宽值和该时间槽计算得到该第一阈值和该二阈值。
可选的,在一些可能的实现方式中,
接收单元1001,还用于从该接收方设备接收反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;根据该延迟信息调整通过该第一链路和该第二链路发送数据的时间点。
如图11所示,为本申请实施例所提供的一种接收方设备的一个实施例示意图,该接收方设备和发送方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该接收方设备包括:
收发单元1101,用于分别通过该第一链路和该第二链路从该发送方设备接收第一数据块和第二数据块,该第一链路和该第二链路由该发送方设备根据该第一数据块和该第二数据块的数据块排序及该映射关系确定,该数据块排序与业务数据中数据包的排序对应;
处理单元1102,用于根据该映射关系确定该数据块排序;根据该数据块排序将该第一数据块和该第二数据块合并恢复为该业务数据。
可选的,在一些可能的实现方式中,
处理单元1102,还用于生成反馈消息,该反馈消息包括该接收方设备从该第一链路和该第二链路接收数据的延迟信息;
收发单元1101,还用于向该发送方设备发送该反馈消息,该反馈消息用于指示该发送方设备调整通过该第一链路和该第二链路发送数据的时间点。
如图12所示,为本申请实施例所提供的一种发送方设备的另一个实施例示意图,该发送方设备和接收方设备通过第一链路和第二链路相连,该发送方设备可以包括:
处理器1201、存储器1202以及收发器1203;所述存储器1202、所述收发器1203和所述处理器1201通过总线连接;所述收发器1203用于与所述发送方设备之外的装置进行通信;所述存储器1202用于存储操作指令;所述处理器1201用于调用所述操作指令,执行如图5所示实施例及任一可选方式中发送方设备所执行的方法。
如图13所示,为本申请实施例所提供的一种接收方设备的另一个实施例示意图,该接收方设备和接收方设备通过第一链路和第二链路相连,该接收方设备可以包括:
处理器1301、存储器1302以及收发器1303;所述存储器1302、所述收发器1303和所述处理器1301通过总线连接;所述收发器1303用于与所述接收方设备之外的装置进行通信;所述存储器1302用于存储操作指令;所述处理器1301用于调用所述操作指令,执行如图5所示实施例及任一可选方式中接收方设备所执行的方法。
如图14所示,为本申请实施例所提供的一种发送方设备的另一个实施例示意图,该发送方设备和接收方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该发送方设备可以包括:
处理器1401、存储器1402以及收发器1403;所述存储器1402、所述收发器1403和所述处理器1401通过总线连接;所述收发器1403用于与所述发送方设备之外的装置进行通信;所述存储器1402用于存储操作指令;所述处理器1401用于调用所述操作指令,执行如图7所示实施例及任一可选方式中发送方设备所执行的方法。
如图15所示,为本申请实施例所提供的一种接收方设备的另一个实施例示意图,该接收方设备和接收方设备通过第一链路和第二链路相连,该发送方设备和该接收方设备均预置有不同数据块排序与不同链路的映射关系,该接收方设备可以包括:
处理器1501、存储器1502以及收发器1503;所述存储器1502、所述收发器1503和所述处理器1501通过总线连接;所述收发器1503用于与所述接收方设备之外的装置进行通信;所述存储器1502用于存储操作指令;所述处理器1501用于调用所述操作指令,执行如图7所示实施例及任一可选方式中接收方设备所执行的方法。
本申请还提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如图5所示实施例及任一可选方式中所述的方法。
本申请还提供了一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如图5所示实施例及任一可选方式中所述的方法。
本申请还提供了一种计算机存储介质,包括指令,当其在计算机上运行时,使得计算机执行如图7所示实施例及任一可选方式中所述的方法。
本申请还提供了一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如图7所示实施例及任一可选方式中所述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (25)
1.一种数据传输的方法,其特征在于,所述方法应用于发送方设备和接收方设备,所述发送方设备和所述接收方设备通过第一链路和第二链路相连,所述方法包括:
所述发送方设备接收业务数据;
所述发送方设备根据所述业务数据中数据包的排序将所述业务数据分为第一数据块和第二数据块;
所述发送方设备分别为所述第一数据块和所述第二数据块分配所述第一链路和所述第二链路;
所述发送方设备生成合并规则,所述合并规则用于指示所述第一数据块和所述第二数据块的数据块排序,所述数据块排序与所述业务数据中数据包的排序对应;
所述发送方设备向所述接收方设备发送所述合并规则,并分别通过所述第一链路和所述第二链路向所述接收方设备发送所述第一数据块和所述第二数据块,以使所述接收方设备分别接收所述第一数据块和所述第二数据块,并根据所述合并规则所指示的所述数据块排序将所述第一数据块和所述第二数据块合并恢复为所述业务数据。
2.根据权利要求1所述的方法,其特征在于,
所述合并规则包括所述第一链路和所述第二链路的排序信息。
3.根据权利要求1或2所述的方法,其特征在于,所述发送方设备根据所述业务数据中数据包的排序将所述业务数据分为第一数据块和第二数据块,包括:
所述发送方设备根据所述业务数据中数据包的排序及所述第一链路和所述第二链路的带宽大小比例将所述业务数据分为第一数据块和第二数据块。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述发送方设备分别为所述第一数据块和所述第二数据块分配所述第一链路和所述第二链路,包括:
所述发送方设备根据所述第一数据块和所述第二数据块的数据量的大小分别为所述第一数据块和所述第二数据块分配所述第一链路和所述第二链路。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
所述发送方设备确定第一阈值和第二阈值,所述第一阈值为所述第一链路在单个预设的时间槽内传输的数据量的上限值,所述第二阈值为所述第二链路在单个预设的所述时间槽内传输的数据量的上限值,所述第一数据块的数据量小于等于所述第一阈值,所述第二数据块的数据量小于等于所述第二阈值。
6.根据权利要求5所述的方法,其特征在于,
所述发送方设备确定第一阈值和第二阈值,包括:
所述发送方设备确定第三阈值,所述第三阈值为预先设定的所述发送方设备单次处理的数据量和预先设定的所述接收方设备单次处理的数据量中两者的较小值;
所述发送方设备根据所述第三阈值及所述第一链路和所述第二链路的总带宽计算得到所述时间槽;
所述发送方设备根据所述第一链路的带宽值、所述第二链路的带宽值和所述时间槽计算得到所述第一阈值和所述第二阈值。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
所述发送方设备从所述接收方设备接收反馈消息,所述反馈消息包括所述接收方设备从所述第一链路和所述第二链路接收数据的延迟信息;
所述发送方设备根据所述延迟信息调整通过所述第一链路和所述第二链路发送数据的时间点。
8.一种数据传输的方法,其特征在于,所述方法应用于发送方设备和接收方设备,所述发送方设备和所述接收方设备通过第一链路和第二链路相连,所述方法包括:
所述接收方设备从所述发送方设备接收合并规则,并分别通过所述第一链路和所述第二链路从所述发送方设备接收第一数据块和第二数据块;
所述接收方设备根据所述合并规则确定所述第一数据块和所述第二数据块的数据块排序;
所述接收方设备根据所述数据块排序将所述第一数据块和所述第二数据块合并恢复为业务数据。
9.根据权利要求8所述的方法,其特征在于,
所述合并规则包括所述第一链路和所述第二链路的排序信息。
10.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
所述接收方设备生成反馈消息,所述反馈消息包括所述接收方设备从所述第一链路和所述第二链路接收数据的延迟信息;
所述接收方设备向所述发送方设备发送所述反馈消息,所述反馈消息用于指示所述发送方设备调整通过所述第一链路和所述第二链路发送数据的时间点。
11.一种数据传输的方法,其特征在于,所述方法应用于发送方设备和接收方设备,所述发送方设备和所述接收方设备通过第一链路和第二链路相连,所述发送方设备和所述接收方设备均预置有不同数据块排序与不同链路的映射关系,所述方法包括:
所述发送方设备接收业务数据;
所述发送方设备根据所述业务数据中数据包的排序将所述业务数据分为第一数据块和第二数据块,并生成所述第一数据块和所述第二数据块的数据块排序,所述数据块排序与所述业务数据中数据包的排序对应;
所述发送方设备根据所述数据块排序及预置的所述映射关系为所述第一数据块分配所述第一链路,并为所述第二数据块分配所述第二链路;
所述发送方设备分别通过所述第一链路和所述第二链路向所述接收方设备发送所述第一数据块和所述第二数据块,以使所述接收方设备分别接收所述第一数据块和所述第二数据块,并根据预置的所述映射关系确定所述数据块排序,进而根据所述数据块排序将所述第一数据块和所述第二数据块合并恢复为所述业务数据。
12.根据权利要求11所述的方法,其特征在于,所述发送方设备根据所述业务数据中数据包的排序将所述业务数据分为第一数据块和第二数据块,包括:
所述发送方设备根据所述业务数据中数据包的排序及所述第一链路和所述第二链路的带宽大小比例将所述业务数据分为第一数据块和第二数据块。
13.根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
所述发送方设备确定第一阈值和第二阈值,所述第一阈值为所述第一链路在单个预设的时间槽内传输的数据量的上限值,所述第二阈值为所述第二链路在单个预设的所述时间槽内传输的数据量的上限值,所述第一数据块的数据量小于等于所述第一阈值,所述第二数据块的数据量小于等于所述第二阈值。
14.根据权利要求13所述的方法,其特征在于,
所述发送方设备确定第一阈值和第二阈值,包括:
所述发送方设备确定第三阈值,所述第三阈值为预先设定的所述发送方设备单次处理的数据量和预先设定的所述接收方设备单次处理的数据量中两者的较小值;
所述发送方设备根据所述第三阈值、所述第一链路和所述第二链路的总带宽计算得到所述时间槽;
所述发送方设备根据所述第一链路的带宽值及所述第二链路的带宽值和所述时间槽计算得到所述第一阈值和所述第二阈值。
15.根据权利要求11至14中任一项所述的方法,其特征在于,所述方法还包括:
所述发送方设备从所述接收方设备接收反馈消息,所述反馈消息包括所述接收方设备从所述第一链路和所述第二链路接收数据的延迟信息;
所述发送方设备根据所述延迟信息调整通过所述第一链路和所述第二链路发送数据的时间点。
16.一种数据传输的方法,其特征在于,所述方法应用于发送方设备和接收方设备,所述发送方设备和所述接收方设备通过第一链路和第二链路相连,所述发送方设备和所述接收方设备均预置有不同数据块排序与不同链路的映射关系,所述方法包括:
所述接收方设备分别通过所述第一链路和所述第二链路从所述发送方设备接收第一数据块和第二数据块,所述第一链路和所述第二链路由所述发送方设备根据所述第一数据块和所述第二数据块的数据块排序及所述映射关系确定,所述数据块排序与业务数据中数据包的排序对应;
所述接收方设备根据所述映射关系确定所述数据块排序;
所述接收方设备根据所述数据块排序将所述第一数据块和所述第二数据块合并恢复为所述业务数据。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
所述接收方设备生成反馈消息,所述反馈消息包括所述接收方设备从所述第一链路和所述第二链路接收数据的延迟信息;
所述接收方设备向所述发送方设备发送所述反馈消息,所述反馈消息用于指示所述发送方设备调整通过所述第一链路和所述第二链路发送数据的时间点。
18.一种发送方设备,其特征在于,所述发送方设备和接收方设备通过第一链路和第二链路相连,所述发送方设备包括:
收发单元,用于接收业务数据;
处理单元,用于根据所述业务数据中数据包的排序将所述业务数据分为第一数据块和第二数据块;分别为所述第一数据块和所述第二数据块分配所述第一链路和所述第二链路;生成合并规则,所述合并规则用于指示所述第一数据块和所述第二数据块的数据块排序,所述数据块排序与所述业务数据中数据包的排序对应;
所述收发单元,还用于向所述接收方设备发送所述合并规则,并分别通过所述第一链路和所述第二链路向所述接收方设备发送所述第一数据块和所述第二数据块,以使所述接收方设备分别接收所述第一数据块和所述第二数据块,并根据所述合并规则所指示的所述数据块排序将所述第一数据块和所述第二数据块合并恢复为所述业务数据。
19.一种接收方设备,其特征在于,所述接收方设备和发送方设备通过第一链路和第二链路相连,所述接收方设备包括:
收发单元,用于从所述发送方设备接收合并规则,并分别通过所述第一链路和所述第二链路从所述发送方设备接收第一数据块和第二数据块;
处理单元,用于根据所述合并规则确定所述第一数据块和所述第二数据块的数据块排序;根据所述数据块排序将所述第一数据块和所述第二数据块合并恢复为业务数据。
20.一种发送方设备,其特征在于,所述发送方设备和所述接收方设备通过第一链路和第二链路相连,所述发送方设备和所述接收方设备均预置有不同数据块排序与不同链路的映射关系,所述发送方设备包括:
收发单元,用于接收业务数据;
处理单元,用于根据所述业务数据中数据包的排序将所述业务数据分为第一数据块和第二数据块,并生成所述第一数据块和所述第二数据块的数据块排序,所述数据块排序与所述业务数据中数据包的排序对应;根据所述数据块排序及预置的所述映射关系为所述第一数据块分配所述第一链路,并为所述第二数据块分配所述第二链路;
所述收发单元,还用于分别通过所述第一链路和所述第二链路向所述接收方设备发送所述第一数据块和所述第二数据块,以使所述接收方设备分别接收所述第一数据块和所述第二数据块,并根据预置的所述映射关系确定所述数据块排序,进而根据所述数据块排序将所述第一数据块和所述第二数据块合并恢复为所述业务数据。
21.一种接收方设备,其特征在于,所述接收方设备和所述发送方设备通过第一链路和第二链路相连,所述发送方设备和所述接收方设备均预置有不同数据块排序与不同链路的映射关系,所述接收方设备包括:
收发单元,用于分别通过所述第一链路和所述第二链路从所述发送方设备接收第一数据块和第二数据块,所述第一链路和所述第二链路由所述发送方设备根据所述第一数据块和所述第二数据块的数据块排序及所述映射关系确定,所述数据块排序与业务数据中数据包的排序对应;
处理单元,用于根据所述映射关系确定所述数据块排序;根据所述数据块排序将所述第一数据块和所述第二数据块合并恢复为所述业务数据。
22.一种发送方设备,其特征在于,所述发送方设备和所述接收方设备通过第一链路和第二链路相连,所述发送方设备和所述接收方设备均预置有不同数据块排序与不同链路的映射关系,所述发送方设备包括:
处理器、存储器以及收发器;
所述存储器、所述收发器和所述处理器通过总线连接;
所述收发器用于与所述发送方设备之外的装置进行通信;
所述存储器用于存储操作指令;
所述处理器用于调用所述操作指令,执行如权利要求1-7中任一项所述的方法。
23.一种接收方设备,其特征在于,所述接收方设备和发送方设备通过第一链路和第二链路相连,所述接收方设备包括:
处理器、存储器以及收发器;
所述存储器、所述收发器和所述处理器通过总线连接;
所述收发器用于与所述接收方设备之外的装置进行通信;
所述存储器用于存储操作指令;
所述处理器用于调用所述操作指令,执行如权利要求8-10中任一项所述的方法。
24.一种发送方设备,其特征在于,所述发送方设备和接收方设备通过第一链路和第二链路相连,所述发送方设备包括:
处理器、存储器以及收发器;
所述存储器、所述收发器和所述处理器通过总线连接;
所述收发器用于与所述发送方设备之外的装置进行通信;
所述存储器用于存储操作指令;
所述处理器用于调用所述操作指令,执行如权利要求11-15中任一项所述的方法。
25.一种接收方设备,其特征在于,所述接收方设备和所述发送方设备通过第一链路和第二链路相连,所述发送方设备和所述接收方设备均预置有不同数据块排序与不同链路的映射关系,所述接收方设备包括:
处理器、存储器以及收发器;
所述存储器、所述收发器和所述处理器通过总线连接;
所述收发器用于与所述接收方设备之外的装置进行通信;
所述存储器用于存储操作指令;
所述处理器用于调用所述操作指令,执行如权利要求16或17所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910364824.XA CN111865816B (zh) | 2019-04-30 | 2019-04-30 | 一种数据传输的方法、发送方设备和接收方设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910364824.XA CN111865816B (zh) | 2019-04-30 | 2019-04-30 | 一种数据传输的方法、发送方设备和接收方设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111865816A true CN111865816A (zh) | 2020-10-30 |
CN111865816B CN111865816B (zh) | 2024-05-14 |
Family
ID=72965101
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910364824.XA Active CN111865816B (zh) | 2019-04-30 | 2019-04-30 | 一种数据传输的方法、发送方设备和接收方设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111865816B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6160819A (en) * | 1998-02-19 | 2000-12-12 | Gte Internetworking Incorporated | Method and apparatus for multiplexing bytes over parallel communications links using data slices |
US20020131425A1 (en) * | 2001-01-08 | 2002-09-19 | Rafi Shalom | Packet fragmentation with nested interruptions |
EP1442566A2 (en) * | 2001-10-25 | 2004-08-04 | Qualcomm Incorporated | Method and system for transferring ip packets by aggregating multiple wireless communication channels for high data rate transfers |
JP2006516069A (ja) * | 2001-10-25 | 2006-06-15 | クゥアルコム・インコーポレイテッド | トークンベースのpppフラグメントスケジューリングのシステム及び方法 |
US7924798B1 (en) * | 2002-11-27 | 2011-04-12 | Sprint Spectrum L.P. | Method for transmitting data in a wireless telecommunications network using multiple data channels |
WO2012037970A1 (en) * | 2010-09-21 | 2012-03-29 | Nokia Siemens Networks Oy | Method and network devices for splitting of a data stream |
CN102640461A (zh) * | 2009-11-30 | 2012-08-15 | 萨热姆通讯能源电信简易股份有限公司 | 用于在多个物理链路上分配数据的装置和方法 |
US20150282005A1 (en) * | 2014-03-28 | 2015-10-01 | Qualcomm Incorporated | Link aggregation in wireless local area networks |
WO2016154833A1 (zh) * | 2015-03-28 | 2016-10-06 | 华为技术有限公司 | 一种多链路聚合的报文发送方法及装置 |
JP2016225819A (ja) * | 2015-05-29 | 2016-12-28 | 日本電信電話株式会社 | 並列パケット伝送装置および方法 |
CN106453840A (zh) * | 2016-09-12 | 2017-02-22 | 广东欧珀移动通信有限公司 | 移动终端的性能调整方法及移动终端 |
-
2019
- 2019-04-30 CN CN201910364824.XA patent/CN111865816B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6160819A (en) * | 1998-02-19 | 2000-12-12 | Gte Internetworking Incorporated | Method and apparatus for multiplexing bytes over parallel communications links using data slices |
US20020131425A1 (en) * | 2001-01-08 | 2002-09-19 | Rafi Shalom | Packet fragmentation with nested interruptions |
EP1442566A2 (en) * | 2001-10-25 | 2004-08-04 | Qualcomm Incorporated | Method and system for transferring ip packets by aggregating multiple wireless communication channels for high data rate transfers |
JP2006516069A (ja) * | 2001-10-25 | 2006-06-15 | クゥアルコム・インコーポレイテッド | トークンベースのpppフラグメントスケジューリングのシステム及び方法 |
US7924798B1 (en) * | 2002-11-27 | 2011-04-12 | Sprint Spectrum L.P. | Method for transmitting data in a wireless telecommunications network using multiple data channels |
CN102640461A (zh) * | 2009-11-30 | 2012-08-15 | 萨热姆通讯能源电信简易股份有限公司 | 用于在多个物理链路上分配数据的装置和方法 |
WO2012037970A1 (en) * | 2010-09-21 | 2012-03-29 | Nokia Siemens Networks Oy | Method and network devices for splitting of a data stream |
US20150282005A1 (en) * | 2014-03-28 | 2015-10-01 | Qualcomm Incorporated | Link aggregation in wireless local area networks |
WO2016154833A1 (zh) * | 2015-03-28 | 2016-10-06 | 华为技术有限公司 | 一种多链路聚合的报文发送方法及装置 |
US20180019942A1 (en) * | 2015-03-28 | 2018-01-18 | Huawei Technologies Co., Ltd. | Packet Sending Method and Apparatus Based on Multi-Link Aggregation |
JP2016225819A (ja) * | 2015-05-29 | 2016-12-28 | 日本電信電話株式会社 | 並列パケット伝送装置および方法 |
CN106453840A (zh) * | 2016-09-12 | 2017-02-22 | 广东欧珀移动通信有限公司 | 移动终端的性能调整方法及移动终端 |
Also Published As
Publication number | Publication date |
---|---|
CN111865816B (zh) | 2024-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7154399B2 (ja) | データ伝送方法、装置、コンピュータ読み取り可能な媒体および電子デバイス | |
JP7140862B2 (ja) | フレキシブルイーサネットに基づいてサービスフローを送信するための方法および装置、ならびに通信システム | |
JP6608545B2 (ja) | サービストラヒック分配方法及び装置 | |
US20160218979A1 (en) | Apparatus and method for transmitting packets through multi-homing based network | |
US11736407B2 (en) | Method and apparatus for load balancing and packet re-sequencing on network | |
CN118200944A (zh) | 协同通信 | |
US8989011B2 (en) | Communication over multiple virtual lanes using a shared buffer | |
WO2019105317A1 (zh) | 一种业务报文发送的方法、网络设备和*** | |
CN109257282B (zh) | 一种数据传输方法及装置 | |
CN113783775B (zh) | 数据传输的方法和装置 | |
CN103036728A (zh) | 一种多冗余的以太网数据传输***及传输方法 | |
KR101983088B1 (ko) | 다중 경로 환경에서의 udp 패킷 처리 방법 | |
CN102984784A (zh) | 通过多个网络发送数据 | |
CN111526169B (zh) | 通过网络发送数据的方法、介质、服务器和计算机设备 | |
CN111865816A (zh) | 一种数据传输的方法、发送方设备和接收方设备 | |
CN109889450A (zh) | 组播速率控制方法以及组播传输设备 | |
US9100945B2 (en) | Communication node apparatus, communication system, and method for selecting destination reception interface used therefor | |
CN115190537A (zh) | 一种无线链路动态选择方法及*** | |
CN115987763A (zh) | 一种流的搬移方法及网络设备 | |
KR101589553B1 (ko) | 소프트웨어 정의 네트워크에서의 QoS 보장을 위한 대역폭 제어 방법 및 장치 | |
CN107592269B (zh) | 传输路径的负载信息的方法和网络节点 | |
US9876724B2 (en) | Method for seamless multi-link network connectivity | |
TWI757887B (zh) | 用以促進一資料流從一發送端透過多路徑傳輸至一接收端的方法、網路控制器以及電腦程式產品 | |
JP7482098B2 (ja) | 複数のストリームを使用してデータを送受信する通信装置及びプログラム | |
CN115150028B (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 |