发明名称 水下传感器网络高时间分辨率数据虚拟簇收集方法
摘要 本发明公开了一种水下传感器网络高时间分辨率数据虚拟簇收集方法,先建立网络节点分布模型,在此基础上将网络从空间上分割成若干子区域,并建立子区域数据收集耗时模型,估计各子区域进行数据收集所需要的时间,将网络划分为更合理的子区域,达到子区域划分与收集耗时的平衡。为每一优化合并后的子区域分配一个执行器节点,并确定其部署位置,以便于更高效的收集数据。当执行器到达目的地后,建立子区域中节点的路由,从而构建虚拟簇。执行器节点充当簇头,在虚拟簇这种小规模的网络中高速收集其他固定节点的监测数据,以实现对无线传感器网络高时间分辨率监测数据的收集,数据收集完毕,虚拟簇解散,网络切换回原有现场监测状态。
申请公布号 CN101355390B 申请公布日期 2011.08.10
申请号 CN200810048774.6 申请日期 2008.08.12
申请人 武汉大学 发明人 李德识;陈健;孙涛;周密;王锦程
分类号 H04L12/28(2006.01)I;H04L29/06(2006.01)I;H04B13/02(2006.01)I;G01S5/02(2010.01)I;G01S1/02(2010.01)I 主分类号 H04L12/28(2006.01)I
代理机构 武汉华旭知识产权事务所 42214 代理人 刘荣
主权项 一种水下传感器网络高时间分辨率数据虚拟簇收集方法,其特征在于包括以下步骤:1)预先将传感器节点部署在需要监测的区域内:将传感器节点根据GPS信号或者其它无线传感器网络定位算法确定其自身地理位置,并在网络建立阶段将节点位置作为组网信息发送到监控中心,以此建立无线传感器网络节点分布模型;2)以能耗、时延为约束条件,对监测区域的传感器节点进行逐次逼近的网络区域划分:首先找到监测区域的边缘节点,画出一个矩形;再根据节点总数量和约束条件下的簇最优节点数量进行初步分簇划分;然后根据数据收集耗时模型估计每个子区域中数据收集延时能否满足要求,若不满足,则对监测区域进一步细分,直到所有子区域都能满足约束条件;所述网络区域划分是首先对无线传感器网络覆盖的监测区域进行初步划分,根据监测区域的长宽比和网络节点的数量将矩形分为若干个子区域,如下式所示:nr∶nc=Rl∶Rwnr×nc×r≈Nnr和nc是划分成子区域的行数与列数,Rl和Rw是矩形监测区域的长与宽,N是网络节点总数,r是一个比例系数,当某个子区域中的节点密度较大,不能满足延时要求时,需要对该子区域进一步细分,然后重新对每个子区域所需数据收集延迟时间进行估计,直到所有的子区域都能满足延时约束;网络区域划分后可用节点分布模型表示:设目标无线传感器网络由N个子网构成,第i个子网包含有Mi个固定节点,每个固定节点S用其x轴坐标和y轴坐标表示,第i个子网的第j个节点的位置模型为:{Si,j(xi,j,yi,j):0≤xi,j≤Length,0≤yi,j≤Width},其中Length,Width分别为监测区域的长和宽,整个无线传感器网络节点分布模型可表示为: <mfenced open='{' close=''> <mtable> <mtr> <mtd> <msub> <mi>SubNet</mi> <mn>1</mn> </msub> <mo>=</mo> <mo>{</mo> <msub> <mi>S</mi> <mn>1,1</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>1,2</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msub> <mi>S</mi> <mrow> <mn>1</mn> <mo>,</mo> <mi>M</mi> <mn>1</mn> </mrow> </msub> <mo>}</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>SubNet</mi> <mn>2</mn> </msub> <mo>=</mo> <mo>{</mo> <msub> <mi>S</mi> <mn>2,1</mn> </msub> <mo>,</mo> <msub> <mi>S</mi> <mn>2,2</mn> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msub> <mi>S</mi> <mrow> <mn>2</mn> <mo>,</mo> <mi>M</mi> <mn>2</mn> </mrow> </msub> <mo>}</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>SubNet</mi> <mi>i</mi> </msub> <mo>=</mo> <mo>{</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>,</mo> <mn>2</mn> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msub> <mi>S</mi> <mrow> <mi>i</mi> <mo>,</mo> <mi>Mi</mi> </mrow> </msub> <mo>}</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>SubNet</mi> <mi>N</mi> </msub> <mo>=</mo> <mo>{</mo> <msub> <mi>S</mi> <mrow> <mi>N</mi> <mo>,</mo> <mn>1</mn> </mrow> </msub> <mo>,</mo> <msub> <mi>S</mi> <mrow> <mi>N</mi> <mo>,</mo> <mn>2</mn> </mrow> </msub> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msub> <mi>S</mi> <mrow> <mi>N</mi> <mo>,</mo> <mi>MN</mi> </mrow> </msub> <mo>}</mo> </mtd> </mtr> </mtable> </mfenced>3)利用步骤2中各子区域进行数据收集耗时模型作为参考依据,通过子区域优化合并算法删除不包含节点的子区域,如果子区域包含节点数量小于约定值,也要进行相邻子区域行合并,达到区域划分与收集耗时的平衡;所述子区域优化合并算法包括以下步骤:区域划分算法将网络分成若干个按网格分布的子区域,根据数据收集耗时模型可以计算出每个子区域进行数据收集消耗的时间,由此建立一个数据收集耗时矩阵,矩阵中的每一个元素值代表相应网格位置的子区域进行数据收集预计消耗的时间,若某子区域不能满足约束延时要求,则需要进一步拆分,数据收集耗时矩阵也随之更新,直到所有子区域都能满足约束要求;在满足约束条件的前提下,合并数据收集耗时较小的相邻子区域,尽量减少子区域的数量,合并的方法是从位于(1,1)的子区域开始,按照从左到右自上而下的顺序合并数据收集耗时较小的相邻子区域,合并后的子区域必须满足约束条件,当某子区域有多个相邻子区域都能与其合并时,选择合并后耗时最小的一个合并;4)确定子区域中执行器节点的部署位置:每个子区域对应一个执行器节点,用于充当该区域数据收集时的簇头节点,其部署位置可根据具体要求,采用最短通信距离算法、最小最大通信跳数算法和以平衡节点能耗为目的的带权重的节点重心算法确定,然后将执行器节点自水面投放进入现场监测网络,进入预设位置;5)执行器节点进入预设位置后,按照虚拟簇形成方法构建虚拟簇:各执行器节点以泛洪方式向周围的传感器节点发布包含各执行器节点信息的网络连接请求,该连接请求在逐跳传递的过程中记录跳转节点路径,一并放入连接请求信息之中;传感器节点接收到某个执行器节点发布的请求信号后,将在本地保存一份,并将该请求信号增加最新跳转路径后发布给其它邻居节点;同时经由原请求信号中记录的跳转路径逆向向执行器节点回送一份带自己节点ID信息的响应信号;一旦某个传感器节点已经接收了一份请求信号并保存后,将不再接收其它节点传递过来的请求信号;重复上述步骤,直到所有传感器节点的回送响应信号被各个执行器节点接收;执行器节点根据多跳回送路径建立各虚拟簇的路由表;所述虚拟簇形成方法包括以下步骤:执行器节点进入预设位置后,按照泛洪的方式向周围的传感器节点发布包含各执行器节点信息的网络连接请求,该连接请求在逐跳传递的过程中记录跳转节点路径,一并放入连接请求信息之中;传感器节点接收到某个执行器节点发布的请求信号后,将在本地保存一份,并将该请求信号增加最新跳转路径后发布给其它邻居节点;同时经由原请求信号中记录的跳转路径逆向向执行器节点回送一份带自己节点ID信息的响应信号;一旦某个传感器节点已经接收了一份请求信号并保存后,将不再接收其它节点传递过来的请求信号;重复上述步骤,直到所有传感器节点的回送响应信号被各个执行器节点接收;执行器节点根据多跳回送路径建立各虚拟簇的路由表;6)虚拟簇构建完成后,由执行器节点充当簇头,根据各虚拟簇路由表对每簇中传感器节点的高时间分辨率监测数据进行收集:若某个传感器节点的数据传送完毕后,将向充当簇头的执行器节点发出缓冲区空的结束命令;执行器节点接收到本簇中所有传感器节点的结束命令后,将发出响应信号;虚拟簇随之解散,网络切换到原有的水下传感器网络现场监测状态,执行器返回水面,将收集到的高时间分辨率数据传递给水面监控中心。
地址 430072 湖北省武汉市武昌珞珈山