CN114338564B - 一种流量传输的控制方法和装置、存储介质及电子装置 - Google Patents
一种流量传输的控制方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN114338564B CN114338564B CN202111649811.0A CN202111649811A CN114338564B CN 114338564 B CN114338564 B CN 114338564B CN 202111649811 A CN202111649811 A CN 202111649811A CN 114338564 B CN114338564 B CN 114338564B
- Authority
- CN
- China
- Prior art keywords
- buffer
- buffer area
- stop
- sending
- transmission
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 45
- 239000000872 buffer Substances 0.000 claims abstract description 407
- 230000003139 buffering effect Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000011144 upstream manufacturing Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本申请公开了一种流量传输的控制方法和装置、存储介质及电子装置,其中,上述方法包括:对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测;在确定第一缓存参数触发了第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令;在确定第二缓存参数触发了第二缓存区对应的停止接收条件的情况下,控制第二缓存区停止接收非已知单播流量,其中,第二缓存区被设置为不允许触发第二缓存区对应的第二停止发送条件。通过本申请,解决了相关技术中,发送设备的通信资源的使用效率较低等问题。
Description
技术领域
本申请涉及通信领域,具体而言,涉及一种流量传输的控制方法和装置、存储介质及电子装置。
背景技术
在以太网数据的传输过程中,转发设备通过缓存区对发送设备发送的流量进行缓存处理,但是对于用户层面,不同类型的流量对应的流重要性不同,但是,目前发送设备的缓存区在对不同流量进行缓存操作的过程中,执行形同的缓存操作流程。忽略了不同种类的流量在流量重要性方面的差异,导致在系统处理流量缓存操作的过程中,发送设备的通信资源的使用效率较低的问题。
发明内容
本申请实施例提供了一种流量传输的控制方法和装置、存储介质及电子装置,以至少解决相关技术中发送设备的通信资源的使用效率较低的问题。
根据本申请实施例的一个方面,提供了一种流量传输的控制方法,包括:对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,所述第一缓存区用于对所述转发设备接收到的已知单播流量进行缓存,所述第二缓存区用于对所述转发设备接收到的非已知单播流量进行缓存;在确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,所述停止发送指令用于指示所述发送设备停止向所述转发设备发送已知单播流量;在确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件的情况下,控制所述第二缓存区停止接收非已知单播流量,其中,所述第二缓存区被设置为不允许触发所述第二缓存区对应的第二停止发送条件。
可选的,所述确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件,包括:
检测所述第一缓存参数所包括的第一数据量是否达到第一停止发送量,其中,所述第一数据量用于指示所述第一缓存区内所缓存的已知单播流量的数据量;
在检测到所述第一数据量达到所述第一停止发送量的情况下,确定所述第一缓存参数触发了所述第一停止发送条件。
可选的,所述向发送设备发送停止发送指令,包括:
将第一初始pause帧使能,得到第一目标pause帧;
向所述发送设备发送所述第一目标pause帧,其中,所述停止发送指令包括所述第一目标pause帧。
可选的,在所述向所述发送设备发送所述目标pause帧之后,所述方法还包括:
在检测到所述第一数据量从所述第一停止发送量下降至允许发送量的情况下,将第二初始pause帧去使能,得到第二目标pause帧;
向所述发送设备发送所述第二目标pause帧,其中,所述第二目标pause帧用于指示允许所述发送设备继续发送已知单播流量。
可选的,所述确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件,包括:
检测所述第二缓存参数所包括的第二数据量是否达到停止接收量,其中,所述第二数据量用于指示所述第二缓存区内所缓存的非已知单播流量的数据量;
在检测到所述第二数据量达到所述停止接收量的情况下,确定所述第二缓存参数触发了所述停止接收条件。
可选的,所述控制所述第二缓存区停止接收非已知单播流量,包括:
截获向所述第二缓存区发送的非已知单播流量;
对截获的非已知单播流量进行丢弃。
可选的,其特征在于,在所述向发送设备发送停止发送指令,和,所述控制所述第二缓存区停止接收非已知单播流量之前,所述方法还包括:
为所述第一缓存区和所述第二缓存区设置停止发送范围,其中,所述停止发送范围的上限值用于指示在缓存区的数据量达到所述上限值的情况下向所述发送设备发送所述停止发送指令,所述停止发送范围的下限值用于指示在缓存区的数据量从所述上限值下降到所述下限值的情况下向所述发送设备发送允许发送指令,所述允许发送指令用于指示允许所述发送设备继续向所述转发设备发送已知单播流量;
从所述上限值与所述下限值之间获取第一数值作为所述第二缓存区的停止接收量,并获取大于所述上限值的第二数值作为所述第一缓存区的停止接收量,其中,所述停止接收量用于指示在缓存区的数据量达到所述停止接收量的情况下缓存区停止接收非已知单播流量。
根据本发明实施例的另一个实施例,还提供了一种流量传输的控制装置,包括:检测模块,用于对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,所述第一缓存区用于对所述转发设备接收到的已知单播流量进行缓存,所述第二缓存区用于对所述转发设备接收到的非已知单播流量进行缓存;
第一发送模块,用于在确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,所述停止发送指令用于指示所述发送设备停止向所述转发设备发送已知单播流量;
控制模块,用于在确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件的情况下,控制所述第二缓存区停止接收非已知单播流量,其中,所述第二缓存区被设置为不允许触发所述第二缓存区对应的第二停止发送条件。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述一种流量传输的控制方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,上述处理器通过计算机程序执行上述的一种流量传输的控制方法。
在本申请实施例中,对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,第一缓存区用于对转发设备接收到的已知单播流量进行缓存,第二缓存区用于对转发设备接收到的非已知单播流量进行缓存;在确定第一缓存参数触发了第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,停止发送指令用于指示发送设备停止向转发设备发送已知单播流量;在确定第二缓存参数触发了第二缓存区对应的停止接收条件的情况下,控制第二缓存区停止接收非已知单播流量,其中,第二缓存区被设置为不允许触发第二缓存区对应的第二停止发送条件,即,转发设备的缓存区对从发送设备接收到的流量进行缓存处理,其中,通过第一缓存区缓存已知单播流量,通过第二缓存区缓存非已知单播流量,对第一缓存区和第二缓存区设置不同的缓存操作,第一缓存区的操作为:第一缓存区在触发第一停止发送条件的情况下,向发送设备发送停止发送指令来指示发送设备停止向转发设备发送已知单播流量;第二缓存区的操作为:第二缓存区在触发停止接收条件的情况下,控制第二缓存区停止接收非已知单播流量,其中,第二缓存区被设置为不允许触发第二缓存区对应的第二停止发送条件,通过上述对第一缓存区和第二缓存区设置不同的缓存操作,实现仅允许已知单播流量触发停止发送指令来指示发送设备停止向转发设备发送已知单播流量,采用上述技术方案,解决了相关技术中,发送设备的通信资源的使用效率较低等问题,实现了提高发送设备的通信资源的使用效率的技术效果。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例的一种流量传输的控制方法的计算机终端的硬件结构框图;
图2是根据本发明实施例的一种流量传输的控制方法的流程图;
图3是根据本发明实施例的第一停止发送量的示意图;
图4是根据本发明实施例的第一缓存区的数据量的示意图;
图5是根据本发明实施例的第二缓存区的数据量的示意图;
图6是根据本发明实施例的一种已知单播流量和非已知单播流量分流的示意图;
图7是根据本发明实施例的一种流量传输的控制装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例所提供的方法实施例可以在计算机终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本发明实施例的一种流量传输的控制方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的一种流量传输的控制方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种流量传输的控制方法,应用于上述计算机终端,图2是根据本发明实施例的一种流量传输的控制方法的流程图,该流程包括如下步骤:
步骤S202,对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,所述第一缓存区用于对所述转发设备接收到的已知单播流量进行缓存,所述第二缓存区用于对所述转发设备接收到的非已知单播流量进行缓存;
步骤S204,在确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,所述停止发送指令用于指示所述发送设备停止向所述转发设备发送已知单播流量;
步骤S206,在确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件的情况下,控制所述第二缓存区停止接收非已知单播流量,其中,所述第二缓存区被设置为不允许触发所述第二缓存区对应的第二停止发送条件。
通过上述步骤,转发设备的缓存区对从发送设备接收到的流量进行缓存处理,其中,通过第一缓存区缓存已知单播流量,通过第二缓存区缓存非已知单播流量,对第一缓存区和第二缓存区设置不同的缓存操作,第一缓存区的操作为:第一缓存区在触发第一停止发送条件的情况下,向发送设备发送停止发送指令来指示发送设备停止向转发设备发送已知单播流量;第二缓存区的操作为:第二缓存区在触发停止接收条件的情况下,控制第二缓存区停止接收非已知单播流量,其中,第二缓存区被设置为不允许触发第二缓存区对应的第二停止发送条件,通过上述对第一缓存区和第二缓存区设置不同的缓存操作,实现仅允许已知单播流量触发停止发送指令来指示发送设备停止向转发设备发送已知单播流量,采用上述技术方案,解决了相关技术中,发送设备的通信资源的使用效率较低等问题,实现了提高发送设备的通信资源的使用效率的技术效果。
在上述步骤S202提供的技术方案中,对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,第一缓存区用于对转发设备接收到的已知单播流量进行缓存,第二缓存区用于对转发设备接收到的非已知单播流量进行缓存。也就是说已知单播流量和非已知单播流量可以但不限于通过不同的缓存区进行缓存处理,不同的缓存区可以但不限于对应不同的缓存操作流程。通过以上设置,可以实现对已知单播流量和非已知单播流量划分进入不同的缓存区,然后可以但不限于在各自独立的不同的缓存区中执行对应的缓存操作。
可选地,在本实施例中,已知单播流量(known unicast)可以但不限于指在一个发送者和一个接受者之间通过网络进行的通信的流量,其中,已知单播在传输中不会复制,流量在转发的过程中永远只有一份。
可选地,在本实施例中,非已知单播流量可以但不限于包括:未知单播(unknownunicast)、已知组播(known multicast)、未知组播(unknown multicast)和广播(broadcast),其中,非已知单播流量在传输中会复制成多份,也就是说,非已知单播流量的一对多的模式,相对于已知单播流量一对一的模式,转发优先级会较低。
可选地,在本实施例中,第一缓存区和第二缓存区可以但不限于为任何具备缓存数据功能的设备,流量传输双方在通信的时候,流量发送方的速率与流量接收方的速率不一定相等,如果流量发送方的发送速率太快,会导致流量接收方处理不过来,这时候流量接收方可以把处理不过来的数据存在缓存区里(失序的数据包也会被存放在缓存区里)。
可选地,在本实施例中,第一缓存参数和第二缓存参数可以但不限于为任何指示对应的缓存区使用情况的参数,设置方式可以但不限于为以下之一:
方式一,将当前对应的缓存区中缓存的数据量设置为对应的缓存参数。
方式二,将对应的缓存区的缓存区容量占用率设置为对应的缓存参数,其中,容量占用率指当前缓存区的数据量和缓存区的总容量比值。
方式三,将对应的缓存区的缓存区剩余容量设置为对应的缓存参数,其中剩余容量指缓存区的总容量和当前缓存区的数据量的差。
方式四,将对应的缓存区的缓存区的剩余容量占比率设置为对应的缓存参数,其中剩余容量占比率指当前缓存区的剩余容量和缓存区的总容量比值。
在上述步骤S204提供的技术方案中,在确定第一缓存参数触发了第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,停止发送指令用于指示发送设备停止向转发设备发送已知单播流量,也就是说可以但不限于在第一缓存参数达到一个阈值的情况下,向上游的发送设备停止向所述转发设备发送已知单播流量,比如:在第一缓存参数为缓存区中缓存的数据量的情况下,当缓存区中缓存的数据量上涨大于预先设置的第一阈值,即确定为触发了第一缓存区对应的第一停止发送条件,向发送设备发送停止发送指令,指示发送设备停止向转发设备发送已知单播流量。
可选地,在本实施例中,第一停止发送条件可以但不限于是基于第一缓存参数预先设置的参数阈值,比如:在将当前对应的缓存区中缓存的数据量设置为对应的缓存参数的情况下,第一停止发送条件可以但不限于为缓存的数据量大于或者等于预先设置的最大缓存阈值。
可选地,在本实施例中,停止发送指令可以但不限于指任何可以指示发送设备停止向所述转发设备发送已知单播流量的指令,可以但不限于为pause帧。
可选地,在本实施例中,发送设备可以但不限于为任何具备数据发送能力的设备,比如:通用型服务器和专用型服务器。
在一个示例性实施例中,可以但不限于通过以下方式确定第一缓存参数触发了第一缓存区对应的第一停止发送条件:检测第一缓存参数所包括的第一数据量是否达到第一停止发送量,其中,第一数据量用于指示第一缓存区内所缓存的已知单播流量的数据量;在检测到第一数据量达到第一停止发送量的情况下,确定第一缓存参数触发了第一停止发送条件。
可选地,在本实施例中,第一停止发送量可以但不限于为基于第一缓存参数预先设置的参数阈值,比如:在当前对应的缓存区中缓存的数据量大于或者等于第一停止发送量的情况下,确定第一缓存参数触发了第一停止发送条件。
在一个示例性实施例中,可以但不限于通过以下方式向发送设备发送停止发送指令:将第一初始pause帧使能,得到第一目标pause帧;向发送设备发送第一目标pause帧,其中,停止发送指令包括第一目标pause帧,比如:图3是根据本发明实施例的第一停止发送量的示意图,如图3所示,Xoff Threshold为高位水线,在缓存区流量大于Xoff Threshold的情况下,使能发送的pause帧,代表对方停止发送数据,Xon Threshold为低位水线,在缓存区流量小于Xon Threshold的情况下,去使能发送的pause帧,代表对方可以发送数据代表对方可以发送数据。
可选地,在本实施例中,第一目标pause帧可以但不限于为任何是以太网在全双工模式下,MAC控制子层发出的流量控制帧,当接收FIFO达到阈值时,指示发送设备停止发送报文,其中,上述第一目标pause帧可以但不限于为Xoff pause帧,其可以指示对应的缓存区处于拥塞状态,即缓存区的剩余缓存容量不足,控制发送设备停止向对应的缓存区发送报文。
在一个示例性实施例中,在向发送设备发送目标pause帧之后,可以但不限于还包括:在检测到第一数据量从第一停止发送量下降至允许发送量的情况下,将第二初始pause帧去使能,得到第二目标pause帧;向发送设备发送第二目标pause帧,其中,第二目标pause帧用于指示允许发送设备继续发送已知单播流量。也就是说,图4是根据本发明实施例的第一缓存区的数据量的示意图,如图4所示,配置已知单播缓冲区的丢弃门限值大于Xoff;当设备的缓冲区超过Xoff水线时,设备会发送pause帧给上游设备要求停止发送数据帧,当设备的缓存区的报文被陆续转发并低于Xon水线时,则取消发送pause帧,上游设备继续发包,往复循环,由于已知单播缓存区阈值大于高位水线(Xoff),因此已知单播流量缓存区的上限值为高位水线,因此已知单播流量处于一个动态平衡(可以正常触发pause帧)且不丢弃报文的状态。
可选地,在本实施例中,第二目标pause帧可以但不限于为去使能后的pause帧,用于指示发送设备继续向对应的缓存区发送报文,其中,上述第二目标pause帧可以但不限于为Xon pause帧,可以指示对应的缓存区处于空闲状态,即缓存区的剩余缓存容量充足,控制发送设备继续向对应的缓存区发送报文。
在上述步骤S204提供的技术方案中,在确定第二缓存参数触发了第二缓存区对应的停止接收条件的情况下,控制第二缓存区停止接收非已知单播流量,其中,第二缓存区被设置为不允许触发第二缓存区对应的第二停止发送条件。也就是说,图5是根据本发明实施例的第二缓存区的数据量的示意图,如图5所示,配置非已知单播缓冲区的丢弃门限值介于Xon和Xoff之间,因此非已知单播缓存区的上限值为非已知单播缓存区阈值,非已知单播缓存区一旦超过缓存区阈值,非已知单播报文便会被丢弃,因此永远没有机会触发使能pause帧(Xoff pause帧)的条件,即发送设备不会停止发送数据。
可选地,在本实施例中,控制第二缓存区停止接收非已知单播流量可以但不限于为第二缓存区中非已知单播流量一旦超过缓存区阈值,非已知单播报文便会被丢弃。
在一个示例性实施例中,可以但不限于通过以下方式确定第二缓存参数触发了第二缓存区对应的停止接收条件:检测第二缓存参数所包括的第二数据量是否达到停止接收量,其中,第二数据量用于指示第二缓存区内所缓存的非已知单播流量的数据量;在检测到第二数据量达到停止接收量的情况下,确定第二缓存参数触发了停止接收条件。
可选地,在本实施例中,停止接收条件可以但不限于是基于第二缓存参数预先设置的参数阈值,比如:在将当前对应的缓存区中缓存的数据量设置为对应的缓存参数的情况下,第二停止发送条件可以但不限于为缓存的数据量大于或者等于预先设置的最大缓存阈值。
在一个示例性实施例中,可以但不限于通过以下方式控制第二缓存区停止接收非已知单播流量:截获向第二缓存区发送的非已知单播流量;对截获的非已知单播流量进行丢弃。
在上述步骤S202至S204提供的技术方案中,在向发送设备发送停止发送指令,和,控制第二缓存区停止接收非已知单播流量之前,方法可以但不限于还包括:为第一缓存区和第二缓存区设置停止发送范围,其中,停止发送范围的上限值用于指示在缓存区的数据量达到上限值的情况下向发送设备发送停止发送指令,停止发送范围的下限值用于指示在缓存区的数据量从上限值下降到下限值的情况下向发送设备发送允许发送指令,允许发送指令用于指示允许发送设备继续向转发设备发送已知单播流量;从上限值与下限值之间获取第一数值作为第二缓存区的停止接收量,并获取大于上限值的第二数值作为第一缓存区的停止接收量,其中,停止接收量用于指示在缓存区的数据量达到停止接收量的情况下缓存区停止接收非已知单播流量,也就是说配置已知单播缓冲区的丢弃门限值大于Xoff;配置非已知单播缓冲区的丢弃门限值介于Xon和Xoff之间,由于已知单播缓存区阈值大于高位水线(Xoff),因此已知单播流量缓存区的上限值为高位水线,因此已知单播流量处于一个动态平衡(可以正常触发pause帧)且不丢弃报文的状态。而非已知单播缓存区阈值介于低位水线(Xon)和高位水线(Xoff)之间,因此非已知单播缓存区的上限值为非已知单播缓存区阈值,非已知单播缓存区一旦超过缓存区阈值,非已知单播报文便会被丢弃,因此永远没有机会触发使能pause帧(Xoff pause帧)的条件,即发送设备不会停止发送数据,这样就实现了仅允许已知已知单播流量触发pause反压的控制方法。
可选地,在本实施例中,已知单播和非已知单播流量分别走不同队列进入不同的缓存区;统一配置已知单播和非已知单播的水线为Xon和Xoff;配置已知单播队列的丢弃门限值大于Xoff;配置非已知单播队列的丢弃门限值介于Xon和Xoff之间;这样可以保证仅由已知单播流量触发反压。
在一个示例性实施例中,在对流量进行控制之前,还包括:将流量根据不同类型进行分流处理,图6是根据本发明实施例的一种已知单播流量和非已知单播流量分流的示意图;如图6所示,也就是说将流量(packet)划分为已知单播流量和非已知单播流量进入不同的缓存区,已知单播流量进入已知单播流量缓存区,非已知单播流量进入非已知单播流量缓存区,已知单播流量缓冲区和非已知单播流量缓冲区便会各自触发发送pause帧的条件,使得两个缓存区处于一个动态平衡的状态。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
图7是根据本发明实施例的一种流量传输的控制装置的结构框图;如图7所示,包括:
检测模块702,用于对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,第一缓存区用于对转发设备接收到的已知单播流量进行缓存,第二缓存区用于对转发设备接收到的非已知单播流量进行缓存;
第一发送模块704,用于在确定第一缓存参数触发了第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,停止发送指令用于指示发送设备停止向转发设备发送已知单播流量;
控制模块706,用于在确定第二缓存参数触发了第二缓存区对应的停止接收条件的情况下,控制第二缓存区停止接收非已知单播流量,其中,第二缓存区被设置为不允许触发第二缓存区对应的第二停止发送条件。
通过上述实施例,转发设备的缓存区对从发送设备接收到的流量进行缓存处理,其中,通过第一缓存区缓存已知单播流量,通过第二缓存区缓存非已知单播流量,对第一缓存区和第二缓存区设置不同的缓存操作,第一缓存区的操作为:第一缓存区在触发第一停止发送条件的情况下,向发送设备发送停止发送指令来指示发送设备停止向转发设备发送已知单播流量;第二缓存区的操作为:第二缓存区在触发停止接收条件的情况下,控制第二缓存区停止接收非已知单播流量,其中,第二缓存区被设置为不允许触发第二缓存区对应的第二停止发送条件,通过上述对第一缓存区和第二缓存区设置不同的缓存操作,实现仅允许已知单播流量触发停止发送指令来指示发送设备停止向转发设备发送已知单播流量,采用上述技术方案,解决了相关技术中,发送设备的通信资源的使用效率较低等问题,实现了提高发送设备的通信资源的使用效率的技术效果。
在一个示例性实施例中,所述第一发送模块,包括:
第一检测单元,用于检测所述第一缓存参数所包括的第一数据量是否达到第一停止发送量,其中,所述第一数据量用于指示所述第一缓存区内所缓存的已知单播流量的数据量;
第一确定单元,用于在检测到所述第一数据量达到所述第一停止发送量的情况下,确定所述第一缓存参数触发了所述第一停止发送条件。
在一个示例性实施例中,所述第一发送模块,还包括:
使能单元,用于将第一初始pause帧使能,得到第一目标pause帧;
发送单元,用于向所述发送设备发送所述第一目标pause帧,其中,所述停止发送指令包括所述第一目标pause帧。
在一个示例性实施例中,所述装置还包括:
去使能模块,用于在所述向所述发送设备发送所述目标pause帧之后,在检测到所述第一数据量从所述第一停止发送量下降至允许发送量的情况下,将第二初始pause帧去使能,得到第二目标pause帧;
第二发送模块,用于向所述发送设备发送所述第二目标pause帧,其中,所述第二目标pause帧用于指示允许所述发送设备继续发送已知单播流量。
在一个示例性实施例中,所述控制模块,包括:
第二检测单元,用于检测所述第二缓存参数所包括的第二数据量是否达到停止接收量,其中,所述第二数据量用于指示所述第二缓存区内所缓存的非已知单播流量的数据量;
第二确定单元,用于在检测到所述第二数据量达到所述停止接收量的情况下,确定所述第二缓存参数触发了所述停止接收条件。
在一个示例性实施例中,所述控制模块,还包括:
截获单元,用于截获向所述第二缓存区发送的非已知单播流量;
丢弃单元,用于对截获的非已知单播流量进行丢弃。
在一个示例性实施例中,所述装置还包括:
设置模块,用于在所述向发送设备发送停止发送指令,和,所述控制所述第二缓存区停止接收非已知单播流量之前,为所述第一缓存区和所述第二缓存区设置停止发送范围,其中,所述停止发送范围的上限值用于指示在缓存区的数据量达到所述上限值的情况下向所述发送设备发送所述停止发送指令,所述停止发送范围的下限值用于指示在缓存区的数据量从所述上限值下降到所述下限值的情况下向所述发送设备发送允许发送指令,所述允许发送指令用于指示允许所述发送设备继续向所述转发设备发送已知单播流量;
获取模块,用于从所述上限值与所述下限值之间获取第一数值作为所述第二缓存区的停止接收量,并获取大于所述上限值的第二数值作为所述第一缓存区的停止接收量,其中,所述停止接收量用于指示在缓存区的数据量达到所述停止接收量的情况下缓存区停止接收非已知单播流量。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,所述第一缓存区用于对所述转发设备接收到的已知单播流量进行缓存,所述第二缓存区用于对所述转发设备接收到的非已知单播流量进行缓存;
在确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,所述停止发送指令用于指示所述发送设备停止向所述转发设备发送已知单播流量;
在确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件的情况下,控制所述第二缓存区停止接收非已知单播流量,其中,所述第二缓存区被设置为不允许触发所述第二缓存区对应的第二停止发送条件。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
在确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,所述停止发送指令用于指示所述发送设备停止向所述转发设备发送已知单播流量;
在确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件的情况下,控制所述第二缓存区停止接收非已知单播流量,其中,所述第二缓存区被设置为不允许触发所述第二缓存区对应的第二停止发送条件。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种流量传输的控制方法,其特征在于,包括:
对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,所述第一缓存区用于对所述转发设备接收到的已知单播流量进行缓存,所述第二缓存区用于对所述转发设备接收到的非已知单播流量进行缓存;
在确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,所述停止发送指令用于指示所述发送设备停止向所述转发设备发送已知单播流量;
在确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件的情况下,控制所述第二缓存区停止接收非已知单播流量,其中,所述第二缓存区被设置为不允许触发所述第二缓存区对应的第二停止发送条件;
其中,在所述向发送设备发送停止发送指令,和,所述控制所述第二缓存区停止接收非已知单播流量之前,所述方法还包括:为所述第一缓存区和所述第二缓存区设置停止发送范围,其中,所述停止发送范围的上限值用于指示在缓存区的数据量达到所述上限值的情况下向所述发送设备发送所述停止发送指令,所述停止发送范围的下限值用于指示在缓存区的数据量从所述上限值下降到所述下限值的情况下向所述发送设备发送允许发送指令,所述允许发送指令用于指示允许所述发送设备继续向所述转发设备发送已知单播流量;从所述上限值与所述下限值之间获取第一数值作为所述第二缓存区的停止接收量,并获取大于所述上限值的第二数值作为所述第一缓存区的停止接收量,其中,所述停止接收量用于指示在缓存区的数据量达到所述停止接收量的情况下缓存区停止接收非已知单播流量;
其中,所述第一缓存参数和所述第二缓存参数的设置方式包括以下之一:将当前对应的缓存区中缓存的数据量设置为对应的缓存参数;将对应的缓存区的缓存区容量占用率设置为对应的缓存参数,其中,容量占用率指当前缓存区的数据量和缓存区的总容量比值;将对应的缓存区的缓存区剩余容量设置为对应的缓存参数,其中剩余容量指缓存区的总容量和当前缓存区的数据量的差;将对应的缓存区的缓存区的剩余容量占比率设置为对应的缓存参数,其中剩余容量占比率指当前缓存区的剩余容量和缓存区的总容量比值。
2.根据权利要求1所述的方法,其特征在于,所述确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件,包括:
检测所述第一缓存参数所包括的第一数据量是否达到第一停止发送量,其中,所述第一数据量用于指示所述第一缓存区内所缓存的已知单播流量的数据量;
在检测到所述第一数据量达到所述第一停止发送量的情况下,确定所述第一缓存参数触发了所述第一停止发送条件。
3.根据权利要求2所述的方法,其特征在于,所述向发送设备发送停止发送指令,包括:
将第一初始pause帧使能,得到第一目标pause帧;
向所述发送设备发送所述第一目标pause帧,其中,所述停止发送指令包括所述第一目标pause帧。
4.根据权利要求3所述的方法,其特征在于,在所述向所述发送设备发送所述目标pause帧之后,所述方法还包括:
在检测到所述第一数据量从所述第一停止发送量下降至允许发送量的情况下,将第二初始pause帧去使能,得到第二目标pause帧;
向所述发送设备发送所述第二目标pause帧,其中,所述第二目标pause帧用于指示允许所述发送设备继续发送已知单播流量。
5.根据权利要求1所述的方法,其特征在于,所述确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件,包括:
检测所述第二缓存参数所包括的第二数据量是否达到停止接收量,其中,所述第二数据量用于指示所述第二缓存区内所缓存的非已知单播流量的数据量;
在检测到所述第二数据量达到所述停止接收量的情况下,确定所述第二缓存参数触发了所述停止接收条件。
6.根据权利要求5所述的方法,其特征在于,所述控制所述第二缓存区停止接收非已知单播流量,包括:
截获向所述第二缓存区发送的非已知单播流量;
对截获的非已知单播流量进行丢弃。
7.一种流量传输的控制装置,其特征在于,包括:
检测模块,用于对转发设备中的流量缓存区所包括第一缓存区的第一缓存参数和第二缓存区的第二缓存参数进行检测,其中,所述第一缓存区用于对所述转发设备接收到的已知单播流量进行缓存,所述第二缓存区用于对所述转发设备接收到的非已知单播流量进行缓存;
第一发送模块,用于在确定所述第一缓存参数触发了所述第一缓存区对应的第一停止发送条件的情况下,向发送设备发送停止发送指令,其中,所述停止发送指令用于指示所述发送设备停止向所述转发设备发送已知单播流量;
控制模块,用于在确定所述第二缓存参数触发了所述第二缓存区对应的停止接收条件的情况下,控制所述第二缓存区停止接收非已知单播流量,其中,所述第二缓存区被设置为不允许触发所述第二缓存区对应的第二停止发送条件;
其中,所述装置还包括:设置模块,用于在所述向发送设备发送停止发送指令,和,所述控制所述第二缓存区停止接收非已知单播流量之前,为所述第一缓存区和所述第二缓存区设置停止发送范围,其中,所述停止发送范围的上限值用于指示在缓存区的数据量达到所述上限值的情况下向所述发送设备发送所述停止发送指令,所述停止发送范围的下限值用于指示在缓存区的数据量从所述上限值下降到所述下限值的情况下向所述发送设备发送允许发送指令,所述允许发送指令用于指示允许所述发送设备继续向所述转发设备发送已知单播流量;获取模块,用于从所述上限值与所述下限值之间获取第一数值作为所述第二缓存区的停止接收量,并获取大于所述上限值的第二数值作为所述第一缓存区的停止接收量,其中,所述停止接收量用于指示在缓存区的数据量达到所述停止接收量的情况下缓存区停止接收非已知单播流量;
其中,所述第一缓存参数和所述第二缓存参数的设置方式包括以下之一:将当前对应的缓存区中缓存的数据量设置为对应的缓存参数;将对应的缓存区的缓存区容量占用率设置为对应的缓存参数,其中,容量占用率指当前缓存区的数据量和缓存区的总容量比值;将对应的缓存区的缓存区剩余容量设置为对应的缓存参数,其中剩余容量指缓存区的总容量和当前缓存区的数据量的差;将对应的缓存区的缓存区的剩余容量占比率设置为对应的缓存参数,其中剩余容量占比率指当前缓存区的剩余容量和缓存区的总容量比值。
8.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至6中任一项所述的方法。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行权利要求1至6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111649811.0A CN114338564B (zh) | 2021-12-29 | 2021-12-29 | 一种流量传输的控制方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111649811.0A CN114338564B (zh) | 2021-12-29 | 2021-12-29 | 一种流量传输的控制方法和装置、存储介质及电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114338564A CN114338564A (zh) | 2022-04-12 |
CN114338564B true CN114338564B (zh) | 2023-11-10 |
Family
ID=81018562
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111649811.0A Active CN114338564B (zh) | 2021-12-29 | 2021-12-29 | 一种流量传输的控制方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114338564B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000031983A (ja) * | 1998-07-10 | 2000-01-28 | Toshiba Corp | 非同期転送モード交換装置 |
CN112328202A (zh) * | 2020-11-26 | 2021-02-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置及电子设备和存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6965602B2 (en) * | 2001-01-12 | 2005-11-15 | Peta Switch Solutions, Inc. | Switch fabric capable of aggregating multiple chips and links for high bandwidth operation |
GB2462060B (en) * | 2008-07-12 | 2012-05-16 | Broadcom Corp | Fast emulation of MAC table flushing for elan unicasts |
CN105991470B (zh) * | 2015-02-10 | 2019-12-06 | 新华三技术有限公司 | 以太网设备缓存报文的方法及装置 |
CN106302239A (zh) * | 2015-05-25 | 2017-01-04 | 深圳市中兴微电子技术有限公司 | 一种单组播流量调度管理的方法及装置 |
CN110784415B (zh) * | 2019-11-04 | 2022-08-26 | 苏州盛科通信股份有限公司 | 一种ecn快速响应的方法及装置 |
-
2021
- 2021-12-29 CN CN202111649811.0A patent/CN114338564B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000031983A (ja) * | 1998-07-10 | 2000-01-28 | Toshiba Corp | 非同期転送モード交換装置 |
CN112328202A (zh) * | 2020-11-26 | 2021-02-05 | 山东云海国创云计算装备产业创新中心有限公司 | 一种流量控制方法、装置及电子设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
浅析P2P网络中实时流媒体传输的节点缓存机制;王倩;;硅谷(第22期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114338564A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8553538B2 (en) | Packet relay device and congestion control method | |
JP7078850B2 (ja) | ネットワーク制御装置及びネットワーク制御方法 | |
CN105101305B (zh) | 网络侧缓冲器管理 | |
US8724460B2 (en) | Optimizing signalling load in a cellular communication network | |
CN104092625B (zh) | 一种用于dcn中的自适应请求分批调度方法 | |
CN107547442B (zh) | 数据传输缓存队列分配方法及装置 | |
CN107547430B (zh) | 一种报文发送方法及装置 | |
WO2017114231A1 (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
CN112242956B (zh) | 流速控制方法和装置 | |
WO2014031105A1 (en) | Flow control in a network | |
EP3055958B1 (en) | Downlink flow management | |
EP2888842A1 (en) | Congestion notification in a network | |
KR102284953B1 (ko) | 소프트웨어 정의 네트워크 기반 이동통신 시스템에서 제어 메시지 전송 방법 및 장치 | |
CN111555965B (zh) | 一种适用于iOS客户端的消息推送方法及系统 | |
WO2016125775A1 (ja) | 制御装置、通信装置、制御方法及びプログラム | |
CN114338564B (zh) | 一种流量传输的控制方法和装置、存储介质及电子装置 | |
CN112491573B (zh) | 一种网络参数配置方法及装置 | |
CN110661722B (zh) | 一种流量控制的方法及装置 | |
US20140016616A1 (en) | Low priority indication in extended service request for enhanced overload handling | |
CN106657078B (zh) | Tcp传输方法及装置 | |
CN108271431B (zh) | 服务中断报告 | |
US9699706B2 (en) | Data packet sending method and radio access network device | |
CN110336759B (zh) | 基于rdma的协议报文转发方法及装置 | |
KR102168177B1 (ko) | 네트워크 장치 및 이를 이용한 패킷 처리 방법 | |
CN106851526B (zh) | 一种用于处理mtc消息的方法与设备 |
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 |