CN113176944A - 集群计算存储资源分配方法和装置 - Google Patents

集群计算存储资源分配方法和装置 Download PDF

Info

Publication number
CN113176944A
CN113176944A CN202110472426.7A CN202110472426A CN113176944A CN 113176944 A CN113176944 A CN 113176944A CN 202110472426 A CN202110472426 A CN 202110472426A CN 113176944 A CN113176944 A CN 113176944A
Authority
CN
China
Prior art keywords
resource
resource allocation
cluster
tenant
time period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110472426.7A
Other languages
English (en)
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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110472426.7A priority Critical patent/CN113176944A/zh
Publication of CN113176944A publication Critical patent/CN113176944A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请涉及大数据技术领域,具体地公开了一种集群计算存储资源分配方法和装置,其中,该方法包括:获取集群的多个租户中各租户的历史资源运行信息;对历史资源运行信息进行划分,得到各租户在多个时间段中各时间段的资源运行信息;基于各租户在各时间段的资源运行信息进行特征选择,得到各租户在多个时间段中各时间段的资源运行特征;对各租户在各时间段的资源运行特征进行向量化处理,得到特征数据集和标签集;根据特征数据集和标签集,构建目标预测模型,以利用目标预测模型确定集群在目标时间段内的资源分配信息,并依据资源分配信息对集群的计算存储资源进行分配。上述方案可以实现集群资源最大化利用。

Description

集群计算存储资源分配方法和装置
技术领域
本申请涉及大数据技术领域,特别涉及一种集群计算存储资源分配方法和装置。
背景技术
近些年大数据技术越来越流行,基于Hadoop集群等框架的各种大数据产品越来越受到用户的青睐。传统的大数据产品,几乎都是为多租户中的每个租户设置好固定CPU和内存,一旦设置好就会一直以这样的状态进行工作。这样设置虽然操作简便、维护方便,但也带来了不少弊端。例如,在高峰时刻一些高并发的场景的租户受到资源的限制出现等待情况,导致作业运行缓慢,甚至出现假死的状态;一些场景就只有少量时间运行大数据计算,大部分时间都处于空闲状态,造成资源浪费。虽然一些产品可以基于百分比配置,但最大资源百分比一旦确定,也还是限制了计算资源。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种集群计算存储资源分配方法和装置,以根据运行场景动态分配集群的计算存储资源。
本申请实施例提供了一种集群计算存储资源分配方法,包括:获取集群的多个租户中各租户的历史资源运行信息;对历史资源运行信息进行划分,得到各租户在多个时间段中各时间段的资源运行信息;基于各租户在各时间段的资源运行信息进行特征选择,得到各租户在多个时间段中各时间段的资源运行特征;对各租户在各时间段的资源运行特征进行向量化处理,得到特征数据集和标签集,其中,标签集中包括特征数据集中各特征数据对应的标签;根据特征数据集和标签集,构建目标预测模型,以利用目标预测模型确定集群在目标时间段内的资源分配信息,并依据资源分配信息对集群的计算存储资源进行分配。
在一个实施例中,根据特征数据集和标签集,构建目标预测模型,包括:将特征数据集划分为第一特征数据集和第二特征数据集;将标签集划分为第一标签集和第二标签集,其中,第一标签集中包括第一特征数据集中各特征数据对应的标签,第二标签集中包括第二特征数据集中各特征数据对应的标签;基于第一特征数据集和第一标签集对预设模型进行训练,得到预测模型;基于第二特征数据集和第二标签集对预测模型进行验证;在验证结果满足预设条件的情况下,将预测模型作为目标预测模型。
在一个实施例中,基于第一特征数据集和第一标签集对预设模型进行训练,得到预测模型,包括:基于第一特征数据集和第一标签集,利用预设的多种算法中的各算法,对预设模型进行训练,得到训练后的多个模型。
在一个实施例中,依据资源分配信息对集群的计算存储资源进行分配,包括:根据资源分配信息更新资源分配规则表;将资源分配规则表中的资源分配信息插入到资源调整等待队列中;从资源调整等待队列中读取资源分配信息,并通过调用集群接口自动调整多个租户中各租户的资源。
在一个实施例中,资源分配规则表中包括crontab表达式;相应的,将资源分配规则表中的资源分配信息插入到资源调整等待队列中,包括:通过crontab表达式定时将资源分配规则表中的资源分配信息插入到资源调整等待队列中。
在一个实施例中,资源运行特征包括以下至少之一:资源百分比、资源内存量、资源vcore数量。
在一个实施例中,在依据资源分配信息对集群的计算存储资源进行分配之后,还包括:将集群分配信息存储至预设数据库中。
本申请实施例还提供了一种集群计算存储资源分配装置,包括:获取模块,用于获取集群的多个租户中各租户的历史资源运行信息;划分模块,用于对历史资源运行信息进行划分,得到各租户在多个时间段中各时间段的资源运行信息;选择模块,用于基于各租户在各时间段的资源运行信息进行特征选择,得到各租户在多个时间段中各时间段的资源运行特征;向量化模块,用于对各租户在各时间段的资源运行特征进行向量化处理,得到特征数据集和标签集,其中,标签集中包括特征数据集中各特征数据对应的标签;构建模块,用于根据特征数据集和标签集,构建目标预测模型,以利用目标预测模型确定集群在目标时间段内的资源分配信息,并依据资源分配信息对集群的计算存储资源进行分配。
本申请实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的集群计算存储资源分配方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的集群计算存储资源分配方法的步骤。
在本申请实施例中,提供了一种集群计算存储资源分配方法,获取集群的多个租户中各租户的历史资源运行信息,对历史资源运行信息进行划分,得到各租户在多个时间段中各时间段的资源运行信息,基于各租户在各时间段的资源运行信息进行特征选择,得到各租户在多个时间段中各时间段的资源运行特征,对资源运行特征进行向量化处理,得到特征数据集和对应的标签集,根据特征数据集和标签集,构建目标预测模型,以利用目标预测模型确定集群在目标时间段内的资源分配信息,并依据资源分配信息对集群的计算存储资源进行分配。上述方案中,通过对集群中的多个租户中各租户的历史资源运行信息进行处理,得到用于模型训练的特征数据集和标签集,基于特征数据集和标签集可以构建出目标预测模型,将目标时间段输入该目标预测模型之后,即可得到目标时间段内集群的资源分配信息,并依据资源分配信息对集群资源进行分配,从而可以根据不同时间段自动对各租户的计算存储资源进行调整,可以提高各场景下脚本的运行效率,达到集群资源最大化利用的目的,减少集群资源的浪费。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1示出了本申请一实施例中集群计算存储资源分配方法的流程图;
图2示出了本申请一实施例中的集群计算存储资源分配方法的流程图;
图3示出了本申请一实施例中的集群计算存储资源分配方法的流程图;
图4示出了本申请一实施例中的集群计算存储资源分配装置的示意图;
图5示出了本申请一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
本申请实施例提供了一种集群计算存储资源分配方法。图1示出了本申请一实施例中集群计算存储资源分配方法的流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图1所示,本申请一种实施例提供的集群计算存储资源分配方法可以包括以下步骤。
步骤S101,获取集群的多个租户中各租户的历史资源运行信息。
集群可以是分布式系统基础架构,可以为多个租户分配计算存储资源,例如,可以是Hadoop集群。Hadoop集群可以充分利用集群的优势进行高速运算和存储,同时Hadoop集群又可以实现分布式文件系统,在Hadoop集群中租户可以在不了解分布式底层细节的情况下,进行分布式程序的开发及实现。租户可以是企业或个人的客户端设备。集群中的多个租户中各租户的历史资源运行信息可以存储在预设数据库中。可以从预设数据库中获取集群的多个租户中各租户的历史资源运行信息。其中,历史资源运行信息可以是过去预设时间段内的资源运行信息,例如,内存使用情况、CPU使用情况、运行时间等各种运行信息。
步骤S102,对历史资源运行信息进行划分,得到各租户在多个时间段中各时间段的资源运行信息。
在获得集群中多个租户中各租户的历史资源运行信息之后,可以对历史资源运行信息进行划分,得到各租户在多个时间段中各时间段的资源运行信息。在一个实施例中,可以根据预设规则对历史资源运行信息进行划分,将所需资源信息进行汇总。其中,预设规则可以由工作人员根据集群运作规律来设置。例如,对于银行等金融机构,可以将历史资源运行信息按小时进行划分,例如,每一个小时或每半个小时划分为一个时间段。又例如,可以将历史资源运行信息按是否为工作日进行划分,分为工作日和周末两个时间段。又例如,可以根据季度来对历史资源运行信息进行划分。本申请对此不进行限制。
步骤S103,基于各租户在各时间段的资源运行信息进行特征选择,得到各租户在多个时间段中各时间段的资源运行特征。
在得到各租户在各时间段的资源运行信息之后,可以进行特征选择。例如,通过模型选择或者手工加机器协作选择,选取合适的特征,对变量进行命名以便更好标记,得到各租户在多个时间段中各时间段的资源运行特征。
步骤S104,对各租户在各时间段的资源运行特征进行向量化处理,得到特征数据集和标签集,其中,标签集中包括特征数据集中各特征数据对应的标签。
在得到各租户在各时间段的资源运行特征之后,进行向量化处理,得到特征数据集和标签集。在进行向量化处理时,可以对资源运行特征进行预处理。例如,某租户在一个时间段内的某一特征的值会随着时间不断变化。为了简化处理,在一个实施例中,可以确定该时间段内该特征的变化范围,并将该范围的中值作为该特征在该时间段内的特征值。在另一个实施例中,可以求取特征在该时间段内的平均值,作为该特恒在该时间段的特征值。在预处理之后,进行向量化处理,得到特征数据集和标签集。其中,标签集中包括特征数据集中各特征数据对应的标签。其中,特征数据可以至少包括租户标识和时间段标识。标签可以至少包括资源信息,例如,内存大小、资源百分比等信息。
步骤S105,根据特征数据集和标签集,构建目标预测模型,以利用目标预测模型确定集群在目标时间段内的资源分配信息,并依据资源分配信息对集群的计算存储资源进行分配。
可以根据特征数据集和标签集,构建目标预测模型。可以利用特征数据集和标签集对预设模型进行训练,得到目标预测模型。之后,可以利用目标预测模型确定集群在目标时间段内的资源分配信息。其中,目标时间段可以是当前时间所处的时间段或者当前时间所处的时间段的下一个时间段。可以根据步骤S102中的划分规则定时将目标时间段输入到目标预测模型,得到各时间段的资源分配信息。例如,可以每隔一小时输入一次时间段到目标预测模型。在得到各时间段的资源分配信息之后,可以依据各时间段的资源分配信息在对应时间段对集群的计算存储资源进行动态分配。
上述实施例中,通过对集群中的多个租户中各租户的历史资源运行信息进行处理,得到用于模型训练的特征数据集和标签集,基于特征数据集和标签集可以构建出目标预测模型,将目标时间段输入该目标预测模型之后,即可得到目标时间段内集群的资源分配信息,并依据资源分配信息对集群资源进行分配,从而可以根据不同时间段自动对各租户的计算存储资源进行调整,可以提高各场景下脚本的运行效率,达到集群资源最大化利用的目的,减少集群资源的浪费。
在本申请一些实施例中,根据特征数据集和标签集,构建目标预测模型,可以包括:将特征数据集划分为第一特征数据集和第二特征数据集;将标签集划分为第一标签集和第二标签集,其中,第一标签集中包括第一特征数据集中各特征数据对应的标签,第二标签集中包括第二特征数据集中各特征数据对应的标签;基于第一特征数据集和第一标签集对预设模型进行训练,得到预测模型;基于第二特征数据集和第二标签集对预测模型进行验证;在验证结果满足预设条件的情况下,将预测模型作为目标预测模型。
具体地,可以将特征数据集划分为第一特征数据集和第二特征数据集,将标签集划分为与第一特征数据集对应的第一标签集以及与第二特征数据对应的第二标签集。第一特征数据集和对应的第一标签集组成训练集,第二特征数据集与对应的第二标签集组成验证集。其中,训练集与验证集中的数据的量之比可以是8:2或者7:3等。可以利用训练集对预设模型进行训练,得到预测模型。之后,可以利用验证集对预测模型进行验证,在验证结果满足预设条件的情况下,将该预测模型作为目标预测模型。例如,可以确定预测模型的预测效果指标,例如准确率、精确率、召回率、ROC曲线、AUC等指标。例如,在预测效果指标为准确率的情况下,可以在准确率大于预设阈值时,确定预测模型满足预设条件。在预测模型不满足预设条件的情况下,继续训练优化预测模型,直至满足预设条件。通过上述方式,可以得到预测效果满足需求的目标预测模型。
在本申请一些实施例中,基于第一特征数据集和第一标签集对预设模型进行训练,得到预测模型,可以包括:基于第一特征数据集和第一标签集,利用预设的多种算法中的各算法,对预设模型进行训练,得到训练后的多个模型。
具体地,可选取合适的算法,比如SVM(支持向量机)、逻辑回归、决策树等算法,基于第一特征数据集和第一标签集对预设模型进行训练,得到预测模型。选择算法的时候最佳方法就是基于各种不同的算法训练模型,得到多个模型。然后用交叉验证的方式选择最好的一个。即,利用验证集(第二特征数据集和第二标签集)对多个模型进行验证,将预测效果最好的模型作为目标预测模型。通过上述方式,可以进一步提高预测模型的准确率,从而可以更好地分配集群资源。
在本申请一些实施例中,依据资源分配信息对集群的计算存储资源进行分配,可以包括:根据资源分配信息更新资源分配规则表;将资源分配规则表中的资源分配信息插入到资源调整等待队列中;从资源调整等待队列中读取资源分配信息,并通过调用集群接口自动调整多个租户中各租户的资源。
在得到目标时间段的资源分配信息之后,可以依据资源分配信息对集群的计算存储资源进行分配。在当前时间接近目标时间段(例如,距目标时间段的起点时间小于预设时间间隔)的情况下,可以根据资源分配信息更新资源分配规则表。其中,资源分配规则表中可以包括租户标识与资源量大小之间的对应关系。可以将更新后的资源分配规则表中的资源分配信息插入到资源调整等待队列中。即,可以采用异步执行的方式来调整各租户的资源分配情况。可以从资源调整等待队列中读取资源分配信息,并通过调用集群接口自动调整多个租户中各租户的资源。通过上述方式,可以通过更新资源分配规则表的方式异步调整多个租户中各租户的资源分配情况,操作方便简单,效率高。
在本申请一些实施例中,资源分配规则表中可以包括crontab表达式;相应的,将资源分配规则表中的资源分配信息插入到资源调整等待队列中,可以包括:通过crontab表达式定时将资源分配规则表中的资源分配信息插入到资源调整等待队列中。
具体地,可以通过crontab表达式的方式来定时将资源分配信息插入到资源调整等待队列中。例如,crontab表达式可以包括时间点以及要执行的任务名称。通过配置crontab表达式,可以定时将资源分配规则表中的资源分配信息插入到资源调整等待队列中。其中,定时可以是根据时间段划分规则来设置,例如,若每小时划分一个时间段,则定时可以是每小时的起始时刻。当然,还可以通过其他方式来定时将资源分配规则表中的资源分配信息插入到资源调整等待队列中。通过上述方式,可以自动将资源分配信息插入到资源调整等待队列中,无需人工操作,可以提高资源分配的效率和准确率。
在本申请一些实施例中,资源运行特征可以包括以下至少之一:资源百分比、资源内存量、资源vcore数量。在基于所述各租户在所述各时间段的资源运行信息进行特征选择时,可以选取资源百分比、资源内存量、资源vcore数量等特征。其中,资源百分比可以包括最大资源百分比、最小资源百分比。资源内存量可以包括最大资源内存大小和最小资源内存大小。资源vcore数量可以包括最大资源vcore个数和最小资源vcore个数。由于集群中可能不是所有的机器都是同一种规格的,有的CPU处理能力强,有的CPU处理能力弱。假设性能强的一个physical core(物理核)计算能力相当于弱的3倍,这个时候,可以指定处理能力强的CPU的一个physical core为3个vcore,而处理能力弱的CPU的一个physical core为1个vcore,分配资源的如果需要提供6个vcore,那计算能力强的那个只需要提供2个physical core即可,这样可以实现负载均衡。
在本申请一些实施例中,在依据资源分配信息对集群的计算存储资源进行分配之后,还可以包括:将集群分配信息存储至预设数据库中。通过将资源分配信息记录到数据库中,可以便于审计以及场景计算模式的发现,还可以为资源分配信息提供冗余存储。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
本申请实施例中的集群计算存储资源分配方法可以应用于集群平台。集群平台可以有数据接入、集群管理、融合服务、计算、存储等模块。各应用通过统一接入层使用Hadoop集群服务,通过提交脚本等手段,最终在“资源调度引擎”中申请计算存储资源进行计算后将结果保存在各种数据库中。本申请实施例中的方法就是对资源调度引擎中的资源分配进行优化,从而实现Hadoop集群资源利用最大化。
请参考图2,示出了本具体实施例中的集群计算存储资源分配方法的模块示意图。如图2所示,本实施例中的方法主要由定时触发模块210和机器学习模块220两大模块协同工作。定时触发模块210主要负责资源在不同时间段的调整,包括4个子模块:规则录入子模块211、定时触发子模块212、定时调整子模块213、保存场景子模块214。下面对各子模块进行描述。
规则录入子模块211用于规则的录入,设计表字段如下面的表1所示,可以将定时调整的信息格式化存储。
表1
Figure BDA0003045859670000091
定时触发子模块212用于资源的定时触发,在上述表中通过crontab表达式,可以定时将规则表中的最大资源百分比、最小资源百分比、最大资源内存大小、最小资源内存大小、最大vcore个数和最小vcore个数等信息插入到资源调整等待队列中。
定时调整子模块213用于资源的定时调整。从资源等待队列中读取资源名、最大资源百分比、最小资源百分比、最大资源内存大小、最小资源内存大小、最大vcore个数和最小vcore个数等计算存储资源信息,通过调用集群接口自动调整资源大小,减少人工操作。一旦返回成功,则该租户就会以新的计算资源运算,适配当前场景,让当前场景运行顺畅。
保存场景子模块214为保存场景,将该队列的调整的过程详细记录到数据表中,以便于审计以及场景计算模式的发现。
机器学习模块220主要负责各租户每日各时间段计算存储资源量的建模,包含7个子模块:数据分析子模块221、特征选择子模块222、向量化子模块223、拆分数据集子模块224、训练子模块225、评估子模块226和反馈子模块227。下面对各子模块进行描述。
数据分析子模块221为数据分析,将Hadoop集群中资源运行的明细数据通过接口保存到数据库,通过时间段划分,将所需资源大小进行汇总。
特征选择子模块222为特征选择,通过手工选择或者模型选择,选择合适的特征,对变量进行命名以便更好标记。
向量化子模块223为向量化,最特征提取结果再加工,目的是增强特征的表示能力。
拆分数据集子模块224为拆分数据集,将得到的数据分为2部分:一部分用于训练,另一部分用于评估训练模型的表现。
训练子模块225为训练,选取合适的算法,比如SVM、逻辑回归、决策树等,得到最好的模型。
评估子模块226为评估,通过拆分数据集子模块224拆分的验证数据判断模型的好坏。
反馈子模块227为反馈,调用模型完成对该时间段所需资源进行预测,将预测结果返填到规则录入子模块211的规则中。
请参考图3,示出了本具体实施例中的集群计算存储资源分配方法的流程图。本具体实施例中,可以通过通过定时规则定时调整各租户的Hadoop计算存储资源并对hadoop集群生效;同时读取Hadoop集群的明细数据,用机器学习方法建立好模型并调整定时规则,达到Hadoop集群资源最大化利用的目的。如图3所示,本实施例中的犯法的具体步骤如下。
步骤S301:在数据表中录入规则,这个规则有开始时间和结束时间,表示这个规则的有效期。有crontab表达式,表示何时开始定时调整租户资源的大小。有租户信息,表示要调整哪个租户资源。有调整之后的计算资源的大小,如最大资源百分比、最小资源百分比、最大vcore个数、最小vcore个数等。有了这些信息,即可定时调整资源。
步骤S302:在上述表中通过crontab表达式,可以定时将规则表中的最大资源百分比、最小资源百分比等信息插入到需要调整的资源等待队列中。在队列中,可以标注哪些租户资源需要调整到什么大小。
步骤S303:从资源等待队列中读取资源名、最大资源百分比、最小资源百分比等计算存储资源信息,通过调用集群接口自动调整资源大小,减少人工操作。一旦返回成功,则该租户就会以新的计算资源运算,适配当前场景,让当前场景运行顺畅。
步骤S304:该队列的调整的过程详细记录到数据表中,以便于审计以及场景计算模式的发现。
步骤S305:将Hadoop集群中资源运行的明细数据通过接口保存到数据库,通过时间段划分,将所需资源大小进行汇总。需要确定时间和租户为自变量y,资源大小为因变量x,确定相关系数。
步骤S306:通过手工选择或者模型选择,选择合适的特征,对变量进行命名以便更好标记。
步骤S307:最特征提取结果再加工,目的是增强特征的表示能力。可以对连续的时间离散化,用数字进行标识产生标签(Label)和枚举值的关系。
步骤S308:将得到的数据分为2部分:一部分用于训练,为训练数据,另一部分用于评估训练模型的表现,为验证数据。训练数据占很大一部分,用大量数据,可以找到数据和数据之间的紧密联系。通常可以用8:2或者7:3进行划分。
步骤S309:选取合适的算法,比如SVM、逻辑回归、决策树等,利用训练数据进行训练得到多个模型。选择算法的时候最佳方法就是测试各种不同的算法,然后用交叉验证的方式选择最好的一个。
步骤S310:通过验证数据判断多个模型的好坏。模型评估常见的5个方法为:混淆矩阵、提升图&洛伦兹图、基尼系数、KS曲线、ROC曲线。完成评估后,还可以调整参数,进行重复训练和评估,找到最好的参数和模型。
步骤S311:调用模型完成对目标时间段所需资源进行预测,将预测结果更新到定时调整规则中。这样在不断调整、不断完善的过程中,可以越来越适配当前场景的资源大小,为场景的运行提供更高效的计算。
上述具体实施例中的方法,基于Hadoop集群多租户模式下的计算存储资源动态分配的方法,可以提高各场景下脚本的运行效率,达到Hadoop集群资源最大化利用的目的,减少Hadoop集群资源的浪费,通过引入动态调整的方法,可以减少集群对资源分配的关注,从而可以更加集中于业务场景的开发,为各行各业数据的规律发现提供保障。
基于同一发明构思,本申请实施例中还提供了一种集群计算存储资源分配装置,如下面的实施例所述。由于集群计算存储资源分配装置解决问题的原理与集群计算存储资源分配方法相似,因此集群计算存储资源分配装置的实施可以参见集群计算存储资源分配方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本申请实施例的集群计算存储资源分配装置的一种结构框图,如图4所示,包括:获取模块401、划分模块402、选择模块403、向量化模块404和构建模块405,下面对该结构进行说明。
获取模块401用于获取集群的多个租户中各租户的历史资源运行信息。
划分模块402用于对历史资源运行信息进行划分,得到各租户在多个时间段中各时间段的资源运行信息。
选择模块403用于基于各租户在各时间段的资源运行信息进行特征选择,得到各租户在多个时间段中各时间段的资源运行特征。
向量化模块404用于对各租户在各时间段的资源运行特征进行向量化处理,得到特征数据集和标签集,其中,标签集中包括特征数据集中各特征数据对应的标签。
构建模块405用于根据特征数据集和标签集,构建目标预测模型,以利用目标预测模型确定集群在目标时间段内的资源分配信息,并依据资源分配信息对集群的计算存储资源进行分配。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:通过对集群中的多个租户中各租户的历史资源运行信息进行处理,得到用于模型训练的特征数据集和标签集,基于特征数据集和标签集可以构建出目标预测模型,将目标时间段输入该目标预测模型之后,即可得到目标时间段内集群的资源分配信息,并依据资源分配信息对集群资源进行分配,从而可以根据不同时间段自动对各租户的计算存储资源进行调整,可以提高各场景下脚本的运行效率,达到集群资源最大化利用的目的,减少集群资源的浪费。
本申请实施方式还提供了一种计算机设备,具体可以参阅图5所示的基于本申请实施例提供的集群计算存储资源分配方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备51、处理器52、存储器53。其中,所述存储器53用于存储处理器可执行指令。所述处理器52执行所述指令时实现上述任意实施例中所述的集群计算存储资源分配方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于集群计算存储资源分配方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述集群计算存储资源分配方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种集群计算存储资源分配方法,其特征在于,包括:
获取集群的多个租户中各租户的历史资源运行信息;
对所述历史资源运行信息进行划分,得到所述各租户在多个时间段中各时间段的资源运行信息;
基于所述各租户在所述各时间段的资源运行信息进行特征选择,得到所述各租户在所述多个时间段中各时间段的资源运行特征;
对所述各租户在各时间段的资源运行特征进行向量化处理,得到特征数据集和标签集,其中,所述标签集中包括所述特征数据集中各特征数据对应的标签;
根据所述特征数据集和所述标签集,构建目标预测模型,以利用所述目标预测模型确定所述集群在目标时间段内的资源分配信息,并依据所述资源分配信息对所述集群的计算存储资源进行分配。
2.根据权利要求1所述的方法,其特征在于,根据所述特征数据集和所述标签集,构建目标预测模型,包括:
将所述特征数据集划分为第一特征数据集和第二特征数据集;
将所述标签集划分为第一标签集和第二标签集,其中,所述第一标签集中包括所述第一特征数据集中各特征数据对应的标签,所述第二标签集中包括所述第二特征数据集中各特征数据对应的标签;
基于所述第一特征数据集和所述第一标签集对预设模型进行训练,得到预测模型;
基于所述第二特征数据集和所述第二标签集对所述预测模型进行验证;
在验证结果满足预设条件的情况下,将所述预测模型作为目标预测模型。
3.根据权利要求2所述的方法,其特征在于,基于所述第一特征数据集和所述第一标签集对预设模型进行训练,得到预测模型,包括:
基于所述第一特征数据集和所述第一标签集,利用预设的多种算法中的各算法,对预设模型进行训练,得到训练后的多个模型。
4.根据权利要求1所述的方法,其特征在于,依据所述资源分配信息对所述集群的计算存储资源进行分配,包括:
根据所述资源分配信息更新资源分配规则表;
将所述资源分配规则表中的资源分配信息插入到资源调整等待队列中;
从所述资源调整等待队列中读取所述资源分配信息,并通过调用集群接口自动调整所述多个租户中各租户的资源。
5.根据权利要求4所述的方法,其特征在于,所述资源分配规则表中包括crontab表达式;
相应的,将所述资源分配规则表中的资源分配信息插入到资源调整等待队列中,包括:
通过所述crontab表达式定时将所述资源分配规则表中的资源分配信息插入到资源调整等待队列中。
6.根据权利要求1所述的方法,其特征在于,所述资源运行特征包括以下至少之一:资源百分比、资源内存量、资源vcore数量。
7.根据权利要求1所述的方法,其特征在于,在依据所述资源分配信息对所述集群的计算存储资源进行分配之后,还包括:
将所述集群分配信息存储至预设数据库中。
8.一种集群计算存储资源分配装置,其特征在于,包括:
获取模块,用于获取集群的多个租户中各租户的历史资源运行信息;
划分模块,用于对所述历史资源运行信息进行划分,得到所述各租户在多个时间段中各时间段的资源运行信息;
选择模块,用于基于所述各租户在所述各时间段的资源运行信息进行特征选择,得到所述各租户在所述多个时间段中各时间段的资源运行特征;
向量化模块,用于对所述各租户在各时间段的资源运行特征进行向量化处理,得到特征数据集和标签集,其中,所述标签集中包括所述特征数据集中各特征数据对应的标签;
构建模块,用于根据所述特征数据集和所述标签集,构建目标预测模型,以利用所述目标预测模型确定所述集群在目标时间段内的资源分配信息,并依据所述资源分配信息对所述集群的计算存储资源进行分配。
9.一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至7中任一项所述方法的步骤。
CN202110472426.7A 2021-04-29 2021-04-29 集群计算存储资源分配方法和装置 Pending CN113176944A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110472426.7A CN113176944A (zh) 2021-04-29 2021-04-29 集群计算存储资源分配方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110472426.7A CN113176944A (zh) 2021-04-29 2021-04-29 集群计算存储资源分配方法和装置

Publications (1)

Publication Number Publication Date
CN113176944A true CN113176944A (zh) 2021-07-27

Family

ID=76925324

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110472426.7A Pending CN113176944A (zh) 2021-04-29 2021-04-29 集群计算存储资源分配方法和装置

Country Status (1)

Country Link
CN (1) CN113176944A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114033224A (zh) * 2021-09-26 2022-02-11 烟台杰瑞石油服务集团股份有限公司 资源存取方法和装置
CN114090271A (zh) * 2022-01-24 2022-02-25 中诚华隆计算机技术有限公司 云计算资源分配方法、装置、计算设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114033224A (zh) * 2021-09-26 2022-02-11 烟台杰瑞石油服务集团股份有限公司 资源存取方法和装置
CN114033224B (zh) * 2021-09-26 2023-04-07 烟台杰瑞石油服务集团股份有限公司 资源存取方法和装置
CN114090271A (zh) * 2022-01-24 2022-02-25 中诚华隆计算机技术有限公司 云计算资源分配方法、装置、计算设备及存储介质

Similar Documents

Publication Publication Date Title
CN113064879B (zh) 数据库参数调整方法、装置及计算机可读存储介质
Rasooli et al. COSHH: A classification and optimization based scheduler for heterogeneous Hadoop systems
CN114721833B (zh) 一种基于平台业务类型的智能云端协调方法和装置
CN112416585B (zh) 面向深度学习的gpu资源管理与智能化调度方法
CN113176944A (zh) 集群计算存储资源分配方法和装置
CN109918184A (zh) 图片处理系统、方法及相关装置和设备
US20240111586A1 (en) Multi-policy intelligent scheduling method and apparatus oriented to heterogeneous computing power
CN114895773A (zh) 异构多核处理器的能耗优化方法、系统、装置及存储介质
CN113835874A (zh) 深度学习业务调度方法、系统、终端及存储介质
CN113011722A (zh) 系统资源数据分配方法和装置
US10757190B2 (en) Method, device and computer program product for scheduling multi-cloud system
CN114691953A (zh) 结合大数据的沉浸式交互偏好挖掘方法及系统
CN108595251B (zh) 动态图更新方法、装置、存储引擎接口和程序介质
CN112148471A (zh) 分布式计算系统中资源调度的方法和装置
CN112182031B (zh) 数据查询方法及装置、存储介质、电子装置
CN113608858A (zh) 一种基于MapReduce架构的数据同步用块任务执行系统
CN116089477B (zh) 分布式训练方法及系统
CN113191533A (zh) 仓库用工预测方法、装置、设备及存储介质
CN112181498A (zh) 并发控制方法、装置和设备
CN113032367A (zh) 面向动态负载场景的大数据系统跨层配置参数协同调优方法和系统
CN115375453A (zh) 系统资源分配方法及装置
CN114296965A (zh) 特征检索方法、装置、电子设备及计算机存储介质
CN113342518A (zh) 任务处理方法和装置
CN113391923B (zh) 系统资源数据分配方法和装置
CN113515383B (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