本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種上行數(shù)據(jù)解壓縮、壓縮的方法和裝置。
背景技術(shù):
(1)現(xiàn)有移動(dòng)通信系統(tǒng)的數(shù)據(jù)傳輸過(guò)程
ue(userequipment,用戶(hù)設(shè)備)和enb(evolvednodeb,演進(jìn)型基站)之間的數(shù)據(jù)傳輸,通常經(jīng)過(guò)pdcp(packetdataconvergenceprotocol,分組數(shù)據(jù)匯聚協(xié)議),rlc(radiolinkcontrol,無(wú)線(xiàn)鏈路層控制協(xié)議),mac(mediaaccesscontrol,媒體接入控制)和phy(physicallayer,物理層)的傳輸,每一層完成不同的數(shù)據(jù)處理。pdcp主要是進(jìn)行安全操作和頭壓縮/解壓縮處理,例如加密和完整性保護(hù),rohc(robustheadercompression,健壯性包頭壓縮)壓縮和解壓縮等;rlc主要完成數(shù)據(jù)的分段級(jí)聯(lián)和按序遞交及arq(automaticrepeat-request,自動(dòng)重傳請(qǐng)求)數(shù)據(jù)傳輸保障;mac主要完成調(diào)度和不同邏輯信道的級(jí)聯(lián)處理及harq(hybridautomaticrepeatrequest,混合自動(dòng)重傳請(qǐng)求)操作;物理層完成傳輸塊成包和空口發(fā)送。參見(jiàn)圖1,圖中示出用戶(hù)面協(xié)議棧的示意圖。
(2)pdcp對(duì)數(shù)據(jù)的處理
pdcp層主要功能是進(jìn)行安全相關(guān)操作(加/解密、完整性保護(hù)/驗(yàn)證)和頭壓縮/解壓縮處理。具體數(shù)據(jù)處理流程如圖2所示。
發(fā)送pdcp實(shí)體對(duì)接收到的ip(internetprotocol,互聯(lián)網(wǎng)協(xié)議)數(shù)據(jù)包處理之后會(huì)生成pdcppdu(protocoldataunit,協(xié)議數(shù)據(jù)單元),pdcppdu的結(jié)構(gòu)如圖3所示,pcpc層sn包含在pdcpheader(pdcp包頭)中。
(3)上行數(shù)據(jù)壓縮的工作機(jī)制:
上行數(shù)據(jù)壓縮是ue針對(duì)上行應(yīng)用層數(shù)據(jù)或者信令進(jìn)行壓縮,在基站側(cè)對(duì)壓縮后的數(shù)據(jù)進(jìn)行解壓,以節(jié)省空口傳輸?shù)臄?shù)據(jù)量,節(jié)約上行資源。
目前考慮到的保持終端和基站側(cè)正確解壓的解決方案可能有兩種,一種是終端在發(fā)送上行數(shù)據(jù)的過(guò)程中建立壓縮緩存中的數(shù)據(jù)內(nèi)容,基站側(cè)保留。之后以相應(yīng)的規(guī)則進(jìn)行解壓。另外一種是終端和基站提前下載預(yù)定義或者保存一些用于解壓的profile(配置文件)信息,可以通過(guò)一些信令交互確定啟動(dòng)哪個(gè)profile,一旦達(dá)成一致,終端和基站就可以保證正確壓縮和解壓。
其中profile信息包括了壓縮方法,以及解壓的buffer(緩存)的信息或者解壓的mapping(映射表)。
上行數(shù)據(jù)壓縮在pdcp層的處理流程中是可以替換rohc的壓縮的。如圖4所示。
在無(wú)線(xiàn)移動(dòng)通信系統(tǒng)的上行數(shù)據(jù)壓縮(uldatacompression,udc)的研究中,終端根據(jù)網(wǎng)絡(luò)的配置啟動(dòng)udc功能,并對(duì)上行數(shù)據(jù)進(jìn)行壓縮。由于udc采用包交叉的壓縮方式,也就是基站會(huì)根據(jù)之前接收到的數(shù)據(jù)信息對(duì)新接收到的壓縮包進(jìn)行解壓。導(dǎo)致無(wú)法保證基站和終端兩邊壓縮緩存和解壓緩存一致,進(jìn)而無(wú)法保證上行數(shù)據(jù)壓縮的可靠性。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供一種上行數(shù)據(jù)解壓縮、壓縮的方法和裝置,保證壓縮端的壓縮緩存區(qū)和解壓端的解壓緩存區(qū)保持一致,進(jìn)而能夠確保上行數(shù)據(jù)壓縮的可靠性。
依據(jù)本發(fā)明實(shí)施例的第一個(gè)方面,提供了一種上行數(shù)據(jù)解壓縮方法,包括:
解壓端接收到分組數(shù)據(jù)匯聚協(xié)議pdcp包后,檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,其中,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致;
所述解壓端根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作。
可選地,所述pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
可選地,所述udc頭部還包括:
用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
可選地,所述解壓端根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,包括:
如果所述udc頭部中的第一指示比特域?yàn)楸硎緵](méi)有進(jìn)行udc壓縮的第一值,所述解壓端直接將所述數(shù)據(jù)包傳輸?shù)缴蠈樱?/p>
如果所述第一指示比特域?yàn)楸硎具M(jìn)行udc壓縮的第二值,所述解壓端檢查udc頭部中的解壓縮緩存區(qū)復(fù)位的第二指示比特域;
如果所述第二指示比特域?yàn)楸硎拘枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第三值,則將解壓縮緩存區(qū)清空,不用再檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域,直接對(duì)所述數(shù)據(jù)包進(jìn)行udc解壓;
如果所述第二指示比特域?yàn)楸硎静恍枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第四值,則繼續(xù)檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域;
如果所述第三指示比特域?yàn)閚比特,所述解壓端檢查解壓縮緩存區(qū)中的數(shù)據(jù),從所述解壓縮緩存區(qū)中取n比特,如果與udc頭部中的第三指示比特域相同,則對(duì)所述數(shù)據(jù)包進(jìn)行udc解壓;否則發(fā)起重啟過(guò)程,并指示壓縮端進(jìn)行壓縮緩存區(qū)的重啟,其中n為正整數(shù)。
可選地,從所述壓縮緩存區(qū)中取n比特,包括:
按照整字節(jié)進(jìn)行疊加或者疊加解壓縮緩存區(qū)所有比特,取最后n比特。
可選地,所述方法還包括:
如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包需要進(jìn)入解壓縮緩存區(qū)的第五值,則將所述數(shù)據(jù)包存入解壓緩存區(qū),其中所述數(shù)據(jù)包是未壓縮的數(shù)據(jù)包或者是解壓縮后的數(shù)據(jù)包;
如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包不需要進(jìn)入解壓縮緩存區(qū)的第六值,不將所述數(shù)據(jù)包存入解壓縮緩存區(qū)。
依據(jù)本發(fā)明實(shí)施例的第二個(gè)方面,還提供了一種上行數(shù)據(jù)壓縮方法,包括:
壓縮端向解壓端發(fā)送分組數(shù)據(jù)匯聚協(xié)議pdcp包,由所述解壓端檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息;再由所述解壓端根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致。
可選地,所述pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
可選地,所述方法還包括:
如果所述pdcp包中的數(shù)據(jù)包進(jìn)行了udc壓縮,所述壓縮端設(shè)置用于指示是否進(jìn)行udc壓縮的第一指示比特域?yàn)榈诙?,否則所述壓縮端設(shè)置第一指示比特域?yàn)樵O(shè)置為第一值;
如果所述第一指示比特域設(shè)置為第二值,所述壓縮端對(duì)壓縮前的壓縮緩存區(qū)中的數(shù)據(jù)進(jìn)行疊加,計(jì)算出用于指示解壓縮緩存區(qū)檢查的第三指示比特域,填入所述udc頭部。
可選地,所述udc頭部還包括:
用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
可選地,所述方法還包括:
如果所述數(shù)據(jù)包需要進(jìn)入壓縮緩存區(qū),所述壓縮端設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈谖逯担?/p>
如果所述數(shù)據(jù)包不需要進(jìn)入壓縮緩存區(qū),所述壓縮端設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈诹怠?/p>
依據(jù)本發(fā)明實(shí)施例的第四個(gè)方面,還提供了一種解壓端,包括:
檢查模塊,用于接收到分組數(shù)據(jù)匯聚協(xié)議pdcp包后,檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,其中,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致;
第一處理模塊,用于根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作。
可選地,所述pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
可選地,所述udc頭部還包括:
用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
可選地,所述處理模塊進(jìn)一步用于:
如果所述udc頭部中的第一指示比特域?yàn)楸硎緵](méi)有進(jìn)行udc壓縮的第一值,所述解壓端直接將所述數(shù)據(jù)包傳輸?shù)缴蠈樱?/p>
如果所述第一指示比特域?yàn)楸硎具M(jìn)行udc壓縮的第二值,所述解壓端檢查udc頭部中的解壓縮緩存區(qū)復(fù)位的第二指示比特域;
如果所述第二指示比特域?yàn)楸硎拘枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第三值,則將解壓縮緩存區(qū)清空,不用再檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域,直接對(duì)所述數(shù)據(jù)包進(jìn)行udc解壓;
如果所述第二指示比特域?yàn)楸硎静恍枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第四值,則繼續(xù)檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域;
如果所述第三指示比特域?yàn)閚比特,所述解壓端檢查解壓縮緩存區(qū)中的數(shù)據(jù),從所述解壓縮緩存區(qū)中取n比特,如果與udc頭部中的第三指示比特域相同,則對(duì)所述數(shù)據(jù)包進(jìn)行udc解壓;否則發(fā)起重啟過(guò)程,并指示壓縮端進(jìn)行壓縮緩存區(qū)的重啟,其中n為正整數(shù)。
可選地,所述解壓端還包括:
第二處理模塊,用于如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包需要進(jìn)入解壓縮緩存區(qū)的第五值,則將所述數(shù)據(jù)包存入解壓緩存區(qū),其中所述數(shù)據(jù)包是未壓縮的數(shù)據(jù)包或者是解壓縮后的數(shù)據(jù)包;或者
如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包不需要進(jìn)入解壓縮緩存區(qū)的第六值,不將所述數(shù)據(jù)包存入解壓縮緩存區(qū)。
依據(jù)本發(fā)明實(shí)施例的第四個(gè)方面,還提供了一種壓縮端,包括:
發(fā)送模塊,用于向解壓端發(fā)送分組數(shù)據(jù)匯聚協(xié)議pdcp包,由所述解壓端檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息;再由所述解壓端根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致。
可選地,所述pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
可選地,所述壓縮端還包括:
第一設(shè)置模塊,用于如果所述pdcp包中的數(shù)據(jù)包進(jìn)行了udc壓縮,設(shè)置用于指示是否進(jìn)行udc壓縮的第一指示比特域?yàn)榈诙?,否則所述壓縮端設(shè)置第一指示比特域?yàn)樵O(shè)置為第一值;或者如果所述第一指示比特域設(shè)置為第二值,對(duì)壓縮前的壓縮緩存區(qū)中的數(shù)據(jù)進(jìn)行疊加,計(jì)算出用于指示解壓縮緩存區(qū)檢查的第三指示比特域,填入所述udc頭部。
可選地,所述udc頭部還包括:
用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
可選地,所述壓縮端還包括:
第二設(shè)置模塊,用于如果所述數(shù)據(jù)包需要進(jìn)入壓縮緩存區(qū),設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈谖逯担?/p>
如果所述數(shù)據(jù)包不需要進(jìn)入壓縮緩存區(qū),設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈诹怠?/p>
依據(jù)本發(fā)明實(shí)施例的第五個(gè)方面,還提供了一種解壓端,包括:第一存儲(chǔ)器、第一處理器及存儲(chǔ)在第一存儲(chǔ)器上并可在第一處理器上運(yùn)行的計(jì)算機(jī)程序,所述第一處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述第一個(gè)方面所述的上行數(shù)據(jù)解壓縮方法中的步驟。
依據(jù)本發(fā)明實(shí)施例的第六個(gè)方面,還提供了一種壓縮端,包括:第二存儲(chǔ)器、第二處理器及存儲(chǔ)在第二存儲(chǔ)器上并可在第二處理器上運(yùn)行的計(jì)算機(jī)程序,所述第二處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述第二個(gè)方面所述的上行數(shù)據(jù)壓縮方法中的步驟。
依據(jù)本發(fā)明實(shí)施例的第七個(gè)方面,還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一個(gè)方面所述的上行數(shù)據(jù)解壓縮方法中的步驟,或者如上述第二個(gè)方面所述的上行數(shù)據(jù)壓縮方法中的步驟。
上述技術(shù)方案中的一個(gè)技術(shù)方案具有如下優(yōu)點(diǎn)或有益效果:通過(guò)在pdcp包中增加udc頭部,該udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息,解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致;解壓端可以根據(jù)壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,使得解壓端根據(jù)解壓縮緩存區(qū)相關(guān)的信息控制解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致,解決現(xiàn)有技術(shù)中無(wú)法保證基站和終端兩邊壓縮緩存和解壓緩存一致的問(wèn)題,進(jìn)而提高上行數(shù)據(jù)壓縮的可靠性。
附圖說(shuō)明
圖1為用戶(hù)面協(xié)議棧的示意圖;
圖2為pdcp層數(shù)據(jù)處理流程的示意圖;
圖3為pdcppdu結(jié)構(gòu)的示意圖;
圖4為udc在pdcp數(shù)據(jù)處理流程中的位置示意圖;
圖5為一種pdcppdu格式的示意圖;
圖6為另一種pdcppdu格式的示意圖;
圖7為又一種pdcppdu格式的示意圖;
圖8為本發(fā)明的一個(gè)實(shí)施例中上行數(shù)據(jù)解壓縮方法的流程圖;
圖9為本發(fā)明的一個(gè)實(shí)施例中上行數(shù)據(jù)壓縮方法的流程圖;
圖10為本發(fā)明的一個(gè)實(shí)施例中三個(gè)域的udc頭部格式的示意圖;
圖11為本發(fā)明的一個(gè)實(shí)施例中四個(gè)域的udc頭部格式的示意圖;
圖12為本發(fā)明的一個(gè)實(shí)施例中五個(gè)域的udc頭部格式的示意圖;
圖13為本發(fā)明的一個(gè)實(shí)施例中帶udc頭部的pdcppdu格式的示意圖;
圖14為本發(fā)明的一個(gè)實(shí)施例中解壓端的結(jié)構(gòu)示意圖;
圖15為本發(fā)明的一個(gè)實(shí)施例中壓縮端的結(jié)構(gòu)示意圖;
圖16為本發(fā)明的另一個(gè)實(shí)施例中解壓端的結(jié)構(gòu)示意圖;
圖17為本發(fā)明的另一個(gè)實(shí)施例中壓縮端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
在本發(fā)明的實(shí)施例中,采用的udc(uldatacompression,上行數(shù)據(jù)壓縮)的壓縮算法是公開(kāi)的rfc1951的壓縮算法。具體可以參考ietf的rfc1951文件。
參見(jiàn)圖5、圖6和圖7,圖中示出了udc壓縮后的pdcp(packetdataconvergenceprotocol,分組數(shù)據(jù)匯聚協(xié)議)包格式。圖中的udcblock(udc塊)為經(jīng)過(guò)rfc1951壓縮后的數(shù)據(jù)包,壓縮對(duì)象是pdcpsdu(pdcp服務(wù)數(shù)據(jù)單元),即上層發(fā)下來(lái)的數(shù)據(jù)包。
參見(jiàn)圖8,圖中示出了上行數(shù)據(jù)解壓縮方法,具體步驟如下:
步驟801、解壓端接收到pdcp包后,檢查pdcp包中的上行數(shù)據(jù)壓縮udc頭部,udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息,解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致;
上述壓縮上下文信息可以是指示是否進(jìn)行udc壓縮的指示比特域。上述解壓縮緩存區(qū)相關(guān)的信息可以包括指示壓縮緩存區(qū)復(fù)位的指示比特域和用于解壓縮緩存區(qū)檢查的指示比特域。通過(guò)解壓縮緩存區(qū)相關(guān)的信息可以有效保證壓縮端的壓縮緩存區(qū)和解壓端的解壓緩存區(qū)一致,提高上行數(shù)據(jù)壓縮的可靠性。
在本實(shí)施例中,解壓端是指網(wǎng)絡(luò)側(cè)pdcp所在的實(shí)體,例如解壓端指的是基站的pdcp層,其中該pdcp層位于基站或分布式基站的集中式單元(centralizedunit,,cu)。
步驟802、解壓端根據(jù)壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作。
在本實(shí)施例中,可選地,pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
在本實(shí)施例中,可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
在本實(shí)施例中,可選地,所述udc頭部還包括:用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
具體地,結(jié)合上述udc頭部的結(jié)構(gòu),在本實(shí)施例中解壓端可采用以下方式對(duì)pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作:
如果udc頭部中的第一指示比特域?yàn)楸硎緵](méi)有進(jìn)行udc壓縮的第一值,解壓端直接將數(shù)據(jù)包傳輸?shù)缴蠈樱?/p>
如果第一指示比特域?yàn)楸硎具M(jìn)行udc壓縮的第二值,解壓端檢查udc頭部中的解壓緩存區(qū)復(fù)位的第二指示比特域;
如果第二指示比特域?yàn)楸硎拘枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第三值,則將解壓縮緩存區(qū)清空,不用再檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域,直接對(duì)數(shù)據(jù)包進(jìn)行udc解壓;
如果第二指示比特域?yàn)楸硎静恍枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第四值,則繼續(xù)檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域;
如果第三指示比特域?yàn)閚比特,解壓端檢查解壓縮緩存區(qū)中的數(shù)據(jù),從解壓縮緩存區(qū)中取n比特,如果與udc頭部中的第三指示比特域相同,則對(duì)所述數(shù)據(jù)包進(jìn)行udc解壓,同時(shí)解壓后的數(shù)據(jù)包進(jìn)入解壓緩存區(qū);否則發(fā)起重啟過(guò)程,并指示壓縮端進(jìn)行壓縮緩存區(qū)的重啟,其中n為正整數(shù)。
上述從所述壓縮緩存區(qū)中取n比特的方式可以是:按照整字節(jié)進(jìn)行疊加或者疊加解壓縮緩存區(qū)所有比特,取最后n比特。
可選地,在本實(shí)施例中,如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包需要進(jìn)入解壓縮緩存區(qū)的第五值,則將所述數(shù)據(jù)包存入解壓緩存區(qū),其中所述數(shù)據(jù)包是未壓縮的數(shù)據(jù)包或者是解壓縮后的數(shù)據(jù)包;
如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包不需要進(jìn)入解壓縮緩存區(qū)的第六值,不將所述數(shù)據(jù)包存入解壓縮緩存區(qū)。
在本實(shí)施例中,通過(guò)在pdcp包中增加udc頭部(udcheader),該udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息;解壓端可以根據(jù)壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,使得解壓端根據(jù)解壓縮緩存區(qū)相關(guān)的信息控制解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致,解決現(xiàn)有技術(shù)中無(wú)法保證基站和終端兩邊壓縮緩存和解壓緩存一致的問(wèn)題,進(jìn)而提高上行數(shù)據(jù)壓縮的可靠性。
參見(jiàn)圖9,圖中示出了上行數(shù)據(jù)壓縮方法的流程,具體步驟如下:
步驟901、壓縮端向解壓端發(fā)送分組數(shù)據(jù)匯聚協(xié)議pdcp包,由所述解壓端檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息;再由所述解壓端根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致。
在本實(shí)施例中,上述壓縮端是指終端側(cè)pdcp所在的實(shí)體,該實(shí)體具有對(duì)上行數(shù)據(jù)進(jìn)行udc壓縮的功能,例如該壓縮端可以對(duì)應(yīng)于終端。
在本實(shí)施例中,可選地,所述pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
在本實(shí)施例中,可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
在本實(shí)施例中,可選地,所述方法還包括:
如果所述pdcp包中的數(shù)據(jù)包進(jìn)行了udc壓縮,所述壓縮端設(shè)置用于指示是否進(jìn)行udc壓縮的第一指示比特域?yàn)榈诙担駝t所述壓縮端設(shè)置第一指示比特域?yàn)樵O(shè)置為第一值;
如果所述第一指示比特域設(shè)置為第二值,所述壓縮端對(duì)壓縮前的壓縮緩存區(qū)中的數(shù)據(jù)進(jìn)行疊加,計(jì)算出用于指示解壓縮緩存區(qū)檢查的第三指示比特域,填入所述udc頭部。
在本實(shí)施例中,可選地,所述udc頭部還包括:用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
在本實(shí)施例中,可選地,所述方法還包括:
如果所述數(shù)據(jù)包需要進(jìn)入壓縮緩存區(qū),所述壓縮端設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈谖逯担?/p>
如果所述數(shù)據(jù)包不需要進(jìn)入壓縮緩存區(qū),所述壓縮端設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈诹怠?/p>
在本實(shí)施例中,解壓端可以根據(jù)udc頭部中的解壓縮緩存區(qū)相關(guān)的信息控制解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致,解決現(xiàn)有技術(shù)中無(wú)法保證基站和終端兩邊壓縮緩存和解壓緩存一致的問(wèn)題,進(jìn)而提高上行數(shù)據(jù)壓縮的可靠性。
在本發(fā)明的另一個(gè)實(shí)施例中,在pdcp的包頭(header)和數(shù)據(jù)包(也可以稱(chēng)為udc壓縮包)之間增加udc頭部,該udc頭部可以涵蓋如下域中的一種或多種:
是否進(jìn)行udc壓縮的指示比特域;
用于指示緩存區(qū)復(fù)位的指示比特域;
用于緩存區(qū)檢查的指示比特域。
可選地,該udc頭部還包括:用于指示該包是否進(jìn)入緩存區(qū)的指示比特域。
可選地,該udc頭部還包括:預(yù)留比特域。
在本實(shí)施例中,解壓端收到數(shù)據(jù)包后,先檢查udc頭部,再進(jìn)行udc的解壓操作。上述解壓端可以是基站。
解壓端的具體行為如下:
步驟一:解壓端檢查是否進(jìn)行udc壓縮的指示比特域,如果沒(méi)有進(jìn)行udc壓縮,則跳過(guò)udc解壓步驟,直接將pdcpsdu遞交到上層;如果進(jìn)行了udc的壓縮,則進(jìn)入步驟二;
步驟二:檢查緩存區(qū)復(fù)位的指示比特域,如果設(shè)置為1,則將解壓緩存區(qū)清空,不用再檢查緩存區(qū)檢查的指示比特域,進(jìn)入udc的解壓模塊進(jìn)行解壓;如果設(shè)置為0,則繼續(xù)檢查緩存區(qū)檢查的指示比特域。
假設(shè)緩存區(qū)檢查的指示比特域?yàn)閚比特(n可為1-7,優(yōu)選取4),解壓端檢查解壓緩存區(qū)中的數(shù)據(jù),例如:按照整字節(jié)(byte)進(jìn)行疊加或者疊加緩存區(qū)所有比特,取最后n比特,如果跟收到的udc的header中的用于解壓緩存區(qū)檢查的指示比特域相同,則認(rèn)為是一致的,可以進(jìn)入udc解壓。如果不一致,則發(fā)起重啟(reset)過(guò)程,并指示壓縮端進(jìn)行壓縮緩存區(qū)的reset。
可選地,解壓端的行為還可以包括:步驟三:如果udc的header中攜帶指示該數(shù)據(jù)包是否進(jìn)入緩存區(qū)的指示比特域且該指示比特域?yàn)?,則不管該數(shù)據(jù)包是否為udc壓縮包,都將該數(shù)據(jù)包中的數(shù)據(jù)(未壓縮的數(shù)據(jù)包或者解壓后的數(shù)據(jù))壓入解壓緩存區(qū)進(jìn)行保存;如果該指示比特域?yàn)?,則不將該數(shù)據(jù)包中的數(shù)據(jù)壓入解壓緩存區(qū)。
壓縮端的具體行為如下:
步驟一:可以根據(jù)網(wǎng)絡(luò)側(cè)的配置來(lái)判斷是否進(jìn)行壓縮,比如,如果壓縮率超過(guò)某個(gè)門(mén)限(例如壓縮掉10%以上),則確定發(fā)送壓縮包,設(shè)置是否進(jìn)行udc壓縮的指示比特域?yàn)?,否則設(shè)置是否進(jìn)行udc壓縮的指示比特域?yàn)?。
步驟二:如果設(shè)置是否進(jìn)行udc壓縮的指示比特域?yàn)?,則對(duì)壓縮前的壓縮緩存區(qū)進(jìn)行求和,計(jì)算出用于解壓縮緩存區(qū)檢查的指示比特域,填入udc的header內(nèi)。
步驟三:如果該包數(shù)據(jù)進(jìn)入壓縮緩存區(qū),則設(shè)置udc的header中的是否進(jìn)入緩存區(qū)的指示比特域?yàn)?,否則設(shè)置是否進(jìn)入緩存區(qū)的指示比特域?yàn)?。
實(shí)施例1:udc頭部有三個(gè)域
參見(jiàn)圖10,一種udc頭部格式包括如下信息:
是否進(jìn)行udc壓縮的指示比特域(u:1比特);
解壓緩存區(qū)是否復(fù)位的指示比特域(n:1比特);
用于解壓緩存區(qū)檢查的指示比特域(c信息:6比特)。
終端的pdcp層對(duì)上層發(fā)下來(lái)的數(shù)據(jù)進(jìn)行udc壓縮,如果確定發(fā)送壓縮數(shù)據(jù)包給網(wǎng)絡(luò),則設(shè)置u為1,并將壓縮前的壓縮緩存區(qū)的數(shù)據(jù)進(jìn)行疊加,取最后6比特信息填入udc的c域。
如果確定不對(duì)該包數(shù)據(jù)進(jìn)行壓縮,則設(shè)置u為0。c域可以填寫(xiě)默認(rèn)值或者為任意值,也可以為壓縮緩存區(qū)的疊加后的后6比特。
如果終端根據(jù)網(wǎng)絡(luò)側(cè)配置或者發(fā)現(xiàn)壓縮緩存區(qū)問(wèn)題時(shí)需要將壓縮緩存區(qū)復(fù)位,則將n域設(shè)置為1,否則設(shè)置為0。
基站收到該包數(shù)據(jù)后如果u為0,則跳過(guò)udc的header部分,不進(jìn)行解壓,直接將后面的數(shù)據(jù)包遞交到上層。如果n域?yàn)?,則清空解壓緩存區(qū)的數(shù)據(jù)。如果u為1且n域?yàn)?,則檢查解壓緩存區(qū)中的數(shù)據(jù)進(jìn)行疊加,取最后6比特,如果與收到的udc的header中的c域的檢查比特域相同,則認(rèn)為是一致的,可以進(jìn)入udc解壓模塊進(jìn)行解壓。同時(shí),解壓后的數(shù)據(jù)包進(jìn)入解壓緩存區(qū)。
需要說(shuō)明的是,壓縮緩存區(qū)的數(shù)據(jù)疊加,可以有多種方法,如按照整byte進(jìn)行疊加,取最后n位,也可以按照比特疊加,取最后n位。具體方式可以通過(guò)協(xié)議約定。
實(shí)施例2:udc頭部有四個(gè)域
參見(jiàn)圖11,一種udc頭格式包括如下信息:
是否進(jìn)行udc壓縮的指示比特域(u:1比特);
解壓緩存區(qū)是否復(fù)位的指示比特域(n:1比特)
是否進(jìn)入解壓緩緩存區(qū)的指示比特域(i:1比特)
用于解壓緩緩存區(qū)檢查的指示比特域(c信息:6比特);
同上述實(shí)施例1類(lèi)似,實(shí)施例2中u域、n域和c域的用法是相同的。下面介紹上述i域的使用方式。i域表示的是這包數(shù)據(jù)是否要進(jìn)入解壓緩存區(qū)。不管這個(gè)數(shù)據(jù)包是否是壓縮的,一旦i設(shè)置為1,基站都將未壓縮的數(shù)據(jù)包(u為0的情況)或者解壓后的數(shù)據(jù)包(u為1的情況)壓入解壓緩存區(qū)。
實(shí)施例3:udc頭部有5個(gè)域
參見(jiàn)圖12,一種udc頭格式包括如下信息:
是否進(jìn)行udc壓縮的指示比特域(u:1比特);
緩存區(qū)是否復(fù)位的指示比特域(n:1比特)
是否進(jìn)入緩存區(qū)的指示比特域(i:1比特)
用于緩存區(qū)檢查的指示比特域(c信息:4比特);
預(yù)留比特域(r:2比特)
u、i和c域的用法跟上述實(shí)施例1和實(shí)施例2相同,只是本實(shí)施例中采用了4比特的c域。有兩個(gè)r域比特暫時(shí)不定義功能,留待未來(lái)使用。
實(shí)施例4:udc頭部的位置
參見(jiàn)圖13,當(dāng)一個(gè)drb(數(shù)據(jù)承載)被配置使用udc時(shí),則在原pdcp頭和數(shù)據(jù)部分之間插入1byte的udcheader。在udc激活期間,該udcheader一直存在。
實(shí)施例5:當(dāng)緩存區(qū)的檢驗(yàn)域c域發(fā)生不一致的情況
當(dāng)解壓端發(fā)現(xiàn)用于解壓緩存區(qū)檢查的指示比特域與接收到的數(shù)據(jù)包中的信息不一致,則清空解壓緩存區(qū)的所有信息,用于解壓緩存區(qū)檢查的指示比特域設(shè)置為0,并通過(guò)信令通知給壓縮端(即終端)。
可選地,該信令可以為rrc信令,如重配置消息中指示某個(gè)drb的udc壓縮緩存區(qū)清空。
可選地,該信令還可以為新的pdcp的控制pdu或者在已有pdcp的控制pdu中捎帶1比特的指示信息,如重定義控制pdu中的r比特域用于指示復(fù)位緩存區(qū)。
當(dāng)壓縮端收到復(fù)位指示信息,則清空壓縮緩存區(qū),并通過(guò)前面實(shí)施例中的pdu中的復(fù)位指示比特域指示解壓端已經(jīng)復(fù)位以保證兩側(cè)的緩存區(qū)狀態(tài)一致。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種解壓端,由于該解壓端解決問(wèn)題的原理與本發(fā)明實(shí)施例圖8中上行數(shù)據(jù)解壓縮的方法相似,因此該解壓端的實(shí)施可以參見(jiàn)方法的實(shí)施,重復(fù)之處不再敷述。
參見(jiàn)圖14,圖中示出了解壓端的結(jié)構(gòu),該解壓端1400包括:
檢查模塊1401,用于接收到分組數(shù)據(jù)匯聚協(xié)議pdcp包后,檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,其中,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致;
第一處理模塊1402,用于根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作。
在本實(shí)施例中,可選地,所述pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
在本實(shí)施例中,可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
在本實(shí)施例中,可選地,所述udc頭部還包括:
用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
在本實(shí)施例中,可選地,所述處理模塊進(jìn)一步用于:
如果所述udc頭部中的第一指示比特域?yàn)楸硎緵](méi)有進(jìn)行udc壓縮的第一值,所述解壓端直接將所述數(shù)據(jù)包傳輸?shù)缴蠈樱?/p>
如果所述第一指示比特域?yàn)楸硎具M(jìn)行udc壓縮的第二值,所述解壓端檢查udc頭部中的解壓縮緩存區(qū)復(fù)位的第二指示比特域;
如果所述第二指示比特域?yàn)楸硎拘枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第三值,則將解壓縮緩存區(qū)清空,不用再檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域,直接對(duì)所述數(shù)據(jù)包進(jìn)行udc解壓;
如果所述第二指示比特域?yàn)楸硎静恍枰M(jìn)行解壓縮緩存區(qū)復(fù)位的第四值,則繼續(xù)檢查用于指示解壓縮緩存區(qū)檢查的第三指示比特域;
如果所述第三指示比特域?yàn)閚比特,所述解壓端檢查解壓縮緩存區(qū)中的數(shù)據(jù),從所述解壓縮緩存區(qū)中取n比特,如果與udc頭部中的第三指示比特相同,則對(duì)所述數(shù)據(jù)包進(jìn)行udc解壓;否則發(fā)起重啟過(guò)程,并指示壓縮端進(jìn)行壓縮緩存區(qū)的重啟,其中n為正整數(shù)。
在本實(shí)施例中,可選地,所述解壓端還包括:
第二處理模塊,用于如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包需要進(jìn)入解壓縮緩存區(qū)的第五值,則將所述數(shù)據(jù)包存入解壓緩存區(qū),其中所述數(shù)據(jù)包是未壓縮的數(shù)據(jù)包或者是解壓縮后的數(shù)據(jù)包;或者
如果udc頭部中包含用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第二指示比特域,且所述第二指示比特域?yàn)楸硎緮?shù)據(jù)包不需要進(jìn)入解壓縮緩存區(qū)的第六值,不將所述數(shù)據(jù)包存入解壓縮緩存區(qū)。
基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種壓縮端,由于該壓縮端解決問(wèn)題的原理與本發(fā)明實(shí)施例圖9中上行數(shù)據(jù)壓縮的方法相似,因此該壓縮端的實(shí)施可以參見(jiàn)方法的實(shí)施,重復(fù)之處不再敷述。
參見(jiàn)圖15,圖中示出了壓縮端的結(jié)構(gòu),該壓縮端1500包括:
發(fā)送模塊1501,用于向解壓端發(fā)送分組數(shù)據(jù)匯聚協(xié)議pdcp包,由所述解壓端檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息;再由所述解壓端根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致。
在本實(shí)施例中,可選地,所述pdcp包包括:pdcp包的包頭、udc頭部和數(shù)據(jù)包,其中,所述udc頭部位于pdcp包的包頭和數(shù)據(jù)包之間。
在本實(shí)施例中,可選地,所述udc頭部包括以下一項(xiàng)或多項(xiàng):
用于指示是否進(jìn)行udc壓縮的第一指示比特域;
用于指示解壓縮緩存區(qū)復(fù)位的第二指示比特域;
用于指示解壓縮緩存區(qū)檢查的第三指示比特域。
在本實(shí)施例中,可選地,所述壓縮端還包括:
第一設(shè)置模塊,用于如果所述pdcp包中的數(shù)據(jù)包進(jìn)行了udc壓縮,設(shè)置用于指示是否進(jìn)行udc壓縮的第一指示比特域?yàn)榈诙?,否則所述壓縮端設(shè)置第一指示比特域?yàn)樵O(shè)置為第一值;或者如果所述第一指示比特域設(shè)置為第二值,對(duì)壓縮前的壓縮緩存區(qū)中的數(shù)據(jù)進(jìn)行疊加,計(jì)算出用于指示解壓縮緩存區(qū)檢查的第三指示比特域,填入所述udc頭部。
在本實(shí)施例中,可選地,所述udc頭部還包括:
用于指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域;或者預(yù)留比特域。
在本實(shí)施例中,可選地,所述壓縮端還包括:
第二設(shè)置模塊,用于如果所述數(shù)據(jù)包需要進(jìn)入壓縮緩存區(qū),設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈谖逯担?/p>
如果所述數(shù)據(jù)包不需要進(jìn)入壓縮緩存區(qū),設(shè)置所述udc頭部中的指示數(shù)據(jù)包是否進(jìn)入解壓縮緩存區(qū)的第四指示比特域?yàn)榈诹怠?/p>
本發(fā)明實(shí)施例還提供了一種解壓端,包括:第一存儲(chǔ)器、第一處理器及存儲(chǔ)在第一存儲(chǔ)器上并可在第一處理器上運(yùn)行的計(jì)算機(jī)程序,所述第一處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上所述的上行數(shù)據(jù)解壓縮方法中的步驟。
參見(jiàn)圖16,示出了一種解壓端的結(jié)構(gòu),該解壓端包括第一存儲(chǔ)器1604、第一處理器1601及存儲(chǔ)在第一存儲(chǔ)器1604上并可在第一處理器1601上運(yùn)行的計(jì)算機(jī)程序,所述第一處理器1601執(zhí)行所述程序時(shí)實(shí)現(xiàn)以下步驟:接收到pdcp包后,檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,其中,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致;根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作。
在圖16中,總線(xiàn)架構(gòu)(用第一總線(xiàn)1600來(lái)代表),第一總線(xiàn)1600可以包括任意數(shù)量的互聯(lián)的總線(xiàn)和橋,第一總線(xiàn)1600將包括由通用第一處理器1601代表的一個(gè)或多個(gè)處理器和第一存儲(chǔ)器1604代表的存儲(chǔ)器的各種電路鏈接在一起。第一總線(xiàn)1600還可以將諸如外圍設(shè)備、穩(wěn)壓器和功率管理電路等之類(lèi)的各種其他電路鏈接在一起,這些都是本領(lǐng)域所公知的,因此,本文不再對(duì)其進(jìn)行進(jìn)一步描述。第一總線(xiàn)接口1603在第一總線(xiàn)1600和第一收發(fā)機(jī)1602之間提供接口。第一收發(fā)機(jī)1602可以是一個(gè)元件,也可以是多個(gè)元件,比如多個(gè)接收器和發(fā)送器,提供用于在傳輸介質(zhì)上與各種其他裝置通信的單元。例如:第一收發(fā)機(jī)1602從其他設(shè)備接收外部數(shù)據(jù)。第一收發(fā)機(jī)1602用于將第一處理器1601處理后的數(shù)據(jù)發(fā)送給其他設(shè)備。
第一處理器1601負(fù)責(zé)管理第一總線(xiàn)1600和通常的處理,如前述所述運(yùn)行通用操作系統(tǒng)。而第一存儲(chǔ)器1604可以被用于存儲(chǔ)第一處理器1601在執(zhí)行操作時(shí)所使用的數(shù)據(jù)。
可選地,第一處理器1601可以是cpu、asic(applicationspecificintegratedcircuit,專(zhuān)用集成電路)、fpga(field-programmablegatearray,現(xiàn)場(chǎng)可編程門(mén)陣列)或cpld(complexprogrammablelogicdevice,復(fù)雜可編程邏輯器件)。
本發(fā)明實(shí)施例還提供了一種壓縮端,包括:第二存儲(chǔ)器、第二處理器及存儲(chǔ)在第二存儲(chǔ)器上并可在第二處理器上運(yùn)行的計(jì)算機(jī)程序,所述第二處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如所述的上行數(shù)據(jù)壓縮方法中的步驟。
參見(jiàn)圖17,示出了一種壓縮端的結(jié)構(gòu),該壓縮端包括第二存儲(chǔ)器、第二處理器及存儲(chǔ)在第二存儲(chǔ)器上并可在第二處理器上運(yùn)行的計(jì)算機(jī)程序,所述第二處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)以下步驟:向解壓端發(fā)送分組數(shù)據(jù)匯聚協(xié)議pdcp包,由所述解壓端檢查所述pdcp包中的上行數(shù)據(jù)壓縮udc頭部,所述udc頭部中至少包含:pdcp包中的數(shù)據(jù)包的壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息;再由所述解壓端根據(jù)所述壓縮上下文信息和解壓縮緩存區(qū)相關(guān)的信息對(duì)所述pdcp包中的數(shù)據(jù)包進(jìn)行相應(yīng)操作,所述解壓縮緩存區(qū)相關(guān)的信息用于指示所述解壓端控制所述解壓端的解壓緩存區(qū)與壓縮端的壓縮緩存區(qū)保持一致。
在圖17中,總線(xiàn)架構(gòu)(用第二總線(xiàn)1700來(lái)代表),第二總線(xiàn)1700可以包括任意數(shù)量的互聯(lián)的總線(xiàn)和橋,第二總線(xiàn)1700將包括由通用第二處理器1701代表的一個(gè)或多個(gè)處理器和第二存儲(chǔ)器1704代表的存儲(chǔ)器的各種電路鏈接在一起。第二總線(xiàn)1700還可以將諸如外圍設(shè)備、穩(wěn)壓器和功率管理電路等之類(lèi)的各種其他電路鏈接在一起,這些都是本領(lǐng)域所公知的,因此,本文不再對(duì)其進(jìn)行進(jìn)一步描述。第二總線(xiàn)接口1703在第二總線(xiàn)1700和第二收發(fā)機(jī)1702之間提供接口。第二收發(fā)機(jī)1702可以是一個(gè)元件,也可以是多個(gè)元件,比如多個(gè)接收器和發(fā)送器,提供用于在傳輸介質(zhì)上與各種其他裝置通信的單元。例如:第二收發(fā)機(jī)1702從其他設(shè)備接收外部數(shù)據(jù)。第二收發(fā)機(jī)1702用于將第二處理器1701處理后的數(shù)據(jù)發(fā)送給其他設(shè)備。取決于計(jì)算系統(tǒng)的性質(zhì),還可以提供用戶(hù)接口1105,例如小鍵盤(pán)、顯示器、揚(yáng)聲器、麥克風(fēng)、操縱桿。
第二處理器1701負(fù)責(zé)管理第二總線(xiàn)1700和通常的處理,如前述所述運(yùn)行通用操作系統(tǒng)。而第二存儲(chǔ)器1704可以被用于存儲(chǔ)第二處理器1701在執(zhí)行操作時(shí)所使用的數(shù)據(jù)。
可選地,第二處理器1701可以是cpu、asic(applicationspecificintegratedcircuit,專(zhuān)用集成電路)、fpga(field-programmablegatearray,現(xiàn)場(chǎng)可編程門(mén)陣列)或cpld(complexprogrammablelogicdevice,復(fù)雜可編程邏輯器件)。
本發(fā)明實(shí)施例還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如上所述的上行數(shù)據(jù)解壓縮方法中的步驟,或者如上所述的上行數(shù)據(jù)壓縮方法中的步驟。
應(yīng)理解,說(shuō)明書(shū)通篇中提到的“一個(gè)實(shí)施例”或“一實(shí)施例”意味著與實(shí)施例有關(guān)的特定特征、結(jié)構(gòu)或特性包括在本發(fā)明的至少一個(gè)實(shí)施例中。因此,在整個(gè)說(shuō)明書(shū)各處出現(xiàn)的“在一個(gè)實(shí)施例中”或“在一實(shí)施例中”未必一定指相同的實(shí)施例。此外,這些特定的特征、結(jié)構(gòu)或特性可以任意適合的方式結(jié)合在一個(gè)或多個(gè)實(shí)施例中。
在本發(fā)明的各種實(shí)施例中,應(yīng)理解,上述各過(guò)程的序號(hào)的大小并不意味著執(zhí)行順序的先后,各過(guò)程的執(zhí)行順序應(yīng)以其功能和內(nèi)在邏輯確定,而不應(yīng)對(duì)本發(fā)明實(shí)施例的實(shí)施過(guò)程構(gòu)成任何限定。
另外,本文中術(shù)語(yǔ)“系統(tǒng)”和“網(wǎng)絡(luò)”在本文中??苫Q使用。
應(yīng)理解,本文中術(shù)語(yǔ)“和/或”,僅僅是一種描述關(guān)聯(lián)對(duì)象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:?jiǎn)为?dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對(duì)象是一種“或”的關(guān)系。
在本申請(qǐng)所提供的實(shí)施例中,應(yīng)理解,“與a相應(yīng)的b”表示b與a相關(guān)聯(lián),根據(jù)a可以確定b。但還應(yīng)理解,根據(jù)a確定b并不意味著僅僅根據(jù)a確定b,還可以根據(jù)a和/或其它信息確定b。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露方法和裝置,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理包括,也可以?xún)蓚€(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用硬件加軟件功能單元的形式實(shí)現(xiàn)。
上述以軟件功能單元的形式實(shí)現(xiàn)的集成的單元,可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。上述軟件功能單元存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)側(cè)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述收發(fā)方法的部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(read-onlymemory,簡(jiǎn)稱(chēng)rom)、隨機(jī)存取存儲(chǔ)器(randomaccessmemory,簡(jiǎn)稱(chēng)ram)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述的是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出對(duì)于本技術(shù)領(lǐng)域的普通人員來(lái)說(shuō),在不脫離本發(fā)明所述的原理前提下還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也在本發(fā)明的保護(hù)范圍內(nèi)。