CN111464456A - 一种流量控制方法及装置 - Google Patents
一种流量控制方法及装置 Download PDFInfo
- Publication number
- CN111464456A CN111464456A CN202010244161.0A CN202010244161A CN111464456A CN 111464456 A CN111464456 A CN 111464456A CN 202010244161 A CN202010244161 A CN 202010244161A CN 111464456 A CN111464456 A CN 111464456A
- Authority
- CN
- China
- Prior art keywords
- message
- message processing
- data source
- flow
- data sources
- 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
Images
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/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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/24—Traffic characterised by specific attributes, e.g. priority or QoS
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种流量控制方法及装置,所述方法应用于网络设备;所述网络设备包括若干具有编号的报文处理通道,所述网络设备与若干数据源相连接;所述方法包括:接收所述若干数据源各自发出的报文流;将接收到的各报文流中的报文,按照在所属的报文流中的先后顺序,以及所述若干报文处理通道的编号顺序,依次分流至各报文处理通道;针对各报文处理通道中的任一目标报文处理通道,统计分流至该目标报文处理通道的来自各数据源的报文的流量大小,并基于所述流量大小在所述若干数据源中确定目标数据源;针对所述目标数据源发送的报文进行限流。
Description
技术领域
本申请涉及计算机应用领域,尤其涉及一种流量控制方法及装置。
背景技术
在网络设备中,经常需要将来自多个数据源的报文分流至下游的多个数据处理通道,以使后续的工作能够并行处理,提高业务效率;在实际应用中,为了使上述分流过程相对均匀,通常采用根据报文的五元组计算hash值,再基于该hash值对接收接口的数目取余的结果,将报文分流至各接收接口。
上述并行处理的后续的工作中,任一数据处理通道遇到性能瓶颈时,即可启动对数据源的流量限制,保证后续工作不会堆积;然而实际操作中,单一限制某个数据源并不一定能够保证遇到性能瓶颈的数据处理通道的堆积情况得到改善,所以通常对所有的数据源均进行限制,进而导致其他接收接口的性能浪费,最终影响整体业务的处理速度。
发明内容
有鉴于此,本申请公开了一种流量控制方法和装置。
根据本申请实施例的第一方面,公开了一种流量控制方法,应用于网络设备;所述网络设备包括若干具有编号的报文处理通道,所述网络设备与若干数据源相连接;所述方法包括:
接收所述若干数据源各自发出的报文流,并将接收到的各报文流中的报文,按照在所属的报文流中的先后顺序,以及所述若干报文处理通道的编号顺序,依次分流至各报文处理通道;
针对各报文处理通道中的任一目标报文处理通道,统计分流至该目标报文处理通道的来自各数据源的报文的流量大小,并基于所述流量大小在所述若干数据源中确定目标数据源;
针对所述目标数据源发送的报文进行限流。
根据本申请实施例的第二方面,公开了一种流量控制装置,应用于网络设备;所述网络设备包括若干具有编号的报文处理通道,所述网络设备与若干数据源相连接;所述装置包括:
报文分流模块,接收所述若干数据源各自发出的报文流,并将接收到的各报文流中的报文,按照在所属的报文流中的先后顺序,以及所述若干报文处理通道的编号顺序,依次分流至各报文处理通道;
目标数据源确定模块,针对各报文处理通道中的任一目标报文处理通道,统计分流至该目标报文处理通道的来自各数据源的报文的流量大小,并基于所述流量大小在所述若干数据源中确定目标数据源;
流量限制执行模块,针对所述目标数据源发送的报文进行限流。
以上技术方案中,一方面,由于采用了轮询分流的方式分流报文,理论上报文会被平均分配到每一个接收接口;因此,避免了hash分流可能带来的分流不均,进而导致个别报文处理通道的压力过大,需要限制流量的情况。
另一方面,轮询分配报文的方式,使得在限制流量时,即使仅限制多个数据源中的部分数据源的流量,也能保证任意的报文处理通道的瓶颈状况得到改善,因此无需限制所有数据源的流量,能够相对减少性能损失,保证业务的处理效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书文本一同用于解释原理。
图1是本说明书所述网络设备与数据源的结构示例图;
图2是本说明书所述流量控制方法的流程示意图;
图3是本说明书所述报文分流过程的示意图;
图4是本说明书所述流量控制装置的结构示例图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的系统和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
请参见图1,图1为本说明书示出的网络设备与数据源的结构示例图;
如图1所示,该网络设备与若干个(图1中示出了两个)数据源相连接,并包括若干个(图1中示出了4个)数据处理通道。
其中,数据源用于向上述网络设备发送待处理的报文;具体而言,数据源可以是多块交换芯片,也可以是同一块交换芯片上的多个输出接口。
数据处理通道用于对接收到的报文进行处理,例如定向转发、内容审查等等;在上述网络设备中,要求上述数据处理通道能够并行运行。
在本说明书中,上述网络设备可以为任意具有并行处理能力的硬件,例如多核心CPU等等,具体的硬件类型可以由本领域技术人员根据具体需求进行设计,本说明书无需进行具体的限定。
在示出的一种实施方式中,上述网络设备可以为FPGA(Field Programmable GateArray,现场可编程逻辑门阵列),其中的若干报文处理通道可以为FPGA中构建出的若干FPGA计算引擎。
在网络设备中,经常需要将来自多个数据源的报文分流至下游的多个数据处理通道,以使后续的工作能够并行处理,提高业务效率;在实际应用中,为了使上述分流过程相对均匀,通常采用根据报文的五元组计算hash值,再基于该hash值对接收接口的数目取余的结果,将报文分流至各接收接口。
上述并行处理的后续的工作中,任一数据处理通道遇到性能瓶颈时,即可启动对数据源的流量限制,保证后续工作不会堆积;然而实际操作中,单一限制某个数据源并不一定能够保证遇到性能瓶颈的数据处理通道的堆积情况得到改善,所以通常对所有的数据源均进行限制,进而导致其他接收接口的性能浪费,最终影响整体业务的处理速度。
经过分析,导致单一限制某个数据源并不一定能够保证遇到性能瓶颈的数据处理通道的堆积情况得到改善的原因在于hash计算的方式存在一定不确定性;一方面,hash计算之后的结果取余的结果可能并非均匀分布,导致不同的报文处理通道收到的待处理报文的数目有多有少,因而收到更多报文的报文处理通道更容易遇到性能瓶颈、任务堆积的情况;另一方面,即使当前发现某报文处理通道的任务堆积是由于数据源A的报文过多,对数据源A的报文进行了限流,可能下一刻,数据源B的大量报文又因为hash计算的不确定性被分配到了该报文处理通道中,任务堆积的情况就可能无法改善,只能将所有的数据源的报文均进行限流,才能确定无疑地降低该报文处理通道的性能压力。
基于此,本说明书提出一种根据报文在报文流中的顺序,依次将报文分配给若干报文处理通道,并在需要限流时仅对部分数据源的报文进行限流的技术方案。
在实现时,不采用常见的hash计算后根据取余结果分流的方式,而是直接采用类似轮询的方式,将数据源发来的报文流中的报文依次分配给若干报文处理通道;在确定需要限流的数据源时,可以根据报文处理通道中收到的来自各数据源的报文的流量大小,确定上述若干数据源中,对该报文处理通道造成较多压力的数据源进行限流。
在以上技术方案中,一方面,由于采用了轮询分流的方式分流报文,理论上报文会被平均分配到每一个接收接口;因此,避免了hash分流可能带来的分流不均,进而导致个别报文处理通道的压力过大,需要限制流量的情况。
另一方面,轮询分配报文的方式,使得在限制流量时,即使仅限制多个数据源中的部分数据源的流量,也能保证报文处理通道的瓶颈状况得到改善,因此不再需要限制所有数据源的流量,能够相对减少性能损失,保证业务的处理效率。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图2,图2是本说明书所述流量控制方法的流程示意图;该方法可以应用于结构如图1示例中的网络设备;上述网络设备包括若干具有编号的报文处理通道,上述网络设备与若干数据源相连接;上述方法执行以下步骤:
S201,接收所述若干数据源各自发出的报文流,并将接收到的各报文流中的报文,按照在所属的报文流中的先后顺序,以及所述若干报文处理通道的编号顺序,依次分流至各报文处理通道;
S202,针对各报文处理通道中的任一目标报文处理通道,统计分流至该目标报文处理通道的来自各数据源的报文的流量大小,并基于所述流量大小在所述若干数据源中确定目标数据源;
S203,针对所述目标数据源发送的报文进行限流。
在本说明书中,该网络设备在接收到上述若干数据源发出的数据流之后,即可将上述数据流分流至上述若干报文处理通道中,是一个“多对多”的分流过程;具体而言,每一条数据流的分流都是一个“一对多”的分流过程,而上述“多对多”的分流过程即为将每一个“一对多”的分流模式应用到上述多个数据源发出的报文流上。
请参见图3,图3是本说明书所述报文分流过程的示意图,为方便表述,以一个数据源A、四个报文处理通道1234为例,对该“一对四”的分流过程进行描述:
对于任意一个数据源发出的报文流而言,流内的报文均存在先后顺序,因此,上述网络设备可以根据该顺序,以及报文处理通道被预先设置的编号顺序,将流中的报文逐一发往各个报文处理通道;
例如,将A1报文发往报文处理通道1,将A2报文发往报文处理通道2,等等;可以理解的是,该过程可以采用类似轮询的方式完成,例如将报文依次发往报文处理通道1、报文处理通道2、报文处理通道3、报文处理通道4、报文处理通道1、报文处理通道2、报文处理通道3……如此循环,也可以采取类似往复的方式完成,例如将报文依次发往报文处理通道1、报文处理通道2、报文处理通道3、报文处理通道4、报文处理通道4、报文处理通道3、报文处理通道2、报文处理通道1……
可见,上述多种具体的循环方式均可以达到将来自数据源A的报文分流至所有报文处理通道中的目的;因此,本方案只需保证借助报文自身的次序以及报文处理通道的编号,完成报文分流即可,对于具体的实现方式,本领域技术人员可以参照相关技术文档完成具体设计,本申请无需进行具体限定。
在本说明书中,可以响应于任何启动流量控制的指令,开始进行流量控制;具体而言,该指令可以是用户发出的,也可以使该网络设备自动触发的;例如,管理员发现某报文处理通道的工作状态异常,故而发出启动流量控制的指令;又例如自动监控机制发现某报文处理通道长时间处于满载状态,因此可以发出启动流量控制的指令;因此,在何种条件下触发流量控制,本领域技术人员可以根据具体开发环境自行设定触发条件,本说明书无需进行详细限定。
在本说明书中,可以根据任一目标报文处理通道所接收到的报文的流量大小以及来源,确定需要进行流量控制的数据源;
其中,目标报文处理通道的选择方式,可以是确定占用率超过预设占用率阈值的报文处理通道为目标报文处理通道,也可以是确定满载时长超过预设满载时长阈值的报文处理通道,也可以是确定对应的温度传感器回报温度超过预设温度阈值的报文处理通道为目标报文处理通道;因此,具体确定目标报文处理通道的方式,本申请无需进行具体限定;
可以理解的是,一般取工作状态异常的报文处理通道作为目标报文处理通道,以便后续过程中,通过对其接收到的报文的分析,确定目标数据源并进行限流,以改善该目标报文处理通道的异常工作状态。
其中,根据目标报文处理通道所接收到的报文的流量大小以及来源,确定需要进行流量控制的数据源,具体确定的标准可以根据实际需求而设计。
在示出的一种实施方式中,可以将各个数据源中,分流至该报文处理通道的报文的流量大小超过预设阈值的数据源,确定为目标数据源;具体而言,假设某数据源分配到该报文处理通道的报文流量极大,那么,该数据源就很可能是导致该报文处理通道工作状态异常的原因,因此,可以确定该数据源为目标数据源;
例如,报文处理通道2工作状态异常并被确定为目标报文处理通道,分流至该报文处理通道2的报文中,来自数据源C的报文的流量大小超过了预设的阈值,那么就可以推断数据源C向报文处理通道2发送了流量过大的报文,导致了上述异常情况,则可以将数据源C确定为目标数据源。
在示出的一种实施方式中,可以将各个数据源中,分流至该报文处理通道的报文的流量大小最大的N个数据源,确定为目标数据源;其中,N为预设的、不大于数据源总数的正整数;具体而言,如果将分流至该报文处理通道的报文的流量由大到小按照数据源进行排序,那么排名更靠前的数据源显然对该报文处理通道造成了更大的性能压力,因此可以选择该排名中的前N个数据源作为目标数据源;
例如,报文处理通道3工作状态异常并被确定为目标报文处理通道,预设N为2,将分流至该报文处理通道的报文的流量由大到小按照数据源进行排序,来自数据源B、C的报文的流量大小在上述排序中占据前两名,那么就可以推断数据源B以及C向报文处理通道2发送了流量过大的报文,导致了上述异常情况,则可以将数据源B以及C确定为目标数据源。
在本说明书中,在确定目标数据源后,即可针对该目标数据源发送的报文进行限流;可以理解的是,目标数据源可以为一个数据源,也可以为多个数据源构成的集合;具体限流的手段,本领域技术人员可以结合相关技术文献进行设计,本说明书对此无需进行具体限定。
通过上述方式确定目标数据源,使得进行流量限制时仅针对目标数据源,而非全体数据源,因此能够相对减小限流带来的负面影响的范围;然而,依然存在一种情况,即,进行流量限制之后,依然存在异常情况,需要进一步限流。
在本说明书中,可以在限流动作执行后,确定是否需要进一步限流,并以更进一步的限流方式,以期改善异常状况。
在示出的一种实施方式中,可以首先确定是否需要进一步限制流量;并在需要进一步限制流量的情况下,增大上述N的值,重新确定目标数据源,并针对目标数据源发送的报文进行限流;
例如,在一轮限流之后,发现目标报文处理通道的的负载状况虽然有所改善,但仍然处于异常状态,因此确定需要进一步限流,则将上例中的N从2增大到3,也即,扩大了限制流量会影响到的数据源的范围,以选中更多的数据源作为目标数据源,并对目标数据源发出的报文进行限流。
采用上述方法,即可通过增加目标数据源的数量,以获取更显著的限流效果,进而改善报文处理通道的异常状况。
请参考图4,图2是本说明书所述流量控制装置的结构示例图;该装置可以应用于结构如图1示例中的网络设备;上述网络设备包括若干具有编号的报文处理通道,上述网络设备与若干数据源相连接;上述装置包括以下模块:
报文分流模块401,接收所述若干数据源各自发出的报文流,并将接收到的各报文流中的报文,按照在所属的报文流中的先后顺序,以及所述若干报文处理通道的编号顺序,依次分流至各报文处理通道;
目标数据源确定模块402,针对各报文处理通道中的任一目标报文处理通道,统计分流至该目标报文处理通道的来自各数据源的报文的流量大小,并基于所述流量大小在所述若干数据源中确定目标数据源;
流量限制执行模块403,针对所述目标数据源发送的报文进行限流。
在本说明书中,报文分流模块401在接收到上述若干数据源发出的数据流之后,即可将上述数据流分流至上述若干报文处理通道中;具体而言,对于任意一个数据源发出的报文流而言,流内的报文均存在先后顺序,因此,上述网络设备可以根据该顺序,以及报文处理通道被预先设置的编号顺序,将流中的报文逐一发往各个报文处理通道;同时,对于其他报文流也采取类似的措施。
例如,将A1报文发往报文处理通道1,将A2报文发往报文处理通道2,等等;可以理解的是,该过程可以采用类似轮询的方式完成,例如将报文依次发往报文处理通道1、报文处理通道2、报文处理通道3、报文处理通道4、报文处理通道1、报文处理通道2、报文处理通道3……如此循环,也可以采取类似往复的方式完成,例如将报文依次发往报文处理通道1、报文处理通道2、报文处理通道3、报文处理通道4、报文处理通道4、报文处理通道3、报文处理通道2、报文处理通道1……
可见,上述多种具体的循环方式均可以达到将来自数据源A的报文分流至所有报文处理通道中的目的;因此,本方案只需保证借助报文自身的次序以及报文处理通道的编号,完成报文分流即可,对于具体的实现方式,本领域技术人员可以参照相关技术文档完成具体设计,本申请无需进行具体限定。
在本说明书中,目标数据源确定模块402可以根据任一目标报文处理通道所接收到的报文的流量大小以及来源,确定需要进行流量控制的数据源;
其中,目标报文处理通道的选择方式,可以是确定占用率超过预设占用率阈值的报文处理通道为目标报文处理通道,也可以是确定满载时长超过预设满载时长阈值的报文处理通道,也可以是确定对应的温度传感器回报温度超过预设温度阈值的报文处理通道为目标报文处理通道;因此,具体确定目标报文处理通道的方式,本申请无需进行具体限定;
可以理解的是,一般取工作状态异常的报文处理通道作为目标报文处理通道,以便后续过程中,通过对其接收到的报文的分析,确定目标数据源并进行限流,以改善该目标报文处理通道的异常工作状态。
其中,根据目标报文处理通道所接收到的报文的流量大小以及来源,确定需要进行流量控制的数据源,具体确定的标准可以根据实际需求而设计。
在示出的一种实施方式中,报文分流模块401可以将各个数据源中,分流至该报文处理通道的报文的流量大小超过预设阈值的数据源,确定为目标数据源;具体而言,假设某数据源分配到该报文处理通道的报文流量极大,那么,该数据源就很可能是导致该报文处理通道工作状态异常的原因,因此,可以确定该数据源为目标数据源;
例如,报文处理通道2工作状态异常并被确定为目标报文处理通道,分流至该报文处理通道2的报文中,来自数据源C的报文的流量大小超过了预设的阈值,那么就可以推断数据源C向报文处理通道2发送了流量过大的报文,导致了上述异常情况,则可以将数据源C确定为目标数据源。
在示出的一种实施方式中,报文分流模块401可以将各个数据源中,分流至该报文处理通道的报文的流量大小最大的N个数据源,确定为目标数据源;其中,N为预设的、不大于数据源总数的正整数;具体而言,如果将分流至该报文处理通道的报文的流量由大到小按照数据源进行排序,那么排名更靠前的数据源显然对该报文处理通道造成了更大的性能压力,因此可以选择该排名中的前N个数据源作为目标数据源;
例如,报文处理通道3工作状态异常并被确定为目标报文处理通道,预设N为2,将分流至该报文处理通道的报文的流量由大到小按照数据源进行排序,来自数据源B、C的报文的流量大小在上述排序中占据前两名,那么就可以推断数据源B以及C向报文处理通道2发送了流量过大的报文,导致了上述异常情况,则可以将数据源B以及C确定为目标数据源。
在本说明书中,在确定目标数据源后,流量限制执行模块403即可针对该目标数据源发送的报文进行限流;可以理解的是,目标数据源可以为一个数据源,也可以为多个数据源构成的集合;具体限流的手段,本领域技术人员可以结合相关技术文献进行设计,本说明书对此无需进行具体限定。
通过上述方式确定目标数据源,使得进行流量限制时仅针对目标数据源,而非全体数据源,因此能够相对减小限流带来的负面影响的范围;然而,依然存在一种情况,即,进行流量限制之后,依然存在异常情况,需要进一步限流。
在本说明书中,上述装置可以在限流动作执行后,确定是否需要进一步限流,并以更进一步的限流方式,以期改善异常状况。
在示出的一种实施方式中,该装置可以包括目标数据源重设模块,用于首先确定是否需要进一步限制流量;并在需要进一步限制流量的情况下,增大上述N的值,重新确定目标数据源,并针对目标数据源发送的报文进行限流;
例如,在一轮限流之后,目标数据源重设模块发现目标报文处理通道的的负载状况虽然有所改善,但仍然处于异常状态,因此确定需要进一步限流,则将上例中的N从2增大到3,也即,扩大了限制流量会影响到的数据源的范围,以选中更多的数据源作为目标数据源,并对目标数据源发出的报文进行限流。
采用上述方法,即可通过增加目标数据源的数量,以获取更显著的限流效果,进而改善报文处理通道的异常状况。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。
Claims (10)
1.一种流量控制方法,应用于网络设备;所述网络设备包括若干具有编号的报文处理通道,所述网络设备与若干数据源相连接;所述方法包括:
接收所述若干数据源各自发出的报文流,并将接收到的各报文流中的报文,按照在所属的报文流中的先后顺序,以及所述若干报文处理通道的编号顺序,依次分流至各报文处理通道;
针对各报文处理通道中的任一目标报文处理通道,统计分流至该目标报文处理通道的来自各数据源的报文的流量大小,并基于所述流量大小在所述若干数据源中确定目标数据源;
针对所述目标数据源发送的报文进行限流。
2.根据权利要求1所述的方法,所述基于所述流量大小在所述若干数据源中确定目标数据源,包括:
将各个数据源中,分流至该报文处理通道的报文的流量大小超过预设阈值的数据源,确定为目标数据源。
3.根据权利要求1所述的方法,所述基于所述流量大小在所述若干数据源中确定目标数据源,包括:
将各个数据源中,分流至该报文处理通道的报文的流量大小最大的N个数据源,确定为目标数据源;其中,N为预设的、不大于数据源总数的正整数。
4.根据权利要求3所述的方法,所述方法还包括:
确定是否需要进一步限制流量;
在需要进一步限制流量的情况下,增大所述N的值;
重新确定目标数据源,并针对所述目标数据源发送的报文进行限流。
5.根据权利要求1所述的方法,所述网络设备包括FPGA,所述若干报文处理通道包括若干FPGA计算引擎。
6.一种流量控制装置,应用于网络设备;所述网络设备包括若干具有编号的报文处理通道,所述网络设备与若干数据源相连接;所述装置包括:
报文分流模块,接收所述若干数据源各自发出的报文流,并将接收到的各报文流中的报文,按照在所属的报文流中的先后顺序,以及所述若干报文处理通道的编号顺序,依次分流至各报文处理通道;
目标数据源确定模块,针对各报文处理通道中的任一目标报文处理通道,统计分流至该目标报文处理通道的来自各数据源的报文的流量大小,并基于所述流量大小在所述若干数据源中确定目标数据源;
流量限制执行模块,针对所述目标数据源发送的报文进行限流。
7.根据权利要求6所述的装置,所述目标数据源确定模块进一步:
将各个数据源中,分流至该报文处理通道的报文的流量大小超过预设阈值的数据源,确定为目标数据源。
8.根据权利要求6所述的装置,所述目标数据源确定模块进一步:
将各个数据源中,分流至该报文处理通道的报文的流量大小最大的N个数据源,确定为目标数据源;其中,N为预设的、不大于数据源总数的正整数。
9.根据权利要求8所述的装置,所述装置还包括:
目标数据源重设模块,确定是否需要进一步限制流量;在需要进一步限制流量的情况下,增大所述N的值;重新确定目标数据源,并针对所述目标数据源发送的报文进行限流。
10.根据权利要求6所述的装置,所述网络设备包括FPGA,所述若干报文处理通道包括若干FPGA计算引擎。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010244161.0A CN111464456B (zh) | 2020-03-31 | 2020-03-31 | 一种流量控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010244161.0A CN111464456B (zh) | 2020-03-31 | 2020-03-31 | 一种流量控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464456A true CN111464456A (zh) | 2020-07-28 |
CN111464456B CN111464456B (zh) | 2023-08-29 |
Family
ID=71680144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010244161.0A Active CN111464456B (zh) | 2020-03-31 | 2020-03-31 | 一种流量控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464456B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124854A (zh) * | 2021-11-29 | 2022-03-01 | 北京天融信网络安全技术有限公司 | 报文处理方法、装置、电子设备及可读存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072176A (zh) * | 2007-04-02 | 2007-11-14 | 华为技术有限公司 | 一种报文处理的方法和系统 |
CN102110074A (zh) * | 2011-01-21 | 2011-06-29 | 杭州华三通信技术有限公司 | 多核处理器及流分类控制装置和方法 |
US20120166645A1 (en) * | 2010-12-27 | 2012-06-28 | Nokia Corporation | Method and apparatus for load balancing in multi-level distributed computations |
WO2016172958A1 (zh) * | 2015-04-30 | 2016-11-03 | 华为技术有限公司 | 一种流量动态控制方法、设备及网关、融合接入汇聚点 |
US9559961B1 (en) * | 2013-04-16 | 2017-01-31 | Amazon Technologies, Inc. | Message bus for testing distributed load balancers |
CN106961445A (zh) * | 2017-04-28 | 2017-07-18 | 中国人民解放军信息工程大学 | 基于fpga硬件并行流水线的报文解析方法及其装置 |
CN107015942A (zh) * | 2017-03-23 | 2017-08-04 | 杭州迪普科技股份有限公司 | 一种多核cpu发包的方法及装置 |
WO2017215392A1 (zh) * | 2016-06-13 | 2017-12-21 | 华为技术有限公司 | 一种网络拥塞控制方法、设备及系统 |
CN108092913A (zh) * | 2017-12-27 | 2018-05-29 | 杭州迪普科技股份有限公司 | 一种报文分流的方法和多核cpu网络设备 |
CN108259369A (zh) * | 2018-01-26 | 2018-07-06 | 迈普通信技术股份有限公司 | 一种数据报文的转发方法及装置 |
CN109218226A (zh) * | 2017-07-03 | 2019-01-15 | 迈普通信技术股份有限公司 | 报文处理方法及网络设备 |
US20190068759A1 (en) * | 2017-07-31 | 2019-02-28 | Nicira, Inc. | Application based egress interface selection |
CN109831524A (zh) * | 2019-03-11 | 2019-05-31 | 平安科技(深圳)有限公司 | 一种负载均衡处理方法及装置 |
CN110798400A (zh) * | 2019-10-23 | 2020-02-14 | 新华三信息安全技术有限公司 | 报文转发方法及装置 |
-
2020
- 2020-03-31 CN CN202010244161.0A patent/CN111464456B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101072176A (zh) * | 2007-04-02 | 2007-11-14 | 华为技术有限公司 | 一种报文处理的方法和系统 |
US20120166645A1 (en) * | 2010-12-27 | 2012-06-28 | Nokia Corporation | Method and apparatus for load balancing in multi-level distributed computations |
CN102110074A (zh) * | 2011-01-21 | 2011-06-29 | 杭州华三通信技术有限公司 | 多核处理器及流分类控制装置和方法 |
US9559961B1 (en) * | 2013-04-16 | 2017-01-31 | Amazon Technologies, Inc. | Message bus for testing distributed load balancers |
WO2016172958A1 (zh) * | 2015-04-30 | 2016-11-03 | 华为技术有限公司 | 一种流量动态控制方法、设备及网关、融合接入汇聚点 |
WO2017215392A1 (zh) * | 2016-06-13 | 2017-12-21 | 华为技术有限公司 | 一种网络拥塞控制方法、设备及系统 |
CN107015942A (zh) * | 2017-03-23 | 2017-08-04 | 杭州迪普科技股份有限公司 | 一种多核cpu发包的方法及装置 |
CN106961445A (zh) * | 2017-04-28 | 2017-07-18 | 中国人民解放军信息工程大学 | 基于fpga硬件并行流水线的报文解析方法及其装置 |
CN109218226A (zh) * | 2017-07-03 | 2019-01-15 | 迈普通信技术股份有限公司 | 报文处理方法及网络设备 |
US20190068759A1 (en) * | 2017-07-31 | 2019-02-28 | Nicira, Inc. | Application based egress interface selection |
CN108092913A (zh) * | 2017-12-27 | 2018-05-29 | 杭州迪普科技股份有限公司 | 一种报文分流的方法和多核cpu网络设备 |
CN108259369A (zh) * | 2018-01-26 | 2018-07-06 | 迈普通信技术股份有限公司 | 一种数据报文的转发方法及装置 |
CN109831524A (zh) * | 2019-03-11 | 2019-05-31 | 平安科技(深圳)有限公司 | 一种负载均衡处理方法及装置 |
CN110798400A (zh) * | 2019-10-23 | 2020-02-14 | 新华三信息安全技术有限公司 | 报文转发方法及装置 |
Non-Patent Citations (3)
Title |
---|
PADMASHREE M G: "An enhanced method to improve the performance of CPU scheduling using sort-split Round-Robin technique for load balancing" * |
王明贞;赵国鸿;唐勇;: "基于多核网络处理器的高效流管理技术研究", no. 12 * |
鞠海玲;崔莉;黄长城;: "EasiCC:一种保证带宽公平性的传感器网络拥塞控制机制", 计算机研究与发展, no. 01 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114124854A (zh) * | 2021-11-29 | 2022-03-01 | 北京天融信网络安全技术有限公司 | 报文处理方法、装置、电子设备及可读存储介质 |
CN114124854B (zh) * | 2021-11-29 | 2024-02-09 | 天融信雄安网络安全技术有限公司 | 报文处理方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111464456B (zh) | 2023-08-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7890620B2 (en) | Monitoring system and monitoring method | |
CN109684269B (zh) | 一种pcie交换芯片内核及工作方法 | |
US10169280B2 (en) | Data processing apparatus and terminal | |
CN107819797B (zh) | 访问请求处理方法和装置 | |
CN102301664B (zh) | 多核处理器的流分发方法及装置 | |
CN113328944B (zh) | 一种流表管理方法及装置 | |
CN111507479B (zh) | 特征分箱方法、装置、设备及计算机可读存储介质 | |
CN111107012B (zh) | 一种多维度集中流量的控制方法及系统 | |
US8155118B2 (en) | Mirroring of a random subset of network traffic | |
CN108718258B (zh) | 一种板间链路的质量检测方法及设备 | |
EP3435254A1 (en) | Data duplication elimination method and device | |
CN111224882A (zh) | 报文处理方法及装置、存储介质 | |
CN111190541B (zh) | 存储系统的流控方法以及计算机可读存储介质 | |
CN109067585A (zh) | 一种查询acl表项下发方法及装置 | |
CN111464456B (zh) | 一种流量控制方法及装置 | |
US9374303B1 (en) | Method and apparatus for processing multicast packets | |
CN111404839A (zh) | 报文处理方法和装置 | |
CN111538572A (zh) | 任务处理方法、装置、调度服务器及介质 | |
CN111490944A (zh) | 一种信息处理方法、装置、设备及机器可读存储介质 | |
CN110908798B (zh) | 多进程协同式网络流量解析方法及装置 | |
CN108966160B (zh) | 一种短信处理方法、装置及计算机可读存储介质 | |
US10523588B2 (en) | Technique for processing messages in a message-based communication scenario | |
CN106921607B (zh) | 一种密码服务器集群下的密码运算管理方法及系统 | |
CN112511449A (zh) | 一种报文流乱序检测方法、报文处理方法及装置 | |
CN111030884B (zh) | 一种获取接口丢包的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |