一种基于内容流行度预测的信息中心网络缓存方法与流程

文档序号:12278850阅读:359来源:国知局
一种基于内容流行度预测的信息中心网络缓存方法与流程

本申请涉及通信网络数据处理技术领域,特别涉及一种基于内容流行度预测的信息中心网络缓存方法。



背景技术:

随着通信网络的发展,未来网络将以内容分发与共享为主要应用,同时未来网络将有成千上万的终端接入网络,现有的以IP地址为中心的互联网无法解决寻址复杂和带宽有限的不足,而信息中心网络(Information Centric Networking,ICN)通过关注数据内容本身而不是数据内容所在位置,解决了端到端通信模式中每次存取内容都要间接映射到内容所在设备的问题,从而有效地减少了网络流量开销。

ICN的关键技术之一为网内缓存技术,ICN缓存技术需要解决以下两个方面的问题,一是将这些内容对象存储到哪些节点上,二是在网络中选择哪些内容对象进行缓存。现有的基于节点特性的缓存方法,对节点缓存空间的有限性考虑不足,节点缓存空间需要不断的替换更新,重要节点的大量负载容易缩短节点的寿命,并且在社交网络下缺乏节点对内容偏好不同的考虑,导致缓存冗余很大;而现有的基于内容特性的缓存方法缺乏对庞大数据内容对象的整合和处理,同时忽视了对用户本身的区分,例如,在社交网络下不同内容在不同用户所在位置的流行度往往不同。



技术实现要素:

本发明的目的在于提供一种基于内容流行度预测的信息中心网络缓存 方法,用于减少现有信息中心网络缓存技术中存在的缓存冗余问题,并提高缓存内容的共享效率。

为达到上述目的,本发明提出了一种基于内容流行度预测的信息中心网络缓存方法,该方法包括以下步骤:

步骤S1、节点n记录经过该节点的所有兴趣包,并根据每个兴趣包所请求的内容的名字信息,计算出经过该节点的所有兴趣包所请求的内容之间的相似度;

步骤S2、节点n根据内容之间的相似度,对该节点记录过的内容进行聚类,将网络中的共享内容分为多个内容类别;

步骤S3、节点n周期性地对经过该节点的每个类别的内容进行统计,并分别得出每个类别内容的内容流行度值;

步骤S4、节点n根据前M个周期的统计结果,结合预测算法分别得到经过该节点的每个类别的内容在第M+1个周期的内容流行度预测值;

步骤S5、当兴趣包到达命中节点后,命中节点根据兴趣包中的内容请求信息,从其节点缓存中备份所请求的内容,并生成数据包;命中节点还根据兴趣包所请求的内容的名字信息来确定其内容类别,并将在步骤S4中该节点得到的该类别内容的内容流行度预测值加入数据包;

步骤S6、数据包沿着回传路径回传数据,其中,回传路径具有与“查找待定兴趣表”中的指引路径相反的方向;

步骤S7、回传路径上的节点n′查询返回的数据包所包含的内容的名字信息,确定该内容所属的内容类别,查询节点n′在步骤S4中得出的该类别内容的内容流行度预测值;

步骤S8、比较节点n′在步骤S4中得出的该类内容的内容流行度预测值与数据包在步骤S5中自身携带的内容流行度预测值,根据比较结果进行缓存判决;其中,

如果节点n′的该类内容的内容流行度预测值大于数据包自身携带的内容流行度预测值,则将该数据包携带的内容复制到节点n′的缓存空间中;如果 节点n′的该类内容的内容流行度预测值小于或等于数据包自身携带的内容流行度预测值,则节点n′不进行内容缓存继续转发该数据包。

具体地,步骤S1中计算内容之间的相似度包括:

根据网络中的共享内容共定义S个主题,m1,m2,...,mS为内容m的主题概率分布,r1,r2,...,rS为内容r的主题概率分布,使用相对熵距离来计算内容m和内容r的相似程度,则内容m和内容r的相对熵距离表示为DKL(m,r),其中,

使用对称相对熵距离公式为标准来度量内容之间的相似度,则内容m和内容r的相似度表示为D(m,r),其中,

具体地,步骤S2中节点n采K-中心点聚类算法对内容进行聚类,K-中心点聚类算法的聚类过程包括如下子步骤:

子步骤S201、从节点n的内容空间中随机选取L个内容作为初始聚类中心,生成原聚类中心矩阵H,其中L为预设值;

子步骤S202、分别计算节点n的内容空间中的剩余内容到聚类中心矩阵H的每个内容类别的对称相对熵距离,并将剩余内容归类到与其对称相对熵距离最近的那个内容类别;

子步骤S203、从聚类中心矩阵H的每一个类中选取这样一个内容,使该内容到该类其他内容的对称相对熵距离和最小,并作为新的类中心,生成新的聚类中心矩阵H′;

子步骤S204、计算新的聚类中心矩阵H′与原聚类中心矩阵H的对称相对熵距离,并将其与阈值进行比较:

如果新的聚类中心矩阵H′与原聚类中心矩阵H的对称相对熵距离小于阈值, 则聚类完毕;如果新的聚类中心矩阵H′与原聚类中心矩阵H的对称相对熵距离大于或等于阈值,则转到步骤S202。

具体地,步骤S3中节点n周期性地对经过该节点的每个类别的内容进行统计包括:节点n以T为周期分别对统计经过该节点的所有类别的内容的内容流行度值,内容流行度值的计算公式如下:

其中,L表示经过该该节点的所有内容的类别总数,表示在节点n上第i类内容类别在第j个周期的内容流行度值,表示第j个周期内节点n收到的第i类内容类别的兴趣包的请求个数,其中,1≤i≤L。

优选地,步骤S4中节点n根据统计得到共M个周期的第i类内容类别的内容流行度值通过ARMA模型预测算法得到第M+1个周期的该内容类别的内容流行度值,其中,1≤i≤L,L表示经过该该节点的所有内容的类别总数。

具体地,采用ARMA(p,q)模型预测算法对第M+1个周期的内容流行度预测值的计算包括:

子步骤S601、获得p和q值;

节点n统计前M个周期的第i类内容类别的内容流行度值 并且得到该类别内容的时间序列样本使用公式(4)计算xt的均值:

xt的k阶自相关函数为:

根据得到xt的k阶偏自相关函数

分别计算得到以下几种情况下的p和q值:

C1、根据公式(5),如果有最小整数q′,使得对于任意k,其中,k>q′,都有则取p=0,q=q′;

C2、根据公式(6),如果有最小整数p′,使得对于任意k,其中,k>p′,都有则取p=p′,q=0;

C3、当不满足以上两种情况时,则根据M的值确定p和q的上限值P和Q,通过枚举法来获得p和q值的不同组合,其中,p和q值得取值分别为p=1,2,...,P和q=1,2,...,Q;

子步骤S602、获得和的估计值;

已知ARMA(p,q)数学模型的表达式为:

其中,和θw(1≤w≤q)为实数,εt为加性高斯白噪声过程,均值为0,方差为σ2,从而求得ARMA(p,q)模型的k阶自相关函数为:

将子步骤S601中获得的p和q,代入公式(7)和公式(8),得出和的估计值;

子步骤S603、验证和的估计值;

将和的估计值代入ARMA(p,q)数学模型表达式的公式(7)进行检验,如果检验不通过,则转到执行子步骤S601,如果检验通过,则执行子步骤S604;

子步骤S604、求第M+1个周期的内容流行度预测值;

根据公式(9)求得第M+1个周期的内容流行度预测值,

可选地,步骤S5中数据包至少包括包头、内容名称、数据和该类别内容的内容流行度预测值。

可选地,在步骤S1前,兴趣包携带对内容的请求信息,逐一经过信息中心网络中的节点,其中,节点n对兴趣包的处理包括如下子步骤:

子步骤S001、节点n接收兴趣包;

子步骤S002、节点n根据兴趣包所请求的内容名字查询其内容缓存;如果该节点n的内容缓存中有被请求的内容,则响应该请求,并丢弃该兴趣包,转到执行步骤S5;如果该节点n的内容缓存中没有被请求的内容,则转到执行子步骤S003;

子步骤S003、节点n根据兴趣包所请求的内容名字查询其待定兴趣表(Pending Interest Table,PIT),如果待定兴趣表中有该内容的名字条目,则在该内容名字条目中增加兴趣包进来的接口,并丢弃该兴趣包,兴趣包向下一个节点运动,转到执行子步骤S001;如果待定兴趣表中没有该内容的名字条目,则转到执行子步骤S004;

子步骤S004、节点n根据兴趣包所请求的内容名字查询其转发信息表(Forwarding Information Base,FIB),如果在转发信息表中有该内容的名字条目,则按照转发信息表中的接口信息转发兴趣包,如果转发信息表中也没 有该请求内容的名字条目,则丢弃该兴趣包,兴趣包向下一个节点运动,转到执行子步骤S001。

可选地,在步骤S6中当数据包到达回传路径中的任一节点n′,该节点n′对数据包进行处理,其中,该节点n′对数据包进行处理的处理过程包括如下子步骤:

子步骤S601、节点n′接收数据包;

子步骤S602、节点n′根据数据包所携带的的内容名字查询其内容缓存,如果内容缓存中已有该内容,则丢弃该数据包,数据包向下一个节点运动,转到执行子步骤S601;如果内容缓存中没有该内容,则执行子步骤S603;

子步骤S603、节点n′根据数据包所携带的内容名字在待定兴趣表中查询,如果待定兴趣表中已有该内容的名字条目,则节点n′通过该内容的名字条目对应的接口来接收数据包,并将该数据包所携带的内容副本缓存到其内容缓存中;如果在待定兴趣表中没有查询到数据包所携带的内容名字,则丢弃该数据包,数据包向下一个节点运动,转到执行子步骤S601。

本发明提供的一种基于内容流行度预测的信息中心网络缓存方法,一方面,该方法考虑了社交网络场景下的大数据量的特点,对庞大的内容对象进行聚类,从而大大减少了网络中的计算开销,减少了现有信息中心网络缓存技术中存在的缓存冗余问题;另一方面,该方法根据用户请求内容的动态性和未知性,周期地统计经过每个节点的每类内容类别的内容流行度值,再使用预测算法预测该节点未来时刻的内容流行度值,并将内容流行度值加入到命中节点生成的数据包中,然后在数据包沿反向路径回传过程中,根据该数据包所属类别的本地内容流行度预测值和数据包所携带的内容流行度预测值进行缓存判决,由上可见,该方法仅需在数据包的控制字段增加预测值信息,就可以在较小的管理控制开销情况下,使得缓存命中率及缓存内容获取时延都获得较大的性能提升,从而提高了缓存内容的共享效率。

附图说明

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

图1是基于内容流行度预测的信息中心网络缓存方法的流程图;

图2是K-中心点聚类算法流程图;

图3是数据包结构示意图;

图4是兴趣包到达路径上每个节点的处理流程图;

图5是数据包经过回传路径上的节点时的处理流程图。

具体实施方式

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

实施例一

本发明实施例一提供一种基于内容流行度预测的信息中心网络缓存方法,该方法包括以下步骤:

步骤S1、节点n记录经过该节点的所有兴趣包,并根据每个兴趣包所请求的内容的名字信息,计算出经过该节点的所有兴趣包所请求的内容之间的相似度;

其中,步骤S1中计算内容之间的相似度包括:

根据网络中的共享内容共定义S个主题,m1,m2,...,mS为内容m的主题概率分布,r1,r2,...,rS为内容r的主题概率分布,使用相对熵距离来计算内容m和内容r的相似程度,则内容m和内容r的相对熵距离表示为DKL(m,r), 其中,

进一步地,为了保证内容之间的对称性,使用对称相对熵距离公式为标准来度量内容之间的相似度,则内容m和内容r的相似度表示为D(m,r),其中,

步骤S2、节点n根据内容之间的相似度,对该节点记录过的内容进行聚类,将网络中的共享内容分为多个内容类别;

步骤S3、节点n周期性地对经过该节点的每个类别的内容进行统计,并分别得出每个类别的内容的内容流行度值;

其中,节点n周期性地对经过该节点的每个类别的内容进行统计包括:节点n以T为周期分别对统计经过该节点的所有类别的内容的内容流行度值,内容流行度值的计算公式如下:

其中,L表示经过该该节点的所有内容的类别总数,表示在节点n上第i类内容类别在第j个周期的内容流行度值,表示第j个周期内节点n收到的第i类内容类别的兴趣包的请求个数,其中,1≤i≤L。

步骤S4、节点n根据前M个周期的统计结果,结合预测算法分别得到经过该节点的每个类别的内容在第M+1个周期的内容流行度预测值;

步骤S5、当兴趣包到达命中节点后,命中节点根据兴趣包中的内容请求信息,从其节点缓存中备份所请求的内容,并生成数据包;命中节点还根据兴趣包所请求的内容的名字信息来确定其内容类别,并将在步骤S4中该节 点得到的该类别内容的内容流行度预测值加入数据包;S6、数据包依据“查找待定兴趣表”中的路径,沿着与其指引路径相反的方向回传数据;

步骤S6、数据包沿着回传路径回传数据,其中,回传路径具有与“查找待定兴趣表”中的指引路径相反的方向;

步骤S7、回传路径上的节点n′查询返回的数据包所包含的内容的名字信息,确定该内容所属的内容类别,查询节点n′在步骤S4中得出的该类别内容的内容流行度预测值;

步骤S8、比较节点n′在步骤S4中得出的该类内容的内容流行度预测值与数据包在步骤S5中自身携带的内容流行度预测值,根据比较结果进行缓存判决;其中,

如果节点n′的该类内容的内容流行度预测值大于数据包自身携带的内容流行度预测值,则将该数据包携带的内容复制到节点n′的缓存空间中;如果节点n′的该类内容的内容流行度预测值小于或等于数据包自身携带的内容流行度预测值,则节点n′不进行内容缓存继续转发该数据包。

如上所述,本发明实施例一提供的一种基于内容流行度预测的信息中心网络缓存方法,一方面,该方法考虑了社交网络场景下的大数据量的特点,对庞大的内容对象进行聚类,从而大大减少了网络中的计算开销,减少了现有信息中心网络缓存技术中存在的缓存冗余;另一方面,该方法根据用户请求内容的动态性和未知性,周期地统计经过每个节点的每类内容类别的内容流行度值,再使用预测算法预测该节点未来时刻的内容流行度值,并将内容流行度值加入到命中节点生成的数据包中,然后在数据包沿反向路径回传过程中,根据该数据包所属类别的本地内容流行度预测值和数据包所携带的内容流行度预测值进行缓存判决,由上可见,该方法仅需在数据包的控制字段增加预测值信息,就可以在较小的管理控制开销情况下,使得缓存命中率及缓存内容获取时延都获得较大的性能提升,从而提高了缓存内容的共享效率

示例性地,步骤S2中节点n采用K-中心点聚类算法对内容进行聚类,K-中心点聚类算法的聚类过程包括如下子步骤:

子步骤S201、从节点n的内容空间中随机选取L个内容作为初始聚类中心,生成原聚类中心矩阵H,其中L为预设值;

子步骤S202、分别计算节点n的内容空间中的剩余内容到聚类中心矩阵H的每个内容类别的对称相对熵距离,并将剩余内容归类到与其对称相对熵距离最近的那个内容类别;

子步骤S203、从聚类中心矩阵H的每一个类中选取这样一个内容,使该内容到该类其他内容的对称相对熵距离和最小,并作为新的类中心,生成新的聚类中心矩阵H′;

子步骤S204、计算新的聚类中心矩阵H′与原聚类中心矩阵H的对称相对熵距离,并将其与阈值进行比较:

如果新的聚类中心矩阵H′与原聚类中心矩阵H的对称相对熵距离小于阈值,则聚类完毕;如果新的聚类中心矩阵H′与原聚类中心矩阵H的对称相对熵距离大于或等于阈值,则转到步骤S202。

当然,步骤S2中节点n也可以采用其他算法对内容进行聚类,此处不再进行赘述。

优选地,步骤S4中节点n根据统计得到共M个周期的第i类内容类别的内容流行度值通过ARMA(回归滑动平均)模型预测算法得到第M+1个周期的该内容类别的内容流行度值,其中,1≤i≤L,L表示经过该该节点的所有内容的类别总数,从而使得通过参考该内容流行度值预测值,使得内容缓存的使用效率得到了提高。

具体地,采用ARMA(p,q)模型预测算法对第M+1个周期的内容流行度预测值的计算包括:

子步骤S601、获得p和q值;

节点n统计前M个周期的第i类内容类别的内容流行度值 并且得到该类别内容的时间序列样本使用公式(4)计算xt的均值:

xt的k阶自相关函数为:

根据得到xt的k阶偏自相关函数

分别计算得到以下几种情况下的p和q值:

C1、根据公式(5),如果有最小整数q′,使得对于任意k,其中,k>q′,都有则取p=0,q=q′;

C2、根据公式(6),如果有最小整数p′,使得对于任意k,其中,k>p′,都有则取p=p′,q=0;

C3、当不满足以上两种情况时,则根据M的值确定p和q的上限值P和Q,通过枚举法来获得p和q值的不同组合,其中,p和q值得取值分别为p=1,2,...,P和q=1,2,...,Q,示例性地,可以通过P=M/10和Q=M/10来获得P和Q的值,也可以通过取对数或者开根号的方式来获得P和Q的值,本发明实施例对此不进行限定;

子步骤S602、获得和的估计值;

已知ARMA(p,q)数学模型的表达式为:

其中,和θw(1≤w≤q)为实数,εt为加性高斯白噪声过程,均值为0,方差为σ2,从而求得ARMA(p,q)模型的k阶自相关函数为:

将子步骤S601中获得的p和q,代入公式(7)和公式(8),得出和的估计值;

子步骤S603、验证和的估计值;

将和的估计值代入ARMA(p,q)数学模型表达式的公式(7)进行检验,如果检验不通过,则转到执行子步骤S601,如果检验通过,则执行子步骤S604;

子步骤S604、求第M+1个周期的内容流行度预测值;

根据公式(9)求得第M+1个周期的内容流行度预测值,

可选地,在步骤S1前,兴趣包携带对内容的请求信息,逐一经过信息中心网络中的节点,从而可以访问到距离最近的包含兴趣包所请求内容的节点,节约了网络资源,其中,节点n对兴趣包的处理包括如下子步骤:

子步骤S001、节点n接收兴趣包;

子步骤S002、节点n根据兴趣包所请求的内容名字查询其内容缓存;如果该节点n的内容缓存中有被请求的内容,则响应该请求,并丢弃该兴趣包,转到执行步骤S5;如果该节点n的内容缓存中没有被请求的内容,则转到执行子步骤S003;

子步骤S003、节点n根据兴趣包所请求的内容名字查询其待定兴趣表(Pending Interest Table,PIT),如果待定兴趣表中有该内容的名字条目,则在该内容名字条目中增加兴趣包进来的接口,并丢弃该兴趣包,兴趣包向下一个节点运动,转到执行子步骤S001;如果待定兴趣表中没有该内容的名 字条目,则转到执行子步骤S004;

子步骤S004、节点n根据兴趣包所请求的内容名字查询其转发信息表(Forwarding Information Base,FIB),如果在转发信息表中有该内容的名字条目,则按照转发信息表中的接口信息转发兴趣包,如果转发信息表中也没有该请求内容的名字条目,则丢弃该兴趣包,兴趣包向下一个节点运动,转到执行子步骤S001。

可选地,在步骤S6中当数据包到达回传路径中的任一节点n′,该节点n′对数据包进行处理,将流行度高的内容预先缓存到网络节点中,缩短了对网络资源进行内容访问的路径,其中,该节点n′对数据包进行处理的处理过程包括如下子步骤:

子步骤S601、节点n′接收数据包;

子步骤S602、节点n′根据数据包所携带的的内容名字查询其内容缓存,如果内容缓存中已有该内容,则丢弃该数据包,数据包向下一个节点运动,转到执行子步骤S601;如果内容缓存中没有该内容,则执行子步骤S603;

子步骤S603、节点n′根据数据包所携带的内容名字在待定兴趣表中查询,如果待定兴趣表中已有该内容的名字条目,则节点n′通过该内容的名字条目对应的接口来接收数据包,并将该数据包所携带的内容副本缓存到其内容缓存中;如果在待定兴趣表中没有查询到数据包所携带的内容名字,则丢弃该数据包,数据包向下一个节点运动,转到执行子步骤S601。

尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

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