CN111385214A - 一种流量控制方法、装置及设备 - Google Patents
一种流量控制方法、装置及设备 Download PDFInfo
- Publication number
- CN111385214A CN111385214A CN201811612808.XA CN201811612808A CN111385214A CN 111385214 A CN111385214 A CN 111385214A CN 201811612808 A CN201811612808 A CN 201811612808A CN 111385214 A CN111385214 A CN 111385214A
- Authority
- CN
- China
- Prior art keywords
- application node
- information
- flow control
- parameter information
- flow
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000008569 process Effects 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种流量控制方法、装置及设备,该方法包括:获取应用节点的流量参数信息;根据所述流量参数信息获取所述应用节点的有效实体信息;根据所述有效实体信息确定所述应用节点的流量控制阈值;根据所述流量控制阈值对数据请求进行流量控制。通过本申请的技术方案,可以自适应的调整流量控制阈值,节省配置工作量,流量控制阈值与应用节点的实际服务能力匹配。
Description
技术领域
本申请涉及通信技术领域,尤其是一种流量控制方法、装置及设备。
背景技术
在应用节点发布服务后,则应用节点可以接收数据请求,并对数据请求进行处理。但是,如果不限制应用节点的访问流量,则应用节点可能接收到大量数据请求,这些数据请求会消耗过多的处理资源,导致应用节点的处理能力下降,影响应用节点的正常功能。基于此,可以对应用节点进行流量控制,即控制应用节点的访问流量,从而保证应用节点的处理性能。例如,配置流量控制阈值是100个每秒,当应用节点在1秒内接收到的数据请求数量达到100个时,则应用节点不再对新的数据请求进行处理,从而保证应用节点的处理性能。
目前,为了实现应用节点的流量控制,则用户可以根据实际经验为应用节点配置流量控制阈值。但是,上述方式需要用户人工配置流量控制阈值,配置工作量较大,而且,流量控制阈值可能与应用节点的实际服务能力不匹配。
发明内容
本申请提供一种流量控制方法,所述方法包括:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
本申请提供一种流量控制方法,所述方法包括:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
其中,所述流量控制阈值用于对数据请求进行流量控制。
本申请提供一种流量控制方法,所述方法包括:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的性能信息;
根据所述性能信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
本申请提供一种流量控制装置,所述装置包括:
获取模块,用于获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
确定模块,用于根据所述有效实体信息确定所述应用节点的流量控制阈值;
控制模块,用于根据所述流量控制阈值对数据请求进行流量控制。
本申请提供一种应用节点,所述应用节点包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
基于上述技术方案,本申请实施例中,可以根据应用节点的流量参数信息获取应用节点的有效实体信息,并根据应用节点的有效实体信息确定应用节点的流量控制阈值,并根据流量控制阈值对数据请求进行流量控制。显然,在上述方式中,是根据应用节点的有效实体信息动态调整应用节点的流量控制阈值,即自适应的调整流量控制阈值,可以更加精准的控制流量,而不需要人工配置流量控制阈值,可以节省配置工作量,流量控制阈值可以与应用节点的实际服务能力匹配,在保证高可用的同时,最大限度的发挥应用节点的处理能力。
附图说明
为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其它的附图。
图1是本申请一种实施方式中的流量控制方法的流程图;
图2是本申请另一种实施方式中的流量控制方法的流程图;
图3是本申请另一种实施方式中的流量控制方法的流程图;
图4是本申请一种实施方式中的应用场景示意图;
图5是本申请另一种实施方式中的流量控制方法的流程图;
图6是本申请一种实施方式中的第一变化趋势和第二变化趋势的示意图;
图7是本申请一种实施方式中的流量控制装置的结构图;
图8是本申请一种实施方式中的应用节点的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种流量控制方法,该方法可以应用于应用节点,参见图1所示,为该流量控制方法的流程示意图,该流量控制方法可以包括:
步骤101,获取应用节点的流量参数信息。
具体的,应用节点每隔固定周期,则可以获取应用节点的流量参数信息,并执行后续步骤,也就是说,可以周期性的执行步骤101-步骤104。
步骤102,根据该流量参数信息获取应用节点的有效实体信息。
具体的,可以根据该流量参数信息获取单实体服务能力信息,并根据该流量参数信息和该单实体服务能力信息,获取应用节点的有效实体信息。
其中,根据该流量参数信息获取单实体服务能力信息,可以包括但不限于:若该流量参数信息包括指定时间段内的每个数据请求的处理时间,则可以根据每个处理时间确定指定时间段的目标处理时间,如所有处理时间中的最小处理时间;然后,可以根据该目标处理时间获取单实体服务能力信息。
其中,根据该流量参数信息和该单实体服务能力信息,获取应用节点的有效实体信息,可以包括但不限于:若该流量参数信息包括指定时间段内的数据请求的处理数量(即已经被处理的数据请求的总数量),则可以根据该处理数量和该单实体服务能力信息,获取应用节点的有效实体信息。
在上述实施例中,可以根据数据请求的未完成数量和数据请求的处理数量,确定指定时间段。具体的,应用节点可以获取数据请求的未完成数量的第一变化趋势,并获取数据请求的处理数量的第二变化趋势。然后,应用节点可以根据该第一变化趋势和该第二变化趋势,确定所述指定时间段。
在一个例子中,上述实体可以包括但不限于:进程、线程、虚拟机、容器、进程组、CPU(Central Processing Unit,中央处理器)核,对此不做限制。
步骤103,根据该有效实体信息确定应用节点的流量控制阈值。
具体的,应用节点可以根据排队能力参数和该有效实体信息确定应用节点的流量控制阈值;其中,排队能力参数可以基于允许数据请求排队的能力确定。
步骤104,根据该流量控制阈值对数据请求进行流量控制。
具体的,应用节点可以根据该流量控制阈值向令牌桶中放入令牌;在接收到数据请求后,确定该数据请求的消耗令牌数,并判断令牌桶中的剩余令牌数是否大于等于该消耗令牌数。如果是,则对该数据请求进行处理,并从令牌桶中删除该消耗令牌数个令牌;如果否,则拒绝对该数据请求进行处理。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,可以根据应用节点的有效实体信息动态调整应用节点的流量控制阈值,即可以自适应的调整流量控制阈值,可以更加精准的控制流量。在上述方式中,不需要人工配置流量控制阈值,从而可以节省配置工作量,而且,流量控制阈值可以与应用节点的实际服务能力匹配,在保证高可用的同时,最大限度的发挥应用节点的处理能力。
基于与上述方法同样的申请构思,本申请实施例中还提出另一种流量控制方法,参见图2所示,为该流量控制方法的流程示意图,该方法可以包括:
步骤201,获取应用节点的流量参数信息。
步骤202,根据该流量参数信息获取应用节点的有效实体信息。
步骤203,根据该有效实体信息确定应用节点的流量控制阈值;其中,该流量控制阈值用于使应用节点利用该流量控制阈值对数据请求进行流量控制。
基于与上述方法同样的申请构思,本申请实施例中还提出另一种流量控制方法,参见图3所示,为该流量控制方法的流程示意图,该方法可以包括:
步骤301,获取应用节点的流量参数信息。
步骤302,根据流量参数信息获取应用节点的性能信息。
步骤303,根据性能信息确定应用节点的流量控制阈值。
其中,性能信息可以包括但不限于:有效实体信息、CPU(Central ProcessingUnit,中央处理器)使用率、内存使用率,性能信息还可以为其它内容,对此不做限制。本实施例中,以性能信息为有效实体信息为例,根据有效实体信息确定流量控制阈值的方式,可以参见上述实施例。当性能信息为CPU使用率和内存使用率时,其实现流程与有效实体信息的实现流程类似,在此不再赘述。
步骤304,根据该流量控制阈值对数据请求进行流量控制。
以下结合具体应用场景,对上述流量控制方法进行详细说明。本实施例的应用场景可以包括多个应用节点,这些应用节点(也可以称为应用服务器或应用实例)用于提供相同服务或不同服务,对此不做限制。在应用节点发布服务后,应用节点可以接收数据请求,并对数据请求进行处理。由于应用节点的服务能力有限,因此,为了保证应用节点的处理性能,可以对应用节点进行流量控制,即控制应用节点的访问流量,从而保证应用节点的处理性能。
在传统方式中,为了实现应用节点的流量控制,则用户可以根据实际经验为应用节点配置流量控制阈值,存在配置工作量较大、流量控制阈值与应用节点的实际服务能力不匹配等问题。与上述方式不同的是,本实施例中,可以根据应用节点的有效实体信息动态调整应用节点的流量控制阈值,从而自适应的调整流量控制阈值,更加精准的控制流量,节省配置工作量,使得流量控制阈值与应用节点的实际服务能力匹配,最大限度的发挥应用节点的处理能力。
参见图4所示,为本申请实施例的应用场景示意图。针对分布式系统的每个应用节点来说,该应用节点可以包括如下功能模块:统计模块、阈值作用模块、分析模块、阈值动态调整模块、阈值存储模块、数据处理模块。
统计模块用于完成流量统计的功能,包含如下子模块:未完成请求数统计子模块、入口流量统计子模块、出口流量统计子模块。未完成请求数统计子模块,用于统计当前正在排队或者正在被处理的数据请求数量;入口流量统计子模块,用于统计进入应用节点的数据请求的各项指标,如入口速度;出口流量统计子模块,用于统计返回结果时的各项指标,如出口速度、出口响应时间。
阈值作用模块用于根据阈值存储模块存储的流量控制阈值,对入口流量进行流量控制,决定是否允许数据请求通过。针对允许通过的数据请求,由数据处理模块对该数据请求进行处理;针对不允许通过的数据请求,丢弃数据请求。
分析模块用于分析应用节点的关键指标,包含如下子模块:最小响应时间分析子模块、服务能力上限分析子模块。最小响应时间分析子模块,用于根据统计模块的统计信息分析某段时间内的最小响应时间;服务能力上限分析子模块,用于根据统计模块的统计信息分析应用节点的处理能力上限。
阈值动态调整模块用于根据分析模块的分析结果以及统计模块的统计信息,动态调整流量控制阈值,并将调整后的流量控制阈值存储到阈值存储模块。
阈值存储模块,用于存储当前的流量控制阈值。
数据处理模块,用于对数据请求进行处理。
在上述应用场景下,参见图5所示,为流量控制方法的流程示意图,该方法可以包括:
步骤501,获取应用节点的流量参数信息。
具体的,可以划分一个时间区间A,时间区间A的长度可以根据经验配置,假设长度为R分钟,如1分钟、2分钟等,对此不做限制。假设时刻D至时刻S为时间区间A,则时刻D+R分钟就是时刻S。在一个例子中,时刻S可以是当前时刻,也可以是当前时刻之前的某个时刻,对此不做限制。以当前时刻为例,则(当前时刻-R分钟)至当前时刻之间的时间区间,可以为时间区间A。
进一步的,应用节点可以统计时间区间A的流量参数信息,该流量参数信息可以包括但不限于:时间区间A内的每个统计时刻的数据请求的未完成数量、时间区间A内的每个统计时刻的数据请求的接收数量(即入口速度)、时间区间A内的每个统计时刻的数据请求的处理数量(即出口速度)、时间区间A内的每个数据请求的处理时间。当然,上述只是几个示例,对此不做限制。
其中,时间区间A内的每个统计时刻可以是指:假设时间区间A的长度为1分钟,应用节点每秒统计一次流量参数信息,则时间区间A可以包括60个统计时刻,即每隔1秒对应一个统计时刻。假设应用节点每毫秒统计一次流量参数信息,则时间区间A可以包括60000个统计时刻,即每隔1毫秒对应一个统计时刻。为了方便描述,后续以每隔1秒对应一个统计时刻为例进行说明。
其中,数据请求的未完成数量可以是指:在时间区间A内的每个统计时刻,正在排队的数据请求的数量与正在被处理的数据请求的数量之和。例如,应用节点可以启动多个实体,并由这些实体处理数据请求,因此,在每个统计时刻,可以统计正在被处理的数据请求的数量。应用节点可以包括一个或者多个队列,应用节点在接收到数据请求后,是将数据请求存储到队列中,且实体从队列中读取数据请求,因此,在每个统计时刻,可以统计正在排队的数据请求的数量。
在一个例子中,上述实体可以包括但不限于:进程、线程、虚拟机、容器、进程组、CPU核,对此不做限制。为了方便描述,后续以线程为例进行说明。
综上所述,在每个统计时刻,应用节点可以统计正在被处理的数据请求的数量和正在排队的数据请求的数量,继而可以得到数据请求的未完成数量。例如,统计时刻1的数据请求的未完成数量是200,统计时刻2的数据请求的未完成数量是300,统计时刻3的数据请求的未完成数量是400,以此类推。
其中,数据请求的接收数量可以是指:在时间区间A内的每个统计时刻,应用节点接收到的所有数据请求的总数量。例如,在统计时刻1,应用节点接收到300个数据请求,则数据请求的接收数量可以是300,以此类推。
其中,数据请求的处理数量是指:在时间区间A内的每个统计时刻,应用节点通过所有线程处理完成的数据请求的总数量。例如,在统计时刻1,通过所有线程处理完成200个数据请求,则数据请求的处理数量是200,以此类推。
其中,数据请求的处理时间可以是指:针对时间区间A内的每个数据请求,从开始处理该数据请求到该数据请求被处理完成,所经过的时长就是该数据请求的处理时间。例如,数据请求1在时刻1开始处理,数据请求1在时刻2被处理完成,则时刻1与时刻2之间的时长,就是数据请求1的处理时间。
步骤502,根据该流量参数信息确定指定时间段。
在一个例子中,可以将时间区间A确定为指定时间段;或者,可以将时间区间A内的某个时间段确定为指定时间段;或者,可以根据该流量参数信息确定指定时间段,本实施例中,以根据该流量参数信息确定指定时间段为例。
其中,根据该流量参数信息确定指定时间段,可以但不限于:根据数据请求的未完成数量和数据请求的处理数量,确定指定时间段。具体的,可以获取数据请求的未完成数量的第一变化趋势,并获取数据请求的处理数量的第二变化趋势。然后,根据该第一变化趋势和该第二变化趋势,确定指定时间段。
例如,在时间区间A内的每个统计时刻,应用节点可以统计到数据请求的未完成数量的第一变化趋势、数据请求的处理数量的第二变化趋势。参见图6所示,为第一变化趋势和第二变化趋势的示意图。横坐标可以是时间区间A内的60个统计时刻,纵坐标可以是数据请求的未完成数量和数据请求的处理数量。
从图6可以看出,基于统计时刻1到统计时刻20的第一变化趋势和第二变化趋势,数据请求的未完成数量在增加,且数据请求的处理数量也在增加。由于数据请求的处理数量在增加,因此,应用节点还没有达到处理能力上限。例如,假设应用节点的处理能力上限是启动10个线程,但是在统计时刻1,可能只启动4个线程,在统计时刻10,可能只启动7个线程,以此类推。综上所述,基于第一变化趋势和第二变化趋势可知,应用节点在统计时刻1到统计时刻20并未达到处理能力上限,不将统计时刻1到统计时刻20作为指定时间段。
从图6可以看出,基于统计时刻20到统计时刻40的第一变化趋势和第二变化趋势,数据请求的未完成数量在增加,但是数据请求的处理数量保持不变,因此,应用节点已经达到处理能力上限,无法处理更多的数据请求,从而导致数据请求的处理数量保持不变,但是数据请求的未完成数量在增加。例如,假设应用节点的处理能力上限是启动10个线程,则在统计时刻20到统计时刻40,可能已经启动10个线程,已经无法处理更多的数据请求。综上所述,基于第一变化趋势和第二变化趋势可知,应用节点在统计时刻20到统计时刻40已经达到处理能力上限,可以利用统计时刻20到统计时刻40确定指定时间段。
例如,应用节点可以将统计时刻20到统计时刻40作为指定时间段;或者,应用节点还可以将统计时刻20到统计时刻30作为指定时间段;或者,应用节点还可以将统计时刻30到统计时刻40作为指定时间段,对此不做限制。
从图6可以看出,基于统计时刻40到统计时刻60的第一变化趋势和第二变化趋势,数据请求的未完成数量在减少,数据请求的处理数量在减少。由于数据请求的处理数量在减少,应用节点可能没有达到处理能力上限,因此,基于第一变化趋势和第二变化趋势可知,应用节点在统计时刻40到统计时刻60并未达到处理能力上限,不将统计时刻40到统计时刻60作为指定时间段。
综上所述,可以根据第一变化趋势和第二变化趋势,确定指定时间段,当然,上述只是确定指定时间段的一个示例,对此确定方式不做限制。
步骤503,根据指定时间段内的每个数据请求的处理时间,确定该指定时间段的目标处理时间,如目标处理时间可以是所有处理时间中的最小处理时间。
参见上述实施例,指定时间段可以是时间区间A内的某个时间区间,如时间区间A内的统计时刻30到统计时刻40。由于流量参数信息可以包括时间区间A内的每个数据请求的处理时间,因此,应用节点可以获知指定时间段内的每个数据请求的处理时间。然后,应用节点可以从这些数据请求的处理时间中选择最小处理时间,这个最小处理时间就是指定时间段的目标处理时间。
当然,上述只是目标处理时间的示例,对此不做限制。例如,从这些数据请求的处理时间中选择最大处理时间,这个最大处理时间是指定时间段的目标处理时间;或者,从这些数据请求的处理时间中随机选择处理时间,这个随机选择的处理时间是指定时间段的目标处理时间;或者,确定这些数据请求的处理时间的平均处理时间,这个平均处理时间是指定时间段的目标处理时间。
步骤504,根据该目标处理时间获取单线程服务能力信息。
具体的,可以采用如下公式确定单线程服务能力信息:1秒/min_rt,min_rt表示目标处理时间。例如,假设min_rt为20毫秒,则单线程服务能力信息为50,表示一个线程每秒最多处理50个数据请求,即每隔20毫秒处理一个数据请求。
步骤505,根据指定时间段内的数据请求的处理数量和该单线程服务能力信息,获取应用节点的有效线程信息,即应用节点当前启动的线程数量。
在一个例子中,可以根据指定时间段内的数据请求的处理数量和指定时间段的时长,确定平均处理数量(如每秒平均处理的数据请求数量);然后,将平均处理数量除以单线程服务能力信息,得到中间数值;若该中间数值是正整数,则可以将该中间数值确定为有效线程信息;若该中间数值不是正整数,则可以对该中间数值进行向上取整或者向下取整,得到有效线程信息。
参见上述实施例,指定时间段可以是时间区间A内的某个时间区间,如统计时刻30到统计时刻40。由于流量参数信息包括时间区间A内的每个统计时刻的数据请求的处理数量,因此,可以得到统计时刻30到统计时刻40的平均处理数量,表示应用节点每秒处理多少数据请求。例如,应用节点从统计时刻30到统计时刻40,一共处理4000个数据请求,统计时刻30到统计时刻40的时长为10秒,则平均处理数量是400,表示应用节点每秒处理400个数据请求。
假设单线程服务能力信息为50,即线程每秒最多处理50个数据请求,则有效线程信息是400/50,即有效线程信息是8,表示应用节点最多启动8个线程。
步骤506,根据排队能力参数和该有效线程信息确定应用节点的流量控制阈值。具体的,可以根据如下公式确定流量控制阈值:α*有效线程信息,α表示排队能力参数,该排队能力参数可以基于允许数据请求排队的能力确定,α越大则表示允许数据请求排队的能力越强,即队列中排队的数据请求数量越多。
其中,α的取值可以根据经验进行配置,对此不做限制。
步骤507,根据该流量控制阈值对数据请求进行流量控制。例如,基于令牌桶算法,根据该流量控制阈值对本应用节点接收到的数据请求进行流量控制。
具体的,应用节点可以根据该流量控制阈值向令牌桶中放入令牌(如根据该流量控制阈值匀速将令牌放入令牌桶中)。进一步的,应用节点在接收到数据请求后,可以确定该数据请求的消耗令牌数(如数据请求消耗的资源较多时,则消耗令牌数较大,数据请求消耗的资源较少时,则消耗令牌数较小,对此不做限制)。然后,应用节点可以判断令牌桶中的剩余令牌数是否大于或者等于该消耗令牌数;如果是,则应用节点可以对该数据请求进行处理,并从令牌桶中删除该消耗令牌数个令牌;如果否,则可以拒绝对数据请求进行处理。
在一个例子中,应用节点可以周期性的确定流量控制阈值,也就是说,应用节点每隔固定周期,就可以执行步骤501-步骤506,得到流量控制阈值,并使用当前得到的流量控制阈值替换已有的流量控制阈值,然后,可以使用当前得到的流量控制阈值对数据请求进行流量控制,即采用步骤507进行流量控制。
在一个例子中,上述执行顺序只是为了方便描述给出的一个示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
基于上述技术方案,本申请实施例中,可以根据应用节点的有效线程信息动态调整应用节点的流量控制阈值,即可以自适应的调整流量控制阈值,可以更加精准的控制流量。在上述方式中,不需要人工配置流量控制阈值,从而可以节省配置工作量,而且,流量控制阈值可以与应用节点的实际服务能力匹配,在保证高可用的同时,最大限度的发挥应用节点的处理能力。
基于与上述方法同样的申请构思,本申请实施例还提供一种流量控制装置,如图7所示,为所述流量控制装置的结构图,所述装置可以包括:
获取模块71,用于获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
确定模块72,用于根据所述有效实体信息确定应用节点的流量控制阈值;
控制模块73,用于根据所述流量控制阈值对数据请求进行流量控制。
所述获取模块71根据所述流量参数信息获取所述应用节点的有效实体信息时具体用于:根据所述流量参数信息获取单实体服务能力信息,并根据所述流量参数信息和所述单实体服务能力信息,获取所述应用节点的有效实体信息。
所述获取模块71根据所述流量参数信息获取单实体服务能力信息时具体用于:若所述流量参数信息包括指定时间段内的数据请求的处理时间,则根据所述处理时间确定所述指定时间段的目标处理时间;根据所述目标处理时间获取单实体服务能力信息;所述获取模块71根据所述流量参数信息和所述单实体服务能力信息,获取所述应用节点的有效实体信息时具体用于:若所述流量参数信息包括指定时间段内的数据请求的处理数量,则根据所述处理数量和所述单实体服务能力信息,获取所述应用节点的有效实体信息。
所述确定模块72根据所述有效实体信息确定所述应用节点的流量控制阈值时具体用于:根据排队能力参数和所述有效实体信息确定所述应用节点的流量控制阈值;其中,所述排队能力参数基于允许数据请求排队的能力确定。
基于与上述方法同样的构思,本实施例还提供一种应用节点,所述应用节点包括:处理器和机器可读存储介质;所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
本实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行如下处理:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
参见图8所示,为本申请实施例中提出的应用节点的结构图,所述应用节点80可以包括:处理器81,网络接口82,总线83,存储器84。
存储器84可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据等等。例如,存储器84可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种流量控制方法,其特征在于,所述方法包括:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
2.根据权利要求1所述的方法,其特征在于,
根据所述流量参数信息获取所述应用节点的有效实体信息,包括:
根据所述流量参数信息获取单实体服务能力信息,并根据所述流量参数信息和所述单实体服务能力信息,获取所述应用节点的有效实体信息。
3.根据权利要求2所述的方法,其特征在于,
所述根据所述流量参数信息获取单实体服务能力信息,包括:
若所述流量参数信息包括指定时间段内的数据请求的处理时间,则根据所述处理时间确定所述指定时间段的目标处理时间;
根据所述目标处理时间获取单实体服务能力信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述流量参数信息和所述单实体服务能力信息,获取所述应用节点的有效实体信息,包括:
若所述流量参数信息包括指定时间段内的数据请求的处理数量,根据所述处理数量和所述单实体服务能力信息,获取所述应用节点的有效实体信息。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
根据数据请求的未完成数量和数据请求的处理数量,确定所述指定时间段。
6.根据权利要求5所述的方法,其特征在于,所述根据数据请求的未完成数量和数据请求的处理数量,确定所述指定时间段,具体包括:
获取数据请求的未完成数量的第一变化趋势;
获取数据请求的处理数量的第二变化趋势;
根据所述第一变化趋势和所述第二变化趋势,确定所述指定时间段。
7.根据权利要求1所述的方法,其特征在于,
所述根据所述有效实体信息确定所述应用节点的流量控制阈值,包括:
根据排队能力参数和所述有效实体信息确定所述应用节点的流量控制阈值;其中,所述排队能力参数基于允许数据请求排队的能力确定。
8.根据权利要求1所述的方法,其特征在于,
所述根据所述流量控制阈值对数据请求进行流量控制,包括:
根据所述流量控制阈值向令牌桶中放入令牌;
在接收到数据请求后,确定所述数据请求的消耗令牌数;
判断所述令牌桶中的剩余令牌数是否大于等于所述消耗令牌数;
如果是,则对所述数据请求进行处理,并从所述令牌桶中删除所述消耗令牌数个令牌;如果否,则拒绝对所述数据请求进行处理。
9.根据权利要求1所述的方法,其特征在于,
所述获取应用节点的流量参数信息,包括:
每隔固定周期,则获取应用节点的流量参数信息。
10.一种流量控制方法,其特征在于,所述方法包括:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
其中,所述流量控制阈值用于对数据请求进行流量控制。
11.一种流量控制方法,其特征在于,所述方法包括:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的性能信息;
根据所述性能信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
12.一种流量控制装置,其特征在于,所述装置包括:
获取模块,用于获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
确定模块,用于根据所述有效实体信息确定所述应用节点的流量控制阈值;
控制模块,用于根据所述流量控制阈值对数据请求进行流量控制。
13.根据权利要求12所述的装置,其特征在于,所述获取模块根据所述流量参数信息获取所述应用节点的有效实体信息时具体用于:
根据所述流量参数信息获取单实体服务能力信息,并根据所述流量参数信息和所述单实体服务能力信息,获取所述应用节点的有效实体信息。
14.根据权利要求13所述的装置,其特征在于,所述获取模块根据所述流量参数信息获取单实体服务能力信息时具体用于:若所述流量参数信息包括指定时间段内的数据请求的处理时间,则根据所述处理时间确定所述指定时间段的目标处理时间;根据所述目标处理时间获取单实体服务能力信息;
所述获取模块根据所述流量参数信息和所述单实体服务能力信息,获取所述应用节点的有效实体信息时具体用于:
若所述流量参数信息包括指定时间段内的数据请求的处理数量,则根据所述处理数量和所述单实体服务能力信息,获取所述应用节点的有效实体信息。
15.根据权利要求12所述的装置,其特征在于,所述确定模块根据所述有效实体信息确定所述应用节点的流量控制阈值时具体用于:
根据排队能力参数和所述有效实体信息确定所述应用节点的流量控制阈值;其中,所述排队能力参数基于允许数据请求排队的能力确定。
16.一种应用节点,其特征在于,所述应用节点包括:
处理器和机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述处理器执行所述计算机指令时进行如下处理:
获取应用节点的流量参数信息;
根据所述流量参数信息获取所述应用节点的有效实体信息;
根据所述有效实体信息确定所述应用节点的流量控制阈值;
根据所述流量控制阈值对数据请求进行流量控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612808.XA CN111385214B (zh) | 2018-12-27 | 2018-12-27 | 一种流量控制方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811612808.XA CN111385214B (zh) | 2018-12-27 | 2018-12-27 | 一种流量控制方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111385214A true CN111385214A (zh) | 2020-07-07 |
CN111385214B CN111385214B (zh) | 2023-11-17 |
Family
ID=71216349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811612808.XA Active CN111385214B (zh) | 2018-12-27 | 2018-12-27 | 一种流量控制方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111385214B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296717A (zh) * | 2021-07-26 | 2021-08-24 | 紫光恒越技术有限公司 | 对象存储分布式服务质量的优化方法、服务器及存储设备 |
CN117459458A (zh) * | 2023-10-11 | 2024-01-26 | 宁波尚闻科技(集团)有限公司 | 一种基于云服务的流量控制方法、系统及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104090823A (zh) * | 2014-06-09 | 2014-10-08 | 中国建设银行股份有限公司 | 一种用于计算机系统的流量控制方法和装置 |
WO2015096692A1 (zh) * | 2013-12-23 | 2015-07-02 | 腾讯科技(深圳)有限公司 | 数据接收流量控制方法及其系统、计算机存储介质 |
WO2017114165A1 (zh) * | 2015-12-28 | 2017-07-06 | 阿里巴巴集团控股有限公司 | 消息流量控制方法、装置及相关系统 |
US9703602B1 (en) * | 2015-03-31 | 2017-07-11 | Amazon Technologies, Inc. | Burst throttling for multi-tenant storage services |
US20170272371A1 (en) * | 2016-03-21 | 2017-09-21 | Alibaba Group Holding Limited | Flow control in connection with an access request |
CN107454004A (zh) * | 2016-05-30 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种流量控制方法和装置 |
CN108111433A (zh) * | 2016-11-25 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 一种业务动态流控方法、装置以及电子设备 |
CN109005125A (zh) * | 2018-08-24 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 动态限流方法、装置及系统 |
-
2018
- 2018-12-27 CN CN201811612808.XA patent/CN111385214B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015096692A1 (zh) * | 2013-12-23 | 2015-07-02 | 腾讯科技(深圳)有限公司 | 数据接收流量控制方法及其系统、计算机存储介质 |
CN104090823A (zh) * | 2014-06-09 | 2014-10-08 | 中国建设银行股份有限公司 | 一种用于计算机系统的流量控制方法和装置 |
US9703602B1 (en) * | 2015-03-31 | 2017-07-11 | Amazon Technologies, Inc. | Burst throttling for multi-tenant storage services |
WO2017114165A1 (zh) * | 2015-12-28 | 2017-07-06 | 阿里巴巴集团控股有限公司 | 消息流量控制方法、装置及相关系统 |
US20170272371A1 (en) * | 2016-03-21 | 2017-09-21 | Alibaba Group Holding Limited | Flow control in connection with an access request |
CN107454004A (zh) * | 2016-05-30 | 2017-12-08 | 阿里巴巴集团控股有限公司 | 一种流量控制方法和装置 |
CN108111433A (zh) * | 2016-11-25 | 2018-06-01 | 阿里巴巴集团控股有限公司 | 一种业务动态流控方法、装置以及电子设备 |
CN109005125A (zh) * | 2018-08-24 | 2018-12-14 | 阿里巴巴集团控股有限公司 | 动态限流方法、装置及系统 |
Non-Patent Citations (2)
Title |
---|
JANS JEĻINSKIS; GUNĀRS LAUKS: "Fuzzy approach for QoS aware application driven traffic control in GMPLS networks", 《2010 IEEE REGION 8 INTERNATIONAL CONFERENCE ON COMPUTATIONAL TECHNOLOGIES IN ELECTRICAL AND ELECTRONICS ENGINEERING (SIBIRCON)》 * |
沈伟, 冯瑞, 邵惠鹤: "基于Kalman算法及神经网络预测的网络流量控制", 计算机研究与发展, no. 08 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113296717A (zh) * | 2021-07-26 | 2021-08-24 | 紫光恒越技术有限公司 | 对象存储分布式服务质量的优化方法、服务器及存储设备 |
CN113296717B (zh) * | 2021-07-26 | 2021-10-29 | 紫光恒越技术有限公司 | 对象存储分布式服务质量的优化方法、服务器及存储设备 |
CN117459458A (zh) * | 2023-10-11 | 2024-01-26 | 宁波尚闻科技(集团)有限公司 | 一种基于云服务的流量控制方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111385214B (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7685346B2 (en) | Demotion-based arbitration | |
US8311049B2 (en) | Method and device for scheduling packets for routing in a network with implicit determination of packets to be treated as priority | |
CN109194584A (zh) | 一种流量监控方法、装置、计算机设备及存储介质 | |
CN111245732B (zh) | 一种流量控制方法、装置及设备 | |
US10305974B2 (en) | Ranking system | |
CN111488135A (zh) | 高并发系统的限流方法、装置、存储介质及设备 | |
CN111858055B (zh) | 任务处理方法、服务器及存储介质 | |
CN107347039B (zh) | 一种共享缓存空间的管理方法及装置 | |
US9910704B1 (en) | Run time task scheduling based on metrics calculated by micro code engine in a socket | |
CN104518987A (zh) | 并行多线程报文处理的方法和装置 | |
CN112968845B (zh) | 一种带宽管理方法、装置、设备及机器可读存储介质 | |
CN105022668B (zh) | 一种作业调度方法及系统 | |
CN111385214B (zh) | 一种流量控制方法、装置及设备 | |
CN110221775B (zh) | 存储系统中令牌的分配方法和装置 | |
CN109450803B (zh) | 流量调度方法、装置和系统 | |
Sheng et al. | Fairness in serving large language models | |
CN113472681A (zh) | 流量限速方法及装置 | |
CN111338803A (zh) | 一种线程处理方法和装置 | |
CN109086128B (zh) | 任务调度方法及装置 | |
CN111181875A (zh) | 带宽调节方法及装置 | |
Liu et al. | On-line preemptive scheduling of real-time services with profit and penalty | |
CN108984112B (zh) | 存储QoS控制策略的实现方法及装置 | |
CN111190728A (zh) | 资源调整方法及装置 | |
EP3408742A1 (en) | Technique for determining a load of an application | |
CN107045457A (zh) | 一种多租户资源共享的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40033169 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |