一种基于迭代编码的多约束组播路由算法制造技术

技术编号:10176672 阅读:130 留言:0更新日期:2014-07-02 16:36
本发明专利技术涉及网络通讯领域,尤其是一种基于迭代编码的多约束组播路由算法。本发明专利技术针对现有技术存在的问题,在具有多约束要求的通信网路中,提供一种本发明专利技术一种基于迭代编码的多约束组播路由算法。设计具备去除环路功能并且具有较好编解码适用性的组播树编码方法,同时,该方法对于已经生成的组播树也具有消除环路的功能。本发明专利技术通过合并两棵组播树,生成新的组播树;判定新组播树满足路由约束条件或者计算过程达到迭代次数后输出组播树。

【技术实现步骤摘要】
一种基于迭代编码的多约束组播路由算法
本专利技术涉及网络通讯领域,尤其是一种基于迭代编码的多约束组播路由算法。
技术介绍
在当前的网络通信中,组播通信是一种重要的方式。组播通信相比于单播通信,在点到多点的数据传输方面更为有效。实现组播通信的关键是建立组播路由。与单播通信中的传输路径不同,组播路由的拓扑是一棵组播树。目前,通信网络承载的业务有着差异化的网络传输QoS要求。这些要求主要体现在网络通信过程中的传输时延、时延抖动、吞吐量和丢包率等几个方面。这使得多约束条件下的组播路由问题成为一个研究的热点。现有的研究成果中,有许多方式可以解决无约束的组播路由问题,例如dijkstra算法和Steiner树。但是这些传统的方法并不能解决多约束条件下的组播路由问题。目前,可以利用一些启发式的算法和群体智能算法来解决多约束条件下的组播路由问题,例如模拟退火算法、遗传算法、蚁群算法、粒子群优化算法和萤火虫群优化算法等。但是,上述算法在求解多约束组播路由问题时,存在求解速度慢,计算复杂度高等缺点。
技术实现思路
本专利技术所要解决的技术问题是:针对现有技术存在的问题,在具有多约束要求的通信网路中,提供一种本专利技术一种基于迭代编码的多约束组播路由算法。设计具备去除环路功能并且具有较好编解码适用性的组播树编码方法,同时,该方法对于已经生成的组播树也具有消除环路的功能。本专利技术采用的技术方案如下:一种基于迭代编码的多约束组播路由算法包括:步骤1:输入网络拓扑结构,以及网络路由约束条件时延Dereq、时延抖动DJreq、吞吐量Threq、丢包率PLRreq,利用组播树生成方法生成一个有向组播树;步骤2:基于步骤1,删除组播树中不满足丢包率PLRreq约束条件的节点以及与这些节点相连的链路,删除不满足时延Dereq、时延抖动DJreq、吞吐量Threq的链路后,生成一棵组播树xj(t);步骤3:基于步骤1,再利用组播树生成方法随机生成一棵组播树xi(t);步骤4:根据组播树编码方法,合并步骤2与步骤3得到的组播树,生成新的组播树步骤5:如果组播树xj(t+1)满足路由约束条件或者计算过程达到迭代次数,则执行步骤6;否则,t=t+1,执行步骤2;步骤6:输出组播树xj(t+1)。进一步的,所述组播树生成方法具体包括:步骤11:初始化一棵空的组播树x0=(01,02,…,0n);步骤12:将源节点的先验节点设置为其本身,即xs=(01,02,…,Ss,…,0n);步骤13:从目的节点集合中随机选择一个目的节点作为当前节点;步骤14:从与当前节点有连接关系的节点集合中删除最近后继节点。则可以生成当前节点的先验节点集合;步骤15:从当前节点的先验节点集合中随机选择一个节点作为当前节点的一个先验节点。然后将选择的先验节点设置为当前节点;步骤16:如果当前节点的先验节点集合为空,即为“0”,转步骤14,否则转步骤17;步骤17:如果所有目的节点的先验节点集合为空,即为“0”,转步骤18,否则转步骤13。步骤18:输出该有向组播树x=(Prior1,Prior2,…,Priorn);进一步的,步骤4中组播树编码方法具体包括:步骤41:从目标节点集合M中选择第i个节点作为当前节点,判断i是否大于M的大小,若是转步骤44,若否转步骤42;其中i范围是从1到目标节点集合M数量;步骤42:判断当前节点是否为源节点,当前节点不是源节点时,执行步骤43;否则,转步骤41,i=i+1;步骤43:判断当前节点的先验节点数量是否大于1,若先验节点数量大于1,则随机选择一个先验节点作为当前节点,转步骤42;否则,当前节点作为先验节点,转步骤44;步骤44:输出不存在环路的组播树xj(t+1)。进一步的,所述中算子定义如下:组播树xi(t)和xj(t)合并为一棵新的组播树xj(t+1),合并后的节点集合为xi(t)和xj(t)所包含的所有节点,链路集合为xi(t)和xj(t)所包含的所有链路。进一步的,所述组播树指的是从目的节点向源节点回溯,除了源节点没有先验节点之外,其他一个节点只有一个先验节点。进一步的,所述迭代次数是根据网络状况确定,人工设定:网络规模小则可以设定较少的迭代次数,网络规模大则可以设定较大的迭代次数。因为规模小迭代次数多的话,组播树的性能提升不明显,且计算花销很大(效费比低);网络规模大,迭代次数少的话在概率上难取得性能较好的组播树。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:本专利技术可以用于任何具有多约束要求的网络规模和网络拓扑结构。能够高效地生成满足多约束要求的组播路由树,从而较好地解决多约束组播路由问题。本专利技术通过利用一种迭代编码思想,高效地生成满足通信网路多约束要求的组播路由树,从而较好地解决多约束组播路由问题。该算法适用于所有当前的通信网络拓扑结构,算法实现简单,部署使用时对设备硬件无特殊要求,能够完全保证已有的设备投入。附图说明本专利技术将通过例子并参照附图的方式说明,其中:图1新生成组播树的方法。图2本专利流程图。具体实施方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。本专利技术相关说明:1、组播树:从目的节点向源节点回溯,除了源节点没有先验节点之外,其他一个节点只有一个先验节点。2、步骤4中合并完之后再利用组播树编码方法对合并后的组播树进行去环路处理,逐渐逼近符合约束条件的目标组播树。3、组播树生成方法:是将通讯网络上各个独立的网络节点,组成一棵有向组播路由树。4、迭代次数:根据网络状况确定,人工设定:网络规模小则可以设定较少的迭代次数,网络规模大则可以设定较大的迭代次数。因为规模小迭代次数多的话,组播树的性能提升不明显,且计算花销很大(效费比低);网络规模大,迭代次数少的话在概率上难取得性能较好的组播树。5、对合并生成的组播树应用步骤41至步骤44的组播树编码方法即可去除其中的环路;针对时延Dereq、时延抖动DJreq、吞吐量Threq、丢包率PLRreq等问题,在步骤2中对不满足约束条件的节点和边进行删除,组播树合并后,对原来满足条件的部分保留了下来,同时,将组播树补充完整,补充的部分可能又满足约束条件(时延Dereq、时延抖动DJreq、吞吐量Threq、丢包率PLRreq)的节点和边,也有不满足条件的节点和边,但是总的效果是好于或等于上一棵组播树的。6、其中算子定义如下:组播树xi(t)和xj(t)合并为一棵新的组播树xj(t+1),合并后的节点集合为xi(t)和xj(t)所包含的所有节点,链路集合为xi(t)和xj(t)所包含的所有链路。7、xi(t)与xj(t)表示两棵不同的组播树。x=(Prior1,Prior2,…,Priorn)是任意一棵组播树的表达式。x0=(01,02,…,0n)表示初始化空的组播树。xs=(01,02,…,Ss,…,0n)表示将源节点的先验节点设置为其本身。xj(t+1)表示经过编码的组播树,等到其作为输入量时,xj(t)=xj(t本文档来自技高网...
一种基于迭代编码的多约束组播路由算法

【技术保护点】
一种基于迭代编码的多约束组播路由算法,其特征在于包括:步骤1:输入网络拓扑结构,以及网络路由约束条件时延Dereq、时延抖动DJreq、吞吐量Threq、丢包率PLRreq,利用组播树生成方法生成一个有向组播树;步骤2:基于步骤1,删除组播树中不满足丢包率PLRreq约束条件的节点以及与这些节点相连的链路,删除不满足时延Dereq、时延抖动DJreq、吞吐量Threq的链路后,生成一棵组播树xj(t);其中t表示迭代次数,t为大于0的正整数;i和j分别表示不同的两棵组播树;步骤3:基于步骤1,再利用组播树生成方法随机生成一棵组播树xi(t);步骤4:根据组播树编码方法,合并步骤2与步骤3得到的组播树,生成新的组播树xi(t+1)=xi(t)⊕xj(t);]]>步骤5:如果组播树xj(t+1)满足路由约束条件或者计算过程达到迭代次数,则执行步骤6;否则,t=t+1,执行步骤2;步骤6:输出组播树xj(t+1)。

【技术特征摘要】
1.一种基于迭代编码的多约束组播路由算法,其特征在于包括:步骤1:输入网络拓扑结构,以及网络路由约束条件时延Dereq、时延抖动DJreq、吞吐量Threq、丢包率PLRreq,利用组播树生成方法生成一个有向组播树;步骤2:基于步骤1,删除组播树中不满足丢包率PLRreq约束条件的节点以及与这些节点相连的链路,删除不满足时延Dereq、时延抖动DJreq、吞吐量Threq的链路后,生成一棵组播树xj(t);其中t表示迭代次数,t为大于0的正整数;i和j分别表示不同的两棵组播树;步骤3:基于步骤1,再利用组播树生成方法随机生成一棵组播树xi(t);步骤4:根据组播树编码方法,合并步骤2与步骤3得到的组播树,生成新的组播树表示组播树xi(t)和xj(t)合并为一棵新的组播树xj(t+1),合并后的节点集合为xi(t)和xj(t)所包含的所有节点,链路集合为xi(t)和xj(t)所包含的所有链路;步骤5:如果组播树xj(t+1)满足路由约束条件或者计算过程达到迭代次数,则执行步骤6;否则,t=t+1,执行步骤2;步骤6:输出组播树xj(t+1);所述步骤4中组播树编码方法具体包括:步骤41:从目标节点集合M中选择第i个节点作为当前节点,判断i是否大于M的大小,若是,则执行步骤44,否则,执行步骤42;其中i范围是1到目标节点集合M的数量;步骤42:判断当前节点是否为源节点,当前节点不是源节点时,执行步骤43;否则,转步骤41,i=i+1;步骤...

【专利技术属性】
技术研发人员:刘杰田永春姜永广胡薇
申请(专利权)人:中国电子科技集团公司第三十研究所
类型:发明
国别省市:四川;51

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

1