本發(fā)明涉及增強(qiáng)型多媒體廣播/多播業(yè)務(wù)(embms,ehancedmultimediabroadcast/multicastservice),尤其涉及一種數(shù)據(jù)包處理方法和裝置。
背景技術(shù):
embms也被稱為長(zhǎng)期演進(jìn)(lte,longtermevolution)廣播/多播,是一種先進(jìn)的移動(dòng)數(shù)據(jù)傳輸技術(shù),可以使運(yùn)營商顯著降低在lte網(wǎng)絡(luò)上同一時(shí)間向多個(gè)用戶提供諸如視頻、音頻等高帶寬內(nèi)容的成本。embms采用lte制式的非確認(rèn)模式(um,unacknowledgedmode)無線鏈路控制(rlc,radiolinkcontrol)層傳輸方式,該種方式不需要接收方確認(rèn),發(fā)送方不重傳數(shù)據(jù),適用于實(shí)時(shí)性高的場(chǎng)景;因此保證傳輸成功率是非常重要的。
rlc層是用來完成服務(wù)數(shù)據(jù)單元(sdu,servicedataunit)的組包或協(xié)議數(shù)據(jù)單元(pdu,protocoldataunit)解包工作。embms業(yè)務(wù)中rlc層是um模式,基站側(cè)將sdu組包成pdu,并按序?qū)⑿蛄刑?hào)(sn,serialnumber)和sdu分段信息(fi,framinginfo)寫入rlc子頭;終端側(cè)根據(jù)rlc子頭信息從pdu中解出sdu數(shù)據(jù),并將完整的sdu提交高層。
對(duì)于終端側(cè),sn的連續(xù)性很重要,連續(xù)的sn能保證sdu數(shù)據(jù)的連續(xù)性、完整性;如果sn發(fā)生跳躍,則意味著可能會(huì)發(fā)生sdu丟包;一般sn發(fā)生跳躍的原因是空口丟包,這種情況下,丟失的sdu或sdu分段就無法還原。
但是,在embms業(yè)務(wù)中,sn的跳躍不一定是因?yàn)榭湛趤G包;這種場(chǎng)景下,是有可能保證sdu數(shù)據(jù)的連續(xù)性和完整性的。embms相關(guān)協(xié)議規(guī)定,在多播控制信道(mcch,multicastcontrolchannel)修改周期點(diǎn)或者多播信道調(diào)度信息(msi,multicastchannelschedulinginformation)周期點(diǎn),基站側(cè)要 將sn復(fù)位為0;這樣,對(duì)于終端側(cè)來說,終端側(cè)接收的sn很可能是不連續(xù)的;sn的不連續(xù)意味著中間丟包,這種情況下,作為接收方的終端側(cè)會(huì)將之前保存的sdu分段信息丟掉;并且,如果sn等于0的pdu中,第一個(gè)sdu不是完整的,即為sdu分段,則該sdu也會(huì)被丟棄。
如何避免在mcch修改周期點(diǎn)或msi周期點(diǎn)這種場(chǎng)景下丟包,是亟待解決的問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明實(shí)施例期望提供一種數(shù)據(jù)包處理方法和裝置,能避免在mcch修改周期點(diǎn)和/或msi周期點(diǎn)的場(chǎng)景下丟包,提高傳輸成功率。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
本發(fā)明實(shí)施例提供了一種數(shù)據(jù)包處理方法,所述方法包括:
獲取當(dāng)前多播/組播單頻網(wǎng)絡(luò)(mbsfn,multimediabroadcastmulticastservicesinglefrequencynetwork)子幀信息和rlc組包sn復(fù)位時(shí)間點(diǎn);
根據(jù)mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu組包。
上述方案中,所述采用不同方式進(jìn)行pdu組包,包括:
所述mbsfn子幀為所述sn復(fù)位時(shí)間點(diǎn),且有上一次pdu組包剩余sdu分段組入時(shí),將所述sdu分段所屬sdu重新組包到pdu中;和/或,所述mbsfn子幀為所述sn復(fù)位時(shí)間點(diǎn)的前一個(gè)mbsfn子幀,且有sdu不能完全組入當(dāng)前pdu中,需要進(jìn)行分段時(shí),放棄將所述sdu組入當(dāng)前pdu中。
上述方案中,所述sn復(fù)位時(shí)間點(diǎn),包括:mcch修改周期點(diǎn)、和/或msi周期點(diǎn)。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)包處理方法,所述方法包括:
獲取當(dāng)前pdu對(duì)應(yīng)的第一sn、前一個(gè)pdu對(duì)應(yīng)的第二sn、當(dāng)前mbsfn子幀、和rlc組包sn復(fù)位時(shí)間點(diǎn);
比較所述第一sn和所述第二sn,當(dāng)所述第一sn和第二sn不連續(xù)時(shí), 根據(jù)所述第一sn、以及所述當(dāng)前mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu解包。
上述方案中,所述采用不同方式進(jìn)行pdu解包,包括:
如果所述第一sn為0,所述當(dāng)前mbsfn子幀為所述sn復(fù)位時(shí)間點(diǎn),且保存的sdu分段和當(dāng)前pdu之間沒有丟失過數(shù)據(jù),則將之前保存的sdu分段和當(dāng)前pdu中的第一個(gè)sdu分段合并出完整的sdu;
如果所述第一sn不為0,則丟棄之前保存的sdu分段和當(dāng)前pdu中的第一個(gè)sdu分段。
上述方案中,確定所述保存的sdu和當(dāng)前pdu之間沒有丟失過數(shù)據(jù)的方法,包括:
如果所述保存的sdu分段是在所述當(dāng)前pdu前一個(gè)連續(xù)的mbsfn子幀被更新過,且所述當(dāng)前pdu前一個(gè)連續(xù)的mbsfn子幀和當(dāng)前pdu的mbsfn子幀為配置給同一終端的mbsfn子幀,則確定保存的sdu分段和當(dāng)前pdu之間沒有丟失過數(shù)據(jù)。
上述方案中,所述rlc組包sn復(fù)位時(shí)間點(diǎn),包括:mcch修改周期點(diǎn)、和/或msi周期點(diǎn)。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)包處理裝置,所述裝置包括:第一獲取模塊、組包模塊;其中,
所述第一獲取模塊,用于獲取當(dāng)前mbsfn子幀信息和rlc組包sn復(fù)位時(shí)間點(diǎn);
所述組包模塊,用于根據(jù)mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu組包。
上述方案中,所述組包模塊,具體用于:
所述mbsfn子幀為所述sn復(fù)位時(shí)間點(diǎn),且有上一次pdu組包剩余sdu分段組入時(shí),將所述sdu分段所屬sdu重新組包到pdu中;和/或,所述mbsfn子幀為所述sn復(fù)位時(shí)間點(diǎn)的前一個(gè)mbsfn子幀,且有sdu不能完全組入當(dāng)前pdu中,需要進(jìn)行分段時(shí),放棄將所述sdu組入當(dāng)前pdu中。
上述方案中,所述sn復(fù)位時(shí)間點(diǎn),包括:mcch修改周期點(diǎn)、和/或msi周期點(diǎn)。
本發(fā)明實(shí)施例還提供了一種數(shù)據(jù)包處理裝置,所述裝置包括:第二獲取模塊、解包模塊;其中,
所述第二獲取模塊,用于獲取當(dāng)前pdu對(duì)應(yīng)的第一sn、前一個(gè)pdu對(duì)應(yīng)的第二sn、當(dāng)前mbsfn子幀、和rlc組包sn復(fù)位時(shí)間點(diǎn)信息;
所述解包模塊,用于比較所述第一sn和所述第二sn,當(dāng)所述第一sn和第二sn不連續(xù)時(shí),根據(jù)所述第一sn、以及所述當(dāng)前mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu解包。
上述方案中,所述解包模塊,具體用于:
如果所述第一sn為0,所述當(dāng)前mbsfn子幀為所述sn復(fù)位時(shí)間點(diǎn),且保存的sdu分段和當(dāng)前pdu之間沒有丟失過數(shù)據(jù),則將之前保存的sdu分段和當(dāng)前pdu中的第一個(gè)sdu分段合并出完整的sdu;
如果所述第一sn不為0,則丟棄之前保存的sdu分段和當(dāng)前pdu中的第一個(gè)sdu分段。
上述方案中,所述解包模塊,還用于:
如果所述保存的sdu分段是在所述當(dāng)前pdu前一個(gè)連續(xù)的mbsfn子幀被更新過,且所述當(dāng)前pdu前一個(gè)連續(xù)的mbsfn子幀和當(dāng)前pdu的mbsfn子幀為配置給同一終端的mbsfn子幀,則確定保存的sdu分段和當(dāng)前pdu之間沒有丟失過數(shù)據(jù)。
上述方案中,所述rlc組sn復(fù)位時(shí)間點(diǎn),包括:mcch修改周期點(diǎn)、和/或msi周期點(diǎn)。
本發(fā)明實(shí)施例所提供的數(shù)據(jù)包處理方法和裝置,在基站側(cè),獲取當(dāng)前mbsfn子幀信息和rlc組包sn復(fù)位時(shí)間點(diǎn);根據(jù)所述mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu組包;在終端側(cè),獲取當(dāng)前pdu對(duì)應(yīng)的第一sn、前一個(gè)pdu對(duì)應(yīng)的第二sn、當(dāng)前mbsfn子幀、和rlc組包sn復(fù)位時(shí)間點(diǎn);比較所述第一sn和所述第二sn,當(dāng)所述第一sn和第 二sn不連續(xù)時(shí),根據(jù)所述第一sn、以及所述當(dāng)前mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu解包。如此,rlc組包sn復(fù)位時(shí)間點(diǎn),如mcch修改周期點(diǎn)、和/或msi周期點(diǎn)的場(chǎng)景下,能避免基站側(cè)發(fā)送sn不連續(xù)的pdu,終端能對(duì)sn不連續(xù)的sdu進(jìn)行合并;避免在mcch修改周期點(diǎn)和/或msi周期點(diǎn)的場(chǎng)景中丟包,從而提高傳輸成功率。
附圖說明
圖1為本發(fā)明實(shí)施例基站側(cè)數(shù)據(jù)包處理方法的流程示意圖;
圖2為本發(fā)明實(shí)施例第一種pdu組包方法的流程示意圖;
圖3為本發(fā)明實(shí)施例第二種pdu組包方法的流程示意圖;
圖4為本發(fā)明實(shí)施例終端側(cè)數(shù)據(jù)包處理方法的流程示意圖;
圖5為本發(fā)明實(shí)施例終端側(cè)pdu解包方法的流程示意圖;
圖6為本發(fā)明實(shí)施例基站側(cè)數(shù)據(jù)包處理裝置的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例終端側(cè)數(shù)據(jù)包處理裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例中,所述方法包括:在基站側(cè),獲取當(dāng)前mbsfn子幀信息和rlc組包sn復(fù)位時(shí)間點(diǎn);根據(jù)所述mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu組包;在終端側(cè),獲取當(dāng)前pdu對(duì)應(yīng)的第一sn、前一個(gè)pdu對(duì)應(yīng)的第二sn、當(dāng)前mbsfn子幀、和rlc組包sn復(fù)位時(shí)間點(diǎn);比較所述第一sn和所述第二sn,當(dāng)所述第一sn和第二sn不連續(xù)時(shí),根據(jù)所述第一sn、以及所述當(dāng)前mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu解包。
下面結(jié)合實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說明。
本發(fā)明實(shí)施例提供的數(shù)據(jù)包處理方法,所述方法應(yīng)用于基站側(cè),如圖1所示,包括:
步驟101:獲取當(dāng)前mbsfn子幀信息和rlc組包sn復(fù)位時(shí)間點(diǎn);
這里,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;
通常,基站pdu組包在mbsfn子幀內(nèi)完成,所述mbsfn子幀可以理解為一個(gè)時(shí)間單位,每個(gè)mbsfn子幀有一個(gè)mbsfn子幀號(hào);mcch修改周期、和/或msi周期為一個(gè)時(shí)間長(zhǎng)度,多個(gè)mbsfn子幀組成一個(gè)mcch修改周期、和/或msi周期;因此一個(gè)周期內(nèi)的最后一個(gè)mbsfn子幀為mcch修改周期點(diǎn)或msi周期點(diǎn),最后一個(gè)mbsfn子幀可以根據(jù)子幀號(hào)來確定;如設(shè)定1024個(gè)mbsfn子幀為一個(gè)mcch修改周期、和/或msi周期,子幀號(hào)從1到1024,則子幀號(hào)為1024的mbsfn子幀為mcch修改周期點(diǎn)或msi周期點(diǎn)??梢栽趐du組包的時(shí),獲取當(dāng)前mbsfn子幀的信息。
步驟102:根據(jù)mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu組包;
這里,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;根據(jù)當(dāng)前pdu組包的mbsfn子幀與mcch修改周期點(diǎn)、和/或msi周期點(diǎn)的關(guān)系,可以采用兩種方法來避免sdu分段的產(chǎn)生。
如圖2所示,第一種方法包括:
步驟201:判斷所述mbsfn子幀是否為mcch修改周期、和/或msi周期;如果是,則表明sn會(huì)被復(fù)位為0,可能產(chǎn)生sn不連續(xù)的情況,執(zhí)行步驟202;否則,按正常組pdu流程進(jìn)行,直至組包接送,并發(fā)送完成組包的pdu;
步驟202:判斷上一次組pdu時(shí),是否有上一次pdu組包剩余sdu分段組入時(shí);如果有,則表明當(dāng)前組包中會(huì)產(chǎn)生一個(gè)sn不連續(xù)的sdu分段,進(jìn)行步驟203;否則,按正常組pdu流程進(jìn)行,直至組包接送,并發(fā)送完成組包的pdu;
步驟203:重新組包sdu分段所對(duì)應(yīng)的整個(gè)sdu,從該sdu第一個(gè)字節(jié)開始重新組包到pdu中;
如此,避免在mcch修改周期點(diǎn)、和/或msi周期點(diǎn)sn不連續(xù)的sdu分 段的產(chǎn)生。
如圖3所示,第二種方法包括:
步驟301:判斷當(dāng)前mbsfn子幀是否為mcch修改周期點(diǎn)、和/或msi周期點(diǎn)前一個(gè)配置的mbsfn子幀;如果是,則進(jìn)行步驟302;否則,按正常組pdu流程進(jìn)行,直至組包接送,并發(fā)送完成組包的pdu;
步驟302:判斷在當(dāng)前pdu組包時(shí),確定是否有sdu不能完全組入當(dāng)前pdu中,需要進(jìn)行分段;如果需要分段,則表明下一個(gè)mbsfn子幀組包中會(huì)產(chǎn)生不連續(xù)sn的sdu分段,執(zhí)行步驟303;否則,按正常組pdu流程進(jìn)行;
步驟303:放棄將所述當(dāng)前sdu組入當(dāng)前pdu;以確保只將完整的sdu組入當(dāng)前pdu,或確保當(dāng)前組入的sdu分段已經(jīng)是最后一個(gè)分段,能和之前pdu中的sdu分段組成一個(gè)完整的sdu。
這里,在基站中,所述第一種方法和第二種方法可以只采用其中的一種,也可以同時(shí)采用兩種。
本發(fā)明實(shí)施例提供的數(shù)據(jù)包處理方法,所述方法應(yīng)用于終端側(cè),如圖4所示,包括:
步驟401:獲取當(dāng)前pdu對(duì)應(yīng)的第一sn、前一個(gè)pdu對(duì)應(yīng)的第二sn、當(dāng)前mbsfn子幀、和rlc組包sn復(fù)位時(shí)間點(diǎn);
具體的,在每個(gè)配置給終端的mbsfn子幀,接收基站側(cè)發(fā)來的rlc層pdu;獲取當(dāng)前接收的pdu對(duì)應(yīng)的的sn、mbsfn子幀信息、和rlc組包sn復(fù)位時(shí)間點(diǎn);其中,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;
步驟402:比較所述第一sn和所述第二sn,當(dāng)所述第一sn和第二sn不連續(xù)時(shí),根據(jù)所述第一sn、以及所述當(dāng)前mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu解包;
具體的,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;如圖5所示,具體解包方法包括:
步驟501:判斷當(dāng)前接收的pdu的sn是否和上一個(gè)不連續(xù),如果是,則 可能發(fā)生了空口丟包,或sn在所述mcch修改周期點(diǎn)、和/或msi周期點(diǎn)被復(fù)位,需要進(jìn)行進(jìn)一步判斷,如此,執(zhí)行步驟502;否則,按正常組pdu流程進(jìn)行;
步驟502:判斷當(dāng)前接收的pdu的sn是否等于0,如果是,則表明所述當(dāng)前pdu對(duì)應(yīng)的sn可能在所述mcch修改周期點(diǎn)、和/或msi周期點(diǎn)被復(fù)位,需執(zhí)行步驟503做進(jìn)一步判斷;否則,表明發(fā)生了空口丟包,前一個(gè)pdu和當(dāng)前pdu中未合并的的sdu分段無法合并,因此,丟棄之前保存的sdu分段,同時(shí)也丟棄當(dāng)前pdu中的第一個(gè)sdu分段;
步驟503:判斷當(dāng)前mbsfn子幀是否為mcch修改周期、和/或msi周期,如果是,則表明當(dāng)前pdu對(duì)應(yīng)的sn可能在所述mcch修改周期點(diǎn)、和/或msi周期點(diǎn)被復(fù)位,執(zhí)行步驟504做進(jìn)一步處理;否則,表明發(fā)生了空口丟包,因此,丟棄之前保存的sdu分段,同時(shí)也丟棄當(dāng)前pdu中的第一個(gè)sdu分段;
步驟504:判斷之前保存的sdu分段是否在上一個(gè)連續(xù)的、配置給該終端的mbsfn子幀被更新過,如此,可以確定保存的sdu分段和當(dāng)前pdu之間沒有丟失過數(shù)據(jù);如果是,則執(zhí)行步驟505;否則,表明保存的sdu分段和當(dāng)前sdu分段并不連續(xù),不能合并成完整的sdu,因此,丟棄之前保存的sdu分段,同時(shí)也丟棄當(dāng)前pdu中的第一個(gè)sdu分段;
步驟505:將之前保存的sdu分段和當(dāng)前接收的pdu中的第一個(gè)sdu分段合并出完整的sdu;如此,在mcch修改周期點(diǎn)或msi周期點(diǎn)這種場(chǎng)景中,sn雖然不連續(xù),但是,終端側(cè)之前保留的sdu分段和當(dāng)前接收的sn等于0的pdu中的第一個(gè)sdu分段,可以合并出一個(gè)完整sdu。
在實(shí)際應(yīng)用中,由于基站廠家和終端廠家的不同等原因,本發(fā)明實(shí)施例基站側(cè)的技術(shù)方案可能不適于應(yīng)用到所有基站,本發(fā)明實(shí)施例終端側(cè)的技術(shù)方案可能不適于應(yīng)用到所有終端;因此,可以考慮同時(shí)在基站側(cè)和終端側(cè)采用本發(fā)明實(shí)施例的技術(shù)方案,以保證提升本發(fā)明實(shí)施例所提供技術(shù)方案的效果。
本發(fā)明實(shí)施例提供的數(shù)據(jù)包處理裝置,如圖6所示,所述裝置包括:第一 獲取模塊61、組包模塊62;其中,
所述第一獲取模塊61,用于獲取當(dāng)前mbsfn子幀信息和rlc組包sn復(fù)位時(shí)間點(diǎn);
這里,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;
通常,基站pdu組包在mbsfn子幀內(nèi)完成,所述mbsfn子幀可以理解為一個(gè)時(shí)間單位,每個(gè)mbsfn子幀有一個(gè)mbsfn子幀號(hào);mcch修改周期、和/或msi周期為一個(gè)時(shí)間長(zhǎng)度,多個(gè)mbsfn子幀組成一個(gè)mcch修改周期、和/或msi周期;因此一個(gè)周期內(nèi)的最后一個(gè)mbsfn子幀為mcch修改周期點(diǎn)或msi周期點(diǎn),最后一個(gè)mbsfn子幀可以根據(jù)子幀號(hào)來確定;如設(shè)定1024個(gè)mbsfn子幀為一個(gè)mcch修改周期、和/或msi周期,子幀號(hào)從1到1024,則子幀號(hào)為1024的mbsfn子幀為mcch修改周期點(diǎn)或msi周期點(diǎn)??梢栽趐du組包時(shí),獲取當(dāng)前mbsfn子幀的信息;
所述組包模塊62,用于根據(jù)mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu組包;
具體的,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;根據(jù)當(dāng)前pdu組包的mbsfn子幀與mcch修改周期點(diǎn)、和/或msi周期點(diǎn)的關(guān)系,所述組包模塊62可以采用兩種方法進(jìn)行組包:
所述組包模塊62采用第一種方法組包,包括:
判斷所述mbsfn子幀是否為mcch修改周期、和/或msi周期;如果是,則表明sn會(huì)被復(fù)位為0,可能產(chǎn)生sn不連續(xù)的情況,需進(jìn)行下一步處理;否則,按正常組pdu流程進(jìn)行,直至組包接送,并發(fā)送完成組包的pdu;
判斷上一次組pdu時(shí),是否有上一次pdu組包剩余sdu分段組入時(shí);如果有,則表明當(dāng)前組包中會(huì)產(chǎn)生一個(gè)sn不連續(xù)的sdu分段,進(jìn)行下一步的組包處理;否則,按正常組pdu流程進(jìn)行,直至組包接送,并發(fā)送完成組包的pdu;
重新組包sdu分段所對(duì)應(yīng)的整個(gè)sdu,從該sdu第一個(gè)字節(jié)開始重新組 包到pdu中;
如此,避免在mcch修改周期點(diǎn)、和/或msi周期點(diǎn)sn不連續(xù)的sdu分段的產(chǎn)生。
所述組包模塊62采用第二種方法組包,包括:
判斷當(dāng)前mbsfn子幀是否為mcch修改周期點(diǎn)、和/或msi周期點(diǎn)前一個(gè)配置的mbsfn子幀;如果是,則進(jìn)行下一步的判斷;否則,按正常組pdu流程進(jìn)行,直至組包接送,并發(fā)送完成組包的pdu;
判斷在當(dāng)前pdu組包時(shí),確定是否有sdu不能完全組入當(dāng)前pdu中,需要進(jìn)行分段;如果需要分段,則表明下一個(gè)mbsfn子幀組包中會(huì)產(chǎn)生不連續(xù)sn的sdu分段,進(jìn)行下一步的處理;否則,按正常組pdu流程進(jìn)行;
放棄將所述當(dāng)前sdu組入當(dāng)前pdu;以確保只將完整的sdu組入當(dāng)前pdu,或確保當(dāng)前組入的sdu分段已經(jīng)是最后一個(gè)分段,能和之前pdu中的sdu分段組成一個(gè)完整的sdu;
在實(shí)際應(yīng)用中,所述第一獲取模塊61、組包模塊62,均可由位于基站中的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號(hào)處理器(dsp)、或現(xiàn)場(chǎng)可編程門陣列(fpga)等實(shí)現(xiàn)。
本發(fā)明實(shí)施例提供的數(shù)據(jù)包處理裝置,如圖7所示,所述裝置包括:第二獲取模塊71、解包模塊72;其中,
所述第二獲取模塊71,用于獲取當(dāng)前pdu對(duì)應(yīng)的第一sn、前一個(gè)pdu對(duì)應(yīng)的第二sn、當(dāng)前mbsfn子幀、和rlc組包sn復(fù)位時(shí)間點(diǎn);
具體的,在每個(gè)配置給終端的mbsfn子幀,接收基站側(cè)發(fā)來的rlc層pdu;獲取當(dāng)前接收的pdu對(duì)應(yīng)的的sn、mbsfn子幀信息、和rlc組包sn復(fù)位時(shí)間點(diǎn);其中,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;
所述解包模塊72,比較所述第一sn和所述第二sn,當(dāng)所述第一sn和第二sn不連續(xù)時(shí),根據(jù)所述第一sn、以及所述當(dāng)前mbsfn子幀與所述sn復(fù)位時(shí)間點(diǎn)的關(guān)系,采用不同方式進(jìn)行pdu解包;
具體的,所述rlc組包sn復(fù)位時(shí)間點(diǎn)包括:mcch修改周期、和/或msi周期;所述解包模塊72采用不同方式進(jìn)行pdu解包,包括:
判斷當(dāng)前接收的pdu的sn是否和上一個(gè)不連續(xù),如果是,則可能發(fā)生了空口丟包,或sn在所述mcch修改周期點(diǎn)、和/或msi周期點(diǎn)被復(fù)位,需要進(jìn)行進(jìn)一步判斷,如此,進(jìn)行下一步判斷;否則,按正常組pdu流程進(jìn)行;
判斷當(dāng)前接收的pdu的sn是否等于0,如果是,則表明所述當(dāng)前pdu對(duì)應(yīng)的sn可能在所述mcch修改周期點(diǎn)、和/或msi周期點(diǎn)被復(fù)位,需進(jìn)行下一步判斷;否則,表明發(fā)生了空口丟包,前一個(gè)pdu和當(dāng)前pdu中未合并的的sdu分段無法合并,因此,丟棄之前保存的sdu分段,同時(shí)也丟棄當(dāng)前pdu中的第一個(gè)sdu分段;
判斷當(dāng)前mbsfn子幀是否為mcch修改周期、和/或msi周期,如果是,則表明當(dāng)前pdu對(duì)應(yīng)的sn可能在所述mcch修改周期點(diǎn)、和/或msi周期點(diǎn)被復(fù)位,需做進(jìn)一步的判斷;否則,表明發(fā)生了空口丟包,因此丟棄之前保存的sdu分段,同時(shí)也丟棄當(dāng)前pdu中的第一個(gè)sdu分段;
判斷之前保存的sdu分段是否在上一個(gè)連續(xù)的,配置給該終端的mbsfn子幀被更新過,如此,可以確定保存的sdu分段和當(dāng)前pdu之間沒有丟失過數(shù)據(jù);如果是,則按照下一步的處理方法進(jìn)行處理;否則,表明保存的sdu分段和當(dāng)前sdu分段并不連續(xù),不能合并成完整的sdu,因此,丟棄之前保存的sdu分段,同時(shí)也丟棄當(dāng)前pdu中的第一個(gè)sdu分段;
將之前保存的sdu分段和當(dāng)前接收的pdu中的第一個(gè)sdu分段合并出完整的sdu;如此,在mcch修改周期點(diǎn)或msi周期點(diǎn)這種場(chǎng)景中,sn雖然不連續(xù),但是終端側(cè)之前保留的sdu分段和當(dāng)前接收的sn等于0的pdu中的第一個(gè)sdu分段,可以合并出一個(gè)完整sdu。
在實(shí)際應(yīng)用中,由于基站廠家和終端廠家的不同等原因,本發(fā)明實(shí)施例基站側(cè)的技術(shù)方案可能不適于應(yīng)用到所有基站,本發(fā)明實(shí)施例終端側(cè)的技術(shù)方案可能不適于應(yīng)用到所有終端;因此,可以考慮同時(shí)在基站側(cè)和終端側(cè)采用本發(fā)明實(shí)施例的技術(shù)方案,以保證提升本發(fā)明實(shí)施例所提供技術(shù)方案的效果。
在實(shí)際應(yīng)用中,所述第二獲取模塊71、解包模塊72,均可由位于終端中的中央處理器(cpu)、微處理器(mpu)、數(shù)字信號(hào)處理器(dsp)、或現(xiàn)場(chǎng)可編程門陣列(fpga)等實(shí)現(xiàn)。
以上所述,僅為本發(fā)明的佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。