專利名稱:一種獲取節(jié)點間代價的方法,設備和系統(tǒng)的制作方法
技術領域:
本發(fā)明涉及網(wǎng)絡通信領域,尤其涉及一種獲取節(jié)點間代價的方法,設備和系統(tǒng)。
背景技術:
近年 CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡)禾口 P2P(Peer to Peer,對等網(wǎng)絡)技術成為互聯(lián)網(wǎng)上兩種常見的內(nèi)容共享和傳遞技術。通?;冖荖、P2P技術的應用中節(jié)點的選取不考慮網(wǎng)絡層情況,隨機、無序地選舉節(jié)點,容易造成網(wǎng)絡擁塞和流量抖動,給ISPanternet Service Provider,互聯(lián)網(wǎng)服務器提供商)帶來了新的流量管理問題。 ISP嘗試了多種方法仍然不能達到網(wǎng)絡流量管理和優(yōu)化的目的。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種獲取節(jié)點間代價的方法,設備和系統(tǒng),以解決現(xiàn)有技術無法實現(xiàn)網(wǎng)絡流量管理和優(yōu)化的問題。為解決上述技術問題,本發(fā)明實施例提供了一種獲取節(jié)點間代價的方法,包括第一服務器接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價;當所述第一服務器不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向第二服務器發(fā)送第二代價請求消息,所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;接收來自所述第二服務器的第二代價應答消息,所述第二節(jié)點代價應答消息中包括第二代價列表,所述第二代價列表包括所述第二源節(jié)點列表中源節(jié)點、第二候選節(jié)點列表中候選節(jié)點和對應的代價;根據(jù)所述第二代價列表計算第一代價列表,向所述客戶端發(fā)送第一代價應答消息,所述第一代價響應消息中包括所述第一代價列表。本發(fā)明實施例提供了一種獲取節(jié)點間代價的方法,包括第一服務器接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選列表中每個候選節(jié)點之間的代價;所述第一服務器向客戶端返回第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含第一服務器能夠計算出代價的源節(jié)點、候選節(jié)點和對應的代價;當所述第一服務器不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表。本發(fā)明實施例提供了一種獲取節(jié)點間代價的設備,包括接收器,計算單元和發(fā)送器,其中所述接收器,用于接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;所述計算單元,用于根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價;所述發(fā)送器,用于向所述客戶端發(fā)送第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含所述第一源節(jié)點列表的源節(jié)點、所述第一候選節(jié)點列表的候選節(jié)點和對應的代價;還用于向第二服務器發(fā)送第二代價請求消息,所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;或者,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表。本發(fā)明實施例提供了一種獲取節(jié)點間代價的系統(tǒng),包括第一服務器和第二服務器,其中所述第一服務器,用于接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價;向所述客戶端發(fā)送第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含所述第一源節(jié)點列表的源節(jié)點、所述第一候選節(jié)點列表的候選節(jié)點和對應的代價;還用于當不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向所述第二服務器發(fā)送第二節(jié)點代價請求消息,所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;或者,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表;所述第二服務器,用于接收所述第二代價請求消息,根據(jù)所述代價類型,計算所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價,向所述第一服務器返回第二代價應答消息,所述第二代價應答消息中包括第二代價列表。采用本發(fā)明實施例提供的技術方案,通過從ISP分層部署的服務器獲取節(jié)點間的代價,作為目的節(jié)點選取的依據(jù),實現(xiàn)網(wǎng)絡流量的管理和優(yōu)化。
圖1是本發(fā)明實施例提供的一種獲取節(jié)點間代價的方法流程圖;圖2是本發(fā)明實施例提供的另一種獲取節(jié)點間代價的方法流程圖;圖3是本發(fā)明實施例提供的一種獲取節(jié)點間代價的設備框圖;圖4是本發(fā)明實施例提供的一種獲取節(jié)點間代價的系統(tǒng)框圖;圖5是本發(fā)明實施例提供的一種分層部署服務器的系統(tǒng)示意圖。
具體實施例方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例。
參見圖1,是本發(fā)明實施例提供的一種獲取節(jié)點代價的方法流程圖,所述方法包括101 第一服務器接收來自客戶端的第一節(jié)點代價請求消息,所述第一節(jié)點代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型。所述客戶端由ISP部署,接收來自上層應用,例如P2P應用的計算節(jié)點間代價的請求。所述客戶端可以維護第一服務器信息表,所述第一服務器信息表包括第一服務器的標識和團體標識的對應關系,所述團體標識可以是IPdnternet Protocol,網(wǎng)際協(xié)議地址)地址前綴,還可以是域名后綴。所述第一源節(jié)點列表、所述候選節(jié)點列表中可以是節(jié)點的IP地址,還可以是節(jié)點的域名。所述客戶端在發(fā)送所述第一節(jié)點代價請求消息之前,可以根據(jù)源節(jié)點地址查詢第一服務器信息表,獲取所述第一服務器的標識。所述代價類型包括AS (Autonomous System,自治系統(tǒng))跳數(shù),路由器跳數(shù),網(wǎng)絡時延,丟包率,網(wǎng)絡帶寬,排序等。所述第一服務器和所述第二服務器可以分層部署,所述第二服務器對應的路由域是所述第一服務器對應的路由域的子域。所述路由域可以包括AS,OSPF(Open Shortest Path First 開放式最短路徑優(yōu)先)域,ISIS (Intermediate System-Intermediate System, 中間系統(tǒng)到中間系統(tǒng))域等。例如,所述第一服務器對應自治系統(tǒng)AS,可以收集和維護該AS的拓撲信息,例如BGP (Border Gateway Protocol,邊界網(wǎng)關協(xié)議)路由信息;所述第二服務器對應該AS下的一個區(qū)域Region,可以收集和維護該Region的拓撲信息,例如 IGP(Interior Gateway Protocol,內(nèi)部網(wǎng)關協(xié)議)路由信息。所述第一服務器對應的路由域和所述第二服務器對應的路由域還可以是同一路由域或同級路由域。所述路由域可以包括AS,OSPF域,ISIS域等。例如,所述第一服務器對應第一 AS,維護第一 AS的拓撲信息;所述第二服務器對應第二 AS,可以維護第二 AS的拓撲信息。102 根據(jù)所述代價類型,計算所述第一源節(jié)點地址列表中每個源節(jié)點與所述第一目的節(jié)點地址列表中每個目的節(jié)點之間的代價。當所述第一服務器計算出所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價時,向所述客戶端返回第一代價響應消息,所述第一代價響應消息中包括第一代價列表,所述第一代價列表中包括所述第一源節(jié)點列表中源節(jié)點、所述第一候選節(jié)點列表中候選節(jié)點和對應的代價。例如,第一源節(jié)點列表為{srcl (10. 102. 81. 55),src2 (10. 102. 41. 73),src3 (10. 138. 111. 80)},第一候選節(jié)點列表為{candiKll. 112. 38. 22), candi2(12. 168. 28. 64), candi3(12. 168.21.68), candi4(16. 122. 111. 13)},代價類型為AS跳數(shù);第一服務器根據(jù)代價類型和維護的BGP拓撲信息,計算得到第一代價列表為{(srcl, candiLl) (srcl, candi2,2) (srcl, candi3,2) (srcl, candi4,4) (src2, candil,1) (src2, candi2,2) (src2, candi3,2) (src2, candi4,4) (src3, candil,1)(src3, candi2,2)(src3, candi3,2)(src3, candi4,4)}。所述第一節(jié)點代價請求消息中還可以包括過濾規(guī)則。例如,AS跳數(shù)小于3,網(wǎng)絡時延小于200ms,代價從小到大排序前3,等等。所述第一服務器可以根據(jù)所述過濾規(guī)則,過濾所述第一代價列表,向所述客戶端返回所述過濾后的第一代價列表。如上例中,返回過濾后的第一代價列表為Ksrcl, candil,1) (srcl,candi2,2)(srcl,candi3,2) (src2,candil,1) (src2,candi2,2) (src2, candi3,2) (src3,candil,1)(src3,candi2,2)(src3,candi3,2)}。103:當所述第一服務器不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向第二服務器發(fā)送第二代價請求消息, 所述第二代價請求消息中包括第二源節(jié)點列表、所述第一候選節(jié)點列表和所述代價類型。所述第一服務器不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算,可以是所述第一服務器不能計算所述代價類型; 還可以是所述第一服務器不能計算部分或全部源節(jié)點與候選節(jié)點之間的代價。所述第二源節(jié)點列表可以是所述第一源節(jié)點列表的子集或全集。所述第二候選節(jié)點列表可以是所述第一候選節(jié)點列表的子集或全集。所述第一服務器向第二服務器發(fā)送第二節(jié)點代價請求消息之前,可以根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和下級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。還可以根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和同級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。所述第二服務器收到所述第二節(jié)點代價請求消息之后,可以根據(jù)所述代價類型, 計算所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價。當所述第二服務器計算出所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價時,向所述第一服務器返回第二代價應答消息,所述第二代價應答消息中包括第二代價列表,所述第二代價列表中包括所述第二源節(jié)點列表中源節(jié)點、所述第二候選節(jié)點列表中候選節(jié)點和對應的代價。所述第一服務器接收所述第二代價應答消息,可以根據(jù)所述第二代價列表計算所述第一代價列表。所述第一服務器可以向所述客戶端發(fā)送第一節(jié)點代價應答消息,所述第一節(jié)點代價應答消息中包括所述根據(jù)第二代價列表計算得到的第一代價列表。舉例來說,第一源節(jié)點列表為{srcl(10. 102. 81. 55),src2 (10. 102. 41. 73), src3(10. 138. 111. 80)},第一候選節(jié)點列表為{candil (10. 168. 38. 22), candi2(10. 168. 28. 64),candi3(10. 138. 21. 68),candi4(10. 138. 51. 44)},當所述代價類型為路由器跳數(shù),所述第一服務器維護的網(wǎng)絡拓撲信息無法計算任何一個源節(jié)點與任何一個候選節(jié)點之間的網(wǎng)絡時延時,所述第一服務器根據(jù)所述第一源節(jié)點列表中源節(jié)點的地址和下級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。例如第一服務器下包括多個Region,Regionl對應地址前綴為10. 102,Region2對應地址前綴為 10.138。第一服務器向Regionl對應的服務器發(fā)送第二代價請求消息1,其中包括第二源節(jié)點地址列表 1 {srcl (10. 102.81.55),src2(10. 102. 41. 73)},第一候選節(jié)點地址列表 1{candil (10. 168.38.22),candi2(10. 168. 28.64),candi3 (10.138.21.68),candi4(10. 138. 51. 44)},代價類型為網(wǎng)絡時延。第一服務器向Region2對應的服務器發(fā)送第二代價請求消息2,其中包括第二源節(jié)點地址列表2 :{src3 (10. 138. 111.80)}, 第一候選節(jié)點地址列表 2 :{candil(10. 168. 38. 22),candi2(10. 168. 28. 64), candi3 (10. 138. 21. 68),candi4 (10. 138. 51. 44)},代價類型為網(wǎng)絡時延。Regionl對應的服務器根據(jù)所述第二代價消息1,和維護的拓撲信息,計算得到第二代價列表 1 {(srcl,candil,250ms) (srcl,candi2,235ms) (srcl,candi3,150ms) (srcl, candi4,165ms) (src2,candil,255ms) (src2,candi2,250ms) (src2,candi3,175ms) (src2, candi4,185ms)};Region2對應的服務器根據(jù)所述第二代價消息2,和維護的拓撲信息,計算得到第二代價列表 2 {(src3,candil,190ms) (src3,candi2,185ms) (src3,candi3,120ms) (src3, candi4,100ms)}。第二服務器,Regionl對應的服務器和Regi0n2對應的服務器分別向所述第一服務器返回第二代價列表1和第二代價列表2。所述第一服務器用第二代價列表1和第二代價列表2更新第一代價列表,得到更新后的第一代價列表{(srcl,candil, 250ms) (srcl, candi2,235ms) (srcl, candi3,150ms) (srcl, candi4,165ms) (src2, candil,255ms) (src2, candi2,250ms)(src2, candi3,175ms) (src2, candi4,185ms) (src3, candil,190ms) (src3, candi2,185ms) (src3, candi3,120ms) (src3, candi4,100ms) },所述第一服務器向所述客戶端返回所述更新后的第一代價列表。再舉例來說,第一源節(jié)點列表為{srcl(10. 102.81.55), src2(10. 138. 111.80)}, 第一候選節(jié)點列表為{candil (11. 168. 38. 22),candi2 (10. 138. 28. 64), candi3(10. 102. 21. 68),candi4(10. 112. 21. 68),candi5(16. 122. 111. 13)},代價類型從小到大排序;第一服務器根據(jù)代價類型和維護的拓撲信息,計算出部分代價,得到第一代價列表為{(srcl, candi2,0) (srcl, candi3,0) (srcl, candi4,0) (srcl, candil, 1) (srcl, candi5,4), (src2, candi2,0)(src2, candi3,0)(src2, candi4,0)(src2, candil,1) (src2, candi5,4)}。第一服務器不能計算出源節(jié)點srcl與候選節(jié)點Candi2、candi3, candi4的代價, src2與候選節(jié)點Candi2、candi3, candi4的代價;所述第一服務器根據(jù)所述第一源節(jié)點列表中源節(jié)點的地址和下級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。例如第一服務器下包括多個Region,Regionl對應地址前綴為10. 102,Region2對應地址前綴為10. 138。第一服務器向Regionl對應的服務器發(fā)送另一第二代價請求消息1,其中包括第二源節(jié)點地址列表1 :{srCl(10. 102.81.55)},第二候選節(jié)點地址列表1 {candi2(10. 138. 28. 64),candi3(10. 102. 21. 68),candi4(10. 112. 21. 68)},代價類型為從小到大排序。第一服務器向Region〗對應的服務器發(fā)送另一第二代價請求消息2, 其中包括第二源節(jié)點地址列表2 :{src3(10. 138. 111. 80)},第二候選節(jié)點地址列表2 {candi2(10. 138. 28. 64),candi3(10. 102. 21. 68),candi4(10. 112. 21. 68)},代價類型為從小到大排序。Regionl對應的服務器根據(jù)所述另一第二代價消息1,和維護的拓撲信息,計算得到第二代價列表 1 {(srcl, candi3,0) (srcl, candi4,0. 1) (srcl, candi2,0. 3)};
Region2對應的服務器根據(jù)所述另一第二代價消息2,和維護的拓撲信息,計算得到第二代價列表 2 {(src2, candi2,0) (src2, candi4,0. 2) (src2, candi3,0. 3)}。第二服務器,Regionl對應的服務器和Regi0n2對應的服務器分別向所述第一服務器返回第二代價列表1和第二代價列表2。所述第一服務器用第二代價列表1和第二代價列表2更新所述第一代價列表,得到更新后的第一代價列表{(srcl,candi3,0) (srcl, candi4,0. 1) (srcl, candi2,0.3) (srcl, candil,1) (srcl, candi5,4), (src2, candi2,0) (src2, candi4,0. 2) (src2, candi3,0. 3) (src2, candil, 1) (src2, candi5,4)},所述第——月艮務器向所述客戶端返回所述更新后的第一代價列表。所述第一節(jié)點代價請求消息中還可以包括代價方向標識。例如,可以設置所述代價方向標識為上行,表示計算所述第一源節(jié)點列表中每個源節(jié)點到所述第一候選節(jié)點列表中每個候選節(jié)點的代價;還可以設置所述代價方向標識為下行,表示計算所述第一候選節(jié)點列表中每個候選節(jié)點到所述第一源節(jié)點列表中每個源節(jié)點的代價。所述第二節(jié)點代價請求消息中還可以包括代價方向標識。當所述第二服務器不能完成所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向第三服務器發(fā)送第三代價請求消息,所述第三代價請求消息中包括第三源節(jié)點列表、第三候選節(jié)點列表和所述代價類型;依次類推。參見圖2,是本發(fā)明實施例提供的另一種獲取節(jié)點代價的方法流程圖,所述方法包括201 第一服務器接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型。所述客戶端由ISP部署,接收來自上層應用,例如P2P應用的計算節(jié)點間代價的請求。所述客戶端可以維護第一服務器信息表,所述第一服務器信息表包括第一服務器的標識和團體標識的對應關系,所述團體標識可以是IP地址前綴,還可以是域名后綴。所述第一源節(jié)點列表、所述候選節(jié)點列表中可以是節(jié)點的IP地址,還可以是節(jié)點的域名。所述客戶端在發(fā)送所述第一節(jié)點代價請求消息之前,可以根據(jù)源節(jié)點地址查詢第一服務器信息表,獲取所述第一服務器的標識。所述代價類型包括AS跳數(shù),路由器跳數(shù),網(wǎng)絡時延,丟包率,網(wǎng)絡帶寬,排序等。202:根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選列表中每個候選節(jié)點之間的代價。203:向客戶端返回第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含第一服務器能夠計算出代價的源節(jié)點、候選節(jié)點和對應的代價。所述第一服務器根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選列表中每個候選節(jié)點之間的代價,得到第一代價列表,所述第一代價列表中包括所述第一服務器計算出代價的源節(jié)點、候選節(jié)點和對應的代價;所述第一服務器向所述客戶端返回第一代價應答消息,所述應答消息中包含所述第一代價列表。所述第一節(jié)點代價請求消息中還可以包括過濾規(guī)則。例如,AS跳數(shù)小于3,網(wǎng)絡時延小于200ms,代價從小到大排序前3,等等。所述第一服務器還可以根據(jù)所述代價類型和所述過濾規(guī)則計算所述第一源節(jié)點列表中源節(jié)點與所述第一候選列表中候選節(jié)點之間的代價,得到第一代價列表。204:當所述第一服務器不能計算出所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價時,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表。所述第二源節(jié)點列表可以是所述第一源節(jié)點列表的子集或全集;所述第二候選節(jié)點列表可以是所述第一候選節(jié)點列表的子集或全集。所述第一服務器和所述第二服務器可以分層部署,所述第二服務器對應的路由域是所述第一服務器對應的路由域的子域。所述路由域可以包括AS,0SPF域,ISIS域等。例如,所述第一服務器對應自治系統(tǒng)AS,可以收集和維護該AS的拓撲信息,例如BGP路由信息;所述第二服務器對應該AS下的一個區(qū)域Region,可以收集和維護該Region的拓撲信息,例如IGP路由信息。所述第一服務器對應的路由域和所述第二服務器對應的路由域還可以是同一路由域或同級路由域。所述路由域可以包括AS,OSPF域,ISIS域等。例如,所述第一服務器對應第一 AS,維護第一 AS的拓撲信息;所述第二服務器對應第二 AS,可以維護第二 AS的拓撲信息。所述第一服務器向所述客戶端發(fā)送重定向消息之前,可以根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和下級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表;還可以根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和同級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。重定向消息中還可以包括第二候選節(jié)點列表。客戶端收到重定向消息之后,可以向所述第二級服務器發(fā)送第二代價請求消息, 所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型。當所述第二服務器不能完成所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,還可以向所述客戶端發(fā)送第二重定向消息, 所述第二重定向消息中包括第三服務器的標識和對應的第三源節(jié)點列表;依次類推。采用本發(fā)明實施例提供的技術方案,通過從互聯(lián)網(wǎng)服務器提供商ISP分層部署的服務器獲取節(jié)點間的代價,作為節(jié)點選取的依據(jù),實現(xiàn)網(wǎng)絡流量的管理和優(yōu)化。參見圖3,是本發(fā)明實施例提供的一種獲取節(jié)點代價的設備框圖,所述設備包括接收器301,計算單元302和發(fā)送器303。其中所述接收器301,用于接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;所述計算單元302,用于根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價;所述發(fā)送器303,用于向所述客戶端發(fā)送第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含所述第一源節(jié)點列表的源節(jié)點、所述第一候選節(jié)點列表的候選節(jié)點和對應的代價;還用于向第二服務器發(fā)送第二代價請求消息,所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;或者,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表。所述設備還可以包括查詢單元304,用于根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和下級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表;或者,根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和同級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。所述接收器301,還用于接收來自所述第二服務器的第二代價應答消息,所述第二節(jié)點代價應答消息中包括第二代價列表,所述第二代價列表包括所述第二源節(jié)點列表中的源節(jié)點、所述第二候選節(jié)點列表中的候選節(jié)點和對應的代價。所述計算單元302,還用于根據(jù)所述第二代價列表計算所述第一代價列表??蛇x的,所述計算單元302還用于根據(jù)所述代價類型和過濾規(guī)則,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價。參見圖5,是本發(fā)明實施例提供的一種獲取節(jié)點代價的系統(tǒng)示意圖,所述系統(tǒng)包括第一服務器401和第二服務器402。其中所述第一服務器401,用于接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價; 向所述客戶端發(fā)送第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含所述第一源節(jié)點列表的源節(jié)點、所述第一候選節(jié)點列表的候選節(jié)點和對應的代價;還用于當不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向所述第二服務器402發(fā)送第二節(jié)點代價請求消息, 所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;或者, 向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表。所述第二服務器402,用于接收所述第二代價請求消息,根據(jù)所述代價類型,計算所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價, 向所述第一服務器401返回第二代價應答消息,所述第二代價應答消息中包括第二代價列表。所述系統(tǒng)還可以包括客戶端403,用于根據(jù)源節(jié)點地址和服務器信息表,獲取所述第一服務器401的標識和所述第一源節(jié)點列表,向所述第一服務器401發(fā)送所述第一代價請求消息。所述客戶端401可以維護第一服務器信息表,所述第一服務器信息表包括第一服務器的標識和團體標識的對應關系,所述團體標識可以是IP地址前綴,還可以是域名后所述第一服務器401和所述第二服務器402可以分層部署,所述第二服務器402 對應的路由域是所述第一服務器401對應的路由域的子域。相應地,所述第一服務器401還用于在向所述第二服務器402發(fā)送第二代價請求消息或者向所述客戶端403發(fā)送重定向消息之前,根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和下級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。所述第一服務器401對應的路由域和所述第二服務器402對應的路由域還可以是同一路由域或同級路由域。相應地,所述第一服務器401還用于在向所述第二服務器402發(fā)送第二代價請求消息或者向所述客戶端403發(fā)送重定向消息之前,根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和同級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。所述客戶端401還用于在接收所述重定向消息后,向所述第二服務器402發(fā)送第二代價請求消息。所述第一服務器401還用于根據(jù)所述代價類型和過濾規(guī)則計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價。所述系統(tǒng)還可以包括第三服務器404。當所述第二服務器402不能計算出所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價時,向所述第三服務器404發(fā)送第三代價請求消息,所述第二代價請求消息中包括第三源節(jié)點列表、第三候選節(jié)點列表和所述代價類型。 依次類推,所述系統(tǒng)還可以包括第四服務器、第五服務器等。舉例來說,參見圖5,為本發(fā)明實施例提供的一種分層部署服務器的系統(tǒng)示意圖。 第一級服務器ALSl對應AS1,維護ASl的拓撲信息;ALS2對應AS2,維護ASl的拓撲信息。第二級服務器RLSl對應Regionl,維護Regionl的拓撲信息;RLS2對應Region2,維護 Region2的拓撲信息;RLS3對應Region3,維護Region3的拓撲信息;RLS4對應Region4,維護Region4的拓撲信息;RLSl對應Region5和Region6,維護Region5和Region6的拓撲信息??蛻舳司S護第一服務器信息表,包括第一級服務器的標識和IP地址前綴的對應關系。第一級服務器維護同級服務器信息表,包括第一級服務器的標識和地址前綴的對應關系;還維護下級服務器信息表,包括本AS內(nèi)第二級服務器的標識和地址前綴的對應關系。 第二級服務器維護同級服務器信息表,包括同一個AS內(nèi)第二級服務器的標識和IP地址前綴的對應關系。同級服務器之間可以通過P2P方式,例如DHT部署和維護,還可以通過C/ S (Client-Server,客戶端-服務器)方式部署和維護。本發(fā)明實施例提供的分層部署服務器的系統(tǒng)不限于兩層。采用本發(fā)明實施例提供的技術方案,通過從互聯(lián)網(wǎng)服務器提供商ISP分層部署的服務器獲取節(jié)點間的代價,作為節(jié)點選取的依據(jù),實現(xiàn)網(wǎng)絡流量的管理和優(yōu)化。本領域普通技術人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關的硬件完成,所述的程序可以存儲于計算機可讀存儲介質(zhì)中,所述存儲介質(zhì)可以是R0M/RAM,磁盤或光盤等。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此, 任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換, 都應涵蓋在本發(fā)明的保護范圍之內(nèi)。
權利要求
1.一種獲取節(jié)點間代價的方法,其特征在于,包括第一服務器接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價;當所述第一服務器不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向第二服務器發(fā)送第二代價請求消息,所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;接收來自所述第二服務器的第二代價應答消息,所述第二節(jié)點代價應答消息中包括第二代價列表,所述第二代價列表包括所述第二源節(jié)點列表中源節(jié)點、第二候選節(jié)點列表中候選節(jié)點和對應的代價;根據(jù)所述第二代價列表計算第一代價列表,向所述客戶端發(fā)送第一代價應答消息,所述第一代價響應消息中包括所述第一代價列表。
2.根據(jù)權利要求1所述的方法,其特征在于所述第一服務器和所述第二服務器分層部署,所述第二服務器對應的路由域是所述第一服務器對應的路由域的子域。
3.根據(jù)權利要求2所述的方法,其特征在于,在向第二服務器發(fā)送第二節(jié)點代價請求消息之前,還包括所述第一服務器根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點標識和下級服務器信息表,獲取所述第二服務器的標識和所述第二源節(jié)點列表。
4.根據(jù)權利要求1所述的方法,其特征在于,所述第一服務器對應的路由域和所述第二服務器對應的路由域是同一路由域或同級路由域。
5.根據(jù)權利要求4所述的方法,其特征在于,在向第二服務器發(fā)送第二節(jié)點代價請求消息之前,還包括所述第一服務器根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點標識和同級服務器信息表,獲取所述第二服務器的標識和所述第二源節(jié)點列表。
6.根據(jù)權利要求1至5任一項所述的方法,其特征在于,所述第二源節(jié)點列表為第一源節(jié)點列表的全集或子集。
7.根據(jù)權利要求1所述的方法,其特征在于,所述第一代價請求消息還包括過濾規(guī)則; 相應地,所述第一服務器根據(jù)所述代價類型和所述過濾規(guī)則,計算出所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價。
8.一種獲取節(jié)點間代價的方法,其特征在于,包括第一服務器接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選列表中每個候選節(jié)點之間的代價;向所述客戶端返回第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含第一服務器能夠計算出代價的源節(jié)點、候選節(jié)點和對應的代價;當所述第一服務器不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表。
9.根據(jù)權利要求8所述的方法,其特征在于,所述第一服務器和所述第二服務器分層部署,所述第二服務器對應的路由域是所述第一服務器對應的路由域的子域。
10.根據(jù)權利要求9所述的方法,其特征在于,在向所述客戶端發(fā)送重定向消息之前, 還包括所述第一服務器根據(jù)不能計算出代價的源節(jié)點和候選節(jié)點對的集合中的源節(jié)點的標識和下級服務器信息表,獲取所述第二服務器的標識和所述第二源節(jié)點列表。
11.根據(jù)權利要求8所述的方法,其特征在于,所述第一服務器對應的路由域和所述第二服務器對應的路由域是同一路由域或同級路由域。
12.根據(jù)權利要求11所述的方法,其特征在于,在向所述客戶端發(fā)送重定向消息之前, 還包括所述第一服務器根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和同級服務器信息表,獲取所述第二服務器的標識和所述第二源節(jié)點列表。
13.根據(jù)權利要求8所述的方法,其特征在于,所述第一代價請求消息還包括過濾規(guī)則;相應地,所述第一服務器根據(jù)所述代價類型和所述過濾規(guī)則,計算出所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價。
14.一種獲取節(jié)點間代價的設備,其特征在于,包括接收器,計算單元和發(fā)送器,其中 所述接收器,用于接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;所述計算單元,用于根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價;所述發(fā)送器,用于向所述客戶端發(fā)送第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含所述第一源節(jié)點列表的源節(jié)點、所述第一候選節(jié)點列表的候選節(jié)點和對應的代價;還用于向第二服務器發(fā)送第二代價請求消息,所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;或者,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表。
15.根據(jù)權利要求14所述的設備,其特征在于,所述設備還包括查詢單元,用于根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和下級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表;或者,根據(jù)所述第一源節(jié)點列表中不能計算出代價的源節(jié)點的標識和同級服務器信息表,獲取所述第二服務器的標識和對應的第二源節(jié)點列表。
16.根據(jù)權利要求14或15所述的設備,其特征在于,所述接收器,還用于接收來自所述第二服務器的第二代價應答消息,所述第二代價應答消息中包括第二代價列表,所述第二代價列表包括所述第二源節(jié)點列表中的源節(jié)點、所述第二候選節(jié)點列表中的候選節(jié)點和對應的代價;所述計算單元,還用于根據(jù)所述第二代價列表計算所述第一代價列表。
17.一種獲取節(jié)點間代價的系統(tǒng),其特征在于,包括第一服務器和第二服務器,其中 所述第一服務器,用于接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價;向所述客戶端發(fā)送第一代價應答消息,所述應答消息中包含第一代價列表,所述第一代價列表中包含所述第一源節(jié)點列表的源節(jié)點、所述第一候選節(jié)點列表的候選節(jié)點和對應的代價;還用于當不能完成所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價計算時,向所述第二服務器發(fā)送第二節(jié)點代價請求消息,所述第二代價請求消息中包括第二源節(jié)點列表、第二候選節(jié)點列表和所述代價類型;或者,向所述客戶端發(fā)送重定向消息,所述重定向消息中包括第二服務器的標識和第二源節(jié)點列表;所述第二服務器,用于接收所述第二代價請求消息,根據(jù)所述代價類型,計算所述第二源節(jié)點列表中每個源節(jié)點與所述第二候選節(jié)點列表中每個候選節(jié)點之間的代價,向所述第一服務器返回第二代價應答消息,所述第二代價應答消息中包括第二代價列表。
18.根據(jù)權利要求17所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括客戶端;所述客戶端,用于根據(jù)源節(jié)點標識和第一服務器信息表,獲取所述第一服務器的標識和所述第一源節(jié)點列表,向所述第一服務器發(fā)送所述第一代價請求消息。
19.根據(jù)權利要求17或18所述的系統(tǒng),其特征在于,所述第一服務器和所述第二服務器分層部署,所述第二服務器對應的路由域是所述第一服務器對應的路由域的子域;或者,所述第一服務器對應的路由域和所述第二服務器對應的路由域是同一路由域或同級路由域。
20.根據(jù)權利要求19所述的系統(tǒng),其特征在于,所述第一服務器還用于根據(jù)過濾規(guī)則和所述代價類型計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價。
全文摘要
本發(fā)明實施例公開了一種獲取節(jié)點間代價的方法,設備和系統(tǒng),所述方法包括第一服務器接收來自客戶端的第一代價請求消息,所述第一代價請求消息中包括第一源節(jié)點列表、第一候選節(jié)點列表和代價類型;根據(jù)所述代價類型,計算所述第一源節(jié)點列表中每個源節(jié)點與所述第一候選節(jié)點列表中每個候選節(jié)點之間的代價。采用本發(fā)明實施例提供的技術方案,通過從互聯(lián)網(wǎng)服務器提供商ISP分層部署的服務器獲取節(jié)點間的代價,作為節(jié)點選取的依據(jù),實現(xiàn)網(wǎng)絡流量的管理和優(yōu)化。
文檔編號H04L12/56GK102255811SQ201110197448
公開日2011年11月23日 申請日期2011年7月14日 優(yōu)先權日2011年7月14日
發(fā)明者周洪, 趙宇萍, 鄒嶸, 陳健 申請人:華為技術有限公司