CN101340574A - 一种实现零拷贝发送流媒体数据的方法及系统 - Google Patents

一种实现零拷贝发送流媒体数据的方法及系统 Download PDF

Info

Publication number
CN101340574A
CN101340574A CN 200810142292 CN200810142292A CN101340574A CN 101340574 A CN101340574 A CN 101340574A CN 200810142292 CN200810142292 CN 200810142292 CN 200810142292 A CN200810142292 A CN 200810142292A CN 101340574 A CN101340574 A CN 101340574A
Authority
CN
China
Prior art keywords
data
transmission
media data
socket
stream media
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
CN 200810142292
Other languages
English (en)
Other versions
CN101340574B (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN 200810142292 priority Critical patent/CN101340574B/zh
Publication of CN101340574A publication Critical patent/CN101340574A/zh
Priority to US13/057,625 priority patent/US20110258337A1/en
Priority to PL09804442T priority patent/PL2312807T3/pl
Priority to RU2011107517/08A priority patent/RU2477930C2/ru
Priority to PCT/CN2009/000852 priority patent/WO2010015142A1/zh
Priority to EP09804442.3A priority patent/EP2312807B1/en
Application granted granted Critical
Publication of CN101340574B publication Critical patent/CN101340574B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

本发明公开了一种实现零拷贝发送流媒体数据的方法及系统,基于Linux的网络协议栈,其方法包括:在流媒体服务器接收到用户设备的数据请求时,进行发送数据的系统调用,将流媒体数据从磁盘空间读入用户数据缓存中;将用户数据缓存中存放的流媒体数据打包成实时传输协议数据包,对该实时传输协议数据包采用头部和载荷分离的流媒体数据包的发送。本发明方法及系统由于充分利用了网卡的DMA功能和SG(Scatter/Gather,分散/汇聚)功能,实现零拷贝发送流媒体数据的方式,与Linux内核现有的网络协议栈相比,实现了头部和载荷分离的流媒体数据包的发送,减少了将流媒体数据进行RTP打包过程中所需的一次数据拷贝操作。

Description

一种实现零拷贝发送流媒体数据的方法及系统
技术领域
本发明属于计算机应用领域的一种网络通信方法及系统,具体涉及的是一种基于Linux的网络协议栈实现零拷贝发送流媒体数据的方法及系统。
背景技术
现有技术中,在基于Linux操作系统的流媒体服务器应用中,需要将大量的流媒体数据从磁盘上传递到网络上。当流媒体数据从磁盘上到网络上传输时,要在不同的系统空间中进行多次传递。
传递的流程主要包括如下3个部分:(1)将流媒体数据从磁盘空间读入用户数据缓存中;(2)将用户数据缓存中存放的流媒体数据打包成RTP(Real-time Transport Protocol,实时传输协议)数据包存入用户发送缓存中;(3)将用户发送缓存中存放的RTP数据包通过UDP(User DatagramProtocol,用户数据报协议)网络套接字发送出去。
在Linux操作系统中,用户进程通过调用直接输入输出接口系统调用,可以用来读取磁盘数据,该系统调用将磁盘数据通过DMA(Direct MemoryAccess,直接内存访问)机制直接写入到用户缓存中;通过调用UDP网络套接字相关系统调用接口,可以用来发送RTP数据包,该系统调用将RTP数据包从用户空间复制到内核空间,进行相应的封装,通过DMA机制映射到网卡的发送缓冲区,网卡将该RTP数据包发送出去。
在现有技术的这种方式下,用户进程从磁盘读入流媒体数据可以实现零拷贝,但将流媒体数据打包成RTP数据包需要进行数据的拷贝,发送RTP数据包时也需要将其从用户空间拷贝到内核空间。
此外,用户进程每发送一个数据包,就需要使用一次系统调用,每次系统调用需要先从用户态切换到内核态,系统调用返回后,再从内核态切换到用户态。在流媒体服务器负荷较重的情况下,会触发大量的数据拷贝和上下文切换操作,极大地消耗系统的CPU资源,降低系统的处理能力。
由此可见,流媒体数据包发送过程中的开销主要产生在用户进程、操作系统、网卡驱动等不同层次的数据组织、数据拷贝和数据传输上。如何有效地减少数据拷贝和系统调用的次数,降低CPU的消耗,提高系统的处理能力,对于提升流媒体服务器的性能,具有非常重要的影响。
现有技术还有待于改进和发展。
发明内容
本发明的目的在于提出一种基于Linux的网络协议栈实现零拷贝发送流媒体数据的方法及系统,在不影响Linux系统原有网络协议栈的情况下,尽量减少数据拷贝和系统调用引起的CPU消耗,提高系统的处理能力。
为实现上述目的,本发明的技术方案包括:
一种实现零拷贝发送流媒体数据的方法,基于Linux的网络协议栈,其包括以下步骤:
A、在流媒体服务器接收到用户设备的数据请求时,进行发送数据的系统调用,将流媒体数据从磁盘空间读入用户数据缓存中;
B、将用户数据缓存中存放的流媒体数据打包成实时传输协议数据包,对该实时传输协议数据包采用头部和载荷分离的流媒体数据包的发送。
所述的方法,其中,所述步骤B还包括:
B1、在内核空间为每一个待发送的实时传输协议数据包分配内核缓冲结构,该结构的数据由两部分组成:一部分是临时分配的内核缓冲区,包含所述实时传输协议数据包的头部;另一部分是临时映射的用户缓冲区,包含所述实时传输协议数据包的载荷;
B2、利用网卡的分散/汇聚功能和直接内存访问功能,分别将这两部分内核缓冲结构映射到网卡的发送缓冲区,调用网卡驱动模块的发送函数完成流媒体数据的零拷贝发送。
所述的方法,其中,当流媒体服务器需要处理多个用户请求时,通过一次系统调用给每个用户发送一个流媒体数据包。
所述的方法,其中,所述网络协议栈提供包括以下套接字编程接口:用于创建套接字的socket,用于关闭套接字的close,用于实现零拷贝发送流媒体数据的sendmsg系统调用。
一种实现零拷贝发送流媒体数据的系统,基于Linux的网络协议栈,设置包括一流媒体服务器以及通过网卡与该流媒体服务器相连接的用户设备,其中,所述流媒体服务器在硬件设备与用户进程之间设置为内核空间,在该内核空间内的网卡驱动程序之上设置有网络协议栈;所述网络协议栈给用户进程提供套接字编程接口,所述套接字编程接口包括:用于创建套接字的socket,用于关闭套接字的close,用于实现零拷贝发送流媒体数据的sendmsg;所述网络协议栈用于实现对该实时传输协议数据包采用头部和载荷分离的流媒体数据包的发送。
所述的系统,其中,所述流媒体服务器采用批量发送技术,用于一次sendmsg系统调用发送多个数据包。
本发明所提供的一种实现零拷贝发送流媒体数据的方法及系统,由于充分利用了网卡的DMA功能和SG(Scatter/Gather,分散/汇聚)功能,实现零拷贝发送流媒体数据的方式,与Linux内核现有的网络协议栈相比,实现了头部和载荷分离的流媒体数据包的发送,减少了将流媒体数据进行RTP打包过程中所需的一次数据拷贝操作。
附图说明
图1是通过本发明实现的网络协议栈进行零拷贝发送流媒体数据的示意图;
图2所示是本发明系统的结构示意图。
具体实施方式
以下结合附图,将对本发明各较佳实施例进行更为详细的说明。
本发明基于Linux的网络协议栈实现零拷贝发送流媒体数据的方法中,利用了原有的Linux网络协议栈,该网络协议栈利用内核模块机制实现,所述内核模块的加载和卸载都不会影响Linux内核原有的网络协议栈。本发明所述实现零拷贝发送流媒体数据的系统中,其包括流媒体服务器和与该流媒体服务器相连接的一用户设备,如图2所示,所述流媒体服务器设置有网卡与所述用户设备通讯连接。所述网卡支持DMA功能和SG(Scatter/Gather,分散/汇聚)功能。
本发明所述方法及系统中,所述流媒体服务器的硬件设备包括网卡和硬盘,如图1所示,在硬件设备与用户进程之间是Linux内核空间,在该内核空间内的网卡驱动程序之上设置有网络协议栈,所述网络协议栈给用户进程提供套接字编程接口,所述套接字编程接口主要包括socket、close、sendmsg等系统调用,其中socket用于创建套接字,close用于关闭套接字,sendmsg用于实现零拷贝发送流媒体数据。
本发明方法及系统的硬件环境要求网卡具有DMA功能和SG功能,软件环境为网络功能正常的Linux内核。为了实现零拷贝发送流媒体数据的功能,本发明方法及系统在原有Linux内核的基础上创建了基于AF_DATALINK套接字类型的DATALINK网络协议栈。该协议栈给用户进程提供AF_DATALINK类型的套接字编程接口,包括socket、close、sendmsg等系统调用。其中socket系统调用用于创建套接字,close系统调用用于关闭套接字,sendmsg系统调用用于以零拷贝的方式把流媒体数据以RTP数据包封装方式发送出去。
现有技术的sendmsg系统调用原有标准语义不能够实现本发明的功能,必须对其进行重新定义,下面给出了本发明方法及系统sendmsg系统调用的定义及其解释:
ssize_t sendmsg(int socket,const struct msghdr*msg,int flags);
功能:
通过套接字进行零拷贝发送流媒体数据。
输入输出参数:
socket 使用socket系统调用创建的AF_DATALINK套接字;
msg->msg_name        暂时不用。
msg->msg_namelen     暂时不用。
msg->msg_iov         输入参数。指向struct iovec数组的指针。每个structiovec结构包含待发送数据的缓冲区地址和长度。
msg->msg_iovlen      输入参数。用于存msg_iov所指struct iovec数组的长度。
msg->msg_control     输入输出参数。输入时用于存放每个流媒体数据包的控制信息,包括IP地址、UDP端口、RTP负载类型等;输出时用于返回发送错误数据包的索引和错误码。
msg->msg_controllen  输入参数。用于存放msg_control信息的总长度。
msg->msg_flags       暂时不用。
flags                暂时不用。
返回值:
如果数据包都没有发送成功,则返回-1,并设置错误码errno。
如果数据包部分或者全部发送成功,则返回成功发送的数据包的数目,没有发送成功的数据包的索引和相应的错误码通过输出参数返回。
构成RTP数据包的信息存放在参数msg中,msg_iov字段存放待发送RTP数据包的载荷信息,包含用户数据缓冲区的地址和长度信息,作为RTP数据包的载荷;msg_control字段存放待发送RTP数据包的头部信息,包含IP地址、端口号、RTP负载类型等,用于生成RTP数据包的头部。
如图1所示,本发明方法在sendmsg系统调用时,在内核空间为每一个待发送的RTP数据包分配内核缓冲结构sk_buff,该结构的数据由两部分组成:一部分是临时分配的内核缓冲区,包含流媒体RTP数据包的头部,是根据msg_control中包含的头部信息生成;另一部分是临时映射的用户缓冲区,包含RTP数据包的载荷,是根据msg_iov中包含的载荷信息得到。利用网卡的SG功能和DMA功能,分别将这两块缓冲区映射到网卡的发送缓冲区,调用网卡驱动模块的发送函数完成流媒体数据的零拷贝发送。上述映射过程为现有技术所熟知,在此不再赘述。
本发明方法及系统的流媒体服务器在处理单个用户请求时,通过使用AF_DATALINK套接字和一次sendmsg系统调用,就可以实现零拷贝发送流媒体数据。
当流媒体服务器需要处理多个用户请求时,除了可以类似单个用户请求时使用零拷贝发送流媒体数据,还可以通过减少系统调用的次数进一步优化系统性能:这主要归功于对sendmsg系统调用的参数msg的语义重定义,其成员msg->msg_iov指向一批数据包缓冲区,成员msg->msg_iovlen表示数据包缓冲区的个数,这样一次系统调用就可以发送一批流媒体数据包。在实际的应用中,可以在一次sendmsg系统调用中给每个用户发送一个流媒体数据包,以此来减少sendmsg系统调用的次数,从而优化系统性能。
本发明方法及系统充分利用了网卡的DMA功能和SG功能,实现了零拷贝发送流媒体数据,与Linux内核现有的网络协议栈相比,本发明方法及系统利用网卡的SG功能,实现了头部和载荷分离的流媒体数据包的发送,减少了将流媒体数据进行RTP打包过程中所需的一次数据拷贝操作。
同时,利用网卡的DMA功能,实现了网卡驱动模块直接使用用户缓冲区进行数据包的发送,减少将流媒体数据从用户空间拷贝到内核空间所需的一次数据拷贝操作。
本发明方法及系统还采用批量发送技术,实现了一次系统调用发送一批数据包的功能,避免了发送一个数据包就需要一次系统调用的情况,减少了向多用户发送流媒体数据时系统调用的开销。所述批量发送技术的具体实现也是现有技术本领域技术人员所了解的,因此不再赘述。
需要说明的是,上述网络协议栈的实现是通过软件实现的,系统调用的实现也是现有技术软件实现中所熟知的,因此不再赘述其具体实现过程,为本领域技术人员所熟知。
同时,需要指出的是,上述针对本发明各较佳实施例的描述较为详细和具体,并不能因此而认为是对本发明专利保护范围的限制,本发明的专利保护范围应以所附权利要求为准。

Claims (6)

1、一种实现零拷贝发送流媒体数据的方法,基于Linux的网络协议栈,其包括以下步骤:
A、在流媒体服务器接收到用户设备的数据请求时,进行发送数据的系统调用,将流媒体数据从磁盘空间读入用户数据缓存中;
B、将用户数据缓存中存放的流媒体数据打包成实时传输协议数据包,对该实时传输协议数据包采用头部和载荷分离的流媒体数据包的发送。
2、根据权利要求1所述的方法,其特征在于,所述步骤B还包括:
B1、在内核空间为每一个待发送的实时传输协议数据包分配内核缓冲结构,该结构的数据由两部分组成:一部分是临时分配的内核缓冲区,包含所述实时传输协议数据包的头部;另一部分是临时映射的用户缓冲区,包含所述实时传输协议数据包的载荷;
B2、利用网卡的分散/汇聚功能和直接内存访问功能,分别将这两部分内核缓冲结构映射到网卡的发送缓冲区,调用网卡驱动模块的发送函数完成流媒体数据的零拷贝发送。
3、根据权利要求2所述的方法,其特征在于,当流媒体服务器需要处理多个用户请求时,通过一次系统调用给每个用户发送一个流媒体数据包。
4、根据权利要求3所述的方法,其特征在于,所述网络协议栈提供包括以下套接字编程接口:用于创建套接字的socket,用于关闭套接字的close,用于实现零拷贝发送流媒体数据的sendmsg系统调用。
5、一种实现零拷贝发送流媒体数据的系统,基于Linux的网络协议栈,设置包括一流媒体服务器以及通过网卡与该流媒体服务器相连接的用户设备,其特征在于,所述流媒体服务器在硬件设备与用户进程之间设置为内核空间,在该内核空间内的网卡驱动程序之上设置有网络协议栈;所述网络协议栈给用户进程提供套接字编程接口,所述套接字编程接口包括:用于创建套接字的socket,用于关闭套接字的close,用于实现零拷贝发送流媒体数据的sendmsg;所述网络协议栈用于实现对该实时传输协议数据包采用头部和载荷分离的流媒体数据包的发送。
6、根据权利要求5所述的系统,其特征在于,所述流媒体服务器采用批量发送技术,用于一次sendmsg系统调用发送多个数据包。
CN 200810142292 2008-08-04 2008-08-04 一种实现零拷贝发送流媒体数据的方法及系统 Expired - Fee Related CN101340574B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN 200810142292 CN101340574B (zh) 2008-08-04 2008-08-04 一种实现零拷贝发送流媒体数据的方法及系统
US13/057,625 US20110258337A1 (en) 2008-08-04 2009-07-30 Method and system for enabling zero-copy transmission of streaming media data
PL09804442T PL2312807T3 (pl) 2008-08-04 2009-07-30 Sposób i system umożliwiający transmisję danych mediów strumieniowych bez kopiowania
RU2011107517/08A RU2477930C2 (ru) 2008-08-04 2009-07-30 Способ и система для передачи потоковых мультимедийных данных с нулевым копированием
PCT/CN2009/000852 WO2010015142A1 (zh) 2008-08-04 2009-07-30 一种实现零拷贝发送流媒体数据的方法及系统
EP09804442.3A EP2312807B1 (en) 2008-08-04 2009-07-30 Method and system for enabling zero-copy transmission of streaming media data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810142292 CN101340574B (zh) 2008-08-04 2008-08-04 一种实现零拷贝发送流媒体数据的方法及系统

Publications (2)

Publication Number Publication Date
CN101340574A true CN101340574A (zh) 2009-01-07
CN101340574B CN101340574B (zh) 2010-09-08

Family

ID=40214505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810142292 Expired - Fee Related CN101340574B (zh) 2008-08-04 2008-08-04 一种实现零拷贝发送流媒体数据的方法及系统

Country Status (1)

Country Link
CN (1) CN101340574B (zh)

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010015142A1 (zh) * 2008-08-04 2010-02-11 中兴通讯股份有限公司 一种实现零拷贝发送流媒体数据的方法及系统
CN101827029A (zh) * 2010-04-21 2010-09-08 烽火通信科技股份有限公司 一种Linux网络设备动态标记RTP流量的方法
CN101917350A (zh) * 2010-09-13 2010-12-15 南京中兴特种软件有限责任公司 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法
CN102316088A (zh) * 2010-10-20 2012-01-11 中广核(北京)仿真技术有限公司 虚拟dcs服务器与仿真服务器的数据传输方法及系统
CN102541856A (zh) * 2010-12-13 2012-07-04 金蝶软件(中国)有限公司 一种bom的批量发送方法及装置
CN102664939A (zh) * 2012-04-13 2012-09-12 江苏诚迈科技有限公司 一种屏幕镜像移动终端的方法及设备
CN102662891A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 基于亲和性感知的dma缓冲区管理方法及装置
CN102663276A (zh) * 2012-03-01 2012-09-12 上海大亚科技有限公司 Linux中提供用户空间信息摘要、加密和压缩统一接口的系统及方法
CN102695049A (zh) * 2012-05-09 2012-09-26 浙江宇视科技有限公司 码流发送方法和装置
WO2012126261A1 (zh) * 2011-03-23 2012-09-27 华为技术有限公司 一种媒体流化的方法和媒体控制器
CN102823201A (zh) * 2009-12-21 2012-12-12 思科系统国际公司 用于过滤媒体分组的方法和设备
CN103176855A (zh) * 2013-03-15 2013-06-26 中兴通讯股份有限公司 消息交互处理方法及装置
CN103229145A (zh) * 2010-10-28 2013-07-31 阿尔卡特朗讯公司 用于电信网络应用的无锁缓冲器管理方案
CN103678203A (zh) * 2013-12-13 2014-03-26 国家计算机网络与信息安全管理中心 一种实现网卡零拷贝方法及装置
CN104717189A (zh) * 2013-12-16 2015-06-17 中兴通讯股份有限公司 网络数据包的发送方法及装置
CN104811391A (zh) * 2014-01-24 2015-07-29 中兴通讯股份有限公司 数据包的处理方法、装置及服务器
CN106685829A (zh) * 2016-12-27 2017-05-17 京信通信技术(广州)有限公司 一种实时传输协议rtp用户面数据转发的方法和装置
CN106850565A (zh) * 2016-12-29 2017-06-13 河北远东通信系统工程有限公司 一种高速的网络数据传输方法
CN107040581A (zh) * 2017-01-25 2017-08-11 腾讯科技(深圳)有限公司 一种网络包发送方法、装置、服务器及系统
CN107222793A (zh) * 2017-05-05 2017-09-29 浙江大华技术股份有限公司 一种数据传输的方法及装置
CN107302499A (zh) * 2017-06-26 2017-10-27 北京赛特斯信息科技股份有限公司 无需拷贝报文缓存的nfv协议报文收发方法
CN109587082A (zh) * 2019-01-10 2019-04-05 烽火通信科技股份有限公司 一种基于Linux操作系统的报文异步转发系统及方法
CN109800194A (zh) * 2019-01-24 2019-05-24 湖南国科微电子股份有限公司 基于Linux系统的SDIO接口数据传输方法及装置
CN110011933A (zh) * 2018-01-05 2019-07-12 华为技术有限公司 发送数据包的方法、装置及计算机可读存储介质
CN110445580A (zh) * 2019-08-09 2019-11-12 浙江大华技术股份有限公司 数据发送方法及装置、存储介质、电子装置
CN111447046A (zh) * 2020-03-26 2020-07-24 广州市百果园信息技术有限公司 业务数据传输方法、装置、设备和存储介质
CN111698274A (zh) * 2019-03-15 2020-09-22 华为技术有限公司 数据处理方法及装置
CN114710570A (zh) * 2022-03-16 2022-07-05 深圳市风云实业有限公司 一种基于内核态协议栈的udp数据零拷贝传输方法
CN115103036A (zh) * 2022-05-20 2022-09-23 中国科学院计算技术研究所 一种高效的tcp/ip数据报处理方法及系统

Cited By (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010015142A1 (zh) * 2008-08-04 2010-02-11 中兴通讯股份有限公司 一种实现零拷贝发送流媒体数据的方法及系统
US9807134B2 (en) 2009-12-21 2017-10-31 Cisco Technology, Inc. Method and device for filtering media packets
CN102823201B (zh) * 2009-12-21 2016-05-25 思科系统国际公司 用于过滤媒体分组的方法和设备
CN102823201A (zh) * 2009-12-21 2012-12-12 思科系统国际公司 用于过滤媒体分组的方法和设备
CN101827029B (zh) * 2010-04-21 2013-01-02 烽火通信科技股份有限公司 一种Linux网络设备动态标记RTP流量的方法
CN101827029A (zh) * 2010-04-21 2010-09-08 烽火通信科技股份有限公司 一种Linux网络设备动态标记RTP流量的方法
CN101917350A (zh) * 2010-09-13 2010-12-15 南京中兴特种软件有限责任公司 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法
CN101917350B (zh) * 2010-09-13 2012-08-15 南京中兴特种软件有限责任公司 一种Linux下基于网卡驱动的零拷贝以太网报文捕获及发送的实现方法
CN102316088A (zh) * 2010-10-20 2012-01-11 中广核(北京)仿真技术有限公司 虚拟dcs服务器与仿真服务器的数据传输方法及系统
CN102316088B (zh) * 2010-10-20 2014-04-16 中广核(北京)仿真技术有限公司 虚拟dcs服务器与仿真服务器的数据传输方法及系统
CN103229145A (zh) * 2010-10-28 2013-07-31 阿尔卡特朗讯公司 用于电信网络应用的无锁缓冲器管理方案
CN103229145B (zh) * 2010-10-28 2016-10-12 阿尔卡特朗讯公司 用于电信网络应用的无锁缓冲器管理方案
CN102541856A (zh) * 2010-12-13 2012-07-04 金蝶软件(中国)有限公司 一种bom的批量发送方法及装置
CN102541856B (zh) * 2010-12-13 2015-03-11 金蝶软件(中国)有限公司 一种bom的批量发送方法及装置
WO2012126261A1 (zh) * 2011-03-23 2012-09-27 华为技术有限公司 一种媒体流化的方法和媒体控制器
US9491212B2 (en) 2011-03-23 2016-11-08 Huawei Technologies Co., Ltd. Method for streaming media and media controller
CN102663276A (zh) * 2012-03-01 2012-09-12 上海大亚科技有限公司 Linux中提供用户空间信息摘要、加密和压缩统一接口的系统及方法
CN102663276B (zh) * 2012-03-01 2014-10-15 上海大亚科技有限公司 Linux中提供用户空间信息摘要、加密和压缩统一接口的系统及方法
CN102662891A (zh) * 2012-03-22 2012-09-12 北京北大众志微系统科技有限责任公司 基于亲和性感知的dma缓冲区管理方法及装置
CN102662891B (zh) * 2012-03-22 2014-11-26 北京北大众志微系统科技有限责任公司 基于亲和性感知的dma缓冲区管理方法及装置
CN102664939A (zh) * 2012-04-13 2012-09-12 江苏诚迈科技有限公司 一种屏幕镜像移动终端的方法及设备
CN102695049B (zh) * 2012-05-09 2015-06-10 浙江宇视科技有限公司 码流发送方法和装置
CN102695049A (zh) * 2012-05-09 2012-09-26 浙江宇视科技有限公司 码流发送方法和装置
CN103176855A (zh) * 2013-03-15 2013-06-26 中兴通讯股份有限公司 消息交互处理方法及装置
CN103678203A (zh) * 2013-12-13 2014-03-26 国家计算机网络与信息安全管理中心 一种实现网卡零拷贝方法及装置
CN104717189A (zh) * 2013-12-16 2015-06-17 中兴通讯股份有限公司 网络数据包的发送方法及装置
CN104811391A (zh) * 2014-01-24 2015-07-29 中兴通讯股份有限公司 数据包的处理方法、装置及服务器
CN104811391B (zh) * 2014-01-24 2020-04-21 中兴通讯股份有限公司 数据包的处理方法、装置及服务器
CN106685829A (zh) * 2016-12-27 2017-05-17 京信通信技术(广州)有限公司 一种实时传输协议rtp用户面数据转发的方法和装置
CN106685829B (zh) * 2016-12-27 2020-06-19 京信通信系统(中国)有限公司 一种实时传输协议rtp用户面数据转发的方法和装置
CN106850565B (zh) * 2016-12-29 2019-06-18 河北远东通信系统工程有限公司 一种高速的网络数据传输方法
CN106850565A (zh) * 2016-12-29 2017-06-13 河北远东通信系统工程有限公司 一种高速的网络数据传输方法
CN107040581A (zh) * 2017-01-25 2017-08-11 腾讯科技(深圳)有限公司 一种网络包发送方法、装置、服务器及系统
CN107040581B (zh) * 2017-01-25 2021-03-02 腾讯科技(深圳)有限公司 一种网络包发送方法、装置、服务器及系统
CN107222793B (zh) * 2017-05-05 2019-11-19 浙江大华技术股份有限公司 一种数据传输的方法及装置
CN107222793A (zh) * 2017-05-05 2017-09-29 浙江大华技术股份有限公司 一种数据传输的方法及装置
CN107302499B (zh) * 2017-06-26 2020-12-18 北京赛特斯信息科技股份有限公司 无需拷贝报文缓存的nfv协议报文收发方法
CN107302499A (zh) * 2017-06-26 2017-10-27 北京赛特斯信息科技股份有限公司 无需拷贝报文缓存的nfv协议报文收发方法
CN110011933A (zh) * 2018-01-05 2019-07-12 华为技术有限公司 发送数据包的方法、装置及计算机可读存储介质
CN109587082A (zh) * 2019-01-10 2019-04-05 烽火通信科技股份有限公司 一种基于Linux操作系统的报文异步转发系统及方法
CN109587082B (zh) * 2019-01-10 2020-12-29 烽火通信科技股份有限公司 一种基于Linux操作系统的报文异步转发系统及方法
CN109800194A (zh) * 2019-01-24 2019-05-24 湖南国科微电子股份有限公司 基于Linux系统的SDIO接口数据传输方法及装置
US11397627B2 (en) 2019-03-15 2022-07-26 Huawei Technologies Co., Ltd. System call batching for network I/O
US11809925B2 (en) 2019-03-15 2023-11-07 Huawei Technologies Co., Ltd. Data processing method and apparatus
CN111698274A (zh) * 2019-03-15 2020-09-22 华为技术有限公司 数据处理方法及装置
CN111698274B (zh) * 2019-03-15 2021-11-19 华为技术有限公司 数据处理方法及装置
CN110445580A (zh) * 2019-08-09 2019-11-12 浙江大华技术股份有限公司 数据发送方法及装置、存储介质、电子装置
CN110445580B (zh) * 2019-08-09 2022-04-19 浙江大华技术股份有限公司 数据发送方法及装置、存储介质、电子装置
CN111447046A (zh) * 2020-03-26 2020-07-24 广州市百果园信息技术有限公司 业务数据传输方法、装置、设备和存储介质
CN114710570A (zh) * 2022-03-16 2022-07-05 深圳市风云实业有限公司 一种基于内核态协议栈的udp数据零拷贝传输方法
CN114710570B (zh) * 2022-03-16 2023-08-25 深圳市风云实业有限公司 一种基于内核态协议栈的udp数据零拷贝传输方法
CN115103036A (zh) * 2022-05-20 2022-09-23 中国科学院计算技术研究所 一种高效的tcp/ip数据报处理方法及系统

Also Published As

Publication number Publication date
CN101340574B (zh) 2010-09-08

Similar Documents

Publication Publication Date Title
CN101340574B (zh) 一种实现零拷贝发送流媒体数据的方法及系统
EP2312807B1 (en) Method and system for enabling zero-copy transmission of streaming media data
US6757746B2 (en) Obtaining a destination address so that a network interface device can write network data without headers directly into host memory
CN101304373B (zh) 一种实现局域网内高效传输大块数据的方法及系统
US7136355B2 (en) Transmission components for processing VLAN tag and priority packets supported by using single chip's buffer structure
US20020165897A1 (en) Doorbell handling with priority processing function
US20080022016A1 (en) Network memory pools for packet destinations and virtual machines
WO2020040964A1 (en) Methods and apparatus for control of a jointly shared memory-mapped region
CN101834796B (zh) 一种双控制器通信系统和方法
CN100517284C (zh) 一种外部控制dma控制器的方法及其装置
US20080086575A1 (en) Network interface techniques
US20050135395A1 (en) Method and system for pre-pending layer 2 (L2) frame descriptors
CN107257329A (zh) 一种数据分段卸载发送方法
CN104717189A (zh) 网络数据包的发送方法及装置
CN105141603A (zh) 通信数据传输方法及系统
US20200348989A1 (en) Methods and apparatus for multiplexing data flows via a single data structure
CN113127139B (zh) 一种基于数据面开发套件dpdk的内存分配方法和装置
KR100449806B1 (ko) 네트워크를 통해 스트리밍 데이터를 고속으로 송수신하기위한 네트워크-스토리지 연결 장치
CN116471242A (zh) 基于rdma的发送端、接收端、数据传输系统及方法
US7444432B2 (en) System and method for an efficient transport layer transmit interface
US7672299B2 (en) Network interface card virtualization based on hardware resources and software rings
CN110765044B (zh) 数据包传输装置及系统
US7532644B1 (en) Method and system for associating multiple payload buffers with multidata message
CN100428670C (zh) 流媒体服务器用户层通信方法
KR100645454B1 (ko) 서버의 디스크와 네트워크 간에 데이터 전송 효율을높이기 위한 서버 성능 가속기 장치

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20160804

CF01 Termination of patent right due to non-payment of annual fee