带宽控制方法和相关设备与流程

文档序号:16105075发布日期:2018-11-30 19:08阅读:183来源:国知局

本发明涉及通信技术领域,具体涉及带宽控制方法和相关设备。



背景技术:

随着互联网的发展,各种网络应用层出不穷,不断侵蚀网络带宽。在很多场景下(如企业网络中),需要限制无关流量对正常业务的影响,例如在企业网络通过限制视频等流量来保证财务数据流量正常运转,因此带宽限制的技术应运而生。

例如,目前在防火墙设备等网络设备中开始广泛应用带宽限制技术。例如现有防火墙设备主要为分布式防火墙设备,其中,分布式防火墙设备中存在多个处理器,并且分布式防火墙设备中的多个处理器并行独立的进行输入流量的带宽限制处理(即分布式限流)。

在对现有技术的研究和实践过程中,本发明的发明人发现,由于现有例如分布式防火墙设备、网关等网络设备中,每个处理器都是并行独立对输入流量进行带宽限制,因此难以实现对整机流量进行较为精确的带宽限制,尤其在一些输入流量经常突变的场景下更难以较精确的带宽限制处理。



技术实现要素:

本发明实施例提供带宽控制方法和相关设备,以期提高网络设备整机流量的带宽限制精确度。

第一方面,提供一种带宽控制方法,包括:

监控网络设备中的第一处理器的工作状态参数,其中,所述网络设备包括至少两个处理器;

当监控到所述第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流,切换为由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流。

结合第一方面,在第一方面的第一种可能的实施方式中,若所述第一处理器的工作状态参数包括所述第一处理器的占用率,所述第一限流模式切换条件包括所述第一处理器的占用率大于或等于第一阈值;

或者,若所述第一处理器的工作状态参数包括所述第一处理器的缓存占用率,所述第一限流模式切换条件包括所述第一处理器的缓存占用率大于或等于第二阈值;

或者,所述第一处理器的工作状态参数包括由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,所述第一处理器的工作状态参数包括流量速率比值,所述第一限流模式切换条件包括所述流量速率比值大于或等于第四阈值,其中,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括所述第一处理器的占用率大于或等于第一阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率和流量速率比值,所述第一限流模式切换条件包括所述第一处理器的占用率大于或等于第一阈值,且所述流量速率比值大于或等于第四阈值,其中,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的缓存占用率和流量速率比值,所述第一限流模式切换条件包括所述第一处理器的缓存占用率大于或等于第二阈值,且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括流量速率比值和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括由所述第一处理器进行限流的总流量速率大于或等于第三阈值,且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率、所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,且所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率、所述第一处理器的缓存占用率和流量速率比值,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,且所述第一处理器的缓存占用率大于或等于第二阈值,且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率、流量速率比值和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括流量速率比值、所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括流量速率比值、所述第一处理器的占用率、所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值。

结合第一方面或第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述第一类型数据流为由所述第一处理器进行集中式限流的流量速率最大的数据流,或所述第一类型数据流为由所述第一处理器进行集中式限流的流量速率最小的数据流;或者所述第一类型数据流为由所述第一处理器进行集中式限流的任意一种类型的数据流。

结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,

所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流包括:所述第一处理器接收所述至少两个处理器之中的第二处理器向所述第一处理器转发的第一类型数据流,以及通过所述网络设备的物理网口接收第一类型数据流;所述第一处理器对所述第二处理器转发的所述第一类型数据流以及所述通过所述网络设备的物理网口接收到的第一类型数据流进行限流;

其中,所述第二处理器转发的所述第一类型数据流是所述第二处理器在根据所述至少两个处理器中的至少一个处理器和数据流类型之间的映射关系,确定出与所述第一类型数据流的具有映射关系的所述第一处理器之后,将所述第二处理器通过所述网络设备的物理网口接收到的第一类型数据流向所述第一处理器转发的。

结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,

所述方法还包括:当监控到所述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,收集所述至少两个处理器中的每个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的流量速率;根据所述至少两个处理器中的每个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的流量速率,与所述至少两个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的总流量速率的比值,确定所述至少两个处理器中的每个处理器对应的对所述第一类型数据流进行限流的限流带宽值;

其中,所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,包括:所述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过所述网络设备的物理网口接收到的第一类型数据流进行限流。

结合第一方面的第一种可能的实施方式,在第一方面的第五种可能的实施方式中,

所述方法还包括:当信息收集条件满足时,收集所述至少两个处理器中的每个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的流量速率;根据所述至少两个处理器中的每个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的流量速率,与所述至少两个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的总流量速率的比值,确定所述至少两个处理器中的每个处理器对应的对所述第一类型数据流进行限流的限流带宽值;

其中,所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,包括:所述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过所述网络设备的物理网口接收到的第一类型数据流进行限流;

所述信息收集条件包括如下条件的至少一种:所述第一处理器的占用率大于或等于第五阈值、所述第一处理器的缓存占用率大于或等于第六阈值、所述第一处理器进行限流的总流量速率大于或等于第七阈值、所述流量速率比值大于或等于第八阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

其中,所述第五阈值小于或等于所述第一阈值,所述第六阈值小于或等于所述第二阈值,所述第七阈值小于或等于所述第三阈值、所述第八阈值小于或等于所述第四阈值。

结合第一方面或第一方面的第一种可能的实施方式或第一方面的第二种可能的实施方式或第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式或第一方面的第五种可能的实施方式,在第一方面的第六种可能的实施方式中,在所述切换为由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流之后,所述方法还包括:

当监控到所述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流;

或者,

当监控到所述至少两个处理器中的第三处理器的工作状态参数符合预设的第二限流模式切换条件,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第三处理器对输入到所述网络设备中的第一类型数据流进行集中式限流。

结合第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,所述将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流,包括:

当所述第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流;其中,所述第一和值为所述第一处理器当前进行限流处理的总流量速率加上,所述至少两个处理器中除所述第一处理器之外的剩余处理器进行限流处理的所述第一类型数据流的总流量速率,所述第一处理器的最大允许处理流量速率大于或等于第一和值。

结合第一方面的第六种可能的实施方式或第一方面的第七种可能的实施方式,在第一方面的第八种可能的实施方式中,所述第二限流模式切换条件可以包括如下条件的至少一种:第一处理器的占用率小于或等于第十一阈值、第一处理器的缓存占用率小于或等于第十二阈值、第一处理器进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,所述流量速率比值为由第一处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

第二方面,提供一种带宽控制方法,可包括:

监控网络设备中的第一处理器的工作状态参数,其中,所述网络设备包括至少两个处理器;

当监控到所述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流。

结合第二方面,在第二方面的第一种可能的实施方式中,所述第二限流模式切换条件可以包括如下条件的至少一种:第一处理器的占用率小于或等于第十一阈值、第一处理器的缓存占用率小于或等于第十二阈值、第一处理器进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,所述流量速率比值为由第一处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

第三方面,提供一种带宽控制装置,可包括:

监控单元,用于监控网络设备中的第一处理器的工作状态参数,其中,所述网络设备包括至少两个处理器;

第一切换控制单元,用于当所述监控单元监控到所述第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流,切换为由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流。

结合第三方面,在第三方面的第一种可能的实施方式中,若所述第一处理器的工作状态参数包括所述第一处理器的占用率,所述第一限流模式切换条件包括所述第一处理器的占用率大于或等于第一阈值;

或者,若所述第一处理器的工作状态参数包括所述第一处理器的缓存占用率,所述第一限流模式切换条件包括所述第一处理器的缓存占用率大于或等于第二阈值;

或者,所述第一处理器的工作状态参数包括由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,所述第一处理器的工作状态参数包括流量速率比值,所述第一限流模式切换条件包括所述流量速率比值大于或等于第四阈值,其中,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括所述第一处理器的占用率大于或等于第一阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率和流量速率比值,所述第一限流模式切换条件包括所述第一处理器的占用率大于或等于第一阈值,且所述流量速率比值大于或等于第四阈值,其中,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的缓存占用率和流量速率比值,所述第一限流模式切换条件包括所述第一处理器的缓存占用率大于或等于第二阈值,且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括流量速率比值和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括由所述第一处理器进行限流的总流量速率大于或等于第三阈值,且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率、所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,且所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率、所述第一处理器的缓存占用率和流量速率比值,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,且所述第一处理器的缓存占用率大于或等于第二阈值,且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括所述第一处理器的占用率、流量速率比值和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括流量速率比值、所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

或者,

若所述第一处理器的工作状态参数包括流量速率比值、所述第一处理器的占用率、所述第一处理器的缓存占用率和由所述第一处理器进行限流的总流量速率,所述第一限流模式切换条件包括:所述第一处理器的占用率大于或等于第一阈值,所述第一处理器的缓存占用率大于或等于第二阈值,且由所述第一处理器进行限流的总流量速率大于或等于第三阈值;且所述流量速率比值大于或等于第四阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值。

结合第三方面或第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述第一类型数据流为由所述第一处理器进行集中式限流的流量速率最大的数据流,或所述第一类型数据流为由所述第一处理器进行集中式限流的流量速率最小的数据流;或者所述第一类型数据流为由所述第一处理器进行集中式限流的任意一种类型的数据流。

结合第三方面或第三方面的第一种可能的实施方式或第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式中,

所述带宽控制装置还包括:第一确定单元,用于当所述监控单元监控到所述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,收集所述至少两个处理器中的每个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的流量速率;根据所述至少两个处理器中的每个处理器当前通过所述物理网口接收所述第一类型数据流的流量速率,与所述至少两个处理器当前通过所述物理网口接收所述第一类型数据流的总流量速率的比值,确定所述至少两个处理器中的每个处理器对应的对所述第一类型数据流进行限流的限流带宽值。

结合第三方面的第一种可能的实施方式,在第三方面的第四种可能的实施方式中,所述带宽控制装置还包括:

第二确定单元,用于当信息收集条件满足时,收集所述至少两个处理器中的每个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的流量速率;根据所述至少两个处理器中的每个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的流量速率,与所述至少两个处理器当前通过所述网络设备的物理网口接收所述第一类型数据流的总流量速率的比值,确定所述至少两个处理器中的每个处理器对应的对所述第一类型数据流进行限流的限流带宽值;

所述信息收集条件包括如下条件的至少一种:所述第一处理器的占用率大于或等于第五阈值、所述第一处理器的缓存占用率大于或等于第六阈值、所述第一处理器进行限流的总流量速率大于或等于第七阈值、所述流量速率比值大于或等于第八阈值,所述流量速率比值为由所述第一处理器进行限流的总流量速率与所述第一处理器的最大允许处理流量速率之间的比值;

其中,所述第五阈值小于或等于所述第一阈值,所述第六阈值小于或等于所述第二阈值,所述第七阈值小于或等于所述第三阈值、所述第八阈值小于或等于所述第四阈值。

结合第三方面或第三方面的第一种可能的实施方式或第三方面的第二种可能的实施方式或第三方面的第三种可能的实施方式或第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式中,

所述带宽控制装置还包括:第二切换控制单元,用于在所述第一切换控制单元将由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流,切换为由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流之后,当所述监控单元监控到所述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流;

或者,

所述带宽控制装置还包括:

第三切换控制单元,用于在所述第一切换控制单元将由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流,切换为由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流之后,当所述监控单元监控到所述至少两个处理器中的第三处理器的工作状态参数符合预设的第二限流模式切换条件,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第三处理器对输入到所述网络设备中的第一类型数据流进行集中式限流。

结合第三方面的第五种可能的实施方式,在第三方面的第六种可能的实施方式中,在所述将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流的方面,所述第二切换控制单元具体用于,当所述第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流;其中,所述第一和值为所述第一处理器当前进行限流处理的总流量速率加上,所述至少两个处理器中除所述第一处理器之外的剩余处理器进行限流处理的所述第一类型数据流的总流量速率,所述第一处理器的最大允许处理流量速率大于或等于第一和值。

结合第三方面的第五种可能的实施方式或第三方面的第六种可能的实施方式,在第三方面的第七种可能的实施方式中,所述第二限流模式切换条件包括如下条件的至少一种:第一处理器的占用率小于或等于第十一阈值、第一处理器的缓存占用率小于或等于第十二阈值、第一处理器进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,所述流量速率比值为由第一处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

第四方面,提供一种带宽控制装置,可包括:

监控单元,用于监控网络设备中的第一处理器的工作状态参数,其中,所述网络设备包括至少两个处理器;

第二切换控制单元,用于当所述监控单元监控到所述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由所述至少两个处理器对输入到所述网络设备中的第一类型数据流进行分布式限流,切换为由所述第一处理器对输入到所述网络设备中的第一类型数据流进行集中式限流。

结合第四方面,在第四方面的第一种可能的实施方式中,所述第二限流模式切换条件可以包括如下条件的至少一种:第一处理器的占用率小于或等于第十一阈值、第一处理器的缓存占用率小于或等于第十二阈值、第一处理器进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,所述流量速率比值为由第一处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

可以看出,本发明实施例的技术方案中,通过监控包括至少两个处理器的网络设备中的第一处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。由于引入了根据处理器的工作状态参数,在集中式限流和分布式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种带宽控制方法的流程示意图;

图2是本发明实施例提供的另一种带宽控制方法的流程示意图;

图3-a是本发明实施例提供的另一种带宽控制方法的流程示意图;

图3-b是本发明实施例提供的一种网络设备的内部架构示意图;

图3-c是本发明实施例提供的另一种网络设备的内部架构示意图;

图3-d是本发明实施例提供的另一种网络设备的内部架构示意图;

图3-e是本发明实施例提供的另一种网络设备的内部架构示意图;

图4-a是本发明实施例提供的另一种带宽控制方法的流程示意图;

图4-b是本发明实施例提供的另一种网络设备的内部架构示意图;

图4-c是本发明实施例提供的另一种网络设备的内部架构示意图;

图4-d是本发明实施例提供的另一种网络设备的内部架构示意图;

图4-e是本发明实施例提供的另一种网络设备的内部架构示意图;

图5-a是本发明实施例提供的一种带宽控制装置的示意图;

图5-b是本发明实施例提供的另一种带宽控制装置的示意图;

图5-c是本发明实施例提供的另一种带宽控制装置的示意图;

图5-d是本发明实施例提供的另一种带宽控制装置的示意图;

图5-e是本发明实施例提供的另一种带宽控制装置的示意图;

图6是本发明实施例提供的另一种带宽控制装置的示意图;

图7是本发明实施例提供的一种网络设备的架构示意图;

图8是本发明实施例提供的另一种网络设备的架构示意图;

图9是本发明实施例提供的另一种网络设备的架构示意图;

图10是本发明实施例提供的另一种网络设备的架构示意图。

具体实施方式

本发明实施例提供带宽控制方法和相关设备,以期提高网络设备整机流量的带宽限制精确度。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

以下分别进行详细说明。

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明一种带宽控制方法的一个实施例,一种带宽控制方法可包括:监控网络设备中的第一处理器的工作状态参数,其中,上述网络设备包括至少两个处理器;当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

首先参见图1,图1是本发明的一个实施例提供的一种带宽控制方法的流程示意图,其中,请参见图1,本发明的一个实施例提供的一种带宽控制方法可包括以下内容:

101、监控网络设备中的第一处理器的工作状态参数,其中,上述网络设备包括至少两个处理器。

其中,第一处理器可为上述至少两个处理器中的任意一个处理器。当然第一处理器也可为上述至少两个处理器中的某个特定处理器。

102、当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

其中,由某个处理器(例如第一处理器等)对输入到网络设备中的某个类型数据流(例如第一类型数据流)进行集中式限流,可以是指由只由该某个处理器对输入网络设备的所有该某个类型的数据流进行限流处理。

其中,由网络设备中的至少两个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,可以是指由网络设备中的上述至少两个处理器中的每个处理器分别对自身从该网络设备的物理网口接收到的该某个类型的数据流进行限流。或者,由网络设备中的至少两个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,也可以是指由网络设备中的至少两个处理器共同对输入该网络设备的所有该某个类型的数据流进行限流处理,其中,上述至少两个处理器中的每个处理器对输入该网络设备的该某个类型的数据流中的其中一部分进行限流处理,上述至少两个处理器中的任意两个处理器进行限流处理的该某个类型的数据流不完全相同或互不不同。

例如,第一类型数据流可以是视频数据流、点对点(P2P,point to Point)数据流、超文本传输协议(HTTP,Hypertext transfer protocol)数据流、文件传输协议(FTP,File Transfer Protocol)数据流或其它类型的需要进行限流的数据量。

举例来说,可由第一处理器执行步骤101~102,即,第一处理器可监控网络设备中的第一处理器的工作状态参数,其中,上述网络设备包括至少两个处理器,当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,第一处理器可将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

又举例来说,网络设备中还可包括主控处理器,主控处理器不同于上述至少两个处理器中的任意1个处理器。其中,主控处理器一般不进行具体的限流处理。可由主控处理器执行步骤101~102,主控处理器可监控网络设备中的第一处理器的工作状态参数,其中,上述网络设备包括至少两个处理器,当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,主控处理器可将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

可以看出,本实施例提供的技术方案中,通过监控包括至少两个处理器的网络设备中的第一处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。由于引入了根据处理器的工作状态参数,在集中式限流和分布式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

在本发明的一些实施例中,第一类型数据流可为输入到上述网络设备中的任意一个数据流,或者,第一类型数据流可为与第一处理器具有映射关系的数据流。

例如,上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次小的数据流;或上述第一类型数据流为由上述第一处理器进行集中式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述第一处理器进行集中式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

可以理解,若上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率较大(如最大或次大等)的数据流,则执行将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,有利于较迅速改善第一处理器的占用率或缓存占用率等等,进而有利于消除处理瓶颈问题。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

举例来说,假设若上述第一处理器的工作状态参数包括上述第一处理器的占用率,则上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率,则上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值。

又举例来说,上述第一处理器的工作状态参数包括由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,上述第一处理器的工作状态参数包括流量速率比值,上述第一限流模式切换条件可包括上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和上述第一处理器的缓存占用率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和流量速率比值,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和流量速率比值,其中,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括由上述第一处理器进行限流的总流量速率大于或等于第三阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和流量速率比值,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的占用率大于或等于第一阈值,上述第一处理器的缓存占用率大于或者等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

可以理解,可根据不同应用场景需求来设定第一阈值、第二阈值、第三阈值和第四阈值的取值。

举例来说,第一阈值的取值范围例如可为75~95%或其它范围,例如第一阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第二阈值的取值范围例如可为75~96%或其它的范围,例如第二阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第三阈值的取值范围例如可为100M~500M或其它范围,例如第三阈值的取值可为100M、150M、250M、300M、350M、450M、500M或其它值。

举例来说,第四阈值的取值范围例如可为75~96%或其它的范围,例如第四阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

在本发明的一些实施例中,上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,例如可以包括:上述第一处理器接收上述至少两个处理器之中的第二处理器向上述第一处理器转发的第一类型数据流,以及通过上述网络设备的物理网口接收第一类型数据流;上述第一处理器对上述第二处理器转发的上述第一类型数据流以及上述通过上述网络设备的物理网口接收到的第一类型数据流进行限流;其中,上述第二处理器转发的上述第一类型数据流是上述第二处理器在根据上述至少两个处理器中的至少一个处理器和数据流类型之间的映射关系,确定出与上述第一类型数据流的具有映射关系的上述第一处理器之后,将上述第二处理器通过上述网络设备的物理网口接收到的第一类型数据流向上述第一处理器转发的。

在本发明的一些实施例中,处理器和数据流类型之间的映射关系可以通过映射关系表进行记录。或者,处理器和数据流类型之间的映射关系也可以通过设定算法计算得到。举例来说,用数据流的类型编号k除以网络设备中参与限流处理的处理器总个数N,所得到的余数即可为与该数据流类型具有映射关系的处理器的编号。例如网络设备中参与限流处理的处理器个数为10,而某个类型数据流的类型编号为15,则用该某个类型数据流的类型编号15,除以网络设备中参与限流处理的处理器总数10,所得到的余数为5,因此,与该某个类型数据流具有映射关系的处理器的编号为5,即5号处理器与该某个类型数据流之间具有映射关系。又例如,网络设备中参与限流处理的处理器总数为8,而某个类型数据流的类型编号为6,则用该某个类型数据流的类型编号6,除以网络设备中参与限流处理的处理器个数8,所得到的余数为6,因此与该某个类型数据流具有映射关系的处理器的编号为6,即6号处理器与该某个类型数据流之间具有映射关系,以此类推。又例如假设网络设备中参与限流处理的处理器的总数为4,有10个类型的数据流需要进行限流处理,因此类型编号为1、5、9的数据流与1号处理器具有映射关系,类型编号为2、6、10的数据流与2号处理器具有映射关系,类型编号为3、7的数据流与3号处理器具有映射关系,类型编号为4和8的数据流与4号处理器具有映射关系,以此类推。当然,处理器和数据流类型之间的映射关系也可以通过其它的方式进行确定,本实施例中对此不作限定。

在本发明的一些实施例中,上述方法可选的还可进一步包括:

当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

在本发明另一些实施例中,上述方法可选的还可进一步包括:当信息收集条件满足时,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。

其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括,上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

其中,上述信息收集条件可以包括如下条件的至少一种:

上述第一处理器的占用率大于或等于第五阈值、上述第一处理器的缓存占用率大于或等于第六阈值、上述第一处理器进行限流的总流量速率大于或等于第七阈值、上述流量速率比值大于或等于第八阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

其中,上述第五阈值小于或等于上述第一阈值。上述第六阈值小于或等于上述第二阈值。上述第七阈值小于或等于上述第三阈值。上述第八阈值小于或等于上述第四阈值。

在本发明的又一些实施例中,上述方法还可包括:实时或周期性的收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括,上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

举例来说,某个处理器(如第一处理器)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值越大,则可确定该某个处理器对应的对上述第一类型数据流进行限流的限流带宽值越大,某个处理器(如第一处理器)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值越小,则可以确定该某个处理器对应的对上述第一类型数据流进行限流的限流带宽值越小。例如,某个处理器(如第一处理器)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,可等于该某个处理器对应的对上述第一类型数据流进行限流的限流带宽值,与上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值的比值。例如,若第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值等于20%,第一处理器对上述第一类型数据流进行限流的限流带宽值,与上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值的比值也等于20%,假设至少两个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值100M,则第一处理器对应的对上述第一类型数据流进行限流的限流带宽值为20M,以此类推。

又举例来说,某个处理器(如第一处理器)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值所落入的比值区间之内的值越大,则可确定该某个处理器对应的对上述第一类型数据流进行限流的限流带宽值越大。某个处理器(如第一处理器)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值所落入的比值区间之内的值的越小,则可确定该某个处理器对应的对上述第一类型数据流进行限流的限流带宽值越小。

例如存在如下5个比值区间:[0,20%),[20,40%)、[40,60%)、[60,80%)和[80,100%],每个比值区间对应不同的限流带宽值,比值区间之内的值越大的比值区间所对应的限流带宽值也就越大,比值区间之内的值越小的比值区间所对应的限流带宽值也就越小。或者,比值区间之内的值越大的比值区间所对应的限流带宽值占限流总带宽值的比例越大,比值区间之内的值越小的比值区间所对应的限流带宽值占限流总带宽值的比例越小,以此类推。

在本发明的一些实施例中,上述至少两个处理器中的每个处理器可对应网络设备的不同物理网口(例如网络设备的4个处理器和网络设备的4个物理网口一一对应),上述至少两个处理器中的每个处理器可通过网络设备的与之对应的物理网口接收数据流。或者,上述至少两个处理器中的每个处理器可对应网络设备的同一物理网口(例如,网络设备的4个处理器和网络设备的1个物理网口对应),上述至少两个处理器中的每个处理器可通过网络设备的同一物理网口接收数据流。或者,网络设备的不同物理网口可对应上述至少两个处理器中的不同处理器,但是网络设备的同一物理网口可能对应上述至少两个处理器中的一个或多个处理器(举例来说,网络设备的2个处理器和网络设备的2个物理网口一一对应,而该网络设备的另2个处理器和该网络设备的另1个物理网口对应,其他变形结构可以此类推),上述至少两个处理器中的每个处理器可通过网络设备的与之对应的物理网口接收数据流。

在本发明的一些实施例中,在上述切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,上述方法可选的还可进一步包括:当监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

在本发明一些实施例中,上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,可包括:当上述第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第一和值为上述第一处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第一处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第一处理器的最大允许处理流量速率大于或等于上述第一和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

此外,在本发明的另一些实施例中,在上述切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,上述方法还可包括:当监控到上述至少两个处理器中的第三处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。其中,在这种场景下,各处理器可记录下第三处理器和第一类型数据流之间的映射关系,以便于根据该映射关系来将自身物理网口接收上述第一类型数据流转发给第三处理器进行集中式限流。

在本发明的一些实施例中,上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,包括:当上述第三处理器的最大允许处理流量速率与第二和值之间的差值大于或等于第十阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第二和值为上述第三处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第三处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第三处理器的最大允许处理流量速率大于或等于上述第二和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

其中,可以理解,可根据不同应用场景需求来设定第九阈值和第十阈值的取值。第九阈值和第十阈值可大于或等于0,当然第九阈值小于上述第一处理器的最大允许处理流量速率。第十阈值小于上述第三处理器的最大允许处理流量速率。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如第一处理器或第三处理器等)的占用率小于或等于第十一阈值、处理器(如第一处理器或第三处理器等)的缓存占用率小于或等于第十二阈值、处理器(如第一处理器或第三处理器等)进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器(如第一处理器或第三处理器等)进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

本发明带宽控制方法的另一个实施例,另一种带宽控制方法可包括:监控网络设备中的第一处理器的工作状态参数;其中,上述网络设备包括至少两个处理器;当监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

请参见图2,图2是本发明的另一个实施例提供的另一种带宽控制方法的流程示意图,其中,请参见图2,本发明的另一个实施例提供的另一种带宽控制方法可包括以下内容:

201、监控网络设备中的第一处理器的工作状态参数。

其中,上述网络设备包括至少两个处理器。其中,第一处理器可为上述至少两个处理器中的任意一个处理器。当然第一处理器也可为上述至少两个处理器中的某个特定处理器。

202、当监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

其中,由某个处理器(例如第一处理器等)对输入到网络设备中的某个类型数据流(例如第一类型数据流)进行集中式限流,可以是指由只由该某个处理器对输入网络设备的所有该某个类型的数据流进行限流处理。

其中,由网络设备中的至少两个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,可以是指由网络设备中的上述至少两个处理器中的每个处理器分别对自身从该网络设备的物理网口接收到的该某个类型的数据流进行限流。或者,由网络设备中的至少两个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,也可以是指由网络设备中的至少两个处理器共同对输入该网络设备的所有该某个类型的数据流进行限流处理,其中,上述至少两个处理器中的每个处理器对输入该网络设备的该某个类型的数据流中的其中一部分进行限流处理,上述至少两个处理器中的任意两个处理器进行限流处理的该某个类型的数据流不完全相同或互不不同。

例如,第一类型数据流可以是视频数据流、HTTP数据流、FTP数据流或点对点P2P数据流或其它类型的需要进行限流的数据量。

在本发明的一些实施例中,第一类型数据流可为输入到上述网络设备中的任意一个数据流,或者,第一类型数据流可为与第一处理器具有映射关系的数据流。

例如,上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率次小的数据流;或上述第一类型数据流为由上述至少两个处理器进行分布式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述至少两个处理器进行分布式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

举例来说,可由第一处理器执行步骤201~202,即,第一处理器可监控网络设备中的第一处理器的工作状态参数;其中,上述网络设备包括至少两个处理器;当第一处理器监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,第一处理器将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

又举例来说,网络设备中还可包括主控处理器,主控处理器不同于上述至少两个处理器中的任意1个处理器。其中,主控处理器一般不进行具体的限流处理。可由主控处理器执行步骤201~202,主控处理器可监控网络设备中的第一处理器的工作状态参数;其中,上述网络设备包括至少两个处理器;当主控处理器监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,主控处理器将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,

可以看出,本实施例提供的技术方案中,通过监控包括至少两个处理器的网络设备中的第一处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。由于引入了根据处理器的工作状态参数,在分布式限流和集中式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如第一处理器等)的占用率小于或等于第十一阈值、处理器(如第一处理器等)的缓存占用率小于或等于第十二阈值、处理器(如第一处理器等)进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器(如第一处理器等)进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

在本发明的一些实施例中,上述至少两个处理器中的每个处理器可对应网络设备的不同物理网口(例如网络设备的4个处理器和网络设备的4个物理网口一一对应),上述至少两个处理器中的每个处理器可通过网络设备的与之对应的物理网口接收数据流。或者,上述至少两个处理器中的每个处理器可对应网络设备的同一物理网口(例如,网络设备的4个处理器和网络设备的1个物理网口对应),上述至少两个处理器中的每个处理器可通过网络设备的同一物理网口接收数据流。或者,网络设备的不同物理网口可对应上述至少两个处理器中的不同处理器,但是网络设备的同一物理网口可能对应上述至少两个处理器中的一个或多个处理器(举例来说,网络设备的2个处理器和网络设备的2个物理网口一一对应,而该网络设备的另2个处理器和该网络设备的另1个物理网口对应,其他变形结构可以此类推),上述至少两个处理器中的每个处理器可通过网络设备的与之对应的物理网口接收数据流。

为便于更好的理解和实施本发明实施例的技术方案,下面通过一些具体的应用场景进行举例介绍。

请参见图3-a,图3-a是本发明的另一个实施例提供的另一种带宽控制方法的流程示意图,其中,请参见图3-a,本发明的另一个实施例提供的另一种带宽控制方法可包括以下内容:

301、网络设备中的每个处理器分别对输入到上述网络设备中的、且与每个处理器具有映射关系的类型的数据流进行集中式限流。

例如图3-b~图3-e所示,假设网络设备包括处理器01、处理器02、处理器03和处理器04等4个参与限流处理的处理器。其中,图3-b举例的架构中,处理器01、处理器02、处理器03和处理器04通过网络设备的同一个物理网口接收数据流。图3-c举例的架构中,处理器01、处理器02、处理器03和处理器04通过网络设备的不同物理网口接收数据流。图3-d举例的架构中,处理器01、处理器02通过网络设备的一个物理网口接收数据流,而处理器03和处理器04通过网络设备的另一个物理网口接收数据流。图3-e举例的架构中,处理器01、处理器02和处理器03通过网络设备的一个物理网口接收数据流,而处理器04通过网络设备的另一个物理网口接收数据流。

在图3-b~图3-e所示架构中,网络设备中的处理器01可对与处理器01具有映射关系的类型的数据流进行集中式限流。网络设备中的处理器02可对与处理器02具有映射关系的类型的数据流进行集中式限流。网络设备中的处理器03可对与处理器03具有映射关系的类型的数据流进行集中式限流。网络设备中的处理器04可对与处理器04具有映射关系的类型的数据流进行集中式限流。

在本发明一些实施例中,处理器和数据流类型之间的映射关系可以通过映射关系表进行记录。或者,处理器和数据流类型之间的映射关系也可以通过设定算法计算得到。举例来说,用数据流的类型编号k除以网络设备中参与限流处理的处理器总数N(k%N),所得到的余数即可为与该数据流类型具有映射关系的处理器的编号。例如假设有10个类型的数据流需进行限流处理,因此类型编号为1、5和9的数据流与01号处理器具有映射关系,类型编号为2、6和10的数据流与02号处理器具有映射关系。类型编号为3和7的数据流与03号处理器具有映射关系。而类型编号为4和8的数据流与04号处理器具有映射关系,以此类推。在上述举例场景中,网络设备中的处理器01可对与处理器01具有映射关系的类型编号为1、5和9的数据流进行集中式限流。同理,网络设备中的处理器02可对与处理器02具有映射关系的类型编号为2、6和10的数据流进行集中式限流。网络设备中的处理器03可对与处理器03具有映射关系的类型编号为3和7的数据流进行集中式限流,网络设备中的处理器04可对与处理器04具有映射关系的类型编号为4和8的数据流进行集中式限流。

其中,由于在对某个类型的数据流进行集中式限流时,是由网络设备的某一个处理器对输入网络设备的所有该某个类型的数据流进行限流。因此对于由处理器01进行集中式限流的数据流(例如类型编号为1、5和9的数据流),处理器02、处理器03和处理器04均可将其从网络设备的物理网口接收到的由处理器01进行集中式限流的数据流(例如,类型编号为1、5和9的数据流)转发给处理器01,以便于处理器01对输入网络设备的所有相应类型数据流(例如,类型编号为1、5和9的数据流)进行限流。同理,对于由处理器02进行集中式限流的数据流(例如类型编号为2、6和10的数据流),处理器01、处理器03和处理器04均将其从网络设备的物理网口接收到的由处理器02进行集中式限流的数据流(例如类型编号为2、6和10的数据流)转发给处理器02,以便处理器02对输入网络设备的所有相应类型数据流(例如类型编号为2、6和10的数据流)进行限流。对于由处理器03进行集中式限流的数据流(例如类型编号为3和7的数据流),处理器01、处理器02和处理器04均将从网络设备的物理网口接收到的由处理器03进行集中式限流的数据流(例如类型编号为3和7的数据流)转发给处理器03,以便处理器03对输入网络设备的所有相应类型数据流(例如类型编号为3和7的数据流)进行限流。同理,对于由处理器04进行集中式限流的数据流(例如类型编号为4和8的数据流),处理器01、处理器02和处理器03均将从网络设备的物理网口接收到的由处理器04进行集中式限流的数据流(例如类型编号为4和8的数据流)转发给处理器04,以便处理器04对输入网络设备的所有相应类型数据流(例如类型编号为4和8的数据流)进行限流。其它场景可以此类推。

302、网络设备中的各处理器分别监控自身的工作状态参数。

如在图3-b所示架构中,网络设备中的处理器01也可监控处理器01的工作状态参数。网络设备中的处理器02也可监控处理器02的工作状态参数。网络设备中的处理器03也可监控处理器03的工作状态参数。网络设备中的处理器04也可监控处理器04的工作状态参数。

303、当网络设备中的第一处理器(第一处理器例如可为处理器01、处理器02、处理器03或处理器04等)监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,则第一处理器可将由上述第一处理器对输入到上述网络设备中的第一类型的数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的上述第一类型的数据流进行分布式限流,所述第一类型与该第一处理器具有映射关系的。

例如,当处理器01监控到处理器01的工作状态参数符合预设的第一限流模式切换条件,将由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

具体例如,当处理器01监控到处理器01的工作状态参数符合预设的第一限流模式切换条件时,处理器01可向处理器02、处理器03和处理器04发送分布式限流指令(该分布式限流指令用于指示处理器02、处理器03和处理器04对输入到上述网络设备中的第一类型数据流进行分布式限流,即,该分布式限流指令用于指示处理器02、处理器03和处理器04各自对自身通过上述网络设备的物理网口接收到的第一类型数据流进行限流),进而将由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

在本发明一些实施例中,上述第一类型数据流可为由上述第一处理器进行集中式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述第一处理器进行集中式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

可以理解,若上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最大的数据流,则在执行将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,有利于迅速改善第一处理器的占用率或缓存占用率等,进而有利于消除或改善处理瓶颈问题。

在本发明一些实施例中,由网络设备中的上述4个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,可指由网络设备中的上述4个处理器中的每个处理器分别对自身从该网络设备的物理网口接收到的该某个类型的数据流进行限流。或者由网络设备中的上述4个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,也可以是指由网络设备中的上述4个处理器共同对输入该网络设备的所有该某个类型的数据流进行限流处理,其中,上述4个处理器中的每个处理器对输入该网络设备的该某个类型的数据流中的部分进行限流处理,上述4个处理器中的任意两个处理器进行限流处理的该某个类型的数据流不完全相同或完全不同。

在本发明的一些实施例中,上述方法还可包括:

当上述第一处理器监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,上述第一处理器收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可以包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

举例来说,当处理器01监控到上述处理器01的工作状态参数符合预设的第一限流模式切换条件之后,处理器01收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。

其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可以包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

在本发明的另一些实施例中,上述方法还可以进一步包括:当信息收集条件满足时,第一处理器收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

举例来说,当信息收集条件满足时,处理器01可以收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。处理器01可将确定出的每个处理器的限流带宽值通知相应的处理器。

上述信息收集条件包括如下条件的至少一种:上述第一处理器的占用率大于或等于第五阈值、上述第一处理器的缓存占用率大于或等于第六阈值、上述第一处理器进行限流的总流量速率大于或等于第七阈值、上述流量速率比值大于或等于第八阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

其中,上述第五阈值小于或等于上述第一阈值,上述第六阈值小于或等于上述第二阈值,上述第七阈值小于或等于上述第三阈值、上述第八阈值小于或等于上述第四阈值。

在本发明的又一些实施例中,上述方法还可包括:

处理器01可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与处理器01具有映射关系的各类型数据流(例如类型编号为1、5和9的数据流)的流量速率,同理,处理器02可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与处理器02具有映射关系的各类型数据流的流量速率。处理器03可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与处理器03具有映射关系的各类型数据流的流量速率。处理器04可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与处理器04具有映射关系的各类型数据流的流量速率。

例如,处理器01可实时或周期性的收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;当监控到上述处理器01的工作状态参数符合预设的第一限流模式切换条件之后,根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流可包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

例如,第一处理器(例如处理器01、处理器02、处理器03或处理器04)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值越大,则可确定第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越大,第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值越小,则可以确定该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越小。例如,第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,可等于该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值,与上述4个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值的比值。具体例如,若第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值等于20%,第一处理器对应的对上述第一类型数据流进行限流的限流带宽值,与上述4个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值的比值也等于20%,假设,上述4个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值100M,则第一处理器对应的对上述第一类型数据流进行限流的限流带宽值可为20M,以此类推。

又举例来说,第一处理器(例如,处理器01、处理器02、处理器03或处理器04)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值所落入的比值区间之内的值越大,则可确定该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越大。第一处理器当前通过上述物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述物理网口接收上述第一类型数据流的总流量速率的比值所落入的比值区间之内的值的越小,则可确定该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越小。

例如存在如下5个比值区间:[0,20%),[20,40%)、[40,60%)、[60,80%)和[80,100%],每个比值区间对应不同的限流带宽值,比值区间之内的值越大的比值区间所对应的限流带宽值也就越大,比值区间之内的值越小的比值区间所对应的限流带宽值也就越小。或者,比值区间之内的值越大的比值区间所对应的限流带宽值占限流总带宽值的比例越大,比值区间之内的值越小的比值区间所对应的限流带宽值占限流总带宽值的比例越小,以此类推。

在本发明一些实施例中,处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数可以是可表征处理器的工作状态的各种参数,例如处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数可包括如下参数的至少一种:处理器的占用率、处理器的缓存占用率、由处理器进行限流的总流量速率、由处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然,处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数也不限于上述举例的类型。

举例来说,假设若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率,则上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的缓存占用率,则上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值。

又举例来说,上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值,上述第一限流模式切换条件可包括上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率和上述第一处理器的缓存占用率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值;

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率和流量速率比值,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的缓存占用率和流量速率比值,其中,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又例如,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括由上述第一处理器进行限流的总流量速率大于或等于第三阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和流量速率比值,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又例如,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率、流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值、上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的占用率大于或等于第一阈值,上述第一处理器的缓存占用率大于或者等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

可以理解,可根据不同应用场景需求来设定第一阈值、第二阈值、第三阈值和第四阈值的取值。

举例来说,第一阈值的取值范围例如可为75~95%或其它范围,例如第一阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第二阈值的取值范围例如可为75~96%或其它的范围,例如第二阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第三阈值的取值范围例如可为100M~500M或其它范围,例如第三阈值的取值可为100M、150M、250M、300M、350M、450M、500M或其它值。

举例来说,第四阈值的取值范围例如可为75~96%或其它的范围,例如第四阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

同理,当其它处理器(如处理器02、处理器03、处理器04)监控到该处理器的工作状态参数符合预设的第一限流模式切换条件,也将由该处理器对输入到上述网络设备中的某类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的该类型数据流进行分布式限流。

304、当网络设备中的第一处理器监控到该第一处理器的工作状态参数符合预设的第二限流模式切换条件,可将由上述4个处理器对输入到上述网络设备中的与该第一处理器具有映射关系的某类型数据流(例如第一类型数据流)进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的上述某类型数据流进行集中式限流。

例如,当处理器01监控到处理器01的工作状态参数符合预设的第二限流模式切换条件,可将由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流。

具体例如,当处理器01监控到处理器01的工作状态参数符合预设的第二限流模式切换条件时,处理器01可向处理器02、处理器03和处理器04发送集中式限流指令(该集中式限流指令用于指示处理器02、处理器03和处理器04将从上述网络设备的物理网口接收到的第一类型数据流转发给处理器01进行集中式限流),进而将由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流。

在本发明一些实施例中,上述将由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由第一处理器(如处理器01、处理器02、处理器03和处理器04等)对输入到上述网络设备中的第一类型数据流进行集中式限流,包括:当第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第一和值为上述第一处理器当前进行限流处理的总流量速率加上,上述4个处理器中除第一处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第一处理器的最大允许处理流量速率大于或等于上述第一和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

同理,当其它处理器监控到自身的工作状态参数符合预设的第二限流模式切换条件,可将由上述4个处理器对输入到上述网络设备中的某类型数据流进行分布式限流,切换为由处理器自身对输入到上述网络设备中的该某类型数据流进行集中式限流。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如处理器01、处理器02、处理器03和处理器04)的占用率小于或等于第十一阈值、处理器的缓存占用率小于或等于第十二阈值、处理器进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

可以理解,处理器02、处理器03和处理器04对某类型的数据流进行限流模式切换的机制与处理器01类似。

可以理解的是,本实施例中是以网络设备包括4个参与限流的处理器为例进行举例说明的,而对于网络设备包括其它数量的参与限流的处理器的场景可以此类推。

可以看出,本实施例的技术方案中,通过监控包括至少两个参与限流的处理器的网络设备中的各处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。由于引入了根据处理器的工作状态参数,在集中式限流和分布式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

进一步的,由于给出了在集中式限流和分布式限流之间进行往返切换的可行机制,因此有利于动态的平衡带宽精确限制需求和单个处理器的处理能力瓶颈问题。

请参见图4-a,图4-a是本发明的另一个实施例提供的另一种带宽控制方法的流程示意图,其中,请参见图4-a,本发明的另一个实施例提供的另一种带宽控制方法可包括以下内容:

401、网络设备中的每个处理器分别对输入到上述网络设备中的、且与每个处理器具有映射关系的类型的数据流进行集中式限流。

例如图4-b~图4-e所示,假设网络设备包括处理器01、处理器02、处理器03和处理器04等4个参与限流处理的处理器,网络设备还包括不直接参与限流处理的主控处理器。其中,图4-b举例的架构中,处理器01、处理器02、处理器03和处理器04通过网络设备的同一个物理网口接收数据流。图4-c举例的架构中,处理器01、处理器02、处理器03和处理器04通过网络设备的不同物理网口接收数据流。图4-d举例的架构中,处理器01、处理器02通过网络设备的一个物理网口接收数据流,而处理器03和处理器04通过网络设备的另一个物理网口接收数据流。图4-e举例的架构中,处理器01、处理器02和处理器03通过网络设备的一个物理网口接收数据流,而处理器04通过网络设备的另一个物理网口接收数据流。

在图4-b~图4-e所示架构中,网络设备中的处理器01可对与处理器01具有映射关系的类型的数据流进行集中式限流。网络设备中的处理器02可对与处理器02具有映射关系的类型的数据流进行集中式限流。网络设备中的处理器03可对与处理器03具有映射关系的类型的数据流进行集中式限流。网络设备中的处理器04可对与处理器04具有映射关系的类型的数据流进行集中式限流。

在本发明一些实施例中,处理器和数据流类型之间的映射关系可以通过映射关系表进行记录。或者,处理器和数据流类型之间的映射关系也可以通过设定算法计算得到。举例来说,用数据流的类型编号k除以网络设备中参与限流处理的处理器总数N(k%N),所得到的余数即可为与该数据流类型具有映射关系的处理器的编号。例如假设有10个类型的数据流需进行限流处理,因此类型编号为1、5和9的数据流与01号处理器具有映射关系,类型编号为2、6和10的数据流与02号处理器具有映射关系。类型编号为3和7的数据流与03号处理器具有映射关系。而类型编号为4和8的数据流与04号处理器具有映射关系,以此类推。在上述举例场景中,网络设备中的处理器01可对与处理器01具有映射关系的类型编号为1、5和9的数据流进行集中式限流。同理,网络设备中的处理器02可对与处理器02具有映射关系的类型编号为2、6和10的数据流进行集中式限流。网络设备中的处理器03可对与处理器03具有映射关系的类型编号为3和7的数据流进行集中式限流,网络设备中的处理器04可对与处理器04具有映射关系的类型编号为4和8的数据流进行集中式限流。

其中,由于在对某个类型的数据流进行集中式限流时,是由网络设备的某一个处理器对输入网络设备的所有该某个类型的数据流进行限流。因此对于由处理器01进行集中式限流的数据流(例如类型编号为1、5和9的数据流),处理器02、处理器03和处理器04均可将其从网络设备的物理网口接收到的由处理器01进行集中式限流的数据流(例如,类型编号为1、5和9的数据流)转发给处理器01,以便于处理器01对输入网络设备的所有相应类型数据流(例如,类型编号为1、5和9的数据流)进行限流。同理,对于由处理器02进行集中式限流的数据流(例如类型编号为2、6和10的数据流),处理器01、处理器03和处理器04均将其从网络设备的物理网口接收到的由处理器02进行集中式限流的数据流(例如类型编号为2、6和10的数据流)转发给处理器02,以便处理器02对输入网络设备的所有相应类型数据流(例如类型编号为2、6和10的数据流)进行限流。对于由处理器03进行集中式限流的数据流(例如类型编号为3和7的数据流),处理器01、处理器02和处理器04均将从网络设备的物理网口接收到的由处理器03进行集中式限流的数据流(例如类型编号为3和7的数据流)转发给处理器03,以便处理器03对输入网络设备的所有相应类型数据流(例如类型编号为3和7的数据流)进行限流。同理,对于由处理器04进行集中式限流的数据流(例如类型编号为4和8的数据流),处理器01、处理器02和处理器03均将从网络设备的物理网口接收到的由处理器04进行集中式限流的数据流(例如类型编号为4和8的数据流)转发给处理器04,以便处理器04对输入网络设备的所有相应类型数据流(例如类型编号为4和8的数据流)进行限流。其它场景可以此类推。

402、网络设备中的主控处理器监控各处理器的工作状态参数。

如在图3-b所示架构中,网络设备中的主控处理器可监控处理器01的工作状态参数。网络设备中的主控处理器也可监控处理器02的工作状态参数。网络设备中的主控处理器也可监控处理器03的工作状态参数。网络设备中的主控处理器也可监控处理器04的工作状态参数。

403、当网络设备中的主控处理器监控到上述第一处理器(第一处理器例如可为处理器01、处理器02、处理器03或处理器04等)的工作状态参数符合预设的第一限流模式切换条件,则主控处理器可将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的上述第一类型数据流进行分布式限流,其中,第一类型数据与第一处理器具有映射关系。

例如,当主控处理器监控到处理器01的工作状态参数符合预设的第一限流模式切换条件,主控处理器将由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

具体例如,当主控处理器监控到处理器01的工作状态参数符合预设的第一限流模式切换条件时,主控处理器可向处理器01、处理器02、处理器03和处理器04发送分布式限流指令(其中,该分布式限流指令用于指示处理器01、处理器02、处理器03和处理器04对输入到上述网络设备中的第一类型数据流进行分布式限流),进而将由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

在本发明一些实施例中,上述第一类型数据流可为由上述第一处理器进行集中式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述第一处理器进行集中式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

可以理解,若上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最大的数据流,则在执行将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,有利于迅速改善第一处理器的占用率或缓存占用率等,进而有利于消除或改善处理瓶颈问题。

在本发明一些实施例中,由网络设备中的上述4个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,可指由网络设备中的上述4个处理器中的每个处理器分别对自身从该网络设备的物理网口接收到的该某个类型的数据流进行限流。或者由网络设备中的上述4个处理器对输入到该网络设备中的某个类型的数据流(例如第一类型数据流)进行分布式限流,也可以是指由网络设备中的上述4个处理器共同对输入该网络设备的所有该某个类型的数据流进行限流处理,其中,上述4个处理器中的每个处理器对输入该网络设备的该某个类型的数据流中的部分进行限流处理,上述4个处理器中的任意两个处理器进行限流处理的该某个类型的数据流不完全相同或完全不同。

在本发明一些实施例中,上述方法还可包括:当上述主控处理器监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,上述主控处理器可收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

举例来说,当主控处理器监控到上述处理器01的工作状态参数符合预设的第一限流模式切换条件之后,处理器01收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。

其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流可包括,上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

在本发明的另一些实施例中,上述方法还可以进一步包括:当信息收集条件满足时,主控处理器收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

举例来说,当信息收集条件满足时,主控处理器可收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。

其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。主控处理器可将确定出的每个处理器的限流带宽值通知相应的处理器。

上述信息收集条件包括如下条件的至少一种:上述第一处理器的占用率大于或等于第五阈值、上述第一处理器的缓存占用率大于或等于第六阈值、上述第一处理器进行限流的总流量速率大于或等于第七阈值、上述流量速率比值大于或等于第八阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

其中,上述第五阈值小于或等于上述第一阈值,上述第六阈值小于或等于上述第二阈值,上述第七阈值小于或等于上述第三阈值、上述第八阈值小于或等于上述第四阈值。

在本发明的又一些实施例中,上述方法还可包括:

主控处理器可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与各处理器具有映射关系的各类型数据流的流量速率,例如,主控处理器可实时或周期性的收集与处理器01具有映射关系的各类型数据流(例如类型编号为1、5和9的数据流)的流量速率,同理,主控处理器可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与处理器02具有映射关系的各类型数据流的流量速率。主控处理器可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与处理器03具有映射关系的各类型数据流的流量速率。同理,主控处理器可实时或周期性的收集各处理器当前通过上述网络设备的物理网口接收与处理器04具有映射关系的各类型数据流的流量速率。

例如,主控处理器可实时或周期性的收集上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;当监控到上述处理器01的工作状态参数符合预设的第一限流模式切换条件之后,根据上述4个处理器中的每个处理器当前通过上述网络设备的物理网口接收第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述4个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。

其中,上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流可包括:上述4个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

例如,第一处理器(例如处理器01、处理器02、处理器03或处理器04)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值越大,则可确定第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越大,第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述物理网口接收上述第一类型数据流的总流量速率的比值越小,则可以确定该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越小。例如,第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,可等于该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值,与上述4个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值的比值。例如若第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值等于20%,第一处理器对应的对上述第一类型数据流进行限流的限流带宽值,与上述4个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值的比值也等于20%,假设,上述4个处理器对输入到上述网络设备中的第一类型数据流进行限流的限流总带宽值100M,则第一处理器对应的对上述第一类型数据流进行限流的限流带宽值可为20M,以此类推。

又举例来说,第一处理器(例如,处理器01、处理器02、处理器03或处理器04)当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值所落入的比值区间之内的值越大,则可确定该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越大。第一处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述4个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值所落入的比值区间之内的值的越小,则可确定该第一处理器对应的对上述第一类型数据流进行限流的限流带宽值越小。

例如存在如下5个比值区间:[0,20%),[20,40%)、[40,60%)、[60,80%)和[80,100%],每个比值区间对应不同的限流带宽值,比值区间之内的值越大的比值区间所对应的限流带宽值也就越大,比值区间之内的值越小的比值区间所对应的限流带宽值也就越小。或者,比值区间之内的值越大的比值区间所对应的限流带宽值占限流总带宽值的比例越大,比值区间之内的值越小的比值区间所对应的限流带宽值占限流总带宽值的比例越小,以此类推。

在本发明一些实施例中,处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数可以是可表征处理器的工作状态的各种参数,例如处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数可包括如下参数的至少一种:处理器的占用率、处理器的缓存占用率、由处理器进行限流的总流量速率、由处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然,处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数也不限于上述举例的类型。

举例来说,假设若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率,则上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的缓存占用率,则上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值。

又举例来说,上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值,上述第一限流模式切换条件可包括上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率和上述第一处理器的缓存占用率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值;

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率和流量速率比值,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的缓存占用率和流量速率比值,其中,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又例如,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括由上述第一处理器进行限流的总流量速率大于或等于第三阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和流量速率比值,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又例如,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括上述第一处理器的占用率、流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器(如处理器01、处理器02、处理器03和处理器04等)的工作状态参数包括流量速率比值、上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的占用率大于或等于第一阈值,上述第一处理器的缓存占用率大于或者等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

可以理解,可根据不同应用场景需求来设定第一阈值、第二阈值、第三阈值和第四阈值的取值。

举例来说,第一阈值的取值范围例如可为75~95%或其它范围,例如第一阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第二阈值的取值范围例如可为75~96%或其它的范围,例如第二阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第三阈值的取值范围例如可为100M~500M或其它范围,例如第三阈值的取值可为100M、150M、250M、300M、350M、450M、500M或其它值。

举例来说,第四阈值的取值范围例如可为75~96%或其它的范围,例如第四阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

同理,当主控处理器监控到其它处理器(如处理器02、处理器03、处理器04)的工作状态参数符合预设的第一限流模式切换条件,也将由该处理器对输入到上述网络设备中的某类型数据流进行集中式限流,切换为由上述4个处理器对输入到上述网络设备中的该类型数据流进行分布式限流。

404、当网络设备中的主控处理器监控到该第一处理器的工作状态参数符合预设的第二限流模式切换条件,主控处理器可将由上述4个处理器对输入到上述网络设备中的与该第一处理器具有映射关系的某类型数据流(例如第一类型数据流)进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的上述某类型数据流进行集中式限流。

例如,当主控处理器监控到处理器01的工作状态参数符合预设的第二限流模式切换条件,可将由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流。

具体例如,当主控处理器监控到处理器01的工作状态参数符合预设的第二限流模式切换条件时,处理器01可向处理器01、处理器02、处理器03和处理器04发送集中式限流指令(其中,上述集中式限流指令用于指示处理器01、处理器02、处理器03和处理器04将从上述网络设备的物理网口接收到的第一类型数据流转发给处理器01进行集中式限流),进而将由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述处理器01对输入到上述网络设备中的第一类型数据流进行集中式限流。

在本发明一些实施例中,上述将由上述4个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由第一处理器(如处理器01、处理器02、处理器03和处理器04等)对输入到上述网络设备中的第一类型数据流进行集中式限流,包括:当第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第一和值为上述第一处理器当前进行限流处理的总流量速率加上,上述4个处理器中除第一处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第一处理器的最大允许处理流量速率大于或等于上述第一和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

同理,当主控处理器监控到其它处理器的工作状态参数符合预设的第二限流模式切换条件,可将由上述4个处理器对输入到上述网络设备中的某类型数据流进行分布式限流,切换为由该其它处理器对输入到上述网络设备中的该某类型数据流进行集中式限流。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如处理器01、处理器02、处理器03和处理器04)的占用率小于或等于第十一阈值、处理器的缓存占用率小于或等于第十二阈值、处理器进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

可以理解,处理器02、处理器03和处理器04对某类型的数据流进行限流模式切换的机制与处理器01类似。

可以理解的是,本实施例中是以网络设备包括4个参与限流的处理器为例进行举例说明的,而对于网络设备包括其它数量的参与限流的处理器的场景可以此类推。

可以看出,本实施例的技术方案中,主控处理器通过监控包括至少两个参与限流的处理器的网络设备中的各参与限流的处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。由于引入了根据处理器的工作状态参数,在集中式限流和分布式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

进一步的,由于给出了在集中式限流和分布式限流之间进行往返切换的可行机制,因此有利于动态的平衡带宽精确限制需求和单个处理器的处理能力瓶颈问题。

参见图5-a,本发明一个实施例还提供一种带宽控制装置500可包括:监控单元510和第一切换控制单元520。

监控单元510,用于监控网络设备中的第一处理器的工作状态参数。

其中,上述网络设备包括至少两个处理器。其中,第一处理器可为上述至少两个处理器中的任意一个处理器。当然第一处理器也可为上述至少两个处理器中的某个特定处理器

第一切换控制单元520,用于当上述监控单元510监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

在本发明的一些实施例中,第一类型数据流可为输入到上述网络设备中的任意一个数据流,或者,第一类型数据流可为与第一处理器具有映射关系的数据流。

例如,上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次小的数据流;或上述第一类型数据流为由上述第一处理器进行集中式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述第一处理器进行集中式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

可以理解,若上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率较大(如最大或次大等)的数据流,则执行将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,有利于较迅速改善第一处理器的占用率或缓存占用率等等,进而有利于消除处理瓶颈问题。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

举例来说,假设若上述第一处理器的工作状态参数包括上述第一处理器的占用率,则上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率,则上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值。

又举例来说,上述第一处理器的工作状态参数包括由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,上述第一处理器的工作状态参数包括流量速率比值,上述第一限流模式切换条件可包括上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和上述第一处理器的缓存占用率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和流量速率比值,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和流量速率比值,其中,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括由上述第一处理器进行限流的总流量速率大于或等于第三阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和流量速率比值,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的占用率大于或等于第一阈值,上述第一处理器的缓存占用率大于或者等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

可以理解,可根据不同应用场景需求来设定第一阈值、第二阈值、第三阈值和第四阈值的取值。

举例来说,第一阈值的取值范围例如可为75~95%或其它范围,例如第一阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第二阈值的取值范围例如可为75~96%或其它的范围,例如第二阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第三阈值的取值范围例如可为100M~500M或其它范围,例如第三阈值的取值可为100M、150M、250M、300M、350M、450M、500M或其它值。

举例来说,第四阈值的取值范围例如可为75~96%或其它的范围,例如第四阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

参见图5-b,在本发明的一些实施例中,带宽控制装置500还可包括:

第一确定单元530,用于当上述监控单元监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值;

其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

参见图5-c,在本发明的一些实施例中,带宽控制装置500还可包括:

第二确定单元540,用于当信息收集条件满足时,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值;

其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,包括:上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流;

上述信息收集条件包括如下条件的至少一种:上述第一处理器的占用率大于或等于第五阈值、上述第一处理器的缓存占用率大于或等于第六阈值、上述第一处理器进行限流的总流量速率大于或等于第七阈值、上述流量速率比值大于或等于第八阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

其中,上述第五阈值小于或等于上述第一阈值,上述第六阈值小于或等于上述第二阈值,上述第七阈值小于或等于上述第三阈值、上述第八阈值小于或等于上述第四阈值。

参见图5-d,在本发明的一些实施例中,带宽控制装置500还可包括:

第二切换控制单元550,用于在上述第一切换控制单元将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,当上述监控单元监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

在本发明的一些实施例中,在上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面,上述第二切换控制单元550具体用于,当上述第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第一和值为上述第一处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第一处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第一处理器的最大允许处理流量速率大于或等于第一和值。

参见图5-e,在本发明的另一些实施例中,带宽控制装置500还可包括:

第三切换控制单元560,用于在上述第一切换控制单元将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,当上述监控单元监控到上述至少两个处理器中的第三处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

在本发明一些实施例中,在上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面,第三切换控制单元560具体用于,当上述第三处理器的最大允许处理流量速率与第二和值之间的差值大于或等于第十阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第二和值为上述第三处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第三处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第三处理器的最大允许处理流量速率大于或等于上述第二和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

其中,可以理解,可根据不同应用场景需求来设定第九阈值和第十阈值的取值。第九阈值和第十阈值可大于或等于0,当然第九阈值小于上述第一处理器的最大允许处理流量速率。第十阈值小于上述第三处理器的最大允许处理流量速率。

本装置实施例中提供的带宽控制装置500可以集成在网络设备中,应用于上述方法实施例中的附图1所示的场景中,实现其中第一处理器或主控处理器的功能。其中,带宽控制装置500可以实现的其他附加功能、以及与其他设备的交互过程,请参照方法实施例中对第一处理器或主控处理器的描述,在这里不再赘述。

可以看出,本实施例的技术方案中,带宽控制装置500通过监控包括至少两个参与限流的处理器的网络设备中的各处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。由于引入了根据处理器的工作状态参数,在集中式限流和分布式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

进一步的,由于给出了在集中式限流和分布式限流之间进行往返切换的可行机制,因此有利于动态的平衡带宽精确限制需求和单个处理器的处理能力瓶颈问题。

参见图6,本发明另一实施例还提供一种带宽控制装置600可包括:监控单元610和第二切换控制单元620。

其中,监控单元610,用于监控网络设备中的第一处理器的工作状态参数。

其中,上述网络设备包括至少两个处理器。其中,第一处理器可为上述至少两个处理器中的任意一个处理器。当然第一处理器也可为上述至少两个处理器中的某个特定处理器。

第二切换控制单元620,用于当上述监控单元监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

例如,第一类型数据流可以是视频数据流、HTTP数据流、FTP数据流或点对点P2P数据流或其它类型的需要进行限流的数据量。

在本发明的一些实施例中,第一类型数据流可为输入到上述网络设备中的任意一个数据流,或者,第一类型数据流可为与第一处理器具有映射关系的数据流。

例如,上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述至少两个处理器进行分布式限流的流量速率次小的数据流;或上述第一类型数据流为由上述至少两个处理器进行分布式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述至少两个处理器进行分布式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如第一处理器等)的占用率小于或等于第十一阈值、处理器(如第一处理器等)的缓存占用率小于或等于第十二阈值、处理器(如第一处理器等)进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器(如第一处理器等)进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

本装置实施例中提供的带宽控制装置600可以集成在网络设备中,应用于上述方法实施例中的附图2所示的场景中,实现其中第一处理器或主控处理器的功能。其中,带宽控制装置600可以实现的其他附加功能、以及与其他设备的交互过程,请参照方法实施例中对第一处理器或主控处理器的描述,在这里不再赘述。

可以看出,本实施例提供的技术方案中,带宽控制装置600通过监控包括至少两个处理器的网络设备中的第一处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。由于引入了根据处理器的工作状态参数,在分布式限流和集中式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

进一步的,由于给出了在集中式限流和分布式限流之间进行往返切换的可行机制,因此有利于动态的平衡带宽精确限制需求和单个处理器的处理能力瓶颈问题。

参见图7,本发明另一实施例还提供一种网络设备700,可包括:至少一个总线701、与总线701相连的至少两个处理器702以及与总线701相连的至少一个存储器703、与总线701相连的至少一个物理网口704。

其中,存储器703例如可包括只读存储器和随机存取存储器,并可向处理器702提供指令和/或数据等。

其中,上述至少两个处理器702中的第一处理器通过调用上述存储器703中的指令,执行:监控网络设备中的第一处理器的工作状态参数;当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

在本发明的一些实施例中,第一类型数据流可为输入到上述网络设备中的任意一个数据流,或者,第一类型数据流可为与第一处理器具有映射关系的数据流。

例如,上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次小的数据流;或上述第一类型数据流为由上述第一处理器进行集中式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述第一处理器进行集中式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

可以理解,若上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率较大(如最大或次大等)的数据流,则执行将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,有利于较迅速改善第一处理器的占用率或缓存占用率等等,进而有利于消除处理瓶颈问题。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

举例来说,假设若上述第一处理器的工作状态参数包括上述第一处理器的占用率,则上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率,则上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值。

又举例来说,上述第一处理器的工作状态参数包括由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,上述第一处理器的工作状态参数包括流量速率比值,上述第一限流模式切换条件可包括上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和上述第一处理器的缓存占用率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和流量速率比值,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和流量速率比值,其中,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括由上述第一处理器进行限流的总流量速率大于或等于第三阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和流量速率比值,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的占用率大于或等于第一阈值,上述第一处理器的缓存占用率大于或者等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

可以理解,可根据不同应用场景需求来设定第一阈值、第二阈值、第三阈值和第四阈值的取值。

举例来说,第一阈值的取值范围例如可为75~95%或其它范围,例如第一阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第二阈值的取值范围例如可为75~96%或其它的范围,例如第二阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第三阈值的取值范围例如可为100M~500M或其它范围,例如第三阈值的取值可为100M、150M、250M、300M、350M、450M、500M或其它值。

举例来说,第四阈值的取值范围例如可为75~96%或其它的范围,例如第四阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

在本发明的一些实施例中,上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面:上述第一处理器,具体用于接收上述至少两个处理器之中的第二处理器向上述第一处理器转发的第一类型数据流,以及通过上述网络设备的物理网口接收第一类型数据流;上述第一处理器对上述第二处理器转发的上述第一类型数据流以及上述通过上述网络设备的物理网口接收到的第一类型数据流进行限流;其中,上述第二处理器转发的上述第一类型数据流是上述第二处理器在根据上述至少两个处理器中的至少一个处理器和数据流类型之间的映射关系,确定出与上述第一类型数据流的具有映射关系的上述第一处理器之后,将上述第二处理器通过上述网络设备的物理网口接收到的第一类型数据流向上述第一处理器转发的。

在本发明的一些实施例中,第一处理器还用于,当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

在本发明另一些实施例中,第一处理器还用于,当信息收集条件满足时,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。

其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可以包括,上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

其中,上述信息收集条件可以包括如下条件的至少一种:

上述第一处理器的占用率大于或等于第五阈值、上述第一处理器的缓存占用率大于或等于第六阈值、上述第一处理器进行限流的总流量速率大于或等于第七阈值、上述流量速率比值大于或等于第八阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

其中,上述第五阈值小于或等于上述第一阈值。上述第六阈值小于或等于上述第二阈值。上述第七阈值小于或等于上述第三阈值。上述第八阈值小于或等于上述第四阈值。

在本发明的又一些实施例中,第一处理器还用于,实时或周期性的收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括,上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

在本发明的一些实施例中,第一处理器还可以用于,在上述切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,上述方法可选的还可进一步包括:当监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

在本发明一些实施例中,在上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面,第一处理器可具体用于:当上述第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第一和值为上述第一处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第一处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第一处理器的最大允许处理流量速率大于或等于上述第一和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

此外,在本发明的另一些实施例中,第一处理器还用于,在上述切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,当监控到上述至少两个处理器中的第三处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。其中,在这种场景下,各处理器可记录下第三处理器和第一类型数据流之间的映射关系,以便于根据该映射关系来将自身物理网口接收上述第一类型数据流转发给第三处理器进行集中式限流。

在本发明的一些实施例中,在上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述至少两个处理器中的第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面,第一处理器可具体用于:当上述第三处理器的最大允许处理流量速率与第二和值之间的差值大于或等于第十阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第二和值为上述第三处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第三处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第三处理器的最大允许处理流量速率大于或等于上述第二和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

其中,可以理解,可根据不同应用场景需求来设定第九阈值和第十阈值的取值。第九阈值和第十阈值可大于或等于0,当然第九阈值小于上述第一处理器的最大允许处理流量速率。第十阈值小于上述第三处理器的最大允许处理流量速率。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如第一处理器或第三处理器等)的占用率小于或等于第十一阈值、处理器(如第一处理器或第三处理器等)的缓存占用率小于或等于第十二阈值、处理器(如第一处理器或第三处理器等)进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器(如第一处理器或第三处理器等)进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

本装置实施例中提供的网络设备700可用于实现上述方法实施例中的网络设备的部分或全部功能,可以应用于上述方法实施例中的附图1或者图3所示场景中,网络设备700中的参与限流的至少两个处理器(如第一处理器)可以实现上述方法实施例中网络设备的参与限流的至少两个处理器(如第一处理器)的部分或全部功能。网络设备700和参与限流的至少两个处理器702(如第一处理器)可以实现的其他附加功能、以及与其他设备的交互过程,请参照方法实施例中对网络设备、网络设备中参与限流的至少两个处理器的描述,在这里不再赘述。

可以看出,本实施例的技术方案中,网络设备700的第一处理器通过监控包括至少两个参与限流的处理器的网络设备中的各处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。由于引入了根据处理器的工作状态参数,在集中式限流和分布式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

进一步的,由于给出了在集中式限流和分布式限流之间进行往返切换的可行机制,因此有利于动态的平衡带宽精确限制需求和单个处理器的处理能力瓶颈问题。

参见图8,本发明另一实施例还提供一种网络设备800,可包括:至少一个总线801、与总线801相连的至少两个处理器802、与总线801相连的主控处理器805、以及与总线801相连的至少一个存储器803、与总线801相连的至少一个物理网口804。

其中,存储器803例如可包括只读存储器和随机存取存储器,并可向处理器802和主控处理器805提供指令和/或数据等。

其中,上述主控处理器805通过调用上述存储器803中的指令,执行:监控网络设备中的第一处理器的工作状态参数;当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。

其中,第一处理器可为上述至少两个处理器802中的任意一个处理器。当然第一处理器也可为上述至少两个处理器802中的某个特定处理器。

在本发明的一些实施例中,第一类型数据流可为输入到上述网络设备中的任意一个数据流,或者,第一类型数据流可为与第一处理器具有映射关系的数据流。

例如,上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次大的数据流,或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率最小的数据流;或者上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率次小的数据流;或上述第一类型数据流为由上述第一处理器进行集中式限流的任意一种类型的数据流。当然,第一类型数据流也可为由上述第一处理器进行集中式限流的某个指定类型(例如由用户指令指定的类型)的数据流。

可以理解,若上述第一类型数据流为由上述第一处理器进行集中式限流的流量速率较大(如最大或次大等)的数据流,则执行将由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,有利于较迅速改善第一处理器的占用率或缓存占用率等等,进而有利于消除处理瓶颈问题。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

举例来说,假设若上述第一处理器的工作状态参数包括上述第一处理器的占用率,则上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率,则上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值。

又举例来说,上述第一处理器的工作状态参数包括由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,上述第一处理器的工作状态参数包括流量速率比值,上述第一限流模式切换条件可包括上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和上述第一处理器的缓存占用率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又例如,若上述第一处理器的工作状态参数包括上述第一处理器的占用率和流量速率比值,上述第一限流模式切换条件可包括上述第一处理器的占用率大于或等于第一阈值,且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的缓存占用率和流量速率比值,其中,上述第一限流模式切换条件可包括上述第一处理器的缓存占用率大于或等于第二阈值,并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括由上述第一处理器进行限流的总流量速率大于或等于第三阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值;

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、上述第一处理器的缓存占用率和流量速率比值,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且上述第一处理器的缓存占用率大于或等于第二阈值,且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括上述第一处理器的占用率、流量速率比值和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可包括:上述第一处理器的占用率大于或等于第一阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的缓存占用率大于或等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;并且上述流量速率比值大于或等于第四阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

又举例来说,若上述第一处理器的工作状态参数包括流量速率比值、上述第一处理器的占用率、上述第一处理器的缓存占用率和由上述第一处理器进行限流的总流量速率,上述第一限流模式切换条件可以包括:上述第一处理器的占用率大于或等于第一阈值,上述第一处理器的缓存占用率大于或者等于第二阈值,且由上述第一处理器进行限流的总流量速率大于或等于第三阈值;且上述流量速率比值大于或等于第四阈值,其中,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

可以理解,可根据不同应用场景需求来设定第一阈值、第二阈值、第三阈值和第四阈值的取值。

举例来说,第一阈值的取值范围例如可为75~95%或其它范围,例如第一阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第二阈值的取值范围例如可为75~96%或其它的范围,例如第二阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

举例来说,第三阈值的取值范围例如可为100M~500M或其它范围,例如第三阈值的取值可为100M、150M、250M、300M、350M、450M、500M或其它值。

举例来说,第四阈值的取值范围例如可为75~96%或其它的范围,例如第四阈值的取值可以为75%、80%、82%、85%、88%、90%、92%、95%、98%或其它值。

在本发明的一些实施例中,上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面,上述第一处理器,具体用于接收上述至少两个处理器之中的第二处理器向上述第一处理器转发的第一类型数据流,以及通过上述网络设备的物理网口接收第一类型数据流;上述第一处理器对上述第二处理器转发的上述第一类型数据流以及上述通过上述网络设备的物理网口接收到的第一类型数据流进行限流;其中,上述第二处理器转发的上述第一类型数据流是上述第二处理器在根据上述至少两个处理器中的至少一个处理器和数据流类型之间的映射关系,确定出与上述第一类型数据流的具有映射关系的上述第一处理器之后,将上述第二处理器通过上述网络设备的物理网口接收到的第一类型数据流向上述第一处理器转发的。

在本发明的一些实施例中,主控处理器805还用于,当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

在本发明的另一些实施例中,主控处理器805还用于,当信息收集条件满足时,收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括:上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

其中,上述信息收集条件可以包括如下条件的至少一种:

上述第一处理器的占用率大于或等于第五阈值、上述第一处理器的缓存占用率大于或等于第六阈值、上述第一处理器进行限流的总流量速率大于或等于第七阈值、上述流量速率比值大于或等于第八阈值,上述流量速率比值为由上述第一处理器进行限流的总流量速率与上述第一处理器的最大允许处理流量速率之间的比值。

其中,上述第五阈值小于或等于上述第一阈值。上述第六阈值小于或等于上述第二阈值。上述第七阈值小于或等于上述第三阈值。上述第八阈值小于或等于上述第四阈值。

在本发明的又一些实施例中,主控处理器805还用于,实时或周期性的收集上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的流量速率;当监控到上述第一处理器的工作状态参数符合预设的第一限流模式切换条件之后,根据上述至少两个处理器中的每个处理器当前通过上述网络设备的物理网口接收第一类型数据流的流量速率,与上述至少两个处理器当前通过上述网络设备的物理网口接收上述第一类型数据流的总流量速率的比值,确定上述至少两个处理器中的每个处理器对应的对上述第一类型数据流进行限流的限流带宽值。其中,上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,可包括,上述至少两个处理器中的每个处理器按照确定出的对应的限流带宽值对通过上述网络设备的物理网口接收到的第一类型数据流进行限流。

在本发明的一些实施例中,主控处理器805还可以用于,在上述切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,上述方法可选的还可进一步包括:当监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。

在本发明一些实施例中,在上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面,主控处理器805可具体用于:当上述第一处理器的最大允许处理流量速率与第一和值之间的差值大于或等于第九阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第一和值为上述第一处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第一处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第一处理器的最大允许处理流量速率大于或等于上述第一和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

在本发明的另一些实施例中,主控处理器805还用于,在上述切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流之后,当监控到上述至少两个处理器中的第三处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。其中,在这种场景下,各处理器可记录下第三处理器和第一类型数据流之间的映射关系,以便于根据该映射关系来将自身物理网口接收上述第一类型数据流转发给第三处理器进行集中式限流。

在本发明的一些实施例中,在上述将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述至少两个处理器中的第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流的方面,主控处理器805可具体用于:当上述第三处理器的最大允许处理流量速率与第二和值之间的差值大于或等于第十阈值,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第三处理器对输入到上述网络设备中的第一类型数据流进行集中式限流;其中,上述第二和值为上述第三处理器当前进行限流处理的总流量速率加上,上述至少两个处理器中除上述第三处理器之外的剩余处理器进行限流处理的上述第一类型数据流的总流量速率,上述第三处理器的最大允许处理流量速率大于或等于上述第二和值。可以理解,通过引入上述切换保护机制有利于减少在两种限流模式之间进行切换的频率,进而有利于稳定处理器的工作状态。

其中,可以理解,可根据不同应用场景需求来设定第九阈值和第十阈值的取值。第九阈值和第十阈值可大于或等于0,当然第九阈值小于上述第一处理器的最大允许处理流量速率。第十阈值小于上述第三处理器的最大允许处理流量速率。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如第一处理器或第三处理器等)的占用率小于或等于第十一阈值、处理器(如第一处理器或第三处理器等)的缓存占用率小于或等于第十二阈值、处理器(如第一处理器或第三处理器等)进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器(如第一处理器或第三处理器等)进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

本装置实施例中提供的网络设备800可用于实现上述方法实施例中的网络设备的部分或全部功能,可以应用于上述方法实施例中的附图1或附图4所示场景中,网络设备800中的参与限流的至少两个处理器(如第一处理器)可以实现上述方法实施例中网络设备的参与限流的至少两个处理器(如第一处理器)的部分或全部功能。网络设备800中的主控处理器805可以实现上述方法实施例中网络设备的主控处理器的部分或全部功能。其中,网络设备800、参与限流的至少两个处理器802(如第一处理器)和主控处理器805可以实现的其他附加功能、以及与其他设备的交互过程,请参照方法实施例中对网络设备、网络设备中参与限流的至少两个处理器和网络设备中的主控处理器的描述,在这里不再赘述。

可以看出,本实施例的技术方案中,网络设备700的第一处理器通过监控包括至少两个参与限流的处理器的网络设备中的各处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第一限流模式切换条件,将由第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流,切换为由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流。由于引入了根据处理器的工作状态参数,在集中式限流和分布式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

进一步的,由于给出了在集中式限流和分布式限流之间进行往返切换的可行机制,因此有利于动态的平衡带宽精确限制需求和单个处理器的处理能力瓶颈问题。

参见图9,本发明另一实施例还提供一种网络设备900,可包括:至少一个总线901、与总线901相连的至少两个处理器902以及与总线901相连的至少一个存储器903、与总线901相连的至少一个物理网口904。

其中,存储器903例如可包括只读存储器和随机存取存储器,并可向处理器902提供指令和/或数据等。

其中,上述至少两个处理器902中的第一处理器通过调用上述存储器903中的指令,执行:监控网络设备900中的第一处理器的工作状态参数;当监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备900中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备900中的第一类型数据流进行集中式限流。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如第一处理器等)的占用率小于或等于第十一阈值、处理器(如第一处理器等)的缓存占用率小于或等于第十二阈值、处理器(如第一处理器等)进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器(如第一处理器等)进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

本装置实施例中提供的网络设备900可用于实现上述方法实施例中的网络设备的部分或全部功能,可以应用于上述方法实施例中的附图2或者图3所示场景中,网络设备900中的参与限流的至少两个处理器(如第一处理器)可以实现上述方法实施例中网络设备的参与限流的至少两个处理器(如第一处理器)的部分或全部功能。网络设备900和参与限流的至少两个处理器902(如第一处理器)可以实现的其他附加功能、以及与其他设备的交互过程,请参照方法实施例中对网络设备、网络设备中参与限流的至少两个处理器的描述,在这里不再赘述。

可以看出,本实施例提供的技术方案中,通过监控包括至少两个处理器的网络设备中的第一处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。由于引入了根据处理器的工作状态参数,在分布式限流和集中式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

参见图10,本发明另一实施例还提供一种网络设备1000,可包括:至少一个总线1001、与总线1001相连的至少两个处理器1002、与总线1001相连的主控处理器1005、以及与总线1001相连的至少一个存储器1003、与总线1001相连的至少一个物理网口1004。

其中,存储器1003例如可包括只读存储器和随机存取存储器,并可向处理器1002和主控处理器1005提供指令和/或数据等。

其中,上述主控处理器1005通过调用上述存储器1003中的指令,执行:监控网络设备1000中的第一处理器的工作状态参数;当监控到上述第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备1000中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备1000中的第一类型数据流进行集中式限流。

其中,第一处理器可为上述至少两个处理器中的任意一个处理器。当然第一处理器也可为上述至少两个处理器中的某个特定处理器。

其中,处理器(如第一处理器等)的工作状态参数可以是可表征该处理器的工作状态的各种参数,例如处理器(例如第一处理器等)的工作状态参数可包括如下参数的至少一种:该处理器的占用率、该处理器的缓存占用率、由该处理器进行限流的总流量速率、由该处理器进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。当然处理器(例如第一处理器等)的工作状态参数的类型也不限于上述举例类型。

在本发明的一些实施例中,上述第二限流模式切换条件可以包括如下条件的至少一种:处理器(如第一处理器等)的占用率小于或等于第十一阈值、处理器(如第一处理器等)的缓存占用率小于或等于第十二阈值、处理器(如第一处理器等)进行限流的总流量速率小于或等于第十三阈值、流量速率比值大于或等于第十四阈值,该流量速率比值为由处理器(如第一处理器等)进行限流的总流量速率与该处理器的最大允许处理流量速率之间的比值。

其中,可以理解,可根据不同应用场景需求来设定上述第十一阈值、上述第十二阈值、上述第十三阈值和第十四阈值的取值。上述第十一阈值可小于上述第一阈值。上述第十二阈值可小于上述第二阈值。上述第十三阈值可小于上述第三阈值。上述第十四阈值可小于上述第四阈值。

本装置实施例中提供的网络设备1000可用于实现上述方法实施例中的网络设备的部分或全部功能,可以应用于上述方法实施例中的附图2或附图4所示场景中,网络设备1000中的参与限流的至少两个处理器(如第一处理器)可以实现上述方法实施例中网络设备的参与限流的至少两个处理器(如第一处理器)的部分或全部功能。网络设备1000中的主控处理器1005可以实现上述方法实施例中网络设备的主控处理器的部分或全部功能。网络设备1000、参与限流的至少两个处理器1002(如第一处理器)和主控处理器1005可以实现的其他附加功能、以及与其他设备的交互过程,请参照方法实施例中对网络设备、网络设备中参与限流的至少两个处理器和网络设备中的主控处理器的描述,在这里不再赘述。

可以看出,本实施例提供的技术方案中,主控处理器1005通过监控包括至少两个处理器的网络设备中的第一处理器的工作状态参数;当监控到第一处理器的工作状态参数符合预设的第二限流模式切换条件,将由上述至少两个处理器对输入到上述网络设备中的第一类型数据流进行分布式限流,切换为由上述第一处理器对输入到上述网络设备中的第一类型数据流进行集中式限流。由于引入了根据处理器的工作状态参数,在分布式限流和集中式限流之间进行切换的机制,因此有利于在处理器工作状态允许的情况下实现对网络设备整机流量进行较为精确的带宽限制,且又有利于使得对流量的带宽限制尽量不受限于单个处理器的处理能力。

需要说明的是,本发明上述各实施例中的网络设备可为防火墙设备、网关设备或其它需要进行限流的网络设备。

本发明实施例还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时包括上述方法实施例中记载的带宽控制方法的部分或全部步骤。

需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1