CN111381959A - 扩容方法及装置 - Google Patents
扩容方法及装置 Download PDFInfo
- Publication number
- CN111381959A CN111381959A CN201811643605.7A CN201811643605A CN111381959A CN 111381959 A CN111381959 A CN 111381959A CN 201811643605 A CN201811643605 A CN 201811643605A CN 111381959 A CN111381959 A CN 111381959A
- Authority
- CN
- China
- Prior art keywords
- data
- load curve
- curve
- expansion
- predicted 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
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/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
- 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]
-
- 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
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
技术领域
本发明涉及通信领域,具体而言,涉及一种扩容方法及装置。
背景技术
目前,云计算、虚拟化和容器技术被广泛使用,并产生了以虚拟化和容器为基础的集群技术,当负载过高时,扩容节点,为其对应的集群添加集群节点资源;当其负载过低时,迁走负荷,减少集群节点。如此,计算资源按需动态分配,提高了资源利用率,降低能耗。对于扩缩容的触发条件判断方面,不同厂商采用的准则各不相同,比如,Openshift的Docker容器以中央处理器(Central Processing Unit,简称为CPU)平均使用率为门限值,OSG使用业务每秒建立呼叫数量(Call Attempts Per Second,简称为CAPS)作为触发门限,超过门限上限就扩容虚机(容器),低于门限下限就缩容虚机(容器)。但是,无论使用哪种扩容触发机制,都面临着同样的一个问题:如果扩容门限过低,会产生不必要的虚机(容器),降低了计算资源利用率;如果扩容门限过高,则有可能引发呼叫损耗,对于负荷增长速度快,扩容过程时间长的业务,该问题尤其突出。
发明内容
本发明实施例提供了一种扩容方法及装置,以至少解决相关技术的扩容触发机制无法合理利用资源且容易造成呼叫损耗的问题。
根据本发明的一个实施例,提供了一种扩容方法,包括:根据历史负荷数据获取预测负荷曲线;根据所述预测负荷曲线获取扩容时间点;在所述扩容时间点启动扩容。
可选地,根据所述历史负荷数据获取所述预测负荷曲线包括:将所述历史负荷数据作为预定历史负荷数据输入预定模型,使用所述预定模型对所述历史负荷数据进行处理,获取预定预测负荷曲线作为所述预测负荷曲线,其中,所述预定模型为使用多组数据通过机器学习获取的,所述多组数据中的每组数据均包括:预定历史负荷数据,预定预测负荷曲线。
可选地,根据所述预测负荷曲线获取所述扩容时间点包括:根据所述预测负荷曲线包括的上容忍曲线和下容忍曲线获取平均预测负荷曲线;根据所述平均预测负荷曲线和预定门限值获取第一扩容时间点;根据所述第一扩容时间点和扩容所需时间,获取所述扩容时间点。
可选地,使用所述预定模型对所述历史负荷数据进行处理包括:循环删除所述历史负荷数据中的标准差最小的值,直至删除了N个值,其中,所述N为正整数;获取删除后的历史负荷数据中每个值的标准差;使用所述预定模型对所述标准差进行处理。
可选地,所述预定模型包括使用多组数据通过机器学习获取的预定系数。
可选地,所述预定系数通过如下方式获取:设置所述预定系数的初始值;使用所述初始值对预定历史负荷数据进行处理,获取预定预测负荷曲线;根据所述预定预测负荷曲线和所述预定预测负荷曲线对应的实际预测负荷曲线,获取误差值;当所述误差值没有落在预定范围内时,修正所述初始值,继续执行上述步骤,直至所述误差值落在所述预定范围内,将修正后的初始值作为所述预定系数。
可选地,根据所述历史负荷数据获取所述预测负荷曲线之前,还包括:更新所述历史负荷数据。
可选地,根据所述预测负荷曲线获取所述扩容时间点包括:根据所述预测负荷曲线包括的上容忍曲线和下容忍曲线获取平均预测负荷曲线;根据所述平均预测负荷曲线和预定门限值获取第一扩容时间点;根据所述第一扩容时间点和扩容所需时间,获取所述扩容时间点。
可选地,在所述扩容时间点启动扩容包括:在检测到所述预测负荷曲线对应的第二实际负荷曲线与所述预测负荷曲线符合预定关系时,在所述扩容时间点启动扩容;检测到第二实际负荷曲线与所述预测负荷曲线不符合预定关系;在实际负荷达到扩容门限值时启动扩容。
可选地,所述预定关系包括:所述实际负荷曲线处于所述上容忍曲线和所述下容忍曲线之间。
根据本发明的另一个实施例,还提供了一种弹性扩缩容单元ESU,包括:第一获取模块,用于根据历史负荷数据获取预测负荷曲线;第二获取模块,用于根据所述预测负荷曲线获取扩容时间点;启动模块,在所述扩容时间点启动扩容。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时执行上述任一项所述的方法。
根据本发明的又一个实施例,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任一项所述的方法。
通过本发明,根据历史负荷数据获取预测负荷曲线;根据预测负荷曲线获取扩容时间点;在扩容时间点启动扩容。由于根据历史负荷数据对负荷曲线进行了预测,并根据预测负荷曲线获取了对应的扩容时间点,在该扩容时间点启动扩容,使得触发扩容的时间不在仅仅只依靠固定的扩容门限,可以根据历史负荷数据确定对应的触发扩容的时间,避免了扩容门限过低或过高引起的问题。因此,可以解决相关技术的扩容触发机制无法合理利用资源且容易造成呼叫损耗的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的一种扩容方法的移动终端的硬件结构框图;
图2是根据本发明实施例的扩容方法的流程图;
图3是根据本发明实施例的获取扩容时间点的示意图;
图4是根据本发明实施例的组网装置示意图;
图5是根据本发明实施例的扩容方法优选流程图;
图6是根据本发明实施例的扩容装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种扩容方法的移动终端的硬件结构框图。如图1所示,移动终端10可以包括一个或多个(图中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储应用软件的软件程序以及模块,如本发明实施例中的扩容方法对应的程序指令/模块,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端的扩容方法,图2是根据本发明实施例的扩容方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,根据历史负荷数据获取预测负荷曲线;
步骤S204,根据预测负荷曲线获取扩容时间点;
步骤S206,在扩容时间点启动扩容。
通过上述步骤,由于根据历史负荷数据对负荷曲线进行了预测,并根据预测负荷曲线获取了对应的扩容时间点,在该扩容时间点启动扩容,使得触发扩容的时间不在仅仅只依靠固定的扩容门限,可以根据历史负荷数据确定对应的触发扩容的时间,避免了扩容门限过低或过高引起的问题。因此,可以解决相关技术的扩容触发机制无法合理利用资源且容易造成呼叫损耗的问题。
可选地,根据历史负荷数据获取预测负荷曲线包括:将历史负荷数据作为预定历史负荷数据输入预定模型,使用预定模型对历史负荷数据进行处理,获取预定预测负荷曲线作为预测负荷曲线,其中,预定模型为使用多组数据通过机器学习获取的,多组数据中的每组数据均包括:预定历史负荷数据,预定预测负荷曲线。通过上述步骤,可以通过机器学习多次可以获取到相对而言最合适的预测负荷曲线,以便可以用于对实际负荷进行处理。
例如,上述实施例可以基于统计模型和均值标准差分析技术,循环剔除样本空间(包含历史负荷数据)中偏差相对较大的数据。每次剔除一个点,剔除点满足其剩余点的标准差最小。各元点数据的标准差乘以系数K就组成了容忍度包裹曲线(相当于上述预测负荷曲线),系数K经仿真器训练获得。为了获取扩容时间点Tai,获取容忍度包裹曲线的上下容忍线的平均线作为预测负荷线,预测负荷线与设定的门限值的交点所在的时刻即为最初判决的触发扩容时间T1,假设扩容过程需要花费时间△T,那么经计算,最终判决的触发的扩容时间点Tai=T1-△T。只有实际负荷曲线处在上下容忍线之间才能应用Tai。
可选地,使用预定模型对历史负荷数据进行处理包括:循环删除历史负荷数据中的标准差最小的值,直至删除了N个值,其中,N为正整数;获取删除后的历史负荷数据中每个值的标准差;使用预定模型对标准差进行处理。
可选地,预定模型包括使用多组数据通过机器学习获取的预定系数。
可选地,预定系数通过如下方式获取:设置预定系数的初始值;使用初始值对预定历史负荷数据进行处理,获取预定预测负荷曲线;根据预定预测负荷曲线和预定预测负荷曲线对应的实际预测负荷曲线,获取误差值;当误差值没有落在预定范围内时,修正初始值,继续执行上述步骤,直至误差值落在预定范围内,将修正后的初始值作为所述预定系数。
可选地,根据历史负荷数据获取预测负荷曲线之前,还包括:更新历史负荷数据。例如,在需要补充新的负荷数据到历史负荷数据集合中时,对a学习过程可以如下,将所述获取的最新负荷数据乘以a,放入预定的历史负荷数据集合,根据加入最新负荷数据的历史数据集合对K进行上述学习过程,在获取的误差值不再预定范围内时,根据误差值同时修正a和K,直至获取的误差值落在预定范围内,将最终修正的K、a作为新的K、a。
可选地,根据预测负荷曲线获取扩容时间点包括:根据预测负荷曲线包括的上容忍曲线和下容忍曲线获取平均预测负荷曲线;根据平均预测负荷曲线和预定门限值获取第一扩容时间点;根据第一扩容时间点和扩容所需时间,获取扩容时间点。
可选地,在所述扩容时间点启动扩容包括:在检测到所述预测负荷曲线对应的第二实际负荷曲线与所述预测负荷曲线符合预定关系时,在所述扩容时间点启动扩容;检测到第二实际负荷曲线与预测负荷曲线不符合预定关系;在实际负荷达到扩容门限值时启动扩容。
可选地,预定关系包括:实际负荷曲线处于上容忍曲线和下容忍曲线之间。
上述实施例的主要思想是:利用业务系统日常运行和运维产生的大量负荷数据,经机器学习后,预测次日负荷曲线(容忍包裹线,即预测负荷曲线),并进一步预测出扩容时间Tai,如果实际负荷曲线与预测负荷曲线走势基本一致,就在Tai时刻启动扩容,否则以实际负荷到达扩容门限值上限时刻Trel触发扩容。由于Tai与Trel相比,包含了一个时间提前量,所以与传统弹性扩容方法相比,基于机器学习的扩容方法,在确保充分利用计算资源的前提下,能够达到从容扩容虚机(容器),且不会出现呼损的目的。
需要说明的是,上述预测过程可以选择动态基线算法,为了方便理解,下面对该算法应用到进行系统的介绍。
电信业务在日常运行中,会产生大量的与负荷相关的数据,比如呼叫CAPS、CPU使用率等,如果以天为时间单位观察,这些数据随时间变化的规律明显,具有比较好的可预测性。机器学习是计算机科学和人工智能中非常重要的一个研究领域,它通过算法从大量数据中自动分析获得规律,并利用规律对未知数据进行预测。动态基线算法是一种预测效果良好的机器学习算法。实现技术上,主要包括(一)基线选取。基线选取又包含(1)样本空间选择。样本空间也就是训练数据集,样本空间越大,利用合理计算方式得到的基线失真度越低,但是在样本空间达到一定规模时,继续增大样本空间所带来的准确度收益并不高,而且会对数据存储、运算等都加大难度。因此需要结合现有数据的存储运算能力合理的选择样本空间大小。(2)数据预处理。在得到规模合适的样本数据后,需要对数据进行预处理,排除异常数据对初始基线计算的影响,一般通过统计规律来过滤数据。常用方式有:直接剔除最大最小值;按照一定比率选取分布最为集中的数据作为正常数据。(3)基线计算,在初始化基线的基础上,通过仿真手段不断训练参数,使实际数据与预测数据的误差最小,使用训练后的参数计算出基线。(4)容忍度计算,使用双侧包裹线,上容忍度为上容忍线与基线的差值,下容忍度为基线与下容忍线的差值。容忍度的取值通过分析样本数据的标准偏差得到。常用方式为:同概率计算基线方法一样直接用合理数据的最大偏差作为容忍度;取合理数据平均标准偏差的k倍作为容忍度(k值可通过优化训练得到)。(5)计算扩容时间点Tai。基线计算生成的次日24小时负荷曲线与扩容门限线的交点的横轴值就是预测的扩容时间点T1,假设扩容过程需要花费时间△T,那么经计算,触发的扩容时间点Tai=T1-△T,只有实际负荷曲线处在上下容忍线之间才能应用Tai。(二)基线更新。当新的负荷数据采集完成后,一方面根据训练的基线判断其合理性,另一方面也需要加入判定为合理的数据重新训练基线。
为了将上述算法的预测结果应用于虚机(容器)动态扩缩容,以达到智能化弹性伸缩目的,实现上还涉及一些装置,主要包括:
(1)业务负荷处理节点(也可以是业务执行点,Service Execution Point,简称为SEP)。以秒为单位产生CPU使用率等设备硬件性能数据和业务性能数据呼叫CAPS发给操作维护模块(Operation Maintenance Module,简称为OMM)上运行的代理Agent入性能数据库,CPU使用率和CAPS经函数运算后,这些负荷数据将用于机器学习。
(2)判决程序。基于统计模型和均值标准差分析技术,循环剔除样本空间(包含历史负荷数据)中偏差相对较大的数据。每次剔除一个点,剔除点满足其剩余点的标准差最小。各元点数据的均值组成了初始化基线,各元点数据的标准差乘以系数K就组成了容忍度包裹曲线(相当于上述预测负荷曲线),系数K经仿真器训练获得。如图3所示,为了获取扩容时间点Tai,获取容忍度包裹曲线的上下容忍线的平均线作为预测负荷线,预测负荷线与设定的扩容门限的交点所在的时刻即为最初判决的触发扩容时间T1,假设扩容过程需要花费时间△T,那么经计算,最终判决的触发的扩容时间点Tai=T1-△T。只有实际负荷曲线处在上下容忍线之间才能应用Tai。
(3)仿真器。动态基线算法中的系数K和和更新权值a非常重要,仿真器的目的就是通过MATLAB模拟算法仿真获得这两个参数。主要是通过历史数据进行训练,不断小幅地手工调整系数K和更新权值a,然后用新的系数K和更新权值a生成新的动态的基线。
例如,对于K的学习过程可以如下,即,选取预定的历史负荷数据集合,设置K的初始值为1,将所述预定历史负荷数据的标准差都乘以系数1,获取预定预测负荷曲线;比较所述预定预测负荷曲线和所述预定预测负荷曲线对应的实际预测负荷曲线,获取误差值;当该误差值没有落在预定范围内时,根据误差值修正K值,继续执行上述步骤,获取新的误差值,直至获取的误差值落在预定范围内,将最终修正的K作为新的K。
例如,在需要补充新的负荷数据到历史负荷数据集合中时,对a学习过程可以如下,将所述获取的最新负荷数据乘以a,放入预定的历史负荷数据集合,根据加入最新负荷数据的历史数据集合对K进行上述学习过程,在获取的误差值不再预定范围内时,根据误差值同时修正a和K,直至获取的误差值落在预定范围内,将最终修正的K、a作为新的K、a。(4)扩容调度单元(也可以为弹性扩缩容单元,Elastic Scale Unit,简称为ESU)。将实时的实际呼叫负荷数据与预测负荷做对比,只要实际负荷曲线与预测负荷曲线走势基本一致,也就是某个时间点,实际负荷曲线处在上下容忍线之间,则ESU就在判决程序输出的最终判决时间Tai这个时刻开始扩容;否则按照实际负荷达到设定的扩容门限值为触发条件事实扩容。ESU上还运行一个定时任务和训练程序,在当天数据全部采集完以后,启动定时任务运行判决程序更新基线,以保证判决的准确性。
(5)OMM。设备上运行有代理Agent,对SEP上报的性能数据做归并整理并写入数据库。感知新扩容上线设备,通知Sipproxy分发负荷给新上线设备。
(6)数据库。存放各个设备的CPU使用率等设备硬件性能数据和业务性能数据呼叫CAPS,存放经过函数运算获得的负荷数据和各个SEP负荷数据的平均值。
(7)Sipproxy。弹性扩容成功后,接收OMM给新扩容设备分发负荷的请求,分发负荷给新上线设备。
需要说明的是,基于动态基线机器学习算法过程可以采用如下方式:
第一步、基线训练
基线分为休息日和工作日,休息日需要配置到config.ini下的restDate。基线计算选用概率方法,取数据的80%为有效数据,即剔除20%偏差相对较大的数据。剔除方法为:循环[20%*周期内某元点的数据总数]次,每次剔除一个点,剔除点满足其剩余点的标准差最小(即:剩余点分布更为集中)。各元点数据的均值组成了初始化基线,各元点数据的标准差乘以系数K组成了初始化容忍度包裹曲线。
第二步、参数训练
系数K和更新权值a通过MATLAB模拟算法仿真得出(比如K取4左右,a取0.2左右),实际数据与基线比值的变化比率以及数据波动变化率的阈值主要依据往期数据进行训练。比如,设定个起始参数运行程序,跑出所有下个时间周期预测数据,然后计算与真实数据的误差,参数不断增加(每次加0.1等),又会有一个误差,仿真过程会一直持续,直到误差落在一个规定区间范围,在所有误差中取最小时的参数为训练结果。系数K和更新权值a的训练,分别使用休息日和工作日两种场景数据分别训练获得。
第三步、基线更新
基线的更新是为了修正数据的微小变化差异,当采集的数据每天变化不大,但变化积累后又会影响到异常检测判决时,基线的实时更新尤为必要。
基线的更新目的是为了调整日基线变化规律以保证异常检测的准确性,更新方式为非异常数据通过系数a加权合并入基线。因此确定基线的幅度值对基线更新的准确性影响很大。
将基线的更新放在当天数据全部采集完以后,通过当天正常数据的均值与对应时刻基线的均值比来进行比例调整,然后执行基线更新,没有数据的时刻,基线同比例缩放,以保证基线的平滑程度。
为了方便理解上述实施例,下面以基于SIP集群的动态扩容过程为例进行说明,过程如下:
第一步:SEP将CPU和业务CAPS等性能数据,以秒为单位上报给OMM,并由OMM写入数据库。
第二步:扩容调度单元ESU将实时的实际呼叫负荷数据与预测负荷做对比,只要实际负荷曲线与预测的负荷曲线走势基本一致,也就是某个时间点,实际实际负荷曲线处在上下容忍线之间,则ESU就在判决程序输出的最终判决时间Tai这个时刻开始扩容;否则按照实际负荷达到设定的扩容门限值为触发条件事实扩容。
第三步、ESU与虚机管理平台交互,申请创建虚机,虚机管理平台返回扩容结果响应给ESU。虚机启动运行的时候,运行一个叫做init的初始化shell修改SEP的参数,然后启动SEP。
第四步、SEP首次启动时,发送设备上线HTTP Rest通知给OMU(Operation andMaintenance Unit),OMU用结构化查询语言(Structured Query Language,简称为SQL)的方式,把该SEP设备的上线事件写入到数据库,OMM以定时器方式扫描数据库,于是检测到集群中有新设备上线,读取该新设备的配置规格,根据权重矩阵重新生成集群分发策略。
第五步、OMM将新的集群分发策略用文件+MML指令的方式同步给Sipproxy。Sipproxy更新集群分发策略后,返回同步结果给OMM。
第六步、Sipproxy分发负荷给新上线的虚机(容器)。
下面结合附图对技术方案的实施作进一步的详细描述。
图4是根据本发明实施例的组网装置示意图,组成部分为:Sippproxy(一个或多个)、OMM(一个)、OMU(一个)、SEP(多个)和数据库(一个,与OMM合设在一台设备上)、参数训练仿真器(一个)、扩容调度单元ESU(一个,上有判决程序和基线定时更新任务)。Sippproxy通过用户数据协议(User DatagramProtocol,简称为UDP)与SEP连接,传输标准的SIP消息;SEP与OMU之间以及OMM与Sipproxy之间都通过超文本传输协议(HyperText Transferprotocol,简称为HTTP)(该协议基于传输控制协议TCP通信协议)连接;OMU、OMM、ESU与数据库都通过数据库连接(Java Database Connectivity,简称为JDBC);JDBC是一种业界广泛使用的基于TCP通信协议的数据库连接标准;OMM与SEP之间通过Java管理扩展(JavaManagement Extensions,简称为JMX)连接,JMX是业界使用较多的一种基于TCP的消息传输协议。
图5是根据本发明实施例的扩容方法优选流程图,如图5所示,主要步骤如下:
1)收集CPU和业务CAPS数据。SEP采集数据,上报给OMM写入数据库。
2)函数运算,输出负荷数据作为机器学习数据的样本空间。样本空间为近3个月负荷数据。
3)将抽样后的数据,分类为训练数据集和测试数据集。
4)用MatLab训练系数K和参数a,系数K以1为初值,参数a以0为初值,训练数据集带上系数K和参数a,使用动态基线算法计算,结果与测试数据集比较,如果误差大,就小幅加大系数K和参数a,再计算和对比,如此反复训练系数K和参数a,取误差最小时的系数K和参数a。
5)训练基线,每天定时运行训练程序,一般等当天的性能数据采集完成后,在次日每天的00:15开始,输出预测基线(容忍包裹线)和扩容时间Tai。
6)比较实际数据与预测基线数据,如果在容忍包裹线内,就在预测时间Tai开始扩容虚机(容器)。
7)虚机(容器)经OSE/OS虚机管理平台调度后启动,在虚机(容器)上部署业务系统,发送设备上线事件给OMU,OMU将此事件写入到数据库中,OMM检测到设备上线后,发通知给Sipproxy,申请重新计算虚机(容器)集群的权重,分发负荷给新建虚机(容器)。
8)Sipproxy分发负荷给新建虚机(容器)上的业务系统。
9)虚机扩容完成。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种扩容装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本发明实施例的扩容装置的结构框图,如图6所示,该装置包括:
第一获取模块62,用于根据历史负荷数据获取预测负荷曲线;
第二获取模块64,连接至上述第一获取模块62,用于根据预测负荷曲线获取扩容时间点;
启动模块66,连接至上述第二获取模块64,用于在扩容时间点启动扩容。
可选地,第一获取模块62,还用于将历史负荷数据作为预定历史负荷数据输入预定模型,使用预定模型对历史负荷数据进行处理,获取预定预测负荷曲线作为预测负荷曲线,其中,预定模型为使用多组数据通过机器学习训练出的,多组数据中的每组数据均包括:预定历史负荷数据,预定预测负荷曲线。
可选地,第二获取模块64,还用于根据预测负荷曲线包括的上容忍曲线和下容忍曲线获取平均预测负荷曲线;根据平均预测负荷曲线和预定门限值获取第一扩容时间点;以及根据第一扩容时间点和扩容所需时间,获取扩容时间点。
可选地,启动模块66,还用于在检测到所述预测负荷曲线对应的第二实际负荷曲线与所述预测负荷曲线符合预定关系时,在所述扩容时间点启动扩容;检测到第二实际负荷曲线与预测负荷曲线不符合预定关系;以及在实际负荷达到扩容门限值时启动扩容。
可选地,上述预定关系包括:实际负荷曲线处于上容忍曲线和下容忍曲线之间。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项所述的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,根据历史负荷数据获取预测负荷曲线;
S2,根据预测负荷曲线获取扩容时间点;
S3,在扩容时间点启动扩容。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据历史负荷数据获取预测负荷曲线包括:
S4,将历史负荷数据作为预定历史负荷数据输入预定模型,使用预定模型对历史负荷数据进行处理,获取预定预测负荷曲线作为预测负荷曲线,其中,预定模型为使用多组数据通过机器学习获取的,多组数据中的每组数据均包括:预定历史负荷数据,预定预测负荷曲线。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:根据预测负荷曲线获取扩容时间点包括:
S5,根据预测负荷曲线包括的上容忍曲线和下容忍曲线获取平均预测负荷曲线;
S6,根据平均预测负荷曲线和预定门限值获取第一扩容时间点;
S7,根据第一扩容时间点和扩容所需时间,获取扩容时间点。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S8,在检测到所述预测负荷曲线对应的第二实际负荷曲线与所述预测负荷曲线符合预定关系时,在所述扩容时间点启动扩容;
S10,检测到实际负荷曲线与预测负荷曲线不符合预定关系,在实际负荷达到扩容门限值时启动扩容。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S8,预定关系包括:实际负荷曲线处于上容忍曲线和下容忍曲线之间。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种处理器,该处理器用于运行程序,其中,该程序运行时执行上述任一项方法中的步骤。
可选地,在本实施例中,上述程序用于执行以下步骤:
S1,根据历史负荷数据获取预测负荷曲线;
S2,根据预测负荷曲线获取扩容时间点;
S3,在扩容时间点启动扩容。
可选地,在本实施例中,上述程序用于执行以下步骤:根据历史负荷数据获取预测负荷曲线包括:
S4,将历史负荷数据作为预定历史负荷数据输入预定模型,使用预定模型对历史负荷数据进行处理,获取预定预测负荷曲线作为预测负荷曲线,其中,预定模型为使用多组数据通过机器学习获取的,多组数据中的每组数据均包括:预定历史负荷数据,预定预测负荷曲线。
可选地,在本实施例中,上述程序用于执行以下步骤:根据预测负荷曲线获取扩容时间点包括:
S5,根据预测负荷曲线包括的上容忍曲线和下容忍曲线获取平均预测负荷曲线;
S6,根据平均预测负荷曲线和预定门限值获取第一扩容时间点;
S7,根据第一扩容时间点和扩容所需时间,获取扩容时间点。
可选地,在本实施例中,上述程序用于执行以下步骤:
S8,在检测到所述预测负荷曲线对应的第二实际负荷曲线与所述预测负荷曲线符合预定关系时,在所述扩容时间点启动扩容;
S10,检测到实际负荷曲线与预测负荷曲线不符合预定关系,在实际负荷达到扩容门限值时启动扩容。
可选地,在本实施例中,上述程序用于执行以下步骤:
S8,预定关系包括:实际负荷曲线处于上容忍曲线和下容忍曲线之间。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种扩容方法,其特征在于,包括:
根据历史负荷数据获取预测负荷曲线;
根据所述预测负荷曲线获取扩容时间点;
在所述扩容时间点启动扩容。
2.根据权利要求1所述的方法,其特征在于,根据所述历史负荷数据获取所述预测负荷曲线包括:
将所述历史负荷数据作为预定历史负荷数据输入预定模型,使用所述预定模型对所述历史负荷数据进行处理,获取预定预测负荷曲线作为所述预测负荷曲线,
其中,所述预定模型为使用多组数据通过机器学习获取的,所述多组数据中的每组数据均包括:所述预定历史负荷数据,所述预定预测负荷曲线。
3.根据权利要求2所述的方法,其特征在于,使用所述预定模型对所述历史负荷数据进行处理,包括:
循环删除所述历史负荷数据中的标准差最小的值,直至删除了N个值,其中,所述N为正整数;
获取删除后的所述历史负荷数据中每个值的标准差;
使用所述预定模型对所述标准差进行处理。
4.根据权利要求2或3所述的方法,其特征在于,所述预定模型包括使用多组数据通过机器学习获取的预定系数。
5.根据权利要求4所述的方法,其特征在于,所述预定系数通过如下的方式获取:
设置所述预定系数的初始值;
使用所述初始值对所述预定历史负荷数据进行处理,获取所述预定预测负荷曲线;
根据所述预定预测负荷曲线和所述预定预测负荷曲线对应的实际预测负荷曲线,获取误差值;当所述误差值没有落在预定的误差范围内时,对所述初始值进行修正,并再次获取所述误差值,直至所述误差值落入在所述预定的无法范围内;
将修正后的所述初始值作为所述预定系数。
6.根据权利要求1或2所述的方法,其特征在于,根据所述历史负荷数据获取所述预测负荷曲线之前,所述方法还包括:
对所述历史符合数据进行更新。
7.根据权利要求1或2所述的方法,其特征在于,根据所述预测负荷曲线获取所述扩容时间点包括:
根据所述预测负荷曲线包括的上容忍曲线和下容忍曲线获取平均预测负荷曲线;
根据所述平均预测负荷曲线和预定门限值获取第一扩容时间点;
根据所述第一扩容时间点和扩容所需时间,获取所述扩容时间点。
8.根据权利要求7所述的方法,其特征在于,在所述扩容时间点启动扩容包括:
在检测到所述预测负荷曲线对应的第二实际负荷曲线与所述预测负荷曲线符合预定关系时,在所述扩容时间点启动扩容;
在检测到所述第二实际负荷曲线与所述预测负荷曲线不符合预定关系时,在实际负荷达到扩容门限值时启动扩容。
9.根据权利要求8所述的方法,其特征在于,所述预定关系包括:所述实际负荷曲线处于所述上容忍曲线和所述下容忍曲线之间。
10.一种弹性扩缩容单元ESU,其特征在于,包括:
第一获取模块,用于根据历史负荷数据获取预测负荷曲线;
第二获取模块,用于根据所述预测负荷曲线获取扩容时间点;
启动模块,用于在所述扩容时间点启动扩容。
11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行权利要求1至9中任一项所述的方法。
12.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至9中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643605.7A CN111381959A (zh) | 2018-12-29 | 2018-12-29 | 扩容方法及装置 |
PCT/CN2019/128869 WO2020135633A1 (zh) | 2018-12-29 | 2019-12-26 | 扩容方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811643605.7A CN111381959A (zh) | 2018-12-29 | 2018-12-29 | 扩容方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111381959A true CN111381959A (zh) | 2020-07-07 |
Family
ID=71126907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811643605.7A Pending CN111381959A (zh) | 2018-12-29 | 2018-12-29 | 扩容方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111381959A (zh) |
WO (1) | WO2020135633A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667468A (zh) * | 2020-12-24 | 2021-04-16 | 上海联蔚盘云科技有限公司 | 多云环境下云资源自动化运维的方法与设备 |
CN115412449A (zh) * | 2022-08-31 | 2022-11-29 | 西安交通大学 | 一种基于负载预测的容器动态伸缩方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060197502A1 (en) * | 2005-03-02 | 2006-09-07 | International Business Machines Corporation | Method and system for rejuvenation of an energy storage unit |
CN102801792B (zh) * | 2012-07-26 | 2015-04-22 | 华南理工大学 | 基于统计预测的云cdn资源自动部署方法 |
CN107026877B (zh) * | 2016-01-29 | 2020-07-07 | 华为技术有限公司 | 云平台中管理资源的方法和装置 |
CN108234231B (zh) * | 2016-12-22 | 2021-09-10 | 阿里巴巴集团控股有限公司 | 云计算环境中弹性伸缩配置的方法、装置以及电子设备 |
CN108845881A (zh) * | 2018-05-30 | 2018-11-20 | 有米科技股份有限公司 | 服务器容量动态调整的方法及装置 |
-
2018
- 2018-12-29 CN CN201811643605.7A patent/CN111381959A/zh active Pending
-
2019
- 2019-12-26 WO PCT/CN2019/128869 patent/WO2020135633A1/zh active Application Filing
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667468A (zh) * | 2020-12-24 | 2021-04-16 | 上海联蔚盘云科技有限公司 | 多云环境下云资源自动化运维的方法与设备 |
CN115412449A (zh) * | 2022-08-31 | 2022-11-29 | 西安交通大学 | 一种基于负载预测的容器动态伸缩方法及系统 |
CN115412449B (zh) * | 2022-08-31 | 2024-02-27 | 西安交通大学 | 一种基于负载预测的容器动态伸缩方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2020135633A1 (zh) | 2020-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112162865B (zh) | 服务器的调度方法、装置和服务器 | |
CN102004670B (zh) | 一种基于MapReduce的自适应作业调度方法 | |
CN110474852B (zh) | 一种带宽调度方法及装置 | |
CN103761309A (zh) | 一种运营数据处理方法及系统 | |
CN111966289B (zh) | 基于Kafka集群的分区优化方法和系统 | |
US20240264647A1 (en) | Computing power distribution method and apparatus, and computing power server | |
CN112187512B (zh) | 一种基于流量监控的端口自动扩容方法、装置和设备 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN113543160B (zh) | 5g切片资源配置方法、装置、计算设备及计算机存储介质 | |
CN111381959A (zh) | 扩容方法及装置 | |
CN110445824B (zh) | NB-IoT数据上报方法、装置、系统和计算机可读存储介质 | |
CN114706675A (zh) | 基于云边协同系统的任务部署方法及装置 | |
CN111752706A (zh) | 资源配置方法、装置及存储介质 | |
CN115269147A (zh) | 一种批量任务处理方法、装置、设备及存储介质 | |
CN113672335A (zh) | 容器调度方法、装置、电子装置和存储介质 | |
CN113885794B (zh) | 基于多云存储的数据访问方法、装置、计算机设备及介质 | |
CN111324644B (zh) | 大型微服务架构下的数据库连接风暴的监控方法及装置 | |
CN113918341A (zh) | 设备调度方法、装置、设备及存储介质 | |
CN106961358A (zh) | 基于日志的Web应用系统集群运行状态监测方法及其系统 | |
CN105357026A (zh) | 一种资源信息收集方法和计算节点 | |
CN112860763B (zh) | 实时流数据处理方法、装置、计算机设备和存储介质 | |
CN114936089A (zh) | 资源调度方法、系统、设备及存储介质 | |
CN113448747A (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN102238022A (zh) | 一种网络管理系统及数据采集方法 | |
CN113094175A (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 |