CN101867972B - 无线链路控制层非确认模式下的数据传输方法 - Google Patents

无线链路控制层非确认模式下的数据传输方法 Download PDF

Info

Publication number
CN101867972B
CN101867972B CN 201010221262 CN201010221262A CN101867972B CN 101867972 B CN101867972 B CN 101867972B CN 201010221262 CN201010221262 CN 201010221262 CN 201010221262 A CN201010221262 A CN 201010221262A CN 101867972 B CN101867972 B CN 101867972B
Authority
CN
China
Prior art keywords
data unit
size
pdu
service data
protocol data
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.)
Active
Application number
CN 201010221262
Other languages
English (en)
Other versions
CN101867972A (zh
Inventor
袁绪
施渊籍
范晓雯
胡金龙
张玉成
石晶林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN 201010221262 priority Critical patent/CN101867972B/zh
Publication of CN101867972A publication Critical patent/CN101867972A/zh
Application granted granted Critical
Publication of CN101867972B publication Critical patent/CN101867972B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种无线链路控制层非确认模式下的数据传输方法,包括:发送侧从上层接收服务数据单元,发送侧的下层根据所述逻辑信道数据大小标识分配带宽;发送侧根据下层带宽分配结果得到非确认模式下的协议数据单元的大小,根据所述缓存队列中所保存的服务数据单元的描述信息以及所述协议数据单元的大小对所述协议数据单元的包头部分的长度进行预计算;发送侧根据预计算得到的协议数据单元的包头长度将所述服务数据单元中的数据打包成协议数据单元,将所述协议数据单元发送到接收侧;接收侧接收到协议数据单元后,在所述接收缓存队列中对所述协议数据单元解包,将其重新转换为服务数据单元,并由所述提交队列将所得到的服务数据单元向上层提交。

Description

无线链路控制层非确认模式下的数据传输方法
技术领域
本发明涉及无线通信系统,特别涉及无线链路控制层非确认模式下的数据传输方法。
背景技术
在TD-SCDMA、WCDMA、LTE等宽带移动通信系统中,根据传输业务类型的不同,无线链路控制层(Radio Link Control,简称RLC)提供了三种传输模式:确认模式、非确认模式、透明模式。透明模式主要用于传输那些实时性要求高、但对传输准确性要求相对较低的业务,如视频业务。确认模式主要用于传输那些对数据安全性、可靠性要求高,但对实时性要求较低的业务。非确认模式则在前述的透明模式与确认模式之间,该模式用于那些对数据安全性、可靠性与实时性的要求较为平衡的业务,如控制面的信令和用户面的数据都可能会用到该传输模式。非确认模式的特点是采用对上层数据包进行打包分段或级联的方式来满足带宽分配,并在接收时根据数据包内包头信息的描述重组接收到的数据包,再向上层提交。
在各种宽带移动通信草案中,虽然大致给出了采用非确认模式传输数据的主要流程,但是对非确认模式数据传输的实现方法并未详细规定。从论文、专利及软件登记信息中可以了解到当前已实现的一些方法,这些方法以具体的通信协议为基础,提出了一些好的观点和策略,基本实现了协议所规定的功能,但尚存在一些效率方面的不足,总结起来主要包括:
1、在将上层待发送的SDU(Service Data Unit,服务数据单元)打包成PDU(Protocol Data Unit,协议数据单元)时,因为PDU头部的长度未知,一般的做法是在RLC层事先分配好足够大的内存空间,然后依次在前半段填入包头,在后半段填入数据,待下层给出传输机会和PDU大小后,再将所述数据移动到PDU包头部分后面,组成一个连续的PDU内存空间。这一操作会带来额外的空间和时间开销。
2、上层待发送的SDU在交至RLC层时需要一个最大超时时间值,该最大超时时间值用于规定SDU从被递交至RLC层到整个SDU被发送出去的最长时间,如果超过这个时间后该SDU还没被全部发送出去则认为超时,需要删除它。设定该最大超时时间值的一般做法是为每一个SDU创建一个定时器,当所要传输的SDU非常多时,系统中会存在大量的定时器,这会严重影响系统运行速度,同时增加了开发调试及维护的难度。
发明内容
本发明的一个目的是克服现有技术中的非确认模式数据传输方法在打包、发送数据过程中,空间和时间开销大的缺陷,从而提供一种开销相对较小的非确认模式数据传输方法。
本发明的另一个目的是克服现有技术为每个SDU创建一个定时器,造成定时器数量多,影响系统运行速度,增加开发调试及维护难度的缺陷,从而提供一种定时器数量少、易于维护的非确认模式数据传输方法。
为了实现上述目的,本发明提供了一种无线链路控制层非确认模式下的数据传输方法,包括:
步骤1)、发送侧从上层接收服务数据单元,所述服务数据单元内包括所要发送的数据,所述服务数据单元的描述信息保存在无线承载逻辑信道信息队列的发送缓存队列中,所述服务数据单元的长度添加到无线承载逻辑信道信息队列的逻辑信道数据大小标识中,发送侧的下层根据所述逻辑信道数据大小标识分配带宽;所述无线承载逻辑信道信息队列用于描述无线承载逻辑信道,它还包括非确认模式传输实体;所述非确认模式传输实体包括接收缓存队列、提交队列、发送过程序列号与接收过程序列号;
步骤2)、发送侧根据下层带宽分配结果得到非确认模式下的协议数据单元的大小,根据所述缓存队列中所保存的服务数据单元的描述信息以及所述协议数据单元的大小对所述协议数据单元的包头部分的长度进行预计算;
步骤3)、发送侧根据预计算得到的协议数据单元的包头长度将所述服务数据单元中的数据打包成协议数据单元,将所述协议数据单元发送到接收侧;
步骤4)、接收侧接收到协议数据单元后,在所述接收缓存队列中对所述协议数据单元解包,将其重新转换为服务数据单元,并由所述提交队列将所得到的服务数据单元向上层提交。
上述技术方案中,在所述的步骤1)之前,还包括发送侧与接收侧的无线链路控制层建立无线承载逻辑信道信息队列,并初始化该队列中的参数的步骤。
上述技术方案中,所述发送侧有一个唯一的定时器;保存在所述发送侧的发送缓存队列中的每个服务数据单元有一个服务数据单元超时时间值,所述服务数据单元超时时间值的初始值为大小固定的服务数据单元最大超时值;在所述发送侧对所述服务数据单元打包前与打包过程中,每当所述定时器超时时,遍历所述缓存队列中的服务数据单元,将每个服务数据单元的超时时间值减去该定时器的超时周期,若修改后的超时时间值小于0,则删除对应的服务数据单元。
上述技术方案中,所述无线承载逻辑信道信息队列还包括用于记录服务数据单元待发送数据部分起始位置的未发送数据起始位置start_pos、用于描述服务数据单元和协议数据单元分段关系的分段标识seg_flag;所述未发送数据起始位置start_pos与分段标识seg_flag的初始值都为0;
所述的步骤2)包括:
步骤2-1)、判断协议数据单元可用空间的大小pdu_available_size是否大于发送缓存队列首节点中的服务数据单元的sdu_length-start_pos,如果大于,则进入下一步,否则,预计算过程结束,进入步骤3);其中,所述pdu_available_size的初始值为pdu_size-SN长度-seg_flag,pdu_size表示协议数据单元的大小,SN长度表示序列号长度;
步骤2-2)、更新pdu_available_size的值,并将用于记录协议数据单元包头部分长度的head_length的值加1;其中,所述head_length的初始值为SN长度与seg_flag的和;
步骤2-3)、判断更新后的pdu_available_size的值是否为0,若为0,预计算过程结束,进入步骤3),若大于0,则进一步判断服务数据单元在发送缓存队列中是否还有后继服务数据单元,若不存在,将所述head_length的值加1后进入步骤3),否则,重新执行步骤2-2)。
上述技术方案中,在所述的步骤2-2)中,所述的更新pdu_available_size的值包括:
步骤2-2-1)、判断当前遍历的服务数据单元是否是所述发送缓存队列的首个元素,若是,进入下一步,否则,进入步骤2-2-3);
步骤2-2-2)、从所述pdu_available_size中减去sdu_length与start_pos的差,再从差值中减去协议数据单元中用于指示服务数据单元结尾的LI,得到更新后的pdu_available_size;
步骤2-2-3)、从所述pdu_available_size中减去sdu_length,再从差值中减去所述LI,得到更新后的pdu_available_size。
上述技术方案中,所述的步骤3)包括:
步骤3-1)、发送侧根据协议数据单元的大小值pdu_size从缓存队列的第一个队列节点开始遍历发送缓存队列;
步骤3-2)、判断当前协议数据单元的大小是否能装入发送缓存队列第一个节点的服务数据单元中的数据,如果能够装入,进入步骤3-4),否则进入步骤3-3);
步骤3-3)、将当前服务数据单元从未发送数据起始位置start_pos处开始,将长度为pdu_available_size的数据拷贝至当前协议数据单元的头部,如果此时当前服务数据单元刚好拷贝完,则删除当前服务数据单元,设置所述start_pos为0,否则,设置所述start_pos为服务数据单元已拷贝的数据后面一个字节处的起点位置值,从逻辑信道数据大小标识上减去大小为pdu_available_size,分段打包过程结束,将所得到的协议数据单元交至下层处理;
步骤3-4)、在当前协议数据单元中的序列号SN后使用所述的LI指示当前服务数据单元的结尾,将当前服务数据单元从所述start_pos处开始,长度为sdu_length-start_pos的数据拷贝至协议数据单元头部后的起始位置,更新pdu_available_size的值,减去所述sdu_length与start_pos的差和一个LI所占空间,然后删除当前服务数据单元,设置所述start_pos的值为0,进入步骤3-5);
步骤3-5)、判断此时pdu_available_size的大小,如果其值为0,分段打包过程结束,将协议数据单元交至下层处理,如果pdu_available_size>0且发送缓存队列为空,则用一个字节LI指示PDU的填充信息,分段打包过程结束,将协议数据单元交至下层处理,如果pdu_available_size>0且发送缓存队列不为空,则重新进入步骤3-4)。
上述技术方案中,在所述步骤4)中,所述的在所述接收缓存队列中对所述协议数据单元解包包括:
步骤4-1)、解析出所接收到的协议数据单元的序列号值,将该值与非确认模式传输实体中的“接收过程序列号”加以比较,如果相等,则进入步骤4-3),如果不相等,则发生了丢包现象,进入步骤4-2);
步骤4-2)、将非确认模式传输实体中的“接收过程序列号”赋值为当前协议数据单元的SN值加1后的结果,然后清空接收缓存队列中的所有数据,丢弃当前协议数据单元,并准备继续接收下一个协议数据单元数据包;
步骤4-3)、将非确认模式传输实体中的“接收过程序列号”赋值为当前协议数据单元的SN值加1后的结果,然后计算出当前协议数据单元中LI的个数,如果LI个数为0,则当前协议数据单元是某个服务数据单元的一个分段,将当前协议数据单元的头部数据去掉后放入接收缓存区,本次解包过程结束,如果LI个数不为0,则进入步骤4-4);
步骤4-4)、判断第一个LI的合法性,如果第一个LI为不合法,则进入下一步,否则根据其是否为某个预先定义的保留值将接收缓存队列的数据,或将接收缓存队列的数据连同第一个LI所指示的数据组成一个服务数据单元放入所述的提交队列;然后依次判断第一个LI后面的各个LI的合法性,如果其中一个LI不合法则进入下一步,否则将各个LI所指示的数据组成相应的服务数据单元后放入提交队列,如果最后一个LI没有指示到协议数据单元结尾处且最后一个LI不是指示填充信息的预先定义的保留值,则将最后一个LI所指示的数据后面的数据部分放入接收缓存队列,结束解包过程;
步骤4-5)、清空接收缓存队列以及提交队列的所有数据,丢弃该协议数据单元数据包,结束解包过程。
本发明的优点在于:
1、本发明采用预计算UM PDU包头长度的方法减少了内存拷贝操作,从而可以有效降低数据传输时延。
2、本发明采用一个定时器管理所有基于定时器丢弃的SDU,节省系统开销,降低开发调试及运行时的查错难度。
3、本发明将SDU数据存储在上层,而在RLC层只保存其长度等描述信息,从而可以有效降低系统运行开销。
4、本发明设置了接收缓存队列和提交队列,使得在对接收到的数据包进行解包过程时无论何种情况都只解析一次,可以有效降低数据处理时间。
附图说明
图1为本发明中所采用的无线承载逻辑信道信息队列的示意图;
图2为本发明方法的流程图;
图3为本发明方法中对当前PDU的包头部分长度进行预计算过程的流程图;
图4为本发明方法中打包操作的流程图;
图5为本发明方法中解包操作的流程图;
图6为SDU的超时处理流程。
具体实施方式
下面结合附图和具体实施方式对本发明加以说明。
在移动通信系统的无线链路控制层中,存在有多个无线承载逻辑信道(以下可简称逻辑信道),这些逻辑信道用于发送或接收数据。不同的逻辑信道可以采用如背景技术中所提到的透明模式、确认模式、非确认模式等多种传输模式,但对于某一特定的逻辑信道而言,其传输模式是一定的。本发明对无线链路控制层中的逻辑信道在非确认模式下如何实现数据的发送与接收加以说明。由于无线通信系统中的移动终端和基站端都可以发送或接收数据,因此,为了避免混淆,在下面的说明中将用发送侧与接收侧来区分无线通信过程中的角色。
在对本发明的相关方法进行说明前,首先对其中所涉及的数据结构做统一的描述。
无线承载逻辑信道信息队列:无线承载逻辑信道信息队列是指存在于基站端的分配给某一UE的所有逻辑信道集合,或某一个移动终端(USERTERMINAL)上的所有逻辑信道的集合。无线承载逻辑信道信息队列中的节点被称为无线承载逻辑信道信息实体(以下可简称为信息实体),一个信息实体对应一个逻辑信道,所述信息实体中所包含的内容与对应逻辑信道的传输模式有关。本发明主要关注RLC层在非确认模式(UM)下如何实现数据的传输,因此对采用非确认模式的逻辑信道的信息实体做详细说明。如图1所示,采用非确认模式的逻辑信道的信息实体中包括有发送缓存队列、传输模式标识、逻辑信道数据大小标识、分段标识、未发送数据起始位置标识、UM传输实体等。下面对信息实体中的这些数据结构做详细说明。
传输模式标识:该标识用于指明所对应的逻辑信道采用了何种传输模式。在前文中已经提到,本发明中所涉及的逻辑信道采用了非确认传输模式,在传输模式标识中对此内容做了标记。
逻辑信道数据大小标识:这一标识用于指明逻辑信道上待发送的业务数据单元的字节数。
UM传输实体用于保存数据传输过程需要的初始值及随着传输过程不断变化的状态变量值。它包括SDU最大超时值、发送过程序列号、接收过程序列号、接收缓存队列、提交队列。其中,SDU最大超时值指的是从SDU被递交至UM发送实体到整个SDU被成功发送出去的最长时间值,若某一SDU被递交至UM发送实体后,超过该最大超时值还未被发送出去,则该SDU将会被删除。发送过程序列号指的是发送过程中下一个PDU的序列号,每发送完一个PDU,将该值加1。接收过程序列号指的是接收过程中期望收到的下一个PDU的序列号,每成功接收到一个期望的PDU后将该值加1。在对所接收的数据包的解包过程中,某些所接收的数据包还不能组合成可以向上提交的格式,这些数据包去掉头部信息后所得到的净载荷被保存在接收缓存队列中。在对所接收的数据包的解包过程中,当所接收的数据包组合成可以向上提交的格式后,这些组合后的数据包被保存在提交队列中。
发送缓存队列:发送缓存队列用于存放上层发送来的SDU,待底层给出传输机会时,该队列将SDU打包或级联成非确认模式协议数据单元PDU。发送缓存队列中包括用于记录SDU长度、SDU超时时间值的项。其中,所述SDU长度指的是待发送的整个SDU数据包的长度。所述SDU超时时间值指的是应该抛弃该SDU的超时时间值,其初始值为UM传输实体的SDU最大超时时间值。
分段标识:分段标识指的是在发送数据的打包过程中,用于描述SDU和PDU分段关系的标识符。
未发送数据起始位置标识:未发送数据起始位置标识指的是一个用于记录SDU待发送数据部分起始位置的标识。
在对本发明中的相关数据结构做上述说明的基础上,下面参考图2,对本发明方法做详细说明。
在移动通信系统中,通信的双方为基站端与移动终端,因此在基站端与移动终端间要建立一条无线承载,该无线承载包括两条逻辑信道,一条逻辑信道LCH1用于基站端向移动终端发送数据,另一条逻辑信道LCH2用于移动终端向基站端发送数据。无线承载建立后,移动终端和基站端任意一方都可作为发送侧和接收侧,基站端和移动终端是对等的,数据既可以从基站端通过UM传输模式发送至移动终端,也可以从移动终端通过UM传输模式发送至基站端。
步骤S10、在无线承载建立过程中,在RLC层所要完成的操作包括为所要建立的无线承载逻辑信道建立用于描述无线承载逻辑信道的无线承载逻辑信道信息队列,并初始化队列中的相关参数。在初始化参数时,所述发送缓存队列、接收缓存队列、提交队列在初始时都为空,而未发送数据起始位置标识start_pos的初始值为0,分段标识seg_flag的初始值也为0。此外,在初始化过程中还要配置SDU最大超时值,所述的SDU最大超时值是一个固定不变的值,具体取值根据情况而定。
无线承载逻辑信道信息队列的组成在前文中都有详细的说明,下面以一个实例对它们的建立过程加以说明。虽然移动终端和基站端任意一方都可作为发送侧和接收侧,但此处为了说明的方便,假设基站端为发送侧,移动终端为接收侧,则所建立的逻辑信道为用于基站端向移动终端发送数据的逻辑信道LCH1。首先,在基站端为逻辑信道LCH1建立一个用于发送的无线承载逻辑信道信息队列节点,该节点包含逻辑信道号、传输模式标识、该逻辑信道上发送缓存队列中待发送SDU的总数据大小、对应传输模式的发送参数以及一条发送缓存队列,并将该发送缓存队列加入基站端的无线承载逻辑信道信息队列中。然后,在移动终端也为逻辑信道LCH1建立一个用于接收的无线承载逻辑信道信息队列节点,该节点用于接收基站端从逻辑信道LCH1上发来的数据,该节点包含逻辑信道号、传输模式标识、对应传输模式的接收参数,同时该节点还维护了一条接收缓存队列和一条提交队列。
步骤S20、当发送侧要发送数据时,发送侧的上层将SDU与SDU最大超时值放入对应逻辑信道的发送缓存队列中,此时发送缓存队列中的SDU超时时间值等于SDU最大超时值,同时还要将SDU长度值添加至表示该逻辑信道数据大小的标识之上,RLC层之下的MAC层将根据该值进行带宽分配,根据带宽分配结果通知发送侧可以发送的UM PDU的大小。
步骤S30、发送侧根据MAC层提供的UM PDU的大小,从发送缓存队列的第一个节点开始轮询该缓存队列,根据发送缓存队列里SDU的信息和PDU的大小,对当前PDU的包头部分长度进行预计算。
在图3中给出了PDU包头部分长度的预计算实现过程。假设用pdu_available_size记录预计算PDU包头长度过程中PDU可用空间的大小,用head_length记录预计算PDU包长度过程中PDU的包头部分的长度,用SN长度表示序列号长度(其值为定长的1字节)。其中,pdu_available_size的初始值=pdu_size-SN长度-seg_flag,head_length的初始值=SN长度+seg_flag,pdu_size表示PDU大小,则对PDU包头部分长度的预计算过程如下:
步骤S31、判断pdu_available_size是否大于队列首节点的sdu_length-start_pos,如果大于,则进入S32,否则,包头部分只包含SN序列号部分,预计算PDU包头长度过程结束,进入步骤S40。
步骤S32、首先更新pdu_available_size的值。在更新pdu_available_size值的过程中,如果当前遍历的SDU是发送缓存队列的第一个元素,则从pdu_available_size中减去(sdu_length-start_pos)以及长度为1个字节的LI(length_indicator,它是PDU中的一个标识,用于指示SDU的结尾),同时head_length加1;如果当前遍历的SDU不是发送缓存队列的第一个元素,则从pdu_available_size中减去sdu_length以及1个字节的LI,同时head_length加1。
步骤S33、在完成对pdu_available_size值的更新后,判断此时的pdu_available_size是否等于0,若为0,表示预计算PDU包头长度过程结束,进入步骤S40,否则,如果pdu_available_size>0,判断缓存队列里当前SDU的后面是否还有SDU,如果已没有,则需要另外用一个LI指示PDU的填充信息,即将head_length加1后进入步骤S40,如果当前SDU后面还有SDU,重复步骤S32,继续遍历后面的SDU节点。
步骤S40、经过步骤S30后,得到了当前PDU打包过程的包头长度head_length。在得到包头长度后,发送侧根据MAC层所通知的PDU大小,对发送缓存队列中的SDU节点数据包进行打包操作,并将打包结果发往下层。在图4中给出了打包操作的具体实现步骤,这一操作包括:
步骤S41、发送侧根据MAC层通知的PDU大小值pdu_size从缓存队列的第一个队列节点开始遍历发送缓存队列。
步骤S42、判断当前PDU大小是否能装入发送缓存队列第一个节点的SDU数据(即判断pdu_available_size是否大于sdu_length-start_pos),如果能够装入(即大于),则进入步骤S44,否则进入步骤S43。
步骤S43、将当前SDU从start_pos处开始,将长度为pdu_available_size的数据拷贝至当前PDU的头部后,如果此时当前SDU刚好拷贝完,则删除当前SDU,设置start_pos为0。否则,设置start_pos为SDU已拷贝的数据后面一个字节处的起点位置值。从逻辑信道数据大小标识上减去pdu_available_size-head_length,分段打包过程结束,将PDU交至MAC层处理。
步骤S44、在当前PDU的SN后面使用一个LI指示当前SDU的结尾,将当前SDU从start_pos处开始,长度为sdu_length-start_pos的数据拷贝至PDU头部后的起始位置,更新pdu_available_size的值,减去“sdu_length-start_pos”和一个LI所占空间,然后删除当前SDU,设置start_pos为0,进入步骤S45。
步骤S45、判断此时pdu_available_size的大小,如果其值为0,分段打包过程结束,将PDU交至MAC层处理。如果pdu_available_size>0且发送缓存队列为空,则用一个字节LI指示PDU的填充信息,分段打包过程结束,将PDU交至MAC层处理,如果pdu_available_size>0且发送缓存队列不为空,则重复步骤S42。
以上是对无线通信发送侧发送数据过程的说明,在数据的发送过程中,如图6所示,每当系统中的定时器timer1(一个与协议无关的且周期很小的定时器)超时,遍历所有逻辑信道下发送缓存队列的SDU节点,将每个SDU的超时时间值减去timer1的超时周期,此时,如果SDU的超时时间值小于0,则删除对应的SDU节点,并重新初始化分段标识和未发送数据起始位置标识。发送侧在将PDU交至MAC层后,再由下层通过无线传输方式发送到接收侧。在下面的描述中,将对接收侧的RLC如何按照非确认模式接收、处理所接收到的数据包的过程加以说明。
步骤S50、接收侧接收到从MAC层递交上来的PDU后,对所述PDU进行解包操作。在图5中,对解包操作的实现过程做了详细说明,该过程包括以下步骤:
步骤S51、解析出所接收到的PDU包的SN值,将该值与UM实体信息里保存的“接收过程序列号”加以比较,如果相等,则进入步骤S53,如果不相等,则表明发生了丢包现象,进入步骤S52。
步骤S52、将UM实体信息里所保存的“接收过程序列号”赋值为当前PDU的SN值加1后的结果,然后清空接收缓存队列中的所有数据,丢弃当前PDU,并准备继续接收下一个PDU数据包。
步骤S53、将UM实体信息里保存的“接收过程序列号”赋值为当前PDU的SN值加1后的结果,然后计算出当前PDU中LI的个数,如果LI个数为0,则表示当前PDU是某个SDU的一个分段,将当前PDU的头部数据去掉后放入接收缓存区,本次解包过程结束。如果LI个数不为0,则进入步骤S54。
步骤S54、判断第一个LI的合法性,如果第一个LI为不合法,则进入S55,否则将根据其是否为某个预先定义的保留值将接收缓存队列的数据,或将接收缓存队列的数据连同第一个LI所指示的数据组成一个SDU放入提交队列。依次判断第一个LI后面的各个LI的合法性,如果其中一个LI不合法则进入S55,否则将各个LI所指示的数据组成相应的SDU放入提交队列,如果最后一个LI没有指示到PDU结尾处且最后一个LI不是指示填充信息的预先定义的保留值,则将最后一个LI所指示的数据后面的数据部分放入接收缓存队列,进入S60。
步骤S55、清空接收缓存队列以及提交队列的所有数据,丢弃该PDU数据包,本次解析结束。
步骤S60、接收侧成功解析完一个PDU数据包后,如果提交队列不为空,则将提交队列中的SDU数据依次向上层提交。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (7)

1.一种无线链路控制层非确认模式下的数据传输方法,包括:
步骤1)、发送侧从上层接收服务数据单元,所述服务数据单元内包括所要发送的数据,所述服务数据单元的描述信息保存在无线承载逻辑信道信息队列的发送缓存队列中,所述服务数据单元的长度添加到无线承载逻辑信道信息队列的逻辑信道数据大小标识中,发送侧的下层根据所述逻辑信道数据大小标识分配带宽;所述无线承载逻辑信道信息队列用于描述无线承载逻辑信道,它还包括非确认模式传输实体;所述非确认模式传输实体包括接收缓存队列、提交队列、发送过程序列号与接收过程序列号;
步骤2)、发送侧根据下层带宽分配结果得到非确认模式下的协议数据单元的大小,根据所述发送缓存队列中所保存的服务数据单元的描述信息以及所述协议数据单元的大小对所述协议数据单元的包头部分的长度进行预计算;
步骤3)、发送侧根据预计算得到的协议数据单元的包头长度将所述服务数据单元中的数据打包成协议数据单元,将所述协议数据单元发送到接收侧;
步骤4)、接收侧接收到协议数据单元后,在所述接收缓存队列中对所述协议数据单元解包,将其重新转换为服务数据单元,并由所述提交队列将所得到的服务数据单元向上层提交。
2.根据权利要求1所述的无线链路控制层非确认模式下的数据传输方法,其特征在于,在所述的步骤1)之前,还包括发送侧与接收侧的无线链路控制层建立无线承载逻辑信道信息队列,并初始化该队列中的参数的步骤。
3.根据权利要求1所述的无线链路控制层非确认模式下的数据传输方法,其特征在于,所述发送侧有一个唯一的定时器;保存在所述发送侧的发送缓存队列中的每个服务数据单元有一个服务数据单元超时时间值,所述服务数据单元超时时间值的初始值为大小固定的服务数据单元最大超时值;在所述发送侧对所述服务数据单元打包前与打包过程中,每当所述定时器超时时,遍历所述发送缓存队列中的服务数据单元,将每个服务数据单元的超时时间值减去该定时器的超时周期,若修改后的超时时间值小于0,则删除对应的服务数据单元。
4.根据权利要求1或2或3所述的无线链路控制层非确认模式下的数据传输方法,其特征在于,所述无线承载逻辑信道信息队列还包括用于记录服务数据单元待发送数据部分起始位置的未发送数据起始位置start_pos、用于描述服务数据单元和协议数据单元分段关系的分段标识seg_flag;所述未发送数据起始位置start_pos与分段标识seg_flag的初始值都为0;
所述的步骤2)包括:
步骤2-1)、判断协议数据单元可用空间的大小pdu_available_size是否大于发送缓存队列首节点中的服务数据单元的sdu_length-start_pos,如果大于,则进入下一步,否则,预计算过程结束,进入步骤3);其中,所述pdu_available_size的初始值为pdu_size-SN长度-seg_flag,pdu_size表示协议数据单元的大小,SN长度表示序列号长度;
步骤2-2)、更新pdu_available_size的值,并将用于记录协议数据单元包头部分长度的head_length的值加1;其中,所述head_length的初始值为SN长度与seg_flag的和;
步骤2-3)、判断更新后的pdu_available_size的值是否为0,若为0,预计算过程结束,进入步骤3),若大于0,则进一步判断服务数据单元在发送缓存队列中是否还有后继服务数据单元,若不存在,将所述head_length的值加1后进入步骤3),否则,重新执行步骤2-2)。
5.根据权利要求4所述的无线链路控制层非确认模式下的数据传输方法,其特征在于,在所述的步骤2-2)中,所述的更新pdu_available_size的值包括:
步骤2-2-1)、判断当前遍历的服务数据单元是否是所述发送缓存队列的首个元素,若是,进入下一步,否则,进入步骤2-2-3);
步骤2-2-2)、从所述pdu_available_size中减去sdu_lengty与start_pos的差,再从差值中减去协议数据单元中用于指示服务数据单元结尾的LI,得到更新后的pdu_available_size,其中LI是长度指示符,它是PDU中用于指示SDU的结尾的一个标识;
步骤2-2-3)、从所述pdu_available_size中减去sdu_length,再从差值中减去所述LI,得到更新后的pdu_available_size。
6.根据权利要求5所述的无线链路控制层非确认模式下的数据传输方法,其特征在于,所述的步骤3)包括:
步骤3-1)、发送侧根据协议数据单元的大小值pdu_size从缓存队列的第一个队列节点开始遍历发送缓存队列;
步骤3-2)、判断当前协议数据单元的大小是否能装入发送缓存队列第一个节点的服务数据单元中的数据,如果能够装入,进入步骤3-4),否则进入步骤3-3);
步骤3-3)、将当前服务数据单元从未发送数据起始位置start_pos处开始,将长度为pdu_available_size的数据拷贝至当前协议数据单元的头部,如果此时当前服务数据单元刚好拷贝完,则删除当前服务数据单元,设置所述start_pos为0,否则,设置所述start_pos为服务数据单元已拷贝的数据后面一个字节处的起点位置值,从逻辑信道数据大小标识上减去大小为pdu_available_size,分段打包过程结束,将所得到的协议数据单元交至下层处理;
步骤3-4)、在当前协议数据单元中的序列号SN后使用所述的LI指示当前服务数据单元的结尾,将当前服务数据单元从所述start_pos处开始,长度为sdu_length-start_pos的数据拷贝至协议数据单元头部后的起始位置,更新pdu_available_size的值,减去所述sdu_length与start_pos的差和一个LI所占空间,然后删除当前服务数据单元,设置所述start_pos的值为0,进入步骤3-5);
步骤3-5)、判断此时pdu_available_size的大小,如果其值为0,分段打包过程结束,将协议数据单元交至下层处理,如果pdu_available_size>0且发送缓存队列为空,则用一个字节LI指示PDU的填充信息,分段打包过程结束,将协议数据单元交至下层处理,如果pdu_available_size>0且发送缓存队列不为空,则重新进入步骤3-4)。
7.根据权利要求1或2或3所述的无线链路控制层非确认模式下的数据传输方法,其特征在于,在所述步骤4)中,所述的在所述接收缓存队列中对所述协议数据单元解包包括:
步骤4-1)、解析出所接收到的协议数据单元的序列号值,将该值与非确认模式传输实体中的“接收过程序列号”加以比较,如果相等,则进入步骤4-3),如果不相等,则发生了丢包现象,进入步骤4-2);
步骤4-2)、将非确认模式传输实体中的“接收过程序列号”赋值为当前协议数据单元的SN值加1后的结果,然后清空接收缓存队列中的所有数据,丢弃当前协议数据单元,并准备继续接收下一个协议数据单元数据包;
步骤4-3)、将非确认模式传输实体中的“接收过程序列号”赋值为当前协议数据单元的SN值加1后的结果,然后计算出当前协议数据单元中LI的个数,如果LI个数为0,则当前协议数据单元是某个服务数据单元的一个分段,将当前协议数据单元的头部数据去掉后放入接收缓存区,本次解包过程结束,如果LI个数不为0,则进入步骤4-4);
步骤4-4)、判断第一个LI的合法性,如果第一个LI为不合法,则进入下一步,否则根据其是否为某个预先定义的保留值将接收缓存队列的数据,或将接收缓存队列的数据连同第一个LI所指示的数据组成一个服务数据单元放入所述的提交队列;然后依次判断第一个LI后面的各个LI的合法性,如果其中一个LI不合法则进入下一步,否则将各个LI所指示的数据组成相应的服务数据单元后放入提交队列,如果最后一个LI没有指示到协议数据单元结尾处且最后一个LI不是指示填充信息的预先定义的保留值,则将最后一个LI所指示的数据后面的数据部分放入接收缓存队列,结束解包过程;
步骤4-5)、清空接收缓存队列以及提交队列的所有数据,丢弃该协议数据单元数据包,结束解包过程。
CN 201010221262 2010-06-29 2010-06-29 无线链路控制层非确认模式下的数据传输方法 Active CN101867972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010221262 CN101867972B (zh) 2010-06-29 2010-06-29 无线链路控制层非确认模式下的数据传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010221262 CN101867972B (zh) 2010-06-29 2010-06-29 无线链路控制层非确认模式下的数据传输方法

Publications (2)

Publication Number Publication Date
CN101867972A CN101867972A (zh) 2010-10-20
CN101867972B true CN101867972B (zh) 2012-12-12

Family

ID=42959478

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010221262 Active CN101867972B (zh) 2010-06-29 2010-06-29 无线链路控制层非确认模式下的数据传输方法

Country Status (1)

Country Link
CN (1) CN101867972B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102638328B (zh) * 2011-02-15 2015-10-14 电信科学技术研究院 一种数据传输的方法及装置
CN105764143B (zh) * 2014-12-19 2019-01-04 展讯通信(上海)有限公司 用户终端及其um模式下的数据发送方法及装置
WO2018166042A1 (zh) * 2017-03-14 2018-09-20 北京小米移动软件有限公司 数据单元传输方法及装置
AU2018418065A1 (en) * 2018-04-13 2020-11-26 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and device for establishing transmission path
CN109936858B (zh) * 2019-02-20 2022-03-25 武汉虹信科技发展有限责任公司 一种无线链路控制数据处理方法及系统
CN111857606B (zh) * 2020-08-26 2023-10-20 Oppo广东移动通信有限公司 数据存储方法、装置、计算机设备以及存储介质
CN112566256B (zh) * 2020-12-01 2023-04-07 重庆重邮汇测电子技术研究院有限公司 一种基于rlc um模式发送协议数据单元的方法
CN113572582B (zh) * 2021-07-15 2022-11-22 中国科学院计算技术研究所 数据发送、重传控制方法及系统、存储介质及电子设备
CN113965572B (zh) * 2021-11-02 2024-05-14 上海佰贝网络工程技术有限公司 一种区块链的区块分发方法、系统、计算机设备及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215769B1 (en) * 1998-10-07 2001-04-10 Nokia Telecommunications, Inc. Enhanced acknowledgment pacing device and method for TCP connections
CN101123745A (zh) * 2006-08-11 2008-02-13 中兴通讯股份有限公司 配置更新非确认模式重排序缓存大小的方法
CN101123574A (zh) * 2006-08-11 2008-02-13 中兴通讯股份有限公司 配置非确认模式重排序缓存大小的方法
WO2008034374A1 (fr) * 2006-08-26 2008-03-27 Huawei Technologies Co., Ltd. Procédé, système et appareil de transmission de commande de liaison radio

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6215769B1 (en) * 1998-10-07 2001-04-10 Nokia Telecommunications, Inc. Enhanced acknowledgment pacing device and method for TCP connections
CN101123745A (zh) * 2006-08-11 2008-02-13 中兴通讯股份有限公司 配置更新非确认模式重排序缓存大小的方法
CN101123574A (zh) * 2006-08-11 2008-02-13 中兴通讯股份有限公司 配置非确认模式重排序缓存大小的方法
WO2008034374A1 (fr) * 2006-08-26 2008-03-27 Huawei Technologies Co., Ltd. Procédé, système et appareil de transmission de commande de liaison radio

Also Published As

Publication number Publication date
CN101867972A (zh) 2010-10-20

Similar Documents

Publication Publication Date Title
CN101867972B (zh) 无线链路控制层非确认模式下的数据传输方法
US11910414B2 (en) Techniques for wireless access and wireline network integration
JP6867500B2 (ja) データ処理を実装するための方法、ネットワークデバイス、およびシステム、ならびに記憶媒体
CN105917688B (zh) 用于设备到设备发现信令的方法和装置
CN101932007B (zh) 一种实现移动终端业务流传输的方法及无线中继系统
CN101374331B (zh) 配置无线链路控制层序列号的方法、系统和设备
KR102211263B1 (ko) 통신 시스템에서 단말의 버퍼 상태 보고 방법 및 장치
US20040008659A1 (en) Method of setting initial transport format combination in broadband code division multiple access system
CN110505656A (zh) 数据处理方法、装置及系统
US9001654B2 (en) Enhanced multiplexing for single RLC entity
CN103703829B (zh) 一种数据传输方法和装置
CN106100816A (zh) 实现载波聚合的方法、基站和用户设备
CN101714896B (zh) 通信方法
KR20080002738A (ko) 일반 공중 무선 인터페이스를 통한 다양한 무선 접속기술에 대한 서비스 데이터를 전송하는 방법
CN108282819B (zh) 一种减少中断时延的方法、装置及用户设备
CN102301818A (zh) 中继链路中处理数据的方法、中继节点和系统
CN109246833B (zh) 承载配置确定、信息发送方法及装置、主基站和辅基站
WO2012119491A1 (zh) 通用公共无线接口的非i/q数据传输方法和装置
CN102348292A (zh) 一种基于mac子层和rlc子层的数据传输方法和设备
CN101594274B (zh) 初始接入的方法及初始接入信令的传输方法
EP1652342B1 (en) Method, access point and program product for providing bandwidth and airtime fairness in wireless networks
CN107925505B (zh) 一种用户及网络侧设备、确定对数据包的处理模式的方法
CN107645747A (zh) 一种发送和接收数据的方法及设备
CN100574330C (zh) 无线链路层中非确认模式协议数据单元的发送和接收方法
CN106851724A (zh) 一种无线资源处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Assignee: Beijing Zhongke Jingshang Technology Co., Ltd.

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2011110000143

Denomination of invention: Data transmission method in unacknowledged mode of wireless link control layer

License type: Exclusive License

Open date: 20101020

Record date: 20110823

C14 Grant of patent or utility model
GR01 Patent grant
EC01 Cancellation of recordation of patent licensing contract

Assignee: Beijing Zhongke Polytron Technologies Inc

Assignor: Institute of Computing Technology, Chinese Academy of Sciences

Contract record no.: 2011110000143

Date of cancellation: 20181212

EC01 Cancellation of recordation of patent licensing contract
EM01 Change of recordation of patent licensing contract

Change date: 20181212

Contract record no.: 2011110000143

Assignee after: Beijing Zhongke Polytron Technologies Inc

Assignee before: Beijing Zhongke Jingshang Technology Co., Ltd.

EM01 Change of recordation of patent licensing contract