[發明專利]一種智慧城市網絡的實現方法有效
| 申請號: | 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.szxzyx.cn/pat/books/201811242102.9/1.html,轉載請聲明來源鉆瓜專利網。





