一种基于Web云服务中用户可信度的在线预测方法与流程

文档序号:18271006发布日期:2019-07-27 09:40阅读:183来源:国知局
一种基于Web云服务中用户可信度的在线预测方法与流程

本发明涉及计算机技术领域,尤其涉及一种基于web云服务中用户可信度的在线预测方法。



背景技术:

在物联网(iot)时代,云服务已经成为许多领域中广泛关注的问题。在云环境中,有大量服务是为用户提供的,如计算能力、存储、平台、软件、数据存储服务和数据访问服务等。一些不可靠用户可能会为自己提供好的qos,为竞争对手提高坏的qos,以此来误导其他用户选择其提供的服务。对此,现有技术提出了很多用户信誉评价方法或用户可信度计算方法,以此来区分普通用户和恶意用户。

目前所有用于信誉度计算的方法,都是通过分析用户提交的qos数据来进行离线分析,但是用户的意图会随时发生变化,恶意用户在复杂的网络环境下制造的数据往往不能通过这种方式进行判断。因此,亟需一种在线的、准确的用户可信度在线预测方法,避免离线分析所带来的延后性。



技术实现要素:

本发明实施例提出一种基于web云服务中用户可信度的在线预测方法,改善了传统可信度评估的信息延后性,为提供服务的商家实时排除恶意用户,提高可信度预测的实用性和可靠性。

本发明实施例提供一种基于web云服务中用户可信度的在线预测方法,包括:

获取当前时刻每个用户对每个服务质量的真实值,构建当前时刻的服务质量观察矩阵;其中,所述服务质量观察矩阵是根据用户和服务之间的调用关系生成的;

获取下一时刻每个用户对每个服务质量的真实值,并通过sgd算法更新所述服务质量观察矩阵,获得服务质量预测矩阵;所述服务质量预测矩阵用于表示每个用户与每个服务的在线映射关系;

根据所述服务质量预测矩阵,采用在线用户信誉评估算法计算每个用户的信誉度;

根据预设的信誉度评价指标,计算所述每个用户的信誉度对应的可信值,并输出包含每个用户的信誉度和可信值的预测结果。

进一步的,所述服务质量观察矩阵r由潜在用户因子u和潜在服务因子s相加而获得;

其中,u∈rd×n,s∈rd×m,rank(r)=d,n为用户的数量,m为服务的数量;

所述服务质量观察模型满足最小化损失函数:

其中,若当前时刻第i个用户对第j个服务有服务调用时,iij=1;若当前时刻第i个用户对第j个服务没有服务调用时,iij=0;符号||||f表示frobenius范数;λu,λs是用于控制正则化程度的参数。

进一步的,所述获取下一时刻每个用户对每个服务质量的真实值,并通过sgd算法更新所述服务质量观察矩阵,获得服务质量预测矩阵,具体为:

获取下一时刻每个用户对每个服务质量的真实值,对所述服务质量观察矩阵进行在线矩阵分解,获得所述潜在用户因子u和潜在服务因子s;

通过sgd算法,结合所述下一时刻每个用户对每个服务质量的真实值,更新所述潜在用户因子u和潜在服务因子s,并通过更新后的潜在用户因子u和潜在服务因子s,得到所述服务质量预测矩阵。

进一步的,所述sgd算法的更新公式具体如下:

其中,g′ij表示函数g′(x)=ex/(ex+1)2,η为学习率。

进一步的,所述根据预设的信誉度评价指标,计算所述每个用户的信誉度对应的可信值,具体为:

所述信誉度评价指标由以下公式计算得出:

其中,rvae是指信誉度价值平均误差,rvme是指信誉度中值误差;ri为用户的信誉度;nre表示平台用户的总量,nur表示恶意用户的总量。

实施本发明实施例,具有如下有益效果:

本发明实施例提供的基于web云服务中用户可信度的在线预测方法,根据每个时刻和每个用户的服务质量真实值,构建服务矩阵观察矩阵,再通过矩阵分解和sgd算法预测出下一时刻的服务质量预测矩阵;然后根据服务质量预测矩阵计算下一时刻的用户信誉度,并设置评价指标计算该信誉度对应的可信值,最后输出web云服务中用户可信度的预测结果。相比于现有技术根据离线数据分析,本发明技术方案能改善了传统可信度评估的信息延后性,为提供服务的商家实时排除恶意用户,提高可信度预测的实用性和可靠性。

附图说明

图1是本发明提供的基于web云服务中用户可信度的在线预测方法的一种实施例的流程示意图;

图2是本发明提供的在线矩阵分解的一个实施例的例子示意图;

图3是本发明提供的opre算法的一种实施例的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

参见图1,是本发明提供的基于web云服务中用户可信度的在线预测方法的一种实施例的流程示意图,该方法包括步骤101至步骤104,各步骤具体如下:

步骤101:获取当前时刻每个用户对每个服务质量的真实值,构建当前时刻的服务质量观察矩阵;其中,所述服务质量观察矩阵是根据用户和服务之间的调用关系生成的。

在本实施例中,在进行用户信誉度计算的时候,我们首先要意识到用户提交的服务质量(qos)数据是非常稀疏的,一个普通用户不可能把每个服务都使用一遍并做出精准的服务质量评价,这使得很难准确评估声誉。所以在在评估用户信誉度之前,我们需要精确地预测每个用户在每个时刻对各个服务的服务质量(qos)值。在这里我们采用了矩阵分解算法来进行服务质量值的预测,具体来说,就是与推荐系统中的评级预测一样,历史服务调用可以根据每个服务质量(qos)属性(例如,响应时间,吞吐量)生成一个用户服务qos矩阵。这个服务质量(qos)矩阵可以通过我们的框架以用户协作的形式从用户端收集。在这个矩阵中,每一行表示一个服务用户,我们在这里用ui来表示用户,si用来表示各个不同的服务。本发明通过用户和服务之间的相互调用关系得到实际观察矩阵,在每个时刻中不是所有用户均拥有调用关系,这时可以利用观察到的qos数据估计其他未知值。

在本发明中,服务质量观察矩阵r由潜在用户因子u和潜在服务因子s相加而获得;其中,u∈rd×n,s∈rd×m,rank(r)=d,n为用户的数量,m为服务的数量;

为了避免过度拟合,正则化项惩罚规范的解决方案(即u(用户)和s(服务))相加。因此,服务质量观察模型满足最小化损失函数:

其中,若当前时刻第i个用户对第j个服务有服务调用时,iij=1;若当前时刻第i个用户对第j个服务没有服务调用时,iij=0;符号||||f表示frobenius范数;λu,λs是用于控制正则化程度的参数。

步骤102:获取下一时刻每个用户对每个服务质量的真实值,并通过sgd算法更新所述服务质量观察矩阵,获得服务质量预测矩阵;服务质量预测矩阵用于表示每个用户与每个服务的在线映射关系。

在本实施例中,步骤102具体为:获取下一时刻每个用户对每个服务质量的真实值,对服务质量观察矩阵进行在线矩阵分解,获得潜在用户因子u和潜在服务因子s;通过sgd算法,结合下一时刻每个用户对每个服务质量的真实值,更新潜在用户因子u和潜在服务因子s,并通过更新后的潜在用户因子u和潜在服务因子s,得到服务质量预测矩阵。

在本实施例中,矩阵分解在qos(服务质量)预测中的使用矩阵分解是解决协同过滤问题的经典模型,它约束了qos矩阵的秩,即rank(r)=d,低秩假设是基于r的条目之间存在较大的相关性,从而导致r的有效秩较低。例如,关系密切的用户可能具有相似的网络条件,因此在相同的服务上具有相似的服务质量(qos)值。

在本实施例中,sgd算法(随机梯度下降算法)的更新公式具体如下:

其中,g′ij表示函数g′(x)=ex/(ex+1)2,η为学习率。

如图2所示,每次观测到新的数据样本时,利用式sgd算法更新方程对其对应的因子进行在线更新。换句话说,在每次迭代中,在用户ui调用服务sj之后,给定一个新观察到的数据样本(ui、sj、rij),用户ui可以对特征向量ui做一个小的改变,服务sj也可以对特征向量sj做一个小的改变。通过上述的在线更新方式,本发明实现了对每个用户与每个服务的在线映射关系,生成了准确率极高的服务质量(qos)预测值。

步骤103:根据服务质量预测矩阵,采用在线用户信誉评估算法计算每个用户的信誉度。

在本实施例中,本发明在线用户信誉评估算法(简称opre算法)来计算每个用户的信誉度,具体算法如图3所示,以下进行详细步骤的介绍:

第一:不断接收新观察到的用户访问服务得到的服务质量的数值,作为输入进入到算法所用到的数据集中。

第二:判断数据集中是否已经存在该用户访问这个服务的数值,如果存在并且最近一次接收到这个数值的时间间隔在15分钟以内,直接在算法中更新该数据,不改变上次迭代的其他用户和服务的预测值。

第三:如果判断这个用户是数据集中还没有存在的用户,把用户加入到数据集中,并通过随机梯度下降和矩阵分解的方式进行更新预测未知的服务质量的值。

第四:在通过第二步和第三步预测值之后,通过l1-avg算法可以得到最终的用户的信誉值。

在本实施例中,l1-avg算法为现有的常规算法,在此不再赘述。

步骤104:根据预设的信誉度评价指标,计算每个用户的信誉度对应的可信值,并输出包含每个用户的信誉度和可信值的预测结果。

在本实施例中,步骤104具体为:信誉度评价指标由以下公式计算得出:

其中,rvae是指信誉度价值平均误差,rvme是指信誉度中值误差;ri为用户的信誉度;nre表示平台用户的总量,nur表示恶意用户的总量。

在本实施例中,设置上述两种评价指标不仅能更方便的寻找最优参数,还能便于与传统方法进行比较。通过步骤104中再次校验该用户的信誉度的可信值,得出包含每个用户的信誉度和可信值的预测结果。

为了更好的说明本发明的效果,参见表1和表2,如下表所示,本发明的方法命名为opre模型,本发明的方法在响应时间和服务质量的吞吐量上都优于现有的离线分析方法。

表1服务质量(qos)指标中响应时间对比表

表2服务质量(qos)指标中吞吐量对比表

由上可见,本发明具有以下有益效果:

1、本发明能实现在web云服务中用户信誉度的在线预测,每个用户的信誉值均在实时更新,这极大的改善了传统基于离线算法计算而带来的信息延后性。通过这种方法,提供服务的商家可以尽快的排除恶意用户,而每一个普通用户都可以在极短的时间内了解想要选择的服务的真实服务质量(qos)值,这样为该用户对服务的选择提供更可靠的建议。

2、与传统的方法相比,我们的方法在准确程度得到了很大的改善,能够更精确的用户信誉度计算也为提供服务的商家排除恶意用户,还有普通用户对服务的选择起到了重要的作用。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1