999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MQTT協(xié)議的天基網(wǎng)絡(luò)監(jiān)視服務(wù)設(shè)計(jì)與實(shí)現(xiàn)

2018-06-13 06:52:04劉曉鋒崔宗星米喬馬隆鄭婷
現(xiàn)代計(jì)算機(jī) 2018年14期
關(guān)鍵詞:服務(wù)設(shè)計(jì)

劉曉鋒,崔宗星,米喬,馬隆,鄭婷

(中國電子科技集團(tuán)公司第20研究所,西安 710068)

0 引言

隨著天基信息技術(shù)的迅猛發(fā)展,天基網(wǎng)絡(luò)復(fù)雜度呈快速增長趨勢(shì),迫切需要提升天基網(wǎng)絡(luò)監(jiān)視能力,能夠?qū)Τ笠?guī)模網(wǎng)絡(luò)節(jié)點(diǎn)和信息要素的全狀態(tài)綜合監(jiān)視,為用戶快速做出干預(yù)決策提供信息支持。天基網(wǎng)絡(luò)監(jiān)視是集信息獲取、存儲(chǔ)與處理等功能為一體,在其內(nèi)部有大容量網(wǎng)絡(luò)信息實(shí)時(shí)交互,因此需設(shè)計(jì)高效、輕量化的傳輸協(xié)議。MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測(cè)傳輸)是一種輕量級(jí)基于代理的發(fā)布/訂閱的消息傳輸協(xié)議,其設(shè)計(jì)思想是開放、簡單、易于實(shí)現(xiàn)、適合在計(jì)算和處理能力受限的環(huán)境下工作[1]。本文在研究分析MQTT協(xié)議的基礎(chǔ)上,結(jié)合天基網(wǎng)絡(luò)監(jiān)視系統(tǒng)的部署需求,完成天基網(wǎng)絡(luò)監(jiān)視服務(wù)系統(tǒng)的設(shè)計(jì)與工程研制,總結(jié)并提出完整的設(shè)計(jì)方案,具有一定的學(xué)習(xí)參考意義。

1 天基網(wǎng)絡(luò)監(jiān)視系統(tǒng)結(jié)構(gòu)

天基網(wǎng)絡(luò)監(jiān)視系統(tǒng)結(jié)構(gòu)示意圖如圖1所示。系統(tǒng)采用C/S技術(shù)架構(gòu),實(shí)現(xiàn)應(yīng)用與數(shù)據(jù)服務(wù)的分類,提高系統(tǒng)的維護(hù)性和安全性,同時(shí)具備兼容多種通信協(xié)議的能力。全網(wǎng)數(shù)據(jù)服務(wù)中心服務(wù)器是搜集、匯總、分析存儲(chǔ)整個(gè)天基網(wǎng)絡(luò)數(shù)據(jù)的中樞,可以保證數(shù)據(jù)的安全可靠運(yùn)行。天基網(wǎng)絡(luò)監(jiān)視服務(wù)設(shè)備實(shí)現(xiàn)數(shù)據(jù)的訂閱/發(fā)布、協(xié)議轉(zhuǎn)換、數(shù)據(jù)處理及服務(wù)質(zhì)量控制等功能,能夠?yàn)樘旎W(wǎng)絡(luò)監(jiān)視席位提供應(yīng)用支撐服務(wù)。天基網(wǎng)絡(luò)監(jiān)視席位或應(yīng)用實(shí)現(xiàn)網(wǎng)絡(luò)狀態(tài)、鏈路狀態(tài)、拓?fù)潢P(guān)系等信息可視化展示。天基網(wǎng)絡(luò)監(jiān)視服務(wù)與數(shù)據(jù)中心服務(wù)器采用發(fā)布/訂閱的MQTT(遙測(cè)遠(yuǎn)程)協(xié)議。利用UDP協(xié)議實(shí)現(xiàn)天基網(wǎng)絡(luò)監(jiān)視席位與服務(wù)之間通信。天基網(wǎng)絡(luò)服務(wù)與本地監(jiān)視應(yīng)用構(gòu)成服務(wù)監(jiān)視系統(tǒng),具備本地化監(jiān)視的能力,兩者信息交互依靠線程任務(wù)通信的方式。本文主要介紹天基網(wǎng)絡(luò)監(jiān)視服務(wù)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)。

圖1 天基網(wǎng)絡(luò)監(jiān)視系統(tǒng)結(jié)構(gòu)框圖

2 MQTT傳輸協(xié)議機(jī)制

MQTT是基于TCP上的應(yīng)用層協(xié)議,采用發(fā)布/訂閱模式對(duì)消息進(jìn)行傳輸,本節(jié)將從MQTT消息格式、消息訂閱及具體實(shí)現(xiàn)三方面展開設(shè)計(jì)。

2.1 MQTT消息格式

MQTT消息體主要由消息報(bào)頭和消息內(nèi)容兩部分組成,固定報(bào)頭是每個(gè)命令消息都必須包含的部分,其中長度為兩個(gè)字節(jié),固定格式如表1所述。其中Mes?sage Type為報(bào)文類型,共計(jì)14種。QoS Level服務(wù)質(zhì)量等級(jí)分為三個(gè)等級(jí),等級(jí)越高,需要的系統(tǒng)開銷越多,通信效率受影響越大[2]。Remaining Length剩余長度指可變頭部和有效信息的總長度,最大能夠擴(kuò)展到4字節(jié),可表示長度為256MB。

表1 MQTT消息固定頭格式

2.2 MQTT消息訂閱機(jī)制

在本文所設(shè)計(jì)的天基網(wǎng)絡(luò)監(jiān)視系統(tǒng)中,天基網(wǎng)絡(luò)監(jiān)視服務(wù)從全網(wǎng)數(shù)據(jù)中心服務(wù)器訂閱消息的主要過程包括以下三個(gè)步驟:

(1)天基網(wǎng)絡(luò)監(jiān)視服務(wù)與數(shù)據(jù)中心建立TCP連接,并向數(shù)據(jù)中心發(fā)送CONNECT消息;

(2)天基網(wǎng)絡(luò)監(jiān)視服務(wù)接收到數(shù)據(jù)中心發(fā)送的CONNACK消息后,發(fā)送訂閱有關(guān)Topic主題;

(3)天基網(wǎng)絡(luò)監(jiān)視服務(wù)接收到數(shù)據(jù)中心向其發(fā)送SUBACK消息,表明訂閱成功。

結(jié)合MQTT消息訂閱主要步驟中,總結(jié)出MQTT消息訂閱處理流程,見圖2所示。

2.3 實(shí)現(xiàn)步驟

以天基網(wǎng)絡(luò)監(jiān)視服務(wù)MQTT消息訂閱機(jī)制設(shè)計(jì)實(shí)現(xiàn)為例程,介紹基于Vxworks的具體開發(fā)過程。首先,將IBM提供的MQTT-3.1.1開源代碼封裝成lib庫,從而可以提供MQTT發(fā)布/訂閱的API接口函數(shù)。其次,創(chuàng)建接收MQTT訂閱消息的應(yīng)用線程,開發(fā)應(yīng)用功能程序,具體實(shí)現(xiàn)步驟如下:

(1)訂閱主題初始化

MQTT連接參數(shù)MQTTPacket_connectData中心跳包間隔設(shè)置為500,重新連接清除標(biāo)志置為1;訂閱主題為“SATNET”;可根據(jù)不同的Topic主題,設(shè)置差異化的服務(wù)質(zhì)量[3]。

最多一次:消息可能丟失或重復(fù);

至少一次:確保消息可達(dá),但消息可能會(huì)重復(fù);

僅一次:消息到達(dá)一次,消息重復(fù)或丟失導(dǎo)致不正確的結(jié)果。

圖2 MQTT消息訂閱流程

(2)建立連接

首先初始化網(wǎng)絡(luò)配置調(diào)用transport_open()函數(shù),然后調(diào)用接口函數(shù)MQTTSerialize_Connect()及發(fā)送函數(shù)transport_sendPackBuff()。

(3)接收連接應(yīng)答消息并發(fā)送訂閱主題

執(zhí)行MQTTPacket_read()函數(shù),查看返回值是否等于2(CONACK),若返回值為2表示建立連接成功,調(diào)用函數(shù)transport_sendPackBuff()發(fā)送訂閱主題“SAT?NET”。

(4)接收訂閱主題應(yīng)答消息

當(dāng)函數(shù) MQTTPacket_read()返回值等于 9(SUB?ACK)時(shí),表明訂閱成功;否則表示訂閱不成功。

(5)訂閱主題消息

運(yùn)行MQTT消息接收線程,若消息讀取函數(shù)MQTT?Packet_read()返回值為 3(PUBLISH)時(shí),表明為消息類型為主題消息,接著調(diào)用MQTT訂閱消息獲取函數(shù)MQTTDeserialize_publish(),完成消息內(nèi)容的讀取。

3 數(shù)據(jù)解析

天基網(wǎng)絡(luò)監(jiān)視服務(wù)與數(shù)據(jù)中心交換的數(shù)據(jù)格式采用 JSON(JavaScript Object Notation)格式。JSON作為一種輕量級(jí)的數(shù)據(jù)傳輸格式,可以在多種語言之間進(jìn)行數(shù)據(jù)交換[4]。采用這種數(shù)據(jù)格式有利于提高封裝傳輸效率,減少通信帶寬,有利于多個(gè)監(jiān)控席位接入訪問。

3.1 Json數(shù)據(jù)格式

在Json數(shù)據(jù)格式中,一個(gè)對(duì)象用JSON數(shù)據(jù)格式表示如下:

{屬性名1:屬性值,屬性名2:屬性值2...}

作者簡介:馮榮惠,男,漢族,福建省南靖縣山城鎮(zhèn)文技校,一級(jí)教師,南靖縣優(yōu)秀教師,專科學(xué)歷,研究方向:小學(xué)語文教育。

說明:屬性名必須有引號(hào)(單引號(hào),或者雙引號(hào))引起來。屬性值如果是字符串,則必須使用引號(hào)引起來。屬性值的類型可以是string,number,Boolean等類型。

例如在天基網(wǎng)絡(luò)監(jiān)視某個(gè)網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)用Json格式表示如下:

{"PlatformID":1000,"SubnetID",1,"NetStatues",1,"CommMode",2,"CurTime","2018-1-1 10:10:40"}。上述數(shù)據(jù)內(nèi)容表示在2018年1月1日10點(diǎn)10分40秒時(shí),編識(shí)號(hào)為1000的成員為在網(wǎng)狀態(tài)(用1表示),其所在的子網(wǎng)號(hào)為1,物理通信體制為TDMA的方式。

3.2 實(shí)現(xiàn)過程

采用JSON數(shù)據(jù)解析的第三庫完成服務(wù)器推送的數(shù)據(jù)內(nèi)容解析,即將JSON格式數(shù)據(jù)內(nèi)容轉(zhuǎn)換為結(jié)構(gòu)體。數(shù)據(jù)類型主要包括整型和字符型。主要實(shí)現(xiàn)步驟如下:

(1)JSON數(shù)據(jù)格式解析

運(yùn)行函數(shù) cJSON_Parse(strData),strData為字符指針,指向MQTT訂閱的主題消息存儲(chǔ)區(qū),返回值為cJson類型的指針pJsonData。

(2)數(shù)據(jù)格式轉(zhuǎn)換為結(jié)構(gòu)體

依據(jù)網(wǎng)絡(luò)狀態(tài)的信息內(nèi)容定義數(shù)據(jù)結(jié)構(gòu)體NetSat?usInfo,具體內(nèi)容見表2。

表2 網(wǎng)絡(luò)狀態(tài)數(shù)據(jù)結(jié)構(gòu)體格式

調(diào)用 GetObjectItem(strData,"PlatformID")函數(shù),返回cJson數(shù)據(jù)類型的指針pJsonPlatformID,接著依據(jù)結(jié)構(gòu)體中的數(shù)據(jù)類型調(diào)用轉(zhuǎn)換函數(shù)valueint可得到Net?SatusInfo中編識(shí)號(hào)數(shù)據(jù)項(xiàng)值,其他數(shù)據(jù)內(nèi)容轉(zhuǎn)換方式如上所述。

4 統(tǒng)一接口設(shè)計(jì)

考慮本地和遠(yuǎn)端服務(wù)一體化設(shè)計(jì),需對(duì)監(jiān)視服務(wù)與應(yīng)用之間進(jìn)行統(tǒng)一數(shù)據(jù)格式接口設(shè)計(jì)。具體接口協(xié)議見表3。

表3 網(wǎng)絡(luò)監(jiān)視服務(wù)與應(yīng)用之間接口

在表3中,消息內(nèi)容是指網(wǎng)絡(luò)狀態(tài)信息編碼后的字節(jié),采用大端編碼方式。

5 本地監(jiān)視應(yīng)用設(shè)計(jì)

在Qt軟件開發(fā)環(huán)境下對(duì)本地天基網(wǎng)絡(luò)監(jiān)視應(yīng)用功能開發(fā),并利用WindRiver交叉編譯環(huán)境生成可執(zhí)行程序,加載在信息處理板上。系統(tǒng)運(yùn)行時(shí)調(diào)用網(wǎng)絡(luò)監(jiān)視應(yīng)用進(jìn)程,把它作為整個(gè)監(jiān)視服務(wù)的一個(gè)任務(wù)。界面設(shè)計(jì)原則是基于圖標(biāo)方式顯示網(wǎng)絡(luò)監(jiān)視信息。

本地天基網(wǎng)絡(luò)監(jiān)視應(yīng)用與服務(wù)運(yùn)行在同一塊信息處理板卡上,兩者之間采用基于消息隊(duì)列的任務(wù)通信的方式。通過調(diào)用msgQReceive函數(shù)實(shí)現(xiàn)任務(wù)間數(shù)據(jù)的接收;執(zhí)行msgQSend函數(shù)能夠完成任務(wù)間消息的發(fā)送。

6 結(jié)語

本文所提出的系統(tǒng)架構(gòu)及設(shè)計(jì)方法已應(yīng)用在某型系統(tǒng)中,解決了分布式網(wǎng)絡(luò)監(jiān)視系統(tǒng)通信機(jī)制的問題,采用發(fā)布/訂閱MQTT協(xié)議、基于消息隊(duì)列的任務(wù)通信等技術(shù)手段,按照服務(wù)接口統(tǒng)一的設(shè)計(jì)原則,完成天基網(wǎng)絡(luò)監(jiān)視服務(wù)的設(shè)計(jì),能夠?yàn)樘旎W(wǎng)絡(luò)監(jiān)視席位提供應(yīng)用服務(wù),滿足多維度信息監(jiān)視的需求。此外,天基網(wǎng)絡(luò)監(jiān)視服務(wù)的系統(tǒng)架構(gòu)具有穩(wěn)定性和可擴(kuò)展性等特點(diǎn),有利于加裝推廣應(yīng)用。

[1]IBM.MQTelemetryTransport[2013-06-05].http://msqq.org.

[2]關(guān)慶余,李鴻彬,于波.MQTT協(xié)議在Android平臺(tái)上的研究與應(yīng)用[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(4):197-200.

[3]任亨.基于 MQTT 協(xié)議的消息推送服務(wù)器[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2014,23(3):77-82.

[4]高靜,段會(huì)川.JSON 數(shù)據(jù)傳輸效率研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(7):2267-2270.

猜你喜歡
服務(wù)設(shè)計(jì)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
瞞天過海——仿生設(shè)計(jì)萌到家
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 国产精品无码久久久久久| 婷婷激情亚洲| 久久久久亚洲AV成人网站软件| 亚洲国产清纯| 国产在线拍偷自揄观看视频网站| 国产精品人莉莉成在线播放| 制服丝袜一区二区三区在线| 国产不卡在线看| 国产丝袜第一页| 在线欧美一区| 午夜精品久久久久久久无码软件| 中文字幕av无码不卡免费 | 99久久国产精品无码| 久久9966精品国产免费| 色成人亚洲| 亚洲欧美成人| 亚洲午夜久久久精品电影院| 一区二区三区四区精品视频| 热久久综合这里只有精品电影| 免费aa毛片| 91国内在线视频| 国产制服丝袜91在线| 色综合五月婷婷| 青草国产在线视频| 国产精品嫩草影院视频| 国产高潮流白浆视频| 亚洲国产中文欧美在线人成大黄瓜| 国产97公开成人免费视频| 精品久久蜜桃| 国产精品网址你懂的| 欧美精品导航| 国产精品亚洲综合久久小说| 欧美性精品不卡在线观看| 国产精品亚洲αv天堂无码| 亚洲精品另类| 日本精品αv中文字幕| 日韩第九页| 国产不卡在线看| 国产成人精品一区二区三在线观看| 亚洲男人天堂网址| 在线精品视频成人网| 亚洲无线观看| 国产在线精品香蕉麻豆| 中文纯内无码H| 小蝌蚪亚洲精品国产| 国产高清在线观看91精品| 91青草视频| 中文字幕2区| 久久情精品国产品免费| 国产一区成人| 拍国产真实乱人偷精品| 在线观看视频一区二区| 亚洲高清中文字幕在线看不卡| 日韩国产欧美精品在线| 99热国产在线精品99| 在线观看网站国产| 亚洲欧洲一区二区三区| 丝袜亚洲综合| 色综合五月婷婷| 欧美日韩国产成人高清视频| 毛片在线看网站| 国产迷奸在线看| 欧美国产日韩在线观看| 国产成人综合久久精品下载| 亚洲一区毛片| 日韩成人免费网站| 久久免费精品琪琪| 91久久青青草原精品国产| 无码精品一区二区久久久| 亚洲免费播放| a级毛片一区二区免费视频| 国产成人综合亚洲欧洲色就色| 久久不卡国产精品无码| 日韩小视频在线播放| 啦啦啦网站在线观看a毛片| 97国产在线视频| 五月丁香在线视频| 国产精品视频a| 伊伊人成亚洲综合人网7777| 无码久看视频| 亚洲女同一区二区| 国产在线麻豆波多野结衣|