一种启发式网络负载均衡方法与流程

文档序号:12492583阅读:260来源:国知局

本发明涉及一种启发式网络负载均衡方法,属于计算机类网络资源管理技术领域。



背景技术:

近年来,随着移动互联网、物联网、社交网络、大数据处理、智慧城市日益普及,对大规模计算、存储能力的需求日益提升,云计算得到了快速的发展。由于云计算系统通过互联网实现了实现计算、存储、信息资源的汇聚,形成资源池对外提供服务,这就使得云系统作为互联网的核心称为数据通信最集中的地方。大量的网络数据被传输到云系统,系统内部各个服务器之间也在频繁通信,路由交换机需要转发大量的数据。这就是使得云系统的网络传输能力成为决定服务质量的重要因素,而云平台承载的业务的规模庞大和复杂多样性,对云数据中心的服务质量提出了更高的要求。

为了更好地提供云服务,保证服务的质量,必须对云系统网络进行有效的管理,提高网络资源的利用率和网络的传输能力。在实际的网络中,经常出现这样的情况,一部分链路需要传输的数据流非常大,极易发生链路拥塞,而同时一些链路上却很空闲,这就造成网络负载极度不平衡,资源利用率低下,无法高效地利用整个网络资源,使得难以保证较高的传输能力。因而如何保证网络负载均衡成为关注的重点。

传统的网络架构越来越不能满足自动网络负载均衡的需求,服务质量的提升受目前网络的局限性所制约。经过过去几十年的发展,各式各样的网络协议不断被提出和发展,但是协议之间相对独立的,每种协议往往只是为了解决某种问题,众多的网络协议加重了网络的复杂性。随着数据中心规模迅速扩大,网络设备数量随之增长,配置和管理成百上千的网络设备也使得网络变得复杂,增加运营成本。另外,传统的网络中许多情况下一些算法仅根据数据包的目的地址来确定路径,具有相同目的地址的数据包沿着单一路径传输,或者如传统OSPF算法选择单条最短路径作为传输路径,这样都存在大量的冗余链路始终空闲,并没有被充分利用,极大地浪费网络资源。另外也确实存在一些支持多路径的协议,如被广泛运用的等价多路径(Equal-Cost Multi Path,ECMP)协议。但它的局限性在于没有考虑实际的网络流量状态,将多条路径放在同等的地位。因此如何有效管理云系统网络,保证网络负载均衡,从而提高云服务质量,成为亟需解决的问题。



技术实现要素:

本发明所要解决的技术问题是提供一种启发式网络负载均衡方法,解决了现有技术不足,能够有效地根据网络各链路的使用情况,合理利用冗余、空闲链路,为源目主机选择最恰当的数据传输路径,确保了网络负载尽可能均衡,一定程度上降低了网络拥塞的可能性和提高了网络的传输能力。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种启发式网络负载均衡方法,实现节点网络中源交换机节点至目的交换机节点之间最优路径的获得,包括如下步骤:

步骤A.初始化N个粒子,以及初始化计数参数i=0,然后进入步骤B;

步骤B.分别针对各个粒子,将源交换机节点作为粒子当前已探索网络路径中的第一个交换机节点,并按如下步骤B01至步骤B07,执行第i次迭代,然后进入步骤C;

步骤B01.判断i是否等于0,是则针对粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点,根据节点网络中各链路的可用带宽,分别计算该各个相邻交换机节点分别作为末交换机节点的下一交换机节点的概率,然后进入步骤B02;否则分别针对粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点,按如下公式(1):

获得相邻交换机节点作为末交换机节点的下一交换机节点的概率p,进而分别获得该各个相邻交换机节点分别作为末交换机节点的下一交换机节点的概率,然后进入步骤B02;其中,α表示相邻交换机节点出现在全局最优路径中的权重;β表示相邻交换机节点出现在粒子所对应局部最优路径中的权重;p'表示相邻交换机节点第i-1次迭代过程中的概率;n邻1表示相邻交换机节点在当前所有全局路径中出现的次数,n邻2表示相邻交换机节点在当前所有局部路径中出现的次数;nall邻3表示末交换机节点的所有相邻交换机节点在当前所有全局路径中出现的次数,nall邻4表示末交换机节点的所有相邻交换机节点在当前所有局部路径中出现的次数;

步骤B02.针对粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点进行随机排序,并根据各个相邻交换机节点分别所对应的概率,按各个相邻交换机节点的排序,由0开始累加,划分获得各个相邻交换机节点分别所占概率份额,然后进入步骤B03;

步骤B03.获得随机数X∈(0,1),基于各个相邻交换机节点分别所占概率份额,选择X所在概率份额对应的相邻交换机节点,然后判断该相邻交换机节点是否位于粒子当前已探索网络路径中,是则进入步骤B04;否则将该相邻交换机节点作为粒子当前已探索网络路径中末交换机节点的下一交换机节点,加入到粒子当前已探索网络路径中,然后进入步骤B05;

步骤B04.判断粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点是否都已经过步骤B03的判断,是则定义粒子当前已探索网络路径无效,将粒子当前已探索网络路径作为粒子对应于第i次迭代的局部路径,并定义粒子对应于第i次迭代的局部路径的舒适度为0,然后进入步骤B07;否则返回步骤B03;

步骤B05.判断粒子当前已探索网络路径中末交换机节点是否为目的交换机节点,是则将粒子当前已探索网络路径作为粒子对应于第i次迭代的局部路径,并进入步骤B06;否则返回步骤B01;

步骤B06.根据如下公式:

获得粒子对应于第i次迭代的局部路径的舒适度F,然后进入步骤B07;其中,Si表示粒子对应于第i次迭代的局部路径的总可用带宽;Li表示粒子对应于第i次迭代的局部路径中链路条数;Lmax表示节点网络中源交换机节点至目的交换机节点所对应所有路径中的最大路径长度;Lmin表示节点网络中源交换机节点至目的交换机节点所对应所有路径中的最短路径长度;0≤ω≤1,ω表示预设调节系数;

步骤B07.判断i是否等于0,是则将粒子对应于第i次迭代的局部路径作为粒子所对应的局部最优路径;否则基于粒子对应于第i次迭代的局部路径的舒适度,以及粒子对应于前i-1次迭代中各次局部路径的舒适度,选择最大舒适度所对应的局部路径,更新为粒子所对应的局部最优路径;

步骤C.根据第i次迭代中,各个粒子分别所对应局部路径舒适度,选择最大舒适度所对应的局部路径作为第i次迭代的全局路径,然后进入步骤D;

步骤D.判断i是否等于0,是则将第i次迭代的全局路径作为全局最优路径;否则基于第i次迭代的全局路径的舒适度,以及前i-1次迭代中各次全局路径的舒适度,选择最大舒适度所对应的全局路径,更新为全局最优路径,然后进入步骤E;

步骤E.判断i是否等于预设迭代次数,是则全局最优路径即为节点网络中源交换机节点至目的交换机节点的最优路径;否则针对i所对应的值进行加1更新,并返回步骤B。

作为本发明的一种优选技术方案:所述ω的值为0.6。

作为本发明的一种优选技术方案:所述α与所述β的比值为1.5。

作为本发明的一种优选技术方案:周期执行步骤A至步骤E,实现节点网络中源交换机节点至目的交换机节点之间最优路径的周期性更新。

本发明所述一种启发式网络负载均衡方法采用以上技术方案与现有技术相比,具有以下技术效果:本发明设计的启发式网络负载均衡方法,解决了现有技术不足,能够有效地根据网络各链路的使用情况,合理利用冗余、空闲链路,为源目主机选择最恰当的数据传输路径,确保了网络负载尽可能均衡,一定程度上降低了网络拥塞的可能性和提高了网络的传输能力,其中,本方法周期性地监控网络链路负载,及时将负载较重链路上的部分流量转移到负载较轻的链路上,充分利用网络中空闲的链路,将数据传输任务尽可能均衡地分散到每一条链路中,最终实现网络各链路负载均衡;还有本方法能够实现网络负载均衡,将数据流分散到多条冗余链路上,降低了部分链路的数据量,最终降低了整体的网络传输时延;而且本方法能够实现网络负载均衡,降低了链路中出现网络拥塞的可能性,保证了数据传输质量,最终降低了网络丢包率;不仅如此,本方法实现网络负载均衡,合理地规划了数据流向,充分利用空闲链路,加快数据传输,最终提高网路吞吐量。

附图说明

图1是本发明所设计启发式网络负载均衡方法的流程示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明所要解决的技术问题是在大规模云计算系统中有效地管理网络资源,充分利用网络中的冗余、空闲链路,提高网络资源的利用,达到网络负载均衡的目的,最终实现网络低时延、低丢包率和高吞吐量。网络中每条链路负载各不相同,如何在这么多的链路中选择合适的路径,这是个很值得研究的方向。本发明周期性地监控网络中每一条链路带宽利用情况,利用启发式算法自适应地根据链路负载合理规划主机间的数据包转发路径,修改相关路由的转发规则,将一些数据流从负载较重链路上调离到负载较轻链路上,实现对流量多路径调度,从而尽可能保证了各链路负载均衡,同时有效降低网络丢包率、时延,提高网络的可靠性和吞吐率。

本发明采用的寻找合理传输路径的算法借鉴了粒子群和蚁群算法的部分思想,是一种基于群体的启发式算法。对于群体中的N个粒子来说,单个粒子效果有限,但粒子与粒子之前相互影响,使得整体搜索多样化,大大提升性能。每个粒子是一个抽象的概念,代表着一条路径,即路径搜索中一个解,搜索从源地址到目的地址的数据传输路径。每个路径由若干个节点构成,节点即网络中的交换机。在搜索过程中,粒子不断地向自身最优解和全局最优解靠拢,实时地根据自身历史最优解、整个群体的全局最优解调整路径中的下一节点,最终所有粒子中最优的解就是本文算法所求得的最优路径。

基于上述所述,如图1所示,本发明设计了一种启发式网络负载均衡方法,实现节点网络中源交换机节点至目的交换机节点之间最优路径的获得,具体包括如下步骤A至步骤E,并且周期执行步骤A至步骤E,实现节点网络中源交换机节点至目的交换机节点之间最优路径的周期性更新。

步骤A.初始化N个粒子,以及初始化计数参数i=0,然后进入步骤B。

步骤B.分别针对各个粒子,将源交换机节点作为粒子当前已探索网络路径中的第一个交换机节点,并按如下步骤B01至步骤B07,执行第i次迭代,然后进入步骤C。

步骤B01.判断i是否等于0,是则针对粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点,根据节点网络中各链路的可用带宽,分别计算该各个相邻交换机节点分别作为末交换机节点的下一交换机节点的概率,然后进入步骤B02;否则分别针对粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点,按如下公式(1):

获得相邻交换机节点作为末交换机节点的下一交换机节点的概率p,进而分别获得该各个相邻交换机节点分别作为末交换机节点的下一交换机节点的概率,然后进入步骤B02;其中,α表示相邻交换机节点出现在全局最优路径中的权重;β表示相邻交换机节点出现在粒子所对应局部最优路径中的权重,α与β之比的大小决定粒子更偏向哪个方向,α大于β时,粒子偏向全局最优路径靠拢,避免陷入局部最优,而α小于β时,粒子偏向沿着粒子自身最优方向探索,扩大路径多样性,避免粒子早早结束搜索,在这两个系数调解下,粒子不断地向最终的最优路径靠拢。实验过程中发现当α与β之比较大时,算法就快速进入收敛状态,大多数粒子都偏向同一条路径,失去了群体本身多样性的特点,但该条路径通常不是全局最优路径,往往更优的路径没有被搜索出来。而当α与β之比较小时,粒子能够搜索出很多条可达路径,突出的粒子的多样性,但是粒子更多地根据自身的经验搜索路径,缺乏全局观,导致算法收敛慢,影响算法的效率。实际应用中,根据实验结果确定α与β之比为1.5时最为合适;p'表示相邻交换机节点第i-1次迭代过程中的概率;n邻1表示相邻交换机节点在当前所有全局路径中出现的次数,n邻2表示相邻交换机节点在当前所有局部路径中出现的次数;nall邻3表示末交换机节点的所有相邻交换机节点在当前所有全局路径中出现的次数,nall邻4表示末交换机节点的所有相邻交换机节点在当前所有局部路径中出现的次数。

步骤B02.针对粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点进行随机排序,并根据各个相邻交换机节点分别所对应的概率,按各个相邻交换机节点的排序,由0开始累加,划分获得各个相邻交换机节点分别所占概率份额,然后进入步骤B03。

步骤B03.获得随机数X∈(0,1),基于各个相邻交换机节点分别所占概率份额,选择X所在概率份额对应的相邻交换机节点,然后判断该相邻交换机节点是否位于粒子当前已探索网络路径中,是则进入步骤B04;否则将该相邻交换机节点作为粒子当前已探索网络路径中末交换机节点的下一交换机节点,加入到粒子当前已探索网络路径中,然后进入步骤B05。

步骤B04.判断粒子当前已探索网络路径中末交换机节点的各个相邻交换机节点是否都已经过步骤B03的判断,是则定义粒子当前已探索网络路径无效,将粒子当前已探索网络路径作为粒子对应于第i次迭代的局部路径,并定义粒子对应于第i次迭代的局部路径的舒适度为0,然后进入步骤B07;否则返回步骤B03。

步骤B05.判断粒子当前已探索网络路径中末交换机节点是否为目的交换机节点,是则将粒子当前已探索网络路径作为粒子对应于第i次迭代的局部路径,并进入步骤B06;否则返回步骤B01。

步骤B06.根据如下公式:

获得粒子对应于第i次迭代的局部路径的舒适度F,然后进入步骤B07;其中,Si表示粒子对应于第i次迭代的局部路径的总可用带宽;Li表示粒子对应于第i次迭代的局部路径中链路条数;Lmax表示节点网络中源交换机节点至目的交换机节点所对应所有路径中的最大路径长度;Lmin表示节点网络中源交换机节点至目的交换机节点所对应所有路径中的最短路径长度;0≤ω≤1,ω表示预设调节系数,实际应用中,ω=0.6。

步骤B07.判断i是否等于0,是则将粒子对应于第i次迭代的局部路径作为粒子所对应的局部最优路径;否则基于粒子对应于第i次迭代的局部路径的舒适度,以及粒子对应于前i-1次迭代中各次局部路径的舒适度,选择最大舒适度所对应的局部路径,更新为粒子所对应的局部最优路径。

步骤C.根据第i次迭代中,各个粒子分别所对应局部路径舒适度,选择最大舒适度所对应的局部路径作为第i次迭代的全局路径,然后进入步骤D。

步骤D.判断i是否等于0,是则将第i次迭代的全局路径作为全局最优路径;否则基于第i次迭代的全局路径的舒适度,以及前i-1次迭代中各次全局路径的舒适度,选择最大舒适度所对应的全局路径,更新为全局最优路径,然后进入步骤E。

步骤E.判断i是否等于预设迭代次数,是则全局最优路径即为节点网络中源交换机节点至目的交换机节点的最优路径;否则针对i所对应的值进行加1更新,并返回步骤B。

上述技术方案所设计的启发式网络负载均衡方法,解决了现有技术不足,能够有效地根据网络各链路的使用情况,合理利用冗余、空闲链路,为源目主机选择最恰当的数据传输路径,确保了网络负载尽可能均衡,一定程度上降低了网络拥塞的可能性和提高了网络的传输能力,其中,本方法周期性地监控网络链路负载,及时将负载较重链路上的部分流量转移到负载较轻的链路上,充分利用网络中空闲的链路,将数据传输任务尽可能均衡地分散到每一条链路中,最终实现网络各链路负载均衡;还有本方法能够实现网络负载均衡,将数据流分散到多条冗余链路上,降低了部分链路的数据量,最终降低了整体的网络传输时延;而且本方法能够实现网络负载均衡,降低了链路中出现网络拥塞的可能性,保证了数据传输质量,最终降低了网络丢包率;不仅如此,本方法实现网络负载均衡,合理地规划了数据流向,充分利用空闲链路,加快数据传输,最终提高网路吞吐量。

上面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

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