已评分项的平均评分值;
(in
[0044] 式(11)中,设为目标用户U。对项目i的评分,Ri(U)为用户U对项目i的评 分,w'Wy为活动服务i。和服务i的相似性,在计算相似性时,通过分配不同A的值,调整 的不同等级的权重,其中,AG(〇,1)。
[0045] 所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤5)中具体是指根 据式(12)利用基于用户的协同过滤预测方法,预测目标用户U。对未评分项i的评分值W 及根据式(13)利用基于服务的协同过滤预测方法,预测用户U对目标服务i。的评分值;
[0046] (12)
[0047] 式(。)中,设成,,O')为目标用户Ua对项目i的评分,W'"2,W,是目标用户Ua和邻居用 户U之间的相似性为目标用户U。对已评分项的平均评分值,K是邻居用户的数目;在 基于服务的协同过滤预测缺失值时,利用公式(13)预测用户U对目标服务i。的评分值:
触
[004引式(蝴中,巧/?,,("巧用户U对目标项目i。的评分,Ri(U)为用户U对项目i的评 分,是目标用户i。和邻居用户i之间的相似性,马;为目标服务i。对已评分项的平均 评分值,K是邻居用户的数目。
[0050] 所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤6)中具体是指根 据式(14)综合基于用户的协同过滤预测和基于服务的协同过滤的方法,进行服务性能的 最终预测:
[0051] 巧,0')二如"巧,,(7H. (1 -巧X//?,... (") ^ 14)
[005引式(14)中,当。'心(。和(U)都不为空时,由于基于用户和基于服务时不同的评 测标准,因此引入调整参数0且H/?,,U(Z)为基于用户的协同过滤预测评分,为基于 服务的协同过滤预测评分;当为空时,利用基于服务的协同过滤进行最终预测;当 知)为空时,利用基于服务的协同过滤进行最终预测;两者都不为空时运用公式(14)进 行最终服务性能预测。
[0053] 本发明的技术效果在于,结合了基于位置感知的方法和基于协同过滤的原理,弓I 入了用户的位置信息,利用服务性能与用户位置的相关性,将用户和服务分别根据自治系 统(AutonomousSystem)进行聚类且对空缺性能值进行预填充,并分别在计算活动用户与 各个用户聚类中屯、相似度和活动服务与各个服务聚类中屯、相似度的基础上,进行邻居的预 选择和选择,然后,利用Top-K最相似的用户和服务来为活动用户预测未知服务的性能值, 最后,综合基于用户和基于服务的性能预测值,进行最终的性能值预测。本文针对W上方法 进行了大量的实验,实验结果表明,引入用户的位置信息来进行聚类,不仅在预测精度和效 率上优于目前其它的推荐算法,同时,大大降低了算法的时间复杂度,很好的解决了大规模 数据稀疏、冷启动等问题。
【附图说明】
[0054] 图1为本发明实施例方法的基本流程示意图。
[00巧]图2为本发明的基本框架图。
[0056] 图3为本发明实施例方法中参数A对预测性能的影响。
[0057] 图4为本发明实施例方法中矩阵密度对预测性能的影响。
[0058] 图5为本发明实施例方法中Top-K对预测性能的影响。
[0059] 图6为本发明实施例方法中参数0对预测性能的影响。
【具体实施方式】
[0060] 如图1所示,本实施例基于位置聚类的协同式Web服务性能预测方法的步骤包 括:
[0061] 1)根据用户和服务的位置信息,对自治系统号即AS号相同的用户和服务分别进 行聚类;
[0062] 2)随机挑选用户来作为活跃用户,同时随机挑选服务来作为活跃服务,根据活跃 用户的历史性能记录和聚类信息,利用用户聚类和服务聚类的结果分别对用户-服务矩阵 中空缺的性能值进行数据平滑填充,其中历史性能记录包括响应时间、吞吐量、可靠性、价 格和可用性等记录,且用户-服务矩阵记录着每个用户调用Web服务的历史性能。本实施 例中,用户-服务矩阵是根据香港中文大学的ZibinZheng使用PlanetL油在全球范围内 分布式测量得到的Web服务性能数据集WS化eam-QoSDataset来处理得到的。该数据集记 录了运些用户的IP地址、服务的m?LW及它们所在的国家,W及每个用户调用各个Web服 务所产生的性能记录。本实施例通过对记录进行处理,得到两个用户-服务矩阵。两个用 户-服务矩阵的每项分别为用户调用Web服务得到的响应时间和吞吐量,即一个矩阵为用 户调用web服务得到的响应时间矩阵,另一个为用户调用web服务的吞吐量矩阵。
[0063] 3)对步骤2)中平滑填充后的聚类,计算聚类后每个集群的质屯、,并计算每个用户 集群的质屯、和活跃用户的相似性,W及每个服务聚类的质屯、和每个随机挑选的活跃服务的 相似性;利用快速排序算法对相似聚类进行降序排序,找到最相似的候选集群,从而完成邻 居预选择;
[0064] 4)完成邻居预选择后,对活跃用户根据其原始评分和平滑评分分别赋予不同的权 重,并计算活跃用户和每个用户候选集群中用户的相似性,W及计算活跃服务和每个服务 候选集群的相似性,最终找到与活跃用户和活跃服务相似的邻居集合,完成相似邻居的选 择;
[006引W得到活跃用户和活跃服务的相似邻居集合后,通过加入权重信息,利用Top-K个最相似的用户来为活跃用户预测未知服务的性能值和Top-K个最相似的服务来为活跃 服务预测未知服务的性能值,完成基于用户的性能预测和基于服务的性能预测;
[0066] 6)根据预测的性能值,通过加入调节因子对基于用户的性能值预测和基于服务的 性能值预测进行整合,从而得到最终预测的性能值;
[0067] 7)对所有的候选服务进行排序,推荐Top-K个服务给活跃用户,完成推荐。
[0068] 本实施例中,步骤1)中分别对AS号相同的用户和服务进行聚类的详细步骤包 括:
[0069] 2. 1)首先获取用户和服务的位置信息,用户和服务的位置信息即主要指该用户和 服务所在网络的AS号,它标明了用户位于哪个子网中,AS号可W根据用户的IP地址计算 出;
[0070] 2.。获取用户的位置信息后,将具有相同AS号的用户聚为一组.本实施例中共 339个用户可聚为I37组,即用户集U=扣,U2,. . .U339}被聚类为把片…片W];
[0071] 2.3)获取服务的位置信息后,将具有相同AS号的服务聚为一组.本实施例中共 5828个服务可聚为992组,即服务集S= {si,S2,...SsszJ被聚类为但片,..片9勺;
[0072] 本实施例中,步骤2)中具体是指根据式(1)进行基于用户聚类的数据平滑;
[0073] f馬(0 基于用户聚类数据平滑情况下巧户U对服务有评分 4(0=1? (1) 1巧XO 基于巧户聚类数据平滑情况下用户《对服务/无评分
[0074] 式(1)中,化,W是对用户未评分服务的平滑值,评分可理解为类似于客户在电商购 物后对卖家的评分,本发明指的是用户对服务的评分。对于用户U,簇Ce.,Cf}:, 考虑到单个用户的多样性,我们利用如下公式计算化,W;
[00 巧] 良。(J) = R。+么R.(.' 1.1、 (2)
[0076] 其中表示用户U的平均评分,是表示用户聚类的平滑因子,定义如下:
[0077] A巧,('.)=艺(心(/)-电 ?!哦始 (3;
[007引其中Cu(i) G C。,是用户U所在的簇C。中,项目t有评分的用户子集;表示对用 户U的平均评分;|Cu(i)I是用户U所在的簇C。中,对i有评分的用户数。
[0079] 本实施例中,步骤2)具体是指根据式(4)进行基于服务聚类的数据平滑;
[0080] f馬賊)基于服务聚类的数据平滑情况下用户《服务/有评分 巧,("')=j (斗) L或(M)基于服务聚类的数据平滑情况下用户"服务/无评分[008。式(4)中,其中巧,<^是用户未对服务进行评分的平滑值。Ri(U)是用户对服务有 评分的真实值,对服务i,乂:,…,Cf},考虑到单个服务的多样性,我们利用如下公 式计算化00
[0082] 尽(")=巧 + /1和(") <'5 )
[0083] 其中衣表示所有用户对服务i有评分的平均评分,(")是表示项目聚类的平 滑因子:
[0084] 碼..(")=XW.(")--馬)/I C(") i (6) 臣<:如'i
[00财其中Cl(i)GCl,是服务i所在的簇C冲,被用户评分过的服务子集;京表示所有 用户对服务i'的平均评分;ICi(U)I是项目i所在的簇Ci中,表示被用户评分过的服务数。[0086]本实施例中,步骤3)中具体是指根据式(7)进行基于用户的邻居预选择,计算每 个用户组的质屯、与活动用户之间的相似性>"'"、,「,并根据式(8)进行基于服务的邻居预选 择,计算每个服务组C与活动服务之间的相似性C;
(7)
[008引式(7)中,京7表示对用户U。的平均评分;/?,,(/)用户U。对服务i的评分;ARC(i) 是表示用户聚类的平滑因子。计算137个用户群组的质屯、(平均评分)后,计算各群组分 另IJ与活动用户进行相似度计算,并将前Top-