CN110166282A - 资源分配方法、装置、计算机设备和存储介质 - Google Patents

资源分配方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN110166282A
CN110166282A CN201910305271.0A CN201910305271A CN110166282A CN 110166282 A CN110166282 A CN 110166282A CN 201910305271 A CN201910305271 A CN 201910305271A CN 110166282 A CN110166282 A CN 110166282A
Authority
CN
China
Prior art keywords
resource
current
resource consumption
consumption value
cluster
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.)
Granted
Application number
CN201910305271.0A
Other languages
English (en)
Other versions
CN110166282B (zh
Inventor
汪金忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yunwangwandian Technology Co ltd
Original Assignee
Suningcom Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suningcom Group Co Ltd filed Critical Suningcom Group Co Ltd
Priority to CN201910305271.0A priority Critical patent/CN110166282B/zh
Publication of CN110166282A publication Critical patent/CN110166282A/zh
Priority to PCT/CN2019/109355 priority patent/WO2020211300A1/zh
Priority to CA3177212A priority patent/CA3177212A1/en
Application granted granted Critical
Publication of CN110166282B publication Critical patent/CN110166282B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种资源分配方法、装置、计算机设备和存储介质。所述方法包括:接收当前查询请求,获取所述当前查询请求的预期资源消耗值;根据所述预期资源消耗值,确定所述当前查询请求的当前资源消耗等级;根据所述当前资源消耗等级,对所述当前查询请求进行资源分配。采用本方法能够提升系统的稳定性和总体性能。

Description

资源分配方法、装置、计算机设备和存储介质
技术领域
本发明涉及数据库技术领域,特别是涉及一种资源分配方法、装置、计算机设备和存储介质。
背景技术
随着数据库技术的发展,出现了联机分析处理(Online Analytical Processing,OLAP)技术。联机分析处理主要是采用分布式系统进行共享多维信息的、针对特定问题的联机数据访问和分析的快速软件技术。
对于联机分析处理查询,当前分布式系统一般采用先进先出(First Input FirstOutput)或者公平(FAIR)等调度算法来进行资源分配。然而,在联机分析处理查询中,有些查询对资源的消耗特别大,执行时间也特别长。如果同时有几个这样的查询请求并发执行,很容易就会把集群的资源占满。这样轻者会使得其它查询无法获得足够资源,阻碍这些查询请求的执行(即使这个查询请求占用的资源特别小,执行也特别快),影响用户体验;重者可能导致应用程序内存耗尽(Out Of Memory,OOM)或者整个集群崩溃。可见,传统的先进先出的资源分配方式或者公平的资源分配方式,在对资源消耗大的查询请求集中出现时,会影响系统的稳定性和总体性能。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提升系统的稳定性和总体性能的资源分配方法、装置、计算机设备和存储介质。
一种资源分配方法,该方法包括:
接收当前查询请求,获取当前查询请求的预期资源消耗值;
根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
根据当前资源消耗等级,对当前查询请求进行资源分配。
在其中一个实施例中,上述的获取当前查询请求的预期资源消耗值,包括:
对当前查询请求进行解析,获得当前查询请求的执行计划树;
根据执行计划树,确定预期资源消耗值。
在其中一个实施例中,上述的根据执行计划树,确定预期资源消耗值,包括:
根据预设的表统计信息和预设的字段统计信息,确定执行计划树中各个节点的资源消耗值;
根据各节点的资源消耗值,确定预期资源消耗值。
在其中一个实施例中,上述的根据执行计划树,确定预期资源消耗值,包括:
根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定目标数据表的查询行数和数据输入输出代价,目标数据表为在进行当前查询请求的查询时需要使用的各数据表;
根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定当前查询请求的连接代价、连接后的行数、分组基数和中央处理器代价;
根据查询行数、数据输入输出代价、连接代价、连接后的行数、分组基数和中央处理器代价,确定预期资源消耗值。
在其中一个实施例中,上述的获取当前查询请求的预期资源消耗值,包括:
对当前查询请求进行解析,获得当前查询请求的执行计划树;
将执行计划树发送给代价分析服务器,获取代价分析服务器返回的预期资源消耗值,预期资源消耗根据执行计划树确定。
在其中一个实施例中,上述的根据当前资源消耗等级,对当前查询请求进行资源分配,包括:
根据当前资源消耗等级,确定当前查询请求的队列,其中,不同资源消耗等级的查询请求分配到不同队列上;
按照当前查询请求的队列的资源调度策略,对当前查询请求进行资源分配。
在其中一个实施例中,上述的方法还包括:
获取各队列的资源使用率,在当前队列的资源使用率低于预设的资源使用率阈值时,将当前队列的资源调整到各队列中的剩余队列;
或者
获取各队列的资源需求率,在当前队列的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前队列增加资源。
在其中一个实施例中,上述的根据当前资源消耗等级,对当前查询请求进行资源分配,包括:
根据预设的资源消耗等级与集群的对应关系,将当前查询请求分配给当前资源消耗等级对应的集群,其中,各集群中分别采用公平调度的方式为分配到的查询请求分配资源。
在其中一个实施例中,上述的方法还包括:
获取各集群的资源使用率,在当前集群的资源使用率低于预设的资源使用率阈值时,将当前集群的资源调整到各集群中的剩余集群;
或者
获取各集群的资源需求率,在当前集群的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前集群增加资源。
在其中一个实施例中,上述的方法还包括:
获取当前查询请求的执行日志;
根据执行日志,获取当前查询请求的实际资源消耗值、实际执行时长、调度时间和等待时间;
根据实际资源消耗值、实际执行时长、调度时间和等待时间,调整预期资源消耗值和资源消耗等级的对应关系,或者调整预期资源消耗值的计算方式。
一种资源分配装置,该装置包括:
消耗值确定模块,用于接收当前查询请求,获取当前查询请求的预期资源消耗值;
消耗等级确定模块,用于根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
资源分配模块,用于根据当前资源消耗等级,对当前查询请求进行资源分配。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收当前查询请求,获取当前查询请求的预期资源消耗值;
根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
根据当前资源消耗等级,对当前查询请求进行资源分配。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收当前查询请求,获取当前查询请求的预期资源消耗值;
根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
根据当前资源消耗等级,对当前查询请求进行资源分配。
上述资源分配方法、装置、计算机设备和存储介质,接收当前查询请求,获取当前查询请求的预期资源消耗值,根据预期资源消耗值,确定当前查询请求的当前资源消耗等级,根据当前资源消耗等级,对当前查询请求进行资源分配。如此,实现了资源的隔离分配,采用该方案,使得资源消耗比较低的查询请求不会因为资源消耗比较高的查询请求而获取不到资源,而资源消耗比较高的查询请求在大多数情况下也是可以正常执行,能够在对资源消耗大的查询请求集中出现时,提升系统的稳定性和总体性能。
附图说明
图1为一个实施例中资源分配方法的应用环境图;
图2为一个实施例中资源分配方法的流程示意图;
图3为一个实施例中预期资源消耗值的获取步骤的流程示意图;
图4为另一个实施例中预期资源消耗值的获取步骤的流程示意图;
图5为一个实施例中预期资源消耗值的确定步骤的流程示意图;
图6为另一个实施例中预期资源消耗值的确定步骤的流程示意图;
图7为一个实施例中资源分配步骤的流程示意图;
图8为一个实施例中对应关系调整步骤或者计算方式调整步骤的流程示意图;
图9为一个实施例中的资源消耗分析模型的结构原理示意图;
图10为一个实施例中的资源分配方法的时序图;
图11为一个实施例中的查询分发的流程示意图;
图12为一个实施例中资源分配方法的结构框图;
图13为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供的资源分配方法,可以应用于如图1所示的应用环境中。其中,终端102和服务器104通过网络进行通信,服务器104与集群106通过有线方式或者无线方式进行通信。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,集群106用于提供资源,其数量可以是一个或者多个,集群106一般包括多台计算机设备(机器)。本发明提供的资源分配方法中的资源可以指的是多集群中的某个集群,或者一个集群中的某台机器。本发明提供的资源分配方法一般应用于联机分析处理系统中。
在一个实施例中,如图2所示,提供了一种资源分配方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
步骤202,接收当前查询请求,获取当前查询请求的预期资源消耗值;
这里,当前查询请求一般是指联机分析处理查询,也可以是联机事务处理(on-line transaction processing,OLTP)请求等其他类型的联结查询请求。
这里,预期资源消耗值是指完成该当前查询请求对应的查询任务,预期所需消耗的资源值。
具体地,可以是服务器在获取到当前查询请求(例如,接收到终端发送的当前查询请求),对该当前查询请求进行解析分析,根据该解析分析的分析结果获得该当前查询请求的预期资源消耗值。也可以是服务器在获取到当前查询请求,从预处理服务器(例如,代价分析服务器)获取该该当前查询请求的预期资源消耗值,其中,预处理服务器用于对各种查询请求进行资源消耗值分析。
步骤204,根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
其中,资源消耗等级的数量以及与资源消耗值的对应关系,可以根据实际情况以及实际需要设定。例如,可以根据第一资源消耗门限值和第二资源消耗门限值,划分成高资源消耗级、中资源消耗级和低资源消耗三个资源消耗等级。其中,第一资源消耗门限值大于第二资源消耗门限值,在预期资源消耗值大于第一资源消耗门限值时,为高资源消耗级;在预期资源消耗值处于第一资源消耗门限值和第二资源消耗门限值之间时,为中资源消耗级;在预期资源消耗值小于第二资源消耗门限值时,为低资源消耗级。
步骤206,根据当前资源消耗等级,对当前查询请求进行资源分配。
具体地,根据当前资源消耗等级,将当前查询请求分配给当前资源消耗等级对应的资源集群或者队列,其中,不同资源消耗等级的查询请求被分配给不同的资源集群或者队列。
上述资源分配方法中,是接收当前查询请求,获取当前查询请求的预期资源消耗值,根据预期资源消耗值,确定当前查询请求的当前资源消耗等级,根据当前资源消耗等级,对当前查询请求进行资源分配,如此,可以实现资源的隔离分配。采用实施例的方案,使得资源消耗比较低的查询请求不会因为资源消耗比较高的查询请求而获取不到资源,而资源消耗比较高的查询请求在大多数情况下也是可以正常执行,能够在对资源消耗大的查询请求集中出现时,提升系统的稳定性和总体性能。
在其中一个实施例中,如图3所示,上述的获取当前查询请求的预期资源消耗值,可以包括如下步骤:
步骤302,对当前查询请求进行解析,获得当前查询请求的执行计划树;
这里,当前查询请求一般包括查询语句,例如,结构化查询语句,也即SQL(Structured Query Language,结构化查询语言)语句。
一般地,对于成熟的联机分析处理系统,都会使用基于代价的优化方式(Cost-Based Logical Optimizer,CBO)来对执行计划进行优化。基于代价的优化方式的主要目的也就是通过检测在查询中使用到的表和条件,来产生高效的执行路径,从而降低资源利用率,减少查询执行时间。一个查询语句可以解析成执行计划树,执行计划树上的每个节点代表查询中的一个操作,例如,扫描、投影或者过滤等。
步骤304,根据执行计划树,确定预期资源消耗值。
具体地,服务器可以首先对该执行计划树上的每个操作,分别计算每个操作的输入/输出(input/output,i/o)代价、中央处理器(Central Processing Unit,CPU)代价、存储(Memory)代价和联网(NETWORK)代价;接着,分别对每个操作的输入输出代价、中央处理器代价、存储代价和联网代价求和,得到每个操作的资源消耗值,最后,对各个操作的资源消耗值进行求和处理,得到当前查询请求的预期资源消耗值。
其中,输入/输出代价是指把数据从磁盘读入内存时所需代价(该代价是查询所需最主要的,所以在优化时一个基本原则就是降低输入/输出总次数);中央处理器代价是指处理内存中数据所需的代价,其中,数据一旦读入内存,当内存识别出所要的数据后,会在这些数据上执行排序操作(sort)或连接(join),这需要消耗中央处理器资源;存储代价是值对数据进行存储所需的代价,对于访问远程节点来说,联网代价的花费也是很大的。
本实施例中,通过解析当前查询请求获得执行计划树的方式,确定当前查询请求的预期资源消耗值,高效快捷。
在其中一个实施例中,如图4所示,上述的根据执行计划树,确定预期资源消耗值,可以包括如下步骤:
步骤402,根据预设的表统计信息和预设的字段统计信息,确定执行计划树中各个节点的资源消耗值;
这里,表统计信息可以包括表的行数,以字节统计的表的大小,表的分区大小和分区数目等表信息,但也不限于这些信息。
这里,字段统计信息可以包括字段的基数(count distinct)、字段的最大值、字段的最下值、内容为空的记录数(Null count)和字段平均长度等字段信息,但也不限于这些信息。
具体地,可以在进行资源消耗分析之前,预先对管理的每个表进行统计信息收集,收集的信息包括但不限于是上述提及的各种表统计信息和各种字段统计信息。在进行当前查询请求的资源消耗分析时,可以首先根据该当前查询请求的执行计划树确定在该当前查询请求中需要使用到的数据表,为了便于描述,以下将该数据表成为目标数据表,其次,从预设的表统计信息和预设的字段统计信息中,确定目标数据表的表统计信息和字段统计信息;最后,根据目标数据表的表统计信息和字段统计信息,计算执行计划树中各个节点的资源消耗值。这里,各个节点的资源消耗值也即至上述的各个操作的资源消耗值。
步骤404,根据各节点的资源消耗值,确定预期资源消耗值。
具体地,可以对各执行计划树中各个节点的资源消耗值进行求和处理,得到当前查询请求的预期资源消耗值。
本实施例中,预先采集了表统计信息和字段统计信息,且基于执行计划树确定当前查询请求的预期资源消耗值,可以提升预期资源消耗值的计算效率。
在其中一个实施例中,如图5所示,上述的根据执行计划树,确定预期资源消耗值,可以包括如下步骤:
步骤502,根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定目标数据表的查询行数和数据输入输出代价,目标数据表为在进行当前查询请求的查询时需要使用的各数据表;
这里的表统计信息和字段统计信息可以参照上一个实施例中的描述,在此不予赘述。
具体地,可以基于代价的优化方式检查当前查询请求的查询中使用到的数据表和条件,该条件包括过滤条件。可以根据预设的表统计信息、预设的字段统计信息以及该过滤条件,确定在进行当前查询请求的查询时需要使用的各数据表的查询行数和数据输入输出代价。
步骤504,根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定当前查询请求的连接代价、连接后的行数、分组基数和中央处理器代价;
具体他,可以根据在进行当前查询请求的查询时需要使用的连接(join)关系,计算连接代价和连接后的行数;可以根据执行计划树中的分组(group by)子句和维度的层级关系,以及预设的表统计信息和预设的字段统计信息,计算汇聚后的基数(carndinality),也即分组基数;可以根据执行计划树中汇总函数和是否排序等信息确定中央处理器代价。
步骤506,根据查询行数、数据输入输出代价、连接代价、连接后的行数、分组基数和中央处理器代价,确定预期资源消耗值;
具体地,可以对查询行数、数据输入输出代价、连接代价、连接后的行数、分组基数和中央处理器代价进行汇总分析,得到当前查询请求的预期资源消耗值。
上述两个实施例,一种是基于执行计划树中的节点进行资源消耗统计,一种是基于各种类型代价进行资源消耗统计,根据需要,可以选择其中任何一种方式进行预期资源消耗值的计算,也可以通过将这两种方式有机结合的方式进行预期资源消耗值的计算。
本实施例中,预先采集了表统计信息和字段统计信息,且基于执行计划树确定当前查询请求的预期资源消耗值,可以提升预期资源消耗值的计算效率。
在其中一个实施例中,如图6所示,上述的根据执行计划树,确定预期资源消耗值,可以包括如下步骤:
步骤602,对当前查询请求进行解析,获得当前查询请求的执行计划树;
该步骤602可以参照上述步骤302的描述,在此不予赘述。
步骤604,将执行计划树发送给代价分析服务器,获取代价分析服务器返回的预期资源消耗值,预期资源消耗根据执行计划树确定;
其中,代价分析服务器确定预期资源消耗值的方式,可以采用上述两个实施例中的根据执行计划树,确定预期资源消耗值的方式。
本实施例中,通过解析当前查询请求获得执行计划树的方式,并将执行计划树发送给代价分析服务器进行预期资源消耗值的计算,这种方式,在查询请求高并发时,可以提升预期资源消耗的获取效率。
在其中一个实施例中,如图7,上述的根据当前资源消耗等级,对当前查询请求进行资源分配,可以包括如下步骤:
步骤702,根据当前资源消耗等级,确定当前查询请求的队列,其中,不同资源消耗等级的查询请求分配到不同队列上;
一般地,不同资源消耗等级的查询请求放到不同的队列上,不同资源消耗等级队列的容量也不一样,这里,容量是指等待调度执行的查询请求的数目(或者最大数目)。例如,对于包括高资源消耗等级、中资源消耗等级和低资源消耗等级的情况,低资源消耗等级队列容量最大,高资源消耗等级的容量最小。
步骤704,按照当前查询请求的队列的资源调度策略,对当前查询请求进行资源分配。
其中,每个队列上都配置有调度进程,对队列中的查询请求进行调度,不同队列的调度进程有不同的调度策略,例如,高资源消耗等级的队列的调度策略最多只允许同时调度一个查询请求。一般地,资源消耗等级越高(即每个查询请求的平均资源消耗值越高)的队列,同一时段允许调度的查询请求的数量越少,即同一时段允许调度的查询请求的数量与资源消耗等级负相关。
本实施例的方案,查询请求根据资源消耗等级放到不同的队列中,当队列满了以后,后续的查询请求一般设置为被抛弃掉。采用本实施例的方案,对资源消耗比较低的查询请求能够保证总是可以获得很充足的资源,不会因为有资源消耗比较高的查询请求获取不到资源。且资源消耗比较高的查询请求在大多数情况下也是可以正常执行,可以保障整个系统平稳有序的运行。
在其中一个实施例中,本申请的资源分配方法,还可以包括步骤:获取各队列的资源使用率,在当前队列的资源使用率低于预设的资源使用率阈值时,将当前队列的资源调整到各所述队列中的剩余队列。
这里,当前队列可以是任意一队列。这里,将当前队列的资源调整到各所述队列中的剩余队列,可以是将当前队列的部分资源调整到各所述队列中的剩余队列中的一个或者多个多列中去。
具体地,在当前队列在指定时间内的资源使用率低于预设的资源使用率阈值时,通过预设的资源动态调整策略,将该队列中的一部分资源调整到资源使用率较高的队列上。这里,资源动态调整策略可以根据实际需要设定,资源动态调整策略具体可以包括调整时段、资源调整比率以及向几个队列调整等信息。
采用本实施例的方案,可以实现资源动态调整,进一步提升系统的稳定性和总体性能。
在其中一个实施例中,本发明的资源分配方法,还可以包括步骤:获取各所述队列的资源需求率,在当前队列的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前队列增加资源。
这里,当前队列可以是任意一队列。这里,资源需求率等于资源需求值与资源实际值的比值。
具体地,可以在当前队列的资源需求率高于预设的资源需求率阈值时,判定该当前队列的资源处于紧张状态,通过预设的资源动态扩容方案为当前队列增加资源,如此,可以缓解当前队列的资源紧张状况。其中,资源动态扩容方案具体可以包括增容时段以及所需增加的资源值等信息。
采用本实施例的方案,可以实现资源动态扩容,进一步提升系统的稳定性和总体性能。
在其中一个实施例中,上述的根据当前资源消耗等级,对当前查询请求进行资源分配,可以包括如下步骤:根据预设的资源消耗等级与集群的对应关系,将当前查询请求分配给当前资源消耗等级对应的集群,其中,各集群中分别采用公平调度的方式为分配到的查询请求分配资源。
具体地,各集群(节点)被预先设置不同的等级标签,例如高、中、低。不同等级的资源集群执行不同等级的查询请求。服务器根据预设的资源消耗等级与集群的对应关系,将当前查询请求分配给当前资源消耗等级对应的集群,由该集群进行当前查询请求的执行,即执行当前查询请求的查询任务。
本实施例的方案中,不同等级的资源集群执行不同等级的查询请求,对资源消耗比较低的查询请求能够保证总是可以获得很充足的资源,不会因为有资源消耗比较高的查询请求获取不到资源,且资源消耗比较高的查询请求在大多数情况下也是可以正常执行,可以保障整个系统平稳有序的运行。
在其中一个实施例中,本发明的资源分配方法,还可以包括步骤:获取各集群的资源使用率,在当前集群的资源使用率低于预设的资源使用率阈值时,将当前集群的资源调整到各所述集群中的剩余集群。
这里,当前集群可以是任意一集群。这里,将当前集群的资源调整到各所述集群中的剩余集群,可以是将当前集群的部分资源调整到各所述集群中的剩余集群中的一个或者多个多列中去。
具体地,在当前集群在指定时间内的资源使用率低于预设的资源使用率阈值时,通过预设的资源动态调整策略,将该集群中的一部分资源调整到资源使用率较高的集群上。这里,资源动态调整策略可以根据实际需要设定,资源动态调整策略具体可以包括调整时段、资源调整比率以及向几个集群调整等信息。
采用本实施例的方案,可以实现资源动态调整,进一步提升系统的稳定性和总体性能。
在其中一个实施例中,本发明的资源分配方法,还可以包括步骤:获取各所述集群的资源需求率,在当前集群的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前集群增加资源。
这里,当前集群可以是任意一集群。这里,资源需求率等于资源需求值与资源实际值的比值。
具体地,可以在当前集群的资源需求率高于预设的资源需求率阈值时,判定该当前集群的资源处于紧张状态,通过预设的资源动态扩容方案为当前集群增加资源,如此,可以缓解当前集群的资源紧张状况。其中,资源动态扩容方案具体可以包括增容时段以及所需增加的资源值等信息。
采用本实施例的方案,可以实现资源动态扩容,进一步提升系统的稳定性和总体性能。
在其中一个实施例中,本发明的资源分配方法,如图8所示,还可以包括步骤:
步骤802,获取当前查询请求的执行日志;
具体地,可以通过系统记录日志当前查询请求的执行日志,该执行日志指实际执行当前查询请求所产生的日志。
步骤804,根据执行日志,获取当前查询请求的实际资源消耗值、实际执行时长、调度时间和等待时间;
步骤806,根据实际资源消耗值、实际执行时长、调度时间和等待时间,调整预期资源消耗值和资源消耗等级的对应关系,或者调整预期资源消耗值的计算方式。
具体地,可以采用机器学习或者人工智能等算法,对预期资源消耗值和资源消耗等级的对应关系,以及预期资源消耗值的计算方式进行不断地学习和调整,以提升准确度,减少误杀或者误判情况。
为了便于理解本发明的方案,以下通过具体示例进行说明。
联机分析处理引擎(例如如上实施例中的服务器)主要使用数据查询系统(druid)作为汇总统计数据的存储,可以尽可能会将查询下压到数据查询系统中来执行,减少编程语言(spark)本身的开销。数据查询系统的消耗分析模型(cost模型)可以参考图9。
在进行查询请求(SQL语句)调度和命令分发前,可以调用cost模型对查询请求的预期资源消耗值进行分析。如果发现该条查询请求的预期资源消耗值超过阈值,可以对其进行特殊化处理,从而达到资源隔离以及服务降级的作用,对整个联机分析处理引擎起到保护作用。
存储也要有资源隔离和流量管控,现在主要是对汇总性存储的资源进行管控。
对于数据查询系统:
历史节点区分不同的组(tier),高优先级的组的资源较多,低优先级组的资源较少,一个数据源(datasource)要分配到不同的组中,高优先级的副本数较多,低优先级的副本数据较少
代理(Broker)也要划分不同优先级。不同优先级代理资源数也不相同,并且要路由到不同的组中。
对于关系型数据库(例如postgresql);
postgresql采用citus的分布式集群方案,管理节点(master节点)和处理节点(worker节点)没有优先级的概念,但是我们可以人为的对管理节点进行区分:分为高优先级的管理节点和低优先级的管理节点。各个级别的管理节点的资源数也是不同的。不同优先级管理节点处理不同级别的查询请求。
联机分析处理引擎的管理(master)层需要感知数据查询系统集群和逻辑结构集群中的管理节点的优先级别,在创建和管理管理节点集群时,需要将管理节点信息传递给管理节点集群,管理节点只对自己管理下的资源进行操作。不同的管理节点集群管理不同级别,但是同一优先级别可以由多个管理节点集群管理。
关于资源分级:
这里的资源指的是多集群中的某个集群,或者一个集群中的某台机器。通过对特定资源进行分级,使得指定资源只处理某些特定的查询请求。资源分级可以通过打标签来实现。
例如,一个联机分析处理引擎由三个集群组成
高速:要求查询能在1s内返回。(预期资源消耗值(cost)在100以下);
中速:要求查询能在1-5s内返回(预期资源消耗值在100-500之间);
慢速:查询性能在5s外返回(预期资源消耗值在在500以上)。
当然,分级方式并不限于该举例中的方式。
关于预期资源消耗值的计算:
各查询请求都会经过路由组件(route组件)。路由组件会对查询请求进行预期资源消耗值的计算,算出各查询请求的预期资源消耗值。
关于查询请求分发,参见图10:
路由组件会根据预期资源消耗值的配置值和集群的标签,将查询请求发到合适的集群中。例如,对于大区的汇总查询,预期资源消耗值的计算值为50,则转发到高速集群中;而计算商品销售排行前十的查询请求,则资源代价很大,例如,预期资源消耗值为1000,则转发到慢速集群中。
关于资源动态调整:
当某一集群(队列)中在指定时间内资源使用率在一定阈值下,可以通过资源动态调整策略,将一部分资源调整到资源使用率较高的集群(队列)上。
关于资源动态扩容:
当某一集群(队列)中的资源在一定时间内处于紧张状态,可以通过资源动态扩容方案,增加资源,缓解资源紧张状况。
应该理解的是,虽然图2-8的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-8中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图12所示,提供了一种资源分配装置,包括:消耗值确定模块1202、消耗等级确定模块1204和资源分配模块1206,其中:
消耗值确定模块1202,用于接收当前查询请求,获取当前查询请求的预期资源消耗值;
消耗等级确定模块1204,用于根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
资源分配模块1206,用于根据当前资源消耗等级,对当前查询请求进行资源分配。
在其中一个实施例中,消耗值确定模块1202可以对当前查询请求进行解析,获得当前查询请求的执行计划树,根据执行计划树,确定预期资源消耗值。
在其中一个实施例中,消耗值确定模块1202可以根据预设的表统计信息和预设的字段统计信息,确定执行计划树中各个节点的资源消耗值,根据各节点的资源消耗值,确定预期资源消耗值。
在其中一个实施例中,消耗值确定模块1202可以根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定目标数据表的查询行数和数据输入输出代价,目标数据表为在进行当前查询请求的查询时需要使用的各数据表,根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定当前查询请求的连接代价、连接后的行数、分组基数和中央处理器代价,根据查询行数、数据输入输出代价、连接代价、连接后的行数、分组基数和中央处理器代价,确定预期资源消耗值。
在其中一个实施例中,消耗值确定模块1202可以对当前查询请求进行解析,获得当前查询请求的执行计划树,将执行计划树发送给代价分析服务器,获取代价分析服务器返回的预期资源消耗值,预期资源消耗根据执行计划树确定。
在其中一个实施例中,资源分配模块1206可以根据当前资源消耗等级,确定当前查询请求的队列,其中,不同资源消耗等级的查询请求分配到不同队列上,按照当前查询请求的队列的资源调度策略,对当前查询请求进行资源分配。
在其中一个实施例中,上述的装置还可以包括第一资源调整模块或者第一资源扩容模块:
第一资源调整模块,用于获取各队列的资源使用率,在当前队列的资源使用率低于预设的资源使用率阈值时,将当前队列的资源调整到各队列中的剩余队列;
第一资源扩容模块,用于获取各队列的资源需求率,在当前队列的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前队列增加资源。
在其中一个实施例中,资源分配模块1206可以根据预设的资源消耗等级与集群的对应关系,将当前查询请求分配给当前资源消耗等级对应的集群,其中,各集群中分别采用公平调度的方式为分配到的查询请求分配资源。
在其中一个实施例中,上述的装置还可以包括第二资源调整模块或者第二资源扩容模块:
第二资源调整模块,用于获取各集群的资源使用率,在当前集群的资源使用率低于预设的资源使用率阈值时,将当前集群的资源调整到各集群中的剩余集群;
第二资源扩容模块,用于获取各集群的资源需求率,在当前集群的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前集群增加资源。
在其中一个实施例中,上述的装置还可以动态调整模块,该动态调整模块用于获取当前查询请求的执行日志,根据执行日志,获取当前查询请求的实际资源消耗值、实际执行时长、调度时间和等待时间,根据实际资源消耗值、实际执行时长、调度时间和等待时间,调整预期资源消耗值和资源消耗等级的对应关系,或者调整预期资源消耗值的计算方式。
关于资源分配装置的具体限定可以参见上文中对于资源分配方法的限定,在此不再赘述。上述资源分配装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图13所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源分配方法。
本领域技术人员可以理解,图13中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
接收当前查询请求,获取当前查询请求的预期资源消耗值;
根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
根据当前资源消耗等级,对当前查询请求进行资源分配。
在其中一个实施例中,在处理器执行计算机程序实现上述的获取当前查询请求的预期资源消耗值的步骤时,具体实现以下步骤:对当前查询请求进行解析,获得当前查询请求的执行计划树;根据执行计划树,确定预期资源消耗值。
在其中一个实施例中,在处理器执行计算机程序实现上述的根据执行计划树,确定预期资源消耗值的步骤时,具体实现以下步骤:根据预设的表统计信息和预设的字段统计信息,确定执行计划树中各个节点的资源消耗值;根据各节点的资源消耗值,确定预期资源消耗值。
在其中一个实施例中,在处理器执行计算机程序实现上述的根据执行计划树,确定预期资源消耗值的步骤时,具体实现以下步骤:根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定目标数据表的查询行数和数据输入输出代价,目标数据表为在进行当前查询请求的查询时需要使用的各数据表;根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定当前查询请求的连接代价、连接后的行数、分组基数和中央处理器代价;根据查询行数、数据输入输出代价、连接代价、连接后的行数、分组基数和中央处理器代价,确定预期资源消耗值。
在其中一个实施例中,在处理器执行计算机程序实现上述的获取当前查询请求的预期资源消耗值的步骤时,具体实现以下步骤:对当前查询请求进行解析,获得当前查询请求的执行计划树;将执行计划树发送给代价分析服务器,获取代价分析服务器返回的预期资源消耗值,预期资源消耗根据执行计划树确定。
在其中一个实施例中,在处理器执行计算机程序实现上述的根据当前资源消耗等级,对当前查询请求进行资源分配的步骤时,具体实现以下步骤:根据当前资源消耗等级,确定当前查询请求的队列,其中,不同资源消耗等级的查询请求分配到不同队列上;按照当前查询请求的队列的资源调度策略,对当前查询请求进行资源分配。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取各队列的资源使用率,在当前队列的资源使用率低于预设的资源使用率阈值时,将当前队列的资源调整到各队列中的剩余队列;
或者
获取各队列的资源需求率,在当前队列的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前队列增加资源。
在其中一个实施例中,在处理器执行计算机程序实现上述的根据当前资源消耗等级,对当前查询请求进行资源分配的步骤时,具体实现以下步骤:根据预设的资源消耗等级与集群的对应关系,将当前查询请求分配给当前资源消耗等级对应的集群,其中,各集群中分别采用公平调度的方式为分配到的查询请求分配资源。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
获取各集群的资源使用率,在当前集群的资源使用率低于预设的资源使用率阈值时,将当前集群的资源调整到各集群中的剩余集群;
或者
获取各集群的资源需求率,在当前集群的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前集群增加资源。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取当前查询请求的执行日志;根据执行日志,获取当前查询请求的实际资源消耗值、实际执行时长、调度时间和等待时间;根据实际资源消耗值、实际执行时长、调度时间和等待时间,调整预期资源消耗值和资源消耗等级的对应关系,或者调整预期资源消耗值的计算方式。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收当前查询请求,获取当前查询请求的预期资源消耗值;
根据预期资源消耗值,确定当前查询请求的当前资源消耗等级;
根据当前资源消耗等级,对当前查询请求进行资源分配。
在其中一个实施例中,在计算机程序被处理器执行实现上述的获取当前查询请求的预期资源消耗值的步骤时,具体实现以下步骤:对当前查询请求进行解析,获得当前查询请求的执行计划树;根据执行计划树,确定预期资源消耗值。
在其中一个实施例中,在计算机程序被处理器执行实现上述的根据执行计划树,确定预期资源消耗值的步骤时,具体实现以下步骤:根据预设的表统计信息和预设的字段统计信息,确定执行计划树中各个节点的资源消耗值;根据各节点的资源消耗值,确定预期资源消耗值。
在其中一个实施例中,在计算机程序被处理器执行实现上述的根据执行计划树,确定预期资源消耗值的步骤时,具体实现以下步骤:根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定目标数据表的查询行数和数据输入输出代价,目标数据表为在进行当前查询请求的查询时需要使用的各数据表;根据预设的表统计信息、预设的字段统计信息以及执行计划树,确定当前查询请求的连接代价、连接后的行数、分组基数和中央处理器代价;根据查询行数、数据输入输出代价、连接代价、连接后的行数、分组基数和中央处理器代价,确定预期资源消耗值。
在其中一个实施例中,在计算机程序被处理器执行实现上述的获取当前查询请求的预期资源消耗值的步骤时,具体实现以下步骤:对当前查询请求进行解析,获得当前查询请求的执行计划树;将执行计划树发送给代价分析服务器,获取代价分析服务器返回的预期资源消耗值,预期资源消耗根据执行计划树确定。
在其中一个实施例中,在计算机程序被处理器执行实现上述的根据当前资源消耗等级,对当前查询请求进行资源分配的步骤时,具体实现以下步骤:根据当前资源消耗等级,确定当前查询请求的队列,其中,不同资源消耗等级的查询请求分配到不同队列上;按照当前查询请求的队列的资源调度策略,对当前查询请求进行资源分配。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取各队列的资源使用率,在当前队列的资源使用率低于预设的资源使用率阈值时,将当前队列的资源调整到各队列中的剩余队列;
或者
获取各队列的资源需求率,在当前队列的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前队列增加资源。
在其中一个实施例中,在计算机程序被处理器执行实现上述的根据当前资源消耗等级,对当前查询请求进行资源分配的步骤时,具体实现以下步骤:根据预设的资源消耗等级与集群的对应关系,将当前查询请求分配给当前资源消耗等级对应的集群,其中,各集群中分别采用公平调度的方式为分配到的查询请求分配资源。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
获取各集群的资源使用率,在当前集群的资源使用率低于预设的资源使用率阈值时,将当前集群的资源调整到各集群中的剩余集群;
或者
获取各集群的资源需求率,在当前集群的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前集群增加资源。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取当前查询请求的执行日志;根据执行日志,获取当前查询请求的实际资源消耗值、实际执行时长、调度时间和等待时间;根据实际资源消耗值、实际执行时长、调度时间和等待时间,调整预期资源消耗值和资源消耗等级的对应关系,或者调整预期资源消耗值的计算方式。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种资源分配方法,其特征在于,所述方法包括:
接收当前查询请求,获取所述当前查询请求的预期资源消耗值;
根据所述预期资源消耗值,确定所述当前查询请求的当前资源消耗等级;
根据所述当前资源消耗等级,对所述当前查询请求进行资源分配。
2.根据权利要求1所述的方法,其特征在于,所述获取所述当前查询请求的预期资源消耗值,包括:
对所述当前查询请求进行解析,获得当前所述查询请求的执行计划树;
根据所述执行计划树,确定所述预期资源消耗值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述执行计划树,确定所述预期资源消耗值,包括:
根据预设的表统计信息和预设的字段统计信息,确定所述执行计划树中各个节点的资源消耗值;
根据各所述节点的资源消耗值,确定所述预期资源消耗值。
4.根据权利要求2所述的方法,其特征在于,所述根据所述执行计划树,确定所述预期资源消耗值,包括:
根据预设的表统计信息、预设的字段统计信息以及所述执行计划树,确定目标数据表的查询行数和数据输入输出代价,所述目标数据表为在进行当前查询请求的查询时需要使用的各数据表;
根据预设的表统计信息、预设的字段统计信息以及所述执行计划树,确定所述当前查询请求的连接代价、连接后的行数、分组基数和中央处理器代价;
根据所述查询行数、所述数据输入输出代价、所述连接代价、所述连接后的行数、所述分组基数和所述中央处理器代价,确定所述预期资源消耗值。
5.根据权利要求1所述的方法,其特征在于,所述获取所述当前查询请求的预期资源消耗值,包括:
对所述当前查询请求进行解析,获得所述当前查询请求的执行计划树;
将所述执行计划树发送给代价分析服务器,获取所述代价分析服务器返回的预期资源消耗值,所述预期资源消耗根据所述执行计划树确定。
6.根据权利要求1所述的方法,其特征在于,所述根据所述当前资源消耗等级,对所述当前查询请求进行资源分配,包括:
根据所述当前资源消耗等级,确定所述当前查询请求的队列,其中,不同资源消耗等级的查询请求分配到不同队列上;
按照所述当前查询请求的队列的资源调度策略,对所述当前查询请求进行资源分配。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取各队列的资源使用率,在当前队列的资源使用率低于预设的资源使用率阈值时,将当前队列的资源调整到各所述队列中的剩余队列;
或者
获取各所述队列的资源需求率,在当前队列的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前队列增加资源。
8.根据权利要求1所述的方法,其特征在于,所述根据所述当前资源消耗等级,对所述当前查询请求进行资源分配,包括:
根据预设的资源消耗等级与集群的对应关系,将所述当前查询请求分配给所述当前资源消耗等级对应的集群,其中,各集群中分别采用公平调度的方式为分配到的查询请求分配资源。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取各集群的资源使用率,在当前集群的资源使用率低于预设的资源使用率阈值时,将当前集群的资源调整到各所述集群中的剩余集群;
或者
获取各所述集群的资源需求率,在当前集群的资源需求率高于预设的资源需求率阈值时,通过预设的资源动态扩容方案为当前集群增加资源。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述当前查询请求的执行日志;
根据所述执行日志,获取所述当前查询请求的实际资源消耗值、实际执行时长、调度时间和等待时间;
根据所述实际资源消耗值、所述实际执行时长、所述调度时间和所述等待时间,调整预期资源消耗值和资源消耗等级的对应关系,或者调整预期资源消耗值的计算方式。
11.一种资源分配装置,其特征在于,所述装置包括:
消耗值确定模块,用于接收当前查询请求,获取所述当前查询请求的预期资源消耗值;
消耗等级确定模块,用于根据所述预期资源消耗值,确定所述当前查询请求的当前资源消耗等级;
资源分配模块,用于根据所述当前资源消耗等级,对所述当前查询请求进行资源分配。
12.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述方法的步骤。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
CN201910305271.0A 2019-04-16 2019-04-16 资源分配方法、装置、计算机设备和存储介质 Active CN110166282B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201910305271.0A CN110166282B (zh) 2019-04-16 2019-04-16 资源分配方法、装置、计算机设备和存储介质
PCT/CN2019/109355 WO2020211300A1 (zh) 2019-04-16 2019-09-30 资源分配方法、装置、计算机设备和存储介质
CA3177212A CA3177212A1 (en) 2019-04-16 2019-09-30 Resource allocating method, device, computer equipment, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910305271.0A CN110166282B (zh) 2019-04-16 2019-04-16 资源分配方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN110166282A true CN110166282A (zh) 2019-08-23
CN110166282B CN110166282B (zh) 2020-12-01

Family

ID=67639608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910305271.0A Active CN110166282B (zh) 2019-04-16 2019-04-16 资源分配方法、装置、计算机设备和存储介质

Country Status (3)

Country Link
CN (1) CN110166282B (zh)
CA (1) CA3177212A1 (zh)
WO (1) WO2020211300A1 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569257A (zh) * 2019-09-16 2019-12-13 上海达梦数据库有限公司 数据处理方法、相应装置、设备及存储介质
CN111367656A (zh) * 2020-02-20 2020-07-03 深圳震有科技股份有限公司 一种分配媒体资源的方法、计算机设备及存储介质
CN111475584A (zh) * 2020-06-19 2020-07-31 阿里云计算有限公司 数据处理方法、系统以及装置
CN111694668A (zh) * 2020-06-11 2020-09-22 广州市百果园信息技术有限公司 查询任务路由方法、装置、设备及存储介质
WO2020211300A1 (zh) * 2019-04-16 2020-10-22 苏宁云计算有限公司 资源分配方法、装置、计算机设备和存储介质
CN112131267A (zh) * 2020-08-14 2020-12-25 北京达佳互联信息技术有限公司 计数处理方法、装置、服务器和计数处理系统
CN112579324A (zh) * 2020-12-29 2021-03-30 中盈优创资讯科技有限公司 一种基于cost模型的商品汇总统计方法
CN113111083A (zh) * 2021-03-31 2021-07-13 北京沃东天骏信息技术有限公司 数据查询的方法、装置、设备、存储介质和程序产品
WO2021139438A1 (zh) * 2020-01-07 2021-07-15 平安科技(深圳)有限公司 大数据资源处理方法、装置、终端及存储介质
CN113553361A (zh) * 2021-07-30 2021-10-26 北京东方国信科技股份有限公司 资源管理方法及装置
WO2021212965A1 (zh) * 2020-04-21 2021-10-28 华为技术有限公司 一种资源调度方法及相关装置
CN113806068A (zh) * 2021-07-30 2021-12-17 上海晶赞融宣科技有限公司 业务系统的扩容方法及装置、可读存储介质、终端
CN114020779A (zh) * 2021-10-22 2022-02-08 上海卓辰信息科技有限公司 自适应优化检索性能数据库及数据查询方法
CN117806778A (zh) * 2024-02-29 2024-04-02 济南浪潮数据技术有限公司 资源管理方法、系统、设备及介质
CN117806778B (zh) * 2024-02-29 2024-06-07 济南浪潮数据技术有限公司 资源管理方法、系统、设备及介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116401465B (zh) * 2023-06-06 2023-10-20 支付宝(杭州)信息技术有限公司 资源分组分配方法、调整值确定方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN103064875A (zh) * 2012-10-30 2013-04-24 中国标准化研究院 一种服务化空间数据分布式查询方法
CN106383864A (zh) * 2016-09-02 2017-02-08 北京百度网讯科技有限公司 一种时序数据库的查询请求处理方法和装置
CN107168977A (zh) * 2016-03-08 2017-09-15 阿里巴巴集团控股有限公司 一种数据查询的优化方法及装置
US20180314735A1 (en) * 2017-05-01 2018-11-01 Futurewei Technologies, Inc. Using Machine Learning to Estimate Query Resource Consumption in MPPDB
CN108989583A (zh) * 2018-08-10 2018-12-11 携程旅游信息技术(上海)有限公司 呼叫中心的压力测试方法、系统、电子设备和存储介质
CN109075994A (zh) * 2016-04-28 2018-12-21 斯诺弗雷克计算公司 多集群仓库

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8145872B2 (en) * 2004-11-08 2012-03-27 International Business Machines Corporation Autonomic self-tuning of database management system in dynamic logical partitioning environment
CN107797863B (zh) * 2017-09-29 2020-07-28 西安交通大学 一种云计算平台中细粒度资源匹配方法
CN108845874B (zh) * 2018-06-25 2023-03-21 腾讯科技(深圳)有限公司 资源的动态分配方法及服务器
CN110166282B (zh) * 2019-04-16 2020-12-01 苏宁云计算有限公司 资源分配方法、装置、计算机设备和存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102567086A (zh) * 2010-12-30 2012-07-11 中国移动通信集团公司 一种任务调度的方法、设备和系统
CN103064875A (zh) * 2012-10-30 2013-04-24 中国标准化研究院 一种服务化空间数据分布式查询方法
CN107168977A (zh) * 2016-03-08 2017-09-15 阿里巴巴集团控股有限公司 一种数据查询的优化方法及装置
CN109075994A (zh) * 2016-04-28 2018-12-21 斯诺弗雷克计算公司 多集群仓库
CN106383864A (zh) * 2016-09-02 2017-02-08 北京百度网讯科技有限公司 一种时序数据库的查询请求处理方法和装置
US20180314735A1 (en) * 2017-05-01 2018-11-01 Futurewei Technologies, Inc. Using Machine Learning to Estimate Query Resource Consumption in MPPDB
WO2018201948A1 (en) * 2017-05-01 2018-11-08 Huawei Technologies Co., Ltd. Using machine learning to estimate query resource consumption in mppdb
CN108989583A (zh) * 2018-08-10 2018-12-11 携程旅游信息技术(上海)有限公司 呼叫中心的压力测试方法、系统、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李爱武: "《SQL server 2008 数据库技术内幕》", 31 August 2012, 中国铁道出版社 *

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020211300A1 (zh) * 2019-04-16 2020-10-22 苏宁云计算有限公司 资源分配方法、装置、计算机设备和存储介质
CN110569257A (zh) * 2019-09-16 2019-12-13 上海达梦数据库有限公司 数据处理方法、相应装置、设备及存储介质
WO2021139438A1 (zh) * 2020-01-07 2021-07-15 平安科技(深圳)有限公司 大数据资源处理方法、装置、终端及存储介质
CN111367656B (zh) * 2020-02-20 2023-09-26 深圳震有科技股份有限公司 一种分配媒体资源的方法、计算机设备及存储介质
CN111367656A (zh) * 2020-02-20 2020-07-03 深圳震有科技股份有限公司 一种分配媒体资源的方法、计算机设备及存储介质
WO2021212965A1 (zh) * 2020-04-21 2021-10-28 华为技术有限公司 一种资源调度方法及相关装置
CN111694668A (zh) * 2020-06-11 2020-09-22 广州市百果园信息技术有限公司 查询任务路由方法、装置、设备及存储介质
CN111475584A (zh) * 2020-06-19 2020-07-31 阿里云计算有限公司 数据处理方法、系统以及装置
CN112131267A (zh) * 2020-08-14 2020-12-25 北京达佳互联信息技术有限公司 计数处理方法、装置、服务器和计数处理系统
CN112131267B (zh) * 2020-08-14 2023-10-03 北京达佳互联信息技术有限公司 计数处理方法、装置、服务器和计数处理系统
CN112579324A (zh) * 2020-12-29 2021-03-30 中盈优创资讯科技有限公司 一种基于cost模型的商品汇总统计方法
CN113111083A (zh) * 2021-03-31 2021-07-13 北京沃东天骏信息技术有限公司 数据查询的方法、装置、设备、存储介质和程序产品
CN113806068A (zh) * 2021-07-30 2021-12-17 上海晶赞融宣科技有限公司 业务系统的扩容方法及装置、可读存储介质、终端
CN113553361A (zh) * 2021-07-30 2021-10-26 北京东方国信科技股份有限公司 资源管理方法及装置
CN113806068B (zh) * 2021-07-30 2023-12-12 上海晶赞融宣科技有限公司 业务系统的扩容方法及装置、可读存储介质、终端
CN114020779A (zh) * 2021-10-22 2022-02-08 上海卓辰信息科技有限公司 自适应优化检索性能数据库及数据查询方法
CN114020779B (zh) * 2021-10-22 2022-07-22 上海卓辰信息科技有限公司 自适应优化检索性能数据库及数据查询方法
CN117806778A (zh) * 2024-02-29 2024-04-02 济南浪潮数据技术有限公司 资源管理方法、系统、设备及介质
CN117806778B (zh) * 2024-02-29 2024-06-07 济南浪潮数据技术有限公司 资源管理方法、系统、设备及介质

Also Published As

Publication number Publication date
WO2020211300A1 (zh) 2020-10-22
CN110166282B (zh) 2020-12-01
CA3177212A1 (en) 2020-10-22

Similar Documents

Publication Publication Date Title
CN110166282A (zh) 资源分配方法、装置、计算机设备和存储介质
Hu et al. Time-and cost-efficient task scheduling across geo-distributed data centers
US8082273B2 (en) Dynamic control and regulation of critical database resources using a virtual memory table interface
US9213741B2 (en) Actively managing resource bottlenecks in a database system
US8082234B2 (en) Closed-loop system management method and process capable of managing workloads in a multi-system database environment
US8775413B2 (en) Parallel, in-line, query capture database for real-time logging, monitoring and optimizer feedback
US7853584B2 (en) Multi-partition query governor in a computer database system
US20100145929A1 (en) Accurate and timely enforcement of system resource allocation rules
CN110321223A (zh) Coflow协同作业流调度感知的数据流划分方法与装置
US8392404B2 (en) Dynamic query and step routing between systems tuned for different objectives
WO2014139450A1 (en) System and method for distributed sql join processing in shared-nothing relational database clusters using stationary tables
CN109933631A (zh) 基于Infiniband网络的分布式并行数据库系统及数据处理方法
CN106294757B (zh) 一种基于超图划分的分布式数据库及其集群分区方法
CN108595254B (zh) 一种查询调度方法
CN107193898B (zh) 基于分级复用的日志数据流的查询共享方法和系统
CN104298550A (zh) 一种面向Hadoop的动态调度方法
US8392461B2 (en) Virtual data maintenance
CN105683941A (zh) 调节企业数据仓库资源使用
CN105975345A (zh) 一种基于分布式内存的视频帧数据动态均衡存储管理方法
CN105608138A (zh) 一种优化阵列数据库并行数据加载性能的系统
Zhao et al. Dynamic replica creation strategy based on file heat and node load in hybrid cloud
CN107395446B (zh) 日志实时处理系统
CN102081624A (zh) 一种数据查询的方法及查询服务器
CN108932258A (zh) 数据索引处理方法及装置
CN113568931A (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
TA01 Transfer of patent application right

Effective date of registration: 20201111

Address after: No. 1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing City, Jiangsu Province, 210000

Applicant after: Suning Cloud Computing Co.,Ltd.

Address before: 210000, No. 1, Suning Road, Xuanwu District, Jiangsu, Nanjing

Applicant before: SUNING GROUP Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20210512

Address after: 518001 unit 3510-130, Luohu business center, 2028 Shennan East Road, Chengdong community, Dongmen street, Luohu District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen yunwangwandian Technology Co.,Ltd.

Address before: No.1-1 Suning Avenue, Xuzhuang Software Park, Xuanwu District, Nanjing, Jiangsu Province, 210000

Patentee before: Suning Cloud Computing Co.,Ltd.

TR01 Transfer of patent right