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

        ?

        實(shí)時(shí)大規(guī)模遠(yuǎn)程實(shí)驗(yàn)通信方案研究

        2018-10-16 05:50:06諶建飛唐俊龍文勇軍唐立軍
        關(guān)鍵詞:用戶實(shí)驗(yàn)

        諶建飛,鄧 敏,唐俊龍,文勇軍 ,唐立軍

        1.長沙理工大學(xué) 物理與電子科學(xué)學(xué)院,長沙 410114

        2.近地空間電磁環(huán)境監(jiān)測與建模湖南省普通高校重點(diǎn)實(shí)驗(yàn)室,長沙 410114

        1 引言

        遠(yuǎn)程實(shí)驗(yàn)是一種自動(dòng)化遠(yuǎn)程交互控制的全實(shí)物新型實(shí)驗(yàn)?zāi)J?,具有真?shí)儀器控制、網(wǎng)絡(luò)在線操作和實(shí)驗(yàn)資源共享等特點(diǎn)[1-2]。近年來,隨著網(wǎng)絡(luò)通信技術(shù)的發(fā)展,基于互聯(lián)網(wǎng)的遠(yuǎn)程實(shí)驗(yàn)受到越來越多人們的關(guān)注,各大高校紛紛建立了自己的遠(yuǎn)程實(shí)驗(yàn)平臺(tái),開展了物理、化工、機(jī)械、電氣等專業(yè)課程的實(shí)驗(yàn)應(yīng)用[3-5],有效促進(jìn)了實(shí)驗(yàn)資源的共享和教學(xué)能力的提高。目前,對遠(yuǎn)程實(shí)驗(yàn)的研究工作主要注重在實(shí)驗(yàn)平臺(tái)與實(shí)驗(yàn)應(yīng)用的開發(fā)上,因缺乏實(shí)時(shí)可靠消息傳輸、通信安全控制以及應(yīng)對大規(guī)模實(shí)驗(yàn)儀器與用戶并發(fā)訪問的能力,導(dǎo)致不能全方位對外開放[6-8]。

        圖1 遠(yuǎn)程實(shí)驗(yàn)通信方案

        隨著消息隊(duì)列遙測傳輸技術(shù)(Message Queuing Telemetry Transport,MQTT[9])在智能家居、智能物流、地質(zhì)災(zāi)害預(yù)警和工業(yè)遠(yuǎn)程監(jiān)控中的成功應(yīng)用,為開放式遠(yuǎn)程實(shí)驗(yàn)的通信研究開辟了新思路。MQTT是由IBM公司于1999年開發(fā)的即時(shí)通訊協(xié)議,并于2014年成為推薦的物聯(lián)網(wǎng)傳輸協(xié)議標(biāo)準(zhǔn),采用“發(fā)布/訂閱”模式,具有輕量級(jí)、快速、低延時(shí)、可擴(kuò)展等特點(diǎn)[10]。與XMPP、SIMPLE協(xié)議相比,MQTT專門針對傳感器網(wǎng)絡(luò)優(yōu)化設(shè)計(jì),具有更小的通信開銷,能夠有效節(jié)省控制器的計(jì)算資源和流量,承載海量終端信息傳輸,提高通信的實(shí)時(shí)性和可靠性[11-12]。目前,基于MQTT的開源服務(wù)器實(shí)現(xiàn)主要有Mosquitto、HiveMQ和EMQ[13]等,EMQ基于高并發(fā)Erlang/OTP語言平臺(tái)設(shè)計(jì),支持MQTT-SN[14]與Web-Socket協(xié)議和分布式集群部署,具有更強(qiáng)的并發(fā)性能,能夠承載物聯(lián)網(wǎng)終端的海量MQTT并發(fā)連接,成為遠(yuǎn)程實(shí)驗(yàn)通信的可靠選擇。

        因此,本文以MQTT為核心,從實(shí)驗(yàn)儀器與用戶并發(fā)訪問、實(shí)時(shí)可靠消息傳輸、網(wǎng)絡(luò)安全控制和儀器安全保障四方面開展研究,探索一種能夠?qū)崟r(shí)連接大規(guī)模傳感器網(wǎng)絡(luò)并適用于高并發(fā)訪問的遠(yuǎn)程實(shí)驗(yàn)通信方案,為遠(yuǎn)程實(shí)驗(yàn)的對外開放和實(shí)驗(yàn)通信技術(shù)的發(fā)展提供參考依據(jù)。

        2 方案設(shè)計(jì)

        遠(yuǎn)程實(shí)驗(yàn)平臺(tái)對外開放需要解決并發(fā)性、實(shí)時(shí)性、可靠性和安全性問題,其通信系統(tǒng)需要滿足以下需求:(1)通信并發(fā)連接數(shù)達(dá)到百萬級(jí),每秒消息傳輸能力不低于50 000條;(2)通信時(shí)延小于300 ms,消息傳輸成功率大于98%;(3)提供通信服務(wù)質(zhì)量和消息順序控制保證;(4)建立用戶實(shí)名制訪問,儀器授權(quán)管理和實(shí)驗(yàn)數(shù)據(jù)安全傳輸;(5)提供通信失效儀器安全保護(hù)和通信自愈。

        根據(jù)以上分析,選擇MQTT技術(shù)來構(gòu)建遠(yuǎn)程實(shí)驗(yàn)通信網(wǎng)絡(luò)。方案設(shè)計(jì)如圖1所示。系統(tǒng)從結(jié)構(gòu)上分為儀器控制端、Web用戶端和通信服務(wù)中心。儀器控制端由實(shí)驗(yàn)儀器、傳感器、致動(dòng)器和控制器組成,Web用戶端由HTML5、WebSocket和教育電子身份號(hào)(E2ID)技術(shù)[15]支持,通信服務(wù)中心由通信服務(wù)器、數(shù)據(jù)庫服務(wù)器和應(yīng)用服務(wù)器組成。

        通過搭建基于MQTT的EMQ消息推送服務(wù)器集群來解決遠(yuǎn)程實(shí)驗(yàn)通信的并發(fā)性能問題;結(jié)合嵌入式和WebSocket技術(shù)來解決實(shí)驗(yàn)儀器的接入和Web用戶的訪問問題;結(jié)合SSL/TLS和E2ID技術(shù)來解決遠(yuǎn)程實(shí)驗(yàn)通信的網(wǎng)絡(luò)安全控制問題;結(jié)合MQTT的通信服務(wù)質(zhì)量保證機(jī)制并設(shè)計(jì)消息順序控制機(jī)制來確保消息的實(shí)時(shí)可靠傳輸;結(jié)合MQTT的遺囑機(jī)制設(shè)計(jì)儀器安全保障與通信自愈機(jī)制來解決通信失效和實(shí)驗(yàn)儀器的安全保障問題。方案中將通信與實(shí)驗(yàn)業(yè)務(wù)邏輯分離,解除應(yīng)用程序耦合,使通信設(shè)計(jì)靈活獨(dú)立,易于擴(kuò)展,并可根據(jù)需求提升通信處理能力。

        3 功能設(shè)計(jì)

        3.1 實(shí)驗(yàn)儀器與用戶并發(fā)訪問

        實(shí)驗(yàn)儀器在傳感器、致動(dòng)器和控制器的協(xié)調(diào)控制下完成實(shí)驗(yàn)操控和數(shù)據(jù)采集。大規(guī)模的實(shí)驗(yàn)儀器借助于嵌入式設(shè)備進(jìn)行網(wǎng)絡(luò)接入,而用戶通過Web進(jìn)行高并發(fā)訪問,對實(shí)驗(yàn)通信性能提出了不小的挑戰(zhàn)。通過進(jìn)行EMQ集群設(shè)計(jì)、通信話題設(shè)計(jì)和儀器與用戶接入優(yōu)化設(shè)計(jì)來解決實(shí)驗(yàn)儀器與用戶并發(fā)訪問問題。

        3.1.1EMQ集群設(shè)計(jì)

        為使通信并發(fā)連接能力達(dá)到百萬級(jí)且每秒消息傳輸能力不低于50 000條,采用構(gòu)建分布式通信集群的方法解決該問題,設(shè)計(jì)方案如圖2所示。

        圖2 EMQ通信集群方案

        EMQ服務(wù)器單節(jié)點(diǎn)在8核28 GB系統(tǒng)配置下,SSL單向認(rèn)證穩(wěn)定連接數(shù)在20~25萬,每秒消息傳輸能力不低于2萬條[13],因此集群規(guī)模設(shè)計(jì)根據(jù)實(shí)驗(yàn)通信需求和單節(jié)點(diǎn)性能選用5較為合適。各節(jié)點(diǎn)之間采用EMQ自身提供的基于靜態(tài)節(jié)點(diǎn)列表自動(dòng)集群創(chuàng)建方法,在EMQ配置文件中配置需要加入集群的各節(jié)點(diǎn)名“Name@Host”,Host為IP地址或FQDN(主機(jī)名、域名),在EMQ集群啟動(dòng)時(shí),系統(tǒng)根據(jù)配置文件中的節(jié)點(diǎn)列表,依次將各節(jié)點(diǎn)連接到集群,實(shí)現(xiàn)系統(tǒng)互聯(lián)與路由共享。在集群的外部添加Azure負(fù)載均衡服務(wù)器,使用5元組哈希(包括源IP、源端口、目標(biāo)IP、目標(biāo)端口和協(xié)議類型)分發(fā)策略將流量映射到各可用EMQ服務(wù)器上。在Azure負(fù)載均衡器上,采用動(dòng)態(tài)探測與最小連接數(shù)優(yōu)先算法,通過對集群各節(jié)點(diǎn)監(jiān)聽端口進(jìn)行偵聽,如果響應(yīng)正常,則再根據(jù)各節(jié)點(diǎn)建立的連接數(shù)統(tǒng)計(jì),選用具有最小連接數(shù)的節(jié)點(diǎn)建立通信,實(shí)現(xiàn)動(dòng)態(tài)負(fù)載均衡。當(dāng)多次偵聽響應(yīng)失敗時(shí),停止向該節(jié)點(diǎn)發(fā)起通信連接。

        EMQ集群的設(shè)計(jì)方案能有效提高通信的并發(fā)處理能力,實(shí)現(xiàn)動(dòng)態(tài)擴(kuò)容,并解決服務(wù)器單點(diǎn)故障問題。

        3.1.2 通信話題設(shè)計(jì)

        MQTT基于話題進(jìn)行消息路由,為確保每組實(shí)驗(yàn)儀器與用戶間通信的獨(dú)立性,通信話題采用層次化功能劃分設(shè)計(jì),具體如下:“commun/{institution_id}/{device_id}/{function}”?!癱ommun”表示實(shí)驗(yàn)通信業(yè)務(wù)的最高級(jí)與其他實(shí)驗(yàn)業(yè)務(wù)區(qū)分;“{institution_id}”表示實(shí)驗(yàn)儀器所在的單位或機(jī)構(gòu)的唯一標(biāo)識(shí);“{device_id}”表示具體實(shí)驗(yàn)儀器的唯一標(biāo)識(shí);“{function}”表示功能分類,包含“status”“operation”“data”,分別用于儀器的狀態(tài)監(jiān)控、操作控制和實(shí)驗(yàn)數(shù)據(jù)分發(fā)。

        3.1.3 儀器與用戶接入優(yōu)化設(shè)計(jì)

        實(shí)驗(yàn)儀器與Web用戶的接入直接關(guān)系到遠(yuǎn)程實(shí)驗(yàn)通信性能與交互效率。當(dāng)前大多實(shí)驗(yàn)平臺(tái)采用Socket和Ajax輪詢通信方案,需要自下向上對通信交換協(xié)議進(jìn)行設(shè)計(jì),并存在資源消耗過大問題。MQTT已經(jīng)針對物聯(lián)網(wǎng)做了大量的優(yōu)化工作,將協(xié)議交換最小化,報(bào)文結(jié)構(gòu)緊湊,最小報(bào)文長度只有2字節(jié),因此采用MQTT來優(yōu)化儀器與用戶接入,以實(shí)現(xiàn)嵌入式設(shè)備和Web端的計(jì)算資源優(yōu)化并降低網(wǎng)絡(luò)流量。

        實(shí)驗(yàn)儀器與用戶都通過MQTT消息通信模塊進(jìn)行網(wǎng)絡(luò)接入,MQTT消息通信模塊包含通信連接建立、心跳維持、消息發(fā)送與消息接收功能。在儀器控制端構(gòu)建MQTT通信網(wǎng)關(guān),傳感器與致動(dòng)器通過I/O口、串口或無線模塊與控制器連接,向上通過基于TCP的MQTT與EMQ集群通信,對不支持TCP/IP協(xié)議棧的設(shè)備使用MQTT-SN,該方法能有效降低控制器資源消耗與網(wǎng)絡(luò)流量。Web用戶端采用基于WebSocket技術(shù)的MQTT與EMQ集群相連,實(shí)現(xiàn)用戶的接入,WebSocket可以建立服務(wù)器與瀏覽器之間的持久化通信連接,與Ajax輪詢相比能大幅減少Web端的網(wǎng)絡(luò)流量與通信時(shí)延。

        3.2 實(shí)時(shí)可靠消息傳輸

        “低延時(shí)、高可靠”對實(shí)驗(yàn)操作體驗(yàn)至關(guān)重要,以往的遠(yuǎn)程實(shí)驗(yàn)缺乏相應(yīng)的通信服務(wù)質(zhì)量保證。另外,MQTT只提供了簡單的消息順序控制,在網(wǎng)絡(luò)不穩(wěn)定的情況下連續(xù)發(fā)送多個(gè)消息時(shí),雖然能保證消息的可靠傳輸,但并不能很好的保證消息的順序接收。因此,通過利用MQTT的通信服務(wù)質(zhì)量保證和消息順序控制機(jī)制來確保消息的實(shí)時(shí)可靠傳輸。

        3.2.1 通信服務(wù)質(zhì)量保證設(shè)計(jì)

        根據(jù)實(shí)驗(yàn)數(shù)據(jù)傳輸要求與網(wǎng)絡(luò)狀態(tài),MQTT提供三種不同的通信服務(wù)質(zhì)量保證,分別為QoS0盡力而為、QoS1至少一次、QoS2恰好一次,針對這三種通信服務(wù)質(zhì)量對實(shí)驗(yàn)通信的消息傳輸進(jìn)行控制。對于實(shí)驗(yàn)中單次數(shù)據(jù)丟失不會(huì)影響實(shí)驗(yàn)結(jié)果的情況,采用QoS0傳輸消息,消息發(fā)送者只管發(fā)送消息,不確認(rèn)消息的丟失,用于實(shí)驗(yàn)環(huán)境監(jiān)測數(shù)據(jù)采集;對于必需可靠傳達(dá),但收到重復(fù)的消息也不受影響的情況,采用QoS1傳輸消息,消息接收者如果沒有知會(huì)或者知會(huì)本身丟失,消息發(fā)送者會(huì)再次發(fā)送以保證消息接收者至少會(huì)收到一次,用于實(shí)驗(yàn)儀器的狀態(tài)數(shù)據(jù)傳輸;對于消息的丟失和重復(fù)會(huì)造成實(shí)驗(yàn)出錯(cuò)的情況,采用QoS2傳輸消息,可確保接收者收到且只收到一次該消息,用于實(shí)驗(yàn)參數(shù)調(diào)節(jié)與儀器的交互控制。

        3.2.2消息順序控制設(shè)計(jì)

        為了確保消息的順序控制,對同一會(huì)話下的所有消息添加消息序號(hào)管理。實(shí)驗(yàn)儀器和用戶在建立連接時(shí)初始化并同步各自消息的序號(hào),發(fā)送端在發(fā)送消息時(shí)對消息進(jìn)行編序,并暫時(shí)保存當(dāng)前信息。接收端對接收到的消息序列號(hào)進(jìn)行檢查,通過對比上一條消息的序列號(hào),確認(rèn)兩條信息之間是否有消息缺失。如果發(fā)現(xiàn)有消息缺失,則暫存這條消息等待缺失消息的到來,當(dāng)缺失的消息被接收處理后,再讀取該消息。如果等待超時(shí),則發(fā)送一條訪問缺失消息的命令給發(fā)送端,讓發(fā)送端重新發(fā)送該消息,從而確保消息順序控制,控制流程如圖3所示。

        3.3 實(shí)驗(yàn)通信網(wǎng)絡(luò)安全控制

        當(dāng)前遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)僅采用簡易的匿名認(rèn)證和明文數(shù)據(jù)傳輸方法,沒有進(jìn)行有效的網(wǎng)絡(luò)安全防護(hù)。通過研究傳輸層和應(yīng)用層的網(wǎng)絡(luò)安全設(shè)計(jì),來解決實(shí)驗(yàn)通信的網(wǎng)絡(luò)安全問題。

        3.3.1 傳輸層網(wǎng)絡(luò)安全設(shè)計(jì)

        傳輸層采用SSL/TLS協(xié)議實(shí)現(xiàn)MQTT通信的安全認(rèn)證與數(shù)據(jù)加密,SSL/TLS協(xié)議采用證書進(jìn)行身份校驗(yàn)并對數(shù)據(jù)加密,能確保所有信息的完整性和加密傳輸??紤]用戶數(shù)量眾多和效率問題,采用SSL單向認(rèn)證的方式?;赟SL/TLS協(xié)議的網(wǎng)絡(luò)安全設(shè)計(jì)包含證書與密鑰文件生成、證書與密鑰文件配置和通信驗(yàn)證。證書文件由Openssl軟件生成,首先生成CA文件,再由該文件為服務(wù)器和客戶端簽發(fā)各自的私鑰文件和證書文件。將生成的文件拷貝到EMQ通信服務(wù)器和客戶端上,配置相應(yīng)的SSL安全選項(xiàng),最后建立安全加密的通信連接。

        圖3 消息順序控制

        3.3.2 應(yīng)用層網(wǎng)絡(luò)安全設(shè)計(jì)

        應(yīng)用層采用基于E2ID實(shí)名制技術(shù)來確保對用戶的實(shí)名認(rèn)證和安全控制,同時(shí)設(shè)計(jì)用戶訪問控制(ACL)機(jī)制來實(shí)現(xiàn)對儀器操作的授權(quán)管理。

        E2ID是由單位代碼、居民身份證號(hào)碼等經(jīng)過特定算法生成的唯一標(biāo)識(shí)碼,用作用戶身份認(rèn)證以及網(wǎng)絡(luò)實(shí)名制的標(biāo)識(shí),具有較強(qiáng)安全性,目前已有近千萬個(gè)在線用戶[16]。在用戶創(chuàng)建時(shí)通過調(diào)用E2ID認(rèn)證接口,提交用戶真實(shí)身份信息和E2ID進(jìn)行實(shí)名驗(yàn)證,實(shí)現(xiàn)對用戶的有效控制。

        EMQ采用基于話題(Topic)訂閱的訪問權(quán)限控制機(jī)制,并提供基于MongoDB方式的實(shí)現(xiàn)。將EMQ集群所有節(jié)點(diǎn)連接到同一個(gè)MongoDB數(shù)據(jù)庫(大規(guī)模布置時(shí)可考慮MongoDB集群),在MongoDB的mqtt數(shù)據(jù)庫中創(chuàng)建mqtt_user和mqtt_acl表,用于存儲(chǔ)用戶和訪問控制的信息。用戶在預(yù)約實(shí)驗(yàn)時(shí)創(chuàng)建訪問控制信息,獲取儀器的操作權(quán)限,在實(shí)驗(yàn)操作結(jié)束后失去該權(quán)限。在EMQ監(jiān)控與認(rèn)證應(yīng)用中設(shè)計(jì)訪問EMQ用戶信息和訪問控制管理服務(wù)API,用于動(dòng)態(tài)管理用戶及其訪問控制權(quán)限。用戶實(shí)名認(rèn)證與訪問控制流程如圖4所示。

        3.4 實(shí)驗(yàn)儀器安全保障

        當(dāng)實(shí)驗(yàn)操作過程中發(fā)生通信服務(wù)器宕機(jī),用戶與儀器異常掉線或儀器運(yùn)作超出安全控制,將致使儀器失去控制,造成儀器損壞。因此系統(tǒng)必需具備及時(shí)下達(dá)安全控制指令,阻止安全事故發(fā)生,并能自動(dòng)切換通信連接、嘗試通信自愈和故障報(bào)警功能。

        3.4.1 儀器安全保護(hù)設(shè)計(jì)

        針對實(shí)驗(yàn)通信失效的安全問題,對實(shí)驗(yàn)儀器進(jìn)行三層保護(hù)設(shè)計(jì)。

        (1)建立遺囑消息保護(hù)機(jī)制。遠(yuǎn)程實(shí)驗(yàn)是由用戶對儀器的“一對一”操作,用戶獲取到儀器訪問權(quán)限后,與EMQ集群通信系統(tǒng)建立連接時(shí),設(shè)立遺囑消息(willM-essage),willMessage由topic、payload、QoS和 retain組成,分別表示遺囑消息主題、消息內(nèi)容、通信服務(wù)質(zhì)量和是否駐留服務(wù)器以備后來訂閱者可以接收該消息,topic由實(shí)驗(yàn)儀器訂閱,payload為緊急停止實(shí)驗(yàn)儀器命令,QoS等級(jí)為QoS1,retain為false表示不駐留。當(dāng)已經(jīng)建立連接的Web用戶端異常斷線時(shí),通信服務(wù)器能夠主動(dòng)檢測到并將該遺囑消息發(fā)送給實(shí)驗(yàn)儀器控制器,及時(shí)停止實(shí)驗(yàn)儀器。當(dāng)用戶再次建立連接時(shí),實(shí)驗(yàn)儀器可以重新被啟用。

        (2)建立通信連接檢測機(jī)制。在儀器控制器上設(shè)計(jì)MQTT通信連接斷開檢測處理事件,該事件基于MQTT的心跳機(jī)制進(jìn)行實(shí)現(xiàn)。MQTT客戶端建立連接后會(huì)周期性(60 s)發(fā)送一個(gè)心跳包給服務(wù)器,服務(wù)器收到該心跳包后返回一個(gè)響應(yīng),客戶在規(guī)定時(shí)間內(nèi)收到響應(yīng)則認(rèn)為當(dāng)前通信連接正常。當(dāng)客戶端發(fā)送心跳包出現(xiàn)異?;蛟诔?.5倍心跳周期內(nèi)仍未收到響應(yīng),則認(rèn)為通信連接故障,此時(shí)觸發(fā)停止實(shí)驗(yàn)儀器事件及時(shí)停止實(shí)驗(yàn)儀器,然后嘗試重新建立通信連接。當(dāng)通信連接重建失敗時(shí),在本地發(fā)出故障報(bào)警信息。

        圖4 用戶認(rèn)證與訪問控制過程

        (3)建立實(shí)驗(yàn)安全閾值管理。遠(yuǎn)程實(shí)驗(yàn)的儀器操作中存在較多的轉(zhuǎn)動(dòng)、加熱和位移控制等。在通信失效儀器未能及時(shí)停止時(shí),將直接或間接的影響儀器安全。在儀器控制器上設(shè)計(jì)實(shí)驗(yàn)安全閾值管理事件,該事件包含3個(gè)參數(shù)(上限值、下限值和輸入值),輸入值為需要進(jìn)行安全閾值檢測的數(shù)據(jù),上限值和下限值是對該數(shù)據(jù)的閾值設(shè)定。當(dāng)輸入值低于安全閾值范圍的10%或高于安全閾值范圍的90%時(shí),該事件給出警告提示,當(dāng)超出安全閾值范圍時(shí),觸發(fā)停止實(shí)驗(yàn)儀器并發(fā)出報(bào)警信息。實(shí)驗(yàn)工作安全閾值管理的數(shù)據(jù),根據(jù)實(shí)驗(yàn)運(yùn)作和影響儀器安全的數(shù)據(jù)關(guān)鍵性進(jìn)行選取。

        3.4.2 通信自愈機(jī)制設(shè)計(jì)

        通信自愈機(jī)制由MQTT消息通信、負(fù)載均衡節(jié)點(diǎn)信息表、通信狀態(tài)存儲(chǔ)、故障處理模塊組成。運(yùn)行流程如圖5所示。

        在建立通信連接時(shí),向EMQ監(jiān)控與認(rèn)證應(yīng)用請求當(dāng)前系統(tǒng)中可用的負(fù)載均衡節(jié)點(diǎn)信息并保存到本地,隨機(jī)選取一個(gè)節(jié)點(diǎn)建立通信。當(dāng)通信發(fā)生連接中斷時(shí),先進(jìn)行重連,如果不成功則調(diào)用通信自愈機(jī)制,保存當(dāng)前通信狀態(tài),讀取其他節(jié)點(diǎn)進(jìn)行通信連接;如果連接成功,則重新讀回通信狀態(tài),否則再次讀取其他節(jié)點(diǎn)信息,進(jìn)行通信連接。當(dāng)所有節(jié)點(diǎn)都不可用時(shí),在本地發(fā)通信故障報(bào)警信息。

        4 測試

        4.1 測試環(huán)境搭建

        圖5 通信自愈運(yùn)行流程

        按照設(shè)計(jì)方案在微軟Azure云計(jì)算平臺(tái)上搭建遠(yuǎn)程實(shí)驗(yàn)通信系統(tǒng)。EMQ集群規(guī)模大小為5,每個(gè)通信節(jié)點(diǎn)服務(wù)器配置為8核28 GB的Ubuntu 16.04.3-LTS,同時(shí)配置2個(gè)負(fù)載均衡器,1個(gè)MongoDB數(shù)據(jù)庫和1個(gè)EMQ監(jiān)控與認(rèn)證應(yīng)用服務(wù)器,并完成相關(guān)軟件部署。系統(tǒng)部署完后啟動(dòng)EMQ服務(wù)并開啟MQTT:SSL,MQTT:WSS端口監(jiān)聽。將實(shí)驗(yàn)通信的Web用戶端功能集成到遠(yuǎn)程實(shí)驗(yàn)平臺(tái)[8]。實(shí)驗(yàn)儀器為已經(jīng)在遠(yuǎn)程實(shí)驗(yàn)平臺(tái)開發(fā)使用的邁克爾遜干涉儀、等厚干涉儀和聲速測量儀等,儀器控制器采用基于ARM處理器的樹莓派,實(shí)驗(yàn)儀器通過樹莓派連接到通信系統(tǒng)。

        針對開放式遠(yuǎn)程實(shí)驗(yàn)通信需求,主要對系統(tǒng)的并發(fā)、消息傳輸和安全可靠性能進(jìn)行測試。并發(fā)性能通過模擬大規(guī)模用戶在線訪問,對通信服務(wù)器性能和響應(yīng)時(shí)間進(jìn)行實(shí)時(shí)監(jiān)測的方法進(jìn)行測試。消息傳輸性能通過給系統(tǒng)施加不同通信壓力,然后測量不同消息負(fù)載和不同通信服務(wù)質(zhì)量下的消息傳輸時(shí)延的方法進(jìn)行測試。安全可靠性能通過進(jìn)行相關(guān)實(shí)驗(yàn)操作,實(shí)時(shí)查看實(shí)驗(yàn)操作效果并對通信數(shù)據(jù)進(jìn)行抓包分析的方法進(jìn)行測試。

        測試機(jī)與實(shí)驗(yàn)儀器位于實(shí)驗(yàn)室環(huán)境,網(wǎng)絡(luò)帶寬為10 MB。測試機(jī)系統(tǒng)配置為4核8 GB的Windows 10,運(yùn)行遠(yuǎn)程實(shí)驗(yàn)平臺(tái)Web應(yīng)用軟件。測試中所需的用戶負(fù)載模擬與通信壓力生成由負(fù)載機(jī)組完成,機(jī)組規(guī)模為20,部署于微軟Azure云計(jì)算平臺(tái),系統(tǒng)配置為4核14 GB的Ubuntu 16.04.3-LTS。

        4.2 并發(fā)性能測試

        在用戶負(fù)載從1萬逐漸增加到100萬的情況下對系統(tǒng)進(jìn)行并發(fā)性能測試,每秒新增負(fù)載連接數(shù)為1 000,采用SSL單向認(rèn)證方式連接。測試步驟如下:(1)由負(fù)載機(jī)組以每秒1 000條的速率向系統(tǒng)發(fā)起通信連接;(2)通過系統(tǒng)性能監(jiān)測軟件對集群中單個(gè)服務(wù)器節(jié)點(diǎn)的CPU占用率、內(nèi)存使用情況進(jìn)行實(shí)時(shí)監(jiān)控;(3)采用軟件計(jì)時(shí)方式測量通信連接的響應(yīng)時(shí)間,并統(tǒng)計(jì)連接成功數(shù);(4)對負(fù)載不斷增長的1萬、25萬、50萬、75萬、100萬階段隨機(jī)抽取不少于200組數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。測試結(jié)果如表1所示。

        表1 并發(fā)性能測試

        由表1可知,隨著用戶連接數(shù)增多,內(nèi)存占用率增大,而CPU占用率、平均響應(yīng)時(shí)間略有增加,但變化不太明顯。系統(tǒng)在與測試機(jī)開始建立連接的小段時(shí)間內(nèi),CPU占用率會(huì)迅速增長達(dá)到峰值,隨后不斷有所降低,并且CPU占用率與設(shè)定的每秒新增負(fù)載連接數(shù)大小相關(guān),每秒新增負(fù)載連接數(shù)越大,CPU占用率越大。此外,在設(shè)置不重連的情況下,多次測試的連接成功率都達(dá)到了100%,從測試的結(jié)果來看,系統(tǒng)各項(xiàng)資源使用基本正常,基于SSL單向認(rèn)證確保了系統(tǒng)安全,在用戶高并發(fā)訪問的環(huán)境下,系統(tǒng)仍具有較好的性能。

        4.3 消息傳輸性能測試

        在10萬、50萬和100萬高負(fù)載背景用戶連接的情況下,分別對每個(gè)通信服務(wù)器節(jié)點(diǎn)設(shè)定1萬用戶以1條/s的速率發(fā)送消息給其他用戶,用于給系統(tǒng)施加每秒傳輸5萬消息的通信壓力。然后測量遠(yuǎn)程實(shí)驗(yàn)平臺(tái)Web用戶端與儀器控制端之間兩種不同負(fù)載大?。?56 Byte、1 KB)消息傳輸時(shí)延和系統(tǒng)資源消耗。測試步驟如下:(1)由負(fù)載測試機(jī)組依次生成10萬、50萬和100萬背景用戶連接與5萬的通信壓力;(2)在本地測試機(jī)依次進(jìn)行256 Byte、1 KB大小消息在QoS0、Qos1和QoS2下的消息傳輸;(3)采用系統(tǒng)性能監(jiān)測軟件對集群中單個(gè)服務(wù)器節(jié)點(diǎn)的CPU占用率、內(nèi)存使用情況進(jìn)行實(shí)時(shí)監(jiān)控;(4)采用軟件計(jì)時(shí)方式對18種不同情況下的消息傳輸時(shí)延進(jìn)行統(tǒng)計(jì)分析,每組測試數(shù)據(jù)不少于200條。測試結(jié)果如表2所示。

        表2 消息傳輸性能測試

        由表2可知,消息負(fù)載大小對消息傳輸時(shí)延略有增加,但變化不太明顯;背景用戶連接數(shù)的增加除了會(huì)消耗更多的內(nèi)存外,對系統(tǒng)性能影響較小;針對不同的通信服務(wù)質(zhì)量,消息傳輸時(shí)延有明顯的不同。此外,在當(dāng)前測試的通信壓力情況下,消息傳輸成功率都達(dá)到了100%,可以滿足遠(yuǎn)程實(shí)驗(yàn)的通信需要。在未來隨著系統(tǒng)消息吞吐量的增大,當(dāng)CPU或內(nèi)存占用率接近滿載的時(shí)候,消息傳輸時(shí)延會(huì)迅速增長,此時(shí)可以通過采取集群擴(kuò)容的方法分擔(dān)系統(tǒng)壓力,提高系統(tǒng)性能。

        4.4 安全可靠性能測試

        采用黑盒測試方法對系統(tǒng)的通信安全控制、可靠消息傳輸和儀器安全保障等性能進(jìn)行測試。測試時(shí),按照測試用例在遠(yuǎn)程實(shí)驗(yàn)平臺(tái)進(jìn)行用戶注冊登錄、儀器訪問和抓包分析;模擬不同順序消息在不同通信服務(wù)質(zhì)量下的消息傳輸,然后實(shí)時(shí)查看消息執(zhí)行結(jié)果;另外,人工制造不同通信失效情況,觀察儀器保護(hù)情況。測試用例及結(jié)果如表3所示。

        表3 安全可靠性能測試

        采用E2ID實(shí)名認(rèn)證方法和儀器操作授權(quán)管理機(jī)制有效確保了系統(tǒng)的用戶和儀器的安全控制;消息順序控制機(jī)制在網(wǎng)絡(luò)不穩(wěn)定的情況下,提供除QoS0以外的消息順序控制,確保消息的有序傳輸;而儀器安全保障機(jī)制能在實(shí)驗(yàn)操作過程中,及時(shí)檢測到網(wǎng)絡(luò)故障,下達(dá)停止實(shí)驗(yàn)的控制指令,確保實(shí)驗(yàn)儀器安全,同時(shí)具備嘗試通信自愈,恢復(fù)實(shí)驗(yàn)通信的能力。

        5 結(jié)束語

        從實(shí)驗(yàn)儀器與用戶并發(fā)訪問、實(shí)時(shí)可靠消息傳輸、網(wǎng)絡(luò)安全控制和儀器安全保障四方面研究了遠(yuǎn)程實(shí)驗(yàn)通信的并發(fā)性、實(shí)時(shí)性、可靠性和安全性問題,設(shè)計(jì)并實(shí)現(xiàn)了適用于全方位對外開放的遠(yuǎn)程實(shí)驗(yàn)通信方案。測試結(jié)果表明,該方案功能完善,并發(fā)能力強(qiáng),實(shí)時(shí)好,可靠性高,安全性好,能有效滿足實(shí)驗(yàn)應(yīng)用的消息傳輸需求。

        猜你喜歡
        用戶實(shí)驗(yàn)
        記一次有趣的實(shí)驗(yàn)
        微型實(shí)驗(yàn)里看“燃燒”
        做個(gè)怪怪長實(shí)驗(yàn)
        關(guān)注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
        實(shí)踐十號(hào)上的19項(xiàng)實(shí)驗(yàn)
        太空探索(2016年5期)2016-07-12 15:17:55
        關(guān)注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關(guān)注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        Camera360:拍出5億用戶
        100萬用戶
        在线观看视频国产一区二区三区| 99re6热在线精品视频播放6| 99久久久无码国产精品动漫| 久久综合久中文字幕青草| 久久精品人搡人妻人少妇 | 日韩av在线手机免费观看| 久久99精品久久久久婷婷| 免费无码又爽又刺激聊天app| 国产精品青草久久久久婷婷| 亚洲av自偷自拍亚洲一区| 亚洲国产a∨无码中文777| 午夜精品久久久久久| 2021年最新久久久视精品爱| 精品久久免费国产乱色也| 久久婷婷五月综合色高清| 免费a级毛片无码a∨免费软件| 精品国产福利片在线观看| 亚洲av极品尤物不卡在线观看| 色与欲影视天天看综合网| 毛茸茸的中国女bbw| 8090成人午夜精品无码| 成人免费av高清在线| 天堂网www资源在线| 波多野结衣一区| 和少妇人妻邻居做爰完整版| 欲女在线一区二区三区| 国产精品免费看久久久8| 毛片无码高潮喷白浆视频| 中文字幕亚洲乱码熟女1区2区| 高清毛茸茸的中国少妇| 丰满五十六十老熟女hd| 亚洲色图在线视频免费观看| 亚洲自拍偷拍色图综合| 精品人妻中文无码av在线| 亚洲欧洲精品成人久久曰不卡| 久久久精品久久久国产| 人妻激情偷乱视频一区二区三区| 国产精品 高清 尿 小便 嘘嘘| 蜜桃伦理一区二区三区| 国内精品免费一区二区三区| 国产va免费精品高清在线|