一种快速的网络数据通信方法技术

技术编号:15867440 阅读:56 留言:0更新日期:2017-07-23 16:48
本发明专利技术提供了一种快速的网络数据通信方法,所述网络包括两个以上的节点和两个以上的数据路由器,一种类型的数据包括两个以上的数据块且由一个数据名称唯一定义,每个数据块由一个数据块ID唯一标识;数据消费者为有权限获取一种类型的数据的节点,数据提供者为有权提供一种类型的数据的节点。数据消费者通过本发明专利技术所提供的数据通信方法能够从距离最近的数据提供者以单播方式获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明专利技术可应用于道路路况监测、环境监测等领域,具有广泛的应用前景。

A fast method of network data communication

The present invention provides a method for fast data communication network, the network includes more than two nodes and more than two data router, including more than two pieces of data and by the name of a data only define the data type of each data block by a data block ID uniquely identifies the data; consumers for access to a node data type, the data provider for the right to provide a type of data node. Data communication method, data consumers provided by the invention can obtain data from the nearest service provider with unicast data, shorten the access delay and cost data service, improve the service quality, the invention can be applied to the field of road traffic monitoring, environmental monitoring, and has wide application prospect.

【技术实现步骤摘要】
一种快速的网络数据通信方法
本专利技术涉及一种数据通信方法,尤其涉及的是一种快速的网络数据通信方法。
技术介绍
近年来,很多研究工作致力于无线网络数据通信方法,以便使移动节点能够快速获取网络服务。随着无线网络技术的发展,无线网络数据通信方法会成为未来提供服务的一种模式。目前,无线网络数据通信的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低无线网络提供服务的延迟和代价成为近年来研究的热点问题。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种快速的网络数据通信方法。技术方案:本专利技术公开了一种快速的网络数据通信方法,所述网络包括两个以上的节点和两个以上的数据路由器,一种类型的数据包括两个以上的数据块且由一个数据名称唯一定义,每个数据块由一个数据块ID唯一标识;数据消费者为有权限获取一种类型的数据的节点,数据提供者为有权提供一种类型的数据的节点;节点不具有路由转发功能,数据路由器具有路由转发功能;每种消息结构包括五个部分:数据名称域、数据块ID集合、消息类型域,、序列号以及负载;消息类型如下表所示:消息类型消息类型本文档来自技高网...
一种快速的网络数据通信方法

【技术保护点】
一种快速的网络数据通信方法,其特征在于,所述网络包括两个以上的节点和两个以上的数据路由器,一种类型的数据包括两个以上的数据块且由一个数据名称唯一定义,每个数据块由一个数据块ID唯一标识;数据消费者为有权限获取一种类型的数据的节点,数据提供者为有权提供一种类型的数据的节点;节点不具有路由转发功能,数据路由器具有路由转发功能;每种消息结构包括五个部分:数据名称域、数据块ID集合、消息类型域,、序列号以及负载;消息类型如下表所示:

【技术特征摘要】
1.一种快速的网络数据通信方法,其特征在于,所述网络包括两个以上的节点和两个以上的数据路由器,一种类型的数据包括两个以上的数据块且由一个数据名称唯一定义,每个数据块由一个数据块ID唯一标识;数据消费者为有权限获取一种类型的数据的节点,数据提供者为有权提供一种类型的数据的节点;节点不具有路由转发功能,数据路由器具有路由转发功能;每种消息结构包括五个部分:数据名称域、数据块ID集合、消息类型域,、序列号以及负载;消息类型如下表所示:消息类型消息类型域值数据发布消息1数据请求消息2数据响应消息3数据确认消息4错误消息5数据路由器维护一个转发表,一个转发表项由接口域、数据名称域以及数据块ID集合构成,其中,接口域值指向到达数据提供者的下一跳,数据名称域值为目标数据的数据名称;数据块ID集合域值为构成目标数据的部分或者全部数据块ID的集合;在数据C1由数据名称N1定义,数据提供者P1产生了数据C1的数据块,所述数据块的数据块ID集合为S1的情况下,如果网络链路稳定,数据提供者P1则执行下述过程建立转发表:步骤101:开始;步骤102:数据提供者P1构建数据发布消息,该数据发布消息的数据名称域值为N1,消息类型为1,数据块ID集合为S1,序列号为0,负载为空,数据提供者P1通过与本地数据路由器相连的接口发送该数据发布消息;步骤103:数据路由器从自己的接口j接收到数据发布消息,查看转发表判断是否存在数据名称域值为N1,接口域为j,数据块ID集合域值为S1的转发表项,如果存在,执行步骤105,否则执行步骤104;步骤104:接收到数据发布消息的数据路由器创建一个转发表项,该转发表项的数据名称域值为N1,接口域值为j,数据块ID集合域值为S1,数据路由器从每个符合条件1和条件2的接口转发该数据发布消息,执行步骤106;条件1:该接口与数据路由器相连;条件2:从该接口没有接收到数据发布消息;步骤105:接收到数据发布消息的数据路由器放弃接收到的数据发布消息,执行步骤106;步骤106:重复步骤103~105直到网络内所有的数据路由器都接收到数据提供者P1发送的数据发布消息且建立了数据名称域值为N1、数据块ID集合域值为S1的转发表项为止;步骤107:结束;数据提供者定期执行步骤101~107建立或者更新数据路由器的转发表;如果网络链路不稳定,数据路由器、数据消费者和数据提供者通过保存四元组<发送的消息,发送消息的接口,消息中的序列号,确认定时器>来确保消息的传输成功率;确认定时器的初始值预先设定,然后根据时钟衰减,如果时钟衰减到0,则定时器过期。2.根据权利要求1所述的一种快速的网络数据通信方法,其特征在于,在数据C1由数据名称N1定义,数据提供者P1提供数据C1的数据块,所述数据块的数据块ID集合为S1的条件下,如果网络链路不稳定,数据提供者P1则执行下述过程建立转发表:步骤201:开始;步骤202:数据提供者P1产生一个随机数同时构建数据发布消息,该数据发布消息的数据名称域值为N1,消息类型为1,数据块ID集合为S1,序列号为产生的随机数,负载为空;数据提供者P1通过与本地数据路由器相连的接口发送该数据发布消息,同时保存四元组<发送的数据发布消息,与本地数据路由器相连的接口,产生的随机数,确认定时器>,然后启动确认定时器;步骤203:数据路由器从自己的接口j接收到数据发布消息后,通过接口j发送一个数据确认消息,该数据确认消息中的数据名称域值为N1,数据块ID集合为S1,消息类型为4,序列号为数据发布消息中的序列号;接收到数据发布消息的数据路由器查看转发表判断是否存在数据名称域值为N1,接口域为j,数据块ID集合域值为S1的表项,如果存在,执行步骤205,否则执行步骤204;步骤204:接收到数据发布消息的数据路由器创建一个转发表项,该转发表项的数据名称域值为N1,接口域值为j,数据块ID集合域值为S1;对于每个符合条件1和条件2的接口数据路由器执行下述操作:产生一个随机数同时构建数据发布消息,该数据发布消息的数据名称域值为N1,消息类型为1,数据块ID集合为S1,序列号为产生的随机数,负载为空;通过从该接口发送数据发布消息,同时保存四元组<发送的数据发布消息,发送数据发布消息的接口,产生的随机数,确认定时器>,然后启动确认定时器,执行步骤206;步骤205:接收到数据发布消息的数据路由器放弃接收到的数据发布消息;步骤206:数据提供者P1查看保存的四元组,如果在四元组中的确认时钟过期之前收到了与四元组中的序列号相同的数据确认消息,则执行步骤208,否则执行步骤207;步骤207:数据提供者P1通过步骤202中保存的四元组中的接口域值重新发送四元组中的数据发布消息,重新启动四元组中的确认时钟,执行步骤203;步骤208:数据提供者P1删除保存的四元组;步骤209:接收到数据发布消息的数据路由器查看保存的所有四元组,对于每个四元组判断是否在该四元组中的确认时钟过期之前收到了与四元组中的序列号相同的数据确认消息,如果是,则执行步骤211,否则执行步骤210;步骤210:对于每个没有收到确认消息的四元组,接收到数据发布消息的数据路由器通过该四元组中对应接口的接口域值重新发送该四元组中的数据发布消息,重新启动该四元组中的确认时钟,执行步骤203;步骤211:接收到数据发布消息的数据路由器收到了与四元组中的序列号相同的数据确认消息后,删除该四元组;步骤212:重复步骤203~211直到所述网络内所有的数据路由器都接收到数据提供者P1发送的数据发布消息且建立了数据名称域值为N1、数据块ID集合域值为S1的转发表项为止;步骤213:结束;数据提供者定期执行步骤201~213建立或者更新数据路由器的转发表。3.根据权利要求2所述的一种快速的网络数据通信方法,其特征在于,在数据路由器维护一个聚合表,一个聚合表项由接口域、数据名称域和数据块ID集合构成,接口域指向到达数据消费者的下一跳,数据名称域值为目标数据的数据名称,数据块ID集合域值记录未收到的目标数据块的条件下,如果聚合表项的数据块ID集合域值为空,那么删除该聚合表项;在数据消费者U1通过自己的接口f与本地数据路由器R1相连,数据消息者U1需要获取由数据名称N1定义的数据C1的数据块,所述数据块的数据块ID集合为S1的情况下,如果网络性能稳定,那么数据消息者U1通过下述过程获取目标数据块:步骤301:开始;步骤302:数据消费者U1构建一个数据请求消息,数据名称域值为N1,消息类型域值为2,数据块ID集合为S1,序列号为0,负载为空;数据消费者U1从接口f发送该数据请求消息;步骤303:数据路由器R1从自己的接口f1接收到数据请求消息后,判断自己的聚合表中是否存在数据名称域值为N1,接口域值为f1且数据块ID集合为数据请求消息中的数据块ID集合的超集的表项,如果是,执行步骤311,否则执行步骤304;步骤304:数据路由器R1创建一个聚合表项,该聚合表项的数据名称域值为N1,数据块ID集合域值为接收到的数据请求消息中的数据块ID集合,接口域值为f1;步骤305:数据路由器R1查看转发表,如果存在数据名称域值为N1且数据块ID集合为数据请求消息中的数据块ID集合的超集的转发表项,则数据路由器R1从该转发表项的接口转发接收到的数据请求消息;否则,数据路由器R1选择符合条件3的所有转发表项,对于每个选择的转发表项,数据路由器R1进行如下操作:构建一个数据请求消息,数据名称域值为N1,消息类型为2,数据块ID集合为该转发表项中的数据块ID集合域值,序列号为0,负载为空,数据路由器R1从该转发表项的接口域值发送构建数据请求消息;条件3:所述数据转发表项的数据块ID集合的并集是接收到的数据请求消息中的数据块ID集合的超集;步骤306:判断是数据路由器还是数据提供者从接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤307,否则执行步骤308;步骤307:接收到数据请求消息的数据提供者创建一个数据响应消息,该数据响应消息的数据名称域值为N1,消息类型为3,数据块ID集合为接收到的数据请求消息中的数据块ID集合,序列号为0,负载为提供的数据块,然后从接口f2发送该数据响应消息,执行步骤311;步骤308:接收到数据请求消息的数据路由器判断聚合表中是否存在数据名称域值为N1,接口域值为f2且数据块ID集合为接收到的数据请求消息中的数据块ID集合的超集的表项,如果是,执行步骤311,否则执行步骤309;步骤309:接收到数据请求消息的数据路由器创建一个聚合表项,该聚合表项的数据名称域值为N1,数据块ID集合域值为接收到的数据请求消息中的数据块ID集合,接口域值为f2;步骤310:接收到数据请求消息的数据路由器查看转发表,如果存在数据名称域值为N1且数据块ID集合为数据请求消息中的数据块ID集合的超集的转发表项,则数据路由器从该转发表项的接口转发接收到的数据请求消息;否则,接收到数据请求消息的数据路由器选择符合条件3的所有转发表项,对于每个选择的转发表项,接收到数据请求消息的数据路由器进行如下操作:构建一个数据请求消息,数据名称域值为N1,消息类型为2,数据块ID集合为该转发表项中的数据块ID集合域值,序列号为0,负载为空,接收到数据请求消息的数据路由器从该转发表项的接口域值发送构建的数据请求消息,执行步骤306;步骤311:判断是数据路由器还是数据消费者从接口f3接收到数据响应消息,如果是数据路由器接收到数据响应消息,则执行步骤312,否则执行步骤313;步骤312:接收到数据响应消息的数据路由器从聚合表中选择所有数据名称域值为N1且数据块ID集合与数据响应消息中的数据块ID集合的交集不为空的表项,对于每个选择的聚合表项,接收到数据响应消息的数据路由器构建一个数据响应消息,数据响应消息的名称域值为N1,数据块ID集合为该聚合表项中的数据块ID集合与数据响应消息中的数据ID集合的交集,消息类型为3,序列号为0,负载为数据响应消息中的负载,数据路由器从该聚合表项中的接口域发送构建的数据响应消息,从该聚合表项的数据块ID集合中减去构建的数据响应消息的数据块ID集合,如果该聚合表项的数据块ID集合为空,则删除该聚合表项,执行步骤311;步骤313:数据消费者U1获取并保存数据响应消息中的数据块;步骤314:数据消费者U1整理所有收到的数据响应消息中从而获取数据块ID集合为S1的数据块;步骤315:结束。4.根据权利要求3所述的一种快速的网络数据通信方法,其特征在于,在数据消费者U1通过接口f与本地数据路由器R1相连,数据消息者U1需要获取由数据名称N1定义的数据C1的数据块,所述数据块的数据块ID集合为S1的条件下,如果网络性能不稳定,那么数据消费者U1通过下述过程获取目标数据块:步骤401:开始;步骤402:数据消费者U1产生一个随机数并构建一个数据请求消息,该数据请求消息的数据名称域值为N1,消息类型为2,数据块ID集合为S1,序列号为产生的随机数,负载为空,数据消费者U1从接口f发送该数据请求消息,同时保存四元组<构建的数据请求消息,接口f,产生的随机数,确认定时器>,启动确认定时器;步骤403:数据路由器R1从自己的接口f1接收到数据请求消息后,从接口f1返回一个数据确认消息,该数据确认消息中的数据名称域值为N1,数据块ID集合为S1,消息类型为4,序列号为数据请求消息中的序列号,数据路由器R1判断聚合表中是否存在数据名称域值为N1,接口域值为f1且数据块ID集合为数据请求消息中的数据块ID集合的超集的表项,如果是,执行步骤417,否则执行步骤404;步骤404:数据路由器R1创建一个聚合表项,该聚合表项的数据名称域值为N1,数据块ID集合域值为接收到的数据请求消息中的数据...

【专利技术属性】
技术研发人员:王晓喃
申请(专利权)人:常熟理工学院
类型:发明
国别省市:江苏,32

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

1