CN104283643A - 报文限速方法和装置 - Google Patents
报文限速方法和装置 Download PDFInfo
- Publication number
- CN104283643A CN104283643A CN201410577733.1A CN201410577733A CN104283643A CN 104283643 A CN104283643 A CN 104283643A CN 201410577733 A CN201410577733 A CN 201410577733A CN 104283643 A CN104283643 A CN 104283643A
- Authority
- CN
- China
- Prior art keywords
- speed limit
- message
- protocol massages
- protocol
- cpu
- 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/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明提出一种报文限速方法,所述方法包括:对待上送的协议报文进行报文分类;根据预设算法为对每类协议报文的初始限速值进行动态调整;基于调整后的限速值进行报文限速。通过本发明可以实现在保护CPU免受大量协议报文的冲击的同时,又可以充分的利用CPU的资源。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文限速方法和装置。
背景技术
在通用的网络设备架构中,设备的数据平面对于一些无法直接处理的协议报文通常会上送到设备的控制平面,由CPU进行处理。为了防止CPU免受大量上送报文的冲击而瘫痪,设备的数据平面上送CPU的协议报文通常会预配置一个限速值,设备的数据平面根据预配置的限速值对上送CPU的协议报文进行限速处理。
然而在实现时,由于CPU所能承受的最大报文速率可能随着负载的变化随时发生变化,因此通过预配置一个限速值来对上送的报文进行限速,会出现CPU有时超负荷运行,有时资源使用率又很低的状况,从而造成CPU的资源得不到合理的利用。
发明内容
有鉴于此,本发明提出一种报文限速方法所述方法包括:
对待上送的协议报文进行报文分类;
根据预设算法为对每类协议报文的初始限速值进行动态调整;
基于调整后的限速值进行报文限速。
可选的,所述根据预设算法为对每类协议报文的初始限速值进行动态调整包括:
根据报文分类结果将每类协议报文分别存放到对应的报文队列;
计算报文队列中协议报文的上送速率;
判断所述上送速率是否超过CPU的最大处理速率;
当所述上送速率超过所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的高门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例降低后的限速值;
如果否,不对所述初始限速值进行调整。
可选的,所述将每类协议报文分别存放到对应的报文队列包括:
将每类协议报文分别存放到独立的报文队列;或者
将多类优先级相同的协议报文存放到同一报文队列。
可选的,所述根据预设算法为对每类协议报文的初始限速值进行动态调整还包括:
当所述上送速率低于所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的低门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例提高后的限速值;
如果否,不对所述初始限速值进行调整。
可选的,所述方法还包括:
当所述初始限速值或者所述新的限速值小于所述报文的真实速率,并且与所述协议报文的真实速率之间的误差低于阈值时,删除所述限速标记,不对所述协议报文进行限速。
本发明还提出一种报文限速装置,所述装置包括:
分类模块,用于对待上送的协议报文进行报文分类;
调整模块,用于根据预设算法为对每类协议报文的初始限速值进行动态调整;
限速模块,用于基于调整后的限速值进行报文限速。
可选的,所述装置还包括:
存放模块,用于根据报文分类结果将每类协议报文分别存放到对应的报文队列;
所述调整模块具体用于:
计算报文队列中协议报文的上送速率;
判断所述上送速率是否超过CPU的最大处理速率;
当所述上送速率超过所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的高门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例降低后的限速值;
如果否,不对所述初始限速值进行调整。
可选的,所述存放模块具体用于:
将每类协议报文分别存放到独立的报文队列;或者
将多类优先级相同的协议报文存放到同一报文队列。
可选的,所述调整模块具体用于:
当所述上送速率低于所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的低门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例提高后的限速值;
如果否,不对所述初始限速值进行调整。
可选的,所述限速模块具体用于:
当所述初始限速值或者所述新的限速值小于所述报文的真实速率,并且与所述协议报文的真实速率之间的误差低于阈值时,删除所述限速标记,不对所述协议报文进行限速。
本发明在现有实现的基础上,通过对上送的协议报文进行分类,在对上送的协议报文进行限速的过程中,根据预设算法对每类协议报文的初始限速值进行动态调整,并基于调整后的限速值进行报文限速,在保护CPU免受大量上送协议报文的冲击的同时,又可以充分的利用CPU的资源。
附图说明
图1是本发明一种示例性实施方式中示出的通用网络设备构架;
图2是本发明一种示例性实施方式中示出的一种报文限速方法的处理流程图;
图3是本发明一种示例性实施方式中示出的对上送的协议报文进行限速的处理流程图;
图4是本发明一种示例性实施方式示出的一种报文限速装置的框图;
图5是本发明一种示例性实施方式示出的一种承载所述报文限速装置的网络设备的硬件结构图。
具体实施方式
在通用的网络设备架构中,网络设备一般由控制CPU和数据平面组成;例如,请参见图1,不同硬件形态的网络设备,其数据平面可能由软件、NP(Network Processor,专用网络处理器)、FPGA(Field-Programmable GateArray,现场可编程逻辑)和ASIC(Application Sepcific Integrated Circuit,专用集成电路)来实现。在以上架构中,数据平面对于一些无法直接处理的协议报文,例如无线CAPWAP控制报文、路由协议报文、SNMP网络管理报文等,会上送给控制CPU进行处理。因此在具体应用中,控制CPU会面临受到大量上送的协议报文的冲击而瘫痪的风险,因此对于上送CPU的协议报文通常会进行限速处理。
在一种实现方式中,可以对上送CPU的协议报文预配置一个限速值,每类协议报文具有自己固定的限速值,数据平面根据上述预配置的限速值对需要上送给CPU处理的协议报文进行限速处理。然而该方案中,每类协议报文的限速值的设置没有一个统一的标准,在设置时依靠经验值,很难设置出一个比较合理的限速值。而且,CPU所能承受的最大报文速率会随着负载的变化随时发生变化,因此单纯依靠设置一个固定的限速值来对需要上送的报文进行限速处理,显然无法满足需求,会出现有时CPU超负荷运行,有时又很清闲的状况,从而造成CPU的资源得不到合理利用的问题。
有鉴于此,本发明提出一种报文限速方法,通过对上送的协议报文进行分类,在对上送的协议报文进行限速的过程中,根据预设算法对每类协议报文的初始限速值进行动态调整,并基于调整后的限速值进行报文限速,在保护CPU免受大量上送协议报文的冲击的同时,又可以充分的利用CPU的资源。
请参见图2,本发明提出一种报文限速方法,应用于网络设备上,执行如下步骤:
步骤201、对待上送的协议报文进行报文分类;
步骤202、根据预设算法为对每类协议报文的初始限速值进行动态调整;
步骤203、基于调整后的限速值进行报文限速。
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对上述各步骤作进一步地详细说明。
请参见图3,图3为本实施例中对上送的协议报文进行限速的处理流程图。
如图3所示,本实施例中对待上送的协议报文进行分类,可以运行在设备的数据平面;具体的,设备的数据平面可以根据预设的协议报文特征库对待上送的协议报文中的各个字段(比如MAC地址、IP地址或端口号等)进行匹配,从而识别出待上送的协议报文的类型。例如,对于一些包含特定端口号的协议报文,数据平面可以通过对该协议报文中的端口号进行匹配而准确的识别出该协议报文的类型。
在实现时,数据平面对协议报文进行分类,可以有不同的实现方式;例如,如果数据平面是通过软件来实现的,那么对协议报文进行分类可以基于编程语言(比如C语言)来实现;如果数据平面是通过ASIC来实现的,那么对协议报文进行分类可以通过向ASIC芯片中下ACL来实现。具体通过何种方式来实现,在本实施例中不进行特别限定,本领域技术人员可以根据实际的需求灵活选择。
在本实施例中,当待上送的协议报文在数据平面分类完成后,数据平面会将分类完成的协议报文上送到CPU处理,由CPU基于分类结果对每一类协议报文分别进行处理。
具体的,数据平面在向CPU上送分类完成的协议报文时,会将分类完成的协议报文首先存放到FIFO(First Input First Output,先入先出队列)队列中。根据需要,设备可以有一个或者多个FIFO队列,其中所述FIFO队列数不能太多,例如不超过8个,FIFO队列数过多,会对硬件资源和软件队列调度造成困难。因此,数据平面在将分类完成的协议报文存放到FIFO队列时,可以根据分类后的协议报文的种类数,来选择不同的存放方式。
在实现时,当分类完成后的协议报文种类较少时,数据平面可以将分类完成的协议报文分别存放到独立的一个FIFO队列,此时FIFO队列和协议报文为一对一的关系。相反,当分类完成后的协议报文种类较多时,此时仍然将分类完成的协议报文存放到独立的FIFO队列,会造成FIFO数过多,从而会对硬件资源和软件队列调度造成困难,因此对于这种情况,可以将多个优先级相同的协议报文存放到一个FIFO队列中。例如,可以根据优先级将队列分为紧急、高、中、低四个级别,然后根据协议报文的分类结果,让具有相同优先级的协议报文共享一个队列,将多种协议报文按照优先级的大小分别存入对应的FIFO队列中。
在本实施例中,当设备本地存在多个FIFO队列时,该多个FIFO队列会按照优先级的不同依次排列,CPU在对FIFO队列中的协议报文进行处理时,可以利用现有的各种队列调度技术从以上多个FIFO队列中提取报文,上送到本地继续处理。例如,CPU可以根据各FIFO队列所对应的优先级的大小,按照由高到低的顺序,依次从FIFO队列中提取报文,然后将提取到的报文上送本地处理。其中,以上的队列调度技术可以参考现有技术,例如,可以使用现有技术中的PQ(Priority Queue,优先级队列)、CQ(Customized Queue用户定制队列)、WFQ(Weighted Fair Queue,加权公平队列)等队列调度技术中的任意一种。
在初始状态下,数据平面在将协议报文存入FIFO队列以前,通常要为所述协议报文增加限速标记,并使用预先配置的固定的初始限速值进行限速处理;其中,不同种类的协议报文,其初始限速值可以不同;数据平面在对协议报文进行限速时,可以根据令牌桶技术来实现,根据令牌桶技术对协议报文进行限速可以参考现有技术中的记载,在本申请中不进行详述。
在本实施例中,由于数据平面在将分类完成的协议报文存入FIFO队列时,FIFO队列通常会有一定的队列长度,而且当某一FIFO队列溢出后通常会直接丢弃掉后续的报文,因此会造成协议报文的真实速率与存入FIFO队列的速率(即上送速率)不相同的问题。
因此,数据平面每次将协议报文存入FIFO队列以前,还需要计算该类协议报文的真实速率,所述真实速率,可以由CPU基于数据平面统计到的单位时间内收到的每类协议报文的报文数来计算,当CPU计算出每类协议报文的真实速率后,可以比较该类协议报文的真实速率与初始限速值,然后根据比较结果来决定后续是否需要对该类协议报文继续进行限速处理。
具体的,如果该类协议报文的真实速率与初始限速值误差很小,可以认为该类协议报文的真实速率与初始限速速率相差不大;例如,可以设置一个较小的阈值,如果该类协议报文的真实速率与初始限速值的误差低于设置的阈值时,则可以认为该类协议报文的真实速率与初始限速值相差不大。
对于真实速率与初始限速值相差不大的协议报文,在实现时CPU可以通知数据平面后续不对其继续进行限速处理,由数据平面在将该类协议报文存入FIFO前,删除该类协议报文的限速标记。
以上过程可以称之为对上送的协议报文进行的初始限速的过程。在完成了以上初始限速的过程后,由于数据平面根据初始限速值对上送CPU的协议报文进行限速,并未考虑CPU实际的负载状况。因此,CPU在对数据平面上送的协议报文进行处理前,还可以根据预设算法对各FIFO队列中的协议报文的限速值进行动态调整。
在本实施例中,所述预设算法可以是一种自适应算法,CPU可以通过运行该自适应算法对各FIFO队列中的协议报文的限速值进行动态调整。
具体的,CPU可以用每个FIFO队列中当前的报文数占该队列所能存放的报文总数的比例,来权衡是否需要对该队列中的协议报文的限速值进行调整。例如,在实现时,CPU可以为各FIFO队列统一设置一个与上述比值相关的高门限值和低门限值。其中所述高门限值和低门限值的设置在本申请不进行特别限定,在实现时可以根据需求设定。
CPU在针对单个FIFO队列进行限速值的调整时,首先计算各队列中协议报文的上送速率,比如在实现时,可以将单位时间内存入FIFO队列的报文数作为所述上送速率。由于此时数据平面在将协议报文存入FIFO队列前已经根据初始限速值进行了限速处理,因此所述上送速率实质上为数据平面根据初始限速值限速后的报文速率。
当计算出了所述协议报文的上送速率后,CPU可以判断该FIFO队列的上送速率是否超过CPU的最大处理速度,如果该FIFO队列的上送速率超过CPU的最大处理速度,此时CPU处理能力不足,该FIFO队列中的报文数会逐渐上升,当该FIFO队列中的报文数占该队列中所能存放报文的总数的比值,达到所述高门限值时,表明CPU当前已没有充足的处理能力来处理该队列中的后续报文,此时CPU可以对队列中的协议报文的初始限速值进行调整,将所述初始限速值按照预设比例降低后,作为一个新的限速值下发给数据平面。数据平面在收到CPU下发的新的限速值后,对上送的协议报文进行限速处理,从而缓解CPU的处理压力。
等同的,如果所述上送速率低于CPU的最大处理速度,此时CPU处理能力充足,该FIFO队列中的报文数会逐渐下降,当该FIFO队列中的报文数占该队列中所能存放报文的总数的比值逐渐下降,直到达到所述低门限值时,此时表明CPU当前有充足的处理能力来处理该队列中的后续报文,为了使CPU的大量处理资源不至于闲置,此时CPU可以对所述初始限速值进行调整,将所述初始限速值按照预设比例提高后,作为一个新的限速值下发给数据平面。数据平面在收到CPU下发的新的限速值后,对上送的协议报文进行限速处理,后续会有更多的协议报文被存入该FIFO队列。
其中,值得说明的是,对于一个FIFO队列中存在多种协议报文的情况,CPU在对队列中的协议报文的初始限速值进行调整时,可以以队列为单位,将队列的所有协议报文的初始限速值按照统一的比例进行调整;当然,在实现时,CPU也可以通过设置不同的比例,对FIFO队列中不同种类的协议报文的限速值分别进行调整,对此本申请中不进行特别限定,本领域技术人员可以根据实际情况进行选择。
在本实施例中,CPU在对队列中协议报文的限速值进行调整的过程中,仍然可以周期性的计算协议报文的真实速率,如果FIFO队列中协议报文的真实速率小于所述新的限速值,并且与所述新的限速值之间的误差低于阈值时,此时CPU的处理能力已经达到一种均衡的状态,CPU可以通知数据平面后续不对该类协议报文继续进行限速处理,由数据平面在将该类协议报文存入FIFO前,删除该类协议报文的限速标记。
其中,当CPU向数据平面下发新的限速值后,CPU的处理能力仍然没有达到一种均衡的状态的话,后续仍然可以按照以上方法继续对所述新的限速值进行调整,直到CPU的处理能力达到均衡的状态。
在本实施例中,当CPU的处理能力已经达到一种均衡的状态后,此时CPU会处于一种平稳的状态进行运行,各FIFO队列中的报文数占报文总数的比例始终保持在所述高门限值和低门限值之间,此时CPU受到大量协议报文的冲击而瘫痪的风险被降到了最低。
通过以上描述可知,本发明通过对上送的协议报文进行分类,在对分类完成的协议报文进行限速的过程中,通过设置高门限值和低门限值对各FIFO队列中的报文数占报文总数的比例进行监控,一旦所述比例超过高门限值或者低门限值后,立即触发对该FIFO队列中协议报文的限速值进行调整,从而最大程度的保证了该FIFO队列中的报文数处于一个合理的范围,在保护了CPU免受大量协议报文的冲击而瘫痪的同时,使得CPU始终运行在一种平稳的状态,不会存在CPU有时超负荷运行,有时资源使用率又很低的状况,因此充分的利用CPU的资源。
以下以一个具体的应用实例来详细阐述本发明。
假如设备的数据平面上送CPU的协议报文为capwap协议报文,此时协议报文只有一类,因此设备当前只存在唯一的FIFO队列。
假设该capwap协议报文的真实速率为180pps,FIFO队列队列长度200,初始限速值为100pps,CPU处理能力为60pps,高门限值为80%,低门限值为20%,限速值调整的比值为50%。
由于初始限速值100pps大于CPU的处理能力,初始情况CPU处理不过来,该FIFO队列中的报文数逐渐增多,当队列中的报文数占报文总数的比值超过80%后,CPU将初始限速值降低50%,向数据平面下发新的限速值100-50=50pps。
调整后的限速值50pps低于CPU的处理能力,因此该FIFO队列中的报文数逐渐减少,当队列中的报文数占报文总数的比值低于20%后,CPU将上述调整后的限速值提高50%,向数据平面下发新的限速值50+25=75pps。
此时调整后的限速值75pps再次大于CPU的处理能力,该FIFO队列中的报文数逐渐增多,对限速值继续进行调整;当队列中的报文数占报文总数的比值超过80%后,CPU将限速值降低50%,向数据平面下发新的限速值75-37=38pps。
此时调整后的限速值38pps再次低于CPU的处理能力,该FIFO队列中的报文数逐渐减少,当队列中的报文数占报文总数的比值低于20%后,CPU将上述调整后的限速值提高50%,向数据平面下发新的限速值38+19=57pps。
后续数据平面向该FIFO队列存入协议报文时,根据新下发的限速值57pps对协议报文进行限速,当限速后,CPU再次将限速后的协议报文的真实速率与当前的限速值进行比较,假设所述阈值为5pps,此时限速后的协议报文的真实速率与当前的限速值之间的误差小于阈值,可以认为限速值与协议报文的真实速率之间已经均衡,此时CPU会趋于稳定,于是CPU可以通知数据平面将该类协议报文的限速标记删除,后续不再进行限速处理。
与上述各方法实施例对应,本发明还提供装置项实施例。
请参见图4,本发明还提出一种报文限速装置40,应用于网络设备中;其中,请参见图5,作为承载所述报文限速装置40的网路设备涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等。以软件实现为例,本发明装置40通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置;所述装置40包括:
分类模块401,用于对待上送的协议报文进行报文分类;
调整模块402,用于根据预设算法为对每类协议报文的初始限速值进行动态调整;
限速模块403,用于基于调整后的限速值进行报文限速。
在本实施例中,所述装置还包括:
存放模块404,用于根据报文分类结果将每类协议报文分别存放到对应的报文队列;
所述调整模块402具体用于:
计算报文队列中协议报文的上送速率;
判断所述上送速率是否超过CPU的最大处理速率;
当所述上送速率超过所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的高门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例降低后的限速值;
如果否,不对所述初始限速值进行调整。
在本实施例中,所述存放模块404具体用于:
将每类协议报文分别存放到独立的报文队列;或者
将多类优先级相同的协议报文存放到同一报文队列。
在本实施例中,所述调整模块402具体用于:
当所述上送速率低于所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的低门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例提高后的限速值;
如果否,不对所述初始限速值进行调整。
在本实施例中,所述限速模块403具体用于:
当所述初始限速值或者所述新的限速值小于所述报文的真实速率,并且与所述协议报文的真实速率之间的误差低于阈值时,删除所述限速标记,不对所述协议报文进行限速。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述发明实施例编号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (10)
1.一种报文限速方法,其特征在于,所述方法包括:
对待上送的协议报文进行报文分类;
根据预设算法为对每类协议报文的初始限速值进行动态调整;
基于调整后的限速值进行报文限速。
2.如权利要求1所述的方法,其特征在于,所述根据预设算法为对每类协议报文的初始限速值进行动态调整包括:
根据报文分类结果将每类协议报文分别存放到对应的报文队列;
计算报文队列中协议报文的上送速率;
判断所述上送速率是否超过CPU的最大处理速率;
当所述上送速率超过所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的高门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例降低后的限速值;
如果否,不对所述初始限速值进行调整。
3.如权利要求2所述的方法,其特征在于,所述将每类协议报文分别存放到对应的报文队列包括:
将每类协议报文分别存放到独立的报文队列;或者
将多类优先级相同的协议报文存放到同一报文队列。
4.如权利要求2所述的方法,其特征在于,所述根据预设算法为对每类协议报文的初始限速值进行动态调整还包括:
当所述上送速率低于所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的低门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例提高后的限速值;
如果否,不对所述初始限速值进行调整。
5.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述初始限速值或者所述新的限速值小于所述报文的真实速率,并且与所述协议报文的真实速率之间的误差低于阈值时,删除所述限速标记,不对所述协议报文进行限速。
6.一种报文限速装置,其特征在于,所述装置包括:
分类模块,用于对待上送的协议报文进行报文分类;
调整模块,用于根据预设算法为对每类协议报文的初始限速值进行动态调整;
限速模块,用于基于调整后的限速值进行报文限速。
7.如权利要求6所述的装置,其特征在于,所述装置还包括:
存放模块,用于根据报文分类结果将每类协议报文分别存放到对应的报文队列;
所述调整模块具体用于:
计算报文队列中协议报文的上送速率;
判断所述上送速率是否超过CPU的最大处理速率;
当所述上送速率超过所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的高门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例降低后的限速值;
如果否,不对所述初始限速值进行调整。
8.如权利要求7所述的装置,其特征在于,所述存放模块具体用于:
将每类协议报文分别存放到独立的报文队列;或者
将多类优先级相同的协议报文存放到同一报文队列。
9.如权利要求7所述的方法,其特征在于,所述调整模块具体用于:
当所述上送速率低于所述CPU的最大处理速率时,判断该报文队列中当前报文数占报文存放总数的比例是否达到预设的低门限值;
如果是,为该报文队列中的协议报文下发新的限速值;其中所述新的限速值为所述初始限速值按照预设比例提高后的限速值;
如果否,不对所述初始限速值进行调整。
10.如权利要求7所述的装置,其特征在于,所述限速模块具体用于:
当所述初始限速值或者所述新的限速值小于所述报文的真实速率,并且与所述协议报文的真实速率之间的误差低于阈值时,删除所述限速标记,不对所述协议报文进行限速。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410577733.1A CN104283643B (zh) | 2014-10-24 | 2014-10-24 | 报文限速方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410577733.1A CN104283643B (zh) | 2014-10-24 | 2014-10-24 | 报文限速方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104283643A true CN104283643A (zh) | 2015-01-14 |
CN104283643B CN104283643B (zh) | 2018-06-12 |
Family
ID=52258163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410577733.1A Active CN104283643B (zh) | 2014-10-24 | 2014-10-24 | 报文限速方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104283643B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357184A (zh) * | 2015-10-08 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种交换机cpu的二级保护方法 |
CN106656857A (zh) * | 2016-12-29 | 2017-05-10 | 杭州迪普科技股份有限公司 | 一种报文限速的方法和装置 |
CN107094103A (zh) * | 2017-02-09 | 2017-08-25 | 北京小度信息科技有限公司 | 数据采集方法和装置 |
CN107888540A (zh) * | 2016-09-29 | 2018-04-06 | 华为技术有限公司 | 一种网络防攻击方法及网络设备 |
CN107959638A (zh) * | 2017-11-23 | 2018-04-24 | 迈普通信技术股份有限公司 | 报文发送方法及装置 |
WO2018137546A1 (en) * | 2017-01-25 | 2018-08-02 | Huawei Technologies Co., Ltd. | Intelligent event streaming |
CN109587079A (zh) * | 2018-12-14 | 2019-04-05 | 北京物芯科技有限责任公司 | 一种oam业务处理系统和方法 |
CN110677188A (zh) * | 2019-09-23 | 2020-01-10 | 四川安迪科技实业有限公司 | 卫星通信空口限速动态调整方法、发送方法及装置 |
CN116319624A (zh) * | 2023-05-24 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种报文处理方法、装置、设备和存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064538A1 (en) * | 2002-09-27 | 2004-04-01 | Broadcom Corporation | System and method of a management information base (MIB) Autocast in a communications network |
CN101083563A (zh) * | 2007-07-20 | 2007-12-05 | 杭州华三通信技术有限公司 | 一种防分布式拒绝服务攻击的方法及设备 |
CN101631077A (zh) * | 2009-08-24 | 2010-01-20 | 中兴通讯股份有限公司 | 一种报文处理方法及装置 |
CN101651629A (zh) * | 2009-09-17 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种cpu接收报文分级动态调度的方法及设备 |
CN101710897A (zh) * | 2009-11-20 | 2010-05-19 | 中兴通讯股份有限公司 | Cpu保护方法及其装置 |
CN101719928A (zh) * | 2009-11-24 | 2010-06-02 | 福建星网锐捷网络有限公司 | 一种队列调度调节方法、装置及交换机 |
CN103441946A (zh) * | 2013-09-05 | 2013-12-11 | 上海斐讯数据通信技术有限公司 | 保护cpu的大流量攻击识别方法及装置 |
-
2014
- 2014-10-24 CN CN201410577733.1A patent/CN104283643B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064538A1 (en) * | 2002-09-27 | 2004-04-01 | Broadcom Corporation | System and method of a management information base (MIB) Autocast in a communications network |
CN101083563A (zh) * | 2007-07-20 | 2007-12-05 | 杭州华三通信技术有限公司 | 一种防分布式拒绝服务攻击的方法及设备 |
CN101631077A (zh) * | 2009-08-24 | 2010-01-20 | 中兴通讯股份有限公司 | 一种报文处理方法及装置 |
CN101651629A (zh) * | 2009-09-17 | 2010-02-17 | 杭州华三通信技术有限公司 | 一种cpu接收报文分级动态调度的方法及设备 |
CN101710897A (zh) * | 2009-11-20 | 2010-05-19 | 中兴通讯股份有限公司 | Cpu保护方法及其装置 |
CN101719928A (zh) * | 2009-11-24 | 2010-06-02 | 福建星网锐捷网络有限公司 | 一种队列调度调节方法、装置及交换机 |
CN103441946A (zh) * | 2013-09-05 | 2013-12-11 | 上海斐讯数据通信技术有限公司 | 保护cpu的大流量攻击识别方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105357184A (zh) * | 2015-10-08 | 2016-02-24 | 上海斐讯数据通信技术有限公司 | 一种交换机cpu的二级保护方法 |
CN107888540A (zh) * | 2016-09-29 | 2018-04-06 | 华为技术有限公司 | 一种网络防攻击方法及网络设备 |
CN107888540B (zh) * | 2016-09-29 | 2020-12-25 | 华为技术有限公司 | 一种网络防攻击方法及网络设备 |
CN106656857A (zh) * | 2016-12-29 | 2017-05-10 | 杭州迪普科技股份有限公司 | 一种报文限速的方法和装置 |
US10594760B2 (en) | 2017-01-25 | 2020-03-17 | Futurewei Technologies, Inc. | Intelligent event streaming |
WO2018137546A1 (en) * | 2017-01-25 | 2018-08-02 | Huawei Technologies Co., Ltd. | Intelligent event streaming |
CN110249606A (zh) * | 2017-01-25 | 2019-09-17 | 华为技术有限公司 | 智能事件流 |
CN107094103A (zh) * | 2017-02-09 | 2017-08-25 | 北京小度信息科技有限公司 | 数据采集方法和装置 |
CN107094103B (zh) * | 2017-02-09 | 2020-05-05 | 北京星选科技有限公司 | 数据采集方法和装置 |
CN107959638A (zh) * | 2017-11-23 | 2018-04-24 | 迈普通信技术股份有限公司 | 报文发送方法及装置 |
CN109587079B (zh) * | 2018-12-14 | 2020-11-20 | 北京物芯科技有限责任公司 | 一种oam业务处理系统和方法 |
CN109587079A (zh) * | 2018-12-14 | 2019-04-05 | 北京物芯科技有限责任公司 | 一种oam业务处理系统和方法 |
CN110677188A (zh) * | 2019-09-23 | 2020-01-10 | 四川安迪科技实业有限公司 | 卫星通信空口限速动态调整方法、发送方法及装置 |
CN110677188B (zh) * | 2019-09-23 | 2021-05-28 | 四川安迪科技实业有限公司 | 卫星通信空口限速动态调整方法、发送方法及装置 |
CN116319624A (zh) * | 2023-05-24 | 2023-06-23 | 苏州浪潮智能科技有限公司 | 一种报文处理方法、装置、设备和存储介质 |
CN116319624B (zh) * | 2023-05-24 | 2023-08-22 | 苏州浪潮智能科技有限公司 | 一种报文处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104283643B (zh) | 2018-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104283643A (zh) | 报文限速方法和装置 | |
US9568975B2 (en) | Power balancing to increase workload density and improve energy efficiency | |
CN103460199B (zh) | 基于业务类别的自适应中断调整 | |
CN101547159B (zh) | 一种避免网络拥塞的方法和设备 | |
CN104954274A (zh) | 生成转发信息的方法、控制器和业务转发实体 | |
CN104168222A (zh) | 一种报文传输方法和设备 | |
CN104301248A (zh) | 报文限速方法和装置 | |
CN105591934A (zh) | 一种流表的管理方法和装置 | |
CN107896196B (zh) | 一种分配报文的方法和装置 | |
CN108093047B (zh) | 数据发送方法、装置、电子设备及中间件系统 | |
CN112866985A (zh) | 流量控制方法、资源下载方法、装置、设备和存储介质 | |
CN116094815B (zh) | 基于流量自适应控制调节的数据加密处理方法及装置 | |
CN114978998B (zh) | 一种流量控制方法、装置、终端及存储介质 | |
CN106209676A (zh) | 基于多设备的云主机系统的数据处理方法及装置 | |
CN102685227A (zh) | 一种云会议的消息调度方法及系统 | |
CN113726883B (zh) | 云数据处理方法、相关装置及计算机程序产品 | |
CN104202297A (zh) | 一种动态地适应服务器性能的防攻击方法和设备 | |
WO2021129228A1 (zh) | 一种电子邮件的发送方法及装置 | |
US11924061B2 (en) | Required communication quality estimation apparatus, required communication quality estimation method and program | |
US20170153924A1 (en) | Method for request scheduling and scheduling device | |
CN113765796A (zh) | 流量转发控制方法及装置 | |
CN110034973B (zh) | 基于网络设备的转发映射表维护方法及装置 | |
CN107888540B (zh) | 一种网络防攻击方法及网络设备 | |
CN107371263A (zh) | 上行资源的调度方法和装置 | |
CN106921607B (zh) | 一种密码服务器集群下的密码运算管理方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |