一种基于双路径并行传输的无线传感网络代码分发方法

文档序号:9600528阅读:657来源:国知局
一种基于双路径并行传输的无线传感网络代码分发方法
【技术领域】
[0001]本发明涉及到无线传感网络重编程技术领域,尤其涉及到一种基于双路径并行传输的无线传感网络代码分发方法。
【背景技术】
[0002]为了适应环境或者需求的变化,在无线网络传感网络节点部署应用后,节点不可避免地需要进行代码的更新。在现有应用的更新中,一般都是人工回收节点,再通过烧写工具来完成。但是当实际网络环境恶劣、网络规模大、节点分散时,采用人工有线烧录的方式就会变得十分繁琐与困难。在这种背景下,无线传感网络重编程技术应运而生,使用代发分发协议通过无线方式进行代码更新是上述问题的有效解决途径。
[0003]目前国内外的经典代码分发方式有Deluge,MNP等,它们致力于对网络中所有节点进行代码更新。然而在无线传感网络中,不同节点通常会扮演不同的角色,使用经典代码分发方式对特定角色的节点进行代码更新将会引起大量的能量消耗。所以,近年来出现了对特定节点进行代码更新的研究,其中以MDeluge为代表。
[0004]MDeluge在源节点和目标节点间建立了一条传输路径,只有路径上的节点参与数据包的转发,节省了其他无关节点的能量。然而,正是由于路径选取的单一性,数据包在源节点和目标节点之间的传递也被牢牢绑死在当前路径上,无法对空间进行复用,造成了较大时间延迟;另一方面,路径上的节点能量消耗要比其他节点格外的大,导致网络节点能量不均匀消耗,严重的会引起网络分割,极大地缩短了网络寿命。

【发明内容】

[0005]为了解决现有技术存在的上述问题,本发明提供了一种基于双路径并行传输的无线传感网络代码分发方法。该方法在源节点和目的节点之间建立起两条传输路径,且两条路径能够并行传输,降低了节点承担的平均消息量。同时本方法中的源节点将根据两条路径的跳数差动态选择传输时机,能够避免目的节点在同时接收两条路径的数据包时所产生的碰撞问题。
[0006]为了实现上述目的,本发明的技术方案如下:
一种基于双路径并行传输的无线传感网络代码分发方法,包含三个阶段策略,分别是路径建立阶段策略,数据传输阶段策略,以及丢包重传阶段策略。
[0007]路径建立阶段策略包含如下步骤:源节点查询自身路径表判断是否有到达目的节点的路径信息,若有则执行数据传输阶段策略,否则广播RREQ消息发起路径寻找;目的节点收到此RREQ消息后,将会沿着反向路径逐跳回复RREP消息,以建立起从源节点到达目的节点的第一条正向路径;路径之外的中间节点维护一个“首路径影响度”(该节点通信范围内的邻居节点中属于第一条路径上节点的个数),在沿着反向路径回复RREP消息以形成第一条路径时,中间节点每监听到一次第一条路径的RREP消息,就更新“首路径影响度”的值将其增加1 ;第一条路径形成之后,源节点再次广播RREQ消息发起对第二条路径寻找,与建立第一条路径不同的是,我们在RREP消息中添加一个字段C表示从目的节点到当前节点的这段反向路径上“首路径影响度”超过设定阈值的节点个数,当RREP消息沿反向路径传递到源节点时,将得到这条路径上“首路径影响度”超过阈值collideValue的节点个数(即字段C大小)以及使字段C首次变为非零的节点地址,这样源节点就能得知这条路径反方向(反方向即从目的节点到源节点方向)上“首路径影响度”超过阈值的第一个节点的上一跳节点(称之为“非碰撞节点”)地址,以便源节点对该“非碰撞节点”发起“二次路由”;当源节点收到的RREP消息中字段C的值大于设定阈值collideNum时,源节点将广播“特殊RREQ”消息,对该“非碰撞节点”发起“二次路由”,收到“特殊RREQ”消息的中间节点将根据自身“首路径影响度”的大小决定转发“特殊RREQ”消息的延迟时间,“首路径影响度”越大,延时将越长;“非碰撞节点”收到“特殊RREQ”消息后,将沿新的反向路径回复特殊RREP消息,以完成第二条传输路径的建立。
[0008]数据传输阶段策略包含如下步骤:源节点根据目的节点发送来的镜像页请求消息,将对应的镜像页准备就绪,做好发送准备;定义镜像块在每一跳的传输时间为定值,源节点对长路径与短路径跳数之差进行计算,若该跳数之差较大,则源节点在两条路径同时各发送一个镜像块,并设定发送间隔为镜像块在较长路径的传输时间,持续发送直至该镜像页中所有镜像块传输完毕,若该跳数差不大,则源节点在较短路径上先发送一个镜像块,设定该镜像块在较短路径走了 1/3路程之后,从较长路径发送下一镜像块,两条路径的发送间隔都设置为镜像块在较长路径的传输时间,较长路径的起始发送时间比较短路径要延迟一个镜像块在较短路径进行传输所用时间的1/3左右。
[0009]丢包重传阶段策略包含如下步骤:目的节点向源节点发送镜像页请求消息后,就开启定时任务,定时期满后请求的镜像页还没有完全接收,就通过最近一次收到镜像块的反向路径向源节点发送当前镜像页的重传请求,并再次开启定时任务,若传输依然失败,则使用另一条路径申请重传,若再次失败,再切换回第一条路径申请重传;若源节点收到的重传次数大于设定值,并且重传次数与当前已经完成传输的镜像页数比值大于设定值时,将当前的并行传输切换成分时单路径传输;当源节点收到重传请求消息时,源节点会检测重传请求消息的请求位图,判断是否有节点掉网,若有节点掉网,源节点会暂停当前镜像页的传输,并立即发起“重建RREQ”消息,当接收到“重建RREQ”消息后,节点的行为将根据节点类型分为以下3种,完好路径上的节点丢弃该消息,待重建路径上的节点优先转发“重建RREQ”消息,一般节点会随机转发“重建RREQ”消息。
[0010]该方法借鉴了网络层A0MDV路由协议建立路由路径的做法,在源节点和目的节点之间建立起两条传输路径。与A0MDV路由协议做法不同的是,A0MDV协议令一条路径作为传输主路径,另一条路径用作备用路径,当传输主路径出现断裂时才启用备用路径,当备用路径断裂时停止传输。而该方法提出了一种数据传输策略,使得两条路径能够并行传输,节点承担的平均消息量降到了 MDeluge协议做法的一半左右,同时为了避免目的节点在同时接收两条路径的数据包时所产生的碰撞问题,源节点将根据两条路径的跳数差动态选择传输时机。
[0011]此外,为了减少两条路径在并行传输过程中由于隐藏终端造成的丢包问题,该方法又提出了一种新的路径建立策略以降低两条路径间的耦合度,在形成第二条路径时,受第一条路径影响较大的节点将延迟路径寻找的发起时间,使那些受第一条路径影响较小的节点更具有参与路径建立的可能性。最后,该方法实现了 AOMDV协议不具备的“路径修复与重建功能”,其丢包重传策略也充分利用了两条并行传输路径的优势,源节点能够根据某条路径传递过来的数据请求消息,判断另外一条路径是否有节点掉网,以便及时进行路径修复;同时也可判断当前并行传输是否存在较大的丢包率,必要时将转变为双路径分时传输。
[0012]与现有技术相比,本发明技术方案的有益效果是:
本方法采用双路径并行传输的策略,缩短了特定节点进行代码更新的时间,大大降低了节点平均消息量,延长了网络寿命。本方法通过引入“二次路由”,建立起两条相互影响最小的传输路径,大大缓解了隐藏终端造成的丢包问题。此外,为保证并行传输可靠性而提出的丢包重传策略,一方面保
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1