一种管理资源的方法和装置与流程

文档序号:12305107阅读:164来源:国知局
一种管理资源的方法和装置与流程

本发明涉及通信领域,并且更具体地,涉及一种通信领域中管理资源的方法和装置。



背景技术:

随着计算机网络的进一步发展和海量数据计算能力的要求,云计算技术成为业界发展主流,成为当前信息技术(informationtechnology,简称“it”)的发展趋势。云计算的核心思想是,通过网络将计算资源建立一个资源池,对资源池进行统一管理和调度,根据用户的需要对资源进行按需分配。

弹性伸缩是云计算中一个非常重要的特性。弹性伸缩是指云计算系统可以根据业务需要,实现资源的自适应伸缩,使得用户可大可小、可增可减地利用资源池中的各种资源。

但是,目前的弹性伸缩机制是针对单个应用实现资源的弹性伸缩,而对于一些大型系统而言,一个业务的处理中可能存在多个不同的应用相互关联或者相互依赖的情况,如果仍然根据现有的弹性伸缩机制来管理资源,需要对每个应用分别进行资源的伸缩处理,使得整个业务的自适应时间较长。

具体来说,若某个业务中的处理涉及到两个应用(例如,应用a和应用b),应用a所申请到的资源是需要与应用b所申请的资源配合使用的。如果其中的一个应用(例如,应用a)完成了资源伸缩,例如,申请到了资源。但系统并不知道该应用a与其他应用相关联,并不会在应用a满足资源伸缩的预设条件时,对与应用a相关联的应用(例如,应用b)进行伸缩。也就是说,应用a完成了资源伸缩后,应用b并未进行资源伸缩或者还未完成资源伸缩,因此,应用a此时仍然无法使用新申请到的资源。也就是说,该业务中的应用相互关联,整个业务的弹性伸缩的时长由该业务中所有关联的应用的弹性伸缩的时长的总和决定。



技术实现要素:

本申请提供一种管理资源的方法和装置,以缩短具有多个关联应用的业务的弹性伸缩时间,提高资源管理效率。

第一方面,本申请提供一种管理资源的方法,该方法包括:根据待处理的业务,确定应用集合,该应用集合中的应用用于处理该待处理的业务,该应用集合包括至少两个应用;确定该应用集合的资源使用率;当该应用集合的资源使用率满足资源伸缩的预设条件时,根据与预设条件相对应的资源伸缩策略,对应用集合中的每个应用进行资源伸缩处理。

本申请通过将用于处理同一业务的多个应用绑定在一起,组成应用集合,对应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对应用集合中的每个应用同时进行资源伸缩管理,可以大大减少业务的弹性伸缩时间,提高业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。

结合第一方面,在第一方面的第一种可能的实现方式中,该资源伸缩策略包括该应用集合中的各应用间的资源配置比例,以及,根据资源伸缩策略,对应用集合中的每个应用进行资源伸缩处理,包括:根据资源配置比例,对应用集合中的每个应用增加或减少资源分配量。

本申请通过根据业务中各应用的权重确定资源配置比例,能够一次性对相关联的多个应用按比例地同时进行弹性伸缩,可以满足不同业务中不同应用对资源的需求。

结合第一方面的上述可能的实现方式,在第一方面的第二种可能的实现方式中,每个资源携带有资源标识,以及,根据资源伸缩策略,对应用集合中的每个应用进行资源伸缩处理,包括:根据资源伸缩策略,确定为应用集合配置的目标资源集合,该目标资源集合中的每个目标资源携带有资源标识,该应用集合中的每个应用与该目标资源集合中的每个目标资源的资源标识一一对应;根据该目标资源集合中的每个目标资源的资源标识,对该应用集合中的每个应用进行资源伸缩处理。

结合第一方面的上述可能的实现方式,在第一方面的第三种可能的实现方式中,确定应用集合的资源使用率,包括:获取应用集合中的每个应用的资源使用率;根据该应用集合中的每个应用的资源使用率,确定应用集合中的第一应用的资源使用率,并将该第一应用的资源使用率作为该应用集合的 资源使用率;或者,确定应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将该应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为该应用集合的资源使用率。

本申请通过综合考虑各应用的权重以及资源使用率,确定是否对应用集合进行资源伸缩,使资源管理更加合理。

第二方面,本申请提供一种管理资源的装置,用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,该装置包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。

第三方面,本申请提供一种管理资源的设备,该设备包括:接收器、发送器、存储器、处理器和总线系统。其中,该接收器、该发送器、该存储器和该处理器通过该总线系统相连,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制接收器接收信号,并控制发送器发送信号,并且当该处理器执行该存储器存储的指令时,该执行使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。

第四方面,本申请提供一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。

在某些实现方式中,资源使用率包括以下至少一项:cpu使用率、内存使用率或磁盘空间使用率。

本申请提供了一种管理资源的方法和装置,能够缩短具有多个关联应用的业务的弹性伸缩时间,提高业务的执行效率;同时,减少人工操作和维护成本,提高资源管理效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是适用于本发明实施例的云计算系统的示意性架构图。

图2是根据本发明一实施例的管理资源的方法的示意性流程图。

图3是根据本发明另一实施例的管理资源的方法的示意性流程图。

图4是根据本发明一实施例的管理资源的装置的示意性框图。

图5是根据本发明一实施例的管理资源的设备的示意性框图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。

以下,为便于理解和说明,以云计算系统为例详细说明根据本发明实施例的方法。

为便于理解,先结合图1,详细介绍适用于本发明实施例的云计算系统的架构图。

图1是适用于本发明实施例的云计算系统100的示意性架构图。如图1所示,云计算系统100中包括:伸缩策略管理器、资源采集器、伸缩控制器、应用部署器、资源管理器和基础设施即服务(infrastructureasaservice,简称“iaas”,或者说,i层)资源。云计算系统100中可以运行有多个应用,例如,图中所示的应用1、应用2和应用3,每个应用可以包括多个实例,例如,应用1可以包括实例1、实例2和实例3,应用2可以包括实例4、实例5和实例6,应用3可以包括实例7、实例8和实例9,本发明对此并未限定。

需要说明的是,一个实例可以理解为运行在一个运行节点上的应用,或者说,一个实例对应了一个运行节点,这里所说的运行节点可以为虚拟机、物理机或者容器(例如,docker)。换句话说,运行节点可以理解为云计算系统所提供的资源的载体。一个实例,即一个应用运行在云计算系统所提供的一个资源上。

在本发明实施例中,云计算系统的资源可以包括:中央处理器(centralprocessingunit,简称“cpu”)、内存、存储空间、网络资源。该资源可以存放在i层,也就是说,i层可以理解为一个资源池。

应理解,以上列举的云计算系统的资源的具体内容仅为示例性说明,不应对本发明构成任何限定,本发明也不应限于此,例如,该资源还可以包括云计算系统的其他资源。

为便于说明,以下,以为应用申请资源为例,详细说明上述各个模块的功能。

在云计算系统100中,资源采集器用于采集各应用中的各实例的资源使用情况,例如,资源使用率,并将资源使用情况上报给伸缩策略管理器。作为示例而非限定,该资源使用率包括:cpu使用率、内存使用率或磁盘空间使用率。

伸缩策略管理器用于根据资源采集器上报的资源使用情况,实时地为各应用进行资源配置。具体地,伸缩策略管理器确定云计算系统当前为应用所配置的资源满足资源伸缩的预设条件时,即可以确定根据预设的、与预设条件相对应的资源伸缩策略,对满足预设条件的应用进行资源伸缩处理(或者说,弹性伸缩处理)。

在本发明实施例中,资源伸缩可以包括资源伸展和资源收缩。资源伸缩的预设条件可以包括资源伸展的第一预设条件和资源收缩的第二预设条件,并且,资源伸缩的预设条件可以包括cpu伸缩的预设条件、内存伸缩的预设条件以及存储空间伸缩的预设条件等。在不同类型的资源的使用率满足预设条件时,可以根据与之相对应的资源伸缩策略,对资源进行伸展或收缩。伸缩策略管理器可以理解为一个决策单元,其中存储了资源伸缩的预设条件以及资源伸缩策略。当伸缩策略管理器确定某个应用满足资源伸缩的预设条件时,便可以将相对应的资源伸缩策略通过资源伸缩消息的方法发送给伸缩控制器,由伸缩控制器来进行资源伸缩处理。

在本发明实施例中,该资源伸缩策略可以为:为不同应用预先配置不同规格的资源伸缩量(或者称,伸缩步长)。可选地,该伸缩步长可以根据业务处理量来确定,并且,该伸缩步长可以实时更新,或者周期性更新。例如,根据历史数据记载的业务处理量的变化情况来更新伸缩步长,在业务处理量较大的时段内,伸缩步长较大,在业务处理量较小的时段内,伸缩步长较小。

其中,每一个伸缩步长所对应的伸缩资源的规格在应用安装部署时就可以确定。该伸缩资源的规格可以以cpu核数、内存大小、存储大小或者网络配置为单位。例如,该伸缩步长为一个虚拟机,该虚拟机的伸缩资源的规格为四核cpu。

在一种实现方式中,伸缩策略管理器中可以预先保存应用标识、伸缩资源的规格与伸缩步长的对应关系(为便于理解和说明,记作第一映射关系), 在确定需要对其中的某个应用(为便于理解和说明,记作第一应用)进行资源伸缩处理时,确定与第一应用相对应的伸缩步长以及伸缩资源的规格,例如,为第一应用配置一个四核cpu虚拟机。其中,一个虚拟机可以理解为与第一应用相对应的伸缩步长,四核cpu可以理解为与该第一应用相对应的伸缩资源的规格。伸缩策略管理器可以将该第一应用的应用标识以及对应的伸缩资源的规格和伸缩步长的信息通过资源伸缩消息发送给伸缩控制器。

在另一种实现方式中,伸缩策略管理器也可以预先将该第一映射关系发送给伸缩控制器,在确定第一应用需要进行资源伸缩处理时,将第一应用的应用标识发送给伸缩控制器,伸缩控制器根据该第一应用的应用标识,从第一映射关系中,确定与第一应用相对应的伸缩步长和伸缩资源的规格。

在本发明实施例中,为便于理解和说明,将伸缩控制器或者资源管理器为每个应用配置的资源记作目标资源。

需要说明的是,系统为每个应用配置的资源可以通过虚拟机、物理机或者容器来承载,或者说,虚拟机、物理机或者容器可以作为资源的载体。例如,伸缩策略管理器确定为第一应用配置四核cpu,则可以通过一个虚拟机来承载四核cpu,将该虚拟机分配给第一应用,该一个虚拟机即为与第一应用对应的伸缩步长。

伸缩控制器在接收到资源伸缩消息,并确定伸缩步长后,可以通过资源管理器向i层申请资源。具体地,伸缩控制器可以向资源管理器发送资源伸缩请求消息,在该资源伸缩请求消息中携带有需要申请的资源量。

资源管理器根据该资源伸缩请求消息,向i层申请相应的资源量。i层在根据该资源伸缩请求消息分配资源后,为资源分配响应的标识,并反馈给资源管理器。资源管理器在申请到该资源后,向伸缩控制器发送资源请求响应消息,该资源请求响应消息中可以携带有申请到的资源的资源标识,以通知伸缩控制器,已经申请到相应的资源以及该资源的资源标识,以便于应用部署器将该资源用于第一应用。

伸缩控制器接收到资源请求响应消息后,可以向应用部署器发送资源分配消息,以通知应用部署器为第一应用分配资源。

在一种实现方式中,伸缩控制器可以根据资源管理器反馈的资源标识,建立需要进行伸缩的应用的应用标识与资源标识的对应关系(为便于理解和区分,记作第二映射关系)。伸缩控制器可以将该第二映射关系发送给应用 部署器,以便于应用部署器根据该第二映射关系,为与资源标识相对应的第一应用分配资源。

需要说明的是,伸缩控制器通过资源管理器从i层申请资源,可以通过不同的线程来控制,同时为多个关联的应用申请多个资源,也可以依次从i层申请资源,本发明对此并未限定。

还需要说明的是,资源标识可以通过i层为资源分配,当i层将某个资源分配用于某个应用时,可以为其分配特定的资源标识,以便于伸缩控制器根据资源标识为相应的应用分配资源。当该资源被释放时,其资源标识也同时被释放,资源又返回到i层中,待下次使用时,i层再为其分配新的资源标识。也就是说,资源标识就可以理解为例如,一个虚拟机的标识符(identifier,简称“id”),资源标识是用于区分不同的资源的一种标识,以便于应用部署器进行资源分配。

应理解,以上所描述的用于为第一应用申请资源的各模块仅为示例性说明,不应对本发明构成任何限定。各模块还可以用于除上述功能之外的其他功能,或者,该系统也可以包括除上述模块之外的其他模块,以及更多或者更少的模块,用于执行以上所描述的各个功能,本发明对此并未特别限定。

还应理解,以上所述的第一应用仅用于对某个应用的标识以及与其他应用(例如,第二应用)的区分,“第一”、“第二”仅用于区分两个不同的应用,而不用于指示执行的先后顺序或其他内容。

以下,仍然以图1中所示的云计算系统100的架构为例,结合图2和图3,从云计算系统的角度详细说明根据本发明实施例的管理资源的方法。

应理解,图1所示的云计算系统100可用于执行图2和图3中的方法的各步骤。

图2是根据本发明一实施例的管理资源的方法200的示意性流程图。应理解,图2示出了应用于云计算系统的详细的通信步骤或操作,但这些步骤或操作仅是示例,本发明实施例还可以执行其它操作或者图2中的各种操作的变形。此外,图2中的各个步骤可以按照与图2呈现的不同的顺序来执行,并且有可能并非要执行图2中的全部操作。

下面描述图2的具体步骤。

s202,伸缩策略管理器确定第一应用集合。

伸缩策略管理器可以根据当前待处理的某一业务(为便于理解和说明, 记作第一业务),确定相对应的应用集合(为便于理解和说明,记作第一应用集合),第一应用集合为用于处理第一业务的应用的集合。在该第一应用集合中,可以包括至少两个应用,各应用之间具有关联关系,例如,应用a可以在执行应用b之后执行,或者,应用a和应用b同时执行完之后才可以执行应用c。

可选地,该第一应用集合中的应用用于处理第一业务,且不用于处理除该第一业务之外的业务。或者说,该第一应用集合中的应用仅用于处理第一业务。

第一应用集合可以这样理解,假设该云计算系统中运行有第二应用集合,第二应用集合中的应用用于处理第二业务,则第二应用集合与第一应用集合的交集为空。

换句话说,如果与第一业务相对应的应用的集合和与第二业务相对应的应用的集合有交集,则第一应用集合和第二应用集合都不包括该交集。也就是说,将交集中的应用单独管理,而不放在第一应用集合或者第二应用集合中联合管理。

应理解,本发明实施例中根据待处理业务将多个相关联的应用确定为第一应用集合的方法仅为示例性说明,不应对本发明构成任何限定。云计算系统也可以根据人为的预先设置,将多个不相关联的应用定义为一个应用集合,对该应用集合中的每个应用同时进行资源伸缩处理。本发明对此并未特别限定。

还应理解,以上所述的第一应用集合和第二应用集合仅用于对两个不同应用集合的标识,“第一”、“第二”仅用于区分两个不同的应用,而不用于指示执行的先后顺序或其他内容。

s204,资源采集器向伸缩策略管理器发送资源使用指示信息。

资源采集器可以用于采集运行在该云计算系统中的每个应用的每个实例的资源使用情况,例如,资源使用率。因此,资源采集器采集第一应用集合的资源使用情况,可以为第一应用集合中的某一个应用的资源使用情况,也可以是每个应用的资源使用情况。

资源采集器可以向伸缩策略管理器发送资源使用指示信息,该资源使用指示信息用于指示每个应用的资源使用情况。

s206,伸缩策略管理器确定第一应用集合的资源使用率。

伸缩策略管理器接收到资源采集器发送的资源使用指示信息,可以确定第一应用集合的资源使用率。伸缩策略管理器可以确定第一应用集合中的某一个预设的应用的资源使用率,并将该预设的应用的资源使用率确定为第一应用集合的资源使用率;或者,伸缩策略管理器也可以确定第一应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值等,并将该预设的应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值等作为第一应用集合的资源使用率;或者,伸缩策略管理器还可以直接将第一应用集合中每个应用的资源使用率作为第一应用集合的资源使用率,考量第一应用集合中的每个应用的资源使用率。在本发明实施例中,伸缩策略管理器确定第一应用集合的资源使用率的具体内容可以根据第一业务的应用中各应用的权重来确定。例如,若第一业务中的第一应用是属于第一应用集合中最重要的一个应用,其他应用都依赖于该第一应用,则可以确定预设的应用即第一应用,只需确定第一应用的资源使用率;或者,若第一业务中的各应用依先后顺序来执行,则可以确定该第一应用集合中的每个应用的资源使用率。本发明对于确定第一应用集合的资源使用率的具体方法并未特别限定。

s208,伸缩策略管理器确定对第一应用集合中的每个应用进行资源伸缩处理。

具体来说,伸缩策略管理器在确定第一应用集合的资源使用率满足资源伸缩的第一预设条件时,根据预设的资源伸缩策略,确定对第一应用集合中的每个应用进行资源伸缩处理。

在本发明实施例中,与伸缩策略管理器所采集的第一应用集合的资源使用率相对应,资源伸缩的第一预设条件也分别可以设置有该预设的应用的资源使用率的门限、第一应用集合中每个应用的资源使用率的门限、第一应用集合中的应用的资源使用率的总和的门限、第一应用集合中的应用的资源使用率的最大值的门限、第一应用集合中的应用的资源使用率的最小值的门限或者第一应用集合中的应用的资源使用率的平均值的门限。

如上所述,资源使用率可以包括cpu使用率、内存使用率以及存储空间使用率,以及上述各门限可以为cpu使用率的门限或者内存使用率的门限或者存储空间使用率的门限。本发明对此并未特别限定。

应理解,上述第一预设条件为用于确定是否进行资源申请的预设条件,与后文中用于确定是否进行资源释放的第二预设条件相区分。

在本发明实施例中,资源管理器中可以预存有伸缩策略。例如,可以根据第一应用集合中的各应用的类型以及权重等信息,按预设的资源配置比例伸缩资源。该资源配置比例可以在业务部署时,根据各应用间的处理量的比例关系来确定,也就是说,该资源配置比例可以预先设置。例如,应用a与应用b的应用处理量比例为1:2,伸缩步长为一个虚拟机,则应用a与应用b按照1:2的比例伸缩资源,即,为应用a分配一个虚拟机时,为应用b分配两个虚拟机。应注意,虽然为应用a和应用b分配的都是虚拟机,但是所承载的资源有可能是不同的。例如,为应用a所分配的虚拟机是四核cpu,为应用b所分配的虚拟机是八核cpu。虚拟机具体承载的资源是根据预设的伸缩资源的规格来确定的。应理解,这里所列举的用于承载资源的虚拟机仅为示例性说明,还可以为物理机、容器等其他可用于承载资源的物理设备或者虚拟设备。

s210,伸缩策略管理器向伸缩控制器发送资源伸缩消息。

伸缩策略管理器在确定第一应用集合满足上述资源伸缩的预设条件时,可以向伸缩控制器发送资源伸缩消息,以通知伸缩控制器进行资源伸缩处理。可选地,该资源伸缩消息中可以携带有该第一应用的应用标识以及伸缩步长的信息,以便于伸缩控制器根据第一应用的应用标识和伸缩步长进行资源伸缩处理。

s212,伸缩控制器向资源管理器发送第一资源请求消息。

伸缩控制器向资源管理器发送第一资源请求消息,以请求资源管理器根据伸缩策略管理器所预先设定的伸缩步长来申请资源。资源管理器可以根据伸缩步长确定具体向i层申请的资源的类型、数量与载体,例如,申请两个四核虚拟机,或者申请一个1024兆内存的物理机等。

s214,资源管理器向i层发送第二资源请求消息。

资源管理器向i层发送的第二资源请求消息中可以携带上述伸缩控制器所确定的资源的类型、数量与载体。

s216,资源管理器向伸缩控制器发送资源请求响应消息。

资源管理器在完成与i层的资源申请后,可以向伸缩控制器发送资源请求响应消息,以通知伸缩控制器资源已申请到,以便于伸缩控制器进行后续处理。该资源请求响应消息中可以携带有申请到的资源的资源标识,以便于伸缩控制器根据第二映射关系为第一应用集合中的每个应用分配资源。

在本发明实施例中,为便于理解和说明,将伸缩控制器或者资源管理器为第一应用集合中每个应用配置的资源的集合记作目标资源集合,每个应用对应一个目标资源。

s218,伸缩控制器向应用部署器发送资源分配消息。

s220,应用部署器为第一应用集合中的每个应用分配资源。

应用部署器根据确定好的、为第一应用集合中的每个应用所分配的资源,在分配的虚拟机或者其他运行节点上运行相对应的应用,即,在第一应用集合中的每个应用上增加运行了一个或多个实例。

伸缩控制器或者应用部署器根据上述的第二映射关系为第一应用集合中的每个应用分配资源的具体过程在前文中已经详细描述,为了简洁,这里不再赘述。

因此,本发明实施例的管理资源的方法,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。

图3是根据本发明另一实施例的管理资源的方法300的示意性流程图。应理解,图3示出了应用于云计算系统的详细的通信步骤或操作,但这些步骤或操作仅是示例,本发明实施例还可以执行其它操作或者图3中的各种操作的变形。此外,图3中的各个步骤可以按照与图3呈现的不同的顺序来执行,并且有可能并非要执行图3中的全部操作。

下面描述图3的具体步骤。

s302,伸缩策略管理器确定第一应用集合。

s304,资源采集器向伸缩策略管理器发送资源使用指示信息。

s306,伸缩策略管理器确定第一应用集合的资源使用率。

s308,伸缩策略管理器确定对第一应用集合中的每个应用进行资源伸缩处理。

s310,伸缩策略管理器向伸缩控制器发送资源伸缩消息。

伸缩策略管理器可以根据第一应用集合的资源使用率,确定第一应用集 合的资源使用率满足资源伸缩的第二预设条件时,对第一应用集合的每个应用进行资源伸缩处理。

与第一预设条件相对应地,资源伸缩的第二预设条件也可以分别设置有第一应用的资源使用率的门限、第一应用集合中每个应用的资源使用率的门限、第一应用集合中的应用的资源使用率的总和的门限、第一应用集合中的应用的资源使用率的最大值的门限、第一应用集合中的应用的资源使用率的最小值的门限或者第一应用集合中的应用的资源使用率的平均值的门限。

需要说明的是,若根据第一应用集合中的每个应用的资源使用率来确定是否满足预设条件,有可能会出现第一应用集合中的部分应用满足第一预设条件,而另一部分应用满足第二预设条件的情况。在这种情况下,可以优先为第一应用集合中的每个应用请求申请资源,而避免因部分应用的资源释放导致该业务中其他应用的资源无法配合使用,导致整个业务无法正常运行。

应理解,s302~s310的具体过程与s202~s210的具体过程相似,为了简洁,这里不再赘述。

s312,伸缩控制器向应用部署器发送应用卸载消息。

伸缩控制器可以根据资源伸缩消息,以及预设的资源伸缩策略(例如,伸缩步长),确定可以释放的资源的资源标识。

s314,应用部署器卸载第一应用集合中的应用。

应用部署器根据上述第二映射关系,可以确定与该资源标识对应的应用,进而在该资源上卸载该应用。

在一种实现方式中,伸缩控制器可以根据资源伸缩消息,确定可以释放的资源的资源标识。进而根据上述第二映射关系,确定与该资源标识对应的应用标识。伸缩控制器向应用部署器发送应用卸载消息,并在应用卸载消息中携带该资源标识和应用标识,以便于应用部署器可以根据该资源标识和应用标识,在相对应的资源上卸载应用。

在另一种实现方式中,伸缩控制器可以直接向应用部署器发送应用卸载消息,该资源释放消息中携带可以释放的资源的资源标识,应用部署器可以根据资源标识和第二映射关系,确定需要卸载的应用,并在该资源上卸载该应用。

s316,应用部署器向伸缩控制器发送应用卸载响应消息。

应用部署器完成应用卸载后,可以向伸缩控制器发送资源释放响应消 息,以通知伸缩控制器已经在可以释放的资源上完成了应用卸载,可以释放该资源。

s318,伸缩控制器向资源管理器发送第一资源释放消息。

伸缩控制器向资源管理器发送第一资源释放消息,在第一资源释放消息中可以携带可以释放的资源的资源标识,以请求资源管理器根据伸缩策略管理器所确定的资源标识释放资源。s320,资源管理器向i层发送第二资源释放消息。

资源管理器向i层发送第二资源释放消息,在第二资源释放消息中可以携带有可以释放的资源的资源标识。i层在接收到第二资源释放消息后,可以根据资源标识将对应的资源释放。

因此,本发明实施例的管理资源的方法,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。

以上,结合图2和图3详细说明了根据本发明实施例的管理资源的方法。以下,结合图4详细说明根据本发明实施例的管理资源的装置。

图4是根据本发明实施例的管理资源的装置400的示意性框图。如图4所示,该装置400包括:确定单元410和处理单元420。

其中,该确定单元410用于根据待处理的业务,确定应用集合,应用集合中的应用用于处理该待处理的业务,该应用集合包括至少两个应用;并确定应用集合的资源使用率;

该处理单元420用于当该确定单元410确定应用集合的资源使用率满足资源伸缩的预设条件时,根据与该预设条件相对应的资源伸缩策略,对应用集合中的每个应用同时进行资源伸缩处理。

可选地,该资源伸缩策略包括该应用集合中的各应用间的资源配置比例,该处理单元420具体用于根据该资源配置比例,对应用集合中的每个应用增加或减少资源分配量。

可选地,每个资源携带有资源标识,每个资源标识用于指示所对应的资 源的类型,该处理单元420具体用于根据该资源伸缩策略,确定为应用集合配置的目标资源集合,该目标资源集合中的每个目标资源携带有资源标识,该应用集合中的每个应用与该目标资源集合中的每个目标资源的资源标识一一对应;并根据该目标资源集合中的每个目标资源的资源标识,对该应用集合中的每个应用同时进行资源伸缩处理。

可选地,该装置400还包括获取单元430,用于获取应用集合中的每个应用的资源使用率;

该确定单元410具体用于确定应用集合中的第一应用的资源使用率,并将该第一应用的资源使用率作为该应用集合的资源使用率;或者,确定应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将该应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为该应用集合的资源使用率。

可选地,该资源使用率包括以下至少一项:cpu使用率、内存使用率或磁盘空间使用率。

应理解,根据本发明实施例的管理资源的装置400中的各单元可以通过图1的各模块来实现相应的功能。具体而言,图1中的伸缩策略管理器可用于实现装置400中的确定单元420的功能,图1中的伸缩控制器、资源管理器和应用部署器可用于实现装置400中的处理单元420的功能,图1中的资源采集器可用于实现装置400中的获取单元430的功能。还应理解,图1中所列举的各模块仅用于示例性说明,上述各单元的功能也可以通过除图1中所列举的模块之外的其他模块,以及更多或者更少的模块来实现以上所描述的各个功能,本发明对此并未特别限定。

还应理解,根据本发明实施例的管理资源的装置400可对应于根据本发明实施例的管理资源的方法200和方法300中的云计算系统,并且,该装置400中的各单元和上述其他操作和/或功能分别为了实现图2和图3中的各方法的相应流程,为了简洁,在此不再赘述。

因此,本发明实施例的管理资源的装置,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来 进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。

以上,结合图4详细说明了根据本发明实施例的管理资源的装置。以下,结合图5详细说明根据本发明实施例的管理资源的设备。

图5是根据本发明实施例的管理资源的设备500的示意性框图。如图5所示,该设备500包括:接收器510、发送器520、处理器530、存储器540和总线系统550。其中,接收器510、发送器520、处理器530和存储器540通过总线系统550相连,该存储器540用于存储指令,该处理器530用于执行该存储器540存储的指令,以控制接收器510接收信号,并控制发送器520发送信号。

其中,该处理器530用于根据待处理的业务,确定应用集合,应用集合中的应用用于处理该待处理的业务,该应用集合包括至少两个应用;并确定应用集合的资源使用率;并在确定应用集合的资源使用率满足资源伸缩的预设条件时,根据与该预设条件相对应的资源伸缩策略,对应用集合中的每个应用进行资源伸缩处理。

可选地,该资源伸缩策略包括该应用集合中的各应用间的资源配置比例,该处理器530具体用于根据该资源配置比例,对应用集合中的每个应用增加或减少资源分配量。

可选地,每个资源携带有资源标识,该处理器530具体用于根据资源伸缩策略,确定为应用集合配置的目标资源集合,该目标资源集合中的每个目标资源携带有资源标识,该应用集合中的每个应用与该目标资源集合中的每个目标资源的资源标识一一对应;并根据该目标资源集合中的每个目标资源的资源标识,对该应用集合中的每个应用进行资源伸缩处理。

可选地,该处理器530还用于获取应用集合中的每个应用的资源使用率,并将该第一应用的资源使用率作为该应用集合的资源使用率;并确定应用集合中的第一应用的资源使用率,或者,确定应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值,并将该应用集合中的应用的资源使用率的总和、最大值、最小值或者平均值作为该应用集合的资源使用率。

可选地,该资源使用率包括以下至少一项:cpu使用率、内存使用率或磁盘空间使用率。

应理解,在本发明实施例中,该处理器530可以是中央处理单元(central processingunit,简称为“cpu”),该处理器530还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器540可以包括只读存储器和随机存取存储器,并向处理器530提供指令和数据。存储器540的一部分还可以包括非易失性随机存取存储器。例如,存储器540还可以存储设备类型的信息。

该总线系统550除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统550。

在实现过程中,上述方法的各步骤可以通过处理器530中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的用于超级小区间切换的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器540,处理器530读取存储器540中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。

根据本发明实施例的管理资源的设备500可对应于根据本发明实施例的管理资源的方法200和方法300中的云计算系统,并且,该设备500中的各单元和上述其他操作和/或功能分别为了实现图2和图3中的各方法的相应流程,为了简洁,在此不再赘述。

因此,本发明实施例的管理资源的设备,通过将用于处理第一业务的多个应用绑定在一起,组成第一应用集合,对第一应用集合中的各个应用联合管理,在其中某一个或多个应用满足资源伸缩的预设条件时,对第一应用集合中的每个应用同时进行资源伸缩管理,可以大大减少第一业务的弹性伸缩时间,提高第一业务的执行效率;另一方面,与现有技术中通过人工操作来进行资源管理相比,通过对应用联合管理,提高资源管理效率,减少人工操作以及维护成本。

应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存 在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质 中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,ram)、随机存取存储器(randomaccessmemory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1