一种流量控制方法、节点、分布式系统及存储介质技术方案

技术编号:38941298 阅读:15 留言:0更新日期:2023-09-25 09:40
本说明书实施例提供了一种流量控制方法、节点、分布式系统及存储介质。在对第三方平台向商品提供方系统发起的访问请求进行流量控制的场景,考虑到被动访问请求的数量和主动访问请求的数量受到商品提供方系统单位时间内所能承载的访问请求的最大数量的限制,因而可以基于当前时间窗口之前的一个或多个历史时间窗口内被动访问请求的数量,实时的调整当前时间窗口的主动访问请求的最大准入量,即主动访问请求的数量可以基于过去一段时间内被动访问请求的数量实时调整,从而既能保证优先级较高的被动访问请求被及时处理,也可以最大化的利用商品提供方系统提供的接口资源。的利用商品提供方系统提供的接口资源。的利用商品提供方系统提供的接口资源。

【技术实现步骤摘要】
一种流量控制方法、节点、分布式系统及存储介质


[0001]本说明书实施例涉及计算机
,尤其涉及一种流量控制方法、节点、分布式系统及存储介质。

技术介绍

[0002]目前,很多商品提供方均会在第三方平台展示自身提供的商品,以便用户可以通过第三方平台查看或购买自身提供的商品。通常,商品提供方的业务系统(以下称为商品提供方系统)会提供一个接口给第三方平台,以便第三方平台可以通过该接口访问商品提供方系统。一般而言,第三方平台向商品提供方系统发起的访问请求可以分类两类,一类是用户通过第三方平台向商品提供方系统发起的访问请求,即被动访问请求,另一类是第三方平台主动向商品提供方系统发起的访问请求,即主动访问请求。由于商品提供方系统的处理资源有限,因此,商品提供方系统往往会限制第三方平台发送的访问请求的数量,即被动访问请求和主动访问请求的数量不能超出商品提供方系统所能承载的访问请求数量的上限值。
[0003]为了不影响用户体验,用户发起的被动访问请求通常需要及时响应,而第三方平台直接发起的主动访问请求是用于从商品提供方系统获取商品信息的,因而,也需要尽量最大化利用商品提供方系统所能提供的接口资源,以及时获取到最新的商品信息。但是,目前的流量控制方案既无法保证被动访问请求被及时处理,也无法最大化的利用商品提供方系统提供的接口资源以及时获取最新的商品信息。

技术实现思路

[0004]为克服相关技术中存在的问题,本说明书实施例提供了一种流量控制方法、节点、分布式系统及存储介质。
[0005]根据本说明书实施例的第一方面,提供一种流量控制方法 ,所述方法用于控制第三方平台向商品提供方系统发起的访问请求的数量,其中,所述访问请求包括用户通过所述第三方平台向所述商品提供方系统发起的被动访问请求,以及所述第三方平台直接向所述商品提供方系统发起的主动访问请求,所述方法包括:获取历史时间窗口内的所述被动访问请求的数量,其中,所述历史时间窗口为当前时间窗口之前的一个或多个时间窗口;基于所述商品提供方系统在单位时间内可承接的访问请求数量的上限值,以及各历史时间窗口内的所述被动访问请求的数量,确定所述当前时间窗口内的所述主动访问请求的最大准入量,以控制所述第三方平台在所述当前时间窗口内发起的所述主动访问请求的数量不超过所述最大准入量。
[0006]在一些实施例中,所述获取历史时间窗口内的所述被动访问请求的数量,基于所述商品提供方系统在单位时间内可承接的访问请求数量的上限值,以及各历史时间窗口内的所述被动访问请求的数量,确定所述当前时间窗口内的所述主动访问请求的最大准入量
的操作每隔预设时长执行一次,其中,所述预设时长等于一个时间窗口对应的时长。
[0007]在一些实施例中,所述基于所述商品提供方系统在单位时间内可承接的访问请求数量的上限值,以及各历史时间窗口内的所述被动访问请求的数量,确定所述当前时间窗口内的所述主动访问请求的最大准入量,包括:基于各历史时间窗口内的所述被动访问请求的数量确定当前时间窗口内的所述被动访问请求的预测量;基于所述上限值和所述当前时间窗口对应的时长,确定所述当前时间窗口内所述商品提供方系统可承接的访问请求数量的目标上限值;基于所述预测量和所述目标上限值确定所述最大准入量;或获取各历史时间窗口内的所述主动访问请求的数量,并基于各历史时间窗口内的所述主动访问请求的数量和所述被动访问请求的数量确定各历史时间窗口内的访问请求总量,基于所述上限值和所述当前时间窗口对应的时长,确定所述当前时间窗口内所述商品提供方系统可承接的访问请求数量的目标上限值;确定各历史时间窗口内的访问请求总量与所述目标上限值的目标偏差,基于所述目标偏差确定所述最大准入量。
[0008]在一些实施例中,所述历史时间窗口为当前时间窗口之前的多个时间窗口;所述基于各历史时间窗口内的所述被动访问请求的数量确定当前时间窗口内的所述被动访问请求的预测量,包括:基于各历史时间窗口内的所述被动访问请求的数量确定所述被动访问请求的变化趋势;根据所述变化趋势确定当前时间窗口内的所述被动访问请求的预测量;和/或所述确定各历史时间窗口内的访问请求总量和所述目标上限值的目标偏差 ,包括:基于所述目标上限值和预设比例得到缓冲值,其中,所述预设比例小于1;确定各个历史时间窗口的访问请求总量与所述缓冲值的偏差,作为所述目标偏差。
[0009]在一些实施例中,所述历史时间窗口为当前时间窗口之前的多个时间窗口,基于所述目标偏差确定所述最大准入量,包括:基于所述目标偏差和PID算法确定所述主动访问请求的调整量;利用所述调整量对所述当前时间窗口的上一个时间窗口内的所述主动访问请求数量进行调整,得到所述最大准入量。
[0010]在一些实施例中,所述第三方平台为分布式系统,所述分布式系统包括多个节点, 每个节点可用于向所述商品提供方系统发送访问请求,所述方法由从所述多个节点中选取的任一目标节点执行,每个历史时间窗口内的所述被动访问请求的数量通过目标存储系统统计并存储,所述获取历史时间窗口内的所述被动访问请求的数量,包括:从所述目标存储系统中获取历史时间窗口内的所述被动访问请求的数量,其中,所述目标存储系统具有计数功能。
[0011]在一些实施例中,每个历史时间窗口内的所述被动访问请求的数量基于以下方式确定:每个节点在获取到用户发起的所述被动访问请求后,基于所述被动访问请求的发起时间确定所述被动访问请求对应的时间窗口的标识,并向所述目标存储系统发送携带该时间窗口的标识的命令,以使所述目标存储系统基于所述标识更新该时间窗口的所述被动访问请求的数量。
[0012]在一些实施例中,所述历史时间窗口内的所述被动访问请求的数量通过环形数组
存储,所述环形数组包括多个桶,每个桶用于存储一个时间窗口内的待统计数据,每种类型的待统计数据通过所述目标存储系统中一个计数器计数得到,其中,所述待统计数据至少包括所述被动访问请求的数量。
[0013]在一些实施例中,所述待统计数据还包括以下一种或多种:每个历史时间窗口内成功响应的所述被动访问请求的数量、每个历史时间窗口内异常的所述被动访问请求的数量、以及所述被动访问请求的平均响应时长,其中,所述最大准入量基于所述待统计数据以及所述上限值确定。
[0014]在一些实施例中,所述第三方平台为分布式系统,所述分布式系统包括多个节点,每个节点可用于向所述商品提供方系统发送访问请求,所述方法由从所述多个节点中选取的任一目标节点执行,在确定所述当前时间窗口内的所述主动访问请求的最大准入量之后,所述方法还包括:将所述最大准入量存储到目标存储系统中,并为所述最大准入量设置有效时长,其中,所述有效时长为一个时间窗口的时长,其中,所述目标存储系统具有计数功能。
[0015]在一些实施例中,在确定所述当前时间窗口内的所述主动访问请求的最大准入量之后,所述方法还包括:基于当前所述分布式系统 的节点数量和所述最大准入量确定每个节点在当前时间窗口内的所述主动访问请求的目标准入量,以控制每个节点向所述商品提供方系统发本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流量控制方法,其特征在于,所述方法用于控制第三方平台向商品提供方系统发起的访问请求的数量,其中,所述访问请求包括用户通过所述第三方平台向所述商品提供方系统发起的被动访问请求,以及所述第三方平台直接向所述商品提供方系统发起的主动访问请求,所述方法包括:获取历史时间窗口内的所述被动访问请求的数量,其中,所述历史时间窗口为当前时间窗口之前的一个或多个时间窗口;基于所述商品提供方系统在单位时间内可承接的访问请求数量的上限值,以及各历史时间窗口内的所述被动访问请求的数量,确定所述当前时间窗口内的所述主动访问请求的最大准入量,以控制所述第三方平台在所述当前时间窗口内发起的所述主动访问请求的数量不超过所述最大准入量;其中,所述第三方平台为分布式系统,所述分布式系统包括多个节点,每个节点可用于向所述商品提供方系统发送访问请求,所述方法由从所述多个节点中选取的任一目标节点执行,每个历史时间窗口内的所述被动访问请求的数量通过目标存储系统统计并存储,所述获取历史时间窗口内的所述被动访问请求的数量,包括:从所述目标存储系统中获取历史时间窗口内的所述被动访问请求的数量,其中,所述目标存储系统具有计数功能。2.根据权利要求1所述的方法,其特征在于,所述获取历史时间窗口内的所述被动访问请求的数量,基于所述商品提供方系统在单位时间内可承接的访问请求数量的上限值,以及各历史时间窗口内的所述被动访问请求的数量,确定所述当前时间窗口内的所述主动访问请求的最大准入量的操作每隔预设时长执行一次,其中,所述预设时长等于一个时间窗口对应的时长。3.根据权利要求1所述的方法,其特征在于,所述基于所述商品提供方系统在单位时间内可承接的访问请求数量的上限值,以及各历史时间窗口内的所述被动访问请求的数量,确定所述当前时间窗口内的所述主动访问请求的最大准入量,包括:基于各历史时间窗口内的所述被动访问请求的数量确定当前时间窗口内的所述被动访问请求的预测量;基于所述上限值和所述当前时间窗口对应的时长,确定所述当前时间窗口内所述商品提供方系统可承接的访问请求数量的目标上限值;基于所述预测量和所述目标上限值确定所述最大准入量;或获取各历史时间窗口内的所述主动访问请求的数量,并基于各历史时间窗口内的所述主动访问请求的数量和所述被动访问请求的数量确定各历史时间窗口内的访问请求总量;基于所述上限值和所述当前时间窗口对应的时长,确定所述当前时间窗口内所述商品提供方系统可承接的访问请求数量的目标上限值;确定各历史时间窗口内的访问请求总量与所述目标上限值的目标偏差,基于所述目标偏差确定所述最大准入量。4.根据权利要求3所述的方法,其特征在于,所述历史时间窗口为当前时间窗口之前的多个时间窗口;所述基于各历史时间窗口内的所述被动访问请求的数量确定当前时间窗口内的所述被动访问请求的预测量,包括:基于各历史时间窗口内的所述被动访问请求的数量确定所述被动访问请求的变化趋势;根据所述变化趋势确定当前时间窗口内的所述被动访问请求的预测量;和/或所述确定各历史时间窗口内的访问请求总量和所述目标上限值的目标偏差,包括:基
于所述目标上限值和预设比例得到缓冲值,其中,所述预设比例小于1;确定各个历史时间窗口的访问请求总量与所述缓冲值的偏差,作为所述目标偏差。5.根据权利要求3或4所述的方法,其特征在于,所述历史时间窗口为当前时间窗口之前的多个时间窗口,基于所述目标偏差确定所述最大准入量,包括:...

【专利技术属性】
技术研发人员:张砚池
申请(专利权)人:浙江飞猪网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1