CN104391749B - 一种资源分配方法及装置 - Google Patents
一种资源分配方法及装置 Download PDFInfo
- Publication number
- CN104391749B CN104391749B CN201410691187.4A CN201410691187A CN104391749B CN 104391749 B CN104391749 B CN 104391749B CN 201410691187 A CN201410691187 A CN 201410691187A CN 104391749 B CN104391749 B CN 104391749B
- Authority
- CN
- China
- Prior art keywords
- resource
- job
- hardware
- hardware resource
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明实施例公开了一种资源分配方法及装置。一种资源分配方法,应用于分布式计算系统,所述方法包括:接收待处理的第一作业;提取所述第一作业的特征信息;根据所述特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业,其中,所述历史作业记录库中包括:历史作业的特征信息,该历史作业运行过程中占用的硬件资源的资源量;根据所述目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源。应用上述技术方案,本发明实施例能够根据作业的特征信息,灵活地为该作业分配硬件资源,一方面保证了作业的正常运行,另一方面提高了分布式计算系统的资源利用率。
Description
技术领域
本发明涉及分布式计算技术领域,特别涉及一种资源分配方法及装置。
背景技术
分布式计算系统是一种基于互联网的包含多台机器的计算机系统,它能够将一项作业分配给多台机器进行处理,解决了由互联网业务量的快速提高,用户访问量及数据流量的快速增长所带来单一机器数据处理瓶颈的问题。在分布式计算系统为互联网行业带来巨大便利的同时,如何能够高效地为该系统中的作业调度计算资源已成为分布式计算领域亟待解决的问题。
现有技术中,主要是通过为作业统一分配固定硬件资源的手段,来实现资源的调度。具体的,每项作业分配到的硬件资源量均相同,且该硬件资源量为一个固定的资源量。
然而,不同的作业需要消耗的硬件资源量不同,对于资源消耗量小的作业,可能会造成硬件资源的浪费,对于资源消耗量大的作业,可能会由于硬件资源不足,导致作业不能正常执行。
发明内容
为了解决上述问题,本发明实施例公开了一种资源分配方法及装置,具体技术方案如下:
一种资源分配方法,应用于分布式计算系统,所述方法包括:
接收待处理的第一作业;
提取所述第一作业的特征信息;
根据所述特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业,其中,所述历史作业记录库中包括:历史作业的特征信息,该历史作业运行过程中占用的硬件资源的资源量;
根据所述目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源。
可选的,所述预先建立的历史作业记录库中还包括:历史作业运行过程中占用的硬件资源的资源使用率;
在根据所述特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业之后,还包括:
获取目标历史作业运行过程中占用的硬件资源的资源使用率;
判断所述目标历史作业运行过程中占用的硬件资源中,每一类硬件资源的资源使用率值是否均小于预设的、该类型硬件资源使用率阈值;
如果是,执行所述根据所述目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源的步骤;
否则,针对所述目标历史作业占用的硬件资源中,存在瓶颈的硬件资源,使用预设的硬件资源计算方案,计算出:所述第一作业运行过程中需要的硬件资源的资源量,所述存在瓶颈的硬件资源为:资源量不小于所述预设的、硬件资源使用率阈值的硬件资源;
根据所述计算结果,为所述第一作业分配硬件资源。
可选的,所述根据计算结果,为所述第一作业分配硬件资源,包括:
检测分布式计算系统可用的硬件资源中每一类硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;
如果是,为所述第一作业分配:资源量为所述计算结果的硬件资源。
可选的,所述硬件资源包括以下类型资源中的至少一种:内存、磁盘、网络I/O带宽、CPU。
可选的,所述预设的硬件资源计算方案,包括:
第一作业运行所需的内存的计算公式为:(1+a%)*被该目标历史作业占用的内存量,其中,存在瓶颈的硬件资源为内存时,a>0;存在瓶颈的硬件资源不为内存时,a=0;
第一作业运行所需的磁盘的计算公式为:(1+b%)*被该目标历史作业占用的磁盘量,其中,存在瓶颈的硬件资源为磁盘时,b>0;存在瓶颈的硬件资源不为磁盘时,b=0;
第一作业运行所需的网络I/O带宽的计算公式为:(1+c%)*被该目标历史作业占用的网络I/O带宽量,其中,存在瓶颈的硬件资源为网络I/O带宽时,c>0;存在瓶颈的硬件资源不为网络I/O带宽时,c=0;
第一作业运行所需的CPU的计算公式为:(1+d%)*被该目标历史作业占用的CPU量,其中,存在瓶颈的硬件资源为CPU时,d>0;存在瓶颈的硬件资源不为CPU时,d=0。
可选的,所述特征信息包括以下信息中的至少一种:
作业名称、作业类型、作业提交者、输入数据的类型和大小、输出数据的类型、作业的配置参数。
一种资源分配装置,应用于分布式计算系统,所述装置包括:
作业接收模块,用于接收待处理的第一作业;
特征信息提取模块,用于提取所述作业接收模块接收到的第一作业的特征信息;
作业查询模块,用于根据所述特征信息提取模块提取到的特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业,其中,所述历史作业记录库中包括:历史作业的特征信息,该历史作业运行过程中占用的硬件资源的资源量;
第一硬件资源分配模块,用于根据所述作业查询模块查询到的目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源。
可选的,所述预先建立的历史作业记录库中还包括:历史作业运行过程中占用的硬件资源的资源使用率;
所述装置还包括:
资源使用率获取模块,用于获取所述作业查询模块查询到的目标历史作业运行过程中占用的硬件资源的资源使用率;
判断模块,用于判断所述目标历史作业运行过程中占用的硬件资源中,每一类硬件资源的资源使用率值是否均小于预设的、该类型硬件资源使用率阈值;在判断结果为是的情况下,触发所述第一硬件资源分配模块执行根据所述目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源的操作;在判断结果为否的情况下,触发资源量计算模块;
所述资源量计算模块,用于针对所述目标历史作业占用的硬件资源中,存在瓶颈的硬件资源,使用预设的硬件资源计算方案,计算出:所述第一作业运行过程中需要的硬件资源的资源量,所述存在瓶颈的硬件资源为:资源量不小于所述预设的、硬件资源使用率阈值的硬件资源;
第二硬件资源分配模块,用于根据所述资源量计算模块的计算结果,为所述第一作业分配硬件资源。
可选的,所述第二硬件资源分配模块,包括:
检测子模块,用于检测分布式计算系统可用的硬件资源中每一类硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;并在检测结果为是的情况下,触发第一硬件资源分配子模块;
所述第一硬件资源分配子模块,用于为所述第一作业分配:资源量为所述计算结果的硬件资源。
可选的,所述硬件资源包括以下类型资源中的至少一种:内存、磁盘、网络I/O带宽、CPU。
可选的,所述预设的硬件资源计算方案,包括:
第一作业运行所需的内存的计算公式为:(1+a%)*被该目标历史作业占用的内存量,其中,存在瓶颈的硬件资源为内存时,a>0;存在瓶颈的硬件资源不为内存时,a=0;
第一作业运行所需的磁盘的计算公式为:(1+b%)*被该目标历史作业占用的磁盘量,其中,存在瓶颈的硬件资源为磁盘时,b>0;存在瓶颈的硬件资源不为磁盘时,b=0;
第一作业运行所需的网络I/O带宽的计算公式为:(1+c%)*被该目标历史作业占用的网络I/O带宽量,其中,存在瓶颈的硬件资源为网络I/O带宽时,c>0;存在瓶颈的硬件资源不为网络I/O带宽时,c=0;
第一作业运行所需的CPU的计算公式为:(1+d%)*被该目标历史作业占用的CPU量,其中,存在瓶颈的硬件资源为CPU时,d>0;存在瓶颈的硬件资源不为CPU时,d=0。
可选的,所述特征信息包括以下信息中的至少一种:
作业名称、作业类型、作业提交者、输入数据的类型和大小、输出数据的类型、作业的配置参数。
应用上述技术方案,本发明实施例提供的资源分配方法和装置,可以提取第一作业的特征信息,并根据提取到的特征信息,从预先建立的历史作业记录库中,查询与其相匹配的目标历史作业,进而根据所述目标历史作业运行过程中占用的硬件资源的资源总量,为所述第一作业分配硬件资源。
与现有技术相比,本发明实施例能够根据作业的特征信息,灵活地为该作业分配硬件资源,一方面保证了作业的正常运行,另一方面提高了分布式计算系统的资源利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种资源分配方法的流程示意图;
图2为本发明实施例提供的另一种资源分配方法的流程示意图;
图3为本发明实施例提供的一种资源分配装置的结构示意图;
图4为本发明实施例提供的另一种资源分配装置的结构示意图;
图5为本发明实施例提供的第二硬件资源分配模块308的一种结构示意图。
具体实施方式
为了使本领域技术人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着互联网业务量的提高,单一的服务器设备已无法满足作业处理需求,这就需要采用一定的策略将需要处理的作业分配到多个设备进行处理。现有的资源分配方法,是通过为作业统一分配固定硬件资源的手段,来实现资源的调度。具体的,每项作业分配到的硬件资源量均相同,且该硬件资源量为一个固定的资源量。然而,由于不同的作业需要消耗的硬件资源量不同,因此,对于资源消耗量小的作业,可能会造成硬件资源的浪费,对于资源消耗量大的作业,可能会由于硬件资源不足,导致作业不能正常执行。为了解决上述问题,本发明实施例提供了一种资源分配方法及装置。
首先对本发明实施例提供的一种资源分配方法进行介绍。
如图1所示,本发明实施例提供的一种资源分配方法,应用于分布式计算系统,所述方法可以包括:
S101,接收待处理的第一作业。
S102,提取所述第一作业的特征信息。
在实际应用中,本发明实施例中的特征信息,可以包括以下信息中的至少一种:
作业名称、作业类型、作业提交者、输入数据的类型和大小、输出数据的类型、作业的配置参数。
S103,根据所述特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业。
需要说明的是,所述历史作业记录库为对分布式计算系统曾经处理过的作业进行统计、分析得到的、包含历史作业的特征信息和该历史作业运行过程中占用的硬件资源的资源量的数据库。
在本发明实施例中,在提取到第一作业的特征信息后,可以依据提取到的特征信息,查找预先建立的历史作业记录库,比如,第一作业的特征信息包括:作业类型为视频转码、输入数据类型为标清码流,大小为80K,输出数据类型为高清码流;由于预先建立的历史作业记录库中包含作业的特征信息,因此,在查找预先建立的历史作业记录库的过程中,如果发现该历史作业记录库中存在:作业类型为视频转码、输入数据类型为标清码流,大小为80K左右,输出数据类型为高清码流的作业,则将该作业确认为与第一作业相匹配的目标历史作业。
进一步的,由于历史作业记录库中包含目标历史作业运行过程中占用的硬件资源的资源量,因此,可以获取该目标历史作业运行过程中占有的硬件资源的资源量。
可选的,本发明实施例中的硬件资源,可以包括以下类型资源中的至少一种:内存、磁盘、网络I/O带宽、CPU。
S104,根据所述目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源。
在大规模分布式计算系统中,如Hadoop集群中,当一项作业进入系统时,该系统需要为作业分配硬件资源,分配的资源量过高,会导致系统资源的浪费;分配的资源量过低,会导致作业的完成效率较低。
由于S101中的第一作业与S103中确定的目标历史作业,在两者的特征信息一定程度上比较相似,因此,一般情况下,两者运行过程中占用的硬件资源的资源量会比较接近。
本发明实施例就可以以所述目标历史作业运行过程中占用的硬件资源的资源量为参考依据,来为所述第一作业分配硬件资源。
具体的,可以为所述第一作业分配:资源量为目标历史作业运行过程中占用的硬件资源量的硬件资源;比如,目标历史作业运行过程中占用的硬件资源分别为:内存、磁盘、CPU,对应于的资源量大小分别为A、B、C;此时,可以为第一作业分配:资源量为A的内存、资源量为B的磁盘、资源量为C的CPU。
由此可见,本发明实施例提供的资源分配方法,可以提取第一作业的特征信息,并根据提取到的特征信息,从预先建立的历史作业记录库中,查询与其相匹配的目标历史作业,进而根据所述目标历史作业运行过程中占用的硬件资源的资源总量,为所述第一作业分配硬件资源。
与现有技术相比,本发明实施例能够根据作业的特征信息,灵活地为该作业分配硬件资源,一方面保证了作业的正常运行,另一方面提高了分布式计算系统的资源利用率。
在本发明的另一个实施例中,如图2所示,所述预先建立的历史作业记录库中还包括:历史作业运行过程中占用的硬件资源的资源使用率,在上述S103之后,还可以包括:
S105,获取目标历史作业运行过程中占用的硬件资源的资源使用率。
比如目标历史作业运行过程中占用的硬件资源包括:内存、磁盘、CPU和网络I/O带宽;
此时,在本发明实施例中,可以获取目标历史作业运行过程中的内存使用率、磁盘使用率、CPU使用率和网络I/O带宽使用率。
S106,判断所述目标历史作业运行过程中占用的硬件资源中,每一类硬件资源的资源使用率值是否均小于预设的、该类型硬件资源使用率阈值。如果是,执行S104;否则执行S107。
在获取目标历史作业运行过程中的内存使用率、磁盘使用率、CPU使用率和网络I/O带宽使用率后,进一步判断获取到的内存使用率值、磁盘使用率值、CPU使用率值、网络I/O带宽使用率值,是否小于预设的内存使用率阈值、磁盘使用率阈值、CPU使用率阈值、网络I/O带宽使用率阈值。
S107,针对所述目标历史作业占用的硬件资源中,存在瓶颈的硬件资源,使用预设的硬件资源计算方案,计算出:所述第一作业运行过程中需要的硬件资源的资源量;所述存在瓶颈的硬件资源为:资源量不小于所述预设的、硬件资源使用率阈值的硬件资源。
如果获取到的内存使用率值大于或等于预设的内存使用率阈值,则存在瓶颈的硬件资源为内存;
如果获取到的磁盘使用率值大于或等于预设的磁盘使用率阈值,则存在瓶颈的硬件资源为磁盘;
如果获取到的CPU使用率值大于或等于预设的CPU使用率阈值,则存在瓶颈的硬件资源为CPU;
如果获取到的网络I/O带宽使用率值大于或等于预设的网络I/O带宽使用率阈值,则存在瓶颈的硬件资源为网络I/O带宽。
在确定出存在瓶颈的硬件资源的资源类型后,可以使用预设的硬件资源计算方案,计算出:所述第一作业运行过程中需要的硬件资源的资源量;
具体的,本发明实施例中的预设的硬件资源计算方案,可以包括:
第一作业运行所需的内存的计算公式为:(1+a%)*被该目标历史作业占用的内存量,其中,存在瓶颈的硬件资源为内存时,a>0;存在瓶颈的硬件资源不为内存时,a=0;
第一作业运行所需的磁盘的计算公式为:(1+b%)*被该目标历史作业占用的磁盘量,其中,存在瓶颈的硬件资源为磁盘时,b>0;存在瓶颈的硬件资源不为磁盘时,b=0;
第一作业运行所需的网络I/O带宽的计算公式为:(1+c%)*被该目标历史作业占用的网络I/O带宽量,其中,存在瓶颈的硬件资源为网络I/O带宽时,c>0;存在瓶颈的硬件资源不为网络I/O带宽时,c=0;
第一作业运行所需的CPU的计算公式为:(1+d%)*被该目标历史作业占用的CPU量,其中,存在瓶颈的硬件资源为CPU时,d>0;存在瓶颈的硬件资源不为CPU时,d=0。
需要说明的是,可以根据实际情况,对本发明实施例中的a、b、c、d进行取值;比如,分布式计算系统可用硬件资源较多的情况下,可以适当提高a、b、c、d的取值,本发明实施例对此不作限定。
S108,根据所述计算结果,为所述第一作业分配硬件资源。
可选的,在本发明的一个实施例中,上述S108,可以包括:
检测分布式计算系统可用的硬件资源中每一类硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;
可选的,可以根据预设的时间周期,周期性地检测分布式计算系统可用的硬件资源中每一类硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;
或根据触发指令,来检测分布式计算系统可用的硬件资源中每一类硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;本发明实施例对此不作限定。
如果是,为所述第一作业分配:资源量为所述计算结果的硬件资源。
在检测到分布式计算系统可用的硬件资源中每一类硬件资源的资源量均不小于所述计算结果中的该类型的硬件资源的资源量的时,为所述第一作业分配:资源量为所述计算结果的硬件资源。
可选的,在本发明的另一个实施例中,所述预先建立的历史作业记录库中还记录有:所述分布式计算系统的硬件资源使用率分布趋势,其中,所述硬件资源使用率分布趋势为所述分布式计算系统对历史各时段的硬件资源使用量进行分析、统计,得到的硬件资源使用率随时间变化的趋势。
上述S108,可以包括:
依据硬件资源使用率趋势,选择满足所述第一作业运行过程中需要的硬件资源的资源量需求的时间点,并在该时间点为所述第一作业分配硬件资源。
进一步的,所述在该时间点为所述第一作业分配硬件资源,可以包括:
在所述分布式计算系统在该时间点可用的硬件资源的资源量达到预设的上限值的情况下,为所述第一作业分配:资源量大于所述计算结果的硬件资源。比如分布式计算系统当前可用的硬件资源较多,此时可以为第一作业分配:资源量为第一作业所需的资源量的1-2倍的硬件资源。
或
仅为所述第一作业分配:资源量为所述计算结果的硬件资源。
相应于上面的方法实施例,本发明实施例还提供了一种资源分配装置。
如图3所示,本发明实施例提供的一种资源分配装置,应用于分布式存储系统,所述装置可以包括:
作业接收模块301,用于接收待处理的第一作业;
特征信息提取模块302,用于提取所述作业接收模块301接收到的第一作业的特征信息;
作业查询模块303,用于根据所述特征信息提取模块302提取到的特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业,其中,所述历史作业记录库中包括:历史作业的特征信息,该历史作业运行过程中占用的硬件资源的资源量;
第一硬件资源分配模块304,用于根据所述作业查询模块303查询到的目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源。
由此可见,本发明实施例提供的资源分配装置,可以提取第一作业的特征信息,并根据提取到的特征信息,从预先建立的历史作业记录库中,查询与其相匹配的目标历史作业,进而根据所述目标历史作业运行过程中占用的硬件资源的资源总量,为所述第一作业分配硬件资源。
与现有技术相比,本发明实施例能够根据作业的特征信息,灵活地为该作业分配硬件资源,一方面保证了作业的正常运行,另一方面提高了分布式计算系统的资源利用率。
可选的,在本发明的另一个实施例中,所述预先建立的历史作业记录库中还包括:历史作业运行过程中占用的硬件资源的资源使用率;如图4所示,所述装置还可以包括:
资源使用率获取模块305,用于获取所述作业查询模块303查询到的目标历史作业运行过程中占用的硬件资源的资源使用率;
判断模块306,用于判断所述目标历史作业运行过程中占用的硬件资源中,每一类硬件资源的资源使用率值是否均小于预设的、该类型硬件资源使用率阈值;在判断结果为是的情况下,触发所述第一硬件资源分配模块304执行根据所述目标历史作业运行过程中占用的硬件资源的资源量,为所述第一作业分配硬件资源的操作;在判断结果为否的情况下,触发资源量计算模块307;
所述资源量计算模块307,用于针对所述目标历史作业占用的硬件资源中,存在瓶颈的硬件资源,使用预设的硬件资源计算方案,计算出:所述第一作业运行过程中需要的硬件资源的资源量,所述存在瓶颈的硬件资源为:资源量不小于所述预设的、硬件资源使用率阈值的硬件资源;
第二硬件资源分配模块308,用于根据所述资源量计算模块307的计算结果,为所述第一作业分配硬件资源。
可选的,在本发明的一个实施例中,如图5所示,所述第二硬件资源分配模块308,可以包括:
检测子模块308a,用于检测分布式计算系统可用的硬件资源中每一类硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;并在检测结果为是的情况下,触发第一硬件资源分配子模块308b;
所述第一硬件资源分配子模块308b,用于为所述第一作业分配:资源量为所述计算结果的硬件资源。
可选的,在本发明的一个实施例中,所述预先建立的历史作业记录库中还记录有:所述分布式计算系统的硬件资源使用率分布趋势,其中,所述硬件资源使用率分布趋势为所述分布式计算系统对历史各时段的硬件资源使用量进行分析、统计,得到的硬件资源使用率随时间变化的趋势。
所述第二硬件资源分配模块308,可以包括:
时间点选择子模块,用于依据硬件资源使用率趋势,选择满足所述第一作业运行过程中需要的硬件资源的资源量需求的时间点;
第二硬件资源分配子模块,用于在时间点选择子模块选择的时间点为所述第一作业分配硬件资源。
进一步的,所述第二硬件资源分配子模块,具体可以用于:
在所述分布式计算系统在该时间点可用的硬件资源的资源量达到预设的上限值的情况下,为所述第一作业分配:资源量大于所述计算结果的硬件资源。比如分布式计算系统当前可用的硬件资源较多,此时可以为第一作业分配:资源量为第一作业所需的资源量的1-2倍的硬件资源。
或
仅为所述第一作业分配:资源量为所述计算结果的硬件资源。
可选的,在本发明的一个实施例中,所述硬件资源可以包括以下类型资源中的至少一种:内存、磁盘、网络I/O带宽、CPU。
可选的,在本发明的一个实施例中,所述预设的硬件资源计算方案,可以包括:
第一作业运行所需的内存的计算公式为:(1+a%)*被该目标历史作业占用的内存量,其中,存在瓶颈的硬件资源为内存时,a>0;存在瓶颈的硬件资源不为内存时,a=0;
第一作业运行所需的磁盘的计算公式为:(1+b%)*被该目标历史作业占用的磁盘量,其中,存在瓶颈的硬件资源为磁盘时,b>0;存在瓶颈的硬件资源不为磁盘时,b=0;
第一作业运行所需的网络I/O带宽的计算公式为:(1+c%)*被该目标历史作业占用的网络I/O带宽量,其中,存在瓶颈的硬件资源为网络I/O带宽时,c>0;存在瓶颈的硬件资源不为网络I/O带宽时,c=0;
第一作业运行所需的CPU的计算公式为:(1+d%)*被该目标历史作业占用的CPU量,其中,存在瓶颈的硬件资源为CPU时,d>0;存在瓶颈的硬件资源不为CPU时,d=0。
需要说明的是,可以根据实际情况,对本发明实施例中的a、b、c、d进行取值;比如,分布式计算系统可用硬件资源较多的情况下,可以适当提高a、b、c、d的取值,本发明实施例对此不作限定。
可选的,在本发明的一个实施例中,所述特征信息可以包括以下信息中的至少一种:
作业名称、作业类型、作业提交者、输入数据的类型和大小、输出数据的类型、作业的配置参数。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本发明时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (12)
1.一种资源分配方法,其特征在于,应用于分布式计算系统,所述方法包括:
接收待处理的第一作业;
提取所述第一作业的特征信息;
根据所述特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业,获取该目标历史作业运行过程中占有的硬件资源的资源量;其中,所述历史作业记录库中包括:历史作业的特征信息,该历史作业运行过程中占用的硬件资源的资源量以及历史作业运行过程中占用的硬件资源的资源使用率;
获取目标历史作业运行过程中占用的硬件资源的资源使用率;
判断所述目标历史作业运行过程中占用的硬件资源中,每一类型硬件资源的资源使用率值是否均小于预设的、该类型硬件资源使用率阈值;
如果是,则为所述第一作业分配:资源量为目标历史作业运行过程中占用的硬件资源量的硬件资源。
2.根据权利要求1所述的方法,其特征在于,在判断所述目标历史作业运行过程中占用的硬件资源中,每一类型硬件资源的资源使用率值是否均小于预设的、该类型硬件资源使用率阈值的结果为否的情况下,
针对所述目标历史作业占用的硬件资源中,存在瓶颈的硬件资源,使用预设的硬件资源计算方案,计算出:所述第一作业运行过程中需要的硬件资源的资源量,所述存在瓶颈的硬件资源为:资源量不小于所述预设的、硬件资源使用率阈值的硬件资源;
根据所述计算结果,为所述第一作业分配硬件资源。
3.根据权利要求2所述的方法,其特征在于,所述根据计算结果,为所述第一作业分配硬件资源,包括:
检测分布式计算系统可用的硬件资源中每一类型硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;
如果是,为所述第一作业分配:资源量为所述计算结果的硬件资源。
4.根据权利要求2-3任意一项所述的方法,其特征在于,所述硬件资源包括以下类型资源中的至少一种:内存、磁盘、网络I/O带宽、CPU。
5.根据权利要求4所述的方法,其特征在于,所述预设的硬件资源计算方案,包括:
第一作业运行所需的内存的计算公式为:(1+a%)*被该目标历史作业占用的内存量,其中,存在瓶颈的硬件资源为内存时,a>0;存在瓶颈的硬件资源不为内存时,a=0;
第一作业运行所需的磁盘的计算公式为:(1+b%)*被该目标历史作业占用的磁盘量,其中,存在瓶颈的硬件资源为磁盘时,b>0;存在瓶颈的硬件资源不为磁盘时,b=0;
第一作业运行所需的网络I/O带宽的计算公式为:(1+c%)*被该目标历史作业占用的网络I/O带宽量,其中,存在瓶颈的硬件资源为网络I/O带宽时,c>0;存在瓶颈的硬件资源不为网络I/O带宽时,c=0;
第一作业运行所需的CPU的计算公式为:(1+d%)*被该目标历史作业占用的CPU量,其中,存在瓶颈的硬件资源为CPU时,d>0;存在瓶颈的硬件资源不为CPU时,d=0。
6.根据权利要求1-3任意一项所述的方法,其特征在于,所述特征信息包括以下信息中的至少一种:
作业名称、作业类型、作业提交者、输入数据的类型和大小、输出数据的类型、作业的配置参数。
7.一种资源分配装置,其特征在于,应用于分布式计算系统,所述装置包括:
作业接收模块,用于接收待处理的第一作业;
特征信息提取模块,用于提取所述作业接收模块接收到的第一作业的特征信息;
作业查询模块,用于根据所述特征信息提取模块提取到的特征信息,从预先建立的历史作业记录库中,查询与所述第一作业相匹配的目标历史作业,获取该目标历史作业运行过程中占有的硬件资源的资源量;其中,所述历史作业记录库中包括:历史作业的特征信息,该历史作业运行过程中占用的硬件资源的资源量以及历史作业运行过程中占用的硬件资源的资源使用率;
资源使用率获取模块,用于获取所述作业查询模块查询到的目标历史作业运行过程中占用的硬件资源的资源使用率;
判断模块,用于判断所述目标历史作业运行过程中占用的硬件资源中,每一类型硬件资源的资源使用率值是否均小于预设的、该类型硬件资源使用率阈值;
第一硬件资源分配模块,用于在判断模块的判断结果为是的情况下,为所述第一作业分配:资源量为目标历史作业运行过程中占用的硬件资源量的硬件资源。
8.根据权利要求7所述的装置,其特征在于在,所述装置还包括:
资源量计算模块;
所述判断模块在判断结果为否的情况下,触发资源量计算模块;
所述资源量计算模块,用于针对所述目标历史作业占用的硬件资源中,存在瓶颈的硬件资源,使用预设的硬件资源计算方案,计算出:所述第一作业运行过程中需要的硬件资源的资源量,所述存在瓶颈的硬件资源为:资源量不小于所述预设的、硬件资源使用率阈值的硬件资源;
第二硬件资源分配模块,用于根据所述资源量计算模块的计算结果,为所述第一作业分配硬件资源。
9.根据权利要求8所述的装置,其特征在于,所述第二硬件资源分配模块,包括:
检测子模块,用于检测分布式计算系统可用的硬件资源中每一类型硬件资源的资源量是否均不小于所述计算结果中的该类型的硬件资源的资源量;并在检测结果为是的情况下,触发第一硬件资源分配子模块;
所述第一硬件资源分配子模块,用于为所述第一作业分配:资源量为所述计算结果的硬件资源。
10.根据权利要求8-9任意一项所述的装置,其特征在于,所述硬件资源包括以下类型资源中的至少一种:内存、磁盘、网络I/O带宽、CPU。
11.根据权利要求10所述的装置,其特征在于,所述预设的硬件资源计算方案,包括:
第一作业运行所需的内存的计算公式为:(1+a%)*被该目标历史作业占用的内存量,其中,存在瓶颈的硬件资源为内存时,a>0;存在瓶颈的硬件资源不为内存时,a=0;
第一作业运行所需的磁盘的计算公式为:(1+b%)*被该目标历史作业占用的磁盘量,其中,存在瓶颈的硬件资源为磁盘时,b>0;存在瓶颈的硬件资源不为磁盘时,b=0;
第一作业运行所需的网络I/O带宽的计算公式为:(1+c%)*被该目标历史作业占用的网络I/O带宽量,其中,存在瓶颈的硬件资源为网络I/O带宽时,c>0;存在瓶颈的硬件资源不为网络I/O带宽时,c=0;
第一作业运行所需的CPU的计算公式为:(1+d%)*被该目标历史作业占用的CPU量,其中,存在瓶颈的硬件资源为CPU时,d>0;存在瓶颈的硬件资源不为CPU时,d=0。
12.根据权利要求7-9任意一项所述的装置,其特征在于,所述特征信息包括以下信息中的至少一种:
作业名称、作业类型、作业提交者、输入数据的类型和大小、输出数据的类型、作业的配置参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410691187.4A CN104391749B (zh) | 2014-11-26 | 2014-11-26 | 一种资源分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410691187.4A CN104391749B (zh) | 2014-11-26 | 2014-11-26 | 一种资源分配方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104391749A CN104391749A (zh) | 2015-03-04 |
CN104391749B true CN104391749B (zh) | 2020-06-05 |
Family
ID=52609657
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410691187.4A Active CN104391749B (zh) | 2014-11-26 | 2014-11-26 | 一种资源分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104391749B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106203750A (zh) * | 2015-04-29 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 一种资源配置的方法及装置 |
CN106203757A (zh) * | 2015-05-06 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 计算资源管理方法和装置 |
CN105094987A (zh) * | 2015-07-22 | 2015-11-25 | 国家计算机网络与信息安全管理中心 | 一种针对海量任务的资源调度方法和系统 |
CN106550006A (zh) * | 2015-09-23 | 2017-03-29 | 北京奇虎科技有限公司 | 云服务器资源分配方法和装置 |
CN105389212B (zh) * | 2015-10-21 | 2019-05-24 | 浪潮(北京)电子信息产业有限公司 | 一种作业分配方法和装置 |
CN106874100B (zh) * | 2015-12-10 | 2021-08-31 | 阿里巴巴集团控股有限公司 | 计算资源分配方法及装置 |
CN107291546B (zh) * | 2016-03-30 | 2020-07-14 | 华为技术有限公司 | 一种资源调度方法及装置 |
CN105843687A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 一种任务资源的量化方法和装置 |
CN107343164B (zh) * | 2016-04-29 | 2020-02-14 | 中国电信股份有限公司 | 视频监控任务的分配方法及装置 |
CN108243348B (zh) * | 2016-12-23 | 2019-03-15 | 中科星图股份有限公司 | 一种流处理请求分配服务器 |
CN106776040A (zh) * | 2016-12-30 | 2017-05-31 | 广东欧珀移动通信有限公司 | 一种资源分配方法及装置 |
CN106802829A (zh) * | 2016-12-30 | 2017-06-06 | 广东欧珀移动通信有限公司 | 一种资源管理方法及设备 |
CN107179945A (zh) * | 2017-03-31 | 2017-09-19 | 北京奇艺世纪科技有限公司 | 一种资源分配方法及装置 |
CN107798056A (zh) * | 2017-09-05 | 2018-03-13 | 海纳信成(北京)信息技术有限公司 | 一种数据查询方法及装置 |
CN107748699A (zh) * | 2017-10-27 | 2018-03-02 | 广东欧珀移动通信有限公司 | 资源分配方法及相关产品 |
CN110609745A (zh) * | 2018-06-15 | 2019-12-24 | 中移(苏州)软件技术有限公司 | 一种作业任务的执行方法、装置、电子设备、存储介质 |
CN109034394B (zh) * | 2018-07-02 | 2020-12-11 | 第四范式(北京)技术有限公司 | 一种机器学习模型的更新方法和装置 |
CN110879749B (zh) * | 2018-09-06 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 一种实时转码任务的调度方法及调度装置 |
WO2020103440A1 (en) * | 2018-11-20 | 2020-05-28 | Huawei Technologies Co., Ltd. | Distributed resource management by improving cluster diversity |
WO2020107368A1 (zh) * | 2018-11-30 | 2020-06-04 | 北京比特大陆科技有限公司 | 信息推荐方法、装置、设备和可读存储介质 |
CN110795056B (zh) * | 2019-11-08 | 2023-08-15 | Oppo广东移动通信有限公司 | 调节显示参数的方法、装置、终端及存储介质 |
CN110928659B (zh) * | 2019-11-20 | 2022-12-06 | 哈尔滨工程大学 | 一种具有自适应功能的数值水池系统远程多平台接入方法 |
CN110968425B (zh) * | 2019-11-22 | 2022-12-06 | 中盈优创资讯科技有限公司 | 一种任务资源动态分配方法及系统 |
CN110874272A (zh) * | 2020-01-16 | 2020-03-10 | 北京懿医云科技有限公司 | 资源配置方法及装置、计算机可读存储介质、电子设备 |
CN113138841A (zh) * | 2020-01-17 | 2021-07-20 | 华为技术有限公司 | 一种资源调度方法以及资源调度系统 |
CN111813545A (zh) * | 2020-06-29 | 2020-10-23 | 北京字节跳动网络技术有限公司 | 一种资源配置方法、装置、介质和设备 |
CN112000478B (zh) * | 2020-08-24 | 2024-02-23 | 中国银行股份有限公司 | 作业运行资源分配方法及装置 |
CN112612616B (zh) * | 2020-12-28 | 2024-02-23 | 中国农业银行股份有限公司 | 一种任务处理方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN103324534A (zh) * | 2012-03-22 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 作业调度方法及其调度器 |
CN103957268A (zh) * | 2014-05-08 | 2014-07-30 | 中国人民解放军总参谋部气象水文空间天气总站 | 一种规则驱动的数据传输方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697141B (zh) * | 2009-10-30 | 2012-09-05 | 清华大学 | 网格中基于历史数据建模的作业性能预测方法 |
KR20140131089A (ko) * | 2013-05-03 | 2014-11-12 | 한국전자통신연구원 | 자원 할당 장치 및 그 방법 |
-
2014
- 2014-11-26 CN CN201410691187.4A patent/CN104391749B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324534A (zh) * | 2012-03-22 | 2013-09-25 | 阿里巴巴集团控股有限公司 | 作业调度方法及其调度器 |
CN103309738A (zh) * | 2013-05-31 | 2013-09-18 | 中国联合网络通信集团有限公司 | 用户作业调度方法及装置 |
CN103957268A (zh) * | 2014-05-08 | 2014-07-30 | 中国人民解放军总参谋部气象水文空间天气总站 | 一种规则驱动的数据传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104391749A (zh) | 2015-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104391749B (zh) | 一种资源分配方法及装置 | |
CN108009236B (zh) | 一种大数据查询方法、系统、计算机及存储介质 | |
US9817699B2 (en) | Adaptive autoscaling for virtualized applications | |
US20150295970A1 (en) | Method and device for augmenting and releasing capacity of computing resources in real-time stream computing system | |
CN109962856B (zh) | 资源分配方法、装置以及计算机可读存储介质 | |
CN106874100B (zh) | 计算资源分配方法及装置 | |
CN111414070B (zh) | 一种机箱功耗管理方法、系统及电子设备和存储介质 | |
CN108256706B (zh) | 任务分配方法和装置 | |
CN103729254A (zh) | 一种虚拟服务器Virtual CPU资源监测及动态分配方法 | |
CN107343164B (zh) | 视频监控任务的分配方法及装置 | |
CN103984726A (zh) | 一种数据库执行计划的局部修正方法 | |
US20160080267A1 (en) | Monitoring device, server, monitoring system, monitoring method and program recording medium | |
CN113055759B (zh) | 带宽分配方法、装置及系统 | |
CN110147470B (zh) | 一种跨机房数据比对系统及方法 | |
US20180314435A1 (en) | Deduplication processing method, and storage device | |
CN108322495B (zh) | 资源访问请求的处理方法、装置和系统 | |
CN111258746A (zh) | 资源分配方法和服务设备 | |
CN105488134A (zh) | 大数据处理方法及大数据处理装置 | |
CN107168788B (zh) | 分布式系统中资源的调度方法以及装置 | |
CN110879749B (zh) | 一种实时转码任务的调度方法及调度装置 | |
CN116755891B (zh) | 基于多线程的事件队列处理方法和系统 | |
CN108446169B (zh) | 一种作业调度方法及装置 | |
CN111078646B (zh) | 基于互联网设备的运行数据对软件进行分组的方法及系统 | |
CN107870921B (zh) | 一种日志数据处理方法及装置 | |
CN103747043A (zh) | 一种cdn服务器调度方法、cdn控制中心及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |