CN112543154A - 一种数据传输方法及装置 - Google Patents
一种数据传输方法及装置 Download PDFInfo
- Publication number
- CN112543154A CN112543154A CN201910893679.4A CN201910893679A CN112543154A CN 112543154 A CN112543154 A CN 112543154A CN 201910893679 A CN201910893679 A CN 201910893679A CN 112543154 A CN112543154 A CN 112543154A
- Authority
- CN
- China
- Prior art keywords
- data
- pointer
- mbuf
- memory
- head
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/901—Buffering arrangements using storage descriptor, e.g. read or write pointers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明实施例提供一种数据传输方法及装置,其中数据传输方法包括:获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。本发明实施例提升了基带板数据的传输性能。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据传输方法及装置。
背景技术
随着第五代移动通信技术(5th generation mobile networks,5G)的发展日趋成熟,对多用户多流场景下新空口(New Radio,NR)基站的业务处理能力要求也逐步提高。在该种情况下,使得在现有硬件平台下,提升软件处理能力以适配业务发展成为一项重要选择。
目前按照现有5G NR(简称gNB)基站标准,基站板通用处理器需要实现单处理器3个100M的NR小区压力,此时即使选用顶配芯片,实现难度也有较大风险。例如,从功耗角度看,单基带板的功耗压力更为严峻,而越接近处理能力上限功耗提升越快;从性价比角度看,选用顶配芯片面临更高的成本以及更低的性价比,这导致单纯提高硬件芯片的处理性能不是一个很好选择。基于上述情况,如何在基站业务传输性能遇到瓶颈时,提高数据的传输能力成为了一个急需解决的问题。
发明内容
本发明实施例提供一种数据传输方法及装置,以提高数据的传输性能。
本发明实施例提供一种数据传输方法,包括:
获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;
将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。
本发明实施例提供一种数据传输方法,包括:
接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据链路层所申请到的MBUF的数据区头指针;
根据所述第二数据指针,获取所述MBUF的头指针;
根据所述MBUF的头指针,对所述MBUF中的缓存数据进行发送。
本发明实施例提供一种数据传输方法,包括:
将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针;
将所述第一数据指针发送至网络适配层,以使所述网络适配层对所述MBUF中所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
本发明实施例提供一种数据传输方法,包括:
接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据平面开发套件DPDK在将所述基带板数据封装在所述MBUF中时得到;
根据所述第二数据指针,获取所述MBUF的头指针;
根据所述MBUF的头指针,对所述MBUF中的缓存数据进行释放操作。
本发明实施例提供一种数据传输装置,包括:
获取模块,用于获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;
发送模块,用于将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。
本发明实施例提供一种数据传输装置,包括:
接收模块,用于接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据链路层所申请到的MBUF的数据区头指针;
获取模块,用于根据所述第二数据指针,获取所述MBUF的头指针;
发送模块,用于根据所述MBUF的头指针,对所述MBUF中的缓存数据进行发送。
本发明实施例提供一种数据传输装置,包括:
获取模块,用于将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针;
发送模块,用于将所述第一数据指针发送至网络适配层,以使所述网络适配层对所述MBUF中所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
本发明实施例提供一种数据传输装置,包括:
接收模块,用于接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据平面开发套件DPDK在将所述基带板数据封装在所述MBUF中时得到;
获取模块,用于根据所述第二数据指针,获取所述MBUF的头指针;
释放模块,用于根据所述MBUF的头指针,对所述MBUF中的缓存数据进行释放操作。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现所述的数据传输方法的步骤。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述的数据传输方法的步骤。
本发明实施例提供的数据传输方法及装置,通过获取所申请的MBUF的数据区头指针,并根据数据区头指针将基带板数据封装在MBUF中,然后将该数据区头指针作为第一数据指针发送至网络适配层,以使网络适配层对第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至DPDK,实现了通过对MBUF中数据指针的传递,实现各协议层通过数据指针在原内存中查找数据并进行处理的过程,从而实现了内存间的无拷贝数据传输过程,避免了现有技术中基带板数据存储在不同的内存空间,需要通过多次拷贝进行处理的过程,从而避免了CPU资源的浪费,减少了***内存拷贝开销,极大缩短了处理器拷贝时间,提升了内存使用效率以及基带板数据的传输性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中数据传输方法的步骤流程图之一;
图2为本发明实施例中数据传输方法的步骤流程图之二;
图3为现有技术中MBUF的结构示意图;
图4为本发明实施例中MBUF的内存区域的划分示意图;
图5为本发明实施例中数据传输方法的步骤流程图之三;
图6为本发明实施例中数据传输方法的步骤流程图之四;
图7为本发明实施例中数据传输装置的模块框图之一;
图8为本发明实施例中数据传输装置的模块框图之二;
图9为本发明实施例中数据传输装置的模块框图之三;
图10为本发明实施例中数据传输装置的模块框图之四;
图11为本发明实施例中电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前对于接收到的gNB基带业务数据,需要先递交到应用层(含驱动协议栈)进行处理。而现有实现递交过程为,通过拷贝将数据由大页内存池转至共享内存,反向同样需要将数据由共享内存转到大页内存池。这样,gNB的基带业务数据存储在不同的内存空间,导致处理过程需要多次拷贝,存在极大CPU资源浪费以及占用较大的***开销。
针对上述情况,本发明通过对基站数据内存进行分配以及寻址,实现数据传输过程中的无拷贝过程,从而有效提升内存使用效率,减少***内存拷贝开销,进而提升基站数据的传输性能。下面对本发明实施例进行具体介绍。
具体的,如图1所示,为本发明实施例中数据传输方法的步骤流程图之一,该数据传输方法包括:
步骤101:获取所申请到的MBUF的数据区头指针,并根据数据区头指针将基带板数据封装在MBUF中。
具体的,在数据上行传输的过程中,当数据链路层实体需要进行基带板数据的传输时,可以在内存空间中申请存储器缓存(Memory Buffer,MBUF),此时数据链路层实体申请得到MBUF,并获知该MBUF的数据区头指针。然后,数据链路层实体可以根据该MUBF的数据区头指针,将待传输的基带板数据封装在MBUF中。
步骤102:将数据区头指针作为第一数据指针发送至网络适配层。
在本步骤中,具体的,由于数据链路层为根据MBUF的数据区头指针对基带板数据进行封装,因此此时该数据区头指针即为数据指针,即数据链路层可以将该数据区头指针作为第一数据指针发送给网络适配层,以使网络适配层对第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件(Data PlaneDevelopment Kit,DPDK)。
具体的,网络适配层在接收到第一数据指针之后,可以根据该第一数据指针定位到相对应的内存区域,并能够对该第一数据指针所指向数据进行修改;此外,在数据修改时第一数据指针会发生偏移,此时网络适配层可以得到指针偏移后的第二数据指针,并将该第二数据指针发送至DPDK,从而使得DPDK能够根据该第二数据指针得到MBUF的头指针,进而进行数据的发送。
这样,本实施例中的数据链路层实体通过将基带板数据封装在MBUF中,并将第一数据指针发送至网络适配层,且网络适配层同样将第二数据指针发送至DPDK,实现了在基带板数据处理过程中采用自定义内存池来分配基带板数据的内存空间,使得在数据传输的过程中,通过对数据指针的传递,实现各协议层只需通过数据指针在基带板数据所封装的内存中查找数据并进行处理,从而实现了内存间的无拷贝数据传输过程,避免了现有技术中基带板数据存储在不同的内存空间,需要通过多次拷贝进行处理的过程,从而避免了CPU资源的浪费,减少了***内存拷贝开销,极大缩短了处理器拷贝时间,提升了内存使用效率以及基带板数据的传输性能。
此外,具体的,如图2所示,为本发明实施例中数据传输方法的步骤流程图之二,该方法包括:
步骤201:接收网络适配层发送的第二数据指针。
具体的,在数据上行的传输过程中,DPDK接收网络适配层发送的第二数据指针。
具体的,该第二数据指针为网络适配层对MBUF中第一数据指针所指向数据进行修改后得到,第一数据指针为数据链路层在所申请到的MBUF的数据区头指针。
具体的,在数据上行的传输过程中,数据链路层以及网络适配层依次传递该层所对应得到的MBUF的数据指针,且网络适配层将指针偏移后得到的第二数据指针发送给DPDK,使得DPDK在接收到该第二数据指针之后,能够通过后续MBUF的头指针的获取,实现数据的发送过程,避免了现有技术中需要在共享内存和大页内存池之间进行数据拷贝的过程,减少了***内存拷贝开销。
步骤202:根据第二数据指针,获取MBUF的头指针。
具体的,DPDK在进行数据发送时,需要寻找到MBUF的头指针。此时,DPDK可以根据所接收到的第二数据指针,获取MBUF的头指针。
步骤203:根据MBUF的头指针,对MBUF中的缓存数据进行发送。
具体的,DPDK在获取到MBUF的头指针之后,可以根据该MBUF的头指针,获取到该MBUF,进而使得能够对该MBUF中的缓存数据进行发送。
这样,本实施例中的DPDK通过接收网络适配层发送的第二数据指针,并根据第二数据指针,获取MBUF的头指针,进而根据该头指针,进行数据的发送,实现了零内存拷贝过程的基带板数据的整个传输过程。
进一步地,本实施例在根据第二数据指针,获取MBUF的头指针时,可以根据DPDK的64字节对齐原理,实现头指针的查找,具体可以包括如下步骤:
步骤A:根据第二数据指针,得到第二数据指针的指向内存区域。
具体的,指向内存区域为在MBUF中预留区域以及数据区域中预先划分得到的多个内存区域中的任一内存区域。
具体的,划分得到的多个内存区域可以包括预留区域中的第一内存区域和第二内存区域,数据区域中的第三内存区域和第四内存区域。
下面对MBUF的具体结构以及内存区域进行具体介绍。
具体的,MBUF的具体结构可以如图3所示,MBUF包括结构报头(rte_mbuf)、预留区域(Head room)、数据区域(data)和结尾保留区域(Tail room)。
在本实施例中,如图4所示,为MBUF内存区域的划分示意图,具体的,可以将128字节的预留区域划分为第一内存区域和第二内存区域,将128字节的数据区域划分为第三内存区域和第四内存区域。具体的,根据gNB的基带板数据处理流程可以推算到,数据指针只会在第一内存区域、第二内存区域、第三内存区域和第四内存区域范围内移动。
基于上述论述,本步骤可以直接根据所接收到的第二数据指针,得到该第二数据指针的指向内存区域,此时该指向内存区域为上述任一内存区域。
步骤B:根据指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址。
在本步骤中,具体的,在获取到指向内存区域之后,可以根据该指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址。
具体的,在根据指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址时,可以先根据指向内存区域以及指向内存区域的预设地址范围,得到指向内存区域的结束地址,然后获取指向内存区域的结束地址与预留区域头部之间相隔的内存区域个数,最后根据指向内存区域的结束地址、内存区域个数以及每个内存区域的预设地址范围,得到预留区域头地址。
在此需要说明的是,由于预留区域中预先划分得到多个内存区域,即预留区域头部位于其中一个内存区域的头部,此时指向内存区域的结束地址与预留区域头部之间相隔的内存区域包括,指向内存区域、预留区域头部所在内存区域以及指向内存区域和预留区域头部所在内存区域之间的内存区域。
这样,通过根据指向内存区域以及每个内存区域的预设地址范围,推理得到预留区域头地址,为进一步得到MBUF的头地址提供了基础。
下面对上述过程进行说明。
具体的,由于MBUF地址为64字节对齐,此时可以将每个内存区域的预设地址范围设置如下:
内存区域 | 起始 | 结束 |
第一内存区域 | 0x00 | 0x40 |
第二内存区域 | 0x40 | 0x80 |
第三内存区域 | 0x80 | 0xC0 |
第四内存区域 | 0xC0 | 0x00 |
此时,在得到每个内存区域的预设地址范围之后,可以直接根据指向内存区域以及指向内存区域的预设地址范围,得到指向内存区域的结束地址。例如,假设指向内存区域为第三内存区域,则可以得到指向内存区域的结束地址为0xC0。然后,可以获取该指向内存区域的结束地址与预留区域头部之间间隔的内存区域个数。例如,从图4中可以得到,预留区域头部位于第一内存区域中,此时可以得到指向内存区域即第三内存区域与预留区域头部之间相隔3个内存区域。再然后,可以直接根据该第三内存区域的结束地址以及相隔的3个内存区域中每个内存区域的预设地址范围,得到该预留区域头地址,即可以将第三内存区域的结束地址向前偏移(64字节+预留区域(128字节)个字节,即向前偏移3个64字节位置,得到预留区域头地址。
步骤C:根据预留区域头地址和MBUF结构报头的预设长度,得到头指针。
在本步骤中,具体的,由MBUF的结构可知,预留区域头地址与MBUF头之间相隔一结构报头,因此本实施例可以直接根据预留区域头地址和MBUF结构报头的预设长度,得到MBUF的头指针。
例如,继续参照上述步骤B的示例,假设MBUF结构报头的预设长度为128字节,则可以在预留区域头地址的基础上,再向前推移128字节,得到MBUF的头指针。
这样,通过根据所接收到的第二数据指针以及每个内存区域的预设地址范围,获取MBUF的头指针,由于能够根据第二数据指针得到所指向内存区域的结束地址,并已预先获取每个内存区域的预设地址范围,使得能够较为便利且准确的获取到MBUF的头指针。
此外,具体的,本实施例在根据预留区域头地址和MBUF结构报头的预设长度,得到头指针之前,还可以对所得到的预留区域头地址的正确性进行校验。
此时,可以获取预留区域头地址中存储的校验值,然后当检测到校验值与预先写入至预留区域头地址中的预设校验值相同时,再进入上述根据预留区域头地址和MBUF结构报头的预设长度,得到头指针的步骤。
具体的,预留区域头地址中写入有校验值,例如可以为0xddddbeaf。本实施例在得到该预留区域头地址之后,可以从预留区域头地址中获取校验值,并检测获取到的校验值和预先写入的预设校验值是否相同,从而对所得到的预留区域头地址的正确性进行检测;此时若检测正确,则可以结合MBUF结构报头的预设长度,得到头指针。当然,若检测不正确,则需要重新确定指向内存区域。
另外,具体的,本实施例在根据预留区域头地址和MBUF结构报头的预设长度,得到头指针之后,还可以对所得到的头指针的准确性进行检测。
此时,可以根据MBUF结构报头中的预设缓冲区地址,得到预留区域头地址中存储的校验值;其中预设缓冲区地址默认指向预留区域头地址;然后当检测到校验值与预先写入至预留区域头地址中的预设校验值相同时,确定头指针为正确头指针。
具体的,MBUF头中的预设缓冲区地址(buf_addr地址)默认指向预留区域头地址,此时可以再次从预留区域头地址中取出校验值,然后再次对该校验值进行检测;若此时检测到该校验值与预先写入的预设校验值相同,则证明所查找到的MBUF头指针正确。
当然,在此需要说明的是,若检测到所获取到的校验值与预先写入的预设校验值不同,即检测到所查找到的MBUF头指针错误,则说明MBUF的数据指针可能在其他的内存区域,此时可以分别将其他内存区域一一作为指向内存区域,以上述方式查找到MBUF头指针。当然,若此时依然未查找到MBUF头地址,则需要输出记录出错指示,此时说明数据流向可能进入异常分支,则需要查找代码流程以及数据流程。
这样,通过对校验值进行检测,保证了所得到的预留区域头地址的准确性以及头指针的准确性,避免了所获取到的头指针发生错误时,影响数据发送的问题。
本实施例中的DPDK通过根据所接收到的第二数据指针,获取MBUF的头指针,并根据MBUF的头指针,对MBUF中的缓存数据进行发送,实现了整个的数据发送过程。
此外,如图5所示,为本发明实施例中数据传输方法的步骤流程图之三,该方法包括如下步骤:
步骤501:将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针。
具体的,在数据下行传输过程中,在网络数据帧被接收后,即当DPDK接收到基带板数据时,可以将接收到的基带板数据封装在MBUF结构数据内存中,这使得在有效生存期内,只是对优先的指针指向内容进行修改,而不会有大块的数据内存搬移,从而使得还可以集中CPU资源来处理基站所需报文的数据,减少其他处理占用资源。
当然,在将基带板数据封装在MBUF中时,还需要获取此时的MBUF的第一数据指针,从而使得能够通过数据指针的传递,使得各协议层能够通过数据指针查询到封装在MBUF中的基带板数据并进行处理。
步骤502:将第一数据指针发送至网络适配层。
在本步骤中,具体的,DPDK将第一数据指针发送给网络适配层,从而使得网络适配层对MBUF中第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
具体的,DPDK在接收到基带板数据且封装之后,将第一数据指针发送给网络适配层。此时网络适配层根据该第一数据指针在基带板数据所封装内存中,直接对该第一数据指针所指向数据进行修改,此时第一数据指针发生偏移;然后网络适配层将指针偏移后得到的第二数据指针发送给数据链路层。这样,通过在各协议层之间进行数据指针的传递,使得在基带板数据传输过程中,能够直接通过数据指针对数据所在内存地址进行定位并对数据进行处理,避免了对基带板数据在大页内存和共享内存之间的拷贝传递过程,进而减少了***拷贝开销。
另外,具体的,本实施例在将接收到的基带板数据封装在MBUF之前,DPDK还可以对该MBUF所占用内存池的剩余内存进行检测。此时,可以当检测到MBUF所占用内存池的剩余内存小于预设阈值时,允许接收信令数据和操作维护数据,并禁止接收基带业务数据。
当然,当检测到MBUF所占用内存池的剩余内存大于或等于预设阈值时,则可以同时允许接收信令数据、操作维护数据和基带业务数据。
具体的,由于数据链路层发生异常后,由于核心网还会有业务包进行传输,此时数据链路层若对数据不进行释放处理,则会导致内存池满溢,出现信令及操作维护数据不能正常下发的情况,从而导致基站出现异常。基于此,DPDK可以在接收数据包之前,即在对接收到的基带板数据进行封装之前,则可以检测MBUF所占用的内存池的剩余内存,并在剩余内存小于预设阈值时,只允许接收信令数据和操作维护数据,并禁止接收基带业务数据,从而实现业务数据和信令数据、操作维护数据的隔离,降低了基站各类数据通道的耦合性,在业务数据通路出现故障时保障***基本通路可用性,提升了基站***的健壮性,并使得在基带业务数据导致内存满溢后,信令数据和操作维护数据还能够正常传输,保证了基站正常工作。
当然,在此需要说明的是,由于数据链路层的软件均基于大页(OSP)消息通信,若突兀的改为DPDK MBUF则影响数据链路层软件的运行基础,而将OSP内存纳入DPDK管理,替代DPDK MBUF同样具有较大难度。此时,可以采用同一套MBUF,两套管理机制,即同一个MBUF在DPDK环境中则采用MBUF管理机制,而在应用环境中则采用OSP内存管理机制。当然,为了实现在应用环境中能够采用OSP内存管理机制,则可以在MBUF的数据区域前部预留出OSP消息头及其附加头的空间,即此时的MBUF的预留区域,为两套机制的融合实现提供了空间。
这样,本实施例中的DPDK通过将接收到的基带板数据封装在MBUF中,并获取封装完毕时MBUF的第一数据指针,然后将第一数据指针发送至网络适配层,使得网络适配层将发生指针偏移后得到的第二数据指针发送给数据链路层,实现了在业务处理过程中统一采用MBUF内存池来分配内存空间,有效提升了内存使用效率,且通过数据指针的发送,使得各协议层能够通过数据指针进行内存数据查询以及处理,避免了现有技术中通过多次数据拷贝实现数据处理的过程,进而减少了***内存拷贝开销,提升了基带板数据的传输性能。
此外,如图6所示,为本发明实施例中数据传输方法的步骤流程图之四,该方法包括如下步骤:
步骤601:接收网络适配层发送的第二数据指针。
在本步骤中,具体的,在数据的下行传输过程中,数据链路层实体接收网络适配层发送的第二数据指针。
具体的,该第二数据指针为网络适配层对MBUF中第一数据指针所指向数据进行修改后得到,第一数据指针为DPDK在将基带板数据封装在MBUF中时得到。
具体的,DPDK在将第一数据指针发送给网络适配层之后,网络适配层将数据修改后数据指针发生偏移时得到的第二数据指针发送给数据链路层实体,此时数据链路层实体接收该第二数据指针。这样,通过在各协议层之间进行数据指针的传递,实现了各协议层只需通过数据指针对基带板数据所封装内存地址进行获取并对数据进行处理,从而实现了无拷贝数据传输过程。
步骤602:根据第二数据指针,获取MBUF的头指针。
在本步骤中,具体的,数据链路层可以根据接收到的第二数据指针,获取MBUF的头指针,进而实现缓存数据的释放过程。
具体的,数据链路层在根据第二数据指针,获取MBUF的头指针时,可以先对MBUF中第二数据指针所指向数据进行修改,得到数据修改后的第三数据指针;然后根据第三数据指针,获取MBUF的头指针。
具体的,数据链路层在对MBUF中第二数据指针所指向数据进行修改时,数据指针会发生偏移,此时可以得到第二数据指针发生偏移后的第三数据指针,并根据该第三数据指针获取MBUF的头指针。
此外,在此还需要说明的是,根据第三数据指针获取MBUF的头指针的具体过程,可以参见DPDK侧根据第二数据指针获取MBUF的头指针的具体过程。例如,在根据第三数据指针获取MBUF的头指针时,可以根据第三数据指针,得到第三数据指针的指向内存区域;指向内存区域为在MBUF中预留区域以及数据区域中预先划分得到的多个内存区域中的任一内存区域;然后根据指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址;最后根据预留区域头地址和MBUF结构报头的预设长度,得到头指针。在此不再对获取头指针的相同内容进行具体赘述。
步骤603:根据MBUF的头指针,对MBUF中的缓存数据进行释放操作。
在本步骤中,具体的,在得到MBUF的头指针之后,可以根据MBUF的头指针,对MBUF中的缓存数据进行释放操作,以避免内存池满溢的情况的发生。
这样,本实施例中的数据链路层实体通过接收网络适配层发送的第二数据指针,并根据第二数据指针,获取MBUF的头指针,然后根据头指针进行缓存数据的释放操作,实现了在数据传输的过程中,通过对数据指针的传递,实现各协议层通过数据指针在数据封装内存中查找数据并进行处理,从而实现了内存间的无拷贝数据传输过程,并实现了数据释放过程,避免了现有技术中基带板数据存储在不同的内存空间,需要通过多次拷贝进行处理的过程,从而避免了CPU资源的浪费,减少了***内存拷贝开销,极大缩短了处理器拷贝时间,提升了内存使用效率以及基带板数据的传输性能。
此外,如图7所示,为本发明实施例中数据传输装置的模块框图之一,该装置包括:
获取模块701,用于获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;
发送模块702,用于将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。
在此需要说明的是,上述装置能够实现与之对应方法实施例的技术效果,在此不再进行具体阐述。
此外,如图8所示,为本发明实施例中数据传输装置的模块框图之二,该装置包括:
接收模块801,用于接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据链路层所申请到的MBUF的数据区头指针;
获取模块802,用于根据所述第二数据指针,获取所述MBUF的头指针;
发送模块803,用于根据所述MBUF的头指针,对所述MBUF中的缓存数据进行发送。
可选地,所述获取模块802包括:
第一获取单元,用于根据所述第二数据指针,得到所述第二数据指针的指向内存区域;所述指向内存区域为在所述MBUF中预留区域以及数据区域中预先划分得到的多个内存区域中的任一内存区域;
第二获取单元,用于根据所述指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址;
第三获取单元,用于根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针。
可选地,所述第二获取单元具体用于,根据所述指向内存区域以及所述指向内存区域的预设地址范围,得到所述指向内存区域的结束地址;获取所述指向内存区域的结束地址与预留区域头部之间相隔的内存区域个数;根据所述指向内存区域的结束地址、所述内存区域个数以及每个内存区域的预设地址范围,得到所述预留区域头地址。
可选地,还包括:
第四获取单元,用于获取所述预留区域头地址中存储的校验值;
处理单元,用于当检测到所述校验值与预先写入至所述预留区域头地址中的预设校验值相同时,触发第三获取单元,以根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针。
可选地,还包括:
第五获取单元,用于根据所述MBUF结构报头中的预设缓冲区地址,得到所述预留区域头地址中存储的校验值;其中所述预设缓冲区地址默认指向所述预留区域头地址;
确定单元,用于当检测到所述校验值与预先写入至所述预留区域头地址中的预设校验值相同时,确定所述头指针为正确头指针。
在此需要说明的是,该装置能够以与之对应方法实施例相同的实现方式,实现相同的技术效果,在此不再进行具体阐述。
另外,如图9所示,为本发明实施例中数据传输装置的模块框图之三,该装置包括:
获取模块901,用于将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针;
发送模块902,用于将所述第一数据指针发送至网络适配层,以使所述网络适配层对所述MBUF中所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
可选地,还包括:
处理模块,用于当检测到所述MBUF所占用内存池的剩余内存小于预设阈值时,允许接收信令数据和操作维护数据,并禁止接收基带业务数据。
在此需要说明的是,该装置能够以与之对应方法实施例相同的实现方式,实现相同的技术效果,在此不再进行具体阐述。
另外,如图10所示,为本发明实施例中数据传输装置的模块框图之四,该装置包括:
接收模块1001,用于接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据平面开发套件DPDK在将所述基带板数据封装在所述MBUF中时得到;
获取模块1002,用于根据所述第二数据指针,获取所述MBUF的头指针;
释放模块1003,用于根据所述MBUF的头指针,对所述MBUF中的缓存数据进行释放操作。
可选地,所述获取模块1002用于,对所述MBUF中所述第二数据指针所指向数据进行修改,得到数据修改后的第三数据指针;根据所述第三数据指针,获取所述MBUF的头指针。
在此需要说明的是,该装置能够以与之对应方法实施例相同的实现方式,实现相同的技术效果,在此不再进行具体阐述。
另外,如图11所示,为本发明实施例提供的电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)1110、通信接口(Communications Interface)1120、存储器(memory)1130和通信总线1140,其中,处理器1110,通信接口1120,存储器1130通过通信总线1140完成相互间的通信。处理器1110可以调用存储在存储器1130上并可在处理器1110上运行的计算机程序,以执行下述方法:获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。
或者执行下述方法:接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据链路层所申请到的MBUF的数据区头指针;根据所述第二数据指针,获取所述MBUF的头指针;根据所述MBUF的头指针,对所述MBUF中的缓存数据进行发送。
或者执行下述方法:将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针;将所述第一数据指针发送至网络适配层,以使所述网络适配层对所述MBUF中所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
或者执行下述方法:接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据平面开发套件DPDK在将所述基带板数据封装在所述MBUF中时得到;根据所述第二数据指针,获取所述MBUF的头指针;根据所述MBUF的头指针,对所述MBUF中的缓存数据进行释放操作。
此外,上述的存储器1130中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。
或者执行下述方法:接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据链路层所申请到的MBUF的数据区头指针;根据所述第二数据指针,获取所述MBUF的头指针;根据所述MBUF的头指针,对所述MBUF中的缓存数据进行发送。
或者执行下述方法:将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针;将所述第一数据指针发送至网络适配层,以使所述网络适配层对所述MBUF中所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
或者执行下述方法:接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据平面开发套件DPDK在将所述基带板数据封装在所述MBUF中时得到;根据所述第二数据指针,获取所述MBUF的头指针;根据所述MBUF的头指针,对所述MBUF中的缓存数据进行释放操作。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (22)
1.一种数据传输方法,其特征在于,包括:
获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;
将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。
2.一种数据传输方法,应用于数据平面开发套件DPDK,其特征在于,包括:
接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据链路层所申请到的MBUF的数据区头指针;
根据所述第二数据指针,获取所述MBUF的头指针;
根据所述MBUF的头指针,对所述MBUF中的缓存数据进行发送。
3.根据权利要求2所述的数据传输方法,其特征在于,所述根据所述第二数据指针,获取所述MBUF的头指针,包括:
根据所述第二数据指针,得到所述第二数据指针的指向内存区域;所述指向内存区域为在所述MBUF中预留区域以及数据区域中预先划分得到的多个内存区域中的任一内存区域;
根据所述指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址;
根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针。
4.根据权利要求3所述的数据传输方法,其特征在于,所述根据所述指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址,包括:
根据所述指向内存区域以及所述指向内存区域的预设地址范围,得到所述指向内存区域的结束地址;
获取所述指向内存区域的结束地址与预留区域头部之间相隔的内存区域个数;
根据所述指向内存区域的结束地址、所述内存区域个数以及每个内存区域的预设地址范围,得到所述预留区域头地址。
5.根据权利要求3所述的数据传输方法,其特征在于,所述根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针之前,还包括:
获取所述预留区域头地址中存储的校验值;
当检测到所述校验值与预先写入至所述预留区域头地址中的预设校验值相同时,进入所述根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针的步骤。
6.根据权利要求3所述的数据传输方法,其特征在于,所述根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针之后,还包括:
根据所述MBUF结构报头中的预设缓冲区地址,得到所述预留区域头地址中存储的校验值;其中所述预设缓冲区地址默认指向所述预留区域头地址;
当检测到所述校验值与预先写入至所述预留区域头地址中的预设校验值相同时,确定所述头指针为正确头指针。
7.一种数据传输方法,其特征在于,包括:
将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针;
将所述第一数据指针发送至网络适配层,以使所述网络适配层对所述MBUF中所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
8.根据权利要求7所述的数据传输方法,其特征在于,所述将接收到的基带板数据封装在存储器缓存MBUF中之前,还包括:
当检测到所述MBUF所占用内存池的剩余内存小于预设阈值时,允许接收信令数据和操作维护数据,并禁止接收基带业务数据。
9.一种数据传输方法,其特征在于,包括:
接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据平面开发套件DPDK在将基带板数据封装在所述MBUF中时得到;
根据所述第二数据指针,获取所述MBUF的头指针;
根据所述MBUF的头指针,对所述MBUF中的缓存数据进行释放操作。
10.根据权利要求9所述的数据传输方法,其特征在于,所述根据所述第二数据指针,获取所述MBUF的头指针,包括:
对所述MBUF中所述第二数据指针所指向数据进行修改,得到数据修改后的第三数据指针;
根据所述第三数据指针,获取所述MBUF的头指针。
11.一种数据传输装置,其特征在于,包括:
获取模块,用于获取所申请到的存储器缓存MBUF的数据区头指针,并根据所述数据区头指针将基带板数据封装在所述MBUF中;
发送模块,用于将所述数据区头指针作为第一数据指针发送至网络适配层,以使所述网络适配层对所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送至数据平面开发套件DPDK。
12.一种数据传输装置,其特征在于,包括:
接收模块,用于接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据链路层所申请到的MBUF的数据区头指针;
获取模块,用于根据所述第二数据指针,获取所述MBUF的头指针;
发送模块,用于根据所述MBUF的头指针,对所述MBUF中的缓存数据进行发送。
13.根据权利要求12所述的数据传输装置,其特征在于,所述获取模块包括:
第一获取单元,用于根据所述第二数据指针,得到所述第二数据指针的指向内存区域;所述指向内存区域为在所述MBUF中预留区域以及数据区域中预先划分得到的多个内存区域中的任一内存区域;
第二获取单元,用于根据所述指向内存区域以及每个内存区域的预设地址范围,得到预留区域头地址;
第三获取单元,用于根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针。
14.根据权利要求13所述的数据传输装置,其特征在于,所述第二获取单元具体用于,根据所述指向内存区域以及所述指向内存区域的预设地址范围,得到所述指向内存区域的结束地址;获取所述指向内存区域的结束地址与预留区域头部之间相隔的内存区域个数;根据所述指向内存区域的结束地址、所述内存区域个数以及每个内存区域的预设地址范围,得到所述预留区域头地址。
15.根据权利要求13所述的数据传输装置,其特征在于,还包括:
第四获取单元,用于获取所述预留区域头地址中存储的校验值;
处理单元,用于当检测到所述校验值与预先写入至所述预留区域头地址中的预设校验值相同时,触发第三获取单元,以根据所述预留区域头地址和MBUF结构报头的预设长度,得到所述头指针。
16.根据权利要求13所述的数据传输装置,其特征在于,还包括:
第五获取单元,用于根据所述MBUF结构报头中的预设缓冲区地址,得到所述预留区域头地址中存储的校验值;其中所述预设缓冲区地址默认指向所述预留区域头地址;
确定单元,用于当检测到所述校验值与预先写入至所述预留区域头地址中的预设校验值相同时,确定所述头指针为正确头指针。
17.一种数据传输装置,其特征在于,包括:
获取模块,用于将接收到的基带板数据封装在存储器缓存MBUF中,并获取封装完毕时MBUF的第一数据指针;
发送模块,用于将所述第一数据指针发送至网络适配层,以使所述网络适配层对所述MBUF中所述第一数据指针所指向数据进行修改,并将数据修改后所得到的第二数据指针发送给数据链路层。
18.根据权利要求17所述的数据传输装置,其特征在于,还包括:
处理模块,用于当检测到所述MBUF所占用内存池的剩余内存小于预设阈值时,允许接收信令数据和操作维护数据,并禁止接收基带业务数据。
19.一种数据传输装置,其特征在于,包括:
接收模块,用于接收网络适配层发送的第二数据指针,所述第二数据指针为所述网络适配层对存储器缓存MBUF中第一数据指针所指向数据进行修改后得到,所述第一数据指针为数据平面开发套件DPDK在将基带板数据封装在所述MBUF中时得到;
获取模块,用于根据所述第二数据指针,获取所述MBUF的头指针;
释放模块,用于根据所述MBUF的头指针,对所述MBUF中的缓存数据进行释放操作。
20.根据权利要求19所述的数据传输装置,其特征在于,所述获取模块用于,对所述MBUF中所述第二数据指针所指向数据进行修改,得到数据修改后的第三数据指针;根据所述第三数据指针,获取所述MBUF的头指针。
21.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项所述的数据传输方法的步骤。
22.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至10任一项所述的数据传输方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910893679.4A CN112543154B (zh) | 2019-09-20 | 2019-09-20 | 一种数据传输方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910893679.4A CN112543154B (zh) | 2019-09-20 | 2019-09-20 | 一种数据传输方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112543154A true CN112543154A (zh) | 2021-03-23 |
CN112543154B CN112543154B (zh) | 2022-07-22 |
Family
ID=75012466
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910893679.4A Active CN112543154B (zh) | 2019-09-20 | 2019-09-20 | 一种数据传输方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112543154B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826374A (zh) * | 2022-03-28 | 2022-07-29 | 西安空间无线电技术研究所 | 一种Ka频段卫星高速数据传输***及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152069B1 (en) * | 2002-10-15 | 2006-12-19 | Network Appliance, Inc. | Zero copy writes through use of mbufs |
US7249227B1 (en) * | 2003-12-29 | 2007-07-24 | Network Appliance, Inc. | System and method for zero copy block protocol write operations |
CN104133784A (zh) * | 2014-07-24 | 2014-11-05 | 大唐移动通信设备有限公司 | 一种报文缓存管理方法与装置 |
CN107302499A (zh) * | 2017-06-26 | 2017-10-27 | 北京赛特斯信息科技股份有限公司 | 无需拷贝报文缓存的nfv协议报文收发方法 |
-
2019
- 2019-09-20 CN CN201910893679.4A patent/CN112543154B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7152069B1 (en) * | 2002-10-15 | 2006-12-19 | Network Appliance, Inc. | Zero copy writes through use of mbufs |
US7249227B1 (en) * | 2003-12-29 | 2007-07-24 | Network Appliance, Inc. | System and method for zero copy block protocol write operations |
CN104133784A (zh) * | 2014-07-24 | 2014-11-05 | 大唐移动通信设备有限公司 | 一种报文缓存管理方法与装置 |
CN107302499A (zh) * | 2017-06-26 | 2017-10-27 | 北京赛特斯信息科技股份有限公司 | 无需拷贝报文缓存的nfv协议报文收发方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114826374A (zh) * | 2022-03-28 | 2022-07-29 | 西安空间无线电技术研究所 | 一种Ka频段卫星高速数据传输***及方法 |
CN114826374B (zh) * | 2022-03-28 | 2023-12-29 | 西安空间无线电技术研究所 | 一种Ka频段卫星高速数据传输***及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112543154B (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102255949B1 (ko) | Harq의 피드백 정보 전송 방법, ue, 기지국과 시스템 | |
KR102220436B1 (ko) | 데이터 처리를 구현하기 위한 방법, 네트워크 디바이스 및 시스템, 및 저장 매체 | |
US11324032B2 (en) | Methods for data transmission and user equipment | |
CN108886823B (zh) | 用于灵活的用户设备标识的***和方法 | |
EP3474591B1 (en) | Terminal device, base station device, and method for controlling qos | |
KR20160060744A (ko) | 업링크 정보 전송 방법 및 장치, 수신 방법 및 장치, 그리고 통신 시스템 | |
US20200084003A1 (en) | Data transmission method, and new as sublayer entity | |
CN109996261B (zh) | 基于mac层数据包复制的数据传输方法及装置 | |
CN111263448A (zh) | 信息传输的方法和设备 | |
CN112543154B (zh) | 一种数据传输方法及装置 | |
CN111989884B (zh) | 用于ue内打孔的上行链路传输的信令指示的传输 | |
TWI743465B (zh) | 為早期資料傳輸建立協定資料單元之技術 | |
EP3979736A1 (en) | Data multiplexing transmission method, base station, terminal, and storage medium | |
KR102014758B1 (ko) | 탐색 정보 송신 방법, 디바이스, 및 통신 시스템 | |
EP3589043A1 (en) | Data transmission method, terminal device and network device | |
CN114287115B (zh) | 基于侧链路cbg的harq反馈和保留资源上的相关联的重传 | |
KR102596636B1 (ko) | 자원 할당 방법, 단말기 및 네트워크측 기기 | |
US11349628B2 (en) | Resource indication method and device, and computer storage medium | |
CN113767662B (zh) | 无线信号的类型确定方法、装置及*** | |
US11882602B2 (en) | Data transmission method, base station, and user equipment | |
CN114830575A (zh) | 数据传输方法、终端设备和存储介质 | |
CN114422981A (zh) | 反馈侧行链路传输情况的方法和装置 | |
CN115442319B (zh) | 数据传输方法、电子设备和计算机可读存储介质 | |
WO2017075765A1 (zh) | 控制信令传输方法及***、调度节点及被调度节点 | |
CN107637159B (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 |