CN109041127B - 适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统 - Google Patents

适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统 Download PDF

Info

Publication number
CN109041127B
CN109041127B CN201811120826.6A CN201811120826A CN109041127B CN 109041127 B CN109041127 B CN 109041127B CN 201811120826 A CN201811120826 A CN 201811120826A CN 109041127 B CN109041127 B CN 109041127B
Authority
CN
China
Prior art keywords
node
cluster
nodes
stable
hop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811120826.6A
Other languages
English (en)
Other versions
CN109041127A (zh
Inventor
刘凯
张玥
张维东
黄如
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beihang University Sichuan International Center For Innovation In Western China Co ltd
Original Assignee
Beihang University Sichuan International Center For Innovation In Western China Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beihang University Sichuan International Center For Innovation In Western China Co ltd filed Critical Beihang University Sichuan International Center For Innovation In Western China Co ltd
Priority to CN201811120826.6A priority Critical patent/CN109041127B/zh
Publication of CN109041127A publication Critical patent/CN109041127A/zh
Application granted granted Critical
Publication of CN109041127B publication Critical patent/CN109041127B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/46Cluster building
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/026Route selection considering the moving speed of individual devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location

Abstract

本发明公开了一种适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统,其中所述方法包括以下步骤:S1.根据稳定邻节点计算节点的簇首胜任度,并由此选举出最优簇首,形成初始的簇结构;S2.对簇结构进行自适应维护,包括稳定邻节点的维护、备用跟随节点表的存储和更新、簇类型变更、簇融合、簇解散和多网关节点对的维护。本发明提供了一种适于高动态无线网络的负载均衡的自适应稳定分簇方法,考虑分簇方法对分簇网络连通性、稳定性、负载平衡这三个因素的影响,能够根据网络局部密度建立多类簇并存的通用稳定分簇结构,使得分簇方法能够适用于节点分布不均匀的大范围交通密度的多种场景。

Description

适于高动态无线网络的负载均衡的自适应稳定分簇方法和 系统
技术领域
本发明涉及高动态无线自组网,特别是涉及适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统。
背景技术
典型的高动态无线自组网主要包括车载自组织网络和无人机自组织网络,是一种特殊的自组织网络。其中车载自组织网络(VANETs,Vehicular ad hoc networks)简称车联网,它是移动自组织网络(MANET,Mobile ad hoc network)在交通领域的应用。VANETs作为智能交通系统的重要组成部分,通过车与车以及车与基础设施之间进行通信,为车辆提供针对道路安全、交通管理以及信息娱乐等众多应用。
在移动自组织网络中,网络结构有平面结构和分层结构两种。在平面结构中,所有节点无差别地具有相同的地位,网络鲁棒性较好,节点的覆盖范围较小,相对较安全。但是平面结构在节点数量增多大量移动的情况下,网络开销会很大,路由会经常断裂。因此,平面结构的扩展性较差,只适合于中小型规模的MANET网络。大型网络通常采取分层结构。在这种结构中,网络被划分为许多个簇,每个簇包含一个簇首和若干个簇成员节点。网关节点连接不同的簇,实现簇之间的通信。簇首不仅控制本簇内成员节点的通信而且负责簇间数据的转发。由于网关和簇头的重要作用,它们形成了一个更高级别的网络,即虚拟骨干网(VBN,Virtual Backbone Network)。簇首既可以预先指定也可以在节点中通过执行算法选举产生。
分层结构相对于平面结构不受网络规模的限制,它的可扩展性相对较好,能有效支持多跳中转,适应拓扑变化,能够对网络节点进行有效控制管理,减少开销,保持网络结构的稳定性,在一定程度上还能延长网络生存期。当网络拓扑发生变化时,可进行重新分簇或者再进行簇首的选举,故而也具有较强的抗毁性。除此之外,分簇的设计不仅可以降低MAC机制的接入冲突的概率;便于移动节点的管理和有限资源的分配(比如通过将网络中的节点划分为多个不同的簇,不同的簇之间使用不同的信道,可以达到减小信道干扰的目的),而且对于路由来说也有很多好处,能够加快路由的查找过程,减少维护路由表和节点交换路由消息的开销以及由于节点移动导致路由过程中出现的泛洪开销。但是它也存在一些不足之处,分层结构需要节点执行簇首选举算法来维护,所以簇首节点的选择可能会成为在网络中实现分层结构的难点。针对VANETs网络拓扑快速变化的分层结构,需要设计出一种合适的簇首选取办法,在保证簇首选择可靠有效的同时还要尽可能减少簇的维护开销。
由于车辆节点数目巨大且分布区域广泛,故而VANETs的网络规模非常庞大,尤其是在密集市区,比如高速公路或者是市中心等。另外VANETs具有变化的网络密度,在交通拥堵或者是拥挤地区,网络密度可能会非常高,在郊区可能会非常低,网络密度取决于地理位置,并且根据交通密度变化。正是由于VAENTs的特殊性,使得原本在MANET应用的一些分簇算法不再适用于VANETs中。目前很多应用到VANETs中很多算法基本上都是在MOBIC算法基础之上作的改进。MOBIC算法的主要思想为:将移动性较小的节点组成一个簇,将相对于邻居节点移动性变化最小的节点作为簇头。根据邻节点发送的两个连续信息的接收功率来评估节点的相对移动性。只有在两个簇头靠得很近的情况下才会重选簇头。如果簇成员和簇头的距离超过一定范围,簇成员会加入任何当前邻居所在的簇,或者形成一个新簇。这个算法比较明了,而且简单。但由于无线信道特殊的环境,信道质量会随着环境因素而变化,可能导致两次连续信息的接收功率变化很大,会影响对两节点相对移动性的判断,降低了簇的稳定性,使各个节点的角色变化频繁,簇头的管理控制能力下降。ALM算法是在MOBIC算法上作改进之后的分簇算法,可以运用到VANETs中。与MOBIC算法不同的是ALM算法采用GPS获取节点的地理位置,通过比较连续信息中两个节点之间的距离比,来判断节点的移动性。这种方法很好地改善了簇的生存时间并能减少节点状态变化,防止不必要的簇重组发生同时也提高了簇的稳定性。前面提到的两种算法,虽然考虑了节点的移动性,但是网络中簇头的保持时间较短,簇头的变化率较大,网络的稳定性还是较差。
在实际的VANETs场景中,车辆运动经常受道路结构和布局的约束,所以节点的移动可看作是规则的。另外,车辆需要遵循路标和交通灯,并且可配置大量声呐,传感器,处理器,全球定位系统,大存储容量设备,先进的天线系统。这些资源可提供关于车辆当前速度,方向,位置的精确信息,也能增加车辆的计算能力这也可以帮助预测节点的移动性。由于大部分车辆节点运动的规则性、可预测性以及丰富的外部辅助信息,近年来有一些利用VANETs特性如地理位置、相对速度、网络连接,信号强度等的分簇算法被提出来,目的是提高分簇的稳定性,使车辆分簇更加稳定化。
对于VAENTs中车辆通信存在的一些问题,比如车辆的高速行驶导致通信链路极易中断,稳定的持续时间较短;网络拓扑频繁变化使得消息路由难度增加;车辆节点分布随机且不均匀使得网络中一部分负载过重另一部分资源利用率过低;除此之外,信号传播也容易受到车辆所在环境的影响,信号极易在道路交叉口以及建筑密集区域受阻碍等,传统的VANETs分簇算法只考虑分簇结构的稳定性,并未综合考虑分簇对于网络的通信性能、连通性、负载平衡等因素的影响。另外,目前所提出的大部分适用于车联网中的分簇算法所考虑的场景比较单一,大多只是针对某种特定的场景,比如高速公路场景,随机游走场景或者是城市中的交叉路口场景。另外很多分簇算法都是基于节点的一跳邻节点形成的单跳簇或者两跳簇。其中单跳簇在实际交通场景并不常见,而对于形成两跳簇的分簇算法,当网络中车辆密度很大时,由于限制了分簇的范围,很容易导致簇重叠的发生,簇首的数量过多;当网络中车辆密度很小时,簇内成员数较少又会导致分簇结构的浪费,降低通信效率,所以这种传统的分簇算法很容易造成簇大小和簇数量的失衡。虽然也有基于多跳的分簇算法被提出,但对于K跳簇结构,如果K值过大,则簇范围增加使得簇内节点过多,不便于众多移动节点的管理,另外跳数的增加也会导致通信可靠性降低;如果K值较小则由于节点传输范围有限以及节点的快速移动,簇内成员数以及簇拓扑会频繁变化,降低了簇的稳定性。另外,这些多跳分簇算法大多都是基于单一的簇结构,且不能随着网络局部密度的变化而调整簇类型,并不适应于网络中交通密度大范围变化的复杂场景。
发明内容
本发明的目的在于克服现有技术的不足,提供一种适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统,考虑分簇方法对分簇网络连通性、稳定性、负载平衡这三个因素的影响,能够根据网络局部密度建立多类簇并存的多跳分簇结构,使得分簇方法能够适用于节点分布不均匀的大范围交通密度的多种场景。
本发明的目的是通过以下技术方案来实现的:适于高动态无线网络的负载均衡的自适应稳定分簇方法,包括以下步骤:
S1.选举簇首并形成初始簇;
S2.对簇结构进行自适应维护,包括稳定邻节点的维护、备用跟随节点表的存储和更新、簇类型变更、簇融合、簇解散和多网关节点对的维护。
其中,所述步骤S1包括以下子步骤:
S101.建立稳定邻节点表:
初始化网络内所有节点均为孤立节点,未加入到任何簇之中,每个节点周期性地向周围邻节点发送Hello数据包;同时各节点根据接收到的邻节点的Hello数据包,建立自己的稳定邻居表,根据接收到的Hello数据包存储并更新稳定邻节点的相关信息;
S102.选择簇首:
网络内任一节点i根据自己建立的稳定邻节点表,计算自己的簇首胜任度CL(i),当节点在稳定邻节点中具有最小的CL值且CL(i)<CLth时,节点i将自己的状态改变为准簇首状态,并开启一个定时器,其中CLth是根据交通场景预设的簇首胜任度阈值;
判断在定时器时间内节点i是否未听到其他簇首或者准簇首的Hello数据包:
若是,则比较二者的CL值,将CL值较大的节点变成孤立节点状态;
若否,节点i将自己的状态改为簇首状态,并根据自己当前稳定邻节点的情况创建一个单跳簇、两跳簇或者四跳簇,发布一个簇成立数据包通知周围节点该簇的相关信息;
S103.将孤立节点加入簇中:
孤立节点先查看自己的稳定邻居表是否有可连接的簇首;
如果有可连接簇首的话,簇的类型决定相应簇的优先级,即当节点与单跳簇的簇首之间的距离小于2R/5时优先加入单跳簇;其次连接两跳簇的簇首,最后连接四跳簇的簇首,R为节点的通信半径;
如果存在两个以上同类型的簇首,那么则优先连接饱和度低的簇相应的簇首;节点通过向所要连接的目的簇首发送申请加入簇的数据包,然后如果在一定时间内得到簇首的肯定应答,则成功加入相应簇,变为该簇的一级节点,否则尝试向下一个次优的簇首发送申请加入的数据包;
如果没有可加入的簇首,节点也向四跳簇中的一级节点发送申请加入簇的数据包加入相应的四跳簇,如果在一定时间Ta内得到目的一级节点的肯定应答,则成功加入相应簇,变为该簇的二级节点,否则尝试向下一个次优先的目的跟随节点发送申请加入的数据包:首先节点查看稳定邻居表中是否有四跳簇的一级节点,只存在一个可连接的一级节点的话直接请求加入对应的四跳簇,如果存在多个可连接的一级节点,若一级节点属于不同簇,选择饱和度低的簇;若一级节点属于相同簇,则选择与本节点相比相对移动性小的一级节点跟随;
所有孤立节点都通过以上步骤加入到某一个簇当中,如果稳定邻节点中不存在可连接的节点则该节点保持孤立节点角色;
S104.形成网关节点:
在不同簇中的互为稳定邻节点的两个成员节点构成一对分布式的网关,如果某节点在的稳定邻节点中存在属于外簇的节点,则该节点与所对应的外簇节点共同成为准网关,计算两个节点之间的稳定链路时间SLT,将自己的状态改为准网关状态,并将SLT信息加入到Hello数据包中,告知周围邻节点;如果在一定时间Tg内没有侦听到Mp个稳定链路时间SLT比自己长的网关对或准网关对,则将自己的状态改为网关,发送一个网关声明数据包;
在形成网关节点时,本发明允许两个簇之间存在最多2对网关,避免单一网关对出现负载过重的情况,降低网络对单一网关对的依赖程度。
进一步地,所述Hello数据包中包括但不限于节点当前的状态、位置、速度、运行方向、簇首胜任度、簇的饱和度、可连接数、稳定链路时间、以及簇首或二级节点的相关信息。
进一步地,所述步骤S101中,如果节点i和节点j之间的距离满足ΔDi,j<Dth,相对速度满足|ΔVi,j|<Vth,相对移动方向满足|Δθi,j|<θth,则节点i和节点j互为稳定邻节点,其中Vth为基于不同交通场景设置的速度阈值,Vth设定的速度阈值,Dth为设定的距离阈值,θth为设定的移动方向阈值。
进一步地,所述步骤S102中,节点i的簇首胜任度CL(i)计算方式如下:
CL(i)=w1C(i)+w2R(i)+w3D(i)+w4V(i)+w5O(i)
其中,C(i)为节点i的连通度分量,
Figure BDA0001811159500000051
Ci为节点i的稳定邻节点的个数,Cmax为具体交通场景下某一节点预定义的最大稳定邻节点数;
R(i)为节点i的可靠性分量,R(i)=(1-ps)(1-pr),ps表示节点i成功将数据包发送到其稳定邻节点的概率,pr表示节点i成功接收到来自其稳定邻节点的数据包的概率;
D(i)为节点i的中心性分量,
Figure BDA0001811159500000052
其中c是节点i与其稳定邻节点确定的中心点,k∈S(i),S(i)为节点i和其稳定邻节点构成的节点集合;假设集合元素的个数为n,则中心点c的坐标通过下面的公式得到
Figure BDA0001811159500000053
V(i)为节点i的相对速度分量,
Figure BDA0001811159500000054
Vi是节点i的速度,
Figure BDA0001811159500000055
是节点i的稳定邻节点的平均速度,
Figure BDA0001811159500000056
由下面的公式计算得到:
Figure BDA0001811159500000057
O(i)为节点i的移动方向相关性分量,
Figure BDA0001811159500000058
Cs为与节点i的相对移动方向|Δθi,j|<π/4的节点的个数;
故节点i的簇首胜任度CL(i)表示为:
Figure BDA0001811159500000059
其中各分量的权重在不同交通场景及需求下设置为不同的值,且需满足
w1+w2+w3+w4+w5=1
各度量分量C(i)、R(i)、D(i)、V(i)、O(i)均归一化到(0,1)之间,故CL(i)也在(0,1)之间,CL(i)的值越小,说明节点i越有能力担任簇首的角色。
进一步地,所述步骤S102中,簇首根据当前稳定邻节点的情况,创建单跳簇、两跳簇或者四跳簇的规则如下:
设簇首当前稳定邻节点中的孤立节点数以及本簇中一级节点的总数为n,这n个节点中,与簇首距离ΔD小于2R/5的节点数为m;其中n=No+Nm,No为簇首稳定邻节点中的孤立节点个数,Nm为簇首的一级节点成员个数;
当n<M1 max,m>M1 min时,簇首创建单跳簇;
当M1 max<n<M2时,簇首创建两跳簇;
当n>M2时,簇首创建四跳簇;
其中,M1 min是单跳簇所允许的簇规模的下限,M1 max为所允许的上限,M2为两跳簇中簇首所能直接连接的节点数,即不该包括簇首本身在内的两跳簇的簇规模。
进一步地,所述步骤S103中,孤立节点先查看自己的稳定邻居表是否有可连接簇首的过程如下:
定义簇的饱和度DS:
Figure BDA0001811159500000061
其中Nc(x)表示簇x当前的成员数,Mi为簇x的规模,其中i=1,2,4,分别表示单跳簇、两跳簇、四跳簇预定义的规模;
若簇首当前所连接的一级节点数M1 c<Mi,i=1,2,4,簇首为可连接状态;当四跳簇中的某个一级节点当前所连接的二级节点数M2 c<M4 2时,该一级节点为可连接状态。
进一步地,所述步骤S103中,任意两个i与j的相对移动性Mi,j计算方式为:
Figure BDA0001811159500000062
其中ΔVi,j为节点i与节点j之间的速度差;ΔDi,j为节点i与节点j之间的距离;Δθi,j为节点i与节点j之间的相对移动方向。
进一步地,所述步骤S104中,两个节点之间的稳定链路时间SLT计算方式如下:
设t时刻节点i与节点j互为稳定邻节点,时间间隔δt内,节点i和节点j的速度大小和方向保持不变,当两节点之间的距离达到阈值Dth时,两节点不再互为稳定邻节点;则t时刻节点i和节点j之间的稳定链路时间SLTi,j(t)满足
ΔDi,j(t+SLTi,j(t))≤Dth
设t时刻节点i的坐标为(xi,yi),速度分量为(vix,viy),节点j的坐标为(xj,yj),速度分量为(vjx,vjy);经过δt时间之后,节点i和节点j的坐标分别为(xi+vixδt,yi+viyδt)和(xj+vjxδt,yj+vjyδt),故:
Figure BDA0001811159500000071
其中:
Figure BDA0001811159500000072
进一步地,所述稳定邻节点的维护具体步骤如下:
各节点通过接收Hello数据包更新稳定邻居表存储的信息,维持与稳定邻节点的连接:如果节点连续三个Hello周期收到的Hello数据包显示与原稳定邻节点不再满足互为稳定邻节点的条件,或者连续三个Hello周期未收到该节点的Hello数据包,则认为与该节点不再互为稳定邻节点,将该节点从稳定邻居表中删除;如果簇首认为与其一级节点不再互为稳定邻节点,则表示簇首认为一级节点及其附属的二级节点已经离开该簇,更新簇的相关信息;如果一级节点认为与其二级节点不再互为稳定邻节点,则表示一级节点认为二级节点已经离开该簇,一级节点会通过Hello数据包更新这一情况通知给簇首;如果一级节点认为与簇首不再互为稳定邻节点,则该一级节点会变为孤立节点;如果二级节点认为与其跟随的一级节点不再互为稳定邻节点,则该二级节点会变为孤立节点;
所述备用跟随节点表的存储和更新具体步骤如下:
在节点的稳定邻节点中,处于可连接状态的稳定邻节点均为节点的备用跟随节点;根据节点的稳定邻居表建立一个备用跟随节点表,并随着稳定邻居表而更新;节点按照簇首优于一级节点,簇类型优先于饱和度,饱和度优于相对移动性,单跳簇优于两跳簇,两跳簇优于四跳簇,饱和度低的簇优于饱和度高的簇,相对移动性低优于相对移动性高的规则,对备用跟随节点的优先级进行排序;当节点与当前跟随节点失去连接或者不再互为稳定邻节点时,节点通过尝试向最优备用跟随节点发送加入请求的数据包,请求连接加入相应的簇当中,若在Ta时间内未得到目的跟随节点的肯定应答,则再向下一优先级的节点发送申请知道成功加入新的簇中;如果备用跟随节点表为空或者均得到否定应答或无应答,则节点会成为孤立节点;
所述簇类型变更具体步骤如下:
簇首以Nh个Hello周期为间隔,统计当前稳定邻节点中的孤立节点数以及本簇中一级节点的个数,假设这两类节点的总数为n,这n个节点中与簇首之间距离ΔD小于2R/5的节点数为m,根据n和m的大小,调整本簇的类型,并通过发送Hello数据包告知邻节点这一变化,具体变更条件如下:当n<M1 max,m>M1 min时,变更为单跳簇;当M1 max<n<M2时,变更为两跳簇;当n>M2时,变更为四跳簇;其中,其中n=No+Nm,No为簇首稳定邻节点中的孤立节点个数,Nm为簇首的一级节点成员个数;
所述簇融合的具体步骤如下:
当一个簇首将另一个簇首加入到自己的稳定邻居表后,开启一个定时器tm,在定时器失效后若两个簇首仍互为稳定邻节点,则判断是否满足:两个簇首的CL值均大于阈值CLth以及两个簇的平均速度差
Figure BDA0001811159500000081
小于Vth,如果两个条件都满足,则根据两个簇的类型进行簇融合操作:
假设节点i的速度表示为Vi,以节点i为簇首的簇可表示为Ci,簇内成员构成的集合表示为S(Ci),该集合中的元素个数表示为N(Ci),则两个簇的平均速度定义如下:
Figure BDA0001811159500000082
如果两个簇的簇首都是单跳簇或者两跳簇的簇首,则首先饱和度低的簇解散,饱和度高的簇首根据当前自己稳定邻节点的情况判断是否需要调整簇的规模,使得簇解散后的孤立节点可以加入本簇中;
如果两个簇首分别为单跳簇及两跳簇的簇首,则单跳簇需先解散,两跳簇簇首根据当前自己稳定邻节点的情况判断是否需要调整簇规模,使得孤立节点可以加入到本簇中;
如果两个簇中其中给一个是四跳簇,另一个簇是单跳簇或者两跳簇,则需单/两跳簇的簇首先根据四跳簇的饱和度判断四跳簇是否已经饱和,如果四跳簇没有饱和且剩余可连接的节点数大于自己本簇的成员数则解散自己的簇,解散后的各节点根据自己所维护的备用跟随节点的优先级加入到新的簇中;
如果两个簇首都是四跳簇的簇首,则CL值高的簇首宣布解散自己的簇,原簇中的节点变为孤立节点后根据自己的备用跟随节点的优先级加入到新的簇中;
所述簇解散具体包括以下步骤:
当簇首节点i满足以下三个条件中的两个时,将会宣布解散自己的簇:
Figure BDA0001811159500000091
其中节点j为簇首i的成员节点,η为簇首切换比例;
所述多网关节点对的维护具体包括以下步骤:
网关节点通过接收匹配网关对的Hello数据包来计算并更新与匹配网关对之间的STL,并通过周期性发送Hello数据包将得到的STL信息告知给周围邻节点;如果网关在一定时间Tg内收到MP个属于相同两个簇且STL值比自己大的网关或准网关的Hello数据包、准网关或网关声明,则该节点与匹配节点将自己的状态转变为一级节点或二级节点状态,并通过发送Hello数据包告知周围邻节点。
适于高动态无线网络的负载均衡的自适应稳定分簇系统,包括:
初始簇形成模块,用于控制稳定邻节点计算节点的簇首胜任度,并由此选举出最优簇首,形成初始的簇结构;
簇结构维护模块,用于控制网络中的各个节点根据自己的角色对网络已有的分簇结构进行维护。
其中,所述初始簇形成模块包括:
稳定邻居表建立单元,用于初始化网络内所有节点均为孤立节点,并控制网络内各个节点建立各自的稳定邻居表;
最优簇首选择单元,用于控制节点根据当前稳定邻节点的情况,计算节点的簇首胜任值,选举出最优簇首,并判断该节点适合形成的簇类型;
孤立节点入簇控制单元,用于控制各节点根据自己的稳定邻节点情况,选择优先级最高的备用跟随节点加入相应的簇;
网关节点形成单元,用于控制不同簇中的互为稳定邻节点的两个成员节点构成一对分布式的网关,形成每两个相邻簇之间的分布式网关对。
其中,所述簇维护模块包括:
稳定邻节点的维护单元,用于控制各节点通过接收Hello数据包更新稳定邻居表存储的信息,维持与稳定邻节点的连接;
备用跟随节点表的存储和更新单元,用于根据各节点的稳定邻居表建立一个备用跟随节点表,并随着稳定邻居表而更新;
簇类型变更单元,用于在满足簇变更条件时,对网络形成的簇类型变更;
簇融合单元,用于在满足簇融合条件时,对网络内形成的簇进行融合;
簇解散单元,用于在满足簇解散条件时,对网络类形成的簇进行解散;
多网关节点对维护单元,用于对网络内的网关节点进行状态转换,完成对网关节点对的维护。
本发明的有益效果是:(1)本发明基于稳定邻节点的基础进行车辆节点簇的划分不仅可以保证簇成员节点之间具有相似的移动性而且还避免了临界车辆节点频繁加入和离开簇而进一步提高了分簇结构的稳定性。(2)为评估节点移动特性对分簇稳定性的影响,本发明将相对速度,相对距离,相对方向这三个因素相结合组成节点的移动性度量,其中首次提出节点的中心性度量,以此来评估节点在稳定邻节点中的中心程度,降低簇的重叠度,减少网络内簇首的个数,优化网络结构。(3)在簇首选择时,本发明不仅考虑了节点之间的相似移动性,还考虑了节点的连通度以及链路质量,使得分簇方法适应于车辆网中复杂多变的无线信道环境以及多种交通场景。(4)本发明通过稳定邻节点的个数估计当前网络局部的车辆节点密度,当密度小时建立单跳簇或两跳簇,当密度大时建立四跳簇。另外,已形成的簇也可根据当前的密度变化调整自己的簇类型,满足一定条件时还可发生簇融合,即使网络内车辆节点分布不均匀处于不断变化之中也可使整个网络内的簇数量和簇大小保持在合理的范围之内;为保证簇融合之后形成新簇的稳定性,簇在融合之前要对两个簇的簇首进行簇首胜任度的评估,同时为了避免两个簇短时间内融合又分开的情况,只有当两个簇的平均速度低于融合速度阈值时才发生融合,这些簇融合机制皆保证了簇融合的合理性和分簇结构的稳定性。(5)为了降低由于节点快速移动导致网络拓扑频繁变化对网络性能的影响,每个节点在稳定邻节点的基础上维护一个备用节点跟随表,使得节点在脱离原簇的时候可以尽快加入新的簇,重新回归到网络之中。在节点加入簇的时候,在基于节点具有相似移动性的基础上还将优先加入饱和度低的簇,使得每个簇的负载状况区域区域平均,避免出现网络中某些簇负载过重另一些簇内资源利用率过低的状况。(6)此外,每两个簇之间维护多个网关对,避免单一网关对出现负载过重的情况,同时降低网络对单一网关对的依赖程度,提高网络的鲁棒性。
附图说明
图1是本发明的方法流程图;
图2是一个实施例中多类簇并存的分簇结构示意图;
图3是簇首为网关节点的情况示意图;
图4是节点状态转换图;
图5是节点中心性说明图;
图6是簇首宣布成立簇的流程图;
图7是备用跟随节点优先级说明示意图;
图8是孤立节点加入簇的流程图;
图9是簇类型变更的流程图;
图10是簇融合的流程图;
图11是本发明的系统原理框图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
如图1所示,适于高动态无线网络的负载均衡的自适应稳定分簇方法,包括以下步骤:
S1、初始簇的形成;
S101、建立稳定邻节点表
开始时网络内所有节点均为孤立节点,即未加入到任何簇之中。每个节点周期性地发送Hello数据包,向周围邻节点宣告自己当前的状态、ID号、簇类型、所属簇ID(即簇首ID)、位置、速度、运动方向、簇首胜任度、簇的饱和度、可连接节点数、稳定链路时间(可选)以及簇首或二级节点的相关信息(可选)等信息。同时节点根据接收到的邻节点的Hello数据包,判断节点是否为自己的稳定邻节点,并据此建立自己的稳定邻居表,根据接收到的Hello数据包存储并更新稳定邻节点的相关信息。
该步骤中,如果节点i和节点j之间的距离满足ΔDi,j<Dth,相对速度满足|ΔVi,j|<Vth,相对移动方向满足|Δθi,j|<θth,(在本申请的实施例中,Vth为基于不同交通场景设置的速度阈值,Dth为设定的距离阈值,θth为设定的移动方向阈值,例如在城市街道中Vth为2.8m/s,乡村公路Vth为3.6m/s。高速公路Vth为4.5m/s;Dth=4/5R,θth=π/2),则节点i和节点j互为稳定邻节点。
S102、选择簇首
节点i根据自己的接收的Hello数据包建立稳定邻节点表后,并由此计算自己的簇首胜任度CL(i),并在Hello数据包中更新自己的CL值。
综合考虑节点的连通度、链路可靠性和相对移动性等因素,节点i的簇首胜任度具体的加权计算公式如下所示:
CL(i)=w1C(i)+w2R(i)+w3D(i)+w4V(i)+w5O(i)
其中C(i)为节点i的连通度分量,
Figure BDA0001811159500000121
Ci是节点i的稳定邻节点的个数,Cmax是具体交通场景下某一节点预定义的最大稳定邻节点数;
R(i)为节点i的可靠性分量,R(i)=(1-ps)(1-pr),ps表示节点i成功将数据包发送到其稳定邻节点的概率,pr表示节点i成功接收到来自其稳定邻节点的数据包的概率,由于节点周期性发送Hello数据包给周围邻节点故而很容易得到节点的ps和pr
D(i)为节点i的中心性分量,
Figure BDA0001811159500000122
其中c是节点i与其稳定邻节点确定的中心点,k∈S(i),S(i)为节点i和其稳定邻节点构成的节点集合。假设集合元素的个数为n,则中心点c的坐标通过下面的公式得到
Figure BDA0001811159500000123
V(i)为节点i的相对速度分量,
Figure BDA0001811159500000124
Vi是节点i的速度,
Figure BDA0001811159500000125
是节点i的稳定邻节点的平均速度,
Figure BDA0001811159500000126
由下面的公式计算得到
Figure BDA0001811159500000127
O(i)为节点i的移动方向相关性分量,
Figure BDA0001811159500000128
Cs为与节点i的相对移动方向|Δθi,j|<π/4的节点的个数;
由此可得节点i的簇首胜任度CL(i)可表示为
Figure BDA0001811159500000129
其中各分量的权重可在不同交通场景及需求下设置为不同的值,且需满足
w1+w2+w3+w4+w5=1
各度量分量C(i)、R(i)、D(i)、V(i)、O(i)均归一化到(0,1)之间,且由上式可知CL(i)也在(0,1)之间,CL(i)的值越小,说明节点i越有能力担任簇首的角色。
节点通过接收稳定邻节点的Hello数据包来判断自己是否满足以下两个条件:在稳定邻节点中具有最小的CL值且有CL(i)<CLth值(CLth是根据交通场景设定的簇首胜任度阈值),若满足则将自己的状态改变为准簇首状态,并开启一个定时器Tc
如果定时器时间内未听到具有更小CL值的其他簇首或者准簇首的Hello数据包,则将自己的状态改为簇首状态,并根据自己当前稳定邻节点的情况创建一个单跳簇、两跳簇或者四跳簇,发布一个簇成立数据包通知周围节点该簇的相关信息。
如图2所示,网络内的节点会根据局部网络密度产生单跳簇、两跳簇或四跳簇,并由此形成三种簇并存的分簇结构。如图所示,网络中的节点不仅可以通过簇首加入簇中,还可以通过一级节点间接附属到相应的四跳簇中。其中,一级节点、二级节点均可作为网关节点,与匹配节点形成一个分布式网关对进行簇间消息的转发完成簇间通信。特殊情况下,分布式网关对中可能出现其中一个网关节点对为簇首情况。如图3所示,节点6加入到了簇1之中,同时簇首节点2与节点6互为稳定邻节点。由于节点6与节点2属于不同的两个簇,故而节点6可与簇首节点2共同组成一对网关。
如图4所示,为本发明的节点状态转换图,如果节点未成功加入到任一簇中,则节点处于孤立节点状态。这里的簇成员状态包括普通节点状态和网关节点状态。如果孤立节点在其稳定邻节点中具有最小的CL值,则宣布成为准簇首,并启动一个定时器Tc,在定时期间未侦听到具有更小CL值的簇首或准簇首则宣布成为簇首。如果两个簇发生了簇融合,则簇首会保持簇首状态或者解散本簇后加入另一个簇中成为簇成员。当簇成员节点与自己当前的跟随节点不再互为稳定邻节点时,会成为孤立节点状态。当簇首宣布解散该簇时,簇首和簇成员也会变为孤立节点状态。若孤立节点的备用跟随节点表为空,则会继续保持孤立节点状态直到该节点成功连接到备用跟随节点转换为簇成员状态。
如图5所示,为节点中心性说明图,节点m,n,o,p是节点i的稳定邻节点,点c是由节点i及其稳定邻节点确定的中心点,ΔDi,c表示节点i与中心点c之间的距离,max{ΔDk,c}=ΔDp,c,k∈S(i),S(i)为节点i和其稳定邻节点构成的节点集合,所以节点i的中心性分量
Figure BDA0001811159500000131
本发明中的分簇方法会根据局部网络密度在网络内形成单跳簇、两跳簇、四跳簇等并存的分簇结构以适应网络内节点分布不均匀的情况。VANETs中的簇数量和簇大小对网络整体性能有很大的影响,而簇数量和簇大小则与车辆密度密切相关,通过对车辆稳定邻节点数目估计当前局部网络的车辆密度,使得节点在不同的密度情况下分别形成单跳簇、两跳簇以及四跳簇。其中单跳簇指的是簇内所有成员都相距一跳,节点之间能直接通信的簇;两跳簇指的是所有成员节点距簇首都是一跳,簇内成员之间的通信最多通过两跳的簇;四跳簇指的是所有成员节点距簇首都是两跳,簇内成员之间的通信最多通过四跳的簇。如果簇内成员通信经过四跳以上,则簇内通信的可靠性就会大大降低,所以该算法中的簇类型限制到四跳簇。其中定义距簇首一跳的节点称为一级节点,距簇首两跳的节点为二级节点。单跳簇所允许的的簇规模(即簇内成员数)为M1 min~M1 max之间,M1 min是单跳簇所允许的簇规模的下限,M1 max为所允许的上限,本申请的实施例中设定M1 min=5,M1 max=7,另外默认M1=M1 max;两跳簇中簇首所能直接连接的节点数为M2,即不该包括簇首本身在内两跳簇的簇规模为M2,本申请的实施例中设定M2=15;四跳簇中节点可以通过附属到一级节点而间接加入到四跳簇中,每个四跳簇簇首能连接的一级节点数最多为M4 1,每个一级节点能够连接的二级节点数最多为M4 2,则四跳簇的成员数最多为M4=M4 1×(1+M4 2),即四跳簇的簇规模上限为M4,在本申请的实施例中,设定M4 1=16,M4 2=1,M4=32。
需要说明的是各参数的设定需满足一下不等式
Figure BDA0001811159500000141
如图6所示为簇首宣布成立簇的流程图;假设簇首当前稳定邻节点中的孤立节点数以及本簇中一级节点的个数,假设这两类节点的总数为n(稳定邻节点中的孤立节点个数为No与本簇首的一级节点成员数个数为Nm,n=No+Nm),这n个节点中与簇首之间距离ΔD小于2R/5的节点数为m;根据n和m的大小,判断簇首应当建立单跳簇,两跳簇还是四跳簇。具体判断过程如下:当n<M1 max,m>M1 min时,簇首创建单跳簇当M1 max<n<M2时,簇首创建两跳簇;当n>M2时,簇首创建四跳簇。
如果在定时器时间内听到其他簇首或者准簇首的Hello数据包,则比较二者的CL值,若节点的CL值较大则变成孤立节点状态。
S103、孤立节点加入簇
孤立节点先查看自己的稳定邻居表是否有可连接的簇首。如果有可连接簇首的话,簇的类型决定加入相应簇的优先级,当节点与单跳簇的簇首之间的距离小于2R/5(R为节点的通信半径)时优先加入单跳簇,其次优先连接两跳簇的簇首,最后连接四跳簇的簇首。如果存在两个以上同类型的簇首,那么则优先连接饱和度低的簇相应的簇首。节点通过向所要连接的目的簇首发送申请加入簇的数据包加入相应簇,然后如果在一定时间内得到簇首的肯定应答,则成功加入相应簇,变为该簇的一级节点,否则尝试向下一个次优的簇首节点发送申请加入的数据包。
在多类簇并存的网络中,需要预先设定单跳簇、两跳簇及四跳簇中簇首或一级节点可连接的节点数,并确定相应的规模。其中由簇规模可定义簇的饱和度DS如下所示:
Figure BDA0001811159500000151
其中以节点x为簇首的簇表示为簇x,Nc(x)表示簇x当前的成员数,Mi为簇x的规模,其中i=1,2,4,分别表示单跳簇、两跳簇、四跳簇预定义的规模。
如果没有可加入的簇首,节点也可向四跳簇中的一级节点发送申请加入簇的数据包而间接加入相应的四跳簇。节点首先查看稳定邻居表中是否有四跳簇的一级节点,只存在一个可连接的一级节点的话直接请求加入对应的四跳簇,如果存在多个可连接的一级节点,若一级节点属于不同簇,选择饱和度低的簇;若一级节点属于相同簇,则选择与本节点相比相对移动性小的一级节点跟随。如果在一定时间Ta内得到目的一级节点的肯定应答,则成功加入相应簇,变为该簇的二级节点,否则尝试向下一个次优先的目的跟随节点发送申请加入的数据包。
本申请中将节点i与节点j的相对移动性Mi,j定义为:
Figure BDA0001811159500000152
其中ΔVi,j为节点i与节点j之间的速度差;ΔDi,j为节点i与节点j之间的距离;Δθi,j为节点i与节点j之间的相对移动方向;。
所有孤立节点都通过以上步骤加入到某一个簇当中,如果稳定邻节点中不存在可连接的节点则该节点保持孤立节点状态。
S104.网关节点的形成
如果某节点的稳定邻节点中存在属于外簇的节点,则该节点与所对应的外簇节点共同成为准网关,节点会计算它们之间的稳定链路时间(SLT,Stable Link Time),在Hello数据包中更新自己的状态,并添加SLT的相关信息,通过发送Hello数据包告知周围节点并开启一个定时器Tg。若t时刻节点i与节点j互为稳定邻节点,假设时间间隔δt内,节点i和节点j的速度大小和方向保持不变,当两节点之间的距离达到阈值Dth时,两节点不再互为稳定邻节点。所以t时刻节点i和节点j之间的稳定链路时间SLTi,j(t)满足
ΔDi,j(t+SLTi,j(t)≤Dth
为了有效计算出两节点之间的稳定链路时间,在这里利用二维平面坐标来表示节点的位置和各速度分量。假设t时刻节点i的坐标为(xi,yi),速度分量为(vix,viy),节点j的坐标为(xj,yj),速度分量为(vjx,vjy)。那么经过δt时间之后,节点i和节点j的坐标分别为(xi+vixδt,yi+viyδt)和(xj+vjxδt,yj+vjyδt)。将此坐标带上面的不等式得到
Figure BDA0001811159500000161
其中,
Figure BDA0001811159500000162
如果在定时器期间没有侦听到Mp个属于相同两个簇且稳定链路时间(SLT)比自己长的网关对或准网关对,则节点将自己的状态改为网关,发送一个网关声明数据包。
S2、簇结构的更新与维护
1、稳定邻节点的维护
各节点通过接收Hello数据包更新稳定邻居表中存储的信息,维持与稳定邻节点的连接。如果节点连续三个Hello周期收到的Hello数据包显示与原稳定邻节点不再满足互为稳定邻节点的条件或者连续三个Hello周期未收到该节点的Hello包,则认为与该节点不再互为稳定邻节点,且要将该节点从稳定邻居表中删除。一级节点的跟随节点为簇首,二级节点的跟随节点为一级节点。如果簇首认为与其一级节点不再互为稳定邻节点,则表示簇首认为一级节点及其附属的二级节点已经离开该簇,会更新簇的相关信息;如果一级节点认为与其二级节点不再互为稳定邻节点,则表示一级节点认为二级节点已经离开该簇,一级节点会通过发送一个更新的Hello数据包将这一情况通知给簇首;如果一级节点认为与簇首不再互为稳定邻节点,则该一级节点会变为孤立节点;如果二级节点认为与其跟随的一级节点不再互为稳定邻节点,则该二级节点会变为孤立节点。
2、备用跟随节点表的建立和维护
如图7所示,为备用跟随节点优先级说明示意图,在节点的稳定邻节点中,处于可连接状态的稳定邻节点均为节点的备用跟随节点。根据节点的稳定邻居表可建立一个备用跟随节点表,并随着稳定邻居表而更新。节点会按照簇首优于一级节点,簇类型优先于饱和度,饱和度优于相对移动性,单跳簇优于两跳簇,两跳簇优于四跳簇,饱和度低的簇优于饱和度高的簇,相对移动性低优于相对移动性高的规则对备用跟随节点的优先级进行排序。如图8所示,当节点与当前跟随节点失去连接或者不再互为稳定邻节点时,节点可通过尝试向优先级最高的备用跟随节点发送加入请求的数据包,请求连接加入相应的簇当中,若在Ta时间内未得到目的跟随节点的肯定应答,则再向次优先级的节点发送申请直到成功加入新的簇中。如果备用跟随节点表为空或者均得到否定应答或无应答,则节点会保持孤立节点状态。
3、簇解散
随着节点移动方向和速度的不断变化,原来的簇结构可能会遭到破坏,簇首也可能会再是当前簇的最优选择,当现有的簇结构满足一定条件时会发生簇解散。当簇首节点i满足以下三个条件中的两个时,将会发布一个簇解散数据包来解散自己的簇:
Figure BDA0001811159500000171
其中节点j为簇首i的成员节点,在本申请的实施例中η为簇首切换比例,η=0.9,DSth=1/4。
4、簇类型变更
如图9所示,为簇类型变更的流程图,由于网络节点的移动性,在初始簇形成之后,网路内各部分的节点密度可能会发生变化。在本发明中各簇首会根据当前局部网络内的节点密度自适应调整簇类型及相应的规模,使得簇首周围的孤立节点可以加入到网络中,簇类型变更的具体步骤如下:
簇首以Nh个Hello周期为间隔,统计当前稳定邻节点中的孤立节点数以及本簇中一级节点的个数,假设这两类节点的总数为n(稳定邻节点中的孤立节点个数为No与本簇首的一级节点成员数个数为Nm,n=No+Nm),这n个节点中与簇首之间距离ΔD小于2R/5的节点数为m;
根据n和m的大小,调整本簇的类型,并通过发送Hello数据包告知邻节点这一变化,具体变更条件如下:当n<M1 max,m>M1 min时,变更为单跳簇;当M1 max<n<M2时,变更为两跳簇;当n>M2时,变更为四跳簇。
5、簇融合
如图10所示,为簇融合的流程图,由于节点的移动性,两个或多个簇会在距离较近的时候,局部网络密度会发生变化。此时可能会发生簇类型变更和簇融合。簇融合的具体步骤如下:
当一个簇首将另一个簇首加入到自己的稳定邻居表后,开启一个定时器tm,在定时器失效后若两个簇首仍互为稳定邻节点,则还需判断两个簇首的CL值均大于阈值CLth以及两个簇的平均速度差
Figure BDA0001811159500000182
小于Vth,如果两个条件都满足,则还需根据两个簇的类型进行簇融合操作。假设节点i的速度表示为Vi,以节点i为簇首的簇可表示为Ci,簇内成员构成的集合表示为S(Ci),该集合中的元素个数表示为N(Ci),则两个簇的平均速度定义如下:
Figure BDA0001811159500000181
如果两个簇的簇首都是单跳簇或者两跳簇的簇首,则首先饱和度低的簇解散,饱和度高的簇首根据当前当前自己稳定邻节点的情况判断是否需要调整簇的规模,使得簇解散后的孤立节点可以加入本簇中;
如果两个簇首分别为单跳簇及两跳簇的簇首,则单跳簇需先解散,两跳簇簇首根据当前自己稳定邻节点的情况判断是否需要调整簇规模,使得孤立节点可以加入到本簇中;
如果两个簇中其中给一个是四跳簇,另一个簇是单跳簇或者两跳簇,则需单(两)跳簇的簇首先根据四跳簇的饱和度判断四跳簇是否已经饱和,如果四跳簇没有饱和且剩余可连接的节点数大于自己本簇的成员数则解散自己的簇,解散后的各节点根据自己所维护的备用跟随节点的优先级加入到新的簇中。
如果两个簇首都是四跳簇的簇首,则如果CL值高的簇首宣布解散自己的簇,原簇中的节点变为孤立节点后根据自己的备用跟随节点的优先级加入到新的簇中。
6、网关的维护和更新
网关节点通过接收匹配网关对的Hello数据包来计算并更新与匹配网关对之间的STL,并通过发送Hello数据包将得到的STL信息告知给周围邻节点;
如果网关在一定时间Tg内收到MP个属于相同两个簇且STL值比自己大的网关或准网关的Hello数据包、准网关或网关声明,则该节点与匹配节点将自己的状态更新为一级节点或二级节点状态,并通过发送Hello数据包告知周围邻节点。在本申请的实施例中,所述的Tg、Tm、Ta均由用户根据需要预先设定得到。
如图11所示,适于高动态无线网络的负载均衡的自适应稳定分簇系统,包括:
初始簇形成模块,用于控制稳定邻节点计算节点的簇首胜任度,并由此选举出最优簇首,形成初始的簇结构;
簇结构维护模块,用于控制网络中的各个节点根据自己的角色对网络已有的分簇结构进行维护。
其中,所述初始簇形成模块包括:
稳定邻居表建立单元,用于初始化网络内所有节点均为孤立节点,并控制网络内各个节点建立各自的稳定邻居表;
最优簇首选择单元,用于控制节点根据当前稳定邻节点的情况,计算节点的簇首胜任值,选举出最优簇首,并判断该节点适合形成的簇类型;
孤立节点入簇控制单元,用于控制各节点根据自己的稳定邻节点情况,选择优先级最高的备用跟随节点加入相应的簇;
网关节点形成单元,用于控制不同簇中的互为稳定邻节点的两个成员节点构成一对分布式的网关,形成每两个相邻簇之间的分布式网关对。
其中,所述簇维护模块包括:
稳定邻节点的维护单元,用于控制各节点通过接收Hello数据包更新稳定邻居表存储的信息,维持与稳定邻节点的连接;
备用跟随节点表的存储和更新单元,用于根据各节点的稳定邻居表建立一个备用跟随节点表,并随着稳定邻居表而更新;
簇类型变更单元,用于在满足簇变更条件时,对网络形成的簇类型变更;
簇融合单元,用于在满足簇融合条件时,对网络内形成的簇进行融合;
簇解散单元,用于在满足簇解散条件时,对网络类形成的簇进行解散;
多网关节点对维护单元,用于对网络内的网关节点进行状态转换,完成对网关节点对的维护。
以上所述是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应该看作是对其他实施例的排除,而可用于其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (9)

1.适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:包括以下步骤:
S1.选举簇首并形成初始簇;
S2.对簇结构进行自适应维护,包括稳定邻节点的维护、备用跟随节点表的存储和更新、簇类型变更、簇融合、簇解散和多网关节点对的维护;
所述步骤S1包括以下子步骤:
S101.建立稳定邻节点表:
初始化网络内所有节点均为孤立节点,未加入到任何簇之中,每个节点周期性地向周围邻节点发送Hello数据包;同时各节点根据接收到的邻节点的Hello数据包,建立自己的稳定邻居表,根据接收到的Hello数据包存储并更新稳定邻节点的相关信息;
S102.选择簇首:
网络内任一节点i根据自己建立的稳定邻节点表,计算自己的簇首胜任度CL(i),当节点在稳定邻节点中具有最小的CL值且CL(i)<CLth时,节点i将自己的状态改变为准簇首状态,并开启一个定时器,其中CLth是根据交通场景预设的簇首胜任度阈值;
判断在定时器时间内节点i是否未听到其他簇首或者准簇首的Hello数据包:
若是,则比较二者的CL值,将CL值较大的节点变成孤立节点状态;
若否,节点i将自己的状态改为簇首状态,并根据自己当前稳定邻节点的情况创建一个单跳簇、两跳簇或者四跳簇,发布一个簇成立数据包通知周围节点该簇的相关信息;
S103.将孤立节点加入簇中:
孤立节点先查看自己的稳定邻居表是否有可连接的簇首;
如果有可连接簇首的话,簇的类型决定相应簇的优先级,即当节点与单跳簇的簇首之间的距离小于2R/5时优先加入单跳簇;其次连接两跳簇的簇首,最后连接四跳簇的簇首,R为节点的通信半径;
如果存在两个以上同类型的簇首,那么则优先连接饱和度低的簇相应的簇首;节点通过向所要连接的目的簇首发送申请加入簇的数据包,然后如果在一定时间Ta内得到簇首的肯定应答,则成功加入相应簇,变为该簇的一级节点,否则尝试向下一个次优的簇首发送申请加入的数据包;
如果没有可加入的簇首,节点也向四跳簇中的一级节点发送申请加入簇的数据包加入相应的四跳簇,如果在一定时间Ta内得到目的一级节点的肯定应答,则成功加入相应簇,变为该簇的二级节点,否则尝试向下一个次优先的目的跟随节点发送申请加入的数据包:首先节点查看稳定邻居表中是否有四跳簇的一级节点,只存在一个可连接的一级节点的话直接请求加入对应的四跳簇,如果存在多个可连接的一级节点,若一级节点属于不同簇,选择饱和度低的簇;若一级节点属于相同簇,则选择与本节点相比相对移动性小的一级节点跟随;
所有孤立节点都通过以上步骤加入到某一个簇当中,如果稳定邻节点中不存在可连接的节点则该节点保持孤立节点角色;
S104.形成网关节点:
在不同簇中的互为稳定邻节点的两个成员节点构成一对分布式的网关,如果某节点在的稳定邻节点中存在属于外簇的节点,则该节点与所对应的外簇节点共同成为准网关,计算两个节点之间的稳定链路时间SLT,将自己的状态改为准网关状态,并将SLT信息加入到Hello数据包中,告知周围邻节点;如果在一定时间Tg内没有侦听到Mp个稳定链路时间SLT比自己长的网关对或准网关对,则将自己的状态改为网关,发送一个网关声明数据包;
在形成网关节点时,允许两个簇之间存在最多2对网关,避免单一网关对出现负载过重的情况,降低网络对单一网关对的依赖程度。
2.根据权利要求1所述的适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:所述Hello数据包中包括但不限于节点当前的状态、位置、速度、运行方向、簇首胜任度、簇的饱和度、可连接数、稳定链路时间、以及簇首或二级节点的相关信息。
3.根据权利要求1所述的适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:所述步骤S101中,如果节点i和节点j之间的距离满足ΔDi,j<Dth,相对速度满足|ΔVi,j|<Vth,相对移动方向满足|Δθi,j|<θth,则节点i和节点j互为稳定邻节点,其中Vth为基于不同交通场景设置的速度阈值,Dth为设定的距离阈值,θth为设定的移动方向阈值。
4.根据权利要求1所述的适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:所述步骤S102中,节点i的簇首胜任度CL(i)计算方式如下:
CL(i)=w1C(i)+w2R(i)+w3D(i)+w4V(i)+w5O(i)
其中,C(i)为节点i的连通度分量,
Figure FDA0003221484200000021
Ci为节点i的稳定邻节点的个数,Cmax为具体交通场景下某一节点预定义的最大稳定邻节点数;
R(i)为节点i的可靠性分量,R(i)=(1-ps)(1-pr),ps表示节点i成功将数据包发送到其稳定邻节点的概率,pr表示节点i成功接收到来自其稳定邻节点的数据包的概率;
D(i)为节点i的中心性分量,
Figure FDA0003221484200000022
其中c是节点i与其稳定邻节点确定的中心点,k∈S(i),S(i)为节点i和其稳定邻节点构成的节点集合;假设集合元素的个数为n,则中心点c的坐标通过下面的公式得到
Figure FDA0003221484200000031
V(i)为节点i的相对速度分量,
Figure FDA0003221484200000032
Vi是节点i的速度,
Figure FDA0003221484200000033
是节点i的稳定邻节点的平均速度,
Figure FDA0003221484200000034
由下面的公式计算得到:
Figure FDA0003221484200000035
O(i)为节点i的移动方向相关性分量,
Figure FDA0003221484200000036
Cs为与节点i的相对移动方向|Δθi,j|<π/4的节点的个数;
故节点i的簇首胜任度CL(i)表示为:
Figure FDA0003221484200000037
其中各分量的权重在不同交通场景及需求下设置为不同的值,且需满足
w1+w2+w3+w4+w5=1
各度量分量C(i)、R(i)、D(i)、V(i)、O(i)均归一化到(0,1)之间,故CL(i)也在(0,1)之间,CL(i)的值越小,说明节点i越有能力担任簇首的角色;
所述步骤S102中,簇首根据当前稳定邻节点的情况,创建单跳簇、两跳簇或者四跳簇的规则如下:
设簇首当前稳定邻节点中的孤立节点数以及本簇中一级节点的总数为n,这n个节点中,与簇首距离ΔD小于2R/5的节点数为m;其中n=No+Nm,No为簇首稳定邻节点中的孤立节点个数,Nm为簇首的一级节点成员个数;
当n<M1 max,m>M1 min时,簇首创建单跳簇;
当M1 max<n<M2时,簇首创建两跳簇;
当n>M2时,簇首创建四跳簇;
其中,M1 min是单跳簇所允许的簇规模的下限,M1 max为所允许的上限,M2为两跳簇中簇首所能直接连接的节点数,即不该包括簇首本身在内的两跳簇的簇规模。
5.根据权利要求1所述的适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:所述步骤S103中,孤立节点先查看自己的稳定邻居表是否有可连接簇首的过程如下:
定义簇的饱和度DS:
Figure FDA0003221484200000041
其中Nc(x)表示簇x当前的成员数,Mi为簇x的规模,其中i=1,2,4,分别表示单跳簇、两跳簇、四跳簇预定义的规模;
若簇首当前所连接的一级节点数M1 c<Mi,i=1,2,4,簇首为可连接状态;当四跳簇中的某个一级节点当前所连接的二级节点数M2 c<M4 2时,该一级节点为可连接状态。
6.根据权利要求1所述的适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:所述步骤S103中,任意两个节点i与i的相对移动性Mi,j计算方式为:
Figure FDA0003221484200000042
其中ΔVi,j为节点i与节点j之间的速度差;ΔDi,j为节点i与节点j之间的距离;Δθi,j为节点i与节点j之间的相对移动方向。
7.根据权利要求1所述的适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:所述步骤S104中,两个节点之间的稳定链路时间SLT计算方式如下:
设t时刻节点i与节点j互为稳定邻节点,时间间隔δt内,节点i和节点j的速度大小和方向保持不变,当两节点之间的距离达到阈值Dth时,两节点不再互为稳定邻节点;则t时刻节点i和节点j之间的稳定链路时间SLTi,j(t)满足
ΔDi,j(t+SLTi,j(t))≤Dth
设t时刻节点i的坐标为(xi,yi),速度分量为(vix,viy),节点j的坐标为(xj,yj),速度分量为(vjx,vjy);经过δt时间之后,节点i和节点j的坐标分别为(xi+vixδt,yi+viyδt)和(xj+vjxδt,yj+vjyδt),故:
Figure FDA0003221484200000043
其中:
Figure FDA0003221484200000051
8.根据权利要求1所述的适于高动态无线网络的负载均衡的自适应稳定分簇方法,其特征在于:所述稳定邻节点的维护具体步骤如下:
各节点通过接收Hello数据包更新稳定邻居表存储的信息,维持与稳定邻节点的连接:如果节点连续三个Hello周期收到的Hello数据包显示与原稳定邻节点不再满足互为稳定邻节点的条件,或者连续三个Hello周期未收到该节点的Hello数据包,则认为与该节点不再互为稳定邻节点,将该节点从稳定邻居表中删除;如果簇首认为与其一级节点不再互为稳定邻节点,则表示簇首认为一级节点及其附属的二级节点已经离开该簇,更新簇的相关信息;如果一级节点认为与其二级节点不再互为稳定邻节点,则表示一级节点认为二级节点已经离开该簇,一级节点会通过Hello数据包更新这一情况通知给簇首;如果一级节点认为与簇首不再互为稳定邻节点,则该一级节点会变为孤立节点;如果二级节点认为与其跟随的一级节点不再互为稳定邻节点,则该二级节点会变为孤立节点;
所述备用跟随节点表的存储和更新具体步骤如下:
在节点的稳定邻节点中,处于可连接状态的稳定邻节点均为节点的备用跟随节点;根据节点的稳定邻居表建立一个备用跟随节点表,并随着稳定邻居表而更新;节点按照簇首优于一级节点,簇类型优先于饱和度,饱和度优于相对移动性,单跳簇优于两跳簇,两跳簇优于四跳簇,饱和度低的簇优于饱和度高的簇,相对移动性低优于相对移动性高的规则,对备用跟随节点的优先级进行排序;当节点与当前跟随节点失去连接或者不再互为稳定邻节点时,节点通过尝试向最优备用跟随节点发送加入请求的数据包,请求连接加入相应的簇当中,若在Ta时间内未得到目的跟随节点的肯定应答,则再向下一优先级的节点发送申请直到成功加入新的簇中;如果备用跟随节点表为空或者均得到否定应答或无应答,则节点会成为孤立节点;
所述簇类型变更具体步骤如下:
簇首以Nh个Hello周期为间隔,统计当前稳定邻节点中的孤立节点数以及本簇中一级节点的个数,假设这两类节点的总数为n,这n个节点中与簇首之间距离ΔD小于2R/5的节点数为m,根据n和m的大小,调整本簇的类型,并通过发送Hello数据包告知邻节点这一变化,具体变更条件如下:当n<M1 max,m>M1 min时,变更为单跳簇;当M1 max<n<M2时,变更为两跳簇;当n>M2时,变更为四跳簇;其中,其中n=No+Nm,No为簇首稳定邻节点中的孤立节点个数,Nm为簇首的一级节点成员个数;
所述簇融合的具体步骤如下:
当一个簇首将另一个簇首加入到自己的稳定邻居表后,开启一个定时器tm,在定时器失效后若两个簇首仍互为稳定邻节点,则判断是否满足:两个簇首的CL值均大于阈值CLth以及两个簇的平均速度差
Figure FDA0003221484200000061
小于Vth,如果两个条件都满足,则根据两个簇的类型进行簇融合操作:
假设节点i的速度表示为Vi,以节点i为簇首的簇可表示为Ci,簇内成员构成的集合表示为S(Ci),该集合中的元素个数表示为N(Ci),则两个簇的平均速度定义如下:
Figure FDA0003221484200000062
如果两个簇的簇首都是单跳簇或者两跳簇的簇首,则首先饱和度低的簇解散,饱和度高的簇首根据当前自己稳定邻节点的情况判断是否需要调整簇的规模,使得簇解散后的孤立节点可以加入本簇中;
如果两个簇首分别为单跳簇及两跳簇的簇首,则单跳簇需先解散,两跳簇簇首根据当前自己稳定邻节点的情况判断是否需要调整簇规模,使得孤立节点可以加入到本簇中;
如果两个簇中其中给一个是四跳簇,另一个簇是单跳簇或者两跳簇,则需单/两跳簇的簇首先根据四跳簇的饱和度判断四跳簇是否已经饱和,如果四跳簇没有饱和且剩余可连接的节点数大于自己本簇的成员数则解散自己的簇,解散后的各节点根据自己所维护的备用跟随节点的优先级加入到新的簇中;
如果两个簇首都是四跳簇的簇首,则CL值高的簇首宣布解散自己的簇,原簇中的节点变为孤立节点后根据自己的备用跟随节点的优先级加入到新的簇中;
所述簇解散具体包括以下步骤:
当簇首节点i满足以下三个条件中的两个时,将会宣布解散自己的簇:
Figure FDA0003221484200000063
其中节点j为簇首i的成员节点,η为簇首切换比例;
所述多网关节点对的维护具体包括以下步骤:
网关节点通过接收匹配网关对的Hello数据包来计算并更新与匹配网关对之间的STL,并通过周期性发送Hello数据包将得到的STL信息告知给周围邻节点;如果网关在一定时间Tg内收到MP个属于相同两个簇且STL值比自己大的网关或准网关的Hello数据包、准网关或网关声明数据包,则该节点与匹配节点将自己的状态转变为一级节点或二级节点状态,并通过发送Hello数据包告知周围邻节点。
9.适于高动态无线网络的负载均衡的自适应稳定分簇系统,其特征在于:包括:
初始簇形成模块,用于控制稳定邻节点计算节点的簇首胜任度,并由此选举出最优簇首,形成初始的簇结构,包括:稳定邻居表建立单元,用于初始化网络内所有节点均为孤立节点,并控制网络内各个节点建立各自的稳定邻居表;最优簇首选择单元,用于控制节点根据当前稳定邻节点的情况,计算节点的簇首胜任值,选举出最优簇首,并判断该节点适合形成的簇类型;孤立节点入簇控制单元,用于控制各节点根据自己的稳定邻节点情况,选择优先级最高的备用跟随节点加入相应的簇;网关节点形成单元,用于控制不同簇中的互为稳定邻节点的两个成员节点构成一对分布式的网关,形成每两个相邻簇之间的分布式网关对;
簇结构维护模块,用于控制网络中的各个节点根据自己的角色对网络已有的分簇结构进行维护,包括稳定邻节点的维护单元,用于控制各节点通过接收Hello数据包更新稳定邻居表存储的信息,维持与稳定邻节点的连接;备用跟随节点表的存储和更新单元,用于根据各节点的稳定邻居表建立一个备用跟随节点表,并随着稳定邻居表而更新;簇类型变更单元,用于在满足簇变更条件时,对网络形成的簇类型变更;簇融合单元,用于在满足簇融合条件时,对网络内形成的簇进行融合;簇解散单元,用于在满足簇解散条件时,对网络类形成的簇进行解散;多网关节点对维护单元,用于对网络内的网关节点进行状态转换,完成对网关节点对的维护。
CN201811120826.6A 2018-09-26 2018-09-26 适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统 Active CN109041127B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811120826.6A CN109041127B (zh) 2018-09-26 2018-09-26 适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811120826.6A CN109041127B (zh) 2018-09-26 2018-09-26 适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统

Publications (2)

Publication Number Publication Date
CN109041127A CN109041127A (zh) 2018-12-18
CN109041127B true CN109041127B (zh) 2021-11-23

Family

ID=64618346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811120826.6A Active CN109041127B (zh) 2018-09-26 2018-09-26 适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统

Country Status (1)

Country Link
CN (1) CN109041127B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109547966B (zh) * 2018-12-27 2021-12-17 国网江苏省电力有限公司南京供电分公司 输电线路无线传感器网络的路由规划及故障诊断备份方法
CN110234146B (zh) * 2019-05-25 2022-12-13 西南电子技术研究所(中国电子科技集团公司第十研究所) 适用于自组织网络的分布式自适应分簇方法
CN110602257A (zh) * 2019-10-09 2019-12-20 中铁第四勘察设计院集团有限公司 一种基于空天车地通信网的应急通信系统及方法
CN111405489B (zh) * 2020-03-05 2021-03-30 华南理工大学 一种应用于无线网络的组播树构建方法
CN112565073A (zh) * 2020-11-26 2021-03-26 中国船舶工业系统工程研究院 基于区块链的无人艇首领节点动态选举系统和方法
CN113271643B (zh) * 2021-03-06 2023-05-09 南京航空航天大学 一种多节点协作无人机自组网分簇拓扑重构方法
CN114006790B (zh) * 2021-10-11 2023-11-07 杭州未识智能科技有限公司 一种用于控制城市网络组建的网关设备
CN114727356B (zh) * 2022-05-16 2022-08-26 北京邮电大学 无人集群组网方法、装置和电子设备
CN115190559B (zh) * 2022-07-14 2023-05-12 浙江方大通信有限公司 面向多场景的物联网设备的组网和控制方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576826C (zh) * 2007-12-14 2009-12-30 北京科技大学 一种基于信号连接强度的车载Ad hoc网络分簇方法
US9189233B2 (en) * 2008-11-24 2015-11-17 Intel Corporation Systems, apparatuses, and methods for a hardware and software system to automatically decompose a program to multiple parallel threads
CN102325306B (zh) * 2011-08-23 2014-01-22 哈尔滨工业大学 基于综合加权的vanet分簇广播方法
CN102307373B (zh) * 2011-08-23 2014-01-22 哈尔滨工业大学 考虑车辆交通特性的vanet分簇方法
US10630410B2 (en) * 2016-05-13 2020-04-21 Telefonaktiebolaget Lm Ericsson (Publ) Network architecture, methods, and devices for a wireless communications network

Also Published As

Publication number Publication date
CN109041127A (zh) 2018-12-18

Similar Documents

Publication Publication Date Title
CN109041127B (zh) 适于高动态无线网络的负载均衡的自适应稳定分簇方法和系统
Singh et al. VANET routing protocols: Issues and challenges
Sood et al. Clustering in MANET and VANET: A survey
Souza et al. A new aggregate local mobility (ALM) clustering algorithm for VANETs
Dhankhar et al. VANETs: a survey on routing protocols and issues
CN105722176A (zh) 城市场景中有基础设施的车联网大规模异构网络的连通性方法
CN111741448B (zh) 一种基于边缘计算策略的分簇aodv路由方法
Wang et al. TIBCRPH: traffic infrastructure based cluster routing protocol with handoff in VANET
CN106211260B (zh) 一种车联网中基于位置信息自适应的机会路由方法
Ahmed et al. A comprehensive classification of MANETs routing protocols
Satyajeet et al. Heterogeneous approaches for cluster based routing protocol in vehicular ad hoc network (vanet)
CN104202724B (zh) 一种基于地理位置信息的aanet联合路由算法
Attia et al. Advanced greedy hybrid bio-inspired routing protocol to improve IoV
Abuashour et al. A cluster-based life-time routing protocol in VANET
Jalalvandi et al. A cluster-based routing algorithm for VANET
Toulni et al. A hybrid routing protocol for VANET using ontology
Gasmi et al. A stable link based zone routing protocol (SL-ZRP) for internet of vehicles environment
Gunter et al. Medium access concept for VANETs based on clustering
Srivastava et al. Analysis of cluster-based and position-based routing protocol in VANET
Kumar et al. A survey on topology and position based routing protocols in vehicular ad hoc network (VANET)
Ram et al. Density-connected cluster-based routing protocol in vehicular ad hoc networks
WO2020215530A1 (zh) 一种车联网中基于节点效能的机会转发方法
Arzil et al. Adaptive routing protocol for VANETs in city environments using real-time traffic information
Sohail et al. Routing protocols in vehicular adhoc networks (vanets): A comprehensive survey
Sharma et al. A contemporary proportional exploration of numerous routing protocol in VANET

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant