面向区块链节点负载预测的ARIMA组合预测方法

2019-07-16 11:55孙凯俐李晖陈梅
电子技术与软件工程 2019年8期
关键词:预测值残差区块

孙凯俐 李晖 陈梅

摘要:准确预测服务器的剩余负载率可以合理地分配系统资源,提高系统的资源使用率。为了能有效提高区块链应用中各节点剩余负载率序列预测的准确度,提出了一种差分自回归移动平均(AutoregressiveIntegratedMovingAverage,ARIMA)模型、BP神经网络以及局部异常因子(LocalOutlierFactor,LOF)算法的组合预测模型。对比ARIMA模型、ARIMA-BP模型、LOF-ARIMA-BP模型的预测结果,比较三个模型的预测能力。实验结果表明,L0F一ARIMA-BP组合模型的预测精度优于ARIMA模型以及ARIMA-BP模型。

[关键词]区块链剩余负载率ARIMA模型BP神经网络局部异常因子算法

1引言

区块链具有去中心化和不可篡改的特点,将医疗数据加密存储在区块链中,相比较传统的中心化存储方式,既可以避免单点故障又可以防止医疗数据被篡改,实现了在保护隐私的医疗数据的基础上方便用户实时共享。区块链本质上是一个去中心化的分布式数据库,即系统中的每个节点都存在一个拥有完整数据的数据库,所以医疗数据共享实际上是对分布式数据库进行查询操作。

在一个应用系统中,如果随着用户查询请求任务数量的增加系统不能合理分配任务,将会出现过多的任务被分配给一个或部分节点的情况,严重影响服务质量。为了使系统能均衡地分配任务,充分利用各节点的资源,需了解各节点服务器的资源使用情况。而服务器的剩余负载率可以很好的体现服务器的当前性能。为了预先获得各节点的负载变化,减少由于负载信息传递时延带来的误差,需要对服务器的剩余负载率进行预测,然后结合区块链的特点根据各节点的区块高度和预测的剩余负载率合理分配任务。这里加入区块高度是因为各节点区块链中区块的同步存在时延,只有区块高度最高的区块链才保存有最完整的数据信息。

本文主要研究如何根据收集到的服务器和虚拟机的各项指标信息来构建准确度高的剩余负载率预测模型。实际上,绝大多数的服务器的剩余负载率受到并发请求数、服务等级协议等多方面随机因素的影响,导致数据有非常大的随机波动。虽然传统的预测算法具有良好的预测性能,但单一模型很难考虑到所有随机因素。本文采用LOF-ARIMA-BP组合预测模型对服务器剩余负载率进行预测,结合不同预测模型的优点加强对随机因素的分析,以此提高预测的准确度。

2剩余负载率计算

在基于区块链的医疗数据共享系统中,医疗数据共享即对数据库进行查询操作,主要与节点的CPU和內存有关;而区块链中区块的同步主要与节点的网络带宽有关。考虑到计算的复杂度以及负载值的准确性,本文选取CPU和内存的利用率作为负载状态的计算因子。各节点的资源剩余状态L根据公式(1)计算。

其中,L。为CPU剩余,Lm为内存剩余,φ为CPU权重,φ为内存权重,且φ+φ=1。各项指标的权重参数反应不同指标的重要程度。在本文中,φ取0.8,φ取0.2。

系统所有节点的剩余负载总和为:

则第i台服务器节点的剩余负载率为:

3LOF-ARIMA-BP组合模型

针对服务器剩余负载率的传统预测方法有很多,常见的主要有时间序列线性预测模型和BP神经网络预测模型。

3.1ARIMA模型

ARIMA模型是最广泛使用的时间序列模型之一。其基本思想是用一定的回归模型近似的描述随时间推移形成的数据序列,然后检验该模型的拟合能力,检验成功后再用模型来预测未来值。

ARIMA模型主要采用的是线性模型进行预测,可以预测到下一段时间数据的整体走势和中值,但预测不到突发情况。即ARIMA模型本质上只能捕捉线性关系,对非线性数据的处理效果不佳,预测的精度有待进一步提高。

3.2BP神经网络

BP神经网络,由输入层、一个或多个隐藏层和输出层组成。BP神经网络的目的是利用网络的实际输出和期望输出之间的误差值对网络多层的连接权值和阈值不断进行调整,使得误差达到可以接受的范围。

BP神经网络是一种有效的非线性建模方法,在处理随机性、非线性等问题时有很大的优势,可以充分挖掘数据背后隐含的非线性关系。但BP神经网络在线性关系的挖掘方面远不如ARIMA这类传统的线性技术方法。

3.3ARIMA-BP模型

剩余负载率序列包含线性和非线性时序两部分,导致单一的预测模型预测精度不高。因此,本文将ARIMA预测模型和BP神经网络两种方法结合起来,通过两种不同方法之间的相互补充,提高模型预测剩余负载率的效果。

ARIMA-BP模型预测的步骤是:首先利用ARIMA模型对样本(假设为P)进行线性部分的预测,预测结果为C,记样本与预测结果的残差为e,et=Pr一Cr。然后再利用BP神经网络模型来估计残差,得到的预测值记为论,最终模型得到的剩余负载率预测结果为在ARIMA-BP模型中,ARIMA模型用于序列线性部分的预测,BP神经网络模型用于对序列非线性部分的残差进行修正,这两个模型不仅充分发挥了模型各自的优点,还起到了互补的作用,提高了预测的精度。

3.4LOF-ARIMA-BP组合模型

对于平稳期的剩余负载率来说,ARIMA模型的预测准确率已经达到了比较高的水平,如果再加上BP神经网络非线性部分的预测分量会使平稳期的预测值整体偏大。本文将固定因素影响的样本点作为原始样本集,为正常点受随机因素影响的样本点作为异常点。则平稳期的样本点属于正常点,峰值期的样本点属于异常点。为了检测样本点是否为异常点,引入LOF算法,提出LOF-ARIMA-BP模型。

LOF算法是数据挖掘领域一种基于局部密度的k最近邻方法。当测试数据的局部密度与其邻居的密度相似时,LOF异常因子会比较低,该测试数据属于正常数据;当测试数据的局部密度低于最近邻居,则LOF异常因子会比较高,那么该测试数据就属于异常数据。

LOF-ARIMA-BP模型是通过LOF算法检测ARIMA模型的预测值,计算预测点的LOF异常系数,然后与预先设定的LOF阈值进行对比。如果异常系数大于阈值,则该预测值为异常点,最终的预测值为ARIMA-BP模型预测的值;如果异常系数小于阈值,则该预测值为正常点,最终的预测值直接为ARIMA模型的预测值。

4实验及分析

实验所采用的基于区块链的医疗数据共享系统由1个负载均衡节点和2个服务节点组成。实验中的区块链系统是基于Asch链构建的一个去中心化应用平台。系统节点配置如表1所示。

本实验主要是比较ARIMA、ARIMA-BP、LOF-ARIMA-BP三个模型对剩余负载率的预测能力。

首先,各节点通过监测器收集自身的CPU和内存的使用情况。然后,根据公式(3)计算剩余负载率并作为预测的原始序列。最后,利用预测模型预测节点后续的剩余负载率,为任务分配提供依据。

4.1实验评估指标

本实验的评估指标选用平均绝对百分比误差(MAPE)评估指标由如下公式计算:

式中y;代表实际值,介代表预测值,n代表在数据集的数据预测的数目。MAPE值越低,.就意味着预测模型的拟合程度越高,模型就具有越好的精确度。

4.2实验过程及参数

4.2.1实验步骤

(1)数据选取。因系统中查询任务的平均完成时间为3s,故监测器1s收集一°次节点的CPU和内存的使用情况并根据公式(3)计算剩余负载率作为原始的时间序列。选取300个时间间隔共5分钟的数据,利用这些数据预测在未来10s内即后续10个时间间隔的剩余负载率,对比三个模型在剩余负载率预测方面的能力。服务器剩余负载率的时间序列如图1所示。

(2)采用差分的方法对原数据序列进行平稳化处理。差分后的时间序列如图2所示。

(3)构建ARIMA(,d,q)模型。为了防止

模型精度过高造成的模型复杂度过高的问题,本文采用BIC准则进行模型的定阶。最终选用的模型为ARIMA(1,1,1)。

(4)BP神經网络修正残差。计算上一步得到的预测值与真实值的差值为残差序列。然后通过BP神经网络对残差进行预测分析并修正。ARIMA(1,1,1)模型的最初预测值与BP神经网络修正后的残差值的相加为ARIMA-BP模型的预测值。

(5)LOF检测异常值。使用LOF算法计算ARIMA(1,1,1)预测值的异常系数,正常点采用ARIMA(1,1,1)模型的预测值作为最终预测值,异常点采用ARIMA-BP模型的预测值作为最终预测值。

4.2.2实验结果分析

图3为三个模型的预测值与真实值的对比图。

根据公式(4)计算各模型的MAPE,如表2所示。

图3和表2的实验结果表明本文提出的LOF-ARIMA-BP组合预测模型预测剩余负载率的能力要优于ARIMA模型和ARIMA-BP模型。各模型的平均绝对百分比误差分别从7.92%和6.52%减小到6.01%。

5结束语

组合的预测模型可以优势互补,充分考虑剩余负载率线性和非线性两部分的因素。当客户端突增大量查询请求时,负载均衡器可以利用本文提出的LOF-ARIMA-BP组合模型预测各节点的剩余负载率,然后根据区块高度和预测值选择合适的服务器分发任务,达到负载均衡的目的,从而提高系统资源的利用率。

参考文献

[1]黄俊飞,刘杰,区块链技术研究综述[J].北京邮电大学学报,2018,41(02):1-8.

[2]薛腾飞,傅群超,王枞等。基于区块链的医疗数据共享模型研究[J].自动化学报,2017,43(X):1555-1562.

[3]闻静.基于CPU利用率预测的虚拟机动态部署方法研究[D].东北大学,2014.

[4]杜军,郭慧敏,黄路非.基于病案首页的ARIMA模型及其改进模型的预测对比[J].中国病案,2018,19(09):40-42.

[5]彭洁。云计算环境下基于预测算法的负载均衡机制研究[D].南昌大学,2016.

[6]Ding S, Su C,Yu J. An optimizingBP neural network algorithmbased on genetic algorithm[J ] .Artificial IntelligenceReview, 2011, 36(2): 153-162.

[7]冯英.基于访问负载预测的云资源供应策略研究[D].湖南大学,2017.

[8]阿希:一个基于侧链技术的去中心化应用平台[EB/0L].[2019-02-20].https://asch-public.oss-cn-beijing.aliyuncs.com/asch.io/Asch-whitepaper-zh.pdf.

猜你喜欢
预测值残差区块
基于双向GRU与残差拟合的车辆跟驰建模
加拿大农业部下调2021/22年度油菜籽和小麦产量预测值
±800kV直流输电工程合成电场夏季实测值与预测值比对分析
区块链:一个改变未来的幽灵
基于残差学习的自适应无人机目标跟踪算法
法电再次修订2020年核发电量预测值
区块链:主要角色和衍生应用
基于递归残差网络的图像超分辨率重建
区块链+媒体业的N种可能
读懂区块链