System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种流量限制方法、装置、设备及存储介质。
技术介绍
1、随着互联网的高速发展,用户的规模和需求也在急剧增长,在一些场景下,需要限制流量以保证服务器能够正常运行,例如,当某一时刻用户访问量过高时,可能会导致服务器崩溃。
2、在相关技术中,通常采用令牌桶算法对访问设备进行限流处理。令牌桶算法可以在预设的令牌桶(一种逻辑上的容器,用于存储令牌)中生成令牌,只有当令牌桶中有令牌时,系统才会发放令牌给访问设备;服务器在确认访问设备持有令牌后,才会允许访问设备的访问请求,否则将拒绝该请求,从而达到流量限制的效果。
3、然而,在上述方法中,当令牌桶中不存在令牌时,可能会导致已经处于服务状态的用户被拒绝访问,导致流量限制的灵活性较差。
技术实现思路
1、本申请提供一种流量限制方法、装置、设备及存储介质,用以解决用户类型确定准确性较差的问题。
2、第一方面,本申请提供一种流量限制方法,应用于第一服务器,所述方法包括:
3、接收第一设备发送的第一访问请求,所述第一访问请求用于请求访问目标系统;
4、根据所述访问请求,确定所述目标系统的当前访问量;
5、若所述当前访问量大于或等于第一阈值,则根据所述第一访问请求,确定所述第一设备的设备类型,所述设备类型为第一类型或者第二类型,所述第一类型用于指示所述第一设备在当前时刻之前的预设时长内访问过所述目标系统,所述第二类型用于指示所述第一设备在当前时刻之前的预设时长
6、根据所述第一设备的设备类型,对所述第一访问请求进行处理。
7、在一种可能的设计中,根据所述第一访问请求,确定所述第一设备的设备类型,包括:
8、判断所述第一访问请求中是否包括第一访问令牌;
9、若是,则根据所述第一访问令牌和所述第一服务器对应的令牌列表,确定所述第一设备的设备类型;
10、若否,则确定所述第一设备的设备类型为所述第二类型。
11、在一种可能的设计中,根据所述第一访问令牌和所述第一服务器对应的令牌列表,确定所述第一设备的设备类型,包括:
12、判断所述令牌列表中是否包括所述第一访问令牌;
13、若是,则获取所述第一访问令牌的令牌失效时刻,并根据所述令牌失效时刻和当前时刻,确定所述第一设备的设备类型;
14、若否,则在所述第一访问请求中获取历史访问信息,并根据所述历史访问信息,确定所述第一设备的设备类型。
15、在一种可能的设计中,根据所述令牌失效时刻和当前时刻,确定所述第一设备的设备类型,包括:
16、若所述令牌失效时刻位于所述当前时刻之后,则确定所述第一设备的设备类型为所述第一类型;
17、若所述令牌失效时刻位于所述当前时刻之前,则确定所述第一设备的设备类型为所述第二类型。
18、在一种可能的设计中,根据所述历史访问信息,确定所述第一设备的设备类型,包括:
19、根据所述历史访问信息,确定所述第一设备上一次对所述目标系统的访问时刻;
20、若所述访问时刻与当前时刻之间的时间差大于或等于预设时长,则确定所述第一设备的设备类型为所述第二类型;
21、若所述访问时刻与所述当前时刻之间的时间差小于所述预设时长,则在所述历史访问信息中确定所述第一设备上一次访问所述目标系统时所访问的第二服务器,并向所述第二服务器发送切换请求,所述切换请求用于请求所述第二服务器对所述第一访问请求进行处理。
22、在一种可能的设计中,根据所述第一设备的设备类型,对所述第一访问请求进行处理,包括:
23、获取所述目标系统对应的剩余访问量;
24、若所述剩余访问量大于0,则对所述第一访问请求进行业务处理,以使所述第一设备访问所述目标系统;
25、若所述剩余访问量等于0,则根据所述第一设备的设备类型,对所述第一访问请求进行缓存处理,以限制所述第一设备访问所述目标系统。
26、在一种可能的设计中,根据所述第一设备的设备类型,对所述第一访问请求进行缓存处理,包括:
27、若所述第一设备的设备类型为所述第一类型,则将第一访问请求添加至第一队列,所述第一队列中用于存储所述第一类型的设备发送的、且限制访问所述目标系统的访问请求;
28、若所述第一设备的设备类型为所述第二类型,则将第一访问请求添加至第二队列,所述第二队列中用于存储所述第二类型的设备发送的、且限制访问所述目标系统的访问请求。
29、在一种可能的设计中,所述方法还包括:
30、在所述剩余访问量从0切换为n时,确定所述第一队列中存在的访问请求的第一数量m,所述n为正整数,所述m为整数;
31、若所述m大于或等于所述n,则控制所述前n个访问请求对应的终端设备访问所述目标系统;
32、若所述m小于所述n,则控制所述第一队列中的m个访问请求对应的终端设备访问所述目标系统,以及控制所述第二队列中前n-m个访问请求对应的终端设备访问所述目标系统。
33、第二方面,本申请提供一种流量限制装置,包括:接收模块、第一确定模块、第二确定模块和处理模块,其中,
34、所述接收模块用于,接收第一设备发送的第一访问请求,所述第一访问请求用于请求访问目标系统;
35、所述第一确定模块用于,根据所述访问请求,确定所述目标系统的当前访问量;
36、所述第二确定模块用于,若所述当前访问量大于或等于第一阈值,则根据所述第一访问请求,确定所述第一设备的设备类型,所述设备类型为第一类型或者第二类型,所述第一类型用于指示所述第一设备在当前时刻之前的预设时长内访问过所述目标系统,所述第二类型用于指示所述第一设备在当前时刻之前的预设时长内未访问过所述目标系统;
37、所述处理模块用于,根据所述第一设备的设备类型,对所述第一访问请求进行处理。
38、在一种可能的设计中,第二确定模块具体用于:
39、判断所述第一访问请求中是否包括第一访问令牌;
40、若是,则根据所述第一访问令牌和所述第一服务器对应的令牌列表,确定所述第一设备的设备类型;
41、若否,则确定所述第一设备的设备类型为所述第二类型。
42、在一种可能的设计中,第二确定模块具体用于:
43、判断所述令牌列表中是否包括所述第一访问令牌;
44、若是,则获取所述第一访问令牌的令牌失效时刻,并根据所述令牌失效时刻和当前时刻,确定所述第一设备的设备类型;
45、若否,则在所述第一访问请求中获取历史访问信息,并根据所述历史访问信息,确定所述第一设备的设备类型。
46、在一种可能的设计中,第二确定模块具体用于:
47、若所述令牌失效时刻位于所述当前时刻之后,则确定所述第一设备的设本文档来自技高网...
【技术保护点】
1.一种流量限制方法,其特征在于,应用于第一服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述第一访问请求,确定所述第一设备的设备类型,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第一访问令牌和所述第一服务器对应的令牌列表,确定所述第一设备的设备类型,包括:
4.根据权利要求3所述的方法,其特征在于,根据所述令牌失效时刻和当前时刻,确定所述第一设备的设备类型,包括:
5.根据权利要求3所述的方法,其特征在于,根据所述历史访问信息,确定所述第一设备的设备类型,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,根据所述第一设备的设备类型,对所述第一访问请求进行处理,包括:
7.根据权利要求6所述的方法,其特征在于,根据所述第一设备的设备类型,对所述第一访问请求进行缓存处理,包括:
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
9.一种流量限制装置,其特征在于,包括:接收模块、第一确定模块、第二确定模块和处理模块,其中,
< ...【技术特征摘要】
1.一种流量限制方法,其特征在于,应用于第一服务器,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,根据所述第一访问请求,确定所述第一设备的设备类型,包括:
3.根据权利要求2所述的方法,其特征在于,根据所述第一访问令牌和所述第一服务器对应的令牌列表,确定所述第一设备的设备类型,包括:
4.根据权利要求3所述的方法,其特征在于,根据所述令牌失效时刻和当前时刻,确定所述第一设备的设备类型,包括:
5.根据权利要求3所述的方法,其特征在于,根据所述历史访问信息,确定所述第一设备的设备类型,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,根据所述第一设备的设备类型,对所述第一访问请求进行处理,包括:
【专利技术属性】
技术研发人员:文渊,邓胜辉,徐建东,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。