一种异构通信半径下双向车道中的定向广播路由方法技术

技术编号:9697583 阅读:189 留言:0更新日期:2014-02-21 06:51
一种异构通信半径下双向车道中的定向广播路由方法,它有五个步骤:一、车载节点周期性广播自身的状态消息;二、车载节点接收来自其他车载节点的状态消息;三、车载节点检测到自身行驶的道路上发生的事故消息,并将该事故消息向着与自身运动方向相反的方向广播;四、车载节点收到其他车载节点的事故消息后,判断自己是否已经接收过;若接收过,则取消该事故消息的重新广播;若未接收过,则采取广播风暴抑制方法,计算该事故消息的待广播时间,将该事故消息与待广播时间加入待广播事故消息列表中;五、当车载节点的待广播事故消息列表中任意事故消息的待广播时间达到当前车载节点的时间,则广播该事故消息,并将其从待广播事故消息列表中删除。

【技术实现步骤摘要】
一种异构通信半径下双向车道中的定向广播路由方法
本专利技术涉及一种双向车道中的定向广播路由方法,更特别的说,是一种异构通信半径下双向车道中的定向广播路由方法,属车载网络

技术介绍
车载网络是由装载在车载节点的大量具备感知、数据处理、存储和无线通信能力的传感器节点构成的移动自组织网络,旨在通过车载节点之间的通信,在车载节点间协作地感知、处理和传输城市区域内的各种信息,其优势体现在由于车载节点的移动性而达到的广泛覆盖,拓展了信息获取的范围和深度,同时简化了大规模的网络部署。车载网络具有车载节点高速移动、存储空间有限、车载节点运动有规律性等特点。车载网络应用范围广泛,可用于安全预警、协助驾驶、分布式交通信息发布、车载节点信息共享与娱乐等多种智慧服务。定向广播路由是双向车道中安全预警的重要基础。在双向车道中,当任意车载节点检测到事故时,将广播一个事故消息,收到该事故消息的车载节点再次广播该事故消息,使得该事故消息在双向车道中迅速传播。由于事故通常只与一侧方向的道路相关,因此事故消息只要向双向道路的某一方向传播,这样的广播路由称为双向车道中的定向广播路由。传统双向车道中的定向广播路由,主要解决两方面的内容:一方面,当车载节点密集时,由于无线通信的广播特性,将发生信道拥塞、广播的事故消息碰撞,即广播风暴现象,针对该现象,传统方法提出基于距离延时的方法缓解广播风暴,代表的方法有Slotted1-Persistence等;另一方面,当车载节点稀疏时,在特定时刻不存在一条路径能够连通双向车道中的所有车辆,因此需要车载节点采用存储-携带-转发的形式处理事故消息,代表的方法有DV-CAST等。传统双向车道中定向广播路由假设车载节点为同构通信半径,即所有车载节点通信半径相等。实际中,由于不同生产厂商生产的通信设备通信半径不同、同型号设备能量状态不同造成的通信半径不同,车载节点同构通信半径的假设不合理。在异构通信半径条件下,传统的双向车道中定向广播路由面临车载节点密集时开销大、延迟高、信道拥塞情况严重,车载节点稀疏时丢失事故消息,继而造成路由失效,事故消息不能迅速广泛地传播。本专利技术针对异构通信半径下双向车道中的定向广播路由,拟采用计算车载节点间非冗余通信覆盖范围和部分车载节点存储-携带-转发的技术手段,提出一种异构通信半径下双向车道中的定向广播路由方法,以达到开销小、延迟短、事故消息传播迅速广泛的目标。
技术实现思路
为了解决异构通信半径下,传统双向车道中定向广播路由面临车载节点密集时开销大、延迟高、信道拥塞情况严重,车载节点稀疏时丢失事故消息,继而造成路由失效的问题,本专利技术提供了一种异构通信半径下双向车道中的定向广播路由方法,它克服了现有技术的不足,实现了开销小、延迟短、事故消息传播迅速广泛的目标。在本专利技术中,对于本专利技术所适用的场景进行了以下假设:1)车载节点在双向车道上移动,双向车道仅包含两个移动方向,且两个移动方向相反;2)车载节点携带基本设备:GPS设备,用于获取本车载节点的地理位置、移动方向、当前时间;事故检测设备,用于检测该本车载节点所处道路上的事故;通信设备,一方面用于周期性广播本车载节点的地理位置、移动方向等状态消息,另一方面用于接收其他车载节点广播的状态消息、事故消息和重新广播事故消息,此外用于获取本车载节点的通信半径;3)车载节点的通信半径为异构通信半径,即车载节点的通信半径可以不相同;4)车载节点检测到事故、产生事故消息时,该事故消息向本车载节点移动方向的反方向传播,即定向传播。本专利技术,一种异构通信半径下双向车道中的定向广播路由方法,共包括下列五步(即五个步骤):第一步,车载节点周期性广播自身的状态消息,广播自身的地理信息、移动方向、通信半径等基本信息;该步按下列步骤进行:步骤一:任意车载节点A周期性广播状态消息,流程图参见图1;步骤101:判断CUR_TIMEA是否大于LAST_UPDATEA+HELLO_PERIOD;若是,则执行步骤102;否则,执行步骤104;步骤102:令LAST_UPDATEA=CUR_TIMEA,生成HELLO_MSGA;步骤103:广播HELLO_MSGA;步骤104:步骤一结束;第二步,车载节点接收来自其他车载节点的状态消息。通过接收周围邻居车载节点的状态消息,本车载节点维持了自身周围的拓扑结构。当自身携带有事故消息,收到新的车载节点状态消息时,将携带的事故消息广播出去;该步按下列步骤进行:步骤二:任意车载节点A收到任意车载节点B广播的HELLO_MSGB,流程图参见图2;步骤201:计算车载节点A与车载节点B的距离判断DAB是否小于等于CRA同时小于等于CRB;若是,即车载节点A与车载节点B可以互相通信,则执行步骤202;否则,执行步骤211;步骤202:判断HEAD_LISTA或TAIL_LISTA中是否有VB_INFOA-H-m或VB_INFOA-T-n的VID为B;若是,则执行步骤204;否则,执行步骤203;步骤203:广播CARRY_LISTA中所有事故消息,删除CARRY_LISTA中所有事故消息;步骤204:判断车载节点B在VMDA方向上是否在A的后面;若是,则执行步骤205;否则,执行步骤206;步骤205:将HELLO_MSGB加入TAIL_LISTA,执行步骤207;步骤206:将HELLO_MSGB加入HEAD_LISTA;步骤207:判断TAIL_LISTA或HEAD_LISTA是否为空;若是,则执行步骤208;否则,执行步骤209;步骤208:令CARRY_FLAGA=1,执行步骤211;步骤209:令CARRY_FLAGA=0;步骤210:删除CARRY_LISTA中所有事故消息;步骤211:步骤二结束;第三步,车载节点检测到自身行驶的道路上发生事故时,产生一个事故消息,并将该事故消息向着与自身运动方向相反的方向广播;该步按下列步骤进行:步骤三:任意车载节点A检测到自身行驶的道路上发生事故,流程图参见图3;步骤301:车载节点A检测到事故,生成事故消息EVENT_MSGA,步骤302:车载节点A广播事故消息EVENT_MSGA;步骤303:EVENT_MSGA的MSG_IDA-E加入RCV_LISTA;步骤304:判断CARRY_FLAGA是否为1;若是,则执行步骤305;否则,执行步骤306;步骤305:将EVENT_MSGA加入CARRY_LISTA;步骤306:步骤三结束;第四步,车载节点收到来自其他车载节点的事故消息后,判断自己是否已经接收过;若接收过,则取消该事故消息的重新广播;若未接收过,则采取广播风暴抑制方法,计算该事故消息的待广播时间,将该事故消息与待广播时间加入待广播事故消息列表中;该步按下列步骤进行:步骤四:任意车载节点A收到任意车载节点B广播的EVENT_MSGB,流程图参见图4;步骤401:判断RCV_LISTA中是否存在MSG_IDA-R-r=MSG_IDB-E;若是,即车载节点A已经收到过该事故消息,则执行步骤402;否则,执行步骤404;步骤402:判断SCH_LISTA中是否存EVENT_MSG的MSG_ID=MSG_IDB-E;若是,则执行步骤403;否则,执行步骤408;步骤403:从SCH本文档来自技高网
...
一种异构通信半径下双向车道中的定向广播路由方法

【技术保护点】
一种异构通信半径下双向车道中的定向广播路由方法,其特征在于:它包括五个步骤,第一步,车载节点周期性广播自身的状态消息,广播自身的地理信息、移动方向、通信半径等基本信息;该步按下列步骤进行:步骤一:任意车载节点A周期性广播状态消息;步骤101:判断CUR_TIMEA是否大于LAST_UPDATEA+HELLO_PERIOD;若是,则执行步骤102;否则,执行步骤104;步骤102:令LAST_UPDATEA=CUR_TIMEA,生成HELLO_MSGA;步骤103:广播HELLO_MSGA;步骤104:步骤一结束;第二步,车载节点接收来自其他车载节点的状态消息,通过接收周围邻居车载节点的状态消息,本车载节点维持了自身周围的拓扑结构;当自身携带有事故消息,收到新的车载节点状态消息时,将携带的事故消息广播出去;该步按下列步骤进行:步骤二:任意车载节点A收到任意车载节点B广播的HELLO_MSGB;步骤201:计算车载节点A与车载节点B的距离判断DAB是否小于等于CRA同时小于等于CRB;若是,即车载节点A与车载节点B可以互相通信,则执行步骤202;否则,执行步骤211;步骤202:判断HEAD_LISTA或TAIL_LISTA中是否有VB_INFOA?H?m或VB_INFOA?T?n的VID为B;若是,则执行步骤204;否则,执行步骤203;步骤203:广播CARRY_LISTA中所有事故消息,删除CARRY_LISTA中所有事故消息;步骤204:判断车载节点B在VMDA方向上是否在A的后面;若是,则执行步骤205;否则,执行步骤206;步骤205:将HELLO_MSGB加入TAIL_LISTA,执行步骤207;步骤206:将HELLO_MSGB加入HEAD_LISTA;步骤207:判断TAIL_LISTA或HEAD_LISTA是否为空;若是,则执行步骤208;否则,执行步骤209;步骤208:令CARRY_FLAGA=1,执行步骤211;步骤209:令CARRY_FLAGA=0;步骤210:删除CARRY_LISTA中所有事故消息;步骤211:步骤二结束;第三步,车载节点检测到自身行驶的道路上发生事故时,产生一个事故消息,并将该事故消息向着与自身运动方向相反的方向广播;该步按下列步骤进行:步骤三:任意车载节点A检测到自身行驶的道路上发生事故;步骤301:车载节点A检测到事故,生成事故消息EVENT_MSGA,EVENT_MSGA=MSG_IDA-EMSG_TYPEA-EMFDA-E=-VMDAVB_INFOA;步骤302:车载节点A广播事故消息EVENT_MSGA;步骤303:EVENT_MSGA的MSG_IDA?E加入RCV_LISTA;步骤304:判断CARRY_FLAGA是否为1;若是,则执行步骤305;否则,执行步骤306;步骤305:将EVENT_MSGA加入CARRY_LISTA;步骤306:步骤三结束;第四步,车载节点收到来自其他车载节点的事故消息后,判断自己是否已经接收过;若接收过,则取消该事故消息的重新广播;若未接收过,则采取广播风暴抑制方法,计算该事故消息的待广播时间,将该事故消息与待广播时间加入待广播事故消息列表中;该步按下列步骤进行:步骤四:任意车载节点A收到任意车载节点B广播的EVENT_MSGB;步骤401:判断RCV_LISTA中是否存在MSG_IDA?R?r=MSG_IDB?E;若是,即车载节点A已经收到过该事故消息,则执行步骤402;否则,执行步骤404;步骤402:判断SCH_LISTA中是否存EVENT_MSG的MSG_ID=MSG_IDB?E;若是,则执行步骤403;否则,执行步骤408;步骤403:从SCH_LISTA中MSG_ID=MSG_IDB?E的EVENT_MSG,执行步骤408;步骤404:将MSG_IDB?E加入RCV_LISTA;步骤405:判断MFDB?E方向上B是否在A后面;若是,则执行步骤408;否则,计算EVENT_MSGB的待发送时间首先计算车载节点A与车载节点B的距离判断DAB+RA是否小于RB;若是,则执行步骤406;否则,计算车载节点间A与B非冗余通信覆盖范围NRCRA?B;NRCRA?B计算公式为NRCRA?B=min(CRmax,(DAB+RA?RB)),NRCRA?B表示车载节点A比车载节点B多传输的距离,TIMEMSG_IDB-E=ST×(1-NRCRA-BCRmax)+CUR_TIMEA,ST为延迟时间槽,根据经验取值为5ms;将EVENT_...

【技术特征摘要】
1.一种异构通信半径下双向车道中的定向广播路由方法,其特征在于:它包括五个步骤,第一步,车载节点周期性广播自身的状态消息,广播自身的地理信息、移动方向及通信半径的基本信息;该步按下列步骤进行:步骤一:任意车载节点A周期性广播状态消息;步骤101:判断CUR_TIMEA是否大于LAST_UPDATEA+HELLO_PERIOD;若是,则执行步骤102;否则,执行步骤104;步骤102:令LAST_UPDATEA=CUR_TIMEA,生成HELLO_MSGA;步骤103:广播HELLO_MSGA;步骤104:步骤一结束;第二步,车载节点接收来自其他车载节点的状态消息,通过接收周围邻居车载节点的状态消息,本车载节点维持了自身周围的拓扑结构;当自身携带有事故消息,收到新的车载节点状态消息时,将携带的事故消息广播出去;该步按下列步骤进行:步骤二:任意车载节点A收到任意车载节点B广播的HELLO_MSGB;步骤201:计算车载节点A与车载节点B的距离判断DAB是否小于等于CRA同时小于等于CRB;若是,即车载节点A与车载节点B互相通信,则执行步骤202;否则,执行步骤211;步骤202:判断HEAD_LISTA或TAIL_LISTA中是否有VB_INFOA-H-m或VB_INFOA-T-n的VID为B;若是,则执行步骤204;否则,执行步骤203;步骤203:广播CARRY_LISTA中所有事故消息,删除CARRY_LISTA中所有事故消息;步骤204:判断车载节点B在VMDA方向上是否在A的后面;若是,则执行步骤205;否则,执行步骤206;步骤205:将HELLO_MSGB加入TAIL_LISTA,执行步骤207;步骤206:将HELLO_MSGB加入HEAD_LISTA;步骤207:判断TAIL_LISTA或HEAD_LISTA是否为空;若是,则执行步骤208;否则,执行步骤209;步骤208:令CARRY_FLAGA=1,执行步骤211;步骤209:令CARRY_FLAGA=0;步骤210:删除CARRY_LISTA中所有事故消息;步骤211:步骤二结束;第三步,车载节点检测到自身行驶的道路上发生事故时,产生一个事故消息,并将该事故消息向着与自身运动方向相反的方向广播;该步按下列步骤进行:步骤三:任意车载节点A检测到自身行驶的道路上发生事故;步骤301:车载节点A检测到事故,生成事故消息EVENT_MSGA,步骤302:车载节点A广播事故消息EVENT_MSGA;步骤303:EVENT_MSGA的MSG_IDA-E加入RCV_LISTA;步骤304:判断CARRY_FLAGA是否为1;若是,则执行步骤305;否则,执行步骤306;步骤305:将EVENT_MSGA加入CARRY_LISTA;步骤306:步骤三结束;第四步,车载节点收到来自其他车载节点的事故消息后,判断自己是否已经接收过;若接收过,则取消该事故消息的重新广播;若未接收过,则采取广播风暴抑制方法,计算该事故消息的待广播时间,将该事故消息与待广播时间加入待广播事故消息列表中;该步按下列步骤进行:步骤四:任意车载节点A收到任意车载节点B广播的EVENT_MSGB;步骤401:判断RCV_LISTA中是否存在MSG_IDA-R-r=MSG_IDB-E;若是,即车载节点A已经收到过该事故消息,则执行步骤402;否则,执行步骤404;步骤402:判断SCH_LISTA中是否存EVENT_MSG的MSG_ID=MSG_IDB-E;若是,则执行步骤403;否则,执行步骤408;步骤403:从SCH_LISTA中MSG_ID=MSG_IDB-E的EVENT_MSG,执行步骤408;步骤404:将MSG_IDB-E加入RCV_LISTA;步骤405:判断MFDB-E方向上B是否在A后面;若是,则执行步骤408;否则,计算EVENT_MSGB的待发送时间首先计算车载节点A与车载节点B的距...

【专利技术属性】
技术研发人员:殷传涛高洋吕仁宾韩晓辉蒲菊华熊璋
申请(专利权)人:北京航空航天大学深圳研究院
类型:发明
国别省市:

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

1