CN102740363A - 一种无线传感器网络数据采集方法 - Google Patents
一种无线传感器网络数据采集方法 Download PDFInfo
- Publication number
- CN102740363A CN102740363A CN2012102057912A CN201210205791A CN102740363A CN 102740363 A CN102740363 A CN 102740363A CN 2012102057912 A CN2012102057912 A CN 2012102057912A CN 201210205791 A CN201210205791 A CN 201210205791A CN 102740363 A CN102740363 A CN 102740363A
- Authority
- CN
- China
- Prior art keywords
- node
- packet
- data
- sending
- beacon frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种无线传感器网络数据采集方法,该方法包括如下步骤:首先对加入网络的节点进行初始化;初始化完成后节点建立自己的接收唤醒时间调度表;同时初始化完成后节点建立自己的一跳范围内的邻居列表,节点通过邻居列表查询邻居节点的接收唤醒时间和接收信道;最后初始化完成后使得整个网络中两跳范围内的节点各自具有专属的接收信道,并确定网络的汇聚节点;节点根据数据接收机制接收数据包;节点根据数据发送机制发送数据包;在没有数据包接收和发送时,节点根据自己的接收唤醒时间调度表进行周期性的睡眠、唤醒;网络进行数据采集时,根据网络采用的路由协议,网络中所有的数据包都流向汇聚节点。
Description
技术领域
本发明属于无线传感器网络领域,特别涉及一种无线传感器网络中适用于负载较高的数据采集应用的数据传输方法。
背景技术
MAC(媒体接入控制)协议处于无线传感器网络协议栈的底层,决定了数据传输方式。其主要功能为负责信道接入、控制节点的数据传输对无线共享信道的占用,以及通过一组规则和过程来更有效、有序和公平使用共享信道以保证网络的整体性能。MAC协议是无线传感器网络中最重要的技术之一,对整个网络的性能影响很大。
WSN(无线传感器网络)中一般采用周期性睡眠/唤醒机制的MAC协议来实现低功耗。周期性睡眠/唤醒类的MAC协议可以获得很高的能量利用效率。但是大部分这些周期性工作的MAC协议是牺牲了高吞吐率性能,而在无线传感器网络的数据采集应用中,网络吞吐率是一个重要的性能指标。在周期性睡眠/唤醒协议中,发送节点必须等到接收节点唤醒时才能进行数据发送,同时,由于节点存储资源有限,接收节点往往不能在一个睡眠/唤醒周期内接收多个发送节点的全部数据包,从而不得不等到接收节点的另一个睡眠/唤醒周期。
WSN带宽由于周期性睡眠/唤醒机制和有限的节点存贮资源被限制。现有的很多解决方案通过调整节点的睡眠/唤醒间隔来增加网络吞吐率,但是这样的代价是增加了整个网络的能耗。当前很少有MAC协议考虑到如何通过增加现有带宽利用率来提高整个网络的吞吐率。当前无线传感器网络已经提出许多数据采集的路由协议,比如MintRoute(最小路径路由协议)和CTP(采集树协议)。但是路由协议往往只提供一个父节点作为节点的转发节点,这导致了较低的带宽利用率,原因有二:一是单转发节点导致了较严重的睡眠延时,发送节点必须等到该转发节点的睡眠周期结束才能给该节点发送数据,即便有潜在的其它转发节点可以提早转发数据也不能提早发送;二是单转发节点路由协议往往根据节点存贮的本地链路信息来选择父节点,这导致了整个网络的负载不均匀问题,从而降低整个网络的吞吐率。
发明内容
技术问题:本发明将针对流量较大的无线传感网络应用场景,本发明通过提出了一种单收发器的通信协议栈的设计与实现。提出一种高吞吐率的无线传感器网络数据采集方法,在不调整网络睡眠/唤醒周期间隔的前提下减少了数据传输的睡眠延时,同时使得网络负载更加均衡,提升了整个网络的带宽利用率。
技术方案:为解决上述技术问题,本发明提供了一种无线传感器网络数据采集方法,该方法包括如下步骤:
首先对加入网络的节点进行初始化;
初始化完成后节点建立自己的接收唤醒时间调度表;同时初始化完成后节点建立自己的一跳范围内的邻居列表,节点通过邻居列表查询邻居节点的接收唤醒时间和接收信道;
最后初始化完成后使得整个网络中两跳范围内的节点各自具有专属的接收信道,并确定网络的汇聚节点;
节点根据数据接收机制接收数据包;节点根据数据发送机制发送数据包;在没有数据包接收和发送时,节点根据自己的接收唤醒时间调度表进行周期性的睡眠、唤醒;
网络进行数据采集时,根据网络采用的路由协议,网络中所有的数据包都流向汇聚节点。
优选的,所述数据接收机制,包括以下步骤:
步骤11:节点根据初始化建立的接收唤醒时间调度表到达唤醒时间时,查询当前节点状态,如果当前节点处于睡眠状态,则唤醒节点并进入步骤12;若当前节点处于唤醒状态但无数据包需要发送,则直接进入步骤12;如果当前节点处于唤醒状态且有数据包正在发送,则放弃本次接收唤醒机会,等待下次接收唤醒时间调度;
步骤12:节点切换至初始化时确立的专属信道,根据自己的接收唤醒时间调度将自己当前的伪随机预测唤醒参数更新到信标帧中,同时根据碰撞检测机制更新信标帧中的碰撞退避值大小;信标帧中相关值更新后,接收节点不作任何侦听和检测立刻广播自己的信标帧,进入步骤13;
步骤13:信标帧或者硬件确认帧发送完成后,节点开启碰撞检测机制,根据碰撞检测机制的判定,在信标发送完成后的一段时间内,如果节点接收到数据包,则节点发送硬件确认帧,之后重新进入步骤13;如果节点没有收到数据包并检测到碰撞,则重新进入步骤12;如果节点没有收到数据包并且没有检测到碰撞,则立刻进入睡眠状态等待下次唤醒调度。
优选的,所述数据发送机制,包括以下步骤:
步骤21:当发送节点自身产生数据或者需要转发数据时,根据路由层提供的路由信息,节点查询邻居列表中所有符合条件的节点中最早唤醒的节点作为目的节点并设立发送定时器到目的节点的唤醒时间;当发送定时器到达发送时间时,查询当前节点状态,如果当前节点处于数据接收状态,则放弃本次发送计划,等待数据接收完成后再进入步骤21;否则唤醒节点并切换至目的节点所在信道侦听信标帧;在一段侦听时间内,如果发送节点收到目的节点信标帧,则进入步骤22;否则重新计入步骤21;
步骤22:发送节点在目的节点所在信道收到目的节点信标帧后,根据信标帧中的信息更新邻居列表中该目的节点的预测唤醒参数,然后根据转发节点个数的竞争退避算法计算退避发送前的发送的偏补偿时间,等待完发送补偿时间后,发送节点根据接收到的信标帧中的退避值进行退避发送;退避完成后在发送数据包前发送节点需要检测信道状态,如果信道忙碌则继续作随机退避;否则发送数据包,进入步骤23;
步骤23:发送完数据包后等待接收节点回复硬件确认帧,如果在等待时间内收到硬件确认帧,则完成本次发送,开启连续发送定时器,进入步骤24;如果在等待时间内收到接收节点信标帧,则进入步骤22;如果在等待时间内既没有收到硬件确认帧也没有收到信标帧,则进入步骤21;
步骤24:在连续发送定时器超时前如果发送节点继续有数据包需要发送,则根据最近收到的节点信标帧的信息,进入步骤22;否则节点转入睡眠状态,完成本次发送。
优选的,所述数据接收机制的步骤12中的碰撞检测机制,包括以下步骤:
步骤121:接收节点根据当前n的值计算退避值cw,接收节点计算退避值的方法为:
cw=2n×31
其中,n为碰撞检测的次数,n最大不超过3,即cw退避值最大为256毫秒;进入步骤122;
步骤122:接收节点根据步骤121得到的退避值cw并更新到信标帧中,信标帧广播发送后,接收节点持续作退避值cw时长的信道状态检测;
如果在信道状态检测过程中的收到数据包,则放弃信道状态检测,完成本次接收;如果完成了退避值cw时长的信道状态检测后没有检测到信道忙碌,则节点转入睡眠状态,等待下次接收唤醒调度;如果完成了退避值cw时长的信道状态检测后检测到信道忙碌,则判断当前碰撞检测的次数n值,如果n<3,则将n加1,重新步骤121;如果n不小于3,则放弃本次唤醒接收,节点转入睡眠状态。
优选的,所述数据发送机制步骤22中基于转发节点个数的竞争退避算法描述如下:
根据路由层提供的路由信息,发送节点查询邻居列表中所有符合条件的邻居节点数,并记录节点尝试发送当前数据包的次数;
当尝试发送当前数据包不成功时,当前尝试发送数据包的次数加1,当符合条件的目的节点数大于1且尝试发送当前数据包次数小于等于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为最新收到的信标帧中的退避值;
当符合条件的目的节点数为1或者尝试发送当前数据包次数大于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为0。
优选的,所述的述的初始化时节点建立的接收唤醒时间调度表采用线性同余法得到。
有益效果:本发明方法与传统的MAC协议数据传输方案相比,具有以下明显优点:在不改变节点周期性睡眠/唤醒间隔的前提下,减少了数据传输的节点睡眠延时,同时均衡网络负载,提升了网络带宽利用率,从而增加了网络吞吐量,保证了高吞吐率的数据采集应用要求。具体分析如下:
传统的方案的周期性睡眠/唤醒协议中,发送节点必须等到接收节点唤醒时才能进行数据发送,接收节点往往不能在一个睡眠/唤醒周期内接收多个发送节点的全部数据包,从而不得不等到接收节点的另一个睡眠/唤醒周期。为实现快速采集的应用要求,传统方案往往通过调整节点的睡眠/唤醒间隔来增加网络吞吐率,但是这样的代价是增加了整个网络的能耗;本发明通过选择多个数据转发节点的机制,大大减少了数据传输过程中的节点睡眠延时,提升了网络吞吐率。
无线传感器网络中,由于节点存储资源有限,现有的很多无线传感器网络数据采集的路由协议,比如最小路径(MintRoute)和CTP,往往只提供一个父节点作为节点的转发节点,这样一方面导致过大的数据传输睡眠延时,另一方面由于单转发节点路由协议往往根据节点存贮的本地链路信息来选择父节点,会导致整个网络的负载不均匀问题,考虑到WSN节点存储资源有限的特点,负载不均匀会迅速降低整个网络的吞吐率;本发明通过多数据转发节点机制减少节点睡眠延时的同时,由于节点可以动态的选择多个转发节点,从而也使得网络负载更加均匀,结合基于转发节点个数的竞争退避算法,在无线传感器网络节点硬件资源有限的前提条件下,使得网络负载更加均衡,进一步减少了数据传输的单跳延时,提升了网络带宽效率。
附图说明
图1为本发明方法整体流程图;
图2为发送机制工作流程图;
图3为接收机制工作流程图;
图4a为多转发节点机制效果图;
图4b为多转发节点机制分析示意图;
图5为基于转发节点个数的竞争退避算法示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
一种高吞吐率无线传感器网络数据采集方法。无线传感器网络通过采用周期性的睡眠/唤醒机制来实现低功耗数据通信,然而这种机制降低了网络带宽,不能满足网络负载较高的无线传感器网络数据采集应用要求。本发明通过采用多转发节点机制和基于转发节点个数的竞争退避算法,实现了在不增加节点睡眠/唤醒周期间隔的前提下提升网络带宽效率,增加网络容量,满足了无线传感器网络中低功耗的数据采集应用的要求。使用多转发节点机制,增加了发送节点的数据发送机会,在不减少节点睡眠/唤醒间隔的前提下,减少了数据传输延时,提升了网络带宽效率;在使用多转发节点机制的基础上,采用基于转发节点个数的竞争退避算法,在无线传感器网络节点硬件资源有限的前提条件下,使得网络负载更加均衡,进一步减少了数据传输的单跳延时,提升了网络带宽效率。本发明充分利用了无线传感器网络的特征,降低数据传输能耗,提升网络带宽,减少传输延时,实现了无线传感器网络低功耗要求下的数据快速采集的应用要求。本发明提出的高吞吐率无线传感器网络数据采集方法,不仅适用于突发流量负载场景,同时也适用于低负载流量场景。
本发明提出的高吞吐率无线传感器网络数据采集方法首先对加入网络的节点进行初始化,初始化完成后节点建立自己的接收唤醒时间调度表;同时初始化完成后节点建立自己的一跳范围内的邻居列表,节点可以通过邻居列表查询邻居节点的接收唤醒时间和接收信道;最后初始化完成后使得整个网络中两跳范围内的节点各自具有专属的接收信道。节点根据数据接收机制接收数据包;节点根据数据发送机制发送数据包。在没有数据包接收和发送时,节点根据自己的接收唤醒时间调度表进行周期性的睡眠、唤醒。
所述数据接收机制,包括以下步骤:
步骤11:节点根据初始化建立的接收唤醒时间调度表到达唤醒时间时,查询当前节点状态,如果当前节点处于睡眠状态,则唤醒节点并进入步骤12;若当前节点处于唤醒状态但无数据包需要发送,则直接进入步骤12;如果当前节点处于唤醒状态且有数据包正在发送,则放弃本次接收唤醒机会,等待下次接收唤醒时间调度;
步骤12:节点切换至初始化时确立的专属信道,根据自己的接收唤醒时间调度将自己当前的伪随机预测唤醒参数更新到信标帧中,同时根据碰撞检测机制更新信标帧中的碰撞退避值大小;信标帧中相关值更新后,接收节点不作任何侦听和检测立刻广播自己的信标帧,进入步骤13;
步骤13:信标帧或者硬件确认帧发送完成后,节点开启碰撞检测机制,根据碰撞检测机制的判定,在信标发送完成后的一段时间内,如果节点接收到数据包,则节点发送硬件确认帧,之后重新进入步骤13;如果节点没有收到数据包并检测到碰撞,则重新进入步骤12;如果节点没有收到数据包并且没有检测到碰撞,则立刻进入睡眠状态等待下次唤醒调度。
所述数据发送机制,包括以下步骤:
步骤21:当发送节点自身产生数据或者需要转发数据时,根据路由层提供的路由信息,节点查询邻居列表中所有符合条件的节点中最早唤醒的节点作为目的节点并设立发送定时器到目的节点的唤醒时间;当发送定时器到达发送时间时,查询当前节点状态,如果当前节点处于数据接收状态,则放弃本次发送计划,等待数据接收完成后再进入步骤21;否则唤醒节点并切换至目的节点所在信道侦听信标帧;在一段侦听时间内,如果发送节点收到目的节点信标帧,则进入步骤22;否则重新计入步骤21;
步骤22:发送节点在目的节点所在信道收到目的节点信标帧后,根据信标帧中的信息更新邻居列表中该目的节点的预测唤醒参数,然后根据转发节点个数的竞争退避算法计算退避发送前的发送的偏补偿时间,等待完发送补偿时间后,发送节点根据接收到的信标帧中的退避值进行退避发送;退避完成后在发送数据包前发送节点需要检测信道状态,如果信道忙碌则继续作随机退避;否则发送数据包,进入步骤23;
步骤23:发送完数据包后等待接收节点回复硬件确认帧,如果在等待时间内收到硬件确认帧,则完成本次发送,开启连续发送定时器,进入步骤24;如果在等待时间内收到接收节点信标帧,则进入步骤22;如果在等待时间内既没有收到硬件确认帧也没有收到信标帧,则进入步骤21;
步骤24:在连续发送定时器超时前如果发送节点继续有数据包需要发送,则根据最近收到的节点信标帧的信息,进入步骤22;否则节点转入睡眠状态,完成本次发送。
所述数据接收机制的步骤12中的碰撞检测机制,包括以下步骤:
步骤121:接收节点根据当前n的值计算退避值cw,接收节点计算退避值的方法为:
cw=2n×31
其中,n为碰撞检测的次数,n最大不超过3,即cw退避值最大为256毫秒;进入步骤122;
步骤122:接收节点根据步骤121得到的退避值cw并更新到信标帧中,信标帧广播发送后,接收节点持续作退避值cw时长的信道状态检测;
如果在信道状态检测过程中的收到数据包,则放弃信道状态检测,完成本次接收;如果完成了退避值cw时长的信道状态检测后没有检测到信道忙碌,则节点转入睡眠状态,等待下次接收唤醒调度;如果完成了退避值cw时长的信道状态检测后检测到信道忙碌,则判断当前碰撞检测的次数n值,如果n<3,则将n加1,重新步骤121;如果n不小于3,则放弃本次唤醒接收,节点转入睡眠状态。
所述数据发送机制步骤22中基于转发节点个数的竞争退避算法描述如下:
根据路由层提供的路由信息,发送节点查询邻居列表中所有符合条件的邻居节点数,并记录节点尝试发送当前数据包的次数;
当尝试发送当前数据包不成功时,当前尝试发送数据包的次数加1,当符合条件的目的节点数大于1且尝试发送当前数据包次数小于等于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为最新收到的信标帧中的退避值;
当符合条件的目的节点数为1或者尝试发送当前数据包次数大于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为0。
所述的述的初始化时节点建立的接收唤醒时间调度表采用线性同余法得到。
如图4所示,节点复位启动后,首先进行侦听网络进行初始化,每个侦听循环中节点在每个信道侦听最大的睡眠间隔(在我们的实验中设定最大睡眠间隔为1.5s),依次侦听所有的16个信道。初始化可以设定多次侦听循环(在我们的实验中设定3次侦听循环),以保证节点能够无误的侦听到所有潜在的邻居节点。侦听完成后节点首先建立自己的接收唤醒时间调度表,并建立自己的一跳范围内的邻居列表,同时确定自己的专属接收信道。节点初始化结束后分别按照发送机制和接收机制进行数据包的收发。
节点发送流程如图5所示,具体包括以下步骤:
1)图4所示为多转发节点机制示意图,当发送节点自身产生数据或者需要转发数据时,根据路由层提供的路由信息,节点查询邻居列表中所有符合条件的节点中最早唤醒的节点作为目的节点,并设立发送定时器到目的节点的唤醒时间。当发送定时器到达发送时间时,查询当前节点状态,如果当前节点处于数据接收状态,则放弃本次发送计划,等待数据接收完成后再进入步骤1);否则唤醒节点并切换至该目的节点所在信道侦听信标帧。在一段侦听时间超时时间间隔内(侦听的超时时间间隔根据节点间同步精度来来确定,本实验节点间的同步精度达到1ms,所以发送节点唤醒后设定的侦听超时时间为6ms,差不多为接收器接收数据后处理器中断响应的时间),如果发送节点收到目的节点信标帧,则进入步骤2);否则重新计入步骤1)。
2)图5基于转发节点个数的竞争退避算法示意图,发送节点在目的节点所在信道收到目的节点信标帧后,根据信标帧中的信息更新邻居列表中该目的节点的预测唤醒参数,然后根据转发节点个数的竞争退避算法计算当前数据包的发送补偿时间,补偿时间的算法描述(伪码)如下:
其中ForwarderNumber是根据路由层提供的路由信息发送节点查询邻居列表中所有符合条件的邻居节点数,TryNumber为节点尝试发送当前数据包的次数,根据伪码描述,当尝试发送当前数据包不成功时,TryNumber加1(每个数据包的TryNumber初始值设为0),当符合条件的目的节点数ForwarderNumber>1且尝试发送当前数据包次数TryNumber≤ForwarderNumber时,发送节点在退避发送前等待的补偿时间Offset=CW,如图5所示。
节点等待完发送补偿时间后,根据接收到的信标帧中的cw值进行退避发送。退避完成后在发送数据包前发送节点需要检测信道状态(即作CCA信道能量检测),如果检测到信道忙碌则重新根据cw值作随机退避,直到信道检测到空闲后发送数据包;否则立刻发送数据包。数据包发送完成后进入步骤3)。
3)发送完数据包后发送节点设定硬件确认帧HACK等待时间t(根据我们的碰撞检测机制,我们在实验中设定t为50ms),如果在等待时间t内收到接收节点回复的HACK,则完成本次发送,开启连续发送定时器(我们实验中设置连续发送定时器值为4ms)进入步骤4);如果在等待时间t内没有收到硬件确认帧HACK而是收到信标帧,则说明接收节点检测到碰撞,进入步骤2);如果在等待时间内既没有收到HACK也没有收到信标帧,则认为当前发送尝试失败,进入步骤1)。
4)在连续发送定时器超时前如果发送节点继续有数据包需要发送,则不需要再继续重复等待接收节点的信标帧信息,直接利用最新收到的信标帧中的信息,进入步骤2);否则节点转入睡眠状态,完成本次发送。
节点接收流程如图5所示,具体包括以下步骤:
1)节点根据初始化建立的接收唤醒时间调度表到达唤醒时间时,查询当前节点状态,如果当前节点处于睡眠状态,则唤醒节点并进入步骤2);若当前节点处于唤醒状态但无数据包需要发送,则直接进入步骤2);如果当前节点处于唤醒状态且有数据包正在发送,则放弃本次接收唤醒机会,等待下次接收唤醒时间调度。
2)节点切换至初始化时确立的专属信道,根据自己的接收唤醒时间调度将自己当前的伪随机预测唤醒参数更新到信标帧中,同时根据碰撞检测机制计算并更新信标帧中的碰撞退避值大小,接收节点根据当前n的值计算退避值cw,接收节点计算退避值的公式为:
cw=2n×32,
其中,n为碰撞检测的次数,n最大不超过3,即cw退避值最大为256(毫秒)。接收节点将计算出的退避值cw并更新到信标帧中,信标帧广播发送后,接收节点持续作cw时长的信道状态检测。如果在信道状态检测过程中的收到数据包,则放弃信道状态检测,完成本次接收;如果完成了cw时长的信道状态检测后没有检测到信道忙碌,则节点转入睡眠状态,等待下次接收唤醒调度;如果完成了cw时长的信道状态检测后检测到信道忙碌,则判断当前n值,如果n<3,则将n加1,重新步骤1);如果n不小于3,则放弃本次唤醒接收,节点转入睡眠状态。
信标帧中相关值更新后,接收节点不作任何侦听和检测立刻广播自己的信标帧,进入步骤3)。
3)信标帧或者硬件确认帧HACK发送完成后,接收节点在当前计算的最新的cw时间内持续的作信道能量检测以判断是否有碰撞产生,在检测时间内,如果节点接收到数据包,则节点发送硬件确认帧HACK,之后重新进入步骤3);如果节点没有收到数据包且检测到碰撞,则重新进入步骤2);如果节点没有收到数据包并且没有检测到碰撞,则立刻进入睡眠状态等待下次唤醒调度。
下面进行实验测试,对比本发明方案与传统技术方案的性能:
实验平台:Tinyos/Telosb硬件测试平台;
实验场景:如图1所示,基准路由为4跳单链拓扑,路径数从1增加到4。源节点以最大速率发包,经过转发节点到汇聚节点。
图1为实验场景,图2为吞吐率测试结果,图3为延时测试结果。从图2和图3中可以明显看出,在不改变网络睡眠/唤醒间隔的前提下,无论是吞吐率还是传输延时,本发明方案都较传统方案有显著提高。从吞吐率的角度来看,随着转发路径增长,本发明方案吞吐率呈线性增长,而传统方案吞吐率没有变化;从延时方面来看,本发明方案随着转发路径增长而下降明显,而传统方案延时没有变化。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (6)
1. 一种无线传感器网络数据采集方法,其特征在于,该方法包括如下步骤:
首先对加入网络的节点进行初始化;
初始化完成后节点建立自己的接收唤醒时间调度表;同时初始化完成后节点建立自己的一跳范围内的邻居列表,节点通过邻居列表查询邻居节点的接收唤醒时间和接收信道;
最后初始化完成后使得整个网络中两跳范围内的节点各自具有专属的接收信道,并确定网络的汇聚节点;
节点根据数据接收机制接收数据包;节点根据数据发送机制发送数据包;在没有数据包接收和发送时,节点根据自己的接收唤醒时间调度表进行周期性的睡眠、唤醒;
网络进行数据采集时,根据网络采用的路由协议,网络中所有的数据包都流向汇聚节点。
2. 根据权利要求1所述的无线传感器网络数据采集方法,其特征在于,所述数据接收机制,包括以下步骤:
步骤11:节点根据初始化建立的接收唤醒时间调度表到达唤醒时间时,查询当前节点状态,如果当前节点处于睡眠状态,则唤醒节点并进入步骤12;若当前节点处于唤醒状态但无数据包需要发送,则直接进入步骤12;如果当前节点处于唤醒状态且有数据包正在发送,则放弃本次接收唤醒机会,等待下次接收唤醒时间调度;
步骤12:节点切换至初始化时确立的专属信道,根据自己的接收唤醒时间调度将自己当前的伪随机预测唤醒参数更新到信标帧中,同时根据碰撞检测机制更新信标帧中的碰撞退避值大小;信标帧中相关值更新后,接收节点不作任何侦听和检测立刻广播自己的信标帧,进入步骤13;
步骤13:信标帧或者硬件确认帧发送完成后,节点开启碰撞检测机制,根据碰撞检测机制的判定,在信标发送完成后的一段时间内,如果节点接收到数据包,则节点发送硬件确认帧,之后重新进入步骤13;如果节点没有收到数据包并检测到碰撞,则重新进入步骤12;如果节点没有收到数据包并且没有检测到碰撞,则立刻进入睡眠状态等待下次唤醒调度。
3. 根据权利要求1所述的无线传感器网络数据采集方法,其特征在于,所述数据发送机制,包括以下步骤:
步骤21:当发送节点自身产生数据或者需要转发数据时,根据路由层提供的路由信息,节点查询邻居列表中所有符合条件的节点中最早唤醒的节点作为目的节点并设立发送定时器到目的节点的唤醒时间;当发送定时器到达发送时间时,查询当前节点状态,如果当前节点处于数据接收状态,则放弃本次发送计划,等待数据接收完成后再进入步骤21;否则唤醒节点并切换至目的节点所在信道侦听信标帧;在一段侦听时间内,如果发送节点收到目的节点信标帧,则进入步骤22;否则重新计入步骤21;
步骤22:发送节点在目的节点所在信道收到目的节点信标帧后,根据信标帧中的信息更新邻居列表中该目的节点的预测唤醒参数,然后根据转发节点个数的竞争退避算法计算退避发送前的发送的偏补偿时间,等待完发送补偿时间后,发送节点根据接收到的信标帧中的退避值进行退避发送;退避完成后在发送数据包前发送节点需要检测信道状态,如果信道忙碌则继续作随机退避;否则发送数据包,进入步骤23;
步骤23:发送完数据包后等待接收节点回复硬件确认帧,如果在等待时间内收到硬件确认帧,则完成本次发送,开启连续发送定时器,进入步骤24;如果在等待时间内收到接收节点信标帧,则进入步骤22;如果在等待时间内既没有收到硬件确认帧也没有收到信标帧,则进入步骤21;
步骤24:在连续发送定时器超时前如果发送节点继续有数据包需要发送,则根据最近收到的节点信标帧的信息,进入步骤22;否则节点转入睡眠状态,完成本次发送。
4. 根据权利要求2所述的无线传感器网络数据采集方法,其特征在于,所述数据接收机制的步骤12中的碰撞检测机制,包括以下步骤:
步骤121:接收节点根据当前n的值计算退避值cw,接收节点计算退避值的方法为:
其中,n为碰撞检测的次数,n最大不超过3,即cw退避值最大为256毫秒;进入步骤122;
步骤122:接收节点根据步骤121得到的退避值cw并更新到信标帧中,信标帧广播发送后,接收节点持续作退避值cw时长的信道状态检测;
如果在信道状态检测过程中的收到数据包,则放弃信道状态检测,完成本次接收;如果完成了退避值cw时长的信道状态检测后没有检测到信道忙碌,则节点转入睡眠状态,等待下次接收唤醒调度;如果完成了退避值cw时长的信道状态检测后检测到信道忙碌,则判断当前碰撞检测的次数n值,如果n<3,则将n加1,重新步骤121;如果n不小于3,则放弃本次唤醒接收,节点转入睡眠状态。
5. 根据权利要求3所述的无线传感器网络数据采集方法,其特征在于,所述数据发送机制步骤22中基于转发节点个数的竞争退避算法描述如下:
根据路由层提供的路由信息,发送节点查询邻居列表中所有符合条件的邻居节点数,并记录节点尝试发送当前数据包的次数;
当尝试发送当前数据包不成功时,当前尝试发送数据包的次数加1,当符合条件的目的节点数大于1 且尝试发送当前数据包次数小于等于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为最新收到的信标帧中的退避值;
当符合条件的目的节点数为1 或者尝试发送当前数据包次数大于当前尝试发送数据包的次数时,发送节点在退避发送前等待的补偿时间为0。
6. 根据权利要求1所述的无线传感器网络数据采集方法,其特征在于,所述的述的初始化时节点建立的接收唤醒时间调度表采用线性同余法得到。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210205791.2A CN102740363B (zh) | 2012-06-20 | 2012-06-20 | 一种无线传感器网络数据采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210205791.2A CN102740363B (zh) | 2012-06-20 | 2012-06-20 | 一种无线传感器网络数据采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102740363A true CN102740363A (zh) | 2012-10-17 |
CN102740363B CN102740363B (zh) | 2015-01-28 |
Family
ID=46994947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210205791.2A Expired - Fee Related CN102740363B (zh) | 2012-06-20 | 2012-06-20 | 一种无线传感器网络数据采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102740363B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104066144A (zh) * | 2014-07-02 | 2014-09-24 | 东南大学 | 一种基于路径数的优先级转发方法 |
CN104429122A (zh) * | 2013-06-28 | 2015-03-18 | 株式会社东芝 | 无线通信装置、无线通信系统、计算机可读取的记录介质以及无线通信方法 |
CN104703296A (zh) * | 2015-03-19 | 2015-06-10 | 江苏物联网研究发展中心 | 无线通信多跳网络链状及树状拓扑结构的链路休眠方法 |
CN106982460A (zh) * | 2017-03-30 | 2017-07-25 | 西安电子科技大学 | 占空比无线传感器网络中基于优先级的大块数据分发方法 |
CN108880767A (zh) * | 2017-05-11 | 2018-11-23 | 中兴通讯股份有限公司 | 信号发送方法及通信设备 |
CN109743140A (zh) * | 2019-02-01 | 2019-05-10 | 安徽博大光通物联科技有限公司 | 基于低功耗广域网的通讯控制方法和装置 |
CN111133725A (zh) * | 2017-09-18 | 2020-05-08 | 西门子股份公司 | 数据流量的调度 |
CN111641945A (zh) * | 2020-04-24 | 2020-09-08 | 苏州华普物联科技有限公司 | 一种低功耗自组织无线传感网络通信方法 |
CN111698655A (zh) * | 2020-05-08 | 2020-09-22 | 东南大学 | 一种基于占空比调度的无干扰流水线式数据收集方法 |
CN112073931A (zh) * | 2020-08-20 | 2020-12-11 | 东南大学 | 一种基于冗余节点的线性传感网多跳数据收集方法 |
CN112954636A (zh) * | 2020-12-01 | 2021-06-11 | 东南大学 | 一种基于占空比调度的线性传感网多信道流水线式数据收集方法 |
CN113759166A (zh) * | 2021-09-09 | 2021-12-07 | 林永成 | 电力系统中功率因数的检测方法 |
CN115086372A (zh) * | 2022-06-09 | 2022-09-20 | 苏州大学 | 工业互联网数据采集方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404602A (zh) * | 2008-11-04 | 2009-04-08 | 南京航空航天大学 | 一种适用于多跳ad hoc网络的DCF协议节点自适应休眠机制 |
CN101815323A (zh) * | 2010-02-04 | 2010-08-25 | 东南大学 | 无线传感器网络簇内自适应通信方法 |
-
2012
- 2012-06-20 CN CN201210205791.2A patent/CN102740363B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404602A (zh) * | 2008-11-04 | 2009-04-08 | 南京航空航天大学 | 一种适用于多跳ad hoc网络的DCF协议节点自适应休眠机制 |
CN101815323A (zh) * | 2010-02-04 | 2010-08-25 | 东南大学 | 无线传感器网络簇内自适应通信方法 |
Non-Patent Citations (2)
Title |
---|
HAO LIU, ET AL.: "An Adaptive Energy-Efficient and Low-Latency MAC Protocol forWireless Sensor Networks", 《THE JOURNAL OF COMMUNICATION AND NETWORKS》, 31 December 2010 (2010-12-31) * |
LIU HAO,ET AL.: "An Energy-Balanced Data Transmission Scheme for Clustered Wireless Sensor Networks", 《THE 5TH INTERNATIONAL CONFERENCE ON WIRELESS COMMUNICATIONS,NETWORKING AND MOBILE COMPUTING》, 31 December 2009 (2009-12-31) * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104429122A (zh) * | 2013-06-28 | 2015-03-18 | 株式会社东芝 | 无线通信装置、无线通信系统、计算机可读取的记录介质以及无线通信方法 |
CN104429122B (zh) * | 2013-06-28 | 2018-05-15 | 株式会社东芝 | 无线通信装置、无线通信系统、计算机可读取的记录介质以及无线通信方法 |
CN104066144A (zh) * | 2014-07-02 | 2014-09-24 | 东南大学 | 一种基于路径数的优先级转发方法 |
CN104066144B (zh) * | 2014-07-02 | 2017-07-28 | 东南大学 | 一种基于路径数的优先级转发方法 |
CN104703296A (zh) * | 2015-03-19 | 2015-06-10 | 江苏物联网研究发展中心 | 无线通信多跳网络链状及树状拓扑结构的链路休眠方法 |
CN106982460A (zh) * | 2017-03-30 | 2017-07-25 | 西安电子科技大学 | 占空比无线传感器网络中基于优先级的大块数据分发方法 |
CN108880767A (zh) * | 2017-05-11 | 2018-11-23 | 中兴通讯股份有限公司 | 信号发送方法及通信设备 |
CN108880767B (zh) * | 2017-05-11 | 2023-02-24 | 中兴通讯股份有限公司 | 信号发送方法及通信设备 |
CN111133725A (zh) * | 2017-09-18 | 2020-05-08 | 西门子股份公司 | 数据流量的调度 |
CN111133725B (zh) * | 2017-09-18 | 2023-04-07 | 西门子股份公司 | 在网络节点中调度流量的方法、网络节点及网络 |
CN109743140A (zh) * | 2019-02-01 | 2019-05-10 | 安徽博大光通物联科技有限公司 | 基于低功耗广域网的通讯控制方法和装置 |
CN109743140B (zh) * | 2019-02-01 | 2021-09-14 | 安徽博大光通物联科技有限公司 | 基于低功耗广域网的通讯控制方法和装置 |
CN111641945A (zh) * | 2020-04-24 | 2020-09-08 | 苏州华普物联科技有限公司 | 一种低功耗自组织无线传感网络通信方法 |
CN111698655A (zh) * | 2020-05-08 | 2020-09-22 | 东南大学 | 一种基于占空比调度的无干扰流水线式数据收集方法 |
CN112073931A (zh) * | 2020-08-20 | 2020-12-11 | 东南大学 | 一种基于冗余节点的线性传感网多跳数据收集方法 |
CN112954636A (zh) * | 2020-12-01 | 2021-06-11 | 东南大学 | 一种基于占空比调度的线性传感网多信道流水线式数据收集方法 |
CN113759166A (zh) * | 2021-09-09 | 2021-12-07 | 林永成 | 电力系统中功率因数的检测方法 |
CN113759166B (zh) * | 2021-09-09 | 2024-01-05 | 林永成 | 电力系统中功率因数的检测方法 |
CN115086372A (zh) * | 2022-06-09 | 2022-09-20 | 苏州大学 | 工业互联网数据采集方法 |
CN115086372B (zh) * | 2022-06-09 | 2024-02-09 | 苏州大学 | 工业互联网数据采集方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102740363B (zh) | 2015-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102740363B (zh) | 一种无线传感器网络数据采集方法 | |
Sun et al. | DW-MAC: a low latency, energy efficient demand-wakeup MAC protocol for wireless sensor networks | |
CN104335663B (zh) | 在wlan系统中接入信道的方法和设备 | |
CN101404602B (zh) | 一种适用于多跳ad hoc网络的DCF协议节点自适应休眠方法 | |
CN103906207A (zh) | 基于自适应按需唤醒技术的无线传感器网络数据传输方法 | |
Sahota et al. | An energy-efficient wireless sensor network for precision agriculture | |
CN102740365B (zh) | 一种适用于无线传感器网络的单流批量数据采集方法 | |
TR201807100T4 (tr) | Mobil kablosuz sensör ağları için enerji verimli komşu saptama. | |
Bengheni et al. | EEM-EHWSN: Enhanced energy management scheme in energy harvesting wireless sensor networks | |
Wang et al. | An energy efficient medium access control protocol for target tracking based on dynamic convey tree collaboration in wireless sensor networks | |
Villaverde et al. | Experimental evaluation of beacon scheduling mechanisms for multihop IEEE 802.15. 4 wireless sensor networks | |
Tuset-Peiro et al. | LPDQ: A self-scheduled TDMA MAC protocol for one-hop dynamic low-power wireless networks | |
CN103929284A (zh) | 一种无线传感器网络的高可靠传输方法 | |
US20190349926A1 (en) | Determining access slot for communications on radio interface | |
Tang et al. | Energy Efficient Downlink Transmission in Wireless LANs by Using Low‐Power Wake‐Up Radio | |
CN105208671A (zh) | 用于无线传感器网络的高信道利用率h-mac协议的实现方法 | |
Li et al. | A novel delayed wakeup scheme for efficient power management in infrastructure-based IEEE 802.11 WLANs | |
Vazquez-Gallego et al. | Performance evaluation of reservation frame slotted-ALOHA for data collection M2M networks | |
Jiang et al. | Opportunistic direct interconnection between co-located wireless sensor networks | |
Krishnamurthy et al. | Reservation-based protocol for monitoring applications using IEEE 802.15. 4 sensor networks | |
Chang et al. | An energy conservation MAC protocol in wireless sensor networks | |
Nguyen et al. | Extensions of the ieee802. 15.4 protocol for ultra-low energy real-time communication | |
CN103139834B (zh) | 一种无线传感器网络多速率自适应退避方法 | |
Rashwand et al. | A novel asynchronous, energy efficient, low transmission delay MAC protocol for wireless sensor networks | |
CN102612160B (zh) | 一种无线传感器网络的突发流量负载传输方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150128 Termination date: 20170620 |