亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于優(yōu)化web緩存的方法及系統(tǒng)的制作方法

文檔序號:10534886閱讀:357來源:國知局
用于優(yōu)化web緩存的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種用于優(yōu)化WEB緩存的方法及系統(tǒng),其特征在于,該方法包括:對接收到的Range請求對應(yīng)的完整文件進(jìn)行緩存檢查,當(dāng)存在所述完整文件的緩存時,根據(jù)所述完整文件的緩存對所述Range請求進(jìn)行響應(yīng);當(dāng)不存在所述完整文件的緩存時,根據(jù)所述Range請求生成用于獲取Range響應(yīng)的HTTP請求和用于獲取完整文件的HTTP請求,以從源服務(wù)器獲取返回信息,進(jìn)行響應(yīng)和緩存處理。通過本發(fā)明的方法及系統(tǒng),能夠有效減少Range請求時與源服務(wù)器交互的次數(shù)和緩存無效Range文件的數(shù)量,提高Range請求的命中率,優(yōu)化WEB緩存的效率。
【專利說明】
用于優(yōu)化WEB緩存的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明實施例涉及WEB緩存技術(shù)領(lǐng)域,尤其涉及一種用于優(yōu)化WEB緩存的方法和用于優(yōu)化WEB緩存的系統(tǒng)。
【背景技術(shù)】
[0002]WEB緩存(Web Cache)是基于HTTP協(xié)議的緩存系統(tǒng),系統(tǒng)主要功能是緩存靜態(tài)資源,在接到用戶訪問請求時,判斷緩存內(nèi)是否有用戶請求的資源,如果有則直接返回資源給用戶,否則代理用戶向源站(即源服務(wù)器站點(diǎn))請求該資源,再返回給用戶,并判斷該資源是否能夠緩存,若能則對其進(jìn)行緩存。引入WEB緩存系統(tǒng)能夠起到以下三個方面的作用:
[0003]1、減少源站訪問壓力;
[0004]2、降低源站吐出帶寬,緩解骨干網(wǎng)帶寬壓力;
[0005]3、由于緩存系統(tǒng)往往部署在離用戶較近的地方,因此還能起到提高訪問速度、優(yōu)化用戶體驗的效果。
[0006]基于WEB緩存的作用,在視頻的訪問中同樣也需要進(jìn)行WEB緩存?,F(xiàn)有技術(shù)中,當(dāng)客戶用播放器播放視頻時,瀏覽器向視頻服務(wù)器發(fā)送一個Range請求(例如1000-2000字節(jié)),當(dāng)服務(wù)器接收到后,根據(jù)該請求找到目標(biāo)文件的1000-2000字節(jié)以HTTP請求的形式反饋給客戶端(此時,HTTP請求的狀態(tài)碼是206)。同時,WEB緩存會將該視頻文件的1000-2000字節(jié)緩存下來,以方便客戶后續(xù)進(jìn)一步的訪問。
[0007]但是,由于視頻為流媒體,所以用戶可以請求一個視頻的任意的時段(具體的,通過拖拽播放器的進(jìn)度條進(jìn)行選擇)。這就導(dǎo)致每次客戶請求的都是不同Range的視頻,WEB緩存中每一次存儲的也是不同字節(jié)的視頻,并且以前存儲的緩存也不會為客戶的訪問帶來多大的便利(因為客戶每一次請求的時間段都是隨機(jī)的,因而命中率不高),這就使得緩存在視頻播放中沒有了實際的意義。同時,還會導(dǎo)致沒用的緩存內(nèi)容占用不必要的緩存空間,對WEB緩存極不友好。

【發(fā)明內(nèi)容】

[0008]為了解決現(xiàn)有技術(shù)中瀏覽器進(jìn)行隨機(jī)的Range請求時,WEB緩存中每次都存儲不同字節(jié)的內(nèi)容,因而命中率不高,不利于有效發(fā)揮WEB緩存的作用,而且命中率不高的緩存內(nèi)容還會占用巨大的緩存空間,造成WEB緩存的資源浪費(fèi),對WEB緩存極不友好的問題,本發(fā)明實施例一方面提供了一種用于優(yōu)化WEB緩存的方法,其特征在于,包括:
[0009]WEB緩存服務(wù)器對接收到的Range請求對應(yīng)的完整文件進(jìn)行緩存檢查,
[0010]當(dāng)存在所述完整文件的緩存時,
[0011]根據(jù)所述完整文件的緩存對所述Range請求進(jìn)行響應(yīng);
[0012]當(dāng)不存在所述完整文件的緩存時,
[0013]根據(jù)所述Range請求生成用于獲取Range響應(yīng)的HTTP請求和用于獲取完整文件的HTTP請求,以從源服務(wù)器獲取返回信息,進(jìn)行響應(yīng)和緩存處理。
[0014]本發(fā)明實施例另一方面提供一種用于優(yōu)化WEB緩存的系統(tǒng),其特征在于,所述系統(tǒng)包括:
[0015]緩存響應(yīng)模塊,用于對接收到的Range請求對應(yīng)的完整文件進(jìn)行緩存檢查,當(dāng)存在所述完整文件的緩存時,根據(jù)所述完整文件的緩存對所述Range請求進(jìn)行響應(yīng),當(dāng)不存在所述完整文件的緩存時,通過源響應(yīng)模塊進(jìn)行響應(yīng);和
[0016]源響應(yīng)模塊,用于根據(jù)所述Range請求生成用于獲取Range響應(yīng)的HTTP請求和用于獲取完整文件的HTTP請求,以從源服務(wù)器獲取返回信息,進(jìn)行響應(yīng)和緩存處理。
[0017]本發(fā)明實施例提供的用于優(yōu)化WEB緩存的方法及系統(tǒng),通過將在WEB緩存中沒有緩存Range請求的完整文件時,將Range請求分為兩次HTTP請求,通過在沒有緩存時與源服務(wù)器交互獲取響應(yīng)和緩存信息,在有緩存時通過緩存響應(yīng)Range請求,實現(xiàn)了在WEB緩存中通過緩存的完整文件響應(yīng)針對同一文件的Range請求,提高了 Range請求的命中率。并且,通過緩存完整文件,WEB緩存只需獲取完整文件進(jìn)行緩存,不用重復(fù)緩存針對同一文件的不同字節(jié)范圍的Range文件,提高了 WEB緩存的空間利用率,優(yōu)化了 WEB緩存的效率。
【附圖說明】
[0018]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為本發(fā)明中用于優(yōu)化WEB緩存的方法的實施例流程圖;
[0020]圖2為本發(fā)明中用于優(yōu)化WEB緩存的方法的實施例流程圖;
[0021]圖3為本發(fā)明中用于優(yōu)化WEB緩存的系統(tǒng)的框架結(jié)構(gòu)的示意圖。
【具體實施方式】
[0022]為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
[0023]圖1示意性地顯示了根據(jù)本發(fā)明的一種實施方式的用于優(yōu)化WEB緩存的方法。如圖1所示,該方法包括:
[0024]步驟SlOl:對接收到的Range請求對應(yīng)的完整文件進(jìn)行緩存檢查,判斷緩存中是否存在對應(yīng)的完整文件。
[0025]當(dāng)WEB緩存服務(wù)器接收到客戶端帶有Range的訪問請求后,首先檢查本地是否存在該請求對應(yīng)的完整文件的資源,如果存在則進(jìn)行步驟S102,否則進(jìn)行步驟S103。
[0026]服務(wù)器對Range請求的判斷,是通過請求頭中的range:bytes字段來判斷是否做Range請求的。如果這個字段存在且值有效(如不超過完整文件的范圍等),則只向客戶端發(fā)回請求的字節(jié)范圍的文件內(nèi)容,此時,對Range請求的響應(yīng)狀態(tài)碼為206,表示返回的是Range響應(yīng)。
[0027]步驟S102:根據(jù)緩存的完整文件進(jìn)行響應(yīng)。
[0028]對Range請求進(jìn)行解析,根據(jù)Range請求頭中的range:bytes的字段值確定請求的字節(jié)范圍,如range:bytes = 1000-2000表示請求的字節(jié)范圍是1000-2000字節(jié)的內(nèi)容。按照請求頭中指定的字節(jié)范圍,使用緩存的完整文件提取相應(yīng)字節(jié)范圍的資源內(nèi)容,返回給客戶端,以完成對客戶端的Range請求進(jìn)行響應(yīng)。
[0029]步驟S103:將Range請求轉(zhuǎn)發(fā)給源服務(wù)器進(jìn)行響應(yīng)。
[0030]當(dāng)WEB緩存中沒有該請求對應(yīng)的完整文件時,直接將客戶端發(fā)送來的Range請求轉(zhuǎn)發(fā)給源服務(wù)器(即提供原始文件的WEB服務(wù)器),根據(jù)源服務(wù)器返回的內(nèi)容,直接將源服務(wù)器返回的針對該Range請求的響應(yīng)內(nèi)容全部直接發(fā)送給客戶端,以對客戶端的Range請求進(jìn)行響應(yīng)。例如,WEB緩存接收到的Range請求的內(nèi)容如下:
[0031]GET/a.jpg HTTP/1.1
[0032]Connect1n:close
[0033]Host:www.letv.com
[0034]Range: bytes = 0-100
[0035]以上內(nèi)容表示該Range請求要請求url為www.letv.com的a.jpg文件資源的0-100字節(jié)的內(nèi)容。WEB緩存接收到該請求后,就直接將該Range請求轉(zhuǎn)發(fā)給源服務(wù)器。源服務(wù)器根據(jù)接收到的Range請求進(jìn)行響應(yīng)。如針對以上的Range請求,返回如下的響應(yīng)內(nèi)容:
[0036]HTTP/1.1206Partial Content
[0037]Content-Length:101
[0038]Content-Type:1mage/jpeg
[0039]Content-Range: bytes 0-100/1000
[0040]Last-Modified:Mon, 16Feb 200916:10GMT[0041 ] Accept-Ranges: bytes
[0042]以上響應(yīng)內(nèi)容表示是針對Range請求的響應(yīng),響應(yīng)的文件大小為101字節(jié),響應(yīng)內(nèi)容的類型為jpeg格式的圖片,響應(yīng)內(nèi)容是針對1000字節(jié)大小的完整文件的0-100字節(jié)的內(nèi)容。WEB緩存接收到源服務(wù)器的響應(yīng)后,將源服務(wù)器的響應(yīng)內(nèi)容直接發(fā)送給請求的客戶端,以完成客戶端對該url地址的文件的0-100字節(jié)范圍的Range請求。之后,進(jìn)行步驟S104的處理。
[0043]優(yōu)選地,為了節(jié)省WEB緩存的空間,可以設(shè)置為在通過響應(yīng)內(nèi)容的Content-Range:bytes 0-100/1000字段獲取到完整文件的的大小后,對完整文件的大小進(jìn)行判斷,當(dāng)文件的大小不超過緩存閥值(如小于2G時)時,才進(jìn)行步驟S104的去Range的HTTP請求,以獲取完整文件進(jìn)行緩存。由此,在WEB緩存的緩存區(qū)域不足夠大時,優(yōu)選這種方式,可以防止緩存過大的完整文件,造成WEB緩存的負(fù)擔(dān)。
[0044]步驟S104:檢查是否已經(jīng)進(jìn)行了去Range的HTTP請求。
[0045]將Range請求轉(zhuǎn)發(fā)給源服務(wù)器之后,WEB緩存解析出Range請求中的要請求訪問的資源的url,檢查是否已經(jīng)針對該url進(jìn)行了去Range頭的HTTP請求,即是否已經(jīng)對該Range請求進(jìn)行了去Range頭的處理,并將去了 Range頭之后生成的HTTP請求(即去Range的HTTP請求)發(fā)送給了源服務(wù)器。如果已經(jīng)向源服務(wù)器發(fā)送過去Range的HTTP請求,則不做任何處理,如果沒有向源服務(wù)器進(jìn)行去Range的HTTP請求,則進(jìn)行步驟S105。例如,針對步驟S103中列舉的Range請求的例子,首先解析出請求對應(yīng)的url地址為“http://www.letv.com/a.jpg”,判斷針對該url的資源是否已經(jīng)進(jìn)行過去Range頭的HTTP請求,如果已經(jīng)請求過該url對應(yīng)的資源,則不做任何處理,否則就要進(jìn)行步驟S105的處理。進(jìn)行檢查的目的,是防止對同一個url的請求有多個時(如來自不同客戶端的對同一資源的請求),會重復(fù)發(fā)送該url的去Range的HTTP請求給源服務(wù)器。如果不做檢查,將會導(dǎo)致在沒有獲得完整文件的緩存前,只要有針對該url的Range請求,都會導(dǎo)致一次獲取完整文件的去Range的HTTP請求,這會大大增加源服務(wù)器的壓力。
[0046]步驟S105:根據(jù)Range請求生成去Range的HTTP請求,從源服務(wù)器獲取完整文件。
[0047]將Range請求進(jìn)行去Range頭的處理以生成去Range的HTTP請求,即去除range:bytes字段及其取值,生成針對同一 url的完整文件的訪問請求,發(fā)送給源服務(wù)器,以從源服務(wù)器獲取該url的完整文件。例如,針對步驟S103的Range請求,進(jìn)行去除Range頭的處理后,生成去Range的HTTP請求如下:
[0048]GET/a.jpg HTTP/1.1
[0049]Connect1n:close
[0050]Host:www.letv.com
[0051 ] WEB緩存將該去Range的HTTP請求發(fā)送給源服務(wù)器,以獲取針對www.letv.com的
a.jpg的完整文件(如由上文知本文件的大小為1000字節(jié),即從源服務(wù)器獲取整個1000字節(jié)的文件內(nèi)容)。
[0052]步驟106:根據(jù)源服務(wù)器的響應(yīng),對完整文件進(jìn)行預(yù)緩存。
[0053]源服務(wù)器收到去Range的HTTP請求后,由于不包含Range內(nèi)容,源服務(wù)器會進(jìn)行針對請求的url的完整文件的響應(yīng)。如,針對以上的去Range頭的HTTP請求,源服務(wù)器返回如下的響應(yīng)內(nèi)容:
[0054]HTTP/1.12000K
[0055]Content-Length:
[0056]Content-Type:1mage/jpeg
[0057]Content-Range:1000
[0058]Last-Modified:Mon, 16Feb 200916:10:12GMT
[0059]該內(nèi)容即返回1000字節(jié)的完整文件。WEB緩存收到該響應(yīng)后,解析出響應(yīng)的完整文件,根據(jù)響應(yīng)中的緩存指令(響應(yīng)頭中的Cache-Control:cache-directive的內(nèi)容,如包括public、private、no-cache等,為現(xiàn)有技術(shù),故不贅述。),將該完整文件存儲到緩存區(qū)域。
[0060]優(yōu)選地,WEB緩存對在緩存區(qū)域進(jìn)行文件存儲的組織方式,可以設(shè)置為按照存儲單元的順序依次順序存儲,當(dāng)緩存區(qū)域的存儲單元占滿時,從最前端的存儲單元(即最先開始存儲的存儲單元)開始,順序用新的要緩存的內(nèi)容覆蓋舊的緩存內(nèi)容,即進(jìn)行順序循環(huán)存儲。這種方式,可以有效減少緩存區(qū)域的磁盤碎片。
[0061 ] 通過本發(fā)明實施例的方法,可以有效的優(yōu)化WEB緩存,減少WEB緩存中對Range請求的部分文件的疊加存儲和無效存儲,提高WEB緩存的命中率和存儲資源的利用率。
[0062]圖2以服務(wù)器是WEB緩存服務(wù)器為例,示意性地顯示了另一種實施方式的用于優(yōu)化WEB緩存的方法。如圖2所示,該方法與圖1所示的方法基本相同,不同在于增加了對Range請求的請求頻率的統(tǒng)計和判斷,只有在Range請求的請求頻率(如一分鐘內(nèi)請求的次數(shù))達(dá)到或超過預(yù)定閥值(如五次以上)時,才向源服務(wù)器發(fā)送去Range的HTTP請求,獲取完整文件進(jìn)行緩存。這樣,可以進(jìn)一步提高對WEB緩存的緩存區(qū)域的利用率,優(yōu)化WEB緩存的效率,減少無效緩存(如就只有一次請求,緩存后再也沒人請求過。)。
[0063]圖3示意性地顯示了本發(fā)明的用于優(yōu)化WEB緩存的系統(tǒng)的一種實施方式的框架結(jié)構(gòu)。如圖3所示,該系統(tǒng)包括緩存響應(yīng)模塊30和源響應(yīng)模塊31。緩存響應(yīng)模塊30設(shè)置為對接收到的Range請求,檢查該請求對應(yīng)的完整文件是否在本地(即當(dāng)前的WEB緩存服務(wù)器)中有緩存,當(dāng)存在完整文件的緩存時,根據(jù)緩存的完整文件對Range請求進(jìn)行響應(yīng),當(dāng)不存在完整文件的緩存時,通過源響應(yīng)模塊31進(jìn)行響應(yīng)。源響應(yīng)模塊31設(shè)置為將接收到的Range請求拆分為兩次HTTP請求,通過拆分的HTTP請求與源服務(wù)器進(jìn)行交互,并根據(jù)源服務(wù)器返回的信息,進(jìn)行相應(yīng)處理。具體為,源響應(yīng)模塊31包括原始響應(yīng)單元311和預(yù)緩存單元312,源響應(yīng)模塊31將接收到的Range請求分為兩次對源服務(wù)器的HTTP請求,第一次為源響應(yīng)模塊31通過原始響應(yīng)單元311將Range請求直接轉(zhuǎn)發(fā)至源服務(wù)器,并根據(jù)源服務(wù)器返回的信息,對Range請求進(jìn)行響應(yīng)。第二次為,源響應(yīng)模塊31通過預(yù)緩存單元312向源服務(wù)器發(fā)送完整文件請求,以獲取該Range請求中的url對應(yīng)的完整文件進(jìn)行預(yù)緩存,以方便以后的針對該url的Range請求的緩存響應(yīng)。具體為預(yù)緩存單元312首先通過預(yù)緩存請求生成組件(圖未示出)判斷針對該Range請求的url是否已向源服務(wù)器進(jìn)行過去Range的HTTP請求,如果已經(jīng)針對該url進(jìn)行過去Range的HTTP請求,則不再重復(fù)進(jìn)行緩存請求。如果沒有對同一 url進(jìn)行過去Range的HTTP請求,則通過預(yù)緩存請求生成組件(圖未示出)對該Range請求進(jìn)行去Range頭處理生成去Range的HTTP請求。并通過預(yù)緩存文件獲取組件(圖未示出)將生成的去Range的HTTP請求發(fā)送至源服務(wù)器,以從源服務(wù)器獲取該Range請求中的url對應(yīng)的完整文件進(jìn)行預(yù)緩存。通過本發(fā)明實施例的系統(tǒng),WEB緩存服務(wù)器在接收到Range請求時,就不需要每次都去源服務(wù)器獲取資源并緩存,只需要在第一次請求該url的Range內(nèi)容時,從源服務(wù)器獲取完整文件進(jìn)行預(yù)緩存,之后針對該url的Range請求都通過預(yù)緩存的完整文件進(jìn)行響應(yīng),提高WEB緩存的命中率和資源利用率。
[0064]如圖3所示,源響應(yīng)模塊31中還可以包括響應(yīng)控制單元313,設(shè)置為在每次收到Range請求時,對接收到的Range請求進(jìn)行統(tǒng)計,計算Range請求的頻率(如每分鐘請求幾次),當(dāng)本地沒有緩存該Range請求的完整文件時,首先判斷對該url的資源的Range請求的請求頻率,在請求頻率達(dá)到或超過預(yù)定閥值時,才進(jìn)行預(yù)緩存單元312的處理,從源服務(wù)器獲取完整文件進(jìn)行緩存,以進(jìn)一步對WEB緩存進(jìn)行優(yōu)化,減少無效資源的獲取和緩存量。
[0065]如圖3所示,源響應(yīng)模塊31中還可以包括預(yù)緩存控制單元314。在預(yù)緩存單元312設(shè)置為在原始響應(yīng)單元311向源服務(wù)器Range請求后,根據(jù)源服務(wù)器響應(yīng)的內(nèi)容,判斷該Range請求對應(yīng)的完整文件的大小,當(dāng)完整文件的大小不超過緩存閥值時,通過預(yù)緩存單元312進(jìn)行去Range的HTTP請求。由此,可以防止緩存過大的完整文件,造成WEB緩存的負(fù)擔(dān)。
[0066]如圖3所示,本發(fā)明實施例的系統(tǒng)還可以包括有緩存管理模塊32,設(shè)置為根據(jù)緩存區(qū)域的存儲順序,按照由前往后依次覆蓋的方式,順序循環(huán)存儲緩存文件。通過順序循環(huán)存儲的方式,可以有效減少磁盤的碎片。
[0067]本發(fā)明實施例的服務(wù)器架構(gòu)中各個模塊可以是軟件模塊也可以是硬件模塊,各模塊的具體處理方式與前文的方法描述相同,可相應(yīng)參照,在此不再贅述。
[0068]通過本發(fā)明的系統(tǒng),可以有效減少客戶端Range請求時,與源服務(wù)器的交互頻率和存儲的Range文件的數(shù)量,能夠更進(jìn)一步減輕源服務(wù)器的壓力,提高WEB緩存的效率和命中率。
[0069]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
[0070]通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在計算機(jī)可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實施例或者實施例的某些部分所述的方法。
[0071]最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。
【主權(quán)項】
1.一種用于優(yōu)化WEB緩存的方法,其特征在于,包括: 對接收到的Range請求對應(yīng)的完整文件進(jìn)行緩存檢查, -當(dāng)存在所述完整文件的緩存時, 根據(jù)所述完整文件的緩存對所述Range請求進(jìn)行響應(yīng); -當(dāng)不存在所述完整文件的緩存時, 根據(jù)所述Range請求生成用于獲取Range響應(yīng)的HTTP請求和用于獲取完整文件的HTTP請求,以從源服務(wù)器獲取返回信息,進(jìn)行響應(yīng)和緩存處理。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述Range請求生成用于獲取Range響應(yīng)的HTTP請求和用于獲取完整文件的HTTP請求,以從源服務(wù)器獲取返回信息,進(jìn)行響應(yīng)和緩存處理包括: 將所述Range請求作為獲取Range響應(yīng)的HTTP請求,直接轉(zhuǎn)發(fā)至源服務(wù)器,并根據(jù)所述源服務(wù)器返回的信息,對所述Range請求進(jìn)行響應(yīng); 根據(jù)所述Range請求生成用于獲取完整文件的去Range的HTTP請求,并將所述去Range的HTTP請求發(fā)送至所述源服務(wù)器,根據(jù)所述源服務(wù)器返回的信息,進(jìn)行緩存處理。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述Range請求生成用于獲取Range響應(yīng)的HTTP請求和用于獲取完整文件的HTTP請求,以從源服務(wù)器獲取返回信息,進(jìn)行響應(yīng)和緩存處理包括: 將所述Range請求作為獲取Range響應(yīng)的HTTP請求,直接轉(zhuǎn)發(fā)至源服務(wù)器,并根據(jù)所述源服務(wù)器返回的信息,對所述Range請求進(jìn)行響應(yīng); 對接收到的Range請求進(jìn)行統(tǒng)計,當(dāng)所述Range請求的請求頻率達(dá)到或超過預(yù)定閥值時,根據(jù)所述Range請求生成用于獲取完整文件的去Range的HTTP請求,并將所述去Range的HTTP請求發(fā)送至所述源服務(wù)器,根據(jù)所述源服務(wù)器返回的信息,進(jìn)行緩存處理。4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述根據(jù)所述Range請求生成用于獲取完整文件的去Range的HTTP請求包括: 解析出所述Range請求中的url,判斷是否存在針對所述url的歷史去Range的HTTP請求,當(dāng)不存在針對所述url的歷史去Range的HTTP請求時,對所述Range請求進(jìn)行去Range頭操作,以生成針對所述url的去Range的HTTP請求。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述源服務(wù)器返回的信息,進(jìn)行緩存處理包括: 根據(jù)所述源服務(wù)器返回的信息,獲取完整文件; 根據(jù)緩存區(qū)域的存儲順序,按照由前往后依次覆蓋的方式,順序循環(huán)存儲獲取的完整文件。6.一種用于優(yōu)化WEB緩存的系統(tǒng),其特征在于,包括: 緩存響應(yīng)模塊,用于對接收到的Range請求對應(yīng)的完整文件進(jìn)行緩存檢查,當(dāng)存在所述完整文件的緩存時,根據(jù)所述完整文件的緩存對所述Range請求進(jìn)行響應(yīng),當(dāng)不存在所述完整文件的緩存時,通過源響應(yīng)模塊進(jìn)行響應(yīng); 和 源響應(yīng)模塊,用于根據(jù)所述Range請求生成用于獲取Range響應(yīng)的HTTP請求和用于獲取完整文件的HTTP請求,以從源服務(wù)器獲取返回信息,進(jìn)行響應(yīng)和緩存處理。7.根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述源響應(yīng)模塊包括原始響應(yīng)單元和預(yù)緩存單元, 所述原始響應(yīng)單元用于將所述Range請求作為獲取Range響應(yīng)的HTTP請求,直接轉(zhuǎn)發(fā)至源服務(wù)器,并根據(jù)所述源服務(wù)器返回的信息,對所述Range請求進(jìn)行響應(yīng); 所述預(yù)緩存單元用于根據(jù)所述Range請求生成用于獲取完整文件的去Range的HTTP請求,并將所述去Range的HTTP請求發(fā)送至所述源服務(wù)器,根據(jù)所述源服務(wù)器返回的信息,進(jìn)行緩存處理。8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述源響應(yīng)模塊還包括響應(yīng)控制單元,用于對接收到的所述Range請求進(jìn)行統(tǒng)計,判斷對所述Range請求的請求頻率,在所述請求頻率達(dá)到或超過預(yù)定閥值時,進(jìn)行所述預(yù)緩存單元的處理。9.根據(jù)權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述預(yù)緩存單元包括預(yù)緩存請求生成組件 所述預(yù)緩存請求生成組件用于解析出所述Range請求中的url,判斷是否存在針對所述url的歷史去Range的HTTP請求,當(dāng)不存在針對所述url的歷史去Range的HTTP請求時,對所述Range請求進(jìn)行去Range頭操作,生成針對所述url的去Range的HTTP請求。10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 緩存管理模塊,用于根據(jù)所述源服務(wù)器返回的信息,獲取完整文件,并根據(jù)緩存區(qū)域的存儲順序,按照由前往后依次覆蓋的方式,順序循環(huán)存儲獲取的完整文件。
【文檔編號】G06F17/30GK105893429SQ201510896048
【公開日】2016年8月24日
【申請日】2015年12月8日
【發(fā)明人】陳艷成, 趙瑞前
【申請人】樂視云計算有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1