CN110958184B - 带宽调节方法及装置 - Google Patents
带宽调节方法及装置 Download PDFInfo
- Publication number
- CN110958184B CN110958184B CN201911186713.0A CN201911186713A CN110958184B CN 110958184 B CN110958184 B CN 110958184B CN 201911186713 A CN201911186713 A CN 201911186713A CN 110958184 B CN110958184 B CN 110958184B
- Authority
- CN
- China
- Prior art keywords
- token
- token bucket
- packet
- message
- bucket
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/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
- 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
本申请提供一种带宽调节方法及装置,涉及网络服务技术领域。其中,该方法通过接收第一报文,并将第一报文传输至第一令牌桶以及第二令牌桶,第一令牌桶为第一报文所属流的专属令牌桶,第二令牌桶为共用令牌桶,并获取第一报文通过第一令牌桶的第一令牌分配状态以及通过第二令牌桶的第二令牌分配状态,通过双令牌桶的设置方式实现若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文,可以在已经为其他报文所属流分配带宽的情况下,尽可能为新接收的较小流量报文争取到带宽,输出该报文,有效提高带宽的利用率。
Description
技术领域
本申请涉及网络服务技术领域,特别涉及一种带宽调节方法及装置。
背景技术
对于网络业务,影响服务质量的因素包括传输的带宽、传送的时延、数据的丢包率等,在网络中可以通过保证传输的带宽、降低传送的时延、降低数据的丢包率以及时延抖动等措施来提高服务质量(Quality of Service,QoS)服务质量。
现有的带宽模式中包括独占带宽和共享带宽两种,以基于IP地址为例进行说明,其中,独占带宽表示对网段内逐IP地址流量进行限速,而各IP地址独享的限制带宽,不能被网段内其他IP流量共享;共享带宽表示根据当前存在流量的IP地址数量和该网段内所有IP地址的共享带宽,动态平均分配各IP地址占用的带宽。具体实现过程中,通过在令牌桶中获取令牌,如果获取到令牌则分配带宽,如果没有获取到令牌则无法分配带宽。
但采用现有的实现方式,在带宽已经被分配完的情况下,再有新上线的流,特别是流量较小的流也无法抢到带宽,存在带宽利用率低的问题。
发明内容
针对上述现有技术中的不足,本申请提供一种带宽调节方法及装置,可以解决现有技术中带宽利用率低的技术问题。
第一方面,本申请提供了一种带宽调节方法,包括:
接收第一报文,并将第一报文传输至第一令牌桶以及第二令牌桶,第一令牌桶为第一报文所属流的专属令牌桶,第二令牌桶为共用令牌桶;
获取第一报文通过第一令牌桶的第一令牌分配状态以及通过第二令牌桶的第二令牌分配状态;
若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文。
可选地,上述方法还包括:若第一报文通过第一令牌桶的第一令牌分配状态为获取令牌,对第一令牌桶和第二令牌桶分别进行减令牌操作。
可选地,上述若第一报文通过第一令牌桶的第一令牌分配状态为获取令牌,对第一令牌桶和第二令牌桶分别进行减令牌操作,包括:
根据第一报文所需的令牌数和第一令牌桶的可分配令牌数,对第一令牌桶进行减令牌操作;
根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,其中,若第二令牌桶的令牌数小于或等于0时,第二令牌桶减令牌后第二令牌桶中令牌数记为负值。
可选地,上述若第二令牌桶的令牌数小于或等于0时,第二令牌桶减令牌后第二令牌桶中令牌数记为负值之后,还包括:
根据第一报文和下一报文之间的时间间隔、第二令牌桶的承诺信息速率,对第二令牌桶进行加令牌操作。
可选地,上述若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文,包括:
若第一报文通过第一令牌桶的第一令牌分配状态为未获取令牌、第一报文通过第二令牌桶的第二令牌分配状态为获取令牌,则根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,并输出第一报文。
可选地,上述方法还包括:接收第二报文,并将第二报文传输至第三令牌桶以及第二令牌桶,第三令牌桶为第二报文所属流的专属令牌桶,第二报文与第一报文属于不同流;
获取第二报文通过第三令牌桶的第三令牌分配状态以及通过第二令牌桶的第四令牌分配状态;
若第三令牌分配状态和第四令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第二报文;
当再次接收到与第一报文属于相同流的第三报文时,将第三报文传输至第一令牌桶以及第二令牌桶;
利用从第二令牌桶中为第一报文、第二报文分配的令牌数以及第二令牌桶中剩余的令牌数,为第三报文分配令牌,第三报文分配的令牌数不大于第一报文分配的令牌数。
第二方面,本申请提供了一种带宽调节装置,包括:第一接收模块、第一获取模块及第一输出模块。
第一接收模块,用于接收第一报文,并将第一报文传输至第一令牌桶以及第二令牌桶,第一令牌桶为第一报文所属流的专属令牌桶,第二令牌桶为共用令牌桶;
第一获取模块,用于获取第一报文通过第一令牌桶的第一令牌分配状态以及通过第二令牌桶的第二令牌分配状态;
第一输出模块,用于若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文。
可选地,上述装置还包括:操作模块,用于若第一报文通过第一令牌桶的第一令牌分配状态为获取令牌,对第一令牌桶和第二令牌桶分别进行减令牌操作。
可选地,上述操作模块,具体用于根据第一报文所需的令牌数和第一令牌桶的可分配令牌数,对第一令牌桶进行减令牌操作;
根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,其中,若第二令牌桶的令牌数小于或等于0时,第二令牌桶减令牌后第二令牌桶中令牌数记为负值。
可选地,上述操作模块,还用于根据第一报文和下一报文之间的时间间隔、第二令牌桶的承诺信息速率,对第二令牌桶进行加令牌操作。
可选地,上述第一输出模块,具体用于若第一报文通过第一令牌桶的第一令牌分配状态为未获取令牌、第一报文通过第二令牌桶的第二令牌分配状态为获取令牌,则根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,并输出第一报文。
可选地,上述装置还包括:第二接收模块、第二获取模块、第二输出模块、传输模块及输出模块。
第二接收模块,用于接收第二报文,并将第二报文传输至第三令牌桶以及第二令牌桶,第三令牌桶为第二报文所属流的专属令牌桶,第二报文与第一报文属于不同流;
第二获取模块,用于获取第二报文通过第三令牌桶的第三令牌分配状态以及通过第二令牌桶的第四令牌分配状态;
第二输出模块,用于若第三令牌分配状态和第四令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第二报文;
传输模块,用于当再次接收到与第一报文属于相同流的第三报文时,将第三报文传输至第一令牌桶以及第二令牌桶;
输出模块,用于利用从第二令牌桶中为第一报文、第二报文分配的令牌数以及第二令牌桶中剩余的令牌数,为第三报文分配令牌,第三报文分配的令牌数不大于第一报文分配的令牌数。
第三方面,本申请提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行上述第一方面的带宽调节方法的步骤。
第四方面,本申请提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行如执行上述第一方面的带宽调节方法的步骤。
因此,本申请提供的一种带宽调节方法、装置、电子设备及存储介质中,通过接收第一报文,并将第一报文传输至第一令牌桶以及第二令牌桶,第一令牌桶为第一报文所属流的专属令牌桶,第二令牌桶为共用令牌桶,并获取第一报文通过第一令牌桶的第一令牌分配状态以及通过第二令牌桶的第二令牌分配状态,通过双令牌桶的设置方式实现若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文,可以在已经为其他报文所属流分配带宽的情况下,尽可能为新接收的较小流量报文争取到带宽,输出该报文,有效提高带宽的利用率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请实施例的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种带宽调节方法的流程示意图;
图2为本申请实施例提供的一种双令牌桶的工作示意图;
图3为本申请实施例提供的另一种带宽调节方法的流程示意图;
图4为本申请实施例提供的又一种带宽调节方法的流程示意图;
图5为本申请实施例提供的另一种带宽调节方法的流程示意图;
图6为本申请实施例提供的又一种带宽调节方法的流程示意图;
图7为本申请实施例提供的另一种带宽调节方法的流程示意图;
图8为本申请实施例提供的一种带宽调节装置的结构示意图;
图9为本申请实施例提供的另一种带宽调节装置的结构示意图;
图10为本申请实施例提供的又一种带宽调节装置的结构示意图;
图11为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请实施例保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
图1为本申请实施例提供的一种带宽调节方法的流程示意图,该方法的执行主体可以是路由器等可以进行网络宽带调节的设备,如图1所示,该方法包括:
S101、接收第一报文,并将第一报文传输至第一令牌桶以及第二令牌桶,第一令牌桶为第一报文所属流的专属令牌桶,第二令牌桶为共用令牌桶。
其中,第二令牌桶的容量大于第一令牌桶的容量,且第二令牌桶的承诺信息速率大于第一令牌桶的承诺信息速率。
上述容量可以是承诺突发尺寸(CommittedBurstSize,CBS),即第一令牌桶的容量可以是瞬间能够通过的第一承诺突发流量,第二令牌桶的容量可以是瞬间能够通过的第二承诺突发流量,第二令牌桶的CBS值大于第一令牌桶的CBS值。而承诺信息速率(CommittedInformationRate,CIR)可以表示向令牌桶中投放令牌的速率,或令牌桶允许传输或转发报文的平均速率,即第一令牌桶的CIR值可以是向第一令牌桶中投放令牌的第一速率,第二令牌桶的CIR值可以是向第二令牌桶中投放令牌的第二速率,第二令牌桶的CIR值大于第一令牌桶的CIR。
其中,需要说明的是,第一报文所属流可以包括多个报文,该流可具有相应的流标识,该流标识可以是IP地址、客户端标识等,第一报文所属流可对应相应的专属令牌桶,可选地,该专属令牌桶可具有相应的令牌桶标识,第一报文所属流上线后,若接收到该第一报文,可以将该第一报文依次传输至第一报文所属流的专属令牌桶以及共用令牌桶。
S102、获取第一报文通过第一令牌桶的第一令牌分配状态以及通过第二令牌桶的第二令牌分配状态。
其中,第一令牌分配状态可以为获取令牌或未获取令牌,第二令牌分配状态可以为获取令牌或未获取令牌,具体地,第一令牌分配状态根据第一报文所需的令牌数、第一令牌桶的可分配令牌数而定;第二令牌分配状态根据第一报文所需的令牌数、第二令牌桶的可分配令牌数而定。
比如,若第一报文通过第一令牌桶时,第一令牌桶的可分配令牌数满足第一报文所需的令牌数,则该第一报文通过第一令牌桶的第一令牌分配状态可以为获取令牌,否则,为未获取令牌。
S103、若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文。
可选地,若第一令牌分配状态为获取令牌,第二令牌分配状态为未获取令牌;第一令牌分配状态为未获取令牌,第二令牌分配状态为获取令牌;第一令牌分配状态为获取令牌,第二令牌分配状态为获取令牌;对于述任一种情况,均可输出第一报文。
通过双令牌桶的设置,可以在开始有较大流量报文通过的时候,容量较大的第二令牌桶可以保障这些较大流量报文分配到带宽,当带宽分配完之后,如果有较小流量的报文通过,可以由容量较小的第一令牌桶保障这些较小流量的报文还能分配到带宽,从而提升带宽利用率。
综上所述,本申请实施例所提供的带宽调节方法中,通过接收第一报文,并将第一报文传输至第一令牌桶以及第二令牌桶,第一令牌桶为第一报文所属流的专属令牌桶,第二令牌桶为共用令牌桶,并获取第一报文通过第一令牌桶的第一令牌分配状态以及通过第二令牌桶的第二令牌分配状态,通过双令牌桶的设置方式实现若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文,可以在已经为其他报文所属流分配带宽的情况下,尽可能为新接收的较小流量报文争取到带宽,输出该报文,有效提高带宽的利用率。
图2为本申请实施例提供的一种双令牌桶的工作示意图。可选地,是否获取令牌可以根据第一报文通过所属流的专属令牌桶和第二令牌桶的着色情况来区分,该着色情况可以包括绿色和红色。
如图2所示,若某需要由此接口发送的第一报文通过所属流的专属令牌桶的第一令牌分配状态为获取令牌,对应的着色可以为绿色,即第一令牌桶的可分配令牌数满足第一报文所需的令牌数;若该第一报文通过所属流的专属令牌桶的第一令牌分配状态为未获取令牌,对应的着色可以为红色,即第一令牌桶的可分配令牌数不满足第一报文的所需令牌数。
第一报文通过所属流的专属令牌桶(第一令牌桶)后,会继续传输至第二令牌桶,通过第二令牌桶时,也会有相应的第二令牌分配状态,该第二令牌分配状态可以为获取令牌或未获取令牌,而若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文,可以在已经为其他报文所属流分配带宽的情况下,尽可能为新上线的流争取到带宽,输出新上线流的报文,提高带宽的利用率。
图3为本申请实施例提供的另一种带宽调节方法的流程示意图。可选地,如图3所示,上述方法还包括:
S201、若第一报文通过第一令牌桶的第一令牌分配状态为获取令牌,对第一令牌桶和第二令牌桶分别进行减令牌操作。
其中,对第一令牌桶进行减令牌操作时,可以根据第一报文所需的令牌数和第一令牌桶的可分配令牌数,对第一令牌桶进行减令牌操作;对第二令牌桶进行减令牌操作时,可以根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作。
图4为本申请实施例提供的又一种带宽调节方法的流程示意图。可选地,如图4所示,上述若第一报文通过第一令牌桶的第一令牌分配状态为获取令牌,对第一令牌桶和第二令牌桶分别进行减令牌操作,包括:
S301、根据第一报文所需的令牌数和第一令牌桶的可分配令牌数,对第一令牌桶进行减令牌操作;根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作。
其中,若第二令牌桶的令牌数小于或等于0时,第二令牌桶减令牌后第二令牌桶中令牌数记为负值。
需要说明的是,若第一报文通过第一令牌桶的第一令牌分配状态为获取令牌,根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作时,对第二令牌桶进行减令牌操作的条件不进行限制,也即若第二令牌桶的令牌数小于或等于0时,可以根据第一报文的所需令牌数和第二令牌桶的可分配令牌数,仍对第二令牌桶进行减令牌操作,减令牌后第二令牌桶中令牌数可以记为负值,使得可以在已经为其他报文所属流分配带宽的情况下,尽可能为新上线的流争取到带宽,输出新上线流的报文,提高带宽的利用率。
可选地,上述若第二令牌桶的令牌数小于或等于0时,第二令牌桶减令牌后第二令牌桶中令牌数记为负值之后,还包括:根据第一报文和下一报文之间的时间间隔、第二令牌桶的承诺信息速率,对第二令牌桶进行加令牌操作。
其中,需要说明的是,若第二令牌桶中令牌数记为负值之后,可以根据第一报文和下一报文之间的时间间隔、第二令牌桶的承诺信息速率,对第二令牌桶进行加令牌操作,将第二令牌桶中的令牌数从负值进行增加,可选地,进行加令牌操作时,若第二令牌桶中可分配令牌的总数量小于第二令牌桶的CBS值,则可继续加令牌操作;如果第二令牌桶已满,则不再进行加令牌操作。
可选地,上述若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文,包括:
若第一报文通过第一令牌桶的第一令牌分配状态为未获取令牌、第一报文通过第二令牌桶的第二令牌分配状态为获取令牌,则根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,并输出第一报文。
其中,第一报文通过第一令牌桶的第一令牌分配状态为未获取令牌、第一报文通过第二令牌桶的第二令牌分配状态为获取令牌,具体对第二令牌桶进行减令牌操作时,可以根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,并输出该第一报文,使得可以在已经为其他报文所属流分配带宽的情况下,尽可能为新上线的流争取到带宽,输出新上线流的报文,提高带宽的利用率。此外,可选地,若第一报文通过第一令牌桶的状态为未获取令牌,第一报文通过第二令牌桶的状态为未获取令牌,则可以不输出该第一报文,并将该第一报文丢弃。
图5为本申请实施例提供的另一种带宽调节方法的流程示意图。可选地,在上述带宽已经分配完的基础上,如果有新上线的流,如图5所示,上述方法还包括:
S501、接收第二报文,并将第二报文传输至第三令牌桶以及第二令牌桶,第三令牌桶为第二报文所属流的专属令牌桶,第二报文与第一报文属于不同流。
其中,第二令牌桶的容量大于第三令牌桶的容量,且第二令牌桶的承诺信息速率大于第三令牌桶的承诺信息速率。
本实施例中,第二报文为新上线流的报文,需要分配带宽。第三令牌桶的容量可以和上述第一令牌桶的容量一样,也可以根据实际场景进行配置,在此不作限制。
S502、获取第二报文通过第三令牌桶的第三令牌分配状态以及通过第二令牌桶的第四令牌分配状态。
S503、若第三令牌分配状态和第四令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第二报文。
其中,第三令牌分配状态可以为获取令牌或未获取令牌,第四令牌分配状态可以为获取令牌或未获取令牌,具体地,第三令牌分配状态根据第二报文所需的令牌数、第三令牌桶的可分配令牌数而定;第四令牌分配状态根据第二报文所需的令牌数、第二令牌桶的可分配令牌数而定。
而若第三令牌分配状态和第四令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第二报文,具体的过程可参见输出第一报文的过程,本申请实施例在此不作赘述,使得可以在已经为第一报文所属流分配带宽的情况下,尽可能为新上线的第二报文所属流争取到带宽,有效提高带宽的利用率。
S504、当再次接收到与第一报文属于相同流的第三报文时,将第三报文传输至第一令牌桶以及第二令牌桶。
S505、利用从第二令牌桶中为第一报文、第二报文分配的令牌数以及第二令牌桶中剩余的令牌数,为第三报文分配令牌,第三报文分配的令牌数不大于第一报文分配的令牌数。
也即若再次接收到与第一报文属于相同流的第三报文时,可以将该第三报文传输至第三报文所属流(也即第一报文所属流)的专属令牌桶(也即第一令牌桶)以及第二令牌桶,获取第三报文通过第一令牌桶的令牌分配状态以及通过第二令牌桶的令牌分配状态,若通过第一令牌桶的令牌分配状态和通过第二令牌桶的令牌分配状态中存在至少一个令牌分配状态为获取令牌,则利用从第二令牌桶中为第一报文、第二报文分配的令牌数以及第二令牌桶中剩余的令牌数,为第三报文分配令牌,输出该第三报文。
基于上述实施例,举例说明,第二报文所属第二流上线后,第二报文通过第三令牌桶分配到了令牌,从而使得第二流抢占到了带宽,那么,可以理解的是,为当前在线的除第二流之外的其他流(例如,第一报文所属第一流)分配的带宽会相应减少,也即再收到与第一报文属于同一流的第三报文时,第三报文通过第一令牌桶或第二令牌桶分配的令牌数不大于为第一报文分配的令牌数。
此外,需要说明的是,若在预设的时间内,未再接收到属于某条流的报文,那么之前为该流分配的带宽被释放,可以理解的是,为了保证带宽的合理利用,前述被释放的带宽可以分配给其他的在线流。例如,上述第一报文所属第一流需要20M带宽,在第二报文通过专属令牌桶以及共用令牌桶后,第二报文所属第二流抢占带宽,当与第一报文属于同一流的第三报文通过专属令牌桶以及共用令牌桶时,由于分配给第三报文的令牌数不大于为第一报文分配的令牌数,可选地,第一流可以只被分配到19M带宽,如果在预设时间内未再接收到第二流的报文,此时,在先为第二流分配的带宽被释放,被释放的带宽可以分配给其他的在线流(例如,为第一流分配),在后续属于第一流的其他报文传输至其对应的专属令牌桶以及共用令牌桶时,专属令牌桶仍按照前述实施例的描述输出其他报文,而共用令牌桶根据前述为第一报文分配的令牌数为其他报文分配令牌。
图6为本申请实施例提供的又一种带宽调节方法的流程示意图。举例说明,如图6所示,若某宽带调节系统中有10条第一流,每条流独占的保证为10M带宽。可以理解的是,为了满足每条流的保证带宽,为各第一流配置的专属令牌桶中的令牌数量应满足各第一流中每个报文在通过其专属令牌桶时,各专属令牌桶均可为报文分配符合保证带宽条件下的一定数量个令牌;共用令牌桶的容量可以配置为各专属令牌桶的容量之和。
若当前上线的第一流的数量为5条,且每条流需求30M带宽时,则各第一流包括的第一报文通过其对应的专属令牌桶的状态为未获取令牌(由于,专属令牌桶中的令牌数量满足每条流独占的保证带宽10M,此时,每条流的需求带宽为30M,因此,第一报文通过专属令牌桶时无法获取令牌),若各第一报文通过共用令牌桶的状态均为获取令牌,则可以为该5条第一流分配带宽。在一种实现方式中,若可分配总带宽为100M,在采用带宽平均分配方式时,则5条第一流可以分配到的带宽分别为20M,此时,可以满足保证带宽的模式下,避免带宽的浪费。
图7为本申请实施例提供的另一种带宽调节方法的流程示意图。在本申请实施例中,每个专属令牌桶中配置相同数量个令牌。如图7所示,当接收到属于第二流的第二报文时,该第二流的需求带宽为5M,第二报文通过其专属令牌桶的状态为获取令牌,但是,由于共用令牌桶中当前无可分配令牌,此时,基于本申请实施例的前述方法,仍会为第二报文分配对应的令牌。
可以理解的是,第二报文通过共用令牌桶分配到了令牌,从而使得第二流抢占到了带宽,那么,为当前在线的第一流分配的带宽会相应减少(例如,第一流可以分配到的带宽为19M),也即再收到与第一报文属于同一流的其他报文时,其他报文通过共用令牌桶分配的令牌数不大于第一报文分配的令牌数。
此外,需要说明的是,若在预设的时间内,未再接收到属于某条流的报文,那么之前为该流分配的带宽被释放,可以理解的是,为了保证带宽的合理利用,前述被释放的带宽可以分配给其他的在线流。例如,如果在预设时间内未再接收到第二报文,此时,在先为第二流分配的5M带宽被释放,被释放的带宽可以分配给其他的在线流(例如,再次为第一流分配20M),在后续属于第一流的其他报文传输至其对应的专属令牌桶以及共用令牌桶时,专属令牌桶仍按照前述实施例的描述输出其他报文,而共用令牌桶根据前述为第一报文分配的令牌数为其他报文分配令牌。
图8为本申请实施例提供的一种带宽调节装置的结构示意图,如图8所示,该装置包括:第一接收模块110、第一获取模块120及第一输出模块130。
第一接收模块110,用于接收第一报文,并将第一报文传输至第一令牌桶以及第二令牌桶,第一令牌桶为第一报文所属流的专属令牌桶,第二令牌桶为共用令牌桶;
第一获取模块120,用于获取第一报文通过第一令牌桶的第一令牌分配状态以及通过第二令牌桶的第二令牌分配状态;
第一输出模块130,用于若第一令牌分配状态和第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第一报文。
图9为本申请实施例提供的另一种带宽调节装置的结构示意图。可选地,如图9所示,上述装置还包括:
操作模块140,用于若第一报文通过第一令牌桶的第一令牌分配状态为获取令牌,对第一令牌桶和第二令牌桶分别进行减令牌操作。
可选地,上述操作模块140,具体用于根据第一报文所需的令牌数和第一令牌桶的可分配令牌数,对第一令牌桶进行减令牌操作;
根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,其中,若第二令牌桶的令牌数小于或等于0时,第二令牌桶减令牌后第二令牌桶中令牌数记为负值。
可选地,上述操作模块140,还用于根据第一报文和下一报文之间的时间间隔、第二令牌桶的承诺信息速率,对第二令牌桶进行加令牌操作。
可选地,上述第一输出模块130,具体用于若第一报文通过第一令牌桶的第一令牌分配状态为未获取令牌、第一报文通过第二令牌桶的第二令牌分配状态为获取令牌,则根据第一报文所需的令牌数和第二令牌桶的可分配令牌数,对第二令牌桶进行减令牌操作,并输出第一报文。
图10为本申请实施例提供的又一种带宽调节装置的结构示意图。可选地,如图10所述,上述装置还包括:第二接收模块150、第二获取模块160、第二输出模块170、传输模块180及输出模块190。
第二接收模块150,用于接收第二报文,并将第二报文传输至第三令牌桶以及第二令牌桶,第三令牌桶为第二报文所属流的专属令牌桶,第二报文与第一报文属于不同流;
第二获取模块160,用于获取第二报文通过第三令牌桶的第三令牌分配状态以及通过第二令牌桶的第四令牌分配状态;
第二输出模块170,用于若第三令牌分配状态和第四令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出第二报文;
传输模块180,用于当再次接收到与第一报文属于相同流的第三报文时,将第三报文传输至第一令牌桶以及第二令牌桶;
输出模块190,用于利用从第二令牌桶中为第一报文、第二报文分配的令牌数以及第二令牌桶中剩余的令牌数,为第三报文分配令牌,第三报文分配的令牌数不大于第一报文分配的令牌数。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图11为本申请实施例提供的一种电子设备结构示意图。如图11所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请实施例还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种带宽调节方法,其特征在于,所述方法包括:
接收第一报文,并将所述第一报文传输至第一令牌桶以及第二令牌桶,所述第一令牌桶为所述第一报文所属流的专属令牌桶,所述第二令牌桶为共用令牌桶,所述第二令牌桶的容量大于所述第一令牌桶的容量;
获取所述第一报文通过所述第一令牌桶的第一令牌分配状态以及通过所述第二令牌桶的第二令牌分配状态;
若所述第一令牌分配状态和所述第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出所述第一报文;
所述方法还包括:
接收第二报文,并将所述第二报文传输至第三令牌桶以及所述第二令牌桶,所述第三令牌桶为所述第二报文所属流的专属令牌桶,所述第二报文与所述第一报文属于不同流;
获取所述第二报文通过所述第三令牌桶的第三令牌分配状态以及通过所述第二令牌桶的第四令牌分配状态;
若所述第三令牌分配状态和所述第四令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出所述第二报文;
当再次接收到与所述第一报文属于相同流的第三报文时,将所述第三报文传输至所述第一令牌桶以及所述第二令牌桶;
利用从所述第二令牌桶中为所述第一报文、所述第二报文分配的令牌数以及所述第二令牌桶中剩余的令牌数,为所述第三报文分配令牌,所述第三报文分配的令牌数不大于所述第一报文分配的令牌数。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述第一报文通过所述第一令牌桶的第一令牌分配状态为获取令牌,对所述第一令牌桶和所述第二令牌桶分别进行减令牌操作。
3.根据权利要求2所述的方法,其特征在于,所述若所述第一报文通过所述第一令牌桶的第一令牌分配状态为获取令牌,对所述第一令牌桶和所述第二令牌桶分别进行减令牌操作,包括:
根据所述第一报文所需的令牌数和所述第一令牌桶的可分配令牌数,对所述第一令牌桶进行减令牌操作;
根据所述第一报文所需的令牌数和所述第二令牌桶的可分配令牌数,对所述第二令牌桶进行减令牌操作,其中,若所述第二令牌桶的令牌数小于或等于0时,所述第二令牌桶减令牌后所述第二令牌桶中令牌数记为负值。
4.根据权利要求3所述的方法,其特征在于,所述若所述第二令牌桶的令牌数小于或等于0时,所述第二令牌桶减令牌后所述第二令牌桶中令牌数记为负值之后,还包括:
根据所述第一报文和下一报文之间的时间间隔、所述第二令牌桶的承诺信息速率,对所述第二令牌桶进行加令牌操作。
5.根据权利要求1所述的方法,其特征在于,所述若所述第一令牌分配状态和所述第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出所述第一报文,包括:
若所述第一报文通过所述第一令牌桶的第一令牌分配状态为未获取令牌、所述第一报文通过所述第二令牌桶的第二令牌分配状态为获取令牌,则根据所述第一报文所需的令牌数和所述第二令牌桶的可分配令牌数,对所述第二令牌桶进行减令牌操作,并输出所述第一报文。
6.一种带宽调节装置,其特征在于,包括:第一接收模块、第一获取模块及第一输出模块;
所述第一接收模块,用于接收第一报文,并将所述第一报文传输至第一令牌桶以及第二令牌桶,所述第一令牌桶为所述第一报文所属流的专属令牌桶,所述第二令牌桶为共用令牌桶,所述第二令牌桶的容量大于所述第一令牌桶的容量;
所述第一获取模块,用于获取所述第一报文通过所述第一令牌桶的第一令牌分配状态以及通过所述第二令牌桶的第二令牌分配状态;
所述第一输出模块,用于若所述第一令牌分配状态和所述第二令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出所述第一报文;
所述装置还包括:第二接收模块、第二获取模块、第二输出模块、传输模块及输出模块;
所述第二接收模块,用于接收第二报文,并将所述第二报文传输至第三令牌桶以及所述第二令牌桶,所述第三令牌桶为所述第二报文所属流的专属令牌桶,所述第二报文与所述第一报文属于不同流;
所述第二获取模块,用于获取所述第二报文通过所述第三令牌桶的第三令牌分配状态以及通过所述第二令牌桶的第四令牌分配状态;
所述第二输出模块,用于若所述第三令牌分配状态和所述第四令牌分配状态中存在至少一个令牌分配状态为获取令牌,则输出所述第二报文;
所述传输模块,用于当再次接收到与所述第一报文属于相同流的第三报文时,将所述第三报文传输至所述第一令牌桶以及所述第二令牌桶;
所述输出模块,用于利用从所述第二令牌桶中为所述第一报文、所述第二报文分配的令牌数以及所述第二令牌桶中剩余的令牌数,为所述第三报文分配令牌,所述第三报文分配的令牌数不大于所述第一报文分配的令牌数。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:操作模块;
所述操作模块,用于若所述第一报文通过所述第一令牌桶的第一令牌分配状态为获取令牌,对所述第一令牌桶和所述第二令牌桶分别进行减令牌操作。
8.根据权利要求7所述的装置,其特征在于,所述操作模块,具体用于根据所述第一报文所需的令牌数和所述第一令牌桶的可分配令牌数,对所述第一令牌桶进行减令牌操作;
根据所述第一报文所需的令牌数和所述第二令牌桶的可分配令牌数,对所述第二令牌桶进行减令牌操作,其中,若所述第二令牌桶的令牌数小于或等于0时,所述第二令牌桶减令牌后所述第二令牌桶中令牌数记为负值。
9.根据权利要求8所述的装置,其特征在于,所述操作模块,还用于根据所述第一报文和下一报文之间的时间间隔、所述第二令牌桶的承诺信息速率,对所述第二令牌桶进行加令牌操作。
10.根据权利要求6所述的装置,其特征在于,所述第一输出模块,具体用于若所述第一报文通过所述第一令牌桶的第一令牌分配状态为未获取令牌、所述第一报文通过所述第二令牌桶的第二令牌分配状态为获取令牌,则根据所述第一报文所需的令牌数和所述第二令牌桶的可分配令牌数,对所述第二令牌桶进行减令牌操作,并输出所述第一报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911186713.0A CN110958184B (zh) | 2019-11-27 | 2019-11-27 | 带宽调节方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911186713.0A CN110958184B (zh) | 2019-11-27 | 2019-11-27 | 带宽调节方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110958184A CN110958184A (zh) | 2020-04-03 |
CN110958184B true CN110958184B (zh) | 2021-01-01 |
Family
ID=69978653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911186713.0A Active CN110958184B (zh) | 2019-11-27 | 2019-11-27 | 带宽调节方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110958184B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113726684A (zh) * | 2021-07-12 | 2021-11-30 | 新华三信息安全技术有限公司 | 通信方法及装置 |
CN113422737B (zh) * | 2021-08-25 | 2022-01-11 | 阿里云计算有限公司 | 一种流量控制方法、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859207A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 一种剩余带宽复用的方法及网络设备 |
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
CN105764091A (zh) * | 2016-02-19 | 2016-07-13 | 杭州敦崇科技股份有限公司 | 一种有效利用无线带宽的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102048480B1 (ko) * | 2012-10-11 | 2020-01-08 | 삼성전자주식회사 | 동적인 네트워크 환경에서 멀티미디어 데이터 특징 정보를 송수신하는 장치 및 방법 |
CN108418766B (zh) * | 2018-03-05 | 2021-12-17 | 京信网络系统股份有限公司 | 带宽控制方法、装置和系统 |
-
2019
- 2019-11-27 CN CN201911186713.0A patent/CN110958184B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1859207A (zh) * | 2006-03-24 | 2006-11-08 | 华为技术有限公司 | 一种剩余带宽复用的方法及网络设备 |
CN101075971A (zh) * | 2007-07-16 | 2007-11-21 | 中兴通讯股份有限公司 | 一种层次化QoS的实现方法 |
CN105764091A (zh) * | 2016-02-19 | 2016-07-13 | 杭州敦崇科技股份有限公司 | 一种有效利用无线带宽的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110958184A (zh) | 2020-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11805065B2 (en) | Scalable traffic management using one or more processor cores for multiple levels of quality of service | |
CN110958184B (zh) | 带宽调节方法及装置 | |
CN109450816B (zh) | 一种队列调度方法、装置、网络设备及存储介质 | |
WO2012145841A1 (en) | Hierarchical profiled scheduling and shaping | |
EP3703316A1 (en) | Frame aggregation method, network setup frame sending method, and device | |
US20170048145A1 (en) | Switching device and control method of switching device | |
CN113225253B (zh) | 一种报文转发方法及装置 | |
CN104158675B (zh) | 计算节点部署方法、处理节点、控制器及系统 | |
JP2023540449A (ja) | 分散型システムでの受入時のローカル及びグローバルなサービス品質シェーパ | |
CN108259221A (zh) | 流量控制方法、装置、系统、存储介质和处理器 | |
CN113938435A (zh) | 数据传输方法、装置、电子设备、存储介质及程序产品 | |
CN105991456A (zh) | 一种OpenFlow交换机、网络系统及带宽共享方法 | |
CN110798412A (zh) | 组播业务处理方法、装置、云平台、设备及可读存储介质 | |
CN111970149B (zh) | 一种基于硬件防火墙qos的共享带宽实现方法 | |
CN116566907A (zh) | 一种网络拥塞控制方法及相关装置 | |
US11875839B2 (en) | Flow based rate limit | |
CN111049758B (zh) | 一种实现报文QoS处理的方法、系统及设备 | |
KR20120055947A (ko) | 가입자 인지 플로우별 QoS 제공 방법 및 장치 | |
CN113453285B (zh) | 一种资源调整方法、装置及存储介质 | |
CN115941604A (zh) | 一种流量分配方法、装置、设备、存储介质和程序产品 | |
CN109379163A (zh) | 一种报文转发速率控制方法及装置 | |
CN113973342A (zh) | 流量控制方法、装置、电子设备及存储介质 | |
CN113765796A (zh) | 流量转发控制方法及装置 | |
Brun et al. | Weighted scheduling of time-sensitive coflows | |
Zhang et al. | RICH: Strategy-proof and efficient coflow scheduling in non-cooperative environments |
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 |