一种云环境下应用集资源分配的方法、装置和系统

著录项
  • CN201610982629.X
  • 20161108
  • CN108063784A
  • 20180522
  • 阿里巴巴集团控股有限公司
  • 刘岳嘉
  • H04L29/08
  • H04L29/08

  • 英属开曼岛大开曼资本大厦一座四层847号邮箱
  • 开曼岛(KY)
  • 北京润泽恒知识产权代理有限公司
  • 赵娟
摘要
本申请实施例提供了一种云环境下应用集资源分配的方法、装置和系统,所述方法包括:获取云环境下指定交易链路中各个应用集的资源使用率;依据所述资源使用率确定各个应用集的资源负载级别;所述资源负载级别包括高占用级别和低占用级别;为所述高占用级别的应用集申请资源;若为所述高占用级别的应用集申请资源失败,则按照资源负载级别释放低占用级别的应用集的资源;将所述释放的资源分配给所述高占用级别的应用集。本申请实施例能够拉平整个云环境下应用集的资源负载,能够充分利用现有资源,提高应用集的资源使用效率,使得应用集可以支撑更高的访问流量。
权利要求

1.一种云环境下应用集资源分配的系统,其特征在于,所述系统包括:

一个或多个处理器;

存储器;和

一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或 多个处理器执行,所述一个或多个模块具有如下功能:

获取云环境下指定交易链路中各个应用集的资源使用率;

依据所述资源使用率确定各个应用集的资源负载级别;所述资源负载级别包括高占 用级别和低占用级别;

为所述高占用级别的应用集申请资源;

若为所述高占用级别的应用集申请资源失败,则按照资源负载级别释放低占用级别 的应用集的资源;

将所述释放的资源分配给所述高占用级别的应用集。

2.一种云环境下应用集资源分配的方法,其特征在于,包括:

获取云环境下指定交易链路中各个应用集的资源使用率;

依据所述资源使用率确定各个应用集的资源负载级别;所述资源负载级别包括高占 用级别和低占用级别;

为所述高占用级别的应用集申请资源;

若为所述高占用级别的应用集申请资源失败,则按照资源负载级别释放低占用级别 的应用集的资源;

将所述释放的资源分配给所述高占用级别的应用集。

3.根据权利要求2所述的方法,其特征在于,所述获取云环境下指定交易链路中各个应 用集的资源使用率的步骤包括:

当访问流量提升时,获取云环境下指定交易链路中各个应用集的资源使用率。

4.根据权利要求2所述的方法,其特征在于,所述云环境下包括资源池,所述为高占用 级别的应用集申请资源的步骤包括:

向所述资源池申请资源;

当所述资源池的资源充足时,则为所述高占用级别的应用集分配所述资源池中资 源;

当所述资源池的资源枯竭时,则为所述高占用级别的应用集申请资源失败。

5.根据权利要求4所述的方法,其特征在于,所述应用集具有对应的优先级,所述为 高占用级别的应用集分配所述资源池中资源的步骤包括:

当所述高占用级别的应用集为两个或者两个以上时,按照所述优先级为高占用级别 的应用集分配所述资源池中资源。

6.根据权利要求2或4所述的方法,其特征在于,所述资源负载级别具有对应的释放比 例,所述按照资源负载级别释放低占用级别的应用集的资源的步骤包括:

确定低占用级别的应用集的资源负载级别对应的释放比例;

按照所述释放比例释放所述低占用级别的应用集的资源;

将所述释放的资源保存至资源池中。

7.根据权利要求6所述的方法,其特征在于,所述按照释放比例释放所述低占用级别的 应用集的资源的步骤包括:

获取所述低占用级别的应用集的当前资源;

获取所述低占用级别的应用集的当前访问流量;

采用所述当前访问流量和预设单机极限值计算需求资源;

采用所述当前资源和所述需求资源确定所述低占用级别的应用集的空闲资源;

按照所述释放比例释放所述空闲资源。

8.根据权利要求2或4所述的方法,其特征在于,所述将释放的资源分配给所述高占用 级别的应用集的步骤包括:

向所述保存有释放的资源的资源池申请资源;

为所述高占用级别的应用集分配所述资源池中释放的资源。

9.一种云环境下应用集资源分配的装置,其特征在于,包括:

资源使用率获取模块,用于获取云环境下指定交易链路中各个应用集的资源使用 率;

资源负载级别确定模块,用于依据所述资源使用率确定各个应用集的资源负载级 别;所述资源负载级别包括高占用级别和低占用级别;

资源申请获取模块,用于为所述高占用级别的应用集申请资源;

资源释放模块,用于若为所述高占用级别的应用集申请资源失败,则按照资源负载 级别释放低占用级别的应用集的资源;

资源分配模块,用于将所述释放的资源分配给所述高占用级别的应用集。

10.一种云环境下应用集资源分配的方法,其特征在于,包括:

获取云环境下各个应用集的资源负载状态;

依据所述资源负载状态确定所述应用集的资源负载级别;所述资源负载级别包括资 源满载级别和其他级别;

为所述资源满载级别的应用集申请资源;

若为所述资源满载级别的应用集申请资源失败,则按照资源负载级别释放其他级别 的应用集的资源;

将所述释放的资源分配给所述资源满载级别的应用集。

11.根据权利要求10所述的方法,其特征在于,所述获取云环境下各个应用集的资源 负载状态的步骤包括:

当访问流量提升时,获取云环境下各个应用集的资源负载状态。

12.根据权利要求10所述的方法,其特征在于,所述云环境下包括资源池,所述为资源 满载级别的应用集申请资源的步骤包括:

向所述资源池申请资源;

当所述资源池的资源充足时,则为所述资源满载级别的应用集分配所述资源池中资 源;

当所述资源池的资源枯竭时,则为所述资源满载级别的应用集申请资源失败。

13.根据权利要求12所述的方法,其特征在于,所述应用集具有对应的优先级,所述 为资源满载级别的应用集分配所述资源池中资源的步骤包括:

当所述资源满载级别的应用集为两个或者两个以上时,按照所述优先级为资源满载 级别的应用集分配所述资源池中资源。

14.根据权利要求10或12所述的方法,其特征在于,所述资源负载级别具有对应的释放 比例,所述按照资源负载级别释放其他级别的应用集的资源的步骤包括:

确定其他级别的应用集的资源负载级别对应的释放比例;

按照所述释放比例释放所述其他级别的应用集的资源;

将所述释放的资源保存至资源池中。

15.根据权利要求14所述的方法,其特征在于,所述按照释放比例释放所述其他应用集 的资源的步骤包括:

获取所述其他级别的应用集的当前资源;

获取所述其他级别的应用集的当前访问流量;

采用所述当前访问流量和预设单机极限值计算需求资源;

采用所述当前资源和所述需求资源确定所述其他级别的应用集的空闲资源;

按照所述释放比例释放所述空闲资源。

16.根据权利要求10或12所述的方法,其特征在于,所述将释放的资源分配给所述资源 满载级别的应用集的步骤包括:

向所述保存有释放的资源的资源池申请资源;

为所述资源满载级别的应用集分配所述资源池中释放的资源。

17.一种云环境下应用集资源分配的装置,其特征在于,包括:

资源负载状态获取模块,用于获取云环境下各个应用集的资源负载状态;

资源负载级别确定模块,用于依据所述资源负载状态确定所述应用集的资源负载级 别;所述资源负载级别包括资源满载级别和其他级别;

资源申请模块,用于为所述资源满载级别的应用集申请资源;

资源释放模块,用于在为所述资源满载级别的应用集申请资源失败时,按照资源负 载级别释放其他级别的应用集的资源;

释放资源分配模块,用于将所述释放的资源分配给所述资源满载级别的应用集。

说明书
技术领域

本申请涉及数据处理技术领域,特别是涉及一种云环境下应用集资源分配的方 法,一种云环境下应用集资源分配的装置,以及一种云环境下应用集资源分配的系统。

云计算是一种通过互联网以服务方式提供动态可伸缩的虚拟资源的计算模式,通 过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。云计算的基 础环境是虚拟化,虚拟化环境中存在资源共享。云计算环境(以下简称云环境)中经常使用 虚拟机(VM,Virtual Machine),这些虚拟机主要关联的系统资源等等。

云环境中的这些资源都是由虚拟机共享,当虚拟机需要申请资源时,将从该云环 境中申请空闲的资源。然而,在资源有限的情况下,如果空闲的资源已经耗尽,那么虚拟机 申请资源失败,该虚拟机将由于资源负载过大而无法正常工作,极大影响工作效率。

鉴于上述问题,提出了本申请实施例以便提供一种克服上述问题或者至少部分地 解决上述问题的一种云环境下应用集资源分配的方法,一种云环境下应用集资源分配 的装置,以及一种云环境下应用集资源分配的系统。

为了解决上述问题,本申请实施例公开了一种云环境下应用集资源分配的系 统,所述系统包括:

一个或多个处理器;

存储器;和

一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一 个或多个处理器执行,所述一个或多个模块具有如下功能:

获取云环境下指定交易链路中各个应用集的资源使用率;

依据所述资源使用率确定各个应用集的资源负载级别;所述资源负载级别包括 高占用级别和低占用级别;

为所述高占用级别的应用集申请资源;

若为所述高占用级别的应用集申请资源失败,则按照资源负载级别释放低占用 级别的应用集的资源;

将所述释放的资源分配给所述高占用级别的应用集。

本申请实施例还公开了一种云环境下应用集资源分配的方法,包括:

获取云环境下指定交易链路中各个应用集的资源使用率;

依据所述资源使用率确定各个应用集的资源负载级别;所述资源负载级别包括 高占用级别和低占用级别;

为所述高占用级别的应用集申请资源;

若为所述高占用级别的应用集申请资源失败,则按照资源负载级别释放低占用 级别的应用集的资源;

将所述释放的资源分配给所述高占用级别的应用集。

优选地,所述获取云环境下指定交易链路中各个应用集的资源使用率的步骤包 括:

当访问流量提升时,获取云环境下指定交易链路中各个应用集的资源使用率。

优选地,所述云环境下包括资源池,所述为高占用级别的应用集申请资源的步 骤包括:

向所述资源池申请资源;

当所述资源池的资源充足时,则为所述高占用级别的应用集分配所述资源池中 资源;

当所述资源池的资源枯竭时,则为所述高占用级别的应用集申请资源失败。

优选地,所述应用集具有对应的优先级,所述为高占用级别的应用集分配所 述资源池中资源的步骤包括:

当所述高占用级别的应用集为两个或者两个以上时,按照所述优先级为高占用 级别的应用集分配所述资源池中资源。

优选地,所述资源负载级别具有对应的释放比例,所述按照资源负载级别释放低 占用级别的应用集的资源的步骤包括:

确定低占用级别的应用集的资源负载级别对应的释放比例;

按照所述释放比例释放所述低占用级别的应用集的资源;

将所述释放的资源保存至资源池中。

优选地,所述按照释放比例释放所述低占用级别的应用集的资源的步骤包括:

获取所述低占用级别的应用集的当前资源;

获取所述低占用级别的应用集的当前访问流量;

采用所述当前访问流量和预设单机极限值计算需求资源;

采用所述当前资源和所述需求资源确定所述低占用级别的应用集的空闲资源;

按照所述释放比例释放所述空闲资源。

优选地,所述将释放的资源分配给所述高占用级别的应用集的步骤包括:

向所述保存有释放的资源的资源池申请资源;

为所述高占用级别的应用集分配所述资源池中释放的资源。

本申请实施例还公开了一种云环境下应用集资源分配的装置,包括:

资源使用率获取模块,用于获取云环境下指定交易链路中各个应用集的资源使 用率;

资源负载级别确定模块,用于依据所述资源使用率确定各个应用集的资源负载 级别;所述资源负载级别包括高占用级别和低占用级别;

资源申请获取模块,用于为所述高占用级别的应用集申请资源;

资源释放模块,用于若为所述高占用级别的应用集申请资源失败,则按照资源 负载级别释放低占用级别的应用集的资源;

资源分配模块,用于将所述释放的资源分配给所述高占用级别的应用集。

本申请实施例还公开了一种云环境下应用集资源分配的方法,包括:

获取云环境下各个应用集的资源负载状态;

依据所述资源负载状态确定所述应用集的资源负载级别;所述资源负载级别包 括资源满载级别和其他级别;

为所述资源满载级别的应用集申请资源;

若为所述资源满载级别的应用集申请资源失败,则按照资源负载级别释放其他 级别的应用集的资源;

将所述释放的资源分配给所述资源满载级别的应用集。

优选地,所述获取云环境下各个应用集的资源负载状态的步骤包括:

当访问流量提升时,获取云环境下各个应用集的资源负载状态。

优选地,所述云环境下包括资源池,所述为资源满载级别的应用集申请资源的 步骤包括:

向所述资源池申请资源;

当所述资源池的资源充足时,则为所述资源满载级别的应用集分配所述资源池 中资源;

当所述资源池的资源枯竭时,则为所述资源满载级别的应用集申请资源失败。

优选地,所述应用集具有对应的优先级,所述为资源满载级别的应用集分配 所述资源池中资源的步骤包括:

当所述资源满载级别的应用集为两个或者两个以上时,按照所述优先级为资源 满载级别的应用集分配所述资源池中资源。

优选地,所述资源负载级别具有对应的释放比例,所述按照资源负载级别释放其 他级别的应用集的资源的步骤包括:

确定其他级别的应用集的资源负载级别对应的释放比例;

按照所述释放比例释放所述其他级别的应用集的资源;

将所述释放的资源保存至资源池中。

优选地,所述按照释放比例释放所述其他应用集的资源的步骤包括:

获取所述其他级别的应用集的当前资源;

获取所述其他级别的应用集的当前访问流量;

采用所述当前访问流量和预设单机极限值计算需求资源;

采用所述当前资源和所述需求资源确定所述其他级别的应用集的空闲资源;

按照所述释放比例释放所述空闲资源。

优选地,所述将释放的资源分配给所述资源满载级别的应用集的步骤包括:

向所述保存有释放的资源的资源池申请资源;

为所述资源满载级别的应用集分配所述资源池中释放的资源。

本申请实施例还公开了一种云环境下应用集资源分配的装置,包括:

资源负载状态获取模块,用于获取云环境下各个应用集的资源负载状态;

资源负载级别确定模块,用于依据所述资源负载状态确定所述应用集的资源负 载级别;所述资源负载级别包括资源满载级别和其他级别;

资源申请模块,用于为所述资源满载级别的应用集申请资源;

资源释放模块,用于在为所述资源满载级别的应用集申请资源失败时,按照资 源负载级别释放其他级别的应用集的资源;

释放资源分配模块,用于将所述释放的资源分配给所述资源满载级别的应用集 。

本申请实施例包括以下优点:

本申请实施例对于在云环境下应用集,根据各个应用集资源负载状态确定其 所处的资源负载级别,如果存在资源满载级别的应用集,则为该应用集申请资源,如果 此时申请资源失败,则请求其他级别的应用集释放资源,最后将释放的资源分配给资源 满载级别的应用集。需要说明的是,本申请实施例是按照应用集的资源满载级别来释 放资源,故而如果反复执行上述步骤,那么最终将拉平整个云环境下应用集的资源负载, 能够充分利用现有资源,提高应用集的资源使用效率,使得应用集可以支撑更高的访 问流量。

图1是本申请的一种云环境下应用集资源分配的方法实施例1的步骤流程图;

图2是本申请的一种云环境下应用集的资源分配示意图;

图3是本申请的一种云环境下应用集资源分配的方法实施例2的步骤流程图;

图4是本申请的一种云环境下应用集资源分配的装置实施例的结构框图;

图5是本申请的一种服务器实施例结构示意图。

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实 施方式对本申请作进一步详细的说明。

在云环境下包括一个或多个应用集,可以分别独立完成特定服务,应用集之 间交互形成交易链路,能够完成一个完整的交易工作。例如,在某个供应链路的应用集 中,包括商品、物流、认证、营销等四个应用系统,在该供应链路的应用集中完成商品、物 流、认证、营销等一系列工作。交易链路压测可以用于测试应用集的交易链路的处理效 率。

交易链路压测通过自动化的测试工具模拟多种正常、峰值以及异常负载条件对应 用集的各项性能指标进行压测,检测出应用集的性能瓶颈,提高应用集的处理能力。

然而,目前交易链路压测只是测试出应用集的性能瓶颈,并且当访问流量达到 目标值,例如达到15W的访问流量时,则不再向上探测应用集的处理能力,那么资源无法 充分利用起来。

针对上述问题,本申请实施例对于云环境下应用集,在指定的平台上压测过程 中,拉平交易链路整体应用集的资源负载,在现有资源有限的情况下,充分利用现有资 源,均衡各个应用集的资源负载,提升应用集的处理能力,使得应用集能够支撑更高 访问流量。

参照图1,示出了本申请的一种云环境下应用集资源分配的方法实施例的步骤 流程图,具体可以包括如下步骤:

步骤101,获取云环境下各个应用集的资源负载状态;

在本申请实施例中,首先梳理某个交易链路的应用集,并将该应用集接入指 定的平台上,形成云环境。在该云环境下能够对于应用集进行统筹规划。

如图2所示,在某个交易链路上包括应用A集,应用B集,应用C集,这些应用 集接入到某个指定的平台中,在该平台上的应用集可以共享资源。

应用集的资源负载状态,是指应用集的资源使用率,具体来说,资源可以包括 容量、CPU、内存、磁盘I/O、网络带宽等等。在某些情况下,应用集的资源使用率可以达到 100%。

在本申请的一个实施例中,所述步骤101可以包括如下子步骤:

子步骤S11,当访问流量提升时,获取云环境下各个应用集的资源负载状态。

本申请实施例通过对交易链路进行压测,探测目前应用集的性能瓶颈。所谓性 能瓶颈,即资源使用率达到了危险阈值,此时应用集将无法正常工作。

在对交易链路进行压测的过程中,可以不断提升用户对于应用集的访问流量。 在一种情形下,本申请实施例在检测到访问流量提升时,将获取云环境下各个应用集的 资源负载状态。

步骤102,依据所述资源负载状态确定所述应用集的资源负载级别;所述资源负 载级别包括资源满载级别和其他级别;

在本申请实施例中,对于各个应用集,将按照其资源负载状态来确定其所处的 资源负载级别,资源负载级别能够用于表征应用集的资源使用率。

资源负载级别可以包括资源满载级别和其他级别,资源满载级别是指应用集的 资源使用率已经达到一个危险阈值,例如,可能是CPU使用率达到90%。

如图2所示,应用A集如果是CPU使用率大于70%(CPU>70%),或者,在1分钟内的 平均负载与CPU核数的关系为load1>core_num*1.5,则可以认为应用A集处于资源满载级 别,应用B集和应用C集则是为其他级别。

需要说明的是,本申请实施例对于资源负载级别的级别数量的划分,可以按照具 体需求划分,本申请实施例对此不加以限制。此外,本申请实施例对于资源负载级别的划分 方式,不仅仅局限于CPU使用率,也可以结合其他资源参数进行划分,比如内存、磁盘I/O、网 络带宽等使用率,或者按照其他方式进行划分均可,本申请实施例同样对此不加以限制。

步骤103,为所述资源满载级别的应用集申请资源;

在云环境下可以包括资源池,在资源池中放置有空闲的资源,当应用集需要进 行申请资源时,将首先向资源池申请资源。

在本申请的一个实施例中,所述步骤103可以包括如下子步骤:

子步骤S21,向所述资源池申请资源;

子步骤S22,当所述资源池的资源充足时,则为所述资源满载级别的应用集分配 所述资源池中资源;

子步骤S23,当所述资源池的资源枯竭时,则为所述资源满载级别的应用集申请 资源失败。

可以理解,如果资源池中资源充足,那么可以直接将资源池中的资源分配给资源 满载级别的应用集,但是,如果资源池中资源已经枯竭,那么将无法为资源满载级别的应 用集申请资源,此时申请资源失败。

在本申请的一个实施例中,所述应用集可以具有对应的优先级,所述子步骤S22 可以包括如下子步骤:

子步骤S221,当所述资源满载级别的应用集为两个或者两个以上时,按照所述 优先级为资源满载级别的应用集分配所述资源池中资源。

当资源池中存在可分配的资源时,可以将资源优先分配给高优先级别的应用集 。具体来说,如果多个应用集同时出现性能瓶颈,即多个资源满载级别的应用集同时 出现时,将按照优先级为每个应用集按序分配资源,高优先级的应用集优先申请资源, 然后再为低优先级的应用集申请资源,通过这样的分配原则,可以使得应用集的宿主 机资源的充分利用。

反之,如果不按照优先级为每个应用集按序分配资源,那么将可能导致在为低 优先级的应用集申请资源后,资源池中资源枯竭,那么最后将无法为高优先级的应用集 分配资源。

需要说明的是,本申请实施例中对于应用集的优先级,可以由相关人员进行设 置,当然,也可以按照应用集的重要程度或者处理顺序等其他方式来设置应用集的优 先级,本发明实施例对此不加以限制。

步骤104,若为所述资源满载级别的应用集申请资源失败,则按照资源负载级别 释放其他级别的应用集的资源;

本申请实施例在从资源池申请资源失败时,将释放其他应用集的资源来弥补当 前资源不足的情况。

在本申请的一个实施例中,所述资源负载级别可以具有对应的释放比例,所述步 骤104可以包括如下子步骤:

子步骤S31,确定其他级别的应用集的资源负载级别对应的释放比例;

子步骤S32,按照所述释放比例释放所述其他级别的应用集的资源;

子步骤S33,将所述释放的资源保存至资源池中。

在本申请实施例中,在释放应用集的资源时,是按照应用集的资源负载级别 来释放资源,即如果是负载较大的应用集,则释放较少的资源,如果是负载较小的应用集 ,则释放较多的资源。

在本申请的一个实施例中,所述子步骤S32,即所述按照释放比例释放所述其他应 用集的资源的步骤包括:

子步骤S321,获取所述其他级别的应用集的当前资源;

子步骤S322,获取所述其他级别的应用集的当前访问流量;

子步骤S323,采用所述当前访问流量和预设单机极限值计算需求资源;

子步骤S324,采用所述当前资源和所述需求资源确定所述其他级别的应用集的 空闲资源;

子步骤S325,按照所述释放比例释放所述空闲资源。

在本申请实施例中,当前应用集所需的资源可以是:当前应用集的每秒访问 总流量/日常压测单机极值,其中,日常压测单机极值是指应用集中单个虚拟机的所能承 受的访问流量。根据应用集的当前资源和需求资源,可以确定该应用集可以释放的空 闲资源。

在另一实施例中,当前应用集所需的资源还可以是:当前应用集的每秒访问 总流量/日常压测单机极值/安全水位。其中,安全水位是一个buffer(缓冲),可根据实际需 求设置大小或者不使用,本发明实施例对此不加以限制。

如图2所示,应用B集的资源负载级别较高,资源使用率较高,CPU使用率大于 50%,小于60%,则应用B集只需要释放5%的资源,应用C集的资源负载级别较低,资源 使用率较低,CPU使用率大于10%,小于20%,则应用C集需要释放15%的资源。释放的资 源可以保存到T4资源池中。通过资源梯度式释放,让各个应用集的资源能够保持在某个 水平线,而不是一刀切。

步骤105,将所述释放的资源分配给所述资源满载级别的应用集。

在本申请的一个实施例中,所述步骤105可以包括如下子步骤:

子步骤S41,向所述保存有释放的资源的资源池申请资源;

子步骤S42,为所述资源满载级别的应用集分配所述资源池中释放的资源。

当资源池中有释放的资源存入后,资源满载级别的应用集可以从该资源池中不 断申请资源,直到满足自己的需求,则可以停止其它级别的应用集的释放空闲资源。

具体来说,资源满载级别的应用集的资源需求量,可以是根据访问流量确定出 预测实例数(虚拟机资源),然后再将预测实例数减去当前实例数(当前虚拟机资源),即为 该应用集的资源需求量。

当然,资源满载级别的应用集的资源需求可以是将应用集从资源满载级别, 降低至其他级别。

当本申请实施例完成对资源满载级别的应用集分配资源后,可以继续提升用户 的访问流量,并再次执行步骤101-步骤105,如是反复,最终将拉平整个交易链路的应用集 的资源负载状态,使得各个应用集的资源都能够充分利用。

本申请实施例对于在云环境下应用集,根据各个应用集资源负载状态确定其 所处的资源负载级别,如果存在资源满载级别的应用集,则为该应用集申请资源,如果 此时申请资源失败,则请求其他级别的应用集释放资源,最后将释放的资源分配给资源 满载级别的应用集。需要说明的是,本申请实施例是按照应用集的资源满载级别来释 放资源,故而如果反复执行上述步骤,那么最终将拉平整个云环境下应用集的资源负载, 能够充分利用现有资源,提高应用集的资源使用效率,使得应用集可以支撑更高的访 问流量。

参照图3,示出了本申请的一种云环境下应用集资源分配的方法实施例2的步骤 流程图,具体可以包括如下步骤:

步骤201,获取云环境下指定交易链路中各个应用集的资源使用率;

步骤202,依据所述资源使用率确定各个应用集的资源负载级别;所述资源负载 级别包括高占用级别和低占用级别;

步骤203,为所述高占用级别的应用集申请资源;

步骤204,若为所述高占用级别的应用集申请资源失败,则按照资源负载级别释 放低占用级别的应用集的资源;

步骤205,将所述释放的资源分配给所述高占用级别的应用集。

在本申请的一种优选实施例中,所述步骤201可以包括:

当访问流量提升时,获取云环境下指定交易链路中各个应用集的资源使用率。

在本申请的一种优选实施例中,所述云环境下包括资源池,所述步骤203可以包 括:

向所述资源池申请资源;

当所述资源池的资源充足时,则为所述高占用级别的应用集分配所述资源池中 资源;

当所述资源池的资源枯竭时,则为所述高占用级别的应用集申请资源失败。

在本申请的一种优选实施例中,所述应用集具有对应的优先级,所述为高占用 级别的应用集分配所述资源池中资源的步骤包括:

当所述高占用级别的应用集为两个或者两个以上时,按照所述优先级为高占用 级别的应用集分配所述资源池中资源。

在本申请的一种优选实施例中,所述资源负载级别具有对应的释放比例,所述步 骤204可以包括:

确定低占用级别的应用集的资源负载级别对应的释放比例;

按照所述释放比例释放所述低占用级别的应用集的资源;

将所述释放的资源保存至资源池中。

在本申请的一种优选实施例中,所述按照释放比例释放所述低占用级别的应用集 的资源的步骤包括:

获取所述低占用级别的应用集的当前资源;

获取所述低占用级别的应用集的当前访问流量;

采用所述当前访问流量和预设单机极限值计算需求资源;

采用所述当前资源和所述需求资源确定所述低占用级别的应用集的空闲资源;

按照所述释放比例释放所述空闲资源。

在本申请的一种优选实施例中,所述步骤205包括:

向所述保存有释放的资源的资源池申请资源;

为所述高占用级别的应用集分配所述资源池中释放的资源。

在具体实现中,云环境下可以划分有多条交易链路,以有针对性地处理各种的事 务,在云环境下可以应用本发明实施例以对于应用集的资源进行统筹规划。

本申请实施例,对于在云环境下应用集,根据各个应用集资源使用率知晓该 应用集的资源负载状态,从而可以确定其所处的资源负载级别。如果存在高占用级别的 应用集,则为该应用集申请资源,如果此时申请资源失败,则请求低占用级别的应用集 释放资源,最后将释放的资源分配给高占用级别的应用集。需要说明的是,本申请实施 例是按照应用集的资源满载级别来释放资源,故而如果反复执行上述步骤,那么最终将 拉平整个云环境下应用集的资源负载,能够充分利用现有资源,提高应用集的资源使 用效率,使得应用集可以支撑更高的访问流量。

为使本领域技术人员更好地理解本申请实施例,以下通过具体的示例来说明本申 请实施例中交易链路的压测过程,如图2所示。

1,梳理整个交易链路的应用集,并接入平台;在该平台下接入有应用A集,应 用B集,应用C集,这些应用集组成一个交易链路。

2,对交易链路进行压测,以探测该交易链路下应用集的性能瓶颈。为各个应用 集按照资源负载状态划分资源负载级别,其中,出现性能瓶颈的应用集将划分为资源 满载级别。

3,当某应用集出现性能瓶颈时,如应用A集,则向资源池申请资源;如果从资 源池申请资源成功,则继续向上摸高压力,即提升该交易链路下应用集资源用户的访问 量。

申请机器(资源)时有一个原则:如果多个应用集同时出现性能瓶颈,则按照每 个应用集的优先级高低来分配资源,首先为优先级高的应用集申请资源,其次为低优 先级的应用集申请资源,以达到宿主机资源的充分利用;如果不按这个原则,则有可能会 导致低优先级的应用集分配了资源后,资源池的资源耗尽,最后无法再为高优先级的应 用集分配资源。

4,随着对交易链路的应用集不断摸高压力,并在抬高压力的时候并实时申请资 源,以支撑应用集当前的访问流量。直到某应用集出现性能瓶颈,并且申请资源失败 (资源池已枯竭)。平台则自动遍历其它链路上的应用集的资源负载状态,每个应用集 根据自身的资源负载状态不同,梯度释放资源以拉平资源负载水位。

5,拉平水位后,资源释放并保存到资源池,出现性能瓶颈的应用集A不断从资源 池申请资源,直到拿到自己的资源需求,则停止其它低负载应用集释放空闲资源的任务。 此时,继续摸高压力,即提升用户的访问流量,从第1步再次迭代。

6,通过以上5步迭代,最终以达到充分利用交易链路的应用集的现有资源,使得 该交易链路能够支撑更大用户的访问流量。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组 合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依 据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该 知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施 例所必须的。

参照图4,示出了本申请的一种云环境下应用集资源分配的装置实施例的结构 框图,具体可以包括如下模块:

资源负载状态获取模块301,用于获取云环境下各个应用集的资源负载状态;

在本申请的一个实施例中,所述资源负载状态获取模块301可以包括如下子模块:

资源负载状态获取子模块,用于在访问流量提升时,获取云环境下各个应用集 的资源负载状态。

资源负载级别确定模块302,用于依据所述资源负载状态确定所述应用集的资 源负载级别;所述资源负载级别包括资源满载级别和其他级别;

资源申请模块303,用于为所述资源满载级别的应用集申请资源;

在本申请的一个实施例中,所述云环境下可以包括资源池,所述资源申请模块303 可以包括如下子模块:

第一资源池资源申请子模块,用于向所述资源池申请资源;

第一资源处理子模块,用于在所述资源池的资源充足时,则为所述资源满载级别 的应用集分配所述资源池中资源;

第二资源处理子模块,用于在所述资源池的资源枯竭时,则为所述资源满载级别 的应用集申请资源失败。

在本申请的一个实施例中,所述应用集可以具有对应的优先级,所述第一资源 处理子模块包括:

优先级处理单元,用于在所述资源满载级别的应用集为两个或者两个以上时, 按照所述优先级为资源满载级别的应用集分配所述资源池中资源。

资源释放模块304,用于在为所述资源满载级别的应用集申请资源失败时,按照 资源负载级别释放其他级别的应用集的资源;

在本申请的一个实施例中,所述资源负载级别可以具有对应的释放比例,所述资 源释放模块304可以包括如下子模块:

释放比例确定子模块,用于确定其他级别的应用集的资源负载级别对应的释放 比例;

资源比例释放子模块,用于按照所述释放比例释放所述其他级别的应用集的资 源;

释放资源保存子模块,用于将所述释放的资源保存至资源池中。

在本申请的一个实施例中,所述资源比例释放子模块可以包括如下单元:

当前资源获取单元,用于获取所述其他级别的应用集的当前资源;

当前访问流量单元,用于获取所述其他级别的应用集的当前访问流量;

需求资源计算单元,用于采用所述当前访问流量和预设单机极限值计算需求资 源;

空闲资源确定单元,用于采用所述当前资源和所述需求资源确定所述其他级别的 应用集的空闲资源;

空闲资源释放单元,用于按照所述释放比例释放所述空闲资源。

释放资源分配模块305,用于将所述释放的资源分配给所述资源满载级别的应用 集。

在本申请的一个实施例中,所述释放资源分配模块205可以包括如下子模块:

第二资源池资源申请子模块,用于向所述保存有释放的资源的资源池申请资源;

第三资源处理子模块,用于为所述资源满载级别的应用集分配所述资源池中释 放的资源。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关 之处参见方法实施例的部分说明即可。

本申请实施例还提供了一种云环境下应用集资源分配的系统,所述系统包括:

一个或多个处理器;

存储器;和

一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一 个或多个处理器执行,所述一个或多个模块具有如下功能:

获取云环境下各个应用集的资源负载状态;

依据所述资源负载状态确定所述应用集的资源负载级别;所述资源负载级别包 括资源满载级别和其他级别;

为所述资源满载级别的应用集申请资源;

若为所述资源满载级别的应用集申请资源失败,则按照资源负载级别释放其他 级别的应用集的资源;

将所述释放的资源分配给所述资源满载级别的应用集。

可选地,该一个或多个模块可以具有如下功能:

当访问流量提升时,获取云环境下各个应用集的资源负载状态。

可选地,所述云环境下包括资源池,该一个或多个模块可以具有如下功能:

向所述资源池申请资源;

当所述资源池的资源充足时,则为所述资源满载级别的应用集分配所述资源池 中资源;

当所述资源池的资源枯竭时,则为所述资源满载级别的应用集申请资源失败。

可选地,所述应用集具有对应的优先级,该一个或多个模块可以具有如下功能:

当所述资源满载级别的应用集为两个或者两个以上时,按照所述优先级为资源 满载级别的应用集分配所述资源池中资源。

可选地,所述资源负载级别具有对应的释放比例,该一个或多个模块可以具有如 下功能:

确定其他级别的应用集的资源负载级别对应的释放比例;

按照所述释放比例释放所述其他级别的应用集的资源;

将所述释放的资源保存至资源池中。

可选地,该一个或多个模块可以具有如下功能:

获取所述其他级别的应用集的当前资源;

获取所述其他级别的应用集的当前访问流量;

采用所述当前访问流量和预设单机极限值计算需求资源;

采用所述当前资源和所述需求资源确定所述其他级别的应用集的空闲资源;

按照所述释放比例释放所述空闲资源。

可选地,该一个或多个模块可以具有如下功能:

向所述保存有释放的资源的资源池申请资源;

为所述资源满载级别的应用集分配所述资源池中释放的资源。

本申请实施例还提供了一种云环境下应用集资源分配的装置,所述装置可以包 括如下模块:

资源使用率获取模块,用于获取云环境下指定交易链路中各个应用集的资源使 用率;

资源负载级别确定模块,用于依据所述资源使用率确定各个应用集的资源负载 级别;所述资源负载级别包括高占用级别和低占用级别;

资源申请获取模块,用于为所述高占用级别的应用集申请资源;

资源释放模块,用于若为所述高占用级别的应用集申请资源失败,则按照资源 负载级别释放低占用级别的应用集的资源;

资源分配模块,用于将所述释放的资源分配给所述高占用级别的应用集。

图5是本申请实施例提供的一种服务器结构示意图。该服务器400可因配置或性能 不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程 序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和 存储介质430可以是短暂存储的或持久存储的。存储在存储介质430的程序可以包括一个或 一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步 地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的 一系列指令操作。

服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络 接口450,一个或一个以上输入输出接口758,一个或一个以上键盘456,和/或,一个或一个 以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

中央处理器422可以在服务器400上执行以下操作的指令:

获取云环境下各个应用集的资源负载状态;

依据所述资源负载状态确定所述应用集的资源负载级别;所述资源负载级别包 括资源满载级别和其他级别;

为所述资源满载级别的应用集申请资源;

若为所述资源满载级别的应用集申请资源失败,则按照资源负载级别释放其他 级别的应用集的资源;

将所述释放的资源分配给所述资源满载级别的应用集。

可选地,该一个或多个模块可以具有如下功能:

当访问流量提升时,获取云环境下各个应用集的资源负载状态。

可选地,所述云环境下包括资源池,该一个或多个模块可以具有如下功能:

向所述资源池申请资源;

当所述资源池的资源充足时,则为所述资源满载级别的应用集分配所述资源池 中资源;

当所述资源池的资源枯竭时,则为所述资源满载级别的应用集申请资源失败。

可选地,所述应用集具有对应的优先级,该一个或多个模块可以具有如下功能:

当所述资源满载级别的应用集为两个或者两个以上时,按照所述优先级为资源 满载级别的应用集分配所述资源池中资源。

可选地,所述资源负载级别具有对应的释放比例,该一个或多个模块可以具有如 下功能:

确定其他级别的应用集的资源负载级别对应的释放比例;

按照所述释放比例释放所述其他级别的应用集的资源;

将所述释放的资源保存至资源池中。

可选地,该一个或多个模块可以具有如下功能:

获取所述其他级别的应用集的当前资源;

获取所述其他级别的应用集的当前访问流量;

采用所述当前访问流量和预设单机极限值计算需求资源;

采用所述当前资源和所述需求资源确定所述其他级别的应用集的空闲资源;

按照所述释放比例释放所述空闲资源。

可选地,该一个或多个模块可以具有如下功能:

向所述保存有释放的资源的资源池申请资源;

为所述资源满载级别的应用集分配所述资源池中释放的资源。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与 其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算 机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和 硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可 用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上 实施的计算机程序产品的形式。

在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出 接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储 器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算 机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以 由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或 其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读 存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或 其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照 本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如 调制的数据信号和载波。

本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序 产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图 中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些 计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设 备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执 行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中 指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备 以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包 括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方 框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得 在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在 计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程 和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基 本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为 包括优选实施例以及落入本申请实施例范围的所有变更和修改。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将 一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作 之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意 在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包 括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品 或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要 素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。

以上对本申请所提供的一种云环境下应用集资源分配的方法,一种云环境下应 用集资源分配的装置,以及一种云环境下应用集资源分配的系统,进行了详细介绍,本 文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于 帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思 想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对 本申请的限制。

本文发布于:2024-09-23 18:24:33,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/87018.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议