胡匯洋+++許應(yīng)康+++李揚(yáng)
摘 要: 目前飛行試驗(yàn)測試數(shù)據(jù)快速增長,試飛數(shù)據(jù)的海量化是必然的趨勢,海量試飛數(shù)據(jù)的傳輸越來越成為試飛數(shù)據(jù)處理效率的瓶頸。通過分析海量試飛數(shù)據(jù)壓縮傳輸?shù)目尚行?,設(shè)計了試飛數(shù)據(jù)壓縮傳輸?shù)哪P汀?shí)驗(yàn)結(jié)果表明試飛數(shù)據(jù)的實(shí)時壓縮傳輸可大幅提高數(shù)據(jù)的傳輸效率和顯著縮短數(shù)據(jù)的傳輸時間,為試飛數(shù)據(jù)的快速處理打下了堅(jiān)實(shí)的基礎(chǔ)。
關(guān)鍵詞: 試飛數(shù)據(jù); 數(shù)據(jù)壓縮; 數(shù)據(jù)傳輸; 數(shù)據(jù)處理
中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2015)10?0078?02
試飛數(shù)據(jù)處理和管理的網(wǎng)絡(luò)化給大家?guī)砀咝У耐瑫r,也面臨著一些急需解決的問題:隨著飛機(jī)各種總線技術(shù)的發(fā)展,對飛行試驗(yàn)中測試的要求越來越高,表現(xiàn)在測試參數(shù)多,測試采樣率高,測試技術(shù)地不斷發(fā)展導(dǎo)致測試數(shù)據(jù)量的爆炸性增長,現(xiàn)在一個飛行架次動輒就是幾GB,幾十GB甚至上百GB的數(shù)據(jù),試飛數(shù)據(jù)的海量化成為未來發(fā)展的必然趨勢。在試飛數(shù)據(jù)處理和管理網(wǎng)絡(luò)化的背景下,試飛數(shù)據(jù)的傳輸是數(shù)據(jù)處理和管理的前提。在目前的網(wǎng)絡(luò)環(huán)境下,海量試飛數(shù)據(jù)的傳輸延遲已經(jīng)成為影響數(shù)據(jù)處理效率的主要瓶頸。減少網(wǎng)絡(luò)流量、節(jié)約網(wǎng)絡(luò)帶寬是網(wǎng)絡(luò)技術(shù)發(fā)展中的焦點(diǎn)問題之一[1]。隨著試飛數(shù)據(jù)的海量化,這一矛盾變得尤為突出,應(yīng)用高效的數(shù)據(jù)傳輸模型已成為解決這一問題的關(guān)鍵。
目前,國內(nèi)外對相關(guān)領(lǐng)域海量數(shù)據(jù)的高效傳輸問題也都有不少的研究,大都集中在視頻、圖像的壓縮編碼上[2],對視頻數(shù)據(jù)和數(shù)字信號的實(shí)時壓縮傳輸在某些領(lǐng)域得到了廣泛應(yīng)用。對于文件的壓縮傳輸也有不少的提及[3]。國內(nèi)面對海量的試飛數(shù)據(jù),目前大都還是采用的操作系統(tǒng)自帶的普通文件傳輸方式,這種方式導(dǎo)致數(shù)據(jù)傳輸效率低,傳輸過程不可控,極大地影響了數(shù)據(jù)處理準(zhǔn)備的效率。本文試探建立試飛數(shù)據(jù)的壓縮傳輸模型,并通過實(shí)驗(yàn)驗(yàn)證試飛數(shù)據(jù)壓縮傳輸?shù)暮侠硇浴?/p>
1 技術(shù)基礎(chǔ)
大家經(jīng)常需要存儲和傳輸大量的數(shù)據(jù),如何實(shí)現(xiàn)數(shù)據(jù)的高效存儲和高速傳輸顯得尤為關(guān)鍵。數(shù)據(jù)本身存在的冗余為問題的解決提供了可能性[4]。現(xiàn)在廣泛使用的各種數(shù)據(jù)壓縮技術(shù)正是利用了數(shù)據(jù)的冗余。數(shù)據(jù)壓縮技術(shù)可以分為有損壓縮和無損壓縮兩大類, 有損壓縮是以一定的精度損失來換取較高的數(shù)據(jù)壓縮率, 無損壓縮則要求經(jīng)壓縮還原后能產(chǎn)生精確的數(shù)據(jù)副本。
無損壓縮的算法一般分為兩類[5?6], 一類是基于統(tǒng)計模型的壓縮, 有Huffman算法和算術(shù)編碼算法(Arithmatic Coding)等。這類算法壓縮率高,但需要精確的數(shù)據(jù)統(tǒng)計特性, 因而計算時間長;另一類是基于字典(Dictionary)的壓縮算法,有LZW算法和Deflate/Inflate算法等。這類算法可以在對數(shù)據(jù)統(tǒng)計特性一無所知的情況下,使壓縮率接近已知統(tǒng)計特性時所能達(dá)到的壓縮率, 而且計算速度快,易于實(shí)現(xiàn),是目前常用的算法。針對這些算法的特點(diǎn),并綜合考慮了試飛數(shù)據(jù)的特點(diǎn),選擇使用了Deflate/Inflate算法。數(shù)據(jù)壓縮對傳輸速度的影響主要有兩個方面:壓縮解壓縮時間和壓縮后的文件大小。對于不同的網(wǎng)絡(luò)環(huán)境, 造成的影響是不同的, 網(wǎng)絡(luò)帶寬越小, 效果越明顯, 而帶寬越大, 要求壓縮解壓縮的速度越快。在此以飛行試驗(yàn)常用的PCM數(shù)據(jù)為例,在百兆網(wǎng)的環(huán)境下,采用通用的壓縮軟件對于大小為1 019 361 946 B的文件經(jīng)測試結(jié)果如表1所示。
表1 測試結(jié)果
壓縮后的大小為234 160 328 B,壓縮后的大小為原始數(shù)據(jù)大小的[15],用時為無壓縮傳輸時間的[16],如果按照先前的傳輸速度計算,經(jīng)過壓縮之后的數(shù)據(jù)再傳輸解壓將會用時20+[15]×125+20=65 s,這樣就比原來節(jié)省125-65=60 s。這就說明在數(shù)據(jù)的壓縮與解壓時間遠(yuǎn)小于數(shù)據(jù)在網(wǎng)絡(luò)的傳輸時間時,數(shù)據(jù)的實(shí)時在線壓縮傳輸為試飛數(shù)據(jù)傳輸效率的提升提供了可能。
2 試飛數(shù)據(jù)壓縮傳輸模型的構(gòu)建
試飛數(shù)據(jù)壓縮傳輸采用C/S的架構(gòu),采用基于TCP/IP 的 Socket通信協(xié)議,數(shù)據(jù)壓縮解壓縮部分使用了Zlib的通用數(shù)據(jù)壓縮庫。試飛數(shù)據(jù)壓縮傳輸?shù)倪壿嬃鞒虉D如圖1所示。
圖1 邏輯流程圖
2.1 客戶端壓縮傳輸組件的工作流程設(shè)計
步驟一:創(chuàng)建一個Socket,這個Socket 負(fù)責(zé)和服務(wù)器建立連接通信。
步驟二:創(chuàng)建客戶端的文件發(fā)送線程及服務(wù)端消息的接收線程,以準(zhǔn)備接收服務(wù)端的消息和傳輸數(shù)據(jù)文件。
步驟三:選擇將要傳輸?shù)臄?shù)據(jù)文件,并與服務(wù)端進(jìn)行通信,獲得數(shù)據(jù)接收端有關(guān)將要傳輸文件的狀態(tài),將其傳回客戶端,客戶端根據(jù)傳回的文件狀態(tài)信息進(jìn)行文件的實(shí)時壓縮解壓傳輸。
步驟四:當(dāng)數(shù)據(jù)文件傳輸完畢后,進(jìn)行資源的釋放。
2.2 服務(wù)端壓縮傳輸組件的工作流程設(shè)計
工作流程設(shè)計步驟如下:
步驟一:開啟監(jiān)聽端口,接收客戶端的連接請求,創(chuàng)建響應(yīng)服務(wù)客戶端的文件接收及通信線程,準(zhǔn)備響應(yīng)客戶端的相應(yīng)請求。
步驟二:創(chuàng)建的文件接收線程響應(yīng)客戶端的文件傳輸請求,不斷接收從客戶端傳來的數(shù)據(jù),并根據(jù)需要及時進(jìn)行解壓,將處理后的數(shù)據(jù)寫入本地文件直到本次文件傳輸完畢,向客戶端發(fā)送文件接收完畢的應(yīng)答。
步驟三:當(dāng)客戶端得到服務(wù)器接收文件完畢的應(yīng)答后,客戶端釋放文件的發(fā)送線程,這時服務(wù)端關(guān)閉文件的接收線程,釋放系統(tǒng)資源。
圖2 客戶端壓縮傳輸組件工作流程
圖3 服務(wù)端壓縮傳輸組件工作流程
3 試飛數(shù)據(jù)壓縮傳輸?shù)膶?shí)驗(yàn)分析及應(yīng)用評價
目前試飛數(shù)據(jù)的壓縮傳輸軟件已經(jīng)應(yīng)用到了飛行試驗(yàn)的數(shù)據(jù)傳輸中,針對目前典型的試飛數(shù)據(jù)類型,分別做了不同的試驗(yàn),不失一般性和可比性,試驗(yàn)采用同一壓縮算法,并在同一網(wǎng)絡(luò)環(huán)境下進(jìn)行。
硬件平臺:服務(wù)器和客戶端的硬件配置均為Intel 酷睿2 雙核的CPU,頻率為2.8 GHz;1 GB內(nèi)存;160 GB/7 200 轉(zhuǎn)硬盤;100 MHz互連網(wǎng)接入。
軟件平臺:微軟的Windows XP。
通過實(shí)驗(yàn),得出試驗(yàn)結(jié)果如表2所示。
表2 試驗(yàn)結(jié)果
試驗(yàn)結(jié)果表明:采用壓縮方式后,數(shù)據(jù)傳輸時間是不采用壓縮方式傳輸時間的[13~12],顯著地改善了試飛數(shù)據(jù)的傳輸效率。
4 結(jié) 語
試飛數(shù)據(jù)的網(wǎng)格計算匯聚了各種異構(gòu)計算系統(tǒng),形成了高性能的聯(lián)合計算環(huán)境,但是網(wǎng)絡(luò)的傳輸性能是影響試飛數(shù)據(jù)網(wǎng)格處理整體效率的關(guān)鍵因素,使用基于實(shí)時壓縮解壓的數(shù)據(jù)傳輸方式減少了網(wǎng)絡(luò)中數(shù)據(jù)流量,極大地提高試飛數(shù)據(jù)的傳輸效率,是提高試飛數(shù)據(jù)處理效率的一種簡單、廉價、高效的手段。
參考文獻(xiàn)
[1] 許福永,林曉輝.計算機(jī)通信網(wǎng)絡(luò)中容量與流量分配的優(yōu)化研究[J].甘肅工業(yè)大學(xué)學(xué)報,2003,29 (2):77?80.
[2] 胡國安,張哲,李利平.視頻壓縮理論及相關(guān)技術(shù)進(jìn)展分析[J].長沙通信職業(yè)技術(shù)學(xué)院學(xué)報,2008(4):10?12.
[3] 毛國勇,張曉斌.基于序列化及壓縮的網(wǎng)格數(shù)據(jù)傳輸性能改進(jìn)[J].計算機(jī)工程,2008,34(16):89?91.
[4] 覃征,王志敏,王利榮.基于Internet 的數(shù)據(jù)在線壓縮傳輸模型[J].小型微型計算機(jī)系統(tǒng),2002,23(2):156?157.
[5] 鄭翠芳.幾種常用無損數(shù)據(jù)壓縮算法研究[J].計算機(jī)技術(shù)與發(fā)展,2011,21(9):73?76.
[6] 華強(qiáng).LZ77和LZ78在數(shù)據(jù)壓縮中的組合帶參運(yùn)用[J].小型微型計算機(jī)系統(tǒng),2000,21(2):211?215.