CN107608781B - 一种负载预测方法、装置以及网元 - Google Patents
一种负载预测方法、装置以及网元 Download PDFInfo
- Publication number
- CN107608781B CN107608781B CN201610543147.4A CN201610543147A CN107608781B CN 107608781 B CN107608781 B CN 107608781B CN 201610543147 A CN201610543147 A CN 201610543147A CN 107608781 B CN107608781 B CN 107608781B
- Authority
- CN
- China
- Prior art keywords
- application
- load
- load data
- similar
- historical
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000015654 memory Effects 0.000 claims description 27
- 238000012545 processing Methods 0.000 claims description 27
- 238000012886 linear function Methods 0.000 claims description 15
- 230000008569 process Effects 0.000 abstract description 5
- 230000000875 corresponding effect Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 14
- 238000013461 design Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008602 contraction Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013178 mathematical model Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种负载预测方法、装置以及网元,该方法包括:获取第一应用的应用信息及所需历史负载数据长度,其中,所述应用信息包括应用标识、负载类型;根据所述应用信息获取所述第一应用的与所述负载类型对应的第一历史负载数据;若所述第一历史负载数据的长度小于所述所需历史负载数据长度,则获取与所述第一应用相似的第二应用的与所述负载类型对应的第二历史负载数据;根据所述第二历史负载数据对所述第一应用的所述负载类型进行负载预测。通过该方法,可以解决新应用上线初期无法进行负载预测的问题。
Description
技术领域
本发明涉及云算机技术领域,尤其涉及一种负载预测方法、装置以及网元。
背景技术
云计算可以被理解为一种通过互联网向用户提供硬件和软件服务的模式,其中软件和硬件资源可以按需进行动态扩展和配置。
在云计算中,弹性伸缩是指根据用户的业务需求和策略,经济地自动调整其弹性计算资源的管理服务,能够在业务增长时自动增加计算资源(如虚拟机或容器),并在业务下降时自动减少计算资源。现有技术中的一种弹性伸缩技术为基于预测的弹性伸缩,可以理解为基于对未来负载的预测值进行弹性伸缩。例如,预测2分钟后用户访问量将增加一倍,那么在当前时刻立即开始扩容操作,并在2分钟内完成扩容,可以保证应用性能满足需求。基于预测的弹性伸缩的关键在于如何准确地进行负载预测。
现有技术中实现负载预测的基本思路为:手机待预测负载指标的历史运行数据作为训练集,然后选择特定的数学模型建立预测模型,预测模型将近期负载数据作为输入,其输出为将来时刻的负载预测数据。该种负载预测的方式依赖于先前的实际运行数据,即历史数据。通常为了能够建立较为准确的预测模型,需要一定量的历史数据,例如几分钟、几个小时的实际运行数据。然而对于新部署的应用,其历史数据较少甚至为零,不足以支撑预测模型建模,所以在部署的新应用刚开始运行的开始时段,无法对应用的将来时刻的运行数据进行预测。
发明内容
本发明提供一种负载预测方法、装置以及网元,用以解决现有技术中无法在新部署的应用的上线初期进行负载预测的技术问题。
第一方面,本发明实施例提供一种负载预测方法。该方法从负载预测模块的角度进行描述。在该方法中,负载预测模块获取第一应用的应用信息及所需历史负载数据长度;其中,所述应用信息包括应用标识、负载类型。负载预测模块根据所述应用信息获取所述第一应用的与所述负载类型对应的第一历史负载数据。然后,若所述第一历史负载数据的长度小于所述所需历史负载数据长度,负载预测模块则获取与所述第一应用相似的第二应用的与所述负载类型对应的第二历史负载数据。之后,负载预测模块根据第二历史负载数据对所述第一应用的所述负载类型进行负载预测。因为第二应用与第一应用相似,所以可以根据第二应用的历史负载数据对第一应用进行负载预测,所以可以解决新应用在上线初期因为历史负载数据不足而无法进行负载预测的技术问题。
在一个可能的设计中,所述根据所述第二历史负载数据对所述第一应用的所述负载类型进行负载预测,包括:根据所述第一历史负载数据和所述第二历史负载数据对所述第一应用的所述负载类型进行负载预测。因为同时采用了第一历史负载数据和第二历史负载数据,所以负载预测的结果也会更加准确。
在一个可能的设计中,所述根据所述第一历史负载数据和所述第二历史负载数据对所述第一应用的所述负载类型进行负载预测,包括:
分别计算所述第二历史负载数据中的每个连续子序列与所述第一历史负载数据之间的皮尔森相关系数,其中,所述每个连续子序列的长度为所述第一历史负载数据的长度;确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列;N为正整数;根据所述N个相似子序列与所述第一历史负载数据进行线性拟合,获得线性函数;根据所述线性函数以及所述N个相似子序列中每一个相似子序列的下一时刻的值进行预测获得N个预测值;根据所述N个相似子序列的皮尔森相关系数的绝对值和所述N个预测值确定所述第一应用的预测值。在本实施例中,因为只挑选与第一历史数据相关性较大的第二历史负载数据进行负载预测,所以可以使得预测的结果更加准确。
在一个可能的设计中,所述根据所述N个相似子序列的皮尔森相关系数的绝对值和所述N个预测值确定所述第一应用的预测值,包括:以所述N相似子序列的皮尔森相关系数的绝对值为权值,通过对所述N个预测值的结果求加权平均值,获得所述第一应用的预测值。因为本实施例中的方法考虑了每个预测值对应的相似子序列的相关程度,所以最终计算得到的预测值会更加准确。
在一个可能的设计中,所述确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列,包括:确定皮尔森相关系数的绝对值大于所述阈值的N个连续子序列为所述N个相似子序列;或
确定皮尔森相关系数的绝对值最大的N个连续子序列为所述N个相似子序列,其中,所述N个连续子序列中有至少一个连续子序列的皮尔森相关系数的绝对值大于所述阈值。
第二方面,本发明实施例提供一种负载预测方法。该方法从相似应用发现模块或应用控制模块或负载预测模块的角度进行描述。在该方法中,先获取第一应用的应用信息和第二应用的应用信息。然后根据根据所述第一应用的应用信息以及所述多个第二应用的应用信息在所述多个第二应用中确定出与所述第一应用相似的第二应用;其中,所述第一应用的负载预测值通过与所述第一应用相似的第二应用的历史负载数据确定。因为第二应用与第一应用相似,所以可以根据第二应用的历史负载数据对第一应用进行负载预测,所以可以解决新应用在上线初期因为历史负载数据不足而无法进行负载预测的技术问题。进一步,因为根据第一应用的应用信息和第二应用的应用信息确定两者是否相似,所以确定出的第二应用与第一应用的相似度较高,所以通过第二应用的历史负载数据进行负载预测时,预测的结果也较为准确。
在一个可能的设计中,所述第一应用的应用信息包括应用标识、资源需求、镜像名称中的一种或任意组合;所述多个第二应用的应用信息包括应用标识、平均资源利用率、镜像名称中的一种或任意组合。
在一个可能的设计中,从相似应用发现模块或应用控制模块的角度来描述,所述方法还包括:将所述第二应用的应用标识发送给对所述第一应用进行负载预测的模块。由此,负载预测模块可根据第二应用的应用标识获取第二历史负载数据。
第三方面,本发明实施例提供一种负载预测装置。具体的,该装置可以为负载预测模块。该装置具有实现上述方法设计中负载预测模块的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,作为负载预测模块的负载预测装置的具体结构可包括获取单元以及处理单元。获取单元、处理单元可执行上述方法中的相应功能。
第四方面,本发明实施例提供一种负载预测装置。具体的,该装置可以为应用控制模块、相似应用发现模块或负载预测模块。该装置具有实现上述方法设计中应用控制模块、相似应用发现模块或负载预测模块的功能。这些功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的单元。
在一个可能的设计中,作为VIM的负载预测装置的具体结构可包括获取单元、处理单元。获取单元、处理单元可执行上述方法中的相应功能。
第五方面,本发明实施例提供一种网元。该网元可以为负载预测模块。该网元包括:存储器,用于存储计算机可执行程序代码;收发器,以及处理器,与所述存储器和所述收发器耦合;其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行上述负载预测模块执行的方法。
第六方面,本发明实施例提供一种网元。该网元可以为应用控制模块、相似应用发现模块或负载预测模块。该网元包括:存储器,用于存储计算机可执行程序代码;收发器,以及处理器,与所述存储器和所述收发器耦合;其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行上述应用控制模块、相似应用发现模块或负载预测模块执行的方法。
第七方面,本发明实施例提供一种计算机存储介质,用于存储为上述第三方面所描述的负载预测装置或第五方面所描述的网元所用的计算机软件指令,并包含用于执行上述方面所设计的程序。
第八方面,本发明实施例提供一种计算机存储介质,用于存储为上述第四方面所描述的负载预测装置或第六方面所描述的网元所用的计算机软件指令,并包含用于执行上述方面所设计的程序。
根据本发明实施例提供的技术方案,第二应用与第一应用相似,所以可以根据第二应用的历史负载数据对第一应用进行负载预测,所以可以解决新应用在上线初期因为历史负载数据不足而无法进行负载预测的技术问题。
附图说明
图1为本发明实施例提供的一种***的架构图;
图2为本发明实施例提供的一种网元的结构图;
图3为本发明实施例提供的一种负载预测方法的流程图;
图4a-图4b为本发明实施例提供的一种进行线性拟合的示意图;
图5为本发明实施例提供的第一种负载预测装置的功能框图;
图6为本发明实施例提供的第二种负载预测装置的功能框图。
具体实施方式
本发明提供一种负载预测方法、装置以及网元,用以解决现有技术中无法在新部署的应用的上线初期进行负载预测的技术问题。
下面将结合本发明实施例中的附图,本发明实施例中的技术方案进行描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为便于说明本发明实施例中的负载预测方法,下面先介绍一种网络***,本发明实施例中的负载预测方法可以应用在该***中。如图1所示,为本发明实施例提供的一种***100的结构图。本发明实施例在现有的***中增加了相似应用发现模块,用于确定与新应用相似的已有应用,并将相似的已有应用的应用标识发送给负载预测模块,负载预测模块进而根据相似已有应用的历史负载数据对新应用进行负载预测,解决新应用在上线初期因历史负载数据长度不够而无法进行负载预测的技术问题。
具体的,为实现本发明的目的,本发明实施例提供的一个结构图包括以下功能部件:
管理***,管理***包括应用控制模块、存储单元、相似应用发现模块、负载预测模块以及容量规划模块。应用控制模块负责资源调度,包括特定计算节点启动管理员规定数量的应用实例来运行应用;根据容量规划模块的输出执行扩容、减容操作;将新应用的应用信息(应用标识、镜像名称、资源请求等)存储至存储单元,并从计算节点汇总各个应用实例的负载数据生成应用实例组的负载数据并存储至存储单元。
需要说明的是,应用实例为运行应用的虚拟机或容器。应用实例组为支持同一应用程序的若干应用实例组成应用实例组。
相似应用发现模块,在应用上线初期,将应用信息(例如镜像名称、镜像类型、资源请求)与存储单元中其他应用信息进行对比,确定相似应用。该模块从应用执行***获取应用信息。
负载预测模块,若目标应用的应用实例组有足够的历史数据,则根据目标应用的应用实例组的历史数据预测将来时刻的负载;若目标应用的应用实例组的历史数据不足,则基于目标应用的相似应用的应用实例组的历史数据预测目标应用将来时刻的负载。其中,历史负载数据从存储单元获得。
容量规划模块,用于根据负载预测值计算满足需求的应用实例组中实例的数量。容量规划模块将计算获得的实例数量发送给应用控制模块,由后者进行弹性伸缩操作。
存储单元,用于存储应用信息及应用实例组的历史负载数据。
其中,管理***的各个组件或模块可以运行在同一物理服务器上,也可以运行在不同的物理服务器上。
管理客户端,管理员通过管理客户端管理应用程序,如部署、更新、删除应用。
计算节点,通常是一个物理服务器,包含监控模块、代理模块和若干应用实例。通过虚拟化技术在一个计算节点上运行多个应用实例。监控模块负责监控单个计算节点上运行的应用实例的负载信息,如CPU使用率、访问量等。代理模块用于根据用户请求的应用标识(ID),将用户请求转发到运行该应用的应用实例。
用户客户端,用户通过用户客户端访问应用实例。用户数量变化和不同类型的操作会导致应用负载发生变化。
图2显示了本发明实施例中的一种网元的结构示意图。这一网元用于在图1所示的***100中传送或处理数据。网元200可用于容纳(host)、存储和/或执行一个或多个网络功能。网元200可以是一个如图1中***100中一个子部件,例如相似应用发现模块或负载预测模块。
网元200可包含一个或多个端口212,与收发器(transceiver)210相耦合。收发器210可以是发射器,接收器或其组合,从其它网络节点通过端口212发送或接收数据包。处理器202耦合到收发器210,用于处理数据包,决定哪些节点发送数据包。处理器202可包含一个或多个多核处理器和/或存储器204。处理器202可以是一个通用处理器,专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC),或数字信号处理器(DSP)。
存储器204可为非瞬时性的存储介质,与处理器202相耦合,用于保存不同类型的数据。存储器204可包含只读存储器(英文:Read Only Memory,简称:ROM),随机存取存储器(英文:Random Access Memory,简称:RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是磁盘存储器。存储器204可用于保存实现***100或相关方法的指令,例如作为相似应用发现模块或负载预测模块。
在图1所示的***架构中,相似应用发现模块可以接收应用控制模块发送的新应用的上线通知,通知内容包括新应用的应用标识、资源需求、镜像名称、弹性伸缩参考负载类型。其中,应用标识可以是应用的名称。如此相似应用发现模块就可以获取第一应用的应用信息。作为一个例子,第一应用即为新应用,应用信息包括应用标识、资源需求、镜像名称、弹性伸缩参考负载类型(便于描述,下称负载类型)中的一种或任意组合。可选的,资源需求为计算节点的资源占比。
进一步,相似应用发现模块可以向存储单元请求已有的应用信息,即获取多个第二应用的应用信息。然后存储单元返回多个第二应用的应用信息。该应用信息包括应用的应用标识、平均资源利用率、镜像名称中的一种或任意组合。
接下来,相似应用发现模块根据第一应用的应用信息以及多个第二应用的应用信息在多个第二应用中确定出与第一应用相似的第二应用。
作为一个例子,相似应用发现模块可以通过应用标识、镜像名称、资源需求进行关键字匹配进行相似应用的确定。
在其它例子中,可以是采用语义分析技术进行相似应用的确定。举例来说,一个应用名称为“database”,另一个应用名称为“data_store”,使用语义分析技术可以识别database和data_store都是用于数据存储,可以看作同一类型的应用,即相似的应用。
当然,在实际运用中,可以是通过其它方式确定第一应用的相似应用,本发明不作具体限定。
在确定出与第一应用相似的第二应用之后,接下来,相似应用发现模块将第二应用的应用标识发送给负载预测模块。可选的,相似应用发现模块还将第一应用的应用信息发送给负载预测模块。在本实施例中,第一应用的应用信息包括应用标识、负载类型。
对应的,负载预测模块获取第一应用的应用信息及所需历史负载数据长度,该应用信息包括应用标识、负载类型。可选的,所需历史负载数据长度可以根据负载预测功能需求在***配置文件中进行配置。
需要说明的是,获取第一应用的应用信息和所需历史负载数据长度可以不是在同一个步骤中进行的,获取所需历史负载数据长度是可以在获取第一历史负载数据之后获取,以判断第一历史负载数据的长度是否足以进行负载预测。
接下来负载预测模块根据第一应用的应用信息获取第一应用的负载类型对应的第一历史负载数据。
作为一个实例,负载预测模块向存储单元请求第一历史负载数据,在请求中包括第一应用的应用标识、负载类型以及所需历史负载数据长度。存储单元在接收到该请求时,可以根据应用标识进行查询,获取与负载类型对应的第一历史负载数据,然后将第一历史数据返回给负载预测模块。
需要说明的是,若根据应用标识进行查询,查询到的历史负载数据的长度小于所需历史负载数据长度,存储单元则返回查询到的全部的历史负载数据。若查询到的历史负载数据的长度大于或等于所需历史负载数据长度,则返回的第一历史负载数据的长度小于所需历史负载数据长度。
负载预测模块在接收到存储单元返回的第一历史负载数据之后,可以判断第一历史负载数据的长度是否小于所需历史负载数据长度,若第一历史负载数据的长度小于所述所需历史负载数据长度,则说明第一历史负载数据不足以进行负载预测。通常训练不同的预测模型所需的历史负载数据长度是不相同的,所以所需历史负载数据长度也是不同的。
因为第一历史负载数据不足以进行负载预测,所以负载预测模块获取与第一应用相似的第二应用的与负载类型对应的第二历史负载数据。作为一个实例,负载预测模块向存储单元请求第二应用的第二历史负载数据。该请求包括第二应用的应用标识、负载类型、所需历史负载数据长度。
与查询第一历史负载数据类似的方法,存储单元查询到第二历史负载数据后,返回给负载预测模块。负载预测模块会根据第二历史负载数据对第一应用的负载类型进行负载预测。
在实际运用中,负载预测模块可以只根据第二历史负载数据对第一应用的负载类型进行负载预测,也可以根据第一历史负载数据和第二历史负载数据对第一应用的所述负载类型进行负载预测。
对于只根据第二历史负载数据对第一应用的负载类型进行负载预测的情况,具体来说,可以是使用第二历史负载数据作为训练集,然后选择特定的数学模型建立预测模型。预测模型例如自回归移动平均、指数平滑、神经网络、支持向量回归等。然后将近期第二应用的负载数据作为输入,其输出即为将来时刻的负载预测值,也即第一应用的负载预测值。
作为一个实例,假设第二应用的历史数据的时间序列x=(x1,x2,…,xm),所需历史数据长度为60,那么第二历史负载数据为时间序列x最新的60个数据点(xm-59,…,xm),然后采用第二历史负载数据训练预测模型。假设负载类型为访问量,历史数据为每分钟的平均访问量,得到的预测模型为:下一分钟的访问量=0.8*当前访问量+0.2*一分钟前的访问量。通过该预测模型可以预测下一分钟的访问量,然后容量规划模块可以根据下一分钟的访问量进行扩容或者缩容操作。
对于根据第一历史负载数据和第二历史负载数据对第一应用的所述负载类型进行负载预测的情况,可以包括:分别计算第二历史负载数据中的每个连续子序列与第一历史负载数据之间的皮尔森(Pearson)相关系数,其中,所述每个连续子序列的长度为第一历史负载数据的长度;确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列;N为正整数;根据所述N个相似子序列与第一历史负载数据进行线性拟合,获得线性函数;根据所述线性函数以及所述N个相似子序列中每一个相似子序列的下一时刻的值进行预测获得N个预测值;根据所述N个预测值确定所述第一应用的预测值。
可选的,确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列,包括:
确定皮尔森相关系数的绝对值大于所述阈值的N个连续子序列为所述N个相似子序列;或
确定皮尔森相关系数的绝对值最大的N个连续子序列为所述N个相似子序列,其中,所述N个连续子序列中有至少一个连续子序列的皮尔森相关系数的绝对值大于所述阈值。
皮尔森相关系数是一种线性相关系数。皮尔森相关系数是用来反映两个变量线性相关程度的统计量,相关系数可以用r表示,r描述的是两个变量间线性相关强弱的程度。r的绝对值越大表明相关性越强。r的取值在-1与+1之间,若r>0,表明两个变量是正相关,即一个变量的值越大,另一个变量的值也会越大;若r<0,表明两个变量是负相关,即一个变量的值越大另一个变量的值反而会越小。r的绝对值越大表明相关性越强,要注意的是这里并不存在因果关系。若r=0,表明两个变量间不是线性相关,但有可能是其它方式的相关(比如曲线方式)。因此***管理员可以在***配置文件中配置阈值和N的值,例如阈值为0.8,因为业界公认皮尔森相关系数的绝对值大于0.8,可以认为两个序列是强相关的。N的数量例如为5,N为正整数,但小于第二历史负载数据中的每个连续子序列的数量。
因此,在实际运用中,若皮尔森相关系数的绝对值大于阈值的连续子序列的数量大于或等于N,则确定N个皮尔森相关系数的绝对值大于阈值的连续子序列为N个相似子序列。若皮尔森相关系数的绝对值小于阈值的连续子序列的数量不到N,那么就可以将皮尔森相关系数的绝对值最大的N个连续子序列作为N个相似子序列。
可选的,根据所述N个预测值确定第一应用的预测值,包括:以所述N相似子序列的皮尔森相关系数的绝对值为权值,通过对所述N个预测值的结果求加权平均值,获得所述第一应用的预测值。该方法可以获取到更准确的预测值。
在实际运用中,根据所述N个预测值确定第一应用的预测值,包括:可以直接取N个预测值的平均值作为第一应用的预测值。
需要说明的是,根据所述N个预测值确定第一应用的预测值的方式还有其它,本发明不作具体限定。
需要说明的是,以上仅为举例说明,在实际运用中,利用第一历史负载数据和第二历史负载数据进行预测模型的训练,因为训练预测模型的方式可以有多种,所以对第一历史负载数据和第二历史负载数据的处理方式也会是不同的,相应的,最终的预测模型也可能是不同的。
由以上描述可以看出,在本发明实施例中,在第一应用的历史负载数据不足以进行负载预测时,可以通过第一应用的相似应用的历史负载数据进行负载预测,实现了新应用在刚开始的运行时段即可进行负载预测的技术效果。
可选的,若第一历史负载数据的长度大于或等于所需历史负载数据长度,则说明第一历史负载数据足以进行负载预测,所以可以按照现有技术中的方式直接进行负载预测。或者,也可以同时采用第一历史负载数据和第二历史负载数据进行负载预测。或者,直接采用第二历史负载数据进行负载预测。
接下来请参考图3所示,为本发明实施例提供的一种负载预测方法的流程图。该方法包括:
步骤1:应用控制模块获取各个计算节点的应用实例的监控信息,监控信息例如为CPU使用率、内存使用率、访问量中的一种或多种。该步骤可以周期性的进行,例如每分钟执行一次,在其它步骤的执行过程中也可以并行执行。
步骤2:应用控制模块汇总生成应用的应用实例组的负载数据。需要说明的是,对于包含多个应用实例的应用实例组,需要计算所有实例的平均负载数据(例如平均CPU使用率、平均内存使用率、平均访问量)作为应用实例组的负载数据。类似的,与步骤1对应,该步骤也可以是周期性进行,也可以是其它步骤的执行过程中并行执行。
步骤3:应用控制模块将汇总生成的应用实例组的负载数据存储到存储单元。类似的,与步骤2对应,该步骤也可以是周期性进行,也可以是其它步骤的执行过程中并行执行。
通过该步骤1至步骤3,将每个应用实例组的负载数据保存在存储单元上。
需要说明的是,若应用控制模块和存储单元位于同一物理设备上时,应用控制模块可以通过设备内部总线或者写逻辑将应用实例组的负载数据写入存储单元中。若应用控制模块和存储单元分别位于不同的物理设备上时,应用控制模块会通过其所在的物理设备的收发器将应用实例组的负载数据发送给存储单元所在的物理设备。
步骤4:应用控制模块接收新应用部署请求。部署请求例如由管理客户端发出。部署请求可以包含应用标识、资源需求、镜像名称、弹性伸缩参考负载类型等信息。其中,应用标识例如为应用的名称。弹性伸缩参考负载类型说明后续需要进行预测的负载类型。镜像可以同部署请求一同接收,也可以单独接收。
可选的,应用部署请求还可以包括应用类型、应用标签等信息。
举例来说,应用控制模块接收到一个新应用的部署请求,该部署请求包括应用名称“app-01”,镜像名称“Ubuntu14.4”,资源需求为:CPU 20%、内存20%,弹性伸缩参考负载类型为访问量。在本实施例中,资源需求为计算节点的资源占比。新应用例如为前述描述的第一应用。
步骤5:应用控制模块将新应用的应用信息存储在存储单元中。其中,该应用信息包括应用标识、资源需求、镜像名称等。例如应用名称“app-01”,镜像名称“Ubuntu14.4”,资源需求为:CPU 20%、内存20%。
步骤6:应用控制模块向相似应用发现模块发送新应用上线通知,通知内容可以包括新应用的应用标识、资源需求、镜像名称、弹性伸缩参考负载类型等。举例来说,上线通知包括应用名称“app-01”,镜像名称“Ubuntu14.4”,资源需求为:CPU 20%、内存20%,弹性伸缩参考负载类型为访问量。
值得说明的是,步骤1-步骤3,和步骤4-步骤6之间没有严格的时间顺序。
另外需要说明的是,若应用控制模块和相似应用发现模块位于同一物理设备上,则可以认为这两个模块为同一物理设备上的不同功能模块,所以发送上线通知的动作可以通过设备内部的通信协议完成。若应用控制模块和相似应用发现模块位于不同的物理设备上,则可以通过设备之间的通信协议发送上线通知。
相似应用发现模块在接收到应用控制模块发送的新应用上线通知后,就可以确定新应用的相似应用。请继续参考图3所示,相似应用发现模块完成新应用的相似应用的确定包括如下步骤:
步骤7:相似应用发现模块向存储单元请求已有应用的应用信息,该应用信息包括已有应用的应用标识、平均资源利用率、镜像名称等。该已有应用的应用信息中的应用标识、镜像名称可以是通过步骤5存储在存储单元中,而平均资源利用率可以是通过步骤1-步骤3存储在存储单元中。
步骤8:存储单元返回已有应用的应用信息。
作为一个例子,假设当前有三个已有应用,即三个第二应用,应用名称分别是app-a,app-b,app-c,应用信息如表一所示。
应用名称 | 镜像名称 | CPU平均利用率 | 内存平均利用率 |
app-a | Ubuntu12.4 | 10% | 10% |
app-b | MySQL | 20% | 30% |
app-c | Ubuntu12.4 | 30% | 20% |
表一
步骤9:相似应用发现模块根据新应用的应用信息和已有应用的应用信息确定新应用的相似应用。具体的,可以采用前述所描述的应用名称、镜像名称、资源需求等进行关键字匹配的方法进行相似应用的确定。进一步,还可以是对新应用的资源请求数据等进行分析,进而确定相似应用。
比如,新应用app-01的镜像名称为Ubuntu14.4,采用关键词匹配确定已有应用app-a和app-c与新应用app-01基于相同类型镜像Ubuntu12.4。进一步,新应用app-01的CPU与内存请求量均为20%,即比值为1:1,而已有应用app-a,app-c的CPU与内存的利用率比值分别为1:1、3:2,其中最相近的为应用app-a,因此将应用app-a作为新应用app-01的相似应用。
步骤10:相似应用发现模块向负载预测模块发送新应用的应用信息及其相似应用的应用信息。新应用的应用信息包括应用标识、弹性伸缩参考负载类型等。相似应用的应用信息包括应用标识。
举例来说,新应用的应用信息包括应用名称:app-01,负载类型:访问量。相似应用的应用信息包括应用名称:app-a。
需要说明的是,相似应用发现模块和负载预测模块可以位于同一物理设备上,所以步骤6至步骤9和步骤11-步骤17为同一物理设备所执行的步骤,即步骤6至步骤9、步骤11-步骤17的执行主体为同一执行主体。在同一设备内部,可以认为是不同的功能模块分别完成步骤6-步骤9、以及步骤11-步骤17。
步骤11:负载预测模块向存储单元请求新应用的历史负载数据,即前述的第一历史负载数据。其中,该请求可以包括新应用的应用标识、负载类型、所需历史负载数据长度。举例来说,该请求包括新应用的应用名称:app-01,负载类型:访问量,所需历史负载数据长度:60。在本实施例中,假设***每分钟计算一次平均访问量。
步骤12:存储单元返回新应用的历史负载数据给负载预测模块。例如返回的第一历史负载数据的序列为y=(y1,y2,…,yn)。如前所述,若新应用的历史负载数据的长度小于所需历史负载数据长度,则返回所有历史负载数据作为第一历史负载数据。若新应用的历史负载数据的长度大于或等于所需历史负载数据长度,则返回长度为所需历史负载数据长度的历史负载数据,如此可以减少数据传输量,加快传输速度。
举例来说,假设新应用app-01上线仅3分钟,则返回的历史访问量数据为y=(100,150,125)。
步骤13:负载预测模块确定新应用的历史负载数据不足以进行负载预测,因为新应用的历史负载数据的长度小于所需历史负载数据长度。
举例来说,假设训练预测模型所需历史负载数据长度为60,时间间隔为1分钟,也就是说在新应用部署后的一个小时内历史数据长度均无法满足建模需求。
步骤14:负载预测模块向存储单元请求相似应用的历史负载数据,即第二历史负载数据。该请求包括相似应用的应用标识,负载类型、所需历史负载数据长度。
举例来说,该请求包括相似应用的应用名称app-a,负载类型:访问量,所需历史负载数据长度为60。
步骤15:存储单元返回相似应用的历史负载数据x=(x1,x2,…,xm),因为新应用历史数据较少,所以m通常大于n,在本实施例中,m为60。
步骤16:负载预测模块采用新应用的历史负载数据和相似应用的历史负载数据预测新应用下一时刻的负载。
在实际运用中,可以先对相似应用的历史负载数据进行异常值处理。该步骤为可选的步骤。
举例来说,相似应用的历史负载数据中连续三分钟的平均访问量为100,1200,140,而第二分钟的访问量数值与前后时刻的数值有较大差异,这种数值有较大可能为异常值,需要进行处理。一种可能的方法时采用前后时刻访问量的平均值替代异常值,处理之后的数值序列为100,120,140。在实际运用中,异常处理的方法还可以是其它方式,本发明不作具体限定。
接下来负载预测模块按照前述所描述的针对同时根据第一历史数据和第二历史数据进行负载预测的方式进行负载预测,具体包括:
分别计算相似应用的历史负载数据中的每个连续子序列与新应用的历史负载数据之间的皮尔森相关系数,其中,所述每个连续子序列的长度为新应用的历史负载数据的长度。换言之,即以滑动窗口(窗口大小为n)的方式,分别计算相似应用的历史负载数据序列x中的连续子序列,即(x1,x2,...,xn),(x2,x3,...,xn+1),…,(xm-n+1,xm-n+2,...,xm)与新应用的历史负载数据序列y的皮尔森相关系数。其中计算皮尔森相关系数的公式请参考公式(1)。
举例来说,假设新应用app-01的每分钟平均访问量序列为(100,150,125),即n为3,序列平均值为125。x的一个连续子序列(x1,x2,x3)=(100,120,110),连续子序列的平均值为110,那么根据公式(1),该连续子序列与新应用的历史负载数据序列的皮尔森相关系数为
通过相同的方法,分别计算出相似应用的历史负载数据中的每个连续子序列与新应用的历史负载数据之间的皮尔森相关系数。
接下来,负载预测模块可以确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列。举例来说,假设阈值为0.5,N被设定为5,那么就可以确定皮尔森相关系数的绝对值大于阈值的5个连续子序列为相似子序列,或者确定皮尔森相关系数的绝对值最大的5个连续子序列为相似子序列。
然后负载预测模块根据N个相似子序列与新应用的历史负载数据进行线性拟合,获得线性函数。举例来说,对于每个相似子序列(xt,xt+1,…,xt+n-1),以相似应用的历史负载数据x为自变量(横轴),新应用的历史负载数据y为因变量(纵轴)进行线性拟合。其中,t为1至m+1-n的整数。
举例来说,假设对于相似子序列为(x1,x2,x3)来说,请参考图4a和图4b所示,图4a为以x为自变量,y为因变量获得的散点图,图4b为进行线性拟合获得的线性函数,在本实施例中,线性拟合的函数为y=2.5x-150。对于其它相似子序列而言,最后拟合的线性函数可能均不相同,也可能相同。
接下来,负载预测模块根据所述线性函数以及所述N个相似子序列中每一个相似子序列的下一时刻的值进行预测获得N个预测值。举例来说,若相似子序列为(x1,x2,x3),假设下一时刻x4的值为120,那么根据线性函数y=2.5x-150可以计算出下一时刻新应用的预测值。执行相同的步骤,最终可以计算出N个下一时刻的新应用的预测值。
再接下来,可以是直接取N个预测值的平均值作为下一时刻的新应用的最终的预测值,举例来说,假设有5个相似子序列,各个相似子序列计算获得的预测值分别为100、150、120、130、90,那么最终的预测结果为(100+150+120+130+90)/5=118。
也可以是以所述N相似子序列的皮尔森相关系数的绝对值为权值,通过对所述N个预测值的结果求加权平均值,获得所述第一应用的预测值。举例来说,假设有5个相似子序列,相关系数分别为0.9、0.85、0.9、0.95、0.85,各个相似子序列计算获得的预测值分别为100、150、120、130、90,那么最终的预测结果为(0.9*100+0.85*150+0.9*120+0.95*130+0.85*90)/(0.9+0.85+0.9+0.95+0.85)=118.09。因为本实施例中的方法考虑了每个预测值对应的相似子序列的相关程度,所以最终计算得到的预测值会更加准确。
在上述实例中,负载类型为访问量,在实际运用中,负载类型还可以是其它的类型,相应的,获取的历史负载数据也是与负载类型对应的历史数据,其实现过程与上述描述的过程类似,所以在此不再赘述。
由以上描述可以看出,在本发明实施例中,从先前部署的应用中发现新应用的相似应用,然后使用相似应用的历史数据进行负载预测,可以解决现有技术中在新部署应用在上线初期历史负载数据不足时无法进行负载预测的技术问题。
可选的,网元200可以为图1中的部分或全部元件,用以实现如图3所示的方法中的部分步骤或全部步骤,具体的配置可以依据实际需要确定。
具体地,当网元200为负载预测模块时,处理器202执行存储器204上存储的计算机可执行程序代码中包括的指令时,所述指令使得网元200执行以下操作:获取第一应用的应用信息及所需历史负载数据长度,其中,所述应用信息包括应用标识、负载类型;根据所述应用信息获取所述第一应用的与所述负载类型对应的第一历史负载数据;若所述第一历史负载数据的长度小于所述所需历史负载数据长度,则获取与所述第一应用相似的第二应用的与所述负载类型对应的第二历史负载数据;根据所述第二历史负载数据对所述第一应用的所述负载类型进行负载预测。
进一步的,以上作为负载预测模块的网元包含的处理器202所执行操作的具体实现方式可以参照图1和图3的实施例的中由负载预测模块执行的对应步骤,本发明实施例不再赘述。
作为另一种可选方式,当网元200为相似应用发现模块时,处理器202执行存储器204上存储的计算机可执行程序代码中包括的指令时,所述指令使得网元200执行以下操作:获取第一应用的应用信息;获取多个第二应用的应用信息;根据所述第一应用的应用信息以及所述多个第二应用的应用信息在所述多个第二应用中确定出与所述第一应用相似的第二应用;其中,所述第一应用的负载预测值通过与所述第一应用相似的第二应用的历史负载数据确定。
进一步的,以上作为相似应用发现模块的网元包含的处理器202所执行操作的具体实现方式可以参照图1和图3的实施例的中由相似应用发现模块执行的对应步骤,本发明实施例不再赘述。
图5为本发明实施例提供的第一种负载预测装置的简化功能框图。该负载预测装置包括:获取单元301、处理单元302。
其中,获取单元301,用于获取第一应用的应用信息及所需历史负载数据长度,其中,所述应用信息包括应用标识、负载类型;用于根据所述应用信息获取所述第一应用的与所述负载类型对应的第一历史负载数据;若所述第一历史负载数据的长度小于所述所需历史负载数据长度,则获取与所述第一应用相似的第二应用的与所述负载类型对应的第二历史负载数据;处理单元302,用于根据所述第二历史负载数据对所述第一应用的所述负载类型进行负载预测。
可选的,处理单元302用于根据所述第一历史负载数据和所述第二历史负载数据对所述第一应用的所述负载类型进行负载预测。
可选的,处理单元302用于分别计算所述第二历史负载数据中的每个连续子序列与所述第一历史负载数据之间的皮尔森相关系数,其中,所述每个连续子序列的长度为所述第一历史负载数据的长度;确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列;N为正整数;根据所述N个相似子序列与所述第一历史负载数据进行线性拟合,获得线性函数;根据所述线性函数以及所述N个相似子序列中每一个相似子序列的下一时刻的值进行预测获得N个预测值;根据所述N个相似子序列的皮尔森相关系数的绝对值和所述N个预测值确定所述第一应用的预测值。
可选的,处理单元302用于以所述N相似子序列的皮尔森相关系数的绝对值为权值,通过对所述N个预测值的结果求加权平均值,获得所述第一应用的预测值。
可选的,处理单元302用于:确定皮尔森相关系数的绝对值大于所述阈值的N个连续子序列为所述N个相似子序列;或确定皮尔森相关系数的绝对值最大的N个连续子序列为所述N个相似子序列,其中,所述N个连续子序列中有至少一个连续子序列的皮尔森相关系数的绝对值大于所述阈值。
图6为本发明实施例提供的第二种负载预测装置的简化功能框图。该负载预测装置包括:获取单元401、处理单元402。
具体的,获取单元401,用于获取第一应用的应用信息;获取多个第二应用的应用信息;处理单元402,用于根据所述第一应用的应用信息以及所述多个第二应用的应用信息在所述多个第二应用中确定出与所述第一应用相似的第二应用;其中,所述第一应用的负载预测值通过与所述第一应用相似的第二应用的历史负载数据确定。
可选的,负载预测装置包括发送单元,用于将所述第二应用的应用标识发送给对所述第一应用进行负载预测的模块。
需要说明的是,负载预测装置以功能单元的形式展示。在不受限制的情况下,本文所使用的术语“单元”可指执行一个或多个软件或固件程序的专用集成电路(ASIC)、电子电路、(共享、专用或组)处理器以及存储器,组合逻辑电路,和/或提供所述功能的其它合适的部件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种负载预测方法,其特征在于,包括:
获取第一应用的应用信息及所需历史负载数据长度,其中,所述应用信息包括应用标识、负载类型,所述负载类型为访问量;
根据所述应用信息获取所述第一应用的与所述负载类型对应的第一历史负载数据;
若所述第一历史负载数据的长度小于所述所需历史负载数据长度,则获取与所述第一应用相似的第二应用的与所述负载类型对应的第二历史负载数据;
分别计算所述第二历史负载数据中的每个连续子序列与所述第一历史负载数据之间的皮尔森相关系数,其中,所述每个连续子序列的长度为所述第一历史负载数据的长度;
根据所述皮尔森相关系数确定所述第一应用的所述负载类型的负载预测值。
2.如权利要求1所述的方法,其特征在于,根据所述皮尔森相关系数确定所述第一应用的所述负载类型的负载预测值,包括:
确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列;N为正整数;
根据所述N个相似子序列与所述第一历史负载数据进行线性拟合,获得线性函数;
根据所述线性函数以及所述N个相似子序列中每一个相似子序列的下一时刻的值进行预测获得N个预测值;
根据所述N个相似子序列的皮尔森相关系数的绝对值和所述N个预测值确定所述第一应用的预测值。
3.如权利要求2所述的方法,其特征在于,所述根据所述N个相似子序列的皮尔森相关系数的绝对值和所述N个预测值确定所述第一应用的预测值,包括:
以所述N个 相似子序列的皮尔森相关系数的绝对值为权值,通过对所述N个预测值的结果求加权平均值,获得所述第一应用的预测值。
4.如权利要求2或3所述的方法,其特征在于,所述确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列,包括:
确定皮尔森相关系数的绝对值大于所述阈值的N个连续子序列为所述N个相似子序列;或
确定皮尔森相关系数的绝对值最大的N个连续子序列为所述N个相似子序列,其中,所述N个连续子序列中有至少一个连续子序列的皮尔森相关系数的绝对值大于所述阈值。
5.一种负载预测方法,其特征在于,包括:
获取第一应用的应用信息;
获取多个第二应用的应用信息;
根据所述第一应用的应用信息以及所述多个第二应用的应用信息在所述多个第二应用中确定出与所述第一应用相似的第二应用;其中,所述第一应用的负载类型的负载预测值是根据所述第二应用的历史负载数据中的每个连续子序列、与所述第一应用的历史负载数据之间的皮尔森相关系数确定的,所述负载类型为访问量。
6.如权利要求5所述的方法,其特征在于,所述第一应用的应用信息包括应用标识、资源需求、镜像名称中的一种或任意组合;
所述多个第二应用的应用信息包括应用标识、平均资源利用率、镜像名称中的一种或任意组合。
7.如权利要求5或6所述的方法,其特征在于,所述方法还包括:
将所述第二应用的应用标识发送给对所述第一应用进行负载预测的模块。
8.一种负载预测装置,其特征在于,包括:
获取单元,用于获取第一应用的应用信息及所需历史负载数据长度,其中,所述应用信息包括应用标识、负载类型,所述负载类型为访问量;用于根据所述应用信息获取所述第一应用的与所述负载类型对应的第一历史负载数据;若所述第一历史负载数据的长度小于所述所需历史负载数据长度,则获取与所述第一应用相似的第二应用的与所述负载类型对应的第二历史负载数据;
处理单元,用于分别计算所述第二历史负载数据中的每个连续子序列与所述第一历史负载数据之间的皮尔森相关系数,其中,所述每个连续子序列的长度为所述第一历史负载数据的长度;以及根据所述皮尔森相关系数确定所述第一应用的所述负载类型的负载预测值。
9.如权利要求8所述的负载预测装置,其特征在于,所述处理单元用于确定包括皮尔森相关系数的绝对值大于阈值的连续子序列在内的N个连续子序列为N个相似子序列;N为正整数;根据所述N个相似子序列与所述第一历史负载数据进行线性拟合,获得线性函数;根据所述线性函数以及所述N个相似子序列中每一个相似子序列的下一时刻的值进行预测获得N个预测值;根据所述N个相似子序列的皮尔森相关系数的绝对值和所述N个预测值确定所述第一应用的预测值。
10.如权利要求9所述的负载预测装置,其特征在于,所述处理单元用于以所述N个 相似子序列的皮尔森相关系数的绝对值为权值,通过对所述N个预测值的结果求加权平均值,获得所述第一应用的预测值。
11.如权利要求9或10所述的负载预测装置,其特征在于,所述处理单元用于:确定皮尔森相关系数的绝对值大于所述阈值的N个连续子序列为所述N个相似子序列;或确定皮尔森相关系数的绝对值最大的N个连续子序列为所述N个相似子序列,其中,所述N个连续子序列中有至少一个连续子序列的皮尔森相关系数的绝对值大于所述阈值。
12.一种负载预测装置,其特征在于,包括:
获取单元,用于获取第一应用的应用信息;获取多个第二应用的应用信息;
处理单元,用于根据所述第一应用的应用信息以及所述多个第二应用的应用信息在所述多个第二应用中确定出与所述第一应用相似的第二应用;其中,所述第一应用的负载类型的负载预测值是根据所述第二应用的历史负载数据中的每个连续子序列、与所述第一应用的历史负载数据之间的皮尔森相关系数确定的,所述负载类型问访问量。
13.如权利要求12所述的负载预测装置,其特征在于,所述负载预测装置包括发送单元,用于将所述第二应用的应用标识发送给对所述第一应用进行负载预测的模块。
14.一种网元,其特征在于,包括:
存储器,用于存储计算机可执行程序代码;
收发器,以及
处理器,与所述存储器和所述收发器耦合;
其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行以下操作:获取第一应用的应用信息及所需历史负载数据长度,其中,所述应用信息包括应用标识、负载类型,所述负载类型为访问量;根据所述应用信息获取所述第一应用的与所述负载类型对应的第一历史负载数据;若所述第一历史负载数据的长度小于所述所需历史负载数据长度,则获取与所述第一应用相似的第二应用的与所述负载类型对应的第二历史负载数据;分别计算所述第二历史负载数据中的每个连续子序列与所述第一历史负载数据之间的皮尔森相关系数,其中,所述每个连续子序列的长度为所述第一历史负载数据的长度;根据所述皮尔森相关系数确定所述第一应用的所述负载类型的负载预测值。
15.一种网元,其特征在于,包括:
存储器,用于存储计算机可执行程序代码;
收发器,以及
处理器,与所述存储器和所述收发器耦合;
其中所述程序代码包括指令,当所述处理器执行所述指令时,所述指令使所述网元执行以下操作:获取第一应用的应用信息;获取多个第二应用的应用信息;根据所述第一应用的应用信息以及所述多个第二应用的应用信息在所述多个第二应用中确定出与所述第一应用相似的第二应用;其中,所述第一应用的负载类型的负载预测值是根据所述第二应用的历史负载数据中的每个连续子序列、与所述第一应用的历史负载数据之间的皮尔森相关系数确定的,所述负载类型为访问量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610543147.4A CN107608781B (zh) | 2016-07-11 | 2016-07-11 | 一种负载预测方法、装置以及网元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610543147.4A CN107608781B (zh) | 2016-07-11 | 2016-07-11 | 一种负载预测方法、装置以及网元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107608781A CN107608781A (zh) | 2018-01-19 |
CN107608781B true CN107608781B (zh) | 2021-06-22 |
Family
ID=61055454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610543147.4A Active CN107608781B (zh) | 2016-07-11 | 2016-07-11 | 一种负载预测方法、装置以及网元 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107608781B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059858A (zh) * | 2019-03-15 | 2019-07-26 | 深圳壹账通智能科技有限公司 | 服务器资源预测方法、装置、计算机设备及存储介质 |
CN112422329B (zh) * | 2020-11-05 | 2022-08-05 | 杭州米络星科技(集团)有限公司 | 流媒体服务器集群的管理方法、装置和电子设备 |
CN112767056B (zh) * | 2021-02-04 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 业务数据预测方法、装置、计算机设备和存储介质 |
CN113672392B (zh) * | 2021-08-25 | 2023-07-25 | 国家电网有限公司信息通信分公司 | 能耗优化的方法及装置、电子设备及计算机可读存储介质 |
CN117009076A (zh) * | 2023-07-04 | 2023-11-07 | 中科南京移动通信与计算创新研究院 | 网元的资源处理方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1776729A (zh) * | 2004-11-17 | 2006-05-24 | 国际商业机器公司 | 开展商品和服务预测的方法和*** |
CN103748993B (zh) * | 2009-05-31 | 2011-02-16 | 北京理工大学 | 一种基于多序列组合的主机负载预测方法 |
CN104123189A (zh) * | 2014-06-30 | 2014-10-29 | 复旦大学 | 一种基于IaaS层应用感知的Web多层应用动态资源调整方法 |
CN104281496A (zh) * | 2014-10-27 | 2015-01-14 | 深圳中兴网信科技有限公司 | 虚拟资源的分配方法及分配装置 |
CN104424013A (zh) * | 2013-08-26 | 2015-03-18 | 国际商业机器公司 | 在计算环境中部署虚拟机的方法和设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697141B (zh) * | 2009-10-30 | 2012-09-05 | 清华大学 | 网格中基于历史数据建模的作业性能预测方法 |
JP5742125B2 (ja) * | 2010-07-21 | 2015-07-01 | 富士通株式会社 | プログラム、情報生成装置及び情報生成方法 |
JP6455035B2 (ja) * | 2014-09-10 | 2019-01-23 | 富士通株式会社 | 負荷分散管理装置、制御方法およびプログラム |
-
2016
- 2016-07-11 CN CN201610543147.4A patent/CN107608781B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1776729A (zh) * | 2004-11-17 | 2006-05-24 | 国际商业机器公司 | 开展商品和服务预测的方法和*** |
CN103748993B (zh) * | 2009-05-31 | 2011-02-16 | 北京理工大学 | 一种基于多序列组合的主机负载预测方法 |
CN104424013A (zh) * | 2013-08-26 | 2015-03-18 | 国际商业机器公司 | 在计算环境中部署虚拟机的方法和设备 |
CN104123189A (zh) * | 2014-06-30 | 2014-10-29 | 复旦大学 | 一种基于IaaS层应用感知的Web多层应用动态资源调整方法 |
CN104281496A (zh) * | 2014-10-27 | 2015-01-14 | 深圳中兴网信科技有限公司 | 虚拟资源的分配方法及分配装置 |
Non-Patent Citations (1)
Title |
---|
负载相关的虚拟机放置策略研究;潘飞;《中国优秀硕士学位论文全文数据库-信息科技辑》;20130715;文章第15、21-26、详细摘要页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107608781A (zh) | 2018-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107608781B (zh) | 一种负载预测方法、装置以及网元 | |
CN112000459B (zh) | 一种用于服务的扩缩容的方法及相关设备 | |
US11392843B2 (en) | Utilizing a machine learning model to predict a quantity of cloud resources to allocate to a customer | |
Damaskinos et al. | Fleet: Online federated learning via staleness awareness and performance prediction | |
Fu et al. | DRS: Dynamic resource scheduling for real-time analytics over fast streams | |
US10289973B2 (en) | System and method for analytics-driven SLA management and insight generation in clouds | |
WO2018176385A1 (en) | System and method for network slicing for service-oriented networks | |
US20180060128A1 (en) | System, method and computer program product for resource management in a distributed computation system | |
CN110633796B (zh) | 模型更新方法、装置、电子设备及存储介质 | |
CN111385142B (zh) | 基于Kubernetes的自适应伸缩web容器的方法 | |
US20160080267A1 (en) | Monitoring device, server, monitoring system, monitoring method and program recording medium | |
CN104616173B (zh) | 预测用户流失的方法以及设备 | |
CN114500339B (zh) | 一种节点带宽监测方法、装置、电子设备及存储介质 | |
CN112764890A (zh) | 调度备份任务的方法、设备和计算机程序产品 | |
CN115269108A (zh) | 一种数据处理方法、装置及设备 | |
Bharathan et al. | Penalty based mathematical models for web service composition in a geo-distributed cloud environment | |
CN114065864A (zh) | 联邦学习方法、联邦学习装置、电子设备以及存储介质 | |
CN105491079B (zh) | 云计算环境中调整应用所需资源的方法及装置 | |
US11488045B2 (en) | Artificial intelligence techniques for prediction of data protection operation duration | |
Shameem et al. | An effective resource management in cloud computing | |
Amekraz et al. | An adaptive workload prediction strategy for non-Gaussian cloud service using ARMA model with higher order statistics | |
US20230116810A1 (en) | Automated predictive infrastructure scaling | |
US11599793B2 (en) | Data integration demand management using artificial intelligence | |
Alzahrani et al. | SLA-aware resource scaling for energy efficiency | |
US10592813B1 (en) | Methods and apparatus for data operation pre-processing with probabilistic estimation of operation value |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200201 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 210012 HUAWEI Nanjing base, 101 software Avenue, Yuhuatai District, Jiangsu, Nanjing Applicant before: Huawei Technologies Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |