專利名稱:一種負(fù)載均衡分配方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))技術(shù)領(lǐng)域,尤其涉及一種負(fù)載均衡分配方法及設(shè)備。
背景技術(shù):
內(nèi)容分發(fā)網(wǎng)絡(luò)CDN是一種新型的網(wǎng)絡(luò)構(gòu)建方式,它采用分布式網(wǎng)絡(luò)緩存結(jié)構(gòu),即 Web Cache技術(shù),在現(xiàn)有的互聯(lián)網(wǎng)中增加一層由服務(wù)節(jié)點(diǎn)所構(gòu)成的新的智能網(wǎng)絡(luò),其中,每個(gè)服務(wù)節(jié)點(diǎn)都由一個(gè)或多個(gè)負(fù)載均衡設(shè)備和一組高速緩沖存儲(chǔ)器cache服務(wù)器組成。在用戶訪問網(wǎng)站時(shí),CDN系統(tǒng)能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量、各服務(wù)節(jié)點(diǎn)的連接和負(fù)載狀況、以及到用戶的距離和響應(yīng)時(shí)間等綜合信息,將用戶請(qǐng)求導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上,使用戶能夠就近取得所需內(nèi)容,避免了需要穿透各種路由回到源站服務(wù)器去獲取內(nèi)容的麻煩,提高了用戶訪問網(wǎng)站的響應(yīng)速度,并在一定程度上解決了互聯(lián)網(wǎng)擁堵的狀況。通常用戶訪問網(wǎng)站時(shí),點(diǎn)擊網(wǎng)頁請(qǐng)求獲取目標(biāo)資源,與此同時(shí)客戶端向網(wǎng)絡(luò)發(fā)送用戶的請(qǐng)求消息,包括一個(gè)請(qǐng)求行、零或多個(gè)請(qǐng)求頭標(biāo)http header、一個(gè)空行、及實(shí)現(xiàn)請(qǐng)求的任意數(shù)據(jù)四部分信息。其中,請(qǐng)求行由ASCII文本組成,其內(nèi)容包含了服務(wù)器定位用戶目標(biāo)資源時(shí)所需的請(qǐng)求URL (Uniform Resource Locator,統(tǒng)一資源定位符)信息;請(qǐng)求頭標(biāo)http header用于定義客戶端或者服務(wù)器的屬性,以及被傳輸?shù)馁Y源類型和應(yīng)實(shí)現(xiàn)的鏈接類型,http header由關(guān)鍵字name和值value組成,name與value之間使用冒號(hào)分隔,例如Acc印t-Encoding :gzip, compress,定義了客戶端可以理解的編碼機(jī)制為gzip、 compress兩種。例如以下為一個(gè)典型的請(qǐng)求消息為GET http//class/download, microtool. de80/somedata. exeHost download, microtool. deAccept-Encoding :gzip, compressPragma :no~cacheCache-Control :no~cacheReferer :http://class/download, microtool. de/User-Agent :Mozilla/4. 04[en](Win95 ;I ;Nav)Range :bytes = 554554-客戶端發(fā)送的用戶請(qǐng)求消息被發(fā)送到⑶N網(wǎng)絡(luò)中的某一服務(wù)節(jié)點(diǎn)上,然后由該服務(wù)節(jié)點(diǎn)的負(fù)載均衡設(shè)備采用一定的負(fù)載均衡策略對(duì)用戶請(qǐng)求進(jìn)行分配,現(xiàn)有的策略一般為輪循均衡、權(quán)重輪循均衡、隨機(jī)均衡、響應(yīng)速度均衡、URL分配等。其中,URL分配策略是由負(fù)載均衡設(shè)備采用預(yù)定算法(如哈希算法)對(duì)請(qǐng)求URL信息進(jìn)行處理,并依據(jù)處理結(jié)果與cache服務(wù)器的映射關(guān)系將用戶的請(qǐng)求URL信息分配到對(duì)應(yīng)的cache服務(wù)器上面。如圖1所示,具體流程如下(1) CDN系統(tǒng)中某服務(wù)節(jié)點(diǎn)的負(fù)載均衡設(shè)備接收到請(qǐng)求URL信息;(2)負(fù)載均衡設(shè)備根據(jù)URL分配策略,將請(qǐng)求URL信息分配到對(duì)應(yīng)的cache服務(wù)器上,由cache服務(wù)器解析該請(qǐng)求URL信息進(jìn)而定位到目標(biāo)資源;(3)若該cache服務(wù)器上沒有用戶請(qǐng)求的目標(biāo)資源,則需要向源站服務(wù)器請(qǐng)求目標(biāo)資源,在收到源站服務(wù)器發(fā)送來的目標(biāo)資源后將其保存,然后發(fā)送給負(fù)載均衡設(shè)備,再由負(fù)載均衡設(shè)備返回給用戶;(4)若該cache服務(wù)器上存有該用戶請(qǐng)求的目標(biāo)資源,那么直接發(fā)送給負(fù)載均衡設(shè)備,并由負(fù)載均衡設(shè)備返回給用戶。以上過程中,當(dāng)有用戶再次請(qǐng)求該目標(biāo)資源時(shí),即負(fù)載均衡設(shè)備再次收到同樣的請(qǐng)求URL信息時(shí),則由于采用的URL分配策略不變,相同的用戶請(qǐng)求就會(huì)被分配到相同的 cache服務(wù)器上,從而使得cache服務(wù)器就可以充分利用已存有的目標(biāo)資源返回給用戶,避免了因?yàn)樽陨頉]有目標(biāo)資源而需要向源站服務(wù)器請(qǐng)求,以及減少了因重復(fù)存儲(chǔ)資源帶來的存儲(chǔ)空間消耗問題。防盜鏈?zhǔn)腔ヂ?lián)網(wǎng)中為了防止部分網(wǎng)站利用URL鏈接盜取其他網(wǎng)站的資源展示給用戶而出現(xiàn)的技術(shù)手段,它是指網(wǎng)站自身出于防盜鏈的目的,采用某種預(yù)定算法將其資源的初始URL進(jìn)行“加密”后再進(jìn)行使用,從而對(duì)其網(wǎng)站資源進(jìn)行保護(hù)的過程,例如時(shí)間防盜鏈技術(shù)就是采用預(yù)定算法根據(jù)用戶發(fā)起請(qǐng)求的時(shí)間在目標(biāo)資源的初始URL中增加加密內(nèi)容后再使用。然而由于防盜鏈技術(shù)的出現(xiàn),使得訪問同一目標(biāo)資源的請(qǐng)求URL信息就會(huì)不同, CDN系統(tǒng)中的負(fù)載均衡設(shè)備就不能根據(jù)URL分配策略將同樣的用戶請(qǐng)求分配到相同的 cache服務(wù)器上,因此,現(xiàn)有的URL分配策略不能夠滿足避免重復(fù)存儲(chǔ)目標(biāo)資源的需求,消耗了大量存儲(chǔ)空間。
發(fā)明內(nèi)容
本發(fā)明提供一種負(fù)載均衡分配方法及設(shè)備,解決了現(xiàn)有技術(shù)中當(dāng)同一目標(biāo)資源擁有不同的URL時(shí),在CDN系統(tǒng)中的cache服務(wù)器上需要重復(fù)存儲(chǔ)目標(biāo)資源的問題。本發(fā)明實(shí)施提供一種負(fù)載均衡分配方法,包括以下步驟接收用戶發(fā)送的包含請(qǐng)求統(tǒng)一資源定位符URL信息的請(qǐng)求消息;選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息;對(duì)所述原始請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器 cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。本發(fā)明還提供一種負(fù)載均衡分配設(shè)備,包括以下部分接收模塊,用于接收用戶發(fā)送的包含請(qǐng)求統(tǒng)一資源定位符URL信息的請(qǐng)求消息;URL處理模塊,用于選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息;服務(wù)器確定模塊,用于對(duì)所述原始請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;發(fā)送模塊,用于將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。本發(fā)明采用基于URL部分內(nèi)容的負(fù)載分配策略,通過選擇請(qǐng)求URL信息中的部分內(nèi)容,簡(jiǎn)便的完成了將對(duì)應(yīng)同一目標(biāo)資源的不同URL分配到相同的cache服務(wù)器上面,克服了在CDN系統(tǒng)中的cache服務(wù)器上需要重復(fù)存儲(chǔ)目標(biāo)資源的問題。
圖1為現(xiàn)有URL分配策略分配cache服務(wù)器的流程示意圖;圖2為本發(fā)明提供的一種負(fù)載均衡分配方法具體流程結(jié)構(gòu);圖3為本發(fā)明提供的一種負(fù)載均衡分配方法實(shí)施例的流程示意圖;圖4為本發(fā)明提供的一種負(fù)載均衡分配設(shè)備結(jié)構(gòu)框圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明負(fù)載均衡分配方法和設(shè)備的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。本發(fā)明提供一種負(fù)載均衡分配方法,具體流程結(jié)構(gòu)如圖2所示步驟201,接收用戶發(fā)送的包含請(qǐng)求統(tǒng)一資源定位符URL信息的請(qǐng)求消息;具體地,請(qǐng)求消息可以采用現(xiàn)有的消息形式,如前所述,請(qǐng)求消息包括一個(gè)請(qǐng)求行、零或多個(gè)請(qǐng)求頭標(biāo)http header、一個(gè)空行、及實(shí)現(xiàn)請(qǐng)求的任意數(shù)據(jù)四部分信息。 其中,請(qǐng)求行由ASCII文本組成,其內(nèi)容包含了服務(wù)器定位用戶目標(biāo)資源時(shí)所需的請(qǐng)求 URL (Uniform Resource Locator,統(tǒng)一資源定位符)信息,該請(qǐng)求URL信息代表了用戶想要鏈接的網(wǎng)址信息。請(qǐng)求消息還可以采用其它消息形式。步驟202,選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息;步驟203,負(fù)載均衡設(shè)備對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;具體地,對(duì)相對(duì)請(qǐng)求URL信息處理可以采用現(xiàn)有的各種預(yù)定算法,對(duì)不同請(qǐng)求URL 信息處理結(jié)果不同,由于事先建立了各種不同處理結(jié)果與cache服務(wù)器間的對(duì)應(yīng)關(guān)系,因此可以確定出本次對(duì)應(yīng)的cache服務(wù)器。步驟204,將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。本發(fā)明采用基于請(qǐng)求URL信息部分內(nèi)容的負(fù)載分配策略,能夠在同一目標(biāo)資源擁有不同的URL時(shí)將用戶的請(qǐng)求消息分配到相同的cache服務(wù)器上面,克服了在CDN系統(tǒng)中的cache服務(wù)器上需要重復(fù)存儲(chǔ)目標(biāo)資源的問題。本發(fā)明為了實(shí)現(xiàn)為用戶的請(qǐng)求選擇更適合的cache服務(wù)器,即有選擇的為用戶的請(qǐng)求消息分配cache服務(wù)器,優(yōu)選地,對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理之前,還包括按照不同的請(qǐng)求頭標(biāo)將所覆蓋的cache服務(wù)器分組,所述所覆蓋的cache服務(wù)器為與自身屬于同一服務(wù)節(jié)點(diǎn)的所有cache服務(wù)器;接收到用戶發(fā)送的請(qǐng)求消息時(shí),首先解析所述請(qǐng)求消息中的請(qǐng)求頭標(biāo),并按照解析結(jié)果確定對(duì)應(yīng)的cache服務(wù)器組;所述按照不同處理結(jié)果與 cache服務(wù)器間的對(duì)應(yīng)關(guān)系,具體為按照不同處理結(jié)果與確定的cache服務(wù)器組中的cache 服務(wù)器間的對(duì)應(yīng)關(guān)系。優(yōu)選地,按照不同的請(qǐng)求頭標(biāo)將所覆蓋的cache服務(wù)器分組,具體包括按照 cache服務(wù)器對(duì)不同請(qǐng)求頭標(biāo)的取值的支持情況,將所覆蓋的cache服務(wù)器分組。
優(yōu)選地,解析所述請(qǐng)求消息中的請(qǐng)求頭標(biāo),并按照解析結(jié)果確定對(duì)應(yīng)的cache服務(wù)器組,具體包括解析所述請(qǐng)求消息中包含的所述請(qǐng)求頭標(biāo)的取值;按照所述cache服務(wù)器組對(duì)所述請(qǐng)求頭標(biāo)的取值的支持情況,確定對(duì)應(yīng)的cache服務(wù)器組。本發(fā)明實(shí)施例對(duì)負(fù)載均衡設(shè)備對(duì)相對(duì)請(qǐng)求URL信息進(jìn)行處理所采用的算法不作具體限定,可依據(jù)具體應(yīng)用環(huán)境進(jìn)行選擇。優(yōu)選地,負(fù)載均衡設(shè)備采用哈希算法對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同的哈希值與cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理得到的哈希值對(duì)應(yīng)的cache服務(wù)器。由于本發(fā)明采用基于部分URL內(nèi)容的負(fù)載均衡分配策略,實(shí)現(xiàn)了將對(duì)應(yīng)相同目標(biāo)資源的不同URL對(duì)應(yīng)的用戶請(qǐng)求消息分配到相同的cache服務(wù)器上,因此,本發(fā)明尤其適用于解決現(xiàn)有技術(shù)中當(dāng)原始的請(qǐng)求URL信息經(jīng)過防盜鏈技術(shù)處理后,同一目標(biāo)資源擁有不同的URL的情況時(shí),在CDN系統(tǒng)中的cache服務(wù)器上會(huì)重復(fù)存儲(chǔ)目標(biāo)資源的問題?,F(xiàn)有的防盜鏈技術(shù)雖然可以防止第三方竊取URL鏈接從而盜取其他網(wǎng)站的資源, 但是經(jīng)防盜鏈處理后的請(qǐng)求URL信息會(huì)對(duì)負(fù)載均衡分配產(chǎn)生負(fù)面影響,應(yīng)用本發(fā)明,相當(dāng)于對(duì)經(jīng)過防盜鏈處理后的請(qǐng)求URL信息加入去防盜鏈的處理過程,從而既實(shí)現(xiàn)了防止網(wǎng)址被盜鏈,又不會(huì)影響到負(fù)載均衡分配過程。本發(fā)明實(shí)施例提供的負(fù)載均衡分配方法,通過對(duì)經(jīng)防盜鏈處理后的請(qǐng)求URL信息進(jìn)行去防盜鏈處理,由于使用不含防盜鏈加密內(nèi)容的相對(duì)請(qǐng)求URL信息,因此不會(huì)受到防盜鏈處理的影響,可以將對(duì)應(yīng)同一目標(biāo)資源的不同用戶請(qǐng)求消息分配到相同的cache服務(wù)器上,在實(shí)現(xiàn)防止第三方竊取URL鏈接從而盜取其他網(wǎng)站的資源的同時(shí),解決了在CDN系統(tǒng)中的cache服務(wù)器上需要重復(fù)存儲(chǔ)目標(biāo)資源的問題。防盜鏈處理是對(duì)原始的請(qǐng)求URL信息按預(yù)定規(guī)則進(jìn)行加密處理,因此去防盜鏈處理就相應(yīng)為按照所述預(yù)定規(guī)則對(duì)加密后的請(qǐng)求URL信息進(jìn)行解密。由于去防盜鏈處理采用的方法因防盜鏈加密的方式的不同而不同,本發(fā)明實(shí)施例對(duì)所述請(qǐng)求URL信息進(jìn)行去防盜鏈處理所采用的方式不作限定,只要是能夠起到將對(duì)應(yīng)同一目標(biāo)資源的請(qǐng)求URL信息進(jìn)行相應(yīng)處理后,將其分配給同一 cache服務(wù)器,均應(yīng)落入本發(fā)明保護(hù)范圍之內(nèi)。優(yōu)選地,確定所述防盜鏈處理為對(duì)原始的請(qǐng)求URL信息按照預(yù)定規(guī)則進(jìn)行加密處理時(shí),根據(jù)所述預(yù)定規(guī)則對(duì)所述請(qǐng)求URL信息進(jìn)行解密處理,得到原始的URL信息,選擇所述原始的URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息。這相當(dāng)于對(duì)經(jīng)防盜鏈處理后的請(qǐng)求URL信息進(jìn)行還原,由于基于原始請(qǐng)求URL信息選擇預(yù)定內(nèi)容,因此不會(huì)受到防盜鏈處理的影響,可以將對(duì)應(yīng)同一目標(biāo)資源的不同用戶請(qǐng)求消息分配到相同的cache服務(wù)器上,解決了在CDN系統(tǒng)中的cache服務(wù)器上需要重復(fù)存儲(chǔ)目標(biāo)資源的問題。本發(fā)明實(shí)施例對(duì)防盜鏈的加密處理方式不作限定,只要是對(duì)相對(duì)請(qǐng)求URL進(jìn)行相應(yīng)處理,能夠起到一定的防盜鏈作用的處理,均應(yīng)落入本發(fā)明保護(hù)范圍之內(nèi)。優(yōu)選地,所述防盜鏈處理為在原始的請(qǐng)求URL信息中增加加密內(nèi)容。當(dāng)所述防盜鏈處理為在原始的請(qǐng)求URL信息中增加加密內(nèi)容時(shí),可以濾除防盜鏈處理過程中在原始URL信息中的所增加的加密內(nèi)容,得到原始的URL信息作為相對(duì)請(qǐng)求URL信息。負(fù)載均衡設(shè)備使用原始URL信息作為相對(duì)請(qǐng)求URL信息的過程中,需要將防盜鏈對(duì)原始URL信息進(jìn)行加密處理的過程作逆運(yùn)算,由于逆運(yùn)算處理的復(fù)雜,可能會(huì)導(dǎo)致執(zhí)行速度較慢,影響整個(gè)負(fù)載分配過程的效率。優(yōu)選地,當(dāng)所述防盜鏈處理為在原始的請(qǐng)求URL 信息中增加加密內(nèi)容時(shí),選擇所述請(qǐng)求URL信息中不屬于所述加密內(nèi)容的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息。這樣可在不必還原出原始URL信息的情況下,實(shí)現(xiàn)去防盜鏈的目的,并將對(duì)應(yīng)同一目標(biāo)資源的不同用戶請(qǐng)求消息分配到相同的cache服務(wù)器上。由于目前防盜鏈技術(shù)一般是在原始URL信息的中間部分加入加密內(nèi)容,不會(huì)對(duì)原始URL信息中的域名和文件名進(jìn)行加密處理。優(yōu)選地,選擇所述請(qǐng)求URL信息中不屬于所述加密內(nèi)容的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,具體為采用域名和文件名組合的方式進(jìn)行重新組合。本發(fā)明實(shí)施例提供的負(fù)載均衡分配方法適用于多種防盜鏈技術(shù)的情況。為了使本發(fā)明實(shí)施例也適用于沒有經(jīng)過防盜鏈技術(shù)處理的用戶請(qǐng)求消息,本發(fā)明中負(fù)載均衡設(shè)備在接收到的請(qǐng)求URL信息為沒有經(jīng)過防盜鏈處理時(shí),說明為原始請(qǐng)求URL信息,即不包含加密內(nèi)容,則直接對(duì)所述請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器cache 服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。下面給出本發(fā)明提供的負(fù)載均衡分配方法的一種優(yōu)選實(shí)施例,具體流程如下步驟1,用戶在tl和t2時(shí)間點(diǎn)擊網(wǎng)頁,對(duì)同一目標(biāo)資源www. sina. com. cn/news/ sports, jpg發(fā)出請(qǐng)求,同時(shí)客戶端分別向CDN網(wǎng)絡(luò)發(fā)送兩個(gè)請(qǐng)求消息,兩個(gè)請(qǐng)求消息經(jīng)過時(shí)間防盜鏈技術(shù)加密后的請(qǐng)求URL信息分別為Req_tl :www. sina. com. cn/200611100901/0CEE8BB4A6FA4EAA79DDBlD493971EF3/ news/sports, jpg ;Req_t2 :www. sina. com. cn/300612100911/FFEE8BB4A6FAFFFA79DDBlD493971EF3/ news/sports, jpg ;其中,Req_tl對(duì)應(yīng)用戶在tl時(shí)間發(fā)出的請(qǐng)求消息,Req_t2對(duì)應(yīng)用戶在t2時(shí)間發(fā)出的請(qǐng)求消息。步驟2,負(fù)載均衡設(shè)備接收到上述兩個(gè)請(qǐng)求消息后,選擇上述兩個(gè)請(qǐng)求URL信息中不屬于時(shí)間防盜鏈加密內(nèi)容的域名和文件名信息,進(jìn)行重新組合,得到兩個(gè)未經(jīng)防盜鏈處理的相對(duì)請(qǐng)求URL信息,二者都為www. sina. com. cn/sports, jpg?;蛘?,負(fù)載均衡設(shè)備接收到上述兩個(gè)請(qǐng)求消息后,濾除上述兩個(gè)請(qǐng)求URL消息中的時(shí)間防盜鏈加密內(nèi)容,得到兩個(gè)未經(jīng)防盜鏈處理的原始請(qǐng)求URL信息作為相對(duì)請(qǐng)求URL 信息,二者都為:www. sina. com. cn/news/sports, jpg。步驟3,負(fù)載均衡設(shè)備采用哈希算法對(duì)步驟2中得到的兩個(gè)相同的相對(duì)請(qǐng)求URL信息進(jìn)行計(jì)算,并得到相同的哈希值。步驟4,負(fù)載均衡設(shè)備對(duì)上述相同的哈希值作取余處理,得到相同兩個(gè)相同的處理結(jié)果,按照該處理結(jié)果與cache服務(wù)器之間的映射關(guān)系,確定對(duì)應(yīng)的cache服務(wù)器。步驟5,負(fù)載均衡設(shè)備將用戶在tl和t2時(shí)間發(fā)出的兩個(gè)請(qǐng)求消息發(fā)送到步驟4中確定的cache服務(wù)器上。
步驟6,cache服務(wù)器接收到所述的兩個(gè)請(qǐng)求消息后,解析其中包含的請(qǐng)求URL信息,若該cache服務(wù)器上沒有用戶請(qǐng)求的目標(biāo)資源,則需要向源站服務(wù)器請(qǐng)求目標(biāo)資源,在收到源站服務(wù)器發(fā)送來的目標(biāo)資源后將其保存,然后發(fā)送給負(fù)載均衡設(shè)備,再由負(fù)載均衡設(shè)備返回給用戶;若該cache服務(wù)器上存有該用戶請(qǐng)求的目標(biāo)資源,那么直接發(fā)送給負(fù)載均衡設(shè)備,并由負(fù)載均衡設(shè)備返回給用戶。以上過程中,雖然用戶發(fā)出的請(qǐng)求消息在經(jīng)過防盜鏈技術(shù)加密后的請(qǐng)求URL信息不同,但是由于用戶請(qǐng)求的是同一目標(biāo)資源,防盜鏈技術(shù)是對(duì)同一個(gè)原始請(qǐng)求URL信息進(jìn)行加密,因此在負(fù)載均衡設(shè)備使用去防盜鏈?zhǔn)侄魏螅菍?duì)相同的相對(duì)請(qǐng)求URL信息進(jìn)行哈希,因此最終確定的cache服務(wù)器也相同,這樣使得用戶在tl時(shí)間和t2時(shí)間發(fā)出的請(qǐng)求消息都由同一個(gè)cache服務(wù)器進(jìn)行處理,使cache服務(wù)器可以更好地利用自身已經(jīng)存儲(chǔ)的資源信息,避免了由不同的cache服務(wù)器處理時(shí)需要重復(fù)下載和存儲(chǔ)資源的弊端。本發(fā)明提供的負(fù)載均衡分配方法的另一優(yōu)選實(shí)施方式中,如圖3所示,具體流程如下步驟一,負(fù)載均衡設(shè)備按照不同的請(qǐng)求頭標(biāo)http header將所覆蓋的cache服務(wù)器分組,所述所覆蓋的cache服務(wù)器為CDN網(wǎng)絡(luò)中與所述負(fù)載均衡設(shè)備屬于同一服務(wù)節(jié)點(diǎn)的所有cache服務(wù)器。步驟二,負(fù)載均衡設(shè)備接收到用戶發(fā)送的請(qǐng)求消息時(shí),解析所述請(qǐng)求消息中的請(qǐng)求頭標(biāo)http header,并按照解析結(jié)果確定對(duì)應(yīng)的cache服務(wù)器組。步驟三,負(fù)載均衡設(shè)備確定請(qǐng)求消息中的請(qǐng)求URL信息已經(jīng)過防盜鏈處理時(shí),對(duì)所述請(qǐng)求URL信息進(jìn)行去防盜鏈處理,得到相對(duì)請(qǐng)求URL信息。步驟四,負(fù)載均衡設(shè)備采用預(yù)定算法對(duì)相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與所述確定的cache服務(wù)器組中的cache服務(wù)器之間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器。步驟五,負(fù)載均衡設(shè)備將所述請(qǐng)求消息發(fā)送到步驟四中確定的cache服務(wù)器上。以上步驟一具體為負(fù)載均衡設(shè)備按照對(duì)所述預(yù)定的請(qǐng)求頭標(biāo)http header的取值value的支持情況,將所覆蓋的cache服務(wù)器分組。本實(shí)施例中所選用的http header的關(guān)鍵字name為Acc印t,其取值value用于定義客戶端可以處理的媒體類型,例如Accept image/jpeg定義了客戶端可以處理jpeg格式的圖片,Ac^pt :image/png則定義了客戶端可以處理png格式的圖片。負(fù)載均衡設(shè)備按照cache服務(wù)器對(duì)關(guān)鍵字name為Acapt的取值value的支持情況,將所覆蓋的cache服務(wù)器分組,例如有些cache服務(wù)器支持處理jpeg 格式的圖片,而有些cache服務(wù)器不支持處理jpeg格式而支持處理png格式的圖片,負(fù)載均衡設(shè)備就可將其覆蓋的cache服務(wù)器分成兩組對(duì)應(yīng)支持處理jpeg格式圖片的cache服務(wù)器組A,和對(duì)應(yīng)支持處理png格式圖片的cache服務(wù)器組B。本實(shí)施例步驟二中負(fù)載均衡設(shè)備接收到用戶發(fā)送的請(qǐng)求消息時(shí),解析所述請(qǐng)求消息中的http header,并按照解析結(jié)果確定對(duì)應(yīng)的cache服務(wù)器組,具體為負(fù)載均衡設(shè)備解析所述請(qǐng)求消息中包含的所選用的http header的取值value,即關(guān)鍵字name為Acapt 的取值value,并按照所述cache服務(wù)器組對(duì)所述取值value的支持情況確定對(duì)應(yīng)的cache 服務(wù)器組。例如本實(shí)施例中負(fù)載均衡設(shè)備所接收到的請(qǐng)求消息中包含Ac^pt image/jpeg 信息,那么負(fù)載均衡設(shè)備對(duì)該請(qǐng)求消息進(jìn)行解析后確定的就是cache服務(wù)器組A。
本實(shí)施例步驟四中負(fù)載均衡設(shè)備采用哈希算法對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與cache服務(wù)器組A中的cache服務(wù)器之間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器。例如負(fù)載均衡設(shè)備采用哈希算法對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理后得到的哈希值為23,對(duì)該哈希值23作除數(shù)為4的取余處理后,得到處理結(jié)果3, 按照該處理結(jié)果與cache服務(wù)器之間的映射關(guān)系,最終確定所述cache服務(wù)器組A中序號(hào)為3的cache服務(wù)器。本實(shí)施例相對(duì)上一個(gè)實(shí)施例,負(fù)載均衡設(shè)備首先按照cache服務(wù)器對(duì)請(qǐng)求頭標(biāo) http header的支持情況將所覆蓋的cache服務(wù)器分組,然后依據(jù)對(duì)請(qǐng)求消息中相應(yīng)http header的解析結(jié)果確定所選擇的cache服務(wù)器組,最后再選擇請(qǐng)求URL信息中的部分內(nèi)容組合成為相對(duì)請(qǐng)求URL信息,并執(zhí)行如上一個(gè)實(shí)施例中的各個(gè)步驟。本實(shí)施例采用的方法較上一個(gè)實(shí)施例相比,不僅實(shí)現(xiàn)了將對(duì)應(yīng)相同目標(biāo)資源的用戶請(qǐng)求消息發(fā)送到相同的 cache服務(wù)器上去,而且還能為用戶的請(qǐng)求選擇更適合的cache服務(wù)器,如本實(shí)施例中確定了客戶端只能處理jpeg格式的圖片,就選擇對(duì)應(yīng)支持處理jpeg格式圖片的cache服務(wù)器組A,然后再進(jìn)一步確定對(duì)應(yīng)的cache服務(wù)器。由于請(qǐng)求消息中一般包含多個(gè)不同的請(qǐng)求頭標(biāo)http header,本發(fā)明對(duì)負(fù)載均衡設(shè)備所選擇使用的http header不作具體限定,可依據(jù)具體應(yīng)用環(huán)境進(jìn)行選擇。為了在用戶請(qǐng)求消息中包含各種不同的http header時(shí)也可應(yīng)用該方法為其分配適合的cache 服務(wù)器,優(yōu)選地,負(fù)載均衡設(shè)備使用請(qǐng)求消息中默認(rèn)包含的http header類型,如Ac^pt text/plain, text/html定義了客戶端能夠接收的內(nèi)容類型,Connection :ke印-alive或 Connection :close定義了是否保存socket連接為開放。本發(fā)明實(shí)施例還提供一種負(fù)載均衡分配設(shè)備,如圖4所示,包括接收模塊401,用于接收用戶發(fā)送的包含請(qǐng)求統(tǒng)一資源定位符URL信息的請(qǐng)求消息;URL處理模塊402,用于選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息;服務(wù)器確定模塊403,用于對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;發(fā)送模塊404,用于將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。優(yōu)選地,該負(fù)載均衡分配設(shè)備還包括服務(wù)器分組模塊400a,用于按照不同的請(qǐng)求頭標(biāo)將所覆蓋的cache服務(wù)器分組, 所述所覆蓋的cache服務(wù)器為與自身屬于同一服務(wù)節(jié)點(diǎn)的所有cache服務(wù)器;確定組模塊400b,用于接收到用戶發(fā)送的請(qǐng)求消息時(shí),首先解析所述請(qǐng)求消息中的請(qǐng)求頭標(biāo),并按照解析結(jié)果對(duì)應(yīng)的cache服務(wù)器組;所述按照不同處理結(jié)果與cache服務(wù)器間的對(duì)應(yīng)關(guān)系,具體為按照不同處理結(jié)果與確定的cache服務(wù)器組中的cache服務(wù)器間的對(duì)應(yīng)關(guān)系。優(yōu)選地,所述服務(wù)器分組模塊400a,具體用于按照cache服務(wù)器對(duì)不同的請(qǐng)求頭標(biāo)的取值的支持情況,將所覆蓋的cache服務(wù)器分組。優(yōu)選地,所述確定組模塊400b,具體用于解析所述請(qǐng)求消息中包含的所述請(qǐng)求頭標(biāo)的取值;按照所述cache服務(wù)器組對(duì)所述請(qǐng)求投標(biāo)的取值的支持情況,確定對(duì)應(yīng)的cache 服務(wù)器組。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種負(fù)載均衡分配方法,其特征在于,包括以下步驟接收用戶發(fā)送的包含請(qǐng)求統(tǒng)一資源定位符URL信息的請(qǐng)求消息;選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息;對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。
2.如權(quán)利要求1所述的方法,其特征在于,所述請(qǐng)求消息中還包含請(qǐng)求頭標(biāo),對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理之前,還包括按照不同的請(qǐng)求頭標(biāo)將所覆蓋的cache服務(wù)器分組,所述所覆蓋的cache服務(wù)器為與自身屬于同一服務(wù)節(jié)點(diǎn)的所有cache服務(wù)器;接收到用戶發(fā)送的請(qǐng)求消息時(shí),首先解析所述請(qǐng)求消息中的請(qǐng)求頭標(biāo),并按照解析結(jié)果確定對(duì)應(yīng)的cache服務(wù)器組;所述按照不同處理結(jié)果與cache服務(wù)器間的對(duì)應(yīng)關(guān)系,具體為按照不同處理結(jié)果與確定的cache服務(wù)器組中的cache服務(wù)器間的對(duì)應(yīng)關(guān)系。
3.如權(quán)利要求2所述的方法,其特征在于,按照不同的請(qǐng)求頭標(biāo)將所覆蓋的cache服務(wù)器分組,具體包括按照cache服務(wù)器對(duì)不同請(qǐng)求頭標(biāo)的取值的支持情況,將所覆蓋的cache服務(wù)器分組。
4.如權(quán)利要求3所述的方法,其特征在于,解析所述請(qǐng)求消息中的請(qǐng)求頭標(biāo),并按照解析結(jié)果確定對(duì)應(yīng)的cache服務(wù)器組,具體包括解析所述請(qǐng)求消息中包含的所述請(qǐng)求頭標(biāo)的取值;按照所述cache服務(wù)器組對(duì)所述請(qǐng)求頭標(biāo)的取值的支持情況,確定對(duì)應(yīng)的cache服務(wù)器組。
5.如權(quán)利要求1所述的方法,其特征在于,具體采用哈希算法對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同的哈希值與cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理得到的哈希值對(duì)應(yīng)的cache服務(wù)器。
6.如權(quán)利要求1 5任一所述的方法,其特征在于,所述請(qǐng)求URL信息為已經(jīng)過防盜鏈處理的URL信息,選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合, 得到相對(duì)請(qǐng)求URL信息,具體為確定所述防盜鏈處理為對(duì)原始的請(qǐng)求URL信息中增加加密內(nèi)容時(shí),選擇所述請(qǐng)求URL 信息中不屬于所述加密內(nèi)容的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求 URL信息;或者,確定所述防盜鏈處理為對(duì)原始的請(qǐng)求URL信息按照預(yù)定規(guī)則進(jìn)行加密處理時(shí),根據(jù)所述預(yù)定規(guī)則對(duì)所述請(qǐng)求URL信息進(jìn)行解密處理,得到原始的URL信息,選擇所述原始的URL 信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息。
7.如權(quán)利要求6所述的方法,其特征在于,對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,具體為采用域名和文件名組合的方式進(jìn)行重新組合。
8.一種負(fù)載均衡分配設(shè)備,其特征在于,包括接收模塊,用于接收用戶發(fā)送的包含請(qǐng)求統(tǒng)一資源定位符URL信息的請(qǐng)求消息;URL處理模塊,用于選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息;服務(wù)器確定模塊,用于對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;發(fā)送模塊,用于將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。
9.如權(quán)利要求8所述的設(shè)備,其特征在于,還包括服務(wù)器分組模塊,用于按照不同的請(qǐng)求頭標(biāo)將所覆蓋的cache服務(wù)器分組,所述所覆蓋的cache服務(wù)器為與自身屬于同一服務(wù)節(jié)點(diǎn)的所有cache服務(wù)器;確定組模塊,用于接收到用戶發(fā)送的請(qǐng)求消息時(shí),首先解析所述請(qǐng)求消息中的請(qǐng)求頭標(biāo),并按照解析結(jié)果確定對(duì)應(yīng)的cache服務(wù)器組;所述服務(wù)器確定模塊具體按照不同處理結(jié)果與確定的cache服務(wù)器組中的cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定對(duì)應(yīng)的cache服務(wù)器。
10.如權(quán)利要求9所述的設(shè)備,其特征在于,所述服務(wù)器分組模塊,具體用于按照cache 服務(wù)器對(duì)不同的請(qǐng)求頭標(biāo)的取值的支持情況,將所覆蓋的cache服務(wù)器分組。
11.如權(quán)利要求10所述的設(shè)備,其特征在于,所述確定組模塊,具體用于解析所述請(qǐng)求消息中包含的所述請(qǐng)求頭標(biāo)的取值;按照所述cache服務(wù)器組對(duì)所述請(qǐng)求投標(biāo)的取值的支持情況,確定對(duì)應(yīng)的cache服務(wù)器組。
12.如權(quán)利要求8所述的設(shè)備,其特征在于,所述服務(wù)器確定模塊具體采用哈希算法對(duì)所述原始請(qǐng)求URL信息進(jìn)行處理,并按照不同的哈希值與cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理得到的哈希值對(duì)應(yīng)的cache服務(wù)器。
13.如權(quán)利要求8 12任一所述的設(shè)備,其特征在于,所述請(qǐng)求URL信息為已經(jīng)過防盜鏈處理的URL信息,所述URL處理模塊具體用于確定所述防盜鏈處理為對(duì)原始的請(qǐng)求URL信息中增加加密內(nèi)容時(shí),選擇所述請(qǐng)求URL 信息中不屬于所述加密內(nèi)容的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求 URL信息;或者,確定所述防盜鏈處理為對(duì)原始的請(qǐng)求URL信息按照預(yù)定規(guī)則進(jìn)行加密處理時(shí),根據(jù)所述預(yù)定規(guī)則對(duì)所述請(qǐng)求URL信息進(jìn)行解密處理,得到原始的URL信息,選擇所述原始的URL 信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息。
14.如權(quán)利要求13所述的設(shè)備,其特征在于,所述URL處理模塊對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,具體為采用域名和文件名組合的方式進(jìn)行重新組合。
全文摘要
本發(fā)明公開了一種負(fù)載均衡分配方法及設(shè)備,該方法包括接收用戶發(fā)送的包含請(qǐng)求URL信息的請(qǐng)求消息;選擇所述請(qǐng)求URL信息中的預(yù)定內(nèi)容,并對(duì)所述預(yù)定內(nèi)容進(jìn)行重新組合,得到相對(duì)請(qǐng)求URL信息;對(duì)所述相對(duì)請(qǐng)求URL信息進(jìn)行處理,并按照不同處理結(jié)果與高速緩沖存儲(chǔ)器cache服務(wù)器間的對(duì)應(yīng)關(guān)系,確定此次處理結(jié)果對(duì)應(yīng)的cache服務(wù)器;將所述請(qǐng)求消息發(fā)送到所述對(duì)應(yīng)的cache服務(wù)器上。本發(fā)明對(duì)經(jīng)過防盜鏈技術(shù)加密的請(qǐng)求URL信息進(jìn)行去防盜鏈處理,將對(duì)應(yīng)同一目標(biāo)資源的不同用戶請(qǐng)求消息分配到相同的cache服務(wù)器上,解決了在CDN系統(tǒng)中的cache服務(wù)器上需要重復(fù)存儲(chǔ)目標(biāo)資源的問題。
文檔編號(hào)H04L29/08GK102263828SQ201110245599
公開日2011年11月30日 申請(qǐng)日期2011年8月24日 優(yōu)先權(quán)日2011年8月24日
發(fā)明者劉研, 周東樹, 宗劼, 岳強(qiáng), 栗偉, 田江波, 黃勇, 黃超生 申請(qǐng)人:北京藍(lán)汛通信技術(shù)有限責(zé)任公司