CN107436835B - 访问控制方法和装置 - Google Patents
访问控制方法和装置 Download PDFInfo
- Publication number
- CN107436835B CN107436835B CN201710476797.6A CN201710476797A CN107436835B CN 107436835 B CN107436835 B CN 107436835B CN 201710476797 A CN201710476797 A CN 201710476797A CN 107436835 B CN107436835 B CN 107436835B
- Authority
- CN
- China
- Prior art keywords
- users
- access
- user
- actual
- access time
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3433—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
Abstract
本发明实施例提供一种访问控制方法和装置,该方法包括:获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及N个用户的总访问次数;根据服务器的最大允许访问次数和总访问次数的比较结果,以及N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内N个用户各自对应的实际访问次数阈值;根据N个用户各自对应的实际访问次数阈值对N个用户在下一统计时长内的访问进行访问控制。综合考虑服务器的服务能力以及N个用户的访问情况,调整N个用户在下一统计时长内采用的访问次数阈值,不再固定采用初始访问次数阈值对N个用户进行访问控制,有助于提高服务器服务能力的利用率。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种访问控制方法和装置。
背景技术
服务器创建后对用户提供服务,受限于硬件成本,服务器的服务能力存在着上限,比如表现为在某个时间段内允许访问的访问次数有限,因此,服务器一般都会设置访问控制机制,以控制一定时间内对服务器产生的访问次数。如果服务器没有设计访问控制机制,极容易造成因短时间内访问用户数过多导致宕机的情况发生。
目前,一种常用的访问控制机制是,通过设定访问计数器,在预设时间内记录某个用户触发的访问请求次数。如果该用户当前触发了一次访问请求,而此时该访问计数器累计的访问次数已经达到该用户对应的预设的访问次数阈值,则拒绝此时该用户触发的访问请求,反之,如果访问计数器累计的访问次数没有超过访问次数阈值则响应该访问请求。
发明内容
在现有的访问控制机制中,为各用户设置固定的访问次数阈值,用于对相应用户在一定时间内的访问请求进行响应与否的控制。
该机制局限在单一用户访问次数的限制上,并没有结合服务器的能力从全局访问情况的角度进行综合考虑,很可能导致没有最大化利用服务器的服务能力。
举例来说,假设某时刻某用户触发了访问请求,但该用户在一定时间内的访问次数已经达到该用户对应的访问次数阈值,而此时服务器的负载并不繁重,还有足够的能力响应用户的访问请求,那么此时仅基于该用户的访问次数阈值就拒绝该用户触发的访问请求不但会导致用户无法对服务器进行访问,还会使得服务器的服务能力不能被充分利用。
有鉴于此,本发明实施例提供一种访问控制方法和装置,通过结合服务器的服务能力而动态调整各用户的访问次数阈值,以提高服务器服务能力的利用率。
第一方面,本发明实施例提供一种访问控制方法,包括:
获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数;
根据所述服务器的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值;
根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
第二方面,本发明实施例提供一种访问控制装置,包括:
获取模块,用于获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数;
调整模块,用于根据所述服务器的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值;
控制模块,用于根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
在一个可能的设计中,上述访问控制装置的结构中包括处理器和存储器,所述存储器用于存储支持访问控制装置执行上述第一方面中访问控制方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述访问控制装置还可以包括通信接口,用于访问控制装置与其他设备或通信网络通信。
第三方面,本发明实施例提供了一种计算机存储介质,用于储存访问控制装置所用的计算机软件指令,其包含用于执行上述第一方面中访问控制方法所涉及的程序。
本发明实施例提供的访问控制方法和装置,对上一统计时长内访问服务器的N个用户各自对应的已访问次数以及N个用户的总访问次数进行统计,进而,根据服务器的最大允许访问次数和总访问次数的比较结果,以及N个用户各自对应的初始访问次数阈值和已访问次数的比较结果,对N个用户在下一统计时长内各自对应的实际访问次数阈值进行调整,也就是说,从全局的角度,综合考虑服务器的服务能力以及N个用户的访问情况,调整N个用户在下一统计时长内各自采用的访问次数阈值,从而,在下一统计时长内,采用调整后的N个用户各自对应的实际访问次数阈值对N个用户进行访问控制,而不再固定采用N个用户各自的初始访问次数阈值对N个用户进行访问控制,从而有助于提高服务器服务能力的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的访问控制方法实施例一的流程图;
图2为本发明实施例提供的访问控制方法实施例二的流程图;
图3为本发明实施例提供的访问控制方法实施例三的流程图;
图4为本发明实施例提供的访问控制装置实施例一的结构示意图;
图5为本发明实施例提供的访问控制装置实施例二的结构示意图;
图6为本发明实施例提供的访问控制装置实施例三的结构示意图;
图7为本发明实施例提供的与访问控制装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本发明实施例中可能采用术语第一、第二、第三等来描述XXX,但这些XXX不应限于这些术语。这些术语仅用来将XXX区分开。例如,在不脱离本发明实施例范围的情况下,第一XXX也可以被称为第二XXX,类似地,第二XXX也可以被称为第一XXX。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
进一步值得说明的是,本发明各实施例中各步骤之间的顺序是可以调整的,不是必须按照以下举例的顺序执行。
在对本发明实施例提供的访问控制方法进行具体说明之前,先对该方法的核心思想进行简要说明:该访问控制方法是从全局的角度,即结合服务器的服务能力上限、一定时间内全部访问用户对服务器的访问情况以及该全部用户在该一定时间内各自的访问次数情况,对该全部用户的访问次数阈值进行动态调整。针对其中的任一用户来说,调整后的实际访问次数阈值可能是维持该用户对应的预设的初始访问次数阈值不变,可能是相比于该初始访问次数阈值提高了,可能是相比于该初始访问次数阈值降低了。
概括来说,整体的调整策略是:在服务器能力富足时,尽量提高用户的访问次数阈值从而最大化满足用户的访问需求,提高服务器的利用率;在服务器能力紧张的时候,尽量降低用户的访问次数阈值,以避免因用户的访问次数阈值过高导致服务器过载的情况出现。即在最大化利用服务器服务能力的基础上对用户的访问进行合理有效的控制,在实现服务器自我保护的同时保障用户的正常访问。
但是,值得说明的是,上述概括而言的调整策略并非意味着只要服务器能力富足就会提高所有用户的访问次数阈值,也并非意味着只要服务器能力紧张就会降低所有用户的访问次数阈值,具体的调整策略参见后续实施例的说明。
另外,下述实施例中涉及到几个参数,先对这几个参数进行简要介绍:
初始访问次数阈值:一个用户具有与之对应的初始访问次数阈值,该初始访问次数阈值是预先设定的固定值。
实际访问次数阈值:是指在一个统计时长内,针对一个用户来说,实际采用的访问次数阈值,该实际访问次数阈值可能大于该用户对应的初始访问次数阈值,也可能小于该用户对应的初始访问次数阈值,还可能等于该用户对应的初始访问次数阈值。
最大允许访问次数:是服务器的服务能力上限的一种可选的度量参数,是指在一个统计时长内服务器的最大允许访问次数来表示,该最大允许访问次数可以被预先设定。
图1为本发明实施例提供的访问控制方法实施例一的流程图,本实施例提供的该访问控制方法可以由一访问控制装置来执行,该访问控制装置可以实现为软件,或者实现为软件和硬件的组合,该访问控制装置可以集成设置在服务器中。如图1所示,该方法包括如下步骤:
101、获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数。
102、根据服务器的最大允许访问次数和总访问次数的比较结果,以及N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内N个用户各自对应的实际访问次数阈值。
103、根据N个用户各自对应的实际访问次数阈值对N个用户在所述下一统计时长内的访问进行访问控制。
上述统计时长可以预先设定,比如可以设置为1分钟、5分钟、30分钟等。
实际应用中,用户访问服务器时,会向服务器发送访问请求,该访问请求中包括用户身份信息,服务器接收到该访问请求后,解析得到该用户身份信息,从而获知是哪个用户需要访问服务器。
基于此,服务器可以累计获得一个统计时长内访问服务器的全部用户各自对应的已访问次数,进而通过加和全部用户各自对应的已访问次数得到全部用户对应的总访问次数。本实施例中,假设该全部用户的用户数为N,N为大于或等于1的整数。
值得说明的是,本发明实施例中,是以上一统计时长内访问服务器的N个用户的已访问次数的统计结果来调整相邻的下一统计时长内该N个用户对应的实际访问次数阈值。而如果该上一统计时长是服务器开始工作后的第一个统计时长,则将会以各用户对应的初始访问次数阈值对该统计时长内访问服务器的各用户进行访问控制。
各用户对应的初始访问次数阈值是被预先设定的一个固定值。所有访问服务器的用户可以被设置为具有相同的初始访问次数阈值,但是,可选地,也可以为不同的用户设置不同的初始访问次数阈值。此时,可选地,可以预先设置多种用户等级,不同用户等级对应于不同的初始访问次数阈值,从而,当某用户触发了对服务器的访问请求时,可以根据该用户的用户身份信息确定该用户对应的用户等级,进而确定该用户对应的初始访问次数阈值。可以理解的是,高等级的用户所具有的初始访问次数阈值大于低等级用户所具有的初始访问次数阈值。
可以了解的是,服务器的最大允许访问次数会远大于一个用户的初始访问次数阈值。但是,该最大允许访问次数与N个用户的初始访问次数阈值的总和并无必然的大小关系。
在统计获得上一统计时长内访问服务器的N个用户各自对应的已访问次数以及这N个用户的总访问次数之后,结合服务器的最大允许访问次数、N个用户各自对应的初始访问次数阈值,根据N个用户各自对应的已访问次数以及这N个用户的总访问次数,调整这N个用户在下一统计时长内各自对应的实际访问次数阈值。具体来说,就是根据服务器的最大允许访问次数和总访问次数的比较结果,以及N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内N个用户各自对应的实际访问次数阈值。
其中,比较服务器的最大允许访问次数和总访问次数,是为了确定这N个用户在上一统计时长内对服务器的访问是否超过了服务器的服务能力上限,亦即确定服务器的服务能力是否富足。针对这N个用户中的任一用户来说,比较该用户的已访问次数和初始访问次数阈值,是为了确定该用户对应的初始访问次数阈值是否能够满足该用户的访问需求。
结合前述介绍的调整策略的整体原则,在一种可选的调整方式中,当服务器的服务能力富足时,如果N个用户中有些用户的初始访问次数阈值不能满足用户的访问需求,则可以提高这些用户在下一统计时长内的实际访问次数阈值,使得实际访问次数阈值大于初始访问次数阈值。在另一种可选的调整方式中,如果N个用户还没有达到对应的初始访问次数阈值就使得服务器的服务能力不富足,则可以降低用户在下一统计时长内的实际访问次数阈值。
更加详细的调整方式可以参见后续实施例中的说明,本实施例中仅强调:可以根据上一统计时长内N个用户的总访问次数是否超出了服务器的最大允许访问次数以及N个用户各自的已访问次数是否超过对应的初始访问次数阈值来调整下一统计时长内N个用户的实际访问次数阈值。
进而,可以根据调整后的N个用户各自对应的实际访问次数阈值对N个用户在下一统计时长内的访问进行访问控制。针对N个用户中的任一用户来说就是,如果该用户在下一统计时长内对服务器的访问次数已经累计达到了该用户对应的实际访问次数阈值,则服务器将会拒绝该用户在该统计时长内后续触发的访问请求。
本实施例中,对上一统计时长内访问服务器的N个用户各自对应的已访问次数以及N个用户的总访问次数进行统计,进而,根据服务器的最大允许访问次数和总访问次数的比较结果,以及N个用户各自对应的初始访问次数阈值和已访问次数的比较结果,对N个用户在下一统计时长内各自对应的实际访问次数阈值进行调整,也就是说,从全局的角度,综合考虑服务器的服务能力以及N个用户的访问情况,调整N个用户在下一统计时长内各自采用的访问次数阈值,从而,在下一统计时长内,采用调整后的N个用户各自对应的实际访问次数阈值对N个用户进行访问控制,而不再固定采用N个用户各自的初始访问次数阈值对N个用户进行访问控制,从而有助于提高服务器服务能力的利用率。
图2为本发明实施例提供的访问控制方法实施例二的流程图,如图2所示,可以包括如下步骤:
201、获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及N个用户的总访问次数。
202、若总访问次数小于最大允许访问次数,并且N个用户中存在第一用户,第一用户对应的已访问次数大于第一用户对应的初始访问次数阈值,则提高第一用户在下一统计时长内对应的实际访问次数阈值。
203、若总访问次数小于最大允许访问次数,并且N个用户中存在第二用户,第二用户对应的已访问次数小于或等于第二用户对应的初始访问次数阈值,则确定第二用户在下一统计时长内对应的实际访问次数阈值为第二用户对应的初始访问次数阈值。
本实施例中对上一统计时长内访问服务器的N个用户的总访问次数小于服务器的最大允许访问次数的情况下,如何调整N个用户在下一统计时长内各自对应的实际访问次数阈值进行说明。
可以理解的是,如果N个用户的总访问次数小于服务器的最大允许访问次数,说明服务器的服务能力富足,此时调整的原则是:尽量满足N个用户的访问需求,以便充分利用服务器的服务资源。
在该原则下,对于N个用户中的任一用户来说,如果该用户的已访问次数小于或等于该用户对应的初始访问次数阈值,说明该用户的初始访问次数阈值即可满足该用户的访问需求,从而,该用户在下一统计时长内的实际访问次数阈值可以等于该用户的初始访问次数阈值。而如果该用户的已访问次数大于该用户对应的初始访问次数阈值,说明该用户的初始访问次数阈值不足以满足该用户的访问需求,从而,需要提高该用户在下一统计时长内的实际访问次数阈值。可选地,可以确定用户在下一统计时长内的实际访问次数阈值为该用户在上一统计时长内对应的已访问次数。
本实施例中,将N个用户中已访问次数大于对应的初始访问次数阈值的用户称为第一用户,将N个用户中已访问次数小于或等于对应的初始访问次数阈值的用户称为第二用户。在获取N个用户各自对应的已访问次数后,根据各用户的已访问次数是否大于对应的初始访问次数阈值来确定N个用户中的第一用户和第二用户,进而,根据上述调整原则,对第一用户、第二用户进行实际访问次数阈值的调整。
基于本实施例中提供的实际访问次数阈值调整策略,可以使得在服务器的服务能力富足的情况下,满足用户的实际访问需求,提高对服务器的服务能力的利用率。
图3为本发明实施例提供的访问控制方法实施例三的流程图,如图3所示,可以包括如下步骤:
301、获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及N个用户的总访问次数。
本实施例中对上一统计时长内访问服务器的N个用户的总访问次数大于或等于服务器的最大允许访问次数的情况下,如何调整N个用户在下一统计时长内各自对应的实际访问次数阈值进行说明。
可以理解的是,如果N个用户的总访问次数大于或等于服务器的最大允许访问次数,说明服务器的服务能力不足,此时调整的原则是:尽量避免对服务器产生过重的访问负载,同时尽量满足N个用户的访问需求。具体的调整策略如下:
302、若总访问次数大于或等于服务器的最大允许访问次数,并且N个用户各自对应的已访问次数均小于各自对应的初始访问次数阈值,则降低N个用户在下一统计时长内各自对应的实际访问次数阈值。
若N个用户的总访问次数大于或等于服务器的最大允许访问次数,说明服务器的服务能力不足。进一步地,如果此时N个用户各自对应的已访问次数均小于各自对应的初始访问次数阈值,则说明N个用户即使以低于各自对应的初始访问次数阈值对服务器进行访问也会使得服务器的服务能力不足,说明N个用户对应的初始访问次数阈值设置的过高了,应该降低N个用户在下一统计时长内各自对应的实际访问次数阈值。
可选地,降低N个用户在下一统计时长内各自对应的实际访问次数阈值可以实现为:
根据如下公式确定N个用户中的任一用户在下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为服务器的最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为N个用户各自对应的初始访问次数阈值的总和。
举例来说,假设上一统计时长内统计到的N个用户包括用户1、用户2、用户3、用户4。用户1的初始访问次数阈值为A,用户2的初始访问次数阈值为B,用户3的初始访问次数阈值为C,用户4的初始访问次数阈值为D,服务器的最大允许访问次数为X。假设上一统计时长内统计得到的用户1的已访问次数为a,用户2的已访问次数为b,用户3的已访问次数为c,用户4的已访问次数为d。
若a+b+c+d>X,并且a<A,b<B,c<C,d<D,此时,可以确定用户1、用户2、用户3、用户4在下一统计时长内分别对应的实际访问次数阈值为:
用户1:X*A/(A+B+C+D)
用户2:X*B/(A+B+C+D)
用户3:X*C/(A+B+C+D)
用户4:X*D/(A+B+C+D)。
从调整结果上看,以用户1为例,因为A>X*A/(A+B+C+D),因此是降低了实际访问次数阈值。
303、若总访问次数大于或等于服务器的最大允许访问次数,并且N个用户中包括N1个第三用户和N2个第四用户,则确定N1个第三用户在下一统计时长内各自对应的实际访问次数阈值为N1个第三用户各自对应的初始访问次数阈值;根据公式(X-m3)*m4/m5确定N2个第四用户中任一用户在下一统计时长内各自对应的实际访问次数阈值。
其中,N1为大于或等于1的整数,N2为大于或等于1的整数,N=N1+N2。
其中,第三用户的已访问次数小于第三用户对应的初始访问次数阈值,第四用户的已访问次数大于或等于第四用户对应的初始访问次数阈值。
其中,X为服务器的最大允许访问次数,m3为N1个第三用户各自对应的已访问次数的总和,m4为所述N2个第四用户中任一用户对应的初始访问次数阈值,m5为N2个第四用户各自对应的初始访问次数阈值的总和。
基于上述对第三用户和第四用户的说明可知,步骤303对应的情况是:服务器的服务能力不足,并且N个用户中包括部分已访问次数小于对应的初始访问次数阈值的用户,以及部分已访问次数大于或等于对应的初始访问次数阈值的用户。
此时的调整策略可以是:维持N1个第三用户在下一统计时长内各自对应的实际访问次数阈值为N1个第三用户各自对应的初始访问次数阈值。对于N2个第四用户,可以根据公式(X-m3)*m4/m5确定N2个第四用户中任一用户在下一统计时长内各自对应的实际访问次数阈值。
仍以上述举例来说,此时为:a+b+c+d>X,并且a<A,b<B,c>C,d>D,则此时可以确定用户1、用户2、用户3、用户4在下一统计时长内分别对应的实际访问次数阈值为:
用户1:A
用户2:B
用户3:(X-a-b)*C/(C+D)
用户4:(X-a-b)*D/(C+D)。
从调整结果上来看,用户3和用户4的实际访问次数阈值是提高了还是降低了取决于a+b+C+D是否大于X,如果a+b+C+D>X,则是降低了,因为C>C*(X-a-b)/(C+D);如果a+b+C+D<X,则是提高了,因为C<C*(X-a-b)/(C+D)。
304、若总访问次数大于或等于服务器的最大允许访问次数,并且N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且N个用户各自对应的初始访问次数阈值的总和大于最大允许访问次数,则降低N个用户在下一统计时长内各自对应的实际访问次数阈值。
若N个用户的总访问次数大于或等于服务器的最大允许访问次数,并且N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且N个用户各自对应的初始访问次数阈值的总和大于最大允许访问次数,则说明服务器的服务能力不足,不能够同时满足N个用户以各自的初始访问次数阈值进行访问,说明N个用户的初始访问次数阈值设置过高,应该降低N个用户在下一统计时长内各自对应的实际访问次数阈值。
可选地,降低N个用户在下一统计时长内各自对应的实际访问次数阈值可以实现为:
根据如下公式确定N个用户中任一用户在下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为服务器的最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为N个用户各自对应的初始访问次数阈值的总和。
仍以上述举例来说,此时a>A,b>B,c>C,d>D,a+b+c+d>A+B+C+D>X,此时,可以确定用户1、用户2、用户3、用户4在下一统计时长内分别对应的实际访问次数阈值为:
用户1:X*A/(A+B+C+D)
用户2:X*B/(A+B+C+D)
用户3:X*C/(A+B+C+D)
用户4:X*D/(A+B+C+D)。
从调整结果上看,以用户1为例,因为A>X*A/(A+B+C+D),因此是降低了实际访问次数阈值。
305、若总访问次数大于或等于服务器的最大允许访问次数,并且N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且N个用户各自对应的初始访问次数阈值的总和小于大允许访问次数,则根据N个用户各自对应的用户等级,调整在下一统计时长内N个用户各自对应的实际访问次数阈值。
相比于步骤304所对应的情况,步骤305中,若在总访问次数大于或等于服务器的最大允许访问次数,N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值的情况下,N个用户各自对应的初始访问次数阈值的总和小于大允许访问次数,说明服务器的服务能力虽然不足,但是能够满足N个用户以各自对应的初始访问次数阈值进行访问,说明此时可以适当提高部分用户的实际访问次数阈值。
而被提高实际访问次数阈值的这部分用户的选择依据,可以根据N个用户的用户等级来选择。
可选地,可以先根据预设等级,确定N个用户中包含的N3个第五用户和N4个第六用户,其中,第五用户的用户等级低于预设等级,第六用户的用户等级高于或等于预设等级,N3为大于或等于0的整数,N4为大于或等于0的整数,N=N3+N4。
之后,如果N3不为0,则可以确定N3个第五用户在下一统计时长内各自对应的实际访问次数阈值为N3个第五用户各自对应的初始访问次数阈值。即对于低于预设等级的第五用户,使其对应的实际访问次数维持其对应的初始访问次数阈值不变。如果N4不为0,则提高N4个第六用户在下一统计时长内对应的实际访问次数阈值。
可选地,提高N4个第六用户在下一统计时长内对应的实际访问次数阈值,可以实现为:
根据如下公式确定N4个第六用户中任一用户在下一统计时长内对应的实际访问次数阈值:
(X-m6)*m7/m8,
其中,X为服务器的最大允许访问次数,m6为N3个第五用户各自对应的已访问次数的总和,m7为所述任一用户对应的初始访问次数阈值,m8为N4个第六用户各自对应的初始访问次数阈值的总和。
仍以上述举例来说,此时a>A,b>B,c>C,d>D,a+b+c+d>X,A+B+C+D<X,并且假设用户1和用户4的用户等级低于预设等级,用户2和用户3的用户等级高于或等于预设等级,则此时,可以确定用户1、用户2、用户3、用户4在下一统计时长内分别对应的实际访问次数阈值为:
用户1:A
用户2:(X-a-d)*B/(B+C)
用户3:(X-a-d)*C/(B+C)
用户4:D。
综上,本实施例中,当基于N个用户的总访问次数确定服务器的服务能力不足时,结合N个用户各自的已访问次数与各自的初始访问次数阈值的比较结果,结合N个用户各自的初始访问次数阈值的总和与服务器的最大允许访问次数的比较结果,结合用户等级,对N个用户的实际访问次数阈值进行合理的调整,从而在避免对服务器造成过重访问负载的基础上,兼顾各用户的访问需求,以便提高对服务器的利用率。
以下将详细描述本发明的一个或多个实施例的访问控制装置。本领域技术人员可以理解,这些访问控制装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图4为本发明实施例提供的访问控制装置实施例一的结构示意图,如图5所示,该装置包括:获取模块11、调整模块12、控制模块13。
获取模块11,用于获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数。
调整模块12,用于根据所述服务器的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值。
控制模块13,用于根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
图4所示装置可以执行图1所示实施例的方法,本实施例未详细描述的部分,可参考对图1所示实施例的相关说明。该技术方案的执行过程和技术效果参见图1所示实施例中的描述,在此不再赘述。
图5为本发明实施例提供的访问控制装置实施例二的结构示意图,如图6所示,在图4所示实施例基础上,所述调整模块12包括:第一调整单元121、第二调整单元122。
第一调整单元121,用于若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第一用户,则提高所述第一用户在所述下一统计时长内对应的实际访问次数阈值,所述第一用户对应的已访问次数大于所述第一用户对应的初始访问次数阈值。
可选地,所述第一调整单元121具体用于:
确定所述第一用户在所述下一统计时长内对应的实际访问次数阈值为所述第一用户对应的已访问次数。
第二调整单元122,用于若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第二用户,则确定所述第二用户在所述下一统计时长内对应的实际访问次数阈值为所述第二用户对应的初始访问次数阈值,所述第二用户对应的已访问次数小于或等于所述第二用户对应的初始访问次数阈值。
图5所示装置可以执行图2所示实施例的方法,本实施例未详细描述的部分,可参考对图2所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2所示实施例中的描述,在此不再赘述。
图6为本发明实施例提供的访问控制装置实施例三的结构示意图,如图6所示,在图4所示实施例基础上,所述调整模块12包括:第三调整单元123、第四调整单元124、第五调整单元125、第六调整单元126。
第三调整单元123,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均小于各自对应的初始访问次数阈值,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
可选地,所述第三调整单元123,具体用于:
根据如下公式确定所述N个用户中的任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
第四调整单元124,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户中包括N1个第三用户和N2个第四用户,N1为大于或等于1的整数,N2为大于或等于1的整数,N=N1+N2,则:
确定所述N1个第三用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N1个第三用户各自对应的初始访问次数阈值;
根据如下公式确定所述N2个第四用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
(X-m3)*m4/m5,
其中,X为所述最大允许访问次数,m3为所述N1个第三用户各自对应的已访问次数的总和,m4为所述任一用户对应的初始访问次数阈值,m5为所述N2个第四用户各自对应的初始访问次数阈值的总和;
其中,所述第三用户的已访问次数小于所述第三用户对应的初始访问次数阈值,所述第四用户的已访问次数大于或等于所述第四用户对应的初始访问次数阈值。
第五调整单元125,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和大于所述最大允许访问次数,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
可选地,所述第五调整单元125,具体用于:
根据如下公式确定所述N个用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
第六调整单元126,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和小于所述最大允许访问次数,则根据所述N个用户各自对应的用户等级,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值。
可选地,所述第六调整单元126,具体用于:
确定所述N个用户中包含的N3个第五用户和N4个第六用户,所述第五用户的用户等级低于预设等级,第六用户的用户等级高于或等于预设等级,N3为大于或等于0的整数,N4为大于或等于0的整数,N=N3+N4;
确定所述N3个第五用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N3个第五用户各自对应的初始访问次数阈值;
根据如下公式确定所述N4个第六用户中任一用户在所述下一统计时长内对应的实际访问次数阈值:
(X-m6)*m7/m8,
其中,X为所述最大允许访问次数,m6为所述N3个第五用户各自对应的已访问次数的总和,m7为所述任一用户对应的初始访问次数阈值,m8为所述N4个第六用户各自对应的初始访问次数阈值的总和。
图6所示装置可以执行图3所示实施例的方法,本实施例未详细描述的部分,可参考对图3所示实施例的相关说明。该技术方案的执行过程和技术效果参见图3所示实施例中的描述,在此不再赘述。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
以上描述了访问控制装置的内部功能和结构,在一个可能的设计中,访问控制装置的结构可实现为一电子设备,该电子设备比如为服务器,如图7所示,该电子设备可以包括:处理器21和存储器22。其中,所述存储器22用于存储支持访问控制装置执行上述任一实施例中提供的访问控制方法的程序,所述处理器21被配置为用于执行所述存储器22中存储的程序。
所述程序包括一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器21执行时能够实现如下步骤:
获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数;
根据所述服务器的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值;
根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
可选地,所述处理器21还用于执行前述各方法步骤中的全部或部分步骤。
其中,所述访问控制装置的结构中还可以包括通信接口23,用于访问控制装置与其他设备或通信网络通信。
另外,本发明实施例提供了一种计算机存储介质,用于储存访问控制装置所用的计算机软件指令,其包含用于执行上述各方法实施例中访问控制方法所涉及的程序。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
本发明公开A1、一种访问控制方法,包括:
获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数;
根据所述服务器的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值;
根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
A2、根据A1所述的方法,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第一用户,则提高所述第一用户在所述下一统计时长内对应的实际访问次数阈值,所述第一用户对应的已访问次数大于所述第一用户对应的初始访问次数阈值。
A3、根据A2所述的方法,所述提高所述第一用户在所述下一统计时长内对应的实际访问次数阈值,包括:
确定所述第一用户在所述下一统计时长内对应的实际访问次数阈值为所述第一用户对应的已访问次数。
A4、根据A1所述的方法,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第二用户,则确定所述第二用户在所述下一统计时长内对应的实际访问次数阈值为所述第二用户对应的初始访问次数阈值,所述第二用户对应的已访问次数小于或等于所述第二用户对应的初始访问次数阈值。
A5、根据A1所述的方法,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均小于各自对应的初始访问次数阈值,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
A6、根据A5所述的方法,所述降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值,包括:
根据如下公式确定所述N个用户中的任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
A7、根据A1所述的方法,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户中包括N1个第三用户和N2个第四用户,N1为大于或等于1的整数,N2为大于或等于1的整数,N=N1+N2,则:
确定所述N1个第三用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N1个第三用户各自对应的初始访问次数阈值;
根据如下公式确定所述N2个第四用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
(X-m3)*m4/m5,
其中,X为所述最大允许访问次数,m3为所述N1个第三用户各自对应的已访问次数的总和,m4为所述任一用户对应的初始访问次数阈值,m5为所述N2个第四用户各自对应的初始访问次数阈值的总和;
其中,所述第三用户的已访问次数小于所述第三用户对应的初始访问次数阈值,所述第四用户的已访问次数大于或等于所述第四用户对应的初始访问次数阈值。
A8、根据A1所述的方法,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和大于所述最大允许访问次数,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
A9、根据A8所述的方法,所述降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值,包括:
根据如下公式确定所述N个用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
A10、根据A1所述的方法,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和小于所述最大允许访问次数,则根据所述N个用户各自对应的用户等级,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值。
A11、根据A10所述的方法,所述根据所述N个用户各自对应的用户等级,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
确定所述N个用户中包含的N3个第五用户和N4个第六用户,所述第五用户的用户等级低于预设等级,第六用户的用户等级高于或等于预设等级,N3为大于或等于0的整数,N4为大于或等于0的整数,N=N3+N4;
确定所述N3个第五用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N3个第五用户各自对应的初始访问次数阈值;
根据如下公式确定所述N4个第六用户中任一用户在所述下一统计时长内对应的实际访问次数阈值:
(X-m6)*m7/m8,
其中,X为所述最大允许访问次数,m6为所述N3个第五用户各自对应的已访问次数的总和,m7为所述任一用户对应的初始访问次数阈值,m8为所述N4个第六用户各自对应的初始访问次数阈值的总和。
本发明还公开B12、一种访问控制装置,包括:
获取模块,用于获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数;
调整模块,用于根据所述服务器的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值;
控制模块,用于根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
B13、根据B12所述的装置,所述调整模块包括:
第一调整单元,用于若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第一用户,则提高所述第一用户在所述下一统计时长内对应的实际访问次数阈值,所述第一用户对应的已访问次数大于所述第一用户对应的初始访问次数阈值。
B14、根据B13所述的装置,所述第一调整单元具体用于:
确定所述第一用户在所述下一统计时长内对应的实际访问次数阈值为所述第一用户对应的已访问次数。
B15、根据B12所述的装置,所述调整模块包括:
第二调整单元,用于若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第二用户,则确定所述第二用户在所述下一统计时长内对应的实际访问次数阈值为所述第二用户对应的初始访问次数阈值,所述第二用户对应的已访问次数小于或等于所述第二用户对应的初始访问次数阈值。
B16、根据B12所述的装置,所述调整模块包括:
第三调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均小于各自对应的初始访问次数阈值,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
B17、根据B16所述的装置,所述第三调整单元,具体用于:
根据如下公式确定所述N个用户中的任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
B18、根据B12所述的装置,所述调整模块包括:
第四调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户中包括N1个第三用户和N2个第四用户,N1为大于或等于1的整数,N2为大于或等于1的整数,N=N1+N2,则:
确定所述N1个第三用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N1个第三用户各自对应的初始访问次数阈值;
根据如下公式确定所述N2个第四用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
(X-m3)*m4/m5,
其中,X为所述最大允许访问次数,m3为所述N1个第三用户各自对应的已访问次数的总和,m4为所述任一用户对应的初始访问次数阈值,m5为所述N2个第四用户各自对应的初始访问次数阈值的总和;
其中,所述第三用户的已访问次数小于所述第三用户对应的初始访问次数阈值,所述第四用户的已访问次数大于或等于所述第四用户对应的初始访问次数阈值。
B19、根据B12所述的装置,所述调整模块包括:
第五调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和大于所述最大允许访问次数,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
B20、根据B19所述的装置,所述第五调整单元,具体用于:
根据如下公式确定所述N个用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
B21、根据B12所述的装置,所述调整模块包括:
第六调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和小于所述最大允许访问次数,则根据所述N个用户各自对应的用户等级,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值。
B22、根据B21所述的装置,所述第六调整单元,具体用于:
确定所述N个用户中包含的N3个第五用户和N4个第六用户,所述第五用户的用户等级低于预设等级,第六用户的用户等级高于或等于预设等级,N3为大于或等于0的整数,N4为大于或等于0的整数,N=N3+N4;
确定所述N3个第五用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N3个第五用户各自对应的初始访问次数阈值;
根据如下公式确定所述N4个第六用户中任一用户在所述下一统计时长内对应的实际访问次数阈值:
(X-m6)*m7/m8,
其中,X为所述最大允许访问次数,m6为所述N3个第五用户各自对应的已访问次数的总和,m7为所述任一用户对应的初始访问次数阈值,m8为所述N4个第六用户各自对应的初始访问次数阈值的总和。
本发明还公开了C23、一种电子设备,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如A1至A11中任一项所述的访问控制方法。
本发明还公开了D24、一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如A1至A11中任一项所述的访问控制方法。
Claims (24)
1.一种访问控制方法,其特征在于,包括:
获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数;
根据所述服务器的预设的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的预设的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,所述实际访问次数阈值是指在所述下一统计时长内,针对相应用户采用的访问次数阈值;
根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
2.根据权利要求1所述的方法,其特征在于,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第一用户,则提高所述第一用户在所述下一统计时长内对应的实际访问次数阈值,所述第一用户对应的已访问次数大于所述第一用户对应的初始访问次数阈值。
3.根据权利要求2所述的方法,其特征在于,所述提高所述第一用户在所述下一统计时长内对应的实际访问次数阈值,包括:
确定所述第一用户在所述下一统计时长内对应的实际访问次数阈值为所述第一用户对应的已访问次数。
4.根据权利要求1所述的方法,其特征在于,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第二用户,则确定所述第二用户在所述下一统计时长内对应的实际访问次数阈值为所述第二用户对应的初始访问次数阈值,所述第二用户对应的已访问次数小于或等于所述第二用户对应的初始访问次数阈值。
5.根据权利要求1所述的方法,其特征在于,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均小于各自对应的初始访问次数阈值,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
6.根据权利要求5所述的方法,其特征在于,所述降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值,包括:
根据如下公式确定所述N个用户中的任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
7.根据权利要求1所述的方法,其特征在于,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户中包括N1个第三用户和N2个第四用户,N1为大于或等于1的整数,N2为大于或等于1的整数,N=N1+N2,则:
确定所述N1个第三用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N1个第三用户各自对应的初始访问次数阈值;
根据如下公式确定所述N2个第四用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
(X-m3)*m4/m5,
其中,X为所述最大允许访问次数,m3为所述N1个第三用户各自对应的已访问次数的总和,m4为所述任一用户对应的初始访问次数阈值,m5为所述N2个第四用户各自对应的初始访问次数阈值的总和;
其中,所述第三用户的已访问次数小于所述第三用户对应的初始访问次数阈值,所述第四用户的已访问次数大于或等于所述第四用户对应的初始访问次数阈值。
8.根据权利要求1所述的方法,其特征在于,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和大于所述最大允许访问次数,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
9.根据权利要求8所述的方法,其特征在于,所述降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值,包括:
根据如下公式确定所述N个用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
10.根据权利要求1所述的方法,其特征在于,所述调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和小于所述最大允许访问次数,则根据所述N个用户各自对应的用户等级,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值。
11.根据权利要求10所述的方法,其特征在于,所述根据所述N个用户各自对应的用户等级,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,包括:
确定所述N个用户中包含的N3个第五用户和N4个第六用户,所述第五用户的用户等级低于预设等级,第六用户的用户等级高于或等于预设等级,N3为大于或等于0的整数,N4为大于或等于0的整数,N=N3+N4;
确定所述N3个第五用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N3个第五用户各自对应的初始访问次数阈值;
根据如下公式确定所述N4个第六用户中任一用户在所述下一统计时长内对应的实际访问次数阈值:
(X-m6)*m7/m8,
其中,X为所述最大允许访问次数,m6为所述N3个第五用户各自对应的已访问次数的总和,m7为所述任一用户对应的初始访问次数阈值,m8为所述N4个第六用户各自对应的初始访问次数阈值的总和。
12.一种访问控制装置,其特征在于,包括:
获取模块,用于获取上一统计时长内访问服务器的N个用户各自对应的已访问次数以及所述N个用户的总访问次数,N为大于或等于1的整数;
调整模块,用于根据所述服务器的预设的最大允许访问次数和所述总访问次数的比较结果,以及所述N个用户各自对应的已访问次数和各自对应的预设的初始访问次数阈值的比较结果,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值,所述实际访问次数阈值是指在所述下一统计时长内,针对相应用户采用的访问次数阈值;
控制模块,用于根据所述N个用户各自对应的实际访问次数阈值对所述N个用户在所述下一统计时长内的访问进行访问控制。
13.根据权利要求12所述的装置,其特征在于,所述调整模块包括:
第一调整单元,用于若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第一用户,则提高所述第一用户在所述下一统计时长内对应的实际访问次数阈值,所述第一用户对应的已访问次数大于所述第一用户对应的初始访问次数阈值。
14.根据权利要求13所述的装置,其特征在于,所述第一调整单元具体用于:
确定所述第一用户在所述下一统计时长内对应的实际访问次数阈值为所述第一用户对应的已访问次数。
15.根据权利要求12所述的装置,其特征在于,所述调整模块包括:
第二调整单元,用于若所述总访问次数小于所述最大允许访问次数,并且所述N个用户中存在第二用户,则确定所述第二用户在所述下一统计时长内对应的实际访问次数阈值为所述第二用户对应的初始访问次数阈值,所述第二用户对应的已访问次数小于或等于所述第二用户对应的初始访问次数阈值。
16.根据权利要求12所述的装置,其特征在于,所述调整模块包括:
第三调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均小于各自对应的初始访问次数阈值,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
17.根据权利要求16所述的装置,其特征在于,所述第三调整单元,具体用于:
根据如下公式确定所述N个用户中的任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
18.根据权利要求12所述的装置,其特征在于,所述调整模块包括:
第四调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户中包括N1个第三用户和N2个第四用户,N1为大于或等于1的整数,N2为大于或等于1的整数,N=N1+N2,则:
确定所述N1个第三用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N1个第三用户各自对应的初始访问次数阈值;
根据如下公式确定所述N2个第四用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
(X-m3)*m4/m5,
其中,X为所述最大允许访问次数,m3为所述N1个第三用户各自对应的已访问次数的总和,m4为所述任一用户对应的初始访问次数阈值,m5为所述N2个第四用户各自对应的初始访问次数阈值的总和;
其中,所述第三用户的已访问次数小于所述第三用户对应的初始访问次数阈值,所述第四用户的已访问次数大于或等于所述第四用户对应的初始访问次数阈值。
19.根据权利要求12所述的装置,其特征在于,所述调整模块包括:
第五调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和大于所述最大允许访问次数,则降低所述N个用户在所述下一统计时长内各自对应的实际访问次数阈值。
20.根据权利要求19所述的装置,其特征在于,所述第五调整单元,具体用于:
根据如下公式确定所述N个用户中任一用户在所述下一统计时长内各自对应的实际访问次数阈值:
X*m1/m2,
其中,X为所述最大允许访问次数,m1为所述任一用户对应的初始访问次数阈值,m2为所述N个用户各自对应的初始访问次数阈值的总和。
21.根据权利要求12所述的装置,其特征在于,所述调整模块包括:
第六调整单元,用于若所述总访问次数大于或等于所述最大允许访问次数,并且所述N个用户各自对应的已访问次数均大于各自对应的初始访问次数阈值,并且所述N个用户各自对应的初始访问次数阈值的总和小于所述最大允许访问次数,则根据所述N个用户各自对应的用户等级,调整在下一统计时长内所述N个用户各自对应的实际访问次数阈值。
22.根据权利要求21所述的装置,其特征在于,所述第六调整单元,具体用于:
确定所述N个用户中包含的N3个第五用户和N4个第六用户,所述第五用户的用户等级低于预设等级,第六用户的用户等级高于或等于预设等级,N3为大于或等于0的整数,N4为大于或等于0的整数,N=N3+N4;
确定所述N3个第五用户在所述下一统计时长内各自对应的实际访问次数阈值为所述N3个第五用户各自对应的初始访问次数阈值;
根据如下公式确定所述N4个第六用户中任一用户在所述下一统计时长内对应的实际访问次数阈值:
(X-m6)*m7/m8,
其中,X为所述最大允许访问次数,m6为所述N3个第五用户各自对应的已访问次数的总和,m7为所述任一用户对应的初始访问次数阈值,m8为所述N4个第六用户各自对应的初始访问次数阈值的总和。
23.一种电子设备,其特征在于,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现如权利要求1至11中任一项所述的访问控制方法。
24.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序使计算机执行时实现如权利要求1至11中任一项所述的访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710476797.6A CN107436835B (zh) | 2017-06-21 | 2017-06-21 | 访问控制方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710476797.6A CN107436835B (zh) | 2017-06-21 | 2017-06-21 | 访问控制方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107436835A CN107436835A (zh) | 2017-12-05 |
CN107436835B true CN107436835B (zh) | 2020-09-08 |
Family
ID=60458847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710476797.6A Active CN107436835B (zh) | 2017-06-21 | 2017-06-21 | 访问控制方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107436835B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408207B (zh) * | 2018-09-20 | 2021-10-22 | 北京小米移动软件有限公司 | 微服务访问控制方法、装置及存储介质 |
CN109298939B (zh) * | 2018-09-26 | 2021-04-20 | 腾讯科技(深圳)有限公司 | 分布式系统的访问频率控制方法、装置、系统及服务器 |
CN108965066B (zh) * | 2018-10-17 | 2020-06-05 | 网宿科技股份有限公司 | 一种对传输路径进行探测的方法和装置 |
CN114363081A (zh) * | 2019-12-31 | 2022-04-15 | 北京深思数盾科技股份有限公司 | 一种访问控制方法和装置 |
CN113472717B (zh) * | 2020-03-30 | 2022-09-23 | 中国电信股份有限公司 | Sdn访问控制方法、装置和计算机可读存储介质 |
CN113645217B (zh) * | 2021-08-06 | 2023-05-05 | 上海中通吉网络技术有限公司 | 自适应调整访问阈值的方法 |
CN113726683B (zh) * | 2021-09-09 | 2023-08-15 | 海尔数字科技(青岛)有限公司 | 访问限流方法、装置、设备、存储介质及计算机程序产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104065657A (zh) * | 2014-06-26 | 2014-09-24 | 北京思特奇信息技术股份有限公司 | 一种基于ip访问的动态控制用户行为的方法及系统 |
EP2927797A1 (en) * | 2014-03-31 | 2015-10-07 | Fujitsu Limited | Information processing device, information processing system, storage medium storing program for controlling information processing device, and method for controlling information processing device |
CN105282047A (zh) * | 2015-09-25 | 2016-01-27 | 小米科技有限责任公司 | 访问请求处理方法及装置 |
CN105959392A (zh) * | 2016-06-14 | 2016-09-21 | 乐视控股(北京)有限公司 | 访问量控制方法及装置 |
-
2017
- 2017-06-21 CN CN201710476797.6A patent/CN107436835B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2927797A1 (en) * | 2014-03-31 | 2015-10-07 | Fujitsu Limited | Information processing device, information processing system, storage medium storing program for controlling information processing device, and method for controlling information processing device |
CN104065657A (zh) * | 2014-06-26 | 2014-09-24 | 北京思特奇信息技术股份有限公司 | 一种基于ip访问的动态控制用户行为的方法及系统 |
CN105282047A (zh) * | 2015-09-25 | 2016-01-27 | 小米科技有限责任公司 | 访问请求处理方法及装置 |
CN105959392A (zh) * | 2016-06-14 | 2016-09-21 | 乐视控股(北京)有限公司 | 访问量控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107436835A (zh) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107436835B (zh) | 访问控制方法和装置 | |
CN108427886B (zh) | 一种应用程序访问权限设置方法、系统、设备及可读介质 | |
CN110768912B (zh) | Api网关限流方法及装置 | |
US11734271B2 (en) | Data query method, apparatus and device | |
CN106355391B (zh) | 一种业务处理方法及装置 | |
CN106899426B (zh) | 用户访问数量统计方法及其系统 | |
CN110033247B (zh) | 支付渠道推荐方法及其系统 | |
CN111611020A (zh) | 一种应用程序的应用进程查杀方法及设备 | |
CN107645456B (zh) | 流量控制方法和流量控制系统 | |
CN111966918B (zh) | 一种用于并发访问请求的限流方法、装置以及系统 | |
CN110955502B (zh) | 一种任务调度方法及装置 | |
CN115442262B (zh) | 一种资源评估方法、装置、电子设备及存储介质 | |
CN108270810B (zh) | 媒体数据访问方法及装置 | |
CN116055401A (zh) | 一种消息处理方法、装置、设备及存储介质 | |
CN113973087B (zh) | 一种网页访问限流方法、装置及计算机可读存储介质 | |
CN110874268B (zh) | 数据处理方法、装置和设备 | |
CN105763508B (zh) | 一种数据访问方法和应用服务器 | |
CN114253455A (zh) | 一种缓存命中率的调整方法、装置、设备和存储介质 | |
CN110868333A (zh) | 一种用于网关的数据缓存方法及系统 | |
CN109302484B (zh) | 一种用户请求处理方法及装置 | |
CN114253456A (zh) | 一种缓存负载均衡方法和装置 | |
CN111126624A (zh) | 一种判定模型预测结果有效性的方法 | |
CN116610266B (zh) | 虚拟机磁盘读写性能的调整方法、装置及相关设备 | |
CN111695025B (zh) | 用于小流量实验系统的信息推送方法及装置 | |
CN106557469A (zh) | 一种处理数据仓库中数据的方法及装置 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Building N3, Jinyu Zhizao workshop, No. 27, Jiancai Chengzhong Road, Haidian District, Beijing 100096 Applicant after: Beijing Xingxuan Technology Co.,Ltd. Address before: 100085 Beijing, Haidian District on the road to the information on the ground floor of the 1 to the 3 floor of the 2 floor, room 11, 202 Applicant before: Beijing Xiaodu Information Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |