CN111954265A - 一种生成包头的方法及终端、存储介质 - Google Patents

一种生成包头的方法及终端、存储介质 Download PDF

Info

Publication number
CN111954265A
CN111954265A CN202010827859.5A CN202010827859A CN111954265A CN 111954265 A CN111954265 A CN 111954265A CN 202010827859 A CN202010827859 A CN 202010827859A CN 111954265 A CN111954265 A CN 111954265A
Authority
CN
China
Prior art keywords
packet header
memories
parameters
header
packet
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
CN202010827859.5A
Other languages
English (en)
Other versions
CN111954265B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010827859.5A priority Critical patent/CN111954265B/zh
Publication of CN111954265A publication Critical patent/CN111954265A/zh
Application granted granted Critical
Publication of CN111954265B publication Critical patent/CN111954265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/50Allocation or scheduling criteria for wireless resources
    • H04W72/52Allocation or scheduling criteria for wireless resources based on load

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种生成包头的方法及终端、存储介质。其中,生成包头的方法包括:将生成第一包头所需要的N个参数分别存入N个第一存储器中;其中,N为大于或者等于1的整数;所述N个参数与所述N个第一存储器一一对应;基于所述第一包头的第一格式,使用第一硬件加速器将所述N个第一存储器中的所述N个参数构成所述第一包头。

Description

一种生成包头的方法及终端、存储介质
技术领域
本申请涉及通信技术领域,尤其涉及一种生成包头的方法及终端、存储介质。
背景技术
为了降低无线传输的带宽需求,数据链路层各子层的协议数据单元(PDU,Protocol Data Unit)的包头都是紧凑排列的,组成包头的各参数没有使用字节对齐的数据格式。
相关技术中,因为存在大量的拼接和移位操作,导致对中央处理器(CPU,CentralProcessing Unit)的性能需求较高。
发明内容
本申请实施例提供一种生成包头的方法及终端、存储介质,以至少解决相关技术中终端生成数据包包头的操作导致处理器过载问题。
本申请实施例的技术方案是这样实现的:
一方面,本申请实施例提供了一种生成包头的方法,该方法包括:
将生成第一包头所需要的N个参数分别存入N个第一存储器中;其中,N为大于或者等于1的整数;所述N个参数与所述N个第一存储器一一对应;
基于所述第一包头的第一格式,使用第一硬件加速器将所述N个第一存储器中的所述N个参数构成所述第一包头。
另一方面,本申请实施例提供了一种终端,该终端包括:
第一存入单元,用于将生成第一包头所需要的N个参数分别存入N个第一存储器中;其中,N为大于或者等于1的整数;所述N个参数与所述N个第一存储器一一对应;
第一生成单元,用于基于所述第一包头的第一格式,使用硬件加速器将所述N个第一存储器中的所述N个参数构成所述第一包头。
再一方面,本申请实施例提供了一种终端,包括:处理器、硬件加速器和用于存储能够在处理器或硬件加速器上运行的计算机程序的存储器,其中,所述处理器和硬件加速器用于运行所述计算机程序时,执行上述生成包头的方法。
再一方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器或硬件加速器执行时执行上述生成包头的方法。
本申请实施例中,终端将生成第一包头所需要的N个参数分别存入对应的存储器中,然后使用硬件加速器取用这N个参数,硬件加速器按照预备生成的第一包头的数据格式拼接这N个参数,最终生成第一包头。由于使用硬件加速器进行生成包头的参数拼接步骤,可以大大缩减参数拼接步骤的执行时间,从而在相同的处理器能力基础上,能够在更短的时间生成包头。同时,使用硬件加速器生成包头,能够减轻对处理器的运算速度要求,防止CPU为满足苛刻的包头生成效率要求而发生过载,提升了包头生成的稳定性及可靠性。
附图说明
图1为相关技术提供的一种数据链路层各子层的上行链路PDU的结构示意图;
图2为相关技术提供的一种PDU包头的数据格式示意图;
图3为本申请实施例提供的生成包头的方法的流程示意图;
图4为本申请实施例提供的一种存储第一包头中全部参数的存储器群组示意图;
图5为本申请实施例提供的一种生成第一包头的流程示意图;
图6为本申请实施例提供的终端的结构组成示意图;
图7为本申请实施例提供的一种终端的硬件组成结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
为便于理解本申请实施例的技术方案,以下对本申请实施例涉及到的相关技术进行说明。
服务数据单元(SDU,Service Data Unit)是从高层协议来的信息单元,用于传送到低层协议。第N层SDU,和第N-1层的协议数据单元(PDU,Protocol Data Unit)是一一对应的。进入每个子层未被处理的数据称为SDU,经过子层处理后形成特定格式的数据被称为PDU。同时,本层形成的PDU即为下一层的SDU。通俗来讲,SDU的原数据是协议上层的PDU,根据PDU的大小不同,SDU对PDU进行组合与分割。
在新空口(NR,New Radio)中,根据第三代合作计划(3GPP,3rd GenerationPartnership Project)规范,用户平面协议栈由上层至下层分为:服务数据调整协议层(SDAP,Service Data Adaptation Protocol)、分组数据汇聚协议层(PDCP,Packet DataConvergence Protocol)、无线链路控制层(RLC,Radio Link Control)、媒体接入控制层(MAC,Medium Access Control)以及物理层(PHY,PHYsical)。其中,物理层提供MAC层传输信道;MAC层向RLC层提供逻辑信道;RLC层提供给PDCP层RLC信道;PDCP层向SDAP层提供无线承载;SDAP层提供服务质量(QoS,Quality of Service)流。其中,MAC层、RLC层、PDCP层和SDAP层组成了第五代移动通信技术(5G,5th Generation mobile networks)中的数据链路层(即3GPP协议栈层2(L2,Level 2))。
图1是相关技术提供的一种数据链路层各子层的上行链路PDU的结构示意图。图1示出了相关技术中终端(UE,User Equipment)进行上行数据传输的过程。具体地,包括以下步骤:
SDAP层接收来自上层的协议数据包(IP packets),为IP packets添加SDAP层包头,生成SDAP PDU,并将生成的SDAP PDU传递到PDCP层。
PDCP层接收来自上层的SDAP PDU作为PDCP SDU,为PDCP SDU添加PDCP层包头,生成PDCP PDU,并将生成的PDCP PDU传递到RLC层。
RLC层接收来自上层的PDCP PDU作为本层的RLC SDU,为RLC SDU添加RLC层包头,生成RLC PDU,并将生成的RLC PDU传递到MAC层。
MAC层接收来自上层的RLC PDU作为本层的MAC SDU,为MAC SDU添加MAC层包头,生成MAC PDU,并将生成的MAC PDU向PHY层传递。
应理解,UE在进行上行数据传输的时候,L2层接收来自上层的IP packets,该IPpackets数据包在L2层向下传递时,会被L2层中各子层依次添加对应子层的包头。L2层对于接收到的IP packets打包添加的总包头,是L2层中各子层对来自上一层的SDU分别生成的每层包头的集合。
图2为相关技术提供的一种PDU包头的数据格式示意图,图2示出了在IP packets基础上,L2层生成的一种可能的PDU总包头(header)。Header总长度为12字节(Byte),1Byte为8位(bit)。图2中用Oct1-12标识各字节,Oct为Octet(8比特构成的字节)的缩写。每一个字节中,最右边的bit为最低位,最左边的bit为最高位。
这里,需要解释的是,相关技术中,为了降低无线传输的带宽需求,L2层中各子层的包头(subheader)都是紧凑排列的,也就是说,在包头的各类可能的数据格式中,各包头参数(Header parameter)不是以字节对齐方式排列的。
还需要解释的是,图2示出的PDU包头示例包含各子层的subheader,其中,Oct12为SDAP层的subheader,Oct9-Oct11为PDCP层的subheader,Oct4-Oct8为RLC层的subheader,Oct1-Oct3为MAC层的subheader。
实际应用中,L2层的各子层的subheader根据应用场景和后缀数据(data)的不同,可以为多种数据格式(format)。每种数据格式的包头中,包含的参数(Header parameter)的类别、数量及长度均可能不同。3GPP中,标准TS 37.324给出了SDAP层不同数据格式的定义和组成,标准TS 38.321,TS38.322,TS38.323则分别对应MAC层、RLC层和PDCP层。
这里,因上述3GPP标准中已对L2层中各子层subheader的组成参数进行了定义,下面仅对图2所示的L2层header中的MAC层subheader的组成参数进行示例介绍,对于MAC层subheader:
R:R用于表征预留位,设为0。
F:F用于指示参数L的长度。F参数占1位。值为0时表示L长度为8位,值为1时表示L长度为16位。
LCID:LCID用于指示相应MAC SDU的逻辑信道实例。
L:L用于指示相应的MAC SDU的长度。
下面对相关技术中应用软件生成PDU包头的步骤进行介绍。为生成图2所示的PDU包头,处理器(CPU或者数字信号处理器)需要使用软件运行的操作步骤中大部分操作都是与移位或拼接相关,处理器有大量的操作时间被消耗在了额外的移位操作和拼接操作上。这是因为,相关技术中,处理器只支持Bit、Byte(8bit)、半字(Half Word)(16bit)和字(Word)(32bit)等几种固定的数据格式。因此对于紧凑排列的PDU Header,软件在产生Header的过程中需要把大量的操作用于header parameter的移位和拼接上。与此同时,软件还需要在存储器中缓存header parameter移位的中间结果。
综上,相关技术中,应用处理器生成PDU Header会带来以下问题:
1)占用处理器有效处理时间。
2)整体操作步骤多,PDU Header的生成效率受限。
3)为匹配5G系统下留给生成PDU Header的苛刻预算时间,UE需要配置更高功率的处理器,这会影响UE的耗电量。
基于此,提出了本申请实施例的以下技术方案,终端将生成第一包头所需要的N个参数分别存入对应的存储器中,然后使用硬件加速器取用这N个参数,硬件加速器按照预备生成的第一包头的数据格式拼接这N个参数,最终生成第一包头。由于使用硬件加速器进行生成包头的参数拼接步骤,可以大大缩减参数拼接步骤的执行时间,从而在相同的处理器能力基础上,能够在更短的时间生成包头。同时,使用硬件加速器生成包头,能够减轻对处理器的运算速度要求,防止CPU为满足苛刻的包头生成效率要求而发生过载,提升了包头生成的稳定性及可靠性。
下面将从方法示例的角度介绍生成包头的方法的执行步骤,请参阅图3,所述方法包括以下步骤:
步骤301:将生成第一包头所需要的N个参数分别存入N个第一存储器中;其中,N为大于或者等于1的整数;所述N个参数与所述N个第一存储器一一对应。
本申请实施例中,第一包头可以是L2层的PDU Header,也可以是L2层各子层的PDUsubheader,还可以是行动热点(Wifi)的MAC数据包头,本申请对此不做限定。
在步骤301中,终端将生成第一包头所需要的全部N个参数分别存入N个第一存储器中。
在一些可能的实施方式中,步骤301中对N个第一存储器的赋值操作,由软件实现。举例来说,可以通过CPU实现,也可以通过数字信号处理器实现。在另一些可能的实施方式中,步骤301中N个第一存储器的赋值操作,由硬件加速器实现。
在一些可能的实施方式中,终端根据将生成的第一包头的格式,确定生成该格式的第一包头所需要的全部N个参数。然后根据N个参数,配置相应的N个存储器。
实际应用中,第一存储器可以为易失性存储器,以利用易失性存储器快速存取的优点。
针对如何配置N个存储器中每个存储器的位数,在一些可能的实施例中,通过以下步骤实现:
基于所述N个参数中的每个参数的长度,确定所述N个第一存储器中每个第一存储器的位数。
应理解,组成第一包头的N个参数可以是不同长度的,即N个参数中的每个参数在第一包头中所占的字节位数可能不同。为完整存储各参数的有效字节,因此,每个第一存储器的容量(即位数)应至少大于或等于该第一存储器对应的参数的长度。
在一个可能的实施例中,所述确定所述N个第一存储器中每个第一存储器的位数,包括:
将所述N个第一存储器中每个第一存储器的位数确定为第一长度;其中,所述第一长度大于或者等于第二长度;所述第二长度用于表征所述N个参数对应的长度中的最长长度。
实际应用中,若希望将N个第一存储器均设为同样的容量,可以选择将该容量设为大于或等于N个参数对应的长度中的最长长度。
在另一个可能的实施例中,终端可以为不同的参数设置不同的位数的第一存储器,以在保证第一存储器足够存储对应长度的参数的前提下,尽量节约每个存储器的容量。
图4示出了根据图2提供的PDU Header设定的存储器群组的示意图。在图4的示例中,对于图2提供的PDU Header,一共包含12个header paramter,其中最长长度的headerparamter是RLC SDU序列号(RLC SN)和PDCP SDU序列号(PDCP SN),这两个参数均为18bit。在图4提供的实施例中,终端设置了12个32bit的第一存储器。并将该12个header paramter分别存入对应的12个第一存储器。
在一些可能的实施方式中,每个存入第一存储器的参数均占用与参数长度相同的第一存储器低位。
步骤302:基于所述第一包头的第一格式,使用第一硬件加速器将所述N个第一存储器中的所述N个参数构成所述第一包头。
在步骤302中,终端采用第一硬件加速器将存在N个第一存储器中的N个参数按照第一包头的第一格式生成第一包头。
这里,第一包头的第一格式包括构成第一包头的N个参数中每个参数的设定长度。
需要说明的是,步骤302通过硬件实现,硬件加速就是利用硬件模块来替代软件算法以充分利用硬件所固有的快速特性。所述硬件加速器,包括以下至少之一:
现场可编程门阵列器件;
大规模并行处理器阵列器件;
图形处理单元;
专用集成电路。
这里,请参阅图5,图5为本申请实施例提供的一种生成第一包头的流程示意图。在图5示出的实施例中,步骤302中将所述N个第一存储器中的所述N个参数构成所述第一包头,可以包括以下步骤:
步骤1:基于所述第一格式中所述N个参数中的每个参数的长度,从所述N个第一存储器中取出所述N个参数。
步骤2:基于所述第一格式中所述N个参数的排列顺序,将取出的所述N个参数构成所述第一包头。
实际应用中,在从第一存储器取出参数时,只取该参数的有效位数。举例来说,对于存在32bit存储器中的长度为1bit的参数F,在取出参数F时,只取出存储器的最低1位。
下面以从图4所示存储器群组中提取参数,构成图2所示PDU Header为例对上述步骤1、2进一步举例说明。具体步骤如下:
硬件加速器按照第一格式规定的各参数的长度从各32bit的存储器中取出对应长度的参数。这里,F取最低位,LCID取低5位,L取低16位,D/C(RLC)取最低位,P取最低位,SI取低2位,RLC SN取低18位,SO取低16位,D/C(PDCP)取最低位,PDCP SN取低18位,D/C(SDAP)取最低位,QFI取低6位。
硬件加速器按照第一包头的第一格式,完成所提取出的12个header parameter的拼接过程,生成PDU Header。
这里,使用硬件加速器从第一存储器取出N个参数后,同样使用硬件加速器按照第一格式拼接这些参数生成第一包头。可以充分利用硬件加速器在处理移位和或逻辑等基础逻辑上的速度优势,以完善提高由软件驱动的计算设备执行处理时的速度和效率。
实际应用中,以生成相同的PDU包头为例,采用本申请实施例的软硬件结合的方案,因为无需对各参数进行移位操作,对比采用纯软件生成PDU包头的方案,可以大大降低需处理器进行的操作次数。这大大降低了处理器的性能需求,同时因为硬件加速器在处理移位逻辑和或逻辑时的速度优势,能够在更短的时间内生成PDU包头。
在一些可能的实施例中,在所述第一包头为构成第二包头的M个子包头中的一个子包头的情况下,生成包头的方法还包括以下步骤:
将所述第一包头存入M个第二存储器中与所述第一包头对应的第二存储器,每个第二存储器对应存储一个用于构成第二包头的子包头。
基于所述M个第二存储器中存储的子包头,使用第二硬件加速器生成所述第二包头。
这里,需要说明的是,本申请实施例提供的生成包头的方法,即适用于生成各subheader,同样也适用于基于各subheader生成Header。
还需要说明的是,第二存储器表征用于储存第一包头的存储器,以与存储headerparameter的第一存储器区分。第二硬件加速器用于表征基于多个子包头生成第二包头的硬件载体,以与第一硬件加速器区分。
在一个实施例中,所述第一包头用于表征数据链路层中一个子层的PDU包头;所述第二包头用于表征数据链路层的PDU包头。
实际应用中,本申请实施例的生成包头方法还可以包括以下步骤:
基于第一包头所属数据包的数据结构,确定所述第一格式。
这里,容易理解的是,因为第一包头可存在多种数据格式,在设置第一存储器前,先确定将要生成的第一包头的第一格式,有助于确定第一存储器的位数。
实际应用中,在所述使用第一硬件加速器将所述N个第一存储器中的N个参数拼接成所述第一包头之后,本申请实施例的生成包头方法还可以包括以下步骤:
清空所述N个第一存储器。
容易理解,在生成第一包头后清空N个第一存储器,可以提高终端的运行速度。
本申请实施例中,终端将生成第一包头所需要的全部N个参数分别存入对应的存储器中,然后使用硬件加速器取用这N个参数,硬件加速器按照预备生成的第一包头的数据格式拼接这N个参数,最终生成第一包头。由于使用硬件加速器进行生成包头的参数拼接步骤,可以大大缩减参数拼接步骤的执行时间,从而在相同的处理器能力基础上,能够在更短的时间生成包头。同时,使用硬件加速器生成包头,能够减轻对处理器的运算速度要求,防止CPU为满足苛刻的包头生成效率要求而发生过载,提升了包头生成的稳定性及可靠性。
为实现本申请实施例的生成包头的方法,本申请实施例还提供一种终端,如图6所示,该终端包括:
第一存入单元601,将生成第一包头所需要的N个参数分别存入N个第一存储器中;其中,N为大于或者等于1的整数;所述N个参数与所述N个第一存储器一一对应;
第一生成单元602,用于基于所述第一包头的第一格式,使用第一硬件加速器将所述N个第一存储器中的所述N个参数构成所述第一包头
一实施例中,终端还包括:
第一确定单元,用于基于所述N个参数中的每个参数的长度,确定所述N个第一存储器中每个第一存储器的位数。
一实施例中,第一确定单元在确定所述N个第一存储器中每个第一存储器的位数时,用于:
将所述N个第一存储器中每个第一存储器的位数确定为第一长度;其中,所述第一长度大于或者等于第二长度;所述第二长度用于表征所述N个参数对应的长度中的最长长度。
一实施例中,第一生成单元602在将所述N个第一存储器中的所述N个参数构成所述第一包头时,用于:
基于所述第一格式中所述N个参数中的每个参数的长度,从所述N个第一存储器中取出所述N个参数;
基于所述第一格式中所述N个参数的排列顺序,将取出的所述N个参数构成所述第一包头。
一实施例中,在所述第一包头为构成第二包头的M个子包头中的一个子包头的情况下,终端还包括:
第二存入单元,用于将所述第一包头存入M个第二存储器中与所述第一包头对应的第二存储器,每个第二存储器对应存储一个用于构成第二包头的子包头;
第二生成单元,用于基于所述M个第二存储器中存储的子包头,使用第二硬件加速器生成所述第二包头。
一实施例中,所述第一包头用于表征数据链路层中一个子层的PDU包头;所述第二包头用于表征数据链路层的PDU包头。
一实施例中,终端还包括:
第二确定单元,用于基于第一包头所属数据包的数据结构,确定所述第一格式。
一实施例中,所述使用第一硬件加速器将所述N个第一存储器中的N个参数拼接成所述第一包头之后,终端还包括:
清空单元,用于清空所述N个第一存储器。
一实施例中,所述第一硬件加速器,包括以下至少之一:
现场可编程门阵列器件;
大规模并行处理器阵列器件;
图形处理单元;
专用集成电路。
实际应用时,第一存入单元601和第一确定单元、第二存入单元、第二确定单元、清空单元可由终端中的处理器(例如CPU)来实现,当然,处理器需要运行存储器中存储的程序来实现上述各程序模块的功能。第一生成单元602和第二生成单元可由终端中的硬件加速器来实现,在一些实施方式中,硬件加速器需要运行存储器中存储的程序来实现上述各程序模块的功能。
需要说明的是,上述图6中,实施例提供的终端仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将终端的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的终端与生成包头的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
基于上述程序模块的硬件实现,且为了实现本申请实施例的方法,本申请实施例还提供了一种终端。图7是本申请实施例提供的一种终端700的硬件组成结构示意图。图7所示的终端700包括处理器710、硬件加速器720以及存储器730,处理器710和硬件加速器720可以从存储器730中调用并运行计算机程序,以实现本申请实施例中的方法。
需要说明的是,存储器730可以是独立于处理器710和硬件加速器720的一个单独的器件,也可以集成在处理器710或硬件加速器720中。在一些可能的实施方式中,存储器730可以集成在硬件加速器720上。在另一些可能的实施方式中,存储器730可以集成在处理器710上。在一些可能的实施方式中,对于处理器710与硬件加速器720,分别对应配置不同的存储器730。
可选地,终端700还可以包括收发器,处理器710可以控制该收发器与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
其中,收发器可以包括发射机和接收机。收发器还可以进一步包括天线,天线的数量可以为一个或多个。
可选地,该终端700可以实现本申请实施例的各个生成包头的方法的相应流程,为了简洁,在此不再赘述。
可选地,该终端700可以是本申请实施例的各个方法中的终端。
本申请实施例中的存储器用于存储各种类型的数据以支持终端中的操作。这些数据的示例包括:用于在相关设备上操作的任何计算机程序。
可以理解,存储器可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的程序,结合其硬件完成前述方法的步骤。
处理器执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
在示例性实施例中,本申请实施例还提供了一种存储介质,即计算机存储介质,具体为计算机可读存储介质,例如包括存储计算机程序的存储器,上述计算机程序可由处理器执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、Flash Memory、磁表面存储器、光盘、或CD-ROM等存储器。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、终端和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (15)

1.一种生成包头的方法,其特征在于,所述方法包括:
将生成第一包头所需要的N个参数分别存入N个第一存储器中;其中,N为大于或者等于1的整数;所述N个参数与所述N个第一存储器一一对应;
基于所述第一包头的第一格式,使用第一硬件加速器将所述N个第一存储器中的所述N个参数构成所述第一包头。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述N个参数中的每个参数的长度,确定所述N个第一存储器中每个第一存储器的位数。
3.根据权利要求2所述的方法,其特征在于,所述确定所述N个第一存储器中每个第一存储器的位数,包括:
将所述N个第一存储器中每个第一存储器的位数确定为第一长度;其中,所述第一长度大于或者等于第二长度;所述第二长度用于表征所述N个参数对应的长度中的最长长度。
4.根据权利要求1所述的方法,其特征在于,所述将所述N个第一存储器中的所述N个参数构成所述第一包头,包括:
基于所述第一格式中所述N个参数中的每个参数的长度,从所述N个第一存储器中取出所述N个参数;
基于所述第一格式中所述N个参数的排列顺序,将取出的所述N个参数构成所述第一包头。
5.根据权利要求1所述的方法,其特征在于,在所述第一包头为构成第二包头的M个子包头中的一个子包头的情况下,所述方法还包括:
将所述第一包头存入M个第二存储器中与所述第一包头对应的第二存储器,每个第二存储器对应存储一个用于构成第二包头的子包头;
基于所述M个第二存储器中存储的子包头,使用第二硬件加速器生成所述第二包头。
6.根据权利要求5所述的方法,其特征在于,所述第一包头用于表征数据链路层中一个子层的协议数据单元PDU包头;所述第二包头用于表征数据链路层的PDU包头。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于第一包头所属数据包的数据结构,确定所述第一格式。
8.根据权利要求1所述的方法,其特征在于,所述使用第一硬件加速器将所述N个第一存储器中的N个参数拼接成所述第一包头之后,所述方法还包括:
清空所述N个第一存储器。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述第一硬件加速器,包括以下至少之一:
现场可编程门阵列器件;
大规模并行处理器阵列器件;
图形处理单元;
专用集成电路。
10.一种终端,其特征在于,包括:
第一存入单元,用于将生成第一包头所需要的N个参数分别存入N个第一存储器中;其中,N为大于或者等于1的整数;所述N个参数与所述N个第一存储器一一对应;
第一生成单元,用于基于所述第一包头的第一格式,使用硬件加速器将所述N个第一存储器中的所述N个参数构成所述第一包头。
11.根据权利要求10所述的终端,其特征在于,所述第一生成单元在将所述N个第一存储器中的所述N个参数构成所述第一包头时,用于:
基于所述第一格式中所述N个参数中的每个参数的长度,从所述N个第一存储器中取出所述N个参数;
基于所述第一格式中所述N个参数的排列顺序,将取出的所述N个参数构成所述第一包头。
12.根据权利要求10所述的终端,其特征在于,在所述第一包头为构成第二包头的M个子包头中的一个子包头的情况下,所述终端还包括:
第二存入单元,用于将所述第一包头存入M个第二存储器中与所述第一包头对应的第二存储器,每个第二存储器对应存储一个用于构成第二包头的子包头;
第二生成单元,用于基于所述M个第二存储器中存储的子包头,使用第二硬件加速器生成所述第二包头。
13.根据权利要求10所述的终端,其特征在于,所述终端还包括:
第二确定单元,用于基于第一包头所属数据包的数据结构,确定所述第一格式。
14.一种终端,其特征在于,包括:处理器、硬件加速器和用于存储能够在处理器或硬件加速器上运行的计算机程序的存储器,
其中,所述处理器和硬件加速器用于运行所述计算机程序时,执行权利要求1至9任一项所述方法的步骤。
15.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器或硬件加速器执行时实现权利要求1至9任一项所述方法的步骤。
CN202010827859.5A 2020-08-17 2020-08-17 一种生成包头的方法及终端、存储介质 Active CN111954265B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010827859.5A CN111954265B (zh) 2020-08-17 2020-08-17 一种生成包头的方法及终端、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010827859.5A CN111954265B (zh) 2020-08-17 2020-08-17 一种生成包头的方法及终端、存储介质

Publications (2)

Publication Number Publication Date
CN111954265A true CN111954265A (zh) 2020-11-17
CN111954265B CN111954265B (zh) 2023-12-19

Family

ID=73342546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010827859.5A Active CN111954265B (zh) 2020-08-17 2020-08-17 一种生成包头的方法及终端、存储介质

Country Status (1)

Country Link
CN (1) CN111954265B (zh)

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130397A1 (en) * 2005-10-19 2007-06-07 Nvidia Corporation System and method for encoding packet header to enable higher bandwidth efficiency across PCIe links
KR20080092800A (ko) * 2007-04-13 2008-10-16 삼성전자주식회사 이동 통신 시스템에서 집합적 바이트 정렬 방법 및 장치
US20080310452A1 (en) * 2007-06-14 2008-12-18 Texas Instruments Incorporated Data link layer headers
CN101511106A (zh) * 2009-03-27 2009-08-19 华为技术有限公司 一种接入方法及装置
WO2009113353A1 (ja) * 2008-03-13 2009-09-17 日本電気株式会社 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
US20090296683A1 (en) * 2008-05-27 2009-12-03 Fujitsu Limited Transmitting a protocol data unit using descriptors
CN101777973A (zh) * 2009-01-13 2010-07-14 杰脉通信技术(上海)有限公司 用户设备ue侧hsdpa数据结构优化处理方法
CN102595621A (zh) * 2011-01-07 2012-07-18 中兴通讯股份有限公司 一种上行接收端参数存储控制方法及装置
US20150295729A1 (en) * 2014-04-09 2015-10-15 Lokesh Bevinamarad Hardware accelerator for tunnel processing
CN105262562A (zh) * 2015-09-07 2016-01-20 香港中文大学深圳研究院 一种用于代数交换引擎数据包分组重组的预处理方法
US20170181207A1 (en) * 2014-05-06 2017-06-22 Lg Electronics Inc. Method for processing received rlc pdus for d2d communication system and device therefor
CN107360594A (zh) * 2016-05-09 2017-11-17 中国移动通信有限公司研究院 一种信息处理方法及装置
WO2018171806A1 (zh) * 2017-03-24 2018-09-27 中兴通讯股份有限公司 一种控制包的传输方法及电子设备、计算机存储介质
WO2019196125A1 (en) * 2018-04-13 2019-10-17 Nokia Shanghai Bell Co., Ltd. Enhancement of medium access control subheaders
CN111050354A (zh) * 2018-10-12 2020-04-21 中国移动通信有限公司研究院 Rrc连接重配置的方法、装置、相关设备及存储介质
CN111066305A (zh) * 2017-09-08 2020-04-24 美国国家仪器有限公司 用于执行低延迟高吞吐量l2操作的无线通信设备和方法

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130397A1 (en) * 2005-10-19 2007-06-07 Nvidia Corporation System and method for encoding packet header to enable higher bandwidth efficiency across PCIe links
KR20080092800A (ko) * 2007-04-13 2008-10-16 삼성전자주식회사 이동 통신 시스템에서 집합적 바이트 정렬 방법 및 장치
US20080310452A1 (en) * 2007-06-14 2008-12-18 Texas Instruments Incorporated Data link layer headers
WO2009113353A1 (ja) * 2008-03-13 2009-09-17 日本電気株式会社 転送制御装置、多重化フレーム転送システム、転送制御方法、及び転送制御プログラム
US20090296683A1 (en) * 2008-05-27 2009-12-03 Fujitsu Limited Transmitting a protocol data unit using descriptors
CN101777973A (zh) * 2009-01-13 2010-07-14 杰脉通信技术(上海)有限公司 用户设备ue侧hsdpa数据结构优化处理方法
CN101511106A (zh) * 2009-03-27 2009-08-19 华为技术有限公司 一种接入方法及装置
CN102595621A (zh) * 2011-01-07 2012-07-18 中兴通讯股份有限公司 一种上行接收端参数存储控制方法及装置
US20150295729A1 (en) * 2014-04-09 2015-10-15 Lokesh Bevinamarad Hardware accelerator for tunnel processing
US20170181207A1 (en) * 2014-05-06 2017-06-22 Lg Electronics Inc. Method for processing received rlc pdus for d2d communication system and device therefor
CN105262562A (zh) * 2015-09-07 2016-01-20 香港中文大学深圳研究院 一种用于代数交换引擎数据包分组重组的预处理方法
CN107360594A (zh) * 2016-05-09 2017-11-17 中国移动通信有限公司研究院 一种信息处理方法及装置
WO2018171806A1 (zh) * 2017-03-24 2018-09-27 中兴通讯股份有限公司 一种控制包的传输方法及电子设备、计算机存储介质
CN111066305A (zh) * 2017-09-08 2020-04-24 美国国家仪器有限公司 用于执行低延迟高吞吐量l2操作的无线通信设备和方法
WO2019196125A1 (en) * 2018-04-13 2019-10-17 Nokia Shanghai Bell Co., Ltd. Enhancement of medium access control subheaders
CN111050354A (zh) * 2018-10-12 2020-04-21 中国移动通信有限公司研究院 Rrc连接重配置的方法、装置、相关设备及存储介质

Also Published As

Publication number Publication date
CN111954265B (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
US10412757B2 (en) Uplink data fragmentation for multi-user networks
US8712473B2 (en) System and method for seamlessly increasing download throughput
KR101154829B1 (ko) 집합 프레임 생성 방법, 패킷 처리 방법
KR100963660B1 (ko) 매체 액세스 제어(mac)계층과 같은 프로토콜계층에서의 분할을 동적으로 조정하는 방법, 장치 및컴퓨터 프로그램
KR101396062B1 (ko) 헤더 지시자를 이용한 효율적인 데이터 블록 전송방법
US8619770B2 (en) Length indicator optimization
CN102439942B (zh) 用于支持具有可变帧大小的链路上的较高数据速率的设备和方法
JP2008289159A (ja) 無線通信システムにおいてパケットヘッダを設定する方法及び装置
US11050665B2 (en) Data transmission method, apparatus, transmitting end, receiving end and system
US7969977B2 (en) Processing apparatus and method for processing IP packets
CN112585925A (zh) 无线通信的方法和设备
WO2009033371A1 (fr) Système et appareil de remplissage d'unité de données de protocole (pdu) et son procédé de traitement correspondant
CN113938431B (zh) 突发数据包传输方法、装置和电子设备
US20200337112A1 (en) Data transmission method and related product
CN113115361B (zh) 以太网帧头压缩处理方法、装置、芯片及计算机程序
CN111480361B (zh) 基站装置、终端装置、无线通信方法
CN111954265B (zh) 一种生成包头的方法及终端、存储介质
US11489947B2 (en) Relay node and method for encapsulating a packet based on tunneling protocol
WO2018053685A1 (zh) 数据封装方法、装置以及通信系统
US11116038B2 (en) Method for transmitting MAC PDUs and related product
CN114079675B (zh) 报文处理方法、装置、终端设备及移动宽带上网设备
WO2023185450A1 (zh) 数据包处理方法及装置
CN114598661A (zh) 数据传输方法、装置、相关设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant