CN110661724A - 一种分配缓存的方法和设备 - Google Patents
一种分配缓存的方法和设备 Download PDFInfo
- Publication number
- CN110661724A CN110661724A CN201810702803.XA CN201810702803A CN110661724A CN 110661724 A CN110661724 A CN 110661724A CN 201810702803 A CN201810702803 A CN 201810702803A CN 110661724 A CN110661724 A CN 110661724A
- Authority
- CN
- China
- Prior art keywords
- queue
- output rate
- buffers
- output
- proportion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9005—Buffering arrangements using dynamic buffer space allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
- H04L49/9052—Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
-
- 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/62—Queue scheduling characterised by scheduling criteria
- H04L47/6215—Individual queue per QOS, rate or priority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种分配缓存的方法和设备,该方法包括设备确定第一队列在该设备上的第一输出速率和第二队列在该设备上的第二输出速率。该设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。根据队列的输出速率的比例为各个队列分配缓存,使各队列输出的流量的比例符合期望的调度比例。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种分配缓存的方法和设备。
背景技术
对于网络中的设备来说,缓存管理机制能够有效的缓解网络拥塞,减少设备转发数据流的丢包率,对于维护数据流的完整性有着至关重要的作用。传统的缓存管理模式中缓存的数据流按照不同的标准分为不同的队列,例如可以根据用户标识分为不同队列,或者根据报文中携带的端口标识分为不同队列。由于缓存中的队列有长有短,在数据流大小不均匀的情况下就会出现长队列大量挤占缓存而影响其它队列对缓存的正常使用。
为了防止某一种或者几种队列占用其它非突发队列的静态存储空间,或者较短队列由于不能使用缓存而被丢弃,共享和独占相结合的管理机制因此受到广泛应用。在这种管理方式下,网络设备按照接入用户数量将缓存的一部分分成若干等份独占缓存,队列优先使用自己的独占缓存。当队列长度大于分配的独占缓存时,该用户可以使用共享缓存。使用上述缓存管理模式,会存在接入队列抢占共享缓存的现象,出现数据流越大抢占的缓存越多,数据流量越小抢占缓存越少,最终导致设备出接口输出的数据流的比例不协调、不准确的问题。
发明内容
本申请实施例提供了一种分配缓存的方法和设备,该设备根据队列的输出速率的比例为各队列分别缓存,使得各队列输出的流量的比例符合期望的调度比例。
第一方面,本申请提供了一种分配缓存的方法,该方法包括:设备确定第一队列在该设备上的第一输出速率和第二队列在该设备上的第二输出速率。该设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。
采用上述方法,设备在转发流量的过程中,根据队列的输出速率的比例为各个队列分配缓存。使各队列输出的流量的比例符合用户期望的调度比例,提高网络用户的满意度。
结合第一方面,在第一种可能的实现方式中,设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存包括:设备确定第一输出速率和第二输出速率的第一比例。设备根据第一输出速率和第二输出速率的第一比例确定为第一队列和第二队分配的缓存的第二比例。设备根据第二比例和设备的缓存分别为第一队列和第二队列分配缓存。
上述方法,设备根据第一输出速率和第二输出速率的第一比例确定为第一队列和第二队分配的缓存的第二比例,可以使得第一队列和第二队列输出的流量的比例符合期望的调度比例。
结合第一方面,在第二种可能的实现方式中,设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存包括:设备确定多个队列在该设备占用的缓存之和大于或等于阈值,其中,该阈值根据该设备的缓存的大小确定,该多个队列包括第一队列和所述第二队列。在该设备确定该多个队列在该设备占用的缓存之和大于或等于阈值后,该设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。
上述方法,设备在确定多个队列在该设备占用的缓存之和大于或等于阈值后,为第一队列和第二队列分配缓存,以保证第一队列和第二队列输出的流量的比例符合一定的调度比例。
结合第一方面,在第三种可能的实现方式中,设备确定第一队列在该设备上的第一输出速率和第二队列在该设备上的第二输出速率包括:该设备根据第一时长和第一队列在第一时长内输出的流量的大小确定第一输出速率。该设备根据第二时长和第二队列在第二时长内输出的流量的大小确定所述第二输出速率。第一时长可以与第二时长相同,也可以与第二时长不同。
结合第一方面,在第四种可能的实现方式中,设备还包括第三队列。该设备确定第三队列在该设备上的第三输出速率。该设备根据第一输出速率、第二输出速率和第三输出速率的比例关系为第一队列、第二队列和第三队列分配缓存。
结合第一方面,在第五种可能的实现方式中,设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。第一队列缓存大小为:第一队列的输出速率与第一队列的缓存时间的乘积;第二队列缓存大小为:第二队列的输出速率与第二队列的缓存时间的乘积。
第二方面,本申请提供了一种设备,用于执行第一方面或第一方面任意可能的设计中的方法。具体地,该设备包括用于执行第一方面或第一方面任意可能的实施方式中的方法的模块。
第三方面,本申请提供了一种设备,包括:网络接口、处理器和存储器。其中,网络接口、处理器和存储器之间可以通过总线系统相连。该存储器用于存储程序、指令或代码,所述处理器用于执行所述存储器中的程序、指令或代码,完成第一方面或第一方面任意可能的设计中的方法中所述设备执行的信息收发以外的操作。
结合第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行第一方面和第一方面任意可能的实现方式中的方法的指令。
附图说明
图1为本申请实施例提供的一种设备发送队列的的场景示意图。
图2为本申请实施例提供的一种分配缓存的方法流程示意图。
图3为本申请实施例提供的一种设备的结构示意图。
图4为本申请实施例提供的又一种设备的结构示意图。
具体实施方式
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列操作或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些操作或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它操作或单元。
本申请中的“队列”是指设备存储报文的空间,是在设备接收的报文太多而不能及时处理时,将这些不能及时处理的报文存储在队列中,其中,设备会根据算法将接收的报文分为不同的队列,该算法可以根据报文的五元组、MAC、协议号或标签等。
本申请中的“缓存”是指设备的临时存储空间、设备的缓冲区或设备的内存缓冲区,用于存储各种格式的数据、报文,以缓解拥塞。设备可以通过监视设备的队列或缓存的使用情况,在拥塞发生或有加剧趋势时主动丢弃报文。
网络拥塞是在共享网络上多个用户竞争相同带宽或缓存等问题时发生的问题。为了应对因设备缓存造成的网络拥塞,相关的管理设备缓存的方法包括独占管理方式、共享管理方式和独占和共享结合管理方式这三种。这三种方法都是通过监视网络资源,例如队列或内存缓冲区的使用情况,使用队列技术,将从一个接口发出的所有报文放入多个队列,按照相关的队列调度方法进行处理。在拥塞有加剧的趋势时,主动丢弃报文,通过调整网络的流量来解除网络过载的一种流量控制机制。
独占管理方式是指设备需要为每个接入用户分配一块独立的缓存来缓存用户的报文,这种方式虽然可以保证每个用户都有固定的缓存,但该方法的缺点在于即使用户没有流量需要缓存也会固定的占用缓存,造成缓存的浪费。共享管理方式是指对每个接入的用户不再单独分配静态缓存,所有用户共同使用一个共享的缓存,这种方式虽然减少了缓存的浪费,但缺点是如果某一队列的流量越多就会占用越多缓存,即流量多的用户会强用流量少的用户的缓存,导致其他用户的队列分配不到缓存。独占和共享结合的管理方式是指设备为每个接入队列分配独立的静态缓存来缓存用户的报文,队列优先占用分配给用户的独占缓存,如果独占缓存被用户用尽,则该用户可以使用共享缓存,这种方式虽然综合考虑了独占管理方式和共享管理方式的优点和缺点,但依然存在大量接入队列抢占共享缓存,接入流量越大的用户抢占的缓存越多,接入流量越小的用户抢占缓存越少,最终导致设备出接口的输出的用户流量比例不协调的问题。
在独占和共享相结合的管理方式中,当设备内队列超过静态分配的缓存时,队列在共享缓存的占用只考虑队列输入流量的大小,而不考虑队列的输出速率。这样会造成不同队列输入流量在缓存中的占用比例和队列的输出流量比例不匹配,最终导致用户之间的调度不协调问题。图1所示,为本申请提供一种设备缓存报文的场景示意图,设备从入端口接收报文,根据一定的标准进行分类将报文输入不同的队列A、B、C、D和E,各队列根据优先级队列调度(英文Priority Queuing,简称:PQ)调度、加权轮循队列调度(英文:WeightedRound Robin,简称:WRR)或加权公平队列调度(英文:Weighted Fair Queue,简称:WFQ)等方法将队列的报文通过出端口输出。下面结合表1,对设备分配缓存的方法进一步说明。设备的出接口带宽为1吉比特每秒(英文:gigabit per second,简称:Gbit/s),该设备包括50兆字节(英文:megabyte,简称:MB),即400比特的缓存空间,有5个队列A、B、C、D和E的报文从该设备的出接口输出,如下表2所示:
表1
由上表1中的数据可知,设备根据用户配置队列限速和队列缓存的时间为各队列分配的缓存为:队列A:(1G*100ms)/8=12.5MB;队列B:(1G*100ms)/8=12.5MB;(1G*100ms)/8=12.5MB;D:(1G*100ms)/8=12.5MB;E:(1G*100ms)/8=12.5MB。在这种分配模式下,5个队列被全部占用时的缓存之和为62.5MB,大于设备所设置的50MB静态缓存,由此就会出现输入流量越大的队列抢占的缓存越多,导致如下表2所示,输入流量较大的队列D和E抢占较多的缓存,输入流量较小的队列抢占较小的缓存。
队列 | 输入(比特/秒) | 静态抢占缓存(比特) |
A | 500M | 25M |
B | 500M | 25M |
C | 500M | 25M |
D | 1G | 50M |
E | 1.5G | 75M |
表2
在上表2所示的缓存管理模式中,队列B和C的流量在时间t内总的输出流量计算公式为:队列A输出流量=(200M*t+25M)比特;队列E输出流量=(200M*t+75M)比特。通过对t取值计算可知,队列A和队列E输出的比例并不能达到1比1,即该比例不能与队列A和队列E输出流量的速率的比例相等。如果上述多个队列对应于不同用户,那么就会出现流量越大的用户,不仅抢占设备的缓存越多,输出的流量也越多,使得用户的队列占用的缓存的比例与用户的队列输出的流量的速率比例不匹配,最终导致用户之间输出流量的比例不准确的问题。
为了解决上述技术问题,本申请提供了一种分配设备缓存的方法,该方法通过实时监控各队列的输出速率,确定各队列实际的缓存分配值。通过对缓存的分配,合理分配有限的网络资源,使队列输出的流量的比例符合预期。该方法可以适用于共享缓存的管理模式,或独占与共享缓存相结合的管理模式,该方法所称的设备为队列分配缓存是指对设备的共享缓存进行分配。
实现对设备缓存的分配,图1为本申请提供一种分配设备缓存的方法流程示意图,该方法包括以下内容:
S210,设备确定第一队列在该设备上的第一输出速率和第二队列在该设备上的第二输出速率。
在一种实现方式中,网络中的设备接收报文,可以根据报文的标识将报文输入不同的队列。该标识可以是报文中的五元组、媒体接入控制(英文:Media Access Control,简称:MAC)、协议号、用户的标识或设备端口号等等,设备根据该标识将报文进行分组并输入不同队列,例如路由器可以根据报文中用户标识将报文分为8个不同的队列,该8个不同的队列对应于8个不同的用户。
在一种实现方式中,该设备可以是网络中的交换节点(英文:access point,简称:AP),即用于转发报文的路由器或者交换机等设备。该设备可以通过控制层实时监控每个队列的输出速率,其中,每个队列的输出速率与队列输入速率、队列的权重、队列的限速值有关。该设备可以通过在设定的时间内监控各队列输出流量大小来计算并获取各队列的输出速率。
在一种实现方式中,设备根据第一时长和第一队列在第一时长内输出的流量的大小确定第一输出速率。设备根据第二时长和第二队列在第二时长内输出的流量的大小确定第二输出速率。上述第一时长与第二时长可以相同,也可以不同。
举例来说,设备在T1时刻读取第一队列的数据流大小为s1,T2时刻读取第一队列的数据流的大小为s2,则第一队列输出速率R1=(s2-s1)/(T2-T1),其中,队列输出速率与队列输入速率、队列的权重以及队列的限速值有关。或者设备在时长T2内输出的第二队列的流量的大小为M,则第二队列的输出速率R2=M/T2。
S220,该设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。
在一种实现方式中,设备确定第一输出速率和第二输出速率的比例为第一比例,例如第一比例为1比1。设备根据第一输出速率和第二输出速率的第一比例确定为第一队列和第二队分配的缓存的第二比例,例如,第二比例与第一比例相等,即第二比例同样为1比1。设备根据第二比例和设备的缓存分别为第一队列和第二队列分配缓存,例如设备为第一队列和第二队列分配的缓存的比例同样为1比1,设备的缓存为100MB,则设备可以为第一队列分配的缓存为50MB,为第二队列分配的缓存为50MB。
在一种实现方式中,该设备存储有缓存阈值,该阈值可以与该设备的缓存的大小相等,或者小于该设备缓存的值,或者与设备缓存值成一定比例,但不能大于设备的缓存的值,该阈值可以根据需要设置。设备可以通过实时监控获取多个队列实际占用缓存之和。当设备确定多个队列在该设备占用的缓存之和大于或等于阈值后,该设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。
在一种实现方式中,该设备还包括第三队列。该设备确定第三队列在该设备上的第三输出速率。该设备根据第一输出速率、第二输出速率和第三输出速率的比例关系为第一队列、第二队列和第三队列分配缓存。
在一种实现方式中,该设备可以根据第一队列的输出速率和第二队列的输出速率的比例,以及第一队列和第二队列的缓存时间确定分别为第一队列和第二队列分配的缓存。例如,设备确定第一队列的输出速率和第二队列的输出速率的比例为1比1,设备可以根据第一队列和第二队列的缓存时间计算获得设备分别为第一队列和第二队列分配的缓存,设备根据为第一队列和第二队列分配的缓存处理报文。
在一种实现方式中,设备根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。第一队列缓存大小为:第一队列的输出速率与第一队列的缓存时间的乘积;第二队列缓存大小为:第二队列的输出速率与第二队列的缓存时间的乘积。
举例来说,如下表3所示,当设备确定队列A、B、C、D和E实际占用的缓存之和大于或者等于阈值。设备确定队列A的输出速率200兆比特每秒(英文:megabit per second,简称:Mbps)和队列E的输出缓速率200Mbps的比例为1比1。队列A和队列E的存时间都为100ms,则设备对队列A和队列E分别分配缓存:队列A的缓存=200Mbps*100ms=20M比特,按照同样的计算方法,队列E的缓存=200Mbps*100ms=20M比特。在通过这种分配缓存的方式,队列A和E输出的流量符合1:1的调度比例。
在一种实现方式中,上述方法还包括:所述设备根据分别为第一队列和第二队列分配缓存处理第一队列和第二队列的报文。当设备确定为第一队列分配的缓存大于第一队列实际占用的缓存,则设备为第一队列输入报文。当设备确定为第一队列分配的缓存小于第一队列的缓存,则设备丢弃输入第一队列的报文。
在一种实现方式中,设备根据上述方法分别为第一队列和第二队列分配的缓存。如果设备为第一队列分配的缓存大于第一队列实际占用的缓存,即设备为第一队列分配的缓存存在部分空闲缓存,而第二队列缓存不足时,则第一队列的该部分空闲缓存可以被第二队列占用。
通过上述方法,避免出现数据流越大抢占的缓存就越多的现象,而是根据数据流的输入速率和输出速率分配设备的缓存,合理利用缓存,保证流量输出达到用于预期,提高网络性能。
图3是本申请实施例提供的一种设备300的结构示意图,该设备300可以是图1中的设备,也可以是图2方法流程图中的设备,并且具备图2中设备的功能。该设备包括:确定单元301和分配单元302。确定单元301用于确定第一队列在该设备上的第一输出速率和第二队列在该设备上的第二输出速率。分配单元302用于根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。
在一种实现方式中,确定单元301用于确定第一输出速率和第二输出速率的比例为第一比例。确定单元301还用于根据第一输出速率和第二输出速率的第一比例确定为第一队列和第二队分配的缓存的比例为第二比例,例如,第一比例可以与第二比例相等。分配单元302用于根据第二比例和设备的缓存分别第一队列和第二队列分配缓存,例如设备根据第一比例确定第二比例为1比1,设备的缓存大小为100MB,则设备为第一队列和第二队列分配的缓存都是50MB。
在一种实现方式中,确定单元301还用于确定多个队列在,该设备占用的缓存之和大于或等于阈值。该阈值根据所述设备的缓存的大小确定,该阈值小于或等于设备的缓存的值。该多个队列可以包括所述第一队列和所述第二队列,还可以包括第三队列。分配单元302用于在确定单元301确定该多个队列在该设备占用的缓存之和大于或等于阈值后,根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。例如,该设备缓存的阈值为90MB,当设备确定多个队列实际占用的缓存为90MB后,则设备启动分配缓存机制,根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。
在一种实现方式中,确定单元301用于根据第一时长和第一队列在第一时长内输出的流量的大小确定第一输出速率。确定单元301用于根据第二时长和第二队列在第二时长内输出的流量的大小确定第二输出速率。
在一种实现方式中,分配单元302根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。其中,第一队列缓存大小为:第一队列的输出速率与第一队列的缓存时间的乘积;第二队列缓存大小为:第二队列的输出速率与第二队列的缓存时间的乘积。
在该具体实施方式中,所述确定单元301和分配单元302的具体实现可以参考图2的中设备的功能和实施步骤,为了简洁,不再赘述。
图4是本申请实施例提供的一种设备400的结构示意图,该设备400可以是图1所示的设备,也可以是图2所示的方法流程示意图中的设备。设备400可以包括处理器401,还可以包括与处理器401耦合连接的存储器402,网络接口403。
处理器401可以是中央处理器(英文:central process ing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
处理器401还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:appl icat ion-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。处理器401可以是指一个处理器,也可以包括多个处理器。
存储器402可以包括易失性存储器(英文:volat i le memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volat i le memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:sol id-state drive,缩写:SSD)。存储器402还可以包括上述种类的存储器的组合。
在一个实施方式中,存储器402可以包括多个软件模块,例如确定模块404和分配模块405。通过执行上述软件模块中的指令,处理器401可用于执行多个操作。存储器402可以是指一个存储器,也可以包括多个存储器。在一些实施方式中,当一个模块被配置用于执行一个操作,它可能实际表示处理器401被配置于执行模块中的指令以完成上述操作。通过执行存储器402中的指令,处理器401可以执行方法210和220中该设备所执行的部分或全部操作。例如,处理器401可以通过网络接口403接收流量,如第一队列和第二队列。
总线406可以包括任意数量的互联的总线和桥,总线406将包括由处理器401代表的一个或多个处理器401和存储器402代表的存储器的各种电路链接在一起。总线406还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。
在一种实现方式中,处理器401用于确定第一输出速率和第二输出速率的比例为第一比例。处理器401还用于根据第一输出速率和第二输出速率的第一比例确定为第一队列和第二队分配的缓存的比例为第二比例,例如,第一比例可以与第二比例相等。处理器401用于根据第二比例和设备的缓存分别第一队列和第二队列分配缓存,例如设备根据第一比例确定第二比例为1比1,设备的缓存大小为100MB,则设备为第一队列和第二队列分配的缓存都是50MB。
在一种实现方式中,处理器401还用于确定多个队列在,该设备占用的缓存之和大于或等于阈值。该阈值根据所述设备的缓存的大小确定,该阈值小于或等于设备的缓存的值。该多个队列可以包括所述第一队列和所述第二队列,还可以包括第三队列。处理器401用于在处理器401确定该多个队列在该设备占用的缓存之和大于或等于阈值后,根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。例如,该设备缓存的阈值为90MB,当设备确定多个队列实际占用的缓存为90MB后,则设备启动分配缓存机制,根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。
在一种实现方式中,处理器401用于根据第一时长和第一队列在第一时长内输出的流量的大小确定第一输出速率。处理器401用于根据第二时长和第二队列在第二时长内输出的流量的大小确定第二输出速率。
在一种实现方式中,处理器401用于根据第一输出速率和第二输出速率的比例分别为第一队列和第二队列分配缓存。处理器401用于计算第一队列缓存大小为:第一队列的输出速率与第一队列的缓存时间的乘积;第二队列缓存大小为:第二队列的输出速率与第二队列的缓存时间的乘积。
在上述具体实施方式中,处理器401、存储器402以及网络接口403的具体实现可以参考图2中设备的功能和操作,为了简介,不再赘述。各个软件模块用于执行的操作实际上是由处理器401根据各个软件模块中的指令来直接或者间接执行的。
应理解,在本申请的各种实施例中,上述各方法的序号的大小并不意味着执行顺序的先后,各方法的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所公开的方法和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
所述集成的单元如果以硬件结合软件的形式实现并作为独立的产品销售或使用时,所述软件可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案对现有技术做出贡献的部分技术特征可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者设备等)执行本发明各个实施例所述方法的部分或全部操作。而前述的存储介质可以是U盘、移动硬盘、只读存储器(简称:ROM,英文:Read-Only Memory)、随机存取存储器(简称:RAM,英文:Random Access Memory)、磁碟或者光盘。
Claims (9)
1.一种分配缓存的方法,其特征在于,包括:
设备确定第一队列在所述设备上的第一输出速率和第二队列在所述设备上的第二输出速率;
所述设备根据所述第一输出速率和所述第二输出速率的比例分别为所述第一队列和所述第二队列分配缓存。
2.根据权利要求1所述的方法,其特征在于,所述设备根据所述第一输出速率和所述第二输出速率的比例分别为所述第一队列和所述第二队列分配缓存包括:
所述设备确定所述第一输出速率和所述第二输出速率的第一比例;
所述设备根据所述第一输出速率和所述第二输出速率的第一比例确定为所述第一队列和所述第二队分配的缓存的第二比例;
所述设备根据所述第二比例和所述设备的缓存分别为所述第一队列和所述第二队列分配缓存。
3.根据权利要求1或2所述的方法,其特征在于,所述设备根据所述第一输出速率和所述第二输出速率的比例分别为所述第一队列和所述第二队列分配缓存包括:
所述设备确定多个队列在所述设备占用的缓存之和大于或等于阈值,其中所述阈值根据所述设备的缓存的大小确定,所述多个队列包括所述第一队列和所述第二队列;
在所述设备确定所述多个队列在所述设备占用的缓存之和大于或等于阈值后,所述设备根据所述第一输出速率和所述第二输出速率的比例分别为所述第一队列和所述第二队列分配缓存。
4.根据权利要求1至3任一所述的方法,其特征在于,所述设备确定第一队列在所述设备上的第一输出速率和第二队列在所述设备上的第二输出速率包括:
所述设备根据第一时长和所述第一队列在所述第一时长内输出的流量的大小确定所述第一输出速率;
所述设备根据第二时长和所述第二队列在所述第二时长内输出的流量的大小确定所述第二输出速率。
5.一种设备,其特征在于,所述设备包括:
确定单元,用于确定第一队列在所述设备上的第一输出速率和第二队列在所述设备上的第二输出速率;
分配单元,用于根据所述第一输出速率和所述第二输出速率的比例分别为所述第一队列和所述第二队列分配缓存。
6.根据权利要求5所述的设备,其特征在于,
所述确定单元,用于确定所述第一输出速率和所述第二输出速率的第一比例;
所述确定单元,还用于根据所述第一输出速率和所述第二输出速率的第一比例确定为所述第一队列和所述第二队分配的缓存的第二比例;
所述分配单元,用于根据所述第二比例和所述设备的缓存分别所述第一队列和所述第二队列分配缓存。
7.根据权利要求5或6所述的设备,其特征在于,
所述确定单元,还用于确定多个队列在所述设备占用的缓存之和大于或等于阈值,其中所述阈值根据所述设备的缓存的大小确定,所述多个队列包括所述第一队列和所述第二队列;
所述分配单元,用于在所述确定单元确定所述多个队列在所述设备占用的缓存之和大于或等于阈值后,根据所述第一输出速率和所述第二输出速率的比例分别为所述第一队列和所述第二队列分配缓存。
8.根据权利要求5至7任一所述的设备,其特征在于,
所述确定单元,用于根据第一时长和所述第一队列在所述第一时长内输出的流量的大小确定所述第一输出速率;
所述确定单元,用于根据第二时长和所述第二队列在所述第二时长内输出的流量的大小确定所述第二输出速率。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在计算上运行时,所述计算机执行权利要求1至4任一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810702803.XA CN110661724B (zh) | 2018-06-30 | 2018-06-30 | 一种分配缓存的方法和设备 |
EP19827165.2A EP3800845B1 (en) | 2018-06-30 | 2019-06-28 | Cache allocation method and device |
PCT/CN2019/093640 WO2020001608A1 (zh) | 2018-06-30 | 2019-06-28 | 一种分配缓存的方法和设备 |
US17/134,976 US11658924B2 (en) | 2018-06-30 | 2020-12-28 | Buffer allocation method, and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810702803.XA CN110661724B (zh) | 2018-06-30 | 2018-06-30 | 一种分配缓存的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110661724A true CN110661724A (zh) | 2020-01-07 |
CN110661724B CN110661724B (zh) | 2023-03-31 |
Family
ID=68985403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810702803.XA Active CN110661724B (zh) | 2018-06-30 | 2018-06-30 | 一种分配缓存的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11658924B2 (zh) |
EP (1) | EP3800845B1 (zh) |
CN (1) | CN110661724B (zh) |
WO (1) | WO2020001608A1 (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030058802A1 (en) * | 2001-09-24 | 2003-03-27 | Internet Machines Corporation | Adaptive rate controlled router system and method |
CN1937594A (zh) * | 2006-11-13 | 2007-03-28 | 华为技术有限公司 | 配置缓存队列门限的方法及装置、流量控制的方法及装置 |
CN102916903A (zh) * | 2012-10-25 | 2013-02-06 | 华为技术有限公司 | 缓存调整方法及装置 |
US8797877B1 (en) * | 2012-08-09 | 2014-08-05 | Juniper Networks, Inc. | Virtual output queue allocation using dynamic drain bandwidth |
CN104022965A (zh) * | 2014-05-20 | 2014-09-03 | 华为技术有限公司 | 一种报文出队调度的方法和设备 |
US9674104B1 (en) * | 2013-05-01 | 2017-06-06 | Cisco Technology, Inc | Adapting proportional integral controller enhanced algorithm for varying network conditions in a network environment |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7464398B2 (en) * | 2003-05-19 | 2008-12-09 | Alcatel Lucent | Queuing methods for mitigation of packet spoofing |
US9686201B2 (en) * | 2013-01-25 | 2017-06-20 | Cable Television Laboratories, Inc. | Predictive management of a network buffer |
CN104302008B (zh) * | 2014-10-20 | 2019-03-26 | 上海电机学院 | 一种综合时分和缓存占比的无线多跳网络带宽分配方法 |
CN105610729A (zh) * | 2014-11-19 | 2016-05-25 | 中兴通讯股份有限公司 | 一种缓存分配方法、装置及网络处理器 |
-
2018
- 2018-06-30 CN CN201810702803.XA patent/CN110661724B/zh active Active
-
2019
- 2019-06-28 WO PCT/CN2019/093640 patent/WO2020001608A1/zh unknown
- 2019-06-28 EP EP19827165.2A patent/EP3800845B1/en active Active
-
2020
- 2020-12-28 US US17/134,976 patent/US11658924B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030058802A1 (en) * | 2001-09-24 | 2003-03-27 | Internet Machines Corporation | Adaptive rate controlled router system and method |
CN1937594A (zh) * | 2006-11-13 | 2007-03-28 | 华为技术有限公司 | 配置缓存队列门限的方法及装置、流量控制的方法及装置 |
US8797877B1 (en) * | 2012-08-09 | 2014-08-05 | Juniper Networks, Inc. | Virtual output queue allocation using dynamic drain bandwidth |
CN102916903A (zh) * | 2012-10-25 | 2013-02-06 | 华为技术有限公司 | 缓存调整方法及装置 |
US9674104B1 (en) * | 2013-05-01 | 2017-06-06 | Cisco Technology, Inc | Adapting proportional integral controller enhanced algorithm for varying network conditions in a network environment |
CN104022965A (zh) * | 2014-05-20 | 2014-09-03 | 华为技术有限公司 | 一种报文出队调度的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110661724B (zh) | 2023-03-31 |
EP3800845B1 (en) | 2023-10-04 |
EP3800845A4 (en) | 2021-08-11 |
US11658924B2 (en) | 2023-05-23 |
EP3800845A1 (en) | 2021-04-07 |
WO2020001608A1 (zh) | 2020-01-02 |
US20210119943A1 (en) | 2021-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8036117B1 (en) | Dequeuing and congestion control systems and methods | |
US9100314B2 (en) | Dequeuing and congestion control systems and methods for single stream multicast | |
US9225668B2 (en) | Priority driven channel allocation for packet transferring | |
US9106577B2 (en) | Systems and methods for dropping data using a drop profile | |
US8599868B2 (en) | Systems and methods for determining the bandwidth used by a queue | |
US7613199B1 (en) | Systems and methods for permitting queues to oversubscribe | |
EP1720295A1 (en) | Dynamic sharing of a transaction queue | |
US20160094450A1 (en) | Reducing internal fabric congestion in leaf-spine switch fabric | |
EP2670085B1 (en) | System for performing Data Cut-Through | |
CN109787910B (zh) | 一种流量管理方法、系统及织状网络处理器 | |
WO2020134425A1 (zh) | 一种数据处理方法、装置、设备及存储介质 | |
EP3461085B1 (en) | Method and device for queue management | |
US7245617B2 (en) | Queuing packets written to memory for switching | |
CN110661724B (zh) | 一种分配缓存的方法和设备 | |
KR20120055947A (ko) | 가입자 인지 플로우별 QoS 제공 방법 및 장치 | |
CN116889024A (zh) | 一种数据流传输方法、装置及网络设备 | |
CN114448903A (zh) | 一种报文处理方法、装置和通信设备 | |
CN113872881A (zh) | 队列信息的处理方法及装置 | |
CN116414572A (zh) | 流量管理装置、报文缓存方法、芯片及网络设备 | |
CN117749726A (zh) | Tsn交换机输出端口优先级队列混合调度方法和装置 | |
CN117278489A (zh) | 端口队列容量的动态调整方法、系统、终端及存储介质 | |
KR100757194B1 (ko) | 자원 이용도가 높고 구현 복잡성이 낮은 공정 패킷스케줄링 장치 | |
Kuokkwee et al. | Enhanced dynamic bandwidth allocation proportional to queue length with threshold value for VBR traffic |
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 |