一种Web服务使用者体验时间的动态更新方法*
2013-06-08鞠兴隆段友祥修南海鞠海燕
鞠兴隆,段友祥,马 成,修南海,鞠海燕
(1.中国石油大学(华东)计算机与通信工程学院,山东 青岛 266580;2.山东省昌邑市第一中学,山东 昌邑 261300)
1 引言
Web服务是一种主流的分布式计算技术,Web服务的使用渗透到生活的各个角落,并扮演着重要角色。随着Web服务的快速发展,使用者对Web服务的要求不仅仅局限于实现某种功能,越来越多的使用者开始关注非功能需求,即服务质量QoS(Quality of Service),如使用者体验时间等。
Web服务的QoS 数据的准确性是十分重要的,准确的QoS数据是基于QoS的Web服务综合评估的前提,不准确的QoS数据会导致基于QoS的Web服务综合评估产生错误的结果,进而导致基于QoS的Web服务选择的失败。Web服务的QoS数据大多是动态变化的,因此,需要对服务的QoS数据不断地预测,实时地进行动态更新。
文黎明等[1]提出了一个基于测量目的的QoS监测、控制框架。D'Ambrogio A[2]通过扩展WSDL(Web Services Description Language)文档,将Web服务的非功能属性QoS信息添加进来,扩展后的WSDL 称为Q-WSDL (QoS-enabled WSDL)。Rosenberg F[3]提出了一种监测、评估服务性能的方法,并实现了一个软件工具来完成此项工作。Strunk A[4]引入了SLO(Service Level Objective)违规概念,并提出了一种预测组合服务可用性的方法。Davide L[5]提出了一种实时预测服务可用性的方法,这种方法通过使用MTTR(Mean Time To Repair)、MTTF(Mean Time To Failure)实现了可用性的黑盒预测。Vilalta R 等[6]研究了计算机系统预测算法在长期与短期、数值数据与类别数据等不同情况下的差异。徐福昌[7]提出了一种Web 服务的QoS 动态更新方法-X-M(Xu Method)方法,该方法引进了近期数据的概念,取得了较好的预测效果。
文黎明等[1]、D'Ambrogio A[2]和Rosenberg F[3]引入了QoS信息的表示以及监测方法,但不包含QoS信息动态更新功能。Strunk A[4]和Davide L[5]提出了状态属性的更新方法,但此方法不适用于数值属性的动态更新。本文根据文黎明等[1]、D'Ambrogio A[2]和Rosenberg F[3]提出的方法,同时受Strunk A[4]、Davide L[5]、Vilalta R 等[6]和徐福昌[7]提出的更新方法的启发,提出了QoSBWSA(QoS Based Web Services Architecture)体系架构和HDB-QoS-DPM(History Data based QoS Dynamic Prediction Method)方法,QoSB-WSA 架构实现了使用者体验时间信息的表示和监测,HDB-QoS-DPM 方法实现了使用者体验时间的动态更新。本文首先提出QoSB-WSA 体系架构,这种架构中加入了使用者体验时间数据信息的处理模块;然后又提出了HDB-QoS-DPM 动态更新方法,这种方法是一种基于巴莱多定律和统计学的方法;最后通过实验的方法,验证了本文提出的使用者体验时间的动态更新方法的可行性和正确性。为便于叙述,在论文接下来的内容中,如果没有特殊说明,QoS数据指的就是Web服务使用者体验时间。
2 QoSB-WSA体系架构
基于QoS动态更新的模型QoSB-WSA 是一种基于QoS 的Web 服务架构,与经典的Web服务体系架构不同之处是,QoSB-WSA 架构加入了对QoS数据信息处理的支持机制。参照文献[2]提出的方法,服务使用者向服务注册中心发送的服务调用信息中需要加入QoS数据信息,服务使用者调用完Web服务后,需要将相关的使用者体验以QoS数据的形式反馈到服务注册中心。服务提供者发布Web服务时,需要在发布的信息中加入QoS数据信息。服务注册中心需要记录Web服务的QoS相关信息,对QoS数据进行管理。服务注册中心中新加入的对QoS数据信息的支持部分称为Web服务QoS 数据处理中心WS-QoS-Center(Web Services QoS Processing Center)。QoSBWSA 架构如图1所示。
Figure 1 QoS based web services architecture-QoSB-WSA图1 基于QoS的Web服务体系架构-QoSB-WSA
3 HDB-QoS-DPM 动态更新方法
3.1 HDB-QoS-DPM 方法基本思想
巴莱多效应-即80/20法则,其思想是:在任何特定群体中,重要的因子通常只占少数,而不重要的因子则占多数,因此只要能控制具有重要性的少数因子即能控制全局。
基于以上理论,同时受文献[7]提出的X-M 方法的启发,本文提出了HDB-QoS-DPM 方法,QoS历史数据是基础,在时间轴上,与当前时间距离小的历史数据对当前QoS数据期望值影响较大。在HDB-QoS-DPM 方法中,使用局部更新与全局修正相结合的方法,实现QoS数据期望值的计算。
3.2 QoS数据的局部更新
定义1 局部更新周期NS(Number of Small Part)。在QoSB-WSA 架构中,相邻两个局部更新操作之间的历史数据的数量称为局部更新周期。
局部更新周期是一个数量,表示当历史数据的数量达到某个值时,进行一次局部更新。
定义2 历史数据U-H-Data(User History Data)。在QoSB-WSA 架构中,监测到的Web服务使用者体验时间的历史QoS数据,也称为监测值、历史数据。
Web服务使用者体验时间指的是服务使用者调用一次服务(从绑定服务,到服务调用完成返回执行结果)所用的时间。U-H-Data数据的集合为UHD,UHD={uhdi|1≤i≤n},其中uhdi比uhdi+1获取时间早,uhdn是最新获取到的监测值。
定义3 预测值U-E-Data(User Expectation Data,简写为UED)。在QoSB-WSA 架构中,计算得到的QoS数据更新值,也称为预测值、期望值,UED={uedi|1≤i≤n},其中uedi比uedi+1计算时间早,uedn是最新计算出来的期望值。
UED 表示通过处理后得到的更新值。
定义4 偏离度UDD(User's Degree of Deviation):
称uddi是uhdi相对于uedi的偏离度。
uddi是一个百分比,uddi值越大,表示监测值与期望值的偏离度越大,uddi值越小,表示监测值与期望值的偏离度越小。
定义5 偏离因子UDDF(The Factor of User's Degree of Deviation)。
称uddfi为uhdi相对于uedi的偏离因子,使用者偏离因子。其中,UTLD(User's Threshold Level of Deviation)表示使用者偏离阈值,是一个常量。
当uddi大于或者等于UTLD 时,uddfi值 为1,表示监测值偏离期望值过大,超过既定的范围;当uddi小于UTLD 时,uddfi值为0,表示监测值偏离期望值不大,在既定的范围之内。
通过公式(1)和公式(2),将UHD 分为偏离度大的和偏离度小的两类。
根据巴莱多效应,一个局部更新周期内的历史数据对下一个预测值的影响是不同的,因此需要对历史数据赋予不同的权重。根据正态分布函数,本文构造了历史数据的权重函数,如定义6所示。通过权重函数,可以对历史数据赋予不同的权重,使历史数据对预测值产生不同的影响。
定义6 使用者历史数据权重UHDW(The Weight of User's History Data)。
定义7 使用者加权偏离量WNUDD(Weighted Number of User's Degree of Deviation)。
称wnudd 为使用者加权偏离量。
wnudd 表示与期望值偏离超过既定范围的监测值的权重和,它的值越大,说明更新期望值时,监测值所占的权重越大,期望值所占的权重越小;它的值越小,说明更新期望值时,监测值所占的权重越小,期望值所占的权重越大。
通过公式(3)和公式(4)计算出监测值和期望值对下一次的预测值权重。由于通过公式(3)得到的各历史数据的权重的总和可能不为1,因此,通过定义8对权重进行处理,使权重总和为1。经定义8处理后,新的权重可以直接反映监测值对下一次预测值的影响的比例。
定义8 使用者更新因子UUF(User's Update Factor)。
其中,TUUF 和BUUF 为两个常量,TUUF 是uuf的上限,BUUF 是uuf 的下限。称uuf 为使用者更新因子。
使用者更新因子值越大,表示期望值与监测值偏离越大,因此,在对期望值更新时,监测值所占的权重越大;使用者更新因子值越小,表示期望值与监测值偏离越小,因此,在对期望值更新时,监测值所占的权重越小。uuf 直接表示监测值对下一次预测值的影响比例。
获得更新因子之后,就可以计算期望值ued,计算方法如公式(6)所示。
《广西培育特色小镇意见》指出,广西特色小镇建设要分轻资产型特色小镇和重资产型特色小镇来进行,这两种类型的特色小镇的建设面积原则上按1~3平方公里面积进行建设,但对这两种类型的特色小镇的社会投入要求不同。文件明确要求轻资产型社会投入要达到每平方公里8亿元以上,重资产型社会投入要达到每平方公里16亿元以上。但根据广西经济发展预测和其他省市特色小镇建设投入情况,广西轻资产型特色小镇建设未来社会投入可能会达到每平方公里8~24亿元,重资产型特色小镇社会投入可能会达到每平方公里16~48亿元。
其中,i=1,2.3,…,n。
公式(6)表示,下一次的预测值是由上一次的监测值和期望值决定的,上一次监测值和期望值的影响比例分别是uuf 和1-uuf。
3.3 QoS数据的全局修正
定义9 全局修正周期NA(Number of All History Data)
在QoSB-WSA 架构中,相邻两个全局修正操作之间的UHD 的数量称为全局修正周期。
全局修正周期是一个数量,表示当历史数据的数量达到某个值时,进行一次全局修正。
全局历史数据权重的求法与局部更新时类似,求解方法如公式(3)所示。
定义10 使用者全局修正值UAMV(User's Modification Value of All History Data)。
称uamv 为使用者全局修正值。
其中,uedold表示修正前的期望值,uednew表示修正后的期望值。
公式(8)的意义与公式(6)的意义类似,公式(8)表示,修正后的预测值是由修正前的期望值和一个全局修正周期内的使用者体验时间的加权期望值uamv 决定的,影响比例分别是1-uuf 和uuf。
4 实验设计与实现
本实验在Windows8 企业版32 位平台上实现,使用C#语言编写,调试环境为Visual Studio 2012。实验分别实现了服务使用者程序、服务提供者程序和服务注册中心程序。服务使用者程序调用服务提供者程序所提供的服务,然后将服务体验时间发送到服务注册中心,服务注册中心对数据进行处理和预测。实验中,服务提供者提供的Web服务通过WCF实现,服务实现的功能是两矩阵相乘,服务使用者将矩阵信息传送到提供者服务器,提供者服务器进行矩阵计算,将计算结果返回给使用者,使用者将服务响应时间反馈到注册中心服务器,注册中心根据反馈数据对服务响应时间进行动态更新。实验平台示意如图2所示。注册中心、使用者和服务提供者通过以太网交换机相连,三者之间的XML数据通过计算机网络传输。
Figure 2 Schematic diagram of experimental platform图2 实验平台示意图
服务注册中心获得使用者监测值uhd,uhd 是服务使用者调用Web服务的真实体验时间。根据定义4和定义5,将uhd与服务使用者体验时间的期望值ued 进行比较,从而计算出使用者偏离因子uddf。根据定义6 计算出使用者历史数据权重uhdw,然后,再根据定义7计算出使用者加权偏离量wnudd,根据定义8 计算出使用者局部更新因子,进而根据公式(1)求出使用者体验时间的局部期望值。当满足全局修正条件时,计算使用者历史数据权重,根据定义10计算出使用者全局修正值uamv,然后再根据公式(2)计算使用者体验时间的修正值。
在实验中,基于QoS动态更新的Web服务选择模型中的常量取值如表1所示。
Table 1 Values of constants表1 常量取值
表1中,NS 的值为3,表示每收到3个监测值就需要重新计算局部更新因子。NA 的值为11,表示每收到11个监测值就需要对期望值进行全局修正。k 在其取值范围内取值越大,在局部更新时,最新的数据所占的权重越大,在全局修正时,最新数据对全局修正值的影响越大;取值越小,在局部更新时,最新的数据所占的权重越小,在全局修正时,最新数据对全局修正值的影响越小。UTLD在其取值范围内,取值越大,新数据对期望值的影响越小,取值越小,新数据对期望值的影响越大。TUUF 和BUUF 是更新因子的上限值和下限值。
表1中的常量的取值是手工设定的。在常量的取值范围内,表1中的常量也可以取其他值。
5 实验结果及分析
实验中,把基于QoS动态更新的Web服务选择模型中的HDB-QoS-DPM 动态更新QoS 值的方法,与X-M 方法、平均值法、基于近期数据的平均值法等其他三种对QoS值进行动态更新的方法进行了分析和对比。X-M 方法中常量的取值与表1中相同。基于近期数据的平均值法中近期数据的数量取值与NS 相同。图3是使用这四种方法对使用者体验时间的预测比较图。其中,菱形折线表示使用者体验时间的监测值,即服务使用者体验时间的真实值,其他四条折线是预测值折线,与监测值折线越接近,说明预测效果越好。正方形折线表示X-M 方法的预测值,三角形折线是本文提出的HDB-QoS-DPM 方法的预测值,叉形折线是平均值法的预测值,米形折线是基于近期数据的平均值法的预测值。从图3可以看出,基于近期数据的平均值法的预测效果比平均值法要好,但是与XM 方法以及本文提出的HDB-QoS-DPM 法相比较,效果较差;可以看出,X-M 方法以及本文提出的HDB-QoS-DPM 法都取得了比较好的预测效果。
Figure 3 Comparison of four prediction methods for user time图3 使用者体验时间四种方法的比较
图4 是X-M 方法和HDB-QoS-DPM 法的实验比较结果。X-M 方法和HDB-QoS-DPM 方法都能随监测值的变化趋势及时地做出适应性调整。但是,在大部分情况下,HDB-QoS-DPM 方法的适应性更好,预测值更接近监测值。在图4中,菱形折线是监测值,正方形折线是X-M 方法预测值,三角形折线是HDB-QoS-DPM 方法预测值。
Figure 4 Comparison of two prediction methods for user time图4 使用者体验时间两种方法的比较
利用公式(9),我们比较了HDB-QoS-DPM 方法与X-M 方法的10 000条预测记录,比较结果如表2表示。
其中,d 表示预测值和真实值的差的绝对值,d 值越小,说明预测效果越好,d 值越大,说明预测效果越差。
Table 2 Comparison of HDB-QoS-DPM and X-M表2 HDB-QoS-DPM 方法与X-M 方法比较
从表2 可以看出,本文提出的HDB-QoSDPM 方法比X-M 方法的总体预测效果好。
图5是使用者服务体验时间动态更新过程中,更新因子uuf 值的变化折线。
Figure 5 Change of uuffor user time图5 使用者体验时间更新因子值的变化
从图5中可以看出,uuf 的值界于0.2和0.8之间,这是由常量TUUF 和BUUF 决定的,实验中,将TUUF 设置为0.8,BUUF 设置为0.2。
uuf 值越小,说明监测值和期望值偏离越小,因此,使用监测值对期望值进行更新时所占权重较小;uuf 值越大,说明监测值和期望值偏离越大,因此,使用监测值对期望值进行更新时所占权重较大。当uuf 值较小时,表明使用者体验时间的真实QoS值比较稳定。
在图3~图5 中,每个数据点表示一条记录,数据的横坐标是数据的收集次序。
6 结束语
本文提出了一种新的Web服务使用者体验时间的动态更新方法HDB-QoS-DPM。HDB-QoSDPM 方法基于巴莱多定律和统计学规律,通过对服务使用者的QoS反馈数据处理,进行动态更新。通过实验,比较了X-M 方法、平均值法、基于近期数据的平均值法以及本文提出的HDB-QoS-DPM方法,结果显示HDB-QoS-DPM 比其他三种方法效果更好。
随着Web技术的发展,本文提出的基于QoS动态更新的Web 服务选择模型以及HDB-QoSDPM 方法还有许多地方可以进一步完善。在基于QoS动态更新的Web 服务选择模型中,HDBQoS-DPM 方法中权重函数可以用其他函数代替,这些函数可以是经典函数,也可以是构造函数,如果能更好地反映监测值的权重分布,就可能得到更好的预测效果。另外,本文实验中常量的取值是根据实验环境设定的,对于其他Web服务的QoS值的预测,需要根据实际情况调整,因此,在以后的改进中,可以在本方法中加入常量取值的自适应模块,使常量的取值根据具体情况自动调整。
[1]Wen Li-ming,Lu Ju-kang.A scaling-oriented QoS monitoring framework for web services[J].Microelectronics &Computer,2006,2.(10):93-95.(in Chinese)
[2]D'Ambrogio A.A model-driven WSDL extension for describing the QoS of web services[C]∥Proc of International Conference on Web Services,2006:789-796.
[3]Rosenberg F.Bootstrapping performance and dependability attributes of web services[C]∥Proc of International Conference on Web Services,2006:205-212.
[4]Strunk A.An algorithm to predict the QoS-reliability of service compositions[C]∥Proc of the 6th World Congress on Services,2010:205-212.
[5]Davide L.Predicting software service availability:Towards a runtime monitoring approach[C]∥Proc of International Conference on Web Services,2011:736-737.
[6]Vilalta R,Apte C V,Hellerstein J L,et al.Predictive algorithms in the management of computer systems[J].IBM Systems Journal,2002,41(3):461-474.
[7]Xu Fu-chang.Research of web service selection based on QoSaware[D].Dongying:China University of Petroleum,2012.(in Chinese)
附中文参考文献:
[1]文黎明,陆菊康.基于测量目的的Web服务QoS监控框架[J].微电子学与计算机,2006,2.(10):93-95.
[7]徐福昌.基于QoS感知的Web服务选择[D].东营:中国石油大学,2012.