一种基于复杂网络中心性的VANET分簇路由方法技术

技术编号:13921199 阅读:62 留言:0更新日期:2016-10-27 21:30
本发明专利技术提出了一种基于复杂网络中心性的VANET分簇路由方法,包括以下步骤:根据复杂网络中心性推举出簇头节点,建立簇头;网络中所有簇头节点根据收到的确认信息挑选骨干路径,骨干路径上的节点设为骨干节点,建立骨干网;骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,簇结构形成;骨干节点和簇头通过Hello报文对簇结构进行维护和解散;根据相应的规则进行数据包的转发。本发明专利技术通过骨干节点拓展了簇头的控制范围,减少了簇的总数,提高了分簇算法的性能,在分组到达率、控制开销等方面的表现更好,更适用于车载自组网环境。

【技术实现步骤摘要】

本专利技术属于车辆自组织网络无线通信
,特别是一种基于复杂网络中心性的VANET分簇路由方法
技术介绍
车载自组网(Vehicular Ad hoc Network,VANET)是智能交通系统的重要组成部分,是移动自组网(Mobile Ad hoc Network,MANET)技术在交通领域的新应用。在VANET环境中,车辆之间、车辆与路边通信设施之间通过无线连接进行信息交互。通过VANET提供的通信平台,车辆不但能获取邻近车辆的位置、速度、加速度、方向等信息,从而最大程度避免碰撞等交通事故,还能准确获悉人眼视距以外的实时交通状况,从而便于选择最优行车路线,避免拥堵。VANET还可以提供Internet接入服务,增强旅行舒适性。VANET技术在交通安全、辅助驾驶、车联网、物联网等领域都有很广阔的应用前景。传统的MANET路由方法以节约能源为主要目标,并且是基于网络节点作低速无约束运动的前提而设计的。然而VANET具有高动态拓扑、频繁的网络分割、节点运动可预测等独特性质,因此传统的MANET路由方法无法适用于能源充足、节点高速运动的VANET环境。此外,城市场景中存在路边建筑物的遮挡、无线电干扰等外部因素的影响,VANET节点之间的通信链路会出现频繁中断的现象,因此基于城市场景建立端到端的路由往往会产生较大的控制开销,并且路由的有效期很短。目前VANET分簇路由方法方面的研究较热。相比于其他类型的路由方法,分簇路由方法可将网络拓扑变化的影响限制在局部范围内,减少了参与路由计算节点数目。簇头将成员节点的数据进行融合然后再转发,减少了数据通信量。此外分簇结构有利于对网络进行管理和同步,具有较好的可扩展性和服务发现功能。但是在VANET环境中,现有分簇路由方法存在簇结构不稳定、控制开销较大、延迟大等突出问题亟待解决。
技术实现思路
本专利技术的目的在于提供一种结构稳定、数据到达率高、延迟小、控制开销小的基于复杂网络中心性的VANET分簇路由方法。实现本专利技术目的的技术解决方案为:一种基于复杂网络中心性的VANET分簇路由方法,包括如下步骤:步骤1,网络中的全部节点发起簇头推举过程,建立簇头:设定推举过程的局部搜索范围为l,对任意节点a,首先进行深度为l的广度优先搜索,记录下搜索到的邻居节点及邻居节点的中心性;所有邻居节点构成集合S,a节点保存自己与S中节点的所有路径,然后将a节点自己的中心性与S中邻居节点中心性进行对比,如果存在中心性比a节点中心性大的邻居节点,则a节点对集合S中中心性最大的邻居节点发出确认信息,同意该中心性最大的邻居节点作为簇头,如果不存在,则a节点本身设为簇头;步骤2,网络中所有簇头节点根据收到的确认信息挑选骨干路径,建立骨干网:向簇头节点h发送确认信息的邻居节点构成候选骨干节点集B;计算h节点与B中节点之间的所有路径的中心性,选出m条中心性最大的路径作为簇的骨干路径,骨干路径上的节点作为簇的骨干节点,最终簇头和骨干节点构成骨干网;步骤3,建立成员节点:骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,当一个节点是不同簇的骨干节点的共同邻居时,该节点随机选择其中的一个簇加入;步骤4,骨干节点和簇头通过Hello报文对簇结构进行维护和解散;步骤5,基于所形成的簇结构进行数据包的转发,完成VANET分簇路由。进一步地,步骤1所述网络中的全部节点发起簇头推举过程,建立簇头,具体如下:(1.1)发出簇头声明:所有不在簇内的节点,周期性地向邻居节点广播簇头声明报文,收到簇头声明报文的节点将做出两个判断:一、判断自己是否为簇头或骨干路径上的节点;二、判断自己与上一跳车辆之间的链路生存时间是否大于规定的阈值Tthre,当其中任意一个判断为是时,将簇头声明报文丢弃不做处理,当两个判断均为否时对此簇头声明报文做出如下处理:①判断簇头声明报文是否已达规定的最大跳数l,如果已经到达l,簇头声明报文不再进行转发,反之将簇头声明报文转发给邻居节点,为了避免簇头声明报文在网络里形成环路,规定簇头声明报文只能转发给该簇头声明报文储存路径以外的节点,即只能沿着简单路径转发;②节点将簇头声明报文源节点的中心性与自己的中心性进行对比,如果自己的中心性较高则发出驳回报文,驳回源节点建立簇头的请求,如果自己的中心性较低则根据如下的方法将簇头声明报文存储下来:首先建立一个最佳源即候选簇头节点的簇头声明报文队列,队列中储存了来自当前最佳源的簇头声明报文,当最佳源再次收到新的簇头声明报文时,将此簇头声明报文的源节点与自己储存的最佳源节点进行对比,如果新收到的簇头声明报文的源节点中心性更高,则清空旧的最佳源的簇头声明报文队列,将新收到的簇头声明报文加入队列,若新收到的簇头声明报文源节点恰是最佳源,则将此簇头声明报文添加至队列末尾;(1.2)发出驳回报文:当一个节点收到比自己中心性低的节点发来的簇头声明报文时,该节点通过驳回报文对簇头声明报文予以驳回,通过簇头声明报文和驳回报文的交互最终选择出中心性最高的节点作为簇头;当节点收到驳回报文后,在停止声明窗口期TSAW内停止簇头的建立,等待其他节点形成簇,如果经过一个停止声明窗口期TSAW以后还是不能加入簇中,则此节点重启簇头的声明过程即返回步骤(1.1),否则进入下一步;(1.3)发送同意报文:对于收到簇头声明报文的节点,从记录下第一个声明报文时算起,直到经历一个声明报文的监听窗口期TAHW以后,该节点分析所有收到的簇头声明报文,然后向最佳源发送同意报文;:(1.4)簇头建立:如果节点发出簇头声明报文后的一段等待建立窗口期TWCC内,没有收到任何驳回报文,该节点成为簇头。进一步地,步骤2所述网络中所有簇头节点根据收到的确认信息挑选骨干,建立骨干网,具体步骤如下:(2.1)对等待建立窗口期TWCC内收到的全部同意报文进行分析,选择其中度中心性最大的m条路径作为簇的骨干路径;(2.2)簇头节点挑选出骨干路径之后,沿着骨干路径发送通知报文,通知报文携带了簇头路由表的完整拷贝,收到通知报文的节点将自己的网络身份设置为骨干节点,然后建立本簇的名片信息,最终簇头和骨干节点构成骨干网,骨干网建立以后,簇头节点继续按照时间周期TII重复发送通知报文,用来维持簇头与骨干节点的联系,并且更新本簇的名片信息。进一步地,步骤3所述建立成员节点的过程如下:簇头节点和骨干节点的所有一阶邻居构成簇的成员节点集合,如果一个节点是两个以上不同簇的骨干节点的共同一阶邻居,那么该节点随机挑选一个簇,并成为成员节点;如果有不属于任何簇的剩余节点,那么这些剩余节点之间重新发起分簇过程,即重复步骤1~3,直到所有节点全部加入簇之中,最终形成簇头带动骨干节点共同控制成员节点的层次结构。进一步地,步骤4所述骨干节点和簇头通过Hello报文对簇结构进行维护和解散,具体过程如下:骨干节点通过Hello报文维持与簇头的联系,位于骨干路径末端的骨干节点,按照时间周期THI产生Hello报文,并通过骨干路径向簇头转发,Hello报文的作用包括两个:一、验证簇结构的完整性;二、通知簇头节点有哪些成员节点新加入或离开了簇;每个收到Hello报文的沿途骨干节点都把自己的邻居信息加入到当前的Hello报文中,簇头节点收到来自骨干路径的He本文档来自技高网
...

【技术保护点】
一种基于复杂网络中心性的VANET分簇路由方法,其特征在于,包括如下步骤:步骤1,网络中的全部节点发起簇头推举过程,建立簇头:设定推举过程的局部搜索范围为l,对任意节点a,首先进行深度为l的广度优先搜索,记录下搜索到的邻居节点及邻居节点的中心性;所有邻居节点构成集合S,a节点保存自己与S中节点的所有路径,然后将a节点自己的中心性与S中邻居节点中心性进行对比,如果存在中心性比a节点中心性大的邻居节点,则a节点对集合S中中心性最大的邻居节点发出确认信息,同意该中心性最大的邻居节点作为簇头,如果不存在,则a节点本身设为簇头;步骤2,网络中所有簇头节点根据收到的确认信息挑选骨干路径,建立骨干网:向簇头节点h发送确认信息的邻居节点构成候选骨干节点集B;计算h节点与B中节点之间的所有路径的中心性,选出m条中心性最大的路径作为簇的骨干路径,骨干路径上的节点作为簇的骨干节点,最终簇头和骨干节点构成骨干网;步骤3,建立成员节点:骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,当一个节点是不同簇的骨干节点的共同邻居时,该节点随机选择其中的一个簇加入;步骤4,骨干节点和簇头通过Hello报文对簇结构进行维护和解散;步骤5,基于所形成的簇结构进行数据包的转发,完成VANET分簇路由。...

【技术特征摘要】
1.一种基于复杂网络中心性的VANET分簇路由方法,其特征在于,包括如下步骤:步骤1,网络中的全部节点发起簇头推举过程,建立簇头:设定推举过程的局部搜索范围为l,对任意节点a,首先进行深度为l的广度优先搜索,记录下搜索到的邻居节点及邻居节点的中心性;所有邻居节点构成集合S,a节点保存自己与S中节点的所有路径,然后将a节点自己的中心性与S中邻居节点中心性进行对比,如果存在中心性比a节点中心性大的邻居节点,则a节点对集合S中中心性最大的邻居节点发出确认信息,同意该中心性最大的邻居节点作为簇头,如果不存在,则a节点本身设为簇头;步骤2,网络中所有簇头节点根据收到的确认信息挑选骨干路径,建立骨干网:向簇头节点h发送确认信息的邻居节点构成候选骨干节点集B;计算h节点与B中节点之间的所有路径的中心性,选出m条中心性最大的路径作为簇的骨干路径,骨干路径上的节点作为簇的骨干节点,最终簇头和骨干节点构成骨干网;步骤3,建立成员节点:骨干网建立以后,簇头和骨干节点的所有邻居被设置为成员节点,当一个节点是不同簇的骨干节点的共同邻居时,该节点随机选择其中的一个簇加入;步骤4,骨干节点和簇头通过Hello报文对簇结构进行维护和解散;步骤5,基于所形成的簇结构进行数据包的转发,完成VANET分簇路由。2.根据权利要求1所述的基于复杂网络中心性的VANET分簇路由方法,其特征在于,步骤1所述网络中的全部节点发起簇头推举过程,建立簇头,具体如下:(1.1)发出簇头声明:所有不在簇内的节点,周期性地向邻居节点广播簇头声明报文,收到簇头声明报文的节点将做出两个判断:一、判断自己是否为簇头或骨干路径上的节点;二、判断自己与上一跳车辆之间的链路生存时间是否大于规定的阈值Tthre,当其中任意一个判断为是时,将簇头声明报文丢弃不做处理,当两个判断均为否时对此簇头声明报文做出如下处理:①判断簇头声明报文是否已达规定的最大跳数l,如果已经到达l,簇头声明报文不再进行转发,反之将簇头声明报文转发给邻居节点,为了避免簇头声明报文在网络里形成环路,规定簇头声明报文只能转发给该簇头声明报文储存路径以外的节点,即只能沿着简单路径转发;②节点将簇头声明报文源节点的中心性与自己的中心性进行对比,如果自己的中心性较高则发出驳回报文,驳回源节点建立簇头的请求,如果自己的中心性较低则根据如下的方法将簇头声明报文存储下来:首先建立一个最佳源即候选簇头节点的簇头声明报文队列,队列中储存了来自当前最佳源的簇头声明报文,当最佳源再次收到新的簇头声明报文时,将此簇头声明报文的源节点与自己储存的最佳源节点进行对比,如果新收到的簇头声明报文的源节点中心性更高,则清空旧的最佳源的簇头声明报文队列,将新收到的簇头声明报文加入队列,若新收到的簇头声明报文源节点恰是最佳源,则将此簇头声明报文添加至队列末尾;(1.2)发出驳回报文:当一个节点收到比自己中心性低的节点发来的簇头声明报文时,该节点通过驳回报文对簇头声明报文予以驳回,通过簇头声明报文和驳回报文的交互最终选择出中心性最高的节点作为簇头;当节点收到驳回报文后,在停止声明窗口期TSAW内停止簇头的建立,等待其他节点形成簇,如果经过一个停止声明窗口期TSAW以后还是不能加入簇中,则此节点重启簇头的声明过程即返回步骤(1.1),否则进入下一步;(1.3)发送同意报文:对于收到簇头声明报文的节点,从记录下第一个声明报文时算起,直到经历一个声明报文的监听窗口期TAHW...

【专利技术属性】
技术研发人员:濮存来杨先霞李思源许忠奇
申请(专利权)人:南京理工大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1