无线传感器网络中基于机会网络编码的数据重传方法

文档序号:7866272阅读:204来源:国知局
专利名称:无线传感器网络中基于机会网络编码的数据重传方法
技术领域
本发明属于无线通信技术,特别涉及无线传感器网络的数据重传技术。
背景技术
大量移动或静止的传感器以自组织方式构成的无线网络称为无线传感器网络,其作用是协作地感知、采集、处理和传输网络覆盖区域内监测对象的信息,并报告给用户。随着相关技术的发展,无线传感器网络得到了越来越多的应用,并逐渐渗透到军事探测、资源保护等数据敏感领域。多播传输是无线传感器网络中的一种普遍通信方式。由于无线信道的不可靠性,使得在无线多播通信中通常会有多个接收节点丢失数据。因此,发送节点需要通过重传丢失的数据包来保证通信的可靠性。但是,由于接收节点数量较多、数据包丢失较分散、重传数据包可能再次丢失等因素,使得常规的重传技术通常具有较高的系统开销。·为了改善无线多播传输的性能,出现了一种结合机会网络编码的重传技术。该技术通过使用机会网络编码将对应于不同接收节点的多个丢包编码成一个重传包,然后通过一次传输发送该重传包。接收节点将重传包和自己接收到的某些原始数据包进行合并,得到自己丢失的数据包。这样发送节点可以在一次重传中恢复不同接收节点的数据包,从而显著减少的重传次数。无线传感器网络的节点通常采用电池供电,能够使用的能量是有限的。特别是当传感器节点被撒播在恶劣环境中时,电池的更换将是非常困难甚至是不可能的。因此无线传感器网络存在着严重的能量约束问题。在进行数据重传的同时,延长整个网络的生命周期变得十分重要。

发明内容
本发明所要解决的技术问题是,提供在无线传感器网络中,能够提高节点能量利用率,延长网络系统的生存期的基于机会网络编码数据重传方法。本发明为解决上述技术问题所采用的技术方案是,无线传感器网络中基于机会网络编码的数据重传方法,包括步骤原始数据包发送步骤发送节点向各接收节点广播原始数据包,依照发送顺序为所述原始数据包添加序号;原始数据包接收步骤各接收节点接收来自发送节点的原始数据包并向发送节点反馈信息,所述反馈信息包括各接收节点的当前能量和已接收到的原始数据包序号;当接收节点接收到所有原始数据包时进入休眠;数据包接收统计步骤发送节点根据接收节点的反馈信息统计接收情况,将丢失的原始数据包放入重传队列中,发送节点根据各接收节点接收到的原始数据包序号得到各接收节点对应的丢包率;重传调度步骤发送节点根据反馈的信息对重传队列中的原始数据包进行排序,排序的规则为将丢包率越低的接收节点所需要的原始数据包排在重传队列越前面;当一个原始数据包被多个接收节点所需要,则根据丢包率最小的那个接收节点对所述原始数据包进行排序;在相同丢包率下,当前能量越少的接收节点所需要的原始数据包排在重传队列越前面;在相同丢包率和相同当前能量条件下,序号越小的原始数据包排在重传队列越前面;重传发送步骤发送节点从重传队列取出一个原始数据包,搜索重传队列中所有数据包进行编码规则判断生成重传数据包并向各接收节点广播该重传数据包,所述重传数据包可以是编码包,也可以是原始数据包;重传接收步骤当接收节点接收到不含有自己需要的原始数据包的重传数据包时,丢弃该重传数据包;当接收节点接收到含有自己需要的原始数据包的重传数据包时,从该重传数据包中获取自己需要的原始数据包并存储,向发送节点反馈信息;当接收节点接收到所有原始数据包时则进入休眠;重传更新步骤发送节点每接收到一个接收节点反馈的信息后,就更新相应的原·始数据包的接收情况,判断该原始数据包是否已经被所有接收节点接收到,如否,则返回重传调度步骤,如是,从重传队列中删除该原始数据包,并判断重传队列中是否还有需要重传的原始数据包,如还有需要重传的原始数据包,则返回重传调度步骤;否则没有需要重传的原始数据包,数据重传结束。现有的基于机会网络编码的重传在恢复数据时并没有考虑能量消耗问题,使得部分节点参与了不必要的通信,消耗了多余的能量,从而缩短了整个网络的生命周期。本发明的数据重传优先恢复丢包率较小的接收节点丢失的数据包。实际应用中,丢包率较小接收节点丢失的数据包有较大概率同时也没有被丢包率较大接收节点接收到。因此,发送节点在重传丢包率较小接收节点需要的数据包时,也是在恢复丢包率较大接收节点丢失的数据包。此外,丢包率较小接收节点所对应的链路质量较好,且其丢失的数据包也较少,这些都使得发送节点用来恢复所述节点丢失数据包所需的重传次数较少。同时,在对原始数据包的调度还兼顾了接收点当前的能量。所以,本发明通过合理安排数据包的恢复顺序,能在不降低重传效率的前提下,使丢包率较小接收节点以及能量较少的接收节点更快地进入休眠状态,从而减少不必要的能量开销,延长整个网络的生命周期。本发明把机会网络编码应用在无线传感器网络数据恢复过程。本发明的数据恢复方法是发送节点将需要重传的数据包先进行编码后再发送,接收节点根据之前接收到的原始数据包从编码数据包中解码出需要的丢包。该数据重传方法将机会网络编码与无线广播特性相结合,通过编码对多个数据包进行信息融合,增加单次传输的信息量,从而减少数据包的重传次数,降低数据恢复过程的能量消耗,以达到进一步延长整个网络生命周期的目的。本发明的有益效果是,能有效提高节点能量利用率,延长网络系统的生存期。


图I为实施例流程图;图2为实施例提出的编码步骤的流程图;图3本实施例中重传数据包接收步骤的流程图。
具体实施例方式本发明的无线传感器网络中基于机会网络编码的数据重传方法,包括步骤原始数据包发送步骤发送节点向各接收节点广播原始数据包,依照发送顺序为所述原始数据包添加序号;原始数据包接收步骤各接收节点接收来自发送节点的原始数据包并向发送节点反馈信息,所述反馈的信息包括各接收节点的当前能量和接收到的原始数据包序号;当接收节点接收到所有原始数据包时进入休眠;数据包接收统计步骤发送节点根据接收节点的反馈信息统计接收情况,将丢失的原始数据包放入重传队列中,发送节点根据各接收节点接收到的原始数据包序号得到各接收节点对应的丢包率;重传调度步骤发送节点根据反馈的信息对重传队列中的原始数据包进行排序,排序的规则为将丢包率越低的接收节点所需要的原始数据包排在重传队列越前面;当一个原始数据包被多个接收节点所需要,则根据丢包率最小的那个接收节点对所述原始数据包进行排序;在相同丢包率下,当前能量越少的接收节点所需要的原始数据包排在重传队列越前面;在相同丢包率和相同当前能量条件下,序号越小的原始数据包排在重传队列越前面;重传发送步骤发送节点从重传队列取出一个原始数据包,搜索重传队列中所有数据包进行编码规则判断生成重传数据包并向各接收节点广播该重传数据包;优化的,为了更合理得、灵活地设置接收节点的休眠时间长度,针对每一次的重传情况,发送节点在所述重传数据包中还包括有重传时间I;;当然,不在重传数据包中携带重传时间并不影响接收节点在休眠与唤醒之间切换状态,接收节点可以根据本地设置或网络设置来切换状态;重传接收步骤当接收节点接收到不含有自己需要的原始数据包的重传数据包时,丢失该重传数据包;当接收节点接收到含有自己需要的原始数据包的重传数据包时,从重传数据包中获取自己需要的原始数据包并存储,向发送节点反馈信息;当接收节点接收到所有原始数据包时则进入休眠;针对重传数据包中携带了重传时间I;的优选方案,当接收节点接收到所有原始数据包时则进入休眠的具体设置方法是当接收节点接收完毕所有原始数据包后,接收节点从其接收到的最后一个重传数据包中提取出重传时间信息 ;,再然后判断Tr是否大于系统预设休眠时间Ta,如是,则设置唤醒时间Ts=Ta+T ;如否,设置唤醒时间TS=I;+T,其中T为系统当前时间;最后,接收节点进入休眠状态;这样,当到达唤醒时间Ts,该接收节点从休眠状态回到工作状态;为了更进一步节省能源,当接收节点从休眠状态回到工作状态时,检测到本次重传还未结束,则重新设置唤醒时间,再次进入休眠状态;重传更新步骤发送节点每接收到一个接收节点反馈的信息之后,更新相应的原始数据包的接收情况,判断该原始数据包是否已经被所有接收节点接收到,如否,则返回重传调度步骤,如是,从重传队列中删除该原始数据包,并判断重传队列中是否还有需要重传的原始数据包,如还有需要重传的原始数据包,则返回重传调度步骤;否则没有需要重传的原始数据包,数据重传结束。具体的,重传发送步骤中,发送节点从重传队列取出一个原始数据包,搜索重传队列中所有数据包进行编码规则判断生成重传数据包的具体方法是发送节点从重传队列中取出第一个原始数据包P,然后以从前到后的顺序,依次在重传队列中寻找满足编码规则的原始数据包;在发送节点搜索完重传队列中所有数据包时,如果存在满足编码规则的原始数据包,则发送节点将原始数据包P与满足编码规定的原始数据包进行逐位异或运算生成编码数据包,并在所述编码数据包中加入编码信息生成重传数据包,所述编码信息为组成该重传数据包的原始数据包序号;如果不存在满足编码规则的原始数据包,则发送节点则将原始数据包P作为重传数据 包;所述编码规则是生成的编码数据包中最多只能含有各接收节点丢失的一个原始数据包。具体的重传接收步骤中,当接收节点接收到含有自己需要的原始数据包的重传数据包时,判断重传数据包是否是编码数据包,如是,根据重传数据包中的编码信息,接收节点从本地存储的原始数据包中查找相应数据包与编码数据包进行逐位异或运算得到需要的原始数据包,如否,直接存储作为重传数据包的原始数据包。本领域技术人员也可以根据现有的机会网络编码方法来实现对搜索重传队列中所有原始数据包进行其它方式的编码来生成编码数据包,接收节点也能根据相应的方式根据重传数据包恢复出需要的原始数据包。实施例一种无线传感器网络中基于网络编码的数据重传方案。无线传感器网络是由一个发送节点和N (N彡2)个接收节点i(l Si SN)组成,N为正整数。无线传感器网络中,发送节点和每个接收节点之间都能双向通信。图I是本实施例数据重传方案的流程图,重传方法包括以下步骤步骤101、原始数据传输步骤发送节点依次发送M个原始数据包,并以从小到大的顺序为所述原始数据包添加序号,M为自然数;一个接收节点在成功接收到数据包后向发送节点回复反馈信息,所述反馈信息包括该节点接收到的原始数据包序号和该节点的能量信息;步骤102、统计步骤在传输原始数据包的过程中,发送节点根据接收节点反馈的信息统计数据包的接收情况,并将丢失的数据包放入重传队列中;在传输完原始数据包后,发送节点根据接收节点i (I < i < N)的反馈信息统计接收节点的能量Wi和丢包率Y i ;步骤103、调度步骤发送节点按照一定顺序对重传队列中的数据包进行排序,所述顺序包括丢包率越低的接收节点所需要的数据包排在越前面;如果一个数据包被多个接收节点所需要,则根据丢包率最小的那个接收节点来对所述数据包进行排序;在相同丢包率条件下,能量越少的接收节点所需要的数据包排在越前面;在相同丢包率和能量条件下,序号越小的数据包排在越前面。步骤104、编码步骤
本实施例采用2元域上的加法运算对η个数据包进行编码。根据高斯定理,接收节点当且仅当已知其中的η-I个数据包,才可以根据所述线性变换从η个数据包形成的编码数据包中解出自己丢失的数据包,得到全部的η个数据包。因此,本实施例采用的编码规则是生成的编码数据包能够被所有接收节点成功解码,即编码数据包中最多只能含有各接收节点丢失的一个原始数据包。图2是本实施例提出的编码算法的流程图,具体包括步骤201、从重传队列中取出第一个原始数据包P,并设置变量i = 1,然后进入步骤 202 ;步骤202、从重传队列中依次取出第i个原始数据包Pi,并设置i = i+Ι,然后进入步骤203 ;步骤203、判断编码数据包P 乃是否满足编码规则,如果是,则执行步骤204 ;否 贝U,执行步骤205 ;步骤204、Ρ = ΡΦΡ ,然后进入步骤205 ;步骤205、判断是否已检查完重传队列中的所有数据包,如果是,则执行步骤206 ;否则,执行步骤202;步骤206、判断当前P是否是编码数据包,如果是,则执行步骤207 ;否则,执行步骤208 ;步骡207、在数据包P中加入编码信息生成重传数据包,然后进入步骤208。所述编码信息包括所有被编码在一起的原始数据包的序号;步骤208、在数据包P中加入重传时间信息,然后进入步骤209。所述重传时间信息包括重传阶段的持续时间Tr=RT · L/(I- Ymax)。其中,RT是发送节点传输一个数据包的平均时间,Ymax=max{ Y J , i = 1,…,N, Y i表示需要进行重传的N个接收节点分别对应的丢包率,L是重传队列中丢包率为Ymax的接收节点所需要发送节点重传的原始数据包个数;步骤209、重传数据包P。步骤105、接收步骤图3是本实施例提出的接收节点对接收到的数据包P进行处理的流程图,具体包括步骤301、判断P中是否有自己需要的数据包,如果有,则进入步骤302 ;否则,丢弃P ;步骤302、判断P是否是编码数据包,如果是,则进入步骤303 ;否则进入步骤304 ;步骤303、根据P的编码信息,接收节点从其存储的原始数据包中查找相应数据包,然后将找出的数据包与P进行逐位异或运算得到自己需要的原始数据包,最后进入步骤 304 ;步骤304、存储获得的原始数据包,然后向发送节点回复反馈信息,最后进入步骤305 ;步骤305、判断自己是否已经收到所有数据包,如果是,则进入步骤106 ;否则,该接收节点保持工作状态。步骤106、休眠步骤首先,接收节点从其接收到的最后一个数据包中提取出重传时间信息I;;然后判断Tr是否大于系统预设休眠时间Ta,如果是,则设置唤醒时间Ts=Ta+T ;否则设置唤醒时间TS=I;+T,其中T为系统当前时间;最后,该接收节点进入休眠状态。在Ts时刻,接收节点从休眠状态回到工作状态。然后,该接收节点检测网络中是否有数据传输,如果没有,则所述接收节点根据系统预设任务进行工作;否则,所述接收节点判断本次重传过程是否结束。如果本 次重传过程结束,则所述接收节点根据系统预设任务进行工作。如果本次重传过程没有结束,则所述接收节点执行步骤106。所述系统预设休眠时间和系统预设任务由用户自行定义。步骤107、更新步骤发送节点每接收到一个节点回复的反馈信息之后,更新相应数据包的接收情况,然后判断该数据包是否已经被所有接收节点接收到。如果否,则执行步骤103 ;否则,从重传队列中删除所述数据包,再判断重传队列中是否还有数据包。如果有,则执行步骤103 ;否则,结束数据重传阶段,进入下一个原始数据发送阶段。需要说明的是,实施例中的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,本发明的实施例并非用于限定本发明的保护范围,对于本领域的技术人员来说,具体的实施方式可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.无线传感器网络中基于机会网络编码的数据重传方法,其特征在于,包括步骤 原始数据包发送步骤发送节点向各接收节点广播原始数据包,依照发送顺序为所述原始数据包添加序号; 原始数据包接收步骤各接收节点接收来自发送节点的原始数据包并向发送节点反馈信息,所述反馈信息包括各接收节点的当前能量和已接收到的原始数据包序号;当接收节点接收到所有原始数据包时进入休眠; 数据包接收统计步骤发送节点根据接收节点的反馈信息统计接收情况,将丢失的原始数据包放入重传队列中,发送节点根据各接收节点接收到的原始数据包序号得到各接收节点对应的丢包率; 重传调度步骤发送节点根据反馈的信息对重传队列中的原始数据包进行排序,排序 的规则为将丢包率越低的接收节点所需要的原始数据包排在重传队列越前面;当一个原始数据包被多个接收节点所需要,则根据丢包率最小的那个接收节点对所述原始数据包进行排序;在相同丢包率下,当前能量越少的接收节点所需要的原始数据包排在重传队列越前面;在相同丢包率和相同当前能量条件下,序号越小的原始数据包排在重传队列越前面; 重传发送步骤发送节点从重传队列取出一个原始数据包,搜索重传队列中所有数据包进行编码规则判断生成重传数据包并向各接收节点广播该重传数据包,所述重传数据包可以是编码包,也可以是原始数据包; 重传接收步骤当接收节点接收到不含有自己需要的原始数据包的重传数据包时,丢弃该重传数据包;当接收节点接收到含有自己需要的原始数据包的重传数据包时,从该重传数据包中获取自己需要的原始数据包并存储,向发送节点反馈信息;当接收节点接收到所有原始数据包时则进入休眠; 重传更新步骤发送节点每接收到一个接收节点反馈的信息后,就更新相应的原始数据包的接收情况,判断该原始数据包是否已经被所有接收节点接收到,如否,则返回重传调度步骤,如是,从重传队列中删除该原始数据包,并判断重传队列中是否还有需要重传的原始数据包,如还有需要重传的原始数据包,则返回重传调度步骤;否则没有需要重传的原始数据包,数据重传结束。
2.如权利要求I所述无线传感器网络中基于机会网络编码的数据重传方法,其特征在于,所述重传数据包中还包括有重传时间I;; 所述重传接收步骤中,当接收节点接收到所有原始数据包时进入休眠的具体设置方法是当接收节点接收完毕所有原始数据包后,接收节点从其接收到的最后一个重传数据包中提取出重传时间信息 ;,再然后判断I;是否大于系统预设休眠时间Ta,如是,则设置唤醒时间Ts=Ta+T ;如否,设置唤醒时间TS=T,+T,其中T为系统当前时间;最后,接收节点进入休眠状态;当到达唤醒时间,该接收节点从休眠状态回到工作状态。
3.如权利要求2所述无线传感器网络中基于机会网络编码的数据重传方法,其特征在于,当接收节点从休眠状态回到工作状态时,检测到本次重传还未结束,则重新设置唤醒时间,再次进入休眠状态。
4.如权利要求2或3所述无线传感器网络中基于机会网络编码的数据重传方法,其特征在于,重传时间信息I;的取值为Tr=RT*L/(l-ymax); 其中,RT是发送节点传输一个数据包的平均时间,Ymax=max{ Y J , i = I, ···, N, Yi表示需要获得重传数据包的N个接收节点分别对应的丢包率,L是重传队列中丢包率为Ymax的接收节点所需要发送节点重传的原始数据包个数。
5.如权利要求I所述无线传感器网络中基于机会网络编码的数据重传方法,其特征在于,重传发送步骤中,发送节点从重传队列取出一个原始数据包,搜索重传队列中所有数据包进行编码规则判断生成重传数据包的具体方法是 发送节点从重传队列中取出第一个原始数据包P,然后以从前到后的顺序,依次在重传队列中寻找满足编码规则的原始数据包;在发送节点搜索完重传队列中所有数据包时,如果存在满足编码规则的原始数据包,则发送节点将原始数据包P与满足编码规定的原始数据包进行逐位异或运算生成编码数据包,并在所述编码数据包中加入编码信息生成重传数据包,所述编码信息为组成该重传数据包的原始数据包序号;如果不存在满足编码规则的原始数据包,则发送节点则将原始数据包P作为重传数据包; 所述编码规则是生成的编码数据包中最多只能含有各接收节点丢失的一个原始数据包。
6.如权利要求5所述无线传感器网络中基于机会网络编码的数据重传方法,其特征在于,重传接收步骤中,当接收节点接收到含有自己需要的原始数据包的重传数据包时,判断重传数据包是否是编码数据包,如是,根据重传数据包中的编码信息,接收节点从本地存储的原始数据包中查找相应数据包与编码数据包进行逐位异或运算得到需要的原始数据包,如否,直接存储作为原始数据包。
全文摘要
本发明提供一种无线传感器网络中基于机会网络编码的数据重传方法,把机会网络编码应用在无线传感器网络数据恢复过程。本发明的数据重传优先恢复丢包率较小的接收节点丢失的数据包。发送节点在重传丢包率较小接收节点需要的数据包时,也是在恢复丢包率较大接收节点丢失的数据包。丢包率较小接收节点所对应的链路质量较好,且其丢失的数据包也较少,这些都使得发送节点用来恢复所述节点丢失数据包所需的重传次数较少。同时,在对原始数据包的调度还兼顾了接收点当前的能量。本发明通过合理安排数据包的恢复顺序,能在不降低重传效率的前提下,使丢包率较小接收节点以及能量较少的接收节点更快地进入休眠状态,从而减少不必要的能量开销。
文档编号H04L1/00GK102946298SQ20121047940
公开日2013年2月27日 申请日期2012年11月23日 优先权日2012年11月23日
发明者周志恒, 周亮, 王兴, 谭源泉 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1