本發(fā)明涉及網絡資源
技術領域:
,特別是涉及網絡中傳輸動態(tài)數據
技術領域:
,具體為一種網絡資源的處理方法、裝置、系統(tǒng)以及服務器。
背景技術:
:視頻直播、彈幕等大并發(fā)長連接業(yè)務,源站通常需要儲備非常大的帶寬,但該類應用一般在閑時和忙時的出口使用帶寬差別非常大,比如在周末及工作日的晚上訪問量比較大,在工作時間的訪問量比較小,這就導致在閑時會有大量的儲備帶寬浪費掉,但為了防止忙時帶寬不足,源站往往又不得不使用大量資金儲備帶寬。而且這類應用通常傳輸的是動態(tài)數據,無法緩存,現有動態(tài)加速技術將每一次訪問的流量全部引流到源站,并沒有節(jié)省源站帶寬,只是在加速網絡內部采用私有協(xié)議、字節(jié)流緩存、內容壓縮等技術實現了加速的作用。技術實現要素:鑒于以上所述現有技術的缺點,本發(fā)明的目的在于提供一種網絡資源的處理方法、裝置、系統(tǒng)以及服務器,用于解決現有技術中視頻直播、彈幕等動態(tài)數據傳輸的TCP長連接應用的源站帶寬使用量大的問題。為實現上述目的及其他相關目的,本發(fā)明提供一種網絡資源的處理方法,應用于包含有提供網絡資源的源站服務器和與所述源站服務器建立TCP長連接為所述源站服務器提供網絡加速服務的CDN服務器的網絡環(huán)境中,所述網絡資源的處理方法包括:在接收到所述CDN服務器傳輸的網絡資源請求時,根據所述網絡資源請求獲取請求資源內容;根據所述請求資源內容從包含有請求資源內容與對應的內容標識的內容標識對照表中查找與獲取的所述請求資源內容對應的內容標識;將查找到的所述內容標識寫入TCP報文的可選字段中;將包含所述請求資源內容的連接通過所述TCP報文傳輸至所述CDN服務器。為實現上述目的,本發(fā)明還提供一種網絡資源的處理方法,應用于包含有提供網絡資源的源站服務器和與所述源站服務器建立TCP長連接為所述源站服務器提供網絡加速服務的CDN服務器的網絡環(huán)境中,所述網絡資源的處理方法包括:在接收到用戶終端發(fā)送的網絡資源請求時,將所述網絡資源請求傳輸至源站服務器;在接收到所述源站服務器返回的TCP報文時,提取所述TCP報文的可選字段并判斷所述TCP報文的可選字段中是否有與預先建立的內容標識存儲表中的內容標識相同的內容標識,若是,則將所述可選字段中的內容標識添加到所述內容標識存儲表中并將所述內容標識存儲表中的內容標識所對應的請求內容的連接復制后返回給所述用戶終端,并終止將所述用戶終端的后續(xù)網絡資源請求傳輸至所述源站服務器;若否,則將所述可選字段中的內容標識添加到所述內容標識存儲表中并將所述TCP報文中攜帶的包含請求資源內容的連接返回給所述用戶終端。于本發(fā)明的一實施例中,所述網絡資源的處理方法還包括:在接收到用戶終端發(fā)送的網絡資源斷開請求時,斷開與所述用戶終端的連接并將針對該用戶終端在所述內容標識存儲表中添加的內容標識清除。于本發(fā)明的一實施例中,在所述內容標識存儲表中有相同的內容標識全部被清除后,斷開與所述源站服務器間用于傳輸與所述內容標識所對應的請求內容的TCP長連接。為實現上述目的,本發(fā)明還提供一種網絡資源的處理裝置,應用于包含有提供網絡資源的源站服務器和與所述源站服務器建立TCP長連接為所述源站服務器提供網絡加速服務的CDN服務器的網絡環(huán)境中,所述網絡資源的處理裝置包括:請求接受處理模塊,用于在接收到所述CDN服務器傳輸的網絡資源請求時,根據所述網絡資源請求獲取請求資源內容;對照表模塊,用于建立包含請求資源內容與對應的內容標識的內容標識對照表;標識內容查找模塊,用于根據所述請求資源內容從所述內容標識對照表中查找與獲取的所述請求資源內容對應的內容標識;標識內容寫入模塊,用于將查找的所述內容標識寫入TCP報文的可選字段中;傳輸模塊,用于將包含所述請求資源內容的連接通過所述TCP報文傳輸至所述CDN服務器。為實現上述目的,本發(fā)明還提供一種源站服務器,所述源站服務器包括如上所述的網絡資源的處理裝置。為實現上述目的,本發(fā)明還提供一種網絡資源的處理裝置,應用于包含有提供網絡資源的源站服務器和與所述源站服務器建立TCP長連接為所述源站服務器提供網絡加速服務的CDN服務器的網絡環(huán)境中,所述網絡資源的處理裝置包括:請求接收傳輸模塊,用于在接收到用戶終端發(fā)送的網絡資源請求時,將所述網絡資源請求傳輸至源站服務器;報文接收處理模塊,在接收到所述源站服務器返回的TCP報文時,提取所述TCP報文的可選字段并判斷所述TCP報文的可選字段中是否有與預先建立的內容標識存儲表中的內容標識相同的內容標識;內容標識存儲表模塊,用于建立用于存儲從所述TCP報文的可選字段中提取的內容標識的內容標識存儲表;內容標識添加模塊,用于將從所述TCP報文的可選字段中提取的內容標識添加到所述內容標識存儲表;復制返回處理模塊,用于在所述TCP報文的可選字段中有與預先建立的內容標識存儲表中的內容標識相同的內容標識時,將所述內容標識存儲表中的內容標識所對應的請求內容的連接復制后返回給所述用戶終端;直接返回處理模塊,用于在所述TCP報文的可選字段中沒有與預先建立的內容標識存儲表中的內容標識相同的內容標識時,將所述TCP報文中攜帶的包含請求資源內容的連接返回給所述用戶終端。于本發(fā)明的一實施例中,所述網絡資源的處理裝置還包括:斷開及清除模塊,用于在接收到用戶終端發(fā)送的網絡資源斷開請求時,斷開與所述用戶終端的連接并將針對該用戶終端在所述內容標識存儲表中添加的內容標識清除。于本發(fā)明的一實施例中,所述斷開及清除模塊還用于在所述內容標識存儲表中有相同的內容標識全部被清除后,斷開與所述源站服務器間用于傳輸與所述內容標識所對應的請求內容的TCP長連接。為實現上述目的,本發(fā)明還提供一種CDN服務器,所述CDN服務器包括如上所述的網絡資源的處理裝置。為實現上述目的,本發(fā)明還提供一種網絡資源的處理系統(tǒng),所述網絡資源的處理系統(tǒng)包括如上所述的源站服務器和如上所述的CDN服務器。如上所述,本發(fā)明的一種網絡資源的處理方法、裝置、系統(tǒng)以及服務器,具有以下有益效果:1、本發(fā)明中源站服務器將與請求資源內容對應的內容標識寫入TCP報文的可選字段中,CDN服務器根據內容標識將對應的請求內容的連接復制后返回給所述用戶終端,減少了回源節(jié)點與源站服務器的長連接數量,不同用戶請求的相同動態(tài)內容由回源節(jié)點復制連接回復相同動態(tài)內容給不同用戶,請求相同動態(tài)內容的用戶越多,源站服務器帶寬節(jié)約的越明顯,有效解決了現有技術中視頻直播、彈幕等動態(tài)數據傳輸的TCP長連接應用的源站服務器帶寬使用量大的問題。2、本發(fā)明中,當多個請求相同動態(tài)內容的用戶斷開連接時,多個用戶與CDN服務器的回源節(jié)點斷開連接,并不需要源站與每個用戶斷開連接,源站僅需要在最后一個請求相同動態(tài)內容的用戶斷開連接時斷開與CDN服務器回源節(jié)點的連接即可,大大減少了源站的性能開銷。3、本發(fā)明對于用戶終端是無感知的,用戶終端無需做任何更改,無論是手機端app用戶還是網頁用戶均可以使用,用戶體驗性好,具有廣泛的應用前景。附圖說明圖1顯示為本發(fā)明的應用于源站服務器的一種網絡資源的處理方法的流程示意圖。圖2顯示為本發(fā)明的應用于CDN服務器的一種網絡資源的處理方法的流程示意圖。圖3顯示為本發(fā)明的應用于源站服務器的一種網絡資源的處理系統(tǒng)的原理框圖。圖4顯示為本發(fā)明的應用于CDN服務器的一種網絡資源的處理系統(tǒng)的原理框圖。圖5和圖6顯示為本發(fā)明中用戶終端、源站服務器以及CDN服務器的連接關系示意圖。圖7和圖8顯示為本發(fā)明中用戶終端、源站服務器以及CDN服務器的整體交互示意圖。元件標號說明10源站服務器100網絡資源的處理裝置101請求接受處理模塊102對照表模塊103標識內容查找模塊104標識內容寫入模塊105傳輸模塊20CDN服務器201請求接收傳輸模塊202報文接收處理模塊203內容標識存儲表模塊204內容標識添加模塊205直接返回處理模塊206復制返回處理模塊30用戶終端S101~S104步驟S201~S205步驟具體實施方式以下通過特定的具體實例說明本發(fā)明的實施方式,本領域技術人員可由本說明書所揭露的內容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實施方式加以實施或應用,本說明書中的各項細節(jié)也可以基于不同觀點與應用,在沒有背離本發(fā)明的精神下進行各種修飾或改變。本發(fā)明的目的在于提供一種網絡資源的處理方法、裝置、系統(tǒng)以及服務器,用于解決現有技術中視頻直播、彈幕等動態(tài)數據傳輸的TCP長連接應用的源站服務器帶寬使用量大的問題。以下將詳細闡述本發(fā)明的一種網絡資源的處理方法、裝置、系統(tǒng)以及服務器的原理及實施方式,使本領域技術人員不需要創(chuàng)造性勞動即可理解本發(fā)明的一種網絡資源的處理方法、裝置、系統(tǒng)以及服務器。本實施例提供的網絡資源的處理方法、裝置、系統(tǒng)以及服務器,應用于包含有提供網絡資源的源站服務器和與所述源站服務器建立TCP長連接為所述源站服務器提供網絡加速服務的CDN服務器的網絡環(huán)境中。以下對本實施例中的網絡資源的處理方法、裝置、系統(tǒng)以及服務器進行具體說明。本實施例提供一種網絡資源的處理方法,所述網絡資源的處理方法應用于源站服務器中,所述源站服務器存儲有網絡資源內容,具體地,如圖1所示,所述網絡資源的處理方法包括以下步驟:步驟S101,在接收到所述CDN服務器傳輸的網絡資源請求時,根據所述網絡資源請求獲取請求資源內容。即源站服務器在接收到所述CDN服務器傳輸的網絡資源請求時,根據所述網絡資源請求獲取請求資源內容。步驟S102,根據所述請求資源內容從包含有請求資源內容與對應的內容標識的內容標識對照表中查找與獲取的所述請求資源內容對應的內容標識。其中,所述源站服務器維護一個預先約定好的請求資源內容與對應的內容標識的內容標識對照表,將用戶請求內容與相應的數據(內容標識)對應起來,例如視頻1對應成1,視頻2對應成2,以此類推,視頻n對應成n。步驟S103,將查找到的所述內容標識寫入TCP報文的可選字段中。其中,TCP協(xié)議在設計時,專門預留了可以多達40字節(jié)的可選(option)字段使用。TCP報文段由TCP首部和TCP數據部分組成,其中TCP首部由20字節(jié)的固定首部和長度可變的選項(option字段)組成,如表1所示,TCP首部可以有多達40字節(jié)的可選信息,用于把附加信息傳遞給終點,或用來對齊其他選項,填充字段的作用則是為了使整個TCP首部的長度是4字節(jié)的整數倍。表1典型的TCP首部的option字段結構如表2所示。選項的第一個字段kind說明選項的類型,有的TCP選項沒有后面兩個字段,僅包含1字節(jié)的kind字段。第二個字段length(如果有的話)指定該選項的總長度,該長度包括kind字段和length字段占據的2字節(jié)以及info占據的字節(jié)數。第三個字段info(如果有的話)是選項的具體信息。表2kind(1字節(jié))length(1字節(jié))info(n字節(jié))于本實施例中,可以開發(fā)一個軟件開發(fā)工具包(SDK:SoftwareDevelopmentKit),提供給源站服務器安裝,用于源站服務器向CDN服務器返回數據時在TCPoption字段中插入用戶請求的內容標識。具體地,本實施例中,源站服務器的SDK通過內核在TCPoption中插入的內容如表3所示。表3如表3所示,在TCP的option字段的后面插入8個字節(jié)的內容,字節(jié)1和字節(jié)2都是不無操作內容NOP(Nooption)的,值為0x01,目的是將option字段補成4字節(jié)的整數倍;字節(jié)3是kind,值為0x63,即99,可根據情況與源站服務器約定其他數值;字節(jié)4是length,即該選項的長度,這里為0x0A,即10,該長度包含kind、length及info的總長度;字節(jié)5-12是info,是8字節(jié)的內容標識,具體數值由源站服務器根據請求資源內容與內容標識的對應關系決定。步驟S104,將包含所述請求資源內容的連接通過所述TCP報文傳輸至所述CDN服務器。如上所述,源站服務器解析請求信息,確定該用戶所請求的視頻或彈幕內容,將其對應成一個內容標識(例如對應成1),SDK通過內核將該內容標識信息寫入響應TCPoption字段中,并將該TCP報文返回請求內容給CDN服務器。本實施例還提供一種網絡資源的處理方法,應用于為所述源站服務器提供網絡加速服務的CDN服務器中,具體地,如圖2所示,所述網絡資源的處理方法包括以下步驟:步驟201,在接收到用戶終端發(fā)送的網絡資源請求時,將所述網絡資源請求傳輸至源站服務器。即當用戶終端請求某源站服務器的直播或者彈幕業(yè)務時,通過CDN服務器(回源節(jié)點)與源站服務器建立TCP長連接。步驟202,在接收到所述源站服務器返回的TCP報文時,提取所述TCP報文的可選字段。步驟203,判斷所述TCP報文的可選字段中是否有與預先建立的內容標識存儲表中的內容標識相同的內容標識,若是,則接著執(zhí)行步驟204,若否,則接著執(zhí)行步驟205。步驟204,將所述可選字段中的內容標識添加到所述內容標識存儲表中并將所述內容標識存儲表中的內容標識所對應的請求內容的連接復制后返回給所述用戶終端,并終止將所述用戶終端的后續(xù)網絡資源請求傳輸至所述源站服務器。步驟205,將所述可選字段中的內容標識添加到所述內容標識存儲表中并將所述TCP報文中攜帶的包含請求資源內容的連接返回給所述用戶終端。也就是說,CDN服務器維護一個內容標識存儲表,最初時刻,所述內容標識存儲表為空,當第一個用戶終端向源站服務器請求資源內容,源站服務器在TCPoption字段插入相應的內容標識后,返回相應數據給CDN服務器(該連接假設為連接1)時,CDN服務器通過內核從TCPoption的可選字段中提取出內容標識后,將該內容標識(假設為1)記錄到內容標識存儲表中,并將源站服務器響應的資源內容通過CDN服務器的動態(tài)加速網絡傳輸給第一個用戶終端。當第二個用戶終端請求的內容通過源站服務器插入內容標識后回復給CDN服務器,CDN服務器同樣從TCPoption的相應字段中取出該內容標識,若該內容標識在所述內容標識存儲表中已存在,則說明已存在請求同樣內容的連接,則復制連接1,回復與連接1相同的內容給第二個用戶終端,斷開第二個用戶終端使用的CDN服務器與源站服務器的連接,同時在所述內容標識存儲表中再記錄一次內容標識1;若第二個用戶終端請求的內容與第一個用戶終端的不同,則說明無請求相同內容的連接存在,則將第二個用戶終端請求的內容標識(假設為2)記錄到所述內容標識存儲表中,并按正常的過程回復第二個用戶終端,并不斷開CDN服務器與源站的連接。依次類推,第n個用戶終端的資源內容請求過程與第二個用戶終端的資源內容請求過程相同,在此不再贅述。也就是說,當用第二個用戶終端的請求到達CDN服務器時,CDN服務器為第二個用戶終端與源站服務器建立連接,源站服務器解析第二個用戶終端請求的信息,確定該請求所對應的視頻或者彈幕內容標識,通過內核將內容標識寫入響應的TCPoption字段中,返回請求內容給CDN服務器,CDN服務器收到響應內容后,解析該響應包的TCPoption字段,匹配當前還與源站服務器建立的長連接的TCPoption中的內容標識,若有相同標識的連接(假設是第一個用戶終端與源站服務器建立的連接),則主動斷開為第二個用戶終端與源站服務器建立的連接,并由CDN服務器復制一條第一個用戶終端的連接給第二個用戶終端(即第二個用戶終端的連接由第一個用戶終端的連接復制而成),將匹配成功的內容(第一個用戶終端請求的內容)響應給第二個用戶終端。如果無法匹配成功,則整個過程同正常請求及響應的過程,即第一個用戶終端的請求及響應過程。于本實施例中,所述網絡資源的處理方法還包括:在接收到用戶終端發(fā)送的網絡資源斷開請求時,斷開與所述用戶終端的連接并將針對該用戶終端在所述內容標識存儲表中添加的內容標識清除。其中,在所述內容標識存儲表中有相同的內容標識全部被清除后,斷開與所述源站服務器間用于傳輸與所述內容標識所對應的請求內容的TCP長連接。也就是說,于本實施例中,當某個用戶終端的連接斷開后,CDN服務器需要從內容標識存儲表中清除一個該連接傳輸內容的內容標識(假設為n),當傳輸該同一內容的所有連接都斷開后,所述內容標識存儲表中的內容標識n全部被清除,則說明已無用戶終端請求該內容,CDN服務器斷開與源站服務器為傳輸該內容建立的長連接。之后若再有用戶請求內容n時,需重新建立整個完整TCP長連接。相對應地,本實施例還提供一種網絡資源的處理裝置,應用于包含有提供網絡資源的源站服務器和與所述源站服務器建立TCP長連接為所述源站服務器提供網絡加速服務的CDN服務器的網絡環(huán)境中,所述網絡資源的處理裝置應用于源站服務器中,所述源站服務器存儲有網絡資源內容,具體地,如圖3所示,所述網絡資源的處理裝置100包括:請求接受處理模塊101,對照表模塊102,標識內容查找模塊103,標識內容寫入模塊104以及傳輸模塊105。具體地,于本實施例中,所述請求接受處理模塊101用于在接收到所述CDN服務器傳輸的網絡資源請求時,根據所述網絡資源請求獲取請求資源內容。即源站服務器在接收到所述CDN服務器傳輸的網絡資源請求時,根據所述網絡資源請求獲取請求資源內容。具體地,于本實施例中,所述對照表模塊102用于建立包含請求資源內容與對應的內容標識的內容標識對照表。所述源站服務器維護一個預先約定好的請求資源內容與對應的內容標識的內容標識對照表,將用戶請求內容與相應的數據(內容標識)對應起來,例如視頻1對應成1,視頻2對應成2,以此類推,視頻n對應成n。具體地,于本實施例中,所述標識內容查找模塊103用于根據所述請求資源內容從所述內容標識對照表中查找與獲取的所述請求資源內容對應的內容標識。具體地,于本實施例中,所述標識內容寫入模塊104用于將查找的所述內容標識寫入TCP報文的可選字段中。其中,TCP協(xié)議在設計時,專門預留了可以多達40字節(jié)的可選(option)字段使用。TCP報文段由TCP首部和TCP數據部分組成,其中TCP首部由20字節(jié)的固定首部和長度可變的選項(option字段)組成,如表1所示,TCP首部可以有多達40字節(jié)的可選信息,用于把附加信息傳遞給終點,或用來對齊其他選項,填充字段的作用則是為了使整個TCP首部的長度是4字節(jié)的整數倍。典型的TCP首部的option字段結構如表2所示。選項的第一個字段kind說明選項的類型,有的TCP選項沒有后面兩個字段,僅包含1字節(jié)的kind字段。第二個字段length(如果有的話)指定該選項的總長度,該長度包括kind字段和length字段占據的2字節(jié)以及info占據的字節(jié)數。第三個字段info(如果有的話)是選項的具體信息。于本實施例中,可以開發(fā)一個軟件開發(fā)工具包(SDK:SoftwareDevelopmentKit),提供給源站服務器安裝,用于源站服務器向CDN服務器返回數據時在TCPoption字段中插入用戶請求的內容標識。具體地,本實施例中,源站服務器的SDK通過內核在TCPoption中插入的內容如表3所示。在TCP的option字段的后面插入8個字節(jié)的內容,字節(jié)1和字節(jié)2都是不無操作內容NOP(Nooption)的,值為0x01,目的是將option字段補成4字節(jié)的整數倍;字節(jié)3是kind,值為0x63,即99,可根據情況與源站服務器約定其他數值;字節(jié)4是length,即該選項的長度,這里為0x0A,即10,該長度包含kind、length及info的總長度;字節(jié)5-12是info,是8字節(jié)的內容標識,具體數值由源站服務器根據請求資源內容與內容標識的對應關系決定。具體地,于本實施例中,所述傳輸模塊105用于將包含所述請求資源內容的連接通過所述TCP報文傳輸至所述CDN服務器。如上所述,源站服務器解析請求信息,確定該用戶所請求的視頻或彈幕內容,將其對應成一個內容標識(例如對應成1),SDK通過內核將該內容標識信息寫入響應TCPoption字段中,并將該TCP報文返回請求內容給CDN服務器。相對應地,如圖5和圖6所示,本實施例還提供一種源站服務器10,所述源站服務器10包括如上所述的網絡資源的處理裝置100。所述源站服務器10解析用戶終端的請求內容,查找預存在源站服務器10上資源內容與內容標識對應表,并通過預先安裝好的SDK在響應包的TCPoption中插入相應的內容標識。本實施例還提供一種網絡資源的處理裝置,應用于為所述源站服務器10提供網絡加速服務的CDN服務器中,具體地,如圖4所示,所述網絡資源的處理裝置200包括:請求接收傳輸模塊201,報文接收處理模塊202,內容標識存儲表模塊203,內容標識添加模塊204,復制返回處理模塊206以及直接返回處理模塊205。具體地,于本實施例中,所述請求接收傳輸模塊201用于在接收到用戶終端發(fā)送的網絡資源請求時,將所述網絡資源請求傳輸至源站服務器10。即當用戶終端請求某源站服務器10的直播或者彈幕業(yè)務時,通過CDN服務器(回源節(jié)點)與源站服務器10建立TCP長連接。具體地,于本實施例中,所述報文接收處理模塊202在接收到所述源站服務器10返回的TCP報文時,提取所述TCP報文的可選字段并判斷所述TCP報文的可選字段中是否有與預先建立的內容標識存儲表中的內容標識相同的內容標識。具體地,于本實施例中,所述內容標識存儲表模塊203用于建立用于存儲從所述TCP報文的可選字段中提取的內容標識的內容標識存儲表。具體地,于本實施例中,所述內容標識添加模塊204用于將從所述TCP報文的可選字段中提取的內容標識添加到所述內容標識存儲表。具體地,于本實施例中,所述復制返回處理模塊206用于在所述TCP報文的可選字段中有與預先建立的內容標識存儲表中的內容標識相同的內容標識時,將所述內容標識存儲表中的內容標識所對應的請求內容的連接復制后返回給所述用戶終端。具體地,于本實施例中,所述直接返回處理模塊205用于在所述TCP報文的可選字段中沒有與預先建立的內容標識存儲表中的內容標識相同的內容標識時,將所述TCP報文中攜帶的包含請求資源內容的連接返回給所述用戶終端。也就是說,CDN服務器維護一個內容標識存儲表,最初時刻,所述內容標識存儲表為空,當第一個用戶終端向源站服務器10請求資源內容,源站服務器10在TCPoption字段插入相應的內容標識后,返回相應數據給CDN服務器(該連接假設為連接1)時,CDN服務器通過內核從TCPoption的可選字段中提取出內容標識后,將該內容標識(假設為1)記錄到內容標識存儲表中,并將源站服務器10響應的資源內容通過CDN服務器的動態(tài)加速網絡傳輸給第一個用戶終端。當第二個用戶終端請求的內容通過源站服務器10插入內容標識后回復給CDN服務器,CDN服務器同樣從TCPoption的相應字段中取出該內容標識,若該內容標識在所述內容標識存儲表中已存在,則說明已存在請求同樣內容的連接,則復制連接1,回復與連接1相同的內容給第二個用戶終端,斷開第二個用戶終端使用的CDN服務器與源站服務器10的連接,同時在所述內容標識存儲表中再記錄一次內容標識1;若第二個用戶終端請求的內容與第一個用戶終端的不同,則說明無請求相同內容的連接存在,則將第二個用戶終端請求的內容標識(假設為2)記錄到所述內容標識存儲表中,并按正常的過程回復第二個用戶終端,并不斷開CDN服務器與源站的連接。依次類推,第n個用戶終端的資源內容請求過程與第二個用戶終端的資源內容請求過程相同,在此不再贅述。也就是說,當用第二個用戶終端的請求到達CDN服務器時,CDN服務器為第二個用戶終端與源站服務器10建立連接,源站服務器10解析第二個用戶終端請求的信息,確定該請求所對應的視頻或者彈幕內容標識,通過內核將內容標識寫入響應的TCPoption字段中,返回請求內容給CDN服務器,CDN服務器收到響應內容后,解析該響應包的TCPoption字段,匹配當前還與源站服務器10建立的長連接的TCPoption中的內容標識,若有相同標識的連接(假設是第一個用戶終端與源站服務器10建立的連接),則主動斷開為第二個用戶終端與源站服務器10建立的連接,并由CDN服務器復制一條第一個用戶終端的連接給第二個用戶終端(即第二個用戶終端的連接由第一個用戶終端的連接復制而成),將匹配成功的內容(第一個用戶終端請求的內容)響應給第二個用戶終端。如果無法匹配成功,則整個過程同正常請求及響應的過程,即第一個用戶終端的請求及響應過程。于本實施例中,所述網絡資源的處理裝置200還包括:斷開及清除模塊,用于在接收到用戶終端發(fā)送的網絡資源斷開請求時,斷開與所述用戶終端的連接并將針對該用戶終端在所述內容標識存儲表中添加的內容標識清除;其中,所述斷開及清除模塊還用于在所述內容標識存儲表中有相同的內容標識全部被清除后,斷開與所述源站服務器10間用于傳輸與所述內容標識所對應的請求內容的TCP長連接。也就是說,于本實施例中,當某個用戶終端的連接斷開后,CDN服務器需要從內容標識存儲表中清除一個該連接傳輸內容的內容標識(假設為n),當傳輸該同一內容的所有連接都斷開后,所述內容標識存儲表中的內容標識n全部被清除,則說明已無用戶終端請求該內容,CDN服務器斷開與源站服務器10為傳輸該內容建立的長連接。之后若再有用戶請求內容n時,需重新建立整個完整TCP長連接。相對應地,如圖5和圖6所示,本實施還提供一種CDN服務器20,所述CDN服務器20包括如上所述的網絡資源的處理裝置200。動態(tài)加速網絡由許多分布在不同區(qū)域不同運營商的節(jié)點組成,包含邊緣節(jié)點、中轉節(jié)點和回源節(jié)點,其中所述回源節(jié)點即相當于本實施例中的CDN服務器20,CDN服務器20負責提取并且比對源站服務器10傳輸回來的響應包的TCPoption中的內容標識,若發(fā)現已存在相同內容標識,則復制已存在的相同內容的該連接回復此相同內容給不同用戶,并斷開為后面用戶建立的回源節(jié)點與源站的長連接,從而節(jié)約源站的出口帶寬。此外,本實施還提供一種網絡資源的處理系統(tǒng),所述網絡資源的處理系統(tǒng)包括如上所述的源站服務器10和如上所述的CDN服務器20。為使本領域技術人員進一步理解本實施例中網絡資源的處理方法、裝置、系統(tǒng)以及服務器,如圖5至圖8所示,以下進一步說明本實施例中網絡資源的處理方法、裝置、系統(tǒng)以及服務器的具體實施工作過程。本實施例中,用戶終端30、CDN服務器20構成的動態(tài)加速網絡以及源站服務器10的連接示意圖如圖5和圖6所示。如圖6和圖7所示,用戶終端1發(fā)起請求,請求源站服務器10某內容,請求到達CDN服務器20,CDN服務器20向源站服務器10發(fā)起請求1,傳遞用戶請求給源站。源站服務器10解析該用戶請求,判斷用戶終端1請求的內容,查找內容與內容標識對照表,利用SDK通過內核在回復給用戶終端1的響應內容的TCP頭部的option中插入內容標識,并將響應1回給CDN服務器20。CDN服務器20收到源站服務器10回復的響應1后,調用內核接口解析并提取TCPoption字段中的內容標識,判斷該內容標識是否在內容標識存儲表中,此時,由于用戶終端1是第一個請求該內容的用戶,所以此時內容標識存儲表中沒有該內容標識,若沒有,將源站服務器10插入的內容標識記錄下來,插入到內容標識存儲表中,CDN服務器20將響應1的內容經過CDN加速網絡的多個節(jié)點回給用戶終端1。用戶終端2向源站服務器10請求與用戶終端1相同的內容,通過多個節(jié)點請求2到達CDN服務器20。CDN服務器20向源站服務器10發(fā)起請求2。源站服務器10的SDK通過內核在響應內容的TCP頭部的option中插入內容標識,并將響應2回給CDN服務器20。CDN服務器20收到響應2后,調用內核接口解析響應2的TCPoption字段,匹配響應1的TCPoption中的內容標識,匹配成功,CDN服務器20將響應1的連接內容復制一份,回給用戶終端2,并斷開響應2與源站服務器10的連接。如果內容標識無法匹配成功,則整個請求及響應過程如正常請求,即用戶終端1請求及響應過程。依次類推,用戶終端n的資源內容請求過程與用戶終端2的資源內容請求過程相同。如圖8所示,用戶終端30主動斷開與CDN服務器20的連接,CDN服務器20在內容標識存儲表中刪除一個該連接傳輸內容對應的內容標識;若刪除內容標識后,內容標識存儲表中不存在該內容標識及于該內容標識相同的內容標識了,則CDN服務器20斷開與源站服務器10為提供該內容標識對應的內容建立的長連接;若還有該內容標識,則CDN服務器20無需斷開與源站服務器10為提供該內容標識對應的內容建立的長連接。綜上所述,本發(fā)明中源站服務器將與請求資源內容對應的內容標識寫入TCP報文的可選字段中,CDN服務器根據內容標識將對應的請求內容的連接復制后返回給所述用戶終端,減少了回源節(jié)點與源站服務器的長連接數量,不同用戶請求的相同動態(tài)內容由回源節(jié)點復制連接回復相同動態(tài)內容給不同用戶,請求相同動態(tài)內容的用戶越多,源站服務器帶寬節(jié)約的越明顯,有效解決了現有技術中視頻直播、彈幕等動態(tài)數據傳輸的TCP長連接應用的源站服務器帶寬使用量大的問題;本發(fā)明中,當多個請求相同動態(tài)內容的用戶斷開連接時,多個用戶與CDN服務器的回源節(jié)點斷開連接,并不需要源站與每個用戶斷開連接,源站僅需要在最后一個請求相同動態(tài)內容的用戶斷開連接時斷開與CDN服務器回源節(jié)點的連接即可,大大減少了源站的性能開銷;本發(fā)明對于用戶終端是無感知的,用戶終端無需做任何更改,無論是手機端app用戶還是網頁用戶均可以使用,用戶體驗性好,具有廣泛的應用前景。所以,本發(fā)明有效克服了現有技術中的種種缺點而具高度產業(yè)利用價值。上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進行修飾或改變。因此,舉凡所屬
技術領域:
中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術思想下所完成的一切等效修飾或改變,仍應由本發(fā)明的權利要求所涵蓋。當前第1頁1 2 3