访问控制方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:27614684 阅读:24 留言:0更新日期:2021-03-10 10:42
本申请实施例属于信息安全领域,涉及一种访问控制方法,包括从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶;接收用户终端发送的访问请求;通过Redis对所述访问请求进行访问校验;当所述访问请求通过访问校验时,从所述令牌桶中抽取令牌;将抽取到的令牌发送至所述用户终端以使所述用户终端实现访问,并在所述Redis中记录所述令牌的发送时间戳和令牌使用时长;根据所述Redis中存储的发送时间戳和令牌使用时长对所述令牌桶进行令牌清除。本申请还提供一种访问控制装置、计算机设备及存储介质。此外,本申请还涉及区块链技术,令牌桶配置信息还可存储于区块链中。本申请提高了访问控制的灵活性。本申请提高了访问控制的灵活性。本申请提高了访问控制的灵活性。

【技术实现步骤摘要】
访问控制方法、装置、计算机设备及存储介质


[0001]本申请涉及信息安全
,尤其涉及一种访问控制方法、装置、计算机设备及存储介质。

技术介绍

[0002]对于高并发或分布式场景,经常需要限流机制来进行访问控制。令牌桶技术可以实现接口的访问控制,令牌桶中具有一定数量的令牌,当用户发起请求时,用户终端需要从令牌桶中获取令牌,如果拿到令牌,可以实现访问;如果未拿到令牌,则不允许访问。
[0003]然而,传统的令牌桶技术,通常是采用固定的令牌配置数量和时间。即,设定一个定时任务,在定时任务对应的时间段内只能接受固定数量的访问请求,并定时清零。这样便限制了令牌桶的动态调整和令牌的动态清除,使得访问控制难以根据访问流量的变化及时调整,灵活性较低。

技术实现思路

[0004]本申请实施例的目的在于提出一种访问控制方法、装置、计算机设备及存储介质,以解决访问控制灵活性较低的问题。
[0005]为了解决上述技术问题,本申请实施例提供一种访问控制方法,采用了如下所述的技术方案:
[0006]从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶;
[0007]接收用户终端发送的访问请求;
[0008]通过Redis对所述访问请求进行访问校验;
[0009]当所述访问请求通过访问校验时,从所述令牌桶中抽取令牌;
[0010]将抽取到的令牌发送至所述用户终端以使所述用户终端实现访问,并在所述Redis中记录所述令牌的发送时间戳和令牌使用时长;<br/>[0011]根据所述Redis中存储的发送时间戳和令牌使用时长对所述令牌桶进行令牌清除。
[0012]进一步的,所述从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶的步骤包括:
[0013]监测所述动态配置管理服务器中与令牌桶对应的令牌桶配置信息;
[0014]当监测到所述令牌桶配置信息发生变化时,从所述动态配置服务器获取当前的令牌桶配置信息以动态配置所述令牌桶。
[0015]进一步的,所述从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶的步骤之后,还包括:
[0016]指示所述令牌桶根据所述令牌桶配置信息生成令牌;
[0017]当所述令牌桶生成令牌时,根据所述Redis中存储的发送时间戳和令牌使用时长
对所述令牌桶进行令牌清除。
[0018]进一步的,所述接收用户终端发送的访问请求的步骤之后,还包括:
[0019]根据所述令牌桶配置信息确定当前时刻是否需要进行访问校验;
[0020]当需要进行访问校验时,执行所述通过Redis对所述访问请求进行访问校验的步骤。
[0021]进一步的,所述通过Redis对所述访问请求进行访问校验的步骤包括:
[0022]从所述访问请求中提取终端标识;
[0023]在所述Redis中查询所述终端标识;
[0024]当未查询到所述终端标识,且所述令牌桶中存在孤立令牌时,确定所述访问请求通过访问校验。
[0025]进一步的,所述在所述Redis中查询所述终端标识的步骤之后,还包括:
[0026]当查询到所述终端标识时,获取与查询到的终端标识对应存储的令牌使用时长;
[0027]比较所述令牌使用时长与预设的令牌可用时长;
[0028]当所述令牌使用时长小于所述令牌可用时长时,确定所述访问请求通过访问校验。
[0029]进一步的,所述将抽取到的令牌发送至所述用户终端以使所述用户终端实现访问,并在所述Redis中记录所述令牌的发送时间戳和令牌使用时长的步骤之后,还包括:
[0030]对所述用户终端的访问进行监测;
[0031]当监测到所述用户终端结束访问时,将所述令牌回收至所述令牌桶。
[0032]为了解决上述技术问题,本申请实施例还提供一种访问控制装置,采用了如下所述的技术方案:
[0033]信息获取模块,用于从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶;
[0034]请求接收模块,用于接收用户终端发送的访问请求;
[0035]请求校验模块,用于通过Redis对所述访问请求进行访问校验;
[0036]令牌抽取模块,用于当所述访问请求通过访问校验时,从所述令牌桶中抽取令牌;
[0037]令牌发送模块,用于将抽取到的令牌发送至所述用户终端以使所述用户终端实现访问,并在所述Redis中记录所述令牌的发送时间戳和令牌使用时长;
[0038]令牌清除模块,用于根据所述Redis中存储的发送时间戳和令牌使用时长对所述令牌桶进行令牌清除。
[0039]为了解决上述技术问题,本申请实施例还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述的访问控制方法的步骤。
[0040]为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述的访问控制方法的步骤。
[0041]与现有技术相比,本申请实施例主要有以下有益效果:从管理令牌桶的动态配置管理服务器获取令牌桶配置信息,从而对令牌桶进行配置,当令牌桶配置信息动态变化时,可以动态更新令牌桶,而令牌桶用于进行访问控制,因此提高了访问控制的灵活性;接收用
户终端发送的访问请求并进行访问校验,在校验通过后从令牌桶中抽取令牌并发送至用户终端,使得用户终端得以实现接口访问,从而实现访问控制;Redis可以记录发送时间戳以及令牌使用时长,根据时间戳和令牌使用时长可以对令牌进行动态清除,提高了令牌桶的灵活性,从而进一步提高了访问控制的灵活性。
附图说明
[0042]为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0043]图1是本申请可以应用于其中的示例性系统架构图;
[0044]图2是根据本申请的访问控制方法的一个实施例的流程图;
[0045]图3是根据本申请的访问控制装置的一个实施例的结构示意图;
[0046]图4是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
[0047]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的
的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种访问控制方法,其特征在于,包括下述步骤:从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶;接收用户终端发送的访问请求;通过Redis对所述访问请求进行访问校验;当所述访问请求通过访问校验时,从所述令牌桶中抽取令牌;将抽取到的令牌发送至所述用户终端以使所述用户终端实现访问,并在所述Redis中记录所述令牌的发送时间戳和令牌使用时长;根据所述Redis中存储的发送时间戳和令牌使用时长对所述令牌桶进行令牌清除。2.根据权利要求1所述的访问控制方法,其特征在于,所述从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶的步骤包括:监测所述动态配置管理服务器中与令牌桶对应的令牌桶配置信息;当监测到所述令牌桶配置信息发生变化时,从所述动态配置服务器获取当前的令牌桶配置信息以动态配置所述令牌桶。3.根据权利要求1所述的访问控制方法,其特征在于,所述从动态配置管理服务器获取令牌桶配置信息,以根据所述令牌桶配置信息配置令牌桶的步骤之后,还包括:指示所述令牌桶根据所述令牌桶配置信息生成令牌;当所述令牌桶生成令牌时,根据所述Redis中存储的发送时间戳和令牌使用时长对所述令牌桶进行令牌清除。4.根据权利要求1所述的访问控制方法,其特征在于,所述接收用户终端发送的访问请求的步骤之后,还包括:根据所述令牌桶配置信息确定当前时刻是否需要进行访问校验;当需要进行访问校验时,执行所述通过Redis对所述访问请求进行访问校验的步骤。5.根据权利要求1所述的访问控制方法,其特征在于,所述通过Redis对所述访问请求进行访问校验的步骤包括:从所述访问请求中提取终端标识;在所述Redis中查询所述终端标识;当未查询到所述终端标识,且所述令牌桶中存在孤立令牌时,确定...

【专利技术属性】
技术研发人员:李帅
申请(专利权)人:平安消费金融有限公司
类型:发明
国别省市:

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

1