一种用于大田监控的移动传感器网络低功耗路由方法与流程

文档序号:16021825发布日期:2018-11-23 18:26阅读:214来源:国知局
一种用于大田监控的移动传感器网络低功耗路由方法与流程

本发明针对大田监控应用提出了一种移动传感器网络低功耗的路由方法,属于大田监控应用和移动传感器网络技术领域。



背景技术:

我国是一个农业大国,现阶段,我国农业面临着生产方式和种植结构的调整,使我国传统的农业向着现代化农业方向发展,如农业资源的合理利用,领导决策的准确,农业生产的管理化等等。随着无线传感器网络的发展,其技术可以广泛运用于现代农业中,可以通过移动传感器网络远程采集农作物的生长状态,周围环境的变化等信息,根据这些采集到的信息来实现智能决策和远程控制设备等功能。

对于大田监控领域,可以利用移动传感器网络来采集土壤墒情和气象信息,从而来达到墒情自动预报、灌溉用水量智能决策、控制灌溉设备的目的。然而,由于移动传感器网络中节点的能量是有限的,充电又不太方便,而在大田监控领域需要不断的采集各种信息,因此,在整个网络中,节约网络中节点的能量是非常重要的,即在整个网络信息传输的过程中,通过设计合理高效的路由算法,来减少网络中节点的能量损耗,达到延长网络寿命的目的。

无线传感器网络是一个大规模的,自组织的,多跳的无线通信网络,它由大量的传感器节点组成,这些节点是微小的,便宜的,这些传感器节点有3个功能,感知信息,处理信息和通信,它们可以被随机的部署在环境中,来构成无线传感器网络。而且,随着近年来的微电子设备和无线电的发展,使得无线传感器的运用更加广泛。无线传感器网络主要被用于军事跟踪和监控,健康医疗,环境监控,和智能农业等方面,但这也对网络的性能提出了更高的需求(能效,网络的寿命,和数据包的成功的交付率)。这些属性成为限制无线传感器网络发展的因素,但也正是因为存在这些因素,而使得对无线传感器的研究取得了不断突破,使得无线传感器网络的发展越来越完善。下面简单的介绍一下,应用在无线传感器网络中的数据传输方式的变更。

无线传感器网络,数据的传输方式从层次上来分,可以有分层的方法和不分层的方法,传统的数据传输方法即为不分层的方法,每个传感器节点只是通过单跳的方式直接向基站或者用户传输数据,这个方法虽然直接向基站或者用户传输了数据,节但是点的能量消耗可能比较严重,且节点容易失败,这样就显著影响了传感器网络的性能。在这个基础上,引入了多跳通信的传输方式,每个节点通过间接的方式向基站传输数据,间接的方法是寻找一个主节点,将每个节点上的数据传输到这个主节点上,在主节点上将数据聚合在一起,然后由这个主节点向基站传输,这个方法显然要比之前的方法,要节约能量,可以延长网络的寿命。为了进一步的改进,这样,又引入了汇聚节点(静态的),汇聚节点所拥有的能量远远大于普通传感器节点的能量,汇聚节点负责将从普通的传感器节点收集数据,并将数据聚合在一起,然后将数据传向基站或者用户,这种方法相比于以前的方法,显然可以节约能量,延长网络的生存时间,可以这样说,将汇聚节点引入到无线传感网领域是一个重大的突破。随着进一步的研究,又提出了汇聚节点可以在网络中是移动的,这个方法比静态的汇聚节点的方法更加要节约能量,对于汇聚节点的移动,一开始是假设汇聚节点在网络里是以恒定的速度,沿着一条固定的路由移动的,后来又假设了汇聚节点可以在网络中以可变的速度在网络中随机的移动,对于汇聚节点收集数据,又有两种考虑,第一个考虑是,汇聚节点逗留在固定的位置来收集数据,当汇聚节点在这个位置收集完数据后,才开始向下一个固定的位置移动,然后再次逗留在一个位置,收集数据,将数据传递给基站或者移动了一个周期后,将所有的数据聚合在一起传向基站,第二个考虑为汇聚节点在移动的过程中收集来源于普通传感器节点的数据,例如,普通传感器节点可以预测汇聚节点的移动轨迹,提前将数据传输到那个预测的位置,当汇聚节点移动到这个位置的附近时,直接接收这些数据。这些数据传输的模式在很大程度上节约了能量。随着更深入的研究,在网络中可以使用多个汇聚节点的方法被提出了,利用多个汇聚节点显著的增加了数据的传输效率,减少了数据传输的延迟,然而,对于多个汇聚节点的使用,必须要考虑汇聚节点的合适的使用数量。因为不是汇聚节点的使用数量越多,这个网络的性能就越好。

然而,当在无线传感器网络中利用汇聚节点的时候,可能会出现热点问题,热点问题是由于汇聚节点附近的节点,有大量的数据通信,负载大,而导致了这些节点的能量将比一般的传感器节点能量消耗快,而产生的。热点问题伴随着汇聚节点的移动而不断的变化,因此,可以通过在网络中使用移动的汇聚节点的方法来使得附近的节点能量消耗达到一个平衡,来缓解热点问题。当热点问题出现之后,由于汇聚节点附近的节点能量消耗快,有可能提前死亡,从而导致网络覆盖不到这个区域,使得这部分区域的数据无法传输到汇聚节点,造成空洞现象。

上面所述的就是近年来每个传感器节点向基站传输数据方式的变更。然而为了进一步的追求数据的传输效率,延长网络的生存时间,减少网络的延迟,因此在网络中设计一些高效的路由算法是非常重要的,在算法的设计中,要尽量缓解网络中的热点问题,避免空洞现象。



技术实现要素:

发明目的:本发明提出了一种用于大田监控的移动传感器网络低功耗路由方法,本发明利用了移动传感器网络中汇聚节点的移动性,能够减少网络中节点的能量损耗,延长整个网络的寿命。

技术方案:本发明提出了一种用于大田监控的移动传感器网络低功耗路由方法,主要利用了网络中汇聚节点的移动性和最短路径路由决定方法,实现了网络中低能量损耗和较长网络寿命,具体步骤如下:

步骤1).假设所有的传感器节点随机的部署在一个矩形区域(一块矩形农田)内,在部署好的网络内,使用了如下的传感器节点类型:源节点,主节点,中继节点,汇聚节点和普通节点,由这些类型的传感器节点构成的网络有如下的特征:(1)所有普通传感器节点的初始能量是一致的,而汇聚节点的初始能量要比普通传感器节点的能量要大;(2)汇聚节点在这个构成的网络是移动的,它以一个恒定的速度,沿着一个固定的路径移动;(3)网络中的传感器节点都有自己唯一的标识符;(4)在同一个区域内,如果某个节点被选择成为了中继节点,那它就不可能成为主节点;(5)在数据传输的第一轮中,网络中所有的传感器节点的能量都是足够的,能够支持第一轮的数据传输;(6)每个传感器节点上面都配有RSSI。

步骤2).在部署好的传感器网络中,根据传感器节点的数量的5%来决定整个网络被划分成几块,假设整个网络被划分为K块,网络中共有N个传感器节点,则可以用下面的关系式来表示:

步骤3).在整个网络被划分为若干个区域后,每个小区域内都进行主节点的选择,这个主节点的选择是依赖于区域中节点的剩余能量和节点的标识符的。

首先将接近每个区域中心位置的那个节点作为主节点,然后这个主节点向它相邻的周围的节点广播一个数据包,这个数据包包括它本身的剩余能量和它的标识符,从这时开始,为了选择最合适的主节点,需要进行它和它相邻节点的比较(剩余能量和标识符)。如果这个主节点的某一个邻居节点的剩余能量没有它本身的剩余能量大,那么它继续和它相邻的节点比较,如果其他相邻的节点的剩余能量都没有它的大,那么它将通过它相邻的邻居向它邻居的邻居广播它的数据包,继续比较,直到所有的节点都参与了比较。如果都不存在比这个主节点能量大的节点,则说明这个主节点是名副其实的主节点,即被选为最终的主节点。如果在比较的过程中,如果它邻居的某一个节点的能量要比这个主节点的能量要大,那么这个主节点将放弃主节点这个身份,成为普通的传感器节点,这个邻居节点即成为新的主节点,这样,这个新的主节点又向它的邻节点广播关于它的剩余能量和标识符的信息,再次进行节点的比较,直到所有的节点都参与进去,选择最终的主节点。如果在比较的过程中,2个相邻节点的能量相同,则比较它们标识符的大小,将标识符较小的节点作为主节点。

在某一个区域中的主节点,如果由于能量消耗过大,低于一个能量阈值,不能参与下一次的数据传输,或者即将死亡,这时,就需要根据上面所述的过程重新选择主节点,以延长整个网络的寿命,避免能量空洞现象。

步骤4).然后,将汇聚节点放到整个网络中,使之沿着一条预先定义的路径,以一个固定的速度移动,当汇聚节点接收到来自于基站收集数据的请求包之后,它即在这个区域内开始选择中继节点。

汇聚节点进行中继节点的选择分为2个阶段,第一个阶段是根据汇聚节点接收到节点的信号强弱来选择出距离在r0之内的节点,第2个阶段是根据第一个阶段选择的节点,在这些节点之间选择有最大剩余能量的节点,然后这个有最大剩余能量的节点就被作为中继节点,下面来具体描述中继节点的选择过程:

当汇聚节点移动到某一个区域,接收到来自于基站的数据收集的请求包后,它开始收集附近相邻的节点的RSSI数据,根据这些RSSI数据可以判断出汇聚节点附近的哪个节点的信号强,即可以计算出哪个节点距离汇聚节点近,选择在距离范围在r0之内的节点,这是汇聚节点的第一次选择。然后,汇聚节点向这些节点广播一个“谁有这个数据”的数据请求包,这个包不仅包含了要请求的数据,还包括汇聚节点的当前位置,随即这些节点向汇聚节点发送一个“我有这个数据包”的数据回复包,数据回复包里包括节点本身的剩余能量和标识符,然后进行第2次选择,汇聚节点根据接收到的数据,比较各个节点的剩余能量,即最大剩余能量的节点将被作为中继节点,如果2个节点的剩余能量相同,则有最小标识符的节点被选为中继节点。

直到汇聚节点完成了这一轮的数据收集后,这个中继节点将再次成为普通的传感器节点,当汇聚节点移动到新的区域后,重复上面所述的过程来选择新的中继节点,来进行下一轮的数据收集。

步骤5).在中继节点确定了之后,汇聚节点逗留在这个节点的附近,汇聚节点通过这个中继节点向整个网络广播一个“谁有这个数据”的请求包,这个包不仅包含了要请求的数据,还包括汇聚节点的当前位置,如果网络中的某个节点接收了这个数据包,它将沿着汇聚节点向这个节点传输路径的反向路径回复一个“我有这个数据包”的信息包,这个节点同时记录下中继节点的位置,并保存在这个节点上,此时,这个节点就可以称为源节点。

步骤6).然后,汇聚节点通过中继节点,以多跳的形式收集来自于源节点的数据,如图4所示,数据收集是按照如下的方式进行的:

假设汇聚节点逗留区域为区域A,源节点所在的区域为区域B(源节点可能会分布在不同的区域,为了便于说明,这里只用一个区域B),首先,区域B内的主节点收集源节点发送过来的数据,并将接收到的数据聚合在一起,接下来,由B区域中的主节点向A区域中的中继节点传输数据,这时,可分为以下的三种情况,

(1)当区域A和区域B为同一个区域的时候,可以直接根据最短路径算法构建出主节点和中继节点之间的路由,沿着这条路由,主节点将聚合的数据传向中继节点,当中继节点接收了聚合的数据后,再将数据传向汇聚节点;

(2)当区域A和区域B为2个相邻的区域,B中的主节点向A中的中继节点传输数据分为2种方式,分别如图2和图3所示,第一种方式是由B中的主节点直接向A中的主节点传输数据,A中主节点收集到数据后,根据(1)将数据传向汇聚节点;第二种方式是数据传输不通过A中的主节点,由B中的主节点根据最短路径算法构建出,到A区域中继节点之间的路由,中继节点沿着这条路由收集来自于B中主节点的数据,再由中继节点将数据传向汇聚节点;

(3)当区域A和区域B为2个不相邻的区域,先根据所有区域的主节点,利用最短路径算法构建出B区域主节点和C区域主节点之间的路由(区域C和区域A相邻),B中主节点将聚合的数据沿着这条路由传向区域C中的主节点,当C区域主节点接收完数据后,此时区域C就相当于区域B,然后,根据(2)由C中的主节点向A中的中继节点传输数据,最后由中继节点将数据向汇聚节点转发。

步骤7).当汇聚节点完成了这一轮的数据收集后,它将收集的数据向基站转发,之后它则以原来的速度在网络中移动,直到接收到下一轮的数据收集请求,再重复上述的步骤。

有益效果

本发明利用了网络中汇聚节点的移动性,相比于其它的路由方法,在大田监控应用领域使用本发明可以减少网络中节点的能量损耗,延长网络的寿命,由于在网络里使用了移动的汇聚节点,也可以缓解网络中的热点问题,和避免能量空洞现象。

附图说明

图1网络划分的例子;

图2步骤6)中情况(2)中的第一种传输方式;

图3步骤6)中情况(2)中的第二种传输方式;

图4数据传输的流程图。

具体实施方式

以下结合附图具体说明本发明的技术方案。本发明提出了一种用于大田监控的移动传感器网络低功耗路由方法,主要利用了网络中汇聚节点的移动性和最短路径路由决定方法,实现了网络中低能量损耗和较长的网络寿命:

步骤1).假设所有的传感器节点随机的部署在一个矩形区域(一块矩形农田)内,在部署好的网络内,使用了如下的传感器节点类型:源节点,主节点,中继节点,汇聚节点和普通节点,由这些类型的传感器节点构成的网络有如下的特征:(1)所有普通传感器节点的初始能量是一致的,而汇聚节点的初始能量要比普通传感器节点的能量要大;(2)汇聚节点在这个构成的网络是移动的,它以一个恒定的速度,沿着一个固定的路径移动;(3)网络中的传感器节点都有自己唯一的标识符;(4)在同一个区域内,如果某个节点被选择成为了中继节点,那它就不可能成为主节点;(5)在数据传输的第一轮中,网络中所有的传感器节点的能量都是足够的,能够支持第一轮的数据传输;(6)每个传感器节点上面都配有RSSI。

步骤2).在部署好的传感器网络中,根据传感器节点的数量的5%来决定整个网络被划分成几块,假设整个网络被划分为K块,网络中共有N个传感器节点,则可以用下面的关系式来表示:

图1为网络划分的一个例子,我们选择了一块矩形的试验田,在这个试验田里,我们部署了20个传感器节点,根据上面的方法决定了这个部署好的网络被划分为4个区域,而每个区域内的传感器节点的数量是随机的(图1是个特例,每个区域内的传感器节点的数量相等)。

步骤3).在整个网络被划分为若干个区域后,每个小区域内都进行主节点的选择,这个主节点的选择是依赖于区域中节点的剩余能量和节点的标识符的。

首先将接近每个区域中心位置的那个节点作为主节点,然后这个主节点向它相邻的周围的节点广播一个数据包,这个数据包包括它本身的剩余能量和它的标识符,从这时开始,为了选择最合适的主节点,需要进行它和它相邻节点的比较(剩余能量和标识符)。如果这个主节点的某一个邻居节点的剩余能量没有它本身的剩余能量大,那么它继续和它相邻的节点比较,如果其他相邻的节点的剩余能量都没有它的大,那么它将通过它相邻的邻居向它邻居的邻居广播它的数据包,继续比较,直到所有的节点都参与了比较。如果都不存在比这个主节点能量大的节点,则说明这个主节点是名副其实的主节点,即被选为最终的主节点。如果在比较的过程中,如果它邻居的某一个节点的能量要比这个主节点的能量要大,那么这个主节点将放弃主节点这个身份,成为普通的传感器节点,这个邻居节点即成为新的主节点,这样,这个新的主节点又向它的邻节点广播关于它的剩余能量和标识符的信息,再次进行节点的比较,直到所有的节点都参与进去,选择最终的主节点。如果在比较的过程中,2个相邻节点的能量相同,则比较它们标识符的大小,将标识符较小的节点作为主节点。

在某一个区域中的主节点,如果由于能量消耗过大,低于一个能量阈值,不能参与下一次的数据传输,或者即将死亡,这时,就需要根据上面所述的过程重新选择主节点,以延长整个网络的寿命,避免能量空洞现象。

步骤4).然后,将汇聚节点放到整个网络中,使之沿着一条预先定义的路径,以一个固定的速度移动,当汇聚节点接收到来自于基站收集数据的请求包之后,它即在这个区域内开始选择中继节点。

汇聚节点进行中继节点的选择分为2个阶段,第一个阶段是根据汇聚节点接收到节点的信号强弱来选择出距离在r0之内的节点,第2个阶段是根据第一个阶段选择的节点,在这些节点之间选择有最大剩余能量的节点,然后这个有最大剩余能量的节点就被作为中继节点,下面来具体描述中继节点的选择过程:

当汇聚节点移动到某一个区域,接收到来自于基站的数据收集的请求包后,它开始收集附近相邻的节点的RSSI数据,根据这些RSSI数据可以判断出汇聚节点附近的哪个节点的信号强,即可以计算出哪个节点距离汇聚节点近,选择在距离范围在r0之内的节点,这是汇聚节点的第一次选择。然后,汇聚节点向这些节点广播一个数据请求包,随即这些节点向汇聚节点发送一个数据回复包,数据回复包里包括节点本身的剩余能量和标识符,然后进行第2次选择,汇聚节点根据接收到的数据,比较各个节点的剩余能量,即最大剩余能量的节点将被作为中继节点,如果2个节点的剩余能量相同,则有最小标识符的节点被选为中继节点。

直到汇聚节点完成了这一轮的数据收集后,这个中继节点将再次成为普通的传感器节点,当汇聚节点移动到新的区域后,重复上面所述的过程来选择新的中继节点,来进行下一轮的数据收集。

步骤5).在中继节点确定了之后,汇聚节点逗留在这个节点的附近,汇聚节点通过这个中继节点向整个网络广播一个“谁有这个数据”的请求包,这个包不仅包含了要请求的数据,还包括汇聚节点的当前位置,如果网络中的某个节点接收了这个数据包,它将沿着汇聚节点向这个节点传输路径的反向路径回复一个“我有这个数据包”的信息包,这个节点同时记录下中继节点的位置,并保存在这个节点上,此时,这个节点就可以称为源节点。

步骤6).然后,汇聚节点通过中继节点,以多跳的形式收集来自于源节点的数据,如图4所示,数据收集是按照如下的方式进行的:

假设汇聚节点逗留区域为区域A,源节点所在的区域为区域B(源节点可能会分布在不同的区域,为了便于说明,这里只用一个区域B),首先,区域B内的主节点收集源节点发送过来的数据,并将接收到的数据聚合在一起,接下来,由B区域中的主节点向A区域中的中继节点传输数据,这时,可分为以下的三种情况,

(1)当区域A和区域B为同一个区域的时候,可以直接根据最短路径算法构建出主节点和中继节点之间的路由,沿着这条路由,主节点将聚合的数据传向中继节点,当中继节点接收了聚合的数据后,再将数据传向汇聚节点;

(2)当区域A和区域B为2个相邻的区域,B中的主节点向A中的中继节点传输数据分为2种方式,分别如图2和图3所示,第一种方式是由B中的主节点直接向A中的主节点传输数据,A中主节点收集到数据后,根据(1)将数据传向汇聚节点;第二种方式是数据传输不通过A中的主节点,由B中的主节点根据最短路径算法构建出,到A区域中继节点之间的路由,中继节点沿着这条路由收集来自于B中主节点的数据,再由中继节点将数据传向汇聚节点;

(3)当区域A和区域B为2个不相邻的区域,先根据所有区域的主节点,利用最短路径算法构建出B区域主节点和C区域主节点之间的路由(区域C和区域A相邻),B中主节点将聚合的数据沿着这条路由传向区域C中的主节点,当C区域主节点接收完数据后,此时区域C就相当于区域B,然后,根据(2)由C中的主节点向A中的中继节点传输数据,最后由中继节点将数据向汇聚节点转发。

步骤7).当汇聚节点完成了这一轮的数据收集后,它将收集的数据向基站转发,之后它则以原来的速度在网络中移动,直到接收到下一轮的数据收集请求,再重复上述的步骤。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1