流量控制方法、装置、设备及介质制造方法及图纸

技术编号:26770813 阅读:29 留言:0更新日期:2020-12-18 23:49
本发明专利技术公开了一种流量控制方法、装置、设备及介质。其中,一种流量控制方法包括:接收第一应用节点发送的第一查询请求;响应于第一查询请求,获取与第一应用节点相关联的第二应用节点的历史流量数据;其中,第二应用节点为与第一应用节点所属的节点组相同的应用节点;根据历史流量数据,从第二应用节点中选取第一可拆借节点;向第一应用节点发送第一可拆借节点对应的第一节点标识;其中,第一节点标识用于第一应用节点向第一可拆借节点发送第一拆借请求,第一拆借请求用于使第一可拆借节点向第一应用节点反馈第一可拆借令牌额度。根据本发明专利技术实施例,能够对分布式系统进行整体性的流量控制。

【技术实现步骤摘要】
流量控制方法、装置、设备及介质
本专利技术属于互联网
,尤其涉及一种流量控制方法、装置、设备及介质。
技术介绍
随着移动互联网业务的发展,分布式系统的流量控制成为一个事关系统可用性的关键课题。目前,为防止瞬时高并发场景超过分布式系统的承载能力,一般通过令牌桶算法进行流量峰值削峰,以保障分布式系统的稳定运营。但是,如果分布式系统的集群规模较大,令牌桶的管理和发放会成为性能瓶颈,在对大规模分布式集群进行流量控制时,无法对分布式系统进行整体性的流量控制。
技术实现思路
本专利技术实施例提供一种流量控制方法、装置、设备及介质,能够对分布式系统进行整体性的流量控制。第一方面,本专利技术实施例提供了一种流量控制方法,应用于目标应用节点,包括:接收第一应用节点发送的第一查询请求;响应于第一查询请求,获取与第一应用节点相关联的第二应用节点的历史流量数据;其中,第二应用节点为与第一应用节点所属的节点组相同的应用节点;根据历史流量数据,从第二应用节点中选取第一可拆借节点;向第一应用节点发送第一可拆借节点对应的第一节点标识;其中,第一节点标识用于第一应用节点向第一可拆借节点发送第一拆借请求,第一拆借请求用于使第一可拆借节点向第一应用节点反馈第一可拆借令牌额度。第二方面,本专利技术实施例提供了一种流量控制方法,应用于应用节点,包括:向目标应用节点发送第一查询请求;其中,第一查询请求用于使目标应用节点反馈第二应用节点中的第一可拆借节点对应的第一节点标识,第二应用节点为与目标应用节点所属的节点组相同的应用节点;接收目标应用节点反馈的第一节点标识;根据第一节点标识,向第一可拆借节点发送第一拆借请求;其中,第一拆借请求用于使第一可拆借节点反馈第一可拆借令牌额度;接收第一可拆借节点反馈的第一可拆借令牌额度。第三方面,本专利技术实施例提供了一种流量控制装置,应用于目标应用节点,包括:第一接收模块,用于接收第一应用节点发送的第一查询请求;第一获取模块,用于响应于第一查询请求,获取与第一应用节点相关联的第二应用节点的历史流量数据;其中,第二应用节点为与第一应用节点所属的节点组相同的应用节点;第一选取模块,用于根据历史流量数据,从第二应用节点中选取第一可拆借节点;第一发送模块,用于向第一应用节点发送第一可拆借节点对应的第一节点标识;其中,第一节点标识用于第一应用节点向第一可拆借节点发送第一拆借请求,第一拆借请求用于使第一可拆借节点向第一应用节点反馈第一可拆借令牌额度。第四方面,本专利技术实施例提供了一种流量控制装置,应用于应用节点,包括:第二发送模块,用于向目标应用节点发送第一查询请求;其中,第一查询请求用于使目标应用节点反馈第二应用节点中的第一可拆借节点对应的第一节点标识,第二应用节点为与目标应用节点所属的节点组相同的应用节点;第二接收模块,用于接收目标应用节点反馈的第一节点标识;第三发送模块,用于根据第一节点标识,向第一可拆借节点发送第一拆借请求;其中,第一拆借请求用于使第一可拆借节点反馈第一可拆借令牌额度;第三接收模块,用于接收第一可拆借节点反馈的第一可拆借令牌额度。第五方面,本专利技术实施例提供了一种流量控制设备,该设备包括:处理器以及存储有计算机程序指令的存储器;处理器执行计算机程序指令时实现如第一方面或第二方面所述的流量控制方法。第六方面,本专利技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如第一方面或第二方面所述的流量控制方法。本专利技术实施例的流量控制方法、装置、设备及介质,能够在接收到第一应用节点发送的第一查询请求之后,响应于第一查询请求,获取与第一应用节点所属的节点组相同的第二应用节点的历史流量数据,并且根据历史流量数据,从第二应用节点中选取第一可拆借节点,进而向第一应用节点发送第一可拆借节点对应的第一节点标识,以使第一应用节点根据第一节点标识向第一可拆借节点发送第一拆借请求,并使第一可拆借节点向第一应用节点反馈第一可拆借令牌额度,由此,可以实现同一个节点组内的多个应用节点之间的令牌额度的相互拆借,以对分布式系统进行整体性的流量控制。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例中所需要使用的附图作简单的介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是相关技术中的一种主流集群的流量控制的结构示意图;图2是本专利技术一个实施例提供的一种流量控制的架构示意图;图3是本专利技术一个实施例提供的一种流量控制的应用场景示意图;图4是本专利技术一个实施例提供的流量控制方法的流程图;图5是本专利技术一个实施例提供的一种流量控制的场景图;图6是本专利技术另一个实施例提供的流量控制方法的流程示意图;图7是本专利技术一个实施例提供的流量控制装置的结构示意图;图8是本专利技术另一个实施例提供的流量控制装置的结构示意图;图9是本专利技术实施例提供的流量控制设备的硬件结构示意图。具体实施方式下面将详细描述本专利技术的各个方面的特征和示例性实施例,为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及具体实施例,对本专利技术进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本专利技术,并不被配置为限定本专利技术。对于本领域技术人员来说,本专利技术可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本专利技术的示例来提供对本专利技术更好的理解。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。目前,在分布式系统的流量控制的通用方案层面,一般是通过漏桶算法进行流量整形,通过令牌桶算法进行流量峰值削峰,通过冷启动(warmup)方式确保应用程序启动时的流量预热等等。这里,在主流应用程序的流量控制组件为开源限流组件Sentinal时,Sentinal组件的单机模式就可以应用上述涉及的漏洞算法和令牌桶算法,以及与算法对应的方案,这样,在一定程度上改善了单机应用程序的流控问题。其中,与Sentinal组件对应的流量控制方案,主要使用了令牌桶算法,即通过划定一个特定的令牌服务器如TokenServer,管辖若干令牌客户端如TokenClient,以及对令牌桶进行管理和发放,从而本文档来自技高网...

【技术保护点】
1.一种流量控制方法,应用于目标应用节点,包括:/n接收第一应用节点发送的第一查询请求;/n响应于所述第一查询请求,获取与所述第一应用节点相关联的第二应用节点的历史流量数据;其中,所述第二应用节点为与所述第一应用节点所属的节点组相同的应用节点;/n根据所述历史流量数据,从所述第二应用节点中选取第一可拆借节点;/n向所述第一应用节点发送所述第一可拆借节点对应的第一节点标识;其中,所述第一节点标识用于所述第一应用节点向所述第一可拆借节点发送第一拆借请求,所述第一拆借请求用于使所述第一可拆借节点向所述第一应用节点反馈第一可拆借令牌额度。/n

【技术特征摘要】
1.一种流量控制方法,应用于目标应用节点,包括:
接收第一应用节点发送的第一查询请求;
响应于所述第一查询请求,获取与所述第一应用节点相关联的第二应用节点的历史流量数据;其中,所述第二应用节点为与所述第一应用节点所属的节点组相同的应用节点;
根据所述历史流量数据,从所述第二应用节点中选取第一可拆借节点;
向所述第一应用节点发送所述第一可拆借节点对应的第一节点标识;其中,所述第一节点标识用于所述第一应用节点向所述第一可拆借节点发送第一拆借请求,所述第一拆借请求用于使所述第一可拆借节点向所述第一应用节点反馈第一可拆借令牌额度。


2.根据权利要求1所述的方法,其中,所述接收第一应用节点发送的第一查询请求,包括:
在所述第一应用节点剩余的令牌额度小于或者等于额定阈值的情况下,接收第一应用节点发送的第一查询请求,
所述令牌额度由所述第一应用节点在控制窗口期内获取。


3.根据权利要求1或2所述的方法,其中,所述历史流量数据包括在预设历史时间段内的第一流量值、在上一观测窗口期内的第二流量值和在上一控制窗口期内的第三流量值;
其中,所述根据所述历史流量数据,从所述第二应用节点中选取第一可拆借节点,包括:
对所述第一流量值、所述第二流量值和所述第三流量值进行加权求和计算,得到所述第二应用节点的流量经验值;
根据所述流量经验值,从所述第二应用节点中选取所述第一可拆借节点。


4.根据权利要求3所述的方法,其中,所述第一流量值对应的第一权重小于所述第二流量值对应的第二权重,所述第二权重小于所述第三流量值对应的第三权重。


5.根据权利要求3所述的方法,其中,所述根据所述流量经验值,从所述第二应用节点中选取所述第一可拆借节点,包括:
根据每个所述第二应用节点对应的流量经验值,确定每个所述第二应用节点对应的优先级;
按照所述优先级由大到小的顺序,排列所述第二应用节点,得到应用节点序列;
在所述应用节点序列中选取预设数量的所述第一可拆借节点。


6.根据权利要求5所述的方法,其中,所述预设数量小于或等于所述第二应用节点的节点数量与预设百分比的乘积。


7.根据权利要求5所述的方法,其中,所述在所述应用节点序列中选取预设数量的所述第一可拆借节点之前,所述方法还包括:
确定所述第一查询请求在当前控制窗口期内的请求编号;
按照所述应用节点序列的序列顺序,将所述第二应用节点分为多组应用节点组;其中,每个所述应用节点组包括所述预设数量的应用节点;
其中,所述在所述应用节点序列中选取预设数量的所述第一可拆借节点,包括:
在所述请求编号小于或等于所述应用节点组的组数的情况下,将序号与所述请求编号相同的应用节点组中的应用节点作为所述第一可拆借节点。


8.根据权利要求7所述的方法,其中,所述按照所述应用节点序列的序列顺序,将所述第二应用节点分为多组应用节点组之后,所述方法还包括:
在所述请求编号大于所述组数的情况下,向第三应用节点发送第二查询请求;其中,所述第二查询请求用于使所述第三应用节点反馈第四应用节点中的第二可拆借节点对应的第二节点标识,所述第三应用节点为与所述第一应用节点所属的节点组不同的应用节点,所述第四应用节点为与所述第三应用节点所属的节点组相同的应用节点;
接收所述第二节点标识;
根据所述第二节点标识,向所述第二可拆借节点发送第二拆借请求;其中,所述第二拆借请求用于使所述第二可拆借节点反馈第二可拆借令牌额度;
接收所述第二可拆借节点反馈的所述第二可拆借令牌额度。


9.根据权利要求8所述的方法,其中,所述接收所述第二可拆借节点反馈的所述第二可拆借令牌额度之后,所述方法还包括:
向所述第一应用节点发送所述第二可拆借令牌额度。


10.根据权利要求8述的方法,其中,所述第二可拆借节点的数量为多个;
其...

【专利技术属性】
技术研发人员:田丰冀乃庚
申请(专利权)人:中国银联股份有限公司
类型:发明
国别省市:上海;31

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

1