CN108322404A - 资源的分配方法、装置及系统 - Google Patents
资源的分配方法、装置及系统 Download PDFInfo
- Publication number
- CN108322404A CN108322404A CN201710031637.0A CN201710031637A CN108322404A CN 108322404 A CN108322404 A CN 108322404A CN 201710031637 A CN201710031637 A CN 201710031637A CN 108322404 A CN108322404 A CN 108322404A
- Authority
- CN
- China
- Prior art keywords
- host
- migrated
- resource
- load curve
- load
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种资源的分配方法、装置及系统。其中,该系统包括:资源池,包括至少一个第一宿主机和至少一个第二宿主机;第一宿主机,用于在存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,并获取第二宿主机的负载曲线,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机;其中,待迁移的实例为超出第一宿主机的运算能力的实例,第二宿主机的空闲资源满足用于运行待迁移的实例的资源。本发明解决了资源池中资源利用率低的技术问题。
Description
技术领域
本发明涉及云计算领域,具体而言,涉及一种资源的分配方法、装置及系统。
背景技术
云计算的环境中,可以通过虚拟化技术实现多租户的资源逻辑隔离,但底层的物理资源实际上是共享的,例如一台物理宿主机核数有32个,通过虚拟化技术理论上最多可以虚拟出48个核,然后48个核可以分配给多个用户进行使用,当这台机器上所有用户的48个核同时需要运算的时候,则会出现物理核只有32个而运算所需的核数是48个,从而导致16个请求需要排队的情况,这种情况我们称为物理资源争抢,现有的技术方案难以防止这种情况的发生。
目前,同一台宿主机上运行的实例之间可能出现资源争抢,当争抢严重时需要把某些实例迁移到空闲的宿主机上,如图1所示,常见的资源的分配方法是随机找一台有资源的宿主机,然后把实例迁移过去。常见的存在资源争抢可能的云产品有云服务器,云数据库等,当需要分配一台新实例时,比如实例规格是c个核,然后系统就会在资源池中寻找一台存在大于等于c个核可分配的宿主机,当找到时就把该宿主机的c核资源分配给用户。
当创建新实例或者迁移实例的时候,会有资源分配的需求,现有方案是资源调度系统会去扫描资源池,然后找一台存在资源大于或等于所需资源的宿主机,在该宿主机上分配新实例。在云计算多租户共享物理硬件资源的情况下,该规则会导致实例之间发生资源争抢的情况,从而导致用户的云上业务延时甚至不可用,云服务的可用性是云计算最核心的指标之一,一旦业务不可用会造成云用户极大的经济损失和不友好的云上体验。同时,随机分配实例的方法,会导致宿主机整体负载时而很高,宿主机中实例之间存在资源争抢,时而又很低存在资源空闲浪费,导致资源利用率低下。
针对资源池中资源利用率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种资源的分配方法、装置及系统,以至少解决资源池中资源利用率低的技术问题。
根据本发明实施例的一个方面,提供了一种资源的分配方法,包括:在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,其中,待迁移的实例为超出第一宿主机的运算能力的实例;获取第二宿主机的负载曲线,其中,第二宿主机的空闲资源满足用于运行待迁移的实例的资源;在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
根据本发明实施例的另一方面,还提供了一种资源的分配装置,包括:第一获取单元,用于在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,其中,待迁移的实例为超出第一宿主机的运算能力的实例;第二获取单元,用于获取第二宿主机的负载曲线,其中,第二宿主机的空闲资源满足用于运行待迁移的实例的资源;迁移单元,用于在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
根据本发明实施例的另一方面,还提供了一种资源的分配系统,包括:资源池,包括至少一个第一宿主机和至少一个第二宿主机;第一宿主机,用于在存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,并获取第二宿主机的负载曲线,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机;其中,待迁移的实例为超出第一宿主机的运算能力的实例,第二宿主机的空闲资源满足用于运行待迁移的实例的资源。
在本发明实施例中,在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,获取第二宿主机的负载曲线,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,从而实现迁移出现争抢资源的情况的实例的目的。
容易注意到,由于获取第二宿主机的负载曲线,并在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,待迁移的实例的负载曲线与第二宿主机的负载曲线互补,使得宿主机保持在一个平稳的较高负载的状态,实现在避免出现资源争抢的同时,避免资源浪费,从而达到提高宿主机资源的利用率的效果。
由此,本发明提供的上述实施例的方案解决了资源池中资源利用率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据现有技术的一种资源的分配方法的流程图;
图2是根据本申请实施例的一种用于实现资源的分配方法的计算机终端的硬件结构框图;
图3是根据本发明实施例一的资源的分配方法的交互图;
图4是根据本发明实施例一的可选的资源的分配方法的流程图;
图5是根据本发明实施例一的可选的两台实例的负载曲线的示意图;
图6是根据本发明实施例二的资源的分配装置的流程图;
图7是根据本发明实施例三的资源的分配系统的示意图;以及
图8是根据本发明实施例的一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
宿主机:指安装了虚拟机的物理主机,宿主机核数是指宿主机上安装的用于运算的处理器的个数。
实例:可以指安装在宿主机上的虚拟机,在虚拟机上可以对应用程序、文本文件等目标对象进行操作。
资源池:是一台或多台同类宿主机的集合,资源池整合了所有宿主机资源,实例可以在资源池中的宿主机之间迁移。
负载曲线:可以是实例或宿主机在不同时刻的资源使用率生成的曲线,实例在不同时刻的资源使用率可以是在不同时刻下,实例中正在运行的应用程序、文本文件等目标对象使用的资源与实例的总资源的比率值,宿主机在不同时刻的资源使用率可以是在不同时刻下,宿主机中正在运行的所有实例使用的资源与宿主机的总资源的比率值。
负载曲线互补:指负载曲线在上下平移之后关于X轴对称。
实施例1
根据本发明实施例,还提供了一种资源的分配方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图2示出了一种用于实现资源的分配方法的计算机终端的硬件结构框图。如图2所示,计算机终端10可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的网络接口106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、电源和/或相机。本领域普通技术人员可以理解,图2所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的资源的分配方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源的分配方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
网络接口106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,网络接口106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,网络接口106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图2所示的计算机设备可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图2仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备中的部件的类型。
在上述运行环境下,本申请提供了如图3所示的资源的分配方法。图3是根据本发明实施例一的资源的分配方法的交互图。如图3所示,该方法可以包括如下步骤:
步骤S31,在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,其中,待迁移的实例为超出第一宿主机的运算能力的实例。
具体的,可以根据每台实例所需的运行资源,以及第一宿主机的实际运算能力,进行比较后,将需要运行资源较多的实例作为待迁移的实例。
在一种可选的方案中,当第一宿主机上多台实例出现资源争抢时,可以根据多台实例所需的运行资源以及第一宿主机的实际运算能力,确定需要从第一宿主机中迁移的实例,得到待迁移的实例,以保证待迁移的实例从第一宿主机迁移到资源池中的其他宿主机之后,第一宿主机上运行的实例之间不存在资源争抢。
此处需要说明的是,本申请中的实例可以是指在宿主机中运行的虚拟机,在虚拟机上可以对应用程序、文本文件等目标对象进行操作。
步骤S33,获取第二宿主机的负载曲线,其中,第二宿主机的空闲资源满足用于运行待迁移的实例的资源。
在一种可选的方案中,在获取到第一宿主机上需要往资源池中的其他宿主机上迁移的待迁移的实例之后,可以从资源池中获取一个空闲资源可以满足该待迁移的实例所需要的运行资源的宿主机,得到第二宿主机,并从负载曲线数据库中获取到该第二宿主机的负载曲线。
此处需要说明的是,本申请中的负载曲线可以是指实例或宿主机在不同时刻的资源使用率生成的曲线,实例在不同时刻的资源使用率可以是在不同时刻下,实例中正在运行的应用程序、文本文件等目标对象使用的资源与实例的总资源的比率值,宿主机在不同时刻的资源使用率可以是在不同时刻下,宿主机中正在运行的所有实例使用的资源与宿主机的总资源的比率值。
步骤S35,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
在一种可选的方案中,在获取到第二宿主机的负载曲线,并且获取到待迁移的实例的历史负载曲线之后,可以将第二宿主机的负载曲线与待迁移的实例的历史负载曲线进行匹配,判断两个负载曲线是否互补,如果两个负载曲线互补,则可以将待迁移的实例迁移至第二宿主机上。
例如,以待迁移的实例为一台c核的实例,第一宿主机为宿主机A,第二宿主机为宿主机B为例,对本申请上述实施例进行详细说明。当宿主机A中的多台实例存在资源争抢情况时,获取待迁移的实例,即c核的实例,在资源池中进行查询,得到一台存在c核空闲的宿主机B,然后对比负载曲线数据库,判断宿主机B的负载曲线与该c核的实例的历史负载曲线是否互补,如果互补,则可以将该c核的实例迁移到该宿主机B。
由上可知,本申请上述实施例一公开的方案中,在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,获取第二宿主机的负载曲线,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,从而实现迁移出现争抢资源的情况的实例的目的。
容易注意到,由于获取第二宿主机的负载曲线,并在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,待迁移的实例的负载曲线与第二宿主机的负载曲线互补,使得宿主机保持在一个平稳的较高负载的状态,实现在避免出现资源争抢的同时,避免资源浪费,从而达到提高宿主机资源的利用率的效果。
由此,本申请提供的上述实施例一的方案解决了资源池中资源利用率低的技术问题。
根据本申请上述实施例,在第一宿主机上存在多台待迁移的实例的情况下,其中,在步骤S33,获取第二宿主机的负载曲线之前,该方法还可以包括如下步骤:
步骤S37,依次读取每台待迁移的实例所需的运行资源。
具体的,上述的运行资源可以是每台待迁移实例运行时占用的宿主机的系统资源。
在一种可选的方案中,为了避免第一宿主机出现多台实例争抢资源,需要从第一宿主机上迁移到资源池中其他宿主机上的待迁移的实例可以是一台或多台,当需要迁移多台实例时,可以读取每一台待迁移的实例需要的运行资源。
例如,以待迁移的实例分别为c核的实例和d核的实例为例,对本申请上述实施例进行详细说明。在确定需要迁移两台实例,即c核的实例和d核的实例之后,可以读取c核的实例需要的运行资源为c核,d核的实例需要的运行资源为d核。
步骤S39,在资源池中查询是否存在空闲资源大于当前待迁移的实例所需的运行资源的宿主机。
步骤S311,如果存在,则将空闲资源大于运行资源的宿主机确定为与当前待迁移的实例对应的第二宿主机。
在一种可选的方案中,在读取到每一台待迁移的实例需要的运行资源之后,可以依次将每一台待迁移的实例需要的运行资源与资源池中其他每个宿主机的空闲资源进行比较,查找资源池中是否存在空闲资源大于第一台待迁移的实例需要的运行资源的宿主机,可以将查找到的宿主机作为第一台待迁移的实例对应需要迁往的第二宿主机,然后继续查找资源池中是否存在空闲资源大于第二台待迁移的实例需要的运行资源的宿主机,可以将查找到的宿主机作为第二台待迁移的实例对应需要迁往的第二宿主机,直至所有多台待迁移的实例均查找到对应的第二宿主机。
例如,仍以待迁移的实例分别为c核的实例和d核的实例为例,对本申请上述实施例进行详细说明。在读取到c核的实例需要的运行资源为c核,d核的实例需要的运行资源为d核之后,可以查找资源池中是否存在空闲资源大于c核的宿主机,如果查找到,可以将查找到的空闲资源大于c核的宿主机C作为c核的实例需要迁往的第二宿主机,然后查找资源池中是否存在空闲资源大于d核的宿主机,如果查找到,可以将并将查找到的空闲资源大于d核的宿主机D作为d核的实例需要迁往的第二宿主机。
在另一种可选的方案中,在读取到每一台待迁移的实例需要的运行资源之后,可以同时将每一台待迁移的实例需要的运行资源与资源池中其他每个宿主机的空闲资源进行比较,查找资源池中是否存在空闲资源大于每一台待迁移的实例需要的运行资源的宿主机,可以将查找到的宿主机作为每一台待迁移的实例对应需要迁往的第二宿主机。
例如,仍以待迁移的实例分别为c核的实例和d核的实例为例,对本申请上述实施例进行详细说明。在读取到c核的实例需要的运行资源为c核,d核的实例需要的运行资源为d核之后,可以查找资源池中是否存在空闲资源大于c核的宿主机和空闲资源大于d核的宿主机,如果查找到,可以将查找到的空闲资源大于c核的宿主机C作为c核的实例需要迁往的第二宿主机,并将查找到的空闲资源大于d核的宿主机D作为d核的实例需要迁往的第二宿主机。
根据本申请上述实施例,该方法还可以包括如下步骤:
步骤S313,在资源池中成功查询得到满足当前待迁移的实例所需的运行资源的第二宿主机,并将当前待迁移的实例成功迁移至对应的第二宿主机之后,继续从资源池中查询下一台待迁移的实例所对应的宿主机,直至所有的待迁移的实例都迁移至对应的宿主机。
在一种可选的方案中,在读取到每一台待迁移的实例需要的运行资源之后,可以依次将每一台待迁移的实例需要的运行资源与资源池中其他每个宿主机的空闲资源进行比较,查找资源池中是否存在空闲资源大于第一台待迁移的实例需要的运行资源的宿主机,可以将查找到的宿主机作为第一台待迁移的实例对应需要迁往的第二宿主机,在将第一台待迁移的实例从第一宿主机成功迁移到对应的第二宿主机之后,可以继续查找资源池中是否存在空闲资源大于第二台待迁移的实例需要的运行资源的宿主机,可以将查找到的宿主机作为第二台待迁移的实例对应需要迁往的第二宿主机,并将第二台待迁移的实例从第一宿主机迁移至对应的第二宿主机,直至所有多台待迁移的实例全部迁移至对应的第二宿主机。
例如,仍以待迁移的实例分别为c核的实例和d核的实例为例,对本申请上述实施例进行详细说明。在读取到c核的实例需要的运行资源为c核,d核的实例需要的运行资源为d核之后,可以将查找到的空闲资源大于c核的宿主机C作为c核的实例需要迁往的第二宿主机,在将c核的实例迁移至宿主机C之后,可以将查找到的空闲资源大于d核的宿主机D作为d核的实例需要迁往的第二宿主机,并将d核的实例迁移至宿主机D。
根据本申请上述实施例,该方法还可以包括如下步骤:
步骤S315,在资源池中同时查询是否存在每台待迁移的实例所对应的宿主机,如果成功查询得到至少一台待迁移的实例存在对应的第二宿主机,则将成功查询得到对应的第二宿主机的待迁移的实例进行迁移。
在一种可选的方案中,在读取到每一台待迁移的实例需要的运行资源之后,可以同时将每一台待迁移的实例需要的运行资源与资源池中其他每个宿主机的空闲资源进行比较,查找资源池中是否存在空闲资源大于每一台待迁移的实例需要的运行资源的宿主机,可以将查找到的宿主机作为每一台待迁移的实例对应需要迁往的第二宿主机,并将每一台待迁移的实例从第一宿主机迁移至对应的第二宿主机。
例如,仍以待迁移的实例分别为c核的实例和d核的实例为例,对本申请上述实施例进行详细说明。在读取到c核的实例需要的运行资源为c核,d核的实例需要的运行资源为d核之后,可以将查找到的空闲资源大于c核的宿主机C作为c核的实例需要迁往的第二宿主机,并将查找到的空闲资源大于d核的宿主机D作为d核的实例需要迁往的第二宿主机,然后同时将c核的实例迁移至宿主机C,d核的实例迁移至宿主机D。
根据本申请上述实施例,所述方法还包括:
步骤S317,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补,且第二宿主机中所有实例的负载之和不超过第二宿主机的最大负载能力的情况下,将待迁移的实例迁移至第二宿主机。
在一种可选的方案中,在将第二宿主机的负载曲线与待迁移的实例的历史负载曲线进行匹配,确定两个负载曲线互补之后,可以读取第二宿主机的最大运算能力,以及第二宿主机上已经安装的多个实例和待迁移的实例的资源使用率,得到第二宿主机的最大负载能力,以及第二宿主机中所有实例的负载之和,将所有实例的负载之和与第二宿主机的最大负载能力进行比较,如果所有实例的负载之和没有超过第二宿主机的最大负载能力,即第二宿主机中不会出现资源争抢,则可以将待迁移的实例从第一宿主机迁移至第二宿主机。在待迁移的实例成功迁移之后,第一宿主机和第二宿主机都不会出现资源争抢,且第二宿主机的资源使用率较高。
例如,仍以待迁移的实例为一台c核的实例,第一宿主机为宿主机A,第二宿主机为宿主机B为例,对本申请上述实施例进行详细说明。在确定宿主机B的负载曲线与该c核的实例的历史负载曲线互补的情况下,可以读取宿主机B中已有的所有实例的负载并读取该c核的实例的负载,得到宿主机B中所有的实例的负载之和,在读取宿主机B的最大负载能力之后,可以将宿主机B中所有的实例的负载之和与宿主机B的最大负载能力进行比较,如果宿主机B中所有的实例的负载之和未超过宿主机B的最大负载能力,则可以将该c核的实例从宿主机A迁移至宿主机B。
根据本申请上述实施例,在步骤S35,将待迁移的实例迁移至第二宿主机之前,该方法还可以包括如下步骤:
步骤S319,分析第二宿主机中当前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度。
步骤S321,在两条负载曲线在横坐标轴上的位置保持不变,沿纵坐标轴平移之后,判断两条负载曲线是否基于横坐标轴对称。
具体的,上述的横坐标轴可以是X轴,上述的纵坐标轴可以是Y轴。
其中,如果两条负载曲线基于横坐标轴对称,则确定第二宿主机中当前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度为互补。
在一种可选的方案中,在每一次向第二宿主机迁入待迁移的实例之前,可以首先将第二宿主机中已经安装的所有实例的负载曲线进行叠加,得到第二宿主机的历史负载曲线,然后可以分析待迁移的实例的历史负载曲线和第二宿主机的历史负载曲线的匹配程度,即将两条负载曲线上下平移,使得两条负载曲线重合度最高之后,可以判断两条负载曲线是否关于X轴对称,即将任意一条负载曲线沿X轴垂直翻转之后,是否与另一条负载曲线重合,如果重合,则说明两条负载曲线关于X轴对称,即第二宿主机的负载曲线与待迁移的实例的负载曲线互补,可以将待迁移的实例迁移至第二宿主机。
下面结合图4,以迁移一台c核的实例为例,对本申请一种优选的实施例进行详细说明,如图4所示,该方法可以包括如下步骤S41至步骤S47:
步骤S41,需要分配一台c核实例。
步骤S42,资源监控系统扫描资源池。
步骤S43,判断宿主机是否存在大于c个核的资源。
可选的,在需要把一台c核的实例从当前的宿主机迁移走的情况下,资源监控系统可以扫描资源池中所有的宿主机,判断每一个宿主机是否存在大于c个核的资源,即每一个宿主机的空闲资源是否大于等于c核实例所需要的资源,如果任意一个宿主机存在大于c个核的资源,则进入步骤S44;否则返回步骤S42,继续扫描资源池。
步骤S44,查找宿主机的负载曲线是否和实例历史负载曲线互补。
可选的,在一个宿主机存在大于c个核的资源之后,可以对比负载曲线数据库,分析宿主机的负载曲线和c核实例的历史负载曲线是否互补,如果互补,则进入步骤S45;否则返回步骤S42,继续扫描资源池。
步骤S45,所有实例的负载曲线之和是否大于宿主机负载能力。
可选的,在宿主机的负载曲线和c核实例的历史负载曲线互补之后,进一步判断宿主机中所有实例的负载之和是否不超过宿主机的最大负载能力,如果不超过,则可以进入步骤S46;否则返回步骤S42,继续扫描资源池。
步骤S46,创建一台c核的实例。
步骤S47,资源分配完成。
可选的,在选择好宿主机之后,可以在宿主机上创建新的c核实例,完成c核实例的迁移。
如图5所示,一台实例的负载曲线如实线所示,另一台实例的负载曲线如虚线所示,当两台实例的负载曲线刚好互补时,它们的负载之和没有超过100%,图中的值是70%,这样就相当于两台实例的忙碌和空闲时间刚好错开形成互补,从而避免了资源争抢。
通过上述步骤S41至步骤S47,可以通过分析实例的负载,把负载曲线互补的实例分配到同一宿主机。由于实例之间历史负载互补且总的负载峰值未超过宿主机最大运算能力,从而大大减少同一个宿主机上的多台实例之间争抢资源的可能性,同时还使得宿主机保持在一个平稳的较高负载的状态,提高了物理资源的利用率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述资源的分配方法的资源的分配装置,如图6所示,该装置600包括:第一获取单元602,第二获取单元604和迁移单元606。
其中,第一获取单元602用于在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,其中,待迁移的实例为超出第一宿主机的运算能力的实例;第二获取单元604用于获取第二宿主机的负载曲线,其中,第二宿主机的空闲资源满足用于运行待迁移的实例的资源;迁移单元606用于在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
具体的,可以根据每台实例所需的运行资源,以及第一宿主机的实际运算能力,进行比较后,将需要运行资源较多的实例作为待迁移的实例。
此处需要说明的是,本申请中的实例可以是指在宿主机中运行的虚拟机,在虚拟机上可以对应用程序、文本文件等目标对象进行操作。本申请中的负载曲线可以是指实例或宿主机在不同时刻的资源使用率生成的曲线,实例在不同时刻的资源使用率可以是在不同时刻下,实例中正在运行的应用程序、文本文件等目标对象使用的资源与实例的总资源的比率值,宿主机在不同时刻的资源使用率可以是在不同时刻下,宿主机中正在运行的所有实例使用的资源与宿主机的总资源的比率值。
在一种可选的方案中,在获取到第一宿主机上需要往资源池中的其他宿主机上迁移的待迁移的实例之后,可以从资源池中获取一个空闲资源可以满足该待迁移的实例所需要的运行资源的宿主机,得到第二宿主机,并从负载曲线数据库中获取到该第二宿主机的负载曲线。在获取到第二宿主机的负载曲线,并且获取到待迁移的实例的历史负载曲线之后,可以将第二宿主机的负载曲线与待迁移的实例的历史负载曲线进行匹配,判断两个负载曲线是否互补,如果两个负载曲线互补,则可以将待迁移的实例迁移至第二宿主机上。
例如,以待迁移的实例为一台c核的实例,第一宿主机为宿主机A,第二宿主机为宿主机B为例,对本申请上述实施例进行详细说明。当宿主机A中的多台实例存在资源争抢情况时,获取待迁移的实例,即c核的实例,在资源池中进行查询,得到一台存在c核空闲的宿主机B,然后对比负载曲线数据库,判断宿主机B的负载曲线与该c核的实例的历史负载曲线是否互补,如果互补,则可以将该c核的实例迁移到该宿主机B。
此处需要说明的是,上述第一获取单元602,第二获取单元604和迁移单元606对应于实施例1中的步骤S31至步骤S35,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
由上可知,本申请上述实施例二公开的方案中,通过第一获取单元在第一宿主机上存在多台实例争抢资源的情况下,通过第二获取单元获取第一宿主机中待迁移的实例,获取第二宿主机的负载曲线,通过迁移单元在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,从而实现迁移出现争抢资源的情况的实例的目的。
容易注意到,由于获取第二宿主机的负载曲线,并在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,待迁移的实例的负载曲线与第二宿主机的负载曲线互补,使得宿主机保持在一个平稳的较高负载的状态,实现在避免出现资源争抢的同时,避免资源浪费,从而达到提高宿主机资源的利用率的效果。
由此,本申请提供的上述实施例二的方案解决了资源池中资源利用率低的技术问题。
根据本申请上述实施例,如图6所示,在第一宿主机上存在多台待迁移的实例的情况下,该装置600还包括:读取单元608,查询单元610和确定单元612。
其中,读取单元608用于依次读取每台待迁移的实例所需的运行资源;查询单元610用于在资源池中查询是否存在空闲资源大于当前待迁移的实例所需的运行资源的宿主机;确定单元612用于如果存在,则将空闲资源大于运行资源的宿主机确定为与当前待迁移的实例对应的第二宿主机。
具体的,上述的运行资源可以是每台待迁移实例运行时占用的宿主机的系统资源。
此处需要说明的是,上述读取单元608,查询单元610和确定单元612对应于实施例1中的步骤S37至步骤S311,三个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,查询单元610还用于在资源池中成功查询得到满足当前待迁移的实例所需的运行资源的第二宿主机,并将当前待迁移的实例成功迁移至对应的第二宿主机之后,继续从资源池中查询下一台待迁移的实例所对应的宿主机,直至所有的待迁移的实例都迁移至对应的宿主机。
此处需要说明的是,上述查询单元610对应于实施例1中的步骤S313,该单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,查询单元610还用于在资源池中同时查询是否存在每台待迁移的实例所对应的宿主机,如果成功查询得到至少一台待迁移的实例存在对应的第二宿主机,则将成功查询得到对应的第二宿主机的待迁移的实例进行迁移。
此处需要说明的是,上述查询单元610对应于实施例1中的步骤S315,该单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,迁移单元606用于在第二宿主机的负载曲线与待迁移的实例的负载曲线互补,且第二宿主机中所有实例的负载之和不超过第二宿主机的最大负载能力的情况下,将待迁移的实例迁移至第二宿主机。
此处需要说明的是,上述迁移单元606对应于实施例1中的步骤S317,该单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
根据本申请上述实施例,如图6所示,该装置600还包括:分析单元614和判断单元616。
其中,分析单元614用于分析第二宿主机中当前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度;判断单元616用于在两条负载曲线在横坐标轴上的位置保持不变,沿纵坐标轴平移之后,判断两条负载曲线是否基于横坐标轴对称;其中,如果两条负载曲线基于横坐标轴对称,则确定第二宿主机中当前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度为互补。
具体的,上述的横坐标轴可以是X轴,上述的纵坐标轴可以是Y轴。
此处需要说明的是,上述分析单元614和判断单元616对应于实施例1中的步骤S319至步骤S321,两个单元与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述单元作为装置的一部分可以运行在实施例一提供的计算机终端10中。
实施例3
根据本发明实施例,还提供了一种用于实施上述资源的分配方法的资源的分配系统,如图7所示,该系统包括:
资源池71,包括至少一个第一宿主机73和至少一个第二宿主机75;
第一宿主机,用于在存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,并获取第二宿主机的负载曲线,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
其中,待迁移的实例为超出第一宿主机的运算能力的实例,第二宿主机的空闲资源满足用于运行待迁移的实例的资源。
具体的,可以根据每台实例所需的运行资源,以及第一宿主机的实际运算能力,进行比较后,将需要运行资源较多的实例作为待迁移的实例。
此处需要说明的是,本申请中的实例可以是指在宿主机中运行的虚拟机,在虚拟机上可以对应用程序、文本文件等目标对象进行操作。本申请中的负载曲线可以是指实例或宿主机在不同时刻的资源使用率生成的曲线,实例在不同时刻的资源使用率可以是在不同时刻下,实例中正在运行的应用程序、文本文件等目标对象使用的资源与实例的总资源的比率值,宿主机在不同时刻的资源使用率可以是在不同时刻下,宿主机中正在运行的所有实例使用的资源与宿主机的总资源的比率值。
在一种可选的方案中,在获取到第一宿主机上需要往资源池中的其他宿主机上迁移的待迁移的实例之后,可以从资源池中获取一个空闲资源可以满足该待迁移的实例所需要的运行资源的宿主机,得到第二宿主机,并从负载曲线数据库中获取到该第二宿主机的负载曲线。在获取到第二宿主机的负载曲线,并且获取到待迁移的实例的历史负载曲线之后,可以将第二宿主机的负载曲线与待迁移的实例的历史负载曲线进行匹配,判断两个负载曲线是否互补,如果两个负载曲线互补,则可以将待迁移的实例迁移至第二宿主机上。
例如,以待迁移的实例为一台c核的实例,第一宿主机为宿主机A,第二宿主机为宿主机B为例,对本申请上述实施例进行详细说明。当宿主机A中的多台实例存在资源争抢情况时,获取待迁移的实例,即c核的实例,在资源池中进行查询,得到一台存在c核空闲的宿主机B,然后对比负载曲线数据库,判断宿主机B的负载曲线与该c核的实例的历史负载曲线是否互补,如果互补,则可以将该c核的实例迁移到该宿主机B。
由上可知,本申请上述实施例三公开的方案中,在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,获取第二宿主机的负载曲线,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,从而实现迁移出现争抢资源的情况的实例的目的。
容易注意到,由于获取第二宿主机的负载曲线,并在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,待迁移的实例的负载曲线与第二宿主机的负载曲线互补,使得宿主机保持在一个平稳的较高负载的状态,实现在避免出现资源争抢的同时,避免资源浪费,从而达到提高宿主机资源的利用率的效果。
由此,本申请提供的上述实施例三的方案解决了资源池中资源利用率低的技术问题。
实施例4
本发明的实施例可以提供一种计算机终端,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行应用程序的漏洞检测方法中以下步骤的程序代码:在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,其中,待迁移的实例为超出第一宿主机的运算能力的实例;获取第二宿主机的负载曲线,其中,第二宿主机的空闲资源满足用于运行待迁移的实例的资源;在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
可选地,图8是根据本发明实施例的一种计算机终端的结构框图。如图8所示,该计算机终端800可以包括:一个或多个(图中仅示出一个)处理器802、存储器804。
其中,存储器可用于存储软件程序以及模块,如本发明实施例中的资源的分配方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的资源的分配方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至终端800。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,其中,待迁移的实例为超出第一宿主机的运算能力的实例;获取第二宿主机的负载曲线,其中,第二宿主机的空闲资源满足用于运行待迁移的实例的资源;在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:在第一宿主机上存在多台待迁移的实例的情况下,其中,在获取第二宿主机的负载曲线之前,依次读取每台待迁移的实例所需的运行资源;在资源池中查询是否存在空闲资源大于当前待迁移的实例所需的运行资源的宿主机;如果存在,则将空闲资源大于运行资源的宿主机确定为与当前待迁移的实例对应的第二宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:在资源池中成功查询得到满足当前待迁移的实例所需的运行资源的第二宿主机,并将当前待迁移的实例成功迁移至对应的第二宿主机之后,继续从资源池中查询下一台待迁移的实例所对应的宿主机,直至所有的待迁移的实例都迁移至对应的宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:在资源池中同时查询是否存在每台待迁移的实例所对应的宿主机,如果成功查询得到至少一台待迁移的实例存在对应的第二宿主机,则将成功查询得到对应的第二宿主机的待迁移的实例进行迁移。
可选的,上述处理器还可以执行如下步骤的程序代码:在第二宿主机的负载曲线与待迁移的实例的负载曲线互补,且第二宿主机中所有实例的负载之和不超过第二宿主机的最大负载能力的情况下,将待迁移的实例迁移至第二宿主机。
可选的,上述处理器还可以执行如下步骤的程序代码:在将待迁移的实例迁移至第二宿主机之前,分析第二宿主机中当前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度;在两条负载曲线在横坐标轴上的位置保持不变,沿纵坐标轴平移之后,判断两条负载曲线是否基于横坐标轴对称;其中,如果两条负载曲线基于横坐标轴对称,则确定第二宿主机中当前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度为互补。
采用本申请实施例,在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,获取第二宿主机的负载曲线,在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,从而实现迁移出现争抢资源的情况的实例的目的。
容易注意到,由于获取第二宿主机的负载曲线,并在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机,待迁移的实例的负载曲线与第二宿主机的负载曲线互补,使得宿主机保持在一个平稳的较高负载的状态,实现在避免出现资源争抢的同时,避免资源浪费,从而达到提高宿主机资源的利用率的效果。
由此,本申请提供的实施例的方案解决了资源池中资源利用率低的技术问题。
本领域普通技术人员可以理解,图8所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,计算机终端800还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的资源的分配方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:在第一宿主机上存在多台实例争抢资源的情况下,获取第一宿主机中待迁移的实例,其中,待迁移的实例为超出第一宿主机的运算能力的实例;获取第二宿主机的负载曲线,其中,第二宿主机的空闲资源满足用于运行待迁移的实例的资源;在第二宿主机的负载曲线与待迁移的实例的负载曲线互补的情况下,将待迁移的实例迁移至第二宿主机。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在第一宿主机上存在多台待迁移的实例的情况下,其中,在获取第二宿主机的负载曲线之前,依次读取每台待迁移的实例所需的运行资源;在资源池中查询是否存在空闲资源大于当前待迁移的实例所需的运行资源的宿主机;如果存在,则将空闲资源大于运行资源的宿主机确定为与当前待迁移的实例对应的第二宿主机。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在资源池中成功查询得到满足当前待迁移的实例所需的运行资源的第二宿主机,并将当前待迁移的实例成功迁移至对应的第二宿主机之后,继续从资源池中查询下一台待迁移的实例所对应的宿主机,直至所有的待迁移的实例都迁移至对应的宿主机。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在资源池中同时查询是否存在每台待迁移的实例所对应的宿主机,如果成功查询得到至少一台待迁移的实例存在对应的第二宿主机,则将成功查询得到对应的第二宿主机的待迁移的实例进行迁移。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在第二宿主机的负载曲线与待迁移的实例的负载曲线互补,且第二宿主机中所有实例的负载之和不超过第二宿主机的最大负载能力的情况下,将待迁移的实例迁移至第二宿主机。
可选地,上述存储介质还被设置为存储用于执行以下步骤的程序代码:在将待迁移的实例迁移至第二宿主机之前,分析第二宿主机中之前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度;在两条负载曲线在横坐标轴上的位置保持不变,沿纵坐标轴平移之后,判断两条负载曲线是否基于横坐标轴对称;其中,如果两条负载曲线基于横坐标轴对称,则确定第二宿主机中之前运行的所有实例的负载曲线与待迁移的实例的负载曲线的匹配程度为互补。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1.一种资源的分配系统,其特征在于,包括:
资源池,包括至少一个第一宿主机和至少一个第二宿主机;
所述第一宿主机,用于在存在多台实例争抢资源的情况下,获取所述第一宿主机中待迁移的实例,并获取所述第二宿主机的负载曲线,在所述第二宿主机的负载曲线与所述待迁移的实例的负载曲线互补的情况下,将所述待迁移的实例迁移至所述第二宿主机;
其中,所述待迁移的实例为超出所述第一宿主机的运算能力的实例,所述第二宿主机的空闲资源满足用于运行所述待迁移的实例的资源。
2.一种资源的分配方法,其特征在于,包括:
在第一宿主机上存在多台实例争抢资源的情况下,获取所述第一宿主机中待迁移的实例,其中,所述待迁移的实例为超出所述第一宿主机的运算能力的实例;
获取第二宿主机的负载曲线,其中,所述第二宿主机的空闲资源满足用于运行所述待迁移的实例的资源;
在所述第二宿主机的负载曲线与所述待迁移的实例的负载曲线互补的情况下,将所述待迁移的实例迁移至所述第二宿主机。
3.根据权利要求2所述的方法,其特征在于,在所述第一宿主机上存在多台待迁移的实例的情况下,其中,在获取第二宿主机的负载曲线之前,所述方法还包括:
依次读取每台待迁移的实例所需的运行资源;
在资源池中查询是否存在空闲资源大于当前待迁移的实例所需的运行资源的宿主机;
如果存在,则将空闲资源大于所述运行资源的宿主机确定为与所述当前待迁移的实例对应的第二宿主机。
4.根据权利要求3所述的方法,其特征在于,在所述资源池中成功查询得到满足所述当前待迁移的实例所需的运行资源的第二宿主机,并将所述当前待迁移的实例成功迁移至对应的第二宿主机之后,继续从所述资源池中查询下一台待迁移的实例所对应的宿主机,直至所有的待迁移的实例都迁移至对应的宿主机。
5.根据权利要求3所述的方法,其特征在于,在所述资源池中同时查询是否存在每台待迁移的实例所对应的宿主机,如果成功查询得到至少一台待迁移的实例存在对应的第二宿主机,则将成功查询得到对应的第二宿主机的待迁移的实例进行迁移。
6.根据权利要求2所述的方法,其特征在于,在所述第二宿主机的负载曲线与所述待迁移的实例的负载曲线互补,且所述第二宿主机中所有实例的负载之和不超过所述第二宿主机的最大负载能力的情况下,将所述待迁移的实例迁移至所述第二宿主机。
7.根据权利要求2至6中任意一项所述的方法,其特征在于,在将所述待迁移的实例迁移至所述第二宿主机之前,所述方法还包括:
分析所述第二宿主机中当前运行的所有实例的负载曲线与所述待迁移的实例的负载曲线的匹配程度;
在两条负载曲线在横坐标轴上的位置保持不变,沿纵坐标轴平移之后,判断所述两条负载曲线是否基于所述横坐标轴对称;
其中,如果所述两条负载曲线基于所述横坐标轴对称,则确定所述第二宿主机中当前运行的所有实例的负载曲线与所述待迁移的实例的负载曲线的匹配程度为互补。
8.一种资源的分配装置,其特征在于,包括:
第一获取单元,用于在第一宿主机上存在多台实例争抢资源的情况下,获取所述第一宿主机中待迁移的实例,其中,所述待迁移的实例为超出所述第一宿主机的运算能力的实例;
第二获取单元,用于获取第二宿主机的负载曲线,其中,所述第二宿主机的空闲资源满足用于运行所述待迁移的实例的资源;
迁移单元,用于在所述第二宿主机的负载曲线与所述待迁移的实例的负载曲线互补的情况下,将所述待迁移的实例迁移至所述第二宿主机。
9.根据权利要求8所述的装置,其特征在于,在所述第一宿主机上存在多台待迁移的实例的情况下,所述装置还包括:
读取单元,用于依次读取每台待迁移的实例所需的运行资源;
查询单元,用于在资源池中查询是否存在空闲资源大于当前待迁移的实例所需的运行资源的宿主机;
确定单元,用于如果存在,则将空闲资源大于所述运行资源的宿主机确定为与所述当前待迁移的实例对应的第二宿主机。
10.根据权利要求9所述的装置,其特征在于,所述查询单元还用于在所述资源池中成功查询得到满足所述当前待迁移的实例所需的运行资源的第二宿主机,并将所述当前待迁移的实例成功迁移至对应的第二宿主机之后,继续从所述资源池中查询下一台待迁移的实例所对应的宿主机,直至所有的待迁移的实例都迁移至对应的宿主机。
11.根据权利要求9所述的装置,其特征在于,所述查询单元还用于在所述资源池中同时查询是否存在每台待迁移的实例所对应的宿主机,如果成功查询得到至少一台待迁移的实例存在对应的第二宿主机,则将成功查询得到对应的第二宿主机的待迁移的实例进行迁移。
12.根据权利要求8所述的装置,其特征在于,所述迁移单元用于在所述第二宿主机的负载曲线与所述待迁移的实例的负载曲线互补,且所述第二宿主机中所有实例的负载之和不超过所述第二宿主机的最大负载能力的情况下,将所述待迁移的实例迁移至所述第二宿主机。
13.根据权利要求8至12中任意一项所述的装置,其特征在于,所述装置还包括:
分析单元,用于分析所述第二宿主机中当前运行的所有实例的负载曲线与所述待迁移的实例的负载曲线的匹配程度;
判断单元,用于在两条负载曲线在横坐标轴上的位置保持不变,沿纵坐标轴平移之后,判断所述两条负载曲线是否基于所述横坐标轴对称;
其中,如果所述两条负载曲线基于所述横坐标轴对称,则确定所述第二宿主机中当前运行的所有实例的负载曲线与所述待迁移的实例的负载曲线的匹配程度为互补。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710031637.0A CN108322404A (zh) | 2017-01-17 | 2017-01-17 | 资源的分配方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710031637.0A CN108322404A (zh) | 2017-01-17 | 2017-01-17 | 资源的分配方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108322404A true CN108322404A (zh) | 2018-07-24 |
Family
ID=62892651
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710031637.0A Pending CN108322404A (zh) | 2017-01-17 | 2017-01-17 | 资源的分配方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108322404A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332657A1 (en) * | 2009-06-29 | 2010-12-30 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
CN105893113A (zh) * | 2016-03-29 | 2016-08-24 | 上海携程商务有限公司 | 虚拟机的管理系统及管理方法 |
CN106227578A (zh) * | 2016-07-12 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种虚拟机热迁移的方法、设备及系统 |
CN106293871A (zh) * | 2016-07-22 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种集群虚拟机的资源调度方法 |
-
2017
- 2017-01-17 CN CN201710031637.0A patent/CN108322404A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100332657A1 (en) * | 2009-06-29 | 2010-12-30 | Red Hat Israel, Ltd. | Selecting a host from a host cluster for live migration of a virtual machine |
CN105740074A (zh) * | 2016-01-26 | 2016-07-06 | 中标软件有限公司 | 一种基于云计算的虚拟机负载均衡方法 |
CN105893113A (zh) * | 2016-03-29 | 2016-08-24 | 上海携程商务有限公司 | 虚拟机的管理系统及管理方法 |
CN106227578A (zh) * | 2016-07-12 | 2016-12-14 | 腾讯科技(深圳)有限公司 | 一种虚拟机热迁移的方法、设备及系统 |
CN106293871A (zh) * | 2016-07-22 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种集群虚拟机的资源调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162669B2 (en) | Dynamic relocation of applications in a cloud application service model | |
US20200364608A1 (en) | Communicating in a federated learning environment | |
Leivadeas et al. | Optimal virtualized network function allocation for an SDN enabled cloud | |
CN109729143A (zh) | 在终端设备上部署基于网络的云平台 | |
WO2017081577A1 (en) | Systems and methods for distributed network-aware service placement | |
CN108431778A (zh) | 对虚拟桌面实例池的管理 | |
CN105979007A (zh) | 加速资源处理方法、装置及网络功能虚拟化系统 | |
CN112036577B (zh) | 基于数据形式的应用机器学习的方法、装置和电子设备 | |
CN109117429A (zh) | 数据库查询方法、装置和电子设备 | |
GB2604965A (en) | Shared enterprise cloud | |
CN109358967A (zh) | 一种me平台app实例化迁移方法及服务器 | |
CN105960784A (zh) | 用于在云中创建业务链和虚拟网络的系统和方法 | |
CN108563697A (zh) | 一种数据处理方法、装置和存储介质 | |
CN110290169A (zh) | 一种服务订单响应方法及装置 | |
CN109981745A (zh) | 一种日志文件处理方法及服务器 | |
CN112241316A (zh) | 一种分布式调度应用的方法以及装置 | |
CN108886486A (zh) | 虚拟化网络功能互通 | |
CN109840139A (zh) | 资源管理的方法、装置、电子设备及存储介质 | |
CN105210324B (zh) | 策略与计费规则功能虚拟化方法、装置及系统 | |
CN106250202A (zh) | 一种云平台自动化开通虚拟机的装置及方法 | |
Bastia et al. | Service composition using efficient multi-agents in cloud computing environment | |
CN108696373A (zh) | 虚拟资源分配方法、nfvo和系统 | |
CN113032111B (zh) | 应用程序的迁移方法、装置、系统和计算机可读存储介质 | |
US9338229B2 (en) | Relocating an application from a device to a server | |
CN112148458A (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180724 |
|
RJ01 | Rejection of invention patent application after publication |