本发明属于无线多媒体传感器网络领域,确切来说是涉及一种利用无线传感器网络来实现对有毒气体的监测方法,通过监控处于无规则动态变化中的气体边界来实现对整个气体目标的监测。
技术背景
近年来,随着传感器技术和无线通信技术的飞速发展,无线传感器网络(wirelesssensornetworks,wsns)在工业等领域得到了广泛应用,对连续目标的监测是当中最常见的应用领域之一。连续目标通常分布在较广的区域,其形状会发生动态的无规则变化,例如,可能会扩散或收缩,体积增大或减小,如有毒气体、海面漂浮油体等。不同于质点状的单体目标所具有的固定大小,规模较小的特点,对于连续目标的监测相比于单体目标而言较为复杂,它涉及到不同节点间的协作,由此会产生大规模的网内通信,从而给能量有限的传感器节点带来极大的负担。因此,如何利用能量等资源受限的无线传感器网络来实现对连续目标的高效监测是一个极具挑战性的问题。
当前阶段基于无线传感器网络的有毒气体监测方法中普遍存在的共同挑战是:
(1)、大多数监测方法为了识别气体边界,需利用大量节点进行庞大的信息交互,从而导致节点能量消耗过大;
(2)、为了将采集的气体信息及时上传,同时能耗更少,一般来说,均是通过选取部分代表节点进行数据融合、存储及上传的方式,而每次代表节点的选举过程也是能量消耗过快的元凶之一;
(3)、对监测网络未作出合理化设置,可能导致监测过程局部区域网络密度较低,从而导致该区域监测精度较低,或者该部分区域监测密度较高,从局部筛选节点过程,信息交互量较大,局部能耗很高。
技术实现要素:
本发明的目的是为了解决当前存在于有毒气体监测方案中,无线传感器网络能耗过大与监测的精度较低两点问题,提出了一种通过构建虚拟节点以提高精度,利用均匀网格汇聚监测信息以降低开销的有毒气体监测方法,该方法既能保证监测的高精确性,同时也能优化监测过程的能量开销。
为了达到上述目的,本发明提供了一种从构建虚拟节点角度考虑的有毒气体监测方案,该方案包括四个阶段:
(1)、节点状态调度设置阶段:从节省网络能量开支的角度对无线传感器网络节点设定了sleep/awake调度策略;
(2)、有毒气体边界处节点选择阶段:首先,利用感知信息更新确定出边界未感知节点,然后,选择出距离对应边界感知节点距离较近的边界未感知节点作为边界节点;
(3)、虚拟边界节点构建阶段:该阶段在考虑气体边界图形失真与非失真情形下在不同边界节点之间构建虚拟边界节点;
(4)、数据上传阶段:利用均匀网格思想,网格选取相应头节点,汇聚网格内所有虚拟边界节点信息,并利用不同网格头节点上传信息。
为了实现有效的监测,常规的方法是利用客观存在的实际节点的地理位置坐标信息去描述气体的边界信息,而本发明创新性的从构建虚拟节点的角度出发,考虑利用实际存在的边界节点进行进一步的信息提取,从而构建出距离目标边界更近的虚拟节点,以该类虚拟节点地理位置信息表示的气体边界具有更高的精确度。
同时,本发明首次从构建均匀网格的角度,对采集的目标边界信息进行汇聚、存储与上传,仅仅通过选取的网格头节点将数据进行上传,以此来减少远距离通信的节点个数,最终降低了监测开销。
节点状态调度设置阶段的具体步骤为:
2a.初始时刻节点处于侦听状态,感知监测网络区域是否存在目标出现,以及可能出现的对应区域。同时,任意节点u与其所有一跳邻居节点nu之间互相发送探测数据包,提前建立好邻居信息表;
2b.在步骤2a的基础之上,节点周期性的于侦听与睡眠状态间进行状态转换,当节点进入侦听状态时,若能够感知到目标,则节点的状态会立即转变为awake状态;反之,若节点进入侦听状态却无法感知到目标,则节点会立即进入sleep状态,从而进入下一周期状态转变的准备阶段;
2c.当某一节点能感知到目标,则处于活动状态,立即与其周围所有邻居节点进行信息交互,告知一跳邻居其自身能感知目标,同时依据当前周期内建立的邻居信息表,唤醒部分未感知到目标的邻居节点进入侦听状态。只有当节点无法感知到目标并且节点的邻居节点中不存在感知节点时,节点才会重新进入sleep状态。
上述节点状态调度具有以下特征:
特征1.节点的初始状态均设置为侦听,该方式的好处在于能够于初始阶段对全网络目标出现情况进行准确的分析,同时该模式下,节点无需与周围邻居通信,较为节能;
特征2.一旦某一节点被目标覆盖,则该节点会立即通知其下一跳中未被目标覆盖的邻居节点,提前唤醒该邻居节点,以此来提高监测的准确性,相应的也能降低监测时延;
特征3.当目标离开某一节点,或者某一节点能够监测到目标,但该节点的一跳邻居节点当中不存在未被感知的节点,则该节点均被设置为睡眠状态,以此来最大化的节省监测能耗。
节点状态调度设置完毕后,所有节点进入工作状态。随着气体的出现,节点的状态也将随之发生变化,此处首先介绍如何实现动态气体目标的边界识别,有毒气体的边界处节点选择阶段具体步骤为:
3a.首先确定出所有的候选边界节点,候选边界节点的选择分为感知阶段与更新阶段,其中感知阶段表示感知气体是否出现及可能出现的状态,更新阶段即节点邻居信息表更新,根据感知与更新信息过程筛选出的候选边界节点,将为边界节点的正确选择提供依据;
其中,节点邻居信息表更新即节点提前建立好自身的邻居信息表,表中记录有节点对应的所有一跳邻居节点的信息,信息内容主要是节点的监测状态、节点的id以及节点的地理位置,该信息表会依据监测周期进行更新;
3b.在步骤3a的基础上进行边界节点的确定,首先,边界感知节点依据其自身的地理位置坐标及邻居节点的地理位置坐标信息,对不同id号的一跳邻居节点进行欧式距离的遍历排序计算。假设一边界感知节点u的坐标为(xu,yu),其对应的邻居cbn集合中一节点坐标为vi(xi,yi),则节点u、v间对应的欧式距离为:
上述有毒气体边界处节点选择阶段的特征为:
特征1.利用节点存有的一跳邻居信息列表中的信息提前确定出候选边界节点;
特征2.该邻居信息列表会进行周期性更新,以确保消息的准确性以及实时性;
特征3.本发明在候选边界节点的基础上,对边界节点进行了进一步的精选,精选的方式是利用某一边界感知节点所有对应的边界未感知节点,对边界未感知节点到该边界感知节点的距离进行遍历,选择出距离最近的边界未感知节点作为该边界感知节点对应的边界节点;
特征4.对气体边界附近的节点做了更近一步的细分,主要划分为了边界感知节点与边界未感知节点;
特征5.一旦某一区域的边界感知节点与边界未感知节点确定后,本发明仅利用该类节点进行通信,以节省能耗,同时,仅通过边界未感知节点进行边界节点的筛选。
边界节点确定完毕后,将进行虚拟边界节点构建,虚拟边界节点的构建过程有两种情形:
情形1.不考虑边界失真时,仅利用边界感知节点与其对应的边界节点之间构建虚拟边界节点,以提高监测的精确度。假设节点a的地理位置坐标为(xa,ya),对应节点i的坐标为(xi,yi),则对应的虚拟节点地理位置的坐标为
情形2.考虑目标边界形状失真:考虑边界失真时,不仅利用边界感知节点与其对应的边界节点之间构建虚拟边界节点,同时为了解决网络中局部区域密度较低可能导致目标局部图形失真性较大,从而在两邻居边界感知节点之间又构建了虚拟边界感知节点,然后在虚拟边界感知节点与对应的边界节点之间构建出虚拟边界节点。
若实际节点a(xa,ya)、c(xc,yc),则进一步引入的虚拟感知节点p坐标为:
其中,假设传感器节点u1与u2为一跳邻居节点,真实目标边界线位于节点u1、u2之间,假设两节点在网络中的地理位置坐标分别为(x1,y1)和(x2,y2),两节点坐标的连线与真实连续目标边界线的交点坐标为(xτ,yτ)。
若分别以两节点作为边界节点得到的误差欧式距离分别为
容易得出ξd_vr≤γd_error,当且仅当节点u1与u2靠近为同一地理坐标位置这一极限情况存在时等号方可成立,因此,当取边界感知节点与对应边界非感知节点间的虚拟节点位置时,可以达到更好的监测精度。
虚拟边界节点的构建过程有以下特征:
特征1.虚拟边界节点的构建过程,仅仅需要边界感知节点利用其保存有的所有一跳邻居边界未感知节点信息即可,无需再进行通信,从而能够进一步节省监测开销;
特征2.虚拟边界节点的地理位置等信息,直接保存于用于计算的边界感知节点当中,无需再进行信息的汇聚。
虚拟边界节点信息确定完毕后,将对所有监测信息进行聚合并上传,数据上传阶段的具体步骤为:
5a.网格划分:
首先,于监测区域中选取一参考地理位置坐标(x0,y0),将监测区域划分为若干小型、虚拟且均匀的正方形网格,任一网格单元的边长尺寸大小为α,每个网格单元拥有自身的网格坐标cgrid,每个节点依据自身地理位置坐标(x,y),可由式
其次,每个网格单元均拥有自身的网格头节点,网格头节点的选取依据如下机制:给网格单元cgrid(a,b)中坐标为(x,y)的节点都分配一个倒计时器,倒计时时间设置为
其中r_center代表节点i距离网格单元中心位置的距离,eresidual_i代表节点i的剩余能量。此处主要考虑的选取因素是:①尽可能选取最靠近网格中心位置的节点;②网格cgrid(a,b)中的头节点应尽可能拥有最大的剩余能量,网格cgrid(a,b)中心点坐标
则节点(x,y)距离所在网格cgrid(a,b)中心的距离:
在对应cgrid(a,b)中,节点倒计时时间结束的顺序会在对应网格内洪泛,发送头消息通知报告包,如果节点u于倒计时结束前已接收到来自其它节点传来的此类通知包,则节点u会取消自身头消息的通知洪泛,并且保存所接收的头节点的地理位置坐标;
5b.数据汇聚与转发:在数据汇聚与转发阶段,首先,边界感知节点确定了自身所在的单元格信息;然后,将边界感知节点储存的虚拟边界节点位置信息汇聚给各自所在的单元格头节点,头节点对相关信息进行整合,并发送一个反馈信息包给对应网格内的边界感知节点,代表其已接收到消息包并确认信息未丢失;最后,对收集的数据包进行上传,上传路由的原则是:只在不同网格头节点之间进行通信,无其余类型的节点参与,网格头节点u_ghd选择下一跳当中距离sink节点所在单元格位置最近的网格头节点v_ghd进行数据转发,此处v_ghd可理解为wsns中的数据中转站。
与现有连续目标监测方法相比,本发明所具有的积极效果是:
(1)以虚拟节点地理位置信息为核心思想:虚拟节点在vnoe中的特点为:①无需参与通信,能量开销为0;②虽然非实际存在,但仍然具有实际的地理位置坐标(距目标边界更近)、节点id号等信息,信息保存于用于构建虚拟节点的邻居感知节点当中,以此来节省网络能耗,延长网络的生命周期;
(2)监测区域局部密度较低时,目标边界的准确还原策略:vnoe算法构建虚拟节点,除了节省能耗与提高监测精度外,还有一个目的是防止用于监测目标的wsns中存在局部稀疏的情况下,此部分区域目标边界图形形状无法被准确还原。根据实际的边界感知节点的地理位置信息,适当增大其感知半径,寻找周边邻居边界感知节点,当超过vnoe设定的阈值,则在两个相邻的、实际存在的边界感知节点之间引入虚拟边界感知节点,这样设计的目的是有效还原出连续目标的边界线形状(无规则多边形特性);
(3)从信息汇聚、传递的角度设计路由策略:采用构建网格思想,根据节点的剩余能量高和距网格中心的距离近两点原则,于每个均匀网格中选出一个头节点,将网格中所有虚拟节点的信息直接汇总到对应的网格头节点,然后利用贪婪算法,仅需网格头节点之间相互通信,最终将聚合消息包发送给sink节点,大大降低了通信开销。
附图说明
如图1为节点状态调度示意图;
如图2为候选边界节点选择示意图;
如图3为边界节点选择示意图;
如图4为考虑边界失真分析示意图;
如图5为基于网格划分的数据汇聚与上传示意图。
具体实施方式
下面结合附图对本发明作进一步描述。
一种无线传感器网络中基于虚拟节点的有毒气体监测方法,包括以下四个阶段:
(1)、节点状态调度设置阶段:从节省网络能量开支的角度对节点设定了sleep/awake调度策略;
(2)、有毒气体边界处节点选择阶段:首先,利用感知信息更新确定出边界未感知节点,然后,选择出距离对应边界感知节点距离较近的边界未感知节点作为边界节点;
(3)、虚拟边界节点构建阶段:该阶段在考虑气体边界图形失真与非失真情形下在不同边界节点之间构建虚拟边界节点;
(4)、数据上传阶段:利用均匀网格思想,网格选取相应头节点,汇聚网格内所有虚拟边界节点信息,并利用不同网格头节点上传信息。
上述步骤(1)中节点状态调度设置阶段的具体步骤为:
(2a)、初始时刻节点处于侦听状态,感知监测网络区域是否存在目标出现,以及可能出现的对应区域。同时,任意节点u与其所有一跳邻居节点nu之间互相发送探测数据包,提前建立好邻居信息表;
(2b)、在步骤(2a)的基础之上,节点周期性的于侦听与睡眠状态间进行状态转换,当节点进入侦听状态时,若能够感知到目标,则节点的状态会立即转变为awake状态;反之,若节点进入侦听状态却无法感知到目标,则节点会立即进入sleep状态,从而进入下一周期状态转变的准备阶段;
(2c)、当某一节点能感知到目标,则处于活动状态,立即与其周围所有邻居节点进行信息交互,告知一跳邻居其自身能感知目标,同时依据当前周期内建立的邻居信息表,唤醒部分未感知到目标的邻居节点进入侦听状态。只有当节点无法感知到目标并且节点的邻居节点中不存在感知节点时,节点才会重新进入sleep状态。
上述步骤(1)中节点状态调度设置阶段具有以下特征:
特征1、节点的初始状态均设置为侦听,该方式的好处在于能够于初始阶段对全网络目标出现情况进行准确的分析,同时该模式下,节点无需与周围邻居通信,较为节能;
特征2、一旦某一节点被目标覆盖,则该节点会立即通知其下一跳中未被目标覆盖的邻居节点,提前唤醒该邻居节点,以此来提高监测的准确性,相应的也能降低监测时延;
特征3、当目标离开某一节点,或者某一节点能够监测到目标,但该节点的一跳邻居节点当中不存在未被感知的节点,则该节点均被设置为睡眠状态,以此来最大化的节省监测能耗。
上述步骤(2)中有毒气体的边界处节点选择阶段具体步骤为:
(3a)、首先确定出所有的候选边界节点,候选边界节点的选择分为感知阶段与更新阶段,其中感知阶段表示感知气体是否出现及可能出现的状态,更新阶段即节点邻居信息表更新,根据感知与更新信息过程筛选出的候选边界节点,将为边界节点的正确选择提供依据;
(3b)、在步骤(3a)的基础上进行边界节点的确定,首先,边界感知节点依据其自身的地理位置坐标及邻居节点的地理位置坐标信息,对不同id号的一跳邻居节点进行欧式距离的遍历排序计算。假设一边界感知节点u的坐标为(xu,yu),其对应的邻居cbn集合中一节点坐标为vi(xi,yi),则节点u、v间对应的欧式距离为:
上述的有毒气体边界处节点选择阶段的特征为:
特征1、利用节点存有的一跳邻居信息列表中的信息提前确定出候选边界节点;
特征2、该邻居信息列表会进行周期性更新,以确保消息的准确性以及实时性;
特征3、本发明在候选边界节点的基础上,对边界节点进行了进一步的精选,精选的方式是利用某一边界感知节点所有对应的边界未感知节点,对边界未感知节点到该边界感知节点的距离进行遍历,选择出距离最近的边界未感知节点作为该边界感知节点对应的边界节点;
特征4、对气体边界附近的节点做了更近一步的细分,主要划分为了边界感知节点与边界未感知节点;
特征5、一旦某一区域的边界感知节点与边界未感知节点确定后,本发明仅利用该类节点进行通信,以节省能耗,同时,仅通过边界未感知节点进行边界节点的筛选。
上述步骤(3)中虚拟边界节点构建阶段的特征为:
特征1、不考虑边界失真时,仅利用边界感知节点与其对应的边界节点之间构建虚拟边界节点,以提高监测的精确度;
特征2、考虑边界失真时,不仅利用边界感知节点与其对应的边界节点之间构建虚拟边界节点,同时为了解决网络中局部区域密度较低可能导致目标局部图形失真性较大,从而在两邻居边界感知节点之间又构建了虚拟边界感知节点,然后在虚拟边界感知节点与对应的边界节点之间构建出虚拟边界节点;
特征3、虚拟边界节点的构建过程,仅仅需要边界感知节点利用其保存有的所有一跳邻居边界未感知节点信息即可,无需再进行通信,从而能够进一步节省监测开销;
特征4、虚拟边界节点的地理位置等信息,直接保存于用于计算的边界感知节点当中,无需再进行信息的汇聚。
上述步骤(3)中虚拟边界节点构建阶段分为两种情形:
情形1.不考虑目标边界形状失真:假设节点a的地理位置坐标为(xa,ya),对应节点i的坐标为(xi,yi),则对应的虚拟节点地理位置的坐标为
情形2.考虑目标边界形状失真:若实际节点a(xa,ya)、c(xc,yc),则进一步引入的虚拟感知节点p坐标为:
其中,假设传感器节点u1与u2为一跳邻居节点,真实目标边界线位于节点u1、u2之间,假设两节点在网络中的地理位置坐标分别为(x1,y1)和(x2,y2),两节点坐标的连线与真实连续目标边界线的交点坐标为(xτ,yτ)。
若分别以两节点作为边界节点得到的误差欧式距离分别为
容易得出ξd_vr≤γd_error,当且仅当节点u1与u2靠近为同一地理坐标位置这一极限情况存在时等号方可成立,因此,当取边界感知节点与对应边界非感知节点间的虚拟节点位置时,可以达到更好的监测精度。
上述步骤(4)中数据上传阶段的具体步骤为:
(5a)、网格划分:首先,于监测区域中选取一参考地理位置坐标(x0,y0),将监测区域划分为若干小型、虚拟且均匀的正方形网格,任一网格单元的边长尺寸大小为α,每个网格单元拥有自身的网格坐标cgrid,每个节点依据自身地理位置坐标(x,y),可由式
其次,每个网格单元均拥有自身的网格头节点,网格头节点的选取依据如下机制:给网格单元cgrid(a,b)中坐标为(x,y)的节点都分配一个倒计时器,倒计时时间设置为
其中r_center代表节点i距离网格单元中心位置的距离,eresidual_i代表节点i的剩余能量。此处主要考虑的选取因素是:①尽可能选取最靠近网格中心位置的节点;②网格cgrid(a,b)中的头节点应尽可能拥有最大的剩余能量,网格cgrid(a,b)中心点坐标
则节点(x,y)距离所在网格cgrid(a,b)中心的距离:
在对应cgrid(a,b)中,节点倒计时时间结束的顺序会在对应网格内洪泛,发送头消息通知报告包,如果节点u于倒计时结束前已接收到来自其它节点传来的此类通知包,则节点u会取消自身头消息的通知洪泛,并且保存所接收的头节点的地理位置坐标。
(5b)、数据汇聚与转发:在数据汇聚与转发阶段,首先,边界感知节点确定了自身所在的单元格信息;然后,将边界感知节点储存的虚拟边界节点位置信息汇聚给各自所在的单元格头节点,头节点对相关信息进行整合,并发送一个反馈信息包给对应网格内的边界感知节点,代表其已接收到消息包并确认信息未丢失;最后,对收集的数据包进行上传,上传路由的原则是:只在不同网格头节点之间进行通信,无其余类型的节点参与,网格头节点u_ghd选择下一跳当中距离sink节点所在单元格位置最近的网格头节点v_ghd进行数据转发,此处v_ghd可理解为wsns中的数据中转站。
如图1所示,初始时刻节点处于侦听状态,感知监测网络区域是否存在目标出现,以及可能出现的对应区域。节点周期性的于侦听与睡眠状态间进行状态转换,当节点进入侦听状态时,若能够感知到目标,则节点的状态会立即转变为awake状态;反之,若节点进入侦听状态却无法感知到目标,则节点会立即进入sleep状态,从而进入下一周期状态转变的准备阶段。当某一节点能感知到目标,则处于活动状态。倘若节点处于sleep或awake状态过程中出现节点能量耗尽及故障等情况,则节点立即进入死亡状态,无法再进行新一轮周期性的状态转换过程。
如图2所示,假设目标为一单方向扩散的连续目标,目标局部的单向边界线(图中虚线)由t0时刻扩散至t1时刻的过程中,节点m发送evt-msg(id,s)消息包给节点e,节点e会依据建立的邻居消息表进行数据更新并加入感知,同时认定自身为边界未感知节点,从而被判定为候选边界节点;从时刻t1至时刻t2的过程中,目标将逐渐远离节点e,则此时节点e会发送相应evt-msg(id,s)给邻居节点m与x,同时认定自身为边界未感知节点,在此时间段被识别为候选边界节点;同理在目标边界线由t2进入t3过程中,节点s收到p、q发来的evt-msg(id,s),同时更新自己作为边界未感知节点,同样被判定为候选边界节点。
如图3所示,波浪线代表当前采样周期目标的局部边界线,其中,a、b等实心节点代表边界感知节点,i、o等非实心节点代表cbn,三角形节点i、j、l、m、o代表使用欧式距离规则遍历排序选出的边界节点。例如a、b、e、f、h等节点对应只有一个候选边界邻居节点,在节点i通过候选边界节点判定规则被识别为候选边界节点后,其会发送一个确认反馈包消息给邻居节点a,节点a依据所接收的消息包计算与节点i的欧式距离,计算完成后发送一个bn节点确认包bn_ctpi_msg给欧式距离最近的节点,对节点a而言即为节点i,同时,依据地理位置坐标开始虚拟边界节点信息构建的准备过程。对于节点g,其会同时接收到来自节点m与n的候选边界节点识别确认包,则利用上述规则进行遍历排序,排序结果会相应的传送给m与n,而由于欧式距离规则选出的m节点具有更优的距离,因此,在节点g传来的消息包中会包含边界节点信息确认指标符号bn_sbl。
如图4所示,a→c→e间采样的边界信息与真实边界线之间存在明显图形失真现象(未引入节点p前)。而e→g→h间节点较为密集,所以并不存在明显失真现象。a→c段,在两稀疏邻居边界感知节点a与c之间引入新的虚拟感知节点,若实际节点a(xa,ya)、c(xc,yc),则进一步引入的虚拟感知节点p坐标为:
如图5所示,图中黑色实心圆点代表连续目标覆盖区域内节点,空心圆点代表通过本章算法选出的虚拟边界节点,星型节点代表各自网格内的头节点,三角形节点代表sink节点,x0代表初始划分虚拟网格时选取的参考节点,实线箭头代表将各自网格中虚拟边界节点的信息汇聚到网格头节点,虚线箭头代表各网格头节点之间的数据路由过程,(2,2)等代表网格的坐标。