CN105430099A - 一种基于位置聚类的协同式Web服务性能预测方法 - Google Patents
一种基于位置聚类的协同式Web服务性能预测方法 Download PDFInfo
- Publication number
- CN105430099A CN105430099A CN201510973819.0A CN201510973819A CN105430099A CN 105430099 A CN105430099 A CN 105430099A CN 201510973819 A CN201510973819 A CN 201510973819A CN 105430099 A CN105430099 A CN 105430099A
- Authority
- CN
- China
- Prior art keywords
- service
- user
- cluster
- formula
- performance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
Abstract
本发明公开了一种基于位置聚类的协同式Web服务性能预测方法:根据用户和服务的位置信息,对自治系统(Autonomous?System)相同的用户和服务分别进行聚类;计算基于质心的相似性;利用快速排序算法对相似聚类进行降序排序,找到前K个近邻集群作为候选集群,从而完成邻居预选择;计算活动用户和每个用户候选集群中用户的相似性,以及活动服务和每个服务候选集群的相似性;分别利用前K个最相似的用户来为活动用户预测未知服务的性能值和前K个最相似的服务来为活动服务预测未知服务的性能值;综合所有性能值计算源用户相对目标服务的质量预测值。本发明能解决Web服务推荐中的数据稀疏、冷启动等问题,达到提高Web服务性能预测和Web服务推荐的精度和覆盖率。
Description
技术领域
本发明涉及Web服务质量预测技术,具体涉及一种用于Web服务选择或推荐的基于位置聚类的协同式Web服务性能预测方法。
背景技术
Web服务是自描述、自包含的可用网络模块,用来帮助实现通过远程调用来完成不同机器之间的交互操作,并成为了构造分布式系统、模块化应用程序和面向服务应用集成的主要技术,如电子商务、车载系统、多媒体服务等。随着网络上Web服务数量的快速增长,为用户推荐最优的服务变得更具有挑战性。为了能在大量的可供选择的功能相同的Web服务集中找到最优的服务,Web服务的质量,即性能被广泛用来描述和评价Web服务的非功能属性。Web服务的性能参数包括响应时间(RTT,Round-TripTime)、吞吐量(TP,Through-put)、可靠性(Availability)等。由于性能在成功建立面向服务的应用中的至关重要性,基于性能预测的Web服务选择和推荐方法成为近几年的一个研究热点。
传统的基于性能的Web服务选择的研究都有一个通用的假设,即所有Web服务的性能值都是可用且准确的。然而,在现实中,这个前提不一定是真实的,用户想要总能获取到服务的性能值是不切实际的。这是由于Web服务的性能值容易受到不可预测的网络环境和用户环境(例如:用户位置,用户网络条件等)的影响,从而使得不同的用户在相同的Web服务上所观察到的性能值不同。换而言之,用户在进行服务选择时,不能直接使用另一个用户对服务的性能评价值。并且,由于现实中Web服务的调用既耗时间又耗资源,因此用户想要通过自己调用Web服务来评价所有候选服务以获取性能信息是不实际的。此外由于服务用户需要评价的候选服务过多,且还有一些合适的Web服务未被发现,使得服务的性能信息大量缺失。针对这些未知的性能进行预测是基于性能的Web服务选择和推荐的重要依据。
现有技术中,最常用的预测性能缺失值的方法存在以下缺陷:1)通过计算用户或服务的相似度来进行预测的方法无法为冷启动用户提供准确的性能预测,并且有可能因为数据稀疏而导致性能预测失败。2)以往的方法可能遭遇数据稀疏、冷启动问题,降低了预测精度,并且在面对大量用户和服务时,可扩展性欠佳。此外,有一些研究提出了基于性能相似度对用户或者服务进行聚类,然后用聚类的中心性能值来对用户-服务性能矩阵进行预填充,可以解决上述问题,但是计算代价比较高,并且当数据非常稀疏时,相似度难以准确度量,从而导致性能预测精度降低。
发明内容
本发明要解决的技术问题是:针对现有技术的上述问题,提供一种能在覆盖率和预测精度和可扩展性之间得到最好的平衡,预测成功率高、通用性好、性能高的基于位置聚类的协同式Web服务性能预测方法。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于位置聚类的协同式Web服务性能预测方法,包括以下步骤:
1)根据用户和服务的位置信息,对自治系统号即AS号相同的用户和服务分别进行聚类;
2)随机挑选用户来作为活跃用户,同时随机挑选服务来作为活跃服务,根据活跃用户的历史性能记录和聚类信息,利用用户聚类和服务聚类的结果分别对用户-服务矩阵中空缺的性能值进行数据平滑填充,其中历史性能记录包括响应时间、吞吐量、可靠性、价格和可用性记录,且用户-服务矩阵记录着每个用户调用Web服务的历史性能。
3)对步骤2)中平滑填充后的聚类,计算聚类后每个集群的质心,并计算每个用户集群的质心和活跃用户的相似性,以及每个服务聚类的质心和每个随机挑选的活跃服务的相似性;利用快速排序算法对相似聚类进行降序排序,找到最相似的候选集群,从而完成邻居预选择;
4)完成邻居预选择后,对活跃用户根据其原始评分和平滑评分分别赋予不同的权重,并计算活跃用户和每个用户候选集群中用户的相似性,以及计算活跃服务和每个服务候选集群的相似性,最终找到与活跃用户和活跃服务相似的邻居集合,完成相似邻居的选择;
5)得到活跃用户和活跃服务的相似邻居集合后,通过加入权重信息,利用Top-K个最相似的用户来为活跃用户预测未知服务的性能值和Top-K个最相似的服务来为活跃服务预测未知服务的性能值,完成基于用户的性能预测和基于服务的性能预测;
6)根据预测的性能值,通过加入调节因子对基于用户的性能值预测和基于服务的性能值预测进行整合,从而得到最终预测的性能值;
7)对所有的候选服务进行排序,推荐Top-K个服务给活跃用户,完成推荐。
所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤1)中对AS号相同的用户和服务分别进行聚类的详细步骤包括:
2.1)首先获取用户和服务的位置信息,用户和服务的位置信息即该用户和服务所在网络的AS号;
2.2)获取用户的位置信息后,将具有相同AS号的用户聚为一组.假设用户可聚为k组,即用户集U={u1,u2,...un}被聚类为
2.3)获取服务的位置信息后,将具有相同AS号的服务聚为一组.假设服务可聚为k1组,即服务集S={s1,s2,...sn}被聚类为
所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤2)中具体是指根据式(1)进行基于用户聚类的数据平滑;
式(1)中,是对用户未评分服务的平滑值,对于用户u,簇利用如下公式计算
其中表示用户u对所有调用过的服务的平均评分,是表示用户聚类的平滑因子,定义如下:
其中Cu(i)∈Cu,是用户u所在的簇Cu中,项目t有评分的用户子集;表示对用户u'的平均评分;|Cu(i)|是用户u所在的簇Cu中,对i有评分的用户数。
所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤2)具体是指根据式(4)进行基于服务聚类的数据平滑;
式(4)中,其中是用户未对服务进行评分的平滑值,Ri(u)是用户对服务有评分的真实值,对于用服务i,利用如下公式计算
其中表示所有用户对服务i有评分的平均评分,是表示服务聚类的平滑因子:
其中Ci(i)∈Ci,是服务i所在的簇Ci中,被用户评分过的服务子集;表示所有用户对服务i'的平均评分;|Ci(u)|是项目i所在的簇Ci中被用户评分过的服务数。
所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤3)中具体是指根据式(7)进行基于用户的邻居预选择,计算每个用户组的质心与活动用户之间的相似性并根据式(8)进行基于服务的邻居预选择,计算每个服务组C与活动服务之间的相似性
式(7)中,表示对用户ua的平均评分;表示用户ua对服务i的评分;ΔRC(i)是表示用户聚类的平滑因子,计算各组和活跃用户之间的相似性之后,对各个群组进行降序排序,找到相似度较高的群组作为候选群组,
式(8)中,表示对用户ia的平均评分;用户u对服务ia的评分;ΔRC(u)是表示服务聚类的平滑因子,在计算出各个群组和活动服务之间的相似性之后,对其进行降序排序,从而找到相似性最高的群组作为候选群组。
所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤4)中具体是指根据式(9)将用户对服务的评分值,在预测时根据原始评分和平滑评分赋予不同的权重,并根据式(10)计算候选群组中用户与活动用户之间的相似性,根据式(11)计算候选群组中的服务与活动服务之间的相似性;
式(9)中,wui为用户u对项目i的权重,λ是调整原始评分和平滑评分权重的参数,且λ∈(0,1);
式(10)中,设为目标用户ua对项目i的评分,为用户ua对项目i的权重;为活动用户ua和用户u的相似性,为目标用户ua对已评分项的平均评分值;
式(11)中,设为目标用户ua对项目i的评分,Ri(u)为用户u对项目i的评分,为活动服务ia和服务i的相似性,在计算相似性时,通过分配不同λ的值,调整的不同等级的权重,其中,λ∈(0,1)。
所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤5)中具体是指根据式(12)利用基于用户的协同过滤预测方法,预测目标用户ua对未评分项i的评分值以及根据式(13)利用基于服务的协同过滤预测方法,预测用户u对目标服务ia的评分值;
式(12)中,设为目标用户ua对项目i的评分,是目标用户ua和邻居用户u之间的相似性,为目标用户ua对已评分项的平均评分值,K是邻居用户的数目;在基于服务的协同过滤预测缺失值时,利用公式(13)预测用户u对目标服务ia的评分值:
式(13)中,设为用户u对目标项目ia的评分,Ri(u)为用户u对项目i的评分,是目标用户ia和邻居用户i之间的相似性,为目标服务ia对已评分项的平均评分值,K是邻居用户的数目。
所述的基于位置聚类的协同式Web服务性能预测方法,所述步骤6)中具体是指根据式(14)综合基于用户的协同过滤预测和基于服务的协同过滤的方法,进行服务性能的最终预测:
式(14)中,当和都不为空时,由于基于用户和基于服务时不同的评测标准,因此引入调整参数θ且为基于用户的协同过滤预测评分,为基于服务的协同过滤预测评分;当为空时,利用基于服务的协同过滤进行最终预测;当为空时,利用基于服务的协同过滤进行最终预测;两者都不为空时运用公式(14)进行最终服务性能预测。
本发明的技术效果在于,结合了基于位置感知的方法和基于协同过滤的原理,引入了用户的位置信息,利用服务性能与用户位置的相关性,将用户和服务分别根据自治系统(AutonomousSystem)进行聚类且对空缺性能值进行预填充,并分别在计算活动用户与各个用户聚类中心相似度和活动服务与各个服务聚类中心相似度的基础上,进行邻居的预选择和选择,然后,利用Top-K最相似的用户和服务来为活动用户预测未知服务的性能值,最后,综合基于用户和基于服务的性能预测值,进行最终的性能值预测。本文针对以上方法进行了大量的实验,实验结果表明,引入用户的位置信息来进行聚类,不仅在预测精度和效率上优于目前其它的推荐算法,同时,大大降低了算法的时间复杂度,很好的解决了大规模数据稀疏、冷启动等问题。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明的基本框架图。
图3为本发明实施例方法中参数λ对预测性能的影响。
图4为本发明实施例方法中矩阵密度对预测性能的影响。
图5为本发明实施例方法中Top-K对预测性能的影响。
图6为本发明实施例方法中参数θ对预测性能的影响。
具体实施方式
如图1所示,本实施例基于位置聚类的协同式Web服务性能预测方法的步骤包括:
1)根据用户和服务的位置信息,对自治系统号即AS号相同的用户和服务分别进行聚类;
2)随机挑选用户来作为活跃用户,同时随机挑选服务来作为活跃服务,根据活跃用户的历史性能记录和聚类信息,利用用户聚类和服务聚类的结果分别对用户-服务矩阵中空缺的性能值进行数据平滑填充,其中历史性能记录包括响应时间、吞吐量、可靠性、价格和可用性等记录,且用户-服务矩阵记录着每个用户调用Web服务的历史性能。本实施例中,用户-服务矩阵是根据香港中文大学的ZibinZheng使用PlanetLab在全球范围内分布式测量得到的Web服务性能数据集WSDream-QoSDataset来处理得到的。该数据集记录了这些用户的IP地址、服务的URL以及它们所在的国家,以及每个用户调用各个Web服务所产生的性能记录。本实施例通过对记录进行处理,得到两个用户-服务矩阵。两个用户-服务矩阵的每项分别为用户调用Web服务得到的响应时间和吞吐量,即一个矩阵为用户调用web服务得到的响应时间矩阵,另一个为用户调用web服务的吞吐量矩阵。
3)对步骤2)中平滑填充后的聚类,计算聚类后每个集群的质心,并计算每个用户集群的质心和活跃用户的相似性,以及每个服务聚类的质心和每个随机挑选的活跃服务的相似性;利用快速排序算法对相似聚类进行降序排序,找到最相似的候选集群,从而完成邻居预选择;
4)完成邻居预选择后,对活跃用户根据其原始评分和平滑评分分别赋予不同的权重,并计算活跃用户和每个用户候选集群中用户的相似性,以及计算活跃服务和每个服务候选集群的相似性,最终找到与活跃用户和活跃服务相似的邻居集合,完成相似邻居的选择;
5)得到活跃用户和活跃服务的相似邻居集合后,通过加入权重信息,利用Top-K个最相似的用户来为活跃用户预测未知服务的性能值和Top-K个最相似的服务来为活跃服务预测未知服务的性能值,完成基于用户的性能预测和基于服务的性能预测;
6)根据预测的性能值,通过加入调节因子对基于用户的性能值预测和基于服务的性能值预测进行整合,从而得到最终预测的性能值;
7)对所有的候选服务进行排序,推荐Top-K个服务给活跃用户,完成推荐。
本实施例中,步骤1)中分别对AS号相同的用户和服务进行聚类的详细步骤包括:
2.1)首先获取用户和服务的位置信息,用户和服务的位置信息即主要指该用户和服务所在网络的AS号,它标明了用户位于哪个子网中,AS号可以根据用户的IP地址计算出;
2.2)获取用户的位置信息后,将具有相同AS号的用户聚为一组.本实施例中共339个用户可聚为137组,即用户集U={u1,u2,...u339}被聚类为
2.3)获取服务的位置信息后,将具有相同AS号的服务聚为一组.本实施例中共5828个服务可聚为992组,即服务集S={s1,s2,...s5825}被聚类为
本实施例中,步骤2)中具体是指根据式(1)进行基于用户聚类的数据平滑;
式(1)中,是对用户未评分服务的平滑值,评分可理解为类似于客户在电商购物后对卖家的评分,本发明指的是用户对服务的评分。对于用户u,簇考虑到单个用户的多样性,我们利用如下公式计算
其中表示用户u的平均评分,是表示用户聚类的平滑因子,定义如下:
其中Cu(i)∈Cu,是用户u所在的簇Cu中,项目t有评分的用户子集;表示对用户u'的平均评分;|Cu(i)|是用户u所在的簇Cu中,对i有评分的用户数。
本实施例中,步骤2)具体是指根据式(4)进行基于服务聚类的数据平滑;
式(4)中,其中是用户未对服务进行评分的平滑值。Ri(u)是用户对服务有评分的真实值,对服务i,考虑到单个服务的多样性,我们利用如下公式计算
其中表示所有用户对服务i有评分的平均评分,是表示项目聚类的平滑因子:
其中Ci(i)∈Ci,是服务i所在的簇Ci中,被用户评分过的服务子集;表示所有用户对服务i'的平均评分;|Ci(u)|是项目i所在的簇Ci中,表示被用户评分过的服务数。
本实施例中,步骤3)中具体是指根据式(7)进行基于用户的邻居预选择,计算每个用户组的质心与活动用户之间的相似性并根据式(8)进行基于服务的邻居预选择,计算每个服务组C与活动服务之间的相似性
式(7)中,表示对用户ua的平均评分;用户ua对服务i的评分;ΔRC(i)是表示用户聚类的平滑因子。计算137个用户群组的质心(平均评分)后,计算各群组分别与活动用户进行相似度计算,并将前Top-K计算结果进行降序排序,找到相似度较高的群组作为候选群组。在这个过程中,群组可以帮助加快用户间相似度的计算以及删除一些无关紧要的信息。本实施例中,Top-K具体取值为20。
式(8)中,表示对用户ia的平均评分;用户u对服务ia的评分;ΔRC(u)是表示服务聚类的平滑因子。同理,计算992个服务群组的质心(平均评分)后,计算各群组分别与活动服务进行相似度计算,并将前Top-K计算结果进行降序排序,从而找到相似性最高的群组作为候选群组。本实施例中,Top-K具体取值为20。
本实施例中,步骤4)中具体是指根据式(9)将用户对项目的评分值,在预测时根据原始评分和平滑评分赋予不同的权重,并根据式(10)计算候选群组中用户与活动用户之间的相似性和根据式(11)计算候选群组中的服务与活动服务之间的相似性;
式(9)中,wui为用户u对项目i的权重,λ是调整原始评分和平滑评分权重的参数,且λ∈(0,1)。本实施例中,可调参数λ具体取值为0.3,此时能达到误差最小,精确度最高。
式(10)中,设为目标用户ua对项目i的评分,为用户ua对项目i的权重;为活动用户ua和用户u的相似性,为目标用户ua对已评分项的平均评分值。相似度计算结束后,将前Top-K计算结果进行降序排列,从而找到相似性最高的相似用户。本实施例中,为了使误差更小,精确度更高,将Top-K具体取值为10。
式(11)中,设为目标用户ua对项目i的评分,Ri(u)为用户u对项目i的评分,为活动服务ia和服务i的相似性,在计算相似性时,通过分配不同λ的值,调整的不同等级的权重,其中,λ∈(0,1)。本实施例中,可调参数λ具体取值为0.3。相似度计算结束后,将前Top-K计算结果进行降序排列,从而找到相似性最高的相似服务。本实施例中,为了使误差更小,精确度更高,将Top-K具体取值为10。
本实施例中,步骤5)中具体是指根据式(12)利用基于用户的协同过滤预测方法,预测目标用户ua对未评分项i的评分值以及根据式(13)利用基于服务的协同过滤预测方法,预测用户u对未评分项ia的评分值;
式(12)中,设为目标用户ua对项目i的评分,是目标用户ua和邻居用户u之间的相似性,为目标用户ua对已评分项的平均评分值,K是邻居用户的数目。本实施例中,为了使误差更小,精确度更高,将Top-K具体取值为10。
相似地,在基于服务的协同过滤预测缺失值时,设为目标用户ua对项目ia的评分,利用公式(13)预测目标用户ua对未评分项ia的评分值:
式(13)中,设为用户u对目标项目ia的评分,Ri(u)为用户u对项目i的评分,是目标用户ia和邻居用户i之间的相似性,为目标服务ia对已评分项的平均评分值,K是邻居用户的数目。本实施例中,为了使误差更小,精确度更高,将Top-K具体取值为10。本实施例步骤6)中具体是指根据式(14)综合基于用户的协同过滤预测和基于服务的协同过滤的方法,进行服务性能的最终预测。
式(14)中,当和都不为空时,由于基于用户和基于服务时不同的评测标准,因此引入调整参数θ且为基于用户的协同过滤预测评分,为基于服务的协同过滤预测评分。当为空时,利用基于服务的协同过滤进行最终预测;当为空时,利用基于服务的协同过滤进行最终预测;两者都不为空时运用公式(14)进行最终QoS预测。本实施例中,将θ具体取值为0.4,此时,能达到误差最小,精确度更高。为了评价所提方法的预测性能,本实施例采用了一些评价指标来进行评价,并通过这些指标来与其它协同过滤方法进行比较。这些指标包括平均绝对误差(meanabsoluteerror,MAE)和均方根误差(rootmeansquarederror,RMSE),通过计算预测的用户评分与实际的用户评分之间的偏差来度量预测的准确性。平均绝对误差MAE是预测的QoS值与实际值之间的偏差来度量预测的准确性,本实施例中具体定义如式(15)所示;
式(15)中,Ru(ia)是用户u对项目ia的评分,是用户u对项目ia的预测评分,T是测试集,|T|是测试集的大小。MAE的值越小表示预测方法的预测性能越好,反之亦然。
由于Web服务的不同QoS属性有着不同的值域,只用平均绝对误差MAE来评价是不够客观的,故本实施例用均方根误差RMSE度量标准用来归一化不同区间的平均绝对误差MAE,均方根误差RMSE的计算公式如式(16)所示;
式(19)中,MAE表示平均绝对误差,其余字符参数的含义与式(15)相同。从公式可以观察到RMSE对较大的误差反应比较敏感,因此它可以很好的检测出较大的误差。
本实施例中,实验使用的数据集包含分布在世界不同地方的339个用户调用5,825个Web服务所产生的详细调用信息,因此本实施例使用一个339*5825大小的用户-服务矩阵来存储。
在进行实验时,为了使实验更接近现实生活的场境,随机移除一部分性能记录来稀疏矩阵。我们在响应时间(response-time)和吞吐量(throughput)矩阵密度分别为5%,10%,15%,20%四种情况下进行了对比实验。例如:如果矩阵密度为20%,我们随机移除矩阵中m×n×0.8(m为用户-服务矩阵中用户的个数、n为Web服务的个数)条记录作为测试集,并将移除的值设为0,表示未知,作为训练集。在与UPCC、IPCC、UIPCC、K-means四种现有技术方法进行对比实验的时候,是使用相同的训练集和测试集进行实验,并且每个实验运行100次,然后取平均值作为最后的结果。我们的方法中参数的设定为λ=0.3,K=10,θ=0.4,其中,参数λ表示聚类条件对目标函数的影响权重,参数θ的大小决定最终预测是基于用户位置聚类的协同过滤、基于服务位置聚类的协同过滤或是联合的基于位置聚类的协同过滤。从表1中可以得到,我们提出的方法相比其他的方法得到更小的MAE和RMSE,这表明我们的方法具有更高的预测准确性。同时我们看到随着矩阵密度的增加,MAE和RMSE逐渐的变小,表明随着用户-服务矩阵中更多的性能数据,预测的准确性越高。由此得到,通过使用基于位置聚类的协同过滤式Web服务推荐算法可以极大的提高预测性能。
表1性能对比表
图3所展示的是参数λ对预测性能的影响,在极端情况下,如果λ的值过小,降低基于位置聚类的协同过滤算法的影响。同时,如果λ的值过大,则网络位置信息支配着预测过程,可能会降低预测性能。在其它情况下,我们可以调整最优的λ进行性能预测。在这部分,为了分析参数λ对预测性能的影响,在矩阵密度分别为5%和20%两种情况下进行了对比实验,同时设置K=10,θ=0.4,λ从0到1.0变化,步长为0.1。首先随着参数λ的增加,MAE和RMSE的值变小,表示预测的精度提高。当参数λ超过一个阈值时,MAE和RMSE的值逐渐的变大。从表1可以看出λ=0.3时,MAE和RMSE的值最小。由此可以得出,使用基于位置聚类的协同式Web服务性能预测方法可以提高预测的精度。更进一步可以看出在不同的参数情况下得到预测值变化趋势类似,表明我们提出的预测框架是十分稳定的。
图4所展示的是矩阵密度对预测性能的影响,为了研究矩阵密度对预测性能的影响,设置参数λ=0.3,θ=0.4,K=10,同时矩阵密度从5%到30%,步长为5%。从表1看出,当矩阵密度从5%增加到30%时,MAE和RMSE的值快速的减少,意味着预测精度极大的提高。当矩阵密度超过20%时,MAE和RMSE的值开始缓慢的减少。由此表明,当有越多的性能数据进行训练时,预测精度也得到了极大的提高,我们可以通过收集更多的性能记录数据来提高预测精度。
图5所展示的是Top-K对预测性能的影响,在本文提出的方法中,参数K控制着相似邻居集的大小。如果K的值太小,基于位置聚类的协同过滤方法仅仅使用网络位置十分相近的相似用户集合。如果K的值太大,则相似集合范围扩大,降低了网络位置的影响。从图5可以观察到,网络位置阈值参数K可以影响预测的精度。在开始时,随着K的增加,MAE和RMSE的值随着降低。但是当K超过一个阈值时,MAE和RMSE的值再次上升且趋于平稳。这个现象更准确的说,当参数K小于一个确定的阈值时,使用过少相似用户集合的信息来预测缺失值。而当参数大于确定的阈值时,相似集合过大,包含了相似程度低的用户。这两种情况都会降低预测性能。
图6所展示的是参数θ对预测性能的影响,参数θ的大小决定最终预测是基于用户位置聚类的协同过滤、基于服务位置聚类的协同过滤或是联合的基于位置聚类的协同过滤。即:当θ=0,本文将仅仅采用基于服务位置聚类的协同过滤算法预测性能值,当θ=1时,采用基于用户位置聚类的协同过滤算法进行性能预测,当0<θ<1时,采用用户和服务联合的基于位置聚类的协同式Web服务性能预测方法进行性能预测。为了分析参数θ对预测性能的影响,在矩阵密度分别为5%和20%两种情况下进行了对比实验,同时设置K=10,λ=0.3,θ从0到1.0变化,步长为0.1。
表2所展示的是基于位置聚类的协同式Web服务性能预测方法的另一个优势,即它的有效性,因为传统的基于用户的协同过滤算法以及基于服务的协同过滤算法进行相似性计算及其预测时需要扫描整个数据库找到相似的邻居用户。本文的方法中缩小了用户集和服务集的搜索范围,只需在限定的用户和服务群组中查找相似用户和相似服务即可。为了分析时间性能的情况,在矩阵密度分别为10%、20%和30%三种情况下进行了对比实验,同时设置K=10(在评估时间性能时,我们采用的所有预测的平均时间)。由表可知,基于位置聚类的协同过滤算法在时间性能方面优于其他方法。
表2时间性能对比表
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种基于位置聚类的协同式Web服务性能预测方法,其特征在于,包括以下步骤:
1)根据用户和服务的位置信息,对自治系统号即AS号相同的用户和服务分别进行聚类;
2)随机挑选用户来作为活跃用户,同时随机挑选服务来作为活跃服务,根据活跃用户的历史性能记录和聚类信息,利用用户聚类和服务聚类的结果分别对用户-服务矩阵中空缺的性能值进行数据平滑填充,其中历史性能记录包括响应时间、吞吐量、可靠性、价格和可用性记录,且用户-服务矩阵记录着每个用户调用Web服务的历史性能。
3)对步骤2)中平滑填充后的聚类,计算聚类后每个集群的质心,并计算每个用户集群的质心和活跃用户的相似性,以及每个服务聚类的质心和每个随机挑选的活跃服务的相似性;利用快速排序算法对相似聚类进行降序排序,找到最相似的候选集群,从而完成邻居预选择;
4)完成邻居预选择后,对活跃用户根据其原始评分和平滑评分分别赋予不同的权重,并计算活跃用户和每个用户候选集群中用户的相似性,以及计算活跃服务和每个服务候选集群的相似性,最终找到与活跃用户和活跃服务相似的邻居集合,完成相似邻居的选择;
5)得到活跃用户和活跃服务的相似邻居集合后,通过加入权重信息,利用Top-K个最相似的用户来为活跃用户预测未知服务的性能值和Top-K个最相似的服务来为活跃服务预测未知服务的性能值,完成基于用户的性能预测和基于服务的性能预测;
6)根据预测的性能值,通过加入调节因子对基于用户的性能值预测和基于服务的性能值预测进行整合,从而得到最终预测的性能值;
7)对所有的候选服务进行排序,推荐Top-K个服务给活跃用户,完成推荐。
2.根据权利要求1所述的基于位置聚类的协同式Web服务性能预测方法,其特征在于,所述步骤1)中对AS号相同的用户和服务分别进行聚类的详细步骤包括:
2.1)首先获取用户和服务的位置信息,用户和服务的位置信息即该用户和服务所在网络的AS号;
2.2)获取用户的位置信息后,将具有相同AS号的用户聚为一组.假设用户可聚为k组,即用户集U={u1,u2,...un}被聚类为
2.3)获取服务的位置信息后,将具有相同AS号的服务聚为一组.假设服务可聚为k1组,即服务集S={s1,s2,...sn}被聚类为
3.根据权利要求2所述的基于位置聚类的协同式Web服务性能预测方法,其特征在于,所述步骤2)中具体是指根据式(1)进行基于用户聚类的数据平滑;
式(1)中,是对用户未评分服务的平滑值,对于用户u,簇利用如下公式计算
其中表示用户u对所有调用过的服务的平均评分,是表示用户聚类的平滑因子,定义如下:
其中Cu(i)∈Cu,是用户u所在的簇Cu中,项目t有评分的用户子集;表示对用户u'的平均评分;|Cu(i)|是用户u所在的簇Cu中,对i有评分的用户数。
4.根据权利要求3所述的基于位置聚类的协同式Web服务性能预测方法,其特征在于,所述步骤2)具体是指根据式(4)进行基于服务聚类的数据平滑;
式(4)中,其中是用户未对服务进行评分的平滑值,Ri(u)是用户对服务有评分的真实值,对于服务i,利用如下公式计算
其中表示所有用户对服务i有评分的平均评分,是表示服务聚类的平滑因子:
其中Ci(i)∈Ci,是服务i所在的簇Ci中,被用户评分过的服务子集;表示所有用户对服务i'的平均评分;|Ci(u)|是项目i所在的簇Ci中被用户评分过的服务数。
5.根据权利要求4所述的基于位置聚类的协同式Web服务性能预测方法,其特征在于,所述步骤3)中具体是指根据式(7)进行基于用户的邻居预选择,计算每个用户组的质心与活动用户之间的相似性并根据式(8)进行基于服务的邻居预选择,计算每个服务组C与活动服务之间的相似性
式(7)中,表示对用户ua的平均评分;表示用户ua对服务i的评分;ΔRC(i)是表示用户聚类的平滑因子,计算各组和活跃用户之间的相似性之后,对各个群组进行降序排序,找到相似度较高的群组作为候选群组,
式(8)中,表示对用户ia的平均评分;用户u对服务ia的评分;ΔRC(u)是表示服务聚类的平滑因子,在计算出各个群组和活动服务之间的相似性之后,对其进行降序排序,从而找到相似性最高的群组作为候选群组。
6.根据权利要求5所述的基于位置聚类的协同式Web服务性能预测方法,其特征在于,所述步骤4)中具体是指根据式(9)将用户对服务的评分值,在预测时根据原始评分和平滑评分赋予不同的权重,并根据式(10)计算候选群组中用户与活动用户之间的相似性,根据式(11)计算候选群组中的服务与活动服务之间的相似性;
式(9)中,wui为用户u对项目i的权重,λ是调整原始评分和平滑评分权重的参数,且λ∈(0,1);
式(10)中,设为目标用户ua对项目i的评分,为用户ua对项目i的权重;为活动用户ua和用户u的相似性,为目标用户ua对已评分项的平均评分值;
式(11)中,设为目标用户ua对项目i的评分,Ri(u)为用户u对项目i的评分,为活动服务ia和服务i的相似性,在计算相似性时,通过分配不同λ的值,调整的不同等级的权重,其中,λ∈(0,1)。
7.根据权利要求6所述的基于位置聚类的协同式Web服务性能预测方法,其特征在于,所述步骤5)中具体是指根据式(12)利用基于用户的协同过滤预测方法,预测目标用户ua对未评分项i的评分值以及根据式(13)利用基于服务的协同过滤预测方法,预测用户u对未评分项ia的评分值;
式(12)中,设为目标用户ua对项目i的评分,是目标用户ua和邻居用户u之间的相似性,为目标用户ua对已评分项的平均评分值;在基于服务的协同过滤预测缺失值时,利用公式(13)预测用户u对目标服务ia的评分值:
式(13)中,设为用户u对目标项目ia的评分,Ri(u)为用户u对项目i的评分,是目标用户ia和邻居用户i之间的相似性,为目标服务ia对已评分项的平均评分值。
8.根据权利要求7所述的基于位置聚类的协同式Web服务性能预测方法,其特征在于所述步骤6)中具体是指根据式(14)综合基于用户的协同过滤预测和基于服务的协同过滤的方法,进行服务性能的最终预测,
式(14)中,当和iRu(ia)都不为空时,由于基于用户和基于服务时不同的评测标准,因此引入调整参数θ,且θ∈(0,1);当为空时,利用基于服务的协同过滤进行最终预测;当为空时,利用基于服务的协同过滤进行最终预测;两者都不为空时运用公式(14)进行最终服务性能预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510973819.0A CN105430099B (zh) | 2015-12-22 | 2015-12-22 | 一种基于位置聚类的协同式Web服务性能预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510973819.0A CN105430099B (zh) | 2015-12-22 | 2015-12-22 | 一种基于位置聚类的协同式Web服务性能预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105430099A true CN105430099A (zh) | 2016-03-23 |
CN105430099B CN105430099B (zh) | 2018-09-28 |
Family
ID=55508035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510973819.0A Active CN105430099B (zh) | 2015-12-22 | 2015-12-22 | 一种基于位置聚类的协同式Web服务性能预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105430099B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127506A (zh) * | 2016-06-13 | 2016-11-16 | 浙江大学 | 一种基于主动学习解决商品冷启动问题的推荐方法 |
CN107480250A (zh) * | 2017-08-11 | 2017-12-15 | 安徽大学 | 一种基于Spark平台Web服务个性化推荐方法及系统 |
CN107590261A (zh) * | 2017-09-21 | 2018-01-16 | 深圳市晟达机械设计有限公司 | 一种基于用户位置的网络服务推荐系统 |
CN107622457A (zh) * | 2017-09-21 | 2018-01-23 | 深圳市鑫汇达机械设计有限公司 | 一种高效的游客服务管理系统 |
CN108052639A (zh) * | 2017-12-21 | 2018-05-18 | 中国联合网络通信集团有限公司 | 基于运营商数据的行业用户推荐方法及装置 |
CN108322344A (zh) * | 2018-02-05 | 2018-07-24 | 南京邮电大学 | 大数据场景下面向群组的服务可靠性预测方法 |
CN111159578A (zh) * | 2019-12-31 | 2020-05-15 | 第四范式(北京)技术有限公司 | 一种推荐对象的方法和系统 |
CN112148605A (zh) * | 2020-09-22 | 2020-12-29 | 华南理工大学 | 一种基于谱聚类的半监督学习的软件缺陷预测方法 |
US11496856B2 (en) | 2018-10-09 | 2022-11-08 | Hewlett-Packard Development Company, L.P. | Assessing spatial movement behavior |
CN116483585A (zh) * | 2023-06-16 | 2023-07-25 | 江西师范大学 | 一种基于边缘计算的多服务预部署方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130955A (zh) * | 2011-03-18 | 2011-07-20 | 东北大学 | 基于协同过滤的组合服务备选服务集生成系统及方法 |
CN102170449A (zh) * | 2011-04-28 | 2011-08-31 | 浙江大学 | 一种基于协同过滤的Web服务QoS预测方法 |
CN102521362A (zh) * | 2011-12-15 | 2012-06-27 | 北京航空航天大学 | Web服务推荐方法及装置 |
CN103139310A (zh) * | 2013-03-06 | 2013-06-05 | 杭州电子科技大学 | 一种基于混合协同过滤的Web服务QoS预测方法 |
CN103793505A (zh) * | 2014-01-27 | 2014-05-14 | 西安理工大学 | 基于用户-服务特征的网络服务协同过滤方法 |
CN104615683A (zh) * | 2015-01-21 | 2015-05-13 | 上海交通大学 | 一种具有高可扩展性的时间及位置感知的协同过滤技术 |
-
2015
- 2015-12-22 CN CN201510973819.0A patent/CN105430099B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130955A (zh) * | 2011-03-18 | 2011-07-20 | 东北大学 | 基于协同过滤的组合服务备选服务集生成系统及方法 |
CN102170449A (zh) * | 2011-04-28 | 2011-08-31 | 浙江大学 | 一种基于协同过滤的Web服务QoS预测方法 |
CN102521362A (zh) * | 2011-12-15 | 2012-06-27 | 北京航空航天大学 | Web服务推荐方法及装置 |
CN103139310A (zh) * | 2013-03-06 | 2013-06-05 | 杭州电子科技大学 | 一种基于混合协同过滤的Web服务QoS预测方法 |
CN103793505A (zh) * | 2014-01-27 | 2014-05-14 | 西安理工大学 | 基于用户-服务特征的网络服务协同过滤方法 |
CN104615683A (zh) * | 2015-01-21 | 2015-05-13 | 上海交通大学 | 一种具有高可扩展性的时间及位置感知的协同过滤技术 |
Non-Patent Citations (1)
Title |
---|
MINGDONG TANG, YECHUN JIANG, JIANXUN LIU: "Location-Aware Collaborative Filtering for QoS-Based Service Recommendation", 《2012 IEEE 19TH INTERNATIONAL CONFERENCE ON WEB SERVICES》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106127506B (zh) * | 2016-06-13 | 2019-12-17 | 浙江大学 | 一种基于主动学习解决商品冷启动问题的推荐方法 |
CN106127506A (zh) * | 2016-06-13 | 2016-11-16 | 浙江大学 | 一种基于主动学习解决商品冷启动问题的推荐方法 |
CN107480250B (zh) * | 2017-08-11 | 2018-09-21 | 安徽大学 | 一种基于Spark平台Web服务个性化推荐方法及系统 |
CN107480250A (zh) * | 2017-08-11 | 2017-12-15 | 安徽大学 | 一种基于Spark平台Web服务个性化推荐方法及系统 |
CN107622457A (zh) * | 2017-09-21 | 2018-01-23 | 深圳市鑫汇达机械设计有限公司 | 一种高效的游客服务管理系统 |
CN107590261A (zh) * | 2017-09-21 | 2018-01-16 | 深圳市晟达机械设计有限公司 | 一种基于用户位置的网络服务推荐系统 |
CN108052639A (zh) * | 2017-12-21 | 2018-05-18 | 中国联合网络通信集团有限公司 | 基于运营商数据的行业用户推荐方法及装置 |
CN108322344A (zh) * | 2018-02-05 | 2018-07-24 | 南京邮电大学 | 大数据场景下面向群组的服务可靠性预测方法 |
US11496856B2 (en) | 2018-10-09 | 2022-11-08 | Hewlett-Packard Development Company, L.P. | Assessing spatial movement behavior |
CN111159578A (zh) * | 2019-12-31 | 2020-05-15 | 第四范式(北京)技术有限公司 | 一种推荐对象的方法和系统 |
CN111159578B (zh) * | 2019-12-31 | 2023-10-13 | 第四范式(北京)技术有限公司 | 一种推荐对象的方法和系统 |
CN112148605A (zh) * | 2020-09-22 | 2020-12-29 | 华南理工大学 | 一种基于谱聚类的半监督学习的软件缺陷预测方法 |
CN112148605B (zh) * | 2020-09-22 | 2022-05-20 | 华南理工大学 | 一种基于谱聚类的半监督学习的软件缺陷预测方法 |
CN116483585A (zh) * | 2023-06-16 | 2023-07-25 | 江西师范大学 | 一种基于边缘计算的多服务预部署方法 |
CN116483585B (zh) * | 2023-06-16 | 2023-09-15 | 江西师范大学 | 一种基于边缘计算的多服务预部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105430099B (zh) | 2018-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105430099A (zh) | 一种基于位置聚类的协同式Web服务性能预测方法 | |
CN103514304B (zh) | 一种项目推荐方法和装置 | |
CN106651519B (zh) | 基于标签信息的个性化推荐方法和系统 | |
US20100153292A1 (en) | Making Friend and Location Recommendations Based on Location Similarities | |
CN106471491A (zh) | 一种时变的协同过滤推荐方法 | |
CN108205766A (zh) | 信息推送方法、装置及系统 | |
CN104166732B (zh) | 一种基于全局评分信息的项目协同过滤推荐方法 | |
CN110503531A (zh) | 时序感知的动态社交场景推荐方法 | |
CN106303955A (zh) | 用于对无线热点和poi进行匹配的方法和装置 | |
WO2010062726A2 (en) | Determining user similarities based on location histories | |
CN101388024B (zh) | 一种基于复杂网络的压缩空间高效搜索方法 | |
CN102982466B (zh) | 一种基于用户活跃度的评分预测方法 | |
CN106708953A (zh) | 基于离散粒子群优化的局部社区检测协同过滤推荐方法 | |
CN104239496A (zh) | 一种结合模糊权重相似性度量和聚类协同过滤的方法 | |
CN109508428A (zh) | 基于兴趣点真流行度与隐式信任挖掘的兴趣点推荐方法 | |
CN108038746A (zh) | 基于关键用户和时间上下文的二部图推荐方法 | |
CN105678590A (zh) | 一种面向社交网络基于云模型的topN推荐方法 | |
CN107203558A (zh) | 对象推荐方法和装置、推荐信息处理方法和装置 | |
Ahmed et al. | Enhancing link prediction in Twitter using semantic user attributes | |
CN103412865B (zh) | 网站项目的通知方法和系统 | |
CN109951468A (zh) | 一种基于f值优化的网络攻击检测方法与系统 | |
CN107909498B (zh) | 基于最大化接受者操作特征曲线下方面积的推荐方法 | |
CN105117325A (zh) | 一种基于随机游走的Web服务质量预测方法 | |
CN111831918A (zh) | 一种在线教育场景下的混合推荐系统 | |
CN105141508A (zh) | 一种基于近邻关系的微博系统朋友推荐方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |