
本申請(qǐng)涉及通信
技術(shù)領(lǐng)域:
,特別涉及對(duì)緩存資源更新檢查的方法及裝置。
背景技術(shù):
:CDN(ContentDeliveryNetwork,內(nèi)容分發(fā)網(wǎng)絡(luò))是構(gòu)建在現(xiàn)有互聯(lián)網(wǎng)基礎(chǔ)上的一層智能虛擬網(wǎng)絡(luò),通過(guò)廣泛部署各種緩存服務(wù)器以及使用全局負(fù)載技術(shù),可以將用戶的請(qǐng)求重新導(dǎo)向離用戶最近的緩存服務(wù)器上,以解決Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問(wèn)網(wǎng)站的響應(yīng)速度。由于緩存服務(wù)器上的資源可能出現(xiàn)資源過(guò)期的問(wèn)題,所以需要及時(shí)對(duì)緩存的資源進(jìn)行更新檢查?,F(xiàn)有技術(shù)中,緩存服務(wù)器定期對(duì)緩存的每個(gè)資源進(jìn)行檢查,通過(guò)比較緩存資源與源網(wǎng)站的最新資源來(lái)確定緩存資源是否過(guò)期,然后更新過(guò)期的緩存資源。可見(jiàn),現(xiàn)有技術(shù)每次更新都需要檢查所有的緩存資源,更新效率較低。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供更新緩存資源的方法和裝置,用于解決現(xiàn)有緩存資源更新效率較低的問(wèn)題。根據(jù)本發(fā)明實(shí)施例的第一方面,提供一種更新緩存資源的方法,所述方法應(yīng)用于內(nèi)容分發(fā)網(wǎng)絡(luò)CDN的緩存服務(wù)器,所述方法包括:接收用戶端的資源請(qǐng)求報(bào)文,所述資源請(qǐng)求報(bào)文包含所請(qǐng)求目標(biāo)資源的目標(biāo)資源信息;在預(yù)先創(chuàng)建的命中表中查找所述目標(biāo)資源信息,所述命中表用于保存已下載到本地的緩存資源的資源信息與老化時(shí)間的對(duì)應(yīng)關(guān)系;如果未在命中表中查找到所述目標(biāo)資源信息,且本地已緩存所述目標(biāo)資源,則檢查所述目標(biāo)資源是否需要更新,如果是,則更新所述目標(biāo)資源,并將所述目標(biāo)資源信息及為所述目標(biāo)資源設(shè)置的老化時(shí)間加入所述命中表。根據(jù)本發(fā)明實(shí)施例的第二方面,提供一種更新緩存資源的裝置,所述裝置應(yīng)用于內(nèi)容分發(fā)網(wǎng)絡(luò)CDN的緩存服務(wù)器,所述裝置包括:接收單元,用于接收用戶端的資源請(qǐng)求報(bào)文,所述資源請(qǐng)求報(bào)文包含所請(qǐng)求目標(biāo)資源的目標(biāo)資源信息;查找單元,用于在預(yù)先創(chuàng)建的命中表中查找所述目標(biāo)資源信息,所述命中表用于保存已下載到本地的緩存資源的資源信息與老化時(shí)間的對(duì)應(yīng)關(guān)系;檢查單元,用于如果未在命中表中查找到所述目標(biāo)資源信息,且本地已緩存所述目標(biāo)資源,則檢查所述目標(biāo)資源是否需要更新;更新單元,如果檢查所述目標(biāo)資源后確定需要更新,則更新所述目標(biāo)資源,并將所述目標(biāo)資源信息及為所述目標(biāo)資源設(shè)置的老化時(shí)間加入所述命中表。由以上技術(shù)方案可見(jiàn),本發(fā)明實(shí)施例在緩存服務(wù)器中引入了包含緩存資源信息的命中表,通過(guò)為緩存資源信息設(shè)置老化時(shí)間,只對(duì)老化時(shí)間到達(dá)且被局域網(wǎng)內(nèi)用戶請(qǐng)求的緩存資源進(jìn)行更新檢查以及更新。實(shí)現(xiàn)了在保證緩存資源命中率的情況下,對(duì)緩存資源更新檢查的范圍的縮小,提高了更新效率。附圖說(shuō)明圖1為本發(fā)明實(shí)施例更新緩存資源的方法的一個(gè)應(yīng)用場(chǎng)景示意圖;圖2為本發(fā)明更新緩存資源的方法的一個(gè)實(shí)施例流程圖;圖3為本發(fā)明更新緩存資源的方法的另一個(gè)實(shí)施例流程圖;圖4為本發(fā)明更新緩存資源的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖;圖5為本發(fā)明更新緩存資源的裝置的一個(gè)實(shí)施例框圖。具體實(shí)施方式為了使本
技術(shù)領(lǐng)域:
的人員更好的理解本發(fā)明實(shí)施例中的技術(shù)方案,并使本發(fā)明實(shí)施例的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例中的技術(shù)方案作進(jìn)一步詳細(xì)的說(shuō)明。參見(jiàn)圖1,為本發(fā)明實(shí)施例更新緩存資源的方法的一個(gè)應(yīng)用場(chǎng)景示意圖。如圖1所示,該應(yīng)用場(chǎng)景中可以包括:設(shè)置在局域網(wǎng)內(nèi)的N臺(tái)用戶端、CDN系統(tǒng)以及在互聯(lián)網(wǎng)內(nèi)的資源網(wǎng)站。其中,每臺(tái)用戶端都可以通過(guò)局域網(wǎng)出口向資源網(wǎng)站請(qǐng)求資源。CDN系統(tǒng)部署在上述局域網(wǎng)與資源網(wǎng)站之間,可以通過(guò)互聯(lián)網(wǎng)與資源網(wǎng)站進(jìn)行通信,包含緩存服務(wù)器以及CDN上層系統(tǒng)。其中,緩存服務(wù)器旁路部署在所示局域網(wǎng)出口處,并接入該局域網(wǎng)。當(dāng)局域網(wǎng)內(nèi)的用戶通過(guò)用戶端首次請(qǐng)求互聯(lián)網(wǎng)內(nèi)的某一資源時(shí),緩存服務(wù)器將在本地緩存一份該資源的副本,當(dāng)局域網(wǎng)內(nèi)的其他用戶端再次請(qǐng)求這一資源時(shí),由緩存服務(wù)器直接向其他用戶端提供該資源。但是,當(dāng)互聯(lián)網(wǎng)中的資源更新時(shí),緩存服務(wù)器上緩存的該資源副本可能出現(xiàn)資源過(guò)期的問(wèn)題,所以需要對(duì)緩存的資源進(jìn)行更新。以對(duì)圖1所示緩存服務(wù)器中緩存資源的更新為例,現(xiàn)有技術(shù)中,緩存服務(wù)器中會(huì)設(shè)定一個(gè)緩存更新周期,更新周期到達(dá)時(shí)將對(duì)自身的每個(gè)緩存資源進(jìn)行檢查,如果某個(gè)緩存資源過(guò)期,則對(duì)其進(jìn)行更新??梢?jiàn),現(xiàn)有技術(shù)由于每個(gè)更新周期都需要檢查本地緩存的所有資源,因此更新效率較低。本發(fā)明實(shí)施例中,在緩存服務(wù)器中引入了包含緩存資源信息的命中表,通過(guò)為緩存資源信息設(shè)置老化時(shí)間。只對(duì)老化時(shí)間到達(dá)且被局域網(wǎng)內(nèi)用戶請(qǐng)求的緩存資源進(jìn)行更新檢查以及更新。實(shí)現(xiàn)了在保證緩存資源命中率的情況下,對(duì)緩存資源更新檢查的范圍的縮小,提高了更新效率。下面結(jié)合圖1示出的應(yīng)用場(chǎng)景,對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)說(shuō)明。參見(jiàn)圖2,圖2為本發(fā)明更新緩存資源的方法的一個(gè)實(shí)施例流程圖,該實(shí)施例應(yīng)用于緩存服務(wù)器,包括以下步驟:步驟201:接收用戶端的資源請(qǐng)求報(bào)文,所述資源請(qǐng)求報(bào)文包含所請(qǐng)求目標(biāo)資源的目標(biāo)資源信息。在一個(gè)可選的方式中,當(dāng)局域網(wǎng)內(nèi)的用戶端向資源網(wǎng)站發(fā)送資源請(qǐng)求報(bào)文時(shí),旁路部署在該局域網(wǎng)的出口的緩存服務(wù)器復(fù)制該資源請(qǐng)求報(bào)文。本步驟中的目標(biāo)資源信息可以是目標(biāo)資源的URL(UniformResourceLocator,統(tǒng)一資源定位符),也可以是根據(jù)目標(biāo)資源的URL以及散列函數(shù)算得的散列值。步驟202:在預(yù)先創(chuàng)建的命中表中查找所述目標(biāo)資源信息,所述命中表用于保存已下載到本地的緩存資源的資源信息與老化時(shí)間的對(duì)應(yīng)關(guān)系。本步驟中,如果緩存服務(wù)器首次緩存了某一資源,可以將該緩存資源的資源信息加入上述命中表并設(shè)置對(duì)應(yīng)的老化時(shí)間。在一個(gè)可選的方式中,可以通過(guò)統(tǒng)計(jì)某一本地緩存資源在上一老化周期內(nèi)的命中率來(lái)設(shè)置緩存資源的資源信息所對(duì)應(yīng)老化時(shí)間。其中,命中率可以通過(guò)平均該本地緩存資源每小時(shí)的命中次數(shù)表示。老化時(shí)間可以與該本地緩存資源的上一老化周期內(nèi)的平均每小時(shí)的命中次數(shù)成反比,例如,上一老化周期內(nèi)的平均每小時(shí)的命中次數(shù)越高,則當(dāng)前老化周期內(nèi)的老化時(shí)間越短。如果該本地緩存資源的資源信息是首次加入命中表,則可以將該資源信息對(duì)應(yīng)的老化時(shí)間設(shè)定為默認(rèn)值,該默認(rèn)值可以由管理員設(shè)定。在另一個(gè)可選的方式中,上述本地緩存資源的資源信息可以是本地緩存資源的URL,也可以是根據(jù)本地緩存資源的URL以及散列函數(shù)算得的散列值。步驟203:如果未在命中表中查找到所述目標(biāo)資源信息,且本地已緩存所述目標(biāo)資源,則檢查所述目標(biāo)資源是否需要更新,如果是,則更新所述目標(biāo)資源,并將所述目標(biāo)資源信息及為所述目標(biāo)資源設(shè)置的老化時(shí)間加入所述命中表。在一個(gè)可選的方式中,假設(shè)資源信息包含URL,則緩存服務(wù)器根據(jù)目標(biāo)資源的URL,從目標(biāo)資源的源網(wǎng)站獲取當(dāng)前資源的文件信息;比較目標(biāo)資源的文件信息與當(dāng)前資源的文件信息是否一致,如果一致,則判定該目標(biāo)資源不需要更新,如果不一致,則判定該目標(biāo)資源需要更新為上述當(dāng)前資源。在另一個(gè)可選的方式中,上述文件信息可以為以下所列文件信息中的任一個(gè),或任意多個(gè)的組合:資源大小、資源的最新修改時(shí)間、源網(wǎng)站對(duì)該資源設(shè)定的資源標(biāo)識(shí)以及源網(wǎng)站對(duì)該資源設(shè)定的資源過(guò)期時(shí)間等。由以上實(shí)施例可見(jiàn),本發(fā)明實(shí)施例在緩存服務(wù)器中引入了包含緩存資源信息的命中表,通過(guò)為緩存資源信息設(shè)置老化時(shí)間,只對(duì)老化時(shí)間到達(dá)且被局域網(wǎng)內(nèi)用戶請(qǐng)求的緩存資源進(jìn)行更新檢查以及更新。實(shí)現(xiàn)了在保證緩存資源命中率的情況下,對(duì)緩存資源更新檢查的范圍的縮小,提高了更新效率。參見(jiàn)圖3,圖3為本發(fā)明更新緩存資源的方法的另一個(gè)實(shí)施例流程圖,該實(shí)施例從緩存服務(wù)器側(cè)對(duì)目標(biāo)資源的更新檢查過(guò)程以及資源信息的老化時(shí)間設(shè)置過(guò)程進(jìn)行了詳細(xì)描述,包括以下步驟:步驟301:創(chuàng)建命中表,該命中表用于保存已下載到本地的緩存資源的URL,以及與各URL對(duì)應(yīng)的老化時(shí)間。在一個(gè)可選的方式中,上述命中表還可以包括本地緩存資源的命中次數(shù),具體的,可以在命中表中為緩存資源的URL設(shè)置與其對(duì)應(yīng)的計(jì)數(shù)器,如果本地緩存資源被命中,則該緩存資源URL所對(duì)應(yīng)的計(jì)數(shù)器加1。在另一個(gè)可選的方式中,除了可以用ULR唯一標(biāo)識(shí)一個(gè)本地緩存資源外,也可以由本地緩存資源的URL以及散列函數(shù)得到緩存資源URL對(duì)應(yīng)的散列值,通過(guò)該散列值唯一標(biāo)識(shí)一個(gè)本地緩存資源,相應(yīng)的,命中表中保存散列值以及與各散列值對(duì)應(yīng)的老化時(shí)間。步驟302:接收用戶端的資源請(qǐng)求報(bào)文,該資源請(qǐng)求報(bào)文包含所請(qǐng)求目標(biāo)資源的URL。在一個(gè)可選的方式中,如果上述命中表中保存了散列值以及與各散列值對(duì)應(yīng)的老化時(shí)間,則上述資源請(qǐng)求報(bào)文也可以相應(yīng)包含根據(jù)目標(biāo)資源的URL以及散列函數(shù)得到的散列值。步驟303:判斷該命中表中是否包含該目標(biāo)資源的URL,如果是則執(zhí)行步驟304,如果否則執(zhí)行步驟305。步驟304:從本地緩存將該目標(biāo)資源返回給用戶端,結(jié)束當(dāng)前流程。在一個(gè)可選的方式中,如果在命中表中為緩存資源的URL或散列值設(shè)置了與其對(duì)應(yīng)的計(jì)數(shù)器,則可以在緩存服務(wù)器將該目標(biāo)資源返回給用戶端后,對(duì)該目標(biāo)資源對(duì)應(yīng)的計(jì)數(shù)器加1。步驟305:判斷本地是否緩存該目標(biāo)資源,如果是則執(zhí)行步驟307,如果否則執(zhí)行步驟306。在一個(gè)可選的方式中,可以通過(guò)在本地緩存中查找該目標(biāo)資源的URL來(lái)判定本地是否緩存該目標(biāo)資源,如果可以找到該URL,則確定本地已存該目標(biāo)資源,如果未找到該URL,則確定本地未緩存該目標(biāo)資源。步驟306:根據(jù)該目標(biāo)資源的URL下載該目標(biāo)資源到本地緩存,將下載的目標(biāo)資源返回給用戶端,將該URL加入命中表并設(shè)置與該URL對(duì)應(yīng)的老化時(shí)間,結(jié)束當(dāng)前流程。在一個(gè)可選的方式中,上述老化時(shí)間的默認(rèn)值由管理員根據(jù)需要自行設(shè)定,例如:管理員將該默認(rèn)值設(shè)置為2小時(shí),則兩小時(shí)后該老化時(shí)間到達(dá)后,緩存服務(wù)器將該目標(biāo)資源的URL從命中表中刪除。在另一個(gè)可選的方式中,如果上述命中表包括本地緩存資源的命中次數(shù),則可以為該URL設(shè)置與其對(duì)應(yīng)的計(jì)數(shù)器,如果本地緩存資源被命中,則該緩存資源URL所對(duì)應(yīng)的計(jì)數(shù)器加1。步驟307:統(tǒng)計(jì)該目標(biāo)資源在上一老化周期內(nèi)的平均每小時(shí)命中次數(shù),根據(jù)該命中次數(shù)獲得該目標(biāo)資源的老化時(shí)間。在一個(gè)可選的方式中,可以將命中表中該目標(biāo)資源URL對(duì)應(yīng)的計(jì)數(shù)器的計(jì)數(shù)值除以該目標(biāo)資源URL對(duì)應(yīng)的老化時(shí)間算得上述平均每小時(shí)命中次數(shù)。然后根據(jù)預(yù)設(shè)的每小時(shí)命中次數(shù)與老化時(shí)間的對(duì)應(yīng)關(guān)系,獲得該目標(biāo)資源的老化時(shí)間。如下表1所示,為本實(shí)施例中每小時(shí)命中次數(shù)與老化時(shí)間的對(duì)應(yīng)關(guān)系的示例:表1每小時(shí)命中次數(shù)老化時(shí)間≥20次1小時(shí)≥10次2小時(shí)≥5次5小時(shí)≥2次10小時(shí)≥0次20小時(shí)步驟308:根據(jù)該目標(biāo)資源的URL從該目標(biāo)資源的源網(wǎng)站獲取當(dāng)前資源的文件信息。本步驟中,當(dāng)前資源是指目標(biāo)資源URL在目標(biāo)資源的源網(wǎng)站當(dāng)前對(duì)應(yīng)的資源。為保證時(shí)效性,該目標(biāo)資源的源網(wǎng)站可能會(huì)對(duì)網(wǎng)站內(nèi)保存的資源進(jìn)行更新,如果源網(wǎng)站已經(jīng)對(duì)該目標(biāo)資源進(jìn)行了更新,而該目標(biāo)資源仍然保存在緩存服務(wù)器上以供局域網(wǎng)內(nèi)的用戶端下載,則會(huì)造成誤命中。所以當(dāng)目標(biāo)資源的老化時(shí)間達(dá)到后,需要按照目標(biāo)資源的URL從目標(biāo)資源的源網(wǎng)站獲取當(dāng)前資源的文件信息,以確定是否需要更新該目標(biāo)資源。在另一個(gè)可選的方式中,上述文件信息可以為以下所列文件信息中的任一個(gè),或任意多個(gè)的組合:資源大小、資源的最新修改時(shí)間、源網(wǎng)站對(duì)該資源設(shè)定的資源標(biāo)識(shí)以及源網(wǎng)站對(duì)該資源設(shè)定的資源過(guò)期時(shí)間等。步驟309:比較該目標(biāo)資源的文件信息與當(dāng)前資源的文件信息是否一致,如果是則執(zhí)行步驟310,如果否則執(zhí)行步驟311。步驟310:將該目標(biāo)資源返回給用戶端,將該URL加入命中表并為該URL設(shè)置老化時(shí)間,結(jié)束當(dāng)前流程。在一個(gè)可選的方式中,如果上述命中表包括本地緩存資源的命中次數(shù),則可以為該URL設(shè)置與其對(duì)應(yīng)的計(jì)數(shù)器,如果本地緩存資源被命中,則該緩存資源URL所對(duì)應(yīng)的計(jì)數(shù)器加1。步驟311:根據(jù)該目標(biāo)資源的URL在本地緩存更新該目標(biāo)資源,將更新的目標(biāo)資源返回給用戶端,將該URL加入命中表并為該URL設(shè)置老化時(shí)間,結(jié)束當(dāng)前流程。在一個(gè)可選的方式中,如果上述命中表包括本地緩存資源的命中次數(shù),則可以為該URL設(shè)置與其對(duì)應(yīng)的計(jì)數(shù)器,如果本地緩存資源被命中,則該緩存資源URL所對(duì)應(yīng)的計(jì)數(shù)器加1。由上述實(shí)施例可見(jiàn),一方面,本發(fā)明實(shí)施例在緩存服務(wù)器中引入了包含緩存資源URL的命中表,通過(guò)為緩存資源的URL設(shè)置老化時(shí)間,只對(duì)老化時(shí)間到達(dá)且被局域網(wǎng)內(nèi)用戶請(qǐng)求的緩存資源進(jìn)行更新檢查以及更新。實(shí)現(xiàn)了在保證緩存資源命中率的情況下,對(duì)緩存資源更新檢查的范圍的縮小,提高了更新效率。另一方面,本發(fā)明實(shí)施例通過(guò)統(tǒng)計(jì)每個(gè)緩存資源的命中率,將緩存資源的命中率與緩存資源URL的老化時(shí)間相關(guān)聯(lián),使得命中頻率越高的資源更新檢查越頻繁,降低了誤命中風(fēng)險(xiǎn),提高了安全性。再一方面,本發(fā)明實(shí)施例根據(jù)資源請(qǐng)求報(bào)文中包含的目標(biāo)資源的URL對(duì)緩存的目標(biāo)資源進(jìn)行檢查更新,實(shí)現(xiàn)了在目標(biāo)資源源網(wǎng)站中目標(biāo)資源URL已經(jīng)更新的情況下對(duì)該目標(biāo)資源的更新檢查以及下載緩存,克服了目標(biāo)資源URL過(guò)期的風(fēng)險(xiǎn),提高了更新的穩(wěn)定性。下面通過(guò)一個(gè)具體的應(yīng)用實(shí)例對(duì)本發(fā)明實(shí)施例進(jìn)行說(shuō)明,該應(yīng)用實(shí)例結(jié)合圖1示出的應(yīng)用場(chǎng)景進(jìn)行描述。假設(shè)圖1所示局域網(wǎng)中共有500個(gè)用戶端,即N=500,其中包含所示用戶端1和用戶端2。假設(shè)用戶端2已經(jīng)訪問(wèn)過(guò)某音樂(lè)網(wǎng)站并下載過(guò)文件paomo.mp3。現(xiàn)在用戶端1要訪問(wèn)某音樂(lè)網(wǎng)站下載文件paomo.mp3,但該音樂(lè)網(wǎng)站已經(jīng)對(duì)paomo.mp3進(jìn)行了品質(zhì)升級(jí),用高品質(zhì)的歌曲文件替換了原文件。用戶端1發(fā)出資源請(qǐng)求報(bào)文,旁路部署在該局域網(wǎng)的出口的緩存服務(wù)器復(fù)制該資源請(qǐng)求報(bào)文后,從該資源請(qǐng)求報(bào)文中提取所請(qǐng)求目標(biāo)資源的URL為https://www.xxx.com/music/paomo.mp3。緩存服務(wù)器2查找其保存的命中表,如果查找結(jié)果為命中表中并不包含https://www.xxx.com/music/paomo.mp3,則緩存服務(wù)器2繼續(xù)在本地緩存查找https://www.xxx.com/music/paomo.mp3。緩存服務(wù)器2在本地緩存找到該URL后,訪問(wèn)https://www.xxx.com/music/paomo.mp3,獲取當(dāng)前文件paomo.mp3的文件大小為10MB。緩存服務(wù)器2獲取本地緩存文件paomo.mp3的文件大小為5MB,比較后發(fā)現(xiàn)文件大小不一致,確定本地緩存文件paomo.mp3需要更新。緩存服務(wù)器2根據(jù)https://www.xxx.com/music/paomo.mp3下載當(dāng)前文件paomo.mp3,并將最新下載的文件paomo.mp3返回給用戶端1。緩存服務(wù)器2通過(guò)預(yù)設(shè)的計(jì)數(shù)器統(tǒng)計(jì)得到本地緩存文件paomo.mp3在上一個(gè)老化周期(10小時(shí))內(nèi)共計(jì)被命中20次,平均每小時(shí)命中次數(shù)為2。查詢表1得到本次老化周期的老化時(shí)間應(yīng)為10小時(shí)。緩存服務(wù)器2將https://www.xxx.com/music/paomo.mp3加入命中表,為其設(shè)定10小時(shí)的老化時(shí)間以及對(duì)應(yīng)的新的計(jì)數(shù)器。當(dāng)其10小時(shí)的老化時(shí)間到達(dá)時(shí),將https://www.xxx.com/music/paomo.mp3從命中表刪除并保存其對(duì)應(yīng)計(jì)數(shù)器統(tǒng)計(jì)的命中計(jì)數(shù)。與前述更新緩存資源的方法的實(shí)施例相對(duì)應(yīng),本申請(qǐng)還提供了更新緩存資源的裝置的實(shí)施例。本申請(qǐng)更新緩存資源的裝置的實(shí)施例可以應(yīng)用在內(nèi)容分發(fā)網(wǎng)絡(luò)的緩存服務(wù)器上。裝置實(shí)施例可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在設(shè)備的處理器將非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令讀取到內(nèi)存中運(yùn)行形成的。從硬件層面而言,如圖4所示,為本申請(qǐng)更新緩存資源的裝置所在設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖4所示的處理器、內(nèi)存、網(wǎng)絡(luò)接口、以及非易失性存儲(chǔ)器之外,實(shí)施例中裝置所在的設(shè)備通常根據(jù)該設(shè)備的實(shí)際功能,還可以包括其他硬件,對(duì)此不再贅述。請(qǐng)參考圖5,為本發(fā)明更新緩存資源的裝置的一個(gè)實(shí)施例框圖,所述裝置應(yīng)用于內(nèi)容分發(fā)網(wǎng)絡(luò)CDN的緩存服務(wù)器,所述裝置包括:接收單元510,查找單元520,檢查單元530,更新單元540,添加單元550。其中,接收單元510,用于接收用戶端的資源請(qǐng)求報(bào)文,所述資源請(qǐng)求報(bào)文包含所請(qǐng)求目標(biāo)資源的目標(biāo)資源信息;查找單元520,用于在預(yù)先創(chuàng)建的命中表中查找所述目標(biāo)資源信息,所述命中表用于保存已下載到本地的緩存資源的資源信息與老化時(shí)間的對(duì)應(yīng)關(guān)系;檢查單元530,用于如果未在命中表中查找到所述目標(biāo)資源信息,且本地已緩存所述目標(biāo)資源,則檢查所述目標(biāo)資源是否需要更新;更新單元540,如果所述檢查單元的檢查結(jié)果為需要更新,則更新所述目標(biāo)資源,并將所述目標(biāo)資源信息及為所述目標(biāo)資源設(shè)置的老化時(shí)間加入所述命中表;添加單元550,用于更新單元更新所述目標(biāo)資源后,將所述目標(biāo)資源信息及為所述目標(biāo)資源設(shè)置的老化時(shí)間加入所述命中表。由以上實(shí)施例可見(jiàn),該施例在緩存服務(wù)器中引入了包含緩存資源信息的命中表,通過(guò)為緩存資源信息設(shè)置老化時(shí)間,只對(duì)老化時(shí)間到達(dá)且被局域網(wǎng)內(nèi)用戶請(qǐng)求的緩存資源進(jìn)行更新檢查以及更新。實(shí)現(xiàn)了在保證緩存資源命中率的情況下,對(duì)緩存資源更新檢查的范圍的縮小,提高了更新效率。在一個(gè)可選的例子中,所述裝置還包括(圖5中未示出):下載單元。下載單元,用于如果未在本地緩存中找到所述目標(biāo)資源,則下載所述目標(biāo)資源;所述添加單元550,還用于下載單元下載所述目標(biāo)資源后,將所述目標(biāo)資源信息及為所述目標(biāo)資源設(shè)置的老化時(shí)間加入所述命中表;所述添加單元550,還用于如果所述檢查單元的檢查結(jié)果為不需要更新,則將所述目標(biāo)資源信息及為所述目標(biāo)資源設(shè)置的老化時(shí)間加入所述命中表。在另一個(gè)可選的例子中,所述目標(biāo)資源信息包括:所述目標(biāo)資源的統(tǒng)一資源定位符URL;所述檢查單元530包括(圖5中未示出):文件信息獲取子單元,文件信息比較子單元。其中,文件信息獲取子單元,用于根據(jù)所述目標(biāo)資源的URL,從所述目標(biāo)資源的源網(wǎng)站獲取當(dāng)前資源的文件信息;文件信息比較子單元,比較所述目標(biāo)資源的文件信息與所述當(dāng)前資源的文件信息是否一致,如果一致,則確定所述目標(biāo)資源不需要更新,如果不一致,則確定所述目標(biāo)資源需要更新為所述當(dāng)前資源。在另一個(gè)可選的例子中,所述裝置還包括(圖5中未示出):設(shè)置單元。設(shè)置單元,用于統(tǒng)計(jì)所述目標(biāo)資源在上一老化周期內(nèi)的命中率,并根據(jù)所述命中率設(shè)置所述目標(biāo)資源在本次老化周期內(nèi)的老化時(shí)間,其中,所述本次老化周期內(nèi)的老化時(shí)間與所述命中率成反比。由上述實(shí)施例可見(jiàn),一方面,本發(fā)明實(shí)施例在緩存服務(wù)器中引入了包含緩存資源信息的命中表,通過(guò)為緩存資源信息設(shè)置老化時(shí)間,只對(duì)老化時(shí)間到達(dá)且被局域網(wǎng)內(nèi)用戶請(qǐng)求的緩存資源進(jìn)行更新檢查以及更新。實(shí)現(xiàn)了在保證緩存資源命中率的情況下,對(duì)緩存資源更新檢查的范圍的縮小,提高了更新效率。另一方面,本發(fā)明實(shí)施例通過(guò)統(tǒng)計(jì)每個(gè)緩存資源的命中率,將緩存資源的命中率與緩存資源URL的老化時(shí)間相關(guān)聯(lián),使得命中頻率越高的資源更新檢查越頻繁,降低了誤命中風(fēng)險(xiǎn),提高了安全性。再一方面,本發(fā)明實(shí)施例根據(jù)資源請(qǐng)求報(bào)文中包含的目標(biāo)資源的URL對(duì)緩存的目標(biāo)資源進(jìn)行檢查更新,實(shí)現(xiàn)了在目標(biāo)資源源網(wǎng)站中目標(biāo)資源URL已經(jīng)更新的情況下對(duì)該目標(biāo)資源的更新檢查以及下載緩存,克服了目標(biāo)資源URL過(guò)期的風(fēng)險(xiǎn),提高了更新的穩(wěn)定性。上述裝置中各個(gè)單元的功能和作用的實(shí)現(xiàn)過(guò)程具體詳見(jiàn)上述方法中對(duì)應(yīng)步驟的實(shí)現(xiàn)過(guò)程,在此不再贅述。對(duì)于裝置實(shí)施例而言,由于其基本對(duì)應(yīng)于方法實(shí)施例,所以相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本申請(qǐng)方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上所述僅為本申請(qǐng)的較佳實(shí)施例而已,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)保護(hù)的范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3