发明名称 一种无线传感器网络中的数据采集方法
摘要 本发明公开了一种无线传感器网络中的数据采集方法,对无线传感器网络内的节点分簇和选择簇首的方法,在对普通节点构造的二级簇的基础上,对被监测区域进行分区,然后为基站设计了一种合理调度多个数据采集器进行数据采集的方法,达到减少节点的能量消耗并降低数据延迟的目的。普通节点监测到事件时,只需发送一个请求信息给一级簇首,一级簇首通过二级簇首将请求信息传递给基站,然后等待数据采集器来采集数据,减少了数据传输时需要的大量能量,延长了传感器网络的生命周期。
申请公布号 CN102695190B 申请公布日期 2014.10.29
申请号 CN201210151192.7 申请日期 2012.05.16
申请人 东南大学 发明人 张淳;费树岷;周杏鹏
分类号 H04W24/02(2009.01)I;H04W52/02(2009.01)I 主分类号 H04W24/02(2009.01)I
代理机构 南京苏高专利商标事务所(普通合伙) 32204 代理人 柏尚春
主权项 一种无线传感器网络中的数据采集方法,其特征在于该方法包括以下步骤:假设每个传感器节点知道自身位置;步骤1:获得输入数据:传感器网络内的传感器节点将自己的标识号、位置和剩余能量发送给基站,基站进行存储;步骤2:基站为每个节点找到离它最近的节点:假设传感器网络中共有K个节点,则基站建立K个数组,每个数组包含一个节点和一个距离此节点最近的节点;步骤3:初次合并:基站对含有相同节点的数组进行合并,保证每个节点都能与距离自己最近的节点在同一个簇内,合并以后的节点群称为一级簇;步骤4:控制一级簇的大小:如果一级簇内节点的数目没有超过预先设定的阈值,则执行步骤5;如超过预先设定的阈值,则分簇结束;其中,阈值设为k/10;步骤5:二次合并:基站对步骤3形成的一级簇进行二次合并;对于任意两个一级簇,如果满足公式(1),则进行合并;否则,不合并;<maths num="0001" id="cmaths0001"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>d</mi><mi>is</mi></msub><mo>&lt;</mo><msub><mi>d</mi><mi>js</mi></msub></mtd></mtr><mtr><mtd><msubsup><mi>d</mi><mi>ij</mi><mn>2</mn></msubsup><mo>&lt;</mo><mfrac><mn>1</mn><mi>a</mi></mfrac><mrow><mo>(</mo><msubsup><mi>d</mi><mi>js</mi><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>d</mi><mi>is</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000524712540000011.GIF" wi="551" he="319" /></maths>           公式(1)定义C<sub>i</sub>、C<sub>j</sub>分别是ID为i、j的簇,其中d<sub>is</sub>和d<sub>js</sub>分别为C<sub>i</sub>和C<sub>j</sub>的中心到基站的距离,d<sub>ij</sub>为C<sub>i</sub>的中心和C<sub>j</sub>的中心的距离,1/a为信息融合律,即信息融合率为融合后的信息量和融合前的比值,a=2;步骤6:计算节点优先级:一级簇的分簇完成之后,基站计算每个一级簇内的节点的优先级,对于任意两个节点,假设它们的标识号分别为n和m,采用如下方式判断优先级;(ⅰ)如满足公式(2),则节点n的优先级高于节点m;(ⅱ)如满足公式(3)和(4),则节点n的优先级高于节点m;(ⅲ)如满足公式(3)和(5),则节点m的优先级高于节点n;(ⅳ)如满足公式(6),则节点m的优先级高于节点n;<maths num="0002" id="cmaths0002"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>d</mi><mi>np</mi></msub><mo>&lt;</mo><msub><mi>d</mi><mi>mp</mi></msub></mtd></mtr><mtr><mtd><msub><mi>d</mi><mi>nk</mi></msub><mo>&lt;</mo><msub><mi>d</mi><mi>mk</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000524712540000021.GIF" wi="304" he="219" /></maths>          公式(2)<maths num="0003" id="cmaths0003"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>d</mi><mi>np</mi></msub><mo>&lt;</mo><msub><mi>d</mi><mi>mp</mi></msub></mtd></mtr><mtr><mtd><msub><mi>d</mi><mi>nk</mi></msub><mo>></mo><msub><mi>d</mi><mi>mk</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000524712540000022.GIF" wi="288" he="207" /></maths>          公式(3)<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><msubsup><mi>d</mi><mi>mp</mi><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>d</mi><mi>np</mi><mn>2</mn></msubsup><mo>></mo><mfrac><mn>1</mn><mi>a</mi></mfrac><mrow><mo>(</mo><msubsup><mi>d</mi><mi>nk</mi><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>d</mi><mi>mk</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000524712540000023.GIF" wi="636" he="176" /></maths>        公式(4)<maths num="0005" id="cmaths0005"><math><![CDATA[<mrow><msubsup><mi>d</mi><mi>mp</mi><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>d</mi><mi>np</mi><mn>2</mn></msubsup><mo>&lt;</mo><mfrac><mn>1</mn><mi>a</mi></mfrac><mrow><mo>(</mo><msubsup><mi>d</mi><mi>nk</mi><mn>2</mn></msubsup><mo>-</mo><msubsup><mi>d</mi><mi>mk</mi><mn>2</mn></msubsup><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000524712540000024.GIF" wi="703" he="194" /></maths>        公式(5)<maths num="0006" id="cmaths0006"><math><![CDATA[<mfenced open='{' close=''><mtable><mtr><mtd><msub><mi>d</mi><mi>np</mi></msub><mo>></mo><msub><mi>d</mi><mi>mp</mi></msub></mtd></mtr><mtr><mtd><msub><mi>d</mi><mi>nk</mi></msub><mo>></mo><msub><mi>d</mi><mi>mk</mi></msub></mtd></mtr></mtable></mfenced>]]></math><img file="FDA0000524712540000025.GIF" wi="319" he="242" /></maths>            公式(6)其中,d<sub>np</sub>是节点n到和它同一个簇内的其他节点的距离的和的平均值,d<sub>mp</sub>是节点m到和它同一个簇内的其他节点的距离的和的平均值,d<sub>nk</sub>是节点n到基站的距离,d<sub>mk</sub>是节点m到基站的距离;1/a为信息融合律,即信息融合率为融合后的信息量和融合前的比值,a=2;基站根据计算结果,找到每个一级簇内优先级最高的节点,作为该一级簇的一级簇首,每个一级簇包含一个一级簇首和若干普通节点;步骤7:基站给每个一级簇首发送一个消息包,包括和一级簇首在同一个一级簇的所有普通节点的ID、位置信息;一级簇首接收到消息包后,将自己的ID、位置信息发送给该一级簇内所有的普通节点;步骤8:将所有一级簇首,按照步骤2、3、4、5的方法,再次进行分簇,形成二级簇;步骤9:按照步骤6的方法,为步骤8中由一级簇首构成的各个二级簇选择二级簇首;每个二级簇包括一个二级簇首和若干一级簇首;步骤10:基站给每个二级簇首发送一个消息包,包括和二级簇首在同一个二级簇的一级簇首的ID、位置信息;二级簇首接收到消息包后,将自己的ID、位置信息发送给所有和自己在同一个二级簇的一级簇首;步骤11:对传感器网络的监测区域进行分区:将监测区域划分为若干个小区域,小区域的个数与步骤9得到的二级簇首的个数相同,每个小区域中均需包含以下三种节点:一个二级簇首、隶属于这个二级簇首的若干一级簇首、隶属于这些一级簇首的若干普通节点;步骤12:为每个小区域选择一个索引节点:每个小区域中的二级簇首为该区域的索引节点;步骤13:数据采集:当一个普通节点监测到事件发生时,会产生一个请求信息,请求信息经过一级簇首、二级簇首,最后传递给基站,基站会接收到的多个请求信息,按照事件发生的时间将这些请求信息形成了一个任务队列,基站根据以下两个因素调度移动数据采集器去采集数据:(ⅰ)事件发生的时间,(ⅱ)监测到事件的普通节点所在小区域;按照事件发生的时间先后顺序,基站依次调度移动数据采集器去采集数据;当同一个时间点有多个小区域内的普通节点监测到有事件发生时,基站计算小区域的索引节点,即二级簇首和移动数据采集器之间的距离,然后派遣距离每个小区域的二级簇首最近的移动数据采集器去采集该区域的数据;移动数据采集器到达该索引节点所在的区域以后,索引节点会将监测到事件的普通节点所在的一级簇的一级簇首信息发送给移动数据采集器;移动数据采集器会移动到该一级簇首处,移动数据采集器移动到该一级簇首的位置后,发送给该一级簇首一个请求信息,则该一级簇首的普通节点就会将事件数据包发送给移动数据采集器;移动数据采集器采集完一个小区域内的数据后,将采集到的数据和自己的当前位置报告给基站。
地址 210096 江苏省南京市四牌楼2号
您可能感兴趣的专利