虞翔++夏春梅
摘 要: 針對物聯(lián)網(wǎng)服務平臺的實際需求,詳細分析物聯(lián)網(wǎng)系統(tǒng)的架構,提出實時性和非實時性數(shù)據(jù)通路分離的設計方案,實現(xiàn)高靈活、低時延傳輸數(shù)據(jù)的目標。研究結果表明,在24 GB內側服務器上能達到9萬個TCP連接,端至端傳輸時延平均控制在10~18 ms,上述方案能很好地滿足實際物聯(lián)網(wǎng)服務平臺的需求。
關鍵詞: 通用物聯(lián)網(wǎng)服務; 實時數(shù)據(jù); 傳輸路徑; 傳輸時延
中圖分類號: TN919.2?34 文獻標識碼: A 文章編號: 1004?373X(2017)11?0037?03
Realization path of real?time data transmission for general IOT service
YU Xiang, XIA Chunmei
(Baoshan University, Baoshan 678000, China)
Abstract: Aiming at the actual demand of the Internet of Things (IOT) service platform, the architecture of the IOT system is analyzed in detail. The design scheme of separating the real?time data path from non?real?time data path is proposed to realize the target of data transmission with high flexibility and low delay. The research results show that the platform can connect 90 000 TCPs in 24 GB inside server, the average end?to?end transmission delay is controlled within 10~18 ms, and the scheme can meet the demand of the actual IOT service platform.
Keywords: general IOT service; real?time data; transmission path; transmission delay
0 引 言
近些年,物聯(lián)網(wǎng)獲得快速的發(fā)展,并逐步形成物聯(lián)網(wǎng)服務業(yè)產業(yè)化。物聯(lián)網(wǎng)采用新型傳感設備,例如,紅外感應器、GPS定位系統(tǒng)等,是把互聯(lián)網(wǎng)與物品相互連接的網(wǎng)絡。它根據(jù)預先制定的通信實施信息交換,通過對物品的識別、定位跟蹤實現(xiàn)對物體的實時監(jiān)控。但因物聯(lián)網(wǎng)感知設備、應用平臺異構性較強,導致物聯(lián)網(wǎng)應用出現(xiàn)碎片化、擴展性差等問題,為物聯(lián)網(wǎng)的設計和開發(fā)工作帶來極大困難。針對上述問題,本次開發(fā)一套支持物聯(lián)網(wǎng)雙向實時數(shù)據(jù)傳輸?shù)南群耍ζ湫阅苷归_測試和驗證,能為大規(guī)模物聯(lián)網(wǎng)服務平臺傳輸數(shù)據(jù)提供一定借鑒和參考。
1 概述物聯(lián)網(wǎng)的結構及軟硬件情況
一般情況下,物聯(lián)網(wǎng)主要劃分為感知層、應用層、網(wǎng)絡層三個層次。其中,傳輸層借助互聯(lián)網(wǎng),依據(jù)有關網(wǎng)絡協(xié)議把信息數(shù)據(jù)分別傳輸給信息對應的數(shù)據(jù)中心;應用層利用與平臺有關的技術,對數(shù)據(jù)實施解析和處理,從而獲取物品相關的各類信息,達到監(jiān)測或控制物品的效果[1]。物聯(lián)網(wǎng)體系架構見圖1。
圖1 物聯(lián)網(wǎng)體系結構
1.1 設計系統(tǒng)的硬件
完整的物聯(lián)網(wǎng)應用系統(tǒng)其硬件架構如圖2所示,主要包括與物理環(huán)境相交互的無線傳輸部分,如執(zhí)行器、無線傳輸器等。此時,服務中心主要提供接入Web應用、接入的網(wǎng)關等服務,上述服務均利用內部消息總線實施連接,并借助消息總線實現(xiàn)消息的負載均衡機制、發(fā)布/訂閱機制[2]。
1.2 設計軟件架構
服務端采用Java語言進行開發(fā)操作,通過Eclipse,maven等工具編寫所需的軟件模塊。對復雜軟件進行分解時,設計者最常用的技術就是對其分層,分層旨在對不同職責的組間實施分裂,組成一套層與層之間低耦合的軟件系統(tǒng)。本次軟件架構也不例外,為滿足實時發(fā)布信息和交流應用的要求,該架構主要劃分為表現(xiàn)層、應用層、服務層和數(shù)據(jù)層。其中,表現(xiàn)層就是用戶界面視圖,是用戶和系統(tǒng)展開交互的橋梁,它包括各種移動終端界面、Web頁面等。用戶利用可視化界面向系統(tǒng)輸入各項操作質量,上述指令以請求的方法傳輸至應用層。應用層的主要功能為接收并響應用戶請求,如果用戶發(fā)出請求,由它接收并傳遞至服務層。設計的Real?time Service通信模塊旨在接收、處理Gateway Service模塊傳送而來的數(shù)據(jù)。當傳輸Gateway實時數(shù)據(jù),用戶對其進行持久化存儲,它是一個高性能的非關系型數(shù)據(jù)庫,能實現(xiàn)人機交互的效果[3]。
2 設計實時數(shù)據(jù)傳輸通路
2.1 設計合理的數(shù)據(jù)通路
服務中心主要由實時數(shù)據(jù)通路和非實時數(shù)據(jù)通路兩條數(shù)據(jù)通路組成,依次對傳輸數(shù)據(jù)實施實時顯示處理。遵循應用物聯(lián)網(wǎng)中實時監(jiān)控的要求,按照實時和非實時數(shù)據(jù)通路分開設計的方案,單一記錄詳細的數(shù)據(jù),以此滿足系統(tǒng)報警和監(jiān)控的需求[4]。同時,為支撐UIO測試的實際需求,其能夠提供雙向數(shù)據(jù)傳輸,見圖3。
2.2 設計分布式消息總線
現(xiàn)階段,面向服務的架構廣泛應用于實時服務系統(tǒng)中,用戶由客戶端向管理服務器發(fā)出信息操作命令。信息操作hill包含本級信息指令、上下級信息操作指令。本級和上線階段數(shù)據(jù)交換服務即數(shù)據(jù)交換總線需要實現(xiàn)的功能。本系統(tǒng)消息總線服務模型見圖4。消息總線是物聯(lián)網(wǎng)服務系統(tǒng)的動脈,是完成各項服務之間實施通信的關鍵技術[5]。分布式通信模式主要分類如下:
(1) 請求回應:這種模型從請求端發(fā)布請求信息,并期待回應端可以及時對請求信息予以回應。
(2) 發(fā)布訂閱模型:在該模型中,發(fā)布端僅單向發(fā)出數(shù)據(jù),并不關心是否把所有信息均傳送到訂閱端。如果發(fā)布端開始發(fā)出相應的信息,訂閱端沒有連接上來,這些信息會直接面臨丟棄。必須注意,訂閱端只有接收信息的功能,不能實施相應的反饋。
本次研究的消息總線基于Java的Vertx技術進行開發(fā),并充分運用Vertx自帶的分布式部署能力對整個后端服務實施開發(fā)操作。該系統(tǒng)設計過程中主要包含以下模塊各部分之間的實時數(shù)據(jù)信息傳輸,如Gateway Service與Simulation之間利用TCP通信協(xié)議。
3 檢測端到端實時數(shù)據(jù)流傳輸性能
3.1 創(chuàng)設合理的測試環(huán)境
本次設計中,在同一局域網(wǎng)下配備4臺主機,具體設備見表1。對其網(wǎng)絡性能實施檢測時,要充分考慮數(shù)據(jù)服務器的接入和時延參數(shù)變化情況。因此,本次實驗對相同局域網(wǎng)下不同主機的運行情況展開測試,模擬其分布式運行環(huán)境。如果連接數(shù)不斷增加,網(wǎng)絡性能指標也會隨之改變。
本次實驗共展開11次測試,試驗編號為1~11,準確記錄每一次實驗的往返時間數(shù)值,計算相應的平均值,具體結果見圖5,橫軸、縱軸分別表示試驗編號、平均時延。由圖5可知,本次設計系統(tǒng)的數(shù)值在10~18 ms之間波動,最小值出現(xiàn)在7 ms、最大值在29 ms,出現(xiàn)這種情況與數(shù)據(jù)傳輸是否擁擠有關。
3.2 測試系統(tǒng)的接入能力
接入能力測試部署見圖6,在物聯(lián)網(wǎng)平臺服務體系內,每一次客戶端Gateway Simulator應用程序不斷提升連接訪問服務器。
在相同的局域網(wǎng)環(huán)境下,系統(tǒng)配備4臺主機,其中,3臺為客戶端發(fā)布請求連接;另一臺作為客戶連接服務程序。共展開8次測試,圖7表示單位時間每毫秒服務器的連接數(shù)。
表2詳細記錄通過8次實驗客戶端能夠連接的數(shù)量,以此檢驗系統(tǒng)的可接入能力。由表2數(shù)據(jù)可知,最好狀態(tài)下約有9萬連接數(shù)量,其他時間約8萬。
綜上所述,物聯(lián)網(wǎng)服務平臺的主要功能是多傳感器數(shù)據(jù)的匯集、處理、優(yōu)化、控制等,系統(tǒng)如何在保持高并發(fā)基礎上及時處理實時數(shù)據(jù),成為研究者重點關注的內容。本次研究從物聯(lián)網(wǎng)系統(tǒng)的主要結構入手,深入分析其軟件和硬件架構,提出實時、非實時數(shù)據(jù)通路相互分離的方案。實驗結果證實,24 GB內側服務器上約有9萬個TCP連接,端對端傳輸時延平均處于10~18 ms,所設計的方案能滿足實際物聯(lián)網(wǎng)服務平臺的實際需求。
參考文獻
[1] 邱旻駿,張偉,朱勁,等.通用工業(yè)物聯(lián)網(wǎng)網(wǎng)關的設計與評測[J].通信技術,2013,11(3):58?61.
[2] 羅旭,張偉,卜世俊.通用物聯(lián)網(wǎng)服務平臺中的實時數(shù)據(jù)傳輸設計與性能測試[J].電腦知識與技術,2014,43(35):8379?8382.
[3] 趙亮,張吉禮,梁若冰.面向建筑能源系統(tǒng)的物聯(lián)網(wǎng)通用網(wǎng)關設計與實現(xiàn)[J].大連理工大學學報,2014,54(1):85?90.
[4] 姚有林,尤飛,高竹蓮,等.車聯(lián)網(wǎng)移動無線數(shù)據(jù)通信系統(tǒng)的設計與實現(xiàn)[J].現(xiàn)代電子技術,2014,37(20):31?34.
[5] 馮鑫,黨幼云,向乾,等.基于物聯(lián)網(wǎng)的電量采集及分析系統(tǒng)設計[J].陜西電力,2014,42(2):80?84.
[6] 田立勤,高坤,曹陽威.北斗物聯(lián)網(wǎng)實時監(jiān)測的傳輸有效性優(yōu)化與分析[J].計算機科學與探索,2016,10(7):975?988.
[7] 屈軍鎖,左佳麗.一種可靠數(shù)據(jù)傳輸技術的設計與實現(xiàn)[J].西安郵電大學學報,2016,21(2):40?45.
[8] 李灝,楊海波.基于ARM的物聯(lián)網(wǎng)溫濕度采集節(jié)點設計與實現(xiàn)[J].現(xiàn)代電子技術,2014,37(14):132?134.