一种资源的访问控制方法、装置、电子设备和存储介质制造方法及图纸

技术编号:25522245 阅读:31 留言:0更新日期:2020-09-04 17:12
本申请公开了一种资源的访问控制方法、装置、电子设备和存储介质,涉及服务器管理领域。具体实现方案为:在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;根据第一被访问流量、各第二被访问流量、以及被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;根据主DC对应的子访问量阈值对被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,使各从DC根据接收的子访问量阈值对被限流资源进行访问控制。由此基于上一采样周期中被限流资源在各DC的实际被访问量,计算各DC的子访问量阈值,解决了资源部署在多个数据中心时所带来的并发问题。

【技术实现步骤摘要】
一种资源的访问控制方法、装置、电子设备和存储介质
本申请涉及计算机
,尤其涉及服务器管理领域,具体涉及一种资源的访问控制方法、装置、电子设备和存储介质。
技术介绍
现有技术中,可以在数据中心(DataCenter,DC)中的服务器上部署服务,同一服务可以部署在一个DC的一个服务器上,也可以部署在一个DC的多个服务器上,还可以是部署在多个DC的多个服务器上。目前需要针对部署的服务进行QPS(Queries-Per-Second,每秒访问量)限流,具体有如下实现方案:基于分布式缓存的限流方案;当一个服务部署在单个DC的服务器上时,可以采用本方案。本方案在DC中设置一个缓存服务器,在该缓存服务器中设置计数器、存活时间(1s)和QPS上限值;每次接收到一个服务请求,计数器加一,若计数器超过QPS上限值则拒绝访问,过了存活时间则重新开始计数。但这种方案存在一定的不足:将一个服务部署在多个DC时,存在多DC带来的并发问题,因为由于多个DC采用独立的缓存服务器,每个DC都会按照预设的总QPS上限值对服务进行访问控制,由此会存在多个DC上本文档来自技高网...

【技术保护点】
1.一种资源的访问控制方法,其特征在于,应用于主数据中心DC,所述方法包括:/n在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;/n根据所述第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值;/n根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,以使各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制。/n

【技术特征摘要】
1.一种资源的访问控制方法,其特征在于,应用于主数据中心DC,所述方法包括:
在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;
根据所述第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值;
根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,以使各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制。


2.根据权利要求1所述的方法,其特征在于,获取被限流资源在上一采样周期中,在主DC的第一被访问流量,包括:
确定针对所述被限流资源预先设置的第一缓存单元中存储的时间戳的第一数量、以及第一缓存单元中最早的时间戳与最晚的时间戳之间的第一差值;其中,缓存单元用于存储主DC接收到的对所述被限流资源的访问请求所对应的时间戳;
根据第一数量和第一差值,确定所述被限流资源在上一采样周期中在主DC的第一被访问流量。


3.根据权利要求2所述的方法,其特征在于,根据第一数量和第一差值,确定所述被限流资源在上一采样周期中在主DC的第一被访问流量,包括:
若第一差值不大于单位采样周期的时间长度,则将第一数量确定为所述被限流资源在上一采样周期中在主DC的第一被访问流量;
若第一差值大于单位采样周期的时间长度,则根据第一数量和第一差值确定所述被限流资源在单位采样周期中的平均被访问流量,将该平均被访问流量确定为所述被限流资源在上一采样周期中在主DC的第一被访问流量。


4.根据权利要求1所述的方法,其特征在于,根据第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值,包括:
根据第一被访问流量和第二被访问流量,确定主DC和各从DC分别对应的访问量比例;
根据所述访问量比例确定主DC和各从DC分别对应的子访问量阈值。


5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
读取预先设置的全局锁变量,根据所述全局锁变量的当前取值确定所述全局锁变量是否处于释放状态;
在所述全局锁变量处于释放状态时,触发执行获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量的操作;
通过修改所述全局锁变量的当前取值,将所述全局锁变量的状态变为非释放状态;
其中,所述全局锁变量的初始状态为释放状态,所述全局锁变量的状态在变为非释放状态后经过单位采样周期的时间长度时,所述全局锁变量恢复为释放状态。


6.根据权利要求1所述的方法,其特征在于,若所述被限流资源被部署在主DC的一个主服务器中,则根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,包括:
将主DC对应的子访问量阈值,写入主DC中部署有所述被限流资源的主服务器的本地缓存中;
主服务器在接收到针对所述被限流资源的访问请求时,读取所述本地缓存中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。


7.根据权利要求1所述的方法,其特征在于,若所述被限流资源被部署在主DC的多个主服务器中,则根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,包括:
将主DC对应的子访问量阈值,写入主DC的缓存服务器中;
主DC中部署有所述被限流资源的主服务器,在接收到针对所述被限流资源的访问请求时,读取所述缓存服务器中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。


8.根据权利要求1-7中任一项所述的方法,其特征在于,在获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量之前,所述方法还包括:
获取预先配置于主DC的主服务器中,采用私钥加密后的服务部署许可证信息,采用公钥对所述服务部署许可证信息进行解密,若解密成功,则从解密后的信息中读取所述被限流资源的总访问量阈值。


9.根据权利要求8所述的方法,其特征在于,所述方法还包括:若对所述服务部署许可证信息的解密失败,则停止运行在所述主服务器的所述被限流资源对应的服务进程。


10.一种资源的访问控制方法,其特征在于,应用于从数据中心DC,所述方法包括:
接收主DC在当前采样周期发送的被限流资源的访问流量获取请求;
获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,将第二被访问流量返回给主DC,以使主DC根据第一被访问流量、各从DC返回的第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值,第一被访问流量是所述被限流资源在上一采样周期中在主DC的被访问流量;
接收主DC发送的所述从DC对应的子访问量阈值,根据所述子...

【专利技术属性】
技术研发人员:张成黄庆伟罗雪峰白常福
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

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

1