System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,特别是涉及一种分布式并发请求控制方法、装置、设备和介质。
技术介绍
1、现有的常用的限流一般有令牌桶、漏桶、滑动窗口等限流方式,这些限流方式是在某个单位时间里,系统接受的请求数量,时间越长,进入系统的请求量越多。当在请求响应慢的场景中,即系统处理时间长,随着时间的推移,系统中同时处理的请求量越来越多,最后可能导致系统崩溃。这些限流方式类似公园入口限制每秒进去的人数,但假设游客游玩时间很长,则会导致公园满负荷。因此,现有的限流方式在某些情况下容易出现满负荷奔溃的情况。
技术实现思路
1、基于此,为了解决以上问题本文提出了一种分布式并发请求控制方法、装置、设备和介质。通过删除并发队列中超时的并发请求解决了应用在获取并发后宕机导致的并发未被释放所带来的问题,并通过续期任务使当前并发不会因为超时被删除。
2、根据本专利技术的第一方面,提供了一种分布式并发请求控制方法,其特征在于,包括以下步骤:
3、申请步骤,提交新并发请求;
4、获取步骤,进行并发队列的获取;
5、删除步骤,删除并发队列中超时的并发请求;
6、计算步骤,计算并发队列中的请求量;
7、处理步骤,根据所述请求量判断是否接受所述新并发请求。
8、在一些实施例中,还包括,续期步骤,通过应用中的续期任务更新当前并发的请求时间使被应用获取的当前并发不会因为超时被删除。
9、在一些实施例中,所述删除并发队列中超时的并发请
10、在一些实施例中,根据所述请求量判断是否接受所述新并发请求,包括:将所述请求量与设定阈值进行比较,如果所述请求量小于设定阈值则接受该新并发请求,否则不接受。
11、在一些实施例中,所述并发队列中保存并发请求的请求时间和唯一id,通过唯一id实现并发队列中并发请求的插入、删除、查询。
12、在一些实施例中,所述处理步骤,包括:对新并发请求进行分类,将新并发请求按照优先级高低分为优先级高、优先级中、优先级低三类;将并发队列分为并发对列a以及并发队列b;
13、新并发请求为优先级高时,先判断并发队列a中并发请求数量是否已经到达并发队列a的设定上限,如果没有到达则将新并发请求进入并发队列a;否则,判断并发队列b中并发请求数量是否已经到达并发队列b的设定上限,如果没有到达则将新并发请求进入并发队列b;否则,将新并发请求进入延后处理队列,待并发队列a或并发队列b中并发请求数量小于设定上限时,进入并发队列a或并发队列b;
14、新并发请求为优先级中时,判断并发队列a中并发请求数量是否已经到达并发队列a的设定上限,如果没有到达则将新并发请求进入并发队列a;否则,拒绝该新并发请求;
15、新并发请求为优先级低时,判断并发队列a中并发请求数量是否已经到达并发队列a的设定值,如果没有到达则将新并发请求进入并发队列a;否则,拒绝该新并发请求;
16、所述并发队列a的设定值小于并发队列a的设定上限。
17、根据本专利技术的第二方面,提供了一种分布式并发请求控制装置,包括:
18、申请模块,用于提交新并发请求;
19、获取模块,用于进行并发队列的获取;
20、删除模块,用于删除并发队列中超时的并发请求;
21、计算模块,用于计算并发队列中的请求量;
22、处理模块,用于根据所述请求量判断是否接受所述新并发请求。
23、在一些实施例中,还包括,续期模块,用于通过应用中的续期任务更新当前并发的请求时间使被应用获取的当前并发不会因为超时被删除。
24、根据本专利技术的第三方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时实现上述任一实施例方法的步骤。
25、根据本专利技术的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一实施例方法的步骤。
26、通过实施本专利技术的上述方案,可以得到以下有益效果:
27、1.当应用在获取并发后异常宕机,没有在宕机前释放并发情况下,能够自动清理宕机而导致并发不能释放的问题。且应用获取到并发后,定期更新请求时间,确保不会因为超时而被其他线程清理掉。
28、2.通过并发队列中保存并发的请求时间和全局唯一id,保证应用服务在宕机场景中,仍然可以根据超时时间参数和队列里的请求时间数据,删除掉宕机的并发数据。全局唯一id能够提供快速插入、删除、查询的能力,可以满足并发控制系统的高性能。
29、3.对并发请求进行分级处理,确保在高负载的情况下优先处理重要的任务,保证系统的稳定性。
本文档来自技高网...【技术保护点】
1.一种分布式并发请求控制方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
3.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
4.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
5.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
6.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
7.一种分布式并发请求控制装置,其特征在于,包括:
8.根据权利要求7所述的分布式并发请求控制装置,其特征在于,
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
【技术特征摘要】
1.一种分布式并发请求控制方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
3.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
4.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
5.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
6.根据权利要求1所述的分布式并发请求控制方法,其特征在于,
7.一种...
【专利技术属性】
技术研发人员:钱威,
申请(专利权)人:上海数禾信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。