[go: up one dir, main page]

WO2025124250A1 - Cluster shared traffic threshold-based rate limiting method and apparatus - Google Patents

Cluster shared traffic threshold-based rate limiting method and apparatus Download PDF

Info

Publication number
WO2025124250A1
WO2025124250A1 PCT/CN2024/136673 CN2024136673W WO2025124250A1 WO 2025124250 A1 WO2025124250 A1 WO 2025124250A1 CN 2024136673 W CN2024136673 W CN 2024136673W WO 2025124250 A1 WO2025124250 A1 WO 2025124250A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
traffic
cluster
speed
nodes
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.)
Pending
Application number
PCT/CN2024/136673
Other languages
French (fr)
Chinese (zh)
Other versions
WO2025124250A9 (en
Inventor
林剑影
林漳坤
范少卓
张枫漳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Telecom Cloud Technology Co Ltd
Original Assignee
China Telecom Cloud Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Telecom Cloud Technology Co Ltd filed Critical China Telecom Cloud Technology Co Ltd
Publication of WO2025124250A1 publication Critical patent/WO2025124250A1/en
Publication of WO2025124250A9 publication Critical patent/WO2025124250A9/en
Pending legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/20Traffic policing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation

Definitions

  • the present application belongs to the field of network technology, and in particular, relates to a speed limiting method and device for a cluster shared traffic threshold.
  • cluster systems are usually composed of multiple nodes. Each node processes data packets using multiple queues and binds multiple CPU cores to data independently and without locks to improve packet processing performance.
  • traffic speed limit In this distributed environment, it is a key challenge to effectively implement a certain type of traffic speed limit in a cluster and ensure the quality of network traffic and the effective use of resources.
  • Traditional QOS methods are difficult to provide flexible and efficient traffic speed limit in this multi-node, multi-queue, and multi-core environment, resulting in network congestion, performance degradation, and waste of resources. It is also impossible to set bandwidth speed limit for the entire cluster.
  • this application aims to propose a technology based on cluster shared traffic speed limit thresholds to achieve effective traffic management between each node, queue and CPU core in the cluster.
  • the technical solution of this application can dynamically allocate traffic speed limit resources in a distributed environment to ensure that each node and queue can operate within a reasonable speed limit range.
  • this technology can achieve fair distribution of traffic within the cluster and avoid a node or queue occupying too many traffic resources.
  • a method for limiting the speed of a cluster shared traffic threshold comprising:
  • the cluster manager sends the cluster speed limit threshold of the specified data flow to each node in the network cluster, and adds the forwarding process of each node to the multicast to share traffic information between nodes, and the forwarding process in the node obtains the cluster speed limit threshold;
  • the node controller counts the traffic of the specified data flow flowing into the network card per second and marks it. It sends the node unique identifier and the network card traffic received per second through multicast to share with other nodes in the cluster. It calculates the node speed limit quota threshold of the node based on the multicast message received from the cluster.
  • the bandwidth allocation scheduler allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node;
  • the token bucket manager uses the token bucket algorithm to periodically and dynamically adjust the real-time data of the proportion of traffic processed by each queue in the node to the total bandwidth of the node, obtain the proportion of each queue in the cluster's speed-limited bandwidth, and limit the speed of the traffic passing through the queue.
  • the node unique identifier in the multicast message is compared with the node unique identifier of the node itself. If the comparison result is equal, the multicast message is ignored. If the comparison result is unequal, the multicast message is recorded and the node speed limit quota threshold of the node is calculated.
  • traffic node i is the traffic volume of the specified data flow flowing into the node network card of node i within one second
  • i is the node number, ranging from 1 to N
  • N is the number of cluster nodes.
  • speed node(i)_lcore(n) is the traffic volume of the specified data flow flowing from node i to service core n within this second, i is the node number, ranging from 1 to N, N is the maximum number of nodes in the cluster, n is the service core number, ranging from 1 to M, M is the maximum number of service cores.
  • a speed limiting device for a cluster shared traffic threshold is proposed, the device is used to implement the above method, the device includes a cluster manager and multiple nodes located in the same network cluster;
  • the cluster manager is connected to multiple nodes respectively, and is used to coordinate and manage the entire multi-node cluster, and set, adjust and issue cluster speed limit thresholds according to speed limit requirements;
  • a node controller which is arranged on each of the plurality of nodes and serves as a control main thread of the node forwarding process, and is used to monitor the local bandwidth utilization and flow;
  • the bandwidth allocation scheduler is set in the business core of the service process of each node to ensure fair allocation and utilization efficiency of bandwidth resources
  • the token bucket manager is set on the thread bound to each queue served by each node. It is used to limit the speed of the traffic passing through the queue using the token bucket algorithm to achieve speed limit for the entire cluster.
  • the node controller counts the local traffic data flowing into the network card every second, and shares the local traffic data via multicast.
  • sharing the local traffic data includes: the node controller sends the local traffic data to each node in the cluster via multicast, the node receives traffic data from other nodes in the cluster, and after excluding its own traffic data, calculates the node's own node speed limit quota threshold based on the traffic ratio.
  • ensuring fair allocation and efficient utilization of bandwidth resources specifically includes: the bandwidth allocation scheduler determines the node speed limit quota threshold according to the traffic bandwidth ratio of the nodes in the cluster, and allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each business core processing queue traffic in the node forwarding process to the total traffic of the node.
  • the token bucket algorithm is used to limit the speed of the traffic passing through the queue, specifically including: the token bucket manager periodically and dynamically adjusts according to the real-time data of the ratio of the traffic processed by each queue in the node to the total bandwidth of the node, to obtain the ratio of each queue in the cluster speed limit bandwidth.
  • an electronic device comprising: a memory unit and a processor unit, wherein a computer program is stored in the memory unit, and the processor unit implements the above method when executing the program.
  • the traffic speed limit of the cluster is often limited only by the node, without dynamic adjustment according to the traffic, and it is often difficult to achieve accurate speed limit of the entire cluster.
  • the present application monitors the traffic bandwidth ratio in real time, effectively and quickly dynamically adjusts the speed limit quota between different cores (threads) of the same node process service and different nodes of the same cluster, determines the token bucket generation rate of each node and each queue to effectively limit the speed, regards the entire cluster as a logical token bucket, and implements it in a way that each core of each node has an independent token bucket, so as to achieve lock-free speed limit of the cluster without affecting the performance of the cause traffic processing.
  • FIG1 is a schematic diagram of the structure of a cluster controller according to an embodiment of the present application.
  • FIG. 2 is a schematic diagram of the structure of a node controller according to an embodiment of the present application.
  • FIG3 is a schematic diagram of a processing flow of a bandwidth allocation scheduler and a token bucket manager according to an embodiment of the present application.
  • installed should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements.
  • installed should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements.
  • Cluster refers to an architecture that connects multiple computers (also called nodes or servers) together to complete computing tasks together.
  • a server node in a cluster refers to each independent computer or server in the cluster. Each node is an independent entity.
  • QoS Quality of Service
  • Forwarding process refers to the main service process running in the cluster node, which is responsible for forwarding data packets from one network node to another network node. Here, it is the host process implemented by the speed limiting method of this application.
  • the present application proposes a rate limiting device for cluster shared traffic threshold based on a token bucket algorithm, as shown in FIG1 , the device includes a cluster manager and multiple nodes located in the same network cluster;
  • the cluster manager is connected to multiple nodes respectively, and is used to coordinate and manage the entire multi-node cluster, and set, adjust and issue cluster speed limit thresholds according to speed limit requirements;
  • a node controller which is arranged on each of the plurality of nodes and serves as a control main thread of the node forwarding process, and is used to monitor the local bandwidth utilization and flow;
  • the bandwidth allocation scheduler is set in the business core of the service process of each node to ensure fair allocation and utilization efficiency of bandwidth resources
  • the token bucket manager is set on the thread bound to each queue served by each node. It is used to limit the speed of the traffic passing through the queue using the token bucket algorithm to achieve speed limit for the entire cluster.
  • the node controller counts the local traffic data flowing into the network card every second, and shares the local traffic data by multicast;
  • Sharing the local traffic data includes: the node controller sends the local traffic data to each node in the cluster by multicasting, the node receives the traffic data from other nodes in the cluster, and after excluding its own traffic data, calculates the node speed limit quota threshold of the node itself according to the traffic ratio;
  • the ensuring of fair allocation and utilization efficiency of bandwidth resources specifically includes: the bandwidth allocation scheduler determines the node speed limit quota threshold according to the traffic bandwidth ratio of the nodes in the cluster, and allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node;
  • the token bucket algorithm is used to limit the speed of the traffic passing through the queue, specifically including: the token bucket manager periodically and dynamically adjusts the proportion of the traffic processed by each queue in the node to the total bandwidth of the node according to the real-time data, and obtains the proportion of each queue in the cluster speed limit bandwidth;
  • the present application proposes, in one embodiment, a method for cluster shared traffic threshold based on a token bucket algorithm, the method comprising the following steps S1 to S4.
  • the cluster manager sends a cluster speed limit threshold of a specified data flow to each node in the network cluster, and adds the forwarding process of each node to the multicast to share traffic information between nodes.
  • the forwarding process in the node obtains the cluster speed limit threshold.
  • the cluster manager issues certain traffic speed limit thresholds, such as traffic speed limit thresholds for UDP, TCP-SYN, TCP-ACK, ICMP, etc.
  • traffic threshold of the speed limit cluster TCP-SYN identifier is taken as speed cluster (unit: bit/s) as an example.
  • the forwarding processes running on N nodes in the cluster obtain the cluster TCP-SYN traffic speed limit speed cluster , as shown in Figure 1.
  • this is achieved by adding the forwarding process of the node to the multicast address, such as the multicast address 224.0.1.100.
  • the node controller counts the traffic of the specified data flow flowing into the network card per second and marks it, sends the node unique identifier and the network card traffic received per second through multicast to share with other nodes in the cluster, and calculates the node speed limit quota threshold of this node based on the multicast messages received from the cluster.
  • the node rate limit quota threshold of the node is calculated based on the multicast message received from the cluster, which includes:
  • a node When a node receives a multicast message sent by another node, it compares the node unique identifier in the multicast message with its own node unique identifier. If the comparison result is equal, the multicast message is ignored. If the comparison result is not equal, the multicast message is recorded and the node speed limit quota threshold of the node is calculated.
  • speed node i speed cluster *traffic node i / ⁇ traffic node i
  • traffic node i is the traffic volume of the specified data flow flowing into the node network card of node i within one second
  • i is the node number, ranging from 1 to N
  • N is the number of cluster nodes.
  • the node forwarding process counts the TCP-SYN traffic flowing into the network card every second (by parsing all the network card queue traffic packets, judging that the transport layer protocol number in the IP packet is 6, which is the TCP protocol traffic, judging that the SYN bit in the Flag field of the TCP layer header is 1 and the other fields of the Flag are all 0, then the TCP-SYN traffic that meets the statistics is marked as traffic node1 , traffic node2 , ... traffic nodeN , and the node unique identifier ID nodeN and the network card traffic received per second traffic nodeN are sent out through multicast to share with other nodes in the cluster.
  • the bandwidth allocation scheduler allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node.
  • speed node(i)_lcore(n) speed node(i) *traffic node(i)_lcore(n) / ⁇ traffic node(i)_lcore(n)
  • speed node(i)_lcore(n) is the traffic volume of the specified data flow flowing from node i to service core n within this second, i is the node number, ranging from 1 to N, N is the maximum number of nodes in the cluster, n is the service core number, ranging from 1 to M, M is the maximum number of service cores.
  • each network card queue n (n is the network card queue number, taking Intel network card 82599 as an example, the network card has 16 queues, and n ranges from 0 to 15) of the node forwarding process is independently assigned a business core thread to process lcore(n) and bound to CPU(n) for exclusive processing.
  • the lcore(n) business core thread counts the corresponding TCP-SYN traffic flowing into the bound network card queue n every second (by parsing the traffic message of queue n, judging that the transport layer protocol number in the IP message is 6 for TCP protocol traffic, judging that the SYN bit of the Flag field in the TCP layer header is 1 and the other fields of the Flag are all 0, then the TCP-SYN traffic that meets the statistics is identified as traffic node1_lcore1 , traffic node1_lcore2 , and traffic node1_lcoreM .
  • the token bucket manager uses the token bucket algorithm to periodically and dynamically adjust the real-time data of the proportion of traffic processed by each queue in the node to the total bandwidth of the node, obtain the proportion of each queue in the cluster's speed-limited bandwidth, and limit the speed of the traffic passing through the queue.
  • the bucket depth of the token bucket size lcore(i) speed node(i)_lcore(n)
  • the token generation rate of the token bucket rate lcore(i) speed node(i)_lcore(n)
  • the number of tokens in the initialization token bucket token lcore(i) speed node(i)_lcore(n) .
  • the lcore(n) thread can limit the traffic speed of the queue according to the dynamically adjusted speed limit quota every second, so that the TCP-SYN traffic configured by the cluster reaches the cluster speed limit result, as shown in Figure 3.
  • Each time a message length passes the total length of the message that can pass is obtained by subtracting the number of tokens in the bucket from the message length.
  • the above token indicates that the number of tokens in the current bucket is a dynamic variable, and token lcore(i) indicates the initial value of the token bucket when it is initialized.
  • the node controller in the forwarding process can still make dynamic adjustments based on the multicast messages received within the periodic time.
  • this application adopts the flow control method of the token bucket algorithm, combined with the communication and coordination mechanism within the cluster, through the data interaction between the cluster manager and the node controller, this technology can monitor the flow of each node and queue in real time, and dynamically generate and allocate tokens according to the shared flow rate limit threshold within the cluster. At the same time, this application can also adaptively adjust the flow rate limit strategy according to the status of the nodes and queues in the cluster to adapt to different load conditions and demand changes.
  • an electronic device comprising: a memory and one or more processors.
  • One or more application programs are stored in the memory, and the one or more application programs are suitable for being executed by the one or more processors to implement the method described in the first aspect.
  • the electronic device includes: a processor and a memory, wherein the processor and the memory are connected, for example, via a bus.
  • the structure of the electronic device does not constitute a limitation on the embodiments of the present application.
  • the processor may be a CPU, a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application.
  • the processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.
  • the memory can be a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, or an EEPROM, CD-ROM or other optical disk storage, optical disk storage (including compressed optical disk, laser disk, optical disk, digital versatile disk, Blu-ray disk, etc.), magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this.
  • Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc.
  • Volatile memory may include random access memory (RAM) or external cache memory.
  • RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present application relates to a cluster shared traffic threshold-based rate limiting method and apparatus, which are used for achieving effective bandwidth management and allocation among a plurality of nodes in a cluster and among a plurality of network card queues in the nodes. The method comprises: S1, a cluster manager issuing a cluster rate limiting threshold of a specified data stream to each node in a network cluster, and adding the forwarding process of each node into a multicast to share traffic information between the nodes, the cluster rate limiting threshold being acquired in the forwarding process of the node; S2, a node controller collecting statistics about the traffic of the specified data stream flowing into a network card per second, performing marking, sending out, by means of multicasting, a unique identifier of the node and network card traffic received per second to be shared to other nodes in the cluster, and on the basis of a multicast packet received from the cluster, calculating a node rate limiting quota threshold of the present node; S3, on the basis of each service core for processing traffic of queues in the forwarding process of the node and the bandwidth proportion of the total traffic of the nodes, a bandwidth allocation scheduler allocating a core rate limiting quota threshold of each node; and S4, on the basis of real-time data of the processed traffic of each queue in the nodes and the proportion of the total bandwidth of the nodes, a token bucket manager performing periodical and dynamical adjustment by means of a token bucket algorithm to obtain the proportion of each queue in a cluster rate limiting bandwidth, so as to limit the rate of the traffic passing through the queue.

Description

集群共享流量阈值的限速方法及装置Cluster shared traffic threshold speed limiting method and device

相关申请Related Applications

本申请要求2023年12月14日申请的,申请号为202311721740.X,名称为“一种集群共享流量阈值的限速方法及装置”的中国专利申请的优先权,在此将其全文引入作为参考。This application claims priority to Chinese patent application number 202311721740.X, filed on December 14, 2023, and entitled “A speed limiting method and device for cluster shared traffic thresholds”, the entire text of which is hereby incorporated by reference.

技术领域Technical Field

本申请属于网络技术领域,尤其涉及一种集群共享流量阈值的限速方法及装置。The present application belongs to the field of network technology, and in particular, relates to a speed limiting method and device for a cluster shared traffic threshold.

背景技术Background Art

在现代计算机网络中,集群系统通常由多个节点组成,每个节点处理数据包使用多个队列分别绑定多个CPU核心数据独立无锁以提高数据包处理性能。在这种分布式环境下,要有效实现一个集群某种类型流量限速,确保网络流量的质量以及资源的有效利用成为一项关键的挑战。传统的QOS方法难以在这种多节点、多队列、多核心的环境中提供灵活而高效的流量限速,从而导致网络拥塞、性能下降以及资源的浪费,也无法对整个集群设置带宽限速。In modern computer networks, cluster systems are usually composed of multiple nodes. Each node processes data packets using multiple queues and binds multiple CPU cores to data independently and without locks to improve packet processing performance. In this distributed environment, it is a key challenge to effectively implement a certain type of traffic speed limit in a cluster and ensure the quality of network traffic and the effective use of resources. Traditional QOS methods are difficult to provide flexible and efficient traffic speed limit in this multi-node, multi-queue, and multi-core environment, resulting in network congestion, performance degradation, and waste of resources. It is also impossible to set bandwidth speed limit for the entire cluster.

发明内容Summary of the invention

鉴于以上现有技术的不足,本申请旨在提出一种基于集群共享流量限速阈值的技术,以便在集群中的每个节点、队列和CPU核心之间实现有效的流量管理。本申请的技术方案可以在分布式环境中动态地分配流量限速资源,以确保各节点和队列都能够在合理的限速范围内运行。同时,该技术可以实现集群内流量的公平分配,避免某个节点或队列占用过多的流量资源。In view of the above shortcomings of the prior art, this application aims to propose a technology based on cluster shared traffic speed limit thresholds to achieve effective traffic management between each node, queue and CPU core in the cluster. The technical solution of this application can dynamically allocate traffic speed limit resources in a distributed environment to ensure that each node and queue can operate within a reasonable speed limit range. At the same time, this technology can achieve fair distribution of traffic within the cluster and avoid a node or queue occupying too many traffic resources.

本申请的第一方面,提出了一种集群共享流量阈值的限速方法,该方法包括:In a first aspect of the present application, a method for limiting the speed of a cluster shared traffic threshold is proposed, the method comprising:

S1,集群管理器下发指定数据流的集群限速阈值至网络集群中的每一个节点,并将每一个节点的转发进程加入组播以在节点之间共享流量信息,所述节点中的转发进程获取到所述集群限速阈值;S1, the cluster manager sends the cluster speed limit threshold of the specified data flow to each node in the network cluster, and adds the forwarding process of each node to the multicast to share traffic information between nodes, and the forwarding process in the node obtains the cluster speed limit threshold;

S2,节点控制器统计每秒流入网卡的指定数据流的流量并进行标记,将节点唯一标识和每秒接收的网卡流量通过组播的方式发送出去以共享给集群中的其他节点,根据从集群中接收的组播报文计算本节点的节点限速配额阈值;S2: The node controller counts the traffic of the specified data flow flowing into the network card per second and marks it. It sends the node unique identifier and the network card traffic received per second through multicast to share with other nodes in the cluster. It calculates the node speed limit quota threshold of the node based on the multicast message received from the cluster.

S3,带宽分配调度器根据节点转发进程中的每个处理队列流量的业务核与节点总流量的带宽占比来分配每个节点的核限速配额阈值;S3, the bandwidth allocation scheduler allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node;

S4,令牌桶管理器使用令牌桶算法根据节点中各个队列处理的流量与节点总带宽的占比实时数据,周期性动态调整,得到每个队列在集群限速带宽的占比,对队列经过的流量进行限速。S4: The token bucket manager uses the token bucket algorithm to periodically and dynamically adjust the real-time data of the proportion of traffic processed by each queue in the node to the total bandwidth of the node, obtain the proportion of each queue in the cluster's speed-limited bandwidth, and limit the speed of the traffic passing through the queue.

在其中一些实施例中,当节点接收到其他节点发送的组播报文时,将组播报文中的节点唯一标识与本节点自身的节点唯一标识进行比较,若比较结果为相等,则忽略该组播报文,若比较结果为不相等,则对该组播报文进行记录,并计算本节点的节点限速配额阈值。In some of the embodiments, when a node receives a multicast message sent by other nodes, the node unique identifier in the multicast message is compared with the node unique identifier of the node itself. If the comparison result is equal, the multicast message is ignored. If the comparison result is unequal, the multicast message is recorded and the node speed limit quota threshold of the node is calculated.

在其中一些实施例中,所述节点限速配额阈值的计算公式如下:
speednode i=speedcluster*trafficnode i/∑trafficnode i
In some embodiments, the calculation formula of the node speed limit quota threshold is as follows:
speed node i =speed cluster *traffic node i /∑ traffic node i

其中,speedcluster为指定数据流的集群限速阈值,trafficnode i为节点i在这一秒内流入节点网卡的指定数据流的流量,i为节点编号,取值1~N,N为集群节点数。Where speed cluster is the cluster speed limit threshold of the specified data flow, traffic node i is the traffic volume of the specified data flow flowing into the node network card of node i within one second, i is the node number, ranging from 1 to N, and N is the number of cluster nodes.

在其中一些实施例中,在步骤S3中,所述核限速配额阈值的计算公式如下:
speednode(i)_lcore(n)=speednode(i)*trafficnode(i)_lcore(n)/∑trafficnode(i)_lcore(n)
In some embodiments, in step S3, the calculation formula of the core speed limit quota threshold is as follows:
speed node(i)_lcore(n) =speed node(i) *traffic node(i)_lcore(n) /∑traffic node(i)_lcore(n)

其中,speednode(i)_lcore(n)为节点i在这一秒内流入业务核n的指定数据流的流量,i为节点编号,取值1~N,N为集群最大节点数,n为业务核编号,取值1~M,M为业务核的最大数。Among them, speed node(i)_lcore(n) is the traffic volume of the specified data flow flowing from node i to service core n within this second, i is the node number, ranging from 1 to N, N is the maximum number of nodes in the cluster, n is the service core number, ranging from 1 to M, M is the maximum number of service cores.

本申请的第二方面,提出了一种集群共享流量阈值的限速装置,该装置用于实现上述方法,该装置包括位于同一个网络集群的集群管理器和多个节点;In a second aspect of the present application, a speed limiting device for a cluster shared traffic threshold is proposed, the device is used to implement the above method, the device includes a cluster manager and multiple nodes located in the same network cluster;

所述集群管理器,分别与多个节点相连,用于协调和管理整个多节点集群,根据限速需求,设置、调整和下发集群限速阈值;The cluster manager is connected to multiple nodes respectively, and is used to coordinate and manage the entire multi-node cluster, and set, adjust and issue cluster speed limit thresholds according to speed limit requirements;

节点控制器,设置在所述多个节点中的每一个节点上,作为节点转发进程的一个控制主线程,用于监测本地的带宽利用情况和流量;A node controller, which is arranged on each of the plurality of nodes and serves as a control main thread of the node forwarding process, and is used to monitor the local bandwidth utilization and flow;

带宽分配调度器,设置在每个节点的服务进程的业务核中,用于确保带宽资源公平分配和利用效率;The bandwidth allocation scheduler is set in the business core of the service process of each node to ensure fair allocation and utilization efficiency of bandwidth resources;

令牌桶管理器,设置在每个节点服务的每个队列绑定的线程上,用于使用令牌桶算法对队列经过的流量进行限速,以实现对整个集群限速。The token bucket manager is set on the thread bound to each queue served by each node. It is used to limit the speed of the traffic passing through the queue using the token bucket algorithm to achieve speed limit for the entire cluster.

在其中一些实施例中,所述节点控制器每秒统计流入网卡的本机流量数据,并通过组播的方式共享所述本机流量数据。In some of the embodiments, the node controller counts the local traffic data flowing into the network card every second, and shares the local traffic data via multicast.

在其中一些实施例中,共享所述本机流量数据包括:所述节点控制器将本机流量数据通过组播方式发送给集群中的每一个节点,所述节点接收来自集群其他节点的流量数据,在排除了自身流量数据之后,根据流量比例计算出节点自身的节点限速配额阈值。In some embodiments, sharing the local traffic data includes: the node controller sends the local traffic data to each node in the cluster via multicast, the node receives traffic data from other nodes in the cluster, and after excluding its own traffic data, calculates the node's own node speed limit quota threshold based on the traffic ratio.

在其中一些实施例中,所述确保带宽资源公平分配和利用效率,具体包括:所述带宽分配调度器根据集群中节点的流量带宽情况占比来确定节点限速配额阈值,并根据节点转发进程中的每个处理队列流量的业务核与节点总流量的带宽占比来分配每个节点的核限速配额阈值。In some of the embodiments, ensuring fair allocation and efficient utilization of bandwidth resources specifically includes: the bandwidth allocation scheduler determines the node speed limit quota threshold according to the traffic bandwidth ratio of the nodes in the cluster, and allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each business core processing queue traffic in the node forwarding process to the total traffic of the node.

在其中一些实施例中,所述使用令牌桶算法对队列经过的流量进行限速,具体包括:所述令牌桶管理器根据节点中各个队列处理的流量与节点总带宽的占比实时数据,周期性动态调整,得到每个队列在集群限速带宽的占比。In some of the embodiments, the token bucket algorithm is used to limit the speed of the traffic passing through the queue, specifically including: the token bucket manager periodically and dynamically adjusts according to the real-time data of the ratio of the traffic processed by each queue in the node to the total bandwidth of the node, to obtain the ratio of each queue in the cluster speed limit bandwidth.

本申请的第三方面,提出了一种电子设备,包括:存储器单元和处理器单元,所述存储器单元上存储有计算机程序,所述处理器单元执行所述程序时实现上述方法。According to a third aspect of the present application, an electronic device is provided, comprising: a memory unit and a processor unit, wherein a computer program is stored in the memory unit, and the processor unit implements the above method when executing the program.

本申请有益效果如下:在现有技术中,对于集群的流量限速往往只通过节点进行限速,没有根据流量进行动态调整,往往难以达到准确的集群整体的限速。本申请通过对流量带宽占比进行实时监测,有效快速的在同一个节点进程服务的不同核(线程)之间,同一个集群的不同节点之间动态的调整限速配额,确定各个节点,各个队列的令牌桶生成速率进行有效的限速,将整个集群视为一个逻辑的令牌桶,以每个节点的每个核各自一个独立的令牌桶方式实现,做到无锁对集群进行限速,不影响原因流量处理的性能。The beneficial effects of the present application are as follows: In the prior art, the traffic speed limit of the cluster is often limited only by the node, without dynamic adjustment according to the traffic, and it is often difficult to achieve accurate speed limit of the entire cluster. The present application monitors the traffic bandwidth ratio in real time, effectively and quickly dynamically adjusts the speed limit quota between different cores (threads) of the same node process service and different nodes of the same cluster, determines the token bucket generation rate of each node and each queue to effectively limit the speed, regards the entire cluster as a logical token bucket, and implements it in a way that each core of each node has an independent token bucket, so as to achieve lock-free speed limit of the cluster without affecting the performance of the cause traffic processing.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

附图仅用于示出具体实施例的目的,而并不认为是对本申请的限制,在整个附图中,相同的参考符号表示相同的部件。显而易见地,下面描述中的附图仅仅是本申请实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。The accompanying drawings are only used to illustrate specific embodiments and are not considered to limit the present application. In the entire drawings, the same reference symbols represent the same components. Obviously, the drawings described below are only some embodiments recorded in the embodiments of the present application. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings.

图1为根据本申请一实施例的集群控制器的结构示意图。FIG1 is a schematic diagram of the structure of a cluster controller according to an embodiment of the present application.

图2为根据本申请一实施例的节点控制器的结构示意图。FIG. 2 is a schematic diagram of the structure of a node controller according to an embodiment of the present application.

图3为根据本申请一实施例的带宽分配调度器和令牌桶管理器的处理流程示意图。FIG3 is a schematic diagram of a processing flow of a bandwidth allocation scheduler and a token bucket manager according to an embodiment of the present application.

具体实施方式DETAILED DESCRIPTION

为了使本领域的人员更好地理解本申请实施例中的技术方案,下面将结合附图对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。应该理解,这些描述只是示例性的,并非用于限定本申请的范围。基于本申请的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。In order to enable those skilled in the art to better understand the technical solutions in the embodiments of the present application, the technical solutions of the present application will be clearly and completely described below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. It should be understood that these descriptions are only exemplary and are not intended to limit the scope of the present application. Based on the embodiments of the present application, all other embodiments obtained by ordinary technicians in the field without making creative work should fall within the scope of protection of the present application.

此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本申请公开的概念。Furthermore, in the following description, descriptions of well-known structures and technologies are omitted to avoid unnecessarily confusing the concepts disclosed in the present application.

在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。In the description of the present application, it should be noted that, unless otherwise expressly specified and limited, the terms "center", "upper", "lower", "left", "right", "vertical", "horizontal", "inside", "outside" and the like indicate positions or positional relationships based on the positions or positional relationships shown in the accompanying drawings, which are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore cannot be understood as a limitation on the present application. In addition, the terms "first", "second", and "third" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance. The terms "installed", "connected", and "connected" should be understood in a broad sense, for example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a mechanical connection or an electrical connection; it can be a direct connection, or it can be an indirect connection through an intermediate medium, or it can be a connection between the two elements. For those of ordinary skill in the art, the specific meanings of the above terms in the present application can be understood according to specific circumstances.

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和系统的例子。Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of methods and systems consistent with some aspects of the present application as detailed in the appended claims.

下面首先对技术方案中所引用的技术术语的含义进行如下说明:The following is an explanation of the meanings of the technical terms used in the technical solution:

集群(Cluster):是指将多台计算机(也称为节点或服务器)连接在一起,以共同完成计算任务的一种架构Cluster: refers to an architecture that connects multiple computers (also called nodes or servers) together to complete computing tasks together.

节点(Node):集群中的服务器节点,是指集群中的每个独立计算机或服务器。每个节点都是一个独立的实体。Node: A server node in a cluster refers to each independent computer or server in the cluster. Each node is an independent entity.

服务质量(Quality of Service,QoS)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。Quality of Service (QoS) refers to a network's ability to use various basic technologies to provide better service capabilities for specified network communications. It is a network security mechanism and a technology used to solve problems such as network delays and congestion.

转发进程:是指在集群节点中运行的主要服务进程,负责将数据包从一个网络节点转发到另一个网络节点的进程,这里为本申请限速方法实现的宿主进程。Forwarding process: refers to the main service process running in the cluster node, which is responsible for forwarding data packets from one network node to another network node. Here, it is the host process implemented by the speed limiting method of this application.

第一方面,本申请提出一种基于令牌桶算法的集群共享流量阈值的限速装置,如图1所示,该装置包括位于同一个网络集群的集群管理器和多个节点;In a first aspect, the present application proposes a rate limiting device for cluster shared traffic threshold based on a token bucket algorithm, as shown in FIG1 , the device includes a cluster manager and multiple nodes located in the same network cluster;

所述集群管理器,分别与多个节点相连,用于协调和管理整个多节点集群,根据限速需求,设置、调整和下发集群限速阈值;The cluster manager is connected to multiple nodes respectively, and is used to coordinate and manage the entire multi-node cluster, and set, adjust and issue cluster speed limit thresholds according to speed limit requirements;

节点控制器,设置在所述多个节点中的每一个节点上,作为节点转发进程的一个控制主线程,用于监测本地的带宽利用情况和流量;A node controller, which is arranged on each of the plurality of nodes and serves as a control main thread of the node forwarding process, and is used to monitor the local bandwidth utilization and flow;

带宽分配调度器,设置在每个节点的服务进程的业务核中,用于确保带宽资源公平分配和利用效率;The bandwidth allocation scheduler is set in the business core of the service process of each node to ensure fair allocation and utilization efficiency of bandwidth resources;

令牌桶管理器,设置在每个节点服务的每个队列绑定的线程上,用于使用令牌桶算法对队列经过的流量进行限速,以实现对整个集群限速;The token bucket manager is set on the thread bound to each queue served by each node. It is used to limit the speed of the traffic passing through the queue using the token bucket algorithm to achieve speed limit for the entire cluster.

所述节点控制器每秒统计流入网卡的本机流量数据,并通过组播的方式共享所述本机流量数据;The node controller counts the local traffic data flowing into the network card every second, and shares the local traffic data by multicast;

共享所述本机流量数据包括:所述节点控制器将本机流量数据通过组播方式发送给集群中的每一个节点,所述节点接收来自集群其他节点的流量数据,在排除了自身流量数据之后,根据流量比例计算出节点自身的节点限速配额阈值;Sharing the local traffic data includes: the node controller sends the local traffic data to each node in the cluster by multicasting, the node receives the traffic data from other nodes in the cluster, and after excluding its own traffic data, calculates the node speed limit quota threshold of the node itself according to the traffic ratio;

所述确保带宽资源公平分配和利用效率,具体包括:所述带宽分配调度器根据集群中节点的流量带宽情况占比来确定节点限速配额阈值,并根据节点转发进程中的每个处理队列流量的业务核与节点总流量的带宽占比来分配每个节点的核限速配额阈值;The ensuring of fair allocation and utilization efficiency of bandwidth resources specifically includes: the bandwidth allocation scheduler determines the node speed limit quota threshold according to the traffic bandwidth ratio of the nodes in the cluster, and allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node;

所述使用令牌桶算法对队列经过的流量进行限速,具体包括:所述令牌桶管理器根据节点中各个队列处理的流量与节点总带宽的占比实时数据,周期性动态调整,得到每个队列在集群限速带宽的占比;The token bucket algorithm is used to limit the speed of the traffic passing through the queue, specifically including: the token bucket manager periodically and dynamically adjusts the proportion of the traffic processed by each queue in the node to the total bandwidth of the node according to the real-time data, and obtains the proportion of each queue in the cluster speed limit bandwidth;

第二方面,本申请在一个实施例中提出一种基于令牌桶算法的集群共享流量阈值的方法,该方法包括如下步骤S1至S4。In a second aspect, the present application proposes, in one embodiment, a method for cluster shared traffic threshold based on a token bucket algorithm, the method comprising the following steps S1 to S4.

S1:集群管理器下发指定数据流的集群限速阈值至网络集群中的每一个节点,并将每一个节点的转发进程加入组播以在节点之间共享流量信息,所述节点中的转发进程获取到所述集群限速阈值。S1: The cluster manager sends a cluster speed limit threshold of a specified data flow to each node in the network cluster, and adds the forwarding process of each node to the multicast to share traffic information between nodes. The forwarding process in the node obtains the cluster speed limit threshold.

在上述步骤中,集群管理器下发某种流量限速阈值,比如UDP、TCP-SYN、TCP-ACK、ICMP等的流量限速阈值,这里以限速集群TCP-SYN标识的流量阈值为speedcluster(单位bit/s)为例,集群中N个节点上运行的转发进程获取到集群TCP-SYN流量限速speedcluster,如附图1所示。In the above steps, the cluster manager issues certain traffic speed limit thresholds, such as traffic speed limit thresholds for UDP, TCP-SYN, TCP-ACK, ICMP, etc. Here, the traffic threshold of the speed limit cluster TCP-SYN identifier is taken as speed cluster (unit: bit/s) as an example. The forwarding processes running on N nodes in the cluster obtain the cluster TCP-SYN traffic speed limit speed cluster , as shown in Figure 1.

在上述步骤中,通过将节点的转发进程加入组播地址的方式来实现,比如组播地址224.0.1.100。In the above steps, this is achieved by adding the forwarding process of the node to the multicast address, such as the multicast address 224.0.1.100.

S2:节点控制器统计每秒流入网卡的指定数据流的流量并进行标记,将节点唯一标识和每秒接收的网卡流量通过组播的方式发送出去以共享给集群中的其他节点,根据从集群中接收的组播报文计算本节点的节点限速配额阈值。S2: The node controller counts the traffic of the specified data flow flowing into the network card per second and marks it, sends the node unique identifier and the network card traffic received per second through multicast to share with other nodes in the cluster, and calculates the node speed limit quota threshold of this node based on the multicast messages received from the cluster.

在上述步骤中,根据从集群中接收的组播报文计算本节点的节点限速配额阈值,具体包括:In the above steps, the node rate limit quota threshold of the node is calculated based on the multicast message received from the cluster, which includes:

当节点接收到其他节点发送的组播报文时,将组播报文中的节点唯一标识与本节点自身的节点唯一标识进行比较,若比较结果为相等,则忽略该组播报文,若比较结果为不相等,则对该组播报文进行记录,并计算本节点的节点限速配额阈值,计算公式如下:
speednode i=speedcluster*trafficnode i/∑trafficnode i
When a node receives a multicast message sent by another node, it compares the node unique identifier in the multicast message with its own node unique identifier. If the comparison result is equal, the multicast message is ignored. If the comparison result is not equal, the multicast message is recorded and the node speed limit quota threshold of the node is calculated. The calculation formula is as follows:
speed node i =speed cluster *traffic node i /∑ traffic node i

其中,speedcluster为指定数据流的集群限速阈值,trafficnode i为节点i在这一秒内流入节点网卡的指定数据流的流量,i为节点编号,取值1~N,N为集群节点数。Where speed cluster is the cluster speed limit threshold of the specified data flow, traffic node i is the traffic volume of the specified data flow flowing into the node network card of node i within one second, i is the node number, ranging from 1 to N, and N is the number of cluster nodes.

继续沿用前述步骤中的示例进行说明,节点转发进程每秒统计流入网卡的TCP-SYN流量(通过解析所以网卡队列流量报文,判断IP报文中传输层协议号为6为TCP协议流量,判断TCP层报头Flag字段SYN位为1同时Flag其他字段位全为0,则符合统计的TCP-SYN流量)标记为trafficnode1、trafficnode2、......trafficnodeN,并将节点唯一标识IDnodeN和每秒接收网卡流量trafficnodeN通过组播的方式发送出去共享给集群的其他节点,节点收到其他节点收到的组播报文,根据组播报文中节点唯一标识IDnodeN与本节点节点唯一标识IDnodeN对比相等则忽略该组播报文进而排除标识ID是自己节点发出的,其他则记录下来,通过计算本节点流量比例为本节点这一秒内流入节点网卡的增量TCP-SYN流量trafficnodei除以集群所有节点这一秒内网卡流入的增量TCP-SYN流量的和∑trafficnodei(i为节点编号,取值1~N,N为集群节点数),算出本节点的限速配额阈值为speednode i=speedcluster*trafficnode  i/∑trafficnode iContinuing with the example in the previous steps, the node forwarding process counts the TCP-SYN traffic flowing into the network card every second (by parsing all the network card queue traffic packets, judging that the transport layer protocol number in the IP packet is 6, which is the TCP protocol traffic, judging that the SYN bit in the Flag field of the TCP layer header is 1 and the other fields of the Flag are all 0, then the TCP-SYN traffic that meets the statistics is marked as traffic node1 , traffic node2 , ... traffic nodeN , and the node unique identifier ID nodeN and the network card traffic received per second traffic nodeN are sent out through multicast to share with other nodes in the cluster. When a node receives the multicast packets received by other nodes, it ignores the multicast packets based on the comparison between the node unique identifier ID nodeN in the multicast packets and the node unique identifier ID nodeN of the node. If they are equal, it excludes the ID sent by the node itself, and records the others. By calculating the traffic ratio of the node, it is the incremental TCP-SYN traffic traffic flowing into the node network card of the node within this second. Divide nodei by the sum of the incremental TCP-SYN traffic flowing into the network cards of all nodes in the cluster within one second ∑traffic nodei (i is the node number, ranging from 1 to N, N is the number of cluster nodes), and calculate the speed limit quota threshold of this node as speed node i = speed cluster * traffic node i / ∑traffic node i .

S3:带宽分配调度器根据节点转发进程中的每个处理队列流量的业务核与节点总流量的带宽占比来分配每个节点的核限速配额阈值。S3: The bandwidth allocation scheduler allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node.

所述核限速配额阈值的计算公式如下:
speednode(i)_lcore(n)=speednode(i)*trafficnode(i)_lcore(n)/∑trafficnode(i)_lcore(n)
The calculation formula of the core speed limit quota threshold is as follows:
speed node(i)_lcore(n) =speed node(i) *traffic node(i)_lcore(n) /∑traffic node(i)_lcore(n)

其中,speednode(i)_lcore(n)为节点i在这一秒内流入业务核n的指定数据流的流量,i为节点编号,取值1~N,N为集群最大节点数,n为业务核编号,取值1~M,M为业务核的最大数。Among them, speed node(i)_lcore(n) is the traffic volume of the specified data flow flowing from node i to service core n within this second, i is the node number, ranging from 1 to N, N is the maximum number of nodes in the cluster, n is the service core number, ranging from 1 to M, M is the maximum number of service cores.

在上述步骤中,继续沿用前述步骤中的示例进行说明。获取每个节点网卡流入每个队列TCP-SYN标识流量的限速配额:节点转发进程每个网卡队列n(n为网卡队列号,以Intel网卡82599为例,网卡16个队列,n取值0-15)独立分配一个业务核线程处理lcore(n)并绑定到CPU(n)独占处理,lcore(n)业务核线程每秒各自统计对应流入绑定网卡队列n的TCP-SYN流量(通过解析队列n流量报文,判断IP报文中传输层协议号为6为TCP协议流量,判断TCP层报头Flag字段SYN位为1同时Flag其他字段位全为0,则符合统计的TCP-SYN流量)标识为trafficnode1_lcore1,trafficnode1_lcore2,trafficnode1_lcoreM,可以计算每个节点某个业务核流量限速配额阈值speednode(i)_lcore(n)=speednode(i)*trafficnode(i)_lcore(n)/∑trafficnode(i)_lcore(n)In the above steps, continue to use the examples in the previous steps for description. Get the speed limit quota of TCP-SYN traffic flowing into each queue of each node network card: each network card queue n (n is the network card queue number, taking Intel network card 82599 as an example, the network card has 16 queues, and n ranges from 0 to 15) of the node forwarding process is independently assigned a business core thread to process lcore(n) and bound to CPU(n) for exclusive processing. The lcore(n) business core thread counts the corresponding TCP-SYN traffic flowing into the bound network card queue n every second (by parsing the traffic message of queue n, judging that the transport layer protocol number in the IP message is 6 for TCP protocol traffic, judging that the SYN bit of the Flag field in the TCP layer header is 1 and the other fields of the Flag are all 0, then the TCP-SYN traffic that meets the statistics is identified as traffic node1_lcore1 , traffic node1_lcore2 , and traffic node1_lcoreM . The speed limit quota threshold of a business core traffic of each node can be calculated as speed node(i)_lcore(n) = speed node(i) * traffic node(i)_lcore(n) /∑ traffic node(i)_lcore(n) .

S4:令牌桶管理器使用令牌桶算法根据节点中各个队列处理的流量与节点总带宽的占比实时数据,周期性动态调整,得到每个队列在集群限速带宽的占比,对队列经过的流量进行限速。S4: The token bucket manager uses the token bucket algorithm to periodically and dynamically adjust the real-time data of the proportion of traffic processed by each queue in the node to the total bandwidth of the node, obtain the proportion of each queue in the cluster's speed-limited bandwidth, and limit the speed of the traffic passing through the queue.

其中,令牌桶的桶深度sizelcore(i)=speednode(i)_lcore(n),令牌桶的令牌生成速率ratelcore(i)=speednode(i)_lcore(n),初始化令牌桶的令牌数tokenlcore(i)=speednode(i)_lcore(n)Among them, the bucket depth of the token bucket size lcore(i) = speed node(i)_lcore(n) , the token generation rate of the token bucket rate lcore(i) = speed node(i)_lcore(n) , and the number of tokens in the initialization token bucket token lcore(i) = speed node(i)_lcore(n) .

在上述步骤中,继续沿用前述步骤中的示例进行说明。lcore(n)线程每秒为TCP-SYN标识的流量创建或调整令牌桶,桶的深度sizelcore(i)=speednode(i)_lcore(n),桶令牌生成速率ratelcore(i)=speednode(i)_lcore(n),初始化令牌桶令牌数tokenlcore(i)=speednode(i)_lcore(n),根据令牌桶算法每个经过桶的TCP-SYN报文长度lengthpkt,每秒生成令牌数ratelcore(i),桶深度不超过sizelcore(i),如果桶中令牌长度大于lengthpkt则通过并且token=token-lengthpkt,lengthpkt大于令牌长度则报文被丢弃,lcore(n)线程每秒都可以根据动态调整的限速配额对该队列进行流量限速,从而对集群配置的TCP-SYN流量到达集群限速的结果,如附图3所示。每通过一个报文长度则桶的令牌数减去报文长度是剩下可以通过报文的总长度,上述token表示变化的当前桶的令牌数是一个动态的变量,tokenlcore(i)表示令牌桶初始化时的初始值。In the above steps, the examples in the above steps are continued to be used for explanation. The lcore(n) thread creates or adjusts a token bucket for the traffic marked with TCP-SYN every second, the depth of the bucket size lcore(i) = speed node(i)_lcore(n) , the bucket token generation rate rate lcore(i) = speed node(i)_lcore(n) , the token number of the token bucket is initialized token lcore(i) = speed node(i)_lcore(n) , and the length of each TCP-SYN message passing through the bucket length pkt is generated according to the token bucket algorithm. The number of tokens rate lcore(i) is generated per second, and the bucket depth does not exceed size lcore(i) . If the length of the token in the bucket is greater than length pkt , it passes and token = token-length pkt . If length pkt is greater than the token length, the message is discarded. The lcore(n) thread can limit the traffic speed of the queue according to the dynamically adjusted speed limit quota every second, so that the TCP-SYN traffic configured by the cluster reaches the cluster speed limit result, as shown in Figure 3. Each time a message length passes, the total length of the message that can pass is obtained by subtracting the number of tokens in the bucket from the message length. The above token indicates that the number of tokens in the current bucket is a dynamic variable, and token lcore(i) indicates the initial value of the token bucket when it is initialized.

当节点服务异常退出或新增节点,转发进程中节点控制器依然可以通过周期时间内收到的组播报文进行动态调整。When a node service exits abnormally or a new node is added, the node controller in the forwarding process can still make dynamic adjustments based on the multicast messages received within the periodic time.

综上所述,本申请采用了令牌桶算法的流量控制方法,结合集群内部的通信和协调机制,通过集群管理器和节点控制器之间的数据交互,本技术可以实时监测各个节点和队列的流量情况,并根据集群内的共享流量限速阈值来进行动态的令牌生成和分配。同时,本申请还可以根据集群内节点和队列的状态,自适应地调整流量限速策略,以适应不同的负载情况和需求变化。In summary, this application adopts the flow control method of the token bucket algorithm, combined with the communication and coordination mechanism within the cluster, through the data interaction between the cluster manager and the node controller, this technology can monitor the flow of each node and queue in real time, and dynamically generate and allocate tokens according to the shared flow rate limit threshold within the cluster. At the same time, this application can also adaptively adjust the flow rate limit strategy according to the status of the nodes and queues in the cluster to adapt to different load conditions and demand changes.

第三方面,本申请在一个实施例中提出一种电子设备,包括:存储器和一个或多个处理器。In a third aspect, the present application proposes, in one embodiment, an electronic device, comprising: a memory and one or more processors.

所述存储器中存储有一个或多个应用程序,所述一个或多个应用程序适于由所述一个或多个处理器执行以实现第一方面所述的方法。One or more application programs are stored in the memory, and the one or more application programs are suitable for being executed by the one or more processors to implement the method described in the first aspect.

电子设备包括:处理器和存储器。其中,处理器和存储器相连,如通过总线相连。The electronic device includes: a processor and a memory, wherein the processor and the memory are connected, for example, via a bus.

该电子设备的结构并不构成对本申请实施例的限定。The structure of the electronic device does not constitute a limitation on the embodiments of the present application.

处理器可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。The processor may be a CPU, a general-purpose processor, a DSP, an ASIC, an FPGA or other programmable logic device, a transistor logic device, a hardware component or any combination thereof. It may implement or execute various exemplary logic blocks, modules and circuits described in conjunction with the disclosure of this application. The processor may also be a combination that implements computing functions, such as a combination of one or more microprocessors, a combination of a DSP and a microprocessor, etc.

总线可包括一通路,在上述组件之间传送信息。总线可以是PCI总线或EISA总线等。总线可以分为地址总线、数据总线、控制总线等。The bus may include a path to transmit information between the above components. The bus may be a PCI bus or an EISA bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc.

存储器可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。The memory can be a ROM or other type of static storage device that can store static information and instructions, a RAM or other type of dynamic storage device that can store information and instructions, or an EEPROM, CD-ROM or other optical disk storage, optical disk storage (including compressed optical disk, laser disk, optical disk, digital versatile disk, Blu-ray disk, etc.), magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code in the form of instructions or data structures and can be accessed by a computer, but is not limited to this.

第四方面,本申请提出一种计算机可读存储介质,其上存储有计算机程序,该计算机程序能够被处理器加载和执行以第一方面所述的方法。In a fourth aspect, the present application proposes a computer-readable storage medium having a computer program stored thereon, wherein the computer program can be loaded by a processor and execute the method described in the first aspect.

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory may include read-only memory (ROM), magnetic tape, floppy disk, flash memory or optical memory, etc. Volatile memory may include random access memory (RAM) or external cache memory. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM).

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。The technical features of the above embodiments may be combined arbitrarily. To make the description concise, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application shall be subject to the attached claims.

Claims (10)

一种集群共享流量阈值的限速方法,包括:A rate limiting method for a cluster shared traffic threshold, comprising: S1,集群管理器下发指定数据流的集群限速阈值至网络集群中的每一个节点,并将每一个节点的转发进程加入组播以在节点之间共享流量信息,所述节点中的转发进程获取到所述集群限速阈值;S1, the cluster manager sends the cluster speed limit threshold of the specified data flow to each node in the network cluster, and adds the forwarding process of each node to the multicast to share traffic information between nodes, and the forwarding process in the node obtains the cluster speed limit threshold; S2,节点控制器统计每秒流入网卡的指定数据流的流量并进行标记,将节点唯一标识和每秒接收的网卡流量通过组播的方式发送出去以共享给集群中的其他节点,根据从集群中接收的组播报文计算本节点的节点限速配额阈值;S2: The node controller counts the traffic of the specified data flow flowing into the network card per second and marks it. It sends the node unique identifier and the network card traffic received per second through multicast to share with other nodes in the cluster. It calculates the node speed limit quota threshold of the node based on the multicast message received from the cluster. S3,带宽分配调度器根据节点转发进程中的每个处理队列流量的业务核与节点总流量的带宽占比来分配每个节点的核限速配额阈值;S3, the bandwidth allocation scheduler allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node; S4,令牌桶管理器使用令牌桶算法根据节点中各个队列处理的流量与节点总带宽的占比实时数据,周期性动态调整,得到每个队列在集群限速带宽的占比,对队列经过的流量进行限速。S4: The token bucket manager uses the token bucket algorithm to periodically and dynamically adjust the real-time data of the proportion of traffic processed by each queue in the node to the total bandwidth of the node, obtain the proportion of each queue in the cluster's speed-limited bandwidth, and limit the speed of the traffic passing through the queue. 根据权利要求1所述的方法,其中在步骤S2中,根据从集群中接收的组播报文计算本节点的节点限速配额阈值,包括:The method according to claim 1, wherein in step S2, calculating the node rate limit quota threshold of the node according to the multicast message received from the cluster includes: 当节点接收到其他节点发送的组播报文时,将组播报文中的节点唯一标识与本节点自身的节点唯一标识进行比较,若比较结果为相等,则忽略该组播报文,若比较结果为不相等,则对该组播报文进行记录,并计算本节点的节点限速配额阈值。When a node receives a multicast message sent by other nodes, it compares the node unique identifier in the multicast message with its own node unique identifier. If the comparison result is equal, the multicast message is ignored. If the comparison result is unequal, the multicast message is recorded and the node speed limit quota threshold of the node is calculated. 根据权利要求2所述的方法,其中所述节点限速配额阈值的计算公式如下:
speednodei=speedcluster*trafficnodei/∑trafficnodei
According to the method of claim 2, the calculation formula of the node speed limit quota threshold is as follows:
speed nodei =speed cluster *traffic nodei /∑ traffic nodei
其中,speedcluster为指定数据流的集群限速阈值,trafficnodei为节点i在这一秒内流入节点网卡的指定数据流的流量,i为节点编号,取值1~N,N为集群节点数。Where speed cluster is the cluster speed limit threshold of the specified data flow, traffic nodei is the traffic volume of the specified data flow flowing into the node network card of node i within one second, i is the node number, ranging from 1 to N, and N is the number of cluster nodes.
根据权利要求1所述的方法,其中在步骤S3中,所述核限速配额阈值的计算公式如下:
speednode(i)_lcore(n)=speednode(i)*trafficnode(i)_lcore(n)/∑trafficnode(i)_lcore(n)
According to the method of claim 1, in step S3, the calculation formula of the core speed limit quota threshold is as follows:
speed node(i)_lcore(n) =speed node(i) *traffic node(i)_lcore(n) /∑traffic node(i)_lcore(n)
其中,speednode(i)_lcore(n)为节点i在这一秒内流入业务核n的指定数据流的流量,i为节点编号,取值1~N,N为集群最大节点数,n为业务核编号,取值1~M,M为业务核的最大数。Among them, speed node(i)_lcore(n) is the traffic volume of the specified data flow flowing from node i to service core n within this second, i is the node number, ranging from 1 to N, N is the maximum number of nodes in the cluster, n is the service core number, ranging from 1 to M, M is the maximum number of service cores.
一种集群共享流量阈值的限速装置,所述装置包括位于同一个网络集群的集群管理器和多个节点;A speed limiting device for cluster shared traffic threshold, the device comprising a cluster manager and multiple nodes located in the same network cluster; 所述集群管理器,分别与多个节点相连,用于协调和管理整个多节点集群,根据限速需求,设置、调整和下发集群限速阈值;The cluster manager is connected to multiple nodes respectively, and is used to coordinate and manage the entire multi-node cluster, and set, adjust and issue cluster speed limit thresholds according to speed limit requirements; 节点控制器,设置在所述多个节点中的每一个节点上,作为节点转发进程的一个控制主线程,用于监测本地的带宽利用情况和流量;A node controller, which is arranged on each of the plurality of nodes and serves as a control main thread of the node forwarding process, and is used to monitor the local bandwidth utilization and flow; 带宽分配调度器,设置在每个节点的服务进程的业务核中,用于确保带宽资源公平分配和利用效率;The bandwidth allocation scheduler is set in the business core of the service process of each node to ensure fair allocation and utilization efficiency of bandwidth resources; 令牌桶管理器,设置在每个节点服务的每个队列绑定的线程上,用于使用令牌桶算法对队列经过的流量进行限速,以实现对整个集群限速。The token bucket manager is set on the thread bound to each queue served by each node. It is used to limit the speed of the traffic passing through the queue using the token bucket algorithm to achieve speed limit for the entire cluster. 根据权利要求5所述的装置,其中所述节点控制器每秒统计流入网卡的本机流量数据,并通过组播的方式共享所述本机流量数据。The device according to claim 5, wherein the node controller counts the local traffic data flowing into the network card every second, and shares the local traffic data through multicast. 根据权利要求6所述的装置,其中共享所述本机流量数据包括:所述节点控制器将本机流量数据通过组播方式发送给集群中的每一个节点,所述节点接收来自集群其他节点的流量数据,在排除了自身流量数据之后,根据流量比例计算出节点自身的节点限速配额阈值。The device according to claim 6, wherein sharing the local traffic data includes: the node controller sends the local traffic data to each node in the cluster via multicast, the node receives traffic data from other nodes in the cluster, and after excluding its own traffic data, calculates the node's own node speed limit quota threshold based on the traffic ratio. 根据权利要求5所述的方法,其中所述确保带宽资源公平分配和利用效率,具体包括:所述带宽分配调度器根据集群中节点的流量带宽情况占比来确定节点限速配额阈值,并根据节点转发进程中的每个处理队列流量的业务核与节点总流量的带宽占比来分配每个节点的核限速配额阈值。According to the method of claim 5, ensuring fair allocation and utilization efficiency of bandwidth resources specifically includes: the bandwidth allocation scheduler determines the node speed limit quota threshold according to the traffic bandwidth ratio of the nodes in the cluster, and allocates the core speed limit quota threshold of each node according to the bandwidth ratio of each service core processing queue traffic in the node forwarding process to the total traffic of the node. 根据权利要求5所述的方法,其中所述使用令牌桶算法对队列经过的流量进行限速,具体包括:所述令牌桶管理器根据节点中各个队列处理的流量与节点总带宽的占比实时数据,周期性动态调整,得到每个队列在集群限速带宽的占比。According to the method of claim 5, the use of a token bucket algorithm to limit the speed of traffic passing through a queue specifically includes: the token bucket manager periodically and dynamically adjusts the proportion of each queue in the cluster speed-limited bandwidth based on real-time data of the proportion of traffic processed by each queue in the node to the total bandwidth of the node, so as to obtain the proportion of each queue in the cluster speed-limited bandwidth. 一种电子设备,包括:存储器单元和处理器单元,所述存储器单元上存储有计算机程序,其中所述处理器单元执行所述程序时实现权利要求1至4中任一项所述的方法。An electronic device comprises: a memory unit and a processor unit, wherein the memory unit stores a computer program, and wherein the processor unit implements the method according to any one of claims 1 to 4 when executing the program.
PCT/CN2024/136673 2023-12-14 2024-12-04 Cluster shared traffic threshold-based rate limiting method and apparatus Pending WO2025124250A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202311721740.XA CN117896318B (en) 2023-12-14 2023-12-14 A method and device for limiting the speed of cluster shared traffic thresholds
CN202311721740.X 2023-12-14

Publications (2)

Publication Number Publication Date
WO2025124250A1 true WO2025124250A1 (en) 2025-06-19
WO2025124250A9 WO2025124250A9 (en) 2025-08-21

Family

ID=90641723

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2024/136673 Pending WO2025124250A1 (en) 2023-12-14 2024-12-04 Cluster shared traffic threshold-based rate limiting method and apparatus

Country Status (2)

Country Link
CN (1) CN117896318B (en)
WO (1) WO2025124250A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120811980A (en) * 2025-09-15 2025-10-17 济南浪潮数据技术有限公司 A bandwidth speed limiting method, device, equipment, medium and product

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117896318B (en) * 2023-12-14 2025-08-26 天翼云科技有限公司 A method and device for limiting the speed of cluster shared traffic thresholds

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018150223A1 (en) * 2017-02-14 2018-08-23 Telefonaktiebolaget Lm Ericsson (Publ) A method and system for identification of traffic flows causing network congestion in centralized control plane networks
CN109587072A (en) * 2019-01-04 2019-04-05 中企动力科技股份有限公司 Distributed system overall situation speed limiting system and method
CN112751691A (en) * 2019-10-29 2021-05-04 北京金山云网络技术有限公司 Network flow rate limiting method and device, central control equipment and gateway
CN117896318A (en) * 2023-12-14 2024-04-16 天翼云科技有限公司 A speed limiting method and device for cluster shared traffic threshold

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7602721B1 (en) * 2003-12-22 2009-10-13 Extreme Networks, Inc. Methods and systems for fine grain bandwidth allocation in a switched network element
CN104980359A (en) * 2014-04-04 2015-10-14 中兴通讯股份有限公司 Flow control method of fiber channel over Ethernet (FCoE), flow control device of FCoE and flow control system of FCoE
CN111865675B (en) * 2020-07-09 2023-05-30 广州虎牙科技有限公司 Container receiving and dispatching speed limiting method, device and system
CN111835655B (en) * 2020-07-13 2022-06-28 北京轻网科技有限公司 Shared bandwidth speed limiting method, device and storage medium
CN112671667B (en) * 2020-12-03 2022-06-28 中国科学院计算技术研究所 A forwarding rate limiting method and system for a virtual forwarding device
CN113747597B (en) * 2021-08-30 2024-07-09 上海智能网联汽车技术中心有限公司 Network data packet scheduling method and system based on mobile 5G network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018150223A1 (en) * 2017-02-14 2018-08-23 Telefonaktiebolaget Lm Ericsson (Publ) A method and system for identification of traffic flows causing network congestion in centralized control plane networks
CN109587072A (en) * 2019-01-04 2019-04-05 中企动力科技股份有限公司 Distributed system overall situation speed limiting system and method
CN112751691A (en) * 2019-10-29 2021-05-04 北京金山云网络技术有限公司 Network flow rate limiting method and device, central control equipment and gateway
CN117896318A (en) * 2023-12-14 2024-04-16 天翼云科技有限公司 A speed limiting method and device for cluster shared traffic threshold

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TELEFON AB LM ERICSSON, ST-ERICSSON SA: "Effects of Token Bucket limitations on media transport", 3GPP DRAFT; S4-130706 TOKEN BUCKET AND MEDIA TRANSPORT, 3RD GENERATION PARTNERSHIP PROJECT (3GPP), MOBILE COMPETENCE CENTRE ; 650, ROUTE DES LUCIOLES ; F-06921 SOPHIA-ANTIPOLIS CEDEX ; FRANCE, vol. SA WG4, no. Dublin, Ireland; 20130708 - 20130712, 8 July 2013 (2013-07-08), Mobile Competence Centre ; 650, route des Lucioles ; F-06921 Sophia-Antipolis Cedex ; France , XP050727388 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN120811980A (en) * 2025-09-15 2025-10-17 济南浪潮数据技术有限公司 A bandwidth speed limiting method, device, equipment, medium and product

Also Published As

Publication number Publication date
CN117896318B (en) 2025-08-26
CN117896318A (en) 2024-04-16
WO2025124250A9 (en) 2025-08-21

Similar Documents

Publication Publication Date Title
WO2025124250A1 (en) Cluster shared traffic threshold-based rate limiting method and apparatus
US9906495B2 (en) Network device implementing two-stage flow information aggregation
Apostolaki et al. Fab: Toward flow-aware buffer sharing on programmable switches
Hamdi et al. Performance evaluation of active queue management algorithms in large network
US20070280277A1 (en) Method and system for adaptive queue and buffer control based on monitoring in a packet network switch
WO2023142937A1 (en) Network congestion control method and related apparatus
US9794127B2 (en) Virtual bandwidth management deployment architectures
CN111585892B (en) Data center flow management and control method and system
WO2020177263A1 (en) Traffic management method and system and fabric network processor
Wang et al. Low complexity multi-resource fair queueing with bounded delay
Fidler Extending the network calculus pay bursts only once principle to aggregate scheduling
Su et al. On the benefit of information centric networks for traffic engineering
WO2012116540A1 (en) Traffic management method and management device
CN111224884A (en) Processing method for congestion control, message forwarding device and message receiving device
Bedi et al. Mitigating congestion based DoS attacks with an enhanced AQM technique
CN116266826A (en) A distributed machine learning network optimization system, method and electronic equipment
US10187317B1 (en) Methods for traffic rate control and devices thereof
CN104919768A (en) Identify data flows based on actions based on quality of service policies
CN111970149A (en) Shared bandwidth realizing method based on hardware firewall QOS
US8542602B2 (en) Apparatus and method for a multi-level enmeshed policer
Mehdiyeva et al. Analysis of the characteristics of corporate multi-service networks using the technology of constructing distributed communication networks
Zhang et al. Libra: High-precision congestion control for datacenter networks with in-network allreduce
Das et al. Low-state fairness: Lower bounds and practical enforcement
Dai et al. RVCC: Congestion Control to Reduce Victim Flows in Data Center Networks
Yu et al. Efficient QoS scheme in network congestion

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24902671

Country of ref document: EP

Kind code of ref document: A1