內(nèi)容分發(fā)網(wǎng)絡(luò)的http調(diào)度系統(tǒng)和方法
【專利摘要】本發(fā)明涉及一種內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度系統(tǒng),包括中心決策服務(wù)器、一個(gè)或多個(gè)中心調(diào)度服務(wù)器以及一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器。中心決策服務(wù)器配置為根據(jù)全局的服務(wù)器集群的帶寬和負(fù)載信息,生成中心決策文件。中心調(diào)度服務(wù)器連接該中心決策服務(wù)器,中心調(diào)度服務(wù)器配置為執(zhí)行該中心決策文件,在收到客戶端內(nèi)容請(qǐng)求時(shí),根據(jù)客戶端所在的地理位置及請(qǐng)求內(nèi)容,選擇一首選服務(wù)器集群和一備用服務(wù)器集群,并向該客戶端返回一個(gè)帶有該首選及該備用服務(wù)器集群的跳轉(zhuǎn)地址。邊緣調(diào)度服務(wù)器設(shè)置在對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi),各邊緣調(diào)度服務(wù)器配置為在收到客戶端內(nèi)容請(qǐng)求時(shí),獲取對(duì)應(yīng)的邊緣服務(wù)器集群的帶寬和負(fù)載情況,據(jù)此判斷請(qǐng)求是否應(yīng)該引導(dǎo)到備用服務(wù)器集群。
【專利說明】?jī)?nèi)容分發(fā)網(wǎng)絡(luò)的V了?調(diào)度系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及內(nèi)容分發(fā)網(wǎng)絡(luò),尤其是涉及內(nèi)容分發(fā)網(wǎng)絡(luò)的!III?調(diào)度系統(tǒng)和方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)設(shè)備的迅猛發(fā)展,流量日益增長(zhǎng),00^的規(guī)模愈加龐大,負(fù)載均衡成為控制成本的重要手段。
[0003]061:1^61*7他切01?,中文名稱是內(nèi)容分發(fā)網(wǎng)絡(luò)。⑶X的任務(wù)主要是使內(nèi)容從源站盡可能快地傳遞到用戶端。的基本思想就是盡可能避開互聯(lián)網(wǎng)上有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)母?、更好。通過在網(wǎng)絡(luò)各處放置邊緣節(jié)點(diǎn)服務(wù)器所構(gòu)成的內(nèi)容分發(fā)網(wǎng)絡(luò),能夠?qū)崟r(shí)根據(jù)網(wǎng)絡(luò)流量和各邊緣節(jié)點(diǎn)的負(fù)載情況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的訪問請(qǐng)求重定向至離用戶最近且最好的邊緣節(jié)點(diǎn)上。該系統(tǒng)在現(xiàn)有網(wǎng)絡(luò)架構(gòu)上增加一個(gè)全局調(diào)度層,將源站內(nèi)容分發(fā)到最接近用戶的網(wǎng)絡(luò)邊緣,使用戶可以就近取得所需內(nèi)容,解決1社6111的網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng)速度,解決因源站出口網(wǎng)絡(luò)帶寬小、用戶訪問量大、網(wǎng)點(diǎn)分布不均、復(fù)雜的運(yùn)營(yíng)商網(wǎng)絡(luò)、用戶接入網(wǎng)絡(luò)帶寬小所造成的用戶訪問網(wǎng)站響應(yīng)速度慢的問題。
[0004]當(dāng)前⑶?的負(fù)載均衡技術(shù)主要分為0吧(1)01118111版11116 3706111,域名系統(tǒng))調(diào)度和?。?!'丁?(出^一代一^!:即01:0。01,超文本傳送協(xié)議)調(diào)度。冊(cè)3調(diào)度主要用于圖片及動(dòng)態(tài)加速類型內(nèi)容的負(fù)載均衡。肌了?調(diào)度基于仏如協(xié)議的3(^響應(yīng)碼,主要用于流媒體應(yīng)用??紤]到流媒體業(yè)務(wù)占業(yè)務(wù)的很大一部分,這部分成了業(yè)務(wù)控制服務(wù)器及機(jī)房負(fù)載均衡的重要部分。
[0005]肌1?調(diào)度分為中心模式和邊緣模式。中心模式是通過0吧將客戶請(qǐng)求弓|導(dǎo)至若干組調(diào)度機(jī)器上。這些調(diào)度機(jī)器并不提供內(nèi)容,而是首先由決策機(jī)分析⑶^所有機(jī)房和服務(wù)器集群的帶寬數(shù)據(jù),并據(jù)此適時(shí)調(diào)配服務(wù)器集群的流量,由調(diào)度機(jī)執(zhí)行調(diào)配,使集群達(dá)到負(fù)載均衡。其次,調(diào)度機(jī)器會(huì)根據(jù)請(qǐng)求內(nèi)容進(jìn)行散列(他也)計(jì)算,選擇特定的服務(wù)器,以減少集群間和集群內(nèi)服務(wù)器之間的內(nèi)容冗余。邊緣模式是通過0吧將客戶請(qǐng)求分配至邊緣服務(wù)器集群,由服務(wù)器集群中的調(diào)度機(jī)器對(duì)所在集群和機(jī)房的狀態(tài)做出判斷,選擇由本地進(jìn)行服務(wù),或?qū)⒄?qǐng)求跳轉(zhuǎn)至備份服務(wù)器集群,達(dá)到負(fù)載均衡的目的。
【發(fā)明內(nèi)容】
[0006]本發(fā)明所要解決的技術(shù)問題是提供一種新型的肌1?調(diào)度系統(tǒng)和方法。
[0007]本發(fā)明為解決上述技術(shù)問題而采用的技術(shù)方案是提出一種內(nèi)容分發(fā)網(wǎng)絡(luò)的!II'???調(diào)度系統(tǒng),包括中心決策服務(wù)器、一個(gè)或多個(gè)中心調(diào)度服務(wù)器以及一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器。中心決策服務(wù)器配置為根據(jù)全局的服務(wù)器集群的帶寬和負(fù)載信息,生成中心決策文件。中心調(diào)度服務(wù)器連接該中心決策服務(wù)器,該中心調(diào)度服務(wù)器配置為執(zhí)行該中心決策文件,在收到客戶端內(nèi)容請(qǐng)求時(shí),根據(jù)客戶端所在的地理位置及請(qǐng)求內(nèi)容,選擇一首選服務(wù)器集群,并決定是否同時(shí)選擇一個(gè)備用服務(wù)器集群,然后向該客戶端返回一個(gè)帶有該首選服務(wù)器集群的跳轉(zhuǎn)地址,以及當(dāng)選擇了備用服務(wù)器集群時(shí),同時(shí)向該客戶端返回一個(gè)帶有該備用服務(wù)器集群的跳轉(zhuǎn)地址。邊緣調(diào)度服務(wù)器設(shè)置在對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi),各邊緣調(diào)度服務(wù)器配置為在收到客戶端內(nèi)容請(qǐng)求時(shí),如果有備用服務(wù)器集群,則獲取對(duì)應(yīng)的邊緣服務(wù)器集群的帶寬和負(fù)載情況,據(jù)此判斷請(qǐng)求是否應(yīng)該引導(dǎo)到備用服務(wù)器集群。
[0008]在本發(fā)明的一實(shí)施例中,該中心決策服務(wù)器設(shè)定多個(gè)覆蓋域中每一覆蓋域內(nèi)的多個(gè)集群的權(quán)值以對(duì)各集群的流量進(jìn)行控制,其中該多個(gè)覆蓋域是根據(jù)客戶端訪問內(nèi)容的站點(diǎn)和物理地址所在地預(yù)先劃分而成。
[0009]在本發(fā)明的一實(shí)施例中,該中心調(diào)度服務(wù)器配置為根據(jù)客戶端請(qǐng)求進(jìn)行散列計(jì)算和權(quán)值隨機(jī)計(jì)算,在服務(wù)集群列表中選擇一個(gè)首選服務(wù)器集群,且如果決定選擇備選服務(wù)器集群,進(jìn)一步在服務(wù)器集群列表中選擇有一定剩余服務(wù)能力的備選服務(wù)器集群。
[0010]在本發(fā)明的一實(shí)施例中,該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器配置為在收到客戶端內(nèi)容請(qǐng)求時(shí),判斷對(duì)應(yīng)的邊緣服務(wù)器集群是否過載,如果是,則判斷請(qǐng)求中是否帶有備選服務(wù)器集群的信息,如果帶有備選服務(wù)器集群的信息,則返回跳轉(zhuǎn)地址,將客戶端跳轉(zhuǎn)至備選服務(wù)器集群,如果沒有帶備選服務(wù)器集群的信息,則以邊緣調(diào)度服務(wù)器作為客戶端與對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi)的緩存服務(wù)器的代理,提供服務(wù);如果對(duì)應(yīng)的邊緣服務(wù)器集群不是過載,則以邊緣調(diào)度服務(wù)器作為客戶端與該緩存服務(wù)器的代理。
[0011]在本發(fā)明的一實(shí)施例中,該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器配置為每隔一定時(shí)間獲取一次節(jié)點(diǎn)的帶寬數(shù)據(jù),然后據(jù)此計(jì)算得到下一個(gè)時(shí)間段內(nèi),本地允許的連接數(shù),且在下一個(gè)時(shí)間內(nèi),由連接數(shù)決定的前幾個(gè)請(qǐng)求由對(duì)應(yīng)的邊緣服務(wù)器集群服務(wù),而之后的請(qǐng)求則再次跳轉(zhuǎn)到備選服務(wù)器集群。
[0012]本發(fā)明還提出一種內(nèi)容分發(fā)網(wǎng)絡(luò)的!III?調(diào)度方法,包括以下步驟:在中心決策服務(wù)器為根據(jù)全局的服務(wù)器集群的帶寬和負(fù)載信息,生成中心決策文件;在連接該中心決策服務(wù)器的一個(gè)或多個(gè)中心調(diào)度服務(wù)器執(zhí)行該中心決策文件,在收到客戶端內(nèi)容請(qǐng)求時(shí),根據(jù)客戶端所在的地理位置及請(qǐng)求內(nèi)容,選擇一首選服務(wù)器集群,并決定是否同時(shí)選擇一備用服務(wù)器集群,并向該客戶端返回一個(gè)帶有該首選服務(wù)器集群的跳轉(zhuǎn)地址,以及當(dāng)選擇了備用服務(wù)器集群時(shí),同時(shí)向該客戶端返回一個(gè)帶有該備用服務(wù)器集群的跳轉(zhuǎn)地址;在設(shè)置于對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi)且連接該一個(gè)或多個(gè)中心調(diào)度服務(wù)器的一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器,在收到客戶端內(nèi)容請(qǐng)求時(shí),如果有備用服務(wù)器集群,則獲取對(duì)應(yīng)的邊緣服務(wù)器集群的帶寬和負(fù)載情況,判斷請(qǐng)求是否應(yīng)該引導(dǎo)到備用服務(wù)器集群。
[0013]在本發(fā)明的一實(shí)施例中,在該中心決策服務(wù)器生成決策文件的步驟包括:設(shè)定多個(gè)覆蓋域中每一覆蓋域內(nèi)的多個(gè)集群的權(quán)值以對(duì)各集群的流量進(jìn)行控制,其中該多個(gè)覆蓋域是根據(jù)客戶端訪問內(nèi)容的站點(diǎn)和地址所在地預(yù)先劃分而成。
[0014]在本發(fā)明的一實(shí)施例中,在該中心調(diào)度服務(wù)器中執(zhí)行以下步驟:根據(jù)判斷客戶所屬的服務(wù)群體,得到服務(wù)集群列表;根據(jù)客戶端請(qǐng)求進(jìn)行散列計(jì)算和權(quán)值隨機(jī)計(jì)算,在服務(wù)集群列表中選擇一個(gè)首選服務(wù)器集群;如果決定選擇備選服務(wù)器集群,進(jìn)一步在服務(wù)器集群列表中選擇一個(gè)有一定剩余服務(wù)能力的備選服務(wù)器集群。
[0015]在本發(fā)明的一實(shí)施例中,該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器在收到客戶端內(nèi)容請(qǐng)求時(shí)執(zhí)行以下步驟:判斷對(duì)應(yīng)的邊緣服務(wù)器集群是否過載;如果邊緣服務(wù)器集群是過載,則判斷請(qǐng)求中是否帶有備選服務(wù)器集群的信息:如果帶有備選服務(wù)器集群的信息,則返回跳轉(zhuǎn)地址,將客戶端跳轉(zhuǎn)至備選服務(wù)器集群;如果沒有帶備選服務(wù)器集群的信息,則以邊緣調(diào)度服務(wù)器作為客戶端與對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi)的緩存服務(wù)器的代理,提供服務(wù);如果邊緣服務(wù)器集群不是過載,則以邊緣調(diào)度服務(wù)器作為客戶端與該緩存服務(wù)器的代理。
[0016]在本發(fā)明的一實(shí)施例中,在該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器中每隔一定時(shí)間獲取一次節(jié)點(diǎn)的帶寬數(shù)據(jù),然后據(jù)此計(jì)算得到下一個(gè)時(shí)間段內(nèi),本地允許的連接數(shù),且在下一個(gè)時(shí)間內(nèi),由連接數(shù)決定的前幾個(gè)請(qǐng)求由對(duì)應(yīng)的邊緣服務(wù)器集群服務(wù),而之后的請(qǐng)求則再次跳轉(zhuǎn)到備選服務(wù)器集群。
[0017]本發(fā)明由于采用以上技術(shù)方案,可以在中心調(diào)度服務(wù)器獲取客戶請(qǐng)求,并返回首選服務(wù)器集群和備選服務(wù)器集群,且在邊緣服務(wù)器集群根據(jù)本地服務(wù)器集群的帶寬和負(fù)載,對(duì)中心調(diào)度的分配進(jìn)行校正。通過中心調(diào)度的宏觀控制和邊緣調(diào)度的調(diào)整,整個(gè)系統(tǒng)可以達(dá)到成本/質(zhì)量較優(yōu)的同時(shí),邊緣集群不會(huì)超負(fù)荷。
【專利附圖】
【附圖說明】
[0018]為讓本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,以下結(jié)合附圖對(duì)本發(fā)明的【具體實(shí)施方式】作詳細(xì)說明,其中:
[0019]圖1示出根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)實(shí)施環(huán)境。
[0020]圖2示出本發(fā)明一實(shí)施例的調(diào)度系統(tǒng)框圖。
[0021]圖3示出本發(fā)明一實(shí)施例的中心調(diào)度模塊工作流程。
[0022]圖4示出本發(fā)明一實(shí)施例的邊緣調(diào)度模塊工作流程。
[0023]圖5示出本發(fā)明一實(shí)施例的客戶端模塊工作流程。
【具體實(shí)施方式】
[0024]已知肌1?調(diào)度分為中心模式和邊緣模式。這兩種模式有各自的特點(diǎn),因而在實(shí)踐中都得到一定程度的應(yīng)用。但是這兩種模式也有各自的缺陷。中心模式的缺陷在于,該模式在進(jìn)行流量調(diào)度前需要收集一段時(shí)間的0^平臺(tái)數(shù)據(jù),外加決策的時(shí)間,可能會(huì)有延遲,導(dǎo)致誤差。而且由于!III?調(diào)度自身的局限,進(jìn)行流量控制時(shí),只能保證按比例分配請(qǐng)求,不能保證流量的比例與請(qǐng)求是對(duì)等的。即該模式有誤差的同時(shí),也有調(diào)控不準(zhǔn)確的問題。邊緣模式的缺陷在于,該模式集群間的調(diào)度通過0吧進(jìn)行,無法在集群間進(jìn)行內(nèi)容控制,數(shù)據(jù)冗余量大,浪費(fèi)存儲(chǔ)空間和帶寬資源。且該模式的控制器部署在邊緣集群中,在控制集群過載時(shí),不能保證將流量引導(dǎo)到最合適的集群中。
[0025]本發(fā)明的實(shí)施例將描述一種新型的肌1?調(diào)度方法,其提供優(yōu)于中心模式和邊緣模式的性能。
[0026]圖1示出根據(jù)本發(fā)明一實(shí)施例的網(wǎng)絡(luò)實(shí)施環(huán)境。參考圖1所示,一個(gè)內(nèi)容分發(fā)網(wǎng)絡(luò)100通常包括一個(gè)中心決策服務(wù)器101,多個(gè)中心調(diào)度服務(wù)器102,多個(gè)邊緣服務(wù)器集群110,這些裝置通過互聯(lián)網(wǎng)連接在一起。各邊緣服務(wù)器集群110中配置有邊緣調(diào)度服務(wù)器111和緩存服務(wù)器112。中心調(diào)度服務(wù)器102可以直接與中心決策服務(wù)器101相連,也可以通過額外的網(wǎng)絡(luò)103與中心決策服務(wù)器101相連。
[0027]許多客戶端120可以連接到內(nèi)容分發(fā)網(wǎng)絡(luò)100,從而獲得所請(qǐng)求的內(nèi)容。
[0028]中心決策服務(wù)器101配置為根據(jù)全局的服務(wù)器集群的帶寬、負(fù)載信息、網(wǎng)絡(luò)狀況和帶寬成本信息,生成中心決策文件。
[0029]各中心調(diào)度服務(wù)器102配置為執(zhí)行該中心決策文件,在收到客戶端內(nèi)容請(qǐng)求時(shí),根據(jù)客戶端所在的地理位置及請(qǐng)求內(nèi)容,選擇首選服務(wù)器集群,并向客戶端返回一個(gè)帶有首選服務(wù)器集群及備用服務(wù)器集群的跳轉(zhuǎn)1^680111-06',統(tǒng)一資源定位器如果需要各中心調(diào)度服務(wù)器102可以同時(shí)選擇備用服務(wù)器集群,并向客戶端返回一個(gè)帶有備用服務(wù)器集群的跳轉(zhuǎn)[此。是互聯(lián)網(wǎng)上標(biāo)準(zhǔn)資源的地址。首選服務(wù)器集群是優(yōu)先供客戶端120請(qǐng)求內(nèi)容的服務(wù)器集群。備用服務(wù)器集群是當(dāng)首選服務(wù)器集群過載或其他無法響應(yīng)請(qǐng)求的情形時(shí),供客戶端120請(qǐng)求內(nèi)容的服務(wù)器集群。
[0030]邊緣調(diào)度服務(wù)器111配置為在收到客戶端內(nèi)容請(qǐng)求時(shí),獲取本地服務(wù)器集群(即邊緣調(diào)度服務(wù)器111所在的服務(wù)器集群)的帶寬和負(fù)載情況,據(jù)此判斷請(qǐng)求是否應(yīng)該引導(dǎo)到備用服務(wù)器集群。緩存服務(wù)器112負(fù)責(zé)提供客戶端120需要的內(nèi)容。
[0031]圖2示出本發(fā)明一實(shí)施例的調(diào)度系統(tǒng)框圖。參考圖2所示,典型的調(diào)度系統(tǒng)包括中心決策服務(wù)器101、中心調(diào)度服務(wù)器102以及邊緣調(diào)度服務(wù)器111,為客戶端120提供服務(wù)。客戶端120進(jìn)行內(nèi)容的請(qǐng)求和跟蹤,并將文件保存,以及展示內(nèi)容。中心決策服務(wù)器101中可存儲(chǔ)并執(zhí)行中心決策模塊201。中心決策模塊201執(zhí)行時(shí),將中心決策服務(wù)器101配置為能夠根據(jù)全局的服務(wù)器集群的帶寬和負(fù)載信息,生成中心決策文件,并傳輸給中心調(diào)度服務(wù)器102。中心調(diào)度服務(wù)器102中可存儲(chǔ)并執(zhí)行中心調(diào)度模塊202。中心調(diào)度模塊202執(zhí)行時(shí),將中心調(diào)度服務(wù)器102配置為執(zhí)行該中心決策文件,在收到客戶端內(nèi)容請(qǐng)求時(shí),根據(jù)客戶端所在的地理位置及請(qǐng)求內(nèi)容,選擇首選服務(wù)器集群和可選的備用服務(wù)器集群,并向客戶端120返回一個(gè)帶有首選服務(wù)器集群及可選的備用服務(wù)器集群的跳轉(zhuǎn)[此。邊緣調(diào)度服務(wù)器111中可存儲(chǔ)并執(zhí)行邊緣調(diào)度模塊203。邊緣調(diào)度模塊203執(zhí)行時(shí),將邊緣調(diào)度服務(wù)器111配置為獲取本地服務(wù)器集群的帶寬和負(fù)載情況,判斷請(qǐng)求是否應(yīng)該引導(dǎo)到備用服務(wù)器集群,如果這時(shí)有備用服務(wù)器集群的話。
[0032]邊緣調(diào)度服務(wù)器111中還可儲(chǔ)存并執(zhí)行本地負(fù)載均衡模塊204。本地負(fù)載均衡模塊204執(zhí)行時(shí),將邊緣調(diào)度服務(wù)器111配置為用作緩存服務(wù)器112的代理。
[0033]各個(gè)服務(wù)器101、102、111可包括處理器、內(nèi)存和存儲(chǔ)器(義。!'叫一)。各個(gè)模塊,如中心決策模塊201、中心調(diào)度模塊202、邊緣調(diào)度模塊203和本地負(fù)載均衡模塊204可以以軟件形式儲(chǔ)存在存儲(chǔ)器中,并可載入到內(nèi)存中,由處理器執(zhí)行。
[0034]在本系統(tǒng)中,中心調(diào)度服務(wù)器獲取客戶請(qǐng)求后,返回了首選服務(wù)器集群和備選服務(wù)器集群。在作為首選服務(wù)器集群的邊緣服務(wù)器集群中,會(huì)根據(jù)本地服務(wù)器集群的帶寬和負(fù)載,對(duì)中心調(diào)度的分配進(jìn)行校正,例如讓客戶請(qǐng)求跳轉(zhuǎn)到備選服務(wù)器集群。因而本系統(tǒng)通過中心調(diào)度的宏觀控制和邊緣調(diào)度的調(diào)整,整個(gè)系統(tǒng)可以達(dá)到成本/質(zhì)量較優(yōu)的同時(shí),邊緣集群不會(huì)超負(fù)荷。
[0035]圖3示出本發(fā)明一實(shí)施例的中心決策和調(diào)度服務(wù)器工作流程。參考圖3所示,在步驟301,中心決策服務(wù)器101負(fù)責(zé)收集平臺(tái)所有邊緣服務(wù)器集群的帶寬和負(fù)載,周期性生成包含覆蓋域的權(quán)值等信息的中心決策文件。在步驟302,中心決策服務(wù)器101發(fā)送文件至所有的中心調(diào)度服務(wù)器102。覆蓋域是根據(jù)客戶訪問內(nèi)容的站點(diǎn)和地址(如I?地址)所在地將流量分割而成的地理區(qū)域和用戶范圍的組合。地理區(qū)域例如是覆蓋一個(gè)省或者一個(gè)市。用戶范圍例如是一個(gè)預(yù)定的用戶群體。覆蓋域中可包含多個(gè)邊緣服務(wù)器集群,即多個(gè)組。通過集群的權(quán)值對(duì)覆蓋域的各集群的流量進(jìn)行控制。
[0036]具體的流程包括:
[0037]1)通過以下方法預(yù)測(cè)節(jié)點(diǎn)的帶寬值:
[0038]獲取節(jié)點(diǎn)最近時(shí)間點(diǎn)對(duì)應(yīng)的帶寬數(shù)據(jù),將其中最大和最小的數(shù)據(jù)去除,然后使用最小二乘法,對(duì)數(shù)據(jù)進(jìn)行擬合以下公式:
[0039]6 界=8^1:+)3
[0040]計(jì)算得到3和比然后將一分鐘后的時(shí)刻丨’代入,計(jì)算得到預(yù)測(cè)帶寬值8130?。
[0041]2)遍歷所有的覆蓋域使以下條件得到滿足:
[0042]定義:1、6謂為一個(gè)邊緣服務(wù)器集群,為中心決策服務(wù)器101權(quán)值調(diào)度的基本單位;2、多個(gè)屬于共同區(qū)域的組成一個(gè)¢101),即!)是與運(yùn)營(yíng)商協(xié)定的多個(gè)服務(wù)器集群集合的網(wǎng)絡(luò)接入點(diǎn);
[0043]集群帶寬的改變量:
[0044]^ 81^^81-111 =八胃—亡&謂氺別匕⑶乂一!'/2謂
[0045]網(wǎng)絡(luò)接入點(diǎn)的帶寬為屬下的集群帶寬之和:
[0046]= 2
[0047]集群新的帶寬值應(yīng)不大于集群的服務(wù)能力,控制集群流量在額定上限:
[0048]=^
[0049]節(jié)點(diǎn)新的帶寬值應(yīng)不大于集群的帶寬上限:
[0050]= 81^0^+ 2
[0051]在以上的限制條件下,中心決策服務(wù)器嘗試找到一個(gè)解,使2 |最小,也就是在覆蓋域多個(gè)集群間流量變動(dòng)最小。這樣既保證了節(jié)點(diǎn)帶寬的穩(wěn)定,同時(shí)減少了因帶寬在節(jié)點(diǎn)間的遷移而導(dǎo)致的緩存服務(wù)器112命中率下降問題。
[0052]說明:1、81^^;011表示帶寬,81^0卩61'表示覆蓋域帶寬,表示權(quán)值,1:7^^011表示額定可服務(wù)帶寬,(?)% 1丨丫—即!)表示即!)額定可服務(wù)帶寬,八表示權(quán)值調(diào)控后的變化量;
[0053]3)最后得到每個(gè)集群在每個(gè)覆蓋域中的權(quán)值比例(即。
[0054]在步驟303,客戶端120會(huì)發(fā)送原始請(qǐng)求口此。
[0055]在步驟304,中心調(diào)度服務(wù)器102會(huì)得到客戶端的地址及請(qǐng)求內(nèi)容。
[0056]在步驟305,中心調(diào)度服務(wù)器102通過判斷客戶所屬的服務(wù)群體,得到服務(wù)集群列表。
[0057]在步驟306,中心調(diào)度服務(wù)器102根據(jù)口此進(jìn)行散列(撤別)計(jì)算和權(quán)值隨機(jī)計(jì)算,在服務(wù)集群列表中選擇一個(gè)首選服務(wù)器集群。
[0058]在步驟307,備選服務(wù)集群選擇判斷,如需要選擇備選服務(wù)集群,則在服務(wù)器集群列表中選擇一個(gè)備選服務(wù)器集群,并保證備選服務(wù)器集群有一定剩余服務(wù)能力。
[0059]在步驟308,中心調(diào)度服務(wù)器102根據(jù)原始請(qǐng)求[此、首選服務(wù)器集群和備選服務(wù)器集群,生成新的跳轉(zhuǎn)^此,并返回客戶端120。
[0060]其中,首選服務(wù)器集群I?和備選服務(wù)器集群I?的確定方法示例如下:
[0061]1)根據(jù)請(qǐng)求的I?和域名確定覆蓋域;
[0062]2)統(tǒng)計(jì)的訪問情況,并確定該是否為熱點(diǎn)
[0063]3)如果為熱點(diǎn)1此,則根據(jù)覆蓋域內(nèi)集群間的權(quán)值比例,隨機(jī)得到首選I?;如果為非熱點(diǎn)II則根據(jù)進(jìn)行散列計(jì)算,得到首選I?;
[0064]4)如果為熱點(diǎn)1此,將首選I?所在的集群去除后,根據(jù)權(quán)值比例,從可選的備選服務(wù)器集群中重新隨機(jī)選擇得到一個(gè)I?;
[0065]如果為非熱點(diǎn)現(xiàn)匕則不選擇備選集群。
[0066]其中,考慮到熱點(diǎn)被訪問的次數(shù)相對(duì)較多,緩存服務(wù)器112緩存這些后一般還會(huì)有多次的訪問。所以可以通過調(diào)度熱點(diǎn)來保證集群間的負(fù)載均衡。另外非熱點(diǎn)
的訪問次數(shù)較少,通過對(duì)口此進(jìn)行散列可以保證分配的穩(wěn)定性,減少緩存服務(wù)器112之間的內(nèi)容重復(fù)性。
[0067]圖4示出本發(fā)明一實(shí)施例的邊緣調(diào)度服務(wù)器工作流程。參考圖4所示,在步驟401,客戶端120發(fā)送請(qǐng)求,該請(qǐng)求由中心調(diào)度服務(wù)器102跳轉(zhuǎn)得到。在步驟402,邊緣調(diào)度服務(wù)器111得到請(qǐng)求。在步驟403,邊緣調(diào)度服務(wù)器111判斷本地服務(wù)器集群是否過載,如果是,在步驟404邊緣調(diào)度服務(wù)器111進(jìn)一步判斷請(qǐng)求中是否帶有備選I?的信息;如果帶有備選服務(wù)器集群的信息,則在步驟405返回跳轉(zhuǎn)[此,將客戶端跳轉(zhuǎn)至備選服務(wù)器集群;如果沒有帶備選服務(wù)器集群的信息,則在步驟406邊緣調(diào)度服務(wù)器111作為客戶端120與本地的緩存服務(wù)器112的代理,提供服務(wù)。如果本地服務(wù)器集群不是過載,則邊緣調(diào)度服務(wù)器111作為客戶端120與本地的緩存服務(wù)器112的代理,提供服務(wù)。
[0068]其中,邊緣調(diào)度再次跳轉(zhuǎn)判斷方法如下:
[0069]1)邊緣調(diào)度服務(wù)器111每隔一定時(shí)間(設(shè)為11^61~妨1,如108),獲取一次節(jié)點(diǎn)的帶寬數(shù)據(jù)冊(cè),然后代入以下公式:
[0070]尺6叫681:」\110界=111^(0, 0^8011:7^81)
[0071](其中,是節(jié)點(diǎn)的帶寬上限)
[0072]得到下一個(gè)1111:6口511時(shí)間段內(nèi),本地允許的連接數(shù)10界。
[0073]2)獲取本地服務(wù)器集群的負(fù)載1X151(1^111^6111:,和負(fù)載閾值如果0111-1-6111:) =則下一個(gè)內(nèi),所有請(qǐng)求都跳轉(zhuǎn)到備選I?。
[0074]3)在下一個(gè)1111:6口211內(nèi),前界個(gè)請(qǐng)求由本地服務(wù),而之后的請(qǐng)求則再次跳轉(zhuǎn)到備選I?。
[0075]圖5示出本發(fā)明一實(shí)施例的客戶端工作流程。參考圖5所示,在步驟501,客戶端120向中心調(diào)度服務(wù)器102發(fā)送請(qǐng)求。在步驟502,客戶端120獲取中心調(diào)度服務(wù)器102返回的302跳轉(zhuǎn)響應(yīng)。在步驟503,客戶端120向邊緣調(diào)度服務(wù)器111發(fā)送跳轉(zhuǎn)后的請(qǐng)求。在步驟504,如果得到的響應(yīng)為302跳轉(zhuǎn),則在步驟505繼續(xù)執(zhí)行步驟。在步驟506,得到邊緣調(diào)度服務(wù)器111直接返回內(nèi)容,保存至本地或顯示在界面上。
[0076]雖然本發(fā)明已以較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何本領(lǐng)域技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的修改和完善,因此本發(fā)明的保護(hù)范圍當(dāng)以權(quán)利要求書所界定的為準(zhǔn)。
【權(quán)利要求】
1.一種內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度系統(tǒng),包括: 中心決策服務(wù)器,配置為根據(jù)全局的服務(wù)器集群的帶寬和負(fù)載信息,生成中心決策文件; 一個(gè)或多個(gè)中心調(diào)度服務(wù)器,連接該中心決策服務(wù)器,該中心調(diào)度服務(wù)器配置為執(zhí)行該中心決策文件,在收到客戶端內(nèi)容請(qǐng)求時(shí),根據(jù)客戶端所在的地理位置及請(qǐng)求內(nèi)容,選擇一首選服務(wù)器集群,并決定是否同時(shí)選擇一備用服務(wù)器集群,然后向該客戶端返回一個(gè)帶有該首選服務(wù)器集群的跳轉(zhuǎn)地址,以及當(dāng)選擇了備用服務(wù)器集群時(shí),同時(shí)向該客戶端返回一個(gè)帶有該備用服務(wù)器集群的跳轉(zhuǎn)地址; 一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器,設(shè)置在對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi),各邊緣調(diào)度服務(wù)器配置為在收到客戶端內(nèi)容請(qǐng)求時(shí),如果有備用服務(wù)器集群,則獲取對(duì)應(yīng)的邊緣服務(wù)器集群的帶寬和負(fù)載情況,據(jù)此判斷請(qǐng)求是否應(yīng)該引導(dǎo)到備用服務(wù)器集群。
2.如權(quán)利要求1所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度系統(tǒng),其特征在于,該中心決策服務(wù)器設(shè)定多個(gè)覆蓋域中每一覆蓋域內(nèi)的多個(gè)集群的權(quán)值以對(duì)各集群的流量進(jìn)行控制,其中該多個(gè)覆蓋域是根據(jù)客戶端訪問內(nèi)容的站點(diǎn)和物理地址所在地預(yù)先劃分而成。
3.如權(quán)利要求1所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度系統(tǒng),其特征在于,該中心調(diào)度服務(wù)器配置為根據(jù)客戶端請(qǐng)求進(jìn)行散列計(jì)算和權(quán)值隨機(jī)計(jì)算,在服務(wù)集群列表中選擇一首選服務(wù)器集群,且如果決定選擇備選服務(wù)器集群,進(jìn)一步在服務(wù)器集群列表中選擇有一定剩余服務(wù)能力的備選服務(wù)器集群。
4.如權(quán)利要求1所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度系統(tǒng),其特征在于,該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器配置為在收到客戶端內(nèi)容請(qǐng)求時(shí),判斷對(duì)應(yīng)的邊緣服務(wù)器集群是否過載,如果是,則判斷請(qǐng)求中是否帶有備選服務(wù)器集群的信息,如果帶有備選服務(wù)器集群的信息,則返回跳轉(zhuǎn)地址,將客戶端跳轉(zhuǎn)至備選服務(wù)器集群,如果沒有帶備選服務(wù)器集群的信息,則以邊緣調(diào)度服務(wù)器作為客戶端與對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi)的緩存服務(wù)器的代理,提供服務(wù);如果對(duì)應(yīng)的邊緣服務(wù)器集群不是過載,則以邊緣調(diào)度服務(wù)器作為客戶端與該緩存服務(wù)器的代理。
5.如權(quán)利要求1所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度系統(tǒng),其特征在于,該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器配置為每隔一定時(shí)間獲取一次節(jié)點(diǎn)的帶寬數(shù)據(jù),然后據(jù)此計(jì)算得到下一個(gè)時(shí)間段內(nèi),本地允許的連接數(shù),且在下一個(gè)時(shí)間內(nèi),由連接數(shù)決定的前幾個(gè)請(qǐng)求由對(duì)應(yīng)的邊緣服務(wù)器集群服務(wù),而之后的請(qǐng)求則再次跳轉(zhuǎn)到備選服務(wù)器集群。
6.一種內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度方法,包括以下步驟: 在中心決策服務(wù)器為根據(jù)全局的服務(wù)器集群的帶寬、負(fù)載信息、網(wǎng)絡(luò)狀況和成本信息,生成中心決策文件; 在連接該中心決策服務(wù)器的一個(gè)或多個(gè)中心調(diào)度服務(wù)器執(zhí)行該中心決策文件,在收到客戶端內(nèi)容請(qǐng)求時(shí),根據(jù)客戶端所在的地理位置及請(qǐng)求內(nèi)容,選擇一首選服務(wù)器集群,并決定是否同時(shí)選擇一備用服務(wù)器集群,然后向該客戶端返回一個(gè)帶有該首選及該備用服務(wù)器集群的跳轉(zhuǎn)地址,以及當(dāng)選擇了備用服務(wù)器集群時(shí),同時(shí)向該客戶端返回一個(gè)帶有該備用服務(wù)器集群的跳轉(zhuǎn)地址; 在設(shè)置于對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi)且連接該一個(gè)或多個(gè)中心調(diào)度服務(wù)器的一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器,在收到客戶端內(nèi)容請(qǐng)求時(shí),如果有備用服務(wù)器集群,則獲取對(duì)應(yīng)的邊緣服務(wù)器集群的帶寬和負(fù)載情況,判斷請(qǐng)求是否應(yīng)該引導(dǎo)到備用服務(wù)器集群。
7.如權(quán)利要求6所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度方法,其特征在于,在該中心決策服務(wù)器生成決策文件的步驟包括:設(shè)定多個(gè)覆蓋域中每一覆蓋域內(nèi)的多個(gè)集群的權(quán)值以對(duì)各集群的流量進(jìn)行控制,其中該多個(gè)覆蓋域是根據(jù)客戶端訪問內(nèi)容的站點(diǎn)和物理地址所在地預(yù)先劃分而成。
8.如權(quán)利要求6所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度方法,其特征在于,在該中心調(diào)度服務(wù)器中執(zhí)行以下步驟: 根據(jù)判斷客戶所屬的服務(wù)群體,得到服務(wù)集群列表; 根據(jù)客戶端請(qǐng)求進(jìn)行散列計(jì)算和權(quán)值隨機(jī)計(jì)算,在服務(wù)集群列表中選擇一個(gè)首選服務(wù)器集群; 如果決定選擇備選服務(wù)器集群,進(jìn)一步在服務(wù)器集群列表中選擇一個(gè)有一定剩余服務(wù)能力的備選服務(wù)器集群。
9.如權(quán)利要求6所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度方法,其特征在于,該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器在收到客戶端內(nèi)容請(qǐng)求時(shí)執(zhí)行以下步驟: 判斷對(duì)應(yīng)的邊緣服務(wù)器集群是否過載; 如果邊緣服務(wù)器集群是過載,則判斷請(qǐng)求中是否帶有備選服務(wù)器集群的信息:如果帶有備選服務(wù)器集群的信息,則返回跳轉(zhuǎn)地址,將客戶端跳轉(zhuǎn)至備選服務(wù)器集群;如果沒有帶備選服務(wù)器集群的信息,則以邊緣調(diào)度服務(wù)器作為客戶端與對(duì)應(yīng)的邊緣服務(wù)器集群內(nèi)的緩存服務(wù)器的代理,提供服務(wù); 如果邊緣服務(wù)器集群不是過載,則以邊緣調(diào)度服務(wù)器作為客戶端與該緩存服務(wù)器的代理。
10.如權(quán)利要求6所述的內(nèi)容分發(fā)網(wǎng)絡(luò)的HTTP調(diào)度方法,其特征在于,在該一個(gè)或多個(gè)邊緣調(diào)度服務(wù)器中每隔一定時(shí)間獲取一次節(jié)點(diǎn)的帶寬數(shù)據(jù),然后據(jù)此計(jì)算得到下一個(gè)時(shí)間段內(nèi),本地允許的連接數(shù),且在下一個(gè)時(shí)間內(nèi),由連接數(shù)決定的前幾個(gè)請(qǐng)求由對(duì)應(yīng)的邊緣服務(wù)器集群服務(wù),而之后的請(qǐng)求則再次跳轉(zhuǎn)到備選服務(wù)器集群。
【文檔編號(hào)】H04L29/08GK104320487SQ201410631207
【公開日】2015年1月28日 申請(qǐng)日期:2014年11月11日 優(yōu)先權(quán)日:2014年11月11日
【發(fā)明者】洪珂, 莫小琪, 阮兆銀 申請(qǐng)人:網(wǎng)宿科技股份有限公司