一种基于竞争窗口蚁群分簇的移动传感网路由优化方法

文档序号:28483128发布日期:2022-01-14 22:25阅读:92来源:国知局
一种基于竞争窗口蚁群分簇的移动传感网路由优化方法

1.本发明属于网络通信和无线传感器领域,具体涉及一种基于竞争窗口蚁群分簇的移动传感网路由的优化方法。


背景技术:

2.无线传感器网络作为物联网的一个重要分支,其作用是在所监测环境中感知采集数据,相邻节点实时地感知同一对象信息,数据经过一跳或者多跳发回给基站。为了更好的达到节点间进行网络通信、提升传输效率的目的,目前的网络拓扑通常采用的簇式结构。无线传感网采用分簇路由具有层次清晰、扩展性强、易实现相邻数据融合等优点。
3.分簇路由的核心思想是将若干具备某种拓扑特性的无线节点聚合为簇,簇内节点可相互通信并将消息传给簇首,基站通过与最顶层的簇首直接通信,间接与所有节点通信。可以看出,采用簇式网络拓扑结构也就意味着每个节点的网络负载呈现非均匀态势,数据传输成功率低,某些节点能量容易耗尽。因此,需要针对此情景对网络路由和拓扑进行优化。
4.目前,主要的分簇路由策略可能有如下缺点:1、不能应对被选的簇首都处于同一区域内特殊状况。2、仅以剩余能量多少来选择簇首且采用泛洪路由,可能导致网络阻塞。3、考虑节点的网络负载以及竞争窗口大小,不适合节点密集型无线传感网。4、簇式拓扑中簇首及靠近根部的节点负载较重,由此带来的路由数据包转发成功率较低和节点生存期较短的问题。因此,通常需要对此类传感器网络的多簇路由协议进一步优化。


技术实现要素:

5.针对上述技术问题,本技术提出一种针对非均匀负载网络的智基于竞争窗口蚁群分簇的移动传感网路由优化方法,以提升节点的数据传输成功率和网络生存时间。
6.本发明所采用的技术方案如下:
7.一种基于竞争窗口蚁群分簇的移动传感网路由优化方法,包括以下步骤:
8.步骤1:将非均匀负载的节点分为簇首节点和簇内节点,根据节点在簇内的网络深度的计算竞争窗口值;
9.步骤2:根据节点的竞争窗口值,采用蚁群算法构造候选簇首集t(n);
10.步骤3:根据候选簇首集中候选节点的竞争窗口值(cw)、节点剩余能量(e)、干扰因子(if)三个参数构造簇首选择函数z(i),按照该选举机制竞选出z(i)值最大的候选节点作为簇首,其计算公式如下:
[0011][0012]
其中,表示节点i的剩余能量,e
candidate
表示候选簇首集内所有节点的总能
量,ifi表示节点i所收到的网络信号干扰,cif
candidate
表示候选簇首集内所有节点的干扰,表示节点i的历史最小竞争窗口,cw
average
表示平均竞争窗口大小,参数ki为簇首选举的调节因子,取介于0到1之间的小数,控制每轮选举各因素的比重,且满足k1+k2+k3=1,k1》0.3,k3》0.32。
[0013]
步骤4:簇首向目的节点发送一个f-ant,基于当前蚂蚁访问表中的转移概率进行数据发送,当目的节点收到一个f-ant时,设置一个时间阈值,继续接收经其他路径上的f-ant,丢弃超时到达的f-ant;将最先到达的f-ant转换成对应的b-ant,b-ant将沿着f-ant走过的原路返回簇首s,当簇首s接收到b-ant后,簇首s对b-ant沿途路径的费洛蒙素浓度进行更新,直至遍历完网络内所有节点,从而使簇内节点形成一棵包含不同深度叶子节点的树。
[0014]
步骤5:计算所有可用的下一跳节点的转移概率,依据广度优先策略和不同路径转移概率大小,确定簇内不同深度叶节点交叉重合处节点的归属问题,优化簇式网络拓扑结构。
[0015]
进一步地,当簇首s向目的节点发送f-ant之前,需要向网络中通过泛洪发送f-ant进行路由发现。
[0016]
在所述步骤1中,簇首节点的竞争窗口初始值的计算方法如式2所示:
[0017][0018]
其中,假定sink节点深度记为0,整个网络范围内的最大传输路径长度记为m,非sink节点n所在网络深度为h。通常对于多跳簇式高动态无线网络来说,为保证拓扑树遍历的效率,h取协议规定的最大跳数的一半。是网络深度为h的节点负载因子。
[0019]
对于簇内的第h层节点i,其竞争窗口值的计算公式如式3所示:
[0020][0021]
其中,表示节点子节点数目与处于同层的平均子节点数目的比值,表示节点干扰因子与处于同层的节点平均干扰因子的比值,μh是网络树深度的调控因子,该因子的作用使得节点竞争窗口初始值总是保持在区间内。
[0022]
进一步地,所述步骤3中候选簇首集的构造函数为:
[0023][0024]
其中,p
candidate
代表表候选簇首数与总节点数的比值,p
head
代表簇首数与总结点数的比值,r代表当前选择循环轮数。
[0025]
进一步地,所述步骤4中费洛蒙素浓度进行更新算法为:
[0026][0027]
其中,τ
ij
(t)和τ
ij
(t+1)分别表示节点i、j之间t时刻和t+1时刻的费洛蒙素浓度,cwi表示节点i的竞争窗口值,表示表示处于簇内同一网络深度hi所有节点的竞争窗口平均值。
[0028]
进一步地,所述步骤5中节点下一跳的转移概率计算公式如下:
[0029][0030]
其中,p
ij
(t)表示节点i向节点j的转移概率,表示节点的邻居节点集合,α、β为参数调节因子。
[0031]
相比于现有技术,本发明提供的技术方案具有如下有益效果:
[0032]
1.本发明通过引入簇内候选节点干扰因子和普通节点干扰因子,结合节点剩余能量,在预定时间间隔内对簇首节点进行更新,缓解簇式拓扑中簇首及靠近根部的节点负载较重的问题,通过选择合适节点作为簇首,以均衡簇首节点能量消耗,延长节点网络生存期,提高数据转发率。
[0033]
2.通过蚁群分簇算法,计算节点间的蚁群费洛蒙素浓度,进而优化节点间转移概率,根据广度优先策略和节点间转移概率大小确定叶节点交叉重合部分节点的归属,优化簇式网络拓扑结构,避免被选的簇首都处于同一区域内特殊状况,适用适合节点密集型无线传感网。
[0034]
3.在数据包传递转发时,采用竞争窗口修改了蚁群算法中的禁忌列表,在数据包传递采用概率传递,根据节点的负载、竞争窗口等综合情况赋予一定的转移概率,优化了传统蚁群的转移概率计算机制以及网络负载,设置时间阈值,丢弃超时的蚂蚁,从而降低网络的泛洪数据量,避免造成网络拥堵。
附图说明
[0035]
图1是多簇无线传感器网络示意图;
[0036]
图2是本发明的算法流程图;
[0037]
图3(a)是引入转移概率前的子树选择方案图;
[0038]
图3(b)是转移概率引入后的子树选择方案图;
[0039]
图4(a)是引入转移概率前的父节点选择方案图;
[0040]
图4(b)是引入转移概率后的父节点选择方案图;
[0041]
图5是在各网络规模下的传递成功率比较图;
[0042]
图6(a)是在各网络规模下的第1个节点死亡时轮数图;
[0043]
图6(b)是在各网络规模下的1/4节点死亡时轮数图;
[0044]
图6(c)是在各网络规模下的1/2节点死亡时轮数图。
具体实施方式
[0045]
下面将对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0046]
下面将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
[0047]
实施例1
[0048]
一种基于竞争窗口蚁群分簇的移动传感网路由优化方法,如图2所示,包括以下步骤:
[0049]
步骤1:将非均匀负载的节点分为簇首节点和簇内节点,根据节点在簇内的网络深度的计算竞争窗口值。
[0050]
根据网络拓扑中节点负载分布,对于网络深度为hi的节点i和网络深度为hj的节点j,如果hj<hi时,本发明簇首节点的竞争窗口初始值的计算方法如式1所示:
[0051][0052]
簇内的第h层节点i,其竞争窗口初始值的计算公式如式2所示:
[0053][0054]
步骤2:构造候选簇首集初始化之后,在簇首放置n个蚂蚁,其中每只蚂蚁都是相同的,每只蚂蚁所要携带的簇首id、经过的中间节点id、节点竞争窗口值、所经过中间节点的平均剩余能量、所经过中间节点之间的距离、平均干扰因子以及邻居网络节点数信息。广播hello包,可根据式3,在所有节点中选择大于阈值函数t的多个节点,以此构造候选簇首集。
[0055][0056]
步骤3:选择簇首,如图1所示。根据候选簇首集中节点的竞争窗口、节点剩余能量、干扰因子三个参数,参数调节因子α,β以及γ依据多因子约束z函数,选择合适节点作为簇首,以均衡簇首节点能量消耗,延长节点网络生存期。结合竞争窗口、网络干扰因子以及节点剩余能量等参数动态选择以此来动态选择簇首。
[0057]
选择簇首函数z(i)的大小由候选簇首节点的干扰因子、竞争窗口以及节点剩余能量共同决定,按照该选举机制竞选出最终簇首,函数z(i)的计算公式如下:
[0058][0059]
步骤4:路由发现。当簇首s向目的节点发送数据之前,需要向网络中泛洪发送f-ant进行路由发现。当某中继节点收到f-ant时,继续泛洪给其所有邻居节点,如此邻居节点都将收到f-ant蚂蚁的副本。如此使得蚂蚁获得多条可能路径,直到到达目的节点。在路由发现时,采用竞争窗口约束之后的蚁群费洛蒙素挥发机制,计算方法如式5所示:
[0060][0061]
步骤5:数据传递。在数据包传递转发时,采用竞争窗口修改了蚁群算法中的禁忌列表,在数据包传递采用概率传递,根据节点的负载、竞争窗口等综合情况赋予一定的转移概率,优化了传统蚁群的转移概率计算机制以及网络负载。当簇首s向目的节点发送数据时,若存有到达该节点的路由信息,则直接以当前蚂蚁访问表中的转移概率尝试数据发送。如果没有历史路由经验,则需要向网络中泛洪发送f-ant进行路由发现。当某中继节点收到f-ant 时,继续泛洪给其所有邻居节点,如此邻居节点都将收到f-ant蚂蚁的副本。如此使得蚂蚁获得多条可能路径,直到到达目的节点。
[0062]
当目的节点以拥有一个f-ant之后,可继续接收随后的f-ant,即刻设置一个f-ant的时间阈值,丢弃超时到达的f-ant。并且最先到达的f-ant转换成对应的b-ant,b-ant将沿着f-ant走过的原路返回簇首s。当节点s接收到b-ant后,即意味着已经找到了一组可用的下一跳节点集合,节点s对沿途路径的费洛蒙素进行更新,直至遍历完网络内所有节点。得到所有可用的下一跳节点转移概率(式6),进行数据包的传递或转发。
[0063][0064]
步骤6:拓扑控制。将簇定义为一个包含不同深度叶子节点的树,在网络路由过程中对于簇进行广度优先策略,根据式6得到每个节点间的转移路径概率。依据不同路径的转移概率大小,解决簇内子树“交叉重合”处节点的归属问题,优化簇式网络拓扑结构。
[0065]
实施例2
[0066]
本发明采用omnet4.0仿真平台,主要考察协议在不同网络规模下的性能。实验1:数据包传输成功率;实验2:节点生存时间。实验规模:48个传感器。节点分成14组,起始节点20个,之后每组实验增加2个节点。单节点缓存为600m(仿真期间数据包总量小于缓存,不发生溢出),节点通信半径为100m,采用单播通信方式,传输速度为200kb/s。节点采用randomwaypoint运动模型,速度范围为此外,omnet模拟数据发生器每个包间隔随机产生1个大小为的数据包。取权重因子k1=0.45,k2=0.22,k3=0.33。详细仿真实验参数设定见表1所示:
[0067]
表1网络配置参数表
[0068][0069]
步骤2:p
candidate
代表候选簇首数与总节点数的比值,p
head
代表簇首数与总结点数的比值,r代表当前选择循环轮数。若选举成功,则该节点将自身的簇首标识符设置为1,退
出选择算法。当进行了(向上取整) 次循环后,将所有节点的标识符重置为零,所有节点重新选举簇首节点。随着选举循环次数r增加,rmod1/p
head
随之增加,其被选为候选簇首的概率逐渐变大。
[0070]
步骤3:参数ki为簇首选举的调节因子,取介于0到1之间的小数,控制着每轮选举各因素的比重,且满足k1+k2+k3=1,k3》0.3。与eh分别代表候选簇首节点i的剩余能量与候选簇首集中所有节点的能量和。ifi和分别 cif
candidate
代表节点的干扰因子和当前簇内候选簇首节点的干扰因子之和。
[0071]
步骤4:值得注意的是,在寻路路径(i,j)的中间节点j并不是简单的接收所有收到的副本,当节点j收到第一只f-ant蚂蚁时,其cw、first_hop、 last_hop以及hops等参数值都保存在该节点的蚂蚁访问表中。
[0072]
式5中,表示蚂蚁k在所经过路径费洛蒙素浓度。cwi表示节点i 的竞争窗口值,表示处于簇内同一网络深度所有节点的竞争窗口平均值。可以看出,节点竞争窗口值越大,费洛蒙挥发速度越慢,节点被选中的概率越大。反之,挥发速度越快,下一跳选择越不确定。
[0073]
步骤5:本发明中,蚁群算法的路由发现和数据传递阶段主要用到的数据包有:hello、f-ant以及b-ant,其主要参数构成如表2所示:
[0074]
表2主要数据包
[0075][0076]
步骤6:如图3所示,以簇有10个节点为例,说明簇内子树“交叉重合”处节点的归属方案。首先,研究如何划归子树。a为簇首节点,管理左侧红色子树与右侧黑色子树(对应路径的虚线颜色分别为红和黑,线的数字表示两节点间的转移概率),网络总深度为4,且两个子树的节点数均为4,红色子树以b节点为父节点,黑色子树以c节点为父节点。考察节点e,右侧红色子树路径(含b到簇首a)上的平均转移概率为 (0.314+0.652+0.654+0.720)/4=
0.585,右侧黑色子树路径(含节点b到簇首a) 上的平均转移概率为(0.786+0.344+0.334+0.601)/4=0.51625。这意味着左侧红色子树的节点的竞争窗口较大,使得以及较大,节点e加入左侧红色子树。
[0077]
其次,如图4所示,研究在红色子树内,节点e选择父节点的过程三个短红色虚线表示节点e的可能的选择项,节点b,h以及i三个节点。可以看出,三个路径的转移概率相差无几。但是选择b,所有经过e的数据都将直接扩散到b,则将大大增加该子树根b的负担;若选择节点i,则该子树的深度将从4增加到5,不利于快速搜索。所以,最终节e将选择节点h为其父节点(蓝色箭头所示)。
[0078]
实验1:传递成功率
[0079]
图5中各曲线表示汇聚节点处成功接收到的数据包占网络中产生的所有数据包总数的比值,即数据包传输成功率变化曲线。
[0080]
在节点数少于30时,本发明(即acco-cw)与其他对比协议大体持平,其中以轮循方式选择簇首leach协议表现最好,相对更适合稀疏节点的网络。但是,网络规模在36个左右节点时,本发明的数据投递成功率将近90%,在大于44个节点时,heed协议的数据传递成功率严重受损,而本发明只是受到轻微影响,总体上仍然保持在80%以上。这是因为节点密集时,簇首竞争较为激烈,较高的阈值能够从候选簇首节点的选取合适簇首节点,同时结合由竞争窗口值约束的费洛蒙素更新的机制能够适应节点密集型网络。
[0081]
实验2:节点生存期
[0082]
图6表示节点的网络生存期是评估wsn中分簇路由协议最重要的指标之一,它是指网络中一定数量节点失效时网络运行的时间。考察各个协议下的第一个节点死亡(first node dead,fnd)的生存期,四分之一节点死亡时 (quarter node dead,qnd)以及半数(half node dead,hnd)节点死亡的生存期。
[0083]
可以看出,在网络规模小于24个节点时,本发明(即acco-cw)的第一个节点首先死亡,fnd生存期小于300轮。当节点数大于34时,本发明 (acco-cw)利用设计了较为实用的候选簇首阈值,并设计了竞争窗口、节点剩余能量以及干扰因子约束簇首选举函数,使得在网络节点密集、网络负载较重的情况下,可以从候选簇首集内智能的选择合适簇首。在设计转移概率和费洛蒙素更新规则时,信道状态(竞争窗口)和干扰负载的权重较高,使得数据更大概率的传送给的负载较轻的节点,延长了节点的生存期。
[0084]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均在本发明待批权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1