[發(fā)明專利]一種大文件HTTP-Range下載方法、緩存服務(wù)器及系統(tǒng)有效
| 申請?zhí)枺?/td> | 201410827530.3 | 申請日: | 2014-12-26 |
| 公開(公告)號: | CN105791366B | 公開(公告)日: | 2019-01-18 |
| 發(fā)明(設(shè)計(jì))人: | 湯新;侯光華;李建軍;廣小明;汪鑫 | 申請(專利權(quán))人: | 中國電信股份有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 中國國際貿(mào)易促進(jìn)委員會專利商標(biāo)事務(wù)所 11038 | 代理人: | 趙倩男 |
| 地址: | 100033 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 文件 http range 下載 方法 緩存 服務(wù)器 系統(tǒng) | ||
本發(fā)明公開了一種大文件HTTP?Range下載方法、緩存服務(wù)器及系統(tǒng)。該方法包括:當(dāng)接收到客戶端的Range請求時(shí),緩存服務(wù)器先檢查本地是否保存整個(gè)實(shí)體,若有,則直接響應(yīng);如果未保存整個(gè)實(shí)體,則檢查本地是否保存大于等于請求范圍的實(shí)體,若有,則進(jìn)行響應(yīng),否則,判斷本地存有的部分實(shí)體是否超過閾值,若超過,向源站發(fā)起整個(gè)范圍請求,否則發(fā)起部分范圍請求,再結(jié)合本地內(nèi)容響應(yīng)。因此,優(yōu)化了緩存服務(wù)器對于Range請求的響應(yīng),減少了源站的壓力。
技術(shù)領(lǐng)域
本發(fā)明涉及大文件下載領(lǐng)域,尤其涉及一種大文件HTTP-Range下載方法、緩存服務(wù)器及系統(tǒng)。
背景技術(shù)
隨著互聯(lián)網(wǎng)的飛速發(fā)展,遵循摩爾定律,在互聯(lián)網(wǎng)上傳輸?shù)男畔⒄诒ㄊ降卦鲩L,由于高清、超清、藍(lán)光等類型的不斷增多,單個(gè)文件的平均大小也在不斷增加。
在文件增大的同時(shí),用戶卻對延遲的容忍度不斷下降,所以當(dāng)前絕大部分的播放器、下載軟件都會采用多線程的方式,開啟多個(gè)發(fā)出HTTP請求的線程,每個(gè)HTTP請求只請求資源實(shí)體的一部分,即范圍(Range)請求,最后合并各個(gè)線程下載的部分實(shí)體,從而大大縮短了下載時(shí)間。
然而多線程在帶來快速的同時(shí),也給服務(wù)器造成了巨大的壓力,特別是對于突發(fā)熱點(diǎn)的內(nèi)容,因?yàn)槎鄠€(gè)“碎塊”的請求響應(yīng)是不完整的實(shí)體,所以對于當(dāng)前的緩存技術(shù)不會緩存這樣的“碎塊”。
例如,如圖1所示,當(dāng)多客戶多線程向緩存服務(wù)器發(fā)起Range請求,而緩存服務(wù)器上沒有被請求的實(shí)體存在時(shí),緩存服務(wù)器會將所有的Range請求原封不動的轉(zhuǎn)發(fā)回源站取各請求的部分實(shí)體內(nèi)容,且緩存服務(wù)器并不緩存任何Range請求的響應(yīng),在轉(zhuǎn)發(fā)請求的同時(shí),緩存服務(wù)器會向源站發(fā)起一個(gè)非Range的全量請求,本請求的響應(yīng)會被緩存下來。
在這過程中,遇到突發(fā)熱點(diǎn)內(nèi)容時(shí),源站會受到很大的沖擊力,而內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)卻無能為力,甚至還會有反作用。例如,因?yàn)槊總€(gè)Range請求都被原封不動地回源了,此外額外的整個(gè)文件的請求,以及緩存服務(wù)器為了高可靠性會在請求失敗后重試,并且一般緩存服務(wù)器都身處在互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC)網(wǎng)絡(luò)環(huán)境,網(wǎng)絡(luò)速度很快,所以在增加了請求數(shù)、改善了網(wǎng)絡(luò)環(huán)境后,放大了回源帶寬,即放大了源站壓力。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是當(dāng)前的HTTP協(xié)議及緩存技術(shù)無法緩解突發(fā)大量的Range請求給源站帶來的壓力。
根據(jù)本發(fā)明一方面,提出一種大文件HTTP-Range下載方法,包括:
接收客戶端的Range請求;
緩存服務(wù)器檢查本地是否保存整個(gè)實(shí)體,若有,則直接響應(yīng);
如果未保存整個(gè)實(shí)體,則檢查本地是否保存大于等于請求范圍的實(shí)體,若有,則進(jìn)行響應(yīng),否則,向源站發(fā)起請求。
進(jìn)一步,檢查本地是否保存有Range請求范圍內(nèi)的實(shí)體,若沒有,則向源站發(fā)起Range請求并獲取Range實(shí)體,并且,向源站發(fā)起獲取整個(gè)實(shí)體的請求并獲取整個(gè)實(shí)體。
進(jìn)一步,檢查本地是否保存有Range請求范圍內(nèi)的實(shí)體,若有,則檢查請求范圍是否大于閾值、已存在范圍實(shí)體是否由少于N個(gè)的實(shí)體組成、和/或已存在范圍的實(shí)體是否超過請求范圍的一半,若是,則緩存服務(wù)器向源站發(fā)起已有范圍外的Range子請求,并將獲取的已有范圍外的實(shí)體與已有范圍內(nèi)的實(shí)體合并;
否則,緩存服務(wù)器向源站發(fā)起Range請求并獲取Range實(shí)體,并且,向源站發(fā)起獲取整個(gè)實(shí)體的請求并獲取整個(gè)實(shí)體。
進(jìn)一步,當(dāng)接收到客戶端的多個(gè)Range請求時(shí),如果請求范圍相鄰或重疊時(shí),則將多個(gè)Range請求合并,并向源站發(fā)起最大范圍的Range請求,在取回最大范圍實(shí)體后分別響應(yīng)各個(gè)請求。
進(jìn)一步,將整個(gè)實(shí)體劃分成多個(gè)邏輯數(shù)據(jù)塊,并且將各個(gè)Range實(shí)體作為邏輯數(shù)據(jù)塊的子塊記錄;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國電信股份有限公司,未經(jīng)中國電信股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410827530.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 基于HTTP的通信方法及系統(tǒng)、HTTP服務(wù)器、HTTP客戶端
- 用于處理HTTP消息的方法以及實(shí)現(xiàn)其的電子裝置
- HTTP報(bào)文處理方法及系統(tǒng)、HTTP客戶端及服務(wù)器
- 一種信息傳輸方法、裝置及無線通信系統(tǒng)
- 發(fā)起HTTP請求的方法及裝置
- 一種基于HTTP的應(yīng)用響應(yīng)推送方法及代理服務(wù)器
- 一種針對HTTP Flood攻擊的防護(hù)方法及系統(tǒng)
- 一種交互方法、客戶端設(shè)備及服務(wù)端設(shè)備
- H5跨引擎客戶端數(shù)據(jù)自動化更新的方法、存儲介質(zhì)
- 一種基于代理的HTTP報(bào)文采集方法、終端設(shè)備及存儲介質(zhì)
- 控制CMP膜厚面內(nèi)均一性的方法
- Input標(biāo)簽的range類型繪制方法及智能終端
- 基于oracle數(shù)據(jù)庫系統(tǒng)的range分區(qū)表的維護(hù)方法和系統(tǒng)
- 基于信息融合的電動汽車?yán)m(xù)駛里程計(jì)算方法及裝置
- 用于優(yōu)化WEB緩存的方法及系統(tǒng)
- 數(shù)據(jù)傳輸?shù)姆椒ê徒K端
- 一種高效的ip地址匹配方法
- 一種基于學(xué)習(xí)跟蹤模型的學(xué)習(xí)情況統(tǒng)計(jì)方法
- 一種能夠保證分布式數(shù)據(jù)庫全表查詢語句結(jié)果集順序的方法和裝置
- 一種針對MySQL的分表分區(qū)查詢方法





