一种基于虚拟斯特纳树的组播随机化路由方法

文档序号:7665152阅读:128来源:国知局
专利名称:一种基于虚拟斯特纳树的组播随机化路由方法
技术领域
本发明涉及一种无线传感器网络组播路由方法,通过该方法均衡网络能量,也增加了 组播树的鲁棒性,延长网络的生命周期。
技术背景-
目前实现组播路由最普遍的方法是构造源节点到一组目的节点的树形路由结构,信息 可以沿着这棵树决定的路径进行发送,减少了信息传递的延时,而且信息复制仅在树权处 进行,可以节省网络带宽资源。
基于树的路由协议中最核心的问题是斯特纳(steiner)树问题。steiner树问题是指连接 给定点的最小树长问题,其最优解称为steiner最小树(Steiner Minimum Tree, SMT)。图论 中对steiner问题的研究可以追踪到1961年,Karp等在1972年证明了最小steiner树问题 是NP完全问题。启发式算法虽然在绝大多数的情况下都不能得到最优steiner树,但它们 能够在较短的时间内找到费用接近最优的准steiner树,因此它们在路由网络费用优化中更 有实际意义。到目前为止,还没有一种启发式算法的最差情况下的性能与最佳解性能之比 好于两倍。
Shibo Wu, K. Selcuk Candan在Proceedings of the 26th IEEE International Conference on Distributed Computing Systems (ICDCS,06)中提出了一种基于虚拟steiner树的组播路由方 法。该方法也是一种启发式算法。其基本思想是首先利用如下原理如果只有三个节点, 也就是一个源节点,两个组播节点,那么这三个节点的steiner点能被有效地计算出来,给 定一目的节点组(u,v)和源节点s,縮率表示为RR(s,u,v),是这样定义的
算法在每次循环中,确定一个最大縮率值的组,再分别把该组steiner节点和组播节 点的连接加入到steiner树,steiner节点被激活。循环过程中,如果steiner节点和组播节 点组中的某一点重合,则连接另一点和steiner节点加入steiner树,该重合组播节点被激 活;如果steiner节点和源节点重合,则源节点和两组播节点的连线都被加入Steiner树中, 最后形成虚拟Steiner树,按照该虚拟steiner树形成的相反的顺序形成目的节点序列。路 由建立过程中,源节点按照目的节点序列中的顺序发送目的节点序列的信息。该序列中每
个stdner节点(可以是组播节点,也可以是其它节点或虚拟节点)与与其结组的组播节 点属于同一代,是该组形成的steiner节点的下一代。节点收到路由建立数据包后,提取 目的节点序列信息。如果下一代在当前节点的发射距离范围内,则直接转发到该下一代, 如果没有在其发射距离范围内,则在其邻居节点中找出距离该下一代距离最近的节点作为 转发节点。如果下一代为虚拟Steiner点,则发送到该虚拟Steiner节点的发射范围内即可。
这种方法引入了虚拟steiner树思想,在一定程度上减小了组播树形成算法的时间复杂 度,但是这种方法在选择下一跳的时候,到下一代距离最近的点可能有多个,这样可能导 致算法的死循环,使得选路过程不能顺利进行;另外,路由建立之后,数据传输过程中, 流量的集中可能会导致节点的快速死亡,而致使整个网络瘫痪。

发明内容
本发明的目的在于提出了一种随机路由思想,该路由方法是一个源发起的、按需驱动 的组播路由。源发起是只有当源节点有数据需要发送给它的组成员时才会建立一个组播 树。按需驱动的是只在有数据发送时树才存在,当数据发送结束后组播树就不存在了,减
少了路由维护所需要的费用。首先初始生成虚拟steiner树,初始化目的节点序列,选路 过程中引入了概率路由方法,有效地避免了算法的死循环,选择概率最大的节点作为下一 跳,也保证了路径的健壮性,这就保证了路由的畅通和数据的顺利传输,同时大大提高了 网络的生命周期。
方法
1. 初始化目的节点序列值。源节点会把树中的百的节点按照在虚拟steiner树中的生 成顺序,生成一个具有二叉树结构的目的节点序列。最先被检测到的点放在序列的最后。 当前节点最直接的后代称为下一代。
2. 邻居节点信息表的建立节点的邻居节点信息表中记录的节点符合以下两方面要 求1)在节点的发射半径范围内,即到节点的距离小于节点的发射半径。2)到下一代节 点的距离小于当前节点到下一代的距离。
3. 节点收到数据包后,从包信息中得到目的节点序列值,首先检测其下一代是否为 虚拟节点,如果是,则把数据包转发到该虚拟节点发射半径范围内的节点即可,这时可以 把该虚拟节点从目的节点序列中删除,刷新目的节点序列值,进入步骤3。
4. 当下一代不是虚拟节点,则检测是否在邻居节点信息表中,不在则按随机策略转 发数据包,按随机策略转发是指节点根据计算其邻居节点信息表中各节点的概率值,把概 率值最大的节点作为下一跳。
5. 若检测到下一代在邻居节点信息表中,则检测当前能量是否大于最低门限值,最 低门限值为节点发送一个数据包与接受一个数据包所需要的能量之和,当大于最低门限值 时,判断节点有能力转发数据包,当小于或等于最低门限值时,就把节点当作虚拟节点看 待。
6. 决定概率值的因素有
1)节点距离可以得到整个网络中每个节点的位置坐标(x,;;)。因此任意两节点 《X,,y,), 7'h,乃)之间的距离
(1-2)
我们用下式作为选择下一跳节点的概率& = J'eiV,为节点/的邻居节点信息表中的
节点集,d为节点的发射半径,/^为概率值。
2)偏移角度节点7'是节点Z'的邻居节点,节点J是目的节点序列中的下一代节点,
偏移角《可以定义为两条线(/,/)和(/,")之间的夹角,如图2所示。我们根据夹角公式,
可以计算出夹角《,为
<formula>formula see original document page 6</formula>
(l墨3)
下一跳节点应该选择P值比较小的节点,换句话说就是^值比较小的节点应该承担更多 的数据包转发任务。为了更好的比较,我们建立以下公式
如果^=0,表示节点/存在最大可能性选择节点/作为下一跳节点,在我们的网络中,因 为路由表中可能的下一跳满足两个条件,所以《<^/2 。
3)剩余能量五(f):能量是无线传感器的一个致命问题。因此,即使当节点y的位置 比节点/更好,如果节点/的能量远少于节点/,则转发数据包的优先权也将交由节点z'。 剩余能量多的邻居节点被选为下一跳节点的概率应该比较大,贝U:<formula>formula see original document page 7</formula>
y'eN,, N,为节点f的邻居节点集,£^)表示j节点t时刻的能量,E(0)表示节点的初
始能量,i^"为剩余能量概率值。
结合三方面考虑,下一跳节点的选择概率可以修正为<formula>formula see original document page 7</formula> (i-6)
仿真结果从以下两方面说明了本发明中路由方法性能的提高
1) 组播成员节点收到的数据包的总量 数据包总量这个参数表明了组播成员节点在运行过程中所接收到的由源节点发送
的数据包的总数。
2) 存活节点数 .
存活节点数这个参数表明了随着时间的推移,iW然存活的节点的总数,存活节点数也 反映了网络生命周期的长短。
由于本发明有效数据传输和网络生命周期长的特性,所以特别适用于人力无法触及的 危险环境,传感器节点一旦通过某种手段被配置播撒之后,便不能有电池或其他形式的能 量的更新,人力只能在基站或管理中心对其进行远程控制。在煤矿,石油钻井,核电厂和组 装线等工作环境,可以通过某种方式配置温湿度传感器,瓦斯传感器,粉尘传感器等传感 器节点对环境进行监测,并将结果传输至基站,进而传至管理中心,以判断适不适合工作 人员的进入或提高险情的反应精度和速度等。在相关的工厂每个排放口安装相应的无线节 点,完成对工厂废水,废气污染元的监测,样本的采集,分析和流量测定。


图1是组播随机路由方法的流程图。
图2是偏移角度示意图。偏移角度是指节点与其邻节点的连线与节点与下一代节点连 线的夹角,是随机策略中概率值计算的影响因素。其中i为当前节点,j为邻居节点,d 为下一代节点,《.为偏移角度。
图3为目的节点序列示意图,其中s为源节点,a、 b、 c、 e、 d为目的节点,g、 f 为中转节点,vl为虚拟节点。
图4为随机产生的网络图,由虚线连接起来的节点形成了虚拟steiner树。图中黑色节 点表示源节点和组播节点(其中s表示源节点),小黑点表示虚拟节点,用vl, v2, v3... 表示,其它节点表示一般节点。
图5为在图3虚拟steiner树的基础上的随机路由的形成。其中虚线表示虚拟steiner 树,实线表示实际路由,即信息传输的路径。
具体实施例方式
下面我们以一具体例子来说明组播路由的过程。
1. 在图中,s创建一虚拟stdner树,目的节点序列如图3所示。
2. 首先s检测到下一代g不在其邻居节点信息表中,则s把数据包按照随机策略转 发到邻居节点信息表中某一节点,比如图中举例是nl。随着时间的推移,网络拓 扑的变化,邻居节点信息表中各节点的概率是动态变化的,即s下一跳的选择不 是唯一的。
3. 假定是nl节点收到数据包以后,从其中提取目的节点序列信息,再把g与自己 邻居节点信息表中的信息进行比较,发现g在其中,则直接转发给g,然后把g 从目的节点序列中删除。因为g为steiner节点,所以要检测节点g的能量,如果 能量低于最低门限值(可理解为不具备发送数据的能力,能量接近于0),则将 其状态变为虚拟steiner点。
4. 节点g收到数据包后发现有两个下一代,则按照与第2步同样的方式转发数据包, 一路到f方向, 一路到b方向。有的可能需要经过转发两次,三次才能到达目的 节点。
当节点c收到数据包后,发现其下一代vl是虚拟stdner节点,且不在其发射半径范 围内,则按随机策略转发,假设转发到了n2, n2发现vl在其发射半径范围内,此时可以 把vl从目的节点序列中删除,刷新目的节点序列,n2检测到下一代为e和d,分别把数 据包发往e方向和d方向,最终发到e点和d点。
权利要求
1、一种基于虚拟斯特纳树的组播随机化路由方法,涉及的网络为无线传感器组播网络,其特征在于执行该方法需要如下过程a.初始化目的节点序列值,源节点会把树中的目的节点按照在虚拟斯特纳树中的生成顺序,生成一个具有二叉树结构的目的节点序列,最先被检测到的点放在序列的最后,当前节点最直接的后代称为下一代;b.邻居节点信息表的建立,节点的邻居节点信息表中记录的节点符合以下两方面要求1)在节点的发射半径范围内,即到节点的距离小于节点的发射半径,2)到下一代节点的距离小于当前节点到下一代的距离;c.节点收到数据包后,从包信息中得到目的节点序列值,检测其下一代是否为虚拟节点,当下一代是虚拟节点时,则把数据包转发到该虚拟节点发射半径范围内的节点,这时把该虚拟节点从目的节点序列中删除,刷新目的节点序列值,进入步骤c;d.当下一代不是虚拟节点,则检测是否在邻居节点信息表中,不在则按随机策略转发数据包,按随机策略转发是指节点根据计算其邻居节点信息表中各节点的概率值,把概率值最大的节点作为下一跳;e.当检测到下一代在邻居节点信息表中,则检测当前能量是否大于最低门限值,最低门限值为节点发送一个数据包与接受一个数据包所需要的能量之和,当大于最低门限值时,判断节点有能力转发数据包,当小于或等于最低门限值时,就把节点当作虚拟节点看待。
2、 如权利要求1所述的概率值,其特征在于判断概率值的因素包括节点距离、偏 移角度、剩余能量;1)节点距离整个网络中每个节点的位置坐标(X,",任意两节点/(x,J,;), J'( ,力) 之间的距离通过表达式& =,作为选择下一跳节点的概率因素之一,y'e7V,为节点/的邻居节点信 息表中的节点集,"为节点的发射半径,A为概率值;2)偏移角度节点y是节点/的邻居节点,节点"是目的节点序列中的下一代节点,偏移角e定义为两条线(/,力和(/,cO之间的夹角,如图(2)所示根据夹角公式,计算出夹 角《,为<formula>formula see original document page 3</formula>下一跳节点应该选择e值比较小的节点,建立计算式:当&=0,表示节点z存在最大可能性选择节点y作为下一跳节点,网络中,路由表中可能的下一跳满足两个条件,所以<formula>formula see original document page 3</formula>;3)剩余能量£《)剩余能量多的邻居节点与剩余能量少的邻居节点相比较,剩余能 量多的领居节点被选为下一跳节点的概率更大,定义计算式<formula>formula see original document page 3</formula>为节点Z的邻居节点集,A(O表示j节点t时刻的能量,E(O)表示节点的初始能量,尸i^为剩余能量概率值;结合三个因素将下一跳节点的选择概率定义为<formula>formula see original document page 3</formula>
全文摘要
本发明提供了一种基于虚拟斯特纳树的组播随机化路由方法,涉及无线传感器网络数据的组播传输。本发明以源发起的、按需驱动的组播路由,并在路由选择过程中引入概率路由方法,有效地避免了算法的死循环,选择概率最大的节点作为下一跳,也保证了路径的健壮性,这就保证了路由的畅通和数据的顺利传输,同时大大提高了网络的生命周期。本发明具有有效数据传输和网络生命周期长的特性,特别适用于人力无法触及的危险环境,传感器节点一旦通过某种手段被配置播撒之后,便不能有电池或其他形式的能量的更新,人力只能在基站或管理中心对其进行远程控制。
文档编号H04L12/56GK101175042SQ20071017729
公开日2008年5月7日 申请日期2007年11月14日 优先权日2007年11月14日
发明者周贤伟, 安建伟, 扬 杨, 杨裕亮, 王丽娜, 王建萍, 贾东耀 申请人:北京科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1