【技术实现步骤摘要】
访问控制方法、设备及系统
本专利技术的软件控制技术,尤其是涉及客户端访问控制。
技术介绍
目前随着计算机软件技术及电子商务的发展,为大量客户通过标准接口例如http协议接口访问系统平台并开发前端应用提供了大量机会。然而在作为平台的后端开发过程中,如果客户端频繁甚至滥用接口调用后端,一旦超过某个阈值,后端将无法响应客户端请求或响应的非常慢。为了防止这种情况的发生,保护后端服务器的资源,保证服务的高可用,通常需要对接口调用量进行限制。图1示出了现有技术中限制系统接口调用量的控制系统。如图所示,该控制系统包括:数据库100、控制设备200以及可选的数据库300。数据库100用于维护不同客户端对接口的当前实际发生的调用量;数据库300中存储有客户端身份信息以及关于客户端访问的授权信息,例如允许不同客户端调用系统接口的最大允许调用量。控制设备200根据来自客户端的调用接口的请求,生成用于查询客户端的当前实际调用量的查询请求,并从数据库100接收作为所述查询请求的响应的客户端当前实际调用量。同时,控制设备200从数据库300获取当前客户端的最大允许调用量的限定阈值。控制设备200对比所接收的当前实际调用量以及最大调用量阈值而决定是否允许所述客户端继续调用接口,并且在允许所述客户端调用接口时更新所述数据库100中的当前实际调用量。而一旦当前实际调用量达到最大调用量的限定阈值,则可以拒绝调用请求,例如重定向到错误页或者返回服务不可用、排队或者等待,降级等处理。该方案所带来的一个问题是当数据库100故障时,则无法获取客户端的当前调用量,因此导致无法限制客户端的调用量或者出现 ...
【技术保护点】
1.一种访问控制方法,包括:控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录,以便在所述第一数据库不能对查询请求进行响应时提供所述备用访问记录,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的;监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息,其中,当所述统计信息满足一预定条件时,输出所述统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。
【技术特征摘要】
1.一种访问控制方法,包括:控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录,以便在所述第一数据库不能对查询请求进行响应时提供所述备用访问记录,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的;监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息,其中,当所述统计信息满足一预定条件时,输出所述统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。2.如所述权利要求1的访问控制方法,进一步包括:当所述第一数据库恢复对所述查询请求做出响应时,控制所述第二数据库将更新的客户端访问记录同步到所述第一数据库。3.如权利要求1或2的访问控制方法,其中监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息包括:按照一预定顺序读取所述消息缓冲池中的查询消息;解析所读取的查询消息以确定所述客户端标识;按照所述客户端标识统计从所述消息缓冲池中读取的查询消息的次数作为所述统计信息。4.如权利要求3的访问控制方法,其中所述客户端访问请求是接口调用请求,所述备用访问记录是所述客户端当前的接口调用量,所述一定条件是在预定的时间窗口内允许客户端调用接口的最大接口调用量的冗余量;其中更新所述第二数据库中所述客户端标识对应的备用访问记录包括:将所述客户端标识对应的当前接口调用量累加所述次数。5.如权利要求4的访问控制方法,进一步包括:控制所述第二数据库在超出所述时间窗口时清零所述备用访问记录。6.一种访问控制设备,包括:监控模块,配置为控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录;所述第二数据库,配置为当所述第一数据库不能响应于查询请求而提供述客户端访问记录时,提供所述备用访问记录作为所述查询请求的响应,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;消息缓冲池,用于接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的,该查询消息包含有关所述查询请求的信息;其中,所述监控模块进一步配置为监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述户访问请求的用统计信息,其中,当所述统计信息满足一预定条件时,输出该统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。7.如所述权利要求6的访问控制设备,其中所述监控模块进一步配置为:当所述第一数据库恢复对所述查询请求的响应时,控制所述第二数据库将更新的备用访问记录同步到所述第一数据库。8.如权利要求6或7的访问控制设备,其中所述监控模块进一步配置为:按照一预定顺序读取所述消息缓冲池中的查询消息;解析所读取的查询消息以确定所述客户端标识;按照所述客户端标识统计从所述消息缓冲池中读取的查询消息的次数作为所述统计信息。9...
【专利技术属性】
技术研发人员:欧阳斌,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。