CN112860442A - 资源配额调整方法、装置、计算机设备和存储介质 - Google Patents
资源配额调整方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN112860442A CN112860442A CN202110281261.5A CN202110281261A CN112860442A CN 112860442 A CN112860442 A CN 112860442A CN 202110281261 A CN202110281261 A CN 202110281261A CN 112860442 A CN112860442 A CN 112860442A
- Authority
- CN
- China
- Prior art keywords
- resource
- usage data
- resources
- expected
- application
- 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 46
- 238000004364 calculation method Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 23
- 238000013468 resource allocation Methods 0.000 claims description 22
- 238000007726 management method Methods 0.000 claims description 21
- 230000006870 function Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
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
- G06F9/505—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 considering the load
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- 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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种资源配额调整方法、装置、计算机设备和存储介质。所述方法包括:通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;所述资源使用数据是所述在线应用对计算机节点中资源的使用数据;根据所述资源使用数据集计算所述在线应用在目标时刻的预期资源消耗量;根据所述预期资源消耗量以及所述资源的资源总量,计算预期资源剩余量,以使所述代理容器基于所述预期资源剩余量调整离线应用的资源配额;所述离线应用和所述在线应用部署在所述计算机节点上,且共享所述计算机节点中的资源。采用本方法能够提高资源利用率,节省资源。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种资源配额调整方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,数据中心通常同时部署了在线应用与离线应用。在线应用以服务形式运行,运行时间长,对性能变化敏感,资源使用量随时间呈动态变化,存在明显的波峰和波谷。离线应用的运行时间短、计算密集、资源消耗量大、对性能变化不敏感。在数据中心中,在线应用具有较高的优先级,需要优先保证在线应用获取足够的资源,所以,通常按照在线应用在波峰时所需使用的资源为其申请和分配资源,从而造成所申请的资源在其他时间段有大量剩余,导致数据中心的资源利用率较低。
为了提高数据中心的利用率,希望使离线应用能够使用在线应用的空闲资源。但是,如果按照基于容器的部署方式部署在线应用和离线应用,需要对大量既存的在线应用进行容器化改造,产生较大的改造成本,并且,离线应用还会和在线应用竞争资源,导致在线应用不能优先获取足够的资源。所以,怎样将剩余资源分配给离线应用,以提高数据中心的资源利用率是一个亟待解决的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高资源利用率的资源配额调整方法、装置、计算机设备和存储介质。
一种资源配额调整方法,所述方法包括:
通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;所述资源使用数据是所述在线应用对计算机节点中资源的使用数据;
根据所述资源使用数据集计算所述在线应用在目标时刻的预期资源消耗量;
根据所述预期资源消耗量以及所述资源的资源总量,计算预期资源剩余量,以使所述代理容器基于所述预期资源剩余量调整离线应用的资源配额;所述离线应用和所述在线应用部署在所述计算机节点上,且共享所述计算机节点中的资源。
在一个实施例中,所述历史时段为预先配置的时间段;所述通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集包括:
确定所述时间段的起始时刻和终止时刻;
从所述起始时刻开始,每隔预设时间间隔,通过所述代理容器采集所述在线应用在当前时刻的资源使用数据,直到所述终止时刻,得到所述资源使用数据集。
在一个实施例中,所述根据所述资源使用数据集计算所述在线应用在目标时刻的预期资源消耗量,包括:
从所述资源使用数据集中选取最大的目标资源使用数据,并将所述目标资源使用数据作为所述预期资源消耗量;或者,
对所述资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为所述预期资源消耗量。
在一个实施例中,所述方法还包括:
获取预先配置的冗余资源量;
计算所述冗余资源量与所述预期资源剩余量间的差额,以使所述代理容器基于所述差额调整所述离线应用的资源配额。
在一个实施例中,所述方法还包括:
对所述离线应用进行分组,得到至少两组离线应用;
分别配置所述至少两组离线应用的资源分配优先级以使所述代理容器基于所述预期资源剩余量,按照所述至少两组离线应用对应的资源分配优先级,分别调整所述至少两组离线应用的资源配额。
在一个实施例中,所述方法应用于计算机节点,所述计算机节点上部署了编排管理工具;所述通过代理容器采集在线应用在历史时段内的资源使用数据之前,所述方法还包括:
通过所述编排管理工具创建所述代理容器。
一种资源配额调整装置,所述装置包括:
采集模块,用于通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;所述资源使用数据是所述在线应用对计算机节点中资源的使用数据;
计算模块,用于根据所述资源使用数据集计算所述在线应用在目标时刻的预期资源消耗量;
调整模块,还用于根据所述预期资源消耗量以及所述资源的资源总量,计算预期资源剩余量,以使所述代理容器基于所述预期资源剩余量调整离线应用的资源配额;所述离线应用和所述在线应用部署在所述计算机节点上,且共享所述计算机节点中的资源。
在一个实施例中,所述历史时段为预先配置的时间段;所述采集模块,还用于:
确定所述时间段的起始时刻和终止时刻;
从所述起始时刻开始,每隔预设时间间隔,通过所述代理容器采集所述在线应用在当前时刻的资源使用数据,直到所述终止时刻,得到所述资源使用数据集。
在一个实施例中,所述计算模块,还用于:
从所述资源使用数据集中选取最大的目标资源使用数据,并将所述目标资源使用数据作为所述预期资源消耗量;或者,
对所述资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为所述预期资源消耗量。
在一个实施例中,所述装置还包括:
获取模块,用于获取预先配置的冗余资源量;
所述计算模块,还用于计算所述冗余资源量与所述预期资源剩余量间的差额,以使所述代理容器基于所述预期资源剩余量与所述冗余资源量的差额调整所述离线应用的资源配额。
在一个实施例中,所述装置还包括:
分组模块,用于对所述离线应用进行分组,得到至少两组离线应用;
配置模块,用于分别配置所述至少两组离线应用的资源分配优先级,以使所述代理容器基于所述预期资源剩余量,按照所述至少两组离线应用对应的资源分配优先级,分别调整所述至少两组离线应用的资源配额。
在一个实施例中,所述装置应用于计算机节点,所述计算机节点上部署了编排管理工具;所述装置还包括:
创建模块,用于通过所述编排管理工具创建所述代理容器。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述资源配额调整方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述资源配额调整方法的步骤。
上述实施例中,计算机节点通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集,并根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量。然后计算机节点根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,并使代理容器基于预期资源剩余量调整离线应用的资源配额,该离线应用和在线应用部署在计算机节点上,且共享计算机节点中的资源。计算机节点通过部署的代理容器采集资源使用数据,并根据预期资源剩余量调整离线应用的资源配额,对离线应用所使用的资源进行管理和控制,使离线应用即可以使用在线应用使用剩余的空闲资源,提高了资源利用率,节约了资源,并且还可以对离线应用的资源配额进行合理限制,使其仅能使用预期资源剩余量,而不会抢占在线应用所使用的资源,保证了在线应用的正常运行。
附图说明
图1为一个实施例中资源配额调整方法的应用环境图;
图2为一个实施例中资源配额调整方法的流程示意图;
图3为一个实施例中历史时段的示意图;
图4为一个实施例中在线应用和离线应用使用资源的示意图;
图5为另一个实施例中资源配额调整方法的流程示意图;
图6为一个实施例中资源配额调整装置的结构框图;
图7为另一个实施例中资源配额调整装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的资源配额调整方法,可以应用于如图1所示的应用环境中。其中,计算机节点102通过代理容器1024采集在线应用1020在历史时段内的资源使用数据,得到资源使用数据集,并根据资源使用数据集计算在线应用1020在目标时刻的预期资源消耗量。然后计算机节点102根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,并使代理容器1020基于预期资源剩余量调整离线应用1022的资源配额,该离线应用1022和在线应用1020部署在计算机节点102上,且共享计算机节点102中的资源。其中,计算机节点102可以是服务器,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种资源配额调整方法,以该方法应用于图1中的计算机节点为例进行说明,且计算机节点可以是服务器,包括以下步骤:
S202,计算机节点通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;资源使用数据是在线应用对计算机节点中资源的使用数据。
其中,代理容器对离线应用所使用的资源进行调整和管控的容器。其中,在线应用是以服务形式处理用户请求并执行计算任务的应用。按照所提供的业务,在线应用可以分为即时通讯应用、在线搜索应用、电子商务应用、网络游戏应用等。按照部署方式,在线应用还可以分为基于虚拟机的应用和容器化应用。其中,基于虚拟机的应用相互间的隔离程度更高,但消耗的资源较多,并且在通过编排工具进行资源调整时,资源调整的时延较大,通常需要数十秒,无法满足实际的需求;容器化应用的隔离程度较低,但是消耗的资源较少,可以在部署了编排管理工具的平台上运行。在一个实施例中,在线应用为基于虚拟机的应用。
在线应用具有运行时间长、对性能变化敏感、所使用的资源随时间呈动态变化的特点。由于在线应用所使用的资源随时间呈动态变化,存在明显的波峰和波谷,所以,为了保证在线应用的服务性能和稳定性,计算机节点按照在线应用在波峰时所需使用的资源为其申请和分配资源,从而造成在波谷时有大量空闲资源。
其中,资源使用数据是在线应用正常运行时,对计算机节点中资源的使用数据。计算机节点中资源包括CPU资源、内存资源、硬盘资源和网络资源等。例如,资源使用数据可以是在线应用在运行时的某个时刻的CPU占用率或者所使用的内存空间等。
其中,计算机节点是由实体机或物理机组成的、混合部署了在线应用和离线应用的集群中节点。其中,混合部署的在线应用和离线应用可以是基于虚拟机的应用,也可以是容器化应用。在一个实施例中,在线应用是基于虚拟机的应用,离线应用是容器化应用。
S204,计算机节点根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量。
其中,预期资源消耗量是计算机节点根据历史时段内的资源使用数据预测出的、在线应用在未来的某个时刻的资源消耗量,包括CPU资源、内存资源、硬盘资源和网络资源等的消耗量。例如,资源使用数据集中包含了在线应用在1-5分钟内的多个时刻的CPU占用率,则预期资源消耗量可以是计算机节点预测出的、在线应用在第6分钟的CPU占用率。计算机节点可以通过计算函数对资源使用数据集中资源使用数据进行计算,得到预期资源消耗量。计算函数可以是线性函数或者非线性函数,例如可以是求取最大值的函数,或者求取加权平均值的函数或者指数函数等。
在一个实施例中,如图3所示,计算机节点分别在t4、t3、t2、t1、t0时刻,通过代理容器采集在线应用当前的资源使用数据,得到资源使用数据集,并通过资源使用数据集计算在线应用在t0至tp时间段内的预期资源消耗量。其中,计算得到的t0至tp时间段内的各时刻的预期资源消耗量可以相同,也可以不同,或者具有一定的线性或者非线性函数关系。
S206,计算机节点根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,以使代理容器基于预期资源剩余量调整离线应用的资源配额;离线应用和在线应用部署在计算机节点上,且共享计算机节点中的资源。
其中,资源总量是计算机节点所能提供的资源总量,包括CPU资源、内存资源、硬盘资源和网络资源等。预期资源剩余量是资源总量中,由在线应用使用后剩余的资源量。资源配额是代理容器分配给离线应用使用的资源量。
其中,离线应用是处理批处理作业任务的应用。按照所提供的业务,离线应用可以分为大数据检索应用、机器学习模型训练应用,视频转码应用等。按照部署方式,离线应用还可以分为基于虚拟机的应用和容器化应用。在一个实施例中,离线应用是容器化应用。离线应用具有运行时间短、计算密集、资源消耗量大、对性能变化不敏感的特点,并且离线应用的服务对响应速度要求较低。
在一个实施例中,计算机节点将离线应用的资源配额调整为预期资源剩余量,以使离线应用充分利用空闲资源。在另一个实施例中,计算机节点将离线应用的资源配额调整为小于预期资源剩余量,以预留部分空闲资源,从而充分保证在线应用的平稳运行。
在一个实施例中,计算机节点通过Cgroups调整离线应用的资源配额。Cgroups是Linux内核提供的一种可以限制单个进程或者多个进程所使用资源的机制,可以对CPU、内存等资源实现精细化的控制。
上述实施例中,计算机节点通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集,并根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量。然后计算机节点根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,并使代理容器基于预期资源剩余量调整离线应用的资源配额,该离线应用和在线应用部署在计算机节点上,且共享计算机节点中的资源。计算机节点通过部署的代理容器采集资源使用数据,并根据预期资源剩余量调整离线应用的资源配额,对离线应用所使用的资源进行管理和控制,使离线应用即可以使用在线应用使用剩余的空闲资源,提高了资源利用率,节约了资源,并且还可以对离线应用的资源配额进行合理限制,使其仅能使用预期资源剩余量,而不会抢占在线应用所使用的资源,保证了在线应用的正常运行。
在一个实施例中,历史时段为预先配置的时间段;通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集包括:确定时间段的起始时刻和终止时刻;从起始时刻开始,每隔预设时间间隔,通过代理容器采集在线应用在当前时刻的资源使用数据,直到终止时刻,得到资源使用数据集。
其中,预设时间间隔是预先配置的时间间隔,例如可以是1分钟或5分钟等。例如,如图3所示,历史时段为预先配置的t4至t0、时长为T的时间段,起始时刻为t4,终止时刻为t0,计算机节点分别在t4、t3、t2、t1、t0时刻,通过代理容器采集在线应用的资源使用数据,得到资源使用数据集。在一个实施例中,计算机节点通过代理容器在t={t4、t3、t2、t1、t0}时刻采集的资源使用数据如表1所示。
表1
时间t | t<sub>0</sub> | t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>4</sub> |
资源使用数据s[t] | 5.1 | 1.2 | 1.4 | 1.2 | 1.6 |
在一个实施例中,计算机节点根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量包括:从资源使用数据集中选取最大的目标资源使用数据,并将目标资源使用数据作为预期资源消耗量;或者,对资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为预期资源消耗量。
其中,计算机节点可以通过Smax[t]=max{s[t]0…s[t]N-1}函数从资源使用数据集{s[t]0…s[t]N-1}中选取最大的目标资源使用数据,并将目标资源使用数据作为预期资源消耗量。或者,计算机节点将资源使用数据集{s[t]0…s[t]N-1}输入加权平均函数,得到预期资源消耗量,加权平均函数为 其中,Savg[t]为在线应用在t时刻的预期资源消耗量,w[τ]为权重因子,τ为计算机节点通过代理容器采集历史时段内的各资源使用数据时与当前时间点的时间间隔,T为历史时段的时长。
在一个实施例中,如图3所示,计算机节点分别在t4、t3、t2、t1、t0时刻,通过代理容器采集在线应用采集资源使用数据,T0.5表示表示T/2,假设T=4,资源使用数据以及计算机节点计算得到的w[τ]如表2所示,根据计算得到的Savg[t]=2.1。
表2
时间t | t<sub>0</sub> | t<sub>1</sub> | t<sub>2</sub> | t<sub>3</sub> | t<sub>4</sub> |
资源使用数据s[t] | 5.1 | 1.2 | 1.4 | 1.2 | 1.6 |
权重因子w[τ] | 2<sup>-0/2</sup> | 2<sup>-1/2</sup> | 2<sup>-2/2</sup> | 2<sup>-3/2</sup> | 2<sup>-4/2</sup> |
计算机节点计算得到在线应用在目标时刻的预期资源消耗量,对在线应用在目标时刻所消耗的资源进行预测,以能够根据预期资源消耗量计算得到计算机节点在目标时刻的预期资源剩余量,并将预期资源剩余量分配给离线应用,既可以使离线应用利用在线应用的空余资源,又不会使离线应用和在线应用抢占资源,从而可以使在线应用和离线应用共存于同一计算机节点上。
在一个实施例中,计算机节点基于预期资源剩余量调整离线应用的资源配额包括:获取预先配置冗余资源量;计算冗余资源量与预期资源剩余量间的差额,以使代理容器基于差额调整离线应用的资源配额。
其中,冗余资源量是为离线应用分配资源配额时,在预期资源剩余量中预留的资源量。如图4所示,计算机节点将资源总量中的一部分分给在线应用使用,并将预期资源剩余量中的部分分给离线应用使用,并且预留部分冗余资源量。
由于在线应用所使用的资源随时间波动较大,如果在线应用在目标时刻所使用的资源超出预期资源消耗量,则计算机节点可以将预留的冗余资源分配给在线应用使用,充分保证了在线应用所需的资源量,从而保证了在线应用的平稳、正常运行。
在一个实施例中,方法还包括:计算机节点对离线应用进行分组,得到至少两组离线应用;分别配置至少两组离线应用的资源分配优先级,以使所述代理容器基于所述预期资源剩余量,按照至少两组离线应用对应的资源分配优先级,分别调整至少两组离线应用的资源配额。
其中,离线应用可以有多个,当离线应用有多个时,计算机节点对离线应用进行分组。计算机节点可以基于离线应用所提供的业务服务的重要性对离线应用进行分组,为业务服务的重要性高的离线应用分配较高的优先级;也可以基于使用离线应用的客户对离线应用的响应速度的要求对离线应用进行分组,为对响应速度要求高的离线应用分配较高的优先级;或者也可以基于离线应用的资源需求量对离线应用进行分组,为资源需求量高的离线应用分配较高的资源分配优先级。例如,计算机节点可以基于客户对离线应用的响应速度的要求将离线应用分为三组,分别对应高、中、低三等资源分配优先级。
在一个实施例中,计算机节点在通过代理容器调整离线应用的资源配额时,按照多组离线应用对应的资源分配优先级进行调整,优先保证优先级高的离线应用获得所需的资源。例如,如果预期资源剩余量为100,而离线应用有三组,分别对应高、中、低三等资源分配优先级,所需的资源分别为60、50和30,则计算机节点优先将高优先级的离线应用的资源配额调整为60,然后将中优先级的离线应用的资源配额调整为40。
计算机节点按照各组离线应用的资源分配优先级调整各组离线应用的资源配额,优先保证优先级高的离线应用获得足够的资源,保证了优先级高的离线应用的平稳运行。
在一个实施例中,计算机节点根据多组离线应用对应的资源分配优先级确定各组离线应用获得资源的比例,然后按照比例调整离线应用的资源配额。例如,假设离线应用有三组,分别对应高、中、低三等资源分配优先级,计算机节点确定高优先级的离线应用对应的比例为50%,中优先级的离线应用对应的比例为30%,低优先级的离线应用对应的比例为20%。然后计算机节点在预期资源剩余量为100时,将高优先级的离线应用的资源配额调整为50,将中优先级的离线应用的资源配额调整为30,将低优先级的离线应用的资源配额调整为20。
在一个实施例中,计算机节点在按照多组离线应用对应的资源分配优先级对应的比例调整离线应用的资源配额时,预留部分冗余资源,然后将剩余资源分配给离线应用。例如,在预期资源剩余量为120时,预留20冗余资源量,将其余的100资源量按照比例分配给离线应用使用。
计算机节点按照比例调整各组离线应用的资源配额,使各组离线应用均可分配到部分资源,完成部分业务服务,而不至于因不能获取资源而停止业务服务,提高了各离线应用提供业务服务的效率。
在一个实施例中,资源配额调整方法应用于计算机节点,计算机节点上部署了编排管理工具;计算机节点通过代理容器采集在线应用在历史时段内的资源使用数据之前,方法还包括:通过编排管理工具创建代理容器。
其中,编排管理工具是对容器进行编排管理的工具,提供调度和管理集群的服务,例如Kubernetes编排管理工具。Kubernetes是一个可移植、可扩展的开源计算资源管理平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。
在一个实施例中,编排管理工具可以通过DaemonSet方式创建代理容器。DaemonSet是Kubernetes的一种工作负载类型,可以确保集群的全部或者部分计算机节点上各运行一个Pod的副本。当有计算机节点加入集群时,DaemonSet也会为新加入的计算机节点新增Pod副本;当有计算机节点从集群移除时,被移除的计算机节点的Pod副本也会被回收。
由于只有在将基于虚拟机的在线应用改造为容器化应用后,才能使容器化的在线应用在部署了编排管理工具的平台上运行,从而才能通过由编排管理工具部署的代理容器对容器化的在线应用所使用的资源进行管控,但改造过程会产生一定的改造成本。所以,计算机节点通过代理容器调整容器化的离线应用的资源配额,对离线应用所能使用的资源进行管控,使离线应用不会和在线应用抢占资源,从而不需要动态调整在线应用的资源配额即可使在线应用获取足够的资源,也即不需要将在线应用改造为容器化应用即可使在线应用和离线应用共存于同一计算机节点上,节省了改造成本。
在一个实施例中,如图5所示,计算机节点调整离线应用的资源配额包括如下步骤:
S502,计算机节点通过编排管理工具创建代理容器。
S504,计算机节点确定历史时段的起始时刻和终止时刻,从起始时刻开始,每隔预设时间间隔,通过代理容器采集在线应用在当前时刻的资源使用数据,直到终止时刻,得到资源使用数据集。
S506,计算机节点从资源使用数据集中选取最大的目标资源使用数据,并将目标资源使用数据作为预期资源消耗量;或者,对资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为预期资源消耗量。
S508,计算机节点根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量。
S510,计算机节点获取冗余资源量并使代理容器基于预期资源剩余量与冗余资源量的差额调整离线应用的资源配额。
S502至S510的具体内容可以参考上文所述的具体实现过程。
应该理解的是,虽然图2、5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种资源配额调整装置,包括:采集模块602、计算模块604和调整模块606,其中:
采集模块602,用于通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;资源使用数据是在线应用对计算机节点中资源的使用数据;
计算模块604,用于根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量;
调整模块606,用于根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,以使代理容器基于预期资源剩余量调整离线应用的资源配额;离线应用和在线应用部署在计算机节点上,且共享计算机节点中的资源。
上述实施例中,计算机节点通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集,并根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量。然后计算机节点根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,并使代理容器基于预期资源剩余量调整离线应用的资源配额,该离线应用和在线应用部署在计算机节点上,且共享计算机节点中的资源。计算机节点通过部署的代理容器采集资源使用数据,并根据预期资源剩余量调整离线应用的资源配额,对离线应用所使用的资源进行管理和控制,使离线应用即可以使用在线应用使用剩余的空闲资源,提高了资源利用率,节约了资源,并且还可以对离线应用的资源配额进行合理限制,使其仅能使用预期资源剩余量,而不会抢占在线应用所使用的资源,保证了在线应用的正常运行。
在一个实施例中,历史时段为预先配置的时间段;采集模块602,还用于:
确定时间段的起始时刻和终止时刻;
从起始时刻开始,每隔预设时间间隔,通过代理容器采集在线应用在当前时刻的资源使用数据,直到终止时刻,得到资源使用数据集。
在一个实施例中,计算模块604,还用于:
从资源使用数据集中选取最大的目标资源使用数据,并将目标资源使用数据作为预期资源消耗量;或者,
对资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为预期资源消耗量。
在一个实施例中,如图7所示,装置还包括:
获取模块608,用于获取预先配置的冗余资源量;
计算模块604,还用于计算冗余资源量与预期资源剩余量间的差额,以使代理容器基于预期资源剩余量与冗余资源量的差额调整离线应用的资源配额。
在一个实施例中,装置还包括:
分组模块610,用于对离线应用进行分组,得到至少两组离线应用;
配置模块612,用于分别配置至少两组离线应用的资源分配优先级,以使代理容器基于预期资源剩余量,按照至少两组离线应用对应的资源分配优先级,分别调整至少两组离线应用的资源配额。
在一个实施例中,装置应用于计算机节点,计算机节点上部署了编排管理工具;装置还包括:
创建模块614,用于通过编排管理工具创建代理容器。
关于资源配额调整装置的具体限定可以参见上文中对于资源配额调整方法的限定,在此不再赘述。上述资源配额调整装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是计算机节点,计算机节点可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储资源配额调整数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种资源配额调整方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;资源使用数据是在线应用对计算机节点中资源的使用数据;根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量;根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,以使代理容器基于预期资源剩余量调整离线应用的资源配额;离线应用和在线应用部署在计算机节点上,且共享计算机节点中的资源。
在一个实施例中,历史时段为预先配置的时间段;处理器执行计算机程序时还实现以下步骤:确定时间段的起始时刻和终止时刻;从起始时刻开始,每隔预设时间间隔,通过代理容器采集在线应用在当前时刻的资源使用数据,直到终止时刻,得到资源使用数据集。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:从资源使用数据集中选取最大的目标资源使用数据,并将目标资源使用数据作为预期资源消耗量;或者,对资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为预期资源消耗量。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取预先配置的冗余资源量;计算冗余资源量与预期资源剩余量间的差额,以使代理容器基于差额调整离线应用的资源配额。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:对离线应用进行分组,得到至少两组离线应用;分别配置至少两组离线应用的资源分配优先级,以使代理容器基于预期资源剩余量,按照至少两组离线应用对应的资源分配优先级,分别调整至少两组离线应用的资源配额。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:通过编排管理工具创建代理容器。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;资源使用数据是在线应用对计算机节点中资源的使用数据;根据资源使用数据集计算在线应用在目标时刻的预期资源消耗量;根据预期资源消耗量以及资源的资源总量,计算预期资源剩余量,以使代理容器基于预期资源剩余量调整离线应用的资源配额;离线应用和在线应用部署在计算机节点上,且共享计算机节点中的资源。
在一个实施例中,历史时段为预先配置的时间段;计算机程序被处理器执行时还实现以下步骤:确定时间段的起始时刻和终止时刻;从起始时刻开始,每隔预设时间间隔,通过代理容器采集在线应用在当前时刻的资源使用数据,直到终止时刻,得到资源使用数据集。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:从资源使用数据集中选取最大的目标资源使用数据,并将目标资源使用数据作为预期资源消耗量;或者,对资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为预期资源消耗量。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取预先配置的冗余资源量;计算冗余资源量与预期资源剩余量间的差额,以使代理容器基于差额调整离线应用的资源配额。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:对离线应用进行分组,得到至少两组离线应用;分别配置至少两组离线应用的资源分配优先级,以使代理容器基于预期资源剩余量,按照至少两组离线应用对应的资源分配优先级,分别调整至少两组离线应用的资源配额。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:通过编排管理工具创建代理容器。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种资源配额调整方法,其特征在于,所述方法包括:
通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;所述资源使用数据是所述在线应用对计算机节点中资源的使用数据;
根据所述资源使用数据集计算所述在线应用在目标时刻的预期资源消耗量;
根据所述预期资源消耗量以及所述资源的资源总量,计算预期资源剩余量,以使所述代理容器基于所述预期资源剩余量调整离线应用的资源配额;所述离线应用和所述在线应用部署在所述计算机节点上,且共享所述计算机节点中的资源。
2.根据权利要求1所述的方法,其特征在于,所述历史时段为预先配置的时间段;所述通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集包括:
确定所述时间段的起始时刻和终止时刻;
从所述起始时刻开始,每隔预设时间间隔,通过所述代理容器采集所述在线应用在当前时刻的资源使用数据,直到所述终止时刻,得到所述资源使用数据集。
3.根据权利要求1所述的方法,其特征在于,所述根据所述资源使用数据集计算所述在线应用在目标时刻的预期资源消耗量,包括:
从所述资源使用数据集中选取最大的目标资源使用数据,并将所述目标资源使用数据作为所述预期资源消耗量;或者,
对所述资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为所述预期资源消耗量。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预先配置的冗余资源量;
计算所述冗余资源量与所述预期资源剩余量间的差额,以使所述代理容器基于所述差额调整所述离线应用的资源配额。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述离线应用进行分组,得到至少两组离线应用;
分别配置所述至少两组离线应用的资源分配优先级,以使所述代理容器基于所述预期资源剩余量,按照所述至少两组离线应用对应的资源分配优先级,分别调整所述至少两组离线应用的资源配额。
6.根据权利要求1所述的方法,其特征在于,所述方法应用于计算机节点,所述计算机节点上部署了编排管理工具;所述通过代理容器采集在线应用在历史时段内的资源使用数据之前,所述方法还包括:
通过所述编排管理工具创建所述代理容器。
7.一种资源配额调整装置,其特征在于,所述装置包括:
采集模块,用于通过代理容器采集在线应用在历史时段内的资源使用数据,得到资源使用数据集;所述资源使用数据是所述在线应用对计算机节点中资源的使用数据;
计算模块,用于根据所述资源使用数据集计算所述在线应用在目标时刻的预期资源消耗量;
调整模块,还用于根据所述预期资源消耗量以及所述资源的资源总量,计算预期资源剩余量,以使所述代理容器基于所述预期资源剩余量调整离线应用的资源配额;所述离线应用和所述在线应用部署在所述计算机节点上,且共享所述计算机节点中的资源。
8.根据权利要求7所述的装置,其特征在于,所述计算模块,还用于:
从所述资源使用数据集中选取最大的目标资源使用数据,并将所述目标资源使用数据作为所述预期资源消耗量;或者,
对所述资源使用数据集中的资源使用数据进行加权计算,并将加权计算的结果作为所述预期资源消耗量。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281261.5A CN112860442A (zh) | 2021-03-16 | 2021-03-16 | 资源配额调整方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281261.5A CN112860442A (zh) | 2021-03-16 | 2021-03-16 | 资源配额调整方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112860442A true CN112860442A (zh) | 2021-05-28 |
Family
ID=75994737
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110281261.5A Pending CN112860442A (zh) | 2021-03-16 | 2021-03-16 | 资源配额调整方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860442A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979154A (zh) * | 2022-06-06 | 2022-08-30 | 北京月新时代科技股份有限公司 | 一种负载均衡方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160380908A1 (en) * | 2013-12-18 | 2016-12-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Resource Prediction for Cloud Computing |
CN107066332A (zh) * | 2017-01-25 | 2017-08-18 | 广东神马搜索科技有限公司 | 分布式系统及其调度方法和调度装置 |
CN108632365A (zh) * | 2018-04-13 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 服务资源调整方法、相关装置和设备 |
CN109284871A (zh) * | 2018-09-30 | 2019-01-29 | 北京金山云网络技术有限公司 | 资源调整方法、装置和云平台 |
CN109756372A (zh) * | 2018-12-29 | 2019-05-14 | 亚信科技(中国)有限公司 | 一种电信计费系统的弹性伸缩方法及装置 |
CN111026553A (zh) * | 2019-12-13 | 2020-04-17 | 深圳先进技术研究院 | 离线混部作业的资源调度方法及服务器系统 |
-
2021
- 2021-03-16 CN CN202110281261.5A patent/CN112860442A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160380908A1 (en) * | 2013-12-18 | 2016-12-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Resource Prediction for Cloud Computing |
CN107066332A (zh) * | 2017-01-25 | 2017-08-18 | 广东神马搜索科技有限公司 | 分布式系统及其调度方法和调度装置 |
CN108632365A (zh) * | 2018-04-13 | 2018-10-09 | 腾讯科技(深圳)有限公司 | 服务资源调整方法、相关装置和设备 |
CN109284871A (zh) * | 2018-09-30 | 2019-01-29 | 北京金山云网络技术有限公司 | 资源调整方法、装置和云平台 |
CN109756372A (zh) * | 2018-12-29 | 2019-05-14 | 亚信科技(中国)有限公司 | 一种电信计费系统的弹性伸缩方法及装置 |
CN111026553A (zh) * | 2019-12-13 | 2020-04-17 | 深圳先进技术研究院 | 离线混部作业的资源调度方法及服务器系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114979154A (zh) * | 2022-06-06 | 2022-08-30 | 北京月新时代科技股份有限公司 | 一种负载均衡方法及系统 |
CN114979154B (zh) * | 2022-06-06 | 2023-10-03 | 北京月新时代科技股份有限公司 | 一种负载均衡方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8468246B2 (en) | System and method for allocating resources in a distributed computing system | |
CN107688492B (zh) | 资源的控制方法、装置和集群资源管理系统 | |
CN108845874B (zh) | 资源的动态分配方法及服务器 | |
CN110858161A (zh) | 资源分配方法、装置、系统、设备和介质 | |
CN112231049A (zh) | 基于kubernetes的计算设备共享方法、装置、设备及存储介质 | |
US20170339069A1 (en) | Allocating Cloud Computing Resources In A Cloud Computing Environment | |
Shahapure et al. | Load balancing with optimal cost scheduling algorithm | |
Bolodurina et al. | Approach to the effective controlling cloud computing resources in data centers for providing multimedia services | |
Keerthika et al. | A multiconstrained grid scheduling algorithm with load balancing and fault tolerance | |
CN113626145B (zh) | 业务虚拟机数量动态扩容方法及系统 | |
CN108234617B (zh) | 一种面向电力系统混合云模式下的资源动态调度方法 | |
CN112860442A (zh) | 资源配额调整方法、装置、计算机设备和存储介质 | |
Chatterjee et al. | A new clustered load balancing approach for distributed systems | |
Tychalas et al. | SaMW: a probabilistic meta-heuristic algorithm for job scheduling in heterogeneous distributed systems powered by microservices | |
Wu et al. | Abp scheduler: Speeding up service spread in docker swarm | |
Patil et al. | Performance improvement in cloud computing through dynamic task scheduling algorithm | |
Loganathan et al. | Job scheduling with efficient resource monitoring in cloud datacenter | |
CN110308991A (zh) | 一种基于随机任务的数据中心节能优化方法及系统 | |
CN115952054A (zh) | 一种仿真任务资源管理方法、装置、设备及介质 | |
CN115629854A (zh) | 分布式任务调度方法、系统、电子设备和存储介质 | |
Delamare et al. | SpeQuloS: a QoS service for hybrid and elastic computing infrastructures | |
CN111556126B (zh) | 模型管理方法、系统、计算机设备和存储介质 | |
Zedan et al. | Load balancing based active monitoring load balancer in cloud computing | |
CN114090256A (zh) | 一种基于云计算的应用交付负载管理方法及其系统 | |
Patni et al. | Distributed approach of load balancing in dynamic grid computing environment |
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 |