對講系統(tǒng)設(shè)計中的移動網(wǎng)絡(luò)論文

時間:2022-01-30 10:27:58

導(dǎo)語:對講系統(tǒng)設(shè)計中的移動網(wǎng)絡(luò)論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

對講系統(tǒng)設(shè)計中的移動網(wǎng)絡(luò)論文

1功能設(shè)計

移動網(wǎng)絡(luò)對講系統(tǒng)的基本功能是通過移動終端實時對講,即像傳統(tǒng)對講機一樣,當(dāng)調(diào)節(jié)到相同頻道后,實現(xiàn)一人發(fā)送多人收聽的功能。另外,移動網(wǎng)絡(luò)對講系統(tǒng)還應(yīng)該包括以下輔助功能:用戶管理、頻道管理和對講管理三大部分。

(1)用戶管理:實現(xiàn)用戶的注冊、登錄和資料維護(hù)等功能。

(2)頻道管理:建立頻道,刪除頻道等功能。

(3)對講管理:對講內(nèi)容,對講內(nèi)容收聽,對講內(nèi)容重聽,刪除對講內(nèi)容等功能。

2系統(tǒng)概要設(shè)計

網(wǎng)絡(luò)對講系統(tǒng)的所有功能中,如何實現(xiàn)實時語音對講是系統(tǒng)開發(fā)的難點和關(guān)鍵。一般說來可以通過Socket編程,自定義應(yīng)用層協(xié)議,通過服務(wù)器中轉(zhuǎn)語音發(fā)送的辦法,實現(xiàn)一對多的語音廣播。但是,這種實現(xiàn)方法的有如下缺點:

(1)需要使用長連接。長連接指客戶端和服務(wù)器長時間保持著連接,以便隨時收發(fā)對方消息。長連接的方式客戶端的數(shù)據(jù)流量和功耗要求非常高,不太適合應(yīng)用與移動終端的開發(fā)。

(2)開發(fā)難度大。要全完自定義應(yīng)用層協(xié)議,需要考慮很多因素和解決很多問題,實現(xiàn)困難。

(3)開發(fā)的時間成本高。

(4)系統(tǒng)的耦合性高,不利于系統(tǒng)的擴(kuò)展和維護(hù)。那么,有沒有一種已有的協(xié)議實現(xiàn)一對多的數(shù)據(jù)推送呢?答案是肯定的,那就是MQTT協(xié)議。MQTT協(xié)議:(MessageQueuingTelemetryTransport,消息隊列遙測傳輸)是IBM開發(fā)的一個即時通訊協(xié)議,有可能成為物聯(lián)網(wǎng)的重要組成部分。該協(xié)議支持所有平臺,幾乎可以把所有聯(lián)網(wǎng)物品和外部連接起來,它被用來當(dāng)做傳感器和致動器的通信協(xié)議。該協(xié)議是為大量計算能力有限,且工作在低帶寬、不可靠網(wǎng)絡(luò)的遠(yuǎn)程傳感器和控制設(shè)備通訊而設(shè)計的協(xié)議。

MQTT協(xié)議具有以下主要的幾項特性:(1)使用/訂閱消息模式。(2)對負(fù)載內(nèi)容屏蔽的消息傳輸。(3)使用TCP/IP提供網(wǎng)絡(luò)連接。(4)有三種消息服務(wù)質(zhì)量。“至多一次”,消息完全依賴底層TCP/IP網(wǎng)絡(luò)。會發(fā)生消息丟失或重復(fù)。這一級別可用于如下情況,環(huán)境傳感器數(shù)據(jù),丟失一次讀記錄無所謂,因為不久后還會有第二次發(fā)送。“至少一次”,確保消息到達(dá),但消息重復(fù)可能會發(fā)生。“只有一次”,確保消息到達(dá)一次。這一級別可用于如下情況,在計費系統(tǒng)中,消息重復(fù)或丟失會導(dǎo)致不正確的結(jié)果。(5)小型傳輸,開銷很小(固定長度的頭部是2字節(jié)),協(xié)議交換最小化,以降低網(wǎng)絡(luò)流量。(6)使用LastWill和Testament特性通知有關(guān)各方客戶端異常中斷的機制。目前,MQTT協(xié)議被大量用在移動終端客戶程序的消息推送領(lǐng)域,相關(guān)的技術(shù)資料比較豐富。基于以上特點,在開發(fā)基于移動終端對講系統(tǒng)時,使用MQTT協(xié)議作為服務(wù)器和終端的消息廣播協(xié)議是非常好的選擇。當(dāng)然,只是MQTT協(xié)議是不夠的,為實現(xiàn)本系統(tǒng)的功能還要用到其他技術(shù)包括:HTTP協(xié)議、移動終端開發(fā)技術(shù)和服務(wù)器開發(fā)技術(shù)。

3系統(tǒng)架構(gòu)設(shè)計

移動網(wǎng)絡(luò)對講系統(tǒng),采用松散的系統(tǒng)結(jié)構(gòu),整個系統(tǒng)由Web服務(wù)器、MQTT服務(wù)器、移動終端和PC端四部分構(gòu)成。其中,Web服務(wù)器負(fù)責(zé)數(shù)據(jù)庫管理、語音文件存儲、提供語音下載、向MQTT服務(wù)器推送語音描述信息等功能。MQTT服務(wù)器負(fù)責(zé)語音文件描述信息;移動終端負(fù)責(zé)語音的采集與編碼,語音上傳,數(shù)據(jù)更新請求的發(fā)送,用戶交互界面呈現(xiàn)等;PC終端主要負(fù)責(zé)通過服務(wù)器的管理平臺,對數(shù)據(jù)進(jìn)行管理,對磁盤進(jìn)行優(yōu)化等工作。系統(tǒng)各部分應(yīng)用的協(xié)議和數(shù)據(jù)收發(fā)關(guān)系,Web服務(wù)器也作為MQTT的一個終端和移動端共同關(guān)注MQTT服務(wù)器的某個主題(頻道),當(dāng)Web服務(wù)器收到移動端上傳的語音后,生成包含語音長度,語音存儲地址,發(fā)送人等基本信息的描述信息,然后以JSON格式發(fā)送到MQTT服務(wù)器,MQTT服務(wù)器自動將收到的語音描述信息下發(fā)到每一個移動端,從而實現(xiàn)語音描述信息的廣播。在系統(tǒng)的實際工作中,系統(tǒng)各部分進(jìn)行傳遞的數(shù)據(jù)格式在實際的應(yīng)用開發(fā)過程中,可以使用XML來替代JSON和HTML。移動網(wǎng)絡(luò)對講系統(tǒng)的主要工作流程如下:某移動端采集語音并上傳給Web服務(wù)器,Web服務(wù)器存儲語音文件并在數(shù)據(jù)庫中記錄語音信息,然后使用MQTT協(xié)議將語音描述信息發(fā)送給MQTT服務(wù)器的指定頻道,MQTT服務(wù)器將該描述信息廣播給全體關(guān)注了該頻道的所有移動端,移動端收到語音描述信息后,根據(jù)描述內(nèi)容到Web服務(wù)器下載語音文件并播放語音。綜上所述,利用MQTT的關(guān)注/機制可以很好的實現(xiàn)一對多的語音文件描述消息群發(fā),大大降低系統(tǒng)的開發(fā)難度。

4結(jié)束語

在基于MQTT的移動網(wǎng)絡(luò)對講系統(tǒng)架構(gòu)設(shè)計過程中,由于采用標(biāo)準(zhǔn)的互聯(lián)網(wǎng)協(xié)議,具有各部分之間的結(jié)構(gòu)松散、耦合性低,移植性好、擴(kuò)展性強、開發(fā)風(fēng)險小、開發(fā)難度低等特點。本系統(tǒng)架構(gòu)可以廣泛的應(yīng)用于網(wǎng)絡(luò)語音對講,視頻對講系統(tǒng)的開發(fā)。本系統(tǒng)架構(gòu)設(shè)計對各類即時通信軟件開發(fā)具有一定的參考價值。。

作者:張翼單位:黑龍江東方學(xué)院