专利摘要
本发明提供了一种高效的未来网络数据通信方法,所述未来网络包括路由器、设备和服务器;路由器分为数据路由器和IP路由器,设备分为数据设备和IP设备,服务器分为数据服务器和IP服务器;所述网络通过本发明所提供的实现方法可快速获取网络提供的数据服务,同时缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。
权利要求
1.一种高效的未来网络数据通信方法,其特征在于,所述未来网络包括路由器、设备和服务器;路由器分为数据路由器和IP路由器,设备分为数据设备和IP设备,服务器分为数据服务器和IP服务器;
一个路由器配置两个以上的接口,接口分为上游接口和下游接口,每个上游接口与路由器相连,每个下游接口与设备或者服务器相连;
一个设备或者服务器配置一个接口,该接口与路由器相连;
一个接口由一个接口ID唯一标识,接口ID为x的接口简写为接口x;
一种类型的数据由一个数据名称或者一个IP地址唯一标识;标识一种类型数据的名称和IP地址的映射关系预先设置;
IP服务器、IP设备和IP路由器使用IP消息进行通信,一个IP消息包含IP地址和负载,负载的第一个字节为该消息的消息类型;
数据服务器、数据设备和数据路由器使用数据消息进行通信,一个数据消息包含名称域、消息类型域和负载域;
未来网络中的消息类型如下所示:消息名称包括数据发布消息、地址发布消息、请求消息、响应消息、查询消息以及确认消息,对应的消息类型值分别为1、2、3、4、5和6,其中数据发布消息、请求消息和响应消息的消息种类为数据消息,地址发布消息、查询消息以及确认消息的消息种类为IP消息;
IP服务器由标识该IP服务器所能提供的数据的IP地址标识,如果IP服务器能够提供多种数据,则该IP服务器由标识这些数据的两个以上的IP地址标识;IP服务器预先配置标识该IP服务器所能提供数据的IP地址以及名称之间的映射关系;
数据服务器由标识该数据服务器所能提供的数据的名称标识,如果数据服务器能够提供多种数据,则该数据服务器由标识这些数据的两个以上的名称标识;数据服务器预先配置标识该数据服务器所能提供数据的名称与IP地址之间的映射关系;
如果一个IP设备有权限获取一种类型的数据,该IP设备预先配置标识该类型数据的IP地址与名称之间的映射关系;
如果一个数据设备有权限获取一种类型的数据,该数据设备预先配置标识该类型数据的名称与IP地址之间的映射关系;
每个IP消息或者数据消息由一个公共头结构封装后在网络中进行传输,公共头结构由角色域、IP地址域和名称域构成;其中角色域为0时表示封装的消息为IP消息,角色域为1时表示封装的消息为数据消息;
每个IP路由器维护一个IP转发表,一个IP转发表项包含IP地址域、接口ID域、角色域和生命周期域;
每个数据路由器维护一个数据转发表,一个数据转发表项包含名称域、接口ID域,角色域和生命周期域;
在数据服务器DS1能提供数据C1,数据C1由名称NA1或者IP地址A1标识的条件下,数据服务器DS1定期执行下述操作维护IP转发表或者数据转发表:
步骤101:开始;
步骤102:数据服务器DS1构建一个数据发布消息和一个公共头结构,在数据发布消息中,名称为NA1,消息类型值为1,负载为空;在公共头结构中,角色域值为1,IP地址为A1,名称为NA1;数据服务器DS1用公共头结构封装数据发布消息,发送封装后的数据发布消息;
步骤103:路由器从接口x1接收到封装后的数据发布消息,如果该路由器为IP路由器,则执行步骤104,否则执行步骤108;
步骤104:接收到封装后的数据发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,接口ID等于x1,且生命周期大于T1与T2的差值,则执行步骤112,否则执行步骤105;T1为生命周期最大值,T2为调节参数;
步骤105:接收到封装后的数据发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,且接口ID等于x1,则执行步骤106,否则执行步骤107;
步骤106:接收到封装后的数据发布消息的路由器选择一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,且接口ID等于x1,将该转发表项的生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤107:接收到封装后的数据发布消息的路由器创建一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于该封装后的数据发布消息的公共头结构的IP地址和角色域值,接口ID等于x1,生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤108:接收到封装后的数据发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于封装后的数据发布消息的公共头结构的名称和角色域值,接口ID等于x1,且生命周期大于T1与T2的差值,则执行步骤112,否则执行步骤109;
步骤109:接收到封装后的数据发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,且接口ID等于x1,则执行步骤110,否则执行步骤111;
步骤110:接收到封装后的数据发布消息的路由器选择一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,且接口ID等于x1,将该转发表项的生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤111:接收到封装后的数据发布消息的路由器创建一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,接口ID等于x1,生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤112:结束;
如果IP转发表项或者数据转发表项的生命周期衰减为0,则删除该IP转发表项或者数据转发表项。
2.根据权利要求1所述的一种高效的未来网络数据通信方法,其特征在于,在IP服务器PS1能提供数据C1,数据C1由名称NA1或者IP地址A1标识的条件下,IP服务器PS1定期执行下述操作维护IP转发表或者数据转发表:
步骤201:开始;
步骤202:IP服务器PS1构建一个地址发布消息和一个公共头结构,在地址发布消息中,IP地址为A1,负载的第一个字节为消息类型值2,在公共头结构中,角色域值为0,IP地址为A1,名称为NA1;IP服务器PS1用公共头结构封装地址发布消息,发送封装后的地址发布消息;
步骤203:路由器从接口x2接收到封装后的地址发布消息,如果该路由器为IP路由器,则执行步骤204,否则执行步骤208;
步骤204:接收到封装后的地址发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,接口ID等于x2,且生命周期大于T1与T2的差值,则执行步骤212,否则执行步骤205;
步骤205:接收到封装后的地址发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,且接口ID等于x2,则执行步骤206,否则执行步骤207;
步骤206:接收到封装后的地址发布消息的路由器选择一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,且接口ID等于x2,将该转发表项的生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤207:接收到封装后的地址发布消息的路由器创建一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于该封装后的地址发布消息的公共头结构的IP地址和角色域值,接口ID等于x2,生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤208:接收到封装后的地址发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于封装后的地址发布消息的公共头结构的名称和角色域值,接口ID等于x2,且生命周期大于T1与T2的差值,则执行步骤212,否则执行步骤209;
步骤209:接收到封装后的地址发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,且接口ID等于x2,则执行步骤210,否则执行步骤211;
步骤210:接收到封装后的地址发布消息的路由器选择一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,且接口ID等于x2,将该转发表项的生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤211:接收到封装后的地址发布消息的路由器创建一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,接口ID等于x2,生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤212:结束;
如果IP转发表项或者数据转发表项的生命周期衰减为0,则删除该IP转发表项或者数据转发表项。
3.根据权利要求1所述的一种高效的未来网络数据通信方法,其特征在于,每个IP路由器维护一个IP缓存表,一个IP缓存表项包含IP地址域、数据缓存域和生命周期域;
每个数据路由器维护一个数据缓存表,一个数据缓存表项包含名称域、数据缓存域和生命周期域;
每个IP路由器维护一个IP请求表,一个IP请求表项包含IP地址域、接口ID域和角色域;
每个数据路由器维护一个数据请求表,一个数据请求表项包含名称域、接口ID域和角色域;
数据C1由名称NA1或者IP地址A1标识,数据设备DD1通过下述过程获取数据C1:
步骤301:开始;
步骤302:数据设备DD1构建一个请求消息和一个公共头结构;在请求消息中,名称域值为NA1,消息类型值为3,负载为空;在公共头结构中,角色域值为1,IP地址域值为A1,名称为NA1;数据设备DD1用公共头结构封装请求消息,并发送封装后的请求消息;
步骤303:判断是服务器还是路由器从接口y1接收到封装后的请求消息,如果是服务器则执行步骤311,否则执行步骤304;
步骤304:路由器从接口y1接收到封装后的请求消息,如果该路由器为数据路由器,则执行步骤305,否则执行步骤309;
步骤305:从接口y1接收到封装后的请求消息的路由器查看数据缓存表,如果存在一个数据缓存表项,该数据缓存表项的名称域值等于封装后的请求消息的公共头结构的名称域值,则执行步骤306,否则执行步骤307;
步骤306:从接口y1接收到封装后的请求消息的路由器选择一个数据缓存表项,该数据缓存表项的名称域值等于封装后的请求消息的公共头结构的名称域值,构建一个响应消息和一个公共头结构;在响应消息中,名称域值等于封装后的请求消息的公共头结构的名称域值,消息类型值为4,负载为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的请求消息的公共头结构的角色域值、IP地址域值以及名称域值;该路由器用公共头结构封装响应消息,从接口y1发送封装后的响应消息,执行步骤312;
步骤307:从接口y1接收到封装后的请求消息的路由器查看数据请求表,如果存在一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的请求消息的公共头结构的名称域值和角色域值,且接口ID等于y1,则执行步骤312,否则执行步骤308;
步骤308:从接口y1接收到封装后的请求消息的路由器创建一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的请求消息的公共头结构的名称域值和角色域值,接口ID等于y1;该路由器查看数据转发表,选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于封装后的请求消息的公共头结构的名称域值和角色域值,从该数据转发表项的接口ID域值所标识的接口转发封装后的请求消息,执行步骤303;
步骤309:从接口y1接收到封装后的请求消息的路由器查看IP请求表,如果存在一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的请求消息的公共头结构的IP地址域值和角色域值,且接口ID等于y1,则执行步骤312,否则执行步骤310;
步骤310:从接口y1接收到封装后的请求消息的路由器创建一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的请求消息的公共头结构的IP地址域值和角色域值,接口ID等于y1;该路由器查看IP转发表,选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于封装后的请求消息的公共头结构的IP地址域值和角色域值,从该IP转发表项的接口ID域值所标识的接口转发封装后的请求消息,执行步骤303;
步骤311:接收到封装后的请求消息的服务器构建一个响应消息和一个公共头结构;在响应消息中,名称域值等于封装后的请求消息的公共头结构的名称域值,消息类型值为4,负载为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的请求消息的公共头结构的角色域值、IP地址域值以及名称域值;该服务器用公共头结构封装响应消息,发送封装后的响应消息;
步骤312:判断是数据设备DD1还是路由器从接口y2接收到封装后的响应消息,如果是数据设备DD1则执行步骤325,否则执行步骤313;
步骤313:路由器从接口y2接收到封装后的响应消息,如果该路由器为数据路由器,则执行步骤314,否则执行步骤321;
步骤314:从接口y2接收到封装后的响应消息的路由器查看数据缓存表,如果存在一个数据缓存表,该数据缓存表项的名称域值等于封装后的响应消息的公共头结构的名称域值,则执行步骤315,否则执行步骤316;
步骤315:从接口y2接收到封装后的响应消息的路由器选择一个数据缓存表,该数据缓存表项的名称域值等于封装后的响应消息的公共头结构的名称域值,将该数据缓存表项的生命周期设置为最大值,执行步骤317;
步骤316:从接口y2接收到封装后的响应消息的路由器创建一个数据缓存表,该数据缓存表项的名称域值等于封装后的响应消息的公共头结构的名称域值,数据缓存域值等于封装后的响应消息的响应数据,生命周期设置为最大值;
步骤317:从接口y2接收到封装后的响应消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值,且接口ID等于y2,则执行步骤318,否则执行步骤319;
步骤318:从接口y2接收到封装后的响应消息的路由器选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值,且接口ID等于y2,将该数据转发表项的生命周期设置为最大值,执行步骤320;
步骤319:从接口y2接收到封装后的响应消息的路由器创建一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值,接口ID等于y2,生命周期设置为最大值;
步骤320:从接口y2接收到封装后的响应消息的路由器查询数据请求表,选择所有名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值的数据请求表项;针对每个选中的数据请求表项,该路由器从该数据请求表项的接口ID域值所标识的接口转发封装后的响应消息,删除该数据请求表项,执行步骤312;
步骤321:从接口y2接收到封装后的响应消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值,且接口ID等于y2,则执行步骤322,否则执行步骤323;
步骤322:从接口y2接收到封装后的响应消息的路由器选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值,且接口ID等于y2,将该IP转发表项的生命周期设置为最大值,执行步骤324;
步骤323:从接口y2接收到封装后的响应消息的路由器创建一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值,接口ID等于y2,生命周期设置为最大值;
步骤324:从接口y2接收到封装后的响应消息的路由器查询IP请求表,选择所有IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值的IP请求表项;针对每个选中的IP请求表项,该路由器从该IP请求表项的接口ID域值所标识的接口转发封装后的响应消息,删除该IP请求表项,执行步骤312;
步骤325:数据设备DD1接收到封装后的响应消息后,去掉公共头结构,保存该响应消息负载中的响应数据;
步骤326:结束。
4.根据权利要求1所述的一种高效的未来网络数据通信方法,其特征在于,数据C1由名称NA1或者IP地址A1标识,IP设备PD1通过下述过程获取数据C1:
步骤401:开始;
步骤402:IP设备PD1构建一个查询消息和一个公共头结构,在查询消息中,IP地址域值为A1,负载的第一个字节为消息类型值5;在公共头结构中,角色域值为0,IP地址域值为A1,名称为NA1;IP设备PD1用公共头结构封装查询消息,并发送封装后的查询消息;
步骤403:判断是服务器还是路由器从接口z1接收到封装后的查询消息,如果是服务器则执行步骤411,否则执行步骤404;
步骤404:路由器从接口z1接收到封装后的查询消息,如果该路由器为数据路由器,则执行步骤405,否则执行步骤407;
步骤405:从接口z1接收到封装后的查询消息的路由器查看数据请求表,如果存在一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的查询消息的公共头结构的名称域值和角色域值,且接口ID等于z1,则执行步骤412,否则执行步骤406;
步骤406:从接口z1接收到封装后的查询消息的路由器创建一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的查询消息的公共头结构的名称域值和角色域值,接口ID等于z1;该路由器查看数据转发表,选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于封装后的查询消息的公共头结构的名称域值和角色域值,从该数据转发表项的接口ID域值所标识的接口转发封装后的查询消息,执行步骤404;
步骤407:从接口z1接收到封装后的查询消息的路由器查看IP缓存表,如果存在一个IP缓存表项,该IP缓存表项的IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,则执行步骤408,否则执行步骤409;
步骤408:从接口z1接收到封装后的查询消息的路由器选择一个IP缓存表项,该IP缓存表项的IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,构建一个确认消息和一个公共头结构;在确认消息中,IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,负载的第一个字节为消息类型值6,负载中从第二个字节开始为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的查询消息的公共头结构的角色域值、IP地址域值以及名称域值;该路由器用公共头结构封装确认消息,从接口z1发送封装后的确认消息,执行步骤412;
步骤409:从接口z1接收到封装后的查询消息的路由器查看IP请求表,如果存在一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的查询消息的公共头结构的IP地址域值和角色域值,且接口ID等于z1,则执行步骤412,否则执行步骤410;
步骤410:从接口z1接收到封装后的查询消息的路由器创建一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的查询消息的公共头结构的IP地址域值和角色域值,接口ID等于z1;该路由器查看IP转发表,选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于封装后的查询消息的公共头结构的IP地址域值和角色域值,从该IP转发表项的接口ID域值所标识的接口转发封装后的查询消息,执行步骤403;
步骤411:接收到封装后的查询消息的服务器构建一个确认消息和一个公共头结构;在确认消息中,IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,负载的第一个字节为消息类型值6,负载中从第二个字节开始为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的查询消息的公共头结构的角色域值、IP地址域值以及名称域值;该服务器用公共头结构封装确认消息,发送封装后的确认消息;
步骤412:判断是IP设备PD1还是路由器从接口z2接收到封装后的确认消息,如果是IP设备PD1则执行步骤425,否则执行步骤413;
步骤413:路由器从接口z2接收到封装后的确认消息,如果该路由器为数据路由器,则执行步骤414,否则执行步骤418;
步骤414:从接口z2接收到封装后的确认消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值,且接口ID等于z2,则执行步骤415,否则执行步骤416;
步骤415:从接口z2接收到封装后的确认消息的路由器选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值,且接口ID等于z2,将该数据转发表项的生命周期设置为最大值,执行步骤417;
步骤416:从接口z2接收到封装后的确认消息的路由器创建一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值,接口ID等于z2,生命周期设置为最大值;
步骤417:从接口z2接收到封装后的确认消息的路由器查询数据请求表,选择所有名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值的数据请求表项;针对每个选中的数据请求表项,该路由器从该数据请求表项的接口ID域值所标识的接口转发封装后的确认消息,删除该数据请求表项,执行步骤412;
步骤418:从接口z2接收到封装后的确认消息的路由器查看IP缓存表,如果存在一个IP缓存表,该IP缓存表项的IP地址域值等于封装后的确认消息的公共头结构的IP地址域值,则执行步骤419,否则执行步骤420;
步骤419:从接口z2接收到封装后的确认消息的路由器选择一个IP缓存表,该IP缓存表项的IP地址域值等于封装后的确认消息的公共头结构的IP地址域值,将该IP缓存表项的生命周期设置为最大值,执行步骤421;
步骤420:从接口z2接收到封装后的确认消息的路由器创建一个IP缓存表,该IP缓存表项的IP地址域值等于封装后的确认消息的公共头结构的IP地址域值,数据缓存域值等于封装后的确认消息负载中的响应数据,生命周期设置为最大值;
步骤421:从接口z2接收到封装后的确认消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值,且接口ID等于z2,则执行步骤422,否则执行步骤423;
步骤422:从接口z2接收到封装后的确认消息的路由器选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值,且接口ID等于z2,将该IP转发表项的生命周期设置为最大值,执行步骤424;
步骤423:从接口z2接收到封装后的确认消息的路由器创建一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值,接口ID等于z2,生命周期设置为最大值;
步骤424:从接口z2接收到封装后的确认消息的路由器查询IP请求表,选择所有IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值的IP请求表项;针对每个选中的IP请求表项,该路由器从该IP请求表项的接口ID域值所标识的接口转发封装后的确认消息,删除该IP请求表项,执行步骤412;
步骤425:IP设备PD1接收到封装后的确认消息后,去掉公共头结构,保存该确认消息负载中的响应数据;
步骤426:结束。
说明书
技术领域
本发明涉及一种通信方法,尤其涉及的是一种高效的未来网络数据通信方法。
背景技术
未来网络作为一种新型通信网络,能够实现节点与节点之间的多跳无线通信。随着网络技术的不断发展以及各种新应用的不断涌现,迫切需要实现未来网络通信以满足用户急剧增长的应用需求。
未来网络作为一种特殊类型,它与数据为中心,而传统网络以地址为中心,因此并不利于数据的获取。例如,在IP网络中,由目的IP地址确定的目的节点来提供数据,如果该目的节点失效,那么就无法提供数据。而未来网络以数据为中心,任何节点都可以提供数据,从而缩短了数据获取的延迟和代价。
但是,如何实现以数据为中心的网络还需要进一步研究和探讨。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种高效的未来网络数据通信方法。
技术方案:本发明公开了一种高效的未来网络数据通信方法,所述未来网络包括路由器、设备和服务器;路由器分为数据路由器和IP路由器,设备分为数据设备和IP设备,服务器分为数据服务器和IP服务器;
一个路由器配置两个以上的接口,接口分为上游接口和下游接口,每个上游接口与路由器相连,每个下游接口与设备或者服务器相连;
一个设备或者服务器配置一个接口,该接口与路由器相连;
一个接口由一个接口ID唯一标识,接口ID为x的接口简写为接口x;
一种类型的数据由一个数据名称或者一个IP地址唯一标识,例如IP地址可以外任播地址;标识一种类型数据的名称和IP地址的映射关系预先设置,例如,这些映射关系保存在域名服务器中,名称可以是域名;
IP服务器、IP设备和IP路由器使用IP消息进行通信,一个IP消息包含IP地址和负载,负载的第一个字节为该消息的消息类型;
数据服务器、数据设备和数据路由器使用数据消息进行通信,一个数据消息包含名称域、消息类型域和负载域;
未来网络中的消息类型如下表所示:
IP服务器由标识该IP服务器所能提供的数据的IP地址标识,如果IP服务器能够提供多种数据,则该IP服务器由标识这些数据的两个以上的IP地址标识;IP服务器预先配置标识该IP服务器所能提供数据的IP地址以及名称之间的映射关系;
数据服务器由标识该数据服务器所能提供的数据的名称标识,如果数据服务器能够提供多种数据,则该数据服务器由标识这些数据的两个以上的名称标识;数据服务器预先配置标识该数据服务器所能提供数据的名称与IP地址之间的映射关系;
如果一个IP设备有权限获取一种类型的数据,该IP设备预先配置标识该类型数据的IP地址与名称之间的映射关系;
如果一个数据设备有权限获取一种类型的数据,该数据设备预先配置标识该类型数据的名称与IP地址之间的映射关系;
每个IP消息或者数据消息由一个公共头结构封装后在网络中进行传输,公共头结构由角色域、IP地址域和名称域构成;其中角色域为0时表示封装的消息为IP消息,角色域为1时表示封装的消息为数据消息;
每个IP路由器维护一个IP转发表,一个IP转发表项包含IP地址域、接口ID域、角色域和生命周期域;
每个数据路由器维护一个数据转发表,一个数据转发表项包含名称域、接口ID域,角色域和生命周期域;
在数据服务器DS1能提供数据C1,数据C1由名称NA1或者IP地址A1标识的条件下,数据服务器DS1定期执行下述操作维护IP转发表或者数据转发表:
步骤101:开始;
步骤102:数据服务器DS1构建一个数据发布消息和一个公共头结构,在数据发布消息中,名称为NA1,消息类型值为1,负载为空;在公共头结构中,角色域值为1,IP地址为A1,名称为NA1;数据服务器DS1用公共头结构封装数据发布消息,发送封装后的数据发布消息;
步骤103:路由器从接口x1接收到封装后的数据发布消息,如果该路由器为IP路由器,则执行步骤104,否则执行步骤108;
步骤104:接收到封装后的数据发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,接口ID等于x1,且生命周期大于T1与T2的差值,则执行步骤112,否则执行步骤105;T1为生命周期最大值,例如500ms,T2为调节参数,远小于T1,例如20ms,T2越小,转发表项更新的频率越高;
步骤105:接收到封装后的数据发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,且接口ID等于x1,则执行步骤106,否则执行步骤107;
步骤106:接收到封装后的数据发布消息的路由器选择一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,且接口ID等于x1,将该转发表项的生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤107:接收到封装后的数据发布消息的路由器创建一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于该封装后的数据发布消息的公共头结构的IP地址和角色域值,接口ID等于x1,生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤108:接收到封装后的数据发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于封装后的数据发布消息的公共头结构的名称和角色域值,接口ID等于x1,且生命周期大于T1与T2的差值,则执行步骤112,否则执行步骤109;
步骤109:接收到封装后的数据发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,且接口ID等于x1,则执行步骤110,否则执行步骤111;
步骤110:接收到封装后的数据发布消息的路由器选择一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,且接口ID等于x1,将该转发表项的生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤111:接收到封装后的数据发布消息的路由器创建一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,接口ID等于x1,生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤112:结束;
如果IP转发表项或者数据转发表项的生命周期衰减为0,则删除该IP转发表项或者数据转发表项。
数据服务器通过公共头结构建立到达自己的IP转发表或者数据转发表,任何数据设备都可以通过IP转发表和数据转发表从该数据服务器获取数据;IP路由器虽然无法识别数据消息,但是通过公共头结构仍能建立到达数据服务器的IP转发表,并根据IP转发表实现对数据消息的转发,这样,数据设备通过IP路由器能从数据服务器获取数据,从而实现了IP网络和数据网络的共存。
本发明所述方法中,在IP服务器PS1能提供数据C1,数据C1由名称NA1或者IP地址A1标识的条件下,IP服务器PS1定期执行下述操作维护IP转发表或者数据转发表:
步骤201:开始;
步骤202:IP服务器PS1构建一个地址发布消息和一个公共头结构,在地址发布消息中,IP地址为A1,负载的第一个字节为消息类型值2,在公共头结构中,角色域值为0,IP地址为A1,名称为NA1;IP服务器PS1用公共头结构封装地址发布消息,发送封装后的地址发布消息;
步骤203:路由器从接口x2接收到封装后的地址发布消息,如果该路由器为IP路由器,则执行步骤204,否则执行步骤208;
步骤204:接收到封装后的地址发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,接口ID等于x2,且生命周期大于T1与T2的差值,则执行步骤212,否则执行步骤205;
步骤205:接收到封装后的地址发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,且接口ID等于x2,则执行步骤206,否则执行步骤207;
步骤206:接收到封装后的地址发布消息的路由器选择一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,且接口ID等于x2,将该转发表项的生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤207:接收到封装后的地址发布消息的路由器创建一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于该封装后的地址发布消息的公共头结构的IP地址和角色域值,接口ID等于x2,生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤208:接收到封装后的地址发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于封装后的地址发布消息的公共头结构的名称和角色域值,接口ID等于x2,且生命周期大于T1与T2的差值,则执行步骤212,否则执行步骤209;
步骤209:接收到封装后的地址发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,且接口ID等于x2,则执行步骤210,否则执行步骤211;
步骤210:接收到封装后的地址发布消息的路由器选择一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,且接口ID等于x2,将该转发表项的生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤211:接收到封装后的地址发布消息的路由器创建一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,接口ID等于x2,生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤212:结束;
如果IP转发表项或者数据转发表项的生命周期衰减为0,则删除该IP转发表项或者数据转发表项。
IP服务器通过公共头结构建立到达自己的IP转发表或者数据转发表,IP设备通过IP转发表和数据转发表从该IP服务器获取数据;数据路由器虽然无法识别IP消息结构,但是通过公共头结构仍能建立到达IP服务器的数据转发表,并根据数据转发表实现对IP消息的转发,本发明中,IP设备通过数据路由器即可从IP服务器获取数据,从而实现了IP网络和数据网络的共存。
本发明所述方法中,每个IP路由器维护一个IP缓存表,一个IP缓存表项包含IP地址域、数据缓存域和生命周期域;
每个数据路由器维护一个数据缓存表,一个数据缓存表项包含名称域、数据缓存域和生命周期域;
每个IP路由器维护一个IP请求表,一个IP请求表项包含IP地址域、接口ID域和角色域;
每个数据路由器维护一个数据请求表,一个数据请求表项包含名称域、接口ID域和角色域;
数据C1由名称NA1或者IP地址A1标识,数据设备DD1通过下述过程获取数据C1:
步骤301:开始;
步骤302:数据设备DD1构建一个请求消息和一个公共头结构;在请求消息中,名称域值为NA1,消息类型值为3,负载为空;在公共头结构中,角色域值为1,IP地址域值为A1,名称为NA1;数据设备DD1用公共头结构封装请求消息,并发送封装后的请求消息;
步骤303:判断是服务器还是路由器从接口y1接收到封装后的请求消息,如果是服务器则执行步骤311,否则执行步骤304;
步骤304:路由器从接口y1接收到封装后的请求消息,如果该路由器为数据路由器,则执行步骤305,否则执行步骤309;
步骤305:从接口y1接收到封装后的请求消息的路由器查看数据缓存表,如果存在一个数据缓存表项,该数据缓存表项的名称域值等于封装后的请求消息的公共头结构的名称域值,则执行步骤306,否则执行步骤307;
步骤306:从接口y1接收到封装后的请求消息的路由器选择一个数据缓存表项,该数据缓存表项的名称域值等于封装后的请求消息的公共头结构的名称域值,构建一个响应消息和一个公共头结构;在响应消息中,名称域值等于封装后的请求消息的公共头结构的名称域值,消息类型值为4,负载为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的请求消息的公共头结构的角色域值、IP地址域值以及名称域值;该路由器用公共头结构封装响应消息,从接口y1发送封装后的响应消息,执行步骤312;
步骤307:从接口y1接收到封装后的请求消息的路由器查看数据请求表,如果存在一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的请求消息的公共头结构的名称域值和角色域值,且接口ID等于y1,则执行步骤309,否则执行步骤308;
步骤308:从接口y1接收到封装后的请求消息的路由器创建一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的请求消息的公共头结构的名称域值和角色域值,接口ID等于y1;该路由器查看数据转发表,选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于封装后的请求消息的公共头结构的名称域值和角色域值,从该数据转发表项的接口ID域值所标识的接口转发封装后的请求消息,执行步骤303;
步骤309:从接口y1接收到封装后的请求消息的路由器查看IP请求表,如果存在一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的请求消息的公共头结构的IP地址域值和角色域值,且接口ID等于y1,则执行步骤311,否则执行步骤310;
步骤310:从接口y1接收到封装后的请求消息的路由器创建一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的请求消息的公共头结构的IP地址域值和角色域值,接口ID等于y1;该路由器查看IP转发表,选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于封装后的请求消息的公共头结构的IP地址域值和角色域值,从该IP转发表项的接口ID域值所标识的接口转发封装后的请求消息,执行步骤303;
步骤311:接收到封装后的请求消息的服务器构建一个响应消息和一个公共头结构;在响应消息中,名称域值等于封装后的请求消息的公共头结构的名称域值,消息类型值为4,负载为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的请求消息的公共头结构的角色域值、IP地址域值以及名称域值;该路由器用公共头结构封装响应消息,发送封装后的响应消息;
步骤312:判断是数据设备DD1还是路由器从接口y2接收到封装后的响应消息,如果是数据设备DD1则执行步骤325,否则执行步骤313;
步骤313:路由器从接口y2接收到封装后的响应消息,如果该路由器为数据路由器,则执行步骤314,否则执行步骤321;
步骤314:从接口y2接收到封装后的响应消息的路由器查看数据缓存表,如果存在一个数据缓存表,该数据缓存表项的名称域值等于封装后的响应消息的公共头结构的名称域值,则执行步骤315,否则执行步骤316;
步骤315:从接口y2接收到封装后的响应消息的路由器选择一个数据缓存表,该数据缓存表项的名称域值等于封装后的响应消息的公共头结构的名称域值,将该数据缓存表项的生命周期设置为最大值,执行步骤317;
步骤316:从接口y2接收到封装后的响应消息的路由器创建一个数据缓存表,该数据缓存表项的名称域值等于封装后的响应消息的公共头结构的名称域值,数据缓存域值等于封装后的响应消息的响应数据,生命周期设置为最大值;
步骤317:从接口y2接收到封装后的响应消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值,且接口ID等于y2,则执行步骤318,否则执行步骤319;
步骤318:从接口y2接收到封装后的响应消息的路由器选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值,且接口ID等于y2,将该数据转发表项的生命周期设置为最大值,执行步骤320;
步骤319:从接口y2接收到封装后的响应消息的路由器创建一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值,接口ID等于y2,生命周期设置为最大值;
步骤320:从接口y2接收到封装后的响应消息的路由器查询数据请求表,选择所有名称域值和角色域值分别等于该封装后的响应消息的公共头结构的名称域值和角色域值的数据请求表项;针对每个选中的数据请求表项,该路由器从该数据请求表项的接口ID域值所标识的接口转发封装后的响应消息,删除该数据请求表项,执行步骤312;
步骤321:从接口y2接收到封装后的响应消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值,且接口ID等于y2,则执行步骤322,否则执行步骤323;
步骤322:从接口y2接收到封装后的响应消息的路由器选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值,且接口ID等于y2,将该IP转发表项的生命周期设置为最大值,执行步骤324;
步骤323:从接口y2接收到封装后的响应消息的路由器创建一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值,接口ID等于y2,生命周期设置为最大值;
步骤324:从接口y2接收到封装后的响应消息的路由器查询IP请求表,选择所有IP地址域值和角色域值分别等于该封装后的响应消息的公共头结构的IP地址域值和角色域值的IP请求表项;针对每个选中的IP请求表项,该路由器从该IP请求表项的接口ID域值所标识的接口转发封装后的响应消息,删除该IP请求表项,执行步骤312;
步骤325:数据设备DD1接收到封装后的响应消息后,去掉公共头结构,保存该响应消息负载中的响应数据;
步骤326:结束。
数据设备通过IP路由器的IP转发表和数据路由器的数据转发表能够获取所需数据,从而实现了IP网络和数据网络共存;上述过程中,路由器采用数据请求表和IP请求表实现了请求消息的聚合,数据路由器采用数据缓存表实现了数据的暂时存储,这样,数据设备无需到达服务器即可从中间的数据路由器获取数据,从而降低了数据通信的路径长度以及数据通信延迟和代价,同时,两个以上的数据设备通过一次数据通信即可获取所需数据,实现了数据共享,从而进一步降低了数据通信延迟和代价。此外,上述过程中,响应消息的返回过程依靠请求表来实现,无需建立路由,同时有效维护了数据缓存表、IP转发表以及数据转发表的有效性,延长了相应数据缓存表项、IP转发表项以及数据转发表项的生命周期,从而确保了数据通信的有效性和高效性。
本发明所述方法中,数据C1由名称NA1或者IP地址A1标识,IP设备PD1通过下述过程获取数据C1:
步骤401:开始;
步骤402:IP设备PD1构建一个查询消息和一个公共头结构,在查询消息中,IP地址域值为A1,负载的第一个字节为消息类型值5;在公共头结构中,角色域值为0,IP地址域值为A1,名称为NA1;IP设备PD1用公共头结构封装查询消息,并发送封装后的查询消息;
步骤403:判断是服务器还是路由器从接口z1接收到封装后的查询消息,如果是服务器则执行步骤411,否则执行步骤404;
步骤404:路由器从接口z1接收到封装后的查询消息,如果该路由器为数据路由器,则执行步骤405,否则执行步骤407;
步骤405:从接口z1接收到封装后的查询消息的路由器查看数据请求表,如果存在一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的查询消息的公共头结构的名称域值和角色域值,且接口ID等于z1,则执行步骤412,否则执行步骤406;
步骤406:从接口z1接收到封装后的查询消息的路由器创建一个数据请求表项,该数据请求表项的名称域值和角色域值分别等于该封装后的查询消息的公共头结构的名称域值和角色域值,接口ID等于z1;该路由器查看数据转发表,选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于封装后的查询消息的公共头结构的名称域值和角色域值,从该数据转发表项的接口ID域值所标识的接口转发封装后的查询消息,执行步骤404;
步骤407:从接口z1接收到封装后的查询消息的路由器查看IP缓存表,如果存在一个IP缓存表项,该IP缓存表项的IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,则执行步骤408,否则执行步骤409;
步骤408:从接口z1接收到封装后的查询消息的路由器选择一个IP缓存表项,该IP缓存表项的IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,构建一个确认消息和一个公共头结构;在确认消息中,IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,负载的第一个字节为消息类型值6,负载中从第二个字节开始为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的查询消息的公共头结构的角色域值、IP地址域值以及名称域值;该路由器用公共头结构封装确认消息,从接口z1发送封装后的确认消息,执行步骤412;
步骤409:从接口z1接收到封装后的查询消息的路由器查看IP请求表,如果存在一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的查询消息的公共头结构的IP地址域值和角色域值,且接口ID等于z1,则执行步骤412,否则执行步骤410;
步骤410:从接口z1接收到封装后的查询消息的路由器创建一个IP请求表项,该IP请求表项的IP地址域值和角色域值分别等于该封装后的查询消息的公共头结构的IP地址域值和角色域值,接口ID等于z1;该路由器查看IP转发表,选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于封装后的查询消息的公共头结构的IP地址域值和角色域值,从该IP转发表项的接口ID域值所标识的接口转发封装后的查询消息,执行步骤403;
步骤411:接收到封装后的查询消息的服务器构建一个确认消息和一个公共头结构;在确认消息中,IP地址域值等于封装后的查询消息的公共头结构的IP地址域值,负载的第一个字节为消息类型值6,负载中从第二个字节开始为响应数据;在公共头结构中,角色域值、IP地址域值以及名称域值分别等于封装后的查询消息的公共头结构的角色域值、IP地址域值以及名称域值;该路由器用公共头结构封装确认消息,发送封装后的确认消息;
步骤412:判断是IP设备PD1还是路由器从接口z2接收到封装后的确认消息,如果是IP设备PD1则执行步骤425,否则执行步骤413;
步骤413:路由器从接口z2接收到封装后的确认消息,如果该路由器为数据路由器,则执行步骤414,否则执行步骤418;
步骤414:从接口z2接收到封装后的确认消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值,且接口ID等于z2,则执行步骤415,否则执行步骤416;
步骤415:从接口z2接收到封装后的确认消息的路由器选择一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值,且接口ID等于z2,将该数据转发表项的生命周期设置为最大值,执行步骤417;
步骤416:从接口z2接收到封装后的确认消息的路由器创建一个数据转发表项,该数据转发表项的名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值,接口ID等于z2,生命周期设置为最大值;
步骤417:从接口z2接收到封装后的确认消息的路由器查询数据请求表,选择所有名称域值和角色域值分别等于该封装后的确认消息的公共头结构的名称域值和角色域值的数据请求表项;针对每个选中的数据请求表项,该路由器从该数据请求表项的接口ID域值所标识的接口转发封装后的确认消息,删除该数据请求表项,执行步骤412;
步骤418:从接口z2接收到封装后的确认消息的路由器查看IP缓存表,如果存在一个IP缓存表,该IP缓存表项的IP地址域值等于封装后的确认消息的公共头结构的IP地址域值,则执行步骤419,否则执行步骤420;
步骤419:从接口z2接收到封装后的确认消息的路由器选择一个IP缓存表,该IP缓存表项的IP地址域值等于封装后的确认消息的公共头结构的IP地址域值,将该IP缓存表项的生命周期设置为最大值,执行步骤421;
步骤420:从接口z2接收到封装后的确认消息的路由器创建一个IP缓存表,该IP缓存表项的IP地址域值等于封装后的确认消息的公共头结构的IP地址域值,数据缓存域值等于封装后的确认消息负载中的响应数据,生命周期设置为最大值;
步骤421:从接口z2接收到封装后的确认消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值,且接口ID等于z2,则执行步骤422,否则执行步骤423;
步骤422:从接口z2接收到封装后的确认消息的路由器选择一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值,且接口ID等于z2,将该IP转发表项的生命周期设置为最大值,执行步骤424;
步骤423:从接口z2接收到封装后的确认消息的路由器创建一个IP转发表项,该IP转发表项的IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值,接口ID等于z2,生命周期设置为最大值;
步骤424:从接口z2接收到封装后的确认消息的路由器查询IP请求表,选择所有IP地址域值和角色域值分别等于该封装后的确认消息的公共头结构的IP地址域值和角色域值的IP请求表项;针对每个选中的IP请求表项,该路由器从该IP请求表项的接口ID域值所标识的接口转发封装后的确认消息,删除该IP请求表项,执行步骤412;
步骤425:IP设备PD1接收到封装后的确认消息后,去掉公共头结构,保存该确认消息负载中的响应数据;
步骤426:结束。
上述过程实现了IP网络和数据网络共存,以至于IP设备通过数据路由器的数据转发表和IP路由器的IP转发表能够获取所需数据;在数据获取过程中,数据路由器和IP路由器分别采用数据请求表和IP请求表实现了查询消息的聚合,以至于两个以上的IP设备通过一次数据通信过程即可获取所需数据,实现了数据共享,大幅度降低了数据通信延迟和代价;IP路由器采用IP缓存表实现了数据的暂时存储,以至于IP设备无需到达服务器即可从中间的IP路由器获取所需数据,从而降低了数据通信的路径长度以及数据通信延迟和代价;此外,上述过程中,确认消息的返回过程依靠IP请求表和数据请求表来实现,无需建立路由也无需保存路由信息,同时有效维护了IP缓存表、IP转发表以及数据转发表的有效性,延长了相应IP缓存表项、IP转发表项以及数据转发表项的生命周期,从而确保了数据通信的有效性和高效性。
有益效果:本发明提供了一种高效的未来网络数据通信方法,所述网络通过本发明所提供的实现方法可快速获取网络提供的数据服务,同时缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的建立转发表流程示意图。
图2为本发明所述的维护转发表流程示意图。
图3为本发明所述的获取数据流程示意图。
图4为本发明所述的数据通信流程示意图。
具体实施方式:
本发明提供了一种高效的未来网络数据通信方法,所述网络通过本发明所提供的实现方法可快速获取网络提供的数据服务,同时缩短数据获取延迟和代价,提高服务质量,本发明可应用于重要信息的传输,例如道路路况监测、车辆管理等领域,具有广泛的应用前景。
图1为本发明所述的建立转发表流程示意图。一种高效的未来网络数据通信方法,其特征在于,所述未来网络包括路由器、设备和服务器;路由器分为数据路由器和IP路由器,设备分为数据设备和IP设备,服务器分为数据服务器和IP服务器;
一个路由器配置两个以上的接口,接口分为上游接口和下游接口,每个上游接口与路由器相连,每个下游接口与设备或者服务器相连;
一个设备或者服务器配置一个接口,该接口与路由器相连;
一个接口由一个接口ID唯一标识,接口ID为x的接口简写为接口x;
一种类型的数据由一个数据名称或者一个IP地址唯一标识,例如IP地址可以外任播地址;标识一种类型数据的名称和IP地址的映射关系预先设置,例如,这些映射关系保存在域名服务器中,名称可以是域名;
IP服务器、IP设备和IP路由器使用IP消息进行通信,一个IP消息包含IP地址和负载,负载的第一个字节为该消息的消息类型;
数据服务器、数据设备和数据路由器使用数据消息进行通信,一个数据消息包含名称域、消息类型域和负载域;
未来网络中的消息类型如下表所示:
IP服务器由标识该IP服务器所能提供的数据的IP地址标识,如果IP服务器能够提供多种数据,则该IP服务器由标识这些数据的两个以上的IP地址标识;IP服务器预先配置标识该IP服务器所能提供数据的IP地址以及名称之间的映射关系;
数据服务器由标识该数据服务器所能提供的数据的名称标识,如果数据服务器能够提供多种数据,则该数据服务器由标识这些数据的两个以上的名称标识;数据服务器预先配置标识该数据服务器所能提供数据的名称与IP地址之间的映射关系;
如果一个IP设备有权限获取一种类型的数据,该IP设备预先配置标识该类型数据的IP地址与名称之间的映射关系;
如果一个数据设备有权限获取一种类型的数据,该数据设备预先配置标识该类型数据的名称与IP地址之间的映射关系;
每个IP消息或者数据消息由一个公共头结构封装后在网络中进行传输,公共头结构由角色域、IP地址域和名称域构成;其中角色域为0时表示封装的消息为IP消息,角色域为1时表示封装的消息为数据消息;
每个IP路由器维护一个IP转发表,一个IP转发表项包含IP地址域、接口ID域、角色域和生命周期域;
每个数据路由器维护一个数据转发表,一个数据转发表项包含名称域、接口ID域,角色域和生命周期域;
在数据服务器DS1能提供数据C1,数据C1由名称NA1或者IP地址A1标识的条件下,数据服务器DS1定期执行下述操作维护IP转发表或者数据转发表:
步骤101:开始;
步骤102:数据服务器DS1构建一个数据发布消息和一个公共头结构,在数据发布消息中,名称为NA1,消息类型值为1,负载为空;在公共头结构中,角色域值为1,IP地址为A1,名称为NA1;数据服务器DS1用公共头结构封装数据发布消息,发送封装后的数据发布消息;
步骤103:路由器从接口x1接收到封装后的数据发布消息,如果该路由器为IP路由器,则执行步骤104,否则执行步骤108;
步骤104:接收到封装后的数据发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,接口ID等于x1,且生命周期大于T1与T2的差值,则执行步骤112,否则执行步骤105;T1为生命周期最大值,例如500ms,T2为调节参数,远小于T1,例如20ms,T2越小,转发表项更新的频率越高;
步骤105:接收到封装后的数据发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,且接口ID等于x1,则执行步骤106,否则执行步骤107;
步骤106:接收到封装后的数据发布消息的路由器选择一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的数据发布消息的公共头结构的IP地址和角色域值,且接口ID等于x1,将该转发表项的生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤107:接收到封装后的数据发布消息的路由器创建一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于该封装后的数据发布消息的公共头结构的IP地址和角色域值,接口ID等于x1,生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤108:接收到封装后的数据发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于封装后的数据发布消息的公共头结构的名称和角色域值,接口ID等于x1,且生命周期大于T1与T2的差值,则执行步骤112,否则执行步骤109;
步骤109:接收到封装后的数据发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,且接口ID等于x1,则执行步骤110,否则执行步骤111;
步骤110:接收到封装后的数据发布消息的路由器选择一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,且接口ID等于x1,将该转发表项的生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤111:接收到封装后的数据发布消息的路由器创建一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的数据发布消息的公共头结构的名称和角色域值,接口ID等于x1,生命周期设置为最大值,从除了接口x1以外的所有上游接口转发该封装后的数据发布消息,执行步骤103;
步骤112:结束;
如果IP转发表项或者数据转发表项的生命周期衰减为0,则删除该IP转发表项或者数据转发表项。
数据服务器通过公共头结构建立到达自己的IP转发表或者数据转发表,任何数据设备都可以通过IP转发表和数据转发表从该数据服务器获取数据;IP路由器虽然无法识别数据消息,但是通过公共头结构仍能建立到达数据服务器的IP转发表,并根据IP转发表实现对数据消息的转发,这样,数据设备通过IP路由器能从数据服务器获取数据,从而实现了IP网络和数据网络的共存。
图2为本发明所述的维护转发表流程示意图。在IP服务器PS1能提供数据C1,数据C1由名称NA1或者IP地址A1标识的条件下,IP服务器PS1定期执行下述操作维护IP转发表或者数据转发表:
步骤201:开始;
步骤202:IP服务器PS1构建一个地址发布消息和一个公共头结构,在地址发布消息中,IP地址为A1,负载的第一个字节为消息类型值2,在公共头结构中,角色域值为0,IP地址为A1,名称为NA1;IP服务器PS1用公共头结构封装地址发布消息,发送封装后的地址发布消息;
步骤203:路由器从接口x2接收到封装后的地址发布消息,如果该路由器为IP路由器,则执行步骤204,否则执行步骤208;
步骤204:接收到封装后的地址发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,接口ID等于x2,且生命周期大于T1与T2的差值,则执行步骤212,否则执行步骤205;
步骤205:接收到封装后的地址发布消息的路由器查看IP转发表,如果存在一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,且接口ID等于x2,则执行步骤206,否则执行步骤207;
步骤206:接收到封装后的地址发布消息的路由器选择一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于封装后的地址发布消息的公共头结构的IP地址和角色域值,且接口ID等于x2,将该转发表项的生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤207:接收到封装后的地址发布消息的路由器创建一个IP转发表项,该IP转发表项的IP地址和角色域值分别等于该封装后的地址发布消息的公共头结构的IP地址和角色域值,接口ID等于x2,生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤208:接收到封装后的地址发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于封装后的地址发布消息的公共头结构的名称和角色域值,接口ID等于x2,且生命周期大于T1与T2的差值,则执行步骤212,否则执行步骤209;
步骤209:接收到封装后的地址发布消息的路由器查看数据转发表,如果存在一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,且接口ID等于x2,则执行步骤210,否则执行步骤211;
步骤210:接收到封装后的地址发布消息的路由器选择一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,且接口ID等于x2,将该转发表项的生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤211:接收到封装后的地址发布消息的路由器创建一个数据转发表项,该数据转发表项的名称和角色域值分别等于该封装后的地址发布消息的公共头结构的名称和角色域值,接口ID等于x2,生命周期设置为最大值,从除了接口x2以外的所有上游接口转发该封装后的地址发布消息,执行步骤203;
步骤212:结束;
如果IP转发表项或者数据转发表项的生命周期衰减为0,则删除该IP转发表项或者数据转发表项。
IP服务器通过公共头结构建立到达自己的IP转发表或者数据转发表,IP设备通过IP转发表和数据转发表从该IP服务器获取数据;数据路由器虽然无法识别IP消息结构,但是通过公共头结构仍能建立到达IP服务器的数据转发表,并根据数据转发表实现对IP消息的转发,本发明中,IP设备通过数据路由器即可从IP服务器获取数据,从而实现了IP网络和数据网络的共存。
图3为本发明所述的获取数据流程示意图。每个IP路由器维护一个IP缓存表,一个IP缓存表项包含IP地址域、数据缓存域和生命周期域;
每个数据路由器维护一个数据缓存表,一个数据缓存表项包含名称域、数据缓存域和生命周期域;
每个IP路由器维护一个IP请求表,一个IP请求表项包含IP地址域、接口ID域和角色域;
每个数据路由器维护一个数据请求表,一个数据请求表项包含名称域、接口ID域和角色域;
数据C1由名称NA1或者IP地址A1标识,数据设备DD1通过下述过程获取数据C1:
步骤301:开始;
步骤302:数据设备DD1构建一个请求消息和一个公共头结构;在请求消息中,名称域值为NA1,消息
一种高效的未来网络数据通信方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0