一种物联网通信方法及装置与流程

文档序号:12623497阅读:260来源:国知局
一种物联网通信方法及装置与流程

本发明涉及网络通信技术领域,具体涉及一种物联网通信方法及装置。



背景技术:

物联网,是利用局部网络或互联网等通信技术把传感器、控制器、机器、人员和物等通过新的方式联在一起,形成人与物、物与物相联,实现信息化、远程管理控制和智能化的网络。物联网是现有信息网络向物理世界的延伸,它认为物理世界中的对象,无论人还是物体,同样是信息世界的参与者,它们具有产生数据的能力,并且能够在相互之间进行交换数据,从而影响周围的环境。

目前关于物联网体系结构的研究中,通常将其分成四层:对象感知层、数据交换层、信息整合层和应用服务层。对象感知层是物联网体系结构中独有的,它通过管控部署在空间中的传感设备,感知物理世界信息,为物联网提供基础的数据服务。

无线传感器网络是对象感知层的关键技术,它根据设计的规则让传感器节点自组织成网络,对采集到的数据进行传输。无线传感器网络的设计通常需要对网络的应用场景以及节点能力进行详细的考虑。过去物联网应用场景简单,一般用来获取指定区域内的标量数据,如温度、湿度,并且由于节点能力有限,网络中不会出现复杂的处理逻辑。因此传感器网络的设计比较简单,一般是根据网络中的节点信息,构建一个简单的数据收集网络。随着技术的发展,硬件能力提升很大,物联网应用越来越广泛,它所面对的场景也更加复杂,如对于物联网中感知数据的实时访问以及和其它网络的互联。

用户对于物联网中数据的访问,往往只关心数据本身,而不关心数据的来源,通过网络中感知数据实现网络的寻址、组网及路由完全可以抛弃基于节点对网络进行构建带来的弊端。目前国内外已经有一些研究针对以网络中感知数据本身来构建网络,如以数据为中心的DD(DirectedDiffusion,定向扩散路由协议)路由算法。但是,目前物联网中传感器节点的处理能力和存储能力还很有限。现有的以数据为中心的网络构建方法通常包含大量路由信息,这无疑增大了传感器节点的处理压力,因此,一旦网络环境出现变化,大量路由信息会导致传感器节点处理不过来,造成信息传递不畅,从而引起整个物联网网络故障。



技术实现要素:

本发明实施例的目的在于提供一种物联网通信方法及装置,能够简化网络中数据包的结构,从而降低物联网网络中传感器节点的运算数据量,减小了传感器节点的处理压力,以使信息传递顺畅,减少整个物联网网络出现故障。

为达到上述目的,本发明实施例公开了一种物联网通信方法,包括:

生成物联网的树形拓扑结构中感知节点的转发表,其中,所述转发表包括:感知数据的时间信息和空间信息,所述时间信息为所述感知数据对应的Unix时间戳,所述空间信息为所述感知数据对应的经纬度;

获取当前感知节点的待发送请求,其中,所述待发送请求为所述当前感知节点的树形拓扑结构中与所述当前感知节点之间建立通信连接的请求节点发送的、包含有请求数据包的请求,且所述请求数据包中携带有与所述请求数据包对应的时间信息和经纬度;

根据所述转发表,响应所述待发送请求。

优选地,所述生成物联网的树形拓扑结构中感知节点的转发表,包括:

获取所述物联网网络树形拓扑结构,生成当前感知节点与其它感知节点之间的父子关系,其中,所述其它感知节点为所述物联网网络树形拓扑结构中除所述当前感知节点以外的感知节点;

根据所述父子关系,收集所述当前感知节点的儿子节点的管理区域的信息;

根据所述儿子节点的管理区域的信息,得到当前感知节点自身的管理区域的信息,生成所述当前感知节点的初始化管理区域,其中,所述当前感知节点的初始化管理区域为一个点;

根据所述初始化管理区域,生成所述当前感知节点的父亲节点的管理区域;

根据所述父亲节点的管理区域,生成对所述感知数据进行转发的转发表。

优选地,所述根据所述初始化管理区域,生成所述当前感知节点的父亲节点的管理区域,包括:

根据所述初始化管理区域生成一个新的管理区域,其中,所述新的管理区域覆盖所述初始化管理区域和所述父亲节点原本的管理区域。

优选地,所述新的管理区域为矩形区域。

优选地,所述根据所述转发表,响应所述待发送请求,包括:

判断当前感知节点的内容缓存库是否缓存有满足所述待发送请求的数据包:

如果是,返回包含所述时间信息和空间信息的数据包给所述请求节点;

如果否,检查所述当前感知节点是否满足处理所述待发送请求的条件:

如果是,产生包含时间信息和空间信息的数据并构造所述数据包并返回给所述请求节点;

如果否,检查所述当前感知节点的转发表是否有满足所述待发送请求的转发区域:

如果是,根据所述转发表,转发包含所述数据包给所述树形拓扑结构中与所述当前感知节点之间建立通信连接的下一感知节点;

如果否,丢弃所述待发送请求。

本发明实施例还公开了一种物联网通信装置,包括:

转发表生成模块,用于生成物联网的树形拓扑结构中感知节点的转发表,其中,所述转发表包括:感知数据的时间信息和空间信息,所述时间信息为所述感知数据对应的Unix时间戳,所述空间信息为所述感知数据对应的经纬度;

待发送请求获取模块,用于获取当前感知节点的待发送请求,其中,所述待发送请求为所述当前感知节点的树形拓扑结构中与所述当前感知节点之间建立通信连接的请求节点发送的、包含有请求数据包的请求,且所述请求数据包中携带有与所述请求数据包对应的时间信息和经纬度;

待发送请求响应模块,用于根据所述转发表,响应所述待发送请求。

优选地,所述转发表生成模块,包括:

拓扑结构获取子模块,用于获取所述物联网网络树形拓扑结构,生成当前感知节点与其它感知节点之间的父子关系,其中,所述其它感知节点为所述物联网网络树形拓扑结构中除所述当前感知节点以外的感知节点;

信息收集子模块,用于根据所述父子关系,收集所述当前感知节点的儿子节点的管理区域的信息;

管理区域生成子模块,用于根据所述初始化管理区域,生成所述当前感知节点的父亲节点的管理区域;

转发表生成子模块,用于根据所述父亲节点的管理区域,生成对所述感知数据进行转发的转发表。

优选地,所述管理区域生成子模块进一步用于:根据所述初始化管理区域生成一个新的管理区域,其中,所述新的管理区域覆盖所述初始化管理区域和所述父亲节点原本的管理区域。

优选地,新的管理区域为矩形区域。

优选地,所述待发送请求响应模块包括:

第一判断子模块,用于判断当前感知节点的内容缓存库是否缓存有满足所述待发送请求的数据包:

第一响应子模块,用于如果是,返回包含所述时间信息和空间信息的数据包给所述请求节点;

第二判断子模块,用于如果否,检查所述当前感知节点是否满足处理所述待发送请求的条件:

第二响应子模块,用于如果是,产生包含时间信息和空间信息的数据并构造所述数据包并返回给所述请求节点;

第三判断子模块,用于如果否,检查所述当前感知节点的转发表是否有满足所述待发送请求的转发区域:

转发子模块,用于如果是,根据所述转发表,转发包含所述数据包给所述树形拓扑结构中与所述当前感知节点之间建立通信连接的下一感知节点;

丢弃待发送请求子模块,用于如果否,丢弃所述待发送请求。

优选地,所述转发表还包含所述当前感知节点的管理区域信息以及所述当前感知节点的节点号。

由上述的技术方案可见,本发明实施例提供的一种物联网通信方法及装置,通过传感器节点生成包含时间信息和空间信息的命名数据的转发表,并依据转发表响应包含命名数据的请求,实现物联网的通信。这样,物联网网络中数据包的结构更加简单,更适合能力有限的传感器节点处理,从而提高整个物联网网络的稳定性;本发明实施例中,时间和空间信息具有很高的通用性,能够提供统一且规范的命名数据方法,因而形成的物联网网络能够适应不同的应用环境,适合大规模复杂环境的部署。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例物联网通信方法的流程图;

图2为本发明实施例物联网通信装置的示意图;

图3为本发明实施例物联网通信装置中转发表生成模块的示意图;

图4为本发明实施例物联网通信装置中待发送请求响应模块的示意图;

图5为本发明实施例中请求数据包中名字的结构的示意图;

图6为本发明实施例中返回的数据数据包中名字的结构的示意图;

图7为本发明实施例中感知节点的一种通信框架示意图;

图8为本发明实施例中感知节点周期广播自己的管理区域的示意图;

图9为本发明实施例的转发表的生成示意图;

图10为本发明实施例的一个完整数据包转发过程的示意图;

图11为本发明实施例的一个完整数据包返回过程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例公开了一种物联网通信方法及装置,以下分别进行详细说明。

参见图1,图1为本发明实施例的一种物联网通信方法的流程图,包括以下步骤:

步骤101,生成物联网的树形拓扑结构中感知节点的转发表,其中,转发表包括:感知数据的时间信息和空间信息,时间信息为感知数据对应的Unix时间戳,空间信息为感知数据对应的经纬度。

步骤102,获取当前感知节点的待发送请求,其中,待发送请求为当前感知节点的树形拓扑结构中与当前感知节点之间建立通信连接的请求节点发送的、包含有请求数据包的请求,且请求数据包中携带有与请求数据包对应的时间信息和经纬度。

步骤103,根据转发表,响应待发送请求。

步骤101中,物联网的树形拓扑结构是根据CTP(Collection tree protocol,汇聚树协议)生成的。通常,树形拓扑结构相较于其它拓扑结构,树形拓扑结构中存在层次的概念,树形拓扑结构可以拥有多个子树,因此拥有树形拓扑结构的网络一般拥有很好的扩展性,同时位于不同子树的节点之间相互独立,可以更加迅速的对网络中的故障进行定位,还可以在子树中对数据进行过滤,减少根节点的流量开销。

本发明实施例中基于感知数据时间信息和空间信息的命名数据,不再使用类URL形式的命名规则。传感器节点中的名字不再是一个字符串,而是一个简单的结构体。这个结构体主要包括两个部分,一个是感知数据采集的时间,即时间信息,另一个是感知数据所处于的地理位置信息,即空间信息。

时间信息为感知数据对应的Unix时间戳,空间信息为感知数据对应的经纬度,具体来说,Unix时间戳(Unix epoch)是指从1970年1月1日开始所经过的秒数,它可以根据指定两个时间点start(开始)和end(结束)描述一个具体的时间段,这个时间段具有唯一性;经纬度可以描述空间上一个精确的点,同样具有唯一性。

传统CCN/NDN(Content Centric Networking or Named Data Networking,以内容为中心的网络/以数据命名的网络)框架中对于数据的处理全都依赖网络中的Name(名字)。名字对于CCN/NDN网络十分重要,CCN/NDN网络根据名字建立整个网络。好的命名方法可以使整个网络的结构更加合理、完整和健壮。传统的CCN/NDN网络的命名策略,它的应用场景是现有互联网,这意味着网络中的节点有很强的计算能力,同时拥有完整的底层协议对网络的状态进行支撑。在这样一个十分健壮、成熟的网络中使用URL形式的命名十分合理。但是无线传感器网络的应用场景却要苛刻很多,无线传感器网络中,网络节点通常是简单的传感器节点,它们只有简单的计算能力以及有限的存储资源,同时传感器节点间往往是通过无线进行通信,整个网络十分脆弱并且多变,并且还得随时考虑到节点的能量消耗,不能时刻利用周期广播维护拓扑链路。这样的场景下,并没有传统CCN/NDN网络中的足够资源建立庞大的转发表以及健壮的底层链路对网络进行支撑,基于URL形式的命名并不是十分适合无线传感器网络。

并且,传统CCN/NDN网络中类URL形式的命名规则是基于语义的,比如名字baidu.com/video/game.avi请求的是某个具体的视频。互联网中的数据比较复杂,能够采集足够的信息为数据分配唯一的名字,但是在传感器网络中基于语义却会产生名字的二义性问题。传感器网络中的同一数据,不同开发者可能有不同的理解,因此他们对于同一个数据可能会有不同的名字,如对北邮教学楼中某个教室的温度数据进行命名,根据基于语义的命名方式我们得到这样的名字:/bupt/teaching-building/103room/temperature,但有的人更倾向于使用楼房编号用来取代teaching-building进行命名:/bupt/building-No.3/103room/temperature。这样会在后期不同网络之间的互联造成很大的困难。

步骤101中,转发表的具体生成步骤为:

第一步,获取物联网网络树形拓扑结构,生成当前感知节点与其它感知节点之间的父子关系,其中,其它感知节点是指,物联网网络树形拓扑结构中除当前感知节点以外的感知节点。本发明实施例的物联网网络中,传感器节点间的关系可以用树形结构中的父子关系进行表示,位于某个当前感知节点管理区域内的感知节点可以作为这个感知节点的儿子节点,同理,此时对应的当前感知节点便是父亲节点,于是形成了节点间的父子关系。

第二步,根据父子关系,收集当前感知节点的儿子节点的管理区域的信息,从而获取当前感知节点自身的管理区域的信息,生成当前感知节点的初始化管理区域,通常,初始化管理区域为一个点。

第三步,根据初始化管理区域,生成当前感知节点的父亲节点的管理区域,其具体过程为:接收初始化管理区域,计算生成一个新的管理区域,新的管理区域为一个矩形区域,且矩形区域覆盖接收到的初始化管理区域和当前感知节点父亲节点原本的管理区域,这里,父亲节点原本的管理区域是指父亲节点在生成新的管理区域之前自身的管理区域,管理区域的信息是不断更新的。

第四步,根据父亲节点的管理区域,生成对感知数据进行转发的转发表,通常,转发表还包含当前感知节点的管理区域信息以及节点号。

步骤103中,根据转发表,响应待发送请求的具体过程为:

收到待发送请求后,判断当前感知节点的内容缓存库是否缓存有满足待发送请求的数据包:如果是,返回包含时间信息和空间信息的数据包给请求节点;

如果否,检查当前感知节点是否满足处理待发送请求的条件,例如,待发送请求为询问当前感知节点的温度信息,当前感知节点检查是否能够处理该信息,即是否满足处理条件;

如果满足,当前感知节点产生包含时间信息和空间信息的数据并构造数据包并返回给请求节点,并丢弃请求;

如果不满足,检查当前感知节点的转发表是否有满足待发送请求的转发区域:

如果满足,根据转发表,转发待发送请求给树形拓扑结构中与当前感知节点之间建立通信连接的下一感知节点;

如果不满足,丢弃待发送请求。

图2为本发明实施例一种物联网通信装置的结构图,与图1所示的流程相对应,包括:

转发表生成模块201,用于生成物联网的树形拓扑结构中感知节点的转发表,其中,转发表包括:感知数据的时间信息和空间信息,时间信息为感知数据对应的Unix时间戳,空间信息为感知数据对应的经纬度;

待发送请求获取模块202,用于获取当前感知节点的待发送请求,其中,待发送请求为当前感知节点的树形拓扑结构中与当前感知节点之间建立通信连接的请求节点发送的、包含有请求数据包的请求,且请求数据包中携带有与请求数据包对应的时间信息和经纬度;

待发送请求响应模块203,用于根据转发表,响应待发送请求。

图3为本发明实施例一种物联网通信装置中转发表生成模块的结构图,包括:

拓扑结构获取子模块301,用于获取物联网网络树形拓扑结构,生成当前感知节点与其它感知节点之间的父子关系,其中,其它感知节点为物联网网络树形拓扑结构中除当前感知节点以外的感知节点;

信息收集子模块302,用于根据父子关系,收集当前感知节点的儿子节点的管理区域的信息;

管理区域生成子模块303,用于根据初始化管理区域,生成当前感知节点的父亲节点的管理区域;

转发表生成子模块304,用于根据父亲节点的管理区域,生成对感知数据进行转发的转发表。

其中,管理区域生成子模块304进一步用于:根据初始化管理区域生成一个新的管理区域,这个新的管理区域覆盖初始化管理区域和父亲节点原本的管理区域,且新的管理区域为矩形区域。

图4为本发明实施例物联网通信装置中待发送请求响应模块的示意图,包括:

第一判断子模块401,用于判断当前感知节点的内容缓存库是否缓存有满足所述待发送请求的数据包:

第一响应子模块402,用于如果是,返回包含所述时间信息和空间信息的数据包给所述请求节点;

第二判断子模块403,用于如果否,检查所述当前感知节点是否满足处理所述待发送请求的条件:

第二响应子模块404,用于如果是,产生包含时间信息和空间信息的数据并构造所述数据包并返回给所述请求节点;

第三判断子模块405,用于如果否,检查所述当前感知节点的转发表是否有满足所述待发送请求的转发区域:

转发子模块406,用于如果是,根据所述转发表,转发包含所述数据包给所述树形拓扑结构中与所述当前感知节点之间建立通信连接的下一感知节点;

丢弃待发送请求子模块407,用于如果否,丢弃所述待发送请求。

本发明实施例,针对现有物联网应用环境多变、网络中感知节点计算能力与存储能力有限、网络链路不稳定等特点,根据时空唯一性,将时间、空间信息作为物联网中感知数据的命名基础,这样生成的名字能够适合不同的应用环境;同时,通过时空信息构建的名字结构更加简单,更加适合物联网中的传感器节点进行处理,降低了传感器节点的硬件消耗,从而提升运行效率,进而提高整个物联网网络的稳定性。

图5为本发明实施例中请求数据包中名字的结构的示意图,参见图5,请求数据包表示请求一个范围的数据,主要包括三个部分:

第一部分,通过范围表示的空间信息:

上述范围表示的是希望获得的数据所在的区域,它承载命名数据中的空间信息。范围本身也是一个简单的结构体,它表示的是一个平面上的矩形区域。用两个具体的点表示这个矩形区域,分别是矩形的左下角点和右上角点。因此每一个范围部分都含有两个坐标点属性。对于每一个坐标点属性使用经度和纬度对它进行描述。

第二部分,通过周期表示的时间信息:

上述周期表示的是希望获得的数据所在的时间段,它承载命名数据中的时间信息。周期中包含两个参数:开始和结束,表示请求时间段的起始时间和结束时间。对于开始和结束时间点的描述,使用的是Unix时间戳。用户通过指定两个时间点开始和结束描述一个具体的时间段,网络返回位于这个时间段所采集的数据。

第三部分,数据类型:

上述数据类型字段则表示具体想要获得的数据类型,在无线传感器网络中,一般是一些简单的标量数据,比如温度、光强或者湿度等。

图6为本发明实施例中返回的数据数据包中名字的结构的示意图,参见图6,返回的数据数据包表示的是具体时间位置的数据,包括三个部分:

第一部分,位置:

上述位置由一个经纬度坐标表示,它在空间上精确的表示一个点,它的结构和返回的数据(Data)数据包名字中范围属性中的坐标点具有相同的结构,表示的是数据采集所在的地理位置。

第二部分,周期:

上述周期同样承载着返回的数据数据包的时间信息,它是一个具体的时间,表示数据被采集的时间。

第三部分,数据类型:

上述数据类型字段表示具体的数据类型,一般是一些简单的标量数据,如温度、光强或者湿度等。

图7是本发明实施例中节点的一种通信框架示意图,参见图7,在本发明实施例的物联网节点中,物联网节点模块主要分为三大部分,分别是底层链路模块、数据仓库模块和数据包处理模块。

其中,底层链路模块主要包括以下两个功能:

第一部分,用来生成并且维护一个树形的网络拓扑结构:底层链路模块的实现主要是依赖汇聚树协议(CTP,Collection tree protocol)。通过底层链路模块,网络拥有了自组织的特点,并且具有一定的鲁棒性,当网络中节点丢失后,能够迅速生成新的树形网络拓扑结构,然后重新建立完整的路由策略。当有新节点加入,同样能够迅速加入网络,使网络具有良好的扩展性。

第二部分,生成网络的转发表所需信息:图8为本发明实施例的感知节点周期广播自己的管理区域的示意图,当网络中的底层链路形成后,感知节点会计算自己的管理区域的信息,管理区域的信息用来表示一个矩形区域,它是指矩形区域的左下角顶点和右上角顶点的经纬度信息,这些信息会提供给上级数据包处理节点的转发表(FIB,Forwarding Information Base),作为网络的转发表信息。参见图8,儿子节点会向父亲节点周期性的广播自己的管理区域(Manager Area,MA),父亲节点接收到儿子节点的管理区域后会更新自己的管理区域,管理区域表示节点的路由范围,每一个传感器节点都有自己的管理范围,直观上理解就是节点无线辐射范围中的部分区域,同样可以使用平面矩形对这块区域进行描述,因此,管理区域内所携带的信息成为管理区域信息。位于这一块区域内的其它节点,就认为是在该区域所属节点的管理区域内。每一个感知节点的初始管理区域是一个点,不是矩形区域。父亲节点接收到儿子节点的管理区域后会根据不同的情况重新更新自己的信息。

儿子节点的管理区域和父亲节点的管理区域存在三种关系,交叉,包含和分离。对于这三种情况,重新构造一个新的矩形区域作为父亲节点的新的管理区域,这个新的矩形区域是包含父亲节点原本管理区域和初始化管理区域。

数据仓库模块的主要功能是采集存储具体的感知数据,本发明实施例中感知节点(即传感器)主要收集环境温度、湿度、光强以及二氧化碳浓度等数据。数据仓库模块会向数据包处理模块中的内容缓存库(CS,Content Store)提供基本的数据信息。

感知节点中的数据包处理模块主要包括以下两个功能:

功能一,数据包转发:网络中数据的查询转发主要依赖内容缓存库(CS,Content Store)、兴趣等待列表(PIT,Pending Interest Table)以及转发表(FIB,Forwarding Information Base)实现。

其中内容缓存库的主要功能是用来缓存经过感知节点的返回数据,它会记录返回的数据数据包所荷载的数据以及名字信息,这样在再次遇到相同的请求时,网络能够通过缓存信息,从最近的节点中返回数据,节省数据的返回时延以及网络流量。

兴趣等待列表的功能类似于网络中的“面包屑”导航机制,它记录请求数据包的转发路径,最终生成返回的数据数据包,会根据这些记录的信息获取自己的转发路径。

转发表的功能是作为物联网网络中的路由表,它记录的是网络中节点的地理位置信息,当发送一个请求时,数据包会通过和转发表中记录的空间信息进行查询匹配,获取数据包的下一跳地址,即目的感知节点的地址。图9为本发明实施例的转发表的生成示意图,参见图9,底层链路模块会将各个节点计算所得的管理区域返回给自己的父亲节点,父亲节点根据这些信息填充自己的转发表,最终生成完整的转发表。当节点的管理区域在两个周期内维持不变后,节点会再次向自己的父亲节点发送自己的管理区域,目的是为父亲节点提供构造转发表的信息。父亲节点接收到来自儿子节点的管理区域后会将具体内容和儿子节点的节点号公共存储在转发表中,这个过程会维持一段时间,直到整个网络稳定。

功能二,网络消息队列:网络消息队列的功能是缓存网络中的数据包以及对网络中的无用内存进行回收。本发明的一种实施例中,网络中节点的处理能力有限,不具有连续处理复杂请求的功能。大量的请求数据包会造成网络的拥塞,网络消息队列可以对请求数据包以及返回的数据数据包进行缓存,维持网络畅通。同时,由于节点的运行内存有限,网络消息队列同时会对节点中无用的内存进行回收,否则会导致节点的丢失。

图10为本发明实施例的一个完整数据包转发过程的示意图,具体包括:

当前感知节点获取一条请求数据包,以兴趣数据包(Interest Packet)为例,它会解析出兴趣数据包中的范围(Range)信息,即一个矩形区域。当前感知节点首先查询自己的内容缓存库,发现是否已经缓存相应的数据数据包,如果没有则当前感知节点会对这条兴趣数据包进行转发。通过解析出的矩形区域,当前感知节点查询自己的转发表,对比各个条目中的管理区域信息,得到兴趣包中的范围匹配哪个节点的管理区域,则将该兴趣数据包转发到相应的节点,这就是当前感知节点检查当前感知节点的转发表是否有满足待发送请求的转发区域的过程。

具体来说,用户希望获取一个具体矩形区域的温度信息,它发送一条完整的兴趣数据包,里面包括具体的经纬度信息描述的矩形区域范围以及周期(Periodic)信息描述想要获得数据的时间信息。当传感器网络的根节点也就是节点1接收到这条兴趣数据包的时候,它会先查询自己的内容缓存库(CS,Content Store),发现是否已经缓存相应的数据数据包,如果没有则节点1会对这条兴趣数据包进行转发。

节点1查询自己的转发表,得到节点5的范围(Range),发现兴趣(Interest)中请求的区域信息包含在节点5的管理区域中,因此它将兴趣数据包转发给节点5。节点5会继续相同的操作,搜索自己的转发表然后将节点发送给节点12。节点12接收到兴趣的时候,发现自己的仓库(Repository)中存储匹配的数据,因此它会返回一条数据(Data)数据包并且将这条数据数据包缓存到自己的内容缓存库当中,同时它会继续查询自己的转发表发现节点13的管理区域同样存在于兴趣请求的区域内,它会继续将兴趣数据包转发给节点13。同样节点13也将返回一条数据数据包,至此,这一次兴趣请求转发完毕。

图11为本发明实施例的一个完整数据包返回过程示意图,参见图11,当前感知节点产生或者查询内容缓存库缓存的数据构造成返回的数据包,查询对应兴趣等待列表的表项,匹配兴趣等待列表条目的时候,同样是对比数据包中的位置属性和兴趣等待列表条目中记录的范围信息。如果发现数据包中的位置位于某一条兴趣等待列表条目的范围区域内,则根据来源属性返回的数据数据包,如此沿路向上级进行转发,直到回到用户端。

具体来讲,当请求指定区域的兴趣数据包到达节点12和节点13的时候,它们分别会返回相应的数据数据包。当节点12接收到节点13的数据包,它会首先缓存这个包,然后查询自己的兴趣等待列表(PIT)。因为到达节点13的兴趣包经过节点12到达节点13。因此节点12的兴趣等待列表表中有匹配的项目,因此它会将节点13产生的数据数据包返回给节点5,同样节点12自己产生的数据数据包也会返回给节点5。

节点5接收到数据包会做同样的操作。将数据包缓存到自己的内容缓存库当中,然后查询自己的兴趣等待列表继续返回的数据数据包,直到返回给请求方。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1