一种基于复杂时空情境感知的服务质量预测方法及系统与流程

文档序号:17466141发布日期:2019-04-20 05:31阅读:186来源:国知局
一种基于复杂时空情境感知的服务质量预测方法及系统与流程

本发明涉及服务计算技术领域,特别涉及一种基于深度神经网络的复杂时空情境感知的服务质量预测方法及系统。



背景技术:

web服务是一个或一组通过互联网提供的软件功能,它对外公布调用该功能的地址和接口,任何用户都可以通过互联网调用web服务。由于低耦合,易重用和可组合性,使得web服务得到了广泛地应用。随着web服务数量的迅速增长,功能同质化服务日益常见,需要进一步从非功能刻面来区分服务的质量(qualityofservices,qos),才能为用户提供精细化的推荐服务。在传统技术条件下,为了获得准确的服务质量值,通常需要借助客户端测量技术,但受时间、经济成本等因素的制约,服务提供商不太可能在网络中部署大量软件传感器来监测qos信息,用户也不太乐意在客户端通过密集测试来体验不同服务的质量差异。为此,研究者提出了协同服务质量预测的解决思路,借鉴协同过滤的思想,通过分析大规模服务系统中服务调用的历史记录,利用协同智能来预测未知的qos值。服务质量预测可以避免直接的qos测量,从而节省服务提供者和用户的时间和经济成本。随着大规模服务系统的部署,这种解决方案变得愈加可行和富有操作性。

然而,服务调用不仅发生在客户端主机和服务器主机上,还发生在internet通信路径上。观察到的qos值取决于主机的配置、服务器状态和网络条件等众多上下文(即情境)因素。qos预测模型不仅要能反映客户端主机与服务主机之间的交互,还应反映用户端的环境与服务端的环境之间的交互(例如子网、自治系统、地理位置和其他可用因素)。加之,服务调用是动态的,这种上下文的动态变化会显著影响qos预测精度。如果不对服务调用时的上下文复杂性进行建模并在预测时加以考虑利用,传统的预测方法很难获得更精确的结果。尽管已有方法借助某一维度信息(比如用户地理位置信息)来提高qos预测精度,但对于如何在复杂时空条件下(如给定用户和服务所处主机、子网、自治系统、地理位置等空间条件,同时给定服务调用所处时间节点)实现精确的qos预测,仍缺乏有效的解决方案。



技术实现要素:

本发明的目的是提供一种基于复杂时空情境感知的服务质量预测方法及系统,弥补了现有技术的空白,解决了现有技术存在的复杂时空条件下服务质量预测精度低的问题。

为实现上述目的,本发明提供了如下方案:

一种基于复杂时空情境感知的服务质量预测方法,包括:

构建预测用的深度神经网络;所述深度神经网络包括相互关联的输入层、嵌入层、空间特征交互层、空间特征向量重组层、空间特征向量拟合层以及输出层;

确定输入样本和输出样本;所述输入样本为从服务调用历史数据中提取出每条数据记录的各项特征所组成的特征集合;所述特征集合包括空间特征集合和时间特征集合;所述空间特征集合包括用户特征和服务特征;所述用户特征包括用户id、用户ip地址、用户所在地以及用户的自治域;所述服务特征包括服务id、服务的ip地址、服务所在地以及服务的自治域;所述时间特征集合包括多个不同的时间特征值;一个所述时间特征值代表一个时隙,所述时隙为每条数据记录中服务调用的时间;所述输出样本为每条数据记录的服务质量数值;

根据所述输入样本和所述输出样本,训练所述深度神经网络,得到服务质量预测模型;

获取目标用户特征、目标服务特征以及目标服务调用时间;

将所述目标用户特征、所述目标服务特征以及所述目标服务调用时间输入到所述服务质量预测模型的输入层中,获取所述服务质量预测模型的输出层输出的目标服务质量。

可选的,所述空间特征集合表示为us={us1,us2,…,usn},所述空间特征集合中共包含n=m*k个互异的空间特征值;所述空间特征集合包括m类不同的空间特征,每类空间特征中都包含k个不同的特征值;

所述时间特征集合表示为t={t1,t2,,…tp},所述时间特征集合包括p个不同的时间特征值。

可选的,所述构建预测用的深度神经网络,具体包括:

构建输入层;在所述输入层中输入的每条数据记录均包含空间特征子集以及时间特征集合t中的一个时间特征值;所述空间特征子集包括m个不同的空间特征值;

在所述输入层的基础上构建嵌入层;所述嵌入层用于将每条输入的数据记录中的每个特征值映射为固定长度的嵌入向量;

在所述嵌入层的基础上构建空间特征交互层;所述空间特征交互层用于将空间特征嵌入向量进行两两交互生成二阶交互特征向量;

在所述空间特征交互层的基础上构建空间特征向量重组层;所述空间特征向量重组层用于将二阶交互特征向量与m个空间特征嵌入向量合并为一个新的空间特征向量集合;

在所述空间特征向量重组层的基础上构建空间特征向量拟合层;所述空间特征向量拟合层用于基于注意力机制,将所述空间特征向量集合中的所有向量拟合为一个综合特征向量;

在所述空间特征向量拟合层的基础上构建输出层,进而得到深度神经网络;所述输出层用于将所述综合特征向量与时间特征嵌入向量进行交互后输出服务质量。

可选的,所述将空间特征嵌入向量进行两两交互生成二阶交互特征向量,具体包括:

将任意两个空间特征嵌入向量对应位置的元素作相乘处理,生成二阶交互特征向量。

可选的,所述基于注意力机制,将所述空间特征向量集合中的所有向量拟合为一个综合特征向量,具体包括:

基于多层感知机,计算所述空间特征向量集合中每个向量的隐藏解释值;

计算每个隐藏解释值与第一矩阵之间的相似性值;所述第一矩阵为随机初始化的服从正态分布的矩阵;

采用softmax函数对所有相似性值进行转换和归一化处理,得到所述空间特征向量集合中每个向量的权重系数;

根据所述空间特征向量集合中每个向量以及每个向量对应的权重系数,采用加权求和算法,得到综合特征向量。

可选的,所述根据所述输入样本和所述输出样本,训练所述深度神经网络,得到服务质量预测模型,具体包括:

对所述深度神经网络中的各参数进行初始化;所述参数包括特征的嵌入向量、各层的权重以及偏置值;

确定目标函数;

根据所述输入样本和所述输出样本中的特征值,采用反向传播方式最小化所述目标函数来学习更新所述深度神经网络中的各参数,得到服务质量预测模型。

可选的,所述对所述深度神经网络中的各参数进行初始化,具体包括:

对所述深度神经网络中的各参数进行随机初始化,使初始化后的参数服从正态分布。

可选的,所述根据所述输入样本和所述输出样本中的特征值,采用反向传播方式最小化所述目标函数来学习更新所述深度神经网络中的各参数,得到服务质量预测模型,具体包括:

根据所述输入样本和所述输出样本中的特征值,采用随机梯度下降算法或者mini-batch算法通过反向传播方式最小化所述目标函数来学习更新所述深度神经网络中的各参数,得到服务质量预测模型。

一种基于复杂时空情境感知的服务质量预测系统,包括:

深度神经网络构建模块,用于构建预测用的深度神经网络;所述深度神经网络包括相互关联的输入层、嵌入层、空间特征交互层、空间特征向量重组层、空间特征向量拟合层以及输出层;

输入样本和输出样本确定模块,用于确定输入样本和输出样本;所述输入样本为从服务调用历史数据中提取出每条数据记录的各项特征所组成的特征集合;所述特征集合包括空间特征集合和时间特征集合;所述空间特征集合包括用户特征和服务特征;所述用户特征包括用户id、用户ip地址、用户所在地以及用户的自治域;所述服务特征包括服务id、服务的ip地址、服务所在地以及服务的自治域;所述时间特征集合包括多个不同的时间特征值;一个所述时间特征值代表一个时隙,所述时隙为每条数据记录中服务调用的时间;所述输出样本为每条数据记录的服务质量数值;

服务质量预测模型得到模块,用于根据所述输入样本和所述输出样本,训练所述深度神经网络,得到服务质量预测模型;

获取模块,用于获取目标用户特征、目标服务特征以及目标服务调用时间;

目标服务质量预测模块,用于将所述目标用户特征、所述目标服务特征以及所述目标服务调用时间输入到所述服务质量预测模型的输入层中,获取所述服务质量预测模型的输出层输出的目标服务质量。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明提供了一种基于复杂时空情境感知的服务质量预测方法及系统,在构建预测模型和实施预测过程中,同时考虑服务调用时用户与服务及关联的主机、子网、自治系统、地理位置等空间信息,时间节点等因素,将这些情境因素视为预测模型输入特征,利用服务质量历史数据来训练模型,从众多特征中学习到各特征之间的关系以及对服务质量的影响,在实施预测时将这些特征加以利用,从而提供更为精确的服务质量预测结果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例基于复杂时空情境感知的服务质量预测方法的流程示意图;

图2为本发明实施例基于深度神经网络的时空情境感知的服务质量预测方法的流程图;

图3为本发明实施例预测用深度神经网络结构图;

图4为本发明实施例中空间特征交互示意图;

图5为本发明实施例基于复杂时空情境感知的服务质量预测系统的结构示意图。

具体实施方式

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

本发明的目的是提供一种基于复杂时空情境感知的服务质量预测方法及系统,弥补了现有技术的空白,提高了复杂时空条件下服务质量预测精度。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

实施例1

图1为本发明实施例基于复杂时空情境感知的服务质量预测方法的流程示意图。如图1所示,本发明实施例基于复杂时空情境感知的服务质量预测方法包括以下主要步骤:

步骤101:构建预测用的深度神经网络;所述深度神经网络包括相互关联的输入层、嵌入层、空间特征交互层、空间特征向量重组层、空间特征向量拟合层以及输出层。

步骤102:确定输入样本和输出样本;所述输入样本为从服务调用历史数据中提取出每条数据记录的各项特征所组成的特征集合;所述特征集合包括空间特征集合和时间特征集合;所述空间特征集合包括用户特征和服务特征;所述用户特征包括用户id、用户ip地址、用户所在地以及用户的自治域;所述服务特征包括服务id、服务的ip地址、服务所在地以及服务的自治域;所述时间特征集合包括多个不同的时间特征值;一个所述时间特征值代表一个时隙,所述时隙为每条数据记录中服务调用的时间;所述输出样本为每条数据记录的服务质量数值。

步骤103:根据所述输入样本和所述输出样本,训练所述深度神经网络,得到服务质量预测模型。

步骤104:获取目标用户特征、目标服务特征以及目标服务调用时间。

步骤105:将所述目标用户特征、所述目标服务特征以及所述目标服务调用时间输入到所述服务质量预测模型的输入层中,获取所述服务质量预测模型的输出层输出的目标服务质量。

其中,所述空间特征集合表示为us={us1,us2,…,usn},所述空间特征集合中共包含n=m*k个互异的空间特征值;所述空间特征集合包括m类不同的空间特征,每类空间特征中都包含k个不同的特征值。

所述时间特征集合表示为t={t1,t2,,…tp},所述时间特征集合包括p个不同的时间特征值。

步骤101具体包括:

1,构建输入层;在所述输入层中输入的每条数据记录均包含空间特征子集以及时间特征集合t中的一个时间特征值;所述空间特征子集包括m个不同的空间特征值。

2,在所述输入层的基础上构建嵌入层;所述嵌入层用于将每条输入的数据记录中的每个特征值映射为固定长度的嵌入向量。

3,在所述嵌入层的基础上构建空间特征交互层;所述空间特征交互层用于将空间特征嵌入向量进行两两交互生成二阶交互特征向量。

具体为将任意两个空间特征嵌入向量对应位置的元素作相乘处理,生成二阶交互特征向量。

4,在所述空间特征交互层的基础上构建空间特征向量重组层;所述空间特征向量重组层用于将二阶交互特征向量与m个空间特征嵌入向量合并为一个新的空间特征向量集合。

5,在所述空间特征向量重组层的基础上构建空间特征向量拟合层;所述空间特征向量拟合层用于基于注意力机制,将所述空间特征向量集合中的所有向量拟合为一个综合特征向量。

具体为基于多层感知机,计算所述空间特征向量集合中每个向量的隐藏解释值;计算每个隐藏解释值与第一矩阵之间的相似性值;所述第一矩阵为随机初始化的服从正态分布的矩阵;采用softmax函数对所有相似性值进行转换和归一化处理,得到所述空间特征向量集合中每个向量的权重系数;根据所述空间特征向量集合中每个向量以及每个向量对应的权重系数,采用加权求和算法,得到综合特征向量。

6,在所述空间特征向量拟合层的基础上构建输出层,进而得到深度神经网络;所述输出层用于将所述综合特征向量与时间特征嵌入向量进行交互后输出服务质量。

步骤103具体包括:

对所述深度神经网络中的各参数进行初始化,使初始化后的参数服从正态分布;所述参数包括特征的嵌入向量、各层的权重以及偏置值。

确定目标函数。

根据所述输入样本和所述输出样本中的特征值,采用随机梯度下降算法或者mini-batch算法通过反向传播方式最小化所述目标函数来学习更新所述深度神经网络中的各参数,得到服务质量预测模型。

图2为本发明基于深度神经网络的时空情境感知的服务质量预测方法的流程图。如2所示,本发明基于深度神经网络的时空情境感知的服务质量预测方法包括以下主要步骤:

(1)构建预测用的深度神经网络。

(2)训练深度神经网络。

(3)服务质量预测。

下面对上述主要步骤进行详细说明。

(1)构建预测用的深度神经网络,如图3所示,具体包括以下几个步骤:

s1.1:在输入层,统计所有不同空间特征的数量,若用户特征和服务特征共有m种不同类的特征,如用户ip地址,用户id,服务的ip地址,服务的id等。为了表示简单,假设每类空间特征都对应了k个不同的取值,那么该空间特征集合中共包含n=m*k个互异的元素;同理统计时间特征的个数p,表示该数据集中共包含p个不同的时隙。

将输入数据记录中的用户和服务的空间特征统一表示为一个空间特征集合,则空间特征集合表示为us={us1,us2,…,usn},同时该数据集中还包含p个不同的时隙,则时间特征集合可表示为t={t1,t2,,…tp}。其中,每一个特征对应着唯一的一个整数id,并以此整数id来标识该特征在嵌入层中对应的嵌入向量的索引。而每条输入数据记录只可能包含空间特征集合us中的m个特征值以及时间特征集合t中的某一个特征值。

s1.2:在嵌入层,将输入层中的每条输入的数据记录中的每个特征统一映射成固定长度为h的特征向量,ei=embedding(usi),etq=embedding(tq),其中ei表示空间特征集合us中第i个空间特征usi的嵌入向量表示,etq表示第q个时间特征tq的嵌入向量表示。

s1.3:在空间特征交互层,将空间特征之间进行两两交互生成二阶空间交互特征向量集,如图4所示,具体为:

(a)将每条输入的数据记录表示成特征列表形式,其特征列表的形式为input=[us1,us2,…usm,tq],此处特征列表input与空间特征集合us不同,特征列表input中的空间特征都属于空间特征集合us,但此处的usi表示第i类特征中的某一个特征值,其中i≤m;根据特征列表input对应在空间特征集合us中的第i项特征usi和第j项特征usj(i≠j),以及其对应的整数id,得到其在嵌入层的嵌入向量,然后将向量对应位置的元素相乘,即得到两者的二阶空间交互特征向量piij,其表示为

(b)该输入的数据记录的特征列表input中共可产生组特征配对,故重复步骤(a),即可得到f个二阶空间交互特征向量,这些二阶空间交互特征向量构成二阶空间交互特征向量集pi,pi={pi1,pi2,...pif}。

s1.4:将得到的二阶空间交互特征向量pii与所有一阶空间特征向量合并为一个新的空间特征向量集合i:i=us∪pi={i1,i2,...im+f},则对于每一条输入的数据记录,该空间特征向量集合i中共有m+f个元素,其中有m个一阶空间特征向量,f个二阶空间交互特征向量。

s1.5:基于注意力机制,将空间特征向量集合i中的所有空间特征向量拟合称为一个综合特征向量aus,具体步骤如下:

(a)通过一个多层感知机得到空间特征向量集合i中的所有空间特征向量的隐藏解释keyk,具体为keyk=ik*w1+b1,(k≤m+f),其中*表示矩阵相乘,k表示第k个空间特征向量。w1为初始化的一个权重矩阵,b1表示偏置向量。

(b)计算keyk与query1之间的相似度simk,simk=sim(keyk,query1)=query1⊙keyk,其中query1是随机初始化的服从正态分布的矩阵。

(c)然后经过softmax函数对步骤(b)中得到的相似度进行归一化处理,得到空间特征向量集合i中的每个空间特征向量对应的权重系数ak,m+f表示空间特征向量集合i中的空间特征向量的项数。

(d)根据步骤(c)得到的每个空间特征向量对应的权重系数,对空间特征向量集合i中的所有空间特征向量进行加权求和,即可将空间特征向量集合i中的所有空间特征向量拟合成一个综合特征向量aus,

s1.6:进行时空特征向量交互得到最后的输出;

将步骤s1.5中输出的综合特征向量aus与时间特征tp对应的嵌入向量etp进行交互得到最后的输出out;具体如下:out=aus⊙etp,其中⊙为求向量内积。

(2)训练深度神经网络,具体实施步骤如下:

s2.1:从服务调用历史数据中提取出每条数据记录的各项特征构成特征集合作为输入样本,并获取对应记录的服务质量数值作为输出样本;其中特征主要包含空间特征和时间特征,空间特征又包括用户特征和服务特征,用户特征包含用户id、用户ip地址、用户所在地、用户自治域等,服务特征包含服务id、服务的ip地址、以及服务所在地、服务自治域等;时间标记可按照分钟、小时或者天等单位划分到不同的时隙。

s2.2:对深度神经网络中的参数进行初始化,具体为将各特征的嵌入向量,各层的权重和偏置向量都进行随机初始化并使之服从正态分布或其他统计分布形式。

s2.3:定义目标优化函数假设预测目标是响应时间,则其中yi表示第i个样本的实际响应时间,表示第i个样本的预测响应时间,m表示样本数量。同时预测目标也可以是吞吐率,则对应yi表示第i个样本的吞吐率,表示第i个样本的预测吞吐率。

s2.4:使用随机梯度下降算法、mini-batch等方法通过反向传播方式最小化目标函数来学习更新深度神经网络中的各参数。

(3)服务质量预测

s3:给定目目标用户特征、目标服务特征以及目标服务调用时间,将这些信息按照s2.1处理成输入形式,输入训练好的深度神经网络,利用前向传播输出预测结果。

表1符号说明

实验验证:

为了说明本发明的效果,从wsdream数据集中收集了响应时间数据,该数据集中共包含互联网上420个用户对1000个web服务在连续480个时刻(每隔30分钟取一个时刻)调用记录,取其中32个时刻,共计13440000个响应时间记录,用于实验来以说明本发明的效果。

该实验中包含的情境信息(即特征)包含:用户的id、服务的id、用户的ip地址、服务的ip地址、用户所属地区、服务所属地区、用户所属自治域、服务所属自治域,以及服务调用时刻。

在实验中,各类特征的隐向量的维度h设置为64,attentionlayer中的隐因子数目为8,学习率初始化为0.0005。训练集:测试集的比例取为1%:99%,2%:98%和3%:97%。

为了突出本发明的实验效果,将实验结果与其他典型qos预测模型进行了对比,为了公平对比,所有实验的共同参数保持一致。具体地,采用mae、rmse和nmae指标,与upcc、ipcc、uipcc、pmf、csmf模型进行了对比。

依据表2实验结果,由于本发明在预测模型中同时考虑服务调用关联的时空上下文因素,显著提高了在训练数据稀疏条件下的服务质量预测的精度,尤其是在mae和nmae指标上大幅领先基线模型。证实了本发明的实际效果符合设计目标。

表2实验结果

实施例3

图5为本发明实施例基于复杂时空情境感知的服务质量预测系统的结构示意图,如图5所示,本发明实施例提供了一种基于复杂时空情境感知的服务质量预测系统,包括:

深度神经网络构建模块100,用于构建预测用的深度神经网络;所述深度神经网络包括相互关联的输入层、嵌入层、空间特征交互层、空间特征向量重组层、空间特征向量拟合层以及输出层。

输入样本和输出样本确定模块200,用于确定输入样本和输出样本;所述输入样本为从服务调用历史数据中提取出每条数据记录的各项特征所组成的特征集合;所述特征集合包括空间特征集合和时间特征集合;所述空间特征集合包括用户特征和服务特征;所述用户特征包括用户id、用户ip地址、用户所在地以及用户的自治域;所述服务特征包括服务id、服务的ip地址、服务所在地以及服务的自治域;所述时间特征集合包括多个不同的时间特征值;一个所述时间特征值代表一个时隙,所述时隙为每条数据记录中服务调用的时间;所述输出样本为每条数据记录的服务质量数值。

服务质量预测模型得到模块300,用于根据所述输入样本和所述输出样本,训练所述深度神经网络,得到服务质量预测模型。

获取模块400,用于获取目标用户特征、目标服务特征以及目标服务调用时间。

目标服务质量预测模块500,用于将所述目标用户特征、所述目标服务特征以及所述目标服务调用时间输入到所述服务质量预测模型的输入层中,获取所述服务质量预测模型的输出层输出的目标服务质量。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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