CN110138756A - 一种限流方法及系统 - Google Patents

一种限流方法及系统 Download PDF

Info

Publication number
CN110138756A
CN110138756A CN201910364818.4A CN201910364818A CN110138756A CN 110138756 A CN110138756 A CN 110138756A CN 201910364818 A CN201910364818 A CN 201910364818A CN 110138756 A CN110138756 A CN 110138756A
Authority
CN
China
Prior art keywords
access request
current
node
distributed node
services
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
Application number
CN201910364818.4A
Other languages
English (en)
Other versions
CN110138756B (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.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co 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 Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201910364818.4A priority Critical patent/CN110138756B/zh
Priority to PCT/CN2019/090339 priority patent/WO2020220430A1/zh
Priority to EP19894390.4A priority patent/EP3758325B1/en
Publication of CN110138756A publication Critical patent/CN110138756A/zh
Priority to US16/902,800 priority patent/US11316792B2/en
Application granted granted Critical
Publication of CN110138756B publication Critical patent/CN110138756B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L47/20Traffic policing
    • 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/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/781Centralised allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种限流方法及系统,其中,所述方法包括:分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量;所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;所述分布式节点接收所述中心节点发送的决策额度;所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。本发明的限流决策由分布式节点自主进行判断,决策路径短,决策快,并且决策准确。

Description

一种限流方法及系统
技术领域
本发明涉及互联网限流技术领域,特别涉及一种限流方法及系统。
背景技术
随着互联网的高速发展,计算机系统规模变得越来越大,分布式系统也就应用而生。为了保护系统的稳定性,会限制分布式系统的总体流量。当前限流方式有中心式以及按平均值或权重分配的方式,但是这两种方式都有各自的缺陷。
中心式的缺陷是分布式节点的每一次限流决策都需要跟中心节点进行交互,决策路径长,决策较慢。分布式节点的负载时刻在变化,决策实施时的数据与决策生成、下发到分布式节点时的数据有差异,中心节点无法依照实时的数据做出决策,可能会出现错的决策,影响系统整体性能。
按平均值或权重分配的方式是给每个分布式节点分配固定的服务量,虽然决策较快,但不准确,尤其在负载不均衡的情形下,部分分布式节点过载,而系统总体流量没达到上限值。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种限流方法及系统。所述技术方案如下:
第一方面,提供了一种限流方法,所述方法包括:
分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量;
所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;
所述分布式节点接收所述中心节点发送的决策额度;
所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
可选的,所述服务量还包括回源量;
相应的,所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:
所述分布式节点在接收到访问请求之后,判断是否需要向源站发送回源请求;
如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
可选的,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。
可选的,所述分布式节点基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:
所述分布式节点对比当前的服务增量与最新接收到的决策额度;
如果所述分布式节点当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。
可选的,所述分布式节点在判断出当前的服务增量大于或等于最新接收到的决策额度之后,还包括:
判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;
如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;
如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
可选的,所述分布式节点针对所述访问请求进行限流的步骤,包括:
所述分布式节点拒绝服务所述访问请求;或者,
所述分布式节点限制所述访问请求的响应速率。
可选的,所述分布式节点在判断出当前的服务增量大于或等于最新接收到的决策额度之后,还包括:
所述分布式节点以预设响应速率响应所述访问请求;
所述分布式节点接收下一个访问请求,如果当前的服务增量仍大于或等于最新接收到的决策额度,则拒绝服务所述下一个访问请求。
可选的,所述分布式节点以预设响应速率响应所述访问请求之后,还包括::
所述分布式节点接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率大于所述预设响应速率,则以所述预设响应速率响应所述下一个访问请求,其中,所述当前平均响应速率等于当前预设时间段内所产生的流量与当前预设时间段内的访问请求数之间的比值;
所述分布式节点接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率小于或等于所述预设响应速率,则不限流。
第二方面,提供了一种限流系统,该系统包括分布式节点和中心节点:
所述分布式节点,用于按照固定周期向所述中心节点发送当前预设时间段内的服务量;
所述中心节点,用于基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;
所述分布式节点,用于接收所述中心节点发送的决策额度,并在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
可选的,所述服务量还包括回源量;
相应的,所述分布式节点,用于:
在接收到访问请求之后,判断是否需要向源站发送回源请求;
如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
可选的,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。
可选的,所述分布式节点,用于:
对比当前的服务增量与最新接收到的决策额度;
如果当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。
可选的,所述分布式节点,用于:
判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;
如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;
如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
可选的,所述分布式节点,用于:
通过拒绝服务所述访问请求进行限流;或者,
通过限制所述访问请求的响应速率进行限流。
可选的,所述分布式节点,用于:
在判断出当前的服务增量大于或等于最新接收到的决策额度之后,以预设响应速率响应所述访问请求;
接收下一个访问请求,如果当前的服务增量仍大于或等于最新接收到的决策额度,则拒绝服务所述下一个访问请求。
可选的,所述分布式节点,用于:
在以预设响应速率响应所述访问请求之后,接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率大于所述预设响应速率,则以所述预设响应速率响应所述下一个访问请求,其中,所述当前平均响应速率等于当前预设时间段内所产生的流量与当前预设时间段内的访问请求数之间的比值;
接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率小于或等于所述预设响应速率,则不限流。
第三方面,提供了一种节点设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面的限流方法中所述分布式节点所执行的处理过程。
第四方面,提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面的限流方法中所述分布式节点所执行的处理过程。
本发明实施例的限流决策由分布式节点自主进行判断,决策路径短,决策快,并且通过统计学原理,可以根据各个分布式节点实时的服务量大小,分配相应大小的决策额度,也就是说,服务量越大,分配的决策额度也就越高,从而使服务量较大地区的分布式节点能够最大程度地接收并响应访问请求,提高了资源的利用率,并且该限流方式更加准确,能够提高分布式系统的服务性能。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种网络框架示意图;
图2是本发明实施例提供的一种限流方法的流程图;
图3是本发明实施例提供的另一种网络框架示意图;
图4是本发明实施例提供的一种节点设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种限流方法,该方法可以应用于图1所示的网络框架中。该网络框架包括中心节点和多个分布式节点,每个分布式节点均连接中心节点。在CDN(Content Delivery Network,内容分发网络)系统中,分布式节点即为CDN节点。其中,分布式节点用于接收客户端发送的访问请求,并进行服务。在限流应用的场景中,各个分布式节点首先按照固定周期向中心节点发送当前预设时间段内的服务量,所述中心节点再基于全部的分布式节点发送的服务量确定各个所述分布式节点对应的决策额度,并向各个所述分布式节点发送相应的决策额度,各个所述分布式节点接收所述决策额度,并在接收到访问请求之后基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。由于限流决策由分布式节点自主进行判断,决策路径短,决策快,并且通过统计学原理,可以根据各个分布式节点实时的服务量大小,分配相应大小的决策额度,也就是说,服务量越大,分配的决策额度也就越高,从而使服务量较大地区的分布式节点能够最大程度地接收并响应访问请求,提高了资源的利用率,并且该限流方式更加准确,能够提高分布式系统的服务性能。
参照图2,为本发明实施例提供的一种限流方法的流程图,该方法具体包括以下步骤。
步骤201,分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量。
分布式系统中的各个分布式节点按照同一固定周期向中心节点发送当前预设时间段内的服务量。该固定周期的时长可以设置为任一时长,例如一秒或一分钟。当前预设时间段内的服务量可以是当前时刻往前推一段时间内的服务量。例如,当前时刻为t,预设时间段为1分钟,则当前预设时间段内的服务量为t-1时刻至t时刻这段时间内的服务量。
在CDN系统中,在CDN节点(分布式节点)接收到客户端发送的访问请求之后,如果该节点中缓存有待访问的内容,则直接使用缓存进行响应,即服务访问请求。如果该CDN节点中没有缓存待访问的内容,或缓存的内容已经到期,则会向源站发送回源请求获取内容,即回源。本发明实施例可以针对服务访问请求的场景进行限流,也可以针对回源的场景进行限流,即限制CDN节点向源站发送回源请求。在针对服务访问请求的场景进行限流时,分布式节点向中心节点发送的服务量为响应访问请求所产生的服务量。在针对回源的场景进行限流时,分布式节点向中心节点发送的服务量为回源时所产生的服务量。也就是说,分布式节点向中心节点发送的服务量包括响应访问请求所产生的服务量,或者回源时所产生的服务量,也即回源量。针对回源的场景进行限流,可以防止源站承载过大的访问压力,保护源站的稳定性。
服务量可以用流量、带宽、连接数或访问请求数进行表示。具体的,当分布式节点向中心节点发送的服务量是响应访问请求所产生的服务量时,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽,所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。当服务量用连接数表示时,所述预设时间段内的服务量为分布式节点在所述预设时间段内与客户端建立的连接数。当服务量用访问请求数表示时,所述预设时间段内的服务量为分布式节点在所述预设时间段内的访问请求数,其中预设时间段内的访问请求数可以是已响应完的访问请求数,或是已响应完的访问请求数与当前正响应的访问请求数之和,再或者是已响应完的访问请求数、当前正响应的访问请求数与未响应的访问请求数之和。
当分布式节点向中心节点发送的服务量是回源量时,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量(回源流量)、所述预设时间段内的平均带宽(回源带宽)或者所述预设时间段内所建立的连接数中的一种或多种。所述分布式节点在所述预设时间段内所产生的回源流量可以为所述分布式节点在所述预设时间段内回源获取到的内容的大小。当服务量用连接数表示时,所述预设时间段内的服务量为分布式节点在所述预设时间段内与源站建立的连接数。
步骤202,所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度。
各个分布式节点定时向中心节点发送最新的服务量,中心节点根据最新的服务量计算各个分布式节点的服务占,然后根据各个分布式节点的服务占比计算各个分布式节点对应的决策额度,服务占比越大,对应的决策额度也就越高,也就允许接收更多的服务访问请求,从而能够根据分布式节点实时的服务量大小,实时调节其决策额度,在根据该决策额度决定是否需要限流,保证限流的准确性,提高整个分布式系统的服务性能。
所述分布式节点对应的决策额度的表达式为:
ECLi=(LT-(EC1+EC2+……+ECn))*ECPi,i=1,2……n,
其中,ECLi表示第i个分布式节点对应的决策额度,LT表示总体限制数,ECi表示第i个分布式节点对应的服务量,ECPi表示第i个分布式节点的服务占比,ECPi=ECi/(EC1+EC2+……+ECn)。
总体限制数为预先存储在中心节点中的值,表示分布式系统所允许承载的总负载。在具体实施中,总体限制数可以是针对服务访问请求所产生的服务量的总体限制数也可以是针对回源量的总体限制数。在针对服务访问请求的场景进行限流时,总体限制数可以是针对服务访问请求所产生的服务量的总体限制数。在针对回源的场景进行限流时,总体限制数是针对回源量的总体限制数。
总体限制数与分布式节点上报给中心节点的服务量的表示方式相对应,也就是说,如果服务量使用流量进行表示,则总体限制数也使用流量进行表示;如果服务量使用带宽进行表示,则总体限制数也使用带宽进行表示;如果服务量使用连接数进行表示,则总体限制数也使用连接数进行表示;如果服务量使用访问请求量进行表示,则总体限制数也使用访问请求量进行表示。
步骤203,所述分布式节点接收所述中心节点发送的决策额度。
步骤204,所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
在针对服务访问请求的场景进行限流时,分布式节点每接收到一个访问请求,便判断是否需要针对该访问请求进行限流。在针对回源的场景进行限流时,所述分布式节点在接收到访问请求之后,判断是否需要向源站发送回源请求;如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。分布式节点基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的具体流程为:所述分布式节点在接收到访问请求之后,对比当前的服务增量与最新接收到的决策额度,其中,所述服务增量为当前预设时间段内的服务量与最后一次发送给所述中心节点的服务量之间的差值;如果所述分布式节点当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。
在另一种实施方式中,在所述分布式节点判断出当前的服务增量大于或等于最新接收到的决策额度之后,判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
上述预设时长短于分布式节点定时向中心节点上报服务量的固定周期。例如,分布式节点定时向中心节点上报服务量的固定周期为1分钟,该预设时长可以设置为30s。分布式节点在接收到决策额度之后,距离得到该决策额度的时间越久,该决策额度可能就越不准确。所以当距离得到该决策额度的时间较久,也即当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔超过预设时长时,说明需要获取新的决策额度,防止由于决策额度更新不及时出现错误限流,而影响服务质量。
在具体实施中,即使还没有到定时向中心节点上报服务量的时刻,只要中心节点接收到某一分布式节点发送的服务量时,便重新计算一次决策额度,并将新的决策额度下发至该分布式节点。
以下,以针对服务访问请求的场景进行限流为例,对分布式节点的限流方法进行举例说明。
假设分布式节点定时向中心节点上报服务量的固定周期为1分钟,用于统计服务量的预设时间段为2分钟,限流响应流程为:
(1)分布式节点在t1时刻向中心节点发送t1-2至t1时刻内的服务量ECi1;
(2)分布式节点接收中心节点发送的决策额度ECLi1;
(3)分布式节点在t2时刻接收到访问请求a,计算当前的服务增量Di1,Di1=t2-2至t2时刻内的服务量ECi2-ECi1,如果服务增量Di1小于决策额度ECLi1,则不进行限流;
(4)分布式节点在t3时刻接收到下一个访问请求b,计算当前的服务增量Di2,Di2=t3-2至t3时刻内的服务量ECi3-ECi1,如果服务增量Di2小于决策额度ECLi1,则不进行限流,并结束该流程,否则判断当前时刻与上一次向所述中心节点发送服务量的时刻,即t1时刻之间的时间间隔;
(5)如果该时间间隔大于预设时长,则向中心节点发送t3-2至t3时刻内的服务量ECi3,并转下一步,否则针对访问请求b进行限流;
(6)分布式节点接收中心节点发送的决策额度ECLi3;
(7)分布式节点对比服务增量Di2与决策额度ECLi3,如果服务增量Di2小于决策额度ECLi3,则不进行限流,否则针对访问请求b进行限流。
在针对回源的场景进行限流时,可以通过拒绝服务访问请求进行限流,即不向源站发送回源请求。在针对服务访问请求的场景进行限流时,可以通过拒绝服务访问请求或限制访问请求的响应速度来进行限流,或者两种方式相结合进行限流。通过两种方式相结合进行限流的流程为:
所述分布式节点接收当前访问请求,在判断出当前的服务增量大于或等于最新接收到的决策额度之后,以预设响应速率响应所述访问请求;
所述分布式节点接收下一个访问请求,如果当前的服务增量仍大于或等于最新接收到的决策额度,则拒绝服务所述下一个访问请求;如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率大于所述预设响应速率,则以所述预设响应速率响应所述下一个访问请求,其中,所述当前平均响应速率等于当前预设时间段内所产生的流量与当前预设时间段内的访问请求数之间的比值;如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率小于或等于所述预设响应速率,则不限流。
当无需针对接收到的访问请求进行限流时,则以默认的响应速率处理该访问请求,上述预设响应速率小于该默认的响应速率。
如图3所示,还可以设置备用中心节点,中心节点定时将数据同步到该备用中心节点。当所述中心节点发生故障时,由备用中心节点代替所述中心节点提供服务。具体的,所述中心节点与所述备用中心节点连接同一接入层,所述接入层连接各个所述分布式节点。接入层用于接收各个分布式节点发送的数据,并将数据导流到中心节点或备用中心节点。当中心节点正常工作时,接入层将接收到的数据导流到中心节点,当中心节点发生故障时,接入层将接收到的数据导流到备用中心节点,从而保证限流决策正常进行,保证分布式系统的服务性能。
本发明实施例的限流决策由分布式节点自主进行判断,决策路径短,决策快,并且通过统计学原理,可以根据各个分布式节点实时的服务量大小,分配相应大小的决策额度,也就是说,服务量越大,分配的决策额度也就越高,从而使服务量较大地区的分布式节点能够最大程度地接收并响应访问请求,提高了资源的利用率,并且该限流方式更加准确,能够提高分布式系统的服务性能。
本发明实施例还提供了一种限流系统,该系统包括分布式节点和中心节点;
所述分布式节点,用于按照固定周期向所述中心节点发送当前预设时间段内的服务量;
所述中心节点,用于基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;
所述分布式节点,用于接收所述中心节点发送的决策额度,并在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
优选的,所述服务量还包括回源量;
相应的,所述分布式节点,用于:
在接收到访问请求之后,判断是否需要向源站发送回源请求;
如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
优选的,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。
优选的,所述分布式节点,用于:
对比当前的服务增量与最新接收到的决策额度;
如果当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。
优选的,所述分布式节点,用于:
判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;
如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;
如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
优选的,所述分布式节点,用于:
通过拒绝服务所述访问请求进行限流;或者,
通过限制所述访问请求的响应速率进行限流。
优选的,所述分布式节点,用于:
在判断出当前的服务增量大于或等于最新接收到的决策额度之后,以预设响应速率响应所述访问请求;
接收下一个访问请求,如果当前的服务增量仍大于或等于最新接收到的决策额度,则拒绝服务所述下一个访问请求。
优选的,所述分布式节点,用于:
在以预设响应速率响应所述访问请求之后,接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率大于所述预设响应速率,则以所述预设响应速率响应所述下一个访问请求,其中,所述当前平均响应速率等于当前预设时间段内所产生的流量与当前预设时间段内的访问请求数之间的比值;
接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率小于或等于所述预设响应速率,则不限流。
本发明实施例的限流决策由分布式节点自主进行判断,决策路径短,决策快,并且通过统计学原理,可以根据各个分布式节点实时的服务量大小,分配相应大小的决策额度,也就是说,服务量越大,分配的决策额度也就越高,从而使服务量较大地区的分布式节点能够最大程度地接收并响应访问请求,提高了资源的利用率,并且该限流方式更加准确,能够提高分布式系统的服务性能。
需要说明的是:上述实施例提供的限流系统与限流方法的实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图3是本发明实施例提供的节点设备的结构示意图。该节点设备400可因配置或性能不同而产生比较大差异,可以包括一个或一个以上中央处理器422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据344的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对节点设备中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在节点设备400上执行存储介质430中的一系列指令操作。
节点设备400还可以包括一个或一个以上电源424,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口458,一个或一个以上键盘454,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
节点设备400可以包括有存储器,以及一个或者一个以上的计算机程序,其中一个或者一个以上计算机程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上计算机程序以实现上述限流方法中分布式节点所执行的处理过程:
按照固定周期向中心节点发送当前预设时间段内的服务量;
接收所述中心节点发送的决策额度;
在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行拒绝服务或限流。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种限流方法,其特征在于,所述方法包括:
分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量;
所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;
所述分布式节点接收所述中心节点发送的决策额度;
所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
2.根据权利要求1所述的方法,其特征在于,所述服务量还包括回源量;
相应的,所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:
所述分布式节点在接收到访问请求之后,判断是否需要向源站发送回源请求;
如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
3.根据权利要求1或2所述的方法,其特征在于,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。
4.根据权利要求1所述的方法,其特征在于,所述分布式节点基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:
所述分布式节点对比当前的服务增量与最新接收到的决策额度;
如果所述分布式节点当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。
5.根据权利要求4所述的方法,其特征在于,所述分布式节点在判断出当前的服务增量大于或等于最新接收到的决策额度之后,还包括:
判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;
如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;
如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
6.根据权利要求4或5所述的方法,其特征在于,所述分布式节点针对所述访问请求进行限流的步骤,包括:
所述分布式节点拒绝服务所述访问请求;或者,
所述分布式节点限制所述访问请求的响应速率。
7.根据权利要求4所述的方法,其特征在于,所述分布式节点在判断出当前的服务增量大于或等于最新接收到的决策额度之后,还包括:
所述分布式节点以预设响应速率响应所述访问请求;
所述分布式节点接收下一个访问请求,如果当前的服务增量仍大于或等于最新接收到的决策额度,则拒绝服务所述下一个访问请求。
8.根据权利要求7所述的方法,其特征在于,所述分布式节点以预设响应速率响应所述访问请求之后,还包括:
所述分布式节点接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率大于所述预设响应速率,则以所述预设响应速率响应所述下一个访问请求,其中,所述当前平均响应速率等于当前预设时间段内所产生的流量与当前预设时间段内的访问请求数之间的比值;
所述分布式节点接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率小于或等于所述预设响应速率,则不限流。
9.一种限流系统,其特征在于,所述系统包括分布式节点和中心节点;
所述分布式节点,用于按照固定周期向所述中心节点发送当前预设时间段内的服务量;
所述中心节点,用于基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;
所述分布式节点,用于接收所述中心节点发送的决策额度,并在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
10.根据权利要求9所述的系统,其特征在于,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。
11.一种节点设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任一项所述的限流方法中所述分布式节点所执行的处理过程。
12.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的限流方法中所述分布式节点所执行的处理过程。
CN201910364818.4A 2019-04-30 2019-04-30 一种限流方法及系统 Expired - Fee Related CN110138756B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910364818.4A CN110138756B (zh) 2019-04-30 2019-04-30 一种限流方法及系统
PCT/CN2019/090339 WO2020220430A1 (zh) 2019-04-30 2019-06-06 一种限流方法及系统
EP19894390.4A EP3758325B1 (en) 2019-04-30 2019-06-06 Traffic limiting method, node and system
US16/902,800 US11316792B2 (en) 2019-04-30 2020-06-16 Method and system of limiting traffic

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910364818.4A CN110138756B (zh) 2019-04-30 2019-04-30 一种限流方法及系统

Publications (2)

Publication Number Publication Date
CN110138756A true CN110138756A (zh) 2019-08-16
CN110138756B CN110138756B (zh) 2021-05-25

Family

ID=67576039

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910364818.4A Expired - Fee Related CN110138756B (zh) 2019-04-30 2019-04-30 一种限流方法及系统

Country Status (4)

Country Link
US (1) US11316792B2 (zh)
EP (1) EP3758325B1 (zh)
CN (1) CN110138756B (zh)
WO (1) WO2020220430A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404824A (zh) * 2020-03-06 2020-07-10 北京字节跳动网络技术有限公司 用于转发请求的方法、装置、电子设备和计算机可读介质
CN112073329A (zh) * 2020-08-25 2020-12-11 北京五八信息技术有限公司 分布式限流方法、装置、电子设备和存储介质
CN113328906A (zh) * 2021-04-22 2021-08-31 成都欧珀通信科技有限公司 一种流量实时监控方法、装置、存储介质及电子设备
CN113691596A (zh) * 2021-08-12 2021-11-23 北京奇艺世纪科技有限公司 一种网关控制方法、装置、电子设备及存储介质
CN115242808A (zh) * 2022-07-13 2022-10-25 山东浪潮超高清智能科技有限公司 一种分布式系统限流控制系统和方法

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702321B (zh) * 2020-12-15 2023-04-07 深圳市快付通金融网络科技服务有限公司 分布式交易限流方法、装置、设备及存储介质
CN112887218B (zh) * 2020-12-22 2022-10-21 新华三技术有限公司 一种报文转发方法及装置
CN112600932B (zh) * 2020-12-22 2023-04-07 百度在线网络技术(北京)有限公司 定量下发方法、控制台、下发节点、设备和介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412245B2 (en) * 2005-11-01 2008-08-12 Alpha Networks Inc. Dynamic wireless meshing network for supporting load balance and flow control
CN101702669A (zh) * 2009-11-18 2010-05-05 上海网宿科技股份有限公司 带宽分配方法和系统
US20100329248A1 (en) * 2009-06-26 2010-12-30 Nokia Corporation Multi-path transport
CN104219319A (zh) * 2014-09-15 2014-12-17 南京邮电大学 一种分布式网络流量自组织调度方法
US20150029851A1 (en) * 2013-07-26 2015-01-29 Telefonaktiebolaget L M Ericsson (Publ) Managing the traffic load of a delivery node
CN105450780A (zh) * 2015-12-31 2016-03-30 深圳市网心科技有限公司 一种cdn系统及其回源方法
CN106101183A (zh) * 2016-05-30 2016-11-09 乐视控股(北京)有限公司 回源请求的中转方法和装置及回源系统
CN107204933A (zh) * 2016-03-16 2017-09-26 华为技术有限公司 分布式流量调节方法及装置
CN107733972A (zh) * 2017-08-28 2018-02-23 阿里巴巴集团控股有限公司 一种短链接解析方法、装置及设备
CN108366020A (zh) * 2018-02-02 2018-08-03 网宿科技股份有限公司 一种发送数据资源的获取请求的方法和系统
CN108574965A (zh) * 2017-03-09 2018-09-25 中国移动通信有限公司研究院 一种进行请求处理的方法及设备
CN108848038A (zh) * 2018-08-30 2018-11-20 华为技术有限公司 基于令牌桶的流量管理方法和令牌桶节点

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9438487B2 (en) * 2012-02-23 2016-09-06 Ericsson Ab Bandwith policy management in a self-corrected content delivery network
US9455932B2 (en) * 2014-03-03 2016-09-27 Ericsson Ab Conflict detection and resolution in an ABR network using client interactivity
US9336537B2 (en) * 2014-03-06 2016-05-10 Catalina Marketing Corporation System and method of providing a particular number of distributions of media content through a plurality of distribution nodes
CN103997522B (zh) * 2014-05-16 2018-01-23 广州金山网络科技有限公司 一种内容分发网络流量控制方法及终端
GB2562307A (en) * 2017-05-12 2018-11-14 Sky Cp Ltd Media content delivery

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7412245B2 (en) * 2005-11-01 2008-08-12 Alpha Networks Inc. Dynamic wireless meshing network for supporting load balance and flow control
US20100329248A1 (en) * 2009-06-26 2010-12-30 Nokia Corporation Multi-path transport
CN101702669A (zh) * 2009-11-18 2010-05-05 上海网宿科技股份有限公司 带宽分配方法和系统
US20150029851A1 (en) * 2013-07-26 2015-01-29 Telefonaktiebolaget L M Ericsson (Publ) Managing the traffic load of a delivery node
CN104219319A (zh) * 2014-09-15 2014-12-17 南京邮电大学 一种分布式网络流量自组织调度方法
CN105450780A (zh) * 2015-12-31 2016-03-30 深圳市网心科技有限公司 一种cdn系统及其回源方法
CN107204933A (zh) * 2016-03-16 2017-09-26 华为技术有限公司 分布式流量调节方法及装置
CN106101183A (zh) * 2016-05-30 2016-11-09 乐视控股(北京)有限公司 回源请求的中转方法和装置及回源系统
CN108574965A (zh) * 2017-03-09 2018-09-25 中国移动通信有限公司研究院 一种进行请求处理的方法及设备
CN107733972A (zh) * 2017-08-28 2018-02-23 阿里巴巴集团控股有限公司 一种短链接解析方法、装置及设备
CN108366020A (zh) * 2018-02-02 2018-08-03 网宿科技股份有限公司 一种发送数据资源的获取请求的方法和系统
CN108848038A (zh) * 2018-08-30 2018-11-20 华为技术有限公司 基于令牌桶的流量管理方法和令牌桶节点

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111404824A (zh) * 2020-03-06 2020-07-10 北京字节跳动网络技术有限公司 用于转发请求的方法、装置、电子设备和计算机可读介质
CN112073329A (zh) * 2020-08-25 2020-12-11 北京五八信息技术有限公司 分布式限流方法、装置、电子设备和存储介质
CN112073329B (zh) * 2020-08-25 2023-01-24 北京五八信息技术有限公司 分布式限流方法、装置、电子设备和存储介质
CN113328906A (zh) * 2021-04-22 2021-08-31 成都欧珀通信科技有限公司 一种流量实时监控方法、装置、存储介质及电子设备
CN113328906B (zh) * 2021-04-22 2023-01-06 成都欧珀通信科技有限公司 一种流量实时监控方法、装置、存储介质及电子设备
CN113691596A (zh) * 2021-08-12 2021-11-23 北京奇艺世纪科技有限公司 一种网关控制方法、装置、电子设备及存储介质
CN115242808A (zh) * 2022-07-13 2022-10-25 山东浪潮超高清智能科技有限公司 一种分布式系统限流控制系统和方法
CN115242808B (zh) * 2022-07-13 2024-03-08 山东浪潮超高清智能科技有限公司 一种分布式系统限流控制系统和方法

Also Published As

Publication number Publication date
WO2020220430A1 (zh) 2020-11-05
EP3758325A1 (en) 2020-12-30
EP3758325B1 (en) 2022-03-23
US11316792B2 (en) 2022-04-26
US20200351207A1 (en) 2020-11-05
EP3758325A4 (en) 2021-01-27
CN110138756B (zh) 2021-05-25

Similar Documents

Publication Publication Date Title
CN110138756A (zh) 一种限流方法及系统
CN105897484A (zh) 一种流量管理装置、服务器和方法
EP4024763A1 (en) Network congestion control method, node, system and storage medium
EP2510718A1 (en) Feedback loop for dynamic network resource allocation
CN110381162A (zh) 一种业务处理的方法以及相关装置
CN102970250A (zh) 分布式路由器系统中的带宽分配方法和装置、网络设备
CN104811961A (zh) 一种lte无线网络拥塞感知和缓解的方法以及系统
US20220038871A1 (en) Charging method, apparatus, and system
Boukerche et al. Vehicular cloud network: A new challenge for resource management based systems
CN107017911A (zh) 无线通讯装置及其控制方法
CN109819477A (zh) 一种处理请求的方法以及相应实体
CN101431745B (zh) 用于ims多业务在线计费中的帐户资源预留和分配方法
CN113395671B (zh) 消息推送速率的调节方法、装置和服务器
WO2024088079A1 (zh) 请求处理方法以及系统
US9077735B2 (en) Method and related device for controlling service charging
CN108900314B (zh) 一种网络加速服务的请求数计费方法和装置
CN108023938A (zh) 一种消息发送方法及服务器
CN106407636A (zh) 集成结果统计方法及装置
CN105813046A (zh) 一种带宽控制的方法、装置及系统
Jeon et al. Virtualised EPC for on-demand mobile traffic offloading in 5G environments
CN104902570B (zh) 一种信道动态配置方法和装置
US20040148263A1 (en) Communication system
CN104661261A (zh) 一种基于异构无线网络状态的动态流量卸载方法和系统
US20230262170A1 (en) Using subscriber event data to control release operations related to communication session in communications network
CN106899671B (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210525

CF01 Termination of patent right due to non-payment of annual fee