访问控制方法、设备及系统技术方案

技术编号:21606294 阅读:25 留言:0更新日期:2019-07-13 18:29
本发明专利技术实施例提供访问控制方法、设备及系统,该方法包括:控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录,以便在第一数据库不能对查询请求进行响应时提供所述备用访问记录作为响应;接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于第一数据库不能对查询请求进行响应而发出的;监听消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于客户端访问请求的统计信息,其中,当统计信息满足预定条件时,输出统计信息以更新第二数据库中与客户端标识对应的备用访问记录。

Access Control Method, Equipment and System

【技术实现步骤摘要】
访问控制方法、设备及系统
本专利技术的软件控制技术,尤其是涉及客户端访问控制。
技术介绍
目前随着计算机软件技术及电子商务的发展,为大量客户通过标准接口例如http协议接口访问系统平台并开发前端应用提供了大量机会。然而在作为平台的后端开发过程中,如果客户端频繁甚至滥用接口调用后端,一旦超过某个阈值,后端将无法响应客户端请求或响应的非常慢。为了防止这种情况的发生,保护后端服务器的资源,保证服务的高可用,通常需要对接口调用量进行限制。图1示出了现有技术中限制系统接口调用量的控制系统。如图所示,该控制系统包括:数据库100、控制设备200以及可选的数据库300。数据库100用于维护不同客户端对接口的当前实际发生的调用量;数据库300中存储有客户端身份信息以及关于客户端访问的授权信息,例如允许不同客户端调用系统接口的最大允许调用量。控制设备200根据来自客户端的调用接口的请求,生成用于查询客户端的当前实际调用量的查询请求,并从数据库100接收作为所述查询请求的响应的客户端当前实际调用量。同时,控制设备200从数据库300获取当前客户端的最大允许调用量的限定阈值。控制设备200对比所接收的当前实际调用量以及最大调用量阈值而决定是否允许所述客户端继续调用接口,并且在允许所述客户端调用接口时更新所述数据库100中的当前实际调用量。而一旦当前实际调用量达到最大调用量的限定阈值,则可以拒绝调用请求,例如重定向到错误页或者返回服务不可用、排队或者等待,降级等处理。该方案所带来的一个问题是当数据库100故障时,则无法获取客户端的当前调用量,因此导致无法限制客户端的调用量或者出现宕机等问题。
技术实现思路
本专利技术提代一种改进的访问控制方案,通过一个备用数据库来同步备份主数据库的客户端访问记录,并通过监视客户端的访问请求而将客户端的访问维持在一个可控的状态。根据本专利技术的一个方面,提供一种访问控制方法,包括:控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录,以便在所述第一数据库不能对查询请求进行响应时提供所述备用访问记录,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的;监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息,其中,当所述统计信息满足一预定条件时,输出所述统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。根据本专利技术的另一个方面,提供一种访问控制设备,包括:监控模块,配置为控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录;所述第二数据库,配置为当所述第一数据库不能响应于查询请求而提供述客户端访问记录时,提供所述备用访问记录作为所述查询请求的响应,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;消息缓冲池,用于接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的,该查询消息包含有关所述查询请求的信息;其中,所述监控模块进一步配置为监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述户访问请求的用统计信息,其中,当所述统计信息满足一预定条件时,输出该统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。根据本专利技术的再一个方面,提供一种访问控制系统,包括:第一数据库,用于维护客户端访问记录;第一控制设备,配置为:响应于客户端访问请求,向所述第一数据库发送查询请求并从第一数据库接收作为所述查询请求的响应的所述客户端访问记录,以及在不能从第一数据库接收到所述客户端访问记录时生成查询消息;第二控制设备,包括:监控模块,配置为控制所述第一数据库将客户端访问记录同步到第二数据库作为备用访问记录;所述第二数据库,配置为当所述第一控制设备不能从第一数据库接收所述客户端访问记录时,向所述第一控制设备提供所述备用访问记录作为所述查询请求的响应;消息缓冲池,用于接收并缓存来自所述第一控制设备的所述查询消息,该查询消息包含有关所述查询请求的信息;其中,所述监控模块进一步配置为监控所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息,其中,当所述统计信息满足一预定条件时,所述监控模块输出该统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。根据本专利技术的再一个方面,提供一种具有指令的机器可读介质,所述指令在被一个或多个机器执行时,使所述机器执行根据本专利技术的方法。根据本专利技术的再一个方面,提供一种访问控制设备,包括:存储器,其上存储有指令;处理器,所述处理器可配置为执行所述指令以实现根据本专利技术的方法。利用本专利技术的方案,即便是在数据库故障时仍然可以对诸如接口调用等客户端访问进行限制,避免了拖库、接口滥用导致的服务宕机等情况的发生。附图说明图1示出了现有技术的访问控制系统的示意性框图;图2示出了根据本专利技术一个实施例的访问控制系统的示意性框图;图3示出了根据本专利技术一个实施例的访问控制系统的内部的操作示意图;图4A与4B示出了根据本专利技术实施例的访问控制流程图;图5示出根据本专利技术的一个实施例中的控制设备的示意图。具体实施方式下面结合附图对本专利技术实施例提供的系统、方法和设备进行详细说明。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。在本说明书中,相同的附图标记指示相同的部件。在以下说明中,‘客户端’既可以是指客户端设备的操作者,也可以是客户端设备本身,而‘客户端访问请求’则是指通过客户端设备发出的访问请求,这里的访问请求既可以是访问某一个系统、数据库或服务器,也可以是调用系统资源,例如系统接口、计算资源等。图2示出了根据本专利技术一个实施例的访问控制系统10的示意图,该访问控制系统用于对客户端的访问操作进行控制。如图所示,该访问控制系统10除了包括数据库100以及控制设备200之外,还包括备份控制设备400,其中控制设备400包括备用数据库401、监控模块402以及消息缓冲池403。数据库100作为主数据库用于维护客户端访问记录,例如历史访问次数等。控制设备200响应于来自客户端的访问请求,向数据库100发送查询请求以希望获取客户端的当前访问记录,并从数据库100接收作为所述查询请求的响应的客户端访问记录,由此控制设备200可以基于接收到的客户端访问记录来确定是否允许本次访问请求。此外,控制设备200还可以在不能从数据库100接收到客户端访问记录时向控制设备400发送查询请求,同时生成包含有关该客户端访问请求的查询消息。控制设备400中的监控模块402配置为控制数据库100按照预定的定时要求将其中存储的客户端访问记录同步到备用数据库401作为备用访问记录。由此当例如主数据库100发生故障,所述控制设备200不能从数据库100接收到客户端访问记录时,备用数据库401根据接收到的来自控制设备200的查询请求本文档来自技高网
...

【技术保护点】
1.一种访问控制方法,包括:控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录,以便在所述第一数据库不能对查询请求进行响应时提供所述备用访问记录,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的;监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息,其中,当所述统计信息满足一预定条件时,输出所述统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。

【技术特征摘要】
1.一种访问控制方法,包括:控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录,以便在所述第一数据库不能对查询请求进行响应时提供所述备用访问记录,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的;监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息,其中,当所述统计信息满足一预定条件时,输出所述统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。2.如所述权利要求1的访问控制方法,进一步包括:当所述第一数据库恢复对所述查询请求做出响应时,控制所述第二数据库将更新的客户端访问记录同步到所述第一数据库。3.如权利要求1或2的访问控制方法,其中监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述客户端访问请求的统计信息包括:按照一预定顺序读取所述消息缓冲池中的查询消息;解析所读取的查询消息以确定所述客户端标识;按照所述客户端标识统计从所述消息缓冲池中读取的查询消息的次数作为所述统计信息。4.如权利要求3的访问控制方法,其中所述客户端访问请求是接口调用请求,所述备用访问记录是所述客户端当前的接口调用量,所述一定条件是在预定的时间窗口内允许客户端调用接口的最大接口调用量的冗余量;其中更新所述第二数据库中所述客户端标识对应的备用访问记录包括:将所述客户端标识对应的当前接口调用量累加所述次数。5.如权利要求4的访问控制方法,进一步包括:控制所述第二数据库在超出所述时间窗口时清零所述备用访问记录。6.一种访问控制设备,包括:监控模块,配置为控制第一数据库将客户端访问记录同步到第二数据库作为备用访问记录;所述第二数据库,配置为当所述第一数据库不能响应于查询请求而提供述客户端访问记录时,提供所述备用访问记录作为所述查询请求的响应,其中该查询请求是响应于客户端访问请求而用于获取所述第一数据库上的客户端访问记录;消息缓冲池,用于接收查询消息并将其缓存到消息缓冲池中,该查询消息是基于所述第一数据库不能对所述查询请求进行响应而发出的,该查询消息包含有关所述查询请求的信息;其中,所述监控模块进一步配置为监听所述消息缓冲池中的查询消息以按照该查询消息中包含的客户端标识生成关于所述户访问请求的用统计信息,其中,当所述统计信息满足一预定条件时,输出该统计信息以更新所述第二数据库中与所述客户端标识对应的备用访问记录。7.如所述权利要求6的访问控制设备,其中所述监控模块进一步配置为:当所述第一数据库恢复对所述查询请求的响应时,控制所述第二数据库将更新的备用访问记录同步到所述第一数据库。8.如权利要求6或7的访问控制设备,其中所述监控模块进一步配置为:按照一预定顺序读取所述消息缓冲池中的查询消息;解析所读取的查询消息以确定所述客户端标识;按照所述客户端标识统计从所述消息缓冲池中读取的查询消息的次数作为所述统计信息。9...

【专利技术属性】
技术研发人员:欧阳斌
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1