本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種北斗數(shù)據(jù)傳輸方法及系統(tǒng)。
背景技術(shù):
我國(guó)的北斗衛(wèi)星導(dǎo)航系統(tǒng)具有獨(dú)特的短報(bào)文通信功能,可為用戶提供簡(jiǎn)單的數(shù)據(jù)傳輸服務(wù)。但是,由于每條短報(bào)文發(fā)送字節(jié)數(shù)的有限,扣除協(xié)議封裝的頭尾長(zhǎng)度,一條報(bào)文有且只能有效發(fā)送長(zhǎng)度為71字節(jié)的內(nèi)容,并且北斗發(fā)送終端需要每隔60秒才能發(fā)送一條短報(bào)文,因此完整地發(fā)送一條500字節(jié)的數(shù)據(jù)報(bào)文需要8分鐘時(shí)間。此外,由于衛(wèi)星通信存在一定的誤碼率和丟包率,為提高接收準(zhǔn)確率,同一條數(shù)據(jù)報(bào)文需要進(jìn)行2到3輪的發(fā)送。這意味著,通過北斗衛(wèi)星系統(tǒng)發(fā)送一條大數(shù)據(jù)包需要16到24分鐘的時(shí)間,傳輸時(shí)延較大。另外,北斗短報(bào)文通信采用明文方式傳輸,保密性差,存在被截獲破解的數(shù)據(jù)安全問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明所要解決的技術(shù)問題是:提供一種安全、高效的北斗數(shù)據(jù)傳輸方法及系統(tǒng)。
為了解決上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種北斗數(shù)據(jù)傳輸方法,包括如下步驟:
S1、北斗發(fā)送終端按照數(shù)據(jù)壓縮算法對(duì)長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行壓縮;
S2、將壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行分包處理,得到短報(bào)文數(shù)據(jù)包;
S3、順序發(fā)送所述短報(bào)文數(shù)據(jù)包。
本發(fā)明還涉及一種北斗數(shù)據(jù)傳輸系統(tǒng),包括:北斗發(fā)送終端,用于壓縮長(zhǎng)報(bào)文數(shù)據(jù),對(duì)壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行分包處理得到短報(bào)文數(shù)據(jù)包,并用于發(fā)送所述短報(bào)文數(shù)據(jù)包。
本發(fā)明的有益效果在于:將長(zhǎng)報(bào)文數(shù)據(jù)按照數(shù)據(jù)壓縮算法壓縮后再分包成短報(bào)文數(shù)據(jù)包進(jìn)行發(fā)送,可以減少傳輸?shù)目倲?shù)據(jù)量,減少北斗數(shù)據(jù)傳輸?shù)臅r(shí)延,降低數(shù)據(jù)傳輸對(duì)北斗衛(wèi)星信道的占用率;同時(shí)又通過數(shù)據(jù)壓縮,將原先的明文數(shù)據(jù)轉(zhuǎn)換成不可讀的密文,增強(qiáng)北斗數(shù)據(jù)傳輸?shù)谋C苄浴?/p>
附圖說明
圖1為本發(fā)明北斗發(fā)送終端工作流程圖;
圖2為本發(fā)明實(shí)施例一北斗發(fā)送終端對(duì)長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行分包的流程圖;
圖3為本發(fā)明北斗接收終端工作流程圖;
圖4為本發(fā)明實(shí)施例一北斗接收終端對(duì)短報(bào)文數(shù)據(jù)包進(jìn)行組包的流程圖;
圖5為本發(fā)明北斗數(shù)據(jù)傳輸系統(tǒng)框圖;
圖6為本發(fā)明實(shí)施例二北斗發(fā)送終端原理圖;
圖7為本發(fā)明實(shí)施例二北斗接收終端原理圖。
具體實(shí)施方式
為詳細(xì)說明本發(fā)明的技術(shù)內(nèi)容、所實(shí)現(xiàn)目的及效果,以下結(jié)合實(shí)施方式并配合附圖予以說明。
本發(fā)明最關(guān)鍵的構(gòu)思在于:將長(zhǎng)報(bào)文數(shù)據(jù)按照數(shù)據(jù)壓縮算法壓縮后再分包成短報(bào)文數(shù)據(jù)包進(jìn)行發(fā)送,可以減少傳輸?shù)目倲?shù)據(jù)量,增強(qiáng)數(shù)據(jù)傳輸?shù)谋C苄浴?/p>
請(qǐng)參照?qǐng)D1至圖7,一種北斗數(shù)據(jù)傳輸方法,包括如下步驟:
S1、北斗發(fā)送終端按照數(shù)據(jù)壓縮算法對(duì)長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行壓縮;
S2、將壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行分包處理,得到短報(bào)文數(shù)據(jù)包;
S3、順序發(fā)送所述短報(bào)文數(shù)據(jù)包。
從上述描述可知,本發(fā)明的有益效果在于:北斗發(fā)送終端先對(duì)長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行壓縮處理,然后再分包成短報(bào)文數(shù)據(jù)包進(jìn)行發(fā)送,可以減少傳輸?shù)目倲?shù)據(jù)量,減少北斗數(shù)據(jù)傳輸?shù)臅r(shí)延,降低數(shù)據(jù)傳輸對(duì)北斗衛(wèi)星信道的占用率;同時(shí)又通過數(shù)據(jù)壓縮,將原先的明文數(shù)據(jù)轉(zhuǎn)換成不可讀的密文,增強(qiáng)北斗數(shù)據(jù)傳輸?shù)谋C苄浴?/p>
進(jìn)一步的,步驟S3之前還包括:
在所述短報(bào)文數(shù)據(jù)包包頭位置添加分包標(biāo)識(shí)符、時(shí)間信息、總包數(shù)和分包序號(hào);
根據(jù)北斗通信協(xié)議格式要求對(duì)短報(bào)文數(shù)據(jù)包進(jìn)行協(xié)議封裝。
由上述描述可知,在短報(bào)文數(shù)據(jù)包包頭位置添加分包標(biāo)識(shí)符和分包序號(hào)等信息,方便后續(xù)北斗接收終端對(duì)短報(bào)文數(shù)據(jù)包進(jìn)行組包等處理。
進(jìn)一步的,還包括:北斗接收終端順序接收短報(bào)文數(shù)據(jù)包,根據(jù)北斗通信協(xié)議對(duì)其進(jìn)行解封裝。
進(jìn)一步的,所述解封裝后還包括:判斷短報(bào)文數(shù)據(jù)包是否完整和正確,若是,則進(jìn)行數(shù)據(jù)組包,還原出原壓縮長(zhǎng)報(bào)文數(shù)據(jù),若否,則丟棄。
進(jìn)一步的,所述進(jìn)行數(shù)據(jù)組包具體包括:
S11、讀取解封裝后的短報(bào)文數(shù)據(jù)包;
S12、對(duì)短報(bào)文數(shù)據(jù)包進(jìn)行歸類整理,并根據(jù)分包序號(hào)將歸類后的短報(bào)文數(shù)據(jù)包填充到壓縮長(zhǎng)報(bào)文數(shù)據(jù)對(duì)應(yīng)的位置;
S13、判斷短報(bào)文數(shù)據(jù)包所對(duì)應(yīng)的壓縮長(zhǎng)報(bào)文數(shù)據(jù)是否全部接收完畢,若是,則輸出原壓縮長(zhǎng)報(bào)文數(shù)據(jù),若否,則返回步驟S11。
進(jìn)一步的,還包括:北斗接收終端根據(jù)數(shù)據(jù)壓縮算法對(duì)原壓縮長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行解壓,得到原始長(zhǎng)報(bào)文數(shù)據(jù)。
由上述描述可知,北斗接收終端在判定一條長(zhǎng)報(bào)文數(shù)據(jù)對(duì)應(yīng)的短報(bào)文數(shù)據(jù)包都接收完整并且正確之后,再根據(jù)和北斗發(fā)送終端約定壓縮算法對(duì)壓縮的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行解壓。
一種北斗數(shù)據(jù)傳輸系統(tǒng),包括:北斗發(fā)送終端,用于壓縮長(zhǎng)報(bào)文數(shù)據(jù),對(duì)壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行分包處理得到短報(bào)文數(shù)據(jù)包,并用于發(fā)送所述短報(bào)文數(shù)據(jù)包。
進(jìn)一步的,還包括:
衛(wèi)星中轉(zhuǎn)站,用于接收北斗發(fā)送終端的短報(bào)文數(shù)據(jù)包,并發(fā)送給北斗接收終端;
北斗接收終端,用于接收短報(bào)文數(shù)據(jù)包。
進(jìn)一步的,所述北斗發(fā)送終端包括:
接收模塊,用于接收長(zhǎng)報(bào)文數(shù)據(jù);
判斷模塊,用于檢查并確認(rèn)所接收的長(zhǎng)報(bào)文數(shù)據(jù)的完整性和正確性;
壓縮模塊,用于根據(jù)壓縮算法對(duì)符合要求的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行壓縮;
分包??欤糜趯?duì)壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行分段組包;
協(xié)議封裝模塊,用于根據(jù)北斗數(shù)據(jù)傳輸協(xié)議對(duì)短報(bào)文數(shù)據(jù)包進(jìn)行協(xié)議封裝;
發(fā)送模塊,用于發(fā)送封裝好的短報(bào)文數(shù)據(jù)包。
進(jìn)一步的,所述北斗接收終端包括:
接收模塊,用于接收衛(wèi)星中轉(zhuǎn)站發(fā)來的短報(bào)文數(shù)據(jù)包;
協(xié)議解封模塊,用于根據(jù)北斗數(shù)據(jù)傳輸協(xié)議解析出短報(bào)文數(shù)據(jù)包;
判斷模塊,用于檢查并確認(rèn)短報(bào)文數(shù)據(jù)包的完整性和正確性;
組包模塊,用于對(duì)短報(bào)文數(shù)據(jù)包進(jìn)行歸類、整理、合并,還原出原壓縮長(zhǎng)報(bào)文數(shù)據(jù);
解壓模塊,用于根據(jù)壓縮算法對(duì)壓縮長(zhǎng)報(bào)文數(shù)據(jù)包進(jìn)行解壓縮,解析出原始長(zhǎng)報(bào)文數(shù)據(jù);
輸出模塊,用于輸出原始長(zhǎng)報(bào)文數(shù)據(jù)。
實(shí)施例一
請(qǐng)參照?qǐng)D1至圖4,本發(fā)明的實(shí)施例一為:一種北斗數(shù)據(jù)傳輸方法,包括如下內(nèi)容:
如圖1所示,北斗發(fā)送終端在接收到長(zhǎng)報(bào)文數(shù)據(jù)之后,首先判斷長(zhǎng)報(bào)文數(shù)據(jù)是否完整并且正確,若否,則丟棄接收到的長(zhǎng)報(bào)文數(shù)據(jù),若是,則按照與北斗接收終端約定的壓縮算法,將所述長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行壓縮,例如可以使用哈夫曼壓縮算法。壓縮后根據(jù)北斗短報(bào)文發(fā)送的字節(jié)數(shù)限制要求,對(duì)壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)按71字節(jié)的長(zhǎng)度進(jìn)行分段,得到一系列的短報(bào)文數(shù)據(jù)包。如圖2所示,本實(shí)施例中,先統(tǒng)計(jì)出總字節(jié)數(shù)X,然后計(jì)算出長(zhǎng)報(bào)文數(shù)據(jù)分段后的總包數(shù)N,計(jì)算公式為:N=(X+70)/71,N取計(jì)算值的整數(shù)部分,最后一個(gè)短報(bào)文數(shù)據(jù)包的長(zhǎng)度可以小于71字節(jié),即最后一個(gè)數(shù)據(jù)分包可以不滿71字節(jié),數(shù)據(jù)的分包序號(hào)從0到N-1。為了便于北斗接收終端解析、組合所述短報(bào)文數(shù)據(jù)包,在每一個(gè)短報(bào)文數(shù)據(jù)包包頭添加分包標(biāo)識(shí)符、時(shí)間信息、總包數(shù)、分包序號(hào)等識(shí)別信息,分包標(biāo)識(shí)符可以取字符“c1”等等;時(shí)間信息即北斗發(fā)送終端發(fā)送報(bào)文的時(shí)間,取當(dāng)前的系統(tǒng)時(shí)間。所以每發(fā)送的一條短報(bào)文信息包含的數(shù)據(jù)內(nèi)容有:分包標(biāo)識(shí)符、時(shí)間信息、總包數(shù)、分包序號(hào)和短報(bào)文數(shù)據(jù)包。發(fā)送之前還要對(duì)每一條短報(bào)文信息根據(jù)北斗數(shù)據(jù)傳輸協(xié)議進(jìn)行封裝,協(xié)議封裝的內(nèi)容主要包括:用戶ID、接收方ID、電文長(zhǎng)度和電文內(nèi)容,所述用戶ID為北斗接收終端識(shí)別號(hào),所述接收方ID為北斗發(fā)送終端識(shí)別號(hào)。協(xié)議封裝好之后,順序發(fā)送所述短報(bào)文信息。
如圖3和圖4所示,北斗接收終端通過北斗衛(wèi)星鏈路順序接收到短報(bào)文信息之后,再根據(jù)北斗通信協(xié)議,對(duì)各條短報(bào)文信息進(jìn)行解封裝,提取出其中的短報(bào)文數(shù)據(jù)包和其他信息,判斷短報(bào)文數(shù)據(jù)包的數(shù)據(jù)是否完整且正確,若否,則丟棄;若是,則進(jìn)行數(shù)據(jù)組包,根據(jù)報(bào)文數(shù)據(jù)中的北斗發(fā)送終端識(shí)別號(hào)、分包標(biāo)識(shí)符、時(shí)間信息、總包數(shù)、分包序號(hào)等識(shí)別信息,對(duì)各短報(bào)文數(shù)據(jù)包進(jìn)行歸類、整理,根據(jù)總包數(shù),以及這條壓縮長(zhǎng)報(bào)文目前所接收到的短報(bào)文數(shù)據(jù)包總數(shù),可以知道北斗接收終端當(dāng)前是否已經(jīng)接收完這條壓縮長(zhǎng)報(bào)文的全部數(shù)據(jù)。若是,則可以還原出原壓縮的長(zhǎng)報(bào)文數(shù)據(jù)及其源自的北斗發(fā)送終端識(shí)別號(hào),從而實(shí)現(xiàn)對(duì)原壓縮長(zhǎng)報(bào)文數(shù)據(jù)的組包功能;最后再根據(jù)前述約定的數(shù)據(jù)壓縮算法,對(duì)所還原的壓縮長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行解壓縮,從而解析出原始的長(zhǎng)報(bào)文數(shù)據(jù)。
實(shí)施例二
請(qǐng)參照?qǐng)D5至圖7,本發(fā)明的實(shí)施例二與實(shí)施例一的方法相對(duì)應(yīng),如圖5所示,為一種北斗數(shù)據(jù)傳輸系統(tǒng),包括北斗發(fā)送終端、衛(wèi)星中轉(zhuǎn)站和北斗接收終端。
所述北斗發(fā)送終端用于接收長(zhǎng)報(bào)文數(shù)據(jù),壓縮長(zhǎng)報(bào)文數(shù)據(jù),對(duì)壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行分包處理得到短報(bào)文數(shù)據(jù)包,并用于發(fā)送所述短報(bào)文數(shù)據(jù)包。每條短報(bào)文信息中攜帶有北斗發(fā)送終端識(shí)別號(hào)、發(fā)送時(shí)間、分包標(biāo)識(shí)符、分包序號(hào)、總包數(shù)和北斗接收終端識(shí)別號(hào)等信息。如圖6所示,北斗發(fā)送終端由接收模塊、判斷模塊、壓縮模塊、分包模塊、協(xié)議封裝模塊和發(fā)送模塊六個(gè)模塊組成,其中,接收模塊用于接收數(shù)據(jù)源的長(zhǎng)報(bào)文數(shù)據(jù);判斷模塊用于檢查并確認(rèn)所接收的長(zhǎng)報(bào)文數(shù)據(jù)的完整性和正確性;壓縮模塊用于根據(jù)約定的壓縮算法,例如Huffman算法,對(duì)符合要求的長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行壓縮,以減少衛(wèi)星傳輸?shù)臄?shù)據(jù)量,并實(shí)現(xiàn)報(bào)文數(shù)據(jù)的加密;分包模塊用于根據(jù)北斗短報(bào)文發(fā)送的字節(jié)數(shù)限制要求,對(duì)壓縮后的長(zhǎng)報(bào)文數(shù)據(jù)按71字節(jié)的長(zhǎng)度進(jìn)行分段組包;協(xié)議封裝模塊用于將分段組包的數(shù)據(jù)作為短報(bào)文數(shù)據(jù)包,并根據(jù)北斗數(shù)據(jù)傳輸協(xié)議進(jìn)行協(xié)議封裝,形成一系列標(biāo)準(zhǔn)的北斗短報(bào)文信息;發(fā)送模塊用于將這系列封裝好的北斗短報(bào)信息放入發(fā)送隊(duì)列中,并通過北斗衛(wèi)星鏈路順序發(fā)送出去。
衛(wèi)星中轉(zhuǎn)站用于接收由各個(gè)北斗發(fā)送終端發(fā)來的北斗短報(bào)文信息;再根據(jù)北斗短報(bào)文信息中攜帶的北斗接收終端識(shí)別號(hào),將北斗短報(bào)文轉(zhuǎn)發(fā)到相應(yīng)的北斗接收終端。
北斗接收終端用于順序接收由衛(wèi)星中轉(zhuǎn)站發(fā)來的一系列轉(zhuǎn)譯的北斗短報(bào)文信息,根據(jù)北斗短報(bào)文信息中攜帶的北斗發(fā)送終端識(shí)別號(hào)、發(fā)送時(shí)間等信息,識(shí)別出這些短報(bào)文所源自的北斗發(fā)送終端識(shí)別號(hào),通過對(duì)這些短報(bào)文數(shù)據(jù)包進(jìn)行進(jìn)一步的歸類、整理、合并、解析,最終還原出原始的長(zhǎng)報(bào)文數(shù)據(jù),以及源自的北斗發(fā)送終端識(shí)別號(hào)、發(fā)送時(shí)間等相關(guān)信息。如圖7所示,北斗接收終端由接收模塊、協(xié)議解封裝模塊、判斷模塊、組包模塊、解壓縮模塊、輸出模塊六個(gè)模塊組成,其中,接收模塊用于接收衛(wèi)星中轉(zhuǎn)站轉(zhuǎn)發(fā)來的北斗短報(bào)文信息;協(xié)議解封裝模塊用于根據(jù)北斗數(shù)據(jù)傳輸協(xié)議,從北斗短報(bào)文信息中解析來電文數(shù)據(jù),即解析出壓縮長(zhǎng)報(bào)文的短報(bào)文數(shù)據(jù)包;判斷模塊用于檢查并確認(rèn)所接收的短報(bào)文數(shù)據(jù)包的完整性和正確性;組包模塊用于根據(jù)電文數(shù)據(jù)中的北斗發(fā)送終端識(shí)別號(hào)、分包標(biāo)識(shí)符、時(shí)間信息、總包數(shù)、分包序號(hào)等識(shí)別信息,對(duì)解析出的分包數(shù)據(jù)進(jìn)行歸類、整理、合并,還原出完整的原壓縮長(zhǎng)報(bào)文數(shù)據(jù),及其源自的北斗發(fā)送終端識(shí)別號(hào);解壓縮模塊用于根據(jù)約定的壓縮算法,例如Huffman算法,對(duì)所還原的壓縮長(zhǎng)報(bào)文數(shù)據(jù)進(jìn)行解壓縮,解析出原始的長(zhǎng)報(bào)文數(shù)據(jù);輸出模塊用于輸出所解析的原始長(zhǎng)報(bào)文數(shù)據(jù),并輸出源自的北斗發(fā)送終端識(shí)別號(hào)、報(bào)文發(fā)送時(shí)間等相關(guān)信息。
綜上所述,本發(fā)明提供的一種北斗數(shù)據(jù)傳輸方法及系統(tǒng),北斗發(fā)送終端先將長(zhǎng)報(bào)文數(shù)據(jù)按照數(shù)據(jù)壓縮算法壓縮后再分包成短報(bào)文數(shù)據(jù)包,然后順序進(jìn)行發(fā)送,可以減少傳輸?shù)目倲?shù)據(jù)量,減少北斗數(shù)據(jù)傳輸?shù)臅r(shí)延,降低數(shù)據(jù)傳輸對(duì)北斗衛(wèi)星信道的占用率;同時(shí)又通過數(shù)據(jù)壓縮,將原先的明文數(shù)據(jù)轉(zhuǎn)換成不可讀的密文,增強(qiáng)北斗數(shù)據(jù)傳輸?shù)谋C苄浴?/p>
以上所述僅為本發(fā)明的實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等同變換,或直接或間接運(yùn)用在相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。