CN113468214B - 数据库访问控制方法、装置、电子设备及可读存储介质 - Google Patents
数据库访问控制方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN113468214B CN113468214B CN202010234796.2A CN202010234796A CN113468214B CN 113468214 B CN113468214 B CN 113468214B CN 202010234796 A CN202010234796 A CN 202010234796A CN 113468214 B CN113468214 B CN 113468214B
- Authority
- CN
- China
- Prior art keywords
- level
- expected
- nth
- resource
- data
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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
Abstract
本公开实施例公开了一种数据库访问控制方法、装置、电子设备及可读存储介质,所述数据库访问控制方法包括接收数据库访问操作,所述数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2;根据所述数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N;根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数;根据第1~(n‑1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数;根据第n级对象的实际控制参数,对所述数据库访问操作进行控制。该技术方案可以同时满足各个粒度的资源限制要求。
Description
技术领域
本公开涉及计算机应用技术领域,具体涉及一种数据库访问控制方法、装置、电子设备及可读存储介质。
背景技术
数据库服务供应商根据服务等级协议(SLA,Service-Level Agreement)向多个不同的用户(租户)提供不同规格的数据库服务。为了方便数据库服务供应商对数据库服务的管理,并保证服务的服务等级协议,数据库服务供应商一般会以实例规格向用户提供数据库服务,即需要实现实例级别的粒度的资源管理。
一个实例可以包括多张表,每张表存储的数据以及对数据的访问方式的差异较大,例如,部分表会出现离线计算的读写访问,即可能出现突发的大流量,但是对延时不敏感;又例如,部分表会出现在线的访问,即对延时和错误率都比较敏感。数据库服务供应商需要对访问表的资源进行限制,避免占用了过多的资源,导致在线访问受到影响,即需要实现表级别的粒度的资源管理。
因此,如何实现多种粒度的资源管理成为亟待解决的技术问题。
发明内容
为了解决相关技术中的问题,本公开实施例提供一种数据库访问控制方法、装置、电子设备及可读存储介质。
第一方面,本公开实施例中提供了一种数据库访问控制方法。
具体地,所述数据库访问控制方法,包括:
接收数据库访问操作,所述数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2;
根据所述数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N;
根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数;
根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数;
根据第n级对象的实际控制参数,对所述数据库访问操作进行控制。
结合第一方面,本公开在第一方面的第一种实现方式中,所述数据库访问操作中与第n-1级对象相对应的操作,是基于与第n级对象相对应的操作实现的。
结合第一方面,本公开在第一方面的第二种实现方式中,所述资源包括数据库提供方的以下任意一种资源:计算资源、存储资源、网络资源。
结合第一方面的第二种实现方式,本公开在第一方面的第三种实现方式中,所述计算资源包括以下任意一种:单位时间读能力单元、单位时间写能力单元、单位时间查询率;
所述存储资源包括磁盘单位时间读写操作频率;
所述网络资源包括以下任意一种:入口网络带宽、出口网络带宽、单位时间离线导入的数据量、单位时间离线导出的数据量。
结合第一方面,本公开在第一方面的第四种实现方式中,第1级对象是用户,第2级对象是实例,第3级对象是表,第4级对象是索引;或者
第1级对象是用户,第2级对象是实例,第3级对象是表;或者
第1级对象是用户,第2级对象是实例;或者
第1级对象是实例,第2级对象是表,第3级对象是索引;或者
第1级对象是实例,第2级对象是表;或者
第1级对象是表,第2级对象是索引。
结合第一方面,本公开在第一方面的第五种实现方式中,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述数据库访问操作中与所述第n级对象有关的第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数。
结合第一方面的第五种实现方式,本公开在第一方面的第六种实现方式中,所述对象的预期控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例或预期延迟响应时间;
所述对象的实际控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例或实际延迟响应时间。
结合第一方面的第六种实现方式,本公开在第一方面的第七种实现方式中,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
确定所述第1级对象的预期资源使用数据ER1与所述第1级对象的资源限制数据RR1的第1级对象的数据差值DR1;
当所述第1级对象的数据差值DR1≤0时,所述第1级对象的预期拒绝比例ECP1=0;
当所述第1级对象的数据差值DR1>0时,根据所述第1级对象的数据差值DR1以及所述第1级对象的预期资源使用数据ER1确定所述第1级对象的预期拒绝比例ECP1。
结合第一方面的第七种实现方式,本公开在第一方面的第八种实现方式中,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据确定所述第n级对象的预期控制参数,包括:
确定所述第n级对象的预期资源使用数据ERn与所述第n级对象的资源限制数据RRn的第n级对象的数据差值DRn;
当所述第n级对象的数据差值DRn≤0时,所述第n级对象的预期拒绝比例ECPn=0;
当所述第n级对象的数据差值DRn>0时,根据所述第n级对象的数据差值DRn以及所述第n级对象的预期资源使用数据ERn确定所述第n级对象的预期拒绝比例ECPn。
结合第一方面的第八种实现方式,本公开在第一方面的第九种实现方式中,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期拒绝比例ECP1确定为所述第1级对象的实际拒绝比例ACP1。
结合第一方面的第九种实现方式,本公开在第一方面的第十种实现方式中,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际拒绝比例ACPi[i=1~(n-1)]和所述第n级对象的预期拒绝比例ECPn,确定所述第n级对象的实际拒绝比例ACPn。
结合第一方面的第六种实现方式,本公开在第一方面的第十一种实现方式中,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期延迟响应时间时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
当上一时间周期所述第1级对象的预期资源使用数据未超过所述第1级对象的资源限制数据时,所述第1级对象在本时间周期的预期延迟响应时间EDT1为预设时间T10;
当上一时间周期所述第1级对象的预期资源使用数据超过所述第1级对象的资源限制数据时,根据所述第1级对象在所述上一时间周期的预期延迟响应时间T11、所述第1级对象在本时间周期的预期资源使用数据ER1以及所述第1级对象的资源限制数据RR1确定所述第1级对象在本时间周期的预期延迟响应时间EDT1。
结合第一方面的第十一种实现方式,本公开在第一方面的第十二种实现方式中,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数,包括:
当上一时间周期所述第n级对象的预期资源使用数据未超过第n级对象的资源限制数据时,所述第n级对象在本时间周期的预期延迟响应时间EDTn为预设时间Tn0;
当上一时间周期所述第n级对象的预期资源使用数据超过所述第n级对象的资源限制数据时,根据所述第n级对象在所述上一时间周期的预期延迟响应时间Tn1、所述第n级对象在本时间周期的预期资源使用数据ERn以及所述第n级对象的资源限制数据RRn确定所述第n级对象在本时间周期的预期延迟响应时间EDTn。
结合第一方面的第十二种实现方式,本公开在第一方面的第十三种实现方式中,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际延迟响应时间时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期延迟响应时间EDT1确定为所述第1级对象的实际延迟响应时间ADT1。
结合第一方面的第十三种实现方式,本公开在第一方面的第十四种实现方式中,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际延迟响应时间ADTi[i=1~(n-1)]和所述第n级对象的预期延迟响应时间EDTn,确定所述第n级对象的实际延迟响应时间ADTn。
结合第一方面,本公开在第一方面的第十五种实现方式中,所述数据库访问操作是单一类型的数据库访问操作,所述资源限制是对所述类型的数据库访问操作的资源限制;或者
所述数据库访问操作包括多种类型的数据库访问操作,所述资源限制是对所述多种类型的数据库访问操作的总资源限制。
第二方面,本公开实施例中提供了一种数据库访问控制装置。
具体地,所述数据库访问控制装置,包括:
接收模块,被配置为接收数据库访问操作,所述数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2;
第一确定模块,被配置为根据所述数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N;
第二确定模块,被配置为根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数;
第三确定模块,被配置为根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数;
控制模块,被配置为根据第n级对象的实际控制参数,对所述数据库访问操作进行控制。
结合第二方面,本公开在第二方面的第一种实现方式中,所述数据库访问操作中与第n-1级对象相对应的操作,是基于与第n级对象相对应的操作实现的。
结合第二方面,本公开在第二方面的第二种实现方式中,所述资源包括数据库提供方的以下任意一种资源:计算资源、存储资源、网络资源。
结合第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述计算资源包括以下任意一种:单位时间读能力单元、单位时间写能力单元、单位时间查询率;
所述存储资源包括磁盘单位时间读写操作频率;
所述网络资源包括以下任意一种:入口网络带宽、出口网络带宽、单位时间离线导入的数据量、单位时间离线导出的数据量。
结合第二方面,本公开在第二方面的第四种实现方式中,第1级对象是用户,第2级对象是实例,第3级对象是表,第4级对象是索引;或者
第1级对象是用户,第2级对象是实例,第3级对象是表;或者
第1级对象是用户,第2级对象是实例;或者
第1级对象是实例,第2级对象是表,第3级对象是索引;或者
第1级对象是实例,第2级对象是表;或者
第1级对象是表,第2级对象是索引。
结合第二方面,本公开在第二方面的第五种实现方式中,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述数据库访问操作中与所述第n级对象有关的第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数。
结合第二方面的第五种实现方式,本公开在第二方面的第六种实现方式中,所述对象的预期控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例或预期延迟响应时间;
所述对象的实际控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例或实际延迟响应时间。
结合第二方面的第六种实现方式,本公开在第二方面的第七种实现方式中,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
确定所述第1级对象的预期资源使用数据ER1与所述第1级对象的资源限制数据RR1的第1级对象的数据差值DR1;
当所述第1级对象的数据差值DR1≤0时,所述第1级对象的预期拒绝比例ECP1=0;
当所述第1级对象的数据差值DR1>0时,根据所述第1级对象的数据差值DR1以及所述第1级对象的预期资源使用数据ER1确定所述第1级对象的预期拒绝比例ECP1。
结合第二方面的第七种实现方式,本公开在第二方面的第八种实现方式中,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据确定所述第n级对象的预期控制参数,包括:
确定所述第n级对象的预期资源使用数据ERn与所述第n级对象的资源限制数据RRn的第n级对象的数据差值DRn;
当所述第n级对象的数据差值DRn≤0时,所述第n级对象的预期拒绝比例ECPn=0;
当所述第n级对象的数据差值DRn>0时,根据所述第n级对象的数据差值DRn以及所述第n级对象的预期资源使用数据ERn确定所述第n级对象的预期拒绝比例ECPn。
结合第二方面的第八种实现方式,本公开在第二方面的第九种实现方式中,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期拒绝比例ECP1确定为所述第1级对象的实际拒绝比例ACP1。
结合第二方面的第九种实现方式,本公开在第二方面的第十种实现方式中,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际拒绝比例ACPi[i=1~(n-1)]和所述第n级对象的预期拒绝比例ECPn,确定所述第n级对象的实际拒绝比例ACPn。
结合第二方面的第六种实现方式,本公开在第二方面的第十一种实现方式中,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期延迟响应时间时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
当上一时间周期所述第1级对象的预期资源使用数据未超过所述第1级对象的资源限制数据时,所述第1级对象在本时间周期的预期延迟响应时间EDT1为预设时间T10;
当上一时间周期所述第1级对象的预期资源使用数据超过所述第1级对象的资源限制数据时,根据所述第1级对象在所述上一时间周期的预期延迟响应时间T11、所述第1级对象在本时间周期的预期资源使用数据ER1以及所述第1级对象的资源限制数据RR1确定所述第1级对象在本时间周期的预期延迟响应时间EDT1。
结合第二方面的第十一种实现方式,本公开在第二方面的第十二种实现方式中,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数,包括:
当上一时间周期所述第n级对象的预期资源使用数据未超过第n级对象的资源限制数据时,所述第n级对象在本时间周期的预期延迟响应时间EDTn为预设时间Tn0;
当上一时间周期所述第n级对象的预期资源使用数据超过所述第n级对象的资源限制数据时,根据所述第n级对象在所述上一时间周期的预期延迟响应时间Tn1、所述第n级对象在本时间周期的预期资源使用数据ERn以及所述第n级对象的资源限制数据RRn确定所述第n级对象在本时间周期的预期延迟响应时间EDTn。
结合第二方面的第十二种实现方式,本公开在第二方面的第十三种实现方式中,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际延迟响应时间时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期延迟响应时间EDT1确定为所述第1级对象的实际延迟响应时间ADT1。
结合第二方面的第十三种实现方式,本公开在第二方面的第十四种实现方式中,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际延迟响应时间ADTi[i=1~(n-1)]和所述第n级对象的预期延迟响应时间EDTn,确定所述第n级对象的实际延迟响应时间ADTn。
结合第二方面,本公开在第二方面的第十五种实现方式中,所述数据库访问操作是单一类型的数据库访问操作,所述资源限制是对所述类型的数据库访问操作的资源限制;或者
所述数据库访问操作包括多种类型的数据库访问操作,所述资源限制是对所述多种类型的数据库访问操作的总资源限制。
第三方面,本公开实施例提供了一种电子设备,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如第一方面、第一方面的第一种实现方式至第十五种实现方式任一项所述的方法。
第四方面,本公开实施例中提供了一种可读存储介质,其上存储有计算机指令,该计算机指令被处理器执行时实现如第一方面、第一方面的第一种实现方式至第十五种实现方式任一项所述的方法。
根据本公开实施例提供的技术方案,通过接收数据库访问操作,数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2,根据数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N,根据第1级对象的资源限制数据和第1级对象的预期资源使用数据,确定第1级对象的预期控制参数,根据第n级对象的资源限制数据和第n级对象的预期资源使用数据,确定第n级对象的预期控制参数,根据第1级对象的预期控制参数,确定第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和第n级对象的预期控制参数,确定第n级对象的实际控制参数,然后根据第n级对象的实际控制参数,对数据库访问操作进行控制。根据本公开实施例的技术方案允许针对不同粒度(例如,不同级别的对象)分别设置资源限制,并通过确定各级别对象的实际控制参数,根据该控制参数对与该级别对象相对应的操作进行控制,使得数据库访问操作同时满足各个粒度的资源限制要求。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开实施例的数据库访问控制方法的流程图;
图2A-2F示出根据本公开实施例的数据库对象的结构示意图;
图3示出根据本公开实施例的数据库访问控制方法的示意图;
图4示出根据本公开实施例的数据库访问控制方法的示意图;
图5示出根据本公开的实施例的数据库访问控制装置的结构框图;
图6示出根据本公开的实施例的电子设备的结构框图;
图7示出适于用来实现根据本公开实施例的数据库访问控制方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。
在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
如上文所述,在多租户的数据库服务中,数据库服务供应商为了更好地保障服务的服务等级协议,需要对不同用户进行实例级别和表级别等的资源调配。在传统的多租户数据库服务中,数据库服务供应商一般只提供实例级别的资源管理,不会提供表级别的资源管理,即实例内部的资源需要用户自行管理,因此,数据库服务供应商无法实现实例内部资源的灵活配置。
在部分数据库服务中,数据库服务供应商提供了表级别的资源管理,但没有提供实例级别的管理,虽然可以保障表级别的服务等级协议,却至少存在以下不足:需要根据每张表的峰值设置资源上限,导致所有表的资源上限之和远大于整个实例的资源上限,无法实现实例内的资源共享;无法进行更细粒度的资源限制,比如操作级别的资源限制。
因此,现有技术方案中,无法同时实现多粒度的资源管理,导致用户无法实现灵活的资源管理来保障实例内部多张表之间的服务等级协议。
为至少部分地解决发明人发现的现有技术中的问题而提出本公开。
图1示出根据本公开实施例的数据库访问控制方法的流程图。如图1所示,所述数据库访问控制方法包括以下步骤S101-S105:
在步骤S101中,接收数据库访问操作,所述数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2;
在步骤S102中,根据所述数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N;
在步骤S103中,根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数;
在步骤S104中,根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数;
在步骤S105中,根据第n级对象的实际控制参数,对所述数据库访问操作进行控制。
根据本公开的实施例,数据库访问操作可以包括多种类型的操作,例如读操作、写操作、复制操作,等等。数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,不同粒度对应于对象的不同级别,第1级对象的粒度大于第2级对象的粒度,第2级对象的粒度大于第3级对象的粒度,……,第(N-1)级对象的粒度大于第N级对象的粒度。例如,假设第1级对象为用户,第2级对象为实例,第3级对象为表,第4级对象为索引,其中,用户的粒度大于实例的粒度,实例的粒度大于表的粒度,表的粒度大于索引的粒度,数据库访问操作包括与用户相对应的操作(例如,来自某个用户的数据库访问操作)、与实例相对应的操作(例如,针对实例进行的数据库访问操作)、与表相对应的操作(例如,针对表进行的数据库访问操作)、与索引相对应的操作(例如,针对索引进行的数据库访问操作)。
根据本公开的实施例,可以根据用户对数据库的访问操作,确定不同级对象的预期资源使用数据,其中,资源为数据库提供方提供的资源,比如,计算资源、存储资源或网络资源中的一种或多种;预期资源使用数据为为了响应或处理用户发出的数据库访问请求所预期消耗的资源数据。可以根据与第1~N级对象相对应的操作分别确定第1~N级中各级对象的预期资源使用数据ER1~ERN,具体地,可以根据用户对数据库的第1级对象的访问操作确定第1级对象的预期资源使用数据ER1;可以根据用户对数据库的第n级对象的访问操作确定第n级对象的预期资源使用数据ERn,2≤n≤N。还可以根据用户对数据库的访问操作确定部分级别对象的预期资源使用数据,比如,确定1~n级对象的预期资源使用数据ER1~ERn。
根据本公开的实施例,可以根据第1级对象的资源限制数据RR1和第1级对象的预期资源使用数据ER1,确定第1级对象的预期控制参数EP1,其中,资源限制数据RR1可以为数据库提供方对第1级对象资源的使用限制数据,比如,最大资源使用阈值,即用户对第1级对象资源的使用数据不能超过第1级对象的资源限制数据RR1。若第1级对象的预期资源使用数据ER1大于第1级对象的资源限制数据RR1,可以根据预期资源使用数据ER1和资源限制数据RR1确定预期控制参数EP1。当根据预期控制参数EP1对数据库访问操作中与第1级对象有关的操作进行控制时,可以保证用户对第1级对象资源的使用数据不超过第1级对象的资源限制数据RR1。根据本公开的实施例,根据预期控制参数EP1对数据库访问操作中与第1级对象有关的操作进行控制,例如可以包括,当第1级对象是特定实例时,根据预期控制参数EP1拒绝超出资源限制的针对该特定实例的访问操作,或者如果一个时间周期内针对该特定实例的访问操作超出了对该实例的资源限制,根据预期控制参数EP1对该时间周期内的所有针对该特定实例的访问操作进行延迟响应。
根据本公开的实施例,可以根据第n级对象的资源限制数据和第n级对象的预期资源使用数据,确定第n级对象的预期控制参数,其中,第n级对象的资源限制数据RRn可以为数据库提供方对第n级对象资源的使用限制数据,比如,最大资源使用阈值,即用户对第n级对象资源的使用数据不能超过第n级对象的资源限制数据RRn。若第n级对象的预期资源使用数据ERn大于第n级对象的资源限制数据RRn,可以根据预期资源使用数据ERn和资源限制数据RRn确定预期控制参数EPn。当根据预期控制参数EPn对数据库访问操作中与第n级对象有关的操作进行控制时,可以保证用户对第n级对象资源的使用数据不超过第n级对象的资源限制数据RRn。根据本公开的实施例,根据预期控制参数EPn对数据库访问操作中与第n级对象有关的操作进行控制,例如可以包括,当第n级对象是特定实例时,根据预期控制参数EPn拒绝超出资源限制的针对该特定实例的访问操作,或者如果一个时间周期内针对该特定实例的访问操作超出了对该实例的资源限制,根据预期控制参数EPn对该时间周期内的所有针对该特定实例的访问操作进行延迟响应。
根据本公开的实施例,根据第1~N级对象的资源限制数据和第1~N级对象的预期资源使用数据,可以确定第1~N级对象中所有级别对象的预期控制参数,还可以确定部分级别对象的预期控制参数,比如,确定1~n级对象的预期控制参数。
根据本公开的实施例,可以根据第1级对象的预期控制参数EP1,确定第1级对象的实际控制参数AP1,根据实际控制参数AP1对数据库访问操作中与第1级对象相对应的操作进行控制,例如对实际接收到的与第1级对象相对应的操作进行控制。此外,可以根据第1~(n-1)级对象的实际控制参数和第n级对象的预期控制参数,确定第n级对象的实际控制参数APn,根据所述实际控制参数APn对数据库访问操作中与第n级对象相对应的操作进行控制,例如对实际接收到的与第n级对象相对应的操作进行控制。
根据本公开的实施例,可以采用上述方法确定第1~N级对象中任一级(例如,第n级)的实际控制参数。
根据本公开的实施例,可以确定第1~N级对象中全部级别对象的实际控制参数,还可以确定部分级别对象的实际控制参数,比如,确定1~n(2≤n≤N)级对象的实际控制参数。当确定了第n级对象的实际控制参数之后,结合第1~(n-1)级对象的实际控制参数,即所有n级对象的实际控制参数,可以对数据库访问操作进行控制,即按照各级对象的实际控制参数,对与该级对象相对应的操作分别进行的控制。
根据本公开实施例提供的技术方案,通过接收数据库访问操作,数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2,根据数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N,根据第1级对象的资源限制数据和第1级对象的预期资源使用数据,确定第1级对象的预期控制参数,根据第n级对象的资源限制数据和第n级对象的预期资源使用数据,确定第n级对象的预期控制参数,根据第1级对象的预期控制参数,确定第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和第n级对象的预期控制参数,确定第n级对象的实际控制参数,然后根据第n级对象的实际控制参数,对数据库访问操作进行控制。根据本公开实施例的技术方案允许针对不同粒度(例如,不同级别的对象)分别设置资源限制,并通过确定各级别对象的实际控制参数,根据该控制参数对与该级别对象相对应的操作进行控制,使得数据库访问操作同时满足各个粒度的资源限制要求。
根据本公开的实施例,所述数据库访问操作是单一类型的数据库访问操作,所述资源限制是对所述类型的数据库访问操作的资源限制;或者
所述数据库访问操作包括多种类型的数据库访问操作,所述资源限制是对所述多种类型的数据库访问操作的总资源限制。
根据本公开的实施例,数据库访问操作可以是单一类型的操作,例如读操作或写操作或复制操作,等等。在此情况下,资源限制数据可以是针对该单一类型的操作的资源限制数据,例如针对该单一类型的操作的资源使用上限。相应地,预期资源使用数据也是该单一类型的操作的预期资源使用数据。此时,可以针对不同操作分别设置各级对象的资源限制数据,实现操作粒度的资源限制。
根据本公开的实施例,数据库访问操作包括多种类型的数据库访问操作,例如包括读操作、写操作、复制等操作中的两种或更多种操作。此时,可以针对这两种或更多种操作设置总资源限制数据,从而实现资源的统一灵活调配和不同操作之间的资源共享。
根据本公开的实施例,所述资源包括数据库提供方的以下任意一种资源:计算资源、存储资源、网络资源。
根据本公开的实施例,所述计算资源包括以下任意一种:单位时间读能力单元(capacity unit,cu)、单位时间写能力单元、单位时间查询率(例如,每秒查询率qps);
所述存储资源包括磁盘单位时间读写操作频率(例如,每秒读写操作频率iops);
所述网络资源包括以下任意一种:入口网络带宽、出口网络带宽、单位时间离线导入的数据量、单位时间离线导出的数据量。
根据本公开的实施例,第1级对象是用户,第2级对象是实例,第3级对象是表,第4级对象是索引;或者
第1级对象是用户,第2级对象是实例,第3级对象是表;或者
第1级对象是用户,第2级对象是实例;或者
第1级对象是实例,第2级对象是表,第3级对象是索引;或者
第1级对象是实例,第2级对象是表;或者
第1级对象是表,第2级对象是索引。
应理解,本公开实施例将通过树状结构组织1~N级对象,且每一级对象为树状结构的节点为例进行说明。应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的对象的种类以及数量可以根据实际需要进行设定,本公开对此不作具体限定。
图2A-2F示出根据本公开实施例的数据库对象的结构示意图。
如图2A所示,通过树状结构可以组织数据库的不同级别的对象,其中,第1级对象是用户,第2级对象是实例,第3级对象是表,第4级对象是索引。用户、实例、表和索引为树状结构的节点,用户201A为实例202A1和实例202A2的父节点,实例202A1和实例202A2为用户201A的子节点;实例202A1为表203A1和表203A2的父节点,表203A1和表203A2为实例202A1的子节点;表203A1为索引204A1和索引204A2的父节点,索引204A1和索引204A2为203A1的子节点。
根据本公开实施例提供的技术方案,可以实现1~4级对象的多粒度资源访问管理,其中,用户级的资源访问管理,可以实现多租户对整个数据库资源的共享使用;实例级的资源访问管理,可以避免单个实例的流量冲击影响了其他实例的访问,为多个实例的访问提供了资源上限保障,又通过对表级以及索引级资源的访问管理可以实现灵活地设置实例内各个表以及各个索引的资源上限,避免实例内单个表或者单个索引的突发流量影响了用户对其他表或其他索引的访问,从而影响了整个实例的访问。
如图2B所示,通过树状结构可以组织数据库的不同级别的对象,其中,第1级对象是用户,第2级对象是实例,第3级对象是表。用户、实例和表为树状结构的节点,用户201B为实例202B1和实例202B2的父节点,实例202B1和实例202B2为用户201B的子节点;实例202B1为表203B1和表203B2的父节点,表203B1和表203B2为实例202B1的子节点。
根据本公开实施例提供的技术方案,可以实现1~3级对象的多粒度资源访问管理,用户级的资源访问管理,可以实现多租户对整个数据库资源的共享使用;实例级的资源访问管理,可以避免单个实例的流量冲击影响了其他实例的访问,为多个实例的访问提供了资源上限保障,又通过对表级资源的访问管理可以实现灵活地设置实例内各个表的资源上限,避免实例内单个表的突发流量影响了用户对其他表的访问,从而影响了整个实例的访问。
如图2C所示,通过树状结构可以组织数据库不同级别的对象,其中,第1级对象是用户,第2级对象是实例。用户和实例为树状结构的节点,用户201C为实例202C1和实例202C2的父节点,实例202C1和实例202C2为用户201C的子节点。
根据本公开实施例提供的技术方案,可以实现1~2级对象的多粒度资源访问管理,用户级的资源访问管理,可以实现多租户对整个数据库资源的共享使用;实例级的资源访问管理,可以避免单个实例的流量冲击影响了其他实例的访问,为多个实例的访问提供了资源上限保障。
如图2D所示,通过树状结构可以组织数据库不同级别的对象,其中,第1级对象是实例,第2级对象是表,第3级对象是索引。实例、表和索引为树状结构的节点,实例202D1为表203D1和表203D2的父节点,表203D1和表203D2为实例202D1的子节点;表203D1为索引204D1和索引204D2的父节点,索引204D1和索引204D2为203D1的子节点。
根据本公开实施例提供的技术方案,可以实现1~3级对象的多粒度资源访问管理,实例级的资源访问管理,可以避免单个实例的流量冲击影响了其他实例的访问,为多个实例的访问提供了资源上限保障,又通过对表级以及索引级资源的访问管理可以实现灵活地设置实例内各个表以及各个索引的资源上限,避免实例内单个表或者单个索引的突发流量影响了用户对其他表或其他索引的访问,从而影响了整个实例的访问。
如图2E所示,通过树状结构可以组织数据库不同级别的对象,其中,第1级对象是实例,第2级对象是表。实例和表为树状结构的节点,实例202E1为表203E1和表203E2的父节点,表203E1和表203E2为实例202E1的子节点。
根据本公开实施例提供的技术方案,可以实现1~2级对象的多粒度资源访问管理,实例级的资源访问管理,可以避免单个实例的流量冲击影响了其他实例的访问,为多个实例的访问提供了资源上限保障,又通过对表级资源的访问管理可以实现灵活地设置实例内各个表的资源上限,避免实例内单个表的突发流量影响了用户对其他表的访问,从而影响了整个实例的访问。
如图2F所示,通过树状结构可以组织数据库不同级别的对象,其中,第1级对象是表,第2级对象是索引。表和索引为树状结构的节点,表203F1为索引204F1和索引204F2的父节点,索引204F1和索引204F2为203F1的子节点。
根据本公开实施例提供的技术方案,可以实现1~2级对象的多粒度资源访问管理,表级的资源访问管理,可以避免单个表的流量冲击影响了其他表的访问,为多个表的访问提供了资源上限保障,又通过对索引级资源的访问管理可以实现灵活地设置表内各个索引的资源上限,避免单个索引的突发流量影响了用户对其他索引的访问,从而影响了整个表的访问。
根据本公开的实施例,所述数据库访问操作中与第n-1级对象相对应的操作,是基于与第n级对象相对应的操作实现的。
例如,如图2A所示,用户201A可以创建多个实例,比如,实例202A1和实例202A2,因此,数据库访问操作中与第1级对象“用户”相对应的操作,是基于与第2级对象“实例”相对应的操作实现的,例如,来自用户201A的数据库访问操作,是基于对实例202A1和/或实例202A2的访问操作实现的。实例可以包括多个表,比如,实例202A1可以包括表203A1和表203A2,因此,数据库访问操作中与第2级对象“实例202A1”相对应的操作,是基于与第3级对象“表203A1”和“表203A2”相对应的操作实现的,例如,对实例202A1的访问操作,是基于对表203A1和/或表203A2的访问操作实现的。表可以包括多个索引,比如,表203A1可以包括索引204A1和索引204A2,因此,数据库访问操作中与第3级对象“表203A1”相对应的操作,是基于与第4级对象“索引204A1”和“索引204A2”相对应的操作实现的,例如,对表203A1的访问操作,是基于对索引204A1和/或索引204A2的访问操作实现的。
根据本公开的实施例,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述数据库访问操作中与所述第n级对象有关的第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数。
根据本公开的实施例,某一级对象的上级对象并非都与该对象有关。例如,如图2A所示,索引204A1与上级对象表203A1有关,而对象表203A2与索引204A1无关;实例202A1与索引204A1有关,而实例202A2与索引204A1无关。
根据本公开的实施例,所述对象的预期控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例或预期延迟响应时间;
所述对象的实际控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例或实际延迟响应时间。
根据本公开的实施例,如图2A所示,第1级对象“用户”的预期控制参数,包括在数据库访问操作中用户发出的操作的预期拒绝比例或预期延迟响应时间;第2级对象“实例”的预期控制参数,包括在数据库访问操作中针对实例的操作的预期拒绝比例或预期延迟响应时间;第3级对象“表”的预期控制参数,包括在数据库访问操作中针对表的操作的预期拒绝比例或预期延迟响应时间;第4级对象“索引”的预期控制参数,包括在数据库访问操作中针对索引的操作的预期拒绝比例或预期延迟响应时间。
根据本公开的实施例,如图2A所示,第1级对象“用户”的实际控制参数,包括在数据库访问操作中用户发出的操作的实际拒绝比例或实际延迟响应时间;第2级对象“实例”的实际控制参数,包括在数据库访问操作中针对实例的操作的实际拒绝比例或实际延迟响应时间;第3级对象“表”的实际控制参数,包括在数据库访问操作中针对表的操作的实际拒绝比例或实际延迟响应时间;第4级对象“索引”的实际控制参数,包括在数据库访问操作中针对索引的操作的实际拒绝比例或实际延迟响应时间。
根据本公开的实施例,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
确定所述第1级对象的预期资源使用数据ER1与所述第1级对象的资源限制数据RR1的第1级对象的数据差值DR1;
当所述第1级对象的数据差值DR1≤0时,所述第1级对象的预期拒绝比例ECP1=0;
当所述第1级对象的数据差值DR1>0时,根据所述第1级对象的数据差值DR1以及所述第1级对象的预期资源使用数据ER1确定所述第1级对象的预期拒绝比例ECP1。
图3示出根据本公开实施例的数据库访问控制方法的示意图。如图3所示,第1级对象是用户,第2级对象是实例,第3级对象是表,第4级对象是索引,为了描述的方便,图5的应用场景中仅绘制了一个用户301A、两个实例302A1和302A2、两个表303A1和303A2、两个索引304A1和304A2,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的对象的数量以及种类可以根据实际需要进行设定,本公开对此不作具体限定。
图3以资源为每秒查询率(qps)为例进行说明,但本公开不限于此,而是也适用于上文所述的其他资源。
根据本公开的实施例,预期资源使用数据是根据用户发出的数据库访问操作确定的,由于用户发出的数据库访问操作有可能超出了数据库对其的资源限制,所以要对该数据访问操作进行控制,例如拒绝某些访问操作。例如,用户301A发出的数据库访问操作预期使用的qps是110,其中对实例302A1的访问操作预期使用的qps是60,对实例302A2的访问操作预期使用的qps是50,对表303A1的访问操作预期使用的qps是40,对表303A2的访问操作预期使用的qps是20,对索引304A1的访问操作预期使用的qps是20,对索引304A2的访问操作预期使用的qps是20。
根据本公开的实施例,可以根据第1级对象“用户”的资源限制数据RR1和第1级对象“用户”的预期资源使用数据ER1,确定第1级对象“用户”的预期控制参数,即预期拒绝比例ECP1。
可以确定第1级对象“用户”的预期资源使用数据ER1与第1级对象“用户”的资源限制数据RR1的第1级对象“用户”的数据差值DR1,当第1级对象“用户”的数据差值DR1=ER1-RR1≤0时,第1级对象“用户”的预期拒绝比例ECP1=0,即当用户的预期资源使用数据ER1小于或等于资源限制数据RR1时,代表用户向服务器请求使用的资源数据小于数据库提供方对用户提供资源的限制数据,此时,可以不用对用户的预期资源使用数据ER1进行限制,即用户的预期拒绝比例ECP1为0。假设用户301A的预期资源使用数据ER1为90,比如,“真实qps”为90,用户301A所对应的资源限制数据RR1为100,比如,“qps上限”为100,由于DR1=ER1-RR1=90-100=-10<0,因此,ECP1=0。
当第1级对象“用户”的数据差值DR1>0时,可以根据第1级对象“用户”的数据差值DR1以及第1级对象“用户”的预期资源使用数据ER1确定第1级对象“用户”的预期拒绝比例ECP1。
本公开实施例将以根据公式ECP1=DR1/ER1=(ER1-RR1)/ER1计算第1级对象“用户”的预期拒绝比例ECP1为例进行说明,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制。
假设用户301A的预期资源使用数据ER1为110,比如,“真实qps”为110,用户301A所对应的资源限制数据RR1为100,比如,“qps上限”为100,那么ECP1=(110-100)/110=1/11,即确定第1级对象“用户”预期拒绝比例ECP1为1/11。
根据本公开的实施例,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据确定所述第n级对象的预期控制参数,包括:
确定所述第n级对象的预期资源使用数据ERn与所述第n级对象的资源限制数据RRn的第n级对象的数据差值DRn;
当所述第n级对象的数据差值DRn≤0时,所述第n级对象的预期拒绝比例ECPn=0;
当所述第n级对象的数据差值DRn>0时,根据所述第n级对象的数据差值DRn以及所述第n级对象的预期资源使用数据ERn确定所述第n级对象的预期拒绝比例ECPn。
如图3所示,本公开实施例将以根据公式ECPn=DRn/ERn=(ERn-RRn)/ERn计算第n级对象的预期拒绝比例ECPn为例进行说明,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制。
根据本公开的实施例,由于第2级对象“实例302A2”没有资源上限,所以不对其进行控制。可以根据第2级对象“实例302A1”的资源限制数据RR2和第2级对象“实例302A1”的预期资源使用数据ER2,确定第2级对象“实例302A1”的预期控制参数,即预期拒绝比例ECP2。
当第2级对象“实例302A2”的数据差值DR2=ER2–RR2≤0时,第2级对象“实例302A2”的预期拒绝比例ECP2=0,在此不再赘述。当第2级对象“实例302A2”的数据差值DR2>0时,可以根据公式ECP2=(ER2-RR2)/ER2计算第2级对象“实例302A1”的预期拒绝比例ECP2。假设实例302A2的预期资源使用数据ER2为60,比如,“真实qps”为60,实例302A2所对应的资源限制数据RR2为50,比如,“qps上限”为50,那么ECP2=(60-50)/60=1/6,即确定第2级对象“实例302A2”预期拒绝比例ECP2为1/6。
根据本公开的实施例,由于第3级对象“表303A2”没有资源上限,因此对第3级对象“表303A2”不进行控制。可以根据第3级对象“表303A1”的资源限制数据RR3和第3级对象“表303A1”的预期资源使用数据ER3,确定第3级对象“表303A1”的预期控制参数,即预期拒绝比例ECP3。
当第3级对象“表303A1”的数据差值DR3=ER3–RR3≤0时,第3级对象“表303A1”的预期拒绝比例ECP3=0,在此不再赘述。当第3级对象“表303A1”的数据差值DR3>0时,可以根据公式ECP3=(ER3-RR3)/ER3计算第3级对象“表303A1”的预期拒绝比例ECP3。假设表303A1的预期资源使用数据ER3为40,比如,“真实qps”为40,表303A1所对应的资源限制数据RR3为30,比如,“qps上限”为30,那么ECP3=(40-30)/40=1/4,即确定第3级对象“表303A1”预期拒绝比例ECP3为1/4。
根据本公开的实施例,由于第4级对象“索引304A2”没有资源上限,所以对第4级对象“索引304A2”不进行控制。可以根据第4级对象“索引304A1”的资源限制数据RR4和第4级对象“索引304A1”的预期资源使用数据ER4,确定第4级对象“索引304A1”的预期控制参数,即预期拒绝比例ECP4。
当第4级对象“索引304A1”的数据差值DR4=ER4–RR4≤0时,第4级对象“索引304A1”的预期拒绝比例ECP4=0,在此不再赘述。当第4级对象“索引304A1”的数据差值DR4>0时,可以根据公式ECP4=(ER4-RR4)/ER4计算第4级对象“索引304A1”的预期拒绝比例ECP4。假设索引304A1的预期资源使用数据ER4为20,比如,“真实qps”为20,索引304A1所对应的资源限制数据RR4为10,比如,“qps上限”为10,那么ECP3=(20-10)/20=1/2,即确定第4级对象“索引304A1”预期拒绝比例ECP4为1/2。
根据本公开的实施例,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:将所述第1级对象的预期拒绝比例ECP1确定为所述第1级对象的实际拒绝比例ACP1。
如图3所示,根据本公开的实施例,可以根据第1级对象“用户”的预期控制参数ECP1,确定第1级对象“用户”的实际控制参数。具体地,可以根据第1级对象“用户”的预期拒绝比例ECP1,确定第1级对象“用户”的实际拒绝比例ACP1,例如,可以将第1级对象“用户”的预期拒绝比例ECP1确定为第1级对象“用户”的实际拒绝比例ACP1,即ACP1=ECP1=1/11。因此,对用户发出的数据库访问操作的实际拒绝比例是1/11。
根据本公开的实施例,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际拒绝比例ACPi[i=1~(n-1)]和所述第n级对象的预期拒绝比例ECPn,确定所述第n级对象的实际拒绝比例ACPn。
根据本公开的实施例,可以根据第1级对象“用户”的实际控制参数和第2级对象“实例302A1”的预期控制参数ECP2,确定第2级对象“实例302A1”的实际控制参数。具体地,可以根据第1级对象“用户”的实际拒绝比例ACP1和第2级对象“实例302A1”的预期控制参数ECP2,确定第2级对象“实例302A1”的实际拒绝比例ACP2,其中,ECP2=1-(1-ACP1)(1-ACP2),即,1/6=1-(1-1/11)(1-ACP2),可以确定ACP2=1/12,即第2级对象“实例302A1”的实际拒绝比例ACP2为1/12。因此,对实例302A1的实际访问操作的拒绝比例是1/12,即,由于在用户级已经拒绝了部分访问操作,所以根据实际拒绝比例ACP2=1/12对针对实例302A1的访问操作进行拒绝操作,可以使得针对实例302A1的访问操作的资源使用数据不超过其资源限制数据。
根据本公开的实施例,可以根据第1级对象“用户”的实际控制参数、第2级对象“实例302A1”的实际控制参数和第3级对象“表303A1”的预期控制参数ECP3,确定第3级对象“表303A1”的实际控制参数。具体地,可以根据第1级对象“用户”的实际拒绝比例ACP1、第2级对象“实例302A1”的实际拒绝比例ACP2和第3级对象“表303A1”的预期控制参数ECP3,确定第3级对象“表303A1”的实际拒绝比例ACP3,其中,ECP3=1-(1-ACP1)(1-ACP2)(1-ACP3),即,1/4=1-(1-1/11)(1-1/12)(1-ACP3),可以确定ACP3=1/10,即第3级对象“表303A1”的实际拒绝比例ACP3为1/10。因此,对表303A1的实际访问操作的拒绝比例是1/10,即,由于在用户级和实例级已经拒绝了部分访问操作,所以根据实际拒绝比例ACP3=1/12对针对实例302A1的访问操作进行拒绝操作,可以使得针对表303A1的访问操作的资源使用数据不超过其资源限制数据。
根据本公开的实施例,可以根据第1级对象“用户”的实际控制参数、第2级对象“实例302A1”的实际控制参数、第3级对象“表303A1”的实际控制参数和第4级对象“索引304A1”的预期控制参数ECP4,确定第4级对象“索引304A1”的实际控制参数。具体地,可以根据第1级对象“用户”的实际拒绝比例ACP1、第2级对象“实例302A1”的实际拒绝比例ACP2、第3级对象“表303A1”的实际拒绝比例ACP3和第4级对象“索引304A1”的预期控制参数ECP4,确定第4级对象“索引304A1”的实际拒绝比例ACP4,其中,ECP4=1-(1-ACP1)(1-ACP2)(1-ACP3)(1-ACP4),即,1/2=1-(1-1/11)(1-1/12)(1-1/10)(1-ACP4),可以确定ACP4=1/3,即第4级对象“索引304A1”的实际拒绝比例ACP4为1/3。因此,对索引304A1的实际访问操作的拒绝比例是1/3,即,由于在用户级、实例级和表级已经拒绝了部分访问操作,所以根据实际拒绝比例ACP4=1/3对针对索引304A1的访问操作进行拒绝操作,可以使得针对索引304A1的访问操作的资源使用数据不超过其资源限制数据。
根据本公开的实施例,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期延迟响应时间时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
当上一时间周期所述第1级对象的预期资源使用数据未超过所述第1级对象的资源限制数据时,所述第1级对象在本时间周期的预期延迟响应时间EDT1为预设时间T10;
当上一时间周期所述第1级对象的预期资源使用数据超过所述第1级对象的资源限制数据时,根据所述第1级对象在所述上一时间周期的预期延迟响应时间T11、所述第1级对象在本时间周期的预期资源使用数据ER1以及所述第1级对象的资源限制数据RR1确定所述第1级对象在本时间周期的预期延迟响应时间EDT1。
图4示出根据本公开实施例的数据库访问控制方法的示意图。如图4所示,第1级对象是用户,第2级对象是实例,第4级对象是表,第4级对象是索引,为了描述的方便,图5的应用场景中仅绘制了一个用户401A、两个实例402A1和402A2、两个表403A1和403A2、两个索引404A1和404A2,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制,本公开中的对象的数量以及种类可以根据实际需要进行设定,本公开对此不作具体限定。
图4以资源为每秒查询率(qps)为例进行说明,但本公开不限于此,而是也适用于上文所述的其他资源。
根据本公开的实施例,对象的预期控制参数包括在数据库访问操作中与对象相对应的操作的预期延迟响应时间,对象的实际控制参数包括在数据库访问操作中与对象相对应的操作的实际延迟响应时间。
根据本公开的实施例,可以根据第1级对象“用户”的资源限制数据RR1和第1级对象“用户”的预期资源使用数据ER1,确定第1级对象“用户”的预期控制参数,即预期延迟响应时间EDT1。
当上一时间周期第1级对象“用户”的预期资源使用数据ER1未超过第1级对象“用户”的资源限制数据RR1时,第1级对象“用户”在本时间周期的预期延迟响应时间EDT1为预设时间T10,本公开对预设时间T10不做具体限定,可以根据实际需要进行限定。
当上一时间周期第1级对象“用户”的预期资源使用数据ER1超过第1级对象“用户”的资源限制数据时RR1,可以根据第1级对象“用户”在上一时间周期的预期延迟响应时间T11、第1级对象“用户”在本时间周期的预期资源使用数据ER1以及第1级对象“用户”的资源限制数据RR1确定第1级对象“用户”在本时间周期的预期延迟响应时间EDT1。
如图4所示,本公开实施例将以根据公式EDT1=T11*ER1/RR1计算第1级对象在本时间周期的预期延迟响应时间EDT1为例进行说明,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制。
假设用户401A的预期资源使用数据ER1为110,假设用户301A所对应的资源限制数据RR1为100,假设用户301A上一时间周期的预期延迟响应时间T11为10/11ms,那么EDT1=T11*ER1/RR1=(10/11)*110/100=1ms,即确定第1级对象“用户301A”在本时间周期的预期延迟响应时间EDT1为1ms。
根据本公开的实施例,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数,包括:
当上一时间周期所述第n级对象的预期资源使用数据未超过第n级对象的资源限制数据时,所述第n级对象在本时间周期的预期延迟响应时间EDTn为预设时间Tn0;
当上一时间周期所述第n级对象的预期资源使用数据超过所述第n级对象的资源限制数据时,根据所述第n级对象在所述上一时间周期的预期延迟响应时间Tn1、所述第n级对象在本时间周期的预期资源使用数据ERn以及所述第n级对象的资源限制数据RRn确定所述第n级对象在本时间周期的预期延迟响应时间EDTn。
如图4所示,本公开实施例将以根据公式EDTn=Tn1*ERn/RRn计算第n级对象在本时间周期的预期延迟响应时间EDTn为例进行说明,应当了解的是,该示例仅为示例使用,并非是对于本公开的限制。
根据本公开的实施例,假设仅对第2级对象“实例302A1”进行控制,而对第2级对象“实例302A2”不进行控制。可以根据第2级对象“实例302A1”的资源限制数据RR2和第2级对象“实例302A1”的预期资源使用数据ER2,确定第2级对象“实例302A1”的预期控制参数,即预期延迟响应时间EDT2。
当上一时间周期第2级对象“实例302A1”的预期资源使用数据ER2未超过第2级对象“实例302A1”的资源限制数据RR2时,第2级对象“实例302A1”在本时间周期的预期延迟响应时间EDT2为预设时间T20,本公开对预设时间T20不做具体限定,可以根据实际需要进行限定。
当上一时间周期第2级对象“实例302A1”的预期资源使用数据ER2超过第2级对象“实例302A1”的资源限制数据时RR2,第2级对象“实例302A1”在本时间周期的预期延迟响应时间EDT2=T21*ER2/RR2,其中,T21是第2级对象“实例302A1”在上一时间周期的预期延迟响应时间,ER2是第2级对象“实例302A1”在本时间周期的预期资源使用数据,RR2是第2级对象“实例302A1”的资源限制数据。假设实例302A1的预期资源使用数据ER2为60,假设实例302A1所对应的资源限制数据RR2为50,假设实例302A1上一时间周期的预期延迟响应时间T21为5/2ms,那么EDT2=T21*ER2/RR2=(5/2)*60/50=3,即确定第2级对象“实例302A1”在本时间周期的预期延迟响应时间EDT2为3ms。
当上一时间周期第3级对象“表303A1”的预期资源使用数据ER3未超过第3级对象“表303A1”的资源限制数据RR3时,第3级对象“表303A1”在本时间周期的预期延迟响应时间EDT3为预设时间T30,本公开对预设时间T30不做具体限定,可以根据实际需要进行限定。
当上一时间周期第3级对象“表303A1”的预期资源使用数据ER3超过第3级对象“表303A1”的资源限制数据时RR3,第3级对象“表303A1”在本时间周期的预期延迟响应时间EDT3=T31*ER3/RR3,其中,T31是第3级对象“表303A1”在上一时间周期的预期延迟响应时间,ER3是第3级对象“表303A1”在本时间周期的预期资源使用数据,RR3是第3级对象“表303A1”的资源限制数据。假设表303A1的预期资源使用数据ER3为40,假设表303A1所对应的资源限制数据RR3为30,假设表303A1上一时间周期的预期延迟响应时间T31为15/4ms,那么EDT3=T31*ER3/RR3=(15/4)*40/30=4,即确定第3级对象“表303A1”在本时间周期的预期延迟响应时间EDT3为5ms。
当上一时间周期第4级对象“索引304A1”的预期资源使用数据ER4未超过第4级对象“索引304A1”的资源限制数据RR4时,第4级对象“索引304A1”在本时间周期的预期延迟响应时间EDT4为预设时间T40,本公开对预设时间T40不做具体限定,可以根据实际需要进行限定。
当上一时间周期第4级对象“索引304A1”的预期资源使用数据ER4超过第4级对象“索引304A1”的资源限制数据时RR4,第4级对象“索引304A1”在本时间周期的预期延迟响应时间EDT4=T41*ER4/RR4,其中,T41是第4级对象“索引304A1”在上一时间周期的预期延迟响应时间,ER4是第4级对象“索引304A1”在本时间周期的预期资源使用数据,RR4是第4级对象“索引304A1”的资源限制数据。假设索引304A1的预期资源使用数据ER4为20,假设索引304A1所对应的资源限制数据RR4为10,假设索引304A1上一时间周期的预期延迟响应时间T31为4ms,那么EDT4=T41*ER4/RR4=4*20/10=8,即确定第4级对象“索引304A1”在本时间周期的预期延迟响应时间EDT4为8ms。
根据本公开的实施例,时间周期可以与资源限制数据所使用的单位时间相同,例如资源限制数据为每秒查询率,则时间周期可以是秒,例如资源限制数据为单位时间读能力单元,则时间周期可以是该单位时间。
根据本公开的实施例,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际延迟响应时间时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:将所述第1级对象的预期延迟响应时间EDT1确定为所述第1级对象的实际延迟响应时间ADT1。
如图4所示,根据本公开的实施例,可以根据第1级对象“用户”的预期控制参数ECP1,确定第1级对象“用户”的实际控制参数。具体地,可以根据第1级对象“用户”的预期延迟响应时间EDT1,确定第1级对象“用户”的实际延迟响应时间ADT1,例如,可以将所述第1级“用户”的预期延迟响应时间EDT1确定为第1级对象“用户”的实际延迟响应时间ADT1,即ADT1=EDT1=1ms。
根据本公开的实施例,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际延迟响应时间ADTi[i=1~(n-1)]和所述第n级对象的预期延迟响应时间EDTn,确定所述第n级对象的实际延迟响应时间ADTn。
根据本公开的实施例,可以根据第1级对象“用户”的实际控制参数和第2级对象“实例302A1”的预期控制参数ECP2,确定第2级对象“实例302A1”的实际控制参数。具体地,可以根据第1级对象“用户”的实际延迟响应时间ADT1和第2级对象“实例302A1”的预期延迟响应时间EDT2,确定第2级对象“实例302A1”的实际延迟响应时间ADT2,其中,ADT2=EDT2-ADT1=3ms-1ms=2ms,可以确定ADT2=2ms,即第2级对象“实例302A1”的实际延迟响应时间ADT2为2ms。若EDT2<ADT1时,ADT2=0。
根据本公开的实施例,可以根据第1级对象“用户”的实际控制参数、第2级对象“实例302A1”的实际控制参数和第3级对象“表303A1”的预期控制参数ECP3,确定第3级对象“表303A1”的实际控制参数。具体地,可以根据第1级对象“用户”的实际延迟响应时间ADT1、第2级对象“实例302A1”的实际延迟响应时间ADT2和第3级对象“表303A1”的预期延迟响应时间EDT3,确定第3级对象“表303A1”的实际拒绝延迟响应时间ADT3,其中,ADT3=EDT3-ADT1-ADT2=5ms-1ms-2ms=2ms,可以确定ADT3=2ms,即第3级对象“表303A1”的实际延迟响应时间ADT3为2ms。若EDT3<ADT1+ADT2时,ADT3=0。
根据本公开的实施例,可以根据第1级对象“用户”的实际控制参数、第2级对象“实例302A1”的实际控制参数、第3级对象“表303A1”的实际控制参数和第4级对象“索引304A1”的预期控制参数ECP4,确定第4级对象“索引304A1”的实际控制参数。具体地,可以根据第1级对象“用户”的实际延迟响应时间ADT1、第2级对象“实例302A1”的实际延迟响应时间ADT2、第3级对象“表303A1”的实际延迟响应时间ADT3和第4级对象“索引304A1”的预期延迟响应时间EDT4,确定第4级对象“索引304A1”的实际拒绝延迟响应时间ADT4,其中,ADT4=EDT4-ADT1-ADT2-ADT3=8ms-1ms-2ms-2ms=3ms,可以确定ADT4=3ms,即第4级对象“索引304A1”的实际延迟响应时间ADT4为3。若EDT4<ADT1+ADT2+ADT3时,ADT3=0。
根据本公开的实施例,当实例302A2、表303A2、索引304A2有资源限制时,可以分别采用与实例302A1、表303A1、索引304A1类似的方式计算其实际控制参数,在此不再赘述。
图5示出根据本公开的实施例的数据库访问控制装置的结构框图。其中,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图5所示,所述数据库访问控制装置500包括接收模块510、第一确定模块520、第二确定模块530、第三确定模块540和控制模块550。
所述接收模块510被配置为接收数据库访问操作,所述数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2;
所述第一确定模块520被配置为根据所述数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N;
所述第二确定模块530被配置为根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数;
第三确定模块540被配置为根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数;
控制模块550被配置为根据第n级对象的实际控制参数,对所述数据库访问操作进行控制。
根据本公开的实施例,所述数据库访问操作中与第n-1级对象相对应的操作,是基于与第n级对象相对应的操作实现的。
根据本公开的实施例,所述资源包括数据库提供方的以下任意一种资源:计算资源、存储资源、网络资源。
根据本公开的实施例,所述计算资源包括以下任意一种:单位时间读能力单元、单位时间写能力单元、单位时间查询率;
所述存储资源包括磁盘单位时间读写操作频率;
所述网络资源包括以下任意一种:入口网络带宽、出口网络带宽、单位时间离线导入的数据量、单位时间离线导出的数据量。
根据本公开的实施例,第1级对象是用户,第2级对象是实例,第3级对象是表,第4级对象是索引;或者
第1级对象是用户,第2级对象是实例,第3级对象是表;或者
第1级对象是用户,第2级对象是实例;或者
第1级对象是实例,第2级对象是表,第3级对象是索引;或者
第1级对象是实例,第2级对象是表;或者
第1级对象是表,第2级对象是索引。
根据本公开的实施例,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述数据库访问操作中与所述第n级对象有关的第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数。
根据本公开的实施例,所述对象的预期控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例或预期延迟响应时间;
所述对象的实际控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例或实际延迟响应时间。
根据本公开的实施例,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
确定所述第1级对象的预期资源使用数据ER1与所述第1级对象的资源限制数据RR1的第1级对象的数据差值DR1;
当所述第1级对象的数据差值DR1≤0时,所述第1级对象的预期拒绝比例ECP1=0;
当所述第1级对象的数据差值DR1>0时,根据所述第1级对象的数据差值DR1以及所述第1级对象的预期资源使用数据ER1确定所述第1级对象的预期拒绝比例ECP1。
根据本公开的实施例,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据确定所述第n级对象的预期控制参数,包括:
确定所述第n级对象的预期资源使用数据ERn与所述第n级对象的资源限制数据RRn的第n级对象的数据差值DRn;
当所述第n级对象的数据差值DRn≤0时,所述第n级对象的预期拒绝比例ECPn=0;
当所述第n级对象的数据差值DRn>0时,根据所述第n级对象的数据差值DRn以及所述第n级对象的预期资源使用数据ERn确定所述第n级对象的预期拒绝比例ECPn。
根据本公开的实施例,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期拒绝比例ECP1确定为所述第1级对象的实际拒绝比例ACP1。
根据本公开的实施例,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际拒绝比例ACPi[i=1~(n-1)]和所述第n级对象的预期拒绝比例ECPn,确定所述第n级对象的实际拒绝比例ACPn。
根据本公开的实施例,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期延迟响应时间时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
当上一时间周期所述第1级对象的预期资源使用数据未超过所述第1级对象的资源限制数据时,所述第1级对象在本时间周期的预期延迟响应时间EDT1为预设时间T10;
当上一时间周期所述第1级对象的预期资源使用数据超过所述第1级对象的资源限制数据时,根据所述第1级对象在所述上一时间周期的预期延迟响应时间T11、所述第1级对象在本时间周期的预期资源使用数据ER1以及所述第1级对象的资源限制数据RR1确定所述第1级对象在本时间周期的预期延迟响应时间EDT1。
根据本公开的实施例,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数,包括:
当上一时间周期所述第n级对象的预期资源使用数据未超过第n级对象的资源限制数据时,所述第n级对象在本时间周期的预期延迟响应时间EDTn为预设时间Tn0;
当上一时间周期所述第n级对象的预期资源使用数据超过所述第n级对象的资源限制数据时,根据所述第n级对象在所述上一时间周期的预期延迟响应时间Tn1、所述第n级对象在本时间周期的预期资源使用数据ERn以及所述第n级对象的资源限制数据RRn确定所述第n级对象在本时间周期的预期延迟响应时间EDTn。
根据本公开的实施例,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际延迟响应时间时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期延迟响应时间EDT1确定为所述第1级对象的实际延迟响应时间ADT1。
根据本公开的实施例,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际延迟响应时间ADTi[i=1~(n-1)]和所述第n级对象的预期延迟响应时间EDTn,确定所述第n级对象的实际延迟响应时间ADTn。
根据本公开的实施例,所述数据库访问操作是单一类型的数据库访问操作,所述资源限制是对所述类型的数据库访问操作的资源限制;或者
所述数据库访问操作包括多种类型的数据库访问操作,所述资源限制是对所述多种类型的数据库访问操作的总资源限制。
本公开还公开了一种电子设备,图6示出根据本公开的实施例的电子设备的结构框图。
如图6所示,所述电子设备600包括存储器601和处理器602;其中,
所述存储器601用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器602执行以实现根据本公开的实施例的方法。
图7示出适于用来实现根据本公开实施例的数据库访问控制方法的计算机系统的结构示意图。
如图7所示,计算机系统700包括处理单元701,其可以根据存储在只读存储器(ROM)702中的程序或者从存储部分708加载到随机访问存储器(RAM)703中的程序而执行上述实施例中的各种处理。在RAM703中,还存储有系统700操作所需的各种程序和数据。处理单元701、ROM702以及RAM703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
以下部件连接至I/O接口705:包括键盘、鼠标等的输入部分706;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分707;包括硬盘等的存储部分708;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分709。通信部分709经由诸如因特网的网络执行通信处理。驱动器710也根据需要连接至I/O接口705。可拆卸介质711,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器710上,以便于从其上读出的计算机程序根据需要被安装入存储部分708。其中,所述处理单元701可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分709从网络上被下载和安装,和/或从可拆卸介质711被安装。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的1部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (18)
1.一种数据库访问控制方法,其特征在于,包括:
接收数据库访问操作,所述数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2;
根据所述数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N;
根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数;
根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数;
根据第n级对象的实际控制参数,对所述数据库访问操作进行控制,
所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述数据库访问操作中与所述第n级对象有关的第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数。
2.根据权利要求1所述的方法,其特征在于,所述数据库访问操作中与第n-1级对象相对应的操作,是基于与第n级对象相对应的操作实现的。
3.根据权利要求1所述的方法,其特征在于,所述资源包括数据库提供方的以下任意一种资源:计算资源、存储资源、网络资源。
4.根据权利要求3所述的方法,其特征在于:
所述计算资源包括以下任意一种:单位时间读能力单元、单位时间写能力单元、单位时间查询率;
所述存储资源包括磁盘单位时间读写操作频率;
所述网络资源包括以下任意一种:入口网络带宽、出口网络带宽、单位时间离线导入的数据量、单位时间离线导出的数据量。
5.根据权利要求1所述的方法,其特征在于:
第1级对象是用户,第2级对象是实例,第3级对象是表,第4级对象是索引;或者
第1级对象是用户,第2级对象是实例,第3级对象是表;或者
第1级对象是用户,第2级对象是实例;或者
第1级对象是实例,第2级对象是表,第3级对象是索引;或者
第1级对象是实例,第2级对象是表;或者
第1级对象是表,第2级对象是索引。
6.根据权利要求1所述的方法,其特征在于:
所述对象的预期控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例或预期延迟响应时间;
所述对象的实际控制参数,包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例或实际延迟响应时间。
7.根据权利要求6所述的方法,其特征在于,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期拒绝比例时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
确定所述第1级对象的预期资源使用数据ER1与所述第1级对象的资源限制数据RR1的第1级对象的数据差值DR1;
当所述第1级对象的数据差值DR1≤0时,所述第1级对象的预期拒绝比例ECP1=0;
当所述第1级对象的数据差值DR1>0时,根据所述第1级对象的数据差值DR1以及所述第1级对象的预期资源使用数据ER1确定所述第1级对象的预期拒绝比例ECP1。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据确定所述第n级对象的预期控制参数,包括:
确定所述第n级对象的预期资源使用数据ERn与所述第n级对象的资源限制数据RRn的第n级对象的数据差值DRn;
当所述第n级对象的数据差值DRn≤0时,所述第n级对象的预期拒绝比例ECPn=0;
当所述第n级对象的数据差值DRn>0时,根据所述第n级对象的数据差值DRn以及所述第n级对象的预期资源使用数据ERn确定所述第n级对象的预期拒绝比例ECPn。
9.根据权利要求8所述的方法,其特征在于,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际拒绝比例时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期拒绝比例ECP1确定为所述第1级对象的实际拒绝比例ACP1。
10.根据权利要求9所述的方法,其特征在于,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际拒绝比例ACPi[i=1~(n-1)]和所述第n级对象的预期拒绝比例ECPn,确定所述第n级对象的实际拒绝比例ACPn。
11.根据权利要求6所述的方法,其特征在于,当所述对象的预期控制参数包括在所述数据库访问操作中与所述对象相对应的操作的预期延迟响应时间时,所述根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,包括:
当上一时间周期所述第1级对象的预期资源使用数据未超过所述第1级对象的资源限制数据时,所述第1级对象在本时间周期的预期延迟响应时间EDT1为预设时间T10;
当上一时间周期所述第1级对象的预期资源使用数据超过所述第1级对象的资源限制数据时,根据所述第1级对象在所述上一时间周期的预期延迟响应时间T11、所述第1级对象在本时间周期的预期资源使用数据ER1以及所述第1级对象的资源限制数据RR1确定所述第1级对象在本时间周期的预期延迟响应时间EDT1。
12.根据权利要求11所述的方法,其特征在于,所述根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数,包括:
当上一时间周期所述第n级对象的预期资源使用数据未超过第n级对象的资源限制数据时,所述第n级对象在本时间周期的预期延迟响应时间EDTn为预设时间Tn0;
当上一时间周期所述第n级对象的预期资源使用数据超过所述第n级对象的资源限制数据时,根据所述第n级对象在所述上一时间周期的预期延迟响应时间Tn1、所述第n级对象在本时间周期的预期资源使用数据ERn以及所述第n级对象的资源限制数据RRn确定所述第n级对象在本时间周期的预期延迟响应时间EDTn。
13.根据权利要求12所述的方法,其特征在于,当所述对象的实际控制参数包括在所述数据库访问操作中与所述对象相对应的操作的实际延迟响应时间时,所述根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,包括:
将所述第1级对象的预期延迟响应时间EDT1确定为所述第1级对象的实际延迟响应时间ADT1。
14.根据权利要求13所述的方法,其特征在于,所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述第1~(n-1)级对象的实际延迟响应时间ADTi[i=1~(n-1)]和所述第n级对象的预期延迟响应时间EDTn,确定所述第n级对象的实际延迟响应时间ADTn。
15.根据权利要求1所述的方法,其特征在于:
所述数据库访问操作是单一类型的数据库访问操作,所述资源限制是对所述类型的数据库访问操作的资源限制;或者
所述数据库访问操作包括多种类型的数据库访问操作,所述资源限制是对所述多种类型的数据库访问操作的总资源限制。
16.一种数据库访问控制装置,其特征在于,包括:
接收模块,被配置为接收数据库访问操作,所述数据库访问操作包括与粒度从大到小的第1~N级对象相对应的操作,N≥2;
第一确定模块,被配置为根据所述数据库访问操作,确定第1级对象的预期资源使用数据和第n级对象的预期资源使用数据,2≤n≤N;
第二确定模块,被配置为根据所述第1级对象的资源限制数据和所述第1级对象的预期资源使用数据,确定所述第1级对象的预期控制参数,根据所述第n级对象的资源限制数据和所述第n级对象的预期资源使用数据,确定所述第n级对象的预期控制参数;
第三确定模块,被配置为根据所述第1级对象的预期控制参数,确定所述第1级对象的实际控制参数,根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数;
控制模块,被配置为根据第n级对象的实际控制参数,对所述数据库访问操作进行控制,
所述根据第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数,包括:
根据所述数据库访问操作中与所述第n级对象有关的第1~(n-1)级对象的实际控制参数和所述第n级对象的预期控制参数,确定所述第n级对象的实际控制参数。
17.一种电子设备,其特征在于,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-15任一项所述的方法步骤。
18.一种可读存储介质,其上存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现权利要求1-15任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234796.2A CN113468214B (zh) | 2020-03-30 | 2020-03-30 | 数据库访问控制方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010234796.2A CN113468214B (zh) | 2020-03-30 | 2020-03-30 | 数据库访问控制方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113468214A CN113468214A (zh) | 2021-10-01 |
CN113468214B true CN113468214B (zh) | 2022-04-29 |
Family
ID=77864730
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010234796.2A Active CN113468214B (zh) | 2020-03-30 | 2020-03-30 | 数据库访问控制方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113468214B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918560A (zh) * | 2016-10-14 | 2018-04-17 | 郑州云海信息技术有限公司 | 一种服务器设备管理方法及装置 |
CN112487093A (zh) * | 2020-12-07 | 2021-03-12 | 浪潮云信息技术股份公司 | 一种分布式数据库的去中心化副本控制方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7593942B2 (en) * | 2004-12-30 | 2009-09-22 | Oracle International Corporation | Mandatory access control base |
US9043401B2 (en) * | 2009-10-08 | 2015-05-26 | Ebay Inc. | Systems and methods to process a request received at an application program interface |
EP3014804B1 (en) * | 2013-06-25 | 2019-08-07 | Amazon Technologies, Inc. | Burst mode control |
CN103780604A (zh) * | 2014-01-06 | 2014-05-07 | 中国科学技术大学苏州研究院 | 面向多角色的泛在资源用户访问控制方法 |
WO2015112614A1 (en) * | 2014-01-21 | 2015-07-30 | Oracle International Corporation | System and method for supporting multi-tenancy in an application server, cloud, or other environment |
CN104917793A (zh) * | 2014-03-13 | 2015-09-16 | 中国移动通信集团河北有限公司 | 一种访问控制方法、装置及系统 |
CN104978335B (zh) * | 2014-04-04 | 2018-12-07 | 阿里巴巴集团控股有限公司 | 数据访问控制方法和装置 |
US9948682B2 (en) * | 2015-08-11 | 2018-04-17 | Vescel, Llc | Data resource control through a control policy defining an authorized context for utilization of a protected data resource |
EP3259741B1 (en) * | 2015-02-17 | 2021-05-19 | Sensormatic Electronics LLC | Method and system for credential management |
CN107273754A (zh) * | 2016-04-08 | 2017-10-20 | 中兴通讯股份有限公司 | 一种数据访问控制方法和装置 |
CN108804234B (zh) * | 2017-04-28 | 2023-05-09 | 腾讯科技(深圳)有限公司 | 数据存储系统及其操作方法 |
CN106973119A (zh) * | 2017-05-17 | 2017-07-21 | 国网山东省电力公司信息通信公司 | 一种电力企业存储资源管理系统 |
CN108683604B (zh) * | 2018-04-03 | 2021-11-26 | 平安科技(深圳)有限公司 | 并发访问控制方法、终端设备及介质 |
-
2020
- 2020-03-30 CN CN202010234796.2A patent/CN113468214B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107918560A (zh) * | 2016-10-14 | 2018-04-17 | 郑州云海信息技术有限公司 | 一种服务器设备管理方法及装置 |
CN112487093A (zh) * | 2020-12-07 | 2021-03-12 | 浪潮云信息技术股份公司 | 一种分布式数据库的去中心化副本控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113468214A (zh) | 2021-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667748B (zh) | 一种控制带宽的方法、装置、设备和存储介质 | |
US10908950B1 (en) | Robotic process automation system with queue orchestration and task prioritization | |
Tsitsiklis et al. | On the power of (even a little) resource pooling | |
EP3770774B1 (en) | Control method for household appliance, and household appliance | |
US20170126583A1 (en) | Method and electronic device for bandwidth allocation based on online media services | |
Mukhopadhyay et al. | The power of randomized routing in heterogeneous loss systems | |
CN110231991B (zh) | 一种任务分配方法、装置、电子设备及可读存储介质 | |
EP3878138B1 (en) | Dimensioning network services (ns) | |
CN114816738A (zh) | 算力节点的确定方法、装置、设备及计算机可读存储介质 | |
CN110221775B (zh) | 存储系统中令牌的分配方法和装置 | |
US11354164B1 (en) | Robotic process automation system with quality of service based automation | |
CN113468214B (zh) | 数据库访问控制方法、装置、电子设备及可读存储介质 | |
US11962476B1 (en) | Systems and methods for disaggregated software defined networking control | |
Wu et al. | Hierarchical disk sharing for multimedia systems | |
EP4312122A1 (en) | Resource allocation method and apparatus, device, and storage medium | |
CN112241319A (zh) | 均衡负载的方法、电子设备和计算机程序产品 | |
CN113204433B (zh) | 一种集群资源的动态分配方法、装置、设备及存储介质 | |
CN111800446B (zh) | 调度处理方法、装置、设备和存储介质 | |
CN114489463A (zh) | 动态调整存储卷qos的方法、装置及计算设备 | |
CN115878309A (zh) | 资源分配方法、装置、处理核、设备和计算机可读介质 | |
CN108830703B (zh) | 额度控制系统及额度服务系统 | |
Zhao et al. | Optimal rate-matrix pruning for large-scale heterogeneous systems | |
CN112884382A (zh) | 云平台的资源配额管理方法、装置、设备以及存储介质 | |
CN111694670A (zh) | 资源分配方法、装置、设备和计算机可读介质 | |
Zuo et al. | Minimize cost of data transfers using bandwidth reservation on FPVB paths of dynamic HPNs |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40063919 Country of ref document: HK |