CN115277591A - 报文处理电路、方法、芯片和计算机设备 - Google Patents
报文处理电路、方法、芯片和计算机设备 Download PDFInfo
- Publication number
- CN115277591A CN115277591A CN202210932817.7A CN202210932817A CN115277591A CN 115277591 A CN115277591 A CN 115277591A CN 202210932817 A CN202210932817 A CN 202210932817A CN 115277591 A CN115277591 A CN 115277591A
- Authority
- CN
- China
- Prior art keywords
- depth value
- queue
- message
- weighted
- processing
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 236
- 238000000034 method Methods 0.000 title claims description 57
- 238000009499 grossing Methods 0.000 claims abstract description 115
- 230000003321 amplification Effects 0.000 claims abstract description 32
- 238000003199 nucleic acid amplification method Methods 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 238000003672 processing method Methods 0.000 claims abstract description 10
- 230000009467 reduction Effects 0.000 claims description 32
- 230000008859 change Effects 0.000 description 53
- 230000008569 process Effects 0.000 description 35
- 238000004590 computer program Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000006854 communication Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000011946 reduction process Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 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/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种报文处理电路、方法、芯片和计算机设备。该电路包括:平滑加权队列深度值计算单元用于根据预设时间间隔进行平滑加权队列深度值更新计算获得更新后的平滑加权队列深度值;缩小单元用于当报文队列中有报文入队时确定目标平滑加权队列深度值,并对目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值;丢弃识别单元用于根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理;放大处理单元用于对当次更新前报文队列的深度值进行放大处理;加权平滑单元用于根据上一次平滑处理后的加权队列深度值和放大处理后的深度值得到当次平滑处理后的加权队列深度值。采用本电路能够提高报文丢弃的准确性。
Description
技术领域
本申请涉及网络通信技术领域,特别是涉及一种报文处理电路、方法、芯片和计算机设备。
背景技术
在网络通信过程中通过报文进行数据的传输和交换,但有时网络会发生拥塞,导致网络无法正常通信,此时需要选择性地丢弃一些报文,来确保网络通信的正常运转。
传统方法中,一般是根据报文队列的深度值来选择性地进行报文丢弃,比如:基于WRED(Weighted Random Early Detection,加权随机先期检测)等算法进行报文丢弃,由于包长比较长的长包报文会引起报文队列的深度值的突变,导致长包报文很容易被丢弃,然而在一些场景中,长包报文也可能涉及优先级很高的业务,不希望将长包报文随意丢弃掉。
针对上述长包报文容易被丢弃的问题,传统方法中有一种加权队列深度算法,通过将报文队列当前的深度值与上一次处理得到的加权深度值的差异乘以权重系数后,再与上一次处理得到的加权深度值进行相加得到当次处理得到的加权深度值,使得加权深度值的变化相较于报文队列的深度值的变化更加平缓,使用加权深度值进行报文丢弃的判断,避免了长包报文引起报文队列的深度值的变化而容易丢弃长包报文的问题。
然而,上述加权队列深度算法虽然能够避免随意丢弃长包报文,但是在当前进入报文队列的报文是包长较短的短包报文的情况下,报文队列当前的深度值与上一次处理得到的加权深度值的差异会比较小,由于数字电路运算会抹除末尾小数,会导致加权深度值不会出现变化,因此无法将短包报文引起的深度值的变化累积到加权深度值中。如图1所示,102表示报文队列的深度值的变化情况,报文队列的深度值从0线性增加到100再从100线性减小到1,104表示每次深度值变化后通过加权队列深度算法计算一次加权深度值所得到的加权深度值的变化情况,从图中可以看出,加权深度值与深度值的变化曲线几乎平行,没有光滑曲线的效果,说明短包报文导致的深度值的变化并没有累积到加权深度值中,因此根据加权深度值进行报文丢弃不够准确。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高报文丢弃的准确性的报文处理电路、方法、芯片和计算机设备。
第一方面,本申请提供了一种报文处理电路。所述电路包括:平滑加权队列深度值计算单元、缩小单元和丢弃识别单元,其中:
所述平滑加权队列深度值计算单元用于根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值;
所述缩小单元用于当报文队列中有报文入队时,从所述更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对所述目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值;
所述丢弃识别单元,用于根据所述实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理;
其中,所述平滑加权队列深度值计算单元包括深度值寄存器、放大处理单元和加权平滑单元,
所述深度值寄存器,用于保存当次更新前所述报文队列的深度值;
所述放大处理单元,用于对所述深度值寄存器中的深度值进行放大处理;
所述加权平滑单元,用于根据上一次平滑处理后的加权队列深度值和放大处理后的深度值,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值;
其中,所述当前入队的报文的入队时间处于第一更新时间和第二更新时间之间,所述第一更新时间为获得所述更新后的平滑加权队列深度值对应的更新时间,所述第二更新时间为所述第一更新时间加上所述预设的时间间隔后对应的时间。
第二方面,本申请提供了一种报文处理方法。所述方法包括:
根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值;
当报文队列中有报文入队时,从所述更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对所述目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值;
根据所述实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理;
其中,所述根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值具体包括:
对当次更新前的报文队列的深度值进行放大处理;
根据上一次平滑处理后的加权队列深度值和放大处理后的深度值得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值;
其中,所述当前入队的报文的入队时间处于第一更新时间和第二更新时间之间,所述第一更新时间为获得所述更新后的平滑加权队列深度值对应的更新时间,所述第二更新时间为所述第一更新时间加上所述预设的时间间隔后对应的时间。
第三方面,本申请还提供了一种报文处理芯片。所述芯片包括本申请各实施例所述的报文处理电路。
第四方面,本申请还提供了一种计算机设备。所述计算机设备包括所述报文处理芯片。
上述报文处理电路、方法、芯片和计算机设备,加权平滑单元根据上一次平滑处理后的加权队列深度值和放大处理后的深度值,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值,使得更新后的平滑加权队列深度值的变化相较于报文队列的深度值的变化而言更加平滑,从而使得更新后的平滑加权队列深度值不会因长包报文而发生突变。先通过放大处理单元对深度值寄存器中的深度值进行放大处理,再通过加权平滑单元进行处理,避免了短包报文引起的报文队列的深度值的变化因被平滑掉而未被积累在更新后的平滑加权队列深度值中,提高了平滑加权队列深度值计算单元的更新计算的平滑加权队列深度值的准确性。当报文队列中有报文入队时,缩小单元从更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值,因为平滑加权队列深度值不会因长包报文而发生突变且比较准确,所以实际使用的加权队列深度值也不会因长包报文而发生突变且比较准确。丢弃识别单元根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理,因为实际使用的加权队列深度值不会因长包报文而发生突变,所以避免了根据报文队列的深度值进行报文丢弃而容易丢弃长包报文的问题,提高了报文丢弃的准确性。因为避免了短包报文引起的报文队列深度值的变化因被平滑掉而未被积累在平滑加权队列深度值中,提高了平滑加权队列深度值的准确性,进而使得实际使用的加权队列深度值更加准确,根据更加准确的实际使用的加权队列深度值进行报文丢弃,进一步提高了报文丢弃的准确性。
附图说明
图1为传统方法中加权深度值的变化示意图;
图2为一个实施例中报文处理电路的结构示意图;
图3为一个实施例中报文处理电路中各单元的交互示意图;
图4为一个实施例中实际使用的加权队列深度值的变化对比图;
图5为另一个实施例中实际使用的加权队列深度值的变化对比图;
图6为另一个实施例中报文处理电路的结构示意图;
图7为一个实施例中报文处理方法的流程示意图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图2所示,提供了一种报文处理电路20,该电路包括:平滑加权队列深度值计算单元22、缩小单元24和丢弃识别单元26,其中:
平滑加权队列深度值计算单元22用于根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值。
其中,平滑加权队列深度值计算单元22是报文处理电路中用于根据预设的时间间隔进行平滑加权队列深度值的更新计算的电路部分。平滑加权队列深度值,是根据上一次平滑处理后的加权队列深度值和放大处理后的深度值进行平滑处理所得到的加权队列深度值。
缩小单元24用于当报文队列中有报文入队时,从更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值。
丢弃识别单元26,用于根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理。
其中,报文队列,是包含等待处理或等待发送的一批有序报文的队列。报文,是网络通信过程中传输的数据包。缩小单元,是报文处理电路中用于进行缩小处理的电路部分。缩小处理,是将对象进行缩小的处理。
在一个实施例中,当报文队列中有报文入队时,缩小单元可以从平滑加权队列深度值寄存器中获取记录的更新后的平滑加权队列深度值作为目标平滑加权队列深度值,通过缩小单元对目标平滑加权队列深度值进行缩小处理,得到实际使用的加权队列深度值。
在一个实施例中,报文处理电路是数字电路,缩小单元可以用右移电路来实现,缩小处理可以是数字电路中的右移的移位运算。其中,右移电路,是用于执行数字电路中的右移的移位运算的电路。
在一个实施例中,对目标平滑加权队列深度值进行缩小处理,得到实际使用的加权队列深度值可以用如下公式来表示:
Qlen_ave_used=Qlen_ave(m)*2-amp; (1)
其中,Qlen_ave_used表示实际使用的加权队列深度值,Qlen_ave(m)表示目标平滑加权队列深度值,2-amp表示对目标平滑加权队列深度值进行缩小处理的缩小系数,amp为常数。
如图3所示,缩小单元可以对目标平滑加权队列深度值Qlen_ave(m)进行缩小处理,即,右移amp位,得到实际使用的加权队列深度值Qlen_ave_used。
其中,丢弃识别单元,是报文处理电路中用于进行丢弃识别处理的电路部分。丢弃识别处理,是判定是否丢弃当前入队的报文的处理。
具体地,丢弃识别单元可以根据实际使用的加权队列深度值,对当前入队的报文进行丢弃识别处理,然后根据丢弃识别处理的识别结果,对需丢弃的报文进行丢弃。
如图3所示,丢弃识别单元可以根据实际使用的加权队列深度值Qlen_ave_used进行丢弃识别处理,若识别结果为不丢弃当前入队的报文,则可以将当前入队的报文的包长加到深度值寄存器中保存的报文队列的深度值中,以更新深度值寄存器中保存的报文队列的深度值。
在一个实施例中,丢弃识别单元可以基于WRED(Weighted Random EarlyDetection,加权随机先期检测)算法,根据实际使用的加权队列深度值,对当前入队的报文进行丢弃识别处理。
其中,WRED算法,是一种将随机先期检测与优先级排队结合起来的报文丢弃算法,这种结合为高优先级分组的报文提供了优先通信处理能力。当某个通信接口开始出现拥塞时,可以有选择地丢弃较低优先级的报文,而不是简单地随机丢弃报文。
在一个实施例中,计算机设备还可以根据报文处理电路每一次得到的实际使用的加权队列深度值,生成网络流量统计图。用户可以根据网络流量统计图,观察网络流量变化趋势。可以理解,根据实际使用的加权队列深度值生成的网络流量统计图能够平滑地反映网络流量的整体变化趋势,而不是反映网络流量的实时变化的动态,不会受到每次的报文队列的深度值突变的影响而变得锐利,因此,更加适用于进行网络流量统计的场景。
平滑加权队列深度值计算单元22包括深度值寄存器222、放大处理单元224和加权平滑单元226,其中:
深度值寄存器222,用于保存当次更新前报文队列的深度值。
其中,深度值寄存器,是报文处理电路中用于保存报文队列的深度值的寄存器。报文队列的深度值,用于表征报文队列的缓存占用量,是报文队列中缓存的全部报文的包长总和。
在一个实施例中,如图3所示,在每次有报文入队时,丢弃识别单元根据实际使用的加权队列深度值进行丢弃识别处理,以确定是否丢弃当前入队的报文。若确定不丢弃当前入队的报文,则将当前入队的报文的包长加到深度值寄存器中保存的报文队列的深度值上,以更新深度值寄存器中保存的报文队列的深度值。若确定丢弃当前入队的报文,则对当前入队的报文进行丢弃处理,且不更新深度值寄存器中保存的报文队列的深度值。
在一个实施例中,如图3所示,在每次有报文出队时,将深度值寄存器中保存的报文队列的深度值减去当前出队的报文的包长,以更新深度值寄存器中保存的报文队列的深度值。
放大处理单元224,用于对深度值寄存器中的深度值进行放大处理。
其中,放大处理单元224,是报文处理电路中用于进行放大处理的电路部分。放大处理,是将对象进行放大的处理。
在一个实施例中,报文处理电路是数字电路,放大处理单元可以用左移电路来实现,放大处理可以是数字电路中的左移的移位运算。其中,左移电路,是用于执行数字电路中的左移的移位运算的电路。
例如:放大处理单元可以将深度值寄存器中的深度值左移amp位,相当于将深度值寄存器中的深度值乘以2amp,即,将深度值寄存器中的深度值放大2amp倍。其中,amp是常数,amp可以根据实际想要放大的程度进行设置。如图3所示,定时(即,根据预设的时间间隔)触发将深度值寄存器中的深度值Qnow输入至放大处理单元中,放大处理单元可以对深度值寄存器中的深度值进行放大处理,即,左移amp位。
加权平滑单元226,用于根据上一次平滑处理后的加权队列深度值和放大处理后的深度值,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值。
其中,当前入队的报文的入队时间处于第一更新时间和第二更新时间之间,第一更新时间为获得更新后的平滑加权队列深度值对应的更新时间,第二更新时间为第一更新时间加上预设的时间间隔后对应的时间。即,平滑加权队列深度值是根据预设的时间间隔进行更新的,在两次(即,前次和后次)更新平滑加权队列深度值之间的这段时间内入队的报文,都是按照前次已更新的平滑加权队列深度值来进行丢弃识别处理的。
加权平滑单元,是报文处理电路中用于进行平滑处理的电路部分。平滑处理,是指计算加权队列深度值的处理。在一个实施例中,加权平滑单元可以根据放大处理后的深度值与上一次平滑处理后的加权队列深度值确定深度差值,对所述深度差值进行加权处理,将加权处理后的深度差值与所述上一次平滑处理后的加权队列深度值进行相加,得到当次平滑处理后的加权队列深度值,所述当次平滑处理后的加权队列深度值为当次更新后的平滑加权队列深度值。
可以理解,因为数字电路在运算时会抹除末尾小数,所以,将报文队列的深度值进行放大处理后再进行平滑处理,能够避免将短包报文带来的深度值变化抹除掉,即使是连续的很短包长的报文引起的深度值变化,也能累积到最终的平滑加权队列深度值中,提高了准确性。
上述报文处理电路,加权平滑单元根据上一次平滑处理后的加权队列深度值和放大处理后的深度值,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值,使得更新后的平滑加权队列深度值的变化相较于报文队列的深度值的变化而言更加平滑,从而使得更新后的平滑加权队列深度值不会因长包报文而发生突变。先通过放大处理单元对深度值寄存器中的深度值进行放大处理,再通过加权平滑单元进行处理,避免了短包报文引起的报文队列的深度值的变化因被平滑掉而未被积累在更新后的平滑加权队列深度值中,提高了平滑加权队列深度值计算单元的更新计算的平滑加权队列深度值的准确性。当报文队列中有报文入队时,缩小单元从更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值,因为平滑加权队列深度值不会因长包报文而发生突变且比较准确,所以实际使用的加权队列深度值也不会因长包报文而发生突变且比较准确。丢弃识别单元根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理,因为实际使用的加权队列深度值不会因长包报文而发生突变,所以避免了根据报文队列的深度值进行报文丢弃而容易丢弃长包报文的问题,提高了报文丢弃的准确性。因为避免了短包报文引起的报文队列深度值的变化因被平滑掉而未被积累在平滑加权队列深度值中,提高了平滑加权队列深度值的准确性,进而使得实际使用的加权队列深度值更加准确,根据更加准确的实际使用的加权队列深度值进行报文丢弃,进一步提高了报文丢弃的准确性。
此外,利用数字电路中的移位运算来进行处理,能够提高处理效率和资源使用量,只需消耗很少的资源就能实现报文丢弃识别,因此,提高了报文丢弃效率,降低了报文丢弃的资源占用率。通过调整放大处理的放大系数2amp就能实现对短包报文的累积效应的调整,提高了最终得到的实际使用的加权队列深度值的可控性。根据预设的时间间隔对平滑加权队列深度值进行更新计算,在第一更新时间和第二更新时间之间每次有报文入队时获取平滑加权队列深度值进行丢弃识别,使得平滑加权队列深度值的计算与使用是分隔开的,可以根据实际需求对预设时间间隔可以进行设置,可长可短,提高了实际应用过程中的灵活性。
为更加直观地说明本申请各实施例中的报文处理电路的效果,下面举例进行说明:
例如:假设报文队列的深度值从0开始,每次递增2,直至增加到100,再从100开始,每次递减2,直至减小到2,放大系数设置为210,权重系数设置为2-6。如图4所示,402表示该例中报文队列的深度值的变化情况。404表示采用本申请各实施例中的报文处理方法得到实际使用的加权队列深度值的变化情况。406表示传统方法中不对报文队列的深度值进行放大处理直接得到的加权深度值的变化情况。可以明显看出,404相较于402而言更加平滑,避免了长包报文引起的突变。406相较于402而言虽然也进行了一定程度的平滑,但是没有将短包报文引起的报文队列的深度值变化累积进去,导致406相较于404而言不够平滑,而且丢失了一些信息。
再例如:假设队列深度从0开始,每次递增2,直至增加到100,再从100开始,每次递减2,直至减小到2,放大系数设置为210,权重系数设置为2-3。如图5所示,502表示该例中报文队列的深度值的变化情况。504表示采用本申请各实施例中的报文处理电路得到实际使用的加权队列深度值的变化情况。506表示不对深度值进行放大处理直接得到的加权深度值的变化情况。可以看出,506相较于502而言更加平滑,避免了长包报文引起的突变。通过图5中的局部放大图可以看出,506相较于506而言不够平滑,因为没有将短包报文引起的队列深度变化累积进去,丢弃了一些信息。
根据上述两个例子可知,本申请各实施例中通过报文处理电路中的加权平滑单元根据上一次平滑处理后的加权队列深度值和报文队列的深度值得到平滑加权队列深度值,使得平滑加权队列深度值的变化相较于报文队列的深度值的变化而言更加平滑,从而使得实际使用的加权队列深度值不会因长包报文而发生突变。通过报文处理电路中的放大处理单元对报文队列的深度值进行放大处理后再通过加权平滑单元进行处理,避免了短包报文引起的队列深度的变化因被平滑掉而未被积累在实际使用的加权队列深度中,考虑了短包报文的累积效应,提高了实际使用的加权队列深度值的准确性,从而提高了报文丢弃的准确性。
在一个实施例中,如图6所示,加权平滑单元226包括:减法单元2262、加权处理单元2264和加法单元2266,其中:
减法单元2262,用于根据放大处理后的深度值与上一次平滑处理后的加权队列深度值确定深度差值。
其中,减法单元,是报文处理电路中用于进行减法运算的电路部分。减法运算,是指将两个对象进行相减的处理。
具体地,减法单元可以将放大处理后的深度值与上一次平滑处理后的加权队列深度值进行减法运算,得到深度差值。
在一个实施例中,如图3所示,上一次平滑处理后的加权队列深度值Qlen_ave(n-1)可以输入至减法单元,减法单元可以将放大处理后的深度值与上一次平滑处理得到的加权队列深度进行减法运算。
可以理解,因为数字电路在运算时会抹除末尾小数,所以,将深度值进行放大处理后再减去上一次平滑处理后的加权队列深度值所得到深度值深度差值,能够避免将短包报文带来的深度值变化抹除掉,即使是连续的很短包长的报文引起的深度值变化,也能累积到最终的实际使用的加权队列深度值中,提高了准确性。
加权处理单元2264,用于对深度差值进行加权处理。
其中,加权处理单元,是报文处理电路中用于进行加权处理的电路部分。加权处理,是将对象乘以权重系数的处理。
具体地,加权处理单元可以将深度值深度差值乘以权重系数,得到加权处理后的深度差值。
在一个实施例中,加权处理可以是对深度差值进行缩小处理。具体地,加权处理单元可以将深度差值乘以用于缩小的权重系数。
加法单元2266,用于将加权处理后的深度差值与上一次平滑处理后的加权队列深度值进行相加,得到当次平滑处理后的加权队列深度值,当次平滑处理后的加权队列深度值为当次更新后的平滑加权队列深度值。
其中,加法单元,是报文处理电路中用于进行加法运算的电路部分。加法运算,是将多个对象相加的处理。
具体地,加法单元可以将加权处理后的深度差值与上一次平滑处理后的加权队列深度值进行加法运算,得到当次平滑处理后的加权队列深度值。
在一个实施例中,平滑加权队列深度值计算单元进行的平滑加权队列深度值的更新计算可以用如下公式来表示:
Qlen_ave(n)=Qlen_ave(n-1)+wgt_p*(Qnow*2amp-Qlen_ave(n-1)); (2)
其中,Qlen_ave(n)表示当次平滑处理后的加权队列深度值,Qlen_ave(n-1)表示上一次平滑处理后的加权队列深度值,n表示当前是第几次的平滑处理,Qnow表示深度值寄存器中的报文队列的深度值,2amp表示对深度值进行放大处理的放大系数,Qnow*2amp表示放大处理后的深度值,amp是常数,Qnow*2amp-Qlen_ave(n-1)表示深度差值,wgt_p表示对深度差值进行加权处理的预设的权重系数。
在一个实施例中,报文处理电路是数字电路,加权处理单元可以用右移电路来实现,加权处理可以是数字电路中的右移的移位运算。
例如:加权处理单元可以将深度差值右移w位,相当于将深度差值乘以2-w的权重系数。即,将公式(2)中的wgt_p设置为2-w。其中,w是常数,w可以根据实际想要进行加权处理的程度进行设置。
如图3所示,加权处理单元可以将深度差值右移w位,上一次平滑处理后的加权队列深度值可以输入至加法单元中,加法单元可以将上一次平滑处理后的加权队列深度值与将深度差值右移后的结果进行相加,得到当次平滑处理后的加权队列深度Qlen_ave(n)。
在一个实施例中,在报文队列的深度值和深度差值皆为零的情况下,报文处理电路中的置零单元可以对当次平滑处理后的加权队列深度值进行置零处理。其中,置零单元,是报文处理电路中用于进行置零处理的电路部分。
在一个实施例中,置零处理可以是直接置零或逐步置零中的任意一种。在一个实施例中,置零单元可以直接将当次平滑处理后的加权队列深度值进行置零。在另一个实施例中,置零单元可以在每次平滑处理后将当次平滑处理后的加权队列深度值进行减小后作为下一次平滑处理时的上一次平滑处理后的加权队列深度值。可以理解,通过每次平滑处理后将当次平滑处理后的加权队列深度值进行减小,可以使得平滑加权队列深度值逐步减小到0,使得实际使用的加权队列深度值的变化更加平缓,而不会发生突变。
上述实施例中,减法单元根据放大处理后的深度值与上一次平滑处理后的加权队列深度值确定深度差值,加权处理单元对深度差值进行加权处理,加法单元将加权处理后的深度差值与上一次平滑处理后的加权队列深度值进行相加得到当次平滑处理后的加权队列深度值,使得最终得到的实际使用的加权队列深度值的变化相较于队列深度的变化而言更加平滑,从而使得实际使用的加权队列深度值不会因长包报文而发生突变。因为实际使用的加权队列深度值不会因长包报文而发生突变,所以避免了根据报文队列的深度值进行报文丢弃而容易丢弃长包报文的问题,提高了报文丢弃的准确性。
在一个实施例中,丢弃识别单元还用于若实际使用的加权队列深度值大于或等于预设上限阈值,则判定需丢弃当前入队的报文;若实际使用的加权队列深度值小于或等于预设下限阈值,则判定不丢弃当前入队的报文;其中,预设上限阈值大于预设下限阈值。
其中,预设上限阈值,是用于判定报文是否必然丢弃的阈值。预设下限阈值,是用于判定报文是否必然不丢弃的阈值。
在一个实施例中,若实际使用的加权队列深度值大于或等于预设上限阈值,则丢弃识别单元可以判定需丢弃进入报文队列的报文,报文丢弃单元可以丢弃进入报文队列的报文。
在一个实施例中,若实际使用的加权队列深度值小于或等于预设下限阈值,则丢弃识别单元可以判定不丢弃进入报文队列的报文,报文丢弃单元不对进入报文队列的报文进行丢弃处理。
在一个实施例中,若实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,则丢弃识别单元可以随机确定是否丢弃进入报文队列的报文。在一个实施例中,丢弃识别单元可以根据实际使用的加权队列深度值,随机确定是否丢弃进入报文队列的报文。
上述实施例中,丢弃识别单元可以根据实际使用的加权队列深度值、预设上限阈值和预设下限阈值,判定是否丢弃进入报文队列的报文,因为实际使用的加权队列深度值不会因长包报文而发生突变,所以避免了根据报文队列的深度值进行报文丢弃而容易丢弃长包报文的问题,提高了报文丢弃的准确性。另外,因为避免了短包报文引起的报文队列的深度值的变化因被平滑掉而未被积累在实际使用的加权队列深度值中,提高了计算的实际使用的加权队列深度值的准确性,根据更加准确的实际使用的加权队列深度值进行报文丢弃,因此进一步提高了报文丢弃的准确性。此外,预设上限阈值和预设下限阈值可以根据实际情况进行设置,进一步提高了报文丢弃的准确性。
在一个实施例中,丢弃识别单元还用于若实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,且满足下式的情况下确定需丢弃当前入队的报文:
(Maxth-Minth)*Random_num<(Qlen_ave_used-Minth)*Maxp; (3)
其中,Maxth为预设上限阈值,Minth为预设下限阈值,Random_num为设定的随机数,Maxp为设定的丢弃概率系数,Qlen_ave_used为实际使用的加权队列深度值。
其中,丢弃概率系数,是预先设置的用于表征丢弃概率的系数。设定的随机数,是在进行丢弃识别处理时随机生成的随机数。
具体地,若实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,则丢弃识别单元可以根据公式(3)确定是否丢弃当前入队的报文。若满足公式(3),则丢弃识别单元可以确定需丢弃当前入队的报文。若不满足公式(3),则丢弃识别单元可以确定不丢弃当前入队的报文。
可以理解,若实际使用的加权队列深度值、丢弃概率系数和设定的随机数的值符合公式(3)所表达的大小关系,则丢弃识别单元可以判定需丢弃当前入队的报文,若不符合公式(3)所表达的大小关系,则丢弃识别单元可以判定不丢弃当前入队的报文。
上述实施例中,若实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,则丢弃识别单元根据公式(3)判定是否丢弃当前入队的报文,从而实现报文的随机丢弃,因为避免了短包报文引起的深度值的变化因被平滑掉而未被积累在实际使用的加权队列深度值中,提高了实际使用的加权队列深度值的准确性,根据更加准确的实际使用的加权队列深度值进行报文的随机丢弃,所以提高了报文丢弃的准确性。此外,预设上限阈值、预设下限阈值和丢弃概率系数可以根据实际情况进行设置,进一步提高了报文丢弃的准确性。
在一个实施例中,放大处理单元进行放大处理的放大系数与缩小单元进行缩小处理的缩小系数相同。
具体地,放大处理单元进行左移的移位运算的位数与缩小单元进行右移的移位运算的位数相同。比如:放大处理单元对报文队列的深度值进行左移amp位,则缩小单元可以对目标平滑加权队列深度值进行右移amp位。
上述实施例中,放大处理单元进行放大处理的放大系数与缩小单元进行缩小处理的缩小系数相同,使得实际使用的加权队列深度值更加符合报文队列的深度值的大小比例,在更加准确地反映报文队列的深度值的大小变化的同时又能避免长包报文的造成的深度值突变的问题。
在一个实施例中,报文处理电路还包括:置零单元,用于在深度值寄存器中的深度值和深度差值皆为零的情况下,将当次平滑处理后的加权队列深度值减去预设常数;将减去预设常数后的结果作为当次更新后的平滑加权队列深度值。
在一个实施例中,预设常数可以根据实际需求进行设置。
在一个实施例中,预设常数可以等于对深度差值进行加权处理的权重系数。
在一个实施例中,在深度值寄存器中的深度值和深度差值皆为零的情况下,置零单元将当次平滑处理后的加权队列深度减去预设常数,可以用如下公式来表示:
Qlen_ave(n)’=Qlen_ave(n)–a,Qnow=0且Δt=0; (4)
其中,Δt=Qnow*2amp-Qlen_ave(n-1)。Qlen_ave(n)表示当次平滑处理后的加权队列深度,Qlen_ave(n-1)表示上一次平滑处理后的加权队列深度值,n表示当前是第几次的平滑处理,Qnow表示深度值寄存器中的深度值,2amp表示对深度值寄存器中的深度值进行放大处理的放大系数,Qlen_ave(n)’表示将当次平滑处理后的加权队列深度减去预设常数后的结果,a表示预设常数。a可以为公式(2)中的wgt_p(权重系数),即a=wgt_p。
可以理解,在没有置零单元的情况下,在深度值寄存器中的深度值为0时,根据公式(2)得到的加权队列深度值将不能归零,而是等于Qlen_ave(n-1)*(1-wgt_p),这样会导致深度值寄存器中的深度值再从0开始增加时,容易引入误差,导致得到的加权队列深度值不准确。因此,在Qnow=0且Qnow*2amp-Qlen_ave(n-1)=0时,将Qlen_ave(n)置零,可以避免引入误差,提高最终得到的实际使用的加权队列深度值的准确性,进而提高报文丢弃准确性。
上述实施例中,通过置零单元在深度值寄存器中的深度值和深度差值皆为零的情况下,将当次平滑处理后的加权队列深度减去预设常数,再将减去预设常数后的结果作为下一次平滑处理时的上一次平滑处理后的加权队列深度值,从而实现了将加权队列深度值平缓地置零,一方面通过置零避免了深度值寄存器中的深度值为0后再从0开始增加时,容易引入误差,导致得到的加权队列深度值不准确的问题,提高了报文丢弃的准确性。另一方面通过每次平滑处理时减去预设常数,可以使得加权队列深度值逐步减小到0,使得实际使用的加权队列深度值的变化更加平缓,而不会发生突变,进一步提高了报文丢弃的准确性。
基于同样的发明构思,本申请实施例还提供了一种使用上述所涉及的报文处理电路的报文处理方法。该方法所提供的解决问题的实现方案与上述电路中所记载的实现方案相似,故下面所提供的一个或多个报文处理方法实施例中的具体限定可以参见上文中对于报文处理电路的限定,在此不再赘述。
在一个实施例中,如图7所示,提供了一种报文处理方法,该方法包括:
步骤702,根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值。
具体地,通过报文处理电路中的平滑加权队列深度值计算单元,根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值。
步骤704,当报文队列中有报文入队时,从更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值。
具体地,当报文队列中有报文入队时,通过报文处理电路中的缩小单元从更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值。
步骤706,根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理。
具体地,通过报文处理电路中的丢弃识别单元根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理。
其中,步骤702根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值具体包括:
步骤7022,对当次更新前的报文队列的深度值进行放大处理。
具体地,平滑加权队列深度值计算单元包括放大处理单元。通过放大处理单元对当次更新前的报文队列的深度值进行放大处理。
具体地,平滑加权队列深度值计算单元还包括深度值寄存器。通过深度值寄存器保存当次更新前报文队列的深度值,通过放大处理单元对深度值寄存器中的深度值进行放大处理。
步骤7024,根据上一次平滑处理后的加权队列深度值和放大处理后的深度值得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值。
具体地,平滑加权队列深度值计算单元还包括加权平滑单元。通过加权平滑单元根据上一次平滑处理后的加权队列深度值和放大处理后的深度值得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值。
其中,当前入队的报文的入队时间处于第一更新时间和第二更新时间之间,第一更新时间为获得更新后的平滑加权队列深度值对应的更新时间,第二更新时间为第一更新时间加上预设的时间间隔后对应的时间。
在一个实施例中,根据上一次平滑处理后的加权队列深度值和放大处理后的深度值得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值包括:根据放大处理后的深度值与上一次平滑处理后的加权队列深度值确定深度差值;对深度差值进行加权处理;将加权处理后的深度差值与上一次平滑处理后的加权队列深度值进行相加,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值。
具体地,加权平滑单元包括减法单元、加权处理单元和加法单元。通过减法单元根据放大处理后的深度值与上一次平滑处理后的加权队列深度值确定深度差值。通过加权处理单元对深度差值进行加权处理。通过加法单元将加权处理后的深度差值与上一次平滑处理后的加权队列深度值进行相加,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值。
在一个实施例中,根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理包括:若实际使用的加权队列深度值大于或等于预设上限阈值,则判定需丢弃当前入队的报文;若实际使用的加权队列深度值小于或等于预设下限阈值,则判定不丢弃当前入队的报文;其中,预设上限阈值大于预设下限阈值。
具体地,若实际使用的加权队列深度值大于或等于预设上限阈值,则通过丢弃识别单元判定需丢弃当前入队的报文。若实际使用的加权队列深度值小于或等于预设下限阈值,则通过丢弃识别单元判定不丢弃当前入队的报文。
在一个实施例中,根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理包括:若实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,且满足公式(3)的情况下确定需丢弃当前入队的报文。
具体地,若实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,且满足公式(3)的情况下,通过丢弃识别单元确定需丢弃当前入队的报文。
在一个实施例中,放大处理的放大系数与缩小处理的缩小系数相同。
在一个实施例中,该方法还包括:在当次更新前的报文队列的深度值和深度差值皆为零的情况下,将当次平滑处理后的加权队列深度值减去预设常数;将减去预设常数后的结果作为当次更新后的平滑加权队列深度值。
具体地,报文处理电路还包括置零单元。在当次更新前的报文队列的深度值和深度差值皆为零的情况下,通过置零单元将当次平滑处理后的加权队列深度值减去预设常数;将减去预设常数后的结果作为当次更新后的平滑加权队列深度值。
具体地,在深度值寄存器中的深度值和深度差值皆为零的情况下,通过置零单元将当次平滑处理后的加权队列深度值减去预设常数;将减去预设常数后的结果作为当次更新后的平滑加权队列深度值。
上述报文处理方法,根据上一次平滑处理后的加权队列深度值和放大处理后的深度值,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值,使得更新后的平滑加权队列深度值的变化相较于报文队列的深度值的变化而言更加平滑,从而使得更新后的平滑加权队列深度值不会因长包报文而发生突变。先对深度值寄存器中的深度值进行放大处理,再进行平滑处理,避免了短包报文引起的报文队列的深度值的变化因被平滑掉而未被积累在更新后的平滑加权队列深度值中,提高了更新计算的平滑加权队列深度值的准确性。当报文队列中有报文入队时,从更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值,因为平滑加权队列深度值不会因长包报文而发生突变且比较准确,所以实际使用的加权队列深度值也不会因长包报文而发生突变且比较准确。根据实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理,因为实际使用的加权队列深度值不会因长包报文而发生突变,所以避免了根据报文队列的深度值进行报文丢弃而容易丢弃长包报文的问题,提高了报文丢弃的准确性。因为避免了短包报文引起的报文队列深度值的变化因被平滑掉而未被积累在平滑加权队列深度值中,提高了平滑加权队列深度值的准确性,进而使得实际使用的加权队列深度值更加准确,根据更加准确的实际使用的加权队列深度值进行报文丢弃,进一步提高了报文丢弃的准确性。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,提供了一种报文处理芯片,该芯片包括本申请各实施例中的报文处理电路,该报文处理芯片可以是DPU(Data Processing Unit,数据处理单元)芯片。
在一个实施例中,提供了一种计算机设备,该计算机设备包括报文处理芯片,该计算机设备可以是装有DPU芯片的服务器。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种报文处理方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (14)
1.一种报文处理电路,其特征在于,所述电路包括:平滑加权队列深度值计算单元、缩小单元和丢弃识别单元,其中:
所述平滑加权队列深度值计算单元用于根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值;
所述缩小单元用于当报文队列中有报文入队时,从所述更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对所述目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值;
所述丢弃识别单元,用于根据所述实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理;
其中,所述平滑加权队列深度值计算单元包括深度值寄存器、放大处理单元和加权平滑单元,
所述深度值寄存器,用于保存当次更新前所述报文队列的深度值;
所述放大处理单元,用于对所述深度值寄存器中的深度值进行放大处理;
所述加权平滑单元,用于根据上一次平滑处理后的加权队列深度值和放大处理后的深度值,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值;
其中,所述当前入队的报文的入队时间处于第一更新时间和第二更新时间之间,所述第一更新时间为获得所述更新后的平滑加权队列深度值对应的更新时间,所述第二更新时间为所述第一更新时间加上所述预设的时间间隔后对应的时间。
2.根据权利要求1所述的电路,其特征在于,所述加权平滑单元包括:减法单元、加权处理单元和加法单元,其中:
所述减法单元,用于根据放大处理后的深度值与上一次平滑处理后的加权队列深度值确定深度差值;
所述加权处理单元,用于对所述深度差值进行加权处理;
所述加法单元,用于将加权处理后的深度差值与所述上一次平滑处理后的加权队列深度值进行相加,得到当次平滑处理后的加权队列深度值,所述当次平滑处理后的加权队列深度值为当次更新后的平滑加权队列深度值。
3.根据权利要求1所述的电路,其特征在于,所述丢弃识别单元还用于若所述实际使用的加权队列深度值大于或等于预设上限阈值,则判定需丢弃当前入队的报文;若所述实际使用的加权队列深度值小于或等于预设下限阈值,则判定不丢弃当前入队的报文;其中,所述预设上限阈值大于所述预设下限阈值。
4.根据权利要求1所述的电路,其特征在于,所述丢弃识别单元还用于若所述实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,且满足下式的情况下确定需丢弃当前入队的报文;
(Maxth-Minth)*Random_num<(Qlen_ave_used-Minth)*Maxp;
其中,Maxth为所述预设上限阈值,Minth为所述预设下限阈值,Random_num为设定的随机数,Maxp为设定的丢弃概率系数,Qlen_ave_used为实际使用的加权队列深度值。
5.根据权利要求1所述的电路,其特征在于,所述放大处理单元进行放大处理的放大系数与所述缩小单元进行缩小处理的缩小系数相同。
6.根据权利要求2所述的电路,其特征在于,所述报文处理电路还包括:
置零单元,用于在所述深度值寄存器中的深度值和所述深度差值皆为零的情况下,将所述当次平滑处理后的加权队列深度值减去预设常数;将减去预设常数后的结果作为当次更新后的平滑加权队列深度值。
7.一种报文处理方法,其特征在于,所述方法包括:
根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值;
当报文队列中有报文入队时,从所述更新后的平滑加权队列深度值中确定目标平滑加权队列深度值,并对所述目标平滑加权队列深度值进行缩小处理,获得实际使用的加权队列深度值;
根据所述实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理;
其中,所述根据预设的时间间隔进行平滑加权队列深度值的更新计算,获得更新后的平滑加权队列深度值具体包括:
对当次更新前的报文队列的深度值进行放大处理;
根据上一次平滑处理后的加权队列深度值和放大处理后的深度值得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值;
其中,所述当前入队的报文的入队时间处于第一更新时间和第二更新时间之间,所述第一更新时间为获得所述更新后的平滑加权队列深度值对应的更新时间,所述第二更新时间为所述第一更新时间加上所述预设的时间间隔后对应的时间。
8.根据权利要求7所述的方法,其特征在于,所述根据上一次平滑处理后的加权队列深度值和放大处理后的深度值得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值包括:
根据放大处理后的深度值与上一次平滑处理后的加权队列深度值确定深度差值;
对所述深度差值进行加权处理;
将加权处理后的深度差值与所述上一次平滑处理后的加权队列深度值进行相加,得到当次平滑处理后的加权队列深度值作为当次更新后的平滑加权队列深度值。
9.根据权利要求7所述的方法,其特征在于,所述根据所述实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理包括:
若所述实际使用的加权队列深度值大于或等于预设上限阈值,则判定需丢弃当前入队的报文;
若所述实际使用的加权队列深度值小于或等于预设下限阈值,则判定不丢弃当前入队的报文;
其中,所述预设上限阈值大于所述预设下限阈值。
10.根据权利要求7所述的方法,其特征在于,所述根据所述实际使用的加权队列深度值对当前入队的报文进行丢弃识别处理包括:
若所述实际使用的加权队列深度值大于预设下限阈值且小于预设上限阈值,且满足下式的情况下确定需丢弃当前入队的报文;
(Maxth-Minth)*Random_num<(Qlen_ave_used-Minth)*Maxp;
其中,Maxth为所述预设上限阈值,Minth为所述预设下限阈值,Random_num为设定的随机数,Maxp为设定的丢弃概率系数,Qlen_ave_used为实际使用的加权队列深度值。
11.根据权利要求7所述的方法,其特征在于,所述放大处理的放大系数与所述缩小处理的缩小系数相同。
12.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述当次更新前的报文队列的深度值和所述深度差值皆为零的情况下,将所述当次平滑处理后的加权队列深度值减去预设常数;
将减去预设常数后的结果作为当次更新后的平滑加权队列深度值。
13.一种报文处理芯片,其特征在于,所述芯片包括权利要求1至6中任一项所述的报文处理电路。
14.一种计算机设备,其特征在于,所述计算机设备包括权利要求13所述的报文处理芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210932817.7A CN115277591B (zh) | 2022-08-04 | 2022-08-04 | 报文处理电路、方法、芯片和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210932817.7A CN115277591B (zh) | 2022-08-04 | 2022-08-04 | 报文处理电路、方法、芯片和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115277591A true CN115277591A (zh) | 2022-11-01 |
CN115277591B CN115277591B (zh) | 2023-11-07 |
Family
ID=83749818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210932817.7A Active CN115277591B (zh) | 2022-08-04 | 2022-08-04 | 报文处理电路、方法、芯片和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115277591B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549508A (zh) * | 2003-05-09 | 2004-11-24 | ��Ϊ��������˾ | 一种系统流量控制方法 |
CN101984608A (zh) * | 2010-11-18 | 2011-03-09 | 中兴通讯股份有限公司 | 报文拥塞避免方法及系统 |
CN102629910A (zh) * | 2012-02-14 | 2012-08-08 | 中兴通讯股份有限公司 | 一种基于加权随机早期检测的拥塞避免方法和系统 |
CN105573608A (zh) * | 2014-10-11 | 2016-05-11 | 乐视致新电子科技(天津)有限公司 | 一种对人机交互中的操作状态进行显示的方法及装置 |
CN110544307A (zh) * | 2019-08-29 | 2019-12-06 | 广州高新兴机器人有限公司 | 基于卷积神经网络的语义地图构建方法及计算机存储介质 |
CN112102171A (zh) * | 2020-09-18 | 2020-12-18 | 贝壳技术有限公司 | 图像处理方法、装置、计算机可读存储介质及电子设备 |
CN113835611A (zh) * | 2020-06-23 | 2021-12-24 | 深圳市中兴微电子技术有限公司 | 存储调度方法、设备和存储介质 |
-
2022
- 2022-08-04 CN CN202210932817.7A patent/CN115277591B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1549508A (zh) * | 2003-05-09 | 2004-11-24 | ��Ϊ��������˾ | 一种系统流量控制方法 |
CN101984608A (zh) * | 2010-11-18 | 2011-03-09 | 中兴通讯股份有限公司 | 报文拥塞避免方法及系统 |
CN102629910A (zh) * | 2012-02-14 | 2012-08-08 | 中兴通讯股份有限公司 | 一种基于加权随机早期检测的拥塞避免方法和系统 |
CN105573608A (zh) * | 2014-10-11 | 2016-05-11 | 乐视致新电子科技(天津)有限公司 | 一种对人机交互中的操作状态进行显示的方法及装置 |
CN110544307A (zh) * | 2019-08-29 | 2019-12-06 | 广州高新兴机器人有限公司 | 基于卷积神经网络的语义地图构建方法及计算机存储介质 |
CN113835611A (zh) * | 2020-06-23 | 2021-12-24 | 深圳市中兴微电子技术有限公司 | 存储调度方法、设备和存储介质 |
CN112102171A (zh) * | 2020-09-18 | 2020-12-18 | 贝壳技术有限公司 | 图像处理方法、装置、计算机可读存储介质及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN115277591B (zh) | 2023-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111262795A (zh) | 基于服务接口的限流方法、装置、电子设备及存储介质 | |
EP4175232A1 (en) | Congestion control method and device | |
US7324535B1 (en) | Methods and apparatus for maintaining a queue | |
CN111049756A (zh) | 请求响应方法、装置、电子设备及计算机可读存储介质 | |
CN111245732B (zh) | 一种流量控制方法、装置及设备 | |
CN112131005B (zh) | 一种资源调整策略确定方法和装置 | |
US10177997B1 (en) | Method and apparatus for packet and byte counting | |
CN107528789A (zh) | 报文调度方法及装置 | |
Hanczewski et al. | Queueing model of a multi-service system with elastic and adaptive traffic | |
CN109815004A (zh) | 请求负载控制方法、装置、存储介质和计算机设备 | |
CN116610702A (zh) | 一种时间切片方法、装置及电子设备 | |
CN115277591B (zh) | 报文处理电路、方法、芯片和计算机设备 | |
US9998347B2 (en) | Monitoring device usage | |
US9537740B2 (en) | Monitoring device usage | |
US9292338B2 (en) | Scheduling event streams depending on content information data | |
WO2018090573A1 (zh) | 缓存空间的管理方法和装置、电子设备和存储介质 | |
CN112073325B (zh) | 数据拥塞控制及带宽预估方法 | |
Chydzinski et al. | Queues with the dropping function and general service time | |
CN114443246A (zh) | 智能调度方法、装置、设备及计算机可读存储介质 | |
JP3474259B2 (ja) | 通信制御装置 | |
JP4081552B2 (ja) | 断片的自己相似過程を用いる通信トラヒックの評価方法及び評価装置 | |
CN110768915A (zh) | 一种分流方法及装置 | |
EP2783489B1 (en) | An apparatus and a method for providing a random early detection in a packet switched network | |
WO2024066257A1 (zh) | 存储调度方法、装置、设备及计算机可读存储介质 | |
US10324868B2 (en) | Counter with reduced memory access |
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 |