CN113301075A - 流量控制方法、分布式系统、设备及存储介质 - Google Patents
流量控制方法、分布式系统、设备及存储介质 Download PDFInfo
- Publication number
- CN113301075A CN113301075A CN202010421003.8A CN202010421003A CN113301075A CN 113301075 A CN113301075 A CN 113301075A CN 202010421003 A CN202010421003 A CN 202010421003A CN 113301075 A CN113301075 A CN 113301075A
- Authority
- CN
- China
- Prior art keywords
- flow control
- flow
- service node
- node
- application object
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Feedback Control In General (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供一种流量控制方法、分布式系统、设备及存储介质。在本申请实施例中,采用PID流控方案对应用对象进行流量控制,并根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间用于修正流控惩罚时延所需的时间窗口,进而在采用PID流控方案进行流量控制期间,以该时间窗口为周期动态修正流控惩罚延时,这样为应用对象提供服务的服务节点会以该时间窗口为粒度在每个时间窗口内使用同一流控惩罚延时对来自应用对象的待处理流量进行延时处理。结合来自应用对象的全局瞬时流量所确定出的流控惩罚时延的修正周期更加合理,既可以减轻流控中心节点的处理负担,又可以提高流控效果,提高分布式系统的稳定性。
Description
技术领域
本申请涉及网络技术领域,尤其涉及一种流量控制方法、分布式系统、设备及存储介质。
背景技术
随着云计算的发展,各种弹性计算服务及容器服务等云计算资源越来越多,这些云计算资源也需要存储数据,于是出现了云存储系统。云存储系统是一种支持多用户的分布式存储系统,允许每个用户将数据存储在多个服务节点或机器上。
为了保证云存储系统的可用性,有必要将每个用户对云存储系统发起的访问流量限制在每个用户的预期配额内。但是,在云存储系统中为每个用户提供存储服务的服务节点的数量可能变化,且每个服务节点所能接收到的请求数量也是不确定的,因此如何实现流量控制是云存储系统目前面临的一个技术难题。
发明内容
本申请的多个方面提供一种流量控制方法、分布式系统、设备及存储介质,用以实现对分布式系统的流量控制,提高分布式系统的可用性。
本申请实施例提供一种分布式系统,包括:流控中心节点以及为不同应用对象提供服务的多个服务节点;流控中心节点,用于在采用PID流控方案对为目标应用对象提供服务的至少一个服务节点进行流量控制时,根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;以及在采用PID流控方案进行流量控制期间,以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点,以供至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自目标应用对象的待处理流量进行延时处理。
本申请实施例还提供一种流量控制方法,适用于分布式系统中的流控中心节点,该方法包括:确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制;根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;以及在采用PID流控方案进行流量控制期间,以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点,以供至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自目标应用对象的待处理流量进行延时处理。
本申请实施例还提供一种流量控制方法,适用于分布式系统中为目标应用对象提供服务的任一服务节点,该方法包括:在采用动态配额流控方案进行流量控制期间,向分布式系统中的流控中心节点上报每个汇报周期内尚未处理的流量信息,以供流控中心节点判断是否采用PID流控方案进行流量控制;接收流控中心节点在确定采用PID流控方案对服务节点进行PID流控时下发的流控惩罚延时;以及在接收到流控中心节点重新下发的流控惩罚延时之前,利用流控惩罚延时在至少一个汇报周期内对来自目标应用对象的待处理流量进行延时处理;其中,流控中心节点以时间窗口为周期向服务节点下发流控惩罚时延,时间窗口是在确定采用PID流控方案进行流量控制时根据来自目标应用对象的全局瞬时流量计算出的。
本申请实施例还提供一种流控中心节点,其包括:处理器和存储器;存储器用于存储计算机程序;处理器与存储器耦合,用于执行计算机程序,以用于:确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制;根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;以及在采用PID流控方案进行流量控制期间,以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点,以供至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自目标应用对象的待处理流量进行延时处理。
本申请实施例还提供一种服务节点,其包括:存储器和处理器;存储器用于存储计算机程序;处理器与存储器耦合,用于执行计算机程序,以用于:在采用动态配额流控方案进行流量控制期间,向分布式系统中的流控中心节点上报每个汇报周期内尚未处理的流量信息,以供流控中心节点判断是否采用PID流控方案进行流量控制;接收流控中心节点在确定采用PID流控方案对服务节点进行PID流控时下发的流控惩罚延时;以及在接收到流控中心节点重新下发的流控惩罚延时之前,利用流控惩罚延时在至少一个汇报周期内对来自目标应用对象的待处理流量进行延时处理;其中,流控中心节点以时间窗口为周期向服务节点下发流控惩罚时延,时间窗口是在确定采用PID流控方案进行流量控制时根据来自目标应用对象的全局瞬时流量计算出的。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,其中,当计算机程序被一个或多个处理器执行时,致使一个或多个处理器实现本申请实施例提供的任一项流量控制方法中的步骤。
在本申请实施例中,采用PID流控方案对应用对象进行流量控制,并根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间用于修正流控惩罚时延所需的时间窗口,进而在采用PID流控方案进行流量控制期间,以该时间窗口为周期动态修正流控惩罚延时,这样为应用对象提供服务的服务节点会以该时间窗口为粒度在每个时间窗口内使用同一流控惩罚延时对来自应用对象的待处理流量进行延时处理。其中,结合来自应用对象的全局瞬时流量所确定出的流控惩罚时延的修正周期更加合理,既可以减轻流控中心节点的处理负担,又可以提高流控效果,提高分布式系统的稳定性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1a为本申请示例性实施例提供的一种分布式系统的结构示意图;
图1b为流控中心点采用动态配额流控方案对为目标应用对象提供服务的服务节点进行限流控制的过程示意图;
图1c为流控中心点采用PID流控方案对为目标应用对象提供服务的服务节点进行限流控制的交互流程图;
图1d为流控中心点采用动态配额流控方案和PID流控方案相结合的方案实现的流量控制的交互流程图;
图2a为本申请示例性实施例提供的另一种分布式系统的结构示意图;
图2b为流控中心点采用动态配额流控方案和PID流控方案相结合的方案实现的流量控制的另一种交互流程图;
图3a为本申请示例性实施例提供的一种兼容HDFS语义的云存储系统的结构示意图;
图3b为流控中心点采用动态配额流控方案和PID流控方案相结合的方案实现的流量控制的又一种交互流程图;
图4为本申请示例性实施例提供的一种流量控制方法的流程示意图;
图5为本申请示例性实施例提供的另一种流量控制方法的流程示意图;
图6为本申请示例性实施例提供的一种流控中心节点的结构示意图;
图7为本申请示例性实施例提供的一种服务节点的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对分布式系统面临的流量控制问题,本申请实施例提供以下几种可对分布式系统进行流量控制的流控方案:
流控方案A1:采用动态配额流控方案对分布式系统进行流量控制。动态配额流控方案是基于动态配额的流控方案,在该方案中,为分布式系统中的服务节点分配流量配额,根据流量配额对收到的流量进行处理,当流量配额消耗完时,新接收到的流量处于排队状态,直到收到新的流量配额再继续处理,达到流量控制的目的,进而保证分布式系统的可用性。
流控方案A2:采用PID流控方案对分布式系统进行流量控制。PID流控方案是基于PID反馈机制的流控方案,在该方案中,通过计算流控惩罚延时,对新增流量进行延时处理,达到流量控制的目的,进而保证分布式系统的可用性。
流控方案A3:将动态配额流控方案和PID流控方案相结合,即在采用PID流控方案之前先采用动态配额流控方案,使得应用对象的流量无超调且快速的达到稳定状态。
以下结合附图,在本申请下述各实施例中将对上述几种流控解决方案进行详细说明。
图1a为本申请示例性实施例提供的一种分布式系统的结构示意图。如图1a所示,该分布式系统100包括:流控中心节点101以及为不同应用对象103提供服务的多个服务节点102。其中,多个服务节点102分布在不同位置,分别与流控中心节点101通信连接。
流控中心节点101可以独立部署在分布式系统100中,也可以集中部署在一个服务节点102上,或者分布式部署在多个服务节点102上,本实施例对此不做限定。进一步,在流控中心节点101独立部署在分布式系统100中的情况下,流控中心节点101可以集中部署在一台物理设备或一台虚拟机上,也可以分布式部署在多台物理设备或多台虚拟机上。在图1a中以流控中心节点101独立部署在分布式系统100中为例进行图示,但并不限于此。
服务节点102是指可以为应用对象103提供服务的节点设备,可以是虚拟机或物理设备等。应用对象103是需要使用服务节点102所提供的服务的对象,可以是用户、租户、应用程序、程序模块、服务系统或云场景中提供某种服务的实例,例如文件系统实例,ECS实例、EGS实例等。在本申请实施例中,并不限定分布式系统100所能实现的功能,分布式系统100所能实现的功能不同,服务节点102的实现形态也会有所不同。例如,分布式系统100可以是分布式的云存储系统、分布式计算系统、分布式多媒体系统、分布式文件系统等。以分布式的云存储系统为例,服务节点102可以是具有存储功能的设备,主要向用户或用户在云场景中部署的提供某种服务的实例,例如ECS实例、EGS实例、文件系统实例等提供存储服务。以分布式计算系统为例,服务节点102可以是具有CPU、GPU等计算资源的设备,主要向用户或用户在云场景中部署的提供某种服务的实例,例如ECS实例、EGS实例等提供云计算服务。
在本申请实施例中,分布式系统100可为多个应用对象103提供服务;对每个应用对象103来说,可由至少一个服务节点102为其提供服务;对同一服务节点102来说,可以为一个应用对象103提供服务,也可以为多个不同的应用对象103同时提供服务。进一步可选地,在同一服务节点102同时为多个应用对象103提供服务的情况下,可在多个应用对象103之间实现隔离,为各应用对象103提供安全隔离的运行环境,保证各应用对象103的数据安全。
其中,应用对象103可以对为其提供服务的服务节点102发起访问请求,从而使用服务节点102为其提供的服务。应用对象103发起的访问请求会因分布式系统100所实现功能的不同而有所不同,例如可以是读取请求、写入请求、查询请求、上传请求、下载请求等各种IO请求。对分布式系统100来说,若多个应用对象103同时对分布式系统100中的服务节点102频繁发起访问请求,可能会造成服务节点102的负荷过大,有可能导致分布式系统100的可用性降低,甚至发生宕机,造成系统崩溃。为了保证分布式系统100的可用性,有必要对应用对象103发起的访问请求进行限流控制,因此分布式系统100中引入了流控中心节点101,由流控中心节点101以应用对象103为单位对每个应用对象103发起访问请求进行限流控制。
在本实施例中,对每个应用对象103发起的访问请求进行限流控制的过程,也就是对每个应用对象103发起访问请求的速率进行合理控制的过程。例如,流控中心节点101可以将每个应用对象103发起访问请求的速率限制在一定全局流量配额内,确保为每个应用对象103提供服务的服务节点102的可用性,进而保证分布式系统100的可用性。需要说明的是,全局流量配额可以是单位时间内允许应用对象103发起访问请求的数量阈值,例如可以采用QPS阈值或QTS阈值进行衡量。不同应用对象103对应的全局流量配额可以相同,也可以不相同。对任一应用对象103来说,其对应的全局流量配额可以是应用对象103或其应用对象103对应用户预先配置的,也可以是流控中心节点101根据流控需求在每次流控过程中为应用对象103实时分配的。
在本申请实施例中,流控中心节点101对每个应用对象103发起的访问请求进行限流控制,实际上是对为该应用对象103提供服务的服务节点102进行限流控制的过程,可以采用但不限于上述流控方案A1-A3中任意一种。其中,流控中心节点101针对任一应用对象103进行流量控制的过程相同或相似,故在本申请下述实施例中以针对目标应用对象进行流量控制为例进行说明。目标应用对象是任一应用对象103,标记为103a。在图1a中以目标应用对象103a是ECS实例为例进行图示,但并不限于此。下面结合附图1b-1d,对流控中心节点101采用上述流控方案A1-A3对为目标应用对象提供服务的至少一个服务节点102进行限流控制的过程进行说明。
其中,图1b为流控中心点101采用动态配额流控方案对为目标应用对象103a提供服务的服务节点102进行限流控制的交互流程图。如图1b所示,该限流控制过程包括:
11b、流控中心节点获取目标应用对象对应的全局流量配额,并确定为该目标应用对象提供服务的至少一个服务节点。
12b、至少一个服务节点在每个汇报周期向流控中心节点上报尚未处理的流量信息。
13b、流控中心节点根据至少一个服务节点在上一汇报周期内尚未处理的流量信息之间的比例关系和全局流量配额,计算至少一个服务节点在下一汇报周期的流量配额。
14b、流控中心节点将至少一个服务节点在下一汇报周期的流量配额下发给至少一个服务节点。
15b、至少一个服务节点根据在下一汇报周期内的流量配额对下一汇报周期内尚未处理的流量信息进行处理。
在步骤11b中,目标应用对象103a对应的全局流量配额是在单个汇报周期(例如1秒)内最多可以处理来自目标应用对象103a的访问请求的数量阈值,例如可以是100QPS,或150QPS等,也可以是100TPS,或200TPS等。汇报周期是指每个服务节点102向流控中心节点101上报相关流量信息的周期。在本实施例中,并不对汇报周期的长度进行限定,例如可以是0.5s,1s,2s,3s等。
在本实施例中,流控中心节点101可以对外提供人机交互界面,该人机交互界面可以是web页面、应用页面或命令窗等。用户可以通过人机交互界面将目标应用对象103a对应的全局流量配额提交给流控中心节点101。
需要说明的是,除了上述人机交互界面方式之外,流控中心节点101也可以通过其他方式获取目标应用对象103a对应的全局流量配额。例如,用户可以通过其它可以与流控中心节点101通信的设备,例如终端设备或配置设备等,将目标应用对象103a对应的全局流量配额以有线或无线通信方式传输给流控中心节点101,则流控中心节点101可以接收其它设备传输来的全局流量配额。或者,也可以预先在服务节点102上内置目标应用对象103a对应的全局流量配额,则流控中心节点101可以获取内置的全局流量配额。或者,流控中心节点101也可以根据流控需求在每次流控过程中为目标应用对象103a自行分配全局流量配额,对此不做限定。
在本实施例中,为目标应用对象103a提供服务的至少一个服务节点,可以是固定不变的几个服务节点102,例如,固定由服务节点X1、服务节点X2和服务节点X3为目标应用对象103a提供服务;或者,也可以是动态变化的服务节点102,例如,一开始可以由服务节点Y1和服务节点Y2为目标应用对象103a提供服务,后续可以由服务节点Z1和服务节点Z2为目标应用对象103a提供服务。另外,在本实施例中,也不限定为目标应用对象103a提供服务的至少一个服务节点的数量,例如可以是一个,也可以是多个,例如2个、5个、10个、50个或300个等。可选地,上述至少一个服务节点在获知自己可以为目标应用对象103a提供服务时,可以向流控中心节点101进行注册并告知其标识信息,例如服务地址、节点ID、节点名称等。流控中心节点101可根据服务节点的注册信息确定可为目标应用对象103a提供服务的至少一个服务节点。
在步骤12b中,每个服务节点102按照设定的汇报周期定期向流控中心节点101上报每个汇报周期内尚未处理的流量信息,这里尚未处理的流量信息是指来自目标应用对象103a的流量。其中,每个服务节点102接收到的来自目标应用对象103a的流量可以是目标应用对象103a直接发送给服务节点102的,也可以是目标应用对象103a先发送至负责负载均衡的节点再由其责负载均衡的节点根据负载均衡策略分发给服务节点102的。其中,每个服务节点在每个汇报周期上报的其尚未处理的流量信息是指当上报时刻为止来自目标应用对象103a的尚未处理的流量。
其中,在采用动态配额流控方案中,每个服务节点会维护一个等待(pending)队列,对于超过流控配额的流量会被加入待队列中进行等待。进一步,在上报时刻到达时,服务节点可以将此时等待队列中的流量以及尚未添加到等待队列中的新增流量作为尚未处理的流量信息上报给流控中心节点101。例如,以汇报周期T1为例,假设该汇报周期T1内的流量配额会被目前pending队列中的部分流量耗尽,则服务节点会将在汇报周期T1期间,接收到的新增流量加入pending队列尾部,并且会在汇报周期T1结束时向流控中心节点101上报其尚未处理的流量信息。其中,若在汇报周期T1结束时无新增流量到来,则服务节点可将pending队列中的流量作为待处理的流量上报至流控中心节点101,若在汇报周期T1结束时上有新增流量到来,且新增流量尚未来得及加入pending队列尾部,则服务节点会将pending队列中的流量和该新增流量一起发送至流控中心节点101,之后,服务节点会将该新增流量加入到pending队列的尾部。
需要说明的是,在目标应用对象103a没有向服务节点102发送流量的情况下,服务节点102可以按照汇报周期向流控中心节点101上报尚未处理的流量信息,此时上报的流量信息为0。
在步骤13b中,流控中心节点101可依次接收到至少一个服务节点102在各个汇报周期上报的其尚未处理的流量信息,并会根据至少一个服务节点102在上一汇报周期内尚未处理的流量信息之间的比例关系和全局流量配额,计算各服务节点102在下一汇报周期内的流量配额。在本实施例中,并不对流控中心节点101计算至少一个服务节点102在下一汇报周期的流量配额的方式进行限定。例如,为目标应用对象103提供服务的服务节点102为服务节点N1,N2,N3,服务节点N1,N2,N3在上一汇报周期内汇报的尚未处理的流量信息的比例关系为1:2:3,全局流量配额为M,则流控中心节点101可以按照比例关系将全局流量配额M分为6(1+2+3=6)份,为服务节点N1分配的流量配额为M的1/6,为服务节点N2分配的流量配额为M的2/6,为服务节点N3分配的流量配额为M的3/6。或者,还可以是在上述比例关系的基础上,增加对服务节点N1,N2,N3在下一汇报周期的流量预期,若流控中心节点101发现服务节点N1连续几个汇报周期一直处于流量增加状态,则计算流量配额时,可调整比例关系为2:2:3,进而可将全局流量配额M分为7(2+2+3=7)份,为服务节点N1分配的流量配额为M的2/7,为服务节点N2分配的流量配额为M的2/7,为服务节点N3分配的流量配额为M的3/7。
在步骤15b中,各服务节点102在收到流控中心节点101提供的下一汇报周期内的流量配额之后,可在下一汇报周期开始之后,利用接收到的流量配额对该周期内待处理的流量进行处理。其中,下一汇报周期内待处理的流量信息包括在下一汇报周期开始时pending队列中的流量和在下一汇报周期内接收到的新增流量。若全局流量配额用QPS来衡量,则各服务节点102在每个汇报周期接收到的流量配额也是QPS。假设某一服务节点102在下一汇报周期内的流量配额为100QPS,而pending队列中包含150个访问请求,则服务节点在下一汇报周期到达后,可从pending队列头部开始处理前100个访问请求,进一步在下一汇报周期结束时,可将剩下的50个访问请求和在该汇报周期内接收到的新增流量作为尚未处理的流量信息上报流控中心节点101,用于计算之后下一汇报周期内的流量配额,如此循环往复,达到对目标应用对象103a进行限流控制的目的。在整个过程中,服务节点102处理的流量始终在其分配到的流量配额内,因此,不会出现流量超调现象,保证了分布式系统的可用性。
其中,图1c为流控中心点101采用PID流控方案对为目标应用对象103a提供服务的服务节点102进行限流控制的交互流程图。如图1c所示,该限流控制过程包括:
11c、流控中心节点获取目标应用对象对应的全局流量配额,并确定为该目标应用对象提供服务的至少一个服务节点。
12c、至少一个服务节点在每个汇报周期向流控中心节点上报新增流量信息。
13c、流控中心节点根据至少一个服务节点在上一汇报周期内的新增流量信息,统计上一汇报周期内的全局流量信息。
14c、流控中心节点根据目标应用对象对应的全局流量配额和上一汇报周期内的全局流量信息,利用PID流控算法计算下一汇报周期内的流控惩罚延时。
15c、流控中心节点将下一汇报周期内的流控惩罚延时下发给至少一个服务节点。
16c、至少一个服务节点根据接收到的下一汇报周期内的流控惩罚延时,在下一汇报周期内对待处理的流量进行延时处理。
关于步骤11c的描述,可参见图1b所示实施例中步骤11b的描述,在此不再赘述。
在步骤12c中,每个服务节点102按照设定的汇报周期定期向流控中心节点101上报每个汇报周期内的新增流量信息,这里新增流量信息是指来自目标应用对象103a的流量。其中,每个服务节点102接收到的来自目标应用对象103a的流量可以是目标应用对象103a直接发送给服务节点102的,也可以是目标应用对象103a先发送至负责负载均衡的节点再由其责负载均衡的节点根据负载均衡策略分发给服务节点102的。
在PID流控方案中,每个服务节点102会在每个汇报周期到来时,根据该汇报周期内的流控惩罚延时对该汇报周期内的新增流量进行延时处理,并且可在每个汇报周期结束时向流控中心节点上报每个汇报周期内的新增流量信息。由于每个汇报周期的新增流量信息会被及时地执行延时处理,所以服务节点102无需维护pending队列。其中,每个汇报周期结束时,也可以理解为是在下一汇报周期到达或开始时。
在步骤13c中,为了保证分布式系统的可用性,需要将来自目标应用对象103a的流量尽快限制在全局流量配额内,而来自目标应用对象103a的流量被分散到为目标应用对象103a提供服务的各服务节点102上,因此,流控中心节点101可按照汇报周期的先后顺序,依次根据至少一个服务节点102上报的每个汇报周期内的新增流量信息,统计出每个汇报周期内的全局流量信息;其中,任一汇报周期内的全局流量信息可表示在该汇报周期内来自目标应用对象103a的流量。进一步考虑到汇报周期存在的时间延迟,流控中心节点101每次可根据至少一个服务节点102在上一汇报周期内的新增流量信息,统计出上一汇报周期内的全局流量信息。在本实施例中,并不限定流控中心节点101统计上一汇报周期内的全局流量信息的实施方式。例如可以是将至少一个服务节点102在上一汇报周期内的新增流量信息之和,作为上一汇报周期内的全局流量信息;也可以是将至少一个服务节点102在上一汇报周期内的新增流量信息加权求和后的结果,作为上一汇报周期内的全局流量信息,对此不做限定。
在步骤14c中,在得到上一汇报周期内的全局流量信息之后,由于需要将来自目标应用对象103a的流量尽快限制在全局流量配额内,故可以根据目标应用对象103a对应的全局流量配额和上一汇报周期内的全局流量信息,利用PID流控算法计算下一汇报周期内的流控惩罚延时,使得服务节点根据下一汇报周期内的流控惩罚延时在下一汇报周期内对新增流量(即待处理的流量)进行延时处理,达到对目标应用对象103a进行限流控制的目的。PID流控算法是一种将比例、积分和微分三种运算结合于一体的控制算法。比例反应系统的偏差,当比例系数大时,可以加快调节,减小偏差,使系统趋于稳定。积分主要是用来消除静差,静差就是指系统稳定后输入输出之间依然存在的差值,积分就是通过偏差的累计来抵消系统的静差。微分反映系统偏差信号的变化率,具有预见性,能预见偏差变化的趋势,产生超前的控制作用,在偏差还没有形成之前,就可以被微分调节作用消除,因此可以改善系统的动态性能。
在本实施例中,在每次PID流控算法中,偏差是指此次PID流控算法中统计出的上一汇报周期内的全局流量信息与全局流量配额的差值;比例关系反应此次PID流控算法中统计出的上一汇报周期内的全局流量信息与全局流量配额的比值;积分关系可理解为对过去多个汇报周期的偏差的累积值;微分关系可理解为两个相邻汇报周期的偏差的变化趋势。在积分和微分均为0的情况下,可以根据上一汇报周期内的全局流量信息与全局流量配额的比值,得到下一汇报周期的流控惩罚延时。例如,假设全局流量配额用QPS来衡量,且QPS为在单个汇报周期内最多处理100个访问请求,上一汇报周期内统计出的全局流量信息为500个请求,则服务节点102处理这500个请求需要500/100=5s,因此,需要对后续新增流量执行5s的惩罚延时,即在5s后再处理后续新增流量。
在步骤15c中,流控中心节点将下一汇报周期内的流控惩罚延时下发给至少一个服务节点;至少一个服务节点接收流控中心节点下发的在下一汇报周期内的流控惩罚延时。进而,在步骤16c中,至少一个服务节点根据下一汇报周期内的流控惩罚延时在下一汇报周期内对新增流量进行延时处理,达到对目标应用对象103a进行限流控制的目的。采用PID流控方案,可以及时快速地对分布式服务节点的变化、负载变化等进行快速响应,增加用户的使用体验。
在本申请实施例中,流控中心点101还可以采用基于流量配额和PID反馈相结合的流控方案对为目标应用对象103a提供服务的服务节点102进行限流控制。该限流控制过程主要包括:流控中心点在来自目标应用对象103a的流量处于非相对稳定状态时,采用动态配额流控方案对为目标应用对象103a提供服务的至少一个服务节点进行流量控制,以使来自目标应用对象103a的流量进入相对稳定状态;以及流控中心点在来自目标应用对象103a的流量进入相对稳定状态的情况下,采用PID流控方案对上述至少一个服务节点进行流量控制。
在本实施例中,将来自目标应用对象103a的流量状态大概划分为相对稳定状态和非相对稳定状态。其中,相对稳定状态是指在连续一段时间内来自目标应用对象103a的全局流量波动相对较小的流量状态,在该流量状态下适合采用PID流控方案进行限流控制,有利于快速让来自目标应用对象103a的流量进入稳定状态,且能够及时快速地对分布式服务节点的变化、负载变化等进行快速响应。与相对稳定状态对应的是非相对稳定状态,非相对稳定状态是指来自目标应用对象103a的全局流量波动相对较大的流量状态。例如,一般在流控初始阶段,由于流量控制尚未产生效果,来自目标应用对象103a的全局流量波动相对较大,因此可将目标应用对象103a在流控初始阶段的流量状态视为一种非相对稳定状态。进一步,还可以将来自目标应用对象103a的全局流量小于全局流量配额时的流量状态也视为非相对稳定状态。
进一步,本申请实施例可以采用动态配额流控方案作为PID流控方案的前置阶段,即在流控初始阶段首先采用动态配额流控方案进行流量控制,保证在不会出现流量超调现象的前提下,快速让来自目标应用对象103a的流量进入相对稳定状态,然后再采用PID流控方案对服务节点进行流量控制,使得PID流控快速进入稳定状态。另外,由于动态配额流控方案仅作为PID流控方案的前置阶段,动态配额流控方案的用时在整个流控时间内占比较小,可以有效的避免动态配额流控方案在服务节点动态变更、负载变更场景下无法及时响应的缺陷。
下面通过图1d所示的交互流程,对动态配额流控方案和PID流控方案相结合实现的流量控制过程进行详细说明。如图1d所示,该流量控制过程包括:
11d、流控中心节点获取目标应用对象对应的全局流量配额,并确定为该目标应用对象提供服务的至少一个服务节点。
12d、在流控开始阶段,流控中心节点采用动态配额流控方案对为目标应用对象提供服务的至少一个服务节点进行流量控制。
13d、在采用动态配额流控方案的流控期间,至少一个服务节点在每个汇报周期向流控中心节点上报尚未处理的流量信息。
14d、流控中心节点根据至少一个服务节点在多个连续汇报周期内尚未处理的流量信息,判断来自目标应用对象的流量是否进入相对稳定状态。
15d、若流控中心节点判断来自目标应用对象的流量处于非相对稳定状态,继续采用动态配额流控方案对至少一个服务节点进行流量控制,以使来自目标应用对象的流量进入相对稳定状态。
16d、在来自目标应用对象的流量进入相对稳定状态的情况下,流控中心节点采用PID流控方案对至少一个服务节点进行流量控制。
17d、在采用PID流控方案对至少一个服务节点进行流量控制期间,至少一个服务节点在每个汇报周期向流控中心节点上报的新增流量信息。
18d、流控中心节点根据至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自目标应用对象的流量是否重新进入非相对稳定状态。
19d、在来自目标应用对象的流量重新进入非相对稳定状态时,流控中心节点再次采用动态配额流控方案对至少一个服务节点进行流量控制,并返回执行步骤13d。
关于步骤11d的描述,可参见图1b所示实施例中步骤11b的描述,在此不再赘述。
在步骤12d和13d中,采用动态配额流控方案作为PID流控方案的前置阶段,即在流控初始阶段首先采用动态配额流控方案进行流量控制。在采用动态配额流控方案中,流控中心节点在每个汇报周期内为每个服务节点102分配流量配额并下发给服务节点102;服务节点102根据每个汇报周期内的流量配额对每个汇报周期内待处理的流量进行处理。其中,服务节点102在每个汇报周期内待处理的流量可能会超过相应的流量配额,故服务节点102会维护一个等待(pending)队列,对于超过流控配额的流量会被加入待队列中进行等待。
另外,服务节点102按照设定的汇报周期定期向流控中心节点101上报每个汇报周期内尚未处理的流量信息,这里尚未处理的流量信息是指来自目标应用对象103a的流量。例如,服务节点102可在每个汇报周开始时,基于该汇报周期内可用的流量配额对该汇报周期内待处理的流量进行处理,并可在该汇报周期结束时,将此时等待队列中的流量以及尚未添加到等待队列中的新增流量作为尚未处理的流量信息上报给流控中心节点101。
在步骤14d中,为目标应用对象103a提供服务的至少一个服务节点102在每个汇报周期内尚未处理的流量信息,一定程度上体现了在该汇报周期内来自目标应用对象103a的全局流量情况。基于此,流控中心节点101根据至少一个服务节点102在多个连续汇报周期内尚未处理的流量信息,判断来自目标应用对象103a的流量是否进入相对稳定状态。
可选地,一种具体的判断方式包括:根据至少一个服务节点102在每个汇报周期内上报的尚未处理的流量信息,统计每个汇报周期内的全局流量信息;利用连续多个汇报周期内统计出的全局流量信息来表示连续一段时间内来自目标应用对象103a的全局流量信息;进而根据连续多个汇报周期内的全局流量信息的波动情况来判断来自目标应用对象103a的流量是否处于相对稳定状态。例如,可以预先设定波动范围,如果连续多个汇报周期内的全局流量信息的波动均在设定的波动范围内,则确定来自所述目标应用对象103a的流量进入相对稳定状态;反之,确定来自所述目标应用对象103a的流量依旧处于非相对稳定状态。关于统计全局流量信息的实施方式,可参见前述实施例,在此不再赘述。例如,若连续多个汇报周期为3个汇报周期,在第一个汇报周期统计的全局流量信息为300个流量请求,在第二个汇报周期统计的全局流量信息为302个流量请求,在第三个汇报周期统计的全局流量信息为295个流量请求,则连续三个周期的波动为+2(302-300=2),-7(295-302=-7),若设定的波动范围为10,则可以确定来自目标应用对象103a的流量进入相对稳定状态;若设定的波动范围为5,则可以确定来自目标应用对象103a的流量没有进入相对稳定状态,即处于非相对稳定状态。
在步骤15d中,若判断出来自目标应用对象103a的流量处于非相对稳定状态时,则继续采用动态配额流控方案对至少一个服务节点102进行流量控制,具体流控过程,可参见图1b所示的实施例,在此不再赘述。利用采用动态配额流控方案对至少一个服务节点102进行控制,可以将来自目标应用对象103a的全局流量信息限制在全局流量配额内,避免流量超调现象的产生,很好地保证分布式系统的可用性。
在步骤16d中,随着采用动态配额流控方案对至少一个服务节点102进行流量控制的持续,来自目标应用对象103a的流量会逐步进入相对稳定状态;则在来自目标应用对象103a的流量进入相对稳定状态的情况下,可从动态配额流控方案切换为PID流控方案,即采用PID流控方案对至少一个服务节点102继续进行流量控制,采用PID流控方案可以及时有效地对服务节点102动态流量变化、负载变化等问题做出响应,有利于更好地进行流量控制。
在PID流控方案中,流控中心节点101获取目标应用对象103a对应的全局流量配额,并确定为该目标应用对象103a提供服务的至少一个服务节点102,至少一个服务节点102在每个汇报周期向流控中心节点101上报新增流量信息,流控中心节点101根据至少一个服务节点102在上一汇报周期内的新增流量信息,统计上一汇报周期内的全局流量信息,并根据目标应用对象103a对应的全局流量配额和上一汇报周期内的全局流量信息,利用PID流控算法计算下一汇报周期内的流控惩罚延时,进而将下一汇报周期内的流控惩罚延时下发给至少一个服务节点102,至少一个服务节点102根据接收到的下一汇报周期内的流控惩罚延时,在下一汇报周期内对新增流量(即待处理的流量)进行延时处理。
需要说明的是,从动态配额流控方案切换到PID流控方案的第一个汇报周期,服务节点102可以将pending队列中的流量释放出来,并采用流控中心节点101提供的初始流控惩罚延时,对从pending队列中释放出来的流量以及在第一个汇报周期内接收到的新增流量进行延时处理,从而达到流量控制的目的。
在步骤17d中,在采用PID流控方案对至少一个服务节点102进行流量控制期间,每个服务节点102仍会按照设定的汇报周期定期向流控中心节点101上报每个汇报周期内的新增流量信息。例如,服务节点102可在每个汇报周期开始后,利用该汇报周期内的流控惩罚延时,对该汇报周期内待处理的流量进行延时处理;并且可在该汇报周期结束时,向流控中心节点上报该汇报周期内的新增流量信息。除了从动态配额流控方案切换到PID流控方案的第一个汇报周期之外,其它汇报周期内待处理的流量主要是指在该汇报周期内接收到的新增流量。对流控中心节点101来说,在采用PID流控方案对至少一个服务节点102进行流量控制期间,接收至少一个服务节点102在每个汇报周期上报的新增流量信息。
进一步,在步骤18d中,流控中心节点101根据至少一个服务节点102在每个汇报周期上报的新增流量信息,判断来自目标应用对象103a的流量是否重新进入非相对稳定状态。可选地,一种具体的判断方式包括:根据至少一个服务节点102在每个汇报周期上报的新增流量信息,统计每个汇报周期内的全局流量信息;并监测每个汇报周期内的全局流量信息是否低于设定的全局流量配额;当出现汇报周期内的全局流量信息低于设定的全局流量配额的情况时,确定来自目标应用对象103a的流量重新进入非相对稳定状态。
进一步,若判断出来自目标应用对象103a的流量依旧处于相对稳定状态,则继续采用PID流控方案对至少一个服务节点102进行流量控制;若判断出来自目标应用对象103a的流量重新进入非相对稳定状态,则从PID流控方案重新切换至动态配额流控方案,即再次采用动态配额流控方案对至少一个服务节点102进行流量控制,并返回执行步骤13d及后续其它步骤,持续对目标应用对象103a进行流量控制。
在本实施例中,将动态配额流控方案和PID流控方案相结合,即在流量处于非相对稳定状态的情况下,采用动态配额流控方案,可以有效地抑制流量超调现象,也可以缩短后续PID流控方案进入稳态的时间;在流量处于相对稳定状态的情况下,采用PID流控方案,可以及时快速地对分布式服务节点102的变化、负载变化等进行快速响应,增加用户的使用体验。
无论是在图1b所示流控流程中还是在图1c所示流控流程中,在采用PID流控方案进行流量控制过程中,是以汇报周期为粒度不断修正服务节点所使用的流控惩罚延时,通过多个周期的修正,逐渐使来自目标应用对象的流量逼近稳态。采用图1b和图1c所示流控过程,在大多数情况下可以达到很好地流控效果,保证分布式系统的稳定性。当面对大流量(来自应用对象的流量较大)、低流控目标(即全局流量配额较低)的场景时,在以汇报周期为粒度修正流控惩罚延时的情况下,每次修正得到的流控惩罚延时可能会大于或远大于汇报周期的时长,例如汇报周围为1s,而流程惩罚延时可能是4s、5s甚至更多。在根据流控惩罚延时对新入流量进行惩罚期间,如果来自目标应用对象的流量没有波动或波动很小,则在流控惩罚期间各汇报周期内的新增流量很小甚至为0,但流控中心节点会继续根据上一汇报周期的新增流量来计算下一汇报周期内使用的流控惩罚延时,这样后面汇报周期的流控惩罚延时会越来越短,有可能前面汇报周期内的流控惩罚延时还没有结束,后面汇报周期内的新增流量就已经开始被处理,这样服务节点处理的实际流量就会超过全局流量配额,即PID流控方案失效,影响分布式系统的可用性。
针对上述特殊应用场景下存在的技术问题,在本申请实施例中给出几种解决方案:
方案B1:缩短汇报周期,例如将汇报周期从1s缩短为0.5s,这样可以降低每个汇报周期内上报的新增流量的大小,通过增加流控中心节点计算流控惩罚时延的次数,快速地调整流控惩罚时延,降低修正惩罚延时的间隔,缩短每个汇报周期内流控惩罚时延的长度,进而解决因为前面汇报周期内的流控惩罚延时较长导致的前面汇报周期内的流控惩罚尚未结束后面汇报周期内的新增流量就已经开始被处理的问题,增加分布式系统的可用性。
方案B2:在确定采用PID流控方案对为目标应用对象提供服务的至少一个服务节点进行流量控制时,根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间用于修正流控惩罚延时所需的时间窗口;进而,在采用PID流控方案进行流量控制期间,以该时间窗口为周期动态修正流控惩罚延时,不再按照汇报周期周期性修正流控惩罚延时。进一步,流控中心节点会将每次修正后的流控惩罚延时下发给为目标应用对象提供服务的至少一个服务节点;对每个服务节点来说,会以时间窗口为粒度即在每个时间窗口内使用同一流控惩罚延时对来自应用对象的待处理流量进行延时处理。可选地,对每个服务节点来说,可以仍旧按照汇报周期周期性地向流控中心节点上报每个汇报周期内的新增流量信息。其中,结合来自应用对象的全局瞬时流量所确定出的流控惩罚延时的修正周期更加合理,很大程度上解决了因为前面汇报周期内的流控惩罚延时较长导致的前面汇报周期内的流控惩罚尚未结束后面汇报周期内的新增流量就已经开始被处理的问题,既可以减轻流控中心节点的处理负担,又可以提高流控效果,增加分布式系统的可用性。
需要说明的是,方案B2可以与图1c所示流控过程结合实施,也可以与图1d所示流控过程结合实施。在本申请下述实施例中,重点以方案B2与图1d所示流控过程结合实施为例进行详细说明。
图2a为本申请示例性实施例提供的另一种分布式系统的结构示意图,如图2a所示,该分布式系统200包括:流控中心节点201以及为不同应用对象203提供服务的多个服务节点202。关于流控中心节点201、应用对象203和服务节点202的详细内容,可参见前述实施例,在此不再赘述。
在本申请实施例中,流控中心节点201对每个应用对象203发起的访问请求进行限流控制,实际上是对为该应用对象203提供服务的服务节点202进行限流控制的过程,其中,流控中心节点201针对任一应用对象203进行流量控制的过程相同或相似,故在本申请下述实施例中以针对目标应用对象进行流量控制为例进行说明。目标应用对象是任一应用对象203,标记为203a。
在本申请实施例中,流控中心点201可以采用基于流量配额和PID反馈相结合的流控方案对为目标应用对象203a提供服务的服务节点202进行限流控制。该限流控制过程主要包括:流控中心点在来自目标应用对象203a的流量处于非相对稳定状态时,采用动态配额流控方案对为目标应用对象203a提供服务的至少一个服务节点进行流量控制,以使来自目标应用对象203a的流量进入相对稳定状态;以及流控中心点在来自目标应用对象203a的流量进入相对稳定状态的情况下,采用PID流控方案对上述至少一个服务节点进行流量控制。
在本实施例中,将来自目标应用对象203a的流量状态大概划分为相对稳定状态和非相对稳定状态。其中,相对稳定状态是指在连续一段时间内来自目标应用对象203a的全局流量波动相对较小的流量状态,在该流量状态下适合采用PID流控方案进行限流控制,有利于快速让来自目标应用对象203a的流量进入稳定状态,且能够及时快速地对分布式服务节点的变化、负载变化等进行快速响应。与相对稳定状态对应的是非相对稳定状态,非相对稳定状态是指来自目标应用对象203a的全局流量波动相对较大的流量状态。例如,一般在流控初始阶段,由于流量控制尚未产生效果,来自目标应用对象203a的全局流量波动相对较大,因此可将目标应用对象203a在流控初始阶段的流量状态视为一种非相对稳定状态。进一步,还可以将来自目标应用对象203a的全局流量小于全局流量配额时的流量状态也视为非相对稳定状态。
进一步,本申请实施例可以采用动态配额流控方案作为PID流控方案的前置阶段,即在流控初始阶段首先采用动态配额流控方案进行流量控制,保证在不会出现流量超调现象的前提下,快速让来自目标应用对象203a的流量进入相对稳定状态,然后再采用PID流控方案对服务节点进行流量控制,使得PID流控快速进入稳定状态。另外,由于动态配额流控方案仅作为PID流控方案的前置阶段,动态配额流控方案的用时在整个流控时间内占比较小,可以有效的避免动态配额流控方案在服务节点动态变更、负载变更场景下无法及时响应的缺陷。
在本实施例中,流控中心节点201在确定采用PID流控方案对为目标应用对象203a提供服务的至少一个服务节点202进行流量控制时,根据来自目标应用对象203a的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口,并会以该时间窗口为周期修正服务节点202使用的流控惩罚延时;对服务节点202而言,一方面按照汇报周期周期性地向流控中心节点201上报每个汇报周期内的新增流量信息;另一方面会以时间窗口为粒度在每个时间窗口内以同一流控惩罚延时对待处理的流量进行延时处理。在本申请实施例中,时间窗口是指在采用PID流控方案进行流量控制期间,计算相邻两次流控惩罚延时之间的时间间隔。在本申请实施例中,时间窗口的长度与在确定采用PID流控方案时来自目标应用对象的全局瞬时流量有关,所述全局瞬时流量不同,所确定的时间窗口就会不同。另外,本申请实施例并不限定时间窗口与汇报周期之间的大小关系,时间窗口可以包含一个或多个汇报周围,例如时间窗口的时间长度可以是1、2、3或5个汇报周期,这里的数值仅为示例并不限于此。在本申请实施例中,汇报周期是指每个服务节点202向流控中心节点201上报相关流量信息的周期;其中,根据流控方案的不同,服务节点202在每个汇报周期向流控中心节点201上报的相关流量信息会有所不同,可参见下述实施例。在本实施例中,并不对汇报周期的长度进行限定,例如可以是0.5s,1s,2s,3s等。
下面通过图2b所示的交互流程,对动态配额流控方案和PID流控方案相结合实现的另一种流量控制过程进行详细说明。如图2b所示,该流量控制过程包括:
21b、流控中心节点获取目标应用对象对应的全局流量配额,并确定为该目标应用对象提供服务的至少一个服务节点。
22b、在流控开始阶段,流控中心节点采用动态配额流控方案对为目标应用对象提供服务的至少一个服务节点进行流量控制。
23b、在采用动态配额流控方案的流控期间,至少一个服务节点在每个汇报周期向流控中心节点上报尚未处理的流量信息。
24b、流控中心节点根据至少一个服务节点在多个连续汇报周期内尚未处理的流量信息,判断来自目标应用对象的流量是否进入相对稳定状态。
25b、若流控中心节点判断来自目标应用对象的流量处于非相对稳定状态,继续采用动态配额流控方案对至少一个服务节点进行流量控制,以使来自目标应用对象的流量进入相对稳定状态。
26b、在来自目标应用对象的流量进入相对稳定状态时,流控中心节点确定采用PID流控方案对至少一个服务节点进行流量控制,并根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口。
27b、在采用PID流控方案对至少一个服务节点进行流量控制期间,流控中心节点以上述时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点。
28b、在采用PID流控方案对至少一个服务节点进行流量控制期间,至少一个服务节点在至少一个汇报周期内采用流控中心节点下发的同一流控惩罚延时对新增流量进行延时处理,直至接收到下一流控惩罚延时为止。
291b、在采用PID流控方案对至少一个服务节点进行流量控制期间,至少一个服务节点在每个汇报周期向流控中心节点上报的新增流量信息。
292b、流控中心节点根据至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自目标应用对象的流量是否重新进入非相对稳定状态。
293b、在来自目标应用对象的流量重新进入非相对稳定状态时,流控中心节点再次采用动态配额流控方案对至少一个服务节点进行流量控制,并返回执行步骤23b。
关于步骤21b的描述,可参见图1b所示实施例中步骤11b的描述,在此不再赘述。关于步骤22b-25b的描述,可参见图1d所示实施例中步骤12d-15d的描述,在此不再赘述。
在步骤26b中,随着采用动态配额流控方案对至少一个服务节点202进行流量控制的持续,来自目标应用对象203a的流量会逐步进入相对稳定状态;则在来自目标应用对象203a的流量进入相对稳定状态的情况下,可从动态配额流控方案切换为PID流控方案,即采用PID流控方案对至少一个服务节点202继续进行流量控制,采用PID流控方案可以及时有效地对服务节点202动态流量变化、负载变化等问题做出响应,有利于更好地进行流量控制。
在本实施例中,在确定采用PID流控方案时,需要根据来自目标应用对象203a的全局瞬时流量来计算时间窗口。其中,可以在从动态配额流控方案切换到PID流控方案的第一个汇报周期,根据动态配额方案中至少一个服务节点202尚未处理的流量信息,统计出来自目标应用对象的全局瞬时流量。可选地,一种具体的获取全局瞬时流量的实施方式包括:根据至少一个服务节点202在每个汇报周期尚未处理的流量信息,统计每个汇报周期内的全局流量信息;以及在连续多个汇报周期内的全局流量信息的波动均在设定的波动范围内的情况下,确定来自目标应用对象203a的流量进入相对稳定状态,并将最新一个汇报周期内的全局流量信息作为全局瞬时流量。
可选地,一种计算时间窗口的实施方式包括:计算全局瞬时流量与预设的全局流量配额的比值;将比值取整后与汇报周期相乘得到时间窗口;其中,取整可以是向上取整,也可以是向下取整,对此不做限定。预设的全局流量配额是在单个汇报周期(例如1秒)内最多可以处理来自目标应用对象203a的访问请求的数量阈值,例如可以采用QPS阈值或QTS阈值进行衡量。例如可以是100QPS,或150QPS等,也可以是100TPS,或200TPS等。不同应用对象203对应的全局流量配额可以相同,也可以不相同。对任一应用对象203来说,其对应的全局流量配额可以是应用对象203或其应用对象203对应用户预先配置的,也可以是流控中心节点201根据流控需求在每次流控过程中为应用对象203实时分配的。
在步骤27b中,流控中心节点201计算出时间窗口之后,在采用PID流控方案进行流量控制期间,以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点202,以供至少一个服务节点202在每个时间窗口内使用同一流控惩罚延时对来自目标应用对象的待处理流量进行延时处理。
在步骤28b中,可选地,一种以时间窗口为周期动态修正流控惩罚延时的实施方式包括:在当前时间窗口结束之前,根据当前时间窗口结束之前的最后一个汇报周期内的全局流量信息和预设的全局流量配额,计算下一时间窗口内使用的流控惩罚延时;将下一时间窗口内使用的流控惩罚延时下发给至少一个服务节点,以供至少一个服务节点对下一时间窗口内待处理的流量进行延时处理。例如,目标应用对象203a的流量进入相对稳定状态,最新一个汇报周期T0内的全局流量信息,即全局瞬时流量为500QPS,预设的全局流量配额为100QPS,汇报周期为1s,则计算得时间窗口S1的长度为(500/100)*1=5s。根据全局流量信息和全局流量配额,利用PID流控算法计算时间窗口S1内的流控惩罚延时为2s(具体计算过程可参见前述实施例,在此不再赘述)。时间窗口S1包括5个汇报周期,分别为T1,T2,T3,T4,T5,对于时间窗口S1内每个汇报周期的新增流量均会被延时2s后再处理,在此期间,至少一个服务节点202依旧会在每个汇报周期向流控中心节点201汇报新增流量信息,流控中心节点201会统计至少一个服务节点202在时间窗口S1的最后一个汇报周期T5的全局流量信息,将该全局流量信息作为全局瞬时流量信息,根据全局瞬时流量信息计算下一时间窗口S2的流控惩罚延时;如此循环下去,直至采用PID流控方案的流控过程结束。
PID流控方案适用于用户负载整体变化不大的场景,即来自目标应用对象203a的流量处于相对稳定状态的情况,有利于快速让来自目标应用对象203a的流量进入稳定状态,且能够及时快速地对分布式服务节点的变化、负载变化等进行快速响应。在用户负载瞬时压力频繁变更的场景,即流量处于非相对稳定状态的情况下,流量的波动较大,此时流控中心节点就会切换回采用动态配额流控方案对至少一个服务节点进行流量控制。
在步骤291b-293b中,在采用PID流控方案进行流量控制期间,流控中心节点201接收至少一个服务节点202在每个汇报周期上报的新增流量信息;根据至少一个服务节点202在每个汇报周期上报的新增流量信息,判断来自目标应用对象203a的流量是否重新进入非相对稳定状态;以及在来自目标应用对象的流量重新进入非相对稳定状态时,再次采用动态配额流控方案对至少一个服务节点进行流量控制。
可选地,一种判断来自目标应用对象203a的流量是否重新进入非相对稳定状态的实施方式包括:根据至少一个服务节点202在每个汇报周期上报的新增流量信息,统计每个汇报周期内的全局流量信息;以及当出现汇报周期内的全局流量信息低于设定的全局流量配额的情况时,确定来自目标应用对象203a的流量重新进入非相对稳定状态。详细内容可参见前述实施例,在此不再赘述。
流控中心节点201在采用动态配额流控方案对至少一个服务节点202进行流量控制时,可以根据至少一个服务节点202在上一汇报周期内尚未处理的流量信息之间的比例关系和预设的全局流量配额,确定至少一个服务节点在下一汇报周期内的流量配额;将至少一个服务节点在下一汇报周期内的流量配额分别下发给至少一个服务节点,以供至少一个服务节点根据各自在下一汇报周期内的流量配额对下一汇报周期内待处理的流量进行处理。
随着动态配额流控方案的调控,来自目标应用对象的流量会逐渐进入相对稳定状态,此时,可根据至少一个服务节点202的上报的尚未处理的流量信息等待队列的流量信息来统计全局流量信息,将该全局流量信息作为PID流控方案的全局瞬时流量。在本实施例中,通过为PID流控方案安排过渡过程,即动态配额流控方案,合理的估算出全局瞬时流量,为PID流控方案计算时间窗口提供了条件,将该时间窗口作为修正流控惩罚延时的周期,很大程度上解决了因为前面汇报周期内的流控惩罚延时较长导致的前面汇报周期内的流控惩罚尚未结束后面汇报周期内的新增流量就已经开始被处理的问题,既可以减轻流控中心节点的处理负担,又可以提高流控效果,增加分布式系统的可用性。
需要说明的是,图2a所示分布式系统可以是任何分布式系统,例如可以是数据仓库,也可以是兼容HDFS语义的云存储系统。下面以兼容HDFS语义的云存储系统为例展开说明。图3a本申请实施例提供的兼容HDFS语义的云存储系统,该云存储系统是一种分布式文件系统,它具有高吞吐量、高容错性等特点,可为具有大数据计算与存储分析需求的用户提供海量数据存储和离线计算等服务。用户通过在该云存储系统中创建自己的文件系统实例,通过该文件系统实例可以管理和访问自己的数据,而且该云存储系统允许用户对存储容量及性能进行扩展,且支持单一命名空间可实现不同用户之间的环境隔离,保护用户数据的安全性。
如图3a所示,兼容HDFS语义的云存储系统300包括:流控中心节点301以及分布部署的云存储节点302;其中,这些云存储节点302可为不同文件系统实例303提供文件管理服务。其中,云存储节点302是服务节点102或202在云存储系统中的具体实现形态,文件系统实例303是应用对象103或203在云存储系统300中的具体实现形态。
在云环境中,用户可以在公有云、私有云、混合云或边缘云等云网络中部署弹性计算服务或容器等,由弹性计算服务或容器为其提供所需的云计算服务。其中,弹性计算服务可以是ECS实例、EGS实例等。本实施例的云存储系统300可以为这些弹性计算服务或容器提供文件存储和管理功能。这些弹性计算服务或容器需要进行文件存储、创建、打开、读写、删除等操作。鉴于此,用户在云存储系统上创建文件系统实例,之后,用户的弹性计算服务或容器服务即可访问兼容HDFS语义的云存储系统,例如在兼容HDFS语义的云存储系统中创建文件目录、打开文件目录、删除文件目录等,也可以在兼容HDFS语义的云存储系统中打开文件,读取文件中的数据,或者写入文件等。此外,多个用户创建的文件系统实例可以同时访问兼容HDFS语义的云存储系统,共享文件和目录,且多个用户的数据相互隔离,不会产生干扰,即兼容HDFS语义的云存储系统使支持多用户,用户之间可实现性能隔离。
为了方便用户创建文件系统实例,如图3a所示,云存储系统300还包括管理节点304,该管理节点304面向用户提供管理界面,用户可以通过该管理界面可以创建文件系统实例、为文件系统实例配置对应的全局流量配额,例如QPS阈值。管理节点304可以响应管理界面上用户发起的指示创建文件系统实例的操作,为用户创建文件系统实例;响应管理界面上用户发起的设置全局流量配额的操作,获取文件系统实例对应的全局流量配额;以及将全局流量配额提供给流控中心节点301。
其中,管理界面可以是对外提供的人机交互界面,该人机交互界面可以是web页面、应用页面或命令窗等。用户可以通过人机交互界面发起创建文件系统实例的操作或者设置全局流量配额的操作。在一可选实施例中,管理节点提供的人机交互界面包括创建控件,用户可以点击创建控件,发起创建文件系统实例的操作,管理节点304响应用户发起的创建文件系统实例的操作,为用户创建文件系统实例;在又一可选实施例中,管理节点304提供的人机交互界面包括设置控件,用户可以点击设置控件,发起设置全局流量配额的操作,管理节点304响应用户设置全局流量配额的操作,为用户设置全局流量配额。
管理节点304在为用户创建文件系统实例后,还可以为文件系统实例分配至少一个云存储节点302,至少一个云存储节点302可以为文件系统实例提供存储服务。用户的弹性计算服务或容器等可以使用文件系统实例在云存储节点302中执行打开文件、删除文件、创建文件目录等各种操作。其中,为文件系统实例提供存储服务的至少一个云存储节点302可以是固定不变的,也可以是动态变化的,对此不做限定。例如,用户还可以通过管理节点304调整文件系统实例对应的QPS阈值的大小;当用户增大或减小QPS阈值时,管理节点304可以相应地为文件系统实例增加或减少云存储节点302。或者,管理节点304也可以与流控中心节点301通信,获取文件系统实例对应的流量,根据流量动态调整为文件系统实例配置的云存储节点302的数量。
在本实施例中,文件系统实例对云存储节点302发起的创建文件目录的请求、删除文件目录的请求、打开文件的请求、删除文件的请求、写文件的请求等可以直接到达各云存储节点302,或者,如图3a所示,也可以先到达负载均衡节点305再由负载均衡节点305将这些请求分发到各云存储节点302。在该过程中,流控中心节点301可以根据文件系统实例对应的QPS阈值,对文件系统实例进行限流控制;其中,对文件系统实例的限流控制主要是对为文件系统实例提供存储服务的云存储节点302进行流量控制的过程。其中,对云存储节点302进行流量控制的过程可以采用前述实施例中的动态配额流控方案,也可以采用PID流控方案,还可以采用动态配额流控方案与PID流控方案结合的流控方案,对此不做限定。
其中,采用动态配额流控方案与PID流控方案结合的流控方案的流控过程如图3b所示,包括以下步骤:
31b、管理节点响应管理界面上用户发起的指示创建文件系统实例的操作,为用户创建文件系统实例。
32b、管理节点响应管理界面上用户发起的设置全局流量配额的操作,获取文件系统实例对应的全局流量配额。
33b、管理节点将全局流量配额和为文件系统实例提供存储服务的至少一个云存储节点的信息提供给流控中心节点。
34b、在流控开始阶段,流控中心节点采用动态配额流控方案对为文件系统实例提供服务的至少一个云存储节点进行流量控制。
35b、在采用动态配额流控方案的流控期间,至少一个云存储节点在每个汇报周期向流控中心节点上报尚未处理的流量信息。
36b、流控中心节点根据至少一个云存储节点在多个连续汇报周期内尚未处理的流量信息,判断来自文件系统实例的流量是否进入相对稳定状态。
37b、若流控中心节点判断来自文件系统实例的流量处于非相对稳定状态,继续采用动态配额流控方案对至少一个云存储节点进行流量控制,以使来自文件系统实例的流量进入相对稳定状态。
38b、在来自文件系统实例的流量进入相对稳定状态的情况下,流控中心节点采用PID流控方案对至少一个云存储节点进行流量控制,并根据来自文件系统实例的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口。
391b、在采用PID流控方案对至少一个云存储节点进行流量控制期间,流控中心节点以上述时间窗口为周期动态修正流控惩罚延时并下发给至少一个云存储节点。
392b、在采用PID流控方案对至少一个云存储节点进行流量控制期间,至少一个云存储节点在至少一个汇报周期内采用流控中心节点下发的同一流控惩罚延时对新增流量进行延时处理,直至接收到下一流控惩罚延时为止。
393b、在采用PID流控方案对至少一个云存储节点进行流量控制期间,至少一个云存储节点在每个汇报周期向流控中心节点上报的新增流量信息。
394b、流控中心节点根据至少一个云存储节点在每个汇报周期上报的新增流量信息,判断来自文件系统实例的流量是否重新进入非相对稳定状态。
395b、在来自文件系统实例的流量重新进入非相对稳定状态时,流控中心节点再次采用动态配额流控方案对至少一个云存储节点进行流量控制,并返回执行步骤35b。
关于图3b所示流量控制的详细过程可参见前述实施例,在此不再赘述。
在一可选实施例中,为了方便用户及时了解自己创建的文件系统实例的状态,管理节点304还可以在管理界面上向用户展示与文件系统实例相关的一些信息,例如文件系统实例的运行状态、运行时间等。进一步,流控中心节点301还可以将对至少一个云存储节点302进行流量控制的过程和/或流量控制过程中的相关参数提供给管理节点304;管理节点304可以输出对至少一个云存储节点302进行流量控制的过程和/或流量控制过程中的相关参数。流量控制过程中的相关参数可以是但不限于为文件系统实例提供存储服务的云存储节点、每个云存储节点在各汇报周期内的流控惩罚延时、流量配额、全局流量信息等。
在本实施例中,也不限定利用管理节点304输出对至少一个云存储节点302进行流量控制的过程和/或流量控制过程中的相关参数的实施方式。例如,管理节点304可以通过显示屏幕输出对至少一个云存储节点302进行流量控制的过程和/或流量控制过程中的相关参数。又例如,管理节点304可以将对至少一个云存储节点302进行流量控制的过程和/或流量控制过程中的相关参数发送给用户的终端设备;用户可以通过终端设备实时查看对至少一个云存储节点302进行流量控制的过程和/或流量控制过程中的相关参数。可选地,可以采用图表的方式对流量控制过程和/或流量控制过程中的相关参数进行展示。
需要说明的是,本实施例提供的兼容HDFS语义的云存储系统与图2a提供的分布式系统区别在于,本实施例是图2a所示分布式系统的一种具体实现形态,本实施例中,增加了管理节点,其他内容均与图2a所示的分布式系统相同或相似,在此不再赘述。
图4为本申请示例性实施例提供的一种流量控制方法的流程示意图,适用于分布式系统中的流控中心节点,该方法包括:
41、确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制;
42、根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;
43、在采用PID流控方案进行流量控制期间,以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点,以供至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自目标应用对象的待处理流量进行延时处理。
针对步骤41,采用动态配额流控方案作为PID流控方案的前置阶段,即在流控初始阶段首先采用动态配额流控方案进行流量控制。在采用动态配额流控方案中,流控中心节点在每个汇报周期内为每个服务节点分配流量配额并下发给服务节点;服务节点根据每个汇报周期内的流量配额对每个汇报周期内待处理的流量进行处理。其中,服务节点在每个汇报周期内待处理的流量可能会超过相应的流量配额,故服务节点会维护一个等待队列,对于超过流控配额的流量会被加入待队列中进行等待。
另外,服务节点按照设定的汇报周期定期向流控中心节点上报每个汇报周期内尚未处理的流量信息,这里尚未处理的流量信息是指来自目标应用对象的流量。例如,服务节点可在每个汇报周开始时,基于该汇报周期内可用的流量配额对该汇报周期内待处理的流量进行处理,并可在该汇报周期结束时,将此时等待队列中的流量以及尚未添加到等待队列中的新增流量作为尚未处理的流量信息上报给流控中心节点。为目标应用对象提供服务的至少一个服务节点在每个汇报周期内尚未处理的流量信息,一定程度上体现了在该汇报周期内来自目标应用对象的全局流量情况。
基于此,流控中心节点根据至少一个服务节点在多个连续汇报周期内尚未处理的流量信息,判断来自目标应用对象的流量是否进入相对稳定状态,在来自目标应用对象的流量进入相对稳定状态时,确定采用PID流控方案对至少一个服务节点进行流量控制。详细内容可参见前述实施例,在此不再赘述。
在本实施例中,在确定采用PID流控方案时,需要根据来自目标应用对象的全局瞬时流量来计算时间窗口。其中,可以在从动态配额流控方案切换到PID流控方案的第一个汇报周期,根据动态配额方案中至少一个服务节点尚未处理的流量信息,统计出来自目标应用对象的全局瞬时流量。关于时间窗口的详细内容可参见前述实施例,在此不再赘述。
可选地,一种具体的获取全局瞬时流量的实施方式包括:根据至少一个服务节点在每个汇报周期尚未处理的流量信息,统计每个汇报周期内的全局流量信息;以及在连续多个汇报周期内的全局流量信息的波动均在设定的波动范围内的情况下,确定来自目标应用对象的流量进入相对稳定状态,并将最新一个汇报周期内的全局流量信息作为全局瞬时流量。详细内容可参见前述实施例,在此不再赘述。
针对步骤42,在一可选实施例中,一种具体的计算时间窗口的实施方式包括:计算全局瞬时流量与预设的全局流量配额的比值;将比值取整后与汇报周期相乘得到时间窗口;其中,时间窗口包含至少一个汇报周期。详细内容可参见前述实施例,在此不再赘述。
针对步骤43,在一可选实施例中,以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点,包括:在当前时间窗口结束之前,根据最后一个汇报周期内的全局流量信息和预设的全局流量配额,计算下一时间窗口内使用的流控惩罚延时;将下一时间窗口内使用的流控惩罚延时下发给至少一个服务节点,以供至少一个服务节点对下一时间窗口内待处理的流量进行延时处理。详细内容可参见前述实施例,在此不再赘述。
PID流控方案适用于用户负载整体变化不大的场景,即来自目标应用对象的流量处于相对稳定状态的情况,有利于快速让来自目标应用对象的流量进入稳定状态,且能够及时快速地对分布式服务节点的变化、负载变化等进行快速响应。在用户负载瞬时压力频繁变更的场景,即流量处于非相对稳定状态的情况下,流量的波动较大,此时流控中心节点就会切换回采用动态配额流控方案对至少一个服务节点进行流量控制。
在一可选实施例中,在采用PID流控方案进行流量控制期间,还可以接收至少一个服务节点在每个汇报周期上报的新增流量信息;根据至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自目标应用对象的流量是否重新进入非相对稳定状态;以及在来自目标应用对象的流量重新进入非相对稳定状态时,再次采用动态配额流控方案对至少一个服务节点进行流量控制。详细内容可参见前述实施例,在此不再赘述。
在一可选实施例中,根据至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自目标应用对象的流量是否重新进入非相对稳定状态,包括:根据至少一个服务节点在每个汇报周期上报的新增流量信息,统计每个汇报周期内的全局流量信息;以及当出现汇报周期内的全局流量信息低于设定的全局流量配额的情况时,确定来自目标应用对象的流量重新进入非相对稳定状态。详细内容可参见前述实施例,在此不再赘述。
在一可选实施例中,采用动态配额流控方案对至少一个服务节点进行流量控制,包括:根据至少一个服务节点在上一汇报周期内尚未处理的流量信息之间的比例关系和预设的全局流量配额,确定至少一个服务节点在下一汇报周期内的流量配额;将至少一个服务节点在下一汇报周期内的流量配额分别下发给至少一个服务节点,以供至少一个服务节点根据各自在下一汇报周期内的流量配额对下一汇报周期内待处理的流量进行处理。详细内容可参见前述实施例,在此不再赘述。
图5为本申请示例性实施例提供的另一种流量控制方法的流程示意图,适用于分布式系统中为目标应用对象提供服务的任一服务节点,该方法包括:
51、在采用动态配额流控方案进行流量控制期间,向分布式系统中的流控中心节点上报每个汇报周期内尚未处理的流量信息,以供流控中心节点判断是否采用PID流控方案进行流量控制;
52、接收流控中心节点在确定采用PID流控方案对服务节点进行PID流控时下发的流控惩罚延时;
53、在接收到流控中心节点重新下发的流控惩罚延时之前,利用流控惩罚延时在至少一个汇报周期内对来自目标应用对象的待处理流量进行延时处理;其中,流控中心节点以时间窗口为周期向服务节点下发流控惩罚时延,时间窗口是在确定采用PID流控方案进行流量控制时根据来自目标应用对象的全局瞬时流量计算出的。
针对步骤51,在采用动态配额流控方案中,服务节点在每个汇报周期向流控中心节点上报尚未处理的流量信息,流控中心节点为服务节点下发流量配额,服务节点按照流量配额对下一汇报周期内待处理的流量进行处理。另外,流控中心节点会根据尚未处理的信息,统计每个汇报周期内的全局流量信息;以及在连续多个汇报周期内的全局流量信息的波动均在设定的波动范围内的情况下,确定来自目标应用对象的流量进入相对稳定状态,在来自目标应用对象的流量进入相对稳定状态时,确定采用PID流控方案对服务节点进行流量控制。详细内容可参见前述实施例,在此不再赘述。
针对步骤52和53中,在采用PID流控方案进行流量控制时,流控中心节点会计算修正流控惩罚延时的时间窗口以及流控惩罚延时,并以时间窗口为周期向服务节点下发流控惩罚时延,服务节点可以接收流控中心节点对服务节点进行PID流控时下发的流控惩罚延时,在接收到流控中心节点重新下发的流控惩罚延时之前,利用流控惩罚延时在至少一个汇报周期内对来自目标应用对象的待处理流量进行延时处理。
其中,时间窗口是在确定采用PID流控方案进行流量控制时根据来自目标应用对象的全局瞬时流量计算出的。详细内容可参见前述实施例在此不再赘述。
在一可选实施例中,在采用PID流控方案进行流量控制期间,向流控中心节点上报每个汇报周期内的新增流量信息,以供流控中心节点判断是否再次采用动态配额流控方案进行流量控制。详细内容可参见前述实施例,在此不再赘述。
在本申请实施例中,采用PID流控方案对应用对象进行流量控制,并根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间用于修正流控惩罚时延所需的时间窗口,进而在采用PID流控方案进行流量控制期间,以该时间窗口为周期动态修正流控惩罚延时,这样为应用对象提供服务的服务节点会以该时间窗口为粒度在每个时间窗口内使用同一流控惩罚延时对来自应用对象的待处理流量进行延时处理。其中,结合来自应用对象的全局瞬时流量所确定出的流控惩罚时延的修正周期更加合理,既可以减轻流控中心节点的处理负担,又可以提高流控效果,提高分布式系统的稳定性。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤41至步骤43的执行主体可以为设备A;又比如,步骤41和42的执行主体可以为设备A,步骤43的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如41、42等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图6为本申请示例性实施例提供的一种流控中心节点的结构示意图。如图6所示,该流控中心节点包括:存储器64和处理器65。
存储器64,用于存储计算机程序,并可被配置为存储其它各种数据以支持在流控中心节点上的操作。这些数据的示例包括用于在流控中心节点上操作的任何应用程序或方法的指令等。
存储器64可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器65,与存储器64耦合,用于执行存储器64中的计算机程序,以用于:确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制;根据来自目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;以及在采用PID流控方案进行流量控制期间,以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点,以供至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自目标应用对象的待处理流量进行延时处理。
在一可选实施例中,处理器65在确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制时,具体用于:在流控开始阶段,采用动态配额流控方案对至少一个服务节点进行流量控制;以及在采用动态配额流控方案进行流量控制期间,接收至少一个服务节点在每个汇报周期上报的其尚未处理的流量信息;根据至少一个服务节点在连续多个汇报周期尚未处理的流量信息,判断来自目标应用对象的流量是否进入相对稳定状态;以及在来自目标应用对象的流量进入相对稳定状态时,确定采用PID流控方案对至少一个服务节点进行流量控制。
在一可选实施例中,处理器65在根据至少一个服务节点在连续多个汇报周期尚未处理的流量信息,判断来自目标应用对象的流量是否进入相对稳定状态时,具体用于:根据至少一个服务节点在每个汇报周期尚未处理的流量信息,统计每个汇报周期内的全局流量信息;以及在连续多个汇报周期内的全局流量信息的波动均在设定的波动范围内的情况下,确定来自目标应用对象的流量进入相对稳定状态,并将最新一个汇报周期内的全局流量信息作为全局瞬时流量。
在一可选实施例中,处理器65在根据来自目标应用对象的全局瞬时流量,计算PID流控过程中所需的时间窗口时,具体用于:计算全局瞬时流量与预设的全局流量配额的比值;将比值取整后与汇报周期相乘得到时间窗口;其中,时间窗口包含至少一个汇报周期。
在一可选实施例中,处理器65在以时间窗口为周期动态修正流控惩罚延时并下发给至少一个服务节点时,具体用于:在当前时间窗口结束之前,根据最后一个汇报周期内的全局流量信息和预设的全局流量配额,计算下一时间窗口内使用的流控惩罚延时;将下一时间窗口内使用的流控惩罚延时下发给至少一个服务节点,以供至少一个服务节点对下一时间窗口内待处理的流量进行延时处理。
在一可选实施例中,处理器65还用于:在采用PID流控方案进行流量控制期间,接收至少一个服务节点在每个汇报周期上报的新增流量信息;根据至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自目标应用对象的流量是否重新进入非相对稳定状态;以及在来自目标应用对象的流量重新进入非相对稳定状态时,再次采用动态配额流控方案对至少一个服务节点进行流量控制。
在一可选实施例中,处理器65在根据至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自目标应用对象的流量是否重新进入非相对稳定状态时,具体用于:根据至少一个服务节点在每个汇报周期上报的新增流量信息,统计每个汇报周期内的全局流量信息;以及当出现汇报周期内的全局流量信息低于设定的全局流量配额的情况时,确定来自目标应用对象的流量重新进入非相对稳定状态。
在一可选实施例中,处理器65在采用动态配额流控方案对至少一个服务节点进行流量控制时,具体用于:根据至少一个服务节点在上一汇报周期内尚未处理的流量信息之间的比例关系和预设的全局流量配额,确定至少一个服务节点在下一汇报周期内的流量配额;将至少一个服务节点在下一汇报周期内的流量配额分别下发给至少一个服务节点,以供至少一个服务节点根据各自在下一汇报周期内的流量配额对下一汇报周期内待处理的流量进行处理。
进一步,如图6所示,该流控中心节点还包括:通信组件66、显示器67、电源组件68、音频组件69等其它组件。图6中仅示意性给出部分组件,并不意味着流控中心节点只包括图6所示组件。另外,图6中虚线框所示组件为可选组件,而非必选组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述流量控制方法实施例中可由流控中心节点执行的各步骤。
图7为本申请示例性实施例提供的一种服务节点的结构示意图。如图7所示,该服务节点包括:存储器74和处理器75。
存储器74,用于存储计算机程序,并可被配置为存储其它各种数据以支持在服务节点上的操作。这些数据的示例包括用于在服务节点上操作的任何应用程序或方法的指令等。
存储器74可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器75,与存储器74耦合,用于执行存储器74中的计算机程序,以用于:在采用动态配额流控方案进行流量控制期间,向分布式系统中的流控中心节点上报每个汇报周期内尚未处理的流量信息,以供流控中心节点判断是否采用PID流控方案进行流量控制;接收流控中心节点在确定采用PID流控方案对服务节点进行PID流控时下发的流控惩罚延时;以及在接收到流控中心节点重新下发的流控惩罚延时之前,利用流控惩罚延时在至少一个汇报周期内对来自目标应用对象的待处理流量进行延时处理;其中,流控中心节点以时间窗口为周期向服务节点下发流控惩罚时延,时间窗口是在确定采用PID流控方案进行流量控制时根据来自目标应用对象的全局瞬时流量计算出的。
在一可选实施例中,处理器75还用于:在采用PID流控方案进行流量控制期间,向流控中心节点上报每个汇报周期内的新增流量信息,以供流控中心节点判断是否再次采用动态配额流控方案进行流量控制。
进一步,如图7所示,该服务节点还包括:通信组件76、显示器77、电源组件78、音频组件79等其它组件。图7中仅示意性给出部分组件,并不意味着服务节点只包括图7所示组件。另外,图7中虚线框所示组件为可选组件,而非必选组件。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述流量控制方法实施例中可由服务节点执行的各步骤。
上述图6和图7中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G、3G、4G/LTE、5G等移动通信网络,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图6和图7中的显示器包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。
上述图6和图7中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
上述图6和图7中的音频组件,可被配置为输出和/或输入音频信号。例如,音频组件包括一个麦克风(MIC),当音频组件所在设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或经由通信组件发送。在一些实施例中,音频组件还包括一个扬声器,用于输出音频信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (21)
1.一种分布式系统,包括:流控中心节点以及为不同应用对象提供服务的多个服务节点;
所述流控中心节点,用于在采用PID流控方案对为目标应用对象提供服务的至少一个服务节点进行流量控制时,根据来自所述目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;以及
在采用PID流控方案进行流量控制期间,以所述时间窗口为周期动态修正流控惩罚延时并下发给所述至少一个服务节点,以供所述至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自所述目标应用对象的待处理流量进行延时处理。
2.根据权利要求1所述的系统,其中,所述流控中心节点还用于:
在流控开始阶段,采用动态配额流控方案对所述至少一个服务节点进行流量控制;以及
在采用动态配额流控方案进行流量控制期间,接收所述至少一个服务节点在每个汇报周期上报的其尚未处理的流量信息;
根据所述至少一个服务节点在连续多个汇报周期尚未处理的流量信息,判断来自所述目标应用对象的流量是否进入相对稳定状态;以及
在所述来自所述目标应用对象的流量进入相对稳定状态时,确定采用PID流控方案对所述至少一个服务节点进行流量控制。
3.根据权利要求2所述的系统,其中,所述流控中心节点具体用于:
根据所述至少一个服务节点在每个汇报周期尚未处理的流量信息,统计每个汇报周期内的全局流量信息;以及
在连续多个汇报周期内的全局流量信息的波动均在设定的波动范围内的情况下,确定来自所述目标应用对象的流量进入相对稳定状态,并将最新一个汇报周期内的全局流量信息作为所述全局瞬时流量。
4.根据权利要求3所述的系统,其中,所述流控中心节点具体用于:
计算所述全局瞬时流量与预设的全局流量配额的比值;将所述比值取整后与所述汇报周期相乘得到所述时间窗口;所述时间窗口包含至少一个汇报周期。
5.根据权利要求4所述的系统,其中,所述流控中心节点在以所述时间窗口为周期动态修正流控惩罚延时并下发给所述至少一个服务节点时,具体用于:
在当前时间窗口结束之前,根据最后一个汇报周期内的全局流量信息和预设的全局流量配额,计算下一时间窗口内使用的流控惩罚延时;
将所述下一时间窗口内使用的流控惩罚延时下发给所述至少一个服务节点,以供所述至少一个服务节点对下一时间窗口内待处理的流量进行延时处理。
6.根据权利要求5所述的系统,其中,所述流控中心节点还用于:
在采用PID流控方案进行流量控制期间,接收所述至少一个服务节点在每个汇报周期上报的新增流量信息;
根据所述至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自所述目标应用对象的流量是否重新进入非相对稳定状态;以及
在来自所述目标应用对象的流量重新进入非相对稳定状态时,再次采用动态配额流控方案对所述至少一个服务节点进行流量控制。
7.根据权利要求6所述的系统,其中,所述流控中心节点具体用于:
根据所述至少一个服务节点在每个汇报周期上报的新增流量信息,统计每个汇报周期内的全局流量信息;以及
当出现汇报周期内的全局流量信息低于设定的全局流量配额的情况时,确定来自所述目标应用对象的流量重新进入非相对稳定状态。
8.根据权利要求7所述的系统,其中,所述流控中心节点在采用动态配额流控方案对所述至少一个服务节点进行流量控制时,具体用于:
根据所述至少一个服务节点在上一汇报周期内尚未处理的流量信息之间的比例关系和预设的全局流量配额,确定所述至少一个服务节点在下一汇报周期内的流量配额;
将所述至少一个服务节点在下一汇报周期内的流量配额分别下发给所述至少一个服务节点,以供所述至少一个服务节点根据各自在下一汇报周期内的流量配额对所述下一汇报周期内待处理的流量进行处理。
9.一种流量控制方法,适用于分布式系统中的流控中心节点,所述方法包括:
确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制;
根据来自所述目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;以及
在采用PID流控方案进行流量控制期间,以所述时间窗口为周期动态修正流控惩罚延时并下发给所述至少一个服务节点,以供所述至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自所述目标应用对象的待处理流量进行延时处理。
10.根据权利要求9所述的方法,其中,确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制,包括:
在流控开始阶段,采用动态配额流控方案对所述至少一个服务节点进行流量控制;以及
在采用动态配额流控方案进行流量控制期间,接收所述至少一个服务节点在每个汇报周期上报的其尚未处理的流量信息;
根据所述至少一个服务节点在连续多个汇报周期尚未处理的流量信息,判断来自所述目标应用对象的流量是否进入相对稳定状态;以及
在所述来自所述目标应用对象的流量进入相对稳定状态时,确定采用PID流控方案对所述至少一个服务节点进行流量控制。
11.根据权利要求10所述的方法,其中,根据所述至少一个服务节点在连续多个汇报周期尚未处理的流量信息,判断来自所述目标应用对象的流量是否进入相对稳定状态,包括:
根据所述至少一个服务节点在每个汇报周期尚未处理的流量信息,统计每个汇报周期内的全局流量信息;以及
在连续多个汇报周期内的全局流量信息的波动均在设定的波动范围内的情况下,确定来自所述目标应用对象的流量进入相对稳定状态,并将最新一个汇报周期内的全局流量信息作为所述全局瞬时流量。
12.根据权利要求11所述的方法,其中,根据来自所述目标应用对象的全局瞬时流量,计算PID流控过程中所需的时间窗口,包括:
计算所述全局瞬时流量与预设的全局流量配额的比值;
将所述比值取整后与所述汇报周期相乘得到所述时间窗口;其中,所述时间窗口包含至少一个汇报周期。
13.根据权利要求12所述的方法,其中,以所述时间窗口为周期动态修正流控惩罚延时并下发给所述至少一个服务节点,包括:
在当前时间窗口结束之前,根据最后一个汇报周期内的全局流量信息和预设的全局流量配额,计算下一时间窗口内使用的流控惩罚延时;
将所述下一时间窗口内使用的流控惩罚延时下发给所述至少一个服务节点,以供所述至少一个服务节点对下一时间窗口内待处理的流量进行延时处理。
14.根据权利要求13所述的方法,其中,还包括:
在采用PID流控方案进行流量控制期间,接收所述至少一个服务节点在每个汇报周期上报的新增流量信息;
根据所述至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自所述目标应用对象的流量是否重新进入非相对稳定状态;以及
在来自所述目标应用对象的流量重新进入非相对稳定状态时,再次采用动态配额流控方案对所述至少一个服务节点进行流量控制。
15.根据权利要求10-14任一项所述的方法,其中,根据所述至少一个服务节点在每个汇报周期上报的新增流量信息,判断来自所述目标应用对象的流量是否重新进入非相对稳定状态,包括:
根据所述至少一个服务节点在每个汇报周期上报的新增流量信息,统计每个汇报周期内的全局流量信息;以及
当出现汇报周期内的全局流量信息低于设定的全局流量配额的情况时,确定来自所述目标应用对象的流量重新进入非相对稳定状态。
16.根据权利要求15所述的方法,其中,采用动态配额流控方案对所述至少一个服务节点进行流量控制,包括:
根据所述至少一个服务节点在上一汇报周期内尚未处理的流量信息之间的比例关系和预设的全局流量配额,确定所述至少一个服务节点在下一汇报周期内的流量配额;
将所述至少一个服务节点在下一汇报周期内的流量配额分别下发给所述至少一个服务节点,以供所述至少一个服务节点根据各自在下一汇报周期内的流量配额对所述下一汇报周期内待处理的流量进行处理。
17.一种流量控制方法,适用于分布式系统中为目标应用对象提供服务的任一服务节点,所述方法包括:
在采用动态配额流控方案进行流量控制期间,向分布式系统中的流控中心节点上报每个汇报周期内尚未处理的流量信息,以供所述流控中心节点判断是否采用PID流控方案进行流量控制;
接收所述流控中心节点在确定采用PID流控方案对所述服务节点进行PID流控时下发的流控惩罚延时;以及
在接收到所述流控中心节点重新下发的流控惩罚延时之前,利用所述流控惩罚延时在至少一个汇报周期内对来自所述目标应用对象的待处理流量进行延时处理;
其中,所述流控中心节点以时间窗口为周期向所述服务节点下发流控惩罚时延,所述时间窗口是在确定采用所述PID流控方案进行流量控制时根据来自所述目标应用对象的全局瞬时流量计算出的。
18.根据权利要求17所述的方法,其中,还包括:
在采用PID流控方案进行流量控制期间,向所述流控中心节点上报每个汇报周期内的新增流量信息,以供所述流控中心节点判断是否再次采用动态配额流控方案进行流量控制。
19.一种流控中心节点,其包括:处理器和存储器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
确定采用PID流控方案对分布式系统中为目标应用对象提供服务的至少一个服务节点进行流量控制;根据来自所述目标应用对象的全局瞬时流量,计算采用PID流控方案进行流量控制期间所需的时间窗口;以及在采用PID流控方案进行流量控制期间,以所述时间窗口为周期动态修正流控惩罚延时并下发给所述至少一个服务节点,以供所述至少一个服务节点在每个时间窗口内使用同一流控惩罚延时对来自所述目标应用对象的待处理流量进行延时处理。
20.一种服务节点,其包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
在采用动态配额流控方案进行流量控制期间,向分布式系统中的流控中心节点上报每个汇报周期内尚未处理的流量信息,以供所述流控中心节点判断是否采用PID流控方案进行流量控制;接收所述流控中心节点在确定采用PID流控方案对所述服务节点进行PID流控时下发的流控惩罚延时;以及在接收到所述流控中心节点重新下发的流控惩罚延时之前,利用所述流控惩罚延时在至少一个汇报周期内对来自所述目标应用对象的待处理流量进行延时处理;其中,所述流控中心节点以时间窗口为周期向所述服务节点下发流控惩罚时延,所述时间窗口是在确定采用所述PID流控方案进行流量控制时根据来自所述目标应用对象的全局瞬时流量计算出的。
21.一种存储有计算机程序的计算机可读存储介质,其中,当所述计算机程序被一个或多个处理器执行时,致使所述一个或多个处理器实现权利要求9-18中任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421003.8A CN113301075B (zh) | 2020-05-18 | 2020-05-18 | 流量控制方法、分布式系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010421003.8A CN113301075B (zh) | 2020-05-18 | 2020-05-18 | 流量控制方法、分布式系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113301075A true CN113301075A (zh) | 2021-08-24 |
CN113301075B CN113301075B (zh) | 2022-09-13 |
Family
ID=77318058
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010421003.8A Active CN113301075B (zh) | 2020-05-18 | 2020-05-18 | 流量控制方法、分布式系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113301075B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389905A (zh) * | 2021-12-08 | 2022-04-22 | 阿里巴巴(中国)有限公司 | 网络流量统计方法、相关装置和介质 |
CN114726791A (zh) * | 2022-03-18 | 2022-07-08 | 中国建设银行股份有限公司 | 流控阈值的确定方法、装置、电子设备及计算机存储介质 |
CN115086234A (zh) * | 2022-05-09 | 2022-09-20 | 阿里巴巴(中国)有限公司 | 消息处理方法及系统、设备及存储介质 |
CN115378849A (zh) * | 2022-08-24 | 2022-11-22 | 成都新希望金融信息有限公司 | 流量实时监控方法、装置、电子设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643418B1 (en) * | 2006-03-24 | 2010-01-05 | Packeteer, Inc. | Aggregate rate control using PID |
CN109660400A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 流控配置方法及系统 |
CN110166376A (zh) * | 2019-06-06 | 2019-08-23 | 北京百度网讯科技有限公司 | 流量控制方法及装置、系统、服务器、计算机可读介质 |
CN111142373A (zh) * | 2019-12-31 | 2020-05-12 | 武汉天之渌科技有限公司 | 一种基于智能计量阀的流量控制方法及装置 |
-
2020
- 2020-05-18 CN CN202010421003.8A patent/CN113301075B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7643418B1 (en) * | 2006-03-24 | 2010-01-05 | Packeteer, Inc. | Aggregate rate control using PID |
CN109660400A (zh) * | 2018-12-24 | 2019-04-19 | 苏州思必驰信息科技有限公司 | 流控配置方法及系统 |
CN110166376A (zh) * | 2019-06-06 | 2019-08-23 | 北京百度网讯科技有限公司 | 流量控制方法及装置、系统、服务器、计算机可读介质 |
CN111142373A (zh) * | 2019-12-31 | 2020-05-12 | 武汉天之渌科技有限公司 | 一种基于智能计量阀的流量控制方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114389905A (zh) * | 2021-12-08 | 2022-04-22 | 阿里巴巴(中国)有限公司 | 网络流量统计方法、相关装置和介质 |
CN114389905B (zh) * | 2021-12-08 | 2023-10-13 | 阿里巴巴(中国)有限公司 | 网络流量统计方法、相关装置和介质 |
CN114726791A (zh) * | 2022-03-18 | 2022-07-08 | 中国建设银行股份有限公司 | 流控阈值的确定方法、装置、电子设备及计算机存储介质 |
CN115086234A (zh) * | 2022-05-09 | 2022-09-20 | 阿里巴巴(中国)有限公司 | 消息处理方法及系统、设备及存储介质 |
CN115086234B (zh) * | 2022-05-09 | 2024-04-26 | 阿里巴巴(中国)有限公司 | 消息处理方法及系统、设备及存储介质 |
CN115378849A (zh) * | 2022-08-24 | 2022-11-22 | 成都新希望金融信息有限公司 | 流量实时监控方法、装置、电子设备和可读存储介质 |
CN115378849B (zh) * | 2022-08-24 | 2023-06-23 | 成都新希望金融信息有限公司 | 流量实时监控方法、装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113301075B (zh) | 2022-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113301075B (zh) | 流量控制方法、分布式系统、设备及存储介质 | |
CN116170317A (zh) | 网络系统、服务提供与资源调度方法、设备及存储介质 | |
CN113301078B (zh) | 网络系统、服务部署与网络划分方法、设备及存储介质 | |
CN113726846A (zh) | 边缘云系统、资源调度方法、设备及存储介质 | |
CN111800285B (zh) | 实例迁移方法和装置以及电子设备 | |
CN106899649B (zh) | 一种任务请求处理方法、装置和用户设备 | |
CN109327403B (zh) | 一种流控方法、装置、网络设备及存储介质 | |
CN110933178B (zh) | 调整集群系统内的节点配置的方法及服务器 | |
CN112650575B (zh) | 资源调度方法、装置和云端服务系统 | |
EP3058705B1 (en) | Data classification for adaptive synchronization | |
CN113315671A (zh) | 流量限速与信息配置方法、路由节点、系统及存储介质 | |
CN110908774A (zh) | 一种资源调度方法、设备、系统及存储介质 | |
WO2023221846A1 (zh) | 计算集群及其数据采集方法、设备及存储介质 | |
CN114072767B (zh) | 资源调度、申请与定价方法、设备、系统及存储介质 | |
CN113301076B (zh) | 流量控制方法、分布式系统、设备及存储介质 | |
CN112395103B (zh) | 延迟消息发送方法、装置及存储介质 | |
CN113553194B (zh) | 硬件资源管理方法、设备及存储介质 | |
CN114466365A (zh) | 频谱资源获取方法、装置和计算机可读存储介质 | |
CN115344350A (zh) | 云服务系统的节点设备及资源处理方法 | |
CN112953993B (zh) | 资源调度方法、设备、网络系统及存储介质 | |
CN111459653B (zh) | 集群调度方法、装置和系统以及电子设备 | |
CN115086234B (zh) | 消息处理方法及系统、设备及存储介质 | |
CN109753340B (zh) | 虚拟机快照处理方法、装置及系统 | |
CN115113971A (zh) | Nfv资源编排方法、设备、系统及存储介质 | |
CN114095356B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |