以命名数据为中心的物联网通信方法_3

文档序号:8514553阅读:来源:国知局
由信息包,从而达到与新上电节点迅速交换路由能力信息的目的。
[0057]由于物联网中的节点大部分是嵌入式处理系统的节点,其计算资源和存储资源有限,因此为了适应物联网节点的这种特点,在本发明的进一步的优选实施例中,还可以在所述路由表中添加一条路由记录后,进一步包括:为该条路由记录设置计时器,在该计时器时间未耗尽的情况下,如果再次收到该条路由记录所标记的节点发来的路由信息包,则重置该计时器;如果该计时器时间耗尽,则删除该条路由记录,标识该条路由记录不再有效。这样可以使路由表根据物联网中节点更新情况进行自动更新。
[0058]在一种具体实施例中,上述步骤303中所述节点缓存数据请求的来源节点,具体包括:在请求等待列表PIT中增加一条等待记录,该条等待记录包括:该数据请求的命名数据和该数据请求的来源节点标记;为该条等待记录设置计时器,如果该计时器时间耗尽,则删除该条等待记录。
[0059]为了可以进一步提高数据通信效率,在又一种优选实施例中,本发明还可以在节点收到包含命名数据的数据响应后,进一步包括:在本节点的内容库(即所述CS表)中缓存该数据响应中的命名数据和数据内容;在收到包含命名数据的数据请求后,判断本节点是否有所请求的数据内容时,具体包括:判断本节点所能提供数据的命名数据是否与数据请求中的命名数据相同,如果相同则读取本节点的数据内容,返回包含命名数据和内容的数据响应,如果不同则在本节点的内容库中查找是否有所述数据请求的命名数据,如果有则从内容库中读取该命名数据的数据内容,返回包含命名数据和内容的数据响应;否则根据命名数据的路由信息在本节点的路由表中查找下一跳路由节点,转发该数据请求到该下一跳路由节点,并缓存该数据请求的来源节点。
[0060]另外,由于物联网中各节点的数据随时间变化很快,为了保证数据的准确性,本发明在本节点的内容库中缓存该数据响应中的命名数据和数据内容后,还可以进一步包括:为该条命名数据和数据内容设置计时器,如果该计时器时间耗尽,则删除该条命名数据和数据内容。
[0061]下面以更为具体的实施例对本发明进行进一步详细描述。
[0062]首先具体描述本发明所述CS表、PIT表、FIB表的数据结构。本发明对这三个存储表,把策略更新使用的计时器与存储条目结合,通过计时器的复用提高效率。
[0063]图4为节点通信架构图以及CS表、PIT表、FIB表的数据结构示意图。
[0064]参见图4,本发明所述物联网节点中主要包含三大存储结构,内容库(CS)、请求等待列表(PIT)、转发表(FIB)。内容库的主要作用是提供数据内容在中间节点的缓存,并有配套的缓存清除策略保证数据的及时性。请求等待列表的作用是保存数据请求的来源节点,在网络中记录请求数据包的传输路径,以便数据内容返回的时候按原路返回。转发表的作用是为数据请求包提供基于数据名的路由,维护路由条目。
[0065]本发明所述CS表的数据结构有三个字段,分别代表命名数据、数据内容、由计时器所控制的数据生存时间。在一种具体使用实例中,每个节点默认存储6条CS内容。这样使用尽量少的存储空间去缓存更多的内容。由于本发明需要面向对实时性要求较高的传感数据,因而采用先入先出(FIFO)和超时删除结合的更新策略对CS表进行更新。
[0066]所述PIT表的数据结构与NDN的PIT结构基本一致,同样默认存储6条请求名字。本发明中数据请求的范围有限,可以通过计时器设置适当的PIT条目清除时间,防止PIT膨胀。
[0067]FIB表的数据数据结构中,可以把NDN的FIB表的face出口改为下一跳的节点ID,转发机制都采用最大长度匹配算法。由于无线传感器网络的链路不稳定,本方法增加计时器字段来删除失效的FIB条目。
[0068]本发明中,所述命名数据根据物联网的网络拓扑结构和数据类型命名,所述路由信息为网络拓扑结构的等级结构信息。所述网络拓扑结构优选可以为树状网络拓扑结构。
[0069]下面以一种应用场景为教学楼的传感数据查询为例进一步说明。图5为本发明一种教学楼应用场景中的命名数据命名方法的说明图。在该应用场景中,数据内容与传感器节点位置以及传感数据类型有关,再根据网络部署的特点采用图5所示的命名方式对命名数据进行命名。
[0070]图5所述的命名数据的命名方法,类似于统一资源定位符(url)的等级命名方法,使用“/”符号分割不同等级的命名标识。在图5的例子中,主要是使用地理位置信息和传感数据类型来标识不同的数据内容;在其他应用场景中,也可根据数据的功能或节点的全球定位系统(GPS)信息来作为命名的依据,只要满足类似url的等级结构的命名方法,就可以使用本发明描述的通信方式。
[0071]在本发明所述的通信方法中,主要有三种分组类型,即路由信息分组(RIP,RouteInformat1n Packet)即上述的路由信息包、数据请求分组(DRP,Data Request Packet)即上述的数据请求、内容响应分组(CRP,Content Response Packet)即上述的数据响应。
[0072]图6为路由信息包的数据格式示意图;数据请求分组和数据响应分组都属于数据分组,其格式如图7所示。
[0073]在本发明的所述三类分组中,定义了命名数据,数据内容,路由类型等等;路由分组分为上电路由分组和通用路由分组,用来提高路由信息的交换效率。
[0074](I)路由信息分组:该分组里包含自身节点信息,以及本节点的路由能力信息。路由能力前缀指的是节点能够提供的路由范围,路由能力“t3/6”代表节点能够为“t3/6”前缀的数据请求包提供路由转发。根据路由广播包的处理流程,在节点广播范围内的节点能收到这个节点号和节点的路由能力,从而根据路由能力前缀计算节点的FIB条目信息。节点所广播的路由分组包分为两种,一种是上电路由信息包,另一种是通用路由信息包。上电路由信息包为节点上电后要发送的单次广播信息包,通用路由信息包为节点运行后周期发送的路由广播信息包,两种分组包含的信息是一致的,区别仅仅是类型不同。
[0075](2)数据请求分组:该分组用来发送对数据的请求,其中包含被请求数据的名字,数据类型为REQ,数据内容为空。在数据请求过程中,该数据分组根据FIB表的条目信息逐条传送,直到存在数据的节点,或者FIB没有相应的出口。
[0076](3)内容响应分组:该分组用来发送对数据请求分组的响应,命名数据与请求的数据名保持一致,数据类型为RSP,数据内容为所请求的传感数据。节点在查找到相应的数据内容之后,构造一个内容响应分组,并按照请求路径返回给请求节点。
[0077]路由转发机制是本发明所述方法的核心,主要是根据命名数据和网络拓扑的关系;数据命名本身提供了网络拓扑的位置信息和数据类型信息,再加上节点的节点号信息,即可通过局部的信息交互来构建网络拓扑和转发条目。路由转发表建立机制流程如下:
[0078]首先是网络的初始化过程,网络中的节点上电之后,广播一个上电路由信息包,周围节点收到上电路由信息包。然后,周围节点对收到的路由信息包的“路由能力”和本身节点的“路由能力”进行匹配,如果能够提供相应的路由,(收到的“路由能力”是自身“路由能力”的子集,比如自身路由能力为“t3/6”,收到的路由能力为“t3/6/32”,那么就表示能够提供相应的路由),就把这个收到的路由能力前缀添加到FIB转发表中,并且把下一跳的节点号指向发送路由广播信息的那个节点;否则,不添加转发列表条目。最后,周围节点会定时广播一个通用路由信息包,即上电路由信息包触发周围节点来发送通用路由信息包;以便新上电的节点与周围节点迅速互相交换信息。任何节点都只对上电路由信息包进行回应,其他情况下按照一定的时间间隔周期发送通用路由信息广播。
[0079]转发表更新和维护机制:转发表FIB中包含路由前缀信息和下一跳路由节点的信息,数据请求根据数据名而转发;网络中节点陆续上电之后,节点互相交换信息即可建立各自的转发表。由于网络中无线节点的移动特性,网络拓扑和节点状态可能发生改变,转发表要做出相
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1