一种流控处理方法转让专利

申请号 : CN200810106250.8

文献号 : CN101577673B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 唐佳叶良韦波蒋兆春

申请人 : 中兴通讯股份有限公司

摘要 :

本发明公开了一种流控处理方法,该方法包括以下步骤:本端无线链路协议(RLP)在周期性相对定时器到时后,调用本端层二中继(L2R)的函数接口,对远端发来的协议数据单元(PDU)进行解析,得到解析结果;本端L2R判断本端接收共用缓冲区的占用空间是否超过预设门限值,若超过,则进行流控和解除流控;否则根据解析结果向本端接收共用缓冲区写入数据后,本端L2R判断本端是否收到远端的流控信号,若收到,则进行流控和解除流控;否则判断本端发送共用缓冲区的占用空间是否超过预设门限值,若超过,则执行发送流控信号和解除流控的步骤;否则向远端发送数据。利用本发明,能够提高流控性能,并降低系统资源消耗。

权利要求 :

1.一种流控处理方法,适用于本端和远端的数据传输,本端和远端均至少包括无线链路协议RLP实体、层二中继L2R和终端TE,该方法包括:为各业务设置对应的周期性相对定时器;其特征在于,该方法还包括以下步骤:

A、本端RLP实体在周期性相对定时器到时后,调用本端L2R的函数接口,本端L2R确定本端的接收共用缓冲区的占用空间超过预设的门限值后,本端TE向本端L2R发送流控信号,本端L2R停止向本端的接收共用缓冲区写入数据;

B、本端L2R通过网络向远端L2R发送流控信号,远端L2R停止从远端的发送共用缓冲区读取数据。

2.根据权利要求1所述的方法,其特征在于,步骤B之后,该方法进一步包括:本端L2R确定本端的接收共用缓冲区的占用空间降低到预设的门限值以下后,本端TE向本端L2R发送解除流控信号,本端L2R恢复向本端的接收共用缓冲区写入数据,并通过网络向远端L2R发送解除流控信号,远端L2R恢复从远端的发送共用缓冲区读取数据。

3.根据权利要求1所述的方法,其特征在于,步骤A中,本端RLP实体调用本端L2R的函数接口之后,本端L2R确定占用空间超过预设门限值之前,该方法进一步包括:本端L2R对远端发来的协议数据单元PDU进行解析,得到解析结果。

4.根据权利要求3所述的方法,其特征在于,所述得到解析结果之后,该方法进一步包括:本端L2R判断本端的接收共用缓冲区的占用空间是否超过预设的门限值,若没有超过预设的门限值,本端L2R根据解析结果向本端的接收共用缓冲区写入数据。

5.根据权利要求4所述的方法,其特征在于,本端L2R根据解析结果向本端的接收共用缓冲区写入数据后,该方法进一步包括:本端L2R判断本端是否收到远端L2R发来的流控信号,若收到,则本端L2R停止从本端的发送共用缓冲区读取数据;否则,本端L2R判断本端的发送共用缓冲区的占用空间是否超过预设的门限值。

6.根据权利要求5所述的方法,其特征在于,本端L2R停止从本端的发送共用缓冲区读取数据,且确定收到远端L2R发来的解除流控信号后,该方法进一步包括:恢复从本端的发送共用缓冲区读取数据。

7.根据权利要求5所述的方法,其特征在于,该方法进一步包括:本端的发送共用缓冲区的占用空间超过预设的门限值,则本端L2R向本端TE发送流控信号,本端TE停止向本端的发送共用缓冲区写入数据;否则,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。

8.根据权利要求7所述的方法,其特征在于,本端TE停止向本端的发送共用缓冲区写入数据之后,该方法进一步包括:本端L2R确定本端的发送共用缓冲区的占用空间降低到预设的门限值以下后,本端L2R向本端TE发送解除流控信号,本端TE恢复向本端的发送共用缓冲区写入数据,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。

9.一种流控处理方法,适用于本端和远端的数据传输,本端和远端均至少包括无线链路协议RLP实体、层二中继L2R和终端TE,该方法包括:为各业务设置对应的周期性相对定时器;其特征在于,该方法还包括以下步骤:本端RLP实体在周期性相对定时器到时后,调用本端L2R的函数接口,确定本端的发送共用缓冲区的占用空间超过预设的门限值以后,本端L2R向本端TE发送流控信号,本端TE停止向本端的发送共用缓冲区写入数据。

10.根据权利要求9所述的方法,其特征在于,调用本端L2R的函数接口之后,该方法进一步包括:本端L2R判断本端的发送共用缓冲区的占用空间是否超过预设的门限值,若没有超过预设的门限值,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。

11.根据权利要求10所述的方法,其特征在于,本端TE停止向本端的发送共用缓冲区写入数据之后,该方法进一步包括:本端L2R确定本端的发送共用缓冲区的占用空间降低到预设的门限值以下后,本端L2R向本端TE发送解除流控信号,本端TE恢复向本端的发送共用缓冲区写入数据,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。

12.根据权利要求9所述的方法,其特征在于,确定本端的发送共用缓冲区的占用空间超过预设的门限值之前,该方法进一步包括:本端L2R确定收到远端L2R发来的流控信号后,本端L2R停止从本端的发送共用缓冲区读取数据,直到本端L2R收到远端发来的解除流控信号后,恢复从本端的发送共用缓冲区读取数据。

说明书 :

一种流控处理方法

技术领域

[0001] 本发明涉及流控处理技术,尤其是指一种流控处理方法。

背景技术

[0002] 电路域的数据业务分为透明数据业务和非透明数据业务,透明数据业务有固定的数据传输速率、固定的传输时延和可变的数据错误率;而非透明数据业务的数据传输率可变,有增强的差错控制机制,传输时延可变。
[0003] 在终端侧,电路域的数据业务主要由终端适配功能(TAF,Terminal AdaptorFunction)模 块 完 成,完 成 公 众 陆 地 移 动 通 信 网 (PLMN,Public LandMobile-communication Network)网络用户、公共交换电话网(PSTN,PublicSwitched Telephone Network)网络用户以及综合业务数字网(ISDN,IntegratedServices Digital Network)网络用户之间进行数据业务的终端适配功能,其中,主要是实现终端协议转换和速率适配的功能。
[0004] 在电路域的非透明数据业务中,TAF模块的功能主要由无线链路协议(RLP,Radio Link Protocol)和层二中继(L2R,Layer 2 Relay)这两个子模块来完成。RLP模块起到数据链路层协议作用,通过帧校验、滑动窗口技术,支持重传和选择重传,确保数据的可靠传输和流控。L2R模块主要负责对电路协议的协议转换和流控,在上行数据处理中,从发送共用缓冲区读取数据,完成用户数据的组帧和状态信息的填写,传递给RLP发送给网络;在下行数据处理中,L2R从RLP接收数据,提取状态信息,与终端(TE,Terminal Element)交互,并向接收共用缓冲区写入数据。具体来说,L2R模块处理控制信号时,对于上行,从TE接收控制信号在用户数据中插入对应的SA、SB、X等状态位;对于下行,从收到的用户数据中提取SA、SB、X等状态位并发送给TE。这些状态位用来描述TE的状态并进行流控处理,协议描述了从电路信号到这些状态位的转换。L2R模块处理数据时,分段和重新组合用户数据,将用户数据适配到合适的RLP的协议数据单元(PDU,Protocol Data Unit)进行无线链路的传输。
[0005] 现有技术中,在终端电路域非透明数据业务中,TAF的子模块,即L2R模块和RLP模块分别作为单独的进程驻留在系统中,二者相互配合,有序地实现非透明数据业务的功能,但是由于二者分别作为单独的进程驻留在系统中,无论何时都要占用资源,因此对系统的资源消耗极大;并且,在进行流控处理时,仅考虑远端对等层L2R模块与本端L2R模块及本端TE的流控信号的交互,因此流控的性能比较低。可见,寻找一种流控性能高,且能降低系统资源消耗的流控处理方法将显得很关键。
[0006] 发明内容
[0007] 有鉴于此,本发明的主要目的在于提供一种流控处理方法,能够提高流控性能,并降低系统资源消耗。
[0008] 为达到上述目的,本发明的技术方案是这样实现的:
[0009] 一种流控处理方法,适用于本端和远端的数据传输,本端和远端均至少包括无线链路协议RLP实体、层二中继L2R和终端TE,该方法包括:为各业务设置对应的周期性相对定时器;该方法还包括以下步骤:A、本端RLP实体在周期性相对定时器到时后,调用本端L2R的函数接口,本端L2R确定本端的接收共用缓冲区的占用空间超过预设的门限值后,本端TE向本端L2R发送流控信号,本端L2R停止向本端的接收共用缓冲区写入数据;B、本端L2R通过网络向远端L2R发送流控信号,远端L2R停止从远端的发送共用缓冲区读取数据。 [0010] 进一步地,步骤B之后,该方法进一步包括:本端L2R确定本端的接收共用缓冲区的占用空间降低到预设的门限值以下后,本端TE向本端L2R发送解除流控信号,本端L2R恢复向本端的接收共用缓冲区写入数据,并通过网络向远端L2R发送解除流控信号,远端L2R恢复从远端的发送共用缓冲区读取数据。
[0011] 进一步地,步骤A中,本端RLP实体调用本端L2R的函数接口之后,本端L2R确定占用空间超过预设门限值之前,该方法进一步包括:本端L2R对远端发来的协议数据单元PDU进行解析,得到解析结果。
[0012] 较佳地,所述得到解析结果之后,该方法进一步包括:本端L2R判断本端的接收共用缓冲区的占用空间是否超过预设的门限值,若没有超过预设的门限值,本端L2R根据解析结果向本端的接收共用缓冲区写入数据。
[0013] 较佳地,本端L2R根据解析结果向本端的接收共用缓冲区写入数据后,该方法进一步包括:本端L2R判断本端是否收到远端L2R发来的流控信号,若收到,则本端L2R停止从本端的发送共用缓冲区读取数据;否则,本端L2R判断本端的发送共用缓冲区的占用空间是否超过预设的门限值。
[0014] 进一步地,本端L2R停止从本端的发送共用缓冲区读取数据,且确定收到远端L2R发来的解除流控信号后,该方法进一步包括:恢复从本端的发送共用缓冲区读取数据。较佳地,该方法进一步包括:本端的发送共用缓冲区的占用空间超过预设的门限值,则本端L2R向本端TE发送流控信号,本端TE停止向本端的发送共用缓冲区写入数据;否则,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。
[0015] 进一步地,本端TE停止向本端的发送共用缓冲区写入数据之后,该方法进一步包括:本端L2R确定本端的发送共用缓冲区的占用空间降低到预设的门限值以下后,本端L2R向本端TE发送解除流控信号,本端TE恢复向本端的发送共用缓冲区写入数据,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。
[0016] 一种流控处理方法,适用于本端和远端的数据传输,本端和远端均至少包括无线链路协议RLP实体、层二中继L2R和终端TE,该方法包括:为各业务设置对应的周期性相对定时器;该方法还包括以下步骤:本端RLP实体在周期性相对定时器到时后,调用本端L2R的函数接口,确定本端的发送共用缓冲区 的占用空间超过预设的门限值以后,本端L2R向本端TE发送流控信号,本端TE停止向本端的发送共用缓冲区写入数据。 [0017] 进一步地,调用本端L2R的函数接口之后,该方法进一步包括:本端L2R判断本端的发送共用缓冲区的占用空间是否超过预设的门限值,若没有超过预设的门限值,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。
[0018] 较佳地,本端TE停止向本端的发送共用缓冲区写入数据之后,该方法进一步包括:本端L2R确定本端的发送共用缓冲区的占用空间降低到预设的门限值以下后,本端L2R向本端TE发送解除流控信号,本端TE恢复向本端的发送共用缓冲区写入数据,本端L2R从本端的发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP实体的发送队列,向远端发送数据。
[0019] 进一步地,确定本端的发送共用缓冲区的占用空间超过预设的门限值之前,该方法进一步包括:本端L2R确定收到远端L2R发来的流控信号后,本端L2R停止从本端的发送共用缓冲区读取数据,直到本端L2R收到远端发来的解除流控信号后,恢复从本端的发送共用缓冲区读取数据。
[0020] 与现有技术相比较,本发明具有以下特点和优点:
[0021] 1)本发明为发送共用缓冲区和接收共用缓冲区分别设置了门限值,并在确定本端的接收共用缓冲区的占用空间超过预设的门限值后,或确定本端收到远端发来的流控信号后,或确定本端发送共用缓冲区的占用空间超过预设的门限值后,会通过流控信号控制数据传输,直到发送共用缓冲区或接收共用缓冲区的占用空间降低到预设门限值以下,再通过解除流控信号恢复数据传输。如此,不仅对本端的发送共用缓冲区、接收共用缓冲区的占用空间进行了判断;并且,增加了对数据传输流量的控制信号,即增加了流控信号及解除流控信号的交互,提高了流控的性能,降低了丢包的可能性;
[0022] 2)与现有技术相比,本发明将L2R的实体进程作为函数接口,仅在数据接收和发送时才启动L2R,不再需要L2R一直驻留在进程中,降低了终端的资源消耗; [0023] 3)虽然协议中提出有端到端流控、反压技术、接收未准备好(RNR,ReceiveNot Ready)三种流控技术,但在现有技术中并未同时采用这三种流控技术,只采用其中的一种或两种,而在本发明中,将这三种流控技术结合使用,并严格遵循协议,对协议的严格遵循增加了本发明的通用性和实用性。

附图说明

[0024] 图1为本发明流控处理的示意图;
[0025] 图2为本发明流控处理的方法流程示意图;
[0026] 图2A为图2中A部分的流控处理流程示意图;
[0027] 图3为本发明接收数据的流控处理示意图;
[0028] 图4为本发明接收数据的流控处理方法流程示意图;
[0029] 图5为本发明发送数据的流控处理示意图;
[0030] 图6为本发明发送数据的流控处理方法流程示意图。

具体实施方式

[0031] 本发明的基本思想是:将协议中的端到端流控技术、反压技术、RNR技术相结合,将L2R的实体进程作为函数接口,仅仅当RLP实体的状态进入数据传输态时,才调用L2R的函数接口处理L2R和TE的接收共用缓冲区或发送共用缓冲区,不需要像现有技术一样让L2R作为模块长期驻留在进程中,因此降低了终端系统资源的消耗;在考虑对等层RLP流控信号处理,及本端RLP模块和L2R模块的流控信号反压技术使用的同时,增加了本端L2R和TE的控制信号,即增加了流控信号及解除流控信号的交互处理,提高了非透明数据业务传输的可靠性。
[0032] 其中,所谓端到端的流控即为TE到TE的流控,本端L2R收到本端TE发送的流控信号,优先发送给远端对等层的L2R模块,同时停止向本端TE发送数据; [0033] 所谓反压技术是指:当本端的L2R和TE的发送共用缓冲区超过门限值,L2R通过向本端发送留空信号通知本端TE停止发送数据;
[0034] 所谓RNR的技术是指:RLP收到远端对等层RLP的RNR条件,本端L2R向本端TE发送流控信号。
[0035] 下面将结合附图对本发明的具体实施作进一步详细的说明。
[0036] 在以下的说明中,为了说明的方便,所有的发送共用缓冲区指L2R和TE的发送共用缓冲区,所有的接收共用缓冲区指L2R和TE的接收共用缓冲区。所有的本端和远端处于对等层。
[0037] 本发明流控处理的方法流程及示意图如图1、图2、图2A所示,图1中虚线标示的箭头方向表示数据传送的方向,实线标示的箭头方向表示流控信号或解除流控信号的发送方向。本发明包括以下步骤:
[0038] 步骤201、本端RLP周期性相对定时器到时后,调用本端L2R的函数接口,对远端发来的PDU进行解析,得到解析结果;
[0039] 一般,在本端和远端都会预先为各个业务设置对应的周期性相对定时器,每端周期性相对定时器的时长是本端和远端根据业务情况及各自的空口速率进行协商共同确定的,本端和远端周期性相对定时器的时长一般是相同的。本端和远端各自的周期性相对定时器在各自业务开始时启动,本端周期性相对定时器的启动和远端周期性相对定时器的启动有一定的时差,因为本端发送的数据传送到远端需要一定的时间,数据由本端传送到远端所需的时间一般就是启动本端周期性相对定时器和启动远端周期性相对定时器的时差。 [0040] 步骤202、本端L2R判断本端接收共用缓冲区的占用空间是否超过预设的门限值,若超过,则进行流控及解除流控,即执行步骤203′~步骤207′;否则执行步骤203; [0041] 步骤203′、本端TE向本端L2R发送流控信号,本端L2R停止向本端接收共用缓冲区写入数据,并向网络发送流控信号;
[0042] 在这里及以下的说明中,流控信号是指通知该信号的接收者停止从发送共用缓冲区读取数据、或停止向接收共用缓冲区写入数据的信号。
[0043] 步骤204′、网络向远端L2R发送流控信号,远端L2R停止从远端的发送共用缓冲区读取数据,即远端L2R停止向本端发送数据;
[0044] 步骤205′、本端L2R判断本端接收共用缓冲区的占用空间是否降低到预设的门限值以下,若是,则执行步骤206′;否则继续等待,直到本端接收共用缓冲区降低到预设门限值以下;
[0045] 这里,接收共用缓冲区占用空间的预设门限值一般根据经验值设置,可以设置为接收共用缓冲区占用空间的一半或四分之三,或设为其它值,一般在业务开始之前进行设定。
[0046] 步骤206′、本端TE向本端L2R发送解除流控信号,本端L2R恢复向本端接收共用缓冲区写入数据,并向网络发送解除流控信号;
[0047] 步骤207′、网络向远端L2R发送解除流控信号,远端L2R恢复向远端发送共用缓冲区读取数据,即恢复向本端发送数据,然后执行步骤201;
[0048] 步骤203、本端L2R根据解析结果向本端接收共用缓冲区写入数据; [0049] 步骤204、本端L2R根据解析结果判断本端是否收到远端L2R发来的流控信号,若收到,则进行流控及解除流控,即执行步骤205″~步骤206″;否则执行步骤205; [0050] 步骤205″、本端L2R停止从本端的发送共用缓冲区读取数据,即本端停止向远端发送数据;
[0051] 步骤206″、本端L2R判断是否收到远端发来的解除流控信号,若收到,执行步骤205;否则继续等待,直到收到远端发来的解除流控信号后执行步骤205; [0052] 步骤205、本端L2R判断本端发送共用缓冲区的占用空间是否超过预设的门限值,若超过,则进行流控及解除流控,即执行步骤206″′~步骤208″′;否则执行步骤206; [0053] 步骤206″′、本端L2R向本端TE发送流控信号,本端TE停止向本端发送共用缓冲区写入数据,即本端L2R停止向远端发送数据,然后执行步骤207″′; [0054] 步骤207″′、本端L2R判断本端发送共用缓冲区的占用空间是否降低到预设的门限值以下,若是,执行步骤208″′;否则不进行任何操作;
[0055] 这里,接收共用缓冲区占用空间的预设门限值一般与发送共用缓冲区占用空间的预设值相同;并且,也是在业务开始之前设定。
[0056] 步骤208″′、本端L2R向本端TE发送解除流控信号,本端TE恢复向本端发送共用缓冲区写入数据,然后执行步骤206。
[0057] 步骤206、本端L2R从本端发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP的发送队列,向远端发送数据,然后执行步骤201。 [0058] 本发明接收数据的流控处理方法流程如图3、4所示,同理,图3中虚线标示的箭头方向表示数据传送的方向,实线标示的箭头方向表示流控信号或解除流控信号的发送方向。本发明包括以下步骤:
[0059] 步骤401、本端接收远端发来的PDU,在本端的周期性相对定时器到时后,本端的RLP调用本端L2R的函数接口,对所收到的PDU进行解析,得到解析结果; [0060] 这里,周期性相对定时器与步骤201中的周期性相对定时器相同。 [0061] 步骤402、本端L2R判断本端接收共用缓冲区的占用空间是否超过预设门限值,若超过,则执行步骤403′~步骤407′;否则执行步骤403;
[0062] 步骤403′、本端TE向本端L2R发送流控信号,本端L2R停止向本端接收共用缓冲区写入数据,并向网络发送流控信号;
[0063] 步骤404′、网络向远端L2R发送流控信号,远端L2R停止向远端发送共用缓冲区读取数据,即停止向本端发送数据;
[0064] 步骤405′、本端L2R判断本端接收共用缓冲区的占用空间是否降低到预设门限值以下,若是,则执行步骤406′;否则继续等待,直到本端接收共用缓冲区的占用空间降低到预设门限值以下;
[0065] 步骤406′、本端TE向本端L2R发送解除流控信号,本端L2R恢复向本端接收共用缓冲区写入数据,并向网络发送解除流控信号;
[0066] 步骤407′、网络向远端L2R发送解除流控信号,远端L2R恢复向远端发送共用缓冲区读取数据,即远端L2R恢复向本端发送数据,然后执行步骤401;
[0067] 步骤403、本端L2R根据解析结果向本端接收共用缓冲区写入数据,然后执行步骤401。
[0068] 本发明发送数据的流控处理方法流程如图5、6所示,同理,图5中虚线标示的箭头方向表示数据传送的方向,实线标示的箭头方向表示流控信号或解除流控信号的发送方向。本发明包括以下步骤:
[0069] 步骤601、本端RLP实体在周期性相对定时器到时后,调用本端L2R的函数接口,由本端L2R判断本端是否收到远端L2R发送的流控信号,若收到,则执行步骤602′~步骤604′;否则执行步骤602;
[0070] 步骤602′、本端L2R停止从本端的发送共用缓冲区读取数据; [0071] 步骤603′、本端L2R判断本端是否收到远端L2R发来的解除流控信号,若收到,则执行步骤604′;否则继续等待,直到收到远端L2R发来解除流控信号; [0072] 步骤604′、本端L2R恢复从本端的发送共用缓冲区读取数据,即向远端发送数据,然后执行步骤601;
[0073] 步骤602、本端L2R判断本端发送共用缓冲区的占用空间是否超过预设的门限值,若超过,则执行步骤603″~步骤605′;否则执行步骤603;
[0074] 步骤603″、本端L2R向本端TE发送流控信号,本端TE停止向本端发送共用缓冲区写入数据,即本端L2R停止向远端发送数据;
[0075] 步骤604″、本端L2R判断本端发送共用缓冲区的占用空间是否降低到预设的门限值以下,若是,执行步骤606;否则继续等待,直到本端发送共用缓冲区的占用空间降低到预设的门限值以下;
[0076] 步骤605″、本端L2R向本端TE发送解除流控信号,本端TE恢复向本端发送共用缓冲区写入数据,然后执行步骤603。
[0077] 步骤603、本端L2R从本端发送共用缓冲区读取数据,按照L2R的PDU的要求组帧,将所读取的数据放在本端RLP的发送队列,向远端发送数据,然后执行步骤601。 [0078] 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。