一种基于双簇首的无线传感器网络分簇路由方法与流程

文档序号:12740909阅读:283来源:国知局
一种基于双簇首的无线传感器网络分簇路由方法与流程

本发明属于无线传感器技术领域,涉及一种基于双簇首的无线传感器网络分簇路由方法。



背景技术:

无线传感器网络(Wireless Sensor Networks,WSNs)是由大量无线传感器构成的自组织网络,以协作的方式感知、采集和处理网络覆盖区域内的对象信息,并将采集到的数据传递给目标用户。由于传感器节点能量有限,且不容易更换电池,如何减少节点的能量消耗,延长网络的生存时间成为无线传感器网络中的研究热点。无线传感器网络的数据传输模式为多对一(many-to-one)模型,但由于节点通信距离小,所以数据需要经过多跳路由才能传输汇总至基站。靠近Sink的传感器节点由于要转发外层的数据,承担的数据量远大于远离基站的传感器节点,这决定着网络中的负载必然会出现不平衡,产生“热区”问题。分簇技术是无线传感器网络重要技术之一,通过对网络分层,设置不同的角色,降低节点能耗,从而延长网络生命周期,分簇路由算法是无线传感器网络中较常见的一种。

对于WSN的分簇路由协议,虽然有诸多方面优于平面路由的性能协议,但是对于分族算法中的簇首不仅要承担簇内数据转发任务,又要进行与基站间的数据转发工作,容易造成簇首能量消耗过快死亡,从而造成网络生存周期缩短。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于双簇首的无线传感器网络分簇路由方法,能够解决网络生存周期短的问题。

为达到上述目的,本发明提供如下技术方案:

一种基于双簇首的无线传感器网络分簇路由方法,所述方法包括:

步骤101:无线传感器网络节点部署完成后,无线传感器网络中的基站向整个网络发送初始化消息;无线传感器网络内的节点收到所述初始化消息后向所述基站上报自身的位置、剩余能量和节点ID信息;所述基站根据节点上报的信息,获取无线传感器网络内节点的位置、ID、剩余能量,并统计节点总数;

步骤102:所述基站根据统计的信息将分布区域进行横向划分,形成至少一个子区域,每个所述子区域中包括至少一个簇;

步骤103:根据节点的位置、ID以及剩余能量,选举出候选主簇首;根据所述候选主簇首与所述基站之间的距离,设置不同的竞争半径,并在所述竞争半径内选举出最终主簇首,并由所述最终主簇首组织成簇;

步骤104:在数据传输时,簇内节点将采集的数据发送给主簇首,主簇首在融合数据完毕后,再交由副簇首;簇间通信时,每个副簇首从下一层级的主簇首中选择一个主簇首作为其中继节点。

进一步地,在由所述最终主簇首组织成簇之后,所述方法还包括:

簇建立以后,普通节点向主簇首申请副簇首竞选;在副簇首选举时,基于普通节点到主簇首的距离、普通节点到基站的距离以及普通节点的剩余能量的大小,得到各个普通节点对应的选举副簇首的权值函数,并根据权值大小选出最佳副簇首。

进一步地,按照下述公式确定选举副簇首的权值函数:

其中,wf(i)表示第i个节点对应的选举副簇首的权值函数,dmax-CH表示簇内节点到主簇首的最大距离,dmax-BS表示簇内节点到基站的最远距离,dCHj(i)表示簇内节点i到主簇首j的距离,dBS(i)表示簇内节点i到基站的距离,Eres(i)表示节点i的剩余能量,Eres(CHj)表示主簇首j的剩余能量,α、β和γ为加权系数。

进一步地,将分布区域进行横向划分包括:

节点根据接收到的信号强度,计算出自身与基站之间的距离,以确定自身所在的区域;

所述基站按照下述公式计算每个区域的上下边界:

其中,UBi、LBi分别是第i个区域的上边界和下边界,dmax、dmin分别是监控区域中节点到达基站的最大距离和最小距离;m为区域的总数;

其中,假设节点j距离基站的距离为dj,如果LBi<dj<UBi,那么节点j位于第i个区域。

进一步地,在选举候选主簇首时,按照下述公式确定候选主簇首的阈值:

其中,T(n)表示尚未成为候选主簇首的节点n对应的阈值,p为簇首百分比,r为当前网络运行的轮数,G表示1/p轮中尚未成为簇首的集合,Eres和Einit分别表示节点的剩余能量和初始能量,Nnei和Nr分别代表节点的邻居节点数目和当前轮数存活节点数,c1和c2为参数控制因子,运算符号mod为取余运算。

进一步地,按照下述公式确定所述竞争半径:

其中,Rc表示所述竞争半径,dmax表示节点与基站之间的最大距离,dmin表示节点与基站之间的最小距离,c为影响因子,表示候选主簇首的竞争半径的最大值,d(Si,BS)为节点与基站之间的距离。

进一步地,所述方法还包括:

按照下述公式确定最小网络通信开销:

Erelay=d2(Si,Sj)+d2(Sj,DS)

其中,Erelay表示所述最小网络通信开销,d(Sj,BS)为节点Sj与基站BS间的距离,d(Si,Sj)为节点Si和节点Sj之间的距离。

本发明的有益效果在于:

1、将节点的分布区域划分为多个子区域,可以更好地利用中继节点;

2、采用双簇首机制,可以有效的减少主簇首的能耗,均衡网络能量;

3、选择簇首节点时,综合考虑了节点的剩余能量和节点位置信息,不仅降低了簇首节点重选频率,也均衡了网络能耗。因此,本发明实施例有效地均衡了网络能耗,延长了网络的生存时间。

附图说明

为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:

图1为本发明的网络结构图;

图2为本发明方法的主簇首选取的流程图;

图3为本发明方法的传输模型图。

具体实施方式

下面将结合附图,对本发明的优选实施例进行详细的描述。

请参阅图1至图3,本申请提供一种基于双簇首的无线传感器网络分簇路由方法,所述方法包括:

步骤101:无线传感器网络节点部署完成后,无线传感器网络中的基站向整个网络发送初始化消息;无线传感器网络内的节点收到所述初始化消息后向所述基站上报自身的位置、剩余能量和节点ID信息;所述基站根据节点上报的信息,获取无线传感器网络内节点的位置、ID、剩余能量,并统计节点总数;

步骤102:所述基站根据统计的信息将分布区域进行横向划分,形成至少一个子区域,每个所述子区域中包括至少一个簇;

步骤103:根据节点的位置、ID以及剩余能量,选举出候选主簇首;根据所述候选主簇首与所述基站之间的距离,设置不同的竞争半径,并在所述竞争半径内选举出最终主簇首,并由所述最终主簇首组织成簇;

步骤104:在数据传输时,簇内节点将采集的数据发送给主簇首,主簇首在融合数据完毕后,再交由副簇首;簇间通信时,每个副簇首从下一层级的主簇首中选择一个主簇首作为其中继节点。

在本实施方式中,在由所述最终主簇首组织成簇之后,所述方法还包括:

簇建立以后,普通节点向主簇首申请副簇首竞选;在副簇首选举时,基于普通节点到主簇首的距离、普通节点到基站的距离以及普通节点的剩余能量的大小,得到各个普通节点对应的选举副簇首的权值函数,并根据权值大小选出最佳副簇首。

在本实施方式中,按照下述公式确定选举副簇首的权值函数:

其中,wf(i)表示第i个节点对应的选举副簇首的权值函数,dmax-CH表示簇内节点到主簇首的最大距离,dmax-BS表示簇内节点到基站的最远距离,dCHj(i)表示簇内节点i到主簇首j的距离,dBS(i)表示簇内节点i到基站的距离,Eres(i)表示节点i的剩余能量,Eres(CHj)表示主簇首j的剩余能量,α、β和γ为加权系数。

在本实施方式中,将分布区域进行横向划分包括:

节点根据接收到的信号强度,计算出自身与基站之间的距离,以确定自身所在的区域;

所述基站按照下述公式计算每个区域的上下边界:

其中,UBi、LBi分别是第i个区域的上边界和下边界,dmax、dmin分别是监控区域中节点到达基站的最大距离和最小距离;m为区域的总数;

其中,假设节点j距离基站的距离为dj,如果LBi<dj<UBi,那么节点j位于第i个区域。

在本实施方式中,在选举候选主簇首时,按照下述公式确定候选主簇首的阈值:

其中,T(n)表示尚未成为候选主簇首的节点n对应的阈值,p为簇首百分比,r为当前网络运行的轮数,G表示1/p轮中尚未成为簇首的集合,Eres和Einit分别表示节点的剩余能量和初始能量,Nnei和Nr分别代表节点的邻居节点数目和当前轮数存活节点数,c1和c2为参数控制因子,运算符号mod为取余运算。

在本实施方式中,按照下述公式确定所述竞争半径:

其中,Rc表示所述竞争半径,dmax表示节点与基站之间的最大距离,dmin表示节点与基站之间的最小距离,c为影响因子,表示候选主簇首的竞争半径的最大值,d(Si,BS)为节点与基站之间的距离。

在本实施方式中,所述方法还包括:

按照下述公式确定最小网络通信开销:

Erelay=d2(Si,Sj)+d2(Sj,DS)

其中,Erelay表示所述最小网络通信开销,d(Sj,BS)为节点Sj与基站BS间的距离,d(Si,Sj)为节点Si和节点Sj之间的距离。

具体地,本发明实施例中,应用网络模型具体如下:

节点同构,能量有限:节点通过现有的定位技术或者接收信号强度与节点距离的关系获得自身在分布区域中的具体位置;节点随机分布在L*L的区域内;基站以及网络中节点的位置是固定的;基站节点能量持续供应,且可以向全网广播数据。

本发明实施例采用的网络能耗模型:任意两个可以直接通信且距离为d的节点之间发送k比特数据的能耗为:

其中,Eelec=50nj/bit,表示发射机和接收机的电路损耗能量;d为发送节点到接收节点的距离;d0为参考距离,如果d<d0,功率放大损耗为自由空间模型;如果d≥d0,功率放大损耗为多路径衰减模型;εfs和εmp分别表示两种模型中功率放大器的放大参数;当d<d0,εfs=10pj/bit/m2;当d≥d0,εmp=0.0013pj/bit/m4;d0满足接收端接收k比特数据的能量为,ERx(k,d)=kEelec

在本实施方式中,可以使用概率的方式竞选簇首,一开始可以为节点随机生成一个随机数,该随机数可以收到阈值的限制。具体地,可以按照下述公式确定候选主簇首的阈值:

其中,T(n)表示尚未成为候选主簇首的节点n对应的阈值,p为簇首百分比,r为当前网络运行的轮数,G表示1/p轮中尚未成为簇首的集合,Eres和Einit分别表示节点的剩余能量和初始能量,Nnei和Nr分别代表节点的邻居节点数目和当前轮数存活节点数,c1和c2为参数控制因子,运算符号mod为取余运算。

候选主簇首Si选出后,根据最终簇首选举规则,利用候选簇首局部竞争的方法,选择出本发明的主簇首。候选簇首局部竞争半径Rc定义如下:

其中,Rc表示所述竞争半径,dmax表示节点与基站之间的最大距离,dmin表示节点与基站之间的最小距离,c为影响因子,表示候选主簇首的竞争半径的最大值,d(Si,BS)为节点与基站之间的距离。

当候选簇首Si竞选成功后,按照一定的规则选举出最终簇首。候选簇首S(i)的邻居集合NS(i)定义如下:

NS(i)={S(j)|d(S(i),S(j))<max(S(i).Rc,S(j).Rc)}

根据式候选簇首邻居集合定义可知,当候选簇首S(i)竞选成为簇首后,其邻居集合NS(i)中所有候选簇首都不能参加竞选,立刻退出竞选。

节点Si计算NS(i)中每个节点的剩余能量,如果节点Si的剩余能量比集合中的全部节点的能量值大,则它当选为簇首并广播FINISH_ELECT_MSG消息。如果Sj接收到Si发送的FINISH_ELECT_MSG消息并且在NS(j)中,那么Sj马上退出竞选,并广播QUIT_MSG消息告知它的邻簇首。在所有候选簇首选举选举完毕后,唤醒之前未参与竞选的节点。然后,成为簇首的节点在整个网络范围内广播其当选的消息(CH_V_MSG),普通节点接收到CH_V_MSG消息后申请加入该簇;如果普通节点同时接收到多个簇首节点的CH_V_MSG消息,则加入具有最大接收信号强度的簇首的簇。

副簇首选举:主簇首选举完成后,形成了新的簇结构,然后进行副簇首的选举,主要根据节点到基站的距离、节点到主簇首的距离和节点剩余能量三个参数来衡量,得到的权值公式:

其中,wf(i)表示第i个节点对应的选举副簇首的权值函数,dmax-CH表示簇内节点到主簇首的最大距离,dmax-BS表示簇内节点到基站的最远距离,dCHj(i)表示簇内节点i到主簇首j的距离,dBS(i)表示簇内节点i到基站的距离,Eres(i)表示节点i的剩余能量,Eres(CHj)表示主簇首j的剩余能量,α、β和γ为加权系数。

主簇首将权值最大的节点筛选出来,作为副簇首,将此消息进行广播,副簇首选举完毕,建立TMDA调度,然后进入数据传输阶段。

在本实施方式中,传输阶段包括两部分:簇内传输和簇间传输。簇内传输采用单跳传输的方式,簇内节点将采集的数据发送给主簇首,主簇首在融合数据完毕后,再交由副簇首;簇间传输采用多跳数据传输方式,各簇主簇首根据自身位置信息离基站远近确定各自的层级,多跳路由采用逐层递进的方式。每个簇首需要从下一层级的簇首中选择一个作为其中继节点。当副簇首到基站节点的距离小于阈值TD_MAX时,副簇首直接与基站节点通信;当副簇首到基站节点的距离大于阈值TD_MAX时,则采用多跳路由的方式将数据传送给基站节点。当某一副簇首节点Si需要选择其他主簇首进行数据中转时,就从它的路由候选节点集合中选择具有最小网络通信开销Erelay的两个点,比较两者的剩余能量,选择剩余能量较多的候选节点作为中转节点。其中,Erelay=d2(Si,Sj)+d2(Sj,DS)。

本发明的有益效果在于:

1、将节点的分布区域划分为多个子区域,可以更好地利用中继节点;

2、采用双簇首机制,可以有效的减少主簇首的能耗,均衡网络能量;

3、选择簇首节点时,综合考虑了节点的剩余能量和节点位置信息,不仅降低了簇首节点重选频率,也均衡了网络能耗。因此,本发明实施例有效地均衡了网络能耗,延长了网络的生存时间。

最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。

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