確定內容獲取路徑、請求處理的方法、裝置和系統的制作方法
【專利摘要】本發明實施例公開了一種確定內容獲取路徑的方法,本發明實施例還公開了一種內容請求處理方法及相應裝置和系統。其中,所述確定內容獲取路徑的方法包括:第一網絡節點接收來自用戶的請求,所述請求用于請求原始內容提供者提供內容,所述請求攜帶內容的名稱、原始內容提供者的網絡地址和用戶的網絡地址;計算到原始內容提供者的至少兩條轉發路徑,根據各轉發路徑上的鏈路代價以及各轉發路徑上的網絡節點對內容的緩存命中率確定一條內容獲取路徑;根據內容獲取路徑向下一個網絡節點發送所述請求,以便下一個網絡節點轉發或響應所述請求。采用本發明,能有效提高網絡中的緩存的利用率,進一步緩解原始內容提供者的壓力和提高鏈路資源的利用率。
【專利說明】確定內容獲取路徑、請求處理的方法、裝置和系統
【技術領域】
[0001] 本發明涉及通信領域,尤其涉及一種確定內容獲取路徑、請求處理的方法、裝置和 系統。
【背景技術】
[0002] 根據思科(Cisco)視覺化網絡指數(VirtualNetworkIndex,VNI)發布的統計, 2011年互聯網流量中90%以上的流量都是文件分享(filesharing)、視頻和網頁。根據其 預測,這一比例將繼續增大,估計到2016年僅視頻流量將占到整個互聯網流量的54%。
[0003] 在獲取文件、視頻和網頁等內容時,不同的用戶往往會反復請求相同的內容。現有 IP網絡以主機為中心,如果要進行內容的傳送,則需要建立端到端的連接,即:要求每個用 戶各自與原始內容提供者建立連接,然后由原始內容提供者將用戶所請求的內容完整的傳 送給用戶。這種做法,一方面使得原始內容遞交者需要處理大量的用戶請求,容易造成響應 緩慢甚至是拒絕服務;另一方面,網絡中的鏈路需要多次傳輸相同的內容,造成網絡資源的 浪費。因此,如何有效的進行內容遞交是當今互聯網面臨的難題。
[0004] 近幾年,學術界開始研究如何將傳統的以主機為中心的IP網絡改造為以內容 為中心。比較有代表性的是美國國家科學基金(NationalScienceFoundation,NSF) 的未來互聯網架構(FutureInternetArchitecture,FIA)支持的NDN(NamedData Networking)項目等,以及歐洲的第七框架計劃(FrameworkProgram7,FP7)所支持的PSIRP (Publish-SubscribeInternetRoutingParadigm)項目等。這些項目大都提出利用網絡 設備(比如路由器)的緩存來緩存內容并響應內容請求,即:網絡設備在遞交內容的過程中 會根據規則決定是否緩存,并在轉發內容請求時,如果命中本地緩存則立刻返回結果。
[0005] 目前大部分的方案中都是:位于用戶到原始內容提供者的路徑上的各個網絡設 備根據本地緩存是否命中內容確定向用戶返回內容或者轉發所述請求。但是,由于網絡設 備的緩存是有限的,并不是所有內容都能夠被緩存,同時,研究表明內容請求存在區域性特 征(即地理位置相近的用戶會請求類似的內容),不同的緩存中同一內容的命中率是不同的 (也就是說不同的內容可能緩存于不同的網絡設備中),因此,通過現有的路徑計算方式進 行路由,無法有效利用網絡中的緩存。
【發明內容】
[0006] 本發明實施例所要解決的技術問題在于,提供一種確定內容獲取路徑、內容請求 處理的方法、裝置和系統,用于解決現有技術中,在內容請求的路由過程中,無法有效利用 網絡中的緩存的問題。
[0007] 為了解決上述技術問題,第一方面,提供了一種確定內容獲取路徑的方法,包括:
[0008] 第一網絡節點接收來自用戶的請求,所述請求用于請求原始內容提供者提供內 容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡地 址;
[0009] 計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路徑上的鏈路代價 以及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取路徑;
[0010] 根據所述內容獲取路徑向下一個網絡節點發送所述請求,以便所述下一個網絡節 點轉發或響應所述請求。
[0011] 作為所述第一方面的第一種可能的實現方式,所述方法還包括:獲取所述各轉發 路徑上的網絡節點對所述內容的緩存命中率;所述各轉發路徑上的網絡節點對所述內容的 緩存命中率通過以下方式獲取:在本地保存的緩存命中率信息表中查詢各轉發路徑上的 網絡節點對所述內容的緩存命中率,或,在所述緩存命中率信息表中查詢各轉發路徑上的 緩存網絡節點對所述內容的緩存命中率,所述緩存網絡節點是負責緩存所述內容的網絡節 點,或者進一步地,在查詢過程中,如果存在至少一個網絡節點,其對所述內容的緩存命中 率無法通過查詢所述緩存命中率信息表獲得,則根據所述至少一個網絡節點的整體命中率 情況預設所述至少一個網絡節點對所述內容的緩存命中率。
[0012] 結合所述第一方面或所述第一方面的第一種可能的實現方式,還提供了所述第一 方面的第二種可能的實現方式,所述根據各轉發路徑上的鏈路代價以及各轉發路徑上的網 絡節點對所述內容的緩存命中率確定一條內容獲取路徑包括:
[0013] 分別計算各轉發路徑的路徑代價C=Ci,n,其中,(^=%+1氏+兄」+1+(1 - 〇i+1Ri+1) (Pu+i+Ci+u),(i〈n),所述n為當前進行計算的轉發路徑上的網絡節點數目;當所述n個網 絡節點中的第i+1個網絡節點負責緩存所述內容時,所述〇i+1=l,否則,所述〇i+1=〇 ;所述 Ri+1表示所述第i+1個網絡節點對所述內容的緩存命中率;所述Pu+1表示所述n個網絡節 點中的第i個網絡節點到第i+1個網絡節點的鏈路代價;所述Ci,n表示從所述n個網絡節 點中的第i個網絡節點到第n個網絡節點的路徑代價;選取所述至少兩條轉發路徑中路徑 代價最小的一條轉發路徑作為所述內容獲取路徑。
[0014] 結合所述第一方面的第一種或第二種可能的實現方式,還提供了所述第一方面的 第三種可能的實現方式,所述方法還包括:接收由命中所述內容的緩存網絡節點生成的,或 者由所述原始內容提供者生成的內容數據分組,所述內容數據分組攜帶所述請求所經過的 所有緩存網絡節點對所述內容的命中率信息;提取所述內容數據分組中的命中率信息,更 新本地保存的相應網絡節點對所述內容的命中率信息。
[0015] 第二方面,提供了一種請求處理方法,包括:
[0016] 緩存網絡節點接收來自用戶的請求,所述請求用于請求原始內容提供者提供內 容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡地 址,所述緩存網絡節點是負責緩存所述內容的網絡節點;
[0017] 檢查本地緩存,如果命中所述內容,則更新本地緩存對所述內容的命中率,生成內 容數據分組,并向所述用戶發送所述內容數據分組作為對所述請求的響應,其中,所述內容 數據分組攜帶所述緩存網絡節點對所述內容的命中率信息,或者,
[0018] 檢查本地緩存,如果未命中所述內容,則更新本地緩存對所述內容的命中率,將所 述請求進行以下處理后向所述原始內容提供者發送:在所述請求中攜帶所述緩存網絡節點 對所述內容的命中率信息。
[0019] 作為所述第二方面的第一種可能的實現方式,在所述緩存網絡節點命中所述內容 的情況下,如果所述請求還攜帶有其它緩存網絡節點對所述內容的命中率信息,則所述緩 存網絡節點提取這些命中率信息并將其攜帶在所述內容數據分組中,其中,所述其它緩存 網絡節點是指所述請求在到達所述緩存網絡節點之前所經過的節點。
[0020] 作為所述第二方面的第二種可能的實現方式,在所述緩存網絡節點未命中所述內 容的情況下,所述將所述請求進行以下處理后向所述原始內容提供者發送包括:所述緩存 網絡節點根據所述請求中攜帶的內容獲取路徑信息確定下一跳;或者,所述緩存網絡節點 計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路徑上的鏈路代價以及各轉 發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取路徑,根據確定的內容獲 取路徑確定下一跳。
[0021] 結合所述第二方面的或所述第二方面的第二種可能的實現方式,還提供了所述第 二方面的第三種可能的實現方式,在所述緩存網絡節點未命中所述內容的情況下,所述方 法還包括:所述緩存網絡節點接收由命中所述內容的緩存網絡節點生成的,或者由所述原 始內容提供者生成的內容數據分組,所述內容數據分組攜帶所述請求所經過的所有緩存網 絡節點對所述內容的命中率信息;向所述用戶發送所述內容數據分組,或者,提取所述內容 數據分組中的命中率信息,更新本地保存的相應網絡節點對所述內容的命中率信息,并向 所述用戶發送所述內容數據分組。
[0022] 第三方面,提供了一種確定內容獲取路徑的網絡節點,包括:
[0023] 第一接收單元,用于接收來自用戶的請求,所述請求用于請求原始內容提供者提 供內容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網 絡地址;
[0024] 計算單元,用于計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路 徑上的鏈路代價以及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲 取路徑;
[0025] 轉發單元,用于根據所述內容獲取路徑向下一個網絡節點發送所述請求,以便所 述下一個網絡節點轉發或響應所述請求。
[0026] 作為所述第三方面的一種可能的實現方式,所述網絡節點還包括獲取單元,用于 獲取所述各轉發路徑上的網絡節點對所述內容的命中率;所述獲取單元包括存儲模塊和查 詢模塊,或者包括所述存儲模塊、所述查詢模塊和預設模塊,其中,所述存儲模塊,用于保存 網絡中各個網絡節點的緩存命中率信息;所述查詢模塊,用于通過所述存儲模塊查詢各轉 發路徑上的網絡節點對所述內容的緩存命中率,或,用于通過所述存儲模塊查詢各轉發路 徑上的緩存網絡節點對所述內容的緩存命中率,所述緩存網絡節點是負責緩存所述內容的 網絡節點;所述預設模塊,只有在存在至少一個網絡節點,且所述至少一個網絡節點對所述 內容的緩存命中率無法通過所述查詢模塊確定時被調用,該預設模塊用于根據所述至少一 個網絡節點的整體命中率情況預設所述至少一個網絡節點對所述內容的緩存命中率。
[0027] 結合所述第三方面或所述第三方面的第一種可能的實現方式,還提供了所述第三 方面的第二種可能的實現方式,所述計算單元包括:
[0028] 計算模塊,用于分別計算各轉發路徑的路徑代價C=qn,其中, Ci;n=①1+1氏+八1+1+(1 _①i+1Ri+1) (Pw+Ci+u),(i〈n),所述n為當前進行計算的轉發路徑上 的網絡節點數目;當所述n個網絡節點中的第i+1個網絡節點負責緩存所述內容時,所述 (1^+1=1,否則,所述(1^ +1=〇 ;所述Ri+1表示所述第i+1個網絡節點對所述內容的緩存命中率; 所述Pu+1表示所述n個網絡節點中的第i個網絡節點到第i+1個網絡節點的鏈路代價;所 述Ci,n表示從所述n個網絡節點中的第i個網絡節點到第n個網絡節點的路徑代價;確定 模塊,用于選取所述至少兩條轉發路徑中路徑代價最小的一條轉發路徑作為所述內容獲取 路徑。
[0029] 結合所述第三方面的第一種或第二種可能的實現方式,還提供了所述第三方面的 第三種可能的實現方式,所述網絡節點還包括:第二接收單元,用于接收由命中所述內容的 緩存網絡節點生成的,或者由所述原始內容提供者生成的內容數據分組,所述內容數據分 組攜帶所述請求所經過的所有緩存網絡節點對所述內容的命中率信息;更新單元,用于提 取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節點對所述內容的命中率 信息。
[0030] 第四方面,提供一種緩存網絡節點,包括:
[0031] 第一接收單元,用于接收來自用戶的請求,所述請求用于請求原始內容提供者提 供內容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網 絡地址,所述緩存網絡節點是負責緩存所述內容的網絡節點;
[0032] 第一處理單元,用于檢查本地緩存并根據本地緩存對所述內容的命中情況進行處 理,包括:
[0033] 如果命中所述內容,則更新本地緩存對所述內容的命中率,生成內容數據分組,并 向所述用戶發送所述內容數據分組作為對所述請求的響應,其中,所述內容數據分組攜帶 所述緩存網絡節點對所述內容的命中率信息,或者,
[0034] 如果未命中所述內容,則更新本地緩存對所述內容的命中率,將所述請求進行以 下處理后向所述原始內容提供者發送:在所述請求中攜帶所述緩存網絡節點對所述內容的 命中率息。
[0035] 作為所述第四方面的第一種可能的實現方式,所述第一處理單元包括:
[0036] 提取模塊,用于在所述緩存網絡節點命中所述內容,并且所述請求還攜帶有其它 緩存網絡節點對所述內容的命中率信息的情況下,提取這些命中率信息,其中,所述其它緩 存網絡節點是指所述請求在到達所述網絡節點之前所經過的節點;信息插入模塊,用于將 所述提取模塊提取的命中率信息攜帶在所述內容數據分組中。
[0037] 作為所述第四方面的第二種可能的實現方式,所述第一處理單元包括:
[0038] 發送模塊,用于在所述緩存網絡節點未命中所述內容的情況下,根據所述請求中 攜帶的內容獲取路徑信息確定下一跳,或者,用于在所述緩存網絡節點未命中所述內容的 情況下,計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路徑上的鏈路代價 以及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取路徑,根據確定 的內容獲取路徑確定下一跳。
[0039] 結合所述第四方面或所述第四方面的第二種可能的實現方式,還提供了所述第四 方面的第三種可能的實現方式,所述緩存網絡節點還包括:第二接收單元,用于在所述緩存 網絡節點未命中所述內容的情況下,接收由命中所述內容的緩存網絡節點生成的,或者由 所述原始內容提供者生成的內容數據分組,所述內容數據分組攜帶所述請求所經過的所有 緩存網絡節點對所述內容的命中率信息;第二處理單元,用于向所述用戶發送所述內容數 據分組,或者,用于提取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節點 對所述內容的命中率信息,并向所述用戶發送所述內容數據分組。
[0040] 第五方面,提供一種內容獲取系統,包括根據本發明第三方面的確定內容獲取路 徑的網絡節點和根據本發明第四方面的緩存網絡節點。
[0041] 實施本發明實施例,根據各轉發路徑上的鏈路代價以及各轉發路徑上的網絡節點 對所述內容的緩存命中率確定內容獲取路徑,然后根據內容獲取路徑進行路由,能有效提 高網絡中的緩存的利用率,同時,進一步緩解原始內容提供者的壓力和提高了鏈路資源的 利用率。
【專利附圖】
【附圖說明】
[0042] 為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現 有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可 以根據這些附圖獲得其他的附圖。
[0043] 圖1是根據本發明一種實施例的確定內容獲取路徑的方法的流程示意圖;
[0044] 圖2是根據本發明一種實施例的請求處理方法的流程示意圖;
[0045] 圖3是根據本發明一種實施例所使用的網絡拓撲示意圖;
[0046] 圖4是圖3所示實施例的一種多路徑轉發示意圖;
[0047] 圖5是圖3所示實施例的另一種多路徑轉發示意圖;
[0048] 圖6A是根據本發明一種實施例的確定內容獲取路徑的網絡節點的方塊示意圖;
[0049] 圖6B是圖6A所示實施例的計算單元的一種方塊示意圖;
[0050] 圖6C是圖6A所示實施例的計算單元的一種方塊示意圖;
[0051] 圖7是根據本發明一種實施例的確定內容獲取路徑的網絡節點的方塊示意圖;
[0052] 圖8A是根據本發明一種實施例的緩存網絡節點的方塊示意圖;
[0053] 圖8B是圖8A所示實施例的處理單元的一種方塊示意圖;
[0054] 圖8C是圖8A所示實施例的處理單元的一種方塊示意圖;
[0055] 圖9是根據本發明一種實施例的緩存網絡節點的方塊示意圖;
[0056] 圖10是根據本發明一種實施例的內容獲取系統的方塊示意圖;
[0057] 圖11是根據本發明一種實施例的網絡節點的方塊示意圖;
[0058] 圖12是根據本發明一種實施例的網絡節點的方塊示意圖。
【具體實施方式】
[0059] 下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于 本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他 實施例,都屬于本發明保護的范圍。
[0060] 圖1是根據本發明一種實施例的確定內容獲取路徑的方法的流程示意圖,參照圖 1,該方法包括(虛線框表示該步驟為可選):
[0061] 100:第一網絡節點接收來自用戶的請求,所述請求用于請求原始內容提供者提供 內容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡 地址。
[0062]第一網絡節點可以根據所述原始內容提供者和所述用戶的網絡地址(例如:IP地 址)進行路由計算/尋址。
[0063]本發明涉及的"所述內容的名稱"不僅包含狹義上的名稱,還包含廣義上的可以標 識所述內容的具有識別/判別意義的標記或標識。
[0064]本發明涉及的"來自用戶的請求"可以理解為所述請求的源地址是所述用戶,而并 不限制所述用戶與節點是直接連接,還是通過轉發設備(例如:中間轉發節點)連接,換而言 之,所述請求可以經由其他設備轉發至所述第一網絡節點。同樣的道理,本發明涉及的"向 所述用戶發送"、"向所述內容提供者發送"或類似表述,均不對節點之間的連接方式作出限 制。
[0065]所述第一網絡節點包括需要進行路由計算的設備,例如:接入路由器。
[0066] 102:計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路徑上的鏈路 代價以及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取路徑。
[0067] 可選的,在本發明的一種實施例中,可以采用以下方式得到與102相同的處理結 果:在計算最短路徑時,綜合各個網絡節點對所述內容的緩存命中率進行計算,從而直接計 算出內容獲取路徑。
[0068] 可選的,在本實施例的一種實現方式中,在102之前或在102中包括:獲取所述各 轉發路徑上的網絡節點對所述內容的緩存命中率。例如,可通過以下方式獲取:
[0069]在本地保存的緩存命中率信息表中查詢各轉發路徑上的網絡節點對所述內容的 緩存命中率,或,在所述緩存命中率信息表中查詢各轉發路徑上的緩存網絡節點對所述內 容的緩存命中率,所述緩存網絡節點是負責緩存所述內容的網絡節點。需要說明的是,"負 責緩存所述內容的網絡節點"應當理解為該網絡節點可能緩存有所述內容而不是一定緩存 有所述內容。
[0070] 在上述的查詢過程中,如果存在至少一個網絡節點,其對所述內容的緩存命中率 無法通過查詢所述緩存命中率信息表獲得(例如,當第一網絡節點首次接收到對某個內容 的請求時,可能無法查詢到其他網絡節點對該內容的命中率信息),則根據所述至少一個網 絡節點的整體命中率情況預設所述至少一個網絡節點對所述內容的緩存命中率。具體的, 可以根據本地緩存保存的所述至少一個網絡節點對其他內容的緩存命中率,預設其對所述 內容的命中率,例如,如果所述至少一個網絡節點對其他內容的緩存命中率不高,則其對所 述內容的預設命中率也不能過高,一種可行的取值方式如下:在設定閾值和所有內容的已 知命中率中選取最小值作為預設值。
[0071] 當第一網絡節點第一次接收到對某個內容的請求時,可以采用多種方法獲知網絡 中哪些緩存可能緩存有該內容,例如:利用集中式的設備記錄所有緩存設備,第一網絡節點 在接入網絡時通過查詢一次性獲得所有緩存設備的緩存信息;第一網絡節點利用交互信息 進行自學習(即:從每次收到的內容數據中學習新的緩存信息);各緩存設備本身利用分布 式哈希表技術決定各自負責哪些內容,第一網絡節點即可利用相同的技術獲得緩存信息。 在上述方法中,"緩存信息"可以包括:緩存設備的地址、緩存設備的存儲能力以及目前存儲 有哪些內容等。
[0072] 可選的,在本實施例的一種實現方式中,102包括:
[0073] 分別計算各轉發路徑的路徑代價C=C1;n,其中,(^=〇^+1氏+兄,1+1+(1 _ 〇i+1Ri+1) (Pu+i+Ci+u),(i〈n),所述n為當前進行計算的轉發路徑上的網絡節點數目;當所述n個網 絡節點中的第i+1個網絡節點負責緩存所述內容時,所述〇i+1=l,否則,所述〇i+1=〇 ;所述 Ri+1表示所述第i+1個網絡節點對所述內容的緩存命中率;所述Pu+1表示所述n個網絡節 點中的第i個網絡節點到第i+1個網絡節點的鏈路代價;所述Ci,n表示從所述n個網絡節 點中的第i個網絡節點到第n個網絡節點的路徑代價;選取所述至少兩條轉發路徑中路徑 代價最小的一條轉發路徑作為所述內容獲取路徑。
[0074] 當然,上述公式只是一種示例性的實現方式,采用與上述公式類似的計算方法,或 者采用上述公式的變形式進行路由計算,均屬于本發明的保護范圍。
[0075] 104:根據所述內容獲取路徑向下一個網絡節點發送所述請求,以便所述下一個網 絡節點轉發或響應所述請求。
[0076] 可選的,在104中,所述第一網絡節點可以采用源路由的方式向所述下一個網絡 節點轉發所述請求,在這種情況下,所述請求在整個路由轉發過程中的路徑即所述內容獲 取路徑。進一步可選的,采用源路由時,可以在IP選項中攜帶負責緩存所述內容的網絡節 點的網絡地址(而不攜帶非必須經過的網絡節點的網絡地址),以便負責緩存所述內容的網 絡節點在接收到所述請求后檢查本地緩存是否命中所述內容。
[0077] 可選的,在104中,所述第一網絡節點也可以采用隧道技術發送所述請求,目的地 址為所述下一個網絡節點的地址,然后由所述下一個網絡節點采用與所述第一網絡節點相 同的方法重新計算內容獲取路徑進行路由轉發。進一步可選的,采用隧道技術時,每一段隧 道的終點均為負責緩存所述內容的網絡節點,具體而言:由于隧道是一段段建立的,先建立 從所述第一網絡節點到第一個負責緩存所述內容的網絡節點的隧道,在隧道端點的網絡節 點就會查詢本地緩存,然后在IP選項中依然會攜帶后續網絡節點的地址(或者采用重新計 算內容獲取路徑的方法),當前具有緩存功能的網絡節點就會建立和下一具有緩存功能的 網絡節點之間的隧道。
[0078] 本實施例所提供的確定內容獲取路徑的方法,能有效提_網絡中的緩存的利用率 (例如,相對于傳統的最短路徑路由方式),同時,進一步緩解了原始內容提供者的壓力和提 高了鏈路資源的利用率。
[0079] 可選的,在本實施例的一種實現方式中,在104之后,所述方法還包括:
[0080] 106 :接收由負責緩存所述內容且命中所述內容的網絡節點(S卩:命中所述內容的 緩存網絡節點)生成的,或者由所述原始內容提供者生成的內容數據分組,所述內容數據分 組攜帶所述請求所經過的所有緩存網絡節點對所述內容的命中率信息。
[0081] 示例性的,以IPv4協議為例,內容數據分組可通過IP選項(IPoption)攜帶命中 率信息。
[0082] 需要說明的是,在本發明中雖然將"負責緩存所述內容且命中所述內容的網絡節 點"(以下簡稱"緩存命中節點")和"原始內容提供者"分別進行描述,本領域技術人員應當 理解,在本發明中,"原始內容提供者"與"緩存命中節點"除了由于在網絡中的位置不同而 引起的差別外,二者在功能上具有一致性。即:原始內容提供者在接收到所述請求時的處理 方式與緩存命中節點的處理方式相同,換而言之,"緩存命中節點"在一些情景中包括"原始 內容提供者"。
[0083] 108:提取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節點對所 述內容的命中率信息。
[0084] 本實現方式中,第一網絡節點可以及時更新負責緩存所述內容的網絡節點對所述 內容的命中率信息。
[0085] 圖2是根據本發明一種實施例的請求處理方法的流程示意圖,參照圖2,所述方法 包括:
[0086] 200:緩存網絡節點接收來自用戶的請求,所述請求用于請求原始內容提供者提供 內容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡 地址(例如,IP地址),所述緩存網絡節點是負責緩存所述內容的網絡節點。
[0087] 在本實施例的一種實現方式中,所述緩存網絡節點可以是圖1所示實施例中的 "下一個網絡節點"。
[0088] 202:檢查本地緩存,判斷是否命中所述內容。
[0089] 204:如果命中所述內容,則更新本地緩存對所述內容的命中率,生成內容數據分 組,并向所述用戶發送所述內容數據分組作為對所述請求的響應,其中,所述內容數據分組 攜帶所述緩存網絡節點對所述內容的命中率信息。
[0090] 可選的,在本實施例的一種實現方式中,在204中,如果所述請求還攜帶有其它緩 存網絡節點對所述內容的命中率信息,則所述緩存網絡節點提取這些命中率信息并將其攜 帶在所述內容數據分組中,以將這些命中率信息以及所述緩存網絡節點對所述內容的命中 率信息一起發送至第一網絡節點(例如:接入路由器)。其中,所述其它緩存網絡節點是指所 述請求在到達所述緩存網絡節點之前所經過的節點。
[0091] 206:如果未命中所述內容,則更新本地緩存對所述內容的命中率,將所述請求進 行以下處理后向所述原始內容提供者發送:在所述請求中攜帶所述緩存網絡節點對所述內 容的命中率信息。
[0092] 可選的,在本實施例的一種實現方式中,向所述原始內容提供者發送上述處理后 的請求包括:
[0093] 所述緩存網絡節點根據所述請求中攜帶的內容獲取路徑信息確定下一跳(例如, 采用源路由技術時);或者,
[0094] 所述緩存網絡節點計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發 路徑上的鏈路代價以及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容 獲取路徑,根據確定的內容獲取路徑確定下一跳(例如,采用隧道技術時)。具體的計算方法 與圖1所示實施例中的第一網絡節點計算內容獲取路徑的方法相同,此處不贅述。
[0095] 本實施例所提供的內容請求處理方法,在判斷本地緩存是否命中所述內容的同 時,相應的進行發送或響應,并在發送的請求和響應的內容數據分組中攜帶當前網絡節點 對所述內容的命中率信息,以便需要進行路由計算的網絡節點(例如:第一網絡節點)及時 更新相應的命中率信息,從而為本發明提供的確定內容獲取路徑的方法提供了計算基礎。
[0096] 可選的,在本實施例的一種實現方式中,在未命中所述內容的情況下,所述方法還 包括:
[0097] 208:所述緩存網絡節點接收由命中所述內容的緩存網絡節點生成的,或者由所述 原始內容提供者生成的內容數據分組,所述內容數據分組攜帶所述請求所經過的所有緩存 網絡節點對所述內容的命中率信息。
[0098]210:進行內容數據分組轉發處理,包括:
[0099] 第一可能:向所述用戶發送所述內容數據分組;或,
[0100] 第二可能:提取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節 點對所述內容的命中率信息,并向所述用戶發送所述內容數據分組。其中,所述第二可能適 用于緩存網絡節點需要進行或可能需要進行路由計算的場景。
[0101] 下面示例性列舉幾個應用場景對本發明進行更為詳細的說明。
[0102] 圖3是本發明一種實施例所使用的網絡拓撲示意圖,參照圖3,在本實施例中:網 絡包括10個路由器,16條鏈路;鏈路上的數值是各條鏈路的鏈路代價(例如:可以是鏈路的 權重、收費或擁塞程度等指標),本實施例將鏈路權重值作為計算路由的鏈路代價;有2個 用戶連接到接入路由器R1,原始內容提供者和路由器R6相連;各個路由器都配置有緩存, 由于緩存容量有限,各個緩存設備分別負責緩存所有內容的一部分;對同一內容名,用多個 哈希函數進行多次哈希計算得到應該負責緩存該內容的節點編號(本實施例中采用2個哈 希函數);各個節點對本地應該緩存的內容采用最少頻率使用(LeastFrequentlyUsed, LFU)的原則來進行替換;各個節點負責統計和記錄本地緩存中各個內容的命中率。
[0103]【具體實現方式1】
[0104] 步驟1:用戶1發送請求分組,請求分組中攜帶內容1的名稱、原始內容提供者的 IP地址和用戶1的IP地址。
[0105] 步驟2 :R1接收到用戶1的請求后,解析請求,根據原始內容提供者的地址計算到 原始內容提供者的多條路徑。參照圖4,圖4為多路徑信息,默認計算3條路徑,該默認值可 修改。多條路徑的計算方法是首先分別為R1的各個出鏈路計算通過該出鏈路的最短路徑, 如果出鏈路數量小于3,則計算經過某條出鏈路的次短路,直到滿足所需多路徑的數量。
[0106] 步驟3 :R1分別為每條路徑計算代價,計算公式如圖1所示實施例中所述。
[0107] 此時是R1第一次接收到對內容1的請求,R1進行兩次哈希計算得到R5和R10負 責緩存內容1,但沒有這兩個緩存的命中率信息,因此采用預設的默認值50%命中率計算, 得到各條路徑的代價分別為(在圖4和5中,粗曲線表示轉發路徑,細實線表示拓撲關系):
[0108] 路徑①C=2363 (沒有緩存,且為最短路)
[0109]路徑②C=50%X1589+50%X2407=1998
[0110]路徑③C=50%X1300+50%X(1300+50%X895+50%X1713) =1952
[0111] 路徑③的代價的詳細計算解釋如下:
[0112] 路徑③一共有四個節點,其中,節點2 (R10)和節點3 (R5)都有緩存,節點1 (R1) 是用戶1的接入路由器,節點4 (R6)是內容提供者的接入路由器;
【權利要求】
1. 一種確定內容獲取路徑的方法,其特征在于,包括: 第一網絡節點接收來自用戶的請求,所述請求用于請求原始內容提供者提供內容,所 述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡地址; 計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路徑上的鏈路代價W及 各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取路徑; 根據所述內容獲取路徑向下一個網絡節點發送所述請求,W便所述下一個網絡節點轉 發或響應所述請求。
2. 根據權利要求1所述的方法,其特征在于,還包括: 獲取所述各轉發路徑上的網絡節點對所述內容的緩存命中率; 所述各轉發路徑上的網絡節點對所述內容的緩存命中率通過W下方式獲取: 在本地保存的緩存命中率信息表中查詢各轉發路徑上的網絡節點對所述內容的緩存 命中率,或,在所述緩存命中率信息表中查詢各轉發路徑上的緩存網絡節點對所述內容的 緩存命中率,所述緩存網絡節點是負責緩存所述內容的網絡節點,或者, 在查詢過程中,如果存在至少一個網絡節點,其對所述內容的緩存命中率無法通過查 詢所述緩存命中率信息表獲得,則根據所述至少一個網絡節點的整體命中率情況預設所述 至少一個網絡節點對所述內容的緩存命中率。
3. 根據權利要求1或2所述的方法,其特征在于,所述根據各轉發路徑上的鏈路代價W 及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取路徑包括: 分別計算各轉發路徑的路徑代價C=Ci,。,其中, i+i+(l -。1+1尺1+1)化,i+1+C…,n),(i〈n), 所述n為當前進行計算的轉發路徑上的網絡節點數目;當所述n個網絡節點中的第 i+1個網絡節點負責緩存所述內容時,所述〇w=l,否則,所述〇w=0 ;所述Rw表示所述第 i+1個網絡節點對所述內容的緩存命中率;所述Py+i表示所述n個網絡節點中的第i個網 絡節點到第i+1個網絡節點的鏈路代價;所述表示從所述n個網絡節點中的第i個網 絡節點到第n個網絡節點的路徑代價; 選取所述至少兩條轉發路徑中路徑代價最小的一條轉發路徑作為所述內容獲取路徑。
4. 根據權利要求2或3所述的方法,其特征在于,所述方法還包括: 接收由命中所述內容的緩存網絡節點生成的,或者由所述原始內容提供者生成的內容 數據分組,所述內容數據分組攜帶所述請求所經過的所有緩存網絡節點對所述內容的命中 率信息; 提取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節點對所述內容的 命中率信息。
5. -種請求處理方法,其特征在于,包括: 緩存網絡節點接收來自用戶的請求,所述請求用于請求原始內容提供者提供內容,所 述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡地址,所 述緩存網絡節點是負責緩存所述內容的網絡節點; 檢查本地緩存,如果命中所述內容,則更新本地緩存對所述內容的命中率,生成內容數 據分組,并向所述用戶發送所述內容數據分組作為對所述請求的響應,其中,所述內容數據 分組攜帶所述緩存網絡節點對所述內容的命中率信息,或者, 檢查本地緩存,如果未命中所述內容,則更新本地緩存對所述內容的命中率,將所述請 求進行W下處理后向所述原始內容提供者發送:在所述請求中攜帶所述緩存網絡節點對所 述內容的命中率信息。
6. 根據權利要求5所述的方法,其特征在于,在所述緩存網絡節點命中所述內容的情 況下,如果所述請求還攜帶有其它緩存網絡節點對所述內容的命中率信息,則所述緩存網 絡節點提取該些命中率信息并將該些命中率信息攜帶在所述內容數據分組中,其中,所述 其它緩存網絡節點是指所述請求在到達所述緩存網絡節點之前所經過的節點。
7. 根據權利要求5所述的方法,其特征在于,在所述緩存網絡節點未命中所述內容的 情況下,所述將所述請求進行W下處理后向所述原始內容提供者發送包括: 所述緩存網絡節點根據所述請求中攜帶的內容獲取路徑信息確定下一跳;或者, 所述緩存網絡節點計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路徑 上的鏈路代價W及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取 路徑,根據確定的內容獲取路徑確定下一跳。
8. 根據權利要求5或7所述的方法,其特征在于,在所述緩存網絡節點未命中所述內容 的情況下,所述方法還包括: 所述緩存網絡節點接收由命中所述內容的緩存網絡節點生成的,或者由所述原始內容 提供者生成的內容數據分組,所述內容數據分組攜帶所述請求所經過的所有緩存網絡節點 對所述內容的命中率信息; 向所述用戶發送所述內容數據分組,或者, 提取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節點對所述內容的 命中率信息,并向所述用戶發送所述內容數據分組。
9. 一種確定內容獲取路徑的網絡節點,其特征在于,包括: 第一接收單元,用于接收來自用戶的請求,所述請求用于請求原始內容提供者提供內 容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡地 址; 計算單元,用于計算到所述原始內容提供者的至少兩條轉發路徑,根據各轉發路徑上 的鏈路代價W及各轉發路徑上的網絡節點對所述內容的緩存命中率確定一條內容獲取路 徑; 轉發單元,用于根據所述內容獲取路徑向下一個網絡節點發送所述請求,W便所述下 一個網絡節點轉發或響應所述請求。
10. 根據權利要求9所述的網絡節點,其特征在于, 所述網絡節點還包括獲取單元,用于獲取所述各轉發路徑上的網絡節點對所述內容的 命中率; 所述獲取單元包括存儲模塊和查詢模塊,或者包括所述存儲模塊、所述查詢模塊和預 設模塊,其中, 所述存儲模塊,用于保存網絡中各個網絡節點的緩存命中率信息, 所述查詢模塊,用于通過所述存儲模塊查詢各轉發路徑上的網絡節點對所述內容的緩 存命中率,或,用于通過所述存儲模塊查詢各轉發路徑上的緩存網絡節點對所述內容的緩 存命中率,所述緩存網絡節點是負責緩存所述內容的網絡節點, 所述預設模塊,只有在存在至少一個網絡節點,且所述至少一個網絡節點對所述內容 的緩存命中率無法通過所述查詢模塊確定時被調用,該預設模塊用于根據所述至少一個網 絡節點的整體命中率情況預設所述至少一個網絡節點對所述內容的緩存命中率。
11. 根據權利要求9或10所述的網絡節點,其特征在于,所述計算單元包括: 計算模塊,用于分別計算各轉發路徑的路徑代價C=Ci,。,其中, i+i+(l -。1+1而+1)化,i+1+C…,n),(i〈n), 所述n為當前進行計算的轉發路徑上的網絡節點數目;當所述n個網絡節點中的第 i+1個網絡節點負責緩存所述內容時,所述〇w=l,否則,所述〇w=0 ;所述Rw表示所述第 i+1個網絡節點對所述內容的緩存命中率;所述Py+i表示所述n個網絡節點中的第i個網 絡節點到第i+1個網絡節點的鏈路代價;所述表示從所述n個網絡節點中的第i個網 絡節點到第n個網絡節點的路徑代價; 確定模塊,用于選取所述至少兩條轉發路徑中路徑代價最小的一條轉發路徑作為所述 內容獲取路徑。
12. 根據權利要求10或11所述的網絡節點,其特征在于,所述網絡節點還包括: 第二接收單元,用于接收由命中所述內容的緩存網絡節點生成的,或者由所述原始內 容提供者生成的內容數據分組,所述內容數據分組攜帶所述請求所經過的所有緩存網絡節 點對所述內容的命中率信息; 更新單元,用于提取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節 點對所述內容的命中率信息。
13. -種緩存網絡節點,其特征在于,包括: 第一接收單元,用于接收來自用戶的請求,所述請求用于請求原始內容提供者提供內 容,所述請求攜帶所述內容的名稱、所述原始內容提供者的網絡地址和所述用戶的網絡地 址,所述緩存網絡節點是負責緩存所述內容的網絡節點; 第一處理單元,用于檢查本地緩存并根據本地緩存對所述內容的命中情況進行處理, 包括: 如果命中所述內容,則更新本地緩存對所述內容的命中率,生成內容數據分組,并向所 述用戶發送所述內容數據分組作為對所述請求的響應,其中,所述內容數據分組攜帶所述 緩存網絡節點對所述內容的命中率信息,或者, 如果未命中所述內容,則更新本地緩存對所述內容的命中率,將所述請求進行W下處 理后向所述原始內容提供者發送;在所述請求中攜帶所述緩存網絡節點對所述內容的命中 率信息。
14. 根據權利要求13所述的緩存網絡節點,其特征在于,所述第一處理單元包括: 提取模塊,用于在所述緩存網絡節點命中所述內容,并且所述請求還攜帶有其它緩存 網絡節點對所述內容的命中率信息的情況下,提取該些命中率信息,其中,所述其它緩存網 絡節點是指所述請求在到達所述網絡節點之前所經過的節點; 信息插入模塊,用于將所述提取模塊提取的命中率信息攜帶在所述內容數據分組中。
15. 根據權利要求13所述的緩存網絡節點,其特征在于,所述第一處理單元包括: 發送模塊,用于在所述緩存網絡節點未命中所述內容的情況下,根據所述請求中攜帶 的內容獲取路徑信息確定下一跳,或者, 用于在所述緩存網絡節點未命中所述內容的情況下,計算到所述原始內容提供者的至 少兩條轉發路徑,根據各轉發路徑上的鏈路代價W及各轉發路徑上的網絡節點對所述內容 的緩存命中率確定一條內容獲取路徑,根據確定的內容獲取路徑確定下一跳。
16. 根據權利要求14或15所述的緩存網絡節點,其特征在于,所述緩存網絡節點還包 括: 第二接收單元,用于在所述緩存網絡節點未命中所述內容的情況下,接收由命中所述 內容的緩存網絡節點生成的,或者由所述原始內容提供者生成的內容數據分組,所述內容 數據分組攜帶所述請求所經過的所有緩存網絡節點對所述內容的命中率信息; 第二處理單元,用于向所述用戶發送所述內容數據分組,或者, 用于提取所述內容數據分組中的命中率信息,更新本地保存的相應網絡節點對所述內 容的命中率信息,并向所述用戶發送所述內容數據分組。
17. -種內容獲取系統,其特征在于,所述系統包括:如權利要求9-12中任一項所述的 基于緩存命中率確定內容獲取路徑的網絡節點,和如權利要求13-16中任一項所述的具有 緩存功能的網絡節點。
【文檔編號】H04L12/725GK104348722SQ201310329105
【公開日】2015年2月11日 申請日期:2013年7月31日 優先權日:2013年7月31日
【發明者】劉樹成 申請人:華為技術有限公司