CN111625859A - 一种资源的访问控制方法、装置、电子设备和存储介质 - Google Patents
一种资源的访问控制方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111625859A CN111625859A CN202010431765.6A CN202010431765A CN111625859A CN 111625859 A CN111625859 A CN 111625859A CN 202010431765 A CN202010431765 A CN 202010431765A CN 111625859 A CN111625859 A CN 111625859A
- Authority
- CN
- China
- Prior art keywords
- access
- resource
- slave
- sub
- limited
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种资源的访问控制方法、装置、电子设备和存储介质,涉及服务器管理领域。具体实现方案为:在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;根据第一被访问流量、各第二被访问流量、以及被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;根据主DC对应的子访问量阈值对被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,使各从DC根据接收的子访问量阈值对被限流资源进行访问控制。由此基于上一采样周期中被限流资源在各DC的实际被访问量,计算各DC的子访问量阈值,解决了资源部署在多个数据中心时所带来的并发问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及服务器管理领域,具体涉及一种资源的访问控制方法、装置、电子设备和存储介质。
背景技术
现有技术中,可以在数据中心(Data Center,DC)中的服务器上部署服务,同一服务可以部署在一个DC的一个服务器上,也可以部署在一个DC的多个服务器上,还可以是部署在多个DC的多个服务器上。
目前需要针对部署的服务进行QPS(Queries-Per-Second,每秒访问量)限流,具体有如下实现方案:基于分布式缓存的限流方案;当一个服务部署在单个DC的服务器上时,可以采用本方案。本方案在DC中设置一个缓存服务器,在该缓存服务器中设置计数器、存活时间(1s)和QPS上限值;每次接收到一个服务请求,计数器加一,若计数器超过QPS上限值则拒绝访问,过了存活时间则重新开始计数。但这种方案存在一定的不足:将一个服务部署在多个DC时,存在多DC带来的并发问题,因为由于多个DC采用独立的缓存服务器,每个DC都会按照预设的总QPS上限值对服务进行访问控制,由此会存在多个DC上的对该服务的总访问量值大于预设的总QPS上限值的情况,使得无法对该服务进行有效的访问控制。
发明内容
本申请实施例提供一种资源的访问控制方法、装置、电子设备和存储介质,以解决现有技术中由于资源部署在多个数据中心时所带来的并发问题。
第一方面,本申请实施例提供了一种资源的访问控制方法,应用于主数据中心DC,包括:在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;
根据所述第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值;
根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,以使各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制。
第二方面,本申请实施例提供了一种资源的访问控制方法,应用于从数据中心DC,包括:
接收主DC在当前采样周期发送的被限流资源的访问流量获取请求;
获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,将第二被访问流量返回给主DC,以使主DC根据第一被访问流量、各从DC返回的第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值,第一被访问流量是所述被限流资源在上一采样周期中在主DC的被访问流量;
接收主DC发送的所述从DC对应的子访问量阈值,根据所述子访问量阈值对所述被限流资源进行访问控制。
第三方面,本申请实施例还提供了一种资源的访问控制装置,配置于主数据中心DC,包括:
流量获取模块,用于在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;
阈值分配模块,用于根据第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值;
第一访问控制模块,用于根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,以使各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制。
第四方面,本申请实施例还提供了一种资源的访问控制装置,配置于从数据中心DC,包括:
请求接收模块,用于接收主DC在当前采样周期发送的被限流资源的访问流量获取请求;
流量获取与反馈模块,用于获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,将第二被访问流量返回给主DC,以使主DC根据第一被访问流量、各从DC返回的第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值,第一被访问流量是所述被限流资源在上一采样周期中在主DC的被访问流量;
第二访问控制模块,用于接收主DC发送的所述从DC对应的子访问量阈值,根据所述子访问量阈值对所述被限流资源进行访问控制。
第五方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任意实施例所述的资源的访问控制方法。
第六方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请任意实施例所述的资源的访问控制方法。
上述申请中的实施例具有如下优点或有益效果:在多DC场景下,基于被限流资源在上一采样周期中,在每个DC的实际访问量,以及预先设置的总访问量阈值,计算各个DC在当前采样周期的子访问量阈值,由此,即使当被限流资源所属的服务被安装在多个DC上时,各个DC基于自身的子访问量阈值对被限流资源进行访问控制,解决了各DC的缓存服务由于存在物理隔离而引起的并发问题。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是根据本申请第一实施例的资源的访问控制方法的流程示意图;
图2是根据本申请第二实施例的资源的访问控制方法的流程示意图;
图3是根据本申请第三实施例的资源的访问控制方法的流程示意图;
图4是根据本申请第四实施例的资源的访问控制方法的流程示意图;
图5是根据本申请第五实施例的资源的访问控制装置的结构示意图;
图6是根据本申请第六实施例的资源的访问控制装置的结构示意图;
图7是用来实现本申请实施例的资源的访问控制方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1是根据本申请第一实施例的资源的访问控制的方法的流程示意图,本实施例可适用于控制被限流资源的访问流量的情况。该方法可由一种资源的访问控制装置来执行,该装置采用软件和/或硬件的方式实现,优选是配置于电子设备中,例如数据中心的服务器等。
本申请实施例中,通常会将服务的资源部署在多个数据中心(Data Center,DC),在多DC(一个主DC和多个从DC)场景下,发明人发现从各DC的角度出发,正常情况下,各DC在相邻采样周期内的流量占比是趋于稳定的,所以上一个采样周期各DC的流量占比可以作为下一个采样周期的流量分配的标准。因此,发明人创造性的提出了通过各DC上一个采样周期的访问量比例和总访问量阈值,计算各DC下一个采样周期的访问量阈值,以便通过控制各个DC的被访问流量来达到控制总体被访问流量的目的。如图1所示,资源的访问控制方法由主DC执行,具体的,由主DC中的任一服务器(即主服务器)执行。在此需要说明的是任何一个DC都可以是主DC,其他为从DC。该方法具体包括如下:
S101、在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量。
其中,被限流资源可以是一个部署在数据中心的服务,也可以是一个服务包含的子功能对应的子服务。基于上述可知,在当前采样周期到达时,为了计算当前采用周期各DC的访问量阈值,需要获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量。
其中,获取在主DC的第一被访问流量的操作包括S1-S2:
S1.确定针对所述被限流资源预先设置的第一缓存单元中存储的时间戳的第一数量、以及第一缓存单元中最早的时间戳与最晚的时间戳之间的第一差值。
其中,缓存单元用于存储主DC接收到的对所述被限流资源的访问请求所对应的时间戳,也即在用户请求访问被限流资源时,将对被限流资源的访问请求以时间戳的形式存入第一缓存单元中。可选的,第一缓存单元为接收请求消息的第一队列,因此,最早的时间戳即是排在队头的时间戳,最晚的时间戳即是排在队尾的时间戳,而且第一队列中,时间戳的数量(即第一数量)代表用户请求被限流资源的次数,第一差值表示采样的持续时间。
S2.根据第一数量和第一差值,确定所述被限流资源在上一采样周期中在主DC的第一被访问流量。
由于第一差值表示采样的持续时间,因此可根据第一差值与单位采样周期的关系,确定所述被限流资源在上一采样周期中在主DC的第一被访问流量。需要说明的是,通过将对被限流资源的访问请求以时间戳的形式存入第一缓存单元,进而基于时间戳的数量,以及最早时间戳和最晚时间戳的时间差,计算第一被访问流量,可提升计算第一被访问流量的准确性。
进一步的,若第一差值不大于单位采样周期的时间长度,则将第一数量确定为所述被限流资源在上一采样周期中在主DC的第一被访问流量;若第一差值大于单位采样周期的时间长度,则根据第一数量和第一差值确定所述被限流资源在单位采样周期中的平均被访问流量,将该平均被访问流量确定为所述被限流资源在上一采样周期中在主DC的第一被访问流量。在一种可选的实施方式中,计算第一被访问流量可按照如下公式进行:第一被访问流量=(第一数量*单位采样周期的时间长度)/第一差值。在此需要说明的是,不同的被限流资源的访问请求对应的时间戳存放在不同的队列中,比如接口1和接口2的限流值是不一样的,那么就会有两个队列分别对应接口1和接口2,其中,队列的名称可选的为被限流资源的标识。
获取被限流资源在上一采样周期中,在各从DC的第二被访问流量的操作包括:主DC向各从DC发送被限流资源的访问流量获取请求,可选的,主DC每隔一个采样周期向其他从DC发送请求获取各从DC前一个采样周期中,各被限流资源的访问量;进而根据各所述从DC返回的数据,确定所述被限流资源在上一采样周期中在各从数据中心的第二被访问流量。其中,各从DC确定第二被访问流量的方式与主DC确定第一被访问流量的方式类似。
在此需要说明的是,在现有技术中,通常采用普通计数器方式确定被访问流量,但这种方式可能出现确定的被访问流量不准确的问题,例如在第i个周期主DC若由于通信故障等原因,未能接收到从DC发送的第i-1个周期的被访问流量,那么在第i+1个周期时,主DC获取的则可能是第i-1个周期和第i个周期的被访问流量的累加值,因为主DC在每次成功获取到从DC的被访问流量后才会通知从DC将计数器清零重新开始计数。而通过上述S1-S2步骤,在第一差值大于单位采样周期的时间长度(即计数跨越多个采样周期)时,通过时间戳的时间差计算得到单位采样周期内的平均访问流量,提升计算得到第一被访问流量的准确性。
S102、根据所述第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值。
其中,各所述子访问量阈值的累加值不超过所述总访问量阈值。可选的,根据第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值,包括:根据第一被访问流量和第二被访问流量,确定主DC和各从DC分别对应的访问量比例;根据所述访问量比例确定主DC和各从DC分别对应的子访问量阈值。示例性的,共有两个数据中心(即1个主DC和1个从DC),总访问量阈值为100(QPS),第一被访问流量和第二被访问流量分别60、20,其比例为3:1,则主DC对应的子访问量阈值为75(QPS),从DC对应的子访问量阈值为25(QPS)。由此,通过被限流资源在上一个采样周期中,在每个DC的实际被访问流量,计算出各个DC在上一个采样周期访问量的比例,进而基于该比例来分配子访问量阈值,使得各DC得到准确的子访问量阈值,避免某些DC因为设置的子访问量阈值过小,而导致出现过多拒绝访问的情况,也即避免影响用户体验。
S103、根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,以使各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制。
在一种可选的实时方式中,基于令牌桶算法对被限流资源进行访问控制。示例性的,将主DC对应的子访问量阈值存储在分布式缓存服务器中,用户请求到某个被限流的资源时,读取被限流的资源的QPS阈值,如果大于0则提供服务的同时将缓存中的QPS阈值减1,否则拒绝访问。各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制的过程,与主DC控制被限流资源进行访问控制的方式相同,在此不再赘述。
在多DC场景下,基于被限流资源在上一采样周期中,在每个DC的实际访问量,以及预先设置的总访问量阈值,计算各个DC在当前采样周期的子访问量阈值,由此,即使当被限流资源所属的服务被安装在多个DC上时,各个DC基于自身的子访问量阈值对被限流资源进行访问控制,解决了各DC的缓存服务由于存在物理隔离而引起的并发问题;通过将对被限流资源的访问请求以时间戳的形式存入第一缓存单元,进而基于时间戳的数量,以及最早时间戳和最晚时间戳的时间差,计算第一访问流量,可实现在计数跨越多个采样周期(即第一差值大于单位采样周期的时间长度)时,通过时间差计算得到单位采样周期内的平均访问流量,提升计算得到第一被访问流量的准确性。
需要说明的是,在当前采样周期是第一个采样周期时,可以采取将总访问量阈值进行均分来获得各DC的子访问量阈值的方法,比如,共有4个DC,总访问量阈值为100,则主DC和各从DC的子访问量阈值均为25。
图2是根据本申请第二实施例的资源的访问控制方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化。如图2所示,该方法具体包括如下:
S201、在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量。
本申请实施例中,由于主DC的集群式部署,也即主DC中存在多个主服务器,因此为了达到在一个采样周期只有一个主服务执行本方案的操作,通过实现一个全局的超时释放的锁来控制每个采样周期结束只有一个主服务器执行本申请资源的访问控制方法,具体的,设置一个轮询的线程尝试获取该锁的状态,也即各个主服务器依次获取该锁的状态,当一个主服务器获取到该锁的状态为释放状态,则由该主服务器执行本申请的资源的访问控制方法。
在一种可选的实施方式中,主DC中各个主服务器依次读取预先设置的全局锁变量,根据所述全局锁变量的当前取值确定所述全局锁变量是否处于释放状态(例如全局锁变量的值为0);在一个主服务器确定全局锁变量处于释放状态时,由该主服务器触发执行获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量的操作,其中,具体获取第一被访问流量以及各第二被访问流量的过程参见上述实施例,在此不再赘述;通过修改所述全局锁变量的当前取值,将所述全局锁变量的状态变为非释放状态(例如全局锁变量的值为0);其中,所述全局锁变量的初始状态为释放状态,所述全局锁变量的状态在变为非释放状态后经过单位采样周期的时间长度时,所述全局锁变量恢复为释放状态。由此,主DC中的各个主服务器通过进程依次轮询全局锁变量的值的方式,确定一个主服务器执行获取所述第一被访问流量和所述第二被访问流量的操作,实现了在一个采样周期只有一个主服务器针对该被限流资源执行本申请资源的访问控制方法。
S202、根据所述第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值。
在本申请实施例中,在获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量之前,还需要预先获取配置好的总访问量阈值,可选的,获取预先配置于主DC的主服务器中,采用私钥加密后的服务部署许可证信息,采用公钥对所述服务部署许可证信息进行解密,若解密成功,则从解密后的信息中读取所述被限流资源的总访问量阈值。
在此需要说明的是,现有技术中,有时会在客户侧的请求分发控制层进行访问控制,即在请求分发控制层配置总访问量阈值,请求分发控制层每次接收到服务请求时,判断已经接收到的服务请求的数量是否超过配置的总访问量阈值,进而决定是否拒绝该请求。但这种方式无法防止总访问量阈值的配置信息被随意篡改,从而无法有效实现访问控制。本申请正是基于该问题,将总访问量阈值配置于服务部署许可证中,以保证总访问量阈值不会被随意篡改。而且为了进一步保证安全性,服务部署许可证采用私钥加密,只有正确解密后,才能获得总访问量阈值。
进一步的,若对所述服务部署许可证信息的解密失败,则停止运行在所述主服务器的所述被限流资源对应的服务进程。在此需要说明的是,无法通过解密信息得到总访问量阈值,通常有两种情况:一是机器指纹信息不对,也就是这台服务器不是允许部署资源的服务器,二是服务部署许可证信息被篡改。针对第一种情况,停止运行被限流资源对应的服务进程,避免没有被允许部署被限流资源的服务器运行对应的服务进程;针对第二种情况,避免利用错误的总访问量阈值进行访问控制,因为利用错误的总访问量阈值进行访问控制,可能会出现实际访问量过大而导致服务器出现宕机等问题。
S203、判断被限流资源是否被部署在主DC的一个主服务器中,若是,则执行S204-S205,否则执行S206-S207。
S204、将主DC对应的子访问量阈值,写入主DC中部署有所述被限流资源的主服务器的本地缓存中。
S205、主服务器在接收到针对所述被限流资源的访问请求时,读取所述本地缓存中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
针对被限流资源是否被部署在主DC的一个主服务器中的情况,只需将主DC对应的子访问量阈值,写入主DC中部署有所述被限流资源的主服务器的本地缓存中,后续在接收到针对所述被限流资源的访问请求时,只需在本地缓存中查看是否达到访问阈值,进而进行访问控制,可提升访问控制的效率。
S206、将主DC对应的子访问量阈值,写入主DC的缓存服务器中。
S207、主DC中部署有所述被限流资源的主服务器,在接收到针对所述被限流资源的访问请求时,读取所述缓存服务器中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
主DC中设置于缓存服务器,使得主DC中各任一主服务器都可以访问该缓存服务器,以得到缓存中的内容。由此,如果被限流资源被部署在多个主服务器中,需要将主DC对应的子访问量阈值,写入主DC的缓存服务器中,以便各个主服务器都能访问该缓存服务器得到子访问量阈值,进而根据读取的所述子访问量阈值确定是否拒绝所述访问请求,由此可提升访问控制的效率。
在此需要说明的是,根据读取的所述子访问量阈值确定是否拒绝所述访问请求时,是基于令牌桶算法进行控制的。
本申请实施例中,通过设置轮询的线程和超时释放全局锁变量,解决了主DC多个结点同时进行采样分配的问题,而且根据被限流资源部署位置,向主DC的子访问量阈值下发到不同的缓存中,以提升访问控制效率,除此之外,通过将总访问量阈值配置于服务部署许可证中,可防止总访问量阈值被篡改,进而保证有效实现访问控制。
图3是本申请第三实施例的资源的访问控制方法的流程示意图,本实施例在上述实施例的基础上进一步进行优化,具体由从DC执行。如图3所示,该方法具体包括如下:
S301、接收主DC在当前采样周期发送的被限流资源的访问流量获取请求。
本申请实施例中,主DC中一个主服务器根据读取的预先设置的全局锁变量的当前取值,确定全局锁变量处于释放状态时,向从DC中的各个从服务器下发获取被限流资源的访问流量的请求,使得每个从服务器根据获取请求执行S302的操作。
S302、获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,将第二被访问流量返回给主DC,以使主DC根据第一被访问流量、各从DC返回的第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值。
其中,各所述子访问量阈值的累加值不超过所述总访问量阈值,第一被访问流量是所述被限流资源在上一采样周期中在主DC的被访问流量。
获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,包括:
确定针对所述被限流资源预先设置的第二缓存单元中存储的时间戳的第二数量、以及第二缓存单元中最早的时间戳与最晚的时间戳之间的第二差值;其中,第二缓存单元用于存储从DC接收到的对所述被限流资源的访问请求所对应的时间戳;根据第二数量和第二差值,确定所述被限流资源在上一采样周期中在从DC的第二被访问流量。由此,将对被限流资源的访问请求以时间戳的形式存入第二缓存单元,进而基于时间戳的数量,以及最早时间戳和最晚时间戳的时间差,计算第二被访问流量,可提升计算第二访问流量的准确性。
具体的,若第二差值不大于单位采样周期的时间长度,则将第二数量确定为所述被限流资源在上一采样周期中在从DC的第二被访问流量;若第二差值大于单位采样周期的时间长度,则根据第二数量和第二差值确定所述被限流资源在单位采样周期中的平均被访问流量,将该平均被访问流量确定为所述被限流资源在上一采样周期中在从DC的第二被访问流量。由此,在第二差值大于单位采样周期的时间长度(即计数跨越多个采样周期)时,通过时间差计算得到单位采样周期内的平均访问流量,提升计算得到第二被访问流量的准确性。
S303、接收主DC发送的所述从DC对应的子访问量阈值,根据所述子访问量阈值对所述被限流资源进行访问控制。
在一种可选的实时方式中,基于令牌桶算法对被限流资源进行访问控制。示例性的,将各从DC对应的子访问量阈值存储在分布式缓存服务器中,用户请求到某个被限流的资源时,读取被限流的资源的子访问量阈值,如果大于0,则提供服务的同时将缓存中的子访问量阈值减1,否则拒绝访问。
本申请实实施例中,在多DC场景下,基于被限流资源在上一采样周期中,在每个DC的实际访问量,以及预先设置的总访问量阈值,计算各个DC在当前采样周期的子访问量阈值,由此,即使当被限流资源所属的服务被安装在多个DC上时,各个DC基于自身的子访问量阈值对被限流资源进行访问控制,解决了各DC的缓存服务由于存在物理隔离而引起的并发问题。
图4是本申请第四实施例提供的资源的访问控制方法的流程示意图,本实施例是在上述实施例的基础上进行优化,参见图4,所述方法包括:
S401、接收主DC在当前采样周期发送的被限流资源的访问流量获取请求。
S402、获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,将第二被访问流量返回给主DC,以使主DC根据第一被访问流量、各从DC返回的第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值。
本申请实施例中,从DC在获取所述被限流资源在上一采样周期中在从DC的第二被访问流量之前,还包括:从DC中各个从服务器依次读取预先设置的全局锁变量,根据所述全局锁变量的当前取值确定所述全局锁变量是否处于释放状态(例如全局锁变量的值为0);在一个从服务器确定在所述全局锁变量处于释放状态时,由该从服务器触发执行获取被限流资源在上一采样周期中,在从DC的第二被访问流量的操作;通过修改所述全局锁变量的当前取值,将全局锁变量的状态变为非释放状态(例如全局锁变量的值为1);其中,所述全局锁变量的初始状态为释放状态,所述全局锁变量的状态在变为非释放状态后经过单位采样周期的时间长度时,所述全局锁变量恢复为释放状态。由此,从DC中的各个从服务器依次轮询全局锁变量的值的方式,确定一个从服务器执行获取所述第二被访问流量的操作,实现了在一个采样周期,一个从DC中只有一个从服务器针对该被限流资源执行本申请资源的访问控制方法。
S403、判断被限流资源是否被部署在从DC的一个从服务器中,若是,则执行S404-S405,否则执行S406-S407。
S404、将从DC对应的子访问量阈值,写入从DC中部署有所述被限流资源的从服务器的本地缓存中。
S405、从服务器在接收到针对所述被限流资源的访问请求时,读取所述本地缓存中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
针对被限流资源是否被部署在从DC的一个从服务器中的情况,只需将从DC对应的子访问量阈值,写入从DC中部署有所述被限流资源的从服务器的本地缓存中,后续在接收到针对所述被限流资源的访问请求时,只需在本地缓存中查看是否达到访问阈值,进而进行访问控制,可提升访问控制的效率。
S406、将从DC对应的子访问量阈值,写入从DC的缓存服务器中。
若所述被限流资源被部署在从DC的多个从服务器中,则将从DC对应的子访问量阈值,写入从DC的缓存服务器中。
S407、从DC中部署有所述被限流资源的从服务器,在接收到针对所述被限流资源的访问请求时,读取所述缓存服务器中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
被限流资源被部署在从DC的多个从服务器时,将从DC对应的子访问量阈值写入从DC的缓存服务器中,后续接收到访问请求时,各从服务器查看是否达到缓存服务器中设置的访问阈值,来分别进行访问控制,可提升访问控制的效率。
本申请实施例中,根据被限流资源是否被部署在从DC的一个从服务器中,将从DC对应的子访问量阈值部署在不同的位置,可有效提升对被限流资源的访问控制的效率。
图5是根据本申请第五实施例的资源的访问控制装置的结构示意图,本实施例可适用于控制被限流资源的访问流量的情况。该装置可配置于主数据中心DC。如图5所示,该装置500具体包括:
流量获取模块501,用于在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;
阈值分配模块502,用于根据第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值;
第一访问控制模块503,用于根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,以使各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制。
可选的,流量获取模块包括:
第一时间戳计算单元,用于确定针对所述被限流资源预先设置的第一缓存单元中存储的时间戳的第一数量、以及第一缓存单元中最早的时间戳与最晚的时间戳之间的第一差值;其中,第一缓存单元用于存储主DC接收到的对所述被限流资源的访问请求所对应的时间戳;
第一访问流量获取单元,用于根据第一数量和第一差值,确定所述被限流资源在上一采样周期中在主DC的第一被访问流量。
可选的,第一访问流量获取单元具体用于:
若第一差值不大于单位采样周期的时间长度,则将第一数量确定为所述被限流资源在上一采样周期中在主DC的第一被访问流量;
若第一差值大于单位采样周期的时间长度,则根据第一数量和第一差值确定所述被限流资源在单位采样周期中的平均被访问流量,将该平均被访问流量确定为所述被限流资源在上一采样周期中在主DC的第一被访问流量。
可选的,阈值分配模块包括:
比例确定单元,用于根据第一被访问流量和第二被访问流量,确定主DC和各从DC分别对应的访问量比例;
阈值分配单元,用于根据所述访问量比例确定主DC和各从DC分别对应的子访问量阈值。
可选的,所述装置还包括:
状态读取模块,用于读取预先设置的全局锁变量,根据所述全局锁变量的当前取值确定所述全局锁变量是否处于释放状态;
触发模块,用于在所述全局锁变量处于释放状态时,触发执行获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量的操作;
状态修改模块,用于通过修改所述全局锁变量的当前取值,将所述全局锁变量的状态变为非释放状态;
其中,所述全局锁变量的初始状态为释放状态,所述全局锁变量的状态在变为非释放状态后经过单位采样周期的时间长度时,所述全局锁变量恢复为释放状态。
可选的,若所述被限流资源被部署在主DC的一个主服务器中,则第一访问控制模块包括:
第一阈值写入单元,用于将主DC对应的子访问量阈值,写入主DC中部署有所述被限流资源的主服务器的本地缓存中;
第一访问控制单元,用于主服务器在接收到针对所述被限流资源的访问请求时,读取所述本地缓存中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
可选的,若所述被限流资源被部署在主DC的多个主服务器中,则第一访问控制模块包括:
第二阈值写入单元,用于将主DC对应的子访问量阈值,写入主DC的缓存服务器中;
第二访问控制单元,用于主DC中部署有所述被限流资源的主服务器,在接收到针对所述被限流资源的访问请求时,读取所述缓存服务器中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
可选的,所述装置还包括:
总访问量获取模块,用于获取预先配置于主DC的主服务器中,采用私钥加密后的服务部署许可证信息,采用公钥对所述服务部署许可证信息进行解密,若解密成功,则从解密后的信息中读取所述被限流资源的总访问量阈值。
可选的,所述装置还包括:
进程停止模块,用于若对所述服务部署许可证信息的解密失败,则停止运行在所述主服务器的所述被限流资源对应的服务进程。
本申请实施例提供的资源的访问控制装置500可执行本申请任意实施例提供的资源的访问控制方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
图6是本申请第六实施例的资源的访问控制装置的结构示意图,本实施例可适用于控制被限流资源的访问流量的情况。该装置可配置于从数据中心DC。如图6所示,该装置600具体包括:
请求接收模块601,用于接收主DC在当前采样周期发送的被限流资源的访问流量获取请求;
流量获取与反馈模块602,用于获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,将第二被访问流量返回给主DC,以使主DC根据第一被访问流量、各从DC返回的第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值,第一被访问流量是所述被限流资源在上一采样周期中在主DC的被访问流量;
第二访问控制模块603,用于接收主DC发送的所述从DC对应的子访问量阈值,根据所述子访问量阈值对所述被限流资源进行访问控制。
可选的,流量获取与反馈模块包括:
第二时间戳计算单元,用于确定针对所述被限流资源预先设置的第二缓存单元中存储的时间戳的第二数量、以及第二缓存单元中最早的时间戳与最晚的时间戳之间的第二差值;其中,第二缓存单元用于存储从DC接收到的对所述被限流资源的访问请求所对应的时间戳;
第二访问流量获取单元,用于根据第二数量和第二差值,确定所述被限流资源在上一采样周期中在从DC的第二被访问流量。
可选的,第二访问流量获取单元具体用于:
若第二差值不大于单位采样周期的时间长度,则将第二数量确定为所述被限流资源在上一采样周期中在从DC的第二被访问流量;
若第二差值大于单位采样周期的时间长度,则根据第二数量和第二差值确定所述被限流资源在单位采样周期中的平均被访问流量,将该平均被访问流量确定为所述被限流资源在上一采样周期中在从DC的第二被访问流量。
可选的,若所述被限流资源被部署在从DC的一个从服务器中,则第二访问控制模块包括:
第三阈值写入单元,用于将从DC对应的子访问量阈值,写入从DC中部署有所述被限流资源的从服务器的本地缓存中;
第三访问控制单元,用于从服务器在接收到针对所述被限流资源的访问请求时,读取所述本地缓存中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
可选的,若所述被限流资源被部署在从DC的多个从服务器中,则第二访问控制模块包括:
第四阈值写入单元,用于将从DC对应的子访问量阈值,写入从DC的缓存服务器中;
第四访问控制单元,用于从DC中部署有所述被限流资源的从服务器,在接收到针对所述被限流资源的访问请求时,读取所述缓存服务器中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
本申请实施例提供的资源的访问控制装置600可执行本申请任意实施例提供的资源的访问控制方法,具备执行方法相应的功能模块和有益效果。本实施例中未详尽描述的内容可以参考本申请任意方法实施例中的描述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的资源的访问控制方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的资源的访问控制方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的资源的访问控制方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的资源的访问控制方法对应的程序指令/模块(例如,附图5所示的流量获取模块501、阈值分配模块502、第一访问控制模块503)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的资源的访问控制方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据实现本申请实施例的资源的访问控制方法的电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至实现本申请实施例的资源的访问控制方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现本申请实施例的资源的访问控制方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与实现本申请实施例的资源的访问控制方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,在多DC场景下,基于被限流资源在上一采样周期中,在每个DC的实际访问量,以及预先设置的总访问量阈值,计算各个DC在当前采样周期的子访问量阈值,由此,即使当被限流资源所属的服务被安装在多个DC上时,各个DC基于自身的子访问量阈值对被限流资源进行访问控制,解决了各DC的缓存服务由于存在物理隔离而引起的并发问题;通过将对被限流资源的访问请求以时间戳的形式存入第一缓存单元,进而基于时间戳的数量,以及最早时间戳和最晚时间戳的时间差,计算第一访问流量,可实现在计数跨越多个采样周期(即第一差值大于单位采样周期的时间长度)时,通过时间差计算得到单位采样周期内的平均访问流量,提升计算得到第一被访问流量的准确性;通过将总访问量阈值配置于服务部署许可证中,可防止总访问量阈值被篡改,进而保证有效实现访问控制。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (20)
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.根据权利要求10所述的方法,其特征在于,获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,包括:
确定针对所述被限流资源预先设置的第二缓存单元中存储的时间戳的第二数量、以及第二缓存单元中最早的时间戳与最晚的时间戳之间的第二差值;其中,第二缓存单元用于存储从DC接收到的对所述被限流资源的访问请求所对应的时间戳;
根据第二数量和第二差值,确定所述被限流资源在上一采样周期中在从DC的第二被访问流量。
12.根据权利要求11所述的方法,其特征在于,根据第二数量和第二差值,确定所述被限流资源在上一采样周期中在从DC的第二被访问流量,包括:
若第二差值不大于单位采样周期的时间长度,则将第二数量确定为所述被限流资源在上一采样周期中在从DC的第二被访问流量;
若第二差值大于单位采样周期的时间长度,则根据第二数量和第二差值确定所述被限流资源在单位采样周期中的平均被访问流量,将该平均被访问流量确定为所述被限流资源在上一采样周期中在从DC的第二被访问流量。
13.根据权利要求10所述的方法,其特征在于,若所述被限流资源被部署在从DC的一个从服务器中,则根据所述子访问量阈值对所述被限流资源进行访问控制,包括:
将从DC对应的子访问量阈值,写入从DC中部署有所述被限流资源的从服务器的本地缓存中;
从服务器在接收到针对所述被限流资源的访问请求时,读取所述本地缓存中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
14.根据权利要求10所述的方法,其特征在于,若所述被限流资源被部署在从DC的多个从服务器中,则根据所述子访问量阈值对所述被限流资源进行访问控制,包括:
将从DC对应的子访问量阈值,写入从DC的缓存服务器中;
从DC中部署有所述被限流资源的从服务器,在接收到针对所述被限流资源的访问请求时,读取所述缓存服务器中的子访问量阈值,根据读取的所述子访问量阈值确定是否拒绝所述访问请求。
15.一种资源的访问控制装置,其特征在于,配置于主数据中心DC,包括:
流量获取模块,用于在当前采样周期到达时,获取被限流资源在上一采样周期中,在主DC的第一被访问流量以及在各从DC的第二被访问流量;
阈值分配模块,用于根据第一被访问流量、各所述第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值;
第一访问控制模块,用于根据主DC对应的子访问量阈值对所述被限流资源进行访问控制,并将各从DC对应的子访问量阈值发送至对应的从DC,以使各从DC根据接收的子访问量阈值对所述被限流资源进行访问控制。
16.根据权利要求15所述的装置,其特征在于,流量获取模块包括:
第一时间戳计算单元,用于确定针对所述被限流资源预先设置的第一缓存单元中存储的时间戳的第一数量、以及第一缓存单元中最早的时间戳与最晚的时间戳之间的第一差值;其中,第一缓存单元用于存储主DC接收到的对所述被限流资源的访问请求所对应的时间戳;
第一访问流量获取单元,用于根据第一数量和第一差值,确定所述被限流资源在上一采样周期中在主DC的第一被访问流量。
17.根据权利要求15-16中任一项所述的装置,其特征在于,所述装置还包括:
总访问量获取模块,用于获取预先配置于主DC的主服务器中,采用私钥加密后的服务部署许可证信息,采用公钥对所述服务部署许可证信息进行解密,若解密成功,则从解密后的信息中读取所述被限流资源的总访问量阈值。
18.一种资源的访问控制装置,其特征在于,配置于从数据中心DC,包括:
请求接收模块,用于接收主DC在当前采样周期发送的被限流资源的访问流量获取请求;
流量获取与反馈模块,用于获取所述被限流资源在上一采样周期中在从DC的第二被访问流量,将第二被访问流量返回给主DC,以使主DC根据第一被访问流量、各从DC返回的第二被访问流量、以及预先配置的所述被限流资源的总访问量阈值,确定主DC和各从DC分别对应的子访问量阈值;其中各所述子访问量阈值的累加值不超过所述总访问量阈值,第一被访问流量是所述被限流资源在上一采样周期中在主DC的被访问流量;
第二访问控制模块,用于接收主DC发送的所述从DC对应的子访问量阈值,根据所述子访问量阈值对所述被限流资源进行访问控制。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-14中任一项所述的资源的访问控制方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-14中任一项所述的资源的访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010431765.6A CN111625859A (zh) | 2020-05-20 | 2020-05-20 | 一种资源的访问控制方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010431765.6A CN111625859A (zh) | 2020-05-20 | 2020-05-20 | 一种资源的访问控制方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625859A true CN111625859A (zh) | 2020-09-04 |
Family
ID=72259061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010431765.6A Pending CN111625859A (zh) | 2020-05-20 | 2020-05-20 | 一种资源的访问控制方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625859A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112437018A (zh) * | 2020-11-19 | 2021-03-02 | 百度在线网络技术(北京)有限公司 | 分布式集群的流量控制方法、装置、设备和存储介质 |
CN113037597A (zh) * | 2021-05-21 | 2021-06-25 | 北京每日优鲜电子商务有限公司 | 流量监控方法、装置、电子设备和计算机可读介质 |
CN113726683A (zh) * | 2021-09-09 | 2021-11-30 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
CN115225579A (zh) * | 2022-06-09 | 2022-10-21 | 深圳金融电子结算中心有限公司 | 流量限制方法、系统、应用服务器及可读存储介质 |
CN117076157A (zh) * | 2023-09-21 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 请求管理方法、装置、计算机可读存储介质及计算机设备 |
CN117112236A (zh) * | 2023-10-23 | 2023-11-24 | 山东曙光照信息技术股份有限公司 | 基于数据涌流及波动性预测的辖区服务器配置方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092650A (zh) * | 2013-12-04 | 2014-10-08 | 腾讯数码(天津)有限公司 | 一种分配业务请求的方法和装置 |
CN107295572A (zh) * | 2016-04-11 | 2017-10-24 | 北京搜狗科技发展有限公司 | 一种动态自适应限流方法及电子设备 |
CN108259376A (zh) * | 2018-04-24 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 服务器集群业务流量的控制方法及相关设备 |
CN109727073A (zh) * | 2018-12-29 | 2019-05-07 | 携程旅游网络技术(上海)有限公司 | 访问流量控制方法、系统、电子设备和存储介质 |
CN109802973A (zh) * | 2019-03-15 | 2019-05-24 | 北京百度网讯科技有限公司 | 用于检测流量的方法和装置 |
CN111030936A (zh) * | 2019-11-18 | 2020-04-17 | 腾讯云计算(北京)有限责任公司 | 网络访问的限流控制方法、装置及计算机可读存储介质 |
-
2020
- 2020-05-20 CN CN202010431765.6A patent/CN111625859A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104092650A (zh) * | 2013-12-04 | 2014-10-08 | 腾讯数码(天津)有限公司 | 一种分配业务请求的方法和装置 |
CN107295572A (zh) * | 2016-04-11 | 2017-10-24 | 北京搜狗科技发展有限公司 | 一种动态自适应限流方法及电子设备 |
CN108259376A (zh) * | 2018-04-24 | 2018-07-06 | 北京奇艺世纪科技有限公司 | 服务器集群业务流量的控制方法及相关设备 |
CN109727073A (zh) * | 2018-12-29 | 2019-05-07 | 携程旅游网络技术(上海)有限公司 | 访问流量控制方法、系统、电子设备和存储介质 |
CN109802973A (zh) * | 2019-03-15 | 2019-05-24 | 北京百度网讯科技有限公司 | 用于检测流量的方法和装置 |
CN111030936A (zh) * | 2019-11-18 | 2020-04-17 | 腾讯云计算(北京)有限责任公司 | 网络访问的限流控制方法、装置及计算机可读存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112437018A (zh) * | 2020-11-19 | 2021-03-02 | 百度在线网络技术(北京)有限公司 | 分布式集群的流量控制方法、装置、设备和存储介质 |
CN112437018B (zh) * | 2020-11-19 | 2024-04-12 | 百度在线网络技术(北京)有限公司 | 分布式集群的流量控制方法、装置、设备和存储介质 |
CN113037597A (zh) * | 2021-05-21 | 2021-06-25 | 北京每日优鲜电子商务有限公司 | 流量监控方法、装置、电子设备和计算机可读介质 |
CN113726683A (zh) * | 2021-09-09 | 2021-11-30 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
CN113726683B (zh) * | 2021-09-09 | 2023-08-15 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
CN115225579A (zh) * | 2022-06-09 | 2022-10-21 | 深圳金融电子结算中心有限公司 | 流量限制方法、系统、应用服务器及可读存储介质 |
CN117076157A (zh) * | 2023-09-21 | 2023-11-17 | 腾讯科技(深圳)有限公司 | 请求管理方法、装置、计算机可读存储介质及计算机设备 |
CN117076157B (zh) * | 2023-09-21 | 2024-01-12 | 腾讯科技(深圳)有限公司 | 请求管理方法、装置、计算机可读存储介质及计算机设备 |
CN117112236A (zh) * | 2023-10-23 | 2023-11-24 | 山东曙光照信息技术股份有限公司 | 基于数据涌流及波动性预测的辖区服务器配置方法及系统 |
CN117112236B (zh) * | 2023-10-23 | 2024-02-20 | 山东曙光照信息技术股份有限公司 | 基于数据涌流及波动性预测的辖区服务器配置方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111625859A (zh) | 一种资源的访问控制方法、装置、电子设备和存储介质 | |
TWI530875B (zh) | 施加用以調度在虛擬機器之間的網路頻寬之政策 | |
CN111512602B (zh) | 一种发送报文的方法、设备和系统 | |
US9667681B1 (en) | Systems and methods for providing messages to multiple subscribers | |
US8005950B1 (en) | Application server scalability through runtime restrictions enforcement in a distributed application execution system | |
CN110618871B (zh) | 一种fpga云平台加速资源的分配方法与系统 | |
EP2216732A1 (en) | Virtual machine software license management | |
JP6881575B2 (ja) | 資源割当システム、管理装置、方法およびプログラム | |
CN106411558B (zh) | 一种数据流量限制的方法及系统 | |
US11461199B2 (en) | Redundancy method, device, and system | |
US11265253B2 (en) | Network resource management for hyperconverged infrastructures | |
CN112153167B (zh) | 网际互连协议管理方法、装置、电子设备及存储介质 | |
US10560385B2 (en) | Method and system for controlling network data traffic in a hierarchical system | |
CN111158878B (zh) | 资源转移请求线程控制方法、装置及存储介质 | |
CN110545541A (zh) | 防御攻击行为的方法、装置、设备、终端和介质 | |
US10360057B1 (en) | Network-accessible volume creation and leasing | |
US10209905B2 (en) | Reusing storage blocks of a file system | |
CN110661824A (zh) | 分布式集群中服务器的流量调控方法以及装置 | |
CN106936931A (zh) | 分布式锁的实现方法、相关设备及系统 | |
CN115576684A (zh) | 任务处理方法、装置、电子设备及存储介质 | |
US10884818B2 (en) | Increasing processing capacity of virtual machines | |
US9942118B1 (en) | Sentinel network devices and sentinel marker | |
US8977752B2 (en) | Event-based dynamic resource provisioning | |
CN107426012B (zh) | 一种基于超融合架构的故障恢复方法及其装置 | |
US10348814B1 (en) | Efficient storage reclamation for system components managing storage |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |