專利名稱:一種選擇服務(wù)節(jié)點的方法、系統(tǒng)和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種選擇服務(wù)節(jié)點的方法、系統(tǒng)和設(shè)備。
背景技術(shù):
近年來寬帶的普及,大大加速了互聯(lián)網(wǎng)應(yīng)用的發(fā)展,尤其是流媒體應(yīng)用,其用戶總 量大而且增長很快,流媒體市場容量大大增加。傳統(tǒng)的由互聯(lián)網(wǎng)內(nèi)容提供商(ICP,Internet Content Provider)直接提供內(nèi)容服務(wù)的模式正面臨嚴重的挑戰(zhàn)。ICP通常是在一個或者 少數(shù)幾個地方建立物理節(jié)點,各節(jié)點由部署的若干服務(wù)器或者集群組成,通過這些節(jié)點直 接面向全國乃至全球互聯(lián)網(wǎng)用戶提供內(nèi)容服務(wù)。但由于ICP的物理節(jié)點的網(wǎng)絡(luò)帶寬瓶頸和 處理能力瓶頸等問題,使得用戶訪問ICP網(wǎng)站的用戶體驗下降甚至出現(xiàn)無法訪問的情況。內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN,Content Delivery Network)是解決這些問題的有效辦法,即 通過在現(xiàn)有的互聯(lián)網(wǎng)的基礎(chǔ)上建立一層覆蓋網(wǎng)絡(luò),來高效穩(wěn)定地將服務(wù)內(nèi)容從ICP分發(fā)給 互聯(lián)網(wǎng)用戶。CDN能夠極大地緩解互聯(lián)網(wǎng)的擁塞情況,為用戶提供低延遲、穩(wěn)定的內(nèi)容服務(wù)。 具體來說,⑶N的技術(shù)原理是1)通過在全國多地部署若干服務(wù)節(jié)點,并將這些服務(wù)節(jié)點通過互聯(lián)網(wǎng)絡(luò)相互連 接,形成內(nèi)容分發(fā)網(wǎng)絡(luò);2)選擇距離ICP源站節(jié)點最近或者連接狀況最好的一個或多個節(jié)點,從ICP源站 節(jié)點上獲取服務(wù)內(nèi)容,并通過1)中建立好的分發(fā)網(wǎng)絡(luò),將服務(wù)內(nèi)容推送到最接近用戶的服 務(wù)節(jié)點上;3)互聯(lián)網(wǎng)用戶通過域名解析系統(tǒng)(DNS,Domain Name System)解析獲得合適的 CDN服務(wù)節(jié)點,并連接該服務(wù)節(jié)點從而訪問所需的服務(wù)內(nèi)容。其中,3)中的用戶通過DNS解析獲得合適⑶N服務(wù)節(jié)點的技術(shù),又稱為全局負載均 衡技術(shù),其具體流程包括1)互聯(lián)網(wǎng)用戶在客戶端輸入要訪問的內(nèi)容網(wǎng)站的域名,客戶端的瀏覽器向本地域 名解析系統(tǒng)(LDNS,Local DNS)請求對該域名的解析;2)LDNS檢查自身是否緩存有該域名的解析記錄,有則將解析結(jié)果(即服務(wù)節(jié)點的 IP地址)返回給客戶端,否則將請求發(fā)到⑶N的主DNS ;3)⑶N的主DNS根據(jù)一系列策略確定當時適合該客戶端的⑶N服務(wù)節(jié)點,并將該 CDN服務(wù)節(jié)點的IP地址(即解析結(jié)果)返回給LDNS,LDNS緩存該解析結(jié)果,并將結(jié)果返回 給客戶端;4)客戶端根據(jù)返回的服務(wù)節(jié)點的IP地址向給定的服務(wù)節(jié)點請求相應(yīng)的服務(wù)內(nèi)容。全局負載均衡技術(shù)的應(yīng)用能夠避免服務(wù)器、數(shù)據(jù)中心等的單點失效,能夠部分解 決網(wǎng)絡(luò)擁塞問題,提高服務(wù)器的響應(yīng)速度,服務(wù)就近提供,達到更好的訪問質(zhì)量。但是傳統(tǒng) 的基于DNS的GLSB中⑶N的主DNS根據(jù)一系列的策略確定合適的⑶N服務(wù)節(jié)點的依據(jù)主 要是LDNS的地理位置和CDN服務(wù)節(jié)點的服務(wù)器的負載狀況,這樣就會存在一些問題
根據(jù)LDNS的地理位置選取的服務(wù)節(jié)點對客戶端來說并不一定是服務(wù)質(zhì)量最好的 服務(wù)節(jié)點,原因在于⑶N的主DNS根據(jù)LDNS的地理位置選擇服務(wù)節(jié)點一定會選擇距離該 LDNS地理位置最近的服務(wù)節(jié)點,并發(fā)送給該LDNS,再由LDNS發(fā)送給客戶端;但地理距離最 近的服務(wù)節(jié)點由于性能等方面的因素并不一定比地理距離稍遠的服務(wù)節(jié)點提供的服務(wù)質(zhì) 量好,此外,客戶端設(shè)置的LDNS也可能配置錯誤,⑶N的主DNS所維護的IP地址庫也可能 因為沒有更新或數(shù)據(jù)不準確導(dǎo)致確定LDNS地理位置時出現(xiàn)錯誤等,同時,現(xiàn)有技術(shù)較難適 應(yīng)網(wǎng)絡(luò)性能變化頻繁的互聯(lián)網(wǎng),因此現(xiàn)有技術(shù)的服務(wù)節(jié)點的選擇方式導(dǎo)致CDN系統(tǒng)的服務(wù) 質(zhì)量不高。
發(fā)明內(nèi)容
本發(fā)明提供一種選擇服務(wù)節(jié)點的方法、系統(tǒng)和設(shè)備,能夠根據(jù)網(wǎng)絡(luò)距離為客戶端 選擇合適的服務(wù)節(jié)點,提高了 CDN系統(tǒng)的服務(wù)質(zhì)量。一種選擇服務(wù)節(jié)點的方法,包括接收客戶端的服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的地址信息;獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點;將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。一種內(nèi)容分發(fā)系統(tǒng),包括客戶端,用于向負載均衡單元發(fā)送服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的 地址信息;負載均衡單元,用于接收所述服務(wù)請求,并獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò) 距離,并根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點,將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。一種負載均衡設(shè)備,包括接收單元,用于接收客戶端的服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的地址 fn息;選取單元,用于獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選擇 服務(wù)節(jié)點;響應(yīng)單元,用于將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。本發(fā)明實施例提供的選擇服務(wù)節(jié)點的方法,能夠確定客戶端和服務(wù)節(jié)點在網(wǎng)絡(luò)坐 標系中的網(wǎng)絡(luò)坐標,并在接收到客戶端的服務(wù)請求時,獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng) 絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點,以及將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。 因為網(wǎng)絡(luò)距離反映的是客戶端和服務(wù)節(jié)點之間的網(wǎng)絡(luò)鏈路狀況,根據(jù)客戶端和服務(wù)節(jié)點之 間的網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點,能夠提高CDN系統(tǒng)的服務(wù)質(zhì)量。進一步,在選擇服務(wù)節(jié)點時, 還要考慮到服務(wù)節(jié)點的服務(wù)狀況信息,避免選擇負載較大或資源不夠的服務(wù)節(jié)點,更進一 步提高了 CDN系統(tǒng)的服務(wù)質(zhì)量。
圖1為本發(fā)明實施例提供的內(nèi)容分發(fā)系統(tǒng)的結(jié)構(gòu)圖;圖2為本發(fā)明實施例提供的負載均衡單元的結(jié)構(gòu)圖;圖3為本發(fā)明實施例提供的選擇服務(wù)節(jié)點的方法流程圖4為本發(fā)明實施例提供的確定客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)坐標的方法流 程圖。
具體實施例方式由于現(xiàn)有技術(shù)中⑶N的主DNS是依據(jù)LDNS的地理位置為客戶端分配服務(wù)節(jié)點,因 此會使得CDN系統(tǒng)的服務(wù)質(zhì)量不高,并且根據(jù)LDNS的地理位置分配服務(wù)節(jié)點,分配粒度太 粗,較容易引起網(wǎng)絡(luò)擁塞和服務(wù)器壓力過大,同時由于LDNS的地理位置固定不變,因此這 種分配無法適應(yīng)網(wǎng)絡(luò)性能變化頻繁的互聯(lián)網(wǎng)。為了解決上述問題,本發(fā)明實施例提供一種選擇服務(wù)節(jié)點的方法、系統(tǒng)和設(shè)備,利 用網(wǎng)絡(luò)坐標找出距離客戶端的網(wǎng)絡(luò)距離較近的服務(wù)節(jié)點,并進一步結(jié)合服務(wù)節(jié)點的服務(wù)狀 況信息,將客戶端的服務(wù)請求調(diào)度到合適的服務(wù)節(jié)點上,能夠有效提高CDN系統(tǒng)的服務(wù)質(zhì)量。正是由于LDNS的地理位置在分配服務(wù)節(jié)點時存在上述問題,因此在本發(fā)明中采 用客戶端、服務(wù)節(jié)點的網(wǎng)絡(luò)坐標確定客戶端和服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離為客 戶端選擇合適的服務(wù)節(jié)點。下面先對網(wǎng)絡(luò)坐標進行說明。在互聯(lián)網(wǎng)應(yīng)用中有很多場合需要估計網(wǎng)絡(luò)距離,即往返時延(round-trip delay)。比如在CDN服務(wù)器負載均衡時,選擇離客戶端網(wǎng)絡(luò)距離較近的服務(wù)節(jié)點作為客戶 端的服務(wù)節(jié)點,以使得客戶端能夠獲得較好的服務(wù)質(zhì)量,這時,就需要估計網(wǎng)絡(luò)中的客戶端 到各個服務(wù)節(jié)點的網(wǎng)絡(luò)距離。目前,采用網(wǎng)絡(luò)坐標估計網(wǎng)絡(luò)中端到端的網(wǎng)絡(luò)距離是比較有 效的方法,其基本思想是根據(jù)網(wǎng)絡(luò)節(jié)點之間的網(wǎng)絡(luò)距離信息,將網(wǎng)絡(luò)節(jié)點映射到一個N維 坐標系中(即初始網(wǎng)絡(luò)坐標系),確定各網(wǎng)絡(luò)節(jié)點的網(wǎng)絡(luò)坐標,根據(jù)網(wǎng)絡(luò)坐標即可估算各網(wǎng) 絡(luò)節(jié)點之間的網(wǎng)絡(luò)距離。全球網(wǎng)絡(luò)定位(GNP,Global Network Positioning)是其中一種算法復(fù)雜度較低、 置信度較高的網(wǎng)絡(luò)坐標算法。下面簡要說明GNP算法估計網(wǎng)絡(luò)節(jié)點間的網(wǎng)絡(luò)距離的計算步 驟1)在網(wǎng)絡(luò)中確定一些節(jié)點作為路標節(jié)點,實際測量路標節(jié)點之間的網(wǎng)絡(luò)距離(即往返 時延);2)根據(jù)各路標節(jié)點之間的網(wǎng)絡(luò)距離,確定路標節(jié)點在N維坐標系中的坐標,確定依 據(jù)是使得各路標節(jié)點的坐標間的距離和各路標節(jié)點的網(wǎng)絡(luò)距離的均方差最??;3)根據(jù)需 要測量的普通主機和各路標節(jié)點之間的網(wǎng)絡(luò)距離,確定需要測量的普通主機在N維坐標系 中的坐標,確定方法是測量普通主機和各個路標節(jié)點之間的網(wǎng)絡(luò)距離,并確定普通主機在 N維坐標系中的坐標,使得普通主機和各個路標節(jié)點坐標間距離與網(wǎng)絡(luò)距離的均方差最?。?4)根據(jù)兩臺普通主機在N維坐標系中的坐標(即GNP坐標)確定兩臺普通主機網(wǎng)絡(luò)坐標 間的距離,并將該距離作為兩臺普通主機的網(wǎng)絡(luò)距離的估計值。采用網(wǎng)絡(luò)坐標的方法,根據(jù) 網(wǎng)絡(luò)坐標即可估算各網(wǎng)絡(luò)節(jié)點之間的網(wǎng)絡(luò)距離,而不用實際測量各網(wǎng)絡(luò)節(jié)點之間的網(wǎng)絡(luò)距 離。并且,通過實驗證明,直接通過GNP坐標確定得到的兩臺主機間的坐標距離,能比較精 確反映網(wǎng)絡(luò)中兩臺主機間的網(wǎng)絡(luò)距離。本發(fā)明正是利用了網(wǎng)絡(luò)坐標,提供一種基于網(wǎng)絡(luò)坐標的服務(wù)節(jié)點的選擇方法及系 統(tǒng),能夠利用網(wǎng)絡(luò)坐標確定距離客戶端網(wǎng)絡(luò)距離較近的服務(wù)節(jié)點并結(jié)合服務(wù)節(jié)點的服務(wù)狀 況,將客戶端的服務(wù)請求調(diào)度到較佳的服務(wù)節(jié)點上,有效提高CDN服務(wù)系統(tǒng)的服務(wù)質(zhì)量,并 提高用戶體驗。
如圖1所示,為本發(fā)明實施例提供的內(nèi)容分發(fā)系統(tǒng),包括客戶端101,用于向負載均衡單元發(fā)送服務(wù)請求,其中,服務(wù)請求用于請求服務(wù)節(jié) 點的地址信息;服務(wù)請求中同時包含客戶端的IP地址;負載均衡單元102,用于接收客戶端101發(fā)送的服務(wù)請求,并獲得客戶端和服務(wù)節(jié) 點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點,并將服務(wù)節(jié)點103的地址信息返回給客戶 端;具體為獲取客戶端101在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,根據(jù)客戶端101與預(yù)先確定 的CDN網(wǎng)絡(luò)中的服務(wù)節(jié)點103間在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,獲得客戶端和服務(wù)節(jié)點的網(wǎng) 絡(luò)距離;當然負載均衡單元102,還可以預(yù)先確定各個客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距 離,生成路由決策表,則在接收到服務(wù)請求后,可直接從路由決策表中按照網(wǎng)絡(luò)距離直接選 擇服務(wù)節(jié)點,而不用再進行網(wǎng)絡(luò)距離的計算,可節(jié)省時間;負載均衡單元接收到客戶端的服務(wù)請求,并根據(jù)服務(wù)請求中的客戶端的IP地址 獲取客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,具體的獲取方式有1)指派設(shè)定數(shù)目的服務(wù)節(jié)點和客戶端之間進行數(shù)據(jù)包探測,獲得客戶端和該服務(wù) 節(jié)點間的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離以及預(yù)先確定的該服務(wù)節(jié)點的網(wǎng)絡(luò)坐標確定客戶端在 網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標;由客戶端向網(wǎng)絡(luò)坐標系中已有的設(shè)定個節(jié)點發(fā)送探測數(shù)據(jù)包(或者由網(wǎng)絡(luò)坐標 系中已有的的設(shè)定個節(jié)點向客戶端發(fā)送探測數(shù)據(jù)包)獲得設(shè)定個網(wǎng)絡(luò)距離,根據(jù)該設(shè)定個 節(jié)點的網(wǎng)絡(luò)坐標以及客戶端和該設(shè)定個節(jié)點之間的網(wǎng)絡(luò)距離確定客戶端在網(wǎng)絡(luò)坐標系中 的網(wǎng)絡(luò)坐標。2)負載均衡單元預(yù)先確定客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,在接收到服務(wù)請求 時,直接獲得即可,不必再進行探測,節(jié)省時間;其中,預(yù)先確定客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標的方法參照1);3)負載均衡單元預(yù)先確定客戶端的IP地址段內(nèi)任意IP地址在網(wǎng)絡(luò)坐標系中的網(wǎng) 絡(luò)坐標,在接收到服務(wù)請求時,直接將IP地址段內(nèi)任意IP地址對應(yīng)的網(wǎng)絡(luò)坐標確定為該客 戶端的IP地址對應(yīng)的網(wǎng)絡(luò)坐標;其中,預(yù)先確定客戶端的IP地址段內(nèi)任意IP地址在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標的 方法同樣和1)相同,只是3)中可以將客戶端的IP地址段內(nèi)任意IP地址的網(wǎng)絡(luò)坐標確定 為客戶端的IP地址的網(wǎng)絡(luò)坐標,同樣能夠節(jié)省時間,不必對每個客戶端均計算網(wǎng)絡(luò)坐標;其中,負載均衡單元102可根據(jù)網(wǎng)絡(luò)距離選擇網(wǎng)絡(luò)距離最近的服務(wù)節(jié)點103,并將 該服務(wù)節(jié)點103的地址信息返回給客戶端;較佳地,負載均衡單元102具體根據(jù)客戶端101和每一個服務(wù)節(jié)點103的網(wǎng)絡(luò)距 離以及每一個服務(wù)節(jié)點的服務(wù)狀況信息選擇服務(wù)節(jié)點,這樣既考慮了客戶端和服務(wù)節(jié)點間 的網(wǎng)絡(luò)距離,使得客戶端能夠就近獲得服務(wù),同時考慮了服務(wù)節(jié)點的服務(wù)狀況,(即服務(wù)節(jié) 點的是否可服務(wù),服務(wù)節(jié)點的負載狀況等信息),能夠有效提高CDN系統(tǒng)的服務(wù)質(zhì)量。其中,服務(wù)節(jié)點103的服務(wù)狀況信息包括負載狀況信息以及服務(wù)節(jié)點的可服務(wù) 性信息,可服務(wù)性信息是指服務(wù)節(jié)點是否可提供服務(wù),例如服務(wù)節(jié)點軟件或硬件故障時則服務(wù)節(jié)點不可服務(wù);例如根據(jù)網(wǎng)絡(luò)距離以及服務(wù)狀況信息選擇服務(wù)節(jié)點時,首先選擇與客戶端網(wǎng)絡(luò) 距離最近的服務(wù)節(jié)點,再查看該服務(wù)節(jié)點的服務(wù)狀況,當該服務(wù)節(jié)點的服務(wù)狀況信息達到 設(shè)定的條件時,則選擇該服務(wù)節(jié)點;當該服務(wù)節(jié)點的服務(wù)狀況信息沒有達到設(shè)定的條件,表 示該服務(wù)節(jié)點過于繁忙或者該服務(wù)節(jié)點被損壞不能提供服務(wù),則選擇與客戶端距離第二近 的服務(wù)節(jié)點,再依次判斷服務(wù)狀況信息,依此類推,直到為用戶選擇到合適的服務(wù)節(jié)點。其中,設(shè)定的條件可以是服務(wù)節(jié)點可服務(wù)并且服務(wù)節(jié)點的負載低于一定的閾值。較佳地,負載均衡單元102根據(jù)客戶端101和每一個服務(wù)節(jié)點103的網(wǎng)絡(luò)距離選 擇服務(wù)節(jié)點時,還參照每一個服務(wù)節(jié)點的實際地理位置信息,也可以結(jié)合現(xiàn)有的基于IP地 址庫的選擇方法。IP地址庫中存儲服務(wù)節(jié)點的實際地理位置以及所屬的電信運營商,在根 據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點時,還可以參照IP地址庫中的信息,選擇網(wǎng)絡(luò)距離較小,且與客 戶端的實際地理位置之間相隔較近的服務(wù)節(jié)點,或者結(jié)合運營商、實際地理位置和網(wǎng)絡(luò)距 離綜合選擇服務(wù)節(jié)點。負載均衡單元102預(yù)先確定⑶N網(wǎng)絡(luò)中的每一個服務(wù)節(jié)點間在網(wǎng)絡(luò)坐標系中的網(wǎng) 絡(luò)坐標的方法為1)負載均衡單元選取設(shè)定數(shù)量的服務(wù)節(jié)點作為路標節(jié)點,并由路標節(jié)點之間發(fā)送 探測數(shù)據(jù)包獲得任意兩個路標節(jié)點之間的網(wǎng)絡(luò)距離;2)根據(jù)所有兩個路標節(jié)點之間的網(wǎng)絡(luò)距離,依據(jù)現(xiàn)有的網(wǎng)絡(luò)坐標算法生成網(wǎng)絡(luò)坐 標系并確定各路標節(jié)點的網(wǎng)絡(luò)坐標;3)確定⑶N系統(tǒng)中的其他服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標;其中,確定其他服務(wù)節(jié)點中每一個服務(wù)節(jié)點的方法是由設(shè)定個路標節(jié)點向該服 務(wù)節(jié)點發(fā)送探測數(shù)據(jù)包(或者由其他服務(wù)節(jié)點向路標節(jié)點發(fā)送探測數(shù)據(jù)包),并獲得路標 節(jié)點和該服務(wù)節(jié)點之間的網(wǎng)絡(luò)距離(即往返延時),根據(jù)獲得的設(shè)定個網(wǎng)絡(luò)距離,確定該服 務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標。當網(wǎng)絡(luò)坐標系中既有路標節(jié)點的網(wǎng)絡(luò)坐標又存在其他服務(wù)節(jié)點的網(wǎng)絡(luò)坐標時,若 需要在網(wǎng)絡(luò)坐標系中新加入一個服務(wù)節(jié)點時,則可通過該服務(wù)節(jié)點向網(wǎng)絡(luò)坐標系中的設(shè)定 個服務(wù)節(jié)點發(fā)送探測數(shù)據(jù)包,并獲得新加入的服務(wù)節(jié)點和設(shè)定個服務(wù)節(jié)點之間的網(wǎng)絡(luò)距 離,根據(jù)該設(shè)定個網(wǎng)絡(luò)距離確定新加入的服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標;其中,負載均衡單元確定出客戶端以及服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標后, 定期會對客戶端和服務(wù)節(jié)點的網(wǎng)絡(luò)坐標進行更新或修正;更新或修正時,可以重新進行1)至3),對所有節(jié)點的網(wǎng)絡(luò)坐標進行更新;或者當 只對某個節(jié)點的網(wǎng)絡(luò)坐標進行更新或修正時,只需重新在該節(jié)點和網(wǎng)絡(luò)坐標系中的設(shè)定個 不需修正的節(jié)點之間發(fā)送探測數(shù)據(jù)包,獲得設(shè)定個網(wǎng)絡(luò)距離后重新確定該節(jié)點的網(wǎng)絡(luò)坐標 即可??紤]到不同時間,網(wǎng)絡(luò)時延變化比較明顯,因此,在生成包含客戶端和服務(wù)節(jié)點的 網(wǎng)絡(luò)坐標時,可以根據(jù)時間段生成若干組網(wǎng)絡(luò)坐標,即對網(wǎng)絡(luò)坐標進行區(qū)分,在任何時間接 收到查詢請求時,根據(jù)當前對應(yīng)的時間段內(nèi)的網(wǎng)絡(luò)坐標確定網(wǎng)絡(luò)距離,選擇服務(wù)節(jié)點即可。較佳地,上述系統(tǒng)中,客戶端101還用于接收負載均衡單元返回的服務(wù)節(jié)點的地 址信息,并根據(jù)該地址信息向服務(wù)節(jié)點發(fā)起內(nèi)容或業(yè)務(wù)請求;以及上述系統(tǒng)還包括
服務(wù)節(jié)點103,用于接收客戶端的內(nèi)容或業(yè)務(wù)請求,并向客戶端提供所請求的服務(wù)。其中,如圖2所示,負載均衡單元具體包括接收單元201,用于接收客戶端的服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的地
址信息;選取單元202,用于獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選 擇服務(wù)節(jié)點;具體為獲取客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,根據(jù)客戶端和預(yù)先確定的每一 個服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離。當然,也可以預(yù)先確定出各個客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,生成路由決 策表,并在接收到服務(wù)請求后,直接在路由決策表中查找即可;響應(yīng)單元203,用于將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。選取單元202,具體用于指派設(shè)定數(shù)目的服務(wù)節(jié)點和客戶端之間進行數(shù)據(jù)包探測 獲得客戶端和該服務(wù)節(jié)點間的網(wǎng)絡(luò)距離,并根據(jù)所述網(wǎng)絡(luò)距離以及預(yù)先確定的該服務(wù)節(jié)點 的網(wǎng)絡(luò)坐標確定客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標。其中,選取單元202,在根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點時,還參照每一個服務(wù)節(jié)點的 服務(wù)狀況信息選擇服務(wù)節(jié)點或者參照每一個服務(wù)節(jié)點的實際地理位置選擇服務(wù)節(jié)點。如圖3所示,本發(fā)明實施例還提供一種選擇服務(wù)節(jié)點的方法,包括S301、接收客戶端的服務(wù)請求,其中,服務(wù)請求用于請求服務(wù)節(jié)點的地址信息;S302、獲取客戶端在預(yù)先生成的網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標;具體為1)指派設(shè)定數(shù)目的服務(wù)節(jié)點和客戶端之間進行數(shù)據(jù)包探測,獲得客戶端 和該服務(wù)節(jié)點間的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離以及預(yù)先確定的該服務(wù)節(jié)點的網(wǎng)絡(luò)坐標確定 客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標;由客戶端向網(wǎng)絡(luò)坐標系中已有的設(shè)定個節(jié)點發(fā)送探測數(shù)據(jù)包(或者由網(wǎng)絡(luò)坐標 系中已有的的設(shè)定個節(jié)點向客戶端發(fā)送探測數(shù)據(jù)包)獲得設(shè)定個網(wǎng)絡(luò)距離,根據(jù)該設(shè)定個 節(jié)點的網(wǎng)絡(luò)坐標以及客戶端和該設(shè)定個節(jié)點之間的網(wǎng)絡(luò)距離確定客戶端在網(wǎng)絡(luò)坐標系中 的網(wǎng)絡(luò)坐標。2)預(yù)先確定客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,在接收到服務(wù)請求時,直接獲得 即可,不必再進行探測,節(jié)省時間;其中,預(yù)先確定客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標的方法參照1);3)預(yù)先確定客戶端的IP地址段內(nèi)任意IP地址在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,在接 收到服務(wù)請求時,直接將IP地址段內(nèi)任意IP地址對應(yīng)的網(wǎng)絡(luò)坐標確定為該客戶端的IP地 址對應(yīng)的網(wǎng)絡(luò)坐標;其中,預(yù)先確定客戶端的IP地址段內(nèi)任意IP地址在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標的 方法同樣和1)相同,只是3)中可以將客戶端的IP地址段內(nèi)任意IP地址的網(wǎng)絡(luò)坐標確定 為客戶端的IP地址的網(wǎng)絡(luò)坐標,同樣能夠節(jié)省時間,不必對每個客戶端均計算網(wǎng)絡(luò)坐標;S303、根據(jù)客戶端和預(yù)先確定的每一個服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,獲 得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離;S304、根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點;
根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點可以選擇距離客戶端網(wǎng)絡(luò)距離最近的服務(wù)節(jié)點;進一步,還可以結(jié)合服務(wù)節(jié)點的服務(wù)狀況信息,根據(jù)網(wǎng)絡(luò)距離以及服務(wù)節(jié)點的服 務(wù)狀況信息選擇服務(wù)節(jié)點;當然,也可以結(jié)合服務(wù)節(jié)點的實際地理位置信息選擇服務(wù)節(jié)點。S305、將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。當然,在步驟S302、S303中,也可以預(yù)先獲取客戶端(或者客戶端所在IP地址段 內(nèi)的任意IP地址)和服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,并預(yù)先獲得客戶端(或者客戶 端所在IP地址段內(nèi)的任意IP地址)和每個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,生成路由決策表,則在接 收到客戶端的服務(wù)請求時,可以直接在路由決策表中查找即可,而不必每次接收到請求后 都進行計算,可節(jié)省時間,提高查詢速度,進一步提高了 CDN系統(tǒng)的服務(wù)質(zhì)量。其中,步驟S303中,預(yù)先確定服務(wù)節(jié)點的網(wǎng)絡(luò)坐標的方法如圖4所示,具體包括S401、負載均衡單元選取設(shè)定數(shù)量的服務(wù)節(jié)點作為路標節(jié)點,并由路標節(jié)點之間 發(fā)送探測數(shù)據(jù)包獲得任意兩個路標節(jié)點之間的網(wǎng)絡(luò)距離;S402、根據(jù)所有路標節(jié)點之間的網(wǎng)絡(luò)距離,依據(jù)現(xiàn)有的網(wǎng)絡(luò)坐標算法生成網(wǎng)絡(luò)坐 標系并確定各路標節(jié)點的網(wǎng)絡(luò)坐標;S403、確定⑶N系統(tǒng)中的其他服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標;其中,確定其他服務(wù)節(jié)點中每一個服務(wù)節(jié)點的方法是由設(shè)定個路標節(jié)點向該服 務(wù)節(jié)點發(fā)送探測數(shù)據(jù)包,并獲得路標節(jié)點和該服務(wù)節(jié)點之間的網(wǎng)絡(luò)距離,根據(jù)獲得的設(shè)定 個網(wǎng)絡(luò)距離,確定該服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標。當網(wǎng)絡(luò)坐標系中既有路標節(jié)點的網(wǎng)絡(luò)坐標又存在其他服務(wù)節(jié)點的網(wǎng)絡(luò)坐標時,若 需要在網(wǎng)絡(luò)坐標系中新加入一個服務(wù)節(jié)點時,則可通過該服務(wù)節(jié)點向網(wǎng)絡(luò)坐標系中的設(shè)定 個服務(wù)節(jié)點發(fā)送探測數(shù)據(jù)包,并獲得新加入的服務(wù)節(jié)點和設(shè)定個服務(wù)節(jié)點之間的網(wǎng)絡(luò)距 離,根據(jù)該設(shè)定個網(wǎng)絡(luò)距離確定新加入的服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標。采用本發(fā)明實施例的方法,能夠根據(jù)客戶端和服務(wù)節(jié)點的網(wǎng)絡(luò)距離,選擇服務(wù)節(jié) 點,以及將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。因為網(wǎng)絡(luò)距離反映的是客戶端和服 務(wù)節(jié)點之間的網(wǎng)絡(luò)鏈路狀況,根據(jù)客戶端和服務(wù)節(jié)點之間的網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點,能夠 提高⑶N系統(tǒng)的服務(wù)質(zhì)量。并且避免了基于LDNS的地理位置選擇服務(wù)節(jié)點時,由于LDNS 通常是每個ISP在每個省份部署一套,因此帶來的分配節(jié)點的時以省份為單位,分配粒度 太粗,引起網(wǎng)絡(luò)擁塞和集中訪問對服務(wù)造成過大壓力的問題,同時避免了 LDNS的地理位置 固定不變,分配節(jié)點時無法適應(yīng)網(wǎng)絡(luò)性能變化頻繁的互聯(lián)網(wǎng)的問題。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
一種選擇服務(wù)節(jié)點的方法,其特征在于,包括接收客戶端的服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的地址信息;獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點;將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。
2.如權(quán)利要求1所述的方法,其特征在于,所述獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò) 距離,具體為獲取客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,并根據(jù)客戶端和預(yù)先確定的每一個服務(wù)節(jié)點 在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離。
3.如權(quán)利要求2所述的方法,其特征在于,獲取客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標具 體為指派設(shè)定數(shù)目的服務(wù)節(jié)點和客戶端之間進行數(shù)據(jù)包探測獲得客戶端和該服務(wù)節(jié)點間 的網(wǎng)絡(luò)距離,并根據(jù)所述網(wǎng)絡(luò)距離以及預(yù)先確定的該服務(wù)節(jié)點的網(wǎng)絡(luò)坐標確定客戶端在網(wǎng) 絡(luò)坐標系中的網(wǎng)絡(luò)坐標。
4.如權(quán)利要求2所述的方法,其特征在于,所述每一個服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng) 絡(luò)坐標的確定方法是選取設(shè)定數(shù)量的服務(wù)節(jié)點作為路標節(jié)點,并由路標節(jié)點之間發(fā)送探測數(shù)據(jù)包獲得任意 兩個路標節(jié)點之間的網(wǎng)絡(luò)距離;根據(jù)所有路標節(jié)點之間的網(wǎng)絡(luò)距離,生成網(wǎng)絡(luò)坐標系并確定各路標節(jié)點在網(wǎng)絡(luò)坐標系 中的網(wǎng)絡(luò)坐標;確定其他服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標。
5.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括定時更新客戶端以及服務(wù) 節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標。
6.如權(quán)利要求1至5任一所述的方法,其特征在于,根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點時還參 照每一個服務(wù)節(jié)點的服務(wù)狀況信息選擇服務(wù)節(jié)點。
7.如權(quán)利要求6所述的方法,其特征在于,所述服務(wù)節(jié)點的服務(wù)狀況信息包括如下之 一或其組合服務(wù)節(jié)點的負載狀況信息;服務(wù)節(jié)點的可服務(wù)性信息。
8.如權(quán)利要求1至5任一所述的方法,其特征在于,根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點時還參 照每一個服務(wù)節(jié)點的實際地理位置選擇服務(wù)節(jié)點。
9.一種內(nèi)容分發(fā)系統(tǒng),其特征在于,包括客戶端,用于向負載均衡單元發(fā)送服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的地址 fn息;負載均衡單元,用于接收所述服務(wù)請求,獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并 根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點,將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于,所述負載均衡單元,具體用于獲取客戶端 在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐標,根據(jù)客戶端和預(yù)先確定的每一個服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的 網(wǎng)絡(luò)坐標,獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離。
11.如權(quán)利要求10所述的系統(tǒng),其特征在于,所述負載均衡單元,具體用于指派設(shè)定數(shù)目的服務(wù)節(jié)點和客戶端之間進行數(shù)據(jù)包探測獲得客戶端和該服務(wù)節(jié)點間的網(wǎng)絡(luò)距離,并根 據(jù)所述網(wǎng)絡(luò)距離以及預(yù)先確定的該服務(wù)節(jié)點的網(wǎng)絡(luò)坐標確定客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng) 絡(luò)坐標。
12.如權(quán)利要求9、10或11所述的系統(tǒng),其特征在于,所述負載均衡單元在根據(jù)網(wǎng)絡(luò)距 離選擇服務(wù)節(jié)點時,還參照每一個服務(wù)節(jié)點的服務(wù)狀況信息選擇服務(wù)節(jié)點。
13.如權(quán)利要求9、10或11所述的系統(tǒng),其特征在于,所述負載均衡單元在根據(jù)網(wǎng)絡(luò)距 離選擇服務(wù)節(jié)點時,還參照每一個服務(wù)節(jié)點的實際地理位置選擇服務(wù)節(jié)點。
14.如權(quán)利要求9、10或11所述的系統(tǒng),其特征在于,所述客戶端還用于接收負載均衡 單元返回的服務(wù)節(jié)點的地址信息,并根據(jù)該地址信息向服務(wù)節(jié)點發(fā)起內(nèi)容或業(yè)務(wù)請求;以 及所述系統(tǒng)還包括服務(wù)節(jié)點,用于接收所述內(nèi)容或業(yè)務(wù)請求,并向客戶端提供所請求的服務(wù)。
15.一種負載均衡設(shè)備,其特征在于,包括接收單元,用于接收客戶端的服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的地址信息;選取單元,用于獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選擇服務(wù) 節(jié)點。 響應(yīng)單元,用于將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。
16.如權(quán)利要求15所述的設(shè)備,其特征在于,所述選取單元,具體用于獲取客戶端在網(wǎng) 絡(luò)坐標系中的網(wǎng)絡(luò)坐標,根據(jù)客戶端和預(yù)先確定的每一個服務(wù)節(jié)點在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò) 坐標,獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離。
17.如權(quán)利要求16所述的設(shè)備,其特征在于,所述選取單元,具體用于指派設(shè)定數(shù)目的 服務(wù)節(jié)點和客戶端之間進行數(shù)據(jù)包探測獲得客戶端和該服務(wù)節(jié)點間的網(wǎng)絡(luò)距離,并根據(jù)所 述網(wǎng)絡(luò)距離以及預(yù)先確定的該服務(wù)節(jié)點的網(wǎng)絡(luò)坐標確定客戶端在網(wǎng)絡(luò)坐標系中的網(wǎng)絡(luò)坐 標。
18.如權(quán)利要求15、16或17所述的設(shè)備,其特征在于,所述選取單元,在根據(jù)網(wǎng)絡(luò)距離 選擇服務(wù)節(jié)點時,還參照每一個服務(wù)節(jié)點的服務(wù)狀況信息選擇服務(wù)節(jié)點。
19.如權(quán)利要求15、16或17所述的設(shè)備,其特征在于,所述所述選取單元,在根據(jù)網(wǎng)絡(luò) 距離選擇服務(wù)節(jié)點時,還參照每一個服務(wù)節(jié)點的實際地理位置選擇服務(wù)節(jié)點。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,公開了一種選擇服務(wù)節(jié)點的方法、系統(tǒng)和設(shè)備,能夠根據(jù)網(wǎng)絡(luò)距離為客戶端選擇合適的服務(wù)節(jié)點,提高了CDN系統(tǒng)的服務(wù)質(zhì)量。本發(fā)明的選擇服務(wù)節(jié)點的方法包括接收客戶端的服務(wù)請求,所述服務(wù)請求用于請求服務(wù)節(jié)點的地址信息;獲得客戶端和每一個服務(wù)節(jié)點的網(wǎng)絡(luò)距離,并根據(jù)網(wǎng)絡(luò)距離選擇服務(wù)節(jié)點;將選擇的服務(wù)節(jié)點的地址信息發(fā)送給客戶端。
文檔編號H04L29/06GK101989951SQ20101052997
公開日2011年3月23日 申請日期2010年10月28日 優(yōu)先權(quán)日2010年10月28日
發(fā)明者蔣萃 申請人:北京瑞汛世紀科技有限公司