[发明专利]一种基于按需机制的网络数据通信方法有效

专利信息
申请号: 201710196556.6 申请日: 2017-03-29
公开(公告)号: CN106941449B 公开(公告)日: 2019-08-09
发明(设计)人: 王晓喃 申请(专利权)人: 常熟理工学院
主分类号: H04L12/741 分类号: H04L12/741;H04L12/761;H04L12/773;H04L12/803;H04L12/863;H04L29/08;H04L29/06
代理公司: 江苏圣典律师事务所 32237 代理人: 胡建华
地址: 215500 江苏省苏州市常熟市*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供了一种基于按需机制的网络数据通信方法,所述网络包括两个以上的节点和两个以上的数据路由器;一种类型的数据由一个数据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:结束。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常熟理工学院,未经常熟理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710196556.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top