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