專利名稱:數(shù)據(jù)緩存方法和裝置的制作方法
數(shù)據(jù)緩存方法和裝置技術(shù)領(lǐng)域
本申請涉及網(wǎng)絡(luò)通信技術(shù),特別涉及數(shù)據(jù)緩存方法和裝置。
背景技術(shù):
內(nèi)容分發(fā)網(wǎng)絡(luò)(⑶N)是一種新型網(wǎng)絡(luò)構(gòu)建方式,它是為能在傳統(tǒng)的IP網(wǎng)發(fā)布寬帶豐富媒體而特別優(yōu)化的網(wǎng)絡(luò)覆蓋層,代表了一種基于質(zhì)量與秩序的網(wǎng)絡(luò)服務(wù)模式。簡單地說,⑶N是一個(gè)經(jīng)策略性部署的整體系統(tǒng),包括分布式存儲、負(fù)載均衡、網(wǎng)絡(luò)請求的重定向和內(nèi)容管理4部分,而內(nèi)容管理是⑶N的核心之一。通過用戶就近性和服務(wù)器負(fù)載的判斷,⑶N確保數(shù)據(jù)內(nèi)容以一種極為高效的方式為用戶的請求提供服務(wù)。
總的來說,內(nèi)容管理基于緩存服務(wù)器,也稱作代理緩存(Cache)服務(wù)器,以下均以Cache服務(wù)器為例進(jìn)行描述。Cache服務(wù)器位于網(wǎng)絡(luò)的邊緣,距用戶僅有〃 一跳"(SingleHop)之遙。同時(shí),Cache服務(wù)器是內(nèi)容提供商源服務(wù)器的一個(gè)透明鏡像。這樣的架構(gòu)使得CDN服務(wù)提供商能夠代表他們客戶即內(nèi)容供應(yīng)商,向用戶提供盡可能好的體驗(yàn),而這些用戶是不能容忍請求響應(yīng)時(shí)間有任何延遲的。
如圖1所示,網(wǎng)絡(luò)邊緣部署了 Cache服務(wù)器,對靜態(tài)網(wǎng)頁、視頻等內(nèi)容提供本地緩存服務(wù),來提高用戶對這部分內(nèi)容的訪問速度和訪問質(zhì)量。用戶在通過網(wǎng)絡(luò)中的路由設(shè)備獲取內(nèi)容時(shí),由DNS服務(wù)器解析或邊緣設(shè)備的策略控制,把流量就近重定向到Cache服務(wù)器上,Cache服務(wù)器進(jìn)行本地查找,如果本地緩存了用戶要訪問的內(nèi)容,就不再向遠(yuǎn)端的內(nèi)容服務(wù)器發(fā)送請求,而是把本地緩存中的內(nèi)容發(fā)給用戶,提高了用戶訪問速度、并降低了遠(yuǎn)端服務(wù)器的負(fù)擔(dān)。如果本地沒有查找到用戶要訪問的內(nèi)容,則Cache服務(wù)器發(fā)起向遠(yuǎn)端內(nèi)容服務(wù)器發(fā)送請求來獲取相應(yīng)訪問內(nèi)容,在得到內(nèi)容服務(wù)器回復(fù)后,Cache服務(wù)器在把獲取到的內(nèi)容轉(zhuǎn)發(fā)給用戶的同時(shí),本地也緩存一份,以便在其他用戶訪問相同內(nèi)容時(shí),通過本地cache服務(wù)器提供。
但是,在上面針對內(nèi)容管理的描述中,由于在網(wǎng)絡(luò)邊緣增加獨(dú)立的Cache服務(wù)器,這會導(dǎo)致大量的投資費(fèi)用;并且,還需要DNS服務(wù)器、路由設(shè)備配合工作把流量就近重定向到Cache服務(wù)器上,這需要增加、修改相應(yīng)的網(wǎng)絡(luò)配置,給網(wǎng)絡(luò)帶來了不穩(wěn)定性隱患;還有,由于Cache服務(wù)器部署的位置受限,導(dǎo)致部分用戶訪問流量迂回(如圖1中黑色虛線所示的流量路徑)、做不到距離用戶只有“一跳”的最佳距離。發(fā)明內(nèi)容
本申請?zhí)峁┝藬?shù)據(jù)緩存方法和裝置,以避免先有數(shù)據(jù)內(nèi)容緩存帶來的技術(shù)問題。
本申請?zhí)峁┑募夹g(shù)方案包括:
一種數(shù)據(jù)緩存方法,該方法應(yīng)用于運(yùn)營商網(wǎng)絡(luò)中的路由設(shè)備,包括:
向相鄰路由設(shè)備通告本設(shè)備是否具有數(shù)據(jù)緩存能力的信息;
接收并記錄相鄰路由設(shè)備向本設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息;
接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備;
識別本設(shè)備是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息,
如果是,轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備;
如果否,在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。
一種數(shù)據(jù)緩存裝置,該裝置應(yīng)用于運(yùn)營商網(wǎng)絡(luò)中的路由設(shè)備,包括:
通告單元,用于向相鄰路由設(shè)備通告本設(shè)備是否具有數(shù)據(jù)緩存能力的信息;
記錄單元,用于接收并記錄相鄰路由設(shè)備向本設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息;
確定單元,用于接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備;
識別單元,用于識別所述記錄單元是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息;
處理單元,用于在所述識別單元的識別結(jié)果為是時(shí),轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備,以及用于在所述識別單元的識別結(jié)果為否時(shí),在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。
由以上技術(shù)方案可以看出,本發(fā)明中,通過相鄰路由設(shè)備之間相互通告自身是否具有數(shù)據(jù)緩存能力的信息,當(dāng)路由設(shè)備接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備,識別本設(shè)備是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息,如果是,轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備;如果否,在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備,這實(shí)現(xiàn)了把數(shù)據(jù)內(nèi)容緩存在最接近用戶的網(wǎng)絡(luò)邊緣設(shè)備上,以便該用戶再訪問同一數(shù)據(jù)內(nèi)容時(shí),直接從該最接近用戶的網(wǎng)絡(luò)邊緣設(shè)備上獲取即可,極大地提高了數(shù)據(jù)內(nèi)容訪問的速度和質(zhì)量;
另外,本發(fā)明中,充分利用路由設(shè)備本身的數(shù)據(jù)緩存能力,無需購置專門的內(nèi)容緩存其,節(jié)省投資;
還有,本發(fā)明中,路由設(shè)備根據(jù)路由協(xié)議和相互之間通告的信息實(shí)現(xiàn)內(nèi)容緩存,無需DNS、專用緩存服務(wù)器的配合,簡化網(wǎng)絡(luò)部署。
圖1為數(shù)據(jù)內(nèi)容組網(wǎng)示意圖2為本發(fā)明實(shí)施例提供的方法流程圖3為本發(fā)明實(shí)施例提供的通告報(bào)文的字段示意圖4為本發(fā)明實(shí)施例提供的實(shí)現(xiàn)組網(wǎng)圖5為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述。
目前一些主流廠商的路由設(shè)備都集成有獨(dú)立的開放應(yīng)用平臺(OAP)板卡,特別是部署在網(wǎng)絡(luò)邊緣的、且支持多業(yè)務(wù)的路由設(shè)備,其集成的OAP板卡的性能、功能已能夠與一些中低端服務(wù)器相匹敵?;诖?,本發(fā)明利用路由設(shè)備上的OAP板卡進(jìn)行本地內(nèi)容緩存,而無需部署專門的cache服務(wù)器。
下面對本發(fā)明提供的方法進(jìn)行描述:
參見圖2,圖2為本發(fā)明提供的方法流程圖。如圖2所示,該方法應(yīng)用于組網(wǎng)中的路由設(shè)備,包括以下步驟:
步驟201,路由設(shè)備向其相鄰的路由設(shè)備通告本設(shè)備是否具有數(shù)據(jù)緩存能力的信肩、O
這里,基于路由設(shè)備一般都集成有獨(dú)立的OAP板卡,而OAP板卡的性能足夠路由設(shè)備本地緩存一些數(shù)據(jù)內(nèi)容,基于此,本發(fā)明中,優(yōu)選地,當(dāng)路由設(shè)備集成了 OAP板卡,則確定路由設(shè)備具有數(shù)據(jù)緩存能力,向相鄰的路由設(shè)備通告本設(shè)備具有數(shù)據(jù)緩存能力的信息,反之,確定路由設(shè)備不具有數(shù)據(jù)緩存能力,向相鄰的路由設(shè)備通告本設(shè)備不具有數(shù)據(jù)緩存能力的信息。
步驟202,路由設(shè)備接收并記錄相鄰路由設(shè)備向本設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息。
作為本發(fā)明的一個(gè)實(shí)施例,在本發(fā)明中,為保證路由設(shè)備之間相互通告是否具有數(shù)據(jù)緩存能力的信息,本發(fā)明定義了位置識別協(xié)議(LIP:Location Identify Protocol)?;谠揕IP來供路由設(shè)備相互之間通告自身是否具有數(shù)據(jù)緩存能力信息。
其中,用于通告是否具有數(shù)據(jù)緩存能力信息可攜帶在具有圖3所示字段的報(bào)文中。這里,為便于描述,將該報(bào)文稱為通告報(bào)文。
在圖3中,通告報(bào)文包含的字段:目的IP地址字段、源IP地址字段、設(shè)備標(biāo)識(ID)字段、環(huán)回(Loopback)地址字段與現(xiàn)有報(bào)文轉(zhuǎn)發(fā)時(shí)包含的上述字段意義類似,這里不再贅述。
至于圖3示出的通告報(bào)文中的邊緣設(shè)備(BD =Boarder Device)標(biāo)識字段,其是可選的,因?yàn)樵诤罄m(xù)路由設(shè)備進(jìn)行數(shù)據(jù)內(nèi)容發(fā)送時(shí)還會進(jìn)行判斷?;诖?,當(dāng)路由設(shè)備發(fā)送的通告報(bào)文攜帶BD標(biāo)識字段時(shí),該BD標(biāo)識字段可包含以下內(nèi)容:路由設(shè)備為BD的第一標(biāo)識,以及路由設(shè)備不為BD的第二標(biāo)識。這里,在路由設(shè)備發(fā)送的通告報(bào)文攜帶BD標(biāo)識字段時(shí),該BD標(biāo)識字段具體包含第一標(biāo)識還是第二標(biāo)識,可有多種實(shí)現(xiàn)方式,比如,依據(jù)用于預(yù)先針對本設(shè)備的配置確定,當(dāng)本設(shè)備被配置為BD時(shí),BD標(biāo)識字段就為第一標(biāo)識,反之,BD標(biāo)識字段就為第二標(biāo)識;或者直接將BD標(biāo)識字段設(shè)置為第二標(biāo)識等,本發(fā)明并不具體限定。
至于圖3示出的通告報(bào)文中的緩存能力標(biāo)識字段,其包含以下內(nèi)容:具有數(shù)據(jù)緩存能力的標(biāo)識1,以及不具有數(shù)據(jù)緩存能力的標(biāo)識2,其中,當(dāng)一路由設(shè)備發(fā)送所述通告報(bào)文時(shí),如果該路由設(shè)備本地集成了 OAP板卡,則此時(shí)該通告報(bào)文的緩存能力標(biāo)識字段包含標(biāo)識1,反之,此時(shí)該通告報(bào)文的緩存能力標(biāo)識字段包含標(biāo)識2。
步驟203,路由設(shè)備接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備。
這里,可基于路由協(xié)議比如開放路徑最短協(xié)議(OSPF)等確定該數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備。此時(shí),該確定的下一跳設(shè)備可為一個(gè)路由設(shè)備,也可為用戶設(shè)備本身。
步驟204,路由設(shè)備識別本設(shè)備是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息,如果是,執(zhí)行步驟205,如果否,執(zhí)行步驟206。
步驟205,路由設(shè)備轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。返回上述步驟203。
本步驟205是在步驟204的識別結(jié)果為是時(shí)執(zhí)行,當(dāng)步驟204的識別結(jié)果為是,意味著數(shù)據(jù)內(nèi)容轉(zhuǎn)發(fā)至目的地還需要進(jìn)行一個(gè)具有數(shù)據(jù)緩存能力的路由設(shè)備,為保證數(shù)據(jù)內(nèi)容緩存在最接近用戶的邊緣路由設(shè)備上,此時(shí)本路由設(shè)備沒有必要緩存該數(shù)據(jù)內(nèi)容,而是直接轉(zhuǎn)發(fā)該數(shù)據(jù)內(nèi)容至下一跳設(shè)備。
步驟206,路由設(shè)備在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。
通過步驟206,能夠保證數(shù)據(jù)內(nèi)容緩存在最接近用戶、且具有數(shù)據(jù)緩存能力的邊緣路由設(shè)備上。
在本發(fā)明中,路由設(shè)備是否為距離所述用戶最近的邊緣設(shè)備可通過多種方式確定,下面僅舉出兩種實(shí)現(xiàn)方式:
方式1:
本方式I依據(jù)用于預(yù)先針對本路由設(shè)備的配置確定,當(dāng)本路由設(shè)備被配置為邊緣設(shè)備時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備,反之,確定本路由設(shè)備不為距離所述用戶最近的邊緣設(shè)備。
方式2:
本方式2相比于方式I,不依賴于用戶的配置,而是動態(tài)確定,具體為:
識別本設(shè)備是否已接收到所述下一跳設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息,
如果否,則確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備,
如果是,則在所述下一跳設(shè)備不具有數(shù)據(jù)緩存能力時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備,而在所述下一跳設(shè)備具有數(shù)據(jù)緩存能力時(shí),確定本設(shè)備不為距離所述用戶最近的邊緣設(shè)備。
需要說明的是,上述兩種方式只是一種舉例,并非用于限定本發(fā)明。
至此,完成圖2所示流程。
下面為使圖2所示流程更加清楚,通過一個(gè)實(shí)施例對圖2所示流程進(jìn)行描述:
以圖4所示的組網(wǎng)為例,在初始時(shí),RU R2、R3上都沒有緩存用戶I要訪問的數(shù)據(jù)內(nèi)容,基于此,當(dāng)用戶I發(fā)起數(shù)據(jù)訪問請求時(shí),該數(shù)據(jù)訪問請求會被轉(zhuǎn)發(fā)給圖4所示的內(nèi)容服務(wù)器以獲取需要訪問的數(shù)據(jù)內(nèi)容。
內(nèi)容服務(wù)器獲取用戶I需要訪問的數(shù)據(jù)內(nèi)容,通過報(bào)文封裝該數(shù)據(jù)內(nèi)容,此時(shí)將該報(bào)文記為響應(yīng)報(bào)文,并根據(jù)路由協(xié)議如OSPF等計(jì)算響應(yīng)報(bào)文需要轉(zhuǎn)發(fā)至的下一跳設(shè)備,假如該下一跳設(shè)備為Rl,則內(nèi)容服務(wù)器將響應(yīng)報(bào)文轉(zhuǎn)發(fā)給Rl。
Rl在接收到響應(yīng)報(bào)文時(shí),根據(jù)路由協(xié)議如OSPF等計(jì)算該接收的響應(yīng)報(bào)文需要轉(zhuǎn)發(fā)至的下一跳設(shè)備,假如此時(shí)計(jì)算出的下一跳設(shè)備為R2,則Rl根據(jù)LIP協(xié)議知道本Rl和R2之前已交互過通告報(bào)文,且本Rl在本地已記錄了 R2具有數(shù)據(jù)緩存能力,基于此,Rl直接轉(zhuǎn)發(fā)響應(yīng)報(bào)文,不在本地緩存該響應(yīng)報(bào)文攜帶的數(shù)據(jù)內(nèi)容。
同理,R2在接收到響應(yīng)報(bào)文時(shí),也根據(jù)路由協(xié)議如OSPF等計(jì)算該接收的響應(yīng)報(bào)文需要轉(zhuǎn)發(fā)至的下一跳設(shè)備,假如此時(shí)計(jì)算出的下一跳設(shè)備為R3,則R2根據(jù)LIP協(xié)議知道本R2和R3之前已交互過通告報(bào)文,且本R2在本地已記錄了 R3具有數(shù)據(jù)緩存能力,基于此,R2直接轉(zhuǎn)發(fā)響應(yīng)報(bào)文,不在本地緩存該響應(yīng)報(bào)文攜帶的數(shù)據(jù)內(nèi)容。
R3在收到響應(yīng)報(bào)文時(shí),也根據(jù)路由協(xié)議如OSPF等計(jì)算該接收的響應(yīng)報(bào)文需要轉(zhuǎn)發(fā)至的下一跳設(shè)備,假如此時(shí)計(jì)算出的下一跳設(shè)備為用戶1,R3根據(jù)LIP協(xié)議知道本R3和用戶I之前并未交互過通告報(bào)文,則在本R3具有數(shù)據(jù)緩存能力的前提下,認(rèn)為本R3是連接用戶I最近且具備數(shù)據(jù)緩存能力的邊緣設(shè)備,此時(shí),R3 一方面緩存該響應(yīng)報(bào)文攜帶的數(shù)據(jù)內(nèi)容,另一方面將該響應(yīng)報(bào)文轉(zhuǎn)發(fā)給計(jì)算出的下一跳設(shè)備即用戶I。這樣,即實(shí)現(xiàn)了智能地根據(jù)轉(zhuǎn)發(fā)內(nèi)容路徑判斷設(shè)備所處網(wǎng)絡(luò)位置,進(jìn)行本地內(nèi)容緩存的功能。
至此,完成上述實(shí)施例的描述。
優(yōu)選地,本發(fā)明中,組網(wǎng)中的路由設(shè)備還可進(jìn)一步包括以下步驟:
接收來自用戶的數(shù)據(jù)訪問請求;
識別本設(shè)備是否已緩存了所述數(shù)據(jù)訪問請求所請求的數(shù)據(jù)內(nèi)容,
如果是,則將緩存的所述數(shù)據(jù)內(nèi)容發(fā)送給所述用戶;
如果否,則向內(nèi)容服務(wù)器發(fā)送所述數(shù)據(jù)訪問請求。
仍以圖4所示的組網(wǎng)為例,在R3基于上面描述緩存了用戶I需要訪問的數(shù)據(jù)內(nèi)容后,下次用戶I再訪問相同的數(shù)據(jù)內(nèi)容時(shí),分別從R3的本地緩存中獲取即可,極大提高了內(nèi)容獲取的速度和質(zhì)量。
需要說明的是,本發(fā)明中,路由設(shè)備緩存的數(shù)據(jù)內(nèi)容可根據(jù)時(shí)間計(jì)數(shù)器或者內(nèi)存先進(jìn)先出的規(guī)則進(jìn)行更新,這里不再具體描述。
以上對本發(fā)明提供的方法進(jìn)行了描述,下面對本發(fā)明提供的裝置進(jìn)行描述:
參見圖5,圖5為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。該裝置應(yīng)用于運(yùn)營商網(wǎng)絡(luò)中的路由設(shè)備,如圖5所示,該裝置可包括:
通告單元,用于向相鄰路由設(shè)備通告本設(shè)備是否具有數(shù)據(jù)緩存能力的信息;
記錄單元,用于接收并記錄相鄰路由設(shè)備向本設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息;
確定單元,用于接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備;
識別單元,用于識別所述記錄單元是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息;
處理單元,用于在所述識別單元的識別結(jié)果為是時(shí),轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備,以及用于在所述識別單元的識別結(jié)果為否時(shí),在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。
優(yōu)選地,本發(fā)明中,所述處理單元通過以下步驟確定路由設(shè)備為距離所述用戶最近的邊緣設(shè)備:
依據(jù)本設(shè)備的配置確定,當(dāng)本設(shè)備被配置為邊緣設(shè)備時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備;或者,
識別本設(shè)備是否已接收到所述下一跳設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息,
如果否,則確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備,
如果是,則在所述下一跳設(shè)備不具有數(shù)據(jù)緩存能力時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備。
如圖5所示,所述裝置進(jìn)一步包括:
接收單元,用于接收來自用戶的數(shù)據(jù)訪問請求;
轉(zhuǎn)發(fā)單元,用于識別本設(shè)備是否已緩存了所述數(shù)據(jù)訪問請求所請求的數(shù)據(jù)內(nèi)容,如果是,則將緩存的所述數(shù)據(jù)內(nèi)容發(fā)送給所述用戶;如果否,則向內(nèi)容服務(wù)器發(fā)送所述數(shù)據(jù)訪問請求。
本發(fā)明中,所述通告單元在所述路由設(shè)備集成了開放應(yīng)用平臺OAP板卡時(shí),確定所述路由設(shè)備具有數(shù)據(jù)緩存能力,向相鄰路由設(shè)備發(fā)送本設(shè)備具有數(shù)據(jù)緩存能力的信息,反之,確定路由設(shè)備不具有數(shù)據(jù)緩存能力,向相鄰路由設(shè)備發(fā)送本設(shè)備不具有數(shù)據(jù)緩存能力的信息。
至此,完成圖5所示的裝置描述。
由以上技術(shù)方案可以看出,本發(fā)明中,通過相鄰路由設(shè)備之間相互通告自身是否具有數(shù)據(jù)緩存能力的信息,當(dāng)路由設(shè)備接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備,識別本設(shè)備是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息,如果是,轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備;如果否,在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備,這實(shí)現(xiàn)了把數(shù)據(jù)內(nèi)容緩存在最接近用戶的網(wǎng)絡(luò)邊緣設(shè)備上,以便該用戶再訪問同一數(shù)據(jù)內(nèi)容時(shí),直接從該最接近用戶的網(wǎng)絡(luò)邊緣設(shè)備上獲取即可,極大地提高了數(shù)據(jù)內(nèi)容訪問的速度和質(zhì)量;
另外,本發(fā)明中,充分利用路由設(shè)備本身的數(shù)據(jù)緩存能力,無需購置專門的內(nèi)容緩存其,節(jié)省投資;
還有,本發(fā)明中,路由設(shè)備根據(jù)路由協(xié)議和相互之間通告的信息實(shí)現(xiàn)內(nèi)容緩存,無需DNS、專用緩存服務(wù)器的配合,簡化網(wǎng)絡(luò)部署。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)緩存方法,其特征在于,該方法應(yīng)用于運(yùn)營商網(wǎng)絡(luò)中的路由設(shè)備,包括: 向相鄰路由設(shè)備通告本設(shè)備是否具有數(shù)據(jù)緩存能力的信息; 接收并記錄相鄰路由設(shè)備向本設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息; 接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備; 識別本設(shè)備是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息, 如果是,轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備; 如果否,在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述路由設(shè)備為距離所述用戶最近的邊緣設(shè)備通過以下步驟確定: 依據(jù)本設(shè)備的配置確定,當(dāng)本設(shè)備被配置為邊緣設(shè)備時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述路由設(shè)備為距離所述用戶最近的邊緣設(shè)備通過以下步驟: 識別本設(shè)備是否已接收到所述下一跳設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息, 如果否,則確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備, 如果是,則在所述下一跳設(shè)備不具有數(shù)據(jù)緩存能力時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備。
4.根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于,該方法進(jìn)一步包括: 接收來自用戶的數(shù)據(jù)訪問請求; 識別本設(shè)備是否已緩存了所述數(shù)據(jù)訪問請求所請求的數(shù)據(jù)內(nèi)容, 如果是,則將緩存的所述數(shù)據(jù)內(nèi)容發(fā)送給所述用戶; 如果否,則向內(nèi)容服務(wù)器發(fā)送所述數(shù)據(jù)訪問請求。
5.根據(jù)權(quán)利要求1至3任一所述的方法,其特征在于,路由設(shè)備是否具有數(shù)據(jù)緩存能力通過以下步驟確定: 當(dāng)路由設(shè)備集成了開放應(yīng)用平臺OAP板卡,則確定所述路由設(shè)備具有數(shù)據(jù)緩存能力,反之,確定路由設(shè)備不具有數(shù)據(jù) 緩存能力。
6.一種數(shù)據(jù)緩存裝置,其特征在于,該裝置應(yīng)用于運(yùn)營商網(wǎng)絡(luò)中的路由設(shè)備,包括: 通告單元,用于向相鄰路由設(shè)備通告本設(shè)備是否具有數(shù)據(jù)緩存能力的信息; 記錄單元,用于接收并記錄相鄰路由設(shè)備向本設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息; 確定單元,用于接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備; 識別單元,用于識別所述記錄單元是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息; 處理單元,用于在所述識別單元的識別結(jié)果為是時(shí),轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備,以及用于在所述識別單元的識別結(jié)果為否時(shí),在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述處理單元通過以下步驟確定路由設(shè)備為距離所述用戶最近的邊緣設(shè)備: 依據(jù)本設(shè)備的配置確定,當(dāng)本設(shè)備被配置為邊緣設(shè)備時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備;或者, 識別本設(shè)備是否已接收到所述下一跳設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息, 如果否,則確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備, 如果是,則在所述下一跳設(shè)備不具有數(shù)據(jù)緩存能力時(shí),確定本設(shè)備為距離所述用戶最近的邊緣設(shè)備。
8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述裝置進(jìn)一步包括: 接收單元,用于接收來自用戶的數(shù)據(jù)訪問請求; 轉(zhuǎn)發(fā)單元,用于識別本設(shè)備是否已緩存了所述數(shù)據(jù)訪問請求所請求的數(shù)據(jù)內(nèi)容,如果是,則將緩存的所述數(shù)據(jù)內(nèi)容發(fā)送給所述用戶;如果否,則向內(nèi)容服務(wù)器發(fā)送所述數(shù)據(jù)訪問請求。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述通告單元在所述路由設(shè)備集成了開放應(yīng)用平臺OAP板卡時(shí),確定所述路由設(shè)備具有數(shù)據(jù)緩存能力,向相鄰路由設(shè)備發(fā)送本設(shè)備具有數(shù)據(jù)緩存能力的信息,反之,確定路由設(shè)備不具有數(shù)據(jù)緩存能力,向相鄰路由設(shè)備發(fā)送本設(shè)備不具有數(shù)據(jù) 緩存能力的信息。
全文摘要
本發(fā)明提供了數(shù)據(jù)緩存方法和裝置。其中,該方法應(yīng)用于運(yùn)營商網(wǎng)絡(luò)中的路由設(shè)備,包括向相鄰路由設(shè)備通告本設(shè)備是否具有數(shù)據(jù)緩存能力的信息;接收并記錄相鄰路由設(shè)備向本設(shè)備通告的是否具有數(shù)據(jù)緩存能力的信息;接收到內(nèi)容服務(wù)器針對任一用戶的數(shù)據(jù)訪問請求返回的數(shù)據(jù)內(nèi)容時(shí),確定所述數(shù)據(jù)內(nèi)容應(yīng)轉(zhuǎn)發(fā)至的下一跳設(shè)備;識別本設(shè)備是否記錄了所述下一跳設(shè)備具有數(shù)據(jù)緩存能力的信息,如果是,轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備;如果否,在本設(shè)備為距離所述用戶最近的邊緣設(shè)備且本設(shè)備具有數(shù)據(jù)緩存能力時(shí),對所述數(shù)據(jù)內(nèi)容進(jìn)行緩存,并轉(zhuǎn)發(fā)所述數(shù)據(jù)內(nèi)容給下一跳設(shè)備。采用本發(fā)明,能夠避免現(xiàn)有內(nèi)容緩存和訪問帶來的技術(shù)問題。
文檔編號H04L29/08GK103152273SQ20131005022
公開日2013年6月12日 申請日期2013年2月8日 優(yōu)先權(quán)日2013年2月8日
發(fā)明者張建偉 申請人:杭州華三通信技術(shù)有限公司