CN103634230B - 一种基于动态预测的网络驱动层数据包接收方法和系统 - Google Patents
一种基于动态预测的网络驱动层数据包接收方法和系统 Download PDFInfo
- Publication number
- CN103634230B CN103634230B CN201310628565.XA CN201310628565A CN103634230B CN 103634230 B CN103634230 B CN 103634230B CN 201310628565 A CN201310628565 A CN 201310628565A CN 103634230 B CN103634230 B CN 103634230B
- Authority
- CN
- China
- Prior art keywords
- data
- pack buffer
- packet
- chained list
- data pack
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于动态预测的网络驱动层数据包接收方法,包括:建立空白链表和循环队列,并创建内核线程和内核定时器,接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断,判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则判断接收指令的接收描述符中数据到达位是否为0,如果不是则判断空白链表中数据包缓存的数量是否低于阈值,如果不是则从空白链表中获取一个新数据包缓存,判断是否成功获取,如果不是则统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据。本发明能够计算预分配数据包缓存的数量,以适应网络流量的变化,防止在数据流量较低时耗费过多内存。
Description
技术领域
本发明属于网络技术领域,更具体地,涉及一种基于动态预测的网络驱动层数据包接收方法和系统。
背景技术
网络驱动在接收数据包的过程中采用两种方式,传统中断I/O方式和NAPI(New API)方式。
传统中断I/O方式在每次网络设备中断过程中仅处理一个数据包,优点是在数据流量不是很大的情况下,响应及时,节省系统资源;然而,如果数据流量较大,高频的中断调用将会过多的占用CPU时间,影响服务器的性能。
NAPI(NEW API)是Linux系统中采用的有别于传统方式的数据包接收方式,NAPI方式结合中断触发和主动轮询方式接收数据,减少了数据包接收中断的频率以及高频中断调度造成的系统开销;在数据流量较高并且数据包较小时具有较高的效率;但其仍然存在一些缺点:由于采用了软件中断的方式,会有一定的延迟,当数据流量较低时,NAPI方式比传统中断I/O方式效率更低,并且当数据包较大时,申请数据包缓存和复制数据将占用大量的处理时间。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于动态预测的网络驱动层数据包接收方法和系统,其目的在于,加速网络设备中断处理过程,使得每次数据包接收中断不需要申请数据包缓存来拷贝数据,并在每次中断过程中尽可能多的接收数据包,降低网络设备的中断频率,通过记录每次中断过程中接收到的数据包数量,来动态预测网络流量的高低,并动态计算预分配数据包缓存的数量,以适应网络流量的变化,防止在数据流量较低时耗费过多内存。
为实现上述目的,按照本发明的一个方面,提供了一种基于动态预测的网络驱动层数据包接收方法,包括以下步骤:
(1)建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存插入空白链表,内核定时器用于定时唤醒内核线程;
(2)接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
(3)判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入步骤(4),如果是错误指令,则转入步骤(10);
(4)判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入步骤(12),如果不是则转入步骤(5);
(5)判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入步骤(6),如果不是则转入步骤(7);
(6)设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
(7)从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入步骤(8),如果不是则转入步骤(9);
(8)解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
(9)统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
(10)判断错误指令的类型,如果是致命错误,则转入步骤(11),否则统计错误数据;
(11)停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
(12)在循环队列中保存本次的状态数据,打开网络设备中断。
优选地,空白链表包括一个数据包缓存的指针和一个计数器,指针指向链表的第一个元素,初始时为空,计数器用于记录链表中元素的数量,初始时为0,循环队列是由n个元素的环形数组组成,用于保存状态数据,每个状态数据包括三个组成部分,分别用于记录一次中断当中接收到的数据包数量的计数器,用于记录开始接收第一个数据包的时间的变量,以及用于记录接收完最后一个数据包的时间的变量,初始时循环队列置为0。
优选地,内核线程和内核定时器在驱动程序加载时被创建,内核线程在完成数据包缓存分配或错误处理后,进入休眠状态,内核定时器时间到期后,唤醒休眠状态的内核线程,以进行数据包缓存分配,并修改定时器时间,以在下一次时间到期后再次唤醒内核线程。
优选地,步骤(6)中分配数据包缓存的步骤包括以下子步骤:
(6-1)根据循环队列保存的状态数据,计算需要分配的数据包缓存数量
(6-2)根据步骤(6-1)计算的需要分配的数据包缓存数量,分配对应数量的数据包缓存,对于分配的每一个数据包缓存,将其插入空白链表;
(6-3)清除数据包缓存分配标志,内核线程进入休眠状态。
优选地,步骤(6-1)中的计算过程包括以下子步骤:
(6-1-1)计算接收单个数据包所需时间,并计算其与网络设备接收描述符数量的乘积TIME;
(6-1-2)获取循环队列中数据包的总数量SUM,以及接收完成最后一个数据包的时间与开始接收第一个数据包的时间的差值TN;
(6-1-3)根据乘积TIME与差值TN计算最多需要分配的数据包缓存数量,计算方式为SUM*(TIME/TN);
(6-1-4)获取总共需要分配的数据包缓存数量,其为最多需要分配的数据包缓存数量和当前空白链表中剩余数据包缓存数量的差值。
优选地,步骤(11)中的错误处理过程包括以下子步骤:
(11-1)根据错误指令的类型,调用错误处理函数进行处理;
(11-2)清除网络设备错误标志,开始接收上层发送的数据包,内核线程进入休眠状态。
按照本发明的另一方面,提供了一种基于动态预测的网络驱动层数据包接收系统,包括:
第一模块,用于建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存插入空白链表,内核定时器用于定时唤醒内核线程;
第二模块,用于接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
第三模块,用于判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入第四模块,如果是错误指令,则转入第十模块;
第四模块,用于判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入第十二模块,如果不是则转入第五模块;
第五模块,用于判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入第六模块,如果不是则转入第七模块;
第六模块,用于设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
第七模块,用于从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入第八模块,如果不是则转入第九模块;
第八模块,用于解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
第九模块,用于统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
第十模块,用于判断错误指令的类型,如果是致命错误,则转入第十一模块,否则统计错误数据;
第十一模块,用于停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
第十二模块,用于在循环队列中保存本次的状态数据,打开网络设备中断。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
1、本发明的方法对于每个接收的数据包而言,不需要拷贝数据和申请数据包缓存操作,具有极高的响应时间;
2、本发明的方法在每次进入中断处理程序之后,关闭了网络设备中断,降低了网络设备对服务器系统的中断频率;
3、本发明的方法通过数据包缓存预分配机制,在接收中断中可以直接使用预分配好的数据包缓存,减少了中断处理函数耗费的CPU时间;
4、本发明的方法使用内核定时器,每隔一定时间唤醒内核预分配线程,完善了数据包缓存预分配方法,减小了在中断处理程序中唤醒内核预分配线程的可能性;
5、本发明的方法通过记录过去中断中接收的数据包数量和处理时间,来预测下一次需要预分配的数据包缓存数量,降低了低速网络流量下内存的浪费;
6、本发明的方法通过加入内核线程,在不改变操作系统网络驱动模型的情况下优化了数据接收的过程。
附图说明
图1是本发明空白链表的结构图。
图2是本发明状态数据组织的结构图。
图3是包含内核线程和定时器的框图。
图4是本发明基于动态预测的网络驱动层数据包接收方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
如图4所示,本发明基于动态预测的网络驱动层数据包接收方法包括以下步骤:
(1)建立空白链表和循环队列,并创建内核线程和内核定时器。其中空白链表用于保存内核线程分配的数据包缓存(在本发明中,该数据包缓存采用sk_buff结构体),循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存插入空白链表,内核定时器用于定时唤醒内核线程;具体而言,如图1所示,空白链表包括一个数据包缓存的指针和一个计数器,指针指向链表的第一个元素,初始时为NULL,计数器记录链表中元素的数量,初始时为0。如图2所示,循环队列是由n个元素的环形数组组成(其中n为正整数),用于保存状态数据,每个状态数据包括三个组成部分,分别用于记录一次中断当中接收到的数据包数量的计数器,用于记录开始接收第一个数据包的时间的变量,以及用于记录接收完最后一个数据包的时间的变量,初始时循环队列使用memset函数置为0。如图3所示,内核线程和内核定时器在驱动程序加载时被创建,内核线程在完成数据包缓存分配或错误处理后,进入休眠状态,内核定时器时间到期后,唤醒休眠状态的内核线程,以进行数据包缓存分配,并修改定时器时间,以在下一次时间到期后再次唤醒内核线程;
(2)接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
(3)判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入步骤(4),如果是错误指令,则转入步骤(10),具体而言,判断类型是通过读取中断指令的描述符实现;
(4)判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入步骤(12),如果不是则转入步骤(5),具体而言,接收描述符采用环形队列组织;
(5)判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入步骤(6),如果不是则转入步骤(7),具体而言,阈值的取值是处于0和网络设备接收描述符的数量之间;
(6)设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存,分配数据包缓存的步骤包括以下子步骤:
(6-1)根据循环队列保存的状态数据,计算需要分配的数据包缓存数量,具体而言,计算过程如下:
(6-1-1)计算接收单个数据包所需时间,并计算其与网络设备接收描述符数量的乘积TIME;
(6-1-2)获取循环队列中数据包的总数量SUM,以及接收完成最后一个数据包的时间与开始接收第一个数据包的时间的差值TN;
(6-1-3)根据乘积TIME与差值TN计算最多需要分配的数据包缓存数量,计算方式为SUM*(TIME/TN);
(6-1-4)获取总共需要分配的数据包缓存数量,其为最多需要分配的数据包缓存数量和当前空白链表中剩余数据包缓存数量的差值。
(6-2)根据步骤(6-1)计算的需要分配的数据包缓存数量,分配对应数量的数据包缓存,对于分配的每一个数据包缓存,将其插入空白链表;
(6-3)清除数据包缓存分配标志,内核线程进入休眠状态;
(7)从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入步骤(8),如果不是则转入步骤(9);
(8)解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
(9)统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
(10)判断错误指令的类型,如果是致命错误,则转入步骤(11),否则统计错误数据,具体而言,判断类型是通过读取中断指令的描述符实现;
(11)停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理,错误处理包括以下子步骤:
(11-1)根据错误指令的类型,调用错误处理函数进行处理,具体而言,错误处理函数需要事先编写,例如发送出错处理函数,网络设备硬件出错处理函数;
(11-2)清除网络设备错误标志,开始接收上层发送的数据包,内核线程进入休眠状态。
(12)在循环队列中保存本次的状态数据,打开网络设备中断。
本发明基于动态预测的网络驱动层数据包接收系统包括:
第一模块,用于建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存插入空白链表,内核定时器用于定时唤醒内核线程;
第二模块,用于接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
第三模块,用于判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入第四模块,如果是错误指令,则转入第十模块;
第四模块,用于判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入第十二模块,如果不是则转入第五模块;
第五模块,用于判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入第六模块,如果不是则转入第七模块;
第六模块,用于设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:
第七模块,用于从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入第八模块,如果不是则转入第九模块;
第八模块,用于解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
第九模块,用于统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
第十模块,用于判断错误指令的类型,如果是致命错误,则转入第十一模块,否则统计错误数据;
第十一模块,用于停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
第十二模块,用于在循环队列中保存本次的状态数据,打开网络设备中断。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (4)
1.一种基于动态预测的网络驱动层数据包接收方法,其特征在于,包括以下步骤:
(1)建立空白链表和循环队列,并创建内核线程和内核定时器,其中空白链表用于保存内核线程分配的数据包缓存,循环队列用于保存每次网络设备中断所产生的状态数据,内核线程用于分配数据包缓存和进行错误处理,并将数据包缓存插入空白链表,内核定时器用于定时唤醒内核线程;
(2)接收网络设备中断,执行中断处理程序,并在进入中断处理程序后立即停止接收网络设备中断;
(3)判断网络设备中断指令的类型是接收指令还是错误指令,如果是接收指令,则转入步骤(4),如果是错误指令,则转入步骤(10);
(4)判断接收指令的接收描述符中数据到达位是否为0,如果是则过程结束,转入步骤(12),如果不是则转入步骤(5);
(5)判断空白链表中数据包缓存的数量是否低于阈值,如果是则转入步骤(6),如果不是则转入步骤(7);
(6)设置数据包缓存分配标志,并唤醒内核线程,以分配数据包缓存:本步骤中分配数据包缓存的步骤包括以下子步骤:
(6-1)根据循环队列保存的状态数据,计算需要分配的数据包缓存数量;本步骤中的计算过程包括以下子步骤:
(6-1-1)计算接收单个数据包所需时间,并计算其与网络设备接收描述符数量的乘积TIME;
(6-1-2)获取循环队列中数据包的总数量SUM,以及接收完成最后一个数据包的时间与开始接收第一个数据包的时间的差值TN;
(6-1-3)根据乘积TIME与差值TN计算最多需要分配的数据包缓存数量,计算方式为SUM*(TIME/TN);
(6-1-4)获取总共需要分配的数据包缓存数量,其为最多需要分配的数据包缓存数量和当前空白链表中剩余数据包缓存数量的差值;
(6-2)根据步骤(6-1)计算的需要分配的数据包缓存数量,分配对应数量的数据包缓存,对于分配的每一个数据包缓存,将其插入空白链表;
(6-3)清除数据包缓存分配标志,内核线程进入休眠状态;
(7)从空白链表中获取一个新数据包缓存,判断是否成功获取,如果是则转入步骤(8),如果不是则转入步骤(9);
(8)解除当前接收描述符对应的数据包缓存,并将新数据包缓存挂载到该接收描述符;
(9)统计当前接收描述符对应的数据包缓存中有效数据的长度,并丢弃有效数据,不改变当前接收描述符数据包缓存;
(10)判断错误指令的类型,如果是致命错误,则转入步骤(11),否则统计错误数据;
(11)停止接收上层发送的数据包,设置网络设备错误标志,唤醒内核线程以进行错误处理;
(12)在循环队列中保存本次的状态数据,打开网络设备中断。
2.根据权利要求1所述的网络驱动层数据包接收方法,其特征在于,
空白链表包括一个数据包缓存的指针和一个计数器,指针指向链表的第一个元素,初始时为空;
计数器用于记录链表中元素的数量,初始时为0;
循环队列是由n个元素的环形数组组成,用于保存状态数据;
每个状态数据包括三个组成部分,分别用于记录一次中断当中接收到的数据包数量的计数器,用于记录开始接收第一个数据包的时间的变量,以及用于记录接收完最后一个数据包的时间的变量,初始时循环队列置为0。
3.根据权利要求1所述的网络驱动层数据包接收方法,其特征在于,内核线程和内核定时器在驱动程序加载时被创建,内核线程在完成数据包缓存分配或错误处理后,进入休眠状态,内核定时器时间到期后,唤醒休眠状态的内核线程,以进行数据包缓存分配,并修改定时器时间,以在下一次时间到期后再次唤醒内核线程。
4.根据权利要求1所述的网络驱动层数据包接收方法,其特征在于,步骤(11)中的错误处理过程包括以下子步骤:
(11-1)根据错误指令的类型,调用错误处理函数进行处理;
(11-2)清除网络设备错误标志,开始接收上层发送的数据包,内核线程进入休眠状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310628565.XA CN103634230B (zh) | 2013-11-29 | 2013-11-29 | 一种基于动态预测的网络驱动层数据包接收方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310628565.XA CN103634230B (zh) | 2013-11-29 | 2013-11-29 | 一种基于动态预测的网络驱动层数据包接收方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103634230A CN103634230A (zh) | 2014-03-12 |
CN103634230B true CN103634230B (zh) | 2016-09-07 |
Family
ID=50214870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310628565.XA Expired - Fee Related CN103634230B (zh) | 2013-11-29 | 2013-11-29 | 一种基于动态预测的网络驱动层数据包接收方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103634230B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9697136B2 (en) * | 2014-09-23 | 2017-07-04 | Arm Limited | Descriptor ring management |
CN106484510A (zh) * | 2016-09-27 | 2017-03-08 | 上海斐讯数据通信技术有限公司 | 一种基于Linux内核定时器的时间管理方法 |
US11620154B2 (en) | 2020-01-02 | 2023-04-04 | International Business Machines Corporation | Suppressing interrupts to an application thread |
CN112433835B (zh) * | 2020-11-23 | 2023-01-13 | 国家电网有限公司 | 一种基于Linux系统的中断处理方法及装置 |
CN115361451B (zh) * | 2022-10-24 | 2023-03-24 | 中国人民解放军国防科技大学 | 一种网络通信并行处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227341A (zh) * | 2007-12-18 | 2008-07-23 | 浪潮电子信息产业股份有限公司 | Linux系统上以太网卡快速捕包的方法 |
CN101330433A (zh) * | 2007-06-20 | 2008-12-24 | 中兴通讯股份有限公司 | 基于传输网的以太网设备共享缓冲区管理方法和装置 |
US7818470B2 (en) * | 2007-09-27 | 2010-10-19 | Integrated Device Technology, Inc. | Adaptive interrupt on serial rapid input/output (SRIO) endpoint |
JP2011061536A (ja) * | 2009-09-10 | 2011-03-24 | Ricoh Co Ltd | 通信システム及び再送バッファ容量の測定装置 |
-
2013
- 2013-11-29 CN CN201310628565.XA patent/CN103634230B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101330433A (zh) * | 2007-06-20 | 2008-12-24 | 中兴通讯股份有限公司 | 基于传输网的以太网设备共享缓冲区管理方法和装置 |
US7818470B2 (en) * | 2007-09-27 | 2010-10-19 | Integrated Device Technology, Inc. | Adaptive interrupt on serial rapid input/output (SRIO) endpoint |
CN101227341A (zh) * | 2007-12-18 | 2008-07-23 | 浪潮电子信息产业股份有限公司 | Linux系统上以太网卡快速捕包的方法 |
JP2011061536A (ja) * | 2009-09-10 | 2011-03-24 | Ricoh Co Ltd | 通信システム及び再送バッファ容量の測定装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103634230A (zh) | 2014-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103634230B (zh) | 一种基于动态预测的网络驱动层数据包接收方法和系统 | |
US7322033B2 (en) | Distributed control method and apparatus | |
CN104572307B (zh) | 一种对虚拟资源进行弹性调度的方法 | |
Barbará | Certification reports: supporting transactions in wireless systems | |
CN106130930B (zh) | 一种数据帧预入队处理的装置及方法 | |
CN106330769A (zh) | 一种业务处理方法及服务器 | |
CN100428209C (zh) | 一种自适应的外部存储设备io性能优化方法 | |
CN102045258A (zh) | 数据缓存管理方法及装置 | |
CN101115054A (zh) | 用于网络接口控制器的存储器映射的缓冲器 | |
CN103399824B (zh) | 一种高速缓存中缓存不命中的状态保持方法与装置 | |
CN107454014A (zh) | 一种优先级队列调度的方法及装置 | |
CN106325758A (zh) | 一种队列存储空间管理方法及装置 | |
CN109117279B (zh) | 电子装置及其限制进程间通信的方法、存储介质 | |
CN103399832B (zh) | 总线间的乱序返回数据的归序方法 | |
CN109787867A (zh) | 区块生成方法、装置、计算机设备和存储介质 | |
CN103577469B (zh) | 数据库连接复用方法和装置 | |
CN108614847A (zh) | 一种数据的缓存方法及系统 | |
CN107025184A (zh) | 一种数据管理方法及装置 | |
CN106209681B (zh) | 一种队列管理方法和装置 | |
JP2000083053A (ja) | プログラム内蔵方式パケット処理装置 | |
CN100539538C (zh) | 具有链表处理器的存储器管理系统 | |
CN109002381A (zh) | 进程通信监控方法、电子装置及计算机可读存储介质 | |
CN109939441A (zh) | 应用复盘校验处理方法及系统 | |
CN111984393A (zh) | 分布式大规模实时数据调度引擎系统及其数据调度方法 | |
CN107704421A (zh) | 一种多核处理器及报文处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160907 Termination date: 20181129 |
|
CF01 | Termination of patent right due to non-payment of annual fee |