CN106649471A - 一种访问控制方法及装置 - Google Patents
一种访问控制方法及装置 Download PDFInfo
- Publication number
- CN106649471A CN106649471A CN201610858713.0A CN201610858713A CN106649471A CN 106649471 A CN106649471 A CN 106649471A CN 201610858713 A CN201610858713 A CN 201610858713A CN 106649471 A CN106649471 A CN 106649471A
- Authority
- CN
- China
- Prior art keywords
- resource
- database
- access request
- type
- target
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种访问控制方法及装置,涉及计算机技术领域。所述方法包括:接收针对目标网页的第一访问请求;确定数据库资源量的剩余资源量;判断所述剩余资源量是否大于消耗资源量,其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量;如果是,则访问数据库,响应所述第一访问请求。本实施例能够提高数据库资源量的利用率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种访问控制方法及装置。
背景技术
互联网上的网站主要由域名、空间和网页组成。通常,网站可以分为静态网站和动态网站。其中,动态网站可以基于数据库进行架构,通过数据库和程序来使网站具有更多高级的功能。当用户访问网站中的网页时,网站需要通过数据库获得用户所访问的网页中的数据。
当较多的用户同时访问某一网站时,会导致该网站数据库的访问量大增,数据库资源消耗巨大,造成数据库访问阻塞。
为了解决数据库因为访问量大而造成的阻塞,现有技术中通常会针对整个网站设置用户的访问数量阈值,当访问量达到该数量阈值时,限制访问请求,即将该访问请求丢弃,或暂时中止对该访问请求的处理。在设置访问数量阈值时,通常会参考各个网页的情况。例如,在一个网站中,大部分网页可以支持1000个用户同时访问,小部分网页可以支持20个人同时访问,根据经验,通常可以将访问数量阈值设置为800。
但是,按照上述方式对数据库的访问量进行访问控制时,可能会出现数据库的访问数量已经达到限制,但是数据库资源量还存在剩余资源量的情况。也就是说,在数据库资源量还存在剩余资源量的情况下,由于访问数量的限制,可能会导致无法响应访问请求,数据库资源量的利用率不高。
发明内容
本申请实施例的目的在于提供了一种访问控制方法及装置,以提高数据库资源量的利用率。
为了达到上述目的,本申请公开了一种访问控制方法,所述方法包括:
接收针对目标网页的第一访问请求;
确定数据库资源量的剩余资源量;
判断所述剩余资源量是否大于消耗资源量,其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量;
如果是,则访问数据库,响应所述第一访问请求。
为了达到上述目的,本申请公开了一种访问控制装置,所述装置包括:
访问请求接收模块,用于接收针对目标网页的第一访问请求;
剩余资源确定模块,用于确定数据库资源量的剩余资源量;
资源大小判断模块,用于判断所述剩余资源量是否大于消耗资源量,其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量;
访问请求响应模块,用于当所述资源大小判断模块的判断结果为是时,访问数据库,响应所述第一访问请求。
由上述技术方案可见,本申请实施例中,在接收到针对目标网页的第一访问请求之后,确定数据库资源量的剩余资源量,判断所述剩余资源量是否大于消耗资源量,如果是,则访问数据库,响应所述第一访问请求。其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量。针对每个访问请求,若数据库资源量的剩余资源量大于目标网页对应的单个访问请求消耗的数据库资源量,则响应第一访问请求。因此,应用本申请实施例提出的方案,可以解决现有技术中,由于访问数量限制,即使数据库资源还存在剩余资源量,也无法响应访问请求,导致数据库资源利用率不高的问题,从而能够提高数据库资源量的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的访问控制方法的一种流程示意图;
图2为本申请实施例提供的访问控制方法的另一种流程示意图;
图3为本申请实施例提供的访问控制方法的再一种流程示意图;
图4为本申请实施例提供的访问控制装置的一种结构示意图;
图5为本申请实施例提供的访问控制装置的另一种结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种访问控制方法及装置,能够减少数据库访问阻塞的发生次数。
下面通过具体实施例,对本申请进行详细说明。
图1为本申请实施例提供的访问控制方法的一种流程示意图,应用于电子设备。该电子设备可以以多种形式存在,包括但不限于个人计算机、服务器等设备。具体的,电子设备中可以有已经创建的多个网站,每个网站可以包括多个网页,网站可以对应一个数据库,也可以对应多个数据库。本实施例可以针对每个数据库进行访问控制的设置。
具体的,该方法包括如下步骤:
步骤S101:接收针对目标网页的第一访问请求。
其中,第一访问请求中可以携带目标网页的标识信息。该标识信息可以为目标网页的URL(Uniform Resoure Locator,统一资源定位符)等。
步骤S102:确定数据库资源量的剩余资源量。
在实际应用中,数据库资源量通常可以理解为一个抽象的概念,可以将数据库资源总量用某一数值表示,也可以将数据库资源总量用单位1表示。
确定数据库资源量的剩余资源量,可以包括多种实施方式。可以是,将数据库资源量的剩余资源量确定为:预先保存的数据库资源总量与已消耗的数据库资源量的差值。当然,也可以是,将数据库资源量的剩余资源量确定为上述差值与预设值的差值。
其中,已消耗的数据库资源量可以根据当前正在访问数据库的各个网页的访问请求数量以及各个网页单个访问请求数量所消耗的数据库资源量确定。
步骤S103:判断所述剩余资源量是否大于消耗资源量,如果是,则执行步骤S104。这时,说明当前针对目标网页的访问请求数量不太多,没有超过阈值,第一访问请求可以被执行后续处理。
如果剩余资源量不大于消耗资源量,则说明当前针对目标网页的访问请求数量较多,已经超过阈值,因此可以丢弃该第一访问请求,或者暂时中止该第一访问请求。在预设时长之后再次执行步骤S102。
其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量。目标网页对应的单个访问请求消耗的数据库资源量可以是预先确定并存储在电子设备中的数据。因此,目标网页对应的单个访问请求消耗的数据库资源量可以直接从电子设备中获取。
例如,剩余资源量R为5,预先确定的目标网页A对应的单个访问请求消耗的数据库资源量U为0.5,5>0.5,可以判断出剩余资源量R大于消耗资源量。
具体的,确定目标网页对应的单个访问请求消耗的数据库资源量可以包括多种实施方式,可以采用极限测试法测试目标网页的单个访问请求消耗的数据库资源量,也可以根据目标网页中的数据量计算该目标网页的单个访问请求消耗的数据库资源量。
步骤S104:访问数据库,响应第一访问请求。
具体的,访问数据库,即是从数据库中获取目标网页所需要的数据。响应第一访问请求,即是将所获取的目标网页所需要的数据发送至第一访问请求的发送者。
由上述内容可见,本实施例中,在接收到针对目标网页的第一访问请求之后,确定数据库资源量的剩余资源量,判断所述剩余资源量是否大于消耗资源量,如果是,则访问数据库,响应所述第一访问请求。其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量。针对每个访问请求,若数据库资源量的剩余资源量大于目标网页对应的单个访问请求消耗的数据库资源量,则响应第一访问请求。因此,应用本申请实施例提出的方案,可以解决现有技术中,由于访问数量限制,即使数据库资源还存在剩余资源量,也无法响应访问请求,导致数据库资源利用率不高的问题。也就是说,应用本实施例的技术方案,可以提高数据库资源量的利用率。
同时,现有技术中,针对网站设置访问数量阈值,当接收到访问请求时,只计算访问请求的总数量,不区分访问请求所访问的网页。通过限制访问请求的总数量,防止数据库发生访问阻塞的问题。但是,在访问量没有超过上述访问数量阈值的情况下,当访问高资源消耗量的网页的访问请求数量较多时,还容易出现数据库访问阻塞的问题。
而本实施例中,针对每个访问请求,根据数据库资源量的剩余资源量与目标网页对应的单个访问请求消耗的数据库资源量的大小关系,确定是否响应第一访问请求,能够避免出现被放行的高资源消耗量的网页的访问请求数量较多的情况,从而能够减少数据库访问阻塞的发生次数。
在实际应用中,针对数据库对应的多个网页,这些网页对数据库资源的消耗量是不同,但大体上可以根据数据库资源消耗量的大小,将这些网页分为两种类型:高资源消耗类型和低资源消耗类型。为了均衡处理各个类型网页的访问请求,可以对图1所示实施例进行如下改进。
在本申请的另一实施例中,图1所示实施例中的步骤S102,即确定数据库资源量的剩余资源量,可以按照图2所示流程示意图进行。具体的,该步骤可以包括:
步骤S102A:从预先生成的网页与资源消耗类型的对应关系中,匹配目标网页对应的目标资源消耗类型。
其中,资源消耗类型可以包括高资源消耗类型和低资源消耗类型等。当然,资源消耗类型还可以包括其他种类,以上列举的只是一种实施方式,本申请对该资源消耗类型的具体表示形式不做限定。
具体的,针对数据库所对应的所有网页,可以预先生成每个网页与资源消耗类型的对应关系,并保存该对应关系。
作为一种具体的实施方式,可以采用以下方式生成所述网页与资源消耗类型的对应关系:
按照以下方式生成每一网页与资源消耗类型之间的对应关系:
步骤1:在预设时间段内,统计针对第一网页的第二访问请求的到达时间以及响应时间。其中,第一网页为任一网页。
也就是说,针对数据库所对应的所有网页,每个网页都可以按照步骤1~步骤3的方式生成该网页与资源消耗类型之间的对应关系。
第二访问请求的到达时间,是指作为执行主体的电子设备接收到第二访问请求的时间。当电子设备接收到第二访问请求时,如果判断出第二访问请求可以被放行,则访问数据库,从数据库中获得第二访问请求对应的数据,并将该数据发送至第二访问请求的发送者。将该数据发送至第二访问请求的发送者,即为响应第二访问请求的过程。响应第二访问请求的时间即为第二访问请求的响应时间。
在预设时间段内,第二访问请求可能包括多个,其中,有些允许访问数据库,有些不被允许访问数据库。在本实施方式中,统计的第二访问请求的到达时间以及响应时间,可以是统计允许访问数据库的第二访问请求的到达时间以及响应时间。不被允许访问数据库的第二访问请求,可以排除,不对其进行统计。
步骤2:计算所述到达时间与所述响应时间之间的间隔时长。
在实际应用中,可以在电子设备上设置时间学习模块,预先设置好需要监测的时间段以及需要监测的网站或者服务器所包含的网页。采用该时间学习模块监测第一网页的访问请求的到达时间以及响应时间,并计算到达时间与响应时间之间的间隔时长。
当预设时间段内针对第一网页的第二访问请求存在多个时,可以计算每个访问请求的到达时间与响应时间之间的待选间隔时长。当待选间隔时长存在多个时,可以取多个待选间隔时长的中位数作为间隔时长;也可以是,取多个待选间隔时长的平均值作为最终的间隔时长。本申请对此不做具体限定。
步骤3:判断所述间隔时长是否大于预设时间阈值,如果是,则确定第一网页的第一资源消耗类型为高资源消耗类型,如果否,则确定第一资源消耗类型为低资源消耗类型,并生成所述第一网页与所述第一资源消耗类型之间的对应关系。
可以理解的是,间隔时长越长,说明数据库对该网页的数据处理较慢,访问该网页时消耗的数据库资源越多;间隔时长越短,说明数据库对该网页的数据处理较快,访问该网页时消耗的资源库资源越少。
具体的,时间阈值可以是预先设置好的,其值可以是4秒或其他值,本申请对此不做具体限定。
作为一个例子,表1中列出了计算得到的某网站的各个网页的间隔时长数据。如果时间阈值取为10秒,则可以确定序号为1和3的网页为高资源消耗类型,序号为2和4的网页为低资源消耗类型。
表1
序号 | 网页URL | 间隔时长 | 资源消耗类型 |
1 | 192.16x.20.1/system/index.php | 11.2 | 高 |
2 | 192.16x.20.1/system/special.php | 8.4 | 低 |
3 | 192.16x.20.1/system/article.php | 15.6 | 高 |
4 | 192.16x.20.1/system/default.php | 6.5 | 低 |
步骤S102B:确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量。
需要指出的是,一个网站通常包含大量网页,大部分网页属于低资源消耗类型,其对应的访问请求需要的数据库资源量低,少部分网页属于高资源消耗类型,其对应的访问请求需要的数据库资源量高。当属于高资源消耗类型网页对应的访问请求数量较多时,这些网页可能消耗掉全部的数据库资源,导致低资源消耗类型网页对应的访问请求无法被响应。由于高资源消耗类型网页对应的单个访问请求消耗的数据库资源量较高,因此,在上述种情况下,数据库资源量只能响应少部分用户的访问请求,想要访问低资源消耗类型网页的大部分用户的访问请求得不到响应,从而导致网站整体的用户体验度不高。
因此,为了能够均衡分配数据库资源,提高网站整体的用户体验度,在本实施例中,预先针对高资源消耗类型网页和低资源消耗类型网页分配数据库资源量。
由于目标资源消耗类型可以是高资源消耗类型,也可以是低资源消耗类型。一般来说,高资源消耗类型的网页数量较少,低资源消耗类型的网页数量较多。针对高资源消耗类型的网页和低资源消耗类型的网页,可以采用不同的方式确定剩余资源量。
作为一种具体实施方式,在所述目标资源消耗类型为高资源消耗类型时,步骤S102B,即确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量,具体包括以下步骤:
步骤1:获取每个目标资源消耗类型网页对应的处于访问状态的访问请求的数量。
其中,目标资源消耗类型网页是指属于目标资源消耗类型的网页。获取每个目标资源消耗类型网页对应的处于访问状态的访问请求的数量,即是指分别获取每个属于目标资源消耗类型的网页对应的处于访问状态的访问请求的数量。例如,属于目标资源消耗类型的网页包括网页1、网页2和网页3,获取每个目标资源消耗类型网页对应的处于访问状态的访问请求的数量,即是获取网页1对应的处于访问状态的访问请求的数量N1,获取网页2对应的处于访问状态的访问请求的数量N2,获取网页3对应的处于访问状态的访问请求的数量N3。
当电子设备接收到访问请求时,可以针对该访问请求作出如下处理:允许该访问请求访问数据库,或丢弃该访问请求,或暂时中止该访问请求,在预设时长之后,再运行该访问请求访问数据库。当允许该访问请求访问数据库时,数据库将根据访问请求获取数据,然后将获取到的数据发送至该访问请求的发送者。该访问请求处于访问状态,是指从允许该访问请求访问数据库开始,到数据库将数据发送给访问请求的发送者之前的这段时间内该访问请求的状态,是一种正在访问数据库的状态。
具体的,电子设备可以根据自身记录的各个网页对应的处于访问状态的访问请求的数量,获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量。
例如,目标资源消耗类型网页包括A、B、C和D四个网页,那么电子设备根据自身记录的各个网页对应的处于访问状态的访问请求的数量,可以获取到每个网页对应的处于访问状态的访问请求的数量分别为:A为5,B为10,C为7,D为12。
步骤2:根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述n为所述目标资源类型网页的数量,所述Qi为第i个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,所述Ui为预先确定的第i个所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量,所述L*P表示预先分配给所述目标资源消耗类型网页的数据库资源量。
例如,数据库资源总量为100,预先分配给目标资源消耗类型网页的数据库资源的比例为40%。目标资源消耗类型网页包括A、B、C和D四个网页,每个网页对应的处于访问状态的访问请求的数量Qi分别为:A为5,B为10,C为7,D为12,预先确定的每个网页对应的单个访问请求消耗的数据库资源量Ui分别为:A为0.5,B为1,C为1.5,D为1,则可以计算出预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R为:
R=100*40%-(5*0.5+10*1+7*1.5+12*1)=40-35=5
当然,在实际应用中,为了简便起见,数据库资源总量也可以取为单位1,目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量也可以根据归一化原则简化为0~1之间的数。
作为一种具体实施方式,在所述目标资源消耗类型为低资源消耗类型时,步骤S102B,即确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量,可以包括:
步骤1:获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,并将每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量相加,得到所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量。
其中,目标资源消耗类型网页是指属于目标资源消耗类型的网页。获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,即是指获取每个属于目标资源消耗类型的网页对应的处于访问状态的访问请求的数量。例如,属于目标资源消耗类型的网页包括网页1、网页2和网页3,获取网页1、网页2和网页3对应的处于访问状态的访问请求的数量分别为N1、N2和N3。将N1、N2、N3三者相加即得到所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量。
由于低资源消耗类型的网页的每个访问请求消耗的数据库资源较少,因此,为了提高计算效率,只需获取低资源消耗类型的所有网页的处于访问状态的访问请求的总数量,计算剩余资源量。
步骤2:根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
R=L*P-Qn*U;
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述Qn为所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量,所述U为预先确定的所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量,所述L*P为预先分配给所述目标资源消耗类型网页的数据库资源量。
由于低资源消耗类型的网页的每个访问请求消耗的数据库资源较少,因此可以首先确定每个目标资源消耗类型网页对应的单个访问请求消耗的第一数据库资源量,然后将第一数据库资源量的平均值作为目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量。
当然,也可以根据经验预先设定目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量的值。以上方式都是可行的。
可以理解的是,针对低资源消耗类型的网页,不再针对每个网页分别计算该网页消耗的数据库资源量,而是将低资源消耗类型网页当成相同网页处理,当网站中低资源消耗类型网页的数量非常多时,这种方式可以减少计算量,提高处理速度。
可见,在本实施例中,与图1所示实施例不同的是,图2所示实施例中在确定数据库资源量的剩余资源量时,确定预先分配给目标网页所归属的目标资源消耗类型网页的数据库资源量的剩余资源量,当该剩余资源量大于消耗资源量时,访问数据库,响应第一访问请求。因此,本实施例除了具备图1所示实施例的有益效果之外,还可以均衡处理各个资源消耗类型网页的访问请求,避免出现一个或多个资源消耗类型对应的网页的访问请求不被响应的情况,使数据库对访问请求的响应更合理化。
作为一种具体实施方式,在图2所示实施例中,消耗资源量为预先确定的目标网页对应的单个访问请求消耗的数据库资源量。可以采用以下方式确定所述消耗资源量:
步骤1:在所述数据库处于空闲状态时,向数据库同时发送访问数量个第一访问请求。
数据库处于空闲状态,是指当前没有任何访问请求访问数据库,数据库资源没有被消耗的状态。
上述访问数量可以是预设的第二数值,例如5等数值。
需要说明的是,为了清楚明了,针对目标网页向数据库发送的访问请求都称为第一访问请求,也就是说,第一访问请求包括在不同时间针对目标网页向数据库发送的访问请求。
步骤2:检测数据库是否出现阻塞状态,如果未出现,则执行步骤3;如果出现,则执行步骤4。
步骤3:根据预设规则,增加所述访问数量,并返回执行步骤1。
具体的,根据预设规则,增加所述访问数量,可以包括:将访问数量乘以预设第三数值,得到增加后的访问数量。其中,预设第三数值可以为1.2等数值。当然根据预设规则增加访问数量的方式还包括很多,本实施例对此不做具体限定。
步骤4:根据数据库资源总量以及当前的访问数量,确定所述消耗资源量。当前的访问数量是指,在本次循环中的访问数量。
当数据库出现阻塞状态时,说明当前的访问数量已经是数据库可以承受的针对目标网页的最大的访问请求数量。
具体的,可以确定所述消耗资源量为:数据库资源总量与所述当前的访问数量的商。也可以将数据库资源总量与所述当前的访问数量的商加上预设第四数值之后的值确定为上述消耗资源量。用公式表示可以为:Un=L/Cn。其中,Un为确定的消耗资源量,L为数据库资源总量,Cn为当前的访问数量。本实施例对本步骤的具体实施方式不做限定。
下面针对步骤1~步骤6的过程进行举例说明。在数据库处于空闲状态时,针对目标网页A,向数据库同时发送5个访问请求,以使数据库针对这5个访问请求获得相应的数据,并返回访问请求的发送者。检测数据库是否出现阻塞状态。由于检测结果为未出现阻塞,因此将访问请求的数量5加5,即增加至10个访问请求。继续向数据库同时发送10个访问请求,如果检测到的数据库的状态仍然是未出现阻塞,则将访问请求的数量10再加5,即增加至15个访问请求,继续向数据库同时发送15个访问请求。如此循环执行。当同时向数据库发送35个访问请求时,检测到数据库出现阻塞状态,则上述循环过程结束,并可以根据数据库资源总量单位1和数量35确定所述消耗资源量为:1/35=0.0286。
表2列出了确定出的某网站各个网页的最大访问请求数量Cn以及每个网页对应的单个访问请求消耗的数据库资源量Un。其中,数据库资源总量取为单位1。
表2
序号 | 网页URL | 间隔时长 | Cn | Un |
1 | 192.16x.20.1/system/index.php | 11.2 | 35 | 0.0286 |
2 | 192.16x.20.1/system/special.php | 8.4 | 47 | 0.0213 |
3 | 192.16x.20.1/system/article.php | 15.6 | 22 | 0.0455 |
4 | 192.16x.20.1/system/default.php | 6.5 | 65 | 0.0154 |
为了保证后续过程的连续性,在一种具体实施方式中,图2所示实施例还可以包括:
在所述访问数据库的步骤后,将所述目标网页对应的处于访问状态的访问请求的第一数量增大预设值;
在所述响应所述第一访问请求的步骤后,将所述第一数量减小所述预设值。
其中,该预设值可以为1,当然也可以为其他具体值,本实施例对此不做具体限定。
在本申请的另一实施例中,可以对图1所示实施例进行改进。具体的,在步骤S102A之后,即在从预先生成的网页与资源消耗类型的对应关系中,匹配所述目标网页对应的目标资源消耗类型之后,还可以包括图3所示步骤:
步骤102A′:判断所述目标资源消耗类型是否为高资源消耗类型,如果是,则执行步骤102A。
也就是说,当判断出目标资源消耗类型为高资源消耗类型时,才继续执行图2所示实施例中步骤102A以及之后的步骤。当判断出目标资源消耗类型不是高资源消耗类型时,可以按照现有技术的方法处理第一访问请求。当然,也可以按照其他方式处理第一访问请求,本申请实施例对此不做具体限定。
图4为本申请实施例提供的访问控制装置的一种结构示意图,应用于电子设备,与图1所示实施例相对应。所述装置包括:
访问请求接收模块41,用于接收针对目标网页的第一访问请求;
剩余资源确定模块42,用于确定数据库资源量的剩余资源量;
资源大小判断模块43,用于判断所述剩余资源量是否大于消耗资源量,其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量;
访问请求响应模块44,用于当所述资源大小判断模块的判断结果为是时,访问数据库,响应所述第一访问请求。
在本发明的另一实施例中,图1所示装置实施例中,剩余资源确定模块42可以如图5所示,包括如下子模块,该实施例与图2所示实施例相对应。
消耗类型匹配子模块421,用于从预先生成的网页与资源消耗类型的对应关系中,匹配所述目标网页对应的目标资源消耗类型;
剩余资源确定子模块422,用于确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量。
作为一种具体实施方式,在图5所示实施例中,所述装置还可以包括:
网页类型判断模块(图中未示出),用于在所述消耗类型匹配子模块421之后,判断所述目标资源消耗类型是否为高资源消耗类型;如果是,则执行所述剩余资源确定子模块422。
作为一种具体实施方式,在图5所示实施例中,所述装置还可以包括:
增大数量模块,用于在所述访问数据库后,将所述目标网页对应的处于访问状态的访问请求的第一数量增大预设值;
减小数量模块,用于在所述响应所述第一访问请求后,将所述第一数量减小所述预设值。
作为一种具体实施方式,在图5所示实施例中,在所述目标资源消耗类型为高资源消耗类型时,所述剩余资源确定子模块422,可以包括:
第一获取单元(图中未示出),用于获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量;
第一确定单元(图中未示出),用于根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述n为所述目标资源类型网页的数量,所述Qi为第i个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,所述Ui为预先确定的第i个所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量。
作为一种具体实施方式,在图5所示实施例中,在所述目标资源消耗类型为低资源消耗类型时,所述剩余资源确定子模块422,可以包括:
第二获取单元(图中未示出),用于获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,并将每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量相加,得到所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量;
第二确定单元(图中未示出),用于根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
R=L*P-Qn*U;
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述Qn为所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量,所述U为预先确定的所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量。
作为一种具体实施方式,在图5所示实施例中,所述装置还可以包括消耗资源确定模块(图中未示出);所述消耗资源确定模块,用于采用以下方式确定所述消耗资源量:
在所述数据库处于空闲状态时,向所述数据库同时发送访问数量个第一访问请求;
检测所述数据库是否出现阻塞状态;
如果未出现,则根据预设规则,增加所述访问数量,并返回执行所述向所述数据库同时发送访问数量个第一访问请求;
如果出现,则根据数据库资源总量以及当前的访问数量,确定所述消耗资源量。
作为一种具体实施方式,在图5所示实施例中,所述装置还可以包括对应关系生成模块(图中未示出);所述对应关系生成模块,用于采用以下方式生成所述网页与资源消耗类型的对应关系:
按照以下方式生成每一网页与资源消耗类型之间的对应关系:
在预设时间段内,统计针对第一网页的第二访问请求的到达时间以及响应时间,其中,所述第一网页为任一网页;
计算所述到达时间与所述响应时间之间的间隔时长;
判断所述间隔时长是否大于预设时间阈值,如果是,则确定所述第一网页的第一资源消耗类型为高资源消耗类型,如果否,则确定所述第一资源消耗类型为低资源消耗类型,并生成所述第一网页与所述第一资源消耗类型之间的对应关系。
由于上述装置实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本领域普通技术人员可以理解,上述实施方式中的全部或部分步骤是能够通过程序指令相关的硬件来完成的,所述的程序可以存储于计算机可读取存储介质中。这里所称存储介质,是指ROM/RAM、磁碟、光盘等。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (14)
1.一种访问控制方法,其特征在于,所述方法包括:
接收针对目标网页的第一访问请求;
确定数据库资源量的剩余资源量;
判断所述剩余资源量是否大于消耗资源量,其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量;
如果是,则访问数据库,响应所述第一访问请求。
2.根据权利要求1所述的方法,其特征在于,所述确定数据库资源量的剩余资源量的步骤,包括:
从预先生成的网页与资源消耗类型的对应关系中,匹配所述目标网页对应的目标资源消耗类型;
确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量。
3.根据权利要求2所述的方法,其特征在于,在所述从预先生成的网页与资源消耗类型的对应关系中,匹配所述目标网页对应的目标资源消耗类型的步骤之后,所述方法还包括:
判断所述目标资源消耗类型是否为高资源消耗类型;
如果是,则执行所述确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量的步骤。
4.根据权利要求2所述的方法,其特征在于,在所述目标资源消耗类型为高资源消耗类型时,所述确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量的步骤,包括:
获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量;
根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述n为所述目标资源类型网页的数量,所述Qi为第i个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,所述Ui为预先确定的第i个所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量。
5.根据权利要求2所述的方法,其特征在于,在所述目标资源消耗类型为低资源消耗类型时,所述确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量的步骤,包括:
获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,并将每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量相加,得到所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量;
根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
R=L*P-Qn*U;
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述Qn为所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量,所述U为预先确定的所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量。
6.根据权利要求2所述的方法,其特征在于,采用以下方式确定所述消耗资源量:
在所述数据库处于空闲状态时,向所述数据库同时发送访问数量个第一访问请求;
检测所述数据库是否出现阻塞状态;
如果未出现,则根据预设规则,增加所述访问数量,并返回执行所述向所述数据库同时发送访问数量个第一访问请求的步骤;
如果出现,则根据数据库资源总量以及当前的访问数量,确定所述消耗资源量。
7.根据权利要求2所述的方法,其特征在于,采用以下方式生成所述网页与资源消耗类型的对应关系:
按照以下方式生成每一网页与资源消耗类型之间的对应关系:
在预设时间段内,统计针对第一网页的第二访问请求的到达时间以及响应时间,其中,所述第一网页为任一网页;
计算所述到达时间与所述响应时间之间的间隔时长;
判断所述间隔时长是否大于预设时间阈值,如果是,则确定所述第一网页的第一资源消耗类型为高资源消耗类型,如果否,则确定所述第一资源消耗类型为低资源消耗类型,并生成所述第一网页与所述第一资源消耗类型之间的对应关系。
8.一种访问控制装置,其特征在于,所述装置包括:
访问请求接收模块,用于接收针对目标网页的第一访问请求;
剩余资源确定模块,用于确定数据库资源量的剩余资源量;
资源大小判断模块,用于判断所述剩余资源量是否大于消耗资源量,其中,所述消耗资源量为:预先确定的所述目标网页对应的单个访问请求消耗的数据库资源量;
访问请求响应模块,用于当所述资源大小判断模块的判断结果为是时,访问数据库,响应所述第一访问请求。
9.根据权利要求8所述的装置,其特征在于,所述剩余资源确定模块包括:
消耗类型匹配子模块,用于从预先生成的网页与资源消耗类型的对应关系中,匹配所述目标网页对应的目标资源消耗类型;
剩余资源确定子模块,用于确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
网页类型判断模块,用于在所述消耗类型匹配子模块之后,判断所述目标资源消耗类型是否为高资源消耗类型;如果是,则执行所述剩余资源确定子模块。
11.根据权利要求9所述的装置,其特征在于,在所述目标资源消耗类型为高资源消耗类型时,所述剩余资源确定子模块,包括:
第一获取单元,用于获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量;
第一确定单元,用于根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述n为所述目标资源类型网页的数量,所述Qi为第i个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,所述Ui为预先确定的第i个所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量。
12.根据权利要求9所述的装置,其特征在于,在所述目标资源消耗类型为低资源消耗类型时,所述剩余资源确定子模块,包括:
第二获取单元,用于获取每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量,并将每个所述目标资源消耗类型网页对应的处于访问状态的访问请求的数量相加,得到所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量;
第二确定单元,用于根据以下表达式,确定预先分配给所述目标资源消耗类型网页的数据库资源量的剩余资源量R:
R=L*P-Qn*U;
其中,所述L为数据库资源总量,所述P为预先分配给所述目标资源消耗类型网页的数据库资源的比例,所述Qn为所述目标资源消耗类型网页对应的处于访问状态的访问请求的总数量,所述U为预先确定的所述目标资源消耗类型网页对应的单个访问请求消耗的数据库资源量。
13.根据权利要求9所述的装置,其特征在于,所述装置还包括消耗资源确定模块;所述消耗资源确定模块,用于采用以下方式确定所述消耗资源量:
在所述数据库处于空闲状态时,向所述数据库同时发送访问数量个第一访问请求;
检测所述数据库是否出现阻塞状态;
如果未出现,则根据预设规则,增加所述访问数量,并返回执行所述向所述数据库同时发送访问数量个第一访问请求;
如果出现,则根据数据库资源总量以及当前的访问数量,确定所述消耗资源量。
14.根据权利要求9所述的装置,其特征在于,所述装置还包括对应关系生成模块;所述对应关系生成模块,用于采用以下方式生成所述网页与资源消耗类型的对应关系:
按照以下方式生成每一网页与资源消耗类型之间的对应关系:
在预设时间段内,统计针对第一网页的第二访问请求的到达时间以及响应时间,其中,所述第一网页为任一网页;
计算所述到达时间与所述响应时间之间的间隔时长;
判断所述间隔时长是否大于预设时间阈值,如果是,则确定所述第一网页的第一资源消耗类型为高资源消耗类型,如果否,则确定所述第一资源消耗类型为低资源消耗类型,并生成所述第一网页与所述第一资源消耗类型之间的对应关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610858713.0A CN106649471A (zh) | 2016-09-28 | 2016-09-28 | 一种访问控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610858713.0A CN106649471A (zh) | 2016-09-28 | 2016-09-28 | 一种访问控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106649471A true CN106649471A (zh) | 2017-05-10 |
Family
ID=58853525
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610858713.0A Pending CN106649471A (zh) | 2016-09-28 | 2016-09-28 | 一种访问控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106649471A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291601A (zh) * | 2017-06-12 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种安全运维方法及系统 |
CN109614425A (zh) * | 2018-09-25 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种调整数据库的业务访问量的方法及系统 |
CN113467924A (zh) * | 2020-03-31 | 2021-10-01 | 北京金山云网络技术有限公司 | 一种资源分配方法、装置、服务器及计算机可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7243138B1 (en) * | 2002-02-01 | 2007-07-10 | Oracle International Corporation | Techniques for dynamic rule-based response to a request for a resource on a network |
CN102043674A (zh) * | 2009-10-16 | 2011-05-04 | Sap股份公司 | 基于响应时间估计服务资源消耗 |
CN102243598A (zh) * | 2010-05-14 | 2011-11-16 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中的任务调度方法及系统 |
CN102779062A (zh) * | 2011-05-09 | 2012-11-14 | 阿里巴巴集团控股有限公司 | 一种访问系统资源的线程数量的控制方法及装置 |
CN103440172A (zh) * | 2013-08-19 | 2013-12-11 | 深圳创维数字技术股份有限公司 | 一种资源管理方法及终端设备 |
CN103631829A (zh) * | 2012-08-28 | 2014-03-12 | 阿里巴巴集团控股有限公司 | 一种网页访问请求的响应方法和装置 |
CN103888435A (zh) * | 2012-12-24 | 2014-06-25 | 中国电信股份有限公司 | 用于业务接纳控制的方法、装置和系统 |
-
2016
- 2016-09-28 CN CN201610858713.0A patent/CN106649471A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7243138B1 (en) * | 2002-02-01 | 2007-07-10 | Oracle International Corporation | Techniques for dynamic rule-based response to a request for a resource on a network |
CN102043674A (zh) * | 2009-10-16 | 2011-05-04 | Sap股份公司 | 基于响应时间估计服务资源消耗 |
CN102243598A (zh) * | 2010-05-14 | 2011-11-16 | 深圳市腾讯计算机系统有限公司 | 分布式数据仓库中的任务调度方法及系统 |
CN102779062A (zh) * | 2011-05-09 | 2012-11-14 | 阿里巴巴集团控股有限公司 | 一种访问系统资源的线程数量的控制方法及装置 |
CN103631829A (zh) * | 2012-08-28 | 2014-03-12 | 阿里巴巴集团控股有限公司 | 一种网页访问请求的响应方法和装置 |
CN103888435A (zh) * | 2012-12-24 | 2014-06-25 | 中国电信股份有限公司 | 用于业务接纳控制的方法、装置和系统 |
CN103440172A (zh) * | 2013-08-19 | 2013-12-11 | 深圳创维数字技术股份有限公司 | 一种资源管理方法及终端设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291601A (zh) * | 2017-06-12 | 2017-10-24 | 北京奇艺世纪科技有限公司 | 一种安全运维方法及系统 |
CN107291601B (zh) * | 2017-06-12 | 2021-01-22 | 北京奇艺世纪科技有限公司 | 一种安全运维方法及系统 |
CN109614425A (zh) * | 2018-09-25 | 2019-04-12 | 阿里巴巴集团控股有限公司 | 一种调整数据库的业务访问量的方法及系统 |
CN113467924A (zh) * | 2020-03-31 | 2021-10-01 | 北京金山云网络技术有限公司 | 一种资源分配方法、装置、服务器及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Some concepts and theorems of uncertain random process | |
US20150032504A1 (en) | Influence scores for social media profiles | |
WO2014193399A1 (en) | Influence score of a brand | |
Zwislocki et al. | On a psychophysical transformed-rule up and down method converging on a 75% level of correct responses | |
US20180204123A1 (en) | Application Recommending Method and Apparatus | |
CN110163474A (zh) | 一种任务分配的方法及设备 | |
CN106776660A (zh) | 一种信息推荐方法及装置 | |
US20160117328A1 (en) | Influence score of a social media domain | |
JP2004536389A5 (zh) | ||
CN101753380B (zh) | 监控存储器消耗 | |
CN104899228A (zh) | 一种发布网页资源的方法及装置 | |
CN105871577A (zh) | 资源权限管理方法及装置 | |
CN106649471A (zh) | 一种访问控制方法及装置 | |
WO2022228371A1 (zh) | 恶意流量账号检测方法、装置、设备和存储介质 | |
CN108667840A (zh) | 注入漏洞检测方法及装置 | |
CN104750760A (zh) | 一种推荐应用软件的实现方法及装置 | |
WO2022156731A1 (zh) | 信息处理方法及装置、服务器及用户设备 | |
CN107707404A (zh) | 网站在线人数统计方法、装置和网站服务器 | |
Masterton et al. | PageRank's ability to track webpage quality: reconciling Google's wisdom-of-crowds justification with the scale-free structure of the web | |
CN107239542A (zh) | 一种数据统计方法、装置、服务器及存储介质 | |
CN113934920B (zh) | 目标信息的推送方法、设备及存储介质 | |
KM et al. | A new goodness of fit test for gamma distribution with censored observations | |
CN103095820B (zh) | 一种确定访问页面的终端数量的方法及装置 | |
Winter et al. | Survival of the best fit: modelling nuclear proliferation | |
Li et al. | Common patterns of online collective attention flow. |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |