APP下载

基于改进贝叶斯算法的云服务可靠性预测方法研究

2017-12-08钱双洋刘原序

计算机应用与软件 2017年11期
关键词:贝叶斯均值可靠性

钱双洋 陈 喆 刘原序

(解放军信息工程大学 河南 郑州 450001)

基于改进贝叶斯算法的云服务可靠性预测方法研究

钱双洋 陈 喆 刘原序

(解放军信息工程大学 河南 郑州 450001)

目前服务消费者业务的不断发展,业务逻辑的不断复杂,对云服务组合的可靠性性能需求不断增加。通过对服务组合可靠性进行预测,根据预测结果向服务消费者推荐满足其可靠性需求的组合服务,以提高服务使用质量。基于传统的贝叶斯预测模型提出一种改进贝叶斯预测算法(IDLM)。通过采用指数加权回归方法对算法中的状态误差方差项进行估算,有效解决了传统贝叶斯模型中状态误差方差参数确定困难等问题,并且具有较高的预测效率和预测准确性。实验结果表明,改进的贝叶斯预测算法(IDLM)较其他传统的时间序列预测算法具有较高的准确性。

服务组合 可靠性 贝叶斯模型 预测

0 引 言

面向服务[1]计算是在面向对象、面向构件及分布式计算等软件工程技术的基础上产生的一种新的计算范式。随着云计算服务资源的不断丰富,云计算环境中不可避免地涌现出大量功能相同但服务质量QoS不同的服务资源。通过一定的组合逻辑和业务流程,将功能单一的原子服务组合成具有增值功能的组合服务,来满足用户QoS偏好,这一过程称之为服务组合。通常服务提供者和服务请求者之间协商出服务等级协定(SLA)来规约服务组合过程中的一系列非功能性指标。服务提供者的目标是满足SLA的前提下,以尽可能小的成本来提供用户所需的服务。服务请求者希望花费最小的费用来获得QoS指标最高的服务。

云服务的评价指标主要是根据Web服务的评价指标和云服务自身的特点,目前,云服务QoS指标主要包括性能、可用性、可靠性和安全性。可靠性作为评价软件质量指标的重要属性之一,也是云服务QoS质量指标中重要的属性之一。在保障功能需求的前提下,现今用户更加注重云服务于的QoS属性。提高云服务的可靠性,对可靠性进行预测,在故障发生之前采取相应的措施,能有效地保障服务消费者的权益,同时也能够降低服务提供者的成本。

目前现有的可靠性预测方法都是通过预测技术对云服务的可靠性指标进行预测,从而根据预测结果进行服务推荐。云服务以及云服务组合的可靠性研究已经受到广大学者的广泛关注,但是目前还没有很好的解决方法,服务组合的可靠性预测也已成为面向服务计算和软件可靠性领域亟需解决的问题。文献[2]为了解决测量服务可靠性矩阵无法准确测量的问题,利用微积分几何工具将可靠性秩约束矩阵演化为没有约束的几何优化,为服务预测和推荐提供了参考。Ma等[3]使用概率分布函数和概率密度函数提出云服务可靠性预测的概率模型。文献[4]采用贝叶斯算法来分析可靠性预测过程中可能出现的服务违规和可靠性缺失问题。文献[5]提出了基于贝叶斯算法的网格计算服务组合可靠性预测模型。文献[6]提出案例推理的方法来对Web服务组合的可靠性进行预测。梁员宁等[7]针对云服务的冗余特性和可靠性保障需求,设计了基于信任冗余的云服务可靠性增强总体框架。钟旭航等[8]通过软件容错技术来提高组合服务的可靠性,其首先建立服务组合的可靠性预测模型,然后提出了一种建立基于冗余的Web服务组合的可靠性优化模型的方法。郑子彬等[9]将协同过滤技术、邻居矩阵分解策略、服务调用者的历史信息和邻居用户的信息结合起来,从而对服务可靠性进行预测,继而提出基于可靠性感知的Web服务推荐系统。Geebelen 等[10]提出了一种基于在线支持向量机的组合Web 服务 QoS 预测方法。该预测方法首先采用在线支持向量机预测组件服务的 QoS, 然后基于组件服务的 QoS 预测值预测组合 Web 服务的 QoS,并依据预测的组合 Web 服务的 QoS计算质量协议的概率。

综上所述,在进行服务可靠性预测过程中,现有的部分预测方案和预测方法的准确性不高。并且有的算法在预测过程中需要消耗大量的系统资源和历史数据,导致算法复杂度高,预测开销大,最终导致无法对云服务进行实时的预测,更不能对整个服务的使用流程进行实时预测。因此本文提出一种基于改进贝叶斯预测模型的可靠性预测算法,提出的算法不仅具有较高的预测准确度,并且在算法复杂度和消耗系统资源方面也有很好的表现。

1 云服务组合流程及其可靠性计算

通过服务组合将功能单一的原子服务组合成具有增值功能的组合服务来满足用户的QoS需求,云服务组合的基本顺序结构包括顺序、迭代、并行和选择。通过随机Petri网对上述四种模型进行形式化描述,得到如图1所示的服务组合模型图。

图1 服务组合随机Petri流程图

迭代结构是当逻辑条件满足规定条件的时候,就循环执行循环体内的原子服务,如图1(b)所示,假设循环体内的服务被执行N次,那么迭代结构的可靠性计算公式为:RL=R(si)N。其中R(si)是循环体内的原子服务的可靠性值。

选择结构和并列结构类似,也是具有多分支结构,但是执行下一个原子服务的条件是任意分支上的原子服务执行完毕。因此选择结构是在众多分支中选择一个分支执行,假设选择结构的分支数目为N,选择分支Si的概率为pi,那么选择结构的可靠性计算公式为:

上述四种组合结构是服务组合中基本的四种结构,通常情况下实际中的组合不会这么简单,通常是上述一种或者几种基本组合结构的再组合。下面通过一个实例来详细介绍实际中一个云服务组合的可靠性。如图2所示。

图2 服务组合可靠性计算示例

图2中的服务组合中包含了S1-S7七个原子服务。从总体上看整个服务组合分为三个部分,S1、并列结构和S7组成了整个服务组合,其中并列结构中包括两个分支,分支一包含S2、选择结构,选择结构中包含两个分支,分别为S6和S5,分支二包含S3、循环结构,循环结构中包含S4循环k次。综上所述,假设单个原子服务Si的可靠性为R(si),那么上述整个服务组合的可靠性为:

Rs=R(s1)×R(s2)×[p1×R(s4)+p2×R(s5)]×

R(s3)×Rk(s6)×R(s7)

服务提供者在向服务注册中心发布原子服务的同时会提供原子服务的可靠性参数值,通过上述服务组合的可靠性计算公式可计算出组合服务的可靠性。相同的服务由于服务请求者的地理信息环境与网络环境不同,其可靠性值也会不同。服务的可靠性的值的变化是相对有规律的,通过对云服务的可靠性值进行实时预测,分配一个未来时间段内满足服务请求者可靠性需求的云服务。同时对一些即将发生可靠性违规的云服务采取一定的措施,这对进一步提高云服务的服务质量具有重要的意义。因此下一节将提出改进的贝叶斯算法(IDLM)来进行服务可靠性的预测。

2 改进贝叶斯算法的设计与实现

通过贝叶斯统计对预测历史数据进行分析和演变,从而建立预测模型称之为贝叶斯预测模型。贝叶斯预测模型充分利用先验信息,结合历史数据信息和预测模型,从而可以对即将到来的数据进行预测和判断。贝叶斯预测模型按照其状态方程和预测方程中参数的不同确定方法,可以将贝叶斯模型分为常均值模型、常均值折扣模型。上述两种模型的基础是正态动态线性模型,本节将详细介绍正态动态线性模型、常均值模型、常均值折扣模型以及本文提出的改进贝叶斯算法(IDLM)。

2.1 正态动态线性模型

贝叶斯模型的基础是正态动态线性模型DLM(Dynamic Linear Models),其先验概率随着时间的变化而变化。DLM是由观测方程和预测方程确定的预测系统,通过状态回归矩阵和状态转移矩阵来反映预测数值如何以系统状态在系统内部之间转化。DLM可以表示为{F,G,V,W}t={Ft,Gt,Vt,Wt},对于任意时刻t,一般存在:

(1)

将上述正态动态线性模型DLM{F,G,V,W}表示成方程,如下所示:

μt=Gtμt-1+ωtωt~N[0,Wt]

(2)

yt=Ftμt+vtvt~N[0,Vt]

(3)

其中:式(2)为状态方程,式(3)为观测方程,Ft是n×r维动态回归矩阵,Gt是n×n维状态转移矩阵,vt和ωt是r维和n维的观测误差项和状态误差项,观测误差项和状态误差项都服从正态分布,且相互独立,其方差为Vt、Wt。

从式(2)-式(3)可以看出,如果知道t时刻云服务可靠性的值,并且能够得到状态转移矩阵、动态回归矩阵、观测误差项和状态误差项,可以通过式(2)-式(3)预测出下一时刻云服务可靠性的预测值。观察式(2)-式(3)可得,正态线性模型就是观测向量、状态向量、观测误差向量和状态误差向量都服从正态分布的动态模型,只要知道{Ft,Gt,Vt,Wt}就可以确定正态动态线性模型DLM。

2.2 常均值模型

常均值模型是在上述正态动态线性模型的基础上演变而来,通过将上述正态线性模型中的观测向量和状态向量Ft、Gt均设为1,则得到常均值模型DLM{1,1,Vt,Wt}。方程表示如下:

μt=μt-1+ωtωt~N[0,Wt]

(4)

yt=μt+vtvt~N[0,Vt]

(5)

式(4)为常均值模型状态方程,式(5)为常均值观测方程。

证明:由于状态方程和vt、ωt、μt都服从于正态分布,并且相互独立,由正态分布的可加性可得:

2.3 常均值折扣模型

μt=μt-1+ωtωt~N[0,Wt]

(6)

Wt=Ct-1(γ-1-1)

(7)

yt=μt+vtvt~N[0,Vt]

(8)

式(6)为常均值折扣模型的状态方程,式(7)为常均值折扣模型的状态误差方差约束条件,式(8)为常均值折扣模型的观测方程。

2.4 改进贝叶斯算法(IDLM)

虽然常均值折扣模型引入折扣因子γ来解决常均值模型中状态误差方差很难求解的问题,但是其处理方法过于简单,对于预测的准确度还有待提高。本节针对常均值折扣模型预测精度不高的问题,提出了另外一种改进的贝叶斯预测算法(IDLM)。通过对历史数据进行处理,按照时间序列对其进行排序,通过指数加权回归方法对其处理,按照指数分布规律对历史数据赋予不同的权重值。然后结合先验分布对未来数据进行预测,进而提高预测算法的准确性和稳定性。

通过状态方程和观测方程可知,如果对状态误差方差Wt进行指数加权回归方法处理,可得:

Wt=(λ2-β)(1-β)Vt/β

(9)

式(9)中令λ=1,可得:

Wt=(1-β2)Vt/β

(10)

证明:对于方程

根据指数加权回归的方法,状态误差方差Wt可表示成如下形式:

Wt=(λ2-β)(1-β)Vt/β

由观测方程可得:

(1-λB)μt=ωt

(11)

由状态方程可得:

(1-λB)yt=(1-λB)μt+(1-λB)vt

(12)

再根据式子Wt=(λ2-β)(1-β)Vt/β,令λt=λ,n=1,p=0,q=0,并且令:

xt=(1-λB)yt=(1-βB/λ)et=(ωt+vt)+λBvt

这里记c1=ωt+vt,c2=-λv,则xt的自协方差函数可描述为下式:

γx=E((c1+Bc2)(c1+B-1c2))

又因为γk=γ-k,其中k=0或者1,因此γk的自回归系数为:

γ1=E(c1c2)=-λv

γ0=E(c12+c22) = (1 +λ2)v+ω

由公式xt=(1-λB)yt=(1-βB/λ)et=(ωt+vt)+λBvt可知:

γx=E{(1-βB/λ)(1-βB-1/λ)}et2

由公式γx=E{(1-βB/λ)(1-βB-1/λ)}et2可得到的自回归系数为:

如果令t趋于无穷大,那么有:

再比较各自的回归系数,可得到式(9)如下:

Wt=(λ2-β)(1-β)Vt/β

令λ=1可得式(10):

酒。酒精能使胃黏膜分泌过量的胃酸,大量饮酒后,胃黏膜上皮细胞受损,诱发黏膜水肿、出血,甚至溃疡、糜烂,再严重就会出现胃出血。

Wt=(1-β2)Vt/β

得证。

基于改进的贝叶斯算法的云服务可靠性预测算法如算法1所示。

算法1:

Input:Vrel.t.

Output:Prel.t+1.

Begin procedure

Initialize1: β=0.8,m0=Vrel.0,C0=72

1:yt←Vrel.t;

3:Qt←Rt+Vt;

4:At←Rt/Qt;

5:ft←mt-1;

6:et←yt-ft;

7:Ct←AtVt;

8:mt←mt-1-Atet;

9:Prel.t+1←mt;

Endproceduce

Output:Prel.t+1.

3 实验仿真分析

3.1 实验环境设计

本文采用实验室搭建的基于openstack的云平台实验环境,分析和验证提出的服务组合可靠性模型,并采用现代数学计算工具MATLAB来分析求解。实验证明本文提出的基于改进贝叶斯模型的云服务可靠性预测算法在实际运行环境中具有较好的性能。

为了实验对比,将本文提出的算法和常用的时间序列算法进行对比。实验对象为改进的贝叶斯常均值(IDLM)、贝叶斯常均值折扣(BCMD)、一次移动平均法(MAM)、一次指数平滑法(SES)。

3.2 结果评价指标

为了对实验结果进行分析和对比,设计如下四种评价指标:

平方和误差(SSE):

平均绝对误差(MAE):

均方误差(MSE):

平均绝对百分比误差(MAPE):

式中:Vrel.t表示的t时刻云服务可靠性的实时检测值,Prel.t+1表示的是t+1时刻云服务可靠性的预测值。

3.3 实验结果分析

在基于openstack的云平台上创建40台虚拟机表示云平台可以向服务请求者提供的40个云服务。同时设置了1 000个应用任务表示服务请求者的任务在上面运行。在虚拟机的执行过程中检测服务可靠性值和预测算法来预测下一时刻服务可靠性值,计算上述提到的四种评价指标,来表示预测算法的准确性和稳定性。通过对本文提出的改进的贝叶斯算法(IDLM)与贝叶斯常均值折扣(BCMD)、一次移动平均法(MAM)、一次指数平滑法(SES)进行实验对比分析。得到实验数据如表1所示。

表1 实验数据分析

表1中第一行为实验的四种预测算法(IDLM、BCMD、MAM、SES),第一列为四种评价指标(SSE、MAE、MSE、MAPE)。从表1中第二行可以得到IDLM预测算法的SSE值为0.005 625,在四种预测算法中为最小,表明了IDLM通过Vrel.t来预测Prel.t+1时预测的稳定性最好,即预测的准确性最高。同理,比较其他三种评价指标均可以得到IDLM的预测准确性最高。

通过上述实验可知,通过本文提出的改进的贝叶斯预测算法来进行云服务可靠性预测时,预测数据具有较低的方差值。即通过t时刻的云服务可靠性值Vrel.t能够预测出最满足用户可靠性需求的组合服务,来推荐给服务请求者。

4 结 语

随着云服务的发展和成熟,用户已经从满足服务的功能需求逐渐转变为对服务的非功能性需求提出更高的要求。可靠性作为服务非功能属性中的重要属性之一,可靠性的高低直接影响着服务质量的高低。对云服务可靠性进行预测进行研究来对服务可靠性保障具有重要的研究意义。本文在传统的贝叶斯预测模型的基础上对状态误差方差进行指数加权回归处理,来提高预测算法性能。实验表明,提出的算法较传统的时间序列预测算法具有较高的准确性和稳定性。

[1] Abbadi I M, Alawneh M. A framework for establishing trust in the Cloud[J]. Computers & Electrical Engineering, 2012, 38(5):1073-1087.

[2] Zhao Y, Li Z, Chu X. QoS Prediction for the Cloud Service Marketplace: A Grassmann Manifold Approach[C]// IEEE, International Conference on Cloud Computing. IEEE, 2015:221-228.

[3] Ma Y, Wang S, Yang F, et al. Predicting QoS Values via Multi-dimensional QoS Data for Web Service Recommendations[C]// IEEE International Conference on Web Services. IEEE, 2015:249-256.

[4] Tang B, Tang M. Bayesian Model-Based Prediction of Service Level Agreement Violations for Cloud Services[C]// Theoretical Aspects of Software Engineering Conference. IEEE, 2014:170-176.

[5] Kazem A A P, Pedram H, Abolhassani H. BNQM: A Bayesian Network based QoS Model for Grid service composition[J]. Expert Systems with Applications, 2015, 42(20):6828-6843.

[6] Frey S, Luthje C, Reich C, et al. Cloud QoS Scaling by Fuzzy Logic[C]// IEEE International Conference on Cloud Engineering. IEEE Computer Society, 2014:343-348.

[7] 梁员宁,陈建良,叶笠. 云服务可靠性优化方法研究[J].计算机科学, 2013,40(8):129-133.

[8] 钟旭航、齐治昌,徐锡山. 基于冗余的Web服务组合可靠性优化方法研究[J].计算机工程, 2008,34(4):31-33.

[9] Zheng Z, Ma H, Lyu M R, et al. Collaborative Web Service QoS Prediction via Neighborhood Integrated Matrix Factorization[J]. IEEE Transactions on Services Computing, 2013, 6(3):289-299.

[10] Geebelen D, Geebelen K, Truyen E, et al. QoS prediction for Web service compositions using kernel-based quantile estimation with online adaptation of the constant offset[J].Information Sciences, 2014,268: 397-424.

CLOUDSERVICERELIABILITYPREDICTIONMETHODBASEDONIMPROVEDBAYES

Qian Shuangyang Chen Zhe Liu Yuanxu

(PLAInformationEngineeringUniversity,Zhengzhou450001,Henan,China)

In view of the continuous development of the service consumer business and the complexity of the business logic, the demand for reliability of the cloud service composition is increasing. Through the prediction of the reliability of service composition, according to the prediction results, the service composition was recommended to service consumers to satisfy their reliability requirements to improve the service quality. We propose an improved Bayesian prediction algorithm based on the traditional Bayesian prediction model. By using the exponential weighted regression method to estimate the variance term of the state error in the algorithm, the problem of difficulty in determining the variance parameters of state error in the traditional Bayesian model is solved effectively. And it has high predictive efficiency and predictive accuracy. The experimental results show that the improved Bayesian prediction algorithm has higher accuracy than other traditional time series prediction algorithms.

Service composition Reliability Bayesian model Prediction

2017-02-19。国家高技术发展研究计划项目(2008AA01Z404);国防预研基金项目(9140A26010306JB5201)。钱双洋,硕士生,主研领域:系统工程与信息安全。陈喆,副教授。刘原序,硕士生。

TP3

A

10.3969/j.issn.1000-386x.2017.11.006

猜你喜欢

贝叶斯均值可靠性
基于贝叶斯解释回应被告人讲述的故事
基于动态贝叶斯估计的疲劳驾驶识别研究
均值—方差分析及CAPM模型的运用
均值—方差分析及CAPM模型的运用
合理使用及正确测试以提升DC/DC变换器可靠性
GO-FLOW法在飞机EHA可靠性分析中的应用
5G通信中数据传输的可靠性分析
论如何提高电子自动化控制设备的可靠性
基于互信息的贝叶斯网络结构学习
关于均值有界变差函数的重要不等式