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