一种基于无线自组织网络的分布式簇头选举方法与流程

文档序号:20211273发布日期:2020-03-31 11:03阅读:301来源:国知局
本发明涉及无线自组织网络
技术领域
:,具体涉及一种基于无线自组织网络的分布式簇头选举方法。
背景技术
::无线自组织网络的拓扑类型可以分为两种:一种是平面结构,如图1所示,这种网络结构简单,其中所有的节点地位平等,共同分担网络负荷,在每对源节点和目的节点之间的数据传输路径可能不止一条,这种结构的缺点在于可扩展性差,如果网络规模不断增大,每个节点的移动性增强,那么维护动态路由就需要耗费大量控制信息,因此这种结构只适应于小规模的无线自组织网络。另外一种是分层结构,主要是从物理结构上改变网络形态。在分层结构中,整个无线自组织网络会被分簇算法划分为多个簇,然后再按照一定的规则在每个簇中选出簇头,除簇头以外的节点则为簇成员。分层结构可再细分为单频分级和多频分级两种结构,单频分级中,所有节点采用一个频率通信,多频分级则是不同级采用不同的频率通信,在图2中的三个簇中,簇头分别是a,b,c,簇头和簇内成员进行内部通信时使用的是频率a,簇头之间形成的高一级网络之间进行通信时使用的是频率b。在这种结构下,网络的规模并不会受到限制,簇内的其他节点不需要考虑簇之间的通信和簇内部的信息维护,因此会少掉很多路由维护的开销,扩展性强。分簇算法是决定分层结构的无线自组织网络性能的关键因素。典型的分簇算法包括:最低id算法(lowid),最高节点度算法(highd);基于权重的分簇算法(wca);综合考虑连通度、节点移动速度和能量消耗速率等因素进行加权来进行分簇;基于移动感知的仿生型分簇算法bimac,可以有效提高链路连通率和簇头生存时间,但无法保证簇与簇之间的数据传输;分布式分簇算法mobic,根据节点的移动性来选择簇头,但是只适用于节点的移动速度和方向都相同的场景;基于连通度、节点能量和移动性的分簇算法cemca。当应用场景中,网络节点通信距离为200km,相对于网络节点的活动范围(500km*500km)而言较大,使网络拓扑过于密集(如图3所示),因此无法直接运用上述诸如最高节点度数等算法。技术实现要素:本发明的目的在于提供一种基于无线自组织网络的分布式簇头选举方法,通过该选举方法进行分簇,成簇速度快、分簇效果良好、网络连通率达到100%,可以胜任无线自组织网络的初始化工作,能够适用于网络节点通信距离为200km的应用场景。本发明通过下述技术方案实现:一种基于无线自组织网络的分布式簇头选举方法,包括以下步骤:s1:各网络节点选举附近50km内邻居节点个数最大的网络节点为第一轮簇头;s2:各网络节点选举附近200km内簇成员最多的簇头网络节点为第二轮簇头;s3:各网络节点选举附近200km内距离最近的簇头网络节点为第三轮簇头;其中,步骤s1-s3的选举过程均采用分布式分簇算法,所述分簇算法包括网络初始化时的分簇策略和成簇后的维护策略。在密集型无线自组织网络(mobileadhocnetwork)中,由于节点过于密集,导致所有节点相互通信需要的通信资源过多、网络管理开销过大;为了满足节点对速率、时延、可靠性等方面的不同需求,需要部署网络切片,但是adhoc网络无中心节点难以部署。因此需要对节点进行分簇,分簇后,各个簇之间可以进行空间复用,簇内使用相同的频段通信;各个簇之间由簇头代理进行通信,极大减少了整个网络需要的通信资源,便于网络管理;各个簇头负责网络切片的部署和管理,有利于满足节点的不同服务需求。本发明基于最高节点度数算法,提出一种一种基于无线自组织网络的分布式簇头选举方法,该算法将分簇过程划分为三个阶段,各个阶段按照不同的标准进行簇头选举。通过仿真发现,该算法分簇效果良好,通过该选举方法进行分簇,成簇速度快、网络连通率达到100%,可以胜任无线自组织网络的初始化工作,能够适用于网络节点通信距离为200km的应用场景,且分簇结果为后续分簇的优化及通信资源分配的优化提供了必要的准备。进一步地,步骤s1包括以下步骤:s11:各网络节点以50km的发射功率广播自身邻居节点数量信息,以一定周期发两轮,收到信息的无人机更新自己的第一轮邻居节点;s12:第一轮邻居节点网络建立后,各网络节点a检索其第一轮邻居节点,选择度数最大的网络节点b为第一轮簇头,向网络节点b发送第一轮报文;s13:网络节点b收到第一轮后,回复网络节点a第一轮选举,将自己标为第一轮簇头,并将网络节点a加入自身的第一轮分簇成员:s14:网络节点a收到第一轮选举后将网络节点b标为第一轮簇头。进一步地,步骤s2包括以下步骤:。s21:各被选为第一轮簇头网络节点主动以200km的发射功率广播自身第一轮簇头选举后的信息,即发送第二轮广播报文,收到报文的网络节点更新自己的第一轮簇头邻居;s22:收到所有可收到第一轮簇头邻居信息的各网络节点a选择成员最多的第一轮簇头的网络节点b作为第二轮簇头,以200km的发射功率向网络节点b发送第二轮报文;s23:网络节点b收到第二轮报文后,回复网络节点第二轮选举,将自己标为第二轮簇头,并将网络节点a加入自身的第二轮分簇成员;s24:网络节点a收到第二轮选举后将网络节点b标为第二轮簇头。进一步地,步骤s21所述信息包括第一轮簇头身份及其第一轮分簇成员数量。进一步地,步骤s3包括以下步骤:。s31:各被选为第二轮簇头网络节点主动以200km的发射功率广播自身信息,即发送第三轮广播报文,收到报文的网络节点更新自己的第二轮簇头邻居;s32:收到所有可收到第二轮簇头邻居信息的各网络节点a选择距离最近的第二轮簇头的网络节点b作为第三轮簇头,以200km的发射功率向网络节点b发送第三轮报文;s33:网络节点b收到第三轮报文后,回复网络节点a第三轮选举,将自己标为第三轮簇头,并将网络节点a加入自身的第三轮分簇成员;s34:网络节点a收到第三轮选举后将网络节点b标为第三轮簇头。进一步地,步骤s31所述身信息包括第二轮簇头身份及其位置信息。进一步地,分簇算法包括以下步骤:1)、在整个网络一开始初始化时,所有的节点开始向自己周围的邻节点发送探测消息,获取邻居节点的信息;2)、根据分簇算法规定的簇首生成方案,对各邻居节点间的单个信息或加权信息进行计算或比较,确定簇首并广播簇首节点信息;3)、簇首选举完成并发布信息后,其邻居节点入簇成为簇内成员节点;4)、各节点依次入簇最终使整个网络形成分层结构;5)、成簇后的网络通过分簇算法对节点由于移动或其它原因变更状态而进行簇结构的维护与管理。进一步地,步骤1)所述信息包括id值、邻居节点间距离、邻居节点状态。本发明与现有技术相比,具有如下的优点和有益效果:本发明基于最高节点度数算法,提出一种一种基于无线自组织网络的分布式簇头选举方法,该算法将分簇过程划分为三个阶段,各个阶段按照不同的标准进行簇头选举。通过仿真发现,该算法分簇效果良好,通过该选举方法进行分簇,成簇速度快、网络连通率达到100%,可以胜任无线自组织网络的初始化工作,能够适用于网络节点通信距离为200km的应用场景,且分簇结果为后续分簇的优化及通信资源分配的优化提供了必要的准备。附图说明此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:图1adhoc网络平面结构;图2为adhoc网络多层分级结构;图3为网络节点未分簇的网络拓扑图;图4为分簇算法基本步骤框图;图5为s1完成后的分簇结果的网络拓扑图;图6为s2完成后的分簇结果的网络拓扑图;图7为s3完成后的分簇结果的网络拓扑图;图8为邻居表建立后的网络拓扑图;图9为分布式算法和直接分割算法的均值与标准差比较图;图10为分布式算法和直接分割算法簇内节点数量的统计分布图;图11为分布式算法和直接分割算法的均值、标准差随通信距离变化的表现图;图12为分布式算法和直接分割算法的统计数据随通信距离变化的表现图;图13为分布式算法和直接分割算法的均值、标准差随节点总数量的表现图;图14为分布式算法和直接分割算法的统计数据随节点总数量变化的表现图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。实施例1:如图4-图14所示,一种基于无线自组织网络的分布式簇头选举方法,包括以下步骤:s1:各网络节点选举附近50km内邻居节点个数最大的网络节点为第一轮簇头elect1header:s11:各网络节点以50km的发射功率广播自身邻居节点数量信息,以一定周期发两轮,收到信息的无人机更新自己的elect1neighborpool。s12:elect1neighborpool建立后,各网络节点a检索其elect1neighborpool,选择度数最大的网络节点b为elect1leader,向网络节点b发送elect1报文。s13:网络节点b收到elect1后,回复网络节点aelect1ack,将自己标为elect1header,并将网络节点a加入自身的elect1follower。s14:网络节点a收到elect1ack后将网络节点b标为elect1_leader;执行完s1后,获得的网络节点簇头如图5所示;s2::各网络节点选举附近200km内簇成员最多的簇头网络节点为第二轮簇头elect2header。s21:各被选为elect1header网络节点主动以200km的发射功率广播自身第一轮簇头选举后的信息,主要包括elect1header身份及其elect1follower数量,即发送elect2hello报文,收到报文的网络节点更新自己的elect1headerpool。s22:收到所有可收到elect1headerpool信息的各网络节点a选择follower最多的elect1header网络节点b作为elect2leader,以200km的发射功率向网络节点b发送elect2报文。s23:网络节点b收到elect2报文后,回复网络节点aelect2ack,将自己标为elect2header,并将网络节点a加入自身的elect2follower。s24:网络节点a收到elect2ack后将网络节点b标为elect2leader。执行完s2后,获得的网络节点簇头如图6所示,此时的簇头相比图5的簇头有所减少,但是各个簇存在交叉的情况;s3:各网络节点选举附近200km内距离最近的簇头网络节点为第三轮簇头elect3header。s31:各被选为elect2leader网络节点主动以200km的发射功率广播自身信息,主要包括elect2leader身份及其位置信息,即发送elect3hello报文,收到报文的网络节点更新自己的elect2headerpool。s32:收到所有可收到elect2headerpool信息的各网络节点a选择距离最近的elect2leader网络节点b作为elect3header,以200km的发射功率向网络节点b发送elect3报文。s33:网络节点b收到elect3报文后,回复网络节点aelect3ack,将自己标为elect3header,并将网络节点a加入自身的elect3follower。s34:网络节点a收到elect3ack后将网络节点b标为elect3leader。执行完s3后,最终获得的分簇结果如图7所示,经过s3,各个分簇间的交叉情况被修正,便于进行通信资源的空间复用,各个簇可以互不干扰的运行。成簇后节点把簇内的节点标为邻居,可以建立邻居表,邻居表建立算法如下:1.节点广播:节点周期性以全功率发送hello报文(包括节点信息、邻居节点信息等)。节点监听信道,收到hello报文后,随机延迟应答helloack。由于多个节点可能同时收到hello报文,因此采用随机延迟的方式。hello报文的周期初始较小,以快速完成网络初始化。随着时间增加,周期逐渐增大,从而减小信令开销。2.邻居管理:hello报文的发送节点在收到helloack后,将节点加入邻居节点表(neighbortable)。邻居节点条目有生命周期,如果生命周期结束后未收到该邻居的后续应答,则可以选择发起probe报文以探测该邻居,或者直接将该邻居从列表中删除。probe报文可以包含多个目标节点,如果没有收到节点的应答则将对应节点移除。邻居表建立后的网络拓扑如图8所示,成簇后节点把簇内的节点标为邻居。簇内节点可以直接通信,簇间节点的通信需要经过簇头代理。性能比较:将发明的分布式簇头选举方法与3*3直接分割成簇算法做比较,建立相关比较指标,判断本选举方法的效果,为后续优化做准备。直接分割成簇算法指将活动区域等分为若干个区域,每个区域即为一个簇,选择区域中心的网络节点为簇头。由于本活动场景为500km*500km,网络节点通信距离为200km,因而3*3划分较为理想。因为本人活动场景为矩形,且认为各网络节点为随机分布,所以该算法的分簇效果比较理想,但是实际场景中难以运行,因为该算法实施时,网络节点需要知道场景内所有节点的位置信息,因此难以在网络初始化时运行衡量指标包括分簇数量,簇内节点数量的平均值,簇内节点数量的标准差:分簇数量:在选举簇首时,分簇的大小与规模是受一定条件限制的,若簇首节点覆盖网络中的节点过少,则会因不能充分利用带宽而产生浪费,若覆盖网络中的节点过多,则会因负载过大产生拥塞。所以,只有合理规划簇规模大小,使簇首管理的成员节点数目适中,才能达到最优的分组投递率,提高分层网络的整体性能。簇内节点数量的平均值:这个指标和分簇数量是一样的,因为网络节点数量为定值。簇内节点数量的方差:由于分簇的目的是为了空间复用,那么每个簇使用相同的通信资源,如果簇节点数量的方差过大,有些簇簇内节点过多,有些簇簇内成员过少,会造成通信资源的浪费。分布式算法与3*3直接分割算法的均值与标准差对比如图9所示。3*3直接分割算法的均值普遍在55左右,标准差在10左右;分布式算法的均值在50-70之间波动,标准差在10-20之间波动,算法性能不如直接分割算法,但是差别不大。图10是分布式算法与与3*3直接分割算法簇内节点数量的统计结果,其中实验轮次1、2、3、5两算法在均值、四分位线、上下线等均差别不大;两算法都可能出现离群值,分布式算法的离群值比3*3直接分割算法的离群值要偏大一些。接下来进行鲁棒性测试,分别改变通信节点的最大通信距离及通信节点的总数量,观察分布式算法性能的变化。其中,通信节点最大通信距离变化范围为150km~250km,通信节点的数量变化范围为400~650。两算法簇内节点数量的均值、标准差随节点最大通信距离变化的表现如图11所示。随着节点最大通信距离的增大,直接分割算法簇内节点数量的均值和标准差没有明显变化,分布式算法簇内节点数量的均值和标准差首先有所增加后趋于平稳。可见,分布式算法对于节点通信距离的变化不敏感。两算法簇内节点数量的统计数据随节点最大通信距离变化的表现如图12所示。随着节点最大通信距离的增大,直接分割算法簇内节点数量的中位数、四分位数及上下限都没有明显变化,分布式算法簇内节点数量的中位数、四分位数及上下限首先有所增加后趋于平稳。可见,分布式算法对于节点通信距离的变化不敏感。两算法簇内节点数量的均值、标准差随节点总数量变化的表现如图13所示。随着节点总数量的增加,直接分割算法簇内节点数量的均值线性增加、标准差没有明显变化,分布式算法簇内节点数量的均值基本为线性增大,标准差首先有所增加后趋于平稳。可见,分布式算法对于节点总数量的变化不敏感。两算法簇内节点数量的统计数据随节点总数量变化的表现如图14所示。随着节点总数量的增加,直接分割算法簇内节点数量的中位数、四分位数及上下限都为线性增大,分布式算法簇内节点数量的中位数、四分位数基本为线性增大,上下限范围首先有所增加后趋于平稳。可见,分布式算法对于节点通信距离的变化不敏感。以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1