System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 限流方法及装置、电子设备、计算机可读存储介质制造方法及图纸_技高网

限流方法及装置、电子设备、计算机可读存储介质制造方法及图纸

技术编号:40317664 阅读:9 留言:0更新日期:2024-02-07 21:00
本申请提供了一种限流方法及装置、电子设备、计算机可读存储介质,该方法包括:获取待处理的数据请求;数据请求用于请求从第二应用服务器获取目标数据;响应于数据请求,执行令牌获取操作,在令牌获取操作的操作结果表示成功获取到令牌的情况下,将数据请求发送至第二应用服务器;令牌获取操作用于从令牌桶中获取令牌,令牌桶中的令牌数量用于限制第一应用服务器在预设单位时间内发送的数据请求的数量;确定与数据请求对应的响应状态,在根据响应状态确定数据请求为免限流类请求的情况下,执行令牌归还操作;令牌归还操作用于将令牌归还至令牌桶,免限流类请求为无需消耗令牌桶中的令牌的数据请求。根据本申请的实施例能够提升限流处理的灵活性。

【技术实现步骤摘要】

本申请涉及数据处理,特别涉及一种限流方法及装置、电子设备、计算机可读存储介质


技术介绍

1、在分布式系统领域,通常会进行流量控制处理,以用来保障整个系统的稳定性;流量控制(flow control),即,限流处理,通常是指根据流量、并发线程数、响应时间等指标,将接收到或待发送出的请求调整成合适的形状,即流量塑形,以避免应用被瞬时的流量高峰冲垮,从而保障应用以及整个系统的稳定性和高可用性。

2、目前,一般是使用令牌桶(token bucket)算法来进行限流处理,其原理是系统以一个恒定的速度往桶里放入令牌,当获取到请求的时候,需要先从桶里获取一个令牌,如果桶里没有令牌则阻塞或者拒绝新的请求。然而,相关技术中在基于令牌桶算法进行限流处理时,往往存在不够灵活的问题。


技术实现思路

1、本申请提供一种限流方法及装置、电子设备、计算机可读存储介质,可以提升限流处理的灵活性和精准性。

2、第一方面,本申请提供了一种限流方法,应用于第一应用服务器,该限流方法包括:

3、获取待处理的数据请求;其中,所述数据请求用于请求从第二应用服务器获取目标数据;

4、响应于所述数据请求,执行令牌获取操作,在所述令牌获取操作的操作结果表示成功获取到令牌的情况下,将所述数据请求发送至所述第二应用服务器;其中,所述令牌获取操作用于从令牌桶中获取令牌,所述令牌桶中的令牌数量用于限制所述第一应用服务器在预设单位时间内发送的数据请求的数量;

5、确定与所述数据请求对应的响应状态,在根据所述响应状态确定所述数据请求为免限流类请求的情况下,执行令牌归还操作;其中,所述令牌归还操作用于将所述令牌归还至所述令牌桶,所述免限流类请求为无需消耗所述令牌桶中的令牌的数据请求。

6、第二方面,本申请提供了一种限流装置,应用于第一应用服务器,该限流装置包括:

7、获取单元,用于获取待处理的数据请求;其中,所述数据请求用于请求从第二应用服务器获取目标数据;

8、发送单元,用于响应于所述数据请求,执行令牌获取操作,在所述令牌获取操作的操作结果表示成功获取到令牌的情况下,将所述数据请求发送至所述第二应用服务器;其中,所述令牌获取操作用于从令牌桶中获取令牌,所述令牌桶中的令牌数量用于限制所述第一应用服务器在预设单位时间内发送的数据请求的数量;

9、确定单元,用于确定与所述数据请求对应的响应状态,在根据所述响应状态确定所述数据请求为免限流类请求的情况下,执行令牌归还操作;其中,所述令牌归还操作用于将所述令牌归还至所述令牌桶,所述免限流类请求为无需消耗所述令牌桶中的令牌的数据请求。

10、第三方面,本申请提供了一种电子设备,该电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的一个或多个计算机程序,一个或多个所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面的限流方法。

11、第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序在被处理器执行时实现上述第一方面的限流方法。

12、根据本申请的实施例,第一应用服务器在获取到待向第二应用服务器发送的数据请求时,由于此时并不确定该数据请求的请求类型,因此,为了避免对下游应用,即第二应用服务器中的应用造成流量冲击,其采取先从令牌桶中获取令牌,并在成功获取到令牌的情况下才将该数据请求发送至下游应用,即发送至第二应用服务器;之后,通过获取该数据请求对应的响应状态,并根据该响应状态,确定该数据请求是否为免限流类请求,如果是则将该数据请求消耗的令牌归还至令牌桶,从而避免所有类型的数据请求均消耗令牌桶中令牌而导致在获取到限流类请求需要处理,然而令牌桶中令牌已被免限流类请求消耗完而导致无法正常处理该限流类请求的问题出现,以提升限流处理的灵活性。

13、应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

本文档来自技高网...

【技术保护点】

1.一种限流处理方法,其特征在于,应用于第一应用服务器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述确定与所述数据请求对应的响应状态,包括:

3.根据权利要求1所述的方法,其特征在于,所述确定与所述数据请求对应的响应状态,包括:

4.根据权利要求3所述的方法,其特征在于,所述目标数据的数据来源包括:目标缓存设备和第三应用服务器;所述根据所述目标标识确定所述响应状态,包括:

5.根据权利要求4所述的方法,其特征在于,所述目标缓存设备中的所述目标数据是由所述第二应用服务器预先从所述第三应用服务器中获取到并存储至所述目标缓存设备的,所述目标数据存储在所述目标缓存设备后设置有所述目标标识;

6.根据权利要求1至5任一项所述的方法,其特征在于,在所述响应状态为第一预设状态、第二预设状态以及第三预设状态中的任一状态的情况下,确定所述数据请求为免限流类请求;在所述响应状态为第四预设状态的情况下,确定所述数据请求为限流类请求。

7.根据权利要求3所述的方法,其特征在于,所述响应类型是由所述第二应用服务器在接收到所述数据请求,并对所述数据请求中的请求入参进行参数校验处理后设置的;

8.一种限流装置,其特征在于,应用于第一应用服务器,所述装置包括:

9.一种电子设备,其特征在于,包括:

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被处理器执行时实现如权利要求1-7中任一项所述的限流方法。

...

【技术特征摘要】

1.一种限流处理方法,其特征在于,应用于第一应用服务器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述确定与所述数据请求对应的响应状态,包括:

3.根据权利要求1所述的方法,其特征在于,所述确定与所述数据请求对应的响应状态,包括:

4.根据权利要求3所述的方法,其特征在于,所述目标数据的数据来源包括:目标缓存设备和第三应用服务器;所述根据所述目标标识确定所述响应状态,包括:

5.根据权利要求4所述的方法,其特征在于,所述目标缓存设备中的所述目标数据是由所述第二应用服务器预先从所述第三应用服务器中获取到并存储至所述目标缓存设备的,所述目标数据存储在所述目标缓存设备后设置有所述目标标识;

6.根...

【专利技术属性】
技术研发人员:万剑鹿凌华王思远
申请(专利权)人:马上消费金融股份有限公司
类型:发明
国别省市:

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

1