[0005] 本发明针对现有技术的不足,提出了一种基于混合协同过滤的Web服务QoS预测方法。
[0006] 本发明一种基于混合协同过滤的Web服务QoS预测方法的具体步骤是:
[0007] 步骤(1) 获取用户调用Web服务QoS历史记录信息,并将所获取的初始QoS矩阵正规化,具体计算公式为:,其中, 表示用户u调用服务s的QoS, 表示与用户u相关的所有QoS记录的平均值, 表示用户u调用服务所得QoS数据的标准偏差;
[0008] 步骤(2) 根据用户和服务的相关信息,将用户分为“普通用户类”和“特殊用户类”,将服务分为“普通服务类”、“特殊服务类”和“区域敏感服务类”;根据定义1确定“特殊用户类”,根据定义2确定“特殊服务类”,根据定义3和定义4确定“区域敏感服务类”,未被划分入以上任意类的用户和服务分别组成“普通用户类”和“普通服务类”;
[0009] 步骤(3)目标用户属于“特殊用户类”,而目标服务不属于“特殊服务类”,则使用UMEAN方法计算预测值,即将目标用户调用过的QoS记录的均值作为预测值;
[0010] 步骤(4) 目标服务属于“特殊服务类”,而目标用户不属于“特殊用户类”,则使用IMEAN方法计算预测值,即将目标服务被调用的QoS记录的均值作为预测值;
[0011] 步骤(5) 目标服务属于“特殊服务类”,且目标用户属于“特殊用户类”,则将使用UMEAN方法和IMEAN方法获得的预测值的均值作为最终的预测值;
[0012] 步骤(6) 目标服务对于目标用户所属区域敏感,根据定义5,将目标用户所属区域对目标服务的中心作为最终的预测值;
[0013] 步骤(7) 目标用户和目标服务分别属于“普通用户类”和“普通服务类”,根据定义6和定义7,使用改进欧氏距离计算用户间和服务间的相似度,使用Top-K算法选择目标用户和目标服务的相似邻居,最后根据定义8使用综合预测方法计算最终的预测值。
[0014] 定义1 特殊用户类。用户QoS均值最大的 个用户组成“特殊用户类”。其中,用户QoS均值是指与该用户相关的所有QoS记录的平均值, 是控制特殊用户类中用户个数的阈值,可根据实际情况指定。
[0015] 定义2 特殊服务类。服务QoS均值最大的 个服务组成“特殊服务类”。其中,服务QoS均值是指与该服务相关的所有QoS记录的平均值, 是控制特殊服务类中服务个数的阈值,可根据实际情况指定。
[0016] 定义3 用户区域。将用户按照所在物理位置的不同分成f类,用户 表示属于第i个区域的用户的集合,用 表示用户区域的集合,即 。
[0017] 定义4区域敏感服务。若服务s满足 ,则称服务s对区域 敏感。其中, 表示一个名为 的服务;为控制区域敏感服务的阈值,可根据实际情况指定; 表示区域 中用户调用服务s所得QoS记录的集合的
中值,简称区域 的中值; 表示用户区域集合 中各个区域中值所组成的集合
的中值; 表示用户区域集合 中各个区域中值与 的差的绝对值所
组成的集合的中值,计算公式为 。
[0018] 定义5区域中心。区域 对服务s的中心是指:区域 中所有用户调用服务s所得QoS集合的中值,计算公式为: 。
[0019] 定义6 用户相似度。本发明中,用户u1和u2的相似度使用改进欧式距离计算,具体公式为: ,其中,表示用户u1和u2共同调用过的服务集合, 表示用户u1和用户u2共同调用服务的个数,表示服务s被用户调用所得QoS数据的标准偏差,计算公式为: , 表示调用服务s的用户集合, 表示调用服务s的
用户的个数, 表示用户ui调用服务s的QoS值,表示与服务s相关的所有QoS记录的平均值。
[0020] 定义7 服务相似度。本发明中,服务s1和s2的相似度使用改进欧式距离计算,具体公式为: ,其中,表示共同调用服务s1和s2的用户集合, 表示共同调用服务s1和s2的用户的个数, 表示表示用户u调用服务所得QoS数据的标准偏差,计算公式为: ,表示用户u调用的服务集合, 表示用户u调用服务的
个数, 表示用户u调用服务s的QoS值,表示与服务u相关的所有QoS记录的平均值。
[0021] 定义8 综合预测方法。综合预测方法的计算公式为: ,其中,表示基于用户的预测结果,计算公式为 ( 表示目标用户u的相似邻
居集合, 表示用户u1调用服务s的QoS, 表示用户u与u1的相似度),表示基于服务的预测结果,计算公式为 其中 表示目标服务s的相似邻居集合, 表示
用户u调用服务s1的QoS, 表示服务s与服务s1的相似度, 和 ( )分别表示基于用户预测结果和基于服务预测结果的权重,计算公式为: ,
, 和 分别为调节基于用户和基于服务预测结果权重的固定因
子,计算公式为: , ,为调节基于用户和基于服务预
测结果权重的可变因子,可根据实际情况指定。
[0022] 有益效果:本发明通过考虑用户和服务的自身特性将用户和服务分类,并且根据目标用户和目标服务所属分类的不同使用不同的预测方法计算其QoS预测值,并利用改进的欧氏距离方法计算用户和服务的相似度,解决了传统相似度计算方法可能存在的对相似度值评估过高的问题,同时通过引入平衡因子整合了相似用户对相同服务QoS的预测结果和相同用户对相似服务QoS的预测结果。与传统方法相比,本发明具有较高的Web服务QoS的预测精度,尤其在历史QoS数据稀疏情况下,其预测精度相比现有方法有明显提高。