CN108279974B - 一种云资源分配方法及装置 - Google Patents

一种云资源分配方法及装置 Download PDF

Info

Publication number
CN108279974B
CN108279974B CN201710011233.5A CN201710011233A CN108279974B CN 108279974 B CN108279974 B CN 108279974B CN 201710011233 A CN201710011233 A CN 201710011233A CN 108279974 B CN108279974 B CN 108279974B
Authority
CN
China
Prior art keywords
resource
user
physical
physical host
cloud service
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
CN201710011233.5A
Other languages
English (en)
Other versions
CN108279974A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710011233.5A priority Critical patent/CN108279974B/zh
Publication of CN108279974A publication Critical patent/CN108279974A/zh
Application granted granted Critical
Publication of CN108279974B publication Critical patent/CN108279974B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/45583Memory management, e.g. access or allocation

Abstract

一种云资源分配方法及装置,所述方法包括:接收云服务的资源请求,所述资源请求携带用户标识;获取所述用户标识下已使用的云服务实例的资源应用数据;根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;在所述选取的物理主机上部署符合所述资源请求的云服务实例。本申请能够提高整体云资源的使用均衡性及物理资源的利用率。

Description

一种云资源分配方法及装置
技术领域
本发明涉及网络技术领域,尤其涉及一种云资源分配方法及装置。
背景技术
在云资源的分配中,相关技术是通过判断当前可用资源的总数量以及单个物理主机上的空闲分类资源是否满足用户所需创建的云资源的资源规格来进行分配处理,具体流程如图1所示,可以包括:
步骤101,接收资源订单,该资源订单中包含用户标识和所需创建的云资源的资源规格;
步骤102,判断当前的空闲资源总量是否满足所述资源订单中的资源规格要求,如果是则继续步骤103,否则直接结束当前流程;
步骤103,判断物理主机1上的空闲分类资源1是否满足所述资源规格要求,如果是则转至步骤106,否则继续步骤104;
步骤104,判断物理主机2上的空闲分类资源2是否满足所述资源规格要求,如果是则转至步骤106,否则继续步骤105;
步骤105,判断物理主机3上的空闲分类资源3是否满足所述资源规格要求,如果是则转至步骤106,否则继续判断下一个物理主机上的空闲分类资源是否满足所述资源规格,直到找到空闲分类资源能够满足所述资源规格要的物理主机,如果所有物理主机上的空闲分类资源都不能满足所述资源规格,则结束当前流程;
步骤106,在空闲分类资源满足所述资源规格的物理主机上创建符合所述资源规格要求的虚拟机实例,完成对应所述资源订单的资源创建,流程结束。
相关技术存在如下缺陷:
第一,资源争抢:多个资源利用率较高的虚拟机实例创建在同一物理主机上会造成资源的争抢,以至于降低该物理主机上所有虚拟机实例的使用性能。
第二,资源浪费:多个资源利用率较低的虚拟机实例创建在同一物理主机上,会造成资源闲置,以至于无法充分利用该物理主机上的物理资源,造成资源浪费。
发明内容
本申请提供一种云资源分配方法及装置,能够提高整体云资源的使用均衡性及物理资源的利用率。
本申请采用如下技术方案:
一种云资源分配方法,包括:
接收云服务的资源请求,所述资源请求携带用户标识;
获取所述用户标识下已使用的云服务实例的资源应用数据;
根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
在所述选取的物理主机上部署符合所述资源请求的云服务实例。
其中,根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机,包括:
根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;
根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机。
其中,根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机,包括:
根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;
基于所述物理主机上已部署的云服务实例的资源应用数据,得到对应所述各物理主机的物理资源利用率,所述物理资源利用率表示所述物理主机上资源的利用特征;
根据对应所述用户标识的用户资源利用率、以及各物理主机的物理资源利用率,选取物理主机。
其中,所述获取所述用户标识下已使用的云服务实例的资源应用数据,包括如下之一或其组合:
获取所述用户标识下已使用的云服务实例在距当前时刻预定时长范围内的资源应用数据;
获取所述用户标识下已使用的云服务实例中部分云服务实例的资源应用数据,所述部分云服务实例与所述符合所述资源请求的云服务实例类型相匹配。
其中,所述资源应用数据包括资源的使用累计值、可用峰值、使用时间,所述资源包含CPU、内存、磁盘以及带宽。
其中,根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机,包括:选取所述空闲资源与对应所述用户标识的用户资源利用率相匹配的物理主机。
其中,所述根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机,包括:
基于预定规则以及对应所述用户标识的用户资源利用率,确定对应所述用户标识的用户资源利用等级;
基于所述预定规则以及所述各物理主机的空闲资源,确定对应所述各物理主机的物理资源利用等级;
找到物理资源利用等级与对应所述用户标识的用户资源利用等级相匹配的物理主机。
其中,所述选取物理主机,包括:选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机。
其中,所述选取物理主机,包括:
基于预定规则以及对应所述用户标识的用户资源利用率,确定对应所述用户标识的用户资源利用等级;
基于所述预定规则以及所述各物理主机的物理资源利用率,确定对应所述各物理主机的物理资源利用等级;
找到物理资源利用等级与对应所述用户标识的用户资源利用等级相匹配的物理主机。
其中,所述找到物理资源利用等级与对应所述用户标识的用户资源利用等级相匹配的物理主机之后,还包括:从所述找到的物理主机中,选出物理资源利用率与对应所述用户标识的用户资源利用率之和最接近100%的物理主机。
其中,所述用户资源利用率以序列表示,所述序列包含:CPU利用率值、内存利用率值、磁盘利用率值、以及带宽利用率值;所述物理资源利用率以序列表示,所述序列包含:CPU利用率值、内存利用率值、磁盘利用率值、以及带宽利用率值;所述选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机,包括:选出所述物理资源利用率的序列与所述用户资源利用率的序列中各利用率值相加最接近100%的物理主机。
其中,所述用户资源利用等级和物理资源利用等级以序列表示,所述序列包含:CPU等级值、内存等级值、磁盘等级值、带宽等级值;所述物理资源利用等级与所述用户资源利用等级相匹配,包括:所述物理资源利用等级的序列中每个等级值不大于且最接近所述用户资源利用等级的序列中相应的等级值。
一种云资源分配装置,包括:
接收模块,用于接收云服务的资源请求,所述资源请求携带用户标识;
获取模块,用于获取所述用户标识下已使用的云服务实例的资源应用数据;
选取模块,用于根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
部署模块,用于在所述选取模块选取的物理主机上部署符合所述资源请求的云服务实例。
其中,所述选取模块包括:
第一计算模块,用于根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;
选择子模块,用于根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机。
其中,所述选取模块还包括:
第二计算子模块,用于基于所述物理主机上已部署的云服务实例的资源应用数据,得到对应所述各物理主机的物理资源利用率,所述物理资源利用率表示所述物理主机上资源的利用特征;
所述选择子模块,用于根据对应所述用户标识的用户资源利用率、以及各物理主机的物理资源利用率,选取物理主机。
其中,所述选择子模块,具体用于选取所述空闲资源与对应所述用户标识的用户资源利用率相匹配的物理主机。
其中,所述选择子模块,具体用于选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机。
一种云资源分配装置,包括处理器和存储器,所述存储器存储有计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如下方法:
接收云服务的资源请求,所述资源请求携带用户标识;
获取所述用户标识下已使用的云服务实例的资源应用数据;
根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
在所述选取的物理主机上部署符合所述资源请求的云服务实例。
本申请包括以下优点:结合用户已使用云服务实例的资源应用数据、以及各物理主机的空闲资源选取物理主机,并在该物理主机上部署新的云服务实例,如此,通过能够表征用户使用行为特征的资源应用数据,结合各物理主机的硬件资源,最终确定部署云服务实例所使用的物理资源,既能够充分利用各物理主机提供的物理资源,还能够避免资源争抢的问题,提高了整体云资源的使用均衡性及物理资源的利用率。
当然,实施本申请的任一产品必不一定需要同时达到以上所述的所有优点。
附图说明
图1为相关技术中资源分配的流程示意图;
图2为本申请云资源分配方法的流程示意图;
图3为适用本申请云资源分配方法的云计算系统结构示例图;
图4为本申请云资源分配方法的具体实现流程示意图;
图5为本申请云资源分配装置的组成结构示意图。
具体实施方式
下面将结合附图及实施例对本申请的技术方案进行更详细的说明。
需要说明的是,如果不冲突,本申请实施例以及实施例中的各个特征可以相互结合,均在本申请的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在一个典型的配置中,客户端或服务器的计算设备可包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存(memory)。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。内存可能包括模块1,模块2,……,模块N(N为大于2的整数)。
计算机可读介质包括永久性和非永久性、可移动和非可移动存储介质。存储介质可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM),快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
实施例一
一种云资源分配方法,如图2所示,包括:
步骤201,接收云服务的资源请求,所述资源请求携带用户标识;
步骤202,获取所述用户标识下已使用的云服务实例的资源应用数据;
步骤203,根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
步骤204,在所述选取的物理主机上部署符合所述资源请求的云服务实例。
相关技术的资源分配方案仅判断用户需要的物理硬件规格,并没有考虑用户的使用特征,因而可能使得资源利用率较高的多个云服务实例创建在同一物理主机上,也可能使得资源利用率较低的多个虚拟机实例创建在同一物理主机。本实施例中,结合表征用户使用行为特征的资源应用数据、以及各物理主机的硬件资源,确定部署云服务实例所使用的物理资源,既能够充分利用各物理主机提供的物理资源,还能够避免资源争抢的问题,提高了整体云资源的使用均衡性及物理资源的利用率。
本实施例中,云服务实例的资源应用数据可以包括资源的使用累计值、可用峰值、使用时间等信息,物理主机的资源应用数据可以包括资源的使用累计值、可用峰值、使用时间等信息,所述资源可以包含CPU、内存、磁盘以及带宽等。本申请的上述云资源分配方法可以通过如图3所示的云计算系统实现,该云计算系统可以包括:用户交互模块、资源调度器、监视器以及形成硬件层的多台物理主机(物理主机1、物理主机2、物理主机3、物理主机4……)。
其中,用户交互模块负责向用户终端提供支持云资源相关操作的用户界面,该用户界面可以是通过运行在用户终端的应用程序呈现的用户界面、或者通过浏览器呈现在用户终端的网页等,用户交互模块可收集来自用户终端的资源应用数据(来自使用云资源时产生的用户日志等)、资源请求等,并将相应的资源应用数据及资源请求送至资源调度器,其中,所述资源请求对应于用户在用户终端提供的用户界面上提交的资源订单。
其中,云服务实例监测器可监测硬件层中各物理主机上各云服务实例的运行情况、以及各物理主机上的剩余物理资源情况,并将各物理主机的资源应用数据实时上报给资源调度器。
其中,资源调度器可通过用户交互模块获取用户的资源应用数据、资源请求,可通过云服务实例监测器实时监测硬件层中各物理主机的物理资源剩余情况及云服务实例运行情况,在收到来自用户的资源请求后根据用户的需求调度各物理主机提供的物理资源部署相应的云服务实例,以实现资源的分配。
其中,硬件层中的各物理主机用于提供物理资源,利用该物理资源可部署云服务实例。云服务实例是特殊的软件,能够完全模拟同等计算能力的物理机的执行。实际应用中,云服务实例可以是虚拟机实例、虚拟服务器实例等。其中,虚拟机实例、虚拟服务器实例提供的计算能力可以通过一组参数来定义,该组参数可以包括CPU、内存、硬盘以及带宽等。一台物理主机上可部署多个云服务实例,一个云服务实例也可以通过调度多个物理主机上的物理资源来实现。
实际应用中,图3所示的云计算系统可通过集群实现。
在一些实现方式中,图3所示的云计算系统可通过分布式管理的集群实现。在分布式管理的集群中包含多台物理主机,可以将用户交互模块、资源调度器以及云服务实例监测器的功能分散在预先指定的一台或多台物理主机上,由该一台或多台物理主机并行地运行相应算法来实现其功能。每台物理主机可通过服务器、计算设备等来实现。
在一些实现方式中,图3所示的云计算系统可通过集中式管理的集群实现。在集中式管理的集群中至少包含控制主机和多台物理主机,其中,资源调度器可通过运行在控制主机上来实现其功能,云服务实例监测器可通过一部分运行在控制主机、另一部分运行在各物理主机上来实现其功能,云服务实例监测器也可以通过全部运行在控制主机上来实现其功能,用户交互模块可部署在控制主机上或部署在与控制主机连接的应用服务器上。其中,控制主机可以是一台计算设备或服务器,也可以是多台计算设备或服务器连接而成的计算设备组,一台物理主机可以是一台计算设备或服务器或一组计算设备或服务器。
本实施例中,可以通过如下之一或两种方式的组合获取所述用户标识下已使用的云服务实例的资源应用数据:
1)获取所述用户标识下已使用的云服务实例在距当前时刻预定时长范围内的资源应用数据;
2)获取所述用户标识下已使用的云服务实例中部分云服务实例的资源应用数据,所述部分云服务实例与所述符合所述资源请求的云服务实例类型相匹配。
一些实现方式中,可以通过收集日志生成时刻距当前时刻在预定时长范围内的、同一用户标识下所有已使用的云服务实例的用户日志,解析这些用户日志可以获得所述用户标识下的资源应用数据。
一些实现方式中,还可以通过解析资源请求中的参数等方式识别资源请求中定义的云服务实例类型,收集与该云服务实例类型相同的、同一用户标识下的已使用的云服务实例的用户日志,解析这些日志可以获得所述用户标识下的资源应用数据。
一些实现方式中,还可以识别资源请求中定义的云服务实例类型,收集与该云服务实例类型相同的、日志生成时刻距当前时刻在预定时长范围内的、同一用户标识下的已使用的云服务实例的用户日志,解析这些日志可以获得所述用户标识下的资源应用数据。
本实施例中,在获得所述用户标识下的资源应用数据之后,可以根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机。如此,可通过分析用户对资源的历史使用行为得到表征用户使用行为特征的用户资源利用率。
在一些实现方式中,所述资源应用数据可以包括所述各云服务实例的CPU、内存、磁盘以及带宽的使用信息,该使用信息可包括使用累计值、可用峰值、使用时间等。相应的,所述用户资源利用率以序列表示,所述序列包含:CPU利用率值、内存利用率值、磁盘利用率值、以及带宽利用率值。
在一些实现方式中,还可以基于所述物理主机上已部署的云服务实例的资源应用数据,得到对应所述各物理主机的物理资源利用率,所述物理资源利用率表示所述物理主机上资源的利用特征;进而根据对应所述用户标识的用户资源利用率、以及各物理主机的物理资源利用率,选取物理主机。
实际应用中,还可以在选取物理主机之前,还可以获取各物理主机上已部署的云服务实例的资源应用数据。本实施例中,可以通过如下之一或两种方式的组合获取各物理主机上已部署的云服务实例的资源应用数据:
1)获取各物理主机上已部署的云服务实例在距当前时刻预定时长范围内的资源应用数据;
2)获取各物理主机上已部署的云服务实例中部分云服务实例的资源应用数据,所述部分云服务实例与所述符合所述资源请求的云服务实例类型相匹配。
一些实现方式中,可以通过收集各物理主机的运行日志或物理主机上已部署的云服务实例的运行日志,通过解析这些运行日志获得所述资源应用数据。
本实施例中,物理资源利用率用于表征物理主机的资源利用特征,该资源利用特征表示物理主机上虚拟机实例的使用特征。通过物理资源利用率确定物理主机的空闲资源时,综合了各物理主机上云服务实例的空闲资源和物理主机上的剩余物理资源,而不仅是根据物理主机上的剩余物理资源来确定其空闲资源,能够更加精确的确定每台物理主机的可用资源,一方面有利于充分利用每台物理主机提供的物理资源及其上各云服务实例的空闲资源,另一方面可避免将资源利用率较高的云服务实例部署在云服务实例利用率较高的物理主机上,从而有效避免资源争抢。
其中,所述物理主机的资源应用数据包括所述各云服务实例的CPU、内存、磁盘以及带宽的使用信息,所述使用信息至少可以包括使用累计值、可用峰值、使用时间等。相应的,所述物理资源利用率可以以序列表示,所述序列包含:CPU利用率值、内存利用率值、磁盘利用率值、以及带宽利用率值。
本实施例中,选取物理主机时的原则是:选取空闲资源与对应所述用户标识的用户资源利用率相匹配的物理主机。也就是说,选择物理资源利用率不高于所述用户资源利用率的物理主机。为使得资源使用更加均衡,选取物理主机时可以是:选择物理资源利用率与所述用户资源利用率之和最接近100%的物理主机。
在一些实现方式中,预先配置预定规则,该预定规则中规定了资源利用等级及其对应的利用率区间,可以根据物理资源利用率、用户资源利用率对应的资源利用等级来选取物理主机。具体的,根据对应所述用户标识的用户资源利用率,基于所述预定规则确定对应所述用户标识的用户资源利用等级;根据所述各物理主机的空闲资源确定对应所述各物理主机的物理资源利用等级,也就是说,根据各物理主机的物理资源利用率,基于所述预定规则确定对应所述各物理主机的物理资源利用等级;找到物理资源利用等级与所述用户资源利用等级相匹配的物理主机。这里,物理资源利用等级与所述用户资源利用等级相匹配可以是指物理资源利用等级不大于且最接近所述用户资源利用等级。在所述找到物理资源利用等级与所述用户资源利用等级相匹配的物理主机之后,还可以从所述找到的物理主机中,选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机。
实际应用中,所述用户资源利用等级和物理资源利用等级可以以序列表示,所述序列包含:CPU等级值、内存等级值、磁盘等级值、带宽等级值。
本实施例中,所述物理资源利用等级与所述用户资源利用等级相匹配,可以是:物理资源利用等级的序列中每个等级值不大于且最接近所述用户资源利用等级的序列中相应的等级值。也就是说,物理主机的CPU等级值不大于且最接近所述用户标识对应的CPU等级值,物理主机的内存等级值不大于且最接近所述用户标识对应的内存等级值,物理主机的磁盘等级值不大于且最接近所述用户标识对应的磁盘等级值,物理主机的带宽等级值不大于且最接近所述用户标识对应的带宽等级值。
实际应用中,所述选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机,包括:选出所述物理资源利用率的序列与所述用户资源利用率的序列中每项利用率值相加最接近100%的物理主机。也就是说,选出满足如下条件的物理主机:物理主机的CPU利用率与所述用户标识对应的CPU利用率相加最接近100%,物理主机的内存利用率与所述用户标识对应的内存利用率相加最接近100%,物理主机的磁盘利用率与所述用户标识对应的磁盘利用率相加最接近100%,物理主机的带宽利用率与所述用户标识对应的带宽利用率相加最接近100%。
下面以虚拟机实例为例说明本实施例中云资源分配方法的实现过程。
对于表征用户资源使用特征的用户资源利用率,可通过监测其用户日志获得该用户标识下已使用的各虚拟机实例的资源应用数据,计算所述各虚拟机实例的CPU利用率、内存利用率、磁盘利用率以及带宽利用率,将所述各虚拟机实例的各利用率结果再进行加权求平均等计算,得到对应用户标识的用户资源利用率,该用户资源利用率包括:CPU利用率、内存利用率、磁盘利用率以及带宽利用率。
对于表征物理主机资源使用特征的物理资源利用率,可通过监测物理主机上已部署的虚拟机实例的运行情况,获得各虚拟机实例的资源应用数据,计算各虚拟机实例的CPU利用率、内存利用率、磁盘利用率以及带宽利用率,将各虚拟机实例的利用率结果再进行加权求平均等计算,得到物理主机的物理资源利用率,该物理资源利用率包括:CPU利用率、内存利用率、磁盘利用率以及带宽利用率。
实际应用中,用户资源利用率、物理资源利用率的具体计算方式除上述将相应虚拟机实例或虚拟机实例的各利用率结果加权求平均之外,还可以采用其他方式,例如取最高值或取中间值等方式,对此,本文不作限制。
例如,可以预先设定资源利用等级如下:
H高级:对应利用率区间70%--100%;
M中级:对应利用率区间40%--70%(含);
L低级:对应利用率区间0%--40%(含);
如下表1所示为用户资源利用率及其用户资源利用等级的示例。
CPU利用率 内存利用率 磁盘利用率 带宽利用率
虚拟机实例A 20% 50% 10% 30%
虚拟机实例B 35% 45% 12% 40%
虚拟机实例C 25% 39% 15% 20%
用户资源利用率 26.6% 44.6% 12.3% 30%
用户资源利用等级 L M L L
表1
如下表2所示为一物理主机的物理资源利用率及物理资源利用等级的示例。
CPU利用率 内存利用率 磁盘利用率 带宽利用率
虚拟机实例A 10% 21% 57% 10%
虚拟机实例B 9% 25% 40% 18%
虚拟机实例C 1% 10% 50% 14%
物理资源利用率 6.67% 18.67% 49% 14%
物理资源利用等级 L L M L
表2
例如,可通过如下公式分别计算上述的CPU利用率、内存利用率、磁盘利用率以及带宽利用率;
Figure BDA0001204703100000141
其中,在计算CPU使用率时,上述公式中的资源使用累计值是指CPU使用累计值,资源可用峰值是指CPU可用峰值,使用时间是指CPU的使用时间。在计算内存利用率时上述公式中,上述公式中的资源使用累计值是指内存使用累计值,资源可用峰值是指内存可用峰值,使用时间是指内存的使用时间。在计算磁盘利用率时上述公式中,上述公式中的资源使用累计值是指磁盘使用累计值,资源可用峰值是指磁盘可用峰值,使用时间是指磁盘的使用时间。在计算带宽利用率时上述公式中,上述公式中的资源使用累计值是指带宽使用累计值,资源可用峰值是指带宽可用峰值,使用时间是指带宽的使用时间。
实际应用中,CPU利用率、内存利用率、磁盘利用率、带宽利用率还可采用其他方式计算,对此,本文不作限制。例如,可以在上述公式中增设某一个或几个变量(资源使用累计值、资源可用峰值、使用时间)的权重值,通过权重值调整各变量的比值,以此调整各利用率值的最终值。
其中,资源使用累计值、资源可用峰值、使用时间等包含在资源应用数据中,可通过解析用户日志或者监测物理主机上已部署虚拟机实例的运行日志获得。
实际应用中,用户资源利用率、物理资源利用率分别包含CPU利用率、内存利用率、磁盘利用率及带宽利用率,可通过序列表示。相应的,用户的用户资源利用等级以及物理主机的物理资源利用等级也通过序列表示。如表1中的用户资源利用率实际上序列{26.6%,44.6%,12.3%,30%},相应的用户资源利用等级为序列{L,M,L,L},如表2中得到物理主机的物理资源利用率为序列{6.67%,18.67%,49%,14%},相应的物理资源利用等级为序列{L,L,M,L}。选取物理主机时,需要将序列中每个等级值进行匹配。
实际应用中,可以先寻找物理资源利用等级序列与用户资源利用等级序列中每个等级值相匹配的物理主机,再从寻找到的物理主机中选择物理资源利用率序列与用户资源利用率序列中每项利用率值相加最接近100%的物理主机。在最接近100%的空闲资源上部署虚拟机实例可使得物理主机的利用率最大化。
实际应用中,还可以直接使用用户资源利用率与物理资源利用率之间的匹配程度选取物理主机。当然,还可以利用用户资源利用率、物理资源利用率采用其他方式来进行物理主机的选取,对此,本文不作限制。
本实施例的上述云资源分配方法可通过图3所示云计算系统中的资源调度器实现,也可通过图3所示云计算系统中的用户交互模块、资源调度器以及云服务实例监测器来实现。
下面以一个示例来说明本实施例资源分配的具体实现过程。
如图4所示,本实施例中资源分配的具体实现过程可包括:
步骤401,用户在用户交互模块上操作,创建资源订单;
步骤402,用户交互模块根据所述资源订单向资源调度器发出资源请求,所述资源请求携带用户标识和资源规格信息;
这里,所述资源规格信息中包含符合所述资源请求的虚拟机实例参数。
步骤403,资源调度器接收所述资源请求,判断当前的空闲资源总量是否满足所述资源规格信息的要求,如果是,则继续步骤404,否则结束当前流程;
步骤404,资源调度器获取对应所述用户标识的资源应用数据,确定对应所述用户标识的用户资源利用率,并根据所述用户资源利用率以及预先设定的资源利用等级,确定对应所述用户标识的用户资源利用等级;
步骤405,资源调度器通过云服务实例监测器获取各物理主机上各虚拟机实例的资源应用数据,确定对应各物理主机的物理资源利用率,并根据所述物理资源利用率以及预先设定的资源利用等级,确定对应各物理主机的物理资源利用等级,完成各物理主机上空闲资源的确定;
步骤406,根据对应用户标识的用户资源利用率和用户资源利用等级,以及对应各物理主机的物理资源利用率和物理资源利用等级,先寻找物理资源利用等级序列与第一资源使用序列中每个等级值相匹配的物理主机,再从寻找到的物理主机中选择物理资源利用率序列与用户资源利用率序列中每项利用率值相加最接近100%的物理主机,完成物理主机的选取;
步骤407,在所述选择的物理主机上部署符合所述资源规格信息的虚拟机实例,完成相应虚拟机实例的创建,本流程结束。
需要说明的是,上述流程中步骤405和步骤404之间不存在必然的先后顺序,可先后执行、同时执行。
本申请的云资源分配方法,通过引入表征用户使用行为特征的用户资源利用率,结合表征各物理主机空闲资源状况的物理资源利用率综合判断哪个物理主机更适合部署符合用户当前资源需求的虚拟机实例,既能够充分利用各物理主机提供的物理资源,还能够避免产生资源争抢的问题,提高了整个云计算系统上整体云资源的使用均衡性。
实施例二
一种云资源分配装置,如图5所示,可包括:
接收模块51,用于接收云服务的资源请求,所述资源请求携带用户标识;
获取模块52,用于获取所述用户标识下已使用的云服务实例的资源应用数据;
选取模块53,用于根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
部署模块54,用于在所述选取模块选取的物理主机上部署符合所述资源请求的云服务实例。
在一些实现方式中,所述选取模块53可以包括:
第一计算模块531,可用于根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;
选择子模块532,可用于根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机。
在一些实现方式中,所述选取模块53还可以包括:
第二计算子模块533,可用于基于所述物理主机上已部署的云服务实例的资源应用数据,得到对应所述各物理主机的物理资源利用率,所述物理资源利用率表示所述物理主机上资源的利用特征;
所述选择子模块532,具体可用于根据对应所述用户标识的用户资源利用率、以及各物理主机的物理资源利用率,选取物理主机。
本实施例中,所述选择子模块532,具体可用于选取所述空闲资源与对应所述用户标识的用户资源利用率相匹配的物理主机。
一些实现方式中,所述选择子模块532,具体可用于选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机。
本实施例中,所述接收模块51是上述装置中负责接收来自用户交互模块的资源请求的部分,可以是软件、硬件或两者的结合。
本实施例中,所述获取模块52是上述装置中负责收集各云服务实例的资源应用数据的部分,可以是软件、硬件或两者的结合。
本实施例中,所述选取模块53是上述装置中负责决定使用哪些物理资源的部分,可以是软件、硬件或两者的结合。
本实施例中,所述部署模块54是上述装置中负责部署云服务实例的部分,可以是软件、硬件或两者的结合。
本实施例的上述云资源分配装置可以但不限于设置于图3所示云计算系统的资源调度器中。
本实施例的其它实现细节可参考实施例一。
实施例三
一种云资源分配装置,包括处理器和存储器,所述存储器存储有计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如下方法:
接收云服务的资源请求,所述资源请求携带用户标识;
获取所述用户标识下已使用的云服务实例的资源应用数据;
根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
在所述选取的物理主机上部署符合所述资源请求的云服务实例。
本实施例的上述云资源分配装置可部署在图3所示云计算系统中的资源调度器。
本实施例的其它实现细节可参考实施例一。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
当然,本申请还可有其他多种实施例,在不背离本申请精神及其实质的情况下,熟悉本领域的技术人员当可根据本申请作出各种相应的改变和变形,但这些相应的改变和变形都应属于本申请的权利要求的保护范围。

Claims (18)

1.一种云资源分配方法,包括:
接收云服务的资源请求,所述资源请求携带用户标识;
获取所述用户标识下已使用的云服务实例的资源应用数据;其中所述资源应用数据,通过收集并解析物理主机上已部署的云服务实例的运行日志获得;
根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
在所述选取的物理主机上部署符合所述资源请求的云服务实例;
所述获取所述用户标识下已使用的云服务实例的资源应用数据,包括:
获取所述用户标识下已使用的云服务实例在距当前时刻预定时长范围内的资源应用数据。
2.根据权利要求1所述的云资源分配方法,其特征在于,根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机,包括:
根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;
根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机。
3.根据权利要求1所述的云资源分配方法,其特征在于,根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机,包括:
根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;
基于所述物理主机上已部署的云服务实例的资源应用数据,得到对应所述各物理主机的物理资源利用率,所述物理资源利用率表示所述物理主机上资源的利用特征;
根据对应所述用户标识的用户资源利用率、以及各物理主机的物理资源利用率,选取物理主机。
4.根据权利要求1所述的云资源分配方法,其特征在于,所述获取所述用户标识下已使用的云服务实例的资源应用数据,还包括:
获取所述用户标识下已使用的云服务实例中部分云服务实例的资源应用数据,所述部分云服务实例与所述符合所述资源请求的云服务实例类型相匹配。
5.根据权利要求1至4任一项所述的云资源分配方法,其特征在于,
所述资源应用数据包括资源的使用累计值、可用峰值、使用时间,所述资源包含CPU、内存、磁盘以及带宽。
6.根据权利要求2所述的云资源分配方法,其特征在于,根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机,包括:
选取所述空闲资源与对应所述用户标识的用户资源利用率相匹配的物理主机。
7.根据权利要求2或6所述的云资源分配方法,其特征在于,所述根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机,包括:
基于预定规则以及对应所述用户标识的用户资源利用率,确定对应所述用户标识的用户资源利用等级;
基于所述预定规则以及所述各物理主机的空闲资源,确定对应所述各物理主机的物理资源利用等级;
找到物理资源利用等级与对应所述用户标识的用户资源利用等级相匹配的物理主机。
8.根据权利要求3或6所述的云资源分配方法,其特征在于,所述选取物理主机,包括:
选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机。
9.根据权利要求3或6所述的云资源分配方法,其特征在于,所述选取物理主机,包括:
基于预定规则以及对应所述用户标识的用户资源利用率,确定对应所述用户标识的用户资源利用等级;
基于所述预定规则以及所述各物理主机的物理资源利用率,确定对应所述各物理主机的物理资源利用等级;
找到物理资源利用等级与对应所述用户标识的用户资源利用等级相匹配的物理主机。
10.根据权利要求9所述的云资源分配方法,其特征在于,所述找到物理资源利用等级与对应所述用户标识的用户资源利用等级相匹配的物理主机之后,还包括:
从所述找到的物理主机中,选出物理资源利用率与对应所述用户标识的用户资源利用率之和最接近100%的物理主机。
11.根据权利要求10所述的云资源分配方法,其特征在于,
所述用户资源利用率以序列表示,所述序列包含:CPU利用率值、内存利用率值、磁盘利用率值、以及带宽利用率值;
所述物理资源利用率以序列表示,所述序列包含:CPU利用率值、内存利用率值、磁盘利用率值、以及带宽利用率值;
所述选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机,包括:选出所述物理资源利用率的序列与所述用户资源利用率的序列中各利用率值相加最接近100%的物理主机。
12.根据权利要求9所述的云资源分配方法,其特征在于,
所述用户资源利用等级和物理资源利用等级以序列表示,所述序列包含:CPU等级值、内存等级值、磁盘等级值、带宽等级值;
所述物理资源利用等级与所述用户资源利用等级相匹配,包括:所述物理资源利用等级的序列中每个等级值不大于且最接近所述用户资源利用等级的序列中相应的等级值。
13.一种云资源分配装置,包括:
接收模块,用于接收云服务的资源请求,所述资源请求携带用户标识;
获取模块,用于获取所述用户标识下已使用的云服务实例的资源应用数据;其中所述资源应用数据,通过收集并解析物理主机上已部署的云服务实例的运行日志获得;所述获取所述用户标识下已使用的云服务实例的资源应用数据,包括:获取所述用户标识下已使用的云服务实例在距当前时刻预定时长范围内的资源应用数据;
选取模块,用于根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
部署模块,用于在所述选取模块选取的物理主机上部署符合所述资源请求的云服务实例。
14.根据权利要求13所述的云资源分配装置,其特征在于,
所述选取模块包括:
第一计算模块,用于根据所述用户标识下已使用的云服务实例的资源应用数据,得到对应所述用户标识的用户资源利用率,所述用户资源利用率表示所述用户标识下资源的利用特征;
选择子模块,用于根据对应所述用户标识的用户资源利用率以及各物理主机的空闲资源,选择物理主机。
15.根据权利要求14所述的云资源分配装置,其特征在于,
所述选取模块还包括:
第二计算子模块,用于基于所述物理主机上已部署的云服务实例的资源应用数据,得到对应所述各物理主机的物理资源利用率,所述物理资源利用率表示所述物理主机上资源的利用特征;
所述选择子模块,用于根据对应所述用户标识的用户资源利用率、以及各物理主机的物理资源利用率,选取物理主机。
16.根据权利要求14或15所述的云资源分配装置,其特征在于,
所述选择子模块,具体用于选取所述空闲资源与对应所述用户标识的用户资源利用率相匹配的物理主机。
17.根据权利要求16所述的云资源分配装置,其特征在于,
所述选择子模块,具体用于选出物理资源利用率与所述用户资源利用率之和最接近100%的物理主机。
18.一种云资源分配装置,包括处理器和存储器,其特征在于,所述存储器存储有计算机可执行指令,所述计算机可执行指令被所述处理器执行时实现如下方法:
接收云服务的资源请求,所述资源请求携带用户标识;
获取所述用户标识下已使用的云服务实例的资源应用数据;其中所述资源应用数据,通过收集并解析物理主机上已部署的云服务实例的运行日志获得;所述获取所述用户标识下已使用的云服务实例的资源应用数据,包括:获取所述用户标识下已使用的云服务实例在距当前时刻预定时长范围内的资源应用数据;
根据所述用户标识下已使用的云服务实例的资源应用数据、以及各物理主机的空闲资源,选取物理主机;
在所述选取的物理主机上部署符合所述资源请求的云服务实例。
CN201710011233.5A 2017-01-06 2017-01-06 一种云资源分配方法及装置 Active CN108279974B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710011233.5A CN108279974B (zh) 2017-01-06 2017-01-06 一种云资源分配方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710011233.5A CN108279974B (zh) 2017-01-06 2017-01-06 一种云资源分配方法及装置

Publications (2)

Publication Number Publication Date
CN108279974A CN108279974A (zh) 2018-07-13
CN108279974B true CN108279974B (zh) 2022-07-19

Family

ID=62801104

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710011233.5A Active CN108279974B (zh) 2017-01-06 2017-01-06 一种云资源分配方法及装置

Country Status (1)

Country Link
CN (1) CN108279974B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109710380A (zh) * 2018-12-25 2019-05-03 杭州数梦工场科技有限公司 管控云服务器中虚拟资源的方法及装置
CN112887228B (zh) * 2019-11-29 2024-02-02 阿里巴巴集团控股有限公司 云资源管理方法、装置、电子设备及计算机可读存储介质
CN112953993B (zh) * 2019-12-11 2023-09-26 阿里巴巴集团控股有限公司 资源调度方法、设备、网络系统及存储介质
CN111507650B (zh) * 2020-07-02 2021-01-05 深圳微品致远信息科技有限公司 一种边缘计算平台算力分配调度方法及系统
CN112333058B (zh) * 2020-09-15 2023-06-30 深圳Tcl新技术有限公司 设备监控方法、装置、系统与计算机可读存储介质
CN112685180B (zh) * 2020-12-29 2023-10-10 杭州海康威视数字技术股份有限公司 计算单元分配方法、装置及计算单元分配系统
CN113793110A (zh) * 2021-07-01 2021-12-14 科尔比乐(广州)智能装备有限公司 基于云计算的工业设备数据采集与分析方法及云服务平台
CN114095564A (zh) * 2021-11-16 2022-02-25 百度在线网络技术(北京)有限公司 数据处理方法及装置、设备和介质
CN115225714A (zh) * 2022-06-06 2022-10-21 阿里巴巴(中国)有限公司 云服务的资源处理方法和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103701934A (zh) * 2014-01-13 2014-04-02 浪潮(北京)电子信息产业有限公司 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN104038540A (zh) * 2014-06-03 2014-09-10 山东乾云启创信息科技有限公司 一种应用代理服务器自动选择方法及系统
CN105159782A (zh) * 2015-08-28 2015-12-16 北京百度网讯科技有限公司 基于云主机为订单分配资源的方法和装置
US20160134480A1 (en) * 2012-07-27 2016-05-12 Centurylink Intellectual Property Llc System and Method for Determining Optimal Bandwidth for Streaming to a Client Device in an Adjustable Bit Rate Video System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160134480A1 (en) * 2012-07-27 2016-05-12 Centurylink Intellectual Property Llc System and Method for Determining Optimal Bandwidth for Streaming to a Client Device in an Adjustable Bit Rate Video System
CN103701934A (zh) * 2014-01-13 2014-04-02 浪潮(北京)电子信息产业有限公司 一种资源优化调度方法及虚拟机宿主机优化选择方法
CN104038540A (zh) * 2014-06-03 2014-09-10 山东乾云启创信息科技有限公司 一种应用代理服务器自动选择方法及系统
CN105159782A (zh) * 2015-08-28 2015-12-16 北京百度网讯科技有限公司 基于云主机为订单分配资源的方法和装置

Also Published As

Publication number Publication date
CN108279974A (zh) 2018-07-13

Similar Documents

Publication Publication Date Title
CN108279974B (zh) 一种云资源分配方法及装置
CN111787060B (zh) 一种流量调度方法、系统及装置
US8843632B2 (en) Allocation of resources between web services in a composite service
CN106407207B (zh) 一种实时新增数据更新方法和装置
US11100073B2 (en) Method and system for data assignment in a distributed system
CN112764920B (zh) 一种边缘应用部署方法、装置、设备和存储介质
CN107105013B (zh) 文件的处理方法、服务器、终端和系统
JP2018525743A (ja) 負荷平衡方法及び装置
CN109614284B (zh) 一种数据处理方法及装置
CN110636388A (zh) 一种业务请求分配方法、系统、电子设备及存储介质
CN102932271A (zh) 负载均衡的实现方法和装置
CN102957624A (zh) 内容路由方法和装置
CN110035128B (zh) 一种直播调度方法、装置、直播系统及存储介质
CN111338750A (zh) 执行节点的压力调节方法、装置、服务器及存储介质
CN111182006B (zh) 一种物理集群映射为云计算资源的方法及装置
CN108804210B (zh) 一种云平台的资源配置方法及装置
CN108023920B (zh) 一种数据包传输方法、设备及应用接口
CN105763508B (zh) 一种数据访问方法和应用服务器
CN113656046A (zh) 一种应用部署方法和装置
CN110874268B (zh) 数据处理方法、装置和设备
CN108664323B (zh) 一种基于多处理器的数据传输方法和装置
CN115878303A (zh) 一种资源调度方法、装置及电子设备
CN110719306B (zh) 一种网络请求限制方法、计算机设备、存储介质
CN114253456A (zh) 一种缓存负载均衡方法和装置
CN111221644A (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