CN117424864B - 一种用于交换机的队列数据管理系统及方法 - Google Patents
一种用于交换机的队列数据管理系统及方法 Download PDFInfo
- Publication number
- CN117424864B CN117424864B CN202311735833.8A CN202311735833A CN117424864B CN 117424864 B CN117424864 B CN 117424864B CN 202311735833 A CN202311735833 A CN 202311735833A CN 117424864 B CN117424864 B CN 117424864B
- Authority
- CN
- China
- Prior art keywords
- stream
- flow
- space
- queue
- level
- 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
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000013523 data management Methods 0.000 title claims abstract description 21
- 239000000872 buffer Substances 0.000 claims abstract description 127
- 238000012545 processing Methods 0.000 claims description 15
- 238000013475 authorization Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 5
- 230000032683 aging Effects 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 4
- 230000005540 biological transmission Effects 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 230000009471 action Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- 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/9026—Single buffer per packet
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及交换机队列数据管理技术领域,具体为一种用于交换机的队列数据管理系统及方法,所述系统包括流级信息传递模块,所述流级信息传递模块获取流队列中入队或出队时每个报文对应的标记和切片数,记为相应报文的流级信息,并将报文的流级信息传递到端口级缓存中心和系统级缓存中心。本发明解决了某些业务流拿不到缓存被丢弃的情况,保证了因业务需要增加业务流能加入到缓存而不被丢弃;划分独享共享空间使流量结构上更加合理,芯片的工作性能也更好;对于共享空间对应的丢弃阈值采用动态阈值,这样系统能自适应检测队列拥塞等级,并调整到对应的丢弃阈值;迫使拥塞队列快速和提前丢弃,释放空闲缓存空间供其他业务使用。
Description
技术领域
本发明涉及交换机队列数据管理技术领域,具体为一种用于交换机的队列数据管理系统及方法。
背景技术
在交换机中有不同业务的流,每条流承载的业务和功能是不一样的。所以在路由器发生拥塞情况下,需要对业务流做拥塞避免,把一些拥塞流丢弃掉,否则会影响优先级比较高的业务流。现有技术上有TD(Tail Drop)尾部丢弃和WRED(Weighted Random EarlyDiscard)两种常用的拥塞避免方案,可以有效地丢弃拥塞业务流;但对于业务流比较多和缓存容量的限制导致多条业务流出现竞争占缓存,会引发后加入的业务流没有缓存可进,这样后加入的业务流携带的优先级最高也只能丢弃(优先级都是业务解析后送过来的,队列都是携带优先级的);进而现有技术存在较大的缺陷。
发明内容
本发明的目的在于提供一种用于交换机的队列数据管理系统及方法,以解决上述背景技术中提出的问题。
为了解决上述技术问题,本发明提供如下技术方案:一种用于交换机的队列数据管理方法,所述方法包括以下步骤:
S1、将每条业务流都划分流独享缓存空间和流共享缓存空间,所述流独享缓存空间满足相应业务流自身使用,所述流共享缓存空间满足所有业务流使用;对于入队的业务流在流共享缓存使用空间达到流丢弃动态阈值时,需要尾部丢弃,记为流级丢弃;
S2、获取流队列中入队或出队时每个报文对应的标记和切片数,记为相应报文的流级信息,并将报文的流级信息传递到端口级缓存中心和系统级缓存中心;
S3、端口级缓存中心和系统级缓存中心分别接收到报文的流级信息中的标记和切片数,对于进入的流独享缓存空间只做统计,对于进入的流共享缓存空间要做拥塞避免处理,当端口累积到端口共享缓存空间阈值发生端口级丢弃,当系统累积到系统共享缓存空间阈值发生系统级丢弃;
S4、流级、端口级和系统级这三级任有一级发生丢弃则判断丢弃相应报文,否则不丢弃相应报文,再判断是否更新相应的缓存深度。
进一步的,将每个业务流作为一个流队列,每条流队列入队是先进流独享缓存空间,只有在流独享缓存空间满了情况下才进流共享缓存空间;
本发明在每条流队列入队时,先进流独享缓存空间的过程中,比较新入队的流队列携带的优先级与相应流独享缓存空间中存储的各个流队列的优先级,将优先级最小的流队列缓存到相应的流独享缓存空间,其余的流队列缓存到相应的流共享缓存空间;
每条流队列出队先是出流共享缓存空间,只有在流共享缓存空间空了的情况下才出流独享缓存空间;
每条待发端口只配置一个端口共享缓存空间,不存在端口独享缓存空间;
给系统级只配置一个系统共享缓存空间,不存在系统独享缓存空间;
流级丢弃、端口级丢弃和系统级丢弃均可以打开或关闭,通过cpu配置全局的使能来控制。
本发明设置流级丢弃、端口级丢弃和系统级丢弃均可以打开或关闭,其目的是让共享缓存空间尽快释放再给其他业务流使用;所有流的独享缓存空间之和不能超配,所有流的共享缓存空间可以超配,端口级共享缓存空间也可以超配,但系统级共享缓存空间不可以超配。
进一步的,所述S1中流丢弃动态阈值在检测到某队列在出向授权盈余不足时,根据出向授权盈余对应的数据,将相应队列对应的流丢弃阈值进行自适应调整;授权盈余机制有两个来源:一个是cpu定时给队列下发的授权令牌桶,另外一个是下行出向带宽不足时的老化授权盈余;
对于队列级丢弃阈值是动态阈值;目的是系统检测某队列在出向授权盈余不足导致即将发生拥塞,此时需要该队列丢弃阈值跳到较小的阈值,实现上我们会对不同的拥塞程度划分等级,从而划分不同的丢弃阈值。最终实现快速和提早“泄洪”,这样缓存得以释放给其他不拥塞的业务使用。授权盈余机制有两个来源;一个是cpu定时给队列下发的授权到授权令牌桶,另外一个是下行出向带宽不足时需要老化授权盈余。也就是说队列的授权盈余反映了队列在链路上传输的拥塞情况,进而划分不同拥塞等级来得到动态阈值。
根据出向授权盈余对应的数据,将相应队列对应的流丢弃阈值进行自适应调整的方法包括以下步骤:
步骤Z1、获取当前时间相应队列的出现授权盈余对应的数据,记为(M1,M2),所述M1表示当前时间相应队列的令牌请求速度减去cpu定时给相应队列下发的授权令牌桶中的生成令牌的速度的差值,M2表示当前时间下行出向带宽的请求量与实际带宽量的差值;
步骤Z2、查询数据库预置表单中(M1,M2)所属的授权盈余区间[MB1,MB2],并提取预置表单中授权盈余区间[MB1,MB2]对应的缓存拥塞等级及相应等级对应的丢弃阈值调节系数,记为β;所述MB1与MB2分别对应一个区间,且M1∈MB1,M2∈MB2;
步骤Z3、得到相应队列对应的流丢弃阈值的自适应调整结果,记为YT,所述YT=β·Y/R,其中Y表示当前时间相应队列对应的流独享缓存空间,R表示当前时间系统缓存的总使用量(使用的独享缓存空间与使用的共享缓存空间之和)占系统配置的缓存总量(独享缓存空间与共享缓存空间的总和)的比值。
进一步的,所述S1中每条业务流划分流独享缓存空间和流共享缓存空间的方法包括以下步骤:
S11、获取系统中业务流的总个数,记为in,将第i个业务流记为Ai;
S12、计算业务流Ai划分的流独享缓存空间,记为BAi,
,
其中,BZ表示业务流所属系统中的总缓存空间;FAi表示基于当前时间的最近单位时长的历史数据中,第i个业务流Ai的队列中接收的总报文数;GAi表示基于当前时间的最近单位时长的历史数据内第i个业务流Ai的队列中接收的总报文数FAi中,未丢弃的每个报文对应的关联业务链的平均节点个数,
获取报文对应的关联业务链时,获取待测报文对应数据在系统中后续流转的业务个数,流转的每个业务及待测报文所属业务均为待测报文对应的关联业务链上的一个节点,所述流转操作包括提取待测报文对应的数据及提取对待测报文对应的数据的处理数据。
进一步的,更新缓存深度时,对于流级相同的业务流编号而言,分三种情况:
1)只有入队信息,如果没有发生丢弃,则把当前队列深度读出来加上当前的切片数再更新到缓存深度里,且对入向报文打上标记;如果发生丢弃,不更新缓存深度;
2)只有出队信息,则把当前队列深度读出来减去当前的切片数再更新到缓存深度里,且对出向报文打上标记;
3)同时有入队信号和出队信息,
如果入队的切片数大于等于出队的切片数,将入队的切片数作为真正的入队信息,所述真正的入队信息对应的真正的入队切片数为入队切片数减去出队切片数;
当没有发生丢弃时,则把当前队列深度读出来加上当前真正的入队切片数再更新到缓存深度里,且对入向报文打上标记;
当发生丢弃时,则把当前队列深度读出来减去当前的出队切片数再更新到缓存深度里,且对入向报文打上标记;
如果出队的切片数大于入队切片数,将出队的切片数作为真正的出队信息,所述真正的出队信息对应的真正的出队切片数为出队切片数减去入队切片数;
当没有发生丢弃时,则把当前队列深度读出来减去当前真正的出队切片数再更新到缓存深度里,且对出向报文打上标记;
当发生丢弃时,则把当前队列深度读出来减去当前的出队切片数再更新到缓存深度里,且对出向报文打上标记。
进一步的,从读出流队列深度到更新流队列深度区间需要做路径上的冲突处理,保证计算的深度为实时最新值,用最新值和相应的流丢弃动态阈值做比较来判断是否丢弃,所述最新值为相应的流独享缓存空间与流共享缓存空间之和;同理,端口级和系统也是按流级送来的标记和切片数来分别统计接收的流独享缓存量和流共享缓存量,其中统计接收的流共享缓存达到相应的端口共享缓存空间阈值或相应的系统共享缓存空间阈值就丢弃,流独享缓存统计仅作为统计计数。
本发明中端口级拿到报文携带标记和对应的切片数,对于进独享缓存空间只做统计(队列级先判断完该报文是进独享或者共享后,报文在进端口级判断,此时报文已经知道是进独享缓存还是共享缓存,所以独享空间是不能丢弃只能统计使用,而进共享缓存可以再次判断是否达到端口共享缓存阈值,达到就丢弃;总之只要报文在队列级判断为独享就不能丢弃),对于进共享缓存空间要做端口级拥塞避免,当端口累积到端口共享空间阈值发生端口级丢弃。同样,系统级和端口级一样,只不过端口级要分不同的端口号,系统级只有一个总共享丢弃阈值。
一种用于交换机的队列数据管理系统,所述系统包括:
流级缓存空间调配模块,所述流级缓存空间调配模块给每条业务流都划分流独享缓存空间和流共享缓存空间;并对于入队的业务流在流共享缓存使用空间达到流丢弃动态阈值时,需要尾部丢弃,记为流级丢弃;
流级信息传递模块,所述流级信息传递模块获取流队列中入队或出队时每个报文对应的标记和切片数,记为相应报文的流级信息,并将报文的流级信息传递到端口级缓存中心和系统级缓存中心;
端口级缓存空间调配模块,所述端口级缓存空间调配模块控制端口级缓存中心接收到报文的流级信息中的标记和切片数,对于进流独享缓存空间只做统计,对于进共享缓存空间要做拥塞避免处理,当端口累积到端口共享缓存空间阈值发生端口级丢弃;
系统级缓存空间调配模块,所述系统级缓存空间调配模块控制系统级缓存中心接收到报文的流级信息中的标记和切片数,对于进流独享缓存空间只做统计,对于进共享缓存空间要做拥塞避免处理,当系统累积到系统共享缓存空间阈值发生系统级丢弃;
丢弃判定及缓存深度更新模块,所述丢弃判定及缓存深度更新模块在流级、端口级和系统级这三级任有一级发生丢弃则判断丢弃相应报文,否则不丢弃相应报文,再判断是否更新相应的缓存深度。
进一步的,所述每条业务流划分的流独享缓存空间和流共享缓存空间中,所述流独享缓存空间只许本条流使用,流共享缓存空间是所有流都可以使用;
每条流队列入队是先进流独享缓存空间,只有在流独享缓存空间满了情况下才进流共享缓存空间;而每条流队列出队先是出流共享缓存空间,只有在流共享缓存空间空了情况下才出流独享缓存空间。
进一步的,所有流的独享缓存空间之和不能超过配置的缓存空间,所有流的共享缓存空间能超过配置的缓存空间且在超过配置的缓存空间时丢弃超出的报文,端口级共享缓存空间能超过配置的缓存空间且在超过配置的缓存空间时丢弃超出的报文,系统级共享缓存空间不能超出配置的缓存空间。
与现有技术相比,本发明所达到的有益效果是:本发明解决了某些业务流拿不到缓存被丢弃的情况,保证了因业务需要增加业务流能加入到缓存而不被丢弃;而每条业务流划独享缓存空间至少能保证自己能进独享缓存空间,从而解决了被丢弃的情况,对于共享缓存属于先到先占。划分独享共享空间使流量结构上更加合理,芯片的工作性能也更好,为了发明更加灵活,如果把每条流的独享空间都配置为0,那其实就是所有流共享缓存。对于共享空间对应的丢弃阈值采用动态阈值,这样系统能自适应检测队列拥塞等级,并调整到对应的丢弃阈值;迫使拥塞队列快速和提前丢弃,释放空闲缓存空间供其他业务使用。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明一种用于交换机的队列数据管理方法的流程示意图;
图2是本发明一种用于交换机的队列数据管理系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,本发明提供技术方案:一种用于交换机的队列数据管理方法,所述方法包括以下步骤:
S1、将每条业务流都划分流独享缓存空间和流共享缓存空间,所述流独享缓存空间满足相应业务流自身使用,所述流共享缓存空间满足所有业务流使用;对于入队的业务流在流共享缓存使用空间达到流丢弃动态阈值时,需要尾部丢弃,记为流级丢弃;进一步的,将每个业务流作为一个流队列,每条流队列入队是先进流独享缓存空间,只有在流独享缓存空间满了情况下才进流共享缓存空间;
每条流队列出队先是出流共享缓存空间,只有在流共享缓存空间空了的情况下才出流独享缓存空间;
每条待发端口只配置一个端口共享缓存空间,不存在端口独享缓存空间;
给系统级只配置一个系统共享缓存空间,不存在系统独享缓存空间;
流级丢弃、端口级丢弃和系统级丢弃均可以打开或关闭,通过cpu配置全局的使能来控制。
本实施例中在每条流队列入队时,先进流独享缓存空间的过程中,比较新入队的流队列携带的优先级与相应流独享缓存空间中存储的各个流队列的优先级,将优先级最小的流队列缓存到相应的流独享缓存空间,其余的流队列缓存到相应的流共享缓存空间;设置流级丢弃、端口级丢弃和系统级丢弃均可以打开或关闭,其目的是让共享缓存空间尽快释放再给其他业务流使用;所有流的独享缓存空间之和不能超配,所有流的共享缓存空间可以超配,端口级共享缓存空间也可以超配,但系统级共享缓存空间不可以超配。
所述S1中流丢弃动态阈值在检测到某队列在出向授权盈余不足时,根据出向授权盈余对应的数据,将相应队列对应的流丢弃阈值进行自适应调整;授权盈余机制有两个来源:一个是cpu定时给队列下发的授权令牌桶,另外一个是下行出向带宽不足时的老化授权盈余;
根据出向授权盈余对应的数据,将相应队列对应的流丢弃阈值进行自适应调整的方法包括以下步骤:
步骤Z1、获取当前时间相应队列的出现授权盈余对应的数据,记为(M1,M2),所述M1表示当前时间相应队列的令牌请求速度减去cpu定时给相应队列下发的授权令牌桶中的生成令牌的速度的差值,M2表示当前时间下行出向带宽的请求量与实际带宽量的差值;
步骤Z2、查询数据库预置表单中(M1,M2)所属的授权盈余区间[MB1,MB2],并提取预置表单中授权盈余区间[MB1,MB2]对应的缓存拥塞等级及相应等级对应的丢弃阈值调节系数,记为β;所述MB1与MB2分别对应一个区间,且M1∈MB1,M2∈MB2;
步骤Z3、得到相应队列对应的流丢弃阈值的自适应调整结果,记为YT,所述YT=β·Y/R,其中Y表示当前时间相应队列对应的流独享缓存空间,R表示当前时间系统缓存的总使用量(使用的独享缓存空间与使用的共享缓存空间之和)占系统配置的缓存总量(独享缓存空间与共享缓存空间的总和)的比值。
所述S1中每条业务流划分流独享缓存空间和流共享缓存空间的方法包括以下步骤:
S11、获取系统中业务流的总个数,记为in,将第i个业务流记为Ai;
S12、计算业务流Ai划分的流独享缓存空间,记为BAi,
,
其中,BZ表示业务流所属系统中的总缓存空间;FAi表示基于当前时间的最近单位时长的历史数据中,第i个业务流Ai的队列中接收的总报文数;GAi表示基于当前时间的最近单位时长的历史数据内第i个业务流Ai的队列中接收的总报文数FAi中,未丢弃的每个报文对应的关联业务链的平均节点个数,
获取报文对应的关联业务链时,获取待测报文对应数据在系统中后续流转的业务个数,流转的每个业务及待测报文所属业务均为待测报文对应的关联业务链上的一个节点,所述流转操作包括提取待测报文对应的数据及提取对待测报文对应的数据的处理数据。
S2、获取流队列中入队或出队时每个报文对应的标记和切片数,记为相应报文的流级信息,并将报文的流级信息传递到端口级缓存中心和系统级缓存中心;
本实施例中在队列流级不管是入队还是出队都会把每个报文打上标记和切片数,其标记值等于0为表示只进独享缓存空间,等于1为只进共享缓存空间,等于2为一部分进独享缓存空间另一个部分进共享缓存空间。
S3、端口级缓存中心和系统级缓存中心分别接收到报文的流级信息中的标记和切片数,对于进入的流独享缓存空间只做统计,对于进入的流共享缓存空间要做拥塞避免处理,当端口累积到端口共享缓存空间阈值发生端口级丢弃,当系统累积到系统共享缓存空间阈值发生系统级丢弃;
S4、流级、端口级和系统级这三级任有一级发生丢弃则判断丢弃相应报文,否则不丢弃相应报文,再判断是否更新相应的缓存深度。
更新缓存深度时,对于流级相同的业务流编号而言,分三种情况:
1)只有入队信息,如果没有发生丢弃,则把当前队列深度读出来加上当前的切片数再更新到缓存深度里,且对入向报文打上标记;如果发生丢弃,不更新缓存深度;
2)只有出队信息,则把当前队列深度读出来减去当前的切片数再更新到缓存深度里,且对出向报文打上标记;
3)同时有入队信号和出队信息,
如果入队的切片数大于等于出队的切片数,将入队的切片数作为真正的入队信息,所述真正的入队信息对应的真正的入队切片数为入队切片数减去出队切片数;
当没有发生丢弃时,则把当前队列深度读出来加上当前真正的入队切片数再更新到缓存深度里,且对入向报文打上标记;
当发生丢弃时,则把当前队列深度读出来减去当前的出队切片数再更新到缓存深度里,且对入向报文打上标记;
如果出队的切片数大于入队切片数,将出队的切片数作为真正的出队信息,所述真正的出队信息对应的真正的出队切片数为出队切片数减去入队切片数;
当没有发生丢弃时,则把当前队列深度读出来减去当前真正的出队切片数再更新到缓存深度里,且对出向报文打上标记;
当发生丢弃时,则把当前队列深度读出来减去当前的出队切片数再更新到缓存深度里,且对出向报文打上标记。
从读出流队列深度到更新流队列深度区间需要做路径上的冲突处理,保证计算的深度为实时最新值,用最新值和相应的流丢弃动态阈值做比较来判断是否丢弃,所述最新值为相应的流独享缓存空间与流共享缓存空间之和;同理,端口级和系统也是按流级送来的标记和切片数来分别统计接收的流独享缓存量和流共享缓存量,其中统计接收的流共享缓存达到相应的端口共享缓存空间阈值或相应的系统共享缓存空间阈值就丢弃,流独享缓存统计仅作为统计计数(只是计算不作为判断,并且不会满,计数入队加出队减,一个端口内所有队列独享缓存之和等于该端口独享缓存)。
如图2所示,一种用于交换机的队列数据管理系统,所述系统包括:
流级缓存空间调配模块,所述流级缓存空间调配模块给每条业务流都划分流独享缓存空间和流共享缓存空间;并对于入队的业务流在流共享缓存使用空间达到流丢弃动态阈值时,需要尾部丢弃,记为流级丢弃;
流级信息传递模块,所述流级信息传递模块获取流队列中入队或出队时每个报文对应的标记和切片数,记为相应报文的流级信息,并将报文的流级信息传递到端口级缓存中心和系统级缓存中心;
端口级缓存空间调配模块,所述端口级缓存空间调配模块控制端口级缓存中心接收到报文的流级信息中的标记和切片数,对于进流独享缓存空间只做统计,对于进共享缓存空间要做拥塞避免处理,当端口累积到端口共享缓存空间阈值发生端口级丢弃;
系统级缓存空间调配模块,所述系统级缓存空间调配模块控制系统级缓存中心接收到报文的流级信息中的标记和切片数,对于进流独享缓存空间只做统计,对于进共享缓存空间要做拥塞避免处理,当系统累积到系统共享缓存空间阈值发生系统级丢弃;
丢弃判定及缓存深度更新模块,所述丢弃判定及缓存深度更新模块在流级、端口级和系统级这三级任有一级发生丢弃则判断丢弃相应报文,否则不丢弃相应报文,再判断是否更新相应的缓存深度。
所述每条业务流划分的流独享缓存空间和流共享缓存空间中,所述流独享缓存空间只许本条流使用,流共享缓存空间是所有流都可以使用;
每条流队列入队是先进流独享缓存空间,只有在流独享缓存空间满了情况下才进流共享缓存空间;而每条流队列出队先是出流共享缓存空间,只有在流共享缓存空间空了情况下才出流独享缓存空间。
所有流的独享缓存空间之和不能超过配置的缓存空间,所有流的共享缓存空间能超过配置的缓存空间且在超过配置的缓存空间时丢弃超出的报文,端口级共享缓存空间能超过配置的缓存空间且在超过配置的缓存空间时丢弃超出的报文,系统级共享缓存空间不能超出配置的缓存空间。
工作原理:
(1)给每条待发流队列配置合适的流独享缓存空间和流共享缓存空间,流级丢弃可以打开和关闭,通过cpu配置全局的使能来控制;
(2)给每条待发端口配置合适的端口共享缓存空间,端口级丢弃可以打开和关闭,通过cpu配置全局的使能来控制;
(3)给系统级配置合适的系统共享缓存空间,系统级丢弃可以打开和关闭,通过cpu配置全局的使能来控制;
(4)入队信号和出队信息先去流级缓存空间调配模块进行处理,一拍延迟后得到标记和对应的切片数再送到端口级和系统级进行共享判断丢弃;
(5)三级任有一级发生丢弃则判断相应报文丢弃,否则相应报文不丢弃,再判断是否更新相应的缓存深度;
(6)本系统支持所有流级、所有端口以及系统的缓存使用量的统计计数,便于知道缓存使用量(便于cpu查看队列、端口、系统的拥塞情况)。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种用于交换机的队列数据管理方法,其特征在于,所述方法包括以下步骤:
S1、将每条业务流都划分流独享缓存空间和流共享缓存空间,所述流独享缓存空间满足相应业务流自身使用,所述流共享缓存空间满足所有业务流使用;对于入队的业务流在流共享缓存使用空间达到流丢弃动态阈值时,需要尾部丢弃,记为流级丢弃;
S2、获取流队列中入队或出队时每个报文对应的标记和切片数,记为相应报文的流级信息,并将报文的流级信息传递到端口级缓存中心和系统级缓存中心;
S3、端口级缓存中心和系统级缓存中心分别接收到报文的流级信息中的标记和切片数,对于进入的流独享缓存空间只做统计,对于进入的流共享缓存空间要做拥塞避免处理,当端口累积到端口共享缓存空间阈值发生端口级丢弃,当系统累积到系统共享缓存空间阈值发生系统级丢弃;
S4、流级、端口级和系统级这三级任有一级发生丢弃则判断丢弃相应报文,否则不丢弃相应报文,再判断是否更新相应的缓存深度;
将每个业务流作为一个流队列,每条流队列入队是先进流独享缓存空间,只有在流独享缓存空间满了情况下才进流共享缓存空间;
在每条流队列入队时,先进流独享缓存空间的过程中,比较新入队的流队列携带的优先级与相应流独享缓存空间中存储的各个流队列的优先级,将优先级最小的流队列缓存到相应的流独享缓存空间,其余的流队列缓存到相应的流共享缓存空间;
每条流队列出队先是出流共享缓存空间,只有在流共享缓存空间空了的情况下才出流独享缓存空间;
每条待发端口只配置一个端口共享缓存空间,不存在端口独享缓存空间;
给系统级只配置一个系统共享缓存空间,不存在系统独享缓存空间;
流级丢弃、端口级丢弃和系统级丢弃均可以打开或关闭,通过cpu配置全局的使能来控制;
更新缓存深度时,对于流级相同的业务流编号而言,分三种情况:
1)只有入队信息,如果没有发生丢弃,则把当前队列深度读出来加上当前的切片数再更新到缓存深度里,且对入向报文打上标记;如果发生丢弃,不更新缓存深度;
2)只有出队信息,则把当前队列深度读出来减去当前的切片数再更新到缓存深度里,且对出向报文打上标记;
3)同时有入队信号和出队信息,
如果入队的切片数大于等于出队的切片数,将入队的切片数作为真正的入队信息,所述真正的入队信息对应的真正的入队切片数为入队切片数减去出队切片数;
当没有发生丢弃时,则把当前队列深度读出来加上当前真正的入队切片数再更新到缓存深度里,且对入向报文打上标记;
当发生丢弃时,则把当前队列深度读出来减去当前的出队切片数再更新到缓存深度里,且对入向报文打上标记;
如果出队的切片数大于入队切片数,将出队的切片数作为真正的出队信息,所述真正的出队信息对应的真正的出队切片数为出队切片数减去入队切片数;
当没有发生丢弃时,则把当前队列深度读出来减去当前真正的出队切片数再更新到缓存深度里,且对出向报文打上标记;
当发生丢弃时,则把当前队列深度读出来减去当前的出队切片数再更新到缓存深度里,且对出向报文打上标记。
2.根据权利要求1所述的一种用于交换机的队列数据管理方法,其特征在于:所述S1中流丢弃动态阈值在检测到某队列在出向授权盈余不足时,根据出向授权盈余对应的数据,将相应队列对应的流丢弃阈值进行自适应调整;授权盈余机制有两个来源:一个是cpu定时给队列下发的授权令牌桶,另外一个是下行出向带宽不足时的老化授权盈余。
3.根据权利要求1所述的一种用于交换机的队列数据管理方法,其特征在于:所述S1中每条业务流划分流独享缓存空间和流共享缓存空间的方法包括以下步骤:
S11、获取系统中业务流的总个数,记为in,将第i个业务流记为Ai;
S12、计算业务流Ai划分的流独享缓存空间,记为BAi,
;
其中,BZ表示业务流所属系统中的总缓存空间;FAi表示基于当前时间的最近单位时长的历史数据中,第i个业务流Ai的队列中接收的总报文数;GAi表示基于当前时间的最近单位时长的历史数据内第i个业务流Ai的队列中接收的总报文数FAi中,未丢弃的每个报文对应的关联业务链的平均节点个数,
获取报文对应的关联业务链时,获取待测报文对应数据在系统中后续流转的业务个数,流转的每个业务及待测报文所属业务均为待测报文对应的关联业务链上的一个节点,所述流转操作包括提取待测报文对应的数据及提取对待测报文对应的数据的处理数据。
4.根据权利要求1所述的一种用于交换机的队列数据管理方法,其特征在于:从读出流队列深度到更新流队列深度区间需要做路径上的冲突处理,保证计算的深度为实时最新值,用最新值和相应的流丢弃动态阈值做比较来判断是否丢弃,所述最新值为相应的流独享缓存空间与流共享缓存空间之和;同理,端口级和系统也是按流级送来的标记和切片数来分别统计接收的流独享缓存量和流共享缓存量,其中统计接收的流共享缓存达到相应的端口共享缓存空间阈值或相应的系统共享缓存空间阈值就丢弃,流独享缓存统计仅作为统计计数。
5.一种用于交换机的队列数据管理系统,所述系统应用权利要求1-4中任意一项所述的一种用于交换机的队列数据管理方法实现,其特征在于,所述系统包括:
流级缓存空间调配模块,所述流级缓存空间调配模块给每条业务流都划分流独享缓存空间和流共享缓存空间;并对于入队的业务流在流共享缓存使用空间达到流丢弃动态阈值时,需要尾部丢弃,记为流级丢弃;
流级信息传递模块,所述流级信息传递模块获取流队列中入队或出队时每个报文对应的标记和切片数,记为相应报文的流级信息,并将报文的流级信息传递到端口级缓存中心和系统级缓存中心;
端口级缓存空间调配模块,所述端口级缓存空间调配模块控制端口级缓存中心接收到报文的流级信息中的标记和切片数,对于进流独享缓存空间只做统计,对于进共享缓存空间要做拥塞避免处理,当端口累积到端口共享缓存空间阈值发生端口级丢弃;
系统级缓存空间调配模块,所述系统级缓存空间调配模块控制系统级缓存中心接收到报文的流级信息中的标记和切片数,对于进流独享缓存空间只做统计,对于进共享缓存空间要做拥塞避免处理,当系统累积到系统共享缓存空间阈值发生系统级丢弃;
丢弃判定及缓存深度更新模块,所述丢弃判定及缓存深度更新模块在流级、端口级和系统级这三级任有一级发生丢弃则判断丢弃相应报文,否则不丢弃相应报文,再判断是否更新相应的缓存深度。
6.根据权利要求5所述的一种用于交换机的队列数据管理系统,其特征在于:所述每条业务流划分的流独享缓存空间和流共享缓存空间中,所述流独享缓存空间只许本条流使用,流共享缓存空间是所有流都可以使用;
每条流队列入队是先进流独享缓存空间,只有在流独享缓存空间满了情况下才进流共享缓存空间;而每条流队列出队先是出流共享缓存空间,只有在流共享缓存空间空了情况下才出流独享缓存空间。
7.根据权利要求5所述的一种用于交换机的队列数据管理系统,其特征在于:所有流的独享缓存空间之和不能超过配置的缓存空间,所有流的共享缓存空间能超过配置的缓存空间且在超过配置的缓存空间时丢弃超出的报文,端口级共享缓存空间能超过配置的缓存空间且在超过配置的缓存空间时丢弃超出的报文,系统级共享缓存空间不能超出配置的缓存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311735833.8A CN117424864B (zh) | 2023-12-18 | 2023-12-18 | 一种用于交换机的队列数据管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311735833.8A CN117424864B (zh) | 2023-12-18 | 2023-12-18 | 一种用于交换机的队列数据管理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117424864A CN117424864A (zh) | 2024-01-19 |
CN117424864B true CN117424864B (zh) | 2024-02-27 |
Family
ID=89528747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311735833.8A Active CN117424864B (zh) | 2023-12-18 | 2023-12-18 | 一种用于交换机的队列数据管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117424864B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999000949A1 (en) * | 1997-06-30 | 1999-01-07 | Sun Microsystems, Inc. | A system and method for a quality of service in a multi-layer network element |
CN101699795A (zh) * | 2009-10-29 | 2010-04-28 | 中兴通讯股份有限公司 | 一种报文拥塞处理方法及系统 |
CN102546751A (zh) * | 2011-12-06 | 2012-07-04 | 华中科技大学 | 一种分布式文件系统分级元数据缓存控制方法 |
CN106685848A (zh) * | 2015-11-10 | 2017-05-17 | 中兴通讯股份有限公司 | 报文丢弃方法及装置 |
CN106789729A (zh) * | 2016-12-13 | 2017-05-31 | 华为技术有限公司 | 一种网络设备中的缓存管理方法及装置 |
CN106911740A (zh) * | 2015-12-22 | 2017-06-30 | 深圳市中兴微电子技术有限公司 | 一种缓存管理的方法和装置 |
CN115297067A (zh) * | 2022-04-29 | 2022-11-04 | 华为技术有限公司 | 一种共享缓存管理方法及装置 |
US11516149B1 (en) * | 2019-08-27 | 2022-11-29 | Innovium, Inc. | Distributed artificial intelligence extension modules for network switches |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7006440B2 (en) * | 2001-10-26 | 2006-02-28 | Luminous Networks, Inc. | Aggregate fair queuing technique in a communications system using a class based queuing architecture |
US9705808B2 (en) * | 2014-03-21 | 2017-07-11 | Cisco Technology, Inc. | Flow aware buffer management for data center switches |
US11563695B2 (en) * | 2016-08-29 | 2023-01-24 | Cisco Technology, Inc. | Queue protection using a shared global memory reserve |
-
2023
- 2023-12-18 CN CN202311735833.8A patent/CN117424864B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1999000949A1 (en) * | 1997-06-30 | 1999-01-07 | Sun Microsystems, Inc. | A system and method for a quality of service in a multi-layer network element |
CN101699795A (zh) * | 2009-10-29 | 2010-04-28 | 中兴通讯股份有限公司 | 一种报文拥塞处理方法及系统 |
CN102546751A (zh) * | 2011-12-06 | 2012-07-04 | 华中科技大学 | 一种分布式文件系统分级元数据缓存控制方法 |
CN106685848A (zh) * | 2015-11-10 | 2017-05-17 | 中兴通讯股份有限公司 | 报文丢弃方法及装置 |
CN106911740A (zh) * | 2015-12-22 | 2017-06-30 | 深圳市中兴微电子技术有限公司 | 一种缓存管理的方法和装置 |
CN106789729A (zh) * | 2016-12-13 | 2017-05-31 | 华为技术有限公司 | 一种网络设备中的缓存管理方法及装置 |
US11516149B1 (en) * | 2019-08-27 | 2022-11-29 | Innovium, Inc. | Distributed artificial intelligence extension modules for network switches |
CN115297067A (zh) * | 2022-04-29 | 2022-11-04 | 华为技术有限公司 | 一种共享缓存管理方法及装置 |
Non-Patent Citations (3)
Title |
---|
Cristina Olmedilla ; .Optimizing Packet Dropping by Efficient Congesting-Flow Isolation in Lossy Data-Center Networks .2020 IEEE Symposium on High-Performance Interconnects (HOTI).2020,全文. * |
命名数据网络拥塞控制机制研究;黄茹辉;信息科技辑;20190215;全文 * |
物联网平台的运维监控系统的设计与实现;李华勋;信息科技辑;20220115;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117424864A (zh) | 2024-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8467295B2 (en) | System and methods for distributed quality of service enforcement | |
EP1328094B1 (en) | Weighted credit-based arbitration using credit history | |
US7359321B1 (en) | Systems and methods for selectively performing explicit congestion notification | |
KR100323258B1 (ko) | 버퍼 관리를 통한 속도 보증 | |
US6661802B1 (en) | Congestion management | |
JP4512699B2 (ja) | フロー制御装置およびノード装置 | |
US6765905B2 (en) | Method for reducing packet data delay variation in an internet protocol network | |
US8718077B1 (en) | Apparatus and method for dynamically limiting output queue size in a quality of service network | |
US20050147032A1 (en) | Apportionment of traffic management functions between devices in packet-based communication networks | |
US20040105384A1 (en) | Event-driven flow control for a very high-speed switching node | |
EP1209861A1 (en) | Monitoring traffic in packet networks | |
US7272150B2 (en) | System and method for shaping traffic from a plurality of data streams using hierarchical queuing | |
US7164687B2 (en) | Queue control method and relay apparatus using the method | |
CN113064738B (zh) | 基于概要数据的主动队列管理方法 | |
AU768572B2 (en) | Traffic monitoring equipment and system and method for datagram transfer | |
JP7211765B2 (ja) | パケット転送装置、方法、及びプログラム | |
US6947380B1 (en) | Guaranteed bandwidth mechanism for a terabit multiservice switch | |
CN117424864B (zh) | 一种用于交换机的队列数据管理系统及方法 | |
CN112804156A (zh) | 一种拥塞避免方法和装置及计算机可读存储介质 | |
CN116889024A (zh) | 一种数据流传输方法、装置及网络设备 | |
EP1079660A1 (en) | Buffer acceptance method | |
CN116614449B (zh) | 一种面向应用层的自适应流量控制装置及方法 | |
KR20040048233A (ko) | 선형제어를 이용한 큐 스케쥴링 장치 및 방법 | |
CN116319590A (zh) | 一种队列控制的方法及装置 | |
US7260063B2 (en) | Frame relay frame shaping per DLCI |
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 |