基于SNMP和CoAP的報(bào)文轉(zhuǎn)換方法、無(wú)線控制器及網(wǎng)絡(luò)管理系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種基于SNMP和CoAP的報(bào)文轉(zhuǎn)換方法、無(wú)線控制器及網(wǎng)絡(luò)管理系統(tǒng)。
【背景技術(shù)】
[0002]近年來(lái),集成了網(wǎng)絡(luò)技術(shù)、嵌入式技術(shù)和傳感器技術(shù)的低速率無(wú)線個(gè)域網(wǎng)(LR-WPAN)技術(shù)成為了研究熱點(diǎn)。LR-WPAN是為短距離、低速率和低功耗無(wú)線通信而設(shè)計(jì)的網(wǎng)絡(luò),可廣泛用于智能家電和工業(yè)控制等領(lǐng)域。網(wǎng)絡(luò)管理技術(shù)對(duì)LR-WPAN網(wǎng)絡(luò)很關(guān)鍵。由于網(wǎng)絡(luò)規(guī)模大,而一些設(shè)備的分布地點(diǎn)又是人員所不能到達(dá)的,因此LR-WPAN網(wǎng)絡(luò)應(yīng)該具有自愈能力,要求LR-WPAN的網(wǎng)絡(luò)管理技術(shù)能夠在很低的開銷下管理高度密集分布的設(shè)備。由于在IEEE802.15.4上轉(zhuǎn)發(fā)IPv6數(shù)據(jù)提倡盡量使用已有的協(xié)議,而簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)又為IP網(wǎng)絡(luò)提供了一套很好的網(wǎng)絡(luò)管理框架和實(shí)現(xiàn)方法,目前大量的設(shè)備支持SNMP協(xié)議,因此也有大量的網(wǎng)絡(luò)管理系統(tǒng)支持SNMP協(xié)議。6LowPan也傾向于在LR-WPAN上使用SNMPv3進(jìn)行網(wǎng)絡(luò)管理。但是,由于SNMP的初衷是管理基于IP的互聯(lián)網(wǎng),要想將其應(yīng)用到硬件資源受限的LR-WPAN網(wǎng)絡(luò)中,仍需要進(jìn)一步調(diào)研和改進(jìn)。
[0003]目前業(yè)界的各大標(biāo)準(zhǔn)組織正在制定物聯(lián)網(wǎng)相關(guān)的標(biāo)準(zhǔn)協(xié)議,例如IETF(InternetEngineering Task Force,互聯(lián)網(wǎng)工程任務(wù)組)專門成立了 CoRE(Constrained RESTfulEnvironment,受限的表述性狀態(tài)轉(zhuǎn)移式環(huán)境)工作組,該小組主要討論受限節(jié)點(diǎn)上的應(yīng)用層協(xié)議。CoRE工作組正在制訂的CoAP (Constrained Applicat1n Protocol,受限應(yīng)用層協(xié)議),就是一種適合能力受限的IP網(wǎng)絡(luò)的應(yīng)用層協(xié)議。該協(xié)議基本特點(diǎn)包括:(1) 二進(jìn)制協(xié)議;(2) RESTful (REST,全稱為Representat1nal State Transfer,表述性狀態(tài)轉(zhuǎn)換架構(gòu))風(fēng)格;(3)主要用于低功耗、低處理能力的設(shè)備。
[0004]與本發(fā)明最近似現(xiàn)有技術(shù)方案如下:
[0005]建立物聯(lián)網(wǎng)節(jié)點(diǎn)的節(jié)點(diǎn)名到地址再到端口的映射表;接收用戶的HTTP請(qǐng)求;從HTTP請(qǐng)求中提取物聯(lián)網(wǎng)節(jié)點(diǎn)的節(jié)點(diǎn)名,結(jié)合映射表,獲得物聯(lián)網(wǎng)節(jié)點(diǎn)的地址和端口,并生成CoAP請(qǐng)求報(bào)文;將CoAP請(qǐng)求報(bào)文發(fā)送到物聯(lián)網(wǎng)節(jié)點(diǎn)的地址和端口 ;接收物聯(lián)網(wǎng)節(jié)點(diǎn)的CoAP應(yīng)答報(bào)文,根據(jù)CoAP應(yīng)答報(bào)文生成HTTP應(yīng)答報(bào)文后返回給用戶。
[0006]現(xiàn)有技術(shù)的缺點(diǎn):
[0007]由于SNMP的初衷是管理基于IP的互聯(lián)網(wǎng),要想將其應(yīng)用到硬件資源受限的LR-WPAN網(wǎng)絡(luò)中是比較困難的,因?yàn)槿绻獋鞲衅髟O(shè)備支持SNMP協(xié)議的話,對(duì)設(shè)備的硬件要求是較高的?,F(xiàn)在的物聯(lián)網(wǎng)架構(gòu)中的傳感層所覆蓋的傳感器設(shè)備大多都是低功能低處理能力的硬件設(shè)備,不能有效支持SNMP協(xié)議。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的是為解決目前物聯(lián)網(wǎng)架構(gòu)中的傳感層所覆蓋的傳感器設(shè)備大多為低功能低處理能力的硬件設(shè)備,不能有效支持SNMP協(xié)議的技術(shù)問(wèn)題。
[0009]為了解決上述技術(shù)問(wèn)題,本發(fā)明提供一種SNMP報(bào)文和CoAP報(bào)文的相互轉(zhuǎn)換方法,所述方法包括以下步驟:
[0010](I)將SNMP請(qǐng)求報(bào)文轉(zhuǎn)換為CoAP請(qǐng)求報(bào)文;
[0011 ] (2)將CoAP響應(yīng)報(bào)文轉(zhuǎn)換為SNMP響應(yīng)報(bào)文;
[0012]所述步驟(I)具體包括以下步驟:
[0013]從所述SNMP請(qǐng)求報(bào)文中提取請(qǐng)求行為;
[0014]根據(jù)具體資源名和所述請(qǐng)求行為,通過(guò)SNMP/CoAP適配器轉(zhuǎn)換為所述CoAP請(qǐng)求報(bào)文;
[0015]所述步驟(2)具體包括以下步驟:
[0016]從所述CoAP響應(yīng)報(bào)文中提取響應(yīng)行為;
[0017]根據(jù)具體資源名和所述響應(yīng)行為,通過(guò)SNMP/CoAP適配器轉(zhuǎn)換為所述SNMP響應(yīng)報(bào)文。
[0018]進(jìn)一步地,所述SNMP/CoAP適配器將SNMP中的Get和GetNext操作映射成CoAP中的Get操作,將SNMP中的Trap機(jī)制映射成CoAP中的訂閱機(jī)制,將SNMP中的Set操作映射成CoAP中的PUT、POST和DELETE操作。
[0019]進(jìn)一步地,對(duì)于所述SNMP中的Set操作,如果將Row Status設(shè)為Create,則映射成CoAP的POST操作;如果將Row Status設(shè)為Destroy,則映射成CoAP的DELETE操作;如果所述Set操作為修改一般字段的操作,則映射成CoAP中的PUT操作。
[0020]為了解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種無(wú)線控制器,包括:
[0021 ] SNMP代理模塊、SNMP/CoAP適配器和CoAP服務(wù)模塊;
[0022]所述SNMP代理模塊雙向連接到所述SNMP/CoAP適配器,SNMP/CoAP適配器雙向連接到所述CoAP服務(wù)模塊;
[0023]所述SNMP代理模塊用于響應(yīng)SNMP管理端的配置要求,對(duì)設(shè)備的管理信息進(jìn)行相應(yīng)的配置操作,并將配置操作的結(jié)果返回給SNMP管理端;
[0024]所述SNMP/CoAP適配器用于將SNMP代理模塊發(fā)出的SNMP請(qǐng)求報(bào)文轉(zhuǎn)換成CoAP請(qǐng)求報(bào)文,將CoAP服務(wù)模塊的CoAP響應(yīng)報(bào)文轉(zhuǎn)換成SNMP響應(yīng)報(bào)文,將CoAP服務(wù)模塊收到的無(wú)線傳感節(jié)點(diǎn)的推送消息轉(zhuǎn)換成SNMP的Trap報(bào)文,實(shí)現(xiàn)SNMP代理模塊與CoAP服務(wù)模塊的雙向溝通;
[0025]所述CoAP服務(wù)模塊用于提供基于CoAP的Restful服務(wù)接口,所述Restful服務(wù)接口供所述SNMP/CoAP適配器調(diào)用,將無(wú)線傳感節(jié)點(diǎn)網(wǎng)絡(luò)中的各種物聯(lián)網(wǎng)設(shè)備的管理操作映射成Restful形式的資源,通過(guò)GET、PUT、POST和DELETE四種方式來(lái)操作傳感器節(jié)點(diǎn)。
[0026]進(jìn)一步地,所述SNMP/CoAP適配器包括SNMP請(qǐng)求分析模塊、無(wú)線傳感節(jié)點(diǎn)名解析模塊、協(xié)議轉(zhuǎn)換模塊和CoAP響應(yīng)分析模塊;
[0027]所述SNMP代理模塊雙向連接到所述SNMP請(qǐng)求分析模塊,SNMP請(qǐng)求分析模塊雙向連接到所述無(wú)線傳感節(jié)點(diǎn)名解析模塊,無(wú)線傳感節(jié)點(diǎn)名解析模塊雙向連接到所述協(xié)議轉(zhuǎn)換模塊,協(xié)議轉(zhuǎn)換模塊雙向連接到所述CoAP響應(yīng)分析模塊,CoAP響應(yīng)分析模塊雙向連接到所述CoAP服務(wù)模塊;
[0028]所述SNMP請(qǐng)求分析模塊用于從SNMP請(qǐng)求報(bào)文中提取出請(qǐng)求行為、物聯(lián)網(wǎng)節(jié)點(diǎn)的節(jié)點(diǎn)名和具體資源名;
[0029]所述無(wú)線傳感節(jié)點(diǎn)名解析模塊用于將物聯(lián)網(wǎng)節(jié)點(diǎn)名與物聯(lián)網(wǎng)節(jié)點(diǎn)的地址及端口進(jìn)行映射,根據(jù)物聯(lián)網(wǎng)節(jié)點(diǎn)名查找物聯(lián)網(wǎng)節(jié)點(diǎn)的地址和端口 ;
[0030]所述協(xié)議轉(zhuǎn)換模塊用于根據(jù)請(qǐng)求行為和具體資源名將SNMP請(qǐng)求報(bào)文轉(zhuǎn)換為CoAP請(qǐng)求報(bào)文,根據(jù)響應(yīng)行為和具體資源名將CoAP應(yīng)答報(bào)文轉(zhuǎn)換為SNMP應(yīng)答報(bào)文;
[0031]所述CoAP響應(yīng)分析模塊用于從CoAP響應(yīng)報(bào)文中提取出響應(yīng)行為、物聯(lián)網(wǎng)節(jié)點(diǎn)的MIB表及索引和具體的MIB字段。
[0032]進(jìn)一步地,所述協(xié)議轉(zhuǎn)換模塊將SNMP中的Get和GetNext操作映射成CoAP中的Get操作,將SNMP中的Trap機(jī)制映射成CoAP中的訂閱機(jī)制,將SNMP中的Set操作映射成CoAP 中的 PUT、POST 和 DELETE 操作。
[0033]進(jìn)一步地,對(duì)于所述SNMP中的Set操作,如果將Row Status設(shè)為Create,則映射成CoAP的POST操作;如果將Row Status設(shè)為Destroy,則映射成CoAP的DELETE操作;如果所述Set操作為修改一般字段的操作,則映射成CoAP中的PUT操作。
[0034]為了解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種物聯(lián)網(wǎng)網(wǎng)絡(luò)管理系統(tǒng),包括:
[0035]SNMP管理模塊、無(wú)線控制器和無(wú)線傳感節(jié)點(diǎn)網(wǎng)絡(luò);
[0036]所述無(wú)線控制器包括SNMP代理模塊、SNMP/CoAP適配器和CoAP服務(wù)模塊;
[0037]所述SNMP管理模塊雙向連接到所述SNMP代理模塊,SNMP代理模塊雙向連接到所述SNMP/CoAP適配器,SNMP/CoAP適配器雙向連接到所述CoAP服務(wù)模塊;CoAP服務(wù)模塊雙向連接到所述無(wú)線傳感節(jié)點(diǎn)網(wǎng)絡(luò);
[0038]所述SNMP管理模塊用于管理員發(fā)出相關(guān)的配置命令,獲取和修改被管理設(shè)備的相關(guān)配置信息,向所述SNMP代理模塊發(fā)出配置操作請(qǐng)求和接收并顯示配置操作的結(jié)果;
[0039]所述SNMP代理模塊用于響應(yīng)SNMP管理端的配置要求,對(duì)設(shè)備的管理信息進(jìn)行相應(yīng)的配置操作,并將配置操作的結(jié)果返回給SNMP管理端;
[0040]所述SNMP/CoAP適配器用于將SNMP代理模塊發(fā)出的SNMP請(qǐng)求報(bào)文轉(zhuǎn)換成CoAP請(qǐng)求報(bào)文,將CoAP服務(wù)模塊的CoAP響應(yīng)報(bào)文轉(zhuǎn)換成SNMP響應(yīng)報(bào)文,將CoAP服務(wù)模塊收到的無(wú)線傳感節(jié)點(diǎn)的推送消息轉(zhuǎn)換成SNMP的Trap報(bào)文,實(shí)現(xiàn)SNMP代理模塊與CoAP服務(wù)模塊的雙向溝通;
[0041 ] 所述CoAP服務(wù)模塊用于提供基于CoAP的Restful服務(wù)接口,所述Restful服務(wù)接口供所述SNMP/CoAP適配器調(diào)用,將無(wú)線傳感節(jié)點(diǎn)網(wǎng)絡(luò)中的各種物聯(lián)網(wǎng)設(shè)備的管理操作映射成Restful形式的資源,通過(guò)GET、PUT、POST和DELETE四種方式來(lái)操作傳感器節(jié)點(diǎn);
[0042]所述無(wú)線傳感節(jié)點(diǎn)網(wǎng)絡(luò)包括多個(gè)無(wú)線傳感節(jié)點(diǎn),所述CoAP服務(wù)模塊通過(guò)向所述無(wú)線傳感節(jié)點(diǎn)注冊(cè)監(jiān)控請(qǐng)求后,如果