一种基于随机游走的Web服务质量预测方法_3

文档序号:9396791阅读:来源:国知局
定义一个全局游走终止条件,当 达到此条件时,在整个网络中的游走过程结束,以使得本实施例得到一个精确的QoS预测 值。本实施例中,步骤6. 3)的详细步骤包括:
[0099] 6. 3. 1)判断是否满足式(7)所示的全局游走终止条件,如果满足全局游走终止条 件,则跳转执行步骤6.5);否则跳转执行步骤6.3.2);
[0100] Κ,-σ2|<£ (7)
[0101] 式(7)中,<表示前i次随机游走结果的方差,表示前i+l次随机游走结果的 方差,ε为预设的收敛常数(本实施例中具体取值为0. 0001),其中前i次随机游走结果的 方差岭的计算表达式如式(8)所示;
[0103] 式(8)中,of为前i次随机游走结果的方差,T为已返回QoS值的随机游走总次 数,F为T趟随机游走返回的QoS平均值,Γι为第i次随机游走返回的QoS值;
[0104] 6. 3. 2)判断源用户u。开始进行随机游走的跳数是否等于预设的最大游走深度 max-depth,如果不等于预设的最大游走深度max-depth,则跳转执行步骤6. 4),否则跳转 执行步骤6. 5)。
[0105] 此外,本实施例中还进一步为每一次QoS预测设置的最大随机游走次数阈值 10000,当为源用户u预测目标服务i进行预测时,如果不成功的随机游走次数达到10000 时,才认为这个点没有覆盖到。
[0106] 本实施例中,步骤6. 4)中以指定的终止概率判断本次随机游走是否需要终止时, 终止概率ΦUilik的计算表达式如式(9)所示;
[0108] 式(9)中,Civlik为针对目标服务i的游走随机过程中经过第k跳到达用户u时的 终止概率,RSu为当前跳的用户u调用过的服务集合,sim(i,j)为目标服务i和当前跳的用 户u调用过的服务集合RSu中的服务j之间的相似度,k为当前跳的用户u和源用户u。之间 的跳数。对于每个节点用户u来说,为了预测目标服务i的一个预测QoS值值时,都有一定 的概率在随机游走k跳到达节点用户u停止游走,并随机选择一个该用户调用过的Web服 务,即终止概率这个终止概率CiVlik与目标服务i和用户u调用过的服务的相似性 有关。由于相似度的值时区间[0, 1]内的实数,故可以把相似度作为终止概率0Uilik。本实 施例中,把用户u所调用的所有服务与目标服务i的相似度的最大值作为在节点用户u处 的终止概率。而且,距离源用户u。远的用户调用目标服务观察到的QoS数据可能是噪声数 据,而距离近的邻居的QoS数据对预测来说更有意义。故随着在网络中游走的深度增加,继 续随机游走的概率要减小,而终止概率应该增大。为了在终止概率Φ Uilik的计算中引 入游走的跳数k这个因子,则需要用到一个以k为自变量的函数f (k),这个函数f (k)要能 够使得当k的值很大时其值为1,当k的值很小时其值也很小。由于sigmoid函数符合本发 明对f(k)函数的约束,因此本实施例式(9)中把以k为自变量的sigmoid函数作为 的另一个因子。
[0109] 本实施例中,步骤6. 4)中具体是指根据式(10)确定下一跳的用户选择概率;
[0111] 式(1〇)中,= vIt,为从用户u的邻域NUu中选择一个用户V的 用户选择概率,为在寻找源用户u。对目标服务i的一个QoS预测值时随机游走在第 k跳找到用户V的随机变量,为在寻找源用户u。对目标服务i的一个QoS预测值时随 机游走在第k-Ι跳找到用户u的随机变量,表示在第k-Ι步时所在节点用户u对目标服 务i没有QoS记录的前提条件;NUu为和源用户u。距离k跳的用户u的邻域,V为从用户u 的邻域NUu中选择的作为下一跳的用户,Φ ^,为针对目标服务i的游走随机过程中经过第 k跳到达用户u时的终止概率,tu,v为用户关系网络G中用户u和下一跳的用户V之间的边 的权重,tu,w为用户关系网络G中用户u、用户u的邻域NU u中用户w之间的边的权重。
[0112] 本实施例步骤6. 4)中当前跳的用户u在目标服务i上无 QoS值时,则需要以指定 的终止概率CiVlik判断本次随机游走是否需要终止时,则会有两个选择:(1)以概率Φ 停止游走。从当前跳的用户U调用过的服务集合RSu中以指定的服务选择概率选择一个和 目标服务i相似的服务j,将当前跳的用户u在目标服务j上的QoS值作为本次随机游走的 QoS值rUi ]返回。⑵以概率1-Φ 继续随机游走,继续随机游走至另一个用户v,即当前 用户u的邻居(V e NUu),并继续游走至该用户V处。本实施例中,把Su定义为从NU u中选 择一个用户V的随机变量如式(10-1)所示;
[0114] 式(10-1)中,P(Su= V)为把Su定义为从NUu中选择一个用户V的随机变量,tu, v为用户关系网络G中用户u和下一跳的用户V之间的边的权重,tu,w为用户关系网络G中用 户u、用户u的邻域NUu中用户w之间的边的权重,NU u为和源用户u。距离k跳的用户u的 邻域,V为从用户u的邻域NUu中选择的作为下一跳的用户。根据式(10-1)则有式(10-2)。
[0115] CN 105117325 A 说明书 11/16 页
[0116] 式(10-2)中,=v|x =爲氣:# j为从用户u的邻域NUu中选择一个用户v 的用户选择概率,为在寻找源用户u。对目标服务i的一个QoS预测值时随机游走在 第k跳找到用户V的随机变量,为在寻找源用户u。对目标服务i的一个QoS预测值时 随机游走在第k-Ι跳找到用户u的随机变量,氣,表示在第k-Ι步时所在节点用户u对目标 服务i没有QoS记录的前提条件;NUu为和源用户u。距离k跳的用户u的邻域,V为从用户 u的邻域NUu中选择的作为下一跳的用户,Φ ^,为针对目标服务i的游走随机过程中经过 第k跳到达用户u时的终止概率,P (Su= V)为从节点用户u的邻域NU u中选择一个用户V 的随机变量。结合式(10-1)、式(10-2)即可推导得到式(10)。从用户u游走至用户V的用 户选择概率P(X =ν|.Γ,,^ 疋,)并不依赖于以前的游走步数,但由于终止概率(J) u i k 依赖于游走的跳数,故随机游走的每一步都不是独立的。
[0117] 本实施例中如果决定于用户u处停止游走,则从用户u评价过且与目标服务i相 似的服务集合中随机选择一个服务j,本实施例的想法是定义一个服务之间的相似度测量 方法,对于任意一个Web服务j (j e RSu),本实施例根据服务j与服务i之间的相似度(月艮 务相似度的测量会在后面详细讨论)来给它分配选择概率所占比例。具体地而言,本实施 例步骤6. 5)中以指定的服务选择概率选择一个和目标服务i相似的服务j时,服务选择概 率的计算表达式如式(11)所示;
[0119] 式(11)中,P(Yu,i= j)为以指定的服务选择概率选择一个和目标服务i相似的服 务j时的服务选择概率,Sim(i,j)为目标服务i和服务j之间的相似度,sim(i,1)为目标 服务i和当前跳的用户u调用过的服务集合RSu中服务1之间的相似度。
[0120] 为了定义随机游走模型的整体概率分布,可将在'i存在或用户u没有评价过服 务的条件下的概率定义如式(11-1)所示;
[0122] 式(11-1)中,/jU. 为从用户u的邻域NU u中选择一个用户V 的用户选择概率,RSu为用户u调用过的服务集合,P(Y M= j)为以指定的服务选择概率选 择一个和目标服务i相似的服务j时的服务选择概率。
[0123] 本实施例中,随机游走时会有一定的概率从不同用户调用的Web服务中选择服 务,并返回服务的QoS值作为一次随机游走的结果。这些被选择的服务可能是已确定的目 标服务,或是其他服务,因此源用户u对目标服务i的QoS预测值是综合多次随机游走返回 的结果得到的。本实施例中,步骤7)中具体可以根据需要采用式(12)~式(14)中的任意 一个函数表达式计算源用户u。相对目标服务i的QoS预测值;
[0127] 式(12)~式(14)中,匕为源用户u相对目标服务i的QoS预测值;&为用户V 在Web服务j上观察到的QoS值,Rvi,为用户V是否调用过服务j的布尔变量,¥为源用户 u的QoS平均值,贫为用户V的QoS平均值,Γ为目标服务i的QoS平均值,I为服务j的 QoS平均值;P (X\ 1= (v,j))为从用户u开始随机游走后,在用户V停止并从V调用过的 服务集合中选择目标服务i的相似服务j的随机概率,P(XYUil= (v,j))的函数表达式如式 (15)所示;
[0129] 式(15)中,XYU,^从用户u开始随机游走后,在用户V停止并从V调用过的服务 集合中选择服务j的随机变量;Xui i是从用户U开始查找有关目标服务i的随机游走到达用 户V的随机变量;P(XUil= V)为从用户U开始查找有关目标服务i的随机游走到达用户V 的随机概率;Civ i为不考虑跳数k的情形下针对目标服务i的游走随机过程中到达用户U 时的终止概率,的函数表达式如式(9)所示,且其中跳数k的取值为无穷大;P(YVil = j)为从用户V调用过的服务集合中选择一个和目标服务i相似的服务j时的服务选择概 率,服务选择概率的计算表达式如式(11)所示;Φνι1ι1*从用户u开始游走第一步到达用 户V时就终止的概率;其中从用户u开始查找有关目标服务i的随机游走到达用户V的随 机概率P (Xu i= V)的函数表达式如式(16)所示;
[0131] 式(16)中,P(Xuil=V)为从用户u开始查找有关目标服务i的随机游走到达用户 V的随机概率,P (Xuilik= V)为从用户U开始查找有关目标服务i的随机游走经k跳到达用 户V的随机概率,P(XUAk=W)为从用户U开始查找有关目标服务i的随机游走经k跳到 达用户关系网络G的用户集合U中的用户W的随机概率,从用户u开始在k步游走 到节点用户V的随机变量。
[0132] 需要注意的是,本实施例在上述式(13)中用巾^代替单次随机游走中的Φ w 这是因为本实施例中并不需要统计经过多少跳才能找到用户v,故不考虑因子Hciv1 = Φμ^)。但是,在实际执行随机游走时,需要考虑游走步数k。为了形成一个通用的公式, 本实施例在最后的用户V节点处忽略跳数k,即将跳数k的取值为无穷大,这可以使得到概 率P (XYiu= (V,j))的一个很好的估计值。同样,应该要注意到V = u且i = j这种情况 是无意义的,这是因为这种情况下源用户本身已经调用过目标服务i (有目标服务的QoS信 息)。
[0133] 本实施例中,从用户u开始的随机游走中,可以通过游走不同步数找到用户V。用 表示从用户U开始在
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1