[发明专利]无线传感器网络中的数据分发方法有效
申请号: | 201210164141.8 | 申请日: | 2012-05-24 |
公开(公告)号: | CN102883466A | 公开(公告)日: | 2013-01-16 |
发明(设计)人: | 陈亮;于峰崎 | 申请(专利权)人: | 中国科学院深圳先进技术研究院 |
主分类号: | H04W84/18 | 分类号: | H04W84/18 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 吴平 |
地址: | 518055 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 无线 传感器 网络 中的 数据 分发 方法 | ||
技术领域
本发明涉及无线传感器网络技术,特别是涉及一种无线传感器网络中的数据分发方法。
背景技术
无线传感器网络是由部署在监测区域内的大量微型传感器节点组成的无线网络系统,节点间通过自组织技术形成多条的无线网络。传感器网络应用的一个重要需求是如何在网络部署后调整或改变网络节点上的运行程序,称为无线更新或空中编程。要实现无线更新,则需要将新程序所包含的大量数据分发到所有网络节点上。
程序代码分发(code dissemination)就是要将更新代码通过多条的无线路由从基站节点(BS)发送到网络目标更新区域的所有节点上的过程。代码分发过程与一般的数据分发问题不同之处在于,它会涉及到大量的数据在短时间内进行分发,同时必须保证分发的程序镜像在接收端是完整的。
传感器网络的研究者们针对程序代码分发问题提出了一些相关协议,例如CSMA方式的分发协议。然而该协议不能避免隐终端问题造成的大量传输冲突,在管道式传输的情景下,节点会重复接收已收到过的数据而增加无谓的能量消耗。也有提出使用TDMA方式的分发协议减少冲突,然而,使用TDMA方式的分发协议建立了固定的网络时隙分配方案,当网络节点转换其作为更新数据发送者和接收者的角色后,固定时隙方案会导致部分节点等待很多时隙而不能立刻能发送数据,从而增加了整个分发过程的时间。而有些TDMA方案的时隙调整方式较为复杂,其代价并不适用于管道式传输情况下节点角色的频繁变化。
发明内容
基于此,有必要提供一种能减少数据分发过程中的能量消耗,并能减少数据分发时间的无线传感器网络中的数据分发方法。
一种无线传感器网络中的数据分发方法,包括以下步骤:
A.当发送者节点有新的数据块需要分发时,向一跳邻居节点广播ADV消息;
B.收到ADV消息的接收者节点检测是否需要接收所述数据块,若是,则向发送者节点发送REQ消息;
C.发送者节点接收到REQ消息,如果拥有REQ消息请求的数据块,则开始向发送REQ消息的接收者节点发送所述数据块中的数据包,所述数据块包含预设数量个固定长度的数据包,所述数据块中的每个数据包对应了不同的序号;
D.接收者节点接收所述数据包,且每收到一个数据包则将该数据包的序号所对应的位向量中相应比特清零;
E.发送者节点发送完所述数据块中的最后一个数据包后,等待接收者节点返回的REQ消息,当接收者节点接收完所述数据块中的最后一个数据包后向发送者节点发送REQ消息,该REQ消息中包含接收者节点接收到的数据包的序号所对应的位向量;
F.发送者节点接收到REQ消息,根据REQ消息中的数据包的序号所对应的位向量判断是否需再次发送数据包,若是,则根据所述位向量获取需再次发送的数据包并发送至接收者节点,返回步骤E,否则结束。
在其中一个实施例中,所述ADV消息中包含分发协议的版本号、分发数据的时间戳和程序版本号或发送者节点当前分发数据块的序号;所述步骤B中收到ADV消息的接收者节点检测ADV消息中的分发协议的版本号是否与所使用的分发协议版本号相同,若是,则进一步判断ADV消息中的程序版本号比已拥有的程序版本号新或ADV消息中的发送者节点声明的数据块序号是否比自身最后接收的数据块序号大,若是,则向发送者节点发送REQ消息请求数据块。
在其中一个实施例中,所述步骤B中接收者节点向发送者节点发送的REQ消息中包含请求的数据块中的数据包的序号和对应的位向量;所述步骤C中发送者节点接收到REQ消息后,将REQ消息中的序号和对应的位向量拷贝到本地的发送向量中,根据所述发送向量确定要发送的数据包的序号,并将确定的序号对应的数据包发送至接收者节点,发送完成后将发送向量中所述发送的数据包的序号对应的比特置位。
在其中一个实施例中,所述无线传感器网络中的节点,包括发送者节点和接收者节点,都维护了一个时隙表,所述时隙表的每一项中包含两个域:发送者和接收者;所述发送者为在该时隙进行发送的某一跳邻居节点,所述接收者为在该时隙内进行接收的某一跳邻居节点;如果在该时隙内没有一跳邻居节点进行发送或接收,则相应域为空;如果节点要在某个时隙内从一跳邻居节点接收,则将该时隙的接收者设为自身。
在其中一个实施例中,所述方法还包括:
当在属于节点的发送时隙内监听到邻居节点发送数据,或在节点的接收时隙内收到非预期节点发送的数据时,节点本地更新时隙表并与邻居节点进行交换。
在其中一个实施例中,所述节点本地更新时隙表并与邻居节点进行交换的步骤包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院深圳先进技术研究院,未经中国科学院深圳先进技术研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210164141.8/2.html,转载请声明来源钻瓜专利网。