CN108459905B - 资源池容量规划方法及服务器 - Google Patents
资源池容量规划方法及服务器 Download PDFInfo
- Publication number
- CN108459905B CN108459905B CN201710087057.3A CN201710087057A CN108459905B CN 108459905 B CN108459905 B CN 108459905B CN 201710087057 A CN201710087057 A CN 201710087057A CN 108459905 B CN108459905 B CN 108459905B
- Authority
- CN
- China
- Prior art keywords
- type
- time sequence
- sequence data
- group
- sub
- 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
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/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
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
技术领域
本发明涉及云计算技术领域,特别涉及对提供云服务的服务器的数量进行规划的技术。
背景技术
在云计算场景下,随着虚拟机技术的出现,云服务获得大规模应用,大量的客户将基础设施不断地搬迁至云端,云服务提供商为了满足客户对于云服务日益增长的需求,需要不断投入服务器至资源池以支撑云服务的正常运行。
虚拟机安装在服务器上用于提供云服务,因此,资源池容量大小取决于支撑云服务的服务器的数量。
现有技术通过监控用于提供云服务的虚拟机的状态,统计分析出服务器提供的正在运行的虚拟机数量以及服务器能提供的虚拟机总数量,当正在运行的虚拟机数量占虚拟机总数量达到70%时,规划增加占当前服务器数量50%的服务器来支撑云服务,由于服务器数量提高了50%,因此服务器能提供的虚拟机总数量也会提高,从而保证有足够的硬件设备投入资源池来支撑云服务的增长。
但是,现有的容量规划方式中,仅通过正在运行的虚拟机数量占虚拟机总数量的比例来决定是否增加服务器,对于虚拟机总数量的增长趋势预测不足,且现有技术中,并没有考虑到虚拟机的类型,不同类型的虚拟机所需硬件资源也不相同,故现有技术对服务器需求量所作预测准确度欠佳。
发明内容
为解决现有技术的问题,本发明实施例提供了一种资源池容量规划方法及服务器,可提高对服务器需求量的预测准确度。
第一方面,本发明实施例提供了一种资源池容量规划方法,包括:
从云资源管理系统获取运行数据,其中运行数据包括监控时间点以及在监控时间点上资源池中运行的虚拟机的类型和数量;
根据虚拟机的类型对运行数据进行分类,并将分类后的运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,时序数据包括监控时间点以及在监控时间点上对应类型的虚拟机的数量;
根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
从云资源管理系统获取各类型的虚拟机的硬件规格;
根据预测到的在未来的时间段内的各类型的虚拟机数量和各类型的虚拟机的硬件规格获取未来的时间段内各类型的虚拟机的对硬件资源的需求量;
根据资源池当前的容量、各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在未来的时间段内的服务器需求量。
由于根据时序数据预测未来时间段的不同类型的虚拟机数量,再根据不同类型的虚拟机数量获取未来时间段的服务器需求量,由于引入了可反映虚拟机数量的历史增长趋势的时序数据来获得未来时间段所需的虚拟机数量,故充分考虑了不同类型的虚拟机的增长趋势,从而可提高对服务器需求量的预测准确度。
在本发明实施例的一种实现方式中,监控时间点以天、小时、或分钟为单位。
在本发明的另一种实现方式中,资源池容量规划服务器预先存储多种服务器的硬件规格,并规定各种服务器所占比例。
在本发明实施例的一种实现方式中,根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量具体包括:
根据监控时间点将每组时序数据分别划分为多组子时序数据;
对每组子时序数据分别取平均值;
将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量。
在本发明实施例的另一种实现方式中,根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量还包括:
计算每组子时序数据的峰值;
将每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的每组子时序数据的峰值平均值比值的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量。
在本发明的另一种实现方式中,将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的每组子时序数据的峰值平均值比值的平均值的乘积作为本次峰值预测数量,针对同一周的峰值预测数量,可将本次峰值预测数量与[前次峰值预测数量*a,前次峰值预测数量*b]的区间范围进行比较,若本次峰值预测数量在区间范围内,则说明前后两次预测相差不大,可以本次峰值测量数量为准,若本次峰值预测数量不在区间范围内,则说明前后两次预测相差较多,在本次峰值预测数量小于前次峰值预测数量*a时,以前次峰值预测数量*a作为本次峰值预测数量,并且,在本次峰值预测数量大于前次峰值预测数量*b时,以前次峰值预测数量*b作为本次峰值预测数量。
因此通过前次峰值预测数量来限定本次峰值预测数量,可确保本次产生的服务器订单与上次预测产生的服务器订单不会相差过多。
在本发明的另一种实现方式中,a、b为正数,a<b,a可例如为0.9,b可例如为1.1。
在本发明实施例的另一种实现方式中,计算每组子时序数据的峰值包括:
将每组子时序数据中位于所在组内第99百分位的数据作为峰值。
在本发明实施例的另一种实现方式中,将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量还包括:
从云资源管理系统获取为客户预留的各类型的虚拟机需求数量;
将为客户预留的各类型的虚拟机需求数量分别叠加至未来的时间段内的对应类型的虚拟机数量中,以获取在未来的时间段内的各类型的虚拟机数量。
在本发明实施例的另一种实现方式中,硬件资源包括CPU的核心数和内存的容量中的一者或组合。
第二方面,本发明实施例提供了一种资源池容量规划服务器,包括:
数据获取模块,用于从云资源管理系统获取运行数据,其中运行数据包括监控时间点,以及在监控时间点上资源池中运行的虚拟机的类型和数量;
数据分类模块,用于根据虚拟机的类型对运行数据进行分类,并将分类后的运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,时序数据包括监控时间点以及在监控时间点上对应类型的虚拟机的数量;
预测模块,用于根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
硬件规格获取模块,用于从云资源管理系统获取各类型的虚拟机的硬件规格;
硬件资源需求量获取模块,用于根据预测到的在未来的时间段内的各类型的虚拟机数量和各类型的虚拟机的硬件规格获取未来的时间段内各类型的虚拟机的对硬件资源的需求量;
服务器需求量获取模块,用于根据资源池当前的容量、各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在未来的时间段内的服务器需求量。
在本发明实施例的一种实现方式中,预测模块包括:
子时序数据划分单元,用于根据监控时间点将每组时序数据分别划分为多组子时序数据;
平均值获取单元,用于对每组子时序数据分别取平均值;
预测单元,用于将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量。
在本发明实施例的另一种实现方式中,预测模块还包括:
峰值计算单元,用于计算每组子时序数据的峰值;
峰值平均值比值计算单元,用于将每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
平均值计算单元,用于计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
虚拟机数量计算单元,用于将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量。
在本发明实施例的另一种实现方式中,峰值计算单元具体用于:
将每组子时序数据中位于所在组内第99百分位的数据作为峰值。
在本发明实施例的另一种实现方式中,虚拟机数量计算单元还用于:
从云资源管理系统获取为客户预留的各类型的虚拟机需求数量;
将为客户预留的各类型的虚拟机需求数量分别叠加至未来的时间段内的对应类型的虚拟机数量中,以获取在未来的时间段内的各类型的虚拟机数量。
在本发明实施例的另一种实现方式中,硬件资源包括CPU的核心数和内存的容量中的一者或组合。
第三方面,本发明实施例提供一种资源池容量规划服务器,包括处理器、存储器以及总线系统,处理器和存储器分别与总线系统连接,处理器执行存储器中的指令以执行步骤:
从云资源管理系统获取运行数据,其中运行数据包括监控时间点,以及在监控时间点上资源池中运行的虚拟机的类型和数量;
根据虚拟机的类型对运行数据进行分类,并将分类后的运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,时序数据包括监控时间点以及在监控时间点上对应类型的虚拟机的数量;
根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
从云资源管理系统获取各类型的虚拟机的硬件规格;
根据预测到的在未来的时间段内的各类型的虚拟机数量和各类型的虚拟机的硬件规格获取未来的时间段内各类型的虚拟机的对硬件资源的需求量;
根据资源池当前的容量、各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在未来的时间段内的服务器需求量。
在本发明实施例的一种实现方式中,处理器执行存储器中的指令以执行根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量的步骤具体包括:
根据监控时间点将每组时序数据分别划分为多组子时序数据;
对每组子时序数据分别取平均值;
将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量。
在本发明实施例的另一种实现方式中,处理器执行存储器中的指令以执行根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量的步骤还包括:
计算每组子时序数据的峰值;
将每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量。
在本发明实施例的另一种实现方式中,处理器执行存储器中的指令以执行计算每组子时序数据的峰值的步骤具体包括:
将每组子时序数据中位于所在组内第99百分位的数据作为峰值。
在本发明实施例的另一种实现方式中,处理器执行存储器中的指令以执行将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量的步骤还包括:
从云资源管理系统获取为客户预留的各类型的虚拟机需求数量;
将为客户预留的各类型的虚拟机需求数量分别叠加至未来的时间段内的对应类型的虚拟机数量中,以获取在未来的时间段内的各类型的虚拟机数量。
在本发明实施例的另一种实现方式中,硬件资源包括CPU的核心数和内存的容量中的一者或组合。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本发明实施例的系统架构示意图;
图2为根据本发明实施例的另一系统架构示意图;
图3为根据本发明实施例的另一系统架构示意图;
图4为根据本发明实施例的另一系统架构示意图;
图5是根据本发明实施例的资源池容量规划方法的流程图;
图6是根据本发明实施例的资源池容量规划方法的子流程图;
图7是根据本发明实施例的资源池容量规划服务器的装置结构示意图;
图8是根据本发明实施例的预测模块的装置结构示意图;
图9是根据本发明实施例的资源池容量规划服务器的另一装置结构示意图。
具体实施方式
请参见图1,图1为根据本发明实施例的系统架构示意图,如图1所示,资源池容量规划服务器100通过网络与云资源管理系统101建立数据连接,客户端104通过网络与云资源管理系统101,服务器集群1000包括可用于支撑云服务的多个服务器1001、1002、……、1003,计算虚拟化系统102根据服务器集群1000的服务器所提供的计算能力设置资源池103,资源池103包括服务器的CPU以及内存等计算资源,计算虚拟化系统102根据服务器集群1000的数量统计计算资源的种类及数量,如CPU的核心数和内存的容量,并根据用户需求将计算资源虚拟成多个虚拟机以提供云服务。
云资源管理系统101从客户端104获取用户需求,将用户需求发送至计算虚拟化系统102,计算虚拟化系统102设置符合用户需求的虚拟机并通知云资源管理系统101,云资源管理系统101发放符合用户需求的虚拟机至客户端104,其中,计算虚拟化系统102可根据不同的用户需求设置不同类型的虚拟机,不同类型的虚拟机具有不同的硬件规格,具体而言,硬件规格包括内存容量和CPU核心数。
值得注意的是,客户端的数量也可以是多个,本发明实施例对此不作限定。
在一些示例中,云资源管理系统101举例而言可为openstack,计算虚拟化系统102举例而言可为KVM、XEN等。
在本发明实施例中,云资源管理系统101可从计算虚拟化系统102获取资源池103的容量以及发放的虚拟机的硬件规格,并监控发放的虚拟机的运行状态,其中虚拟机的硬件规格包括CPU核心数和内存容量。
进一步,云资源管理系统101提供数据接口,如API(Application ProgrammingInterface,应用程序编程接口),资源池容量规划服务器100可通过该数据接口获取资源池103的容量、各类型的虚拟机的硬件规格以及运行数据,其中运行数据包括云资源管理系统101监控到的正在运行的虚拟机类型和数量。
图2至4分别列举出本发明实施例各种可能的系统架构,如图2所示,在一示例中,云资源管理系统101和计算虚拟化系统102设置在资源池容量规划服务器100中。如图3所示,在另一示例中,云资源管理系统101设置在资源池容量规划服务器100中,计算虚拟化系统102设置在资源池容量规划服务器100外部。如图4所示,在另一示例中,云资源管理系统101设置在资源池容量规划服务器100中,计算虚拟化系统102设置在资源池容量规划服务器100外部。另外,在本发明实施例中,根据虚拟机的硬件规格区分虚拟机类型,举例而言,虚拟机类型包括小型虚拟机(下文以s1.small表示)、中型虚拟机(下文以s1.medium表示)、大型虚拟机(下文以s1.large表示)。在一种示例中,云资源管理系统101可将s1.large的硬件规格设置为具有4G内存和2个CPU核心数,将s1.medium的硬件设置为具有2G内存和1个CPU核心数,将s1.small的硬件规格设置为具有1G内存和0.5个CPU核心数。
值得注意的是,在本发明实施例中,为了便于说明,云资源管理系统101均采用以上述硬件规格来区分虚拟机类型,但在本发明的其他实施例中,云资源管理系统101还可以定义具有其他硬件规格的虚拟机类型。
以下请参见图5,图5是根据本发明实施例的资源池容量规划方法的流程图,如图5所示,资源池容量规划方法包括以下步骤:
步骤201:资源池容量规划服务器100从云资源管理系统101获取运行数据。
运行数据包括监控时间点,以及在监控时间点上资源池中运行的虚拟机的类型和数量,举例而言,运行数据可由云资源管理系统101通过监控的正在运行的虚拟机的工作状态而获得,具体地,资源池容量规划服务器100通过云资源管理系统101提供的API接口发送查询命令至云资源管理系统101,云资源管理系统101在监控时间点上监控到:s1.medium:100,s1.large:50,并将s1.medium:100,s1.large:50及监控时间点返回至资源池容量规划服务器100。
其中,s1.medium:100表示云资源管理系统101监控到当前正在运行的s1.medium的数量为100,s1.large:50表示云资源管理系统101监控到当前正在运行的类型为s1.large的虚拟机的数量为50
通过上述方式,资源池容量规划服务器100可定时从云资源管理系统101获取运行数据,如在每天中午12时,以该时间点获取到的运行数据作为取样点,代表一天中每个时刻运行的虚拟机的数量(即以中午12时的数据表示该天每个时刻运行的虚拟机数量),此时,监控时间点为(日期:中午12时)。
在另外一些示例中,资源池容量规划服务器100可设置多个取样点,并取平均值作为一天中每个时刻运行的虚拟机数量,具体地,可在每天不同时间点分别获取多个运行数据,对多个运行数据取平均值,该平均值代表一天中每个时刻运行的虚拟机的数量。对应地,监控时间点可在不同时间点中选取,或在不同时间点中取前后两者的中间时间点作为监控时间点,即,监控时间点为(日期:预设时间点),其中预设时间点为上述不同时间点中的任一者,或不同时间点的前后两者的中间值。
值得注意的是,根据预测需求,如要预测未来若干小时或分钟的数据,监控时间点需精确到小时、分钟或秒,而在本发明实施例中,主要预测未来若干天的数据,因此监控时间点可取日期为单位即可。
步骤202:资源池容量规划服务器100在获取运行数据后,根据虚拟机的类型对运行数据进行分类,并将分类后的运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,时序数据包括监控时间点以及在监控时间点上对应类型的虚拟机的数量。
具体地,不同类型的虚拟机对应不同的一组时序数据,时序数据包括监控时间点、在该监控时间点上对应类型的虚拟机的数量,现在举例如下:
表1和表2为s1.large的时序数据,值得注意的是,表1和表2为一个整体,由于格式所限,故分开两个表进行说明,其中表1和表2表示在过去6周(假设当前时间是2016/10/17)每天运行的s1.large的数量。
表3和表4为s1.medium的时序数据,同理,表3和表4为一个整体,由于格式所限,分开两个表进行说明,其中表3和表4表示在过去6周中每天运行的s1.medium的数量。
表1-2、3-4所示的两种类型的时序数据为资源池容量规划服务器100根据虚拟机类型对运行数据进行分类而获得,在表1-4中,第1列数据为监控时间点,第2列数据为在该存储点上的对应类型的虚拟机的数量。
在本实施例中,由于虚拟机的数量是以“天”为单位进行取样,因此监控时间点对应以“天”为单位,即资源池容量规划服务器100从2016/9/5开始,每天从云资源管理系统101获取一次s1.large的数量(假设取样点为1个,在一天中取样点为多个时,取平均值代表该天的数量),将s1.large的数量存入自身数据库,并将该天的日期作为监控时间点一并记录于自身数据库中,当到2016/10/16这个日期时,资源池容量规划服务器100可获得表1-2所述的时序数据。
而表3-4所述的时序数据也可以以类似方式获得。
本发明实施例中以过去6周的时序数据进行说明,但应理解到,在可选实施例中,亦可使用具有不同时间段的时序数据。
并且,在可选实施例中,也可以以“小时”、“分钟”等时间单位对虚拟机的数量来取样,监控时间点对应以“小时”、“分钟”为单位,本发明实施例对此不作限定。
步骤203:资源池容量规划服务器100根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量。
举例而言,资源池容量规划服务器100根据s1.large的时序数据预测未来的特定时间段内的s1.large的数量,根据s1.medium的时序数据预测未来的特定时间段内的s1.medium的数量。
为便于理解,以下将资源池容量规划服务器100根据s1.large的时序数据预测未来的特定时间段内的s1.large的数量作出详细说明。
具体请参见图6,图6是根据本发明实施例的资源池容量规划方法中对s1.large的时序数据进行处理的子流程图,如图6所示,对s1.large的时序数据进行处理的方法包括以下步骤:
步骤2031:资源池容量规划服务器100根据监控时间点将每组时序数据分别划分为多组子时序数据。
举例而言,以下以类型为s1.large的虚拟机对应的一组时序数据为例进行说明,值得注意的是针对s1.medium类型的虚拟机也与类似方式进行处理。
资源池容量规划服务器100对表1-2所示的s1.large的时序数据按照监控时间点划分为多组子时序数据,如表5所示:
表5
在表5中,通过子时间段来划分每组子时序数据,每一行均为一组子时序数据,过去的时间段为“过去6周”,过去的子时间段为“过去6周中的每1周”,子时序数据为过去6周中每1周s1.large的数量。具体地,第1列表示过去的子时间段,在本实施例中子时间段为1周,第2-8列分别列出过去第6周至过去第1周中每天的s1.large的数量。
值得注意的是,在可选实施例中,子时间段可以是“月”或“年”,举例而言,若子时间段是“1年”,则每一组子时序数据分别包括在过去某年每天的s1.large的数量。
步骤2032:资源池容量规划服务器100对每组子时序数据分别取平均值。
举例而言,可参见表6:
表6
其中表6示出对表5中所示的每组子时序数据取平均值后获取的平均值数据。
步骤2033:资源池容量规划服务器100将每组子时序数据的平均值输入ARIMA(Autoregressive Integrated Moving Average Model,自回归积分滑动平均模型)模型中进行趋势及周期预测。
其中,ARIMA模型的基本思想是:将预测对象随时间推移而形成的数据序列(如本发明实施例中的运行数据)视为一个随机序列,用一定的数学模型来近似描述这个序列,该模型可从时间序列的过去值及现在值来预测未来值,且预测到的未来值符合过去值的变化规律。
举例而言,资源池容量规划服务器100将s1.large的时序数据中的每一子时序数据的平均值63、79、93、107、131、159作为输入数据输入到ARIMA预测模型中进行趋势及周期预测,ARIMA预测模型输出的平均值预测数量可参见以下的表7第2列所示:
表7
表7示出资源池容量规划服务器100将类型为s1.large的虚拟机的时序数据中的每一子时序数据的平均值作为输入数据输入到ARIMA预测模型中进行趋势和周期预测后得出的未来6周的平均值预测数量。
其中,平均值预测数量是指ARIMA预测模型预测到的在未来的6周的每1周s1.large的数量,该数量由时序数据作为依据获得,可反映时序数据的发展趋势。
在本发明实施例中,资源池容量规划服务器100除需将ARIMA模型的“horizon”参数设置为“horizon=6”外,可将ARIMA预测模型的其他参数设置为默认值,通过设置“horizon=6”可控制ARIMA预测模型输出6个平均值预测数量,来反映未来6周的每一周的数量。
值得注意的是,表7中具有6个平均值预测数量,分别对应未来1-6周的数量,但在可选实施例中,可通过设置ARIMA预测模型的“horizon”参数来定义输出其他个数的平均值预测数量,例如可通过设定“horizon=1”,使得ARIMA预测模型仅输出1个平均值预测数量。
具体可根据实际需要而定,本发明实施例对此不作限定。
在一些实施例中,可以将上述表7中所示的ARIMA模型输出的数据直接作为类型为s1.large的虚拟机的预测数量。
而在本实施例中,进一步将ARIMA模型输出的数据与峰值平均值比值的平均值相乘,峰值平均值比值的平均值用于对ARIMA预测模型输出的平均值预测数量进行限制,以确保该预测数量大于过去每周的峰值,其具体方法将在下文详细介绍。
步骤2034:资源池容量规划服务器100计算每组子时序数据的峰值。
在本实施例中,可将每一时序数据中的每组子时序数据中位于所在组内第99百分位的数据作为所述峰值资源池容量规划服务器100可通过计算表5的每一组子时序数据位于所在组内第99百分位(99th percentile)的数据作为峰值。
举例来说,参见表5的第3行所示的一组子时序数据70、80、80、70、80、80、90,资源池容量规划服务器100将子时序数据从小到大进行排列:70、70、80、80、80、80、90,资源池容量规划服务器100选择的第99百分位的数据为在从小到大进行排列的子时序数据中的第n位数据,其中n通过以下方式计算获得:7×99%=6.93,其中7为子时序数据的数据个数,再对6.93往上取整而获得,因此于此n=7。
值得注意的是,由于一组子时序数据以周为单位,因此上述取第99百分位的方式直接取从小到大排列的子时序数据的第7个数据即可,而在一些示例中,一组子时序数据可包括更多的数据,如以100天为单位,即一组子时序数据有100天的数据,由于100×99%=99,因此可取从小到大进行排列的子时序数据中的第99位数据作为峰值,从而删除了第100位的数据。因此通过取99th,可删去可能为错误的例子。
进一步地,在一些示例中,也可以取最大值为峰值,获也取80th~98th作为峰值,具体可根据实际需要选取,本发明实施例对此不作限定。
举例而言,对于类型为s1.large的虚拟机,其峰值如表8所示:
表8
步骤2035:资源池容量规划服务器100将每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值。
举例而言,对于类型为s1.large的虚拟机,其峰值平均值比值如表9第4列所示:
表9
其中表9的第2列示出表7所示的平均值,第3列示出表8所示的峰值,第4列示出每组子时序数据的峰值平均值比值。
步骤2036:资源池容量规划服务器100计算每组时序数据中的子时序数据的峰值平均值比值的平均值。
举例而言,可根据表9中第4列所示的每一子时序数据的峰值平均值计算出峰值平均值比值的平均值,即对1.11、1.15、1.08、1.12、1.07、1.14取平均值,经计算可得该平均值为1.11。
步骤2037:资源池容量规划服务器100将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的每组子时序数据的峰值平均值比值的平均值相乘。
举例而言,可参见表10:
表10
针对型为s1.large的虚拟机,将表10第2列所示的预测数量分别与步骤2036中获得的平均值1.11相乘,可获得表10第3列所示的峰值预测数量。
在本步骤中,表10第2列所示的预测数量表示客户的需求,为了确保最终预测数量不会高于客户的需求,令资源池有余量用于应付突发需求,故将表10第2列所示的预测数量与系数1.11相乘,从而保证最终预测值大于客户的需求。
可选地,在一些实施例中,如果前次也对未来第1-6周进行了预测,为了确保两次预测相差不要过于悬殊,也可以通过前次预测数据来限制本次的峰值预测数量,具体可参见表11。
表11
表11的第2列示出前次峰值预测数量,第3列示出本次峰值预测数量,在本发明实施例中,针对同一周的峰值预测数量,可将本次峰值预测数量与[前次峰值预测数量*a,前次峰值预测数量*b]的区间范围进行比较,若本次峰值预测数量在区间范围内,则说明前后两次预测相差不大,可以本次峰值测量数量为准,若本次峰值预测数量不在区间范围内,则说明前后两次预测相差较多,在本次峰值预测数量小于前次峰值预测数量*a时,以前次峰值预测数量*a作为本次峰值预测数量,并且,在本次峰值预测数量大于前次峰值预测数量*b时,以前次峰值预测数量*b作为本次峰值预测数量。
其中,a、b为正数,a<b,a可例如为0.9,b可例如为1.1。
在本实施例中,假设a=0.9,b=1.1,前次峰值预测数量与本次峰值预测数量相差不大,因此本次峰值预测数量不变,仍保持为表11中所示。
通过以上方式可防止每次进行预测时与上次预测相差过大,假设资源池容量规划服务器100根据峰值预测数量确定未来6周的服务器订单,由于ARIMA预测模型的输出是反映增长趋势和周期的数据,因此针对同一周而言(例如为未来的第一周2016/10/17-2016/10/23),有可能出现本次预测到的服务器数量与上次预测到的服务器数量相差过大的情况,由于前次预测产生的服务器订单难以改动,因此通过前次峰值预测数量来限定本次峰值预测数量,可确保本次产生的服务器订单与上次产生的服务器订单相差不大。
步骤2038:资源池容量规划服务器100从云资源管理系统101获取为客户预留的各类型的虚拟机需求数量。
步骤2039:资源池容量规划服务器100将为客户预留的各类型的虚拟机需求数量分别叠加至未来的时间段内的对应类型的虚拟机数量中,以获取在未来的时间段内的各类型的虚拟机数量。
举例而言,资源池容量规划服务器100从云资源管理系统101获取s1.large的预留需求数量,并根据峰值预测数量和预留需求数量获取s1.large的最终预测数量。具体数据可参见表12:
表12
表12的第3列所示的预留需求数量为客户预定的类型为s1.large的虚拟机数量,在本发明实施例中,资源池容量规划服务器100将预留需求数量叠加至峰值预测数量中,通过加入预留的数量,来提高预测的准确性。
在表12的第4列中,最终预测数量为在未来6周中每一周对s1.large的需求量,最终预测数量是资源池容量规划服务器100将客户预留的各类型的虚拟机需求数量分别与对应的峰值预测数量相加而获得。
其中最终预测数量为未来时间类型为s1.large的虚拟机数量,在本实施例中该未来时间为未来6周的各周中类型为s1.large的虚拟机数量。
于此,资源池容量规划服务器100完成对s1.large数量的预测。
可选地,若资源池容量规划服务器100检测到云资源管理系统101没有为客户预留虚拟机需求数量,则无需执行步骤2038和步骤2039,直接将步骤2037的乘积作为未来时间类型为s1.large的虚拟机数量。
同理,资源池容量规划服务器100也可对表3-4所示的s1.medium的时序数据进行与上述步骤2031-2039类似的处理以获得s1.medium的最终预测数据。
由于s1.medium的最终预测数量也可根据表3-4以及与上述步骤2031-2039类似的方法获得,因此于此不作赘述,以下请参见表13,在表13中直接列出类型为s1.medium虚拟机的峰值预测数量、预留需求数量以及最终预测数量:
表13
表13第4列所示的最终预测数量为根据类型为根据与上述步骤2031-2039类似的方法对表3-4进行处理而获得的类型s1.medium的虚拟机在未来6周的虚拟机数量。
以下请继续参见图5,资源池容量规划方法还包括以下步骤:
步骤204:资源池容量规划服务器100从云资源管理系统101获取各类型的虚拟机的硬件规格。
举例而言,资源池容量规划服务器100从云资源管理系统101获取s1.large和s1.medium的硬件规格。
具体地,类型为s1.large的虚拟机的硬件规格为每个s1.large具有2个CPU核心数和4GB内存容量,类型为s1.medium的虚拟机的硬件规格为每个s1.medium具有1个CPU核心数和2GB内存容量。
步骤205:根据预测到的在未来的时间段内的各类型的虚拟机数量和各类型的虚拟机的硬件规格获取未来的时间段内各类型的虚拟机的对硬件资源的需求量。
举例而言,资源池容量规划服务器100根据类型为s1.large的虚拟机在未来6周的虚拟机数量和硬件规格获取其在未来6周的CPU需求量和内存需求量,根据类型为s1.medium的虚拟机在未来6周的虚拟机数量和硬件规格获取其在未来六周的CPU需求量和内存需求量,具体如表14-15所示:
表14
表15
在表14中,第3列所示的CPU需求量为资源池容量规划服务器100将s1.large的硬件规格中CPU核心数与s1.large的最终预测数量相乘来获得,第4列所示的内存需求量为资源池容量规划服务器100将s1.large的硬件规格中内存容量与s1.large的最终预测数量相乘来获得。
在表15中,第3列所示的CPU需求量为资源池容量规划服务器100将s1.medium的硬件规格中CPU核心数与s1.medium的最终预测数量相乘来获得,第4列所示的内存需求量为资源池容量规划服务器100将s1.medium的硬件规格中内存容量与s1.medium的最终预测数量相乘来获得。
步骤206:根据资源池当前的容量、各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在未来的时间段内的服务器需求量。
举例而言,资源池容量规划服务器100将两种类型的虚拟机的CPU需求量相加,得出在未来6周的CPU总需求量,将两种类型的虚拟机的内存需求量相加,得出在未来6周的内存总需求量。
在本实施例中,为了便于说明,假设计算虚拟化系统102仅发放了s1.medium和s1.large两种虚拟机类型,因此资源池容量规划服务器100将表14和表15中两种类型的虚拟机的CPU需求量相加,可得出CPU总需求量,将表14和表15中两种类型的虚拟机的内存需求量相加,可得出内存总需求量。具体如表16所示:
表16
在表16中,第2列、第2行的CPU总需求量“1081”表示资源池103在未来第1周需要1081个CPU核心数,第3列、第2行的内存总需求量“2162”表示资源池103在未来第1周需要2164G内存容量。
并且,资源池容量规划服务器100从云资源管理系统101获取当前资源池103的容量,在一个示例中,假设当前资源池103包括1200个CPU核心数,2400G内存容量。
资源池容量规划服务器100将当前资源池103容量减去资源需求量即可获得待扩容的硬件资源数量。
具体可参见表17:
表17
在表17中,待扩容的CPU核心数为CPU总需求量与当前资源池103中CPU核心数的差值,待扩容的内存扩容量为内存总需求量与当前资源池103中内存容量的差值。
举例而言,在表17的第2列、第2行中的“-118”表示在未来第一周,当前资源池103有118个CPU没有被使用,是处于空闲状态。表17的第3列、第2行中的“-238”表示在未来第一周,当前资源池103有238GB内存容量没有被使用,处于空闲状态。
在表17的第2列、第3行中的“26”表示在未来第2周相对于当前资源容量来说需要补充26个CPU。表17的第3列、第3行中的“342”表示在未来第一周,当前资源池103有342GB内存容量没有被使用,处于空闲状态。
在表17的第2列、第4行中的“171”表示在未来第3周相对于当前资源容量来说需要补充171个CPU。表17的第3列、第4行中的“648”表示在未来第一周,当前资源池103有648GB内存容量没有被使用,处于空闲状态。
因此,根据以上所述可知,根据当前资源池103容量、各类型的虚拟机对硬件资源的需求量可获得待扩容的硬件资源数量。
资源池容量规划服务器100根据待扩容的硬件资源数量以及需购置的服务器硬件的规格获取在未来的时间段内的服务器需求量,具体如表18所示:
表18
在本发明实施例中,假设服务器硬件的规格为每个服务器具有40个CPU核心数和64GB内存容量,且资源池容量规划服务器100预先存储需购置的服务器的硬件规格。
具体地,资源池容量规划服务器100在判断到待扩容的CPU核心数或内存容量均为负数或0时,可确定该周无需扩容;在判断到待扩容的CPU核心数或内存容量为正数时,将待扩容的CPU核心数除以40即可获得服务器需求量1,并将待扩容的内存容量除以64即可获得服务器需求量2,比较服务器需求量1和服务器需求量2的大小,将值最大者向上取整作为服务器需求量。
具体地,在表18中,针对第3行,26/40=0.65,52/60=0.87,0.87向上取整为1,因此未来第1周需要1台服务器;针对第4行,171/40=4.26,342/60=5.7,5.7向上取整为6,因此未来第2周需要6台服务器。
类似地,针对未来第3-6周亦然。
资源池容量规划服务器100输出表15所示的服务器需求量,系统管理员可根据服务器需求量订购对应数量的服务器并加入到资源池103中,如根据表15所示,在未来的第1周,无需增加服务器到资源池103中,在未来的第2周,需要1台服务器,故可增加1台服务器到资源池103中,在未来的第3周,需要6台服务器,由于在上一周已经增加1台服务器,因此可在未来的第3周增加5台服务器。
值得注意的是,在本实施例中,为了方便说明,示出仅具有一种服务器的硬件规格的例子进行说明,但在可选实施例中,资源池容量规划服务器100也可以预先存储多种服务器的硬件规格,并规定各种服务器所占比例,如假设有服务器A和服务器B两种硬件规格,资源池容量规划服务器100限定服务器A和服务器B所占比例各为50%,因此可将待扩容的CPU核心数的50%分给服务器A进行服务器数量计算,将待扩容的CPU核心数的50%分给服务器B进行服务器数量计算,针对待扩容的内存容量亦然。其中各种服务器所占比例预先设置在资源池容量规划服务器100中。
综上,本发明实施例提供一种资源池容量规划方法,根据时序数据预测未来特定时间段的虚拟机数量,再根据虚拟机数量获取未来特定时间段的服务器需求量,由于引入了可反映不同类型虚拟机数量的历史增长趋势的时序数据来获得未来时间段所需的虚拟机数量,故充分考虑了不同类型虚拟机的增长趋势,从而可提高对服务器需求量的预测准确度。
本发明实施例进一步提供一种资源池容量规划服务器,请参见图7,图7是根据本发明实施例的资源池容量规划服务器的装置结构示意图,如图7所示,资源池容量规划服务器100包括:
数据获取模块301,用于从云资源管理系统101获取运行数据,其中运行数据包括监控时间点,以及在监控时间点上资源池中运行的虚拟机的类型和数量;
数据分类模块302,用于根据虚拟机的类型对运行数据进行分类,并将分类后的运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,时序数据包括监控时间点以及在监控时间点上对应类型的虚拟机的数量;
预测模块303,用于根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
硬件规格获取模块30,用于从云资源管理系统101获取各类型的虚拟机的硬件规格;
硬件资源需求量获取模块305,用于根据预测到的在未来的时间段内的各类型的虚拟机数量和各类型的虚拟机的硬件规格获取未来的时间段内各类型的虚拟机的对硬件资源的需求量;
服务器需求量获取模块306,用于根据资源池当前的容量、各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在未来的时间段内的服务器需求量。
请参见图8,图8是根据本发明实施例的预测模块的结构示意图,如图8所示,预测模块303具体包括:
子时序数据划分单元401,用于根据监控时间点将每组时序数据分别划分为多组子时序数据;
平均值获取单元402,用于对每组子时序数据分别取平均值;
预测单元403,用于将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量。
其中,预测模块303还包括:
峰值计算单元404,用于计算每组子时序数据的峰值;
峰值平均值比值计算单元405,用于将每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
平均值计算单元406,用于计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
虚拟机数量计算单元407,用于将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量。
可选地,峰值计算单元404具体用于:将每组子时序数据中位于所在组内第99百分位的数据作为峰值。
可选地,虚拟机数量计算单元407还用于:
从云资源管理系统101获取为客户预留的各类型的虚拟机需求数量;
将为客户预留的各类型的虚拟机需求数量分别叠加至未来的时间段内的对应类型的虚拟机数量中,以获取在未来的时间段内的各类型的虚拟机数量。
可选地,硬件资源包括CPU的核心数和内存的容量中的一者或组合。
请参见图9,图9是根据本发明实施例的资源池容量规划服务器的另一装置结构示意图,如图9所示,资源池容量规划服务器100包括处理器501、存储器502以及总线系统503,处理器501和存储器502分别与总线系统503连接,处理器501执行存储器502中的指令以执行图5及图6所示的步骤,举例而言,处理器501执行存储器502中的指令以执行步骤:
从云资源管理系统101获取运行数据,其中运行数据包括监控时间点,以及在监控时间点上资源池中运行的虚拟机的类型和数量;
根据虚拟机的类型对运行数据进行分类,并将分类后的运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,时序数据包括监控时间点以及在监控时间点上对应类型的虚拟机的数量;
根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
从云资源管理系统101获取各类型的虚拟机的硬件规格;
根据预测到的在未来的时间段内的各类型的虚拟机数量和各类型的虚拟机的硬件规格获取未来的时间段内各类型的虚拟机的对硬件资源的需求量;
根据资源池当前的容量、各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在未来的时间段内的服务器需求量。
其中,处理器501执行存储器502中的指令以执行根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量的步骤具体包括:
根据监控时间点将每组时序数据分别划分为多组子时序数据;
对每组子时序数据分别取平均值;
将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量。
其中,处理器501执行存储器502中的指令以执行根据每组时序数据分别预测在未来的时间段内的各类型的虚拟机数量的步骤还包括:
计算每组子时序数据的峰值;
将每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量。
可选地,处理器501执行存储器502中的指令以执行计算每组子时序数据的峰值的步骤具体包括:
将每组子时序数据中位于所在组内第99百分位的数据作为峰值。
可选地,处理器501执行存储器502中的指令以执行将每一类型的虚拟机的预测数量分别与每一类型对应的时序数据的平均值的乘积作为在未来的时间段内的各类型的虚拟机数量的步骤还包括:
从云资源管理系统101获取为客户预留的各类型的虚拟机需求数量;
将为客户预留的各类型的虚拟机需求数量分别叠加至未来的时间段内的对应类型的虚拟机数量中,以获取在未来的时间段内的各类型的虚拟机数量。
可选地,硬件资源包括CPU的核心数和内存的容量中的一者或组合。
其中,图7至9所示的实施例为资源池容量规划服务器的具体实现方式,与图5及图6所示的方法实施例类似,由于引入了可反映不同类型虚拟机的历史增长趋势的时序数据来获得未来时间段所需的虚拟机数量,因此可提高对服务器需求量的预测准确度。
进一步地,在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
以上实施例仅揭露了本发明中较佳实施例,不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (12)
1.一种资源池容量规划的方法,其特征在于,所述方法包括:
从云资源管理系统获取运行数据,其中所述运行数据包括监控时间点以及在所述监控时间点上资源池中运行的虚拟机的类型和数量;
根据虚拟机的类型对所述运行数据进行分类,并将分类后的所述运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,所述时序数据包括监控时间点以及在所述监控时间点上对应类型的虚拟机的数量;
根据每组所述时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
从所述云资源管理系统获取各类型的虚拟机的硬件规格;
根据预测到的所述在未来的时间段内的各类型的虚拟机数量和所述各类型的虚拟机的硬件规格获取所述未来的时间段内各类型的虚拟机的对硬件资源的需求量;
根据所述资源池当前的容量、所述各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在所述未来的时间段内的服务器需求量;
所述根据每组所述时序数据分别预测在未来的时间段内的各类型的虚拟机数量具体包括:
根据所述监控时间点将每组时序数据分别划分为多组子时序数据;
对每组子时序数据分别取平均值;
将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量;
计算每组子时序数据的峰值;
将所述每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
将所述每一类型的虚拟机的预测数量分别与所述每一类型对应的时序数据的每组子时序数据的峰值平均值比值的平均值的乘积作为在所述未来的时间段内的各类型的虚拟机数量。
2.根据权利要求1所述的方法,其特征在于,所述计算每组子时序数据的峰值包括:
将每组子时序数据中位于所在组内第99百分位的数据作为所述峰值。
3.根据权利要求1所述的方法,其特征在于,所述将所述每一类型的虚拟机的预测数量分别与所述每一类型对应的时序数据的平均值的乘积作为在所述未来的时间段内的各类型的虚拟机数量还包括:
从所述云资源管理系统获取为客户预留的各类型的虚拟机需求数量;
将所述为客户预留的各类型的虚拟机需求数量分别叠加至所述未来的时间段内的对应类型的虚拟机数量中,以获取在所述未来的时间段内的各类型的虚拟机数量。
4.根据权利要求1所述的方法,其特征在于,所述硬件资源包括CPU的核心数和内存的容量中的一者或组合。
5.一种资源池容量规划服务器,其特征在于,包括:
数据获取模块,用于从云资源管理系统获取运行数据,其中所述运行数据包括监控时间点以及在所述监控时间点上资源池中运行的虚拟机的类型和数量;
数据分类模块,用于根据虚拟机的类型对所述运行数据进行分类,并将分类后的所述运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,所述时序数据包括监控时间点以及在所述监控时间点上对应类型的虚拟机的数量;
预测模块,用于根据每组所述时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
硬件规格获取模块,用于从所述云资源管理系统获取各类型的虚拟机的硬件规格;
硬件资源需求量获取模块,用于根据预测到的所述在未来的时间段内的各类型的虚拟机数量和所述各类型的虚拟机的硬件规格获取所述未来的时间段内各类型的虚拟机的对硬件资源的需求量;
服务器需求量获取模块,用于根据所述资源池当前的容量、所述各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在所述未来的时间段内的服务器需求量;
所述预测模块包括:
子时序数据划分单元,用于根据所述监控时间点将每组时序数据分别划分为多组子时序数据;
平均值获取单元,用于对每组子时序数据分别取平均值;
预测单元,用于将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量;
峰值计算单元,用于计算每组子时序数据的峰值;
峰值平均值比值计算单元,用于将所述每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
平均值计算单元,用于计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
虚拟机数量计算单元,用于将所述每一类型的虚拟机的预测数量分别与所述每一类型对应的时序数据的每组子时序数据的峰值平均值比值的平均值的乘积作为在所述未来的时间段内的各类型的虚拟机数量。
6.根据权利要求5所述的资源池容量规划服务器,其特征在于,所述峰值计算单元具体用于:
将每组子时序数据中位于所在组内第99百分位的数据作为所述峰值。
7.根据权利要求5所述的资源池容量规划服务器,其特征在于,所述虚拟机数量计算单元还用于:
从所述云资源管理系统获取为客户预留的各类型的虚拟机需求数量;
将所述为客户预留的各类型的虚拟机需求数量分别叠加至所述未来的时间段内的对应类型的虚拟机数量中,以获取在所述未来的时间段内的各类型的虚拟机数量。
8.根据权利要求5所述的资源池容量规划服务器,其特征在于,所述硬件资源包括CPU的核心数和内存的容量中的一者或组合。
9.一种资源池容量规划服务器,其特征在于,包括处理器、存储器以及总线系统,所述处理器和存储器分别与所述总线系统连接,所述处理器执行所述存储器中的指令以执行步骤:
从云资源管理系统获取运行数据,其中所述运行数据包括监控时间点以及在所述监控时间点上资源池中运行的虚拟机的类型和数量;
根据虚拟机的类型对所述运行数据进行分类,并将分类后的所述运行数据按监控时间点的时序进行排序,为每种虚拟机的类型生成一组时序数据,所述时序数据包括监控时间点以及在所述监控时间点上对应类型的虚拟机的数量;
根据每组所述时序数据分别预测在未来的时间段内的各类型的虚拟机数量;
从所述云资源管理系统获取各类型的虚拟机的硬件规格;
根据预测到的所述在未来的时间段内的各类型的虚拟机数量和所述各类型的虚拟机的硬件规格获取所述未来的时间段内各类型的虚拟机的对硬件资源的需求量;
根据所述资源池当前的容量、所述各类型的虚拟机对硬件资源的需求量以及服务器的硬件规格确定在所述未来的时间段内的服务器需求量;
所述处理器执行所述存储器中的指令以执行根据每组所述时序数据分别预测在未来的时间段内的各类型的虚拟机数量的步骤具体包括:
根据所述监控时间点将每组时序数据分别划分为多组子时序数据;
对每组子时序数据分别取平均值;
将每组子时序数据的平均值输入ARIMA模型以获得每一类型的虚拟机的预测数量;
计算每组子时序数据的峰值;
将所述每组子时序数据的峰值除以自身的平均值以获得每组子时序数据的峰值平均值比值;
计算每组时序数据中的子时序数据的峰值平均值比值的平均值;
将所述每一类型的虚拟机的预测数量分别与所述每一类型对应的时序数据的每组子时序数据的峰值平均值比值的平均值的乘积作为在所述未来的时间段内的各类型的虚拟机数量。
10.根据权利要求9所述的资源池容量规划服务器,其特征在于,所述处理器执行所述存储器中的指令以执行计算每组子时序数据的峰值的步骤具体包括:
将每组子时序数据中位于所在组内第99百分位的数据作为所述峰值。
11.根据权利要求9所述的资源池容量规划服务器,其特征在于,所述处理器执行所述存储器中的指令以执行将所述每一类型的虚拟机的预测数量分别与所述每一类型对应的时序数据的平均值的乘积作为在所述未来的时间段内的各类型的虚拟机数量的步骤还包括:
从所述云资源管理系统获取为客户预留的各类型的虚拟机需求数量;
将所述为客户预留的各类型的虚拟机需求数量分别叠加至所述未来的时间段内的对应类型的虚拟机数量中,以获取在所述未来的时间段内的各类型的虚拟机数量。
12.根据权利要求9所述的资源池容量规划服务器,其特征在于,所述硬件资源包括CPU的核心数和内存的容量中的一者或组合。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710087057.3A CN108459905B (zh) | 2017-02-17 | 2017-02-17 | 资源池容量规划方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710087057.3A CN108459905B (zh) | 2017-02-17 | 2017-02-17 | 资源池容量规划方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108459905A CN108459905A (zh) | 2018-08-28 |
CN108459905B true CN108459905B (zh) | 2022-01-14 |
Family
ID=63221492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710087057.3A Active CN108459905B (zh) | 2017-02-17 | 2017-02-17 | 资源池容量规划方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108459905B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109873718A (zh) * | 2019-01-23 | 2019-06-11 | 平安科技(深圳)有限公司 | 一种容器自适应伸缩方法、服务器及存储介质 |
CN109992358A (zh) * | 2019-04-10 | 2019-07-09 | 北京隆普智能科技有限公司 | 一种预加载虚拟机的方法及其系统 |
CN111767132A (zh) * | 2019-06-24 | 2020-10-13 | 北京京东尚科信息技术有限公司 | 分配资源的方法、装置、设备和计算机可读介质 |
CN110673955B (zh) * | 2019-09-20 | 2022-07-12 | 北京字节跳动网络技术有限公司 | 优化内存的方法、装置、系统、终端和存储介质 |
CN115766473B (zh) * | 2022-10-28 | 2024-04-12 | 南方电网数字平台科技(广东)有限公司 | 一种适用于云平台运营的资源容量规划的方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407925A (zh) * | 2014-12-10 | 2015-03-11 | 中国电信集团系统集成有限责任公司 | 一种动态的资源分配方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4071668B2 (ja) * | 2003-04-16 | 2008-04-02 | 富士通株式会社 | システムの使用資源を調整する装置および方法 |
CN102004831B (zh) * | 2010-11-17 | 2014-07-30 | 昆明理工大学 | 基于emd的预测多相混合效果的时间序列模型建立方法 |
CN103577268B (zh) * | 2012-08-07 | 2016-12-21 | 复旦大学 | 基于应用负载的自适应资源供应方法 |
CN103885831B (zh) * | 2012-12-19 | 2017-06-16 | 中国电信股份有限公司 | 虚拟机宿主机的选择方法与装置 |
WO2014192132A1 (ja) * | 2013-05-31 | 2014-12-04 | 株式会社日立製作所 | 負荷分散装置及び方法 |
CN105511953B (zh) * | 2014-09-22 | 2019-04-05 | 中国银联股份有限公司 | 云环境下的虚拟机负载评估系统、方法以及服务节点 |
CN105607952B (zh) * | 2015-12-18 | 2021-04-20 | 航天恒星科技有限公司 | 一种虚拟化资源的调度方法及装置 |
-
2017
- 2017-02-17 CN CN201710087057.3A patent/CN108459905B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104407925A (zh) * | 2014-12-10 | 2015-03-11 | 中国电信集团系统集成有限责任公司 | 一种动态的资源分配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108459905A (zh) | 2018-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108459905B (zh) | 资源池容量规划方法及服务器 | |
US9106589B2 (en) | Predicting long-term computing resource usage | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US9600343B2 (en) | System and method for analyzing computing system resources | |
Singh et al. | Dynamic price prediction for amazon spot instances | |
US20110154353A1 (en) | Demand-Driven Workload Scheduling Optimization on Shared Computing Resources | |
US9292336B1 (en) | Systems and methods providing optimization data | |
US20150317081A1 (en) | Adaptive system provisioning | |
CN108132839B (zh) | 一种资源调度方法及装置 | |
US11960255B2 (en) | Compute load shaping using virtual capacity and preferential location real time scheduling | |
CN110442449A (zh) | 一种资源调度方法和装置 | |
CN114500339A (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
US11803926B2 (en) | Workload distribution optimizer | |
CN114911617A (zh) | 一种资源配置方法、装置、设备和介质 | |
CN108536525B (zh) | 一种宿主机调度方法及装置 | |
CN109450672B (zh) | 一种识别带宽需求突发的方法和装置 | |
CN110362387B (zh) | 分布式任务的处理方法、装置、系统和存储介质 | |
CN110267717B (zh) | 在多租户环境中按不同单独租户自动生成自动缩放呼叫规则的方法及装置 | |
CN108429704B (zh) | 一种节点资源分配方法及装置 | |
CN114154962A (zh) | 批处理监控方法、装置及设备 | |
CN111858542B (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN113919903A (zh) | 资源信息的确定方法、装置、服务器及存储介质 | |
CN114598705B (zh) | 消息负载均衡方法、装置、设备和介质 | |
CN112884497A (zh) | 确定用户类型的方法、装置、电子设备和存储介质 | |
US20240202668A1 (en) | Execution of forecasting models generated based on planning calendars |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220223 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |