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

文档序号:12278850阅读:来源:国知局

技术特征:

1.一种基于内容流行度预测的信息中心网络缓存方法,其特征在于,包括以下步骤:

步骤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′不进行内容缓存继续转发该数据包。

2.如权利要求1所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,步骤S1中计算内容之间的相似度包括:

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

<mrow> <msub> <mi>D</mi> <mrow> <mi>K</mi> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>r</mi> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>s</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>S</mi> </munderover> <msub> <mi>m</mi> <mi>s</mi> </msub> <mi>l</mi> <mi>n</mi> <mfrac> <msub> <mi>m</mi> <mi>s</mi> </msub> <msub> <mi>r</mi> <mi>s</mi> </msub> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

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

<mrow> <mi>D</mi> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mi>r</mi> <mo>)</mo> </mrow> <mo>=</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>&lsqb;</mo> <msub> <mi>D</mi> <mrow> <mi>K</mi> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>m</mi> <mo>,</mo> <mfrac> <mrow> <mi>m</mi> <mo>+</mo> <mi>r</mi> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>D</mi> <mrow> <mi>K</mi> <mi>L</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>r</mi> <mo>,</mo> <mfrac> <mrow> <mi>m</mi> <mo>+</mo> <mi>r</mi> </mrow> <mn>2</mn> </mfrac> <mo>)</mo> </mrow> <mo>&rsqb;</mo> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> <mo>.</mo> </mrow>

3.如权利要求1所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,步骤S2中节点n采用K-中心点聚类算法对内容进行聚类,K-中心点聚类算法的聚类过程包括如下子步骤:

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

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

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

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

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

4.如权利要求1所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,步骤S3中节点n周期性地对经过该节点的每个类别的内容进行统计包括:

节点n以T为周期分别对统计经过该节点的所有类别内容的内容流行度值,内容流行度值的计算公式如下:

<mrow> <msubsup> <mi>p</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>n</mi> </msubsup> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>Ask</mi> <mi>j</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <msubsup> <mi>Ask</mi> <mi>j</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

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

5.如权利要求1所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,步骤S4中节点n根据统计得到共M个周期的第i类内容类别的内容流行度值通过ARMA模型预测算法得到第M+1个周期的该内容类别的内容流行度值,其中,1≤i≤L,L表示经过该该节点的所有内容的类别总数。

6.如权利要求5所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,采用ARMA(p,q)模型预测算法对第M+1个周期的内容流行度预测值的计算包括:

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

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

<mrow> <mover> <mi>x</mi> <mo>&OverBar;</mo> </mover> <mo>=</mo> <mfrac> <mn>1</mn> <mi>n</mi> </mfrac> <munderover> <mo>&Sigma;</mo> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <msub> <mi>x</mi> <mi>t</mi> </msub> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

xt的k阶自相关函数为:

<mrow> <msub> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>k</mi> </msub> <mo>=</mo> <mfrac> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>M</mi> <mo>-</mo> <mi>k</mi> </mrow> </munderover> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>t</mi> </msub> <mo>-</mo> <mover> <mi>x</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mrow> <mi>t</mi> <mo>-</mo> <mi>k</mi> </mrow> </msub> <mo>-</mo> <mover> <mi>x</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> </mrow> <mrow> <munderover> <mo>&Sigma;</mo> <mrow> <mi>t</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>M</mi> </munderover> <msup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>t</mi> </msub> <mo>-</mo> <mover> <mi>x</mi> <mo>&OverBar;</mo> </mover> <mo>)</mo> </mrow> <mn>2</mn> </msup> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

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

<mrow> <msub> <mover> <mi>&psi;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mi>k</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <msub> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mn>1</mn> </msub> </mtd> <mtd> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mfrac> <mrow> <msub> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>k</mi> </msub> <mo>-</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mover> <mi>&psi;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mo>-</mo> <mi>j</mi> </mrow> </msub> </mrow> <mrow> <mn>1</mn> <mo>-</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </munderover> <msub> <mover> <mi>&psi;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> </msub> <msub> <mover> <mi>&rho;</mi> <mo>^</mo> </mover> <mi>j</mi> </msub> </mrow> </mfrac> </mtd> <mtd> <mrow> <mi>k</mi> <mo>=</mo> <mn>2</mn> <mo>,</mo> <mn>3</mn> <mo>,</mo> <mo>...</mo> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> <mo>,</mo> </mrow>

<mrow> <msub> <mover> <mi>&psi;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <msub> <mover> <mi>&psi;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>j</mi> </mrow> </msub> <mo>-</mo> <msub> <mover> <mi>&psi;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mi>k</mi> </mrow> </msub> <msub> <mover> <mi>&psi;</mi> <mo>^</mo> </mover> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>k</mi> <mo>-</mo> <mi>j</mi> </mrow> </msub> <mo>,</mo> <mi>j</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mo>...</mo> <mo>,</mo> <mi>k</mi> </mrow>

分别计算得到以下几种情况下的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个周期的内容流行度预测值,

7.如权利要求1所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,步骤S5中数据包至少包括包头、内容名称、数据和该类别内容的内容流行度预测值。

8.如权利要求1所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,该方法还包括:在步骤S1前,兴趣包携带对内容的请求信息,逐一经过信息中心网络中的节点,其中,节点n对兴趣包的处理包括如下子步骤:

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

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

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

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

9.如权利要求1所述的基于内容流行度预测的信息中心网络缓存方法,其特征在于,还包括,在步骤S6中当数据包到达回传路径中的任一节点n′,该节点n′对数据包进行处理,其中,该节点n′对数据包进行处理的处理过程包括如下子步骤:

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

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

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

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