一种基于多元时间序列的WebServiceQoS预测方法与流程

文档序号:12751680阅读:278来源:国知局
一种基于多元时间序列的Web Service QoS预测方法与流程
本发明涉及一种WebServiceQoS预测方法,尤其涉及基于多元时间序列的WebServiceQoS预测方法,属于信息
技术领域

背景技术
:随着Web服务技术的快速发展和应用,网络上出现了很多功能相似的Web服务,在选择满足用户需求的Web服务过程中,非功能性需求往往被人们忽视。近几年来,作为非功能性因素的服务质量(QoS)开始逐步被人们重视,越来越多的研究人员开始致力于Web服务的QoS预测技术。Web服务的QoS属性包括与性能相关的响应时间(Responsetime)、吞吐量(Throughput)、可靠性(Reliability)、可用性(Availability)、可扩展性(Expandability),以及与非性能相关的价格(Price)、安全性(Security)、信誉(Credit)等属性。现有的预测模型主要针对单Web服务,分为基于人工智能的Web服务QoS预测方法,基于相似度的QoS预测方法,基于结构方程的QoS预测方法和基于时间序列QoS预测方法。其中基于时间序列的预测方法主要考虑QoS的单个属性或两个属性,选择ARIMA模型或神经网络模型进行预测,如华等考虑响应时间、可用性两个属性,利用ARIMA模型实现预测;ZiaurRehman等采用ARIMA模型预测QoS的响应时间属性;Zhang等采用RBF神经网络短期预测QoS属性值;刘等提出了一种ARIMA、灰色模型和神经网络的组合预测模型。但是QoS的属性之间存在复杂的相互依赖关系,单纯考虑一个因素的预测准确性较差,传统的ARIMA模型是一种短期预测模型,对数据的要求比较高,需要对数据进行多步处理。因此本发明方法考虑QoS属性之间的相关性,将多个QoS属性组成数据源。性能相关属性和非性能相关属性都会影响QoS值,属性之间的相互关系无法用准确的公式模式表示,因此采用相空间重构的方法,不需要确定各属性之间的关系,也不需要考虑邻近时间点之间数据的相互关系,将QoS属性历史数据映射到一个动力系统中,近似恢复原来的多维非线性系统。另外随着技术的提升,Web服务QoS的整体发展趋势随服务提供商的策略变化具有动态多变的特性,直接利用历史数据做多步直接预测不能反映当前QoS属性值,影响预测精度。短期QoS广告代表当前QoS属性值的走向,因此将短期服务提供商的QoS广告数据用时间序列表示,加入到预测数据集中进行多步预测。RBF神经网络模型可以进一步表示输入变量与预测变量之间的复杂关系,以黑盒模式比较准确地描述这种关系,预测的属性值相对准确。传统的神经网络权值训练是一个反复迭代的复杂过程,因此本方法利用海塞矩阵和Levenberg-Marquardt最优化算法训练权值,提高运算效率,减小了时间开销和空间开销。针对QoS属性值动态多变的特点,在未来预测过程中,采集样本动态更新神经网络的参数值,实现动态预测,提高预测精度。技术实现要素:发明目的:针对现有技术中存在的问题与不足,为了提高WebServiceQoS预测的效率和准确性,考虑QoS属性值的动态多变和多个QoS属性之间的复杂关系,本发明提供了一种基于多元时间序列的WebServiceQoS预测方法。技术方案:一种基于多元时间序列的WebServiceQoS预测方法,包括如下步骤:步骤1:收集确定的单Web服务的QoS属性数据;步骤2:QoS属性数据预处理;步骤3:建立多元时间序列RBF(径向基)神经网络预测模型;步骤4:设置误差阈值δ,训练RBF神经网络,确定神经网络的参数值;步骤5:利用RBF神经网络,实现QoS属性值动态多步预测。所述步骤1,收集数据主要包括两个方面,(1)从ServiceProxy(服务代理)收集QoS属性值作为历史数据。服务代理作为QoS属性历史数据收集的渠道,作为一种方法调用性质的客户端代理服务,利用通道使应用程序发送和接收消息,根据需要创建、打开、调用服务并且在不需要时关闭。应用程序可以重用服务代理反复连接到相同的服务,无需多余的时间开销和资源开销。根据每个QoS属性的不同定义嵌入功能代码,从服务代理中连续获取同一Web服务的QoS属性数据。(2)采集短期服务发布者提供的QoSInformationAdvertisement(QoS广告数据)。借助基于UDDI(统一描述发现集成规范)的Web服务发现技术,获取指定Web服务的广告信息。QoS的整体发展趋势随服务提供商的策略变动具有动态多变的特性,利用历史数据多步直接预测不能很好地反映当前QoS属性值,而短期QoS广告描述了未来短期时间内QoS属性值的趋势,在预测中利用广告数据,对当前的QoS属性值的走向有很大的作用,并且能够提高预测精度。因此将短期服务提供商的QoS广告数据用时间序列表示,加入到预测数据集中。数据预处理过程主要构建QoS属性关系系统,并且生成预测模型的输入数据,所述步骤2进一步为:步骤21:用多元时间序列表示QoS属性历史数据和服务提供商的短期广告数据。QoS属性历史数据的多元时间序列表示为:Q={Q1,Q2...,Qi,...,QN},i=1,2,...,NQi={qi,1,qi,2,...,qi,j,...,qi,M},j=1,2,...,MQoS属性短期广告数据的多元时间序列表示为:A={A1,A2...,Ai,...AN},i=1,2,...,NAi={ai,1,ai,2’...,ai,j,...,ai,M},j=1,2,...,M其中,N为样本个数;M为QoS属性个数;Qi表示第i个QoS属性历史数据;qi,j表示第i个历史数据的第j个QoS属性值;Ai表示第i个广告数据;ai,j表示第i个广告数据的第j个QoS属性值;步骤22:采用小波变换阈值去噪法对QoS属性历史数据进行噪声平滑处理,减小噪声对时间序列预测的影响。(1)假设带有高斯白噪声的数据为yi=Xi+αi(其中i=1,2,…,N,αi为白噪声,Xi为去噪声后的数据);(2)计算正交小波变换,选择N个样本QoS历史数据作为离散小波,设置小波分解层数j,将yi运用公式和(其中,k=1,2,...,N,yk=c0,k,n=1,2,...,N,cj,k为第k个样本的第j层尺度系数,dj,k为第k个样本的第j层小波系数,hn-2k和gn-2k组成的长度为2N的常数型单位向量h和g为一对正交镜像滤波器组QMF,h-1·g=0,j为常数型分解层数,N为离散采样点数)小波分解到第j层,得到对应小波分解系数;(3)用公式(其中,t表示阈值常量,Y表示输入的小波系数,表示输出的阈值处理后的小波系数)对分解后的小波系数做阈值处理;(4)进行小波逆变换,将经阈值处理后的小波系数用公式重构,得到估计值步骤23:QoS属性历史数据和广告数据分别做变量尺度变换,将尺度范围控制在[0,1]。因为神经网络的输入变量的范围在[0,1]或者[-1,1]之间时效果最好;步骤24:QoS属性历史数据的多元时间序列进行相空间重构,采用平均位移方法计算嵌入维数m和延迟时间τ。重构后的多元时间序列表示为:Q’={Q1’,Q2’...,Qi’,...,QN’},i=1,2,...,NQi,={qi,1,qi-τ1,1,qi-2τ1,1,...,qi-(m1-1)τ1,1,qi,2,qi-τ2,2,qi-2τ2,2,...,qi-(m2-1)τ2,2,...qi,j,qi-τj,j,qi-2τj,j,...,qi-(mj-1)τj,j,...qi,M,qi-τM,M,qi-2τM,M,...,qi-(mM-1)τM,M},j=1,2,...,M]]>其中mj表示第j个属性嵌入的维数;τj表示第j个属性的延迟时间;Qi'表示Qi重构后的时间序列。平均位移法的思想是通过引入平均位移(AD),给数据Qi一个假设嵌入维数m,求出延迟时间;步骤25:将处理后的历史数据和广告数据合成QoS综合数据集。QoS综合数据集表示为:X={X1,X2...,Xi,...,XN},i=1,2,...,N,Xi=[Qi',Ai]T,i=1,2,...,N,同时将数据集设置为输入Xi和目标输出Ti成对的样本。RBF神经网络预测是时间序列预测的一种方法,通过一系列的层将预测变量与目标变量联系起来,用类似黑盒的方式构建复杂的非线性关系,所述步骤3进一步为:步骤31:建立三层结构的RBF神经网络,包括输入层、隐含层和输出层。其中第一层输入层由感知单元组成,将输入向量Xi引入神经网络中;第二层隐含层把向量从低维映射到高维,隐含层的激励函数为高斯函数;最后一层输出层设置为单输出,将隐含层的输出进行线性加权组合的到最终输出值,记为Yi。隐含层的高斯函数公式为:φ(Xi,Ck)=exp(-r22σ2)]]>r=||Xi-Ck||2,i=1,2,...,Nk=1,2,...,L其中,φ(r)为隐含层的输出函数;Ck为RBF神经网络隐含层的中心;σ为扩展常数;L为隐含层中心节点的个数。RBF神经网络的输出层公式为:令W=[w1,w2,...,wL]T其中,Yi为输出层函数;wk为第k个隐层节点与输出节点之间的权值;Cmax为选取中心之间的最大距离;W是隐含层与输出层的权值矩阵;步骤32:确定RBF神经网络的隐含层中心节点Ck(k=1,2,…,L),隐层节点的个数为一组综合数据集样本输入的个数,中心节点Ck的值对应每个样本的值;步骤33:随机给定RBF神经网络隐含层与输出层的初始权值矩阵W;为了找到合适的神经网络参数值,所述步骤4进一步为:步骤41:将数据集样本中的训练样本分为若干组,每组的样本个数为db,设置误差阈值δ;步骤42:用矩阵Γ表示隐含层输出函数,输出层函数的矩阵表示为Γ·W=Y,Y=[Y1,Y2,...,YN]T,令步骤43:输入一组db个样本数据;步骤44:隐含层节点的个数为输入的一组综合数据集样本的个数,即L=db,中心节点Ck的值对应每个样本的值;步骤45:利用Levenberg-Marquardt(LM)算法将训练权值W转化为最优化问题。误差函数计算W的公式为W=W+ΔW,ΔW=(JTJ+μI)-1·JTS,其中误差矩阵S=[s1,s2,...,si,...,sN]T,si=Yi-Ti,正则化系数μ为大于0的常数。f(W)的海塞矩阵H为:f(W)的雅克比矩阵J为:简化ΔW计算:(1)令,令W训练过程中,每采集一个样本计算一次εk和βk,令N=db作为一组训练W的样本;步骤46:当f(W)<δ时,转到步骤43,否则输入下一组样本数据;步骤47:当f(W)的值减小时,当f(W)的值增大时,令μ=2μ,转到步骤44。针对基于多元时间序列的WebServiceQoS数据动态变动的特点,所述步骤5,在未来预测过程中,RBF神经网络的参数值需要动态更新,每收集一个样本计算对应的εk和βk,样本数达到db时,更新W的值并根据步骤47调整μ。样本数据中相空间重构的QoS历史数据和短期QoS广告时间序列数据的综合,设置QoS预测的预测步长为η(η>1),用t时刻的数据Xt预测t+η时刻的QoS属性值Yt+η,实现多步预测。附图说明图1为本发明实施例的方法整体步骤图;图2为RBF神经网络结构图;图3为本发明实施例方法的流程图。具体实施方式下面结合具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。如图1所示,为本发明的基于多元时间序列的WebServiceQoS预测方法整体步骤图,主要包括5个步骤:步骤1:收集确定的单Web服务的QoS属性数据;步骤2:QoS属性数据预处理;步骤3:建立基于多元时间序列的RBF(径向基)神经网络预测模型;步骤4:设置误差阈值δ,训练RBF神经网络,确定神经网络的参数值;步骤5:利用RBF神经网络,实现QoS属性值动态多步预测;如图2所示,为本发明使用的RBF神经网络结构图,输入向量从第一层输入,多个神经元节点表示输入多个QoS属性,采用多元时间序列表示输入向量;隐含层节点与输入层节点数相同;输出节点只有一个,表示输出的QoS属性个数为1;如图3所示,为本发明提出的基于多元时间序列的WebServiceQoS预测方法流程图,具体步骤如下:步骤101:选取QoS的主要属性,包括QoS主要的性能属性和非性能属性,选择响应时间、吞吐量、成功率、成本等具有代表性的属性;其中从服务代理收集QoS属性值作为历史数据的具体步骤包括:步骤102:Web服务工具包(Toolkits)中提供了生成服务代理的工具,服务代理工具是WSDL工具包中的一部分,根据Web服务描述文件(WSDL)调用proxygen命令,生成收集QoS属性历史数据的服务代理商;步骤103:按照QoS属性的定义,人为添加指令或修改指令完成额外的功能(响应时间添加代码计量时间,吞吐量添加代码统计单位时间传输的数据数量),编译后重新运行服务流程;步骤104:根据需要采集样本的数量,设置采集历史数据循环执行的时间,文本文档保存运行代码收集到的数据;利用UDDI服务发现技术采集短期服务发布者提供的QoS广告数据,具体步骤为:步骤105:查找Web服务提供者的QoSInformation实体;步骤106:QoSInformation实体包含一个或多个QoS属性信息,每一个都使用5元组<attributeName,attributeType,attributeValue,attributeUnit,constraints>描述,确定需要的QoS属性,并返回查询到的描述信息;步骤107:将QoS广告信息保存到文本文档中。QoS属性数据预处理具体处理步骤为:步骤108:用多元时间序列表示QoS属性历史数据和服务提供商的短期广告数据。QoS属性历史数据的多元时间序列表示为:Q={Q1,Q2...,Qi,...,QN},i=1,2,...,NQi={qi,1,qi,2,...,qi,j,...,qi,M},j=1,2,...,MQoS属性短期广告数据的多元时间序列表示为:A={A1,A2...,Ai,...AN},i=1,2,...,NAi={ai,1,ai,2,...,ai,j,...,ai,M},j=1,2,...,MAi={ai,1,ai,2,...,ai,j,...,ai,M},j=1,2,...,M其中,N为样本个数,相邻样本的时间间隔相同;M为QoS属性个数;Qi表示第i个QoS属性历史数据;qi,j表示第i个历史数据的第j个QoS属性值;Ai表示第i个广告数据;ai,j表示第i个广告数据的第j个QoS属性值;步骤109:采用小波变换阈值去噪法对QoS属性历史数据进行噪声平滑处理:(1)假设带有高斯白噪声的数据yi=Xi+αi(其中i=1,2,…,N,αi为白噪声,Xi为去噪声后的数据);(2)计算正交小波变换,选择N个样本QoS历史数据作为离散小波,设置小波分解层数j,yi运用公式和(其中,k=1,2,...,N,yk=c0,k,n=1,2,...,N,cj,k为第k个样本的第j层尺度系数,dj,k为第k个样本的第j层小波系数,hn-2k和gn-2k组成的长度为2N的常数型单位向量h和g为一对正交镜像滤波器组QMF,h-1·g=0,j为常数型分解层数,N为离散采样点数)小波分解到第j层,得到对应小波分解系数;(3)用公式(其中,t表示阈值常量,Y表示输入的小波系数,表示输出的阈值处理后的小波系数)对每个尺度系数cj,k分解后的小波系数做阈值处理;(4)进行小波逆变换,将经阈值处理后的小波系数用公式重构,得到估计值步骤110:QoS属性历史数据和广告数据分别做变量尺度变换,将尺度范围控制在[0,1]。QoS属性历史数据尺度变换公式为QoS短期广告数据尺度变换公式为其中q.,j表示历史数据样本中第j个属性的所有值,a.,j表示广告数据样本中第j个属性的所有值,(a.,j)max表示a.,j的最大值,(a.,j)min表示a.,j的最小值,(q.,j)max表示q.,j的最大值,(q.,j)min表示q.,j的最小值;步骤111:QoS属性历史数据相空间重构,采用平均位移方法计算嵌入维数m和延迟时间τ。重构后的多元时间序列表示为:Q’={Q1’,Q2’...,Qi’,...,QN’},i=1,2,...,NQi,={qi,1,qi-τ1,1,qi-2τ1,1,...,qi-(m1-1)τ1,1,qi,2,qi-τ2,2,qi-2τ2,2,...,qi-(m2-1)τ2,2,...qi,j,qi-τj,j,qi-2τj,j,...,qi-(mj-1)τj,j,...qi,M,qi-τM,M,qi-2τM,M,...,qi-(mM-1)τM,M},j=1,2,...,M]]>其中mj表示第j个属性嵌入的维数;τj表示第j个属性的延迟时间;Qi'表示Qi重构后的时间序列。平均位移法的思想是通过引入平均位移(AD),给数据Qi一个假设嵌入维数m,求出延迟时间。Q第j个属性的平均位移公式为:随着τj值的增加,当<Sm(τj)>的增长斜率第一次降为初始值的40%时,对应的点为所求的延迟时间;步骤112:处理后的历史数据和广告数据组成QoS综合数据集。QoS综合数据集表示为:X={X1,X2...,Xi,...,XN},i=1,2,...,N,Xi=[Qi',Ai]T,i=1,2,...,N,同时将数据集设置为输入Xi和目标输出Ti成对的样本。RBF神经网络结构具体构建步骤为:步骤113:建立三层结构的RBF神经网络,包括输入层、隐含层和输出层。其中第一层输入层由感知神经元组成,将输入向量Xi引入神经网络;第二层隐含层把向量从低维映射到高维,实现高维曲线拟合,隐含层的激励函数为高斯函数;最后一层输出层设置为单输出,将隐含层的输出进行线性加权组合作为最终输出值,记为Yi。隐含层的高斯函数公式为:φ(Xi,Ck)=exp(-r22σ2)]]>r=||Xi-Ck||2,i=1,2,...,Nk=1,2,...,L其中,φ(r)为隐含层输出函数;Ck为RBF神经网络隐含层中心;σ为扩展常数;L为隐含层中心节点个数。RBF神经网络输出层公式为:令W=[w1,w2,...,wL]T其中,Yi为输出层函数;wk为第k个隐层节点与输出节点之间的权值;Cmax为选取中心之间的最大距离;W是隐含层与输出层的权值矩阵;步骤114:确定RBF神经网络的隐含层中心节点Ck(k=1,2,…,L),隐层节点个数为输入的一组综合数据集样本的个数,中心节点Ck的值对应每个样本的值;步骤115:随机给定RBF神经网络隐含层与输出层的初始权值矩阵W。训练神经网络和动态多步预测过程的具体步骤为:步骤116:将数据集样本中的训练样本分为若干组,每组的样本个数为db,设置误差阈值δ;步骤117:矩阵Γ表示隐含层输出函数,输出层函数的矩阵表示为Γ·W=Y,Y=[Y1,Y2,...,YN]T,步骤118:输入一组db个样本数据;步骤119:隐层节点个数为一组输入综合数据集样本的个数,即L=db,中心节点Ck的值对应每个样本的值;步骤120:利用Levenberg-Marquardt(LM)算法将训练权值W转化为最优化问题。当误差函数取最小值时,对应的W为最终解,计算W的迭代公式为W=W+ΔW,ΔW=(JTJ+μI)-1·JTS,其中误差矩阵S=[s1,s2,...,si,...,sN]T,si=Yi-Ti,正则化系数μ为大于0的常数。f(W)的海塞矩阵H为:f(W)的雅克比矩阵J为:简化ΔW计算:(1)令,令W训练过程无需一次性计算复杂的矩阵Γ和ΓT,只需每采集一个样本计算一次εk和βk,N=db时计算ΔW,作为一组W更新样本;步骤121:当f(W)<δ时,保存预测结果并转到步骤118,否则输入下一组样本数据,继续下一步骤;步骤122:当f(W)的值减小时,当f(W)的值增大时,令μ=2μ;转到步骤119;步骤123:未来多步预测过程中,根据步骤120更新W的值并根据步骤122调整μ;设置QoS预测的预测步长为η(η>1),用t时刻的数据Xt预测t+η时刻的QoS属性值Yt+η。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1