CN106375239A - 一种网络数据接收的处理方法及装置 - Google Patents
一种网络数据接收的处理方法及装置 Download PDFInfo
- Publication number
- CN106375239A CN106375239A CN201610727058.5A CN201610727058A CN106375239A CN 106375239 A CN106375239 A CN 106375239A CN 201610727058 A CN201610727058 A CN 201610727058A CN 106375239 A CN106375239 A CN 106375239A
- Authority
- CN
- China
- Prior art keywords
- network equipment
- mark
- snoop queue
- described network
- data packet
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明涉及一种网络数据接收的处理方法及装置,方法包括:获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量,判断所述网络设备对应的数据包数量是否大于预设值P,若所述网络设备对应的数据包数量大于预设值P,则对所述网络设备对应的数据包中的P个数据包进行处理,采用轮询方式的处理方式,大大减少了中断开销,通过设置一次数据包的处理个数,避免丢包。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种网络数据接收的处理方法及装置。
背景技术
目前,中央处理器(Central Processing Unit,缩写:CPU)通常采用中断机制来进行网络数据接收的处理。
现有的中断机制为,当网卡收到数据包后,网卡会向CPU发送中断请求,当CPU收到网卡发送的中断请求后,根据具体的中断设置,判断是否调用驱动中的中断处理程序,如果是开中断状态则会调用网卡驱动中的中断处理程序接收数据包,即完全靠中断方式来收包。在数据流量负载不大的情况下,这种中断处理的机制减少了处理的时间延迟,大大提高了CPU的利用率。
但是,基于此,本发明的发明人发现,当网络流量巨大的时候,上述方法会频繁地进行中断处理和切换,一旦中断负荷超过了最大无损转发率时,CPU就无法响应其他任务,造成中断活锁。同时,如果当前正在处理前一个数据包时,下一个数据包到来时发出的中断可能会打断前面的过程。这种频繁的打断使得之前的数据包无法有效处理,随着数据包的不断涌进,就会塞满缓冲队列,造成丢包。
公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。
发明内容
技术问题
有鉴于此,本发明要解决的技术问题是,如何提供一种网络数据接收的处理方法及装置,以解决现有的中断机制在网络流量大时容易出现中断活锁或丢包的问题。
解决方案
为解决以上技术问题,本发明在第一方面提供一种网络数据接收的处理方法,包括:
获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量;
判断所述网络设备对应的数据包数量是否大于预设值P;
若所述网络设备对应的数据包数量大于预设值P,则对所述网络设备对应的数据包中的P个数据包进行处理。
在一种可能的实现方式中,在判断所述网络设备对应的数据包数量是否大于预设值P之后,还包括:
若所述网络设备对应的数据包数量小于预设值P,对所述网络设备对应的全部数据包进行处理;
在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识。
在一种可能的实现方式中,在所述获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,包括:
接收所述网络设备发送的数据包以及中断请求;
根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中。
在一种可能的实现方式中,在所述获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,包括:
获取所述轮询队列中所述网络设备的标识的数量;
根据所述轮询队列中所述网络设备的标识的数量,确定所述预设值P。
在一种可能的实现方式中,所述获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量,包括:
根据所述轮询队列中网络设备的标识,获取所述轮询队列中每个网络设备的通信流量;
根据所述轮询队列中每个网络设备的通信流量计算预设时间;
根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
本发明在第二方面提供一种网络数据接收的处理装置,包括:
获取模块,用于获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量;
判断模块,用于判断所述网络设备对应的数据包数量是否大于预设值P;
处理模块,用于在所述网络设备对应的数据包数量大于预设值P时,对所述网络设备对应的数据包中的P个数据包进行处理。
在一种可能的实现方式中,所述处理模块还用于,在所述网络设备对应的数据包数量小于预设值P时,对所述网络设备对应的全部数据包进行处理;在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识。
在一种可能的实现方式中,还包括:
接收模块,用于在所述获取模块获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,接收所述网络设备发送的数据包以及中断请求;
根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中。
在一种可能的实现方式中,还包括:计算模块,用于在所述获取模块获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,
获取所述轮询队列中所述网络设备的标识的数量;
根据所述轮询队列中所述网络设备的标识的数量,确定所述预设值P。
在一种可能的实现方式中,所述获取模块用于:
根据所述轮询队列中网络设备的标识,获取所述轮询队列中每个网络设备的通信流量;
根据所述轮询队列中每个网络设备的通信流量计算预设时间;
根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
有益效果
本发明提供的网络数据接收的处理方法及装置,通过获取轮询队列中的网络设备的标识,当网络设备对应的数据包数量大于预设值P时,对所述网络设备对应的数据包中的P个数据包进行处理,采用轮询方式的处理方式,大大减少了中断开销,通过设置一次数据包的处理个数,避免丢包。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1示出本发明实施例提供的网络数据接收的处理方法的流程图;
图2示出本发明另一实施例提供的网络数据接收的处理方法的流程图;
图3示出发明再一实施例提供的网络数据接收的处理方法的流程图;
图4示出本发明实施例提供的网络数据接收的处理装置的结构示意图;
图5示出本发明另一实施例提供的网络数据接收的处理装置的结构示意图;
图6示出本发明再一实施例提供的网络数据接收的处理装置的结构示意图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件未作详细描述,以便于凸显本发明的主旨。
实施例1
图1示出本发明实施例提供的网络数据接收的处理方法的流程图,如图1所示,该方法包括:
步骤S1,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
具体地,网络设备为与CPU连接的外设,可以为网卡等。当第一个数据包到达网络设备时,网络设备向CPU发送中断请求。轮询队列中存储有多个接收到数据包的网络设备的标识。
网络设备将接收到的数据包存储到与网络设备对应的寄存器中,当CPU获取轮询队列中的网络设备的标识时,从相应的寄存器中获取网络设备对应的数据包数量。
步骤S2,判断所述网络设备对应的数据包数量是否大于预设值P。
其中,预设值P可以为根据经验值预先设定的,也可以为根据当前网络状态计算得到的。
步骤S3,若所述网络设备对应的数据包数量大于预设值P,则对所述网络设备对应的数据包中的P个数据包进行处理。
本发明通过获取轮询队列中的网络设备的标识,当网络设备对应的数据包数量大于预设值P时,对所述网络设备对应的数据包中的P个数据包进行处理,采用轮询方式的处理方式,大大减少了中断开销,通过设置一次数据包的处理个数,避免丢包。
可选的,在步骤S1之前,包括:
步骤S01,接收所述网络设备发送的数据包以及中断请求;
步骤S02,根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中。
具体地,轮询队列中存储有多个接收到数据包的网络设备的标识。
在将所述网络设备的标识注册到所述轮询队列中后,该网络设备关闭接收中断。
由此,通过接收所述网络设备发送的数据包以及中断请求,根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中,采用轮询方式的处理方式,减少了中断开销,保证了数据的完整性,避免丢包。
可选的,在步骤S2之后还包括:
步骤S4,若所述网络设备对应的数据包数量小于预设值P,对所述网络设备对应的全部数据包进行处理;
步骤S5,在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识。
具体地,当网络设备对应的数据包数量小于预设值P时,CPU在处理时可以一次将数据包处理完成。将轮询队列中网络设备对应的所有数据包处理完成后,在所述轮询队列中删除该网络设备的标识。
更为具体的,在步骤S3或S5之后,获取轮询队列中的下一网络设备的标识,重复执行上述步骤,直至轮询队列中没有网络设备的标识为止。
由此,通过在网络设备对应的数据包数量小于预设值P时,对全部数据包进行处理,在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识,采用轮询方式的处理方式,大大减少了中断开销,通过设置一次数据包的处理个数,避免丢包。
实施例2
图2示出本发明另一实施例提供的网络数据接收的处理方法的流程图,在图2中与图1采用相同附图标记的步骤均与图1适用于相同的文字说明,在此不再赘述。本实施例对实施例一进行进一步限定。
如图2所示,本实施例在步骤S1之前,可以包括:
步骤S03,获取所述轮询队列中所述网络设备的标识的数量;
步骤S04,根据所述轮询队列中所述网络设备的标识的数量,确定所述预设值P。
具体的,可以设置为,若所述轮询队列中所述网络设备的标识的数量越多则预设值P越小,以保证在一定时间间隔内将轮询队列中所有网络设备访问一次。
更为具体的,步骤S03和步骤S04可以设置为,轮询队列中更新预设次数后执行,也可以设置为经过预设时间后执行。当第一次进行预设值P的计算时,根据所述轮询队列中所述网络设备的标识的数量,确定所述预设值P。当已经存在预设值P时,可以根据更新后的网络设备的标识的数量对预设值P的值进行修正。
由此,可以实现自适应的增减一次数据包的处理个数,提高了多个网络设备公平调度,保证了数据处理的实时性。
需要说明的是,本实施例中,对步骤S03和步骤S01的执行顺序不进行限定。附图中给出的只是一种实现方式,并不是对执行先后顺序的限定。
实施例3
图3示出本发明再一实施例提供的网络数据接收的处理方法的流程图,在图3中与图1采用相同附图标记的步骤均与图1适用于相同的文字说明,在此不再赘述。本实施例对实施例一的步骤S1进行进一步限定。如图3所示,本实施例中步骤S1可以具体包括:
步骤S101,根据所述轮询队列中网络设备的标识,获取所述轮询队列中每个网络设备的通信流量;
步骤S102,根据所述轮询队列中每个网络设备的通信流量计算预设时间;
步骤S103,根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
可以通过设置定时器来实现对预设时间的计算。当轮询队列中有数据更新时,定时器开始计时。到达预设时间时,定时器通知CPU对数据包进行处理。当CPU开始数据处理时,对定时器进行复位。定时器通过查询当前网络的状态来确定下一次轮询的时间间隔,并调整定时器的频率,从而达到自适应网络状况的目的。如果网络处于大流量的情况下,数据缓冲区更新频率很高,那么相应的加大轮询的频率,也就是减小定时器的时间间隔,缩短预设时间。如果网络上的数据量很小,那么相应的减少轮询频率,同时增加定时器的时间间隔,增大预设时间。
步骤S1还可以包括:判断所述轮询队列中是否存在网络设备,当所述轮询队列中存在网络设备的标识时,执行步骤S101,当所述轮询队列中不存在网络设备的标识时,接收中断。
由此,通过根据所述轮询队列中每个网络设备的通信流量计算预设时间,根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量,根据网络流量对预设时间进行调整,提高了用户进程与内核空间数据交互的有效性。
实施例4
图4示出本发明实施例提供的网络数据接收的处理装置的结构示意图,如图4所示,该装置10包括:
获取模块1,用于获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
判断模块2,用于判断所述网络设备对应的数据包数量是否大于预设值P。
处理模块3,用于在所述网络设备对应的数据包数量大于预设值P时,对所述网络设备对应的数据包中的P个数据包进行处理。
本发明通过获取轮询队列中的网络设备的标识,当网络设备对应的数据包数量大于预设值P时,对所述网络设备对应的数据包中的P个数据包进行处理,采用轮询方式的处理方式,大大减少了中断开销,通过设置一次数据包的处理个数,避免丢包。
可选的,所述处理模块3还用于,在所述网络设备对应的数据包数量小于预设值P时,对所述网络设备对应的全部数据包进行处理;在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识。
由此,通过在网络设备对应的数据包数量小于预设值P时,对全部数据包进行处理,在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识,采用轮询方式的处理方式,大大减少了中断开销,通过设置一次数据包的处理个数,避免丢包。
实施例5
图5示出本发明另一实施例提供的网络数据接收的处理装置的结构示意图,在图5中与图4采用相同附图标记的步骤均与图4适用于相同的文字说明,在此不再赘述。如图5所示,该装置10还包括:
接收模块4,用于在所述获取模块1获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,接收所述网络设备发送的数据包以及中断请求;根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中。
由此,通过接收所述网络设备发送的数据包以及中断请求,根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中,采用轮询方式的处理方式,减少了中断开销,保证了数据的完整性,避免丢包。
实施例6
图6示出本发明再一实施例提供的网络数据接收的处理装置的结构示意图,在图6中与图4采用相同附图标记的步骤均与图4适用于相同的文字说明,在此不再赘述。如图6所示,该装置10还包括:
计算模块5,用于在所述获取模块1获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,获取所述轮询队列中所述网络设备的标识的数量;根据所述轮询队列中所述网络设备的标识的数量,确定所述预设值P。
由此,可以实现自适应的增减一次数据包的处理个数,提高了多个网络设备公平调度,以及数据的实时性。
可选的,所述获取模块1具体用于:根据所述轮询队列中网络设备的标识,获取所述轮询队列中每个网络设备的通信流量;根据所述轮询队列中每个网络设备的通信流量计算预设时间;根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
由此,通过根据所述轮询队列中每个网络设备的通信流量计算预设时间,根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量,根据网络流量对预设时间进行调整,提高了用户进程与内核空间数据交互的有效性。
实施例7
以所述网络设备为网卡为例,进行说明。
本发明可以在第一个数据包到达时转变系统对网络设备的处理方法。具体方法是:
当第一个数据包到达时,网卡产生硬件中断,随后系统进入中断处理。系统关闭网卡的接收中断,将网卡设备注册到轮询队列中,然后唤醒软中断,进入轮询处理程序。
处理器采用轮询方式对轮询队列中的网络设备进行数据读取,每次读取前判断该网卡的缓冲区中是否有固定配额个数据,如果有,则获取该网卡缓冲区中的数据;如果数据包不够固定配额,则将所有数据读取后将网络设备从轮询队列中注销。
随后判断轮询队列是否为空,如果非空,则返回轮询开始,否则软中断处理结束,再打开网卡的接收中断。
因此,本发明在轻负载的情况下趋近于中断方式,响应速度很快;而在重负载的情况下,趋近于轮询方式,高效的处理数据包并且避免了重负载情况下的中断活锁及丢包问题。
本发明的发明人注意到:可调节的中断轮询完成了数据从网卡到内核的有效读取,而用户进程从内核读取数据同样也是提高高速网络数据接收的重要部分,因此,提出了自适应的轮询守护进程技术,具体做法是:
上层应用采用轮询的方式来监视数据缓冲区更新的状态。当数据缓冲区更新后,开启一个定时器同时使应用程序暂时休眠,如果在定时器规定的时间内,轮询没有工作,那么定时器就会唤醒上层的应用程序来处理数据。如果上层程序已经处理了缓冲区中的数据,定时器就会重新开始计时。在定时器中断处理函数中通过查询当前运行的状态来确定下一次轮询的时间间隔,并调整定时器的频率,从而达到自适应网络状况的目的。如果网络处于大流量的情况下,数据缓冲区更新频率很高,那么相应的加大轮询的频率,同时减小定时器的时间间隔。如果网络上的数据量很小,那么相应的减少轮询频率,同时增加定时器的时间间隔。
在轮询过程中,如果系统连接多个网络设备,设置配额(预设值P)可以有效地解决多个网络设备的公平调度问题。然而如果设置配额较大,当轮询队列中的网络设备较多时,就不能及时的处理各个网络设备的数据包,从而使数据的实时性无法得到保障。相反地,如果设置配额较小,而轮询队列中的设备不多时,又会造成频繁的上下文切换,造成不必要的开销。可调节的最大配额技术则可以动态的根据轮询队列中网络设备的多少来改变一次可读的配额数,从而保证了数据实时性和系统有效性。
除此之外,本发明的发明人还注意到:在多核多网络设备的情况下,当数据包源源不断的到来时,如果不对CPU进行特定的限制,即每个CPU都可以用来处理网络设备数据包,这样多个CPU有可能同时被用作处理多个网络设备的发来的大量的数据包,由于在执行网卡软中断之前,硬中断已经关闭,所以没有中断可以打断这样的处理过程,直到软中断自己执行结束为止。在极端情况下,由于没有处理器可以用来处理其他进程,就会导致系统死机。因此,本发明提出可以限制由特定的CPU来执行网络设备数据包的处理,从而避免这种极端情况下系统的崩溃,同时保证处理机的有效使用。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
Claims (10)
1.一种网络数据接收的处理方法,其特征在于,包括:
获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量;
判断所述网络设备对应的数据包数量是否大于预设值P;
若所述网络设备对应的数据包数量大于预设值P,则对所述网络设备对应的数据包中的P个数据包进行处理。
2.根据权利要求1所述的处理方法,其特征在于,在判断所述网络设备对应的数据包数量是否大于预设值P之后,还包括:
若所述网络设备对应的数据包数量小于预设值P,对所述网络设备对应的全部数据包进行处理;
在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识。
3.根据权利要求1所述的处理方法,其特征在于,在所述获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,包括:
接收所述网络设备发送的数据包以及中断请求;
根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中。
4.根据权利要求1或2所述的处理方法,其特征在于,在所述获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,包括:
获取所述轮询队列中所述网络设备的标识的数量;
根据所述轮询队列中所述网络设备的标识的数量,确定所述预设值P。
5.根据权利要求1或2所述的处理方法,其特征在于,所述获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量,包括:
根据所述轮询队列中网络设备的标识,获取所述轮询队列中每个网络设备的通信流量;
根据所述轮询队列中每个网络设备的通信流量计算预设时间;
根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
6.一种网络数据接收的处理装置,其特征在于,包括:
获取模块,用于获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量;
判断模块,用于判断所述网络设备对应的数据包数量是否大于预设值P;
处理模块,用于在所述网络设备对应的数据包数量大于预设值P时,对所述网络设备对应的数据包中的P个数据包进行处理。
7.根据权利要求6所述的处理装置,其特征在于,所述处理模块还用于,在所述网络设备对应的数据包数量小于预设值P时,对所述网络设备对应的全部数据包进行处理;在所述轮询队列中删除所述数据包数量小于预设值P的所述网络设备的标识。
8.根据权利要求6所述的处理装置,其特征在于,还包括:
接收模块,用于在所述获取模块获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,接收所述网络设备发送的数据包以及中断请求;
根据所述中断请求,将所述网络设备的标识注册到所述轮询队列中。
9.根据权利要求6或7所述的处理装置,其特征在于,还包括:计算模块,用于在所述获取模块获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量之前,
获取所述轮询队列中所述网络设备的标识的数量;
根据所述轮询队列中所述网络设备的标识的数量,确定所述预设值P。
10.根据权利要求6或7所述的处理装置,其特征在于,所述获取模块用于:
根据所述轮询队列中网络设备的标识,获取所述轮询队列中每个网络设备的通信流量;
根据所述轮询队列中每个网络设备的通信流量计算预设时间;
根据所述预设时间,获取轮询队列中的网络设备的标识,并根据所述网络设备的标识获取所述网络设备对应的数据包数量。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610727058.5A CN106375239B (zh) | 2016-08-25 | 2016-08-25 | 一种网络数据接收的处理方法及装置 |
PCT/CN2016/107150 WO2018036007A1 (zh) | 2016-08-25 | 2016-11-24 | 网络数据接收的处理方法及装置、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610727058.5A CN106375239B (zh) | 2016-08-25 | 2016-08-25 | 一种网络数据接收的处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106375239A true CN106375239A (zh) | 2017-02-01 |
CN106375239B CN106375239B (zh) | 2019-02-12 |
Family
ID=57878443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610727058.5A Active CN106375239B (zh) | 2016-08-25 | 2016-08-25 | 一种网络数据接收的处理方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106375239B (zh) |
WO (1) | WO2018036007A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659512A (zh) * | 2017-10-18 | 2018-02-02 | 盛科网络(苏州)有限公司 | 一种处理网卡报文的方法和装置 |
CN109800073A (zh) * | 2019-01-28 | 2019-05-24 | Oppo广东移动通信有限公司 | 实时进程的调度方法、装置、终端及存储介质 |
CN110968403A (zh) * | 2018-09-28 | 2020-04-07 | 深信服科技股份有限公司 | 一种cpu工作控制方法、装置、设备及存储介质 |
CN110968402A (zh) * | 2018-09-28 | 2020-04-07 | 深信服科技股份有限公司 | 一种cpu工作控制方法、装置、设备及存储介质 |
CN112328166A (zh) * | 2019-08-05 | 2021-02-05 | 爱思开海力士有限公司 | 数据处理系统及其操作方法 |
CN113079114A (zh) * | 2021-06-04 | 2021-07-06 | 鹏城实验室 | 一种数据包接收方法、装置、终端及存储介质 |
CN116668538A (zh) * | 2023-08-02 | 2023-08-29 | 深圳市翼联网络通讯有限公司 | Usb新型网卡和通信方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108965032B (zh) * | 2018-08-22 | 2022-07-01 | 北京奇虎科技有限公司 | 一种基于循环队列的消息推送量统计方法和装置 |
CN111200541B (zh) * | 2019-12-31 | 2022-04-12 | 山石网科通信技术股份有限公司 | 网络数据处理方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101309257A (zh) * | 2008-07-08 | 2008-11-19 | 中兴通讯股份有限公司 | 一种基于内部集成电路总线的单板通信方法及系统 |
CN101827333A (zh) * | 2010-05-19 | 2010-09-08 | 北京神州泰岳软件股份有限公司 | 手机浏览器后台服务器数据处理方法 |
CN101938406A (zh) * | 2009-07-02 | 2011-01-05 | 华为技术有限公司 | 微波多通道报文发送方法和装置及传送系统 |
US7937499B1 (en) * | 2004-07-09 | 2011-05-03 | Oracle America, Inc. | Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card |
CN102063335A (zh) * | 2009-11-13 | 2011-05-18 | 大唐移动通信设备有限公司 | 中断控制器以及多核处理器共享设备中断的处理方法 |
CN103023809A (zh) * | 2012-12-28 | 2013-04-03 | 中国船舶重工集团公司第七0九研究所 | 一种采用二次缓冲技术的信息系统数据同步处理方法 |
CN103440213A (zh) * | 2013-07-23 | 2013-12-11 | 深圳市共进电子股份有限公司 | 一种应用于具有多cpu和网卡的系统的网卡驱动方法 |
CN103441941A (zh) * | 2013-08-13 | 2013-12-11 | 广东睿江科技有限公司 | 一种基于Linux的高性能数据报文捕获方法和装置 |
CN103888317A (zh) * | 2014-03-31 | 2014-06-25 | 西南科技大学 | 一种协议无关的网络冗余流量消除方法 |
WO2015089824A1 (zh) * | 2013-12-20 | 2015-06-25 | 华为技术有限公司 | 一种轮询和中断的切换方法及装置 |
CN105071973A (zh) * | 2015-08-28 | 2015-11-18 | 迈普通信技术股份有限公司 | 一种报文接收方法及网络设备 |
-
2016
- 2016-08-25 CN CN201610727058.5A patent/CN106375239B/zh active Active
- 2016-11-24 WO PCT/CN2016/107150 patent/WO2018036007A1/zh active Application Filing
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7937499B1 (en) * | 2004-07-09 | 2011-05-03 | Oracle America, Inc. | Methods and apparatus for dynamically switching between polling and interrupt mode for a ring buffer of a network interface card |
CN101309257A (zh) * | 2008-07-08 | 2008-11-19 | 中兴通讯股份有限公司 | 一种基于内部集成电路总线的单板通信方法及系统 |
CN101938406A (zh) * | 2009-07-02 | 2011-01-05 | 华为技术有限公司 | 微波多通道报文发送方法和装置及传送系统 |
CN102063335A (zh) * | 2009-11-13 | 2011-05-18 | 大唐移动通信设备有限公司 | 中断控制器以及多核处理器共享设备中断的处理方法 |
CN101827333A (zh) * | 2010-05-19 | 2010-09-08 | 北京神州泰岳软件股份有限公司 | 手机浏览器后台服务器数据处理方法 |
CN103023809A (zh) * | 2012-12-28 | 2013-04-03 | 中国船舶重工集团公司第七0九研究所 | 一种采用二次缓冲技术的信息系统数据同步处理方法 |
CN103440213A (zh) * | 2013-07-23 | 2013-12-11 | 深圳市共进电子股份有限公司 | 一种应用于具有多cpu和网卡的系统的网卡驱动方法 |
CN103441941A (zh) * | 2013-08-13 | 2013-12-11 | 广东睿江科技有限公司 | 一种基于Linux的高性能数据报文捕获方法和装置 |
WO2015089824A1 (zh) * | 2013-12-20 | 2015-06-25 | 华为技术有限公司 | 一种轮询和中断的切换方法及装置 |
CN103888317A (zh) * | 2014-03-31 | 2014-06-25 | 西南科技大学 | 一种协议无关的网络冗余流量消除方法 |
CN105071973A (zh) * | 2015-08-28 | 2015-11-18 | 迈普通信技术股份有限公司 | 一种报文接收方法及网络设备 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107659512A (zh) * | 2017-10-18 | 2018-02-02 | 盛科网络(苏州)有限公司 | 一种处理网卡报文的方法和装置 |
CN110968403A (zh) * | 2018-09-28 | 2020-04-07 | 深信服科技股份有限公司 | 一种cpu工作控制方法、装置、设备及存储介质 |
CN110968402A (zh) * | 2018-09-28 | 2020-04-07 | 深信服科技股份有限公司 | 一种cpu工作控制方法、装置、设备及存储介质 |
CN109800073A (zh) * | 2019-01-28 | 2019-05-24 | Oppo广东移动通信有限公司 | 实时进程的调度方法、装置、终端及存储介质 |
CN109800073B (zh) * | 2019-01-28 | 2021-06-18 | Oppo广东移动通信有限公司 | 实时进程的调度方法、装置、终端及存储介质 |
CN112328166A (zh) * | 2019-08-05 | 2021-02-05 | 爱思开海力士有限公司 | 数据处理系统及其操作方法 |
CN113079114A (zh) * | 2021-06-04 | 2021-07-06 | 鹏城实验室 | 一种数据包接收方法、装置、终端及存储介质 |
CN113079114B (zh) * | 2021-06-04 | 2021-08-27 | 鹏城实验室 | 一种数据包接收方法、装置、终端及存储介质 |
CN116668538A (zh) * | 2023-08-02 | 2023-08-29 | 深圳市翼联网络通讯有限公司 | Usb新型网卡和通信方法 |
CN116668538B (zh) * | 2023-08-02 | 2023-10-03 | 深圳市翼联网络通讯有限公司 | Usb新型网卡和通信方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018036007A1 (zh) | 2018-03-01 |
CN106375239B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106375239A (zh) | 一种网络数据接收的处理方法及装置 | |
CN107018175B (zh) | 移动云计算平台的调度方法和装置 | |
CN104081736B (zh) | 客户端设备上调度分组传输的系统和方法 | |
RU2643626C1 (ru) | Способ распределения принимаемых пакетов, селектор очереди, устройство обработки пакетов и носитель информации | |
Wu et al. | The performance analysis of Linux networking–packet receiving | |
WO2017054566A1 (zh) | 一种防止cpu报文拥塞的方法及装置 | |
EP3556066B1 (en) | Flow control in a virtualized communication network | |
US20150222561A1 (en) | Bandwidth control apparatus | |
US11671332B2 (en) | Adjusting triggers for automatic scaling of virtual network functions | |
CN107920366A (zh) | 一种对移动终端的业务进行分流的方法及装置 | |
CN107592284A (zh) | 防DoS/DDoS攻击的装置和方法 | |
CN105591904B (zh) | 一种抑制bgp邻居震荡的方法及装置 | |
CN111343097B (zh) | 链路负载均衡的方法、装置、电子设备及存储介质 | |
CN113992588A (zh) | 数据传输方法、装置、电子设备及可读存储介质 | |
US20170338998A1 (en) | Message Attack Defense Method and Apparatus | |
CN112703774A (zh) | 网络切片管理 | |
CN113315720A (zh) | 一种数据流控制方法、系统及设备 | |
JP2020080059A (ja) | 評価装置、評価方法および評価プログラム | |
US9413672B2 (en) | Flow control for network packets from applications in electronic devices | |
CN112491736B (zh) | 一种拥塞控制方法、装置、电子设备及存储介质 | |
CN106100872B (zh) | 一种业务连续性保障方法及装置 | |
CN107659511B (zh) | 一种过载控制方法、主机和存储介质以及程序产品 | |
CN114024913B (zh) | 一种网络性能优化方法、装置、设备以及存储介质 | |
Runge et al. | Low latency network traffic processing with commodity hardware | |
CN114500398A (zh) | 一种处理器协同加速的方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |