[发明专利]一种智慧城市网络的实现方法有效
申请号: | 201811242102.9 | 申请日: | 2018-10-24 |
公开(公告)号: | CN109309589B | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 王晓喃;李燕丽;朱海霞 | 申请(专利权)人: | 常熟理工学院 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L12/741;H04L12/773;H04L29/08;H04L29/12 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 杨晓玲 |
地址: | 215500 江苏省苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智慧 城市 网络 实现 方法 | ||
1.一种智慧城市网络的实现方法,其特征在于,所述网络包括设备和路由器;每个路由器配置两个以上的接口,所述接口分为两个以上的下游接口和两个以上的上游接口;一个设备配置一个接口;
一个路由器的上游接口与另外一个路由器的上游接口相连,路由器的下游接口与一个设备相连;设备的接口与一个路由器的下游接口相连;一个接口由一个接口ID唯一标识,接口ID为x的接口记为接口x;
一种类型的数据由一个名称唯一标识,如果一个设备有权限访问一种类型的数据,该设备则称为该种类型数据的消费者;如果一个设备有权限产生一种类型的数据,该设备则称为该种类型数据的提供者;
所有设备采用通信消息来实现通信,通信消息包括三个域,分别为名称域、命令域和数据域,通信消息的格式为:名称、命令、数据;命令域值取值为CONSUMER,PROVIDER,PUSH,PULL或者空;CONSUMER为消费者,PROVIDER为提供者,PUSH为推送数据,PULL为获取数据;
路由器保存一个消费者转发表,一个消费者转发表项包含接口ID域、名称域和生命周期域;
在设备D1是数据DA1的消费者,数据DA1由名称NA1唯一标识的条件下,设备D1定期执行下述操作维护消费者转发表:
步骤101:开始;
步骤102:设备D1发送一个通信消息,该通信消息的名称域值为NA1,命令域值为CONSUMER,数据域值为空;
步骤103:路由器从接口x1接收到通信消息后,根据通信消息的命令域值,路由器查看消费者转发表,如果存在一个消费者转发表项,该消费者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x1,生命周期大于最大生命周期M1和阈值TH1之差的绝对值,则执行步骤110,否则执行步骤104;最大生命周期M1大于阈值TH1;
步骤104:从接口x1接收到通信消息的路由器查看消费者转发表,如果存在一个消费者转发表项,该消费者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x1,则执行步骤105,否则执行步骤106;
步骤105:从接口x1接收到通信消息的路由器查看消费者转发表,选择一个消费者转发表项,该消费者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x1,将该消费者转发表项的生命周期设置为最大值,执行步骤107;
步骤106:从接口x1接收到通信消息的路由器创建一个消费者转发表项,该消费者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x1,生命周期设置为最大值;
步骤107:从接口x1接收到通信消息的路由器判断自己是否从下游接口接收到该通信消息,如果是,则执行步骤108,否则执行步骤109;
步骤108:从接口x1接收到通信消息的路由器从每个上游接口转发该通信消息,执行步骤103;
步骤109:从接口x1接收到通信消息的路由器从除了接口x1以外的每个上游接口转发该通信消息,执行步骤103;
步骤110:结束;
路由器保存一个提供者转发表,一个提供者转发表项包含接口ID域、名称域和生命周期域;
在设备D2是数据DA1的提供者,数据DA1由名称NA1唯一标识的条件下,设备D2定期执行下述操作维护提供者转发表:
步骤201:开始;
步骤202:设备D2发送一个通信消息,该通信消息的名称域值为NA1,命令域值为PROVIDER,数据域值为空;
步骤203:路由器从接口x2接收到通信消息后,根据通信消息的命令域值,路由器查看提供者转发表,如果存在一个提供者转发表项,该提供者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x2,生命周期大于最大生命周期M1和阈值TH1之差的绝对值,则执行步骤210,否则执行步骤204;最大生命周期M1大于阈值TH1;
步骤204:从接口x2接收到通信消息的路由器查看提供者转发表,如果存在一个提供者转发表项,该提供者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x2,则执行步骤205,否则执行步骤206;
步骤205:从接口x2接收到通信消息的路由器查看提供者转发表,选择一个提供者转发表项,该提供者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x2,将该提供者转发表项的生命周期设置为最大值,执行步骤207;
步骤206:从接口x2接收到通信消息的路由器创建一个提供者转发表项,该提供者转发表项的名称域值等于该通信消息的名称域值,接口ID域值等于x2,生命周期设置为最大值;
步骤207:从接口x2接收到通信消息的路由器判断自己是否从下游接口接收到该通信消息,如果是,则执行步骤208,否则执行步骤209;
步骤208:从接口x2接收到通信消息的路由器从每个上游接口转发该通信消息,执行步骤203;
步骤209:从接口x2接收到通信消息的路由器从除了接口x2以外的每个上游接口转发该通信消息,执行步骤203;
步骤210:结束;
消费者保存一个数据表,每个数据表项包含名称域、数值域和生命周期域;
提供者保存一个数据表,每个数据表项包含名称域、数值域和生命周期域;
路由器保存一个数据表,每个数据表项包含名称域、数值域和生命周期域;
数据表的最大长度为L1;
在设备D2是数据DA2的提供者,数据DA2由名称NA2唯一标识的条件下,设备D2产生数据DA2后,通过下述过程推送数据DA2:
步骤301:开始;
步骤302:设备D2创建一个数据表项,该数据表项的名称域值等于NA2,数值域值等于数据DA2,生命周期设置为最大生命周期;设备D2发送一个通信消息,该通信消息的名称域值为NA2,命令域值为PUSH,数据域值为DA2;
步骤303:判断是设备还是路由器接收到该通信消息,如果是设备则执行步骤308,否则执行步骤304;
步骤304:路由器接收到该通信消息后,查看数据表,如果数据表的当前长度大于数据表最大长度L1与数据DA2的长度之差的绝对值,则执行步骤305,否则执行步骤306;
步骤305:接收到该通信消息的路由器选择生命周期最小的数据表项,并删除所述选择的数据表项,执行步骤304;
步骤306:接收到该通信消息的路由器创建一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,数值域值等于该通信消息的数据域值,生命周期设置为最大生命周期;
步骤307:接收到该通信消息的路由器选择所有名称域值等于该通信消息的名称域值的消费者转发表项,针对每个选中的消费者转发表项,该路由器从该消费者转发表项的接口ID所标识的接口转发该通信消息,执行步骤303;
步骤308:设备接收到该通信消息后,创建一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,数值域值等于该通信消息的数据域值,生命周期设置为最大生命周期;
步骤309:结束;
路由器保存一个返回表,一个返回表项包含名称域、接口ID域和生命周期域;
数据DA1由名称NA1唯一标识,如果网络的一跳数据传输延迟等于或者小于阈值TH2,设备D3通过下述过程获取数据DA1:
步骤401:开始;
步骤402:设备D3发送通信消息,该通信消息的名称域值为NA1,命令域值为PULL,数据域值为空;
步骤403:判断是设备还是路由器接收到通信消息,如果是设备则执行步骤414,否则执行步骤404;
步骤404:路由器从接口y1接收到通信消息后,判断该通信消息的数据域值是否为空,如果是,则执行步骤405,否则执行步骤411;
步骤405:从接口y1接收到通信消息的路由器查看返回表,如果存在一个返回表项,该返回表项的名称域值等于该通信消息的名称域值,接口ID等于y1,则执行步骤403,否则执行步骤406;
步骤406:从接口y1接收到通信消息的路由器查看返回表,如果存在一个返回表项,该返回表项的名称域值等于该通信消息的名称域值,则执行步骤407,否则执行步骤408;
步骤407:从接口y1接收到通信消息的路由器创建一个返回表项,该返回表项的接口ID等于y1,名称域值等于该通信消息的名称域值,生命周期设置为最大值,执行步骤403;
步骤408:从接口y1接收到通信消息的路由器创建一个返回表项,该返回表项的接口ID等于y1,名称域值等于该通信消息的名称域值,生命周期设置为最大值;该路由器查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,则执行步骤409,否则执行步骤410;
步骤409:从接口y1接收到通信消息的路由器选择一个数据表项,该数据表项的名称域值等于该通信消息的名称域值;该路由器构建一个通信消息,该通信消息的名称域值等于该数据表项的名称域值,命令域值为PULL,数据域值等于该数据表项的数值域值;该路由器选择所有名称域值等于该数据表项的名称域值的返回表项,针对每个选中的返回表项,路由器从该返回表项的接口ID所标识的接口发送该通信消息,删除该返回表项,执行步骤403;
步骤410:从接口y1接收到通信消息的路由器选择一个提供者转发表项,该提供者转发表项的名称域值等于该通信消息的名称域值,从该提供者转发表项的接口ID所标识的接口发送该通信消息,执行步骤403;
步骤411:从接口y1接收到通信消息的路由器查看数据表;如果数据表的长度大于数据表最大长度L1与该通信消息的数据域值的长度之差的绝对值,则执行步骤412,否则执行步骤413;
步骤412:从接口y1接收到通信消息的路由器选择生命周期最小的数据表项,并删除所述选中的数据表项,执行步骤411;
步骤413:从接口y1接收到通信消息的路由器创建一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,数值域值等于该通信消息的数据域值,生命周期设置为最大生命周期;该路由器选择所有名称域值等于所创建的数据表项的名称域值的返回表项,针对每个选中的返回表项,该路由器从该返回表项的接口ID所标识的接口发送该通信消息,删除该返回表项,执行步骤403;
步骤414:设备接收到通信消息后,查看该通信消息的数据域值是否为空,如果是,则执行步骤415,否则执行步骤416;
步骤415:接收到通信消息的设备选择一个数据表项,该数据表项的名称域值等于该通信消息的名称域值;该设备发送一个通信消息,该通信消息的名称域值等于该数据表项的名称域值,命令域值为PULL,数据域值等于该数据表项的数值域值,执行步骤403;
步骤416:接收到通信消息的设备创建一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,数值域值等于该通信消息的数据域值,生命周期设置为最大生命周期;
步骤417:结束;
数据DA1由名称NA1唯一标识,如果网络的一跳数据传输延迟大于阈值TH2,设备D3通过下述过程获取数据DA1:
步骤501:开始;
步骤502:设备D3发送通信消息,该通信消息的名称域值为NA1,命令域值为PULL,数据域值为空;
步骤503:判断是设备还是路由器接收到通信消息,如果是设备则执行步骤516,否则执行步骤504;
步骤504:路由器从接口z1接收到通信消息后,判断该通信消息的数据域值是否为空,如果是,则执行步骤505,否则执行步骤511;
步骤505:从接口z1接收到通信消息的路由器查看返回表,如果存在一个返回表项,该返回表项的名称域值等于该通信消息的名称域值,接口ID等于z1,则执行步骤503,否则执行步骤506;
步骤506:从接口z1接收到通信消息的路由器查看返回表,如果存在一个返回表项,该返回表项的名称域值等于该通信消息的名称域值,则执行步骤507,否则执行步骤508;
步骤507:从接口z1接收到通信消息的路由器创建一个返回表项,该返回表项的接口ID等于z1,名称域值等于该通信消息的名称域值,生命周期设置为最大值,执行步骤503;
步骤508:从接口z1接收到通信消息的路由器创建一个返回表项,该返回表项的接口ID等于z1,名称域值等于该通信消息的名称域值,生命周期设置为最大值;该路由器查看数据表,如果存在一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,则执行步骤509,否则执行步骤510;
步骤509:从接口z1接收到通信消息的路由器选择一个数据表项,该数据表项的名称域值等于该通信消息的名称域值;该路由器构建一个通信消息,该通信消息的名称域值等于该数据表项的名称域值,命令域值为PULL,数据域值等于该数据表项的数值域值;该路由器选择所有名称域值等于该数据表项的名称域值的返回表项,针对每个选中的返回表项,路由器从该返回表项的接口ID所标识的接口发送该通信消息,删除该返回表项,执行步骤503;
步骤510:从接口z1接收到通信消息的路由器选择一个提供者转发表项,该提供者转发表项的名称域值等于该通信消息的名称域值,从该提供者转发表项的接口ID所标识的接口发送该通信消息,执行步骤503;
步骤511:从接口z1接收到通信消息的路由器查看数据表;如果数据表的长度大于数据表最大长度L1与该通信消息的数据域值的长度之差的绝对值,则执行步骤512,否则执行步骤513;
步骤512:从接口z1接收到通信消息的路由器选择生命周期最小的数据表项,并删除所述选中的数据表项,执行步骤511;
步骤513:从接口z1接收到通信消息的路由器创建一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,数值域值等于该通信消息的数据域值,生命周期设置为最大生命周期;该路由器选择所有名称域值等于所创建的数据表项的名称域值的返回表项,如果选中的返回表项的个数为0,则执行步骤515,否则执行步骤514;
步骤514:从接口z1接收到通信消息的路由器选择所有名称域值等于该通信消息的名称域值的返回表项,针对每个选中的返回表项,该路由器从该返回表项的接口ID所标识的接口发送该通信消息,删除该返回表项,执行步骤503;
步骤515:从接口z1接收到通信消息的路由器选择所有名称域值等于该通信消息的名称域值的消费者转发表项,针对每个选中的消费者转发表项,该路由器从该消费者转发表项的接口ID所标识的接口发送该通信消息,执行步骤503;
步骤516:设备接收到通信消息后,判断该通信消息的数据域值是否为空,如果是,则执行步骤517,否则执行步骤518;
步骤517:接收到通信消息的设备选择一个数据表项,该数据表项的名称域值等于该通信消息的名称域值;该设备发送一个通信消息,该通信消息的名称域值等于该数据表项的名称域值,命令域值为PULL,数据域值等于该数据表项的数值域值,执行步骤503;
步骤518:接收到通信消息的设备创建一个数据表项,该数据表项的名称域值等于该通信消息的名称域值,数值域值等于该通信消息的数据域值,生命周期设置为最大生命周期;
步骤519:结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于常熟理工学院,未经常熟理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811242102.9/1.html,转载请声明来源钻瓜专利网。