本發(fā)明主要涉及網(wǎng)絡(luò)加速領(lǐng)域,尤其涉及一種文件預(yù)取指令推送方法、裝置及文件預(yù)取系統(tǒng)。
背景技術(shù):
在現(xiàn)有的網(wǎng)絡(luò)加速技術(shù)中,例如內(nèi)容分發(fā)網(wǎng)絡(luò)(contentdeliverynetwork,cdn)技術(shù),將資源預(yù)加載到邊緣節(jié)點(diǎn)是一種重要的加速方法。cdn業(yè)務(wù)經(jīng)常會(huì)提前對(duì)文件進(jìn)行預(yù)取,但是否觸發(fā)預(yù)取一般需要人工參與判斷,即由人工或者半自動(dòng)地將推送指令提前發(fā)送到指定的邊緣節(jié)點(diǎn),邊緣節(jié)點(diǎn)再根據(jù)推送指令拉取需要預(yù)取的數(shù)據(jù)。由于網(wǎng)絡(luò)上的時(shí)事熱點(diǎn)變化迅速,又由于現(xiàn)有的文件預(yù)取技術(shù)需要人工參與,無(wú)法做到實(shí)時(shí)地對(duì)用戶的行為做出預(yù)測(cè),也就無(wú)法將新出現(xiàn)的時(shí)事熱點(diǎn)相關(guān)的文件提前緩存到邊緣節(jié)點(diǎn)。這就導(dǎo)致了對(duì)于沒(méi)有被預(yù)取、但又比較熱門(mén)的文件,邊緣節(jié)點(diǎn)在用戶訪問(wèn)的時(shí)候需要從源服務(wù)器拉取文件,增加了邊緣節(jié)點(diǎn)的響應(yīng)時(shí)間,降低了用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種文件預(yù)取指令推送方法、裝置以及文件預(yù)取系統(tǒng),其能夠使邊緣節(jié)點(diǎn)提前預(yù)取用戶可能會(huì)訪問(wèn)的文件,以使邊緣節(jié)點(diǎn)能夠?qū)τ脩舻脑L問(wèn)請(qǐng)求進(jìn)行快速地響應(yīng),提升了服務(wù)質(zhì)量。
為解決上述技術(shù)問(wèn)題,本發(fā)明的一方面提供了一種文件預(yù)取指令推送方法,包括:收集邊緣節(jié)點(diǎn)的用戶訪問(wèn)日志;根據(jù)預(yù)定的統(tǒng)計(jì)分析規(guī)則對(duì)所述用戶訪問(wèn)日志進(jìn)行基于需求預(yù)測(cè)的統(tǒng)計(jì)分析,確定需要被預(yù)取的文件列表;以及根據(jù)所述文件列表生成預(yù)取指令,并將所述預(yù)取指令推送給所述邊緣節(jié)點(diǎn)。
在本發(fā)明的一實(shí)施例中,所述統(tǒng)計(jì)分析規(guī)則包括:文件未被所述邊緣節(jié)點(diǎn)緩存;以及文件的訪問(wèn)頻率排名在預(yù)定名次內(nèi),或文件的訪問(wèn)頻率上升速度在預(yù)定名次內(nèi)。
在本發(fā)明的一實(shí)施例中,所述統(tǒng)計(jì)分析規(guī)則還包括如下的一個(gè)或多個(gè):文件回源節(jié)點(diǎn)指向自有源或父節(jié)點(diǎn);文件未被標(biāo)記為已推送或準(zhǔn)備推送;以及文件符合預(yù)定義的預(yù)取規(guī)則。
在本發(fā)明的一實(shí)施例中,所述預(yù)取規(guī)則包括如下的一個(gè)或多個(gè):只預(yù)取圖片文件;只預(yù)取視頻文件;以及只預(yù)取文件的前一部分的數(shù)據(jù)。
在本發(fā)明的一實(shí)施例中,所述根據(jù)所述文件列表生成預(yù)取指令的步驟包括:判斷所述文件列表中的文件是否已經(jīng)被預(yù)??;根據(jù)未被預(yù)取的文件生成所述預(yù)取指令。
在本發(fā)明的一實(shí)施例中,所述根據(jù)所述文件列表生成預(yù)取指令的步驟還包括:對(duì)所述未被預(yù)取的文件標(biāo)記過(guò)期時(shí)間。
本發(fā)明的另一方面提供了一種文件預(yù)取指令推送裝置,包括:數(shù)據(jù)收集組件,用于收集邊緣節(jié)點(diǎn)的用戶訪問(wèn)日志;統(tǒng)計(jì)分析組件,用于根據(jù)預(yù)定的統(tǒng)計(jì)分析規(guī)則對(duì)所述用戶訪問(wèn)日志進(jìn)行基于需求預(yù)測(cè)的統(tǒng)計(jì)分析,確定需要被預(yù)取的文件列表;以及預(yù)取指令推送組件,用于根據(jù)所述文件列表生成預(yù)取指令,并將所述預(yù)取指令推送給所述邊緣節(jié)點(diǎn)。
在本發(fā)明的一實(shí)施例中,所述統(tǒng)計(jì)分析規(guī)則包括:文件未被所述邊緣節(jié)點(diǎn)緩存;以及文件的訪問(wèn)頻率排名在預(yù)定名次內(nèi),或文件的訪問(wèn)頻率上升速度在預(yù)定名次內(nèi)。
在本發(fā)明的一實(shí)施例中,所述統(tǒng)計(jì)分析規(guī)則還包括如下的一個(gè)或多個(gè):文件回源節(jié)點(diǎn)指向自有源或父節(jié)點(diǎn);文件未被標(biāo)記為已推送或準(zhǔn)備推送;以及文件符合預(yù)定義的預(yù)取規(guī)則。
在本發(fā)明的一實(shí)施例中,所述預(yù)取規(guī)則包括如下的一個(gè)或多個(gè):只預(yù)取圖片文件;只預(yù)取視頻文件;以及只預(yù)取文件的前一部分的數(shù)據(jù)。
在本發(fā)明的一實(shí)施例中,所述預(yù)取指令推送組件用于判斷所述文件列表中的文件是否已經(jīng)被預(yù)取,并根據(jù)未被預(yù)取的文件生成所述預(yù)取指令。
在本發(fā)明的一實(shí)施例中,所述預(yù)取指令推送組件還用于對(duì)所述未被預(yù)取的文件標(biāo)記過(guò)期時(shí)間。
本發(fā)明的另一方面提供了一種文件預(yù)取指令推送裝置,包括存儲(chǔ)器、處理器以及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)指令,其特征在于,所述處理器執(zhí)行所述計(jì)算機(jī)指令時(shí)實(shí)現(xiàn)如上所述的方法。
本發(fā)明的另一方面提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)指令,其中當(dāng)計(jì)算機(jī)指令被處理器執(zhí)行時(shí),執(zhí)行如上所述的方法。
本發(fā)明的另一方面提供了一種文件預(yù)取系統(tǒng),包括:資源中心,存儲(chǔ)有資源文件;如上所述的文件預(yù)取指令推送裝置;邊緣節(jié)點(diǎn),用于接收所述預(yù)取指令,并根據(jù)所述預(yù)取指令從所述資源中心預(yù)取文件。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
本發(fā)明的文件預(yù)取指令推送方法、裝置對(duì)邊緣節(jié)點(diǎn)的用戶訪問(wèn)日志進(jìn)行了統(tǒng)計(jì)分析,以確定出用戶將來(lái)可能會(huì)訪問(wèn)的文件列表,基于該文件列表生成預(yù)取指令,并將該預(yù)取指令推送給邊緣節(jié)點(diǎn),以使邊緣節(jié)點(diǎn)提前將用戶將來(lái)可能會(huì)訪問(wèn)的文件預(yù)取到其內(nèi)的存儲(chǔ)器中,以在用戶訪問(wèn)時(shí)能夠進(jìn)行快速地響應(yīng),提升服務(wù)質(zhì)量。
附圖說(shuō)明
圖1是現(xiàn)有的網(wǎng)絡(luò)加速系統(tǒng)的基本架構(gòu)圖。
圖2是本發(fā)明一實(shí)施例的網(wǎng)絡(luò)加速系統(tǒng)的基本架構(gòu)圖。
圖3是本發(fā)明一實(shí)施例的文件預(yù)取指令推送方法的基本流程圖。
圖4是本發(fā)明一實(shí)施例的文件預(yù)取指令推送裝置的基本結(jié)構(gòu)圖。
圖5是本發(fā)明一實(shí)施例的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示意圖。
圖6是本發(fā)明另一實(shí)施例的文件預(yù)取系統(tǒng)的功能模塊示意圖。
圖7是本發(fā)明一實(shí)施例的統(tǒng)計(jì)分析組件的模塊示意圖。
具體實(shí)施方式
為讓本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,以下結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式作詳細(xì)說(shuō)明。
在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是本發(fā)明還可以采用其它不同于在此描述的其它方式來(lái)實(shí)施,因此本發(fā)明不受下面公開(kāi)的具體實(shí)施例的限制。
如本申請(qǐng)和權(quán)利要求書(shū)中所示,除非上下文明確提示例外情形,“一”、“一個(gè)”、“一種”和/或“該”等詞并非特指單數(shù),也可包括復(fù)數(shù)。一般說(shuō)來(lái),術(shù)語(yǔ)“包括”與“包含”僅提示包括已明確標(biāo)識(shí)的步驟和元素,而這些步驟和元素不構(gòu)成一個(gè)排它性的羅列,方法或者設(shè)備也可能包含其他的步驟或元素。
圖1是現(xiàn)有的網(wǎng)絡(luò)加速系統(tǒng)的基本架構(gòu)圖。請(qǐng)參考圖1,網(wǎng)絡(luò)加速系統(tǒng)10主要由文件預(yù)取系統(tǒng)100和網(wǎng)域名稱系統(tǒng)(domainnamesystem,dns)服務(wù)器200構(gòu)成。文件預(yù)取系統(tǒng)100包括資源中心110和多個(gè)邊緣節(jié)點(diǎn)120。資源中心110是一個(gè)數(shù)據(jù)存儲(chǔ)中心,用于存儲(chǔ)供用戶設(shè)備(userequipment,ue)300訪問(wèn)的資源文件。邊緣節(jié)點(diǎn)120用于將資源中心110的資源文件預(yù)取到其內(nèi)的存儲(chǔ)器中進(jìn)行緩存,以在接收到用戶設(shè)備300的訪問(wèn)請(qǐng)求時(shí),將請(qǐng)求的資源文件發(fā)送給用戶設(shè)備300。多個(gè)邊緣節(jié)點(diǎn)120可以布置于多個(gè)不同區(qū)域,為簡(jiǎn)單起見(jiàn),在圖1中僅示出了區(qū)域a和區(qū)域b兩個(gè)區(qū)域。在區(qū)域a中可以包括多個(gè)邊緣節(jié)點(diǎn)120-1a,120-2a,…,120-na,在區(qū)域b中可以包括多個(gè)邊緣節(jié)點(diǎn)120-1b,120-2b,…,120-mb,其中n、m為自然數(shù)。上述的區(qū)域a、b可以是國(guó)、省、市或者以其它方式劃分的區(qū)塊。dns服務(wù)器200用于將用戶設(shè)備300的域名解析請(qǐng)求中的域名轉(zhuǎn)換為對(duì)應(yīng)的網(wǎng)際協(xié)議地址(internetprotocoladdress,ip地址),并將ip地址返回給用戶設(shè)備300。
當(dāng)用戶設(shè)備300發(fā)起訪問(wèn)時(shí),首先會(huì)發(fā)送域名解析請(qǐng)求給dns服務(wù)器200,dns服務(wù)器200會(huì)返回用戶設(shè)備300訪問(wèn)延遲最小的邊緣節(jié)點(diǎn)120的ip地址;而后,用戶設(shè)備300會(huì)根據(jù)返回的ip地址,向相應(yīng)的邊緣節(jié)點(diǎn)120發(fā)送訪問(wèn)請(qǐng)求,以獲取所需的文件。如果邊緣節(jié)點(diǎn)120緩存有該文件,邊緣節(jié)點(diǎn)120則將該文件發(fā)送給用戶設(shè)備300;如果邊緣節(jié)點(diǎn)120沒(méi)有緩存該文件,邊緣節(jié)點(diǎn)120則會(huì)向資源中心110拉取該文件,并在拉取回該文件后,再將該文件發(fā)送給用戶設(shè)備300。由此可見(jiàn),在邊緣節(jié)點(diǎn)120緩存有用戶設(shè)備300所需的文件時(shí),能夠快速地將該文件發(fā)送給用戶設(shè)備300;在邊緣節(jié)點(diǎn)120沒(méi)有緩存用戶設(shè)備300所需的文件時(shí),邊緣節(jié)點(diǎn)120需要返回到資源中心110拉取該文件后,再返回給用戶設(shè)備300。由于如背景技術(shù)中所介紹的,現(xiàn)有的網(wǎng)絡(luò)加速系統(tǒng)10無(wú)法將新出現(xiàn)的時(shí)事熱點(diǎn)相關(guān)的文件提前緩存到邊緣節(jié)點(diǎn)120,這就增加了邊緣節(jié)點(diǎn)120的響應(yīng)時(shí)間,降低了用戶體驗(yàn)。
為了克服上述現(xiàn)有技術(shù)的缺陷,本發(fā)明提出了一種能夠快速響應(yīng)用戶訪問(wèn)的網(wǎng)絡(luò)加速系統(tǒng)20,其基本架構(gòu)請(qǐng)參考圖2。相對(duì)于現(xiàn)有的網(wǎng)絡(luò)加速系統(tǒng)10,網(wǎng)絡(luò)加速系統(tǒng)20的文件預(yù)取系統(tǒng)101還包括文件預(yù)取指令推送裝置130。文件預(yù)取指令推送裝置130用于根據(jù)邊緣節(jié)點(diǎn)120(如邊緣節(jié)點(diǎn)120-1a,120-1b)的用戶訪問(wèn)日志進(jìn)行基于需求預(yù)測(cè)的統(tǒng)計(jì)分析,確定對(duì)一個(gè)或多個(gè)資源文件的預(yù)取指令,并將預(yù)取指令發(fā)送給邊緣節(jié)點(diǎn)120,以使邊緣節(jié)點(diǎn)120根據(jù)該預(yù)取指令從資源中心110預(yù)取資源文件。如此,使文件預(yù)取系統(tǒng)101可以事先應(yīng)對(duì)用戶將來(lái)的訪問(wèn)行為,加快邊緣節(jié)點(diǎn)120的響應(yīng)時(shí)間,提升用戶體驗(yàn)??梢岳斫?,文件預(yù)取指令推送裝置130可以如圖2所示的是一個(gè)單獨(dú)的裝置,也可以是資源中心110或其它裝置內(nèi)的一個(gè)單元,本發(fā)明對(duì)其的具體形態(tài)、布置方式并不加以限制。
圖3是本發(fā)明一實(shí)施例的文件預(yù)取指令推送方法的基本流程圖。請(qǐng)結(jié)合參考圖3和圖2,文件預(yù)取指令推送方法30包括:
步驟31:收集邊緣節(jié)點(diǎn)的用戶訪問(wèn)日志;
步驟32:根據(jù)預(yù)定的統(tǒng)計(jì)分析規(guī)則對(duì)用戶訪問(wèn)日志進(jìn)行基于需求預(yù)測(cè)的統(tǒng)計(jì)分析,確定需要被預(yù)取的文件列表;以及
步驟33:根據(jù)文件列表生成預(yù)取指令,并將預(yù)取指令推送給邊緣節(jié)點(diǎn)。
上述文件預(yù)取指令推送方法30可以由文件預(yù)取指令推送裝置130實(shí)施。文件預(yù)取指令推送裝置130可以在無(wú)需人工干預(yù)的情況下,自動(dòng)地執(zhí)行文件預(yù)取指令推送方法30以產(chǎn)生邊緣節(jié)點(diǎn)120所需的預(yù)取指令。
在步驟31中,可以收集全部邊緣節(jié)點(diǎn)120的用戶訪問(wèn)日志,也可以僅收集部分邊緣節(jié)點(diǎn)120的用戶訪問(wèn)日志,例如僅收集區(qū)域a內(nèi)的邊緣節(jié)點(diǎn)120-1a,120-2a,…,120-na中全部或部分邊緣節(jié)點(diǎn)的用戶訪問(wèn)日志,僅收集區(qū)域b內(nèi)的邊緣節(jié)點(diǎn)120-1b,120-2b,…,120-mb中全部或部分邊緣節(jié)點(diǎn)的用戶訪問(wèn)日志,或者收集區(qū)域a中部分邊緣節(jié)點(diǎn)120和區(qū)域b中部分邊緣節(jié)點(diǎn)120的用戶訪問(wèn)日志。優(yōu)選的,在收集完用戶訪問(wèn)日志后,還對(duì)用戶訪問(wèn)日志進(jìn)行匯總壓縮,并將匯總壓縮后的用戶訪問(wèn)日志發(fā)送到指定位置。優(yōu)選的,指定位置是一個(gè)共享的存儲(chǔ)點(diǎn)。
在步驟32中,需要被預(yù)取的文件列表是指未被邊緣節(jié)點(diǎn)120緩存,且用戶設(shè)備300將來(lái)可能會(huì)訪問(wèn)的一個(gè)或多個(gè)文件構(gòu)成的列表,例如url列表。相應(yīng)的,統(tǒng)計(jì)分析規(guī)則可以包括:文件未被邊緣節(jié)點(diǎn)120緩存;以及文件的訪問(wèn)頻率排名在預(yù)定名次內(nèi),或文件的訪問(wèn)頻率上升速度在預(yù)定名次內(nèi)。優(yōu)選的,文件的訪問(wèn)頻率排名在預(yù)定名次內(nèi)可以是在指定時(shí)間范圍內(nèi),同地區(qū)內(nèi)多個(gè)邊緣節(jié)點(diǎn)120被請(qǐng)求訪問(wèn)最多的文件的前幾名,例如前10萬(wàn)名;文件的訪問(wèn)頻率上升速度在預(yù)定名次內(nèi)可以是在指定時(shí)間范圍內(nèi),同地區(qū)內(nèi)多個(gè)邊緣節(jié)點(diǎn)120被請(qǐng)求訪問(wèn)次數(shù)上升最快的文件的前幾名,例如前10萬(wàn)名。需要說(shuō)明的是,在判斷文件是否被邊緣節(jié)點(diǎn)120緩存時(shí),需要對(duì)多個(gè)邊緣節(jié)點(diǎn)120中的每個(gè)都進(jìn)行判斷,并針對(duì)每個(gè)邊緣節(jié)點(diǎn)120確定其是否緩存該文件,即針對(duì)每個(gè)邊緣節(jié)點(diǎn)120都確定一個(gè)是否緩存的標(biāo)志。
此外,統(tǒng)計(jì)分析規(guī)則還可以包括如下的一個(gè)或多個(gè):文件回源節(jié)點(diǎn)指向自有源或父節(jié)點(diǎn);文件未被標(biāo)記為已推送或準(zhǔn)備推送;以及文件符合預(yù)定義的預(yù)取規(guī)則。其中,預(yù)取規(guī)則可以包括如下的一個(gè)或多個(gè):只預(yù)取圖片文件;只預(yù)取視頻文件;以及只預(yù)取文件的前一部分的數(shù)據(jù),例如大文件只預(yù)取前100m的數(shù)據(jù)。對(duì)于大文件而言,僅預(yù)取其前一部分的數(shù)據(jù),即實(shí)行部分緩存策略,可以節(jié)省邊緣節(jié)點(diǎn)120的存儲(chǔ)空間。同樣需要說(shuō)明的是,上述統(tǒng)計(jì)分析規(guī)則可以針對(duì)多個(gè)邊緣節(jié)點(diǎn)120分別設(shè)置,即不同的邊緣節(jié)點(diǎn)120可以使用不同的統(tǒng)計(jì)分析規(guī)則。類似地,不同的邊緣節(jié)點(diǎn)120可以使用不同的預(yù)取規(guī)則。
在步驟33中,根據(jù)文件列表生成預(yù)取指令步驟可以包括:判斷文件列表中的文件是否已經(jīng)被預(yù)?。桓鶕?jù)未被預(yù)取的文件生成預(yù)取指令。如此,可以在推送預(yù)取指令前再次確認(rèn)文件是否已經(jīng)被預(yù)取,可以避免在確定需要被預(yù)取的文件列表之后,生成預(yù)取指令之前的這段時(shí)間內(nèi),某些文件已經(jīng)被預(yù)取,而生成的預(yù)取指令還包含已經(jīng)被預(yù)取的文件的情形發(fā)生。優(yōu)選的,在生成預(yù)取指令的步驟還包括對(duì)未被預(yù)取的文件標(biāo)記過(guò)期時(shí)間的子步驟??梢岳斫猓梢詫?duì)每個(gè)未被預(yù)取的文件單獨(dú)標(biāo)記過(guò)期時(shí)間,也可以針對(duì)所有未被預(yù)取的文件統(tǒng)一標(biāo)志一個(gè)過(guò)期時(shí)間。
需要說(shuō)明的是,在步驟33中將預(yù)取指令推送給邊緣節(jié)點(diǎn)120,可以是將預(yù)取指令推送給所有的邊緣節(jié)點(diǎn)120,即全網(wǎng)推送;也可以僅將預(yù)取指令推送給部分的邊緣節(jié)點(diǎn)120,例如推送給某一區(qū)域內(nèi)的邊緣節(jié)點(diǎn)120(區(qū)域推送)。優(yōu)選的,在僅收集一個(gè)區(qū)域內(nèi)的邊緣節(jié)點(diǎn)120的用戶訪問(wèn)日志時(shí),可以僅將預(yù)取指令推送給該區(qū)域內(nèi)的所有邊緣節(jié)點(diǎn)120。這是由于根據(jù)一個(gè)區(qū)域的邊緣節(jié)點(diǎn)120的用戶訪問(wèn)日志所確定出的訪問(wèn)熱點(diǎn),通常與該區(qū)域的熱點(diǎn)事件相關(guān),會(huì)關(guān)注該熱點(diǎn)事件的用戶通常也在該區(qū)域內(nèi),在將預(yù)取指令推送給該區(qū)域內(nèi)的邊緣節(jié)點(diǎn)120,邊緣節(jié)點(diǎn)120預(yù)取文件后,即可對(duì)該區(qū)域用戶的訪問(wèn)請(qǐng)求進(jìn)行快速地響應(yīng)。
在一實(shí)施例中,文件預(yù)取指令推送裝置130可以是計(jì)算機(jī)設(shè)備,例如一服務(wù)器或服務(wù)器群,其基本結(jié)構(gòu)如圖4所示。文件預(yù)取指令推送裝置130包括存儲(chǔ)器132、處理器131以及存儲(chǔ)在存儲(chǔ)器上并可在處理器上運(yùn)行的計(jì)算機(jī)指令,當(dāng)處理器131執(zhí)行計(jì)算機(jī)指令時(shí)實(shí)現(xiàn)如上所述的方法。
圖5是本發(fā)明一實(shí)施例的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示意圖。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)40其上存儲(chǔ)有計(jì)算機(jī)指令,其中當(dāng)計(jì)算機(jī)指令被處理器執(zhí)行時(shí),實(shí)現(xiàn)如上所述的方法。
圖6是本發(fā)明另一實(shí)施例的文件預(yù)取系統(tǒng)的功能模塊示意圖。請(qǐng)參考圖6,文件預(yù)取系統(tǒng)500包括資源中心510、多個(gè)邊緣節(jié)點(diǎn)520和文件預(yù)取指令推送裝置530。與圖2所示出的實(shí)施例相同,資源中心510是一個(gè)數(shù)據(jù)存儲(chǔ)中心,用于存儲(chǔ)供用戶設(shè)備300(300-1,300-2,…,300-p,其中p為自然數(shù))訪問(wèn)的資源文件。邊緣節(jié)點(diǎn)520用于將資源中心510的資源文件預(yù)取到其內(nèi)的存儲(chǔ)器中進(jìn)行緩存,以在接收到用戶設(shè)備300的訪問(wèn)請(qǐng)求時(shí),將請(qǐng)求的資源文件發(fā)送給用戶設(shè)備300。此外,邊緣節(jié)點(diǎn)520還具有預(yù)取指令接收和執(zhí)行組件,用于接收文件預(yù)取指令推送裝置530所推送的文件預(yù)取指令,并根據(jù)該文件預(yù)取指令從資源中心510預(yù)取資源文件。多個(gè)邊緣節(jié)點(diǎn)520(520-1,…,520-q,其中q為自然數(shù))可以布置于多個(gè)不同區(qū)域。文件預(yù)取指令推送裝置530用于根據(jù)邊緣節(jié)點(diǎn)520的用戶訪問(wèn)日志確定預(yù)取指令,并將預(yù)取指令發(fā)送給邊緣節(jié)點(diǎn)520,以使邊緣節(jié)點(diǎn)520根據(jù)該預(yù)取指令從資源中心510預(yù)取資源文件。
文件預(yù)取指令推送裝置530包括數(shù)據(jù)收集組件531、統(tǒng)計(jì)分析組件532和預(yù)取指令推送組件533。
數(shù)據(jù)收集組件531用于收集邊緣節(jié)點(diǎn)520的用戶訪問(wèn)日志,其可以收集全部邊緣節(jié)點(diǎn)520的用戶訪問(wèn)日志,也可以僅收集部分邊緣節(jié)點(diǎn)520的用戶訪問(wèn)日志。優(yōu)選的,在收集完用戶訪問(wèn)日志后,數(shù)據(jù)收集組件531還對(duì)用戶訪問(wèn)日志進(jìn)行匯總壓縮,并將匯總壓縮后的用戶訪問(wèn)日志發(fā)送到指定位置。優(yōu)選的,指定位置是一個(gè)共享的存儲(chǔ)點(diǎn)。
統(tǒng)計(jì)分析組件532用于根據(jù)預(yù)定的統(tǒng)計(jì)分析規(guī)則對(duì)用戶訪問(wèn)日志進(jìn)行統(tǒng)計(jì)分析,確定需要被預(yù)取的文件列表。需要被預(yù)取的文件列表是指未被邊緣節(jié)點(diǎn)520緩存,且用戶設(shè)備300將來(lái)可能會(huì)訪問(wèn)的一個(gè)或多個(gè)文件構(gòu)成的列表,例如url列表。相應(yīng)的,統(tǒng)計(jì)分析規(guī)則可以包括:文件未被邊緣節(jié)點(diǎn)520緩存;以及文件的訪問(wèn)頻率排名在預(yù)定名次內(nèi),或文件的訪問(wèn)頻率上升速度在預(yù)定名次內(nèi)。優(yōu)選的,文件的訪問(wèn)頻率排名在預(yù)定名次內(nèi)可以是在指定時(shí)間范圍內(nèi),同地區(qū)內(nèi)多個(gè)邊緣節(jié)點(diǎn)520被請(qǐng)求訪問(wèn)最多的文件的前幾名,例如前10萬(wàn)名;文件的訪問(wèn)頻率上升速度在預(yù)定名次內(nèi)可以是在指定時(shí)間范圍內(nèi),同地區(qū)內(nèi)多個(gè)邊緣節(jié)點(diǎn)120被請(qǐng)求訪問(wèn)次數(shù)上升最快的文件的前幾名,例如前10萬(wàn)名。需要說(shuō)明的是,在判斷文件是否被邊緣節(jié)點(diǎn)520緩存時(shí),需要對(duì)多個(gè)邊緣節(jié)點(diǎn)520中的每個(gè)都進(jìn)行判斷,并針對(duì)每個(gè)邊緣節(jié)點(diǎn)520確定其是否緩存該文件,即針對(duì)每個(gè)邊緣節(jié)點(diǎn)520都確定一個(gè)是否緩存的標(biāo)志;或者,若有一個(gè)邊緣節(jié)點(diǎn)520未緩存,即視為文件未被邊緣節(jié)點(diǎn)520緩存,即針對(duì)多個(gè)邊緣節(jié)點(diǎn)520僅確定一個(gè)是否緩存的標(biāo)志。
此外,統(tǒng)計(jì)分析規(guī)則還可以包括如下的一個(gè)或多個(gè):文件回源節(jié)點(diǎn)指向自有源或父節(jié)點(diǎn);文件未被標(biāo)記為已推送或準(zhǔn)備推送;以及文件符合預(yù)定義的預(yù)取規(guī)則。其中,預(yù)取規(guī)則可以包括如下的一個(gè)或多個(gè):只預(yù)取圖片文件;只預(yù)取視頻文件;以及只預(yù)取文件的前一部分的數(shù)據(jù),例如大文件只預(yù)取前100m的數(shù)據(jù)。對(duì)于大文件而言,僅預(yù)取其前一部分的數(shù)據(jù),即實(shí)行部分緩存策略,可以節(jié)點(diǎn)邊緣節(jié)點(diǎn)520的存儲(chǔ)空間。同樣需要說(shuō)明的是,上述統(tǒng)計(jì)分析規(guī)則可以針對(duì)多個(gè)邊緣節(jié)點(diǎn)520分別設(shè)置,即不同的邊緣節(jié)點(diǎn)520可以使用不同的統(tǒng)計(jì)分析規(guī)則。類似地,不同的邊緣節(jié)點(diǎn)520可以使用不同的預(yù)取規(guī)則。
圖7是本發(fā)明一實(shí)施例的統(tǒng)計(jì)分析組件的模塊示意圖。請(qǐng)參考圖7,統(tǒng)計(jì)分析組件532包括數(shù)據(jù)讀入模塊532a、統(tǒng)計(jì)計(jì)算模塊532b、結(jié)果輸出模塊532c和規(guī)則配置模塊532d。數(shù)據(jù)讀入模塊532a用于讀取數(shù)據(jù)收集組件531收集的用戶訪問(wèn)日志。統(tǒng)計(jì)計(jì)算模塊532b用于統(tǒng)計(jì)分析數(shù)據(jù)讀入模塊532a讀取的用戶訪問(wèn)日志,以統(tǒng)計(jì)在指定時(shí)段內(nèi)每一個(gè)文件的訪問(wèn)次數(shù),根據(jù)預(yù)定的統(tǒng)計(jì)分析規(guī)則確定需要被預(yù)取的文件列表,并將該文件列表以及預(yù)取規(guī)則發(fā)送給結(jié)果輸出模塊532c。結(jié)果輸出模塊532c根據(jù)接收的文件列表以及預(yù)取規(guī)則確定出最終需要被預(yù)取的文件列表,并將該最終的文件列表發(fā)送給預(yù)取指令推送組件533。規(guī)則配置模塊532d用于配置統(tǒng)計(jì)分析規(guī)則。
預(yù)取指令推送組件533用于根據(jù)文件列表生成預(yù)取指令,并將預(yù)取指令推送給邊緣節(jié)點(diǎn)。舉例而言,預(yù)取指令推送組件533首先判斷文件列表中的文件是否已經(jīng)被預(yù)??;再根據(jù)未被預(yù)取的文件生成預(yù)取指令。如此,可以在推送預(yù)取指令前再次確認(rèn)文件是否已經(jīng)被預(yù)取,可以避免在確定需要被預(yù)取的文件列表之后,生成預(yù)取指令之前的這段時(shí)間內(nèi),某些文件已經(jīng)被預(yù)取,而生成的預(yù)取指令還包含已經(jīng)被預(yù)取的文件的情形發(fā)生。優(yōu)選的,預(yù)取指令推送組件533還用于對(duì)未被預(yù)取的文件標(biāo)記過(guò)期時(shí)間??梢岳斫猓梢詫?duì)每個(gè)未被預(yù)取的文件單獨(dú)標(biāo)記過(guò)期時(shí)間,也可以針對(duì)所有未被預(yù)取的文件統(tǒng)一標(biāo)志一個(gè)過(guò)期時(shí)間。
需要說(shuō)明的是,預(yù)取指令推送組件533將預(yù)取指令推送給邊緣節(jié)點(diǎn),可以是將預(yù)取指令推送給所有的邊緣節(jié)點(diǎn)520,即全網(wǎng)推送;也可以僅將預(yù)取指令推送給部分的邊緣節(jié)點(diǎn)520,例如推送給某一區(qū)域內(nèi)的邊緣節(jié)點(diǎn)520(區(qū)域推送)。優(yōu)選的,在僅收集一個(gè)區(qū)域內(nèi)的邊緣節(jié)點(diǎn)520的用戶訪問(wèn)日志時(shí),可以僅將預(yù)取指令推送給該區(qū)域內(nèi)的所有邊緣節(jié)點(diǎn)520。這是由于根據(jù)一個(gè)區(qū)域的邊緣節(jié)點(diǎn)520的用戶訪問(wèn)日志所確定出的訪問(wèn)熱點(diǎn),通常與該區(qū)域的熱點(diǎn)事件相關(guān),會(huì)關(guān)注該熱點(diǎn)事件的用戶通常也在該區(qū)域內(nèi),在將預(yù)取指令推送給該區(qū)域內(nèi)的邊緣節(jié)點(diǎn)520,邊緣節(jié)點(diǎn)520預(yù)取文件后,即可對(duì)該區(qū)域用戶的訪問(wèn)請(qǐng)求進(jìn)行快速地響應(yīng)。
本領(lǐng)域技術(shù)人員將進(jìn)一步領(lǐng)會(huì),結(jié)合本文中所公開(kāi)的實(shí)施例來(lái)描述的各種解說(shuō)性邏輯板塊、模塊、電路、和算法步驟可實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件、或這兩者的組合。為清楚地解說(shuō)硬件與軟件的這一可互換性,各種解說(shuō)性組件、框、模塊、電路、和步驟在上面是以其功能性的形式作一般化描述的。此類功能性是被實(shí)現(xiàn)為硬件還是軟件取決于具體應(yīng)用和施加于整體系統(tǒng)的設(shè)計(jì)約束。技術(shù)人員對(duì)于每種特定應(yīng)用可用不同的方式來(lái)實(shí)現(xiàn)所描述的功能性,但這樣的實(shí)現(xiàn)決策不應(yīng)被解讀成導(dǎo)致脫離了本發(fā)明的范圍。
結(jié)合本文所公開(kāi)的實(shí)施例描述的各種解說(shuō)性邏輯模塊、和電路可用通用處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)或其它可編程邏輯器件、分立的門(mén)或晶體管邏輯、分立的硬件組件、或其設(shè)計(jì)成執(zhí)行本文所描述功能的任何組合來(lái)實(shí)現(xiàn)或執(zhí)行。通用處理器可以是微處理器,但在替換方案中,該處理器可以是任何常規(guī)的處理器、控制器、微控制器、或狀態(tài)機(jī)。處理器還可以被實(shí)現(xiàn)為計(jì)算設(shè)備的組合,例如dsp與微處理器的組合、多個(gè)微處理器、與dsp核心協(xié)作的一個(gè)或多個(gè)微處理器、或任何其他此類配置。
結(jié)合本文中公開(kāi)的實(shí)施例描述的方法或算法的步驟可直接在硬件中、在由處理器執(zhí)行的軟件模塊中、或在這兩者的組合中體現(xiàn)。軟件模塊可駐留在ram存儲(chǔ)器、閃存、rom存儲(chǔ)器、eprom存儲(chǔ)器、eeprom存儲(chǔ)器、寄存器、硬盤(pán)、可移動(dòng)盤(pán)、cd-rom、或本領(lǐng)域中所知的任何其他形式的存儲(chǔ)介質(zhì)中。示例性存儲(chǔ)介質(zhì)耦合到處理器以使得該處理器能從/向該存儲(chǔ)介質(zhì)讀取和寫(xiě)入信息。在替換方案中,存儲(chǔ)介質(zhì)可以被整合到處理器。處理器和存儲(chǔ)介質(zhì)可駐留在asic中。asic可駐留在用戶終端中。在替換方案中,處理器和存儲(chǔ)介質(zhì)可作為分立組件駐留在用戶終端中。
在一個(gè)或多個(gè)示例性實(shí)施例中,所描述的功能可在硬件、軟件、固件或其任何組合中實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn)為計(jì)算機(jī)程序產(chǎn)品,則各功能可以作為一條或更多條指令或代碼存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上或藉其進(jìn)行傳送。計(jì)算機(jī)可讀介質(zhì)包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)兩者,其包括促成計(jì)算機(jī)程序從一地向另一地轉(zhuǎn)移的任何介質(zhì)。存儲(chǔ)介質(zhì)可以是能被計(jì)算機(jī)訪問(wèn)的任何可用介質(zhì)。作為示例而非限定,這樣的計(jì)算機(jī)可讀介質(zhì)可包括ram、rom、eeprom、cd-rom或其它光盤(pán)存儲(chǔ)、磁盤(pán)存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或能被用來(lái)攜帶或存儲(chǔ)指令或數(shù)據(jù)結(jié)構(gòu)形式的合意程序代碼且能被計(jì)算機(jī)訪問(wèn)的任何其它介質(zhì)。任何連接也被正當(dāng)?shù)胤Q為計(jì)算機(jī)可讀介質(zhì)。例如,如果軟件是使用同軸電纜、光纖電纜、雙絞線、數(shù)字訂戶線(dsl)、或諸如紅外、無(wú)線電、以及微波之類的無(wú)線技術(shù)從web網(wǎng)站、服務(wù)器、或其它遠(yuǎn)程源傳送而來(lái),則該同軸電纜、光纖電纜、雙絞線、dsl、或諸如紅外、無(wú)線電、以及微波之類的無(wú)線技術(shù)就被包括在介質(zhì)的定義之中。如本文中所使用的盤(pán)(disk)和碟(disc)包括壓縮碟(cd)、激光碟、光碟、數(shù)字多用碟(dvd)、軟盤(pán)和藍(lán)光碟,其中盤(pán)(disk)往往以磁的方式再現(xiàn)數(shù)據(jù),而碟(disc)用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
雖然本發(fā)明已參照當(dāng)前的具體實(shí)施例來(lái)描述,但是本技術(shù)領(lǐng)域中的普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,以上的實(shí)施例僅是用來(lái)說(shuō)明本發(fā)明,在沒(méi)有脫離本發(fā)明精神的情況下還可作出各種等效的變化或替換,因此,只要在本發(fā)明的實(shí)質(zhì)精神范圍內(nèi)對(duì)上述實(shí)施例的變化、變型都將落在本申請(qǐng)的權(quán)利要求書(shū)的范圍內(nèi)。