CN107979645B - 一种物联网实现方法 - Google Patents
一种物联网实现方法 Download PDFInfo
- Publication number
- CN107979645B CN107979645B CN201711274620.4A CN201711274620A CN107979645B CN 107979645 B CN107979645 B CN 107979645B CN 201711274620 A CN201711274620 A CN 201711274620A CN 107979645 B CN107979645 B CN 107979645B
- Authority
- CN
- China
- Prior art keywords
- address
- data
- interface
- message
- table entry
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/126—Shortest path evaluation minimising geographical or physical path length
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/742—Route cache; Operation thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/748—Address table lookup; Address filtering using longest matching prefix
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/20—Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种物联网实现方法,所述物联网包括移动设备、接入路由器和接入节点构成;每个移动设备配置X个无线接口,X取值为自然数,每个接口由接口ID f唯一标识,f取值1…X,接口ID为f的接口简写为接口f。移动设备通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
Description
技术领域
本发明涉及一种实现方法,尤其涉及的是一种物联网实现方法。
背景技术
在典型的物联网构架中,一个电子标签具有全球唯一的电子编码,将其附着在物品上标识目标对象。目前的物联网架构能够很好地跟踪目标对象,但仍存在以下不足:
1)用户只能通过数据库服务器来获取目标对象信息,无法实现与目标对象直接地点到点通信;
2)用户只能查询目标对象的信息,无法直接控制目标对象的状态;
3)目标对象信息只能通过读写器被动地读取,目标对象无法根据当前的状态主动请求数据更新或发出警报信息。
本发明克服了上述不足,从而实现物联网数据的实时通信。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种物联网实现方法。
技术方案:本发明公开了一种物联网实现方法,所述物联网包括移动设备、接入路由器和接入节点构成;每个移动设备配置X个无线接口,X取值为自然数,每个接口由接口IDf唯一标识,f取值1…X,接口ID为f的接口简写为接口f;一个接入节点配置一个上游有线接口和一个下游无线接口;一个接入路由器配置一个上游有线接口和Y个下游有线接口,Y≥X,上游有线接口与互联网骨干网相连,每个下游有线接口与一个接入节点的上游有线接口相连,每个下游有线接口由接口ID j唯一标识,j=1…Y;接入节点的下游接口与移动设备的接口链路相连;一种数据保存在两个以上的服务器上,所有保存该数据的服务器构成一个任播组,所有任播组的服务器共享一个任播地址,该任播地址预先设置,例如3ef8:abc:a:cde::4fd6,该种数据由该任播地址唯一标识,由U个数据块构成,U为正整数,每个数据块由数据块ID c唯一标识,c取值1…U;
互联网骨干网包括核心路由器,核心路由器的每个接口与另一个核心路由器或者接入路由器相连;接入路由器、接入节点和移动设备为每个接口配置一个地址,一个地址由i比特的前缀,j比特的地理坐标,k比特的接入节点ID和128-i-j-k比特的设备ID构成,i、j、k为不大于32的正整数;
每个核心路由器维护一个转发表,每个接入路由器维护一个转发表;一个转发表项包含数据ID域,数据块ID集合域,距离域和接口ID域;
在数据D1的数据ID为A1,任播地址为A1的服务器产生数据D1的一个以上的数据块后,任播地址为A1的服务器构建一个数据块ID集合,所述数据块ID集合由产生的数据块的数据块ID构成,然后该服务器执行下述操作:
步骤101:开始;
步骤102:服务器设置一个参数Hop,其初始值为0,并发送一个转发消息,该转发消息的源地址为该服务器的地址,目的地址为广播地址,负载为数据ID A1、数据块ID集合以及参数Hop;
步骤103:如果一个接入路由器从自己的下游接口f1接收到该转发消息,则执行步骤104,否则执行步骤106;
步骤104:步骤103中的接入路由器将接收到的转发消息负载中的参数Hop值递增1,如果接入路由器存在一个如下转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,且接口ID等于f1,则执行步骤115,否则执行步骤105;
步骤105:接收到转发消息的接入路由器从上游接口转发接收到的转发消息,创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f1,距离域值等于转发消息中参数Hop的值,执行步骤103;
步骤106:如果一个接入路由器从自己的上游接口f2接收到转发消息,则执行步骤107,否则执行步骤111;
步骤107:接入路由器将接收到的转发消息负载中的参数Hop值递增1,如果接入路由器存在一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合,且接口ID等于f2,则执行步骤108,否则执行步骤110;
步骤108:如果数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合,且接口ID等于f2的转发表项的距离域值大于转发消息负载中的参数Hop,则执行步骤109,否则执行步骤115;
步骤109:接入路由器选择数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合且接口ID等于f2的转发表项,将该转发表项的距离域值设置为转发消息负载中的参数Hop值,执行步骤115;
步骤110:接收到转发消息的接入路由器创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f2,距离域值等于转发消息中的参数Hop值,执行步骤115;
步骤111:核心路由器从自己的接口f3接收到转发消息后,将转发消息负载中的参数Hop递增1,如果存在一个转发表项,该转发表项的数据ID和数据块ID集合等于接收到的转发消息负载中的数据ID和数据块ID集合,则执行步骤112,否则执行步骤114;
步骤112:核心路由器选中转发表项,该转发表项的数据ID和数据块ID集合等于接收到的转发消息负载中的数据ID和数据块ID集合,如果该转发表项的距离域值大于转发消息负载中的参数Hop,则执行步骤113,否则执行步骤115;
步骤113:核心路由器选择数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合的转发表项,将该转发表项的距离域值设置为转发消息负载中的参数Hop值,将该转发表项的接口ID域值设置为f3,然后从除了接口f3以外的所有接口转发该转发消息,执行步骤103;
步骤114:接收到转发消息的接入路由器创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f3,距离域值等于转发消息中的参数Hop值,然后从除了接口f3以外的所有接口转发该转发消息,执行步骤103;
步骤115:结束。
上述过程能够快速建立路由从而用户能够快速获取物联网产生的数据。
本发明所述方法中,接入路由器所有接口的网络前缀相同且预先设置,例如3efd:f:eeef:abcd::/64;所述物联网中的每个接入路由器配置一个上游接口和Y个下游接口,接入路由器的上游接口的接口ID为Y+1;接入路由器启动后,为上游接口和每个下游接口配置一个地址,该地址的网络前缀为预先设置的网络前缀,设备ID为该上游接口或者下游接口的接口ID;接入路由器为每个下游接口配置地址后,从该下游接口发送一个配置消息,该配置消息的源地址为该下游接口的地址;接入节点从上游接口接收到配置消息后,分别为上游接口和下游接口配置一个地址,在下游接口的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,地理坐标为接入节点当前的地理坐标,设备ID为0,接入节点ID为接收到的配置消息的源地址的设备ID;接入节点为下游节点配置地址后,通过下游接口定期发送配置消息,该配置消息的源地址为该下游接口的地址;在上游接口的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,地理坐标和设备ID均为0,接入节点ID为接收到的配置消息的源地址的设备ID;
移动设备配置一个地址之前,为每个接口配置一个临时地址,在该临时地址中,网络前缀和接入节点ID为0,地理坐标为当前移动设备的地理坐标,设备ID为一个随机数;移动设备为每个接口配置一个临时地址后,从每个接口定期发送一个信标消息,该信标消息的源地址为该接口的临时地址;
移动设备维护一个地址表,该地址表项包含接口ID域,接入节点地址域,移动设备地址域和生命周期域,移动路由器保存一个设备ID集合用于保存已经分配的设备ID;移动设备启动后,通过每个接口侦听配置消息;如果移动设备M1从自己的接口f4接收到配置消息,则执行如下操作为接口f4配置地址:
步骤201:开始;
步骤202:移动设备M1查看地址表,如果存在一个地址表项,该地址表项的接口ID域值等于f4,接入节点地址域值等于接收到的配置消息的源地址,则执行步骤203,否则执行步骤204;
步骤203:移动设备M1选择接口ID域值等于f4且接入节点地址域值等于接收到的配置消息的源地址的地址表项,将该地址表项的生命周期域值设置为最大值,执行步骤210;
步骤204:如果存在一个地址表项,该地址表项的移动设备地址域值的网络前缀等于接收到的配置消息的源地址的网络前缀,则执行步骤205,否则执行步骤206;
步骤205:移动设备M1选择移动设备地址域值的网络前缀等于接收到的配置消息的源地址的网络前缀的地址表项,然后创建一个地址,该地址的网络前缀和接入节点ID域值分别等于接收到的配置消息的源地址的网络前缀和接入节点ID,地理坐标等于移动设备M1的当前地理坐标,设备ID等于该地址表项的移动设备地址域值的设备ID;移动设备M1创建一个地址表项,该地址表项的接口ID域值等于f4,接入节点地址域值等于接收到的配置消息的源地址,移动设备地址域值等于构建的地址,执行步骤210;
步骤206:移动设备M1创建一个随机数r1,从接口f4发送一个地址配置消息,该地址配置消息的负载为随机数r,该地址配置消息的源地址中,网络前缀和接入节点ID等于接收到的配置消息的源地址的网络前缀和接入节点ID,地理坐标和设备ID分别等于移动设备M1临时地址的地理坐标和设备ID,该地址配置消息的目的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,接入节点ID和地理坐标为0,设备ID等于接收到的配置消息的源地址的接入节点ID;基于该地址配置消息的源地址,该地址配置消息最终到达源接入节点,即网络前缀和接入节点ID等于该地址配置消息的源地址的网络前缀和接入节点ID的接入节点;源接入节点将接收到的地址配置消息转发到相连的目的路由器;目的接入路由器接收到地址配置消息后,随机选择一个不在目的接入路由器的设备ID集合中的随机数r2,然后从接收到的地址配置消息的源地址的接入节点ID所标识的下游接口发送一个配置响应消息,该配置响应消息的源地址为接收到的地址配置消息的目的地址,目的地址为接收到的地址配置消息的源地址,负载为接收到的地址配置消息负载中随机数r1和选择的随机数r2;目的接入路由器将随机数r2加入到设备ID集合中;接入节点从上游接口接收到配置响应消息后,从下游接口转发接收到的配置响应消息;
步骤207:根据配置响应消息的目的地址的地理坐标,最终目的移动设备从接口f4接收到配置响应消息,如果该目的移动设备发送的地址配置消息中的随机数与接收到的配置响应消息中的随机数r1相同,则执行步骤209,否则208;
步骤208:目的移动设备丢弃接收到的配置响应消息,执行步骤210;
步骤209:目的移动设备构建一个地址,该地址的网络前缀和接入节点ID分别等于接收到的配置响应消息的目的地址的网络前缀和接入节点ID,地理坐标为该移动设备当前的地理坐标,设备ID为接收到的配置响应消息负载中的随机数r2;目的移动设备创建一个地址表项,该地址表项的接口ID为f4,移动设备地址域值为构建的地址,生命周期为最大值,接入节点地址域值为接收到的配置消息的源地址;
步骤210:结束。
移动设备通过上述过程能够快速配置地址从而实现数据通信。
本发明所述方法中,移动设备从接口f接收到配置消息后,如果该移动设备在一个接入节点的一跳范围内且该接入节点的地址不等于接收到的配置消息的源地址,则停止转发该配置消息,否则从接口f转发该配置消息;
如果移动设备M1检测到一个地址表项E1的生命周期衰减为0,则执行下述操作:
步骤301:开始;
步骤302:移动设备M1判断是否存在一个地址表项,该地址表项不是地址表项E1且移动设备地址域值的网络前缀等于地址表项E1的移动设备的网络前缀,如果是,则执行步骤307,否则执行步骤303;
步骤303:移动设备M1构建一个地址,该地址的网络前缀等于地址表项E1的接入节点地址的网络前缀,地理坐标和接入节点ID为0,设备ID为地址表项E1的接入节点地址的接入节点ID;从地址表项选择一个符合如下条件的地址表项,该地址表项不等于地址表项E1且接入节点地址域值的地理坐标距离移动设备M1最近;移动设备M1通过选择的地址表项的接入节点地址域值的接入节点ID所标识的接口发送地址回收消息,该地址回收消息的源地址为选择的地址表项的移动设备地址域值,目的地址为构建的地址,负载为地址表项E1的移动设备地址域值;移动设备M1从地址表中删除地址表项E1;
步骤304:根据地址回收消息的源地址,该地址回收消息最终到达源接入节点,即地址中的网络前缀与接入节点ID与该地址回收消息的源地址的网络前缀和接入节点ID相同的接入节点;源接入节点通过上游接口将地址回收消息转发给相连的接入路由器,接入路由器从下游接口接收到该地址回收消息后,判断自己是否为目的接入路由器,即该地址回收消息负载中的地址的网络前缀是否等于自己的网络前缀,如果是,则执行步骤306,否则执行步骤305;
步骤305:接收到地址回收消息的接入路由器通过上游接口转发接收到的地址回收消息,该地址回收消息通过互联网骨干网最终到达目的接入路由器,即地址的网络前缀等于地址回收消息的目的地址的网络前缀的接入路由器;
步骤306:目的接入路由器从自己的设备ID集合中删除接收到的地址回收消息中的地址的设备ID;
步骤307:结束。
上述过程能够实时更新地址表从而确保通信的正确性和实时性。
本发明所述方法中,在数据D1由数据ID A1唯一标识,数据D1由U个数据块构成,一个数据块由数据块ID c唯一标识,c取值1~U,一个接入路由器或者核心路由器保存一个请求表,一个请求表项由数据ID域,数据块ID域,接口ID域和地址域值构成;保存数据D1的所有服务器构成一个任播组,该任播组的地址为A1的条件下,如果移动设备M1需要获取数据D1的一个数据块,该数据块的数据块ID为c1,则执行下述操作:
步骤401:开始;
步骤402:移动设备M1创建一个网络前缀集合P1,网络前缀集合P1由移动设备M1的地址表中所有地址表项的接入节点地址域值的网络前缀构成;
步骤403:移动设备M1从网络前缀集合P1中选取一个最小的网络前缀,然后选择一个地址表项,该地址表项的接入节点地址的网络前缀等于选取的网络前缀且接入节点地址的地理坐标距离移动设备M1最近;移动设备M1构建一个地址,该地址的网络前缀为选取的地址表项的接入节点地址域值的网络前缀,设备ID等于选取的地址表项的接入节点地址域值的接入节点ID,地理坐标和接入节点ID等于0;移动设备M1创建一个请求消息,该请求消息的源地址为选取的地址表项的移动设备地址域值,目的地址为构建的地址,负载为数据ID A1和数据块ID c1,移动设备M1从该地址表项的接口ID所标识的接口发送该请求消息;
步骤404:目的接入路由器通过下游接口x1接收到该请求消息后,创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID等于x1,地址域值等于接收到的请求消息的源地址;如果目的接入路由器只有一个数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,且接口ID等于x1的请求表项,则执行步骤405,否则执行步骤413;
步骤405:目的接入路由器从上游接口发送数据请求消息,该数据请求消息中,源地址为目的接入路由器的上游接口的地址,目的地址为地址A1,负载为接收到的请求消息中的负载;
步骤406:接入路由器或者核心路由器从接口x2接收到数据请求消息后,如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于x2的请求表项,则执行步骤413,否则执行步骤407;
步骤407:从接口x2接收到数据请求消息的接入路由器或者核心路由器如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,则执行步骤408,否则执行步骤409;
步骤408:从接口x2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为x2,地址域值为0,执行步骤413;
步骤409:从接口x2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为x2,地址域值为0;如果接入路由器从接口x2接收到数据请求消息,则执行步骤411,否则执行步骤410;
步骤410:从接口x2接收到数据请求消息的核心路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,执行步骤406;
步骤411:从接口x2接收到数据请求消息的接入路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,最终该数据请求消息到达地址为A1的服务器;
步骤412:地址为A1的服务器发送一个数据响应消息,该数据响应消息的负载包括接收到的数据请求消息中的数据ID和数据块ID以及该数据ID和数据块ID所标识的数据块,源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址;
步骤413:如果接入路由器从上游接口接收到数据响应消息后,执行步骤415,否则执行步骤414;
步骤414:接收到数据响应消息的接入路由器或者核心路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器或者核心路由器执行下述操作:从该请求表项的接口ID所标识的接口转发接收到的数据响应消息,从请求表中删除该请求表项,执行步骤413;
步骤415:从上游接口接收到数据响应消息的接入路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器执行下述操作:构建一个响应消息,该响应消息的源地址为接收到的数据响应消息的源地址,目的地址为该请求表项的地址域值,负载为接收到的数据响应消息的负载,从该请求表项的接口ID所标识的接口发送该响应消息,从请求表中删除该请求表项;
步骤416:根据目的地址的地理坐标,最终目的移动设备接收到响应消息,目的移动设备保存响应消息的数据块;
步骤417:结束。
移动设备通过上述过程能够快速获取。
本发明所述方法中,在数据D1由数据ID A1唯一标识,由U个数据块构成,一个数据块由数据块ID c唯一标识,c取值1~U,保存数据D1的所有服务器构成一个任播组,该任播组的地址为A1的条件下,如果移动设备M1想获取数据D1的H个数据块,H>1,H个数据块的数据块ID集合为G,则执行下述操作:
步骤501:开始;
步骤502:移动设备M1设置一个变量G1,该变量的初始值为G;
步骤503:移动设备M1创建一个网络前缀集合P1,网络前缀集合P1由移动设备M1的地址表中所有地址表项的接入节点地址域值的网络前缀构成;
步骤504:移动设备M1从集合P1中选取一个最小的网络前缀,然后选择一个地址表项,该地址表项的接入节点地址的网络前缀等于选取的网络前缀且接入节点地址的地理坐标距离移动设备M1最近;移动设备M1构建一个地址,该地址的网络前缀为选取的地址表项的接入节点地址域值的网络前缀,设备ID等于选取的地址表项的接入节点地址域值的接入节点ID,地理坐标和接入节点ID等于0;从集合G1选取最小的数据块ID;移动设备M1创建一个请求消息,该请求消息的源地址为选取的地址表项的移动设备地址域值,目的地址为构建的地址,负载为数据ID A1和选取的数据块ID,移动设备M1从该地址表项的接口ID所标识的接口发送该请求消息;从集合P1中删除选取的最小的网络前缀,从集合G1中删除选取的最小的数据块ID;
步骤505:判断集合G1是否为空,如果是,则执行步骤507,否则执行步骤506;
步骤506:判断集合P1是否为空,如果是,则执行步骤503,否则执行步骤504;
步骤507:目的接入路由器通过下游接口y1接收到该请求消息后,创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID等于x1,地址域值等于接收到的请求消息的源地址;如果目的接入路由器只有一个数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于x1的请求表项,则执行步骤508,否则执行步骤516;
步骤508:目的接入路由器从上游接口发送数据请求消息,该数据请求消息中,源地址为目的接入路由器的上游接口的地址,目的地址为地址A1,负载为接收到的请求消息中的负载;
步骤509:接入路由器或者核心路由器从接口y2接收到数据请求消息后,如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于y2的请求表项,则执行步骤516,否则执行步骤510;
步骤510:从接口y2接收到数据请求消息的接入路由器或者核心路由器如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,则执行步骤511,否则执行步骤512;
步骤511:从接口y2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为y2,地址域值为0,执行步骤516;
步骤512:从接口y2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为y2,地址域值为0;如果接入路由器从接口y2接收到数据请求消息,则执行步骤514,否则执行步骤513;
步骤513:从接口y2接收到数据请求消息的核心路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,执行步骤509;
步骤514:从接口y2接收到数据请求消息的接入路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,最终该数据请求消息到达地址为A1的服务器;
步骤515:地址为A1的服务器发送一个数据响应消息,该数据响应消息的负载包括接收到的数据请求消息中的数据ID和数据块ID以及该数据ID和数据块ID所标识的数据块,源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址;
步骤516:如果接入路由器从上游接口接收到数据响应消息后,执行步骤518,否则执行步骤517;
步骤517:接收到数据响应消息的接入路由器或者核心路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器或者核心路由器执行下述操作:从该请求表项的接口ID所标识的接口转发接收到的数据响应消息,从请求表中删除该请求表项,执行步骤516;
步骤518:从上游接口接收到数据响应消息的接入路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器执行下述操作:构建一个响应消息,该响应消息的源地址为接收到的数据响应消息的源地址,目的地址为该请求表项的地址域值,负载为接收到的数据响应消息的负载,从该请求表项的接口ID所标识的接口发送该响应消息,从请求表中删除该请求表项;
步骤519:根据目的地址的地理坐标,最终目的移动设备接收到响应消息,目的移动设备保存响应消息的数据块;如果移动设备接收到所有H个数据块,则执行步骤520,否则执行步骤518;
步骤520:结束。
移动设备通过上述过程能够快速获取。
有益效果:本发明提供了一种物联网实现方法,移动设备通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的建立转发表流程示意图。
图2为本发明所述移动设备配置地址流程示意图。
图3为本发明所述地址表更新流程示意图。
图4为本发明所述获取数据块流程示意图。
图5为本发明所述获取数据流程示意图。
具体实施方式:
本发明提供了一种物联网实现方法,移动设备通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
图1为本发明所述的建立转发表流程示意图。所述物联网包括移动设备、接入路由器和接入节点构成;每个移动设备配置X个无线接口,X取值为自然数,每个接口由接口ID f唯一标识,f取值1…X,接口ID为f的接口简写为接口f;一个接入节点配置一个上游有线接口和一个下游无线接口;一个接入路由器配置一个上游有线接口和Y个下游有线接口,Y≥X,上游有线接口与互联网骨干网相连,每个下游有线接口与一个接入节点的上游有线接口相连,每个下游有线接口由接口ID j唯一标识,j=1…Y;接入节点的下游接口与移动设备的接口链路相连;一种数据保存在两个以上的服务器上,所有保存该数据的服务器构成一个任播组,所有任播组的服务器共享一个任播地址,该任播地址预先设置,该种数据由该任播地址唯一标识,由U个数据块构成,U为正整数,每个数据块由数据块ID c唯一标识,c取值1…U;
互联网骨干网包括核心路由器,核心路由器的每个接口与另一个核心路由器或者接入路由器相连;接入路由器、接入节点和移动设备为每个接口配置一个地址,一个地址由i比特的前缀,j比特的地理坐标,k比特的接入节点ID和128-i-j-k比特的设备ID构成,i、j、k为不大于32的正整数;
每个核心路由器维护一个转发表,每个接入路由器维护一个转发表;一个转发表项包含数据ID域,数据块ID集合域,距离域和接口ID域;
在数据D1的数据ID为A1,任播地址为A1的服务器产生数据D1的一个以上的数据块后,任播地址为A1的服务器构建一个数据块ID集合,所述数据块ID集合由产生的数据块的数据块ID构成,然后该服务器执行下述操作:
步骤101:开始;
步骤102:服务器设置一个参数Hop,其初始值为0,并发送一个转发消息,该转发消息的源地址为该服务器的地址,目的地址为广播地址,负载为数据ID A1、数据块ID集合以及参数Hop;
步骤103:如果一个接入路由器从自己的下游接口f1接收到该转发消息,则执行步骤104,否则执行步骤106;
步骤104:步骤103中的接入路由器将接收到的转发消息负载中的参数Hop值递增1,如果接入路由器存在一个如下转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,且接口ID等于f1,则执行步骤115,否则执行步骤105;
步骤105:接收到转发消息的接入路由器从上游接口转发接收到的转发消息,创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f1,距离域值等于转发消息中参数Hop的值,执行步骤103;
步骤106:如果一个接入路由器从自己的上游接口f2接收到转发消息,则执行步骤107,否则执行步骤111;
步骤107:接入路由器将接收到的转发消息负载中的参数Hop值递增1,如果接入路由器存在一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合,且接口ID等于f2,则执行步骤108,否则执行步骤110;
步骤108:如果数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合,且接口ID等于f2的转发表项的距离域值大于转发消息负载中的参数Hop,则执行步骤109,否则执行步骤115;
步骤109:接入路由器选择数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合且接口ID等于f2的转发表项,将该转发表项的距离域值设置为转发消息负载中的参数Hop值,执行步骤115;
步骤110:接收到转发消息的接入路由器创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f2,距离域值等于转发消息中的参数Hop值,执行步骤115;
步骤111:核心路由器从自己的接口f3接收到转发消息后,将转发消息负载中的参数Hop递增1,如果存在一个转发表项,该转发表项的数据ID和数据块ID集合等于接收到的转发消息负载中的数据ID和数据块ID集合,则执行步骤112,否则执行步骤114;
步骤112:核心路由器选中转发表项,该转发表项的数据ID和数据块ID集合等于接收到的转发消息负载中的数据ID和数据块ID集合,如果该转发表项的距离域值大于转发消息负载中的参数Hop,则执行步骤113,否则执行步骤115;
步骤113:核心路由器选择数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合的转发表项,将该转发表项的距离域值设置为转发消息负载中的参数Hop值,将该转发表项的接口ID域值设置为f3,然后从除了接口f3以外的所有接口转发该转发消息,执行步骤103;
步骤114:接收到转发消息的接入路由器创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f3,距离域值等于转发消息中的参数Hop值,然后从除了接口f3以外的所有接口转发该转发消息,执行步骤103;
步骤115:结束。
图2为本发明所述移动设备配置地址流程示意图。接入路由器所有接口的网络前缀相同且预先设置;所述物联网中的每个接入路由器配置一个上游接口和Y个下游接口,接入路由器的上游接口的接口ID为Y+1;接入路由器启动后,为上游接口和每个下游接口配置一个地址,该地址的网络前缀为预先设置的网络前缀,设备ID为该上游接口或者下游接口的接口ID;接入路由器为每个下游接口配置地址后,从该下游接口发送一个配置消息,该配置消息的源地址为该下游接口的地址;接入节点从上游接口接收到配置消息后,分别为上游接口和下游接口配置一个地址,在下游接口的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,地理坐标为接入节点当前的地理坐标,设备ID为0,接入节点ID为接收到的配置消息的源地址的设备ID;接入节点为下游节点配置地址后,通过下游接口定期发送配置消息,该配置消息的源地址为该下游接口的地址;在上游接口的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,地理坐标和设备ID均为0,接入节点ID为接收到的配置消息的源地址的设备ID;
移动设备配置一个地址之前,为每个接口配置一个临时地址,在该临时地址中,网络前缀和接入节点ID为0,地理坐标为当前移动设备的地理坐标,设备ID为一个随机数;移动设备为每个接口配置一个临时地址后,从每个接口定期发送一个信标消息,该信标消息的源地址为该接口的临时地址;
移动设备维护一个地址表,该地址表项包含接口ID域,接入节点地址域,移动设备地址域和生命周期域,移动路由器保存一个设备ID集合用于保存已经分配的设备ID;移动设备启动后,通过每个接口侦听配置消息;如果移动设备M1从自己的接口f4接收到配置消息,则执行如下操作为接口f4配置地址:
步骤201:开始;
步骤202:移动设备M1查看地址表,如果存在一个地址表项,该地址表项的接口ID域值等于f4,接入节点地址域值等于接收到的配置消息的源地址,则执行步骤203,否则执行步骤204;
步骤203:移动设备M1选择接口ID域值等于f4且接入节点地址域值等于接收到的配置消息的源地址的地址表项,将该地址表项的生命周期域值设置为最大值,执行步骤210;
步骤204:如果存在一个地址表项,该地址表项的移动设备地址域值的网络前缀等于接收到的配置消息的源地址的网络前缀,则执行步骤205,否则执行步骤206;
步骤205:移动设备M1选择移动设备地址域值的网络前缀等于接收到的配置消息的源地址的网络前缀的地址表项,然后创建一个地址,该地址的网络前缀和接入节点ID域值分别等于接收到的配置消息的源地址的网络前缀和接入节点ID,地理坐标等于移动设备M1的当前地理坐标,设备ID等于该地址表项的移动设备地址域值的设备ID;移动设备M1创建一个地址表项,该地址表项的接口ID域值等于f4,接入节点地址域值等于接收到的配置消息的源地址,移动设备地址域值等于构建的地址,执行步骤210;
步骤206:移动设备M1创建一个随机数r1,从接口f4发送一个地址配置消息,该地址配置消息的负载为随机数r,该地址配置消息的源地址中,网络前缀和接入节点ID等于接收到的配置消息的源地址的网络前缀和接入节点ID,地理坐标和设备ID分别等于移动设备M1临时地址的地理坐标和设备ID,该地址配置消息的目的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,接入节点ID和地理坐标为0,设备ID等于接收到的配置消息的源地址的接入节点ID;基于该地址配置消息的源地址,该地址配置消息最终到达源接入节点,即网络前缀和接入节点ID等于该地址配置消息的源地址的网络前缀和接入节点ID的接入节点;源接入节点将接收到的地址配置消息转发到相连的目的路由器;目的接入路由器接收到地址配置消息后,随机选择一个不在目的接入路由器的设备ID集合中的随机数r2,然后从接收到的地址配置消息的源地址的接入节点ID所标识的下游接口发送一个配置响应消息,该配置响应消息的源地址为接收到的地址配置消息的目的地址,目的地址为接收到的地址配置消息的源地址,负载为接收到的地址配置消息负载中随机数r1和选择的随机数r2;目的接入路由器将随机数r2加入到设备ID集合中;接入节点从上游接口接收到配置响应消息后,从下游接口转发接收到的配置响应消息;
步骤207:根据配置响应消息的目的地址的地理坐标,最终目的移动设备从接口f4接收到配置响应消息,如果该目的移动设备发送的地址配置消息中的随机数与接收到的配置响应消息中的随机数r1相同,则执行步骤209,否则208;
步骤208:目的移动设备丢弃接收到的配置响应消息,执行步骤210;
步骤209:目的移动设备构建一个地址,该地址的网络前缀和接入节点ID分别等于接收到的配置响应消息的目的地址的网络前缀和接入节点ID,地理坐标为该移动设备当前的地理坐标,设备ID为接收到的配置响应消息负载中的随机数r2;目的移动设备创建一个地址表项,该地址表项的接口ID为f4,移动设备地址域值为构建的地址,生命周期为最大值,接入节点地址域值为接收到的配置消息的源地址;
步骤210:结束。
图3为本发明所述地址表更新流程示意图。移动设备从接口f接收到配置消息后,如果该移动设备在一个接入节点的一跳范围内且该接入节点的地址不等于接收到的配置消息的源地址,则停止转发该配置消息,否则从接口f转发该配置消息;
如果移动设备M1检测到一个地址表项E1的生命周期衰减为0,则执行下述操作:
步骤301:开始;
步骤302:移动设备M1判断是否存在一个地址表项,该地址表项不是地址表项E1且移动设备地址域值的网络前缀等于地址表项E1的移动设备的网络前缀,如果是,则执行步骤307,否则执行步骤303;
步骤303:移动设备M1构建一个地址,该地址的网络前缀等于地址表项E1的接入节点地址的网络前缀,地理坐标和接入节点ID为0,设备ID为地址表项E1的接入节点地址的接入节点ID;从地址表项选择一个符合如下条件的地址表项,该地址表项不等于地址表项E1且接入节点地址域值的地理坐标距离移动设备M1最近;移动设备M1通过选择的地址表项的接入节点地址域值的接入节点ID所标识的接口发送地址回收消息,该地址回收消息的源地址为选择的地址表项的移动设备地址域值,目的地址为构建的地址,负载为地址表项E1的移动设备地址域值;移动设备M1从地址表中删除地址表项E1;
步骤304:根据地址回收消息的源地址,该地址回收消息最终到达源接入节点,即地址中的网络前缀与接入节点ID与该地址回收消息的源地址的网络前缀和接入节点ID相同的接入节点;源接入节点通过上游接口将地址回收消息转发给相连的接入路由器,接入路由器从下游接口接收到该地址回收消息后,判断自己是否为目的接入路由器,即该地址回收消息负载中的地址的网络前缀是否等于自己的网络前缀,如果是,则执行步骤306,否则执行步骤305;
步骤305:接收到地址回收消息的接入路由器通过上游接口转发接收到的地址回收消息,该地址回收消息通过互联网骨干网最终到达目的接入路由器,即地址的网络前缀等于地址回收消息的目的地址的网络前缀的接入路由器;
步骤306:目的接入路由器从自己的设备ID集合中删除接收到的地址回收消息中的地址的设备ID;
步骤307:结束。
图4为本发明所述获取数据块流程示意图。在数据D1由数据ID A1唯一标识,数据D1由U个数据块构成,一个数据块由数据块ID c唯一标识,c取值1~U,一个接入路由器或者核心路由器保存一个请求表,一个请求表项由数据ID域,数据块ID域,接口ID域和地址域值构成;保存数据D1的所有服务器构成一个任播组,该任播组的地址为A1的条件下,如果移动设备M1需要获取数据D1的一个数据块,该数据块的数据块ID为c1,则执行下述操作:
步骤401:开始;
步骤402:移动设备M1创建一个网络前缀集合P1,网络前缀集合P1由移动设备M1的地址表中所有地址表项的接入节点地址域值的网络前缀构成;
步骤403:移动设备M1从网络前缀集合P1中选取一个最小的网络前缀,然后选择一个地址表项,该地址表项的接入节点地址的网络前缀等于选取的网络前缀且接入节点地址的地理坐标距离移动设备M1最近;移动设备M1构建一个地址,该地址的网络前缀为选取的地址表项的接入节点地址域值的网络前缀,设备ID等于选取的地址表项的接入节点地址域值的接入节点ID,地理坐标和接入节点ID等于0;移动设备M1创建一个请求消息,该请求消息的源地址为选取的地址表项的移动设备地址域值,目的地址为构建的地址,负载为数据ID A1和数据块ID c1,移动设备M1从该地址表项的接口ID所标识的接口发送该请求消息;
步骤404:目的接入路由器通过下游接口x1接收到该请求消息后,创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID等于x1,地址域值等于接收到的请求消息的源地址;如果目的接入路由器只有一个数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,且接口ID等于x1的请求表项,则执行步骤405,否则执行步骤413;
步骤405:目的接入路由器从上游接口发送数据请求消息,该数据请求消息中,源地址为目的接入路由器的上游接口的地址,目的地址为地址A1,负载为接收到的请求消息中的负载;
步骤406:接入路由器或者核心路由器从接口x2接收到数据请求消息后,如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于x2的请求表项,则执行步骤413,否则执行步骤407;
步骤407:从接口x2接收到数据请求消息的接入路由器或者核心路由器如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,则执行步骤408,否则执行步骤409;
步骤408:从接口x2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为x2,地址域值为0,执行步骤413;
步骤409:从接口x2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为x2,地址域值为0;如果接入路由器从接口x2接收到数据请求消息,则执行步骤411,否则执行步骤410;
步骤410:从接口x2接收到数据请求消息的核心路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,执行步骤406;
步骤411:从接口x2接收到数据请求消息的接入路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,最终该数据请求消息到达地址为A1的服务器;
步骤412:地址为A1的服务器发送一个数据响应消息,该数据响应消息的负载包括接收到的数据请求消息中的数据ID和数据块ID以及该数据ID和数据块ID所标识的数据块,源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址;
步骤413:如果接入路由器从上游接口接收到数据响应消息后,执行步骤415,否则执行步骤414;
步骤414:接收到数据响应消息的接入路由器或者核心路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器或者核心路由器执行下述操作:从该请求表项的接口ID所标识的接口转发接收到的数据响应消息,从请求表中删除该请求表项,执行步骤413;
步骤415:从上游接口接收到数据响应消息的接入路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器执行下述操作:构建一个响应消息,该响应消息的源地址为接收到的数据响应消息的源地址,目的地址为该请求表项的地址域值,负载为接收到的数据响应消息的负载,从该请求表项的接口ID所标识的接口发送该响应消息,从请求表中删除该请求表项;
步骤416:根据目的地址的地理坐标,最终目的移动设备接收到响应消息,目的移动设备保存响应消息的数据块;
步骤417:结束。
图5为本发明所述获取数据流程示意图。在数据D1由数据ID A1唯一标识,由U个数据块构成,一个数据块由数据块ID c唯一标识,c取值1~U,保存数据D1的所有服务器构成一个任播组,该任播组的地址为A1的条件下,如果移动设备M1想获取数据D1的H个数据块,H>1,H个数据块的数据块ID集合为G,则执行下述操作:
步骤501:开始;
步骤502:移动设备M1设置一个变量G1,该变量的初始值为G;
步骤503:移动设备M1创建一个网络前缀集合P1,网络前缀集合P1由移动设备M1的地址表中所有地址表项的接入节点地址域值的网络前缀构成;
步骤504:移动设备M1从集合P1中选取一个最小的网络前缀,然后选择一个地址表项,该地址表项的接入节点地址的网络前缀等于选取的网络前缀且接入节点地址的地理坐标距离移动设备M1最近;移动设备M1构建一个地址,该地址的网络前缀为选取的地址表项的接入节点地址域值的网络前缀,设备ID等于选取的地址表项的接入节点地址域值的接入节点ID,地理坐标和接入节点ID等于0;从集合G1选取最小的数据块ID;移动设备M1创建一个请求消息,该请求消息的源地址为选取的地址表项的移动设备地址域值,目的地址为构建的地址,负载为数据ID A1和选取的数据块ID,移动设备M1从该地址表项的接口ID所标识的接口发送该请求消息;从集合P1中删除选取的最小的网络前缀,从集合G1中删除选取的最小的数据块ID;
步骤505:判断集合G1是否为空,如果是,则执行步骤507,否则执行步骤506;
步骤506:判断集合P1是否为空,如果是,则执行步骤503,否则执行步骤504;
步骤507:目的接入路由器通过下游接口y1接收到该请求消息后,创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID等于x1,地址域值等于接收到的请求消息的源地址;如果目的接入路由器只有一个数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于x1的请求表项,则执行步骤508,否则执行步骤516;
步骤508:目的接入路由器从上游接口发送数据请求消息,该数据请求消息中,源地址为目的接入路由器的上游接口的地址,目的地址为地址A1,负载为接收到的请求消息中的负载;
步骤509:接入路由器或者核心路由器从接口y2接收到数据请求消息后,如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于y2的请求表项,则执行步骤516,否则执行步骤510;
步骤510:从接口y2接收到数据请求消息的接入路由器或者核心路由器如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,则执行步骤511,否则执行步骤512;
步骤511:从接口y2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为y2,地址域值为0,执行步骤516;
步骤512:从接口y2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为y2,地址域值为0;如果接入路由器从接口y2接收到数据请求消息,则执行步骤514,否则执行步骤513;
步骤513:从接口y2接收到数据请求消息的核心路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,执行步骤509;
步骤514:从接口y2接收到数据请求消息的接入路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,最终该数据请求消息到达地址为A1的服务器;
步骤515:地址为A1的服务器发送一个数据响应消息,该数据响应消息的负载包括接收到的数据请求消息中的数据ID和数据块ID以及该数据ID和数据块ID所标识的数据块,源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址;
步骤516:如果接入路由器从上游接口接收到数据响应消息后,执行步骤518,否则执行步骤517;
步骤517:接收到数据响应消息的接入路由器或者核心路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器或者核心路由器执行下述操作:从该请求表项的接口ID所标识的接口转发接收到的数据响应消息,从请求表中删除该请求表项,执行步骤516;
步骤518:从上游接口接收到数据响应消息的接入路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器执行下述操作:构建一个响应消息,该响应消息的源地址为接收到的数据响应消息的源地址,目的地址为该请求表项的地址域值,负载为接收到的数据响应消息的负载,从该请求表项的接口ID所标识的接口发送该响应消息,从请求表中删除该请求表项;
步骤519:根据目的地址的地理坐标,最终目的移动设备接收到响应消息,目的移动设备保存响应消息的数据块;如果移动设备接收到所有H个数据块,则执行步骤520,否则执行步骤518;
步骤520:结束。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的物联网实现方法,性能分析如下:当移动速度增加时,网络性能下降,数据获取延迟有所增加,数据获取的平均延迟为1.2s。
表1仿真参数
本发明提供了一种物联网实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
Claims (1)
1.一种物联网实现方法,其特征在于,所述物联网包括移动设备、接入路由器和接入节点;每个移动设备配置X个无线接口,X取值为大于2的自然数,每个接口由接口ID f唯一标识,f取值1…X,接口ID为f的接口简写为接口f;一个接入节点配置一个上游有线接口和一个下游无线接口;一个接入路由器配置一个上游有线接口和Y个下游有线接口,Y≥X,上游有线接口与互联网骨干网相连,每个下游有线接口与一个接入节点的上游有线接口相连,每个下游有线接口由接口ID j0唯一标识,j0=1…Y;接入节点的下游接口与移动设备的接口链路相连;一种数据保存在两个以上的服务器上,所有保存该数据的服务器构成一个任播组,所有任播组的服务器共享一个任播地址,该任播地址预先设置,该种数据由该任播地址唯一标识,该任播地址也称为该种数据的数据ID,由U个数据块构成,U为大于2的正整数,每个数据块由数据块ID c唯一标识,c取值1…U;
互联网骨干网包括核心路由器,核心路由器的每个接口与另一个核心路由器或者接入路由器相连;接入路由器、接入节点和移动设备为每个接口配置一个地址,一个地址由i比特的网络前缀,j比特的地理坐标,k比特的接入节点ID和128-i-j-k比特的设备ID构成,i、j、k为不大于32的正整数;
每个核心路由器维护一个转发表,每个接入路由器维护一个转发表;一个转发表项包含数据ID域,数据块ID集合域,距离域和接口ID域;
在数据D1由任播地址A1标识的条件下,任播地址为A1的服务器产生数据D1的一个以上的数据块后,任播地址为A1的服务器构建一个数据块ID集合,所述数据块ID集合由产生的数据块的数据块ID构成,然后该服务器执行下述操作:
步骤101:开始;
步骤102:服务器设置一个参数Hop,其初始值为0,并发送一个转发消息,该转发消息的源地址为该服务器的地址,目的地址为广播地址,负载为数据ID A1、数据块ID集合以及参数Hop;
步骤103:如果一个接入路由器从自己的下游接口f1接收到该转发消息,则执行步骤104,否则执行步骤106;
步骤104:步骤103中的接入路由器将接收到的转发消息负载中的参数Hop值递增1,如果接入路由器存在一个如下转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,且接口ID等于f1,则执行步骤115,否则执行步骤105;
步骤105:接收到转发消息的接入路由器从上游接口转发接收到的转发消息,创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f1,距离域值等于转发消息中参数Hop的值,执行步骤103;
步骤106:如果一个接入路由器从自己的上游接口f2接收到转发消息,则执行步骤107,否则执行步骤111;
步骤107:接入路由器将接收到的转发消息负载中的参数Hop值递增1,如果接入路由器存在一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合,且接口ID等于f2,则执行步骤108,否则执行步骤110;
步骤108:如果数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合,且接口ID等于f2的转发表项的距离域值大于转发消息负载中的参数Hop,则执行步骤109,否则执行步骤115;
步骤109:接入路由器选择数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合且接口ID等于f2的转发表项,将该转发表项的距离域值设置为转发消息负载中的参数Hop值,执行步骤115;
步骤110:接收到转发消息的接入路由器创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f2,距离域值等于转发消息中的参数Hop值,执行步骤115;
步骤111:核心路由器从自己的接口f3接收到转发消息后,将转发消息负载中的参数Hop递增1,如果存在一个转发表项,该转发表项的数据ID和数据块ID集合等于接收到的转发消息负载中的数据ID和数据块ID集合,则执行步骤112,否则执行步骤114;
步骤112:核心路由器选中转发表项,该转发表项的数据ID和数据块ID集合等于接收到的转发消息负载中的数据ID和数据块ID集合,如果该转发表项的距离域值大于转发消息负载中的参数Hop,则执行步骤113,否则执行步骤115;
步骤113:核心路由器选择数据ID和数据ID集合等于接收到的转发消息负载中的数据ID和数据ID集合的转发表项,将该转发表项的距离域值设置为转发消息负载中的参数Hop值,将该转发表项的接口ID域值设置为f3,然后从除了接口f3以外的所有接口转发该转发消息,执行步骤103;
步骤114:接收到转发消息的接入路由器创建一个转发表项,该转发表项的数据ID和数据ID集合等于接收到的转发消息的数据ID和数据ID集合,接口ID等于f3,距离域值等于转发消息中的参数Hop值,然后从除了接口f3以外的所有接口转发该转发消息,执行步骤103;
步骤115:结束;
接入路由器所有接口的网络前缀相同且预先设置;所述物联网中的每个接入路由器配置一个上游接口和Y个下游接口,接入路由器的上游接口的接口ID为Y+1;接入路由器启动后,为上游接口和每个下游接口配置一个地址,该地址的网络前缀为预先设置的网络前缀,设备ID为该上游接口或者下游接口的接口ID;接入路由器为每个下游接口配置地址后,从该下游接口发送一个配置消息,该配置消息的源地址为该下游接口的地址;接入节点从上游接口接收到配置消息后,分别为上游接口和下游接口配置一个地址,在下游接口的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,地理坐标为接入节点当前的地理坐标,设备ID为0,接入节点ID为接收到的配置消息的源地址的设备ID;接入节点为下游节点配置地址后,通过下游接口定期发送配置消息,该配置消息的源地址为该下游接口的地址;在上游接口的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,地理坐标和设备ID均为0,接入节点ID为接收到的配置消息的源地址的设备ID;
移动设备配置一个地址之前,为每个接口配置一个临时地址,在该临时地址中,网络前缀和接入节点ID为0,地理坐标为当前移动设备的地理坐标,设备ID为一个随机数;移动设备为每个接口配置一个临时地址后,从每个接口定期发送一个信标消息,该信标消息的源地址为该接口的临时地址;
移动设备维护一个地址表,该地址表项包含接口ID域,接入节点地址域,移动设备地址域和生命周期域,移动路由器保存一个设备ID集合用于保存已经分配的设备ID;移动设备启动后,通过每个接口侦听配置消息;如果移动设备M1从自己的接口f4接收到配置消息,则执行如下操作为接口f4配置地址:
步骤201:开始;
步骤202:移动设备M1查看地址表,如果存在一个地址表项,该地址表项的接口ID域值等于f4,接入节点地址域值等于接收到的配置消息的源地址,则执行步骤203,否则执行步骤204;
步骤203:移动设备M1选择接口ID域值等于f4且接入节点地址域值等于接收到的配置消息的源地址的地址表项,将该地址表项的生命周期域值设置为最大值,执行步骤210;
步骤204:如果存在一个地址表项,该地址表项的移动设备地址域值的网络前缀等于接收到的配置消息的源地址的网络前缀,则执行步骤205,否则执行步骤206;
步骤205:移动设备M1选择移动设备地址域值的网络前缀等于接收到的配置消息的源地址的网络前缀的地址表项,然后创建一个地址,该地址的网络前缀和接入节点ID域值分别等于接收到的配置消息的源地址的网络前缀和接入节点ID,地理坐标等于移动设备M1的当前地理坐标,设备ID等于该地址表项的移动设备地址域值的设备ID;移动设备M1创建一个地址表项,该地址表项的接口ID域值等于f4,接入节点地址域值等于接收到的配置消息的源地址,移动设备地址域值等于构建的地址,执行步骤210;
步骤206:移动设备M1创建一个随机数r1,从接口f4发送一个地址配置消息,该地址配置消息的负载为随机数r,该地址配置消息的源地址中,网络前缀和接入节点ID等于接收到的配置消息的源地址的网络前缀和接入节点ID,地理坐标和设备ID分别等于移动设备M1临时地址的地理坐标和设备ID,该地址配置消息的目的地址中,网络前缀等于接收到的配置消息的源地址的网络前缀,接入节点ID和地理坐标为0,设备ID等于接收到的配置消息的源地址的接入节点ID;基于该地址配置消息的源地址,该地址配置消息最终到达源接入节点,即网络前缀和接入节点ID等于该地址配置消息的源地址的网络前缀和接入节点ID的接入节点;源接入节点将接收到的地址配置消息转发到相连的目的路由器;目的接入路由器接收到地址配置消息后,随机选择一个不在目的接入路由器的设备ID集合中的随机数r2,然后从接收到的地址配置消息的源地址的接入节点ID所标识的下游接口发送一个配置响应消息,该配置响应消息的源地址为接收到的地址配置消息的目的地址,目的地址为接收到的地址配置消息的源地址,负载为接收到的地址配置消息负载中随机数r1和选择的随机数r2;目的接入路由器将随机数r2加入到设备ID集合中;接入节点从上游接口接收到配置响应消息后,从下游接口转发接收到的配置响应消息;
步骤207:根据配置响应消息的目的地址的地理坐标,最终移动设备M1从接口f4接收到配置响应消息,如果移动设备M1发送的地址配置消息中的随机数与接收到的配置响应消息中的随机数r1相同,则执行步骤209,否则208;
步骤208:移动设备M1丢弃接收到的配置响应消息,执行步骤210;
步骤209:移动设备M1构建一个地址,该地址的网络前缀和接入节点ID分别等于接收到的配置响应消息的目的地址的网络前缀和接入节点ID,地理坐标为该移动设备当前的地理坐标,设备ID为接收到的配置响应消息负载中的随机数r2;移动设备M1创建一个地址表项,该地址表项的接口ID为f4,移动设备地址域值为构建的地址,生命周期为最大值,接入节点地址域值为接收到的配置消息的源地址;
步骤210:结束;
移动设备M1从接口f4接收到配置消息后,如果移动设备M1在一个接入节点的一跳范围内且该接入节点的地址不等于接收到的配置消息的源地址,则停止转发该配置消息,否则从接口f4转发该配置消息;
如果移动设备M1检测到一个地址表项E1的生命周期衰减为0,则执行下述操作:
步骤301:开始;
步骤302:移动设备M1判断是否存在一个地址表项,该地址表项不是地址表项E1且移动设备地址域值的网络前缀等于地址表项E1的移动设备的网络前缀,如果是,则执行步骤307,否则执行步骤303;
步骤303:移动设备M1构建一个地址,该地址的网络前缀等于地址表项E1的接入节点地址的网络前缀,地理坐标和接入节点ID为0,设备ID为地址表项E1的接入节点地址的接入节点ID;从地址表项选择一个符合如下条件的地址表项,该地址表项不等于地址表项E1且接入节点地址域值的地理坐标距离移动设备M1最近;移动设备M1通过选择的地址表项的接入节点地址域值的接入节点ID所标识的接口发送地址回收消息,该地址回收消息的源地址为选择的地址表项的移动设备地址域值,目的地址为构建的地址,负载为地址表项E1的移动设备地址域值;移动设备M1从地址表中删除地址表项E1;
步骤304:根据地址回收消息的源地址,该地址回收消息最终到达源接入节点,即地址中的网络前缀与接入节点ID与该地址回收消息的源地址的网络前缀和接入节点ID 相同的接入节点;源接入节点通过上游接口将地址回收消息转发给相连的接入路由器,接入路由器从下游接口接收到该地址回收消息后,判断自己是否为目的接入路由器,即该地址回收消息负载中的地址的网络前缀是否等于自己的网络前缀,如果是,则执行步骤306,否则执行步骤305;
步骤305:接收到地址回收消息的接入路由器通过上游接口转发接收到的地址回收消息,该地址回收消息通过互联网骨干网最终到达目的接入路由器,即地址的网络前缀等于地址回收消息的目的地址的网络前缀的接入路由器;
步骤306:目的接入路由器从自己的设备ID集合中删除接收到的地址回收消息中的地址的设备ID;
步骤307:结束;
在数据D1由数据ID任播地址A1唯一标识,数据D1由U个数据块构成,一个数据块由数据块ID c唯一标识,c取值1~U,一个接入路由器或者核心路由器保存一个请求表,一个请求表项由数据ID域,数据块ID域,接口ID域和地址域值构成;保存数据D1的所有服务器构成一个任播组,该任播组的任播地址为A1的条件下,如果移动设备M1需要获取数据D1的一个数据块,该数据块的数据块ID为c1,则执行下述操作:
步骤401:开始;
步骤402:移动设备M1创建一个网络前缀集合P1,网络前缀集合P1由移动设备M1的地址表中所有地址表项的接入节点地址域值的网络前缀构成;
步骤403:移动设备M1从网络前缀集合P1中选取一个最小的网络前缀,然后选择一个地址表项,该地址表项的接入节点地址的网络前缀等于选取的网络前缀且接入节点地址的地理坐标距离移动设备M1最近;移动设备M1构建一个地址,该地址的网络前缀为选取的地址表项的接入节点地址域值的网络前缀,设备ID等于选取的地址表项的接入节点地址域值的接入节点ID,地理坐标和接入节点ID等于0;移动设备M1创建一个请求消息,该请求消息的源地址为选取的地址表项的移动设备地址域值,目的地址为构建的地址,负载为数据ID A1和数据块ID c1,移动设备M1从该地址表项的接口ID所标识的接口发送该请求消息;
步骤404:目的接入路由器通过下游接口x1接收到该请求消息后,创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID等于x1,地址域值等于接收到的请求消息的源地址;如果目的接入路由器只有一个数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,且接口ID等于x1的请求表项,则执行步骤405,否则执行步骤413;
步骤405:目的接入路由器从上游接口发送数据请求消息,该数据请求消息中,源地址为目的接入路由器的上游接口的地址,目的地址为任播地址A1,负载为接收到的请求消息中的负载;
步骤406:接入路由器或者核心路由器从接口x2接收到数据请求消息后,如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于x2的请求表项,则执行步骤413,否则执行步骤407;
步骤407:从接口x2接收到数据请求消息的接入路由器或者核心路由器如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,则执行步骤408,否则执行步骤409;
步骤408:从接口x2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为x2,地址域值为0,执行步骤413;
步骤409:从接口x2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为x2,地址域值为0;如果接入路由器从接口x2接收到数据请求消息,则执行步骤411,否则执行步骤410;
步骤410:从接口x2接收到数据请求消息的核心路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,执行步骤406;
步骤411:从接口x2接收到数据请求消息的接入路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,最终该数据请求消息到达任播地址为A1的服务器;
步骤412:任播地址为A1的服务器发送一个数据响应消息,该数据响应消息的负载包括接收到的数据请求消息中的数据ID和数据块ID以及该数据ID和数据块ID所标识的数据块,源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址;
步骤413:如果接入路由器从上游接口接收到数据响应消息后,执行步骤415,否则执行步骤414;
步骤414:接收到数据响应消息的接入路由器或者核心路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器或者核心路由器执行下述操作:从该请求表项的接口ID所标识的接口转发接收到的数据响应消息,从请求表中删除该请求表项,执行步骤413;
步骤415:从上游接口接收到数据响应消息的接入路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器执行下述操作:构建一个响应消息,该响应消息的源地址为接收到的数据响应消息的源地址,目的地址为该请求表项的地址域值,负载为接收到的数据响应消息的负载,从该请求表项的接口ID所标识的接口发送该响应消息,从请求表中删除该请求表项;
步骤416:根据目的地址的地理坐标,最终目的移动设备M1接收到响应消息,目的移动设备M1保存响应消息的数据块;
步骤417:结束;
在数据D1由数据ID任播地址A1唯一标识,由U个数据块构成,一个数据块由数据块ID c唯一标识,c取值1~U,保存数据D1的所有服务器构成一个任播组,该任播组的任播地址为A1的条件下,如果移动设备M1想获取数据D1的H个数据块,H>1,H个数据块的数据块ID集合为G,则执行下述操作:
步骤501:开始;
步骤502:移动设备M1设置一个数据块ID集合变量G1,该变量的初始值为数据块ID集合G;
步骤503:移动设备M1创建一个网络前缀集合P1,网络前缀集合P1由移动设备M1的地址表中所有地址表项的接入节点地址域值的网络前缀构成;
步骤504:移动设备M1从集合P1中选取一个最小的网络前缀,然后选择一个地址表项,该地址表项的接入节点地址的网络前缀等于选取的网络前缀且接入节点地址的地理坐标距离移动设备M1最近;移动设备M1构建一个地址,该地址的网络前缀为选取的地址表项的接入节点地址域值的网络前缀,设备ID等于选取的地址表项的接入节点地址域值的接入节点ID,地理坐标和接入节点ID等于0;从变量G1选取最小的数据块ID;移动设备M1创建一个请求消息,该请求消息的源地址为选取的地址表项的移动设备地址域值,目的地址为构建的地址,负载为数据ID A1和选取的数据块ID,移动设备M1从该地址表项的接口ID所标识的接口发送该请求消息;从集合P1中删除选取的最小的网络前缀,从变量G1中删除选取的最小的数据块ID;
步骤505:判断变量G1是否为空,如果是,则执行步骤507,否则执行步骤506;
步骤506:判断集合P1是否为空,如果是,则执行步骤503,否则执行步骤504;
步骤507:目的接入路由器通过下游接口y1接收到该请求消息后,创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID等于x1,地址域值等于接收到的请求消息的源地址;如果目的接入路由器只有一个数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于x1的请求表项,则执行步骤508,否则执行步骤516;
步骤508:目的接入路由器从上游接口发送数据请求消息,该数据请求消息中,源地址为目的接入路由器的上游接口的地址,目的地址为任播地址A1,负载为接收到的请求消息中的负载;
步骤509:接入路由器或者核心路由器从接口y2接收到数据请求消息后,如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID且接口ID等于y2的请求表项,则执行步骤516,否则执行步骤510;
步骤510:从接口y2接收到数据请求消息的接入路由器或者核心路由器如果存在一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,则执行步骤511,否则执行步骤512;
步骤511:从接口y2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为y2,地址域值为0,执行步骤516;
步骤512:从接口y2接收到数据请求消息的接入路由器或者核心路由器创建一个请求表项,该请求表项的数据ID和数据块ID等于该请求消息负载中的数据ID和数据块ID,接口ID为y2,地址域值为0;如果接入路由器从接口y2接收到数据请求消息,则执行步骤514,否则执行步骤513;
步骤513:从接口y2接收到数据请求消息的核心路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,执行步骤509;
步骤514:从接口y2接收到数据请求消息的接入路由器查看转发表,选择数据ID域值等于该数据请求消息中的数据ID且数据块ID集合包含该数据请求消息中的数据块ID的转发表项,从该转发表项的接口ID所标识的接口转发该数据请求消息,最终该数据请求消息到达任播地址为A1的服务器;
步骤515:任播地址为A1的服务器发送一个数据响应消息,该数据响应消息的负载包括接收到的数据请求消息中的数据ID和数据块ID以及该数据ID和数据块ID所标识的数据块,源地址为接收到的数据请求消息的目的地址,目的地址为接收到的数据请求消息的源地址;
步骤516:如果接入路由器从上游接口接收到数据响应消息后,执行步骤518,否则执行步骤517;
步骤517:接收到数据响应消息的接入路由器或者核心路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器或者核心路由器执行下述操作:从该请求表项的接口ID所标识的接口转发接收到的数据响应消息,从请求表中删除该请求表项,执行步骤516;
步骤518:从上游接口接收到数据响应消息的接入路由器查看请求表,选择所有数据ID域值和数据块ID域值等于该数据响应消息中的数据ID和数据块ID的请求表项,对于每个选择的请求表项,该接入路由器执行下述操作:构建一个响应消息,该响应消息的源地址为接收到的数据响应消息的源地址,目的地址为该请求表项的地址域值,负载为接收到的数据响应消息的负载,从该请求表项的接口ID所标识的接口发送该响应消息,从请求表中删除该请求表项;
步骤519:根据目的地址的地理坐标,最终目的移动设备M1接收到响应消息,目的移动设备M1保存响应消息的数据块;如果移动设备M1接收到所有H个数据块,则执行步骤520,否则执行步骤518;
步骤520:结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711274620.4A CN107979645B (zh) | 2017-12-06 | 2017-12-06 | 一种物联网实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711274620.4A CN107979645B (zh) | 2017-12-06 | 2017-12-06 | 一种物联网实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107979645A CN107979645A (zh) | 2018-05-01 |
CN107979645B true CN107979645B (zh) | 2020-07-14 |
Family
ID=62009198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711274620.4A Active CN107979645B (zh) | 2017-12-06 | 2017-12-06 | 一种物联网实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107979645B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108881023B (zh) * | 2018-05-30 | 2020-08-25 | 常熟理工学院 | 一种多路径的大数据网络实现方法 |
CN109150723B (zh) * | 2018-10-24 | 2020-11-24 | 常熟理工学院 | 一种物联网的路由通信实现方法 |
CN111711691B (zh) * | 2020-06-16 | 2021-10-01 | 常熟理工学院 | 一种基于物联网云的安全智能监测系统实现方法 |
CN112040008B (zh) * | 2020-09-15 | 2021-09-28 | 常熟理工学院 | 一种基于物联网的远程医疗监护系统的实现方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453090A (zh) * | 2016-10-19 | 2017-02-22 | 常熟理工学院 | 一种以数据为中心的通信方法 |
CN106792978A (zh) * | 2017-03-29 | 2017-05-31 | 常熟理工学院 | 一种基于云的智能车联网数据通信方法 |
CN107395509A (zh) * | 2017-08-28 | 2017-11-24 | 常熟理工学院 | 一种基于物联网的数据通信方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112005000173B4 (de) * | 2004-01-09 | 2010-07-22 | Panasonic Corp., Kadoma | IP-Vorrichtung und Management-Server |
JP4818428B2 (ja) * | 2009-12-25 | 2011-11-16 | 株式会社東芝 | 通信システム及び電話交換装置及び制御方法 |
-
2017
- 2017-12-06 CN CN201711274620.4A patent/CN107979645B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106453090A (zh) * | 2016-10-19 | 2017-02-22 | 常熟理工学院 | 一种以数据为中心的通信方法 |
CN106792978A (zh) * | 2017-03-29 | 2017-05-31 | 常熟理工学院 | 一种基于云的智能车联网数据通信方法 |
CN107395509A (zh) * | 2017-08-28 | 2017-11-24 | 常熟理工学院 | 一种基于物联网的数据通信方法 |
Non-Patent Citations (1)
Title |
---|
6LoWPAN 无线传感器网络路由研究;王晓喃 等;《铁道学报》;20140228;第49-53页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107979645A (zh) | 2018-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107979645B (zh) | 一种物联网实现方法 | |
CN106792978B (zh) | 一种基于云的智能车联网数据通信方法 | |
CN110113264B (zh) | 一种命名数据网络的缓存和路由实现方法 | |
CN109257789B (zh) | 一种基于多跳簇的车载网数据通信方法 | |
CN109150723B (zh) | 一种物联网的路由通信实现方法 | |
CN106921578B (zh) | 一种转发表项的生成方法和装置 | |
CN106993321B (zh) | 一种基于簇的网络数据通信方法 | |
US10594598B2 (en) | Path setup in a mesh network | |
CN109088778B (zh) | 一种未来移动网络的数据通信实现方法 | |
CN107547346B (zh) | 一种报文传输方法和装置 | |
CN104780139A (zh) | 一种基于mac地址攻击的防御方法和系统 | |
CN104247339A (zh) | 家庭网络分组递送 | |
CN118041848B (zh) | 一种灾后地区监测系统的实现方法 | |
Siddiqui et al. | Hop-by-hop traceback in wireless sensor networks | |
CN111245725B (zh) | 一种基于分布式的未来网络实现方法 | |
CN111277497B (zh) | 一种基于分布式的网络服务部署和发现的实现方法 | |
CN109274781A (zh) | Arp表项刷新方法和装置 | |
CN108011992B (zh) | 一种低延迟的物联网实现方法 | |
CN110233889B (zh) | 一种基于缓存机制的网络数据通信实现方法 | |
CN108494595B (zh) | 一种高效的新一代大数据网络实现方法 | |
CN107949000B (zh) | 一种低延迟的机会网络实现方法 | |
CN109089293B (zh) | 一种未来移动网络的路由通信实现方法 | |
CN108449443B (zh) | 一种全ip无线网络地址配置实现方法 | |
CN108881021B (zh) | 一种高效可靠的物联网实现方法 | |
CN107483607B (zh) | 一种低延迟的物联网数据通信实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |