本发明专利技术公开了一种限流方法及系统,其中,所述方法包括:分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量;所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;所述分布式节点接收所述中心节点发送的决策额度;所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。本发明专利技术的限流决策由分布式节点自主进行判断,决策路径短,决策快,并且决策准确。
A Current Limiting Method and System
【技术实现步骤摘要】
一种限流方法及系统
本专利技术涉及互联网限流
,特别涉及一种限流方法及系统。
技术介绍
随着互联网的高速发展,计算机系统规模变得越来越大,分布式系统也就应用而生。为了保护系统的稳定性,会限制分布式系统的总体流量。当前限流方式有中心式以及按平均值或权重分配的方式,但是这两种方式都有各自的缺陷。中心式的缺陷是分布式节点的每一次限流决策都需要跟中心节点进行交互,决策路径长,决策较慢。分布式节点的负载时刻在变化,决策实施时的数据与决策生成、下发到分布式节点时的数据有差异,中心节点无法依照实时的数据做出决策,可能会出现错的决策,影响系统整体性能。按平均值或权重分配的方式是给每个分布式节点分配固定的服务量,虽然决策较快,但不准确,尤其在负载不均衡的情形下,部分分布式节点过载,而系统总体流量没达到上限值。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种限流方法及系统。所述技术方案如下:第一方面,提供了一种限流方法,所述方法包括:分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量;所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;所述分布式节点接收所述中心节点发送的决策额度;所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。可选的,所述服务量还包括回源量;相应的,所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:所述分布式节点在接收到访问请求之后,判断是否需要向源站发送回源请求;如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。可选的,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。可选的,所述分布式节点基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:所述分布式节点对比当前的服务增量与最新接收到的决策额度;如果所述分布式节点当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。可选的,所述分布式节点在判断出当前的服务增量大于或等于最新接收到的决策额度之后,还包括:判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。可选的,所述分布式节点针对所述访问请求进行限流的步骤,包括:所述分布式节点拒绝服务所述访问请求;或者,所述分布式节点限制所述访问请求的响应速率。可选的,所述分布式节点在判断出当前的服务增量大于或等于最新接收到的决策额度之后,还包括:所述分布式节点以预设响应速率响应所述访问请求;所述分布式节点接收下一个访问请求,如果当前的服务增量仍大于或等于最新接收到的决策额度,则拒绝服务所述下一个访问请求。可选的,所述分布式节点以预设响应速率响应所述访问请求之后,还包括::所述分布式节点接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率大于所述预设响应速率,则以所述预设响应速率响应所述下一个访问请求,其中,所述当前平均响应速率等于当前预设时间段内所产生的流量与当前预设时间段内的访问请求数之间的比值;所述分布式节点接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率小于或等于所述预设响应速率,则不限流。第二方面,提供了一种限流系统,该系统包括分布式节点和中心节点:所述分布式节点,用于按照固定周期向所述中心节点发送当前预设时间段内的服务量;所述中心节点,用于基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;所述分布式节点,用于接收所述中心节点发送的决策额度,并在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。可选的,所述服务量还包括回源量;相应的,所述分布式节点,用于:在接收到访问请求之后,判断是否需要向源站发送回源请求;如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。可选的,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。可选的,所述分布式节点,用于:对比当前的服务增量与最新接收到的决策额度;如果当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。可选的,所述分布式节点,用于:判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。可选的,所述分布式节点,用于:通过拒绝服务所述访问请求进行限流;或者,通过限制所述访问请求的响应速率进行限流。可选的,所述分布式节点,用于:在判断出当前的服务增量大于或等于最新接收到的决策额度之后,以预设响应速率响应所述访问请求;接收下一个访问请求,如果当前的服务增量仍大于或等于最新接收到的决策额度,则拒绝服务所述下一个访问请求。可选的,所述分布式节点,用于:在以预设响应速率响应所述访问请求之后,接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率大于所述预设响应速率,则以所述预设响应速率响应所述下一个访问请求,其中,所述当前平均响应速率等于当前预设时间段内所产生的流量与当前预设时间段内的访问请求数之间的比值;接收所述下一个访问请求,如果当前的服务增量小于最新接收到的决策额度,并且当前平均响应速率小于或等于所述预设响应速率,则不限流。第三方面,提供了一种节点设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面的限流方法中所述分布式节点所执行的处理过程。第四方面,提供了一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述第一方面的限流方法中所述分布式节点所执行的处理过程。本专利技术实施例的限流决策由分布式节点自主进行判断,决策路径短,决策快,并且通过统计学原理,可以根据各个分布式节点实时的服务量大小,分配相应大小的决策额度,也就是说,服务量越大,分配的决策额度也就越高,从而使服务量较大地区的分布式节点能够最大程度地接收并响应访问请求,提高了资源的利用率,并且该限流方式更加准确,能够提高分布式系统的服务性能。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面本文档来自技高网...
【技术保护点】
1.一种限流方法,其特征在于,所述方法包括:分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量;所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;所述分布式节点接收所述中心节点发送的决策额度;所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。
【技术特征摘要】
1.一种限流方法,其特征在于,所述方法包括:分布式节点按照固定周期向中心节点发送当前预设时间段内的服务量;所述中心节点基于接收到的服务量确定所述分布式节点的决策额度,并向所述分布式节点发送所述决策额度;所述分布式节点接收所述中心节点发送的决策额度;所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。2.根据权利要求1所述的方法,其特征在于,所述服务量还包括回源量;相应的,所述分布式节点在接收到访问请求之后,基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:所述分布式节点在接收到访问请求之后,判断是否需要向源站发送回源请求;如果需要,则基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。3.根据权利要求1或2所述的方法,其特征在于,所述预设时间段内的服务量包括所述分布式节点在所述预设时间段内所产生的流量、所述预设时间段内的平均带宽、所述预设时间段内所建立的连接数或者所述预设时间段内的访问请求数中的一种或多种。4.根据权利要求1所述的方法,其特征在于,所述分布式节点基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流的步骤,包括:所述分布式节点对比当前的服务增量与最新接收到的决策额度;如果所述分布式节点当前的服务增量小于最新接收到的决策额度,则不限流,否则针对所述访问请求进行限流。5.根据权利要求4所述的方法,其特征在于,所述分布式节点在判断出当前的服务增量大于或等于最新接收到的决策额度之后,还包括:判断当前时刻与上一次向所述中心节点发送服务量的时刻之间的时间间隔;如果所述时间间隔小于预设时长,则针对所述访问请求进行限流;如果所述时间间隔大于或等于预设时长,则向所述中心节点发送当前预设时间段内的服务量,并接收所述中心节点发送的新的决策额度,再基于最新接收到的决策额度判断是否需要针对所述访问请求进行限流。6.根据权利要求4或5所述的方法,其特征在于,所述分布式节点针对所述访问请求进行限流的步骤,包括:所述分布式节点拒绝服务所述访问请求;或者,所述分布式节点限制所述访问请求的响应速率。7.根据权利要求4所述的方...
【专利技术属性】
技术研发人员:叶文柏,
申请(专利权)人:网宿科技股份有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。