掌桥专利:专业的专利平台
掌桥专利
首页

预测方法及装置、设备、存储介质

文献发布时间:2023-06-19 13:26:15


预测方法及装置、设备、存储介质

技术领域

本申请实施例涉及通信技术,涉及但不限于一种预测方法及装置、设备、存储介质。

背景技术

在存储装置的使用过程中,可能会出现存储装置的某一类参数值在短期内产生剧烈波动的情况,在这种情况下,如果未来该存储装置的参数值继续按照此趋势发展,很有可能会影响到整个系统的运行与使用,因此对于存储装置的参数值的预测与监控是十分必要的。

发明内容

有鉴于此,本申请实施例提供的预测方法及装置、设备、存储介质是这样实现的:

根据本申请实施例的一个方面,提供一种预测方法,包括:获取第一样本数据,所述第一样本数据包括存储装置在第一时间段的采样时刻的第一参数值;从所述各个采样时刻的第一参数值中查找出第一目标极值,所述第一目标极值的采样时刻与特定采样时刻之间的时间间隔大于第一阈值,所述特定采样时刻属于所述第一时间段;基于所述第一目标极值的采样时刻至所述特定采样时刻之间的所述第一参数值,预测所述存储装置在第二时间段的采样时刻的第二参数值。

根据本申请实施例的一个方面,提供一种预测装置,包括:获取模块,用于获取第一样本数据,所述第一样本数据包括存储装置在第一时间段的采样时刻的第一参数值;查找模块,用于从所述各个采样时刻的第一参数值中查找出第一目标极值,所述第一目标极值的采样时刻与特定采样时刻之间的时间间隔大于第一阈值,所述特定采样时刻属于所述第一时间段;预测模块,用于基于所述第一目标极值的采样时刻至所述特定采样时刻之间的所述第一参数值,预测所述存储装置在第二时间段的采样时刻的第二参数值。

根据本申请实施例的一个方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本申请实施例所述的方法。

根据本申请实施例的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本申请实施例提供的所述的方法。

在本申请实施例中,在预测存储装置在第二时间段的采样时刻的第二参数值时,是基于第一时间段内的第一目标极值的采样时刻至特定采样时刻之间的第一参数值来确定的。这样,一方面,基于第一目标极值的采样时刻至特定采样时刻之间的第一参数值进行预测,而不是基于第一时间段的全部第一参数值进行预测,能够得到较为准确的第二参数值。这是因为:第一目标极值的采样时刻至特定采样时刻之间的第一参数值的发展趋势相对稳定,能够更大程度上代表存储装置在未来的参数发展趋势;另一方面,这种设置第一阈值的方式,能够避免短期内的抖动对短期预测趋势方向和程度产生干扰,使得第一目标极值对应的采样时刻与特定采样时刻的间隔不会太短,从而能够基于适量的参数值,准确且快速地得到存储装置在第二时间段的第二参数值。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

图1为本申请实施例提供的一种预测方法的实现流程示意图;

图2为本申请实施例提供的包含有目标极值的数据示意图;

图3为本申请实施例提供的一种预测方法的实现流程示意图;

图4为本申请实施例提供的预测得到的线性关系示意图;

图5为本申请实施例提供的一种预测方法的实现流程示意图;

图6为本申请实施例提供的一种呈现周期震荡的数据示意图;

图7为本申请实施例提供的一种包络线预测示意图;

图8为本申请实施例提供的一种数据产生剧烈波动的示意图;

图9为本申请实施例提供的一种预测方法的实现流程示意图;

图10为本申请实施例提供的短期波动影响分析报告示意图;

图11为本申请实施例提供的一种实际数据突破包络线的示意图;

图12为本申请实施例预测装置的结构示意图;

图13为本申请实施例提供的电子设备的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请的具体技术方案做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。

除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。

在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。

需要指出,本申请实施例所涉及的术语“第一\第二\第三”不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。

本申请实施例提供一种预测方法,该方法应用于电子设备,该电子设备在实施的过程中可以为各种类型的具有信息处理能力的设备,例如所述电子设备可以包括个人计算机(如台式机、笔记本电脑、小型笔记本电脑、平板电脑等)、手机、个人数字助理(PersonalDigital Assistant,PDA)、服务器、集群服务器、等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。

图1为本申请实施例提供的预测方法的实现流程示意图,如图1所示,该方法可以包括以下步骤101至步骤103:

步骤101,获取第一样本数据,第一样本数据包括存储装置在第一时间段的采样时刻的第一参数值。

在本申请实施例中,存储装置可以是各种各样具有存储功能的设备,如磁盘、闪存驱动器、云平台存储设备或电池等。

其中,对于样本数据中的参数值的类型并不做限定。例如,参数值为磁盘容量使用值,磁盘容量使用占比或磁盘容量剩余占比等;又如,参数值为电池容量使用值,电池容量使用占比或电池容量剩余占比等;再如,参数值为服务器的网速等。

这里,对于第一样本数据的获取方式也不做限定,可以从事先存储好的历史数据中提取出第一样本数据,也可以实时获取第一样本数据。

在本申请实施例中,在获取存储装置在第一时间段的采样时刻的第一参数值时,采样间隔可以预先设定好。举例来说,如果设定采样间隔为60秒,第一采样时刻为13:10分,那么第二采样时刻则为13:11分;如果设定采样间隔为10分钟,第一采样时刻为13:10分,那么第二采样时刻则为13:20分。

在一些实施例中,在获取到第一样本数据后,并不立即根据第一样本数据对存储装置在第二时间段的参数值进行预测,而是先判断第一样本数据是否产生波动(例如是否有数据读入等);如果第一样本数据为波动数据,则继续执行预测,否则,不对第一样本数据进行后续处理,从而避免对可能未被使用的存储装置进行预测,以避免浪费资源。

步骤102,从各个采样时刻的第一参数值中查找出第一目标极值,第一目标极值的采样时刻与特定采样时刻之间的时间间隔大于第一阈值,特定采样时刻属于第一时间段。

这里,对特定采样时刻所处位置并不做限定。特定采样时刻可以为第一时间段内的最后一个采样时刻,也可以为第一时间段内的其他任一采样时刻。

以特定采样时刻为第一时间段内的最后一个采样时刻为例进行说明,如图2所示,查找第一目标极值的方式可以为:以第一时间段(即图2中的4月1日至4月21日)的特定采样时刻为起始点,依次向前搜索,判断当前采样时刻对应的第一参数值是否为自特定采样时刻之前的所有采样时刻对应的第一参数值中的极大值或极小值;如果是,继续确定当前采样时刻与特定采样时刻203之间的时间间隔是否大于第一阈值(如第一阈值设置为2小时),如果时间间隔在2小时之内,则摒弃该极值点,继续向前搜索,直至查找到下一个极值点,且该极值点对应的采样时刻与特定采样时刻之间的时间间隔大于2小时为止,将该极值点确定为第一目标极值204,并记录对应的采样时刻。

步骤103,基于第一目标极值的采样时刻至特定采样时刻之间的第一参数值,预测存储装置在第二时间段的采样时刻的第二参数值。

在一些实施例中,在第二时间段的第二参数值大于第四阈值时,输出告警信息。以参数值为磁盘容量使用占比为例进行说明,在第二时间段内,如果预测到的某一时刻的磁盘容量使用占比大于70%(第四阈值),则输出告警信息。

其中,对输出告警信息的方式不做限定,例如,以发送报告的方式输出告警信息;又如,根据策略集成监控系统通过监控系统发送报警;再如,将结果保存到数据库,用户登录网站收到通知而浏览分析报告等。

在一些实施例中,预测存储装置在第二时间段的采样时刻的第二参数值可以通过执行如下实施例中的步骤306至步骤307来实现。

在本申请实施例中,在预测存储装置在第二时间段的采样时刻的第二参数值时,是基于第一时间段内的第一目标极值的采样时刻至特定采样时刻之间的第一参数值来确定的。这样,一方面,基于第一目标极值的采样时刻至特定采样时刻之间的第一参数值进行预测,而不是基于第一时间段的全部第一参数值进行预测,能够得到较为准确的第二参数值。这是因为:第一目标极值的采样时刻至特定采样时刻之间的第一参数值的发展趋势相对稳定,能够更大程度上代表存储装置在未来的参数发展趋势;另一方面,这种设置第一阈值的方式,能够避免短期内的抖动对短期预测趋势方向和程度产生干扰,使得第一目标极值对应的采样时刻与特定采样时刻的间隔不会太短,从而能够基于适量的参数值,准确且快速地得到存储装置在第二时间段的第二参数值。

图3为本申请实施例提供的预测方法的实现流程示意图,如图3所示,该方法可以包括以下步骤301至步骤308:

步骤301,获取第二样本数据,第二样本数据包括存储装置在第一时间段的采样时刻的第三参数值;

步骤302,对各个采样时刻的第三参数值进行平滑处理,得到第一样本数据。

可以理解地,如图2所示,由第二样本数据构成的曲线(即曲线201)中会存在一些小的参数值抖动,这些抖动较小的参数值会对后续查找第一目标极值204和预测结果的准确度造成干扰。

因此,在一些实施例中,在获取到第二样本数据后,可以对第二样本数据中的第三参数值进行平滑处理,再将平滑后的参数值与对应的采样时刻作为第一样本数据(即平滑曲线202中的平滑值)。这样,能够在不改变原始值的发展趋势的基础上,过滤掉一些小的抖动参数值(噪声值),使得后续在查找第一目标极值204时,能够有效进行,且能够降低后续的预测误差。

其中,对平滑处理的方式不做限定。例如,取N个采样时刻对应的第一参数值的均值作为平滑处理后的第一参数值;又如,取M个采样时刻对应的第一参数值的中值作为平滑处理后的第一参数值。

步骤303,从各个采样时刻的第一参数值中查找出第一目标极值,第一目标极值的采样时刻与特定采样时刻之间的时间间隔大于第一阈值,特定采样时刻属于第一时间段;

步骤304,确定第一目标极值的采样时刻至特定采样时刻之间的第一参数值的数量是否大于第二阈值;如果数量大于第二阈值,执行步骤305;否则,执行步骤308。

可以理解地,第一目标极值的采样时刻到特定采样时刻之间的第一参数值的数量较多,在基于这些第一参数值进行预测时,预测速度也会较慢。因此,为了提高预测速度,降低预测时计算能力的需求,可以在第一参数值的数量大于第二阈值时,执行步骤305,从数量较多的第一参数值中挑选出部分第一参数值作为预测数据集,再基于挑选后的第一参数值进行预测。

步骤305,从第一目标极值的采样时刻至特定采样时刻之间的第一参数值中选出部分第一参数值。

这里,对选出部分第一参数值的方式不做限定。例如,仅选出第一目标极值和特定采样时刻对应的第一参数值作为预测数据;又如,用户自定义新的采样间隔,对第一目标极值的采样时刻至特定采样时刻之间的第一参数值进行重采样,得到预测数据。

步骤306,基于部分第一参数值,确定存储装置的参数值与采样时刻的线性关系。

这里,对确定存储装置的参数值与采样时刻的线性关系的方式不做限定。例如,可以使用线性回归算法或指数平滑算法确定线性关系。

又如,在一些实施例中,可以通过如下方式确定线性关系:以第一目标极值和对应的采样时刻构成的点为定点,确定由部分第一参数值和相应采样时刻构成的曲线的切线;其中,定点为切线上的点;将切线代表的线性关系确定为存储装置的参数值与采样时刻的线性关系。

举例来说,如图2所示,第一目标极值点之后的第一参数值和相应采样时刻构成的曲线是一段近似单调上升或下降的曲线。这样,以第一目标极值点为定点,不断进行旋转,以寻找与该曲线相切或近似相切的切线,该切线的斜率即与线性回归算法得到的斜率相近。这种确定线性关系的方法,相比于线性回归算法而言,不需经过繁琐的数据计算,只需基于第一目标极值点,寻找与曲线相切的直线并平移至特定采样时刻处即可,计算量较小,确定速度更快。

再如,在另一些实施例中,还可以通过如下方式确定线性关系:根据第一目标极值和对应的采样时刻构成的点、以及特定采样时刻和对应的第一参数值构成的点,得到预测直线;将预测直线代表的线性关系作为存储装置的参数值与采样时刻的线性关系。这种确定方式,仅根据两个数据点即确定出线性关系,大大减少了预测算法的计算能力需求,且分析结果也较为接近于线性回归算法的计算结果。

步骤307,根据线性关系和特定采样时刻的第一参数值,预测存储装置在第二时间段的采样时刻的第二参数值。

可以理解地,如图4所示,在确定出存储装置的参数值与采样时刻的线性关系后,即能够得到由第一时间段内的第一参数值和对应时刻构成的曲线的斜率,基于该斜率和特定采样时刻401,即能够预测得到存储装置在第二时间段的采样时刻的第二参数值(即预测曲线上的值402)。其中,灰色曲线为第一参数值(即原始数据线)构成的曲线,被灰色曲线遮挡的曲线为平滑数据值构成的曲线。

步骤308,基于第一参数值,确定存储装置的参数值与采样时刻的线性关系,根据线性关系和特定采样时刻的第一参数值,预测存储装置在第二时间段的采样时刻的第二参数值。

在一些实施例中,在第二时间段的第二参数值大于第四阈值时,输出告警信息。

在一些实施例中,如图5所示,还可以通过执行以下步骤501至步骤509来预测存储装置在第二时间段的采样时刻的第二参数值:

步骤501,确定由各个采样时刻的第一参数值和相应采样时刻构成的曲线的第一包络线和第二包络线;其中,第一包络线和第二包络线在曲线的相对两侧。

可以理解地,如图6所示,如果存储装置的参数值告警阈值(图中为70%)附近波动,并呈现周期震荡,那么在执行上述实施例中的预测方法时,根据线性关系确定出的预测值呈现单调上升趋势,在较短时间内即超出告警阈值,但根据原始参数值的波动趋势来看,其在特定采样时刻604之后的发展趋势为单调下降,并不会超出告警阈值,这样,就会频繁产生误报。其中,601为原始数据值的曲线,602为平滑数据值的曲线,603为预测得到的预测值的曲线。

为避免频繁产生误报,如图7所示,在本申请实施例中,采用确定由原始值构成的曲线的上下包络线的方式,减少误报的产生。其中,701为第一样本数据(即原始值的曲线),702为第一包络线,703为第二包络线,704为平滑数据值,705为预测得到的第二参数值的曲线(即预测值的曲线)。

这里,对确定第一包络线和第二包络线的方式不做限定。例如,可以通过经验模态分解(empirical mode decomposition,EMD)算法,得到曲线的包络线。

步骤502,从第一包络线的各个采样时刻的第四参数值中查找出第二目标极值;其中,第二目标极值对应的采样时刻与特定采样时刻之间的时间间隔大于第一阈值。

需要说明的是,步骤502中查找第一包络线中的第二目标极值的方式与步骤102中查找第一目标极值的方式相同,在此不再赘述。

步骤503,从第二包络线的各个采样时刻的第五参数值中查找出第三目标极值;其中,第三目标极值对应的采样时刻与特定采样时刻之间的时间间隔大于第一阈值。

需要说明的是,步骤503中查找第二包络线中的第三目标极值的方式与步骤102中查找第一目标极值的方式相同,在此不再赘述。

步骤504,基于第二目标极值对应的采样时刻至特定采样时刻之间的第四参数值,预测存储装置在第二时间段的采样时刻的第六参数值。

这里,基于第一包络线中的第二目标极值对应的采样时刻至特定采样时刻之间的第四参数值进行预测时,预测方式与步骤306至步骤307中的方式相同,在此不再赘述。

步骤505,基于第三目标极值的采样时刻至特定采样时刻之间的第五参数值,预测存储装置在第二时间段的采样时刻的第七参数值。

这里,基于第二包络线中的第三目标极值对应的采样时刻至特定采样时刻之间的第五参数值进行预测时,预测方式与步骤306至步骤307中的方式相同,在此不再赘述。

步骤506,基于第i时刻的第六参数值和第七参数值,确定第i时刻的第二参数值,从而得到存储装置在第二时间段的采样时刻的第二参数值;其中,i为第二时间段的采样时刻的任一时刻。

这里,对基于第i时刻的第六参数值和第七参数值,确定第i时刻的第二参数值的方式不做限定。例如,可以为对第六参数值和第七参数值取均值,得到第二参数值;又如,也可以分别对第六参数值和第七参数值赋予权重,对赋予权重之后的第六参数值和第七参数值求和以得到第二参数值。

步骤507,确定存储装置在当前时刻的实际参数值与预测得到的对应时刻的第二参数值的差值是否大于第三阈值;如果是,执行步骤508;否则,返回执行步骤501,继续预测存储装置在第三时间段的采样时刻的第八参数值。

可以理解地,如果存储装置在当前时刻的实际参数值与预测得到的对应时刻的第二参数值的差值较大,则说明存储装置的参数值产生了较大变化(如参数值突然激增、或参数值突然变小、或参数值的变化趋势变为平行线),存储装置的参数值则可能不再呈现为周期震荡趋势发展,而是呈现为单调上升或单调下降趋势,此时可以执行步骤508,将当前时刻的实际参数值确定为离群点,再根据离群点之前的实际参数值,执行上述实施例中的线性回归等预测方法,以对存储装置在离群点之后的参数值进行预测。

如果存储装置在当前时刻的实际参数值与预测得到的对应时刻的第二参数值的差值较小,说明存储装置的参数值发展趋势还是呈现周期震荡,则返回步骤501,继续采用确定包络线的方式进行预测。

在一些实施例中,在生成曲线的上下包络线后,可以对上包络线增加第一偏差值,以增加其对应的参数值;对下包络线增加第二偏差值,以减小其对应的参数值,第一偏差值和第二偏差值为相反数值,并将更新后的上下包络线作为异常检测包络线。这样,能够避免数据过于敏感,在实际参数值与预测参数值差值较小时,导致误确定实际参数值为离群点。

步骤508,从当前时刻之前的采样时刻的实际参数值中查找出第四目标极值。

这里,从实际参数值中查找第四目标极值的方式与步骤102中查找第一目标极值的方式相同,在此不再赘述。

步骤509,基于第四目标极值的采样时刻至当前时刻之间的实际参数值,预测存储装置在第三时间段的采样时刻的第八参数值;其中,第三时间段与第二时间段的采样时刻的数量相同。

这里,基于第四目标极值对应的采样时刻至当前时刻之间的实际参数值,对存储装置在第三时间段的参数值进行预测时,预测方式与步骤306至步骤307中的方式相同,在此不再赘述。

在一些实施例中,在第三时间段的第八参数值大于第四阈值时,输出告警信息。

在对特定节点范围内的操作系统下的磁盘(如Linux挂载点或Windows逻辑卷)容量进行预测的过程中,可能会出现某一节点在极短时间内数据波动剧烈的情况,如图8所示,801中的数据在较短时间内产生了剧烈波动。在这种情况下,如果未来磁盘容量数据继续按照此趋势发展,很有可能会影响到整个系统的运行与使用,因此对于磁盘容量的预测与监控是十分必要的。

本申请实施例针对上述情况,采用了对短期数据进行极端情况预测的预测方法,基于最近的一个局部极值点确定最近数据的整体走向并进行预测,能够较为准确的预测出未来一段时间内数据的发展趋势,从而实现对用户的磁盘容量的实时监控。如预测结果中存在超过用户设置的报警阈值的点,则识别为系统即将出现异常,立刻向用户发出报警报告,使用户能够及时处理系统即将出现的风险,维护系统的安全运行与正常使用。并且本申请实施例能够放大当前的数据波动趋势,使用户一目了然地掌握当前趋势即将对系统带来的影响,防患于未然。

在本申请实施例中,采取对短期数据进行预测的预测方法,采用合适的局部极值点选择,并进而执行数据预测,能够实现对于没有规律的偶发情况的预测与分析,并较为准确且快速的生成预测结果;用平滑算法对数据的离群点与噪声进行处理,以便于确定合适的局部极值点,进而帮助进行短期趋势分析;通过短期趋势数据执行重采样,在不会对预测精度产生严重影响的基础上,显著减少预测活动的算力需求。

通过执行上述方法,能够获取以下优势:(1)磁盘容量偶尔会发生剧烈的波动。偶发的波动是没有规律可循的,对于传统的根据历史数据进行预测的算法和静态阈值的监控并不适用。偶发的波动也会造成磁盘剩余容量不足异常的情况。本申请实施例中则解决了这一问题,使系统能够基于偶发波动进行实时预测并报警。

(2)能够有效对大数据进行分析,对数据价值密度低的场景进行低算力消耗的预测分析,这个特点是比较突出的。举例来说,云平台的磁盘监控数据庞大,如公式1所示,假设某数据中心有10,000个节点,每个节点只有3个需要监控的逻辑卷或挂载点,监控系统数据采集频率为60秒,每批数据处理规模可能在1亿以上。根据以下公式可估算出每次预测活动的历史数据规模,通常这样的预测是分钟或小时级别的。本方案可以获取这个体量的数据,并能在服务水平协议(Service Level Agreements,SLAs)之内完成分析和报警活动。

如图9所示,给出一种预测方法的流程图,具体如下步骤901至步骤912所示:

步骤901,用户从系统中配置需要监控的节点范围与磁盘范围后,系统将开始执行节点订阅消息并启动分析活动。

步骤902,系统向云平台数据库获取云平台数据或计算、存储资源数据(磁盘的历史容量数据)。

步骤903,确定需要监控的节点或磁盘范围及监控指标后,系统向监控数据库获取对应资源监控数据与状态数据。

步骤904,对于获取到的数据,根据数据的特征进行分析,通过设置的规则过滤器,对不同节点的数据进行过滤,识别可用于预测的指标范围。其中,典型预测范围情况有:(1)识别容量的标准差,也就是变化程度。如果容量低于某个阈值,且近期标准差比较低,则意味着容量没有变化,则不需要执行预测。这里相当于标准差高通过滤器,标准差低于某个数值的就过滤掉。(2)也可以使用最大值-最小值,如果小于某个阈值,或者最大值%-最小值%小于某个变化比例,也就不执行预测了。这里的目的是减少算力消耗,大部分云计算资源实际使用是不大的,识别出来不被使用,那么就不需要对其执行预测。

步骤905,对初始数据进行数据清洗与缺失值填充。

步骤906,对预处理后的数据进行平滑处理,平滑算法的参数可基于查表或参数选择算法确定。

步骤907,寻找t-n时刻之前的局部极值点,n为可忽略最近该段时间波动的最大值,通常设置为若最近一个局部极值点出现在距当前时刻2小时内,则忽略该点,继续寻找下一个最近的局部极值点。

步骤908,获取确定的局部极值点到预测开始位置的数据范围。

步骤909,根据规则执行重采样,进一步降低预测算力需求,提高监控系统效率,本方法可支持不同粒度的采样方式对原始数据进行处理,如只使用测试集的第一个点与最后一个点;根据用户自定义的重采样时间进行重采样;或不进行采样,直接使用全部原始数据。

步骤910,执行预测,获得t+m时刻之内的预测结果,m为用户自定义的预测长度。

步骤911,基于静态或动态阈值规则,识别预测结果中超过阈值需要报警的数据。

步骤912,如果存在需要报警的情况,根据规则发送通知或报警消息,并对预测结果与报警信息进行可视化保存与数据库中,便于用户查看。在一些实施例中,可以通过以下方式得到通知或报警消息:(1)发送报告;(2)或者根据策略集成监控系统通过监控系统发送报警;(3)或者将结果保存到数据库,用户登录网站收到通知而浏览分析报告等。

其中,对上述实施过程的具体解释如下:

(1)数据平滑

在数据平滑算法中,需要根据历史数据的长度选择不同的参数进行数据处理。若平滑参数选择过大,则可能损失数据重要的波动趋势,无法准确判断数据走向;若平滑参数选择过小,则可能无法有效处理数据的噪声和离群点。合适的平滑参数将使数据波形在不改变原有趋势的前提下,过滤掉一些小的抖动,使得极值点的标记能够有效进行,预测过程误差较小。

平滑算法参数可以通过预制计算通过查表法或者基于规则的算法实现。

(2)局部极值点选择方法

获得不同场景下的正确的局部极值点,可以有效识别短期异常波动与中短期容量变化趋势,为之后的监控与预测提供有力的参考。有别于常见的优化方法可以有效识别全局最优解,或全局极值点,这里要寻找合适的局部极值点,其分析过程是明显不同的。

极值点选择算法思想如下步骤a至步骤c所示:

步骤a,由原始数据的最后一个时间点为始,依次向前搜索,并检查每一个时间点的数据是否为自该时间点之后数据的极值。

步骤b,若识别到某一时刻为极大值或极小值,则标记该点。

步骤c,若被标记的局部极值点距当前时间少于某个窗口阈值,例如最近2小时,则忽略该点,继续搜索下一个最近的局部极值点。以防止该极值点距离当前过近,无法准确反映该时间段的数据趋势。短期内的抖动可能对短期预测趋势方向和程度产生干扰。

平滑并标记极值点后的数据如图2所示。其中,极值点使用圆点表示。

(3)数据预测过程

预测算法通常需要依赖长期数据沉淀且预测数据为平稳数据才可以计算。这个方法可以对波动幅度较大的非平稳序列进行预测。这里可以理解为,只要有波动的数据都可以被称为波动幅度大,并进行预测,而对于内存容量数据毫无变化的情况(如一条直线),则称为波动幅度小。

对短期数据的预测过程如下步骤a至步骤e所示:

步骤a,历史数据以用户输入、系统预制策略等方式确定。

步骤b,从之前方法获得的局部极值点开始到预测数据集结束为止为预测数据集。

步骤c,识别数据集数量,如果数量超过某个阈值,则执行重采样,减少数据量。由于该重采样不会影响数据趋势,且对于精度影响较少,在不影响预测定性判断基础上显著减少算力需求。

步骤d,基于前述数据集使用预测算法进行分析,例如,线性回归,三次指数平滑等。

步骤e,将短期或中短期预测结果通过静态或动态阈值分析进行分析,并基于不同策略发送通知或报警。

以磁盘容量使用率为例,利用基于线性回归的短期预测结果如图4所示,预测长度为未来6小时内的数据情况。圆点是局部极值点位置,可以看到其右侧的另一个局部极值点被忽略掉。图10为生成的短期波动影响分析报告,如图10所示,1001为实际值的曲线,1002为平滑后的数据值的曲线,1003为预测得到的预测值的曲线。

在一些实施例中,还可以基于以下方式来得到预测算法的斜率:以线性回归算法可见,其分析算法与局部极值点计算过程中与局部极值点相交。如果以预测数据集结束位置为中心,向右进行旋转x个点,寻找相切(或近似相切)为止,而不是相交为止。这个新的数据位置是预测数据的开始位置。其中x小于某个阈值,以免处理过度。如果x达到某个阈值依然无法找到相切(或近似相切)的位置,则继续使用原始的局部极值点。

这是因为,局部极值点之后的数据是一段近似单调上升或下降的曲线。以局部极值点为中心,绘制一条直线与之后的曲线相切,从而能够获得与线性回归斜率接近的曲线,再将这个曲线平移至预测曲线最后,也就是调整截距位置。由于局部极值点获得之后的曲线波动较小,结合上述业务场景,则能使用该简化算法。

在另一些实施例中,还可以基于以下方式来得到预测算法的斜率:由于大多情况下,基于局部极值点之后的曲线趋势,甚至于斜率是几乎一样的。因此,在算力消耗较大的情况下,直接在局部极值点到数据集结束位置之间计算一条直线,以该直线斜率作为预测算法的斜率。该方法将大大减少预测算法的算力需求,且分析结果较为接近于线性回归算法的计算结果。虽然预测精度有所损失,但是作为定性分析和报警并不会因此产生太大的误报。

在一些实施例中,如图6所示,当数据接近于阈值,且呈现周期震荡,则可能会造成本算法的误报,为此,通过结合EMD算法,减少误报概率。其结合算法实现方式如下步骤1至步骤3所示:

步骤1,使用EMD算法生成曲线的上下包络线,在包络线上增加偏差值作为异常检测包络线。

步骤2,对上下异常检测包络线分别执行预测,如果实际值超过异常检测包络线则判定为异常。

a)实际监控数据中的最后一个点,如果突破上下异常检测包络线阈值,执行短期预测。

b)如图7所示,如果所有数据点都在包络线之内,则使用上包络线和下包络线去做预测,看有没有跟预设的阈值相交,确定是否触发报警信息。

步骤3,短期预测结果超过报警阈值,则触发报警消息。

如图11所示,111为原始数据值的曲线,112为上包络线,113为下包络线,114为平滑数据值的曲线,115为预测得到的预测数据值的曲线。如果当前t0时刻实际数据突破t-1时刻预测的t0’时刻的上下包络线,则意味着当前时刻数据为离群点数据。此时将使用之前的短期波段影响分析对后续的数据进行预测,而不采用EMD上下包络线的预测。

应当注意,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

基于前述的实施例,本申请实施例提供一种预测装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)或现场可编程门阵列(FPGA)等。

图12为本申请实施例预测装置的结构示意图,如图12所示,所述装置120包括获取模块121、查找模块122和预测模块123,其中:

获取模块121,用于获取第一样本数据,所述第一样本数据包括存储装置在第一时间段的采样时刻的第一参数值;查找模块122,用于从所述各个采样时刻的第一参数值中查找出第一目标极值,所述第一目标极值的采样时刻与特定采样时刻之间的时间间隔大于第一阈值,所述特定采样时刻属于所述第一时间段;预测模块123,用于基于所述第一目标极值的采样时刻至所述特定采样时刻之间的所述第一参数值,预测所述存储装置在第二时间段的采样时刻的第二参数值。

在一些实施例中,装置120还包括平滑模块,获取模块121,还用于获取第二样本数据,所述第二样本数据包括所述存储装置在所述第一时间段的采样时刻的第三参数值;所述平滑模块,用于对所述各个采样时刻的第三参数值进行平滑处理,得到所述第一样本数据。

在一些实施例中,装置120还包括确定模块和选择模块,所述确定模块,用于确定所述第一目标极值的采样时刻至所述特定采样时刻之间的所述第一参数值的数量是否大于第二阈值;所述选择模块,用于如果所述数量大于所述第二阈值,从所述第一目标极值的采样时刻至所述特定采样时刻之间的所述第一参数值中选出部分所述第一参数值;预测模块123,基于所述部分所述第一参数值,预测所述存储装置在第二时间段的采样时刻的第二参数值。

在一些实施例中,所述确定模块,还用于基于所述部分所述第一参数值,确定所述存储装置的参数值与采样时刻的线性关系;预测模块123,用于根据所述线性关系和所述特定采样时刻的第一参数值,预测所述存储装置在第二时间段的采样时刻的第二参数值。

在一些实施例中,所述确定模块,还用于以所述第一目标极值和对应的采样时刻构成的点为定点,确定由所述部分所述第一参数值和相应采样时刻构成的曲线的切线;其中,所述定点为所述切线上的点;将所述切线代表的线性关系确定为所述存储装置的参数值与采样时刻的线性关系。

在一些实施例中,所述确定模块,还用于根据所述第一目标极值和对应的采样时刻构成的点、以及所述特定采样时刻和对应的第一参数值构成的点,得到预测直线;将所述预测直线代表的线性关系作为所述存储装置的参数值与采样时刻的线性关系。

在一些实施例中,所述确定模块,还用于确定由所述各个采样时刻的第一参数值和相应采样时刻构成的曲线的第一包络线和第二包络线;其中,所述第一包络线和所述第二包络线在所述曲线的相对两侧;查找模块122,用于从所述第一包络线的各个采样时刻的第四参数值中查找出第二目标极值;其中,所述第二目标极值对应的采样时刻与所述特定采样时刻之间的时间间隔大于所述第一阈值;查找模块122,还用于从所述第二包络线的各个采样时刻的第五参数值中查找出第三目标极值;其中,所述第三目标极值对应的采样时刻与所述特定采样时刻之间的时间间隔大于所述第一阈值;预测模块123,用于基于所述第二目标极值对应的采样时刻至所述特定采样时刻之间的所述第四参数值,预测所述存储装置在第二时间段的采样时刻的第六参数值;以及基于所述第三目标极值的采样时刻至所述特定采样时刻之间的所述第五参数值,预测所述存储装置在第二时间段的采样时刻的第七参数值;所述确定模块,还用于基于第i时刻的所述第六参数值和第七参数值,确定所述第i时刻的所述第二参数值,从而得到所述存储装置在第二时间段的采样时刻的第二参数值;其中,i为所述第二时间段的采样时刻的任一时刻。

在一些实施例中,查找模块122,还用于如果当前时刻的实际参数值与对应的第二参数值的差值大于第三阈值,从所述当前时刻之前的采样时刻的实际参数值中查找出第四目标极值;预测模块123,用于基于所述第四目标极值的采样时刻至所述当前时刻之间的所述实际参数值,预测所述存储装置在第三时间段的采样时刻的第八参数值;其中,所述第三时间段与所述第二时间段的采样时刻的数量相同。

在一些实施例中,装置120还包括输出模块,所述输出模块,用于在所述第二时间段的第二参数值和/或所述第三时间段的第八参数值大于第四阈值时,输出告警信息。

以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

需要说明的是,本申请实施例中图12所示的预测装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。

需要说明的是,本申请实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请实施例不限制于任何特定的硬件和软件结合。

本申请实施例提供一种电子设备,图13为本申请实施例的电子设备的硬件实体示意图,如图13所示,所述电子设备130包括存储器131和处理器132,所述存储器131存储有可在处理器132上运行的计算机程序,所述处理器132执行所述程序时实现上述实施例中提供的方法中的步骤。

需要说明的是,存储器131配置为存储由处理器132可执行的指令和应用,还可以缓存在处理器132以及电子设备130中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(RandomAccess Memory,RAM)实现。

本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的方法中的步骤。

本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述方法实施例提供的方法中的步骤。

这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质、存储介质和设备实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。

上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。

另外,在本申请各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。

或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。

本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。

本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。

本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。

以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 设备寿命预测方法、装置、电子设备及存储介质
  • 冲压设备的状态预测方法、装置、电子设备与存储介质
技术分类

06120113678274