本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)壓縮、解壓縮方法及裝置。
背景技術(shù):隨著計(jì)算機(jī)和通信技術(shù)的發(fā)展,Internet網(wǎng)絡(luò)在過去的十幾年中迅猛發(fā)展,但擁塞問題越來(lái)越嚴(yán)重。為了滿足網(wǎng)格中超大數(shù)據(jù)傳輸和高性能計(jì)算的要求,迫切需要一種更加有效傳輸?shù)膫鬏攨f(xié)議。現(xiàn)有的TCP協(xié)議不能在高帶寬延遲積的網(wǎng)絡(luò)中高效地工作,主要是傳統(tǒng)的TCP丟包重傳,加性增,乘性減等機(jī)制會(huì)導(dǎo)致嚴(yán)重的性能問題,在高速網(wǎng)絡(luò)中傳輸速率很不穩(wěn)定,很容易造成帶寬的浪費(fèi)。例如,TCP利用丟包作為網(wǎng)絡(luò)擁塞的指示,一旦丟包,則之前的傳送的包都要重新傳送,導(dǎo)致不能實(shí)際帶寬降低。另外TCP在高速網(wǎng)絡(luò)中調(diào)整窗口的方式會(huì)引起網(wǎng)絡(luò)傳輸?shù)牟环€(wěn)定,從而導(dǎo)致不可避免的振動(dòng)。因此在高帶寬網(wǎng)絡(luò)中傳輸協(xié)議需要具有很快的響應(yīng)特性,同時(shí)又不能造成振蕩,這些要求給設(shè)計(jì)新的算法帶來(lái)了很大的困難。廣域網(wǎng)傳輸具有高延遲、高丟包率的特性,傳輸效率較低。行之有效的方法是增大網(wǎng)絡(luò)帶寬,修改協(xié)議棧,設(shè)置緩存,數(shù)據(jù)壓縮后再傳輸?shù)龋涌鞌?shù)據(jù)傳輸效率。其中,對(duì)傳輸數(shù)據(jù)先壓縮再傳輸?shù)姆绞胶芮泻蠈?shí)際且很有必要。目前應(yīng)用到網(wǎng)絡(luò)的上的壓縮算法一般是自適應(yīng)的無(wú)損壓縮算法,如gzip、透明數(shù)據(jù)壓縮(TDR)、分子序列壓縮(MSR)等,這些算法被用在廣域網(wǎng)加速方案中,在一定程度上提高了網(wǎng)絡(luò)的傳輸效率。在高帶寬延遲積的網(wǎng)絡(luò)中,丟包是不可避免。傳統(tǒng)LZ算法中,在解壓時(shí)需要局部的全局字典,如果即將解壓縮的數(shù)據(jù)的相鄰前面一部分?jǐn)?shù)據(jù)因?yàn)闀r(shí)延或是丟包沒有到達(dá),則收到的這段數(shù)據(jù)是不能解壓的,必須要等到它之前的所有數(shù)據(jù)解壓完才能開始這段數(shù)據(jù)的解壓工作,實(shí)質(zhì)上,在等待丟失的數(shù)據(jù)時(shí)間段內(nèi),解壓程序是不能做任何工作的??梢?,當(dāng)發(fā)生丟包時(shí),已接收到的數(shù)據(jù)包不能得到及時(shí)解壓,嚴(yán)重影響了解壓端的解壓速度,造成系統(tǒng)資源浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例中提供了一種數(shù)據(jù)壓縮、解壓縮方法及裝置,以提高數(shù)據(jù)壓縮以及解壓縮的效率。為了解決上述技術(shù)問題,本發(fā)明實(shí)施例公開了如下技術(shù)方案:一方面,提供一種數(shù)據(jù)壓縮方法,包括:接收待壓縮的第一數(shù)據(jù)包;利用第一參照字典對(duì)所述第一數(shù)據(jù)包進(jìn)行壓縮,形成第一壓縮數(shù)據(jù)包,所述第一參照字典對(duì)應(yīng)所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。結(jié)合上述一方面,在第一種可能的實(shí)現(xiàn)方式中,還包括:利用所述第一參照字典對(duì)所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包進(jìn)行壓縮,壓縮后的數(shù)據(jù)包攜帶所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。結(jié)合上述一方面,和/或第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,還包括:接收所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外的第二數(shù)據(jù)包;利用第二參照字典對(duì)所述第二數(shù)據(jù)包進(jìn)行壓縮,形成第二壓縮數(shù)據(jù)包,所述第二參照字典對(duì)應(yīng)所述第二數(shù)據(jù)包之前與所述第二數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。另一方面,提供一種數(shù)據(jù)解壓縮方法,包括:接收第一壓縮數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶壓縮所用的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第一參照字典對(duì)應(yīng)壓縮端接收所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包;利用所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第一參照字典,利用所述第一參照字典對(duì)所述第一壓縮數(shù)據(jù)包進(jìn)行解壓縮,獲得第一數(shù)據(jù)。結(jié)合上述另一方面,在第一種可能的實(shí)現(xiàn)方式中,所述第一壓縮數(shù)據(jù)包之后,還包括:判斷所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包是否完整,如果不存在,則將所述第一壓縮數(shù)據(jù)包放入待解壓縮隊(duì)列,進(jìn)行其他滿足構(gòu)建相應(yīng)參照字典的壓縮數(shù)據(jù)包的解壓縮,待所述第一參照字典包含的數(shù)據(jù)全部傳輸完畢之后觸發(fā)所述第一壓縮數(shù)據(jù)包的解壓縮步驟。結(jié)合上述另一方面,在第二種可能的實(shí)現(xiàn)方式中,還包括:接收第二壓縮數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶壓縮所用的第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第二壓縮數(shù)據(jù)包由壓縮所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外數(shù)據(jù)包形成;利用所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第二參照字典,利用所述第二參照字典對(duì)所述第二壓縮數(shù)據(jù)包進(jìn)行壓縮,獲得第二數(shù)據(jù)包。再一方面,提供一種數(shù)據(jù)壓縮裝置,包括:第一接收模塊,用于接收待壓縮的第一數(shù)據(jù)包;第一壓縮模塊,用于利用第一參照字典對(duì)所述第一數(shù)據(jù)包進(jìn)行壓縮,形成第一壓縮數(shù)據(jù)包,所述第一參照字典對(duì)應(yīng)所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。結(jié)合上述再一方面,在第一種可能的實(shí)現(xiàn)方式中,還包括:第二壓縮模塊,用于利用所述第一參照字典對(duì)所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包進(jìn)行壓縮。結(jié)合上述再一方面,在第二種可能的實(shí)現(xiàn)方式中,還包括:第二接收模塊,用于接收所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外的第二數(shù)據(jù)包;第三壓縮模塊,用于利用第二參照字典對(duì)所述第二數(shù)據(jù)包進(jìn)行壓縮,形成第二壓縮數(shù)據(jù)包,所述第二參照字典對(duì)應(yīng)所述第二數(shù)據(jù)包之前與所述第二數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。又一方面,提供一種數(shù)據(jù)解壓縮裝置,包括:第一解壓接收模塊,用于接收第一壓縮數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶壓縮所用的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第一參照字典對(duì)應(yīng)壓縮端接收所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包;第一解壓縮模塊,用于利用所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第一參照字典,利用所述第一參照字典對(duì)所述第一壓縮數(shù)據(jù)包進(jìn)行解壓縮,獲得第一數(shù)據(jù)包。結(jié)合上述又一方面,在第一種可能的實(shí)現(xiàn)方式中,還包括:判斷模塊,用于判斷所述第一參照字典包含的數(shù)據(jù)包是否完整,如果不存在,則觸發(fā)等待模塊;所述等待模塊,用于將所述第一壓縮數(shù)據(jù)包放入待解壓縮隊(duì)列,進(jìn)行其他滿足構(gòu)建相應(yīng)參照字典的壓縮數(shù)據(jù)包的解壓縮,待所述第一參照字典包含的數(shù)據(jù)全部傳輸完畢之后觸發(fā)所述第一壓縮數(shù)據(jù)包的解壓縮步驟。結(jié)合上述又一方面,在第二種可能的實(shí)現(xiàn)方式中,還包括:第二解壓接收模塊,用于接收第二壓縮數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶壓縮所用的第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第二壓縮數(shù)據(jù)包由壓縮所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外數(shù)據(jù)包形成;第二解壓縮模塊,用于利用所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第二參照字典,利用所述第二參照字典對(duì)所述第二壓縮數(shù)據(jù)包進(jìn)行壓縮,獲得第二數(shù)據(jù)包。本發(fā)明實(shí)施例中,壓縮端在進(jìn)行數(shù)據(jù)壓縮時(shí),采用跳躍壓縮,針對(duì)待壓縮的第一數(shù)據(jù)包,構(gòu)建局部字典,根據(jù)局部字典對(duì)待壓縮的第一數(shù)據(jù)包進(jìn)行壓縮處理,其中,該局部字典為所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,從而提高壓縮端的壓縮速率;對(duì)于解壓縮端,相應(yīng)地利用壓縮端所應(yīng)用的局部字典,對(duì)接收到的經(jīng)過壓縮的第一數(shù)據(jù)進(jìn)行解壓縮處理,由于解壓縮過程中采用的是局部字典,使得解壓縮并不依賴最近得到的數(shù)據(jù)包,從而可以避免因丟包重傳而導(dǎo)致的解壓縮等待,提高解壓縮端的解壓縮速率。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,對(duì)于本領(lǐng)域普通技術(shù)人員而言,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明提供的一個(gè)數(shù)據(jù)壓縮方法實(shí)施例的流程圖;圖2為本發(fā)明提供的另一個(gè)數(shù)據(jù)壓縮方法實(shí)施例的流程圖;圖3為本發(fā)明提供的又一個(gè)數(shù)據(jù)壓縮方法實(shí)施例的流程圖;圖4為本發(fā)明實(shí)施例中壓縮數(shù)據(jù)的示意圖;圖5為本發(fā)明提供的壓縮場(chǎng)景圖;圖6為本發(fā)明提供的一個(gè)數(shù)據(jù)解壓縮方法實(shí)施例流程圖;圖7為本發(fā)明提供的另一個(gè)數(shù)據(jù)解壓縮方法實(shí)施例流程圖;圖8為本發(fā)明提供的又一個(gè)數(shù)據(jù)解壓縮方法實(shí)施例流程圖;圖9為本發(fā)明提供的再一個(gè)數(shù)據(jù)解壓縮方法實(shí)施例流程圖;圖10為本發(fā)明提供的一種數(shù)據(jù)壓縮裝置實(shí)施例結(jié)構(gòu)圖;圖11為本發(fā)明提供的另一種數(shù)據(jù)壓縮裝置實(shí)施例結(jié)構(gòu)圖:圖12為本發(fā)明提供的又一種數(shù)據(jù)壓縮裝置實(shí)施例結(jié)構(gòu)圖:圖13為本發(fā)明提供的一種數(shù)據(jù)解壓縮裝置實(shí)施例結(jié)構(gòu)圖:圖14為本發(fā)明提供的另一種數(shù)據(jù)解壓縮裝置實(shí)施例結(jié)構(gòu)圖:圖15為本發(fā)明提供的又一種數(shù)據(jù)壓縮裝置實(shí)施例結(jié)構(gòu)圖:圖16為本發(fā)明提供的再一種數(shù)據(jù)壓縮裝置實(shí)施例結(jié)構(gòu)圖。具體實(shí)施方式為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中技術(shù)方案作進(jìn)一步詳細(xì)的說明。參見圖1,為本發(fā)明提供的一個(gè)數(shù)據(jù)壓縮方法實(shí)施例的流程,具體可以包括:步驟101、接收待壓縮的第一數(shù)據(jù)包;步驟102、利用第一參照字典對(duì)所述第一數(shù)據(jù)包進(jìn)行壓縮,形成第一壓縮數(shù)據(jù)包,所述第一參照字典對(duì)應(yīng)所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。該步驟中,參照字典為壓縮數(shù)據(jù)時(shí)提供重復(fù)數(shù)據(jù)查詢的數(shù)據(jù)庫(kù)。針對(duì)第一數(shù)據(jù)包構(gòu)建的第一參照字典具體為:壓縮所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包。本領(lǐng)域技術(shù)人員應(yīng)該理解的是,在構(gòu)建參照字典的過程中,對(duì)參照字典對(duì)應(yīng)的連續(xù)數(shù)據(jù)包進(jìn)行壓縮時(shí),仍需要壓縮該段連續(xù)數(shù)據(jù)包之前的其他連續(xù)數(shù)據(jù)包作為當(dāng)次構(gòu)建參照字典時(shí)壓縮操作所需的參照字典??梢姡景l(fā)明實(shí)施例中,參照字典的構(gòu)建依賴于當(dāng)前待壓縮數(shù)據(jù)包之前傳輸?shù)念A(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,并且,這部分連續(xù)數(shù)據(jù)包與當(dāng)前待壓縮的數(shù)據(jù)包存在一定的間隔,為跳躍壓縮。此外,本發(fā)明實(shí)施例中,所述第一壓縮數(shù)據(jù)包攜帶所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。具體實(shí)施時(shí),可以在利用參照字典完成壓縮的數(shù)據(jù)包中攜帶一個(gè)頭部信息塊,通過該信息塊詳細(xì)記錄該壓縮數(shù)據(jù)包的相關(guān)壓縮信息,為解壓數(shù)據(jù)包提供依據(jù)。所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息至少應(yīng)包括:第一參照字典由何數(shù)據(jù)壓縮獲得。例如:頭部信息塊包含的信息可以如下面表1所示。表1頭部信息塊包含的信息表1中各個(gè)參數(shù)的物理含義如下:分塊編號(hào):壓縮數(shù)據(jù)包在整個(gè)壓縮流中的分塊編號(hào);數(shù)據(jù)分塊相對(duì)起始地址:數(shù)據(jù)分塊(即待壓縮數(shù)據(jù)包)在當(dāng)前數(shù)據(jù)流的起始地址;數(shù)據(jù)分塊相對(duì)結(jié)束地址:數(shù)據(jù)分塊在當(dāng)前數(shù)據(jù)流的結(jié)束地址;壓縮數(shù)據(jù)包長(zhǎng)度:該壓縮數(shù)據(jù)包的有效長(zhǎng)度。本發(fā)明實(shí)施例中,壓縮端在進(jìn)行數(shù)據(jù)壓縮時(shí),采用跳躍壓縮,針對(duì)待壓縮的第一數(shù)據(jù)包,構(gòu)建局部字典,根據(jù)局部字典對(duì)待壓縮的第一數(shù)據(jù)包進(jìn)行壓縮處理,其中,該局部字典為所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,從而提高壓縮端的壓縮速率;由此,對(duì)于解壓縮端,相應(yīng)地利用壓縮端所應(yīng)用的局部字典,對(duì)接收到的經(jīng)過壓縮的第一數(shù)據(jù)進(jìn)行解壓縮處理,由于解壓縮過程中采用的是局部字典,使得解壓縮并不依賴最近得到的數(shù)據(jù)包,從而可以避免因丟包重傳而導(dǎo)致的解壓縮等待,提高解壓縮端的解壓縮速率。具體實(shí)施過程中,如果針對(duì)每一個(gè)待壓縮的數(shù)據(jù)包構(gòu)建參照字典,則需要耗費(fèi)大量的時(shí)間用于構(gòu)建參照字典,因此,壓縮速率會(huì)大大降低。為了解決這一問題,在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,可以設(shè)置多個(gè)數(shù)據(jù)包應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮。由此,如圖2所示,圖1所示實(shí)施例中還可以包括以下執(zhí)行步驟:步驟103、利用所述第一參照字典對(duì)所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包進(jìn)行壓縮,壓縮后的數(shù)據(jù)包攜帶所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。該實(shí)施例中,壓縮端利用第一參照字典對(duì)在第一數(shù)據(jù)包之后接收到的預(yù)置長(zhǎng)度內(nèi)的多個(gè)數(shù)據(jù)包進(jìn)行壓縮處理。每個(gè)利用第一參照字典進(jìn)行壓縮后的數(shù)據(jù)包均需要攜帶第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。由于多個(gè)數(shù)據(jù)包應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮,使得壓縮多個(gè)數(shù)據(jù)塊之后才需要更新一次參照字典,從而使得壓縮數(shù)據(jù)的速率大大提高。圖3所示為本發(fā)明提供的另一個(gè)數(shù)據(jù)壓縮方法實(shí)施例,同圖1所示實(shí)施例相比,該實(shí)施例中,還包括以下執(zhí)行步驟:步驟104、接收所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外的第二數(shù)據(jù)包;步驟105、利用第二參照字典對(duì)所述第二數(shù)據(jù)包進(jìn)行壓縮,形成第二壓縮數(shù)據(jù)包,所述第二參照字典對(duì)應(yīng)所述第二數(shù)據(jù)包之前與所述第二數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。該實(shí)施例中,當(dāng)對(duì)所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包完成壓縮處理時(shí),需要更新參照字典。更新字典的主要目的之一是,除去字典中陳舊的數(shù)據(jù),該部分?jǐn)?shù)據(jù)對(duì)于當(dāng)前壓縮數(shù)據(jù)重復(fù)檢測(cè)率較低,屬于“冷數(shù)據(jù)”,因而不能提高數(shù)據(jù)壓縮率。具體地,如果當(dāng)前待壓縮數(shù)據(jù)包的編號(hào)與構(gòu)成參照字典的最大數(shù)據(jù)分塊編號(hào)之差大于預(yù)置間隔長(zhǎng)度時(shí)更新字典,即將緊鄰第一參照字典的連續(xù)數(shù)據(jù)分塊添加到字典中。具體地,對(duì)于所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外的第二數(shù)據(jù)包,壓縮所依據(jù)的第二參照字典對(duì)應(yīng)所述第二數(shù)據(jù)包之前與所述第二數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包。將所述第二數(shù)據(jù)包之前與所述第二數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包進(jìn)行壓縮,即完成第二參照字典的構(gòu)建。同第一參照字典相類似,可以利用所述第二參照字典對(duì)所述第二數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包進(jìn)行壓縮,從而使得壓縮的速率大大提高。需要說明的是,在確定參照字典對(duì)應(yīng)的數(shù)據(jù)包時(shí),應(yīng)盡量選擇距離當(dāng)前待壓縮數(shù)據(jù)包較遠(yuǎn)的數(shù)據(jù)包。這是由于,壓縮端在接收壓縮數(shù)據(jù)包的過程中,由于傳輸網(wǎng)絡(luò)原因,可能發(fā)生數(shù)據(jù)包丟失的情形,當(dāng)發(fā)生數(shù)據(jù)包丟失的情形之后,丟失的數(shù)據(jù)包會(huì)進(jìn)行重傳。由此,如果選取距離當(dāng)前待壓縮數(shù)據(jù)包較近的數(shù)據(jù)包,當(dāng)發(fā)生數(shù)據(jù)包丟失時(shí),壓縮端需要耗費(fèi)時(shí)間等待丟失數(shù)據(jù)包的重傳,無(wú)法完成當(dāng)前數(shù)據(jù)包的壓縮。而如果選取距離當(dāng)前待壓縮數(shù)據(jù)包較遠(yuǎn)的數(shù)據(jù)包,即使發(fā)生數(shù)據(jù)包丟失,丟失的數(shù)據(jù)包在重傳的過程中,對(duì)當(dāng)前待壓縮數(shù)據(jù)包的壓縮操作還未開始,當(dāng)輪到當(dāng)前數(shù)據(jù)包進(jìn)行壓縮時(shí),丟失的數(shù)據(jù)包已經(jīng)重傳完畢,因此,不會(huì)影響對(duì)當(dāng)前數(shù)據(jù)的壓縮,大大節(jié)省了壓縮時(shí)間。為了便于對(duì)本發(fā)明技術(shù)方案的理解,下面通過具體實(shí)施方式,對(duì)本發(fā)明技術(shù)方案進(jìn)行詳細(xì)說明。首先,假設(shè)在確定參照字典的過程中,參照字典中包含的最后一個(gè)數(shù)據(jù)塊與待壓縮的數(shù)據(jù)包之間間隔有m個(gè)數(shù)據(jù)包,參照字典中包含的第一個(gè)數(shù)據(jù)塊與待壓縮的數(shù)據(jù)包之間間隔有(m+n)個(gè)數(shù)據(jù)包,參照字典中包含n個(gè)數(shù)據(jù)包,此外,假設(shè)x個(gè)連續(xù)的待壓縮數(shù)據(jù)包應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮。其中,m、n和x均為自然數(shù)。壓縮算法為L(zhǎng)Z算法,解壓縮算法為DTLZ算法。圖4所示為本發(fā)明實(shí)施例中壓縮數(shù)據(jù)的示意圖。其中,滑動(dòng)窗口指壓縮數(shù)據(jù)包時(shí)參照字典對(duì)應(yīng)的數(shù)據(jù)塊集合。當(dāng)正在壓縮的數(shù)據(jù)包為第i個(gè)數(shù)據(jù)包時(shí),將其之前第(i-m-n)個(gè)數(shù)據(jù)包開始至(i-n)個(gè)數(shù)據(jù)包為止的n個(gè)數(shù)據(jù)包進(jìn)行壓縮,壓縮之后的數(shù)據(jù)壓縮包作為參照字典,即完成參照字典的構(gòu)建。本發(fā)明實(shí)施例中,參照字典一旦建立,則在一段時(shí)間內(nèi)不再更新,即:從正在壓縮的數(shù)據(jù)包開始的x個(gè)數(shù)據(jù)包均應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮。參見圖5所示的壓縮場(chǎng)景,對(duì)于data7這段數(shù)據(jù),可以將data1至data5進(jìn)行壓縮,將壓縮之后的數(shù)據(jù)包作為壓縮data7時(shí)的參照字典,對(duì)data7進(jìn)行壓縮,當(dāng)data7數(shù)據(jù)壓縮到一定時(shí)候,即輸出壓縮后的數(shù)據(jù),此時(shí)輸出的數(shù)據(jù)具有如下表2的格式。表2壓縮數(shù)據(jù)格式表2中各個(gè)參數(shù)的物理含義如下:塊序號(hào):壓縮數(shù)據(jù)包在整個(gè)壓縮流中的分塊編號(hào);數(shù)據(jù)分塊相對(duì)起始地址:數(shù)據(jù)分塊在當(dāng)前數(shù)據(jù)流的起始地址;數(shù)據(jù)分塊相對(duì)結(jié)束地址:數(shù)據(jù)分塊在當(dāng)前數(shù)據(jù)流的結(jié)束地址;壓縮數(shù)據(jù)包長(zhǎng)度:該壓縮數(shù)據(jù)包的有效長(zhǎng)度;所屬流塊:當(dāng)前數(shù)據(jù)分塊屬于哪個(gè)數(shù)據(jù)流的編號(hào),通常,一個(gè)數(shù)據(jù)文件形成一個(gè)數(shù)據(jù)流;壓縮后的數(shù)據(jù):壓縮數(shù)據(jù)包的正文內(nèi)容。對(duì)于單個(gè)文件的壓縮不需要添加所屬流塊標(biāo)識(shí),整個(gè)壓縮工作只針對(duì)同一個(gè)數(shù)據(jù)流操作。而對(duì)多個(gè)文件壓縮傳輸時(shí),由于文件數(shù)目多,體積大,使得塊頭信息(如:塊序號(hào))超出計(jì)算機(jī)所能表示的范圍。因而,需要對(duì)每個(gè)文件所形成的數(shù)據(jù)流加以編號(hào)。在解壓縮時(shí),只需獲取數(shù)據(jù)分塊的流塊標(biāo)識(shí),即可正確地對(duì)壓縮塊進(jìn)行解壓縮;否則,數(shù)據(jù)解壓縮可能產(chǎn)生錯(cuò)誤。其中,塊序號(hào)表示data7這段數(shù)據(jù)壓縮后的序號(hào),塊長(zhǎng)度表示壓縮后數(shù)據(jù)的實(shí)際長(zhǎng)度,通過“數(shù)據(jù)分塊相對(duì)起始地址”和“數(shù)據(jù)分塊相對(duì)結(jié)束地址”攜帶參照字典對(duì)應(yīng)的數(shù)據(jù)包的范圍。由此,當(dāng)解壓縮端接收到data7對(duì)應(yīng)的壓縮數(shù)據(jù)包之后,根據(jù)壓縮數(shù)據(jù)包攜帶的參照字典信息,即:data1到dat5的序號(hào)獲知,如果要解壓這段數(shù)據(jù),只需要接收到data2到data5這幾個(gè)數(shù)據(jù)包即可構(gòu)建參照字典,進(jìn)而進(jìn)行解壓縮操作??梢栽O(shè)置data7之后data8到data10均利用壓縮data7所用的參照字典。因此,每壓縮完一個(gè)數(shù)據(jù)包,DTLZ算法檢測(cè)是否需要更新參照字典,檢測(cè)方法即判斷接收到的壓縮數(shù)據(jù)包中攜帶的參照字典信息是否發(fā)生變化。如果參照字典不需要更新,則直接利用已構(gòu)建的參照字典對(duì)下一個(gè)數(shù)據(jù)包進(jìn)行壓縮處理;否則,根據(jù)新的參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,構(gòu)建新的參照字典。對(duì)于連續(xù)的待壓縮數(shù)據(jù)包應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮的情形,如果當(dāng)前壓縮所需參照字典對(duì)應(yīng)的數(shù)據(jù)包范圍與前一壓縮數(shù)據(jù)包所需參照字典對(duì)應(yīng)的數(shù)據(jù)包范圍一樣,則不需要更新參照字典;否則,將所需參照字典進(jìn)行更新之后,再進(jìn)行壓縮處理。例如:上一進(jìn)行壓縮的數(shù)據(jù)包的包序是X,壓縮該數(shù)據(jù)包利用的參照字典對(duì)應(yīng)的數(shù)據(jù)包范圍是[X-m-n,X-n],對(duì)該數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包進(jìn)行壓縮時(shí),如果當(dāng)前壓縮所需的參照字典對(duì)應(yīng)的數(shù)據(jù)包范圍也是[X-m-n,X-n],則不需要更新參照字典;否則,需要更新參照字典,使得當(dāng)前數(shù)據(jù)包的參照字典和之前數(shù)據(jù)包的參照字典一致。通過設(shè)置連續(xù)的待壓縮數(shù)據(jù)包應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮,減少字典更新次數(shù),整體上提高壓縮速度。與本發(fā)明提供的壓縮方法實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了一種數(shù)據(jù)解壓縮方法。如圖6所示,為本發(fā)明提供的一個(gè)數(shù)據(jù)解壓縮方法實(shí)施例流程,可以包括以下執(zhí)行步驟:步驟601、接收第一壓縮數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶壓縮所用的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第一參照字典對(duì)應(yīng)壓縮端接收所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包;該步驟中,第一壓縮數(shù)據(jù)包中攜帶壓縮所用的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,由此,解壓縮端根據(jù)該信息即可獲得壓縮時(shí)所用的參照字典。步驟602、利用所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第一參照字典,利用所述第一參照字典對(duì)所述第一壓縮數(shù)據(jù)包進(jìn)行解壓縮,獲得第一數(shù)據(jù)包。該步驟中,解壓縮端進(jìn)行壓縮端壓縮算法的逆操作,根據(jù)第一壓縮數(shù)據(jù)包中攜帶的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,利用相關(guān)數(shù)據(jù)包構(gòu)建所述第一參照字典,進(jìn)而完成對(duì)第一壓縮數(shù)據(jù)包的解壓縮,獲得第一數(shù)據(jù)包。本發(fā)明實(shí)施例中,由于壓縮端在進(jìn)行數(shù)據(jù)壓縮時(shí),采用跳躍壓縮,針對(duì)待壓縮的第一數(shù)據(jù)包,構(gòu)建局部字典,根據(jù)局部字典對(duì)待壓縮的第一數(shù)據(jù)包進(jìn)行壓縮處理,其中,該局部字典為所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包。由此,對(duì)于解壓縮端,相應(yīng)地利用壓縮端所應(yīng)用的局部字典,對(duì)接收到的經(jīng)過壓縮的第一數(shù)據(jù)進(jìn)行解壓縮處理,由于解壓縮過程中采用的是局部字典,使得解壓縮并不依賴最近得到的數(shù)據(jù)包,從而可以避免因丟包重傳而導(dǎo)致的解壓縮等待,提高解壓縮端的解壓縮速率。由于傳輸網(wǎng)絡(luò)原因,在壓縮端向解壓縮端傳輸壓縮數(shù)據(jù)包的過程中,可能發(fā)生數(shù)據(jù)包丟失的情形。這樣,當(dāng)解壓縮端在構(gòu)建本次解壓縮所需的參照字典時(shí),可能包含所需數(shù)據(jù)包的壓縮包還未到達(dá),因此,無(wú)法進(jìn)行本次的解壓縮操作。為了解決這一問題,在本發(fā)明提供的另一個(gè)實(shí)施例中,如圖7所示,解壓縮數(shù)據(jù)的流程具體為:步驟701、接收第一壓縮數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶壓縮所用的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第一參照字典對(duì)應(yīng)壓縮端接收所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包。步驟703、判斷所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包是否完整,如果不完整,則繼續(xù)步驟704;否則,繼續(xù)步驟702。步驟704、將所述第一壓縮數(shù)據(jù)包放入待解壓縮隊(duì)列,進(jìn)行其他滿足構(gòu)建相應(yīng)參照字典的壓縮數(shù)據(jù)包的解壓縮,等待所述第一參照字典包含的數(shù)據(jù)全部傳輸完畢之后,繼續(xù)步驟702。步驟702、利用所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第一參照字典,利用所述第一參照字典對(duì)所述第一壓縮數(shù)據(jù)包進(jìn)行解壓縮,獲得第一數(shù)據(jù)包。該實(shí)施例中,當(dāng)解壓縮端接收到通過網(wǎng)絡(luò)傳輸?shù)牡谝粔嚎s數(shù)據(jù)包后,需要根據(jù)第一壓縮數(shù)據(jù)包中攜帶的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,判斷所需要的數(shù)據(jù)包是否完整,如果已經(jīng)完整,即可構(gòu)建第一參照字典,進(jìn)行解壓縮操作;否則,將所述數(shù)據(jù)包放入待解壓隊(duì)列,而進(jìn)行其他滿足構(gòu)建相應(yīng)參照字典的壓縮數(shù)據(jù)包的解壓縮操作,等待所述第一參照字典包含的數(shù)據(jù)全部傳輸完畢之后才進(jìn)行解壓。例如,假設(shè)正在解壓縮的數(shù)據(jù)包為dataX,由于其解壓縮所需的參照字典對(duì)應(yīng)的數(shù)據(jù)包已經(jīng)完整,因此,可以對(duì)dataX進(jìn)行解壓縮操作。解壓縮完成后,DTLZ從待解壓隊(duì)列中取出一個(gè)數(shù)據(jù)包,查看其解壓所需的參照字典對(duì)應(yīng)的數(shù)據(jù)包是否完整,如果不完整,則再次放回到隊(duì)列中,等待下一次的查詢。由于解壓縮所應(yīng)用的DTLZ是亂序容忍的算法,因此,解壓縮端后接受到的數(shù)據(jù)包有可能先得到解壓縮,從而不會(huì)頻繁出現(xiàn)等待解壓縮的情況,使得解壓縮的速率大大提高。如圖8和圖9所示,為本發(fā)明提供的另外兩種數(shù)據(jù)解壓縮的實(shí)施例。同圖6和圖7所示實(shí)施例相比,這兩種實(shí)施例中增加執(zhí)行了如下步驟:步驟603(705)、接收第二壓縮數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶壓縮所用的第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第二壓縮數(shù)據(jù)包由壓縮所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外數(shù)據(jù)包形成;步驟604(706)、利用所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第二參照字典,利用所述第二參照字典對(duì)所述第二壓縮數(shù)據(jù)包進(jìn)行壓縮,獲得第二數(shù)據(jù)包。上述實(shí)施例中,壓縮端在壓縮第二數(shù)據(jù)包時(shí),可能采用不同于第一參照字典的第二參照字典。當(dāng)解壓縮端接收第二壓縮數(shù)據(jù)包時(shí),根據(jù)所述第二壓縮數(shù)據(jù)包攜帶的第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,獲知第二參照字典對(duì)應(yīng)的數(shù)據(jù)包不同于當(dāng)前已經(jīng)構(gòu)建的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包,因此,需要更新參照字典。此時(shí),利用所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建第二參照字典,進(jìn)而,利用第二參照字典完成對(duì)第二解壓縮數(shù)據(jù)包的解壓縮,獲得第二數(shù)據(jù)包。與本發(fā)明提供的數(shù)據(jù)壓縮方法實(shí)施例相對(duì)應(yīng),本發(fā)明還提供了一種數(shù)據(jù)壓縮裝置。如圖10所示,為本發(fā)明提供的一種數(shù)據(jù)壓縮裝置的實(shí)施例,該裝置具體可以包括:第一接收模塊1001,用于接收待壓縮的第一數(shù)據(jù)包;第一壓縮模塊1002,用于利用第一參照字典對(duì)所述第一數(shù)據(jù)包進(jìn)行壓縮,形成第一壓縮數(shù)據(jù)包,所述第一參照字典對(duì)應(yīng)所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。本發(fā)明實(shí)施例中,數(shù)據(jù)壓縮裝置在進(jìn)行數(shù)據(jù)壓縮時(shí),第一壓縮模塊1002采用跳躍壓縮,針對(duì)待壓縮的第一數(shù)據(jù)包,構(gòu)建局部字典,根據(jù)局部字典對(duì)待壓縮的第一數(shù)據(jù)包進(jìn)行壓縮處理,其中,該局部字典為所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,從而提高壓縮端的壓縮速率;由此,對(duì)于解壓縮端,相應(yīng)地利用壓縮端所應(yīng)用的局部字典,對(duì)接收到的經(jīng)過壓縮的第一數(shù)據(jù)進(jìn)行解壓縮處理,由于解壓縮過程中采用的是局部字典,使得解壓縮并不依賴最近得到的數(shù)據(jù)包,從而可以避免因丟包重傳而導(dǎo)致的解壓縮等待,提高解壓縮端的解壓縮速率。具體實(shí)施過程中,如果針對(duì)每一個(gè)待壓縮的數(shù)據(jù)包構(gòu)建參照字典,則需要耗費(fèi)大量的時(shí)間用于構(gòu)建參照字典,因此,壓縮速率會(huì)大大降低。為了解決這一問題,在本發(fā)明的一個(gè)優(yōu)選實(shí)施例中,可以設(shè)置多個(gè)數(shù)據(jù)包應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮。如圖11所示,該數(shù)據(jù)壓縮裝置的實(shí)施例中,還包括:第二壓縮模塊1003,用于利用所述第一參照字典對(duì)所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包進(jìn)行壓縮。該實(shí)施例中,第二壓縮模塊1003利用第一參照字典對(duì)在第一數(shù)據(jù)包之后接收到的預(yù)置長(zhǎng)度內(nèi)的多個(gè)數(shù)據(jù)包進(jìn)行壓縮處理。每個(gè)利用第一參照字典進(jìn)行壓縮后的數(shù)據(jù)包均需要攜帶第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。由于多個(gè)數(shù)據(jù)包應(yīng)用同一個(gè)參照字典進(jìn)行數(shù)據(jù)壓縮,使得壓縮多個(gè)數(shù)據(jù)塊之后才需要更新一次參照字典,從而該數(shù)據(jù)壓縮裝置使得壓縮數(shù)據(jù)的速率大大提高。在本發(fā)明提供的又一個(gè)數(shù)據(jù)壓縮裝置實(shí)施例中,如圖12所示,還可以包括:第二接收模塊1004,用于接收所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外的第二數(shù)據(jù)包;第三壓縮模塊1005,用于利用第二參照字典對(duì)所述第二數(shù)據(jù)包進(jìn)行壓縮,形成第二壓縮數(shù)據(jù)包,所述第二參照字典對(duì)應(yīng)所述第二數(shù)據(jù)包之前與所述第二數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息。該實(shí)施例中,當(dāng)對(duì)所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之內(nèi)的數(shù)據(jù)包完成壓縮處理時(shí),需要更新參照字典。具體地,對(duì)于所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外的第二數(shù)據(jù)包,壓縮所依據(jù)的第二參照字典對(duì)應(yīng)所述第二數(shù)據(jù)包之前與所述第二數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包。因此,通過第三壓縮模塊1005,利用第二參照字典對(duì)所述第二數(shù)據(jù)包進(jìn)行壓縮,形成第二壓縮數(shù)據(jù)包。需要說明的是,在確定參照字典對(duì)應(yīng)的數(shù)據(jù)包時(shí),應(yīng)盡量選擇距離當(dāng)前待壓縮數(shù)據(jù)包較遠(yuǎn)的數(shù)據(jù)包。這是由于,數(shù)據(jù)壓縮裝置在接收壓縮數(shù)據(jù)包的過程中,由于傳輸網(wǎng)絡(luò)原因,可能發(fā)生數(shù)據(jù)包丟失的情形,當(dāng)發(fā)生數(shù)據(jù)包丟失的情形之后,丟失的數(shù)據(jù)包會(huì)進(jìn)行重傳。由此,如果選取距離當(dāng)前待壓縮數(shù)據(jù)包較近的數(shù)據(jù)包,當(dāng)發(fā)生數(shù)據(jù)包丟失時(shí),壓縮端需要耗費(fèi)時(shí)間等待丟失數(shù)據(jù)包的重傳,無(wú)法完成當(dāng)前數(shù)據(jù)包的壓縮。而如果選取距離當(dāng)前待壓縮數(shù)據(jù)包較遠(yuǎn)的數(shù)據(jù)包,即使發(fā)生數(shù)據(jù)包丟失,丟失的數(shù)據(jù)包在重傳的過程中,對(duì)當(dāng)前待壓縮數(shù)據(jù)包的壓縮操作還未開始,當(dāng)輪到當(dāng)前數(shù)據(jù)包進(jìn)行壓縮時(shí),丟失的數(shù)據(jù)包已經(jīng)重傳完畢,因此,不會(huì)影響對(duì)當(dāng)前數(shù)據(jù)的壓縮,大大節(jié)省了壓縮時(shí)間。相應(yīng)上述數(shù)據(jù)壓縮裝置,本發(fā)明還提供了一種數(shù)據(jù)解壓縮裝置。如圖13所示,為本發(fā)明提供的一種數(shù)據(jù)解壓縮裝置實(shí)施例,該裝置具體可以包括:第一解壓接收模塊1301,用于接收第一壓縮數(shù)據(jù)包,所述第一壓縮數(shù)據(jù)包攜帶壓縮所用的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第一參照字典對(duì)應(yīng)壓縮端接收所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包;第一解壓縮模塊1302,用于利用所述第一參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第一參照字典,利用所述第一參照字典對(duì)所述第一壓縮數(shù)據(jù)包進(jìn)行解壓縮,獲得第一數(shù)據(jù)包。該實(shí)施例中,由于壓縮端在進(jìn)行數(shù)據(jù)壓縮時(shí),采用跳躍壓縮,針對(duì)待壓縮的第一數(shù)據(jù)包,構(gòu)建局部字典,根據(jù)局部字典對(duì)待壓縮的第一數(shù)據(jù)包進(jìn)行壓縮處理,其中,該局部字典為所述第一數(shù)據(jù)包之前與所述第一數(shù)據(jù)包存在間隔的預(yù)置長(zhǎng)度的連續(xù)數(shù)據(jù)包。由此,對(duì)于解壓縮裝置,相應(yīng)地利用壓縮端所應(yīng)用的局部字典,對(duì)接收到的經(jīng)過壓縮的第一數(shù)據(jù)進(jìn)行解壓縮處理,由于解壓縮過程中采用的是局部字典,使得解壓縮并不依賴最近得到的數(shù)據(jù)包,從而可以避免因丟包重傳而導(dǎo)致的解壓縮等待,提高解壓縮端的解壓縮速率。由于傳輸網(wǎng)絡(luò)原因,在壓縮端向解壓縮端傳輸壓縮數(shù)據(jù)包的過程中,可能發(fā)生數(shù)據(jù)包丟失的情形。這樣,當(dāng)解壓縮端在構(gòu)建本次解壓縮所需的參照字典時(shí),可能包含所需數(shù)據(jù)包的壓縮包還未到達(dá),因此,無(wú)法進(jìn)行本次的解壓縮操作。為了解決這一問題,在本發(fā)明提供的另一個(gè)解壓縮裝置實(shí)施例中,如圖14所示,該裝置具體還可以包括:判斷模塊1303,用于判斷所述第一參照字典包含的數(shù)據(jù)包是否完整,如果不存在,則觸發(fā)等待模塊1304;所述等待模塊1304,用于將所述第一壓縮數(shù)據(jù)包放入待解壓縮隊(duì)列,進(jìn)行其他滿足構(gòu)建相應(yīng)參照字典的壓縮數(shù)據(jù)包的解壓縮,待所述第一參照字典包含的數(shù)據(jù)全部傳輸完畢之后觸發(fā)所述第一壓縮數(shù)據(jù)包的解壓縮步驟。該實(shí)施例中,當(dāng)解壓縮裝置接收到通過網(wǎng)絡(luò)傳輸?shù)牡谝粔嚎s數(shù)據(jù)包后,需要根據(jù)第一壓縮數(shù)據(jù)包中攜帶的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,通過判斷模塊1303判斷所需要的數(shù)據(jù)包是否完整,如果已經(jīng)完整,即可構(gòu)建第一參照字典,進(jìn)行解壓縮操作;否則,觸發(fā)等待模塊1304,將所述數(shù)據(jù)包放入待解壓隊(duì)列,而進(jìn)行其他滿足構(gòu)建相應(yīng)參照字典的壓縮數(shù)據(jù)包的解壓縮操作,等待所述第一參照字典包含的數(shù)據(jù)全部傳輸完畢之后才進(jìn)行解壓。由于解壓縮所應(yīng)用的DTLZ是亂序容忍的算法,因此,解壓縮端后接受到的數(shù)據(jù)包有可能先得到解壓縮,從而不會(huì)頻繁出現(xiàn)等待解壓縮的情況,使得解壓縮的速率大大提高。參見圖15和圖16,為本發(fā)明提供的另外兩個(gè)解壓縮裝置實(shí)施例,其中,兩個(gè)解壓縮裝置中還可以包括:第二解壓接收模塊1305,用于接收第二壓縮數(shù)據(jù)包,所述第二壓縮數(shù)據(jù)包攜帶壓縮所用的第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,所述第二壓縮數(shù)據(jù)包由壓縮所述第一數(shù)據(jù)包之后預(yù)置長(zhǎng)度之外數(shù)據(jù)包形成;第二解壓縮模塊1306,用于利用所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建所述第二參照字典,利用所述第二參照字典對(duì)所述第二壓縮數(shù)據(jù)包進(jìn)行壓縮,獲得第二數(shù)據(jù)包。上述實(shí)施例中,壓縮端在壓縮第二數(shù)據(jù)包時(shí),可能采用不同于第一參照字典的第二參照字典。當(dāng)解壓縮裝置接收第二壓縮數(shù)據(jù)包時(shí),根據(jù)所述第二壓縮數(shù)據(jù)包攜帶的第二參照字典對(duì)應(yīng)的數(shù)據(jù)包信息,獲知第二參照字典對(duì)應(yīng)的數(shù)據(jù)包不同于當(dāng)前已經(jīng)構(gòu)建的第一參照字典對(duì)應(yīng)的數(shù)據(jù)包,因此,需要更新參照字典。此時(shí),通過第二解壓縮模塊1306,利用所述第二參照字典對(duì)應(yīng)的數(shù)據(jù)包構(gòu)建第二參照字典,進(jìn)而,利用第二參照字典完成對(duì)第二解壓縮數(shù)據(jù)包的解壓縮,獲得第二數(shù)據(jù)包。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來(lái)實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來(lái)執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來(lái)使用不同方法來(lái)實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。