CN114430826A - 用于预测计算工作负载的时间序列分析 - Google Patents

用于预测计算工作负载的时间序列分析 Download PDF

Info

Publication number
CN114430826A
CN114430826A CN202080066158.2A CN202080066158A CN114430826A CN 114430826 A CN114430826 A CN 114430826A CN 202080066158 A CN202080066158 A CN 202080066158A CN 114430826 A CN114430826 A CN 114430826A
Authority
CN
China
Prior art keywords
time series
series model
data points
historical data
exogenous
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
Application number
CN202080066158.2A
Other languages
English (en)
Inventor
A·S·希金森
O·阿瑟恩
M·德迪尤
T·埃尔德斯
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Publication of CN114430826A publication Critical patent/CN114430826A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3442Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Quality & Reliability (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

公开了用于预测计算工作负载的时间序列分析技术。资源管理***监控计算***并从计算***获取度量数据。度量数据被存储为数据集的历史数据点集。该历史数据点集的第一部分包括不对应于与该历史数据点集的第二部分相关联的季节性模式的离群值。资源管理***测试并入对应于第一外生因素的第一外生变量的第一时间序列模型以确定第一时间序列模型在误差阈值内与历史数据点集的第一部分和历史数据点集的第二部分两者拟合。然后资源管理***选择第一时间序列模型来预估数据集的未来数据点。

Description

用于预测计算工作负载的时间序列分析
技术领域
本公开涉及分析时间序列数据。特别地,本公开涉及用于执行用于预测计算工作负载的时间序列分析的技术。
权益要求;相关申请;通过引用的并入
本申请的主题与题为“用于检测和表征季节的***(System for Detecting andCharacterizing Seasons)”的序列号为15/057,065并且提交日期为2016年2月29日的共同未决的非临时申请中的主题相关,该非临时申请通过引用并入本文。
本申请的主题与题为“用于分类季节性模式的有监督方法(Supervised Methodfor Classifying Seasonal Patterns)”的序列号为15/057,060并且提交日期为2016年2月29日的共同未决的非临时申请中的主题相关,该非临时申请通过引用并入本文。
本申请的主题与题为“用于分类季节性模式的无监督方法(Unsupervised Methodfor Classifying Seasonal Patterns)”的序列号为15/057,062并且提交日期为2016年2月29日的共同未决的非临时申请中的主题相关,该非临时申请通过引用并入本文。
本申请要求2019年11月23日提交的第62/939,603号美国临时专利申请的权益,该美国临时专利申请通过引用并入本文。
本申请要求2019年9月16日提交的第62/901,088号美国临时专利申请的权益,该美国临时专利申请通过引用并入本文。
申请人在此撤销对(一个或多个)母案申请或其审查历史中权利要求范围的任何弃权声明,并告知美国专利商标局(USPTO)本申请中的权利要求可能比(一个或多个)母案申请中的任何权利要求更广泛。
背景技术
应用和数据越来越多地从本地***迁移到基于云的软件即服务(SaaS)***。在这样的基于云的***中,诸如处理器、存储器、存储装置、网络和/或盘输入/输出(I/O)之类的计算资源可以被诸如物理机、虚拟机、应用、应用服务器、数据库、数据库服务器、服务和/或事务之类的实体和/或组件消耗。
另一方面,云服务提供商必须确保基于云的***具有足够的资源来满足客户的需求和要求。例如,云服务提供商可以执行涉及估计运行客户的应用、数据库、服务和/或服务器所需的资源的容量规划。云服务提供商还可以监控客户***的执行以发现性能下降、错误和/或其他问题。然而,由于这样的监控技术是被动的,因此在补救措施被采取来纠正或缓解问题之前,***上可能发生错误、故障和/或中断。
本部分中描述的方法是可以施行的方法,但不一定是先前已经设想或施行的方法。因此,除非另有说明,否则不应假定本部分中描述的任何方法仅因其包括在本部分中而作为现有技术。
附图说明
在附图的图中通过示例而非限制的方式示出了实施例。应当注意,本公开中对“一(a)”或“一个(one)”实施例的引用不一定指相同实施例,它们意味着至少一个。在附图中:
图1图示了根据一个或多个实施例的***;
图2图示了根据一个或多个实施例的资源管理***;
图3图示了根据一个或多个实施例的执行时间序列分析以预测计算工作负载的流程图;
图4图示了根据一个或多个实施例的训练时间序列模型的流程图;
图5图示了根据一个或多个实施例选择具有外生变量的模型的流程图;
图6图示了根据一个或多个实施例的使用预测的计算工作负载的异常检测的流程图;
图7图示了根据一个或多个实施例的包括外生变量的时间序列模型的实施例;以及
图8示出了图示根据一个或多个实施例的计算机***的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。在一个实施例中描述的特征可以与在不同实施例中描述的特征组合。在一些示例中,为了避免不必要地模糊本发明,参考框图形式描述众所周知的结构和设备。
1.总体概述
2.***架构
3.用于预测计算工作负载的时间序列分析
4.使用预测的计算工作负载的异常检测
5.包括外生变量的时间序列模型的示例实施例
6.计算机网络和云网络
7.杂项;扩展
8.硬件概述
1.总体概述
一个或多个实施例分析历史***数据并将外生变量并入用历史***数据训练的时间序列模型中。***检测数据集内与数据集中其他数据点对应的季节性模式不匹配的离群数据点。为了生成准确表示整个数据集(包括离群数据点)的时间序列模型,***使用各种外生变量的组合或使用具有表示不同外生因素的不同参数的外生变量来测试时间序列模型。***选择结合一个或多个外生因素的、表示包括误差阈值内的离群值的数据集的时间序列模型。
2.***架构
图1图示了根据一个或多个实施例的***100。如图1所示,***100包括计算***110、应用服务器120、资源管理***130和用户界面140。
计算***110是由资源管理***130管理的***。计算***110包括一个或多个数据储存库111和被配置为与数据储存库111、与彼此和其他节点以及与应用服务器120交互以执行工作负载的一个或多个节点112、113。计算***可以包括一个或多个数据中心、配置中心(collocation center)、云计算***、本地***、集群、内容交付网络、服务器机架和/或处理、存储、网络、输入/输出(I/O)和/或其他资源的其他组合的组件。
如图2所示,资源管理***130包括监控模块131,其具有监控和/或管理计算***110上的资源的利用或消耗的功能。例如,监控模块131可以收集和/或监控与处理器、存储器、存储装置、网络、I/O、线程池和/或其他类型的硬件和/或软件资源的利用率和/或工作负载相关的度量。监控模块131还可以或替代地可以收集和/或监控性能度量,例如延迟、每秒查询(QPS)、错误计数、垃圾收集计数和/或关于资源的垃圾收集时间。
此外,资源管理***130可以在不同粒度级别和/或针对不同实体执行这样的监控和/或管理。例如,资源管理***130可以在环境、集群、主机、虚拟机、数据库、数据库服务器、应用、应用服务器、事务(例如,网站上的一系列点击或完成在线订单的Web应用)和/或数据(例如,数据库记录、元数据、请求/响应属性等)级别评估资源利用率和/或工作负载。资源管理***130可以附加地使用实体属性的集合来定义实体并且基于与实体属性相关联的度量来执行监控和/或分析。例如,资源管理***130可以将实体识别为客户、度量类型(例如,处理器利用率、存储器利用率等)和/或粒度级别(例如,虚拟机、应用、数据库、应用服务器、数据库服务器、事务等)的组合。
监控模块131将与计算***110的工作负载相关的度量存储在数据储存库200中。存储的度量构成历史数据210。历史数据210包括时间序列数据并且可以包括以下特性中的一项或多项:季节性211、多季节性212、趋势213、冲击(shock)或离群值(outlier)214。
资源管理***130包括训练模块133,其使用机器学习技术为与被监控的***相关联的各种实体生成时间序列模型。训练模块133从数据储存库200获得给定实体(例如,客户、度量和粒度级别的组合)的历史时间序列数据210。训练模块133将历史时间序列数据划分为训练数据集133a、测试数据集133b和验证数据集133c。训练模块133使用训练数据集133a训练一组时间序列模型并使用测试数据集133b测试该组时间序列模型。训练模块133使用验证集133c验证模型。基于训练、测试和验证,训练模块133生成一个或多个时间序列模型的选择以用于评估后续时间序列度量。时间序列模型的选择可以从数据储存库200中获得。
资源管理***130包括预测模块134,其使用由训练模块133生成的时间序列模型来生成表示被监控的***上的资源消耗和/或工作负载的度量的预测。在这些实施例中,时间序列模型分析包括从被监控的***收集的度量的时间序列数据,以基于时间序列数据中先前观察到的值来预估时间序列数据中的未来值。
在一个或多个实施例中,填充的时间序列模型被存储在数据储存库200中以用于稍后预测。时间序列模型220包括以下模型中的一个或多个:Holt-Winters指数平滑(HES)模型和三角季节性Box-Cox ARMA趋势和季节性(TBATS)模型220a;自回归积分移动平均(ARIMA)模型220b,具有参数(p、d、q、P、D、Q、频率)的带有外生变量的季节性ARIMA(SARIMAX)模型220c;或这些模型或替代模型的任何组合。
时间序列模型220包括组件221a至221d以考虑历史时间序列数据210中的季节性211、多季节性212、趋势213和冲击或离群值214。时间序列模型221的组件还包括傅里叶项221e,当历史数据210中存在多季节性212时,该傅里叶项221e作为外部回归量被添加到ARIMA模型220b或SARIMAX模型220c。时间序列模型221的这些组件提高了模型的准确性并允许模型220适应于从被监控的***收集的各种类型的时间序列数据。在一个实施例中,时间序列模型220包括考虑历史时间序列数据210中的离群值214的外生变量221d,使得用历史时间序列数据210生成的模型中的离群值214不影响预测模块134的预测中的度量。
在一个或多个实施例中,时间序列模型220包括自回归积分移动平均(ARIMA)模型220b和/或指数平滑模型220a的一个或多个变体。
在一些实施例中,ARIMA模型220b是具有以下表示的自回归移动平均(ARMA)模型的泛化:
Figure BDA0003549297940000061
上面的表示可以简化为以下:
φp(B)Yi=θq(B)ai
在上述表示中,Yt表示由时间步长t索引的时间序列中的值Y,φ1,...,φp是待估计的自回归参数,θ1,,θq是待估计的移动平均参数,并且a1,,at表示假设服从正态分布的一系列未知的随机误差(或残差)。
在一个实施例中,训练模块133利用Box-Jenkins方法来检测历史时间序列数据210中存在或者不存在平稳性和/或季节性。例如,Box-Jenkins方法可以利用自相关函数(ACF)、偏ACF、相关图、谱图和/或用于评估时间序列中的平稳性和/或季节性的另一种技术。
当训练模块133确定仅非平稳性被发现时,训练模块133可以将差分度d添加到ARMA模型以产生具有以下形式的ARIMA模型:
φp(B)(1-B)dγd=Bq(B)ai
当训练模块133确定季节性被发现时,训练模块133可以将季节性组件添加到ARIMA模型以产生具有以下形式的季节性ARIMA(SARIMA)模型:
φP(B)Φ(P)(B*)(1-B)d(1-B*)DYtθq(B)θQ(B*)at
在SARIMA模型中,参数120p、d和q分别表示自回归阶、差阶和移动平均阶的趋势元素;参数120P、D和Q分别表示自回归阶、差分阶和移动平均阶的季节性元素;并且参数s表示时间序列中的季节数(例如,每小时、每天、每周、每月、每年等)。
在一个或多个实施例中,训练模块133将傅立叶项221e应用于时间序列模型220。例如,当多个季节在时间序列中被检测到时,季节性模式可以使用傅立叶项221e来表示,该傅立叶项221e作为外部回归器被添加到ARIMA模型中:
Figure BDA0003549297940000071
在上面的等式中,Nt是ARIMA过程,P1,...,PM表示时间序列中的时间段(例如,每小时、每天、每周、每月、每年等),并且傅里叶项作为正弦和余弦对的加权和被包括。
时间序列模型220可以包括考虑历史数据210中的离群值214并且表示外部影响和/或冲击的外生变量224。在一个实施例中,训练模块133将外生变量224添加到上面的ARMA模型,以产生具有以下表示的带有外生输入模型的自回归移动平均模型(ARMAX):
Figure BDA0003549297940000072
在上面的表示中,β1,...,βr是时变外生输入X的参数。在附加的实施例中,训练模块133包括ARIMA和/或SARIMA模型中的外生。在计算***110中,外生变量可以表示***备份、批量作业、周期性故障转移和/或影响工作负载、资源利用率和/或时间序列中的其他度量的其他外部因素。这些外部因素可能导致不遵循历史时间序列数据210的潜在季节性模式的工作负载度量中的尖峰。
在一个或多个实施例中,指数平滑模型包括三角季节性Box-Cox ARMA趋势季节性组件(TBATS)模型。TBATS模型包括以下表示:
Figure BDA0003549297940000081
lc=li-1+φ-bi-1+α·d
bi=φ·bi-1+S·di
Figure BDA0003549297940000082
在上面的表示中,T为季节数,mi为第i个季节性时间段的长度,yt(λ)为t时刻经Box-Cox变换的时间序列,st (i)为第i个季节组件,lt为级别,bt为具有阻尼效应的趋势,dt是ARMA(p,q)过程,并且et是具有零均值和恒定方差的高斯白噪声。另外,Φ是趋势阻尼系数,α和β是平滑系数,
Figure BDA0003549297940000083
和θ是ARMA(p,q)系数。
TBATS模型的季节性组件使用以下表示:
Figure BDA0003549297940000084
Figure BDA0003549297940000085
Figure BDA0003549297940000086
Figure BDA0003549297940000087
在上面的等式中,ki是第i个季节性时间段所需的谐波数,λ是Box-Cox变换,并且γ1 (i)和γ2 (i)表示平滑参数。
因此,TBATS模型具有参数120T、mi、ki、λ、α、β、
Figure BDA0003549297940000088
θ、γ1 (i)和γ2 (i)。可以使用Akaike信息标准(AIC)从替代物中选择最终模型,这些替代物包括(但不限于):
·带有和不带有Box-Cox变换
·带有和不带有趋势
·带有和不带有趋势阻尼
·带有和不带有对残差建模的ARMA(p,q)过程
·带有和不带有季节性
·用于对季节性效应建模的谐波数量的变化
预测模块134从数据储存库200获得每个实体最近收集的度量的时间序列,并将数据输入到由训练模块133生成的对应时间序列模型中。继而,时间序列模型输出时间序列中的未来值的预估135作为与实体相关联的预估的工作负载、资源利用率和/或性能。这些预测可以检测与实体相关联的硬件和/或软件资源的操作中潜在的未来异常、错误、中断和/或故障。
当预估到给定实体的度量中的异常时,资源管理***130将预估的异常传送给管理该实体对被监控的***的使用所涉及的一个或多个用户。例如,资源管理***130可以包括用户界面140或者可以将信息发送到具有图形用户界面(GUI)、基于web的用户界面、移动用户界面、语音用户界面和/或显示作为时间的函数的度量图的其他类型的用户界面的用户界面140。该图还包括度量的一个或多个阈值和/或来自对应实体的时间序列模型的度量的预测值的表示。当预测值违反给定阈值时,用户界面显示突出显示、着色、阴影和/或作为实体对被监控的***的使用中的未来异常或问题的预估的违反的其他指示。
在另一个示例中,资源管理***130可以向被监控的***的管理员生成警报、通知、电子邮件和/或预估的异常的另一种通信,以允许管理员采取预防措施(例如,在实体的资源利用率导致故障或中断之前分配和/或提供附加的资源供实体使用)。
预测模块134包括陈旧性确定模块136,其执行所选模型的循环分析以确定模型是否陈旧。例如,如果陈旧性确定模块136确定模型超过一周之旧或具有超过预定阈值的错误率,则资源管理***130可以使用训练模块133和监控模块131获取的最近的历史数据210来重新训练模型。
在一个或多个实施例中,资源管理***130可以包括比图2中所示的组件更多或更少的组件。例如,训练模块133和监控模块131可以相互包括、共同执行或相互排斥。图2中所示的组件可以位于彼此本地或远程。图2中所示的组件可以用软件和/或硬件来实现。每个组件可以分布在多个应用和/或机器上。多个组件可以组合成一个应用和/或机器。关于一个组件描述的操作可以替代地由另一个组件执行。
与计算机网络有关的附加实施例和/或示例在下面题为“计算机网络和云网络”的第5部分中被描述。
在一个或多个实施例中,数据储存库(例如,数据储存库200)是用于存储数据的任何类型的存储单元和/或设备(例如,文件***、数据库、表格集合或任何其他存储机制)。数据储存库可以在与训练模块133和监控模块131相同的计算***上或在与训练模块133和监控模块131分离的计算***上实现或可在其上执行。数据储存库可以经由直接连接或经由网络通信地耦合到训练模块133和监控模块131。此外,数据储存库可以包括多个不同的存储单元和/或设备。多个不同的存储单元和/或设备可以是或可以不是相同类型或位于相同物理站点。
在一个或多个实施例中,资源管理***130是指被配置为执行本文所述的用于预测计算工作负载的操作的硬件和/或软件。下面描述这样的操作的示例。
在实施例中,资源管理***130在一个或多个数字设备上实现。术语“数字设备”通常是指包括处理器的任何硬件设备。数字设备可以指执行应用或虚拟机的物理设备。数字设备的示例包括计算机、平板电脑、膝上型电脑、台式机、上网本、服务器、web服务器、网络策略服务器、代理服务器、通用机器、特定功能硬件设备、硬件路由器、硬件交换机、硬件防火墙、硬件防火墙、硬件网络地址转换器(NAT)、硬件负载均衡器、大型机、电视、内容接收器、机顶盒、打印机、移动手持终端、智能手机、个人数字助理(“PDA”)、无线接收器和/或发射器、基站、通信管理设备、路由器、交换机、控制器、接入点和/或客户端设备。
在一个或多个实施例中,用户界面是指被配置为促进用户和资源管理***130之间的通信的硬件和/或软件。用户界面呈现用户界面元素并且经由用户界面元素接收输入。界面的示例包括图形用户界面(GUI)、命令行界面(CLI)、触觉界面和语音命令界面。用户界面元素的示例包括复选框、单选按钮、下拉列表、列表框、按钮、切换键、文本字段、日期和时间选择器、命令行、滑块、页面和表单。
在实施例中,用户界面的不同组件以不同语言指定。用户界面元素的行为是以诸如JavaScript之类的动态编程语言指定的。用户界面元素的内容是以诸如超文本标记语言(HTML)或XML用户界面语言(XUL)之类的标记语言指定的。用户界面元素的布局是以诸如层叠样式表(CSS)之类的样式表语言指定的。替代地,用户界面以诸如Java、C或C++之类的一种或多种其他语言指定。
3.用于预测计算工作负载的时间序列分析
图3图示了根据一个或多个实施例的执行时间序列分析以预测计算工作负载的流程图。在一个或多个实施例中,可以省略、重复和/或以不同的顺序执行步骤中的一个或多个步骤。因此,图3中所示的步骤的具体布置不应被解释为限制实施例的范围。
最初,被监控的***的资源管理***获得包含从被监控的***收集的度量的历史时间序列数据(操作301)。资源管理***可以从数据储存库获得给定实体(例如,客户、度量和粒度级别的组合)的历史时间序列数据。例如,资源管理***可以将实体的实体属性与在数据库中存储该实体的历史时间序列数据的记录(例如,在过去一周、一个月、一年和/或其他时间段从该实体收集的度量)匹配。每个记录可以包括度量值、表示生成该值的时刻的时间戳和/或表示该值在时间序列中的位置的索引。
资源管理***针对历史数据训练至少一个时间序列模型(操作302)。
图4示出了资源管理***针对历史数据训练时间序列模型的过程。在一个或多个实施例中,可以省略、重复和/或以不同的顺序执行步骤中的一个或多个步骤。因此,图4中所示的步骤的具体布置不应被解释为限制实施例的范围。
资源管理***将历史时间序列数据划分为训练数据集和测试数据集以训练一组时间序列模式(操作401)。例如,资源管理***可以用大部分时间序列数据(例如70-80%)填充训练数据集,并且用剩余的时间序列数据填充测试数据集116。在一些实施例中,资源管理***选择测试数据集的大小来表示每个时间序列模型的预测范围,这取决于时间序列数据的粒度。例如,资源管理***可以在测试数据集中包括针对每小时收集的数据的跨越一天的24次观察结果;针对每天收集的数据的跨越一周的七次观察结果;和/或针对每周收集的数据跨越大约一个月的四次观察结果。资源管理***可选地使用交叉验证技术从相同的时间序列数据生成多个训练数据集和测试数据集。
资源管理***执行调整操作以缩小要被分析的模型的数量(操作402)。在一个实施例中,资源管理***利用自相关函数(ACF)或偏自相关函数(PACF)来找到时间序列模型要使用的多个自回归项。例如,通过使用自相关函数,一组时间序列数据被复制并且副本被调节以滞后于原始时间序列数据集。通过将原始时间序列数据集与具有不同滞后时间的多个副本进行比较,历史数据中的模式(诸如季节性)可被识别。
通过执行调整操作,资源管理***确定历史数据是否包括季节性模式(操作403)、多季节性模式(操作404)、趋势(操作405)以及离群值或冲击(操作406)。基于历史时间序列数据的所识别的特性,资源管理***选择可能与历史数据非常拟合的特定时间序列模型。例如,在资源管理***计算ACF/PACF并识别历史数据中的多季节性的实施例中,资源管理***可以选择诸如ARIMA类型模型之类的模型以针对历史数据被训练。在ACF/PACF计算识别历史数据中的离群值或冲击的实施例中,资源管理***可以选择诸如SARIMAX类型模型之类的模型以针对历史数据被训练。资源管理***可以从多个不同类型的模型中进行选择以针对历史数据被训练,并且不同类型的模型可以与训练数据集拟合以被评估。例如,资源管理***可以计算ACF/PACF并确定ARIMA类型模型和SARIMAX类型模型两者都具有相似的作为历史数据的拟合的可能性。
在将一种或多种类型的模型识别为对历史数据的可能拟合时,资源管理***将所选时间序列模型的多个版本与训练数据集拟合(操作407)。具体地,资源管理***使用训练数据集来训练具有不同参数的一组时间序列模型(操作408)。例如,资源管理***可以使用Box-Jenkins方法和/或其他方法来为各种ARIMA类型模型和/或TBATS类型模型生成参数的搜索空间。在ARIMA类型模型被选择来拟合训练数据集的实施例中,存在参数(p,d,q),并且资源管理***使用不同参数值来识别参数的搜索空间。然后,资源管理***使用最大似然估计(MLE)技术、普通最小二乘法(OLS)技术和/或另一种技术来将每个模型与训练数据集拟合。
在资源管理***从训练数据集创建一组时间序列模型之后,资源管理***使用测试数据集来评估每个模型的性能(操作409)。详细地,资源管理***使用时间序列模型来基于时间序列数据中先前观察到的值生成测试数据集中值的预估。资源管理***还基于预估和测试数据集的对应值的比较来确定时间序列模型的准确性。例如,资源管理***针对从实体的历史时间序列数据生成的所有时间序列模型计算预估和对应的测试数据集值之间的均方误差(MSE)、均方根误差(RMSE)、AIC和/或模型质量或准确性的另一个度量。
在一个实施例中,时间序列模型包括外生变量以考虑历史数据中的尖峰或离群值。在一个实施例中,时间序列模型预估的未来数据点不并入外生变量的任何影响。在替代实施例中,由时间序列模型预估的未来数据点通过接受外生变量的值作为输入来并入外生变量的影响。附加地,或在替代物中,在一个实施例中,时间序列模型通过减少给予外生变量相对于表示历史数据中季节性模式的第一时间序列模型中的其他变量的权重,并入外生变量对由第一时间序列模型预估的未来数据点的影响。
在一个实施例中,资源管理***利用时间序列模型的傅里叶变换来确定时间序列模型的准确性。资源管理***可以将傅里叶变换应用于时间序列模型,以将时间序列模型与测试数据集进行比较,以确定相应时间序列模型的准确性。
最后,资源管理***生成一个或多个时间序列模型的选择以用于评估相同实体的后续时间序列度量(操作410)。例如,资源管理***在选择中包括在预估测试数据集中的值时具有最高准确性的一个或多个时间序列模型。
在一个或多个表现最佳的时间序列模型被选择用于一个或多个实体后,资源管理***将每个模型的参数存储在模型储存库中。资源管理***还或者替代地向监控模块、用户界面和/或资源管理***的其他组件提供模型的表示。在一个或多个实施例中,表现最佳的时间序列模型包括考虑历史时间序列数据中的季节性、多季节性和冲击或离群值的组件。时间序列模型的这些组件提高了模型的准确性,并允许模型适应于从被监控的***收集的各种类型的时间序列数据。在一个实施例中,时间序列模型包括考虑历史时间序列数据中的离群值的外生变量,使得使用历史时间序列数据生成的模型中的离群值不影响资源管理***的预测中的度量值。
在一个实施例中,资源管理***将傅里叶变换应用于时间序列模型。例如,当多个季节在时间序列中被检测到时,季节性模式可以使用傅里叶项来表示。
返回图3,在一个或多个实施例中,资源管理***使用由资源管理***选择的时间序列模型来生成时间序列度量的预测(操作303)。例如,资源管理***可以预测与被监控的***中的处理器、存储器、存储装置、网络、I/O、线程池和/或其他类型的资源相关的工作负载和/或利用率。
为了产生预测,资源管理***将每个实体的最近收集的度量的时间序列输入到对应的时间序列模型中。继而,时间序列模型将时间序列中的未来值的预估输出为与实体相关联的预估的工作负载、资源利用率和/或性能。
资源管理***可以另外包括基于预测与对应阈值的比较来预估异常的功能。例如,阈值可以表示实体的资源利用率的限制和/或与实体相关联的性能度量的服务水平目标。当预测的度量违反(例如,超过)对应阈值时,资源管理***可以检测与实体相关联的硬件和/或软件资源的操作中潜在的未来异常、错误、中断和/或故障。
当预估到给定实体的度量中的异常时,资源管理***将预估的异常传送给管理该实体对被监控的***的使用所涉及的一个或多个用户。例如,资源管理***可以包括图形用户界面(GUI)、基于web的用户界面、移动用户界面、语音用户界面和/或显示作为时间的函数的度量图的其他类型的用户界面。该图还包括度量的一个或多个阈值和/或来自对应实体的时间序列模型的度量的预测值的表示。当预测值违反给定阈值时,用户界面显示突出显示、着色、阴影和/或作为实体对被监控的***的使用的未来异常或问题的预估的违反的其他指示。在另一个示例中,监控模块可以向被监控的***的管理员生成警报、通知、电子邮件和/或预估的异常的另一种通信,以允许管理员采取预防措施(例如,在实体的资源利用率导致故障或中断之前分配和/或提供附加的资源供实体使用)。
资源管理***持续监控用于预估实体的未来度量的时间序列模型以确定模型是否陈旧(操作304)。如果时间序列模型的错误率超过预定阈值或者如果预定时间段已经过去,则资源管理***确定时间序列模型是陈旧的。根据一个实施例,如果均方根误差(RMSE)低于95%的准确性,则资源管理***确定时间序列模型是陈旧的。替代实施例涵盖任何期望的准确性水平的时间序列模型。此外,或替代地,如果自时间序列模型被训练以来已经过去了多于一周,则资源管理***可以确定时间序列模型是陈旧的。虽然一周作为用于确定时间序列模型是否陈旧的时间表的示例被提供,但实施例涵盖任何时间段,其可以根据历史数据和预测的粒度被调节。
在自给定时间序列模型已被训练、用于生成预测和/或预估异常以来已经过去一段时间之后,资源管理***使用来自对应实体的更近的时间序列数据重新训练时间序列模型(操作301)。例如,资源管理***可以从最近几天、几周、几个月和/或其他持续时间收集的度量定期获取和/或生成新的训练数据集和测试数据集。资源管理***可以使用新的训练数据集生成具有不同参数值组合的一组时间序列模型,并使用新的测试数据集评估生成的时间序列模型的准确性。然后,资源管理***可以选择最准确和/或表现最佳的时间序列模型中的一个或多个,以包含在模型储存库中和/或供监控模块用于生成预测和/或预估在后续时间段中实体的异常。
如果资源管理***确定时间序列模型不是陈旧的,则资源管理***为每个实体获得新收集的度量的时间序列(操作305),并将新收集的度量提供给时间序列模型来预估新的未来值(操作306)。
图5更详细地图示了资源管理***选择包括一个或多个外生变量的模型的过程。在一个或多个实施例中,可以省略、重复和/或以不同的顺序执行步骤中的一个或多个步骤。因此,图4中所示的步骤的具体布置不应被解释为限制实施例的范围。
资源管理***识别一组历史数据点的季节性模式(操作501)。资源管理***确定历史数据点的至少一部分是否包括离群值或冲击(操作502)。在一个实施例中,资源管理***利用自相关函数(ACF)或偏自相关函数(PACF)来找到时间序列模型要使用的多个自回归项,并识别历史数据是否包括离群值或冲击。然而,本发明的实施例不限于这些类型的函数。实施例涵盖可应用于历史数据以识别历史数据中的异常值的任何函数。
如果资源管理***识别历史数据中的一个或多个离群值,则资源管理***测试并入季节性模式和一个或多个外生变量的时间序列模型(操作503)。资源管理***确定时间序列模型是否在预定阈值内拟合历史数据(操作504)。如果时间序列模型在预定阈值内拟合历史数据,则资源管理***选择时间序列模型作为预估未来度量的候选者(操作505)。例如,参考图4,资源管理***比较选择的候选模型以确定哪个具有最佳性能,并选择最佳时间序列模型来预估未来度量(图4,操作410)。
如果资源管理***确定历史数据不包括离群值或冲击(操作502),则资源管理***测试不并入外生变量的时间序列模型(操作506)。
4.使用预测的计算工作负载的异常检测
图6图示了根据一个或多个实施例的使用预测的计算工作负载的异常检测的流程图。在一个或多个实施例中,可以省略、重复和/或以不同的顺序执行步骤中的一个或多个步骤。因此,图6中所示的步骤的具体布置不应被解释为限制实施例的范围。
最初,资源管理***从被拟合到包含从被监控的***收集的度量的历史时间序列数据的时间序列模型的多个版本中选择在预估度量方面具有最佳性能的时间序列模型版本(操作601)。例如,可以从具有用于创建时间序列模型的参数的不同组合的多个版本中选择版本。
接下来,资源管理***将所选版本应用于从被监控的***收集的附加时间序列数据以从度量生成对未来值的预估(操作602)。例如,所选版本基于先前观察到的度量值生成预估。
资源管理***监控预估的度量并检测预估的度量何时违反预定阈值(操作603)。当预估违反与度量相关联的预定阈值时,资源管理***生成被监控的***中的预估的异常的指示(操作604)。例如,将预估的未来值与表示度量上限的阈值(例如,80%的资源利用率)进行比较。当预估的未来值中的一些或全部超过阈值时,被违反的阈值的警报、通知和/或其他通信被生成并被发送到被监控的***的管理员。
5.包括外生变量的时间序列模型的示例实施例
图7图示了图示根据本发明的一个实施例的使用时间序列模型来预估度量的图。在图7中,线710表示测量的度量,其可以构成资源管理***用来训练时间序列模型以用于预测被监控的***的度量值的历史数据。显示为虚线的线720表示由资源管理***生成的预测,而显示为点线的线730表示累积平均值并且出于比较的目的而显示。
在本发明的实施例中,时间序列模型可以包括变量或组件以考虑季节性(诸如在一天中特定小时的重复的高峰或低谷)、多季节性(诸如一周中特定日期的重复的高峰或低谷,以及一天中特定小时的重复的高峰和低谷)和趋势(诸如随时间增加或随时间减少,具有季节性和多季节性)。
实施例还包括具有外生变量以考虑由附图标记711和712指出的尖峰或离群值的时间序列模型。尖峰或离群值可对应于事件,诸如需要大量资源的***的不定期调度的备份,或导致历史数据中的度量值中的非经常性或不规则发生的尖峰的任何外部事件。在时间序列模型包括外生变量的实施例中,这些尖峰或离群值可以在模型中被考虑,并且离群值的值不被并入未来预估或预测中。换句话说,虽然用于训练时间序列模型的历史数据中的尖峰或离群值可能通常具有使预估偏向尖峰或离群值的值的趋势,但时间序列模型包括外生变量的实施例能够在模型针对历史数据被训练时考虑尖峰或离群值。由于在时间序列模型中包含外生变量,所以时间序列模型产生的预测不会由于用于训练时间序列模型的历史数据中的尖峰或离群值而偏斜。
6.计算机网络和云网络
在一个或多个实施例中,计算机网络提供一组节点之间的连通性。节点可以在彼此本地和/或彼此远离。节点由一组链路连接。链路的示例包括同轴电缆、非屏蔽双绞线、铜缆、光纤和虚拟链路。
节点的子集实现了计算机网络。这样的节点的示例包括交换机、路由器、防火墙和网络地址转换器(NAT)。节点的另一个子集使用计算机网络。这样的节点(也被称为“主机”)可以执行客户端进程(process)和/或服务器进程。客户端进程请求计算服务(诸如,特定应用的执行和/或特定数据量的存储)。服务器进程通过执行请求的服务和/或返回对应数据来响应。
计算机网络可以是物理网络,包括通过物理链路连接的物理节点。物理节点是任何数字设备。物理节点可以是特定功能的硬件设备,诸如硬件交换机、硬件路由器、硬件防火墙和硬件NAT。附加地或替代地,物理节点可以是被配置为执行各种虚拟机和/或执行相应功能的应用的通用机器。物理链路是连接两个或更多个物理节点的物理介质。链路的示例包括同轴电缆、非屏蔽双绞电缆、铜缆和光纤。
计算机网络可以是覆盖网络。覆盖网络是在另一个网络(诸如,物理网络)之上实现的逻辑网络。覆盖网络中的每个节点对应于底层网络中的相应节点。因此,覆盖网络中的每个节点都与覆盖地址(以寻址到覆盖节点)和底层地址(以寻址到实现覆盖节点的底层节点)相关联。覆盖节点可以是数字设备和/或软件进程(诸如,虚拟机、应用实例或线程)。连接覆盖节点的链路被实现为通过底层网络的隧道。隧道任一端的覆盖节点将它们之间的底层多跳路径视为单个逻辑链路。隧道是通过封装和解封装来执行的。
在实施例中,客户端可以在计算机网络本地和/或远离计算机网络。客户端可以通过其他计算机网络(诸如专用网络或因特网)访问计算机网络。客户端可以使用诸如超文本传输协议(HTTP)之类的通信协议将请求传送到计算机网络。请求通过接口(诸如客户端接口(诸如Web浏览器)、程序接口或应用编程接口(API))进行传送。
在实施例中,计算机网络提供客户端和网络资源之间的连通性。网络资源包括被配置为执行服务器进程的硬件和/或软件。网络资源的示例包括处理器、数据存储装置、虚拟机、容器和/或软件应用。网络资源在多个客户端之间共享。客户端彼此独立地从计算机网络请求计算服务。网络资源在按需的基础上被动态指派给请求和/或客户端。可以基于例如(a)特定客户端请求的计算服务,(b)特定租户请求的聚合计算服务,和/或(c)计算机网络请求的聚合计算服务来放大或缩小被指派给每个请求和/或客户端的网络资源。这样的计算机网络可以被称为“云网络”。
在实施例中,服务提供商向一个或多个终端用户提供云网络。云网络可以实现各种服务模型,包括但不限于软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。在SaaS中,服务提供商为终端用户提供使用在网络资源上执行的服务提供商的应用的能力。在PaaS中,服务提供商为终端用户提供将定制应用部署到网络资源上的能力。可以使用服务提供商支持的编程语言、库、服务和工具来创建定制应用。在IaaS中,服务提供商为终端用户提供供应由网络资源提供的处理、存储、网络和其他基础计算资源的能力。任何任意应用程序,包括操作***,都可以被部署在网络资源上。
在实施例中,可以通过计算机网络实现各种部署模型,包括但不限于私有云、公共云和混合云。在私有云中,网络资源被供应用于由一个或多个实体的特定组独占使用(本文使用的术语“实体”是指公司、组织、个人或其他实体)。网络资源可以位于特定实体组的场所本地和/或远离特定实体组的场所。在公共云中,云资源被供应用于彼此独立的多个实体(也被称为“租户”或“客户”)。计算机网络及其网络资源由对应于不同租户的客户端访问。这样的计算机网络可以被称为“多租户计算机网络”。若干租户可以在不同时间和/或同时使用相同的特定网络资源。网络资源可以位于租户的场所本地和/或远离租户的场所。在混合云中,计算机网络包括私有云和公共云。私有云和公共云之间的接口允许数据和应用的可移植性。存储在私有云处的数据和存储在公共云处的数据可以通过接口进行交换。在私有云处实现的应用和在公共云处实现的应用可能彼此具有依赖关系。可以通过接口执行从私有云处的应用对公共云处的应用的调用(反之亦然)。
在实施例中,多租户计算机网络的租户彼此独立。例如,一个租户的业务或操作可能与另一个租户的业务或操作分开。不同的租户对计算机网络可能要求不同的网络需求。网络需求的示例包括处理速度、数据存储量、安全需求、性能需求、吞吐量需求、延迟需求、弹性需求、服务质量(QoS)需求、租户隔离和/或一致性。相同计算机网络可能需要实现不同租户要求的不同网络需求。
在一个或多个实施例中,在多租户计算机网络中,实现租户隔离,以确保不同租户的应用和/或数据不彼此共享。可以使用各种租户隔离方法。
在实施例中,每个租户都与租户ID相关联。多租户计算机网络的每个网络资源都被标记有租户ID。仅当租户和特定网络资源与相同租户ID相关联时,租户才被允许访问特定网络资源。
在实施例中,每个租户都与租户ID相关联。由计算机网络实现的每个应用都被标记有租户ID。附加地或替代地,由计算机网络存储的每个数据结构和/或数据集都被标记有租户ID。仅当租户和特定应用、数据结构和/或数据集与相同租户ID相关联时,租户才被允许访问特定应用、数据结构和/或数据集。
例如,由多租户计算机网络实现的每个数据库都可以被标记有租户ID。只有与对应租户ID相关联的租户可以访问特定数据库的数据。作为另一个示例,由多租户计算机网络实现的数据库中的每个条目可以被标记有租户ID。只有与对应租户ID相关联的租户可以访问特定条目的数据。但是,数据库可由多个租户共享。
在实施例中,订阅列表指示哪些租户有权访问哪些应用。对于每个应用,存储被授权访问该应用的租户的租户ID列表。仅当租户的租户ID被包括在对应于特定应用的订阅列表中时,租户才被允许访问特定应用。
在实施例中,对应于不同租户的网络资源(诸如数字设备、虚拟机、应用实例和线程)与由多租户计算机网络维护的租户特定覆盖网络隔离。作为示例,来自租户覆盖网络中任何源设备的分组可以仅被发送到相同租户覆盖网络内的其他设备。封装隧道被用于禁止从租户覆盖网络上的源设备到其他租户覆盖网络中的设备的任何传输。具体地,从源设备接收的分组被封装在外部分组内。外部分组从(与租户覆盖网络中的源设备通信的)第一封装隧道端点被发送到(与租户覆盖网络中的目的地设备通信的)第二封装隧道端点。第二封装隧道端点对外部分组进行解封装以获得由源设备发送的原始分组。原始分组从第二封装隧道端点被发送到相同特定覆盖网络中的目的地设备。
7.杂项;扩展
实施例涉及一种具有一个或多个设备的***,该一个或多个设备包括硬件处理器并且被配置为执行本文描述的和/或在以下任何权利要求中记载的任何操作。
在实施例中,一种非暂时性计算机可读存储介质包括指令,当该指令由一个或多个硬件处理器执行时,导致执行本文描述的和/或在任何权利要求中记载的任何操作。
可以根据一个或多个实施例使用本文描述的特征和功能的任何组合。在前述说明书中,已经参考可能随实现而改变的许多具体细节描述了实施例。因此,说明书和附图被认为是说明性的而不是限制性的。本发明范围的唯一且排他的指示物,以及申请人旨在作为本发明范围的内容,是以这样的权利要求发布的具体形式从本申请所发布的权利要求集合的字面和等效范围,包括任何后续更正。
8.硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备实现。专用计算设备可以是硬连线的以执行技术,或者可以包括被永久编程以执行技术的数字电子设备,诸如一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或网络处理单元(NPU),或者可以包括被编程为根据固件、存储器、其他存储装置或组合中的程序指令来执行技术的一个或多个通用硬件处理器。这样的专用计算设备还可以将自定义的硬连线逻辑、ASIC、FPGA或NPU与自定义的编程相结合来完成技术。专用计算设备可以是台式计算机***、便携式计算机***、手持设备、联网设备或并入了硬连线和/或程序逻辑以实现技术的任何其他设备。
例如,图8是图示了可以在其上实现本发明的实施例的计算机***800的框图。计算机***800包括总线802或用于传送信息的其他通信机制,以及与总线802耦合以用于处理信息的硬件处理器804。硬件处理器804可以是例如通用微处理器。
计算机***800还包括耦合到总线802的主存储器806,诸如随机存取存储器(RAM)或其他动态存储设备,以用于存储要由处理器804执行的信息和指令。主存储器806还可以用于在要由处理器804执行的指令的执行期间存储临时变量或其他中间信息。这样的指令当被存储在处理器804可访问的非暂时性存储介质中时,将计算机***800呈现为被自定义以执行指令中指定的操作的专用机器。
计算机***800还包括耦合到总线802的只读存储器(ROM)808或其他静态存储设备,以用于为处理器804存储静态信息和指令。诸如磁盘或光盘之类的存储设备810被提供并耦合到总线802,以用于存储信息和指令。
计算机***800可以经由总线802被耦合到显示器812,诸如阴极射线管(CRT),用于向计算机用户显示信息。包括字母数字键和其他键的输入设备814被耦合到总线802,用于将信息和命令选择传送到处理器804。另一种类型的用户输入设备是光标控件816,诸如鼠标、轨迹球或用于将方向信息和命令选择传送到处理器804并用于控制显示器812上的光标移动的光标方向键。此输入设备通常在两个轴(第一轴(例如,x)和第二轴(例如,y))中具有两个自由度,这允许设备指定平面中的位置。
计算机***800可以使用自定义的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑(它们与计算机***结合导致计算机***800成为专用机器或将计算机***800编程为专用机器)来实现本文描述的技术。根据一个实施例,本文的技术由计算机***800响应于处理器804执行包含在主存储器806中的一个或多个指令的一个或多个序列而执行。这样的指令可以从另一存储介质(诸如存储设备810)被读入主存储器806中。包含在主存储器806中的指令序列的执行导致处理器804执行本文描述的处理步骤。在替代实施例中,可以代替或结合软件指令使用硬连线电路。
本文使用的术语“存储介质”是指存储导致机器以特定方式运行的数据和/或指令的任何非暂时性介质。这样的存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备810。易失性介质包括动态存储器,诸如主存储器806。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其他磁性数据存储介质、CD-ROM、任何其他光学数据存储介质、具有孔图案的任何物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其他存储器芯片或盒式磁盘、内容可寻址存储器(CAM)和三态内容可寻址存储器(TCAM)。
存储介质不同于传输介质但可以与传输介质结合使用。传输介质参与在存储介质之间传送信息。例如,传输介质包括同轴电缆、铜线和光纤,包括包含总线802的电线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的声波或光波。
将一个或多个指令的一个或多个序列携带到处理器804以用于执行可能涉及各种形式的介质。例如,指令最初可以被携带在远程计算机的磁盘或固态驱动器上。远程计算机可以将指令加载到其动态存储器中,并使用调制解调器通过电话线发送指令。计算机***800本地的调制解调器可以在电话线上接收数据并使用红外发射器将数据转换成红外信号。红外检测器可以接收红外信号中携带的数据,并且适当的电路可以将数据放置在总线802上。总线802将数据携带到主存储器806,处理器804从主存储器806检索并执行指令。主存储器806接收的指令在由处理器804执行之前或之后可以可选地被存储在存储设备810上。
计算机***800还包括耦合到总线802的通信接口818。通信接口818提供到被连接到本地网络822的网络链路820的双向数据通信耦合。例如,通信接口818可以是集成服务数字网络(ISDN)卡、电缆调制解调器、卫星调制解调器,或提供到对应类型电话线的数据通信连接的调制解调器。作为另一个示例,通信接口818可以是提供到兼容LAN的数据通信连接的局域网(LAN)卡。也可以实现无线链路。在任何这样的实现中,通信接口818发送和接收携带表示各种类型的信息的数字数据流的电、电磁或光信号。
网络链路820通常通过一个或多个网络向其他数据设备提供数据通信。例如,网络链路820可以提供通过本地网络822到主机计算机824或到由因特网服务提供商(ISP)826操作的数据设备的连接。ISP 826继而通过现在通常被称为“因特网”828的全球分组数据通信网络提供数据通信服务。本地网络822和因特网828两者都使用携带数字数据流的电、电磁或光信号。通过各种网络的信号和网络链路820上的以及通过通信接口818的信号(这些信号将数字数据携带到计算机***800以及从计算机***800携带数字数据)是传输介质的示例形式。
计算机***800可以通过(一个或多个)网络、网络链路820和通信接口818发送消息和接收数据,包括程序代码。在因特网示例中,服务器830可以通过因特网828、ISP 826、本地网络822和通信接口818发送应用的请求代码。
接收到的代码可以在其被接收到时由处理器804执行,和/或被存储在存储设备810或其他非易失性存储装置中以用于稍后执行。
在前述说明书中,已经参考可能随实现而改变的许多具体细节描述了本发明的实施例。因此,说明书和附图被认为是说明性的而不是限制性的。本发明范围的唯一和排他性指示物,以及申请人旨在作为本发明范围的内容,是以这样的权利要求发布的具体形式从本申请所发布的权利要求集合的字面和等效范围,包括任何后续更正。

Claims (22)

1.一个或多个非暂时性机器可读介质,所述一个或多个非暂时性机器可读介质存储指令,所述指令当由一个或多个处理器执行时,使得:
接收数据集的历史数据点集;
确定所述历史数据点集的第一部分包括不对应于与所述历史数据点集的第二部分相关联的至少一个季节性模式的至少一个离群值;
测试并入对应于第一外生因素的第一外生变量的第一时间序列模型,以确定第一时间序列模型在误差阈值内与所述历史数据点集的第一部分和所述历史数据点集的第二部分两者拟合;以及
选择第一时间序列模型来预估所述数据集的未来数据点。
2.如权利要求1所述的一个或多个非暂时性机器可读介质,其中由第一时间序列模型预估的所述未来数据点不并入所述外生变量的任何影响。
3.如权利要求1所述的一个或多个非暂时性机器可读介质,其中由第一时间序列模型预估的所述未来数据点通过接受所述外生变量的值作为输入来并入所述外生变量的影响。
4.如权利要求1或3所述的一个或多个非暂时性机器可读介质,其中第一时间序列模型通过减少给予所述外生变量相对于表示所述至少一个季节性模式的第一时间序列模型中的第一变量的权重来并入所述外生变量对由第一时间序列模型预估的未来数据点的影响。
5.如权利要求1-4中任一项所述的一个或多个非暂时性机器可读介质,其中所述操作还包括:
测试并入对应于第二外生因素的第二外生变量的第二时间序列模型,以确定第二时间序列模型不在所述误差阈值内与所述历史数据点集的第一部分和所述历史数据点集的第二部分两者拟合;以及
基于测试第二时间序列模型避免选择第二时间序列模型。
6.如权利要求1-4中任一项所述的一个或多个非暂时性机器可读介质,其中所述操作还包括:
基于第一时间序列模型与所述历史数据点集的第一部分和所述历史数据点集的第二部分两者的拟合来确定第一时间序列模型的第一分数;以及
基于第二时间序列模型与所述历史数据点集的第一部分和所述历史数据点集的第二部分两者的拟合来确定第二时间序列模型的第二分数,
其中所述选择操作响应于基于第一分数和第二分数来确定第一时间序列模型比第二时间序列模型与所述数据集更拟合。
7.如权利要求7所述的一个或多个非暂时性机器可读介质,其中第二时间序列模型不包括任何外生变量。
8.如权利要求7所述的一个或多个非暂时性机器可读介质,其中第二时间序列模型包括第二外生变量。
9.如权利要求1-4、7或8中任一项所述的一个或多个非暂时性机器可读介质,其中所述操作还包括:
通过确定以下各项来确定第一时间序列模型是否陈旧:
第一时间序列模型是否比阈值到期值更旧;或者
第一时间序列模型是否具有低于95%的均方根误差RMSE;
基于确定第一时间序列模型陈旧,
接收第二数据集的新的历史数据点集;
测试并入对应于第二外生因素的第二外生变量的第二时间序列模型;
选择第二时间序列模型来预估第二数据集的未来数据点。
10.如权利要求1-4、7或8中任一项所述的一个或多个非暂时性机器可读介质,其中所述操作还包括:
通过确定以下各项来确定第一时间序列模型是否陈旧:
第一时间序列模型是否比阈值到期值更旧;或者
第一时间序列模型是否具有低于95%的均方根误差RMSE;
基于确定第一时间序列模型不陈旧,
接收第二数据集的新的历史数据点集;以及
使用第一时间序列模型来预估第二数据集的未来数据点。
11.如权利要求1-10中任一项所述的一个或多个非暂时性机器可读介质,其中测试第一时间序列模型包括:
对第一时间序列模型执行傅里叶变换。
12.如权利要求1-11中任一项所述的一个或多个非暂时性机器可读介质,其中第一时间序列模型包括所述外生变量和所述历史数据中对应于所述至少一个季节性模式和至少一个多季节性模式的变量。
13.如权利要求1-12中任一项所述的一个或多个非暂时性机器可读介质,其中所述数据集是从计算***的工作负载中获得的,以及
所述操作还包括:
基于预估所述未来数据点而生成用于修改所述计算***的建议。
14.一种方法,包括:
接收数据集的历史数据点集;
确定所述历史数据点集的第一部分包括不对应于与所述历史数据点集的第二部分相关联的至少一个季节性模式的至少一个离群值;
测试并入对应于第一外生因素的第一外生变量的第一时间序列模型,以确定第一时间序列模型在误差阈值内与所述历史数据点集的第一部分和所述历史数据点集的第二部分两者拟合;以及
选择第一时间序列模型来预估所述数据集的未来数据点。
15.如权利要求14所述的方法,其中由第一时间序列模型预估的所述未来数据点不并入所述外生变量的任何影响。
16.如权利要求14或15所述的方法,其中所述操作还包括:
通过确定以下各项来确定第一时间序列模型是否陈旧:
第一时间序列模型是否比阈值到期值更旧;或者
第一时间序列模型是否具有低于95%的均方根误差RMSE;
基于确定第一时间序列模型陈旧,
接收第二数据集的新的历史数据点集;
测试并入对应于第二外生因素的第二外生变量的第二时间序列模型;
选择第二时间序列模型来预估第二数据集的未来数据点。
17.如权利要求14或15所述的方法,其中所述操作还包括:
通过确定以下各项来确定第一时间序列模型是否陈旧:
第一时间序列模型是否比阈值到期值更旧;或者
第一时间序列模型是否具有低于95%的均方根误差RMSE;
基于确定第一时间序列模型不陈旧,
接收第二数据集的新的历史数据点集;以及
使用第一时间序列模型来预估第二数据集的未来数据点。
18.如权利要求14-17中任一项所述的方法,其中测试第一时间序列模型包括:
对第一时间序列模型执行傅里叶变换。
19.如权利要求14-18中任一项所述的方法,其中第一时间序列模型包括所述外生变量和所述历史数据中对应于所述至少一个季节性模式和至少一个多季节性模式的变量。
20.如权利要求14-19中任一项所述的方法,其中所述数据集是从计算***的工作负载中获得的,以及
所述操作还包括:
基于预估所述未来数据点而生成用于修改所述计算***的建议。
21.一种装置,包括:
监控模块,被配置为监控***以从所述***获取度量数据,并将所述度量数据作为历史数据存储在数据储存库中;
训练模块,被配置为:
接收数据集的历史数据点集;
确定所述历史数据点集的第一部分包括不对应于与所述历史数据点集的第二部分相关联的至少一个季节性模式的至少一个离群值;
测试并入对应于第一外生因素的第一外生变量的第一时间序列模型,以确定第一时间序列模型在误差阈值内与所述历史数据点集的第一部分和所述历史数据点集的第二部分两者拟合;以及
选择第一时间序列模型来预估所述数据集的未来数据点。
22.一种装置,包括:
监控部件,用于监控***以从所述***获取度量数据,并用于将所述度量数据作为历史数据存储在数据储存库中;
训练部件,被配置为:
接收数据集的历史数据点集;
确定所述历史数据点集的第一部分包括不对应于与所述历史数据点集的第二部分相关联的至少一个季节性模式的至少一个离群值;
测试并入对应于第一外生因素的第一外生变量的第一时间序列模型,以确定第一时间序列模型在误差阈值内与所述历史数据点集的第一部分和所述历史数据点集的第二部分两者拟合;以及
选择第一时间序列模型来预估所述数据集的未来数据点。
CN202080066158.2A 2019-09-16 2020-07-16 用于预测计算工作负载的时间序列分析 Pending CN114430826A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962901088P 2019-09-16 2019-09-16
US62/901,088 2019-09-16
US201962939603P 2019-11-23 2019-11-23
US62/939,603 2019-11-23
US16/917,821 US11586706B2 (en) 2019-09-16 2020-06-30 Time-series analysis for forecasting computational workloads
US16/917,821 2020-06-30
PCT/US2020/042328 WO2021055087A1 (en) 2019-09-16 2020-07-16 Time-series analysis for forecasting computational workloads

Publications (1)

Publication Number Publication Date
CN114430826A true CN114430826A (zh) 2022-05-03

Family

ID=74869623

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080066158.2A Pending CN114430826A (zh) 2019-09-16 2020-07-16 用于预测计算工作负载的时间序列分析

Country Status (4)

Country Link
US (1) US11586706B2 (zh)
EP (1) EP4031994A1 (zh)
CN (1) CN114430826A (zh)
WO (1) WO2021055087A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115509549A (zh) * 2022-11-23 2022-12-23 中国电子信息产业集团有限公司 一种数据元件加工处理方法及计算机可读存储介质

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11341019B2 (en) * 2019-01-17 2022-05-24 Anodot Ltd. System and method for efficient estimation of high cardinality time-series models
US20210209486A1 (en) * 2020-01-08 2021-07-08 Intuit Inc. System and method for anomaly detection for time series data
US20220051128A1 (en) * 2020-08-14 2022-02-17 International Business Machines Corporation Predicting customer interaction outcomes
CN113344257B (zh) * 2021-05-21 2022-06-03 武汉大学 一种国土空间云平台中图层分析响应时间的预测方法
US11935570B2 (en) * 2021-06-30 2024-03-19 Oracle International Corporation Data tape quality analysis
US20230038977A1 (en) * 2021-08-06 2023-02-09 Peakey Enterprise LLC Apparatus and method for predicting anomalous events in a system
EP4307633A1 (en) * 2022-07-13 2024-01-17 Skyline Communications NV Determining trends of a time series
CN115660228B (zh) * 2022-12-14 2023-04-28 湖南能源大数据中心有限责任公司 发电负荷预测模型训练方法、预测方法、设备及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8005707B1 (en) * 2005-05-09 2011-08-23 Sas Institute Inc. Computer-implemented systems and methods for defining events
US8676964B2 (en) 2008-07-31 2014-03-18 Riverbed Technology, Inc. Detecting outliers in network traffic time series
US8620834B2 (en) * 2010-06-04 2013-12-31 Hewlett-Packard Development Company, L.P. Forecasting through time domain analysis
CA2855731A1 (en) * 2011-11-14 2013-05-23 Energent Incorporated System, method and computer program for forecasting energy price
SE537197C2 (sv) 2012-10-05 2015-03-03 Elastisys Ab Metod, nod och datorprogram för möjliggörande av automatiskanpassning av resursenheter
US9204319B2 (en) 2014-04-08 2015-12-01 Cellco Partnership Estimating long term evolution network capacity and performance
US10699211B2 (en) 2016-02-29 2020-06-30 Oracle International Corporation Supervised method for classifying seasonal patterns
US10635563B2 (en) 2016-08-04 2020-04-28 Oracle International Corporation Unsupervised method for baselining and anomaly detection in time-series data for enterprise systems
US10372572B1 (en) * 2016-11-30 2019-08-06 Amazon Technologies, Inc. Prediction model testing framework
US10387900B2 (en) * 2017-04-17 2019-08-20 DataRobot, Inc. Methods and apparatus for self-adaptive time series forecasting engine
US20190236497A1 (en) * 2018-01-31 2019-08-01 Koninklijke Philips N.V. System and method for automated model selection for key performance indicator forecasting
US11551111B2 (en) * 2018-04-19 2023-01-10 Ptc Inc. Detection and use of anomalies in an industrial environment

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115509549A (zh) * 2022-11-23 2022-12-23 中国电子信息产业集团有限公司 一种数据元件加工处理方法及计算机可读存储介质

Also Published As

Publication number Publication date
US20210081492A1 (en) 2021-03-18
US11586706B2 (en) 2023-02-21
WO2021055087A1 (en) 2021-03-25
EP4031994A1 (en) 2022-07-27

Similar Documents

Publication Publication Date Title
US11586706B2 (en) Time-series analysis for forecasting computational workloads
US20210073680A1 (en) Data driven methods and systems for what if analysis
US11640320B2 (en) Correlation of thread intensity and heap usage to identify heap-hoarding stack traces
US10942721B2 (en) Context-based analytical engine for extending application functionality
US11537940B2 (en) Systems and methods for unsupervised anomaly detection using non-parametric tolerance intervals over a sliding window of t-digests
Vilalta et al. Predictive algorithms in the management of computer systems
EP3367311B1 (en) Machine learning for preventive assurance and recovery action optimization
US20230205664A1 (en) Anomaly detection using forecasting computational workloads
US11676183B1 (en) Translator-based scoring and benchmarking for user experience testing and design optimizations
US11204851B1 (en) Real-time data quality analysis
US20230153165A1 (en) Multi-layer forecasting of computational workloads
US11212162B2 (en) Bayesian-based event grouping
US11222028B2 (en) Report recommendation engine
US20230195591A1 (en) Time series analysis for forecasting computational workloads
US20230128408A1 (en) Unified user interface for monitoring hybrid deployment of computing systems
US20220164405A1 (en) Intelligent machine learning content selection platform
US20220253781A1 (en) Method, device and computer readable storage medium for data processing
Zhang et al. Kubedim: Self-Adaptive Service Degradation of Microservices-Based Systems
Singh et al. Meta-learning based architectural and algorithmic optimization for achieving green-ness in predictive workload analytics

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