一種過濾抖動(dòng)的漸進(jìn)式流量調(diào)度方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本申請(qǐng)涉及互聯(lián)網(wǎng)的技術(shù)領(lǐng)域,特別是涉及一種過濾抖動(dòng)的漸進(jìn)式流量調(diào)度方法 和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著,在互聯(lián)網(wǎng)上的數(shù)據(jù)傳輸量的與日倶增,為了能夠避開互聯(lián)網(wǎng)上有可能影 響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使內(nèi)容傳輸?shù)酶臁⒏€(wěn)定,已經(jīng)提供了一種 Q)N(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))技術(shù)。在所述技術(shù)中,通過在網(wǎng)絡(luò)各處放 置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡(luò),來提高網(wǎng)絡(luò)的響應(yīng) 速度。常見的智能虛擬網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)有中心-邊緣層次這種兩層的結(jié)構(gòu),第一層是邊緣 服務(wù)節(jié)點(diǎn),部署在盡量靠近用戶的網(wǎng)絡(luò)中,第二層是中心節(jié)點(diǎn),部署在網(wǎng)絡(luò)質(zhì)量好的主干網(wǎng) 絡(luò)中,此類型節(jié)點(diǎn)訪問源站通常會(huì)比較快。邊緣服務(wù)節(jié)點(diǎn)和中心節(jié)點(diǎn)是多對(duì)多的關(guān)系。在 所述中心-邊緣層次網(wǎng)絡(luò)結(jié)構(gòu)中選擇最優(yōu)路徑是內(nèi)容分發(fā)系統(tǒng)中的一個(gè)重要功能,其目的 是使用戶可就近取得所需內(nèi)容,解決Internet網(wǎng)絡(luò)擁擠的狀況,提高用戶訪問網(wǎng)站的響應(yīng) 速度以加速用戶請(qǐng)求的應(yīng)答。
[0003] 在使用傳統(tǒng)的CDN技術(shù)的過程中,一個(gè)請(qǐng)求到邊緣服務(wù)節(jié)點(diǎn)后,接著會(huì)選擇通過 哪個(gè)中心節(jié)點(diǎn)去回源,而選擇的依據(jù)是通過邊緣服務(wù)節(jié)點(diǎn)定期探測(cè)到各個(gè)中心節(jié)點(diǎn)之間的 RTT (Round-Trip Time往返時(shí)延)值,選擇值最小的中心節(jié)點(diǎn)作為下一目的地。
[0004] 但實(shí)際的過程中,會(huì)存在如下問題:由于各個(gè)中心節(jié)點(diǎn)的資源配置不同,能承受的 最大負(fù)載會(huì)有差異。如果只通過RTT來判斷,由于RTT并不能真實(shí)反映中心節(jié)點(diǎn)的處理能 力,可能會(huì)使得邊緣服務(wù)節(jié)點(diǎn)把過多的流量引導(dǎo)到性能差的中心節(jié)點(diǎn),從而造成中心節(jié)點(diǎn) 過載,請(qǐng)求應(yīng)答延遲大,甚至壓垮機(jī)器而宕機(jī)。例如,一些鄰近的老舊中心節(jié)點(diǎn)的硬件配置 可能已經(jīng)落伍,因此,盡管其RTT值目前可能看上去很小,但一旦將大量任務(wù)分發(fā)給該中心 節(jié)點(diǎn),就會(huì)占據(jù)該中心內(nèi)節(jié)點(diǎn)的幾乎所有資源,因而很容易造成該中心節(jié)點(diǎn)過載并導(dǎo)致應(yīng) 答遲緩。相反,某些中心節(jié)點(diǎn)可能距離較遠(yuǎn),但由于其硬件配置較新,如果將這些任務(wù)分配 給這些中心節(jié)點(diǎn)也僅僅是占用其一部分資源并不會(huì)影響其正常工作,因此,來自這些具有 較大RTT值的中心節(jié)點(diǎn)的應(yīng)答反而會(huì)快于來自較近的老舊中心節(jié)點(diǎn)的應(yīng)答。顯然,這種基 于RTT的判斷提供的并不是最優(yōu)的路徑。
[0005] 另一方面,一旦某個(gè)中心節(jié)點(diǎn)的RTT由好變差,傳統(tǒng)的⑶N技術(shù)就會(huì)對(duì)路徑選擇進(jìn) 行一刀切,即把所有的請(qǐng)求都引導(dǎo)到其他中心節(jié)點(diǎn)。等這些流量都被引導(dǎo)到別的中心節(jié)點(diǎn) 之后,隨著請(qǐng)求任務(wù)的減少,這個(gè)中心節(jié)點(diǎn)的RTT變好。此后,傳統(tǒng)技術(shù)會(huì)重新把后續(xù)請(qǐng)求 都導(dǎo)入這個(gè)中心節(jié)點(diǎn)。如果流量過多則這個(gè)中心節(jié)點(diǎn)的RTT又會(huì)重新變差……。如此不斷 反復(fù)此過程,最終導(dǎo)致CDN的服務(wù)質(zhì)量發(fā)生較大抖動(dòng),性能很不穩(wěn)定,影響產(chǎn)品口碑。
[0006] 因此,存在一種對(duì)能夠過濾抖動(dòng)的流量調(diào)度方法和系統(tǒng),以解決上述傳統(tǒng)技術(shù)中 的問題。
【發(fā)明內(nèi)容】
[0007] 鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本申請(qǐng)的目的在于提供一種過濾抖動(dòng)的漸進(jìn)式流 量調(diào)度方法和系統(tǒng),以在中心-邊緣層次網(wǎng)絡(luò)結(jié)構(gòu)中選擇最優(yōu)路徑,同時(shí)消除傳統(tǒng)CDN技術(shù) 中的抖動(dòng)問題。
[0008] 為了實(shí)現(xiàn)上述目的及其他相關(guān)目的,本申請(qǐng)?zhí)峁┮环N過濾抖動(dòng)的漸進(jìn)式流量調(diào)度 方法,包括以下步驟:步驟S1、邊緣服務(wù)節(jié)點(diǎn)定期發(fā)送探測(cè)請(qǐng)求到各個(gè)中心節(jié)點(diǎn),每個(gè)中心 節(jié)點(diǎn)把當(dāng)前機(jī)器的綜合負(fù)載信息響應(yīng)給邊緣服務(wù)節(jié)點(diǎn);步驟S2、邊緣服務(wù)節(jié)點(diǎn)根據(jù)收到的 中心節(jié)點(diǎn)綜合負(fù)載信息后,先按RTT進(jìn)行從小到大進(jìn)行排序,再按照綜合負(fù)載信息判斷每 個(gè)中心節(jié)點(diǎn)的負(fù)載情況,從而得出每個(gè)中心節(jié)點(diǎn)的流量調(diào)度策略,并更新每個(gè)中心節(jié)點(diǎn)的 負(fù)載閾值;步驟S3、邊緣服務(wù)節(jié)點(diǎn)收到用戶發(fā)過來的請(qǐng)求后,根據(jù)每個(gè)中心節(jié)點(diǎn)的負(fù)載閾 值,查詢出最終要發(fā)送的中心節(jié)點(diǎn)的ip,把這個(gè)請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的中心節(jié)點(diǎn)。
[0009] 根據(jù)本申請(qǐng)的另一方面,提供了一種過濾抖動(dòng)的漸進(jìn)式流量調(diào)度系統(tǒng),其特征在 于,包括:
[0010] 源站(150);
[0011] 用戶設(shè)備(140),用戶使用所述用戶設(shè)備向內(nèi)容分發(fā)網(wǎng)絡(luò)發(fā)送請(qǐng)求;
[0012] 用于根據(jù)來自所述用戶的請(qǐng)求訪問所述源站的內(nèi)容分發(fā)網(wǎng)絡(luò)(110),包括被部署 在盡量靠近用戶的網(wǎng)絡(luò)邊緣上所述內(nèi)容分發(fā)網(wǎng)絡(luò)的一個(gè)或多個(gè)邊緣服務(wù)節(jié)點(diǎn)(120)和被 部署在網(wǎng)絡(luò)質(zhì)量好的主干網(wǎng)絡(luò)中的一個(gè)或多個(gè)中心節(jié)點(diǎn)(130);
[0013] 其中所述邊緣服務(wù)節(jié)點(diǎn)被配置為:
[0014] 定期發(fā)送探測(cè)請(qǐng)求到各個(gè)中心節(jié)點(diǎn),每個(gè)所述中心節(jié)點(diǎn)把當(dāng)前設(shè)備的綜合負(fù)載信 息作為響應(yīng)返回給所述邊緣服務(wù)節(jié)點(diǎn);
[0015] 在接收到所述中心節(jié)點(diǎn)的綜合負(fù)載信息之后,先按所述中心節(jié)點(diǎn)的RTT從小到大 進(jìn)行排序,再按照所述中心節(jié)點(diǎn)的綜合負(fù)載信息判斷每個(gè)所述中心節(jié)點(diǎn)的負(fù)載情況,從而 確定每個(gè)所述中心節(jié)點(diǎn)的流量調(diào)度策略,并更新每個(gè)所述中心節(jié)點(diǎn)的負(fù)載閾值;以及
[0016] 在接收到用戶發(fā)過來的請(qǐng)求之后,根據(jù)所述中心節(jié)點(diǎn)的所述負(fù)載閾值,查詢出最 終要發(fā)送所述請(qǐng)求的所述中心節(jié)點(diǎn)的IP并把所述請(qǐng)求轉(zhuǎn)發(fā)到相應(yīng)的中心節(jié)點(diǎn)。
[0017] 根據(jù)上述的一種過濾抖動(dòng)的漸進(jìn)式流量調(diào)度方法和系統(tǒng),其中:所述步驟S2中: 如果實(shí)際負(fù)載值還未達(dá)到機(jī)器的負(fù)載低水平線(CPU、內(nèi)存、10、流量等均處在一個(gè)比較低的 閾值),則此中心節(jié)點(diǎn)的調(diào)度策略是可以繼續(xù)增加負(fù)載,同時(shí)按一個(gè)相對(duì)低的比例閾值進(jìn)行 增加;如果已經(jīng)超過負(fù)載高水平線,則此中心節(jié)點(diǎn)的調(diào)度策略是下調(diào)負(fù)載,同時(shí)按一個(gè)相對(duì) 高的比例閾值進(jìn)行下調(diào);如果在負(fù)載低水平線和負(fù)載高水平線之間,則保持當(dāng)前的負(fù)載值。
[0018] 根據(jù)上述的一種過濾抖動(dòng)的漸進(jìn)式流量調(diào)度方法和系統(tǒng),其中:所述步驟S3中: 邊緣服務(wù)節(jié)點(diǎn)收到用戶發(fā)過來的請(qǐng)求后,按照RTT值從小到大的順序,遍歷中心節(jié)點(diǎn),如果 當(dāng)前中心節(jié)點(diǎn)的負(fù)載還未達(dá)到限定的負(fù)載值,則選中此中心節(jié)點(diǎn),否則跳過此中心節(jié)點(diǎn),繼 續(xù)往下一個(gè)中心節(jié)點(diǎn)判斷,直到最后一個(gè)中心節(jié)點(diǎn),如果還未選中,則說明所有的中心節(jié)點(diǎn) 已經(jīng)達(dá)到負(fù)載上限,如果再接受請(qǐng)求就可能導(dǎo)致某個(gè)中心節(jié)點(diǎn)超負(fù)荷的情況的發(fā)生,因此, 此請(qǐng)求直接從邊緣服務(wù)節(jié)點(diǎn)回源,不再經(jīng)過中心節(jié)點(diǎn)回源。在另外一個(gè)實(shí)施例中,為了防止 由于流量大幅上升帶來的大幅波動(dòng)將某個(gè)中心節(jié)點(diǎn)壓垮,即使存在負(fù)載還未達(dá)到限定的負(fù) 載值的中心節(jié)點(diǎn),也可將此請(qǐng)求直接從邊緣服務(wù)節(jié)點(diǎn)回源,不再經(jīng)過中心節(jié)點(diǎn)回源以避免 造成服務(wù)質(zhì)量發(fā)生大幅抖動(dòng)。
[0019] 如上所述,本申請(qǐng)的過濾抖動(dòng)的漸進(jìn)式流量調(diào)度方法和系統(tǒng),具有以下有益效 果:
[0020] (1)按照全局即時(shí)流量情況進(jìn)行調(diào)度:參照RTT和各個(gè)中心節(jié)點(diǎn)具體的負(fù)載信息, 能更準(zhǔn)確的進(jìn)行流量調(diào)度。
[0021] (2)慢增長(zhǎng)及快回落的漸進(jìn)式流量控制:能讓中心節(jié)點(diǎn)的流量不會(huì)大起大落,因 而不會(huì)造成服務(wù)的大幅抖動(dòng)。
【附圖說明】
[0022] 圖1是在其中執(zhí)行根據(jù)本申請(qǐng)的實(shí)施例的用于過濾抖動(dòng)的漸進(jìn)式流量調(diào)度方法 的示例系統(tǒng)環(huán)境。
[0023