● 摘要
Web服务已成为互联网松耦合环境下解决异构应用之间互操作问题的主流技术,受到学术界和企业界的广泛关注。随着Web服务数量的不断增加,功能相同或相似的Web服务越来越多,服务质量(QoS)在服务选择中受到人们的重视,即用户希望获得既满足其功能需求又有较好QoS属性的服务。对于普通用户而言,获得备选服务的QoS属性较为困难。首先,服务运营商或第三方机构提供的QoS信息非常有限;第二,QoS属性与用户上下文,如网络环境等因素,密切相关,第三方提供的QoS信息往往不能准确反映用户的实际情况;第三,由于备选服务数量较多,用户自行对每个服务QoS进行测量将耗费大量时间和网络资源;最后,QoS属性集合中的某些属性很难通过几次服务调用获取,如信誉、可靠性和正确性等。 服务推荐作为解决服务选择问题的有效手段已成为研究热点。现有服务推荐通过用户的显性反馈,如用户观察到的服务QoS,用户对服务的评价,来获取用户偏好,并基于此给出推荐结果。本文详细分析比较了相关研究方法的优缺点,深入分析了基于协同过滤的Web服务推荐算法,并针对Web服务的特点,指出了相关算法在Web服务推荐中存在的不足之处。本文提出了基于用户区域位置的混合协同过滤推荐算法RegionKNN,详细介绍了算法的思想,分析了算法的推荐准确性、时间复杂度以及相关参数影响。基于大量真实数据的实验显示该算法在推荐准确性和在线时间复杂度方面都优于现有的基于协同过滤的Web服务推荐算法。为让用户对Web服务QoS有进一步的了解,增强用户对推荐结果的信任,本文设计了基于RegionKNN算法的Web服务QoS可视化方法,以二维地图的方式向用户展示推荐结果。协同过滤推荐算法需要通过用户提交的Web服务QoS信息来获取用户偏好,为减少给用户带来的不便,本文设计并实现了一个基于用户服务列表的推荐系统,通过挖掘用户服务列表,为用户提供服务推荐。