李文金,蘇凱雄(福州大學 物理與信息工程學院,福建 福州 350002)
基于存儲管理的北斗報文傳輸協(xié)議設(shè)計與應(yīng)用
李文金,蘇凱雄
(福州大學 物理與信息工程學院,福建 福州 350002)
針對特殊場景下需通過北斗短報文傳輸大量數(shù)據(jù)信息的需求,探討并設(shè)計了一種適合于北斗通信的長報文可靠傳輸協(xié)議框架。通過擴展北斗短報文傳輸協(xié)議,結(jié)合Redis應(yīng)用,提出最大重傳次數(shù)和超時等待控制因子,建立北斗長報文傳輸差錯重傳機制,從而解決了大數(shù)據(jù)量報文在北斗通道的傳輸問題。實驗結(jié)果表明,該傳輸協(xié)議可實現(xiàn)對長報文丟包的差錯重傳功能,有效控制“盲目發(fā)送”現(xiàn)象,使得有效信息率得到提高。
北斗衛(wèi)星;長報文;Redis;可靠傳輸
北斗衛(wèi)星導(dǎo)航系統(tǒng)所具備的短報文通信功能,可在我國領(lǐng)土區(qū)域內(nèi)實現(xiàn)全覆蓋、全天候服務(wù),具有傳送速度快、不受地形條件和環(huán)境氣候影響等優(yōu)勢,為解決遠海、沙漠、深山等無移動網(wǎng)絡(luò)信號覆蓋地區(qū)的信息獲取和發(fā)布提供了一種有效的解決途徑。
北斗衛(wèi)星導(dǎo)航系統(tǒng)的信道資源有限,短報文通信受到北斗卡的通信頻度和通信報文長度方面的限制。同時,受環(huán)境及設(shè)備狀態(tài)等影響,通信過程存在數(shù)據(jù)丟包現(xiàn)象。這些問題很大程度上影響了短報文的應(yīng)用效果[1]。實際應(yīng)用中,傳輸報文長度往往又是不固定的,傳輸?shù)臄?shù)據(jù)量較大時,單次北斗短報文通信無法滿足需求。如何有效利用北斗短報文通信資源,豐富其傳輸內(nèi)容并提高數(shù)據(jù)傳輸可靠性,成為北斗相關(guān)數(shù)據(jù)通信系統(tǒng)建設(shè)的一個重要課題。
本文針對北斗報文傳輸應(yīng)用的實際需求,結(jié)合北斗數(shù)據(jù)信息服務(wù)平臺應(yīng)用,設(shè)計一種適合北斗長報文傳輸管理的方案。通過對傳輸數(shù)據(jù)進行協(xié)議約定,提出報文通信重傳控制因子和長報文信息補發(fā)請求機制,保證北斗終端與系統(tǒng)平臺之間報文的有效傳輸。
針對北斗短報文通信特點,結(jié)合信息服務(wù)平臺功能需求,設(shè)計基于存儲系統(tǒng)的長報文可靠傳輸框架協(xié)議,以解決數(shù)據(jù)信息服務(wù)系統(tǒng)的通信問題。
1.1 系統(tǒng)組成
本設(shè)計系統(tǒng)組成如圖1所示,主要包括:北斗通道端、數(shù)據(jù)處理中心、北斗終端、存儲系統(tǒng)和應(yīng)用系統(tǒng)。
圖1 系統(tǒng)組成框圖
根據(jù)北斗信息服務(wù)平臺設(shè)計需求,內(nèi)存數(shù)據(jù)庫采用Redis系統(tǒng)。Redis是一款高性能的key-value存儲系統(tǒng),其讀寫效率高,可提高北斗短報文處理能力,降低響應(yīng)時間長度。配合協(xié)議設(shè)置及數(shù)據(jù)管理算法,可為長報文分包處理提供一種有效的解決方案。
1.2 協(xié)議規(guī)約
北斗短報文功能支持的單次傳輸長度有效,需要對北斗數(shù)據(jù)傳輸格式進行協(xié)議拓展[2],如圖 2所示。
圖2 協(xié)議擴展結(jié)構(gòu)
本文為使短報文電文內(nèi)容攜帶控制信息,并豐富數(shù)據(jù)類型,對協(xié)議二次封裝[3],具體定義如下:
(1)協(xié)議頭部:為了兼容和區(qū)分標準的北斗數(shù)據(jù)格式及平臺擴展協(xié)議格式,電文開頭設(shè)置協(xié)議編碼部分,占用半個字節(jié)。
(2)數(shù)據(jù)標識:占用半個字節(jié),每個比特字段分別代表一個標識,如標識是否壓縮、加密或補包數(shù)據(jù)等。
(3)總包數(shù):占用 1 B,長報文數(shù)據(jù)通過總包數(shù)大小字段來判斷數(shù)據(jù)是否需要進行數(shù)據(jù)緩存管理。
(4)當前分包編號:占用 1 B,標識當前報文屬于分包數(shù)據(jù)的第幾個分包。如果數(shù)據(jù)不需要分包時,該數(shù)據(jù)字段的值和總包數(shù)字段的值都為1。
(5)應(yīng)用協(xié)議編碼:占用 1 B,標識系統(tǒng)通信過程中的不同業(yè)務(wù)編碼。如語言、圖像、導(dǎo)航位置等。
(6)應(yīng)用數(shù)據(jù)實體:為電文字段剩余可用部分,具體傳輸數(shù)據(jù)格式可由系統(tǒng)業(yè)務(wù)根據(jù)需要定義。
為解決報文發(fā)送的頻度和長度受限問題,本文采用北斗多卡機來處理報文收發(fā)工作,實現(xiàn)短報文的多卡工作模式[4],極大提高了短報文的發(fā)送頻度。
數(shù)據(jù)處理整體流程結(jié)構(gòu)如圖3所示。
2.1 協(xié)議設(shè)計
(1)北斗報文協(xié)議
圖3 數(shù)據(jù)流程圖
北斗通道接入層設(shè)備使用的北斗用戶機接口協(xié)議包括4.0版本和2.1版本。通過軟件設(shè)計一個通用數(shù)據(jù)接入實現(xiàn)層,解決北斗數(shù)據(jù)源差異性問題。
(2)數(shù)據(jù)傳輸控制
北斗通信主要以大量的小字節(jié)數(shù)據(jù)為主,傳輸控制除對長報文數(shù)據(jù)編解碼外,還配合存儲系統(tǒng)實現(xiàn)對分包數(shù)據(jù)的重傳管理。
下發(fā)分包數(shù)據(jù)時,先將數(shù)據(jù)存入Redis并設(shè)置有效期,分包發(fā)送結(jié)束后更新發(fā)送狀態(tài)。若在數(shù)據(jù)有效期內(nèi)收到重傳請求,則根據(jù)請求報文表明的編碼重發(fā)分包,并延長存儲數(shù)據(jù)的有效期,同時將重傳請求計數(shù)加1。若重傳超過N次,清除該存儲數(shù)據(jù),結(jié)束本條長報文的緩存管理。N值由系統(tǒng)能力設(shè)定,默認為3。
數(shù)據(jù)接收處理算法流程如圖4所示。
圖4 數(shù)據(jù)接收處理算法流程
2.2 緩存管理
由于存儲的分包對象信息較多,本文采用Hash數(shù)據(jù)結(jié)構(gòu)管理數(shù)據(jù),并采用Redis默認的數(shù)據(jù)過期策略處理無效數(shù)據(jù)。同時,本文對緩存對象結(jié)構(gòu)設(shè)置了數(shù)據(jù)發(fā)送標識及發(fā)送次數(shù)計數(shù),以便差錯重傳過程中能有效識別重傳數(shù)據(jù)狀態(tài)。
2.3 自適應(yīng)差錯重傳
針對長報文數(shù)據(jù)傳輸過程中存在的丟包現(xiàn)象,參考文獻[5]中提出了反饋機制,但只有反饋機制的情況下,若通信成功率低,容易造成循環(huán)反饋或長時間等待反饋的現(xiàn)象,盲目請求重發(fā)嚴重浪費了北斗帶寬資源。參考文獻[6]提出了確認答復(fù)機制,但在需要緩沖的數(shù)據(jù)量大時沒有提出對應(yīng)管理方式。本設(shè)計考慮北斗通信過程中實際通信流量限制等因素,差錯重傳方式參考并簡化TCP/IP傳輸機制。同時,為防止出現(xiàn)反復(fù)重復(fù)發(fā)送重傳請求或長時間等待補包數(shù)據(jù)帶來的資源開銷問題,引入了重傳控制因子,由請求計數(shù)N和補包等待時間T兩個因素共同組成。同時對重傳請求機制設(shè)定發(fā)送重傳請求次數(shù)的限制,并在接收補包數(shù)據(jù)過程中增設(shè)可動態(tài)調(diào)整等待長度機制。等待時間T=C×t,其中t為30 s的等待時間,C為丟包總數(shù)。若在N次的T時間內(nèi)都沒有收到補包數(shù)據(jù),則放棄請求重傳;若N次重傳請求中有收到補包數(shù)據(jù),但還沒接收完整且N>1時,重新賦值N為N/2,并重新執(zhí)行請求重傳過程。
以接收端的丟包請求重傳為例,控制因子自適應(yīng)調(diào)整算法包含重傳請求控制和數(shù)據(jù)補包處理兩部分。重傳請求控制流程負責對Redis中存在的緩存數(shù)據(jù)進行重傳并管理控制因子參數(shù)N和T,具體流程如圖5所示。
圖5 請求重傳處理流程
數(shù)據(jù)補包處理負責對補包報文進行處理,更新緩存數(shù)據(jù),并根據(jù)實際補包情況動態(tài)調(diào)整控制因子,具體流程如圖6所示。
圖6 補包數(shù)據(jù)處理流程
測試協(xié)議框架過程采用北斗終端上報海洋漁業(yè)數(shù)據(jù)信息,測試設(shè)備均采用北斗多卡機設(shè)備,每個設(shè)備接入16張北斗卡。測試過程以發(fā)送230個漢字的長報文進行多組對比通信,部分測試數(shù)據(jù)如表1所示。
從表1可看出,引入控制因子后,通信出現(xiàn)丟包時,平臺能夠自動完成補包請求報文,雖然會損耗報文用于發(fā)送重發(fā)請求,但通過控制因子的調(diào)整,避免了盲目發(fā)送請求的現(xiàn)象,提高了整體通信有效率。第二組數(shù)據(jù)有效通信率沒有得到有效提高,這是實際通信中受到環(huán)境影響,導(dǎo)致請求重發(fā)過程沒有得到有效的響應(yīng)。測試結(jié)果表明,本文的北斗報文可靠傳輸協(xié)議框架設(shè)計合理,能夠有效解決大數(shù)據(jù)量報文信息在北斗短報文傳輸過程中存在的丟包重傳問題,驗證了本方案的準確性和可行性。
表1 未處理情況下與引入控制因子后的通信測試結(jié)果比較
隨著北斗衛(wèi)星導(dǎo)航系統(tǒng)建設(shè)力度的不斷加大,基于北斗短報文通信的應(yīng)用也越來越多。本文在分析北斗衛(wèi)星導(dǎo)航短報文通信功能的特點基礎(chǔ)上,結(jié)合實際應(yīng)用需求,探討了基于存儲系統(tǒng)的報文可靠傳輸框架方案設(shè)計及實現(xiàn),對將北斗短報文通信更廣泛而深入地應(yīng)用在航空航海運輸、物聯(lián)網(wǎng)及地理監(jiān)測等方面具有一定的借鑒和參考意義,有助于北斗在信息化應(yīng)用中發(fā)揮更大作用。
[1]史向陽.北斗系統(tǒng)在海上多媒體數(shù)據(jù)傳輸中的應(yīng)用研究[D].大連:大連海事大學,2014.
[2]楊濤,黃森,鐘戎強,等.基于本體的北斗信息采集系統(tǒng)研究[J].電腦編程技巧與維護,2012(24):45-46,116.
[3]Mao Xia,Liu Xiang,F(xiàn)eng Tao,et al.A communication protocol of man overboard system based on BeiDou[C].2014 IEEE 17th International Conference on Intelligent Transportation Systems(ITSC),Qingdao,China,2014:1910-1911.
[4]繆袁泉,丁琪,胡知斌,等.基于北斗短報文功能的疏浚船舶數(shù)據(jù)傳輸系統(tǒng)設(shè)計[J].中國港灣建設(shè),2014(10):53-56.
[5]姚作新.基于北斗衛(wèi)星短信通信方式的無人值守自動氣象站網(wǎng)[J].氣象科技,2012,40(3):340-344.
[6]張維杰,陳歡,羅靜,等.基于北斗衛(wèi)星的機動衛(wèi)星通信地球站遠端技術(shù)支援系統(tǒng)研究[J].微型機與應(yīng)用,2015,34(4):58-60,63.
Design and application of Beidou message transm ission protocol based on storage management
Li Wenjin,Su Kaixiong
(College of Physics and Information Engineering,F(xiàn)uzhou University,F(xiàn)uzhou 350002,China)
This paper aims at the requirement of using Beidou communication function to transfer large data information in the special scene,explores and designs a protocol framework for the reliable transmission of long message.By extending Beidou′s protocol and combining with Redis,this paper proposes two control factors,the maximum retransmission number and the waiting time,to realize message′s error retransmission and resolve the problem of large volume data transmission in the Beidou communication channel.Experimental shows that this protocol can accomplish the error retransmission function,controll the“blind sending”phenomenon and improve the valid information rate effectively.
Beidou satellite;long message;Redis;reliable transmission
TP391.7
A
1674-7720(2015)24-0063-03
李文金,蘇凱雄.基于存儲管理的北斗報文傳輸協(xié)議設(shè)計與應(yīng)用[J].微型機與應(yīng)用,2015,34(24):63-65.
2015-08-27)
李文金(1989-),通信作者,男,碩士研究生,主要研究方向:北斗衛(wèi)星導(dǎo)航應(yīng)用。E-mail:LI_WENJIN2011@163.com。
蘇凱雄(1959-),男,碩士,教授,博士生導(dǎo)師,主要研究方向:無線通信、多媒體通信、數(shù)字電視廣播等。