多路径传输方法技术

技术编号:39571924 阅读:5 留言:0更新日期:2023-12-03 19:23
本申请实施例公开了一种多路径传输方法

【技术实现步骤摘要】
多路径传输方法、装置、设备、可读存储介质及程序产品


[0001]本申请涉及计算机
,尤其涉及一种多路径传输方法

装置

设备

可读存储介质及程序产品


技术介绍

[0002]数据中心网络的任意服务器节点之间都是有多条物理路径的,而且往往这些路径都是等长的

在规模更大的网络中
(
如汇聚层交换机和核心层的平面数目增大
)
,两个不同的网络层级之间的物理链路的数量将会更大

一般情况下,交换机会先使用路由表,根据目的网际互连协议
(Internet Protocol

IP)
获取候选出端口操作

在有多个候选出端口的情况下,交换机会对数据包的包头的五元组
(
即源
/
目的
IP、

/
目的端口号和协议号
)
进行哈希计算以选定一个候选出端口,使得五元组相同的数据包会从相同的出端口发出去,也就是五元组相同的数据包的物理路径一般是相同的

这样的路由设置可以在一定程度上让一个节点对
(
源服务器和目标服务器
)
的不同数据流走不同的路径,进行负载均衡

而在上述过程中,哈希结果往往是不均匀的,甚至可能会出现哈希极化的现象,使得可能出现传输数据包的物理路径有部分重叠
(r/>即经过相同的链路
)
,甚至可能出现多条子链路完全一致的情况,导致多物理路径的失效,即,不能有效地利用可用带宽,减少了物理路径冗余的可靠性

而且物理路径中子链路的重复,导致若重复的子链路中出现故障时,会导致包括出故障的子链路的物理路径都会中断服务,降低了链路的可用性


技术实现思路

[0003]本申请实施例提供了一种多路径传输方法

装置

设备

可读存储介质及程序产品,可以提高链路可靠性及可用性

[0004]本申请实施例一方面提供了一种多路径传输方法,该方法包括:
[0005]源服务器获取
f
个链路类型;
f
为正整数;一个链路类型是指在一次数据跳转中所经过的链路的类型;
[0006]获取
f
个链路类型分别对应的独立链路数量,基于独立链路数量对
f
个链路类型分别进行
H
次编码,得到
f
个链路类型分别对应的
H
个分段码值;
H
为正整数;
[0007]基于
H
次编码的编码顺序,将
f
个链路类型分别对应的
H
个分段码值组成
H
个路径编码;每个路径编码包括
f
个链路类型分别对应的一个分段码值;
[0008]基于
H
个路径编码,将目标数据包发送至目标服务器

[0009]本申请实施例一方面提供了一种多路径传输方法,该方法包括:
[0010]路径交换机获取目标数据包;目标数据包是由源服务器基于
H
个路径编码所发送的;
H
个路径编码是由源服务器基于
H
次编码的编码顺序,将
f
个链路类型分别对应的
H
个分段码值组成的;
f
个链路类型分别对应的
H
个分段码值是由源服务器基于
f
个链路类型分别对应的独立链路数量,对
f
个链路类型分别进行
H
次编码所得到的;一个链路类型是指在一次数据跳转中所经过的链路的类型;
f
为正整数;
H
为正整数;
[0011]基于目标数据包所指示的目标路径编码,将目标数据包发送至目标服务器;
H
个路径编码包括目标路径编码

[0012]本申请实施例一方面提供了一种多路径传输装置,该装置包括:
[0013]链路获取模块,用于源服务器获取
f
个链路类型;
f
为正整数;一个链路类型是指在一次数据跳转中所经过的链路的类型;
[0014]链路编码模块,用于获取
f
个链路类型分别对应的独立链路数量,基于独立链路数量对
f
个链路类型分别进行
H
次编码,得到
f
个链路类型分别对应的
H
个分段码值;
H
为正整数;
[0015]编码生成模块,用于基于
H
次编码的编码顺序,将
f
个链路类型分别对应的
H
个分段码值组成
H
个路径编码;每个路径编码包括
f
个链路类型分别对应的一个分段码值;
[0016]数据发送模块,用于基于
H
个路径编码,将目标数据包发送至目标服务器

[0017]其中,该链路编码模块,包括:
[0018]数据获取单元,用于获取
f
个链路类型中第
i
个链路类型对应的独立链路数量;
[0019]第一编码单元,用于若第
i
个链路类型对应的独立链路数量大于或等于
H
,则采用
p

q
对第
i
个链路类型进行
H
次编码,得到第
i
个链路类型所对应的
H
个分段码值;
i
为小于或等于
f
的正整数;
p

q
的差值为
H
‑1,且
q
大于
p

[0020]第二编码单元,用于若第
i
个链路类型对应的独立链路数量小于
H
,则采用第
i
个链路类型对应的独立链路数量,对第
i
个链路类型进行循环编码,得到第
i
个链路类型所对应的
H
个分段码值;
[0021]码值获取单元,用于当
i

f
时,得到
f
个链路类型分别对应的
H
个分段码值

[0022]其中,该链路编码模块,包括:
[0023]初始编码单元,用于获取
f
个链路类型中的第
i
个链路类型对应的独立链路数量,基于第
i
个链路类型对本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种多路径传输方法,其特征在于,所述方法包括:源服务器获取
f
个链路类型;
f
为正整数;一个链路类型是指在一次数据跳转中所经过的链路的类型;获取所述
f
个链路类型分别对应的独立链路数量,基于所述独立链路数量对所述
f
个链路类型分别进行
H
次编码,得到所述
f
个链路类型分别对应的
H
个分段码值;
H
为正整数;基于所述
H
次编码的编码顺序,将所述
f
个链路类型分别对应的
H
个分段码值组成
H
个路径编码;每个路径编码包括所述
f
个链路类型分别对应的一个分段码值;基于所述
H
个路径编码,将目标数据包发送至目标服务器
。2.
如权利要求1所述的方法,其特征在于,所述获取所述
f
个链路类型分别对应的独立链路数量,基于所述独立链路数量对所述
f
个链路类型分别进行
H
次编码,得到所述
f
个链路类型分别对应的
H
个分段码值,包括:获取所述
f
个链路类型中第
i
个链路类型对应的独立链路数量;若所述第
i
个链路类型对应的独立链路数量大于或等于
H
,则采用
p

q
对所述第
i
个链路类型进行
H
次编码,得到所述第
i
个链路类型所对应的
H
个分段码值;
i
为小于或等于
f
的正整数;
p

q
的差值为
H
‑1,且
q
大于
p
;若所述第
i
个链路类型对应的独立链路数量小于
H
,则采用所述第
i
个链路类型对应的独立链路数量,对所述第
i
个链路类型进行循环编码,得到所述第
i
个链路类型所对应的
H
个分段码值;当
i

f
时,得到所述
f
个链路类型分别对应的
H
个分段码值
。3.
如权利要求1所述的方法,其特征在于,所述获取所述
f
个链路类型分别对应的独立链路数量,基于所述独立链路数量对所述
f
个链路类型分别进行
H
次编码,得到所述
f
个链路类型分别对应的
H
个分段码值,包括:获取所述
f
个链路类型中的第
i
个链路类型对应的独立链路数量,基于所述第
i
个链路类型对应的独立链路数量,对所述
i
个链路类型进行
H
次编码,得到所述第
i
个链路类型所对应的
H
个初始分段码值;
i
为小于或等于
f
的正整数;获取所述第
i
个链路类型所对应的编码偏移数据,基于所述第
i
个链路类型所对应的编码偏移数据,对所述第
i
个链路类型对应的
H
个初始分段码值分别进行编码偏移处理,得到所述第
i
个链路类型所对应的
H
个分段码值;当
i

f
时,得到所述
f
个链路类型分别对应的
H
个分段码值
。4.
如权利要求1所述的方法,其特征在于,所述基于所述
H
个路径编码,将目标数据包发送至目标服务器,包括:获取初始数据包;对所述
H
个路径编码进行路径调度,得到目标路径编码,基于所述目标路径编码生成路径信息字段;将所述路径信息字段添加至所述初始数据包的包头,生成目标数据包;从所述目标路径编码中获取本地上行链路的分段码值,基于所述本地上行链路的分段码值,确定所述本地上行链路所对应的独立链路;所述本地上行链路是指由源服务器至接入层交换机的链路类型;基于所述本地上行链路所对应的独立链路,将所述目标数据包发送至所述接入层交换
机,以使所述接入层交换机基于所述目标数据包中的所述路径信息字段,将所述目标数据包发送至目标服务器
。5.
如权利要求4所述的方法,其特征在于,所述对所述
H
个路径编码进行路径调度,得到目标路径编码,包括:向轮询数据路径请求发送数据包;所述
H
个路径编码分别对应的独立数据路径包括所述轮询数据路径;所述轮询数据路径是指当前轮询到的数据路径;若所述轮询数据路径满足带宽传输条件,则将所述轮询数据路径所对应的路径编码确定为目标路径编码;若所述轮询数据路径不满足带宽传输条件,则将所述轮询数据路径的下一个独立数据路径,确定为所述轮询数据路径,返回执行所述向轮询数据路径请求发送数据包的过程
。6.
如权利要求4所述的方法,其特征在于,所述基于所述目标路径编码生成路径信息字段,包括:从所述目标路径编码中获取目标编码标识,以及一个或多个路径交换机在所述
f
个链路类型中所指向的链路类型的分段码值;所述一个或多个路径交换机包括所述接入层交换机;获取所述源服务器所对应的传输跳数,将所述目标编码标识

所述一个或多个路径交换机在所述
f
个链路类型中所指向的链路类型的分段码值,以及所述源服务器所对应的传输跳数,生成路径信息字段
。7.
如权利要求1所述的方法,其特征在于,所述方法还包括:所述源服务器以心跳检测周期为基准,在所述
H
个路径编码分别对应的独立数据路径中,向所述目标服务器发送心跳包;若超出心跳确认时间阈值,所述源服务器未获取到所述目标服务器所发送的心跳确认数据,则将
H
个独立数据路径的路径状态更新为路径检查状态;在所述路径检查状态中,对所述
H
个独立数据路径进行检测处理;若所述
H
个独立数据路径中存在异常数据路径,则对所述异常数据路径进行更新
。8.
如权利要求7所述的方法,其特征在于,所述在所述路径检查状态中,对所述
H
个独立数据路径进行检测处理,包括:在所述路径检查状态中,所述源服务器基于第
j
个独立数据路径向所述目标服务器发送检查包;
j
为小于或等于
H
的正整数;若所述源服务器接收到所述目标服务器所发送的检查确认数据,则确定所述第
j
个独立数据路径的正向数据路径正常,等待所述第
j
个独立数据路径的反向数据路径更新,在所述第
j
个独立数据路径更新后的反向数据路径正常时,确定所述第
j
个独立数据路径为正常数据路径;若所述源服务器在经过检查确认时间阈值后,未接收到所述目标服务器所发送的心跳确认数据,则将所述第
j
个独立数据路径的路径状态更新为路径探测...

【专利技术属性】
技术研发人员:叶君宏王发强王冬洋金峰
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1