[发明专利]一种提高UDP发送效率的方法及装置无效
| 申请号: | 200910211925.X | 申请日: | 2009-11-16 |
| 公开(公告)号: | CN101702713A | 公开(公告)日: | 2010-05-05 |
| 发明(设计)人: | 付贤会;霍东风;陈初铨;李霞 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L12/56 |
| 代理公司: | 北京市浩天知识产权代理事务所 11276 | 代理人: | 许志勇;刘海英 |
| 地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 提高 udp 发送 效率 方法 装置 | ||
技术领域
本发明属于多媒体通讯技术领域,尤其涉及一种让多媒体终端设备实现UDP(User Datagram Protocol,用户数据报协议)高速发送的方法及装置。
背景技术
随着网络宽带的高速发展,随之使用多媒体数据宽带业务的应用场景也越来越多,如全球眼、IPTV(Internet Protocol Television,网络电视)等。对于嵌入式终端多媒体产业环境,使用UDP来承载多媒体数据的发送成为设计的首选方案。
但目前的UDP发送方法,存在以下的问题:
1.从应用层到内核层至少需要一次数据的内存拷贝,内存的频率远远跟不上CPU自身执行的频率,这时CPU就只能等待空转;
2.数据发送过程中系统资源不断的申请、释放、在申请的重复动作时存在系统消耗,这一动作还会导致系统内存碎片的产生加剧。
因此,如何消除现有技术的缺陷,提供一种提高UDP发送效率的方法,成为技术人员需要考虑的问题。
发明内容
本发明所要解决的技术问题是提供一种提高UDP发送效率的方法及装置,可以实现UDP数据的高速发送而消耗很少的CPU时间。
为了解决上述技术问题,本发明提供了一种提高UDP发送效率的方法,包括:
新的驱动向应用提供一块自身维护的,应用层可以直接操作的内存区域;
应用写入数据到该内存区域,并向本子系统的驱动部分告知数据包长度;
内核守护进程在定时到达后获得数据包长度,当判断到数据包长度不为零,则发送该数据包。
为了解决上述技术问题,本发明还提供了一种提高UDP发送效率的装置,包括:
新驱动单元,用于向应用提供一块自身维护的,应用层可以直接操作的内存区域;
写入单元,用于应用写入数据到该内存区域,并向本子系统的驱动部分告知数据包长度;
处理单元,用于内核守护进程在定时到达后获得数据包长度,当判断到数据包长度不为零,则发送该数据包。
采用本发明的方法及装置,可以实现应用到内存数据的零拷贝。不需要频繁的申请、释放内存资源,从而消除了现有技术的方案带来的系统消耗,减小了系统内存碎片的产生,减少了CPU等待访问内存的时间,提高了CPU的利用效率。可见,本发明可以进一步提高CPU的业务处理能力,在同样性能条件下完成更多业务需求,从而降低产品成本,提高产品性能和竞争力。以全球眼为例,采用本发明后,媒体数据流量从以前的4路512kb提高到16路512kb。
附图说明
图1为全球眼媒体数据流应用场景;
图2本发明实施例的UDP数据发送方法的流程图。
图3为本发明应用实例的UDP数据发送方法的流程图。
图4为驱动管理内存实施例示意图。
具体实施方式
本发明的关键点是通过内存映射的方式,在linux标准内存map机制下,增加本发明使用的是有内存格式管理,子系统自身管理内存,并设置定时器,在定时到达后,获取数据包的长度,当数据包长度不为零时发送该数据包。本发明可以减少数据的再次拷贝,从而减少系统资源的申请释放动作。
下面结合附图及优选实施方式对本发明技术方案进行详细说明。
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
参照图1所示,本发明实施例中以全球眼终端系统为示例。
图1说明了全球眼系统示意图。全球眼采用linux开发环境,从摄像机的摄像头上采集视屏数据,通过编码算法打包为rtp数据包后,作为UDP负载发送给后台的流媒体服务器。本发明提供了一种高效,低消耗的UDP实现方式,使得在同样的硬件条件下,处理能力从4路512kb的码流提高到16路512kb的大幅提高。
参照图2所示,具体的实现方法如下:
步骤101.新的驱动(是指本发明提供的新的驱动)向应用提供一块自身维护的,应用层可以直接操作的一组内存区域;
内存管理如图4所示。本发明的内存管理方式与现有技术的不同,在于:在标准的内存map的基础上增加了本发明所描述的私有内存格式的管理。
a.当应用新建一条数据流时,驱动从维护的内存区301中格式化为303的格式,即按数据块划分内存区间,返回应用首地址。具体为将应用首地址返回给需要发送网络数据的应用层代码。应用首地址具体为用来存储网络裸数据包的系统内存首地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910211925.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:连接电缆桥架的弯头结构
- 下一篇:一种汽水两用锅炉





