專利名稱:一種在網(wǎng)絡(luò)中選擇服務(wù)器的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及內(nèi)容傳送網(wǎng)絡(luò)(CDN,Content Delivery Network)技術(shù),尤其涉及一種在CDN中選擇最優(yōu)邊緣服務(wù)器的方法。
背景技術(shù):
內(nèi)容傳送網(wǎng)絡(luò)是為了改善英特網(wǎng)(Internet)的服務(wù)質(zhì)量(QoS,Qualityof Service)而發(fā)展起來的技術(shù),如圖1所示,它一般包括三類設(shè)備分布在網(wǎng)絡(luò)邊緣的邊緣服務(wù)器,將內(nèi)容傳送到邊緣服務(wù)器的中心內(nèi)容分發(fā)設(shè)備,以及用戶請求調(diào)度系統(tǒng)。其中用戶請求調(diào)度系統(tǒng)是一類負(fù)載均衡設(shè)備,它的功能是當(dāng)用戶對內(nèi)容的請求到達(dá)請求調(diào)度系統(tǒng)時,該設(shè)備在分布的邊緣服務(wù)器之中選擇一個最合適的,然后讓該邊緣服務(wù)器向用戶提供內(nèi)容。這樣可以減輕源服務(wù)器的處理壓力,同時減少了骨干網(wǎng)絡(luò)的帶寬消耗,減少了數(shù)據(jù)包經(jīng)過骨干路由后由于多“跳”傳輸帶來的丟包、延遲、失真等負(fù)面影響,大大改善了寬帶網(wǎng)絡(luò)上大量視音頻、動畫等多媒體內(nèi)容的視聽質(zhì)量。上述這個“最合適的”的指標(biāo)是多樣化的,可能是邊緣服務(wù)器負(fù)載最輕,網(wǎng)絡(luò)拓?fù)渖想x用戶最近,用戶和該邊緣服務(wù)器之間的網(wǎng)絡(luò)帶寬最大,與用戶之間IP報(bào)文的傳輸時間最短等等?,F(xiàn)有技術(shù)中用戶請求調(diào)度系統(tǒng)對邊緣服務(wù)器的選擇方式主要有一、基于擴(kuò)展的域名解析服務(wù)器(DNS)協(xié)議的方式。如圖2所示,圖中設(shè)備1為CDN系統(tǒng)的授權(quán)DNS服務(wù)器,處理所有指向CDN網(wǎng)絡(luò)的DNS請求。該設(shè)備維護(hù)著一個域名與對應(yīng)的邊緣服務(wù)器IP的數(shù)據(jù)庫表格,并且包含所有邊緣服務(wù)器的運(yùn)行狀態(tài)、處理負(fù)載等信息。當(dāng)用戶在瀏覽器中輸入一個包含域名的標(biāo)準(zhǔn)資源地址(URL)時,由于尚未確定最后向哪一臺邊緣服務(wù)器發(fā)起連接,所以首先通過DNS協(xié)議向DNS服務(wù)器發(fā)送域名,請求與該域名對應(yīng)的邊緣服務(wù)器的IP地址,DNS服務(wù)器收到該DNS請求解析后,根據(jù)掌握的所有邊緣服務(wù)器的健康和負(fù)載消息選擇一個健康并且負(fù)載輕的服務(wù)器的IP地址返還給用戶瀏覽器,最后用戶瀏覽器向這個IP發(fā)起連接。
本技術(shù)方案的缺點(diǎn)首先來源于DNS協(xié)議本身標(biāo)準(zhǔn)的DNS查詢數(shù)據(jù)包中只包含要查詢的域名,而不關(guān)注請求使用的協(xié)議和目標(biāo)內(nèi)容,比如文件路徑、文件名、認(rèn)證信息等,因此DNS服務(wù)器只能選擇一個物理可用的邊緣服務(wù)器,從應(yīng)用層的角度看,它既不能保證該邊緣服務(wù)器能提供用戶所要求的業(yè)務(wù),比如在圖2中,DNS服務(wù)器很可能為用戶對流媒體內(nèi)容的請求選擇IP地址為ip1的普通FTP服務(wù)器,也不能保證該邊緣服務(wù)器上有需要的內(nèi)容;其次,它沒有考慮用戶和服務(wù)器之間的網(wǎng)絡(luò)連接狀況,因此可能出現(xiàn)用戶由離他很遠(yuǎn)的一臺服務(wù)器來服務(wù),服務(wù)質(zhì)量沒有改善。因此,這種選擇方式只是對減輕服務(wù)器壓力有益,對用戶訪問質(zhì)量沒有太大的改善。
二、靜態(tài)的IP地址綁定方式。事先確定一個IP地址段和邊緣服務(wù)器的對應(yīng)關(guān)系,將所有的來自某個或某幾個IP地址范圍內(nèi)的用戶請求全部交由一個對應(yīng)的邊緣服務(wù)器進(jìn)行處理。邊緣服務(wù)器增加內(nèi)容主動的“下拉(pull)”功能,即當(dāng)用戶向邊緣服務(wù)器請求不存在的內(nèi)容時,邊緣服務(wù)器會自動地從源服務(wù)器下載內(nèi)容到本地設(shè)備中緩存,在數(shù)據(jù)流緩存的同時為用戶提供服務(wù)。
這種方式的缺點(diǎn)是同第一種方式類似,不能保證對應(yīng)的邊緣服務(wù)器有用戶請求的內(nèi)容;此外,由于綁定關(guān)系是固定的,如果網(wǎng)絡(luò)規(guī)劃不當(dāng),或某一區(qū)域的用戶請求集中時,有可能導(dǎo)致某些邊緣服務(wù)器過載而其它邊緣服務(wù)器空閑的情況,對邊緣服務(wù)器的要求也會更高。而且,網(wǎng)頁制作者必須在URL里增加字段描述,指出當(dāng)邊緣服務(wù)器上沒有內(nèi)容時應(yīng)該從哪個源URL去下拉內(nèi)容,這也增加了對網(wǎng)頁制作的限制。
三、動態(tài)選擇的方式。用戶調(diào)度系統(tǒng)收到用戶請求后,讓所有的邊緣服務(wù)器通過網(wǎng)際控制報(bào)文協(xié)議(ICMP)報(bào)文確定與用戶之間的網(wǎng)絡(luò)關(guān)系,然后選擇報(bào)文傳遞時間最短的一個邊緣服務(wù)器,向用戶提供服務(wù)。它可以實(shí)時獲取邊緣服務(wù)器和用戶之間的網(wǎng)絡(luò)連接狀態(tài),從而保證用戶訪問的帶寬。
本技術(shù)方案只是在網(wǎng)絡(luò)傳送方面具有優(yōu)勢,但缺點(diǎn)是一方面加重邊緣服務(wù)器的負(fù)擔(dān),另一方面如果邊緣服務(wù)器數(shù)目太多,而用戶接入的網(wǎng)絡(luò)帶寬太小時,可能導(dǎo)致不正確的結(jié)果,并對用戶應(yīng)用也會造成影響。而且,這種選擇方法耗時長,要等到所有的邊緣服務(wù)器都取得對用戶的網(wǎng)絡(luò)狀況信息后,才能做決策。另外,它沒有充分利用現(xiàn)有的網(wǎng)絡(luò)拓?fù)?,?shí)際上,用戶接入側(cè)的網(wǎng)絡(luò)拓?fù)涞淖兓苄?,而且一般用戶只有一條網(wǎng)絡(luò)接入,測量邊緣服務(wù)器到用戶之間的網(wǎng)絡(luò)實(shí)際上并沒有必要。
由上所述可知現(xiàn)有的技術(shù)方案在選擇邊緣服務(wù)器時,往往只針對了“最合適的”的指標(biāo)中的一個指標(biāo)而進(jìn)行優(yōu)化。一方面可能沒有找到真正的“最合適的”邊緣服務(wù)器,另一方面沒有考慮現(xiàn)有網(wǎng)絡(luò)的結(jié)構(gòu),也沒有考慮到不同的業(yè)務(wù)對邊緣服務(wù)器的選擇策略應(yīng)有所不同,所以效果并不理想。
發(fā)明內(nèi)容
本發(fā)明的目的就是提供一種更合理的選擇最優(yōu)邊緣服務(wù)器的方法,既能夠很快地給出選擇結(jié)果,又能保證很好的內(nèi)容命中率,同時使邊緣服務(wù)器之間的負(fù)載分配更為合理,而且不會增加用戶側(cè)的網(wǎng)絡(luò)流量。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種在網(wǎng)絡(luò)中選擇服務(wù)器的方法,其特征在于該方法包括以下步驟a1、用戶請求調(diào)度系統(tǒng)收到用戶端的請求,根據(jù)當(dāng)前用戶端的IP地址確定該用戶端的接入服務(wù)器,并進(jìn)一步確定對該接入服務(wù)器所采用的調(diào)度策略;a2、判斷對該接入服務(wù)器采用的調(diào)度策略是否為靜態(tài)策略,如果是,則根據(jù)靜態(tài)配置選擇最優(yōu)的邊緣服務(wù)器;否則,則先根據(jù)靜態(tài)配置確定一組候選邊緣服務(wù)器,然后動態(tài)檢測該組邊緣服務(wù)器中每個候選邊緣服務(wù)器到該用戶接入服務(wù)器之間的網(wǎng)絡(luò)連接狀況,根據(jù)檢測結(jié)果選擇最優(yōu)的邊緣服務(wù)器。
調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況確定對每個接入服務(wù)器所采用的調(diào)度策略。
所述的靜態(tài)配置包括至少包括用戶請求的內(nèi)容名稱、用戶IP地址的用戶信息;邊緣服務(wù)器是否保存有用戶請求的內(nèi)容;邊緣服務(wù)器是否能夠提供用戶需要的業(yè)務(wù)類型;邊緣服務(wù)器是否正常運(yùn)行;邊緣服務(wù)器內(nèi)部網(wǎng)口是否過載;系統(tǒng)是否使用中心存儲服務(wù)器作為備用服務(wù)器。
所述的根據(jù)靜態(tài)配置選擇最優(yōu)的邊緣服務(wù)器包括b1、用戶請求調(diào)度系統(tǒng)根據(jù)步驟a1中所述的接入服務(wù)器確定該接入服務(wù)器所綁定的一個邊緣服務(wù)器和一個備用邊緣服務(wù)器;b2、根據(jù)邊緣服務(wù)器是否正常運(yùn)行判斷該邊緣服務(wù)器是否過載,如果過載,則說明該邊緣服務(wù)器的所有網(wǎng)口均過載,并執(zhí)行步驟b4;否則,選擇該邊緣服務(wù)器為最優(yōu)邊緣服務(wù)器;b3、判斷步驟b2中所述的邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口對用戶服務(wù),并結(jié)束流程;否則,返回步驟b3,對下一個網(wǎng)口進(jìn)行判斷;b4、根據(jù)備用邊緣服務(wù)器是否正常運(yùn)行判斷該備用邊緣服務(wù)器是否過載,如果過載,則說明該備用邊緣服務(wù)器的所有網(wǎng)口均過載,并報(bào)錯或者選擇中心存儲服務(wù)器作為備用服務(wù)器來處理用戶請求,并結(jié)束本流程,否則,選擇該備用邊緣服務(wù)器為最優(yōu)邊緣服務(wù)器;b5、依次判斷步驟b4中所述的備用邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口為用戶提供服務(wù),并結(jié)束流程,否則,返回步驟b5,對下一個網(wǎng)口進(jìn)行判斷。
調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況按就近原則為采用靜態(tài)策略的接入服務(wù)器綁定一個邊緣服務(wù)器和一個備用邊緣服務(wù)器。
所述的根據(jù)靜態(tài)配置確定一組候選邊緣服務(wù)器包括以下步驟c1、用戶請求調(diào)度系統(tǒng)根據(jù)步驟a1中所述的接入服務(wù)器確定該接入服務(wù)器所對應(yīng)的一組邊緣服務(wù)器和一組備用邊緣服務(wù)器;c2、根據(jù)邊緣服務(wù)器是否正常運(yùn)行依次判斷該組邊緣服務(wù)器中的每個邊緣服務(wù)器是否過載,如果過載,則將過載的邊緣服務(wù)器從該組中刪除,否則,將該邊緣服務(wù)器保留;判斷該組邊緣服務(wù)器是否全部過載,如果是,則執(zhí)行步驟c4,否則,對該組中余下的邊緣服務(wù)器執(zhí)行步驟c3;c3、依次判斷步驟c2中所述余下的每個邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口,并執(zhí)行步驟c6;否則,返回步驟c3,對下一個網(wǎng)口進(jìn)行判斷;c4、根據(jù)備用邊緣服務(wù)器是否正常運(yùn)行依次判斷該組備用邊緣服務(wù)器中的每個備用邊緣服務(wù)器是否過載,如果過載,則將過載的備用邊緣服務(wù)器從該組中刪除,否則,級將該備用邊緣服務(wù)器保留;判斷該組備用邊緣服務(wù)器是否全部過載,如果是,則報(bào)錯或者選擇中心存儲服務(wù)器作為備用服務(wù)器來處理用戶請求,并結(jié)束本流程,否則,對該組中余下的備用邊緣服務(wù)器執(zhí)行步驟c5;c5、依次判斷步驟c4中所述余下的每個備用邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口,并執(zhí)行步驟c6,否則,返回步驟c5,對下一個網(wǎng)口進(jìn)行判斷;c6、將當(dāng)前組中余下的邊緣服務(wù)器作為一個候選組;c7、判斷步驟c6所述候選組中是否存在含有用戶所請求的內(nèi)容和業(yè)務(wù)類型的邊緣服務(wù)器,如果存在,則將該候選組中所有含有用戶所請求的內(nèi)容和業(yè)務(wù)類型的邊緣服務(wù)器作為一組候選邊緣服務(wù)器,如果不存在,則將從所述候選組中選擇一個負(fù)載最輕的邊緣服務(wù)器作為最優(yōu)邊緣服務(wù)器對用戶提供服務(wù),或者選擇中心存儲服務(wù)器作為備用服務(wù)器來處理用戶請求。
調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況按就近原則為采用動態(tài)策略的接入服務(wù)器指定一組邊緣服務(wù)器和一組備用邊緣服務(wù)器。
所述動態(tài)檢測每個邊緣服務(wù)器與所選用戶接入服務(wù)器之間的連接狀況,根據(jù)檢測結(jié)果選擇最優(yōu)邊緣服務(wù)器,包括以下步驟
c8、用戶請求調(diào)度系統(tǒng)指示步驟c7中所述的候選邊緣服務(wù)器組中的每個候選邊緣服務(wù)器,分別檢測該邊緣服務(wù)器自身與上述的用戶接入服務(wù)器之間的網(wǎng)絡(luò)連接狀況,根據(jù)連接狀況的檢測結(jié)果,選擇與該用戶接入服務(wù)器距離最短的邊緣服務(wù)器作為最優(yōu)的邊緣服務(wù)器;c9、用戶請求調(diào)度系統(tǒng)使用步驟c8中所選擇的最優(yōu)的邊緣服務(wù)器和該邊緣服務(wù)器已被選中的網(wǎng)口對用戶端提供服務(wù)。
本發(fā)明中通過靜態(tài)和動態(tài)相結(jié)合的調(diào)度方法選擇最優(yōu)邊緣服務(wù)器,從而能快速準(zhǔn)確地給出選擇的結(jié)果;通過判斷邊緣服務(wù)器中是否有用戶所請求的內(nèi)容和業(yè)務(wù)類型以及邊緣服務(wù)器是否過載來篩選邊緣服務(wù)器,從而保證了很好的內(nèi)容命中率,邊緣服務(wù)器之間的負(fù)載分配也更為合理;在動態(tài)檢測網(wǎng)絡(luò)時,不是直接檢測邊緣服務(wù)器到用戶端的網(wǎng)絡(luò)連接,而是檢測邊緣服務(wù)器到用戶所屬接入服務(wù)器的連接,所以不會對用戶應(yīng)用造成影響,也不會增加用戶側(cè)的網(wǎng)絡(luò)流量。
圖1為CDN網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2為利用DNS協(xié)議在CDN網(wǎng)絡(luò)中選擇最優(yōu)邊緣服務(wù)器的方案圖;圖3為選擇最優(yōu)邊緣服務(wù)器的系統(tǒng)結(jié)構(gòu)圖;圖4為選擇最優(yōu)邊緣服務(wù)器的流程圖。
具體實(shí)施例方式
下面結(jié)合附圖和具體實(shí)施例來說明本發(fā)明的實(shí)施方法。
本發(fā)明的核心思想為用戶請求調(diào)度系統(tǒng)結(jié)合了靜態(tài)和動態(tài)兩種選擇策略,針對具體的用戶確定相應(yīng)的選擇策略,如果是靜態(tài)策略,則采用靜態(tài)的IP地址綁定方式選擇最優(yōu)的邊緣服務(wù)器;如果是動態(tài)策略,則采用先根據(jù)靜態(tài)配置確定一組候選邊緣服務(wù)器,然后動態(tài)檢測該組邊緣服務(wù)器到用戶接入服務(wù)器之間連接狀況的方式選擇最優(yōu)的邊緣服務(wù)器。
圖3為選擇最優(yōu)邊緣服務(wù)器的系統(tǒng)結(jié)構(gòu)圖。其中,實(shí)線表示內(nèi)容信息,虛線表示狀態(tài)信息,點(diǎn)劃線表示用戶信息。如圖3所示,其中內(nèi)容管理器負(fù)責(zé)從內(nèi)容提供端匯聚內(nèi)容,經(jīng)過智能優(yōu)化分布拓?fù)浜螅褍?nèi)容合理的分布到邊緣服務(wù)器上,內(nèi)容分布信息一方面輸入系統(tǒng)數(shù)據(jù)庫管理,一方面實(shí)時通知用戶請求調(diào)度系統(tǒng)。邊緣服務(wù)器、中心存儲服務(wù)器接收內(nèi)容的分布,接收用戶請求調(diào)度系統(tǒng)轉(zhuǎn)發(fā)的用戶請求,并處理用戶最終的內(nèi)容請求。邊緣服務(wù)器、中心存儲服務(wù)器定時把自身運(yùn)行的狀況、設(shè)備負(fù)載、設(shè)備的業(yè)務(wù)能力等狀態(tài)屬性信息通知用戶請求調(diào)度系統(tǒng)。
用戶請求調(diào)度系統(tǒng)為本發(fā)明的核心,該調(diào)度系統(tǒng)從系統(tǒng)數(shù)據(jù)庫獲得系統(tǒng)運(yùn)行的初始化信息,包括內(nèi)容分布拓?fù)?、所有中?邊緣設(shè)備初始狀態(tài)屬性。用戶請求調(diào)度系統(tǒng)在運(yùn)行過程中,從內(nèi)容管理器獲得實(shí)時內(nèi)容信息,從邊緣服務(wù)器獲得設(shè)備運(yùn)行信息。
內(nèi)容管理器與內(nèi)容提供端、數(shù)據(jù)庫之間使用TCP協(xié)議通信,從而保證通信可靠性;用戶請求調(diào)度系統(tǒng)與數(shù)據(jù)庫之間使用標(biāo)準(zhǔn)數(shù)據(jù)庫接口,與中心存儲服務(wù)器/邊緣存儲器采用基于用戶數(shù)據(jù)報(bào)協(xié)議(UDP)的專用協(xié)議,以提高效率;用戶請求調(diào)度系統(tǒng)與用戶之間使用標(biāo)準(zhǔn)超文本傳輸(HTTP)協(xié)議通信,以保證通用性。用戶請求調(diào)度系統(tǒng)與用戶之間也可通過其他的協(xié)議進(jìn)行通訊。
用戶對某項(xiàng)內(nèi)容的請求輸入信息主要有要訪問的內(nèi)容屬性,如文件名、文件類型、服務(wù)提供商的標(biāo)識;用戶的身份信息,如IP。用戶期望獲得的是能夠提供服務(wù)的邊緣服務(wù)器的IP地址。用戶請求調(diào)度系統(tǒng)從用戶的輸入信息中獲取必要的請求參數(shù),從CDN系統(tǒng)中其他設(shè)備獲得內(nèi)容分布和各邊緣服務(wù)器的運(yùn)行狀態(tài),從而確定最優(yōu)的邊緣服務(wù)器。用戶請求調(diào)度系統(tǒng)在選擇最優(yōu)服務(wù)器(包括邊緣服務(wù)器和中心存儲服務(wù)器)時將考慮如下因素1、用戶信息如請求的內(nèi)容名稱、內(nèi)容屬性、業(yè)務(wù)屬性、用戶IP;2、用戶與邊緣服務(wù)器明確綁定的靜態(tài)策略以及先確定候選組,再從該候選組中選擇最優(yōu)邊緣服務(wù)器的動態(tài)策略;
3、邊緣服務(wù)器是否保存有用戶請求的內(nèi)容;4、邊緣服務(wù)器是否能夠提供用戶需要的業(yè)務(wù)類型;5、服務(wù)器是否正常運(yùn)行;6、服務(wù)器內(nèi)部網(wǎng)口是否過載;7、用戶與邊緣服務(wù)器間的網(wǎng)絡(luò)連接狀況是否通暢;8、系統(tǒng)是否使用中心存儲服務(wù)器作為備用服務(wù)器;上述判斷因素可以靈活選配。
當(dāng)前的網(wǎng)絡(luò)IP地址一般是按照寬帶網(wǎng)絡(luò)接入服務(wù)器來分配。用戶調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況按就近原則為每個接入服務(wù)器確定好對應(yīng)的邊緣服務(wù)器和備用邊緣服務(wù)器,并事先規(guī)定好每個接入服務(wù)器所采用的調(diào)度策略,如果該接入服務(wù)器對應(yīng)一個邊緣服務(wù)器和一個備用邊緣服務(wù)器,則采用靜態(tài)策略;如果該接入服務(wù)器對應(yīng)一組邊緣服務(wù)器和一組備用邊緣服務(wù)器,則采用動態(tài)策略。這里,所述的靜態(tài)策略是指根據(jù)靜態(tài)配置選擇最優(yōu)的邊緣服務(wù)器;所述的動態(tài)策略是指先根據(jù)靜態(tài)配置確定一組候選邊緣服務(wù)器,然后動態(tài)檢測該組邊緣服務(wù)器中每個候選邊緣服務(wù)器到該用戶接入服務(wù)器之間的網(wǎng)絡(luò)連接狀況,根據(jù)檢測結(jié)果選擇最優(yōu)的邊緣服務(wù)器。
如圖4所示,選擇最優(yōu)服務(wù)器大體分成兩個步驟a1、用戶請求調(diào)度系統(tǒng)根據(jù)當(dāng)前用戶的IP地址確定此用戶的接入服務(wù)器,并進(jìn)一步確定對該接入服務(wù)器所采用的調(diào)度策略;a2、如果采用的是靜態(tài)策略,則根據(jù)靜態(tài)配置選擇最優(yōu)的邊緣服務(wù)器;如果采用的是動態(tài)策略,則先根據(jù)靜態(tài)配置確定一組候選邊緣服務(wù)器,然后動態(tài)檢測該組邊緣服務(wù)器中每個候選邊緣服務(wù)器到該用戶接入服務(wù)器之間的網(wǎng)絡(luò)連接狀況,根據(jù)檢測結(jié)果選擇最優(yōu)的邊緣服務(wù)器。
下面是本實(shí)施例中靜態(tài)策略的具體步驟b1、用戶請求調(diào)度系統(tǒng)根據(jù)步驟a1中所述的接入服務(wù)器確定該接入服務(wù)器所綁定的一個邊緣服務(wù)器和一個備用邊緣服務(wù)器,此處的一個邊緣服務(wù)器和一個備用邊緣服務(wù)器是用戶調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況按就近原則為采用靜態(tài)策略的接入服務(wù)器指定的;b2、根據(jù)邊緣服務(wù)器是否正常運(yùn)行判斷該邊緣服務(wù)器是否過載,如果過載,則執(zhí)行步驟b4;否則,選擇該邊緣服務(wù)器為最優(yōu)邊緣服務(wù)器;b3、判斷步驟b2中所述的邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口對用戶服務(wù),并結(jié)束流程;否則,返回步驟b3,對下一個網(wǎng)口進(jìn)行判斷;b4、根據(jù)備用邊緣服務(wù)器是否正常運(yùn)行判斷該備用邊緣服務(wù)器是否過載,如果過載,則報(bào)錯或者選擇中心存儲服務(wù)器作為備用服務(wù)器來處理用戶請求,并結(jié)束本流程,否則,選擇該備用邊緣服務(wù)器為最優(yōu)邊緣服務(wù)器;b5、依次判斷步驟b4中所述的備用邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口為用戶提供服務(wù),并結(jié)束流程,否則,返回步驟b5,對下一個網(wǎng)口進(jìn)行判斷。
下面是本實(shí)施例中動態(tài)策略的具體步驟c1、用戶請求調(diào)度系統(tǒng)根據(jù)步驟c1中所述的接入服務(wù)器確定該接入服務(wù)器所對應(yīng)的一組邊緣服務(wù)器和一組備用邊緣服務(wù)器,此處的一組邊緣服務(wù)器和一組備用邊緣服務(wù)器是用戶調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況按就近原則為采用動態(tài)策略的接入服務(wù)器指定的;c2、根據(jù)邊緣服務(wù)器是否正常運(yùn)行依次判斷該組邊緣服務(wù)器中的每個邊緣服務(wù)器是否過載,如果過載,則將過載的邊緣服務(wù)器從該組中刪除,否則,將該邊緣服務(wù)器保留;判斷該組邊緣服務(wù)器是否全部過載,如果是,則執(zhí)行步驟c4,否則,對該組中余下的邊緣服務(wù)器執(zhí)行步驟c3;c3、依次判斷步驟c2中所述余下的每個邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口,并執(zhí)行步驟c6;否則,返回步驟c3,對下一個網(wǎng)口進(jìn)行判斷;c4、根據(jù)備用邊緣服務(wù)器是否正常運(yùn)行依次判斷該組備用邊緣服務(wù)器中的每個備用邊緣服務(wù)器是否過載,如果過載,則將過載的備用邊緣服務(wù)器從該組中刪除,否則,級將該備用邊緣服務(wù)器保留;判斷該組備用邊緣服務(wù)器是否全部過載,如果是,則報(bào)錯或者選擇中心存儲服務(wù)器作為備用服務(wù)器來處理用戶請求,并結(jié)束本流程,否則,對該組中余下的備用邊緣服務(wù)器執(zhí)行步驟c5;c5、依次判斷步驟c4中所述余下的每個備用邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口,并執(zhí)行步驟c6,否則,返回步驟c5,對下一個網(wǎng)口進(jìn)行判斷;c6、將當(dāng)前組中余下的邊緣服務(wù)器作為一個候選組;c7、判斷步驟c6所述候選組中是否存在含有用戶所請求的內(nèi)容和業(yè)務(wù)類型的邊緣服務(wù)器,如果存在,則將該候選組中所有含有用戶所請求的內(nèi)容和業(yè)務(wù)類型的邊緣服務(wù)器作為一組候選邊緣服務(wù)器,如果不存在,則將從所述候選組中選擇一個負(fù)載最輕的邊緣服務(wù)器作為最優(yōu)邊緣服務(wù)器對用戶提供服務(wù),或者選擇中心存儲服務(wù)器作為備用服務(wù)器來處理用戶請求。
c8、用戶請求調(diào)度系統(tǒng)指示步驟c7中所述的候選邊緣服務(wù)器組中的每個候選邊緣服務(wù)器,分別檢測該邊緣服務(wù)器自身與上述用戶接入服務(wù)器之間的網(wǎng)絡(luò)連接狀況,例如,向接入服務(wù)器發(fā)送網(wǎng)間控制報(bào)文協(xié)議(ICMP)報(bào)文,檢測回復(fù)時間,根據(jù)連接狀況檢測結(jié)果,選擇與用戶接入服務(wù)器距離最短的邊緣服務(wù)器作為最優(yōu)的邊緣服務(wù)器;c9、用戶請求調(diào)度系統(tǒng)使用步驟c8中所選擇的最優(yōu)的邊緣服務(wù)器和該邊緣服務(wù)器已被選中的網(wǎng)口對用戶端提供服務(wù)。
上述實(shí)施例為實(shí)現(xiàn)本發(fā)明方案的一個比較完整的實(shí)施方式,在具體的選擇過程中也可能增加或刪除過程中的步驟而獲得一個近似最優(yōu)的服務(wù)器,比如不做動態(tài)檢測,根據(jù)其它的方式獲得網(wǎng)絡(luò)拓?fù)?如事先輸入)。此外,在選擇時考慮的因素不僅限于本文所列的八個因素的范圍。
權(quán)利要求
1.一種在網(wǎng)絡(luò)中選擇服務(wù)器的方法,其特征在于該方法包括以下步驟a1、用戶請求調(diào)度系統(tǒng)收到用戶端的請求,根據(jù)當(dāng)前用戶端的IP地址確定該用戶端對應(yīng)的接入服務(wù)器,并進(jìn)一步確定對該接入服務(wù)器所采用的調(diào)度策略;a2、判斷對該接入服務(wù)器采用的調(diào)度策略是否為靜態(tài)策略,如果是,則根據(jù)靜態(tài)配置選擇最優(yōu)的邊緣服務(wù)器;否則,則先根據(jù)靜態(tài)配置確定一組候選邊緣服務(wù)器,然后動態(tài)檢測該組邊緣服務(wù)器中每個候選邊緣服務(wù)器到該用戶接入服務(wù)器之間的網(wǎng)絡(luò)連接狀況,根據(jù)檢測結(jié)果選擇最優(yōu)的邊緣服務(wù)器。
2.如權(quán)利要求1所述的方法,其特征在于,調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況確定對每個接入服務(wù)器所采用的調(diào)度策略。
3.如權(quán)利要求1所述的方法,其特征在于,所述的靜態(tài)配置包括至少包括用戶請求的內(nèi)容名稱、用戶IP地址的用戶信息;邊緣服務(wù)器是否保存有用戶請求的內(nèi)容;邊緣服務(wù)器是否能夠提供用戶需要的業(yè)務(wù)類型;邊緣服務(wù)器是否正常運(yùn)行;邊緣服務(wù)器內(nèi)部網(wǎng)口是否過載;系統(tǒng)是否使用中心存儲服務(wù)器作為備用服務(wù)器。
4.如權(quán)利要求3所述的方法,其特征在于,所述的根據(jù)靜態(tài)配置選擇最優(yōu)的邊緣服務(wù)器包括b1、用戶請求調(diào)度系統(tǒng)根據(jù)步驟a1中所述的接入服務(wù)器確定該接入服務(wù)器所綁定的一個邊緣服務(wù)器和一個備用邊緣服務(wù)器;b2、根據(jù)邊緣服務(wù)器是否正常運(yùn)行判斷該邊緣服務(wù)器是否過載,如果過載,則執(zhí)行步驟b4;否則,選擇該邊緣服務(wù)器為最優(yōu)邊緣服務(wù)器;b3、判斷步驟b2中所述的邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口對用戶服務(wù),并結(jié)束流程;否則,返回步驟b3,對下一個網(wǎng)口進(jìn)行判斷;b4、根據(jù)備用邊緣服務(wù)器是否正常運(yùn)行判斷該備用邊緣服務(wù)器是否過載,如果過載,則報(bào)錯或者選擇中心存儲服務(wù)器為用戶提供服務(wù),并結(jié)束本流程,否則,選擇該備用邊緣服務(wù)器為最優(yōu)邊緣服務(wù)器;b5、依次判斷步驟b4中所述的備用邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口為用戶提供服務(wù),并結(jié)束流程,否則,返回步驟b5,對下一個網(wǎng)口進(jìn)行判斷。
5.如權(quán)利要求4所述的方法,其特征在于,調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況按就近原則為采用靜態(tài)策略的接入服務(wù)器綁定一個邊緣服務(wù)器和一個備用邊緣服務(wù)器。
6.如權(quán)利要求3所述的方法,其特征在于,所述的根據(jù)靜態(tài)配置確定一組候選邊緣服務(wù)器包括以下步驟c1、用戶請求調(diào)度系統(tǒng)根據(jù)步驟a1中所述的接入服務(wù)器確定該接入服務(wù)器所對應(yīng)的一組邊緣服務(wù)器和一組備用邊緣服務(wù)器;c2、根據(jù)邊緣服務(wù)器是否正常運(yùn)行依次判斷該組邊緣服務(wù)器中的每個邊緣服務(wù)器是否過載,如果過載,則將過載的邊緣服務(wù)器從該組中刪除,否則,將該邊緣服務(wù)器保留;判斷該組邊緣服務(wù)器是否全部過載,如果是,則執(zhí)行步驟c4,否則,對該組中余下的邊緣服務(wù)器執(zhí)行步驟c3;c3、依次判斷步驟c2中所述余下的每個邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口,并執(zhí)行步驟c6;否則,返回步驟c3,對下一個網(wǎng)口進(jìn)行判斷;c4、根據(jù)備用邊緣服務(wù)器是否正常運(yùn)行依次判斷該組備用邊緣服務(wù)器中的每個備用邊緣服務(wù)器是否過載,如果過載,則將過載的備用邊緣服務(wù)器從該組中刪除,否則,將該備用邊緣服務(wù)器保留;判斷該組備用邊緣服務(wù)器是否全部過載,如果是,則報(bào)錯或者選擇中心存儲服務(wù)器為用戶提供服務(wù),并結(jié)束本流程,否則,對該組中余下的備用邊緣服務(wù)器執(zhí)行步驟c5;c5、依次判斷步驟c4中所述余下的每個備用邊緣服務(wù)器的每個網(wǎng)口是否過載,如果不過載,則選擇此網(wǎng)口,并執(zhí)行步驟c6,否則,返回步驟c5,對下一個網(wǎng)口進(jìn)行判斷;c6、將當(dāng)前組中余下的邊緣服務(wù)器作為一個候選組;c7、判斷步驟c6所述候選組中是否存在含有用戶所請求的內(nèi)容和業(yè)務(wù)類型的邊緣服務(wù)器,如果存在,則將該候選組中所有含有用戶所請求的內(nèi)容和業(yè)務(wù)類型的邊緣服務(wù)器作為一組候選邊緣服務(wù)器,如果不存在,則將從所述候選組中選擇一個負(fù)載最輕的邊緣服務(wù)器作為最優(yōu)邊緣服務(wù)器對用戶提供服務(wù),或者選擇中心存儲服務(wù)器作為備用服務(wù)器來處理用戶請求。
7.如權(quán)利要求6所述的方法,其特征在于,調(diào)度系統(tǒng)事先根據(jù)網(wǎng)絡(luò)的分布情況按就近原則為采用動態(tài)策略的接入服務(wù)器指定一組邊緣服務(wù)器和一組備用邊緣服務(wù)器。
8.如權(quán)利要求6所述的方法,其特征在于,所述動態(tài)檢測每個邊緣服務(wù)器與所選用戶接入服務(wù)器之間的連接狀況,根據(jù)檢測結(jié)果選擇最優(yōu)邊緣服務(wù)器,包括以下步驟c8、用戶請求調(diào)度系統(tǒng)指示步驟c7中所述的候選邊緣服務(wù)器組中的每個候選邊緣服務(wù)器,分別檢測該邊緣服務(wù)器自身與上述用戶接入服務(wù)器之間的網(wǎng)絡(luò)連接狀況,根據(jù)連接狀況的檢測結(jié)果,選擇與該用戶接入服務(wù)器距離最短的邊緣服務(wù)器作為最優(yōu)的邊緣服務(wù)器;c9、用戶請求調(diào)度系統(tǒng)使用步驟c8中所選擇的最優(yōu)的邊緣服務(wù)器和該邊緣服務(wù)器已被選中的網(wǎng)口對用戶端提供服務(wù)。
全文摘要
本發(fā)明公開了一種在網(wǎng)絡(luò)中選擇服務(wù)器的方法,該方法根據(jù)用戶信息確定選擇策略,如果是靜態(tài)策略,則通過判斷邊緣服務(wù)器是否過載來選擇最優(yōu)的邊緣服務(wù)器;如果是動態(tài)策略,則先通過判斷邊緣服務(wù)器是否過載以及邊緣服務(wù)器中是否有用戶所請求的內(nèi)容和業(yè)務(wù)類型來篩選確定一組候選邊緣服務(wù)器,然后動態(tài)檢測該組邊緣服務(wù)器到用戶接入服務(wù)器之間連接狀況,從而選擇最優(yōu)的邊緣服務(wù)器。本方法不但能快速準(zhǔn)確地給出選擇的結(jié)果,而且保證了很好的內(nèi)容命中率,服務(wù)器之間的負(fù)載分配也更為合理,既不會對用戶應(yīng)用造成影響,也不會增加用戶側(cè)的網(wǎng)絡(luò)流量。
文檔編號H04L12/24GK1585357SQ0315366
公開日2005年2月23日 申請日期2003年8月19日 優(yōu)先權(quán)日2003年8月19日
發(fā)明者杜朝暉, 張正勇, 楊錦春, 劉全生 申請人:華為技術(shù)有限公司