具有分等級配置的加速策略的網(wǎng)絡(luò)傳輸加速方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)傳輸加速技術(shù),尤其涉及一種具有分等級配置的加速策略的網(wǎng)絡(luò)傳輸加速方法和系統(tǒng)。
【背景技術(shù)】
[0002]目前,存在各種網(wǎng)絡(luò)傳輸加速技術(shù),例如TCP(傳輸控制協(xié)議,TransmiSS1nControl Protocol)加速技術(shù)等。其中TCP加速指的是通過一組優(yōu)化技術(shù),使TCP在通過因特網(wǎng)(Internet)傳輸數(shù)據(jù)的性能更高(與標準TCP相比),而無需修改具體的應(yīng)用。目前主流的TCP加速技術(shù)主要包括雙邊TCP優(yōu)化和單邊TCP優(yōu)化兩種。尤其地,TCP單邊加速由于其易于部署,只需在TCP連接的一端部署軟件或設(shè)備,且和標準的TCP協(xié)議完全兼容,因而受到廣泛的應(yīng)用。現(xiàn)有的TCP單邊加速的主要實現(xiàn)方式是改良舊的擁塞控制算法,或者設(shè)計新的擁塞控制算法,以進行擁塞的判斷與處理,從而有效利用帶寬,優(yōu)化傳輸速率。擁塞控制算法的示例包括TCP Vegas、CUBIC、FastTCP、Zeta-TCP等。但是由于TCP單邊加速技術(shù)判斷網(wǎng)絡(luò)擁塞的反饋信息有限,因此為了保證較高的傳輸速度,通常需要頻繁地發(fā)送重傳包,從而造成了重傳比的上升和帶寬浪費。而且,現(xiàn)有的TCP單邊加速對服務(wù)器上的所有連接均采用相同的TCP單邊加速方案,而無法根據(jù)需要進行分等級配置。但是,對于諸如CDN(內(nèi)容分發(fā)網(wǎng)絡(luò),Content Delivery Network)服務(wù)器之類的服務(wù)器而言,在同一服務(wù)器上,可存在多個不同的域名以及多種不同的業(yè)務(wù)類型。因此,當將現(xiàn)有的TCP單邊加速應(yīng)用于此類服務(wù)器時,可存在以下缺點:
[0003]首先,由于服務(wù)器只能采用一中TCP單邊加速方案,而激進的TCP單邊加速方案會帶來重傳比的上升,帶寬的浪費,較低重傳比的TCP單邊加速方案又無法實現(xiàn)最優(yōu)的加速效果,因此對于有些客戶考慮帶寬成本不需要特別優(yōu)質(zhì)加速效果,而有些客戶則更在意加速效果而寧可犧牲帶寬,現(xiàn)有的加速配置無法實現(xiàn)二者的平衡;
[0004]其次,服務(wù)器上存在具有不同需求的多種不同的業(yè)務(wù)類型,例如視頻播放需要平穩(wěn)傳輸、大文件下載需要較快完成傳輸、小文件下載則重點關(guān)注第一個RTT所傳數(shù)據(jù)包個數(shù)等,而現(xiàn)有的單邊加速技術(shù)在同一個服務(wù)器上只能設(shè)置一種策略,因此無法滿足多種業(yè)務(wù)類型的需求。
[0005]雖然以上僅指出了現(xiàn)有的TCP單邊加速方案中存在的缺陷,但實際上現(xiàn)有的其他網(wǎng)絡(luò)傳輸加速技術(shù)也可存在類似的缺陷,因此需要提供一種能夠克服以上缺陷的網(wǎng)絡(luò)傳輸加速技術(shù)。
【發(fā)明內(nèi)容】
[0006]為了克服現(xiàn)有的網(wǎng)絡(luò)傳輸加速技術(shù)中的缺陷,本發(fā)明提供一種具有分等級配置的加速策略的網(wǎng)絡(luò)傳輸加速方法和系統(tǒng),使得在同一服務(wù)器上,可根據(jù)不同業(yè)務(wù)類型、不同客戶需要來配置不同的加速策略,從而實現(xiàn)加速策略的靈活應(yīng)用。
[0007]具體地,本發(fā)明提供一種具有分等級配置的加速策略的網(wǎng)絡(luò)傳輸加速方法,該方法包括:接收來自客戶端的請求;解析所述請求以確定所述請求的業(yè)務(wù)類型;判斷預(yù)置有多個加速策略的內(nèi)核中是否存在針對所述業(yè)務(wù)類型來進行配置的特定加速策略,其中所述多個加速策略與不同的內(nèi)核加速參數(shù)相對應(yīng);當確定所述內(nèi)核中存在針對所述業(yè)務(wù)類型來進行配置的特定加速策略時,指令所述內(nèi)核采用與所述特定加速策略相對應(yīng)的內(nèi)核加速參數(shù)來進行發(fā)包。
[0008]在一個實施例中,所述多個加速策略中每一個均對應(yīng)于一策略標識。
[0009]在一個實施例中,指令所述內(nèi)核采用與所述特定加速策略相對應(yīng)的內(nèi)核加速參數(shù)來進行發(fā)包包括調(diào)用與所述特定加速策略相對應(yīng)的策略標識,且響應(yīng)于與所述特定加速策略相對應(yīng)的策略標識被調(diào)用,所述內(nèi)核所提供的加速策略設(shè)置接口將依據(jù)所述策略標識而傳遞與所述策略標識相對應(yīng)的內(nèi)核加速參數(shù),使得所述內(nèi)核認識到應(yīng)采用這些內(nèi)核加速參數(shù)來進行發(fā)包。
[0010]在一個實施例中,所述方法還包括當不存在針對所述業(yè)務(wù)類型來進行配置的特定加速策略時,指令所述內(nèi)核直接采用與默認加速策略相對應(yīng)的內(nèi)核加速參數(shù)來發(fā)包。
[0011]在一個實施例中,所述內(nèi)核加速參數(shù)并不是固定的。
[0012]在一個實施例中,所述業(yè)務(wù)類型至少基于傳輸質(zhì)量和重傳比的設(shè)置來確定。
[0013]在一個實施例中,所述方法還包括當要發(fā)送的數(shù)據(jù)包被發(fā)送完畢后,將被采用來進行發(fā)包的內(nèi)核加速參數(shù)還原成與默認加速策略相對應(yīng)的內(nèi)核加速參數(shù)。
[0014]本發(fā)明還提供了一種具有分等級配置加速策略的網(wǎng)絡(luò)傳輸加速系統(tǒng),所述系統(tǒng)包括:
[0015]用于接收來自客戶端的請求的裝置;
[0016]用于解析所述請求以確定所述請求的業(yè)務(wù)類型的裝置;
[0017]用于判斷預(yù)置有多個加速策略的內(nèi)核中是否存在針對所述業(yè)務(wù)類型來進行配置的特定加速策略的裝置,其中所述多個加速策略與不同的內(nèi)核加速參數(shù)相對應(yīng);
[0018]用于當確定所述內(nèi)核中存在針對所述業(yè)務(wù)類型來進行配置的特定加速策略時,指令所述內(nèi)核采用與所述特定加速策略相對應(yīng)的內(nèi)核加速參數(shù)來進行發(fā)包的裝置。
[0019]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點:在同一服務(wù)器上,可根據(jù)不同業(yè)務(wù)類型、不同客戶需要來配置不同的加速策略,從而實現(xiàn)加速策略的靈活應(yīng)用。
【附圖說明】
[0020]本發(fā)明的以上
【發(fā)明內(nèi)容】
以及下面的【具體實施方式】在結(jié)合附圖閱讀時會得到更好的理解。需要說明的是,附圖僅作為所請求保護的發(fā)明的示例。在附圖中,相同的附圖標記代表相同或類似的元素。
[0021]圖1示出根據(jù)本發(fā)明的一實施例的預(yù)設(shè)有多個分等級配置的加速策略的內(nèi)核的示意圖;
[0022]圖2示出根據(jù)本發(fā)明的一實施例的一種具有分等級配置的加速策略的網(wǎng)絡(luò)傳輸加速方法的流程圖;
[0023]圖3根據(jù)本發(fā)明的一實施例示出的圖2所示的方法的內(nèi)核與應(yīng)用層的具體交互流程;
[0024]圖4根據(jù)本發(fā)明的一實施例示出的圖2中所示的方法的內(nèi)核的具體處理流程。
【具體實施方式】
[0025]下面結(jié)合具體實施例和附圖對本發(fā)明作進一步說明,但不應(yīng)以此限制本發(fā)明的保護范圍。
[0026]圖1是根據(jù)本發(fā)明的一實施例示出預(yù)設(shè)有多個分等級配置的加速策略的內(nèi)核的示意圖。在一個非限制實施例中,該內(nèi)核為Linux內(nèi)核。但該內(nèi)核也可以是各種Windows內(nèi)核等等。在根據(jù)本發(fā)明的內(nèi)核中,除了設(shè)置有常規(guī)內(nèi)核中通常設(shè)有的默認加速策略外,還預(yù)置有多個不同的加速策略。此多個不同的加速策略與要求不同的數(shù)據(jù)傳輸加速效果以及不同的重傳比的不同內(nèi)核加速方案(例如,不同的TCP單邊加速方案)相對應(yīng),以滿足各種不同的業(yè)務(wù)需求。換言之,此多個不同的加速策略與不同的內(nèi)核加速參數(shù)相對應(yīng)。例如,下載類型的業(yè)務(wù)需要快速的完成數(shù)據(jù)傳輸,流媒體類型的業(yè)務(wù)需要平穩(wěn)地傳輸數(shù)據(jù),小文件類型的業(yè)務(wù)則需要兼顧速度和重傳比等等。具體地,例如視頻播放需要平穩(wěn)傳輸、大文件下載需要較快完成傳輸、小文件下載則重點關(guān)注第一個RTT所傳數(shù)據(jù)包個數(shù)等。其中小文件一般指網(wǎng)頁頁面類文件,其文件大小一般在100KB以下。大文件一般為圖片、資源類文件,其單個文件大小一般都大于1MB。在一個實施例中,可指定該多個不同的加速策略分別適用于不同的業(yè)務(wù)類型,其中業(yè)務(wù)類型至少基于傳輸質(zhì)量和重傳比的設(shè)置來確定。如圖1所示,作為非限制示例,可指定策略I適用于小文件下載,策略2適用于大文件下載,策略3適用于流媒體播放,策略4適用于移動網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)鹊?。與各加速策略相對應(yīng)的內(nèi)核加速參數(shù)可通過內(nèi)核所提供的加速策略設(shè)置接口來進行配置,并且每個加速策略對應(yīng)于一個策略標識。應(yīng)用層調(diào)用對應(yīng)的策略標識即可調(diào)用對應(yīng)的加速策略進行發(fā)包。策略標識存在于內(nèi)核中,當應(yīng)用層調(diào)用特定策略標識時,加速策略設(shè)置接口會依據(jù)該策略標識而傳遞與該策略標識對應(yīng)的參數(shù),使得內(nèi)核認識到這些參數(shù)與該策略標識相對應(yīng),然后內(nèi)核會采用這些參數(shù)來進行下一步的處理,例如發(fā)包等。例如,在針對TCP單邊加速的情況下,可以進行配置的每個加速策略的內(nèi)核加速參數(shù)可包括例如需要采用的擁塞控制算法、各個階段的擁塞窗口值和變化值以及一些TCP連接傳輸?shù)膯訁?shù)等等,但其對于不同的業(yè)務(wù)類型可以是不同的,并且可以根據(jù)實際使用情況而變化。并且在應(yīng)用層沒有請求特定加速策略的時候,內(nèi)核以默認策略發(fā)包。下面以大文件為例,對可配置的內(nèi)核加速參數(shù)作出進一步的說明。例如,在大文件的情況下,可自定義的內(nèi)核加速參數(shù)可包括但不限于:定義TCP連接的初始窗口、最大、最小窗口值等的參數(shù),對網(wǎng)絡(luò)丟包有優(yōu)化作用的參數(shù)、可以優(yōu)化快速恢復(fù)的傳輸?shù)膮?shù)、可以控制