亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MQTT協(xié)議的物聯(lián)網(wǎng)服務器設計與架構分析

        2020-06-21 15:16:16萬洪莉李雨晨
        軟件工程 2020年6期
        關鍵詞:服務器

        萬洪莉 李雨晨

        摘? 要:基于MQTT協(xié)議,進行物聯(lián)網(wǎng)工程項目服務器端的架構和開發(fā),并針對服務器應用架構進行性能分析。采用MVC設計模式進行服務器端架構設計,采用JSP技術進行開發(fā)。服務器和硬件、移動端的通信協(xié)議采用MQTT協(xié)議,搭建Apollo服務器實現(xiàn)對該協(xié)議的支持。經(jīng)分析,可提高物聯(lián)網(wǎng)服務器與感知層、應用層的通信性能。

        關鍵詞:物聯(lián)網(wǎng)通信協(xié)議;服務器;MQTT

        Abstract: Based on MQTT (Message Queuing Telemetry Transport) protocol, the study conducts architecture construction and development of the Internet of Things (IoT) project server, and carries out performance analysis of the server application architecture. Model-View-Controller (MVC) mode is used to design the server architecture, and JSP technology is used to develop the server. MQTT is adopted as the communication protocol among the server, hardware and mobile terminal, and Apollo server is built to support the protocol. The analysis proves that the proposed method effectively improves the IoT server communication performance at perception layer and application layer.

        Keywords: IoT communication protocol; server; MQTT

        1? ?引言(Introduction)

        1.1? ?現(xiàn)有物聯(lián)網(wǎng)項目架構

        HTTP是Web服務器開發(fā)中廣泛使用的協(xié)議。但當研究物聯(lián)網(wǎng)服務器的系統(tǒng)架構時,響應時間,吞吐量,更低的電池和帶寬使用率成為衡量系統(tǒng)的主要性能指標,MQTT協(xié)議在這類問題的解決中更具優(yōu)勢[1-3]。在文獻[4]中,基于物聯(lián)網(wǎng)體系架構,以智能超市為業(yè)務背景,建設了物聯(lián)網(wǎng)實訓教學體系。服務器架構基于HTTP協(xié)議,采用硬件感知端、服務器端、移動端和數(shù)據(jù)流、控制流的“三端兩流”架構。如圖1所示。

        在圖1所示的架構中,數(shù)據(jù)流由硬件感知端起始。硬件感知端將采集的數(shù)據(jù)發(fā)送至服務器端,移動端通過輪詢從服務器端獲得數(shù)據(jù)流,刷新UI界面進行遠程監(jiān)測。架構的控制指令流由移動端起始。移動端發(fā)起控制指令,服務器端修改指令的相應數(shù)據(jù)庫字段。硬件感知端發(fā)起輪詢操作,查詢服務器端控制指令的相應狀態(tài),根據(jù)控制指令控制執(zhí)行部件的動作。

        物聯(lián)網(wǎng)的感知層研究與設計也依賴于項目所采用的物聯(lián)網(wǎng)應用系統(tǒng)的典型模型。面向軟件測試的物聯(lián)網(wǎng)節(jié)點模擬單元開發(fā)[5]所做工作主要集中在節(jié)點單元的開發(fā)和測試,物聯(lián)網(wǎng)服務器端與感知層、應用層的通信協(xié)議也采用HTTP協(xié)議。

        在項目架構的應用中,存在請求響應較慢、電池消耗高的情況。采用傳統(tǒng)的基于HTTP的服務器作為物聯(lián)網(wǎng)項目的服務平臺的應用場景越來越少。

        1.2? ?實際應用領域的物聯(lián)網(wǎng)服務器

        目前在實際應用中已普遍采用物聯(lián)網(wǎng)服務平臺進行實際項目開發(fā)。例如百度“天工”智能物聯(lián)網(wǎng)平臺[6]、阿里云Link物聯(lián)網(wǎng)平臺[7]、QQ物聯(lián)智能硬件開放平臺”[8]、中國移動物聯(lián)網(wǎng)設備云—OneNET[9]等。

        產(chǎn)業(yè)級的物聯(lián)網(wǎng)服務器平臺不再局限于傳統(tǒng)Web服務器的HTTP協(xié)議,而是支持HTTP、CoAP、MQTT等多種協(xié)議適配,為城市消防、畜牧業(yè)、共享經(jīng)濟、環(huán)境監(jiān)控等多場景提供解決方案。

        2? 基于MQTT協(xié)議的物聯(lián)網(wǎng)服務器架構(IoT server architecture based on MQTT protocol)

        2.1? ?HTTP和MQTT在物聯(lián)網(wǎng)服務器通信中的對比

        基于HTTP協(xié)議的物聯(lián)網(wǎng)項目架構已經(jīng)滯后于實際應用開發(fā)的技術發(fā)展。瓶頸在于服務器的HTTP通信協(xié)議。HTTP協(xié)議作為一種無狀態(tài)通信協(xié)議,適于開發(fā)Web應用程序,進行業(yè)務邏輯處理和門戶展示。在物聯(lián)網(wǎng)項目體系架構中,服務器還兼具感知層和應用層的通信接口功能。感知層數(shù)據(jù)上傳需求頻繁,一般的家用智能系統(tǒng)以秒為單位產(chǎn)生感知數(shù)據(jù)的上傳需求。應用層由用戶通過移動端發(fā)送控制指令至服務器,而基于HTTP協(xié)議的服務器架構不具備主動推送功能,不能將控制指令狀態(tài)推送給感知層的執(zhí)行器件。在基于HTTP協(xié)議的服務器架構中,感知層的執(zhí)行器件需要向服務器發(fā)起輪詢操作,獲知指令狀態(tài),從而產(chǎn)生相應動作。這種輪詢操作造成了數(shù)據(jù)流的冗余,占用大量的系統(tǒng)資源。

        為解決此類問題,需要在物聯(lián)網(wǎng)服務器平臺中引入“發(fā)布/訂閱”機制的協(xié)議規(guī)范。MQTT協(xié)議作為消息隊列遙測傳輸協(xié)議,是一個基于TCP/IP協(xié)議的發(fā)布/訂閱協(xié)議。設計的初始目的是為了極有限的內(nèi)存設備和網(wǎng)絡帶寬很低的網(wǎng)絡中進行通信,非常適合物聯(lián)網(wǎng)通信[10-13]。

        2.2? ?基于MQTT協(xié)議的物聯(lián)網(wǎng)服務器架構設計

        MQTT協(xié)議是廣泛應用的物聯(lián)網(wǎng)協(xié)議,使用該協(xié)議需要MQTT消息代理及服務。有兩種方法使用MQTT服務,一是租用現(xiàn)成的MQTT服務器,使用公用的MQTT服務器的好處是功能全面,易用性高。但需要注冊賬號,靈活性差,有些平臺還需要付費。另一方法是自己使用開源的MQTT組件來搭建。圖2以物聯(lián)網(wǎng)工程項目中溫度數(shù)據(jù)在服務端、感知端、移動端的數(shù)據(jù)流向為例,設計了基于MQTT的物聯(lián)網(wǎng)服務器架構的物聯(lián)網(wǎng)項目體系。

        在圖2的物聯(lián)網(wǎng)服務器系統(tǒng)架構中,Web服務器、感知端和移動端都作為Client,在MQTT消息代理上注冊并連接。針對系統(tǒng)中的溫度信息,三個Client都訂閱名為“temperature”的topic。感知端發(fā)布消息,內(nèi)容為溫度數(shù)據(jù),Web服務器訂閱“temperature”,消息代理則會把溫度消息推送給Web服務器,Web服務器發(fā)布溫度消息,消息代理將其推送給訂閱了該主題的客戶端(移動端)。整個架構采用發(fā)布/訂閱機制,數(shù)據(jù)幀格式即主題格式(topic),比HTTP協(xié)議的請求頭短很多,通信效率高,在系統(tǒng)中沒有數(shù)據(jù)更新,沒有數(shù)據(jù)流發(fā)生時,各個客戶端通過消息代理維持心跳連接即可。

        本案例采用apollo的MQTT消息代理,將Web服務器、移動端、硬件端都注冊為apollo MQTT消息代理上的客戶端,實現(xiàn)發(fā)布/訂閱功能。下面主要闡述將傳統(tǒng)的基于HTTP的Web服務器包裝成MQTT Client,從而將其角色轉換為兼容MQTT協(xié)議的服務器的架構過程。

        2.3? ?基于MQTT協(xié)議的物聯(lián)網(wǎng)服務器開發(fā)

        2.3.1? ?物聯(lián)網(wǎng)服務器的消息發(fā)布功能

        物聯(lián)網(wǎng)服務器的消息發(fā)布功能接收移動端的控制指令,并以發(fā)布者的角色,通過apollo MQTT消息代理,推送給硬件執(zhí)行器所在的MQTT客戶端,過程如圖3所示。

        由于服務器兼具傳統(tǒng)的HTTP服務器的業(yè)務邏輯功能和MQTT的消息發(fā)布訂閱功能,因此,可選取HTTP Web組件監(jiān)聽移動端發(fā)送的控制指令。在本課題中,選用Servlet監(jiān)聽器實現(xiàn)對移動端控制指令的監(jiān)聽功能。

        本文所討論的HTTP服務器功能基于JSP模型二設計模式開發(fā),由中央控制器對所有View層發(fā)出的請求進行處理,所有View層發(fā)出的請求以“.action”做結尾標識。因此,本文所設計的監(jiān)聽器主要監(jiān)聽中央控制器的“change.action”請求。一旦監(jiān)聽到“change.action”請求,說明移動端發(fā)出了控制指令,監(jiān)聽器將監(jiān)聽到的控制指令包裝為名為“instructions”的主題(topic),主題內(nèi)容即為控制指令內(nèi)容。并將該topic通過apollo MQTT消息代理推送給訂閱了該主題的硬件執(zhí)行器件,從而實現(xiàn)對硬件執(zhí)行器件的主動推送控制功能。

        2.3.2? ?物聯(lián)網(wǎng)服務器的消息訂閱功能

        物聯(lián)網(wǎng)服務器的消息訂閱功能接收硬件感知層上傳的感知數(shù)據(jù),調(diào)用MVC模型中的業(yè)務邏輯層,完成感知層數(shù)據(jù)的持久存儲。過程與圖3的發(fā)布功能類似,圖中的控制流變?yōu)閿?shù)據(jù)流。

        消息訂閱功能和HTTP服務器接口的數(shù)據(jù)上傳功能數(shù)據(jù)流向一樣。但基于MQTT協(xié)議的數(shù)據(jù)幀長度很短,可定制格式,適于內(nèi)存有限的感知層硬件處理器,也適于數(shù)據(jù)流頻繁、帶寬有限的物聯(lián)網(wǎng)環(huán)境。

        3? ?功耗分析(Power analysis)

        3.1? ?無線網(wǎng)絡初始化期間功耗對比

        物聯(lián)網(wǎng)服務器主要起到對數(shù)據(jù)流的持久存儲和UI展示,對控制流的接收接口和對感知層執(zhí)行器件的指令發(fā)送功能。因此,基于MQTT協(xié)議的物聯(lián)網(wǎng)服務器不再基于HTTP協(xié)議,采用請求/響應模式提供這兩大服務。通過MQTT協(xié)議架構的物聯(lián)網(wǎng)服務器與移動端、感知層建立了常連接,可基于MQTT的心跳響應維持三者在消息代理上的連接狀態(tài)。數(shù)據(jù)流和控制流的傳輸都基于發(fā)布/訂閱機制。在與服務器建立初始化連接期間,HTTPS協(xié)議比MQTT協(xié)議的電池消耗略少,如表1所示。

        3.2? ?無線網(wǎng)絡保持連接期間通信功耗對比

        物聯(lián)網(wǎng)工程項目通信過程過程中,電池消耗指標在保持連接中更具衡量代表性。保持連接所需要的電源消耗對比如表2所示。

        通過對電池消耗表的分析,可以看出,HTTPS和MQTT通信方式在電源消耗上,隨著保持連接時長的增加,在4G和WiFi聯(lián)網(wǎng)的情況下,都會大幅減少,但總體來說,MQTT比HTTPS通信方式電源消耗減少50%左右。

        4? ?結論(Conclusion)

        通過分析目前物聯(lián)網(wǎng)工程架構下通信協(xié)議的應用現(xiàn)狀,以物聯(lián)網(wǎng)服務器與感知層和應用層的通信協(xié)議為入手點,架構并開發(fā)了一個基于MQTT的物聯(lián)網(wǎng)服務器。通過分析,采用MQTT協(xié)議的物聯(lián)網(wǎng)服務器在與物聯(lián)網(wǎng)感知層和應用層的通信過程中,在網(wǎng)絡初始化之后的連接保持期間,功耗有顯著下降。

        參考文獻(References)

        [1] Vishal Kumar, Gayatri Sakya, Chandra Shankar. WSN and IoT based smart city model using the MQTT protocol[J]. Journal of Discrete Mathematical Sciences and Cryptography, 2019, 22(8): 1423-1434.

        [2] Jameel Ahamed, Md. Zahid, Mohd Omar, et al. AES and MQTT based security system in the internet of things[J]. Journal of Discrete Mathematical Sciences and Cryptography, 2019, 22(8): 1589-1598.

        [3] Arlen Nipper. MQTT's role as an IoT message transport[J]. Control engineering: Covering control, instrumentation, and automation systems worldwide, 2019, 66(1): 20-21.

        [4] 顧兆旭,焦戰(zhàn),崔鵬.基于物聯(lián)網(wǎng)的智能超市實訓室建設方案初探[J].軟件工程,2018,21(12):60-62.

        [5] 李曉明,Thierno Gueye.面向軟件測試的物聯(lián)網(wǎng)節(jié)點模擬單元開發(fā)[J].軟件工程,2019,22(7):1-5.

        [6] 百度.天工-智能物聯(lián)網(wǎng)[EB/OL].https://cloud.baidu.com/solution/iot/index.html.2019

        [7] 阿里.阿里云Link平臺正式發(fā)布[EB/OL].http://www.kmykt.com/hy_new/644.html,2017.

        [8] 騰訊.QQ物聯(lián)智能硬件開放平臺[EB/OL].https://iot.open.qq.com,2014.

        [9] 中國移動.OneNet物聯(lián)網(wǎng)開放平臺[EB/OL].https://open.iot.10086.cn,2019.

        [10] 侯敏,劉倩,楊華勇,等.基于MQTT協(xié)議的海洋觀測數(shù)據(jù)推送系統(tǒng)[J].計算機工程與應用,2019,55(20):227-231.

        [11] 郭力,胡偉,張政成.試析MQTT協(xié)議在物聯(lián)網(wǎng)中的應用[J].電腦知識與技術,2019,15(28):31-32;37.

        [12] 蔣樹慶,房瀅.一種基于MQTT協(xié)議的數(shù)據(jù)采集控制系統(tǒng)[J].信息通信,2019(8):80-82.

        [13] 耿錫濤.基于MQTT協(xié)議的電力設備溫度在線監(jiān)測系統(tǒng)應用研究[J].工業(yè)控制計算機,2019,32(10):73-74.

        作者簡介:

        萬洪莉(1978-),女,碩士,副教授.研究領域:物聯(lián)網(wǎng)工程,Web應用開發(fā).

        李雨晨(1979-),男,碩士,工程師.研究領域:控制理論與控制工程,電氣工程.

        猜你喜歡
        服務器
        通信控制服務器(CCS)維護終端的設計與實現(xiàn)
        PowerTCP Server Tool
        中國服務器市場份額出爐
        得形忘意的服務器標準
        網(wǎng)絡環(huán)境
        配置連接服務器
        計算機網(wǎng)絡安全服務器入侵與防御
        服務器操作系統(tǒng)可信加固技術研究
        湖北電力(2016年10期)2016-04-25 07:55:55
        如何應對虛擬服務器的安全性及合規(guī)性挑戰(zhàn)
        關于Linux的視頻服務器開發(fā)與實現(xiàn)分析
        河南科技(2014年18期)2014-02-27 14:14:43
        欧美日韩精品久久久免费观看| 国产盗摄一区二区三区av| 亚洲女av中文字幕一区二区| 成人网站在线进入爽爽爽| 无码三级在线看中文字幕完整版| 久久精品国产亚洲av大全相关| 麻豆成年人视频在线观看| 色yeye在线观看| 美女视频在线观看一区二区三区| 无码a级毛片免费视频内谢5j| 丰满人妻av无码一区二区三区| 亚洲韩国在线| 日本高清视频一区二区| 丰满少妇被粗大猛烈进人高清| 韩日美无码精品无码| 国品精品一区二区在线观看| 亚洲天堂色婷婷一区二区| 亚洲av网一区二区三区| 人妻丰满熟妇av无码片| 成人国产永久福利看片| 国产自拍av在线观看| 国产乱人偷精品人妻a片| 俺来也俺去啦久久综合网| 亚洲高清一区二区三区在线观看| 久久精品不卡一区二区三区| wwww亚洲熟妇久久久久| 236宅宅理论片免费| 亚洲AV无码一区二区一二区教师| 亚洲最大av在线精品国产| 疯狂添女人下部视频免费| 四虎4545www国产精品| 亚洲精品国产一区av| 国产情侣一区二区三区| 国产成人av免费观看| 国产对白刺激在线观看| 国产精品丝袜美女久久 | 丰满少妇a级毛片| 日韩一级特黄毛片在线看| 亚洲天堂一区二区精品| 国产猛烈高潮尖叫视频免费| 天码av无码一区二区三区四区 |