[发明专利]一种零拷贝缓冲区队列网络数据接收的管理方法无效

专利信息
申请号: 200710177370.2 申请日: 2007-11-15
公开(公告)号: CN101150486A 公开(公告)日: 2008-03-26
发明(设计)人: 历军;聂华;曾宇;刘朝辉 申请(专利权)人: 曙光信息产业(北京)有限公司
主分类号: H04L12/54 分类号: H04L12/54;G06F13/28
代理公司: 北京安博达知识产权代理有限公司 代理人: 徐国文
地址: 100084*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 拷贝 缓冲区 队列 网络 数据 接收 管理 方法
【权利要求书】:

1.一种零拷贝缓冲区队列网络数据接收的管理方法,其特征在于,所述方法包括如下操作步骤:

A、在用户空间分配连续的内存作为报文的DMA缓冲区;

B、在内核驱动中建立缓冲区的控制句柄,把缓冲区划分为4个环形队列来管理,发送和接收报文有两个队列,避免使用互斥锁,在控制句柄中设置DMA物理地址表,计算并保存每个DMA缓冲区的物理地址;

C、应用程序通过接口库映射控制句柄,实现对缓冲区的操作;

D、接收报文时,驱动从接收报文的空缓冲区队列取出一个空缓冲区索引,查找物理地址表,把空缓冲区的物理地址写入网卡,当网卡把缓冲区填充了报文后,驱动把填满报文的缓冲区索引放入满缓冲区队列,应用从满缓冲区队列取出一个填充了报文的缓冲区,分析报文内容后把缓冲区放入空缓冲区队列。

2.如权利要求1所述的零拷贝缓冲区队列网络数据接收的管理方法,其特征在于,所述操作步骤A具体操作过程如下:

A1、应用程序用一系列参数调用接口库打开设备函数,参数中有应用所需要的报文缓冲区的总容量,以及其中发送缓冲区占的百分比;

A2、接口库函数根据缓冲区参数申请一片连续的内存,但不对这片内存划分缓冲区队列,不构造管理结构,而是把缓冲区地址和参数传给内核驱动。

3.如权利要求1所述的零拷贝缓冲区队列网络数据接收的管理方法,其特征在于,所述操作步骤B具体操作过程如下:

B1、内核驱动根据缓冲区内存的大小计算管理句柄的大小,申请一片连续的空间作为句柄结构;

B2、驱动根据缓冲区参数,初始化句柄中的4个队列,把整个缓冲区内存划分为多个2K字节大小的缓冲区,把每个缓冲区的索引保存在句柄的队列中,从而可以通过句柄控制用户空间的整个缓冲区内存,因为句柄中的队列会被应用和驱动同时访问,接收和发送分别实现两个队列,可以避免使用互斥锁,减少系统开销;

B3、驱动根据缓冲区大小构造缓冲区的物理地址表,把每个缓冲区的物理地址计算出来保存到表中,以便设置网卡DMA时使用;

B4、驱动把句柄物理地址返回给接口库函数。

4.如权利要求1所述的零拷贝缓冲区队列网络数据接收的管理方法,其特征在于,所述操作步骤C具体操作过程如下:

C1、接口库函数根据驱动返回的句柄的物理地址,通过内存映射把句柄映射到用户空间;

C2、接口库函数通过验证句柄开始和结束部分的魔数magic number,确认句柄映射是否成功;

C3、接口库获得句柄后,可以通过句柄操作缓冲区队列。

5.如权利要求1所述的零拷贝缓冲区队列网络数据接收的管理方法,其特征在于,所述操作步骤D具体操作过程如下:

D1、驱动从句柄中的空缓冲区队列取出一个空缓冲区的索引;

D2、驱动根据索引查找缓冲区物理地址表,得到缓冲区的物理地址;

D3、驱动把缓冲区物理地址写入硬件网卡,由网卡填充报文并发中断信号给驱动;

D4、驱动响应网卡中断,把填充了报文的缓冲区索引放入句柄中的满缓冲区队列,供应用取出使用;

D5、应用通过接口库中映射的句柄结构访问缓冲区队列,从漫缓冲区中取出一个填充了报文的缓冲区的索引;

D6、应用根据索引获得缓冲区,分析缓冲区里面的报文;

D7、应用把分析完的缓冲区放入空缓冲区队列,以便驱动取出使用。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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