掌桥专利:专业的专利平台
掌桥专利
首页

网络流量队列的处理方法、装置、电子设备及存储介质

文献发布时间:2024-04-18 19:58:21


网络流量队列的处理方法、装置、电子设备及存储介质

技术领域

本申请涉及大数据技术领域、金融科技领域及其他相关技术领域,具体而言,涉及一种网络流量队列的处理方法、装置、电子设备及存储介质。

背景技术

使用传统的网络流量调度算法时,会按照不同网络流量队列的权重为每个网络流量队列分配带宽,使得高优先级的业务能够得到更好的服务。

但是,使用传统的网络流量调度算法调度流量时存在一个公平性问题,即低优先级的网络流量队列会大量占用共享缓存,影响高优先级网络流量对共享缓存的使用。导致该问题的原因是队列管理的入队端采用的是抢占式入队机制,即当一个分组在入队时,队列管理并不关心此分组的优先级,只要存在足够的缓存空间,就允许该分组入队。由于高优先级分组的出队速度更快,进而使得低优先级分组大量沉积在队列中。这种沉积效应不仅降低了缓存的利用率,影响高优先级分组的正常入队,而且使得低优先级分组的时延大幅提高,尤其在网络流量高峰时,非常容易出现网络流量阻塞的问题。

针对上述的问题,目前尚未提出有效的解决方案。

发明内容

本申请实施例提供了一种网络流量队列的处理方法、装置、电子设备及存储介质,以至少解决现有技术中在出现网络流量高峰时,虚拟输出队列出现网络流量阻塞概率高的技术问题。

根据本申请实施例的一个方面,提供了一种网络流量队列的处理方法,包括:检测虚拟输出队列的队列长度,其中,虚拟输出队列表征网络设备准备输出的网络流量队列;判断虚拟输出队列的队列长度是否小于目标门限值,其中,目标门限值依据存储虚拟输出队列的共享缓存的存储空间所确定;在队列长度小于目标门限值的情况下,允许虚拟输出队列接收目标网络流量,其中,目标网络流量为网络设备已经接收但未进入虚拟输出队列的网络流量;在队列长度大于或等于目标门限值的情况下,禁止虚拟输出队列接收目标网络流量。

可选地,网络流量队列的处理方法还包括:在判断虚拟输出队列的队列长度是否小于目标门限值之前,计算共享缓存中存储的所有虚拟输出队列的队列长度之和,得到总队列长度;计算存储空间与总队列长度的差值;根据差值以及动态门限因子确定目标门限值,其中,动态门限因子的变化用于对虚拟输出队列设置不同的目标门限值。

可选地,网络流量队列的处理方法还包括:在队列长度小于目标门限值的情况下,检测队列长度是否大于或等于虚拟输出队列对应的优先级门限值,其中,优先级门限值大于0并且小于或等于目标门限值,优先级门限值用于表征虚拟输出队列处于过载状态的临界值;在队列长度小于目标门限值并且大于或等于优先级门限值的情况下,允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量,其中,第一网络流量的传输优先级高于第二网络流量的传输优先级;在队列长度小于目标门限值并且小于优先级门限值的情况下,允许虚拟输出队列同时接收第一网络流量和第二网络流量。

可选地,网络流量队列的处理方法还包括:控制虚拟输出队列中的网络流量不断输出,并在虚拟输出队列中每加入一个第一网络流量之后,对优先级门限值进行一次反压操作,其中,反压操作用于减小优先级门限值;在不断输出网络流量的虚拟输出队列的队列长度小于反压操作后的优先级门限值的情况下,将优先级门限值调整为未进行过反压操作前的状态,并允许虚拟输出队列同时接收第一网络流量和第二网络流量;在不断输出网络流量的虚拟输出队列的队列长度大于或等于反压操作后的优先级门限值,并且小于目标门限值的情况下,允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量。

可选地,优先级门限值为优先级门限因子与目标门限值的乘积,优先级门限因子为小于1的正数,优先级门限因子的变化用于对虚拟输出队列设置不同的优先级门限值。

可选地,优先级门限值通过以下步骤得到:计算第一网络流量对应的分组服务率和第二网络流量对应的分组服务率之和,得到总分组服务率,其中,第一网络流量对应的分组服务率表征第一网络流量提供的业务服务占比,第二网络流量对应的分组服务率表征第二网络流量提供的业务服务占比;获取第一网络流量对应的分组到达率以及第二网络流量对应的分组到达率,其中,第一网络流量对应的分组到达率表征第一网络流量成功到达网络设备的数据量占比,第二网络流量对应的分组到达率表征第二网络流量成功到达网络设备的数据量占比;根据第一网络流量对应的分组到达率、第二网络流量对应的分组到达率以及总分组服务率确定优先级门限值。

可选地,网络流量队列的处理方法还包括:对第一网络流量对应的分组到达率、第二网络流量对应的分组到达率进行求和计算,得到第一数值;计算第一数值与总分组服务率的比值,得到第二数值;计算第一网络流量对应的分组到达率与总分组服务率的比值,得到第三数值;获取第一网络流量对应的第一权重和第二网络流量对应的第二权重;根据第一权重、第二权重、第二数值、第三数值以及目标门限值确定优先级门限值。

可选地,反压操作包括如下步骤:确定网络设备接收到并且未进入虚拟输出队列中的多个网络流量对应的平均流量长度;计算优先级门限值与平均流量长度的差值,并将差值作为完成一次反压操作后的优先级门限值。

可选地,网络流量队列的处理方法还包括:在控制虚拟输出队列中的网络流量不断输出,并在虚拟输出队列中每加入一个第一网络流量之后,对优先级门限值进行一次反压操作之后,在虚拟输出队列不断输出网络流量预设时长之后,将优先级门限值调整为未进行过反压操作前的状态,并允许虚拟输出队列同时接收第一网络流量和第二网络流量。

根据本申请的另一方面,还提供了一种网络流量队列的处理装置,其中,包括:检测单元,用于检测虚拟输出队列的队列长度,其中,虚拟输出队列表征网络设备准备输出的网络流量队列;判断单元,用于判断虚拟输出队列的队列长度是否小于目标门限值,其中,目标门限值依据存储虚拟输出队列的共享缓存的存储空间所确定;第一处理单元,用于在队列长度小于目标门限值的情况下,允许虚拟输出队列接收目标网络流量,其中,目标网络流量为网络设备已经接收但未进入虚拟输出队列的网络流量;第二处理单元,用于在队列长度大于或等于目标门限值的情况下,禁止虚拟输出队列接收目标网络流量。

根据本申请的另一方面,还提供了一种计算机可读存储介质,其中,计算机可读存储介质中存储有计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述的任意一项的网络流量队列的处理方法。

根据本申请的另一方面,还提供了一种电子设备,其中,电子设备包括一个或多个处理器和存储器,存储器用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述任意一项的网络流量队列的处理方法。

在本申请中,采用依据目标门限值调度流量的方式,首先检测虚拟输出队列的队列长度,其中,虚拟输出队列表征网络设备准备输出的网络流量队列。然后,判断虚拟输出队列的队列长度是否小于目标门限值,在队列长度小于目标门限值的情况下,允许虚拟输出队列接收目标网络流量,其中,目标网络流量为网络设备已经接收但未进入虚拟输出队列的网络流量;在队列长度大于或等于目标门限值的情况下,禁止虚拟输出队列接收目标网络流量。其中,目标门限值依据存储虚拟输出队列的共享缓存的存储空间所确定。

由上述内容可知,本申请依据共享缓存的存储空间为虚拟输出队列设置一个对应的目标门限值,在虚拟输出队列的队列长度小于目标门限值的情况下,控制虚拟输出队列能够接收新的网络流量;在队列长度大于或等于目标门限值的情况下,控制虚拟输出队列禁止接收新的网络流量,从而实现了根据目标门限值限制网络流量是否能够进入虚拟输出队列,在网络高峰时,新的网络流量(即目标网络流量)无法进入虚拟输出队列,则虚拟输出队列可以按照优先级顺序不断输出流量,直至虚拟输出队列的队列长度再次小于目标门限值,允许新的网络流量进入虚拟输出队列,避免了在出现网络流量高峰时,虚拟输出队列出现网络流量阻塞概率高的问题。

由此可见,本申请的方案实现了基于依据共享缓存的存储空间所确定的目标门限值调度进入虚拟输出队列的网络流量的目的,从而实现了在尽量避免共享缓存的存储出现空间不足的情况下调度网络流量的技术效果,进而解决了现有技术中在出现网络流量高峰时,虚拟输出队列出现网络流量阻塞概率高的技术问题。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的一种可选的网络流量队列的处理方法的流程图;

图2是根据本申请实施例的一种可选的基于反压操作调度网络流量的流程图;

图3是根据本申请实施例的一种可选的虚拟输出队列的状态转移示意图;

图4是根据本申请实施例的一种可选的计算优先级门限值的流程图;

图5是根据本申请实施例的一种可选的网络流量队列的处理装置的示意图;

图6是根据本申请实施例的一种电子设备的示意图。

具体实施方式

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

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例1

近年来,随着金融行业与互联网、新科技的深度融合。银行等金融机构的数据量爆发式增长,传统网络在承载新业务,支撑新技术应用方面逐渐显得捉襟见肘,不仅体现在网络资源池化能力不足,不能很好地支撑计算资源池化部署,还有新业务上线时网络部署变更依赖手工配置,流程长,操作复杂。在此背景下,软件定义网络(SDN)进入了银行科技的视野,SDN的理念是通过控制器实现整个网络的全局调度,使网络能够自动地动态响应所有应用的业务需求。SDN技术的核心思想是通过将网络设备的控制面与数据转发面解耦,构建一个开发灵活的网络体系结构,通过软件自动化代替手动编排,实现网络服务可编程化,提升网络资源池化水平。

而在现有的网络质量优化算法中,着重于保障网络整体的时延和可用性,无法满足金融行业对于核心重点业务的网络需求,例如支付、数字签名、信息验证等业务的时效性及准确性,音视频业务的网络速率要求。而在常见的三层路由转发中,不同业务的服务等级使用IP头部的服务类型字段来表示,在数据面支持对不同优先级的业务区分服务,每个虚拟输出队列会进一步被划分为多个优先级队列。在分组出队时,使用一定的调度算法确定不同优先级队列的出队次序以及带宽分配,从而满足不同业务的网络需求。

其次,使用传统的网络流量调度算法时,会按照不同网络流量队列的权重为每个网络流量队列分配带宽,使得高优先级的业务能够得到更好的服务。

但是,使用传统的网络流量调度算法调度流量时存在一个公平性问题,即低优先级的网络流量队列会大量占用共享缓存,影响高优先级网络流量对共享缓存的使用。导致该问题的原因是队列管理的入队端采用的是抢占式入队机制,即当一个分组在入队时,队列管理并不关心此分组的优先级,只要存在足够的缓存空间,就允许该分组入队。由于高优先级分组的出队速度更快,进而使得低优先级分组大量沉积在队列中。这种沉积效应不仅降低了缓存的利用率,影响高优先级分组的正常入队,而且使得低优先级分组的时延大幅提高,尤其在网络流量高峰时,非常容易出现网络流量阻塞的问题。

为了解决上述问题,本申请提出了一种网络流量队列的处理方法,其中,在本申请中,还提供了一种网络流量调度系统作为本申请实施例中的网络流量队列的处理方法的执行主体。

需要说明的是,本申请中的网络流量调度系统可以是一种软件系统,也可以是一种软硬件相结合的嵌入式系统。

可选地,图1是根据本申请实施例的一种可选的网络流量队列的处理方法的流程图,如图1所示,该方法包括如下步骤:

步骤S101,检测虚拟输出队列的队列长度。

在步骤S101中,虚拟输出队列表征网络设备准备输出的网络流量队列。

可选地,上述网络设备可以是网络交换机、网络防火墙、路由器等各种需要处理网络流量的设备。

其次,一个网络设备可以同时处理多个虚拟输出队列,例如,在网络设备为一个8端口的网络交换机的情况下,每个端口对应一个虚拟输出队列。

另外,为了方便说明,本申请实施例以网络设备对应的一个虚拟输出队列i进行说明,其中,将虚拟输出队列i的队列长度记为Q

步骤S102,判断虚拟输出队列的队列长度是否小于目标门限值。

在步骤S102中,目标门限值依据存储虚拟输出队列的共享缓存的存储空间所确定。

可选地,目标门限值可用B设置,共享缓存用于存储网络设备对应的每个虚拟输出队列。需要说明的是,目标门限值B与共享缓存的存储空间相关,即在本申请中,共享缓存的存储空间为计算目标门限值B的一个参数。

步骤S103,在队列长度小于目标门限值的情况下,允许虚拟输出队列接收目标网络流量。

在步骤S103中,目标网络流量为网络设备已经接收但未进入虚拟输出队列的网络流量。

需要说明的是,网络设备接收到的任意一个网络流量都需要进入虚拟输出队列以从网络设备中输出,在此基础上,目标网络流量可以理解为是网络设备新接收到但是还未进入到虚拟输出队列的网络流量。

还需要说明的是,如果网络流量调度系统检测到在当前时刻的虚拟输出队列i的队列长度Q

步骤S104,在队列长度大于或等于目标门限值的情况下,禁止虚拟输出队列接收目标网络流量。

可选地,如果网络流量调度系统检测到在当前时刻的虚拟输出队列i的队列长度Q

基于上述步骤S101至步骤S104的内容可知,在本申请中,采用依据目标门限值调度流量的方式,首先检测虚拟输出队列的队列长度,其中,虚拟输出队列表征网络设备准备输出的网络流量队列。然后,判断虚拟输出队列的队列长度是否小于目标门限值,在队列长度小于目标门限值的情况下,允许虚拟输出队列接收目标网络流量,其中,目标网络流量为网络设备已经接收但未进入虚拟输出队列的网络流量;在队列长度大于或等于目标门限值的情况下,禁止虚拟输出队列接收目标网络流量。其中,目标门限值依据存储虚拟输出队列的共享缓存的存储空间所确定。

由上述内容可知,本申请依据共享缓存的存储空间为虚拟输出队列设置一个对应的目标门限值,在虚拟输出队列的队列长度小于目标门限值的情况下,控制虚拟输出队列能够接收新的网络流量;在队列长度大于或等于目标门限值的情况下,控制虚拟输出队列禁止接收新的网络流量,从而实现了根据目标门限值限制网络流量是否能够进入虚拟输出队列,在网络高峰时,新的网络流量(即目标网络流量)无法进入虚拟输出队列,则虚拟输出队列可以按照优先级顺序不断输出流量,直至虚拟输出队列的队列长度再次小于目标门限值,允许新的网络流量进入虚拟输出队列,避免了在出现网络流量高峰时,虚拟输出队列出现网络流量阻塞概率高的问题。

由此可见,本申请的方案实现了基于依据共享缓存的存储空间所确定的目标门限值调度进入虚拟输出队列的网络流量的目的,从而实现了在尽量避免共享缓存的存储出现空间不足的情况下调度网络流量的技术效果,进而解决了现有技术中在出现网络流量高峰时,虚拟输出队列出现网络流量阻塞概率高的技术问题。

在一种可选的实施例中,在判断虚拟输出队列的队列长度是否小于目标门限值之前,网络流量调度系统可以共享缓存中存储的所有虚拟输出队列的队列长度之和,得到总队列长度,然后计算存储空间与总队列长度的差值,并根据差值以及动态门限因子确定目标门限值,其中,动态门限因子的变化用于对虚拟输出队列设置不同的目标门限值。

可选地,网络流量调度系统可以通过以下公式(1)来确定目标门限值。

其中,α为动态门限因子,C为共享缓存的存储空间,∑

可选地,通过改变α的值,可以设置不同的目标门限值B。

在一种可选的实施例中,在队列长度小于目标门限值的情况下,网络流量调度系统还会检测队列长度是否大于或等于虚拟输出队列对应的优先级门限值,其中,优先级门限值大于0并且小于或等于目标门限值,优先级门限值用于表征虚拟输出队列处于过载状态的临界值。在队列长度小于目标门限值并且大于或等于优先级门限值的情况下,允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量,其中,第一网络流量的传输优先级高于第二网络流量的传输优先级;在队列长度小于目标门限值并且小于优先级门限值的情况下,允许虚拟输出队列同时接收第一网络流量和第二网络流量。

可选地,网络流量调度系统还为每个虚拟输出队列设置一个优先级门限值,其中,虚拟输出队列i对应的优先级门限值可记为T

但是,如果B>Q

在一种可选的实施例中,在队列长度小于目标门限值并且大于或等于优先级门限值的情况下,允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量的过程中,网络流量调度系统还将通过对优先级门限值进行反压操作来调度流量,如图2所示,包括如下步骤:

步骤S201,控制虚拟输出队列中的网络流量不断输出,并在虚拟输出队列中每加入一个第一网络流量之后,对优先级门限值进行一次反压操作。

在步骤S201中,反压操作用于减小优先级门限值。

可选地,反压操作包括如下步骤:确定网络设备接收到并且未进入虚拟输出队列中的多个网络流量对应的平均流量长度;计算优先级门限值与平均流量长度的差值,并将差值作为完成一次反压操作后的优先级门限值。

步骤S202,在不断输出网络流量的虚拟输出队列的队列长度小于反压操作后的优先级门限值的情况下,将优先级门限值调整为未进行过反压操作前的状态,并允许虚拟输出队列同时接收第一网络流量和第二网络流量。

步骤S203,在不断输出网络流量的虚拟输出队列的队列长度大于或等于反压操作后的优先级门限值,并且小于目标门限值的情况下,允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量。

可选地,假设反压操作后的优先级门限值为T’

T′

其中,BP

由此可见,随着虚拟输出队列i中的网络流量不断输出,虚拟输出队列i的队列长度也在不断变小,但是,网络流量调度系统通过在每当一个第一网络流量进入虚拟输出队列i之后,便对优先级门限值进行一次反压操作,从而使得优先级门限值也在变小,进而实现了在一段时间内仍旧能够维持允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量的状态。

在一种可选的实施例中,优先级门限值为优先级门限因子与目标门限值的乘积,优先级门限因子为小于1的正数,优先级门限因子的变化用于对虚拟输出队列设置不同的优先级门限值。

可选地,优先级门限因子可以用β表示,其中,优先级门限值的初始值为βB,即未进行过反压操作之前的优先级门限值为βB。

由上述内容可知,通过本申请的方案,为网络设备中的每个虚拟输出队列i设置一个优先级门限T

其次,如果突发流量冲高使得虚拟输出队列i的队列长度Q

在一种可选的实施例中,在虚拟输出队列不断输出网络流量预设时长之后,将优先级门限值调整为未进行过反压操作前的状态,并允许虚拟输出队列同时接收第一网络流量和第二网络流量。

可选地,每个虚拟输出队列i具有两种状态:正常状态和反压状态,状态转移图如图3所示。在初始状态下,虚拟输出队列i处于正常状态。一个网络流量队列的入队、出队或者超时事件均可能会触发状态转移。当虚拟输出队列i的队列长度Q

在一种可选的实施例中,关于优先级门限值(这里特指优先级门限值的初始值T

步骤S401,计算第一网络流量对应的分组服务率和第二网络流量对应的分组服务率之和,得到总分组服务率。

在步骤S401中,第一网络流量对应的分组服务率表征第一网络流量提供的业务服务占比,第二网络流量对应的分组服务率表征第二网络流量提供的业务服务占比。

可选地,假设第一网络流量和第二网络流量共提供服务数量100个,其中,第一网络流量提供的服务数量为10个,第二网络流量提供的服务数量为90个,则第一网络流量对应的分组服务率(记为μ

其中,总分组服务率为μ

步骤S402,获取第一网络流量对应的分组到达率以及第二网络流量对应的分组到达率。

在步骤S402中,第一网络流量对应的分组到达率表征第一网络流量成功到达网络设备的数据量占比,第二网络流量对应的分组到达率表征第二网络流量成功到达网络设备的数据量占比。

可选地,假设第一网络流量共有100个数据包,成功到达网络设备的数据包共有40个,则第一网络流量对应的分组到达率(记为λ

步骤S403,根据第一网络流量对应的分组到达率、第二网络流量对应的分组到达率以及总分组服务率确定优先级门限值。

在步骤S403中,网络流量调度系统首先对第一网络流量对应的分组到达率、第二网络流量对应的分组到达率进行求和计算,得到第一数值,然后计算第一数值与总分组服务率的比值,得到第二数值。随后,网络流量调度系统计算第一网络流量对应的分组到达率与总分组服务率的比值,得到第三数值,并获取第一网络流量对应的第一权重和第二网络流量对应的第二权重,最后,网络流量调度系统根据第一权重、第二权重、第二数值、第三数值以及目标门限值确定优先级门限值。

可选地,第一数值为λ

需要说明的是,随着优先级门限因子β上升,高优先级的网络流量的阻塞概率上升,低优先级的网络流量的阻塞概率下降。由于优先级门限较小时,会有更多的低优先级的网络流量被禁入虚拟输出队列,此时低优先级的网络流量的阻塞概率上升,但是同时也会为高优先级的网络流量预留出更多的存储空间,此时高优先级的网络流量的阻塞概率下降。为了综合考虑总体的阻塞概率,需要对高优先级网络流量的阻塞概率和低优先级网络流量的阻塞概率进行合理的权衡。

首先定义网络设备的平均加权丢包率来衡量网络设备的总体阻塞概率,将总体阻塞概率记作WL。

分别计算高优先级网络流量(即第一网络流量)的阻塞概率以及低优先级网络流量(即第二网络流量)的阻塞概率。其中,第一网络流量的阻塞概率为虚拟输出队列i的队列长度大于或等于目标门限值B的概率,第二网络流量的阻塞概率为虚拟输出队列i的队列长度大于或等于优先级门限T

其中,

其中,公式(3)与公式(4)中的T所对应的最优解即为优先级门限值的初始值。

综上,可得到WL的表达式为公式(5)

通过计算WL的最小值,就可以求解得出T的最优解T

从WL的表达式中可以看出,系统的平均加权丢包率的最小值取决于输入负载以及高低优先级的权重。通过数值计算的分析可以得到优先级门限的最优值对输入流量的情况并不敏感,在相同的输入流量下,高优先级队列的权重越大,系统的平均加权丢包率越小。此外,门限T的最优取值与权重相关。如果高优先级业务的重要性越高,优先级门限就应该设置的越小。

由上述内容可知,本申请对在多优先级网络流量队列的场景下,为了给不同优先级的网络流量队列提供不同的服务质量,同时保证共享缓存利用的公平性,提出一种利用优先级门限反压的服务质量优化方法,其主要思想是在入队端增加基于反压机制的优先级门限。当较高优先级的网络流量较大时,在队列管理的入队端主动抑制较低优先级的入队流量,从而降低虚拟输出队列整体的阻塞概率。

实施例2

本实施例提供了一种可选的网络流量队列的处理装置,该网络流量队列的处理装置中的各个实施单元对应于实施例1中各个实施步骤。

图5是根据本申请实施例的一种可选的网络流量队列的处理装置的示意图,如图5所示,包括:检测单元501、判断单元502、第一处理单元503以及第二处理单元504。

其中,检测单元501,用于检测虚拟输出队列的队列长度,其中,虚拟输出队列表征网络设备准备输出的网络流量队列;判断单元502,用于判断虚拟输出队列的队列长度是否小于目标门限值,其中,目标门限值依据存储虚拟输出队列的共享缓存的存储空间所确定;第一处理单元503,用于在队列长度小于目标门限值的情况下,允许虚拟输出队列接收目标网络流量,其中,目标网络流量为网络设备已经接收但未进入虚拟输出队列的网络流量;第二处理单元504,用于在队列长度大于或等于目标门限值的情况下,禁止虚拟输出队列接收目标网络流量。

可选地,网络流量队列的处理装置还包括:第一计算单元、第二计算单元以及第一确定单元。其中,第一计算单元,用于计算共享缓存中存储的所有虚拟输出队列的队列长度之和,得到总队列长度;第二计算单元,用于计算存储空间与总队列长度的差值;第一确定单元,用于根据差值以及动态门限因子确定目标门限值,其中,动态门限因子的变化用于对虚拟输出队列设置不同的目标门限值。

可选地,第一处理单元503,包括:第一检测子单元、第一处理子单元以及第二处理子单元。其中,第一检测子单元,用于在队列长度小于目标门限值的情况下,检测队列长度是否大于或等于虚拟输出队列对应的优先级门限值,其中,优先级门限值大于0并且小于或等于目标门限值,优先级门限值用于表征虚拟输出队列处于过载状态的临界值;第一处理子单元,用于在队列长度小于目标门限值并且大于或等于优先级门限值的情况下,允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量,其中,第一网络流量的传输优先级高于第二网络流量的传输优先级;第二处理子单元,用于在队列长度小于目标门限值并且小于优先级门限值的情况下,允许虚拟输出队列同时接收第一网络流量和第二网络流量。

可选地,第一处理子单元,包括:第一控制模块、调整模块以及第一处理模块。其中,第一控制模块,用于控制虚拟输出队列中的网络流量不断输出,并在虚拟输出队列中每加入一个第一网络流量之后,对优先级门限值进行一次反压操作,其中,反压操作用于减小优先级门限值;调整模块,用于在不断输出网络流量的虚拟输出队列的队列长度小于反压操作后的优先级门限值的情况下,将优先级门限值调整为未进行过反压操作前的状态,并允许虚拟输出队列同时接收第一网络流量和第二网络流量;第一处理模块,用于在不断输出网络流量的虚拟输出队列的队列长度大于或等于反压操作后的优先级门限值,并且小于目标门限值的情况下,允许虚拟输出队列接收第一网络流量,禁止虚拟输出队列接收第二网络流量。

可选地,优先级门限值为优先级门限因子与目标门限值的乘积,优先级门限因子为小于1的正数,优先级门限因子的变化用于对虚拟输出队列设置不同的优先级门限值。

可选地,网络流量队列的处理装置还包括:第三计算单元、获取单元以及第二确定单元。其中,第三计算单元,用于计算第一网络流量对应的分组服务率和第二网络流量对应的分组服务率之和,得到总分组服务率,其中,第一网络流量对应的分组服务率表征第一网络流量提供的业务服务占比,第二网络流量对应的分组服务率表征第二网络流量提供的业务服务占比;获取单元,用于获取第一网络流量对应的分组到达率以及第二网络流量对应的分组到达率,其中,第一网络流量对应的分组到达率表征第一网络流量成功到达网络设备的数据量占比,第二网络流量对应的分组到达率表征第二网络流量成功到达网络设备的数据量占比;第二确定单元,用于根据第一网络流量对应的分组到达率、第二网络流量对应的分组到达率以及总分组服务率确定优先级门限值。

可选地,第二确定单元,包括:第一计算子单元、第二计算子单元、第三计算子单元、获取子单元以及第一确定子单元。其中,第一计算子单元,用于对第一网络流量对应的分组到达率、第二网络流量对应的分组到达率进行求和计算,得到第一数值;第二计算子单元,用于计算第一数值与总分组服务率的比值,得到第二数值;第三计算子单元,用于计算第一网络流量对应的分组到达率与总分组服务率的比值,得到第三数值;获取子单元,用于获取第一网络流量对应的第一权重和第二网络流量对应的第二权重;第一确定子单元,用于根据第一权重、第二权重、第二数值、第三数值以及目标门限值确定优先级门限值。

可选地,网络流量队列的处理装置还包括:第三确定单元以及第四计算单元。其中,第三确定单元,用于确定网络设备接收到并且未进入虚拟输出队列中的多个网络流量对应的平均流量长度;第四计算单元,用于计算优先级门限值与平均流量长度的差值,并将差值作为完成一次反压操作后的优先级门限值。

可选地,网络流量队列的处理装置还包括:第三处理单元,用于在虚拟输出队列不断输出网络流量预设时长之后,将优先级门限值调整为未进行过反压操作前的状态,并允许虚拟输出队列同时接收第一网络流量和第二网络流量。

实施例3

根据本申请实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的计算机程序,其中,在计算机程序运行时控制计算机可读存储介质所在设备执行上述实施例1中的网络流量队列的处理方法。

实施例4

根据本申请实施例的另一方面,还提供了一种电子设备,包括:处理器;以及存储器,用于存储处理器的可执行指令;其中,处理器配置为经由执行可执行指令来执行上述实施例1中的网络流量队列的处理方法。

图6是根据本申请实施例的一种电子设备的示意图,如图6所示,本申请实施例提供了一种电子设备,电子设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现上述实施例1中的网络流量队列的处理方法。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

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

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

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

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

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

以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

相关技术
  • 基于消息队列的请求处理方法、装置、设备及存储介质
  • 日志信息处理方法、装置、电子设备及可读存储介质
  • 数据处理方法、装置、计算机可读存储介质和电子设备
  • 三维模型处理方法和装置、电子设备、计算机可读存储介质
  • 路由数据处理方法、装置、电子设备及存储介质
  • 工业控制网络流量处理方法、装置、电子设备与存储介质
  • 网络流量的处理方法及装置、电子设备、存储介质
技术分类

06120116485987