一种低代价的未来数据网络实现方法转让专利

申请号 : CN201810235903.6

文献号 : CN108494688B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓喃

申请人 : 常熟理工学院

摘要 :

本发明提供了一种低代价的未来数据网络实现方法,所述网络由包括一个核心网络和两个以上的子网构成;核心网络由核心路由器构成,一个核心路由器配置X1个接口,每个接口由一个接口ID y1标识,y1取值1~X1,X1为大于1的整数;所述网络通过本发明所提供的实现方法可快速获取网络数据,缩短数据通信延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、环境监测等领域,具有广泛的应用前景。

权利要求 :

1.一种低代价的未来数据网络实现方法,其特征在于,所述网络由包括一个核心网络和两个以上的子网构成;核心网络由核心路由器构成,一个核心路由器配置X1个接口,每个接口由一个接口ID y1标识,y1取值1~X1,X1为大于1的整数;

一个子网包括边界路由器、内部路由器、接入节点、服务器和移动设备构成;边界路由器包括一个上游接口和X2个下游接口,每个下游接口由接口ID y2唯一标识,y2取值1~X2,上游接口由接口ID X2+1唯一标识,X2为大于1的整数,边界路由器的上游接口与核心路由器的一个接口相连;一个内部路由器包括X3个接口,每个接口由接口ID y3唯一标识,y3取值1~X3,X3为大于1的整数;一个服务器包括一个接口,该接口的接口ID为常量z1,z1为正整数;一个接入节点包括一个上游接口和一个下游接口,下游接口为无线接口,接口ID为z2,z2为正整数,上游接口的接口ID为常量z2+1;

内部路由器的每个接口能够与边界路由器的下游接口、另一个内部路由器的接口、接入节点的上游接口或者服务器的接口中的任意一个相连;移动设备包括一个无线接口,接入节点的上游接口与内部路由器的一个接口相连,下游接口与一个移动设备的无线接口相连;一个子网包括两个以上的边界路由器,每个边界路由器具有唯一的坐标;

边界路由器、核心路由器、内部路由器和接入节点统称为转发设备;

一种数据由一个名称唯一标识;

移动设备通过消息获取数据,一个消息包含名称、消息类型、源接口ID集合、目的接口ID集合和负载;

消息类型包括消息类型值和消息名称:消息类型值分别为1、2、3、4,分别对应消息名称为边界路由器发布消息、数据发布消息、请求消息和响应消息;

每个边界路由器或者内部路由器保存一个边界路由器表,每个边界路由器表项包含坐标域、接口ID集合域和生命周期域;

边界路由器ER1启动后,定期执行下述操作更新边界路由器表:

步骤101:开始;

步骤102:边界路由器ER1从每个下游接口发送边界路由器发布消息,该边界路由器发布消息中,名称域值为空,消息类型为1,源接口ID集合和目的接口ID集合为空,负载为边界路由器自己的坐标;

步骤103:如果接入节点或者服务器接收到该边界路由器发布消息,则执行步骤104,否则执行步骤105;

步骤104:接收到边界路由器发布消息的接入节点或者服务器丢弃接收到的边界路由器发布消息,执行步骤117;

步骤105:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器将接口f1加入到该边界路由器发布消息的源接口ID集合中,且将接口f1作为源接口ID集合的第一个元素;该内部路由器或者边界路由器查看边界路由器表,如果存在一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,则执行步骤106,否者执行步骤109;

步骤106:从接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,如果该边界路由器表项的生命周期小于最大生命周期时间TM与预定值T0之差,则执行步骤107,否者执行步骤108;

步骤107:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,将该边界路由器表项的生命周期设置为最大值TM,执行步骤115;

步骤108:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器丢弃接收到的边界路由器发布消息,执行步骤117;

步骤109:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器查看边界路由器表,如果存在一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,则执行步骤110,否者执行步骤114;

步骤110:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,如果接口ID集合的元素个数大于该边界路由器发布消息中的源接口ID集合中的元素个数,则执行步骤111,否则执行步骤112;

步骤111:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,将该边界路由器表项的接口ID集合更新为该边界路由器发布消息中的源接口ID集合中,生命周期设置为最大值TM,执行步骤115;

步骤112:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,如果该边界路由器表项的生命周期小于最大生命周期时间TM与预定值T0之差,则执行步骤113,否者执行步骤108;

步骤113:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,将该边界路由器表项的生命周期设置为最大值TM,执行步骤115;

步骤114:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器创建一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,生命周期设置为最大值TM;

步骤115:如果从自己的接口f1接收到边界路由器发布消息的转发设备为内部路由器,则执行步骤116,否则执行步骤117;

步骤116:从接口f1接收到边界路由器发布消息的内部路由器从除了接口f1以外的每个接口转发该边界路由器发布消息,执行步骤103;

步骤117:结束。

2.根据权利要求1所述的一种低代价的未来数据网络实现方法,其特征在于,每个边界路由器维护一个本地表和一个远程表,一个本地表项包括名称域、接口ID集合域和生命周期域;一个远程表项包含名称域、接口ID集合域和生命周期域;

数据C1由名称NA1唯一标识,如果服务器S1的接口与内部路由器R1的接口相连且保存数据C1,则执行下述操作更新本地表和远程表:步骤201:开始;

步骤202:服务器S1发送一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合和目的接口ID集合为空,负载为空;内部路由器R1从接口a1接收到数据发布消息后,选择一个边界路由器表项E1,边界路由器表项E1的接口ID集合的元素个数最小,构建一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合为{a1},目的接口ID集合为边界路由器表项E1的接口ID集合,负载为名称NA1;内部路由器R1选中一个自己的接口,该接口的接口ID等于数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息;

步骤203:内部路由器R1从接口a1接收到数据发布消息后,对于边界路由器表中除了边界路由器表项E1以外的每个边界路由器表项执行下述操作:内部路由器R1构建一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合为{a1},目的接口ID集合为该边界路由器表项的接口ID集合,负载为空;内部路由器R1选中一个自己的接口,该接口的接口ID等于数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息;

步骤204:如果除了内部路由器R1以外的其他内部路由器接收到该数据发布消息,则执行步骤205,否则执行步骤206;

步骤205:其他内部路由器从自己的接口a2接收到该数据发布消息后,将接口a2接入到该数据发布消息的源接口ID集合中,且将接口a2作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息,执行步骤204;

步骤206:边界路由器从自己的接口a3接收到该数据发布消息后,将接口a3接入到该数据发布消息的源接口ID集合中,且将接口a3作为源接口ID集合的第一个元素;该边界路由器查看本地表,如果存在一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,则执行步骤207,否则执行步骤208;

步骤207:从自己的接口a3接收到该数据发布消息的边界路由器选择一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,将该本地表项的生命周期域值设置为最大值,执行步骤215;

步骤208:从自己的接口a3接收到该数据发布消息的边界路由器创建一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,接口ID集合等于该数据发布消息的源接口ID集合,生命周期域值为最大值;如果本地表项中只有一个名称域值等于该数据发布消息的名称域值的表项,且该数据发布消息中的负载等于该数据发布消息的名称,则执行步骤209,否则执行步骤215;

步骤209:从自己的接口a3接收到该数据发布消息的边界路由器构建一个数据发布消息,该数据发布消息中,名称域值为接收到的数据发布消息的名称,消息类型为2,源接口ID集合和目的接口ID集合均为空,负载为空,从上游接口发送构建的数据发布消息;

步骤210:判断是核心路由器还是边界路由器接收到该数据发布消息,如果是核心路由器接收到该数据发布消息,则执行步骤211,否则执行步骤212;

步骤211:核心路由器从自己的接口a4接收到该数据发布消息后,将接口a4接入到该数据发布消息的源接口ID集合中,且将接口a4作为源接口ID集合的第一个元素,从除了接口a4以外的每个接口发送该数据发布消息,执行步骤210;

步骤212:边界路由器从自己的接口a5接收到该数据发布消息后,将接口a5接入到该数据发布消息的源接口ID集合中,且将接口a5作为源接口ID集合的第一个元素;该边界路由器查看远程表,如果存在一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,则执行步骤213,否则执行步骤214;

步骤213:从自己的接口a5接收到该数据发布消息的边界路由器选择一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,且将接口ID集合等于该数据发布消息的源接口ID集合,将该远程表项的生命周期域值设置为最大值,执行步骤215;

步骤214:从自己的接口a5接收到该数据发布消息的边界路由器创建一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,接口ID集合等于该数据发布消息的源接口ID集合,生命周期域值为最大值;

步骤215:结束。

3.根据权利要求1所述的一种低代价的未来数据网络实现方法,其特征在于,一个边界路由器维护一个请求表,一个请求表项由名称域和接口ID域构成;

在数据C1由名称NA1唯一标识,移动设备D1与接入节点AP1链路相连,接入节点AP1与内部路由器R2相连的条件下,如果内部路由器R2所在子网的边界路由器至少存在一个本地表项,该本地表项的名称域值等于NA1,移动设备D1则通过下述过程获取数据C1:步骤301:开始;

步骤302:移动设备D1发送请求消息,该请求消息的名称为NA1,消息类型为3,源接口ID集合为空,目的接口ID集合为空,负载为空;接入节点AP1从自己的接口b1收到请求消息后,将接口b1加入到该请求消息的源接口ID集合中,且将接口b1作为源接口ID集合的第一个元素,从上游接口转发该请求消息;内部路由器R2从接自己的口b2收到请求消息后,将接口b2加入到该请求消息的源接口ID集合中,且将接口b2作为源接口ID集合的第一个元素;内部路由器R2查看边界路由器表,选择一个边界路由器表项,该边界路由器表项的名称域值等于接收到的请求消息中的名称,且接口ID集合中的元素个数最小,将请求消息的目的接口ID集合更新为选择的边界路由器表项的接口ID集合;内部路由器R2选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;

步骤303:判断是与发送该请求消息的接口链路相连的内部路由器还是边界路由器接收到该请求消息,如果是内部路由器接收到该请求消息,则执行步骤304,否则执行步骤

305;

步骤304:步骤303中的内部路由器从自己的接口b3接收到该请求消息后,将接口b3接入到该请求消息的源接口ID集合中,且将接口b3作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤303;

步骤305:边界路由器从自己的接口b4接收到该请求消息后,将接口b4接入到该请求消息的源接口ID集合中,且将接口b4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤311,否则执行步骤306;

步骤306:从接自己的口b4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且将接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤307,否则执行步骤311;

步骤307:从自己的接口b4接收到该请求消息的边界路由器查看本地表,选择所有名称域值等于该请求消息的名称域值的本地表项,再从这些本地表项中选择接口ID集合元素个数最小的本地表项,将该请求消息的目的接口ID集合更新为该本地表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;

步骤308:判断是与发送该请求消息的接口链路相连的内部路由器还是服务器接收到请求消息,如果是内部路由器接收到请求消息,执行步骤309,否则执行步骤310;

步骤309:步骤308中的内部路由器从自己的接口b5接收到该请求消息后,将接口b5接入到该请求消息的源接口ID集合中,且将接口b5作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤308;

步骤310:服务器从自己的接口b6接收到该请求消息后,将接口b6接入到该请求消息的源接口ID集合中,且将接口b6作为源接口ID集合的第一个元素;服务器创建一个响应消息,该响应消息的名称等于接收到的请求消息的名称,消息类型为4,源接口ID集合等于空,目的接口ID集合等于接收到的请求消息的源接口ID集合,负载为接收到的请求消息名称所标识的数据;服务器选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;

步骤311:判断是边界路由器还是移动设备D1接收到响应消息,如果边界路由器接收到响应消息,执行步骤312,否则执行步骤313;

步骤312:边界路由器接收到响应消息后,选择所有名称域值等于该响应消息名称域值的请求表项,对应每个选中的请求表项,该边界路由器执行下述操作:该边界路由器将该响应消息的目的接口ID集合更新为该请求表项的接口ID集合,删除该请求表项,选中自己的一个接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;

步骤313:如果移动设备D1接收到该响应消息,则执行步骤315,否则执行步骤314;

步骤314:接收到响应消息的内部路由器或者接入节点选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息,执行步骤311;

步骤315:移动设备D1接收到该响应消息后,保存该响应消息中的数据;

步骤316:结束。

4.根据权利要求3所述的一种低代价的未来数据网络实现方法,其特征在于,在数据C2由名称NA2唯一标识,移动设备D1与接入节点AP1链路相连,接入节点AP1与内部路由器R2相连的条件下,如果内部路由器R2所在子网的边界路由器的任何一个本地表项的名称域值都不等于NA2,移动设备D1则通过下述过程获取数据C2:步骤401:开始;

步骤402:移动设备D1发送请求消息,该请求消息的名称为NA2,消息类型为3,源接口ID集合为空,目的接口ID集合为空,负载为空;接入节点AP1从自己的接口g1收到请求消息后,将接口g1加入到该请求消息的源接口ID集合中,且将接口g1作为源接口ID集合的第一个元素,从上游接口转发该请求消息;内部路由器R2从自己的接口g2收到请求消息后,将接口g2加入到该请求消息的源接口ID集合中,且将接口g2作为源接口ID集合的第一个元素;内部路由器R2查看边界路由器表,选择一个边界路由器表项,该边界路由器表项的名称域值等于接收到的请求消息中的名称,且接口ID集合中的元素个数最小,将请求消息的目的接口ID集合更新为选择的边界路由器表项的接口ID集合;内部路由器R2选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;

步骤403:判断是与发送该请求消息的接口链路相连的内部路由器还是边界路由器接收到该请求消息,如果是内部路由器接收到该请求消息,则执行步骤404,否则执行步骤

405;

步骤404:步骤403中的内部路由器从自己的接口g3接收到该请求消息后,将接口g3接入到该请求消息的源接口ID集合中,且将接口g3作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤403;

步骤405:边界路由器从自己的接口g4接收到该请求消息后,将接口g4接入到该请求消息的源接口ID集合中,且将接口g4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤416,否则执行步骤406;

步骤406:从自己的接口g4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且将接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤407,否则执行步骤416;

步骤407:从自己的接口g4接收到该请求消息的边界路由器查看所有名称域值等于该请求消息名称的远程表项,从这些远程表项中选择接口ID集合元素个数最小的远程表项,将该请求消息的目的接口ID集合更新为该远程表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;

步骤408:判断是核心路由器还是边界路由器接收到该请求消息,如果核心路由器接收到请求消息,执行步骤409,否则执行步骤410;

步骤409:核心路由器从自己的接口g5接收到该请求消息后,将接口g5接入到该请求消息的源接口ID集合中,且将接口g5作为源接口ID集合的第一个元素;该核心路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤

408;

步骤410:边界路由器从自己的接口h4接收到该请求消息后,将接口h4接入到该请求消息的源接口ID集合中,且将接口h4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤416,否则执行步骤411;

步骤411:从自己的接口h4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤412,否则执行步骤416;

步骤412:从自己的接口h4接收到该请求消息的边界路由器查看本地表,选择所有名称域值等于该请求消息的名称域值的本地表项,再从这些本地表项中选择接口ID集合元素个数最小的本地表项,将该请求消息的目的接口ID集合更新为该本地表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;

步骤413:判断是与发送该请求消息的接口链路相连的内部路由器还是服务器接收到请求消息,如果内部路由器接收到请求消息,执行步骤414,否则执行步骤415;

步骤414:步骤413中的内部路由器从自己的接口h5接收到该请求消息后,将接口h5接入到该请求消息的源接口ID集合中且接口h5作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤413;

步骤415:服务器从自己的接口g6接收到该请求消息后,将接口g6接入到该请求消息的源接口ID集合中,且将接口g6作为源接口ID集合的第一个元素;服务器创建一个响应消息,该响应消息的名称等于接收到的请求消息的名称,消息类型为4,源接口ID集合等于空,目的接口ID集合等于接收到的请求消息的源接口ID集合,负载为接收到的请求消息名称所标识的数据;服务器选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;

步骤416:如果边界路由器接收到响应消息,执行步骤417,否则执行步骤418;

步骤417:边界路由器接收到响应消息后,选择所有名称域值等于该响应消息名称域值的请求表项,对应每个选中的请求表项,该边界路由器执行下述操作:该边界路由器将该响应消息的目的接口ID集合更新为该请求表项的接口ID集合,删除该请求表项,选中自己的一个接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;

步骤418:如果是移动设备D1接收到该响应消息,则执行步骤420,否则执行步骤419;

步骤419:接收到响应消息的内部路由器或者接入节点选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息,执行步骤416;

步骤420:移动设备D1接收到该响应消息后,保存该响应消息中的数据;

步骤421:结束。

说明书 :

一种低代价的未来数据网络实现方法

技术领域

[0001] 本发明涉及一种实现方法,尤其涉及的是一种低代价的未来数据网络实现方法。

背景技术

[0002] 未来数据网络作为一种新型通信网络,能够实现节点之间的多跳无线通信。随着网络技术的不断发展以及各种新应用的不断涌现,迫切需要提高网络性能。
[0003] 目前,研究人员提出了通过未来数据网络获取网络服务的模式并定义了相应的协议栈,但是由于机会的体系结构与传统网络的体系结构不同,现有的网络获取服务的方法具有一些局限性。因此需要提出一种低延迟的未来数据网络实现方法,从而提高服务质量。

发明内容

[0004] 发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种低代价的未来数据网络实现方法。
[0005] 技术方案:本发明公开了一种低代价的未来数据网络实现方法,所述网络由包括一个核心网络和两个以上的子网构成;核心网络由核心路由器构成,一个核心路由器配置X1个接口,每个接口由一个接口ID y1标识,y1取值1~X1,X1为大于1的整数;
[0006] 一个子网包括边界路由器、内部路由器、接入节点、服务器和移动设备构成;边界路由器包括一个上游接口和X2个下游接口,每个下游接口由接口ID y2唯一标识,y2取值1~X2,上游接口由接口ID X2+1唯一标识,X2为大于1的整数,边界路由器的上游接口与核心路由器的一个接口相连;一个内部路由器包括X3个接口,每个接口由接口ID y3唯一标识,y3取值1~X3,X3为大于1的整数;一个服务器包括一个接口,该接口的接口ID为常量z1,z1为正整数;一个接入节点包括一个上游接口和一个下游接口,下游接口为无线接口,接口ID为z2,z2为正整数,上游接口的接口ID为常量z2+1;
[0007] 内部路由器的每个接口能够与边界路由器的下游接口、另一个内部路由器的接口、接入节点的上游接口或者服务器的接口中的任意一个相连;移动设备包括一个无线接口,接入节点的上游接口与内部路由器的一个接口相连,下游接口与一个移动设备的无线接口相连;一个子网包括两个以上的边界路由器,每个边界路由器具有唯一的地理坐标;
[0008] 边界路由器、核心路由器、内部路由器和接入节点统称为转发设备;
[0009] 一种数据由一个名称唯一标识;
[0010] 移动设备通过消息获取数据,一个消息包含名称、消息类型、源接口ID集合、目的接口ID集合和负载;
[0011] 消息类型如下所示:
[0012]
[0013]
[0014] 每个边界路由器或者内部路由器保存一个边界路由器表,每个边界路由器表项包含坐标域、接口ID集合域和生命周期域;
[0015] 边界路由器启动后,定期执行下述操作更新边界路由器表:
[0016] 步骤101:开始;
[0017] 步骤102:边界路由器从每个下游接口发送边界路由器发布消息,该边界路由器发布消息中,名称域值为空,消息类型为1,源接口ID集合和目的接口ID集合为空,负载为边界路由器自己的地理坐标;
[0018] 步骤103:如果接入节点或者服务器接收到该边界路由器发布消息,则执行步骤104,否则执行步骤105;
[0019] 步骤104:接收到边界路由器发布消息的接入节点或者服务器丢弃接收到的边界路由器发布消息,执行步骤117;
[0020] 步骤105:内部路由器或者边界路由器从自己的接口f1接收到边界路由器发布消息后,将接口f1加入到该边界路由器发布消息的源接口ID集合中,且将接口f1作为源接口ID集合的第一个元素;该内部路由器或者边界路由器查看边界路由器表,如果存在一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,则执行步骤106,否者执行步骤109;
[0021] 步骤106:从接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,如果该边界路由器表项的生命周期小于最大生命周期时间TM与预定值T0之差,预定值T1可设置为10ms,则执行步骤107,否者执行步骤108;
[0022] 步骤107:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,将该边界路由器表项的生命周期设置为最大值TM,执行步骤115;
[0023] 步骤108:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器丢弃接收到的边界路由器发布消息,执行步骤117;
[0024] 步骤109:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器查看边界路由器表,如果存在一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,则执行步骤110,否者执行步骤114;
[0025] 步骤110:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,如果接口ID集合的元素个数大于该边界路由器发布消息中的源接口ID集合中的元素个数,则执行步骤111,否则执行步骤112;
[0026] 步骤111:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,将该边界路由器表项的接口ID集合更新为该边界路由器发布消息中的源接口ID集合中,生命周期设置为最大值TM,执行步骤115;
[0027] 步骤112:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,如果该边界路由器表项的生命周期小于最大生命周期时间TM与预定值T0之差,则执行步骤113,否者执行步骤108;
[0028] 步骤113:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,将该边界路由器表项的生命周期设置为最大值TM,执行步骤115;
[0029] 步骤114:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器创建一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,生命周期设置为最大值TM;
[0030] 步骤115:如果从自己的接口f1接收到边界路由器发布消息的转发设备为内部路由器,则执行步骤116,否则执行步骤117;
[0031] 步骤116:从接口f1接收到边界路由器发布消息的内部路由器从除了接口f1以外的每个接口转发该边界路由器发布消息,执行步骤103;
[0032] 步骤117:结束。
[0033] 上述过程能够建立边界路由器表从而确保数据的正确通信。
[0034] 本发明所述方法中,每个边界路由器维护一个本地表和一个远程表,一个本地表项包括名称域、接口ID集合域和生命周期域;一个远程表项包含名称域、接口ID集合域和生命周期域;
[0035] 数据C1由名称NA1唯一标识,如果服务器S1的接口与内部路由器R1的接口相连且保存数据C1,则执行下述操作更新本地表和远程表:
[0036] 步骤201:开始;
[0037] 步骤202:服务器S1发送一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合和目的接口ID集合为空,负载为空;内部路由器R1从接口a1接收到数据发布消息后,选择一个边界路由器表项E1,边界路由器表项E1的接口ID集合的元素个数最小,构建一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合为{a1},目的接口ID集合为边界路由器表项E1的接口ID集合,负载为名称NA1;内部路由器R1选中一个自己的接口,该接口的接口ID等于数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息;
[0038] 步骤203:内部路由器R1从接口a1接收到数据发布消息后,对于边界路由器表中除了边界路由器表项E1以外的每个边界路由器表项执行下述操作:内部路由器R1构建一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合为{a1},目的接口ID集合为该边界路由器表项的接口ID集合,负载为空;内部路由器R1选中一个自己的接口,该接口的接口ID等于数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息;
[0039] 步骤204:如果除了内部路由器R1以外的其他内部路由器接收到该数据发布消息,则执行步骤205,否则执行步骤206;
[0040] 步骤205:其他内部路由器从自己的接口a2接收到该数据发布消息后,将接口a2接入到该数据发布消息的源接口ID集合中,且将接口a2作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息,执行步骤204;
[0041] 步骤206:边界路由器从自己的接口a3接收到该数据发布消息后,将接口a3接入到该数据发布消息的源接口ID集合中,且将接口a3作为源接口ID集合的第一个元素;该边界路由器查看本地表,如果存在一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,则执行步骤207,否则执行步骤208;
[0042] 步骤207:从自己的接口a3接收到该数据发布消息的边界路由器选择一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,将该本地表项的生命周期域值设置为最大值,执行步骤215;
[0043] 步骤208:从自己的接口a3接收到该数据发布消息的边界路由器创建一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,接口ID集合等于该数据发布消息的源接口ID集合,生命周期域值为最大值;如果本地表项中只有一个名称域值等于该数据发布消息的名称域值的表项,且该数据发布消息中的负载等于该数据发布消息的名称,则执行步骤209,否则执行步骤215;
[0044] 步骤209:从自己的接口a3接收到该数据发布消息的边界路由器构建一个数据发布消息,该数据发布消息中,名称域值为接收到的数据发布消息的名称,消息类型为2,源接口ID集合和目的接口ID集合均为空,负载为空,从上游接口发送构建的数据发布消息;
[0045] 步骤210:判断是核心路由器还是边界路由器接收到该数据发布消息,如果是核心路由器接收到该数据发布消息,则执行步骤211,否则执行步骤212;
[0046] 步骤211:核心路由器从自己的接口a4接收到该数据发布消息后,将接口a4接入到该数据发布消息的源接口ID集合中,且将接口a4作为源接口ID集合的第一个元素,从除了接口a4以外的每个接口发送该数据发布消息,执行步骤210;
[0047] 步骤212:边界路由器从自己的接口a5接收到该数据发布消息后,将接口a5接入到该数据发布消息的源接口ID集合中,且将接口a5作为源接口ID集合的第一个元素;该边界路由器查看远程表,如果存在一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,则执行步骤213,否则执行步骤214;
[0048] 步骤213:从自己的接口a5接收到该数据发布消息的边界路由器选择一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,且将接口ID集合等于该数据发布消息的源接口ID集合,将该远程表项的生命周期域值设置为最大值,执行步骤215;
[0049] 步骤214:从自己的接口a5接收到该数据发布消息的边界路由器创建一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,接口ID集合等于该数据发布消息的源接口ID集合,生命周期域值为最大值;
[0050] 步骤215:结束。
[0051] 上述过程能够建立本地表和远程表从而确保数据的正确通信。
[0052] 本发明所述方法中,一个边界路由器维护一个请求表,一个请求表项由名称域和接口ID域构成;
[0053] 在数据C1由名称NA1唯一标识,移动设备D1与接入节点AP1链路相连,接入节点AP1与内部路由器R2相连的条件下,如果内部路由器R2所在子网的边界路由器至少存在一个本地表项,该本地表项的名称域值等于NA1,移动设备D1则通过下述过程获取数据C1:
[0054] 步骤301:开始;
[0055] 步骤302:移动设备D1发送请求消息,该请求消息的名称为NA1,消息类型为3,源接口ID集合为空,目的接口ID集合为空,负载为空;接入节点AP1从自己的接口b1收到请求消息后,将接口b1加入到该请求消息的源接口ID集合中,且将接口b1作为源接口ID集合的第一个元素,从上游接口转发该请求消息;内部路由器R2从接自己的口b2收到请求消息后,将接口b2加入到该请求消息的源接口ID集合中,且将接口b2作为源接口ID集合的第一个元素;内部路由器R2查看边界路由器表,选择一个边界路由器表项,该边界路由器表项的名称域值等于接收到的请求消息中的名称,且接口ID集合中的元素个数最小,将请求消息的目的接口ID集合更新为选择的边界路由器表项的接口ID集合;内部路由器R2选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0056] 步骤303:判断是内部路由器还是边界路由器接收到该请求消息,如果是内部路由器接收到该请求消息,则执行步骤304,否则执行步骤305;
[0057] 步骤304:内部路由器从自己的接口b3接收到该请求消息后,将接口b3接入到该请求消息的源接口ID集合中,且将接口b3作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤303;
[0058] 步骤305:边界路由器从自己的接口b4接收到该请求消息后,将接口b4接入到该请求消息的源接口ID集合中,且将接口b4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤311,否则执行步骤306;
[0059] 步骤306:从接自己的口b4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且将接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤307,否则执行步骤311;
[0060] 步骤307:从自己的接口b4接收到该请求消息的边界路由器查看本地表,选择所有名称域值等于该请求消息的名称域值的本地表项,再从这些本地表项中选择接口ID集合元素个数最小的本地表项,将该请求消息的目的接口ID集合更新为该本地表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0061] 步骤308:判断是内部路由器还是服务器接收到请求消息,如果是内部路由器接收到请求消息,执行步骤309,否则执行步骤310;
[0062] 步骤309:内部路由器从自己的接口b5接收到该请求消息后,将接口b5接入到该请求消息的源接口ID集合中,且将接口b5作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤308;
[0063] 步骤310:服务器从自己的接口b6接收到该请求消息后,将接口b6接入到该请求消息的源接口ID集合中,且将接口b6作为源接口ID集合的第一个元素;服务器创建一个响应消息,该响应消息的名称等于接收到的请求消息的名称,消息类型为4,源接口ID集合等于空,目的接口ID集合等于接收到的请求消息的源接口ID集合,负载为接收到的请求消息名称所标识的数据;服务器选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0064] 步骤311:判断是边界路由器还是移动设备D1接收到响应消息,如果边界路由器接收到响应消息,执行步骤312,否则执行步骤313;
[0065] 步骤312:边界路由器接收到响应消息后,选择所有名称域值等于该响应消息名称域值的请求表项,对应每个选中的请求表项,该边界路由器执行下述操作:该边界路由器将该响应消息的目的接口ID集合更新为该请求表项的接口ID集合,删除该请求表项,选中自己的一个接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0066] 步骤313:如果移动设备D1接收到该响应消息,则执行步骤315,否则执行步骤314;
[0067] 步骤314:接收到响应消息的转发设备选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息,执行步骤311;
[0068] 步骤315:移动设备D1接收到该响应消息后,保存该响应消息中的数据;
[0069] 步骤316:结束。
[0070] 移动设备通过上述过程能够快速获取数据。
[0071] 本发明所述方法中,在数据C2由名称NA2唯一标识,移动设备D1与接入节点AP1链路相连,接入节点AP1与内部路由器R2相连的条件下,如果内部路由器R2所在子网的边界路由器的任何一个本地表项的名称域值都不等于NA2,移动设备D1则通过下述过程获取数据C2:
[0072] 步骤401:开始;
[0073] 步骤402:移动设备D1发送请求消息,该请求消息的名称为NA2,消息类型为3,源接口ID集合为空,目的接口ID集合为空,负载为空;接入节点AP1从自己的接口g1收到请求消息后,将接口g1加入到该请求消息的源接口ID集合中,且将接口g1作为源接口ID集合的第一个元素,从上游接口转发该请求消息;内部路由器R2从自己的接口g2收到请求消息后,将接口g2加入到该请求消息的源接口ID集合中,且将接口g2作为源接口ID集合的第一个元素;内部路由器R2查看边界路由器表,选择一个边界路由器表项,该边界路由器表项的名称域值等于接收到的请求消息中的名称,且接口ID集合中的元素个数最小,将请求消息的目的接口ID集合更新为选择的边界路由器表项的接口ID集合;内部路由器R2选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0074] 步骤403:判断是内部路由器还是边界路由器接收到该请求消息,如果是内部路由器接收到该请求消息,则执行步骤404,否则执行步骤405;
[0075] 步骤404:内部路由器从自己的接口g3接收到该请求消息后,将接口g3接入到该请求消息的源接口ID集合中,且将接口g3作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤403;
[0076] 步骤405:边界路由器从自己的接口g4接收到该请求消息后,将接口g4接入到该请求消息的源接口ID集合中,且将接口g4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤416,否则执行步骤406;
[0077] 步骤406:从自己的接口g4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且将接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤407,否则执行步骤416;
[0078] 步骤407:从自己的接口g4接收到该请求消息的边界路由器查看所有名称域值等于该请求消息名称的远程表项,从这些远程表项中选择接口ID集合元素个数最小的远程表项,将该请求消息的目的接口ID集合更新为该远程表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0079] 步骤408:判断是核心路由器还是边界路由器接收到该请求消息,如果核心路由器接收到请求消息,执行步骤409,否则执行步骤410;
[0080] 步骤409:核心路由器从自己的接口g5接收到该请求消息后,将接口g5接入到该请求消息的源接口ID集合中,且将接口g5作为源接口ID集合的第一个元素;该核心路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤408;
[0081] 步骤410:边界路由器从自己的接口h4接收到该请求消息后,将接口h4接入到该请求消息的源接口ID集合中,且将接口h4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤416,否则执行步骤411;
[0082] 步骤411:从自己的接口h4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤412,否则执行步骤416;
[0083] 步骤412:从自己的接口h4接收到该请求消息的边界路由器查看本地表,选择所有名称域值等于该请求消息的名称域值的本地表项,再从这些本地表项中选择接口ID集合元素个数最小的本地表项,将该请求消息的目的接口ID集合更新为该本地表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0084] 步骤413:判断是内部路由器还是服务器接收到请求消息,如果内部路由器接收到请求消息,执行步骤414,否则执行步骤415;
[0085] 步骤414:内部路由器从自己的接口h5接收到该请求消息后,将接口h5接入到该请求消息的源接口ID集合中且接口h5作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤413;
[0086] 步骤415:服务器从自己的接口g6接收到该请求消息后,将接口g6接入到该请求消息的源接口ID集合中,且将接口g6作为源接口ID集合的第一个元素;服务器创建一个响应消息,该响应消息的名称等于接收到的请求消息的名称,消息类型为4,源接口ID集合等于空,目的接口ID集合等于接收到的请求消息的源接口ID集合,负载为接收到的请求消息名称所标识的数据;服务器选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0087] 步骤416:如果边界路由器接收到响应消息,执行步骤417,否则执行步骤418;
[0088] 步骤417:边界路由器接收到响应消息后,选择所有名称域值等于该响应消息名称域值的请求表项,对应每个选中的请求表项,该边界路由器执行下述操作:该边界路由器将该响应消息的目的接口ID集合更新为该请求表项的接口ID集合,删除该请求表项,选中自己的一个接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0089] 步骤418:判断是转发设备还是移动设备D1接收到该响应消息,如果是移动设备D1接收到该响应消息,则执行步骤420,否则执行步骤419;
[0090] 步骤419:接收到响应消息的转发设备选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息,执行步骤416;
[0091] 步骤420:移动设备D1接收到该响应消息后,保存该响应消息中的数据;
[0092] 步骤421:结束。
[0093] 移动设备通过上述过程能够快速获取数据。
[0094] 有益效果:本发明提供了一种低代价的未来数据网络实现方法,所述网络通过本发明所提供的实现方法可快速获取网络数据,缩短数据通信延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、环境监测等领域,具有广泛的应用前景。

附图说明

[0095] 下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
[0096] 图1为本发明所述的更新边界路由器表流程示意图。
[0097] 图2为本发明所述的更新本地表和远程表流程示意图。
[0098] 图3为本发明所述的数据通信流程示意图。
[0099] 图4为本发明所述数据获取流程示意图。具体实施方式:
[0100] 本发明提供了一种低代价的未来数据网络实现方法,所述网络通过本发明所提供的实现方法可快速获取网络数据,缩短数据通信延迟,降低数据包丢失率,提高服务质量,本发明可应用于道路路况监测、环境监测等领域,具有广泛的应用前景。
[0101] 图1为本发明所述的更新边界路由器表流程示意图。所述网络由包括一个核心网络和两个以上的子网构成;核心网络由核心路由器构成,一个核心路由器配置X1个接口,每个接口由一个接口ID y1标识,y1取值1~X1,X1为大于1的整数;
[0102] 一个子网包括边界路由器、内部路由器、接入节点、服务器和移动设备构成;边界路由器包括一个上游接口和X2个下游接口,每个下游接口由接口ID y2唯一标识,y2取值1~X2,上游接口由接口ID X2+1唯一标识,X2为大于1的整数,边界路由器的上游接口与核心路由器的一个接口相连;一个内部路由器包括X3个接口,每个接口由接口ID y3唯一标识,y3取值1~X3,X3为大于1的整数;一个服务器包括一个接口,该接口的接口ID为常量z1,z1为正整数;一个接入节点包括一个上游接口和一个下游接口,下游接口为无线接口,接口ID为z2,z2为正整数,上游接口的接口ID为常量z2+1;
[0103] 内部路由器的每个接口能够与边界路由器的下游接口、另一个内部路由器的接口、接入节点的上游接口或者服务器的接口中的任意一个相连;移动设备包括一个无线接口,接入节点的上游接口与内部路由器的一个接口相连,下游接口与一个移动设备的无线接口相连;一个子网包括两个以上的边界路由器,每个边界路由器具有唯一的地理坐标;
[0104] 边界路由器、核心路由器、内部路由器和接入节点统称为转发设备;
[0105] 一种数据由一个名称唯一标识;
[0106] 移动设备通过消息获取数据,一个消息包含名称、消息类型、源接口ID集合、目的接口ID集合和负载;
[0107] 消息类型如下所示:
[0108]
[0109]
[0110] 每个边界路由器或者内部路由器保存一个边界路由器表,每个边界路由器表项包含坐标域、接口ID集合域和生命周期域;
[0111] 边界路由器启动后,定期执行下述操作更新边界路由器表:
[0112] 步骤101:开始;
[0113] 步骤102:边界路由器从每个下游接口发送边界路由器发布消息,该边界路由器发布消息中,名称域值为空,消息类型为1,源接口ID集合和目的接口ID集合为空,负载为边界路由器自己的地理坐标;
[0114] 步骤103:如果接入节点或者服务器接收到该边界路由器发布消息,则执行步骤104,否则执行步骤105;
[0115] 步骤104:接收到边界路由器发布消息的接入节点或者服务器丢弃接收到的边界路由器发布消息,执行步骤117;
[0116] 步骤105:内部路由器或者边界路由器从自己的接口f1接收到边界路由器发布消息后,将接口f1加入到该边界路由器发布消息的源接口ID集合中,且将接口f1作为源接口ID集合的第一个元素;该内部路由器或者边界路由器查看边界路由器表,如果存在一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,则执行步骤106,否者执行步骤109;
[0117] 步骤106:从接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,如果该边界路由器表项的生命周期小于最大生命周期时间TM与预定值T0之差,则执行步骤107,否者执行步骤108;预定值T0可以设置为例如10ms。
[0118] 步骤107:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,将该边界路由器表项的生命周期设置为最大值TM,执行步骤115;
[0119] 步骤108:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器丢弃接收到的边界路由器发布消息,执行步骤117;
[0120] 步骤109:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器查看边界路由器表,如果存在一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,则执行步骤110,否者执行步骤114;
[0121] 步骤110:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,如果接口ID集合的元素个数大于该边界路由器发布消息中的源接口ID集合中的元素个数,则执行步骤111,否则执行步骤112;
[0122] 步骤111:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,将该边界路由器表项的接口ID集合更新为该边界路由器发布消息中的源接口ID集合中,生命周期设置为最大值TM,执行步骤115;
[0123] 步骤112:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,如果该边界路由器表项的生命周期小于最大生命周期时间TM与预定值T0之差,则执行步骤113,否者执行步骤108;
[0124] 步骤113:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器选择一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,将该边界路由器表项的生命周期设置为最大值TM,执行步骤115;
[0125] 步骤114:从自己的接口f1接收到边界路由器发布消息的内部路由器或者边界路由器创建一个边界路由器表项,该边界路由器表项的坐标域值等于该边界路由器发布消息负载中的坐标,接口ID集合等于该边界路由器发布消息中的源接口ID集合,生命周期设置为最大值TM;
[0126] 步骤115:如果从自己的接口f1接收到边界路由器发布消息的转发设备为内部路由器,则执行步骤116,否则执行步骤117;
[0127] 步骤116:从接口f1接收到边界路由器发布消息的内部路由器从除了接口f1以外的每个接口转发该边界路由器发布消息,执行步骤103;
[0128] 步骤117:结束。
[0129] 图2为本发明所述的更新本地表和远程表流程示意图。每个边界路由器维护一个本地表和一个远程表,一个本地表项包括名称域、接口ID集合域和生命周期域;一个远程表项包含名称域、接口ID集合域和生命周期域;
[0130] 数据C1由名称NA1唯一标识,如果服务器S1的接口与内部路由器R1的接口相连且保存数据C1,则执行下述操作更新本地表和远程表:
[0131] 步骤201:开始;
[0132] 步骤202:服务器S1发送一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合和目的接口ID集合为空,负载为空;内部路由器R1从接口a1接收到数据发布消息后,选择一个边界路由器表项E1,边界路由器表项E1的接口ID集合的元素个数最小,构建一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合为{a1},目的接口ID集合为边界路由器表项E1的接口ID集合,负载为名称NA1;内部路由器R1选中一个自己的接口,该接口的接口ID等于数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息;
[0133] 步骤203:内部路由器R1从接口a1接收到数据发布消息后,对于边界路由器表中除了边界路由器表项E1以外的每个边界路由器表项执行下述操作:内部路由器R1构建一个数据发布消息,该数据发布消息中,名称为NA1,消息类型为2,源接口ID集合为{a1},目的接口ID集合为该边界路由器表项的接口ID集合,负载为空;内部路由器R1选中一个自己的接口,该接口的接口ID等于数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息;
[0134] 步骤204:如果除了内部路由器R1以外的其他内部路由器接收到该数据发布消息,则执行步骤205,否则执行步骤206;
[0135] 步骤205:其他内部路由器从自己的接口a2接收到该数据发布消息后,将接口a2接入到该数据发布消息的源接口ID集合中,且将接口a2作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该数据发布消息的目的接口ID集合的第一个元素,从数据发布消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该数据发布消息,执行步骤204;
[0136] 步骤206:边界路由器从自己的接口a3接收到该数据发布消息后,将接口a3接入到该数据发布消息的源接口ID集合中,且将接口a3作为源接口ID集合的第一个元素;该边界路由器查看本地表,如果存在一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,则执行步骤207,否则执行步骤208;
[0137] 步骤207:从自己的接口a3接收到该数据发布消息的边界路由器选择一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,将该本地表项的生命周期域值设置为最大值,执行步骤215;
[0138] 步骤208:从自己的接口a3接收到该数据发布消息的边界路由器创建一个本地表项,该本地表项的名称域值等于该数据发布消息的名称域值,接口ID集合等于该数据发布消息的源接口ID集合,生命周期域值为最大值;如果本地表项中只有一个名称域值等于该数据发布消息的名称域值的表项,且该数据发布消息中的负载等于该数据发布消息的名称,则执行步骤209,否则执行步骤215;
[0139] 步骤209:从自己的接口a3接收到该数据发布消息的边界路由器构建一个数据发布消息,该数据发布消息中,名称域值为接收到的数据发布消息的名称,消息类型为2,源接口ID集合和目的接口ID集合均为空,负载为空,从上游接口发送构建的数据发布消息;
[0140] 步骤210:判断是核心路由器还是边界路由器接收到该数据发布消息,如果是核心路由器接收到该数据发布消息,则执行步骤211,否则执行步骤212;
[0141] 步骤211:核心路由器从自己的接口a4接收到该数据发布消息后,将接口a4接入到该数据发布消息的源接口ID集合中,且将接口a4作为源接口ID集合的第一个元素,从除了接口a4以外的每个接口发送该数据发布消息,执行步骤210;
[0142] 步骤212:边界路由器从自己的接口a5接收到该数据发布消息后,将接口a5接入到该数据发布消息的源接口ID集合中,且将接口a5作为源接口ID集合的第一个元素;该边界路由器查看远程表,如果存在一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,且接口ID集合等于该数据发布消息的源接口ID集合,则执行步骤213,否则执行步骤214;
[0143] 步骤213:从自己的接口a5接收到该数据发布消息的边界路由器选择一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,且将接口ID集合等于该数据发布消息的源接口ID集合,将该远程表项的生命周期域值设置为最大值,执行步骤215;
[0144] 步骤214:从自己的接口a5接收到该数据发布消息的边界路由器创建一个远程表项,该远程表项的名称域值等于该数据发布消息的名称域值,接口ID集合等于该数据发布消息的源接口ID集合,生命周期域值为最大值;
[0145] 步骤215:结束。
[0146] 图3为本发明所述的数据通信流程示意图。一个边界路由器维护一个请求表,一个请求表项由名称域和接口ID域构成;
[0147] 在数据C1由名称NA1唯一标识,移动设备D1与接入节点AP1链路相连,接入节点AP1与内部路由器R2相连的条件下,如果内部路由器R2所在子网的边界路由器至少存在一个本地表项,该本地表项的名称域值等于NA1,移动设备D1则通过下述过程获取数据C1:
[0148] 步骤301:开始;
[0149] 步骤302:移动设备D1发送请求消息,该请求消息的名称为NA1,消息类型为3,源接口ID集合为空,目的接口ID集合为空,负载为空;接入节点AP1从自己的接口b1收到请求消息后,将接口b1加入到该请求消息的源接口ID集合中,且将接口b1作为源接口ID集合的第一个元素,从上游接口转发该请求消息;内部路由器R2从接自己的口b2收到请求消息后,将接口b2加入到该请求消息的源接口ID集合中,且将接口b2作为源接口ID集合的第一个元素;内部路由器R2查看边界路由器表,选择一个边界路由器表项,该边界路由器表项的名称域值等于接收到的请求消息中的名称,且接口ID集合中的元素个数最小,将请求消息的目的接口ID集合更新为选择的边界路由器表项的接口ID集合;内部路由器R2选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0150] 步骤303:判断是内部路由器还是边界路由器接收到该请求消息,如果是内部路由器接收到该请求消息,则执行步骤304,否则执行步骤305;
[0151] 步骤304:内部路由器从自己的接口b3接收到该请求消息后,将接口b3接入到该请求消息的源接口ID集合中,且将接口b3作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤303;
[0152] 步骤305:边界路由器从自己的接口b4接收到该请求消息后,将接口b4接入到该请求消息的源接口ID集合中,且将接口b4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤311,否则执行步骤306;
[0153] 步骤306:从接自己的口b4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且将接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤307,否则执行步骤311;
[0154] 步骤307:从自己的接口b4接收到该请求消息的边界路由器查看本地表,选择所有名称域值等于该请求消息的名称域值的本地表项,再从这些本地表项中选择接口ID集合元素个数最小的本地表项,将该请求消息的目的接口ID集合更新为该本地表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0155] 步骤308:判断是内部路由器还是服务器接收到请求消息,如果是内部路由器接收到请求消息,执行步骤309,否则执行步骤310;
[0156] 步骤309:内部路由器从自己的接口b5接收到该请求消息后,将接口b5接入到该请求消息的源接口ID集合中,且将接口b5作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤308;
[0157] 步骤310:服务器从自己的接口b6接收到该请求消息后,将接口b6接入到该请求消息的源接口ID集合中,且将接口b6作为源接口ID集合的第一个元素;服务器创建一个响应消息,该响应消息的名称等于接收到的请求消息的名称,消息类型为4,源接口ID集合等于空,目的接口ID集合等于接收到的请求消息的源接口ID集合,负载为接收到的请求消息名称所标识的数据;服务器选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0158] 步骤311:判断是边界路由器还是移动设备D1接收到响应消息,如果边界路由器接收到响应消息,执行步骤312,否则执行步骤313;
[0159] 步骤312:边界路由器接收到响应消息后,选择所有名称域值等于该响应消息名称域值的请求表项,对应每个选中的请求表项,该边界路由器执行下述操作:该边界路由器将该响应消息的目的接口ID集合更新为该请求表项的接口ID集合,删除该请求表项,选中自己的一个接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0160] 步骤313:如果移动设备D1接收到该响应消息,则执行步骤315,否则执行步骤314;
[0161] 步骤314:接收到响应消息的转发设备选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息,执行步骤311;
[0162] 步骤315:移动设备D1接收到该响应消息后,保存该响应消息中的数据;
[0163] 步骤316:结束。
[0164] 图4为本发明所述数据获取流程示意图。在数据C2由名称NA2唯一标识,移动设备D1与接入节点AP1链路相连,接入节点AP1与内部路由器R2相连的条件下,如果内部路由器R2所在子网的边界路由器的任何一个本地表项的名称域值都不等于NA2,移动设备D1则通过下述过程获取数据C2:
[0165] 步骤401:开始;
[0166] 步骤402:移动设备D1发送请求消息,该请求消息的名称为NA2,消息类型为3,源接口ID集合为空,目的接口ID集合为空,负载为空;接入节点AP1从自己的接口g1收到请求消息后,将接口g1加入到该请求消息的源接口ID集合中,且将接口g1作为源接口ID集合的第一个元素,从上游接口转发该请求消息;内部路由器R2从自己的接口g2收到请求消息后,将接口g2加入到该请求消息的源接口ID集合中,且将接口g2作为源接口ID集合的第一个元素;内部路由器R2查看边界路由器表,选择一个边界路由器表项,该边界路由器表项的名称域值等于接收到的请求消息中的名称,且接口ID集合中的元素个数最小,将请求消息的目的接口ID集合更新为选择的边界路由器表项的接口ID集合;内部路由器R2选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0167] 步骤403:判断是内部路由器还是边界路由器接收到该请求消息,如果是内部路由器接收到该请求消息,则执行步骤404,否则执行步骤405;
[0168] 步骤404:内部路由器从自己的接口g3接收到该请求消息后,将接口g3接入到该请求消息的源接口ID集合中,且将接口g3作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤403;
[0169] 步骤405:边界路由器从自己的接口g4接收到该请求消息后,将接口g4接入到该请求消息的源接口ID集合中,且将接口g4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤416,否则执行步骤406;
[0170] 步骤406:从自己的接口g4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且将接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤407,否则执行步骤416;
[0171] 步骤407:从自己的接口g4接收到该请求消息的边界路由器查看所有名称域值等于该请求消息名称的远程表项,从这些远程表项中选择接口ID集合元素个数最小的远程表项,将该请求消息的目的接口ID集合更新为该远程表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0172] 步骤408:判断是核心路由器还是边界路由器接收到该请求消息,如果核心路由器接收到请求消息,执行步骤409,否则执行步骤410;
[0173] 步骤409:核心路由器从自己的接口g5接收到该请求消息后,将接口g5接入到该请求消息的源接口ID集合中,且将接口g5作为源接口ID集合的第一个元素;该核心路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤408;
[0174] 步骤410:边界路由器从自己的接口h4接收到该请求消息后,将接口h4接入到该请求消息的源接口ID集合中,且将接口h4作为源接口ID集合的第一个元素;该边界路由器查看请求表,如果存在一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值,则执行步骤416,否则执行步骤411;
[0175] 步骤411:从自己的接口h4接收到该请求消息的边界路由器创建一个请求表项,该请求表项的名称域值等于该请求消息的名称域值,且接口ID集合域值等于该请求消息的源接口ID集合域值;如果只存在一个名称域值等于该请求消息的名称域值的请求表项,则执行步骤412,否则执行步骤416;
[0176] 步骤412:从自己的接口h4接收到该请求消息的边界路由器查看本地表,选择所有名称域值等于该请求消息的名称域值的本地表项,再从这些本地表项中选择接口ID集合元素个数最小的本地表项,将该请求消息的目的接口ID集合更新为该本地表项的接口ID集合,选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息;
[0177] 步骤413:判断是内部路由器还是服务器接收到请求消息,如果内部路由器接收到请求消息,执行步骤414,否则执行步骤415;
[0178] 步骤414:内部路由器从自己的接口h5接收到该请求消息后,将接口h5接入到该请求消息的源接口ID集合中且接口h5作为源接口ID集合的第一个元素;该内部路由器选中一个自己的接口,该接口的接口ID等于该请求消息的目的接口ID集合的第一个元素,从请求消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该请求消息,执行步骤413;
[0179] 步骤415:服务器从自己的接口g6接收到该请求消息后,将接口g6接入到该请求消息的源接口ID集合中,且将接口g6作为源接口ID集合的第一个元素;服务器创建一个响应消息,该响应消息的名称等于接收到的请求消息的名称,消息类型为4,源接口ID集合等于空,目的接口ID集合等于接收到的请求消息的源接口ID集合,负载为接收到的请求消息名称所标识的数据;服务器选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0180] 步骤416:如果边界路由器接收到响应消息,执行步骤417,否则执行步骤418;
[0181] 步骤417:边界路由器接收到响应消息后,选择所有名称域值等于该响应消息名称域值的请求表项,对应每个选中的请求表项,该边界路由器执行下述操作:该边界路由器将该响应消息的目的接口ID集合更新为该请求表项的接口ID集合,删除该请求表项,选中自己的一个接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息;
[0182] 步骤418:判断是转发设备还是移动设备D1接收到该响应消息,如果是移动设备D1接收到该响应消息,则执行步骤420,否则执行步骤419;
[0183] 步骤419:接收到响应消息的转发设备选中自己的接口,该接口的接口ID等于该响应消息的目的接口ID集合的第一个元素,从响应消息中的目的接口ID集合中删除第一个元素,从选中的接口发送该响应消息,执行步骤416;
[0184] 步骤420:移动设备D1接收到该响应消息后,保存该响应消息中的数据;
[0185] 步骤421:结束。
[0186] 实施例1
[0187] 基于表1的仿真参数,本实施例模拟了本发明中的一种低代价的未来数据网络实现方法,性能分析如下:当传输数据量增加时,移动节点获取数据的延迟较大,当传输数据量降低时,移动节点获取数据的延迟较小;网络获取数据的平均延迟为850ms。
[0188] 表1仿真参数
[0189]
[0190]
[0191] 本发明提供了一种低代价的未来数据网络实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。