论文部分内容阅读
近年来,云中心的服务资源呈指数型增长。这使得用户从大量功能相当的候选服务中挑选出高质量的服务变得越来越困难。服务质量(Quality of Service,QoS)是用户在选择服务构建系统时需要关注的重要指标。可是,在现实世界里,候选服务集合中很多服务的QoS历史记录是缺失的,因为用户通常只调用过云中心少量的服务资源。为了获得缺失的QoS数据,推荐系统中的协同过滤(Collaborative Filtering,CF)技术被应用到QoS预测、服务选择及推荐领域。然而,推荐系统存在着历史数据稀疏和预测精度不高的固有难题。为了解决这个难题,本文提出了两个新颖的方法对缺失的QoS值进行预测:针对小规模的数据集,提出了一种基于分情况填充的云服务QoS预测算法(Cloud Service Quality Prediction with Different Filling Methods based on Different Situations,DFDS)。首先,为了解决历史数据非常稀疏的问题,提出了一种分情况填充的策略,该策略根据稳定性将用户划分为稳定用户和不稳定用户。同理,根据稳定性将服务划分为稳定服务和不稳定服务。在组合基于用户和基于服务的预测结果时,应该适当增大稳定一方所占的比重。其次,在利用皮尔逊相关系数计算用户(或服务)之间的相似性时考虑了用户(或服务)的稳定性,具有稳定一致性的用户(或服务)之间的相似性应该越高。此外,DFDS算法对现有的近邻型算法中用户(或服务)的平均值进行了改进,即采用动态的加权部分平均值来代替原先静态的全部平均值。针对大规模的数据集,提出了一种基于趋势相似度的云服务QoS预测算法(Cloud Service Quality Prediction Based on Trend Similarity using Collaborative Filtering,TSCF)。首先,为了解决皮尔逊相关系数不能准确计算相似性的问题,提出了一种新的相似性计算方法,该方法将每个用户调用过的服务的QoS值建模成一条曲线,从而将计算用户之间相似性的问题转化为计算曲线之间相似性的问题。其次,DFDS算法中的加权部分平均值策略在本算法中依然被采用。此外,针对异常的QoS预测值(如响应时间、吞吐量等QoS属性的预测值小于零),提出了一种后处理策略,该策略能够自动地修正异常的预测结果。在真实的QoS数据上进行的一系列实验表明,本文提出的两种云服务QoS预测算法在预测精度方面显著优于其他比较流行的QoS预测算法。