關(guān)于工業(yè)物聯(lián)網(wǎng)約束應(yīng)用程序協(xié)議實(shí)現(xiàn)的分析調(diào)查研究
物聯(lián)網(wǎng)是新一代信息技術(shù)的重要組成部分,是在互聯(lián)網(wǎng)的基礎(chǔ)上延伸和擴(kuò)展的一種網(wǎng)絡(luò),其用戶端延伸和擴(kuò)展到了任何物品之間,彼此進(jìn)行信息交換和通信,目的是實(shí)現(xiàn)所有物品與網(wǎng)絡(luò)的連接,從而方便識(shí)別、管理和控制。在過(guò)去的幾年里,物聯(lián)網(wǎng)的使用途徑和實(shí)現(xiàn)手段也在不斷發(fā)展與完善。物聯(lián)網(wǎng)內(nèi)許多協(xié)議,具有其自身的特點(diǎn)和要求,選擇更適合的每個(gè)應(yīng)用程序具體要求的協(xié)議進(jìn)行實(shí)施至關(guān)重要。在網(wǎng)絡(luò)通信協(xié)議的條款的擴(kuò)展中,IETF的CoRE工作組提出了一種基于REST架構(gòu)的受限制的應(yīng)用協(xié)議(CoAP)。由于物聯(lián)網(wǎng)中的很多設(shè)備都是資源受限型的,即只有少量的內(nèi)存空間和有限的計(jì)算能力,所以傳統(tǒng)的HTTP協(xié)議應(yīng)用在物聯(lián)網(wǎng)上就顯得過(guò)于龐大而不適用。
本研究針對(duì)CoAP的特點(diǎn)與目標(biāo)對(duì)實(shí)現(xiàn)CoAP的七個(gè)開(kāi)放源代碼庫(kù)(libcoap, smcp, microcoap,FreeCoAP, Californium, h5.coapnode-coap,CoAPthon,CoAPy)進(jìn)行比較分析。首先,調(diào)查當(dāng)前協(xié)議的實(shí)現(xiàn),并比較了它們?cè)趦?nèi)置核心,擴(kuò)展,目標(biāo)平臺(tái),編程語(yǔ)言的互操作性。通過(guò)比較,我們確認(rèn)libcoap,SMCP,microcoap,freecoap,Californium,node-coap和coapthon是可互操作的。接著,本文對(duì)代碼庫(kù)的延遲、內(nèi)存和CPU消耗方面的性能在一個(gè)工業(yè)場(chǎng)景的真實(shí)測(cè)試中進(jìn)行真實(shí)的比較。比較結(jié)果顯示,在服務(wù)器的性能方面,基于C語(yǔ)言的CoAP實(shí)現(xiàn)效果最突出,libcoap和smcp成為了最快的代碼庫(kù)。在客戶端方面,java,js和Python實(shí)現(xiàn)的速度與libcoap和smcp驚人地接近。因此,作為更高層次的編程語(yǔ)言的Californium(Java),CoAPthon (Python),h5.coap 和node-coap(Node.js)會(huì)被推薦給有關(guān)CoAP的客戶。
文章對(duì)實(shí)現(xiàn)CoAP的七個(gè)代碼庫(kù)進(jìn)行評(píng)估具有一定的研究?jī)r(jià)值。一方面,提出了像基于ARM Cortex-M架構(gòu)的代碼庫(kù)評(píng)估,基于 Java、Python或 Node.js編程語(yǔ)言的代碼庫(kù)可以克服C語(yǔ)言代碼庫(kù)在大場(chǎng)景中的表現(xiàn)。另一方面,為其他通信協(xié)議(如MQTT,AMQP和DDS)的內(nèi)部實(shí)現(xiàn)的方式比較提供了有價(jià)值的參考與建議。
刊名:Procedia Computer Science
刊期:2017年109C期
作者:Markel Iglesias-Urkia et al.
編譯:劉瑞琦