一种基于用户元数据的快速Web服务QoS预测方法
【技术领域】
[0001] 本发明属于Web服务技术领域,具体涉及一种基于用户元数据的快速Web服务QoS 预测方法。
【背景技术】
[0002] 在Web2. 0时代互联网服务浪潮的推动下,传统的软件系统的主要形态、运行方 式、生产方式和使用方式正发生着巨大的变化。Web服务的广泛部署和应用,给工业界和学 术界带来源源不断的动力,并促进服务领域学科的持续发展。在业界的推动下,作为服务科 学的基础的Q〇S(QualityofService,服务质量)属性也引起了众多服务学科研究者的关 注。近年来,基于QoS的范式也广泛地应用在服务选择,服务发现,服务组合,服务推荐和服 务监控等领域,大大推动服务学科的前行发展。
[0003] 目前,上述领域的发展均需要对大量QoS数据资源作挖掘和分析工作。然而,在真 实情况下,这种数据要求比较难得到满足,原因如下:(1)大部分服务资源都是由商业公司 和机构持有。如果通过调用这类服务的方式获得QoS数据资源,研究者将需要花费大量的 金钱成本。(2)当代互联网发展日新月异,每天都有大量的服务涌现。如果通过调用这些海 量服务的方式获得QoS数据资源,研究者将需要花费大量的时间成本。因此,在真实的应用 场景下,大量充足的QoS资源是很难通过调用服务的方式获得的。同时,QoS信息的缺失也 在阻碍了服务科学的发展。
[0004] 近年来,解决QoS稀缺性的问题得到了研究者的高度重视。研究者思考如何通过 使用机器学习方法对缺失的QoS数据资源进行预测。现有工作中,对未知的QoS进行预测 主要使用基于PCC(PearsonCorrelationCoefficient)方法来计算客户端用户之间或者 Web服务之间的相似度。然而,这种计算方法存在以下两点不足=(I)PCC方法需要对历史记 录中的QoS作统计学习,严重依赖于数据的准确性和完备性。然而由于当代互联网环境的 复杂性,QoS记录并不一定都是准确的,致使PCC方法在服务计算场景下相似性计算准确率 下降。(2)传统的PCC方法广泛地应用在推荐系统领域。然而,推荐系统和服务计算的应用 场景存在着本质的区别。在QoS历史记录中,每一项都是由用户的实际使用网络环境决定 的,这种数据客观性的特点直接降低了PCC相似度计算的精度。
[0005]同时,目前主流的QoS预测工作还存在系统求解时间过长的问题。实际上,过长的 运行时间会对各方带来问题:对于研究者而言,通过冗长的学习时间而获得QoS数据资源 不是他们所希望的。而对于系统设计者而言,他们希望通过较少的时间成本来学习数据资 源的内在规律。然而,目前的精确的QoS预测方法需要大量时间来学习数据属性,同时也缺 乏对核心算法复杂度的实效分析。
【发明内容】
[0006] 针对现有技术所存在的上述技术问题,本发明提供了一种基于用户元数据的快速 Web服务QoS预测方法,能够有效提高预测的准确性,大大提升求解效率,从而实时响应多 用户的个性化QoS查询请求。
[0007] -种基于用户元数据的快速Web服务QoS预测方法,包括如下步骤:
[0008] (1)收集所有用户提供的元数据,所述的元数据包括用户对其调用过的所有Web 服务的QoS数据以及用户的IP地址信息;进而根据所述的QoS数据建立用户与Web服务之 间的QoS元矩阵R;
[0009] (2)根据所述的元数据计算用户之间关于地理位置的欧式距离以及关于QoS数据 的相似度;
[0010] (3)根据所述的欧式距离和相似度,确定出每个用户的邻域用户集合;
[0011] (4)根据所述的QoS元矩阵R以及每个用户的邻域用户集合,通过SVD(奇异值分 解)方法建立以下目标函数Q,并对该目标函数Q进行最小化求解,以求得关于用户的隐式 特征矩阵U和关于Web服务的隐式特征矩阵S;进而根据V=UtS重建用户与Web服务之间 的QoS预测矩阵V;
[0013] 其中:1^为隐式特征矩阵U中的第i列向量,S为隐式特征矩阵S中的第j列向 量,N2⑴为第i个用户的邻域用户集合,K为预设的邻域用户个数即邻域用户集合N2⑴ 中的用户总数,Ug为邻域用户集合~2(1)中的第g个用户在隐式特征矩阵U中所对应的向 量,m为用户的总数,n为Web服务的总数;Rlj为QoS元矩阵R中第i行第j列元素值,Iu 为M勺指示符,若R^为null则Ilj= 0,否则Ilj=I;IIII$F-范数,T表示转置,a 和A均为给定的控制系数;
[0014] (5)接受用户关于Web服务的QoS查询请求,然后根据QoS预测矩阵V向该用户提 供其所请求查询的Web服务的QoS数据预测结果。
[0015] 所述的步骤(1)中根据QoS数据建立用户与Web服务之间的QoS元矩阵R,具体 为:所述QoS元矩阵R的维度为mXn,QoS元矩阵R中第i行第j列元素值Rlj采用第i个 用户对于第j个Web服务的QoS数据,若第i个用户之前未调用过第j个Web服务,则元素 值Rlj为null。
[0016] 所述的步骤(2)中通过以下公式计算用户之间关于地理位置的欧式距离:
[0018] 其中:dist(i,p)为第i个用户与第p个用户之间关于地理位置的欧式距离,\和 Y1*别为第i个用户的经度和炜度,Xp和yp分别为第p个用户的经度和炜度,用户的经炜 度信息由其IP地址信息转化得到;c为经炜度单位转化成单位米的常数,i辛P。
[0019] 所述的步骤(2)中通过以下公式计算用户之间关于QoS数据的相似度:
[0021] 其中:sim(i,p)为第i个用户与第p个用户之间关于QoS数据的相似度,瓦为第 i个用户对其调用过的所有Web服务的QoS数据平均值,为第p个用户对其调用过的所 有Web服务的QoS数据平均值;S为第i个用户与第p个用户共同调用过的Web服务集合,Rls为第i个用户对Web服务集合S中第s个Web服务的QoS数据,Rps为第p个用户对Web 服务集合S中第s个Web服务的QoS数据,i辛p。
[0022] 所述的步骤(3)中确定每个用户的邻域用户集合,具体方法如下:
[0023] 首先,对于第i个用户,从其他所有用户中提取出与其关于地理位置欧式距离小 于0的用户组成用户集合N1Q),0为预设的距离阈值;
[0024] 然后,从用户集合N1⑴中提取出与第i个用户关于QoS数据相似度最大的前K个 用户组成第i个用户的邻域用户集合N2 (i)。
[0025] 优选地,所述的步骤(4)中采用梯度下降迭代算法对目标函数Q进行最小化求解, 且在每一轮迭代计算过程中构造中间变量记录表;能够解决重复项的问题,从而加速梯度 下降求解过程。
[0026] 所述的步骤(5)中最后将用户所请求查询的Web服务的QoS数据预测结果包装成 html页面格式展现给用户。
[0027] 本发明通过使用用户的元数据(地理位置信息和历史QoS记录)来精确选择请求 用户的领域,同时通过融合用户扩展内在属性的矩阵分解算法有效地提高预测的准确性。 本发明通过矩阵分解加速技术大大提升了求解效率,从而实时响应多用户的个性化QoS查 询请求。
【附图说明】
[0028] 图1为本发明基于用户元数据的快速Web服务QoS预测方法的流程示意图。
[0029] 图2是快速QoS预测算法引擎的内部流程示意图。
【具体实施方式】
[0030] 为了更为具体地描述本发明,下面结合附图及【具体实施方式】对本发明的技术方案 进行详细说明。
[0031] 如图1所示,本发明基于用户元数据的快速Web服务QoS预测方法,包括以下部 分:
[0032] 步骤1 :采集用户元数据。元数据包括了两部分:(1)用户的IP信息;(2)用户的 历史QoS数据。假设一共有m个用户和n个服务,那么:
[0033] 使用历史数据产生一个mXn的用户-服务的QoS矩阵R:其中每一项Rlj是用户i对服务j的QoS使用情况。使用技术将用户的IP信息转化为用户的几何地理位置坐标 (Xl,yi)。其中^表示用户的经度位置,y:表示用户的炜度位置。
[0034] 步骤2 :元数据预处理。对于采集的两部分,本发明分别采取以下处理方式:
[0035] 根据几何地理元组计算用户间的相对距离,距离公式如下:
[0037] 其中:c是从经炜度单位转化成单位米的常数。假设地球是球形,那么c近似等于 111261。
[0038] 对所有用户计算相对距离,产生一个mXm的用户相对距离信息矩阵D:其中每一 项dist(i,j)表示用户i和用户j的相对距离信息。
[0039] 根据历史QoS数据计算用户间的相似度。相似度公式如下:
[0041] 其中:sGS是用户i和用户j调用过的公共服务。sim的值域在[-1,1],值越大 表示用户间相似度越高。
[0042] 对所有用户计算相对距离,产生一个mXm的用户相对距离信息矩阵D:其中每一 项sim(i,j)表示用户i和用户j的相似度。
[0043] 步骤3 :前端门户页面接受目标用户QoS查询请求,并请求用户输入自定义的阈值 9 和T0P_K〇
[0044] 步骤4 :对步骤3采集的查询请求作分析:
[0045] 假若目标用户已经在以前调用过请求服务,那么系统数据库将会存在相应的QoS 记录,那么可以把QoS信息发送到前端显示引擎,生成结果返回页面。
[0046] 假若用户以前没有调用过请求服务,那么需要系统进行步骤5的快速预测算法引 擎。
[0047] 步骤5 :快速预测算法引擎是本发明的执行实