CN110532086B - 资源复用方法、设备、系统及存储介质 - Google Patents
资源复用方法、设备、系统及存储介质 Download PDFInfo
- Publication number
- CN110532086B CN110532086B CN201810503804.1A CN201810503804A CN110532086B CN 110532086 B CN110532086 B CN 110532086B CN 201810503804 A CN201810503804 A CN 201810503804A CN 110532086 B CN110532086 B CN 110532086B
- Authority
- CN
- China
- Prior art keywords
- application program
- resource
- application
- service
- hardware
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 230000015654 memory Effects 0.000 claims description 53
- 230000008569 process Effects 0.000 claims description 35
- 230000035945 sensitivity Effects 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 238000011144 upstream manufacturing Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 24
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 230000006978 adaptation Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000005291 magnetic effect Effects 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010801 machine learning Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000007812 deficiency Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009499 grossing Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000004519 manufacturing process 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/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/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
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
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源复用方法、设备、系统及存储介质。
背景技术
在计算机中,虚拟化(Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及中央处理器(CPU)等,予以抽象、转换后呈现出来,打破实体结构间不可切割的障碍,使用户可以采用比原本组态更好的方式来应用这些资源。
基于虚拟化技术,在同一物理机上可以运行多个虚拟化设备,例如容器、虚拟机(Virtual Machine,VM)等。同一物理机上的虚拟化设备可以共享该物理机的内核和硬件资源,实现用户空间隔离,即用户可以在虚拟化设备中安装、配置以及运行应用程序,而分配给不同虚拟化设备的资源仅对自己可见。
在一些应用场景中,会将同一应用程序同时部署在多台虚拟化设备中,这样可以提高服务质量,满足更高的业务需求。但是,在这种虚拟化部署方案中,硬件资源的利用率相对较低。
发明内容
本申请的多个方面提供一种资源复用方法、设备、系统及存储介质,用以实现资源复用,提高硬件资源的利用率。
本申请实施例提供一种资源复用方法,包括:
基于多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量;
根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序;
根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
本申请实施例还提供一种资源调度设备,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
基于多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量;
根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序;
根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
本申请实施例还提供一种资源复用系统,包括:至少一台物理机和资源调度设备,所述至少一台物理机上部署有多台虚拟化设备,所述多台虚拟化设备中部署有若干个应用程序;
所述资源调度设备,用于:
基于多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量;
根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序;
根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时,致使所述处理器执行上述方法实施例中的步骤。
在本申请实施例中,针对部署在虚拟化设备中的多个应用程序,基于这些应用程序所在虚拟化设备的业务承载能力和这些应用程序需要承载的业务流量,计算这些应用程序对硬件资源的实际需求量;然后,结合这些应用程序对硬件资源的消耗特征和实际需求量,可将存在资源冗余的应用程序的空闲资源出让给资源不足的应用程序,可自动化发现空闲资源,并对空闲资源进行弹性调度,最终自动化完成空闲资源的复用,提高了硬件资源的利用率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请一示例性实施例提供的一种资源复用系统的结构示意图;
图2为本申请另一示例性实施例提供的一种物理机的虚拟化结构示意图;
图3为本申请另一示例性实施例提供的一种资源复用方法的流程示意图;
图4a为本申请又一示例性实施例提供的一种资源复用装置的结构示意图;
图4b为本申请又一示例性实施例提供的一种资源调度设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有虚拟化部署方案中存在的对硬件资源利用率较低的问题,在本申请一些实施例中,针对部署在虚拟化设备中的多个应用程序,基于这些应用程序所在虚拟化设备的业务承载能力和这些应用程序需要承载的业务流量,计算这些应用程序对硬件资源的实际需求量;然后,结合这些应用程序对硬件资源的消耗特征和实际需求量,可将存在资源冗余的应用程序的空闲资源出让给资源不足的应用程序,可自动化发现空闲资源,并对空闲资源进行弹性调度,最终自动化完成空闲资源的复用,提高了硬件资源的利用率。。
以下结合附图,详细说明本申请各实施例提供的技术方案。
图1为本申请一示例性实施例提供的一种资源复用系统的结构示意图。如图1所示,该资源复用系统10包括:至少一台物理机10a和资源调度设备10b。物理机10a可以是一台或多台,在图1中,以多台物理机10a为例进行图示。另外,每台物理机10a均与资源调度设备10b通信连接,该通信连接可以是有线连接,也可以是无线连接。图1中所呈现的物理机10a和资源调度设备10b只是示例性说明,并不对二者的实现形式做限定。
在本实施例中,物理机10a可以是任何具有一些硬件资源,并具有一定处理能力的计算机设备。物理机10a的硬件资源可以包括但不限于:处理单元(CPU)、存储器、网卡芯片、I/O总线以及音视频组件等。可选地,物理机10a的硬件资源也可以包括一些外围设备,例如键盘、鼠标、输入笔、打印机等设备资源。这些外围设备在本领域中是众所周知的,在此不做赘述。
除了硬件资源之外,物理机10a还包括操作系统(Operating System,OS)。物理机10a的操作系统是直接运行在“裸机”上的最基本的系统软件,负责管理和控制物理机10a的硬件与软件资源,其主要功能包括管理物理机10a的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持,让物理机10a的资源最大限度地发挥作用,提供各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口等。
在本实施例中,每台物理机10a可以采用虚拟化技术,根据应用需求在自己的硬件资源上部署至少一台虚拟化设备,如图1所示。物理机10a采用的虚拟化技术不同,则在物理机10a上虚拟出的虚拟化设备也会有所不同。例如,物理机10a上的虚拟化设备可以是容器、VM等。不同虚拟化设备的资源规格可以相同,也可以不同。“虚拟化设备的资源规格”是指虚拟化设备所需的硬件资源的数量和/或类型。例如,有的虚拟化设备可能需要1个CPU逻辑核和2G内存,而有的虚拟化设备可能需要2个CPU逻辑核和4G内存。
对一台物理机10a而言,可以选择部署固定资源规格的虚拟化设备,也可以选择部署资源规格不固定的虚拟化设备。如果选择部署固定资源规格的虚拟化设备,一台物理机10a上可生产的虚拟化设备数可由物理机10a的硬件资源总量和虚拟化设备的资源规格决定。例如,对于包括32个CPU核,192G内存的物理机,针对虚拟化设备的资源规格为4个CPU逻辑核,24G内存的情况,可以产生8个虚拟化设备。如果虚拟化设备的资源规格不固定,在物理机10a上部署虚拟化设备可能涉及装箱、拆箱等算法,可根据实际应用需求及算法计算出所能部署的虚拟化设备的数量。关于如何在物理机10a上部署虚拟化设备可参见现有技术,对此不作赘述。
物理机10a上的虚拟化设备可以作为物理机10a上的最小部署单元,用来部署各种应用程序,使得用户可以在采用比原本组态更好的方式来应用物理机10a上的硬件资源。其中,在虚拟化设备中部署应用程序包括以下两种情况:a、一台虚拟化设备中部署一个应用程序,且该应用程序可以部署在至少一台虚拟化设备中;b、一台虚拟化设备中部署多个应用程序。在本申请实施例中,重点关注情况a。
例如,应用程序承载的业务并发量对虚拟化设备的资源规格有一定要求,当一个虚拟化设备的资源规格不能满足业务并发量的需求时,需要考虑多台虚拟化设备同时为该应用程序服务。例如,应用程序A、应用程序B等应用程序分别部署在多台虚拟化设备上。
又例如,为了克服单点风险,也可以将一个应用程序部署到多台虚拟化设备中,且多台虚拟化设备隶属于不同物理机10a。例如,应用程序A和应用程序B等部署在不同物理机10a上的虚拟化设备中。值得说明的是,对同一应用程序而言,可以部署在不同物理机10a上的虚拟化设备中,也可以在同一物理机10a上的多台虚拟化设备中同时部署该应用程序,具体可以根据应用需求而定。
在同一应用程序同时部署在多台虚拟化设备中的场景中,单台虚拟化设备是应用程序所需的最小资源单位,每台虚拟化设备需要占用一定数量的硬件资源。值得说明的,部署相同应用程序的不同虚拟化设备,其资源规格一般是相同的;当然,部署相同应用程序的不同虚拟化设备,其资源规格也可以不相同,本申请实施例对此不做限定。
在本申请实施例中,应用程序是指可以完成某项或多项特定工作的计算机程序,可能是一个完整的计算机软件,例如某个APP,也可能是某个计算机软件中的部分程序代码,所述部分程序代码可完成特定的工作或实现特定的功能。以互联网购物类业务系统为例,该业务系统包括面向使用者的前端部分和为前端提供各种支持的服务端部分,这些前端部分和服务端部分结合起来实现多个功能,例如购物车功能、在线支付功能、收藏功能、用户评价功能等,用于实现各个功能的程度代码均可作为本申请实施例中的应用程序。这些应用程序需要承载相应的业务流量。例如,用于实现购物车功能的应用程序需要负责处理用户的加购物车请求,用于实现在线支付功能的应用程序需要负责用户提交的支付/付款请求,用户实现收藏功能的应用程序需要负责用户提交的收藏请求,等等。
这些应用程序可以部署在物理机10a上的虚拟化设备中,并且根据应用程序所需承载的业务流量,可以部署在多台虚拟化设备中。这些虚拟化设备会占用物理机10a的硬件资源,例如存储资源、CPU资源等。这些应用程序可无状态自动迁移,具备可快速资源伸缩能力。为了提高物理机10a的硬件资源的利用率,在本实施例中,增加资源调度设备10b,由资源调度设备10b对整个系统中的应用程序进行监控,以便在应用程序之间实现空闲资源的复用,使得物理机10a的硬件资源利用率更高,承载更多的业务流量。
在本实施例中,资源调度设备10b可以是具有一定处理能力的计算机设备。可选地,资源调度设备10b可以是服务器设备,例如可以是常规服务器、云服务器、云主机、虚拟中心等服务器设备。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似。
其中,资源调度设备10b在多个应用程序之间实现空闲资源复用的过程包括:基于多个应用程序所在虚拟化设备的业务承载能力和多个应用程序需要承载的业务流量,计算多个应用程序对硬件资源的实际需求量,并根据多个应用程序对硬件资源的实际需求量,确定多个应用程序中存在资源冗余的应用程序和资源不足的应用程序。之后,根据多个应用程序对硬件资源的消耗特征,将所确定的存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。在该过程中,资源调度设备10b可自动化地实现空闲资源发现、弹性调度以及空闲资源的复用,提高了硬件资源的利用率,使得硬件资源可以承载更多的业务流量。
在上述或下述实施例中,资源调度设备10b需要在多个应用程序之间实现空闲资源复用。在此之前,资源调度设备10b可以选择可以参与资源复用的多个应用程序。其中,所选择的每个应用程序部署在至少一台虚拟化设备中。值得说明的是,同一虚拟化设备可以同时承载多个不同的应用程序,另外,优选地,承载同一应用程序的虚拟化设备隶属于不同物理机10a。在选择出多个应用程序之后,可以在所选择的多个应用程序之间实施空闲资源的弹性调度和复用。
可选地,可以将整个系统中存在的应用程序形成应用程序集。在日常中,可以监测应用程序集中各应用程序的属性,进而基于各应用程序的属性从应用程序集中选择多个应用程序。这里的属性可以包括:应用程序的核心程度,应用程序的是否单机状态,应用程序的硬件消耗类型,应用程序的时延敏感度,以及应用程序的启动耗时与启动成功率中的至少一个。
其中,资源调度设备10b可以使用不同的属性,从应用程序集中选择多个应用程序。下面示例性实施例给出了一些选择方式:
在示例性实施例1中,资源调度设备10b可以根据应用程序集中各应用程序的时延敏感度,从应用程序集中选择时延敏感度大于设定敏感度阈值的多个应用程序。
其中,不同业务类型对时延敏感度的要求一般不同。例如,以3GPP中规定的3G中的业务类型为例,会话类业务和流量类业务对时延敏感度较高,而交互类业务和背景类业务对时延敏感度相对较低。另外,某个应用程序对时延的容忍度,一定程度上可以体现该应用程序的时延敏感度。一般地,应用程序对时延的容忍度越低,说明该应用程序的时延敏感度越高。其中,应用程序运行中涉及的业务传输速率一定程度上可以反映应用程序的时延敏感度。一般来说,应用程序运行中涉及的业务传输速率越平稳,甚至可以保持到业务结束,说明应用程序的时延敏感度较高;反之,若业务传输速率的突发性较强,说明应用程序的时延敏感度较低。
由于上述参数均可以反映应用程序的时延敏感度,因此,资源调度设备10b可以实时或离线地采集应用程序集中各应用程序对应的业务类型、对时延的容忍度和/或运行中涉及的业务传输速率等参数,其中,某一应用程序对应的业务类型是指运行该应用程序所能实现的业务的类型;之后,可以根据这些参数确定各应用程序的时延敏感度。进而,可以根据应用程序集中各应用程序的时延敏感度,从应用程序集中选择时延敏感度大于设定敏感度阈值的多个应用程序。这样可以保证时延敏感度较高的应用程序优先复用空闲资源,在提高硬件资源利用率的同时,还可以优先保障时延敏感度较高的应用程序所需的硬件资源。
在示例性实施例2中,资源调度设备10b可以根据应用程序集中各应用程序的故障率,从应用程序集中选择故障率低于设定故障率阈值的多个应用程序。
在该示例性实施例中,资源调度设备10b可以实时或离线地采集应用程序集中各应用程序在一定时间范围内的运行状态信息。其中,某一应用程序的运行状态信息包括应用程序是否故障,故障时间,故障次数等信息,这些信息一定程度上可以反映应用程序的故障率,因此可以根据应用程序集中各应用程序在一定时间范围内的运行状态信息,计算出各应用程序的故障率;进而,根据应用程序集中各应用程序的故障率,从应用程序集中选择故障率低于设定故障率阈值的多个应用程序。这样可以保证故障率较低的应用程序优先复用空闲资源,在提高硬件资源利用率的同时,还可以优先保障故障率较低的应用程序所需的硬件资源。
在示例性实施例3中,资源调度设备10b可以根据应用程序集中各应用程序的核心程度,从应用程序集中选择核心程度大于核心程度阈值的多个应用程序。
在该示例性实施例中,可以根据业务全链路上各部分功能的重要程度,预先设定实现各部分功能的应用程序的核心程度。基于此,资源调度设备10b可以离线地采集应用程序集中各应用程序的核心程度值;然后选择核心程度大于核心程度阈值的多个应用程序。这样可以保证核心程度较高的应用程序优先复用空闲资源,在提高硬件资源利用率的同时,还可以优先保障核心程度较高的应用程序所需的硬件资源,有利于提高用户感受。
在示例性实施例4中,资源调度设备10b可以根据应用程序集中各应用程序的启动耗时与启动成功率,从应用程序集中选择启动耗时小于耗时阈值,且启动成功率大于设定成功率阈值的多个应用程序。
在该示例性实施例中,资源调度设备10b可以实时或离线地采集应用程序集中各应用程序启动状态信息。其中,某一应用程序的启动状态信息包括应用程序是否正常启动,启动耗时,重启次数等信息,这些信息一定程度上可以反映应用程序的启动成功率,因此可以根据应用程序集中各应用程序在一定时间范围内的启动状态信息,计算出各应用程序的启动成功率;进而,可以根据应用程序集中各应用程序的启动耗时与启动成功率,从应用程序集中选择启动耗时小于耗时阈值,且启动成功率大于设定成功率阈值的多个应用程序。这样可以保证故启动较快且启动成功率较高的应用程序优先复用空闲资源,在提高硬件资源利用率的同时,还可以优先保障启动较快且成功率较高的应用程序所需的硬件资源。值得说明的是,上述启动耗时可以是平均耗时,也可以是某次的启动耗时。
在示例性实施例5中,资源调度设备10b可以根据应用程序集中各应用程序的属性计算各应用程序的调度权重值,从应用程序集中选择调度权重值满足设定要求的多个应用程序。
在该示例性实施例中,资源调度设备10b可以实时或离线地采集物理机10a上各应用程序的属性,例如应用程序的核心程度,应用程序的是否单机状态,应用程序的硬件消耗类型,应用程序的时延敏感度,应用程序的故障率,应用程序的可扩展性,以及应用程序的启动耗时与启动成功率等。然后,根据各应用程序的属性,计算出各应用程序的调度权重值。可选地,可以根据各应用程序的属性,采用优序对比法计算各应用程序的调度权重值。之后,可以从各应用程序中选择调度权重值满足设定要求的多个应用程序。例如,可以从各应用程序中选择调度权重值大于设定权重阈值的多个应用程序。又例如,可以从各应用程序中选择调度权重值最大的N个应用程序,N是大于或等于2的自然数。再例如,可以从各应用程序中选择调度权重值位于设定权重值范围内的多个应用程序。其中,优序对比法是通过对多个属性进行两两相对比较,最后给出重要性次序或者优先次序的一种算法。
在本申请一些示例性实施例中,在选择出多个应用程序之后,可根据所选择的多个应用程序所在虚拟化设备的业务承载能力与所选择的多个应用程序需要承载的业务流量,计算所选择的多个应用程序对硬件资源的实际需求量。
可选地,可以分别计算所选择的每个应用程序对硬件资源的实际需求量。
其中,应用程序需要承载的业务流量一般是动态变化的,故在计算所选择的每个应用程序对硬件资源的实际需求量时,可以实时预测该应用程序需要承载的业务流量。在本实施例中,按照业务流量的变化方式,将业务流量分为自然态的和非自然态的。基于此,预测应用程序需要承载的业务流量也就是预测应用程序在自然态和/或非自然态的业务流量。其中,应用程序在自然态和/或非自然态的业务流量主要是指该应用程序在一定时间段内需要处理的自然态和/或非自然态的业务请求的数量。若该时间段是单位时间,例如1秒钟、1分钟等,则应用程序的业务流量是指应用在单位时间内需要处理的自然态和/或非自然态的业务请求的数量。若该时间段是将来时段,例如将来10分钟内,将来1小时内、将来2天内等,则应用程序的业务流量是指应用程序在将来时段内需要处理的自然态和/或非自然态的业务请求的数量。
相应地,承载应用程序的虚拟化设备的业务承载能力也会随着应用程序的功能、性能等的变化而变化,而应用程序会不断的进行升级。为此,在计算所选择的每个应用程序对硬件资源的实际需求量时,也可以先行预测该应用程序所在虚拟化设备的业务承载能力。可选地,若在本次资源复用操作之前,应用程序被更新过,则可以先行预测该应用程序所在虚拟化设备的业务承载能力;若在本次资源复用操作之前,应用程序未被更新过,则可以直接使用之前的预测结果。
之后,可以根据每个应用程序所在虚拟化设备的业务承载能力与每个应用程序在自然态和/或非自然态的业务流量,计算每个应用程序对硬件资源的实际需求量。例如,可以根据每个应用程序在自然态和/或非自然态的业务流量与每个应用程序所在虚拟化设备的业务承载能力,确定每个应用程序所需的虚拟化设备的实际数量,进一步结合虚拟化设备所需的硬件规格,可以计算出每个应用程序对硬件资源的实际需求量。
在本申请实施例中,给出两种预测应用程序的业务流量的方式,一种是自然态的流量预测,一种是非自然态的流量预测。其中,自然态的流量预测是一种在业务自然增长情况下,基于时序特征的流量预测方式。业务自然增长情况是指没有突发事件、预设事件等非自然态事件干扰的业务增长情况。非自然态的流量预测是一种在非业务自然增长情况下,基于业务全链路上上下游应用程序在自然态下的流量转化情况的流量预测方式。非业务自然增长情况是指有突发事件、预设事件等非自然态事件干扰的业务增长情况。
其中,自然态的流量预测的方式包括:根据应用程序在自然态的业务流量(即业务请求的数量)的历史变化趋势,预测应用程序在未来时段内自然态的业务流量。例如,可以分析应用程序在自然态下较长历史时段内所承载的业务流量的变化趋势,构建特征模型,根据特征模型预测应用程序在未来时段内的业务流量。例如,以电商场景中负责前端业务的应用程序(简称为前端应用程序)和负责后端业务的应用程序(简称为后端应用程序)为例,前端应用程序和后端应用程序均存在较明显的年、月、周、日等时间维度上的周期性变化趋势,可以利用这种趋势特征,通过指数平滑算法对未来某时段内的业务流量做预测。例如,在电商场景中,实现加购物车、收藏、提交订单等功能的应用程序可以看作是前端应用程序,相应地,实现订单管理、用户管理、扣费等功能的应用程序可看作是后端应用程序。
其中,非自然态的流量预测的方式包括:根据与应用程序相关的非自然态事件的业务目标以应用程序所在业务全链路上上下游应用程序在自然态下的流量转化情况,预测业务全链路上各应用程序在非自然态事件下的业务并发量。非自然态事件可以包括但不限于:业务推广活动引流、新产品发布、互联网数据中心(IDC)间切流、拒绝服务攻击等。例如,以业务推广活动等有计划的事件引流为例,可以对业务全链路上上下游应用程序在自然态下的流量转化情况进行分析,结合事件引流的目标对并发业务量进行预估,最终预测在满足事件引流的目标的情况下业务全链路上各应用程序的业务并发量。
在一可选实施方式中,若需要预测应用程序所在的虚拟化设备的业务承载能力,可以根据应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况和所产生的业务指标数据,预测该应用程序所在虚拟化设备在单位时间内所能承载的最大业务流量,作为该应用程序所在虚拟化设备的业务承载能力。例如,可以根据应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况,以该应用程序满足相应业务指标为前提条件,预测该虚拟化设备在单位时间内所能承载的业务流量。其中,相应业务指标可以是应用程序在自然态下的业务指标数据,或者,可以是应用程序在非自然态下的业务指标数据,例如可以是与应用程序相关的非自然态事件的业务目标。
可选地,可以采集应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况,例如CPU利用率、内存利用率、缓存命中率、磁盘I/O、网络I/O等数据,并采集应用程序所产生的业务指标数据,例如QPS、RT、errQPS等;然后,对采集到的数据进行预处理,预处理包括但不限于:ETL、数据缺失处理、数据标准化,正则化、降维、特征提取等;接着,根据预处理以后的数据,通过机器学习方法预测应用程序在满足自然态下(例如日常情况下)的业务指标和/或非自然态下(例如大促场景)的业务指标时所需的最少硬件资源量;进而,根据虚拟化设备占用的硬件资源量和最少硬件资源量,计算出虚拟化设备在单位时间内所能承载的业务流量。可选地,可以预先构建机器学习模型,然后利用机器学习模型做预测。
值得说明的是,应用程序不同,应用程序所实现的业务逻辑的复杂度,所需消耗的资源量等会有所不同,这意味着承载不同应用程序的虚拟化设备的业务承载能力会有所不同。以单个容器为例,承载应用程序A的容器,在1秒钟可能承载5000个业务请求,而承载应用程序B的容器,在1秒钟可能承载1000个业务请求。
进一步,在获得每个应用程序对硬件资源的实际需求量之后,可以结合每个应用程序目前分配到的硬件资源总量,确定存在资源冗余的应用程序和资源不足的应用程序。例如,若某个应用程序对硬件资源的实际需求量小于该应用程序目前分配到的硬件资源总量,则确定该应用程序存在资源冗余;反之,若某个应用程序对硬件资源的实际需求量大于该应用程序目前分配到的硬件资源总量,则确定该应用程序资源不足。
在上述或下述实施例中,可以根据多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。可选地,应用程序对硬件资源的消耗特征主要是指应用程序对硬件资源的需求类型,即应用程序在运行时主要消耗的硬件资源的类型,例如可能是CPU资源,也可能是内存资源,还可能是磁盘I/O资源等。应用程序对硬件资源的需求量是指至少能够保证应用程序正常运行所需的硬件资源量,例如可能是*个CPU逻辑核,*G的内存,*存储资源等。其中,“*”代表相应资源的数量。
在使用应用程序对硬件资源的消耗特征之前,可以预先计算每个应用程序对硬件资源的消耗特征。在一种可选实施方式中,针对选择出的每个应用程序,可基于该应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况和所产生的业务指标数据,分析各类型硬件资源与业务指标的相关性;根据各类型硬件资源与业务指标的相关性,选择相关性符合相关性要求的硬件资源类型作为应用程序对硬件资源的需求类型,亦即消耗特征。
其中,应用程序在历史运行过程中对硬件资源的使用情况包括但不限于:该应用程序产生的CPU利用率、内存利用率、磁盘I/O字节数、网络I/O字节数等。相应地,应用程序在历史运行过程中所产生的业务指标数据包括但不限于:QPS、WPS、OPS等。基于大量历史数据,可以分析出各类型硬件资源与某一应用程序对应的业务指标的相关性,这里的相关性反映了各类型硬件资源对应用程序对应的业务指标的影响程度。一般来说,某一类型的硬件资源对业务指标的影响程度越高,说明应用程序对该类型的硬件资源的需求度越高。因此,可以基于各类型硬件资源与业务指标的相关性确定应用程序对硬件资源的需求类型。可选地,可以选择相关性最大的一个或多个硬件资源类型,作为该应用程序对硬件资源的需求类型。例如,应用程序对硬件资源的需求类型可以是CPU型,或者是内存型等。
值得说明的是,除了基于各类型硬件资源与业务指标的相关性确定应用程序对硬件资源的需求类型之外,还可以根据应用程序对应的业务类型(例如实时或非实时等)来确定应用程序对硬件资源的需求类型,或者也可以根据应用程序的其它属性来确定应用程序对硬件资源的需求类型。
在本申请上述实施例或下述实施例中,可以根据所选择的多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
在一可选实施方式中,可以回收存在资源冗余的应用程序多余的虚拟化设备,以释放所述多余的虚拟化设备所占用的硬件资源;然后,按照存在资源冗余的应用程序和资源不足的应用程序对硬件资源的消耗特征,在所释放的硬件资源上为资源不足且消耗特征相匹配的应用程序部署新的虚拟化设备。
可选地,在上述过程中,可以根据存在资源冗余的应用程序对硬件资源的需求类型和资源不足的应用程序对硬件资源的需求类型来判断两者是否适配。例如,如果存在资源冗余的应用程序对硬件资源的需求类型和资源不足的应用程序对硬件资源的需求类型相同,则确定这两个应用程序之间比较适配。
进一步可选地,还可以结合存在资源冗余的应用程序的资源冗余量和资源不足的应用程序欠缺的资源量来判断两者是否适配。例如,如果存在资源冗余的应用程序对硬件资源的需求类型和资源不足的应用程序对硬件资源的需求类型相同,且存在资源冗余的应用程序的资源冗余量大于或等于资源不足的应用程序欠缺的资源量,则确定这两个应用程序之间比较适配。
值得说明的是,应用程序之间的适配关系可以是一对一,一对多,或者多对一。在一对多或多对一的适配关系中,可以按照适配度由高到低的顺序依次确定资源出让方式。
值得说明的是,由于承载不同应用程序的虚拟化设备的资源规格可能不同,所以在所释放的硬件资源上部署的新的虚拟化设备的数量与回收的多余的虚拟化设备的数量没有直接联系。例如,假设需要回收的多余的虚拟化设备为2个,而这些虚拟化设备的资源规格均为2个CPU逻辑核,4G内存,需要部署的新的虚拟化设备的资源规格为1个CPU逻辑核,2G内存,则在所释放的硬件资源上一共可以部署4个新的虚拟化设备,当然,具体部署几个新的虚拟化设备可视资源不足的应用程序的需求而定,例如可能需要部署3个新的虚拟化设备。
在本实施例提供的资源复用系统中,增设资源调度设备,由资源调度设备针对部署在虚拟化设备中的多个应用程序,基于这些应用程序所在虚拟化设备的业务承载能力和这些应用程序在自然态和/或非自然态的业务流量,计算这些应用程序对硬件资源的实际需求量;然后,结合这些应用程序对硬件资源的消耗特征和实际需求量,可将存在资源冗余的应用程序的空闲资源出让给资源不足的应用程序,可自动化发现空闲资源,并对空闲资源进行弹性调度,最终自动化完成空闲资源的复用,让硬件资源流动起来,达到1+1大于2的效果,提高硬件资源的利用率。
在一种应用场景中,采用容器化技术,在资源复用系统中的各物理机分别部署了多个容器,在每个容器中部署一个应用程序,且同一物理机上的不同容器中部署不同的应用程序,同一应用同时部署在多台物理机上的多个容器中。如图2所示为该资源复用系统中物理机->容器->应用程序的部署关系示意图。在图2中,应用程序a和应用程序b分别部署在多台物理机上的容器中。在该系统中,可参见上述系统实施例或下述方式实施例中描述的内容进行空间资源的复用,让硬件资源流动起来,达到1+1大于2的效果,提高硬件资源的利用率。
本申请实施例除了提供上述资源复用系统之外,还提供一些资源复用方法。这些方法实施例从资源调度设备的角度描述了资源复用的过程。
图3为本申请另一示例性实施例提供的一种资源复用方法的流程示意图。如图3所示,该方法包括:
301、基于多个应用程序所在虚拟化设备的业务承载能力与多个应用程序需要承载的业务流量,计算多个应用程序对硬件资源的实际需求量。
302、根据多个应用程序对硬件资源的实际需求量,确定多个应用程序中存在资源冗余的应用程序和资源不足的应用程序。
303、根据多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
可选地,每个应用可以部署在至少一台虚拟化设备中,而至少一台虚拟化设备可以部署在同一物理机上,也可以分别部署在多台不同的物理机上。
在本实施例中,针对部署在虚拟化设备中的多个应用程序,基于这些应用程序所在虚拟化设备的业务承载能力和这些应用程序需要承载的业务流量,计算这些应用程序对硬件资源的实际需求量;然后,结合这些应用程序对硬件资源的消耗特征和实际需求量,可将存在资源冗余的应用程序的空闲资源出让给资源不足的应用程序,可自动化发现空闲资源,并对空闲资源进行弹性调度,最终自动化完成空闲资源的复用,提高了硬件资源的利用率。
在一些可选实施例中,在多个应用程序之间实现空闲资源复用之前,可以选择可以参与资源复用的多个应用程序,进而在所选择的多个应用程序之间实施空闲资源的弹性调度和复用。可选地,可以将整个系统中存在的应用程序形成应用程序集。在日常中,可以监测应用程序集中各应用程序的属性,进而可以基于各应用程序的属性从应用程序集中选择多个应用程序。这里的属性可以包括:应用程序的核心程度,应用程序的是否单机状态,应用程序的硬件消耗类型,应用程序的时延敏感度,以及应用程序的启动耗时与启动成功率中的至少一个。
其中,可以采用下述示例性实施例给出的选择方式来选择多个应用程序:
在示例性实施例1中,可以根据应用程序集中各应用程序的时延敏感度,从应用程序集中选择时延敏感度大于设定敏感度阈值的多个应用程序。
在示例性实施例2中,可以根据应用程序集中各应用程序的故障率,从应用程序集中选择故障率低于设定故障率阈值的多个应用程序。
在示例性实施例3中,可以根据应用程序集中各应用程序的核心程度,从应用程序集中选择核心程度大于核心程度阈值的多个应用程序。
在示例性实施例4中,可以根据应用程序集中各应用程序的启动耗时与启动成功率,从应用程序集中选择启动耗时小于耗时阈值,且启动成功率大于设定成功率阈值的多个应用程序。
在示例性实施例5中,可以根据应用程序集中各应用程序的属性计算各应用程序的调度权重值,从应用程序集中选择调度权重值满足设定要求的多个应用程序。
关于上述示例性实施例1-5的详细描述,可参见前述系统实施例中的相应描述,在此不再赘述。
在选择出多个应用程序之后,可根据所选择的多个应用程序所在虚拟化设备的业务承载能力与所选择的多个应用程序需要承载的业务流量,计算所选择的多个应用程序对硬件资源的实际需求量。
在一可选实施方式中,步骤301的实施过程包括:针对每个应用程序,预测该应用程序在自然态和/或非自然态的业务流量,并预测该应用程序所在虚拟化设备的业务承载能力;根据该应用程序所在虚拟化设备的业务承载能力与该应用程序在自然态和/或非自然态的业务流量,计算该应用程序对硬件资源的实际需求量。
其中,应用程序需要承载的业务流量一般是动态变化的,故在计算所选择的每个应用程序对硬件资源的实际需求量时,可以实时预测该应用程序在自然态和/或非自然态的业务流量。在本实施例中,按照业务流量的变化方式,将业务流量分为自然态的和非自然态的。应用程序在自然态和/或非自然态的业务流量主要是指该应用程序在一定时间段内需要处理的自然态和/或非自然态的业务请求的数量。若所述时间段是单位时间,例如1秒钟、1分钟等,则应用程序的业务流量是指应用在单位时间内需要处理的自然态和/或非自然态的业务请求的数量。若所述时间段是将来时段,例如将来10分钟内,将来1小时内、将来2天内等,则应用程序的业务流量是指应用程序在将来时段内需要处理的自然态和/或非自然态的业务请求的数量。
相应地,承载应用程序的虚拟化设备的业务承载能力也会随着应用程序的功能、性能等的变化而变化,而应用程序会不断的进行升级。为此,在计算所选择的每个应用程序对硬件资源的实际需求量时,也可以先行预测该应用程序所在虚拟化设备的业务承载能力。可选地,若在本次资源复用操作之前,应用程序被更新过,则可以先行预测该应用程序所在虚拟化设备的业务承载能力;若在本次资源复用操作之前,应用程序未被更新过,则可以直接使用之前的预测结果。
之后,可以根据每个应用程序所在虚拟化设备的业务承载能力与每个应用程序在自然态和/或非自然态的业务流量,计算每个应用程序对硬件资源的实际需求量。例如,可以根据每个应用程序在自然态和/或非自然态的业务流量与每个应用程序所在虚拟化设备的业务承载能力,确定每个应用程序所需的虚拟化设备的实际数量,进一步结合虚拟化设备所需的硬件规格,可以计算出每个应用程序对硬件资源的实际需求量。
在本申请实施例中,给出两种预测应用程序的业务流量的方式,一种是自然态的流量预测,一种是非自然态的流量预测。其中,自然态的流量预测是一种在业务自然增长情况下,基于时序特征的流量预测方式。业务自然增长情况是指没有突发事件、预设事件等非自然态事件干扰的业务增长情况。非自然态的流量预测是一种在非业务自然增长情况下,基于业务全链路上上下游应用程序在自然态下的流量转化情况的流量预测方式。非业务自然增长情况是指有突发事件、预设事件等非自然态事件干扰的业务增长情况。
其中,自然态的流量预测的方式包括:根据应用程序在自然态的业务流量(即业务请求的数量)的历史变化趋势,预测应用程序在未来时段内自然态的业务流量。例如,可以分析应用程序在自然态下较长历史时段内所承载的业务流量的变化趋势,构建特征模型,根据特征模型预测应用程序在未来时段内的业务流量。例如,以电商场景中负责前端业务的应用程序(简称为前端应用程序)和负责后端业务的应用程序(简称为后端应用程序)为例,前端应用程序和后端应用程序均存在较明显的年、月、周、日等时间维度上的周期性变化趋势,可以利用这种趋势特征,通过指数平滑算法对未来某时段内的业务流量做预测。例如,在电商场景中,实现加购物车、收藏、提交订单等功能的应用程序可以看作是前端应用程序,相应地,实现订单管理、用户管理、扣费等功能的应用程序可看作是后端应用程序。
其中,非自然态的流量预测的方式包括:根据与应用程序相关的非自然态事件的业务目标以应用程序所在业务全链路上上下游应用程序在自然态下的流量转化情况,预测业务全链路上各应用程序在非自然态事件下的业务并发量。非自然态事件可以包括但不限于:业务推广活动引流、新产品发布、互联网数据中心(IDC)间切流、拒绝服务攻击等。例如,以业务推广活动等有计划的事件引流为例,可以对业务全链路上上下游应用程序在自然态下的流量转化情况进行分析,结合事件引流的目标对并发业务量进行预估,最终预测在满足事件引流的目标的情况下业务全链路上各应用程序的业务并发量。
在一可选实施方式中,若需要预测应用程序所在的虚拟化设备的业务承载能力,可以根据应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况和所产生的业务指标数据,预测该应用程序所在虚拟化设备在单位时间内所能承载的最大业务流量,作为该应用程序所在虚拟化设备的业务承载能力。例如,可以根据应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况,以该应用程序满足相应业务指标为前提条件,预测该虚拟化设备在单位时间内所能承载的业务流量。其中,相应业务指标可以是应用程序在自然态下的业务指标数据,或者,可以是应用程序在非自然态下的业务指标数据,例如可以是与应用程序相关的非自然态事件的业务目标。
可选地,可以采集应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况,例如CPU利用率、内存利用率、缓存命中率、磁盘I/O、网络I/O等数据,并采集应用程序所产生的业务指标数据,例如QPS、RT、errQPS等;然后,对采集到的数据进行预处理,预处理包括但不限于:ETL、数据缺失处理、数据标准化,正则化、降维、特征提取等;接着,根据预处理以后的数据,通过机器学习方法预测应用程序在满足自然态下(例如日常情况下)的业务指标和/或非自然态下(例如大促场景)的业务指标时所需的最少硬件资源量;进而,根据虚拟化设备占用的硬件资源量和最少硬件资源量,计算出虚拟化设备在单位时间内所能承载的业务流量。可选地,可以预先构建机器学习模型,然后利用机器学习模型做预测。
值得说明的是,应用程序不同,应用程序所实现的业务逻辑的复杂度,所需消耗的资源量等会有所不同,这意味着承载不同应用程序的虚拟化设备的业务承载能力会有所不同。以单个容器为例,承载应用程序A的容器,在1秒钟可能承载5000个业务请求,而承载应用程序B的容器,在1秒钟可能承载1000个业务请求。
进一步,在获得每个应用程序对硬件资源的实际需求量之后,可以结合每个应用程序目前分配到的硬件资源总量,确定存在资源冗余的应用程序和资源不足的应用程序,如步骤302。例如,若某个应用程序对硬件资源的实际需求量小于该应用程序目前分配到的硬件资源总量,则确定该应用程序存在资源冗余;反之,若某个应用程序对硬件资源的实际需求量大于该应用程序目前分配到的硬件资源总量,则确定该应用程序资源不足。
在步骤303中,可以根据多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
可选地,应用程序对硬件资源的消耗特征主要是指应用程序对硬件资源的需求类型,即应用程序在运行时主要消耗的硬件资源的类型,例如可能是CPU资源,也可能是内存资源,还可能是磁盘I/O资源等。应用程序对硬件资源的需求量是指至少能够保证应用程序正常运行所需的硬件资源量,例如可能是*个CPU逻辑核,*G的内存,*存储资源等。其中,“*”代表相应资源的数量。
在使用应用程序对硬件资源的消耗特征之前,可以预先计算每个应用程序对硬件资源的消耗特征。在一种可选实施方式中,针对选择出的每个应用程序,可基于该应用程序在历史运行过程中对该应用程序所在虚拟化设备的硬件资源的使用情况和所产生的业务指标数据,分析各类型硬件资源与业务指标的相关性;根据各类型硬件资源与业务指标的相关性,选择相关性符合相关性要求的硬件资源类型作为应用程序对硬件资源的需求类型,亦即消耗特征。
其中,应用程序在历史运行过程中对硬件资源的使用情况包括但不限于:该应用程序产生的CPU利用率、内存利用率、磁盘I/O字节数、网络I/O字节数等。相应地,应用程序在历史运行过程中所产生的业务指标数据包括但不限于:QPS、WPS、OPS等。基于大量历史数据,可以分析出各类型硬件资源与某一应用程序对应的业务指标的相关性,这里的相关性反映了各类型硬件资源对应用程序对应的业务指标的影响程度。一般来说,某一类型的硬件资源对业务指标的影响程度越高,说明应用程序对该类型的硬件资源的需求度越高。因此,可以基于各类型硬件资源与业务指标的相关性确定应用程序对硬件资源的需求类型。可选地,可以选择相关性最大的一个或多个硬件资源类型,作为该应用程序对硬件资源的需求类型。例如,应用程序对硬件资源的需求类型可以是CPU型,或者是内存型等。
值得说明的是,除了基于各类型硬件资源与业务指标的相关性确定应用程序对硬件资源的需求类型之外,还可以根据应用程序对应的业务类型(例如实时或非实时等)来确定应用程序对硬件资源的需求类型,或者也可以根据应用程序的其它属性来确定应用程序对硬件资源的需求类型。
在本申请上述实施例或下述实施例中,可以根据所选择的多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
在一可选实施方式中,可以回收存在资源冗余的应用程序多余的虚拟化设备,以释放所述多余的虚拟化设备所占用的硬件资源;然后,按照存在资源冗余的应用程序和资源不足的应用程序对硬件资源的消耗特征,在所释放的硬件资源上为资源不足且消耗特征相匹配的应用程序部署新的虚拟化设备。
可选地,在上述过程中,可以根据存在资源冗余的应用程序对硬件资源的需求类型和资源不足的应用程序对硬件资源的需求类型来判断两者是否适配。例如,如果存在资源冗余的应用程序对硬件资源的需求类型和资源不足的应用程序对硬件资源的需求类型相同,则确定这两个应用程序之间比较适配。
进一步可选地,还可以结合存在资源冗余的应用程序的资源冗余量和资源不足的应用程序欠缺的资源量来判断两者是否适配。例如,如果存在资源冗余的应用程序对硬件资源的需求类型和资源不足的应用程序对硬件资源的需求类型相同,且存在资源冗余的应用程序的资源冗余量大于或等于资源不足的应用程序欠缺的资源量,则确定这两个应用程序之间比较适配。
值得说明的是,应用程序之间的适配关系可以是一对一,一对多,或者多对一。在一对多或多对一的适配关系中,可以按照适配度由高到低的顺序依次确定资源出让方式。
值得说明的是,由于承载不同应用程序的虚拟化设备的资源规格可能不同,所以在所释放的硬件资源上部署的新的虚拟化设备的数量与回收的多余的虚拟化设备的数量没有直接联系。例如,假设需要回收的多余的虚拟化设备为2个,而这些虚拟化设备的资源规格均为2个CPU逻辑核,4G内存,需要部署的新的虚拟化设备的资源规格为1个CPU逻辑核,2G内存,则在所释放的硬件资源上一共可以部署4个新的虚拟化设备,当然,具体部署几个新的虚拟化设备可视资源不足的应用程序的需求而定,例如可能需要部署3个新的虚拟化设备。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤301至步骤303的执行主体可以为设备A;又比如,步骤301和302的执行主体可以为设备A,步骤303的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如301、302等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
图4a为本申请又一示例性实施例提供的一种资源复用装置的结构示意图。如图4a所示,该装置包括:计算模块42、确定模块43和出让模块44。其中,
计算模块42,用于基于多个应用程序所在虚拟化设备的业务承载能力与多个应用程序需要承载的业务流量,计算多个应用程序对硬件资源的实际需求量。
确定模块43,用于根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序。
出让模块44,用于根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
在一可选实施例中,该资源复用装置还包括选择模块41,用于选择多个应用程序,每个应用程序部署在至少一台虚拟化设备中。可选地,承载每个应用程序的至少一台虚拟化设备可以部署在同一物理机上,也可以分别部署在多台不同的物理机上。
可选地,选择模块41具体用于:根据应用程序集中各应用程序的属性,计算各应用程序的调度权重值;从所述应用程序集中选择调度权重值满足设定要求的多个应用程序。
进一步可选地,所述应用程序的属性包括:应用程序的核心程度,应用程序的是否单机状态,应用程序的硬件消耗类型,应用程序的时延敏感度,以及应用程序的启动耗时与启动成功率中的至少一个。
在一可选实施例中,计算模块42具体用于:针对每个应用程序,预测所述应用程序在自然态和/或非自然态的业务流量,并预测所述应用程序所在虚拟化设备的业务承载能力;根据所述应用程序所在虚拟化设备的业务承载能力与所述应用程序在自然态和/或非自然态的业务流量,计算所述应用程序对硬件资源的实际需求量。
进一步可选地,计算模块42在预测所述应用程序在自然态的业务流量时,具体用于:根据所述应用程序在自然态的业务流量的历史变化趋势,预测所述应用程序在未来时段内自然态的业务流量。
进一步,计算模块42在预测所述应用程序在非自然态的业务流量时,具体用于:根据与所述应用程序相关的非自然态事件的业务目标以及所述应用程序所在业务全链路上上下游应用程序在自然态下的流量转化情况,预测所述业务全链路上各应用程序在所述非自然态事件下的业务并发量。
可选地,计算模块42在预测所述应用程序所在虚拟化设备的业务承载能力时,具体用于:根据所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,预测所述应用程序所在虚拟化设备在单位时间内所能承载的最大业务流量,作为所述应用程序所在虚拟化设备的业务承载能力。
进一步,计算模块42还用于:针对每个应用程序,基于所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,分析各类型硬件资源与业务指标的相关性;根据所述各类型硬件资源与业务指标的相关性,选择相关性符合相关性要求的硬件资源类型作为所述应用程序对硬件资源的消耗特征。
在一可选实施方式中,出让模块44具体用于:回收所述存在资源冗余的应用程序多余的虚拟化设备,以释放所述多余的虚拟化设备所占用的硬件资源;按照所述存在资源冗余的应用程序和所述资源不足的应用程序对硬件资源的消耗特征,在所述释放的硬件资源上为资源不足且消耗特征相匹配的应用程序部署新的虚拟化设备。
值得说明的是,在上述或下述实施例中,虚拟化设备可以为容器或虚拟机等,这些虚拟设备可以作为物理机上的最小部署单元,便于用户采集比原本组态更好的方式来应用物理机上的硬件资源。其中,对于容器或虚拟机等虚拟化设备的具体描述可参见上述图1和图2所示实施例中的相关描述,此处不再赘述。
本实施例提供的资源复用装置,针对部署在虚拟化设备中的多个应用程序,基于这些应用程序所在虚拟化设备的业务承载能力和这些应用程序需要承载的业务流量,计算这些应用程序对硬件资源的实际需求量;然后,结合这些应用程序对硬件资源的消耗特征和实际需求量,可将存在资源冗余的应用程序的空闲资源出让给资源不足的应用程序,可自动化发现空闲资源,并对空闲资源进行弹性调度,最终自动化完成空闲资源的复用,提高了硬件资源的利用率。
图4b为本申请又一示例性实施例提供的一种资源调度设备的结构示意图。如图4b所示,该资源调度设备包括:存储器40a和处理器40b。
存储器40a,用于存储计算机程序,并可被配置为存储其它各种数据以支持在资源调度设备上的操作。这些数据的示例包括用于在资源调度设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器40a可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器40b,与存储器40a耦合,用于执行存储器40a中的计算机程序,以用于:
基于多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量;
根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序;
根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序。
在一可选实施方式中,处理器40b还用于:在计算多个应用程序对硬件资源的实际需求量之前,选择多个应用程序。
进一步,处理器40b在选择多个应用程序时,具体用于:根据应用程序集中各应用程序的属性,计算各应用程序的调度权重值;从所述应用程序集中选择调度权重值满足设定要求的多个应用程序。
进一步可选地,所述应用程序的属性包括:应用程序的核心程度,应用程序的是否单机状态,应用程序的硬件消耗类型,应用程序的时延敏感度,以及应用程序的启动耗时与启动成功率中的至少一个。
相应地,处理器40b在计算多个应用程序对硬件资源的实际需求量时,具体用于:针对每个应用程序,预测所述应用程序在自然态和/或非自然态的业务流量,并预测所述应用程序所在虚拟化设备的业务承载能力;根据所述应用程序所在虚拟化设备的业务承载能力与所述应用程序在自然态和/或非自然态的业务流量,计算所述应用程序对硬件资源的实际需求量。
进一步,处理器40b在预测所述应用程序在自然态的业务流量时,具体用于:根据所述应用程序在自然态的业务流量的历史变化趋势,预测所述应用程序在未来时段内自然态的业务流量。
可选地,处理器40b在预测所述应用程序在非自然态的业务流量时,具体用于:根据与所述应用程序相关的非自然态事件的业务目标以及所述应用程序所在业务全链路上上下游应用程序在自然态下的流量转化情况,预测所述业务全链路上各应用程序在所述非自然态事件下的业务并发量。
进一步,处理器40b在预测所述应用程序所在虚拟化设备的业务承载能力时,具体用于:根据所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,预测所述应用程序所在虚拟化设备在单位时间内所能承载的最大业务流量,作为所述应用程序所在虚拟化设备的业务承载能力。
进一步可选地,处理器40b还用于:针对每个应用程序,基于所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,分析各类型硬件资源与业务指标的相关性;根据所述各类型硬件资源与业务指标的相关性,选择相关性符合相关性要求的硬件资源类型作为所述应用程序对硬件资源的消耗特征。
在一可选实施方式中,处理器40b在出让资源时,具体用于:回收所述存在资源冗余的应用程序多余的虚拟化设备,以释放所述多余的虚拟化设备所占用的硬件资源;按照所述存在资源冗余的应用程序和所述资源不足的应用程序对硬件资源的消耗特征,在所述释放的硬件资源上为资源不足且消耗特征相匹配的应用程序部署新的虚拟化设备。
值得说明的是,在上述或下述实施例中,虚拟化设备可以为容器或虚拟机等,这些虚拟设备可以作为物理机上的最小部署单元,便于用户采集比原本组态更好的方式来应用物理机上的硬件资源。其中,对于容器或虚拟机等虚拟化设备的具体描述可参见上述图1和图2所示实施例中的相关描述,此处不再赘述。
进一步,如图4b所示,该资源调度设备还包括:通信组件40c、电源组件40d等其它组件。图4b中仅示意性给出部分组件,并不意味着资源调度设备只包括图4b所示组件。
上述图4b中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
上述图4b中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
本实施例提供的资源调度设备,针对部署在虚拟化设备中的多个应用程序,基于这些应用程序所在虚拟化设备的业务承载能力和这些应用程序需要承载的业务流量,计算这些应用程序对硬件资源的实际需求量;然后,结合这些应用程序对硬件资源的消耗特征和实际需求量,可将存在资源冗余的应用程序的空闲资源出让给资源不足的应用程序,可自动化发现空闲资源,并对空闲资源进行弹性调度,最终自动化完成空闲资源的复用,提高了硬件资源的利用率。
相应地,本申请实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由资源调度设备执行的各步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (18)
1.一种资源复用方法,其特征在于,包括:
基于多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量;
根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序;
根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序;所述应用程序对硬件资源的消耗特征是应用程序运行时消耗的至少部分硬件资源的类型。
2.根据权利要求1所述的方法,其特征在于,所述基于所述多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量,包括:
针对每个应用程序,预测所述应用程序在自然态和/或非自然态的业务流量,并预测所述应用程序所在虚拟化设备的业务承载能力;
根据所述应用程序所在虚拟化设备的业务承载能力与所述应用程序在自然态和/或非自然态的业务流量,计算所述应用程序对硬件资源的实际需求量。
3.根据权利要求2所述的方法,其特征在于,所述预测所述应用程序在自然态的业务流量,包括:
根据所述应用程序在自然态的业务流量的历史变化趋势,预测所述应用程序在未来时段内自然态的业务流量。
4.根据权利要求2所述的方法,其特征在于,所述预测所述应用程序在非自然态的业务流量,包括:
根据与所述应用程序相关的非自然态事件的业务目标以及所述应用程序所在业务全链路上上下游应用程序在自然态下的流量转化情况,预测所述业务全链路上各应用程序在所述非自然态事件下的业务并发量。
5.根据权利要求2所述的方法,其特征在于,所述预测所述应用程序所在虚拟化设备的业务承载能力,包括:
根据所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,预测所述应用程序所在虚拟化设备在单位时间内所能承载的最大业务流量,作为所述应用程序所在虚拟化设备的业务承载能力。
6.根据权利要求1所述的方法,其特征在于,在根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序之前,还包括:
针对每个应用程序,基于所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,分析各类型硬件资源与业务指标的相关性;
根据所述各类型硬件资源与业务指标的相关性,选择相关性符合相关性要求的硬件资源类型作为所述应用程序对硬件资源的消耗特征。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序,包括:
回收所述存在资源冗余的应用程序多余的虚拟化设备,以释放所述多余的虚拟化设备所占用的硬件资源;
按照所述存在资源冗余的应用程序和所述资源不足的应用程序对硬件资源的消耗特征,在所述释放的硬件资源上为资源不足且消耗特征相匹配的应用程序部署新的虚拟化设备。
8.根据权利要求1-6任一项所述的方法,其特征在于,在计算所述多个应用程序对硬件资源的实际需求量之前,还包括:
根据应用程序集中各应用程序的属性,计算各应用程序的调度权重值;
从所述应用程序集中选择调度权重值满足设定要求的多个应用程序。
9.根据权利要求8所述的方法,其特征在于,所述应用程序的属性包括:应用程序的核心程度,应用程序的是否单机状态,应用程序的硬件消耗类型,应用程序的时延敏感度,以及应用程序的启动耗时与启动成功率中的至少一个。
10.一种资源调度设备,其特征在于,包括:存储器和处理器;
所述存储器,用于存储计算机程序;
所述处理器,与所述存储器耦合,用于执行所述计算机程序,以用于:
基于多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量;
根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序;
根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序;所述应用程序对硬件资源的消耗特征是应用程序运行时消耗的至少部分硬件资源的类型。
11.根据权利要求10所述的资源调度设备,其特征在于,所述处理器具体用于:
针对每个应用程序,预测所述应用程序在自然态和/或非自然态的业务流量,并预测所述应用程序所在虚拟化设备的业务承载能力;
根据所述应用程序所在虚拟化设备的业务承载能力与所述应用程序在自然态和/或非自然态的业务流量,计算所述应用程序对硬件资源的实际需求量。
12.根据权利要求11所述的资源调度设备,其特征在于,所述处理器具体用于:
根据所述应用程序在自然态的业务流量的历史变化趋势,预测所述应用程序在未来时段内自然态的业务流量。
13.根据权利要求11所述的资源调度设备,其特征在于,所述处理器具体用于:
根据与所述应用程序相关的非自然态事件的业务目标以及所述应用程序所在业务全链路上上下游应用程序在自然态下的流量转化情况,预测所述业务全链路上各应用程序在所述非自然态事件下的业务并发量。
14.根据权利要求11所述的资源调度设备,其特征在于,所述处理器具体用于:
根据所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,预测所述应用程序所在虚拟化设备在单位时间内所能承载的最大业务流量,作为所述应用程序所在虚拟化设备的业务承载能力。
15.根据权利要求10所述的资源调度设备,其特征在于,所述处理器还用于:
针对每个应用程序,基于所述应用程序在历史运行过程中对所述应用程序所在虚拟化设备的硬件资源的消耗情况和所产生的业务指标数据,分析各类型硬件资源与业务指标的相关性;
根据所述各类型硬件资源与业务指标的相关性,选择相关性符合相关性要求的硬件资源类型作为所述应用程序对硬件资源的需求类型。
16.根据权利要求10-15任一项所述的资源调度设备,其特征在于,所述处理器具体用于:
回收所述存在资源冗余的应用程序多余的虚拟化设备,以释放所述多余的虚拟化设备所占用的硬件资源;
按照所述存在资源冗余的应用程序和所述资源不足的应用程序对硬件资源的消耗特征,在所述释放的硬件资源上为资源不足且消耗特征相匹配的应用程序部署新的虚拟化设备。
17.一种资源复用系统,其特征在于,包括:至少一台物理机和资源调度设备,所述至少一台物理机上部署有多台虚拟化设备,所述多台虚拟化设备中部署有若干个应用程序;
所述资源调度设备,用于:
基于多个应用程序所在虚拟化设备的业务承载能力与所述多个应用程序需要承载的业务流量,计算所述多个应用程序对硬件资源的实际需求量;
根据所述多个应用程序对硬件资源的实际需求量,确定所述多个应用程序中存在资源冗余的应用程序和资源不足的应用程序;
根据所述多个应用程序对硬件资源的消耗特征,将存在资源冗余的应用程序的空闲硬件资源出让给资源不足的应用程序;所述应用程序对硬件资源的消耗特征是应用程序运行时消耗的至少部分硬件资源的类型。
18.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时,致使所述处理器执行权利要求1-9任一项所述方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810503804.1A CN110532086B (zh) | 2018-05-23 | 2018-05-23 | 资源复用方法、设备、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810503804.1A CN110532086B (zh) | 2018-05-23 | 2018-05-23 | 资源复用方法、设备、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110532086A CN110532086A (zh) | 2019-12-03 |
CN110532086B true CN110532086B (zh) | 2022-11-15 |
Family
ID=68656517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810503804.1A Active CN110532086B (zh) | 2018-05-23 | 2018-05-23 | 资源复用方法、设备、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110532086B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010457B (zh) * | 2021-03-24 | 2024-07-05 | 北京百度网讯科技有限公司 | 资源管理方法、装置及移动终端 |
CN113553190B (zh) * | 2021-09-17 | 2022-02-15 | 阿里云计算有限公司 | 计算集群系统、调度方法、设备及存储介质 |
CN113923229B (zh) * | 2021-10-14 | 2024-07-16 | 京东科技信息技术有限公司 | 云计算资源弹性调度方法、装置及相关设备 |
CN114035771B (zh) * | 2021-11-17 | 2024-09-17 | 河南许继仪表有限公司 | 一种基于自平衡技术的物联管理终端资源共享系统及方法 |
CN115080209A (zh) * | 2022-06-28 | 2022-09-20 | 北京百度网讯科技有限公司 | 系统资源调度方法、装置、电子设备及存储介质 |
CN115202890B (zh) * | 2022-09-14 | 2022-12-16 | 中国电子信息产业集团有限公司 | 数据元件生产资源空间分配方法、系统及设备 |
CN116132992B (zh) * | 2022-12-16 | 2024-02-23 | 深圳中云通信技术有限公司 | 一种5g加速卡通信模块、加速卡及通信传输方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546379A (zh) * | 2010-12-27 | 2012-07-04 | 中国移动通信集团公司 | 一种虚拟化资源调度的方法及虚拟化资源调度系统 |
CN103164283A (zh) * | 2012-05-10 | 2013-06-19 | 上海兆民云计算科技有限公司 | 一种虚拟桌面系统中虚拟化资源动态调度管理方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336031B2 (en) * | 2013-02-27 | 2016-05-10 | International Business Machines Corporation | Managing allocation of hardware resources in a virtualized environment |
-
2018
- 2018-05-23 CN CN201810503804.1A patent/CN110532086B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102546379A (zh) * | 2010-12-27 | 2012-07-04 | 中国移动通信集团公司 | 一种虚拟化资源调度的方法及虚拟化资源调度系统 |
CN103164283A (zh) * | 2012-05-10 | 2013-06-19 | 上海兆民云计算科技有限公司 | 一种虚拟桌面系统中虚拟化资源动态调度管理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110532086A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110532086B (zh) | 资源复用方法、设备、系统及存储介质 | |
US11526434B1 (en) | Network-level garbage collection in an on-demand code execution system | |
US12034597B2 (en) | Methods and apparatus to control processing of telemetry data at an edge platform | |
TWI723410B (zh) | 雲端資源管理系統、雲端資源管理方法以及非暫態電腦可讀取記錄媒體 | |
CN110858161B (zh) | 资源分配方法、装置、系统、设备和介质 | |
US11032212B2 (en) | Systems and methods for provision of a guaranteed batch | |
US9483288B2 (en) | Method and system for running a virtual appliance | |
US8954487B2 (en) | Management server and method for providing cloud computing service | |
US9244737B2 (en) | Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium | |
CN107003887A (zh) | Cpu超载设置和云计算工作负荷调度机构 | |
CN105049268A (zh) | 分布式计算资源分配系统和任务处理方法 | |
EP3490216A1 (en) | Risk identification method, risk identification apparatus, and cloud risk identification apparatus and system | |
CN111459641B (zh) | 一种跨机房的任务调度和任务处理的方法及装置 | |
US10824339B1 (en) | Snapshot-based garbage collection in an on-demand code execution system | |
EP3895007A1 (en) | A method and a system for managing the computing resources of a cloud computing platform | |
KR102389334B1 (ko) | 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법 | |
CN117971499B (zh) | 资源配置方法、装置、电子设备和存储介质 | |
CN114072767A (zh) | 资源调度、申请与定价方法、设备、系统及存储介质 | |
CN111767199A (zh) | 一种基于批处理作业的资源管理方法、装置、设备及系统 | |
CN103488538A (zh) | 云计算系统中的应用扩展装置和应用扩展方法 | |
CN113301087B (zh) | 资源调度方法、装置、计算设备和介质 | |
CN114489963A (zh) | 人工智能应用任务的管理方法、系统、设备及存储介质 | |
CN108228323B (zh) | 基于数据本地性的Hadoop任务调度方法及装置 | |
CN108667920B (zh) | 一种雾计算环境业务流量加速系统及其业务流量加速方法 | |
US9971683B1 (en) | Automatic computer memory management coordination across a group of servers |
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 |