CN111580925B - 应用伸展的方法和装置 - Google Patents

应用伸展的方法和装置 Download PDF

Info

Publication number
CN111580925B
CN111580925B CN201910123256.4A CN201910123256A CN111580925B CN 111580925 B CN111580925 B CN 111580925B CN 201910123256 A CN201910123256 A CN 201910123256A CN 111580925 B CN111580925 B CN 111580925B
Authority
CN
China
Prior art keywords
application
virtual machine
information
cluster
deployed
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
Application number
CN201910123256.4A
Other languages
English (en)
Other versions
CN111580925A (zh
Inventor
邹韬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910123256.4A priority Critical patent/CN111580925B/zh
Publication of CN111580925A publication Critical patent/CN111580925A/zh
Application granted granted Critical
Publication of CN111580925B publication Critical patent/CN111580925B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution 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)
  • Stored Programmes (AREA)

Abstract

本申请提供了一种应用伸展的方法和装置,属于大数据技术领域。所述方法包括:获取应用的KPI信息,如果应用中第一应用的KPI信息满足应用伸展条件,则可以确定第一应用所属第一集群中的虚拟机上的第一部署应用信息,然后使用第一部署应用信息,为第一应用进行伸展处理。采用本申请,可以提高伸展效率。

Description

应用伸展的方法和装置
技术领域
本申请涉及大数据技术领域,特别涉及一种应用伸展的方法和装置。
背景技术
作为自互联网革命以来互联网技术(Internet Technology,IT)产业最深刻的变革,云计算实现了对业务、对底层资源的屏蔽。在云计算***中存在多个集群,每个集群包括至少一个虚拟机(Virtual Machine,VM),每个虚拟机上可以运行至少一个应用,每个应用由至少一个虚拟机为该应用提供资源,在应用A的业务量突然增大时,会新增虚拟机为应用A提供服务。
相关技术中,在一个集群中包括虚拟机A和虚拟机B,虚拟机A和虚拟机B均为应用C和应用D提供资源,在虚拟机B的资源利用率超过最大资源利用率时,会新建一个虚拟机,新建的虚拟机上部署应用C和应用D,使虚拟机B的资源利用率低于最大资源利用率。
在实现本申请的过程中,发明人发现相关技术至少存在以下问题:
在虚拟机B的资源利用率超过最大资源利用率时,应用C的业务量超过了最大业务量,而应用D的业务量并未超过最大业务量,应用C和应用D均在新的虚拟机上部署,会使应用D使用了不需要耗费的资源,有可能会导致应用C不能一次伸展,需要进行多次伸展,伸展效率比较低。
发明内容
为了解决相关技术的问题,本申请实施例提供了一种应用伸展的方法和装置。所述技术方案如下:
第一方面,提供了一种应用伸展的方法,所述方法包括:
获取应用的关键绩效指标KPI信息,如果所述应用中第一应用的KPI信息满足应用伸展条件,则确定所述第一应用所属第一集群中的虚拟机上的第一部署应用信息。根据所述第一部署应用信息,为所述第一应用进行伸展处理。
本申请实施例所示的方案,在每个虚拟机上设置管理代理(可以是一个程序),管理代理可以周期性采集所属虚拟机上的各应用的关键绩效指标(Key PerformanceIndicators,KPI)信息,然后发送至管理设备,管理设备接收到后,对于一个应用,可以统计接收到的每种KPI信息的总和。在获取到应用的KPI信息之后,可以判断应用的KPI信息是否满足应用伸展条件,如果应用中某个应用(后续可以称为是第一应用)的KPI信息满足应用伸展条件,可以确定第一应用所属的集群(后续可以称为是第一集群),然后获取第一集群的第一部署应用信息。然后可以基于第一部署应用信息,确定是否新建虚拟机,或者是否在别的虚拟机上部署第一应用,进而为第一应用进行伸展处理。这样,就可以为第一应用进行伸展处理。
在一种可能的实施方式中,所述KPI信息包括连接数、并发呼叫量、并行线程数目、每秒建立呼叫数目CAPS中的一种或多种。
本申请实施例所示的方案,连接数指当前与应用建立连接的业务的数量。例如,与5个设备建立连接,分别为其传输数据,连接数为5。
并发呼叫量指并发进行呼叫的数量。例如,并行呼叫15个设备,并发呼叫量为15。
并发线程数目指并发运行的线程的数目。例如,并行运行有20个线程,并发线程数目为20。
每秒建立呼叫数目(Call Attempt Per Second,CAPS)指每秒建立的呼叫连接的数目。例如,每秒钟建立的呼叫连接有10个,CAPS为10。
在一种可能的实施方式中,所述根据所述第一部署应用信息,为所述第一应用进行伸展处理,包括:根据所述第一部署应用信息,如果所述第一集群中所有虚拟机均部署有所述第一应用,则新建第一虚拟机;在所述第一虚拟机上部署所述第一应用。
本申请实施例所示的方案,管理设备可以使用第一部署应用信息,确定第一集群中的每个虚拟机上部署的应用,然后判断是不是每个虚拟机上均部署有第一应用,如果第一集群中每个虚拟机均部署有第一应用,则可以新部署虚拟机(后续可以称为是第一虚拟机)。然后在第一虚拟机上部署第一应用。这样,由于之前未部署有第一应用的虚拟机上也部署上第一应用,所以实现了第一应用的伸展,而且由于并没有将第一应用所属的虚拟机上的其它应用也部署在第一虚拟机上,所以可以减少资源的浪费。
在一种可能的实施方式中,所述根据所述第一部署应用信息,为所述第一应用进行伸展处理,包括:根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中部署应用数目最少的第二虚拟机;在所述第二虚拟机上部署所述第一应用。
本申请实施例所示的方案,可以使用第一部署应用信息,确定第一集群中的每个虚拟机上部署的应用,然后判断是不是每个虚拟机上均部署有第一应用,如果第一集群中存在至少一个虚拟机上未部署有第一应用,则可以确定至少一个虚拟机上部署应用的数目最少的第二虚拟机,然后可以在第二虚拟机上部署第一应用。这样,由于之前未部署有第一应用的虚拟机上也部署上第一应用,所以实现了第一应用的伸展,而且由于并没有将第一应用所属的虚拟机上的其它应用也进行伸展,所以可以减少资源的浪费。
在一种可能的实施方式中,所述根据所述第一部署应用信息,为所述第一应用进行伸展处理,包括:根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中当前资源利用率最小的第三虚拟机;在所述第三虚拟机上部署所述第一应用。
本申请实施例所示的方案,管理设备可以使用第一部署应用信息,确定第一集群中的每个虚拟机上部署的应用,然后判断是不是每个虚拟机上均部署有第一应用,如果第一集群中存在至少一个虚拟机上未部署有第一应用,则可以确定至少一个虚拟机的资源利用率,选取资源利用率最小的虚拟机,确定为第三虚拟机,然后可以在第三虚拟机上部署第一应用。这样,由于之前未部署有第一应用的虚拟机上也部署上第一应用,所以实现了第一应用的伸展,而且由于并没有将第一应用所属的虚拟机上的其它应用也进行伸展,所以可以减少资源的浪费。
在一种可能的实施方式中,所述方法还包括:如果所述应用中第二应用的KPI信息满足应用收缩条件,则确定所述第二应用所属第二集群中的虚拟机上的第二部署应用信息;根据所述第二部署应用信息,为所述第二应用进行收缩处理。
本申请实施例所示的方案,管理设备在获取到应用的KPI信息之后,可以判断应用的KPI信息是否满足应用收缩条件,如果应用中某个应用(后续可以称为是第二应用)的KPI信息满足应用伸收缩条件,可以确定第二应用所属的集群(后续可以称为是第二集群),然后获取第二集群的第二部署应用信息。然后可以基于第二部署应用信息,确定哪些虚拟机上的应用可以删除,进而为第二应用进行收缩处理。这样,还可以实现应用收缩。
在一种可能的实施方式中,所述根据所述第二部署应用信息,为所述第一应用进行收缩处理,包括:根据所述第二部署应用信息,如果所述第二集群中存在第四虚拟机仅部署有所述第二应用,则将所述第四虚拟机删除,如果所述第二集群中不存在虚拟机仅部署有所述第二应用,则确定所述第二集群中包含所述第二应用且包含其它应用数目最少的第五虚拟机,将所述第二应用从所述第五虚拟机卸载。
本申请实施例所示的方案,管理设备可以基于第二部署应用信息,确定第二集群中是否仅部署有第二应用的虚拟机,如果存在第四虚拟机仅部署有第二应用,则可以将第四虚拟机直接删除。这样,可以不影响其他应用的使用。这样,可以节约虚拟机。如果不存在虚拟机仅部署有第二应用,则可以在第二集群中确定各虚拟机上部署的应用的数目,选取部署的应用的数目最小的虚拟机(即第五虚拟机),然后可以从第五虚拟机上将第二应用删除。
在一种可能的实施方式中,所述方法还包括:如果所述应用中第二应用的KPI信息中各种KPI信息的数值均低于第一预设阈值,则确定所述第二应用的KPI信息满足应用收缩条件。
本申请实施例所示的方案,管理设备可以确定第二应用的KPI信息的数值是否均低于第一预设阈值,如果均低于第一预设阈值,可以确定第二应用的KPI信息满足应用收缩条件。这样,可以准确的判定第二应用的KPI信息是否满足应用收缩条件。
在一种可能的实施方式中,所述方法还包括:如果所述应用中第一应用的KPI信息中至少一种KPI信息的数值超过第二预设阈值,则确定所述第一应用的KPI信息满足应用伸展条件。
本申请实施例所示的方案,管理设备可以确定第一应用的KPI信息的数值是否均超过第二预设阈值,如果至少一种KPI信息的数值超过第二预设阈值,可以确定第一应用的KPI信息满足应用伸展条件,否则,可以确定第一应用的KPI信息不满足应用伸展条件。这样,可以准确的判定第二应用的KPI信息是否满足应用伸展条件。
第二方面,提供了一种管理设备,该管理设备包括处理器和存储器,所述处理器通过执行指令来实现上述第一方面所提供的应用伸展的方法。
第三方面,提供了一种应用伸展的装置,该装置包括一个或多个模块,该一个或多个模块通过执行指令来实现上述第一方面所提供的应用伸展的方法。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有指令,当计算机可读存储介质在管理设备上运行时,使得管理设备执行上述第一方面所提供的应用伸展的方法。
第五方面,提供了一种包含指令的计算机程序产品,当其在管理设备上运行时,使得管理设备执行上述第一方面所提供的应用伸展的方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例中,可以获取应用的KPI信息,如果应用中第一应用的KPI信息满足应用伸展条件,则可以确定第一应用所属第一集群中的虚拟机上的第一部署应用信息,然后使用第一部署应用信息,为第一应用进行伸展处理。这样,由于使用应用作为伸展单位,仅对符合应用伸展条件的应用进行伸展处理,而未对虚拟机上的所有应用进行伸展处理,所以可以提高伸展效率。
附图说明
图1是本申请实施例提供的一种应用伸展的场景示意图;
图2是本申请实施例提供的一种管理设备的结构示意图;
图3是本申请实施例提供的一种应用伸展的方法的流程示意图;
图4是本申请实施例提供的一种应用伸展的示意图;
图5是本申请实施例提供的一种应用收缩的流程示意图;
图6是本申请实施例提供的一种应用伸展的流程示意图;
图7是本申请实施例提供的一种应用伸展的装置结构示意图;
图8是本申请实施例提供的一种应用伸展的装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为了便于对本申请实施例的理解,下面首先介绍本申请实施例涉及的***架构、以及所涉及到名词的概念。
本申请实施例可以适用于云计算***中,如图1所示,云计算***中包括多个集群,每个集群包括至少一个虚拟机,每个虚拟机上可以运行至少一个应用,每个应用由至少一个虚拟机为该应用提供资源,在应用A的业务量突然增大时,会新增虚拟机或者在其它虚拟机上部署应用A,为应用A提供服务。
云计算,一种从服务提供商获取计算能力来使用的计算方式,提供计算能力所需的计算、存储、网络资源是虚拟的。
虚拟机,云计算服务提供的计算节点。
应用,运行在单个或者多个虚拟机上的一系列完成某些特定功能的软件。
应用合设,在一个或一组虚拟机上运行多个应用。
本申请实施例提供了一种应用伸展的方法,该方法的执行主体可以是管理设备,管理设备可以是管理集群的设备。图2示出了本申请实施例中管理设备的结构框图,该管理设备至少可以包括接收器201、处理器202、存储器203和发射器204。其中,接收器201可以用于实现数据的接收,发射器204可以用于数据的发送,存储器203可以用于存储软件程序以及模块,处理器202通过运行存储在存储器203中的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器203主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序等;存储数据区可存储根据管理设备的使用所创建的数据等。此外,存储器203可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器203还可以包括存储器控制器,以提供处理器202、接收器201和发射器204对存储器203的访问。处理器202是管理设备的控制中心,利用各种接口和线路连接整个管理设备的各个部分,通过运行或执行存储在存储器203内的软件程序和/或模块,以及调用存储在存储器203内的数据,执行管理设备的各种功能和处理数据,从而对管理设备进行整体监控。
可选的,处理器202可包括一个或多个处理核心;优选的,处理器202可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器202中。
本申请实施例提供了一种应用伸展的方法,下面将结合具体实施方式,对图3所示的处理流程进行详细的说明,内容可以如下:
步骤301,获取应用的KPI信息。
在实施中,在每个虚拟机上设置管理代理(可以是一个程序),管理代理可以周期性采集所属虚拟机上的各应用的KPI信息,然后发送至管理设备,管理设备接收到后,对于一个应用,可以统计接收到的每种KPI信息的总和。例如,在一个集群中,对于应用A,部署在三个虚拟机上,连接数分别为210、180和160,应用A的KPI信息中的连接数为550。这样,管理设备即可获取到应用的KPI信息。
或者,在每个虚拟机上设置管理代理,管理设备可以周期性通知虚拟机上的管理代理发送KPI信息,管理代理可以向管理设备发送管理代理所属的虚拟机上的各应用的KPI信息,管理设备接收到后,对于一个应用,可以统计接收到的每种KPI信息的总和。这样,管理设备即可获取到应用的KPI信息。
需要说明的是,上述周期可以预设,并且进行存储,如1分钟等。
可选的,KPI信息包括连接数、并发呼叫量、并行线程数目、每秒建立呼叫数目CAPS中的一种或多种。
在实施中,连接数指当前与应用建立连接的业务的数量。例如,与5个设备建立连接,分别为其传输数据,连接数为5。
并发呼叫量指并发进行呼叫的数量。例如,并行呼叫15个设备,并发呼叫量为15。
并发线程数目指并发运行的线程的数目。例如,并行运行有20个线程,并发线程数目为20。
每秒建立呼叫数目(Call Attempt Per Second,CAPS)指每秒建立的呼叫连接的数目。例如,每秒钟建立的呼叫连接有10个,CAPS为10。
需要说明的是,上述KPI信息仅为举例,凡是可以作为KPI信息的均可以适用于本申请实施例。
步骤302,如果应用中第一应用的KPI信息满足应用伸展条件,则确定第一应用所属第一集群中的虚拟机上的第一部署应用信息。
其中,部署应用信息用于指示虚拟机分别部署了哪些应用,第一部署应用信息可以用于指示第一集群中的虚拟机上部署了哪些应用。应用伸展条件用于判断哪些应用需要进行伸展处理。
在实施中,管理设备在获取到应用的KPI信息之后,可以判断应用的KPI信息是否满足应用伸展条件,如果应用中某个应用(后续可以称为是第一应用)的KPI信息满足应用伸展条件,可以确定第一应用所属的集群(后续可以称为是第一集群),然后获取第一集群的第一部署应用信息。
另外,如果某个应用的KPI信息不满足应用伸展条件,则可以确定该应用不需要进行伸展处理。
需要说明的是,每次在将应用部署到虚拟机上后,会记录并存储每个虚拟机上部署的应用的部署应用信息。
可选的,第一部署应用信息可以使用一个对应关系表示。例如,如表一所示,第一集群中包括了3个虚拟机(虚拟机1、虚拟机2和虚拟机3),虚拟机1上部署有应用1和应用2,虚拟机2上部署有应用2和应用3,虚拟机3上部署有应用1、应用2和应用3。
表一
可选的,可以使用阈值来确定第一应用的KPI信息是否满足应用伸展条件,相应的处理可以如下:
如果应用中第一应用的KPI信息中至少一种KPI信息的数值超过第二预设阈值,则确定第一应用的KPI信息满足应用伸展条件。
其中,第二预设阈值可以预设,并且存储至管理设备。
在实施中,管理设备可以确定第一应用的KPI信息的数值是否均超过第二预设阈值,如果至少一种KPI信息的数值超过第二预设阈值,可以确定第一应用的KPI信息满足应用伸展条件,否则,可以确定第一应用的KPI信息不满足应用伸展条件。
另外,在KPI信息包括多种时,可以获取每种KPI信息的权值,然后将第一应用的每种KPI信息的数值与对应的权值相乘,得到KPI信息对应的乘积,然后将多种KPI信息的乘积相加,得到第一应用的加权值,如果加权值大于第一预设数值(可以预设,并且存储在管理设备中),则可以确定第一应用的KPI信息满足应用伸展条件。
另外,在KPI信息包括多种时,也可以对应每种KPI信息均设置阈值,可以判断每种KPI信息的数值是否超过该种KPI信息对应的阈值,如果有至少一种KPI信息的数值超过该种KPI信息对应的阈值,则可以确定第一应用的KPI信息满足应用伸展条件。
步骤303,根据第一部署应用信息,为第一应用进行伸展处理。
在实施中,管理设备获取到第一部署应用信息之后,可以基于第一部署应用信息,确定是否新建虚拟机,或者是否在别的虚拟机上部署第一应用,进而为第一应用进行伸展处理。这样,就可以为第一应用进行伸展处理。
可选的,在第一集群中的所有虚拟机上均部署有第一应用时,相应的步骤301的处理可以如下:
根据第一部署应用信息,如果第一集群中所有虚拟机均部署有第一应用,则新建第一虚拟机,在第一虚拟机上部署第一应用。
在实施中,管理设备可以使用第一部署应用信息,确定第一集群中的每个虚拟机上部署的应用,然后判断是不是每个虚拟机上均部署有第一应用,如果第一集群中每个虚拟机均部署有第一应用,则可以新部署虚拟机(后续可以称为是第一虚拟机)。然后在第一虚拟机上部署第一应用。
这样,由于之前未部署有第一应用的虚拟机上也部署上第一应用,所以实现了第一应用的伸展,而且由于并没有将第一应用所属的虚拟机上的其它不需要伸展的应用也部署在第一虚拟机上,所以可以减少资源的浪费。
可选的,在第一集群中存在虚拟机未部署有第一应用时,相应的步骤301的处理可以如下:
根据第一部署应用信息,如果第一集群中存在至少一个虚拟机未部署有第一应用,则确定至少一个虚拟机中部署应用数目最少的第二虚拟机,在第二虚拟机上部署第一应用。
在实施中,管理设备可以使用第一部署应用信息,确定第一集群中的每个虚拟机上部署的应用,然后判断是不是每个虚拟机上均部署有第一应用,如果第一集群中存在至少一个虚拟机上未部署有第一应用,则可以确定至少一个虚拟机上部署应用的数目最少的第二虚拟机,然后可以在第二虚拟机上部署第一应用。例如,未部署有第一应用的虚拟机为虚拟机A、虚拟机B、虚拟机C,上面分别部署有3、2、4个应用,由于虚拟机B上部署的应用的数目最少,所以可以将第一应用部署在虚拟机B上。
这样,由于之前未部署有第一应用的虚拟机上也部署上第一应用,所以实现了第一应用的伸展,而且由于并没有将第一应用所属的虚拟机上的其它不需要伸展的应用也进行伸展,所以可以减少资源的浪费。
可选的,在第一集群中存在虚拟机未部署有第一应用时,相应的步骤301的处理可以如下:
根据第一部署应用信息,如果第一集群中存在至少一个虚拟机未部署有第一应用,则确定至少一个虚拟机中当前资源利用率最小的第三虚拟机,在第三虚拟机上部署第一应用。
其中,资源指带宽、中央处理器(Central Processing Unit,CPU)、内存中的一种或者多种。
在实施中,管理设备可以使用第一部署应用信息,确定第一集群中的每个虚拟机上部署的应用,然后判断是不是每个虚拟机上均部署有第一应用,如果第一集群中存在至少一个虚拟机上未部署有第一应用,则可以确定至少一个虚拟机的资源利用率,选取资源利用率最小的虚拟机,确定为第三虚拟机,然后可以在第三虚拟机上部署第一应用。
这样,由于之前未部署有第一应用的虚拟机上也部署上第一应用,所以实现了第一应用的伸展,而且由于并没有将第一应用所属的虚拟机上的其它不需要伸展的应用也进行伸展,所以可以减少资源的浪费。
需要说明的是,如果资源为带宽、CPU、内存中的一种,可以直接获取资源利用率最小的虚拟机为第三虚拟机。如果资源为带宽、CPU、内存中的多种,可以获取每种资源对应的权值,然后将每种资源的资源利用率与对应的权值相乘,将乘积相加,得到加权后的资源利用率,将加权后的资源利用率最小的虚拟机,确定为第三虚拟机。例如,资源包括带宽和内存,带宽对应的权值为0.6,内存对应的权值为0.4,有虚拟机E、虚拟机F上未部署有第一应用,虚拟机E的带宽的利用率为30%、内存的资源利用率为40%,加权后的资源利用率为30%*0.6+40%*0.4=34%,虚拟机F的带宽的利用率为40%、内存的资源利用率为50%,加权后的资源利用率为40%*0.6+50%*0.4=44%,虚拟机E的加权后的资源利用率小于虚拟机F加权后的资源利用率,所以选取虚拟机E为第三虚拟机。
另外,本申请中,还可以首先判断第一集群中是否存在应用合设,如果不存在应用合设,则可以直接按照集群的方式复制虚拟机,将第一应用部署到复制的虚拟机上。
这样,本申请中,多个应用部署在同一虚拟机上时,可以按照应用进行伸展处理,而不是按照虚拟机进行伸展处理,在保障了伸展完全按照业务诉求进行的同时,还避免了无意义的资源消耗,也可以提升资源利用率和伸展效率。例如,如图4所示,应用1与应用2同时部署在虚拟机1和虚拟机2上(即虚拟机1上部署有应用1和应用2,虚拟机2上部署有运用1和应用2),应用1的业务目标为连接数不超过100,目前为180,需要进行伸展,应用2的业务目标为连接数不超过120,目前为60,一次伸展后,新建了虚拟机3,将应用1部署在虚拟机3上,一次伸展后,由于虚拟机3上没有部署应用2,所以虚拟机3的资源完全属于应用1,应用1的连接数达到90,无需再处理,应用2的连接数不变,维持60,无需处理。这样,进行一次伸展,即可满足业务诉求。
可选的,本申请中还提供了应用收缩的方法,如图5所示,相应的处理流程可以如下:
步骤501,获取应用的KPI信息。
在实施中,步骤501的处理与步骤301的处理完全相同,具体处理可以参见步骤301。
可选的,KPI信息包括连接数、并发呼叫量、并行线程数目、每秒建立呼叫数目CAPS中的一种或多种。
在实施中,连接数指当前与应用建立的业务的数量,并发呼叫量指并发进行呼叫的数量,并发线程数目指并发运行的线程的数目,每秒建立呼叫数目指每秒建立的呼叫连接的数目。
需要说明的是,上述KPI信息仅为举例,凡是可以作为KPI信息的均可以适用于本申请实施例。
步骤502,如果应用中第二应用的KPI信息满足应用收缩条件,则确定第二应用所属第二集群中的虚拟机上的第二部署应用信息。
其中,部署应用信息用于指示虚拟机分别部署了哪些应用。应用收缩条件用于判断哪些应用可以删除。
在实施中,管理设备在获取到应用的KPI信息之后,可以判断应用的KPI信息是否满足应用收缩条件,如果应用中某个应用(后续可以称为是第二应用)的KPI信息满足应用伸收缩条件,可以确定第二应用所属的集群(后续可以称为是第二集群),然后获取第二集群的第二部署应用信息。
可选的,第二部署应用信息也可以使用一个对应关系表示,与第一部署应用信息的格式完全相同。
需要说明的是,每次在将应用部署到虚拟机上后,会记录并存储每个虚拟机上部署的应用的部署应用信息。
可选的,确定应用的KPI信息是否满足应用收缩条件的处理可以如下:
如果应用中第二应用的KPI信息中各种KPI信息的数值均低于第一预设阈值,则确定第二应用的KPI信息满足应用收缩条件。
其中,第一预设阈值可以预设,并且存储至管理设备。
在实施中,管理设备可以确定第二应用的KPI信息的数值是否均低于第一预设阈值,如果均低于第一预设阈值,可以确定第二应用的KPI信息满足应用收缩条件。
另外,如果KPI信息包括多种时,可以获取每种KPI信息的权值,然后将第二应用的每种KPI信息的数值与对应的权值相乘,得到KPI信息对应的乘积,然后将多种KPI信息的乘积相加,得到第二应用的加权值,如果加权值小于第二预设数值(可以预设,并且存储在管理设备中),则可以确定第二应用的KPI信息满足应用收缩条件。
步骤503,根据第二部署应用信息,为第二应用进行收缩处理。
在实施中,管理设备获取到第二部署应用信息之后,可以基于第二部署应用信息,确定哪些虚拟机上的应用可以删除,进而为第二应用进行收缩处理。
可选的,可以基于第二集群中的虚拟机上是否部署有第二应用,进行第二应用的收缩处理,相应的处理可以如下:
根据第二部署应用信息,如果第二集群中存在第四虚拟机仅部署有第二应用,则将第四虚拟机删除,如果第二集群中不存在虚拟机仅部署有第二应用,则确定第二集群中包含第二应用且包含其它应用数目最少的第五虚拟机,将第二应用从第五虚拟机卸载。
在实施中,管理设备可以基于第二部署应用信息,确定第二集群中是否仅部署有第二应用的虚拟机,如果存在第四虚拟机仅部署有第二应用,则可以将第四虚拟机直接删除。这样,可以不影响其他应用的使用。这样,可以节约虚拟机。
如果不存在虚拟机仅部署有第二应用,则可以在第二集群中确定各虚拟机上部署的应用的数目,选取部署的应用的数目最小的虚拟机(即第五虚拟机),然后可以从第五虚拟机上将第二应用删除。
另外,本申请中,还可以首先判断第二集群中是否存在应用合设,如果不存在应用合设,则可以直接删除第二应用所在的某个虚拟机。
这样,本申请中,多个应用部署在同一虚拟机上时,可以按照应用进行收缩处理,而不是按照虚拟机进行收缩处理,在保障了收缩完全按照业务诉求进行的同时,还避免了无意义的资源消耗,也可以提升资源利用率和收缩效率。
另外,本申请中,如图6所示,管理设备上可以设置有第三方虚拟化管理***和伸缩管理***,管理代理可以将KPI信息发送至伸缩管理***,管理设备可以控制伸缩管理***确定应用是否进行伸展或收缩(可以简称为伸缩),如果需要伸缩,则可以控制第三方虚拟化管理***申请虚拟机或者删除应用(也可以申请删除虚拟机)。
本申请实施例中,可以获取应用的KPI信息,如果应用中第一应用的KPI信息满足应用伸展条件,则可以确定第一应用所属第一集群中的虚拟机上的第一部署应用信息,然后使用第一部署应用信息,为第一应用进行伸展处理。这样,由于使用应用作为伸展单位,仅对符合应用伸展条件的应用进行伸展处理,而未对虚拟机上的所有应用进行伸展处理,所以可以提高伸展效率。
图7是本申请实施例提供的应用的装置的结构图。该装置可以通过软件、硬件或者两者的结合实现成为管理设备中的部分或者全部。本申请实施例提供的管理设备可以实现本申请实施例图3和图5所述的流程,该装置包括:获取模块710、确定模块720、伸展模块730和收缩模块740,其中:
获取模块710,用于获取应用的关键绩效指标KPI信息,具体可以实现上述步骤301中的获取功能,以及其它隐含步骤;
确定模块720,用于如果所述应用中第一应用的KPI信息满足应用伸展条件,则确定所述第一应用所属第一集群中的虚拟机上的第一部署应用信息,具体可以实现上述步骤302中的确定功能,以及其它隐含步骤;
伸展模块730,用于根据所述第一部署应用信息,为所述第一应用进行伸展处理,具体可以实现上述步骤303中的伸展功能,以及其它隐含步骤。
可选的,所述伸展模块730,用于:
根据所述第一部署应用信息,如果所述第一集群中所有虚拟机均部署有所述第一应用,则新建第一虚拟机;
在所述第一虚拟机上部署所述第一应用。
可选的,所述伸展模块730,用于:
根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中部署应用数目最少的第二虚拟机;
在所述第二虚拟机上部署所述第一应用。
可选的,所述伸展模块730,用于:
根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中当前资源利用率最小的第三虚拟机;
在所述第三虚拟机上部署所述第一应用。
可选的,所述确定模块720,还用于:
如果所述应用中第二应用的KPI信息满足应用收缩条件,则确定所述第二应用所属第二集群中的虚拟机上的第二部署应用信息;
如图8所示,所述装置还包括:
收缩模块740,用于根据所述第二部署应用信息,为所述第二应用进行收缩处理。
可选的,所述收缩模块740,用于:
根据所述第二部署应用信息,如果所述第二集群中存在第四虚拟机仅部署有所述第二应用,则将所述第四虚拟机删除,如果所述第二集群中不存在虚拟机仅部署有所述第二应用,则确定所述第二集群中包含所述第二应用且包含其它应用数目最少的第五虚拟机,将所述第二应用从所述第五虚拟机卸载。
可选的,所述确定模块720,还用于:
如果所述应用中第二应用的KPI信息中各种KPI信息的数值均低于第一预设阈值,则确定所述第二应用的KPI信息满足应用收缩条件。
可选的,所述确定模块720,还用于:
如果所述应用中第一应用的KPI信息中至少一种KPI信息的数值超过第二预设阈值,则确定所述第一应用的KPI信息满足应用伸展条件。
可选的,所述KPI信息包括连接数、并发呼叫量、并行线程数目、每秒建立呼叫数目CAPS中的一种或多种。
需要说明的是,上述获取模块710、确定模块720、伸展模块730和收缩模块740可以由处理器202实现,或者处理器202配合发射器204和接收器201来实现。
本申请实施例中,可以获取应用的KPI信息,如果应用中第一应用的KPI信息满足应用伸展条件,则可以确定第一应用所属第一集群中的虚拟机上的第一部署应用信息,然后使用第一部署应用信息,为第一应用进行伸展处理。这样,由于使用应用作为伸展单位,仅对符合应用伸展条件的应用进行伸展处理,而未对虚拟机上的所有应用进行伸展处理,所以可以提高伸展效率。
需要说明的是:上述实施例提供的应用伸展的装置在应用伸展时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用伸展的装置与应用伸展的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
可选的,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有指令,当计算机可读存储介质在管理设备上运行时,使得管理设备执行上述应用伸展的方法。
可选的,本申请实施例还提供了一种包含指令的计算机程序产品,当其在管理设备上运行时,使得管理设备执行上述应用伸展的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令,在服务器或终端上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴光缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是服务器或终端能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(如软盘、硬盘和磁带等),也可以是光介质(如数字视盘(Digital Video Disk,DVD)等),或者半导体介质(如固态硬盘等)。
以上所述仅为本申请的一个实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种应用伸展的方法,其特征在于,所述方法包括:
获取应用的关键绩效指标KPI信息;
如果所述应用中第一应用的KPI信息满足应用伸展条件,且所述第一应用所属的第一集群中的虚拟机上存在应用合设,则确定所述第一集群中的虚拟机上的第一部署应用信息,所述第一部署应用信息用于指示所述第一集群中的虚拟机上所部署的应用;
根据所述第一部署应用信息,确定在所述第一集群中新建的虚拟机或者在当前的虚拟机上部署所述第一应用;
如果所述应用中第二应用的KPI信息满足应用收缩条件,且所述第二应用所属的第二集群中的虚拟机上存在应用合设,则确定所述第二集群中的虚拟机上的第二部署应用信息,所述第二部署应用信息用于指示所述第二集群中的虚拟机上所部署的应用;
根据所述第二部署应用信息,如果所述第二集群中存在第四虚拟机仅部署有所述第二应用,则将所述第四虚拟机删除,如果所述第二集群中不存在虚拟机仅部署有所述第二应用,则确定所述第二集群中包含所述第二应用且包含其它应用数目最少的第五虚拟机,将所述第二应用从所述第五虚拟机卸载。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一部署应用信息,确定在所述第一集群中新建的虚拟机或者在当前的虚拟机上部署所述第一应用,包括:
根据所述第一部署应用信息,如果所述第一集群中所有虚拟机均部署有所述第一应用,则新建第一虚拟机;
在所述第一虚拟机上部署所述第一应用。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一部署应用信息,确定在所述第一集群中新建的虚拟机或者在当前的虚拟机上部署所述第一应用,包括:
根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中部署应用数目最少的第二虚拟机;
在所述第二虚拟机上部署所述第一应用。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一部署应用信息,确定在所述第一集群中新建的虚拟机或者在当前的虚拟机上部署所述第一应用,包括:
根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中当前资源利用率最小的第三虚拟机;
在所述第三虚拟机上部署所述第一应用。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述应用中第二应用的KPI信息中各种KPI信息的数值均低于第一预设阈值,则确定所述第二应用的KPI信息满足应用收缩条件。
6.根据权利要求1至5任一所述的方法,其特征在于,所述方法还包括:
如果所述应用中第一应用的KPI信息中至少一种KPI信息的数值超过第二预设阈值,则确定所述第一应用的KPI信息满足应用伸展条件。
7.根据权利要求1至5任一所述的方法,其特征在于,所述KPI信息包括连接数、并发呼叫量、并行线程数目、每秒建立呼叫数目CAPS中的一种或多种。
8.一种应用伸展的装置,其特征在于,所述装置包括:
获取模块,用于获取应用的关键绩效指标KPI信息;
确定模块,用于如果所述应用中第一应用的KPI信息满足应用伸展条件,且所述第一应用所属的第一集群中的虚拟机上存在应用合设,则确定所述第一集群中的虚拟机上的第一部署应用信息,所述第一部署应用信息用于指示所述第一集群中的虚拟机上所部署的应用;
伸展模块,用于根据所述第一部署应用信息,确定在所述第一集群中新建的虚拟机或者在当前的虚拟机上部署所述第一应用;
所述确定模块,还用于如果所述应用中第二应用的KPI信息满足应用收缩条件,且所述第二应用所属的第二集群中的虚拟机上存在应用合设,则确定所述第二集群中的虚拟机上的第二部署应用信息,所述第二部署应用信息用于指示所述第二集群中的虚拟机上所部署的应用;
收缩模块,用于根据所述第二部署应用信息,如果所述第二集群中存在第四虚拟机仅部署有所述第二应用,则将所述第四虚拟机删除,如果所述第二集群中不存在虚拟机仅部署有所述第二应用,则确定所述第二集群中包含所述第二应用且包含其它应用数目最少的第五虚拟机,将所述第二应用从所述第五虚拟机卸载。
9.根据权利要求8所述的装置,其特征在于,所述伸展模块,用于:
根据所述第一部署应用信息,如果所述第一集群中所有虚拟机均部署有所述第一应用,则新建第一虚拟机;
在所述第一虚拟机上部署所述第一应用。
10.根据权利要求8所述的装置,其特征在于,所述伸展模块,用于:
根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中部署应用数目最少的第二虚拟机;
在所述第二虚拟机上部署所述第一应用。
11.根据权利要求8所述的装置,其特征在于,所述伸展模块,用于:
根据所述第一部署应用信息,如果所述第一集群中存在至少一个虚拟机未部署有所述第一应用,则确定所述至少一个虚拟机中当前资源利用率最小的第三虚拟机;
在所述第三虚拟机上部署所述第一应用。
12.根据权利要求8所述的装置,其特征在于,所述确定模块,还用于:
如果所述应用中第二应用的KPI信息中各种KPI信息的数值均低于第一预设阈值,则确定所述第二应用的KPI信息满足应用收缩条件。
13.根据权利要求8至12任一所述的装置,其特征在于,所述确定模块,还用于:
如果所述应用中第一应用的KPI信息中至少一种KPI信息的数值超过第二预设阈值,则确定所述第一应用的KPI信息满足应用伸展条件。
14.根据权利要求8至12任一所述的装置,其特征在于,所述KPI信息包括连接数、并发呼叫量、并行线程数目、每秒建立呼叫数目CAPS中的一种或多种。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述计算机可读存储介质在管理设备上运行时,使得所述管理设备执行所述权利要求1-7中任一权利要求所述的方法。
CN201910123256.4A 2019-02-18 2019-02-18 应用伸展的方法和装置 Active CN111580925B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910123256.4A CN111580925B (zh) 2019-02-18 2019-02-18 应用伸展的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910123256.4A CN111580925B (zh) 2019-02-18 2019-02-18 应用伸展的方法和装置

Publications (2)

Publication Number Publication Date
CN111580925A CN111580925A (zh) 2020-08-25
CN111580925B true CN111580925B (zh) 2023-11-17

Family

ID=72122471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910123256.4A Active CN111580925B (zh) 2019-02-18 2019-02-18 应用伸展的方法和装置

Country Status (1)

Country Link
CN (1) CN111580925B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984602A (zh) * 2014-05-20 2014-08-13 华为技术有限公司 一种vm资源调度方法、装置及***
CN106227582A (zh) * 2016-08-10 2016-12-14 华为技术有限公司 弹性伸缩方法及***
CN106919450A (zh) * 2015-12-24 2017-07-04 华为技术有限公司 资源调整方法和装置
CN108023742A (zh) * 2016-10-31 2018-05-11 阿里巴巴集团控股有限公司 一种应用的扩容方法、装置和***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311140B2 (en) * 2013-08-13 2016-04-12 Vmware, Inc. Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses
US9424065B2 (en) * 2014-06-26 2016-08-23 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103984602A (zh) * 2014-05-20 2014-08-13 华为技术有限公司 一种vm资源调度方法、装置及***
CN106919450A (zh) * 2015-12-24 2017-07-04 华为技术有限公司 资源调整方法和装置
CN106227582A (zh) * 2016-08-10 2016-12-14 华为技术有限公司 弹性伸缩方法及***
CN108023742A (zh) * 2016-10-31 2018-05-11 阿里巴巴集团控股有限公司 一种应用的扩容方法、装置和***

Also Published As

Publication number Publication date
CN111580925A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
CN107241281B (zh) 一种数据处理方法及其装置
CN108776934B (zh) 分布式数据计算方法、装置、计算机设备及可读存储介质
CN107832100B (zh) 一种apk插件的加载方法及其终端
CN110096336B (zh) 数据监控方法、装置、设备和介质
CN113037786B (zh) 智能算力调度方法、装置和***
CN110677305B (zh) 一种云计算环境下的自动伸缩方法和***
EP3664372A1 (en) Network management method and related device
CN111198759B (zh) 一种内存优化方法、***、终端设备及可读存储介质
US20150215228A1 (en) Methods, systems, and computer readable media for a cloud-based virtualization orchestrator
US10848366B2 (en) Network function management method, management unit, and system
CN110048882B (zh) 一种基于边缘计算的资源分配的方法和装置
CN113159145A (zh) 一种特征工程编排方法及装置
CN110647392A (zh) 一种基于容器集群的智能弹性伸缩方法
CN114168490A (zh) 确定内存回收阈值的方法及相关设备
CN111190719B (zh) 优化集群资源分配的方法、装置、介质及电子设备
CN108366133B (zh) 一种ts服务器调度方法、调度设备及存储介质
CN109039694B (zh) 一种面向业务的全局网络资源分配方法及装置
CN109165135B (zh) 一种数据管理方法、计算机可读存储介质及终端设备
US9189287B1 (en) Harnessing idle computing resources in customer premise equipment
CN107426109B (zh) 一种流量调度方法、vnf模块及流量调度服务器
CN111831503A (zh) 一种基于监控代理的监控方法和监控代理装置
CN105335313A (zh) 一种基础数据的传输方法及装置
CN114153609A (zh) 资源控制方法及装置、电子设备、计算机可读存储介质
US10681398B1 (en) Video encoding based on viewer feedback
CN111580925B (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
GR01 Patent grant
GR01 Patent grant