发明名称 基于无线传感网节点中间件的分簇路由的方法
摘要 本发明涉及一种基于无线传感网节点中间件的分簇路由的方法,其特征在于在现有LEACH协议基础上,提出一种基于节省能量和减少延迟的改进型LEACH路由协议,以有效减小LEACH协议簇形成过程的能量消耗,对数据传输阶段功率采用动态自适应的功率控制;在簇内节点加入相应簇后,切换各自信道至各簇首指定信道,最大程度减少相邻节点的退避和等待时间。本发明所述的改进型LEACH路由协议置于传感网中间件中的网络协议栈,采用服务原语的方式,对向下的数据链路层,通过Request原语请求物理链路资源,并根据数据链路层返回的Response信息,决定更为合适的路由协议策略;本发明分别在簇首选举和自适应传输两个阶段进行了改进。
申请公布号 CN103179628B 申请公布日期 2016.03.16
申请号 CN201310048221.1 申请日期 2013.02.06
申请人 中国科学院上海微系统与信息技术研究所 发明人 才正国;赵康;尚琳
分类号 H04W40/02(2009.01)I;H04W84/18(2009.01)I 主分类号 H04W40/02(2009.01)I
代理机构 上海智信专利代理有限公司 31002 代理人 潘振甦
主权项 基于无线传感网络节点中间件的分簇路由的方法,其特征在于在现有LEACH协议基础上,提出一种基于节省能量和减少延迟的改进型LEACH路由协议,以有效减小LEACH协议簇形成过程的能量消耗,对数据传输阶段功率采用动态自适应的功率控制;在簇内节点加入相应簇后,切换各自信道至各簇首指定信道,最大程度减少相邻节点的退避和等待时间,改进型LEACH路由协议是在①通过最大限度节省簇建立和维护过程中的能量消耗,实现了全网簇首选举、半网簇首选举和簇内簇首选举,在保证网络拓扑鲁棒性基础上,降低了能量消耗;②自适应传输两阶段进行改进;其中,①所述的全网簇首选举、半网簇首选举和簇内簇首选择,包括以下三个步骤:首先,在改进型LEACH路由进行全网簇首选举时,使节点剩余能量大、汇聚节点附近或者位于最远节点和汇聚节点之间空间的节点优先成为簇首;所述的节点剩余能量率函数为:<img file="FDA0000820274740000011.GIF" wi="307" he="139" />其中,E<sub>r</sub>(i)表示节点的当前剩余能量;E<sub>a</sub>表示节点所在簇的平均能量;在网络初始化阶段,汇聚节点以广播方式向全网所有节点发送一个消息,节点根据收到信号的强度计算自身到汇聚节点的近似距离d<sub>i</sub>,并将自身ID和d<sub>i</sub>发送给汇聚节点,使汇聚节点掌握一个包含全网信息的节点id域距离的对照表;在簇首选举中,首要考虑能量因素,改进型LEACH路由使剩余能量高的节点优先于剩余能量低的节点当选为簇首,并且在能量消耗大致相同时,选取距离汇聚节点更近的节点、分布于最远节点和汇聚节点间的节点承担簇首数据转发任务;为更好权衡能量优先和距离优先,选举函数中引入加权因子δ,其值随着网络规模和应用场景的不同而不同;其次,在进行第一次全网簇首选举后,每一轮计算所有簇的簇内平均能量E<sub>avg1</sub>、E<sub>avg2</sub>、…、E<sub>avgk</sub>,其中K是簇的数量,平均簇能量E<sub>a</sub>为:<img file="FDA0000820274740000012.GIF" wi="709" he="133" />其中任意簇k和E<sub>a</sub>的比值θ<sub>k</sub>为:<img file="FDA0000820274740000021.GIF" wi="252" he="137" />当θ<sub>k</sub>小于某个阈值时,通过簇首发起半网簇首选举信息,信息中包含簇内平均能量;收到号召信息的相邻簇首比较自身簇内平均能量,若自身簇内平均能量超过号召信息中簇内平均能量一个安全范围,则该簇首响应半网重选号召,否则丢弃;当完成响应后,进行半网选举的簇中所有节点将按照全网选举的规则进行重选,其距离因子和剩余能量率规则与全网选举中相同;最后,全网每个周期的簇首完成选举后,各个簇进入稳定的数据传输阶段;在改进型LEACH路由协议中,当簇首的能量小于簇内能量的平均值E<sub>avg</sub>,簇首将挑选簇内能量最大的节点作为新的簇首,并向其他簇内成员广播此消息,簇内节点根据广播消息修改响应的簇首指向;②所述的自适应传输是根据簇内传感节点到簇首节点的距离,在保证接收功率恒定的情况下,动态调整发送功率,使节点能量在传输中得到最优化使用;③所述的基于无线传感网络节点中间件是一种位于硬件和软件支撑之上,位于应用层之下;网络路由协议位于协议栈,协议栈的API接口按照中间件服务原语形式进行封装,网络协议栈作为一个中间件的模块,最大程度满足不同平台和应用环境的要求,每个传感器节点都采用中间件结构。
地址 200050 上海市长宁区长宁路865号