流量控制方法及相关装置
文献发布时间:2024-04-18 19:44:28
技术领域
本发明涉及通信技术领域,具体而言,涉及一种流量控制方法及相关装置。
背景技术
随着当前网络的飞速发展,大数据分析、人工智能等业务的兴起,网络数据流量迎来了爆炸式的增长,在巨大的数据压力下,对数据中心网络的要求越来越高,其中最为主要的两个指标就是高带宽和低延迟,实现这两个指标的前提就是要做到零丢包。
RDMA(Remote Direct Memory Access,远程直接内存访问)技术就是为了解决网络传输中服务器端数据处理延迟而产生的技术,其是基于PFC(Priority-based FlowControl,基于优先级的流量控制)机制,来在某个队列发生拥塞时,向流量的上游设备发送PFC帧,上游设备收到该PFC帧后会暂停对应优先级的流量发送,从而达到避免拥塞的效果。那么对于无损网络的搭建,就非常依赖于各个网络设备节点的支持和维护,一旦某个节点的设备出现故障或者配置错误,将会导致无法识别PFC帧,该节点的流量就无法按照预期降速,从而导致该流量占据大量带宽,其他流量被持续抑制,导致业务无法正常运行。
发明内容
有鉴于此,本发明的目的在于提供一种流量控制方法及相关装置。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种流量控制方法,应用于数据中心网络系统中的服务器,所述数据中心网络系统还包括多个其他服务器、多个存储设备和至少一个交换机,所述交换机用于转发服务器与存储设备之间的流量,所述服务器、所述存储设备和所述交换机均配置有RDMA功能,所述方法包括:
获取所述交换机中每个端口的角色类型,所述端口的角色类型用于表示所述端口与所述服务器连接或者与所述存储设备连接;
接收所述交换机上报的每个所述端口的入方向流量速率和PFC帧发送速率;
根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测,并在检测出存在RDMA功能异常的故障设备时,发送所述故障设备的告警信息和对所述故障设备进行流量控制,所述故障设备为所述服务器或者所述存储设备。
在可选的实施方式中,所述根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测的步骤,包括:
计算同一角色类型的全部端口的入方向流量速率的总速率,并计算同一角色类型中每个端口的入方向流量速率占所述总速率的比值;
获取比值最大的第一端口和比值最小的第二端口,并计算所述第一端口的比值与所述第二端口的比值之间的差值;
在所述差值小于或者等于预设阈值的情况下,确定所述数据中心网络系统中无故障设备;
在所述差值大于预设阈值的情况下,根据同一角色类型的每个端口的PFC帧发送速率进行故障检测。
在可选的实施方式中,所述根据同一角色类型的每个端口的PFC帧发送速率进行故障检测的步骤,包括:
在同一角色类型的每个端口的PFC帧发送速率均非零的情况下,确定所述第一端口所连接的设备为所述故障设备;
在只有所述第一端口的PFC帧发送速率非零的情况下,或者在只有所述第二端口的PFC帧发送速率为零的情况下,确定所述数据中心网络系统中无故障设备。
在可选的实施方式中,所述对所述故障设备进行流量控制的步骤,包括:
向所述交换机发送流控指令,所述流控指令用于指示所述交换机通过所述第一端口向所述故障设备发送流控帧,以使所述故障设备根据所述流控帧降低流量发送速率。
在可选的实施方式中,所述方法还包括:
接收所述交换机上报的同一角色类型的每个端口的当前入方向流量速率,并计算同一角色类型的全部端口的当前入方向流量速率的当前总速率以及同一角色类型中每个端口的当前入方向流量速率占所述当前总速率的当前比值;
获取所述第一端口的当前比值和当前比值最小的第三端口,并计算所述第一端口的当前比值与所述第三端口的当前比值之间的当前差值;
在所述当前差值小于或者等于预设阈值的情况下,定期发送所述故障设备的告警信息;
在所述当前差值大于预设阈值的情况下,对所述第一端口进行流量限速。
在可选的实施方式中,所述对所述第一端口进行流量限速的步骤,包括:
计算所述第一端口的当前入方向流量速率与同一角色类型的全部端口的总个数的商值,并将所述商值设置为所述第一端口的入方向流量速率的上限值。
第二方面,本发明提供一种流量控制装置,应用于数据中心网络系统中的服务器,所述数据中心网络系统还包括多个其他服务器、多个存储设备和至少一个交换机,所述交换机用于转发服务器与存储设备之间的流量,所述服务器、所述存储设备和所述交换机均配置有RDMA功能,所述流量控制装置包括:
角色获取模块,用于获取所述交换机中每个端口的角色类型,所述端口的角色类型用于表示所述端口与所述服务器连接或者与所述存储设备连接;
流量速率获取模块,用于接收所述交换机上报的每个所述端口的入方向流量速率和PFC帧发送速率;
流量控制模块,用于根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测,并在检测出存在RDMA功能异常的故障设备时,发送所述故障设备的告警信息和对所述故障设备进行流量控制,所述故障设备为所述服务器或者所述存储设备。
第三方面,本发明提供一种服务器,所述服务器包括处理器和存储器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现前述实施方式中任一项所述的流量控制方法。
第四方面,本发明提供一种数据中心网络系统,所述数据中心网络系统包括前述实施方式所述的服务器。
第五方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,实现前述实施方式中任一项所述的流量控制方法。
本发明提供的流量控制方法及相关装置,数据中心网络系统中的服务器获取交换机中每个端口的角色类型,该角色类型用于表示端口与服务器连接或者与存储设备连接;然后接收交换机上报的每个端口的入方向流量速率和PFC帧发送速率,接着根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测,并在检测出存在RDMA功能异常的故障设备时,发送故障设备的告警信息和对故障设备进行流量控制。通过获取每个端口的入方向流量速率和PFC帧发送速率,来监控每个端口的流量转发情况并对设备进行故障检测,且在检测出故障设备时对其进行流量控制,从而提高了数据中心网络系统的稳定性,确保业务稳定运行。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本发明实施例提供PFC机制的示意图;
图2示出了本发明实施例提供的数据中心网络系统的示例图;
图3示出了本发明实施例提供的流量控制方法的一种流程示意图;
图4示出了本发明实施例提供的流量控制装置的一种功能模块图;
图5示出了本发明实施例提供的服务器的示意图。
图标:110-处理器;120-存储器;130-通信模块;300-流量控制装置;310-角色获取模块;330-流量速率获取模块;350-流量控制模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
随着当前网络的飞速发展,大数据分析、人工智能等业务的兴起,网络数据流量迎来了爆炸式的增长,在巨大的数据压力下,对数据中心网络的要求越来越高,其中最为主要的两个指标就是高带宽和低延迟,实现这两个指标的前提就是要做到零丢包。RDMA(RemoteDirect Memory Access,远程直接内存访问)技术就是为了解决网络传输中服务器端数据处理延迟而产生的技术,其是基于PFC(Priority-based Flow Control,基于优先级的流量控制)机制,来在某个队列发生拥塞时,向流量的上游设备发送PFC帧,上游设备收到该PFC帧后会暂停对应优先级的流量发送,从而达到避免拥塞的效果。
为了更好地理解本发明,下面将先对PCF机制进行介绍。例如,请参阅图1,设备A即Device A为设备B即Device B的上游设备。基于PCF机制设备A的发送端口可以分成8个用于发送不同优先级流量的发送队列,设备B的接收端口可以分成8个用于接收对应优先级流量的接收队列,两个设备的队列按照流量的优先级一一对应,形成了网络中的8个虚拟化通道,如图1所示的通道0至通道7。
设备B中接收队列的缓存能力是有限的,当设备B的某个接收队列所缓存的流量超过预先配置的阈值时,设备B即向上游设备即设备A发送PFC机制中的控制帧即PFC Pause帧。如图1所示,设备B中接收队列3所缓存的流量超过预设阈值时,设备B就会向设备A发送PFC Pause帧。
设备A收到PFC Pause帧,会根据PFC Pause帧中携带的信息停止发送对应优先级的流量,并将流量缓存在本地。如果设备A本地缓存的流量超过预设阈值,则其向上游设备反馈,经过一级级的反馈,一直反馈到起始设备,从而降低了整个链路中某一优先级流量的速率,消除网络节点因拥塞造成的丢包。
可以看出,无损网络非常依赖于各个网络设备节点的支持和维护,一旦某个节点的设备出现故障或者配置错误,将会导致无法识别PFC帧,该节点的流量就无法按照预期降速,从而导致该流量占据大量带宽,其他流量被持续抑制,导致业务无法正常运行。由此,本发明实施例提供了一种流量控制方法以解决上述问题。
本发明实施提供了一种数据中心网络系统,该数据中心网络系统包括多个服务器、多个存储设备和至少一个交换机,每个服务器、每个存储设备和每个交换机均配置有RDMA功能,交换机的端口可以与服务器连接或者也可以与存储设备连接,交换机用于转发服务器与存储设备之间的流量。
为了便于理解,本发明实施例提供了数据中心网络系统的一个示例图。请参阅图2,数据中心网络系统包括4个服务器即服务器1至服务器4,以及2个存储设备即存储设备1和存储设备2,并且这4个服务器中服务器1为执行本发明实施例提供的流量控制方法的服务器。
数据中心网络系统还包括2个交换机即交换机A和交换机B,每个交换机中都有6个端口参与无损流量转发。交换机A中的端口A1至端口A4分别与服务器1至服务器4连接,端口A5和端口A6分别与存储设备1和存储设备2连接。交换机B中的端口B1至端口B4分别与服务器1至服务器4连接,端口B5和端口B6分别与存储设备1和存储设备2连接。
服务器1至服务器4、存储设备1和存储设备2,还有交换机A和交换机B都配置有RDMA功能。交换机A和交换机B用于转发服务器与存储设备之间的流量。
可以理解的是,对于交换机将服务器的流量转发至存储设备的场景,和交换机将存储设备的流量转发至服务器的场景,这两个场景的基本原理及产生的技术效果相同。为了简要,本发明实施例将以交换机将服务器的流量转发至存储设备的场景作为示例进行说明,即交换机的上游设备是服务器。
下面将以图2所示的数据中心网络系统中的服务器1为例,执行本发明实施例提供的各个方法中的各个步骤,并实现对应技术效果。
请参阅图3,图3是本发明实施例提供的一种流量控制方法的流程示意图。
步骤S202,获取交换机中每个端口的角色类型,端口的角色类型用于表示端口与服务器连接或者与存储设备连接;
在本实施例中,服务器可以为每个交换机创建一个端口组,并将交换机中参与无损流量转发的端口加入其端口组,以便于按照端口组对端口进行管理。可以理解的是,服务器对每个交换机的处理方式类似,为了简要,本发明实施例将以图2所示的交换机A为例进行说明。
例如,服务器1可以为交换机A创建一个端口组A,并将交换机A中参与无损流量转发的端口即端口A1至端口A6加入到端口组A,然后服务器1获取端口组A中每个端口的角色类型。
在一种实现方式中,交换机可以通过INOF(Intelligent Lossless NVMe OverFabric,智能无损存储网络)感知技术获取每个端口所连接的设备的类型,并按照设备的类型来确定每个端口的角色类型且上报给服务器。
例如,交换机A通过INOF感知技术获取到端口A1至端口A4所连接的设备的类型是服务类型,则将端口A1至端口A4的角色类型确定为服务角色即Server,可以简称为Se;并且交换机A获取到端口A5和端口A6所连接的设备的类型是存储类型,则将端口A5和端口A6的角色类型确定为存储角色即San,可以简称为Sa;然后交换机A上报给服务器1,则服务器1获取到端口A1至端口A6的角色类型。
在另一种实现方式中,如果交换机或者设备不支持INOF感知技术,那么交换机也可以基于用户的操作,确定每个端口的角色类型并上报给服务器,以使服务器获取到每个端口的角色类型。
可以理解为,不同类型的设备,其在流量转发场景中的角色是不同的,如在本发明实施例的流量转发场景中,服务器为发送端,存储设备为接收端。并且对于不同类型的设备,其流量传输能力也是不同的,那么本发明实施例将与同一类型的设备所连接的端口确定为相同的角色类型,不仅便于按照角色类型来管理端口,而且还可以根据端口的角色类型进行相应的配置,以与实际的流量转发场景适配,从而提升了数据中心网络系统的性能。
步骤S204,接收交换机上报的每个端口的入方向流量速率和PFC帧发送速率;
在本实施例中,交换机可以对其端口组内的每个端口进行检测,并将每个端口的入方向流量速率和PFC帧发送速率,通过Telemetry(远程数据采集)技术上报给服务器。服务器接收每个端口组中每个端口的入方向流量速率和PFC帧发送速率。
继续以上述示例进行说明,服务器1接收交换机A上报的端口A1至端口A6的入方向流量速率和PFC帧发送速率。其中,入方向流量速率可以理解为端口接收发送端所发送的流量的速率;PFC帧发送速率可以理解为端口向发送端发送PFC Pause帧的速率。
步骤S206,根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测,并在检测出存在RDMA功能异常的故障设备时,发送故障设备的告警信息和对故障设备进行流量控制,故障设备为服务器或者存储设备;
可以理解的是,端口的入方向流量速率和PFC帧发送速率可以体现出该端口的流量转发情况,那么服务器就可以根据同一角色类型的全部待定端口的入方向流量速率和PFC帧发送速率,了解到流量的传输情况,如是否畅通或者是否拥塞等,进而可以确定出是否存在RDMA功能异常的故障设备并进行流量控制。
继续以上述示例进行说明,以角色类型为服务角色的端口为例,即端口A1至端口A4为同一角色类型的端口。服务器1根据端口A1至端口A4的入方向流量速率和PFC帧发送速率进行故障检测。如果经检测后确定不存在RDMA功能异常的故障设备,即每个设备的RDMA功能均正常,那么就不执行任何操作,即不对流量进行管控。
如果经检测后确定出RDMA功能异常的故障设备,那么就发送该故障设备的告警信息以提醒网络运维人员,并且对故障设备进行流量控制,以减小故障设备的流量所占用的带宽。
可见基于上述步骤,数据中心网络系统中的服务器获取交换机中每个端口的角色类型,该角色类型用于表示端口与服务器连接或者与存储设备连接;然后接收交换机上报的每个端口的入方向流量速率和PFC帧发送速率,接着根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测,并在检测出存在RDMA功能异常的故障设备时,发送故障设备的告警信息和对故障设备进行流量控制。通过获取每个端口的入方向流量速率和PFC帧发送速率,来监控每个端口的流量转发情况并对设备进行故障检测,且在检测出故障设备时对其进行流量控制,从而提高了数据中心网络系统的稳定性,确保业务稳定运行。
可选地,对于上述步骤S206中根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测的过程,本发明实施例提供了一种可能的实现方式。
步骤S206-1,计算同一角色类型的全部端口的入方向流量速率的总速率,并计算同一角色类型中每个端口的入方向流量速率占总速率的比值;
步骤S206-3,获取比值最大的第一端口和比值最小的第二端口,并计算第一端口的比值与第二端口的比值之间的差值;
步骤S206-5,在差值小于或者等于预设阈值的情况下,确定数据中心网络系统中无故障设备;
步骤S206-7,在差值大于预设阈值的情况下,根据同一角色类型的每个端口的PFC帧发送速率进行故障检测;
继续以上述示例进行说明,服务器1计算同一角色类型的全部端口即端口A1至端口A4的入方向流量速率的总和,即得到总速率,并且分别计算端口A1至端口A4的入方向流量速率占总速率的比值。
然后,服务器1获取比值最大的端口如端口A2和比值最小的端口如端口A4,得到第一端口即端口A2和第二端口即端口A4,并且计算第一端口即端口A2的比值与第二端口即端口A4的比值之间的差值。
接着,服务器1将差值与预先设定的阈值如30%进行比较。应当理解的是,阈值的具体数值也可以按照实际情况进行设置,本发明实施例不做限定。
如果差值小于或者等于预设阈值,则说明端口A1至端口A4中各个端口接收流量的速率相差较小,即服务器1至服务器4中各自流量所占用的带宽相差较小、较为均衡,那么就判定服务器1至服务器4的RDMA功能均正常即无故障设备。
如果差值大于预设百分比阈值,则说明端口A1至端口A4中各个端口接收流量的速率相差较大,即服务器1至服务器4中各自流量所占用的带宽相差较大,那么就需要根据端口A1至端口A4的PFC帧发送速率进一步判断是否存在故障设备。
可选地,对于上述步骤S206-7,本发明实施例还提供了一种可能的实现方式。
步骤S206-7-1,在同一角色类型的每个端口的PFC帧发送速率均非零的情况下,确定第一端口所连接的设备为故障设备;
步骤S206-7-3,在只有第一端口的PFC帧发送速率非零的情况下,或者在只有第二端口的PFC帧发送速率为零的情况下,确定数据中心网络系统中无故障设备;
在本实施例中,服务器通过确定同一角色类型的每个端口的PFC帧发送速率是否为零,来确定该端口是否向其连接的服务器发送PFC Pause帧。
继续以上述示例进行说明,服务器1分别判断端口A1至端口A4的PFC帧发送速率是否为零后,如果端口A1至端口A4的PFC帧发送速率都不为零,即端口A1至端口A4都在向其连接的服务器即服务器1至服务器4发送PFC Pause帧,则说明在服务器1至服务器4都接收PFCPause帧的情况下,这些服务器的流量发送速率仍然相差很大,即表明存在RDMA功能异常的服务器,那么就判定存在故障设备,并且将比值最大的端口即端口A2所连接的服务器即服务器2确定为故障设备。
如果只有第一端口即端口A2的PFC帧发送速率不为零,即只有端口A2在向其连接的服务器即服务器2发送PFC Pause帧,则说明有可能是因为服务器2的流量发送速率较大,才导致端口A1至端口A4中各个端口接收流量的速率相差较大,那么就判定服务器1至服务器4的RDMA功能均正常即无故障设备。
如果只有第二端口即端口A4的PFC帧发送速率为零,即除以端口A4以外,端口A1至端口A3都在向其连接的服务器即服务器1至服务器3发送PFC Pause帧,则说明有可能是因为服务器4的流量发送速率太小,才导致端口A1至端口A4中各个端口接收流量的速率相差较大,那么就判定服务器1至服务器4的RDMA功能均正常即无故障设备。
可选地,对于上述步骤S206中对故障设备进行流量控制的过程,本发明实施例提供一种可能的实现方式。
步骤S206-9,向交换机发送流控指令,流控指令用于指示交换机通过第一端口向故障设备发送流控帧,以使故障设备根据流控帧降低流量发送速率。
继续以上述示例进行说明,服务器1确定服务器2为故障设备后,可以向交换机A发送流控指令,交换机A按照该流控指令中的内容,通过第一端口即端口A2向服务器2发送端口级别的流控帧,以使服务器2接收到该流控帧后降低其流量发送速率。
可以理解为,当数据中心网络系统中存在故障设备时,由于该故障设备的RDMA功能异常,则无法识别PFC机制的控制帧,即此时发送PFC Pause帧也起不到控制流量的效果,故本发明实施例采用发送端口级别的流控帧的方式,来对故障设备的流量发送速率进行控制。
可选地,在步骤S06-9之后,本发明实施例还提供了一种可能的实现方式。
步骤S206-11,接收交换机上报的同一角色类型的每个端口的当前入方向流量速率,并计算同一角色类型的全部端口的当前入方向流量速率的当前总速率以及同一角色类型中每个端口的当前入方向流量速率占当前总速率的当前比值;
步骤S206-13,获取第一端口的当前比值和当前比值最小的第三端口,并计算第一端口的当前比值与第三端口的当前比值之间的当前差值;
步骤S206-15,在当前差值小于或者等于预设阈值的情况下,定期发送故障设备的告警信息;
步骤S206-17,在当前差值大于预设阈值的情况下,对第一端口进行流量限速。
在本实施例中,服务器指示交换机向故障设备发送流控帧后,还可以根据交换机再次上报的同一角色类型的每个端口的当前入方向流量速率,来确定是否需要对流量进行进一步地控制。
继续以上述示例进行说明,服务器1接收交换机A再次上报的端口A1至端口A4的当前入方向流量速率并计算总和,即得到当前总速率,并且分别计算端口A1至端口A4的当前入方向流量速率与当前总速率的比值。
然后,服务器1获取第一端口即端口A2的当前比值,还有获取当前比值最小的端口如端口A3,得到第三端口即端口A3,并且计算第一端口即端口A2的当前比值与第三端口即端口A3的当前比值之间的当前差值。
接着,服务器1将当前差值与预先设定的阈值如30%进行比较。如果当前差值小于或者等于预设阈值,则说明端口A1至端口A4中各个端口接收流量的速率相差较小,表明发送流控帧后,对服务器2的流量发送速率的控制效果达到了预期效果,即将服务器1至服务器4各自流量所占用的带宽控制到了较为均衡的状态,那么就无需采取其他措施来对流量进行进一步地控制,则服务器1定期发送服务器2的告警信息以持续提醒网络运维人员。
如果当前差值大于预设阈值,则说明端口A1至端口A4中各个端口接收流量的速率相差较大,表明发送流控帧后,对服务器2的流量发送速率的控制效果未到达预期效果,即服务器1至服务器4各自流量所占用的带宽依然相差较大,那么就可以采用流量限速的方式来对服务器2的流量发送速率进行进一步地控制。
可选地,对于步骤S206-17,本发明实施例提供了一种可能的实现方式,即:计算第一端口的当前入方向流量速率与同一角色类型的全部端口的总个数的商值,并将商值设置为第一端口的入方向流量速率的上限值。
在本实施例中,如果通过发送流控帧的方式没有达到预期的流量控制效果,那么服务器就会对故障设备所连接的端口进行流量限速,即强制减小故障设备的流量所占用的带宽,以降低对其他设备的流量的影响,从而确保业务稳定运行。
继续以上述示例进行说明,服务器1可以计算第一端口即端口A2的当前入方向流量速率与同一角色类型的全部端口即端口1至端口4的总个数的商值,并且将这个商值设置为端口A2的入方向流量速率的上限值,即使端口A2接收服务器2的流量的速率不超过该上限值,以减小服务器2的流量所占用的带宽。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种流量控制装置的实现方式。请参阅图4,图4为本发明实施例提供的一种流量控制装置300的功能模块图。需要说明的是,本实施例提供的流量控制装置300,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例未提及之处,可参考上述实施例中相应的内容。该流量控制装置300包括:
角色获取模块310,用于获取交换机中每个端口的角色类型,所述端口的角色类型用于表示所述端口与所述服务器连接或者与所述存储设备连接;
流量速率获取模块330,用于接收交换机上报的每个端口的入方向流量速率和PFC帧发送速率;
流量控制模块350,用于根据同一角色类型的每个端口的入方向流量速率和PFC帧发送速率进行故障检测,并在检测出存在RDMA功能异常的故障设备时,发送故障设备的告警信息和对故障设备进行流量控制,故障设备为服务器或者存储设备。
可选地,流量控制模块350还用于:计算同一角色类型的全部端口的入方向流量速率的总速率,并计算同一角色类型中每个端口的入方向流量速率占总速率的比值;获取比值最大的第一端口和比值最小的第二端口,并计算第一端口的比值与第二端口的比值之间的差值;在差值小于或者等于预设阈值的情况下,确定数据中心网络系统中无故障设备;在差值大于预设阈值的情况下,根据同一角色类型的每个端口的PFC帧发送速率进行故障检测。
可选地,流量控制模块350还用于:在同一角色类型的每个端口的PFC帧发送速率均非零的情况下,确定第一端口所连接的设备为故障设备;在只有第一端口的PFC帧发送速率非零的情况下,或者在只有第二端口的PFC帧发送速率为零的情况下,确定数据中心网络系统中无故障设备。
可选地,流量控制模块350还用于:向交换机发送流控指令,流控指令用于指示交换机通过第一端口向故障设备发送流控帧,以使故障设备根据流控帧降低流量发送速率。
可选地,流量控制模块350还用于:接收交换机上报的同一角色类型的每个端口的当前入方向流量速率,并计算同一角色类型的全部端口的当前入方向流量速率的当前总速率以及同一角色类型中每个端口的当前入方向流量速率占当前总速率的当前比值;获取第一端口的当前比值和当前比值最小的第三端口,并计算第一端口的当前比值与第三端口当前比值之间的当前差值;在当前差值小于或者等于预设阈值的情况下,定期发送故障设备的告警信息;在当前差值大于预设阈值的情况下,对第一端口进行流量限速。
可选地,流量控制模块350还用于:计算第一端口的当前入方向流量速率与同一角色类型的全部端口的总个数的商值,并将商值设置为第一端口的入方向流量速率的上限值。
本发明实施例还提供了一种服务器。请参阅图5,是本发明实施例提供的服务器的示意图,其中服务器包括处理器110、存储器120和通信模块130,各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
处理器110用于读/写存储器120中存储的数据或程序,并执行相应地功能,其可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(NetworkProcessor,网络处理器)等;还可以是DSP数字信号处理器、ASIC专用集成电路、FPGA现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器120用于存储程序或者数据。存储器120可以是RAM(Random AccessMemory,随机存取存储器),ROM(Read Only Memory,只读存储器),PROM(ProgrammableRead-Only Memory,可编程只读存储器),EPROM(Erasable Programmable Read-OnlyMemory,可擦除只读存储器),EEPROM(Electric Erasable Programmable Read-OnlyMemory,电可擦除只读存储器)等。
通信模块130用于与其他设备进行信令或数据的通信。
可以理解的是,图5所示的结构仅为服务器的结构示意图,服务器还可包括比图5中所示更多或者更少的组件,或者具有与图5所示不同的配置。图5中所示的各组件可以采用硬件、软件或其组合实现。
服务器中的存储器存储有计算机程序,处理器执行计算机程序时,实现本发明实施例揭示的流量控制方法。
本发明实施例还提供了一种数据中心网络系统,其包括本发明实施例提供的服务器。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本发明实施例揭示的流量控制方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 流量控制装置、流量控制方法和程序存储介质
- 一种流量控制方法及装置
- 一种数据流量控制方法、装置及系统
- 具有小流量控制功能的无负压供水装置及其控制方法
- 一种芯片实现上CPU协议报文层次化流量控制的方法及装置
- 流量控制器和流量控制器的组成部分以及相关的方法
- 用于流量控制阀的自调节的调整装置,具有该装置的温度控制系统和分配器装置以及相关方法