專(zhuān)利名稱(chēng):一種對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種對(duì)網(wǎng)絡(luò)中的多服務(wù)器進(jìn)行最優(yōu)選擇的方法,尤其涉及一種根據(jù)網(wǎng)絡(luò)時(shí)延最小的特性對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法。
背景技術(shù):
隨著因特網(wǎng)技術(shù)的發(fā)展,提供網(wǎng)絡(luò)的服務(wù)器越來(lái)越多,為了滿足不同地域的用戶訪問(wèn)服務(wù)器的需求,通常在多個(gè)地方設(shè)置鏡像的服務(wù)器,這樣不同地域的用戶可以通過(guò)就近訪問(wèn)附近的服務(wù)器來(lái)提高用戶的訪問(wèn)速度,降低廣域網(wǎng)絡(luò)的數(shù)據(jù)流量。
用戶進(jìn)行服務(wù)器訪問(wèn)時(shí),先要將服務(wù)器對(duì)應(yīng)的網(wǎng)址所對(duì)應(yīng)的域名轉(zhuǎn)換成服務(wù)器的IP(Internet Protocol因特網(wǎng)協(xié)議)地址,域名轉(zhuǎn)換成IP地址的功能是由DNS(Domain Name System域名系統(tǒng))服務(wù)器來(lái)完成的,對(duì)于存在多個(gè)鏡像的服務(wù)器,其域名將對(duì)應(yīng)多個(gè)IP地址,一般通過(guò)控制域名的解釋就可以控制服務(wù)器的選擇,這種方法能夠自動(dòng)實(shí)現(xiàn)鏡像服務(wù)器的選擇。
現(xiàn)有技術(shù)通過(guò)配置源地址列表范圍來(lái)決定應(yīng)該向用戶返回哪個(gè)服務(wù)器的地址,源地址一般能代表一個(gè)地域的用戶請(qǐng)求,源地址列表就可以配置某個(gè)地域范圍的用戶訪問(wèn)哪個(gè)服務(wù)器。這種方法能夠很好的根據(jù)地域特性來(lái)訪問(wèn)不同的服務(wù)器,但配置比較麻煩,特別當(dāng)服務(wù)器比較多時(shí),配置數(shù)據(jù)將急劇增加?,F(xiàn)有技術(shù)的另一個(gè)缺點(diǎn)就是,因?yàn)樵吹刂妨斜硎庆o態(tài)配置的,因此無(wú)法適應(yīng)動(dòng)態(tài)的網(wǎng)絡(luò)情況,將訪問(wèn)的數(shù)據(jù)流引向最優(yōu)的服務(wù)器。
發(fā)明內(nèi)容
本發(fā)明提供了一種動(dòng)態(tài)選擇最優(yōu)服務(wù)器的方法。對(duì)用戶而言,最優(yōu)的訪問(wèn)服務(wù)器就是網(wǎng)絡(luò)時(shí)延最小的服務(wù)器。有些距離遠(yuǎn)的服務(wù)器可能網(wǎng)絡(luò)帶寬比距離近的更優(yōu),本發(fā)明基于選擇當(dāng)前與用戶時(shí)延最小的服務(wù)器作為最佳的服務(wù)器,而不是簡(jiǎn)單的以地域來(lái)區(qū)分,可以充分利用現(xiàn)有的網(wǎng)絡(luò)設(shè)備來(lái)實(shí)時(shí)動(dòng)態(tài)選擇最優(yōu)的服務(wù)器。
本發(fā)明是通過(guò)如下技術(shù)方案來(lái)實(shí)現(xiàn)的,一種對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法,包含如下步驟(1)指定DNS服務(wù)器的授權(quán)服務(wù)器為均衡設(shè)備,所述均衡設(shè)備與每臺(tái)服務(wù)器所在網(wǎng)絡(luò)的路由設(shè)備建立一條隧道,在均衡設(shè)備上配置域名和服務(wù)器的IP地址、隧道以及三者之間的對(duì)應(yīng)關(guān)系;(2)在均衡設(shè)備上保存所述隧道的時(shí)延數(shù)據(jù);(3)均衡設(shè)備收到用戶端發(fā)來(lái)的DNS請(qǐng)求后,根據(jù)域名查出對(duì)應(yīng)的服務(wù)器IP地址,完成不同IP地址響應(yīng)數(shù)據(jù)包的封裝。
(4)均衡設(shè)備根據(jù)所述的隧道時(shí)延數(shù)據(jù),對(duì)不同數(shù)據(jù)包進(jìn)行適當(dāng)時(shí)延后,向?qū)?yīng)的隧道發(fā)送這些響應(yīng)數(shù)據(jù)包到服務(wù)器對(duì)應(yīng)的路由設(shè)備,保證這些數(shù)據(jù)包到達(dá)路由設(shè)備的時(shí)間基本相同。
(5)路由設(shè)備收到所述響應(yīng)數(shù)據(jù)包后,去掉隧道,直接將封裝的IP地址進(jìn)行正常路由轉(zhuǎn)發(fā),由用戶端程序處理最先接收到的DNS響應(yīng)。
其中,在步驟1中所述的隧道,可以通過(guò)在每個(gè)服務(wù)器所在的網(wǎng)絡(luò)上接入一個(gè)均衡設(shè)備的代理設(shè)備,使用內(nèi)部協(xié)議來(lái)完成。
其中,在步驟2中所述的隧道時(shí)延數(shù)據(jù),通過(guò)均衡設(shè)備定時(shí)對(duì)路由隧道進(jìn)行檢查獲得并動(dòng)態(tài)更新。
其中,在步驟2中所述的隧道時(shí)延數(shù)據(jù),在均衡設(shè)備上直接靜態(tài)配置。
有益效果1、通常檢測(cè)時(shí)延是直接在設(shè)備之間發(fā)送檢測(cè)包才能得到,本發(fā)明的最大優(yōu)點(diǎn)就是不用直接去檢查用戶與服務(wù)器的時(shí)延,而是通過(guò)用戶的請(qǐng)求響應(yīng)來(lái)得到時(shí)延最小的服務(wù)器,非常快捷方便。
2、本發(fā)明能充分利用現(xiàn)網(wǎng)的設(shè)備,因?yàn)槟壳暗穆酚善骰径贾С殖S玫乃淼兰夹g(shù),除了均衡設(shè)備外幾乎不用再添加其它額外的設(shè)備,實(shí)現(xiàn)成本低。
3、配置維護(hù)簡(jiǎn)單,只需要在均衡設(shè)備上維護(hù)域名與IP地址之間的對(duì)應(yīng)信息即可。
4、采用的是標(biāo)準(zhǔn)的隧道協(xié)議與路由器相連,避免直接與采用私有協(xié)議的內(nèi)部交換設(shè)備相連,可以方便的兼容其它廠家的設(shè)備,突破原有設(shè)備廠商的技術(shù)壟斷。
圖1為本發(fā)明實(shí)現(xiàn)方法的結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明涉及的隧道技術(shù)作為現(xiàn)有技術(shù),是指這樣一種技術(shù),一個(gè)種協(xié)議數(shù)據(jù)包被封裝在另一個(gè)協(xié)議數(shù)據(jù)包中進(jìn)行傳輸,在隧道傳輸?shù)倪^(guò)程中,被封裝在內(nèi)部的協(xié)議數(shù)據(jù)不會(huì)被修改,這兩個(gè)協(xié)議數(shù)據(jù)包可以是不同種協(xié)議也可以是同一種協(xié)議,例如GRE(通用路由封裝)隧道、IP in IP等等都是隧道技術(shù)。
本發(fā)明的實(shí)現(xiàn)基于這樣一個(gè)方法,從候選服務(wù)器所在網(wǎng)絡(luò)同時(shí)向用戶發(fā)出數(shù)據(jù)包,用戶最早收到的數(shù)據(jù)包就是時(shí)延最小的,對(duì)應(yīng)的服務(wù)器就是最優(yōu),只要保證數(shù)據(jù)包同時(shí)發(fā)出就能夠檢測(cè)出最優(yōu)的服務(wù)器,實(shí)現(xiàn)這個(gè)方案的設(shè)備稱(chēng)為均衡設(shè)備。方案由如下幾個(gè)步驟完成1、在DNS服務(wù)器上把下一級(jí)的授權(quán)服務(wù)器設(shè)置為均衡設(shè)備,由均衡設(shè)備完成真正的DNS解釋(例如在DNS服務(wù)器上把huawei-3com.com的域名授權(quán)DNS服務(wù)器配置為均衡設(shè)備,這樣所有XXX.huawei-3com.com的域名都轉(zhuǎn)到均衡設(shè)備上來(lái)解釋);每個(gè)域名將對(duì)應(yīng)多個(gè)IP地址,不同的IP地址將對(duì)應(yīng)不同的隧道。均衡設(shè)備與每個(gè)服務(wù)器所在網(wǎng)絡(luò)中的一臺(tái)路由設(shè)備建立一條隧道(如GRE(通用路由封裝)隧道),在均衡設(shè)備上配置好域名、服務(wù)器IP地址、隧道及三者之間的對(duì)應(yīng)關(guān)系,通過(guò)服務(wù)器IP就可以查到對(duì)應(yīng)隧道。
2、均衡設(shè)備定時(shí)動(dòng)態(tài)檢查與服務(wù)器相連的路由設(shè)備的時(shí)延,即隧道的時(shí)延,并保存好這些數(shù)據(jù),這些數(shù)據(jù)也可直接靜態(tài)配置。
隧道時(shí)延是隧道本身的一個(gè)特性,隧道的時(shí)延可以手工設(shè)置(假設(shè)時(shí)延比較固定),也可以實(shí)時(shí)去檢測(cè)(假設(shè)時(shí)延經(jīng)常變化),例如發(fā)探測(cè)包,計(jì)算來(lái)回的時(shí)延值。
3、均衡設(shè)備收到用戶端發(fā)來(lái)的DNS請(qǐng)求后,先通過(guò)步驟1中配置的域名、IP地址、隧道及三者之間的對(duì)應(yīng)關(guān)系,查出域名對(duì)應(yīng)的服務(wù)器地址,根據(jù)不同服務(wù)器的IP地址,完成不同響應(yīng)數(shù)據(jù)包的封裝。假設(shè)當(dāng)均衡設(shè)備收到DNS請(qǐng)求后,根據(jù)域名查出對(duì)應(yīng)的IP地址有兩個(gè)IP1、IP2,對(duì)應(yīng)的隧道為T(mén)unnel1、Tunnel2,對(duì)于發(fā)往Tunnel1的數(shù)據(jù)包,封裝的DNS響應(yīng)IP地址就是IP1,對(duì)于發(fā)往Tunnel2的數(shù)據(jù)包,封裝的DNS響應(yīng)IP地址就是IP2,有多少服務(wù)器就封裝多少個(gè)響應(yīng)數(shù)據(jù)包。
4、均衡設(shè)備根據(jù)步驟2得到的隧道時(shí)延,對(duì)不同數(shù)據(jù)包進(jìn)行適當(dāng)延時(shí)后,向?qū)?yīng)的隧道發(fā)送這些響應(yīng)數(shù)據(jù)包到服務(wù)器對(duì)應(yīng)的路由設(shè)備,保證這些數(shù)據(jù)包到達(dá)路由設(shè)備的時(shí)間基本相同。假設(shè)前面的兩個(gè)隧道Tunnel1的時(shí)延為T(mén)1,Tunnel2的時(shí)延為T(mén)2,T2>T1。先向Tunnel2發(fā)送數(shù)據(jù)包,過(guò)了T2-T1時(shí)間后再向Tunnel1發(fā)送數(shù)據(jù)包,這樣到達(dá)各自服務(wù)器的時(shí)間,分別為T(mén)unnel1=T2-T1+T1=T2,Tunnel2=T2,二者是同時(shí)到達(dá)各自的服務(wù)器的,這樣就保證了數(shù)據(jù)包的同時(shí)到達(dá)。
5、路由設(shè)備收到通過(guò)隧道傳來(lái)的DNS響應(yīng)數(shù)據(jù)包后,去掉隧道,將完整的DNS響應(yīng)數(shù)據(jù)包直接進(jìn)行正常路由轉(zhuǎn)發(fā),發(fā)至用戶端。用戶端程序只處理最先接收到的DNS響應(yīng),DNS響應(yīng)消息中包含了域名對(duì)應(yīng)的IP地址,用戶端程序根據(jù)該IP地址選擇對(duì)應(yīng)的服務(wù)器進(jìn)行相關(guān)的數(shù)據(jù)業(yè)務(wù),實(shí)現(xiàn)了選擇網(wǎng)絡(luò)響應(yīng)最優(yōu)的服務(wù)器。在此過(guò)程中,DNS響應(yīng)包相當(dāng)于到各個(gè)路由設(shè)備繞了繞路,但用戶感覺(jué)不到這樣一個(gè)極其微小的時(shí)延差。
例如假設(shè)www.huawei-3com.com在北京、上海和廣州有3臺(tái)服務(wù)器,IP地址分別為202.10.0.1、203.10.0.1、204.10.0.1,通過(guò)本發(fā)明提供的技術(shù)方案即可滿足用戶訪問(wèn)網(wǎng)站的時(shí)候能夠自動(dòng)選擇網(wǎng)絡(luò)時(shí)延最優(yōu)的服務(wù)器1、配置huawei-3com.com所屬的DNS服務(wù)器,將xxxx.huawei-3com.com的DNS授權(quán)服務(wù)器指向均衡設(shè)備,這樣所有的xxxx.huawei-3com.com的DNS查詢請(qǐng)求都會(huì)送到均衡設(shè)備上。
2、在均衡設(shè)備上配置與三個(gè)服務(wù)器對(duì)應(yīng)網(wǎng)絡(luò)的路由設(shè)備的隧道分別為tunnel1、tunnel2、tunnel3,然后配置域名、IP地址、隧道及三者之間的對(duì)應(yīng)關(guān)系www.huawei-3com.com202.10.0.1 tunnel1www.huawei-3com.com203.10.0.1 tunnel2www.huawei-3com.com204.10.0.1 tunnel3
3、配置三個(gè)隧道的靜態(tài)時(shí)延,或配置自動(dòng)檢測(cè)時(shí)延,假設(shè)得到tunnel1、tunnel2、tunnel3的時(shí)延分別為T(mén)1、T2、T3,且T3>T2>T1。
4、這樣配置就完成了,當(dāng)一個(gè)用戶需要訪問(wèn)www.huawei-3com.com時(shí),會(huì)首先發(fā)起DNS查詢,查詢將會(huì)送到均衡設(shè)備,均衡設(shè)備會(huì)查出域名對(duì)應(yīng)的IP地址,針對(duì)北京服務(wù)器202.10.0.1,會(huì)封裝DNS響應(yīng)包,解釋的IP地址為202.10.0.1,同樣封裝好另兩個(gè)響應(yīng)數(shù)據(jù)包,針對(duì)上海服務(wù)器為203.10.0.1,針對(duì)廣州服務(wù)器為204.10.0.1。然后立即將廣州服務(wù)器的響應(yīng)包發(fā)向tunnel3,延時(shí)T3-T2后發(fā)送上海服務(wù)器的響應(yīng)包,再延時(shí)T3-T1后發(fā)送北京服務(wù)器的響應(yīng)包,這樣到達(dá)各自服務(wù)器網(wǎng)絡(luò)的時(shí)間基本上都是T3,即同時(shí)到達(dá)。
5、各服務(wù)器對(duì)應(yīng)的路由設(shè)備接收到通過(guò)隧道發(fā)來(lái)的響應(yīng)數(shù)據(jù)包后,路由設(shè)備去掉隧道,將完整的DNS響應(yīng)數(shù)據(jù)包直接進(jìn)行正常路由轉(zhuǎn)發(fā),發(fā)至用戶端。這時(shí)如果訪問(wèn)者在上海的話,正常情況下會(huì)最先收到上海服務(wù)器的DNS響應(yīng)包(一個(gè)包同時(shí)從北京、上海、廣州發(fā)往上海,正常情況下上海發(fā)出的一般都會(huì)快些),用戶端程序只處理最先接收到的DNS響應(yīng),該DNS響應(yīng)消息中包含了域名對(duì)應(yīng)的IP地址,即位于上海的服務(wù)器IP地址,用戶端程序根據(jù)該IP地址選擇上海的服務(wù)器進(jìn)行相關(guān)的數(shù)據(jù)業(yè)務(wù),這樣用戶就直接訪問(wèn)上海的服務(wù)器,實(shí)現(xiàn)了選擇網(wǎng)絡(luò)響應(yīng)最優(yōu)的服務(wù)器。
另外,在本發(fā)明的技術(shù)方案中,可以在每個(gè)服務(wù)器所在的網(wǎng)絡(luò)上接入一個(gè)均衡設(shè)備的代理設(shè)備,使用內(nèi)部協(xié)議來(lái)完成隧道功能,也能達(dá)到目的。使用代理設(shè)備就可以不用對(duì)方的路由器,這在對(duì)方?jīng)]有路由器,或者路由器上不能配置隧道的時(shí)候使用。由代理設(shè)備完成解釋內(nèi)部協(xié)議的功能,使用內(nèi)部協(xié)議可以更簡(jiǎn)單,例如我們可以把協(xié)議定義為把DNS響應(yīng)消息封裝到一個(gè)均衡設(shè)備到代理設(shè)備的UDP(UDP User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議,是一種簡(jiǎn)單的數(shù)據(jù)傳輸協(xié)議)報(bào)文中,代理設(shè)備收到數(shù)據(jù)后剝離UDP報(bào)文頭就可以得到完整的DNS響應(yīng)消息,不用實(shí)現(xiàn)相對(duì)通用、但比較復(fù)雜的隧道協(xié)議了。
本發(fā)明還可以用于任何控制與業(yè)務(wù)分離類(lèi)型方式的服務(wù)設(shè)備選擇,即指那些先通過(guò)控制協(xié)議獲得服務(wù)設(shè)備地址,然后向該服務(wù)設(shè)備展開(kāi)業(yè)務(wù)的業(yè)務(wù)類(lèi)型。主要是指那種先通過(guò)控制信令獲得某個(gè)資源,然后通過(guò)該資源進(jìn)行通信的業(yè)務(wù)類(lèi)型,例如對(duì)于某種系統(tǒng)由控制系統(tǒng)和業(yè)務(wù)系統(tǒng)構(gòu)成,控制系統(tǒng)是集中的,業(yè)務(wù)系統(tǒng)是分散的。用戶發(fā)起業(yè)務(wù)請(qǐng)求時(shí),會(huì)先向控制系統(tǒng)請(qǐng)求業(yè)務(wù)資源,控制系統(tǒng)就可以采用本方法來(lái)分配業(yè)務(wù)資源,可以達(dá)到路徑訪問(wèn)最優(yōu),像即時(shí)通信系統(tǒng),視頻接入系統(tǒng)都屬于這樣的系統(tǒng),先到控制系統(tǒng)進(jìn)行身份驗(yàn)證,然后由控制系統(tǒng)分配資源。
權(quán)利要求
1.一種對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法,其特征在于該方法包含如下步驟(1)指定DNS服務(wù)器的授權(quán)服務(wù)器作為均衡設(shè)備,所述均衡設(shè)備與每臺(tái)服務(wù)器所在網(wǎng)絡(luò)的路由設(shè)備建立一條隧道,在均衡設(shè)備上配置域名和服務(wù)器的IP地址、隧道以及三者之間的對(duì)應(yīng)關(guān)系;(2)在均衡設(shè)備上保存所述隧道的時(shí)延數(shù)據(jù);(3)均衡設(shè)備收到用戶端發(fā)來(lái)的DNS請(qǐng)求后,根據(jù)域名查出對(duì)應(yīng)的服務(wù)器IP地址,完成不同IP地址響應(yīng)數(shù)據(jù)包的封裝;(4)均衡設(shè)備根據(jù)所述的隧道時(shí)延數(shù)據(jù),對(duì)不同數(shù)據(jù)包進(jìn)行適當(dāng)時(shí)延后,向?qū)?yīng)的隧道發(fā)送這些響應(yīng)數(shù)據(jù)包到服務(wù)器對(duì)應(yīng)的路由設(shè)備,保證這些數(shù)據(jù)包到達(dá)路由設(shè)備的時(shí)間基本相同;(5)路由設(shè)備收到所述響應(yīng)數(shù)據(jù)包后,去掉隧道,直接將封裝的IP地址進(jìn)行正常路由轉(zhuǎn)發(fā),由用戶端程序處理最先接收到的DNS響應(yīng)。
2.根據(jù)權(quán)利要求1所述的一種對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法,其特征在于在步驟1中所述的隧道,可以在每個(gè)服務(wù)器所在的網(wǎng)絡(luò)上接入一個(gè)均衡設(shè)備的代理設(shè)備,使用內(nèi)部協(xié)議來(lái)完成。
3.根據(jù)權(quán)利要求1所述的一種對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法,其特征在于在步驟2中所述的隧道時(shí)延數(shù)據(jù),通過(guò)均衡設(shè)備定時(shí)對(duì)路由隧道進(jìn)行檢查獲得并動(dòng)態(tài)更新。
4.根據(jù)權(quán)利要求1所述的一種對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法,其特征在于在步驟2中所述的隧道時(shí)延數(shù)據(jù),在均衡設(shè)備上直接靜態(tài)配置。
全文摘要
本發(fā)明公開(kāi)了一種對(duì)多服務(wù)器進(jìn)行最優(yōu)選擇的方法,通過(guò)均衡設(shè)備與每臺(tái)服務(wù)器所在網(wǎng)絡(luò)的路由設(shè)備建立一條隧道,在均衡設(shè)備上配置域名和服務(wù)器的IP地址、隧道以及三者間的對(duì)應(yīng)關(guān)系,并保存隧道的時(shí)延數(shù)據(jù);均衡設(shè)備收到用戶發(fā)來(lái)的DNS請(qǐng)求后,根據(jù)域名查出對(duì)應(yīng)的服務(wù)器IP地址,完成響應(yīng)數(shù)據(jù)包的封裝,并依據(jù)隧道時(shí)延數(shù)據(jù),對(duì)不同數(shù)據(jù)包進(jìn)行適當(dāng)時(shí)延后,向?qū)?yīng)的隧道發(fā)送這些響應(yīng)包到服務(wù)器對(duì)應(yīng)的路由設(shè)備,保證這些數(shù)據(jù)包到達(dá)路由設(shè)備的時(shí)間基本相同。路由設(shè)備收到響應(yīng)數(shù)據(jù)包后,直接將封裝的IP地址進(jìn)行正常路由轉(zhuǎn)發(fā),由用戶端程序處理最先接收到的DNS響應(yīng),實(shí)現(xiàn)實(shí)時(shí)動(dòng)態(tài)選擇最優(yōu)的服務(wù)器。
文檔編號(hào)H04L29/02GK1791053SQ20041009717
公開(kāi)日2006年6月21日 申請(qǐng)日期2004年12月13日 優(yōu)先權(quán)日2004年12月13日
發(fā)明者盧勝文 申請(qǐng)人:杭州華為三康技術(shù)有限公司