專利名稱:一種處理重傳數(shù)據(jù)的方法及基站的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及ー種通信領(lǐng)域,特別涉及一種處理重傳數(shù)據(jù)的方法及基站。
背景技術(shù):
RLC (Radio Link Control,無線鏈路控制)協(xié)議層在 LTE (Long Term Evolution,長期演迸)系統(tǒng)的無線接ロ協(xié)議棧中,是層2 (L2)的一個(gè)子層,位于MAC (Media AccessControl,媒體接入控制)層之上,RLC協(xié)議層為用戶和控制數(shù)據(jù)提供分段和重傳業(yè)務(wù)。RLC協(xié)議層的功能包括鏈接控制、封裝和重組、級(jí)聯(lián)、用戶數(shù)據(jù)傳輸、糾錯(cuò)、協(xié)議錯(cuò)誤檢測和修復(fù)等。每個(gè)RLC協(xié)議實(shí)體由RRC配置,并以三種模式進(jìn)行操作,分別為透明模式(TransparentMode,簡稱 TM)、非確認(rèn)模式(Unacknowledged Mode,簡稱 UM)、確認(rèn)模式(AcknowledgedMode,簡稱 AM)。 在確認(rèn)模式中,發(fā)送側(cè)在高層數(shù)據(jù)上添加必要的控制協(xié)議開銷后進(jìn)行傳送,并保證傳遞到對(duì)等實(shí)體。對(duì)于確認(rèn)(AM)模式下的RLC層協(xié)議實(shí)例在處理本端F1DU (ProtocolData Unit,協(xié)議數(shù)據(jù)單元)時(shí),根據(jù)對(duì)等層發(fā)送的狀態(tài)報(bào)告作出對(duì)于本端H)U進(jìn)行下一歩的處理。如果收到的狀態(tài)報(bào)告中指示前一次發(fā)送的PDU中一部分或者全部未發(fā)送成功,那么,確認(rèn)(AM)模式下的RLC實(shí)例會(huì)根據(jù)狀態(tài)報(bào)告中的指示對(duì)本端PDU進(jìn)行拆分,并重傳。在進(jìn)行確認(rèn)模式重傳過程中,協(xié)議中為了對(duì)不同的業(yè)務(wù)進(jìn)行可靠性區(qū)分,制定了maxRetxThreshold (最大重傳次數(shù))的定義,用來約束這個(gè)業(yè)務(wù)最多可進(jìn)行的重傳次數(shù)。當(dāng)前實(shí)現(xiàn)采用軟件根據(jù)姆個(gè)TTI (Transmission Time Interval,傳輸時(shí)間間隔)的調(diào)度資源進(jìn)行PDU切割并完成組包,需要通過CPU指令完成內(nèi)存中數(shù)據(jù)的搬移工作,這種指令完成內(nèi)存搬移的操作本身效率就非常差,是不爭的事實(shí),也是作為系統(tǒng)設(shè)計(jì)人員在設(shè)計(jì)系統(tǒng)時(shí)需要盡量避免得一種行為,當(dāng)重傳操作頻繁操作時(shí),會(huì)對(duì)CPU以及內(nèi)存總線造成很重的負(fù)荷去完成這些工作,這樣的處理模式存在重傳處理效率不高的問題,并且導(dǎo)致基站處理器資源被少數(shù)業(yè)務(wù)不斷占用,導(dǎo)致其他用戶業(yè)務(wù)處理遭到影響,甚至導(dǎo)致基站癱瘓。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種處理重傳數(shù)據(jù)的方法及基站,以減小占用處理器資源,提高重傳處理效率。為了解決上述技術(shù)問題,本發(fā)明提供了一種處理重傳數(shù)據(jù)的方法,包括
基站接收到構(gòu)造重傳報(bào)文的狀態(tài)報(bào)告后,根據(jù)該狀態(tài)報(bào)告的指示申請(qǐng)第一硬件重傳隊(duì)
列;
將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)列;
利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸。進(jìn)ー步地,上述方法還具有下面特點(diǎn)所述基站利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸?shù)牟襟E包括
所述基站調(diào)度傳輸塊,根據(jù)所述傳輸塊的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳數(shù)據(jù)的描述符掛接到第二硬件重傳隊(duì)列中,然后將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊中發(fā)送。進(jìn)一步地,上述方法還具有下面特點(diǎn)所述基站調(diào)度傳輸塊之后,還包括
所述基站若判斷所述傳輸塊小于門限值,則根據(jù) 最小硬件重傳隊(duì)列的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳節(jié)點(diǎn)的描述符掛接到最小硬件重傳隊(duì)列中,然后發(fā)送所述最小硬件重傳隊(duì)列指示的重傳數(shù)據(jù)。進(jìn)一步地,上述方法還具有下面特點(diǎn)所述基站將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊的步驟包括
所述基站依次判斷第二硬件重傳隊(duì)列中的重傳節(jié)點(diǎn)的長度是否小于所述傳輸塊的剩余長度,若是,則直接將所述重傳節(jié)點(diǎn)的重傳數(shù)據(jù)填充到所述傳輸塊;否則,從該重傳節(jié)點(diǎn)中截取重傳數(shù)據(jù)填充滿所述傳輸塊。進(jìn)一步地,上述方法還具有下面特點(diǎn)所述基站將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)列的過程中還包括
保存第一硬件重傳隊(duì)列的隊(duì)列標(biāo)識(shí)與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)的描述符在第一硬件重傳隊(duì)列中鏈接關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中存儲(chǔ)的頭地址與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中分片存儲(chǔ)的地址的鏈接關(guān)系,及保存所述重傳數(shù)據(jù)的分片描述符與分片存儲(chǔ)地址的對(duì)應(yīng)關(guān)系。為了解決上述問題,本發(fā)明還提供了一種基站,包括
申請(qǐng)模塊,用于接收到構(gòu)造重傳報(bào)文的狀態(tài)報(bào)告后,根據(jù)該狀態(tài)報(bào)告的指示申請(qǐng)第一硬件重傳隊(duì)列;
存儲(chǔ)模塊,用于將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)
列;
傳輸模塊,用于利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸。進(jìn)一步地,上述基站還具有下面特點(diǎn)所述傳輸模塊包括
調(diào)度單元,用于調(diào)度傳輸塊;
掛接單元,用于根據(jù)所述傳輸塊的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳數(shù)據(jù)的描述符掛接到第二硬件重傳隊(duì)列中;
傳輸單元,用于將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊中發(fā)送。進(jìn)一步地,上述基站還具有下面特點(diǎn)所述傳輸單元包括
判斷子單元,用于依次判斷第二硬件重傳隊(duì)列中的重傳節(jié)點(diǎn)的長度是否小于所述傳輸塊的剩余長度;
第一填充單元,用于在判斷子單元判斷是的情況下,直接將所述重傳節(jié)點(diǎn)中的重傳數(shù)據(jù)填充到所述傳輸塊;
第二填充單元,用于在判斷子單元判斷否的情況下,從該重傳節(jié)點(diǎn)中截取重傳數(shù)據(jù)填充滿所述傳輸塊。進(jìn)一步地,上述基站還具有下面特點(diǎn)所述傳輸模塊還包括
判斷單元,用于判斷所述傳輸塊是否小于門限值;
所述掛接單元,還用于在所述判斷單元判斷所述傳輸塊小于門限值的情況下,根據(jù)最小硬件重傳隊(duì)列的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳節(jié)點(diǎn)的描述符掛接到最小硬件重傳隊(duì)列中;
所述傳輸単元,還用于發(fā)送所述最小硬件重傳隊(duì)列指示的重傳數(shù)據(jù)。進(jìn)ー步地,上述基站還具有下面特點(diǎn)
所述存儲(chǔ)模塊,存儲(chǔ)重傳數(shù)據(jù)的描述符的過程中還用于,保存第一硬件重傳隊(duì)列的隊(duì)列標(biāo)識(shí)與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)的描述符在第一硬件重傳隊(duì)列中鏈接關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中存儲(chǔ)的頭地址與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中分片存儲(chǔ)的地址的鏈接關(guān)系,及保存所述重傳數(shù)據(jù)的分片描述符與分片存儲(chǔ)地址的對(duì)應(yīng)關(guān)系。進(jìn)ー步地,上述基站還具有下面特點(diǎn)所述基站為微型基站或毫微型基站。綜上,本發(fā)明提供一種處理重傳數(shù)據(jù)的方法及基站,可以明顯地減少處理器資源 被少數(shù)業(yè)務(wù)不斷占用,可以提高單芯片的處理能力,降低產(chǎn)品成本,本發(fā)明的應(yīng)用可以減少芯片尺寸同時(shí)提聞處通能力。
圖I為本發(fā)明實(shí)施例的基站的不意 圖2a和圖2b是本實(shí)施例提供的硬件隊(duì)列管理器管理重傳數(shù)據(jù)的示意 圖3為本發(fā)明的一種處理重傳數(shù)據(jù)的方法的流程 圖4為本發(fā)明實(shí)施例的基站重傳報(bào)文的流程 圖5為RLC協(xié)議層構(gòu)造重傳數(shù)據(jù)的流程圖。
具體實(shí)施例方式本發(fā)明為了提高AM模式下的重傳處理效率,利用硬件隊(duì)列管理器以減少處理過程中流程的實(shí)現(xiàn)復(fù)雜度??紤]到在支持非常多業(yè)務(wù)數(shù)量的情況下,且硬件隊(duì)列管理器的實(shí)現(xiàn)需要在處理器內(nèi)部完成,硬件資源占用量會(huì)非常大,所以本發(fā)明主要應(yīng)用于Pico(微型基姑)和FEMTO (毫微型基站)中。為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下文中將結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行詳細(xì)說明。需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互任意組合。如圖I所示,本發(fā)明實(shí)施例提供的基站包括
申請(qǐng)模塊,用于接收到構(gòu)造重傳報(bào)文的狀態(tài)報(bào)告后,根據(jù)該狀態(tài)報(bào)告的指示申請(qǐng)第一硬件重傳隊(duì)列;
存儲(chǔ)模塊,用于將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)
列;
傳輸模塊,用于利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸。本發(fā)明不需要通過CPU指令完成內(nèi)存中數(shù)據(jù)的搬移工作,當(dāng)重傳操作頻繁操作吋,不會(huì)對(duì)CPU以及內(nèi)存總線造成很重的負(fù)荷。在一優(yōu)選實(shí)施例中,所述傳輸模塊包括調(diào)度單元,用于調(diào)度傳輸塊;
掛接單元,用于根據(jù)所述傳輸塊的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳數(shù)據(jù)的描述符掛接到第二硬件重傳隊(duì)列中;
傳輸單元,用于將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊中發(fā)送。其中,所述傳輸單元可以進(jìn)一步包括
判斷子單元,用于依次判斷第二硬件重傳隊(duì)列中的重傳節(jié)點(diǎn)的長度是否小于所述傳輸塊的剩余長度;
第一填充單元,用于在判斷子單元判斷是的情況下,直接將所述重傳節(jié)點(diǎn)中的重傳數(shù)據(jù)填充到所述傳輸塊;
第二填充單元,用于在判斷子單元判斷否的情況下,從該重傳節(jié)點(diǎn)中截取重傳數(shù)據(jù)填 充滿所述傳輸塊。在一優(yōu)選實(shí)施例中,所述傳輸模塊還可以包括
判斷單元,用于判斷所述傳輸塊是否小于門限值;
所述掛接單元,還用于在所述判斷單元判斷所述傳輸塊小于門限值的情況下,根據(jù)最小硬件重傳隊(duì)列的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳節(jié)點(diǎn)的描述符掛接到最小硬件重傳隊(duì)列中;
所述傳輸單元,還用于發(fā)送所述最小硬件重傳隊(duì)列指示的重傳數(shù)據(jù)。這樣,基站在信道質(zhì)量差的情況下,也能夠保證業(yè)務(wù)的持續(xù)進(jìn)行,同時(shí)還能提高用戶的感受度。其中,所述存儲(chǔ)模塊存儲(chǔ)重傳數(shù)據(jù)的描述符的過程中還用于,保存第一硬件重傳隊(duì)列的隊(duì)列標(biāo)識(shí)與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)的描述符在第一硬件重傳隊(duì)列中鏈接關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中存儲(chǔ)的頭地址與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中分片存儲(chǔ)的地址的鏈接關(guān)系,及保存所述重傳數(shù)據(jù)的分片描述符與分片存儲(chǔ)地址的對(duì)應(yīng)關(guān)系。圖2是本實(shí)施例提供的硬件隊(duì)列管理器管理重傳報(bào)文的示意圖,如圖2所示,Pl至P4構(gòu)成一個(gè)重傳隊(duì)列,PI、P2、P3、P4分別是一個(gè)F1DU (Protocol Data Unit,協(xié)議數(shù)據(jù)單元),根據(jù)不同用戶,Pl和P3為一個(gè)隊(duì)列,P2和P4為一個(gè)隊(duì)列。圖2 (a)的右部分,表示重傳數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式,按照單位存儲(chǔ)單元的大小將各個(gè)PDU進(jìn)行分片存儲(chǔ),例如,將Pl分為Pl_Cell_l、Pl_Cell_2、Pl_Cell_3,然后分別存儲(chǔ)在不同的存儲(chǔ)單元中,這樣Pl_Cell_l、Pl_Cell_2、Pl_Cell_3在各存儲(chǔ)單元的地址分別為 Add-1、Add-2、Add-3。本實(shí)施例中,需要配置5個(gè)RAM (Random Access Memory,隨機(jī)存儲(chǔ)器)分別存儲(chǔ)I個(gè)列表,用以保存重傳信息,如圖2 (b)所示
隊(duì)列標(biāo)識(shí)表,如圖2 (b)所不,一行表不一個(gè)隊(duì)列,分別對(duì)應(yīng)一個(gè)隊(duì)列號(hào),將同隊(duì)列的分組標(biāo)識(shí)放在同一行中,例如,如圖2 (a)所不,將Pl和P3分為一隊(duì),貝U—個(gè)隊(duì)列號(hào)與同一隊(duì)列的分組描述符對(duì)應(yīng),即Q-I對(duì)應(yīng)Pl和P3的標(biāo)識(shí)P-I和P-3,
隊(duì)列鏈表,用于描述各分組描述符所代表的分組之間的鏈接關(guān)系,例如,p-ι之后是P_3, P~2 之后是 P-4。分組標(biāo)識(shí)表,用于描述分組描述符與各分組的頭地址的對(duì)應(yīng)關(guān)系,例如,P-I與Add-I對(duì)應(yīng),P-2與Add-6對(duì)應(yīng)、P-3與Add-Il對(duì)應(yīng)等;
分組鏈表,用于描述各分片地址之間的鏈接關(guān)系,例如,Add-I鏈接Add-2,Add-2鏈接Add-3。數(shù)據(jù)表,用于描述各分片地址與各分組分片描述符的對(duì)應(yīng)關(guān)系。本發(fā)明進(jìn)行緩存及隊(duì)列管理的實(shí)現(xiàn)原理如下
入隊(duì)過程
I、讀空閑資源,得空閑頭地址;
若硬件存儲(chǔ)單元中具有空閑資源,則可以用來存儲(chǔ)重傳數(shù)據(jù)。
2、利用空閑地址寫“數(shù)據(jù)表”,同時(shí)用該地址更新“分組鏈表”;
3、根據(jù)分組數(shù)量,重復(fù)(2)多次;
4、根據(jù)該分組所屬的隊(duì)列號(hào),讀“隊(duì)列標(biāo)識(shí)表”,依次得到該隊(duì)列中的其他的分組描述
符;
5、利用非隊(duì)首的分組描述符,將對(duì)應(yīng)各分組的第一個(gè)分片地址更新到“分組標(biāo)識(shí)表”和“隊(duì)列鏈表”;
6、更新隊(duì)列標(biāo)識(shí)表。這里以隊(duì)列Q_1為例
首先,獲得空閑頭地址Add-1,利用Add-I在數(shù)據(jù)表中寫分片Pl_Cell_l,依次將分組分片描述符寫入數(shù)據(jù)表中,在隊(duì)列標(biāo)識(shí)表中保存所有隊(duì)列標(biāo)識(shí)與分組描述符的對(duì)應(yīng)關(guān)系,在隊(duì)列鏈表中存儲(chǔ)各分組描述符相關(guān)的連接關(guān)系,在分組標(biāo)識(shí)表中存儲(chǔ)分組描述符與對(duì)應(yīng)的頭地址的對(duì)應(yīng)關(guān)系;在分組鏈表中進(jìn)行索引將分組分片地址連接關(guān)系建立起來,數(shù)據(jù)表中保存的是所有的待處理數(shù)據(jù)的地址,通過這些地址完成真正數(shù)據(jù)的獲取。出隊(duì)過程包括下面步驟
1、根據(jù)調(diào)度隊(duì)列號(hào),讀“隊(duì)列標(biāo)識(shí)表”,得隊(duì)列頭地址標(biāo)識(shí)(即分組描述符);
2、利用隊(duì)列頭地址標(biāo)識(shí),讀“分組標(biāo)識(shí)表”得對(duì)應(yīng)的存儲(chǔ)單元地址;
3、利用隊(duì)列頭地址標(biāo)識(shí),讀“隊(duì)列鏈表”,更新隊(duì)列頭(寫“隊(duì)列標(biāo)識(shí)表”);
4、用存儲(chǔ)單元地址讀“數(shù)據(jù)表”,讀出第一個(gè)分片;
5、用存儲(chǔ)單元地址讀“分組鏈表”,進(jìn)而讀出其他分片;
6、每讀出一個(gè)分片,更新空閑鏈表(寫分組鏈表)。圖3為本發(fā)明的一種處理重傳數(shù)據(jù)的方法的流程圖,如圖3所示,包括下面步驟 S10、基站接收到構(gòu)造重傳報(bào)文的狀態(tài)報(bào)告后,根據(jù)該狀態(tài)報(bào)告的指示申請(qǐng)第一硬件隊(duì)
列;
S20、將所述狀態(tài)報(bào)告指示需要重傳數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)列;
S30、基站利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸。其中,步驟S30中,基站對(duì)重傳數(shù)據(jù)進(jìn)行重組和傳輸具體實(shí)施為
所述基站調(diào)度傳輸塊,根據(jù)所述傳輸塊的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳數(shù)據(jù)的描述符掛接到第二硬件重傳隊(duì)列中,然后將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊中發(fā)送。在另ー優(yōu)選實(shí)施例中,所述基站若判斷所述傳輸塊小于門限值,則根據(jù)最小硬件重傳隊(duì)列的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳節(jié)點(diǎn)的描述符掛接到最小硬件重傳隊(duì)列中,然后發(fā)送所述最小硬件重傳隊(duì)列指示的重傳數(shù)據(jù)。這樣,基站在信道質(zhì)量差的情況下,也能夠保證業(yè)務(wù)的持續(xù)進(jìn)行,同時(shí)還能提高用戶的感受度。本發(fā)明是在現(xiàn)有軟件實(shí)現(xiàn)技術(shù)的基礎(chǔ)上,基站在每次收到狀態(tài)報(bào)告構(gòu)造重傳報(bào)文的時(shí)候,首先判斷本次收到的NACK信息包含的重傳數(shù)據(jù)大小,根據(jù)重傳數(shù)據(jù)大小申請(qǐng)相應(yīng)的重傳隊(duì)列節(jié)點(diǎn),并且根據(jù)重傳數(shù)據(jù)大小的不同,申請(qǐng)將重傳隊(duì)列掛接在不同的硬件隊(duì)列中。根據(jù)本發(fā)明可以明顯地減少處理器資源被少數(shù)業(yè)務(wù)不斷占用,可以提高單芯片的處理能力,降低產(chǎn)品成本,本發(fā)明的應(yīng)用可以減少芯片尺寸同時(shí)提高處理能力 。雖然AM模式下的RLC發(fā)送端實(shí)體允許重傳,但處于對(duì)實(shí)際應(yīng)用場景的考慮,無限制地重傳是不現(xiàn)實(shí)的。假設(shè),RLC層收到MAC層的調(diào)度結(jié)果,TB(Transport Block,傳輸塊)的大小為8192 (BYTE,字節(jié)),RLC層按照TB的大小組了 8192大小的TOU,并發(fā)送到對(duì)端,記該P(yáng)DU為rou_i,若該TB在傳輸過程中丟失,此時(shí)信道質(zhì)量變差(即調(diào)度的TB小于預(yù)設(shè)的門限值),發(fā)送端會(huì)根據(jù)當(dāng)前的調(diào)度結(jié)果選取合適的重傳隊(duì)列完成數(shù)據(jù)塊硬件隊(duì)列掛接,并傳輸。如果在傳輸過程中信道質(zhì)量進(jìn)一步降低,若低于預(yù)設(shè)帶寬,此后,MAC層每次給的調(diào)度結(jié)果的TB大小都會(huì)按照最小存儲(chǔ)單元(例如,128kByte)的大小來調(diào)度,也就是說重傳隊(duì)列的選擇只有一種,將重傳報(bào)文拆分為128字節(jié)的隊(duì)列完成重傳,若重傳次數(shù)設(shè)置為8次,當(dāng)重傳還沒有完成的話,會(huì)觸發(fā)重建業(yè)務(wù)流程。設(shè)計(jì)硬件重傳隊(duì)列完成重傳報(bào)文的保存和管理,不同的隊(duì)列分組對(duì)應(yīng)不同大小的硬件重傳隊(duì)列,分組的大小可以根據(jù)實(shí)際情況盡可能的多。下面以LTE系統(tǒng)中無線鏈路控制層的重傳數(shù)據(jù)構(gòu)造作為實(shí)例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。首先,對(duì)硬件隊(duì)列資源進(jìn)行估算,保留重傳信息會(huì)占有一定的片內(nèi)RAM資源,可以為每用戶平均分配I. 5個(gè)DRB (專用業(yè)務(wù)承載)采用AM模式,發(fā)送窗口為512 (字節(jié)),可以采用64 bit寄存器完成重傳隊(duì)列的描述。假設(shè)
Cl) RLC發(fā)送側(cè)發(fā)送了 3個(gè)8192大小的PDU,記為PDU_1,PDU_2和PDU3,因?yàn)殒溌吩?,該rou_i在傳輸過程中丟失,RLC的接收側(cè)未收到該rou_i。(2)假設(shè)最大重傳次數(shù)配置為8。如圖4所示,基站重傳報(bào)文的具體步驟如下
步驟101,基站收到對(duì)端發(fā)送的狀態(tài)報(bào)告Status_l,解析狀態(tài)報(bào)告Status_l,獲取Nack信息,所述Nack信息指示H)U_1整體未收到。RLC協(xié)議層根據(jù)狀態(tài)報(bào)告指示的重傳數(shù)據(jù)大小,來獲取硬件重傳隊(duì)列的資源,申請(qǐng)將重傳隊(duì)列掛接在不同類型的硬件重傳隊(duì)列中。步驟102,因?yàn)樯洗挝词盏絅ACK信息,基站將H)U_1的NACK信息保存下來,按照NACK信息的指示將rou_i整體作為重傳rou,并根據(jù)rou_i大小申請(qǐng)相應(yīng)的硬件重傳隊(duì)列節(jié)點(diǎn)來存儲(chǔ)rou_i,并將該rou_i對(duì)應(yīng)的隊(duì)列描述符掛入重傳隊(duì)列typei (類型I)中(重傳報(bào)文的入隊(duì)過程如上文所述),并將該H)U_l的重傳次數(shù)(PdulRetransCount)加I ;一般,基站在出廠過程中就設(shè)置了幾種TYPE的硬件隊(duì)列,每種TYPE的硬件重傳隊(duì)列對(duì)應(yīng)不同大小的単位存儲(chǔ)單元。硬件重傳隊(duì)列type的劃分主要可以從兩個(gè)方面考慮
從運(yùn)營商主推業(yè)務(wù)方面考慮,例如,如果運(yùn)營商在該階段主推在線電影,兼顧下載功能,那么這些業(yè)務(wù)主要的報(bào)文大小都為1400字節(jié),那么在設(shè)置硬件重傳隊(duì)列的時(shí)候一定要有1400字節(jié)這種TYPE,同時(shí)為了兼顧別的業(yè)務(wù)能夠進(jìn)行,那么就在設(shè)計(jì)ー些比如512字節(jié)的硬件重傳隊(duì)列,最后可以再設(shè)計(jì)ー個(gè)最小重傳隊(duì)列比如64字節(jié),那么這個(gè)系統(tǒng)的設(shè)計(jì)的硬件重傳隊(duì)列就有單位存儲(chǔ)單元大小為1400字節(jié)、512字節(jié)、64字節(jié)三種TYPE。從用戶的角度考慮,假如用戶自己的日常應(yīng)用就是郵件下載,傳真等一些報(bào)文非常小的業(yè)務(wù),那么出廠過程中就可以設(shè)置幾種單位存儲(chǔ)量比較小TYPE的硬件隊(duì)列來滿足用戶的需要。步驟103,基站的RLC層收到MAC層的調(diào)度結(jié)果,例如,TB的大小為4000 BYTE,基站將在H)U_1中截取1-4000 BYTE的重傳數(shù)據(jù)的掛接到TYPE2重傳隊(duì)列中,后續(xù)由軟件參與調(diào)度加入到TB塊中發(fā)送出去(重傳報(bào)文的出隊(duì)過程如上文所述),具體流程如圖5所示。·步驟104,基站收到對(duì)端發(fā)送的狀態(tài)報(bào)告Status_2,解析狀態(tài)報(bào)告Status_2,獲取Nack信息,指示4001-8192字節(jié)未收到。步驟105,基站比較本次的Nack信息和上次的Nack信息,發(fā)現(xiàn)本次的Nack信息指示的重傳部分長度小于上次的Nack信息指示的重傳部分長度,按照本次的Nack信息指示的4001-8192數(shù)據(jù)部分構(gòu)造重傳I3DU ;
步驟106,基站收到MAC的調(diào)度結(jié)果,例如,TB的大小為5000,將重傳數(shù)據(jù)的4001-8192的字節(jié)加入到TB塊中發(fā)送出去;
但是,因?yàn)殒溌吩颍揟B塊在傳輸過程中丟失,RLC接收側(cè)未收到,則步驟107,基站收到對(duì)端發(fā)送的狀態(tài)報(bào)告Status_3,解析狀態(tài)報(bào)告Status_3,獲取Nack信息,指示4001-8192字節(jié)未收到。步驟108,基站比較本次的Nack信息和上次的Nack信息,若發(fā)現(xiàn)本次的Nack信息指示的重傳部分長度等于上次的Nack信息指示的重傳部分長度,首先對(duì)重傳次數(shù)(PdulRetransCount)進(jìn)行加I操作,判斷PdulRetransCount為2,小于3,不發(fā)起重建,按照本次的Nack信息指示的4001-8192數(shù)據(jù)部分構(gòu)造重傳H)U。步驟109,基站收到MAC的調(diào)度結(jié)果,例如,TB的大小為5000,RLC將重傳數(shù)據(jù)的4001-8192的字節(jié)加入到TB塊中發(fā)送出去;
步驟110,基站收到對(duì)端發(fā)送的狀態(tài)報(bào)告Status_4,解析狀態(tài)報(bào)告Status_4,發(fā)現(xiàn)PDU_1已經(jīng)完全收到,則刪除保存的H)U_1對(duì)應(yīng)的Nack信息。在重傳報(bào)文的過程中,若基站判斷信道質(zhì)量低于預(yù)定水平,則調(diào)度最小的傳輸塊將需要重傳的數(shù)據(jù)進(jìn)行多次重傳,以保證業(yè)務(wù)能夠持續(xù)進(jìn)行。圖5為RLC協(xié)議層構(gòu)造重傳數(shù)據(jù)的流程圖,如圖所示,包括下面步驟
步驟201,RLC協(xié)議層獲取到MAC層的調(diào)度結(jié)果,即本次可發(fā)送的TB的長度;
步驟202,RLC協(xié)議層根據(jù)狀態(tài)報(bào)告獲取重傳隊(duì)列的硬件資源,從重傳隊(duì)列中獲取ー個(gè)重傳節(jié)點(diǎn);
步驟203,RLC協(xié)議層判斷調(diào)度的TB是否小于門限值,若是,轉(zhuǎn)向步驟204,否則,轉(zhuǎn)向步驟205 ;步驟204,RLC協(xié)議層將重傳節(jié)點(diǎn)的描述符掛接到最小硬件重傳隊(duì)列中,然后發(fā)送所述最小硬件重傳隊(duì)列指示的重傳數(shù)據(jù);
步驟205,RLC協(xié)議層判斷剩余的TB長度是否大于獲取到的重傳節(jié)點(diǎn)的長度,若是,則轉(zhuǎn)向步驟206,否則轉(zhuǎn)向步驟207 ;
步驟206,RLC協(xié)議層直接將重傳節(jié)點(diǎn)的數(shù)據(jù)填充到TB塊中,然后返回步驟202 ;
步驟207,RLC協(xié)議層拆分重傳節(jié)點(diǎn),將剩余TB塊填充滿,然后發(fā)送。本領(lǐng)域普通技術(shù)人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關(guān)硬件完成,所述程序可以存儲(chǔ)于計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如只讀存儲(chǔ)器、磁盤或光盤等??蛇x地,上述實(shí)施例的全部或部分步驟也可以使用一個(gè)或多個(gè)集成電路來實(shí)現(xiàn)。相應(yīng)地,上述實(shí)施例中的各模塊/單元可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。本發(fā)明不限制于任何特定形式的硬件和軟件的結(jié)合。 以上僅為本發(fā)明的優(yōu)選實(shí)施例,當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種處理重傳數(shù)據(jù)的方法,包括 基站接收到構(gòu)造重傳報(bào)文的狀態(tài)報(bào)告后,根據(jù)該狀態(tài)報(bào)告的指示申請(qǐng)第一硬件重傳隊(duì)列; 將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)列; 利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸。
2.如權(quán)利要求I所述的方法,其特征在于所述基站利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸?shù)牟襟E包括 所述基站調(diào)度傳輸塊,根據(jù)所述傳輸塊的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳數(shù)據(jù)的描述符掛接到第二硬件重傳隊(duì)列中,然后將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊中發(fā)送。
3.如權(quán)利要求2所述的方法,其特征在于所述基站調(diào)度傳輸塊之后,還包括 所述基站若判斷所述傳輸塊小于門限值,則根據(jù)最小硬件重傳隊(duì)列的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳節(jié)點(diǎn)的描述符掛接到最小硬件重傳隊(duì)列中,然后發(fā)送所述最小硬件重傳隊(duì)列指示的重傳數(shù)據(jù)。
4.如權(quán)利要求2所述的方法,其特征在于所述基站將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊的步驟包括 所述基站依次判斷第二硬件重傳隊(duì)列中的重傳節(jié)點(diǎn)的長度是否小于所述傳輸塊的剩余長度,若是,則直接將所述重傳節(jié)點(diǎn)的重傳數(shù)據(jù)填充到所述傳輸塊;否則,從該重傳節(jié)點(diǎn)中截取重傳數(shù)據(jù)填充滿所述傳輸塊。
5.如權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于所述基站將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)列的過程中還包括 保存第一硬件重傳隊(duì)列的隊(duì)列標(biāo)識(shí)與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)的描述符在第一硬件重傳隊(duì)列中鏈接關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中存儲(chǔ)的頭地址與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中分片存儲(chǔ)的地址的鏈接關(guān)系,及保存所述重傳數(shù)據(jù)的分片描述符與分片存儲(chǔ)地址的對(duì)應(yīng)關(guān)系。
6.一種基站,包括 申請(qǐng)模塊,用于接收到構(gòu)造重傳報(bào)文的狀態(tài)報(bào)告后,根據(jù)該狀態(tài)報(bào)告的指示申請(qǐng)第一硬件重傳隊(duì)列; 存儲(chǔ)模塊,用于將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)列; 傳輸模塊,用于利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸。
7.如權(quán)利要求6所述的基站,其特征在于所述傳輸模塊包括 調(diào)度單元,用于調(diào)度傳輸塊; 掛接單元,用于根據(jù)所述傳輸塊的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳數(shù)據(jù)的描述符掛接到第二硬件重傳隊(duì)列中; 傳輸單元,用于將第二硬件重傳隊(duì)列指示的重傳數(shù)據(jù)填充到所述傳輸塊中發(fā)送。
8.如權(quán)利要求7所述的基站,其特征在于所述傳輸単元包括 判斷子単元,用于依次判斷第二硬件重傳隊(duì)列中的重傳節(jié)點(diǎn)的長度是否小于所述傳輸塊的剩余長度; 第一填充單元,用于在判斷子單元判斷是的情況下,直接將所述重傳節(jié)點(diǎn)中的重傳數(shù)據(jù)填充到所述傳輸塊; 第二填充單元,用于在判斷子單元判斷否的情況下,從該重傳節(jié)點(diǎn)中截取重傳數(shù)據(jù)填充滿所述傳輸塊。
9.如權(quán)利要求7所述的基站,其特征在于所述傳輸模塊還包括 判斷單元,用于判斷所述傳輸塊是否小于門限值; 所述掛接單元,還用于在所述判斷單元判斷所述傳輸塊小于門限值的情況下,根據(jù)最小硬件重傳隊(duì)列的大小從第一硬件重傳隊(duì)列中獲取對(duì)應(yīng)重傳節(jié)點(diǎn)的描述符掛接到最小硬件重傳隊(duì)列中; 所述傳輸單元,還用于發(fā)送所述最小硬件重傳隊(duì)列指示的重傳數(shù)據(jù)。
10.如權(quán)利要求6所述的基站,其特征在于 所述存儲(chǔ)模塊,存儲(chǔ)重傳數(shù)據(jù)的描述符的過程中還用于,保存第一硬件重傳隊(duì)列的隊(duì)列標(biāo)識(shí)與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)的描述符在第一硬件重傳隊(duì)列中鏈接關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中存儲(chǔ)的頭地址與所述重傳數(shù)據(jù)的描述符的對(duì)應(yīng)關(guān)系,保存所述重傳數(shù)據(jù)在內(nèi)存中分片存儲(chǔ)的地址的鏈接關(guān)系,及保存所述重傳數(shù)據(jù)的分片描述符與分片存儲(chǔ)地址的對(duì)應(yīng)關(guān)系。
11.如權(quán)利要求6-10任一項(xiàng)所述的基站,其特征在于 所述基站為微型基站或毫微型基站。
全文摘要
本發(fā)明提供一種處理重傳數(shù)據(jù)的方法及基站,該方法包括基站接收到構(gòu)造重傳報(bào)文的狀態(tài)報(bào)告后,根據(jù)該狀態(tài)報(bào)告的指示申請(qǐng)第一硬件重傳隊(duì)列;將所述狀態(tài)報(bào)告指示需要重傳的數(shù)據(jù)的描述符存儲(chǔ)在第一硬件重傳隊(duì)列;利用硬件隊(duì)列管理機(jī)制對(duì)第一硬件重傳隊(duì)列指定的重傳數(shù)據(jù)進(jìn)行重組和傳輸。根據(jù)本發(fā)明可以明顯地減少處理器資源被少數(shù)業(yè)務(wù)不斷占用,可以提高單芯片的處理能力,降低產(chǎn)品成本,本發(fā)明的應(yīng)用可以減少芯片尺寸同時(shí)提高處理能力。
文檔編號(hào)H04L1/18GK102790667SQ20111012916
公開日2012年11月21日 申請(qǐng)日期2011年5月18日 優(yōu)先權(quán)日2011年5月18日
發(fā)明者張景煜 申請(qǐng)人:中興通訊股份有限公司