负载均衡方法及装置与流程

文档序号:25132736发布日期:2021-05-21 08:50阅读:134来源:国知局
负载均衡方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种负载均衡方法及装置。



背景技术:

城域网(metropolitanareanetwork,man)是在一个城市范围内建立的计算机网络,它的一个重要用途是用作骨干网,通过它将位于同一城市内不同地点的主机、数据库,以及局域网(localareanetwork,lan)等互相联接起来,形成高带宽、多功能、多业务接入的多媒体通信网络,进而对外提供计算、传输和存储等服务。

在网络传输过程中,如果城域网不能及时、准确的将突发到来的大流量调度到合适的链路中,则会导致链路拥堵,严重影响网络的吞吐量。因而,相关技术中,主要利用等价多路径协议(equal-costmultipathprotocol,ecmp)的负载均衡算法进行负载均衡。具体的,根据数据流的五元组(源ip地址、目的ip地址、源端口号、目的端口号、协议号),将流随机等概率地分配到不同的可用路径上。

然而,由于ecmp以流个数为负载均衡粒度的静态负载均衡算法,当突发到来的流量长度相差较大时,即使路径之间出现严重的不平衡状况,ecmp对路径状况也是无感知的,因而,严重影响了网络吞吐量,导致ecmp的负载均衡效果较差。



技术实现要素:

本申请实施例提供一种负载均衡方法及装置,以解决现有负载均衡方法存在的负载均衡效果差的问题。

第一方面,本申请提供一种负载均衡方法,应用于源端设备,所述方法包括:

通过n条可用路径中的k条可用路径向目的端设备发送k个探测包,每个探测包用于探测所经过的可用路径的路径信息,n为所述源端设备和所述目的端设备之间的可用路径总条数,n和k均为正整数,且n大于k;

接收所述目的端设备反馈的m条可用路径的m个路径信息,m为小于或等于k的正整数;

根据所述m个路径信息,确定所述n条可用路径的n个路径可用资源信息和n个权重系数;

根据所述n个权重系数和所述n个路径可用资源信息,通过所述n条可用路径中的至少一条可用路径向所述目的端设备传输数据包。

在本实施例中,源端设备通过向所有可用路径中的部分可用路径发送探测包,不仅有效地解决了全探测算法导致的链路震荡,而且可以根据可用路径的路径可用资源信息和权重系数分配数据流量,提高了负载均衡效果。

在第一方面的一种可能设计中,每条可用路径的路径信息包括:所述可用路径的可用瓶颈资源信息;

所述可用瓶颈资源信息是所述目的端设备根据所述可用路径包括的所有链路的可用资源信息确定的;

或者

所述可用瓶颈资源信息是所述可用路径上的每个中间设备依次对比接收到的探测包中的路径可用资源信息和各自输出链路的可用资源信息确定的。

可选的,所述根据所述m个路径信息,确定所述n条可用路径的n个路径可用资源信息和n个权重系数,包括:

根据所述m条可用路径的m个可用瓶颈资源信息,更新所述源端设备存储的所述m条可用路径的m个路径可用资源信息,得到所述n条可用路径的n个路径可用资源信息;

根据所述n条可用路径的n个路径可用资源信息,确定所述n条可用路径的n个权重系数。

在本申请的实施例中,当源端设备接收到的路径信息包括可用路径的可用瓶颈资源信息时,源端设备则可以据此更新每条可用路径的路径可用资源信息,再确定出n条可用路径的n个权重系数,因而,源端设备能够及时将到来的数据流及时均衡到不同的可用路径中,保证了城域网中网络的吞吐量,提高了负载均衡。

在第一方面的另一种可能设计中,对于每个可用路径,所述路径信息包括:所述可用路径上所有链路的可用资源信息;

所述根据所述m个路径信息,确定所述n条可用路径的n个路径可用资源信息和n个权重系数,包括:

根据所述m条可用路径中每条可用路径上所有链路的可用资源信息,确定所述m条可用路径的m个可用瓶颈资源信息;

根据所述m条可用路径的m个可用瓶颈资源信息,更新所述源端设备存储的所述m条可用路径的m个路径可用资源信息,得到所述n条可用路径的n个路径可用资源信息;

根据所述n个路径可用资源信息,确定所述n条可用路径的n个权重系数。

在本申请的实施例中,当源端设备接收到的路径信息包括可用路径上所有链路的可用资源信息时,源端设备可以首先确定出每条可用路径的可用瓶颈资源信息,再更新每条可用路径的路径可用资源信息,进而确定出n条可用路径的n个权重系数,以便在数据流到来时,能够及时均衡的分配到不同的可用路径中,保证了城域网中网络的吞吐量,提高了负载均衡。

在第一方面的再一种可能设计中,所述方法还包括:

若通过所述k条可用路径中的第一可用路径向所述目的端设备发送预设次数的探测包或数据包后,均未收到所述目的端设备反馈的应答信息,则将所述第一可用路径标记为故障路径。

在第一方面的又一种可能设计中,所述方法还包括:

对于所述源端设备和所述目的端设备之间的故障路径,周期性向故障路径发送探测包;

在连续预设次数个探测周期均能收到所述目的端设备反馈的肯定应答信息时,将所述故障路径更新为正常可用路径,并将最后一个探测周期中接收到的肯定应答信息中的路径信息更新为所述正常可用路径的路径信息。

在第一方面的又一种可能设计中,在所述通过n条可用路径中的k条可用路径向目的端设备发送n个探测包之前,所述方法还包括:

根据城域网的拓扑结构和当前负载信息,确定出所述n条可用路径;

根据所述城域网的总资源信息、总可用资源信息以及所述n的取值,在所述n条可用路径中确定出所述k条可用路径。

可选的,所述k满足如下条件:

其中,b为所述城域网的总资源信息,s为所述城域网的可用资源信息。

在本申请的实施例中,源端设备可以根据城域网的总资源信息、可用资源信息以及源端设备和目的端设备之间的可用路径总条数确定k的取值,当网络的总负载减小或可用路径总条数增加时,可以适当的增加k的取值,进而可以提升网络的负载均衡效果。

第二方面,本申请提供一种负载均衡方法,应用于目的端设备,所述方法包括:

从m条可用路径接收m个更新探测包,每个更新探测包包括所经过的可用路径的探测信息,所述m条可用路径是源端设备从n条可用路径中确定的k条可用路径中的m条可用路径,m、k和n均为正整数,m小于或等于k,k小于n,n为所述源端设备和所述目的端设备之间的可用路径总条数;

根据所述m个更新探测包中的探测信息,确定所述m条可用路径的m个路径信息;

向所述源端设备反馈所述m个路径信息。

在本申请的实施例中,当目的端设备从m条可用路径接收m个更新探测包时,能够根据m个更新探测包中的探测信息,确定出m条可用路径的m个路径信息,进而反馈给源端设备,从而在源端设备接收到数据流时,能够及时将其均衡的分布到不同的可用路径中,从而提高了负载均衡效果,进而提升了网络的吞吐量。

在第二方面的一种可能设计中,每个更新探测包包括:所经过可用路径上所有链路的可用资源信息;

对于每条可用路径,所述路径信息包括:所述可用路径上所有链路的可用资源信息。

在本实施例中,目的端设备接收到的更新探测包中为所经过可用路径上所有链路的可用资源信息时,目的端设备可以直接将其反馈给源端设备,以使源端设备据此更新每条可用路径的路径可用资源信息,再更新每条可用路径的权重系数,这时,目的端设备和中间设备的处理负担低。

在第二方面的另一种可能设计中,每个更新探测包包括:所经过可用路径上所有链路的可用资源信息;

对于每条可用路径,所述路径信息包括:所述可用路径的可用瓶颈资源信息;

则所述根据所述m个更新探测包中的探测信息,确定所述m条可用路径的m个路径信息,包括:

根据所述m个更新探测包中每个更新探测包所经过可用路径上所有链路的可用资源信息,确定所述m条可用路径的m个可用瓶颈资源信息。

在本实施例中,目的端设备接收到的更新探测包中为所经过可用路径上所有链路的可用资源信息时,目的端设备据此确定出接收到的m条可用路径的m个可用瓶颈资源信息,再将其传输至源端设备,进而使得源端设备可以确定出每条可用路径的路径可用资源信息,进而再更新每条可用路径的权重系数。该技术方案中,将更新路径可用资源信息和权重系数的方案分配到不同的设备进行处理,均衡了源端设备和目的端设备的压力。

在第二方面的再一种可能设计中,每个更新探测包包括:所经过可用路径的可用瓶颈资源信息;

所述可用瓶颈资源信息是所述可用路径上的每个中间设备依次对比接收到的更新探测包中的路径可用资源信息和各自出口链路的可用资源信息确定的。

在本实施例中,目的端设备接收到的更新探测包中直接为所经过可用路径的可用瓶颈资源信息时,也即,中间设备在接收到每个探测包时均根据更新探测包中的路径可用资源信息和各自出口链路的可用资源信息更新所经过可用路径的可用瓶颈资源信息,而不需要目的端设备和源端设备的处理,降低了源端设备和目的端设备的压力,提高了处理效率。

第三方面,本申请提供一种负载均衡方法,应用于源端设备和目的端设备之间任意一条可用路径中的任意一个中间设备,所述方法包括:

接收前一个设备发送的更新探测包,所述更新探测包包括:所述前一个设备更新后的路径可用资源信息,所述前一个设备为所述更新探测包所经过可用路径上位于所述中间设备之前的第一跳设备或所述源端设备;

确定所述更新探测包所经过可用路径上所述中间设备的出口链路的可用资源信息,所述出口链路的可用资源信息为所述可用路径在前一个探测周期中确定的所述出口链路的可用资源信息;

根据所述前一个设备更新后的路径可用资源信息和所述出口链路的可用资源信息,更新所述更新探测包中的探测信息;

将更新后的更新探测包传输至下一个设备,所述下一个设备为所述更新探测包所在可用路径上位于所述中间设备之后的第一跳设备或者所述目的端设备。

在本申请的实施例中,中间设备在接收到前一个设备发送的更新探测包时,通过对比前一个设备更新后的路径可用资源信息和该中间设备的出口链路的可用资源信息,可以更新接收到的该更新探测包中的探测信息,并传输至下一个设备。也即,中间设备在传输过程中对更新探测包中的探测信息进行实时更新,提高了处理效率,降低了源端设备和目的端设备的处理压力。

在第三方面的一种可能设计中,在所述中间设备为所述可用路径的第一个中间设备时,所述前一个设备为所述源端设备,所述下一个设备为所述探测包所经过可用路径上位于所述中间设备之后的第一跳设备。

在第三方面的另一种可能设计中,在所述中间设备为所述可用路径的最后一个中间设备时,所述前一个设备为当前探测周期中在所述可用路径上位于所述中间设备之前的最近一跳设备,所述下一个设备为所述目的端设备。

第四方面,本申请提供一种负载均衡装置,应用于源端设备,所述装置包括:发送模块、接收模块和处理模块;

所述发送模块,用于通过n条可用路径中的k条可用路径向目的端设备发送k个探测包,每个探测包用于探测所经过的可用路径的路径信息,n为所述源端设备和所述目的端设备之间的可用路径总条数,n和k均为正整数,且n大于k;

所述接收模块,用于接收所述目的端设备反馈的m条可用路径的m个路径信息,m为小于或等于k的正整数;

所述处理模块,用于根据所述m个路径信息,确定所述n条可用路径的n个路径可用资源信息和n个权重系数;

所述发送模块,还用于根据所述n个权重系数和所述n个路径可用资源信息,通过所述n条可用路径中的至少一条可用路径向所述目的端设备传输数据包。

在第四方面的一种可能设计中,每条可用路径的路径信息包括:所述可用路径的可用瓶颈资源信息;

所述可用瓶颈资源信息是所述目的端设备根据所述可用路径包括的所有链路的可用资源信息确定的;

或者

所述可用瓶颈资源信息是所述可用路径上的每个中间设备依次对比接收到的探测包中的路径可用资源信息和各自输出链路的可用资源信息确定的。

可选的,所述处理模块,具体用于根据所述m条可用路径的m个可用瓶颈资源信息,更新所述源端设备存储的所述m条可用路径的m个路径可用资源信息,得到所述n条可用路径的n个路径可用资源信息,根据所述n条可用路径的n个路径可用资源信息,确定所述n条可用路径的n个权重系数。

在第四方面的另一种可能设计中,对于每个可用路径,所述路径信息包括:所述可用路径上所有链路的可用资源信息;

所述处理模块,具体用于根据所述m条可用路径中每条可用路径上所有链路的可用资源信息,确定所述m条可用路径的m个可用瓶颈资源信息,根据所述m条可用路径的m个可用瓶颈资源信息,更新所述源端设备存储的所述m条可用路径的m个路径可用资源信息,得到所述n条可用路径的n个路径可用资源信息,以及根据所述n个路径可用资源信息,确定所述n条可用路径的n个权重系数。

在第四方面的再一种可能设计中,所述处理模块,还用于在所述发送模块通过所述k条可用路径中的第一可用路径向所述目的端设备发送预设次数的探测包或数据包后,所述接收模块均未收到所述目的端设备反馈的应答信息时,将所述第一可用路径标记为故障路径。

在第四方面的又一种可能设计中,对于所述源端设备和所述目的端设备之间的故障路径,所述处理模块,还用于在所述发送模块周期性向故障路径发送探测包后,且所述接收模块在连续预设次数个探测周期均能收到所述目的端设备反馈的肯定应答信息时,将所述故障路径更新为正常可用路径,并将最后一个探测周期中接收到的肯定应答信息中的路径信息更新为所述正常可用路径的路径信息。

在第四方面的又一种可能设计中,所述处理模块,还用于在所述发送模块通过n条可用路径中的k条可用路径向目的端设备发送n个探测包之前,根据城域网的拓扑结构和当前负载信息,确定出所述n条可用路径,以及根据所述城域网的总资源信息、总可用资源信息以及所述n的取值,在所述n条可用路径中确定出所述k条可用路径。

可选的,所述k满足如下条件:

其中,b为所述城域网的总资源信息,s为所述城域网的可用资源信息。

第五方面,本申请提供一种负载均衡装置,应用于目的端设备,所述装置包括:接收模块、处理模块和发送模块;

所述接收模块,用于从m条可用路径接收m个更新探测包,每个更新探测包包括所经过的可用路径的探测信息,所述m条可用路径是源端设备从n条可用路径中确定的k条可用路径中的m条可用路径,m、k和n均为正整数,m小于或等于k,k小于n,n为所述源端设备和所述目的端设备之间的可用路径总条数;

所述处理模块,用于根据所述m个更新探测包中的探测信息,确定所述m条可用路径的m个路径信息;

所述发送模块,用于向所述源端设备反馈所述m个路径信息。

在第五方面的一种可能设计中,每个更新探测包包括:所经过可用路径上所有链路的可用资源信息;

对于每条可用路径,所述路径信息包括:所述可用路径上所有链路的可用资源信息。

在第五方面的另一种可能设计中,每个更新探测包包括:所经过可用路径上所有链路的可用资源信息;

对于每条可用路径,所述路径信息包括:所述可用路径的可用瓶颈资源信息;

则所述处理模块,具体用于根据所述m个更新探测包中每个更新探测包所经过可用路径上所有链路的可用资源信息,确定所述m条可用路径的m个可用瓶颈资源信息。

在第五方面的再一种可能设计中,每个更新探测包包括:所经过可用路径的可用瓶颈资源信息;

所述可用瓶颈资源信息是所述可用路径上的每个中间设备依次对比接收到的更新探测包中的路径可用资源信息和各自出口链路的可用资源信息确定的。

第六方面,本申请提供一种负载均衡装置,应用于源端设备和目的端设备之间任意一条可用路径中的任意一个中间设备,所述装置包括:接收模块、处理模块和发送模块;

所述接收模块,用于接收前一个设备发送的更新探测包,所述更新探测包包括:所述前一个设备更新后的路径可用资源信息,所述前一个设备为所述更新探测包所经过可用路径上位于所述中间设备之前的第一跳设备或所述源端设备;

所述处理模块,用于确定所述更新探测包所经过可用路径上所述中间设备的出口链路的可用资源信息,所述出口链路的可用资源信息为所述可用路径在前一个探测周期中确定的所述出口链路的可用资源信息,以及根据所述前一个设备更新后的路径可用资源信息和所述出口链路的可用资源信息,更新所述更新探测包中的探测信息;

所述发送模块,用于将更新后的更新探测包传输至下一个设备,所述下一个设备为所述更新探测包所在可用路径上位于所述中间设备之后的第一跳设备或者所述目的端设备。

在第六方面的一种可能设计中,在所述中间设备为所述可用路径的第一个中间设备时,所述前一个设备为所述源端设备,所述下一个设备为所述探测包所经过可用路径上位于所述中间设备之后的第一跳设备。

在第六方面的另一种可能设计中,在所述中间设备为所述可用路径的最后一个中间设备时,所述前一个设备为当前探测周期中在所述可用路径上位于所述中间设备之前的最近一跳设备,所述下一个设备为所述目的端设备。

关于第四方面至第六方面中各可能设计未详尽的有益技术效果可以参见第一方面至第三方面中的记载,此处不再赘述。

第七方面,本申请提供一种源端设备,包括:处理器、存储器、收发器和系统总线,所述存储器和所述收发器通过所述系统总线与所述处理器连接进行相互通信,所述存储器用于存储计算机程序指令,所述收发器用于和其他设备进行通信,所述处理器执行所述存储器存储的计算机程序指令时实现第一方面以及各可能设计提供的方法。

可选地,所述处理器可以为芯片。

第八方面,本申请提供一种目的端设备,包括:处理器、存储器、收发器和系统总线,所述存储器和所述收发器通过所述系统总线与所述处理器连接进行相互通信,所述存储器用于存储计算机程序指令,所述收发器用于和其他设备进行通信,所述处理器执行所述存储器存储的计算机程序指令时实现第二方面以及各可能设计提供的方法。

第九方面,本申请提供一种中间设备,设置在源端设备和目的端设备之间任意一条可用路径上,所述中间设备包括:处理器、存储器、收发器和系统总线,所述存储器和所述收发器通过所述系统总线与所述处理器连接进行相互通信,所述存储器用于存储计算机程序指令,所述收发器用于和其他设备进行通信,所述处理器执行所述存储器存储的计算机程序指令时实现第三方面以及各可能设计提供的方法。

可选地,在第七方面至第九方面的具体实现中,所述处理器可以为芯片。

第十方面,本申请实施例可提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令被处理器执行时用于实现第一方面以及各可能设计提供的方法。

第十一方面,本申请实施例可提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令被处理器执行时用于实现第二方面以及各可能设计提供的方法。

第十二方面,本申请实施例可提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令被处理器执行时用于实现第三方面以及各可能设计提供的方法。

第十三方面,本申请实施例提供一种程序,当该程序被处理器执行时,用于执行如第一方面以及各可能设计提供的方法。

第十四方面,本申请实施例提供一种程序,当该程序被处理器执行时,用于执行如第二方面以及各可能设计提供的方法。

第十五方面,本申请实施例提供一种程序,当该程序被处理器执行时,用于执行如第三方面以及各可能设计提供的方法。

第十六方面,本申请实施例提供一种计算机程序产品,包括程序指令,程序指令用于实现如第一方面以及各可能设计提供的方法。

第十七方面,本申请实施例提供一种计算机程序产品,包括程序指令,程序指令用于实现如第二方面以及各可能设计提供的方法。

第十八方面,本申请实施例提供一种计算机程序产品,包括程序指令,程序指令用于实现如第三方面以及各可能设计提供的方法

第十九方面,本申请实施例提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行第一方面以及各可能设计提供的方法。

进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行第一方面以及各可能设计提供的方法。

第二十方面,本申请实施例提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行第二方面以及各可能设计提供的方法。

进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行第二方面以及各可能设计提供的方法。

第二十一方面,本申请实施例提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行第三方面以及各可能设计提供的方法。

进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行第三方面以及各可能设计提供的方法。

第二十二方面,本申请提供一种负载均衡系统,包括:源端设备、目的端设备以及连接在所述源端设备和所述目的端设备之间的中间设备,所述源端设备和所述目的端设备通过所述中间设备形成至少一条可用路径;

其中,所述源端设备为上述第四方面以及各种可能设计中所述的装置,所述目的端设备为上述第五方面以及各种可能设计中所述的装置,所述中间设备为上述第六方面以及各种可能设计中所述的装置。

本申请实施例提供的负载均衡方法及装置,通过确定源端设备与目的端设备间的所有可用路径,并通过所有可用路径中的部分可用路径分别向目的端设备发送探测包,以探测每个探测包所经过的可用路径的路径信息,再根据接收到的目的端设备反馈的可用路径的路径信息,确定所有可用路径中每条可用路径的路径可用资源信息和权重系数,进而通过所有可用路径中的至少一条可用路径向目的端设备传输数据包。该技术方案,通过向所有可用路径中的部分可用路径发送探测包,不仅有效地解决了全探测算法导致的链路震荡,而且可以根据可用路径的路径可用资源信息和权重系数分配数据流量,提高了负载均衡效果。

附图说明

图1为城域网的一种拓扑结构示意图;

图2为城域网的另一种拓扑结构示意图;

图3为源端设备和目的端设备之间不同路径中不同链路的瓶颈带宽示意图;

图4为负载均衡系统的一种结构示意图;

图5为本申请实施例提供的负载均衡方法实施例的交互示意图;

图6为城域网拓扑结构的一种仿真示意图;

图7为不同负载均衡方法随探测路径数量对流传输时间的影响示意图;

图8为不同负载均衡方法随网络负载对流传输时间的影响示意图;

图9为本申请实施例提供的负载均衡装置实施例一的结构示意图;

图10为本申请实施例提供的负载均衡装置实施例二的结构示意图;

图11为本申请实施例提供的负载均衡装置实施例三的结构示意图;

图12为本申请实施例提供的源端设备的结构示意图;

图13为本申请实施例提供的目的端设备的结构示意图;

图14为本申请实施例提供的中间设备的结构示意图;

图15为本申请实施例提供的负载均衡系统的结构示意图。

具体实施方式

图1为城域网的一种拓扑结构示意图。示例性的,如图1所示,城域网的拓扑结构可以包括:骨干网(backbone)、数据中心(datacenter,dc)、城域网和用户设备。其中,骨干网是用来连接多个区域或地区的高速网络,其可以把不同城市之间连接起来。城域网(metropolitanareanetwork,man)是在一个城市范围内建立的计算机网络,规模介于局域网和广域网之间。城域网的概念由局域网发展而来,其覆盖范围和用户数量大于局域网,承载的数据量和信息量都有所增加。

参照图1所示,在本实施例中,城域网可以与骨干网连接,也可以与数据中心连接,其可以将骨干网和数据中心的数据、信息等传输至用户设备,从而为用户提供数据、语音、视频等业务。可选的,数据中心还可以与骨干网连接,用于管理骨干网中的数据和信息。

示例性的,图2为城域网的另一种拓扑结构示意图。可选的,如图2所示,按照网络覆盖范围,该拓扑结构可以包括接入网、城域网和骨干网。例如,覆盖范围小于20km的网络称为接入网,覆盖范围介于20km和300km的网络称为城域网,覆盖范围大于300km的网络称为骨干网。

参照图2所示,骨干网中包括核心路由器(corerouter,cr),主要负责与城域网通信。城域网络分为3个层次:核心层、汇聚层和接入层,其中,核心层中包括核心路由器(corerouter,cr),主要提供高带宽的业务承载和传输,完成和已有网络(例如,异步传输模式(asynchronoustransfermode,atm)网络、帧中继(framerelay,fr)网络、数字数据网(digitaldatanetwork,ddn)、网际协议(internetprotocol,ip)网络)的互联互通,实现了宽带传输和高速调度。汇聚层包括汇聚路由器(broadbandrouter,br),主要功能是给业务接入节点提供用户业务数据的汇聚和分发处理,同时要实现业务的服务等级分类。接入层包括接入路由器(accessrouter,ar),其利用多种接入技术进行带宽和业务分配,实现用户的接入。接入网中包括光线路终端(opticallineterminal,olt)和用户设备,olt主要负责连接ar和用户设备。

示例性的,骨干网中还可以包括数据中心(datacenter,dc)。该dc可以包括中央dc(centraldc)和区域dc(regionaldc),中央dc分别与骨干网的cr和城域网的cr连接,区域dc与城域网的br连接。dc(中央dc和/或区域dc)连接在核心层与汇聚层,主要负责进行数据存储、计算等功能。城域网中还可以包括宽带网络网关(broadbandnetworkgateway,bng)主要用在ipoe验证场景。

在本申请的实施例中,主要利用部署在城域网的cr中均衡城域网(两虚线间)的流量,即将cr到ar间的流量均匀分配到各条可用路径上。

下面在介绍本申请的具体方案之前,首先介绍一下本申请的应用场景:

在实际应用中,随着5g网络的成熟以及新兴应用的推广,城域网已成为全网瓶颈。当突发大流量到来时,若无法将流量及时调度可能会导致链路拥塞,严重影响网络的吞吐量,因而,利用负载均衡算法将骨干网的数据和信息等流量快速均匀地分配到不同路径来提升城域网的吞吐量非常重要。

目前,等价多路径协议(equal-costmultipathprotocol,ecmp)是现今城域网使用的主流多路径负载均衡算法,是一种较为简单且有效的负载均衡算法。对于同一个<源-目的>节点对,传统的路由算法通常是选择一条源端设备和目的端设备间的最优路径,除非该路径出现严重拥塞或链路故障,该<源-目的>对之间的流量都在这一条路径上传输致使网络的吞吐量下降,而该ecmp算法,当源端设备发现<源-目的>节点间有其它最优路径,就会添加多跳原则,并将到达的数据流平均分配到这些路径上,也即,根据数据流的五元组(源ip地址、目的ip地址、源端口号、目的端口号、协议号),将流量随机等概率地分配到不同的可用路径上。值得说明的是,这些可用路径必须是等价的且是最优路径,例如,跳数相等且最小。等概率地分配可以使用轮询或哈希算法实现,也可以使用其他算法实现,此处不作限定。

然而,在本实施例中,由于ecmp算法是以数据流为负载均衡粒度,而由于数据流长度的不确定性,当一些长度较长的数据流出现哈希碰撞时,会导致严重的不平衡状况,况且ecmp是静态负载均衡算法,其对链路的状况是无感知的,当链路拥塞或者由于链路断开导致非对称情况出现时,源端设备无法感知,这会严重影响网络的吞吐量,造成负载均衡效果较差。但ecmp算法思路简单,易于部署,且在流长相差不大、网络拓扑对称的情况下具有较好的负载均衡效果。

此外,由于权重相同的两条路径,瓶颈带宽可能相差很大。示例性的,图3为源端设备和目的端设备之间不同路径中不同链路的瓶颈带宽示意图。如图3所示,从源端设备l0到目的端设备l1分别经过中间设备s0和中间设备s1后形成两条可选路径,且两条可选路径的长度一致,然而,第一条可选路径(细实线)的瓶颈带宽是20gbps,而第二条可选路径(细虚线)的瓶颈带宽为80gbps。若从l0到l1之间有100gbps的数据流量的负载时,根据ecmp算法,将向第一条可选路径和第二条可选路径各分配50gbps的数据流量负载,由于第一可选路径的瓶颈带宽20gbps小于分配的50gbps,这将会导致第一条可选路径出现拥塞现象。因而,实际应用中,如果考虑全部链路的瓶颈带宽,则应向第一条可选路径和第二条可选路径分别分配20gbps和80gbps的数据流量负载。

进一步的,由于ecmp对于路径的拥塞程度是完全无感知的,可能某条路径的拥塞程度已很严重,但是源端设备依然在向该条可选路径发送数据流量,将导致该路径的拥塞程度加剧。而且,ecmp算法在面对长流时的负载均衡能力也很差,长流的哈希碰撞也很大程度上影响着ecmp的负载均衡效率,导致ecmp的负载均衡效果较差。

可选的,texcp即trafficengineeringwithanxcp-likeprotocol,是一种分布式的、稳定的、响应的在线流量工程协议,在该方案中,通过周期性地发送探测包可以探测所有可用路径的最小链路利用率。源端设备可以根据探测得到的链路利用率以及统计得到的各条路径的负载信息,得到每条可用路径的加权链路利用率,并通过公式调整下一周期中各条可用路径上分配到的负载比例。调整的原理为:如果某路径的加权利用率高于平均利用率,则在下一周期中减少该路径分配到的负载比例,反之则增加。当可用路径数量较少时,这种方式可以获取较为全面的路径信息,负载均衡效果较好。然而,由于texcp算法采用全探测方式,且算法复杂,在网络拓扑复杂的情况下向所有可用路径发送探测包会带来很大的带宽开销,且当可用路径数量增加时,向所有路径发送探测包会导致很大的链路开销,且探测所有可用路径会导致羊群效应,导致链路情况的震荡,降低网络的吞吐量。

综上所述,现有技术的负载均衡方法存在负载均衡效果差,网络吞吐量低的问题。针对该问题,本申请针对于城域网的拓扑结构、流量特征,以及现有负载均衡机制难以实时获取全局网络拥塞信息的问题,提出了一种面向城域网的分布式负载均衡方法,通过设计全局拥塞信息实时扩散机制以及源端分布式路径选择算法,能够将流量均衡地传输到城域网不同的路径中,提高网络整体吞吐量,减小业务流平均完成时间。

具体的,本申请实施例提出了一种负载均衡方法,源端设备确定出与目的端设备间的所有可用路径,并通过所有可用路径中的部分可用路径分别向目的端设备发送探测包,以探测每个探测包所经过的可用路径的路径信息,再根据接收到的目的端设备反馈的可用路径的路径信息,确定所有可用路径中每条可用路径的路径可用资源信息和权重系数,进而通过所有可用路径中的至少一条可用路径向目的端设备传输数据包。该技术方案,通过向所有可用路径中的部分可用路径发送探测包,不仅有效地解决了全探测算法导致的链路震荡,而且可以根据可用路径的路径可用资源信息和权重系数分配数据流量,提高了负载均衡效果。

示例性的,本申请下述各实施例提供的负载均衡方法,可以适用于负载均衡系统中。图4为负载均衡系统的一种结构示意图。如图4所示,该负载均衡系统可以包括源端设备41、目的端设备42和连接在该源端设备41和目的端设备42之间的中间设备43。可以理解的是,本申请的实施例并不限定源端设备41、目的端设备42以及中间设备43的数量,其可以根据实际情况确定,例如,源端设备41、目的端设备42以及中间设备43的数量可以分别为至少一个,源端设备41、目的端设备42以及中间设备43的数量可以相同,也可以不同。在实际应用中,基于中间设备43的数量,在源端设备41和目的端设备42之间可以形成多条路径。

可选的,参照图4所示,该负载均衡系统示例性的示出了一个源端设备41、一个目的端设备42和n个中间设备(中间设备431至中间设备43n),该示意图以源端设备41和目的端设备42之间的每条路径经过一个中间设备为例进行说明。可以理解的是,本申请实施例并不限定源端设备41和目的端设备42之间的每条路径上的中间设备的数量,多条路径上的中间设备的数量可以完全相同,也可以部分相同,还可以各不相同。

示例性的,参照图1和图2所示的示意图,本实施例中的源端设备41为核心路由器cr,目的端设备42为接入路由器ar,该源端设备41和目的端设备42之间的中间设备43可以为汇聚路由器,交换机或者其他交换设备。本申请实施例并不限定源端设备、目的端设备以及中心设备的具体表现形式,其可以根据实际应用场景选择。

可选的,在本实施例中,源端设备可以周期性的向所有可用路径中的某些可用路径发送探测包以探测每条可用路径的路径信息,并接收目的端设备反馈的路径信息,该路径信息可以包括可用路径的可用瓶颈资源信息,或者,该路径信息可以包括可用路径上所有链路的可用资源信息,若路径信息包括可用路径的可用瓶颈资源信息,则源端设备可以直接根据各可用路径的可用瓶颈资源信息更新并存储所有可用路径的路径可用资源信息和权重系数,若路径信息包括可用路径上所有链路的可用资源信息,则源端设备首先根据可用路径上所有链路的可用资源信息计算各可用路径的可用瓶颈资源信息,再根据各可用路径的可用瓶颈资源信息更新并存储所有可用路径的路径可用资源信息和权重系数。

相应的,当有新的数据流到来时,源端设备可以根据存储的各可用路径的权重系数使用预设的算法确定出用于传输数据流的至少一条可用路径。其中,预设的算法可以为加权多路径协议wcmp算法。可以理解的是,该预设的算法主要是为了均衡核心链路的利用率,因而,除了wcmp算法外,该预设的算法还可以是其他的负载均衡算法,本申请实施例并不对其进行限定。

下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图5为本申请实施例提供的负载均衡方法实施例的交互示意图。该负载均衡方法以源端设备和目的端设备的信息交互进行说明。可以理解的是,源端设备和目的端设备之间的每条可用路径中具有至少一跳中间设备。参照图5所示,该负载均衡方法可以包括如下步骤:

步骤51:源端设备通过n条可用路径中的k条可用路径向目的端设备发送k个探测包,每个探测包用于探测所经过的可用路径的路径信息。

其中,n为源端设备和目的端设备之间的可用路径总条数,n和k均为正整数,且n大于k。

在城域网的应用场景中,源端设备和目的端设备之间通过至少一跳中间设备可以形成至少一条可用路径,源端设备和目的端设备可以通过上述至少一条可用路径中的任意一条可用路径进行信息交互。可选的,为了确定源端设备和目的端设备之间的每条可用路径的路径可用资源信息并避免路径的波动幅度较大,源端设备可以首先确定出源端设备和目的端设备之间的所有可用路径,并随机确定出可以发送探测包的部分可用路径。

示例性的,本申请的实施例以源端设备和目的端设备之间的可用路径总条数为n条,以探测n条可用路径中的k条可用路径进行解释说明。

可选的,参照图5所示,在本申请的实施例中,该负载均衡方法在步骤51之前,还可以包括如下步骤:

步骤50a:源端设备根据城域网的拓扑结构和当前负载信息,确定出该n条可用路径。

由于城域网中节点数量众多,城域网中的源端设备和目的端设备之间可以形成多条可用路径用于信息传输。为了使得从骨干网接收到的数据流可以从源端传输至目的端设备,首先需要确定出源端设备和目的端设备之间的可用路径总条数。

示例性的,源端设备可以首先获取城域网的拓扑结构图,并根据该拓扑结构图中的节点信息确定出源端设备和目的端设备之间的所有路径,再结合每条路径的当前负载信息,确定出源端设备和目的端设备之间的可用路径总条数,即n条可用路径。

步骤50b:源端设备根据该城域网的总资源信息、总可用资源信息以及n的取值,在n条可用路径中确定出k条可用路径。

可选的,在本申请的实施例中,对于源端设备和目的端设备之间的n条可用路径,当需要确定每条可用路径的路径信息且避免较多的可用路径均采用相同的调整策略,致使链路波动较大时,源端设备可以从n条可用路径中确定出k条可用路径,以探测该k条可用路径的路径信息。

示例性的,源端设备可以随机的从n条可用路径中确定出k条可用路径,也可以按照预设的筛选方法确定k条可用路径,本申请实施例并不对其进行限定,其可以根据实际情况确定。

在本实施例中,源端设备在城域网中可以获取城域网的总资源信息、总可用资源信息以及n的取值,确定出k的取值。在实际应用中,k与城域网的可用资源信息、可用路径总条数n成正比,以及与城域网的总资源信息成反比。示例性的,该k满足如下条件:

其中,b为城域网的总资源信息,s为城域网的可用资源信息,n为源端设备和目的端设备之间的可用路径总条数。

在本申请的一种实施例中,当城域网的资源信息用网络的带宽表征时,城域网的总资源信息b可以为城域网的总带宽,也即,网络的所有带宽之和,城域网的可用资源信息s为网络的总可用带宽(b减去网络总负载,网络总负载即已用带宽),因而,k值的选择可以与网络的总带宽成反比,与源端设备到目的端设备的可用路径总条数以及总可用带宽成正比。

示例性的,当某个源端设备和目的端设备<cr-ar>对之间当前有六条可用路径,源端设备(cr)每个周期可以随机的从六条可用路径中确定出两条可用路径用于探测每条可用路径的路径信息。当网络的总负载减小或可用路径总条数增加时,应适当的增加k的取值,也即增加探测路径的条数以提升负载均衡效果。

步骤52:目的端设备从m条可用路径接收m个更新探测包,每个更新探测包包括所经过的可用路径的探测信息。

其中,该m条可用路径是源端设备从n条可用路径中确定的k条可用路径中的m条可用路径,m、k和n均为正整数,m小于或等于k,k小于n,n为源端设备和目的端设备之间的可用路径总条数。

在本申请的实施例中,源端设备通过n条可用路径中的k条可用路径向目的端设备发送探测包后,每个探测包经过源端设备和目的端设备之间的每跳中间设备时,每跳中间设备均会根据其出口链路的可用资源信息更新探测包中的探测信息,形成更新探测包。

作为一种示例,当源端设备从n条可用路径中确定的k条可用路径的路径状态均正常时,k个探测包分别经过k条可用路径中的至少一跳中间设备更新后均可以传输至目的端设备,相应的,目的端设备可以从k条可用路径中接收k个更新探测包。

作为另一种示例,当源端设备从n条可用路径中确定的k条可用路径中存在路径状态为异常或故障的可用路径时,例如,k条可用路径中有m条可用路径的路径状态正常,因而,k个探测包分别经过k条可用路径中的至少一跳中间设备更新后,只有m个更新探测包可以传输至目的端设备,相应的,目的端设备可以接收到m个更新探测包。

作为再一种示例,当源端设备从n条可用路径中确定的k条可用路径的路径状态均正常,但是基于某种原因,例如,每跳中间设备的处理速度慢,致使目的端设备无法在设定的时间范围内接收到更新探测包,例如,目的端设备在设定的时间范围内仅能够从m条可用路径接收更新探测包,这时,也可以认为目的端设备仅可以从m个可用路径接收m个更新探测包。

综上可知,目的端设备接收到的更新探测包包括了其所经过的可用路径的探测信息。示例性的,该探测信息可以为可用路径上所有链路的可用资源信息,也可以为经过各跳中间设备处理后的可用路径的可用瓶颈资源信息。

步骤53:目的端设备根据m个更新探测包中的探测信息,确定该m条可用路径的m个路径信息。

在本实施例中,目的端设备从m条可用路径接收到m个更新探测包时,通过解析每个更新探测包中的探测信息,可以确定出每条可用路径的路径信息。

可选的,在本申请的一种可能设计中,每个更新探测包包括:所经过可用路径上所有链路的可用资源信息。

具体的,作为一种示例,目的端设备可以不对更新探测包中的探测信息进行处理,而是直接将每个更新探测包中包括的所经过可用路径上所有链路的可用资源信息作为可用路径的路径信息反馈给源端设备,以由源端设备根据每条可用路径上所有链路的可用资源信息确定出每条可用路径的可用瓶颈资源信息,因而,对于每条可用路径,该路径信息可以包括:该可用路径上所有链路的可用资源信息。

作为另一种示例,目的端设备对接收到的m个更新探测包进行解析,获取到每个更新探测包中的探测信息后,可以根据该m个更新探测包中每个更新探测包所经过可用路径上所有链路的可用资源信息,确定该m条可用路径的m个可用瓶颈资源信息,此时,对于每条可用路径,该路径信息包括:可用路径的可用瓶颈资源信息。

可选的,在本申请的另一种可能设计中,每个更新探测包包括:所经过可用路径的瓶颈可用资源信息,其中,该可用瓶颈资源信息是该可用路径上的每个中间设备依次对比接收到的更新探测包中的路径可用资源信息和各自出口链路的可用资源信息确定的。

具体的,对于应用在源端设备和目的端设备之间任意一条可用路径中的任意一个中间设备,其可以执行如下操作:

a1:接收前一个设备发送的更新探测包,该更新探测包包括:前一个设备更新后的路径可用资源信息,该前一个设备为该更新探测包所经过可用路径上位于该中间设备之前的第一跳设备或源端设备。

a2:确定该更新探测包所经过可用路径上该中间设备的出口链路的可用资源信息,该出口链路的可用资源信息为该可用路径在前一个探测周期中确定的该出口链路的可用资源信息;

a3:根据前一个设备更新后的路径可用资源信息和该出口链路的可用资源信息,更新上述更新探测包中的探测信息;

a4:将更新后的更新探测包传输至下一个设备,该下一个设备为该更新探测包所在可用路径上位于该中间设备之后的第一跳设备或者目的端设备。

作为一种示例,当该中间设备为该更新探测包所经过可用路径上的第一跳中间设备时,该前一个设备为源端设备,该下一个设备为该更新探测包所经过可用路径上位于该中间设备之后的第一跳设备。

作为另一种示例,当该中间设备为可用路径的最后一个中间设备时,该前一个设备为该更新探测包所经过可用路径上位于该中间设备之前的最近一跳设备,该下一个设备为目的端设备。

综上所述,在本申请的实施例中,当每条可用路径的路径信息包括:可用路径的可用瓶颈资源信息时,该可用瓶颈资源信息是目的端设备根据可用路径包括的所有链路的可用资源信息确定的,或者,该可用瓶颈资源信息是可用路径上的每个中间设备依次对比接收到的探测包中的路径可用资源信息和各自输出链路的可用资源信息确定的;或者,每条可用路径的路径信息包括:该可用路径上所有链路的可用资源信息,进而由源端设备根据该m条可用路径中每条可用路径上所有链路的可用资源信息,确定并更新所述源端设备存储的m条可用路径的m个可用瓶颈资源信息,从而得到n条可用路径的n个可用瓶颈资源信息。

步骤54:目的端设备向源端设备反馈上述m个路径信息。

在本申请的实施例中,为了使得源端设备能够及时获知探测的k条可用路径的路径信息,目的端设备确定出m条可用路径的m个路径信息后,便将该m个路径信息反馈给源端设备。

值得说明的是,目的端设备可以通过原可用路径将该m个路径信息反馈给源端设备,也可以通过其他的可用路径将该m个路径信息反馈给源端设备,不同可用路径的更新探测包可以同一个可用路径传输至源端设备,也可以通过不同的可用路径传输至源端设备。本申请实施例并不限定每个路径信息所经过的可用路径,其可以根据实际设置确定。

示例性的,目的端设备确定出m个路径信息后,可以通过肯定应答(ack)响应将每个路径信息反馈至源端设备。可选的,每个肯定应答响应中携带有一个可用路径的路径信息。可以理解的是,本申请实施例并不限定目的端设备反馈路径信息的方式,其可以根据实际情况确定,此处不再赘述。

步骤55:源端设备根据该m个路径信息,确定n条可用路径的n个路径可用资源信息和n个权重系数。

在本实施例中,当目的端设备向源端设备反馈上述m个路径信息时,源端设备可以相应的接收到上述m个路径信息,并根据该m个路径信息对m条可用路径的路径可用资源信息进行更新。

示例性的,对于源端设备和目的端设备之间的n条可用路径,初始时刻,源端设备可以利用ecmp算法确定出每条可用路径的初始路径可用资源信息和初始权重系数,并对其进行存储。示例性的,在某个探测周期中,当源端设备通过n条可用路径的k条可用路径向目的端设备发送探测包,并接收到m个可用路径的m个路径信息时,这时,源端设备可以首先更新该m条可用路径的路径可用资源信息,再基于在前一探测周期中确定的剩余(n-m)条可用路径的路径可用资源信息、该m条可用路径更新后的路径可用资源信息,更新上述n条可用路径的权重系数,从而得到该n个可用路径在该探测周期的n个路径可用资源信息和n个权重系数。

作为一种示例,对于每个可用路径,若路径信息包括:该可用路径的可用瓶颈资源信息,则该步骤55可以通过如下步骤实现:

步骤b1:根据该m条可用路径的m个可用瓶颈资源信息,更新源端设备存储的该m条可用路径的m个路径可用资源信息,得到n条可用路径的n个路径可用资源信息。

步骤b2:根据该n条可用路径的n个路径可用资源信息,确定该n条可用路径的n个权重系数。

在本申请的实施例中,当源端设备接收到的是m个可用路径的可用瓶颈资源信息时,这时可以利用该m个可用瓶颈资源信息更新n条可用路径中的该m个可用路径的路径可用资源信息,相应的更新源端设备中存储的各可用路径的路径可用资源信息。

示例性的,为了使得源端设备在接收到上级应用(例如,骨干网)传输的数据流时,能够均衡各条可用路径的负载信息,源端设备还需要根据n条可用路径的n个路径可用资源信息,确定该n条可用路径的n个权重系数。其中,该n条可用路径的路径状态均处于正常,并且该n个权重系数的总和为1。

作为另一种示例,对于每个可用路径,若路径信息包括:该可用路径上所有链路的可用资源信息,则该步骤55可以通过如下步骤实现:

步骤c1:根据该m条可用路径中每条可用路径上所有链路的可用资源信息,确定该m条可用路径的m个可用瓶颈资源信息;

步骤c2:根据该m条可用路径的m个可用瓶颈资源信息,更新源端设备存储的该m条可用路径的m个路径可用资源信息,得到n条可用路径的n个路径可用资源信息。

步骤c3:根据该n个路径可用资源信息,确定n条可用路径的n个权重系数。

在本申请的实施例中,当源端设备接收到的是m个可用路径上所有链路的可用资源信息时,针对每条可用路径,源端设备首先可以对比该条可用路径上所有链路的可用资源信息,并从所有链路的可用资源信息中确定出该条可用路径的可用瓶颈资源信息,该可用瓶颈资源信息是所有链路的可用资源信息中值最小的可用资源信息,其次再更新源端设备内部存储的该m条可用路径的m个路径可用资源信息,从而得到n条可用路径的n个路径可用资源信息。

同理,为了保证城域网中网络的吞吐量,提高负载均衡,源端设备需要根据n条可用路径的n个路径可用资源信息,确定该n条可用路径的n个权重系数,以便在有数据流到来时,能够及时均衡的分配到不同的可用路径中。

步骤56:源端设备根据该n个权重系数和n个路径可用资源信息,通过n条可用路径中的至少一条可用路径向目的端设备传输数据包。

在本实施例中,源端设备获取到待传输的数据包时,可以根据该n个权重系数和n个路径可用资源信息,从n条可用路径中选择至少一条可用路径用于向目的端设备传输数据包。

具体的,当有数据包(数据流)到达时,源端设备可以基于n个权重系数和n个路径可用资源信息为到达的数据包选择至少一条到达目的端设备的可用路径,从而将源端设备和目的端设备之间的数据包均匀分配到各条可用路径上。

可以理解的是,源端设备首先根据城域网的拓扑结构和负载信息为每个<源端设备-目的端设备>对选择n条可用路径。源端设备周期性的基于城域网的总资源信息、总可用资源信息以及n的取值,随机的从n条可用路径中选择k条可用路径用于发送探测包,以探测其所经过可用路径的可用带宽。源端设备发送的探测包按特定路径往返于源端设备和目的端设备之间,并将可用路径的路径信息反馈给源端设备。当源端设备接收到某可用路径返回的更新探测包后,更新该可用路径的路径可用资源信息和所有可用路径的权重系数。

值得说明的是,源端设备接收上层设备发送的数据包时,可以按照数据包与数据包之间到达时间间隔,将同一条数据流分为多个子流(flowlet),每个子流由多个数据包组成,进而根据可用路径的权重系数使用wcmp算法为其选择至少一条可用路径。

示例性的,在城域网的拓扑结构中,每个<源端设备-目的端设备>对之间会维持一张信息表。例如,表1为<源端设备-目的端设备>对之间的信息表,参照表1所示,信息表中有三栏信息,分别是路径状态、路径可用资源信息(可用带宽)以及路径权重系数。路径状态有两种,分别是正常(normal)和故障(fail),可用路径1的路径可用资源信息为5000bps的可用带宽,可用路径2的路径可用资源信息为3000bps的可用带宽,可用路径3的路径可用资源信息为2000bps的可用带宽,相应的,可用路径1的权重系数为0.5,可用路径2的权重系数为0.3,可用路径3的权重系数为0.2,具体如下表所示。

表1<源端设备-目的端设备>对之间的信息表

在本实施例中,当源端设备接收到某条可用路径返回的更新探测包时,源端设备会更新该可用路径的可用带宽,并根据所有normal路径的可用带宽归一化计算各条路径的权重系数。值得说明的是,故障路径不参与权重系数计算,即在下一个传输周期中不会为其分配数据流。每条可用正常路径的权重系数均为正,且加和为1,权重系数代表了下一个传输周期中各条可用路径应分配到的流量比例。当一个新的子流flowlet到达时,源端设备通过wcmp算法为其分配一条normal路径,若该路径不出现故障,则一个flowlet包括的所有数据包均在该可用路径上传输。

可选的,在本实施例中,对于每个数据包,假设该数据包对应的子流为f,可用路径为p,{p′}为源端设备和目的端设备之间的所有可用路径集合,如果可用路径p的路径状态为故障,则从已选择的可用路径中选择带宽最大的可用路径作为该数据包的可用路径,若子流f为一个新流,则利用wcmp算法随机从{p′}中选择一条正常路径作为该数据包的可用路径,具体程序代码如下所示:

进一步的,在本申请的实施例中,源端设备通过n条可用路径中的k条可用路径发送探测包的原因可以总结为如下两个方面:第一是避免羊群效应,也即,由于城域网网络中共享链路的情况非常普遍,不同<源端设备-目的端设备>对之间的可用路径可能共享某几条相同链路。当通过源端设备和目的端设备之间的所有可用路径发送探测包时,不同的源端设备很可能会做出相同决策,将数据流同时导向可用带宽较大的链路,导致该链路产生拥塞。而在下一个传输周期中又同时将流量导向其它路径,如此反复会产生严重的链路震荡,因而,从源端设备和目的端设备之间的所有可用路径中选择部分可用路径发送探测包能够有效避免该现象的发生,解决链路震荡的问题;第二是城域网中节点数量众多,拓扑结构复杂,源端设备向所有可用路径发送探测包会带来很大的带宽开销,成本高,而选择部分可用路径发送探测包能够提高城域网负载均衡问题的性价比。

综上所述,本申请实施例提供的负载均衡方法,源端设备通过n条可用路径中的k条可用路径向目的端设备发送k个探测包,每个探测包用于探测所经过的可用路径的路径信息,并接收目的端设备反馈的m条可用路径的m个路径信息,m为小于或等于k的正整数,根据m个路径信息,确定n条可用路径的n个路径可用资源信息和n个权重系数,根据n个权重系数和n个路径可用资源信息,通过n条可用路径中的至少一条可用路径向目的端设备传输数据包。该技术方案利用源端设备和目的端设备之间的部分可用路径发送探测包,不仅有效地解决了全探测算法导致的链路震荡,而且可以根据可用路径的路径可用资源信息和权重系数分配数据流量,提高了负载均衡效果。

进一步的,在本申请的实施例中,源端设备还可以及时发现路径故障问题,具体的,本实施例提供的负载均衡方法还可以包括如下步骤:

若通过k条可用路径中的第一可用路径向目的端设备发送预设次数的探测包或数据包后,均未收到目的端设备反馈的应答信息,则将该第一可用路径标记为故障路径。

示例性的,为了保证本方案中负载均衡方法的稳定性,源端设备需要在网络处于非正常或不可预料的环境时,如硬件故障、路径损坏或操作失误时,应能及时发现网络故障,做出相应处理,保障网络的正常运行。

例如,对于路径故障的确定,当源端设备连续通过某条可用路径向目的端设备发送预设次数的探测包时,均未接收到目的端设备反馈的路径信息,这时可以将该第一可用路径标记为故障路径,并在之后的每个探测周期均通过该路径发送探测包,以探测该可用路径的状态是否恢复正常。或者,当源端设备连续通过某条可用路径向目的端设备发送预设次数的数据包时,也未接收到目的端设备反馈的应答信息,这时也可以将该第一可用路径标记为故障路径,并停止向该可用路径发送数据包,而将未发送完的数据包从另外一条可用路径发送,并且该时刻之后的一段时间内均不向该故障路径发送数据包,直到该可用路径恢复正常。可选的,另外选择的这条可用路径可以为除去该故障路径之后可用带宽最大的可用路径。

可选的,该预设次数可以3,也可以为其他的数值,例如,2、5等,其可以根据实际场景设定,此处不再赘述。

在本实施例中,在确定某条可用路径出现故障时,将该路径标记为故障状态,并且在之后的时间内均不发送数据包,有效避免了数据包传输失败的问题,提高数据包的传输效率和传输完整性。

更进一步的,在本申请的实施例中,该负载均衡方法还可以包括如下步骤:

对于源端设备和目的端设备之间的故障路径,周期性向该故障路径发送探测包,若连续预设次数个探测周期均能收到该目的端设备反馈的路径信息,则将故障路径更新为正常可用路径,并将最后一个探测周期中接收到的路径信息更新为该正常可用路径的路径信息。

具体的,当确定某个可用路径出现故障时,源端设备在每个探测周期tp均向该故障路径发送探测包,也即,周期性连续发送。若源端设备连续预设次数个探测周期都能收到路径信息或者应答信息,则认为该路径恢复正常,将源端设备中该故障路径的状态更新为normal,并根据最后收到的应答信息中的探测信息更新该路径的路径信息,进而更新所有可用路径的权重系数。

例如,在本实施例中,对于每个探测周期tp,假设{p″}为源端设备和目的端设备之间的所有故障路径集合,如果{p″}不是空集,则向{p″}中的每条可用路径发送探测包,若路径p在连续的三个探测周期均可以接收到目的端设备反馈的应答信息ack,则确定该路径p为正常路径,并将其加入到正常路径集合{p′}中,进而在后续探测过程中,从正常路径集合{p′}中随机选择k条可用路径发送探测包。具体程序代码如下所示:

本申请实施例的方案周期性检测故障路径的路径状态,并在路径状态恢复正常时,能够将其归属到正常路径集合中,进而确定出该可用路径的路径可用资源信息,并为其分配权重系数。及时的更新了可用路径集合,提高了数据包的传输效率,提高了城域网的吞吐量。

示例性的,图6为城域网拓扑结构的一种仿真示意图。参照图6所示,该拓扑结构可以包括服务器、源端设备(cr)、中间设备(br)、目的端设备(一层ar和二层ar)和olt。其中,服务器将数据流发送给cr,由cr通过br传输给一层ar,进而再依次传输给二层ar和olt。

可选的,如图6所示,假设该城域网拓扑结构的示意图中包含2个cr,6个br,6个一层ar,4个二层ar,流量自上向下发送,即从cr发送到二层ar,各条链路带宽均为10gbps,每个<cr-ar>对间有六条可用路径。

在图6所示示意图的基础上,图7为不同负载均衡方法随探测路径数量对流传输时间的影响示意图。可选的,在图7所示的示意图中,假设城域网在负载为80%总带宽的条件下进行,通过改变探测路径的条数,可以对比本申请的探测条数可变的部分负载均衡(partialload-balancing,plb)算法与探测条数固定的负载均衡算法(例如,hermes)的效率。参照图7所示,基于仿真结果可以得出plb算法的整体性能优于hermes算法,具有较短的平均流完成时间(flowcompletiontime,fct),此外,基于仿真结果可知,该plb算法在探测路径条数为3时能够达到最优性能,从而证实了探测条数可变的plb算法的性能优于探测条数固定的hermes算法。

在图6所示示意图的基础上,图8为不同负载均衡方法随网络负载对流传输时间的影响示意图。可选的,在图8所示的示意图中,假设保持探测路径条数为3条进行说明(即,在每个探测周期,随机的从源端设备和目的端设备之间的6条可用路径中随机选择3条),通过改变网络的总负载,可以看到在高负载条件下(70%,80%,90%),本申请的部分负载均衡(plb)的平均流完成时间(fct)在三方案(hermes、ecmp和plb)中为最优,从而证实了部分探测算法具有较高的负载均衡效率。

综上所述,在本申请的实施例中,该方法在探测路径信息时只需要探测路径的最小可用带宽,不需要使用链路利用率作为拥塞指标,不仅减轻了源端设备的计算开销,而且该方案可收敛,避免了单纯使用链路利用率指标无法收敛的问题,此外,本方案通过选择部分路径探测减轻了链路震荡,提升了算法的收敛性,而且探测路径的数量可以根据链路的负载情况灵活调整,灵活性高,适用性强。

下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。

图9为本申请实施例提供的负载均衡装置实施例一的结构示意图。该装置应用于源端设备。如图9所示,本实施例的装置可以包括:发送模块91、接收模块92和处理模块93。

其中,该发送模块91,用于通过n条可用路径中的k条可用路径向目的端设备发送k个探测包,每个探测包用于探测所经过的可用路径的路径信息,n为所述源端设备和所述目的端设备之间的可用路径总条数,n和k均为正整数,且n大于k;

该接收模块92,用于接收所述目的端设备反馈的m条可用路径的m个路径信息,m为小于或等于k的正整数;

该处理模块93,用于根据所述m个路径信息,确定所述n条可用路径的n个路径可用资源信息和n个权重系数;

该发送模块94,还用于根据所述n个权重系数和所述n个路径可用资源信息,通过所述n条可用路径中的至少一条可用路径向所述目的端设备传输数据包。

示例性的,在本申请实施例的一种可能设计中,每条可用路径的路径信息包括:所述可用路径的可用瓶颈资源信息;

所述可用瓶颈资源信息是所述目的端设备根据所述可用路径包括的所有链路的可用资源信息确定的;

或者

所述可用瓶颈资源信息是所述可用路径上的每个中间设备依次对比接收到的探测包中的路径可用资源信息和各自输出链路的可用资源信息确定的。

在本申请的实施例中,该处理模块93,具体用于根据所述m条可用路径的m个可用瓶颈资源信息,更新所述源端设备存储的所述m条可用路径的m个路径可用资源信息,得到所述n条可用路径的n个路径可用资源信息,根据所述n条可用路径的n个路径可用资源信息,确定所述n条可用路径的n个权重系数。

示例性的,在本申请实施例的另一种可能设计中,对于每个可用路径,所述路径信息包括:所述可用路径上所有链路的可用资源信息;

该处理模块93,具体用于根据所述m条可用路径中每条可用路径上所有链路的可用资源信息,确定所述m条可用路径的m个可用瓶颈资源信息,根据所述m条可用路径的m个可用瓶颈资源信息,更新所述源端设备存储的所述m条可用路径的m个路径可用资源信息,得到所述n条可用路径的n个路径可用资源信息,以及根据所述n个路径可用资源信息,确定所述n条可用路径的n个权重系数。

示例性的,在本申请实施例的再一种可能设计中,该处理模块93,还用于在上述发送模块91通过所述k条可用路径中的第一可用路径向所述目的端设备发送预设次数的探测包或数据包后,上述接收模块92均未收到所述目的端设备反馈的应答信息时,将所述第一可用路径标记为故障路径。

可选的,在本申请实施例的又一种可能设计中,对于所述源端设备和所述目的端设备之间的故障路径,该处理模块93,还用于在上述发送模块91周期性向故障路径发送探测包后,且上述接收模块92在连续预设次数个探测周期均能收到所述目的端设备反馈的肯定应答信息时,将所述故障路径更新为正常可用路径,并将最后一个探测周期中接收到的肯定应答信息中的路径信息更新为所述正常可用路径的路径信息。

示例性的,在本申请实施例的又一种可能设计中,该处理模块93,还用于在发送模块91通过n条可用路径中的k条可用路径向目的端设备发送n个探测包之前,根据城域网的拓扑结构和当前负载信息,确定出所述n条可用路径,以及根据所述城域网的总资源信息、总可用资源信息以及所述n的取值,在所述n条可用路径中确定出所述k条可用路径。

可选的,所述k满足如下条件:

其中,b为所述城域网的总资源信息,s为所述城域网的可用资源信息。

本实施例的装置可用于执行图5所示方法实施例中源端设备的实现方案,具体实现方式和技术效果类似,这里不再赘述。

图10为本申请实施例提供的负载均衡装置实施例二的结构示意图。该装置应用于目的端设备。如图10所示,本实施例的装置可以包括:接收模块101、处理模块102和发送模块103。

其中,该接收模块101,用于从m条可用路径接收m个更新探测包,每个更新探测包包括所经过的可用路径的探测信息,所述m条可用路径是源端设备从n条可用路径中确定的k条可用路径中的m条可用路径,m、k和n均为正整数,m小于或等于k,k小于n,n为所述源端设备和所述目的端设备之间的可用路径总条数;

该处理模块102,用于根据所述m个更新探测包中的探测信息,确定所述m条可用路径的m个路径信息;

该发送模块103,用于向所述源端设备反馈所述m个路径信息。

示例性的,在本申请实施例的一种可能设计中,每个更新探测包包括:所经过可用路径上所有链路的可用资源信息;

对于每条可用路径,所述路径信息包括:所述可用路径上所有链路的可用资源信息。

示例性的,在本申请实施例的另一种可能设计中,每个更新探测包包括:所经过可用路径上所有链路的可用资源信息;

对于每条可用路径,所述路径信息包括:所述可用路径的可用瓶颈资源信息;

则该处理模块102,具体用于根据所述m个更新探测包中每个更新探测包所经过可用路径上所有链路的可用资源信息,确定所述m条可用路径的m个可用瓶颈资源信息。

示例性的,在本申请实施例的再一种可能设计中,每个更新探测包包括:所经过可用路径的可用瓶颈资源信息;

所述可用瓶颈资源信息是所述可用路径上的每个中间设备依次对比接收到的更新探测包中的路径可用资源信息和各自出口链路的可用资源信息确定的。

本实施例的装置可用于执行图5所示方法实施例中目的端设备的实现方案,具体实现方式和技术效果类似,这里不再赘述。

图11为本申请实施例提供的负载均衡装置实施例三的结构示意图。该装置应用于源端设备和目的端设备之间任意一条可用路径中的任意一个中间设备。如图11所示,本实施例的装置可以包括:接收模块111、处理模块112和发送模块113。

其中,该接收模块111,用于接收前一个设备发送的更新探测包,所述更新探测包包括:所述前一个设备更新后的路径可用资源信息,所述前一个设备为所述更新探测包所经过可用路径上位于所述中间设备之前的第一跳设备或所述源端设备;

该处理模块112,用于确定所述更新探测包所经过可用路径上所述中间设备的出口链路的可用资源信息,所述出口链路的可用资源信息为所述可用路径在前一个探测周期中确定的所述出口链路的可用资源信息,以及根据所述前一个设备更新后的路径可用资源信息和所述出口链路的可用资源信息,更新所述更新探测包中的探测信息;

该发送模块113,用于将更新后的更新探测包传输至下一个设备,所述下一个设备为所述更新探测包所在可用路径上位于所述中间设备之后的第一跳设备或者所述目的端设备。

可选的,在本申请实施例的一种可能设计中,在所述中间设备为所述可用路径的第一个中间设备时,所述前一个设备为所述源端设备,所述下一个设备为所述探测包所经过可用路径上位于所述中间设备之后的第一跳设备。

可选的,在本申请实施例的一种可能设计中,在所述中间设备为所述可用路径的最后一个中间设备时,所述前一个设备为当前探测周期中在所述可用路径上位于所述中间设备之前的最近一跳设备,所述下一个设备为所述目的端设备。

本实施例的装置可用于执行图5所示方法实施例中中间设备的实现方案,具体实现方式和技术效果类似,这里不再赘述。

需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,处理模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上处理模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,asic),或,一个或多个微处理器(digitalsignalprocessor,dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在可读存储介质中,或者从一个可读存储介质向另一个可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

图12为本申请实施例提供的源端设备的结构示意图。如图12所示,该装置可以包括:处理器121、存储器122、收发器123和系统总线124,该存储器122和收发器123通过系统总线124与处理器121连接并完成相互间的通信,存储器122用于存储计算机程序指令,收发器123用于和其他设备进行通信,处理器121执行存储器122存储的计算机程序指令时实现如图5所示方法实施例中源端设备的实现方案。

可选的,在硬件实现上,上述图9所示实施例中的发送模块91和接收模块92对应于本实施例中的收发器123,该收发器123构成通信接口。

图13为本申请实施例提供的目的端设备的结构示意图。如图13所示,该装置可以包括:处理器131、存储器132、收发器133和系统总线134,该存储器132和收发器133通过系统总线134与处理器131连接并完成相互间的通信,该存储器132用于存储计算机程序指令,收发器133用于和其他设备进行通信,处理器131执行存储器132中存储的计算机程序指令时实现如图5所示方法实施例中目的端设备的实现方案。

可选的,在硬件实现上,上述图10所示实施例中的接收模块101和发送模块103对应于本实施例中的收发器133,该收发器133构成通信接口。

图14为本申请实施例提供的中间设备的结构示意图。该中间设备为源端设备和目的端设备之间任意一条可用路径中的任意一个设备。如图14所示,该装置可以包括:处理器141、存储器142、接收器143和系统总线144。该存储器142和接收器143通过系统总线144与处理器141连接并完成相互间的通信,存储器142用于存储计算机程序指令,接收器143用于和其他设备进行通信,处理器141执行存储器142中存储的计算机程序指令时实现如图5所示方法实施例中中间设备的实现方案。

可选的,在硬件实现上,上述图11所示实施例中的接收模块111和发送模块113对应于本实施例中的收发器143,该收发器143构成通信接口。

可以理解的是,在图12至图14所示的实施例中,收发器(收发器123、收发器133或收发器133)可以包括:发射器和接收器。其中,发射器还可称为发送器、发射机、发送端口或发送接口等类似描述,接收器还可称为接收器、接收机、接收端口或接收接口等类似描述,本申请实施例不对其进行限定。

上述图12、图13或图14中提到的系统总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。所述系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccessmemory,ram),也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

上述的处理器可以是通用处理器,包括中央处理器cpu、网络处理器(networkprocessor,np)等;还可以是数字信号处理器dsp、专用集成电路asic、现场可编程门阵列fpga或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

可选的,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如上述图5所示方法实施例中源端设备的实现方案。

可选的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如上述图5所示方法实施例中目的端设备的实现方案。

可选的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序指令,当所述计算机程序指令在计算机上运行时,使得计算机执行如上述图5所示方法实施例中中间设备的实现方案。

本申请实施例还提供一种程序,当该程序被处理器执行时,用于执行前述方法实施例中源端设备侧的技术方案。

本申请实施例还提供一种程序,当该程序被处理器执行时,用于执行前述方法实施例中目的端设备侧的技术方案。

本申请实施例还提供一种程序,当该程序被处理器执行时,用于执行前述方法实施例中中间设备侧的技术方案。

本申请实施例还提供一种计算机程序产品,包括程序指令,程序指令用于实现前述方法实施例中源端设备侧的技术方案。

本申请实施例还提供一种计算机程序产品,包括程序指令,程序指令用于实现前述方法实施例中目的端设备侧的技术方案。

本申请实施例还提供一种计算机程序产品,包括程序指令,程序指令用于实现前述方法实施例中中间设备侧的技术方案。

本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中源端设备侧的技术方案。

进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行源端设备侧的技术方案。

本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中目的端设备的技术方案。

进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行目的端设备侧的技术方案。

本申请实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述方法实施例中中间设备的技术方案。

进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行中间设备侧的技术方案。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

图15为本申请实施例提供的负载均衡系统的结构示意图。如图15所示,该负载均衡系统可以包括:源端设备151、目的端设备152以及连接在源端设备151和目的端设备152之间的中间设备153。源端设备151和目的端设备152可以通过中间设备153形成至少一条可用路径。

其中,该源端设备151可以是上述图9所示实施例的负载均衡装置或者图12所示实施例的源端设备;该目的端设备152可以是上述图10所示实施例的负载均衡装置或者图13所示实施例的目的端设备;该中间设备153可以是上述图11所示实施例的负载均衡装置或者图14所示实施例的中间设备。

示例性的,在本实施例中,该源端设备151可以通过n条可用路径中的k条可用路径向目的端设备152发送探测包,并接收目的端设备反馈的m个更新探测包,其中,每条可用路径上存在至少一个中间设备。其中,n为所述源端设备和所述目的端设备之间的可用路径总条数,k小于n,m小于或等于k,m、k和n均为正整数。

在本实施例中,关于源端设备151、目的端设备152以及中间设备153的具体实现方式可参见上述实施例中的记载,此处不再赘述。

本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中,a,b,c可以是单个,也可以是多个。

可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。

可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1