CN103517335A - 数据组包方法与装置 - Google Patents

数据组包方法与装置 Download PDF

Info

Publication number
CN103517335A
CN103517335A CN201310430649.2A CN201310430649A CN103517335A CN 103517335 A CN103517335 A CN 103517335A CN 201310430649 A CN201310430649 A CN 201310430649A CN 103517335 A CN103517335 A CN 103517335A
Authority
CN
China
Prior art keywords
length
data unit
control layer
access control
medium access
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
Application number
CN201310430649.2A
Other languages
English (en)
Other versions
CN103517335B (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.)
Newpoint Intelligent Technology Group Co ltd
Original Assignee
Innofidei Technology Co Ltd
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 Innofidei Technology Co Ltd filed Critical Innofidei Technology Co Ltd
Priority to CN201310430649.2A priority Critical patent/CN103517335B/zh
Publication of CN103517335A publication Critical patent/CN103517335A/zh
Application granted granted Critical
Publication of CN103517335B publication Critical patent/CN103517335B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供了一种数据组包方法与装置,其中,数据组包方法包括:确定待发送数据的RB是按照RB对应的SDU长度向量将待发送数据组织到上行授权资源中;先对组织到上行授权资源中的待发送数据进行MAC SDU组包,再根据MAC SDU组包结果确定MAC PDU的实际头长与预留头长的差;或者,先确定在最后一个MAC SDU中填充的RLC PDU的长度再对组织到上行授权资源中的待发送数据进行MAC SDU组包;根据MAC PDU的实际头长与预留头长的差或者根据RLC PDU的长度,在MAC层和物理层共享的缓冲区中,进行MAC PDU的组包。通过本发明,避免地址空间浪费,提高MAC PDU的组包速度和效率。

Description

数据组包方法与装置
技术领域
本发明涉及通信技术领域,特别是涉及一种MAC(Medium AccessControl,介质访问控制)PDU(Packet Data Unit,分组数据单元)的组包方法与装置。
背景技术
LTE(Long Time Evolution,长期演进)系统中,多种多样的终端数据业务展现出各自特有的性能需求,比如最典型的网页要求低响应时间、FTP(File Transfer Protocol,文件传输协议)业务要求数据的正确性、以及音视频业务对保证速率的要求。这些不同的业务数据对无线资源的分配和竞争,在LTE系统内会集中体现在MAC(Medium Access Control,介质访问控制)层的“多RB(Radio Bearer,无线承载)调度器”中。因为MAC层在数据面可以被理解为物理层和业务层的接口,MAC层将来自业务层的数据块以分组的形式存在于业务层的RLC(Radio Link Control,无线链路控制)层的缓存之中,而来自物理层的上行授权(UpLink grant,ULgrant)被不间断地通告给MAC层,因此,多RB调度器在功能上就需要高速且高效地将来自多个业务的RB上的数据分组,连续地组织到的ULgrant中。
多RB调度器在将RB上的数据分组组织到的ULgrant后,需要先将组织到ULgrant中的数据组织成MAC PDU包,然后再复制到物理层。一个MAC PDU包包含一个MAC PDU头、0或多个MAC SDU(Service DataUnit;业务数据单元)、0或多个MAC控制单元,以及可能的填充。MAC PDU头和MAC SDUs(其中,SDUs为SDU的复数形式,表示多个SDU)的长度可变。一个MAC PDU头包含一个或多个MAC PDU子头;每个子头对应一个MAC SDU或一个MAC控制单元或填充。除MAC PDU内最后一个子头以及固定长度MAC控制单元的子头之外,MAC PDU子头包含R/R/E/LCID/F/L六个头字段,而MAC PDU内最后一个子头以及固定长度的MAC控制单元子头包含R/R/E/LCID四个头字段。填充对应的MAC PDU子头也包含四个头字段R/R/E/LCID。从上述MAC PDU的结构可以看出,MACPDU头是一个可变的长度,只有组完MAC SDU之后才能确定MAC的PDU头长,所以,在组MAC SDU的时候无法确定组包的起始位置,需要借助于中间地址,在通过中间地址进行组包后,再拷贝到物理层的BUFFER(缓冲区)中。
但是,这种组包方法一方面需要额外的中间地址空间,另一方面也降低了MAC PDU组包的速度和效率。
发明内容
本发明提供了一种MAC PDU的组包方法与装置,以解决现有MACPDU组包时,浪费地址空间,组包速度和效率不高的问题。
为了解决上述问题,本发明公开了一种数据组包方法,包括:确定待发送数据的无线承载是按照所述无线承载对应的业务数据单元长度向量,将所述待发送数据组织到上行授权资源中,其中,所述业务数据单元长度向量中的元素分别用于标识所述无线承载的各业务数据单元的分段长度;先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包,再根据所述介质访问控制层业务数据单元组包结果,确定介质访问控制层分组数据单元的实际头长与预留头长的差,其中,所述预留头长大于或等于所述实际头长;或者,先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度,再对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包;当先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包时,则根据所述介质访问控制层分组数据单元的实际头长与预留头长的差,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包;或者,当先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度时,则根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
为了解决上述问题,本发明还公开了一种数据组包装置,包括:第一确定模块,用于确定待发送数据的无线承载是按照所述无线承载对应的业务数据单元长度向量,将所述待发送数据组织到上行授权资源中,其中,所述业务数据单元长度向量中的元素分别用于标识所述无线承载的各业务数据单元的分段长度;第二确定模块,用于先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包,再根据所述介质访问控制层业务数据单元组包结果,确定介质访问控制层分组数据单元的实际头长与预留头长的差,其中,所述预留头长大于或等于所述实际头长;或者,用于先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度,再对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包;组包模块,用于当先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包时,则根据所述介质访问控制层分组数据单元的实际头长与预留头长的差,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包;或者,当先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度时,则根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
与现有技术相比,本发明具有以下优点:
首先,本发明的数据组包方案在进行MAC PDU组包时,通过获得MACPDU的实际头长与预留头长的差,或者,通过获得最后一个MAC SDU中填充的RLC(Radio Link Control,无线链路控制)PDU的长度,实现了在协议规定的调度器特性的基础上,BUFFER零拷贝的方案,其直接使用MAC层和底层(物理层)共享的BUFFER进行MAC PDU的组包,MAC层直接把组包数据写入BUFFER,而不再通过中间地址进行组包后再拷贝到BUFFER中,从而减少了数据的拷贝次数,降低了CPU load(CPU负载),也避免了地址空间浪费,提高了MAC PDU的组包速度和效率。
其次,本发明中待发送数据的RB(Radio Bearer,无线承载)按照其对应的SDU长度向量,将待发送数据组织到ULgrant资源。SDU长度向量为RB的各待上传SDU分段的数据长度的向量,向量中的每一个元素都是RB的一个完整SDU分段,当资源充足时,按照SDU长度向量为RB分配的无线资源能够保证RB中SDU分段的完整传输,保护了SDU的完整性,SDU的完整性是提高LTE整体性能的一个手段,它能够有效地降低SDU的分割,减小上层报文的开销以及被重传的可能性。
附图说明
图1是根据本发明实施例一的一种数据组包方法的步骤流程图;
图2是根据本发明实施例二的一种数据组包方法的步骤流程图;
图3是根据本发明实施例三的一种数据组包方法的步骤流程图;
图4是根据本发明实施例四的一种数据组包装置的结构框图;
图5是根据本发明实施例五的一种数据组包装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了根据本发明实施例一的一种数据组包方法的步骤流程图。
本实施例的数据组包方法包括以下步骤:
步骤S102:确定待发送数据的RB是按照RB对应的SDU长度向量,将待发送数据组织到ULgrant资源中。
其中,SDU长度向量中的元素分别用于标识RB的各SDU的分段长度。
采用按照RB对应的SDU长度向量,将RB的待发送数据组织到ULgrant资源中的方式,除最后一个SDU外,其它SDU中的实际数据长度与SDU分段长度相同,也即,只要SDU分段长度确定,则对应的SDU中的实际数据长度即确定;而最后一个SDU中的实际数据长度可能小于也可能等于SDU分段长度,无法根据SDU分段长度确定最后一个SDU中的实际数据长度,也就无法根据SDU分段长度确定MAC PDU的头长。
在按照RB对应的SDU长度向量,将RB的待发送数据组织到ULgrant资源中时,可以先根据本RB对应的SDU长度向量获取大于或等于本RB的Bj、且与本RB的Bj最接近的SDU分段长度;然后选择获取的SDU的分段长度和当前剩余的ULgrant资源的长度中的小值作为本RB的第一轮资源分配值,按照第一轮资源分配值为本RB分配ULgrant资源。若第一轮资源分配后仍有待发送数据的RB,且仍有剩余的ULgrant资源,则可以继续按照第一轮资源分配的方法继续进行第二轮资源分配,直到所有RB的待上传数据全部获得ULgrant资源或者ULgrant资源耗尽。其中,Bj用于标识需要给RB分配的无线资源的长度。Bj在RB未得到授权时,是RB的PBR(PrioritisedBit Rate,保证速率)与TTI(Transmission Time Interval,传输时间间隔)的乘积,表示当前调度时需要在第一轮给RB分配的数据长度,该Bj随着时间的推移会逐渐增长。在为RB分配资源后,Bj会更新,从原Bj中减去为该RB分配的资源值,Bj可以为负值。
例如,一个RB有三个待上传的SDU分段,各SDU分段的数据长度均为5,则第一SDU分段的长度向量值为5,第二SDU分段的长度向量值为10,第三SDU分段的长度向量值为15,该RB的SDU长度向量为{5,10,15}。若该RB的Bj为13,则选择的SDU分段长度为15。当ULgrant资源充足时,为该RB分配长度为15的ULgrant资源。
步骤S104:先对组织到ULgrant资源中的、待发送数据进行MAC SDU组包,再根据MAC SDU组包结果,确定MAC PDU的实际头长与预留头长的差;或者,先确定在最后一个MAC SDU中填充的RLC PDU的长度,再对组织到ULgrant资源中的、待发送数据进行MAC SDU组包。
其中,预留头长大于或等于实际头长。
当按照RB对应的SDU长度向量,将待发送数据组织到ULgrant资源时,除最后一个MAC SDU外,其它MAC SDU对应的头长可以方便地根据该MAC SDU的SDU长度向量确定,但最后一个MAC SDU的的SDU长度向量指示的长度则有可能不能实现该MAC SDU的完整组包。因此,在MACPDU组包时,需要针对这种情况而进行特别处理。
当先进行MAC SDU组包时,MAC层和物理层共享的BUFFER中预留有足够的头长(也即预留头长)空间,进行MAC SDU组包后即可计算获得MAC PDU的实际头长,该实际头长与预留头长的差值即为实际MAC PDU与预留MAC PDU的偏差。依赖该偏差可以确定MAC PDU的实际起始地址和长度,实现直接的BUFFER写入,无须中间地址和再次拷贝。
当先确定在最后一个MAC SDU中填充的RLC PDU的长度时,可以根据该长度,和,根据最后一个MAC SDU的长度确定的最后一个MAC SDU的头长,再结合其它MAC SDU对应的头长,获得MAC PDU的实际头长,根据该实际头长即可确定MAC PDU的实际起始地址和长度,以及MACSDU的实际地址和长度,进而实现直接的BUFFER写入,无须中间地址和再次拷贝。
步骤S106:根据MAC PDU的实际头长与预留头长的差,或者,根据RLC PDU的长度,在MAC层和物理层共享的BUFFER缓冲区中,进行MACPDU的组包。
当进行了先对组织到ULgrant资源中的、待发送数据进行MAC SDU组包,再根据MAC SDU组包结果,确定MAC PDU的实际头长与预留头长的差后,可以根据MAC PDU的实际头长与预留头长的差,在MAC层和物理层共享的BUFFER缓冲区中,进行MAC PDU的组包。
当进行了先确定在最后一个MAC SDU中填充的RLC PDU的长度,再对组织到ULgrant资源中的、待发送数据进行MAC SDU组包后,可以根据RLC PDU的长度和计算出的各个MAC SDU对应的头长,在MAC层和物理层共享的BUFFER缓冲区中,进行MAC PDU的组包。
本实施例的数据组包方法的执行主体为资源分配装置,例如该资源分配装置具体可以为调度器。
通过本实施例,首先,待发送数据的RB按照其对应的SDU长度向量,将待发送数据组织到ULgrant资源。SDU长度向量为RB的各待上传SDU分段的数据长度的向量,向量中的每一个元素都是RB的一个完整SDU分段,当资源充足时,按照SDU长度向量为RB分配的无线资源能够保证RB中SDU分段的完整传输,保护了SDU的完整性,SDU的完整性是提高LTE整体性能的一个手段,它能够有效地降低SDU的分割,减小上层报文的开销以及被重传的可能性。
其次,在进行MAC PDU组包时,通过获得MAC PDU的实际头长与预留头长的差,或者,通过获得最后一个MAC SDU中填充的RLC PDU的长度,实现了在协议规定的调度器特性的基础上,BUFFER零拷贝的方案,其直接使用MAC层和底层(物理层)共享的BUFFER进行MAC PDU的组包,MAC层直接把组包数据写入BUFFER,而不再通过中间地址进行组包后再拷贝到BUFFER中,从而减少了数据的拷贝次数,降低了CPU load,也避免了地址空间浪费,提高了MAC PDU的组包速度和效率。
实施例二
参照图2,示出了根据本发明实施例二的一种数据组包方法的步骤流程图。
本实施例的数据组包方法包括以下步骤:
步骤S202:调度器为Bj>0的RB进行ULgrant资源分配。
本实施例中,以执行主体为MAC层调度器为例详细介绍本发明的技术方案。
本实施例的资源分配方案基于两轮调度的基本框架,第一轮调度针对PBR结果Bj,对于Bj>0的RB,将ULgrant资源按照RB的优先级顺序,先根据Bj结果和SDU长度向量分配给各个RB。如果在ULgrant资源耗尽之前,各个信道都被满足,则可以进入第二轮调度。第二轮调度会将剩余的ULgrant资源,按照RB的优先级顺序,依次分配给还有待发数据的各RB。
具体地,本步骤可以包括:
步骤S2022:为Bj>0的RB生成SDU长度向量。
SDU长度向量为RB的各待上传SDU分段的长度向量。以一个RB为例,生成该RB的SDU长度向量的步骤包括:获取该RB的各SDU分段标识(如包括第一SDU分段、第二SDU分段和第三SDU分段)的长度值;对于每一个SDU分段,将本SDU分段所标识的长度值与本SDU分段前的所有SDU分段所标识的长度值的和,作为本SDU的分段长度(如单个SDU分段所标识的长度值均为5,则第一SDU的分段长度5为该RB的SDU长度向量中的第一个元素、第二SDU的分段长度5+5=10为该RB的SDU长度向量中的第二个元素,第三SDU的分段长度5+5+5=15为该RB的SDU长度向量中的第三个元素);按照该RB中的各SDU分段的前后顺序,以各SDU的分段长度为元素生成该RB的SDU长度向量(该RB的SDU长度向量为{5,10,15})。其中,SDU分段所标识的长度值是一个SDU分段所能标识的长度值,即该SDU分段的长度的值。
步骤S2024:获取ULgrant资源,调度器确定Bj>0的RB。
本实施例中,设定Bj>0的RB包括RB-1、RB-2、RB-3、RB-4和RB-5,相对应地,每个RB的SDU长度向量分别为{5,10,15}、{5,10,15,20}、{5,10,15}、{5,10,15}和{5,10,15,20}。
本实施例中,对于Bj大于0的上述各RB可以按照优先级的顺序进行后续的ULgrant资源分配处理。
步骤S2026:调度器获取Bj>0的各RB的Bj,从各RB对应的SDU长度向量中获取大于本RB的Bj、且与本RB的Bj最接近的SDU分段长度。
本实施例中,设定RB-1的Bj为5、RB-2的Bj为13、RB-3的Bj为8、RB-4的Bj为9、RB-5的Bj为18。并且,如上所述,RB-1、RB-2、RB-3、RB-4和RB-5对应的SDU长度向量分别为{5,10,15}、{5,10,15,20}、{5,10,15}、{5,10,15}和{5,10,15,20}。因此,调度器确定的各RB的SDU分段长度分别为5、15、10、10和20。
步骤S2028:调度器将获取的SDU的分段长度和当前剩余的ULgrant资源的长度中的小值作为本RB的第一轮资源分配值,按照第一轮资源分配值分配ULgrant资源给本RB。
ULgrant资源通常以长度形式表示和度量,因此,本步骤中的当前剩余的ULgrant资源的长度能够表示当前剩余的ULgrant资源。
本实施例中,设定SDU的分段长度和当前剩余的ULgrant资源的长度中,SDU的分段长度为小值,则调度器将确定的各RB的SDU的分段长度作为第一轮资源分配值,根据该值为各RB分配上行授权资源。
步骤S20210:对于每一个RB,调度器将该RB的Bj减去对应RB的第一轮资源分配值后的结果作为该RB的新Bj。
也即,Bj(n)=Bj(n)-lk(n),其中,第一个Bj(n)表示第n个RB的新Bj,第二个Bj(n)表示第n个RB的原Bj,lk(n)表示第n个RB的第一轮资源分配值,k表示该RB的SDU向量序号。
步骤S20212:在上述为各个待发送数据的RB按照各自对应的SDU长度向量进行第一轮的ULgrant资源分配之后,若ULgrant资源有剩余,则根据仍有待上传数据的RB的优先级,按照仍有待上传数据的RB对应的SDU长度向量,为仍有待上传数据的RB分配ULgrant资源,直到所有RB的待上传数据全部获得ULgrant资源或者ULgrant资源耗尽。
也即,在进行上述步骤后,若ULgrant资源分配给Bj大于0的各RB后有剩余,则按照仍有待上传数据的RB的优先级,为仍有待上传数据的RB分配ULgrant资源,直到所有RB的待上传数据全部获得ULgrant资源或者ULgrant资源耗尽。
第一轮调度在正常情况下,可能并不能将待发数据全部待发完,这时信道上还有剩余SDU。如果此时还有剩余的ULgrant资源,可以进行ULgrant资源分配的第二轮调度。
第二轮调度可以采用多种方式,
例如,优选地,若同一优先级的仍有待上传数据的RB有至少两个,则根据各个RB对应的LC(逻辑信道)的ID(标识)的排列顺序,按照各个RB对应的SDU长度向量,将剩余的ULgrant资源轮转分配给仍有待上传数据的RB。
再例如,优选地,若同一优先级的仍有待上传数据的RB有N个,且N个RB中有M个RB的待上传数据的长度li小于或等于Ulrem/N,其中,N>1,M<=N,0<=i<=M-1,Ulrem为当前剩余的上行授权资源的长度;则为M个RB分配各自所需的li长度的上行授权资源,并按照公式:
Figure BDA0000384414010000101
更新Ulrem;为剩余的N—M个RB分配Ulrem/N的上行授权资源,并将更新后的Ulrem指示的上行授权资源迭代平均分配给剩余的N—M个RB。
其中,将更新后的Ulrem指示的上行授权资源迭代平均分配给剩余的N—M个RB包括:将N-M个RB视为新的上述操作(上一段中描述的操作)中的N个RB,再一次施行上述操作,反复执行,直到新一轮的N-M为1,则将所有的剩余上行授权资源分配给该RB。
再例如,优选地,在按照RB的优先级,为仍有待上传数据的RB分配上行授权资源的过程中,当首次对同一优先级的N个RB,且N个RB中有M个RB的待上传数据的长度li小于或等于Ulrem/N进行资源分配时,其中,N>1,M<=N,0<=i<=M-1,Ulrem为当前剩余的上行授权资源的长度;则为M个RB分配各自所需的li长度的上行授权资源,并按照公式:更新Ulrem,获得更新后的Ulrem;对剩余的N—M个RB(即剩余的N—M个数据长度大于Ulrem/N的RB)中的每个RB,获取本RB已分配到的上行授权资源(即第一轮调度分配到的授权长度),并与更新前的Ulrem/N相加得到本RB的Ulavg,从本RB对应的SDU长度向量中获取小于本RB的Ulavg、且与本RB的Ulavg最接近的SDU长度,作为本RB的授权长度lj,其中,各RB的SDU长度向量在本RB每次获得上行授权资源后更新,0<=j<=N-M;按照所有剩余的、仍有待上传数据的RB的标识(ID)排列顺序,将更新后的Ulrem指示的上行授权资源轮转分配给所有剩余的、仍有待上传数据的RB。例如,假定同优先级的RB为ABCD四个,本次调度到这个阶段,CD尚需资源分配时则本次分配给C,下次调度到这个阶段,如果还有CD需分配资源,则将资源分配给D。但不限于上述方式,第二轮调度还可以采用现有的调度方法,如,当调度到第二轮的时候,高优先级RB更有可能分配到剩余的ULgrant资源,并且这些ULgrant资源会倾向于满足所有的待发数据。
步骤S204:调度器确定待发送数据的RB已按照RB对应的SDU长度向量,将待发送数据组织到ULgrant资源中。
步骤S206:调度器确定MAC PDU的头长,并根据确定后的MAC PDU头长,进行MAC PDU组包。
一种可行方式是,先对组织到ULgrant资源中的、待发送数据进行MACSDU组包,再根据MAC SDU组包结果,确定MAC PDU的实际头长与预留头长的差,其中,预留头长大于或等于实际头长;然后,根据MAC PDU的实际头长与预留头长的差,在MAC层和物理层共享的BUFFER缓冲区中,进行MAC PDU的组包。
具体地,因预留头长是已知的,可以先将MAC层和物理层共享的BUFFER的首地址加上预留头长,得到SDU组包起始地址;从SDU组包起始地址开始,对组织到ULgrant资源中的、本RB的待发送数据进行MACSDU组包;在进行MAC SDU组包后,即可采用传统方式计算出MAC PDU的实际头长;然后,确定MAC PDU的实际头长与预留头长的差;在确定了MAC PDU的实际头长与预留头长的差之后,将MAC层和物理层共享的BUFFER的首地址加上实际头长与预留头长的差,得到PDU组包起始地址;从PDU组包起始地址开始,进行MAC PDU的组包,先写入MAC PDU的头部数据,再写入MAC SDU数据。
另一种可行方式是,先确定在最后一个MAC SDU中填充的RLC PDU的长度,再对组织到ULgrant资源中的、待发送数据进行MAC SDU组包;然后,根据RLC PDU的长度,在MAC层和物理层共享的BUFFER缓冲区中,进行MAC PDU的组包。此种方式又可以进一步分为两种方式:
方式一,在进行MAC SDU组包前,通知RLC层确定本RB的最后一个MAC SDU中填充的RLC PDU的长度;从RLC层获取确定的所述长度;再对组织到ULgrant资源中的、待发送数据进行MAC SDU组包;根据最后一个MAC SDU中填充的RLC PDU的长度,和根据各个MAC SDU的长度计算出的各个MAC SDU对应的头长,确定MAC PDU的头长;再根据确定的MAC PDU的头长和MAC SDU的长度,在MAC层和物理层共享的BUFFER中,进行MAC PDU的组包。
方式二,将最后一个MAC SDU在ULgrant资源中的普通填充(commonpadding,即填充数超过2个字节的填充)的长度,确定为最后一个MAC SDU中填充的RLC PDU的长度;再对组织到ULgrant资源中的、待发送数据进行MAC SDU组包;然后,获取最后一个MAC SDU在ULgrant资源中的授权长度;根据获取的授权长度,确定最后一个MAC SDU的头长为中头(即MAC PDU子头包含六个头字段R/R/E/LCID/F/L时,其中L头字段为7个bit的头长)与普通填充的长度之和,或者,为长头(即MAC PDU子头包含六个头字段R/R/E/LCID/F/L时,其中L头字段为15个bit的头长)与普通填充的长度之和;接着,根据确定的最后一个MAC SDU的头长,以及,其它各个MAC SDU的长度对应的各个MAC SDU的头长,确定MAC PDU的头长;再然后,根据MAC PDU的头长和MAC SDU的长度,在MAC层和物理层共享的BUFFER中,进行MAC PDU组包。
通过本实施例,在协议规定的调度器特性的基础上,提供了一种BUFFER零拷贝方案,直接使用MAC层和底层(物理层)共享的BUFFER进行MAC的组包,减少了一次拷贝,从而降低了CPU load。并且,针对BUFFER零拷贝对调度器进行了改进,对同优先级LC采用了一种轮询方式进行了公平性的近似处理。多个同优先级公平性,因为与当前信道的待发数据量直接相关所以较为复杂。本实施例采用了基础公平保证+剩余轮询的方式,前者保证每个同优先级RB都能得到均值内最大限度的完整SDU个数的授权,而剩余轮询也能确保最大限度的完整SDU个数的授权,同时兼顾公平原则,算法处理的复杂性也是可以接受的。
实施例三
参照图3,示出了根据本发明实施例三的一种数据组包方法的步骤流程图。
本实施例仍基于两轮调度的基本框架,从两轮调度和BUFFER零拷贝层面对本实施例的数据组包方法进行说明。
本实施例的数据组包方法包括以下步骤:
步骤S302:MAC调度器对所有Bj大于0的RB进行第一轮调度。
本步骤在ULgrant授权通告到达UE时执行,针对所有Bj大于0的RB,按照优先级的顺序(同优先级则按照ID顺序)分配ULgrant资源。每个RB得到的ULgrant授权长度GrantStep1为:SDU向量中从Bj向上取整值、和剩余ULgrant即Ulrem中的最小值。同时,更新Bj为Bj-GrantStep1
具体地,第一轮调度针对PBR结果Bj:将ULgrant按照RB的优先级顺序,先根据Bj结果和待发数据长度分配资源给各个RB;如果在ULgrant耗尽之前,各个信道都被满足,则可以进入第二轮调度,而第二轮调度会将剩余的ULgrant,按照RB的优先级顺序,依次分配给还有待发数据的各RB。
具体的各调度轮次情形如下:
Th Step 1 = &Sigma; n = 0 N - 1 min ( L Total ( n ) , Bj ( n ) ) - - - ( 1 )
Th Step 2 = &Sigma; n = 0 N - 1 L Total ( n ) - - - ( 2 )
上述公式(1)和(2)中,RB共有N个,从0到N-1,ThStep1表示第一轮调度所需的无线资源量,Bj(n)表示第n个RB的Bj,也即,需要给第n个RB分配的数据长度,LTotal1(n)表示根据第n个RB的Bj确定的第n个RB的SDU长度,第n个RB的实际无线资源需求量为Bj(n)和LTotal1(n)中的小值;ThStep2表示第二轮调度所需的无线资源量,是第一轮数据调度上传后,各RB实际剩余的仍需要上传的数据所需要的无线资源量,也即,公式(2)中的LTotal2(n)与公式(1)中的LTotal1(n)的含义不同,是第n个RB在上传完第一轮的LTotal1(n)后,剩余的LTotal2(n)。
显然,当ULgrant资源值<ThStep1时,ULgrant资源不足以完成第一次调度;当ThStep1<=ULgrant资源值<ThStep2时,ULgrant资源足以完成第一次调度但不足以完成第二次调度;当ULgrant资源值>ThStep2时,ULgrant资源足以完成第二次调度。
本实施例中,设定ULgrant资源值>ThStep2,在ULgrant授权通告到达UE(User Equipment,用户设备)时进行资源分配和调度。
在资源分配和调度过程中,对RB进行ULgrant资源分配的依据包括SDU长度向量和Bj。其中,SDU长度向量是待发数据长度的一个变种,它考虑到了SDU的完整性。在RLC的缓存中会记录当前所有待发SDU的数据长度(包括RLC的首部,记为lk),称之为SDU长度向量。MAC在给RB进行调度时,会倾向于上取整到向量中的一个lk值,这样RLC向ULgrant资源中填写实际SDU时,就会倾向于保持SDU的完整性。
在第一阶段调度到某个RB时,可以将Bj与SDU长度向量相结合,实际分配到这个RB上的数据一般是要大于实际Bj的。具体地,对于第n个RB,MAC将Bj(n)值传给RLC,RLC对SDU长度向量表进行折半查找,返回大于Bj(n)的第一个长度向量lk(n)作为第一阶段调度结果,并更新Bj(n)-=lk(n),Bj(n)此时为负值。一个具有负Bj的RB就不能参与第一阶段调度了,它必须等过一段时间随着PBR将Bj重新增长到正值之后才能参与第一阶段调度。
步骤S304:如果完成了第一轮调度后还有ULgrant剩余,则MAC调度器执行第二轮调度。
按照优先级顺序分配ULgrant,如果这个RB的优先级是唯一的,则其得到的授权长度GrantStep2为Ulrem(剩余ULgrant)、和待发数据长度L二者的最小值,如果有ULgrant剩余再分配给次优先级RB。如果这个RB有相同优先级的RB,则这个RB得到的授权长度GrantStep2为Ulrem、和待发数据长度L二者的最小值,并把此RB排到同优先级RB的队尾,剩余的ULgrant再分配给同优先级次RB,如果没有相同优先级的RB,那么剩余的ULgrant就分配给次优先级低的RB,按照上面的方式依次处理后面的RB,直到分配完所有的ULgrant。通过这样的调度方式,确保了除了最后一个SDU可能因为授权不够而不完整外,其余所有的SDU都是完整,同时也兼顾了公平性。
第二阶段调度处理时,在36.321协议中规定,在第二阶段调度中,相同优先级的信道须得到平等地对待,这个要求增加了第二阶段调度工作的复杂性。从上述描述中可以看出,在第二阶段只需要将ULgrant按顺序全部分配给各RB,直到该RB的数据全部得到调度或者ULgrant耗尽。但是,因为需要考虑同优先级多RB的竞争,本发明做如下的分析:
设第二阶段调度到当前优先级P时的剩余ULgrant值为Ulrem,有n个信道的优先级为P其上的数据长度为lk,0<k<n-1;假设当前有m个信道上的数据长度(假设是l1…lm)小于等于Ulrem/n,则它们得到的ULgrant资源即为其数据长度,更新Ulrem为:
Figure BDA0000384414010000151
将Ulrem/n与当前该RB已得到的ULgrant长度即GrantStep1相加得到Ulavg,并传给RLC让其从SDU长度向量中找到小于Ulavg的第一个长度值l,先以这个l值作为这些RB的授权长度,则此轮平均化调度后还剩余的
Figure BDA0000384414010000152
此时,直接将Ulrem按照RB的ID排列顺序(即不考虑优先级)全部分配掉。考虑到RB的ID排列顺序是不变的,所以在对这部分多余的长度进行分配时会进行轮转,只要当发生一次这样多余长度资源的分配,就会轮转一次ID排列顺序,这样最大限度的保证了公平性。
上面的策略展示了一个非常好的平均分配方案,但因为每轮第二阶段调度处理需要轮转同优先级LC的ID,且最坏的迭代次数是O(n)/2,所以算法性能很差,而且容易导致SDU分割而不完整。为此,下面采用一种近似的处理方法并且考虑SDU完整性,具体过程如下:
将Ulrem按照LC的ID排列顺序(即考虑优先级,高优先级的LC排在前面,同优先级LC ID小的LC排在前面)尽量满足一个LC。除非满足排在前面的LC后还有ULgrant剩余再考虑到其后的LC,为了确保公平,对于同优先级的LC进行轮询处理,即对于同优先级的LC得到调度资源后需排到同优先级的LC的队尾,那么下次调度就会优先调度上次没有分配到资源的同优先级的LC,这样最大限度的保证了SDU完整性,同时兼顾了公平性。
步骤S306:MAC调度器进行MAC PDU组包。
在上面的两轮调度基础上,本实施例采用三种不同方式实现BUFFER零拷贝方式的MAC PDU组包。
为了减少数据的拷贝次数,降低CPU load,BUFFER零拷贝指的是MAC层和底层(物理层)共享使用一个BUFFER,MAC层直接把组包数据写入BUFFER,而不再先通过中间地址进行组包再拷贝到BUFFER的方法。
以下对三种采用BUFFER零拷贝方式实现MAC PDU组包分别进行说明。
方式一,动态offset的方式,前提需要底层硬件支持BUFFER以动态offset的方式读取数据。也就是说,MAC组完包之后,数据不是从共享的BUFFER首地址写入MAC PDU值,而是从共享的BUFFER+offset的地址开始写入MAC PDU值,offset值是通过每次组包动态计算的。采用这种方式时,首先预留最大的MAC PDU头长Lmax,然后从(BUFFER的首地址+Lmax)的地址开始组MAC SDU,接着计算出真实的MAC PDU头长L,最后offset值就为BUFFER首地址加上(Lmax减L的差值),从(BUFFER的首地址+Lmax-L)的地址开始组MAC PDU。
方式二和方式三均是在写MAC SDU到BUFFER之前确定MAC PDU头的长度,采用上面的两轮调度,组最后一个MAC SDU的时候可能会造成MAC PDU的头长发生变化,因为RLC在最后一个MAC SDU授权长度限制内填充RLC PDU这个过程有可能会造成极少量的授权浪费,所以需要针对最后一个MAC SDU做特殊处理,确保在写最后一个MAC SDU的时候不会影响MAC PDU的头长。方式二和方式三的实现方式:
方式二,在写MAC SDU之前,提前通知RLC确定最后一个MAC SDU在授权长度限制内填充RLC PDU的长度。获取并根据这个长度在MAC层和底层共享的BUFFER中进行MAC PDU组包。其中,确定RLC PDU长度的参数可以携带在上下文(RLC的全局变量)中。
方式三,固定最后一个MAC SDU的头长,即,根据最后一个MAC SDU的授权长度确定MAC SDU的头长为中头+普通填充或者为长头+普通填充。通过普通填充的方式来抵消RLC在最后一个MAC SDU授权长度限制内填充RLC PDU长度这一个过程可能产生的授权浪费,同时需要杜绝长头变中头的可能。
上述方式中,方式一需要底层硬件支持BUFFER以动态offset的方式读取数据,而且硬件不能有字节对齐的限制,否则难以实现;方式二需要在写MAC SDU之前,提前通知RLC确定最后一个MAC SDU在授权长度限制内填充RLC PDU的长度,相对方式一计算相对复杂,可能会加大调度的延迟时间;方式三相对方式一,上行授权的利用率相对要低些,相对方式二计算要简单,从而能够降低调度的延迟时间,另外上行授权的利用率也相对低些。
本实施例提供了一种提高LTE系统多承载业务性能的MAC调度器,该调度器以简单高效的算法思想,合理调度具有不同优先级的多用户业务,并最大程度地利用ULgrant资源。该调度器算法兼顾了RB调度的各个调度要素或指标,但同时不会对ULgrant的利用率造成较大影响,又能降低调度的延迟,最大限度地满足SDU的完整性,最终还能实现BUFFER零拷贝。
实施例四
参照图4,示出了根据本发明实施例四的一种数据组包装置的结构框图。
本实施例的数据组包装置包括:第一确定模块402,用于确定待发送数据的RB是按照RB对应的SDU长度向量,将待发送数据组织到ULgrant资源中,其中,SDU长度向量中的元素分别用于标识RB的各SDU的分段长度;第二确定模块404,用于先对组织到ULgrant资源中的、待发送数据进行MAC SDU组包,再根据MAC SDU组包结果,确定MAC PDU的实际头长与预留头长的差,其中,预留头长大于或等于实际头长;或者,用于先确定在最后一个MAC SDU中填充的RLC PDU的长度,再对组织到ULgrant资源中的、待发送数据进行MAC SDU组包;组包模块406,用于当先对组织到ULgrant资源中的、待发送数据进行MAC SDU组包时,则根据MACPDU的实际头长与预留头长的差,在MAC层和物理层共享的BUFFER中,进行MAC PDU的组包;或者,当先确定在最后一个MAC SDU中填充的RLC PDU的长度时,则根据RLC PDU的长度,在MAC层和物理层共享的BUFFER中,进行MAC PDU的组包。
本实施例的数据组包装置用于实现前述多个方法实施例中相应的数据组包方法,并具有相应的方法实施例的有益效果,在此不再赘述。
实施例五
参照图5,示出了根据本发明实施例五的一种数据组包装置的结构框图。
本实施例对实施例四中的数据组包装置进行了进一步优化。优化后的数据组包装置中:
优选地,第二确定模块404在先对组织到ULgrant资源中的、待发送数据进行MAC SDU组包时:将MAC层和物理层共享的BUFFER的首地址加上预留头长,得到SDU组包起始地址;从SDU组包起始地址开始,对组织到ULgrant资源中的、待发送数据进行MAC SDU的组包;组包模块406在根据MAC PDU的实际头长与预留头长的差,在MAC层和物理层共享的BUFFER中,进行MAC PDU的组包时:将MAC层和物理层共享的BUFFER的首地址加上实际头长与预留头长的差,得到PDU组包起始地址;从PDU组包起始地址开始,进行MAC PDU的组包。
优选地,第二确定模块404在确定在最后一个MAC SDU中填充的RLCPDU的长度时:在进行MAC SDU组包前,通知RLC层确定最后一个MACSDU中填充的RLC PDU的长度;从RLC层获取确定的所述长度;组包模块406在根据RLC PDU的长度,在MAC层和物理层共享的缓冲区中,进行MAC PDU的组包时:根据RLC PDU的长度,和各个MAC SDU的长度,确定MAC PDU的头长;根据确定的MAC PDU的头长和MAC SDU的长度,在MAC层和物理层共享的BUFFER中,进行MAC PDU的组包。
优选地,第二确定模块404在确定在最后一个MAC SDU中填充的RLCPDU的长度时:将最后一个MAC SDU在ULgrant资源中的普通填充的长度,确定为最后一个MAC SDU中填充的RLC PDU的长度;组包模块406在根据RLC PDU的长度,在MAC层和物理层共享的BUFFER中,进行MAC PDU的组包时:获取最后一个MAC SDU在ULgrant资源中的授权长度;根据获取的授权长度,确定最后一个MAC SDU的头长为中头与普通填充的长度之和,或者,为长头与所普通填充的长度之和;根据最后一个MAC SDU的头长,和其它各个MAC SDU的长度,确定MAC PDU的头长;根据确定的MAC PDU的头长和MAC SDU的长度,在MAC层和物理层共享的BUFFER中,进行MAC PDU组包。
优选地,本实施例的数据组包装置还包括:调度模块408,用于在第一确定模块402确定待发送数据的RB已按照RB对应的SDU长度向量,将待发送数据组织到ULgrant资源中之前,在为各个待发送数据的RB按照各自对应的SDU长度向量进行第一轮的ULgrant资源分配之后,若ULgrant资源有剩余,则根据仍有待上传数据的RB的优先级,按照仍有待上传数据的RB对应的SDU长度向量,为仍有待上传数据的RB分配ULgrant资源,直到所有RB的待上传数据全部获得ULgrant资源或者ULgrant资源耗尽。
优选地,调度模块408在根据仍有待上传数据的RB的优先级,按照仍有待上传数据的RB对应的SDU长度向量,为仍有待上传数据的RB分配ULgrant资源时:若同一优先级的仍有待上传数据的RB有至少两个,则根据各个RB对应的LC(逻辑信道)的标识的排列顺序,按照各个RB对应的SDU长度向量,将剩余的ULgrant资源轮转分配给仍有待上传数据的RB。
优选地,本实施例的数据组包装置可以设置在MAC调度器中。
本实施例的数据组包装置用于实现前述多个方法实施例中相应的数据组包方法,并具有相应的方法实施例的有益效果,在此不再赘述。
本发明提供了一种数据组包方案,可用于MAC调度器对RB的ULgrant资源调度,能够为LTE多业务数据传输性能提供直接的有益效果,主要体现在:(1)算法调度功能全面:本发明提供的多种ULgrant资源调度算法不仅考虑到了多个RB的优先级、保证速率等基本配置,同时还近似处理了多个相同优先级信道的授权分配。能够兼顾业务的优先级保证,公平性,以及防止低优先级的饥饿。(2)算法重点考虑到了SDU传输的整体性:SDU整体性是提高LTE整体性能的一个手段,它能够有效地降低SDU的分割,减小上层报文的开销以及被重传的可能性。尽管SDU整体性给算法增加了一定的复杂性,但对系统的整体收益是很可观的。(3)算法简单:虽然本发明中的MAC调度器考虑到了多种调度特性,但基本上都采用了一种近似的实现方式,最明显的是第二阶段调度对同优先级RB采用轮询方式。严格的平均化需要考虑到SDU整体性,待发数据量,以及绝对均值,想要完美实现开销很大。但本解决方案保证了多RB,其优先级相同在一段时间里面的调度是公平的。
此外,本发明还在协议规定的调度器特性的基础上,提出了BUFFER零拷贝方案,直接使用MAC层和底层共享的BUFFER进行MAC的组包,减少了一次拷贝,从而降低了CPU load。而针对BUFFER零拷贝方案,对调度器进行的改进,即,对同优先级LC采用轮询方式进行了公平性的近似处理,采用基础公平保证+剩余轮询的方式,前者保证每个同优先级RB都能得到均值内最大限度的完整SDU个数的授权,而剩余轮询也能确保最大限度的完整SDU个数的授权,同时兼顾公平原则,算法处理的复杂性也是可以接受的。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种数据组包方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种数据组包方法,其特征在于,包括:
确定待发送数据的无线承载是按照所述无线承载对应的业务数据单元长度向量,将所述待发送数据组织到上行授权资源中,其中,所述业务数据单元长度向量中的元素分别用于标识所述无线承载的各业务数据单元的分段长度;
先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包,再根据所述介质访问控制层业务数据单元组包结果,确定介质访问控制层分组数据单元的实际头长与预留头长的差,其中,所述预留头长大于或等于所述实际头长;或者,先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度,再对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包;
当先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包时,则根据所述介质访问控制层分组数据单元的实际头长与预留头长的差,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包;
或者,
当先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度时,则根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
2.根据权利要求1所述的方法,其特征在于,
所述先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包的步骤包括:将所述介质访问控制层和物理层共享的缓冲区的首地址加上所述预留头长,得到业务数据单元组包起始地址;从所述业务数据单元组包起始地址开始,对组织到所述上行授权资源中的、所述待发送数据进行所述介质访问控制层业务数据单元的组包;
所述根据所述介质访问控制层分组数据单元的实际头长与预留头长的差,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包的步骤包括:将所述介质访问控制层和物理层共享的缓冲区的首地址加上所述实际头长与预留头长的差,得到分组数据单元组包起始地址;从所述分组数据单元组包起始地址开始,进行所述介质访问控制层分组数据单元的组包。
3.根据权利要求1所述的方法,其特征在于,
所述确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度的步骤包括:在进行所述介质访问控制层业务数据单元组包前,通知无线链路控制层确定所述最后一个介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度;从所述无线链路控制层获取确定的所述长度;
所述根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包的步骤包括:根据所述无线链路控制层分组数据单元的长度,和各个所述介质访问控制层业务数据单元的长度,确定所述介质访问控制层分组数据单元的头长;根据确定的所述介质访问控制层分组数据单元的头长和所述介质访问控制层业务数据单元的长度,在所述介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
4.根据权利要求1所述的方法,其特征在于,
所述确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度的步骤包括:将所述最后一个介质访问控制层业务数据单元在所述上行授权资源中的普通填充的长度,确定为所述最后一个介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度;
所述根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包的步骤包括:获取所述最后一个介质访问控制层业务数据单元在所述上行授权资源中的授权长度;根据获取的所述授权长度,确定所述最后一个介质访问控制层业务数据单元的头长为中头与所述普通填充的长度之和,或者,为长头与所述普通填充的长度之和;根据所述最后一个介质访问控制层业务数据单元的头长,和其它各个所述介质访问控制层业务数据单元的长度,确定所述介质访问控制层分组数据单元的头长;根据确定的所述介质访问控制层分组数据单元的头长和所述介质访问控制层业务数据单元的长度,在所述介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
5.根据权利要求1所述的方法,其特征在于,在所述确定待发送数据的无线承载已按照所述无线承载对应的业务数据单元长度向量,将所述待发送数据组织到上行授权资源中的步骤之前,还包括:
在为各个待发送数据的无线承载按照各自对应的业务数据单元长度向量进行第一轮的上行授权资源分配之后,若所述上行授权资源有剩余,则根据仍有待上传数据的无线承载的优先级,按照所述仍有待上传数据的无线承载对应的业务数据单元长度向量,为所述仍有待上传数据的无线承载分配上行授权资源,直到所有无线承载的待上传数据全部获得上行授权资源或者所述上行授权资源耗尽。
6.根据权利要求5所述的方法,其特征在于,所述根据仍有待上传数据的无线承载的优先级,按照所述仍有待上传数据的无线承载对应的业务数据单元长度向量,为所述仍有待上传数据的无线承载分配上行授权资源的步骤包括:
若同一优先级的所述仍有待上传数据的无线承载有至少两个,则根据各个无线承载对应的逻辑信道的标识的排列顺序,按照各个所述无线承载对应的业务数据单元长度向量,将剩余的所述上行授权资源轮转分配给所述仍有待上传数据的无线承载。
7.一种数据组包装置,其特征在于,包括:
第一确定模块,用于确定待发送数据的无线承载是按照所述无线承载对应的业务数据单元长度向量,将所述待发送数据组织到上行授权资源中,其中,所述业务数据单元长度向量中的元素分别用于标识所述无线承载的各业务数据单元的分段长度;
第二确定模块,用于先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包,再根据所述介质访问控制层业务数据单元组包结果,确定介质访问控制层分组数据单元的实际头长与预留头长的差,其中,所述预留头长大于或等于所述实际头长;或者,用于先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度,再对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包;
组包模块,用于当先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包时,则根据所述介质访问控制层分组数据单元的实际头长与预留头长的差,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包;或者,当先确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度时,则根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
8.根据权利要求7所述的装置,其特征在于,
所述第二确定模块在先对组织到所述上行授权资源中的、所述待发送数据进行介质访问控制层业务数据单元组包时:将所述介质访问控制层和物理层共享的缓冲区的首地址加上所述预留头长,得到业务数据单元组包起始地址;从所述业务数据单元组包起始地址开始,对组织到所述上行授权资源中的、所述待发送数据进行所述介质访问控制层业务数据单元的组包;
所述组包模块在根据所述介质访问控制层分组数据单元的实际头长与预留头长的差,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包时:将所述介质访问控制层和物理层共享的缓冲区的首地址加上所述实际头长与预留头长的差,得到分组数据单元组包起始地址;从所述分组数据单元组包起始地址开始,进行所述介质访问控制层分组数据单元的组包。
9.根据权利要求7所述的装置,其特征在于,
所述第二确定模块在确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度时:在进行所述介质访问控制层业务数据单元组包前,通知无线链路控制层确定所述最后一个介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度;从所述无线链路控制层获取确定的所述长度;
所述组包模块在根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包时:根据所述无线链路控制层分组数据单元的长度,和各个所述介质访问控制层业务数据单元的长度,确定所述介质访问控制层分组数据单元的头长;根据确定的所述介质访问控制层分组数据单元的头长和所述介质访问控制层业务数据单元的长度,在所述介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
10.根据权利要求7所述的装置,其特征在于,
所述第二确定模块在确定在最后一个所述介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度时:将所述最后一个介质访问控制层业务数据单元在所述上行授权资源中的普通填充的长度,确定为所述最后一个介质访问控制层业务数据单元中填充的无线链路控制层分组数据单元的长度;
所述组包模块在根据所述无线链路控制层分组数据单元的长度,在介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包时:获取所述最后一个介质访问控制层业务数据单元在所述上行授权资源中的授权长度;根据获取的所述授权长度,确定所述最后一个介质访问控制层业务数据单元的头长为中头与所述普通填充的长度之和,或者,为长头与所述普通填充的长度之和;根据所述最后一个介质访问控制层业务数据单元的头长,和其它各个所述介质访问控制层业务数据单元的长度,确定所述介质访问控制层分组数据单元的头长;根据确定的所述介质访问控制层分组数据单元的头长和所述介质访问控制层业务数据单元的长度,在所述介质访问控制层和物理层共享的缓冲区中,进行所述介质访问控制层分组数据单元的组包。
11.根据权利要求7所述的装置,其特征在于,还包括:
调度模块,用于在所述第一确定模块确定待发送数据的无线承载已按照所述无线承载对应的业务数据单元长度向量,将所述待发送数据组织到上行授权资源中之前,在为各个待发送数据的无线承载按照各自对应的业务数据单元长度向量进行第一轮的上行授权资源分配之后,若所述上行授权资源有剩余,则根据仍有待上传数据的无线承载的优先级,按照所述仍有待上传数据的无线承载对应的业务数据单元长度向量,为所述仍有待上传数据的无线承载分配上行授权资源,直到所有无线承载的待上传数据全部获得上行授权资源或者所述上行授权资源耗尽。
12.根据权利要求11所述的装置,其特征在于,所述调度模块在根据仍有待上传数据的无线承载的优先级,按照所述仍有待上传数据的无线承载对应的业务数据单元长度向量,为所述仍有待上传数据的无线承载分配上行授权资源时:若同一优先级的所述仍有待上传数据的无线承载有至少两个,则根据各个无线承载对应的逻辑信道的标识的排列顺序,按照各个所述无线承载对应的业务数据单元长度向量,将剩余的所述上行授权资源轮转分配给所述仍有待上传数据的无线承载。
CN201310430649.2A 2013-09-18 2013-09-18 数据组包方法与装置 Active CN103517335B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310430649.2A CN103517335B (zh) 2013-09-18 2013-09-18 数据组包方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310430649.2A CN103517335B (zh) 2013-09-18 2013-09-18 数据组包方法与装置

Publications (2)

Publication Number Publication Date
CN103517335A true CN103517335A (zh) 2014-01-15
CN103517335B CN103517335B (zh) 2016-06-15

Family

ID=49899167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310430649.2A Active CN103517335B (zh) 2013-09-18 2013-09-18 数据组包方法与装置

Country Status (1)

Country Link
CN (1) CN103517335B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020029415A1 (zh) * 2018-08-09 2020-02-13 Oppo广东移动通信有限公司 一种数据传输方法及装置、终端
CN111726865A (zh) * 2019-03-21 2020-09-29 电信科学技术研究院有限公司 媒质接入控制业务数据单元处理、接收方法、设备及装置
CN115883672A (zh) * 2021-08-11 2023-03-31 大唐联仪科技有限公司 组包方法、数据传输方法、装置、电子设备及存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1536792A (zh) * 2003-04-07 2004-10-13 华为技术有限公司 一种时分双工系统中传输下行公共控制信息的方法
CN101053226A (zh) * 2005-01-07 2007-10-10 三星电子株式会社 在移动通信系统中发送/接收多用户分组的装置和方法
CN101116274A (zh) * 2004-12-27 2008-01-30 Lg电子株式会社 利用扩展子报头发送反馈信息的方法
CN101296221A (zh) * 2007-04-29 2008-10-29 中兴通讯股份有限公司 媒体接入控制层的数据处理方法
CN101388900A (zh) * 2007-09-12 2009-03-18 大唐移动通信设备有限公司 一种协议数据单元填充的处理方法、装置及系统
CN101431451A (zh) * 2007-11-05 2009-05-13 中兴通讯股份有限公司 一种宽带无线接入系统中组pdu的方法及其系统
CN101548526A (zh) * 2006-12-14 2009-09-30 艾利森电话股份有限公司 用于在无线通信系统中对齐协议数据单元的方法和装置
CN101883389A (zh) * 2009-05-07 2010-11-10 大唐移动通信设备有限公司 一种指示rlc sdu长度的方法和装置
CN101932004A (zh) * 2009-06-25 2010-12-29 大唐移动通信设备有限公司 一种数据链路层的数据发送处理方法及设备
CN102149206A (zh) * 2010-02-09 2011-08-10 中兴通讯股份有限公司 上行调度方法
CN102474512A (zh) * 2009-07-13 2012-05-23 三星电子株式会社 用于编码和解码媒体访问控制协议数据单元的长度的方法和系统
CN102685914A (zh) * 2012-04-23 2012-09-19 华为技术有限公司 一种逻辑信道调度复用方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1536792A (zh) * 2003-04-07 2004-10-13 华为技术有限公司 一种时分双工系统中传输下行公共控制信息的方法
CN101116274A (zh) * 2004-12-27 2008-01-30 Lg电子株式会社 利用扩展子报头发送反馈信息的方法
CN101053226A (zh) * 2005-01-07 2007-10-10 三星电子株式会社 在移动通信系统中发送/接收多用户分组的装置和方法
CN101548526A (zh) * 2006-12-14 2009-09-30 艾利森电话股份有限公司 用于在无线通信系统中对齐协议数据单元的方法和装置
CN101296221A (zh) * 2007-04-29 2008-10-29 中兴通讯股份有限公司 媒体接入控制层的数据处理方法
CN101388900A (zh) * 2007-09-12 2009-03-18 大唐移动通信设备有限公司 一种协议数据单元填充的处理方法、装置及系统
CN101431451A (zh) * 2007-11-05 2009-05-13 中兴通讯股份有限公司 一种宽带无线接入系统中组pdu的方法及其系统
CN101883389A (zh) * 2009-05-07 2010-11-10 大唐移动通信设备有限公司 一种指示rlc sdu长度的方法和装置
CN101932004A (zh) * 2009-06-25 2010-12-29 大唐移动通信设备有限公司 一种数据链路层的数据发送处理方法及设备
CN102474512A (zh) * 2009-07-13 2012-05-23 三星电子株式会社 用于编码和解码媒体访问控制协议数据单元的长度的方法和系统
CN102149206A (zh) * 2010-02-09 2011-08-10 中兴通讯股份有限公司 上行调度方法
CN102685914A (zh) * 2012-04-23 2012-09-19 华为技术有限公司 一种逻辑信道调度复用方法及装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11546945B2 (en) 2014-08-20 2023-01-03 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Data transmission method and apparatus, and terminal
WO2020029415A1 (zh) * 2018-08-09 2020-02-13 Oppo广东移动通信有限公司 一种数据传输方法及装置、终端
CN111757543A (zh) * 2018-08-09 2020-10-09 Oppo广东移动通信有限公司 一种数据传输方法及装置、终端
CN111757543B (zh) * 2018-08-09 2022-02-11 Oppo广东移动通信有限公司 一种数据传输方法及装置、终端
CN111726865A (zh) * 2019-03-21 2020-09-29 电信科学技术研究院有限公司 媒质接入控制业务数据单元处理、接收方法、设备及装置
CN111726865B (zh) * 2019-03-21 2023-06-30 大唐移动通信设备有限公司 媒质接入控制业务数据单元处理、接收方法、设备及装置
CN115883672A (zh) * 2021-08-11 2023-03-31 大唐联仪科技有限公司 组包方法、数据传输方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN103517335B (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
WO2018201833A1 (zh) 一种上行资源分配方法和装置
JP5875581B2 (ja) 効率的スケジューリングを支援するためのbsr情報の送達のための方法およびデバイス
CN108289065B (zh) 数据处理方法、装置和系统
CN101621369B (zh) 执行分组的传输及优先次序的方法
CN102036390B (zh) 一种优先级处理方法
CN102111751B (zh) 缓存状态报告上报方法和设备
JP5108001B2 (ja) 無線ネットワーク調整装置、ステーション、送信方法及び送受信方法
WO2018059308A1 (zh) 缓存状态上报及资源调度方法和终端、设备和存储介质
CN110505653A (zh) 一种服务质量控制的方法、设备及计算机存储介质
TWI392261B (zh) 無線資源分配的方法及其相關通訊裝置
KR20100119341A (ko) 이동통신 시스템에서 역방향 전송 자원을 처리하는 방법 및 장치
WO2021012739A1 (zh) 逻辑信道优先级处理方法及装置、存储介质、终端
CN107113821A (zh) 上行数据传输的方法和装置
CN102625459A (zh) VoLTE业务的半持续调度方法、装置和系统
WO2017000548A1 (zh) 一种语音数据动态延迟调度方法及基站
CN107872892A (zh) 一种无线资源分配方法及装置
CN103517335B (zh) 数据组包方法与装置
WO2016082115A1 (zh) 一种业务调度方法及设备
WO2024149009A1 (zh) 波束调度方法、装置、系统、通信设备和存储介质
JP4633713B2 (ja) 通信システムにおけるデータ送信方法及びシステム
CN114449664A (zh) 一种上行资源分配方法、系统、智能终端及存储介质
WO2011082533A1 (zh) 一种多载波通信的方法
CN104427630B (zh) 一种分组调度方法及装置
TW201816623A (zh) 資料傳輸的優先級排序方法、資料塊的準備方法及通信裝置與非揮發性電腦可讀介質
WO2015117453A1 (zh) 一种lte制式下逻辑信道的组操作方法及装置

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
TR01 Transfer of patent right

Effective date of registration: 20191217

Address after: 353, block a, No.79, Jinyi Road, Xiaoshan Economic and Technological Development Zone, Xiaoshan District, Hangzhou City, Zhejiang Province

Patentee after: Newpoint Enterprise Management Group Co.,Ltd.

Address before: 100084 A building, Tsinghua Science and Technology Park, No. 1 Qinghua East Road, Beijing, Haidian District 801, China

Co-patentee before: INNOFIDEI TECHNOLOGIES Inc.

Patentee before: Innofidei Technology Co.,Ltd.

TR01 Transfer of patent right
CP01 Change in the name or title of a patent holder

Address after: 311200 353, block a, 79 Jinyi Road, Xiaoshan Economic and Technological Development Zone, Xiaoshan District, Hangzhou City, Zhejiang Province

Patentee after: Newpoint Intelligent Technology Group Co.,Ltd.

Address before: 311200 353, block a, 79 Jinyi Road, Xiaoshan Economic and Technological Development Zone, Xiaoshan District, Hangzhou City, Zhejiang Province

Patentee before: Newpoint Enterprise Management Group Co.,Ltd.

CP01 Change in the name or title of a patent holder