CN107179945A - 一种资源分配方法及装置 - Google Patents
一种资源分配方法及装置 Download PDFInfo
- Publication number
- CN107179945A CN107179945A CN201710209716.6A CN201710209716A CN107179945A CN 107179945 A CN107179945 A CN 107179945A CN 201710209716 A CN201710209716 A CN 201710209716A CN 107179945 A CN107179945 A CN 107179945A
- Authority
- CN
- China
- Prior art keywords
- resources
- target task
- resource
- task
- total 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 134
- 238000013468 resource allocation Methods 0.000 title claims abstract description 39
- 238000007726 management method Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 85
- 238000004364 calculation method Methods 0.000 claims description 37
- 238000012545 processing Methods 0.000 claims description 6
- 239000002699 waste material Substances 0.000 description 5
- 238000001514 detection method Methods 0.000 description 4
- 238000003745 diagnosis Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Classifications
-
- 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
- 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/5011—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供了一种资源分配方法及装置,所述方法应用于资源管理系统,包括:在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。与现有技术相比,本方案可以在任务运行过程中,基于该任务的实际执行情况,对该任务所需资源的分配进行调整,可以使得资源分配更合理,避免资源分配过多导致浪费或者资源不足导致任务运行缓慢甚至中断的风险。
Description
技术领域
本发明涉及网络资源的技术领域,特别是涉及一种资源分配方法及装置。
背景技术
在进行分布式计算任务时需要保障运行所需的各类资源,并且资源是否充足在一定程度上会影响运行的速度以及进度,其中,运行所需的各类资源包括存储资源、带宽、CPU、内存等多种,并且研究发现各类资源对于同一类型的分布式计算任务的资源消耗量往往具有规律性。目前来说,在进行分布式计算任务前往往需要用户自己确定该任务所需的各类资源的资源量并在资源管理系统中进行申请,资源管理系统根据用户申请的资源量进行资源的分配。但是,通过用户自己确定各类资源的资源量从而分配资源的方式会导致资源分配不合理,该不合理具体体现在:申请的资源过多会造成系统资源的浪费,申请的资源不足造成任务运行缓慢甚至中断。
此外,现有技术中还可以基于阈值对资源进行分配,该分配方法中预留有一部分可以随时进行调取的弹性资源,当分布式计算任务执行过程中资源的剩余量达到预设的阈值时再进行资源的调取。然而,有时任务运行过程中资源消耗太快,在达到预设阈值时已来不及调取资源,导致资源不足,从而使得任务的运行进程缓慢甚至无法运行。
发明内容
本发明实施例的目的在于提供一种资源分配方法及装置,从而解决资源分配不合理的问题。具体技术方案如下:
第一方面,本发明实施例提供了一种资源分配方法,应用于资源管理系统,所述方法包括:
在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;
根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;
根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。
可选地,所述在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量的步骤,包括:
在所述目标任务执行过程中,在预设时间点获取本次执行所述目标任务过程中所消耗的所述各类资源的历史消耗量。
可选地,所述计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量所利用的公式为:
其中,Mi为本次执行所述目标任务所需消耗的资源i的总量,P为所述目标任务的数据规模,Ni为本次已执行所述目标任务过程中所消耗的所述资源i的历史消耗量,B为本次所述目标任务已完成的数据规模,其中,所述资源i为所述各类资源中的任一种资源。
可选地,在所述目标任务执行前,所述方法还包括:
确定本次执行所述目标任务所需的所述各类资源的初始总量;
按照所确定出的所述初始总量,为所述目标任务分配所述各类资源。
可选地,所述确定本次执行所述目标任务所需的所述各类资源的初始总量的步骤,包括:
根据至少一个历史任务中所述各类资源的消耗总量,计算本次执行所述目标任务所需的所述各类资源的初始总量,所述历史任务为与所述目标任务的类型相同的已完成的任务;或者,
获得用户指定的、本次执行所述目标任务所需的所述各类资源的初始总量。
可选地,所述根据至少一个历史任务中所述各类资源的消耗总量,计算本次执行所述目标任务所需的所述各类资源的初始总量所利用的公式如下:
其中,Si为本次执行所述目标任务所需的资源i的初始总量,P为所述目标任务的数据规模,mi为所述至少一个历史任务中所述资源i的消耗总量之和,n为所述历史任务中的数据规模之和。
可选地,所述调整为本次执行所述目标任务所分配的所述各类资源的资源量的步骤,包括:
将计算得到的所述各类资源的总量与最新所分配的相应资源的实际总量作差,得到所述各类资源对应的资源量差值;
根据所述各类资源对应的资源量差值分别确定为所述各类资源对应的资源调整量;
按照所述各类资源对应的资源调整量,对所述各类资源的资源量进行调整。
可选地,所述目标任务为按预设时间点执行的定时任务。
可选地,所述各类资源包括内存资源、中央处理器CPU资源、带宽资源和存储资源中的至少一种。
第二方面,本发明实施例提供了一种资源分配装置,其特征在于,应用于资源管理系统,所述装置包括:
获取模块,用于在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;
计算模块,用于根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;
调整模块,用于根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。
可选地,所述获取模块具体用于:
在所述目标任务执行过程中,在预设时间点获取本次执行所述目标任务过程中所消耗的所述各类资源的历史消耗量。
可选地,所述计算模块所利用的公式为:
其中,Mi为本次执行所述目标任务所需消耗的资源i的总量,P为所述目标任务的数据规模,Ni为本次已执行所述目标任务过程中所消耗的所述资源i的历史消耗量,B为本次所述目标任务已完成的数据规模,其中,所述资源i为所述各类资源中的任一种资源。
可选地,所述装置还包括:
初始总量确定模块,用于在所述目标任务执行前,确定本次执行所述目标任务所需的所述各类资源的初始总量;
分配模块,用于按照所确定出的所述初始总量,为所述目标任务分配所述各类资源。
可选地,所述初始总量确定模块包括:
计算子模块,用于根据至少一个历史任务中所述各类资源的消耗总量,计算本次执行所述目标任务所需的所述各类资源的初始总量,所述历史任务为与所述目标任务的类型相同的已完成的任务;或者,
获得子模块,用于获得用户指定的、本次执行所述目标任务所需的所述各类资源的初始总量。
可选地,所述计算子模块所利用的公式如下:
其中,Si为本次执行所述目标任务所需的资源i的初始总量,P为所述目标任务的数据规模,mi为所述至少一个历史任务中所述资源i的消耗总量之和,n为所述历史任务中的数据规模之和。
可选地,所述调整模块具体用于:
将计算得到的所述各类资源的总量与最新所分配的相应资源的实际总量作差,得到所述各类资源对应的资源量差值;
根据所述各类资源对应的资源量差值分别确定为所述各类资源对应的资源调整量;
按照所述各类资源对应的资源调整量,对所述各类资源的资源量进行调整。
可选地,所述目标任务为按预设时间点执行的定时任务。
可选地,所述各类资源包括内存资源、中央处理器CPU资源、带宽资源和存储资源中的至少一种。
本发明实施例提供的一种资源分配方法中,可以在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。与现有技术相比,本方案可以在任务运行过程中,基于该任务的实际执行情况,对该任务所需资源的分配进行调整,可以使得资源分配更合理,避免资源分配过多导致浪费或者资源不足导致任务运行缓慢甚至中断的风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种资源分配方法的一种流程图;
图2为本发明实施例提供的一种资源分配方法的另一种流程图;
图3为本发明实施例提供的一种资源分配装置的一种结构示意图;
图4为本发明实施例提供的一种资源分配装置的另一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决资源分配不合理的问题,从而避免资源分配过多导致浪费或者资源不足导致任务运行缓慢甚至中断的风险,本发明实施例提供了一种资源分配方法及装置。
需要说明的是,本发明实施例所提供的资源分配方法可以应用于分布式计算任务,当然,还可以应用于分布式计算以外的其他计算任务,比如集中式计算,又如需要分配各类资源的数据处理任务,举例而言,需要内存资源的敏感字检测,需要带宽资源的网络诊断等等。
并且,根据发明人研究发现:对于同一类型的任务而言,各个任务所需的资源的消耗量具有相同的规律性,并且,这种规律性是不变的。举例而言,任务A和任务B为同一类型的任务,并且任务A和任务B所需的资源为内存资源,那么,执行任务A所需内存资源的消耗量的规律性与执行任务B所需内存资源的消耗量的规律性相同。当然,不同类型的资源的消耗量在同一任务中的规律性可以是不同的;对于不同类型的任务而言,同一种类型的资源的消耗量的规律性也可以是不同的,举例而言,敏感字检测与网络诊断为两种不同类型的任务,但敏感字检测与网络诊断的运行都需要CPU资源,而CPU资源在敏感字检测中的消耗规律可以是线性关系,CPU资源在网络诊断中的消耗规律可以是对数关系。
其中,各类资源的消耗量的规律性可以分为多种:线性规律、指数规律、对数规律等。示例地,对于某一类型的任务,该任务所需的某一类型的资源的消耗量的规律性可以为线性关系,即随着该任务的进行,该资源的消耗与该任务已完成的数据规模是呈线性关系;还可以为指数关系,即随着该任务的进行,该资源的消耗与该任务已完成的数据规模是呈指数关系。规律性的获得可以是:根据已完成的与该任务同一类型的其他任务中所消耗的各类资源的相关数据。
下面首先对本发明提供的一种资源分配方法进行介绍。
其中,本发明实施例提供的一种资源分配方法应用于资源管理系统,该资源管理系统可以用于为各类任务分配相应的各类资源,并且监控各类资源的使用情况以及各类资源的剩余情况等等,当然,可以理解的是,本发明实施例还可以应用于类似于资源管理系统的其他具有资源分配等功能的装置。
如图1所示,本发明实施例提供的一种资源分配方法,包括如下步骤:
S101,在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量。
其中,目标任务可以为分布式计算任务,还可以为其他任务,比如集中式计算任务,又如需要分配各类资源的数据处理任务。并且,目标任务可以为定时任务中的其中一个任务,该定时任务包括与目标任务类型相同的多个任务,当达到预定时间点或者达到预设条件时,便执行其中任一个任务,其中,预定时间点和预设条件均可以由用户自定义设置。目标任务所需的各类资源可以为内存资源、CPU资源、带宽资源、存储资源或者在目标任务中所需的其他资源,并且,根据发明人研究发现的资源消耗的规律性,该目标任务执行过程中所需的各类资源的消耗量均具有相应的规律性。
在目标任务执行过程中,对该目标任务所需的各类资源的使用情况进行监控,从而可以获取该目标任务执行过程中所消耗的各类资源的历史消耗量。其中,各类资源的历史消耗量可以具体为各类资源在目标任务执行的每一阶段的消耗量数据,并且,获取的历史消耗量的数据不仅可以作为后续任务执行中资源调整的基础,而且能够作为与该目标任务的类型相同的其他任务的历史数据,对资源的规律性有一定的参考作用。
当然,可以理解的是,除了可以监控各类资源的历史消耗量以外,同时还可以监控并获取到目标任务的数据规模、随着该目标任务进行过程中已完成的数据规模和待完成的数据规模、该目标任务所需的各类资源的初始总量以及随着目标任务进行各类资源的资源量的实时变化情况等等,其中,随着目标任务执行过程中,数据规模的实时变化情况与各类资源的资源量的实时变化情况可以表示成数据规模的已完成部分的百分比与各类资源的消耗量的对应关系。
可选地,在目标任务执行过程中,可以在预设时间点获取本次执行该目标任务过程中所消耗的各类资源的历史消耗量,其中,预设时间点可以由用户自定义设置,而且预设时间点可以是具体的时刻点,还可以是预设时间长度的时间间隔。
S102,根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量。
执行目标任务时在每一阶段计算的运行速度可以是不一样,因此每一个阶段目标任务所需的各类资源的资源量也可以是不一样的,获取已完成的该目标任务的历史消耗量,从而计算出本次执行该目标任务过程中所需消耗的各类资源的总量。可选地,可以在预设时间点分别计算本次执行该目标任务过程中所需消耗的各类资源的总量,预设时间点可以由用户自定义设置,当然,预设时间点设置的更频繁、时间间隔越短,对于该目标任务的资源分配来说就更精确。示例地,目标任务时长估约为100us,用户可以设定每10us进行一次各类资源的总量的计算,然后进行相应地资源调整,这样,该任务为每10us进行一次资源的计算及调整;而当用户设定为每2us进行一次各类资源的总量的计算时,该计算任务为每2us进行一次资源的计算及调整,这种情况下,资源的调整更频繁,资源的分配也会更精确。
计算各类资源的总量的前提是获取目标任务执行过程中相应的资源的历史消耗量,并且知晓各类资源在该目标任务中所对应的规律性,当该目标任务中各类资源的消耗的规律性均为线性规律时,从而可以根据如下公式计算出本次执行所述目标任务过程中所需消耗的所述各类资源的总量:
其中,Mi为本次执行所述目标任务所需消耗的资源i的总量,P为所述目标任务的数据规模,Ni为本次已执行所述目标任务过程中所消耗的所述资源i的历史消耗量,B为本次所述目标任务已完成的数据规模,其中,所述资源i为所述各类资源中的任一种资源。
示例地,当目标任务中所需的资源为内存资源,即资源i为内存资源,并且内存资源在该目标任务中所消耗的规律为线性规律,获取本次执行该目标任务过程中所消耗的内存资源的历史消耗量,根据内存资源的线性消耗的规律,可以计算出本次执行该目标任务中单位数据规模所消耗的单位内存资源,计算公式如下所示:
其中,Q为本次执行该目标任务过程中单位数据规模所消耗的单位内存资源,N为本次已执行目标任务过程中所消耗的内存资源的历史消耗量,B为本次执行该目标任务已完成的数据规模。
根据内存资源在该目标任务中的线性消耗的规律,可以计算出本次执行该目标任务过程中所需消耗的内存资源的总量,计算公式如下所示:
M=Q×P (3)
其中,M为本次执行所述目标任务所需消耗的内存资源的总量,P为该目标任务的数据规模。
根据公式(2)和公式(3)可以得出本次执行该目标任务过程中所需消耗的内存资源的总量所利用的计算公式为:
其中,M为本次执行所述目标任务所需消耗的内存资源的总量,P为该目标任务的数据规模,N为本次已执行目标任务过程中所消耗的内存资源的历史消耗量,B为本次执行该目标任务已完成的数据规模。
当然,其他的资源如CPU资源、带宽资源、存储资源等在目标任务中的消耗是线性规律时,可以根据上述的计算方法得到相对应的资源的总量,在此不做赘述。
需要说明的是,在上述具体实施方式中,选取了本次目标任务中已完成部分的所有数据规模作为参考,另外,也可以仅选取部分已完成的数据规模作为参考来计算所需消耗的各类资源的总量,其中,选取部分数据规模作为参考时可以是选取一段连续的数据规模段、或者选取数个间断的数据规模段。
在其他的规律情况下,如指数规律、对数规律等,同样根据各类资源在目标任务中不同的规律性所对应的计算公式,通过获取相应的历史消耗量,从而可以得出在该目标任务执行过程中所需消耗的各类资源的总量,在此不做赘述。
S103,根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。
其中,通过计算出的各类资源的总量调整为本次执行目标任务所分配的各类资源的资源量的方式,具体可以为:将计算得到的所述各类资源的总量与最新所分配的相应资源的实际总量作差,得到所述各类资源对应的资源量差值;根据所述各类资源对应的资源量差值分别确定为所述各类资源对应的资源调整量;按照所述各类资源对应的资源调整量,对所述各类资源的资源量进行调整。
当然,还可以有其他的具体调整方式,在此不一一进行详述。
本发明实施例提供的一种资源分配方法中,可以在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。与现有技术相比,本方案可以在任务运行过程中,基于该任务的实际执行情况,对该任务所需资源的分配进行调整,可以使得资源分配更合理,避免资源分配过多导致浪费或者资源不足导致任务运行缓慢甚至中断的风险。
下面通过另一具体的实施例,对本发明提供的一种资源分配方法进行介绍。
其中,本发明实施例提供的一种资源分配方法应用于资源管理系统,该资源管理系统可以用于为各类任务分配相应的各类资源,并且监控各类资源的使用情况以及各类资源的剩余情况等等,当然,可以理解的是,本发明实施例还可以应用于类似于资源管理系统的其他具有资源分配等功能的装置。
如图2所示,本实施例提供的一种资源分配方法,包括如下步骤:
S201,确定本次执行所述目标任务所需的所述各类资源的初始总量。
在目标任务执行前,可以先确定该目标任务所需的各类资源的初始总量,其中,一种具体实现方式可以为:当有与该目标任务的类型相同的历史任务时,可以根据历史任务中的各类资源的消耗总量,计算本次执行该目标任务所需的各类资源的初始总量,其中,所选取的历史任务与本次执行的目标任务的任务类型相同并且是已完成的任务,并且所选取的历史任务可以是全部历史任务,也可以是全部历史任务中的一次或者几次历史任务,其中,当选取一次或者几次历史任务时,可以是随机挑选或者按时间顺序选取连续的几次历史任务,或者其他合理的选取方式。
各类资源在所选取的历史任务中的规律性与该目标任务中的规律性一致,并且不同的资源可以有不同的规律性,例如CPU资源在该任务中的消耗规律可以是指数规律,而带宽资源的消耗规律可以是线性规律,但是同一种资源在同一类型的任务中的规律是一致的。
示例地,当目标任务所需的各类资源在该目标任务中的消耗规律为线性规律时,根据与该目标任务类型相同的历史任务,计算本次执行该目标任务所需的各类资源的初始总量所利用的计算公式如下:
其中,Si为本次执行所述目标任务所需的资源i的初始总量,P为所述目标任务的数据规模,mi为所述至少一个历史任务中所述资源i的消耗总量之和,n为所述历史任务中的数据规模之和。
当然,可以理解的是,当各类资源的消耗规律为指数规律或者对数规律或者其他的规律时,同样可以根据历史任务得出相应的计算公式,从而可以计算出本次目标任务所需的各类资源的初始总量。
示例地,目标任务所需的资源为CPU资源、带宽资源、内存资源,并且CPU资源、带宽资源以及内存资源在该目标任务运行过程中的消耗规律都是线性规律,根据与该目标任务类型相同的历史任务,并且选取全部历史任务作为参考,对于CPU资源来说,通过如下计算公式可得到执行该目标任务,单位数据规模所消耗的单位CPU资源的资源量:
其中,m为所选取的历史任务所消耗的CPU资源的消耗总量之和,n为所选取的历史任务的数据规模之和,Q为该目标任务执行过程中单位数据规模所消耗的单位CPU资源的资源量。
根据上述公式(6),可以通过如下计算公式得到执行该目标任务所需的CPU资源的初始总量:
S=P×Q (7)
其中,S为执行该目标任务所需的CPU资源的初始总量,P为所述目标任务的数据规模,Q为该目标任务执行过程中单位数据规模所消耗的单位CPU资源的资源量。
根据上述公式(6)和公式(7)可以得出根据任务的历史数据计算执行当前该任务所需的CPU资源的初始总量的计算公式如下:
其中,S为执行该目标任务所需的CPU资源的初始总量,P为所述目标任务的数据规模,m为所选取的历史任务所消耗的CPU资源的消耗总量之和,n为所选取的历史任务的数据规模之和。
可选地,另一种具体实现方式可以为:当没有与该目标任务的类型相同的历史任务时,没有相关的历史任务作为参考,此时,该目标任务所需的各类资源的初始总量可以由用户指定,从而获得用户所指定的、本次执行所述目标任务所需的所述各类资源的初始总量。当然,用户指定初始总量时也可以参考其他类型的历史任务中各类资源的消耗量。
S202,按照所确定出的所述初始总量,为所述目标任务分配所述各类资源。
按照确定出的初始总量,为目标任务分配相应的各类资源,分配的资源即为该目标任务的初始资源。
S203,在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量。
S204,根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量。
S205,根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。
本实施例中,S203-S205与上述实施例中的S101-S103相同,在此不作赘述。
本发明实施例提供的一种资源分配方法中,可以在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。与现有技术相比,本方案可以在任务运行过程中,基于该任务的实际执行情况,对该任务所需资源的分配进行调整,可以使得资源分配更合理,避免资源分配过多导致浪费或者资源不足导致任务运行缓慢甚至中断的风险。
相应于上述提供的方法实施例,本发明实施例还提供一种资源分配装置,应用于资源管理系统,如图3所示,所述装置包括:
获取模块310,用于在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;
计算模块320,用于根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;
调整模块330,用于根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。
本发明实施例提供的一种资源分配装置中,可以在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。与现有技术相比,本方案可以在任务运行过程中,基于该任务的实际执行情况,对该任务所需资源的分配进行调整,可以使得资源分配更合理,避免资源分配过多导致浪费或者资源不足导致任务运行缓慢甚至中断的风险。
可选地,一种具体实现方式中,所述获取模块310具体可以用于:
在所述目标任务执行过程中,在预设时间点获取本次执行所述目标任务过程中所消耗的所述各类资源的历史消耗量。
可选地,一种具体实现方式中,所述计算模块320可以利用的公式为:
其中,Mi为本次执行所述目标任务所需消耗的资源i的总量,P为所述目标任务的数据规模,Ni为本次已执行所述目标任务过程中所消耗的所述资源i的历史消耗量,B为本次所述目标任务已完成的数据规模,其中,所述资源i为所述各类资源中的任一种资源。
可选地,一种具体实现方式中,所述调整模块330具体可以用于:
将计算得到的所述各类资源的总量与最新所分配的相应资源的实际总量作差,得到所述各类资源对应的资源量差值;
根据所述各类资源对应的资源量差值分别确定为所述各类资源对应的资源调整量;
按照所述各类资源对应的资源调整量,对所述各类资源的资源量进行调整。
可选地,一种具体实现方式中,所述目标任务为按预设时间点执行的定时任务。
可选地,一种具体实现方式中,所述各类资源包括内存资源、中央处理器CPU资源、带宽资源和存储资源中的至少一种。
如图4所示,本实施例提供的一种资源分配装置,在图3的基础上,所述装置还可以包括:
初始总量确定模块340,用于在所述目标任务执行前,确定本次执行所述目标任务所需的所述各类资源的初始总量;
分配模块350,用于按照所确定出的所述初始总量,为所述目标任务分配所述各类资源。
可选地,一种具体的实现方式中,所述初始总量确定模块340可以包括:
计算子模块,用于根据至少一个历史任务中所述各类资源的消耗总量,计算本次执行所述目标任务所需的所述各类资源的初始总量,所述历史任务为与所述目标任务的类型相同的已完成的任务;或者,
获得子模块,用于获得用户指定的、本次执行所述目标任务所需的所述各类资源的初始总量。
可选地,一种具体的实现方式中,所述计算子模块可以利用的公式如下:
其中,Si为本次执行所述目标任务所需的资源i的初始总量,P为所述目标任务的数据规模,mi为所述至少一个历史任务中所述资源i的消耗总量之和,n为所述历史任务中的数据规模之和。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述地比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (18)
1.一种资源分配方法,其特征在于,应用于资源管理系统,所述方法包括:
在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;
根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;
根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。
2.根据权利要求1所述的方法,其特征在于,所述在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量的步骤,包括:
在所述目标任务执行过程中,在预设时间点获取本次执行所述目标任务过程中所消耗的所述各类资源的历史消耗量。
3.根据权利要求1所述的方法,其特征在于,所述计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量所利用的公式为:
<mrow>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>N</mi>
<mi>i</mi>
</msub>
<mi>B</mi>
</mfrac>
<mo>&times;</mo>
<mi>P</mi>
</mrow>
其中,Mi为本次执行所述目标任务所需消耗的资源i的总量,P为所述目标任务的数据规模,Ni为本次已执行所述目标任务过程中所消耗的所述资源i的历史消耗量,B为本次所述目标任务已完成的数据规模,其中,所述资源i为所述各类资源中的任一种资源。
4.根据权利要求1所述的方法,其特征在于,在所述目标任务执行前,所述方法还包括:
确定本次执行所述目标任务所需的所述各类资源的初始总量;
按照所确定出的所述初始总量,为所述目标任务分配所述各类资源。
5.根据权利要求4所述的方法,其特征在于,所述确定本次执行所述目标任务所需的所述各类资源的初始总量的步骤,包括:
根据至少一个历史任务中所述各类资源的消耗总量,计算本次执行所述目标任务所需的所述各类资源的初始总量,所述历史任务为与所述目标任务的类型相同的已完成的任务;或者,
获得用户指定的、本次执行所述目标任务所需的所述各类资源的初始总量。
6.根据权利要求5所述的方法,其特征在于,所述根据至少一个历史任务中所述各类资源的消耗总量,计算本次执行所述目标任务所需的所述各类资源的初始总量所利用的公式如下:
<mrow>
<msub>
<mi>S</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>P</mi>
<mi>n</mi>
</mfrac>
<mo>&times;</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
</mrow>
其中,Si为本次执行所述目标任务所需的资源i的初始总量,P为所述目标任务的数据规模,mi为所述至少一个历史任务中所述资源i的消耗总量之和,n为所述历史任务中的数据规模之和。
7.根据权利要求1所述的方法,其特征在于,所述调整为本次执行所述目标任务所分配的所述各类资源的资源量的步骤,包括:
将计算得到的所述各类资源的总量与最新所分配的相应资源的实际总量作差,得到所述各类资源对应的资源量差值;
根据所述各类资源对应的资源量差值分别确定为所述各类资源对应的资源调整量;
按照所述各类资源对应的资源调整量,对所述各类资源的资源量进行调整。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述目标任务为按预设时间点执行的定时任务。
9.根据权利要求1-7中任一项所述的方法,其特征在于,所述各类资源包括内存资源、中央处理器CPU资源、带宽资源和存储资源中的至少一种。
10.一种资源分配装置,其特征在于,应用于资源管理系统,所述装置包括:
获取模块,用于在目标任务执行过程中,获取本次执行所述目标任务过程中所消耗的各类资源的历史消耗量;
计算模块,用于根据所获取到的所述各类资源的历史消耗量,计算本次执行所述目标任务过程中所需消耗的所述各类资源的总量;
调整模块,用于根据计算得到的所述各类资源的总量,调整为本次执行所述目标任务所分配的所述各类资源的资源量。
11.根据权利要求1所述的装置,其特征在于,所述获取模块具体用于:
在所述目标任务执行过程中,在预设时间点获取本次执行所述目标任务过程中所消耗的所述各类资源的历史消耗量。
12.根据权利要求1所述的装置,其特征在于,所述计算模块所利用的公式为:
<mrow>
<msub>
<mi>M</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<msub>
<mi>N</mi>
<mi>i</mi>
</msub>
<mi>B</mi>
</mfrac>
<mo>&times;</mo>
<mi>P</mi>
</mrow>
其中,Mi为本次执行所述目标任务所需消耗的资源i的总量,P为所述目标任务的数据规模,Ni为本次已执行所述目标任务过程中所消耗的所述资源i的历史消耗量,B为本次所述目标任务已完成的数据规模,其中,所述资源i为所述各类资源中的任一种资源。
13.根据权利要求1所述的装置,其特征在于,所述装置还包括:
初始总量确定模块,用于在所述目标任务执行前,确定本次执行所述目标任务所需的所述各类资源的初始总量;
分配模块,用于按照所确定出的所述初始总量,为所述目标任务分配所述各类资源。
14.根据权利要求13所述的装置,其特征在于,所述初始总量确定模块包括:
计算子模块,用于根据至少一个历史任务中所述各类资源的消耗总量,计算本次执行所述目标任务所需的所述各类资源的初始总量,所述历史任务为与所述目标任务的类型相同的已完成的任务;或者,
获得子模块,用于获得用户指定的、本次执行所述目标任务所需的所述各类资源的初始总量。
15.根据权利要求14所述的装置,其特征在于,所述计算子模块所利用的公式如下:
<mrow>
<msub>
<mi>S</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mfrac>
<mi>P</mi>
<mi>n</mi>
</mfrac>
<mo>&times;</mo>
<msub>
<mi>m</mi>
<mi>i</mi>
</msub>
</mrow>
其中,Si为本次执行所述目标任务所需的资源i的初始总量,P为所述目标任务的数据规模,mi为所述至少一个历史任务中所述资源i的消耗总量之和,n为所述历史任务中的数据规模之和。
16.根据权利要求10所述的装置,其特征在于,所述调整模块具体用于:
将计算得到的所述各类资源的总量与最新所分配的相应资源的实际总量作差,得到所述各类资源对应的资源量差值;
根据所述各类资源对应的资源量差值分别确定为所述各类资源对应的资源调整量;
按照所述各类资源对应的资源调整量,对所述各类资源的资源量进行调整。
17.根据权利要求10-16中任一项所述的装置,其特征在于,所述目标任务为按预设时间点执行的定时任务。
18.根据权利要求10-16中任一项所述的装置,其特征在于,所述各类资源包括内存资源、中央处理器CPU资源、带宽资源和存储资源中的至少一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710209716.6A CN107179945A (zh) | 2017-03-31 | 2017-03-31 | 一种资源分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710209716.6A CN107179945A (zh) | 2017-03-31 | 2017-03-31 | 一种资源分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107179945A true CN107179945A (zh) | 2017-09-19 |
Family
ID=59830479
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710209716.6A Pending CN107179945A (zh) | 2017-03-31 | 2017-03-31 | 一种资源分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107179945A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108566424A (zh) * | 2018-04-11 | 2018-09-21 | 深圳市腾讯网络信息技术有限公司 | 基于服务器资源消耗预测的调度方法、装置和系统 |
CN109542586A (zh) * | 2018-11-19 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种节点资源状态更新方法及系统 |
CN109992403A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团福建有限公司 | 多租户资源调度的优化方法、装置、终端设备及存储介质 |
CN110609745A (zh) * | 2018-06-15 | 2019-12-24 | 中移(苏州)软件技术有限公司 | 一种作业任务的执行方法、装置、电子设备、存储介质 |
CN110880070A (zh) * | 2019-11-15 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 资源分配方法、装置、计算机可读介质及电子设备 |
CN111724067A (zh) * | 2020-06-22 | 2020-09-29 | 中国银行股份有限公司 | 一种资源调度方法及装置 |
CN112148469A (zh) * | 2019-06-28 | 2020-12-29 | 杭州海康威视数字技术股份有限公司 | 管理资源的方法、装置及计算机存储介质 |
CN112579304A (zh) * | 2020-12-30 | 2021-03-30 | 成都佳华物链云科技有限公司 | 基于分布式平台的资源调度方法、装置、设备及介质 |
CN113535398A (zh) * | 2021-07-14 | 2021-10-22 | 广州虎牙科技有限公司 | 资源分配调整方法、装置、电子设备和可读存储介质 |
CN113656163A (zh) * | 2021-08-24 | 2021-11-16 | 平安资产管理有限责任公司 | 服务资源调度方法、装置、计算机设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055694A1 (en) * | 2003-09-04 | 2005-03-10 | Hewlett-Packard Development Company, Lp | Dynamic load balancing resource allocation |
JP2009199549A (ja) * | 2008-02-25 | 2009-09-03 | Nec Corp | 計算機システム、仮想マシンへの資源割り当て方法およびプログラム |
CN103246570A (zh) * | 2013-05-20 | 2013-08-14 | 百度在线网络技术(北京)有限公司 | Hadoop的调度方法、系统及管理节点 |
CN104391749A (zh) * | 2014-11-26 | 2015-03-04 | 北京奇艺世纪科技有限公司 | 一种资源分配方法及装置 |
CN106375115A (zh) * | 2016-08-30 | 2017-02-01 | 东软集团股份有限公司 | 资源分配方法及装置 |
-
2017
- 2017-03-31 CN CN201710209716.6A patent/CN107179945A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050055694A1 (en) * | 2003-09-04 | 2005-03-10 | Hewlett-Packard Development Company, Lp | Dynamic load balancing resource allocation |
JP2009199549A (ja) * | 2008-02-25 | 2009-09-03 | Nec Corp | 計算機システム、仮想マシンへの資源割り当て方法およびプログラム |
CN103246570A (zh) * | 2013-05-20 | 2013-08-14 | 百度在线网络技术(北京)有限公司 | Hadoop的调度方法、系统及管理节点 |
CN104391749A (zh) * | 2014-11-26 | 2015-03-04 | 北京奇艺世纪科技有限公司 | 一种资源分配方法及装置 |
CN106375115A (zh) * | 2016-08-30 | 2017-02-01 | 东软集团股份有限公司 | 资源分配方法及装置 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109992403A (zh) * | 2017-12-30 | 2019-07-09 | 中国移动通信集团福建有限公司 | 多租户资源调度的优化方法、装置、终端设备及存储介质 |
CN109992403B (zh) * | 2017-12-30 | 2021-06-01 | 中国移动通信集团福建有限公司 | 多租户资源调度的优化方法、装置、终端设备及存储介质 |
CN108566424A (zh) * | 2018-04-11 | 2018-09-21 | 深圳市腾讯网络信息技术有限公司 | 基于服务器资源消耗预测的调度方法、装置和系统 |
CN110609745A (zh) * | 2018-06-15 | 2019-12-24 | 中移(苏州)软件技术有限公司 | 一种作业任务的执行方法、装置、电子设备、存储介质 |
CN109542586A (zh) * | 2018-11-19 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种节点资源状态更新方法及系统 |
CN112148469A (zh) * | 2019-06-28 | 2020-12-29 | 杭州海康威视数字技术股份有限公司 | 管理资源的方法、装置及计算机存储介质 |
CN112148469B (zh) * | 2019-06-28 | 2024-02-20 | 杭州海康威视数字技术股份有限公司 | 管理资源的方法、装置及计算机存储介质 |
CN110880070A (zh) * | 2019-11-15 | 2020-03-13 | 腾讯科技(深圳)有限公司 | 资源分配方法、装置、计算机可读介质及电子设备 |
CN110880070B (zh) * | 2019-11-15 | 2023-12-22 | 腾讯科技(深圳)有限公司 | 资源分配方法、装置、计算机可读介质及电子设备 |
CN111724067A (zh) * | 2020-06-22 | 2020-09-29 | 中国银行股份有限公司 | 一种资源调度方法及装置 |
CN112579304A (zh) * | 2020-12-30 | 2021-03-30 | 成都佳华物链云科技有限公司 | 基于分布式平台的资源调度方法、装置、设备及介质 |
CN113535398A (zh) * | 2021-07-14 | 2021-10-22 | 广州虎牙科技有限公司 | 资源分配调整方法、装置、电子设备和可读存储介质 |
CN113535398B (zh) * | 2021-07-14 | 2024-02-27 | 广州虎牙科技有限公司 | 资源分配调整方法、装置、电子设备和可读存储介质 |
CN113656163A (zh) * | 2021-08-24 | 2021-11-16 | 平安资产管理有限责任公司 | 服务资源调度方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107179945A (zh) | 一种资源分配方法及装置 | |
CN109298940B (zh) | 计算任务分配方法、装置、电子设备及计算机存储介质 | |
US9400682B2 (en) | Ranking and scheduling of monitoring tasks | |
US10761897B2 (en) | Predictive model-based intelligent system for automatically scaling and managing provisioned computing resources | |
CN109962856B (zh) | 资源分配方法、装置以及计算机可读存储介质 | |
US20090055835A1 (en) | System and Method for Managing License Capacity in a Telecommunication Network | |
EP3483730A1 (en) | Resource allocation method and resource manager | |
CN103502944B (zh) | 虚拟机内存调整方法和设备 | |
CN106959925B (zh) | 一种版本测试方法及装置 | |
CN106874100B (zh) | 计算资源分配方法及装置 | |
JP2017511940A5 (zh) | ||
CN105227489B (zh) | 一种带宽管理方法及电子设备 | |
US11496413B2 (en) | Allocating cloud computing resources in a cloud computing environment based on user predictability | |
CN106209967B (zh) | 一种视频监控云资源预测方法及系统 | |
CN107343023B (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
CN108023834A (zh) | 一种云资源自动分配方法及装置 | |
CN111813524B (zh) | 一种任务执行方法、装置、电子设备和存储介质 | |
CN110247815B (zh) | 一种数据传输方法、装置、系统及计算机可读存储介质 | |
CN105491079B (zh) | 云计算环境中调整应用所需资源的方法及装置 | |
CN105808347A (zh) | 集群服务器部署计算方法及装置 | |
CN111382031B (zh) | 测试方法及装置 | |
CN108153583A (zh) | 任务分配方法及装置、实时计算框架系统 | |
CN110837421B (zh) | 一种任务分配方法及装置 | |
CN109800975B (zh) | 一种资源评估方法、装置、计算机设备和存储介质 | |
CN108429704B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170919 |
|
RJ01 | Rejection of invention patent application after publication |