发明内容
针对上述情况,为克服现有技术之缺陷,本发明之目的在于提供一种基于负载均衡的动态无线资源分配算法,具有适用于业务异构性强,QoS要求差异性大的特性,通过考虑多个业务服务质量因素,建立合理的QoS机制及业务优先级机制,并考虑无线网络的干扰问题以及动态资源分配的负载均衡策略。本发明可以实现配用电通信网无线虚拟资源的动态分配,能够根据实时业务需求,为多个相互隔离的、承载不同业务的虚拟网络分配底层物理网络资源,提高网络运行的效益。
其解决的技术方案是,一种基于负载均衡的动态无线资源分配算法,包括底层网络资源更新机制、虚拟网络请求排序规则和资源分配机制,所述底层网络资源更新机制是指在一个时间窗内,优先处理虚拟网络请求的离开,释放其占用的底层网络资源,然后当虚拟网络映射成功则占用相应的底层网络资源;
所述虚拟网络请求排序规则是指对一个时间窗内的所有虚拟网络资源请求,按照以下规则进行排序:根据业务优先级排序,业务优先级高的排前面,优先映射,若两虚拟网络请求的业务优先级相同,根据带宽的大小排序,带宽大的排前面,若两虚拟网络请求的带宽也相同,则根据容忍时延长短排序,容忍时延短的排前面;
所述资源分配机制是指对于待分配资源的虚拟网络请求,根据目标函数在候选集中找到最优的资源分配方案。若不存在候选集,则判断是否达到容忍时延上限,若未达到,将该请求放入下一个时间窗,若到达则映射失败,无法为其分配资源,若存在最优解,则资源分配成功,并更新底层网络资源;
该算法的具体步骤如下;
S1,进行初始化,导入配电通信网的资源数据,设置参数;
S2:查找在当前时间窗内的虚拟网络请求,释放其占用的底层资源,并更新网络资源状态,以及根据虚拟网络请求排序规则对当前时间窗到来的虚拟网络请求进行排序;
S3:选取当前时间窗VNRs队列最前的虚拟网络请求进行映射,映射规则如下:第一,节点映射,选择满足节点种类与位置要求且位置偏差最近的物理节点作为映射节点,第二,链路映射,根据链路带宽约束,长度约束和连通性约束通过广度优先搜索确定所有可行的映射路径候选集,若不存在该候选集,判断是否满足重映射条件,若不满足拒绝该请求,否则将该请求放入下一个时间窗的队列中,若存在候选集,则根据目标函数选择最优映射路径进行映射,运行该虚拟网络,并更新底层资源,并继续进行下一个虚拟网络请求映射,直至VNRs队列为空。
由于以上技术方案的采用,本发明与现有技术相比具有如下优点;
1,对虚拟网络请求进行排序,采用了对业务进行优先级排序的方法,可以为不同需求的业务提供差异化服务。
2,本算法是基于负载均衡的,分配资源是不仅考虑到了当前的网络状态,也避免了之后网络资源分配不均衡情况的产生。
实施例一,首先,本发明建立了动态虚拟资源分配模型;接下来,本发明定义了虚拟网络映射问题包括虚拟节点映射与虚拟链路映射两部分,并定义了目标函数的数学表示;最后,本发明设计了一种基于负载均衡的动态无线资源分配算法求解该问题;
底层网络用加权无向图GS=(NS,LS)表示,其中NS和LS分别为底层节点集和链路集。对任意物理节点N是物理节点个数。其位置和节点种类分别用表示。对任意连接节点和的物理链路lS(i,j)∈LS|i≠j,i,j∈{1,2,…,N}其带宽为B(lS)。一条从源物理节点到目标物理节点的路径记为pS(i,j)∈PS,所有的物理无环路径集合表示为PS。另外,考虑到无线干扰问题,当一条链路与链路lS(i,j)工作在相同的信道并且其节点在和的无线覆盖范围内时会产生干扰。用冲突域D(i,j)表示与链路lS(i,j)相干扰的链路集合,用公式表示为
D(i,j)={lS(p,q)∈LS|chS(p,q)=chS(i,j)
and[d(i,p)≤dIor d(i,q)≤dIor d(j,p)≤dIor d(j,q)≤dI]} (5-1)
其中,chS(i,j)表示为lS(i,j)的信道,d(i,j)表示节点和之间的距离,dI表示给定发射功率下的无线电的干扰范围。
虚拟网络请求(Virtual Network Request,VNR)一般包括虚拟网络拓扑和业务约束条件,该拓扑表示为加权无向图GV=(NV,LV),其中NV和LV分别为虚拟节点集和链路集。对任意虚拟节点其中M是VNR中虚拟节点个数,用来表示位置,用来表示虚拟节点允许物理节点的偏差范围,用表示虚拟节点类型,其中A,T分别表示接入节点,传输节点。对任意虚拟链路lV(u,v)∈LV,用B(lV(u,v))表示期望带宽,用len(lV(u,v))表示路径长度约束,即虚拟路径映射到底层网络所经过的节点跳数。对于一个VNR可用五元组VNR(k)(GV,R,ta,tw,td)来表示,其中R表示该虚拟网络所承载业务的优先级,ta表示VNR的到达时刻,tw表示VNR可容忍的等待时延,简称为容忍时延,td表示虚拟网络在底层网络中的持续时间,用K表示VNR的个数。
在动态映射过程中,底层可用资源会因两种情况发生变化,一是当某些虚拟网络请求映射成功后,部分底层网络资源开始被这些虚拟网络请求占用,二是当一些虚拟网络请求运行结束时,其使用的底层网络资源会被释放。需要及时更新当前底层网络资源状态。本发明使用链路的已用带宽和链路的可用带宽描述底层资源现状。如图1,链路ab的冲突域内有链路cd,对于链路ab的带宽资源分为两部分,不可用带宽资源和可用带宽资源。其中不可用带宽资源由两部分组成:1.已用带宽资源,链路ab使用的带宽资源;2.干扰带宽资源,链路ab冲突域内其他链路使用的带宽资源之和。
BU(lS(i,j))表示为一条物理链路lS(i,j)∈LS的已用带宽资源,用公式描述为
其中变量表示虚拟链路lV(u,v)和物理链路lS(i,j)的映射关系,在映射过程中,若虚拟链路lV(u,v)映射到物理链路lS(i,j),该变量取值为1,否则为0。
BR(lS(i,j))表示一个物理链路lS(i,j)∈LS的剩余可用带宽资源,公式描述为
值得注意的是,由于无线干扰的存在,物理链路的已用带宽资源和剩余可用带宽资源之和小于等于该链路的总带宽。并且因为干扰因素,在一个冲突域内,所有的链路共享剩余可用带宽,因此引入冲突域D(i,j)内平均可用链路带宽用公式描述为
其中|D(i,j)|表示D(i,j)中链路个数。
另外,物理路径pS的可用带宽B(pS)等于该路径上具有最少剩余带宽的链路的可用带宽,用公式描述为
物理路径pS的平均可用带宽等于该路径上具有最少平均剩余带宽的链路的可用带宽,用公式描述为
除了冲突域机制,还需要设计合理的时间窗模型,如图2所示,为虚拟网络映射的时间窗模型,描述了VNR映射流程。首先,新生成的VNR的进入VNRs队列,其排序规则在5.3中有详细介绍。然后,在当前时间窗进行映射。需要注意的是在当前时间窗中,除了等待映射的VNR,还有离开的VNR。在一个时间窗内,优先释放离开的VNR所占用的底层网络资源,然后在按顺序依次对VNR进行映射。最后,根据VNR的容忍时延和底层网络资源情况,虚拟网络映射有三种结果:1.当前时刻底层网络资源无法满足VNR的需求,且VNR已到达容忍时延上限,则拒绝VNR;2.当前时刻底层网络资源无法满足VNR的需求,但VNR未到达容忍时延上限,则将VNR放回VNRs队列,等待下一次映射;3.当前时刻底层网络资源满足VNR的需求,映射成功。
虚拟网络映射问题被定义为M:GV(NV,LV)→GS(NS,LS),包括虚拟节点映射和虚拟链路映射两部分,当虚拟网络请求到达后,底层网络需要为其分配满足其节点与链路资源需求的相应资源。
虚拟节点映射是指为虚拟网络请求中的每一个虚拟节点找到满足其节点能力约束的物理节点。虚拟节点映射的表达式为
Mnode:NV→NS (5-7)
其约束如下。
1.节点类型约束
在接入网,不论是虚拟网络还是底层网络,节点都分为传输节点和接入节点,因此在映射过程中,节点类型一定要对应。
其中变量表示虚拟节点和物理节点的映射关系,在映射过程中,若虚拟节点被映射到物理节点上,该变量取值为1,否则为0。
2.位置约束
底层节点必须位于距离其映射的虚拟节点所请求位置的偏差范围内,即
其中dis()是距离计算函数,计算位置loc(i)和loc(u)之间的距离。
3.资源分配约束
对于同一个虚拟网络请求,一个底层网络节点只能分配给一个虚拟节点,同时,一个虚拟节点也只能映射到一个底层网络节点,因此,变量具有以下约束。
当一个虚拟网络请求到达,VNP(虚拟网络提供商)必须决定是接受或者拒绝它,这主要取决于可用底层资源和接受该请求的经济效益。其中底层资源是否够用作为主要约束,而经济效益最大化作为映射问题的目标函数。虚拟映射的经济效益指虚拟网络请求的收益减去使用底层网络产生的成本。本发明中主要分配的底层资源为链路带宽,成本函数由映射使用的物理链路带宽决定,而虚拟网络请求的收益由虚拟链路的带宽请求决定。因此,每个虚拟网络请求的经济效益描述为
其中ξR和ξC分别为虚拟链路带宽和物理链路带宽的单价。
由于虚拟网络映射是一个动态过程,且物理网络资源是有限的,既要保证已映射虚拟网的资源配给,又要为后续到来的虚拟网请求分配资源,仅仅保证当前虚拟网络请求映射的经济效益最优,极有可能会导致无法为后续时间到来的虚拟网络请求分配资源,从而导致整个动态映射过程资源分配不合理。因此需要从长期运营的角度考虑长期经济效益,需要考虑后续虚拟网络请求,因此,在当前虚拟网络请求映射时,需要考虑链路负载状态。以避免出现因部分链路负载过高而无法为后续虚拟网络请求分配资源的情况。
本发明通过设计物理链路剩余带宽反馈因子和物理链路已用带宽反馈因子,关联虚拟链路映射目标、约束与物理链路负载状态,根据物理链路负载状态动态地映射虚拟链路,有效区分物理链路的已用资源和剩余资源,均衡链路负载,提高链路资源利用率,并且避免出现在局部最优或者当前最优的情况,因此,基于负载均衡的动态无线资源分配算法可描述为:如何满足虚拟网络请求中节点和链路资源需求的同时,高效的将虚拟网络请求映射到底层网络设施上,并保证链路负载均衡,最终尽可能多的提高虚拟网络长期运营收益。
在无线网络中,一条物理链路的带宽资源分为已用链路带宽、因信道干扰而无法使用的链路带宽和可用链路带宽。其中可用链路带宽也是由一个冲突域中的所有链路共享,因此对于一条链路更看重其平均可用链路带宽。为了保证链路负载均衡,本发明在物理链路成本定价时,考虑已用链路带宽和平均可用链路带宽引入成本系数。物理链路已用带宽反馈因子χ(i,j)设计为与该物理链路的已用带宽成正比,保证已用带宽少的链路成本低,被优先选择。而物理链路剩余带宽反馈因子θ(i,j)设计为与该条物理链路平均剩余带宽成反比,保证剩余带宽多的物理链路成本低,被优先选择。通过这两种成本系数进而改善物理网络的负载平衡,避免出现局部链路被过分使用而其他链路相对空闲现象的发生。两种成本系数用公式描述为
χ(i,j)=α(BU(lS(i,j))+ε) (5-16)
其中,a、β和η为权重调节系数,a用来调整χ(i,j)的取值,β和η用来调整θ(i,j)的取值。
另外,一般考虑到物理链路成本只考虑了链路映射使用的链路成本,然而,由于信道干扰的存在,一条物理链路的部分带宽被使用,其冲突域中其他链路的该部分带宽也无法被使用,因此将该链路与其他链路产生信道干扰而导致其他链路产生无法使用的链路带宽也算到映射的物理链路成本中,这样就能保证映射时优先选择干扰影响小的链路,从而提高底层网络资源利用率。成本函数描述为
经济收益函数描述为
综上,动态虚拟映射问题可以描述为
本发明通过算法描述电力无线网络的虚拟网络映射过程。每个虚拟网络请求被映射到底层网络是由每条虚拟路径和其关联的虚拟节点的映射方案决定的。算法规定,同一个时间窗内达到的虚拟网络请求按其承载照业务优先级依次映射。对于每一个虚拟网络请求,所有的虚拟链路根据它们的带宽需求和连通性排序。在每个映射阶段,链路和其相关的节点是同时映射的,并且在可行的方案中选择经济效益最优的。如果对于某一链路和其相关的节点没有可行的映射方案,则该虚拟网络请求映射失败,根据时延要求确定是被拒绝还是进入下一个时间窗等待再一次映射。
本发明包括底层网络资源更新机制、虚拟网络请求排序规则和资源分配机制,所述底层网络资源更新机制是指在一个时间窗内,优先处理虚拟网络请求的离开,释放其占用的底层网络资源,然后当虚拟网络映射成功则占用相应的底层网络资源;
所述虚拟网络请求排序规则是指对一个时间窗内的所有虚拟网络资源请求,按照以下规则进行排序:根据业务优先级排序,业务优先级高的排前面,优先映射,若两虚拟网络请求的业务优先级相同,根据带宽的大小排序,带宽大的排前面,若两虚拟网络请求的带宽也相同,则根据容忍时延长短排序,容忍时延短的排前面;
所述资源分配机制是指对于待分配资源的虚拟网络请求,根据目标函数在候选集中找到最优的资源分配方案。若不存在候选集,则判断是否达到容忍时延上限,若未达到,将该请求放入下一个时间窗,若到达则映射失败,无法为其分配资源,若存在最优解,则资源分配成功,并更新底层网络资源;
该算法的具体步骤如下;
S1,进行初始化,导入配电通信网的资源数据,设置参数;
S2:查找在当前时间窗内的虚拟网络请求,释放其占用的底层资源,并更新网络资源状态,以及根据虚拟网络请求排序规则对当前时间窗到来的虚拟网络请求进行排序;
S3:选取当前时间窗VNRs队列最前的虚拟网络请求进行映射,映射规则如下:第一,节点映射,选择满足节点种类与位置要求且位置偏差最近的物理节点作为映射节点,第二,链路映射,根据链路带宽约束,长度约束和连通性约束通过广度优先搜索确定所有可行的映射路径候选集,若不存在该候选集,判断是否满足重映射条件,若不满足拒绝该请求,否则将该请求放入下一个时间窗的队列中,若存在候选集,则根据目标函数选择最优映射路径进行映射,运行该虚拟网络,并更新底层资源,并继续进行下一个虚拟网络请求映射,直至VNRs队列为空。
实施例二,在实施例一的基础上,对本发明的算法数据仿真验证,使用网络拓扑生成器模拟某市智能配电通信网的物理拓扑生成16个节点的物理网络拓扑。假设两个物理节点在传播半径范围内认为可连接。所有节点的物理频谱资源一致,即带宽相同。虚拟网络请求模拟该市配电通信网所承载业务的实际情况。按照业务类型的不同,将虚拟网络请求分成5类,分别提供配电通信网保护类、视频类、数据采集与监视控制类(SupervisoryControl And Data Acquisition,SCADA)、配电自动化、智能电表抄表业务的需求,表1中罗列了各种业务的等级、安全性、时延、单点带宽要求。其中承载5种业务的虚拟网络请求比例大致为5%、10%、30%、30%、25%。每个时间窗的虚拟网络请求的个数与该市智能配电通信网日志业务请求保持一致,高峰时段请求多,非高峰时段请求平稳,虚拟网络请求在中心节点与边缘节点的比例为8:2。参数α设置为1,β设置为1,ε设置为1,η为0,δ为0.001,为了保证实验数据的有效性,本专利的所有实验结果都是通过200次模拟仿真运行出的平均结果。
表1智能配电通信网五种业务需求
在仿真实验中,选择以下两种资源分配策略与本专利提出算法进行比较,1、基于最短路径的动态无线资源分配(Dynamic Wireless Resource Allocation algorithmbased on the Shortest path,DWRA-S)算法,该算法通过为虚拟网络请求提供最短映射路径的方式动态分配资源。2、基于QoS满意度和网络重分配的虚拟无线资源分配算法(Dynamic Wireless Resource Allocation algorithm based on QoS satisfaction andnetwork reconfiguration,DWRA-Q)[36],该算法在每个时间窗内,根据带宽需求大小将虚拟网络请求排序,并且当存在某一虚拟网络请求无法映射成功的时候,启动重映射机制,将底层网络现有的所有虚拟请求所占用的资源回收,再重新分配,虽然该算法能够拥有较好的映射成功率,但重映射代价过于昂贵,实际场景中不可行。3、本章所提出的基于负载均衡的动态无线资源分配算法。
为了评估所提出算法的正确性和有效性,我们将虚拟网络请求接受率、成本、效益、链路资源负载均衡情况作为性能评价指标,进行仿真实验和性能评估。
其中虚拟网络请求接受率表述为映射成功的虚拟网络请求比上所有虚拟网络请求。
链路负载均衡情况用16个物理节点所组成的所有链路的可用链路资源负载,已用链路资源负载和平均可用链路资源负载的方差来体现,其公式描述为
其中s2为方差,N为链路个数,xn为链路n的资源使用情况(可以为可用资源、已用资源、平均可用资源),为所有链路的平均使用情况。
图4描述的是3种算法在虚拟网络请求接受率上的对比,分别是业务1,2,3,4,5以及所有业务的虚拟网络的请求接受率。由图4(f)可以看出随着总带宽的增加,三种算法的虚拟网络请求接受率越来越来高,在总带宽为22M时,三种算法的接受率分别为81.44%、76.19%、78.78%。说明了本节所提出的DWRA-L算法在带宽资源匮乏的情况下表现优异,主要是因为DWRA-L算法保证了链路负载均衡,能够减少局部链路压力,避免过度使用核心链路而导致后无法为续虚拟网络请求分配资源。而且由于该算法在同一时间窗内,按照业务优先级、带宽、时延的顺序分配资源,如图4(a)所示,在优先级高的业务中接受率大幅度优于其他两种算法,而如图4(e)所示,低优先级的业务的接受率和其他两个算法也大致相当,这一方面是资源分配顺序中考虑了时延,优先考虑容忍时间少的业务线分配资源,减少了因时延限制而映射被拒绝的情况,另一方面是分配资源时考虑了链路的负载情况,在资源动态分配的过程中能够接受更多的虚拟网络请求。值得注意的是,如图4(e)所示,承载最低优先级的业务的虚拟网络请求在不同总带宽的情况下接受率都很高,而且优于其他业务的,这是因为该优先级的业务所需带宽小于0.01bit/s,占用资源过少,而且时延要求低。总之,DWRA-L算法能够保证链路负载均衡,能够减少局部链路压力,而且通过优先级映射策略,保证了高优先级的业务的映射成功率。
图5,图6和图7分别描述了三种算法在带宽为30M时的链路情况负载对比,横轴是时间,竖轴是链路的方差,表现出的是链路负载的离散程度。方差数值越小,说明链路负载越均衡,如这三图分别对比了三种算法在链路平均可用率,可用率,使用率的负载情况,可以看出DWRA-L算法相对其他算法,在这三种情况下链路负载更均衡,不存在部分链路使用率高,而部分链路几乎未被使用的情况。在一定程度上减少了由于部分链路的负载过高从而导致网络拓扑有链路不可用的情况,保证了整个网络在各个时刻的链路连通性。
图8和图9分别描述了在物理节点总带宽为30M的情况下的不同算法随时间推移的成本和利润对比。在图8中描述了三种算法的成本对比横轴是时间,纵轴是成本,可以看出,本节所提出的DWRA-L算法和DWRA-Q算法的成本相当,都要好于DWRA-S算法的成本。之所以出现这种情况是因为DWRA-S算法是基于最短路径的资源分配机制,每一次资源分配都是局部最优,但在整个资源分配过程中却很难是最优分配,这导致了资源浪费,从而导致成本较高。而DWRA-Q算法按照虚拟网络的带宽需求大小的顺序分配资源,优先分配带宽需求大的请求,这种机制在一定程度上能够保证更多的接受率和更少的资源浪费,因此成本较低,本节提出的算法综合考虑了链路的负载均衡和合理的资源分配顺序,从而提升了资源利用率,使得成本相对较低。而图9中描述的利润对比,横轴是时间,纵轴是利润,可以看出本节提出的算法利润高于其他两种算法,这一方面是由于本节提出的算法考虑了链路负载均衡,能够接受更多的虚拟网络请求,另一方面是由于DWRA-L算法能够优先保证收益更高的高优先级的业务。而DWRA-Q算法按照带宽需求的顺序分配资源的机制虽然能够较合理的利用资源,但由于无线干扰的存在,即冲突域中其他的链路带宽会受到影响,大量带宽成为不可用带宽,导致利润下降。
以上所述是结合具体实施方式对本发明所作的进一步详细说明,不能认定本发明具体实施仅局限于此;对于本发明所属及相关技术领域的技术人员来说,在基于本发明技术方案思路前提下,所作的拓展以及操作方法、数据的替换,都应当落在本发明保护范围之内。