一种基于按需机制的网络数据通信方法技术

技术编号:15800001 阅读:138 留言:0更新日期:2017-07-11 13:56
本发明专利技术提供了一种基于按需机制的网络数据通信方法,所述网络包括两个以上的节点和两个以上的数据路由器;一种类型的数据由一个数据ID唯一定义;数据消费者为有权限获取一种类型数据的节点,数据提供者为有权提供一种类型数据的节点;节点不具有路由转发功能,数据路由器具有路由转发功能;本发明专利技术采用单播方式获取服务数据,因此降低了获取服务数据的延迟和代价,提高了服务质量。

Network data communication method based on on-demand mechanism

The present invention provides a method for on-demand network data communication mechanism based on the network includes more than two nodes and more than two data router; one type of data from a data definition data for ID only; consumers have access node of a data type, the data provider for the right to provide a data type node; node does not have routing function, data router with routing forwarding function; the invention uses unicast access service data, thus reducing the cost of access delay and data service, improve the quality of service.

【技术实现步骤摘要】
一种基于按需机制的网络数据通信方法
本专利技术涉及一种数据通信方法,尤其涉及的是一种基于按需机制的网络数据通信方法。
技术介绍
近年来,很多研究工作致力于网络通信方法以便使用户能够快速获取网络服务。随着网络技术的发展,网络通信方法会成为未来提供服务的一种模式。目前,网络通信方法的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了网络服务性能。因此,如何降低网络通信方法提供服务的延迟和代价成为近年来研究的热点问题。
技术实现思路
专利技术目的:本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于按需机制的网络数据通信方法。本专利技术通过单播取代广播的方式来实现网络通信方法,从而降低网络通信方法提供服务的延迟和代价,从而有效提高网络服务性能。技术方案:本专利技术公开了一种基于按需机制的网络数据通信方法,所述网络包括两个以上的节点和两个以上的数据路由器;一种类型的数据由一个数据ID唯一定义;数据消费者为有权限获取一种类型数据的节点,数据提供者为有权提供一种类型数据的节点;节点不具有路由转发功能,数据路由器具有路由转发功能;数据路由器之间通过有线接口相连,数据路由器与节点之间通过无线接口相连;一种消息由三个部分构成:数据ID域,消息类型域以及负载;消息类型如下表所示:数据路由器维护一个转发表和一个聚合表,一个转发表项由接口域,数据ID域,队列域,距离域以及生命周期域构成;其中,接口域值指向到达数据提供者的下一跳,数据ID域值为数据消费者请求的数据的数据ID,距离域值是保存转发表的数据路由器与数据提供者之间的跳数,队列域值为当前待处理的数据请求消息的个数;一个聚合表项由接口域、数据ID域和生命周期域构成,接口域值指向到达数据消费者的下一跳,数据ID域值为数据消费者请求数据的数据ID;在数据C1由数据ID定义,数据ID为CID1,数据消费者U1通过自己的接口f与本地数据路由器R1相连的条件下,数据消费者U1通过下述过程获取数据C1:步骤201:开始;步骤202:数据消费者U1随机产生一个序列号并构建一个数据请求消息,数据ID域值为CID1,消息类型为2,负载为序列号,然后从接口f发送该数据请求消息;步骤203:数据路由器R1从自己的接口f1接收到数据请求消息后,判断聚合表中是否存在数据ID域值为CID1的表项,如果是,执行步骤204,否则执行步骤206;步骤204:数据路由器R1判断聚合表中是否存在数据ID域值为CID1,接口域值为f1的表项,如果是,执行步骤222,否则执行步骤205;步骤205:数据路由器R1创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f1,生命周期为最大生命周期值,例如1s,执行步骤222;步骤206:数据路由器R1创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f1,生命周期为最大生命周期值;数据路由器R1查看是否存在数据ID域值为CID1且队列域值小于最大预定队列域值,例如20,且距离域值小于最大预定距离域值的转发表项,例如10跳,如果存在,则执行步骤207,否则执行步骤208;步骤207:对于每一个数据ID域值为CID1且队列域值小于最大预定队列域值,且距离域值小于最大预定距离域值的转发表项,数据路由器R1根据公式(1)计算该转发表项的权值P;然后数据路由器R1选择权值最小地转发表项,从该转发表项的接口域值转发该数据请求消息,同时将该转发表项的队列域值递增1,执行步骤209;P=α×Q+β×H;α+β=1,α>0,β>0(1)其中,α和β为调节参数,Q为该表项的队列域值,H为该表项的距离域值;α取值范围为0.1-0.9,β取值范围为0.1-0.9,如果用户需要快速处理数据包,那么α的权值高一些,例如0.7,如果用户要求低丢包率,那么β的取值高一些,例如0.7;步骤208:数据路由器R1从每个与其他数据路由器相连的接口转发数据请求消息;步骤209:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤210,否则执行步骤214;步骤210:判断数据提供者是否能提供数据C1,如果能,则执行步骤211,否则执行步骤213;步骤211:判断数据提供者是否已经接收到具有相同序列号的数据请求消息,如果是,执行步骤213,否则执行步骤212;步骤212:数据提供者创建一个数据响应消息,该数据响应消息的数据ID域值为CID1,消息类型为3,负载为数据请求消息中的序列号、距离参数以及数据C1,距离参数的初始值为0,然后数据提供者从自己的接口f2发送该数据响应消息,执行步骤222;步骤213:数据提供者丢弃接收到的数据请求消息,执行步骤222;步骤214:判断数据路由器是否已经接收到具有相同序列号的数据请求消息,如果是,执行步骤215,否则执行步骤216;步骤215:数据路由器丢弃接收到的数据请求消息,执行步骤222;步骤216:数据路由器判断聚合表中是否存在数据ID域值为CID1的表项,如果是,执行步骤217,否则执行步骤219;步骤217:数据路由器判断聚合表中是否存在数据ID域值为CID1且接口域值为f2的表项,如果是,执行步骤222,否则执行步骤218;步骤218:数据路由器创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f2,生命周期域值为最大生命周期值,执行步骤222;步骤219:数据路由器创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f2,生命周期域值为最大生命周期值;数据路由器查看是否存在数据ID域值为CID1且队列域值小于最大预定队列域值,且距离域值小于最大预定距离域值的转发表项,如果存在,则执行步骤220,否则执行步骤221;步骤220:对于每一个数据ID域值为CID1且队列域值小于最大预定队列域值,且距离域值小于最大预定距离域值的转发表项,数据路由器根据公式(1)计算该表项的权值P,然后数据路由器选择权值最小的转发表项,从转发该表项的接口域值转发该数据请求消息,同时将该表项的队列域值递增1,执行步骤209;步骤221:数据路由器从除了接口f2以外的每个与其他数据路由器相连的接口转发数据请求消息,执行步骤209;步骤222:数据路由器判断数据ID为CID1的聚合表项的生命周期是否衰减为0,如果是,执行步骤223,否则执行步骤224;步骤223:数据路由器删除数据ID为CID1的聚合表项,执行步骤232;步骤224:数据路由器或者数据消费者从自己接口f4接收到数据响应消息,如果是数据路由器接收到数据响应消息,则执行步骤225,否则执行步骤231;步骤225:数据路由器将数据响应消息中的距离参数递增1,然后查看转发表中是否存在数据ID为CID1且接口域值为f4的转发表项,如果存在,执行步骤227,否则执行步骤226;步骤226:数据路由器创建一个转发表项,该转发表项的数据ID为CID1,接口域值为f4,队列域值为0,距离域值为数据响应消息中的距离参数值,生命周期设置为最大生命周期值,执行步骤229;步骤227:数据路由器将该转发表项的队列域值递减1,然后判断该转发表项的距离域值是否大于数据响应消息中的距离参数,如果是,执行步骤228,否则执行步骤229本文档来自技高网...
一种基于按需机制的网络数据通信方法

【技术保护点】
一种基于按需机制的网络数据通信方法,其特征在于,所述网络包括两个以上的节点和两个以上的数据路由器;一种类型的数据由一个数据ID唯一定义;数据消费者为有权限获取一种类型数据的节点,数据提供者为有权提供一种类型数据的节点;节点不具有路由转发功能,数据路由器具有路由转发功能;数据路由器之间通过有线接口相连,数据路由器与节点之间通过无线接口相连;一种消息由三个部分构成:数据ID域,消息类型域以及负载;消息类型如下表所示:

【技术特征摘要】
1.一种基于按需机制的网络数据通信方法,其特征在于,所述网络包括两个以上的节点和两个以上的数据路由器;一种类型的数据由一个数据ID唯一定义;数据消费者为有权限获取一种类型数据的节点,数据提供者为有权提供一种类型数据的节点;节点不具有路由转发功能,数据路由器具有路由转发功能;数据路由器之间通过有线接口相连,数据路由器与节点之间通过无线接口相连;一种消息由三个部分构成:数据ID域,消息类型域以及负载;消息类型如下表所示:消息类型消息类型域值信标消息0数据发布消息1数据请求消息2数据响应消息3刷新消息4无效消息5有效消息6切换消息7数据路由器维护一个转发表和一个聚合表,一个转发表项由接口域,数据ID域,队列域,距离域以及生命周期域构成;其中,接口域值指向到达数据提供者的下一跳,数据ID域值为数据消费者请求数据的数据ID,距离域值是保存转发表的数据路由器与数据提供者之间的跳数,队列域值为当前待处理的数据请求消息的个数;一个聚合表项由接口域、数据ID域和生命周期域构成,接口域值指向到达数据消费者的下一跳,数据ID域值为数据消费者请求数据的数据ID;在数据C1由数据ID定义,数据ID为CID1,数据消费者U1通过自己的接口f与本地数据路由器R1相连的条件下,数据消费者U1通过下述过程获取数据C1:步骤201:开始;步骤202:数据消费者U1随机产生一个序列号并构建一个数据请求消息,数据ID域值为CID1,消息类型为2,负载为序列号,然后从接口f发送该数据请求消息;步骤203:数据路由器R1从自己的接口f1接收到数据请求消息后,判断聚合表中是否存在数据ID域值为CID1的表项,如果是,执行步骤204,否则执行步骤206;步骤204:数据路由器R1判断聚合表中是否存在数据ID域值为CID1,接口域值为f1的表项,如果是,执行步骤222,否则执行步骤205;步骤205:数据路由器R1创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f1,生命周期为最大生命周期值,执行步骤222;步骤206:数据路由器R1创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f1,生命周期为最大生命周期值;数据路由器R1查看是否存在数据ID域值为CID1且队列域值小于最大预定队列域值,且距离域值小于最大预定距离域值的转发表项,如果存在,则执行步骤207,否则执行步骤208;步骤207:对于每一个数据ID域值为CID1且队列域值小于最大预定队列域值,且距离域值小于最大预定距离域值的转发表项,数据路由器R1根据公式(1)计算该转发表项的权值P;然后数据路由器R1选择权值最小地转发表项,从该转发表项的接口域值转发该数据请求消息,同时将该转发表项的队列域值递增1,执行步骤209;P=α×Q+β×H;α+β=1,α>0,β>0(1)其中,α和β为调节参数,Q为该表项的队列域值,H为该表项的距离域值;步骤208:数据路由器R1从每个与其他数据路由器相连的接口转发数据请求消息;步骤209:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤210,否则执行步骤214;步骤210:判断接收到数据请求消息的数据提供者是否能提供数据C1,如果能,则执行步骤211,否则执行步骤213;步骤211:判断接收到数据请求消息的数据提供者是否已经接收到具有相同序列号的数据请求消息,如果是,执行步骤213,否则执行步骤212;步骤212:接收到数据请求消息的数据提供者创建一个数据响应消息,该数据响应消息的数据ID域值为CID1,消息类型为3,负载为数据请求消息中的序列号、距离参数以及数据C1,距离参数的初始值为0,然后数据提供者从自己的接口f2发送该数据响应消息,执行步骤222;步骤213:接收到数据请求消息的数据提供者丢弃接收到的数据请求消息,执行步骤222;步骤214:判断接收到数据请求消息的数据路由器是否已经接收到具有相同序列号的数据请求消息,如果是,执行步骤215,否则执行步骤216;步骤215:接收到数据请求消息的数据路由器丢弃接收到的数据请求消息,执行步骤222;步骤216:接收到数据请求消息的数据路由器判断聚合表中是否存在数据ID域值为CID1的表项,如果是,执行步骤217,否则执行步骤219;步骤217:接收到数据请求消息的数据路由器判断聚合表中是否存在数据ID域值为CID1且接口域值为f2的表项,如果是,执行步骤222,否则执行步骤218;步骤218:接收到数据请求消息的数据路由器创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f2,生命周期域值为最大生命周期值,执行步骤222;步骤219:接收到数据请求消息的数据路由器创建一个聚合表项,该聚合表项的数据ID域值为CID1,接口域值为f2,生命周期域值为最大生命周期值;数据路由器查看是否存在数据ID域值为CID1且队列域值小于最大预定队列域值,且距离域值小于最大预定距离域值的转发表项,如果存在,则执行步骤220,否则执行步骤221;步骤220:对于每一个数据ID域值为CID1且队列域值小于最大预定队列域值,且距离域值小于最大预定距离域值的转发表项,接收到数据请求消息的数据路由器根据公式(1)计算该表项的权值P,然后数据路由器选择权值最小的转发表项,从转发该表项的接口域值转发该数据请求消息,同时将该表项的队列域值递增1,执行步骤209;步骤221:接收到数据请求消息的数据路由器从除了接口f2以外的每个与其他数据路由器相连的接口转发数据请求消息,执行步骤209;步骤222:接收到数据请求消息的数据路由器判断数据ID为CID1的聚合表项的生命周期是否衰减为0,如果是,执行步骤223,否则执行步骤224;步骤223:接收到数据请求消息的数据路由器删除数据ID为CID1的聚合表项,执行步骤232;步骤224:数据路由器或者数据消费者从自己接口f4接收到数据响应消息,如果是数据路由器接收到数据响应消息,则执行步骤225,否则执行步骤231;步骤225:接收到数据响应消息的数据路由器将数据响应消息中的距离参数递增1,然后查看转发表中是否存在数据ID为CID1且接口域值为f4的转发表项,如果存在,执行步骤227,否则执行步骤226;步骤226:接收到数据响应消息的数据路由器创建一个转发表项,该转发表项的数据ID为CID1,接口域值为f4,队列域值为0,距离域值为数据响应消息中的距离参数值,生命周期设置为最大生命周期值,执行步骤229;步骤227:接收到数据响应消息的数据路由器将该转发表项的队列域值递减1,然后判断该转发表项的距离域值是否大于数据响应消息中的距离参数,如果是,执行步骤228,否则执行步骤229;步骤228:接收到数据响应消息的数据路由器将该转发表项的距离域值更新为数据响应消息中的距离参数;步骤229:判断接收到数据响应消息的数据路由器是否已经接收到具有相同序列号的数据响应消息,如果是,执行步骤232,否则执行步骤230;步骤230:接收到数据响应消息的数据路由器从聚合表中选择所有数据ID域值为CID1的表项,针对每个选择的表项,数据路由器从该表项中的接口域发送接收到的数据响应消息,然后数据路由器删除所有数据ID域值为CID1的表项,执行步骤224;步骤231:数据消费者U1获取并保存数据响应消息中的数据C1;步骤232:结束。2.根据权利要求1所述的一种基于按需机制的网络数据通信方法,其特征在于,如果数据路由器检测到一个转发表项的生命周期衰减为0,则删除该转发表项;在数据路由器每隔时间T从每个接口发送信标消息,该信标消息的数据ID为空,类型为0,负载为空的条件下,如果数据路由器在时间2T内没有从自己的接口x收到信标帧,则执行下述操作:步骤301:开始;步骤302:数据路由器随机产生一个序列号,选择接口域值为x的所有转发表项,将所述转发表项的队列域值设置为大于队列最大值的正整数;数据路由器构建一个无效消息,该无效消息的数据ID为空,类型为5,负载为序列号以及接口域值为x的所有转发表项的数据ID的集合;数据路由器从除了接口x...

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

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

1