內(nèi)容分發(fā)網(wǎng)絡(luò)中的tcp加速方法、系統(tǒng)和服務(wù)器的制造方法
【專(zhuān)利摘要】本發(fā)明提供一種內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法,包括:根據(jù)來(lái)自客戶端的TCP訪問(wèn)請(qǐng)求確定TCP訪問(wèn)請(qǐng)求中所攜帶的訪問(wèn)內(nèi)容信息;根據(jù)訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求,新的TCP訪問(wèn)請(qǐng)求至少包含訪問(wèn)內(nèi)容信息和訪問(wèn)路由表,訪問(wèn)內(nèi)容信息用于判定接收新的TCP訪問(wèn)請(qǐng)求的CDN節(jié)點(diǎn)是否存儲(chǔ)有相應(yīng)于訪問(wèn)內(nèi)容信息的文件;根據(jù)訪問(wèn)路由表發(fā)送新的TCP訪問(wèn)請(qǐng)求至CDN節(jié)點(diǎn);相應(yīng)的本公開(kāi)還提供一種系統(tǒng)以及布設(shè)有該系統(tǒng)的服務(wù)器;在接收到來(lái)自客戶端的訪問(wèn)請(qǐng)求后訪問(wèn)請(qǐng)求的內(nèi)容和用戶到能夠提供訪問(wèn)請(qǐng)求內(nèi)容的最近的節(jié)點(diǎn),從而即保證了能夠滿足用戶的訪問(wèn)請(qǐng)求又提供了最優(yōu)的訪問(wèn)路徑給用戶,提升了服務(wù)質(zhì)量,保證了用戶體驗(yàn)。
【專(zhuān)利說(shuō)明】
內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法、系統(tǒng)和服務(wù)器
技術(shù)領(lǐng)域
[0001]本公開(kāi)涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法、系統(tǒng)和一種服務(wù)器。
【背景技術(shù)】
[0002]Q)N(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))是一種通過(guò)在網(wǎng)絡(luò)各處放置節(jié)點(diǎn)服務(wù)器所構(gòu)成的在現(xiàn)有的互聯(lián)網(wǎng)基礎(chǔ)之上的一層智能虛擬網(wǎng)絡(luò)。CDN能夠?qū)崟r(shí)地根據(jù)網(wǎng)絡(luò)流量和各節(jié)點(diǎn)的連接、負(fù)載狀況以及到用戶的距離和響應(yīng)時(shí)間等綜合信息將用戶的請(qǐng)求重新導(dǎo)向離用戶最近的服務(wù)節(jié)點(diǎn)上,其目的是能夠選擇離用戶相對(duì)較近的節(jié)點(diǎn)向用戶發(fā)送用戶所需的內(nèi)容,緩解網(wǎng)絡(luò)擁擠的狀況,提高網(wǎng)站的響應(yīng)速度。
[0003]然而,現(xiàn)有技術(shù)中,直接為用戶尋求相對(duì)較近的緩存有用戶所需內(nèi)容的節(jié)點(diǎn)到用戶的網(wǎng)絡(luò)質(zhì)量往往并不是最好的,即只考慮了能夠提供給用戶所述內(nèi)容的節(jié)點(diǎn)而沒(méi)有考慮用戶到該節(jié)點(diǎn)的最優(yōu)路徑,從而不能夠?yàn)橛脩籼峁┳顑?yōu)的服務(wù),影響用戶體驗(yàn)。
【發(fā)明內(nèi)容】
[0004]本公開(kāi)提供一種內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法、系統(tǒng)和一種服務(wù)器,以解決上述技術(shù)問(wèn)題。
[0005]根據(jù)本公開(kāi)的一個(gè)方面,提供了一種內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法,包括:
[0006]根據(jù)來(lái)自客戶端的TCP訪問(wèn)請(qǐng)求確定所述TCP訪問(wèn)請(qǐng)求中所攜帶的訪問(wèn)內(nèi)容信息;
[0007]根據(jù)所述訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求,所述新的TCP訪問(wèn)請(qǐng)求至少包含所述訪問(wèn)內(nèi)容信息和訪問(wèn)路由表,所述訪問(wèn)內(nèi)容信息用于判定接收所述新的TCP訪問(wèn)請(qǐng)求的CDN節(jié)點(diǎn)是否存儲(chǔ)有相應(yīng)于所述訪問(wèn)內(nèi)容信息的文件;
[0008]根據(jù)所述訪問(wèn)路由表發(fā)送所述新的TCP訪問(wèn)請(qǐng)求至⑶N節(jié)點(diǎn)。
[0009]根據(jù)本公開(kāi)的另一個(gè)方面,提供一種內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng),包括:
[0010]訪問(wèn)內(nèi)容信息確定模塊,用于根據(jù)來(lái)自客戶端的TCP訪問(wèn)請(qǐng)求確定所述TCP訪問(wèn)請(qǐng)求中所攜帶的訪問(wèn)內(nèi)容信息;
[0011 ]訪問(wèn)請(qǐng)求生成模塊,用于根據(jù)所述訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求,所述新的TCP訪問(wèn)請(qǐng)求至少包含所述訪問(wèn)內(nèi)容信息和訪問(wèn)路由表,所述訪問(wèn)內(nèi)容信息用于判定接收所述新的TCP訪問(wèn)請(qǐng)求的CDN節(jié)點(diǎn)是否存儲(chǔ)有相應(yīng)于所述訪問(wèn)內(nèi)容信息的文件;
[0012 ]訪問(wèn)請(qǐng)求發(fā)送模塊,用于根據(jù)所述訪問(wèn)路由表發(fā)送所述新的TCP訪問(wèn)請(qǐng)求至⑶N節(jié)點(diǎn)。
[0013]根據(jù)本公開(kāi)的另一個(gè)方面,提供一種布設(shè)了本公開(kāi)任一實(shí)施例中所述的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng)的服務(wù)器。
[0014]本公開(kāi)實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法、系統(tǒng)以及服務(wù)器,在接收到來(lái)自客戶端的訪問(wèn)請(qǐng)求后綜合考慮用戶的訪問(wèn)請(qǐng)求的內(nèi)容和用戶到能夠提供所述訪問(wèn)請(qǐng)求內(nèi)容的最近的節(jié)點(diǎn)的最優(yōu)的路徑,從而即保證了能夠滿足用戶的訪問(wèn)請(qǐng)求又提供了最優(yōu)的訪問(wèn)路徑給用戶,從而提升了為用戶提供的服務(wù)的質(zhì)量,保證了用戶體驗(yàn)。
【附圖說(shuō)明】
[0015]為了更清楚地說(shuō)明本公開(kāi)實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本公開(kāi)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本公開(kāi)的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法的一實(shí)施例的流程圖;
[0017]圖2為本公開(kāi)的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法的另一實(shí)施例的流程圖;
[0018]圖3為本公開(kāi)的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法的又一實(shí)施例的流程圖;
[0019]圖4為本公開(kāi)的容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng)的一實(shí)施例的示意圖;
[0020]圖5為本公開(kāi)的容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng)的另一實(shí)施例的示意圖;
[0021]圖6為本公開(kāi)的容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng)的又一實(shí)施例的示意圖。
具體實(shí)施例
[0022]為使本公開(kāi)實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本公開(kāi)實(shí)施例中的附圖,對(duì)本公開(kāi)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本公開(kāi)一部分實(shí)施例,而不是全部的實(shí)施例?;诒竟_(kāi)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本公開(kāi)保護(hù)的范圍。
[0023]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0024]本公開(kāi)可用于眾多通用或?qū)S玫挠?jì)算系統(tǒng)環(huán)境或配置中。例如:個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持設(shè)備或便攜式設(shè)備、平板型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、置頂盒、可編程的消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、包括以上任何系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
[0025]本公開(kāi)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本公開(kāi),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。
[0026]最后,還需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”,不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0027]如圖1所示,本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法,包括:
[0028]S11、根據(jù)來(lái)自客戶端的TCP訪問(wèn)請(qǐng)求確定TCP訪問(wèn)請(qǐng)求中所攜帶的訪問(wèn)內(nèi)容信息;
[0029]S12、根據(jù)訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求,新的TCP訪問(wèn)請(qǐng)求至少包含訪問(wèn)內(nèi)容信息和訪問(wèn)路由表,訪問(wèn)內(nèi)容信息用于判定接收新的TCP訪問(wèn)請(qǐng)求的CDN節(jié)點(diǎn)是否存儲(chǔ)有相應(yīng)于訪問(wèn)內(nèi)容信息的文件;
[0030 ] S13、根據(jù)訪問(wèn)路由表發(fā)送新的TCP訪問(wèn)請(qǐng)求至⑶N節(jié)點(diǎn)。
[0031 ]本實(shí)施中,在接收到來(lái)自客戶端的訪問(wèn)請(qǐng)求后綜合考慮用戶的訪問(wèn)請(qǐng)求的內(nèi)容和用戶到能夠提供所述訪問(wèn)請(qǐng)求內(nèi)容的最近的節(jié)點(diǎn)的最優(yōu)的路徑,從而即保證了能夠滿足用戶的訪問(wèn)請(qǐng)求又提供了最優(yōu)的訪問(wèn)路徑給用戶,從而提升了為用戶提供的服務(wù)的質(zhì)量,保證了用戶體驗(yàn)。
[0032]如圖2所示,在本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法中,根據(jù)訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求包括:
[0033]S21、根據(jù)訪問(wèn)內(nèi)容信息確定存儲(chǔ)有相應(yīng)于訪問(wèn)內(nèi)容信息的文件的CDN源節(jié)點(diǎn);
[0034]S22、確定客戶端至⑶對(duì)原節(jié)點(diǎn)的最短路徑;
[0035]S23、基于最短路徑中的所有⑶N節(jié)點(diǎn)的IP地址生成路由表;
[0036]S24、至少根據(jù)訪問(wèn)內(nèi)容信息和路由表生成新的TCP訪問(wèn)請(qǐng)求。
[0037]本實(shí)施例中,直接確定了用戶到CDN源節(jié)點(diǎn)最短路徑,并將該路徑上的所有的CDN節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表,最終根據(jù)訪問(wèn)內(nèi)容信息和路由表生成新的TCP訪問(wèn)請(qǐng)求以用于用戶訪問(wèn)存儲(chǔ)有訪問(wèn)內(nèi)容的節(jié)點(diǎn)(CDN節(jié)點(diǎn)或者CDN源節(jié)點(diǎn));最短路徑上中包含的CDN節(jié)點(diǎn)中必然存在著已經(jīng)緩存有用戶所需內(nèi)容的緩存CDN節(jié)點(diǎn),而用戶到CDN源節(jié)點(diǎn)的路徑為最短路徑,那么用戶到該緩存有所需內(nèi)容的緩存CDN節(jié)點(diǎn)的路徑必然也是最短路徑,因此,而且并不一定是該緩存⑶N節(jié)點(diǎn)直接為用戶發(fā)送所需內(nèi)容,可能是通過(guò)最短路徑上的⑶N節(jié)點(diǎn)來(lái)為用戶提供服務(wù)的,因?yàn)楸旧頌橐粋€(gè)服務(wù)器的CDN節(jié)點(diǎn)來(lái)為用戶傳輸數(shù)據(jù)必然要比長(zhǎng)距離的直接由緩存CDN節(jié)點(diǎn)為用戶提供服務(wù)的質(zhì)量要好,從而達(dá)到提升用戶體驗(yàn)的目的;此外,既然存在緩存CDN節(jié)點(diǎn),仍要把到CDN源節(jié)點(diǎn)的整個(gè)路徑上的所有節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表的原因在于,考慮到了緩存CDN節(jié)點(diǎn)可能并沒(méi)有完全緩存了用戶所需的整個(gè)文件的情況,當(dāng)出現(xiàn)這種情況時(shí),仍可以根據(jù)所述路由表回源,以取得用戶所需的訪問(wèn)內(nèi)容。
[0038]如圖3所示,在本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法中,根據(jù)訪問(wèn)路由表發(fā)送新的TCP訪問(wèn)請(qǐng)求至⑶N節(jié)點(diǎn)包括:
[0039 ] S31、從訪問(wèn)路由表中讀?、荖節(jié)點(diǎn)的IP地址;
[0040]S32、將⑶N節(jié)點(diǎn)的IP地址從訪問(wèn)路由表中刪除;
[0041 ] S33、根據(jù)⑶N節(jié)點(diǎn)的IP地址將訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)至⑶N節(jié)點(diǎn)。
[0042]本實(shí)施例中,通過(guò)讀取將要轉(zhuǎn)發(fā)至的下一⑶N節(jié)點(diǎn)的IP地址,后就立即刪除該IP地址的方法使得每一次轉(zhuǎn)發(fā)新的訪問(wèn)請(qǐng)求時(shí)都可以直接讀取路由表中的第一個(gè)IP地址即可,而不用進(jìn)行不必要的計(jì)算和比較(如果轉(zhuǎn)發(fā)過(guò)程中,從始至終路由表都沒(méi)有變更,則每一次讀取下一CDN節(jié)點(diǎn)時(shí)都得通過(guò)計(jì)算從整個(gè)路由表中讀取所述下一CDN節(jié)點(diǎn)的IP地址,例如,需要記錄下次讀取從第η個(gè)字節(jié)開(kāi)始,這樣既要計(jì)數(shù)又要計(jì)算,造成空間和時(shí)間的浪費(fèi)),而通過(guò)本實(shí)施例的處理在轉(zhuǎn)向下一 CDN節(jié)點(diǎn)時(shí)只需要從路由表的表頭中順序讀取第一個(gè)IP地址即可,不僅節(jié)省了時(shí)間和空間,還避免了由于計(jì)算和計(jì)數(shù)可能帶來(lái)的錯(cuò)誤,例如直接跳轉(zhuǎn)到更遠(yuǎn)的節(jié)點(diǎn)或者跳回到上一節(jié)點(diǎn)等。
[0043]在本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法中,將最短路徑中的所有⑶N節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表包括:
[0044]基于客戶端至⑶咐原節(jié)點(diǎn)方向的所述最短路徑中的⑶N節(jié)點(diǎn)的IP地址存儲(chǔ)生成所述路由表。
[0045]本實(shí)施例中,通過(guò)將最短路徑中的所有CDN節(jié)點(diǎn)IP地址順序在隊(duì)列中,更加簡(jiǎn)化了每一次轉(zhuǎn)發(fā)新的訪問(wèn)請(qǐng)求讀取IP地址的操作,因?yàn)殛?duì)列的特點(diǎn)就在于,只能從隊(duì)列的一端寫(xiě)入,從隊(duì)列的另一端讀取并刪除。
[0046]本公開(kāi)實(shí)施例中可以通過(guò)硬件處理器(hardware processor)來(lái)實(shí)現(xiàn)相關(guān)功能模塊。
[0047]需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作合并,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本公開(kāi)并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本公開(kāi),某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書(shū)中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本公開(kāi)所必須的。
[0048]在上述實(shí)施例中,對(duì)各個(gè)實(shí)施例的描述都各有側(cè)重,某個(gè)實(shí)施例中沒(méi)有詳述的部分,可以參見(jiàn)其他實(shí)施例的相關(guān)描述。
[0049 ]如圖4所示,在本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng),包括:
[0050]訪問(wèn)內(nèi)容信息確定模塊,用于根據(jù)來(lái)自客戶端的TCP訪問(wèn)請(qǐng)求確定TCP訪問(wèn)請(qǐng)求中所攜帶的訪問(wèn)內(nèi)容信息;
[0051 ]訪問(wèn)請(qǐng)求生成模塊,用于根據(jù)訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求,新的TCP訪問(wèn)請(qǐng)求至少包含訪問(wèn)內(nèi)容信息和訪問(wèn)路由表,訪問(wèn)內(nèi)容信息用于判定接收新的TCP訪問(wèn)請(qǐng)求的CDN節(jié)點(diǎn)是否存儲(chǔ)有相應(yīng)于訪問(wèn)內(nèi)容信息的文件;
[0052 ]訪問(wèn)請(qǐng)求發(fā)送模塊,用于根據(jù)訪問(wèn)路由表發(fā)送新的TCP訪問(wèn)請(qǐng)求至⑶N節(jié)點(diǎn)。
[0053]本實(shí)施中,在接收到來(lái)自客戶端的訪問(wèn)請(qǐng)求后綜合考慮用戶的訪問(wèn)請(qǐng)求的內(nèi)容和用戶到能夠提供所述訪問(wèn)請(qǐng)求內(nèi)容的最近的節(jié)點(diǎn)的最優(yōu)的路徑,從而即保證了能夠滿足用戶的訪問(wèn)請(qǐng)求又提供了最優(yōu)的訪問(wèn)路徑給用戶,從而提升了為用戶提供的服務(wù)的質(zhì)量,保證了用戶體驗(yàn)。
[0054]如圖5所示,在本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng)中,訪問(wèn)請(qǐng)求生成模塊包括:
[0055]源節(jié)點(diǎn)確定單元,用于根據(jù)訪問(wèn)內(nèi)容信息確定存儲(chǔ)有相應(yīng)于所述訪問(wèn)內(nèi)容信息的文件的CDN源節(jié)點(diǎn);
[0056]最短路徑確定單元,用于確定客戶端至CDN源節(jié)點(diǎn)的最短路徑;
[0057]路由表生成單元,用于基于最短路徑中的所有⑶N節(jié)點(diǎn)的IP地址生成路由表;
[0058]新訪問(wèn)請(qǐng)求生成單元,用于至少根據(jù)訪問(wèn)內(nèi)容信息和路由表生成新的TCP訪問(wèn)請(qǐng)求。
[0059]本實(shí)施例中,直接確定了用戶到CDN源節(jié)點(diǎn)最短路徑,并將該路徑上的所有的CDN節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表,最終根據(jù)訪問(wèn)內(nèi)容信息和路由表生成新的TCP訪問(wèn)請(qǐng)求以用于用戶訪問(wèn)存儲(chǔ)有訪問(wèn)內(nèi)容的節(jié)點(diǎn)(CDN節(jié)點(diǎn)或者CDN源節(jié)點(diǎn));最短路徑上中包含的CDN節(jié)點(diǎn)中必然存在著已經(jīng)緩存有用戶所需內(nèi)容的緩存CDN節(jié)點(diǎn),而用戶到CDN源節(jié)點(diǎn)的路徑為最短路徑,那么用戶到該緩存有所需內(nèi)容的緩存CDN節(jié)點(diǎn)的路徑必然也是最短路徑,因此,而且并不一定是該緩存⑶N節(jié)點(diǎn)直接為用戶發(fā)送所需內(nèi)容,可能是通過(guò)最短路徑上的⑶N節(jié)點(diǎn)來(lái)為用戶提供服務(wù)的,因?yàn)楸旧頌橐粋€(gè)服務(wù)器的CDN節(jié)點(diǎn)來(lái)為用戶傳輸數(shù)據(jù)必然要比長(zhǎng)距離的直接由緩存CDN節(jié)點(diǎn)為用戶提供服務(wù)的質(zhì)量要好,從而達(dá)到提升用戶體驗(yàn)的目的;此外,既然存在緩存CDN節(jié)點(diǎn),仍要把到CDN源節(jié)點(diǎn)的整個(gè)路徑上的所有節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表的原因在于,考慮到了緩存CDN節(jié)點(diǎn)可能并沒(méi)有完全緩存了用戶所需的整個(gè)文件的情況,當(dāng)出現(xiàn)這種情況時(shí),仍可以根據(jù)所述路由表回源,以取得用戶所需的訪問(wèn)內(nèi)容。
[0060]如圖6所示,在本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng)中,訪問(wèn)請(qǐng)求發(fā)送模塊包括:
[0061 ]地址讀取單元,用于從訪問(wèn)路由表中讀?、荖節(jié)點(diǎn)的IP地址;
[0062]訪問(wèn)路由表更新單元,用于將CDN節(jié)點(diǎn)的IP地址從訪問(wèn)路由表中刪除;
[0063]請(qǐng)求發(fā)送單元,用于根據(jù)⑶N節(jié)點(diǎn)的IP地址將訪問(wèn)請(qǐng)求發(fā)送至⑶N節(jié)點(diǎn)。
[0064]本實(shí)施例中,通過(guò)讀取將要轉(zhuǎn)發(fā)至的下一⑶N節(jié)點(diǎn)的IP地址,后就立即刪除該IP地址的方法使得每一次轉(zhuǎn)發(fā)新的訪問(wèn)請(qǐng)求時(shí)都可以直接讀取路由表中的第一個(gè)IP地址即可,而不用進(jìn)行不必要的計(jì)算和比較(如果轉(zhuǎn)發(fā)過(guò)程中,從始至終路由表都沒(méi)有變更,則每一次讀取下一CDN節(jié)點(diǎn)時(shí)都得通過(guò)計(jì)算從整個(gè)路由表中讀取所述下一CDN節(jié)點(diǎn)的IP地址,例如,需要記錄下次讀取從第η個(gè)字節(jié)開(kāi)始,這樣既要計(jì)數(shù)又要計(jì)算,造成空間和時(shí)間的浪費(fèi)),而通過(guò)本實(shí)施例的處理在轉(zhuǎn)向下一 CDN節(jié)點(diǎn)時(shí)只需要從路由表的表頭中順序讀取第一個(gè)IP地址即可,不僅節(jié)省了時(shí)間和空間,還避免了由于計(jì)算和計(jì)數(shù)可能帶來(lái)的錯(cuò)誤,例如直接跳轉(zhuǎn)到更遠(yuǎn)的節(jié)點(diǎn)或者跳回到上一節(jié)點(diǎn)等。
[0065]在本公開(kāi)的一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng)中,將所述最短路徑中的所有⑶N節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表包括:
[0066]基于客戶端至⑶對(duì)原節(jié)點(diǎn)方向的最短路徑中的⑶N節(jié)點(diǎn)的IP地址生成所述路由表。
[0067]本實(shí)施例中,通過(guò)將最短路徑中的所有CDN節(jié)點(diǎn)IP地址順序在隊(duì)列中,更加簡(jiǎn)化了每一次轉(zhuǎn)發(fā)新的訪問(wèn)請(qǐng)求讀取IP地址的操作,因?yàn)殛?duì)列的特點(diǎn)就在于,只能從隊(duì)列的一端寫(xiě)入,從隊(duì)列的另一端讀取并刪除。
[0068]此外,本公開(kāi)的實(shí)施例還提供一種服務(wù)器,該服務(wù)器布設(shè)有本公開(kāi)的任一實(shí)施例的內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng),本實(shí)施例中的服務(wù)器可以為內(nèi)容分發(fā)網(wǎng)絡(luò)中的調(diào)度中心。
[0069]以上所描述的方法實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0070]通過(guò)以上的實(shí)施例的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施例可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤(pán)等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0071]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本公開(kāi)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本公開(kāi)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本公開(kāi)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0072]本公開(kāi)是參照根據(jù)本公開(kāi)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0073]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0074]最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本公開(kāi)的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本公開(kāi)進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本公開(kāi)各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速方法,包括: 根據(jù)來(lái)自客戶端的TCP訪問(wèn)請(qǐng)求確定所述TCP訪問(wèn)請(qǐng)求中所攜帶的訪問(wèn)內(nèi)容信息; 根據(jù)所述訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求,所述新的TCP訪問(wèn)請(qǐng)求至少包含所述訪問(wèn)內(nèi)容信息和訪問(wèn)路由表,所述訪問(wèn)內(nèi)容信息用于判定接收所述新的TCP訪問(wèn)請(qǐng)求的CDN節(jié)點(diǎn)是否存儲(chǔ)有相應(yīng)于所述訪問(wèn)內(nèi)容信息的文件; 根據(jù)所述訪問(wèn)路由表發(fā)送所述新的TCP訪問(wèn)請(qǐng)求至CDN節(jié)點(diǎn)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)所述訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求包括: 根據(jù)所述訪問(wèn)內(nèi)容信息確定存儲(chǔ)有相應(yīng)于所述訪問(wèn)內(nèi)容信息的文件的CDN源節(jié)點(diǎn); 確定所述客戶端至所述CDN源節(jié)點(diǎn)的最短路徑; 基于所述最短路徑中的所有CDN節(jié)點(diǎn)的IP地址生成路由表; 至少根據(jù)所述訪問(wèn)內(nèi)容信息和所述路由表生成所述新的TCP訪問(wèn)請(qǐng)求。3.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)所述訪問(wèn)路由表發(fā)送所述新的TCP訪問(wèn)請(qǐng)求至⑶N節(jié)點(diǎn)包括: 從所述訪問(wèn)路由表中讀取所述CDN節(jié)點(diǎn)的IP地址; 將所述⑶N節(jié)點(diǎn)的IP地址從所述訪問(wèn)路由表中刪除; 根據(jù)所述⑶N節(jié)點(diǎn)的IP地址將所述訪問(wèn)請(qǐng)求轉(zhuǎn)發(fā)至所述⑶N節(jié)點(diǎn)。4.根據(jù)權(quán)利要求2或3所述的方法,其中,所述將所述最短路徑中的所有CDN節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表包括: 基于沿所述客戶端至所述⑶N源節(jié)點(diǎn)方向的所述最短路徑中的⑶N節(jié)點(diǎn)的IP地址生成所述路由表。5.—種內(nèi)容分發(fā)網(wǎng)絡(luò)中的TCP加速系統(tǒng),包括: 訪問(wèn)內(nèi)容信息確定模塊,用于根據(jù)來(lái)自客戶端的TCP訪問(wèn)請(qǐng)求確定所述TCP訪問(wèn)請(qǐng)求中所攜帶的訪問(wèn)內(nèi)容信息; 訪問(wèn)請(qǐng)求生成模塊,用于根據(jù)所述訪問(wèn)內(nèi)容信息生成新的TCP訪問(wèn)請(qǐng)求,所述新的TCP訪問(wèn)請(qǐng)求至少包含所述訪問(wèn)內(nèi)容信息和訪問(wèn)路由表,所述訪問(wèn)內(nèi)容信息用于判定接收所述新的TCP訪問(wèn)請(qǐng)求的CDN節(jié)點(diǎn)是否存儲(chǔ)有相應(yīng)于所述訪問(wèn)內(nèi)容信息的文件; 訪問(wèn)請(qǐng)求發(fā)送模塊,用于根據(jù)所述訪問(wèn)路由表發(fā)送所述新的TCP訪問(wèn)請(qǐng)求至CDN節(jié)點(diǎn)。6.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,所述訪問(wèn)請(qǐng)求生成模塊包括: 源節(jié)點(diǎn)確定單元,用于根據(jù)所述訪問(wèn)內(nèi)容信息確定存儲(chǔ)有相應(yīng)于所述訪問(wèn)內(nèi)容信息的文件的CDN源節(jié)點(diǎn); 最短路徑確定單元,用于確定所述客戶端至所述CDN源節(jié)點(diǎn)的最短路徑; 路由表生成單元,用于基于所述最短路徑中的所有CDN節(jié)點(diǎn)的IP地址生成為路由表;新訪問(wèn)請(qǐng)求生成單元,用于至少根據(jù)所述訪問(wèn)內(nèi)容信息和所述路由表生成所述新的TCP訪問(wèn)請(qǐng)求。7.根據(jù)權(quán)利要求5所述的系統(tǒng),其中,所述訪問(wèn)請(qǐng)求發(fā)送模塊包括: 地址讀取單元,用于從所述訪問(wèn)路由表中讀取所述CDN節(jié)點(diǎn)的IP地址; 訪問(wèn)路由表更新單元,用于將所述CDN節(jié)點(diǎn)的IP地址從所述訪問(wèn)路由表中刪除; 請(qǐng)求發(fā)送單元,用于根據(jù)所述CDN節(jié)點(diǎn)的IP地址將所述訪問(wèn)請(qǐng)求發(fā)送至所述CDN節(jié)點(diǎn)。8.根據(jù)權(quán)利要求5-7任一項(xiàng)所述的系統(tǒng),其中,所述將所述最短路徑中的所有CDN節(jié)點(diǎn)的IP地址存儲(chǔ)為路由表包括: 基于沿所述客戶端至所述⑶N源節(jié)點(diǎn)方向的所述最短路徑中的⑶N節(jié)點(diǎn)的IP地址生成所述路由表。9.一種服務(wù)器,所述服務(wù)器布設(shè)有權(quán)利要求5-8任一項(xiàng)所述的系統(tǒng)。
【文檔編號(hào)】H04L12/741GK105933400SQ201610239445
【公開(kāi)日】2016年9月7日
【申請(qǐng)日】2016年4月18日
【發(fā)明人】李洪福, 李艷松
【申請(qǐng)人】樂(lè)視控股(北京)有限公司, 樂(lè)視云計(jì)算有限公司