[发明专利]一种提高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的格式,即按数据块划分内存区间,返回应用首地址。具体为将应用首地址返回给需要发送网络数据的应用层代码。应用首地址具体为用来存储网络裸数据包的系统内存首地址。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200910211925.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top