統(tǒng)計(jì)本節(jié)點(diǎn)緩存信息的被請(qǐng)求次數(shù)分別為:Ss、S13和S16分別對(duì)應(yīng)1次,由于請(qǐng)求 工:被刪除不計(jì)入次數(shù)統(tǒng)計(jì),所以S5對(duì)應(yīng)0次;此時(shí),本節(jié)點(diǎn)流行信息為S8、S13和S16。當(dāng)用 戶(hù)發(fā)送15時(shí),請(qǐng)求I2記錄被刪除,流行信息變?yōu)镾13與S16。當(dāng)&接收到請(qǐng)求I6時(shí),請(qǐng)求13 在札中被刪除,S5變?yōu)楸竟?jié)點(diǎn)流行信息。當(dāng)Ri接收到請(qǐng)求I7,請(qǐng)求隊(duì)列中14被刪除,由于 14和I7都是請(qǐng)求信息S16,因而流行度不變,本節(jié)點(diǎn)流行信息不變。&本節(jié)點(diǎn)緩存信息流行 度表如表2所不。
[0088] 表2方式二&本節(jié)點(diǎn)緩存信息流行度表
[0089]
[0090] 本發(fā)明實(shí)施例在具體實(shí)施過(guò)程中,普通緩存節(jié)點(diǎn)需要根據(jù)設(shè)定的本節(jié)點(diǎn)流行信息 的數(shù)量來(lái)確定一個(gè)信息是否為本節(jié)點(diǎn)流行信息,下面對(duì)本節(jié)點(diǎn)流行信息數(shù)量設(shè)定的具體方 式進(jìn)行詳細(xì)介紹。
[0091] 普通緩存節(jié)點(diǎn)確定設(shè)定數(shù)量的流行度較高的本節(jié)點(diǎn)緩存信息為本節(jié)點(diǎn)流行信息 包括:
[0092] 假設(shè)備份緩存節(jié)點(diǎn)的緩存空間為C。,普通緩存節(jié)點(diǎn)的個(gè)數(shù)為n,參數(shù)k為正整數(shù)(k =1,2,3,…),則普通緩存節(jié)點(diǎn)設(shè)定本節(jié)點(diǎn)流行信息的數(shù)量為kQ/n,其中k值可以根據(jù)備 份緩存空間大小,普通緩存節(jié)點(diǎn)個(gè)數(shù)動(dòng)態(tài)設(shè)置。
[0093] 例如,假設(shè)備份緩存節(jié)點(diǎn)的緩存空間為3,普通緩存節(jié)點(diǎn)個(gè)數(shù)為6,參數(shù)k= 4,則普 通緩存節(jié)點(diǎn)設(shè)定的本節(jié)點(diǎn)流行信息數(shù)量為4*3/6 = 2。每個(gè)普通緩存節(jié)點(diǎn)將根據(jù)請(qǐng)求,向資 源管理器匯報(bào)本節(jié)點(diǎn)流行度前兩個(gè)流行信息的流行度。
[0094] 普通緩存節(jié)點(diǎn)接收信息獲取請(qǐng)求,確定所述信息獲取請(qǐng)求所請(qǐng)求信息的緩存位 置;當(dāng)所述緩存位置為本節(jié)點(diǎn),返回所述信息獲取請(qǐng)求所請(qǐng)求的信息給客戶(hù)端;將所述信 息獲取請(qǐng)求所請(qǐng)求信息的信息標(biāo)識(shí)以及該信息在所述普通緩存節(jié)點(diǎn)的流行度發(fā)送至資源 管理器;
[0095] 本發(fā)明實(shí)施例在具體實(shí)施過(guò)程中,普通緩存節(jié)點(diǎn)設(shè)置有確定信息緩存位置的算 法,例如,hash(散列),信息中心網(wǎng)絡(luò)在進(jìn)行信息緩存時(shí),根據(jù)相同的算法計(jì)算出應(yīng)該緩存 的位置,并由該位置對(duì)應(yīng)的緩存節(jié)點(diǎn)來(lái)緩存該信息。當(dāng)緩存節(jié)點(diǎn)接收到用戶(hù)通過(guò)客戶(hù)端發(fā) 送的信息獲取請(qǐng)求后,通過(guò)上述算法計(jì)算得到該信息獲取請(qǐng)求所請(qǐng)求信息的緩存位置;進(jìn) 一步判斷該緩存節(jié)點(diǎn)是否為本緩存節(jié)點(diǎn),由于緩存時(shí)計(jì)算應(yīng)該緩存的位置的算法與信息獲 取時(shí)計(jì)算請(qǐng)求對(duì)應(yīng)的信息緩存的位置的算法是相同的,所以只要知道算法就能夠確定信息 的對(duì)應(yīng)位置,降低了計(jì)算難度以及內(nèi)存消耗。例如,路由器接收到信息獲取請(qǐng)求后,根據(jù)設(shè) 置在路由器上的算法,計(jì)算出請(qǐng)求所對(duì)應(yīng)的信息應(yīng)該緩存的位置。
[0096] 普通緩存節(jié)點(diǎn)接收到信息獲取請(qǐng)求后,根據(jù)算法確定信息獲取請(qǐng)求所請(qǐng)求信息的 緩存位置,若果確定出的緩存位置為本節(jié)點(diǎn),則將該信息獲取請(qǐng)求對(duì)應(yīng)的信息返回給客戶(hù) 端,并將該信息獲取請(qǐng)求對(duì)應(yīng)的信息標(biāo)識(shí)以及該信息獲取請(qǐng)求對(duì)應(yīng)的重新確定的本節(jié)點(diǎn)流 行度,發(fā)送給資源管理器。為了降低資源管理器的處理難度,可以?xún)H將重新確定本節(jié)點(diǎn)緩存 信息流行度表后,信息獲取請(qǐng)求所請(qǐng)求的信息為本節(jié)點(diǎn)流行信息的信息標(biāo)識(shí)以及該信息獲 取請(qǐng)求對(duì)應(yīng)的重新確定的本節(jié)點(diǎn)流行度,發(fā)送給資源管理器。
[0097] 本發(fā)明實(shí)施例在具體實(shí)施過(guò)程中,普通緩存節(jié)點(diǎn)在確定接收到信息獲取請(qǐng)求所請(qǐng) 求的信息緩存位置為本節(jié)點(diǎn)后,查詢(xún)本節(jié)點(diǎn)緩存的信息:
[0098] 若信息獲取請(qǐng)求所請(qǐng)求的信息緩存在本節(jié)點(diǎn),則將本節(jié)點(diǎn)緩存的信息獲取請(qǐng)求所 請(qǐng)求的信息返回給客戶(hù)端;
[0099] 若信息獲取請(qǐng)求所請(qǐng)求的信息未緩存在本節(jié)點(diǎn),則將該信息獲取請(qǐng)求發(fā)送給鄰域 或信息源服務(wù)器;并從滿(mǎn)足信息獲取請(qǐng)求的鄰域或信息源服務(wù)器獲取所述信息獲取請(qǐng)求所 請(qǐng)求的信息,在本節(jié)點(diǎn)進(jìn)行緩存。
[0100] 其中,普通緩存節(jié)點(diǎn)緩存信息的方式有多種,例如,使用LFU(LeastFrequently Used,最近最不常使用算法)、LRU(LeastRecentlyUsed,最近最少使用算法)等算法進(jìn)行 緩存。
[0101]另外,若緩存位置不是本緩存節(jié)點(diǎn),則將該信息獲取請(qǐng)求轉(zhuǎn)發(fā)給信息獲取請(qǐng)求對(duì) 應(yīng)的信息所在域內(nèi)其他緩存節(jié)點(diǎn),由其他緩存節(jié)點(diǎn)滿(mǎn)足該請(qǐng)求。此時(shí),本緩存節(jié)點(diǎn)的作用 為,轉(zhuǎn)發(fā)信息獲取請(qǐng)求到對(duì)應(yīng)的緩存節(jié)點(diǎn),并不將該信息獲取請(qǐng)求統(tǒng)計(jì)到本節(jié)點(diǎn)緩存信息 流行度表內(nèi),這樣避免了一個(gè)信息獲取請(qǐng)求被多個(gè)緩存節(jié)點(diǎn)統(tǒng)計(jì),提高了流行度的真實(shí)性。
[0102] 如果緩存位置不是本緩存節(jié)點(diǎn),并且該緩存位置對(duì)應(yīng)的普通緩存節(jié)點(diǎn)失效或者不 可達(dá),則將信息獲取請(qǐng)求發(fā)送給資源管理器,由資源管理器判斷信息獲取請(qǐng)求所請(qǐng)求的信 息是否緩存在備份緩存節(jié)點(diǎn),若是將該信息獲取請(qǐng)求發(fā)送給備份緩存節(jié)點(diǎn),由該備份緩存 節(jié)點(diǎn)滿(mǎn)足該信息獲取請(qǐng)求。
[0103] 例如,結(jié)合圖2所示,在初始狀態(tài)下,各緩存節(jié)點(diǎn)都沒(méi)有緩存任何信息。假設(shè)信息 S2、&和S4通過(guò)hash計(jì)算后對(duì)應(yīng)的普通緩存節(jié)點(diǎn)分別為R3、R6、心和R2,備份緩存節(jié)點(diǎn) 為私且緩存空間為3,普通緩存節(jié)點(diǎn)設(shè)定的本節(jié)點(diǎn)流行信息數(shù)量為3。用戶(hù)E1向Ri發(fā)送信 息獲取請(qǐng)求L請(qǐng)求信息Si,如圖2 (i)中所示。普通緩存節(jié)點(diǎn)&接收到請(qǐng)求Ii后計(jì)算請(qǐng)求 所請(qǐng)求信息對(duì)應(yīng)的緩存位置為私,并將請(qǐng)求L轉(zhuǎn)發(fā)給R3,如圖2(ii)所示。普通緩存節(jié)點(diǎn) R3接收到請(qǐng)求I:后,確定緩存位置為本節(jié)點(diǎn),因?yàn)槭鞘状问盏将@取請(qǐng)求,本節(jié)點(diǎn)沒(méi)有緩存, 則直接將請(qǐng)求發(fā)送到信息源服務(wù)器,如圖2(iii)所示。普通緩存節(jié)點(diǎn)更新本節(jié)點(diǎn)流行信息 表,確定信息Si為本節(jié)點(diǎn)流行信息,將Si標(biāo)識(shí)以及請(qǐng)求次數(shù)為1的流行度發(fā)送給資源管理 器,如圖2 (iv)所示。信息源服務(wù)器滿(mǎn)足服務(wù)請(qǐng)求返回Si發(fā)送給用戶(hù)Ei并在本 節(jié)點(diǎn)緩存信息Si,如圖2 (v)所示。
[0104] 同理,R6、R#R2在接收到Ri轉(zhuǎn)發(fā)的請(qǐng)求I2、13和I4后,分別將請(qǐng)求I2、13和I4發(fā) 送到信息源服務(wù)器,并分別緩存S2、&和S4,同時(shí)向資源管理器更新信息S2、&和S4對(duì)應(yīng)的 流行度。
[0105] 步驟S120、資源管理器建立域內(nèi)緩存信息的域內(nèi)信息流行度表,接收普通緩存節(jié) 點(diǎn)傳輸?shù)男畔?biāo)識(shí)以及該信息在對(duì)應(yīng)普通緩存節(jié)點(diǎn)的流行度,在所述域內(nèi)信息流行度表中 更新所述普通緩存節(jié)點(diǎn)傳輸?shù)男畔?biāo)識(shí)所對(duì)應(yīng)的域內(nèi)流行度,確定域內(nèi)流行信息,根據(jù)所 述確定的域內(nèi)流行信息,通知所述普通緩存節(jié)點(diǎn)將所述域內(nèi)流行信息傳輸給所述備份緩 存節(jié)點(diǎn);
[0106] 所謂的域內(nèi)信息流行度表用于統(tǒng)計(jì)域內(nèi)緩存信息的被請(qǐng)求次數(shù),也就是說(shuō),域內(nèi) 信息流行度表包含域內(nèi)緩存信息的信息標(biāo)識(shí),且該標(biāo)識(shí)對(duì)應(yīng)有域內(nèi)被請(qǐng)求次數(shù);被請(qǐng)求次 數(shù)多的,相應(yīng)的信息標(biāo)識(shí)所對(duì)應(yīng)的信息,在域內(nèi)的流行度就越高,那么在下一次接收到用戶(hù) 請(qǐng)求時(shí),該請(qǐng)求所請(qǐng)求的信息為域內(nèi)流行信息的概率也就相對(duì)較高。
[0107] 其中,資源管理器建立域內(nèi)緩存信息流行度表的方式與普通緩存節(jié)點(diǎn)建立本節(jié)點(diǎn) 緩存信息流行度表的方式類(lèi)似,可相互參照理解,這里不再進(jìn)行詳細(xì)贅述。
[0108] 另外,在資源管理器確定出域內(nèi)流行信息后,需要向緩存有該信息的普通緩存節(jié) 點(diǎn)發(fā)送指令,由該普通緩存節(jié)點(diǎn)提供該域內(nèi)流行信息給備份緩存節(jié)點(diǎn)進(jìn)行備份。
[0109] 普通緩存節(jié)點(diǎn)接收到緩存位置為本節(jié)點(diǎn)的信息獲取請(qǐng)求,或者備份緩存節(jié)點(diǎn)接收 到緩存在本節(jié)點(diǎn)的域內(nèi)流行?目息獲取請(qǐng)求后,會(huì)將該?目息獲取請(qǐng)求對(duì)應(yīng)的?目息標(biāo)識(shí)以及該 信息獲取請(qǐng)求對(duì)應(yīng)的重新確定的本節(jié)點(diǎn)流行度,發(fā)送給資源管理器。
[0110] 資源管理器在接收到普通緩存節(jié)點(diǎn)或者備份緩存節(jié)點(diǎn)傳輸?shù)男畔?biāo)識(shí)以及該信 息在對(duì)應(yīng)普通緩存節(jié)點(diǎn)的流行度后,更新所述普通緩存節(jié)點(diǎn)或備份緩存節(jié)點(diǎn)傳輸?shù)男畔?biāo) 識(shí)所對(duì)應(yīng)的域內(nèi)流行度,重新確定域內(nèi)流行信息,根據(jù)所述重新確定的域內(nèi)流行信息,通知 所述備份緩存節(jié)點(diǎn)。
[0111] 進(jìn)一步的,普通緩存節(jié)點(diǎn)在確定信息獲取請(qǐng)求所請(qǐng)求信息的緩存位置為本節(jié)點(diǎn) 后,查詢(xún)本節(jié)點(diǎn)緩存信息流行度表,如果沒(méi)有,則添加包含信息標(biāo)識(shí)及信息流行度的條目; 如果有包含信息標(biāo)識(shí)及信息流行度的條目,則更新信息獲取請(qǐng)求所請(qǐng)求信息的本節(jié)點(diǎn)流行 度;當(dāng)確定所述信息獲取請(qǐng)求所請(qǐng)求的信息是本節(jié)點(diǎn)流行信息后,將該信息的標(biāo)識(shí)以及該 信息的流行度發(fā)送給資源管理器。其中,資源管理器儲(chǔ)存有整個(gè)域內(nèi)緩存的比較流行的信 息的流行度表,并在備份緩存節(jié)點(diǎn)緩存有域內(nèi)流行信息,其中,比較流行的信息是指,資源 管理器接收到的各個(gè)普通緩存節(jié)點(diǎn)發(fā)送的各個(gè)普通節(jié)點(diǎn)本節(jié)點(diǎn)流行信息標(biāo)識(shí)所對(duì)應(yīng)的信 息,換言之,比較流行的信息是指各個(gè)普通緩存節(jié)點(diǎn)上流行信息的集合。
[0112] 資源管理器在接收到信息標(biāo)識(shí)以及該信息的新確定的流行度后,查詢(xún)域內(nèi)緩存信 息流行度表,如果有包含信息標(biāo)識(shí)及信息流行度的條目,則更新信息獲取請(qǐng)求所請(qǐng)求信息 的域內(nèi)流行度;如果沒(méi)有,則添加包含信息標(biāo)識(shí)及信息流行度的條目;若更新后信息獲取 請(qǐng)求所請(qǐng)求的信息由非域內(nèi)流行信息變?yōu)橛騼?nèi)流行信息;通知備份緩存節(jié)點(diǎn)、信息獲取請(qǐng) 求所請(qǐng)求的信息所在的普通緩存節(jié)點(diǎn)以及域內(nèi)流行度最低的備份信息所在的普通緩存節(jié) 點(diǎn)。
[0113] 本發(fā)明實(shí)施例在具體實(shí)施過(guò)程中,普通緩存節(jié)點(diǎn)上緩存的信息可以分為可替換和 不可替換兩種。當(dāng)資源管理器確定出域內(nèi)流行信息后,會(huì)通知緩存有該信息的普通緩存節(jié) 點(diǎn),在對(duì)應(yīng)的普通緩存節(jié)點(diǎn)接收到資源管理器的通知后,將對(duì)應(yīng)的域內(nèi)流行信息設(shè)置為不 可替換狀態(tài)。當(dāng)接收到新的緩存任務(wù)時(shí),依據(jù)緩存算法僅替換處于可替換狀態(tài)的緩存信息。
[0114] 本發(fā)明實(shí)施例在具體實(shí)施過(guò)程中,如由于普通緩存節(jié)點(diǎn)本節(jié)點(diǎn)緩存失效或者不可 達(dá)等原因,不能將請(qǐng)求所對(duì)應(yīng)的信息返回給客戶(hù)端,則由獲取該請(qǐng)求的普通緩存節(jié)點(diǎn)將該 信息獲取請(qǐng)求發(fā)送給資源管理器,由資源管理器根據(jù)域內(nèi)流行度表判斷,若確定該信息為 域內(nèi)流行信息,資源管理器可以將該信息獲取請(qǐng)求發(fā)送給備份緩存節(jié)點(diǎn),由備份緩存節(jié)點(diǎn) 滿(mǎn)足該信息獲取請(qǐng)求。
[0115] 其中,本發(fā)明實(shí)施例在具體實(shí)現(xiàn)過(guò)程中,可以記錄同一緩存節(jié)點(diǎn)發(fā)送的同一信息 標(biāo)識(shí)在上述緩存節(jié)點(diǎn)的流行度,當(dāng)再次接收到該緩存節(jié)點(diǎn)發(fā)送的該信息標(biāo)識(shí)以及新確定的 對(duì)應(yīng)的信息流行度后,計(jì)算與上述記錄中最近接收到的同一緩存節(jié)點(diǎn)發(fā)送的該信息標(biāo)識(shí)的 信息流行度之間的差值,將域內(nèi)信息流行度表中該信息標(biāo)識(shí)對(duì)應(yīng)的域內(nèi)流行度增加上述 差值,得到新的該信息的域內(nèi)流行度;當(dāng)然,該計(jì)算差值的過(guò)程也可以由緩存節(jié)點(diǎn)來(lái)實(shí)現(xiàn), 也就是說(shuō),緩存節(jié)點(diǎn)在向資源管理器發(fā)送信息標(biāo)識(shí)以及對(duì)應(yīng)的信息流行度之前,計(jì)算新確 定的信息流行度與上一次發(fā)送該信息標(biāo)識(shí)時(shí)對(duì)應(yīng)的流行度之間的差值,將該差值與信息標(biāo) 識(shí)一并發(fā)送給資源管理器,資源管理器接收到該差值與信息標(biāo)識(shí)后,直接將差值添加到對(duì) 應(yīng)的信息流行度表即可。
[0116] 若該信息在重新確定流行度之前即為域內(nèi)流行信息,那么,新確定流行度后,該信 息依然為域內(nèi)流行信息,相應(yīng)的域內(nèi)流行信息只是流行度發(fā)生相應(yīng)的變化,而域內(nèi)流行信 息并未發(fā)生變化,則在重新確定域內(nèi)信息的流行度表后即可結(jié)束操作或處理下一個(gè)任務(wù)。
[0117] 若根據(jù)該信息在重新確定流行度之前即為非域內(nèi)流行信息,在重新確定該信息的 流行度后,依然為非域內(nèi)流行信息,此時(shí)域內(nèi)流行信息也未發(fā)生變化,則在重新確定域內(nèi)較 流行信息的流行度表后即可結(jié)束操作或處理下一個(gè)任務(wù)。
[0118] 例如,承接S110中舉例,如圖2(vii)所示,資源管理器收到信息Si對(duì)應(yīng)的流行度 后,更新Si的流行度為1,根據(jù)備份緩存空間確定si為域內(nèi)流行信息,并通知對(duì)應(yīng)的普通緩 存節(jié)點(diǎn)R3將信息發(fā)送到備份緩存節(jié)點(diǎn)Rc備份,并將S1在R3的緩存狀態(tài)改為不可替換。普 通緩存節(jié)點(diǎn)R3將信息Si發(fā)