基于改进的时间序列算法的云计算集群故障预测的研究

2021-04-04 12:19郑志学
信息记录材料 2021年5期
关键词:学习机集群预测

郑志学

(河南工业和信息化职业学院 河南 焦作 454000)

1 引言

近年来计算机技术高速发展,尤其是大数据技术在当前疫情环境下的大量运用,随着阿帕奇(Apache)基金会发布的一款基于Hadoop云计算平台开源项目的不断更新,使得大数据的数据计算效率得到了质的提升,而Hadoop云计算平台是以MapReduce框架为软件系统架构,以分布式计算机硬件作为硬件支撑,通过MapReduce在指定的分布式计算机集群系统中进行海量数据集的处理工作,因此整个分布式集群系统的稳定性很大程度依赖于系统的故障预测的实时性和准确性[1]。目前针对分布式计算机集群系统的故障预测基本都集中在用户使用期间所产生的故障问题采用的预测算法也较为传统,常见的预测算法有比较回归分析方法、支持向量机预测法、灰度模型预测法以及前几项常用预测法的组合方法[2]。虽然不同的预测法都能够对相应的情况进行一定量的预测,但是这些方法都只能对较为确定的用户关注点进行预测,无法对其所关注的点中不确定的可变随机值进行概率预测,尤其是在分布式集群运行过程中,往往由于系统运行环境的复杂性使得故障的产生也出现一定的随机性,因此正是由于该值的不确定性使得传统方式的预测结果都存在不同程度的偏差。

因此本文提出一种基于改进的时间序列算法进行分布式云计算集群系统的故障预测方法,将传统的时间序列预测算法同极限学习机算法相结合,通过采集云计算系统集群运行时各种维度的信息,进而通过构建相应的模型进行系统故障的预测,最后通过搭建云计算集群实验平台来验证最终的预测结果。

2 时间序列预测算法

2.1 时间序列预测法定义

时间序列预测算法从本质上来说是一种回归的预测算法,该算法的基本原理为:首先算法的基础是承认事务发展的可延展性,通过运用以往的时间序列所产生的数据进行相关信息的统计与分析,进而根据用户所关注的点推测事务发展的方向;其次在充分考虑事务发展存在偶然性因素的影响导致其可能产生的结果具备一定的随机性,因此为了能够有效地消除相关随机因素的波动产生的不良影响,通过调查与研究事务历史发展的相关数据,其前期预测所要收集的信息内容包括:收集与整合与事务相关的某种社会现象的历史材料,通过对所收集的材料进行一定程度的纠错与鉴别,将用户关注的点形成数据进行数据量化,构成具有一定规律的数列,针对排序之后的数字序列,进而定位某些现象随时间变化的特定规律,进而构建发展的模型,形成具备通用性的模式,以此通用性的模式来套用以后使用者所关注的现象特点,进而获得一定准确率的预测结果。

2.2 时间序列预测法步骤

(1)采集相关的数据资料,通过特定的方式进行整理,编写成时间序列的数据资料,同时根据所形成的时间序列绘制成统计图。通常情况下我们所关注的数据资料可以分为四大类:现象长期趋势、季节变动、事务循环方式、事务的随机不确定变动。

(2)对时间序列进行有效的分析。针对采集数据形成的时间序列要分析出哪些不同的因素共同作用引发的总和结果。

(3)根据各种变动求解时间序列的长期趋势(T)以及与季节相关的时间变动(S)同时还要考虑事务的不稳定变动(L)的值,统计完成之后使用与之相匹配的数学模型来替代这些数据。

(4)根据时间序列资料求出相关的长期趋势(T)以及与季节相关的时间变动(S)同时还要考虑事务的不稳定变动(L)的数学模型,之后通过该模型来预测事务的发展趋势。

(5)针对某些不规则变动的相关预测值难以求出的情况,可以使用单独求解长期趋势与相关时间变动的预测值,通过两者的乘积或者求和运算来获取对应的预测值。

3 极限学习机算法

极限学习机(Extreme Learning Machine,ELM)是由南洋理工大学的Chee-Kheong Siew等人在2004年在IEEE国际交互会议上提出的,该算法的提出是为了针对反向传播算法进行一定程度的优化和效率的改进,用来提升及其智能学习的效率以及相关参数的设定问题,从该算法被提出之后就引起了大量的关注。

3.1 极限学习机算法流程

极限学习机算法(ELM)仅仅只需要求解相关信息的输出权重信息,因此该算法是一种基于线性参数(linear-in-the-parameter)的模式。

该算法的自我学习过程关键点在于全局层面上的极小值问题。当N组需要机器进行自我学习的数据采集完成之后,针对其中还隐含的层级节点个数为L和输出层级节点个数为M的学习流程为:

系统随机进行参数节点的分配工作:在系统进行计算的初始阶段,SLFN的相关节点参数需要随机生成,即输入系统的相关数据和随机生成的节点的参数要相互独立。

系统根据输入的节点数据进行隐含层的矩阵输出:系统隐含的矩阵输出,该矩阵的大小为N行和L列,该矩阵行数是根据输入的所需要训练的数据个数统计出来,该列数是根据隐含的层级节点计算出来,因此该系统输出的矩阵从本质的特征上来说就是将用户所需要的训练个数N通过特定的方式映射到L个层级节点之上,最终获取相应的结果。

系统通过矩阵来计算求解相应的权重输出:该算法同其他预测算法的不同之处在于,该算法中的输出层级节点是可以不存在误差节点的信息,因此该算法的核心就是通过对输出权重的计算获取误差函数最小的节点信息[3]。

4 基于改进的时间序列算法的云计算集群故障预测的实现

4.1 基于时间序列算法的系统实现

首先采集云计算集群的系统使用时间、使用人数、并发访问数作为时间序列预测模型的输入量将采集的信息按照时间排列组成多组的随机变量,在相等的时间间隔内按照系统设定的采样率进行不间断的采集。根据使用时间的向量、使用人数、并发访问的人数来构建模型,通过构建的模型获取长期趋势(T),季节变动(S),循环变动(C),不规则变动(I)等参数,通过时间数列的组合模型来进行数据的预测,其中有使用加法模型Y=T+S+C+I (Y,T 计量单位相同的总量指标)(S,C,I 对长期趋势产生的或正或负的偏差)来获取相应的偏差值。将以上通过模型计算出来的不同维度的预测数据最为极限学习机算法的输入,进而完成对系统故障的更为精确的预测。

4.2 基于极限学习机算法的实现

(1)初始阶段针对上一阶段产生的相关故障维度的预测结果值,设定系统隐层节点个数为M,进而通过随机函数产生对第i个隐层节点的相关权值的计算,进而通过系统设置相关的激励节点的参数,根据矩阵变换计算出初始的权值。

(2)通过上层给出的预测结果选出部分作为系统训练的样本,依次获取不同的样本,先假设获取的样本数为k+1个。

(3)通过模型系统计算出相应的输出权重的向量值为βk+1。

(4)对不同的维度数据依次进行重复的计算,获取最终的预测结果。

5 实验

本文实验所采用的环境为i7处理器,4GB内存,500G硬盘的24台电脑搭建而成的Hadoop云计算平台,电脑之间的网络采用300Mbit/s的网络作为连接枢纽,其中Hadoop框架的为3.0版本。

5.1 实验方法和结果

实验通过模拟云计算平台环境下高并发的线程访问,持续时间分别为2、4、8、16、24小时,依次统计该时间内系统所发生的故障,进而对相同的环境条件下使用改进后的时间序列算法的云计算集群故障预测结果进行比对,从实验结果可以看出,改进后的故障预测系统能够较为准确地预测相关的故障,并且能够实时跟踪故障的发展,从而能够在可能发生故障之前有效地提醒相关管理员。

6 结语

本文提出的一种基于改进的时间序列算法的云计算集群故障预测方法能够有效地预测分布式云计算集群系统的故障发生并且通过实验证明了该方法的可行性。

猜你喜欢
学习机集群预测
无可预测
选修2-2期中考试预测卷(A卷)
选修2-2期中考试预测卷(B卷)
海上小型无人机集群的反制装备需求与应对之策研究
极限学习机综述
一种无人机集群发射回收装置的控制系统设计
基于极限学习机参数迁移的域适应算法
分层极限学习机在滚动轴承故障诊断中的应用
Python与Spark集群在收费数据分析中的应用
不必预测未来,只需把握现在