发明名称 基于网络区域划分和距离的节能分簇路由方法
摘要 基于网络区域划分和距离的节能分簇路由方法。针对无线传感网络“热点”问题,本发明提出一种基于距离和网络区域划分的非均衡分簇协议(UCNDD),在UCNDD算法设计中,采用网络区域划分与分簇相结合的算法,首先定义一个以基站为圆心的环形节点临域,根据距离基站的节点距离将网络划分,临域节点仅作为与基站联系的节点,其余范围的节点,执行优化的分簇路由协议,采用定时机制建立簇,并设定节点不同的竞争半径,使整个网络呈现不均等的分簇,在发送信息路径选择上,亦综合考虑了簇头节点的能量,距离及节点度信息,来选择下一跳节点。通过两种机制相结合的方式,在所适用的区域,能更好的平衡整个网络的能量消耗,延长网络的生存周期。
申请公布号 CN105323818A 申请公布日期 2016.02.10
申请号 CN201510752454.9 申请日期 2015.11.04
申请人 天津理工大学 发明人 张德干;刘思;李文杰;李可;宋孝东
分类号 H04W40/02(2009.01)I;H04W40/10(2009.01)I;H04W40/20(2009.01)I;H04W40/24(2009.01)I 主分类号 H04W40/02(2009.01)I
代理机构 天津佳盟知识产权代理有限公司 12002 代理人 侯力
主权项 基于网络区域划分和距离的节能分簇路由方法,其特征在于该方法主要包括如下关键步骤:第1、网络区域划分:在M×M的监测区域中,基站位于监测区域的外部,距离基站较近区域的节点,作为整个监测区域的中继节点与基站通信,这部分节点所在的区域定义为临域,这些节点称为临域节点,其他节点皆为非邻域节点;我们采用如下方式选取临域的范围,以基站为圆心,向外画环形,以R为第一层的半径,环与环之间的距离为r,则:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>r</mi><mo>=</mo><mn>2</mn><msqrt><mfrac><mrow><mi>M</mi><mo>&times;</mo><mi>M</mi></mrow><mrow><mi>n</mi><mo>&CenterDot;</mo><mi>&pi;</mi></mrow></mfrac></msqrt></mrow>]]></math><img file="FDA0000838968310000011.GIF" wi="320" he="144" /></maths>其中r为临域环形的半径差,n为区域中节点的总个数,M为方形监测区域的边长长度,R为基站与区域边界的最近距离;如果节点到基站的距离d<sub>toBS</sub>(N<sub>i</sub>)满足:d<sub>toBS</sub>(N<sub>i</sub>)≤R+r,1≤i≤n,则此节点标记自己为临域节点,否则,则为非邻域普通节点,N<sub>i</sub>为节点的唯一标识ID;第2、簇的建立:分簇阶段,临域节点进入休眠,并且在每轮簇的重构阶段都进入休眠状态,非临域节点执行分簇;第2.1、非临域节点在确定自己的区域后,每个节点计算自己的竞争半径,计算公式为:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msub><mi>N</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>R</mi><mo>)</mo></mrow><mo>=</mo><mo>&lsqb;</mo><mn>1</mn><mo>-</mo><mi>c</mi><mfrac><mrow><msub><mi>d</mi><mrow><mi>d</mi><mi>i</mi><mi>s</mi><mi>t</mi></mrow></msub><mo>-</mo><msub><mi>d</mi><mrow><mi>t</mi><mi>o</mi><mi>B</mi><mi>S</mi></mrow></msub><mrow><mo>(</mo><msub><mi>N</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><mrow><mi>A</mi><mi>r</mi><mi>e</mi><mi>a</mi><mi>M</mi></mrow></mfrac><mo>&rsqb;</mo><msub><mi>R</mi><mi>c</mi></msub><mo>;</mo></mrow>]]></math><img file="FDA0000838968310000012.GIF" wi="720" he="168" /></maths>其中,d<sub>dist</sub>为区域远边界到基站的距离,AreaM为监测区域的边长,d<sub>toBS</sub>(N<sub>i</sub>)为节点N<sub>i</sub>到基站的距离,R<sub>c</sub>为节点的最大竞争半径,c为用来控制取值范围的参数;第2.2、非临域节点在竞争半径内以泛洪的方式广播自己的ID信息,非临域内所有节点根据收到的信息统计自己的节点度N<sub>i</sub>.D={N<sub>i</sub>|N<sub>i</sub>∈V<sub>usual</sub>,d(N<sub>i</sub>,N<sub>j</sub>)≤N<sub>i</sub>(R)},其中V<sub>usual</sub>为所有非临域节点的集合,d(N<sub>i</sub>,N<sub>j</sub>)为节点N<sub>i</sub>与N<sub>j</sub>之间的距离;第2.3、非临域节点根据公式<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><msub><mi>T</mi><mrow><mi>C</mi><mi>H</mi></mrow></msub><mrow><mo>(</mo><msub><mi>N</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>=</mo><msub><mi>&delta;T</mi><mrow><mi>C</mi><mi>H</mi><mn>0</mn></mrow></msub><mo>&lsqb;</mo><mn>1</mn><mo>-</mo><mrow><mo>(</mo><mi>&alpha;</mi><mfrac><mrow><msub><mi>E</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>N</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow><msub><mi>E</mi><mn>0</mn></msub></mfrac><mo>+</mo><mi>&beta;</mi><mfrac><mrow><msub><mi>N</mi><mi>i</mi></msub><mi>D</mi></mrow><mi>n</mi></mfrac><mo>+</mo><mi>&gamma;</mi><mo>(</mo><mn>1</mn><mo>-</mo><mfrac><mn>1</mn><mrow><msub><mi>N</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>R</mi><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow><mo>)</mo><mo>&rsqb;</mo></mrow>]]></math><img file="FDA0000838968310000013.GIF" wi="1046" he="144" /></maths>计算出自己的定时时间,其中,α+β+γ=1,为各参数的权重调节系数,δ为一个调节系数,T<sub>CH0</sub>为设定的最大竞争时间,E<sub>0</sub>为节点的初始能量,E<sub>R</sub>(N<sub>i</sub>)为节点当前的剩余能量,N<sub>i</sub>.D为节点的节点度,N<sub>i</sub>(R)为节点的竞争半径;第2.4、为了节省成簇时各种广播交换信息的能量消耗,只在初始准备阶段,所有节点广播一次消息,在以后的簇重构周期中,都采用定时机制,每个节点根据第2.3步的公式计算出自己的定时时间,若在定时时间内没有收到其他节点的广播消息,则确定自己为簇头,确定的簇头节点在自己的竞争半径内广播成为簇头的消息;若在定时时间内收到其他节点的广播消息,就自动退出簇头竞争进入等待状态,到达最大竞争时间后,进入等待的节点,根据收到的簇头广播消息,选择相应的簇加入;在网络分簇阶段终止时,每个存活的节点都会成为簇头节点或簇的成员节点;第3、簇间路由确定:每个上级簇头节点在自己的下级簇头信息表中计算选出自己的下一跳簇头节点,临域节点都作为独立的簇头节点对待;第3.1、簇间路由建立由远端节点发起,所有簇头节点进行消息广播,广播半径选择为自身竞争半径的3倍,寻找下级簇头信息,各簇头节点根据收到的消息,当簇头传来的基站距离大于等于自身与基站的距离时,为上级簇头,不予处理,反之,为下级簇头信息,在每个簇头节点建立下级簇头信息表;第3.2、簇头CH<sub>i</sub>通过如下函数式选择函数值最大的簇头CH<sub>j</sub>作为下一跳节点,选择下一跳的函数式为<maths num="0004" id="cmaths0004"><math><![CDATA[<mrow><mi>s</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi><mrow><mo>(</mo><msub><mi>CH</mi><mi>i</mi></msub><mo>,</mo><msub><mi>CH</mi><mi>j</mi></msub><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><msub><mi>E</mi><mi>R</mi></msub><mrow><mo>(</mo><msub><mi>CH</mi><mi>j</mi></msub><mo>)</mo></mrow></mrow><mrow><msub><mover><mi>E</mi><mo>&OverBar;</mo></mover><mi>R</mi></msub><mo>&CenterDot;</mo><mi>l</mi><mi>g</mi><mrow><mo>(</mo><msub><mi>d</mi><mrow><mi>s</mi><mi>e</mi><mi>l</mi><mi>e</mi><mi>c</mi><mi>t</mi></mrow></msub><mo>)</mo></mrow></mrow></mfrac><mo>&times;</mo><mfrac><mi>n</mi><mrow><msub><mi>CH</mi><mi>j</mi></msub><mo>.</mo><mi>D</mi><mo>+</mo><mi>n</mi></mrow></mfrac><mo>,</mo></mrow>]]></math><img file="FDA0000838968310000021.GIF" wi="1056" he="176" /></maths>其中,E<sub>R</sub>(CH<sub>j</sub>)为簇头CH<sub>j</sub>的剩余能量,<img file="FDA0000838968310000022.GIF" wi="64" he="79" />为下级簇头的平均剩余能量,CH<sub>j</sub>.D为簇头CH<sub>j</sub>的成员节点度;第3.3、临域中的节点不分簇,在此阶段都当作独立的簇头处理,当临域节点在收到簇头的广播消息后,被唤醒,并将自身的信息反馈给簇头,簇头根据临域节点发来的信息计算选择函数,确定下一跳临域节点;这样通过每级选择,网络路由建立起来。
地址 300384 天津市西青区宾水西道391号天津理工大学主校区