[发明专利]一种处理数据包的方法及装置在审
申请号: | 201210190837.8 | 申请日: | 2012-06-11 |
公开(公告)号: | CN103490939A | 公开(公告)日: | 2014-01-01 |
发明(设计)人: | 范庆安 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/861 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 李健;龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 数据包 方法 装置 | ||
技术领域
本发明涉及在网络数据传输领域,特别是涉及一种处理数据包括的方法及装置。
背景技术
随着网络协议的发展,现在出现了多种网络数据协议,比如:BT(Bit Torrent,比特洪流),P2P(点对点),SKYPE,FTP(File Transfer Protocol,文件传送协议),EMULE(电驴)和HTTP(超文本传送协议)等。而其中一些协议如BT、P2P这一类协议有时候会占用其他用户正常上网的带宽,而导致其他用户上网的速度明显下降。目前网络收发数据包主要是通过操作系统的网络协议栈去收发数据包,这样做存在的主要问题就是内存拷贝以及系统调用,而这两项会比较耗时,这样就不能达到快速收发数据包的目的,从而对网络的整体性能就会产生较大的影响。
发明内容
本发明要解决的技术问题是提供一种处理数据包括的方法及装置,以在网络传输中对用户下载的流量和使用的协议进行监控中使用,从而防止一些用户过多的占用网络带宽资源。
为了解决上述技术问题,本发明提供了一种处理数据包的方法,包括:
创建一缓冲区,将所述缓冲区的地址映射为可被用户空间的应用程序直接访问;
接收到数据包后,将所述数据包存放于所述缓冲区中,向对应的用户空间的应用程序发送检测所述数据包的通知消息;
接收到所述应用程序的检测完成消息后,发送所述数据包。
进一步地,上述方法还具有下面特点:所述申请缓冲区后,还包括:
将所述缓冲区划分为多个缓冲块;
创建一缓冲块管理队列对所述缓冲块进行管理,初始化时所述缓冲块管理队列存储有各个所述缓冲块的索引。
进一步地,上述方法还具有下面特点:所述将所述数据包存放于所述缓冲区中,包括:
从所述缓冲块管理队列中获取空闲缓冲块的索引;
通过所述索引计算出所述空闲缓冲块在内存中的地址;
将所述数据包存放于以所述地址开始的缓存块中。
进一步地,上述方法还具有下面特点:
所述通知消息携带所述空闲缓冲块的索引。
进一步地,上述方法还具有下面特点:所述发送所述数据包之后,还包括,
将所述空闲缓冲块的索引存放在所述缓冲块管理队列中。
为了解决上述问题,本发明还提供了一种处理数据包的装置,包括:
第一模块,用于创建一缓冲区,将所述缓冲区的地址映射为可被用户空间的应用程序直接访问;
第二模块,用于接收到数据包后,将所述数据包存放于所述缓冲区中,向对应的用户空间的应用程序发送检测所述数据包的通知消息;
第三模块,用于接收到所述应用程序的检测完成消息后,发送所述数据包。
进一步地,上述装置还具有下面特点:还包括:
第四模块,用于将所述缓冲区划分为多个缓冲块;
第五模块,用于创建一缓冲块管理队列对所述缓冲块进行管理,初始化时所述缓冲块管理队列存储有各个所述缓冲块的索引。
进一步地,上述装置还具有下面特点:所述第二模块包括:
第一单元,用于接收到数据包后,从所述缓冲块管理队列中获取空闲缓冲块的索引;
第二单元,用于通过所述索引计算出所述空闲缓冲块在内存中的地址;
第三单元,用于将所述数据包存放于以所述地址开始的缓存块中。
进一步地,上述装置还具有下面特点:
所述通知消息携带所述空闲缓冲块的索引。
进一步地,上述装置还具有下面特点:所述装置还包括:
第六模块,用于将所述空闲缓冲块的索引存放在所述缓冲块管理队列中。
综上,本发明提供一种处理数据包括的方法及装置,可以在网络传输中提供高效的数据包收发功能,从而达到在几乎不影响网络整体性能的情况下对网络数据包进行检测的目的。
附图说明
图1为本发明实施例的处理数据包的方法的流程图。
图2是本发明实施例的缓冲块管理队列的初始化结构图。
图3为本发明实施例的系统架构的示意图。
图4为本发明实施例的处理数据包的装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实施例的处理数据包的方法的流程图,如图1所示,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210190837.8/2.html,转载请声明来源钻瓜专利网。