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