基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法与流程

文档序号:15982766发布日期:2018-11-17 00:31阅读:115来源:国知局

本发明属于无线传感器网络技术领域,涉及一种基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法。

背景技术

拥塞控制技术是无线传感器网络中的核心技术之一,对传感器网络的性能有较大影响。拥塞不仅会引起缓冲区溢出,从而导致较高的分组丢失,造成能量的浪费,并且会引发数据传输碰撞以及较大的队列时延。为了在网络层的路由过程中实现有效的拥塞控制,许多跨层优化技术被提出。跨层优化方法通过网络协议栈模型中不同层之间的信息交互,在满足各层性能要求的基础上,对网络整体进行优化,从而达到全局性能最优的目的。基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法是将这种跨层思想引入到分簇式路由协议的拥塞控制中来,在降低节点能耗的同时,有效的解除拥塞,提高数据包成功发送数量。

目前,对拥塞控制的研究主要分为拥塞检测、拥塞通告、拥塞解除三个部分。在拥塞检测部分,主要是通过介质访问控制(mediumaccesscontrol,简称mac)层的缓冲区队列长度来进行拥塞情况的判断;在拥塞通告部分,主要是通过改变mac层中数据帧结构来实现拥塞信息的通告;在拥塞解除部分,主要是通过对节点的数据发送速率进行调节或改变传输路径来解除拥塞。通过这种完整的拥塞控制方法可以有效的实现拥塞的发现、通告和解除,保证了网络的连通性,避免了网络中数据分组的丢失,但是它依然存在一些问题,主要体现在:

(1)拥塞控制方法对跨层优化方法研究不足,现有的拥塞控制方法只在mac层进行优化,没有结合网络层网络结构,路由过程等信息进行跨层优化。同时,现有的分簇式路由方法多基于网络层进行设计,没有结合mac层缓冲区队列长度、数据帧结构等信息进行跨层优化;

(2)拥塞问题在分簇式路由协议中比较严重,由于簇间传输中的多跳转发机制,如果多个簇头节点都选择同一个簇头节点作为下一跳节点,那么就可能造成此节点因转发数据量过大导致缓冲区溢出而丢失数据或无法接收数据产生数据重传,造成了严重的拥塞问题,增加了网络能量消耗,减少了数据包成功发送的数量;

(3)拥塞控制方法对分簇式路由协议研究不足,由于分簇式路由协议中存在的特性,现有的许多拥塞控制方法并不适用于分簇式路由协议,导致许多拥塞控制方法在分簇式路由协议中失效;

(4)拥塞控制方法在各个环节存在一定的缺陷,现有的拥塞检测机制在检测的过程中会产生很多额外的能耗,降低了节点的存活时间;拥塞通告机制过于复杂,在网络拥塞严重的情况下,由于节点之间频繁的发送拥塞信息,反而会加重拥塞情况,使网络的数据丢失更为严重;拥塞解除机制效率较低,现有的拥塞解除机制多基于速率调节,在网络拥塞严重的情况下,拥塞难以及时解除,影响消息传递的实时性。



技术实现要素:

本发明的目的是,针对拥塞控制方法缺少跨层信息交互问题、多跳转发机制带来的拥塞问题、拥塞控制方法不适用于分簇式路由协议问题以及拥塞控制方法在各个环节存在缺陷的问题,提出一种科学合理,适用性强,低能耗,高分组投递率,能够适用于复杂环境,延长网络生命周期的一种基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法。

本发明的目的是由以下技术方案来优化的:一种基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法,其特征是,它包括的内容有:基于缓冲区队列长度的拥塞检测策略、基于控制信息帧结构的拥塞通告策略、基于邻节点剩余能量与功率控制的拥塞解除策略,

1)所述基于缓冲区队列长度的拥塞检测策略:在拥塞检测过程中利用簇头节点以及其下一跳节点缓冲区队列长度进行拥塞检测,拥塞检测表示为(1)式:

lnew-j≤lmax(1)

其中,lmax表示缓冲区最大长度,lnew-j为节点j的缓冲区预计长度,其计算为(2)式:

lnew-j=lcur-i+lcur-j(2)

其中,lcur-i为簇头节点i当前的缓冲区队列长度,即簇头节点i将转发给簇头节点j的数据的总长度,lcur-j为簇头节点j当前的缓冲区队列长度,这里还需利用拥塞指数ρ来进行拥塞检测,拥塞指数ρ反映的是簇头节点j缓冲区长度的变化率表示为(3)式:

其中,lcur-j为簇头节点j当前的缓冲区队列长度,llast-j是节点j在一个时隙tslot之前的缓冲区队列长度,lmax表示缓冲区最大长度,因为在第一次拥塞检测的过程中,如果节点j没有完成簇内的数据收集工作,那么簇头节点j的缓冲区队列长度仍然在增长,此时对簇头节点j进行拥塞检测是不准确的,如果ρ=0,说明簇内数据收集工作已经完成,此时可以进行拥塞检测,如果ρ>0则需要退避一段时间再进行拥塞检测,退避时间表示为(4)式:

tbackoff=|ni-nj|·tslot(4)

其中,tslot表示一个时隙的时间,tbackoff为退避时间,ni,nj分别表示节点i和节点j簇内成员节点的数量,通过(1)式-(4)式来对下一跳节点进行拥塞检测;

2)所述基于控制信息帧结构的拥塞通告策略:在拥塞检测结束后,进入拥塞通告阶段,下一跳点在收到来自其它簇头节点的拥塞检测信息后,下一跳节点需要回复一个允许发送的数据包cts,将拥塞信息回馈给簇头节点,下一跳节点将cts数据包包头设置一个1比特的拥塞位cn(congestionlevel),cn=0表示无拥塞状态,cn=1表示拥塞状态,并将带有拥塞信息的cts信息发送给簇头节点,簇头节点在收到cts后通过判断拥塞位cn即可得知所选的下一跳节点是否处于拥塞状态;

3)所述基于邻节点剩余能量与功率控制的拥塞解除策略:如果在拥塞检测阶段检测到下一跳节点处于拥塞状态,则进入拥塞解除阶段,拥塞解除阶段总共分为两个阶段:

①拥塞解除第一阶段:簇头节点在收到带有拥塞信息的cts后,即可确认当前选择的下一跳节点是否会发生拥塞,如果发生拥塞,在当前邻节点范围内,逐级选择剩余能量更小的节点作为自己的下一跳节点,最终找到不会发生拥塞的下一跳节点转发数据;

②拥塞解除第二阶段:如果通过上述的方式没有完成拥塞控制,说明此时簇头节点的邻近区域存在着较为严重的拥塞情况,此时选择增大簇头节点的发送功率,扩大其邻近区域的覆盖范围,寻找新的邻节点进行数据的转发,调整后的发送功率表示为(5)式:

p′t-i=pt-i+δpt-i(5)

其中,p′t-i为簇头节点i的调整后的新的发送功率,pt-i为簇头节点i当前的发送功率,δpt-i为功率步长调节因子表示为(6)式:

其中,eres-i为簇头节点i的剩余能量,emax为节点的初始能量,lcur-i为簇头节点i当前的缓冲区队列长度,lmax表示缓冲区最大长度,pt-i为簇头节点i当前的发送功率,通过(5)式和(6)式找到新的邻节点,然后对新的邻节点进行拥塞检测,从中找到符合(1)式的邻节点进行数据的转发,最终完成拥塞解除。

本发明的一种基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法,在拥塞检测阶段:提出了基于缓冲区队列长度的拥塞检测策略,利用簇头节点以及其下一跳节点的缓冲区队列长度进行拥塞检测;在拥塞通告阶段:提出了基于控制信息帧结构的拥塞通告策略,通过将cts数据包包头设置一个1比特的拥塞位cn进行拥塞通告;在拥塞解除阶段:提出了基于邻节点剩余能量与功率控制的拥塞解除策略,该策略将拥塞解除分为两个阶段,在第一阶段通过在当前邻节点范围内,逐级选择剩余能量更小的节点作为自己的下一跳节点,最终找到不会发生拥塞的下一跳节点转发数据;在第二阶段,通过簇头节点的剩余能量和缓冲区队列长度构建功率步长调节因子,并且按照步长调节因子逐级增加功率,直到找到不会发生拥塞的下一跳节点完成数据的转发。具有科学合理,适用性强,低能耗,高分组投递率,能够适用于复杂环境,延长网络生命周期等优点。

附图说明

图1为一种基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法流程图。

具体实施方式

下面利用附图和具体实施方式对本发明作进一步说明。

参照图1,本发明的一种基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法,其特征是,它包括的内容有:基于缓冲区队列长度的拥塞检测策略、基于控制信息帧结构的拥塞通告策略、基于邻节点剩余能量与功率控制的拥塞解除策略,

1)所述基于缓冲区队列长度的拥塞检测策略:在拥塞检测过程中利用簇头节点以及其下一跳节点缓冲区队列长度进行拥塞检测,拥塞检测表示为(1)式:

lnew-j≤lmax(1)

其中,lmax表示缓冲区最大长度,lnew-j为节点j的缓冲区预计长度,其计算为(2)式:

lnew-j=lcur-i+lcur-j(2)

其中,lcur-i为簇头节点i当前的缓冲区队列长度,即簇头节点i将转发给簇头节点j的数据的总长度,lcur-j为簇头节点j当前的缓冲区队列长度,这里还需利用拥塞指数ρ来进行拥塞检测,拥塞指数ρ反映的是簇头节点j缓冲区长度的变化率表示为(3)式:

其中,lcur-j为簇头节点j当前的缓冲区队列长度,llast-j是节点j在一个时隙tslot之前的缓冲区队列长度,lmax表示缓冲区最大长度,因为在第一次拥塞检测的过程中,如果节点j没有完成簇内的数据收集工作,那么簇头节点j的缓冲区队列长度仍然在增长,此时对簇头节点j进行拥塞检测是不准确的,如果ρ=0,说明簇内数据收集工作已经完成,此时可以进行拥塞检测,如果ρ>0则需要退避一段时间再进行拥塞检测,退避时间表示为(4)式:

tbackoff=|ni-nj|·tslot(4)

其中,tslot表示一个时隙的时间,tbackoff为退避时间,ni,nj分别表示节点i和节点j簇内成员节点的数量,通过(1)式-(4)式来对下一跳节点进行拥塞检测;

2)所述基于控制信息帧结构的拥塞通告策略:在拥塞检测结束后,进入拥塞通告阶段,下一跳点在收到来自其它簇头节点的拥塞检测信息后,下一跳节点需要回复一个允许发送的数据包cts,将拥塞信息回馈给簇头节点,下一跳节点将cts数据包包头设置一个1比特的拥塞位cn(congestionlevel),cn=0表示无拥塞状态,cn=1表示拥塞状态,并将带有拥塞信息的cts信息发送给簇头节点,簇头节点在收到cts后通过判断拥塞位cn即可得知所选的下一跳节点是否处于拥塞状态;

3)所述基于邻节点剩余能量与功率控制的拥塞解除策略:如果在拥塞检测阶段检测到下一跳节点处于拥塞状态,则进入拥塞解除阶段,拥塞解除阶段总共分为两个阶段:

①拥塞解除第一阶段:簇头节点在收到带有拥塞信息的cts后,即可确认当前选择的下一跳节点是否会发生拥塞,如果发生拥塞,在当前邻节点范围内,逐级选择剩余能量更小的节点作为自己的下一跳节点,最终找到不会发生拥塞的下一跳节点转发数据;

②拥塞解除第二阶段:如果通过上述的方式没有完成拥塞控制,说明此时簇头节点的邻近区域存在着较为严重的拥塞情况,此时选择增大簇头节点的发送功率,扩大其邻近区域的覆盖范围,寻找新的邻节点进行数据的转发,调整后的发送功率表示为(5)式:

p′t-i=pt-i+δpt-i(5)

其中,p′t-i为簇头节点i的调整后的新的发送功率,pt-i为簇头节点i当前的发送功率,δpt-i为功率步长调节因子表示为(6)式:

其中,eres-i为簇头节点i的剩余能量,emax为节点的初始能量,lcur-i为簇头节点i当前的缓冲区队列长度,lmax表示缓冲区最大长度,pt-i为簇头节点i当前的发送功率,通过(5)式和(6)式找到新的邻节点,然后对新的邻节点进行拥塞检测,从中找到符合(1)式的邻节点进行数据的转发,最终完成拥塞解除。

本发明的软件程序依据自动化、网络和计算机处理技术编制,是本领域技术人员所熟悉的技术。

本发明的具体实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无需对所有的实施方式予以穷举,而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1