国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于衛(wèi)星數(shù)據(jù)縮減的傳輸優(yōu)化技術(shù)研究與實(shí)現(xiàn)

2017-04-14 10:34:46孫劍偉
軟件 2017年2期
關(guān)鍵詞:校驗(yàn)指紋衛(wèi)星

田 浩,孫劍偉

基于衛(wèi)星數(shù)據(jù)縮減的傳輸優(yōu)化技術(shù)研究與實(shí)現(xiàn)

田 浩,孫劍偉

(華北計(jì)算技術(shù)研究所,北京 100083)

衛(wèi)星應(yīng)用系統(tǒng)領(lǐng)域,存在海量的大數(shù)據(jù)需要通過(guò)廣域網(wǎng)傳輸,為了提高廣域網(wǎng)傳輸速率,進(jìn)而可以把基于衛(wèi)星地面應(yīng)用系統(tǒng)的衛(wèi)星數(shù)據(jù)縮減作為切入點(diǎn)進(jìn)行研究。衛(wèi)星數(shù)據(jù)的地面?zhèn)鬏攲⑿l(wèi)星地面接收站作為數(shù)據(jù)的原始起點(diǎn),中心站或其他需要衛(wèi)星數(shù)據(jù)的站點(diǎn)作為數(shù)據(jù)的目的站點(diǎn),本課題研究的是衛(wèi)星地面數(shù)據(jù)傳輸?shù)募铀賰?yōu)化技術(shù)。文中設(shè)計(jì)了一種衛(wèi)星數(shù)據(jù)縮減方案,通過(guò)傳統(tǒng)的數(shù)據(jù)壓縮與現(xiàn)今大熱的重復(fù)數(shù)據(jù)消除技術(shù)相結(jié)合。兩種優(yōu)化技術(shù)互相融合實(shí)現(xiàn)數(shù)據(jù)壓縮與重復(fù)數(shù)據(jù)塊消除珠聯(lián)璧合,達(dá)到數(shù)據(jù)量的遞減,減輕了地面站傳輸壓力。最后設(shè)計(jì)了針對(duì)衛(wèi)星數(shù)據(jù)縮減發(fā)送原型系統(tǒng)。

重復(fù)數(shù)據(jù)消除;數(shù)據(jù)壓縮;加速平臺(tái)

0 引言

地面系統(tǒng)負(fù)責(zé)接收衛(wèi)星數(shù)據(jù),并及時(shí)傳送給應(yīng)用系統(tǒng)。中國(guó)衛(wèi)星的地面系統(tǒng)由北京站、三亞站、喀什站和今年剛剛建立的北極站四個(gè)地面接收站組成[1]。作者所在領(lǐng)域主要研究的是衛(wèi)星數(shù)據(jù)地面?zhèn)鬏斝阅軆?yōu)化和衛(wèi)星應(yīng)用系統(tǒng)研發(fā)。

數(shù)據(jù)傳輸應(yīng)用系統(tǒng)其主要任務(wù)是合理調(diào)配網(wǎng)絡(luò)資源和系統(tǒng)設(shè)備資源,管理數(shù)據(jù)傳輸隊(duì)列作業(yè),以確保衛(wèi)星原始數(shù)據(jù)和快視數(shù)據(jù)能夠快速、準(zhǔn)確地傳送到位于北京的地面站中心和衛(wèi)星業(yè)主單位。負(fù)責(zé)在數(shù)據(jù)傳輸過(guò)程中結(jié)合廣域網(wǎng)數(shù)據(jù)傳輸?shù)南到y(tǒng)優(yōu)化技術(shù)和應(yīng)用數(shù)據(jù)優(yōu)化技術(shù),優(yōu)化傳輸性能。

其中利用應(yīng)用層數(shù)據(jù)優(yōu)化技術(shù)實(shí)現(xiàn)是本系統(tǒng)研究的重要內(nèi)容,通過(guò)數(shù)據(jù)優(yōu)化技術(shù)可以實(shí)現(xiàn)數(shù)據(jù)快速傳輸。通過(guò)對(duì)重要數(shù)據(jù)的快速傳輸,可以保證在突發(fā)自然災(zāi)害時(shí),能夠及時(shí)準(zhǔn)確的將現(xiàn)場(chǎng)的圖像影像等資料傳回到指揮控制中心,指揮控制中心能夠根據(jù)具體情況作出相應(yīng)的救援部署工作,能夠最大限度的減少生命和財(cái)產(chǎn)損失,為完成第一時(shí)間的救援提供重要的技術(shù)支持保障和決策分析的依據(jù)[8]。

1 重復(fù)數(shù)據(jù)消除主要技術(shù)

基于傳輸數(shù)據(jù)的優(yōu)化主要包含衛(wèi)星數(shù)據(jù)壓縮[7]和重復(fù)數(shù)據(jù)消除兩大技術(shù)。其中衛(wèi)星數(shù)據(jù)壓縮技術(shù)由于都是基于經(jīng)典算法的改進(jìn),主要原理是基于數(shù)據(jù)編碼的縮減,我們不在贅述。這里主要談?wù)撝貜?fù)數(shù)據(jù)消除技術(shù)這塊的研究與應(yīng)用。

重復(fù)數(shù)據(jù)消除技術(shù)包含許多技術(shù)實(shí)現(xiàn)細(xì)節(jié),包括文件如何進(jìn)行切分?數(shù)據(jù)塊指紋如何計(jì)算?如何進(jìn)行數(shù)據(jù)塊檢索?采用相同數(shù)據(jù)檢測(cè)還是采用相似數(shù)據(jù)檢測(cè)和差異編碼技術(shù)?數(shù)據(jù)內(nèi)容是否可以感知,是否需要對(duì)內(nèi)容進(jìn)行解析?這些都是重復(fù)數(shù)據(jù)消除(Data Deduplication)具體實(shí)現(xiàn)息息相關(guān)[3]。本文主要研究相同數(shù)據(jù)檢測(cè)技術(shù),基于二進(jìn)制文件進(jìn)行重消處理,具有更廣泛的適用性。

存儲(chǔ)系統(tǒng)的重復(fù)數(shù)據(jù)消除過(guò)程一般是這樣的:首先將數(shù)據(jù)文件分割成一組數(shù)據(jù)塊,為每個(gè)數(shù)據(jù)塊計(jì)算“指紋”(Fingerprint),然后以“指紋”為關(guān)鍵字進(jìn)行Hash查找,匹配則表示該數(shù)據(jù)塊為重復(fù)數(shù)據(jù)塊,僅存儲(chǔ)數(shù)據(jù)塊索引號(hào),否則則表示該數(shù)據(jù)塊是一個(gè)新的唯一塊,對(duì)數(shù)據(jù)塊進(jìn)行存儲(chǔ)并創(chuàng)建相關(guān)元信息。這樣,一個(gè)物理文件在存儲(chǔ)系統(tǒng)就對(duì)應(yīng)一個(gè)邏輯表示,由一組FP組成的元數(shù)據(jù)。從如上過(guò)程中可以看出,重復(fù)數(shù)據(jù)消除的關(guān)鍵技術(shù)主要包括文件數(shù)據(jù)塊切分、數(shù)據(jù)塊指紋計(jì)算和數(shù)據(jù)塊檢索[4]。

1.1重消文件切塊

本文將要采用的滑動(dòng)塊(Sliding Block)切分算法是最近剛剛新起的分塊切分算法,其結(jié)合了定長(zhǎng)切分和變長(zhǎng)切分的優(yōu)點(diǎn),塊大小固定[5]。算法主要流程:

(1)定長(zhǎng)的窗口滑動(dòng),求其checksum。

(2)若找到相同的checksum則對(duì)兩起點(diǎn)間的數(shù)據(jù)執(zhí)行以下操作:

A: 若數(shù)據(jù)碎片大于1個(gè)窗口長(zhǎng)度,取整數(shù)個(gè)窗口大小數(shù)據(jù)塊,每個(gè)塊分別計(jì)算checksum,該塊視為非重復(fù)數(shù)據(jù),存儲(chǔ)其指紋。

B: 若數(shù)據(jù)碎片小于1個(gè)窗口長(zhǎng)度,將其作為非重復(fù)數(shù)據(jù)存儲(chǔ)。

(3)對(duì)于相同checksum計(jì)算數(shù)據(jù)指紋值,若指紋值不符合,則視為checksum不同,繼續(xù)滑動(dòng)窗口。示意圖1。

圖1 滑動(dòng)窗口檢測(cè)示意圖

滑動(dòng)窗口定長(zhǎng)數(shù)據(jù)塊前面的數(shù)據(jù)碎片也是一個(gè)數(shù)據(jù)塊,它是變長(zhǎng)的。如果滑動(dòng)窗口移過(guò)一個(gè)塊大小的距離仍無(wú)法匹配,則也認(rèn)定為一個(gè)數(shù)據(jù)塊邊界?;瑒?dòng)塊算法對(duì)插入和刪除問(wèn)題處理很高效,并且能夠檢測(cè)到比變長(zhǎng)切分更多的重復(fù)數(shù)據(jù)。

1.2重消數(shù)據(jù)塊指紋計(jì)算

重復(fù)數(shù)據(jù)消除技術(shù)的關(guān)鍵在于數(shù)據(jù)塊“指紋”(Fingerprint)的生成和鑒別。數(shù)據(jù)塊指紋是鑒別數(shù)據(jù)塊是否重復(fù)的依據(jù),如果不同數(shù)據(jù)塊的指紋相同,就會(huì)造成內(nèi)容丟失,產(chǎn)生不可恢復(fù)的嚴(yán)重后果。

數(shù)據(jù)塊“指紋”(FingerPrinter)是數(shù)據(jù)塊的特質(zhì),理想狀態(tài)是每個(gè)不同的數(shù)據(jù)塊具有唯一的指紋。衛(wèi)星數(shù)據(jù)塊本身往往較大,因此數(shù)據(jù)指紋的目標(biāo)是期望以最小的字節(jié)空間表示(如16、32、64、128字節(jié))來(lái)區(qū)別不同數(shù)據(jù)塊。數(shù)據(jù)指紋通常是對(duì)數(shù)據(jù)塊內(nèi)容進(jìn)行相關(guān)數(shù)學(xué)運(yùn)算獲得,從當(dāng)前研究成果來(lái)看Hash函數(shù)比較接近與理想目標(biāo),比如MD5、SHA1、SHA-256、SHA-512、Rabin Fingerprint等[2]。然而,遺憾的是這些指紋函數(shù)都存在碰撞問(wèn)題,即不同數(shù)據(jù)塊可能會(huì)產(chǎn)生相同的數(shù)據(jù)指紋。相對(duì)來(lái)說(shuō),MD5和SHA系列Hash函數(shù)具有非常低的碰撞發(fā)生概率,因此通常被采用作為指紋計(jì)算方法。其中,MD5和SHA1是128位的,SHA-X(X表示位數(shù))具有更低的碰撞發(fā)生概率,但同時(shí)計(jì)算量也會(huì)大大增加。實(shí)際應(yīng)用中,需要在性能和數(shù)據(jù)安全性方面作權(quán)衡。另外,還可以同時(shí)使用多種Hash算法來(lái)為數(shù)據(jù)塊計(jì)算指紋。

數(shù)據(jù)塊指紋(FingerPrinter)通常使用Hash函數(shù)來(lái)計(jì)算獲得,如MD5、SHA1、SHA-256、SHA-512等。其計(jì)算方法也就是出自密碼學(xué)里的數(shù)據(jù)摘要算法,它的原理是:計(jì)算出數(shù)據(jù)塊的指紋信息,用來(lái)達(dá)到給每一個(gè)不同數(shù)據(jù)塊簽名的目的,該數(shù)據(jù)塊簽名也就是指紋可以被用來(lái)進(jìn)行數(shù)據(jù)塊的完整性校驗(yàn)。從純數(shù)學(xué)角度看,如果兩個(gè)數(shù)據(jù)塊指紋不同,則這兩個(gè)數(shù)據(jù)塊內(nèi)容肯定不同。然而,如果兩個(gè)數(shù)據(jù)塊指紋相同,我們則不能斷定這兩個(gè)數(shù)據(jù)塊是相同的。

針對(duì)這種問(wèn)題,目前主要有兩種解決路徑:一是對(duì)數(shù)據(jù)指紋相同的塊進(jìn)行字節(jié)級(jí)完全比較。二是采用兩種以上hash算法組合方式,最大可能降低碰撞產(chǎn)生的概率,這顯然會(huì)對(duì)性能造成影響。

多數(shù)情況下由于衛(wèi)星地面系統(tǒng)對(duì)傳輸速率優(yōu)化的需求明顯大于對(duì)本地性能的需求。作者在衛(wèi)星數(shù)據(jù)傳輸系統(tǒng)中采用的就是第二種方法,為每個(gè)數(shù)據(jù)塊計(jì)算兩個(gè)指紋,一個(gè)弱校驗(yàn)值(Mark Adler的Adler-32校驗(yàn))和一個(gè)強(qiáng)校驗(yàn)值MD5。弱校驗(yàn)值A(chǔ)dler-32算法由于本身設(shè)計(jì)的緣故,容易被人篡改偽造,在維護(hù)數(shù)據(jù)安全性方面較為劣勢(shì),但是由于其只需消耗很小的CPU時(shí)間,在在線實(shí)時(shí)任務(wù)壓縮方面還是有很不錯(cuò)的應(yīng)用價(jià)值。滑動(dòng)窗口切分定長(zhǎng)數(shù)據(jù)塊先計(jì)算Adler-32弱校驗(yàn)值,如果不匹配則再計(jì)算MD5強(qiáng)校驗(yàn)值。這種方式以較小的性能代價(jià)極大地降低了碰撞產(chǎn)生的概率,而且通過(guò)優(yōu)化,性能損失無(wú)幾。

(一)弱校驗(yàn)值A(chǔ)dler-32算法流程

下面例子中先計(jì)算校驗(yàn)和A、B(16 bit),然后將它們組合成32位整數(shù),以此來(lái)獲得Adler-32算法校驗(yàn)值。A是數(shù)據(jù)流中所有字節(jié)的總和加1,B是來(lái)自每個(gè)步驟的A的各個(gè)值的總和。

在Adler-32運(yùn)行的開(kāi)始,A被初始化為1,B被初始化為0.以65521(小于216的最大素?cái)?shù))模數(shù)進(jìn)行求和。字節(jié)按網(wǎng)絡(luò)順序(大端)存儲(chǔ),B占用兩個(gè)最高有效字節(jié)。

該函數(shù)可以表示為:

A = 1 + D1 + D2 + ... + Dn(mod 65521)

B = (1 + D1)+(1 + D1 + D2)+ ... +(1 + D1 + D2 + ... + Dn)= n×D1 +(n-1)×D2 + (n-2)× D3 + ... + Dn + n(mod 65521)

Adler-32(D)=B×65536 + A

其中D是要計(jì)算校驗(yàn)值的字節(jié)串,n是D的長(zhǎng)度。

例如:字符串“Wikipedia”的Adler-32弱校驗(yàn)值計(jì)算如下表:

表1 Adler-32算法計(jì)算流程表

A = 920 = 0x398

B = 4582 = 0x11e6

校驗(yàn)值 = 4,582 × 65, 536 + 920 = 300286872 = 0x11e60398

注意:在該示例中,模運(yùn)算沒(méi)有效果,因?yàn)闆](méi)有值達(dá)到65521。

附Adler_32算法核心代碼:

unsigned int adler32_checksum(char *buf, int len)

{

int i;

unsigned int s1, s2;

s1 = s2 = 0;

for (i = 0; i < (len - 4); i += 4) { s2 += 4 * (s1 + buf[i]) + 3 * buf[i+1] + 2 * buf[i+2] + buf[i+3] +

10 * CHAR_OFFSET;

s1 += (buf[i+0] + buf[i+1] + buf[i+2] + buf[i+3] + 4 * CHAR_OFFSET);

}

for (; i < len; i++) {

s1 += (buf[i]+CHAR_OFFSET);

s2 += s1;

}

return (s1 & 0xffff) + (s2 << 16);

}

unsigned int adler32_rolling_checksum(unsigned int csum, int len, char c1, char c2)

{

unsigned int s1, s2, s11, s22;

s1 = csum & 0xffff;

s2 = csum >> 16;

s1 -= (c1 - c2);

s2 -= (len * c1 - s1);

return (s1 & 0xffff) + (s2 << 16);

}

(二)MD5強(qiáng)校驗(yàn)值

強(qiáng)校驗(yàn)值的算法比較經(jīng)典了,這里不再贅述。

(三)算法對(duì)比測(cè)試

針對(duì)上面兩個(gè)經(jīng)典算法做出算法測(cè)試。

測(cè)試數(shù)據(jù)集:2048 MB大小的資源三號(hào)(ZY-3)衛(wèi)星高光譜圖像數(shù)據(jù),其中有各種資源三號(hào)(ZY-3)衛(wèi)星數(shù)據(jù)類(lèi)型包文件。

測(cè)試軟硬件環(huán)境:操作系統(tǒng)Windows xp;框架Qt Designer 5.5.0;測(cè)試機(jī),Intel(R) Core(TM) i7-3770 CPU @ 3.4.0 GHZ,2G RAM,128G IDE接口硬盤(pán)。

測(cè)試對(duì)比效果:

下面給出兩種不同強(qiáng)弱校驗(yàn)算法的實(shí)驗(yàn)對(duì)比結(jié)果表:

表2 強(qiáng)弱校驗(yàn)值算法的實(shí)驗(yàn)對(duì)比

以上測(cè)試對(duì)比可以看出,數(shù)據(jù)塊指紋的計(jì)算較快,在一般配置的計(jì)算機(jī)上使用強(qiáng)弱校驗(yàn)值算法,處理2 GB的文件只需40秒左右,對(duì)多核服務(wù)器的負(fù)載要求不是太高。在對(duì)衛(wèi)星文件數(shù)據(jù)實(shí)時(shí)性要求更高的場(chǎng)合可以采用弱校驗(yàn)值A(chǔ)dler-32算法,而對(duì)數(shù)據(jù)安全性要求更高的場(chǎng)合采用強(qiáng)校驗(yàn)值MD-5算法。

1.3重消數(shù)據(jù)塊檢索

對(duì)于大存儲(chǔ)容量的衛(wèi)星重復(fù)數(shù)據(jù)消除系統(tǒng)來(lái)說(shuō),數(shù)據(jù)塊數(shù)量非常龐大,尤其是數(shù)據(jù)塊粒度細(xì)的情況下。因此,在這樣一個(gè)大的數(shù)據(jù)指紋庫(kù)中檢索,性能就會(huì)成為瓶頸。信息檢索方法有很多種,如動(dòng)態(tài)數(shù)組、數(shù)據(jù)庫(kù)、RB/B/B+/B*樹(shù)、Hashtable等。哈希表(Hashtable)查找因?yàn)槠鋾r(shí)間復(fù)雜度為O(1),滿(mǎn)足查找性能要求,重復(fù)數(shù)據(jù)消除技術(shù)中也采用它。哈希表處于內(nèi)存中,會(huì)消耗大量?jī)?nèi)存資源,在設(shè)計(jì)重復(fù)數(shù)據(jù)消除技術(shù)前需要對(duì)內(nèi)存需求作合理規(guī)劃。根據(jù)數(shù)據(jù)塊指紋長(zhǎng)度、數(shù)據(jù)塊數(shù)量(可以由存儲(chǔ)容量和平均數(shù)據(jù)塊大小估算)可以估算出內(nèi)存需求量。

2 重復(fù)數(shù)據(jù)消除方案設(shè)計(jì)

研發(fā)或應(yīng)用重復(fù)數(shù)據(jù)消除(Data Deduplication)技術(shù)時(shí)應(yīng)該考慮各種因素,因?yàn)檫@些因素會(huì)直接影響其性能和效果。

重復(fù)數(shù)據(jù)消除(Data Deduplication,以下簡(jiǎn)稱(chēng)重消)的衡量維度主要有兩個(gè),即重復(fù)數(shù)據(jù)消除率(Deduplication Ratios)和性能。其中對(duì)何種數(shù)據(jù)進(jìn)行重消,時(shí)間數(shù)據(jù)還是空間數(shù)據(jù),全局?jǐn)?shù)據(jù)還是局部數(shù)據(jù)?何時(shí)進(jìn)行重消,在線還是離線?在何處進(jìn)行重消,源端還是目標(biāo)端?如何進(jìn)行重消?實(shí)際應(yīng)用重復(fù)數(shù)據(jù)消除技術(shù)時(shí)應(yīng)該考慮各種因素,因?yàn)檫@些因素會(huì)直接影響其性能和效果。

2.1重消數(shù)據(jù)粒度的選擇

對(duì)全局文件級(jí)數(shù)據(jù)還是局部塊級(jí)別數(shù)據(jù)進(jìn)行重消?這是首先需要考慮的因素,這直接決定著重復(fù)數(shù)據(jù)消除實(shí)現(xiàn)算法的選擇和數(shù)據(jù)重消率。全局文件級(jí)的重消技術(shù)也稱(chēng)為單一實(shí)例存儲(chǔ)(SIS,Single Instance Store),局部塊級(jí)別的重消其消重粒度更小,可以達(dá)到4~24 KB之間。顯然,局部塊級(jí)別可以提供更高的數(shù)據(jù)消重率。作者所在的衛(wèi)星數(shù)據(jù)庫(kù)中,由于衛(wèi)星高光譜影像數(shù)據(jù)的特點(diǎn),局部范圍內(nèi)的數(shù)據(jù)重復(fù)率比全局范圍數(shù)據(jù)要高,因此選擇對(duì)局部塊級(jí)別數(shù)據(jù)重消,會(huì)獲得更高的投資回報(bào)率(ROI,Return On Investment)/總持有成本(TCO,Total Cost of Ownership)的需求。

對(duì)時(shí)間數(shù)據(jù)還是空間數(shù)據(jù)進(jìn)行重消?隨時(shí)間變化的數(shù)據(jù),如周期性的備份、歸檔的衛(wèi)星數(shù)據(jù),重復(fù)數(shù)據(jù)消除技術(shù)還在備份歸檔領(lǐng)域中被廣泛應(yīng)用。我們的衛(wèi)星數(shù)據(jù)地面?zhèn)鬏攽?yīng)用系統(tǒng)中,絕大部分?jǐn)?shù)據(jù)是基于衛(wèi)星控制管理中心任務(wù)事后傳輸?shù)?,?duì)其重消將比空間數(shù)據(jù)具有更高的重消率。

2.2重消時(shí)間的選擇

上文已經(jīng)提到過(guò),數(shù)據(jù)重消時(shí)機(jī)分為兩種情形:在線重刪和離線重刪。

采用在線重刪模式,在數(shù)據(jù)存儲(chǔ)到存儲(chǔ)設(shè)備上的同時(shí)進(jìn)行重復(fù)數(shù)據(jù)消除流程,在數(shù)據(jù)存儲(chǔ)到硬盤(pán)之前,重復(fù)數(shù)據(jù)已經(jīng)被去除掉了。因此實(shí)際傳輸或?qū)懭氲臄?shù)據(jù)量較少,適合通過(guò)LAN或WAN進(jìn)行數(shù)據(jù)處理的存儲(chǔ)系統(tǒng),如網(wǎng)絡(luò)備份歸檔和異地容災(zāi)系統(tǒng)。由于它需要實(shí)時(shí)進(jìn)行文件切分、數(shù)據(jù)指紋計(jì)算、Hash查找,對(duì)系統(tǒng)資料消耗大。

采用離線重刪模式,在寫(xiě)到存儲(chǔ)設(shè)備的同時(shí)不進(jìn)行重刪處理,先把原始數(shù)據(jù)寫(xiě)到硬盤(pán)上,隨后利用適當(dāng)?shù)臅r(shí)間啟動(dòng)后臺(tái)進(jìn)程對(duì)這些原始數(shù)據(jù)進(jìn)行重刪處理。與在線重刪相比較,它對(duì)系統(tǒng)資料消耗少,但寫(xiě)入了包含重復(fù)的數(shù)據(jù),因?yàn)樾枰A(yù)先存儲(chǔ)消重前衛(wèi)星數(shù)據(jù),離線重刪需要更多的硬盤(pán)數(shù)量和性能,而且需要保證有足夠的時(shí)間來(lái)進(jìn)行數(shù)據(jù)去重操作。這種模式適合直連存儲(chǔ)DAS和存儲(chǔ)區(qū)域網(wǎng)絡(luò)SAN存儲(chǔ)架構(gòu),數(shù)據(jù)傳輸不占用網(wǎng)絡(luò)帶寬[3]。

鑒于兩種重刪模式對(duì)寬帶占用的影響,我們衛(wèi)星數(shù)據(jù)傳輸優(yōu)化方案將主要采用離線重刪模式。

2.3重消地點(diǎn)的選擇

數(shù)據(jù)重消可以在目的端(Target)或者源端(Source)進(jìn)行。

目的端重消發(fā)生在目的端,數(shù)據(jù)在傳輸?shù)侥康亩嗽龠M(jìn)行重消,它不會(huì)占用源端系統(tǒng)資源,但占用大量網(wǎng)絡(luò)帶寬。目的端重消的優(yōu)勢(shì)在于它對(duì)應(yīng)用程序透明,并具有良好的互操作性,不需要使用專(zhuān)門(mén)的API,現(xiàn)有應(yīng)用軟件不用作任何修改即可直接應(yīng)用。

源端重消在數(shù)據(jù)源進(jìn)行,傳輸?shù)氖且呀?jīng)重消后的數(shù)據(jù),能夠節(jié)省網(wǎng)絡(luò)帶寬,但會(huì)占用大量源端系統(tǒng)資源。

同上,鑒于兩種地點(diǎn)消除模式對(duì)寬帶的影響,我們衛(wèi)星數(shù)據(jù)傳輸優(yōu)化方案將主要采用源端重消模式。

3 衛(wèi)星數(shù)據(jù)縮減方案設(shè)計(jì)與驗(yàn)證

衛(wèi)星數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除兩種技術(shù),目的都是縮減數(shù)據(jù),差別在于數(shù)據(jù)壓縮技術(shù)是數(shù)據(jù)的表達(dá)存在重復(fù),它是基于數(shù)學(xué)里信息論的技術(shù);而重復(fù)數(shù)據(jù)刪除的實(shí)現(xiàn)依賴(lài)數(shù)據(jù)塊的重復(fù)出現(xiàn),是一種實(shí)踐性技術(shù)。兩種技術(shù)具有不同層面的針對(duì)性,并能夠結(jié)合起來(lái)使用,從而實(shí)現(xiàn)更高的數(shù)據(jù)縮減比例。

圖2 數(shù)據(jù)壓縮與重復(fù)數(shù)據(jù)消除的結(jié)合流程圖

如果同時(shí)應(yīng)用數(shù)據(jù)壓縮和重復(fù)數(shù)據(jù)刪除技術(shù),本文將討論的是使用順序的問(wèn)題。

3.1縮減順序分析

(一)先壓縮,再重消

上文提過(guò)初始的衛(wèi)星高光譜影像數(shù)據(jù),冗余率是很高的。數(shù)據(jù)壓縮技術(shù)本身是對(duì)數(shù)據(jù)進(jìn)行重新編碼,這樣的預(yù)處理就可能破壞了衛(wèi)星數(shù)據(jù)原生的冗余結(jié)構(gòu),再應(yīng)用重復(fù)數(shù)據(jù)消除的話,由于初始的冗余結(jié)構(gòu)遭到破壞,縮減效果會(huì)大打折扣。并且一般情況下,高壓縮比的數(shù)據(jù)壓縮算法往往比重復(fù)數(shù)據(jù)消除算法更消耗CPU時(shí)間,先進(jìn)行數(shù)據(jù)壓縮的話,其算法作用的數(shù)據(jù)域也就更大,衛(wèi)星數(shù)據(jù)縮減總共消耗的時(shí)間也更多。

(二)先重消,再壓縮

先執(zhí)行重復(fù)數(shù)據(jù)刪除則不同,它首先消除了冗余數(shù)據(jù)塊,然后應(yīng)用數(shù)據(jù)壓縮對(duì)唯一副本數(shù)據(jù)塊進(jìn)行再次壓縮。這樣,兩種技術(shù)的數(shù)據(jù)縮減作用得到疊加,而且數(shù)據(jù)壓縮的消耗時(shí)間大大降低。

因此,作者的系統(tǒng)選擇先應(yīng)用重復(fù)數(shù)據(jù)刪除技術(shù)縮減基本數(shù)據(jù)塊的體積,然后再使用數(shù)據(jù)壓縮技術(shù)進(jìn)一步縮減數(shù)據(jù)本身結(jié)構(gòu)體積。

3.2縮減效果驗(yàn)證

這里以Linux下數(shù)據(jù)壓縮工具(gzip)和作者開(kāi)發(fā)傳輸系統(tǒng)中用到的數(shù)據(jù)縮減功能(dc)來(lái)驗(yàn)證這個(gè)結(jié)合效果。

原始數(shù)據(jù):ZY-3.dat,du–h查詢(xún)?nèi)萘繛?107724 KB,約1081.8 MB。

表3 縮減順序?qū)嶒?yàn)驗(yàn)證

經(jīng)過(guò)實(shí)驗(yàn)可得,gzip + dc得到的ZY-3.gz.dc容量為241 MB,消耗時(shí)間為159.992(152.776+7.216)秒;dc + gzip得到的ZY-3.dc.gz容量為176 MB,消耗時(shí)間為67.572(28.890+38.682)秒。實(shí)驗(yàn)數(shù)據(jù)進(jìn)一步驗(yàn)證了上述的分析,先重消后壓縮,可以獲得更高的數(shù)據(jù)壓縮比和性能。

4 衛(wèi)星數(shù)據(jù)縮減發(fā)送系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

衛(wèi)星數(shù)據(jù)縮減發(fā)送軟件基于塊級(jí)的重復(fù)數(shù)據(jù)刪除技術(shù),可以有效縮減數(shù)據(jù)存儲(chǔ)容量,節(jié)省用戶(hù)存儲(chǔ)空間。它的主要特征如下:

(1)支持SB滑動(dòng)塊分塊文件切分技術(shù);

(2)零數(shù)據(jù)塊碰撞,但損失部分性能;

(3)全局、源端、在線數(shù)據(jù)重消實(shí)現(xiàn);

(4)支持?jǐn)?shù)據(jù)包文件追加、刪除、數(shù)據(jù)重消率統(tǒng)計(jì)功能;

(5)支持重消后數(shù)據(jù)壓縮。

衛(wèi)星數(shù)據(jù)縮減發(fā)送部件由7個(gè)子部件、22個(gè)單元構(gòu)成,分別為主控部件、重復(fù)衛(wèi)星數(shù)據(jù)消除部件、消除衛(wèi)星數(shù)據(jù)壓縮部件、數(shù)據(jù)文件傳輸部件、數(shù)據(jù)發(fā)送控制部件、運(yùn)行日志管理部件、配置管理部件。

衛(wèi)星數(shù)據(jù)縮減發(fā)送部件組成如圖3所示。

衛(wèi)星數(shù)據(jù)縮減發(fā)送軟件采用面向?qū)ο竺嫦驅(qū)ο笤O(shè)計(jì)方法和Qt Creator進(jìn)行開(kāi)發(fā),客戶(hù)端運(yùn)行在Windows XP或者Win10上。

圖3 衛(wèi)星數(shù)據(jù)縮減發(fā)送部件圖(部件圖)

圖4 客戶(hù)端衛(wèi)星數(shù)據(jù)縮減發(fā)送單元效果圖一

圖5 客戶(hù)端衛(wèi)星數(shù)據(jù)縮減發(fā)送單元效果圖二

客戶(hù)端衛(wèi)星數(shù)據(jù)縮減發(fā)送軟件實(shí)現(xiàn)部分效果如下圖所示圖4、圖5所示。

[1] 楊冬, 孫劍偉. 基于令牌桶算法的衛(wèi)星數(shù)據(jù)地面?zhèn)鬏斄髁靠刂品椒ㄑ芯縖J]. 軟件, 2016, (03): 99-103.

[2] 黃志剛. 云備份中的雙指紋校驗(yàn)與多線程傳輸技術(shù)研究[D]. 華中科技大學(xué), 2011.

[3] 陽(yáng)小珊, 朱立谷, 張琦琮, 鄭良, 邱全偉, 湯占坤. 重復(fù)數(shù)據(jù)刪除技術(shù)的存儲(chǔ)空間利用率測(cè)評(píng)研究[J]. 計(jì)算機(jī)研究與發(fā)展, 2014, (S1): 187-194.

[4] Penna B, Tillo T, Magli E, et al. Transform coding techniques for lossy hyperspectral data compression[J]. IEEE Transactions on Geoscience and Remote Sensing, 2007, 45(5): 1408-1421.

[5] Roger R E, Cavenor M C. Lossless compression of AVIRIS images[J]. IEEE Transactions on Image Processing, 1996, 5(5): 713-719.

[6] Mielikainen J S, Kaarna A, Toivanen P J. Lossless hyperspectral image compression via linear prediction[C]//AeroSense 2002. International Society for Optics and Photonics, 2002: 600-608.

[7] 劉鐵華. 基于HEVC框架的無(wú)損壓縮編碼算法研究[J]. 軟件, 2013, 34(2): 69-72.

[8] 趙黛巖, 孫劍偉. 星地時(shí)間同步任務(wù)規(guī)劃綜合評(píng)價(jià)技術(shù)研究[J]. 軟件, 2014, 35(1): 60-64.

Research and Implementation of Transmission Optimization Based on Satellite Data Reduction

TIAN Hao, SUN Jian-wei
(North China Institute of Computing Technology, Beijing 100083, China)

Satellite applications, there is a large amount of large data needs to be transmitted over the WAN, in order to improve the WAN transmission rate, which can be based on satellite ground applications, satellite data reduction as a starting point for research. Satellite data ground transmission The satellite ground receiving station as the original starting point of data, the central station or other sites that need satellite data as the destination site of data, this topic is the acceleration of satellite terrestrial data transmission optimization technology. In this paper, a satellite data reduction scheme is designed, which combines traditional data compression with today’s hot deduplication technology. Two optimization techniques are combined to achieve data compression and duplication of data blocks to eliminate the perfect match, to reduce the amount of data, reducing the ground station transmission pressure. Finally, the prototype system for satellite data reduction is designed.

Deduplication; Data compression; Acceleration platform

TP391.41

: A

10.3969/j.issn.1003-6970.2017.02.021

田浩(1991-),華北計(jì)算技術(shù)研究所研究生;孫劍偉,華北計(jì)算技術(shù)研究所,研究員級(jí)高級(jí)工程師。

本文著錄格式:田浩,孫劍偉. 基于衛(wèi)星數(shù)據(jù)縮減的傳輸優(yōu)化技術(shù)研究與實(shí)現(xiàn)[J]. 軟件,2017,38(2):98-104

猜你喜歡
校驗(yàn)指紋衛(wèi)星
miniSAR遙感衛(wèi)星
像偵探一樣提取指紋
為什么每個(gè)人的指紋都不一樣
靜止衛(wèi)星派
科學(xué)家(2019年3期)2019-08-18 09:47:43
爐溫均勻性校驗(yàn)在鑄鍛企業(yè)的應(yīng)用
Puma" suede shoes with a focus on the Product variables
基于自適應(yīng)稀疏變換的指紋圖像壓縮
可疑的指紋
大型電動(dòng)機(jī)高阻抗差動(dòng)保護(hù)穩(wěn)定校驗(yàn)研究
基于加窗插值FFT的PMU校驗(yàn)方法
定日县| 怀化市| 柳州市| 台北市| 襄汾县| 北票市| 武邑县| 铜鼓县| 桃园县| 延吉市| 河西区| 衡阳市| 搜索| 广东省| 清镇市| 喀喇沁旗| 泸定县| 怀集县| 新丰县| 乐陵市| 张家界市| 渝北区| 加查县| 吴旗县| 石河子市| 双柏县| 铜山县| 称多县| 清远市| 宁城县| 达孜县| 正蓝旗| 潢川县| 灵武市| 双鸭山市| 河东区| 永春县| 桑植县| 建德市| 翁牛特旗| 富裕县|