CN110149282A - Traffic scheduling method and device - Google Patents
Traffic scheduling method and device Download PDFInfo
- Publication number
- CN110149282A CN110149282A CN201910089718.5A CN201910089718A CN110149282A CN 110149282 A CN110149282 A CN 110149282A CN 201910089718 A CN201910089718 A CN 201910089718A CN 110149282 A CN110149282 A CN 110149282A
- Authority
- CN
- China
- Prior art keywords
- bandwidth
- receiving queue
- queue
- arrival rate
- weight
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/215—Flow control; Congestion control using token-bucket
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/52—Queue scheduling by attributing bandwidth to queues
- H04L47/527—Quantum based scheduling, e.g. credit or deficit based scheduling or token bank
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种流量调度方法和装置,通过根据第一接收队列的分类属性获取第一接收队列的权重,根据第一接收队列的历史报文接收情况和权重,获取第一接收队列的流量到达速率,根据权重从HTB的总带宽获取第一接收队列的额外带宽,根据第一接收队列的流量到达速率、保证带宽和额外带宽,获取第一接收队列的分配带宽,根据分配带宽进行限速操作,即在带宽分配的过程中,无需访问父节点,即可进行带宽分配,因此,不需要进行节点跳转和父节点的数据维护,从而,提高带宽分配效率,简化报文调度流程,提高报文调度效率,降低报文的处理时延。
The present application provides a traffic scheduling method and device, by obtaining the weight of the first receiving queue according to the classification attribute of the first receiving queue, and obtaining the traffic arrival of the first receiving queue according to the historical packet receiving status and weight of the first receiving queue Rate, obtain the additional bandwidth of the first receiving queue from the total bandwidth of HTB according to the weight, obtain the allocated bandwidth of the first receiving queue according to the traffic arrival rate, guaranteed bandwidth and additional bandwidth of the first receiving queue, and perform speed limit operation according to the allocated bandwidth , that is, in the process of bandwidth allocation, bandwidth allocation can be performed without visiting the parent node. Therefore, no node jump and data maintenance of the parent node are required, thereby improving the efficiency of bandwidth allocation, simplifying the packet scheduling process, and improving the It improves the efficiency of message scheduling and reduces the processing delay of the message.
Description
技术领域technical field
本申请涉及计算机技术领域,尤其涉及一种流量调度方法和装置。The present application relates to the field of computer technology, and in particular to a flow scheduling method and device.
背景技术Background technique
网络即服务(Network as a Service,NaaS)是目前网络技术发展的主流方向,云网络 的不同租户和应用对网络报文的服务质量(Quality of Service,QoS)有不同的要求,这种 “多级QoS的模型”的实现需要流量调度方法,流量调度方法可将网卡接收到的报文设置到 服务器的内存中,内存中以队列方式存储不同的类型的报文,其中队列包括入队队列和出队 队列。Network as a Service (NaaS) is the mainstream direction of network technology development at present. Different tenants and applications of cloud networks have different requirements for the Quality of Service (QoS) of network packets. This "multiple The realization of "Model of Level QoS" requires a traffic scheduling method. The traffic scheduling method can set the messages received by the network card into the memory of the server, and store different types of messages in queues in the memory. The queues include enqueue queues and queues. Dequeue the queue.
现有技术中,采用分层令牌桶(Hierachical Token Bucket,HTB)算法来实现队列的报 文的流量调度,能够对某一类型的报文的网络流量进行一定速率的限速和整合。HTB算法把 各入队队列根据带宽共享关系组织成一棵树,入队操作按照网络配置把报文进行分类,队列 未满,则入队成功;各队列调度报文出队时,根据该队列的令牌桶运行情况判断报文成功出 队或者出队失败,如果子节点需要的带宽超过保证带宽(Assured Rate,AR),但不超过最大 带宽(Ceil Rate,CR),可以向父节点借用令牌,并使用该令牌从父节点队列借用带宽,直到 该节点的总带宽达到CR。现有的HTB技术中,父节点队列的一个子节点队列向父节点队列借 用令牌的期间,需对父节点队列进行锁定,使得父节点队列的其他子节点队列将不能向锁定 后的父节点队列借用带宽,由于父节点队列设置于服务器内存中,而对内存进行锁定次数过 多,则会降低流服务器的性能,并且,在子节点队列向父节点队列借用令牌,并使用该令牌 从父节点队列借用带宽时,涉及到内存切换的操作,内存切换操作次数过多也会影响服务器 的性能。In the prior art, the hierarchical token bucket (Hierachical Token Bucket, HTB) algorithm is used to realize the traffic scheduling of the messages in the queue, which can limit and integrate the network traffic of a certain type of messages at a certain rate. The HTB algorithm organizes the enqueue queues into a tree according to the bandwidth sharing relationship. The enqueue operation classifies the packets according to the network configuration. If the queue is not full, the enqueue is successful; The running status of the token bucket determines whether the packet is successfully dequeued or fails to dequeue. If the bandwidth required by the child node exceeds the guaranteed bandwidth (Assured Rate, AR) but does not exceed the maximum bandwidth (Ceil Rate, CR), it can borrow tokens from the parent node. token, and use the token to borrow bandwidth from the parent node queue until the total bandwidth of the node reaches CR. In the existing HTB technology, when a child node queue of the parent node queue borrows tokens from the parent node queue, the parent node queue needs to be locked, so that other child node queues of the parent node queue will not be able to borrow tokens from the parent node queue after locking. The queue borrows bandwidth. Since the parent node queue is set in the server memory, if the memory is locked too many times, the performance of the stream server will be reduced. In addition, the child node queue borrows a token from the parent node queue and uses the token When borrowing bandwidth from the parent node queue, memory switching operations are involved, and too many memory switching operations will also affect the performance of the server.
因此,采用现有技术的方式,流量调度效率不高。Therefore, the efficiency of traffic scheduling is not high in the way of the prior art.
发明内容Contents of the invention
本申请提供一种流量调度方法和装置,以提高流量调度效率。The present application provides a traffic scheduling method and device to improve traffic scheduling efficiency.
第一方面,本申请提供一种流量调度方法,通过根据第一接收队列的分类属性获取所述 第一接收队列的权重,其中,所述第一接收队列对应于分层令牌桶HTB的第一叶子节点;根 据所述第一接收队列的历史报文接收情况和所述权重,获取所述第一接收队列的流量到达速 率;根据所述权重从所述HTB的总带宽获取所述第一接收队列的额外带宽;根据所述第一接 收队列的流量到达速率、保证带宽和所述额外带宽,获取所述第一接收队列的分配带宽;根 据所述分配带宽进行限速操作。In the first aspect, the present application provides a traffic scheduling method, which obtains the weight of the first receiving queue according to the classification attribute of the first receiving queue, wherein the first receiving queue corresponds to the first receiving queue of the hierarchical token bucket HTB A leaf node; obtain the traffic arrival rate of the first receiving queue according to the historical packet receiving situation of the first receiving queue and the weight; obtain the first receiving queue from the total bandwidth of the HTB according to the weight receiving the extra bandwidth of the queue; obtaining the allocated bandwidth of the first receiving queue according to the traffic arrival rate, the guaranteed bandwidth and the extra bandwidth of the first receiving queue; and performing a speed limit operation according to the allocated bandwidth.
即在带宽分配的过程中,无需访问父节点,即可进行带宽分配,因此,不需要进行节点 跳转和父节点的数据维护,从而,提高带宽分配效率,简化报文调度流程,提高报文调度效 率。That is, in the process of bandwidth allocation, bandwidth allocation can be performed without visiting the parent node. Therefore, no node jump and data maintenance of the parent node are required, thereby improving bandwidth allocation efficiency, simplifying the packet scheduling process, and improving packet Scheduling efficiency.
在本申请一种实现方式中,所述分类属性包括计费信息和租户信誉度,所述根据第一接 收队列的分类属性获取所述第一接收队列的权重,包括:In an implementation manner of the present application, the classification attribute includes billing information and tenant reputation, and the obtaining the weight of the first receiving queue according to the classification attribute of the first receiving queue includes:
对所述计费信息和所述租户信誉度进行计算,获取所述第一接收队列的权重。Calculate the billing information and the tenant reputation to obtain the weight of the first receiving queue.
由于根据计费信息和租户信誉度确定接收队列的权重,因此,可以为不同计费信息和所 述租户信誉度的接收队列确定不同的权重,在进行带宽分配时考虑权重,使得带宽分配更加 合理。Since the weight of the receiving queue is determined according to the billing information and the tenant reputation, different weights can be determined for the receiving queues of different billing information and the tenant reputation, and the weight is considered when performing bandwidth allocation, so that the bandwidth allocation is more reasonable .
在本申请另一种实现方式中,所述对所述计费信息和所述租户信誉度进行计算,获取所 述第一接收队列的权重,包括:In another implementation manner of the present application, the calculating the charging information and the tenant reputation, and obtaining the weight of the first receiving queue includes:
对所述计费信息和所述租户信誉度进行加权平均,获取所述第一接收队列的权重。Weighted averaging is performed on the billing information and the tenant reputation to obtain the weight of the first receiving queue.
通过对计费信息和所述租户信誉度进行加权平均得到接收队列的权重,使得接收队列的 权重的确定更加合理,并且计算方式简单高效,可以进一步地提高流量调度的效率。The weighted average of the billing information and the tenant reputation is obtained to obtain the weight of the receiving queue, which makes the determination of the weight of the receiving queue more reasonable, and the calculation method is simple and efficient, which can further improve the efficiency of traffic scheduling.
在本申请另一种实现方式中,所述历史报文接收情况包括所述第一接收队列在第一时间 点接收到的第一报文数量以及所述第一接收队列在第二时间点接收到的第二报文数量,所述 根据所述第一接收队列的历史报文接收情况和所述权重,获取所述第一接收队列的流量到达 速率,包括:In another implementation manner of the present application, the historical packet reception conditions include the number of first packets received by the first receiving queue at the first time point and the number of packets received by the first receiving queue at the second time point The number of the second packets received, the said first receiving queue according to the historical packet receiving status and the weight, to obtain the traffic arrival rate of the first receiving queue, including:
获取所述第二报文数量与所述第一报文数量的报文数量差值;Acquiring a difference in the number of messages between the second number of messages and the first number of messages;
获取所述第二时间点与所述第一时间点的时间差值;Acquiring a time difference between the second time point and the first time point;
根据所述报文数量差值、所述时间差值以及所述第一接收队列的权重,获取所述第一接 收队列的流量到达速率。Obtain the traffic arrival rate of the first receiving queue according to the message quantity difference, the time difference and the weight of the first receiving queue.
通过历史报文接收情况确定队列的流量到达速率,不需要进行节点跳转和父节点的数据 维护,从而避免内存切换和内存锁定,可提高带宽分配效率,简化报文调度流程,提高报文 调度效率,降低报文的处理时延。The traffic arrival rate of the queue is determined by historical message reception, without node jump and parent node data maintenance, thereby avoiding memory switching and memory locking, improving bandwidth allocation efficiency, simplifying the message scheduling process, and improving message scheduling efficiency and reduce packet processing delay.
在本申请另一种实现方式中,所述根据所述报文数量差值、所述时间差值以及所述第一 接收队列的权重,获取所述第一接收队列的流量到达速率,包括:In another implementation manner of the present application, the acquiring the traffic arrival rate of the first receiving queue according to the packet quantity difference, the time difference and the weight of the first receiving queue includes:
获取所述报文数量差值与所述时间差值的比值为平均流量到达速率;Obtaining the ratio of the packet quantity difference to the time difference as the average traffic arrival rate;
根据所述权重与所述平均流量到达速率,获取所述第一接收队列的流量到达速率。Acquiring the traffic arrival rate of the first receiving queue according to the weight and the average traffic arrival rate.
通过根据历史报文接收的平均流量到达速率,确定队列的流量到达速率,不需要进行节 点跳转和父节点的数据维护,从而避免内存切换和内存锁定,可提高带宽分配效率,简化报 文调度流程,提高报文调度效率,降低报文的处理时延。By determining the traffic arrival rate of the queue based on the average traffic arrival rate received by historical packets, no node jump and parent node data maintenance are required, thereby avoiding memory switching and memory locking, improving bandwidth allocation efficiency, and simplifying packet scheduling process, improve packet scheduling efficiency, and reduce packet processing delay.
在本申请另一种实现方式中,所述根据所述权重与平均流量到达速率,获取所述第一接 收队列的流量到达速率,包括:In another implementation manner of the present application, the obtaining the traffic arrival rate of the first receiving queue according to the weight and the average traffic arrival rate includes:
根据所述权重与平均流量到达速率相乘,获取所述第一接收队列的流量到达速率。The traffic arrival rate of the first receiving queue is obtained by multiplying the weight by the average traffic arrival rate.
通过根据权重与平均流量到达速率相乘,获取所述第一接收队列的流量到达速率。使得 接收队列的流量到达速率的确定更加合理,并且计算方式简单高效,可以进一步地提高流量 调度的效率。The traffic arrival rate of the first receiving queue is obtained by multiplying the weight by the average traffic arrival rate. It makes the determination of the traffic arrival rate of the receiving queue more reasonable, and the calculation method is simple and efficient, which can further improve the efficiency of traffic scheduling.
在本申请另一种实现方式中,所述根据所述权重从所述HTB的总带宽获取所述第一接收 队列的额外带宽,包括:In another implementation manner of the present application, the obtaining the additional bandwidth of the first receiving queue from the total bandwidth of the HTB according to the weight includes:
选择所述HTB的叶子节点对应的接收队列的保证带宽和流量到达速率中的较小值作为所 述叶子节点对应接收队列的候选带宽;Select the smaller value in the guaranteed bandwidth of the receive queue corresponding to the leaf node of the HTB and the traffic arrival rate as the candidate bandwidth of the leaf node corresponding to the receive queue;
将每一叶子节点的候选带宽进行累加以获取候选带宽累加值;Accumulate the candidate bandwidth of each leaf node to obtain the candidate bandwidth accumulation value;
获取所述总带宽与所述候选带宽累加值之差为共享带宽;Obtaining the difference between the total bandwidth and the accumulated value of the candidate bandwidth as the shared bandwidth;
根据所述权重与所有需要额外带宽的叶子节点的权重的和值的比值以及所述共享带宽, 获取所述第一接收队列的额外带宽。Acquire the additional bandwidth of the first receiving queue according to the ratio of the weight to the sum of the weights of all leaf nodes requiring additional bandwidth and the shared bandwidth.
在本申请另一种实现方式中,所述根据所述第一接收队列的流量到达速率、保证带宽和 所述额外带宽,获取所述第一接收队列的分配带宽,包括:In another implementation manner of the present application, the obtaining the allocated bandwidth of the first receiving queue according to the traffic arrival rate, guaranteed bandwidth and the additional bandwidth of the first receiving queue includes:
根据所述流量到达速率和所述保证带宽中的较小值与所述额外带宽的和值,得到所述第 一接收队列的分配带宽。The allocated bandwidth of the first receiving queue is obtained according to the sum of the smaller value of the traffic arrival rate and the guaranteed bandwidth and the additional bandwidth.
在本申请另一种实现方式中,根据所述第一接收队列的流量到达速率、保证带宽和所述 额外带宽,获取所述第一接收队列的分配带宽,包括:In another implementation of the present application, obtaining the allocated bandwidth of the first receiving queue according to the traffic arrival rate, guaranteed bandwidth, and the additional bandwidth of the first receiving queue includes:
根据所述流量到达速率和所述保证带宽中的较小值、所述额外带宽以及允许突发的带宽 速率的和值,得到所述第一接收队列的分配带宽。The allocated bandwidth of the first receiving queue is obtained according to the sum of the traffic arrival rate and the guaranteed bandwidth, the additional bandwidth, and the bandwidth rate allowed to burst.
在本申请另一种实现方式中,所述根据所述分配带宽进行限速操作,包括:In another implementation manner of the present application, the speed limit operation according to the allocated bandwidth includes:
获取限速操作相关参数;Obtain parameters related to speed limit operation;
根据所述分配带宽以及所述限速操作相关参数,进行限速操作。A speed limit operation is performed according to the allocated bandwidth and the parameters related to the speed limit operation.
在本申请另一种实现方式中,所述限速操作相关参数包括下述至少一项:In another implementation manner of the present application, the parameters related to the speed limit operation include at least one of the following:
报文转发中允许突发的带宽速率;Allowable burst bandwidth rate in packet forwarding;
最大限制速率;Maximum limit rate;
超过最大限制速率的报文的处理方式。The processing method for packets exceeding the maximum rate limit.
第二方面,本申请提供一种流量调度装置,包括:In a second aspect, the present application provides a traffic scheduling device, including:
获取模块,用于根据第一接收队列的分类属性获取所述第一接收队列的权重,其中,所 述第一接收队列对应于分层令牌桶HTB的任一叶子节点;The obtaining module is used to obtain the weight of the first receiving queue according to the classification attribute of the first receiving queue, wherein the first receiving queue corresponds to any leaf node of the hierarchical token bucket HTB;
所述获取模块,还用于根据所述第一接收队列的历史报文接收情况和所述权重,获取所 述第一接收队列的流量到达速率;The obtaining module is also used to obtain the traffic arrival rate of the first receiving queue according to the historical message receiving situation of the first receiving queue and the weight;
所述获取模块,还用于根据所述权重从所述HTB的总带宽获取所述第一接收队列的额外 带宽;The obtaining module is also used to obtain the additional bandwidth of the first receiving queue from the total bandwidth of the HTB according to the weight;
所述获取模块,还用于根据所述第一接收队列的流量到达速率、保证带宽和所述额外带 宽,获取所述第一接收队列的分配带宽;The obtaining module is further configured to obtain the allocated bandwidth of the first receiving queue according to the traffic arrival rate, guaranteed bandwidth and the additional bandwidth of the first receiving queue;
控制模块,用于根据所述分配带宽进行限速操作。A control module, configured to perform a speed limit operation according to the allocated bandwidth.
第二方面或第二方面任意一种实现方式是第一方面或第一方面任意一种实现方式对应的 装置实现,第一方面或第一方面任意一种实现方式中的描述适用于第三方面或第三方面任意 一种实现方式,在此不再赘述。The second aspect or any implementation of the second aspect is a device implementation corresponding to the first aspect or any implementation of the first aspect, and the descriptions in the first aspect or any implementation of the first aspect are applicable to the third aspect Or any implementation manner of the third aspect, which will not be repeated here.
第三方面,本申请提供一种计算机设备,包括:In a third aspect, the present application provides a computer device, including:
存储单元,用于存储指令;以及a storage unit for storing instructions; and
至少一台处理器,与所述存储单元耦合;at least one processor coupled to the storage unit;
其中,当所述至少一台处理器执行所述指令时,所述指令致使所述处理器执行权利要求 第一方面或第一方面任一种实现方式中所述的方法,此处不再赘述。Wherein, when the at least one processor executes the instruction, the instruction causes the processor to execute the method described in the first aspect of the claim or any implementation manner of the first aspect, which will not be repeated here. .
第四方面,本申请提供一种计算机可读存储介质,所述存储介质用于存储计算机程序, 所述计算机程序用于实现第一方面或第一方面任一种实现方式中所述的方法,此处不再赘述。In a fourth aspect, the present application provides a computer-readable storage medium, the storage medium is used to store a computer program, and the computer program is used to implement the method described in the first aspect or any implementation manner of the first aspect, I won't repeat them here.
附图说明Description of drawings
图1为本申请提供的一种流量分配树状结构的示意图;FIG. 1 is a schematic diagram of a traffic distribution tree structure provided by the present application;
图2为本申请提供的一种流量调度架构示意图;FIG. 2 is a schematic diagram of a traffic scheduling architecture provided by the present application;
图3是图2所示的流量调度架构对应的树状结构示意图;FIG. 3 is a schematic diagram of a tree structure corresponding to the traffic scheduling architecture shown in FIG. 2;
图4为本申请提供的一种树状结构示意图;FIG. 4 is a schematic diagram of a tree structure provided by the present application;
图5为本申请提供的一种流量调度方法的流程示意图;FIG. 5 is a schematic flow diagram of a traffic scheduling method provided by the present application;
图6示出本发明实施例的流量调度系统的系统结构示意图;FIG. 6 shows a schematic diagram of a system structure of a traffic scheduling system according to an embodiment of the present invention;
图7为本申请提供的一种流量调度装置实施例的结构示意图;FIG. 7 is a schematic structural diagram of an embodiment of a traffic scheduling device provided by the present application;
图8是根据本发明实施例的计算机设备的装置结构示意图Fig. 8 is a schematic diagram of a device structure of a computer device according to an embodiment of the present invention
具体实施方式Detailed ways
本申请根据流量分配树状结构的所有节点的约束条件,通过数学建模的方式进行归一化 处理,得到所有叶子节点的约束条件,从而,将多级令牌桶归一至叶子节点上的令牌桶。为了 便描述方便,本申请定义了如下几个参数:叶子节点的有效需求带宽(Demandrate,D),叶 子节点可以应得带宽(Supply rate,S),AR和CR,其中,有效需求带宽也称为流量到达速 率,应得带宽也称分配带宽。令牌桶可以确定D和S的之间的一组大小关系(D≤S),现有技 术中,叶子节点的D出现在多个不等式中,需要经过多个令牌桶,本申请通过简化约束,减 少令牌桶的数量。According to the constraints of all nodes in the traffic distribution tree structure, this application performs normalization processing through mathematical modeling to obtain the constraints of all leaf nodes, thereby normalizing the multi-level token buckets to the order on the leaf nodes card bucket. For the convenience of description, this application defines the following parameters: the effective demand bandwidth of leaf nodes (Demandrate, D), the available bandwidth of leaf nodes (Supply rate, S), AR and CR, where the effective demand bandwidth is also called For the traffic arrival rate, the entitlement bandwidth is also called the allocated bandwidth. The token bucket can determine a set of size relationships between D and S (D≤S). In the prior art, D of a leaf node appears in multiple inequalities and needs to go through multiple token buckets. This application simplifies constraints, reducing the number of token buckets.
图1为本申请提供的一种流量分配树状结构的示意图,以图1为例,将多级令牌桶归一 至叶子节点上的令牌桶的实现方式如下:Figure 1 is a schematic diagram of a traffic distribution tree structure provided by this application. Taking Figure 1 as an example, the implementation of normalizing the multi-level token buckets to the token buckets on the leaf nodes is as follows:
本申请求解目标是最大化所有叶子节点的分配带宽(应得带宽),即目标函数为:The solution goal of this application is to maximize the allocated bandwidth (deserving bandwidth) of all leaf nodes, that is, the objective function is:
MaxZ=S1+S3+S4+S5+S6+S21+S22+S23+S24MaxZ=S1+S3+S4+S5+S6+S21+S22+S23+S24
现有的约束条件要满足层级递归遍历子节点所有应得带宽的总和小于父节点的CR,即约 束条件如下:The existing constraints must satisfy the level recursively traversing the sum of all the bandwidth of the child nodes that should be less than the CR of the parent node, that is, the constraints are as follows:
min{D1,AR1}≤S1≤CR1min{D1, AR1}≤S1≤CR1
min{D3,AR3}≤S3≤CR3min{D3, AR3}≤S3≤CR3
min{D4,AR4}≤S4≤CR4min{D4, AR4}≤S4≤CR4
min{D5,AR5}≤S5≤CR5min{D5, AR5}≤S5≤CR5
min{D6,AR6}≤S6≤CR6min{D6, AR6}≤S6≤CR6
min{D21,AR21}≤S21≤CR21min{D21, AR21}≤S21≤CR21
min{D22,AR22}≤S22≤CR22min{D22, AR22}≤S22≤CR22
min{D23,AR23}≤S23≤CR23min{D23, AR23}≤S23≤CR23
min{D24,AR24}≤S24≤CR24min{D24, AR24}≤S24≤CR24
S21+S22+S23+S24≤CR2S21+S22+S23+S24≤CR2
S1+S3+S4+S5+S6+S21+S22+S23+S24≤CRrootS1+S3+S4+S5+S6+S21+S22+S23+S24≤CRroot
针对一个令牌桶对应一个不等式,叶子节点数目为L,内部节点数目为K,现有技术的约 束条件为(L+K)个不等式,需要(L+K)个令牌桶,本申请通过L个不等式表示,因此,本申请需要L个令牌桶即可,并定义归一令牌桶参数为Mi,通过上述目标函数和现有约束条件的迭代计算可以得到本申请如下L个不等式:A token bucket corresponds to an inequality, the number of leaf nodes is L, and the number of internal nodes is K. The constraints of the prior art are (L+K) inequalities, and (L+K) token buckets are required. This application is approved L inequalities represent, therefore, this application needs L token buckets, and the parameter of the normalized token bucket is defined as Mi, through the iterative calculation of the above objective function and existing constraints, the following L inequalities of this application can be obtained:
S1≤M1S1≤M1
S3≤M3S3≤M3
S4≤M4S4≤M4
S5≤M5S5≤M5
S6≤M6S6≤M6
S21≤M21S21≤M21
S22≤M22S22≤M22
S23≤M23S23≤M23
S24≤M24S24≤M24
基于以上理论基础,本发明实施例可实现将将多级令牌桶归一至叶子节点上的令牌桶。Based on the above theoretical basis, the embodiment of the present invention can realize the normalization of multi-level token buckets to the token buckets on the leaf nodes.
本申请通过将报文发送过程和带宽分配过程进行分离。根据历史报文接收情况,对叶子 节点进行带宽分配,报文发送过程中根据已经分配的带宽进行限速操作,而无需在报文发送 过程中访问父节点,因此,不再进行节点跳转和父节点的数据维护,无需进行内存切换和内 存锁定,从而,简化报文调度流程,提高报文调度效率。This application separates the message sending process from the bandwidth allocation process. According to the historical message receiving situation, the bandwidth is allocated to the leaf nodes, and the speed limit operation is performed according to the allocated bandwidth during the message sending process, without the need to visit the parent node during the message sending process. Therefore, no node jumping and The data maintenance of the parent node does not require memory switching and memory locking, thereby simplifying the message scheduling process and improving message scheduling efficiency.
图2为本申请提供的一种流量调度架构示意图,其中,包括:入队接口、接收队列0、接收队列1、接收队列2、分类器0、分类器1、分类器2、接收队列01、接收队列02和接收 队列03、接收队列11、接收队列12和接收队列13、接收队列21、接收队列22、接收队列 23、发送队列和出队接口,其中,入队接口例如为网卡用于接收报文的接口,出队接口例如 为网卡用于发送报文的接口,所有队列均设置于物理服务器的内存中。图3是图2所示的流 量调度架构对应的树状结构示意图,如图3所示,其中,入队接口对应根节点Root,接收队 列0、接收队列1、接收队列2对应根节点的子节点,接收队列01、接收队列02和接收队列 03、接收队列11、接收队列12和接收队列13、接收队列21、接收队列22、接收队列23对 应叶子节点。FIG. 2 is a schematic diagram of a traffic scheduling architecture provided by the present application, which includes: enqueue interface, receiving queue 0, receiving queue 1, receiving queue 2, classifier 0, classifier 1, classifier 2, receiving queue 01, Receiving queue 02 and receiving queue 03, receiving queue 11, receiving queue 12 and receiving queue 13, receiving queue 21, receiving queue 22, receiving queue 23, sending queue and dequeue interface, wherein, the enqueue interface is for example a network card for receiving The interface of the message, the dequeue interface is, for example, the interface used by the network card to send the message, and all queues are set in the memory of the physical server. Fig. 3 is a schematic diagram of a tree structure corresponding to the traffic scheduling architecture shown in Fig. 2, as shown in Fig. 3, wherein, the enqueue interface corresponds to the root node Root, and receiving queue 0, receiving queue 1, and receiving queue 2 correspond to the child nodes of the root node. Nodes, receiving queue 01, receiving queue 02, receiving queue 03, receiving queue 11, receiving queue 12, receiving queue 13, receiving queue 21, receiving queue 22, and receiving queue 23 correspond to leaf nodes.
入队接口接收到报文之后,经过分布式哈希分配给接收队列0、接收队列1或接收队列2, 分类器(包括,分类器0、分类器1或分类器2)从接收队列0、接收队列1或接收队列2中 获取待处理的报文,并根据报文的分类属性进行分类入队操作(即将报文写入到接收队列01、 接收队列02和接收队列03、接收队列11、接收队列12和接收队列13、接收队列21、接收 队列22或接收队列23中);在进行入队操作过程中,本发明实施例的流量调度装置可以测量 各接收队列的负载情况,例如:队列长度、队列报文到达速率、分类属性等信息。After the enqueuing interface receives the message, it is assigned to receiving queue 0, receiving queue 1 or receiving queue 2 through distributed hashing, and the classifier (including classifier 0, classifier 1 or classifier 2) receives the message from receiving queue 0, Obtain the messages to be processed in the receiving queue 1 or receiving queue 2, and perform classification enqueue operations according to the classification attributes of the messages (that is, write the messages to receiving queue 01, receiving queue 02, receiving queue 03, receiving queue 11, receiving queue 12 and receiving queue 13, receiving queue 21, receiving queue 22 or receiving queue 23); in the process of enqueuing operation, the traffic scheduling device in the embodiment of the present invention can measure the load situation of each receiving queue, for example: queue Length, queue packet arrival rate, classification attributes and other information.
其中,分类器可根据报文的分类属性进行分类入队操作,分类属性可包括:报文目的IP 地址、报文目的端口、报文的虚拟局域网标识(Virtual Local Area NetworkIdentify,VLAN ID)、报文源IP地址、报文源端口、报文类型、计费信息、租户信誉度。Wherein, the classifier can classify and enter the queue according to the classification attribute of the message, and the classification attribute can include: message destination IP address, message destination port, virtual local area network identification (Virtual Local Area Network Identify, VLAN ID) of the message, message Text source IP address, packet source port, packet type, billing information, and tenant reputation.
其中报文的VLAN ID可用于标识云网络的不同租户,不同的租户可具有不同的计费信息 和租户信誉度,计费信息和租户信誉度可通过云平台预先设置。The VLAN ID of the message can be used to identify different tenants of the cloud network, and different tenants can have different billing information and tenant reputation, and the billing information and tenant reputation can be preset through the cloud platform.
分类器可将分类属性发送给流量调度装置。The classifier may send the classification attributes to the traffic dispatcher.
流量调度装置向分类器给出限速配置信息,其中,限速配置信息包括队列的分配带宽, 分类器根据分配带宽对对应的接收队列进行限速。The traffic scheduling device provides rate limit configuration information to the classifier, wherein the rate limit configuration information includes the allocated bandwidth of the queue, and the classifier limits the rate of the corresponding receiving queue according to the allocated bandwidth.
分类器执行队列选择、报文出队等操作。具体地,分类器从非空队列列表中根据队列优 先级、队列权值等信息,进行加权轮询操作,从非空队列中选择出一个队列,然后,根据该 队列的分配带宽以及限速操作相关参数,确定该队列能否进行出队操作,如果能够进行出队 操作,从内存中读取报文并处理,如果不能进行出队操作,选择下一队列直到尝试次数到达 最大限制次数。The classifier performs operations such as queue selection and packet dequeue. Specifically, the classifier performs a weighted round-robin operation from the non-empty queue list according to the queue priority, queue weight and other information, selects a queue from the non-empty queue, and then operates according to the allocated bandwidth and speed limit of the queue Relevant parameters determine whether the queue can be dequeued. If the dequeue operation can be performed, the message is read from the memory and processed. If the dequeue operation cannot be performed, the next queue is selected until the number of attempts reaches the maximum limit.
分类器在报文出队操作结束后,向流量调度装置传递控制信息,该控制信息包括但不限 于空队列编号、速率不足队列编号(队列非空但不能进行出包操作的队列编号)等。After the packet dequeue operation is completed, the classifier transmits control information to the traffic scheduling device, which includes but is not limited to the number of the empty queue, the number of the queue with insufficient speed (the queue number that is not empty but cannot perform the outbound operation), etc.
流量调度装置对分类器给出的队列信息进行汇总,从而,得到各队列的队列长度(包括 空队列和满队列)、报文到达速率和报文发送速率等信息,根据预先配置的带宽分配计算规则, 重新计算某些队列或者全部队列的应得带宽,并向用于控制接收队列中的报文的出队操作的 相关模块(图2未示出)发送应得带宽以进行报文出队限速。The traffic scheduling device summarizes the queue information given by the classifier, thereby obtaining information such as the queue length (including empty queue and full queue), message arrival rate and message sending rate of each queue, and calculates according to the pre-configured bandwidth allocation Rule, recalculate the due bandwidth of some queues or all queues, and send the due bandwidth to the relevant module (not shown in Figure 2) used to control the dequeue operation of messages in the receiving queue to perform message dequeue speed limit.
从分类调度收包模块测量得到的报文到达速率计算带宽分配的过程如下:The process of calculating the bandwidth allocation from the message arrival rate measured by the classification scheduling receiving module is as follows:
为简化计算过程说明,假设所有队列优先级相同。把树状结构中的各节点进行编号(如图 4所示)。图4为本申请提供的一种树状结构示意图,根节点编号为0,根节点的子节点依次 编号为(0,1)、(0,2)…(0,N),(0,1)的子节点编号为(0,1,1)、(0,1,2)……这样,节点编号 可以判断出节点的父节点和该节点所处的深度。任意节点(0,x1,....,xn)有AR和CR分别记为 AR(0,x1,....,xn)、CR(0,x1,....,xn);记录该节点的需求带宽为d'(0,x1,x2,…,xn),有效需求带宽为 d(0,x1,x2,…,xn),应得带宽为s(0,x1,x2,…,xn)。To simplify the description of the calculation process, it is assumed that all queues have the same priority. Number each node in the tree structure (as shown in FIG. 4 ). Figure 4 is a schematic diagram of a tree structure provided by this application, the root node number is 0, and the child nodes of the root node are numbered (0,1), (0,2)...(0,N), (0,1 )'s child nodes are numbered (0,1,1), (0,1,2)... In this way, the node number can determine the parent node of the node and the depth of the node. Any node (0,x 1 ,....,x n ) has AR and CR respectively recorded as AR(0,x 1 ,....,x n ), CR(0,x 1 ,.... ,x n ); record the required bandwidth of this node as d'(0,x 1 ,x 2 ,…,x n ), and the effective required bandwidth as d(0,x 1 ,x 2 ,…,x n ), should The obtained bandwidth is s(0,x 1 ,x 2 ,…,x n ).
首先从叶子节点向上执行有效需求带宽更新,然后从根节点向下执行应得带宽计算更新。First, update the effective required bandwidth from the leaf node upwards, and then perform the due bandwidth calculation update downward from the root node.
有效需求带宽更新计算时,叶子节点的需求带宽是分类调度收包模块的测量结果,内部节点 的需求带宽是其子节点的有效需求带宽之和;节点的需求带宽和最大带宽之间的较小值就是 节点的有效需求带宽。计算公式如下:When updating and calculating the effective required bandwidth, the required bandwidth of the leaf node is the measurement result of the classification scheduling packet receiving module, the required bandwidth of the internal node is the sum of the effective required bandwidth of its child nodes; the minimum between the required bandwidth of the node and the maximum bandwidth The value is the effective demand bandwidth of the node. Calculated as follows:
d(0,x1,x2,…,xn)=min{d'(0,x1,x2,…,xn),CR(0,x1,x2,…,xn)}d(0,x 1 ,x 2 ,…,x n )=min{d’(0,x 1 ,x 2 ,…,x n ),CR(0,x 1 ,x 2 ,…,x n ) }
根据该公式,从叶子节点向上直到根节点的有效需求都计算完毕。本更新方案依靠子节 点的有效需求带宽,推算出父节点的有效需求带宽,而不需要再经过测量模块(如:令牌桶)According to this formula, the effective demand from the leaf node up to the root node is calculated. This update scheme relies on the effective required bandwidth of the child node to calculate the effective required bandwidth of the parent node without going through the measurement module (such as: token bucket)
测量父节点的有效需求带宽。Measures the effective demand bandwidth of the parent node.
根据有效需求的计算结果从根节点向下计算各个节点的应得带宽,其中根节点的带宽(总 带宽)是预配置好的信息,其他节点根据有效需求和应得带宽的关系进行计算。如果节点有效 需求没有超过节点保证带宽或者节点父节点的总需求不超过父节点分配带宽,则分配给该节 点的应得带宽就是其有效需求带宽;否则,在兄弟节点占用足够带宽(保证带宽和有效需求带 宽中的较小值)后,剩余带宽在需要借用带宽的节点之间分配。数学表达计算公式如下:Calculate the due bandwidth of each node from the root node down according to the calculation result of the effective demand. The bandwidth (total bandwidth) of the root node is pre-configured information, and other nodes calculate according to the relationship between the effective demand and the deserved bandwidth. If the effective demand of the node does not exceed the guaranteed bandwidth of the node or the total demand of the parent node of the node does not exceed the allocated bandwidth of the parent node, the due bandwidth allocated to the node is its effective required bandwidth; otherwise, sufficient bandwidth (guaranteed bandwidth and After the smaller value of the effective demand bandwidth), the remaining bandwidth is allocated among nodes that need to borrow bandwidth. The mathematical expression calculation formula is as follows:
S(0)=配置信息S(0) = configuration information
de(0,x1,…,xn)=max{d(0,x1,x2,…,xn)-AR(0,x1,x2,…,xn),0}d e (0,x 1 ,…,x n )=max{d(0,x 1 ,x 2 ,…,x n )-AR(0,x 1 ,x 2 ,…,x n ),0}
d”(0,x1,x2,…,xn-1)=∑i=1,2,…kde(0,x1,x2,…,xn-1,i)k是该节点的子节点的个数其他 根据以上计算公式,可以准确的给各节点分配带宽资源。d”(0,x 1 ,x 2 ,…,x n-1 )=∑ i=1,2,…k d e (0,x 1 ,x 2 ,…,x n-1 ,i)k is The number of child nodes of this node Others According to the above calculation formula, the bandwidth resource can be accurately allocated to each node.
并可以得出:and it can be derived that:
假设队列i为叶子节点。Suppose queue i is a leaf node.
根据获取共享带宽,其中,R为共享带宽,AR(i)为队列 i的保证带宽,d(i)为队列i的流量到达速率,min(a,b)为返回a,b中的较小值,k为叶 子节点的个数。according to Obtain the shared bandwidth, where R is the shared bandwidth, AR(i) is the guaranteed bandwidth of queue i, d(i) is the traffic arrival rate of queue i, min(a, b) returns the smaller value among a and b , k is the number of leaf nodes.
根据(若d(i)>AR(i),pi=1,否则,pi=0,其中,wi为队列i的权重)获取额外带宽,其中,e(i)为队列i的额外带宽。according to (if d(i)>AR(i), p i =1, otherwise, p i =0, wherein, w i is the weight of queue i) to obtain additional bandwidth, where e(i) is the additional bandwidth of queue i .
为便于说明,请参见图5,图5为本申请提供的一种流量调度方法的流程示意图,如图5 所示,其中,S501-S505由图2的流量调度装置执行,本实施例的方法如下:For ease of description, please refer to FIG. 5. FIG. 5 is a schematic flowchart of a traffic scheduling method provided by the present application, as shown in FIG. 5, wherein S501-S505 are executed by the traffic scheduling device in FIG. as follows:
S501:根据第一接收队列的分类属性获取所述第一接收队列的权重。S501: Obtain the weight of the first receiving queue according to the classification attribute of the first receiving queue.
其中,第一接收队列对应于分层令牌桶HTB的任一叶子节点。Wherein, the first receiving queue corresponds to any leaf node of the hierarchical token bucket HTB.
可选地,分类属性可以包括计费信息和租户信誉度。可以通过对计费信息和租户信誉度 进行计算,获取第一接收队列对应的权重。例如:通过对计费信息和租户信誉度进行加权平 均,获取第一接收队列对应的权重,加权平均方式可例如为:A=x*B+y*C,其中A是权重,B 是计费信息,C是租户信誉度,x是计费信息的归一化系数,y是租户信誉度的归一化系数, 归一化系数x用于保证x*B的结果在某一数值范围内,归一化系数y用于保证y*C的结果在 某一数值范围内,x和y可根据实际需要进行设置。Optionally, classification attributes may include billing information and tenant reputation. The weight corresponding to the first receiving queue can be obtained by calculating the billing information and tenant reputation. For example: by weighting the billing information and tenant reputation, the weight corresponding to the first receiving queue can be obtained. The weighted average method can be, for example: A=x*B+y*C, where A is the weight and B is the billing information, C is the tenant reputation, x is the normalization coefficient of billing information, y is the normalization coefficient of the tenant reputation, the normalization coefficient x is used to ensure that the result of x*B is within a certain value range, The normalization coefficient y is used to ensure that the result of y*C is within a certain value range, and x and y can be set according to actual needs.
可选地,分类属性中的部分属性或者全部属性可以通过对第一接收队列测量的方式获得, 例如:可以在报文入队操作中增加测量模块来对报文的包头和载荷(payload)进行测量。Optionally, some or all of the attributes in the classification attribute can be obtained by measuring the first receiving queue, for example: a measurement module can be added to the packet header and payload of the packet in the packet enqueuing operation Measurement.
在确定第一接收队列对应的权重时可以考虑分类属性的部分属性或者全部属性,对此, 本申请不做限制。When determining the weight corresponding to the first receiving queue, some or all attributes of the classification attributes may be considered, which is not limited in this application.
由于分类属性中的部分属性或者全部属性与第一接收队列的运行情况有关,因此,当分 类属性中的部分属性或者全部属性发生变化时,第一接收队列的权重也可能随之相应的发生 变化。Since some or all of the attributes in the classification attributes are related to the operation of the first receiving queue, when some or all of the attributes in the classification attributes change, the weight of the first receiving queue may also change accordingly .
S502:根据第一接收队列的历史报文接收情况和权重,获取第一接收队列的流量到达速 率。S502: Obtain the traffic arrival rate of the first receiving queue according to the historical packet receiving status and weight of the first receiving queue.
其中,第一接收队列的历史报文接收情况可以通过测量的方式获得,也可以通过其他方 式获得,对此,本申请不做限制。Wherein, the historical packet receiving status of the first receiving queue can be obtained by measurement or by other methods, which is not limited in this application.
获取第一接收队列的流量到达速率包括但不限于如下可能的实现方式:Obtaining the traffic arrival rate of the first receiving queue includes but is not limited to the following possible implementations:
一种可能的实现方式:One possible implementation:
可以通过直接测量的方式获取一段时间段内的接收到的报文的数量,根据一段时间段内 接收到的报文的数量与一段时间段的比值,得到第一接收队列的的平均流量到达速率;The number of received packets within a period of time can be obtained by direct measurement, and the average traffic arrival rate of the first receiving queue can be obtained according to the ratio of the number of packets received within a period of time to a period of time ;
根据第一接收队列的平均流量到达速率与第一接收队列的权重相乘,得到第一接收队列 的流量到达速率。The traffic arrival rate of the first receiving queue is obtained by multiplying the average traffic arrival rate of the first receiving queue by the weight of the first receiving queue.
例如:假设,队列i为第一接收队列,队列i在一段时间段内ΔT内接收到的报文的数量 为Bi,则队列i的平均流量到达速率通过如下公式获得:For example: Assume that queue i is the first receiving queue, and the number of packets received by queue i within ΔT within a period of time is B i , then the average traffic arrival rate of queue i Obtained by the following formula:
队列i的流量到达速率d(t)通过如下公式获得:The traffic arrival rate d(t) of queue i is obtained by the following formula:
其中,wi为队列i的权重。Among them, w i is the weight of queue i.
这种情况适合于在队列i在ΔT之前为空的的情况,此时可以不考虑历史数据对现在的影 响。This situation is suitable for the situation that the queue i is empty before ΔT, and the influence of historical data on the present can be ignored at this time.
另一种可能的实现方式:Another possible implementation:
可以通过直接测量的方式获取第一接收队列在第一时间点接收到的第一报文数量以及第 一接收队列在第二时间点接收到的第二报文数量。通过计算的方式获取第一报文数量和第二 报文数量的报文数量差值,以及获取第二时间点与第一时间点的时间差值,根据报文数量差 值、时间差值以及第一接收队列的权重,以及第一时间点的第一接收队列的流量到达速率, 获取第二时间点的第一接收队列的流量到达速率。The first number of packets received by the first receiving queue at the first time point and the second number of packets received by the first receiving queue at the second time point can be obtained by direct measurement. Obtain the message quantity difference between the first message quantity and the second message quantity by calculation, and obtain the time difference between the second time point and the first time point, according to the message quantity difference, time difference and The weight of the first receiving queue and the traffic arrival rate of the first receiving queue at the first time point are used to obtain the traffic arrival rate of the first receiving queue at the second time point.
可选地,获取报文数量差值与时间差值的比值为平均流量到达速率,根据权重和平均流 量到达速率,获取第一接收队列的流量到达速率。例如:可以根据权重和平均流量到达速率相 乘,得到第一接收队列的流量到达速率。Optionally, the ratio of the packet quantity difference to the time difference is obtained as the average traffic arrival rate, and the traffic arrival rate of the first receiving queue is obtained according to the weight and the average traffic arrival rate. For example: the traffic arrival rate of the first receiving queue can be obtained by multiplying the weight and the average traffic arrival rate.
例如:假设,队列i为第一接收队列,队列i在t时刻收到的报文总数为Bi(t),在t+ΔT 时刻收到的报文总数为Bi(t+ΔT),Bi(t+ΔT)-Bi(t)为ΔT时间段内接收到的报文数量,队列 i的平均流量到达速率通过如下公式获得:For example: assume that queue i is the first receiving queue, the total number of messages received by queue i at time t is B i (t), and the total number of messages received at time t+ΔT is B i (t+ΔT), B i (t+ΔT)-B i (t) is the number of packets received within the ΔT time period, and the average traffic arrival rate of queue i Obtained by the following formula:
队列i的在t+ΔT时刻的流量到达速率d(t+ΔT)通过如下公式获得:The traffic arrival rate d(t+ΔT) of queue i at time t+ΔT is obtained by the following formula:
其中,wi为队列i的权重,α(0<α<1)表示在t+ΔT时刻的d(t+ΔT)对于在t时刻的历史量 测值d(t)之权重系数,其值越接近1,表示对过去测量值的权重依赖较低,其决定了EWMA跟 踪实际数据突然发生变化的能力。Among them, w i is the weight of queue i, α(0<α<1) represents the weight coefficient of d(t+ΔT) at time t+ΔT to the historical measurement value d(t) at time t, and its value The closer to 1, the lower the weight dependence on past measurement values, which determines the ability of EWMA to track sudden changes in actual data.
在本实施例中的测量方法参考了指数加权移动平均法(Exponentially WeightedMoving Average,EWMA)算法,EWMA是一种常用的序列数据指数加权移动平均处理方式(网络中的滑 动窗口方法),在时间t,根据实际的观测值(或量测值)可以计算t时刻的估计值EWMA(t):The measurement method in this embodiment refers to the exponentially weighted moving average (Exponentially Weighted Moving Average, EWMA) algorithm, EWMA is a kind of commonly used sequence data exponentially weighted moving average processing method (sliding window method in the network), at time t , according to the actual observed value (or measured value), the estimated value EWMA(t) at time t can be calculated:
EWMA(t)=λ*Y(t)+(1-λ)*EWMA(t-1),t=1`,2,…nEWMA(t)=λ*Y(t)+(1-λ)*EWMA(t-1), t=1`,2,...n
其中Y(t)是t时间的量测值,n是观测值数量,λ(0<λ<1)表示EWMA对于历史量测值之权重系数,其值越接近1,表示对过去测量值的权重依赖较低,其决定了EWMA跟踪实际数据突然发生变化的能力,即时效性。Among them, Y(t) is the measured value at time t, n is the number of observed values, λ(0<λ<1) represents the weight coefficient of EWMA for historical measured values, and the closer the value is to 1, the greater the weight of past measured values The weight dependence is low, which determines the ability of EWMA to track sudden changes in actual data, and its instantaneity.
也就是,可以根据对第一接收队列的在第一时刻的历史测量结果和第二时刻的测量结果 得到第一接收队列的流量到达速率。That is, the traffic arrival rate of the first receiving queue can be obtained according to the historical measurement results of the first receiving queue at the first moment and the measurement results at the second moment.
S503:根据权重从HTB的总带宽获取第一接收队列的额外带宽。S503: Obtain additional bandwidth of the first receiving queue from the total bandwidth of the HTB according to the weight.
其中,一种可能的实现方式:Among them, a possible implementation:
选择HTB的叶子节点对应的接收队列的保证带宽和流量到达速率中的较小值作为该叶子 节点对应接收队列的候选带宽,将每一叶子节点的候选带宽进行累加以获取候选带宽累加值, 获取HTB的总带宽减去候选带宽累加值的差值,并将该差值作为共享带宽,获取所有需要额 外带宽的叶子节点的权重的和值,获取第一接收队列的权重与所述第二和值的比值,根据该 比值从共享带宽获取第一接收队列的额外带宽。Select the smaller value of the guaranteed bandwidth and traffic arrival rate of the receiving queue corresponding to the leaf node of HTB as the candidate bandwidth of the receiving queue corresponding to the leaf node, and accumulate the candidate bandwidth of each leaf node to obtain the cumulative value of the candidate bandwidth. The difference between the total bandwidth of the HTB minus the cumulative value of the candidate bandwidth, and use the difference as the shared bandwidth, obtain the sum of the weights of all leaf nodes that require additional bandwidth, obtain the weight of the first receive queue and the second sum The ratio of values according to which the extra bandwidth of the first receive queue is obtained from the shared bandwidth.
该方式通过数学公式表达如下:This method is expressed through a mathematical formula as follows:
根据获取共享带宽,其中,R为共享带宽,AR(i)为队列i 的保证带宽,d(i)为队列i的流量到达速率,min(a,b)为返回a,b中的较小值,k为叶 子节点的个数,a=AR(i)和d(i)中的一者,b=AR(i)和d(i)中的另一者。according to Obtain the shared bandwidth, where R is the shared bandwidth, AR(i) is the guaranteed bandwidth of queue i, d(i) is the traffic arrival rate of queue i, min(a, b) returns the smaller value among a and b , k is the number of leaf nodes, a=one of AR(i) and d(i), b=the other of AR(i) and d(i).
其中,d(i)即上文表示的d(t+ΔT),d(i)队列i的在t+ΔT时刻的流量到达速率。Wherein, d(i) is d(t+ΔT) indicated above, and d(i) is the traffic arrival rate of queue i at time t+ΔT.
根据(若d(i)>AR(i),pi=1,否则,pi=0,其中,wi为队列i的权重)获取额外带宽,其中,e(i)为队列i的额外带宽。according to (if d(i)>AR(i), p i =1, otherwise, p i =0, wherein, w i is the weight of queue i) to obtain additional bandwidth, where e(i) is the additional bandwidth of queue i .
S504:根据第一接收队列的流量到达速率、保证带宽和额外带宽,获取第一接收队列的 分配带宽。S504: Acquire the allocated bandwidth of the first receiving queue according to the traffic arrival rate, guaranteed bandwidth and extra bandwidth of the first receiving queue.
其中,一种可能的实现方式:根据流量到达速率和保证带宽中的较小值与额外带宽的和 值,得到第一接收队列的分配带宽。Among them, a possible implementation method: obtain the allocated bandwidth of the first receiving queue according to the sum of the smaller value of the traffic arrival rate and the guaranteed bandwidth and the extra bandwidth.
例如:假设第一接收队列为队列i,根据min{AR(i),d(i)}+e(i)得到第一接收队列的分配带宽。For example: assuming that the first receiving queue is queue i, the allocated bandwidth of the first receiving queue is obtained according to min{AR(i), d(i)}+e(i).
另一种可能的实现方式:根据流量到达速率和保证带宽中的较小值、所述额外带宽以及 允许的突发速率的和值,得到第一接收队列的分配带宽。Another possible implementation manner: obtain the allocated bandwidth of the first receiving queue according to the sum of the traffic arrival rate and the guaranteed bandwidth, the sum of the additional bandwidth and the allowed burst rate.
例如:假设第一接收队列为队列i,根据min{AR(i),d(i)}+e(i)+Burst,得到第 一接收队列的分配带宽。其中,Burst为允许的突发速率,Burst用于保证队列可支持特殊情况下突然增加的报文数量。For example: Assuming that the first receiving queue is queue i, according to min{AR(i), d(i)}+e(i)+Burst, the allocated bandwidth of the first receiving queue is obtained. Among them, Burst is the allowed burst rate, and Burst is used to ensure that the queue can support a sudden increase in the number of packets under special circumstances.
在S501-S504的带宽分配过程中,以为其中一个叶子节点对应的接收队列进行带宽分配 为例进行描述,其余叶子节点对应的接收队列的带宽分配情况类似,本申请不一一赘述。In the bandwidth allocation process of S501-S504, the bandwidth allocation of the receiving queue corresponding to one of the leaf nodes is described as an example, and the bandwidth allocation of the receiving queues corresponding to the other leaf nodes is similar, and this application will not repeat them one by one.
对某一个叶子节点对应的接收队列进行带宽分配,即根据所有叶子节点对应的接收队列 的报文接收情况和权重,预估每个叶子节点对应的接收队列的流量到达速率,根据所有叶子 节点对应的接收队列的流量到达速率、保证带宽以及权重,即可对某一叶子节点进行带宽分 配。Bandwidth allocation is performed on the receiving queue corresponding to a leaf node, that is, according to the message receiving status and weight of the receiving queue corresponding to all leaf nodes, the traffic arrival rate of the receiving queue corresponding to each leaf node is estimated, and according to the corresponding The traffic arrival rate, guaranteed bandwidth, and weight of the receiving queue can be used to allocate bandwidth to a leaf node.
S505:根据分配带宽进行限速操作。S505: Perform a speed limit operation according to the allocated bandwidth.
具体地,根据所述分配带宽设置第一接收队列的令牌速率,并根据所述令牌速率对所述 第一接收队列中的报文的出队操作进行限速操作。Specifically, a token rate of the first receiving queue is set according to the allocated bandwidth, and a speed limit operation is performed on dequeue operations of messages in the first receiving queue according to the token rate.
一种可能的实现方式:One possible implementation:
获取限速操作相关参数,根据分配带宽以及限速操作相关参数进行限速操作。Obtain the relevant parameters of the speed limit operation, and perform the speed limit operation according to the allocated bandwidth and the relevant parameters of the speed limit operation.
其中,限速操作相关参数包括但不限于如下至少一种:Among them, the parameters related to the speed limit operation include but are not limited to at least one of the following:
报文转发中允许突发的带宽速率,最大限制速率,超过最大限制速率的报文的处理方式。 本实施例,使用了现有的HTB树对接收队列进行管理,但没有使用HTB树的令牌桶进行带宽 借用,而是通过根据第一接收队列的分类属性获取第一接收队列的权重,根据第一接收队列 的历史报文接收情况和权重,获取第一接收队列的流量到达速率,根据权重从HTB的总带宽 获取第一接收队列的额外带宽,根据第一接收队列的流量到达速率、保证带宽和额外带宽, 获取第一接收队列的分配带宽,根据分配带宽进行限速操作,即在带宽分配的过程中,无需 访问父节点,即可进行带宽分配,因此,不需要进行节点跳转和父节点的数据维护,从而避 免内存切换和内存锁定,可提高带宽分配效率,简化报文调度流程,提高报文调度效率,降 低报文的处理时延。The bandwidth rate allowed for bursts in packet forwarding, the maximum rate limit, and the processing method for packets exceeding the maximum rate limit. In this embodiment, the existing HTB tree is used to manage the receiving queue, but the token bucket of the HTB tree is not used for bandwidth borrowing, but the weight of the first receiving queue is obtained according to the classification attribute of the first receiving queue, according to According to the historical message receiving status and weight of the first receiving queue, obtain the traffic arrival rate of the first receiving queue, obtain the additional bandwidth of the first receiving queue from the total bandwidth of the HTB according to the weight, and obtain the traffic arrival rate and guarantee of the first receiving queue according to the weight Bandwidth and additional bandwidth, obtain the allocated bandwidth of the first receiving queue, and perform speed limit operation according to the allocated bandwidth, that is, in the process of bandwidth allocation, bandwidth allocation can be performed without visiting the parent node, so there is no need for node jumping and The data maintenance of the parent node avoids memory switching and memory locking, improves bandwidth allocation efficiency, simplifies the message scheduling process, improves message scheduling efficiency, and reduces message processing delay.
图6示出本发明实施例的流量调度系统的系统结构示意图,本发明实施例可应用于在开 源数据平面开发套件(Data Plane Development Kit,DPDK)平台中,重新设计QoS模块, 实现HTB的带宽分配原则。如图6所示,在DPDK框架中,本实施涉及的流量调度系统包括网 卡、CPU核1-4,和内存,其中,CPU3运行收包函数和发包函数,CPU1和CPU2均运行入队列 函数和出队列函数,CPU4实现上述的流量调度装置,收包函数可以由DPDK收包函数(rte_eal_rx_burst)实现,发包函数可以由DPDK发包函数(rte_eal_tx_burst)实现,入 队列函数包括:分类器(Classifier)实现函数、速率测量(sensor)函数和DPDK无锁环形 队列入队函数(rte_ring_enqueue),出队列函数包括:DPDK无锁环形队列出队函数 (rte_ring_dequeue)和控制出队操作模块(actioner),接收队列和发送队列设置于内存中。 为了提高多核平台的运行效率,把以上的功能函数和流量调度装置与CPU核绑定,省略线程 在多核之间的调度。FIG. 6 shows a schematic diagram of the system structure of the traffic scheduling system of the embodiment of the present invention. The embodiment of the present invention can be applied to an open source data plane development kit (Data Plane Development Kit, DPDK) platform to redesign the QoS module to realize the bandwidth of HTB distribution principle. As shown in Figure 6, in the DPDK framework, the traffic scheduling system involved in this implementation includes network cards, CPU cores 1-4, and memory, wherein CPU3 runs the packet receiving function and the packet sending function, and both CPU1 and CPU2 run the enqueue function and Out of the queue function, CPU4 implements the above-mentioned traffic scheduling device, the packet receiving function can be realized by the DPDK packet receiving function (rte_eal_rx_burst), the packet sending function can be realized by the DPDK packet sending function (rte_eal_tx_burst), and the queue entry function includes: Classifier (Classifier) implementation function , the rate measurement (sensor) function and the DPDK lock-free ring queue enqueue function (rte_ring_enqueue), the dequeue function includes: DPDK lock-free ring queue dequeue function (rte_ring_dequeue) and the control dequeue operation module (actioner), the receiving queue and Send queues are set up in memory. In order to improve the operating efficiency of the multi-core platform, the above functional functions and traffic scheduling devices are bound to the CPU cores, and the scheduling of threads between multiple cores is omitted.
图7为本申请提供的一种流量调度装置实施例的结构示意图,本实施例的装置包括:获 取模块901和处理模块902,本实施例中,获取模块901用于根据第一接收队列的分类属性 获取所述第一接收队列的权重,其中,所述第一接收队列对应于分层令牌桶HTB的任一叶子 节点;所述获取模块901还用于根据所述第一接收队列的历史报文接收情况和所述权重,获 取所述第一接收队列的流量到达速率;所述获取模块901还用于根据所述权重从所述HTB的 总带宽获取所述第一接收队列的额外带宽;所述获取模块901还用于根据所述第一接收队列 的流量到达速率、保证带宽和所述额外带宽,获取所述第一接收队列的分配带宽;控制模块 901用于根据所述分配带宽进行限速操作。FIG. 7 is a schematic structural diagram of an embodiment of a traffic scheduling device provided by the present application. The device in this embodiment includes: an acquisition module 901 and a processing module 902. In this embodiment, the acquisition module 901 is used to classify according to the first receiving queue The attribute acquires the weight of the first receiving queue, wherein the first receiving queue corresponds to any leaf node of the hierarchical token bucket HTB; the acquiring module 901 is also configured to According to the packet receiving situation and the weight, the traffic arrival rate of the first receiving queue is obtained; the obtaining module 901 is further configured to obtain the additional bandwidth of the first receiving queue from the total bandwidth of the HTB according to the weight The obtaining module 901 is also used to obtain the allocated bandwidth of the first receiving queue according to the traffic arrival rate, guaranteed bandwidth and the additional bandwidth of the first receiving queue; the control module 901 is used to obtain the allocated bandwidth according to the allocated bandwidth Perform speed limit operation.
可选地,所述分类属性包括计费信息和租户信誉度,所述获取模块901具体用于对所述 计费信息和所述租户信誉度进行加权平均,以获取所述权重。Optionally, the classification attributes include charging information and tenant reputation, and the obtaining module 901 is specifically configured to perform weighted average on the charging information and the tenant reputation to obtain the weight.
可选地,所述历史报文接收情况包括所述第一接收队列在第一时间点接收到的第一报文 数量以及所述第一接收队列在第二时间点接收到的第二报文数量;Optionally, the historical packet reception conditions include the number of first packets received by the first receiving queue at a first time point and the number of second packets received by the first receiving queue at a second time point quantity;
所述获取模块901具体用于获取所述第二报文数量与所述第一报文数量的报文数量差值; 获取所述第二时间点与所述第一时间点的时间差值;根据所述报文数量差值、所述时间差值 以及所述第一接收队列的权重,获取所述第一接收队列的流量到达速率。The acquiring module 901 is specifically configured to acquire a message quantity difference between the second message quantity and the first message quantity; acquire a time difference between the second time point and the first time point; Obtain the traffic arrival rate of the first receiving queue according to the packet quantity difference, the time difference, and the weight of the first receiving queue.
可选地,所述获取模块901具体用于获取所述报文数量差值与所述时间差值的比值,将 所述比值作为平均流量到达速率;根据所述权重与所述平均流量到达速率,获取所述第一接 收队列的流量到达速率。Optionally, the obtaining module 901 is specifically configured to obtain a ratio of the packet quantity difference to the time difference, and use the ratio as an average traffic arrival rate; according to the weight and the average traffic arrival rate , to obtain the traffic arrival rate of the first receiving queue.
可选地,所述获取模块901具体用于选择所述HTB的叶子节点对应的接收队列的保证带 宽和流量到达速率中的较小值作为所述叶子节点对应接收队列的候选带宽;将每一叶子节点 的候选带宽进行累加以获取候选带宽累加值;获取所述总带宽与所述候选带宽累加值之差为 共享带宽;根据所述权重与所有需要额外带宽的叶子节点的权重的和值的比值以及所述共享 带宽,获取所述第一接收队列的额外带宽。Optionally, the acquisition module 901 is specifically configured to select the smaller value of the guaranteed bandwidth and traffic arrival rate of the receiving queue corresponding to the leaf node of the HTB as the candidate bandwidth of the receiving queue corresponding to the leaf node; Accumulate the candidate bandwidth of the leaf node to obtain the cumulative value of the candidate bandwidth; obtain the difference between the total bandwidth and the cumulative value of the candidate bandwidth as the shared bandwidth; Ratio and the shared bandwidth to obtain the additional bandwidth of the first receive queue.
可选地,所述获取模块901具体用于根据所述流量到达速率和所述保证带宽中的较小值 与所述额外带宽的和值,得到所述第一接收队列的分配带宽。Optionally, the obtaining module 901 is specifically configured to obtain the allocated bandwidth of the first receiving queue according to the sum of the smaller value of the traffic arrival rate and the guaranteed bandwidth and the additional bandwidth.
可选地,所述获取模块901具体用于根据所述流量到达速率和所述保证带宽中的较小值、 所述额外带宽以及允许突发的带宽速率的和值,得到所述第一接收队列的分配带宽。Optionally, the obtaining module 901 is specifically configured to obtain the first received traffic according to a smaller value of the traffic arrival rate and the guaranteed bandwidth, the additional bandwidth, and a bandwidth rate that allows bursts. The allocated bandwidth of the queue.
本实施例的装置对应地可用于执行图5所示方法实施例的技术方案,其实现原理和技术 效果类似,此处不再赘述。The device of this embodiment can be used to implement the technical solution of the method embodiment shown in Figure 5 correspondingly, and its implementation principle and technical effect are similar, and will not be repeated here.
本申请还提供一种计算机设备,包括:存储单元,用于存储指令;以及至少一台处理器, 与所述存储单元耦合;其中,当所述至少一台处理器执行所述指令时,所述指令致使所述处 理器执行图5所述的方法。The present application also provides a computer device, including: a storage unit for storing instructions; and at least one processor coupled to the storage unit; wherein, when the at least one processor executes the instructions, the The instructions cause the processor to perform the method described in FIG. 5 .
具体可参见图8,图8是根据本发明实施例的计算机设备的装置结构示意图,图8中, 计算机设备可以包括处理单元201和通信接口202,处理单元201用于执行计算机设备上运 行的操作系统以及各种软件程序所定义的功能,例如,上述流量调度装置的功能。通信接口 202用于与其他计算节点进行通信交互,其他设备可以是其它物理服务器,具体地,通信接 口202可以是网卡。可选地,该计算机设备还可以包括输入/输出接口203,输入/输出接口 203连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出接口203可以 为鼠标、键盘、显示器、或者光驱等。可选地,该计算机设备还可以包括辅助存储器204, 一般也称为外存,辅助存储器204的存储介质可以是磁性介质(例如,软盘、硬盘、磁带)、 光介质(例如光盘)、或者半导体介质(例如固态硬盘)等。处理单元201可以有多种具体实 现形式,例如处理单元201可以包括处理器2011和内存2012,处理器2011根据内存2012 中存储的程序单元执行相关的操作,处理器2011可以为中央处理器(CPU)或图像处理器(英 文:graphics processing unit,GPU),处理器2011可以是单核处理器或多核处理器。处理 单元201也可以单独采用内置处理逻辑的逻辑器件来实现,例如现场可编程门阵列(英文全 称:Field Programmable Gate Array,缩写:FPGA)或数字信号处理器(英文:digital signal processor,DSP)等。Refer to FIG. 8 for details. FIG. 8 is a schematic structural diagram of a computer device according to an embodiment of the present invention. In FIG. 8 , the computer device may include a processing unit 201 and a communication interface 202, and the processing unit 201 is used to perform operations running on the computer device The functions defined by the system and various software programs, for example, the functions of the above-mentioned flow scheduling device. The communication interface 202 is used to communicate and interact with other computing nodes, and other devices may be other physical servers, specifically, the communication interface 202 may be a network card. Optionally, the computer device may also include an input/output interface 203, and the input/output interface 203 is connected with an input/output device for receiving input information and outputting operation results. The input/output interface 203 can be a mouse, a keyboard, a monitor, or an optical drive. Optionally, the computer device may further include an auxiliary storage 204, generally also called external storage, and the storage medium of the auxiliary storage 204 may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (such as an optical disk), or a semiconductor media (such as solid-state drives), etc. The processing unit 201 may have multiple specific implementation forms. For example, the processing unit 201 may include a processor 2011 and a memory 2012. The processor 2011 performs related operations according to the program unit stored in the memory 2012. The processor 2011 may be a central processing unit (CPU) ) or an image processor (English: graphics processing unit, GPU), the processor 2011 may be a single-core processor or a multi-core processor. The processing unit 201 can also be implemented solely by a logic device with built-in processing logic, such as a field programmable gate array (English full name: Field Programmable Gate Array, abbreviation: FPGA) or a digital signal processor (English: digital signal processor, DSP), etc. .
本申请还提供一种计算机可读存储介质,所述存储介质用于存储计算机程序,所述计算 机程序用于实现图5所述的方法。The present application also provides a computer-readable storage medium, which is used to store a computer program, and the computer program is used to implement the method described in FIG. 5 .
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过 其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分, 仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结 合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相 互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连 接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms of connection.
Claims (16)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910089718.5A CN110149282B (en) | 2019-01-30 | 2019-01-30 | Traffic scheduling method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910089718.5A CN110149282B (en) | 2019-01-30 | 2019-01-30 | Traffic scheduling method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110149282A true CN110149282A (en) | 2019-08-20 |
CN110149282B CN110149282B (en) | 2021-02-12 |
Family
ID=67588614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910089718.5A Active CN110149282B (en) | 2019-01-30 | 2019-01-30 | Traffic scheduling method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110149282B (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113328957A (en) * | 2021-05-18 | 2021-08-31 | 深圳Tcl新技术有限公司 | Flow control method and device and electronic equipment |
CN113783727A (en) * | 2021-09-07 | 2021-12-10 | 山石网科通信技术股份有限公司 | Method and device for adjusting bandwidth of distributed equipment, storage medium and processor |
CN113950056A (en) * | 2021-10-20 | 2022-01-18 | 中国联合网络通信集团有限公司 | Bandwidth allocation method, device and storage medium |
CN117055820A (en) * | 2023-10-09 | 2023-11-14 | 苏州元脑智能科技有限公司 | Command processing method of solid state disk, solid state disk and storage medium |
CN117707720A (en) * | 2023-08-07 | 2024-03-15 | 荣耀终端有限公司 | Process scheduling method, device and electronic equipment |
CN117793014A (en) * | 2024-02-23 | 2024-03-29 | 北京中科网芯科技有限公司 | Method for realizing token bucket |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848167A (en) * | 2010-06-01 | 2010-09-29 | 北京星网锐捷网络技术有限公司 | Weighted fair queue dispatching method and device based on category |
US8130648B2 (en) * | 2006-01-04 | 2012-03-06 | Broadcom Corporation | Hierarchical queue shaping |
CN103036803A (en) * | 2012-12-21 | 2013-04-10 | 南京邮电大学 | Flow control method based on application layer detection |
CN104079501A (en) * | 2014-06-05 | 2014-10-01 | 深圳市邦彦信息技术有限公司 | Queue scheduling method based on multiple priorities |
CN105915470A (en) * | 2016-01-27 | 2016-08-31 | 无锡华云数据技术服务有限公司 | Flexible bandwidth configuration method based on Linux flow control |
CN106341346A (en) * | 2016-09-08 | 2017-01-18 | 重庆邮电大学 | Routing algorithm of guaranteeing QoS in data center network based on SDN |
-
2019
- 2019-01-30 CN CN201910089718.5A patent/CN110149282B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8130648B2 (en) * | 2006-01-04 | 2012-03-06 | Broadcom Corporation | Hierarchical queue shaping |
CN101848167A (en) * | 2010-06-01 | 2010-09-29 | 北京星网锐捷网络技术有限公司 | Weighted fair queue dispatching method and device based on category |
CN103036803A (en) * | 2012-12-21 | 2013-04-10 | 南京邮电大学 | Flow control method based on application layer detection |
CN104079501A (en) * | 2014-06-05 | 2014-10-01 | 深圳市邦彦信息技术有限公司 | Queue scheduling method based on multiple priorities |
CN105915470A (en) * | 2016-01-27 | 2016-08-31 | 无锡华云数据技术服务有限公司 | Flexible bandwidth configuration method based on Linux flow control |
CN106341346A (en) * | 2016-09-08 | 2017-01-18 | 重庆邮电大学 | Routing algorithm of guaranteeing QoS in data center network based on SDN |
Non-Patent Citations (1)
Title |
---|
段鹏飞: ""基于HTB算法的带宽管理系统的设计与实现"", 《万方》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113328957A (en) * | 2021-05-18 | 2021-08-31 | 深圳Tcl新技术有限公司 | Flow control method and device and electronic equipment |
CN113328957B (en) * | 2021-05-18 | 2023-05-23 | 深圳Tcl新技术有限公司 | Flow control method and device and electronic equipment |
CN113783727A (en) * | 2021-09-07 | 2021-12-10 | 山石网科通信技术股份有限公司 | Method and device for adjusting bandwidth of distributed equipment, storage medium and processor |
CN113783727B (en) * | 2021-09-07 | 2024-04-26 | 山石网科通信技术股份有限公司 | Method and device for adjusting bandwidth of distributed equipment, storage medium and processor |
CN113950056A (en) * | 2021-10-20 | 2022-01-18 | 中国联合网络通信集团有限公司 | Bandwidth allocation method, device and storage medium |
CN117707720A (en) * | 2023-08-07 | 2024-03-15 | 荣耀终端有限公司 | Process scheduling method, device and electronic equipment |
CN117055820A (en) * | 2023-10-09 | 2023-11-14 | 苏州元脑智能科技有限公司 | Command processing method of solid state disk, solid state disk and storage medium |
CN117055820B (en) * | 2023-10-09 | 2024-02-09 | 苏州元脑智能科技有限公司 | Command processing method of solid state disk, solid state disk and storage medium |
CN117793014A (en) * | 2024-02-23 | 2024-03-29 | 北京中科网芯科技有限公司 | Method for realizing token bucket |
CN117793014B (en) * | 2024-02-23 | 2024-05-07 | 北京中科网芯科技有限公司 | Method for realizing token bucket |
Also Published As
Publication number | Publication date |
---|---|
CN110149282B (en) | 2021-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149282A (en) | Traffic scheduling method and device | |
US10764215B2 (en) | Programmable broadband gateway hierarchical output queueing | |
CN113014415A (en) | End-to-end quality of service in an edge computing environment | |
CN106030562B (en) | Grouping shaping in network processing unit | |
WO2020034819A1 (en) | Service quality assurance method in distributed storage system, control node and system | |
CN110058936B (en) | Method, apparatus and computer program product for determining an amount of resources of a dedicated processing resource | |
US9042252B2 (en) | Inter-packet interval prediction learning algorithm | |
US10659372B2 (en) | Multi-core lock-free rate limiting apparatus and method | |
CN108897606B (en) | Multi-tenant container cloud platform virtual network resource adaptive scheduling method and system | |
US11784942B2 (en) | Dynamic allocation of edge network resources | |
CN107645407A (en) | A kind of adaptation QoS method and apparatus | |
WO2019239821A1 (en) | Distributed processing system and distributed processing method | |
CN116137630A (en) | Method and device for quantitatively processing network service demands | |
CN113032410B (en) | Data processing method, device, electronic equipment and computer storage medium | |
WO2023030987A1 (en) | Dynamic load balancing in reactive systems | |
US11743134B2 (en) | Programmable traffic management engine | |
CN106302226B (en) | A QoS-aware service dynamic scheduling method | |
CN116599909B (en) | Time-sensitive data stream cross-domain aggregation method, system, device and storage medium | |
KR100523491B1 (en) | Apparatus for guranteeing performance of packet in Ethernet system and method thereof | |
CN115022245B (en) | A data transmission method, related device, equipment and storage medium | |
US12229219B2 (en) | Dynamic evaluation of model acceptability | |
JP4390731B2 (en) | Call admission determination method, system and program | |
US20240160719A1 (en) | Information processing system | |
US20250141790A1 (en) | Apparatuses, methods and non-transitory computer-readable storage mediums for service communication proxy interconnection | |
da Rosa Righi et al. | Redesigning transaction load balancing on electronic funds transfer scenarios |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220223 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |