一种端口流量控制方法、装置、交换芯片和存储介质

文档序号:1864709 发布日期:2021-11-19 浏览:17次 >En<

阅读说明:本技术 一种端口流量控制方法、装置、交换芯片和存储介质 (Port flow control method and device, exchange chip and storage medium ) 是由 王倩 薛兆井 于 2021-08-13 设计创作,主要内容包括:本发明公开了一种端口流量控制方法、装置、交换芯片和存储介质,包括:在检测到第一交换芯片中的出端口发送流量拥塞时,在与出端口匹配的全部入端口中确定待流量控制的目标入端口;如果确定至少一个目标入端口位于第二交换芯片中,则根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至第二交换芯片;其中,拥塞管理报文用于指示第二交换芯片,根据标准数据发送速率生成与各目标入端口匹配的暂停帧,以对第二交换芯片内的各目标入端口进行流量控制。本发明实施例的技术方案可以实现在目标出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,减少报文对堆叠口带宽的占用。(The invention discloses a method and a device for controlling port flow, an exchange chip and a storage medium, wherein the method comprises the following steps: when detecting that an output port in a first switching chip sends traffic congestion, determining a target input port to be subjected to traffic control in all input ports matched with the output port; if at least one target input port is determined to be positioned in the second exchange chip, generating a congestion management message in real time according to the current flow from each target input port in the buffer zone of the output port, and sending the congestion management message to the second exchange chip; the congestion management message is used for indicating the second switch chip, and generating a pause frame matched with each target input port according to the standard data sending rate so as to control the flow of each target input port in the second switch chip. The technical scheme of the embodiment of the invention can realize fair flow control on each target input port when the flow sent by the target output port is congested, and reduce the occupation of the message on the bandwidth of the stack port.)

一种端口流量控制方法、装置、交换芯片和存储介质

技术领域

本发明实施例涉及以太网通信技术领域,尤其涉及一种端口流量控制方法、装置、交换芯片和存储介质。

背景技术

在交换芯片组成的交换系统中,如果某个出端口接收的数据太多来不及发送时,交换芯片就需要向对应的发送源发送暂停(PAUSE)帧,以使发送源降低数据的发送速率,缓解出端口数据过载的情况。

如果交换系统由单芯片组成,当检测到某出端口缓冲区溢出时,则将该出端口对应的端口拥塞信号发送至芯片内部的流控裁决器,流控裁决器查找到与该出端口对应的所有入端口,并根据出端口的缓冲区中来自各入端口的流量,分别计算出与各入端口对应的暂停帧,并通过各入端口将对应的暂停帧发送至匹配的发送源,以使各发送源降低数据的发送速率,缓解出端口数据过载的情况。

如果交换系统由多芯片组成,且交换系统中发生拥塞的出端口与对应的入端口不在同一芯片上时,该出端口对应的端口拥塞信号则不能直接传给对端芯片。图1a是多芯片组成的交换系统的示意图,交换系统由芯片1和芯片2组成,交换系统中的入端口分别为端口A和端口B,出端口分别为端口C和端口D。其中,假设端口C对应的入端口为端口A和端口B,当端口C发生拥塞时,由于芯片1与芯片2内部的业务逻辑可能不同,如果直接将端口C对应的硬件信号发送至芯片1,芯片1可能无法正确识别该信号。在这种情况下,现有方法中通常是由芯片2先通过内部的流控裁决器,根据端口C的缓冲区中来自端口B的流量,计算端口B对应的标准数据发送速率,然后根据该标准数据发送速率计算暂停帧,并通过端口B将暂停帧发送至匹配的发送源,以使端口B对应的发送源根据标准数据发送速率,降低当前数据发送速率。

在端口B对应的发送源开始降低数据发送速率之后,芯片2将所述暂停帧通过芯片1与芯片2之间的互联端口(也即堆叠口)发送至芯片1。芯片1根据暂停帧计算出堆叠口对应的标准数据发送速率,并由内部的流控裁决器根据堆叠口对应的标准数据发送速率,计算端口A对应的标准数据发送速率以及暂停帧,通过端口A将对应的暂停帧发送至匹配的发送源,以使各发送源降低数据的发送速率,缓解端口C数据过载的情况。

但是,现有方法中当端口B对应的发送源已经开始降低发送速率时,芯片1才通过堆叠口收到暂停帧,端口A对应的发送源的降速效率通常低于端口B对应的发送源的降速效率,由此可能造成端口A与端口B产生不公平的流控;其次,由于暂停帧长度较大,通过堆叠口发送暂停帧,会占用堆叠口大量的带宽。

发明内容

本发明实施例提供一种端口流量控制方法、装置、交换芯片和存储介质,可以实现在目标出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,减少报文对堆叠口带宽的占用。

第一方面,本发明实施例提供了一种端口流量控制方法,应用于第一交换芯片中,所述方法包括:

在检测到第一交换芯片中的出端口发送流量拥塞时,在与所述出端口匹配的全部入端口中确定待流量控制的目标入端口;

如果确定至少一个目标入端口位于第二交换芯片中,则根据所述出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至所述第二交换芯片;所述第二交换芯片为与所述第一交换芯片相连接的任意交换芯片;

其中,拥塞管理报文用于指示所述第二交换芯片,根据标准数据发送速率生成与各目标入端口匹配的暂停帧,以对第二交换芯片内的各目标入端口进行流量控制。

第二方面,本发明实施例还提供了一种端口流量控制方法,应用于与第一交换芯片相连接的第二交换芯片中,该方法包括:

接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配;

根据所述拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧;

通过所述目标入端口将所述暂停帧发送至对应的发送源。

第三方面,本发明实施例还提供了一种端口流量控制装置,应用于第一交换芯片中,该装置包括:

拥塞判别器,用于检测第一交换芯片中的各出端口是否发送流量拥塞;

流控裁决器,用于在拥塞判别器检测到第一交换芯片中的出端口发送流量拥塞后,在与所述出端口匹配的全部入端口中确定待流量控制的目标入端口,如果确定至少一个目标入端口位于第二交换芯片中,则实时获取所述出端口的缓冲区中来自于各目标入端口的当前流量,并将各当前流量发送至报文产生器;

报文产生器,用于根据各当前流量,生成拥塞管理报文;

报文转发器,用于将拥塞管理报文发送至所述第二交换芯片;所述第二交换芯片为与所述第一交换芯片相连接的任意交换芯片;

其中,拥塞管理报文用于指示所述第二交换芯片,根据标准数据发送速率生成与各目标入端口匹配的暂停帧,以对第二交换芯片内的各目标入端口进行流量控制。

第四方面,本发明实施例还提供了一种交换芯片,该交换芯片包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的一种端口流量控制方法。

第五方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的一种端口流量控制方法。

本发明实施例的技术方案中在检测到第一交换芯片中的出端口发送流量拥塞时,在与出端口匹配的全部入端口中确定待流量控制的目标入端口,如果确定至少一个目标入端口位于第二交换芯片中,则根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至第二交换芯片。由于拥塞管理报文中可以包括出端口的缓冲区中,来自于第一交换芯片中的目标入端口的当前流量,当第一芯片中的目标入端口对应的发送源已经开始降速后,第二芯片会根据拥塞管理报文了解到第一芯片中目标入端口对应的发送源的降速情况,并将第二芯片中目标入端口对应的发送源的发送速度,降到与第一芯片中目标入端口对应的发送源的发送速度一致,由于两个芯片中的目标入端口对应的发送源降速一致,因此本实施例的技术方案可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,减少报文对堆叠口带宽的占用。

附图说明

图1a是本发明实施例中的一种多芯片组成的交换系统的示意图;

图1b是本发明实施例一中的一种端口流量控制方法的流程图;

图1c是本发明实施例一中的一种多芯片组成的交换系统的示意图;

图2是本发明实施例二中的一种端口流量控制方法的流程图;

图3是本发明实施例三中的一种端口流量控制方法的流程图;

图4是本发明实施例四中的一种端口流量控制方法的流程图;

图5是本发明实施例五中的一种端口流量控制方法的流程图;

图6是本发明实施例六中的一种端口流量控制装置的结构图;

图7是本发明实施例七中的一种端口流量控制装置的结构图;

图8是本发明实施例八中的一种交换芯片的结构示意图;

图9是本发明实施例九中的一种交换芯片的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

本发明实施例中的第一交换芯片和第二交换芯片均为交换系统中任一交换芯片,对于任意一个交换芯片来说,该交换芯片均可称之为第一交换芯片,与之相连的交换芯片均称为第二交换芯片,因此,第二交换芯片是相对于第一交换芯片的而言。

实施例一

图1b为本发明实施例一提供的一种端口流量控制方法的流程图,本实施例可适用于对交换芯片中的端口进行流量控制的情形,该方法可以由端口流量控制装置来执行,该装置可以由软件和/或硬件来实现,一般可以集成在交换芯片中,具体包括如下步骤:

步骤110、在检测到第一交换芯片中的出端口发送流量拥塞时,在与所述出端口匹配的全部入端口中确定待流量控制的目标入端口。

在本实施例中,第一交换芯片可以包括多个出端口,所述出端口用于将第一交换芯片接收的数据发送至其他具备数据收发功能的设备(例如,交换芯片、终端设备或者服务器等)。在检测到第一交换芯片中的某一出端口的缓冲区有数据溢出,也即,该出端口来不及将接收的全部数据进行发送时,则可以认为该出端口发送流量拥塞。

在检测到第一交换芯片中的出端口发送流量拥塞时,可以根据所述出端口接收到的多个数据,查询对应的数据来源,根据各数据来源确定与所述出端口匹配的全部入端口。其中,待流量控制的目标入端口为,与所述出端口匹配的全部入端口中,需要进行流量控制的入端口。

在本发明实施例的一个实施方式中,在检测到第一交换芯片中的出端口发送流量拥塞时,可以将与所述出端口匹配的全部入端口作为待流量控制的目标入端口。

步骤120、如果确定至少一个目标入端口位于第二交换芯片中,则根据所述出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至所述第二交换芯片;所述第二交换芯片为与所述第一交换芯片相连接的任意交换芯片。

其中,拥塞管理报文用于指示所述第二交换芯片,根据标准数据发送速率生成与各目标入端口匹配的暂停帧,以对第二交换芯片内的各目标入端口进行流量控制。

在一个具体的实施例中,如果与所述出端口匹配的全部目标入端口均位于第二交换芯片中,则可以根据出端口的缓冲区中来自于各目标入端口的当前流量,生成拥塞管理报文,并将所述拥塞管理报文通过堆叠口发送至第二交换芯片。其中,当与所述出端口匹配的多个目标入端口分别位于不同的第二交换芯片时,则还可以将上述拥塞管理报文分别发送至各第二交换芯片。

第二交换芯片接收到所述拥塞管理报文后,可选的,可以根据出端口的缓冲区中来自于各目标入端口的当前流量,选取数值最小的当前流量作为标准流量,然后将所述标准流量转换为对应的标准数据发送速率,并根据所述标准数据发送速率生成第二交换芯片内与各目标入端口对应的暂停帧,利用第二交换芯片内的各目标入端口将所述暂停帧发送至对应的发送源,以使所述发送源降低数据的发送速率,缓解所述出端口发送流量拥塞的情形。

图1c是本实施例中一种多芯片组成的交换系统的示意图,如图1c所示,假设第一交换芯片中的端口C为发送流量拥塞的出端口,与该出端口匹配的目标入端口分别为端口F、端口E和端口A。当全部目标入端口均位于第二交换芯片中时,则可以根据端口C的缓冲区中来自于端口F、端口E和端口A的当前流量,生成拥塞管理报文,并将该拥塞管理报文发送至第二交换芯片。

第二交换芯片接收到所述拥塞管理报文后,可以在端口F、端口E和端口A对应的当前流量中,选取数值最小的当前流量作为标准流量,然后将所述标准流量转换为对应的标准数据发送速率,并根据所述标准数据发送速率分别生成端口F、端口E和端口A对应的暂停帧,然后利用端口F、端口E和端口A将对应的暂停帧发送至匹配的发送源,以使各发送源降低数据的发送速率。

由此,第二交换芯片通过按照统一的数据发送速率计算各目标入端口对应的暂停帧,可以使各发送源均匀降速,实现对各目标入端口进行公平的流量控制。

在另一个具体的实施例中,如果与所述出端口匹配的全部目标入端口中,还包括至少一个目标入端口位于第一交换芯片中,则第一交换芯片可以根据出端口的缓冲区中来自于各目标入端口的当前流量,选取数值最小的当前流量作为标准流量,然后将所述标准流量转换为对应的标准数据发送速率,根据标准数据发送速率生成第一交换芯片内目标入端口对应的暂停帧,并利用第一交换芯片内目标入端口将所述暂停帧发送至对应的发送源。

在第一芯片中的目标入端口对应的发送源已经开始降速后,第一芯片可以根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将所述拥塞管理报文发送至第二芯片。第二芯片根据拥塞管理报文获取到第一芯片中目标入端口对应的当前流量之后,可以将第一芯片中目标入端口对应的当前流量作为标准流量,并将该标准流量转换为对应的标准数据发送速率,根据所述标准数据发送速率分别生成第二交换芯片内各目标端口对应的暂停帧,利用第二交换芯片内的各目标入端口将暂停帧发送至对应的发送源。由此可以保证第二芯片中目标入端口对应的发送源的发送速度,降到与第一芯片中目标入端口对应的发送源的发送速度一致,实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制。

如图1c所示,假设第一交换芯片中的端口C为发送流量拥塞的出端口,与该出端口匹配的目标入端口分别为端口F、端口E、端口A和端口B。其中,端口B位于第一交换芯片中,端口F、端口E和端口A位于第二交换芯片中。在这种情况下,第一交换芯片可以根据端口C的缓冲区中,来自端口F、端口E、端口A和端口B的当前流量,生成端口B对应的暂停帧。在端口B对应的发送源已经开始降速后,第一芯片可以根据端口F、端口E、端口A和端口B对应的当前流量,实时生成拥塞管理报文,并将所述拥塞管理报文发送至第二芯片。

在本实施例中,通过根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,可以保证拥塞管理报文的长度较小,通过堆叠口将拥塞管理报文发送至第二交换芯片,可以减少报文对堆叠口带宽的占用。

本发明实施例的技术方案通过在检测到第一交换芯片中的出端口发送流量拥塞时,在与出端口匹配的全部入端口中确定待流量控制的目标入端口;如果确定至少一个目标入端口位于第二交换芯片中,则根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至第二交换芯片的技术手段,可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,可以减少报文对堆叠口带宽的占用。

实施例二

本实施例是对上述实施例的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图2为本实施例二提供的一种端口流量控制方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图2所示,本实施例提供的方法还可以包括:

步骤210、在检测到第一交换芯片中的出端口发送流量拥塞时,在与所述出端口匹配的全部入端口中确定待流量控制的目标入端口。

在本实施例中,第一交换芯片可以通过拥塞判别器,检测第一交换芯片各出端口发送流量是否拥塞。

在本发明实施例的一个实施方式中,检测第一交换芯片中的出端口发送流量拥塞,包括:实时计算所述出端口的缓冲区中,来自于所述全部入端口的当前流量总量;如果检测到所述当前流量总量大于预设流量总量,则确定第一交换芯片中的出端口发送流量拥塞。

其中,可以获取所述出端口的缓冲区中来自于各入端口的当前流量,然后对各当前流量进行叠加,得到所述当前流量总量。所述预设流量总量为交换芯片中出端口的缓冲区所能承受的最大流量总量。

步骤220、如果确定各目标入端口分别位于第一交换芯片和第二交换芯片中,则根据所述出端口的缓冲区中来自于各目标入端口的当前流量,生成本地暂停帧,以对第一交换芯片内的目标入端口进行流量控制。

在本实施例中,如果全部目标入端口中存在至少一个目标入端口位于第一交换芯片中,并且存在至少一个目标入端口位于与第二交换芯片中,也即各目标入端口分别位于第一交换芯片和第二交换芯片中时,则根据出端口的缓冲区中来自于各目标入端口的当前流量,生成本地暂停帧,以对第一交换芯片内的目标入端口进行流量控制。

在一个具体的实施例中,第一交换芯片中的拥塞判别器在检测到出端口发送流量拥塞时,可以向拥塞信号产生器发送信号产生指令,以使拥塞信号产生器将所述出端口的拥塞信号发送至第一交换芯片中的流控裁决器。

流控裁决器接收到所述出端口的拥塞信号后,可选的,可以根据全部目标入端口的个数,以及预设流量总量,确定标准流量,然后将标准流量转换为对应的标准数据发送速率,并根据所述标准数据发送速率计算本地暂停帧(也即第一交换芯片内目标入端口对应的暂停帧),并利用流控产生器生成所述本地暂停帧,然后通过第一交换芯片内的目标入端口将本地暂停帧发送至匹配的发送源,以实现对第一交换芯片内的目标入端口进行流量控制。

其中,可以将预设流量总量与目标入端口的个数相除,得到标准流量。

步骤230、根据所述出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至所述第二交换芯片。

在本实施例中,在利用第一交换芯片内的目标入端口将本地暂停帧发送至匹配的发送源之后,可以利用流控裁决器获取出端口的缓冲区中来自于各目标入端口的当前流量,并将各目标入端口对应的当前流量发送至报文产生器。报文产生器通过将各目标入端口对应的当前流量进行组装,得到拥塞管理报文,然后利用报文转发器将所述拥塞管理报文发送至第二交换芯片。

第二交换芯片在接收到所述拥塞管理报文后,利用报文解析器对所述拥塞管理报文进行解析,得到所述出端口的缓冲区中来自于第一交换芯片中目标入端口的当前流量,然后利用流控裁决器根据所述当前流量,计算第二交换芯片内目标入端口对应的暂停帧,并利用流控产生器生成所述暂停帧,通过第二交换芯片内的目标入端口将所述暂停帧发送至匹配的发送源,以实现对第二交换芯片内的目标入端口进行流量控制。

以图1c中的交换系统为例,假设第一交换芯片中的端口C为发送流量拥塞的出端口,与该出端口匹配的目标入端口分别为端口F、端口E、端口A和端口B。第一交换芯片可以根据上述目标入端口的个数,以及预设流量总量,确定标准流量,然后将标准流量转换为对应的标准数据发送速率,并根据所述标准数据发送速率生成本地暂停帧,通过第一交换芯片内的端口B将本地暂停帧发送至匹配的发送源,以实现对第一交换芯片内的目标入端口进行流量控制。

在通过端口B将本地暂停帧发送至匹配的发送源后,分别获取端口F、端口E、端口A和端口B在端口C的缓冲区的当前流量,并根据端口F、端口E、端口A和端口B在端口C的缓冲区的当前流量,生成拥塞管理报文,然后将拥塞管理报文发送至第二交换芯片。

第二交换芯片在接收到拥塞管理报文后,可以得到端口C的缓冲区中来自端口B的当前流量,并将该当前流量作为标准流量,然后将该标准流量转换为对应的标准数据发送速率,根据标准数据发送速率分别生成端口F、端口E和端口A对应的暂停帧,并通过端口F、端口E和端口A将对应的暂停帧发送至匹配的发送源,以实现对第二交换芯片内的目标入端口进行流量控制。

由此,第二交换芯片直接根据第一交换芯片中目标入端口对应的当前流量,生成第二交换芯片内目标入端口对应的暂停帧,一方面可以使第二交换芯片与第一交换芯片中各目标入端口对应的发送源均匀降速,另一方面还可以简化第二交换芯片内暂停帧的生成流程,提高暂停帧的生成效率。

本发明实施例的技术方案通过在检测到第一交换芯片中的出端口发送流量拥塞时,在与出端口匹配的全部入端口中确定待流量控制的目标入端口,如果确定各目标入端口分别位于第一交换芯片和第二交换芯片中,则根据出端口的缓冲区中来自于各目标入端口的当前流量,生成本地暂停帧,以对第一交换芯片内的目标入端口进行流量控制,根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至第二交换芯片的技术手段,可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,减少报文对堆叠口带宽的占用。

实施例三

本实施例是对上述实施例的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图3为本实施例三提供的一种端口流量控制方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图3所示,本实施例提供的方法还可以包括:

步骤310、在检测到第一交换芯片中的出端口发送流量拥塞时,根据预设流量总量,以及与出端口匹配的入端口的个数,计算平均流量。

在此步骤中,预设流量总量为出端口的缓冲区所能承受的最大流量总量,可以将预设流量总量与入端口的个数相除,得到平均流量。

步骤320、根据所述平均流量,以及所述出端口的缓冲区中来自于各入端口的当前流量,在全部入端口中确定待流量控制的目标入端口。

在本实施例中,可选的,可以判断出端口的缓冲区中来自于入端口的当前流量,是否大于平均流量,若是,则将该入端口作为待流量控制的目标入端口。

在本发明实施例的一个实施方式中,根据所述平均流量,以及所述出端口的缓冲区中来自于各入端口的当前流量,在全部入端口中确定待流量控制的目标入端口,包括:每隔预设时间间隔,根据所述出端口的缓冲区中来自于各入端口的当前流量,以及所述平均流量,将各入端口分为备选流量控制端口和正常端口;根据预设流量总量,以及所述出端口的缓冲区中来自于各正常端口的当前流量,在所述备选流量控制端口中确定待流量控制的目标入端口。

其中,可以判断出端口的缓冲区中来自于入端口的当前流量,是否大于平均流量,若是,则将该入端口作为备选流量控制端口,若否,则将该入端口作为正常端口。如果入端口为正常端口,则说明该入端口接收数据的速率正常,并且不需要对该入端口进行流量控制。这样设置的好处在于:可以避免对正常端口进行流量控制时引起的资源消耗。

在将各入端口分为备选流量控制端口和正常端口后,可以计算出端口的缓冲区中来自于全部正常端口的当前流量总量,并将预设流量总量与来自于全部正常端口的当前流量总量相减,得到与备选流量控制端口对应的流量总量。然后将备选流量控制端口对应的流量总量与备选流量控制端口的个数相除,得到目标平均流量。最后判断出端口的缓冲区中来自于各备选流量控制端口的当前流量,是否均大于所述目标平均流量,若是,将各备选流量控制端口作为待流量控制的目标入端口。若否,则在备选流量控制端口中确定正常端口,其中,如果存在某一个备选流量控制端口对应的当前流量,小于等于所述目标平均流量,则将该备选流量控制端口确定为正常端口,然后返回执行将预设流量总量与来自于全部正常端口的当前流量总量相减,得到与备选流量控制端口对应的流量总量的操作,直至各备选流量控制端口对应的当前流量均大于所述目标平均流量。

步骤330、如果确定各目标入端口分别位于第一交换芯片和第二交换芯片中,则根据所述出端口的缓冲区中来自于各目标入端口的当前流量,生成本地暂停帧,以对第一交换芯片内的目标入端口进行流量控制。

步骤340、根据所述出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至所述第二交换芯片。

本发明实施例的技术方案通过在检测到第一交换芯片中的出端口发送流量拥塞时,根据预设流量总量,以及与出端口匹配的入端口的个数,计算平均流量,根据所述平均流量,以及所述出端口的缓冲区中来自于各入端口的当前流量,在全部入端口中确定待流量控制的目标入端口,如果确定各目标入端口分别位于第一交换芯片和第二交换芯片中,则根据所述出端口的缓冲区中来自于各目标入端口的当前流量,生成本地暂停帧,以对第一交换芯片内的目标入端口进行流量控制,根据所述出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至所述第二交换芯片的技术手段,可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,减少报文对堆叠口带宽的占用。

实施例四

图4为本发明实施例四提供的一种端口流量控制方法的流程图,本实施例可适用于对交换芯片中的端口进行流量控制的情形,该方法可以由端口流量控制装置来执行,该装置可以由软件和/或硬件来实现,一般可以集成在与第一交换芯片相连接的第二交换芯片中,具体包括如下步骤:

步骤410、接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配。

在本实施例中,第一交换芯片可以根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文通过堆叠口发送至第二交换芯片。

步骤420、根据所述拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧。

在本发明实施例的一个实施方式中,第二交换芯片接收到所述拥塞管理报文后,可选的,可以根据出端口的缓冲区中来自于各目标入端口的当前流量,选取数值最小的当前流量作为标准流量,然后将所述标准流量转换为对应的标准数据发送速率,并根据所述标准数据发送速率生成第二交换芯片内与各目标入端口对应的暂停帧。

步骤430、通过所述目标入端口将所述暂停帧发送至对应的发送源。

本发明实施例的技术方案通过接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配,根据拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧;通过所述目标入端口将所述暂停帧发送至对应的发送源的技术手段,可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,可以减少报文对堆叠口带宽的占用。

实施例五

本实施例是对上述实施例的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图5为本实施例五提供的一种端口流量控制方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图5所示,本实施例提供的方法还可以包括:

步骤510、接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配。

步骤520、检测所述拥塞管理报文中,是否包括所述出端口的缓冲区中,来自于第一交换芯片中与所述出端口对应的目标入端口的当前流量,若是,执行步骤530,若否,执行步骤540。

步骤530、根据所述当前流量,计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧。

在一个具体的实施例中,如果拥塞管理报文中包括出端口的缓冲区中,来自于第一交换芯片中与所述出端口对应的目标入端口的当前流量,则将第一交换芯片中目标入端口对应的当前流量作为标准流量,然后将该标准流量转换为对应的标准数据发送速率,根据标准数据发送速率生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧。

步骤540、根据所述拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧。

在一个具体的实施例中,如果拥塞管理报文中,不包括出端口的缓冲区中,来自于第一交换芯片中与所述出端口对应的目标入端口的当前流量,则可以根据出端口的缓冲区中来自于各目标入端口的当前流量,选取数值最小的当前流量作为标准流量,然后将所述标准流量转换为对应的标准数据发送速率,并根据所述标准数据发送速率生成第二交换芯片内与各目标入端口对应的暂停帧。

步骤550、通过第二交换芯片中与所述出端口对应的目标入端口,将所述暂停帧发送至对应的发送源。

本发明实施例的技术方案通过接收第一交换芯片发送的拥塞管理报文,检测拥塞管理报文中是否包括出端口的缓冲区中,来自于第一交换芯片中与出端口对应的目标入端口的当前流量,若是,则根据当前流量,计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与出端口对应的目标入端口所匹配的暂停帧,若否,则根据拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与出端口对应的目标入端口所匹配的暂停帧,最后通过第二交换芯片中的目标入端口将暂停帧发送至对应的发送源的技术手段,可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,可以减少报文对堆叠口带宽的占用。

实施例六

图6为本发明实施例六提供的一种端口流量控制装置的结构图,该装置应用于第一交换芯片中,包括:拥塞判别器610,流控裁决器620,报文产生器630和报文转发器640。

其中,拥塞判别器610,用于检测第一交换芯片中的各出端口是否发送流量拥塞;流控裁决器620,用于在拥塞判别器检测到第一交换芯片中的出端口发送流量拥塞后,在与所述出端口匹配的全部入端口中确定待流量控制的目标入端口,如果确定至少一个目标入端口位于第二交换芯片中,则实时获取所述出端口的缓冲区中来自于各目标入端口的当前流量,并将各当前流量发送至报文产生器;报文产生器630,用于根据各当前流量,生成拥塞管理报文;报文转发器640,用于将拥塞管理报文发送至所述第二交换芯片;所述第二交换芯片为与所述第一交换芯片相连接的任意交换芯片;

其中,拥塞管理报文用于指示所述第二交换芯片,根据标准数据发送速率生成与各目标入端口匹配的暂停帧,以对第二交换芯片内的各目标入端口进行流量控制。

本发明实施例的技术方案通过在检测到第一交换芯片中的出端口发送流量拥塞时,在与出端口匹配的全部入端口中确定待流量控制的目标入端口;如果确定至少一个目标入端口位于第二交换芯片中,则根据出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至第二交换芯片的技术手段,可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,可以减少报文对堆叠口带宽的占用。

在上述各实施例的基础上,所述装置还包括流控产生器,用于如果所述目标入端口中还包括至少一个目标入端口位于第一交换芯片中,根据所述出端口的缓冲区中来自于各目标入端口的当前流量,生成本地暂停帧,以对第一交换芯片内的目标入端口进行流量控制;

拥塞判别器610,还用于实时计算所述出端口的缓冲区中,来自于所述全部入端口的当前流量总量;如果检测到所述当前流量总量大于预设流量总量,则确定第一交换芯片中的出端口发送流量拥塞;

流控裁决器620,还用于根据预设流量总量,以及所述入端口的个数,计算平均流量;根据所述平均流量,以及所述出端口的缓冲区中来自于各入端口的当前流量,在全部入端口中确定待流量控制的目标入端口;

具体的,流控裁决器620,还用于每隔预设时间间隔,根据所述出端口的缓冲区中来自于各入端口的当前流量,以及所述平均流量,将各入端口分为备选流量控制端口和正常端口;根据预设流量总量,以及所述出端口的缓冲区中来自于各正常端口的当前流量,在所述备选流量控制端口中确定待流量控制的目标入端口。

本发明实施例所提供的端口流量控制装置可执行本发明任意实施例所提供的端口流量控制方法,具备执行方法相应的功能模块和有益效果。

实施例七

图7为本发明实施例七提供的一种端口流量控制装置的结构图,该装置应用于与第一交换芯片相连接的第二交换芯片中,包括:报文解析器710、流控裁决器720和流控产生器730。

其中,报文解析器710,用于接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配;流控裁决器720,用于根据所述拥塞管理报文计算标准数据发送速率;流控产生器730,用于根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧,通过所述目标入端口将所述暂停帧发送至对应的发送源。

本发明实施例的技术方案通过接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配,根据拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧;通过所述目标入端口将所述暂停帧发送至对应的发送源的技术手段,可以实现在出端口发送流量拥塞时,对各目标入端口进行公平的流量控制,可以减少报文对堆叠口带宽的占用。

在上述各实施例的基础上,流控裁决器720,还用于检测所述拥塞管理报文中,是否包括所述出端口的缓冲区中,来自于第一交换芯片中与所述出端口对应的目标入端口的当前流量,若是,则根据所述当前流量,计算标准数据发送速率。

本发明实施例所提供的端口流量控制装置可执行本发明任意实施例所提供的端口流量控制方法,具备执行方法相应的功能模块和有益效果。

实施例八

图8为本发明实施例八提供的一种交换芯片的结构示意图,如图8所示,该交换芯片(也称第一交换芯片)包括处理器810、存储器820、输入装置830和输出装置840;交换芯片中处理器810的数量可以是一个或多个,图8中以一个处理器810为例;交换芯片中的处理器810、存储器820、输入装置830和输出装置840可以通过总线或其他方式连接,图8中以通过总线连接为例。

存储器820作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种端口流量控制方法对应的程序指令/模块(例如,一种端口流量控制装置中的拥塞判别器610,流控裁决器620,报文产生器630和报文转发器640)。处理器810通过运行存储在存储器820中的软件程序、指令以及模块,从而执行交换芯片的各种功能应用以及数据处理,即实现上述的一种端口流量控制方法。也即,该程序被处理器执行时实现:

在检测到第一交换芯片中的出端口发送流量拥塞时,在与所述出端口匹配的全部入端口中确定待流量控制的目标入端口;

如果确定至少一个目标入端口位于第二交换芯片中,则根据所述出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至所述第二交换芯片;所述第二交换芯片为与所述第一交换芯片相连接的任意交换芯片;

其中,拥塞管理报文用于指示所述第二交换芯片,根据标准数据发送速率生成与各目标入端口匹配的暂停帧,以对第二交换芯片内的各目标入端口进行流量控制。

存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器820可进一步包括相对于处理器810远程设置的存储器,这些远程存储器可以通过网络连接至交换芯片。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置830可用于接收输入的数字或字符信息,以及产生与交换芯片的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置840可包括显示屏等显示设备。

实施例九

图9为本发明实施例九提供的一种交换芯片的结构示意图,所述交换芯片(也称第二交换芯片)为与上述第一交换芯片相连接的任意交换芯片,如图9所示,该交换芯片包括处理器910、存储器920、输入装置930和输出装置940;交换芯片中处理器910的数量可以是一个或多个,图9中以一个处理器910为例;交换芯片中的处理器910、存储器920、输入装置930和输出装置940可以通过总线或其他方式连接,图9中以通过总线连接为例。

存储器920作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的一种端口流量控制方法对应的程序指令/模块(例如,一种端口流量控制装置中的报文解析器710、流控裁决器720和流控产生器730)。处理器910通过运行存储在存储器920中的软件程序、指令以及模块,从而执行交换芯片的各种功能应用以及数据处理,即实现上述的一种端口流量控制方法。也即,该程序被处理器执行时实现:

接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配;

根据所述拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧;

通过所述目标入端口将所述暂停帧发送至对应的发送源。

存储器920可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器920可进一步包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至交换芯片。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

输入装置930可用于接收输入的数字或字符信息,以及产生与交换芯片的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置940可包括显示屏等显示设备

实施例十

本发明实施例十还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例提供的一种端口流量控制方法中的相关操作。也即,该程序被处理器执行时实现:

在检测到第一交换芯片中的出端口发送流量拥塞时,在与所述出端口匹配的全部入端口中确定待流量控制的目标入端口;

如果确定至少一个目标入端口位于第二交换芯片中,则根据所述出端口的缓冲区中来自于各目标入端口的当前流量,实时生成拥塞管理报文,并将拥塞管理报文发送至所述第二交换芯片;所述第二交换芯片为与所述第一交换芯片相连接的任意交换芯片;

其中,拥塞管理报文用于指示所述第二交换芯片,根据标准数据发送速率生成与各目标入端口匹配的暂停帧,以对第二交换芯片内的各目标入端口进行流量控制。

本发明实施例所提供的一种计算机可读存储介质,其还可以执行本发明任意实施例提供的另一种端口流量控制方法中的相关操作。也即,该程序被处理器执行时实现:

接收第一交换芯片发送的拥塞管理报文,所述拥塞管理报文与第一交换芯片中发生拥塞的出端口相匹配;

根据所述拥塞管理报文计算标准数据发送速率,并根据标准数据发送速率,生成第二交换芯片中与所述出端口对应的目标入端口所匹配的暂停帧;

通过所述目标入端口将所述暂停帧发送至对应的发送源。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台交换芯片(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

值得注意的是,上述一种端口流量控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于消除无源互调制干扰的方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!