多汇聚节点无线传感器网络组网方法及其系统的制作方法

文档序号:7949921阅读:357来源:国知局
专利名称:多汇聚节点无线传感器网络组网方法及其系统的制作方法
技术领域
本发明涉及无线传感器网络技术领域,尤其涉及一种针对多汇聚节点无线传感器网络组网方法及其系统。
背景技术
无线传感器网络是一种集成无线通信、传感器技术、嵌入式技术和分布式计算等技术,通过传感器节点之间的协同工作,对各种环境进行实时监测和感知的系统,它实现了物理世界、计算世界以及人类社会三元世界的连通,因而也被称为“物联网”。传感器网络具有重要的应用价值,例如智能交通、环境监测、精准农业、国防军事、智能家居、安防监控、抢险救灾等许多重要领域都有广阔的应用前景。目前,在许多行业已经开始该项技术的推广和应用,并取得一定的成效。随着应用的展开和技术的推广,传感器网络系统的规模已经从最初的数十个发展数百、数千、数万。可以预见,未来将会出来规模越来越大的传感器网络系统。然而,目前传感器网络的组网方法都是针对小规模应用,不能适应大规模应用的需求。现有的组网方法可以分两类一类基于单汇聚节点网络的组网方法;另一类是基于多汇聚节点网络的组网方法,但是对应用范围有非常大的局限性或对网络拓扑有一定的限制。目前,绝大部分为第一类,只有少数几种方法属于第二类。基于单汇聚节点网络的组网方法,在整个网络中均使用一个汇聚节点而避免采用多个汇聚节点后引入路由建立、时间同步等技术难题。这类组网方法的网络拓扑或为簇状、或为树状、或为网状,在网络规模较小时,能够较好的工作。但是,当网络规模较大后,传感节点到汇聚节点的跳数将急剧增大, 路径变得很长,加上无线链路本身的不稳定性和汇聚节点的热点问题,使得采集的传感数据要传送到汇聚节点将经历很大的时延,成功传送的概率也将降低、单个传感数据传送所带来的能量消耗也将变得非常大,因而,网络寿命、数据采集的成功率和时延等都将受到严重影响。目前,基于多汇聚节点的组网方法较少,也可将其分为两小类一小类是只能应用于河流等带状监测对象的组网方法,这种方法应用范围具有较大的局限性。另一小类采用以汇聚节点为簇头的单跳成簇组网方式,因此限定了传感节点必须在汇聚节点的一跳范围内,因而网络的规模也不可能太大。综上所述,大规模传感器网络应用的迫切需要一种可扩展、能量消耗小、数据传输服务质量高的组网方法。本发明公开的基于多汇聚节点的多树组网方法克服了单汇聚节点组网和目前带限制的多汇聚节点组网方法的缺点,其应用于大规模传感器网络时,既具有越好的可扩展性和能量效率,同时又可提供较好的传输服务质量。

发明内容
本发明的目的在于,克服现有技术的缺陷,设计可扩展、能量消耗小、数据传输服务质量高的组网方法,为大规模传感器网络的应用提供关键的基础设施。
一种多汇聚节点无线传感器网络组网方法,其特征在于,包括如下步骤步骤101,由控制服务器根据需求向网络中发送采集传感数据的控制命令;步骤102,普通节点配备短距离无线通信模块,由普通节点负责采集传感数据,发送给汇聚节点;步骤103,由汇聚节点收集采集到的传感数据,并向普通节点发送采集传感数据的命令,同时负责将采集到的传感数据发送给无线基站,汇聚节点配备短距离无线通信模块和长距离无线通信模块;步骤104,由时间服务器负责每个汇聚节点的时间同步;步骤105,由无线基站接收的传感数据通过网络传送给数据服务器,同时将采集传感数据的命令发送给汇聚节点,无线基站配备长距离无线通信模块;步骤106,由数据服务器负责存储采集的传感数据。所述的组网方法,其特征在于,所述步骤102还包括步骤201,普通节点经历一个初始化阶段,在这个阶段初次建立路由,如果建立路由成功则进入同步工作状态;否则,进入非同步工作状态,执行步骤202 ;步骤202,非同步工作状态时,普通节点建立路由或修复路由。所述的组网方法,其特征在于,所述步骤201还包括步骤301,在同步工作状态下,普通节点以低占空比周期方式工作后经历一次更新路由过程,依此循环;步骤302,普通节点在各周期的休眠态,关闭微处理器模块、传感模块和无线通信模块;步骤303,普通节点在各周期的活动态时,节点发送数据和命令,在活动态结束时, 判断是否路由已失效,在失效时进入非同步工作状态以修复路由;在未失效时,进入休眠态,执行步骤302 ;步骤304,传感数据的转发采用定向转发和机会转发相结合的策略,并将父节点对该数据的转发作为隐式的成功接收回复包,先是3次向父节点转发,后是3次广播转发,由比自己跳数小的、且处于同步工作状态的节点进行转发,直到收到隐式成功接收回复包为止;步骤305,控制命令的转发依构建的树状拓扑从汇聚节点向普通节点逐条转发。所述的组网方法,其特征在于,所述步骤202还包括步骤401,由已经和时间服务器同步的汇聚节点同时发起路由建立,普通节点再筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;步骤402,当路由失效时,普通节点会启动路由修复,根据工作在同步状态的相邻普通节点回复的响应包筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节占.
I— /、、、 步骤403,当一次修复失败后,休眠后再次尝试。所述的组网方法,其特征在于,所述步骤103还包括步骤501,先初始化,然后休眠、活动交替工作后,与处于同步状态的普通节点同时进入更新路由阶段。所述的组网方法,其特征在于,所述步骤501还包括
步骤601,在初始化时段开始后,汇聚节点向时间服务器获取时间实现各汇聚节点间的时间同步;步骤602,在休眠态,汇聚节点同时关闭无线通信、微处理器和传感等模块进入低功耗状态;步骤603,在活动态,汇聚节点发送命令和数据,并协助普通节点进行路由修复;步骤604,在更新路由时段开始后,汇聚节点广播路由建立包启动更新路由过程。所述的组网方法,其特征在于还包括步骤701,实现路由的建立及维护并提供路由路径的父节点和所有子节点的标识号;所构造的路由路径的集合形成多个以各汇聚节点为根的树状拓扑;每个普通节点的传感数据在稳定状态沿该普通节点到汇聚节点的路径进行转发,在不稳定状态会以机会方式转发,而控制服务器的命令由汇聚节点沿树广播至普通节点;步骤702,实现数据包的接收和发送工作,接收的数据是由无线硬件设备提供的, 发送的数据包是由步骤701产生的;步骤703,从步骤702经时间同步管理传递过来的数据进行分类,执行步骤704 ;步骤704,完成缓存待发送数据包;步骤705,完成普通节点和/或汇聚节点的时间控制;步骤706,监测普通节点和/或汇聚节点运行状态,在软件或硬件故障时,自己进行重启,同时响应网络管理员注入网络的强制重启、状态查询等维护命令。一种多汇聚节点无线传感器网络组网系统,其特征在于,包括普通节点,用于采集传感数据,其配备有短距离无线通信模块;汇聚节点,用于收集采集到的传感数据和向普通节点发送命令,还负责将数据发送给无线基站,配备短距离无线通信模块,还配有长距离无线通信模块;无线基站,用于将收到的数据传送给数据服务器,也将命令发送给汇聚节点,配备长距离无线通信模块;时间服务器,用于各汇聚节点的时间同步;数据服务器,用于永久存储采集的传感数据;控制服务器,用于根据形成和向网络发送控制命令。所述的组网系统,其特征在于,所述普通节点还包括同步工作状态模块,用于普通节点经历一个初始化阶段,在这个阶段初次建立路由,如果建立路由成功则进入同步工作状态;否则,进入非同步工作状态模块;非同步工作状态模块用于非同步工作状态时,普通节点建立路由或修复路由。所述的组网系统,其特征在于,所述同步工作状态模块还包括更新路由模块,用于在同步工作状态下,普通节点以低占空比周期方式工作后经历一次更新路由过程,依此循环;普通节点休眠态模块,用于普通节点在各周期的休眠态,关闭微处理器模块、传感模块和无线通信模块;普通节点活动态模块,用于普通节点在各周期的活动态时,节点发送数据和命令, 在活动态结束时,判断是否路由已失效,在失效时进入非同步工作状态以修复路由;在未失效时,进入休眠态;
传感数据转发模块,用于传感数据的转发采用定向转发和机会转发相结合的策略,并将父节点对该数据的转发作为隐式的成功接收回复包,先是3次向父节点转发,后是 3次广播转发,由比自己跳数小的、且处于同步工作状态的节点进行转发,直到收到隐式成功接收回复包为止;控制命令转发模块,用于控制命令的转发依构建的树状拓扑从汇聚节点向普通节点逐条转发。所述的组网系统,其特征在于,所述非同步工作状态模块还包括父节点选择模块,用于由已经和时间服务器同步的汇聚节点同时发起路由建立, 普通节点再筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;当路由失效时,普通节点会启动路由修复,根据工作在同步状态的相邻普通节点回复的响应包筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;当一次修复失败后, 休眠后再次尝试。所述的组网系统,其特征在于,所述汇聚节点还包括初始化更新路由模块,用于先初始化,然后休眠、活动交替工作后,与处于同步状态的普通节点同时进入更新路由阶段。所述的组网系统,其特征在于,所述初始化更新路由模块还包括初始化模块,用于在初始化时段开始后,汇聚节点向时间服务器获取时间实现各汇聚节点间的时间同步;汇聚节点休眠态模块,用于在休眠态,汇聚节点同时关闭无线通信、微处理器和传感等模块进入低功耗状态;汇聚节点活动态模块,用于在活动态,汇聚节点发送命令和数据,并协助普通节点进行路由修复;在更新路由时段开始后,汇聚节点广播路由建立包启动更新路由过程。所述的组网系统,其特征在于,还包括路由建立维护模块,用于路由的建立及维护并提供路由路径的父节点和所有子节点的标识号,所构造的路由路径的集合形成多个以各汇聚节点为根的树状拓扑,各普通节点的传感数据在稳定状态下沿该节点到汇聚节点的路径进行转发,在不稳定状态下会以机会方式转发,而控制服务器的命令由汇聚节点沿树广播至普通节点;数据分类模块,用于从接收发送模块经时间同步管理传递过来的数据进行分类, 送入队列管理模块或路由建立维护模块;队列管理模块,用于完成缓存待发送数据包;时间同步管理模块,用于完成整个节点的时间控制;接收发送模块,用于数据包的接收和发送工作,接收的数据是由无线硬件设备提供的,发送的数据包是由路由建立维护模块产生的,或由队列管理模块经时间同步管理模块处理后传递过来的;网络监测维护模块,用于负责监测节点运行状态,在软件或硬件故障时,自己进行重启,同时响应网络管理员注入网络的强制重启、状态查询等维护命令。与现有技术相比,本发明具有以下几点优势(1)采用多汇聚节点组网方式,具有较好的可扩展性,支持大规模网络;( 全面地节能技术,结合周期性休眠、节点深度休眠、 路由选择综合考虑能量均衡以及隐式时间同步;C3)周期性地全网更新路由,保证路由的最优性;⑷数据转发采用定向转发(即先是3次向父节点转发。)和机会转发(“3次广播转发”是一种机会转发方法,即发送者不知道谁会帮助转发,多个接收者根据一定策略自己决定是否转发。)相结合,可兼顾传输效率和可靠性;(5)网络监测维护可监测节点运行状态,在软件或硬件故障时,进行自重启,使得组网具有高可靠性。此外,也可响应网络管理员注入网络的强制重启、状态查询等维护命令,便于网络维护管理;(6)初始化时有专门初始化调试时段,便于网络管理员现场系统安装调试。


图1为本发明的网络拓扑图;图2为本发明的路由模块结构图;图3为本发明的普通节点的状态转换图;图4为本发明的普通节点的同步状态工作时序图;图5为本发明的普通节点在活动态的工作图;图6为本发明的普通节点的数据和命令发送的示意图;图7为本发明的普通节点在路由更新态及路由修复态的状态转换图;图8为本发明的汇聚节点的工作时序图。
具体实施例方式下面结合附图对本发明的方法及其系统做进一步的说明。本发明提出一种针对大规模传感器网络的组网方法。普通节点的设计的特征在于(1)普通节点分同步工作状态和非同步工作状态。普通节点经历一个初始化阶段, 在这个阶段初次建立路由路径,如果建立路由成功则进入同步工作状态;否则入非同步工作状态。(2)在同步工作状态下,普通节点以低占空比周期方式工作若干轮后再经历一次更新路由过程,依此循环。(3)节点在各周期的休眠态,关闭微处理器模块、传感模块和无线通信模块。微处理器模块负责整个节点的操作,处理和储存自己采集的数据以及其他节点发来的数据; 传感模块负责检测所在区域内的相应环境信息后,将用于表示这些环境信息的模拟电压信号通过模数转换单元转换成数字信号;无线通信模块负责通过无线信号与其他节点进行通信,交换控制消息和收发采集数据。(其中,微处理器模块关闭有一个等级,涉及寄存器,时钟部分不会关闭。而传感模块和无线通信模块完全关闭。)进入低功耗状态。(4)节点在各周期的活动态时,节点发送数据和命令,在活动态结束时,判断是否路由路径已失效(在失效时进入非同步工作状态;在未失效时,正常进入休眠态),应该进入非同步工作状态以修复路由。(5)数据的转发采用定向转发和机会转发相结合的策略,定向转发和机会转发两者之间的区别就是定向转发是指节点在发送时就确定要发送给相应节点,并由该节点转发。而机会转发发送节点也不确定是发送给谁,而是由接收到的节点自己确定是不是应该转发。并将父节点对该数据的转发作为隐式的ACK(Acknowledgement成功接收回复包)。文
9中共出现3种ACK,各有不同的含义。隐式ACK 指并未收到ACK控制包,但是通过监听是否有其它比自己距离sink节点更近的节点帮转发自己刚才发送的数据包。如果有,则表示刚才自己发送数据包已有被前面的节点接收。因而,数据被传递到距离sink更近的节点了。 显式ACK 指真正的MAC层的ACK包,是传统意义上的ACK包。PR0BEACK 是指接收方收到 PROBE包后,回复的一个控制包。它与PROBE包一一对应。7。(先向父节点转发再广播是为了提高可靠性;3次是根据在北京、无锡太湖、江苏大丰、广东肇庆等地大量实验实测结果, 并结合功耗权衡之后的结果。)(6)命令的转发依所构建的树状拓扑从汇聚节点向子节点逐条转发。(7)非同步工作状态时,节点建立或修复路由。由已和时间服务器同步的汇聚节点同时发起路由建立,普通节点再筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点。当路由失效时,普通节点会启动路由修复,根据工作在同步状态的邻节点回复的响应包筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点。当一次修复失败后,休眠后再次尝试。汇聚节点设计的特征在于(1)先经历一段初始化时段(其中所指一段初始化时段中的一段是可以设置的参数、参考值为60秒。),再休眠、活动交替工作一定周期(其中一定周期是可以设置的参数, 参考值为72个周期。)后,与处于同步状态的普通节点同时进入更新路由阶段。(2)在初始化时段开始后,汇聚节点向时间服务器获取时间实现各汇聚节点间的时间同步。(3)在休眠时段,汇聚节点同时关闭无线通信、微处理器和传感等模块进入低功耗状态。(4)在活动时段,汇聚节点发送命令和数据,并协助普通节点进行路由修复。(5)在更新路由时段开始后,汇聚节点广播若干SETUP包(路由建立包)启动更新路由过程。图1为本发明的系统结构图,包括以下几部分(1)普通节点101 ;(2)汇聚节点 102 ; (3)无线基站103 ; (4)时间服务器104 ; (5)数据服务器105 ; (6)控制服务器106。其中,普通节点101负责采集传感数据,其配备有短距离无线通信模块;汇聚节点 102负责收集采集到的传感数据和向普通节点101发送命令,还负责将数据发送给无线基站103,其配备短距离无线通信模块外,如802. 15. 4,负责与普通节点通信。(此处提到的短距离无线通信模块是指无线通信模块中包括有短距离和长距离无线通信模块,这里使用短距离无线通信模块。)此外,汇聚节点102还配有WiFi、GPRS、GSM或3G等长距离无线通信模块,负责接入互联网,实现与时间服务器104、数据服务器105和控制服务器106之间的通信。如附图1所示,无线传感器网络内的直实线表示短距离通信,形状像闪电的线标示的是长距离通信。无线基站103负责将收到的数据传送给数据服务器105,也将命令发送给汇聚节点102,也配备WiFi、GPRS、GSM或3G等长距离无线通信模块。时间服务器104负责各汇聚节点102的时间同步;数据服务器105负责永久存储采集的传感数据;控制服务器106 负责根据形成和向网络发送控制命令。根据应用需求,汇聚节点和普通节点被随机部署在或者其它的应用场所。首先各汇聚节点和时间服务器进行同步,同步后,由汇聚节点和普通节点进行交互,通过路由协议
10建立多个以汇聚节点为树根的路由树,其中,一个普通节点只处于一个路由树中。普通节点采集到数据后通过无线信道以多跳方式沿路由树传递给位于树根的汇聚节点,由汇聚节点经无线基站传送给数据服务器。此外,由控制服务器发出的命令经无线基站传送给各汇聚节点,并由各汇聚节点转发给普通节点。因本发明的路由方式支持多汇聚节点,因而非常适用于大规模的传感器网络。所述普通节点还包括同步工作状态模块,用于普通节点经历一个初始化阶段,在这个阶段初次建立路由,如果建立路由成功则进入同步工作状态;否则,进入非同步工作状态模块;非同步工作状态模块用于非同步工作状态时,普通节点建立路由或修复路由。所述同步工作状态模块还包括更新路由模块,用于在同步工作状态下,普通节点以低占空比周期方式工作后经历一次更新路由过程,依此循环;普通节点休眠态模块,用于普通节点在各周期的休眠态,关闭微处理器模块、传感模块和无线通信模块;普通节点活动态模块,用于普通节点在各周期的活动态时,节点发送数据和命令, 在活动态结束时,判断是否路由已失效,在失效时进入非同步工作状态以修复路由;在未失效时,进入休眠态;传感数据转发模块,用于传感数据的转发采用定向转发和机会转发相结合的策略,并将父节点对该数据的转发作为隐式的成功接收回复包,先是3次向父节点转发,后是 3次广播转发,由比自己跳数小的、且处于同步工作状态的节点进行转发,直到收到隐式成功接收回复包为止;控制命令转发模块,用于控制命令的转发依构建的树状拓扑从汇聚节点向普通节点逐条转发。所述非同步工作状态模块还包括父节点选择模块,用于由已经和时间服务器同步的汇聚节点同时发起路由建立, 普通节点再筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;当路由失效时,普通节点会启动路由修复,根据工作在同步状态的相邻普通节点回复的响应包筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;当一次修复失败后, 休眠后再次尝试。所述汇聚节点还包括初始化更新路由模块,用于先初始化,然后休眠、活动交替工作后,与处于同步状态的普通节点同时进入更新路由阶段。所述初始化更新路由模块还包括初始化模块,用于在初始化时段开始后,汇聚节点向时间服务器获取时间实现各汇聚节点间的时间同步;汇聚节点休眠态模块,用于在休眠态,汇聚节点同时关闭无线通信、微处理器和传感等模块进入低功耗状态;汇聚节点活动态模块,用于在活动态,汇聚节点发送命令和数据,并协助普通节点进行路由修复;在更新路由时段开始后,汇聚节点广播路由建立包启动更新路由过程。
图2为本发明的路由模块结构图。普通节点和汇聚节点都配备有路由模块,路由模块由以下几部分组成(1)路由建立维护模块201 ; (2)数据分类模块202 ; (3)队列管理模块203 ; (4)时间同步管理模块204 ; (5)接收发送模块205 ; (6)网络管理维护模块206。路由建立维护模块201主要实现路由的建立及维护并提供路由路径的父节点和所有子节点的标识号。所构造的路由路径的集合形成多个以各汇聚节点为根的树状拓扑。 各普通节点的传感数据正常情况下沿该节点到汇聚节点的路径进行转发,在不稳定的情况下可能会以机会方式转发,而控制服务器的命令由汇聚节点沿树广播至普通节点。数据分类模块202主要工作是从接收发送模块经时间同步管理传递过来的数据进行分类,送入队列管理模块203或路由建立维护模块201。队列管理模块203的主要功能是完成缓存待发送数据包。时间同步管理模块204的主要功能是完成整个节点的时间控制,普通节点和汇聚节点分别是按照图4和图8所示的工作流程进行工作的,在不同的时间点位置完成不同的工作。接收发送模块205主要实现数据包的接收和发送工作,接收的数据是由无线硬件设备提供的。发送的数据包是由路由建立维护模块产生的,或由队列管理模块经时间同步管理模块处理后传递过来的。网络监测维护模块206主要负责监测节点运行状态,在软件或硬件故障时,自己进行重启,此外,也负责响应网络管理员注入网络的强制重启、状态查询等维护命令。图3为本发明中普通节点的状态转换图。普通节点在任意时刻处于五种状态之一初始化态301、更新路由态302、初始调试态303、睡眠态304、活动态305和路由修复态 306。步骤S301,普通节点启动后立即初始化态,完成设备的初始化工作,并驱动设备进入更新路由态,执行步骤S302 ;步骤S302,更新路由态中普通节点与周围的普通节点和汇聚节点进行交互以确定路由,首先,启动后由初始化态进入到更新路由态,当路径建立成功(即成功进入一棵树并成为树的一部分),则节点进入初始化调试态,执行步骤S303,否则进入路由修复态,执行步骤S306 ;若修复成功由活动态进入到更新路由态,当路径更新成功后,则节点进入睡眠态,执行步骤S304,否则进入路由修复态,执行步骤S306 ;因网络路由的建立是由各汇聚节点同时启动的,因而在正常情况下,离汇聚节点近的普通节点先完成路由建立或更新,之后更远的节点再完成路由建立或更新。步骤S303,初始调试态是为网络管理员提供的一段相对较长的节点活动时间,以便网络管理员观察成功安装网络。步骤S304,当INITIAL_WORK_TIME(初始工作时间)超时后,节点关闭radio (射频)进入睡眠态;节点在睡眠态采用深度睡眠技术,关闭无线通信模块、传感模块及微处理器模块,以延长工作寿命。节点处于睡眠态的时间达到SYNCHRONIC_SLEEP_TIME (同步睡眠时间)秒后,节点打开唤醒自己的微处理器模块、传感模块和无线通信模块,进入活动态, 执行步骤305。步骤S305,节点在活动态开始后,采集传感数据,并将传感数据包传送给父节点, 在状态结束时,若节点已连续3个小工作周期(1个小工作周期指进入睡眠态后又进入活动态的时间之和)未成功发送一个传感数据包,则节点进入路由修复态,执行步骤306 ;当节点已经过PERI0DIC_C0UNT (周期个数参数)个小工作周期后,节点进入更新路由态,执行步骤S302,否则,当节点处于活动态的时间达到SYNCHR0NIC_W0RK_TIME(同步工作时间)秒后,节点又回到睡眠态,执行步骤S304。步骤S306,普通节点在路由修复态与周围的普通节点和汇聚节点进行交互以确定路由路径,当路径建立成功,则节点进入活动态,执行步骤S305。更新路由态和路由修复态的状态转换图见图3。将节点已经建立好路径后的状态及路径重建状态称为同步状态,它包含初始化态301、更新路由态302、初始调试态303、睡眠态304及活动态305。反之,将路由修复态306称为失同步状态。因更新路由态302及路由修复态306的工作过程类似,将在后面同时介绍这两个状态的工作过程。下面,首先同步状态的工作过程。图4是普通节点的同步状态工作时序图。步骤S41,节点在启动时刻401启动,将经过初始化态时段402,此时节点处于初始化态,即步骤S301,在这个时段,节点完成内部变量、资源及硬件的初始化;步骤S42,然后,进入路由建立时段403,此时节点处于更新路由态302。在该时段节点与周围节点进行交互以加入一颗建好的路径树,以达到建立路由路径的目的;步骤S43,接着,节点进入初始调试态时段404,此时节点处于初始调试态303。在该时段,各节点向数据服务器传送调试数据包以便让网络管理员确定网络是否成功安装。 之后,节点在休眠时刻405,关闭传感器模块、无线模块和微处理器模块以降低能耗。其中, 初始化态时段、路由建立时段及初始调试态时段时间总长度为初始工作时间(INITIAL_ W0RK_TIME);步骤S44,节点周期性地进入休眠态时段406和活动态时段407。在休眠态时段 406节点处于休眠态304,时间长度为SYNCHRONIC_SLEEP_TIME(同步睡眠时间),节点关闭。 在活动态时段407节点处于活动态305,时间长度为SYNCHR0NIC_W0RK_TIME(同步工作时间),1个休眠态时段406和1个活动态时段407构成1个小工作周期409 ;步骤S45,当节点经历周期个数参数(PERI0DIC_C0UNT)个小工作周期后,小工作周期为了区别由PERI0DIC_C0UNT个小工作周期构成的一个大工作周期,即图4中所示的, 普通节点在经过(406,407,406,407,...408)之后又会进入(406,407,406,407,…408),所述大工作周期是指006,407,406,407,…408),而小工作周期是指单个的(406,407)。进入更新路由态时段408,此时节点工作状态为306。其中,小工作周期是指时间上连续的一个休眠态时段和活动态时段。与在路由建立时段403 —样,节点在该时段重新建立路由路径。图5为普通节点在活动态的工作时序图。步骤S501,节点进行发送数据或命令701 ;步骤S502,在活动态结束的最后1秒,节点判断是否失同步702 若节点在过去3 个小工作周期所发送的数据都未成功,即未收到隐式ACK(成功接收回复包),那么节点进入失同步态。图6为普通节点的数据和命令发送的示意图。节点的传感数据都是上行的,而命令都是下行的。如图6(a)所示,对于每一个由节点本身产生的、由子节点传递单播过来的或由比自己跳数大的邻节点广播过来的数据包,节点都将其单播给父节点(步骤S601),其父节点收到后同样将该数据包单播给其父节点(步骤seo》,与此同时,节点侦听到其父节点转发的包,并将其作为隐式ACK(成功接收回复包),认为自己的数据包已成功发送给父节点。因为数据包可能丢失,节点将间隔地尝次发送3次数据包,直到听到父节点转发的数据包。否则,节点继续将采用图6(b)所示的方式机会转发。首先,节点先广播数据包(步骤S603),周围跳数比其小,且处于同步态的邻节点收到该包后,将像图6(a)所示的方式向父节点转发(步骤S604),节点听到该转发的包后,认为数据包已发送成功,即收到隐式 ACK(成功接收回复包)。同样,节点广播3次,直到收到邻节点帮其转发的数据包。下行的命令采用图6(c)所示的方式进行传递。节点广播收到的命令包(步骤 S605),子节点收到后,又广播给子节点的子节点(步骤S606)。图7为普通节点在更新路由态302及路由修复态306的状态转换图。步骤S701,INIT状态(初始化状态)当节点进入更新路由态时,进入该状态。在该状态,设置路由修复计时器(RouteRecoveryTimer)值为一个固定参数TIMER_ RECOVER_INIT_WAIT,置更新路由标志为true (真),自己的跳数为255,标志变量 ChooseLargeHopNode为false(假)。因为网络中的所有的节点的时间都是同步的,处于同步态的所有节点会同时进入更新路由态,整个路由的初始建立入更新路由过程是由各个汇聚节点同时启动的,首先,汇聚节点会间隔地广播NUM_SETUP_REPEAT(—个固定参数)个 SETUP包(路由建立包),该包中包含汇聚节点的时间、自己的标识号、所连汇聚节点标识号 (即自己的标识号)、跳数(为0)、电量。刚建立路由路径的普通节点同样也会间隔地广播 NUM_SETUP_REPEAT( —个固定参数)个SETUP包(路由建立包)。当普通节点收到第1个 SETUP包后,保存包中所含邻节点的时间、标识号、所连汇聚节点标识号、跳数、电量等信息。 并重置路由建立计时器SetupRouteTableTimer值为一个固定参数TIMER_WAIT_G00DNBR。 然后进入702状态。如果路由修复计时器RouteRecoveryTimer超时且未收到SETUP包(路由建立包),则进入708状态。步骤S702,WAIT_F0R_G00DNBR状态(等待通信好的邻节点状态)节点在该状态主要是等待一个具有较好链路的邻节点广播的SETUP包(路由建立包),并存储所有所收到SETUP包(路由建立包)中携带的邻节点的时间、标识号、所连汇聚节点标识号, 跳数、电量等信息。当收到一个具有较好链路质量的邻节点时,节点重设路由建立计时器 SetupRouteTableTimer 为一个固定参数 TIMER_SETUP_R0UTE_TABLE,并进入 703 状态。否则,路由建立计时器^tupRouteTableTimer超时后,节点进入704状态。步骤S703,REBUILD_C0NST_NBRTBL状态(更新路由表状态)节点在该状态主要是收集已经建立路径的邻节点广播的SETUP包(路由建立包),并存储其中携带的邻节点的时间、标识号、所连汇聚节点标识号、跳数、电量等信息。当路由建立计时器 SetupRouteTableTimer超时后,节点进入704状态。步骤S704,SIFT_PARENT状态节点在该状态主要是判断是否收到SETUP包(路由建立包),并且筛选出可以作为候选父节点的所有邻节点。当大跳数选择标志变量 (ChooseLargeHopNode)为true (真)时,收到过其SETUP包(路由建立包)的邻节点都可作为候选父节点;否则,只有跳数比自己小的节点才可以作为候选父节点。若未曾收到任何 SETUP包(路由建立包)、iFailur必etup < MAX_NUM_FAILURE_SETUP(即失败计数变量小于某参数)且重置标置为true (真),则节点进入711状态;若未曾收到任何SETUP包(路由建立包)、iFailur必etup < MAX_NUM_FAILURE_SETUP(即失败计数变量小于某参数)且重置标置为false (假),则节点进入710状态;若未曾收到任何SETUP包(路由建立包)、 iFai IureSetup = MAX_NUM_FAILURE_SETUP (即失败计数变量等于某参数),则节点进入712 状态。完成筛选后,若无候选父节点且iFailur必etup < MAX_NUM_FAILURE_SETUP(即失败计数变量小于某参数)则节点进入711状态;若无候选父节点且iFailur必etup = MAX_ NUM_FAILURE_SETUP(即失败计数变量等于某参数),则节点进入712状态;否则,若存在候选父节点时,进入705状态。步骤S705,CHECK_BILINK状态(确认双向链路状态)该状态的主要任务是对节点与各候选父节点之间双向链路的质量进行检测。检测方式是分别向各候选父节点发送固定参数NUM_CHECK_REPEAT个需要显式ACK (接收成功回复)的CHECK包(确认包),并统计CHECK包(确认包)传送成功次数作为链路质量的估计。此处提到的显式ACK是指真正的MAC层的ACK包,是传统意义上的ACK包。步骤S706,CH00SE_PARENT状态(选择父节点)该状态的任务是判断是否有链路质量足够好的候选父节点,并根据候选父节点的链路质量和剩余电量选择一个最优的父节点。若收到的SETUP包(路由建立包)中无链路质量足够好的候选父节点, 且iFailur必etup < MAX_NUM_FAILURE_SETUP(即失败计数变量小于某参数),则节点进入711状态;若收到的SETUP包(路由建立包)中无链路质量足够好的候选父节点,且 iFai IureSetup = MAX_NUM_FAILURE_SETUP (即失败计数变量等于某参数),则节点进入712 状态。若存在链路质量足够好的候选父节点,则选出一个最优父节点。最优父节点的选择标准是使alpha*链路质量+(1-alpha)*剩余电量值最大的候选父节点,其中,alpha为一个固定参数。然后,设置自己的时间为选定父节点的时间,毁掉邻节点表并间隔地广播NUM_ SETUP_REPEAT( —个固定参数)个SETUP包(路由建立包),然后进入707状态。步骤S707,NORMAL状态(正常工作状态)到达该状态表示路由路径已经建立。进入该状态时保存汇聚节点的标识号,父节点的标识号,自己的跳数(父节点跳数+1)。若在该状态收到PROBE包(探测包),则回应PR0BEACK包(探测回复包)。此处的PR0BEACK包是指接收方收到PROBE包后,回复的一个控制包,其与PROBE包一一对应。收到PROBE包 (探测包)代表附近有邻节点未处于路由修复态。回复的PR0BEACK包(探测回复包)中, 包含汇聚节点的时间、自已的标识号、所连汇聚节点标识号(即自己的标识号)、跳数(为 0)、电量。步骤S708,N0_R0UTE状态(无路由状态)节点在进入路由修复态时,会进入该状态,从这开始一次路由修复的过程。在该状态,节点确保radio (射频)是打开的,然后发送一个PROBE包(探测包),并置路由表建立计时器ktupRouteTableTimer为一个固定参数 TIMER_SETUP_ROUTE_TABLE,置更新路由标志为false (假),之后进入709状态。周围处于同步状态的邻节点收到PROBE包(探测包)后会回复PR0BEACK包(探测回复包)。步骤S709,REC0VER_C0NST_NBRTBL状态(修复路由表状态)节点在该状态时收集PR0BEACK包(探测回复包)构造邻居表。每当收到一个PR0BEACK (探测回复包)便存储其中的汇聚节点的时间、自己的标识号、所连汇聚节点标识号(即自己的标识号)、跳数 (为0)、电量等信息。当路由表建立计时器ktupRouteTableTimer超时后,节点进入704 状态。
步骤S710,L0NG_WAIT状态(长等待状态)该状态为休眠长等待状态。节点进入该状态时,关闭无线模块和微处理器模块。将失败计数变量iFailurektup加1,表示一次修复过程失败,置路由修复计时器RouteRecoverTimer为一个固定参数TIMER_REC0VER_ L0NG_WAIT值。当路由修复计时器RouteRecoverTimer超时后进入708状态。步骤S711,SHORT_WAIT状态(短等待状态)该状态为不休眠短等待状态。节点进入该状态时,也表示一次修复过程失败,置路由修复计时器RouteRecoverTimer为一个固定参数T IMER_RECOVER_SHORT_ffAIT值。当路由修复计时器RouteRecoverTimer超时后进入708状态。步骤S712,TRY_LARGE_H0P状态(尝试大跳数状态)节点进入该状态时,也表示连续多次修复过程失败,在跳数比自己小的处于同步状态的邻节点中,已经无法找到链路足够好的父节点。节点设置大跳数选择使能计数器EnableLargerHopTimer为2*T_DUTY_ CYCLE,其中,T_DUTY_CYCLE为单个周期的时间长度。在该计数器超时后,置大跳数选择标志变量chooseLargeHopNode为true (真),这样在此后的修复过程中,节点将可以选择比自己跳数低的节点作为父节点。以上状态中处于更新路由态的状态序列是701、702、703、704、705、706和707。处于路由修复态的状态序列是708、709、704、705、706、710、711、712和707。图8为汇聚节点的工作时序图。其工作和休眠时间控制与普通节点在同步状态下工作时相似。在节点启动后,是一个较长的工作时间,在这段工作时间的开始,汇聚节点向时间服务器获取时间,并置为自己的时间(步骤801)。然后,间隔式的发送固定参数NUM_ SETUP_REPEAT ( 一个固定参数)个SETUP包(路由建立包)(步骤803)。接着开始命令和数据的发送(步骤802)。工作完成后,开始固定参数PERI0DIC_C0UNT个小工作周期,在每个小工作周期的活动时间都进行命令或数据的发送。之后的更新路由态时段开始时再次间隔式的发送固定参数NUM_SETUP_REPEAT个SETUP包(路由建立包)。传送由普通节点发送过来的数据时,经过无线基站发送给数据服务器。收到控制服务器由无线基站传送过来的命令后,向所有子节点转发。当收到PROBE包(探测包)后,汇聚节点回复PR0BEACK包 (探测回复包)。本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于以上的说明,而是由权利要求书的范围来确定的。
权利要求
1.一种多汇聚节点无线传感器网络组网方法,其特征在于,包括如下步骤 步骤101,由控制服务器根据需求向网络中发送采集传感数据的控制命令;步骤102,普通节点配备短距离无线通信模块,由普通节点负责采集传感数据,发送给汇聚节点;步骤103,由汇聚节点收集采集到的传感数据,并向普通节点发送采集传感数据的命令,同时负责将采集到的传感数据发送给无线基站,汇聚节点配备短距离无线通信模块和长距离无线通信模块;步骤104,由时间服务器负责每个汇聚节点的时间同步;步骤105,由无线基站接收的传感数据通过网络传送给数据服务器,同时将采集传感数据的命令发送给汇聚节点,无线基站配备长距离无线通信模块; 步骤106,由数据服务器负责存储采集的传感数据。
2.如权利要求1所述的组网方法,其特征在于,所述步骤102还包括步骤201,普通节点经历一个初始化阶段,在这个阶段初次建立路由,如果建立路由成功则进入同步工作状态;否则,进入非同步工作状态,执行步骤202 ; 步骤202,非同步工作状态时,普通节点建立路由或修复路由。
3.如权利要求2所述的组网方法,其特征在于,所述步骤201还包括步骤301,在同步工作状态下,普通节点以低占空比周期方式工作后经历一次更新路由过程,依此循环;步骤302,普通节点在各周期的休眠态,关闭微处理器模块、传感模块和无线通信模块;步骤303,普通节点在各周期的活动态时,节点发送数据和命令,在活动态结束时,判断是否路由已失效,在失效时进入非同步工作状态以修复路由;在未失效时,进入休眠态,执行步骤302 ;步骤304,传感数据的转发采用定向转发和机会转发相结合的策略,并将父节点对该数据的转发作为隐式的成功接收回复包,先是3次向父节点转发,后是3次广播转发,由比自己跳数小的、且处于同步工作状态的节点进行转发,直到收到隐式成功接收回复包为止; 步骤305,控制命令的转发依构建的树状拓扑从汇聚节点向普通节点逐条转发。
4.如权利要求2所述的组网方法,其特征在于,所述步骤202还包括步骤401,由已经和时间服务器同步的汇聚节点同时发起路由建立,普通节点再筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;步骤402,当路由失效时,普通节点会启动路由修复,根据工作在同步状态的相邻普通节点回复的响应包筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节占.步骤403,当一次修复失败后,休眠后再次尝试。
5.如权利要求1所述的组网方法,其特征在于,所述步骤103还包括步骤501,先初始化,然后休眠、活动交替工作后,与处于同步状态的普通节点同时进入更新路由阶段。
6.如权利要求5所述的组网方法,其特征在于,所述步骤501还包括步骤601,在初始化时段开始后,汇聚节点向时间服务器获取时间实现各汇聚节点间的时间同步;步骤602,在休眠态,汇聚节点同时关闭无线通信、微处理器和传感等模块进入低功耗状态;步骤603,在活动态,汇聚节点发送命令和数据,并协助普通节点进行路由修复; 步骤604,在更新路由时段开始后,汇聚节点广播路由建立包启动更新路由过程。
7.如权利要求1所述的组网方法,其特征在于,还包括步骤701,实现路由的建立及维护并提供路由路径的父节点和所有子节点的标识号; 所构造的路由路径的集合形成多个以各汇聚节点为根的树状拓扑;每个普通节点的传感数据在稳定状态沿该普通节点到汇聚节点的路径进行转发,在不稳定状态会以机会方式转发,而控制服务器的命令由汇聚节点沿树广播至普通节点;步骤702,实现数据包的接收和发送工作,接收的数据是由无线硬件设备提供的,发送的数据包是由步骤701产生的;步骤703,从步骤702经时间同步管理传递过来的数据进行分类,执行步骤704 ;步骤704,完成缓存待发送数据包;步骤705,完成普通节点和/或汇聚节点的时间控制;步骤706,监测普通节点和/或汇聚节点运行状态,在软件或硬件故障时,自己进行重启,同时响应网络管理员注入网络的强制重启、状态查询等维护命令。
8.一种多汇聚节点无线传感器网络组网系统,其特征在于,包括 普通节点,用于采集传感数据,其配备有短距离无线通信模块;汇聚节点,用于收集采集到的传感数据和向普通节点发送命令,还负责将数据发送给无线基站,配备短距离无线通信模块,还配有长距离无线通信模块;无线基站,用于将收到的数据传送给数据服务器,也将命令发送给汇聚节点,配备长距离无线通信模块;时间服务器,用于各汇聚节点的时间同步; 数据服务器,用于永久存储采集的传感数据; 控制服务器,用于根据形成和向网络发送控制命令。
9.如权利要求8所述的组网系统,其特征在于,所述普通节点还包括同步工作状态模块,用于普通节点经历一个初始化阶段,在这个阶段初次建立路由,如果建立路由成功则进入同步工作状态;否则,进入非同步工作状态模块;非同步工作状态模块用于非同步工作状态时,普通节点建立路由或修复路由。
10.如权利要求9所述的组网系统,其特征在于,所述同步工作状态模块还包括更新路由模块,用于在同步工作状态下,普通节点以低占空比周期方式工作后经历一次更新路由过程,依此循环;普通节点休眠态模块,用于普通节点在各周期的休眠态,关闭微处理器模块、传感模块和无线通信模块;普通节点活动态模块,用于普通节点在各周期的活动态时,节点发送数据和命令,在活动态结束时,判断是否路由已失效,在失效时进入非同步工作状态以修复路由;在未失效时,进入休眠态;传感数据转发模块,用于传感数据的转发采用定向转发和机会转发相结合的策略,并将父节点对该数据的转发作为隐式的成功接收回复包,先是3次向父节点转发,后是3次广播转发,由比自己跳数小的、且处于同步工作状态的节点进行转发,直到收到隐式成功接收回复包为止;控制命令转发模块,用于控制命令的转发依构建的树状拓扑从汇聚节点向普通节点逐条转发。
11.如权利要求9所述的组网系统,其特征在于,所述非同步工作状态模块还包括父节点选择模块,用于由已经和时间服务器同步的汇聚节点同时发起路由建立,普通节点再筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;当路由失效时,普通节点会启动路由修复,根据工作在同步状态的相邻普通节点回复的响应包筛选父节点,估计链路质量,依据剩余能量和链路质量选择最佳父节点;当一次修复失败后,休眠后再次尝试。
12.如权利要求8所述的组网系统,其特征在于,所述汇聚节点还包括初始化更新路由模块,用于先初始化,然后休眠、活动交替工作后,与处于同步状态的普通节点同时进入更新路由阶段。
13.如权利要求12所述的组网系统,其特征在于,所述初始化更新路由模块还包括初始化模块,用于在初始化时段开始后,汇聚节点向时间服务器获取时间实现各汇聚节点间的时间同步;汇聚节点休眠态模块,用于在休眠态,汇聚节点同时关闭无线通信、微处理器和传感等模块进入低功耗状态;汇聚节点活动态模块,用于在活动态,汇聚节点发送命令和数据,并协助普通节点进行路由修复;在更新路由时段开始后,汇聚节点广播路由建立包启动更新路由过程。
14.如权利要求8所述的组网系统,其特征在于,还包括路由建立维护模块,用于路由的建立及维护并提供路由路径的父节点和所有子节点的标识号,所构造的路由路径的集合形成多个以各汇聚节点为根的树状拓扑,各普通节点的传感数据在稳定状态下沿该节点到汇聚节点的路径进行转发,在不稳定状态下会以机会方式转发,而控制服务器的命令由汇聚节点沿树广播至普通节点;数据分类模块,用于从接收发送模块经时间同步管理传递过来的数据进行分类,送入队列管理模块或路由建立维护模块;队列管理模块,用于完成缓存待发送数据包;时间同步管理模块,用于完成整个节点的时间控制;接收发送模块,用于数据包的接收和发送工作,接收的数据是由无线硬件设备提供的, 发送的数据包是由路由建立维护模块产生的,或由队列管理模块经时间同步管理模块处理后传递过来的;网络监测维护模块,用于负责监测节点运行状态,在软件或硬件故障时,自己进行重启,同时响应网络管理员注入网络的强制重启、状态查询等维护命令。
全文摘要
本发明涉及一种多汇聚节点无线传感器网络组网方法,其特征在于,包括如下步骤步骤101,由控制服务器根据需求向网络中发送采集传感数据的控制命令;步骤102,由普通节点负责采集传感数据,发送给汇聚节点;步骤103,由汇聚节点收集采集到的传感数据,并向普通节点发送采集传感数据的命令,同时负责将采集到的传感数据发送给无线基站;步骤104,由时间服务器负责每个汇聚节点的时间同步;步骤105,由无线基站接收的传感数据通过网络传送给数据服务器,同时将采集传感数据的命令发送给汇聚节点,无线基站配备长距离无线通信模块;步骤106,由数据服务器负责存储采集的传感数据。
文档编号H04W56/00GK102404817SQ20111032821
公开日2012年4月4日 申请日期2011年10月25日 优先权日2011年10月25日
发明者崔莉, 张乐, 张招亮, 李栋, 黄庭培 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1