首页 > 专利 > 常熟理工学院 > 一种低延迟的物联网实现方法专利详情

一种低延迟的物联网实现方法   0    0

有效专利 查看PDF
专利申请流程有哪些步骤?
专利申请流程图
申请
申请号:指国家知识产权局受理一件专利申请时给予该专利申请的一个标示号码。唯一性原则。
申请日:提出专利申请之日。
2017-12-06
申请公布
申请公布指发明专利申请经初步审查合格后,自申请日(或优先权日)起18个月期满时的公布或根据申请人的请求提前进行的公布。
申请公布号:专利申请过程中,在尚未取得专利授权之前,国家专利局《专利公报》公开专利时的编号。
申请公布日:申请公开的日期,即在专利公报上予以公开的日期。
2018-06-01
授权
授权指对发明专利申请经实质审查没有发现驳回理由,授予发明专利权;或对实用新型或外观设计专利申请经初步审查没有发现驳回理由,授予实用新型专利权或外观设计专利权。
2020-08-25
预估到期
发明专利权的期限为二十年,实用新型专利权期限为十年,外观设计专利权期限为十五年,均自申请日起计算。专利届满后法律终止保护。
2037-12-06
基本信息
有效性 有效专利 专利类型 发明专利
申请号 CN201711274462.2 申请日 2017-12-06
公开/公告号 CN108011992B 公开/公告日 2020-08-25
授权日 2020-08-25 预估到期日 2037-12-06
申请年 2017年 公开/公告年 2020年
缴费截止日
分类号 H04L29/12H04W4/70H04W40/04H04W48/04H04W48/10H04W76/11 主分类号 H04L29/12
是否联合申请 独立申请 文献类型号 B
独权数量 1 从权数量 0
权利要求数量 1 非专利引证数量 0
引用专利数量 3 被引证专利数量 0
非专利引证
引用专利 CN101022449A、CN103701938A、US2009135722A1 被引证专利
专利权维持 5 专利申请国编码 CN
专利事件 事务标签 公开、实质审查、授权
申请人信息
申请人 第一申请人
专利权人 常熟理工学院 当前专利权人 常熟理工学院
发明人 王晓喃 第一发明人 王晓喃
地址 江苏省苏州市常熟市常熟理工学院(东南校区)计算机科学与工程学院 邮编 215500
申请人数量 1 发明人数量 1
申请人所在省 江苏省 申请人所在市 江苏省苏州市
代理人信息
代理机构
专利代理机构是经省专利管理局审核,国家知识产权局批准设立,可以接受委托人的委托,在委托权限范围内以委托人的名义办理专利申请或其他专利事务的服务机构。
江苏圣典律师事务所 代理人
专利代理师是代理他人进行专利申请和办理其他专利事务,取得一定资格的人。
胡建华
摘要
本发明提供了一种低延迟的物联网实现方法,所述物联网包括接入路由器、接入节点和移动节点;每个移动节点配置一个无线接口,该无线接口能够采用X信道进行通信,每个移动节点的X信道都相同,每个信道由信道ID c唯一标识,c取值1~X,X为大于1的正整数;移动设备通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
  • 摘要附图
    一种低延迟的物联网实现方法
  • 说明书附图:图1
    一种低延迟的物联网实现方法
  • 说明书附图:图2
    一种低延迟的物联网实现方法
  • 说明书附图:图3
    一种低延迟的物联网实现方法
  • 说明书附图:图4
    一种低延迟的物联网实现方法
  • 说明书附图:图5
    一种低延迟的物联网实现方法
  • 说明书附图:图6
    一种低延迟的物联网实现方法
  • 说明书附图:图7
    一种低延迟的物联网实现方法
法律状态
序号 法律状态公告日 法律状态 法律状态信息
1 2020-08-25 授权
2 2018-06-01 实质审查的生效 IPC(主分类): H04L 29/12 专利申请号: 201711274462.2 申请日: 2017.12.06
3 2018-05-08 公开
权利要求
权利要求书是申请文件最核心的部分,是申请人向国家申请保护他的发明创造及划定保护范围的文件。
1.一种低延迟的物联网实现方法,其特征在于,所述物联网包括接入路由器、接入节点和移动节点;每个移动节点配置一个无线接口,该无线接口能够采用X信道进行通信,每个移动节点的X信道都相同,每个信道由信道ID c唯一标识,c取值1~X,X为大于1的正整数;
接入路由器配置一个上游有线接口和Y个下游有线接口,Y≥2X,每个下游有线接口由接口ID t唯一标识,t=1…Y;接入节点配置一个上游有线接口和一个下游无线接口,接入路由器的上游有线接口与互联网骨干网相连,接入路由器的一个下游有线接口与一个接入节点的上游有线接口相连;接入节点的下游无线接口采用一种信道进行通信,该信道的信道ID为h0,X≥h0≥1;一个接入路由器的Y个下游有线接口连接Y个接入节点,所述接入节点的通信信道的信道ID集合为
接入路由器、接入节点以及移动节点通过地址实现数据通信,一个地址的长度为128比特,由网络前缀、地理坐标、接入节点ID和设备ID构成;
接入路由器的上游有线接口和下游有线接口的地址的网络前缀相同且预先设置;接入路由器启动后,为上游有线接口和下游有线接口配置地址,其中,上游有线接口的地址的网络前缀为预先设置的网络前缀,地理坐标为0,接入节点ID为0,设备ID为Y+1;每个下游有线接口的地址的网络前缀为预先设置的网络前缀,地理坐标为0,接入节点ID为0,设备ID为该下游有线接口的接口ID;接入路由器为每个下游有线接口配置地址后,从该下游有线接口发送一个信标消息,该信标消息的源地址为该下游有线接口的地址;
一个接入节点的上游有线接口和下游无线接口分别配置一个地址;接入节点从上游有线接口接收到信标消息后,分别为上游有线接口和下游无线接口配置一个地址,在上游有线接口的地址中,网络前缀等于接收到的信标消息的源地址的网络前缀,地理坐标和设备ID均为0,接入节点ID为接收到的信标消息的源地址的设备ID;在下游无线接口的地址中,网络前缀等于接收到的信标消息的源地址的网络前缀,地理坐标为接入节点当前的地理坐标,设备ID为0,接入节点ID为接收到的信标消息的源地址的设备ID;接入节点为上游有线接口和下游无线接口配置地址后,利用下游无线接口的工作信道定期发送信标消息;在该信标消息中,源地址为下游无线接口的地址,负载为广播范围参数Hop,参数Hop的初始值预先设置;移动节点接收到一个信标消息后,将该信标消息中的广播范围参数Hop递减1;如果该参数Hop等于0,该移动节点则停止转发该信标消息,否则转发该信标消息;
移动节点维护一个信道表和地址表,一个信道表项包含信道ID域和信道域;一个地址表项包含信道ID域、接入节点地址域、移动节点地址域和生命周期域;接入路由器维护一个设备ID集合来保存已经分配的设备ID;
移动节点启动后,将自己接口支持的X信道构建成一个信道集合,即该信道集合由X信道构成,然后执行下述过程创建信道表:
步骤101:开始;
步骤102:移动节点设置一个变量h,该变量的初始值为1;
步骤103:移动节点从信道集合中随机选取一个信道,并创建一个信道表项,该信道表项的信道ID为h,信道为选取的信道;移动节点从信道集合中删除选取的信道,并将变量h值递增1;
步骤104:移动节点判断信道集合是否为空,如果是,执行步骤105,否则执行步骤103;
步骤105:结束;
移动节点启动后,定期扫描X信道,为每个信道配置一个临时地址,临时地址的网络前缀和接入节点ID为0,地理坐标为移动节点当前地理位置的坐标,设备ID为大于0的随机数,然后移动节点从该信道发送一个信标消息,该信标消息的源地址为该信道的临时地址,负载为空;
如果移动节点M1通过信道ID为c的信道接收到一个来自接入节点AP1的信标消息b1,接入节点AP1的上游有线接口与接入路由器AR1的下游有线接口相连,那么接入节点通过下述过程获取地址;
步骤201:开始;
步骤202:移动节点M1查看地址表,如果存在一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于信标消息b1的源地址,则执行步骤203,否则执行步骤204;
步骤203:移动节点M1选择信道ID为c且接入节点地址域值等于信标消息b1的源地址的地址表项,将该地址表项的生命周期设置为最大值,执行步骤217;
步骤204:移动节点M1查看地址表,如果存在一个地址表项,该地址表项的移动节点地址域值的网络前缀等于信标消息b1的源地址的网络前缀,则执行步骤205,否则执行步骤
206;
步骤205:移动节点M1选择移动节点地址域值的网络前缀等于信标消息b1的源地址的网络前缀的地址表项,然后创建一个地址,该地址的网络前缀和接入节点ID等于信标消息b1的源地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为该地址表项的移动节点地址域值的设备ID;移动节点M1创建一个地址表项,该地址表项的信道ID域值为c,接入节点地址域值等于信标消息b1的源地址,移动节点地址域值等于构建的地址,执行步骤217;
步骤206:移动节点M1创建一个地址,该地址的网络前缀和接入节点ID等于信标消息b1的源地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为大于0的随机数;移动节点M1采用信道ID c所标识的信道发送一个配置消息,该配置消息的源地址为构建的地址,目的地址为信标消息b1的源地址;
步骤207:如果移动节点接收到该配置消息,则执行步骤208,否则执行步骤209;
步骤208:如果接收到配置消息的移动节点在该配置消息的目的地址的地理坐标的一跳范围内,则直接将该配置消息转发给目的地址所标识的接入节点AP1,否则将该配置消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤207;
步骤209:接入节点AP1接收到配置消息后,将该配置消息通过上游有线接口转发给接入路由器AR1,接入路由器AR1查看该配置消息的源地址的设备ID是否在自己的设备ID集合中;如果是,则执行步骤210,否则执行步骤211;
步骤210:接入路由器AR1选择一个不在自己的设备ID集合中的随机数,构建一个配置成功消息,该配置成功消息的源地址为接收到的配置消息的目的地址,该配置成功消息的目的地址为接收到的配置消息的源地址,负载为选择的随机数,然后接入路由器AR1从接收到的配置消息的目的地址的接入节点ID所标识的下游有线接口发送该配置成功消息,并将选择的随机数加入到自己的设备ID集合中,执行步骤212;
步骤211:接入路由器AR1构建一个配置成功消息,该配置成功消息的源地址为接收到的配置消息的目的地址,该配置成功消息的目的地址为接收到的配置消息的源地址,负载为空,然后从接收到的配置消息的目的地址的接入节点ID所标识的下游有线接口发送该配置成功消息,并将接收到的配置消息的源地址的设备ID加入到自己的设备ID集合中;
步骤212:接入节点AP1接收到配置成功消息后,执行步骤213,否则执行步骤214;
步骤213:如果接入节点AP1在该配置成功消息的目的地址的地理坐标的一跳范围内,则通过下游无线接口将该配置成功消息转发给目的地址所标识的移动节点M1,否则通过下游无线接口将该配置成功消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤212;
步骤214:如果移动节点M1接收到配置成功消息,则执行步骤216,否则执行步骤215;
步骤215:如果接收到配置成功消息的移动节点在该配置成功消息的目的地址的地理坐标的一跳范围内,则直接将该配置成功消息转发给目的地址所标识的移动节点M1,否则将该配置成功消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤212;
步骤216:移动节点M1通过信道ID为c的信道接收到配置成功消息后,如果配置成功消息负载为空,则创建一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于该配置成功消息的源地址,移动节点地址域值等于该配置成功消息的目的地址;否则,移动节点M1创建一个地址,该地址的网络前缀和接入节点ID等于该配置成功消息的目的地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为该配置成功消息负载中的随机数,然后移动节点M1创建一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于该配置成功消息的源地址,移动节点地址域值等于创建的地址;
步骤217:结束;
如果移动节点M1检测到地址表项E1的生命周期衰减为0,则执行下述操作回收设备ID;
步骤301:开始;
步骤302:移动节点M1查看地址表,如果除了地址表项E1之外还有另外一个地址表项的移动节点地址域值的网络前缀等于地址表项E的移动节点地址域值的网络前缀,则执行步骤307,否则执行步骤303;
步骤303:移动节点M1通过地址表项E1的信道ID所标识的信道发送一个删除消息,该删除消息的源地址为地址表项E1的移动节点地址域值,目的地址为地址表项E1的接入节点地址域值,负载为空;移动节点M1从地址表中删除地址表项E1;
步骤304:如果移动节点接收到该删除消息,则执行步骤305,否则执行步骤306;
步骤305:如果接收到删除消息的移动节点在该删除消息的目的地址的地理坐标的一跳范围内,则直接将该删除消息转发给目的地址所标识的目的接入节点,执行步骤306,否则将该删除消息转发给距离目的地址的地理坐标最近的邻居移动节点,执行步骤304;
步骤306:目的接入节点接收到删除消息后,将该删除消息通过上游有线接口转发给连接的接入路由器,接入路由器接收到删除消息后,从自己的设备ID集合中删除该删除消息的源地址的设备ID;
步骤307:结束;
在一种类型的数据由数据ID唯一标识,一种类型的数据能够被分解为一个以上的数据块,每个数据块由数据块ID标识,数据D1由数据IDDID1唯一标识,数据D1的长度大于预定值,移动节点M1的接口能够通过X信道进行通信的条件下,移动节点M1产生数据D1后,查看地址表,如果地址表中的地址表项总数为Z,移动节点M1将数据D1平均划分为Z个数据块Ck,k取值1~Z,数据块Ck由数据块ID k唯一标识;然后移动节点M1通过下述过程将数据D1上传到服务器S1:
步骤401:开始;
步骤402:移动节点M1设置参数c1和参数k1,参数c1和参数k1的初始值为1;
步骤403:移动节点M1选择信道ID域值等于c1的所有地址表项,对于每个选择的地址表项,移动节点M1执行下述操作:构建一个数据消息,该数据消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据IDDID1、数据块ID k1、由数据块ID k1标识的数据块Ck1以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该数据消息,同时将参数k1递增1;
步骤404:移动节点M1将参数c1递增1,如果参数c1大于X,则执行步骤405,否则执行步骤403;
步骤405:如果移动节点接收到该数据消息,则执行步骤406,否则执行步骤407;
步骤406:如果接收到数据消息的移动节点在该数据消息的目的地址的地理坐标的一跳范围内,则直接将该数据消息转发给目的地址所标识的目的接入节点,否则将该数据消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤405;
步骤407:目的接入节点接收到数据消息后,将该数据消息的目的地址更新为该数据消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将数据消息转发给相连的接入路由器,接入路由器从下游有线接口接收到数据消息后,通过上游有线接口转发该数据消息,该数据消息通过互联网骨干网最终到达服务器S1;
步骤408:服务器S1接收到数据消息后,保存数据消息中的数据块,如果服务器S1接收到数据D1的所有Z个数据块,则执行步骤409,否则执行步骤405;
步骤409:结束;
在数据D2由数据IDDID2唯一标识,数据D2的长度小于预定值,移动节点M1的接口能够通过X信道进行通信的条件下,移动节点M1产生数据D2后,随机选择一个空闲的信道,该信道的信道ID为c2,然后移动节点M1查看地址表,选择信道ID域值等于c2的所有地址表项,如果信道ID域值等于c2的所有地址表项总数为Z2,移动节点M1将数据D2平均划分为Z2个数据块Cx1,x1=1…Z2,数据块Cx1由数据块ID x1唯一标识;移动节点M1创建一个地址表项集合,该集合由信道ID域值等于c2的Z2个地址表项构成,然后移动节点M1通过下述过程将数据D2上传到服务器S1:
步骤501:开始;
步骤502:移动节点M1设置参数k2,参数k2的初始值为1;
步骤503:移动节点M1从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个数据消息,该数据消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据IDDID2、数据块ID k2、数据块ID k2标识的数据块Ck2以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该数据消息,同时将参数k2递增1,将随机选取的地址表项从地址表项集合中删除;
步骤504:如果地址表项集合为空,则执行步骤505,否则执行步骤503;
步骤505:如果移动节点接收到该数据消息,则执行步骤506,否则执行步骤507;
步骤506:如果接收到数据消息的移动节点在该数据消息的目的地址的地理坐标的一跳范围内,则直接将该数据消息转发给目的地址所标识的目的接入节点,否则将该数据消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤505;
步骤507:目的接入节点从下游无线接口接收到数据消息后,将该数据消息的目的地址更新为该数据消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将数据消息转发给相连的接入路由器,接入路由器从下游有线接口接收到数据消息后,通过上游有线接口转发该数据消息,该数据消息通过互联网骨干网最终到达服务器S1;
步骤508:服务器S1接收到数据消息后,保存数据消息中的数据块,如果服务器S1接收到数据D2的所有Z2个数据块,则执行步骤509,否则执行步骤505;
步骤509:结束;
在数据D1由数据IDDID1唯一标识,数据D1的长度大于预定值,移动节点M2的接口能够通过X信道进行通信的条件下,移动节点M2需要获取数据D1,移动节点M2的地址表中的地址表项总数为Z3,移动节点M2创建一个地址表项集合,该地址表项集合由地址表中的所有地址表项构成,移动节点M2通过下述过程从服务器S1获取数据D1:
步骤601:开始;
步骤602:移动节点M2设置参数k3,参数k3的初始值为1;
步骤603:移动节点M2从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个请求消息,该请求消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据IDDID1、地址表项总数为Z3、参数k3以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该请求消息,同时将参数k3递增1,将随机选取的地址表项从地址表项集合中删除;
步骤604:如果地址表项集合为空,则执行步骤605,否则执行步骤603;
步骤605:如果移动节点接收到该请求消息,则执行步骤606,否则执行步骤607;
步骤606:如果接收到请求消息的移动节点在该请求消息的目的地址的地理坐标的一跳范围内,则直接将该请求消息转发给目的地址所标识的目的接入节点,否则将该请求消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤605;
步骤607:目的接入节点从下游无线接口接收到请求消息后,将该请求消息的目的地址更新为该请求消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将请求消息转发给相连的接入路由器,接入路由器从下游有线接口接收到请求消息后,通过上游有线接口转发该请求消息,该请求消息通过互联网骨干网最终到达服务器S1;
步骤608:服务器S1接收到请求消息后,保存请求消息负载中的数据IDDID1,参数Z3和k3,服务器S1将数据D1平均划分为Z3个数据块Cx2,x2=1…Z3,数据块Cx2由数据块ID x2唯一标识,然后选取数据块ID等于k3的数据块Ck3,并发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,目的地址为接收到的请求消息的源地址,负载为数据块ID k3以及数据块Ck3;该响应消息通过互联网骨干网最终到达目的接入路由器,目的接入路由器的网络前缀与响应消息的目的地址的网络前缀相同;目的接入路由器通过该响应消息目的地址的接入节点ID所标识的下游无线接口转发该响应消息;
步骤609:接入节点从上游有线接口接收到响应消息后,执行步骤610,否则执行步骤
611;
步骤610:如果接入节点在该响应消息的目的地址的地理坐标的一跳范围内,则通过下游无线接口将该响应消息转发给目的地址所标识的移动节点M2,否则通过下游无线接口将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤609;
步骤611:如果移动节点M2接收到响应消息,则执行步骤613,否则执行步骤612;
步骤612:如果接收到响应消息的移动节点在该响应消息的目的地址的地理坐标的一跳范围内,则将该响应消息转发给目的地址所标识的移动节点M2,否则将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点,执行步骤609;
步骤613:移动节点M2接收到响应消息后,保存响应消息负载中的数据块,如果移动节点M2接收到数据D1的所有Z3个数据块,则执行步骤614,否则执行步骤608;
步骤614:结束;
在数据D2由数据IDDID2唯一标识,数据D2的长度小于预定值,移动节点M2的接口能够通过X信道进行通信的条件下,移动节点M2需要获取数据D2,则移动节点M2随机选择一个空闲的信道,该信道的信道ID为c4,然后移动节点M2查看地址表,选择信道ID域值等于c4的所有地址表项,如果信道ID域值等于c4的所有地址表项总数为Z4,移动节点M2创建一个地址表项集合,该地址表项集合由信道ID域值等于c4的Z4个地址表项构成;移动节点M2通过下述过程从服务器S1获取数据D2:
步骤701:开始;
步骤702:移动节点M2设置参数k4,参数k4的初始值为1;
步骤703:移动节点M2从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个请求消息,该请求消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据IDDID2、地址表项总数为Z4、参数k4以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该请求消息,同时将参数k4递增1,将随机选取的地址表项从地址表项集合中删除;
步骤704:如果地址表项集合为空,则执行步骤705,否则执行步骤703;
步骤705:如果移动节点接收到该请求消息,则执行步骤706,否则执行步骤707;
步骤706:如果接收到请求消息的移动节点在该请求消息的目的地址的地理坐标的一跳范围内,则直接将该请求消息转发给目的地址所标识的目的接入节点,否则将该请求消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤705;
步骤707:目的接入节点从下游无线接口接收到请求消息后,将该请求消息的目的地址更新为该请求消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将请求消息转发给相连的接入路由器,接入路由器从下游有线接口接收到请求消息后,通过上游有线接口转发该请求消息,该请求消息通过互联网骨干网最终到达服务器S1;
步骤708:服务器S1接收到请求消息后,保存请求消息负载中的数据ID DID2,参数Z4和k4,服务器S1将数据D2平均划分为Z4个数据块Cx3,x3=1…Z4数据块Cx3由数据块ID x3唯一标识,然后选取数据块ID等于k4的数据块Ck4,并发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,目的地址为接收到的请求消息的源地址,负载为数据块ID k4以及数据块Ck4;该响应消息通过互联网骨干网最终到达目的接入路由器,目的接入路由器的网络前缀与响应消息的目的地址的网络前缀相同;目的接入路由器通过该响应消息目的地址的接入节点ID所标识的下游无线接口转发该响应消息;
步骤709:判断接入节点是否从上游有线接口接收到响应消息后,执行步骤710,否则执行步骤711;
步骤710:如果接入节点在该响应消息的目的地址的地理坐标的一跳范围内,则通过下游无线接口将该响应消息转发给目的地址所标识的移动节点M2,否则通过下游无线接口将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤709;
步骤711:如果移动节点M2接收到响应消息,则执行步骤713,否则执行步骤712;
步骤712:如果接收到响应消息的移动节点在该响应消息的目的地址的地理坐标的一跳范围内,则将该响应消息转发给目的地址所标识的移动节点M2,否则将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤709;
步骤713:移动节点M2接收到响应消息后,保存响应消息负载中的数据块,如果移动节点M2接收到数据D2的所有Z4个数据块,则执行步骤714,否则执行步骤708;
步骤714:结束。
说明书

技术领域

[0001] 本发明涉及一种实现方法,尤其涉及的是一种低延迟的物联网实现方法。

背景技术

[0002] 在典型的物联网构架中,一个电子标签具有全球唯一的电子编码,将其附着在物品上标识目标对象。目前的物联网架构能够很好地跟踪目标对象,但仍存在以下不足:
[0003] 1)用户只能通过数据库服务器来获取目标对象信息,无法实现与目标对象直接地点到点通信;
[0004] 2)用户只能查询目标对象的信息,无法直接控制目标对象的状态;
[0005] 3)目标对象信息只能通过读写器被动地读取,目标对象无法根据当前的状态主动请求数据更新或发出警报信息。
[0006] 本发明克服了上述不足,从而实现物联网数据的实时通信。

发明内容

[0007] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种低延迟的物联网实现方法。
[0008] 技术方案:本发明公开了一种低延迟的物联网实现方法,所述物联网包括接入路由器、接入节点和移动节点;每个移动节点配置一个无线接口,该无线接口能够采用X信道进行通信,每个移动节点的X信道都相同,每个信道由信道ID c唯一标识,c取值1~X,X为大于1的正整数;接入路由器配置一个上游有线接口和Y个下游有线接口,Y≥2X,每个下游有线接口由接口ID t唯一标识,t=1…Y;接入节点配置一个上游有线接口和一个下游无线接口,接入路由器的上游有线接口与互联网骨干网相连,接入路由器的一个下游有线接口与一个接入节点的上游有线接口相连;接入节点的下游无线接口采用一种信道进行通信,该信道的信道ID为h0,X≥h0≥1;一个接入路由器的Y个下游有线接口连接Y个接入节点,所述接入节点的通信信道的信道ID集合为 i取值1~X,U为并集符号,即集合包含X元素,1到X的自然数;
[0009] 接入路由器、接入节点以及移动节点通过地址实现数据通信,一个地址的长度为128比特,由网络前缀、地理坐标、接入节点ID和设备ID构成;
[0010] 接入路由器的上游有线接口和下游有线接口的地址的网络前缀相同且预先设置,例如30ab:a:b:c::/64,接入路由器启动后,为上游有线接口和下游有线接口配置地址,其中,上游有线接口的地址的网络前缀为预先设置的网络前缀,地理坐标为0,接入节点ID为0,设备ID为Y+1;每个下游有线接口的地址的网络前缀为预先设置的网络前缀,地理坐标为
0,接入节点ID为0,设备ID为该下游有线接口的接口ID;接入路由器为每个下游有线接口配置地址后,从该下游有线接口发送一个信标消息,该信标消息的源地址为该下游有线接口的地址;
[0011] 一个接入节点的上游有线接口和下游无线接口分别配置一个地址;接入节点从上游有线接口接收到信标消息后,分别为上游有线接口和下游无线接口配置一个地址,在上游有线接口的地址中,网络前缀等于接收到的信标消息的源地址的网络前缀,地理坐标和设备ID均为0,接入节点ID为接收到的信标消息的源地址的设备ID;在下游无线接口的地址中,网络前缀等于接收到的信标消息的源地址的网络前缀,地理坐标为接入节点当前的地理坐标,设备ID为0,接入节点ID为接收到的信标消息的源地址的设备ID;接入节点为上游有线接口和下游无线接口配置地址后,利用下游无线接口的工作信道定期发送信标消息;在该信标消息中,源地址为下游无线接口的地址,负载为广播范围参数Hop,参数Hop的初始值预先设置,例如等于10;移动节点接收到一个信标消息后,将该信标消息中的广播范围参数Hop递减1;如果该参数Hop等于0,该移动节点则停止转发该信标消息,否则转发该信标消息;
[0012] 移动节点维护一个信道表和地址表,一个信道表项包含信道ID域和信道域;一个地址表项包含信道ID域,接入节点地址域、移动节点地址域和生命周期域;接入路由器维护一个设备ID集合来保存已经分配的设备ID;
[0013] 移动节点启动后,将自己接口支持的X信道构建成一个信道集合,即该信道集合由X信道构成,然后执行下述过程创建信道表:
[0014] 步骤101:开始;
[0015] 步骤102:移动节点设置一个变量h,该变量的初始值为1;
[0016] 步骤103:移动节点从信道集合中随机选取一个信道,并创建一个信道表项,该信道表项的信道ID为h,信道为选取的信道;移动节点从信道集合中删除选取的信道,并将变量h值递增1;
[0017] 步骤104:移动节点判断信道集合是否为空,如果是,执行步骤105,否则执行步骤103;
[0018] 步骤105:结束;
[0019] 移动节点启动后,定期扫描X信道,为每个信道配置一个临时地址,临时地址的网络前缀和接入节点ID为0,地理坐标为移动节点当前地理位置的坐标,设备ID为大于0的随机数,然后移动节点从该信道发送一个信标消息,该信标消息的源地址为该信道的临时地址,负载为空;
[0020] 本发明所述方法中,如果移动节点M1通过信道ID为c的信道接收到一个来自接入节点AP1的信标消息b1,接入节点AP1的上游有线接口与接入路由器AR1的下游有线接口相连,那么接入节点通过下述过程获取地址;
[0021] 步骤201:开始;
[0022] 步骤202:移动节点M1查看地址表,如果存在一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于信标消息b1的源地址,则执行步骤203,否则执行步骤204;
[0023] 步骤203:移动节点M1选择信道ID为c且接入节点地址域值等于信标消息b1的源地址的地址表项,将该地址表项的生命周期设置为最大值,例如1s,执行步骤217;
[0024] 步骤204:移动节点M1查看地址表,如果存在一个地址表项,该地址表项的移动节点地址域值的网络前缀等于信标消息b1的源地址的网络前缀,则执行步骤205,否则执行步骤206;
[0025] 步骤205:移动节点M1选择移动节点地址域值的网络前缀等于信标消息b1的源地址的网络前缀的地址表项,然后创建一个地址,该地址的网络前缀和接入节点ID等于信标消息b1的源地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为该地址表项的移动节点地址域值的设备ID;移动节点M1创建一个地址表项,该地址表项的信道ID域值为c,接入节点地址域值等于信标消息b1的源地址,移动节点地址域值等于构建的地址,执行步骤217;
[0026] 步骤206:移动节点M1创建一个地址,该地址的网络前缀和接入节点ID等于信标消息b1的源地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为大于0的随机数;移动节点M1采用信道ID c所标识的信道发送一个配置消息,该配置消息的源地址为构建的地址,目的地址为信标消息b1的源地址;
[0027] 步骤207:如果移动节点接收到该配置消息,则执行步骤208,否则执行步骤209;
[0028] 步骤208:如果接收到配置消息的移动节点在该配置消息的目的地址的地理坐标的一跳范围内,则直接将该配置消息转发给目的地址所标识的接入节点AP1,否则将该配置消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤207;
[0029] 步骤209:接入节点AP1接收到配置消息后,将该配置消息通过上游有线接口转发给接入路由器AR1,接入路由器AR1查看该配置消息的源地址的设备ID是否在自己的设备ID集合中;如果是,则执行步骤210,否则执行步骤211;
[0030] 步骤210:接入路由器AR1选择一个不在自己的设备ID集合中的随机数,构建一个配置成功消息,该配置成功消息的源地址为接收到的配置消息的目的地址,该配置成功消息的目的地址为接收到的配置消息的源地址,负载为选择的随机数,然后接入路由器AR1从接收到的配置消息的目的地址的接入节点ID所标识的下游有线接口发送该配置成功消息,并将选择的随机数加入到自己的设备ID集合中,执行步骤212;
[0031] 步骤211:接入路由器AR1构建一个配置成功消息,该配置成功消息的源地址为接收到的配置消息的目的地址,该配置成功消息的目的地址为接收到的配置消息的源地址,负载为空,然后从接收到的配置消息的目的地址的接入节点ID所标识的下游有线接口发送该配置成功消息,并将接收到的配置消息的源地址的设备ID加入到自己的设备ID集合中;
[0032] 步骤212:接入节点AP1接收到配置成功消息后,执行步骤213,否则执行步骤214;
[0033] 步骤213:如果接入节点AP1在该配置成功消息的目的地址的地理坐标的一跳范围内,则通过下游无线接口将该配置成功消息转发给目的地址所标识的移动节点M1,否则通过下游无线接口将该配置成功消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤212;
[0034] 步骤214:如果移动节点M1接收到配置成功消息,则执行步骤216,否则执行步骤215;
[0035] 步骤215:如果接收到配置成功消息的移动节点在该配置成功消息的目的地址的地理坐标的一跳范围内,则直接将该配置成功消息转发给目的地址所标识的移动节点M1,否则将该配置成功消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤212;
[0036] 步骤216:移动节点M1通过信道ID为c的信道接收到配置成功消息后,如果配置成功消息负载为空,则创建一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于该配置成功消息的源地址,移动节点地址域值等于该配置成功消息的目的地址;否则,移动节点M1创建一个地址,该地址的网络前缀和接入节点ID等于该配置成功消息的目的地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为该配置成功消息负载中的随机数,然后移动节点M1创建一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于该配置成功消息的源地址,移动节点地址域值等于创建的地址;
[0037] 步骤217:结束。
[0038] 移动节点通过上述过程可以快速配置地址从而获取数据。
[0039] 本发明所述方法中,如果移动节点M1检测到地址表项E1的生命周期衰减为0,则执行下述操作回收设备ID;
[0040] 步骤301:开始;
[0041] 步骤302:移动节点M1查看地址表,如果除了地址表项E1之外还有另外一个地址表项的移动节点地址域值的网络前缀等于地址表项E的移动节点地址域值的网络前缀,则执行步骤307,否则执行步骤303;
[0042] 步骤303:移动节点M1通过地址表项E1的信道ID所标识的信道发送一个删除消息,该删除消息的源地址为地址表项E1的移动节点地址域值,目的地址为地址表项E1的接入节点地址域值,负载为空;移动节点M1从地址表中删除地址表项E1;
[0043] 步骤304:如果移动节点接收到该删除消息,则执行步骤305,否则执行步骤306;
[0044] 步骤305:如果接收到删除消息的移动节点在该删除消息的目的地址的地理坐标的一跳范围内,则直接将该删除消息转发给目的地址所标识的目的接入节点,执行步骤306,否则将该删除消息转发给距离目的地址的地理坐标最近的邻居移动节点,执行步骤
304;
[0045] 步骤306:目的接入节点接收到删除消息后,将该删除消息通过上游有线接口转发给连接的接入路由器,接入路由器接收到删除消息后,从自己的设备ID集合中删除该删除消息的源地址的设备ID;
[0046] 步骤307:结束。
[0047] 上述过程可以实现地址回收从而确保移动节点能够成功获取配置地址。
[0048] 本发明所述方法中,在一种类型的数据由数据ID唯一标识,一种类型的数据能够被分解为一个以上的数据块,每个数据块由数据块ID标识,数据D1由数据ID DID1唯一标识,数据D1的长度大于预定值,例如1GB,移动节点M1的接口能够通过X信道进行通信的条件下,移动节点M1产生数据D1后,查看地址表,如果地址表中的地址表项总数为Z,移动节点M1将数据D1平均划分为Z个数据块Ck,k取值1~Z,数据块Ck由数据块ID k唯一标识;然后移动节点M1通过下述过程将数据D1上传到服务器S1:
[0049] 步骤401:开始;
[0050] 步骤402:移动节点M1设置参数c1和参数k1,参数c1和参数k1的初始值为1;
[0051] 步骤403:移动节点M1选择信道ID域值等于c1的所有地址表项,对于每个选择的地址表项,移动节点M1执行下述操作:构建一个数据消息,该数据消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID1、数据块ID k1、由数据块ID k1标识的数据块Ck1以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该数据消息,同时将参数k1递增1;
[0052] 步骤404:移动节点M1将参数c1递增1,如果参数c1大于X,则执行步骤405,否则执行步骤403;
[0053] 步骤405:如果移动节点接收到该数据消息,则执行步骤406,否则执行步骤407;
[0054] 步骤406:如果接收到数据消息的移动节点在该数据消息的目的地址的地理坐标的一跳范围内,则直接将该数据消息转发给目的地址所标识的目的接入节点,否则将该数据消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤405;
[0055] 步骤407:目的接入节点接收到数据消息后,将该数据消息的目的地址更新为该数据消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将数据消息转发给相连的接入路由器,接入路由器从下游有线接口接收到数据消息后,通过上游有线接口转发该数据消息,该数据消息通过互联网骨干网最终到达服务器S1;
[0056] 步骤408:服务器S1接收到数据消息后,保存数据消息中的数据块,如果服务器S1接收到数据D1的所有Z个数据块,则执行步骤409,否则执行步骤405;
[0057] 步骤409:结束。
[0058] 上述过程能够快速将数据上传到服务器从而快速获取数据。
[0059] 本发明所述方法中,在数据D2由数据ID DID2唯一标识,数据D2的长度小于预定值,例如1GB,移动节点M1的接口能够通过X信道进行通信的条件下,移动节点M1产生数据D2后,随机选择一个空闲的信道,该信道的信道ID为c2,然后移动节点M1查看地址表,选择信道ID域值等于c2的所有地址表项,如果信道ID域值等于c2的所有地址表项总数为Z2,移动节点M1将数据D2平均划分为Z2个数据块Cx1,x1=1…Z2,数据块Cx1由数据块ID x1唯一标识;移动节点M1创建一个地址表项集合,该集合由信道ID域值等于c2的Z2个地址表项构成,然后移动节点M1通过下述过程将数据D2上传到服务器S1:
[0060] 步骤501:开始;
[0061] 步骤502:移动节点M1设置参数k2,参数k2的初始值为1;
[0062] 步骤503:移动节点M1从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个数据消息,该数据消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID2、数据块ID k2、数据块ID k2标识的数据块Ck2以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该数据消息,同时将参数k2递增1,将随机选取的地址表项从地址表项集合中删除;
[0063] 步骤504:如果地址表项集合为空,则执行步骤505,否则执行步骤503;
[0064] 步骤505:如果移动节点接收到该数据消息,则执行步骤506,否则执行步骤507;
[0065] 步骤506:如果接收到数据消息的移动节点在该数据消息的目的地址的地理坐标的一跳范围内,则直接将该数据消息转发给目的地址所标识的目的接入节点,否则将该数据消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤505;
[0066] 步骤507:目的接入节点从下游无线接口接收到数据消息后,将该数据消息的目的地址更新为该数据消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将数据消息转发给相连的接入路由器,接入路由器从下游有线接口接收到数据消息后,通过上游有线接口转发该数据消息,该数据消息通过互联网骨干网最终到达服务器S1;
[0067] 步骤508:服务器S1接收到数据消息后,保存数据消息中的数据块,如果服务器S1接收到数据D2的所有Z2个数据块,则执行步骤509,否则执行步骤505;
[0068] 步骤509:结束。
[0069] 上述过程能够快速将数据上传到服务器从而快速获取数据。
[0070] 本发明所述方法中,在数据D1由数据ID DID1唯一标识,数据D1的长度大于预定值,例如1GB,移动节点M2的接口能够通过X信道进行通信的条件下,移动节点M2需要获取数据D1,移动节点M2的地址表中的地址表项总数为Z3,移动节点M2创建一个地址表项集合,该地址表项集合由地址表中的所有地址表项构成,移动节点M2通过下述过程从服务器S1获取数据D1:
[0071] 步骤601:开始;
[0072] 步骤602:移动节点M2设置参数k3,参数k3的初始值为1;
[0073] 步骤603:移动节点M2从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个请求消息,该请求消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID1、地址表项总数为Z3、参数k3以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该请求消息,同时将参数k3递增1,将随机选取的地址表项从地址表项集合中删除;
[0074] 步骤604:如果地址表项集合为空,则执行步骤605,否则执行步骤603;
[0075] 步骤605:如果移动节点接收到该请求消息,则执行步骤606,否则执行步骤607;
[0076] 步骤606:如果接收到请求消息的移动节点在该请求消息的目的地址的地理坐标的一跳范围内,则直接将该请求消息转发给目的地址所标识的目的接入节点,否则将该请求消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤605;
[0077] 步骤607:目的接入节点从下游无线接口接收到请求消息后,将该请求消息的目的地址更新为该请求消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将请求消息转发给相连的接入路由器,接入路由器从下游有线接口接收到请求消息后,通过上游有线接口转发该请求消息,该请求消息通过互联网骨干网最终到达服务器S1;
[0078] 步骤608:服务器S1接收到请求消息后,保存请求消息负载中的数据ID DID1,参数Z3和k3,服务器S1将数据D1平均划分为Z3个数据块Cx2,x2=1…Z3,数据块Cx2由数据块ID x2唯一标识,然后选取数据块ID等于k3的数据块Ck3,并发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,目的地址为接收到的请求消息的源地址,负载为数据块ID k3以及数据块Ck3;该响应消息通过互联网骨干网最终到达目的接入路由器,目的接入路由器的网络前缀与响应消息的目的地址的网络前缀相同;目的接入路由器通过该响应消息目的地址的接入节点ID所标识的下游有线接口转发该响应消息;
[0079] 步骤609:接入节点从上游有线接口接收到响应消息后,执行步骤610,否则执行步骤611;
[0080] 步骤610:如果接入节点在该响应消息的目的地址的地理坐标的一跳范围内,则通过下游无线接口将该响应消息转发给目的地址所标识的移动节点M2,否则通过下游无线接口将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤609;
[0081] 步骤611:如果移动节点M2接收到响应消息,则执行步骤613,否则执行步骤612;
[0082] 步骤612:如果接收到响应消息的移动节点在该响应消息的目的地址的地理坐标的一跳范围内,则将该响应消息转发给目的地址所标识的移动节点M2,否则将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点,执行步骤609;
[0083] 步骤613:移动节点M2接收到响应消息后,保存响应消息负载中的数据块,如果移动节点M2接收到数据D1的所有Z3个数据块,则执行步骤614,否则执行步骤608;
[0084] 步骤614:结束。
[0085] 移动节点通过上述过程可以快速获取数据。
[0086] 本发明所述方法中,在数据D2由数据ID DID2唯一标识,数据D2的长度小于预定值,例如1GB,移动节点M2的接口能够通过X信道进行通信的条件下,移动节点M2需要获取数据D2,则移动节点M2随机选择一个空闲的信道,该信道的信道ID为c4,然后移动节点M2查看地址表,选择信道ID域值等于c4的所有地址表项,如果信道ID域值等于c4的所有地址表项总数为Z4,移动节点M2创建一个地址表项集合,该地址表项集合由信道ID域值等于c4的Z4个地址表项构成;移动节点M2通过下述过程从服务器S1获取数据D2:
[0087] 步骤701:开始;
[0088] 步骤702:移动节点M2设置参数k4,参数k4的初始值为1;
[0089] 步骤703:移动节点M2从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个请求消息,该请求消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID2、地址表项总数为Z4、参数k4以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该请求消息,同时将参数k4递增1,将随机选取的地址表项从地址表项集合中删除;
[0090] 步骤704:如果地址表项集合为空,则执行步骤705,否则执行步骤703;
[0091] 步骤705:如果移动节点接收到该请求消息,则执行步骤706,否则执行步骤707;
[0092] 步骤706:如果接收到请求消息的移动节点在该请求消息的目的地址的地理坐标的一跳范围内,则直接将该请求消息转发给目的地址所标识的目的接入节点,否则将该请求消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤705;
[0093] 步骤707:目的接入节点从下游无线接口接收到请求消息后,将该请求消息的目的地址更新为该请求消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将请求消息转发给相连的接入路由器,接入路由器从下游有线接口接收到请求消息后,通过上游有线接口转发该请求消息,该请求消息通过互联网骨干网最终到达服务器S1;
[0094] 步骤708:服务器S1接收到请求消息后,保存请求消息负载中的数据ID DID2,参数Z4和k4,服务器S1将数据D2平均划分为Z4个数据块Cx3,x3=1…Z4数据块Cx3由数据块ID x3唯一标识,然后选取数据块ID等于k4的数据块Ck4,并发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,目的地址为接收到的请求消息的源地址,负载为数据块ID k4以及数据块Ck4;该响应消息通过互联网骨干网最终到达目的接入路由器,目的接入路由器的网络前缀与响应消息的目的地址的网络前缀相同;目的接入路由器通过该响应消息目的地址的接入节点ID所标识的下游有线接口转发该响应消息;
[0095] 步骤709:判断接入节点是否从上游有线接口接收到响应消息后,执行步骤710,否则执行步骤711;
[0096] 步骤710:如果接入节点在该响应消息的目的地址的地理坐标的一跳范围内,则通过下游无线接口将该响应消息转发给目的地址所标识的移动节点M2,否则通过下游无线接口将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤709;
[0097] 步骤711:如果移动节点M2接收到响应消息,则执行步骤713,否则执行步骤712;
[0098] 步骤712:如果接收到响应消息的移动节点在该响应消息的目的地址的地理坐标的一跳范围内,则将该响应消息转发给目的地址所标识的移动节点M2,否则将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤709;
[0099] 步骤713:移动节点M2接收到响应消息后,保存响应消息负载中的数据块,如果移动节点M2接收到数据D2的所有Z4个数据块,则执行步骤714,否则执行步骤708;
[0100] 步骤714:结束。
[0101] 移动节点通过上述过程可以快速获取数据。
[0102] 有益效果:本发明提供了一种低延迟的物联网实现方法,移动设备通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。

附图说明

[0103] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0104] 图1为本发明所述的创建信道表流程示意图。
[0105] 图2为本发明所述配置地址流程示意图。
[0106] 图3为本发明所述回收地址流程示意图。
[0107] 图4为本发明所述上传数据流程示意图。
[0108] 图5为本发明所述服务器获取数据流程示意图。
[0109] 图6为本发明所述获取数据块流程示意图。
[0110] 图7为本发明所述获取数据流程示意图。具体实施方式:
[0111] 本发明提供了一种低延迟的物联网实现方法,移动设备通过本发明提供的方法能够快速获取数据,从而降低数据通信延迟和代价,提高服务质量。本发明可应用于农业工程化、智能医疗等诸多领域,具有广泛的应用前景。
[0112] 图1为本发明所述的创建信道表流程示意图。所述物联网包括接入路由器、接入节点和移动节点;每个移动节点配置一个无线接口,该无线接口能够采用X信道进行通信,每个移动节点的X信道都相同,每个信道由信道ID c唯一标识,c取值1~X,X为大于1的正整数;接入路由器配置一个上游有线接口和Y个下游有线接口,Y≥2X,每个下游有线接口由接口ID t唯一标识,t=1…Y;接入节点配置一个上游有线接口和一个下游无线接口,接入路由器的上游有线接口与互联网骨干网相连,接入路由器的一个下游有线接口与一个接入节点的上游有线接口相连;接入节点的下游无线接口采用一种信道进行通信,该信道的信道ID为h,X≥h≥1;一个接入路由器的Y个下游有线接口连接Y个接入节点,所述接入节点的通信信道的信道ID集合为
[0113] 接入路由器、接入节点以及移动节点通过地址实现数据通信,一个地址的长度为128比特,由网络前缀、地理坐标、接入节点ID和设备ID构成;
[0114] 接入路由器的上游有线接口和下游有线接口的地址的网络前缀相同且预先设置;,接入路由器启动后,为上游有线接口和下游有线接口配置地址,其中,上游有线接口的地址的网络前缀为预先设置的网络前缀,地理坐标为0,接入节点ID为0,设备ID为Y+1;每个下游有线接口的地址的网络前缀为预先设置的网络前缀,地理坐标为0,接入节点ID为0,设备ID为该下游有线接口的接口ID;接入路由器为每个下游有线接口配置地址后,从该下游有线接口发送一个信标消息,该信标消息的源地址为该下游有线接口的地址;
[0115] 一个接入节点的上游有线接口和下游有线接口分别配置一个地址;接入节点从上游有线接口接收到信标消息后,分别为上游有线接口和下游有线接口配置一个地址,在上游有线接口的地址中,网络前缀等于接收到的信标消息的源地址的网络前缀,地理坐标和设备ID均为0,接入节点ID为接收到的信标消息的源地址的设备ID;在下游有线接口的地址中,网络前缀等于接收到的信标消息的源地址的网络前缀,地理坐标为接入节点当前的地理坐标,设备ID为0,接入节点ID为接收到的信标消息的源地址的设备ID;接入节点为上游有线接口和下游无线接口配置地址后,利用下游有线接口的工作信道定期发送信标消息;在该信标消息中,源地址为下游有线接口的地址,负载为广播范围参数Hop,参数Hop的初始值预先设置;移动节点接收到一个信标消息后,将该信标消息中的广播范围参数Hop递减1;
如果该参数Hop等于0,该移动节点则停止转发该信标消息,否则转发该信标消息;
[0116] 移动节点维护一个信道表和地址表,一个信道表项包含信道ID域和信道域;一个地址表项包含信道ID域,接入节点地址域、移动节点地址域和生命周期域;接入路由器维护一个设备ID集合来保存已经分配的设备ID;
[0117] 移动节点启动后,将自己接口支持的X信道构建成一个信道集合,即该信道集合由X信道构成,然后执行下述过程创建信道表:
[0118] 步骤101:开始;
[0119] 步骤102:移动节点设置一个变量h,该变量的初始值为1;
[0120] 步骤103:移动节点从信道集合中随机选取一个信道,并创建一个信道表项,该信道表项的信道ID为h,信道值为选取的信道;移动节点从信道集合中删除选取的信道,并将变量h值递增1;
[0121] 步骤104:移动节点判断信道集合是否为空,如果是,执行步骤105,否则执行步骤103;
[0122] 步骤105:结束;
[0123] 移动节点启动后,定期扫描X信道,为每个信道配置一个临时地址,临时地址的网络前缀和接入节点ID为0,地理坐标为移动节点当前地理位置的坐标,设备ID为大于0的随机数,然后移动节点从该信道发送一个信标消息,该信标消息的源地址为该信道的临时地址,负载为空。
[0124] 图2为本发明所述配置地址流程示意图。如果移动节点M1通过信道ID为c的信道接收到一个来自接入节点AP1的信标消息b1,接入节点AP1的上游有线接口与接入路由器AR1的下游有线接口相连,那么接入节点通过下述过程获取地址;
[0125] 步骤201:开始;
[0126] 步骤202:移动节点M1查看地址表,如果存在一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于信标消息b1的源地址,则执行步骤203,否则执行步骤204;
[0127] 步骤203:移动节点M1选择信道ID为c且接入节点地址域值等于信标消息b1的源地址的地址表项,将该地址表项的生命周期设置为最大值,执行步骤217;
[0128] 步骤204:移动节点M1查看地址表,如果存在一个地址表项,该地址表项的移动节点地址域值的网络前缀等于信标消息b1的源地址的网络前缀,则执行步骤205,否则执行步骤206;
[0129] 步骤205:移动节点M1选择移动节点地址域值的网络前缀等于信标消息b1的源地址的网络前缀的地址表项,然后创建一个地址,该地址的网络前缀和接入节点ID等于信标消息b1的源地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为该地址表项的移动节点地址域值的设备ID;移动节点M1创建一个地址表项,该地址表项的信道ID域值为c,接入节点地址域值等于信标消息b1的源地址,移动节点地址域值等于构建的地址,执行步骤217;
[0130] 步骤206:移动节点M1创建一个地址,该地址的网络前缀和接入节点ID等于信标消息b1的源地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为大于0的随机数;移动节点M1采用信道ID c所标识的信道发送一个配置消息,该配置消息的源地址为构建的地址,目的地址为信标消息b1的源地址;
[0131] 步骤207:如果移动节点接收到该配置消息,则执行步骤208,否则执行步骤209;
[0132] 步骤208:如果接收到配置消息的移动节点在该配置消息的目的地址的地理坐标的一跳范围内,则直接将该配置消息转发给目的地址所标识的接入节点AP1,否则将该配置消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤207;
[0133] 步骤209:接入节点AP1接收到配置消息后,将该配置消息通过上游有线接口转发给接入路由器AR1,接入路由器AR1查看该配置消息的源地址的设备ID是否在自己的设备ID集合中;如果是,则执行步骤210,否则执行步骤211;
[0134] 步骤210:接入路由器AR1选择一个不在自己的设备ID集合中的随机数,构建一个配置成功消息,该配置成功消息的源地址为接收到的配置消息的目的地址,该配置成功消息的目的地址为接收到的配置消息的源地址,负载为选择的随机数,然后接入路由器AR1从接收到的配置消息的目的地址的接入节点ID所标识的下游有线接口发送该配置成功消息,并将选择的随机数加入到自己的设备ID集合中,执行步骤212;
[0135] 步骤211:接入路由器AR1构建一个配置成功消息,该配置成功消息的源地址为接收到的配置消息的目的地址,该配置成功消息的目的地址为接收到的配置消息的源地址,负载为空,然后从接收到的配置消息的目的地址的接入节点ID所标识的下游有线接口发送该配置成功消息,并将接收到的配置消息的源地址的设备ID加入到自己的设备ID集合中;
[0136] 步骤212:接入节点AP1接收到配置成功消息后,执行步骤213,否则执行步骤214;
[0137] 步骤213:如果接入节点AP1在该配置成功消息的目的地址的地理坐标的一跳范围内,则通过下游有线接口将该配置成功消息转发给目的地址所标识的移动节点M1,否则通过下游有线接口将该配置成功消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤212;
[0138] 步骤214:如果移动节点M1接收到配置成功消息,则执行步骤216,否则执行步骤215;
[0139] 步骤215:如果接收到配置成功消息的移动节点在该配置成功消息的目的地址的地理坐标的一跳范围内,则直接将该配置成功消息转发给目的地址所标识的移动节点M1,否则将该配置成功消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤212;
[0140] 步骤216:移动节点M1通过信道ID为c的信道接收到配置成功消息后,如果配置成功消息负载为空,则创建一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于该配置成功消息的源地址,移动节点地址域值等于该配置成功消息的目的地址;否则,移动节点M1创建一个地址,该地址的网络前缀和接入节点ID等于该配置成功消息的目的地址的网络前缀和接入节点ID,地理坐标为移动节点M1当前的地理坐标,设备ID为该配置成功消息负载中的随机数,然后移动节点M1创建一个地址表项,该地址表项的信道ID为c,接入节点地址域值等于该配置成功消息的源地址,移动节点地址域值等于创建的地址;
[0141] 步骤217:结束。
[0142] 图3为本发明所述回收地址流程示意图。如果移动节点M1检测到地址表项E1的生命周期衰减为0,则执行下述操作回收设备ID;
[0143] 步骤301:开始;
[0144] 步骤302:移动节点M1查看地址表,如果除了地址表项E1之外还有另外一个地址表项的移动节点地址域值的网络前缀等于地址表项E的移动节点地址域值的网络前缀,则执行步骤307,否则执行步骤303;
[0145] 步骤303:移动节点M1通过地址表项E1的信道ID所标识的信道发送一个删除消息,该删除消息的源地址为地址表项E1的移动节点地址域值,目的地址为地址表项E1的接入节点地址域值,负载为空;移动节点M1从地址表中删除地址表项E1;
[0146] 步骤304:如果移动节点接收到该删除消息,则执行步骤305,否则执行步骤306;
[0147] 步骤305:如果接收到删除消息的移动节点在该删除消息的目的地址的地理坐标的一跳范围内,则直接将该删除消息转发给目的地址所标识的目的接入节点,执行步骤306,否则将该删除消息转发给距离目的地址的地理坐标最近的邻居移动节点,执行步骤
304;
[0148] 步骤306:目的接入节点接收到删除消息后,将该删除消息通过上游有线接口转发给连接的接入路由器,接入路由器接收到删除消息后,从自己的设备ID集合中删除该删除消息的源地址的设备ID;
[0149] 步骤307:结束。
[0150] 图4为本发明所述上传数据流程示意图。在一种类型的数据由数据ID唯一标识,一种类型的数据能够被分解为一个以上的数据块,每个数据块由数据块ID标识,数据D1由数据ID DID1唯一标识,数据D1的长度大于预定值,移动节点M1的接口能够通过X信道进行通信的条件下,移动节点M1产生数据D1后,查看地址表,如果地址表中的地址表项总数为Z,移动节点M1将数据D1平均划分为Z个数据块Ck,k取值1~Z,数据块Ck由数据块ID k唯一标识;然后移动节点M1通过下述过程将数据D1上传到服务器S1:
[0151] 步骤401:开始;
[0152] 步骤402:移动节点M1设置参数c1和参数k1,参数c1和参数k1的初始值为1;
[0153] 步骤403:移动节点M1选择信道ID域值等于c1的所有地址表项,对于每个选择的地址表项,移动节点M1执行下述操作:构建一个数据消息,该数据消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID1、数据块ID k1、数据块ID k1标识的数据块Ck1以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该数据消息,同时将参数k1递增1;
[0154] 步骤404:移动节点M1将参数c1递增1,如果参数c1大于X,则执行步骤405,否则执行步骤403;
[0155] 步骤405:如果移动节点接收到该数据消息,则执行步骤406,否则执行步骤407;
[0156] 步骤406:如果接收到数据消息的移动节点在该数据消息的目的地址的地理坐标的一跳范围内,则直接将该数据消息转发给目的地址所标识的目的接入节点,否则将该数据消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤405;
[0157] 步骤407:目的接入节点接收到数据消息后,将该数据消息的目的地址更新为该数据消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将数据消息转发给相连的接入路由器,接入路由器从下游有线接口接收到数据消息后,通过上游有线接口转发该数据消息,该数据消息通过互联网骨干网最终到达服务器S1;
[0158] 步骤408:服务器S1接收到数据消息后,保存数据消息中的数据块,如果服务器S1接收到数据D1的所有Z个数据块,则执行步骤409,否则执行步骤405;
[0159] 步骤409:结束。
[0160] 图5为本发明所述服务器获取数据流程示意图。在数据D2由数据ID DID2唯一标识,数据D2的长度小于预定值,移动节点M1的接口能够通过X信道进行通信的条件下,移动节点M1产生数据D2后,随机选择一个空闲的信道,该信道的信道ID为c2,然后移动节点M1查看地址表,选择信道ID域值等于c2的所有地址表项,如果信道ID域值等于c2的所有地址表项总数为Z2,移动节点M1将数据D2平均划分为Z2个数据块Cx1,x1=1…Z2,数据块Cx1由数据块ID x1唯一标识;移动节点M1创建一个地址表项集合,该集合由信道ID域值等于c2的Z2个地址表项构成,然后移动节点M1通过下述过程将数据D2上传到服务器S1:
[0161] 步骤501:开始;
[0162] 步骤502:移动节点M1设置参数k2,参数k2的初始值为1;
[0163] 步骤503:移动节点M1从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个数据消息,该数据消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID2、数据块ID k2、数据块ID k2标识的数据块Ck2以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该数据消息,同时将参数k2递增1,将随机选取的地址表项从地址表项集合中删除;
[0164] 步骤504:如果地址表项集合为空,则执行步骤505,否则执行步骤503;
[0165] 步骤505:如果移动节点接收到该数据消息,则执行步骤506,否则执行步骤507;
[0166] 步骤506:如果接收到数据消息的移动节点在该数据消息的目的地址的地理坐标的一跳范围内,则直接将该数据消息转发给目的地址所标识的目的接入节点,否则将该数据消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤505;
[0167] 步骤507:目的接入节点从下游有线接口接收到数据消息后,将该数据消息的目的地址更新为该数据消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将数据消息转发给相连的接入路由器,接入路由器从下游有线接口接收到数据消息后,通过上游有线接口转发该数据消息,该数据消息通过互联网骨干网最终到达服务器S1;
[0168] 步骤508:服务器S1接收到数据消息后,保存数据消息中的数据块,如果服务器S1接收到数据D2的所有Z2个数据块,则执行步骤509,否则执行步骤505;
[0169] 步骤509:结束。
[0170] 图6为本发明所述获取数据块流程示意图。在数据D1由数据ID DID1唯一标识,数据D1的长度大于预定值,移动节点M2的接口能够通过X信道进行通信的条件下,移动节点M2需要获取数据D1,移动节点M2的地址表中的地址表项总数为Z3,移动节点M2创建一个地址表项集合,该地址表项集合由地址表中的所有地址表项构成,移动节点M2通过下述过程从服务器S1获取数据D1:
[0171] 步骤601:开始;
[0172] 步骤602:移动节点M2设置参数k3,参数k3的初始值为1;
[0173] 步骤603:移动节点M2从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个请求消息,该请求消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID1、地址表项总数为Z3、参数k3以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该请求消息,同时将参数k3递增1,将随机选取的地址表项从地址表项集合中删除;
[0174] 步骤604:如果地址表项集合为空,则执行步骤605,否则执行步骤603;
[0175] 步骤605:如果移动节点接收到该请求消息,则执行步骤606,否则执行步骤607;
[0176] 步骤606:如果接收到请求消息的移动节点在该请求消息的目的地址的地理坐标的一跳范围内,则直接将该请求消息转发给目的地址所标识的目的接入节点,否则将该请求消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤605;
[0177] 步骤607:目的接入节点从下游有线接口接收到请求消息后,将该请求消息的目的地址更新为该请求消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将请求消息转发给相连的接入路由器,接入路由器从下游有线接口接收到请求消息后,通过上游有线接口转发该请求消息,该请求消息通过互联网骨干网最终到达服务器S1;
[0178] 步骤608:服务器S1接收到请求消息后,保存请求消息负载中的数据ID DID1,参数Z3和k3,服务器S1将数据D1平均划分为Z3个数据块Cx2,x2=1…Z3,数据块Cx2由数据块ID x2唯一标识,然后选取数据块ID等于k3的数据块Ck3,并发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,目的地址为接收到的请求消息的源地址,负载为数据块ID k3以及数据块Ck3;该响应消息通过互联网骨干网最终到达目的接入路由器,目的接入路由器的网络前缀与响应消息的目的地址的网络前缀相同;目的接入路由器通过该响应消息目的地址的接入节点ID所标识的下游有线接口转发该响应消息;
[0179] 步骤609:接入节点从上游有线接口接收到响应消息后,执行步骤610,否则执行步骤611;
[0180] 步骤610:如果接入节点在该响应消息的目的地址的地理坐标的一跳范围内,则通过下游有线接口将该响应消息转发给目的地址所标识的移动节点M2,否则通过下游有线接口将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤609;
[0181] 步骤611:如果移动节点M2接收到响应消息,则执行步骤613,否则执行步骤612;
[0182] 步骤612:如果接收到响应消息的移动节点在该响应消息的目的地址的地理坐标的一跳范围内,则将该响应消息转发给目的地址所标识的移动节点M2,否则将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点,执行步骤609;
[0183] 步骤613:移动节点M2接收到响应消息后,保存响应消息负载中的数据块,如果移动节点M2接收到数据D1的所有Z3个数据块,则执行步骤614,否则执行步骤608;
[0184] 步骤614:结束。
[0185] 图7为本发明所述获取数据流程示意图。在数据D2由数据ID DID2唯一标识,数据D2的长度小于预定值,移动节点M2的接口能够通过X信道进行通信的条件下,移动节点M2需要获取数据D2,则移动节点M2随机选择一个空闲的信道,该信道的信道ID为c4,然后移动节点M2查看地址表,选择信道ID域值等于c4的所有地址表项,如果信道ID域值等于c4的所有地址表项总数为Z4,移动节点M2创建一个地址表项集合,该地址表项集合由信道ID域值等于c4的Z4个地址表项构成;移动节点M2通过下述过程从服务器S1获取数据D2:
[0186] 步骤701:开始;
[0187] 步骤702:移动节点M2设置参数k4,参数k4的初始值为1;
[0188] 步骤703:移动节点M2从地址表项集合中随机选取一个地址表项,并执行下述操作:构建一个请求消息,该请求消息的源地址为该地址表项的移动节点地址域值,目的地址为该地址表项的接入节点地址域值,负载为数据ID DID2、地址表项总数为Z4、参数k4以及服务器S1的地址,从该地址表项的信道ID所标识的信道发送该请求消息,同时将参数k4递增1,将随机选取的地址表项从地址表项集合中删除;
[0189] 步骤704:如果地址表项集合为空,则执行步骤705,否则执行步骤703;
[0190] 步骤705:如果移动节点接收到该请求消息,则执行步骤706,否则执行步骤707;
[0191] 步骤706:如果接收到请求消息的移动节点在该请求消息的目的地址的地理坐标的一跳范围内,则直接将该请求消息转发给目的地址所标识的目的接入节点,否则将该请求消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤705;
[0192] 步骤707:目的接入节点从下游有线接口接收到请求消息后,将该请求消息的目的地址更新为该请求消息负载中服务器S1的地址并从消息负载中删除服务器S1的地址,然后通过上游有线接口将请求消息转发给相连的接入路由器,接入路由器从下游有线接口接收到请求消息后,通过上游有线接口转发该请求消息,该请求消息通过互联网骨干网最终到达服务器S1;
[0193] 步骤708:服务器S1接收到请求消息后,保存请求消息负载中的数据ID DID2,参数Z4和k4,服务器S1将数据D2平均划分为Z4个数据块Cx3,x3=1…Z4数据块Cx3由数据块ID x3唯一标识,然后选取数据块ID等于k4的数据块Ck4,并发送一个响应消息,该响应消息的源地址为接收到的请求消息的目的地址,目的地址为接收到的请求消息的源地址,负载为数据块ID k4以及数据块Ck4;该响应消息通过互联网骨干网最终到达目的接入路由器,目的接入路由器的网络前缀与响应消息的目的地址的网络前缀相同;目的接入路由器通过该响应消息目的地址的接入节点ID所标识的下游有线接口转发该响应消息;
[0194] 步骤709:判断接入节点是否从上游有线接口接收到响应消息,执行步骤710,否则执行步骤711;
[0195] 步骤710:如果接入节点在该响应消息的目的地址的地理坐标的一跳范围内,则通过下游有线接口将该响应消息转发给目的地址所标识的移动节点M2,否则通过下游有线接口将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤709;
[0196] 步骤711:如果移动节点M2接收到响应消息,则执行步骤713,否则执行步骤712;
[0197] 步骤712:如果接收到响应消息的移动节点在该响应消息的目的地址的地理坐标的一跳范围内,则将该响应消息转发给目的地址所标识的移动节点M2,否则将该响应消息转发给距离目的地址的地理坐标最近的邻居移动节点;执行步骤709;
[0198] 步骤713:移动节点M2接收到响应消息后,保存响应消息负载中的数据块,如果移动节点M2接收到数据D2的所有Z4个数据块,则执行步骤714,否则执行步骤708;
[0199] 步骤714:结束。
[0200] 实施例1
[0201] 基于表1的仿真参数,本实施例模拟了本发明中的低延迟物联网实现方法,性能分析如下:移动节点数量增加时,地址配置延迟随之增加,但是数据通信延迟趋于稳定。地址配置平均延迟为50ms,获取数据平均延迟为300ms。
[0202] 表1仿真参数
[0203]
[0204] 本发明提供了一种低延迟的物联网实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
版权所有:盲专网 ©2023 zlpt.xyz  蜀ICP备2023003576号