全部分类
全部分类
一种可靠的网络数据通信方法

一种可靠的网络数据通信方法

IPC分类号 : H04L12/721,H04L12/751,H04L12/741

申请号
CN201710196616.4
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2017-03-29
  • 公开号: CN106911570A
  • 公开日: 2017-06-30
  • 主分类号: H04L12/721
  • 专利权人: 常熟理工学院

专利摘要

本发明提供了一种可靠的网络数据通信方法,所述网络包括两个以上的节点和两个以上的数据路由器,数据路由器具有路由转发功能,节点不具有路由转发功能;一种类型的数据由一个数据名称唯一定义。数据消费者通过本发明所提供的网络数据通信方法能够快速获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测以及获取各种多媒体数据等领域,具有广泛的应用前景。

权利要求

1.一种可靠的网络数据通信方法,其特征在于,所述网络包括两个以上的节点和两个以上的数据路由器,数据路由器具有路由转发功能,节点不具有路由转发功能;一种类型的数据由一个数据名称唯一定义;数据消费者为有权限获取一种类型的数据的节点,数据提供者为有权提供一种类型的数据的节点;

一种消息由消息类型唯一定义,消息类型如下所示:

创建消息的消息类型域值为1,由数据名称域,距离域,消息类型域构成;

数据请求消息的消息类型域值为2,由数据名称域,距离域,消息类型域构成;

数据确认消息的消息类型域值为3,由数据名称域,距离域,消息类型域以及负载构成;

删除消息的消息类型域值为4,由数据名称集合域,消息类型域构成;

数据路由器维护一个路由转发表,一个路由转发表项由接口域值,数据名称域值,距离域值构成;其中,接口域指向到达数据提供者的下一跳,数据名称域值为目标数据的数据名称,距离域值是保存路由转发表的数据路由器与数据提供者之间的跳数;

在数据C1由数据名称N1定义,数据提供者P1通过自己的接口j与本地数据路由器相连的条件下,数据提供者P1产生数据C1后,执行下述过程建立路由转发表:

步骤101:开始;

步骤102:数据提供者P1构建创建消息,该创建消息的数据名称域值为N1,消息类型为1,距离域值为0,然后数据提供者P1通过自己的接口j发送该创建消息;

步骤103:如果是数据提供者或者数据消费者接收到创建消息,则执行步骤111,否则执行步骤104;

步骤104:数据路由器从自己接口k接收到创建消息后将创建消息中的距离域值递增1,然后查看路由转发表判断是否存在数据名称域值为N1的表项,如果存在,执行步骤106,否则执行步骤105;

步骤105:接收到创建消息的数据路由器创建一个路由转发表项,该路由转发表项的数据名称域值为N1,接口域值为k,距离域值为创建消息中的距离域值,最后接收到创建消息的数据路由器从每个没有接收到创建消息的接口转发该创建消息,执行步骤110;

步骤106:接收到创建消息的数据路由器查看数据名称域值为N1的路由转发表项中的距离域值是否等于或者小于接收到的创建消息中的距离域值,如果是,执行步骤107,否则执行步骤108;

步骤107:接收到创建消息的数据路由器放弃接收到的创建消息,执行步骤110;

步骤108:接收到创建消息的数据路由器更新数据名称域值为N1的路由转发表项,即将该路由转发表项的接口域值更新为k,距离域值更新为创建消息中的距离域值,如果从每个接口都接收到了创建消息,那么执行步骤110,否则执行步骤109;

步骤109:接收到创建消息的数据路由器从每个没有接收到创建消息的接口转发该创建消息;

步骤110:重复步骤103~107直到所有的数据路由器符合条件1为止;

条件1:数据名称域值为N1的路由转发表项中的距离域值等于或者小于所有接收到的创建消息中的距离域值;

步骤111:结束。

2.根据权利要求1所述的一种可靠的网络数据通信方法,其特征在于,

数据路由器维护一个待处理表,一个待处理表项由接口域和数据名称域构成,接口域指向到达数据消费者的下一跳,数据名称域值为目标数据的数据名称;

数据提供者定期执行步骤101~111建立或者更新数据路由器的路由转发表;

数据路由器R2通过自己的接口f3与邻居数据路由器或者邻居数据提供者相连,如果数据路由器R2检测到该邻居数据路由器或者邻居数据提供者不可达,那么数据路由器R2执行下述过程:

步骤201:开始;

步骤202:数据路由器R2从路由转发表中选择接口域值为f3的所有表项,然后构建一个删除消息,该删除消息的数据名称集合域值为接口域值为f3的所有路由转发表项中的数据名称域值的集合,消息类型为4;数据路由器R2从除了接口f3的所有与数据路由器相连的接口发送删除消息;数据路由器R2删除所有接口域值为f3的路由转发表项;

步骤203:邻居数据路由器从接口f4接收到删除消息,判断是否有接口域值为f4,且数据名称域值等于删除消息中的数据名称集合中任一个元素的路由转发表项,如果有,执行步骤204,否则执行步骤206;

步骤204:接收到删除消息的邻居数据路由器删除接口域值为f4,且数据名称域值等于删除消息中的数据名称集合中任一个元素的路由转发表项;接收到删除消息的邻居数据路由器判断是否从任何一个与其他数据路由器相连的接口都接收到删除消息,如果是,执行步骤206,否则执行步骤205;

步骤205:接收到删除消息的邻居数据路由器从除了接收到删除消息的接口以外的所有与其他数据路由器相连的接口发送删除消息,执行步骤203;

步骤206:结束;

数据路由器删除路由转发表项之后,通过数据提供者定期执行步骤101~111建立路由转发表。

3.根据权利要求2所述的一种可靠的网络数据通信方法,其特征在于,数据消费者X1通过自己的接口f与本地数据路由器R1相连,如果网络性能不稳定且部分数据路由器和数据提供者不可达,则数据消费者X1通过下述过程获取数据C1:

步骤301:开始;

步骤302:数据消费者X1构建一个数据请求消息,数据名称域值为N1,消息类型为2,距离域值为0,然后,数据消费者X1从自己的接口f发送该数据请求消息;

步骤303:数据路由器R1从自己的接口f1接收到数据请求消息后,判断待处理表中是否存在数据名称域值为N1的表项,如果是,执行步骤304,否则执行步骤307;

步骤304:数据路由器R1判断待处理表中是否存在数据名称域值为N1且接口域值为f1的表项,如果有,执行步骤306,否则执行步骤305;

步骤305:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤306:数据路由器R1执行步骤318;

步骤307:数据路由器R1查看数据名称域值为N1路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,数据路由器R1将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,然后从该路由转发表项中的接口域发送该数据请求消息;

步骤308:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤309:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤310,否则执行步骤311;

步骤310:接收到数据请求消息的数据提供者创建一个数据确认消息,该数据确认消息的数据名称域值为N1,消息类型为3,距离域值为0,负载为数据C1,然后接收到数据请求消息的数据提供者从接口f2发送该数据确认消息,执行步骤318;

步骤311:接收到数据请求消息的数据路由器将数据请求消息中的距离域值递减1,接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1的表项,如果是,执行步骤312,否则执行步骤315;

步骤312:接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1且接口域值为f2的表项,如果有,执行步骤314,否则执行步骤313;

步骤313:接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2;

步骤314:接收到数据请求消息的数据路由器执行步骤318;

步骤315:接收到数据请求消息的数据路由器查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值不大于数据请求消息中距离域值的路由转发表项,如果这些路由转发表项至少有一个表项符合条件2,那么执行步骤316,否则执行步骤317;

条件2:该路由转发表项中的接口域值所连接的数据路由器或者数据提供者可达,即该路由转发表项中的接口域值所连接的数据路由器或者数据提供者定期发送信标消息;

步骤316:针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该表项中的距离域值;从该路由转发表项中的接口域发送该数据请求消息;数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤309;

步骤317:接收到数据请求消息的数据路由器删除所有数据名称域值为N1,且距离域值不大于数据请求消息中距离域值的路由转发表项;查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,从该表项中的接口域发送该数据请求消息;接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤309;

步骤318:数据路由器或者数据消费者从自己的接口f3接收到数据确认消息,如果是数据路由器接收到数据确认消息,则执行步骤319,否则执行步骤320;

步骤319:接收到数据确认消息的数据路由器从待处理表中选择所有数据名称域值为N1的待处理表项,针对每个选择的待处理表项,数据路由器从该待处理表项中的接口域发送接收到的数据确认消息,然后数据路由器删除所有数据名称域值为N1的待处理表项,执行步骤318;

步骤320:接收到数据确认消息的数据消费者X1获取并保存数据确认消息中的数据C1;

步骤321:结束。

4.根据权利要求3所述的一种可靠的网络数据通信方法,其特征在于,在数据消费者X1通过接口f与本地数据路由器R1相连的条件下,如果网络性能稳定且所有数据路由器和数据提供者都可达,那么数据消费者X1通过下述过程获取数据C1:

步骤401:开始;

步骤402:数据消费者X1构建一个数据请求消息,数据名称域值为N1,消息类型为2,距离域值为0,数据消费者X1从接口f发送该数据请求消息;

步骤403:数据路由器R1从自己的接口f1接收到数据请求消息后,判断待处理表中是否存在数据名称域值为N1的待处理表项,如果是,执行步骤404,否则执行步骤407;

步骤404:数据路由器R1判断待处理表中是否存在数据名称域值为N1且接口域值为f1的待处理表项,如果有,执行步骤406,否则执行步骤405;

步骤405:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤406:数据路由器R1执行步骤416;

步骤407:数据路由器R1查看数据名称域值为N1路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,数据路由器R1将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,然后从该路由转发表项中的接口域发送该数据请求消息;

步骤408:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤409:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤410,否则执行步骤411;

步骤410:接收到数据请求消息的数据提供者创建一个数据确认消息,该数据确认消息的数据名称域值为N1,消息类型为3,距离域值为0,负载为数据C1,接收到数据请求消息的数据提供者从自己的接口f2发送该数据确认消息,执行步骤416;

步骤411:接收到数据请求消息的数据路由器将数据请求消息中的距离域值递减1,数据路由器判断待处理表中是否存在数据名称域值为N1的路由转发表项,如果是,执行步骤412,否则执行步骤415;

步骤412:接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1且接口域值为f2的路由转发表项,如果有,执行步骤414,否则执行步骤413;

步骤413:接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2;

步骤414:接收到数据请求消息的数据路由器执行步骤416;

步骤415:接收到数据请求消息的数据路由器查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值不大于数据请求消息中距离域值的路由转发表项,针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该路由转发表项中的距离域值;接收到数据请求消息的数据路由器从该路由转发表项中的接口域发送该数据请求消息;接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤409;

步骤416:数据路由器或者数据消费者从接口f3接收到数据确认消息,如果是数据路由器接收到数据确认消息,则执行步骤417,否则执行步骤418;

步骤417:接收到数据确认消息的数据路由器从待处理表中选择所有数据名称域值为N1的待处理表项,针对每个选择的待处理表项,接收到数据确认消息的数据路由器从该待处理表项中的接口域发送接收到的数据确认消息,接收到数据确认消息的数据路由器删除所有数据名称域值为N1的待处理表项,执行步骤416;

步骤418:接收到数据确认消息的数据消费者X1获取并保存数据确认消息中的数据C1;

步骤419:结束。

说明书

技术领域

本发明涉及一种数据通信方法,尤其涉及的是一种可靠的网络数据通信方法。

背景技术

网络已经成为人类生活中不可缺少的一部分,它提供多种数据服务,因此降低数据通信延迟尤为重要。近年来,很多研究工作致力于网络的数据通信工作,以便使人们能够快速获取网络服务。随着移动网络技术的发展,网络的数据通信技术会进一步提高服务质量。

目前,网络的数据通信延迟和代价都比较大,降低了网络服务性能。因此,如何降低网络的数据通信的延迟和代价成为近年来研究的热点问题。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种可靠的网络数据通信方法。

技术方案:本发明公开了一种可靠的网络数据通信方法,其特征在于,所述网络包括两个以上的节点和两个以上的数据路由器,数据路由器具有路由转发功能,节点不具有路由转发功能;一种类型的数据由一个数据名称唯一定义;数据消费者为有权限获取一种类型的数据的节点,数据提供者为有权提供一种类型的数据的节点;

一种消息由消息类型唯一定义,消息类型如下所示:

创建消息的消息类型域值为1,由数据名称域,距离域,消息类型域构成;

数据请求消息的消息类型域值为2,由数据名称域,距离域,消息类型域构成;

数据确认消息的消息类型域值为3,由数据名称域,距离域,消息类型域以及负载构成;

删除消息的消息类型域值为4,由数据名称集合域,消息类型域构成;

数据路由器维护一个路由转发表,一个路由转发表项由接口域值,数据名称域值,距离域值构成;其中,接口域指向到达数据提供者的下一跳,数据名称域值为目标数据的数据名称,距离域值是保存路由转发表的数据路由器与数据提供者之间的跳数;

在数据C1由数据名称N1定义,数据提供者P1通过自己的接口j与本地数据路由器相连的条件下,数据提供者P1产生数据C1后,执行下述过程建立路由转发表:

步骤101:开始;

步骤102:数据提供者P1构建创建消息,该创建消息的数据名称域值为N1,消息类型为1,距离域值为0,然后数据提供者P1通过自己的接口j发送该创建消息;

步骤103:如果是数据提供者或者数据消费者接收到创建消息,则执行步骤111,否则执行步骤104;

步骤104:数据路由器从自己接口k接收到创建消息后将创建消息中的距离域值递增1,然后查看路由转发表判断是否存在数据名称域值为N1的表项,如果存在,执行步骤106,否则执行步骤105;

步骤105:接收到创建消息的数据路由器创建一个路由转发表项,该路由转发表项的数据名称域值为N1,接口域值为k,距离域值为创建消息中的距离域值,最后接收到创建消息的数据路由器从每个没有接收到创建消息的接口转发该创建消息,执行步骤110;

步骤106:接收到创建消息的数据路由器查看数据名称域值为N1的路由转发表项中的距离域值是否等于或者小于接收到的创建消息中的距离域值,如果是,执行步骤107,否则执行步骤108;

步骤107:接收到创建消息的数据路由器放弃接收到的创建消息,执行步骤110;

步骤108:接收到创建消息的数据路由器更新数据名称域值为N1的路由转发表项,即将该路由转发表项的接口域值更新为k,距离域值更新为创建消息中的距离域值,如果从每个接口都接收到了创建消息,那么执行步骤110,否则执行步骤109;

步骤109:接收到创建消息的数据路由器从每个没有接收到创建消息的接口转发该创建消息;

步骤110:重复步骤103~107直到所有的数据路由器符合条件1为止;

条件1:数据名称域值为N1的路由转发表项中的距离域值等于或者小于所有接收到的创建消息中的距离域值;

步骤111:结束。

上述过程能够快速建立路由从而使得数据消费者能够快速获取所需数据。

本发明所述方法中,数据路由器维护一个待处理表,一个待处理表项由接口域和数据名称域构成,接口域指向到达数据消费者的下一跳,数据名称域值为目标数据的数据名称;

数据提供者定期执行步骤101~111建立或者更新数据路由器的路由转发表;

数据路由器R2通过自己的接口f3与邻居数据路由器或者邻居数据提供者相连,如果数据路由器R2检测到该邻居数据路由器或者邻居数据提供者不可达,那么数据路由器R2执行下述过程:

步骤201:开始;

步骤202:数据路由器R2从路由转发表中选择接口域值为f3的所有表项,然后构建一个删除消息,该删除消息的数据名称集合域值为接口域值为f3的所有路由转发表项中的数据名称域值的集合,消息类型为4;数据路由器R2从除了接口f3的所有与数据路由器相连的接口发送删除消息;数据路由器R2删除所有接口域值为f3的路由转发表项;

步骤203:邻居数据路由器从接口f4接收到删除消息,判断是否有接口域值为f4,且数据名称域值等于删除消息中的数据名称集合中任一个元素的路由转发表项,如果有,执行步骤204,否则执行步骤206;

步骤204:接收到删除消息的邻居数据路由器删除接口域值为f4,且数据名称域值等于删除消息中的数据名称集合中任一个元素的路由转发表项;接收到删除消息的邻居数据路由器判断是否从任何一个与其他数据路由器相连的接口都接收到删除消息,如果是,执行步骤206,否则执行步骤205;

步骤205:接收到删除消息的邻居数据路由器从除了接收到删除消息的接口以外的所有与其他数据路由器相连的接口发送删除消息,执行步骤203;

步骤206:结束;

数据路由器删除路由转发表项之后,通过数据提供者定期执行步骤101~111建立路由转发表。

上述过程能够快速更新路由从而使得数据消费者能够正确快速获取所需数据。

本发明所述方法中,数据消费者X1通过自己的接口f与本地数据路由器R1相连,如果网络性能不稳定(例如丢包率超过20%的网络)且部分数据路由器和数据提供者不可达,则数据消费者X1通过下述过程获取数据C1:

步骤301:开始;

步骤302:数据消费者X1构建一个数据请求消息,数据名称域值为N1,消息类型为2,距离域值为0,然后,数据消费者X1从自己的接口f发送该数据请求消息;

步骤303:数据路由器R1从自己的接口f1接收到数据请求消息后,判断待处理表中是否存在数据名称域值为N1的表项,如果是,执行步骤304,否则执行步骤307;

步骤304:数据路由器R1判断待处理表中是否存在数据名称域值为N1且接口域值为f1的表项,如果有,执行步骤306,否则执行步骤305;

步骤305:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤306:数据路由器R1执行步骤318;

步骤307:数据路由器R1查看数据名称域值为N1路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,数据路由器R1将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,然后从该路由转发表项中的接口域发送该数据请求消息;

步骤308:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤309:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤310,否则执行步骤311;

步骤310:接收到数据请求消息的数据提供者创建一个数据确认消息,该数据确认消息的数据名称域值为N1,消息类型为3,距离域值为0,负载为数据C1,然后接收到数据请求消息的数据提供者从接口f2发送该数据确认消息,执行步骤318;

步骤311:接收到数据请求消息的数据路由器将数据请求消息中的距离域值递减1,接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1的表项,如果是,执行步骤312,否则执行步骤315;

步骤312:接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1且接口域值为f2的表项,如果有,执行步骤314,否则执行步骤313;

步骤313:接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2;

步骤314:接收到数据请求消息的数据路由器执行步骤318;

步骤315:接收到数据请求消息的数据路由器查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值不大于数据请求消息中距离域值的路由转发表项,如果这些路由转发表项至少有一个表项符合条件2,那么执行步骤316,否则执行步骤317;

条件2:该路由转发表项中的接口域值所连接的数据路由器或者数据提供者可达,即该路由转发表项中的接口域值所连接的数据路由器或者数据提供者定期发送信标消息;

步骤316:针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该表项中的距离域值;从该路由转发表项中的接口域发送该数据请求消息;数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤309;

步骤317:接收到数据请求消息的数据路由器删除所有数据名称域值为N1,且距离域值不大于数据请求消息中距离域值的路由转发表项;查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,从该表项中的接口域发送该数据请求消息;接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤309;

步骤318:数据路由器或者数据消费者从自己的接口f3接收到数据确认消息,如果是数据路由器接收到数据确认消息,则执行步骤319,否则执行步骤320;

步骤319:接收到数据确认消息的数据路由器从待处理表中选择所有数据名称域值为N1的待处理表项,针对每个选择的待处理表项,数据路由器从该待处理表项中的接口域发送接收到的数据确认消息,然后数据路由器删除所有数据名称域值为N1的待处理表项,执行步骤318;

步骤320:接收到数据确认消息的数据消费者X1获取并保存数据确认消息中的数据C1;

步骤321:结束。

通过上述过程,数据消费者即使在网络不稳定的情况下仍能快速正确地获取所述数据。

本发明所述方法中,在数据消费者X1通过接口f与本地数据路由器R1相连的条件下,如果网络性能稳定且所有数据路由器和数据提供者都可达,那么数据消费者X1通过下述过程获取数据C1:

步骤401:开始;

步骤402:数据消费者X1构建一个数据请求消息,数据名称域值为N1,消息类型为2,距离域值为0,数据消费者X1从接口f发送该数据请求消息;

步骤403:数据路由器R1从自己的接口f1接收到数据请求消息后,判断待处理表中是否存在数据名称域值为N1的待处理表项,如果是,执行步骤404,否则执行步骤407;

步骤404:数据路由器R1判断待处理表中是否存在数据名称域值为N1且接口域值为f1的待处理表项,如果有,执行步骤406,否则执行步骤405;

步骤405:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤406:数据路由器R1执行步骤416;

步骤407:数据路由器R1查看数据名称域值为N1路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,数据路由器R1将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,然后从该路由转发表项中的接口域发送该数据请求消息;

步骤408:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤409:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤410,否则执行步骤411;

步骤410:接收到数据请求消息的数据提供者创建一个数据确认消息,该数据确认消息的数据名称域值为N1,消息类型为3,距离域值为0,负载为数据C1,接收到数据请求消息的数据提供者从自己的接口f2发送该数据确认消息,执行步骤416;

步骤411:接收到数据请求消息的数据路由器将数据请求消息中的距离域值递减1,数据路由器判断待处理表中是否存在数据名称域值为N1的路由转发表项,如果是,执行步骤412,否则执行步骤415;

步骤412:接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1且接口域值为f2的路由转发表项,如果有,执行步骤414,否则执行步骤413;

步骤413:接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2;

步骤414:接收到数据请求消息的数据路由器执行步骤416;

步骤415:接收到数据请求消息的数据路由器查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值不大于数据请求消息中距离域值的路由转发表项,针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该路由转发表项中的距离域值;接收到数据请求消息的数据路由器从该路由转发表项中的接口域发送该数据请求消息;接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤409;

步骤416:数据路由器或者数据消费者从接口f3接收到数据确认消息,如果是数据路由器接收到数据确认消息,则执行步骤417,否则执行步骤418;

步骤417:接收到数据确认消息的数据路由器从待处理表中选择所有数据名称域值为N1的待处理表项,针对每个选择的待处理表项,接收到数据确认消息的数据路由器从该待处理表项中的接口域发送接收到的数据确认消息,接收到数据确认消息的数据路由器删除所有数据名称域值为N1的待处理表项,执行步骤416;

步骤418:接收到数据确认消息的数据消费者X1获取并保存数据确认消息中的数据C1;

步骤419:结束。

通过上述过程,数据消费者能够快速正确地获取所述数据,从而大幅度提高了数据通信性能。

有益效果:本发明提供了一种可靠的网络数据通信方法,数据消费者通过本发明所提供的网络数据通信方法能够快速获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测以及获取各种多媒体数据等领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的路由建立流程示意图。

图2为本发明所述的路由更新流程示意图。

图3为本发明所述的在网络不稳定情况下获取数据的流程示意图。

图4为本发明所述的在网络稳定情况下获取数据的流程示意图。

具体实施方式:

本发明提供了一种可靠的网络数据通信方法,数据消费者通过本发明所提供的网络数据通信方法能够快速获取服务数据,缩短了获取服务数据的延迟和代价,提高了服务质量,本发明可应用于道路路况监测以及获取各种多媒体数据等领域,具有广泛的应用前景。

图1为本发明所述的路由建立流程示意图。所述网络包括两个以上的节点和两个以上的数据路由器,数据路由器具有路由转发功能,节点不具有路由转发功能;一种类型的数据由一个数据名称唯一定义;数据消费者为有权限获取一种类型的数据的节点,数据提供者为有权提供一种类型的数据的节点;

一种消息由消息类型唯一定义,消息类型如下所示:

创建消息的消息类型域值为1,由数据名称域,距离域,消息类型域构成;

数据请求消息的消息类型域值为2,由数据名称域,距离域,消息类型域构成;

数据确认消息的消息类型域值为3,由数据名称域,距离域,消息类型域以及负载构成;

删除消息的消息类型域值为4,由数据名称集合域,消息类型域构成;

数据路由器维护一个路由转发表,一个路由转发表项由接口域值,数据名称域值,距离域值构成;其中,接口域指向到达数据提供者的下一跳,数据名称域值为目标数据的数据名称,距离域值是保存路由转发表的数据路由器与数据提供者之间的跳数;

在数据C1由数据名称N1定义,数据提供者P1通过自己的接口j与本地数据路由器相连的条件下,数据提供者P1产生数据C1后,执行下述过程建立路由转发表:

步骤101:开始;

步骤102:数据提供者P1构建创建消息,该创建消息的数据名称域值为N1,消息类型为1,距离域值为0,然后数据提供者P1通过自己的接口j发送该创建消息;

步骤103:如果是数据提供者或者数据消费者接收到创建消息,则执行步骤111,否则执行步骤104;

步骤104:数据路由器从自己接口k接收到创建消息后将创建消息中的距离域值递增1,然后查看路由转发表判断是否存在数据名称域值为N1的表项,如果存在,执行步骤106,否则执行步骤105;

步骤105:接收到创建消息的数据路由器创建一个路由转发表项,该路由转发表项的数据名称域值为N1,接口域值为k,距离域值为创建消息中的距离域值,最后接收到创建消息的数据路由器从每个没有接收到创建消息的接口转发该创建消息,执行步骤110;

步骤106:接收到创建消息的数据路由器查看数据名称域值为N1的路由转发表项中的距离域值是否等于或者小于接收到的创建消息中的距离域值,如果是,执行步骤107,否则执行步骤108;

步骤107:接收到创建消息的数据路由器放弃接收到的创建消息,执行步骤110;

步骤108:接收到创建消息的数据路由器更新数据名称域值为N1的路由转发表项,即将该路由转发表项的接口域值更新为k,距离域值更新为创建消息中的距离域值,如果从每个接口都接收到了创建消息,那么执行步骤110,否则执行步骤109;

步骤109:接收到创建消息的数据路由器从每个没有接收到创建消息的接口转发该创建消息;

步骤110:重复步骤103~107直到所有的数据路由器符合条件1为止;

条件1:数据名称域值为N1的路由转发表项中的距离域值等于或者小于所有接收到的创建消息中的距离域值;

步骤111:结束。

上述过程能够快速建立路由从而使得数据消费者能够快速获取所需数据。

图2为本发明所述的路由更新流程示意图。数据路由器维护一个待处理表,一个待处理表项由接口域和数据名称域构成,接口域指向到达数据消费者的下一跳,数据名称域值为目标数据的数据名称;

数据提供者定期执行步骤101~111建立或者更新数据路由器的路由转发表;

数据路由器R2通过自己的接口f3与邻居数据路由器或者邻居数据提供者相连,如果数据路由器R2检测到该邻居数据路由器或者邻居数据提供者不可达,那么数据路由器R2执行下述过程:

步骤201:开始;

步骤202:数据路由器R2从路由转发表中选择接口域值为f3的所有表项,然后构建一个删除消息,该删除消息的数据名称集合域值为接口域值为f3的所有路由转发表项中的数据名称域值的集合,消息类型为4;数据路由器R2从除了接口f3的所有与数据路由器相连的接口发送删除消息;数据路由器R2删除所有接口域值为f3的路由转发表项;

步骤203:邻居数据路由器从接口f4接收到删除消息,判断是否有接口域值为f4,且数据名称域值等于删除消息中的数据名称集合中任一个元素的路由转发表项,如果有,执行步骤204,否则执行步骤206;

步骤204:接收到删除消息的邻居数据路由器删除接口域值为f4,且数据名称域值等于删除消息中的数据名称集合中任一个元素的路由转发表项;接收到删除消息的邻居数据路由器判断是否从任何一个与其他数据路由器相连的接口都接收到删除消息,如果是,执行步骤206,否则执行步骤205;

步骤205:接收到删除消息的邻居数据路由器从除了接收到删除消息的接口以外的所有与其他数据路由器相连的接口发送删除消息,执行步骤203;

步骤206:结束;

数据路由器删除路由转发表项之后,通过数据提供者定期执行步骤101~111建立路由转发表。

上述过程能够快速更新路由从而使得数据消费者能够正确快速获取所需数据。

图3为本发明所述的在网络不稳定情况下获取数据的流程示意图。数据消费者X1通过自己的接口f与本地数据路由器R1相连,如果网络性能不稳定(例如丢包率超过20%的网络)且部分数据路由器和数据提供者不可达,则数据消费者X1通过下述过程获取数据C1:

步骤301:开始;

步骤302:数据消费者X1构建一个数据请求消息,数据名称域值为N1,消息类型为2,距离域值为0,然后,数据消费者X1从自己的接口f发送该数据请求消息;

步骤303:数据路由器R1从自己的接口f1接收到数据请求消息后,判断待处理表中是否存在数据名称域值为N1的表项,如果是,执行步骤304,否则执行步骤307;

步骤304:数据路由器R1判断待处理表中是否存在数据名称域值为N1且接口域值为f1的表项,如果有,执行步骤306,否则执行步骤305;

步骤305:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤306:数据路由器R1执行步骤318;

步骤307:数据路由器R1查看数据名称域值为N1路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,数据路由器R1将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,然后从该路由转发表项中的接口域发送该数据请求消息;

步骤308:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤309:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤310,否则执行步骤311;

步骤310:接收到数据请求消息的数据提供者创建一个数据确认消息,该数据确认消息的数据名称域值为N1,消息类型为3,距离域值为0,负载为数据C1,然后接收到数据请求消息的数据提供者从接口f2发送该数据确认消息,执行步骤318;

步骤311:接收到数据请求消息的数据路由器将数据请求消息中的距离域值递减1,接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1的表项,如果是,执行步骤312,否则执行步骤315;

步骤312:接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1且接口域值为f2的表项,如果有,执行步骤314,否则执行步骤313;

步骤313:接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2;

步骤314:接收到数据请求消息的数据路由器执行步骤318;

步骤315:接收到数据请求消息的数据路由器查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值不大于数据请求消息中距离域值的路由转发表项,如果这些路由转发表项至少有一个表项符合条件2,那么执行步骤316,否则执行步骤317;

条件2:该路由转发表项中的接口域值所连接的数据路由器或者数据提供者可达,即该路由转发表项中的接口域值所连接的数据路由器或者数据提供者定期发送信标消息;

步骤316:针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该表项中的距离域值;从该路由转发表项中的接口域发送该数据请求消息;数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤309;

步骤317:接收到数据请求消息的数据路由器删除所有数据名称域值为N1,且距离域值不大于数据请求消息中距离域值的路由转发表项;查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,从该表项中的接口域发送该数据请求消息;接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤309;

步骤318:数据路由器或者数据消费者从自己的接口f3接收到数据确认消息,如果是数据路由器接收到数据确认消息,则执行步骤319,否则执行步骤320;

步骤319:接收到数据确认消息的数据路由器从待处理表中选择所有数据名称域值为N1的待处理表项,针对每个选择的待处理表项,数据路由器从该待处理表项中的接口域发送接收到的数据确认消息,然后数据路由器删除所有数据名称域值为N1的待处理表项,执行步骤318;

步骤320:接收到数据确认消息的数据消费者X1获取并保存数据确认消息中的数据C1;

步骤321:结束。

通过上述过程,数据消费者即使在网络不稳定的情况下仍能快速正确地获取所述数据。

图4为本发明所述的在网络稳定情况下获取数据的流程示意图。在数据消费者X1通过接口f与本地数据路由器R1相连的条件下,如果网络性能稳定且所有数据路由器和数据提供者都可达,那么数据消费者X1通过下述过程获取数据C1:

步骤401:开始;

步骤402:数据消费者X1构建一个数据请求消息,数据名称域值为N1,消息类型为2,距离域值为0,数据消费者X1从接口f发送该数据请求消息;

步骤403:数据路由器R1从自己的接口f1接收到数据请求消息后,判断待处理表中是否存在数据名称域值为N1的待处理表项,如果是,执行步骤404,否则执行步骤407;

步骤404:数据路由器R1判断待处理表中是否存在数据名称域值为N1且接口域值为f1的待处理表项,如果有,执行步骤406,否则执行步骤405;

步骤405:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤406:数据路由器R1执行步骤416;

步骤407:数据路由器R1查看数据名称域值为N1路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值最小的路由转发表项,针对每个选择的路由转发表项,数据路由器R1将数据请求消息中的距离域值设置为该路由转发表项中的距离域值,然后从该路由转发表项中的接口域发送该数据请求消息;

步骤408:数据路由器R1创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f1;

步骤409:数据路由器或者数据提供者从自己的接口f2接收到数据请求消息,如果是数据提供者接收到数据请求消息,则执行步骤410,否则执行步骤411;

步骤410:接收到数据请求消息的数据提供者创建一个数据确认消息,该数据确认消息的数据名称域值为N1,消息类型为3,距离域值为0,负载为数据C1,接收到数据请求消息的数据提供者从自己的接口f2发送该数据确认消息,执行步骤416;

步骤411:接收到数据请求消息的数据路由器将数据请求消息中的距离域值递减1,数据路由器判断待处理表中是否存在数据名称域值为N1的路由转发表项,如果是,执行步骤412,否则执行步骤415;

步骤412:接收到数据请求消息的数据路由器判断待处理表中是否存在数据名称域值为N1且接口域值为f2的路由转发表项,如果有,执行步骤414,否则执行步骤413;

步骤413:接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2;

步骤414:接收到数据请求消息的数据路由器执行步骤416;

步骤415:接收到数据请求消息的数据路由器查看数据名称域值为N1的路由转发表项,从数据名称域值为N1的路由转发表项中选择距离域值不大于数据请求消息中距离域值的路由转发表项,针对每个选择的路由转发表项,接收到数据请求消息的数据路由器将数据请求消息中的距离域值设置为该路由转发表项中的距离域值;接收到数据请求消息的数据路由器从该路由转发表项中的接口域发送该数据请求消息;接收到数据请求消息的数据路由器创建一个待处理表项,该待处理表项的数据名称域值为N1,接口域值为f2,执行步骤409;

步骤416:数据路由器或者数据消费者从接口f3接收到数据确认消息,如果是数据路由器接收到数据确认消息,则执行步骤417,否则执行步骤418;

步骤417:接收到数据确认消息的数据路由器从待处理表中选择所有数据名称域值为N1的待处理表项,针对每个选择的待处理表项,接收到数据确认消息的数据路由器从该待处理表项中的接口域发送接收到的数据确认消息,接收到数据确认消息的数据路由器删除所有数据名称域值为N1的待处理表项,执行步骤416;

步骤418:接收到数据确认消息的数据消费者X1获取并保存数据确认消息中的数据C1;

步骤419:结束。

通过上述过程,数据消费者能够快速正确地获取所述数据,从而大幅度提高了数据通信性能。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中的一种可靠的网络数据通信方法,性能分析如下:当数据提供者数量增加时,随着数据提供者密度的增加,分布面积更广泛,因此获取服务数据的延迟和代价都随之下降。数据消费者获取服务数据的平均延迟为120ms,平均代价为8。

表1仿真参数

本发明提供了一种可靠的网络数据通信方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

一种可靠的网络数据通信方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部