本发明属于通信,更具体地,涉及一种基于逆向路径输出负载均衡路由的方法、系统和设备。
背景技术:
1、在移动自组织网络中,若采用最短路径算法计算源节点与目的节点的路由,有可能会出现部分节点被多次选择作为中继节点,这会使得这些节点成为网络的瓶颈,继而引起网络拥塞,从而导致排队时延、丢包的增加,降低网络整体性能。在网络传输的数据量较少的情况下,问题不是很明显,但是,随着网络流量的急剧增长时,会显著降低服务质量。因此,在设计路由算法时需要考虑负载均衡。负载均衡路由的目的是在多条可行路径上进行合理地分配路由,优化资源的使用,避免单一用户过载,从而提高链路利用率,缓解网络拥塞,优化网络的吞吐量。
2、在现有的局部负载均衡算法中每个节点主要根据本地局部拓扑信息实现局部范围内的负载均衡,由于缺少全局链路状态信息,容易陷于局部最优。相比于局部负载均衡算法,全局负载均衡算法收集整网所有节点的负载状态信息,根据当前的状态,作出全网范围内的均衡决策,能够得到整网较优的负载均衡效果。
3、上述典型的分布式全局负载均衡算法计算源节点到目的节点的路径时均采用基于正向路径的策略。但在多个源节点向单个目的节点传输信息的场景中采用正向路径策略计算较为复杂,源节点并不能仅通过独立运行一次以本节点为运算起点、目的节点为运算终点的负载均衡算法来计算路由,它需要在知晓部分节点选路后的路径及节点负载变化情况的基础上再计算本节点到目的节点的路径,在此基础上再计算本节点到目的节点的路径。
4、此外,上述负载均衡算法只考虑了节点负载对负载均衡的影响,并未考虑链路质量、跳数等因素对负载均衡的影响。对于源节点来说,若不考虑所选链路的链路质量,可能会导致大量数据包在链路质量差的链路处汇集,加剧网络拥塞。鉴于此,克服上述现有技术所存在的技术缺陷是本技术领域亟待解决的问题。
技术实现思路
1、针对现有技术的以上缺陷或改进需求,本发明提供了一种基于逆向路径输出负载均衡路由的方法、系统和设备,其目的在于在多个数据源节点向单个目的节点发送信息的场景中将数据流在不同的中继节点进行均衡传输,避免发生拥塞的问题和提升整网吞吐率。
2、为实现上述目的,按照本发明的一个方面,提供了一种基于逆向路径输出负载均衡路由的方法,所述方法包括:
3、初始化第一集合和第二集合,所述第一集合用于存储目的节点及已计算出到目的节点路径的第一源节点,第二集合用于存储未计算出路径的第二源节点,若第二集合为非空集且第二集合节点为第一集合中某一节点的一跳邻居节点;
4、第一集合中的目的节点与第二集合中的第二源节点构建逆向路径;
5、以第一集合中的目的节点作为运算起点,以第二集合中的第二源节点作为运算终点进行逆向路径负载均衡计算,筛选出第二集合中最优逆向路径容量值所在的逆向路由,将所述逆向路由转化为第二源节点到目的节点的正向路由,得到负载均衡路由;
6、将所述逆向路由的第二源节点移至第一集合中,第二源节点转化为第一源节点。
7、作为对上述方案进一步的完善和补充,本发明还包括以下附加技术特征。
8、优选地,所述第一集合中的目的节点与第二集合中的第二源节点构建逆向路径的方法包括:
9、第一集合中的节点与第二集合中的邻居节点构建初始逆向链路并生成初始逆向链路容量;
10、由初始逆向链路及第一集合节点间第一逆向链路构成第二集合中的邻居节点到第一集合中目的节点的逆向路径,若第一集合节点负载发生变化,更新第一集合节点间的第一逆向链路容量;
11、初始逆向链路容量为第二集合邻居节点与第一集合节点间的逆向链路容量,由第二集合中邻居节点流向第一集合节点的链路速率及第二集合中邻居节点负载共同构建得到;
12、第一逆向链路容量为第一集合中互为邻居节点的两节点间的逆向链路容量;
13、所述逆向路径容量为所述第一集合中的目的节点与第二集合中的邻居节点间单条路径上所有链路的逆向链路容量最小值。
14、优选地,所述筛选出第二集合中最优逆向路径容量值所在的逆向路由的方法包括:
15、初始逆向路径容量最优值cmax为0,筛选出第一集合中未被标记且id最小的节点以及所述id最小的节点在第二集合中所有一跳邻居节点,再选出第二集合中的一跳邻居节点与第一集合中的目的节点间逆向路径容量的最大值作为最优路径,并将所述最优路径的逆向路径容量记录为c’max;
16、对比c’max与cmax的值,若c’max大于cmax,将cmax的值更新为c’max,若c’max不大于cmax,不更新cmax值;
17、将所述第一集合中经过筛选后的节点标记为选定,判断第一集合中是否存在未被标记的节点,若不存在,说明所述第一集合中所有节点已遍历完成,筛选出所述第二集合中cmax所在路径的第二源节点。
18、优选地,所述方法还包括:
19、若逆向路径容量最大值存在于多条路径中,对比逆向路径容量最大值所在路径的路径跳数,选择路径跳数最小值所在的路径作为最优路径。
20、优选地,所述方法还包括:
21、若路径跳数最小值存在于多条路径中,对比路径跳数最小值所在路径的部分链路的链路容量,选择第二源节点与第一集合中一跳邻居节点间的逆向链路容量最大值所在的路径作为最优路径。
22、优选地,所述方法还包括:
23、若第二源节点与第一集合中一跳邻居节点间的逆向链路容量最大值存在于多条路径中,对比逆向链路容量最大值所在路径的第二源节点id,选择第二源节点id最小值所在路径作为最优路径。
24、优选地,所述方法还包括:
25、若第二源节点id最小值存在于多条路径中,进一步对比第二源节点id最小值所在路径的中继节点id,选择中继节点id最小值的中继节点作为最优路径的中继节点;
26、若第二源节点id最小值存在于多条路径中,依次对比各路径中与第二源节点相距n跳的中继节点id(n≥1),直到找到所有路径中唯一的n跳的节点id最小值所在路径,将该路径作为最优路径。
27、优选地,所述第二集合为空集或者所述第二集合中的节点不是所述第一集合的任一一跳邻居节点时,表示目的节点与所述第二集合中的节点不存在联通的路径,计算结束。
28、按照本发明的另一方面,提供了一种的系统,系统包括:
29、存储模块,包括第一存储模块和第二存储模块,所述第一存储模块用于存储目的节点和已计算出路径的第一源节点以及所述第二存储模块存储未计算出路径的第二源节点,所述第二存储模块中包含所述第一存储模块某一节点的一跳邻居节点;
30、计算模块,用于计算初始逆向链路容量、第一逆向链路容量及逆向路径容量,其中:
31、初始逆向链路容量为第二存储模块中邻居节点与第一存储模块节点间的逆向链路容量,由第二存储模块中邻居节点流向第一存储模块节点的链路速率及第二存储模块中邻居节点负载共同构建得到;
32、第一逆向链路容量为第一存储模块中互为邻居节点的两节点间的逆向链路容量;
33、逆向路径容量为所述第一存储模块中的目的节点与所述第二存储模块中第二源节点的所有链路中逆向链路容量最小值;
34、筛选模块,用于筛选出满足所述第二存储模块中最优逆向路径容量值所在的逆向路由,并输出所述逆向路由的第二源节点;
35、转化模块,用于将筛选出的第二源节点转化为第一存储模块中的第一源节点。
36、按照本发明的另一方面,提供了一种的设备,设备包括:
37、一个或多个处理器;
38、存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面中任一项所述的基于逆向路径输出负载均衡路由的方法。
39、总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:
40、第一,基于逆向路径的多个源节点到单个目的节点的选路策略。本发明将求解多个源节点对单个目的节点的正向路径问题转化为单个目的节点对多个源节点的逆向路径问题,仅需要运行一次以目的节点作为运算起点的负载均衡算法即可得到路径。
41、第二,综合考虑多种路径质量因素作为选择路由的依据。考虑了包括链路速率、节点负载、路径跳数等路径质量因素对负载均衡的影响,并且构建了融合逆向链路速率与节点负载的链路质量因素—逆向链路容量,在此基础上进一步构建了逆向路径容量。
42、第三,本发明提出了基于逆向路径的策略,将基于正向路径的多个源节点到单个目的节点的多次运算问题转化为基于逆向路径的单个目的节点到多个源节点的一次运算问题,有效的降低了算法的复杂度。综合考虑链路速率、负载、跳数等多种路径质量因素,在保证负载均衡的同时,还保证了路径较好的通信质量及较低的传输延迟。通过对整网节点进行负载均衡,提高了整网的吞吐率。
1.一种基于逆向路径输出负载均衡路由的方法,其特征在于,所述方法包括:
2.如权利要求1所述的基于逆向路径输出负载均衡路由的方法,其特征在于,所述第一集合中的目的节点与第二集合中的第二源节点构建逆向路径的方法包括:
3.如权利要求2所述的基于逆向路径输出负载均衡路由的方法,其特征在于,所述筛选出第二集合中最优逆向路径容量值所在的逆向路由的方法包括:
4.如权利要求3所述的基于逆向路径输出负载均衡路由的方法,其特征在于,所述方法还包括:
5.如权利要求4所述的基于逆向路径输出负载均衡路由的方法,其特征在于,所述方法还包括:
6.如权利要求5所述的基于逆向路径输出负载均衡路由的方法,其特征在于,所述方法还包括:
7.如权利要求6所述的基于逆向路径输出负载均衡路由的方法,其特征在于,所述方法还包括:
8.如权利要求3所述的基于逆向路径输出负载均衡路由的方法,其特征在于,所述第二集合为空集或者所述第二集合中的节点不是所述第一集合的任一一跳邻居节点时,表示目的节点与所述第二集合中的节点不存在联通的路径,计算结束。
9.一种基于逆向路径输出负载均衡路由的系统,其特征在于,系统包括:
10.一种基于逆向路径输出负载均衡路由的设备,其特征在于,设备包括:
