一种基于堆结构扩张软件定义网络的方法技术

技术编号:15441583 阅读:149 留言:0更新日期:2017-05-26 06:42
本发明专利技术提供一种基于堆结构扩张软件定义网络的方法,所述方法包括:步骤1,将网络系统中的数据层抽象为多层次的斐波那契堆结构;步骤2,在所述得到的多层次斐波那契堆中依照自上而下顺序,利用双权重扩展Dijkstra路由算法解析得到最短路由路径。本申请有效的化简了软件定义网络的扩展过程,并结合堆结构改良了网络中的最短路由算法,同时有效的降低了各节点运算设备的负担。

Method for defining network based on heap structure expansion software

The present invention provides a method for the expansion of software defined network structure based on the pile, the method includes: Step 1, the network system of data abstraction for Fibonacci heap multi-level structure; step 2, multi-level in the Fibonacci heap in a top-down sequence, using two extended Dijkstra routing algorithm to get the analytical weights shortest path routing. This application effectively reduces the expansion process of the software defined network, and combines the heap structure to improve the shortest routing algorithm in the network. At the same time, it effectively reduces the burden of computing equipment of each node.

【技术实现步骤摘要】
一种基于堆结构扩张软件定义网络的方法
本专利技术涉及软件定义网络
,更具体地,涉及一种基于堆结构来扩张软件定义网络的方法。
技术介绍
目前,软件定义网络(SoftwareDefinedNetwork,SDN),将控制层和数据层分离,给传统的网络结构带来了革命性的改变。通过打破传统的网络设计模式,软件定义网络简化了网络的管理并且能够根据特定的需求来定义和构建具体的网络。一方面,控制层完全的从数据层中剥离出来,将整个网络的智能和计算能力集中到了控制器当中,另一方面,软件定义网络提供开放的可编程接口,提升了网络的灵活性和可管理性。与此同时,OpenFlow作为网络协议,提供了软件定义网络的接口,并定义了网络的架构和两个层之间的通信机制。数据层不再负责繁重的路由计算工作,而只需要负责由控制器指派的数据包转发。虽然数控分离给软件定义网络带来了很多优势和好处,但是同时由于仅有一个庞大的控制点来管理整个网络产生了很多问题,其中最显著的莫过于其给软件定义网络扩展时带来的诸多问题。一个高度中心化的控制器总会或多或少的受到其自身物理资源的约束,只能与有限个数据层中的交换机或路由器直接相连,因此,从控制层的角度来看,软件定义网络很难扩展。扩展软件定义网络不仅需要考虑形成该分层网络时控制层和数据层之间的逻辑连接,还需要考虑扩展网络所带来的额外开销。因此,控制层的可扩展性成为了阻碍软件定义技术发展的主要挑战之一。
技术实现思路
本专利技术为克服上述问题或者至少部分地解决上述问题,提供一种基于堆结构扩张软件定义网络的方法。根据本专利技术的一个方面,提供一种基于堆结构扩张软件定义网络的方法,其特征在于,包括:步骤1,将网络系统中的数据层抽象为多层次的斐波那契堆结构;步骤2,在所述得到的多层次斐波那契堆中依照自上而下顺序,利用双权重扩展Dijkstra路由算法解析得到最短路由路径。本申请提出一种基于堆结构扩张软件定义网络的方法,有效的化简了软件定义网络的扩展过程,并结合堆结构改良了网络中的最短路由算法,同时有效的降低了各节点运算设备的负担。附图说明图1为根据本专利技术实施例一种基于堆结构扩张软件定义网络的方法的整体流程示意图;图2为根据本专利技术实施例一种基于堆结构扩张软件定义网络步骤1中的流程示意图;图3为根据本专利技术实施例一种基于堆结构扩张软件定义网络步骤1中经典Dijkstra算法、堆优化后Dijkstra算法和双权重扩展Dijkstra路由算法的收敛时间对比示意图;图4为根据本专利技术实施例一种基于堆结构扩张软件定义网络步骤1中经典Dijkstra算法、堆优化后Dijkstra算法和双权重扩展Dijkstra路由算法的收敛时间对比示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。如图1,本专利技术一个具体实施例中,示出一种基于堆结构扩张软件定义网络的方法总体流程示意图。整体来说,包括:步骤1,将网络系统中的数据层抽象为多层次的斐波那契堆结构;步骤2,在所述得到的多层次斐波那契堆中依照自上而下顺序,利用双权重扩展Dijkstra路由算法解析得到最短路由路径。如图1,本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述步骤1还包括:步骤101,基于邻近原则将网络系统中的数据层抽象为若干个集合,即:将与源节点直接相连的节点划分为一个集合S,与目的节点直接相连的节点划分为另一个集合D;步骤102,基于所述集合S、集合D,以递归方式进行继续划分,完成网络系统中其余数据层的抽象。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述步骤2中解析得到的路由路径由物理交换机和路由器组成。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述步骤2中利用双权重扩展Dijkstra路由算法解析得到一条路由路径还包括:赋予各节点权重值,当每次计算下一跳时将各待加入节点权重值与链路权重值一并纳入考量,并且在完成一次计算后被加入路径的该节点的权重值。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述步骤2中在所述得到的多层次斐波那契堆中依照自上而下顺序,利用双权重扩展Dijkstra路由算法解析得到一条路由路径还包括:步骤201,从所述得到的多层次斐波那契堆中得到一个无向连通图G=(V,E),其中V为各个节点集合,E为节点间链路集合;步骤202,以G=(V,E)形式表示的数据层结构、各链路权重值、数据层各节点权重值和目的节点作为Dijkstra算法输入数据计算得到所述最短路由路径。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述以计算从v0到其他各节点的最短路径为例。首先,令S=(V0),T=V-S={其余顶点}。T中顶点之间若存在<vi,vj>即vi到vj的链路,则d(vi,vj)为<vi,vj>间链路的权值,若不存在<vi,vj>,d(vi,vj)为∞。然后,从T中选取一个其自身节点权值与S中顶点有关联边且两权值之和为最小的顶点W,加入到S中。此步骤中提取与前向节点有关联且链路权重值为最小的操作采用的是斐波那契堆操作中的提取(EXTRACT)操作。最后,对其余T中顶点的距离值进行修改:若加进W作中间顶点,从v0到vi的距离值缩短,则修改此距离值。若将vi加入到路径中,则更新vi节点的权值nw(vi)为nw(vi)'。更新的方法是:nw(vi)'=nw(vi)+const,其中,const为一个固定的值,用于权衡网络各节点的负载情况。重复上述步骤,直到S中包含所有顶点,即W=V为止。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述所述步骤202中各节点权重值还包括:其中v为集合V中的节点,Flow(v)为所有经过节点v的数据流集合,Capacity(v)为节点v的资源容量,Bits(f)为流f由节点v处理的字节数,nw_penalty_coeff为基于贝叶斯平均风险最小理论的惩罚因子。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述所述步骤202中边权重值还包括:其中e为几何E中的链路,Flow(e)为所有经过链路e的数据流集合,定义Bandwidth(e)为链路e的带宽,Bits(f)表示流f由节点v处理的字节数,nw_penalty_coeff为基于贝叶斯平均风险最小理论的惩罚因子。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述nw_penalty_coeff和ew_penalty_coeff为和为1的正常数,在每次计算路由路径时设定。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述nw_penalty_coeff和ew_penalty_coeff设定规则为:当网络中的某个节点处于繁忙状态而各条链路相对空闲时,应当设定nw_penalty_coeff大于ew_penalty_coeff,反之,则应当设定nw_penalty_coeff小于ew_penalty_coeff。本专利技术另一个具体实施例中,一种基于堆结构扩张软件定义网络的方法,所述双权重扩展Dijkstra路由算法以伪代码本文档来自技高网...
一种基于堆结构扩张软件定义网络的方法

【技术保护点】
一种基于堆结构来扩张软件定义网络的方法,其特征在于,包括:步骤1,将网络系统中的数据层抽象为多层次的斐波那契堆结构;步骤2,在所述得到的多层次斐波那契堆中,依照自上而下顺序,利用双权重扩展Dijkstra路由算法解析得到最短路由路径。

【技术特征摘要】
1.一种基于堆结构来扩张软件定义网络的方法,其特征在于,包括:步骤1,将网络系统中的数据层抽象为多层次的斐波那契堆结构;步骤2,在所述得到的多层次斐波那契堆中,依照自上而下顺序,利用双权重扩展Dijkstra路由算法解析得到最短路由路径。2.如权利要求1所述的方法,其特征在于,所述步骤1还包括:步骤101,基于邻近原则将网络系统中的数据层抽象为若干个集合,其中,将与源节点直接相连的节点划分为一个集合S,与目的节点直接相连的节点划分为另一个集合D;步骤102,基于所述集合S、集合D,以递归方式进行继续划分,完成网络系统中其余数据层的抽象。3.如权利要求1所述的方法,其特征在于,所述步骤2中解析得到的路由路径由物理交换机和路由器组成。4.如权利要求1所述的方法,其特征在于,所述步骤2中利用双权重扩展Dijkstra路由算法解析得到一条路由路径还包括:赋予各节点权重值,当每次计算下一跳时,将各待加入节点权重值与链路权重值一并纳入考量,并且在完成一次计算后被加入路径的该节点的权重值。5.如权利要求4所述的方法,其特征在于,所述步骤2中在所述得到的多层次斐波那契堆中依照自上而下顺序,利用双权重扩展Dijkstra路由算法解析得到一条路由路径还包括:步骤201,从所述得到的多层次斐波那契堆中得到一个无向连通图G=(V,E),其中V为各个节点集合,E为节点间链路集合;步骤202,以G=(V,E)形式表示...

【专利技术属性】
技术研发人员:姜竹青刘杨赵毅何善宝门爱东王婵
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1