本申請涉及通信網(wǎng)絡(luò)數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種基于內(nèi)容流行度預(yù)測的信息中心網(wǎng)絡(luò)緩存方法。
背景技術(shù):
隨著通信網(wǎng)絡(luò)的發(fā)展,未來網(wǎng)絡(luò)將以內(nèi)容分發(fā)與共享為主要應(yīng)用,同時未來網(wǎng)絡(luò)將有成千上萬的終端接入網(wǎng)絡(luò),現(xiàn)有的以IP地址為中心的互聯(lián)網(wǎng)無法解決尋址復(fù)雜和帶寬有限的不足,而信息中心網(wǎng)絡(luò)(Information Centric Networking,ICN)通過關(guān)注數(shù)據(jù)內(nèi)容本身而不是數(shù)據(jù)內(nèi)容所在位置,解決了端到端通信模式中每次存取內(nèi)容都要間接映射到內(nèi)容所在設(shè)備的問題,從而有效地減少了網(wǎng)絡(luò)流量開銷。
ICN的關(guān)鍵技術(shù)之一為網(wǎng)內(nèi)緩存技術(shù),ICN緩存技術(shù)需要解決以下兩個方面的問題,一是將這些內(nèi)容對象存儲到哪些節(jié)點(diǎn)上,二是在網(wǎng)絡(luò)中選擇哪些內(nèi)容對象進(jìn)行緩存。現(xiàn)有的基于節(jié)點(diǎn)特性的緩存方法,對節(jié)點(diǎn)緩存空間的有限性考慮不足,節(jié)點(diǎn)緩存空間需要不斷的替換更新,重要節(jié)點(diǎn)的大量負(fù)載容易縮短節(jié)點(diǎn)的壽命,并且在社交網(wǎng)絡(luò)下缺乏節(jié)點(diǎn)對內(nèi)容偏好不同的考慮,導(dǎo)致緩存冗余很大;而現(xiàn)有的基于內(nèi)容特性的緩存方法缺乏對龐大數(shù)據(jù)內(nèi)容對象的整合和處理,同時忽視了對用戶本身的區(qū)分,例如,在社交網(wǎng)絡(luò)下不同內(nèi)容在不同用戶所在位置的流行度往往不同。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種基于內(nèi)容流行度預(yù)測的信息中心網(wǎng)絡(luò)緩存 方法,用于減少現(xiàn)有信息中心網(wǎng)絡(luò)緩存技術(shù)中存在的緩存冗余問題,并提高緩存內(nèi)容的共享效率。
為達(dá)到上述目的,本發(fā)明提出了一種基于內(nèi)容流行度預(yù)測的信息中心網(wǎng)絡(luò)緩存方法,該方法包括以下步驟:
步驟S1、節(jié)點(diǎn)n記錄經(jīng)過該節(jié)點(diǎn)的所有興趣包,并根據(jù)每個興趣包所請求的內(nèi)容的名字信息,計算出經(jīng)過該節(jié)點(diǎn)的所有興趣包所請求的內(nèi)容之間的相似度;
步驟S2、節(jié)點(diǎn)n根據(jù)內(nèi)容之間的相似度,對該節(jié)點(diǎn)記錄過的內(nèi)容進(jìn)行聚類,將網(wǎng)絡(luò)中的共享內(nèi)容分為多個內(nèi)容類別;
步驟S3、節(jié)點(diǎn)n周期性地對經(jīng)過該節(jié)點(diǎn)的每個類別的內(nèi)容進(jìn)行統(tǒng)計,并分別得出每個類別內(nèi)容的內(nèi)容流行度值;
步驟S4、節(jié)點(diǎn)n根據(jù)前M個周期的統(tǒng)計結(jié)果,結(jié)合預(yù)測算法分別得到經(jīng)過該節(jié)點(diǎn)的每個類別的內(nèi)容在第M+1個周期的內(nèi)容流行度預(yù)測值;
步驟S5、當(dāng)興趣包到達(dá)命中節(jié)點(diǎn)后,命中節(jié)點(diǎn)根據(jù)興趣包中的內(nèi)容請求信息,從其節(jié)點(diǎn)緩存中備份所請求的內(nèi)容,并生成數(shù)據(jù)包;命中節(jié)點(diǎn)還根據(jù)興趣包所請求的內(nèi)容的名字信息來確定其內(nèi)容類別,并將在步驟S4中該節(jié)點(diǎn)得到的該類別內(nèi)容的內(nèi)容流行度預(yù)測值加入數(shù)據(jù)包;
步驟S6、數(shù)據(jù)包沿著回傳路徑回傳數(shù)據(jù),其中,回傳路徑具有與“查找待定興趣表”中的指引路徑相反的方向;
步驟S7、回傳路徑上的節(jié)點(diǎn)n′查詢返回的數(shù)據(jù)包所包含的內(nèi)容的名字信息,確定該內(nèi)容所屬的內(nèi)容類別,查詢節(jié)點(diǎn)n′在步驟S4中得出的該類別內(nèi)容的內(nèi)容流行度預(yù)測值;
步驟S8、比較節(jié)點(diǎn)n′在步驟S4中得出的該類內(nèi)容的內(nèi)容流行度預(yù)測值與數(shù)據(jù)包在步驟S5中自身攜帶的內(nèi)容流行度預(yù)測值,根據(jù)比較結(jié)果進(jìn)行緩存判決;其中,
如果節(jié)點(diǎn)n′的該類內(nèi)容的內(nèi)容流行度預(yù)測值大于數(shù)據(jù)包自身攜帶的內(nèi)容流行度預(yù)測值,則將該數(shù)據(jù)包攜帶的內(nèi)容復(fù)制到節(jié)點(diǎn)n′的緩存空間中;如果 節(jié)點(diǎn)n′的該類內(nèi)容的內(nèi)容流行度預(yù)測值小于或等于數(shù)據(jù)包自身攜帶的內(nèi)容流行度預(yù)測值,則節(jié)點(diǎn)n′不進(jìn)行內(nèi)容緩存繼續(xù)轉(zhuǎn)發(fā)該數(shù)據(jù)包。
具體地,步驟S1中計算內(nèi)容之間的相似度包括:
根據(jù)網(wǎng)絡(luò)中的共享內(nèi)容共定義S個主題,m1,m2,...,mS為內(nèi)容m的主題概率分布,r1,r2,...,rS為內(nèi)容r的主題概率分布,使用相對熵距離來計算內(nèi)容m和內(nèi)容r的相似程度,則內(nèi)容m和內(nèi)容r的相對熵距離表示為DKL(m,r),其中,
使用對稱相對熵距離公式為標(biāo)準(zhǔn)來度量內(nèi)容之間的相似度,則內(nèi)容m和內(nèi)容r的相似度表示為D(m,r),其中,
具體地,步驟S2中節(jié)點(diǎn)n采K-中心點(diǎn)聚類算法對內(nèi)容進(jìn)行聚類,K-中心點(diǎn)聚類算法的聚類過程包括如下子步驟:
子步驟S201、從節(jié)點(diǎn)n的內(nèi)容空間中隨機(jī)選取L個內(nèi)容作為初始聚類中心,生成原聚類中心矩陣H,其中L為預(yù)設(shè)值;
子步驟S202、分別計算節(jié)點(diǎn)n的內(nèi)容空間中的剩余內(nèi)容到聚類中心矩陣H的每個內(nèi)容類別的對稱相對熵距離,并將剩余內(nèi)容歸類到與其對稱相對熵距離最近的那個內(nèi)容類別;
子步驟S203、從聚類中心矩陣H的每一個類中選取這樣一個內(nèi)容,使該內(nèi)容到該類其他內(nèi)容的對稱相對熵距離和最小,并作為新的類中心,生成新的聚類中心矩陣H′;
子步驟S204、計算新的聚類中心矩陣H′與原聚類中心矩陣H的對稱相對熵距離,并將其與閾值進(jìn)行比較:
如果新的聚類中心矩陣H′與原聚類中心矩陣H的對稱相對熵距離小于閾值, 則聚類完畢;如果新的聚類中心矩陣H′與原聚類中心矩陣H的對稱相對熵距離大于或等于閾值,則轉(zhuǎn)到步驟S202。
具體地,步驟S3中節(jié)點(diǎn)n周期性地對經(jīng)過該節(jié)點(diǎn)的每個類別的內(nèi)容進(jìn)行統(tǒng)計包括:節(jié)點(diǎn)n以T為周期分別對統(tǒng)計經(jīng)過該節(jié)點(diǎn)的所有類別的內(nèi)容的內(nèi)容流行度值,內(nèi)容流行度值的計算公式如下:
其中,L表示經(jīng)過該該節(jié)點(diǎn)的所有內(nèi)容的類別總數(shù),表示在節(jié)點(diǎn)n上第i類內(nèi)容類別在第j個周期的內(nèi)容流行度值,表示第j個周期內(nèi)節(jié)點(diǎn)n收到的第i類內(nèi)容類別的興趣包的請求個數(shù),其中,1≤i≤L。
優(yōu)選地,步驟S4中節(jié)點(diǎn)n根據(jù)統(tǒng)計得到共M個周期的第i類內(nèi)容類別的內(nèi)容流行度值通過ARMA模型預(yù)測算法得到第M+1個周期的該內(nèi)容類別的內(nèi)容流行度值,其中,1≤i≤L,L表示經(jīng)過該該節(jié)點(diǎn)的所有內(nèi)容的類別總數(shù)。
具體地,采用ARMA(p,q)模型預(yù)測算法對第M+1個周期的內(nèi)容流行度預(yù)測值的計算包括:
子步驟S601、獲得p和q值;
節(jié)點(diǎn)n統(tǒng)計前M個周期的第i類內(nèi)容類別的內(nèi)容流行度值 并且得到該類別內(nèi)容的時間序列樣本使用公式(4)計算xt的均值:
xt的k階自相關(guān)函數(shù)為:
根據(jù)得到xt的k階偏自相關(guān)函數(shù)
分別計算得到以下幾種情況下的p和q值:
C1、根據(jù)公式(5),如果有最小整數(shù)q′,使得對于任意k,其中,k>q′,都有則取p=0,q=q′;
C2、根據(jù)公式(6),如果有最小整數(shù)p′,使得對于任意k,其中,k>p′,都有則取p=p′,q=0;
C3、當(dāng)不滿足以上兩種情況時,則根據(jù)M的值確定p和q的上限值P和Q,通過枚舉法來獲得p和q值的不同組合,其中,p和q值得取值分別為p=1,2,...,P和q=1,2,...,Q;
子步驟S602、獲得和的估計值;
已知ARMA(p,q)數(shù)學(xué)模型的表達(dá)式為:
其中,和θw(1≤w≤q)為實(shí)數(shù),εt為加性高斯白噪聲過程,均值為0,方差為σ2,從而求得ARMA(p,q)模型的k階自相關(guān)函數(shù)為:
將子步驟S601中獲得的p和q,代入公式(7)和公式(8),得出和的估計值;
子步驟S603、驗(yàn)證和的估計值;
將和的估計值代入ARMA(p,q)數(shù)學(xué)模型表達(dá)式的公式(7)進(jìn)行檢驗(yàn),如果檢驗(yàn)不通過,則轉(zhuǎn)到執(zhí)行子步驟S601,如果檢驗(yàn)通過,則執(zhí)行子步驟S604;
子步驟S604、求第M+1個周期的內(nèi)容流行度預(yù)測值;
根據(jù)公式(9)求得第M+1個周期的內(nèi)容流行度預(yù)測值,
可選地,步驟S5中數(shù)據(jù)包至少包括包頭、內(nèi)容名稱、數(shù)據(jù)和該類別內(nèi)容的內(nèi)容流行度預(yù)測值。
可選地,在步驟S1前,興趣包攜帶對內(nèi)容的請求信息,逐一經(jīng)過信息中心網(wǎng)絡(luò)中的節(jié)點(diǎn),其中,節(jié)點(diǎn)n對興趣包的處理包括如下子步驟:
子步驟S001、節(jié)點(diǎn)n接收興趣包;
子步驟S002、節(jié)點(diǎn)n根據(jù)興趣包所請求的內(nèi)容名字查詢其內(nèi)容緩存;如果該節(jié)點(diǎn)n的內(nèi)容緩存中有被請求的內(nèi)容,則響應(yīng)該請求,并丟棄該興趣包,轉(zhuǎn)到執(zhí)行步驟S5;如果該節(jié)點(diǎn)n的內(nèi)容緩存中沒有被請求的內(nèi)容,則轉(zhuǎn)到執(zhí)行子步驟S003;
子步驟S003、節(jié)點(diǎn)n根據(jù)興趣包所請求的內(nèi)容名字查詢其待定興趣表(Pending Interest Table,PIT),如果待定興趣表中有該內(nèi)容的名字條目,則在該內(nèi)容名字條目中增加興趣包進(jìn)來的接口,并丟棄該興趣包,興趣包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S001;如果待定興趣表中沒有該內(nèi)容的名字條目,則轉(zhuǎn)到執(zhí)行子步驟S004;
子步驟S004、節(jié)點(diǎn)n根據(jù)興趣包所請求的內(nèi)容名字查詢其轉(zhuǎn)發(fā)信息表(Forwarding Information Base,F(xiàn)IB),如果在轉(zhuǎn)發(fā)信息表中有該內(nèi)容的名字條目,則按照轉(zhuǎn)發(fā)信息表中的接口信息轉(zhuǎn)發(fā)興趣包,如果轉(zhuǎn)發(fā)信息表中也沒 有該請求內(nèi)容的名字條目,則丟棄該興趣包,興趣包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S001。
可選地,在步驟S6中當(dāng)數(shù)據(jù)包到達(dá)回傳路徑中的任一節(jié)點(diǎn)n′,該節(jié)點(diǎn)n′對數(shù)據(jù)包進(jìn)行處理,其中,該節(jié)點(diǎn)n′對數(shù)據(jù)包進(jìn)行處理的處理過程包括如下子步驟:
子步驟S601、節(jié)點(diǎn)n′接收數(shù)據(jù)包;
子步驟S602、節(jié)點(diǎn)n′根據(jù)數(shù)據(jù)包所攜帶的的內(nèi)容名字查詢其內(nèi)容緩存,如果內(nèi)容緩存中已有該內(nèi)容,則丟棄該數(shù)據(jù)包,數(shù)據(jù)包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S601;如果內(nèi)容緩存中沒有該內(nèi)容,則執(zhí)行子步驟S603;
子步驟S603、節(jié)點(diǎn)n′根據(jù)數(shù)據(jù)包所攜帶的內(nèi)容名字在待定興趣表中查詢,如果待定興趣表中已有該內(nèi)容的名字條目,則節(jié)點(diǎn)n′通過該內(nèi)容的名字條目對應(yīng)的接口來接收數(shù)據(jù)包,并將該數(shù)據(jù)包所攜帶的內(nèi)容副本緩存到其內(nèi)容緩存中;如果在待定興趣表中沒有查詢到數(shù)據(jù)包所攜帶的內(nèi)容名字,則丟棄該數(shù)據(jù)包,數(shù)據(jù)包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S601。
本發(fā)明提供的一種基于內(nèi)容流行度預(yù)測的信息中心網(wǎng)絡(luò)緩存方法,一方面,該方法考慮了社交網(wǎng)絡(luò)場景下的大數(shù)據(jù)量的特點(diǎn),對龐大的內(nèi)容對象進(jìn)行聚類,從而大大減少了網(wǎng)絡(luò)中的計算開銷,減少了現(xiàn)有信息中心網(wǎng)絡(luò)緩存技術(shù)中存在的緩存冗余問題;另一方面,該方法根據(jù)用戶請求內(nèi)容的動態(tài)性和未知性,周期地統(tǒng)計經(jīng)過每個節(jié)點(diǎn)的每類內(nèi)容類別的內(nèi)容流行度值,再使用預(yù)測算法預(yù)測該節(jié)點(diǎn)未來時刻的內(nèi)容流行度值,并將內(nèi)容流行度值加入到命中節(jié)點(diǎn)生成的數(shù)據(jù)包中,然后在數(shù)據(jù)包沿反向路徑回傳過程中,根據(jù)該數(shù)據(jù)包所屬類別的本地內(nèi)容流行度預(yù)測值和數(shù)據(jù)包所攜帶的內(nèi)容流行度預(yù)測值進(jìn)行緩存判決,由上可見,該方法僅需在數(shù)據(jù)包的控制字段增加預(yù)測值信息,就可以在較小的管理控制開銷情況下,使得緩存命中率及緩存內(nèi)容獲取時延都獲得較大的性能提升,從而提高了緩存內(nèi)容的共享效率。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是基于內(nèi)容流行度預(yù)測的信息中心網(wǎng)絡(luò)緩存方法的流程圖;
圖2是K-中心點(diǎn)聚類算法流程圖;
圖3是數(shù)據(jù)包結(jié)構(gòu)示意圖;
圖4是興趣包到達(dá)路徑上每個節(jié)點(diǎn)的處理流程圖;
圖5是數(shù)據(jù)包經(jīng)過回傳路徑上的節(jié)點(diǎn)時的處理流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
實(shí)施例一
本發(fā)明實(shí)施例一提供一種基于內(nèi)容流行度預(yù)測的信息中心網(wǎng)絡(luò)緩存方法,該方法包括以下步驟:
步驟S1、節(jié)點(diǎn)n記錄經(jīng)過該節(jié)點(diǎn)的所有興趣包,并根據(jù)每個興趣包所請求的內(nèi)容的名字信息,計算出經(jīng)過該節(jié)點(diǎn)的所有興趣包所請求的內(nèi)容之間的相似度;
其中,步驟S1中計算內(nèi)容之間的相似度包括:
根據(jù)網(wǎng)絡(luò)中的共享內(nèi)容共定義S個主題,m1,m2,...,mS為內(nèi)容m的主題概率分布,r1,r2,...,rS為內(nèi)容r的主題概率分布,使用相對熵距離來計算內(nèi)容m和內(nèi)容r的相似程度,則內(nèi)容m和內(nèi)容r的相對熵距離表示為DKL(m,r), 其中,
進(jìn)一步地,為了保證內(nèi)容之間的對稱性,使用對稱相對熵距離公式為標(biāo)準(zhǔn)來度量內(nèi)容之間的相似度,則內(nèi)容m和內(nèi)容r的相似度表示為D(m,r),其中,
步驟S2、節(jié)點(diǎn)n根據(jù)內(nèi)容之間的相似度,對該節(jié)點(diǎn)記錄過的內(nèi)容進(jìn)行聚類,將網(wǎng)絡(luò)中的共享內(nèi)容分為多個內(nèi)容類別;
步驟S3、節(jié)點(diǎn)n周期性地對經(jīng)過該節(jié)點(diǎn)的每個類別的內(nèi)容進(jìn)行統(tǒng)計,并分別得出每個類別的內(nèi)容的內(nèi)容流行度值;
其中,節(jié)點(diǎn)n周期性地對經(jīng)過該節(jié)點(diǎn)的每個類別的內(nèi)容進(jìn)行統(tǒng)計包括:節(jié)點(diǎn)n以T為周期分別對統(tǒng)計經(jīng)過該節(jié)點(diǎn)的所有類別的內(nèi)容的內(nèi)容流行度值,內(nèi)容流行度值的計算公式如下:
其中,L表示經(jīng)過該該節(jié)點(diǎn)的所有內(nèi)容的類別總數(shù),表示在節(jié)點(diǎn)n上第i類內(nèi)容類別在第j個周期的內(nèi)容流行度值,表示第j個周期內(nèi)節(jié)點(diǎn)n收到的第i類內(nèi)容類別的興趣包的請求個數(shù),其中,1≤i≤L。
步驟S4、節(jié)點(diǎn)n根據(jù)前M個周期的統(tǒng)計結(jié)果,結(jié)合預(yù)測算法分別得到經(jīng)過該節(jié)點(diǎn)的每個類別的內(nèi)容在第M+1個周期的內(nèi)容流行度預(yù)測值;
步驟S5、當(dāng)興趣包到達(dá)命中節(jié)點(diǎn)后,命中節(jié)點(diǎn)根據(jù)興趣包中的內(nèi)容請求信息,從其節(jié)點(diǎn)緩存中備份所請求的內(nèi)容,并生成數(shù)據(jù)包;命中節(jié)點(diǎn)還根據(jù)興趣包所請求的內(nèi)容的名字信息來確定其內(nèi)容類別,并將在步驟S4中該節(jié) 點(diǎn)得到的該類別內(nèi)容的內(nèi)容流行度預(yù)測值加入數(shù)據(jù)包;S6、數(shù)據(jù)包依據(jù)“查找待定興趣表”中的路徑,沿著與其指引路徑相反的方向回傳數(shù)據(jù);
步驟S6、數(shù)據(jù)包沿著回傳路徑回傳數(shù)據(jù),其中,回傳路徑具有與“查找待定興趣表”中的指引路徑相反的方向;
步驟S7、回傳路徑上的節(jié)點(diǎn)n′查詢返回的數(shù)據(jù)包所包含的內(nèi)容的名字信息,確定該內(nèi)容所屬的內(nèi)容類別,查詢節(jié)點(diǎn)n′在步驟S4中得出的該類別內(nèi)容的內(nèi)容流行度預(yù)測值;
步驟S8、比較節(jié)點(diǎn)n′在步驟S4中得出的該類內(nèi)容的內(nèi)容流行度預(yù)測值與數(shù)據(jù)包在步驟S5中自身攜帶的內(nèi)容流行度預(yù)測值,根據(jù)比較結(jié)果進(jìn)行緩存判決;其中,
如果節(jié)點(diǎn)n′的該類內(nèi)容的內(nèi)容流行度預(yù)測值大于數(shù)據(jù)包自身攜帶的內(nèi)容流行度預(yù)測值,則將該數(shù)據(jù)包攜帶的內(nèi)容復(fù)制到節(jié)點(diǎn)n′的緩存空間中;如果節(jié)點(diǎn)n′的該類內(nèi)容的內(nèi)容流行度預(yù)測值小于或等于數(shù)據(jù)包自身攜帶的內(nèi)容流行度預(yù)測值,則節(jié)點(diǎn)n′不進(jìn)行內(nèi)容緩存繼續(xù)轉(zhuǎn)發(fā)該數(shù)據(jù)包。
如上所述,本發(fā)明實(shí)施例一提供的一種基于內(nèi)容流行度預(yù)測的信息中心網(wǎng)絡(luò)緩存方法,一方面,該方法考慮了社交網(wǎng)絡(luò)場景下的大數(shù)據(jù)量的特點(diǎn),對龐大的內(nèi)容對象進(jìn)行聚類,從而大大減少了網(wǎng)絡(luò)中的計算開銷,減少了現(xiàn)有信息中心網(wǎng)絡(luò)緩存技術(shù)中存在的緩存冗余;另一方面,該方法根據(jù)用戶請求內(nèi)容的動態(tài)性和未知性,周期地統(tǒng)計經(jīng)過每個節(jié)點(diǎn)的每類內(nèi)容類別的內(nèi)容流行度值,再使用預(yù)測算法預(yù)測該節(jié)點(diǎn)未來時刻的內(nèi)容流行度值,并將內(nèi)容流行度值加入到命中節(jié)點(diǎn)生成的數(shù)據(jù)包中,然后在數(shù)據(jù)包沿反向路徑回傳過程中,根據(jù)該數(shù)據(jù)包所屬類別的本地內(nèi)容流行度預(yù)測值和數(shù)據(jù)包所攜帶的內(nèi)容流行度預(yù)測值進(jìn)行緩存判決,由上可見,該方法僅需在數(shù)據(jù)包的控制字段增加預(yù)測值信息,就可以在較小的管理控制開銷情況下,使得緩存命中率及緩存內(nèi)容獲取時延都獲得較大的性能提升,從而提高了緩存內(nèi)容的共享效率
示例性地,步驟S2中節(jié)點(diǎn)n采用K-中心點(diǎn)聚類算法對內(nèi)容進(jìn)行聚類,K-中心點(diǎn)聚類算法的聚類過程包括如下子步驟:
子步驟S201、從節(jié)點(diǎn)n的內(nèi)容空間中隨機(jī)選取L個內(nèi)容作為初始聚類中心,生成原聚類中心矩陣H,其中L為預(yù)設(shè)值;
子步驟S202、分別計算節(jié)點(diǎn)n的內(nèi)容空間中的剩余內(nèi)容到聚類中心矩陣H的每個內(nèi)容類別的對稱相對熵距離,并將剩余內(nèi)容歸類到與其對稱相對熵距離最近的那個內(nèi)容類別;
子步驟S203、從聚類中心矩陣H的每一個類中選取這樣一個內(nèi)容,使該內(nèi)容到該類其他內(nèi)容的對稱相對熵距離和最小,并作為新的類中心,生成新的聚類中心矩陣H′;
子步驟S204、計算新的聚類中心矩陣H′與原聚類中心矩陣H的對稱相對熵距離,并將其與閾值進(jìn)行比較:
如果新的聚類中心矩陣H′與原聚類中心矩陣H的對稱相對熵距離小于閾值,則聚類完畢;如果新的聚類中心矩陣H′與原聚類中心矩陣H的對稱相對熵距離大于或等于閾值,則轉(zhuǎn)到步驟S202。
當(dāng)然,步驟S2中節(jié)點(diǎn)n也可以采用其他算法對內(nèi)容進(jìn)行聚類,此處不再進(jìn)行贅述。
優(yōu)選地,步驟S4中節(jié)點(diǎn)n根據(jù)統(tǒng)計得到共M個周期的第i類內(nèi)容類別的內(nèi)容流行度值通過ARMA(回歸滑動平均)模型預(yù)測算法得到第M+1個周期的該內(nèi)容類別的內(nèi)容流行度值,其中,1≤i≤L,L表示經(jīng)過該該節(jié)點(diǎn)的所有內(nèi)容的類別總數(shù),從而使得通過參考該內(nèi)容流行度值預(yù)測值,使得內(nèi)容緩存的使用效率得到了提高。
具體地,采用ARMA(p,q)模型預(yù)測算法對第M+1個周期的內(nèi)容流行度預(yù)測值的計算包括:
子步驟S601、獲得p和q值;
節(jié)點(diǎn)n統(tǒng)計前M個周期的第i類內(nèi)容類別的內(nèi)容流行度值 并且得到該類別內(nèi)容的時間序列樣本使用公式(4)計算xt的均值:
xt的k階自相關(guān)函數(shù)為:
根據(jù)得到xt的k階偏自相關(guān)函數(shù)
分別計算得到以下幾種情況下的p和q值:
C1、根據(jù)公式(5),如果有最小整數(shù)q′,使得對于任意k,其中,k>q′,都有則取p=0,q=q′;
C2、根據(jù)公式(6),如果有最小整數(shù)p′,使得對于任意k,其中,k>p′,都有則取p=p′,q=0;
C3、當(dāng)不滿足以上兩種情況時,則根據(jù)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的值,也可以通過取對數(shù)或者開根號的方式來獲得P和Q的值,本發(fā)明實(shí)施例對此不進(jìn)行限定;
子步驟S602、獲得和的估計值;
已知ARMA(p,q)數(shù)學(xué)模型的表達(dá)式為:
其中,和θw(1≤w≤q)為實(shí)數(shù),εt為加性高斯白噪聲過程,均值為0,方差為σ2,從而求得ARMA(p,q)模型的k階自相關(guān)函數(shù)為:
將子步驟S601中獲得的p和q,代入公式(7)和公式(8),得出和的估計值;
子步驟S603、驗(yàn)證和的估計值;
將和的估計值代入ARMA(p,q)數(shù)學(xué)模型表達(dá)式的公式(7)進(jìn)行檢驗(yàn),如果檢驗(yàn)不通過,則轉(zhuǎn)到執(zhí)行子步驟S601,如果檢驗(yàn)通過,則執(zhí)行子步驟S604;
子步驟S604、求第M+1個周期的內(nèi)容流行度預(yù)測值;
根據(jù)公式(9)求得第M+1個周期的內(nèi)容流行度預(yù)測值,
可選地,在步驟S1前,興趣包攜帶對內(nèi)容的請求信息,逐一經(jīng)過信息中心網(wǎng)絡(luò)中的節(jié)點(diǎn),從而可以訪問到距離最近的包含興趣包所請求內(nèi)容的節(jié)點(diǎn),節(jié)約了網(wǎng)絡(luò)資源,其中,節(jié)點(diǎn)n對興趣包的處理包括如下子步驟:
子步驟S001、節(jié)點(diǎn)n接收興趣包;
子步驟S002、節(jié)點(diǎn)n根據(jù)興趣包所請求的內(nèi)容名字查詢其內(nèi)容緩存;如果該節(jié)點(diǎn)n的內(nèi)容緩存中有被請求的內(nèi)容,則響應(yīng)該請求,并丟棄該興趣包,轉(zhuǎn)到執(zhí)行步驟S5;如果該節(jié)點(diǎn)n的內(nèi)容緩存中沒有被請求的內(nèi)容,則轉(zhuǎn)到執(zhí)行子步驟S003;
子步驟S003、節(jié)點(diǎn)n根據(jù)興趣包所請求的內(nèi)容名字查詢其待定興趣表(Pending Interest Table,PIT),如果待定興趣表中有該內(nèi)容的名字條目,則在該內(nèi)容名字條目中增加興趣包進(jìn)來的接口,并丟棄該興趣包,興趣包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S001;如果待定興趣表中沒有該內(nèi)容的名 字條目,則轉(zhuǎn)到執(zhí)行子步驟S004;
子步驟S004、節(jié)點(diǎn)n根據(jù)興趣包所請求的內(nèi)容名字查詢其轉(zhuǎn)發(fā)信息表(Forwarding Information Base,F(xiàn)IB),如果在轉(zhuǎn)發(fā)信息表中有該內(nèi)容的名字條目,則按照轉(zhuǎn)發(fā)信息表中的接口信息轉(zhuǎn)發(fā)興趣包,如果轉(zhuǎn)發(fā)信息表中也沒有該請求內(nèi)容的名字條目,則丟棄該興趣包,興趣包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S001。
可選地,在步驟S6中當(dāng)數(shù)據(jù)包到達(dá)回傳路徑中的任一節(jié)點(diǎn)n′,該節(jié)點(diǎn)n′對數(shù)據(jù)包進(jìn)行處理,將流行度高的內(nèi)容預(yù)先緩存到網(wǎng)絡(luò)節(jié)點(diǎn)中,縮短了對網(wǎng)絡(luò)資源進(jìn)行內(nèi)容訪問的路徑,其中,該節(jié)點(diǎn)n′對數(shù)據(jù)包進(jìn)行處理的處理過程包括如下子步驟:
子步驟S601、節(jié)點(diǎn)n′接收數(shù)據(jù)包;
子步驟S602、節(jié)點(diǎn)n′根據(jù)數(shù)據(jù)包所攜帶的的內(nèi)容名字查詢其內(nèi)容緩存,如果內(nèi)容緩存中已有該內(nèi)容,則丟棄該數(shù)據(jù)包,數(shù)據(jù)包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S601;如果內(nèi)容緩存中沒有該內(nèi)容,則執(zhí)行子步驟S603;
子步驟S603、節(jié)點(diǎn)n′根據(jù)數(shù)據(jù)包所攜帶的內(nèi)容名字在待定興趣表中查詢,如果待定興趣表中已有該內(nèi)容的名字條目,則節(jié)點(diǎn)n′通過該內(nèi)容的名字條目對應(yīng)的接口來接收數(shù)據(jù)包,并將該數(shù)據(jù)包所攜帶的內(nèi)容副本緩存到其內(nèi)容緩存中;如果在待定興趣表中沒有查詢到數(shù)據(jù)包所攜帶的內(nèi)容名字,則丟棄該數(shù)據(jù)包,數(shù)據(jù)包向下一個節(jié)點(diǎn)運(yùn)動,轉(zhuǎn)到執(zhí)行子步驟S601。
盡管已描述了本申請的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動和變型在內(nèi)。