CN101227483A - 一种无线链路控制层数据处理方法和装置 - Google Patents
一种无线链路控制层数据处理方法和装置 Download PDFInfo
- Publication number
- CN101227483A CN101227483A CNA2008100575889A CN200810057588A CN101227483A CN 101227483 A CN101227483 A CN 101227483A CN A2008100575889 A CNA2008100575889 A CN A2008100575889A CN 200810057588 A CN200810057588 A CN 200810057588A CN 101227483 A CN101227483 A CN 101227483A
- Authority
- CN
- China
- Prior art keywords
- pdu
- disappearance
- information
- receive
- receives
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种无线链路控制层数据处理方法和装置,所述方法包括检测接收到的PDU是否为重复接收的步骤,所述步骤包括:记录缺失PDU信息;根据所述缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收;将重复接收的PDU丢弃。本发明通过记录缺失PDU信息,并根据缺失PDU信息可以准确检测接收到的PDU是否为重复接收,从而有效避免了因SDU重组成功而移除相应PDU导致的检测失败。
Description
技术领域
本发明涉及移动通信技术领域,尤其涉及一种无线链路控制层数据处理方法和装置。
背景技术
第三代移动通信系统(The 3rd Generation,3G)的无线接口被划分为三个协议层:物理层(Layer 1)、数据链路层(Layer 2)和网络层(Layer 3)。无线链路控制层(Radio Link Control,RLC)为数据链路层的一部分,为网络层提供数据发送和接收服务,并根据上层要求保障相应的服务质量。无线链路控制层支持三种工作模式:确认模式(Acknowledged Mode,AM)、非确认模式(Unacknowledged Mode,UM)和透明模式(Transparent Mode,TM),其中确认模式的服务质量最高,确认模式下可以通过基于滑动窗口的自动请求重传(Automatic Repeat ReQuest,ARQ)机制保证数据可靠性,因此在数据业务中RLC一般采用AM。
确认模式下,RLC实体(发送端和接收端)处理数据的过程如下:
RLC发送端接收到来自上层的服务数据单元(Service Data Unit,SDU)时,根据配置的RLC协议数据单元(Protocol Data Unit,PDU)大小对SDU进行分段,完成分段后得到RLC PDU,并交给物理层通过空中接口发送。
RLC接收端接收到RLC PDU后,根据每个PDU的序列号(SequenceNumber,SN)和长度指示(Length Indicator,LI)进行排序和重组,当能够组成一个完整的SDU时,将重组的SDU递交给上层。
RLC接收端向上层递交重组的SDU时,支持按序递交(in-sequencedelivery)和乱序递交(out-of-sequence delivery)两种方式。按序递交方式下,RLC接收端必须按照与RLC发送端发送数据完全一致的顺序,将SDU递交给上层;乱序递交方式下,可以将重组的SDU按照任意顺序递交给上层。SDU被递交后,从接收缓存中将承载该SDU数据的RLC PDU移除。
在确认方式下,由于无线接口随机性错误和自动请求重传机制的存在,某些PDU可能需要很长时间才能重传成功到达RLC接收端,因此按序递交方式下,RLC接收缓存中可能会因为一个PDU的缺失,而堆积大量后续接收到的PDU无法重组递交;乱序递交方式则不存在这种限制,只要能够重组成功,SDU可以随时被递交,即可以释放相应RLC PDU在接收缓存中占用的空间,所以乱序递交方式可以节省接收端内存,实际高速应用中向上层递交SDU的方式通常配置为该方式。
但是,对于重复接收的PDU,无论采用按序递交方式还是采用乱序递交方式,都可能存在因检测失败而导致的处理错误。根据协议中的现有规定,如果RLC接收端接收到一个重复接收的PDU(之前已经接收到序列号相同的PDU),应该将该PDU丢弃;而在任何一种递交方式下,PDU重组成SDU后,即被移除接收缓存,这时如果接收到相同序列号的PDU,RLC接收端将无法根据接收缓存中保存的PDU信息检测出该PDU已经被接收,进而无法将重复的PDU丢弃,一方面浪费接收端内存,另一方导致接收缓存混乱,最终可能引起发送端或接收端复位,影响无线链路质量。
发明内容
有鉴于此,本发明实施例的目的在于提供一种无线链路控制层数据处理方法和装置,使得RLC接收端无论配置为SDU按序递交方式还是SDU乱序递交方式,都能够准确检测出重复接收的PDU并进行丢弃。
为达到上述目的,一方面,本发明实施例提供一种无线链路控制层数据处理方法,包括检测接收到的协议数据单元PDU是否为重复接收的步骤,所述检测接收到的PDU是否为重复接收的步骤包括:
记录缺失PDU信息;
根据所述缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收;
将重复接收的PDU丢弃。
记录缺失PDU信息的方法为:
定义数据结构用于记录缺失PDU信息,所述数据结构以数组或链表方式对所述缺失PDU信息进行记录,数组或链表的一个元素对应一个或多个连续缺失的PDU,记录内容包括缺失PDU的起始序列号以及连续缺失的PDU的个数。
根据所述缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收之前还包括:
判断接收到的PDU是否在接收窗口范围内;
将超出接收窗口范围的PDU丢弃。
根据所述缺失PDU信息,判断接收的接收窗口范围内的PDU是否为重复接收之后还包括:
所述接收到的PDU不是重复接收时,更新所述缺失PDU信息,并将所述PDU保存到接收缓存中。
所述重复接收的PDU的序列号SN满足:
所述SN小于VR(H)且SN不在所述缺失PDU信息中;
所述VR(H)为下一个期望接收的最大PDU的序列号。
所述不是重复接收的PDU的SN满足:
所述SN大于或等于VR(H);或
所述SN既等于VR(R)又等于VR(H);或
所述SN在所述缺失PDU信息中;
所述VR(R)为下一个要接收的连续的PDU的序列号。
所述SN大于VR(H)时,更新所述缺失PDU信息的方法具体为:
增加一个记录缺失PDU信息的元素,所述元素的起始序列号等于VR(H),连续缺失的个数为所述SN与VR(H)的差。
所述SN在所述缺失PDU信息中时,更新所述缺失PDU信息的方法具体为:
如果所述SN等于所述缺失PDU信息中某元素的起始序列号,则将所述起始序列号加1,连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
如果所述SN等于所述缺失PDU信息中某元素的最大序列号,则将所述元素的连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
如果所述SN属于所述缺失PDU信息中某元素的缺失范围内,则将所述元素的连续缺失个数更新为所述SN与所述元素的起始序列号的差,并增加一个新的缺失PDU信息元素,所述新元素的起始序列号等于所述SN加1,连续缺失个数为所述SN与所述元素的原缺失个数的差。
另一方面,本发明实施例还提供一种无线链路控制层数据处理装置,包括用于检测接收到的PDU是否为重复接收的检测模块,所述检测模块包括:
记录单元,用于记录缺失PDU信息;
第二判断单元,用于根据所述缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收;
丢弃单元,用于将重复接收的PDU丢弃。
所述记录单元定义数据结构用于记录缺失PDU信息,所述数据结构以数组或链表方式对所述缺失PDU信息进行记录,数组或链表的一个元素对应一个或多个连续缺失的PDU,记录内容包括缺失PDU的起始序列号以及连续缺失的PDU的个数。
所述检测模块还包括:
第一判断单元,用于判断接收到的PDU是否在接收窗口范围内,将属于接收窗口范围的PDU发送给所述第二判断单元,将超出接收窗口范围的PDU发送给所述丢弃单元。
所述检测模块还包括:
处理单元,用于当所述接收到的PDU不是重复接收时,更新所述缺失PDU信息,并将所述PDU保存到接收缓存中。
所述重复接收的PDU的SN满足:
所述SN小于VR(H)且SN不在所述缺失PDU信息中。
所述不是重复接收的PDU的SN满足:
所述SN大于或等于VR(H);或
所述SN既等于VR(R)又等于VR(H);或
所述SN在所述缺失PDU信息中。
所述处理单元进一步包括:
第一处理子单元,用于当所述SN大于VR(H)时,增加一个记录缺失PDU信息的元素;
所述元素的起始序列号等于VR(H),连续缺失的个数为所述SN与VR(H)的差。
当所述SN在所述缺失PDU信息中时,所述处理单元进一步包括:
第二处理子单元,用于当所述SN等于所述缺失PDU信息中某元素的起始序列号时,将所述起始序列号加1,连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
第三处理子单元,用于当所述SN等于所述缺失PDU信息中某元素的最大序列号时,将所述元素的连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
第四处理子单元,用于当所述SN属于所述缺失PDU信息中某元素的缺失范围内时,将所述元素的连续缺失个数更新为所述SN与所述元素的起始序列号的差,并增加一个新的缺失PDU信息元素,所述新元素的起始序列号等于所述SN加1,连续缺失个数为所述SN与所述元素的原缺失个数的差。
与现有技术相比,本发明的实施例具有以下优点:
通过使用本发明实施例的方法和装置,记录缺失PDU信息并根据缺失PDU信息准确检测接收到的PDU是否为重复接收,有效避免了因SDU重组成功而移除相应PDU导致的检测失败,另外,对现有的RLC接收端和发送端对等层协议没有影响,只需要在接收端增加保存缺失PDU信息的数据结构,改动较小,可以很快投入应用。
附图说明
图1为本发明实施例的无线链路控制层数据处理方法流程图;
图2为本发明实施例的检测接收到的接收窗口内的PDU是否为重复接收的方法流程图;
图3至图8为本发明实施例的接收缓存中保存PDU情况示意图;
图9为本发明实施例的无线链路控制层数据处理装置示意图。
具体实施方式
在对本发明实施例进行详细说明之前,首先需要了解确认模式下RLC实体的滑动窗口机制。
确认模式下,RLC发送端和接收端分别有发送窗口和接收窗口,实现滑动窗口功能。RLC协议中定义了以下基本变量,用于记录窗口状态。
其中,发送端的基本变量包括:
发送状态变量VT(S):表示下一个要发送的PDU的序列号(不包括重传的PDU);
确认状态变量VT(A):表示下一个等待接收端确认的连续的PDU的序列号;
最大发送状态变量VT(MS):序列号大于等于VT(MS)的PDU将不允许被发送;VT(A)至VT(MS)之间的长度为发送窗口的大小。
接收端的基本变量包括:
接收状态变量VR(R):表示下一个要接收的连续的PDU的序列号;
最大期望接收状态变量VR(H):表示下一个期望接收的最大PDU的序列号;
最大允许接收的状态变量VR(MR):序列号大于等于VR(MR)的PDU将被拒绝接收;VR(R)至VR(MR)之间的长度为接收窗口的大小。
确认模式下,RLC发送端发出PDU时更新VT(S),接收到RLC接收端确认时更新VT(A)和VT(MS),从而使得发送窗口不断向前滑动。对于已发送的PDU,RLC发送端将其保存在已发送缓存里,得到RLC接收端确认后从已发送缓存中清除;当接收到RLC接收端的重传请求或接收到RLC接收端确认之前定时器超时,发送端对PDU进行重传。如果已发送的PDU一直得不到确认,则VT(A)和VT(MS)不变,VT(S)不断增加直到等于VT(MS),发送端暂停发送。
RLC接收端接收到PDU时,首先判断该PDU是否在接收窗口范围内,即该PDU的序列号是否在VR(R)和VR(MR)范围内,将超出接收窗口范围的PDU丢弃。对在接收窗口范围内的PDU,如果为按序接收,更新VR(R)和VR(MR),使得发送窗口不断向前滑动;如果不按序接收且该PDU的序列号大于VR(H),则更新VR(H)。同时,接收端根据发送端的轮询请求或状态报告定时器超时,向RLC发送端发送确认信息或重传请求。如果RLC接收端接收到的PDU总是连续,则VR(R)总是等于VR(H)。
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
本发明实施例的无线链路控制层数据处理方法如图1所示,具体步骤如下:
步骤11,RLC实体记录接收窗口内缺失PDU信息。
RLC实体通过定义数据结构用于记录接收窗口内缺失PDU信息。数据结构以数组或链表方式对接收窗口内的缺失PDU信息进行记录,数组或链表的一个元素对应一个或多个连续缺失的PDU。
记录内容包括缺失PDU的起始SN以及连续缺失的PDU的个数。
当然,记录内容也可能为所有缺失PDU的SN。
步骤12,根据缺失PDU信息,判断接收到的接收窗口内的PDU是否为重复接收,如果为重复接收,进入步骤13,否则进入步骤14。
步骤13,将重复接收的PDU丢弃。
步骤14,更新缺失PDU信息,并将该PDU保存到接收缓存中。
步骤15,对接收缓存中的PDU进行重组,判断是否可以得到完整的SDU,如果可以得到完整的SDU,进入步骤16,否则返回步骤12。
具体的,根据接收缓存中每个PDU的序列号和长度指示进行排序和重组。
步骤16,将重组后的SDU向上层递交,并将组成该SDU的PDU从接收缓存中移除。
向上层递交重组的SDU的方式可以为按序递交,也可以为乱序递交,具体根据RLC实体配置的要求实现。
假设RLC实体接收到序列号为SN的PDU,如图2所示,步骤12~步骤14具体包括:
步骤201,判断SN是否满足VR(R)<=SN<VR(MR),即判断SN是否在接收窗口范围内,如果SN在接收窗口范围内,进入步骤202,否则进入步骤212。
步骤202,判断SN是否满足SN=VR(R)且VR(R)=VR(H),即判断SN是否为下一个要接收的连续的PDU的SN,且为下一个期望接收的最大PDU的SN,如果是,表明当前为按序接收,进入步骤203,否则进入步骤204。
步骤203,更新VR(R)、VR(H)和VR(MR),使得发送窗口不断向前滑动,然后进入步骤211。
步骤204,判断SN是否满足SN>=VR(H),如果是,进入步骤205,否则进入步骤206。
步骤205,更新VR(H),并根据SN更新缺失PDU信息,然后进入步骤211。
根据SN更新缺失PDU信息包括以下两种情况:
(a)如果SN=VR(H),保持缺失PDU信息不变;
(b)如果SN>VR(H),增加一个保存缺失PDU信息的元素,该元素的起始序列号等于VR(H),连续缺失的个数为SN与VR(H)的差。
步骤206,判断VR(R)是否小于VR(H),如果是,进入步骤207,否则,即VR(R)=VR(H),表明该PDU为重复接收,进入步骤212。
步骤207,根据缺失PDU信息,判断SN是否在缺失PDU信息范围内,如果是,进入步骤208,否则表明PDU为重复接收,进入步骤212。
步骤208,判断SN是否等于VR(R),如果是,进入步骤209,否则进入步骤210。
步骤209,更新VR(R)和VR(MR),进入步骤210。
步骤210,根据SN更新缺失PDU信息,然后进入步骤211。
遍历所有已保存的缺失PDU信息元素,更新缺失PDU信息,包括以下几种情况:
(a)如果SN等于缺失PDU信息中某元素A的起始序列号,则将元素A的起始序列号加1,连续缺失个数减1;如果连续缺失个数减至0,则将元素A从保存缺失PDU信息的数据结构中删除;
(b)如果SN等于缺失PDU信息中某元素B的“起始序列号+连续缺失个数-1”(即元素B的最大序列号),则将元素B的连续缺失个数减1;如果连续缺失个数减至0,则将元素B从保存缺失PDU信息的数据结构中删除;
(c)如果SN属于缺失PDU信息中某元素C的缺失范围内,即SN大于元素C的起始序列号且小于“起始序列号+连续缺失个数-1”(即元素C的最大序列号),则将元素C的连续缺失个数更新为“SN-起始序列号”,并增加一个新的缺失PDU信息元素D,元素D的起始序列号等于“SN+1”,连续缺失个数为SN与元素C的原缺失个数的差。
步骤211,将PDU保存到接收缓存中。
步骤212,丢弃该PDU。
通过以上实施例提供的方法,记录缺失PDU信息并根据缺失PDU信息可以准确检测接收到的PDU是否为重复接收,从而有效避免了因SDU重组成功而移除相应PDU导致的检测失败,另外,对现有的RLC接收端和发送端对等层协议没有影响,只需要在接收端增加保存缺失PDU信息的数据结构,改动较小,可以很快投入应用。
以下为本发明实施例的具体应用场景,假设RLC实体建立时配置接收窗口大小为64、重组后的SDU向上层的递交方式为乱序递交,以下以RLC实体接收到SN=0到SN=30的PDU为例对本发明实施例的无线链路控制层数据处理方法进行详细说明:
(1)按序接收到SN=0至SN=3的PDU,此时记录窗口状态的基本变量分别为:VR(R)=4,VR(H)=4,VR(MR)=68,且SN=0至SN=3这4个PDU刚好重组为一个完整的SDU,将重组后的SDU向上层递交,并将SN=0至SN=3的PDU从接收缓存中清空;
此时,不存在PDU信息缺失,用于保存接收窗口内缺失PDU信息的数据结构为空。
(2)接收到SN=30的PDU,由于SN=30在接收窗口范围内,且满足大于VR(H)=4的条件,因此可以得出SN=30的PDU未被接收,此时执行步骤205,即更新VR(H),使得VR(H)=31,且记录缺失PDU信息,如表1所示:
表1
缺失PDU信息编号 | [0] |
起始SN | 4 |
连续缺失个数 | 26 |
保存SN=30的PDU到接收缓存,此时接收缓存中保存PDU的情况如图3所示,其中虚线框代表缺失PDU,实线框代表已接收的PDU,由图3中可以看出,SN=4至SN=29的26个PDU为缺失PDU,SN=30的PDU为已接收的PDU。
(3)对接收缓存中的PDU进行重组,判断是否有完整的PDU,此时,并没有完整的SDU,则接收缓存不变。
(4)接收到SN=11至SN=20的PDU,检测得知SN=11至SN=20的PDU属于表1中记录的缺失PDU信息元素[0]的范围,说明为缺失PDU未被接收,则更新缺失PDU信息,此时缺失PDU信息如表2所示:
表2
缺失PDU信息编号 | [0] | [1] |
起始SN | 4 | 21 |
连续缺失个数 | 7 | 9 |
从表2中可以看出,此时缺失PDU信息为元素[0]和元素[1],其中元素[0]为SN=4至SN=10的PDU,元素[1]为SN=21至SN=29的PDU。
将接收到的SN=11至SN=20的PDU保存到接收缓存,此时接收缓存中保存的PDU情况如图4所示。
(5)对接收缓存中的PDU进行重组,判断是否有完整的PDU,此时,并没有完整的SDU,则接收缓存不变。
(6)接收到SN=21至SN=29的PDU,检测得知SN=21至SN=29的PDU属于表2中记录的缺失PDU信息的元素[1]的范围,说明未被接收,则更新缺失PDU信息,此时缺失PDU信息如下表3所示:
表3
缺失PDU信息编号 | [0] |
起始SN | 4 |
连续丢失个数 | 7 |
此时元素[1]已经被接收,缺失PDU信息中只包括元素[0]。
将接收到的SN=21至SN=29的PDU保存到接收缓存,此时接收缓存中保存的PDU情况如图5所示。
(7)对接收缓存中的PDU进行重组,判断得出SN=11至SN=26的PDU可以重组成SDU,则将其重组并向上层递交,递交后将SN=11至SN=26的PDU从接收缓存中移除,接收缓存更新如图6所示,从图6中可以看出,SN=4至SN=10的PDU为缺失PDU,SN=11至SN=26的PDU为重组成功,从接收缓存中移除的PDU,SN=27至SN=30的PDU为已接收PDU。
(8)再次接收到SN=11至SN=20的PDU,检测得知SN=11至SN=20的PDU在VR(R)和VR(H)范围内,但不属于缺失PDU信息,表明已经接收到SN=11到SN=20的PDU且被重组SDU成功,因此将这些PDU丢弃。
(9)接收到SN=4至SN=10的PDU,检测得知SN=4至SN=10的PDU属于表3中记录的缺失PDU信息元素[0]的范围,说明未被接收,更新缺失PDU信息,发现所有缺失PDU都已经收到,将缺失PDU信息清空,更新接收端的基本变量,更新后的基本变量为:VR(R)=31,VR(H)=31,VR(MR)=93;
将接收到的SN=4至SN=10的PDU保存到接收缓存,此时接收缓存中保存的PDU情况如图7所示。
(10)对接收缓存中的PDU进行重组,SN=4至SN=10的PDU重组成SDU,向上层递交后将这些PDU从接收缓存中移除,接收缓存更新如图8所示。
(11)再次接收到SN=29和SN=30的PDU,检测得知SN=29和SN=30的PDU不在VR(R)和VR(MR)范围内,即不在接收窗口范围内,则将其丢弃,保持接受缓存不变。
本发明无线链路控制层数据处理装置如图9所示,包括:
检测模块10,用于检测接收到的PDU是否为重复接收,将重复接收的PDU丢弃,将不是重复接收的PDU发送给接收缓存20。
接收缓存20,用于缓存接收到的PDU。
重组模块30,用于对接收缓存20中的PDU进行重组,判断是否可以得到完整的SDU,如果可以得到完整的SDU,将重组后的SDU发送给递交模块40,并通知接收缓存20将组成该SDU的PDU移除。
具体的,根据接收缓存中每个PDU的序列号和长度指示进行排序和重组。
递交模块40,用于将重组后的SDU递交给上层。
向上层递交重组的SDU的方式可以为按序递交,也可以为乱序递交,具体根据RLC实体配置的要求实现。
检测模块10进一步包括:
记录单元11,用于记录缺失PDU信息。
记录单元11通过定义数据结构记录接收窗口内缺失PDU信息。数据结构以数组或链表方式对接收窗口内的缺失PDU信息进行记录,数组或链表的一个元素对应一个或多个连续缺失的PDU。
记录内容包括缺失PDU的起始SN以及连续缺失的PDU的个数。
当然,记录内容也可能为所有缺失PDU的SN。
第一判断单元12,用于判断接收到的PDU是否在接收窗口范围内,将属于接收窗口范围的PDU发送给第二判断单元13,将超出接收窗口范围的PDU发送给丢弃单元14。
第二判断单元13,用于根据记录单元11中记录的缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收,当接收到的PDU为重复接收时,发送给丢弃单元14,当接收到的PDU不是重复接收时,发送给处理单元15。
第二判断单元13判断接收到的PDU是否为重复接收的准则为:
PDU的SN满足以下条件时,为重复接收:
SN小于VR(H)且SN不在缺失PDU信息中。
PDU的SN满足以下条件时,不是重复接收:
SN大于或等于VR(H);或
SN既等于VR(R)又等于VR(H);或
SN在缺失PDU信息中。
丢弃单元14,用于将PDU丢弃。
处理单元15,用于当接收到的PDU不是重复接收时,更新记录单元11中记录的缺失PDU信息,并将该PDU保存到接收缓存20中。
处理单元15进一步包括:
第一处理子单元,用于当SN大于VR(H)时,在记录单元11中增加一个记录缺失PDU信息的元素。
其中,该增加的元素的起始序列号等于VR(H),连续缺失的个数为SN与VR(H)的差。
当SN在缺失PDU信息中时,处理单元15还包括:
第二处理子单元,用于当SN等于缺失PDU信息中某元素的起始序列号时,将起始序列号加1,连续缺失个数减1;如果连续缺失个数减至0,则将该元素从缺失PDU信息中删除;
第三处理子单元,用于当SN等于缺失PDU信息中某元素的最大序列号时,将该元素的连续缺失个数减1;如果连续缺失个数减至0,则将该元素从缺失PDU信息中删除;
第四处理子单元,用于当SN属于缺失PDU信息中某元素的缺失范围内时,将该元素的连续缺失个数更新为SN与该元素的起始序列号的差,并增加一个新的缺失PDU信息元素,新元素的起始序列号等于SN加1,连续缺失个数为SN与原元素的原缺失个数的差。
通过以上实施例提供的装置,记录缺失PDU信息并根据缺失PDU信息可以准确检测接收到的PDU是否为重复接收,从而有效避免了因SDU重组成功而移除相应PDU导致的检测失败,另外,对现有的RLC接收端和发送端对等层协议没有影响,只需要在接收端增加保存缺失PDU信息的数据结构,改动较小,可以很快投入应用。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该获取机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (16)
1.一种无线链路控制层数据处理方法,包括检测接收到的协议数据单元PDU是否为重复接收的步骤,其特征在于,所述检测接收到的PDU是否为重复接收的步骤包括:
记录缺失PDU信息;
根据所述缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收;
将重复接收的PDU丢弃。
2.根据权利要求1所述无线链路控制层数据处理方法,其特征在于,记录缺失PDU信息的方法为:
定义数据结构用于记录缺失PDU信息,所述数据结构以数组或链表方式对所述缺失PDU信息进行记录,数组或链表的一个元素对应一个或多个连续缺失的PDU,记录内容包括缺失PDU的起始序列号以及连续缺失的PDU的个数。
3.根据权利要求1所述无线链路控制层数据处理方法,其特征在于,根据所述缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收之前还包括:
判断接收到的PDU是否在接收窗口范围内;
将超出接收窗口范围的PDU丢弃。
4.根据权利要求1所述无线链路控制层数据处理方法,其特征在于,根据所述缺失PDU信息,判断接收的接收窗口范围内的PDU是否为重复接收之后还包括:
所述接收到的PDU不是重复接收时,更新所述缺失PDU信息,并将所述PDU保存到接收缓存中。
5.根据权利要求1所述无线链路控制层数据处理方法,其特征在于,所述重复接收的PDU的序列号SN满足:
所述SN小于VR(H)且SN不在所述缺失PDU信息中;
所述VR(H)为下一个期望接收的最大PDU的序列号。
6.根据权利要求4所述无线链路控制层数据处理方法,其特征在于,所述不是重复接收的PDU的SN满足:
所述SN大于或等于VR(H);或
所述SN既等于VR(R)又等于VR(H);或
所述SN在所述缺失PDU信息中;
所述VR(R)为下一个要接收的连续的PDU的序列号。
7.根据权利要求4或6所述无线链路控制层数据处理方法,其特征在于,所述SN大于VR(H)时,更新所述缺失PDU信息的方法具体为:
增加一个记录缺失PDU信息的元素,所述元素的起始序列号等于VR(H),连续缺失的个数为所述SN与VR(H)的差。
8.根据权利要求4或6所述无线链路控制层数据处理方法,其特征在于,所述SN在所述缺失PDU信息中时,更新所述缺失PDU信息的方法具体为:
如果所述SN等于所述缺失PDU信息中某元素的起始序列号,则将所述起始序列号加1,连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
如果所述SN等于所述缺失PDU信息中某元素的最大序列号,则将所述元素的连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
如果所述SN属于所述缺失PDU信息中某元素的缺失范围内,则将所述元素的连续缺失个数更新为所述SN与所述元素的起始序列号的差,并增加一个新的缺失PDU信息元素,所述新元素的起始序列号等于所述SN加1,连续缺失个数为所述SN与所述元素的原缺失个数的差。
9.一种无线链路控制层数据处理装置,包括用于检测接收到的PDU是否为重复接收的检测模块,其特征在于,所述检测模块包括:
记录单元,用于记录缺失PDU信息;
第二判断单元,用于根据所述缺失PDU信息,判断接收到的接收窗口范围内的PDU是否为重复接收;
丢弃单元,用于将重复接收的PDU丢弃。
10.根据权利要求9所述无线链路控制层数据处理装置,其特征在于,所述记录单元定义数据结构记录缺失PDU信息,所述数据结构以数组或链表方式对所述缺失PDU信息进行记录,数组或链表的一个元素对应一个或多个连续缺失的PDU,记录内容包括缺失PDU的起始序列号以及连续缺失的PDU的个数。
11.根据权利要求9所述无线链路控制层数据处理装置,其特征在于,所述检测模块还包括:
第一判断单元,用于判断接收到的PDU是否在接收窗口范围内,将属于接收窗口范围的PDU发送给所述第二判断单元,将超出接收窗口范围的PDU发送给所述丢弃单元。
12.根据权利要求9所述无线链路控制层数据处理装置,其特征在于,所述检测模块还包括:
处理单元,用于当所述接收到的PDU不是重复接收时,更新所述缺失PDU信息,并将所述PDU保存到接收缓存中。
13.根据权利要求9所述无线链路控制层数据处理装置,其特征在于,所述重复接收的PDU的SN满足:
所述SN小于VR(H)且SN不在所述缺失PDU信息中。
14.根据权利要求12所述无线链路控制层数据处理装置,其特征在于,所述不是重复接收的PDU的SN满足:
所述SN大于或等于VR(H);或
所述SN既等于VR(R)又等于VR(H);或
所述SN在所述缺失PDU信息中。
15.根据权利要求12或14所述无线链路控制层数据处理装置,其特征在于,所述处理单元进一步包括:
第一处理子单元,用于当所述SN大于VR(H)时,增加一个记录缺失PDU信息的元素;
所述元素的起始序列号等于VR(H),连续缺失的个数为所述SN与VR(H)的差。
16.根据权利要求12或14所述无线链路控制层数据处理装置,其特征在于,当所述SN在所述缺失PDU信息中时,所述处理单元进一步包括:
第二处理子单元,用于当所述SN等于所述缺失PDU信息中某元素的起始序列号时,将所述起始序列号加1,连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
第三处理子单元,用于当所述SN等于所述缺失PDU信息中某元素的最大序列号时,将所述元素的连续缺失个数减1;如果所述连续缺失个数减至0,则将所述元素从所述缺失PDU信息中删除;
第四处理子单元,用于当所述SN属于所述缺失PDU信息中某元素的缺失范围内时,将所述元素的连续缺失个数更新为所述SN与所述元素的起始序列号的差,并增加一个新的缺失PDU信息元素,所述新元素的起始序列号等于所述SN加1,连续缺失个数为所述SN与所述元素的原缺失个数的差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100575889A CN101227483B (zh) | 2008-02-03 | 2008-02-03 | 一种无线链路控制层数据处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100575889A CN101227483B (zh) | 2008-02-03 | 2008-02-03 | 一种无线链路控制层数据处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101227483A true CN101227483A (zh) | 2008-07-23 |
CN101227483B CN101227483B (zh) | 2012-03-28 |
Family
ID=39859233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100575889A Active CN101227483B (zh) | 2008-02-03 | 2008-02-03 | 一种无线链路控制层数据处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101227483B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325015A (zh) * | 2011-07-19 | 2012-01-18 | 中兴通讯股份有限公司 | 状态报告的处理方法、通信设备和通信系统 |
CN102825986A (zh) * | 2011-06-17 | 2012-12-19 | 深圳市东风精密组件有限公司 | 一种轮胎压力检测系统判定高频信号传输质量的方法 |
CN103036658A (zh) * | 2011-10-09 | 2013-04-10 | 中兴通讯股份有限公司 | 一种数据处理的方法与装置 |
WO2014026386A1 (zh) * | 2012-08-17 | 2014-02-20 | 华为技术有限公司 | 数据包传输方法和装置 |
CN104426638A (zh) * | 2013-08-20 | 2015-03-18 | 联芯科技有限公司 | 一种数据递交方法和装置 |
CN105657747A (zh) * | 2014-12-02 | 2016-06-08 | 联发科技股份有限公司 | 无线通信方法 |
CN102970108B (zh) * | 2012-11-13 | 2016-06-15 | 北京创毅讯联科技股份有限公司 | 一种rlc层的数据传输方法和装置 |
CN105934906A (zh) * | 2014-01-31 | 2016-09-07 | 诺基亚通信公司 | 序列号的范围的确认 |
CN108668320A (zh) * | 2017-03-31 | 2018-10-16 | 维沃移动通信有限公司 | 一种分段组包方法及接收端 |
CN111294286A (zh) * | 2019-05-20 | 2020-06-16 | 展讯通信(上海)有限公司 | 多链路系统的mpdu发送、接收方法及装置、存储介质、发送端、接收端 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5648970A (en) * | 1996-03-04 | 1997-07-15 | Motorola, Inc. | Method and system for ordering out-of-sequence packets |
-
2008
- 2008-02-03 CN CN2008100575889A patent/CN101227483B/zh active Active
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102825986B (zh) * | 2011-06-17 | 2015-08-26 | 深圳市东风精密组件有限公司 | 一种轮胎压力检测系统判定高频信号传输质量的方法 |
CN102825986A (zh) * | 2011-06-17 | 2012-12-19 | 深圳市东风精密组件有限公司 | 一种轮胎压力检测系统判定高频信号传输质量的方法 |
WO2012155662A1 (zh) * | 2011-07-19 | 2012-11-22 | 中兴通讯股份有限公司 | 状态报告的处理方法、通信设备和通信系统 |
CN102325015A (zh) * | 2011-07-19 | 2012-01-18 | 中兴通讯股份有限公司 | 状态报告的处理方法、通信设备和通信系统 |
CN102325015B (zh) * | 2011-07-19 | 2018-09-11 | 中兴通讯股份有限公司 | 状态报告的处理方法、通信设备和通信系统 |
CN103036658A (zh) * | 2011-10-09 | 2013-04-10 | 中兴通讯股份有限公司 | 一种数据处理的方法与装置 |
WO2014026386A1 (zh) * | 2012-08-17 | 2014-02-20 | 华为技术有限公司 | 数据包传输方法和装置 |
US9467892B2 (en) | 2012-08-17 | 2016-10-11 | Huawei Technologies Co., Ltd. | Method and apparatus for transmitting data packet |
CN102970108B (zh) * | 2012-11-13 | 2016-06-15 | 北京创毅讯联科技股份有限公司 | 一种rlc层的数据传输方法和装置 |
CN104426638B (zh) * | 2013-08-20 | 2017-11-10 | 联芯科技有限公司 | 一种数据递交方法和装置 |
CN104426638A (zh) * | 2013-08-20 | 2015-03-18 | 联芯科技有限公司 | 一种数据递交方法和装置 |
CN105934906A (zh) * | 2014-01-31 | 2016-09-07 | 诺基亚通信公司 | 序列号的范围的确认 |
CN105934906B (zh) * | 2014-01-31 | 2019-12-27 | 诺基亚通信公司 | 用于数据传输的方法和装置 |
US10574399B2 (en) | 2014-01-31 | 2020-02-25 | Nokia Solutions And Networks Oy | Acknowledgement of a range of sequence numbers |
CN105657747A (zh) * | 2014-12-02 | 2016-06-08 | 联发科技股份有限公司 | 无线通信方法 |
CN108668320A (zh) * | 2017-03-31 | 2018-10-16 | 维沃移动通信有限公司 | 一种分段组包方法及接收端 |
US11337111B2 (en) | 2017-03-31 | 2022-05-17 | Vivo Mobile Communication Co., Ltd. | Method of assembling segments and receiving end |
CN111294286A (zh) * | 2019-05-20 | 2020-06-16 | 展讯通信(上海)有限公司 | 多链路系统的mpdu发送、接收方法及装置、存储介质、发送端、接收端 |
US11799792B2 (en) | 2019-05-20 | 2023-10-24 | Spreadtrum Communications (Shanghai) Co., Ltd. | MPDU transmission method and device for multi-link system, MPDU reception method and device for multi-link system, storage medium, transmitter and receiver |
Also Published As
Publication number | Publication date |
---|---|
CN101227483B (zh) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101227483B (zh) | 一种无线链路控制层数据处理方法和装置 | |
CN101132259B (zh) | 一种用于无线网络中最后重传时刻控制数据重传的方法 | |
CN101047484B (zh) | 一种传输层重传方法和系统 | |
EP2316185B1 (en) | Apparatus and method for generating automatic repeat request (arq) feedback message in wireless communication system | |
US8553641B2 (en) | Method for handling radio bearer messages during reset and reestablishment in a wireless system | |
EP2611057A1 (en) | Mobile communication system and mobile station device | |
CN104836648B (zh) | 一种rlc am模式的快速重传和反馈的方法 | |
US20070110101A1 (en) | Method of Handling RLC SDUs During RLC Reset and RLC Re-establishment in a UMTS System | |
CN1889414B (zh) | 一种基于丢失pdu检测机制发送状态pdu的方法 | |
EP1788751A1 (en) | A method of handling RLC SDUs during RLC reset and RLC re-establishment in a UMTS system | |
CN102026281A (zh) | 基于rnc实现tcp代理的方法及装置 | |
CN101507318B (zh) | 移动通信系统中使用的无线通信装置及方法 | |
CN104104480A (zh) | 用于tcp协议的重传包丢失检测方法和装置 | |
CN100361481C (zh) | 从发射机向接收机传输数据的方法、装置和发射机 | |
CN101369879B (zh) | 一种请求数据重传的方法及装置 | |
CN101488841A (zh) | 一种无线链路协议帧重传方法及装置 | |
CN102111250A (zh) | 数据传输的方法和网络侧设备 | |
CN101925195A (zh) | 基于rlc协议确认模式中确认信息的处理方法及系统 | |
CN102804664B (zh) | 通信系统、通信设备、通信方法和程序 | |
EP1580916B1 (en) | System and method for transmitting units of messages in a mobile communication system | |
CN102315915A (zh) | 一种构造状态报告的方法与装置 | |
CN102238206A (zh) | 映像文件的补包方法 | |
CN101217346A (zh) | 一种am模式状态反馈方法及系统 | |
CN101924621A (zh) | 无线链路数据传输方法及无线通信网络节点 | |
JPH1070523A (ja) | パケット伝送方法及び装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |