结合命名数据网络和路名的车载网络数据分发路由维护方法与流程

文档序号:11263601阅读:672来源:国知局
结合命名数据网络和路名的车载网络数据分发路由维护方法与流程
本发明涉及智能交通领域,更具体地,涉及一种结合命名数据网络和路名的车载网络数据分发路由维护方法。
背景技术
:随着人工智能技术的兴起,未来智能交通系统也成为研究的热门课题。信息交互是互联网的重要一环。而如何在高速运动的车辆之间实现稳定的数据交换,相应的技术还未成熟。车载自组织网络也就成为了未来智能交通系统中的重中之重。车载自组织网络具有拓扑变化频繁,节点移动速度快,受环境影响大等特性。命名数据网络(ndn)采用名字来标识数据包,只要请求的数据名字匹配当前收到的数据包,即示为请求得到满足。ndn不再包含明确的主机或接口地址等位置信息,其通信是由数据请求驱动的,主要是拉数据模式,一旦interest到达一个有请求数据的节点,那么就会返回一个数据包。无论请求包还是数据包,都没有携带任何主机或接口位置信息(如ip地址),请求包只依据自身携带的内容进行路由,而数据包则沿interest原路返回。这样,就可以极大程度的降低车载自组织网络的拓扑变化和车辆高速移动的这些特性对数据传输的影响。目前,命名数据网络在车载网中的应用不是十分广泛,而且效率不高。主要原因在于车辆高速运行,网络拓扑时刻变化,要维护兴趣包转发的路径从而使得数据包能够原路返回,就需要高频率地发送hellomessage去维护车辆的邻居关系从而使得路径得到维持。但是这样就造成了链路中大量的转发冗余。技术实现要素:本发明为解决以上现有技术在结合命名数据网络对数据进行转发时会造成链路中的转发冗余的缺陷,提供了一种结合命名数据网络和路名的车载网络数据分发路由维护方法,该方法结合车载自组织网络的路段信息维护数据分发的路由表格,达到低链路消耗的情况下实现高效率的稳定数据分发。为实现以上发明目的,采用的技术方案是:结合命名数据网络和路名的车载网络数据分发路由维护方法:包括以下内容:一、对车载网络中各个车辆节点的角色进行定义:(1)生产者:当车辆节点保存有某个资源时,广播告诉其他车辆节点;当收到消费者发来的兴趣包且保存有对应资源时,回复数据包;(2)消费者:当收到生产者的广播且需要生产者保存的资源时,向生产者发送兴趣包请求数据;(3)转发者:转发者作为生产者与消费者的中间节点,用于转发数据包并建立fib表格,根据fib表格转发兴趣包并建立pit表格,根据pit表格转发数据包;其中fib表格用于记录数据包来源,以及到达生产者所需要经过的路段的数目ttl,fib表格内记录有路名,路名指接收到数据包的上一条路段的名字;pit表格用于记录兴趣包的来源,pit内记录有路名,路名指接收到兴趣包的上一条路段的名字;二、当生产者、消费者、转发者进入新路段时,首先自身对pit表格和fib表格进行修改:(1)对pit表格的修改:如果新旧路段相邻则无需修改,否则将路名修改为旧路段的名字再进入新路段;(2)对fib表格的修改:如果新旧路段相邻则无需修改,否则令ttl加1,然后将路名修改为旧路段的名字再进入新路段;三、接步骤二,当生产者、消费者、转发者进入新路段时,采用两次请求机制向邻居节点请求其fib表格、pit表格中所有的数据名,并保存在集合中,然后将自身的fib表格、pit表格中包含的数据名与集合中的数据名进行比较及更新:(1)对于存在于自身fib表格、pit表格中而不存在于集合中的数据名,则在自身fib表格、pit表格中删除这些数据名的所有表项;(2)对于存在于集合中而不存在于自身fib表格、pit表格中的数据名,向邻居节点请求相应数据更新自身fib表格、pit表格;(3)对于同时存在于集合中及自身fib表格、pit表格中的数据名,且新路段名与集合中的路段名一致,则向邻居节点询问该数据对应的路由表记录,并对自身的fib表格、pit表格进行相应的修改;(4)当消费者进入新的路段时,则告诉旧路段的邻居节点让其增加pit表项的信息。与现有技术相比,本发明的有益效果是:本发明提供的方法结合车载自组织网络的路段信息维护数据分发的路由表格,达到低链路消耗的情况下实现高效率的稳定数据分发。附图说明图1、图2、图3为路网的示意图。图4为生产者、消费者、转发者进入新路段时对fib表格的修改示意图。图5为生产者、消费者、转发者的fib表格、pit表格中包含的数据名的更新示意图。图6为当消费者进入新的路段时,旧路段的邻居节点增加pit表项的示意图。具体实施方式附图仅用于示例性说明,不能理解为对本专利的限制;以下结合附图和实施例对本发明做进一步的阐述。实施例1本发明提供的方法具体包括以下内容:一、对车载网络中各个车辆节点的角色进行定义:(1)生产者:当车辆节点保存有某个资源时,广播告诉其他车辆节点;当收到消费者发来的兴趣包且保存有对应资源时,回复数据包;(2)消费者:当收到生产者的广播且需要生产者保存的资源时,向生产者发送兴趣包请求数据;(3)转发者:转发者作为生产者与消费者的中间节点,用于转发数据包并建立fib表格,根据fib表格转发兴趣包并建立pit表格,根据pit表格转发数据包;其中,fib表格用于记录数据包来源,以及到达生产者所需要经过的路段的数目(ttl)。fib表格中记录着多条数据的来源,每一条数据的来源可能有多个路径。路名是指收到数据包的上一条路的名字。ttl的存在是为了寻找到达生产者需要经过的最少路段的路径,从而提高转发效率。表一fib格式数据名称1路名11,ttl11路名12,ttl12……数据名称2路名21,ttl21路名22,ttl22…………………………pit表格用于记录兴趣包的来源。pit表格中记录着多条兴趣包的来源,每一个兴趣包的来源可能有多个路径。路名是指收到兴趣包的上一条路的名字。表二pit格式数据名称1路名11路名12……数据名称2路名21路名22…………………………一个路段内,所有车辆节点的路由表格信息包含的数据名记录都相同。车辆节点自动修改fib和pit表格信息:二、如图4所示,当生产者、消费者、转发者进入新路段时,首先自身对fib表格进行修改,令ttl加1,然后将路名修改为旧路段的名字再进入新路段。如图1所示,如果车辆从a走到cde任意路段,则需要修改为:因为b不是cde的相邻路段。但是如图1所示,如果a路段中车辆表格pit(fib)记录为:如果车辆从b走到b的相邻路段(图1中a的右边3个路段),则无需修改这条数据记录,因为这三个路段都和b相邻或是b自己(如果是b自己不作修改是因为同一个路段多转发一次不会影响结果)。这部分的伪代码如下:三、接步骤二,当生产者、消费者、转发者进入新路段时,采用二次请求机制向邻居节点请求其fib表格、pit表格中所有的数据名,并保存在集合中,如图5所示,然后将自身的fib表格、pit表格中包含的数据名与集合中的数据名进行比较及更新:(1)对于存在于自身fib表格、pit表格中而不存在于集合中的数据名,则在自身fib表格、pit表格中删除这些数据名的所有表项;(2)对于存在于集合中而不存在于自身fib表格、pit表格中的数据名,向邻居节点请求相应数据更新自身fib表格、pit表格;(3)对于同时存在于集合中及自身fib表格、pit表格中的数据名,且新路段名与集合中的路段名一致,则向邻居节点询问该路段名对应的路由表记录,并对自身的fib表格、pit表格进行相应的修改;(4)如图6所示,当消费者进入新的路段时,则告诉旧路段的邻居节点让其增加pit表项的信息。这部分的伪代码如下:如图3,a路段上有一辆车的路由表格fib记录为:数据名称1路名:c,ttl:4数据名称2路名:b,ttl:5c路段的记录为(g为c的相邻路段)数据名称2路名:g,ttl:4数据名称3路名:g,ttl:3a中的这辆车要进入c路,第一次请求得知c路段没有数据名称1记录且c路段有数据3的记录但是自己没有,所以删除数据名称1的所有记录且第二次请求并且在自身路由表格更新此项;同时,第一次请求得知c中也有数据2,且a中数据名称2的路名为c等于要进入的新路段名字,此时请求c中数据名称2的所有表项,并且在自身路由表格更新。此时,a中这辆车进入路段c,修改后的路由表格为:数据名称2路名:g,ttl:4数据名称3路名:g,ttl:3这与c路段上的路由表格一致。在进入新的路段时,消费者的pit表格需要作特殊修改,因为消费者如果进入了新的路段,而原来的路段表格保持不变,数据包的发送就只到这个路段,这样路由就断了,无法进入新的路段,导致消费者无法接收到请求的数据。这部分的伪代码如下:如图6,在b路段上有消费者1,此时a路段上pit的记录为:如果消费者1从b路段移动到c路段,那么就需要告诉b路段的车辆,修改pit表格为:否则从路段a发送过来的数据只能沿pit表格到达b路段,而无法发送到c路段中的消费者1。显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1