[发明专利]一种基于动态预测的网络驱动层数据包接收方法和系统有效
| 申请号: | 201310628565.X | 申请日: | 2013-11-29 |
| 公开(公告)号: | CN103634230A | 公开(公告)日: | 2014-03-12 |
| 发明(设计)人: | 陈进才;刘玉虎;周功业;周可;张英男;余乐;陈涛 | 申请(专利权)人: | 华中科技大学 |
| 主分类号: | H04L12/861 | 分类号: | H04L12/861;G06F9/50 |
| 代理公司: | 华中科技大学专利中心 42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | 发明公开了一种基于动态预测的网络驱动层数据包接收方法,包括:建立空白链表和循环队列,并创建内核线程和内核定时器,接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断,判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则判断接收指令的接收描述符中数据到达位是否为0,如果不是则判断空白链表中数据包缓存的数量是否低于阈值,如果不是则从空白链表中获取一个新数据包缓存,判断是否成功获取,如果不是则统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据。本发明能够计算预分配数据包缓存的数量,以适应网络流量的变化,防止在数据流量较低时耗费过多内存。 | ||
| 搜索关键词: | 一种 基于 动态 预测 网络 驱动 数据包 接收 方法 系统 | ||
【主权项】:
一种基于动态预测的网络驱动层数据包接收方法,其特征在于,包括以下步骤:(1)建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存插入空白链表,内核定时器用于定时唤醒内核线程;(2)接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;(3)判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入步骤(4),如果是错误指令,则转入步骤(10);(4)判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入步骤(12),如果不是则转入步骤(5);(5)判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入步骤(6),如果不是则转入步骤(7);(6)设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:(7)从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入步骤(8),如果不是则转入步骤(9);(8)解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;(9)统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;(10)判断错误指令的类型,如果是致命错误,则转入步骤(11),否则统计错误数据;(11)停止接收上层发送的数据包,设置网络设备错误标志,唤醒内 核线程以进行错误处理;(12)在循环队列中保存本次的状态数据,打开网络设备中断。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310628565.X/,转载请声明来源钻瓜专利网。





