[发明专利]一种网络数据包处理方法和装置有效

专利信息
申请号: 201810872618.5 申请日: 2018-08-02
公开(公告)号: CN109218227B 公开(公告)日: 2019-12-24
发明(设计)人: 姜海辉 申请(专利权)人: 武汉绿色网络信息服务有限责任公司
主分类号: H04L12/863 分类号: H04L12/863;G06F9/48;G06F9/52
代理公司: 44372 深圳市六加知识产权代理有限公司 代理人: 向彬
地址: 430000 湖北省武汉市东湖新技术开*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 包线 数据包 网卡 预设 网络数据包处理 方法和装置 遍历操作 策略函数 判断结果 休眠调度 队列 计算机技术领域 数据处理策略 遍历机制 网卡驱动 访问 触发 挂起 阻塞 调用 终端 重复 创建
【说明书】:

发明涉及计算机技术领域,提供了一种网络数据包处理方法和装置。其中创建收包线程,通过所述收包线程中的遍历操作,判断网卡驱动中对应的各网卡队列下是否有收到数据包;其中,收包线程内部包含休眠调度策略函数,所述休眠调度策略函数设置有预设访问次数,以便在包线程中确认没有接收到数据包时,仍然执行所述预设访问次数的各网卡队列下是否有收到数据包的遍历操作后,才执行判断结果;其中,若判断结果为确认网卡中没有收到数据包,则调用接收数据处理策略函数会将收包线程阻塞。本发明通过在收包线程中增加了预设访问次数的重复遍历机制,克服了现有技术中收包线程频繁被挂起,并且频繁触发终端的问题。

【技术领域】

本发明涉及计算机技术领域,特别是涉及一种网络数据包处理方法和装置。

【背景技术】

互联网上面存在大量的设备,其中,以网络服务器为例,其最底层网卡驱动会把网络上面收到的数据包交给系统上层的程序(例如:http服务、dpi服务)。

其中,网卡收到数据包之后把数据包交给上层程序进一步处理,这是目前计算机操作的基本步骤。网卡芯片在收到一堆数据包之后会发出中断、通知CPU开始接受、整理数据包、再把数据包送到协议栈中去。

传统的处理方法如图1所示,硬件中断(Interrupt Request,简写为:IRQ)执行中断请求的动作,唤醒网卡驱动函数Napi_schedule,Napi_schedule进一步的将网卡中用于存储各数据包的网卡队列清单Poll_list导入,然后激活软中断,从而将网卡驱动获取的数据包经由软中断转交给协议栈TCP/IP stack进行数据包解析(即利用图1中的Net_rx_action函数完成),然后驱动poll函数完成数据的进行解析出来后数据的I/O操作。

现有技术,在某些情况下有如下弊端:

如果网络上面流量很大,同时又是小包(例如:64字节),此时网卡会频繁的产生中断通知CPU进行处理,这样大量的性能消耗都浪费在中断上面了,往往会出现丢包的情况。

鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。

【发明内容】

本发明要解决的技术问题是解决传统网卡收包在处理大流量尤其是网络小包的时候,出现吞吐低,延迟大,丢包厉害的情况

本发明采用如下技术方案:

第一方面,本发明提供了一种网络数据包处理方法,网卡驱动状态默认的初始化,网卡开始工作,其特征在于,方法包括:

创建收包线程rx_thread,通过所述收包线程rx_thread中的遍历操作,判断网卡驱动中对应的各网卡队列下是否有收到数据包;其中,收包线程内部包含休眠调度策略函数rx_schedu_policy,所述休眠调度策略函数rx_schedu_policy设置有预设访问次数,以便在包线程rx_thread中确认没有接收到数据包时,仍然执行所述预设访问次数的各网卡队列下是否有收到数据包的遍历操作后,才执行判断结果;

其中,若判断结果为确认网卡中有收到数据包,则调用接收数据处理策略函数,将相应收到的数据包交由预设的协议栈或者应用程序处理;若判断结果为确认网卡中没有收到数据包,则调用接收数据处理策略函数会将收包线程阻塞,以便放弃对CPU的使用。

优选的,所述收包线程rx_thread的主体函数内容为死循环函数,其中,所述死循环函数的跳出机制设定为根据所述休眠调度策略函数rx_schedu_policy的返回参数值作为条件设置的,以if判断该条件后执行阻塞操作;具体的:一旦休眠调度策略函数rx_schedu_policy返回的值满足第一预设条件,便执行if判断内的收包线程的阻塞操作;

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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