CN115460151A - 一种流量控制方法、系统、存储介质及电子设备 - Google Patents
一种流量控制方法、系统、存储介质及电子设备 Download PDFInfo
- Publication number
- CN115460151A CN115460151A CN202210426633.3A CN202210426633A CN115460151A CN 115460151 A CN115460151 A CN 115460151A CN 202210426633 A CN202210426633 A CN 202210426633A CN 115460151 A CN115460151 A CN 115460151A
- Authority
- CN
- China
- Prior art keywords
- token
- flow
- input controller
- flow control
- controller
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000004590 computer program Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 5
- 239000000284 extract Substances 0.000 claims description 3
- 239000011159 matrix material Substances 0.000 abstract description 19
- 238000004422 calculation algorithm Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000872 buffer Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/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/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种流量控制方法、系统、存储介质及电子设备,方法包括:输出控制器周期性地统计每个输入控制器的流量大小;输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器;输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。由于本申请采用令牌桶算法,并采用负反馈方式对输入的流量进行流控,可以实时调整业务线卡输入端的流量转发速率,避免交换矩阵发生拥塞,导致交换矩阵内部缓存溢出,而造成流量报文丢失现象。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种流量控制方法、系统、存储介质及电子设备。
背景技术
采用交换矩阵的数通网络设备,其单播流量会流经不同的业务线卡,当流向同一输出端口的输入流量带宽之和大于输出端口时,交换矩阵会启动缓存机制,平抑流量,但超过缓存能力的时候,会发生拥塞,以致丢包。
在现有的技术方案中,主要通过集中式的管理方式进行处理,在网络设备中,如果由主控板卡采用集中式带宽管理方式采集各个业务线卡的流量数据,分析每个业务线卡的带宽使用情况,调度各个业务线卡转发报文,这会大大增加主控板卡的负荷。
发明内容
本申请实施例提供了一种流量控制方法、系统、存储介质及电子设备。为了对披露的实施例的一些方面有一个基本的理解,下面给出了简单的概括。该概括部分不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围。其唯一目的是用简单的形式呈现一些概念,以此作为后面的详细说明的序言。
第一方面,本申请实施例提供了一种流量控制方法,方法包括:
输出控制器周期性地统计每个输入控制器的流量大小;
输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器;
输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。
可选的,输出控制器周期性地统计每个输入控制器的流量大小,包括:
确定当前时刻满足带宽分配周期,输出控制器获取每个输入控制器的流量字节大小;
输出控制器根据流量字节大小计算每个输入控制器的流量所占实际带宽大小。
可选的,确定当前时刻满足带宽分配周期,包括:
启动定时器将预设周期的时长进行倒计时;
当倒计时结束的时刻与当前时刻一致的情况下,确定当前时刻满足带宽分配周期。
可选的,输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,包括:
输出控制器根据每个输入控制器的流量所占实际带宽大小计算每个输入控制器的令牌更新速率;
输出控制器创建每个输入控制器对应的控制报文;
输出控制器将每个输入控制器的令牌更新速率配置到对应的控制报文上,得到每个输入控制器的流量控制报文。
可选的,输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,包括:
输入控制器接收流量控制报文,并从流量控制报文中提取出令牌更新速率;
在当前时刻满足令牌生成周期且存在待发送的单播报文时,输入控制器统计令牌桶中的当前令牌数量;
输入控制器根据令牌更新速率与当前令牌数量计算实际令牌数量,并将当前令牌数量设置为实际令牌数量。
可选的,根据令牌更新速率与当前令牌数量计算实际令牌数量,包括:
根据令牌更新速率与当前令牌数量计算第一令牌数量;
在第一令牌数量大于当前令牌数量时,将第一令牌数量确定为实际令牌数量;其中,
第一令牌数量计算公式为:X=Bcur+I-n*8;X为第一令牌数量,Bcur为当前令牌数量,I为令牌更新速率,n为已发送流量的字节数;
或者,
在第一令牌数量小于等于当前令牌数量时,将预设令牌桶容量确定为实际令牌数量。
可选的,基于更新后的令牌数量控制流量转发至输出控制器,包括:
在当前时刻满足报文发送条件时,输入控制器确定待传输流量的数量;
在待传输流量的数量小于更新后的令牌数量时,输入控制器控制流量转发至输出控制器,并在更新后的令牌数量中减去待传输流量的数量。
第二方面,本申请实施例提供了一种流量控制系统,系统包括:
输出控制器、输入控制器;其中,
输出控制器和输入控制器通信连接;
输出控制器,用于周期性地统计每个输入控制器的流量大小,并根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器;
输入控制器,用于根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。
第三方面,本申请实施例提供一种计算机存储介质,计算机存储介质存储有多条指令,指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种电子设备,可包括:处理器和存储器;其中,存储器存储有计算机程序,计算机程序适于由处理器加载并执行上述的方法步骤。
本申请实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,首先业务线卡的输出控制器周期性地统计每个输入控制器的流量大小,然后业务线卡的输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器,最后业务线卡的输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。由于本申请采用令牌桶算法,并采用负反馈方式对输入的流量进行流控,可以实时调整业务线卡输入端的流量转发速率,避免交换矩阵发生拥塞,导致交换矩阵内部缓存溢出,而造成流量报文丢失现象。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是本申请实施例提供的一种流量控制方法的流程示意图;
图2是本申请提供的一种输出控制器工作流程示意图;
图3是本申请提供的一种业务线卡令牌桶工作流程图;
图4是本申请实施例提供的一种流量控制系统的结构示意图;
图5是本申请实施例提供的一种电子设备的结构示意图;
图6是本申请实施例提供的一种程序产品示意图。
具体实施方式
以下描述和附图充分地示出本申请的具体实施方案,以使本领域的技术人员能够实践它们。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的系统和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本申请提供了一种流量控制方法、系统、存储介质及电子设备,以解决上述相关技术问题中存在的问题。本申请提供的技术方案中,由于本申请采用令牌桶算法,并采用负反馈方式对输入的流量进行流控,可以实时调整业务线卡输入端的流量转发速率,避免交换矩阵发生拥塞,导致交换矩阵内部缓存溢出,而造成流量报文丢失现象,下面采用示例性的实施例进行详细说明。
下面将结合附图1-附图4,对本申请实施例提供的流量控制方法进行详细介绍。该方法可依赖于计算机程序实现,可运行于基于冯诺依曼体系的流量控制系统上。该计算机程序可集成在应用中,也可作为独立的工具类应用运行。
请参见图1,为本申请实施例提供了一种流量控制方法的流程示意图。如图1所示,本申请实施例的方法可以包括以下步骤:
S101,输出控制器周期性地统计每个输入控制器的流量大小;
其中,输入控制器和输出控制器设置在硬件芯片上,每个业务线卡既可以是输入控制器,也可以是输出控制器,业务线卡负责用户业务的接入与处理。
通常,本申请使用硬件芯片(如FPGA等)实现令牌桶算法。硬件芯片为每个业务线卡配置一个令牌桶。
在本申请实施例中,周期性地统计每个输入控制器的流量大小时,首先确定当前时刻满足带宽分配周期,然后输出控制器获取每个输入控制器的流量字节大小,最后输出控制器根据流量字节大小计算每个输入控制器的流量所占实际带宽大小。
具体的,在确定当前时刻满足带宽分配周期时,首先启动定时器将预设周期的时长进行倒计时,然后当倒计时结束的时刻与当前时刻一致的情况下,确定当前时刻满足带宽分配周期。
需要说明的是,本申请在实际应用中多采用分布式带宽管理方式,即在业务线卡上采集流量数据,分析带宽使用情况,调度各个业务线卡发送报文,实现带宽调度管理。
S102,输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器;
在本申请实施例中,在构建每个输入控制器的流量控制报文时,输出控制器首先根据每个输入控制器的流量所占实际带宽大小计算每个输入控制器的令牌更新速率,然后创建每个输入控制器对应的控制报文,最后将每个输入控制器的令牌更新速率配置到对应的控制报文上,得到每个输入控制器的流量控制报文。
例如图2所示,图2是本申请提供的一种输出控制器工作流程示意图,输出控制器周期性统计各个输入控制器流量,根据统计值将自身带宽按照分配算法分配给各个输入控制器端口,并将带宽分配结果转化为I值,然后以控制报文的形式通知各个输入控制器端口更新I。I值确定如下:
设令牌生成周期为t=1000ns,输出控制器物理带宽为10G,业务线卡3要将10G带宽平均分配给2个输入控制器的端口,即业务线卡1和业务线卡2分别得到Bw=5G的带宽,则2个输入控制器端口的I值为5000,然后将带有I值得控制报文发送给各个输入控制器端口,业务线卡1和业务线卡2再收到带有I值的控制报文后,分别更新本地令牌桶T。
S103,输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。
在本申请实施例中,在根据接收的流量控制报文更新令牌桶中的当前令牌数量时,首先接收流量控制报文,并从流量控制报文中提取出令牌更新速率,然后在当前时刻满足令牌生成周期且存在待发送的单播报文时,输入控制器统计令牌桶中的当前令牌数量,最后输入控制器根据令牌更新速率与当前令牌数量计算实际令牌数量,并将当前令牌数量设置为实际令牌数量。
在一种可能的实现方式中,在根据令牌更新速率与当前令牌数量计算实际令牌数量时,首先根据令牌更新速率与当前令牌数量计算第一令牌数量,然后在第一令牌数量大于当前令牌数量时,最后将第一令牌数量确定为实际令牌数量;其中,第一令牌数量计算公式为:X=Bcur+I-n*8;X为第一令牌数量,Bcur为当前令牌数量,I为令牌更新速率,n为已发送流量的字节数;或者,在第一令牌数量小于等于当前令牌数量时,将预设令牌桶容量确定为实际令牌数量。
进一步地,在当前时刻满足令牌生成周期且存在待发送的单播报文时,输入控制器统计令牌桶中的当前令牌数量,根据令牌更新速率与当前令牌数量计算第二令牌数量,然后在第二令牌数量大于当前令牌数量时,最后将第二令牌数量确定为实际令牌数量;其中,第二令牌数量计算公式为:X=Bcur+I;X为第一令牌数量,Bcur为当前令牌数量,I为令牌更新速率,n为已发送流量的字节数;或者,在第一令牌数量小于等于当前令牌数量时,将预设令牌桶容量确定为实际令牌数量。
进一步地,在基于更新后的令牌数量控制流量转发至输出控制器时,首先在当前时刻满足报文发送条件时,输入控制器确定待传输流量的数量,然后在待传输流量的数量小于更新后的令牌数量时,输入控制器控制流量转发至输出控制器,并在更新后的令牌数量中减去待传输流量的数量。
例如图3所示,图3是本申请提供的一种业务线卡令牌桶工作流程图,T表示令牌生成周期,h0便是每周期内生成令牌数量得初始值,B0表示令牌桶初始大小,Bmax表示令牌桶容量,Bcur表示令牌桶当前所有令牌数量,h表示每周期生成令牌数量,n表示已发送流量的字节数。首先判断是否收到流量控制报文,若是,则确定结合I更新令牌桶,在前时刻满足令牌生成周期且存在待发送的单播报文时,判断Bcur+I-n*8是否大于Bcur,若是将Bcur设置为Bcur+I-n*8,若否,将Bcur设置为Bmax。前时刻满足令牌生成周期且不存在待发送的单播报文时,判断Bcur+I是否大于Bcur,若是将Bcur设置为Bcur+I,若否,将Bcur设置为Bmax。在前时刻不满足令牌生成周期且存在待发送的单播报文时,将Bcur设置为Bcur-n*8。
在一种可能的实现方式中,每次发送流量前,会检查令牌桶中是否有足够的令牌,如果“是”,则发送报文并减去相应数量的令牌,否则将报文缓存,若缓存队列已满,则将报文丢弃。通过分布式令牌桶管理机制,将输出端口定时计算出的分配带宽转换为输入端口的令牌更新速率,并通过业务线卡间的控制报文将该速率通知输入端口,输入端口根据最新的令牌更新速率,定时更新令牌桶中的令牌数量,最终实现交换矩阵的带宽管理。
在本申请实施例中,首先业务线卡的输出控制器周期性地统计每个输入控制器的流量大小,然后业务线卡的输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器,最后业务线卡的输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。由于本申请采用令牌桶算法,并采用负反馈方式对输入的流量进行流控,可以实时调整业务线卡输入端的流量转发速率,避免交换矩阵发生拥塞,使得导致交换矩阵内部缓存溢出,而造成流量报文丢失现象。
下述为本申请系统实施例,可以用于执行本申请方法实施例。对于本申请系统实施例中未披露的细节,请参照本申请方法实施例。
请参见图4,其示出了本申请一个示例性实施例提供的流量控制系统的结构示意图。该流量控制系统可以通过软件、硬件或者两者的结合实现成为电子设备的全部或一部分。该系统包括输出控制器、输入控制器;其中,
输出控制器和输入控制器通信连接;
输出控制器,用于周期性地统计每个输入控制器的流量大小,并根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器;
输入控制器,用于根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。
可选的,该系统还包括交换矩阵,该交换矩阵分别与输出控制器、输入控制器通信连接;交换矩阵用于缓存流量报文。
具体的,假设任意两个线卡之间只有一种流量。每个业务线卡既可以是输入控制器,也可以是输出控制器,每个业务线卡有2个令牌桶,管理去往另外2个业务线卡的流量(每个输出控制器线卡有一个令牌桶)。对于更多数量业务线卡,线卡之间的流量,也可以用本申请通过分布式令牌桶,实现对交换矩阵的流量管理。
在本申请实施例中,首先业务线卡的输出控制器周期性地统计每个输入控制器的流量大小,然后业务线卡的输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器,最后业务线卡的输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。由于本申请采用令牌桶算法,并采用负反馈方式对输入的流量进行流控,可以实时调整业务线卡输入端的流量转发速率,避免交换矩阵发生拥塞,导致交换矩阵内部缓存溢出,而造成流量报文丢失现象。
本申请还提供一种计算机可读介质,其上存储有程序指令,该程序指令被处理器执行时实现上述各个方法实施例提供的流量控制方法。
本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个方法实施例的流量控制方法。
请参见图5,图5为一个实施例中电子设备的内部结构示意图,应用于第一电子设备。如图5所示,该电子设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该电子设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种流量控制方法。该电子设备的处理器用于提供计算和控制能力,支撑整个电子设备的运行。该电子设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种流量控制方法。该电子设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提出了一种电子设备,电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
输出控制器周期性地统计每个输入控制器的流量大小;
输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器;
输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。
在一个实施例中,处理器在执行输出控制器周期性地统计每个输入控制器的流量大小时,具体执行以下步骤:确定当前时刻满足带宽分配周期,输出控制器获取每个输入控制器的流量字节大小;
输出控制器根据流量字节大小计算每个输入控制器的流量所占实际带宽大小。
在一个实施例中,处理器在执行确定当前时刻满足带宽分配周期时,具体执行以下步骤:
启动定时器将预设周期的时长进行倒计时;
当倒计时结束的时刻与当前时刻一致的情况下,确定当前时刻满足带宽分配周期。
在一个实施例中,处理器在执行输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文时,具体执行以下步骤:
输出控制器根据每个输入控制器的流量所占实际带宽大小计算每个输入控制器的令牌更新速率;
输出控制器创建每个输入控制器对应的控制报文;
输出控制器将每个输入控制器的令牌更新速率配置到对应的控制报文上,得到每个输入控制器的流量控制报文。
在一个实施例中,处理器在执行输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量时,具体执行以下步骤:
输入控制器接收流量控制报文,并从流量控制报文中提取出令牌更新速率;
在当前时刻满足令牌生成周期且存在待发送的单播报文时,输入控制器统计令牌桶中的当前令牌数量;
输入控制器根据令牌更新速率与当前令牌数量计算实际令牌数量,并将当前令牌数量设置为实际令牌数量。
在一个实施例中,处理器在执行根据令牌更新速率与当前令牌数量计算实际令牌数量时,具体执行以下步骤:
根据令牌更新速率与当前令牌数量计算第一令牌数量;
在第一令牌数量大于当前令牌数量时,将第一令牌数量确定为实际令牌数量;其中,
第一令牌数量计算公式为:X=Bcur+I-n*8;X为第一令牌数量,Bcur为当前令牌数量,I为令牌更新速率,n为已发送流量的字节数;
或者,
在第一令牌数量小于等于当前令牌数量时,将预设令牌桶容量确定为实际令牌数量。
在一个实施例中,处理器在执行基于更新后的令牌数量控制流量转发至输出控制器时,具体执行以下步骤:
在当前时刻满足报文发送条件时,输入控制器确定待传输流量的数量;
在待传输流量的数量小于更新后的令牌数量时,输入控制器控制流量转发至输出控制器,并在更新后的令牌数量中减去待传输流量的数量。
在本申请实施例中,首先业务线卡的输出控制器周期性地统计每个输入控制器的流量大小,然后业务线卡的输出控制器根据每个输入控制器的流量大小构建每个输入控制器的流量控制报文,并发送至每个输入控制器,最后业务线卡的输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至输出控制器。由于本申请采用令牌桶算法,并采用负反馈方式对输入的流量进行流控,可以实时调整业务线卡输入端的流量转发速率,避免交换矩阵发生拥塞,使得导致交换矩阵内部缓存溢出,而造成流量报文丢失现象。
本申请实施方式还提供一种与前述实施方式所提供的流量控制方法对应的计算机可读存储介质,请参考图6,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),计算机程序在被处理器运行时,会执行前述任意实施方式所提供的流量控制方法。
需要说明的是,计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的流量控制方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,流量控制的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (10)
1.一种流量控制方法,其特征在于,所述方法包括:
输出控制器周期性地统计每个输入控制器的流量大小;
输出控制器根据每个输入控制器的流量大小构建所述每个输入控制器的流量控制报文,并发送至所述每个输入控制器;
输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至所述输出控制器。
2.根据权利要求1所述的方法,其特征在于,所述输出控制器周期性地统计每个输入控制器的流量大小,包括:
确定当前时刻满足带宽分配周期,输出控制器获取每个输入控制器的流量字节大小;
输出控制器根据所述流量字节大小计算每个输入控制器的流量所占实际带宽大小。
3.根据权利要求2所述的方法,其特征在于,所述确定当前时刻满足带宽分配周期,包括:
启动定时器将预设周期的时长进行倒计时;
当倒计时结束的时刻与当前时刻一致的情况下,确定当前时刻满足带宽分配周期。
4.根据权利要求2所述的方法,其特征在于,所述输出控制器根据每个输入控制器的流量大小构建所述每个输入控制器的流量控制报文,包括:
输出控制器根据每个输入控制器的流量所占实际带宽大小计算每个输入控制器的令牌更新速率;
输出控制器创建每个输入控制器对应的控制报文;
输出控制器将每个输入控制器的令牌更新速率配置到对应的控制报文上,得到每个输入控制器的流量控制报文。
5.根据权利要求1所述的方法,其特征在于,所述输入控制器根据接收的流量控制报文更新令牌桶中的当前令牌数量,包括:
输入控制器接收流量控制报文,并从所述流量控制报文中提取出令牌更新速率;
在当前时刻满足令牌生成周期且存在待发送的单播报文时,输入控制器统计令牌桶中的当前令牌数量;
输入控制器根据所述令牌更新速率与所述当前令牌数量计算实际令牌数量,并将所述当前令牌数量设置为实际令牌数量。
6.根据权利要求5所述的方法,其特征在于,所述根据所述令牌更新速率与所述当前令牌数量计算实际令牌数量,包括:
根据所述令牌更新速率与所述当前令牌数量计算第一令牌数量;
在所述第一令牌数量大于所述当前令牌数量时,将所述第一令牌数量确定为实际令牌数量;其中,
所述第一令牌数量计算公式为:X=Bcur+I-n*8;X为第一令牌数量,Bcur为当前令牌数量,I为令牌更新速率,n为已发送流量的字节数;
或者,
在所述第一令牌数量小于等于所述当前令牌数量时,将预设令牌桶容量确定为实际令牌数量。
7.根据权利要求5所述的方法,其特征在于,所述基于更新后的令牌数量控制流量转发至所述输出控制器,包括:
在当前时刻满足报文发送条件时,输入控制器确定待传输流量的数量;
在待传输流量的数量小于所述更新后的令牌数量时,输入控制器控制流量转发至所述输出控制器,并在更新后的令牌数量中减去所述待传输流量的数量。
8.一种流量控制系统,其特征在于,所述系统包括:
输出控制器、输入控制器;其中,
所述输出控制器和输入控制器通信连接;
输出控制器,用于周期性地统计每个输入控制器的流量大小,并根据每个输入控制器的流量大小构建所述每个输入控制器的流量控制报文,并发送至所述每个输入控制器;
输入控制器,用于根据接收的流量控制报文更新令牌桶中的当前令牌数量,并基于更新后的令牌数量控制待发送的单播报文转发至所述输出控制器。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1-7任意一项的方法步骤。
10.一种电子设备,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1-7任意一项的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210426633.3A CN115460151A (zh) | 2022-04-22 | 2022-04-22 | 一种流量控制方法、系统、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210426633.3A CN115460151A (zh) | 2022-04-22 | 2022-04-22 | 一种流量控制方法、系统、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115460151A true CN115460151A (zh) | 2022-12-09 |
Family
ID=84296416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210426633.3A Pending CN115460151A (zh) | 2022-04-22 | 2022-04-22 | 一种流量控制方法、系统、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115460151A (zh) |
-
2022
- 2022-04-22 CN CN202210426633.3A patent/CN115460151A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111512602B (zh) | 一种发送报文的方法、设备和系统 | |
US9225668B2 (en) | Priority driven channel allocation for packet transferring | |
JP5206765B2 (ja) | 送信端末装置およびネットワークノードおよび中継スイッチ | |
EP2466824A1 (en) | Service scheduling method and device | |
JP2014187421A (ja) | 通信装置及びパケットスケジューリング方法 | |
CN108376103A (zh) | 一种云平台的资源平衡控制方法及服务器 | |
CN113973342B (zh) | 流量控制方法、装置、电子设备及存储介质 | |
KR20120055946A (ko) | 공평한 대역 할당 기반 패킷 스케줄링 방법 및 장치 | |
CN101719869A (zh) | 一种采用关联令牌桶算法动态分配带宽的方法及装置 | |
US20230117851A1 (en) | Method and Apparatus for Queue Scheduling | |
US7907632B2 (en) | Data output apparatus, communication apparatus and switch apparatus | |
CN115460151A (zh) | 一种流量控制方法、系统、存储介质及电子设备 | |
CN115550284A (zh) | 消息处理方法、装置和设备 | |
JPH0818576A (ja) | 通信システム | |
JP4238415B2 (ja) | 送信端末装置およびネットワークノードおよび中継スイッチ | |
CN110955522B (zh) | 一种协调性能隔离和数据恢复优化的资源管理方法及系统 | |
US7349406B1 (en) | Method and apparatus for virtual network connection merging | |
KR100745679B1 (ko) | 적응 라운드 로빈을 이용한 패킷 스케쥴링 방법 및 장치 | |
US20130247071A1 (en) | System and method for efficient shared buffer management | |
CN100442760C (zh) | 一种分组公平调度方法及设备 | |
CN113839996B (zh) | 对象存储分布式质量服务的方法及装置 | |
CN118474030B (zh) | 一种统一存储系统的流量控制方法、装置、设备及介质 | |
CN115834712B (zh) | 一种面向连接型业务的网关资源调度方法 | |
JPH0962564A (ja) | バッファ割り当て制御システム | |
CN115460152A (zh) | 一种组播报文控制方法、系统、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |