CN116846816A - 多路径传输方法、装置、计算机设备和存储介质 - Google Patents
多路径传输方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN116846816A CN116846816A CN202210288498.0A CN202210288498A CN116846816A CN 116846816 A CN116846816 A CN 116846816A CN 202210288498 A CN202210288498 A CN 202210288498A CN 116846816 A CN116846816 A CN 116846816A
- Authority
- CN
- China
- Prior art keywords
- path
- data
- independent
- mapping table
- paths
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 165
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000001514 detection method Methods 0.000 claims abstract description 114
- 238000013507 mapping Methods 0.000 claims abstract description 93
- 238000004590 computer program Methods 0.000 claims abstract description 26
- 230000004044 response Effects 0.000 claims description 29
- 239000000523 sample Substances 0.000 claims description 29
- 238000012545 processing Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000000007 visual effect 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/24—Multipath
-
- 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
- H04L45/745—Address table lookup; Address filtering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种多路径传输方法、装置、计算机设备、存储介质和计算机程序产品。所述方法通过获取数据传输请求,数据传输请求包括待传输数据以及接收端的标识;根据接收端的标识查找路径映射表,路径映射表中包含有探测获取的多条正向独立路径;将数据传输请求对应的发送路径依次绑定至各正向独立路径;以轮询方式查询发送路径的拥塞控制模块,以基于发送路径对应的可用带宽向接收端发送待传输数据。本申请的方案中,通过在发送数据时,依照探测获取的正向独立路径来绑定发送路径,从而以轮询方式通过不同的正向独立路径来将数据发送至接收端,并结合正向独立路径的负载情况,通过拥塞控制模块依照可用带宽进行数据发送,从而有效提高传输可靠性。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种多路径传输方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
数据中心网络的任意服务器节点对之间都是有多条路径的,而且往往这些路径都是等长的,所以叫等价多路径(ECMP,Equal Cost Multi-Path)。一般情况下,交换机先使用路由表根据目的IP获取候选出端口。在有多个候选出端口的情况下,交换机会对数据包包头的五元组进行哈希计算以选定一个出端口,所以五元组相同的数据包一定会从相同的出端口发出去,最终效果就是五元组相同的数据包的路径一定是一致的。这样的路由设置可以一定程度上让一个节点对的不同数据流走不同的路径,进行负载均衡。传统的数据流的数据包只走了一条路径。如果此路径比较拥塞,那它也不得不忍受拥塞,降速发送,跟拥塞的流量分享带宽。如果它走的路径中有一条链路故障了,那此流将会中断。因此,需要借助多路径传输方案来提高数据传输的可用性和可靠性。
目前,数据中心的多路径传输方案主要包括MPTCP(MultiPath TCP,多路传输控制协议)、QUIC(Quick UDP Internet Connection,基于UDP的低时延的互联网传输层协议)等基于更改五元组的多路径技术。然而这些方案,都是单纯通过改变子流的源端口号,依赖网络中交换机的ECMP哈希功能来实现多路径传输,因此面临多条子流的路径有部分重叠,甚至会有多条子流路径完全一致的情况,从而无法保证多路径传输的可靠性。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证多路径传输可靠性的多路径传输方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种多路径传输方法。所述方法包括:
获取数据传输请求,所述数据传输请求包括待传输数据以及接收端的标识;
根据所述接收端的标识查找路径映射表,所述路径映射表中包含有通过网络遥测获取的多条正向独立路径;
将所述数据传输请求对应的发送路径依次绑定至各正向独立路径;
以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽向所述接收端发送所述待传输数据。
第二方面,本申请还提供了一种多路径传输装置。所述装置包括:
请求获取模块,用于获取数据传输请求,所述数据传输请求包括待传输数据以及接收端的标识;
映射表查找模块,用于根据所述接收端的标识查找路径映射表,所述路径映射表中包含有通过网络遥测获取的多条正向独立路径;
路径绑定模块,用于将所述数据传输请求对应的发送路径依次绑定至各正向独立路径;
数据发送模块,用于以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽向所述接收端发送所述待传输数据。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取数据传输请求,所述数据传输请求包括待传输数据以及接收端的标识;
根据所述接收端的标识查找路径映射表,所述路径映射表中包含有通过网络遥测获取的多条正向独立路径;
将所述数据传输请求对应的发送路径依次绑定至各正向独立路径;
以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽向所述接收端发送所述待传输数据。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取数据传输请求,所述数据传输请求包括待传输数据以及接收端的标识;
根据所述接收端的标识查找路径映射表,所述路径映射表中包含有通过网络遥测获取的多条正向独立路径;
将所述数据传输请求对应的发送路径依次绑定至各正向独立路径;
以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽向所述接收端发送所述待传输数据。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
获取数据传输请求,所述数据传输请求包括待传输数据以及接收端的标识;
根据所述接收端的标识查找路径映射表,所述路径映射表中包含有通过网络遥测获取的多条正向独立路径;
将所述数据传输请求对应的发送路径依次绑定至各正向独立路径;
以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽向所述接收端发送所述待传输数据。
上述多路径传输方法、装置、计算机设备、存储介质和计算机程序产品,通过获取数据传输请求,数据传输请求包括待传输数据以及接收端的标识;根据接收端的标识查找路径映射表,路径映射表中包含有探测获取的多条正向独立路径;将数据传输请求对应的发送路径依次绑定至各正向独立路径;以轮询方式查询发送路径的拥塞控制模块,以基于发送路径对应的可用带宽向接收端发送待传输数据。本申请的方案中,通过在发送数据时,依照探测获取的正向独立路径来绑定发送路径,从而以轮询方式通过不同的正向独立路径来将数据发送至接收端,并结合正向独立路径的负载情况,通过拥塞控制模块依照可用带宽进行数据发送,从而有效提高传输可靠性。
附图说明
图1为一个实施例中多路径传输方法的应用环境图;
图2为一个实施例中多路径传输方法的流程示意图;
图3为一个实施例中路径探索步骤的流程示意图;
图4为一个实施例中更新正向路径映射表步骤的流程示意图;
图5为一个实施例中数据发送与路径选择过程的示意图;
图6为一个实施例中路径探测阶段示意图;
图7为一个实施例中数据发送阶段示意图;
图8为一个实施例中多路径传输装置的结构框图;
图9为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
云技术(Cloud technology)是基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。本申请的方案涉及通过云技术来进行数据传输。
本申请实施例提供的多路径传输方法,可以应用于如图1所示的应用环境中。其中,发送终端102通过网络与接收终端104进行通信,终端102以及终端104之间包含有若干个中间设备,需要借助中间设备要进行通信。当发送终端102方的用户需要发送数据至接收终端104时,可以向终端102提交相应的数据传输请求。终端102获取数据传输请求,数据传输请求包括待传输数据以及接收终端104的标识;根据接收端的标识查找路径映射表,路径映射表中包含有通过网络遥测获取的多条正向独立路径,正向独立路径上包含有中间设备的身份标识;将数据传输请求对应的发送路径依次绑定至各正向独立路径;以轮询方式查询发送路径的拥塞控制模块,以基于发送路径对应的可用带宽向接收终端104发送待传输数据。其中,发送终端102与接收终端104可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。中间设备可以通过交换机或者路由器等来实现。
在一个实施例中,如图2所示,提供了一种多路径传输方法,以该方法应用于图1中的发送终端102为例进行说明,包括以下步骤:
步骤201,获取数据传输请求,数据传输请求包括待传输数据以及接收端的标识。
其中,数据传输请求是指由发送终端102方的工作人员提出的请求,用于请求发送终端102向接收终端104传输相应的数据。待传输数据即为传输过程中需要发送的数据,待传输数据具体可以包括多个不同的数据包,发送终端102可以通过多路径传输的方式,将这些数据包以不同的独立传输路径传输到接收终端。而接收端的标识则用于指定这些数据的接收端。
具体地,当发送终端102方的工作人员需要进行大批量数据的传输时,为了提高数据的传输效率,可以通过网络中不同的中间设备节点,选择不同的传输路径来进行传输,从而保证传输的效率。此时,用户可以向发送终端102提交相应的数据传输请求,并在数据传输请求中指定好需要传输的数据,同时附带上接收端的标识,指定这些数据由谁负责接收。
步骤203,根据接收端的标识查找路径映射表,路径映射表中包含有通过网络遥测获取的多条正向独立路径。
其中,独立路径包括了多条相互独立的传输路径,各条独立路径之间相互独立,不存在重叠链路。独立路径分为正向独立路径以及反向独立路径,正向独立路径为发送端到接收端的传输路径,而反向独立路径则是指接收端到发送端的传输路径。正向独立路径具体是指通过路径探测预先获取的数据传输路径,正向独立路径以链路号和源端口号为关键字,由发送终端到接收终端之间的若干个中间设备的身份标识构建,从而可以基于中间设备的身份标识识别出相应的传输链路,从而借助正向独立路径将待传输数据的数据包发送至接收终端,同时这些正向独立路径中每一条路径都相互独立,每一条正向独立路径都不存在重叠的链路。而路径映射表中就包含有这些正向独立路径,因此,可以根据接收端的标识查找发送终端102与接收终端104之间的路径映射表,而后借助路径映射表来获取这些正向独立路径,从而基于这些正向独立路径进行多路径传输。
具体地,在进行多路径的数据传输时,为了保证数据传输的效率,需要尽量地根据路径的负载带宽,将数据包分配至不同的传输路径来进行传输。本申请的方案则需要构建出相应的路径映射表,从而获取相互独立的多条正向独立路径,而后基于这些正向独立路径来进行数据的传输,每条正向独立路径都可以被依次分配待传输数据中的数据包来进行传输。在获取路径映射表时,具体可以读取预先构建好的路径映射表,或者通过网络遥测技术来进行探测,从而获取路径映射表。
步骤205,将数据传输请求对应的发送路径依次绑定至各正向独立路径。
具体地,发送终端102的运输层包含有发送模块来发送数据,而发送模块内包含有多条发送路径,在数据发送时,可以将这些发送路径依次绑定至查找到的各正向独立路径上,从而在发送路径上即可基于正向独立路径中的中间设备身份标识来进行数据发送的处理。
步骤207,以轮询方式查询发送路径的拥塞控制模块,以基于发送路径对应的可用带宽向接收端发送待传输数据。
其中,数据发送模块中的每一条发送路径都拥有拥塞控制模块,拥塞控制模块可以向发送终端102反馈当前发送路径的负载状态。轮询则是指由CPU定时发出询问,依序询问每一个周边设备是否需要其服务,有即给予服务,服务结束后再问下一个周边,接着不断周而复始。即依次访问每条发送路径,当发送路径的拥塞控制模块允许发送时,则把待传输数据的报文从当前的路径发出去,并把当前路径切换成下一条路径p=(p+1)%H。若当前路径的拥塞控制模块不允许发送,则直接把当前路径切换成下一条路径p=(p+1)%H,并请求发送。
具体地,本申请的方案在将数据传输请求对应的发送路径依次绑定至各正向独立路径后,每条发送路径则对应有各自的独立路径,他们之间不存在重叠的链路,因此不会相互产生干扰。此时,可以以轮询的方式依次访问各个发送路径,基于发送路径中拥塞控制模块来进行数据报文的发送处理,在发送时,结合路径的可用带宽,即通过拥塞控制模块控制在每条路径上发送的包数正比于每条路径的可用带宽,数据流的总带宽等于路径的可用带宽之和。
上述多路径传输方法,通过获取数据传输请求,数据传输请求包括待传输数据以及接收端的标识;根据接收端的标识查找路径映射表,路径映射表中包含有探测获取的多条正向独立路径;将数据传输请求对应的发送路径依次绑定至各正向独立路径;以轮询方式查询发送路径的拥塞控制模块,以基于发送路径对应的可用带宽向接收端发送待传输数据。本申请的方案中,通过在发送数据时,依照探测获取的正向独立路径来绑定发送路径,从而以轮询方式通过不同的正向独立路径来将数据发送至接收端,并结合正向独立路径的负载情况,通过拥塞控制模块依照可用带宽进行数据发送,从而有效提高传输可靠性。本申请的方案,在进行多路径的数据传输时,可以原生地利用数据中心网络等价多路径的特点,充分利用多路径的带宽,在两条接入链路的网络最多可以提高100%的带宽,在M条接入链路的网络最多可以提高(M-1)*100%的带宽。同时,可以大幅度提高运输层服务的可靠性和可用性。例如在传统ECMP多路径的方案中,多条路径可能重叠在同一条链路上,若此链路故障,将会导致所有路径不可用和传输服务中断。而在本方案中,网络中的单链路(非接入链路)故障最多导致1条路径失效;而一条接入链路故障最多导致H/M条路径故障(M是接入链路数)。
在一个实施例中,路径映射表包括正向路径映射表和反向路径映射表,如图3所示,本申请的方法还包括:
步骤302,根据数据传输请求向中间设备发送正向路径探测包。
步骤304,获取中间设备反馈的反向路径探测包,提取反向路径探测包中的正路径探测结果以及反向路径探测结果。
步骤306,根据正向路径探测结果构建正向路径映射表,根据反向路径探测结果构建反向路径映射表。
其中,正向路径映射表包括多条正向独立路径,而反向路径映射表则对应包括了多条反向独立路径,接收终端104在接收到发送终端102发送的数据后,可以在接收终端104的应答模块上,根据反向独立路径对接收的数据进行应答处理。正向路径探测包中包括有网络遥测标记,网络遥测标记用于获取中间设备的身份标识,以构建正向探测路径,正向探测路径用于构建正向路径映射表。具体来说,正向路径探测包中包含了路径探测包头,其中包含INT(In-Network Telemetry,网络遥测)使能标记,FINT包头(带有接入链路ID和INT字段)和Ack info。Ack info携带了反向探测包(Ack包)的接入链路ID(link ID)和源端口号,以控制反向路径。反向路径探测包,则是指在反向路径探测结束后,经由中间设备向发送终端102反馈的反向路径探测结果。反向路径探测包具体为带有INT包头的Ack包,可以从中提取出正向路径探测结果(位于payload载荷字段)和反向路径探测结果(源端口号和INT包头内的中间设备身份标识)。其中中间设备身份标识具体可以为交换机ID序列。值得注意的是,路径探测包内的五元组信息和以后要使用这条路径的数据包的五元组信息是一样的,这样探测包走的路径才是跟数据包走的路径一致。探测包后续发送的数据包的不同之处主要在于探测包带有INT标记,交换机检测到此标记即识别为需要打上INT信息。此INT标记可以是一串特殊的字符(如0x88888888),也可以是公有包头的某个字段(须未被正常数据包使用)。特别地,对于路径探测包的INT包头的结构和位置。一般来说,这个INT包头位于TCP或者UDP包头后面,但也可以放在更深的位置上。对于路径探测包的INT标记字段的长度与内容。此字段主要是为准确识别报文的INT需求,并与普通报文区别开。理论长度越长越好,其内容越唯一越好。实际应用中,标记字段长度可以为6~10个字节,也可以更长。对于路径探测包的ack info字段的位置。ack info主要携带用于反向路径探测的接入链路ID和源端口号,它们在ack info中字段的位置排列可以调转。另外,ack info字段的位置也可以更深。
具体地,本申请的方案中在发送数据之前,还包含有一个路径探测的步骤,该步骤主要用于从收集到路径上中间设备的身份标识来构建独立路径。发送终端104发送特殊格式的探测包,中间设备如交换机检测到该类型的包后,会使用INT功能把自己的ID写入包头的相应位置。这样,探测包就可以收集到路径上所有中间设备的身份标识。接收端在收到探测包后,会把该ID序列放在Ack包的载荷字段发回给发送端,同时收集Ack包路径的交换机ID序列。探测包使用不同的源端口号来实现在网络中走不同的路径。在数据发送阶段,利用路径探测阶段得到的路径设置,使用路径调度策略往不同路径上发送数据包。值得注意的是,路径探测阶段和数据发送阶段可以是混合在一起的,在时间上没有严格的分离,特别是发送端检测到有路径故障的时候,会立即开始新的路径探测。通过路径探测所探测出的是一部分或全部的独立路径,后续发送的数据包即可使用这些独立路径发送数据。在数据发送阶段,也可以间隔发送一些探测包,以探测更多的独立路径,丰富路径库。在探测路径时,如果用H代表数据发送模块使用的路径数目,N代表路径映射表的路径数(即已探测到的独立路径数目)。路径探测的目标是探测出K条独立路径,K是网络中的独立路径数目,运输层使用H条路径进行传输(H<=K)。在探测到H条独立路径之前,路径探测模块会间歇性地(如间隔100ms)发送一些路径探测包以探测更多的独立路径。本实施例中,通过发送路径探测包来进行路径探测,并构建相应的路径映射表,从而能够在后续过程中有效地根据探测到的路径探测结果构建独立路径,并进行有序的多路径数据传输,保证数据传输的效率。
在数据探测阶段,还需要对中间设备以及接收端进行设置处理,其具体包括:
对应中间设备,其主要工作在网络层工作包括两个部分,
1)对于正常的数据包(包括Ack包),即没有INT标记的包,使用标准的基于五元组的哈希方法查找出端口进行下一跳的路由。
2)对于带有INT标记的包,中间设备会先更新sw_ind=sw_ind+1,然后把自己的ID号根据sw_ind插入到相应的位置。例如交换机ID=12,其检测到sw_ind=3,则会先更新sw_ind为4,然后把12写入sw 4的字段。
对于接收终端,接收终端组件的工作包括两部分:提取数据包的路径探测结果和回送探测结果。
1)接收端在接收到正向路径探测包后,先取出其包头中的INT字段信息,包括中间设备的身份标识序列和Ack info。
2)提取完正向路径探测包的信息后,接收端需要把INT信息回送到发送端,并探测出反向路径信息。反向路径信息通过在Ack包头中插入INT包头(与正向探测包一样),并用1)中提取的Ack info设置标准运输层包头(TCP或UDP)的源端口号和本机的接入链路(如有多个)。
在其中一个实施例中,反向路径映射表包含有探测获取的多条反向独立路径,步骤207之前,还包括:发送包含反向路径映射表的路径设置报文至接收端,路径设置报文用于通知接收端,将接收端对应的应答路径依次绑定至各反向独立路径。
具体地,为了更有效地得到接收终端104所反馈的应答数据,可以在发送数据之前,先发送包含反向路径映射表的路径设置报文至接收终端104,以告知接收终端104依照探测获取的反向独立路径来设置应答路径,即接收端需要使用接收到的反向独立路径的源端口号逐个替换应答路径上绑定的随机源端口号,并绑定到相应的接入链路ID。从而保证应答过程的处理效率。本申请的实施例中,通过发送包含反向路径映射表的路径设置报文至接收端,可以有效在发送数据前进行消息通知,从而保证多路径数据传输过程中数据应答处理过程的处理效率。
在其中一个实施例中,步骤207之后,还包括:接收接收端的应答模块根据待传输数据反馈的应答数据,应答数据通过反向独立路径传输。
具体地,在数据传输过程中,当数据发送至接收终端104之后,接收终端104会根据所接受的数据反馈相应的应答数据,而由于发送终端102已经发送了包含反向路径映射表的路径设置报文至接收终端104,从而将接收终端104的应答路径依次绑定至各反向独立路径,从而这些应答数据可以通过探索获得的反向独立路径反馈至发送终端102,发送终端102则接收接收端的应答模块根据待传输数据反馈的应答数据,完成数据发送处理的完整流程。本实施例中,通过反向独立路径来获取接收终端104反馈的应答数据,可以有效保证数据发送后可以及时接收应答数据,提高多路径数据发送过程的处理效率。
在其中一个实施例中,如图4所示,步骤306包括:
步骤401,依次获取正向路径探测结果中的正向探测路径。
步骤403,将正向探测路径与正向路径映射表中的路径进行一一对比,获取正向探测路径的独立对比结果。
步骤405,当独立对比结果表征正向探测路径为正向独立路径时,将正向探测路径加入正向路径映射表,并更新正向路径映射表。
其中,正向探索路径是指通过正向路径探测所获得的所有路径,这些路径中可能包含有相互重叠的链路,因此需要进行挑选,才能得到正向独立路径。
具体地,在提取完探测结果后,依次获取正向路径探测结果中的正向探测路径,从而将探测结果的正向探测路径与已记录在正向路径映射表中的路径探测结果进行对比,若该正向探测路径与正向路径映射表中所有记录都相互独立,则加入表中,从而更新正向路径映射表,并跳转至下一个正向探测路径的处理过程。如果正向路径映射表中包含有与该正向探测路径重叠的链路,则说明两者之间不是相互独立的关系,此时即可跳转至下一个正向探测路径的处理过程。同理,对于反向路径映射表的构建,亦可参考本实施例中的步骤进行。本实施例中,通过将正向探测路径与正向路径映射表中的路径进行一一对比,来识别出正向探测路径中与现有路径独立的路径,从而可以有效地从多条探测路径中查找到有效地正向独立路径,保证正向路径映射表的构建效率。
在其中一个实施例中,方法还包括:当独立对比结果表征正向探测路径,与正向路径映射表中的路径不存在重叠链路时,确定正向探测路径为正向独立路径。
具体地,在判断正向探测路径与正向路径映射表中的路径是否相互独立时,具体是基于两者是否存在重叠链路来进行判断的,具体是需要检查两条路径是否有至少一条的重叠链路(链路中包含有连续两个相同的中间设备身份标识),有则不独立,无则独立。如路径1和2分别是[0,1|22,31,45,24,39]和[0,2|22,33,42,24,39]。因为两条路径都有连续的2个中间设备身份标识相同(24和39),所以路径1和2不是相互独立的。而如路径3和2分别是[0,3|21,32,44,23,39]和[0,2|22,33,42,24,39]。因为两条路径并未包含都有连续的2个中间设备身份标识,所以路径3和2是相互独立的。同理,对于反向独立路径的识别,亦可参考本实施例中的步骤进行。本实施例中,通过重叠链路来进行独立路径的识别,可以有效保证正向独立路径的有效性。
在其中一个实施例中,正向独立路径还包括接入链路号以及源端口号,步骤106包括:将数据传输请求对应的发送路径的随机源端口号依次替换为各正向独立路径的源端口号,并将发送路径依次绑定至各正向独立路径的接入链路号。
具体地,正向独立路径中除了包含有中间设备的身份标识序列外,还以链路号和源端口号作为关键字,而在进行发送路径的绑定处理时,在探测到正向独立路径后,可以数据传输请求对应的发送路径的随机源端口号依次替换为各正向独立路径的源端口号,同时将发送路径依次绑定至各正向独立路径的接入链路号,从而完成发送路径与正向独立路径之间的绑定处理操作。如图5所示,在初始化阶段,发送终端102的数据发送模块和接收终端104的应答模块都会随机选择H个源端口号绑定到H条路径,路径与接入链路的绑定使用交替绑定(如路径1~4分别绑定到接入链路1,2,1,2)。而在探测到独立路径之后,在进行路径绑定时,数据发送模块会使用独立路径的源端口号逐个替换路径上绑定的随机源端口号,并把路径绑定到独立路径的接入链路ID。从而将发送路径与正向独立路径绑定,可以依照正向独立路径的中间设备身份标识序列来进行数据传输,保证多路径数据传输过程的处理效率。
本申请还提供一种应用场景,该应用场景应用上述的多路径传输方法。具体地,该多路径传输方法在该应用场景的应用如下:
当发送端需要进行大批量的数据传输时,为了数据传输过程的传输效率,可以借助本申请的多路径传输方法来在不同的独立路径上传输数据,提高数据传输效率的同时保证数据传输过程的可靠性。首先,用户需要在发送端上指定数据的接收端与需要发送的数据,而发送端则开始进行多路径传输的处理。首先是路径探测的处理过程,路径探测过程具体可以参照图6所示,发送端通过通过发送多个正向路径探测包,利用交换机的INT功能探测互相独立的路径。交换机检测到该类型的包后,会使用INT功能把自己的ID写入包头的相应位置。这样,探测包就可以收集到路径上所有交换机的ID序列。接收端在收到探测包后,会把该ID序列放在Ack包的载荷字段发回给发送端,同时收集Ack包路径的交换机ID序列。正向路径探测包使用不同的源端口号来实现在网络中走不同的路径。具体地,正向路径探测包中包含INT使能标记,FINT包头(带有接入链路ID和INT字段)和Ack info。Ack info携带了反向探测包(Ack包)的接入链路ID(link ID)和源端口号,以控制反向路径,具体过程参照图6中①步骤。同时发送端还需要处理由交换机反馈的反向路径探测结果,在收到带有INT包头的Ack包,即反向路径探测包后,发送端提取出正向路径探测结果(位于payload载荷字段)和反向路径探测结果(源端口号和INT包头内的交换机ID序列),具体可以参照图6中的⑤步骤。而后在得到反向路径探测结果后,发送端会基于得到的正向路径探测结果与反向路径探测结果来构建两个表,即正向路径映射表以及反向路径映射表,将相互独立的正向独立路径以及反向独立路径分别加入到这两个映射表中。而对于交换机,其主要处理带有INT标记的正向路径探测包,见图6的步骤②,交换机会先更新sw_ind=sw_ind+1,然后把自己的ID号根据sw_ind插入到相应的位置。例如交换机ID=12,其检测到sw_ind=3,则会先更新sw_ind为4,然后把12写入sw 4的字段。而接收端则需要在路径探测阶段中提取正向路径探测包的路径探测结果和回送探测结果。首先对于数据包提取过程,具体可以参见图6的步骤③,接收端在接收到正向路径探测包后,先取出其包头中的INT字段信息,包括交换机ID序列和Ack info。同时,在提取完数据后,还需要会送探测结果,此时接收端需要把INT信息回送到发送端,并探测出反向路径信息。反向路径信息通过在Ack包头中插入INT包头(与正向探测包一样),并用a)中提取的Ack info设置标准运输层包头(TCP或UDP)的源端口号和本机的接入链路(如有多个)。如此重复多次,发送端即可构建出一个包含多条正向独立路径的路径映射表。当探测到的路径达到数量要求时(即运输层所用的发送路径数目)时,即可进行数据发送的处理,值得注意的是,路径探测阶段和数据发送阶段可以是混合在一起的,在时间上没有严格的分离,特别是发送端检测到有路径故障的时候,会立即开始新的路径探测。数据发送的过程具体可以参照图7所示,在初始化阶段,发送端的数据发送模块和接收端的应答模块都会随机选择H个源端口号绑定到H条路径,路径与接入链路的绑定使用交替绑定吗,而后在探测到独立路径之后,数据发送模块会使用独立路径的源端口号逐个替换路径上绑定的随机源端口号,并把路径绑定到独立路径的接入链路ID。在探测到反向独立路径之后,发送端会发送一个路径设置报文通知接收端,接收端则会使用接收到的反向独立路径的源端口号逐个替换路径上绑定的随机源端口号,并绑定到相应的接入链路ID。从而完成对独立路径的绑定工作,而后即可通过这些路径来进行多路径的数据传输处理了,在进行数据传输时,先根据每条路径的负载状态(由拥塞控制模块进行反馈)进行路径的调度。在每条路径上发送的包数正比于每条路径的可用带宽,数据流的总带宽等于路径的可用带宽之和。通过有序地多路径传输,可以高效地将待传输数据由发送端传输到接收端。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的多路径传输方法的多路径传输装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个多路径传输装置实施例中的具体限定可以参见上文中对于多路径传输方法的限定,在此不再赘述。
在一个实施例中,如图8所示,提供了一种多路径传输装置,包括:请求获取模块801、映射表查找模块803、路径绑定模块805和数据发送模块807,其中:
请求获取模块801,用于获取数据传输请求,数据传输请求包括待传输数据以及接收端的标识。
映射表查找模块803,用于根据接收端的标识查找路径映射表,路径映射表中包含有通过网络遥测获取的多条正向独立路径。
路径绑定模块805,用于将数据传输请求对应的发送路径依次绑定至各正向独立路径。
数据发送模块807,用于以轮询方式查询发送路径的拥塞控制模块,以基于发送路径对应的可用带宽向接收端发送待传输数据。
在一个实施例中,路径映射表包括正向路径映射表和反向路径映射表;装置还包括路径探测模块,用于:根据数据传输请求向中间设备发送正向路径探测包;获取中间设备反馈的反向路径探测包,提取反向路径探测包中的正路径探测结果以及反向路径探测结果;根据正向路径探测结果构建正向路径映射表,根据反向路径探测结果构建反向路径映射表。
在一个实施例中,反向路径映射表包含有探测获取的多条反向独立路径,装置还包括反向路径反馈模块,用于:发送包含反向路径映射表的路径设置报文至接收端,路径设置报文用于通知接收端,将接收端对应的应答路径依次绑定至各反向独立路径。
在一个实施例中,还包括应答数据接收模块,用于:接收接收端的应答模块根据待传输数据反馈的应答数据,应答数据通过反向独立路径传输。
在一个实施例中,正向路径探测包包括有网络遥测标记,网络遥测标记用于获取中间设备的身份标识,以构建正向探测路径,正向探测路径用于构建正向路径映射表。
在一个实施例中,路径探测模块具体用于:依次获取正向路径探测结果中的正向探测路径;将正向探测路径与正向路径映射表中的路径进行一一对比,获取正向探测路径的独立对比结果;当独立对比结果表征正向探测路径为正向独立路径时,将正向探测路径加入正向路径映射表,并更新正向路径映射表。
在一个实施例中,路径探测模块具体用于:当独立对比结果表征正向探测路径,与正向路径映射表中的路径不存在重叠链路时,确定正向探测路径为正向独立路径。
在一个实施例中,路径绑定模块805具体用于:将数据传输请求对应的发送路径的随机源端口号依次替换为各正向独立路径的源端口号,并将发送路径依次绑定至各正向独立路径的接入链路号。
上述多路径传输装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种多路径传输方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(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)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (12)
1.一种多路径传输方法,其特征在于,所述方法包括:
获取数据传输请求,所述数据传输请求包括待传输数据以及接收端的标识;
根据所述接收端的标识查找路径映射表,所述路径映射表中包含有通过网络遥测获取的多条正向独立路径;
将所述数据传输请求对应的发送路径依次绑定至各正向独立路径;
以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽向所述接收端发送所述待传输数据。
2.根据权利要求1所述的方法,其特征在于,所述路径映射表包括正向路径映射表和反向路径映射表;所述方法还包括:
根据所述数据传输请求向中间设备发送正向路径探测包;
获取所述中间设备反馈的反向路径探测包,提取所述反向路径探测包中的正路径探测结果以及反向路径探测结果;
根据所述正向路径探测结果构建正向路径映射表,根据所述反向路径探测结果构建反向路径映射表。
3.根据权利要求2所述的方法,其特征在于,所述反向路径映射表包含有探测获取的多条反向独立路径,所述以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽发送所述待传输数据之前,还包括:
发送包含反向路径映射表的路径设置报文至所述接收端,所述路径设置报文用于通知所述接收端,将接收端对应的应答路径依次绑定至各反向独立路径。
4.根据权利要求3所述的方法,其特征在于,所述以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽发送所述待传输数据之后,还包括:
接收所述接收端的应答模块根据所述待传输数据反馈的应答数据,所述应答数据通过所述反向独立路径传输。
5.根据权利要求2所述的方法,其特征在于,所述正向路径探测包包括有网络遥测标记,所述网络遥测标记用于获取所述中间设备的身份标识,以构建正向探测路径,所述正向探测路径用于构建所述正向路径映射表。
6.根据权利要求5所述的方法,其特征在于,根据所述正向路径探测结果构建正向路径映射表包括:
依次获取所述正向路径探测结果中的正向探测路径;
将所述正向探测路径与所述正向路径映射表中的路径进行一一对比,获取所述正向探测路径的独立对比结果;
当所述独立对比结果表征所述正向探测路径为正向独立路径时,将所述正向探测路径加入所述正向路径映射表,并更新所述正向路径映射表。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
当所述独立对比结果表征所述正向探测路径,与所述正向路径映射表中的路径不存在重叠链路时,确定所述正向探测路径为正向独立路径。
8.根据权利要求1所述的方法,其特征在于,所述正向独立路径还包括接入链路号以及源端口号,所述将所述数据传输请求对应的发送路径依次绑定至各正向独立路径包括:
将所述数据传输请求对应的发送路径的随机源端口号依次替换为所述各正向独立路径的源端口号,并将所述发送路径依次绑定至所述各正向独立路径的接入链路号。
9.一种多路径传输装置,其特征在于,所述装置包括:
请求获取模块,用于获取数据传输请求,所述数据传输请求包括待传输数据以及接收端的标识;
映射表查找模块,用于根据所述接收端的标识查找路径映射表,所述路径映射表中包含有通过网络遥测获取的多条正向独立路径;
路径绑定模块,用于将所述数据传输请求对应的发送路径依次绑定至各正向独立路径;
数据发送模块,用于以轮询方式查询所述发送路径的拥塞控制模块,以基于所述发送路径对应的可用带宽向所述接收端发送所述待传输数据。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
12.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210288498.0A CN116846816A (zh) | 2022-03-23 | 2022-03-23 | 多路径传输方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210288498.0A CN116846816A (zh) | 2022-03-23 | 2022-03-23 | 多路径传输方法、装置、计算机设备和存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN116846816A true CN116846816A (zh) | 2023-10-03 |
Family
ID=88167542
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210288498.0A Pending CN116846816A (zh) | 2022-03-23 | 2022-03-23 | 多路径传输方法、装置、计算机设备和存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN116846816A (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118869591A (zh) * | 2024-03-08 | 2024-10-29 | 腾讯云计算(北京)有限责任公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
| CN119484417A (zh) * | 2025-01-13 | 2025-02-18 | 腾讯科技(深圳)有限公司 | 一种网络拥塞处理方法、装置及设备、介质、产品 |
-
2022
- 2022-03-23 CN CN202210288498.0A patent/CN116846816A/zh active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118869591A (zh) * | 2024-03-08 | 2024-10-29 | 腾讯云计算(北京)有限责任公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
| CN118869591B (zh) * | 2024-03-08 | 2025-06-06 | 腾讯云计算(北京)有限责任公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
| WO2025185453A1 (zh) * | 2024-03-08 | 2025-09-12 | 腾讯科技(深圳)有限公司 | 数据传输方法、装置、计算机可读介质及电子设备 |
| CN119484417A (zh) * | 2025-01-13 | 2025-02-18 | 腾讯科技(深圳)有限公司 | 一种网络拥塞处理方法、装置及设备、介质、产品 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9648005B2 (en) | Method and system for extending network resources campus-wide based on user role and location | |
| CN105409248B (zh) | 用于增强发现的系统和方法 | |
| US8903972B2 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
| US10938776B2 (en) | Apparatus and method for correlating addresses of different internet protocol versions | |
| US20110161961A1 (en) | Method and apparatus for optimized information transmission using dedicated threads | |
| US10462052B2 (en) | Method and apparatus for incremental deployment of information centric network | |
| CN106341298A (zh) | 报文发送方法及装置 | |
| CN116846816A (zh) | 多路径传输方法、装置、计算机设备和存储介质 | |
| CN116566897B (zh) | 一种寻址路由方法、装置、设备及介质 | |
| CN116974906A (zh) | 代码验证方法、装置、计算机设备和存储介质 | |
| US10009265B2 (en) | Communication control apparatus, communication control method, communication system, and recording medium | |
| CN114265869B (zh) | 数据报文的转发方法及装置、存储介质及电子设备 | |
| US20140181307A1 (en) | Routing apparatus and method | |
| CN117692379A (zh) | 面向高性能计算的多态路由表划分方法、装置和程序产品 | |
| WO2018233579A1 (en) | Information centric networking over multi-access network interfaces | |
| Qin et al. | Lehigh explorer: A real time video streaming application with mobility support for content centric networks | |
| CN119652862B (zh) | 地址转换信息同步方法、装置、计算机设备、可读存储介质和程序产品 | |
| CN116708532B (zh) | 局域网连接方法、装置、计算机设备和可读存储介质 | |
| CN119484355B (zh) | 网元设备的测试方法、装置、计算机设备和存储介质 | |
| CN119402413B (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
| CN119484466B (zh) | 云通信方法、装置、计算机设备、可读存储介质和程序产品 | |
| CN119341985B (zh) | 白盒路由器上的二维fib散列储存方法及相关装置 | |
| CN119646076B (zh) | 数据库访问方法、装置、设备、存储介质和程序产品 | |
| EP4576714A1 (en) | Multi-region packet routing using path symmetry | |
| CN119211187A (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 |