CN113839888B - 一种限流方法、装置、设备及可读存储介质 - Google Patents

一种限流方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113839888B
CN113839888B CN202111107589.1A CN202111107589A CN113839888B CN 113839888 B CN113839888 B CN 113839888B CN 202111107589 A CN202111107589 A CN 202111107589A CN 113839888 B CN113839888 B CN 113839888B
Authority
CN
China
Prior art keywords
flow
current limiting
borrowing
request
limit
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
CN202111107589.1A
Other languages
English (en)
Other versions
CN113839888A (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.)
Vipshop Guangzhou Software Co Ltd
Original Assignee
Vipshop Guangzhou Software 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 Vipshop Guangzhou Software Co Ltd filed Critical Vipshop Guangzhou Software Co Ltd
Priority to CN202111107589.1A priority Critical patent/CN113839888B/zh
Publication of CN113839888A publication Critical patent/CN113839888A/zh
Application granted granted Critical
Publication of CN113839888B publication Critical patent/CN113839888B/zh
Active 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种限流方法、装置、设备及可读存储介质,方法包括:计算本地限流额度;接收流量请求,流量请求包括请求放行的流量额度;判断本地限流额度是否足够用于扣减请求放行的流量额度;若否,向预先建立互借连接的限流服务器发起流量借入请求;接收限流服务器发出的流量借入请求结果,流量借入请求结果包括是否同意借出流量以及借出的流量额度;若流量借入请求结果为同意借出流量,则接收限流服务器借出的流量并放行与借出的流量额度同等额度的流量。本申请在放行流量时若本地限流额度不足,则根据本地限流额度,向建立互借连接的限流服务器请求流量借入,为限流节点提供了流量保障,避免了误限,从而可以提高本地限流的准确率。

Description

一种限流方法、装置、设备及可读存储介质
技术领域
本申请涉及信息处理技术领域,更具体地说,涉及一种限流方法、装置、设备及可读存储介质。
背景技术
限流一般是指社交软件或网络平台中某些内容的阅读量和推送量在一定时间内被限制,以使其热度降低。而多出来的流量一般会给平台方想要更多人看到的内容,示例如重大新闻事件、时政热点。
常用的限流技术是本地限流和中央限流,然而,现有的限流技术还存在一些问题。本地限流性能损耗小,虽然整体流量均衡,但某个接口可能会出现流量不均的情况,从而会导致误限操作。为了提高限流准确率通常会选择中央限流,但中央限流网络调用损耗较多,同时还需要额外的维护一套系统,增加了资源开销和运维成本。
因此,如何解决本地限流的误限以提高本地限流准确率是人们一直研究的问题。
发明内容
有鉴于此,本申请提供了一种限流方案,用于解决本地限流的误限以提高本地限流准确率。
为了实现上述目的,现提出的方案如下:
一种限流方法,包括:
计算本地限流额度;
接收流量请求,所述流量请求包括请求放行的流量额度;
判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;
若否,向预先建立互借连接的限流服务器发起流量借入请求;
接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;
若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
优选地,所述限流方法,还包括:
若所述本地限流额度足够用于扣减所述请求放行的流量额度,则放行请求放行的流量。
优选地,若所述流量借入请求结果为不同意借出流量,还包括:
将所述限流服务器移入借入失败黑名单,处于所述借入失败黑名单中的限流服务器在设定时间内不作为流量借入的请求对象;
向建立互借连接的其它限流服务器发起流量借入请求,直至收到流量借入请求结果为同意借出流量或收到流量借入请求结果均为不同意借出流量。
优选地,所述互借连接的建立过程包括:
获取用户配置的借入数量;
获取当前处于在线状态的限流服务器的名单列表并对所述名单列表进行排序;
根据所述排序结果选取与所述借入数量同等数量的限流服务器,并与选取的限流服务器建立连接。
优选地,还包括:
定期对所述建立互借连接的限流服务器进行检测;
若检测到限流服务器运作异常,则将运作异常的限流服务器移入连接失败黑名单,处于所述连接失败黑名单中的限流服务器不作为流量额度互借对象;
定期检测所述连接失败黑名单中的限流服务器,若限流服务器运作正常则移出所述连接失败黑名单。
优选地,还包括:
若存在已经建立互借连接的限流服务器下线,则在设定时间后获取实时的在线限流服务器的名单列表,并重新进行排序;
若重新排序后的名单列表与重新排序前的名单列表不一致,则根据所述重新排序后的名单列表重新发起互借连接。
优选地,与限流服务器间建立的互借连接为长连接。
一种限流装置,包括:
额度计算单元,用于计算本地限流额度;
请求接收单元,用于接收流量请求,所述流量请求包括请求放行的流量额度;
额度判断单元,用于判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;
流量借入单元,用于在所述本地限流额度不足够用于扣减所述请求放行的流量额度的情况下,向预先建立互借连接的限流服务器发起流量借入请求;
流量接收单元,用于接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;
流量放行单元,用于若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
一种限流设备,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现上述限流方法的各个步骤。
一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述限流方法的各个步骤。
从上述方案可以看出,本申请提供的限流方案包括:计算本地限流额度;接收流量请求,所述流量请求包括请求放行的流量额度;判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;若否,向预先建立互借连接的限流服务器发起流量借入请求;接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。显然,本申请方案在放行流量时若本地限流额度不足,则根据本地限流额度向建立互借连接的限流服务器请求流量借入,为限流节点提供了流量保障,避免了误限,从而可以提高本地限流的准确率。
进一步,提高本地限流准确率可以避免引入第三方系统,也无需做额外的额度存储,进而可以减少资源开销和运维成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种限流方法流程示意图;
图2为本申请实施例提供的一种互借列表维护时序图;
图3为本申请实施例提供的另一种限流方法流程示意图;
图4为本申请实施例公开的一种限流装置结构示意图;
图5为本申请实施例公开的一种限流设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
接下来对本申请的限流方法进行详细的介绍,请参照图1,图1为本申请实施例中提供的一种限流方法的流程示意图,该方法包括:
步骤S100:计算本地限流额度。
具体的,本地限流额度可以是由外部业务请求放行的流量总额度除以限流服务器的数量得到的平均额度。上述仅仅示例了一种可选的实施方式,本领域技术人员还可以通过其它方式实现上述过程。
步骤S110:接收流量请求,所述流量请求包括请求放行的流量额度。
具体的,所述流量请求包括所要访问的网页地址,以及访问该网页地址的流量额度,即请求放行的流量额度。
步骤S120:判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度,若否,执行步骤S130。
具体的,可以比较本地限流额度与请求放行的流量额度的大小,进而可以比较结果判断本地限流额度是否足够用于扣减请求放行的流量额度。
步骤S130:向预先建立互借连接的限流服务器发起流量借入请求。
具体的,可以包括本地限流额度比请求放行的流量额度小,因此可以判断为本地限流额度不足够用于扣减请求放行的流量额度。
因此,可以向预先建立互借连接的限流服务器发起流量借入请求,上述限流服务器可以是同样接收前述步骤中的外部业务流量请求的、区别于本地限流服务器的限流服务器。
另外,限流服务器建立互借连接的过程可以参照后续相关叙述。
步骤S140:接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度,判断所述流量借入请求结果是否为同意借出流量,若所述流量借入请求结果为同意借出流量,执行步骤S150。
具体的,所述流量借入请求结果可以包括以下情况:同意借出流量以及借出的流量额度,或不同意借出流量。
步骤S150:接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
具体的,在接收到的流量借入请求结果为同意借出流量之后,可以接收限流服务器借出的流量,进而可以在本地放行与所述借出的流量额度同等额度的流量。
从上述方案可以看出,在放行流量时若本地限流额度不足,本申请可以根据本地限流额度向建立互借连接的限流服务器请求流量借入,为限流节点提供了流量保障,避免了误限,从而可以提高本地限流的准确率。
进一步,提高本地限流准确率可以避免引入第三方系统,也无需做额外的额度存储,进而可以减少资源开销和运维成本。
在本申请的一些实施例中,上述步骤S120,判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度的结果还包括:本地限流额度比请求放行的流量额度大,也即说明本地限流额度足够用于扣减请求放行的流量额度,在此基础上,本申请可以直接放行请求放行的流量。
在本申请的一些实施例中,上述步骤S140,接收所述限流服务器发出的流量借入请求结果,该流量借入请求结果还可以为不同意借出流量,在收到此结果之后可以执行以下步骤:
S1、将所述限流服务器移入借入失败黑名单,处于所述借入失败黑名单中的限流服务器在设定时间内不作为流量借入的请求对象。
可以理解的是,为了避免重复向不同意借出流量的限流服务器发起流量借入请求,提高借入流量的效率,可以将不同意借出流量的限流服务器添加到借入失败黑名单,处于借入失败黑名单中的限流服务器在设定时间内不作为流量借入的请求对象。
S2、向建立互借连接的其它限流服务器发起流量借入请求,直至收到流量借入请求结果为同意借出流量或收到流量借入请求结果均为不同意借出流量。
具体的,向建立互借连接且区别于上述限流服务器的其它限流服务器发起流量借入请求,当接收到的流量借入请求结果为同意借出流量时,停止发起流量借入请求。此外,还可以包括当接收到的流量借入请求结果均为不同意借出流量时,停止发起流量借入请求。
从上述方案可以看出,考虑到第一次发起流量借入请求不一定收到同意借出流量的请求结果,因此,可以向未发起过流量借入请求的其它限流服务器发起流量借入请求,直至收到同意借出流量的请求结果或所有请求结果均为不同意借出流量,尽可能地保障了流量借入的成功率。
在本申请的一些实施例中,介绍了建立互借连接的限流服务器,接下来,将对建立互借连接的过程作介绍。
具体的,该过程可以包括以下步骤:
S1、获取用户配置的借入数量。
具体的,可以获取用户根据本地限流服务器配置的借入数量。其中,用户配置的借入数量由用户自定义得到,本申请不作严格限定。
S2、获取当前处于在线状态的限流服务器的名单列表并对所述名单列表进行排序。
具体的,可以将当前处于在线状态的限流服务器添加到名单列表,进而可以获取该名单列表然后进行排序。
一种可选的情况的下,可以根据IP地址(Internet Protocol Address),即互联网协议地址,对该名单列表进行排序。上述仅仅示例了一种排序的可选实施方式,本领域技术人员还可以通过其它方式对所述名单列表进行排序。
S3、根据所述排序结果选取与所述借入数量同等数量的限流服务器,并与选取的限流服务器建立连接。
具体的,可以在排序后的名单列表里,从前往后选取与借入数量同等数量的限流服务器,进而与选取的限流服务器建立连接。
考虑到,为了避免频繁创建连接导致性能损耗,因此,一种可选的方式下,与限流服务器间的建立的互借连接方式可以是长连接方式。
从上述方案可以看出,当本地有流量借入请求时,可以向预先建立互借连接的限流服务器发起流量借入请求,进而可以有足够流量额度放行请求放行的流量,可以避免误限,提高限流效率。
为了确保建立互借连接的限流服务器均能正常运作,可以对其进行定期检测,详细可以参照以下过程。
具体的,本过程可以包括以下步骤:
S1、定期对所述建立互借连接的限流服务器进行检测。
具体的,在设定的检测周期可以对建立互借连接的限流服务器进行检测,检测是否均能正常运作。
S2、若检测到限流服务器运作异常,则将运作异常的限流服务器移入连接失败黑名单,处于所述连接失败黑名单中的限流服务器不作为流量额度互借对象。
具体的,在检测到某一个限流服务器运作异常之后,可以将其移入连接失败黑名单。其中,处于所述连接失败黑名单中的限流服务器不作为流量额度互借对象。
S3、定期检测所述连接失败黑名单中的限流服务器,若限流服务器运作正常则移出所述连接失败黑名单。
具体的,在设定的检测周期可以对连接失败黑名单中的限流服务器进行检测,若检测某一限流服务器到可以正常运作,可以将其移除连接失败黑名单。
此外,检测结果仍为运作异常的限流服务器可以不用移出连接失败黑名单。
从上述方案可以看出,对建立互借连接的限流服务器定期检测可以排除运作异常的限流服务器,从而保障发起流量借入请求时限流服务器均是运作正常的。
考虑到,某些业务需要限流服务器频繁上下线,接下来将对该情况下限流服务器的连接过程作介绍。
具体的,本过程可以包括以下步骤:
S1、若存在已经建立互借连接的限流服务器下线,则在设定时间后获取实时的在线限流服务器的名单列表,并重新进行排序。
具体的,限流服务器下线之后,可以不用立即建立新的互借连接,而是经过设定时间后,获取实时的在线限流服务器名单列表,进而可以重新排序。
S2、若重新排序后的名单列表与重新排序前的名单列表不一致,则根据所述重新排序后的名单列表重新发起互借连接。
具体的,可以判断重新排序后的名单列表与重新排序前的名单列表是否一致,若不一致,则可以根据重新排序的结果发起互借连接。其中,可以在排序后的名单列表里从前往后选取与所述借入数量同等数量的限流服务器,在选取的限流服务器中,已经建立连接的保持现状,未建立连接的发起互借连接。
接下来,将结合具体示例对上述过程进行介绍,详细请参照图2。
首先,本地限流服务器启动注册,注册过程可以包括配置的借入数量等。
然后,本地限流服务器可以向服务注册中心请求名单列表,进而本地限流服务器可以接收服务注册中心返回的名单列表,再根据名单列表选取借入列表,根据该借入列表选取所要建立连接的限流服务器,并建立互借长连接。
当有限流服务器上下线时,即有节点发生变动时,此时本地限流服务器可以向服务注册中心发送节点变动通知并请求更新名单列表,进而本地限流服务器可以接收服务注册中心返回的更新名单列表,再根据更新名单列表选取新借入列表,根据该新借入列表选取所要建立连接的限流服务器,并建立互借长连接。
为了对本申请作更详细的说明,接下来将参照图3,对本申请的具体示例作介绍。
具体的,可以包括以下步骤:
步骤S200、本地限流服务器接收外部业务的流量请求。
步骤S210、判断本地限流额度是否足够用于扣减请求放行的流量。若本地限流额度足够扣减,执行步骤S221,执行之后结束本流程;若本地限流额度不足够扣减,执行步骤S222及其后续步骤。
步骤S221、放行流量。
步骤S222、向建立互借连接的其它限流服务器发起流量借入请求。
步骤S230、接收其它限流服务器返回的流量借入请求结果,根据该流量请求结果判断其它限流服务器是否同意借出流量,若流量借入请求结果为同意借出流量,执行步骤S221;若流量借入请求结果为不同意借出流量,执行步骤S240及其后续步骤。
步骤S240、将不同意借出流量的限流服务器移入借入失败黑名单,处于借入失败黑名单的限流服务器在设定时间内不作为请求借入流量的对象。
步骤S250、判断所有流量借入请求结果是否均为不同意借出流量,若是,执行步骤S260,执行之后结束本流程;若否,执行步骤S222及其后续步骤。
步骤S260:停止发起流量借入请求。
下面对本申请实施例提供的限流装置进行描述,下文描述的限流装置与上文描述的限流装置可相互对应参照。
首先,结合图4对限流装置进行介绍,如图4所示,该限流装置可以包括:
额度计算单元100,用于计算本地限流额度;
请求接收单元110,用于接收流量请求,所述流量请求包括请求放行的流量额度;
额度判断单元120,用于判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;
流量借入单元130,用于在所述本地限流额度不足够用于扣减所述请求放行的流量额度的情况下,向预先建立互借连接的限流服务器发起流量借入请求;
流量接收单元140,用于接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;
流量放行单元150,用于若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
可选的,所述限流装置,还可以包括:
流量直接放行单元,用于在所述本地限流额度足够用于扣减所述请求放行的流量额度的情况下,放行请求放行的流量。
可选的,所述限流装置还可以包括流量借入失败单元,所述流量借入失败单元可以包括:
第一黑名单移入单元,用于在所述流量借入请求结果为不同意借出流量的情况下,将所述限流服务器移入借入失败黑名单,处于所述借入失败黑名单中的限流服务器在设定时间内不作为流量借入的请求对象;
流量请求单元,用于向建立互借连接的其它限流服务器发起流量借入请求,直至收到流量借入请求结果为同意借出流量或收到流量借入请求结果均为不同意借出流量。
可选的,所述限流装置还可以包括互借连接建立单元,所述互借连接建立单元可以包括:
数量获取单元,用于获取用户配置的借入数量;
名单确定单元,用于获取当前处于在线状态的限流服务器的名单列表并对所述名单列表进行排序;
连接建立单元,用于根据所述排序结果选取与所述借入数量同等数量的限流服务器,并与选取的限流服务器建立连接。
可选的,上述连接建立单元与选取的限流服务器间建立的是长连接。
可选的,所述互借连接单元还可以包括检测单元,所述检测单元可以包括:
定期检测单元,用于定期对所述建立互借连接的限流服务器进行检测;
第二黑名单移入单元,用于若检测到限流服务器运作异常,则将运作异常的限流服务器移入连接失败黑名单,处于所述连接失败黑名单中的限流服务器不作为流量额度互借对象;
黑名单移出单元,用于定期检测所述连接失败黑名单中的限流服务器,若限流服务器运作正常则移出所述连接失败黑名单。
可选的,所述互借连接建立单元还可以包括名单变化确定单元,所述名单变化确定单元可以包括:
重新排序单元,用于若存在已经建立互借连接的限流服务器下线,则在设定时间后获取实时的在线限流服务器的名单列表,并重新进行排序;
重新连接单元,用于若重新排序后的名单列表与重新排序前的名单列表不一致,则根据所述重新排序后的名单列表重新发起互借连接。
本申请实施例提供的限流装置可应用于限流设备。图5示出了限流设备的硬件结构框图,参照图5,限流设备的硬件结构可以包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;
在本申请实施例中,处理器1、通信接口2、存储器3、通信总线4的数量为至少一个,且处理器1、通信接口2、存储器3通过通信总线4完成相互间的通信;
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory)等,例如至少一个磁盘存储器;
其中,存储器存储有程序,处理器可调用存储器存储的程序,所述程序用于:
计算本地限流额度;
接收流量请求,所述流量请求包括请求放行的流量额度;
判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;
若否,向预先建立互借连接的限流服务器发起流量借入请求;
接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;
若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种存储介质,该存储介质可存储有适于处理器执行的程序,所述程序用于:
计算本地限流额度;
接收流量请求,所述流量请求包括请求放行的流量额度;
判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;
若否,向预先建立互借连接的限流服务器发起流量借入请求;
接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;
若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种限流方法,其特征在于,包括:
计算本地限流额度;所述本地限流额度是由外部业务请求放行的流量总额度除以限流服务器的数量得到的平均额度;
接收流量请求,所述流量请求包括请求放行的流量额度;
判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;
若否,向预先建立互借连接的限流服务器发起流量借入请求;若所述本地限流额度足够用于扣减所述请求放行的流量额度,则放行请求放行的流量;
接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;
若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述本地限流额度足够用于扣减所述请求放行的流量额度,则放行请求放行的流量。
3.根据权利要求1所述的方法,其特征在于,若所述流量借入请求结果为不同意借出流量,还包括:
将所述限流服务器移入借入失败黑名单,处于所述借入失败黑名单中的限流服务器在设定时间内不作为流量借入的请求对象;
向建立互借连接的其它限流服务器发起流量借入请求,直至收到流量借入请求结果为同意借出流量或收到流量借入请求结果均为不同意借出流量。
4.根据权利要求1所述的方法,其特征在于,所述互借连接的建立过程包括:
获取用户配置的借入数量;
获取当前处于在线状态的限流服务器的名单列表并对所述名单列表进行排序;
根据所述排序结果选取与所述借入数量同等数量的限流服务器,并与选取的限流服务器建立连接。
5.根据权利要求4所述的方法,其特征在于,还包括:
定期对所述建立互借连接的限流服务器进行检测;
若检测到限流服务器运作异常,则将运作异常的限流服务器移入连接失败黑名单,处于所述连接失败黑名单中的限流服务器不作为流量额度互借对象;
定期检测所述连接失败黑名单中的限流服务器,若限流服务器运作正常则移出所述连接失败黑名单。
6.根据权利要求4所述的方法,其特征在于,还包括:
若存在已经建立互借连接的限流服务器下线,则在设定时间后获取实时的在线限流服务器的名单列表,并重新进行排序;
若重新排序后的名单列表与重新排序前的名单列表不一致,则根据所述重新排序后的名单列表重新发起互借连接。
7.根据权利要求1-6任一项所述的方法,其特征在于,与限流服务器间建立的互借连接为长连接。
8.一种限流装置,其特征在于,包括:
额度计算单元,用于计算本地限流额度;所述本地限流额度是由外部业务请求放行的流量总额度除以限流服务器的数量得到的平均额度;
请求接收单元,用于接收流量请求,所述流量请求包括请求放行的流量额度;
额度判断单元,用于判断所述本地限流额度是否足够用于扣减所述请求放行的流量额度;
流量借入单元,用于在所述本地限流额度不足够用于扣减所述请求放行的流量额度的情况下,向预先建立互借连接的限流服务器发起流量借入请求;
流量直接放行单元,用于在所述本地限流额度足够用于扣减所述请求放行的流量额度的情况下,放行请求放行的流量;
流量接收单元,用于接收所述限流服务器发出的流量借入请求结果,所述流量借入请求结果包括是否同意借出流量以及借出的流量额度;
流量放行单元,用于若所述流量借入请求结果为同意借出流量,则接收所述限流服务器借出的流量并放行与所述借出的流量额度同等额度的流量。
9.一种限流设备,其特征在于,包括存储器和处理器;
所述存储器,用于存储程序;
所述处理器,用于执行所述程序,实现如权利要求1-7任一项的限流方法的各个步骤。
10.一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1-7任一项的限流方法的各个步骤。
CN202111107589.1A 2021-09-22 2021-09-22 一种限流方法、装置、设备及可读存储介质 Active CN113839888B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111107589.1A CN113839888B (zh) 2021-09-22 2021-09-22 一种限流方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111107589.1A CN113839888B (zh) 2021-09-22 2021-09-22 一种限流方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113839888A CN113839888A (zh) 2021-12-24
CN113839888B true CN113839888B (zh) 2024-02-27

Family

ID=78960227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111107589.1A Active CN113839888B (zh) 2021-09-22 2021-09-22 一种限流方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN113839888B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242808B (zh) * 2022-07-13 2024-03-08 山东浪潮超高清智能科技有限公司 一种分布式系统限流控制系统和方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002009358A2 (en) * 2000-07-26 2002-01-31 Santera Systems, Inc. Method of active dynamic resource assignment in a telecommunications network
CN105472593A (zh) * 2015-12-25 2016-04-06 北京奇虎科技有限公司 实现移动终端上网流量借用的方法及系统
CN107948084A (zh) * 2017-12-15 2018-04-20 中国银联股份有限公司 一种限流方法和装置
CN109787915A (zh) * 2018-12-14 2019-05-21 北京三快在线科技有限公司 网络访问的流量控制方法、装置、电子设备及存储介质
CN110022337A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 资源调度方法、装置、设备和系统
CN111277640A (zh) * 2020-01-17 2020-06-12 平安科技(深圳)有限公司 用户请求处理方法、装置、系统、计算机设备和存储介质
CN112866985A (zh) * 2021-02-20 2021-05-28 百度在线网络技术(北京)有限公司 流量控制方法、资源下载方法、装置、设备和存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002009358A2 (en) * 2000-07-26 2002-01-31 Santera Systems, Inc. Method of active dynamic resource assignment in a telecommunications network
CN105472593A (zh) * 2015-12-25 2016-04-06 北京奇虎科技有限公司 实现移动终端上网流量借用的方法及系统
CN107948084A (zh) * 2017-12-15 2018-04-20 中国银联股份有限公司 一种限流方法和装置
CN110022337A (zh) * 2018-01-09 2019-07-16 阿里巴巴集团控股有限公司 资源调度方法、装置、设备和系统
CN109787915A (zh) * 2018-12-14 2019-05-21 北京三快在线科技有限公司 网络访问的流量控制方法、装置、电子设备及存储介质
CN111277640A (zh) * 2020-01-17 2020-06-12 平安科技(深圳)有限公司 用户请求处理方法、装置、系统、计算机设备和存储介质
CN112866985A (zh) * 2021-02-20 2021-05-28 百度在线网络技术(北京)有限公司 流量控制方法、资源下载方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN113839888A (zh) 2021-12-24

Similar Documents

Publication Publication Date Title
CN109561141B (zh) 一种cdn节点的选择方法及设备
US7930401B2 (en) Accessing shared resources with improved request peak management
CN108183950B (zh) 一种网络设备建立连接的方法及装置
EP1560395A1 (en) System and method for session reestablishment between client terminal and server
CN110519183B (zh) 一种节点限速的方法、装置、电子设备及存储介质
CN111030936A (zh) 网络访问的限流控制方法、装置及计算机可读存储介质
CN106933548B (zh) 全局信息获取、处理及更新、方法、装置和系统
JP2002324047A (ja) 分散クライアント/サーバ環境での自動化セッション・リソース・クリーンアップの方法およびシステム。
CN101771723A (zh) 数据同步方法
CN113839888B (zh) 一种限流方法、装置、设备及可读存储介质
JPWO2018220709A1 (ja) 資源管理システム、管理装置、方法およびプログラム
CN110784457B (zh) 一种业务访问方法及装置
CN110351311B (zh) 负载均衡方法
CN110324262B (zh) 一种资源抢占的方法及装置
CN111093160A (zh) 一种呼叫方法、设备及系统
CN111601003A (zh) 会话建立方法及装置
CN109194993B (zh) 媒体文件分发方法及文件分发平台
JP2006216049A (ja) P2pネットワークにおけるヒルを減少させるための方法および装置
CN108200151A (zh) 一种分布式存储系统中ISCSI Target负载均衡方法和装置
CN116455830A (zh) 实现存储网关高可用分布式qos的方法
JP3417374B2 (ja) サーバ、クライアント、クライアントサーバシステム、負荷分散方法、記録媒体
CN110149352A (zh) 一种业务请求处理方法、装置、计算机设备和存储介质
WO2012000455A1 (zh) 一种客户端及负载均衡的方法
CN109714403B (zh) 一种确定用户上线时长的方法及装置
WO2006108355A1 (fr) Procede fournissant des informations de salle de jeu a des joueurs mobiles

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