本发明涉及通信技术领域,更具体地,涉及软件定义分组传送网全局业务动态优化方法及装置。
背景技术:
软件定义分组传送网(Software Defined Packet Transport Network,SPTN)是将软件定义网络(Software Defined Network,SDN)与分组传送网(Packet Transport Network,PTN)进行融合创新,为PTN网络提供智能化控制平面技术,能实现网络资源的灵活调度。用来解决PTN网络大规模部署应用,各种业务的服务质量和可靠性需求不断提高带来的业务开通、运营维护等环节遇到的问题。比如,在PTN业务开通方面,不同厂家的PTN网络由各自的网管系统管理,跨域业务需要由人工配置,业务开通效率低;在PTN路由方面,L3VPN由传统集中化网管提供静态路由功能,但静态路由需人工配置,接口配置复杂,路由数量多,维护难;再次,传统网络无法向客户开发业务功能,如带宽自主调整、SLA自助查询等,难以实现电商化销售模式。
SPTN引入SDN思想,具有控制与转发相分离、逻辑集中控制、开发的控制接口,以及网络虚拟化和可编程能力等优势。在控制平面技术能够提供灵活可控的大管道带宽定制,提供高质量的客户体验;能够实现集中化的控制平面、网络资源信息收集和智能的路径计算等能力;能够提供开放接口,使网络应用智能化;能够在转发平面实现保护和整网恢复相结合,提升网络可靠性。但目前软件定义分组传送网业务路由带宽分配不能实现动态优化,用户网络体验有待提高。
技术实现要素:
本发明要解决的技术问题是在软件定义分组传送网下实现业务路由分配和动态优化,进而实现负载均衡,提高资源利用率并改善用户体验。
本发明一方面,提供一种软件定义分组传送网全局业务动态优化方法,其特征在于,所述方法包括:
步骤S1,通过路由算法计算路由,根据各业务最小带宽参数,为各业务分配初始最小带宽;
步骤S2,根据各业务权重值和实时监测的业务带宽数据,计算各业务在剩余网络资源中分得的带宽,进行剩余带宽分配;
步骤S3,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,为各业务分配路由路径。
进一步地,所述步骤S1具体包括:
步骤S11,采用KSP Top K shortest paths前K条最短路径算法计算网络拓扑中源节点与目的节点之间的K条路径;
步骤S12,将各业务最小带宽值降序排列,并遍历所有业务;计算业务所在源节点与目的节点的K条路径的带宽,选定带宽大于业务的最小带宽值并且数值最大的路由;
步骤S13,为业务进行资源预留。
进一步地,所述步骤S2具体包括:
步骤S21,按照源地址与目的地址对业务分类,形成流组;
步骤S22,根据流组所在源节点与目的节点的K条路径,为每个流组选取剩余带宽最大的路径,若流组所有路径堵塞,则将该流组信息从剩余网络资源分配的流组集合中删除;
步骤S23,根据各业务权重值和需求带宽,计算链路承载所有业务的带宽函数,求解链路的公平性参数;
步骤S24,选取链路公平性参数中最小的参数,确定各业务在剩余网络资源中分配得到的带宽;
步骤S25,更新业务分配带宽信息网络链路带宽信息,更新流组的业务信息,删除已满足需求带宽的业务,转到步骤S22继续执行,直至所有业务都得到需求带宽或所有链路剩余带宽均为0。
进一步地,所述步骤S3具体包括:
步骤S31,遍历流组集合,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,计算每个流组在K条路径上分配的带宽,将K条路由按分配带宽大小降序排列;
步骤S32,遍历业务集合,计算各业务分配的初始最小带宽和剩余网络资源中分得的带宽之和,在流组内部对各业务的总带宽按降序排列;
步骤S33,遍历所有流组,在每个流组中,选择分配带宽最大的路由,进行业务组合,使得路由带宽、业务组合的带宽之和,两者差值最小,并且将带宽差值按业务权重分到选中的业务中,确定业务最终分配的带宽,更新网络资源信息和业务带宽信息,在流组中删除该路由信息和选中的业务信息;
步骤S34,重复步骤S33,直至该流组的可用路由或未分配的业务为空,结束该流组,进入到下一流组进行路由路径分配。
进一步地,在所述步骤S1之前,还包括:
实时监测全局网络资源状态和业务带宽变化,进行周期性或触发式路由计算和带宽分配。
本发明另一方面,提出一种软件定义分组传送网全局业务动态优化装置,其特征在于,所述装置包括:
前置单元,实时监测全局网络资源状态和业务带宽变化,进行周期性或触发式路由计算和带宽分配;
初始最小带宽分配单元,通过路由算法计算路由,根据各业务最小带宽参数,为各业务分配初始最小带宽;
剩余带宽分配单元,根据各业务权重值和实时监测的业务带宽数据,计算各业务在剩余网络资源中分得的带宽,进行剩余带宽分配;
业务路径分配单元,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,为各业务分配路由路径。
进一步地,所述初始最小带宽分配单元具体包括:
最短路径计算子单元,采用KSP最短路径算法计算网络拓扑中源节点与目的节点之间的K条路径;
路径确定子单元,选取各业务最小带宽值中数值最大的,计算K条路径的带宽,选定经过的路径带宽均大于各业务的最小带宽值的路由;
资源预留子单元,为业务进行资源预留。
进一步地,所述剩余带宽分配单元具体包括:
业务分类子单元,按照源地址与目的地址对业务分类,形成流组;
链路公平性参数计算子单元,根据流组的K条路径,为每个流组选取剩余带宽最大的路径,若流组所有路径堵塞,剩余带宽为0,则删除该流组信息;根据各业务权重值和需求带宽,计算链路承载所有业务的带宽函数,求解链路的公平性参数;
剩余带宽计算子单元,选取链路公平性参数中最小的参数,确定各业务在剩余网络资源中分配得到的带宽;更新业务分配带宽信息和网络链路带宽信息;重复执行,直至所有业务都得到需求带宽或所有链路剩余带宽均为0。
进一步地,所述业务路径分配单元具体包括:
流组带宽计算子单元,遍历流组集合,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,计算每个流组在K条路径上分配的带宽,按带宽大小降序排列;
业务带宽计算子单元,遍历业务集合,计算各业务分配的初始最小带宽和剩余网络资源中分得的带宽之和,在流组内部对各业务的总带宽按降序排列;
业务确定子单元,选取带宽最大的路由,选取业务组合,使得路径链路带宽、业务带宽之和两者差值最小,更新网络资源信息和业务带宽信息。
本发明与现有技术相比:在软件定义分组传送网下实现业务路由分配和动态优化,进而实现负载均衡,提高资源利用率并改善用户体验。
附图说明
图1为现有的软件定义分组传送网系统架构示意图;
图2为本发明软件定义分组传送网全局业务动态优化方法原理示意图;
图3为本发明业务初始最小带宽分配流程示意图;
图4为本发明剩余带宽分配流程示意图;
图5为本发明业务路径分配流程示意图;
图6a-6e为本发明网络分配最小初始带宽前后拓扑变化示意图;
图7a-7d为本发明初始网络拓扑、最小带宽分配后网络拓扑、剩余带宽分配后网络拓扑示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明一方面,提供一种软件定义分组传送网全局业务动态优化方法,其特征在于,所述方法包括:
步骤S1,通过路由算法计算路由,根据各业务最小带宽参数,为各业务分配初始最小带宽;
步骤S2,根据各业务权重值和实时监测的业务带宽数据,计算各业务在剩余网络资源中分得的带宽,进行剩余带宽分配;
步骤S3,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,为各业务分配路由路径。
进一步地,所述步骤S1具体包括:
步骤S11,采用KSP Top K shortest paths前K条最短路径算法计算网络拓扑中源节点与目的节点之间的K条路径;
步骤S12,将各业务最小带宽值降序排列,并遍历所有业务;计算业务所在源节点与目的节点的K条路径的带宽,选定带宽大于业务的最小带宽值并且数值最大的路由;
步骤S13,为业务进行资源预留。
进一步地,所述步骤S2具体包括:
步骤S21,按照源地址与目的地址对业务分类,形成流组;
步骤S22,根据流组所在源节点与目的节点的K条路径,为每个流组选取剩余带宽最大的路径,若流组所有路径堵塞,则将该流组信息从剩余网络资源分配的流组集合中删除;
步骤S23,根据各业务权重值和需求带宽,计算链路承载所有业务的带宽函数,求解链路的公平性参数;
步骤S24,选取链路公平性参数中最小的参数,确定各业务在剩余网络资源中分配得到的带宽;
步骤S25,更新业务分配带宽信息网络链路带宽信息,更新流组的业务信息,删除已满足需求带宽的业务,转到步骤S22继续执行,直至所有业务都得到需求带宽或所有链路剩余带宽均为0。
进一步地,所述步骤S3具体包括:
步骤S31,遍历流组集合,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,计算每个流组在K条路径上分配的带宽,将K条路由按分配带宽大小降序排列;
步骤S32,遍历业务集合,计算各业务分配的初始最小带宽和剩余网络资源中分得的带宽之和,在流组内部对各业务的总带宽按降序排列;
步骤S33,遍历所有流组,在每个流组中,选择分配带宽最大的路由,进行业务组合,使得路由带宽、业务组合的带宽之和,两者差值最小,并且将带宽差值按业务权重分到选中的业务中,确定业务最终分配的带宽,更新网络资源信息和业务带宽信息,在流组中删除该路由信息和选中的业务信息;
步骤S34,重复步骤S33,直至该流组的可用路由或未分配的业务为空,结束该流组,进入到下一流组进行路由路径分配。
进一步地,在所述步骤S1之前,还包括:
实时监测全局网络资源状态和业务带宽变化,进行周期性或触发式路由计算和带宽分配。
本发明另一方面,提出一种软件定义分组传送网全局业务动态优化装置,其特征在于,所述装置包括:
前置单元,实时监测全局网络资源状态和业务带宽变化,进行周期性或触发式路由计算和带宽分配;
初始最小带宽分配单元,通过路由算法计算路由,根据各业务最小带宽参数,为各业务分配初始最小带宽;
剩余带宽分配单元,根据各业务权重值和实时监测的业务带宽数据,计算各业务在剩余网络资源中分得的带宽,进行剩余带宽分配;
业务路径分配单元,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,为各业务分配路由路径。
进一步地,所述初始最小带宽分配单元具体包括:
最短路径计算子单元,采用KSP最短路径算法计算网络拓扑中源节点与目的节点之间的K条路径;
路径确定子单元,选取各业务最小带宽值中数值最大的,计算K条路径的带宽,选定经过的路径带宽均大于各业务的最小带宽值的路由;
资源预留子单元,为业务进行资源预留。
进一步地,所述剩余带宽分配单元具体包括:
业务分类子单元,按照源地址与目的地址对业务分类,形成流组;
链路公平性参数计算子单元,根据流组的K条路径,为每个流组选取剩余带宽最大的路径,若流组所有路径堵塞,剩余带宽为0,则删除该流组信息;根据各业务权重值和需求带宽,计算链路承载所有业务的带宽函数,求解链路的公平性参数;
剩余带宽计算子单元,选取链路公平性参数中最小的参数,确定各业务在剩余网络资源中分配得到的带宽;更新业务分配带宽信息和网络链路带宽信息;重复执行,直至所有业务都得到需求带宽或所有链路剩余带宽均为0。
进一步地,所述业务路径分配单元具体包括:
流组带宽计算子单元,遍历流组集合,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,计算每个流组在K条路径上分配的带宽,按带宽大小降序排列;
业务带宽计算子单元,遍历业务集合,计算各业务分配的初始最小带宽和剩余网络资源中分得的带宽之和,在流组内部对各业务的总带宽按降序排列;
业务确定子单元,选取带宽最大的路由,选取业务组合,使得路径链路带宽、业务带宽之和两者差值最小,更新网络资源信息和业务带宽信息。
图1为现有的软件定义分组传送网系统架构示意图。该网络架构由数据平面、控制平面和应用平面组成。其中数据平面负责数据处理、转发和状态收集,包括骨干网、城域网和接入网中支持OpenFlow协议的网络设备,使用MPLS协议进行报文转发;控制平面主要负责数据平面资源的编排,维护网络拓扑、状态信息等,为实现电信级组网需求,控制平面采用层次化控制架构,分为域控制器(D-Controller)和域间控制器(S-Controller),其中D-Controller负责域内业务的控制,并通过南向接口控制转发面设备,S-Controller负责域间业务的控制,通过调用D-Controller提供的北向接口,完成全网的资源协调和业务调度,实现网络资源的跨域协同控制;应用平面主要负责实现网络优化、业务运营和支持等功能,包括各种不同的业务和应用。
图2为本发明软件定义分组传送网全局业务动态优化方法原理示意图。
所述方法包括:
步骤S1,通过路由算法计算路由,根据各业务最小带宽参数,为各业务分配初始最小带宽;
步骤S2,根据各业务权重值和实时监测的业务带宽数据,计算各业务在剩余网络资源中分得的带宽,进行剩余带宽分配;
步骤S3,根据为各业务分配的初始最小带宽和各业务在剩余网络资源中分得的带宽,为各业务分配路由路径。
图3为本发明业务初始最小带宽分配流程示意图。
业务最小带宽路由计算,假设业务最小带宽之和至多占网络总带宽的70%。流程为:
步骤一:采用KSP算法计算网络拓扑中ingress和egress节点对间的K条路径;
步骤二:判断待分配业务集合是否为空。若为空,转到步骤五;若不为空,转到步骤三;
步骤三:从待分配业务集合中选取所有业务中数值最大的业务请求:依序查询KSP算法中计算出的K条路由链路的可用带宽,选取所有可用带宽大于的路由,若全部路径阻塞,将业务从待分配业务集合中去除,转到步骤二;
步骤四:选取可用带宽最大的路由为业务进行资源预留,更新业务信息和路径的业务数量,并将业务从待分配业务集合中删除,转到步骤二;若可选路由集合为空,判断该业务路由创建失败,将业务从待分配业务集合中去除,转到步骤二;
步骤五:结束。
图4本发明为剩余带宽分配流程示意图。
剩余带宽业务分配,通过业务最小带宽路由计算为所有业务分配最小带宽,此时网络中仍剩余部分带宽资源(至少为30%),将根据业务权重和监测得到的业务带宽进行分配,流程为:
步骤一:按照源目的地址对业务进行分类,汇聚形成流组;
步骤二:判断待分配流组集合是否为空。若为空,转到步骤九;若不为空,转到步骤三;
步骤三:遍历待分配流组集合,根据包含业务的权值和带宽生成每个流组的带宽函数(带宽-公平共享变量曲线,如公式5所示);
步骤四:遍历待分配流组集合,查询KSP算法中计算出的K条路由链路的可用带宽,选取可用带宽最大的路由记为主路径;若全部路径阻塞,将流组从待分配流组集合中去除;
步骤五:判断拥有可用路由的流组集合是否为空。若为空,转到步骤九;若不为空,转入步骤六。
步骤六:遍历所有节点间的链路,对于每条链路聚合所有经由该链路流组的带宽函数,假设链路带宽资源完全占用,求解其公平性参数;
步骤七:选取链路中最小的公平性参数值;确定各个业务分配得到的带宽,若分配带宽大于检测带宽,为业务分配检测带宽,表示此时已满足业务需求,将其从流组集合中去除;更新流组状态,若其中待分配业务为0,将流组从待分配流组集合去除;
步骤八:遍历链路集合,更新其带宽资源信息;若剩余带宽为0,则链路阻塞,转至步骤二;
步骤九:结束。
图5为本发明业务路径分配流程示意图。
业务路径分配,通过初始最小带宽分配和剩余带宽分配两步,网络带宽资源已根据权值公平分配到每个业务中,接下来进行流组中业务的路径分配,
步骤一:遍历流组集合:对于每个流组,根据流组所承载所有业务两次带宽分配情况,计算流组在KSP算路的K条路径上分配的带宽,并按照带宽大小降序排列;
步骤二:遍历业务集合:对于每个业务,根据两次带宽分配情况,计算业务分得的总带宽,并在流组中按照带宽大小降序排列;
步骤三:判断待分配流组集合是否为空,若为空,转到步骤七;若不为空,任选其一,进入步骤四。
步骤四:判断流组中的待分配路径和业务是否为空,若都不为空进入步骤五;若待分配路径为空,业务不为空,判定业务创建失败,否则从待分配流组中删除该流组信息,进入步骤三;
步骤五:选取最大带宽的路由,选取业务组合,确保路由带宽大于业务的最小带宽和,且与分配带宽和差值最小;
步骤六:根据路由带宽、业务的带宽和权值,重新计算业务分得的带宽,更新网络资源和业务带宽信息,转到步骤四;
步骤七:结束。
图6a-6e为本发明网络分配最小初始带宽前后拓扑变化示意图;其中,
图6a为初始网络拓扑;
图6b为业务1分配初始最小带宽后的网络拓扑;
图6c为业务2分配初始最小带宽后的网络拓扑;
图6d为业务3分配初始最小带宽后的网络拓扑;
图6e为业务4分配初始最小带宽后的网络拓扑。
为了确保在剩余网络资源带宽分配过程中各路径上的业务分配的带宽公平合理,通过f来表示在得到不同带宽的条件下业务的公平性参数。f的值可通过公式来表示。其中,f的取值最大为bwmax/W,bwmax为业务最大带宽,W为权重,当给这个业务分配的带宽大于这个带宽时,f的值不在增加。
公平性参数f的计算公式为:
当bwmin<bw<bwsam,
当bw>bwaam,
其中,bwmin为业务最小带宽,
bwsam为业务采样带宽,
bw为业务分配的带宽。
对于每个业务,bwmin、bwsam、w三个参数为定值;当bw∈(bwmin,bwsam),f与bw成正比;当bw≥bwsam,业务分配的带宽业务分配的带宽已满足采样时的需求带宽,f值不在变化。
将源地址、目的地址相同的业务汇聚在一起,形成流组(Flow Group,FG),下面公式描述的是将流组中业务相加形成的流组FG的带宽-公平性参数曲线:
其中,表示流组的带宽随f变化的函数,s,d表示源地址、目的地址相同,fs,d表示源地址、目的地址相同的业务公平性参数,
表示业务p的最小带宽,0<p<K,K表示流组中包含K个业务,
表示业务p的采样带宽,
表示业务p的权重,
Fi1<Fi2<......<FiK。
在网络剩余带宽分配中,分配业务最小带宽后的流组的带宽随f变化的函数:
假设网络初始拓扑如图6a所示,链路带宽均为10G,其中业务和路由信息为:
FG1(B→D) 路由一:B→C→D 路由二:B→A→D
业务1(Service1单位为G):bwmin=2,bwmax=6,bwsam=5,w=1;
业务2(Service2单位为G):bwmin=3,bwmax=7,bwsam=6,w=3。
FG2(C→D) 路由三:C→D 路由四:C→A→D;
业务3(Service3单位为G):bwmin=2,bwmax=6,bwsam=6,w=2;
业务4(Service4单位为G):bwmin=3,bwmax=6,bwsam=5,w=2。
首先进行业务最小带宽分配,根据图3所示,遍历业务集合,分别选取可用带宽大于bwsam路由中最大的路由为业务分配最小带宽,并更新拓扑资源和业务信息。对于FG1,如图6a所示:
路由一:B→C→D(10G) 路由二:B→A→D(10G)
Service1选取剩余带宽最大的路由一分配其最小带宽2G,更新拓扑资源后的网络拓扑带宽如图6b所示,路由情况为:
路由一:B→C→D(8G) 路由二:B→A→D(10G)
Service2选取剩余带宽最大的路由二分配其最小带宽3G。更新拓扑资源后的网络拓扑带宽如图6c所示。对于FG2,由于FG1已占用部分带宽资源,此时的路由情况为:
路由三:C→D(8G) 路由四:C→A→D(7G)
Service3选取剩余带宽最大的路由三分配其最小带宽2G,更新拓扑资源后的网络拓扑带宽如图6d所示,此时的路由情况为:
路由三:C→D(6G) 路由四:C→A→D(7G)
Service4选取路由四分配其最小带宽3G,分配后的网络剩余带宽如图6e所示。
其次进行业务剩余带宽分配,根据图4所示,为每个流组选取剩余带宽最大的路由,如图6e所示,此时的路由情况:
路由一:B→C→D(6G)
路由二:B→A→D(4G)
路由三:C→D(6G)
路由四:C→A→D(4G)
图7a-7d为初始网络拓扑、最小带宽分配后网络拓扑、剩余带宽分配后网络拓扑示意图;其中,
图7a为初始网络拓扑;
图7b为最小带宽分配后的网络拓扑;
图7c为首次剩余带宽分配后的网络拓扑;
图7d为再次剩余带宽分配后的网络拓扑。
FG1选取路由一,FG2选取路由三,此时对于链路BC所承载的业务为FG1,可以根据业务的权重w不同,画出业务的带宽-公平共享变量曲线:
当f∈(0,F),bw=f×w;
当f∈[F,+∞),bwsam-bwmin。
然后将各个业务曲线相加,形成链路的带宽-公平共享变量曲线:
根据链路的剩余带宽可以算出此链路的f值,通过计算,fbc=3,fcd=0.75,选取较小值0.75,之所以选取较小值,是为了使所有链路的剩余带宽都够分配,若选取其他f值,将导致较小值链路的剩余带宽不满足分配。进行分配:FG1(Service1:0.75G,Service2:2.25G),FG2(Service3:1.5G,Service4:1.5G)。分配后的网络带宽如图7c所示;
由于未满足业务带宽需求,再次进行带宽分配,跟上述方法相同。此时的路由情况:
路由一:B→C→D(0G)
路由二:B→A→D(4G)
路由三:C→D(0G)
路由四:C→A→D(4G)
算出链路BA、AD、CA的带宽-公平共享变量曲线,通过计算fba=2.25,fca=1.25,fad=0.92,选取较小值0.92进行分配:FG1(Service1:0.92G,Service2:0.75G),FG2(Service3:1.84G,Service4:0.5G)。分配后的网络带宽如图7d所示;此时所有流组的路由剩余带宽为0,结束带宽分配。
最后,本申请的方法仅为较佳的实施方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。