CN114969209A - 训练方法及装置、预测资源消耗量的方法及装置 - Google Patents
训练方法及装置、预测资源消耗量的方法及装置 Download PDFInfo
- Publication number
- CN114969209A CN114969209A CN202210676264.3A CN202210676264A CN114969209A CN 114969209 A CN114969209 A CN 114969209A CN 202210676264 A CN202210676264 A CN 202210676264A CN 114969209 A CN114969209 A CN 114969209A
- Authority
- CN
- China
- Prior art keywords
- neural network
- weight
- database servers
- tenants
- tenant
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 238000012549 training Methods 0.000 title claims abstract description 93
- 238000013528 artificial neural network Methods 0.000 claims abstract description 140
- 239000011159 matrix material Substances 0.000 claims abstract description 84
- 230000004044 response Effects 0.000 claims description 23
- 230000008569 process Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 13
- 230000007246 mechanism Effects 0.000 claims description 8
- 239000010410 layer Substances 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000007619 statistical method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000000691 measurement method Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
提供一种训练方法及装置、预测资源消耗量的方法及装置。该训练方法应用于分布式数据库系统,所述系统包括多个数据库服务器,其中每个服务器包括一个或多个租户,该方法包括:获取多个数据库服务器上的租户流量指标;利用所述租户流量指标训练神经网络的权重矩阵,所述神经网络用于预测多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量;所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,分别用于衡量所述多个数据库服务器中的不同数据库服务器对神经网络的预测结果的贡献、一个数据库服务器上的不同租户对所述神经网络的预测结果的贡献、租户流量指标中的不同类型的流量指标对神经网络的预测结果的贡献。
Description
技术领域
本公开涉及机器学习技术领域,更为具体的,涉及一种训练方法及装置、预测资源消耗量的方法及装置。
背景技术
分布式数据库可以包括多个数据库服务器,每个数据库服务器可以包括一个或多个租户。为了合理利用数据库服务器上的资源,数据库服务器可以根据租户的资源消耗量为租户分配对应的资源。
目前,预测租户资源消耗量的方式主要是通过统计学的方式。但是,这种方式存在预测结果不准确的问题。另外,这种方式需要对多个数据库服务器中的每个数据库服务器单独进行统计分析,从而造成运算过程复杂。
发明内容
本公开提供一种训练方法及装置、预测资源消耗量的方法及装置。下面对本公开实施例涉及的各个方面进行介绍。
第一方面,提供一种训练方法,所述方法应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,所述方法包括:获取所述多个数据库服务器上的租户流量指标;利用所述多个数据库服务器上的租户流量指标训练神经网络的权重矩阵,所述神经网络用于预测所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
第二方面,提供一种预测资源消耗量的方法,所述方法应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,所述方法包括:获取待预测的租户的流量指标;采用神经网络对所述流量指标进行处理,得到所述待预测的租户的资源消耗量;其中,所述神经网络包括权重矩阵,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
第三方面,提供一种训练装置,所述装置应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,所述装置包括:获取模块,用于获取所述多个数据库服务器上的租户流量指标;训练模块,用于利用所述多个数据库服务器上的租户流量指标训练神经网络的权重矩阵,所述神经网络用于预测所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
第四方面,提供一种预测资源消耗量的装置,所述装置应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,所述装置包括:获取模块,用于获取待预测的租户的流量指标;预测模块,配置为采用神经网络对所述流量指标进行处理,得到所述待预测的租户的资源消耗量;其中,所述神经网络包括权重矩阵,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
第五方面,提供一种训练装置,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器被配置为执行所述可执行代码,以实现第一方面所述的方法。
第六方面,提供一种预测资源消耗量的装置,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器被配置为执行所述可执行代码,以实现如第二方面所述的方法。
第七方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面或第二方面所述的方法。
第八方面,提供一种计算机程序产品,包括可执行代码,当所述可执行代码被执行时,能够实现如第一方面或第二方面所述的方法。
本公开实施例利用神经网络来预测租户的资源消耗量,与统计学的方式相比,能够提高预测结果的准确性。另外,本公开实施例中神经网络的权重矩阵具有三个维度,其中,第一权重维度与多个数据库服务器中的不同数据库服务器相关,第二权重维度与一个数据库服务器中的不同租户相关,第三权重维度与一个租户中的不同类型的流量指标相关,通过这三个维度可以预测每个服务器上的每个租户的每个流量指标对应的资源消耗量,也就是说,通过该神经网络即可预测不同服务器上的租户的资源消耗量,而不需要对每个数据库服务器单独进行运算,从而可以降低运算复杂度。
附图说明
图1为相关技术中一种分布式数据库的示意性系统架构图。
图2为本公开一实施例提供的训练方法的示意性流程图。
图3为本公开一实施例提供的神经网络的模型架构图。
图4为本公开一实施例提供的预测资源消耗量的方法的示意性流程图。
图5为本公开一实施例提供的训练装置的示意性结构图。
图6为本公开一实施例提供的预测资源消耗量的装置的示意性结构图。
图7为本公开一实施例提供的一种装置的示意性结构图。
具体实施方式
下面结合本公开实施例中的附图对本公开实施例进行描述。以下描述中,参考形成本公开一部分并以说明之方式示出本公开实施例的具体方面或可使用本公开实施例的具体方面的附图。应理解,本公开实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本公开的范围由所附权利要求书界定。例如,应理解,结合所描述方法的揭示内容可以同样适用于用于执行所述方法的对应设备或系统,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包含如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元,其中每个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。另一方面,例如,如果基于如功能单元等一个或多个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能性(例如,一个步骤执行一个或多个单元的功能性,或多个步骤,其中每个执行多个单元中一个或多个单元的功能性),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。
本公开实施例提供的方法及装置应用于分布式数据库系统,用于训练神经网络以及利用神经网络预测分布式数据库中的多个数据库服务器上的租户的资源消耗量。因此,在介绍本公开实施例之前,先结合附图,对相关技术中的分布式数据库的结构、预测租户资源消耗量的方法及其存在的问题进行详细的举例说明。
大数据时代产生了海量多样化的信息资产,对数据的存储及管理数据的能力提出了更高的需求。数据可以是在计算机中用于描述事物特征的记录,如文字、图形、图像、声音等。数据可以有多种表现形式,可以经过数字化后存入计算机中。数据库可以是存储在计算机存储设备上的数据的集合,数据库可以存放数据,数据库中的数据是数据库系统操作的对象及结果。
随着传统数据库技术的日趋成熟,计算机网络技术的飞速发展和应用范围的扩充,传统的集中式数据库系统表现出它的不足:应用程序集中在一台计算机上运行,一旦该计算机发生故障,则整个系统受到影响,可靠性不高;集中式处理引起系统的规模和配置都不够灵活,系统的可扩充性差。在这种形势下,集中式数据库的“集中计算”概念向“分布计算”概念发展。
分布式数据库系统通常由多台计算机组成,其中每台计算机上均存储有数据,多台计算机上存储的数据可以相同也可以不同,多台计算接通过网络进行互联,以实现不同计算机之间的访问和数据共享。
请参阅图1,示出了相关技术中一种分布式数据库的示意性系统架构图。图1中的分布式数据库10包括多个数据库服务器11A,11B,...,11M。其中,每个数据库服务器中资源为多个租户12A,12B,...,12N所共享。数据库服务器的资源例如可以是中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)以及存储等资源。为了确保数据库服务器上的多个租户的数据安全以及避免各租户之间的影响,需要将各租户进行隔离。作为一种实现方式,可以为各租户分别配置资源单元(unit)。资源单元例如可以是容器(docker),从而利用容器实现租户间的隔离。换句话说,在图1的分布式数据库中,资源单元是租户的副本,根据数据库服务器的互联网协议(internetprotocol,IP)地址和租户身份唯一确定一个资源单元。
在分布式数据库系统运行过程中,对于同一个数据库服务器上的不同租户而言,由于其业务类型不同,因此不同租户的资源消耗量不同;而对于同一租户来说,由于其业务数据的变化,对资源的需求也处于实时变化的状态。当租户业务发生变化时,数据库服务器需要根据其资源需求,增加或减少为其配置的资源;同时,在多个租户同时工作的场景下,需要对各租户之间的资源进行合理的配置,使各租户之间的资源配置达到均衡。当数据库服务器的资源容量无法满足租户的资源需求时,需要及时进行切流、隔离等操作,以避免产生不必要的损失。
为了合理利用数据库服务器上的资源,可以根据各租户的资源消耗量,为数据库服务器中的各租户的资源进行配置。
确定租户资源消耗量的方法可以有很多。例如,对于网络带宽等资源,可以利用直接测量或者通过系统环境获取的方法直接得到。而对于CPU等类型的资源来说,在获取租户维度的CPU资源消耗时,需要对租户的用户环境进行修改,从而难于实现。
鉴于上述问题,相关技术中可以采用统计学分析的方法来确定租户的资源消耗量。相比于直接测量,统计学分析的方法不需要修改租户的系统环境,而且产生的额外开销较小,能够适用于多租户的环境。
下面以CPU资源为例,对基于统计学分析确定租户的资源消耗量的方法进行举例说明。上文中提到,由于租户粒度的CPU资源消耗量无法被直接测量,因此相关技术中大多是根据租户的流量指标的变化对整个数据库服务器维度的CPU占用率的影响,来推断出租户的CPU资源消耗量。
其中,租户的流量指标可以包括:每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间、逻辑读统计信息中的一种或多种。
对于同一种流量指标来说,当不同租户的第一类型的流量指标增加时,可以根据数据库服务器整体的CPU占用率的变化,来推断出不同租户的该第一类型的流量指标对于CPU资源消耗量的影响程度,从而在不同租户的第一类型的流量指标增加时,根据影响程度的不同,为其配置相应的CPU资源。例如,在租户1和租户2的每秒事务处理量指标均增长10%的情况下,数据库服务器的CPU占用率分别提高了10%和20%;则可以确定在每秒事务处理量指标增加时,租户2对于处理器资源更敏感;从而在后续的运行过程中,当租户1和租户2的每秒事务处理量指标同时增加时,为租户2配置更多的CPU资源。
对于同一租户来说,与上述方法类似,可以根据同一租户的不同类型的流量指标的变化对于数据库服务器整体的CPU占用率的影响,确定对于CPU资源更为敏感的流量指标类型,从而在该租户的多种类型的流量指标变化时为其配置不同的CPU资源。例如,当租户1的每秒事务处理量和每秒查询率分别增加10%的情况下,服务器的CPU占用率分别提高10%和20%,则能够确定对于租户1来说,每秒查询率指标对于处理器资源更为敏感,从而当该租户的每秒查询率指标增加时,为其分配更多的CPU资源。
上述基于统计学分析的方法,是通过分析同一数据库服务器上的多个租户的同一类型的流量指标和同一租户的不同类型的流量指标对于数据库服务器的CPU占用率的影响,从而间接推断出该数据库服务器上租户粒度的CPU消耗。
该方法会存在以下几个问题。首先,上述方法的准确程度需要依赖于高质量的样本作为输入。其次,该方法容易受到由于多个租户间的资源竞争而造成的异常点的影响。再次,由于分布式数据库中多个服务器上的租户构成不尽相同,因此需要在每个服务器上进行上述过程,从而导致运算过程复杂繁琐。
因此,亟需一种更准确且更易于实现的预测租户资源消耗量的方法。
机器学习是通过神经网络(也可以称为神经网络模型)等机器学习算法,使机器能够从已有的大量的数据样本中学习规律,从而当输入新的数据样本时,能够实现智能识别或预测功能。应用在本公开的场景中,可以通过构建和训练神经网络,将租户的流量指标作为输入,使神经网络能够输出对各租户的资源消耗量的预测结果。
下面首先对构建和训练神经网络的可能的几种实现方式进行简要的介绍。该神经网络应用于分布式数据库,该分布式数据库中包括NS个数据库服务器,每个数据库服务器上包括Nu个租户,每个租户分别具有K种不同类型的流量指标,其中NS、Nu和K均为大于1的正整数。
作为一种可能的实现方式,可以为分布式数据库中的所有数据库服务器建立一个共享的神经网络。神经网络的训练样本集可以是基于多个数据库服务器上的租户的多种流量指标得到的。例如,可以对多个数据库服务器上的租户的多种流量指标进行拼接,得到训练样本集。拼接之后的训练样本集为一个二维的矩阵,其维度为(Ns*Nu)行*K列。在对神经网络进行训练时,可以将上述训练样本集作为输入,进行神经网络的前向传播,得到预测结果。然后可以基于预测结果与多个数据库服务器上的租户的资源消耗量的真实结果之间的误差,进行反向传播,更新神经网络的权重矩阵W。基于更新后的权重矩阵W,重复进行上述训练过程,直至神经网络的预测结果与真实结果的误差满足预设要求(例如误差小于预设阈值)时完成训练,得到训练后的神经网络。
在根据上述方法完成神经网络的训练后,可以将该神经网络部署到分布式数据库的各个数据库服务器上,进行租户资源消耗量的预测。
作为另一种可能的实现方式,由于不同数据库服务器上的租户群体不同,从而导致在不同的数据库服务器上,同一类型的流量指标对于资源消耗量的影响可能不尽相同。因此,可以对不同的数据库服务器进行单独建模。例如,可以在各数据库服务器上分别建立各自的训练样本集,其中每个数据库服务器上的训练样本集为Nu行*K列的二维矩阵,利用各自的训练样本集进行神经网络的训练,确定Ns个相互独立的权重矩阵Ws,i(i=1,2...Ns)。这样使得每个数据库服务器都具有独立的神经网络,从而提高预测结果的准确性。每个数据库服务器上的神经网络的训练过程与前文中共享模型的方式类似,此处不再赘述。
上述两种实现方式,虽然都能够实现基于租户的流量指标进行租户资源消耗量的预测,但是还是存在以下几个问题。
对于共享神经网络的方法来说。首先,多个数据库服务器共享相同的权重矩阵,则相当于默认不同的租户集合的流量对于资源消耗量的贡献是相同的。而实际上,由于不同服务器上的租户群体不同,不同租户的流量对于资源消耗量的贡献并不相同。因此,这种共享模型的方法无法确保在不同的服务器上都具有较高的准确率。其次,为了尽量提高模型预测的准确性,共享模型的隐藏层的层数可能较多,这会导致训练过程复杂。再次,利用该方法训练得到的模型权重矩阵较大,需要占用较多的存储空间,从而不利于在多个服务器上进行部署。
对于在各服务器上单独建模的方式来说。该方式虽然能够在一定程度上解决共享模型准确性不好的问题,但需要针对每个数据库服务器单独训练神经网络。当分布式数据库的集群较大时(例如当集群中包括上万个服务器),则需要训练多个模型,使得模型训练的难度较大,会增加系统运维人员的工作量。此外,在分布式系统运行过程中,如果集群中增加新的服务器,则无法利用其他服务器上的模型进行扩展,从而导致模型的扩展性不强。
由上文描述可知,在上述两种基于神经网络的预测方法中,共享模型的方法实现简单,但预测的准确性不高且部署难度大;单独建模、分别训练的方法所得到的模型预测更准确,但训练过程复杂,不易实现。因此,亟需一种易于训练部署且预测准确性高的神经网络训练方法。
鉴于此,本公开实施例提供了一种训练方法及装置、预测资源消耗量的方法及装置,能够提高预测结果的准确性且易于训练部署。下面结合附图对该方法进行详细的说明。
本公开实施例提供的训练方法可以应用于分布式数据库,该分布式数据库中包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户。该分布式数据库例如可以是前文中图1所示的分布式数据库10。
图2是本公开实施例提供的一种训练方法的流程示意图。该方法用于对神经网络进行训练。该神经网络可用于预测多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量。图2所示的方法包括步骤S21-S22。
在步骤S21,获取多个数据库服务器上的租户流量指标。
在一些实施方式中,获取多个数据库服务器上的租户流量指标可以是:获取分布式数据库中的多个数据库服务器上所有租户的多种流量指标,根据每一个数据库服务器上的租户流量指标,得到维度为Nu行*K列的二维矩阵;再将每个数据库服务器中的二维矩阵进行堆叠,得到维度为NS*Nu*K的三维矩阵作为训练样本。该训练样本包含了分布式数据库中的全部数据库服务器上的所有租户的多种类型的流量指标。
在步骤S22,利用多个数据库服务器上的租户流量指标训练神经网络的权重矩阵。
将在步骤S21中获取的三维训练样本输入神经网络,得到多个数据库服务器上的租户的资源消耗量的预测结果。
上述预测结果可以包括多个数据库服务器上的租户的资源消耗量。其中,租户的资源例如可以是CPU的核数、GPU的核数以及存储空间的大小中的一种或多种,本公开实施例对此不做具体限定。
本公开实施例中的神经网络的权重矩阵具有第一权重维度、第二权重维度和第三权重维度。其中,第一权重维度用于衡量多个数据库服务器中的不同数据库服务器对神经网络的预测结果的贡献;第二权重维度用于衡量一个数据库服务器上的不同租户对预测结果的贡献,第三权重维度用于衡量租户流量指标中的不同类型的流量指标对预测结果的贡献。
本公开实施例利用神经网络来预测租户的资源消耗量,从而可以提高预测结果的准确性。另外,本公开实施例中神经网络的权重矩阵具有三个维度,其中,第一权重维度与多个数据库服务器中的不同数据库服务器相关,第二权重维度与一个数据库服务器中的不同租户相关,第三权重维度与一个租户中的不同类型的流量指标相关,通过这三个维度可以预测每个服务器上的每个租户的每个流量指标对应的资源消耗量,也就是说,通过该神经网络即可预测不同服务器上的租户的资源消耗量,而不需要对每个数据库服务器单独进行运算,从而可以降低运算复杂度。
另外,相比于二维训练的方法,本公开实施例所披露的基于三维权重的训练方法,增加了不同数据库服务器的维度,使得该三维权重矩阵的每一层分别对应分布式数据库中的一个数据库服务器。也就是说,对于每一个数据库服务器来说,都具有一套独立的权重矩阵,从而保证对于每一个数据库服务器上的租户的资源消耗量都能进行更为准确的预测。
在具体实现中,还可以利用Pytorch或者TensorFlow等现有的机器学习框架,对上述神经网络的三维权重矩阵进行分层迭代更新。同时,还可以基于硬件加速的方法,对该三维权重矩阵在不同数据库服务器的维度进行并行训练,从而提升训练的效率。
在一些实施方式中,本公开实施例中的神经网络可以包括多个分支网络,多个分支网络分别对应租户流量指标中的多种类型的流量指标。
基于此,前文中所说的利用多个数据库服务器上的租户流量指标训练神经网络的权重可以包括:将不同类型的流量指标分别输入多个分支网络,生成多个分支网络的权重矩阵。
需要说明的是,在该实施方式中,输入到每一个分支网络中的流量指标包括分布式数据库中的Ns个数据库服务器上的Nu个租户的同一流量指标的特征值。也就是说,每一个分支网络的训练样本可以是维度为1*Nu*Ns的三维矩阵。与前文中所披露的训练的方法类似,在本实施例中,将基于不同的流量指标构建的三维训练样本输入到各多分枝网络中进行训练,从而得到每个分支网络相对应的多个权重矩阵。
在一些实施方式中,输入到每一个分支网络中的流量指标可以包括在分布式数据库运行的不同时间段获取的多组流量指标。例如,可以以每分钟一次的频率采集一天内的流量指标数据,从而得到关于同一个流量指标的多组样本数据。
在一些实施方式中,为了加快模型的训练速度,可以采用将多组样本数据分批次训练的方法。具体实现中,可以将同一批次的多组训练样本组合为B*Nu*Ns的三维样本矩阵,其中B为同一批次中的样本的组数。利用该方法,可以将多个批次的训练并行处理,从而进一步提高训练效率。
利用上述方法训练的多个分支网络,构建了关于不同类型的指标与租户资源消耗量的关系。在一些实施方式中,对于某一些特定类型的数据库服务器来说,在进行模型部署时,可以选择只部署与该数据库服务器的业务类型直接相关的分支网络。例如,对于一些仅用于处理查询业务的数据库服务器来说,只需要将基于每秒查询率这一流量指标训练的分支网络部署到该服务器上即可,而无需存储与其业务类型不相关的其他分支网络模型。这样可以降低模型部署的复杂程度和对于数据库服务器存储空间的占用。
此外,在本公开实施例中,由于神经网络被拆分为多个分支网络,从而可以将多个分支网络进行并行训练,达到进一步提高模型训练效率的目的。
在利用多种类型的流量指标训练得到多个分支网络的权重矩阵后,本公开实施例提供的方法还包括:根据多个分支网络的权重矩阵,生成神经网络的权重矩阵。
在一些实施方式中,多个分支网络包括第一分支网络和第二分支网络,其中第一分支网络和第二分支网络所对应的流量指标不同,从而使得第一分支网络和第二分支网络包含的层数不同。其中,分枝网络的层数可以是指分支网络中隐藏层的数量。
举例说明,对于事务处理响应时间和查询响应时间等流量指标,由于其包含的信息量较少。并且,对于不同租户来说,响应时间相关的流量指标的特征值的差别也可能较小。因此,可以将与事务处理响应时间和查询响应时间等流量指标对应的第一分支网络的层数设置较少(例如可以为一层)。而对于每秒事务处理量、每秒查询量以及逻辑读统计信息等指标,由于其包含的信息量较大,这些流量指标的特征值的大小对租户资源消耗量具有较大的影响。因此可以将与这些指标相对应的第二分支网络的层数设置为多层,利用多层神经网络使得预测结果更为准确。
上述第一分支网络的计算公式如下:
第二分支网络例如可以通过以下公式确定:
还需要说明的是,由于线性变化的矩阵乘操作满足结合律,即X*W0*W1=X*(W0*W1),因此,在第二分支网络中堆叠多层的权重矩阵的物理意义类似于第一分支网络中的堆叠单层,利用上述公式学习的是同一个数据服务器上的不同租户对于资源消耗量的贡献权重。
在确定了多个分支网络对应的权重矩阵后,本公开实施例提供的训练方法还包括:根据分支网络对应的权重矩阵,生成神经网络的权重矩阵。
生成神经网络的权重矩阵的方法可以有很多。在一些实施方式中,可以根据多种类型的流量指标对于预测租户资源消耗量的影响,确定多个类型的流量指标的权重。基于多个类型的流量指标的权重,将上述多个分支网络的权重矩阵进行加权求和,从而得到神经网络的权重矩阵。
确定多种类型的流量指标对于预测租户资源消耗量的影响的方法有很多。例如,可以基于运维人员的经验判断,确定多个分支网络的权重。但是在实际应用中,不同数据库服务器上的租户的流量指标各不相同,并且多种流量指标之间可能会产生相互影响,经验判断的方法所得到的分支网络权重的可信度较低,无法保证神经网络具有较高的预测精度。
鉴于上述问题,在一些实施方式中,可以基于注意力机制来学习不同类型的流量对于预测租户资源消耗量的贡献权重,从而确定各分支网络的权重。
基于注意力机制确定各分支网络权重的计算公式如下:
α=softmax(e⊙Wa)
基于注意力机制能够学习到不同类型的流量指标对神经网络的贡献权重,将各分支网络的模型权重加权求和所得到的神经网络,具有更高的预测精度。
利用上述方法对神经网络进行训练时,综合了不同数据库服务器上的租户的各类型的流量指标对于租户资源消耗量的影响以及不同类型的流量指标之间的影响,使得训练得到的神经网络的预测结果的准确度更高。
在本公开的一些应用场景下,集群中部分租户的业务数据会表现出较强的时间相关性。例如,对于蚂蚁森林的租户来说,在每天的6-9点以及18-22点的时间段内用户活跃度更高,在这一时间段内,数据库服务器中读写类型的流量会显著增加,而在此在外的其他时间则相对平稳。如果在训练过程中能够基于租户流量随时间变化的规律,对模型进行优化,将会进一步提高预测精度和预测的效率。
作为一种实现方式,可以取每月、每周或每天的时间特征,将其扩展为Ns份,与不同的数据库服务器的流量指标进行融合,利用融合后的数据对神经网络进行训练,从而使神经网络能够对时间特征更敏感。
在上述的方法中,直接将时间特征扩展并与不同数据库服务器的流量指标进行融合,相当于默认时间对于不同的数据库服务器的贡献相同。而实际上,由于不同的数据库服务器对于时间的敏感度不同,不同服务器上的租户的流量指标相对时间变化的规律各不相同,因此上述方法并不适用于所有场景。
因此,在一些实施方式中,本公开实施例的训练方法中的利用多个数据库服务器上的租户流量指标训练神经网络的权重矩阵还可以包括:根据多个数据库服务器行的租户的资源消耗量的变化,获取多个数据库服务器上的租户的时间特征。构建元缩放网络来学习时间特征对于租户的资源消耗量的贡献,更新元缩放网络的权重矩阵。将元缩放网络的权重矩阵与前文中训练的神经网络的权重矩阵进行融合,更新神经网络的权重矩阵。具体应用中,可以基于元学习的思想,将时间特征作为元信息,利用元缩放网络对时间特征进行预热,具体形式可以参见以下公式:
τscale=f(ο;θscale)
在上式中,通过将前文中得到的网络模型的权重矩阵ο作为输入,生成了缩放函数τscale,将缩放函数τscale与时间特征按位相乘,得到元缩放网络的权重矩阵et,该权重矩阵et即为时间特征的预热表征。
最后,将根据时间特征和流量指标确定的权重矩阵进行融合,融合的方法可以参见如下公式:
还可以理解的是,在分布式数据库系统中,每个数据库服务器上的租户数量并不固定。例如有些数据库服务器上只有一个租户,而部分数据库服务器上有数十个个租户。如果利用前述方法统一进行建模训练,将导致租户数量较少的数据库服务器上的训练样本中填0的数量过多,从而降低模型优化的速度。
因此,在一些实施方式中,可以根据每个数据库服务器上的租户数量,将多个数据库服务器分组,其中每个分组中的数据库服务器上中的租户数量相同或者接近。对于多个分组单独进行建模训练,最后进行模型的路由。该方法能够提高模型优化的速度。
请参阅图3,图3示出的是本公开一实施例提供的神经网络的模型架构图。图3中的虚线框31、32和33分别示出了上述实施例中的多个分支网络的训练,基于注意力机制分支网络权重计算以及基于时间特征的元缩放网络的训练过程。
图3中每个分支网络的输入xtps,xtpsrt,xqps,xqpsrt和xtr分别为多个数据库服务器上的多个租户的每秒事务处理量、事务处理响应时间、每秒查询率、查询响应时间和逻辑读统计信息。利用上述流量指标,进行各分支网络的训练,确定各分支网络的权重矩阵。
根据基于注意力机制对多个分支网络的权重矩阵加权得到的神经网络的权重矩阵和元缩放网络的权重矩阵进行融合,即得到了最终的神经网络的权重矩阵34。
图4是本公开实施例提供的一种预测资源消耗量的方法,该方法应用于分布式数据库系统,该分布式数据库例如可以是图1中的分布式数据库系统10。图4中的方法包括步骤S41-S42。
在步骤S41,获取待预测的租户的流量指标。
本公开实施例对待预测的租户的数量不做限定,可以是分布式系统中的一个租户,也可以是多个租户。待预测的租户可以是同一个数据库服务器上的租户,也可以是不同数据库服务器上的租户,本公开实施例对此亦不做限定。
在一些实施方式中,上述流量指标例如可以是每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间以及逻辑读统计信息中的一种或多种。
在步骤S42,利用神经网络对步骤S41中获取的租户的流量指标进行处理,得到待预测租户的资源消耗量。
其中,租户的资源例如可以包括中央处理器CPU资源、图形处理器GPU资源以及存储资源等中的一种或多种。
上述神经网络包括权重矩阵,权重矩阵具有第一权重维度、第二权重维度和第三权重维度,其中,第一权重维度用于衡量多个数据库服务器中的不同数据库服务器对神经网络的预测结果的贡献,第二权重维度用于衡量一个数据库服务器上的不同租户对神经网络的预测结果的贡献,第三权重维度用于衡量租户流量指标中的不同类型的流量指标对神经网络的预测结果的贡献。
在一些实施方式中,上述神经网络可以是利用前文中所披露的训练方法训练得到的神经网络。
前文结合图1-图4描述了本公开的方法实施例。下面结合图5-图7详细描述本公开提供的装置的实施例。应理解,装置实施例与前述方法实施例的描述相互对应。因此,未详细描述的部分可参见前述方法实施例。
图5是本公开一实施例提供的训练装置50的示意性结构图。该装置50应用于分布式数据库系统,该分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户。上述分布式数据库系统例如可以是图1所示的分布式数据库系统10。
图5中的训练装置50可以包括获取模块51和训练模块52。
其中,获取模块51用于获取多个数据库服务器上的租户流量指标,获取租户流量指标的具体方法已在前文的方法实施例中进行了详细的描述,此处不再赘述。
训练模块52用于利用多个数据库服务器上的租户流量指标训练神经网络的权重矩阵。
其中,所述神经网络用于预测所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
可选地,所述神经网络包括多个分支网络,所述多个分支网络分别对应所述租户流量指标中的多种类型的流量指标,所述训练模块52还用于:将所述多种类型的流量指标分别输入所述多个分支网络,以生成所述多个分支网络的权重矩阵;根据所述多个分支网络的权重矩阵,生成所述神经网络的权重矩阵。
可选地,所述多个分支网络包括第一分支网络和第二分支网络,所述第一分支网络和所述第二分支网络对应的流量指标不同,使得所述第一分支网络和所述第二分支网络包含的层数不同。
可选地,所述训练模块52还用于:利用注意力机制,确定所述多种类型的流量指标的权重;根据所述多种类型的流量指标的权重,对所述多个分支网络的权重矩阵进行加权,得到所述神经网络的权重矩阵。
可选地,所述训练模块52还用于:根据所述多个数据库服务器上的租户的资源消耗量随时间变化的规律,获取所述多个数据库服务器上的租户的时间特征;利用元缩放网络,学习所述时间特征对于所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量的贡献,更新所述元缩放网络的权重矩阵;将所述元缩放网络的权重矩阵与所述神经网络的权重矩阵融合,更新所述神经网络的权重矩阵。
可选地,所述资源包括以下种的一种或多种:中央处理器CPU资源、图形处理器GPU资源以及存储资源。
可选地,所述流量特征包括以下种的一种或多种:每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间、逻辑读统计信息。
图6是本公开一实施例提供的预测资源消耗量的装置60的示意性结构图。装置60应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户。所述分布式数据库系统例如可以是图1所示的分布式数据库系统10。
图6中的预测资源消耗量的装置60可以包括获取模块61和预测模块62。
其中,获取模块61用于获取待预测的租户的流量指标。
本公开实施例对待预测的租户的数量不做限定,可以是分布式系统中的一个租户,也可以是多个租户。所述待预测的租户可以是同一个数据库服务器上的租户,也可以是不同数据库服务器上的租户,本公开实施例对此亦不做限定。
预测模块62配置为采用神经网络对所述流量指标进行处理,得到所述待预测的租户的资源消耗量。
其中,所述神经网络用于预测所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
可选地,所述资源包括以下种的一种或多种:中央处理器CPU资源、图形处理器GPU资源以及存储资源。
可选地,所述流量特征包括以下种的一种或多种:每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间、逻辑读统计信息。
应理解,这里的训练装置50以及预测资源消耗量的装置60以功能模块的形式体现。“模块”可以通过软件和/或硬件形式实现,对此不作具体限定。例如,“模块”可以是实现上述功能的软件程序、硬件电路或二者结合。所述硬件电路可能包括应用特有集成电路(application specific integrated circuit,ASIC)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。
作为一个示例,本公开实施例提供的训练装置50以及预测资源消耗量的装置60可以是处理器或芯片,以用于执行本公开实施例所述的方法。
图7是本公开另一实施例提供的一种装置70的结构示意图,该装置可以是上文中的训练装置,也可以是预测资源消耗量。图7所述的装置70可以包括存储器71和处理器72,存储器71可以用于存储可执行代码。处理器72可以用于执行存储器71中存储的可执行代码,以实现前文描述的各个方法中的步骤。在一些实施例中,该装置70还可以包括网络接口73,处理器72与外部设备的数据交换可以通过该网络接口73实现。
本公开实施还提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如前文所述的训练方法和/或预测方法。
本公开实施还提供一种计算机程序产品,包括可执行代码,当所述可执行代码被执行时,能够实现前文中所述训练方法和/或预测方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本公开实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
Claims (22)
1.一种训练方法,所述方法应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,所述方法包括:
获取所述多个数据库服务器上的租户流量指标;
利用所述多个数据库服务器上的租户流量指标训练神经网络的权重矩阵,所述神经网络用于预测所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
2.根据权利要求1所述的方法,所述神经网络包括多个分支网络,所述多个分支网络分别对应所述租户流量指标中的多种类型的流量指标,
所述利用所述多个数据库服务器上的租户流量指标训练神经网络的权重矩阵,包括:
将所述多种类型的流量指标分别输入所述多个分支网络,以生成所述多个分支网络的权重矩阵;
根据所述多个分支网络的权重矩阵,生成所述神经网络的权重矩阵。
3.根据权利要求2所述的方法,所述多个分支网络包括第一分支网络和第二分支网络,所述第一分支网络和所述第二分支网络对应的流量指标不同,使得所述第一分支网络和所述第二分支网络包含的层数不同。
4.根据权利要求2所述的方法,所述根据所述多个分支网络对应的权重矩阵,生成所述神经网络的权重矩阵,包括:
利用注意力机制,确定所述多种类型的流量指标的权重;
根据所述多种类型的流量指标的权重,对所述多个分支网络的权重矩阵进行加权,得到所述神经网络的权重矩阵。
5.根据权利要求1所述的方法,所述利用所述多个数据库服务器上的租户流量指标训练神经网络的权重矩阵,包括:
根据所述多个数据库服务器上的租户的资源消耗量随时间变化的规律,获取所述多个数据库服务器上的租户的时间特征;
利用元缩放网络,学习所述时间特征对于所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量的贡献,更新所述元缩放网络的权重矩阵;
将所述元缩放网络的权重矩阵与所述神经网络的权重矩阵融合,更新所述神经网络的权重矩阵。
6.根据权利要求1-5中任一项所述的方法,所述资源包括以下中的一种或多种:中央处理器CPU资源、图形处理器GPU资源以及存储资源。
7.根据权利要求1-5中任一项所述的方法,所述流量特征包括以下中的一种或多种:每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间、逻辑读统计信息。
8.一种预测资源消耗量的方法,所述方法应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,所述方法包括:
获取待预测的租户的流量指标;
采用神经网络对所述流量指标进行处理,得到所述待预测的租户的资源消耗量;
其中,所述神经网络包括权重矩阵,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
9.根据权利要求8所述的方法,所述资源包括以下中的一种或多种:中央处理器CPU资源、图形处理器GPU资源以及存储资源。
10.根据权利要求9所述的方法,所述流量特征包括以下中的一种或多种:每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间、逻辑读统计信息。
11.一种训练装置,所述装置应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,
所述装置包括:
获取模块,用于获取所述多个数据库服务器上的租户流量指标;
训练模块,用于利用所述多个数据库服务器上的租户流量指标训练神经网络的权重矩阵;
其中,所述神经网络用于预测所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
12.根据权利要求11所述的装置,所述神经网络包括多个分支网络,所述多个分支网络分别对应所述租户流量指标中的多种类型的流量指标,
所述训练模块还用于:
将所述多种类型的流量指标分别输入所述多个分支网络,以生成所述多个分支网络的权重矩阵;
根据所述多个分支网络的权重矩阵,生成所述神经网络的权重矩阵。
13.根据权利要求12所述的装置,所述多个分支网络包括第一分支网络和第二分支网络,所述第一分支网络和所述第二分支网络对应的流量指标不同,使得所述第一分支网络和所述第二分支网络包含的层数不同。
14.根据权利要求12所述的装置,所述训练模块还用于:
利用注意力机制,确定所述多种类型的流量指标的权重;
根据所述多种类型的流量指标的权重,对所述多个分支网络的权重矩阵进行加权,得到所述神经网络的权重矩阵。
15.根据权利要求11所述的装置,所述训练模块还用于:
根据所述多个数据库服务器上的租户的资源消耗量随时间变化的规律,获取所述多个数据库服务器上的租户的时间特征;
利用元缩放网络,学习所述时间特征对于所述多个数据库服务器中的任意一个数据库服务器上的租户的资源消耗量的贡献,更新所述元缩放网络的权重矩阵;
将所述元缩放网络的权重矩阵与所述神经网络的权重矩阵融合,更新所述神经网络的权重矩阵。
16.根据权利要求11-15中任一项所述的装置,所述资源包括以下种的一种或多种:中央处理器CPU资源、图形处理器GPU资源以及存储资源。
17.根据权利要求11-15中任一项所述的装置,所述流量特征包括以下种的一种或多种:每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间、逻辑读统计信息。
18.一种预测资源消耗量的装置,所述装置应用于分布式数据库系统,所述分布式数据库系统包括多个数据库服务器,其中每个数据库服务器包括一个或多个租户,所述装置包括:
获取模块,用于获取待预测的租户的流量指标;
预测模块,配置为采用神经网络对所述流量指标进行处理,得到所述待预测的租户的资源消耗量;
其中,所述神经网络包括权重矩阵,所述权重矩阵具有第一权重维度、第二权重维度和第三权重维度,所述第一权重维度用于衡量所述多个数据库服务器中的不同数据库服务器对所述神经网络的预测结果的贡献,所述第二权重维度用于衡量一个所述数据库服务器上的不同租户对所述神经网络的预测结果的贡献,所述第三权重维度用于衡量所述租户流量指标中的不同类型的流量指标对所述神经网络的预测结果的贡献。
19.根据权利要求18所述的装置,所述资源包括以下中的一种或多种:中央处理器CPU资源、图形处理器GPU资源以及存储资源。
20.根据权利要求19所述的装置,所述流量特征包括以下中的一种或多种:每秒事务处理量、每秒查询率、事务处理响应时间、查询响应时间、逻辑读统计信息。
21.一种训练装置,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器被配置为执行所述可执行代码,以实现如权利要求1-7中任一项所述的方法。
22.一种预测资源消耗量的装置,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器被配置为执行所述可执行代码,以实现如权利要求8-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210676264.3A CN114969209B (zh) | 2022-06-15 | 2022-06-15 | 训练方法及装置、预测资源消耗量的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210676264.3A CN114969209B (zh) | 2022-06-15 | 2022-06-15 | 训练方法及装置、预测资源消耗量的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114969209A true CN114969209A (zh) | 2022-08-30 |
CN114969209B CN114969209B (zh) | 2024-07-05 |
Family
ID=82962708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210676264.3A Active CN114969209B (zh) | 2022-06-15 | 2022-06-15 | 训练方法及装置、预测资源消耗量的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114969209B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115712526A (zh) * | 2022-11-24 | 2023-02-24 | 支付宝(杭州)信息技术有限公司 | 训练预测模型以及预测资源使用量的方法及装置 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550323A (zh) * | 2015-12-15 | 2016-05-04 | 北京国电通网络技术有限公司 | 一种分布式数据库负载均衡预测方法和预测分析器 |
US20160321588A1 (en) * | 2015-05-01 | 2016-11-03 | Microsoft Corporation | Automatic demand-driven resource scaling for relational database-as-a-service |
US20180247227A1 (en) * | 2017-02-24 | 2018-08-30 | Xtract Technologies Inc. | Machine learning systems and methods for data augmentation |
US20190004837A1 (en) * | 2017-06-28 | 2019-01-03 | Sap Se | Optimizing allocation of virtual machines in cloud computing environment |
US20190147076A1 (en) * | 2017-11-10 | 2019-05-16 | Salesforce.Com, Inc. | Feature generation and storage in a multi-tenant environment |
US20200107070A1 (en) * | 2018-09-27 | 2020-04-02 | Adobe Inc. | Utilizing combined outputs of a plurality of recurrent neural networks to generate media consumption predictions |
US10743036B1 (en) * | 2018-05-30 | 2020-08-11 | Amazon Technologies, Inc. | Automatically augmenting user resources dedicated to serving content to a content delivery network |
US11062217B1 (en) * | 2018-05-30 | 2021-07-13 | Digital.Ai Software, Inc. | Aids for porting predictive models across tenants and handling impact of source changes on predictive models |
US20210248448A1 (en) * | 2020-02-12 | 2021-08-12 | Feedzai - Consultadoria e Inovação Tecnólogica, S.A. | Interleaved sequence recurrent neural networks for fraud detection |
CN113342474A (zh) * | 2021-06-29 | 2021-09-03 | 中国农业银行股份有限公司 | 客户流量的预测、模型训练的方法、设备及存储介质 |
CN113435122A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 实时流量数据处理方法、装置、计算机设备和存储介质 |
CN113590321A (zh) * | 2021-07-30 | 2021-11-02 | 西安电子科技大学 | 面向异构分布式机器学习集群的任务配置方法 |
CN113778683A (zh) * | 2021-09-14 | 2021-12-10 | 码客工场工业科技(北京)有限公司 | 一种基于神经网络的Handle标识体系解析负载均衡方法 |
CN114020326A (zh) * | 2021-11-04 | 2022-02-08 | 砺剑防务技术(新疆)有限公司 | 一种基于图神经网络的微服务响应时间预测方法和系统 |
CN114090271A (zh) * | 2022-01-24 | 2022-02-25 | 中诚华隆计算机技术有限公司 | 云计算资源分配方法、装置、计算设备及存储介质 |
CN114138463A (zh) * | 2021-11-04 | 2022-03-04 | 中国电力科学研究院有限公司 | 基于深度神经网络的现货系统应用层负载均衡预测方法 |
CN114327739A (zh) * | 2020-09-27 | 2022-04-12 | 华为云计算技术有限公司 | 一种部署计算实例的方法及装置 |
-
2022
- 2022-06-15 CN CN202210676264.3A patent/CN114969209B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160321588A1 (en) * | 2015-05-01 | 2016-11-03 | Microsoft Corporation | Automatic demand-driven resource scaling for relational database-as-a-service |
CN105550323A (zh) * | 2015-12-15 | 2016-05-04 | 北京国电通网络技术有限公司 | 一种分布式数据库负载均衡预测方法和预测分析器 |
US20180247227A1 (en) * | 2017-02-24 | 2018-08-30 | Xtract Technologies Inc. | Machine learning systems and methods for data augmentation |
US20190004837A1 (en) * | 2017-06-28 | 2019-01-03 | Sap Se | Optimizing allocation of virtual machines in cloud computing environment |
US20190147076A1 (en) * | 2017-11-10 | 2019-05-16 | Salesforce.Com, Inc. | Feature generation and storage in a multi-tenant environment |
US10743036B1 (en) * | 2018-05-30 | 2020-08-11 | Amazon Technologies, Inc. | Automatically augmenting user resources dedicated to serving content to a content delivery network |
US11062217B1 (en) * | 2018-05-30 | 2021-07-13 | Digital.Ai Software, Inc. | Aids for porting predictive models across tenants and handling impact of source changes on predictive models |
US20200107070A1 (en) * | 2018-09-27 | 2020-04-02 | Adobe Inc. | Utilizing combined outputs of a plurality of recurrent neural networks to generate media consumption predictions |
US20210248448A1 (en) * | 2020-02-12 | 2021-08-12 | Feedzai - Consultadoria e Inovação Tecnólogica, S.A. | Interleaved sequence recurrent neural networks for fraud detection |
CN114327739A (zh) * | 2020-09-27 | 2022-04-12 | 华为云计算技术有限公司 | 一种部署计算实例的方法及装置 |
CN113342474A (zh) * | 2021-06-29 | 2021-09-03 | 中国农业银行股份有限公司 | 客户流量的预测、模型训练的方法、设备及存储介质 |
CN113435122A (zh) * | 2021-06-30 | 2021-09-24 | 平安科技(深圳)有限公司 | 实时流量数据处理方法、装置、计算机设备和存储介质 |
CN113590321A (zh) * | 2021-07-30 | 2021-11-02 | 西安电子科技大学 | 面向异构分布式机器学习集群的任务配置方法 |
CN113778683A (zh) * | 2021-09-14 | 2021-12-10 | 码客工场工业科技(北京)有限公司 | 一种基于神经网络的Handle标识体系解析负载均衡方法 |
CN114020326A (zh) * | 2021-11-04 | 2022-02-08 | 砺剑防务技术(新疆)有限公司 | 一种基于图神经网络的微服务响应时间预测方法和系统 |
CN114138463A (zh) * | 2021-11-04 | 2022-03-04 | 中国电力科学研究院有限公司 | 基于深度神经网络的现货系统应用层负载均衡预测方法 |
CN114090271A (zh) * | 2022-01-24 | 2022-02-25 | 中诚华隆计算机技术有限公司 | 云计算资源分配方法、装置、计算设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
张若峰;张巍;: "浅析吉林移动经营分析多租户系统资源调度算法", 营销界, no. 24, 14 June 2019 (2019-06-14) * |
胡晔明;李强;: "基于自适应遗传算法和BP神经网络的云服务器请求量预测模型", 通信技术, no. 04, 10 April 2019 (2019-04-10) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115712526A (zh) * | 2022-11-24 | 2023-02-24 | 支付宝(杭州)信息技术有限公司 | 训练预测模型以及预测资源使用量的方法及装置 |
CN115712526B (zh) * | 2022-11-24 | 2024-08-16 | 支付宝(杭州)信息技术有限公司 | 训练预测模型以及预测资源使用量的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114969209B (zh) | 2024-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020143409A1 (zh) | 预测业务指标的方法及装置 | |
WO2022037337A1 (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
Bi et al. | Deep neural networks for predicting task time series in cloud computing systems | |
CN111898578B (zh) | 人群密度的获取方法、装置、电子设备 | |
CA3117872A1 (en) | Clustering techniques for machine learning models | |
CN109117352B (zh) | 服务器性能预测方法和装置 | |
CN111783810A (zh) | 用于确定用户的属性信息的方法和装置 | |
CN104794112B (zh) | 时间序列处理方法及装置 | |
WO2023134188A1 (zh) | 指标确定方法、装置、电子设备和计算机可读介质 | |
CN114969209B (zh) | 训练方法及装置、预测资源消耗量的方法及装置 | |
Shitharth et al. | Development of edge computing and classification using the internet of things with incremental learning for object detection | |
CN114417174B (zh) | 内容推荐方法、装置、设备及计算机存储介质 | |
CN115391561A (zh) | 图网络数据集的处理方法、装置、电子设备、程序及介质 | |
CN113259163B (zh) | 一种基于网络拓扑感知的Web服务质量预测方法及系统 | |
CN109657122B (zh) | 一种基于学术大数据的学术团队重要成员识别方法 | |
Zhang et al. | Blockchain-based secure aggregation for federated learning with a traffic prediction use case | |
CN116629612A (zh) | 一种风险预测的方法、装置、存储介质及电子设备 | |
US20230214764A1 (en) | Supply chain demand uncensoring | |
CN113704497B (zh) | 医疗知识图谱的填补方法、装置、计算机设备及存储介质 | |
CN113516065B (zh) | 基于区块链的资料权重测算方法、装置、服务器及存储介质 | |
Chow et al. | SCAD: Scalability Advisor for Interactive Microservices on Hybrid Clouds | |
CN115037655B (zh) | 压测方法和系统 | |
CN115314513B (zh) | 基于区块链的信任孪生方法及相关设备 | |
CN117786358A (zh) | 基于全局时空循环神经网络的交通数据预测方法及系统 | |
CN116842683A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |