一种基于多核的多点到多点光组播路由方法

文档序号:7555777阅读:159来源:国知局
专利名称:一种基于多核的多点到多点光组播路由方法
技术领域
本发明涉及光纤通信技术领域,尤其涉及一种用于解决多点到多点的光组播路由问题并实现节约波长资源的方法。
背景技术
随着光网络中组播应用的兴起,光网络带宽的消耗迅速增长,这使得光网络中的组播路由问题得到越来越多的重视。以源节点和目的节点数量划分,组播可以分为点对多点的组播,多点到多点的组播,多点到多点的组播。众所周知,需要传输的信息越多,消耗带宽也会越多,所以多点到多点的组播引起了研究者的广泛关注。在光网络中,建立一个组播请求,首先就是要为组播请求寻路,找到传输消息走的线路。对于点到多点的组播请求,我们需要建立一棵光树覆盖源节点和所有目的节点,源节点发送的所有数据能成功被每个目的节点接收到。而对于多点到多点的组播请求,有两种解决方案:有源树和共享树。所谓有源树就是把多点到多点的组播请求看成多个点到多点的请求,以每个源节点为根节点建立多棵组播树。鉴于有源树不利于节约网络资源,提出了共享树。共享树分为单核共享树和多核共享树,单核共享树只有一个核点,这个核点负责收集所有源节点发出的数据,再转发给所有目的节点,也就是建立的组播树中,所有源节点都要连接到这个核点上,以核点为根节点的共享树覆盖所有目的节点。在多核共享树中,组播成员可以根据自身的具体情况,如与核点的位置、时延等条件选择其中一个核心节点加入。基于多核心的组播协议能有效减少带宽消耗,降低链路负载。2000年,研究者Ahlswede提出了网络编码,网络编码不同于传统路由只进行简单的复制转发操作,而是在中间节点加入线性或非线性编码操作,多个数据能在中间节点融合进行传输,最后在目的节点进行解码操作,获得目的节点所需的数据。网络编码能很好的提高网络吞吐量,而在光网络中,也能很好的起到节约波长资源的作用。本发明提出了一种基于多核网络编码共享树实现多点到多点的组播路由方法,最小化占用波长资源。

发明内容
针对现有的解决光网络中多点到多点路由问题的方法,消耗大量的波长资源,本发明设计了一种基于网络编码的多核共享树构造方法,该方法包括:用基于矩阵的启发式算法寻找核点和构造基于网络编码的共享树的方法。本发明提出的基于网络编码的多核共享树构造方法具体包括:1)寻找核点备选集;2)用基于矩阵的启发式算法在核点备选集中寻找核点;3)寻找编码路径构造共享树。将光网络抽象为图G (V,E,c,W),其中,光网络中的节点用集合V表示,节点之间的光纤链路集合用E表示, 每条边e e E对应一个代价c (e),W表示一根光纤支持的波长数。多点到多点的组播请求表示为mp2mp(S,D),其中S为源节点集合,D为目的节点集合。共享树的传输模式是源节点信息一定要经过核点再传送给目的节点,所以如果源节点出现在核点到目的节点之间,将出现迂回路径,使时延巨增。所以首先要选出备选核点集,使之不包括这样的迂回路径。假设Vi为核点,对每一个备选核点Vi e V,寻找所有目的节点的编码路径。如果在以Vi的编码路径上存在源节点,在核点备选集中删除节点Vi。本发明提出一种多点到多点的光组播路由实现最小化波长使用量的方法,其特征在于:对网络中的任意节点,寻找该节点到所有目的节点的两条编码路径P。。-、Pcode2,Pcod61、Pcode2中包含任何源节点,在节点集中删去该节点,遍历完节点集中所有节点后,得出的节点集为备选核点集V,针对备选核点集中的任一备选核点Vi,寻找源节点之间的链路分离路径,并选择核点,共享树中源节点到核点部分采用链路分离路径,共享树中核点到目的节点之间信息传输时采用网络编码,构造实现组播路由的共享树。选择核点具体包括,构造源节点覆盖矩阵Mv,矩阵Mv中元素为I表示以Vi为核点的共享树能够覆盖源节点Si,对应的列表示备选核点,行表示源节点;选择矩阵^中包含I最多的列,将该列所对应的备选核点Vi加入核点集,然后删除该列和该列中I所对应的行,重复上述操作,直到矩阵Mv成为空矩阵或全零矩阵。构造共享树具体包括:把从源节点到核点的链路分离路径加入共享树,首先用Dijktra最短路径算法算出第一条最短路径做为第一条编码路径;然后搜索二条编码路径,搜索目的节点Cli的临近节点vx,且Vx不在P。。-上。若Vx直接连接到另一目的节点Clj上,且直接连接到P。。-上,直接返回第二条编码路径,其中Vx为编码节点。若Vx没有直接连接到另一目的节点dj上,通过中间节点va, Vb…V。连接到dj上,若Vx没直接连接到Pcxxtel上,通过中间节点va, Vb…V。连接到Pradel上,返回包含Va, Vb…V。的第二条编码路径Prade2。本发明设计的一种基于网络编码的多点到多点的光组播路由方法,使所有目的节点加入所有共享树,而源节点则通过链路 分离路径加入一棵共享树。基于矩阵的启发式算法选择核点,使得核点数据最小的情况下保证所有源节点加入了组播树,这样节约波长信道。为进一步最小化波长使用数量,在构造共享树阶段,采用网络编码寻找网络编码路径,加入链路分离和网络编码能很好的节约波长使用数量,提高光组播网络的波长资源利用率,提高光网络的负载平衡。


图1选择核点备选集方法流程图;图2基于矩阵的启发式算法选择核点的流程图;图3构造共享树流程图;图4组播请求路由选择示意图。
具体实施例方式构造共享树最重要的就是核点的选择和构建共享树。在进行核点的选择时,往往导致高时延,高阻塞率等一系列问题,核点的选择被证实为NP难问题,确定哪个或哪几个核点成为一个重要的问题。在光网络中,源节点较多时,选择一个核点,往往造成占用巨大的波长信道数。所以在此我们选择多个核点,构造多核共享树。核点的选择基于矩阵的启发式算法,选择最少的核点满足覆盖所有源节点的覆盖。在光网络中需满足:波长连续性和波长独立性。波长连续性指,在一条光路上,若不存在波长转换器,只能分配同一个波长。波长独立性是指,两个不同的数据同时在同一光纤上传输,只能分为不同的波长以避免数据之间的混淆。因此,在共享树中,核点需要收集不同源节点发送来的不同数据再传送给目的节点,如果需要传送的数据很多,在靠近核点的链路受波长独立性的约束,会占用大量的波长信道。所以考虑从源节点到核点部分使用链路分离路径,这样不存在一段光纤传送多个数据,起到了节约波长信道的作用。但在源节点数目很多的情况下,可能选择一个核点不能用链路分离的路径覆盖所有的源节点,我们需要选择多个核点。就是要在核点备选集中选出核点。基于矩阵的启发式算法,保证用最少的核点覆盖所有的源节点。对每一个核点备选集的节点寻找到源节点的链路分离路径,建立一个源节点覆盖矩阵,在覆盖矩阵中,每一列表示核点备选集中的节点,行表示目的节点,若以一个备选核点节点为核点能覆盖一个源节点,在矩阵中对应的位置为1,反之为O。首先选择包含I最多的列,也就是选择能覆盖最多源节点的核点,把这列删除并删除其中I所对应的行。在重复上述操作直到矩阵为空矩阵或全零矩阵,便选择完了核点。若最后的矩阵为空矩阵,表明所有源节点都可以通过链路分离的路径添加到共享树中,把路径加入到共享树中。如果在选择核点并删除矩阵的过程中矩阵成为全O矩阵,表明不是所有源节点都可以用链路分离路径来覆盖。在构造共享树中,不能用链路分离路径路由的源节点,选择离自己最近的核点,用最短路径连接到共享树上。由于网络编码可以增加网络吞吐量,在共享树核点到目的节点部分使用网络编码,增大网络的吞吐量同时能减少波长使用数。要在目的节点成功解码信息的条件是源到目的节点至少存在两条链路分离的路径,所以提出了一种寻找两条链路分离编码路径的方法。首先用Dijktra最短路径算法算出核点到目的节点的最短路径做为第一条编码路径;接下来 是第二条编码路径的寻找,找到当前路由的目的节点的临近节点看是直接连接到另一目的节点上还是通过其他节点连到另一个目的节点上,再看该临近节点是直接连到第一条编码路径上还是通过中间节点连到第一条编码路径上,然后返回第二条编码路径,具体如何返回在下一个部分用附图加以说明。下面结合附图对本发明的技术方案作进一步说明。图1为选择核点备选集流程图,产生核点备选集。首先初始化,节点集,光网络中所有节点建立节点集,对节点集中的任意节点,寻找该节点到所有目的节点的两条编码路
Pcodel、^code2 若P。。-、Pcode2中包含任何源节点,便在节点集中删去该节点,遍历完节点集中所有节点后,得出的节点集为备选核点集corenode_candidateset=V,集合中不存在任何能产生迂回路径的核点。在备选核点集中选择核点,为节约波长使用数,在源节点到核点部分采用链路分离路径,保证每棵树只使用一个波长,但一棵树覆盖的源节点可能只是一部分源节点,所以需要构造多棵共享树。采用基于矩阵的启发式算法完成对核点的选择,选择多个核点并保证最少核点数量覆盖所有的源节点。针对备选核点集中的任一备选核点Vi,寻找到源节点之间的链路分离路径Plinkdisjoint (Vi, Si),Si表示源节点。构造源节点覆盖矩阵Mv, Mv中元素表示以节点Vi为核点的共享树覆盖源节点Si的关系,其中,用Ri表示以核点Vi所能覆盖源节点的集合,Mv为I表示以Vi为核点的共享树能够覆盖源节点Si,为O则表示以Vi为核点的共享树不能够覆盖源节点Si。矩阵中的列表示对应的核点,行表示对应的源节点。通过对矩阵Mv操作完成以最少的核点覆盖所有的源节点,首先选择包含I最多的列,将该列所对应的备选核点Vi加入核点集中,然后删除该列和该列中I所对应的行,继续对删除了行和列的矩阵进行上述选择和删除操作,直到矩阵Mv成为空矩阵或全零矩阵,所有的核点都加入核点集中,完成了核点的选择。附图2为选择核点的流程,包括步骤:Stepl初始化参数,让核点集corenode_set为空;Step2存在任何Vi ∈ corenode_candidateset,寻找Vi到源节点的链路分离路径Piinkdisjoint (v1.Si),若不存在 Vi G corenode_candidateset,算法转 Step4;Step3 把 Vi ∈ corenode_candidateset 中删去,转至 Step2 ;Step4根据公式⑴算出源节点覆盖矩阵Mv,其中Ri表示以Vi为核点的共享树覆盖的源节点集合。
权利要求
1.一种多点到多点的光组播路由实现最小化波长使用量的方法,其特征在于:对节点集中的任意节点,寻找该节点到所有目的节点的两条编码路径P。。-、Pc^2,若PradWPc^2中包含任何源节点,在节点集中删去该节点,遍历完节点集中所有节点后,得出的节点集为备选核点集V,针对备选核点集中的任一备选核点Vi,寻找源节点之间的链路分离路径,并选择核点,源节点和核点部分采用链路分离路径,核点到目的节点部分采用网络编码,为核点构造共享树。
2.根据权利要求1所述的方法,其特征在于:构造源节点覆盖矩阵Mv,矩阵^中元素为I表示以vi为核点的共享树能够覆盖源节点Si,对应的列表示核点,行表示对应的源节点;选择矩阵^中包含I最多的列,将该列所对应的备选核点Vi加入核点集,然后删除该列和该列中I所对应的行,重复上述操作,直到矩阵Mv成为空矩阵或全零矩阵。
3.根据权利要求1所述的方法,其特征在于:构造共享树具体包括:把从源节点到核点的链路分离路径加入共享树,首先用最短路径算法算出第一条最短路径做为第一条编码路径;搜索目的节点Cli的临近节点vx,且Vx不在P。—上;若Vx没有直接连接到另一目的节点七上,找到中间节点连接到4上;若Vx没直接连接到P。—上,找到中间节点连接到P。—上;若vx直接连接 到Pradel上,返回第二条编码路径PMde2。
全文摘要
本发明涉及一种光网络中多点到多点组播的路由选择问题,提出构造多核共享树解决多点到多点的光组播路由问题,实现最小化波长使用数。使所有目的节点加入所有共享树,而源节点则通过链路分离路径加入一棵共享树。基于矩阵的启发式算法选择核点,使得核点数据最小的情况下保证每个源节点加入了组播树,这样节约波长信道。为进一步最小化波长使用数量,在构造共享树阶段,采用网络编码寻找网络编码路径。本发明采用的核点选择方法和构造共享树的方法,有利于最小化波长使用数量,提高光组播网络的波长资源利用率,使网络负载更为平衡。
文档编号H04B10/25GK103236982SQ20131015740
公开日2013年8月7日 申请日期2013年4月28日 优先权日2013年4月28日
发明者刘焕淋, 江上, 王杨杨, 刘洋, 薛湘, 黄胜, 向劲松 申请人:重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1