CN112559859B - 资源推荐方法、装置、电子设备及机器可读存储介质 - Google Patents
资源推荐方法、装置、电子设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN112559859B CN112559859B CN202011446780.4A CN202011446780A CN112559859B CN 112559859 B CN112559859 B CN 112559859B CN 202011446780 A CN202011446780 A CN 202011446780A CN 112559859 B CN112559859 B CN 112559859B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- task
- task operation
- constructed
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012417 linear regression Methods 0.000 claims description 47
- 238000004891 communication Methods 0.000 claims description 14
- 238000004088 simulation Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 238000013468 resource allocation Methods 0.000 abstract description 3
- 230000002068 genetic effect Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000010276 construction Methods 0.000 description 7
- 238000001914 filtration Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 108090000623 proteins and genes Proteins 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 210000000349 chromosome Anatomy 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- 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)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Primary Health Care (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种资源推荐方法、装置、电子设备及机器可读存储介质,该方法包括:获取任务提交信息;确定所述目标数据量是否处于预先构建的数据集的范围内;若所述目标数据量处于所述预先构建的数据集的范围内,依据期望最大运行时长、所述目标数据量以及所述预先构建的数据集进行资源推荐。该方法可以实现资源自动配置,提高资源推荐的合理性和资源配置的效率,优化资源利用率。
Description
技术领域
本申请涉及人工智能及大数据技术领域,尤其涉及一种资源推荐方法、装置、电子设备及机器可读存储介质。
背景技术
YARN(Yet Another Resource Negotiator,另一种资源协调者)是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。
YARN平台上的container(容器)能够使用的内存资源是由用户提交应用程序的时候设置的,而用户设置使用的内存资源要求客户具有较丰富的经验,且容易出现设置不合理的情况,若内存资源设置过高,容易抢占其他container的资源;若内存资源设置过低,可能会导致任务运行时长过长。
如何合理地配置YRAN系统中任务运行使用的资源值成为一个亟待解决的技术问题。
发明内容
有鉴于此,本申请提供一种资源推荐方法、装置、电子设备及机器可读存储介质。
根据本申请实施例的第一方面,提供一种资源推荐方法,包括:
获取任务提交信息,该任务提交信息包括期望最大运行时长以及需要运行的目标数据量;
确定目标数据量是否处于预先构建的数据集的范围内;其中,该预先构建的数据集包括多条任务运行数据,该任务运行数据包括数据量、资源值以及运行时长的对应关系;
若目标数据量处于预先构建的数据集的范围内,依据期望最大运行时长、目标数据量以及预先构建的数据集进行资源推荐。
根据本申请实施例的第二方面,提供一种资源推荐装置,包括:
获取单元,被配置为获取任务提交信息,该任务提交信息包括期望最大运行时长以及需要运行的目标数据量;
确定单元,被配置为确定目标数据量是否处于预先构建的数据集的范围内;其中,该预先构建的数据集包括多条任务运行数据,该任务运行数据包括数据量、资源值以及运行时长的对应关系;
资源推荐单元,被配置为若目标数据量处于预先构建的数据集的范围内,依据期望最大运行时长、目标数据量以及预先构建的数据集进行资源推荐。
根据本申请实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面的资源推荐方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,计算机程序被处理器执行时实现第一方面的资源推荐方法。
根据本申请实施例的第五方面,提供一种计算机程序,该计算机程序存储于机器可读存储介质,并且当处理器执行该计算机程序时,促使处理器执行第一方面的资源推荐方法。
本申请实施例的资源推荐方法,获取任务提交信息,确定任务提交信息中包括的目标数据量是否处于预先构建的数据集的范围内,若目标数据量处于预先构建的数据集的范围内,依据任务提交信息中包括的期望最大运行时长、目标数据量以及预先构建的数据集进行资源推荐,实现了资源自动配置,提高了资源推荐的合理性和资源配置的效率,优化了资源利用率。
附图说明
图1是本申请一示例性实施例示出的一种资源推荐方法的流程示意图;
图2是本申请一示例性实施例示出的一种依据期望最大运行时长、目标数据量以及预先构建的数据集进行资源推荐的流程示意图;
图3是本申请一示例性实施例示出的一种依据期望最大运行时长、目标数据量以及预先构建的数据集,利用预设资源推荐系统进行资源推荐的流程示意图;
图4是本申请一示例性实施例示出的一种预先构建的数据集的流程示意图;
图5是本申请一示例性实施例示出的一种资源推荐系统的架构示意图;
图6是本申请一示例性实施例示出的一种资源推荐的流程示意图;
图7是本申请一示例性实施例示出的一种分段线性回归模型和数据集的构建方法的流程示意;
图8是本申请一示例性实施例示出的一种遗传算法的实现流程图;
图9是本申请一示例性实施例示出的一种资源推荐装置的结构示意图;
图10是本申请一示例性实施例示出的另一种资源推荐装置的结构示意图;
图11是本申请一示例性实施例示出的一种电子设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
请参见图1,为本申请实施例提供的一种资源推荐方法的流程示意图,如图1所示,该资源推荐方法可以包括以下步骤:
需要说明的是,本申请实施例中各步骤的序号大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
步骤S100、获取任务提交信息,任务提交信息包括期望最大运行时长以及需要运行的目标数据量。
本申请实施例中,为了实现资源推荐,可以获取用户设置的期望最大时长(即期望的最大任务运行时长)以及需要运行的数据量(本文中称为目标数据量)等信息(本文中称为任务提交信息)。
示例性的,期望最大时长以及需要运行的目标数据量可以由用户在指定功能界面输入,如YARN系统的任务提交界面。
步骤S110、确定目标数据量是否处于预先构建的数据集的范围,其中,该预设构建的数据集包括多条任务运行数据,该任务运行数据包括数据量、资源值以及运行时长的对应关系。若是,则转至步骤S120;否则,转至步骤S130。
本申请实施例中,为了实现准确地资源推荐,提高资源配置效率,可以预先构建包括多条任务运行数据的数据集,该数据集中的任务运行数据可以包括数据量、资源值及运行时长的对应关系,即记录了不同数据量和资源值的情况下,任务的运行时长,以便后续流程中可以依据预先构建的数据集进行资源推荐。
在一个示例中,上述数据集中的任务运行数据可以包括YARN系统的真实任务运行数据。
在另一个示例中,上述数据集中的任务运行数据可以依据YARN系统的真实任务运行数据,模拟的任务运行数据。
在又一个示例中,上述数据集中的任务运行数据可以包括YARN系统的真实任务运行数据,以及依据YARN系统的真实任务运行数据,模拟的任务运行数据。
示例性的,上述资源值可以包括driver-memory(驱动器内存大小)、driver-cores(驱动器核数)、executor-memory(执行器内存大小)、executor-cores(执行器核数)、num-executors(执行器数量)等资源的值。
当获取到期望最大运行时长和目标数据量时,可以确定目标数据量是否处于预先构建的数据集的范围内,即确定是否能够依据预先构建的数据集得到合理的资源推荐值。
步骤S120、依据期望最大运行时长、所述目标数据量以及所述预先构建的数据集进行资源推荐。
本申请实施例中,当确定目标数据量处于预先构建的数据集的范围内,即能够依据预先构建的数据集得到合理的资源推荐值时,可以依据期望最大运行时长、目标数据量以及预先构建的数据集进行资源推荐,以便后续流程中可以依据目标数据量和资源推荐值提交任务。
需要说明的是,本申请实施例中,当确定目标数据量未处于预先构建的数据集的范围,即确定无法依据预先构建的数据集得到合理的资源推荐值时,可以采用传统资源推荐算法进行推荐,例如,可以采用遗传算法进行资源推荐,依据期望最大运行时长以及目标数量,采用遗传算法得到最优的资源值。
可见,在图1所示方法流程中,通过构建包括多条任务运行数据的数据集,当获取到任务提交信息时,若任务提交信息中包括的期望最大运行时长以及目标数据量在预先构建的数据集范围内,则依据该预先构建的数据集进行资源推荐,实现了资源自动配置,提高了资源推荐的合理性和资源配置的效率,优化了资源利用率。
作为一种可能的实施例,步骤S110中,确定目标数据量是否处于预先构建的数据集范围内,可以包括:
确定预先构建的数据集中各任务运行数据包括的最大数据量和最小数据量;
若目标数据量大于最大数据量,且与最大数据量的差值大于第一预设阈值,或,目标数据量小于最小数据量,且与最小数据量的差值大于第二预设阈值,则确定目标数据量未处于预设构建的数据集的范围内;
否则,确定目标数据量处于预先构建的数据集的范围内。
示例性的,对于预先构建的数据集,可以依据该数据集中各任务运行数据包括的数据量,确定该数据集中的最大数据量和最小数据量,并分别比较目标数量与该最大数据量和该最小数据量。
若目标数据量大于该最大数据量,且与该最大数据量的差值大于预设阈值(本文中称为第一预设阈值),或,目标数量小于该最小数量,且与该最小数量的差值大于预设阈值(本文中称为第二预设阈值),则确定目标数据量未处于预设构建的数据集的范围内。
若目标数据量小于等于该最大数据量,且大于等于该最小数据量,或者,目标数据量大于该最大数据量,但与该最大数据量的差值小于等于第一阈值,或者,目标数据量小于该最小数据量,但与该最小数据量的差值大于等于第二阈值,则确定目标数据量处于预设构建的数据集的范围内。
需要说明的是,在本申请实施例中,也可以在目标数据量大于预先构建的数据集中的最大数据量,或小于最小数量时,确定目标数据量未处于预先构建的数据集的范围内;否则,确定目标数据量处于预先构建的数据集的范围内。
作为一种可能的实施例,请参见图2,步骤S120中,依据期望最大运行时长、目标数据量以及预先构建的数据集进行资源推荐,可以通过以下步骤实现:
步骤S121、依据期望最大运行时长,以及目标数据量,确定预先构建的数据集中是否存在匹配的目标任务运行数据。若是,则转至步骤S122;否则,转至步骤S123。
步骤S122、依据目标任务运行数据进行资源推荐。
步骤S123、依据期望最大运行时长、目标数据量以及预先构建的数据集,利用预设资源推荐系统进行资源推荐。
示例性的,当确定目标数据量处于预先构建的数据集范围内时,可以查询预先构建的数据集中各任务运行数据,以确定是否存在匹配的任务运行数据(本文中称为目标任务运行数据),即是否存在包括的数据量与目标数据量相同或相近,且运行时长与期望的最大运行时长相同或相近的目标任务运行数据。
在一个示例中,目标任务运行数据包括预先构建的数据集中满足以下条件的任务运行数据:
包括的数据量与目标数据量的差值的绝对值小于等于第三阈值,且包括的运行时长小于等于期望最大运行时长。
示例性的,考虑到当任务需要运行的数据量相近时,依据相同的资源配置,任务运行时长通常也不会相差较大,因此,在进行资源推荐时,可以优先以包括的运行时长不超过期望最大运行时长,且包括的数据量与目标数量相近的任务运行数据中的资源值进行推荐。
相应地,当确定目标数据量处于预先构建的数据集范围内时,可以确定该数据集中是否存在包括的数据量与目标数据量的差值的绝对值小于等于第三阈值,且包括的运行时长小于等于期望最大运行时长的任务运行数据。
若存在,则可以将该满足条件的任务运行数据确定为匹配的目标任务运行数据。
若不存在,则确定不存在匹配的目标任务运行数据。
示例性的,当确定存在匹配的目标任务运行数据,则可以依据目标任务运行数据进行资源推荐。
在一个示例中,依据目标任务运行数据进行资源推荐,可以包括:
将目标任务运行数据中包括的运行时长最小的任务运行数据中的资源值确定为资源推荐值。
示例性的,在进行资源推荐时,可以按照预期的运行时长最小为原则进行资源推荐。
相应地,当确定存在匹配的目标任务运行数据时,可以将目标任务运行数据按照包括的运行时长进行排序,并将包括的运行时长最小的任务运行数据中的资源值确定为资源推荐值。
需要说明的是,当匹配的目标任务运行数据为1条时,可以将该目标任务运行数据中包括的资源值确定为资源推荐值。
此外,在本申请实施例中,也可以在预先构建的数据集中存在包括的数据量与目标数据量相同,且包括的运行时长小于等于期望最大运行时长的任务运行数据时,将该任务运行数据确定为匹配的目标任务运行数据;否则,确定不存在匹配的目标任务运行数据。
示例性的,当确定不存在匹配的目标任务运行数据时,可以确定该预先构建的数据集范围内的各任务运行数据中包括的资源值均不适于作为资源推荐值,此时,可以依据期望最大运行时长、目标数据量以及预先构建的数据集,利用预设资源推荐系统进行资源推荐。
在一个示例中,请参见图3,步骤S123中,依据期望最大运行时长、目标数据量以及预先构建的数据集,利用预设资源推荐系统进行资源推荐,可以通过以下步骤实现:
步骤S1221、确定期望最大运行时长和目标数据量归属的目标聚类簇,其中,该预先构建的数据集中的聚类簇是依据任务运行数据包括的运行时长和数据量进行聚类得到的;
步骤S1222、依据目标聚类簇中各任务运行数据与期望最大运行时长、目标数据量的相似度,按照相似度从高到低的顺序,将前k个任务运行数据确定为候选任务运行数据;
步骤S1223、依据k个候选任务运行数据,利用预设资源推荐系统进行资源推荐。
示例性的,当确定预先构建的数据集中不存在匹配的目标任务运行数据时,可以依据任务运行数据包括的运行时长和数据量,对预先构建的数据集进行聚类,以得到至少一个聚类簇,并确定期望最大运行时长和目标数据量归属的聚类簇(本文中称为目标聚类簇)。
对于目标聚类簇,可以依据目标聚类簇中各任务运行数据与期望最大运行时长、目标数据量的相似度,按照相似度从高到低的顺序,将前k(k为正整数)个任务运行数据确定为候选任务运行数据,并依据该k个候选任务运行数据,利用预设资源推荐系统进行资源推荐。
示例性的,对于任一任务运行数据,该任务运行数据与期望最大运行时长、目标数据量的相似度可以依据该任务运行数据中包括的运行时长和数据量,与期望最大运行时长和目标数据量之间的距离确定。
例如,假设期望最大运行时长为Tm,目标数据量为Nt,任务运行数据中包括的运行时长为T1,数据量为N1,则可以基于(Tm,Nt)与(T1,N1)之间的距离(如余弦距离、欧式距离等)确定该任务运行数据与期望最大运行时长和目标数据量之间的距离,进而,确定该任务运行数据与期望最大运行时长和目标数据量之间的相似度。其中,该距离与该相似度负相关。
在一个示例中,步骤S1221中,确定期望最大运行时长和目标数据量归属的目标聚类簇,可以包括:
确定该预先构建的数据集的至少一个聚类簇中是否存在期望最大运行时长和所述目标数据量归属的目标聚类簇;
若不存在,则按照预设步长,缩小任务运行数据包括的运行时长,并对运行时长缩小后的任务运行数据进行聚类,直至对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中存在期望最大运行时长和目标数据量归属的目标聚类簇,或,当缩小后的运行时长达到预设阈值,且运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中不存在所述期望最大运行时长和所述目标数据量归属的目标聚类簇时,将运行时长缩小后的所述数据集作为所述目标聚类簇。
示例性的,当依据任务运行数据包括的运行时长和数据量,对预先构建的数据集进行聚类,以得到至少一个聚类簇时,可以确定该至少一个聚类簇中是否存在期望最大运行时长和目标数据量归属的聚类簇(即目标聚类簇)。
若存在,则继续后续资源推荐流程。
示例性的,考虑到对于预先构建的数据集中的任务运行数据,该任务运行数据中包括的运行时长通常是该任务运行数据中包括的数据量和资源值对应的最大运行时长,即基于该任务运行数据中的数据量和资源值实际运行任务时,运行时长是小于该任务运行数据中的运行时长的,因此,在对原始任务运行数据进行聚类无法得到目标聚类簇的情况下,可以通过对任务运行数据中的运行时长进行缩小来重新聚类,以得到目标聚类簇,提高资源推荐的成功率。
此外,考虑到任务运行数据中的运行时长缩小得过小时,系统可能无法支持该任务运行数据,即对于一条任务运行数据,数据量和资源值与该任务运行数据中的数据量和资源值匹配的任务,在系统中实际运行的运行时长会大概率大于该任务运行数据中的运行时长(缩小后的运行时长),因此,可以预先设置对运行时长进行缩小的阈值,以保证资源推荐的合理性。
示例性的,当对预先构建的数据集进行聚类未得到目标聚类簇时,则可以按照预设步长,缩小各任务运行数据包括的运行时长,例如,每次缩小原运行时长的5%(即第一次缩小后的运行时长为原运行时长的95%、第二次缩小后的运行时长为原运行时长的90%、...、以此类推),并对运行时长缩小后的任务运行数据再次进行聚类,重复此操作,直至对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中存在期望最大运行时长和目标数据量归属的目标聚类簇;或者,当缩小后的任务运行时长达到预设阈值(可以根据实际场景设定,如原任务运行时长的80%),且对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中任不存在目标聚类簇时,可以将全部运行时长缩小后的任务运行数据(预先构建的数据集中各任务运行数据的任务运行时长缩小后得到的数据集)作为一个聚类簇,并将该聚类簇作为目标聚类簇。
需要说明的是,当确定目标聚类簇时进行了运行时长缩小,则此次推荐时,目标聚类簇中的任务运行数据中的运行时长采用缩小后的运行时长。
在一个示例中,上述预设资源推荐系统可以包括基于受限玻尔兹曼机的协同过滤系统。
示例性的,当确定了目标聚类簇时,可以利用基于受限玻尔兹曼机的协同过滤系统进行资源推荐,其具体实现可以在下文中结合具体实例进行说明。
需要说明的是,由于YARN系统的资源是有限的,因此,为了避免单个任务抢占其他任务的资源,对于单个任务可以设置资源上限。
例如,假设YARN系统的内存总量为1T,单个任务的内存占用上限为2%,即20G,则在得到资源推荐值之后,还需要依据得到的资源推荐值是否超过预设资源占用范围,若超过,则确定资源推荐值不合理,需要重新进行资源推荐。
作为一种可能的实施例,请参见图4,上述预先构建的数据集可以通过以下步骤构建:
步骤S400、获取第一数量的YARN系统运行过的真实任务运行数据;
步骤S410、依据第一数量的真实任务运行数据构建分段线性回归模型;
步骤S420、依据分段线性回归模型,构建第二数量的模拟任务运行数据;
步骤S430、依据第一数量的真实任务运行数据,以及第二数量的模拟任务运行数据,构建数据集。
示例性的,考虑到若均以YARN系统运行过的真实任务运行数据构建上述数据集,则需要获取大量的YARN系统运行过的真实任务运行数据,而实际场景中可能无法获取到足够的数据。
因而,为了在保证构建的数据集中有足够的任务运行数据,可以依据YARN系统运行过的真实任务运行数据构建任务运行模型,并依据该任务运行模型生成模拟任务运行数据,从而,依据获取到的真实任务运行数据,以及生成的模拟任务运行数据,构建上述数据集。
考虑到YARN系统的资源参数关系不是完全线性的模型,而是类似折线模型,因此,上述任务运行模型可以为分段线性回归模型。
相应地,为了实现数据集构建,可以获取一定数量(本文中称为第一数量)的YARN系统运行过的真实任务运行数据,并依据该第一数量的真实任务运行数据构建分段线性回归模型。
当得到分段线性回归模型时,可以依据该分段线性回归模型,构建一定数量(本文中称为第二数量)的模拟任务运行数据,进而,依据该第一数量的真实任务运行数据,以及第二数量的模拟任务运行数据,构建上述数据集。
在一个示例中,步骤S400中,依据第一数量的真实任务运行数据构建分段线性回归模型,可以包括:
确定各真实任务运行数据的马氏距离;
依据各真实任务运行数据之间的马氏距离,将马氏距离超过卡方分布阈值的真实任务运行数据确定为离群数据;
依据剔除离群数据后的真实任务运行数据构建分段线性回归模型。
示例性的,考虑到YARN系统运行的资源值偶尔会受数据倾斜、资源抢占的影响,会出现一些离群点,为了保证构建的分段线性回归模型的准确性,在依据YARN系统的真实任务运行数据构建分段线性回归模型时,需要对获取到的真实任务运行数据中的离群点进行剔除。
示例性的,对于获取到的真实任务运行数据,可以确定各真实任务运行数据的马氏距离,并依据各真实任务运行数据的马氏距离,将马氏距离超过卡方分布阈值的真实任务数据确定为离群数据,并将离群数据剔除,进而,依据剔除离群数据后的真实任务运行数据构建分段线性回归模型。
在一个示例中,步骤S420中,依据分段线性回归模型,构建第二数量的模拟任务运行数据,可以包括:
利用分段线性回归模型,对随机生成的资源值和数据量进行运行时长预测,以得到预测运行时长;
依据随机生成的资源值和数据量,以及预测运行时长,构建模拟任务运行数据。
示例性的,当完成分段线性回归模型构建时,可以通过随机生成资源值和数据量,并利用构建的分段线性回归模型对该随机生成的资源值和数据量进行运行时长预测的方式,得到该随机生成的资源值和数据量对应的预测运行时长,并依据该随机生成的资源值和数据量,以及预测运行时长,构建模拟任务运行数据。
作为一种可能的实施例,步骤S100中任务提交信息还可以包括:目标业务模型;
步骤S110中,确定目标数据量是否处于预先构建的数据集的范围内,可以包括:
从预先构建的数据集中确定与目标业务模型匹配的目标数据集;
确定目标数据量是否处于目标数据集的范围内;
其中,不同业务模型对应的分段线性回归模型,且不同业务模型对应不同数据集。
示例性的,考虑到不同业务场景下,YARN系统中数据量、资源值与运行时长的对应关系可能会存在较大区别,因此,为了提高资源推荐的准确性和合理性,在构建上述分段线性回归模型和数据集时,对于不同业务场景(不同业务场景对应不同业务模型),可以分别构建对应的分段线性回归模型和数据集。
相应地,用户在进行任务提交时,还可以选择待执行任务对应的业务模型,进而,可以依据该业务模型确定匹配的数据集(本文中称为目标数据集),并依据该目标数据集进行资源推荐。
为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体实例对本申请实施例提供的技术方案进行说明。
请参见图5,为本申请实施例提供的一种资源推荐系统的架构示意图,如图5所示,客户端模块是整个资源系统与YARN系统进行交互的模块,主要的功能是从YARN系统获取运行过的真实任务运行数据并且将预测的资源值通过提交任务的方式下发给YARN系统。
从YARN系统获取到真实任务运行资源时,可以将真实任务运行数据存储在RDBMS(Relational Database Management System,关系数据库管理系统),并触发分段线性回归模型建模,对不同数据量和资源值的任务的运行时长进行预测,构建任务运行数据集(即上述预先构建的数据集)。
由于YARN的资源特殊性,YARN系统的资源参数关系并不是完全线性的模型,而是类似折线模型,因此,需要采用分段线性回归来建模。
此外,由于YARN系统运行的资源值偶尔会受数据倾斜、资源抢占的影响,会出现一些离群点,在依据YARN系统的真实任务运行数据构建分段线性回归模型时,需要对这些离群点进行剔除。
对于无法直接依据构建的任务运行数据集进行资源推荐的任务,可以利用预设资源推荐系统(以基于受限玻尔兹曼机的协同过滤系统为例)进行资源推荐;若通过该推荐系统仍无法进行资源推荐,可以采用遗传算法进行资源推荐。
得到资源推荐值时,可以将该资源推荐值通过客户端模块下发至YARN系统,以使YARN系统依据该推荐资源值对用户提交的任务进行资源配置并运行。
下面结合附图,对资源推荐的具体流程进行说明。
请参见图6,为本申请实施例提供的一种资源推荐的流程示意图,如图6所示,该资源推荐流程可以包括:
1、获取输入的期望最大运行时长和需要运行的数据量(即目标数据量),以及所选择的业务模型(即目标业务模型)。
2、确定目标数据量是否在目标业务模型匹配的数据集(即目标数据集)范围内。
示例性的,数据集是数据量、资源值以及运行时长的对应关系,资源值可以包括driver-memory、driver-cores、executor-memory、executor-cores、num-executors等资源的值。
数据集中的最大数据量为数据集中各任务运行数据包括的数据量中的最大值,最小数据量为数据集中各任务运行数据包括的数据量中的最小值。
若目标数据量大于最大数据量,且与最大数据量的差值大于阈值(即上述第一预设阈值),或目标数据量小于最小数据量,且与最小数据量的差值小于阈值(即上述第二预设阈值),则确定目标数据量不在目标数据集范围内,无法依据目标数据集进行资源推荐;否则,确定目标数据量在目标数据集范围内。
3、若未处于目标数据集范围内,则表明依据目标数据集无法得到准确的资源推荐值,此时,可以进入遗传算法的处理流程,即采用遗传算法进行资源推荐。
4、若处于目标数据集范围内,则判断目标数据集中是否存在包括的数据量和目标数据量相差正负10%(即上述第三阈值为目标数据量*10%)以内,且包括的运行时长小于等于期望最大运行时长的任务运行数据(即目标任务运行数据)。
5、若存在目标任务运行数据,对目标任务运行数据按运行时间从小到大排序,取出运行时长最小的一条任务运行数据,将该任务运行数据中包括的资源值作为资源推荐值。
6、若不存在目标任务运行数据,则对目标数据集中各任务运行数据按照数据量和运行时长进行聚类。
7、判断期望最大运行时长和目标数据量是否归属于某一个聚类簇。若不归属于任一聚类簇,则将目标数据集中各任务运行数据的运行时长按照一定的步长缩小,并再次聚类,直至得到期望最大运行时长和目标数据量归属的聚类簇(即上述目标聚类簇),或,当缩小后的运行时长达到预设阈值,且对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中不存在期望最大运行时长和目标数据量归属的目标聚类簇时,将运行时长缩小后的数据集作为目标聚类簇。
示例性的,可以采用EM聚类方法对目标数据集中的任务运行数据进行聚类。EM聚类的主要逻辑:
E-step:对于每一个数据点,计算其属于其中每个聚类的概率作为权重。其中,若一个数据点很大可能属于一个聚类簇,就将对应的概率设置为接近1的值;对于可能属于2个或多个聚类簇的数据点,可以建立一个对聚类簇的概率分布。
M-step:利用上一步计算的权重来估计每个聚类簇的有关参数(如均值,方差);每一个数据点以E-step中的概率作权重,然后计算每一个聚类的均值和方差,进而求取聚簇的总体概率或极大似然。
通过E-step和M-step的不断交替来增加总的对数似然直到收敛。由于最大值也有可能陷入局部最优,因此,可能需要多次迭代。
8、计算目标聚类簇中各任务运行数据与期望最大运行时长和目标数据量的相似度,并按照相似度从高到低的顺序,选取前k个任务运行数据构建k数据集。
9、在k数据集中,采用推荐系统来确定资源推荐值。
示例性的,可以训练出一个最佳权重,来重构输入的概率分布,获得数据中以前不存在的数据点。
其中,RBM(Restricted Boltzmann Machine,受限玻尔兹曼机)能够通过已有样本训练出输入的近似概率,从而获得数据中以前不存在的输入数据。而资源推荐系统中,也是需要通过训练已有的样本(数据量、运行时长、driver_memory、executor_memory、executor_cores、num_executors),重构出输入的近似值样本。
当通过RBM重构出输入样本的概率分布后,再对重构的输入进行特征提取,将driver_memory、executor_memory、executor_cores、num_executors提取出来作为输出(即资源推荐值)。
10、将推荐资源值下发至YARN系统。
下面对推荐系统进行举例说明。
由第一步的分段线性回归与YARN系统运行过的真实任务运行数据构造样本集(即上述数据集)。
示例性的,数据量这个字段存在100万的值到1亿的值随机分段值,比如100万、120万、1000万、1100万等类似值。
假设期望最大运行时长、目标业务模型、目标数据量如下:
期望最大运行时长:600s;
目标业务模型:同行人业务模型
目标数据量:1200万
由于1200万在100万~1亿的数据范围内,即处于上述数据集范围内,因此,可以依据该数据集进行资源推荐。
判断数据集中是否存在包括的数据量与1200万相差±10%,且运行时长小于等于期望最大运行时长600s的任务运行数据(即目标任务运行数据)。
示例性的,假设数据集中不存在目标任务运行数据,于是采用基于受限玻尔兹曼机的协同过滤系统进行资源推荐。
此时,可以采用EM聚类法对数据集中各任务数据进行聚类(以运行时长和数据量为参数进行聚类)。
判断600s+1200万是否归属于某一个聚类簇;若否,则按照一定步长对数据集中各任务运行数据的运行时长进行缩小,并再次聚类,直至得到600s+1200万归属的聚类簇(即目标聚类簇)。
对目标聚类簇中各任务运行数据,按照运行时间、数据量的相似度,选取相似度最高的,且运行时长小于等于600s的10个值(即k=10)。
举例来说,对于如下3个值:
1000万、590s、20、40、4、7、9
1400万、500s、40、50、6、8、10
1350万、550s、30、40、5、9、10
该3个值与600s+1200万的相似度依次为90%、70%和75%,此时,可以选择相似度最高的任务运行数据中包括的资源值作为推荐资源值(即20、40、4、7、9)。
下面再分别对分段线性回归模型和数据集的构建、遗传算法的实现和基于受限玻尔兹曼机的协同过滤原理进行说明。
一、分段线性回归模型构建以及数据集构建
线性回归建模的主要用途在于针对于不同的数据量、不同的资源值,创建更多的样本数据,避免需要使用过多的真实任务运行数据去预测时长。
示例性的,影响YARN系统的任务运行时长的重要参数可以包括6个:driver-memory、driver-cores、executor-memory、executor-cores、num-executors、数据量。
由于YARN的资源特殊性,YARN系统的资源参数关系并不是完全线性的模型,而是类似折线模型,因此,需要采用分段线性回归来建模。
此外,由于YARN系统运行的资源值偶尔会受数据倾斜、资源抢占的影响,会出现一些离群点,在依据YARN系统的真实任务运行数据构建分段线性回归模型时,需要对这些离群点进行剔除。
请参见图7,为本申请实施例提供的一种分段线性回归模型和数据集的构建方法的流程示意,如图7所示,该构建方法可以包括:
1、随机生成一条包含driver-memory、driver-cores、executor-memory、executor-cores、num-executors、数据量这6个参数的数据;
2、查询是否存在对应的分段线性回归模型。若是,执行步骤3;否则,执行步骤6。
3、从数据库获取YARN系统运行过的真实任务运行数据。
4、确定各真实任务运行数据的马氏距离,并将马氏距离大于卡方分布阈值的任务运行数据作为离群点剔除。
5、依据剔除利群店后的任务运行数据构建分段线性回归模型。
示例性的,分段线性回归模型可以为:
6、依据分段线性回归模型进行运行时长预测,并依据随机生成的上述参数值,以及得到的预测运行时长构建一条模拟任务运行数据。
举例来说,1、获取的真实任务运行数据可以如表1所示(部分):
表1
2、随机生成一条包含数据量、driver-memory、driver-cores、executor-memory、executor-cores、num-executors这6个参数的数据:120万、3、4000、2、2048、4。
3、判断分段线性回归模型是否为空,为空的话首先做马氏聚类离群点判断。
行数 | 马氏距离 |
1 | "28"->"19.39486227907064" |
2 | "31"->"19.6261038218032" |
3 | "32"->"34.19762424200295" |
4 | "37"->"26.483218202191438" |
4、依据经验设置,检验水准规定为0.005,卡方分布的阈值为18.548,以上4条数据需要被作为离群点剔除。
5、对于剩余的数据进行分段线性回归建模。
6、依据步骤2中随机生成的参数,利用构建的分段线性回归模型进行运行时长预测。
示例性的,假设运行结果为438(s)。
则对应的模拟任务运行数据为:120万、3、4000、2、2048、4、438。
需要说明的是,可以依据数据集的任务运行数据的数量需求,重复上述步骤构建数据集。
二、遗传算法
请参见图8,为本申请实施例提供的一种遗传算法的实现流程图,如图8所示,遗传算法实现流程如下:
1、利用二进制编码对待求解的未知数编码。
示例性的,在数据量和期望运行时长确定的情况下,未知参数为driver-memory、driver-cores、executor-memory、executor-cores、num-executors的值,因此,可以对这5个未知的参数值进行编码。
2、初始化种群,设定种群大小为:100,在基因长度范围内给上述5个未知参数随机取值,该5个未知参数的基因拼接在一起形成一条染色体,总共形成100条染色体。
3、选择操作:采用轮盘赌的方式进行。
4、交叉操作:目的是为了提高个体的覆盖面积。
5、变异操作:目的是为了跳出局部搜索。
6、选择操作:和之前的选择操作一样。最终会从扩大后的种群中挑选最优的100个染色体形成新种群,进入下一步操作。
7、判断结果是否合理,不合理进行重新迭代,直到获取最佳的资源推荐值。
二、基于受限玻尔兹曼机的协同过滤原理
RBM的输入:训练样本
RBM的训练结果:连接权重矩阵W、可见层的偏置向量a、隐藏层的偏置向量b。
RBM的训练可以分成三部分:正向传播、反向传播和比较。在正向传播中,使用输入值来预测节点的激活值;在反向传播中,激活值成为输入,而输出的是对原始数据的重构值;然后对比重构值和原始数据的误差,RBM通过多次正向传播和反向传播,来调整权重矩阵W、可见层偏置a、隐藏层偏置b,以此来最小化重构输入与样本的误差。
示例性的,由于共有5个参数值(数据量、driver-memory、driver-cores、executor-memory、executor-cores、num-executors),因此,可以使用5个softmax单元来作为可见单元来构造RBM。对于每条数据使用不同的RBM,这些不同的RBM可见单元不同。
由于不同的数据对不同的参数有不同的值,因此这些RBM的可见单元可以共用相同的偏置以及和隐藏单元的连接权重W。
使用softmax来对5个参数值进行建模,softmax是一种组合可见单元,包含k个二元单元,第i个二元单元当且只当数据对该资源值预测(评估)为i时才会置为1。
示例性的,每条数据都会对5个参数值设置相应值。
算法如下:输入:数据量和运行时长(u,t),参数值i。
1、获取RBM的softmax单元的数据量和运行时长(u,t);
2、为每一层隐含层nh计算条件概率:
3、计算每一个单元u的条件概率:
4、获取预测值:
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:
请参见图9,为本申请实施例提供的一种资源推荐装置的结构示意图,如图9所示,该资源推荐装置可以包括:
获取单元910,被配置为获取任务提交信息,该任务提交信息包括期望最大运行时长以及需要运行的目标数据量;
确定单元920,被配置为确定目标数据量是否处于预先构建的数据集的范围内;其中,该预先构建的数据集包括多条任务运行数据,该任务运行数据包括数据量、资源值以及运行时长的对应关系;
资源推荐单元930,被配置为若目标数据量处于预先构建的数据集的范围内,依据期望最大运行时长、目标数据量以及预先构建的数据集进行资源推荐。
在一种可能的实施例中,确定单元920,具体被配置为确定预先构建的数据集中各任务运行数据包括的最大数据量和最小数据量;
若目标数据量大于最大数据量,且与最大数据量的差值大于第一预设阈值,或,目标数据量小于最小数据量,且与最小数据量的差值大于第二预设阈值,则确定目标数据量未处于预设构建的数据集的范围内;
否则,确定目标数据量处于预先构建的数据集的范围内。
在一种可能的实施例中,资源推荐单元930,具体被配置为依据期望最大运行时长,以及目标数据量,确定预先构建的数据集中是否存在匹配的目标任务运行数据;
若存在匹配的目标任务运行数据,则依据目标任务运行数据进行资源推荐;
若不存在匹配的目标任务运行数据,则依据期望最大运行时长、目标数据量以及预先构建的数据集,利用预设资源推荐系统进行资源推荐。
在一种可能的实施例中,目标任务运行数据包括预先构建的数据集中满足以下条件的任务运行数据:
包括的数据量与目标数据量的差值的绝对值小于等于第三阈值,且包括的运行时长小于等于期望最大运行时长。
在一种可能的实施例中,资源推荐单元930,具体被配置为将目标任务运行数据中包括的运行时长最小的任务运行数据中的资源值确定为资源推荐值。
在一种可能的实施例中,资源推荐单元930,具体被配置为确定期望最大运行时长和目标数据量归属的目标聚类簇;其中,所述预先构建的数据集中的聚类簇是依据任务运行数据包括的运行时长和数据量进行聚类得到的;
依据目标聚类簇中各任务运行数据与期望最大运行时长、目标数据量的相似度,按照相似度从高到低的顺序,将前k个任务运行数据确定为候选任务运行数据;
依据k个候选任务运行数据,利用预设资源推荐系统进行资源推荐。
在一种可能的实施例中,资源推荐单元930,具体被配置为确定该预先构建的数据集的至少一个聚类簇中是否存在期望最大运行时长和目标数据量归属的目标聚类簇;
若不存在,则按照预设步长,缩小任务运行数据包括的运行时长,并对运行时长缩小后的任务运行数据进行聚类,直至对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中存在期望最大运行时长和目标数据量归属的目标聚类簇,或,当缩小后的运行时长达到预设阈值,且对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中不存在期望最大运行时长和目标数据量归属的目标聚类簇时,将运行时长缩小后的数据集作为目标聚类簇。
在一种可能的实施例中,预设资源推荐系统包括基于受限玻尔兹曼机的协同过滤系统。
在一种可能的实施例中,如图10所示,资源推荐装置还可以包括:
构建单元940,被配置为通过以下方式构建上述预先构建的数据集:
获取第一数量的YARN系统运行过的真实任务运行数据;
依据第一数量的真实任务运行数据构建分段线性回归模型;
依据分段线性回归模型,构建第二数量的模拟任务运行数据;
依据第一数量的真实任务运行数据,以及第二数量的模拟任务运行数据,构建数据集。
在一种可能的实施例中,构建单元940,具体被配置为确定各真实任务运行数据的马氏距离;
依据各真实任务运行数据的马氏距离,将马氏距离超过卡方分布阈值的真实任务运行数据确定为离群数据;
依据剔除离群数据后的真实任务运行数据构建分段线性回归模型。
在一种可能的实施例中,构建单元940,具体被配置为利用分段线性回归模型,对随机生成的资源值和数据量进行运行时长预测,以得到预测运行时长;
依据随机生成的资源值和数据量,以及预测运行时长,构建模拟任务运行数据。
在一种可能的实施例中,任务提交信息还包括目标业务模型;
确定单元920,具体被配置为从预先构建的数据集中确定与目标业务模型匹配的目标数据集;
确定目标数据量是否处于目标数据集的范围内;
其中,不同业务模型对应不同的分段线性回归模型,且不同业务模型对应不同数据集。
请参见图11,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可以包括处理器1101、通信接口1102、存储器1103和通信总线1104。处理器1101、通信接口1102以及存储器1103通过通信总线1104完成相互间的通信。其中,存储器1103上存放有计算机程序;处理器1101可以通过执行存储器1103上所存放的程序,执行上文描述的资源推荐方法。
本文中提到的存储器1103可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器1102可以是:RAM(Radom AccessMemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
本申请实施例还提供了一种存储有计算机程序的机器可读存储介质,例如图11中的存储器1103,该计算机程序可由图11所示电子设备中的处理器1101执行以实现上文中描述的资源推荐方法。
本申请实施例还提供了一种计算机程序,存储于机器可读存储介质,例如图11中的存储器1103,并且当处理器执行该计算机程序时,促使处理器1101执行上文中描述的资源推荐方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种资源推荐方法,其特征在于,包括:
获取任务提交信息,所述任务提交信息包括期望最大运行时长以及需要运行的目标数据量;
确定所述目标数据量是否处于预先构建的数据集的范围内;其中,所述预先构建的数据集包括多条任务运行数据,所述任务运行数据包括数据量、资源值以及运行时长的对应关系;
若所述目标数据量处于所述预先构建的数据集的范围内,依据期望最大运行时长、所述目标数据量以及所述预先构建的数据集进行资源推荐;
其中,所述依据期望最大运行时长、所述目标数据量以及所述预先构建的数据集进行资源推荐,包括:
依据所述期望最大运行时长,以及所述目标数据量,确定所述预先构建的数据集中是否存在匹配的目标任务运行数据;
若不存在匹配的目标任务运行数据,确定所述期望最大运行时长和所述目标数据量归属的目标聚类簇;其中,所述预先构建的数据集中的聚类簇是依据任务运行数据包括的运行时长和数据量进行聚类得到的;
依据所述目标聚类簇中各任务运行数据与所述期望最大运行时长、所述目标数据量的相似度,按照相似度从高到低的顺序,将前k个任务运行数据确定为候选任务运行数据;
依据所述k个候选任务运行数据,利用预设资源推荐系统进行资源推荐;
其中,所述确定所述期望最大运行时长和所述目标数据量归属的目标聚类簇,包括:
确定所述预先构建的数据集的至少一个聚类簇中是否存在所述期望最大运行时长和所述目标数据量归属的目标聚类簇;
若不存在,则按照预设步长,缩小所述任务运行数据包括的运行时长,并对运行时长缩小后的任务运行数据进行聚类,直至对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中存在所述期望最大运行时长和所述目标数据量归属的目标聚类簇,或,当缩小后的运行时长达到预设阈值,且对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中不存在所述期望最大运行时长和所述目标数据量归属的目标聚类簇时,将运行时长缩小后的所述数据集作为所述目标聚类簇。
2.根据权利要求1所述的方法,其特征在于,所述依据期望最大运行时长、所述目标数据量以及所述预先构建的数据集进行资源推荐,还包括:
若存在匹配的目标任务运行数据,则依据所述目标任务运行数据进行资源推荐。
3.根据权利要求1或2所述的方法,其特征在于,所述预先构建的数据集通过以下方式构建:
获取第一数量的YARN系统运行过的真实任务运行数据;
依据所述第一数量的真实任务运行数据构建分段线性回归模型;
依据所述分段线性回归模型,构建第二数量的模拟任务运行数据;
依据所述第一数量的真实任务运行数据,以及所述第二数量的模拟任务运行数据,构建所述数据集。
4.根据权利要求1或2所述的方法,其特征在于,所述任务提交信息还包括目标业务模型;
所述确定所述目标数据量是否处于预先构建的数据集的范围内,包括:
从预先构建的数据集中确定与所述目标业务模型匹配的目标数据集;
确定所述目标数据量是否处于所述目标数据集的范围内;
其中,不同业务模型对应不同的分段线性回归模型,且不同业务模型对应不同数据集。
5.一种资源推荐装置,其特征在于,包括:
获取单元,被配置为获取任务提交信息,所述任务提交信息包括期望最大运行时长以及需要运行的目标数据量;
确定单元,被配置为确定所述目标数据量是否处于预先构建的数据集的范围内;其中,所述预先构建的数据集包括多条任务运行数据,所述任务运行数据包括数据量、资源值以及运行时长的对应关系;
资源推荐单元,被配置为若所述目标数据量处于所述预先构建的数据集的范围内,依据期望最大运行时长、所述目标数据量以及所述预先构建的数据集进行资源推荐;
所述资源推荐单元,具体被配置为依据所述期望最大运行时长,以及所述目标数据量,确定所述预先构建的数据集中是否存在匹配的目标任务运行数据;若不存在匹配的目标任务运行数据,确定所述期望最大运行时长和所述目标数据量归属的目标聚类簇;其中,所述预先构建的数据集中的聚类簇是依据任务运行数据包括的运行时长和数据量进行聚类得到的;依据所述目标聚类簇中各任务运行数据与所述期望最大运行时长、所述目标数据量的相似度,按照相似度从高到低的顺序,将前k个任务运行数据确定为候选任务运行数据;依据所述k个候选任务运行数据,利用预设资源推荐系统进行资源推荐;
其中,所述资源推荐单元,具体被配置为确定所述预先构建的数据集的至少一个聚类簇中是否存在所述期望最大运行时长和所述目标数据量归属的目标聚类簇;
若不存在,则按照预设步长,缩小所述任务运行数据包括的运行时长,并对运行时长缩小后的任务运行数据进行聚类,直至对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中存在所述期望最大运行时长和所述目标数据量归属的目标聚类簇,或,当缩小后的运行时长达到预设阈值,且对运行时长缩小后的任务运行数据进行聚类得到的至少一个聚类簇中不存在所述期望最大运行时长和所述目标数据量归属的目标聚类簇时,将运行时长缩小后的所述数据集作为所述目标聚类簇。
6.根据权利要求5所述的装置,其特征在于,
所述资源推荐单元,还具体被配置为若存在匹配的目标任务运行数据,则依据所述目标任务运行数据进行资源推荐;
和/或,所述装置还包括:
构建单元,被配置为获取第一数量的YARN系统运行过的真实任务运行数据;依据所述第一数量的真实任务运行数据构建分段线性回归模型;依据所述分段线性回归模型,构建第二数量的模拟任务运行数据;依据所述第一数量的真实任务运行数据,以及所述第二数量的模拟任务运行数据,构建所述数据集;
和/或,
所述任务提交信息还包括目标业务模型;
所述确定单元,具体被配置为从预先构建的数据集中确定与所述目标业务模型匹配的目标数据集;确定所述目标数据量是否处于所述目标数据集的范围内;
其中,不同业务模型对应不同的分段线性回归模型,且不同业务模型对应不同数据集。
7.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-4任一项所述的方法。
8.一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446780.4A CN112559859B (zh) | 2020-12-08 | 2020-12-08 | 资源推荐方法、装置、电子设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011446780.4A CN112559859B (zh) | 2020-12-08 | 2020-12-08 | 资源推荐方法、装置、电子设备及机器可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112559859A CN112559859A (zh) | 2021-03-26 |
CN112559859B true CN112559859B (zh) | 2023-06-30 |
Family
ID=75061438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011446780.4A Active CN112559859B (zh) | 2020-12-08 | 2020-12-08 | 资源推荐方法、装置、电子设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559859B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659416A (zh) * | 2019-09-09 | 2020-01-07 | 秒针信息技术有限公司 | 一种浏览资源的推荐方法、推荐装置及可读存储介质 |
WO2020048084A1 (zh) * | 2018-09-07 | 2020-03-12 | 平安科技(深圳)有限公司 | 资源推荐方法、装置、计算机设备及计算机可读存储介质 |
CN111625713A (zh) * | 2020-04-30 | 2020-09-04 | 平安国际智慧城市科技股份有限公司 | 基于大数据的资源推荐方法、装置、电子设备及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598311A (zh) * | 2015-01-26 | 2015-05-06 | 上海卓悠网络科技有限公司 | 一种面向Hadoop的实时作业公平调度的方法和装置 |
CN107491474A (zh) * | 2017-06-26 | 2017-12-19 | 北京三快在线科技有限公司 | 信息推荐方法和装置 |
CN109815368A (zh) * | 2018-12-10 | 2019-05-28 | 百度在线网络技术(北京)有限公司 | 资源推荐方法、装置、设备及计算机可读存储介质 |
CN110297701B (zh) * | 2019-05-16 | 2023-08-01 | 平安科技(深圳)有限公司 | 数据处理作业调度方法、装置、计算机设备及存储介质 |
CN111290917A (zh) * | 2020-02-26 | 2020-06-16 | 深圳市云智融科技有限公司 | 基于yarn的资源监控方法、装置及终端设备 |
-
2020
- 2020-12-08 CN CN202011446780.4A patent/CN112559859B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020048084A1 (zh) * | 2018-09-07 | 2020-03-12 | 平安科技(深圳)有限公司 | 资源推荐方法、装置、计算机设备及计算机可读存储介质 |
CN110659416A (zh) * | 2019-09-09 | 2020-01-07 | 秒针信息技术有限公司 | 一种浏览资源的推荐方法、推荐装置及可读存储介质 |
CN111625713A (zh) * | 2020-04-30 | 2020-09-04 | 平安国际智慧城市科技股份有限公司 | 基于大数据的资源推荐方法、装置、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112559859A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110728317A (zh) | 决策树模型的训练方法、系统、存储介质及预测方法 | |
CN112765477B (zh) | 信息处理、信息推荐的方法和装置、电子设备和存储介质 | |
US11580119B2 (en) | System and method for automatic persona generation using small text components | |
Dhaenens et al. | Metaheuristics for big data | |
JP6779231B2 (ja) | データ処理方法及びシステム | |
CN107622326B (zh) | 用户分类、可用资源预测方法、装置及设备 | |
WO2020168851A1 (zh) | 行为识别 | |
CN111176578B (zh) | 一种对象聚合方法、装置、设备及可读存储介质 | |
WO2015180340A1 (zh) | 一种数据挖掘方法及装置 | |
CN111967971A (zh) | 银行客户数据处理方法及装置 | |
CN113190670A (zh) | 一种基于大数据平台的信息展示方法及系统 | |
CN111522968A (zh) | 知识图谱融合方法及装置 | |
CN116501711A (zh) | 一种基于“存算分离”架构的算力网络任务调度方法 | |
CN108549696B (zh) | 一种基于内存计算的时间序列数据相似性查询方法 | |
CN115293919A (zh) | 面向社交网络分布外泛化的图神经网络预测方法及系统 | |
CN112836794B (zh) | 一种图像神经架构的确定方法、装置、设备及存储介质 | |
He | Evolutionary K-Means with pair-wise constraints | |
CN113656699A (zh) | 用户特征向量确定方法、相关设备及介质 | |
CN110175172B (zh) | 基于稀疏二分图的极大二分团并行枚举方法 | |
CN112559859B (zh) | 资源推荐方法、装置、电子设备及机器可读存储介质 | |
US11782918B2 (en) | Selecting access flow path in complex queries | |
Achimugu et al. | A hybridized approach for prioritizing software requirements based on K-means and evolutionary algorithms | |
US11836176B2 (en) | System and method for automatic profile segmentation using small text variations | |
CN116611506B (zh) | 用户分析模型训练方法、用户标签确定方法和装置 | |
CN113869380B (zh) | 基于Kmeans聚类的数据分类方法、装置及电子设备 |
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 |