一种数据限流方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:30796094 阅读:10 留言:0更新日期:2021-11-16 08:00
本申请提供了一种数据限流方法、装置、电子设备及可读存储介质,包括:根据目标流量访问请求,所述目标流量访问请求携带目标用户身份标识;根据所述目标用户身份标识获取所述目标用户身份标识的目标历史访问记录,所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内的访问数据;若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求。本申请通过判断目标身份标识目标流量访问请求在设定时间窗口的访问次数,确定是否允许本次访问,实现用户独享个人数据,不同时间级别对个人分别限流。不同时间级别对个人分别限流。不同时间级别对个人分别限流。

【技术实现步骤摘要】
一种数据限流方法、装置、电子设备及可读存储介质


[0001]本申请涉及互联网
,具体而言,涉及一种数据限流方法、装置、电子设备及可读存储介质。

技术介绍

[0002]随着互联网技术的快速发展,线上学习越来越受到人们的追捧,有时当有很多用户访问同一课程时,由于服务器的承载能力有限,很有可能超出预期的最大访问限度,进而导致服务器崩溃,用户上课体验不好。因而,需要对服务器进行限流。现目前,市面上常用的限流方案有固定时间窗口、滑动时间窗口、漏桶算法以及令牌桶算法等多种限流方案。但上述的各种限流方案都是针对的整个服务器及所有参与访问的用户进行限流处理的。

技术实现思路

[0003]有鉴于此,本申请实施例的目的在于提供一种数据限流方法。能够达到有针对性的效果。
[0004]第一方面,本申请实施例提供了一种数据限流方法包括:获取目标流量访问请求,所述目标流量访问请求携带目标用户身份标识;根据所述目标用户身份标识获取所述目标用户身份标识的目标历史访问记录,所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内的访问数据;若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求。
[0005]本申请实施例通过对单个身份标识流量在设定的时间窗口的访问次数和设定的访问次数进行对比,判断该单个身份标识目标流量访问请求是否被允许,以实现对单个身份标识目标流量访问请求进行限流。
[0006]结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中:所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内对各个服务资源的访问数据;所述若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求,包括:根据所述目标流量访问请求确定出所述目标用户身份标识所需访问的目标服务资源;若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口内对所述目标服务资源的访问次数超出所述设定阈值时,拒绝所述目标流量访问请求。
[0007]本申请实施例通过判断一个用户,在设定的时间窗口对其访问的资源的访问次数,确定其是否能够进行访问,能够实现对单个用户在设定时间窗口针对目标资源进行限流,使得服务器可以针对单个对象、单个资源或某一时间窗口进行限流。
[0008]结合第一方面的第一种可能的实施方式,本申请实施例提供了第一方面的第二种可能的实施方式,其中:所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内对各个服务资源的访问数据;所述若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求,包括:根据
所述目标流量访问请求确定出所述目标用户身份标识所需访问的目标服务资源;从所述目标服务资源确定出与所述目标流量访问请求相对应的目标服务子资源,所述目标服资源中包括一个或多个服务子资源;若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口内对所述目标服务子资源的访问次数超出所述设定阈值时,拒绝所述目标流量访问请求。
[0009]本申请实施例通过判断一个用户,在设定的时间窗口对其访问的目标服务子资源的访问次数,确定其是否能够进行访问,能够实现对单个用户在设定时间窗口针对目标服务子资源进行限流,使得服务器可以针对单个对象、单个服务子资源或某一时间窗口进行限流。
[0010]结合第一方面的第二种可能的实施方式,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述目标流量访问请求包括多个子请求,所述若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求,包括:根据所述目标流量访问请求中的多个子请求,确定与所述多个子请求分别对应的多个目标服务资源;根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口内对所述多个目标服务资源中的每一个目标服务资源的访问次数;从所述多个目标服务资源中确定访问次数超出所述设定阈值的至少一个目标服务资源,拒绝针对所述至少一个目标服务资源的至少一个子请求。
[0011]本申请实施例通过将目标历史访问记录的多个子请求在设定时间窗口分别与其相对应的目标服务资源中的访问次数进行判断,保证了多个子请求的独立性,实现了多个访问数据之间相互独立,互不影响的目的。
[0012]结合第一方面的第三种可能的实施方式,本申请实施例提供了第一方面的第四种可能的实施方式,其中,若所述目标用户身份标识在当前的设定时间窗口的访问次数未超出所述设定阈值,则允许所述目标流量访问请求,并更新所述目标用户身份标识对应的访问记录。
[0013]本申请实施例通过判定目标用户身份标识访问请求在阈值范围内后,目标访问资源就允许该目标流量进行访问,并在访问时更新其访问记录,以实现设定时间窗口内的访问记录实时更新,保证信息的准确性。
[0014]结合第一方面的第四种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述更新所述用户身份标识对应的访问记录,包括:确定所述目标服务资源所属的目标访问记录链表;其中,每一个访问记录链表对应至少一个服务资源,任意两个访问记录链表中的服务资源互不重叠;将所述当前访问记录更新在所述目标访问记录链表中。
[0015]本申请实施例通过目标服务资源确定出目标访问记录链表,并将当前访问记录更新在该目标访问记录链,以实现记录链的访问记录的实时更新,同时两个访问记录链之间的服务资源相互独立,能够保证多个目标服务资源对多个目标访问记录链的访问彼此独立,互不影响。
[0016]结合第一方面的第五种可能的实施方式,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述将所述当前访问记录更新在所述目标访问记录链表中,包括:将所述当前访问记录作为头记录更新在所述目标访问记录链表中。
[0017]本申请实施例通过将当前访问记录更新为目标访问记录链中的头记录,以实现数据记录以最近时间窗口的数据作为头记录形成记录链表,进而通过访问头记录逐条访问整个链表。
[0018]第二方面,本申请实施例还提供一种数据限流装置,包括:获取模块:用于获取目标流量访问请求,所述目标流量访问请求携带目标用户身份标识;请求模块:用于根据所述目标用户身份标识获取所述目标用户身份标识的目标历史访问记录,所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内的访问数据;输出模块:若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,用于拒绝所述目标流量访问请求。
[0019]第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面的任一种可能的实施方式中的方法的步骤。
[0020]第四方面,本申请实施例还提供一种计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据限流方法,其特征在于,包括:获取目标流量访问请求,所述目标流量访问请求携带目标用户身份标识;根据所述目标用户身份标识获取所述目标用户身份标识的目标历史访问记录,所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内的访问数据;若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求。2.根据权利要求1所述的方法,其特征在于,所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内对各个服务资源的访问数据;所述若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求,包括:根据所述目标流量访问请求确定出所述目标用户身份标识所需访问的目标服务资源;若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口内对所述目标服务资源的访问次数超出所述设定阈值时,拒绝所述目标流量访问请求。3.根据权利要求1所述的方法,其特征在于,所述目标历史访问记录为所述目标用户身份标识在设定时间窗口内对各个服务资源的访问数据;所述若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求,包括:根据所述目标流量访问请求确定出所述目标用户身份标识所需访问的目标服务资源;从所述目标服务资源确定出与所述目标流量访问请求相对应的目标服务子资源,所述目标服务资源中包括一个或多个服务子资源;若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口内对所述目标服务子资源的访问次数超出所述设定阈值时,拒绝所述目标流量访问请求。4.根据权利要求1所述的方法,其特征在于,所述目标流量访问请求包括多个子请求,所述若根据所述目标历史访问记录确定所述目标用户身份标识在设定时间窗口的访问次数超出设定阈值时,拒绝所述目标流量访问请求,包括:根据所述目标流量访问请求中的多个子请求,确定与所述多个子请求分别对应的多个目标服务资源;根据所述目标历史...

【专利技术属性】
技术研发人员:窦心春陈勇
申请(专利权)人:北京高途云集教育科技有限公司
类型:发明
国别省市:

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

1