CN113285884B - 流量控制方法及系统 - Google Patents

流量控制方法及系统 Download PDF

Info

Publication number
CN113285884B
CN113285884B CN202110813560.9A CN202110813560A CN113285884B CN 113285884 B CN113285884 B CN 113285884B CN 202110813560 A CN202110813560 A CN 202110813560A CN 113285884 B CN113285884 B CN 113285884B
Authority
CN
China
Prior art keywords
user
flow
flow control
data access
quota
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.)
Active
Application number
CN202110813560.9A
Other languages
English (en)
Other versions
CN113285884A (zh
Inventor
杨文龙
李飞飞
沈春辉
杨成虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202110813560.9A priority Critical patent/CN113285884B/zh
Publication of CN113285884A publication Critical patent/CN113285884A/zh
Application granted granted Critical
Publication of CN113285884B publication Critical patent/CN113285884B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书实施例提供流量控制方法及系统,其中所述流量控制方法包括:接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成,根据所述更新结果对所述用户的第二访问流量进行统计,在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。

Description

流量控制方法及系统
技术领域
本说明书实施例涉及计算机技术领域,特别涉及流量控制方法。本说明书一个或者多个实施例同时涉及一种流量控制系统,流量控制装置,一种计算设备,以及一种计算机可读存储介质。
背景技术
目前,对于数据库系统来说,无论是单机的关系型数据库管理系统,还是非关系型分布式数据库,在底层服务器硬件规模固定的情况下,其所能提供的服务能力也是有限的,在多个用户使用同一个数据库时,如果某个用户的请求流量超过数据库的承受极限,很可能会造成数据库服务能力下降,影响运行在该数据库上的其他用户,甚至严重时会造成服务器宕机。因此,一般的数据库系统都有对应的限流方案,当用户的请求流量超过服务能力的时候,对其进行限流,防止影响其他用户。
在非关系型分布式系统中,目前的限流方案通常是在服务端设置一个阈值,当用户的访问流量超出该阈值时,服务端对用户进行限流,使得用户在一段时间内停止向服务端发送网络请求。但是,在服务端仅设置一个阈值的方案会存在用户体验差、单一的阈值难以合理设置的问题,因此,亟需一种有效的方法以解决此类问题。
发明内容
有鉴于此,本说明书实施例提供了流量控制方法。本说明书一个或者多个实施例同时涉及一种流量控制系统,流量控制装置,一种计算设备,以及一种计算机可读存储介质,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种流量控制系统,包括:
分布式网络中的第一服务器以及流量控制中心;
所述第一服务器,被配置为接收数据访问请求,所述数据访问请求中携带用户的用户标识,根据所述用户标识确定所述用户满足数据访问条件的情况下,对所述数据访问请求进行处理,并基于所述数据访问请求,对所述用户在当前流量统计周期内的第一访问流量进行更新并存储,在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至所述流量控制中心;
所述流量控制中心,被配置为根据所述更新结果对所述用户在预设流量统计周期内的第二访问流量进行统计,并在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并返回。
根据本说明书实施例的第二方面,提供了一种流量控制方法,包括:
接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成;
根据所述更新结果对所述用户的第二访问流量进行统计;
在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。
可选地,根据所述更新结果对所述用户的第二访问流量进行统计,包括:
根据所述更新结果对所述用户在当前流量统计周期的第二访问流量进行统计;
相应的,所述方法还包括:
在确定到达所述当前流量统计周期的结束时间点的情况下,将所述第二访问流量置零,并返回执行所述接收服务器发送的第一访问流量的更新结果的步骤。
可选地,接收服务器发送的第一访问流量的更新结果之前,还包括:
接收针对所述用户提交的资源配置信息,所述资源配置信息包括所述用户的流量控制参数;
相应的,根据所述更新结果对所述用户的第二访问流量进行统计之后,还包括:
根据统计结果判断所述用户在当前流量控制周期内的访问流量值,是否大于等于所述流量控制参数对应的预设访问流量阈值;
若是,则确定所述用户满足流量控制条件。
可选地,所述流量控制方法,还包括:
接收针对所述用户提交的资源配置信息,所述资源配置信息包括所述用户的资源消耗参数;
接收服务器发送的第一资源消耗值的更新结果,其中,所述更新结果基于处理用户的数据访问请求所消耗的资源值对所述第一资源消耗值进行更新生成;
根据所述更新结果对所述用户的第二资源消耗值进行统计;
根据统计结果判断所述用户在当前流量控制周期内的资源消耗值,是否大于等于所述资源消耗参数对应的预设资源消耗阈值;
若是,则确定所述用户满足流量控制条件。
根据本说明书实施例的第三方面,提供了另一种流量控制方法,包括:
接收第一数据访问请求,所述第一数据访问请求中携带用户的用户标识;
根据所述用户标识确定所述用户满足数据访问条件的情况下,对所述第一数据访问请求进行处理,并基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储;
在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至流量控制中心。
可选地,接收第一数据访问请求之后,还包括:
根据所述用户标识确定当前流量统计周期内是否接收到所述用户的流量控制指令,其中,所述流量控制指令由流量控制中心返回;
若否,则确定所述用户满足数据访问条件。
可选地,基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储之后,还包括:
检测是否到达更新结果的发送时间,其中,所述更新结果的发送时间之间的时间间隔小于流量统计周期;
若是,则确定满足更新结果发送条件。
可选地,基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储之后,还包括:
判断所述第一访问流量的更新结果是否大于等于第一流量阈值,其中,所述第一流量阈值小于所述用户在流量控制周期内的第二流量阈值;
若是,则确定满足更新结果发送条件。
可选地,对所述数据访问请求进行处理之后,还包括:
基于处理所述数据访问请求所消耗的资源值,对所述用户在当前流量统计周期内的第一资源消耗值进行更新并存储;
在确定满足更新结果发送条件的情况下,将所述第一资源消耗值的更新结果发送至流量控制中心,所述流量控制中心根据所述更新结果对所述用户在当前流量统计周期内的第二资源消耗值进行统计。
可选地,所述流量控制方法,还包括:
接收所述流量控制中心返回的所述用户的流量控制指令;
在接收到所述用户在当前流量统计周期内发送的第二数据访问请求的情况下,根据所述第二数据访问请求中携带的用户标识向所述用户发送访问失败的提示信息。
根据本说明书实施例的第四方面,提供了一种流量控制装置,包括:
接收模块,被配置为接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成;
统计模块,被配置为根据所述更新结果对所述用户的第二访问流量进行统计;
同步模块,被配置为在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。
根据本说明书实施例的第五方面,提供了另一种流量控制装置,包括:
接收模块,被配置为接收第一数据访问请求,所述第一数据访问请求中携带用户的用户标识;
更新模块,被配置为根据所述用户标识确定所述用户满足数据访问条件的情况下,对所述第一数据访问请求进行处理,并基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储;
发送模块,被配置为在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至流量控制中心。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令以实现所述流量控制方法的步骤。
根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述流量控制方法的步骤。
本说明书一个实施例通过接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成,根据所述更新结果对所述用户的第二访问流量进行统计,在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。
本说明书实施例中,用户访问流量的消耗由分布式网络中的多个服务器异步定期向流量控制中心进行汇报,有利于减小流量控制中心的处理压力;另外,由流量控制中心统一对用户在分布式网络中各服务器的流量消耗情况进行综合统计,并在确定用户在分布式网络的访问流量消耗完的情况下,生成用户的流量控制指令并同步至分布式网络中的各服务器,在各服务器的用户流量不均匀的情况下,用户对单个服务器的数据访问请求量过高,而对分布式网络的总体数据访问请求量未超过阈值时,通过这种方式进行处理,有利于减少对用户造成误触发限流操作的概率,从而有利于提升用户体验。
附图说明
图1是本说明书一个实施例提供的一种流量控制系统的示意图;
图2是本说明书一个实施例提供的一种流量控制方法的处理流程图;
图3是本说明书一个实施例提供的另一种流量控制方法的处理流程图;
图4是本说明书一个实施例提供的一种流量控制方法的交互图;
图5是本说明书一个实施例提供的一种流量控制装置的示意图;
图6是本说明书一个实施例提供的一种流量控制装置的示意图;
图7是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
租户:运行在数据库系统上的一个用户,通常一个数据库可能会被多个用户一起访问。
HBase:HBase是一个开源的分布式NoSQL数据库。
Quota:配额,特指分配给某一个租户的流量配额,比如允许某一个租户每秒请求100次。
在本说明书中,提供了一种流量控制方法,本说明书同时涉及一种流量控制装置,一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
目前,在数据库系统中通过引入限流中心,以起到分布式限流的作用。比如在限流中心中设置某个租户限流100QPS(Queries Per Second,每秒查询率),即服务器每秒对用户的100次访问请求进行响应。以HBase举例,用户在HBase的每台服务器发送网络请求之前,都先向限流中心发送请求,检查是否还有quota,若确定还存在剩余的额度,则允许用户的网络请求继续执行;若确定不存在剩余的额度,则触发限流。
在分布式系统中引入限流中心会存在以下问题:
1.限流中心变为分布式系统中的一个单点,在大吞吐的场景下,频繁地请求单点会造成严重瓶颈。
2.用户每次的请求都会先去请求一次限流中心,会多一次网络调用,导致请求的响应时间增大。
3.限流中心变成了分布式系统的强依赖,如果限流中心发生了故障,整个分布式系统都不可用。
基于此,本说明书一个实施例提供一种流量控制系统,以解决上述问题,具体的流量控制系统的示意图如图1所示,所述流量控制系统包括:
分布式网络中的第一服务器102以及流量控制中心104;
所述第一服务器102,被配置为接收数据访问请求,所述数据访问请求中携带用户的用户标识,根据所述用户标识确定所述用户满足数据访问条件的情况下,对所述数据访问请求进行处理,并基于所述数据访问请求,对所述用户在当前流量统计周期内的第一访问流量进行更新并存储,在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至所述流量控制中心104;其中,所述第一服务器102为图1中的任意一个服务器102;
所述流量控制中心104,被配置为根据所述更新结果对所述用户在预设流量统计周期内的第二访问流量进行统计,并在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并返回。
其中,所述流量控制中心(QuotaCenter)104中包含限流模块(Rate Limiter),所述限流组件用于记录每个租户的流量配额,记录诸如该租户配额为100QPS,目前使用了50QPS等信息。
服务器102中包含配额代理模块(Quota Proxy)、配额消耗值记录模块(QuotaStub)、存储模块(Storage Layer)、请求处理模块(Query Processor)。
租户的数据访问请求首先会被发送到请求处理模块,即租户发送到这台服务器102的请求,会直接由请求处理模块与所述配额代理模块进行交互,如服务器102对数据访问请求进行处理前,由请求处理模块向配额代理模块检查该租户的流量配额是否用完,如果用完,则会触发限流。
所述配额消耗值记录模块用于记录每个租户配额的消耗情况,记录诸如该租户目前使用了多少QPS,是否已经超过配额等信息。
在对数据访问请求处理完成后,所述存储模块会将处理所述数据访问请求所消耗的流量额度发送至服务器102内的配额代理模块进行记录。
本说明书实施例中,第一服务器102接收到数据访问请求后,由请求处理模块根据数据访问请求中携带的用户标识向配额代理模块检查该用户(租户)的流量配额是否用完,如果用完,则会触发限流;若还存在剩余流量配额,则确定所述用户满足数据访问条件,由所述请求处理模块对所述数据访问请求进行处理,并在对数据访问请求处理完成后,所述存储模块会将处理所述数据访问请求所消耗的流量额度发送至服务器102内的配额代理模块进行记录。
另外,第一服务器102可定期向流量控制中心104发送所述用户的流量配额的记录结果,即在确定到达指定发送时间的情况下(确定满足更新结果发送条件),将所述用户的流量配额的记录结果发送至流量控制中心104。
流量控制中心104根据所述记录结果对所述用户在预设流量统计周期内的流量配额的消耗情况进行统计,并在根据统计结果确定所述用户的流量配额消耗完(满足流量控制条件)的情况下,向第一服务器102发送对所述用户进行限流的指令。
例如,用户U1通过流量控制中心104对用户U2的流量配额进行设置,如每秒限流100QPS,即每秒限制进行100次数据访问。用户U2向服务器102发送数据访问请求,服务器102中的请求处理模块会先从服务器102内的配额代理模块检查用户U2的流量配额是否已消耗完,由于用户U2的流量配额目前还未使用完,因此,配额代理模块会同意这次访问,并由存储模块对所述数据访问请求进行处理,处理完成后,存储模块会把所述数据访问请求所消耗的流量额度记录在配额代理模块中。
每台服务器102的配额代理模块会定期将用户U2在该服务器102上的流量额度消耗情况汇报给流量控制中心104进行记录,当某一时刻流量控制中心104统计到用户U2的流量额度已经超过设定值时,流量控制中心104会向配额代理模块反馈用户U2的流量配额已经耗尽。
当下一次用户U2再次发起数据访问请求,请求处理模块在向配额代理模块发起检查时,配额代理模块会直接返回该用户U2的流量配额超出的提示信息,用户U2的此次数据访问请求被限流。
本说明书实施例中,由流量控制中心104统一管理用户的流量消耗,并且,用户资源消耗情况由配额代理模块异步定期向流量控制中心104汇报,流量控制中心104不会成为分布式系统的单点,流量控制中心104的处理压力与用户的数据访问请求量无关。用户请求过程中不直接与流量控制中心104交互,每次请求只会检查配额代理模块本地缓存的信息,对用户的请求响应时间完成无影响。流量控制中心104非系统强依赖,如果流量控制中心104宕机,不会影响用户请求(只会影响配额代理模块的异步汇报,与用户请求无关)。
用户的流量配额由流量控制中心104统一管理,在应对用户流量不均匀,单服务器102热点请求时,也不会因为单服务器102请求量过高(实际总体流量未超过阈值)而触发对用户的限流操作,即有利于减少对用户造成误触发限流操作的概率。
本说明书实施例中,用户访问流量的消耗由分布式网络中的多个服务器异步定期向流量控制中心进行汇报,有利于减小流量控制中心的处理压力;另外,由流量控制中心统一对用户在分布式网络中各服务器的流量消耗情况进行综合统计,并在确定用户在分布式网络的访问流量消耗完的情况下,生成用户的流量控制指令并同步至分布式网络中的各服务器,在各服务器的用户流量不均匀的情况下,用户对单个服务器的数据访问请求量过高,而对分布式网络的总体数据访问请求量未超过阈值时,通过这种方式进行处理,有利于减少对用户造成误触发限流操作的概率,从而有利于提升用户体验。
图2示出了根据本说明书一个实施例提供的一种流量控制方法的处理流程图,包括步骤202至步骤206。
步骤202,接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成。
具体的,本说明书实施例提供的流量控制方法应用于流量控制中心。
其中,所述第一访问流量即用户在一定时间区间内向分布式网络中的一个服务器发送访问请求生成的访问流量,实际应用中,可将一个数据访问请求作为一个访问流量。
所述流量控制中心中包含限流模块(Rate Limiter),所述限流组件用于记录每个租户的流量配额,记录诸如该租户配额为100QPS,目前使用了50QPS等信息。
由于服务器中包含配额代理模块(Quota Proxy)、配额消耗值记录模块(QuotaStub)、存储模块(Storage Layer)、请求处理模块(Query Processor)。
用户向服务器发送数据访问请求后,所述数据访问请求首先会被发送到请求处理模块,即用户发送到这台服务器的请求,会直接由请求处理模块与所述配额代理模块进行交互,如服务器对数据访问请求进行处理前,由请求处理模块向配额代理模块检查该租户的流量配额是否用完,如果用完,则会触发限流。
所述配额消耗值记录模块用于记录每个用户流量配额的消耗情况,记录诸如该用户目前使用了多少QPS,是否已经超过配额等信息。
在对数据访问请求处理完成后,所述存储模块会将处理所述数据访问请求所消耗的流量额度发送至服务器内的配额代理模块进行记录(对用户的第一访问流量进行更新)。
本说明书实施例中,服务器接收到数据访问请求后,由请求处理模块根据数据访问请求中携带的用户标识向配额代理模块检查该用户的流量配额是否用完,如果用完,则会触发限流;若还存在剩余流量配额,则确定所述用户满足数据访问条件,由所述请求处理模块对所述数据访问请求进行处理,并在对数据访问请求处理完成后,所述存储模块会将处理所述数据访问请求所消耗的流量额度发送至服务器内的配额代理模块进行记录。
另外,服务器可定期向流量控制中心发送所述用户的流量配额的记录结果,即在确定到达指定发送时间的情况下(确定满足更新结果发送条件),将所述用户的流量配额的记录结果发送至流量控制中心。
步骤204,根据所述更新结果对所述用户的第二访问流量进行统计。
具体的,所述第二访问流量,即一定时间区间(一个流量控制周期)内用户向分布式网络发送的数据访问请求生成的访问流量。
流量控制中心根据服务器发送的所述记录结果(更新结果)对所述用户在预设流量统计周期内的流量配额的消耗情况(第二访问流量)进行统计,并在根据统计结果确定所述用户的流量配额消耗完(满足流量控制条件)的情况下,向服务器发送对所述用户进行限流的指令。
另外,所述服务器为分布式网络中的多个服务器之一,即用户可分别向分布式网络中的多个服务器发送数据访问请求,每个服务器均会对处理数据访问请求所消耗的流量额度进行记录,并定期将记录结果发送至流量控制中心,流量控制中心基于多个服务器提交的所述用户的流量额度记录结果,对所述用户在预设时间区间内的流量配额(第二访问流量)进行综合统计,以检测用户在预设时间区间内对分布式网络的访问流量是否超出流量配额。
此外,接收服务器发送的第一访问流量的更新结果之前,还包括:
接收针对所述用户提交的资源配置信息,所述资源配置信息包括所述用户的流量控制参数;
相应的,根据所述更新结果对所述用户的第二访问流量进行统计之后,还包括:
根据统计结果判断所述用户在当前流量控制周期内的访问流量值,是否大于等于所述流量控制参数对应的预设访问流量阈值;
若是,则确定所述用户满足流量控制条件。
具体的,管理用户可通过流量控制中心对用户(租户)的资源配置信息进行设置,其中,所述资源配置信息可以是流量控制参数,例如每秒的流量配额。若所述流量控制参数为每秒的流量配额,则用户的流量控制周期即为1秒,每1秒即为一个流量控制周期,流量控制中心可结合多个服务器发送的更新结果对用户在1秒内的访问流量进行综合统计,并可根据统计结果判断所述用户在当前流量控制周期内的访问流量值是否达到所述流量配额;若是,则确定所述用户满足限流条件。
本说明书实施例中,用户访问流量的消耗由分布式网络中的多个服务器异步定期向流量控制中心进行汇报,有利于减小流量控制中心的处理压力。
如前所述,所述第二访问流量,即一定时间区间(一个流量控制周期)内用户向分布式网络发送的数据访问请求生成的访问流量,因此,根据所述更新结果对所述用户的第二访问流量进行统计,即根据所述更新结果对所述用户在当前流量统计周期的第二访问流量进行统计。
另外,在确定到达所述当前流量统计周期的结束时间点的情况下,将所述第二访问流量置零,并接收服务器发送的第一访问流量的更新结果。
具体的,流量控制中心需定期对用户的第二访问流量的统计结果进行更新,即在当前流量控制周期结束,并进入下一流量控制周期的情况下,需对用户的第二访问流量的统计结果置0,并重新对下一流量控制周期内用户的第二访问流量进行统计。
本说明书实施例中,由流量控制中心统一对用户在分布式网络中各服务器的流量消耗情况进行综合统计,并在确定用户在分布式网络的访问流量消耗完的情况下,生成用户的流量控制指令并同步至分布式网络中的各服务器,在各服务器的用户流量不均匀的情况下,用户对单个服务器的数据访问请求量过高,而对分布式网络的总体数据访问请求量未超过阈值时,有利于减少对用户造成误触发限流操作的概率,从而有利于提升用户体验。
步骤206,在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。
具体的,流量控制中心根据服务器发送的所述记录结果(更新结果)对所述用户在预设流量统计周期内的流量配额的消耗情况(第二访问流量)进行统计,并在根据统计结果确定所述用户的流量配额消耗完(满足流量控制条件)的情况下,向服务器发送对所述用户进行限流的指令。
实际应用中,每台服务器的配额代理模块会定期将用户在该服务器上的流量额度消耗情况汇报给流量控制中心进行记录,当某一时刻流量控制中心统计到用户的流量额度已经超过设定值时,流量控制中心会向分布式网络中的每个服务器反馈用户的流量配额已经耗尽,以提示服务器对所述用户进行限流。
另外,管理用户除可对用户的流量控制参数进行配置外,还可对用户的资源消耗参数进行配置,具体可通过以下方式实现:
接收针对所述用户提交的资源配置信息,所述资源配置信息包括所述用户的资源消耗参数;
接收服务器发送的第一资源消耗值的更新结果,其中,所述更新结果基于处理用户的数据访问请求所消耗的资源值对所述第一资源消耗值进行更新生成;
根据所述更新结果对所述用户的第二资源消耗值进行统计;
根据统计结果判断所述用户在当前流量控制周期内的资源消耗值,是否大于等于所述资源消耗参数对应的预设资源消耗阈值;
若是,则确定所述用户满足流量控制条件。
具体的,由于用户向服务器发送数据访问请求后,服务器处理所述数据访问请求需消耗一定的资源,为保证服务器在面对较大的数据访问需求的情况下,仍能够保持正常运行,本说明书实施例可对用户的资源消耗参数进行配置,例如,每秒的资源消耗值。
若所述资源消耗参数为每秒的资源消耗值,则用户的流量控制周期即为1秒,每1秒即为一个流量控制周期,流量控制中心可结合多个服务器发送的、基于处理用户的数据访问请求所消耗的资源值对第一资源消耗值进行更新生成的更新结果,对用户在1秒内的第二资源消耗值进行综合统计,并可根据统计结果判断所述用户在当前流量控制周期内的资源消耗值是否达到所述资源消耗参数对应的预设资源消耗阈值;若是,则确定所述用户满足限流条件,生成所述用户的流量控制指令并返回至服务器。
本说明书一个实施例通过接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成,根据所述更新结果对所述用户的第二访问流量进行统计,在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。
本说明书实施例中,用户访问流量的消耗由分布式网络中的多个服务器异步定期向流量控制中心进行汇报,有利于减小流量控制中心的处理压力;另外,由流量控制中心统一对用户在分布式网络中各服务器的流量消耗情况进行综合统计,并在确定用户在分布式网络的访问流量消耗完的情况下,生成用户的流量控制指令并同步至分布式网络中的各服务器,在各服务器的用户流量不均匀的情况下,用户对单个服务器的数据访问请求量过高,而对分布式网络的总体数据访问请求量未超过阈值时,通过这种方式进行处理,有利于减少对用户造成误触发限流操作的概率,从而有利于提升用户体验。
图3示出了根据本说明书一个实施例提供的一种流量控制系统的处理流程图,包括步骤302至步骤306。
步骤302,接收第一数据访问请求,所述第一数据访问请求中携带用户的用户标识。
具体的,本说明书实施例提供的流量控制方法,应用于分布式网络的第一服务器,所述第一服务器为所述分布式网络中的多个服务器之一。
用户可向分布式网络中的任意一个或多个服务器发送数据访问请求,以由服务器对所述数据访问请求进行处理。
步骤304,根据所述用户标识确定所述用户满足数据访问条件的情况下,对所述第一数据访问请求进行处理,并基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储。
具体实施时,接收第一数据访问请求之后,根据所述用户标识确定当前流量统计周期内是否接收到所述用户的流量控制指令,其中,所述流量控制指令由流量控制中心返回;若否,则确定所述用户满足数据访问条件。
具体的,所述第一访问流量即用户在一定时间区间内向分布式网络中的一个服务器发送访问请求生成的访问流量,实际应用中,可将一个数据访问请求作为一个访问流量。
由于服务器中包含配额代理模块(Quota Proxy)、配额消耗值记录模块(QuotaStub)、存储模块(Storage Layer)、请求处理模块(Query Processor)。
用户向服务器发送数据访问请求后,所述数据访问请求首先会被发送到请求处理模块,即用户发送到这台服务器的请求,会直接由请求处理模块与所述配额代理模块进行交互,如服务器对数据访问请求进行处理前,由请求处理模块向配额代理模块检查该租户的流量配额是否用完,如果用完,则会触发限流。
所述配额消耗值记录模块用于记录每个用户流量配额的消耗情况,记录诸如该用户目前使用了多少QPS,是否已经超过配额等信息。
在对数据访问请求处理完成后,所述存储模块会将处理所述数据访问请求所消耗的流量额度发送至服务器内的配额代理模块进行记录(对用户的第一访问流量进行更新)。
本说明书实施例中,服务器接收到数据访问请求后,由请求处理模块根据数据访问请求中携带的用户标识向配额代理模块检查该用户的流量配额是否用完,如果用完(接收到所述用户的流量控制指令),则会触发限流;若还存在剩余流量配额,则确定所述用户满足数据访问条件,由所述请求处理模块对所述数据访问请求进行处理,并在对数据访问请求处理完成后,所述存储模块会将处理所述数据访问请求所消耗的流量额度发送至服务器内的配额代理模块进行记录。
步骤306,在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至流量控制中心。
具体的,服务器可定期向流量控制中心发送所述用户的流量配额的记录结果,即在确定到达指定发送时间的情况下(确定满足更新结果发送条件),将所述用户的流量配额的记录结果发送至流量控制中心。
所述流量控制中心中包含限流模块(Rate Limiter),所述限流组件用于记录每个租户的流量配额,记录诸如该租户配额为100QPS,目前使用了50QPS等信息。
具体实施时,在基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储之后,可检测是否到达更新结果的发送时间,其中,所述更新结果的发送时间之间的时间间隔小于流量统计周期;若是,则确定满足更新结果发送条件。
或者,可判断所述第一访问流量的更新结果是否大于等于第一流量阈值,其中,所述第一流量阈值小于所述用户在流量控制周期内的第二流量阈值;若是,则确定满足更新结果发送条件。
具体的,本说明书实施例中,服务器可定期向流量控制中心发送第一访问流量的记录结果,因此,可通过检测是否到达更新结果的发送时间的方式确定是否满足更新结果发送条件;或者,服务器可在第一访问流量的统计结果达到一定阈值的情况下,向流量控制中心发送第一访问流量的统计结果,因此,可通过判断所述第一访问流量的更新结果是否大于等于第一流量阈值的方式确定是否满足更新结果发送条件。
具体实施时,除可对用户的访问流量进行统计之外,还可对用户的资源消耗值进行统计,具体可通过以下方式实现:
基于处理所述数据访问请求所消耗的资源值,对所述用户在当前流量统计周期内的第一资源消耗值进行更新并存储;
在确定满足更新结果发送条件的情况下,将所述第一资源消耗值的更新结果发送至流量控制中心,所述流量控制中心根据所述更新结果对所述用户在当前流量统计周期内的第二资源消耗值进行统计。
具体的,由于用户向服务器发送数据访问请求后,服务器处理所述数据访问请求需消耗一定的资源,为保证服务器在面对较大的数据访问需求的情况下,仍能够保持正常运行,本说明书实施例可对用户的资源消耗参数进行配置,例如,每秒的资源消耗值。
若所述资源消耗参数为每秒的资源消耗值,则服务器接收到数据访问请求后,由请求处理模块根据数据访问请求中携带的用户标识向配额代理模块检查该用户的资源值配额是否用完,如果用完(接收到所述用户的流量控制指令),则会触发限流;若还存在剩余可用资源值,则确定所述用户满足数据访问条件,由所述请求处理模块对所述数据访问请求进行处理,并在对数据访问请求处理完成后,所述存储模块会将处理所述数据访问请求所消耗的资源值发送至服务器内的配额代理模块进行记录,即对用户的第一资源消耗值进行更新。
在确定满足更新结果发送条件的情况下,将所述第一资源消耗值的更新结果发送至流量控制中心,以由流量控制中心根据所述更新结果对所述用户在当前流量统计周期内的第二资源消耗值进行统计。
流量控制中心可结合多个服务器发送的、基于处理用户的数据访问请求所消耗的资源值对第一资源消耗值进行更新生成的更新结果,对用户在1秒内的第二资源消耗值进行综合统计,并可根据统计结果判断所述用户在当前流量控制周期内的资源消耗值是否达到资源消耗参数对应的预设资源消耗阈值;若是,则确定所述用户满足限流条件,向服务器返回用户的流量控制指令。
具体实施时,服务器接收所述流量控制中心返回的所述用户的流量控制指令,并在接收到所述用户在当前流量统计周期内发送的第二数据访问请求的情况下,根据所述第二数据访问请求中携带的用户标识向所述用户发送访问失败的提示信息。
具体的,服务器在接收到所述流量控制指令后,当下一次所述用户再次发起数据访问请求,请求处理模块在向配额代理模块发起检查时,配额代理模块会直接返回该用户的流量配额超出的提示信息,用户的此次数据访问请求被限流。
本说明书一个实施例通过接收第一数据访问请求,所述第一数据访问请求中携带用户的用户标识,根据所述用户标识确定所述用户满足数据访问条件的情况下,对所述第一数据访问请求进行处理,并基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储,在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至流量控制中心。
本说明书实施例中,用户访问流量的消耗由分布式网络中的多个服务器异步定期向流量控制中心进行汇报,有利于减小流量控制中心的处理压力;另外,由流量控制中心统一对用户在分布式网络中各服务器的流量消耗情况进行综合统计,并在确定用户在分布式网络的访问流量消耗完的情况下,生成用户的流量控制指令并同步至分布式网络中的各服务器,在各服务器的用户流量不均匀的情况下,用户对单个服务器的数据访问请求量过高,而对分布式网络的总体数据访问请求量未超过阈值时,通过这种方式进行处理,有利于减少对用户造成误触发限流操作的概率,从而有利于提升用户体验。
下述结合附图4,以本说明书提供的流量控制方法在数据访问场景的应用为例,对所述流量控制方法进行进一步说明。其中,图4示出了本说明书一个实施例提供的一种流量控制方法的交互图,具体步骤包括步骤402至步骤420。
步骤402,流量控制中心接收管理用户针对租户提交的流量控制参数。
步骤404,第一服务器接收数据访问请求。
具体的,所述数据访问请求中携带租户的租户标识。
步骤406,第一服务器根据用户标识判断当前流量统计周期内是否接收到该租户的流量控制指令。
若否,则执行步骤408。
其中,所述流量控制指令由流量控制中心返回。
步骤408,第一服务器对所述数据访问请求进行处理,并基于所述数据访问请求,对所述租户在当前流量统计周期内的第一访问流量进行更新并存储。
步骤410,第一服务器定期将第一访问流量的更新结果发送至所述流量控制中心。
步骤412,流量控制中心根据更新结果对该用户在预设流量统计周期内的第二访问流量进行统计。
步骤414,流量控制中心在根据统计结果确定该租户在当前流量控制周期内的访问流量值大于等于所述流量控制参数对应的预设访问流量阈值的情况下,生成该租户的流量控制指令并返回至第一服务器。
步骤416,将该租户的流量控制指令同步至第二服务器。
步骤418,第二服务器接收该租户的数据访问请求。
步骤420,第二服务器向该租户返回访问失败的提示信息。
本说明书实施例中,用户访问流量的消耗由分布式网络中的多个服务器异步定期向流量控制中心进行汇报,有利于减小流量控制中心的处理压力;另外,由流量控制中心统一对用户在分布式网络中各服务器的流量消耗情况进行综合统计,并在确定用户在分布式网络的访问流量消耗完的情况下,生成用户的流量控制指令并同步至分布式网络中的各服务器,在各服务器的用户流量不均匀的情况下,用户对单个服务器的数据访问请求量过高,而对分布式网络的总体数据访问请求量未超过阈值时,通过这种方式进行处理,有利于减少对用户造成误触发限流操作的概率,从而有利于提升用户体验。
与上述方法实施例相对应,本说明书还提供了流量控制装置实施例,图5示出了本说明书一个实施例提供的一种流量控制装置的示意图。如图5所示,该装置包括:
接收模块502,被配置为接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成;
统计模块504,被配置为根据所述更新结果对所述用户的第二访问流量进行统计;
同步模块506,被配置为在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。
可选地,统计模块504,进一步被配置为:
根据所述更新结果对所述用户在当前流量统计周期的第二访问流量进行统计;
相应的,所述流量控制装置,还包括:
处理模块,被配置为在确定到达所述当前流量统计周期的结束时间点的情况下,将所述第二访问流量置零,并返回执行所述接收服务器发送的第一访问流量的更新结果的步骤。
可选地,所述流量控制装置,还包括:
资源配置信息接收模块,被配置为接收针对所述用户提交的资源配置信息,所述资源配置信息包括所述用户的流量控制参数;
相应的,所述流量控制装置,还包括:
第一判断模块,被配置为根据统计结果判断所述用户在当前流量控制周期内的访问流量值,是否大于等于所述流量控制参数对应的预设访问流量阈值;
若所述第一判断模块的运行结果为是,则确定所述用户满足流量控制条件。
可选地,所述流量控制装置,还包括:
信息接收模块,被配置为接收针对所述用户提交的资源配置信息,所述资源配置信息包括所述用户的资源消耗参数;
更新结果接收模块,被配置为接收服务器发送的第一资源消耗值的更新结果,其中,所述更新结果基于处理用户的数据访问请求所消耗的资源值对所述第一资源消耗值进行更新生成;
消耗值统计模块,被配置为根据所述更新结果对所述用户的第二资源消耗值进行统计;
第二判断模块,被配置为根据统计结果判断所述用户在当前流量控制周期内的资源消耗值,是否大于等于所述资源消耗参数对应的预设资源消耗阈值;
若所述第二判断模块的运行结果为是,则确定所述用户满足流量控制条件。
上述为本实施例的一种流量控制装置的示意性方案。需要说明的是,该流量控制装置的技术方案与上述的流量控制方法的技术方案属于同一构思,流量控制装置的技术方案未详细描述的细节内容,均可以参见上述流量控制方法的技术方案的描述。
与上述方法实施例相对应,本说明书还提供了流量控制装置实施例,图6示出了本说明书一个实施例提供的一种流量控制装置的示意图。如图6所示,该装置包括:
接收模块602,被配置为接收第一数据访问请求,所述第一数据访问请求中携带用户的用户标识;
更新模块604,被配置为根据所述用户标识确定所述用户满足数据访问条件的情况下,对所述第一数据访问请求进行处理,并基于所述数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储;
发送模块606,被配置为在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至流量控制中心。
可选地,所述流量控制装置,还包括:
确定模块,被配置为根据所述用户标识确定当前流量统计周期内是否接收到所述用户的流量控制指令,其中,所述流量控制指令由流量控制中心返回;
若所述确定模块的运行结果为否,则确定所述用户满足数据访问条件。
可选地,所述流量控制装置,还包括:
检测模块,被配置为检测是否到达更新结果的发送时间,其中,所述更新结果的发送时间之间的时间间隔小于流量统计周期;
若所述检测模块的运行结果为是,则确定满足更新结果发送条件。
可选地,所述流量控制装置,还包括:
判断模块,被配置为判断所述第一访问流量的更新结果是否大于等于第一流量阈值,其中,所述第一流量阈值小于所述用户在流量控制周期内的第二流量阈值;
若所述判断模块的运行结果为是,则确定满足更新结果发送条件。
可选地,所述流量控制装置,还包括:
存储模块,被配置为基于处理所述数据访问请求所消耗的资源值,对所述用户在当前流量统计周期内的第一资源消耗值进行更新并存储;
处理模块,被配置为在确定满足更新结果发送条件的情况下,将所述第一资源消耗值的更新结果发送至流量控制中心,所述流量控制中心根据所述更新结果对所述用户在当前流量统计周期内的第二资源消耗值进行统计。
可选地,所述流量控制装置,还包括:
指令接收模块,被配置为接收所述流量控制中心返回的所述用户的流量控制指令;信息发送模块,被配置为在接收到所述用户在当前流量统计周期内发送的第二数据访问请求的情况下,根据所述第二数据访问请求中携带的用户标识向所述用户发送访问失败的提示信息。
上述为本实施例的一种流量控制装置的示意性方案。需要说明的是,该流量控制装置的技术方案与上述的流量控制方法的技术方案属于同一构思,流量控制装置的技术方案未详细描述的细节内容,均可以参见上述流量控制方法的技术方案的描述。
图7示出了根据本说明书一个实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,所述存储器710用于存储计算机可执行指令,处理器720用于执行如下计算机可执行指令:
接收服务器发送的第一访问流量的更新结果,所述服务器为分布式网络中的服务器之一,所述更新结果基于用户的数据访问请求对用户的所述第一访问流量进行更新生成;
根据所述更新结果对所述用户的第二访问流量进行统计;
在根据统计结果确定所述用户满足流量控制条件的情况下,生成所述用户的流量控制指令并同步至所述分布式网络的多个服务器。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的流量控制方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述流量控制方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于实现所述流量控制方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的流量控制方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述流量控制方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。

Claims (8)

1.一种流量控制系统,包括:
分布式网络中的多个第一服务器以及流量控制中心;
所述第一服务器,被配置为接收数据访问请求,所述数据访问请求中携带用户的用户标识,调用请求处理模块根据所述用户标识向配额代理模块检查所述用户的流量配额是否用完,若存在剩余流量配额,则确定所述用户满足数据访问条件,对所述数据访问请求进行处理,并基于所述数据访问请求,对所述用户在当前流量统计周期内的第一访问流量进行更新并存储,在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至所述流量控制中心;
所述流量控制中心,被配置为记录所述用户的流量配额,根据所述更新结果对所述用户在当前流量统计周期内的第二访问流量进行统计,并在根据统计结果确定所述第二访问流量大于所述流量配额的情况下,生成所述用户的流量控制指令并返回,所述流量控制指令用于反馈所述用户的流量配额已耗尽。
2.一种流量控制方法,应用于分布式网络中部署的第一服务器,所述第一服务器为分布式网络中的服务器之一,包括:
接收第一数据访问请求,所述第一数据访问请求中携带用户的用户标识;
调用请求处理模块,根据所述用户标识向配额代理模块检查所述用户的流量配额是否用完;
若存在剩余流量配额,则确定所述用户满足数据访问条件,对所述第一数据访问请求进行处理,并基于所述第一数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储;
在确定满足更新结果发送条件的情况下,将所述第一访问流量的更新结果发送至流量控制中心,其中,所述流量控制中心记录所述用户的流量配额,根据所述更新结果对所述用户在当前流量统计周期内的第二访问流量进行统计,并在根据统计结果确定所述第二访问流量大于所述流量配额的情况下,生成所述用户的流量控制指令并返回,所述流量控制指令用于反馈所述用户的流量配额已耗尽。
3.根据权利要求2所述的流量控制方法,所述基于所述第一数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储之后,还包括:
检测是否到达更新结果的发送时间,其中,所述更新结果的发送时间之间的时间间隔小于流量统计周期;
若是,则确定满足更新结果发送条件。
4.根据权利要求2所述的流量控制方法,所述基于所述第一数据访问请求对所述用户在当前流量统计周期内的第一访问流量进行更新并存储之后,还包括:
判断所述第一访问流量的更新结果是否大于等于第一流量阈值,其中,所述第一流量阈值小于所述用户在流量统计周期内的第二流量阈值;
若是,则确定满足更新结果发送条件。
5.根据权利要求2所述的流量控制方法,所述对所述第一数据访问请求进行处理之后,还包括:
基于处理所述第一数据访问请求所消耗的资源值,对所述用户在当前流量统计周期内的第一资源消耗值进行更新并存储;
在确定满足更新结果发送条件的情况下,将所述第一资源消耗值的更新结果发送至流量控制中心,所述流量控制中心根据所述更新结果对所述用户在当前流量统计周期内的第二资源消耗值进行统计。
6.根据权利要求2所述的流量控制方法,还包括:
接收所述流量控制中心返回的所述用户的流量控制指令;
在接收到所述用户在当前流量统计周期内发送的第二数据访问请求的情况下,根据所述第二数据访问请求中携带的用户标识向所述用户发送访问失败的提示信息。
7.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令以实现权利要求2至6任意一项所述流量控制方法的步骤。
8.一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现权利要求2至6任意一项所述流量控制方法的步骤。
CN202110813560.9A 2021-07-19 2021-07-19 流量控制方法及系统 Active CN113285884B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110813560.9A CN113285884B (zh) 2021-07-19 2021-07-19 流量控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110813560.9A CN113285884B (zh) 2021-07-19 2021-07-19 流量控制方法及系统

Publications (2)

Publication Number Publication Date
CN113285884A CN113285884A (zh) 2021-08-20
CN113285884B true CN113285884B (zh) 2022-01-25

Family

ID=77286705

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110813560.9A Active CN113285884B (zh) 2021-07-19 2021-07-19 流量控制方法及系统

Country Status (1)

Country Link
CN (1) CN113285884B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113726885A (zh) * 2021-08-30 2021-11-30 北京天空卫士网络安全技术有限公司 一种流量配额的调整方法和装置
CN114172902B (zh) * 2021-11-12 2024-05-14 北京达佳互联信息技术有限公司 服务集群的流量控制方法及系统
CN114500128B (zh) * 2022-02-07 2023-05-23 北京百度网讯科技有限公司 一种流控计费方法、装置、系统、电子设备、介质及产品

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198275A (zh) * 2018-03-28 2019-09-03 腾讯科技(深圳)有限公司 一种流量控制方法、系统、服务器及存储介质
CN111176569A (zh) * 2019-12-27 2020-05-19 浪潮电子信息产业股份有限公司 一种流量配额方法、装置、系统和设备及可读存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8949452B2 (en) * 2005-04-07 2015-02-03 Opanga Networks, Inc. System and method for progressive download with minimal play latency
CN111988355A (zh) * 2020-06-29 2020-11-24 汉海信息技术(上海)有限公司 限流方法、装置、服务器及服务器集群

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110198275A (zh) * 2018-03-28 2019-09-03 腾讯科技(深圳)有限公司 一种流量控制方法、系统、服务器及存储介质
CN111176569A (zh) * 2019-12-27 2020-05-19 浪潮电子信息产业股份有限公司 一种流量配额方法、装置、系统和设备及可读存储介质

Also Published As

Publication number Publication date
CN113285884A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN113285884B (zh) 流量控制方法及系统
CN109684358B (zh) 数据查询的方法和装置
CN108494703B (zh) 一种访问频率控制方法、装置及存储介质
CN107241281B (zh) 一种数据处理方法及其装置
CN107204999B (zh) 一种实现心跳的方法和装置
EP3493485B1 (en) Method, apparatus and system for notification
CN105874773B (zh) 任务处理装置、智能设备、任务处理方法及基带处理器
EP3417598A1 (en) Communication system
CN111277483B (zh) 一种多端消息的同步方法、服务器及可存储介质
CN111541762B (zh) 数据处理的方法、管理服务器、设备及存储介质
US10863347B2 (en) Policy enhancement for mixed capability devices
CN110928704B (zh) 消息处理方法、消息处理系统、服务器及计算机存储介质
CN113420007B (zh) 数据库访问的审计处理方法、装置及电子设备
CN114595167A (zh) 分布式缓存系统、方法以及装置
CN103517250B (zh) 用于处理应用代理客户端异常的方法和装置
CN114760121B (zh) 访问频率控制的方法和访问频率控制系统
CN112788592B (zh) 添加唤醒时间的数据发送处理方法
CN113422739B (zh) 数据传输方法、发送端及数据传输系统
CN112417349A (zh) 一种编程装置、网络状态监控方法
CN112131267A (zh) 计数处理方法、装置、服务器和计数处理系统
CN107786765B (zh) 一种信息交互方法和装置
CN115622988B (zh) web接口的调用响应方法、装置、电子设备和存储介质
CN116347467B (zh) 5g网络中udr进行用户数据管理方法及系统
CN111641698B (zh) 一种数据统计方法、系统、设备及存储介质
CN109981660B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40056829

Country of ref document: HK