一種緩存系統(tǒng)的實(shí)現(xiàn)方法及緩存系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種緩存系統(tǒng)的實(shí)現(xiàn)方法及緩存系統(tǒng),該緩存系統(tǒng)包括:第一緩存系統(tǒng)和第二緩存系統(tǒng),第一緩存系統(tǒng)用于緩存第一文件,第二緩存系統(tǒng)用于緩存第二文件,第一文件和第二文件的類型不同,該方法包括:第一緩存系統(tǒng)接收用戶端發(fā)送的文件獲取請(qǐng)求;第一緩存系統(tǒng)確定該請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的類型;當(dāng)該請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為第一文件,且本地存儲(chǔ)有該所請(qǐng)求文件時(shí),第一緩存系統(tǒng)將本地存儲(chǔ)的所請(qǐng)求文件發(fā)送給用戶端;當(dāng)該請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為第二文件時(shí),第一緩存系統(tǒng)將文件獲取請(qǐng)求重定向至第二緩存系統(tǒng),以使得第二緩存系統(tǒng)能夠在本地存儲(chǔ)有該所請(qǐng)求文件時(shí),將本地存儲(chǔ)的所請(qǐng)求文件發(fā)送給用戶端。本發(fā)明可實(shí)現(xiàn)緩存系統(tǒng)的統(tǒng)一和整合。
【專利說明】一種緩存系統(tǒng)的實(shí)現(xiàn)方法及緩存系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及電信【技術(shù)領(lǐng)域】,尤其涉及一種緩存系統(tǒng)的實(shí)現(xiàn)方法及緩存系統(tǒng)。
【背景技術(shù)】
[0002] 緩存系統(tǒng)工作在互聯(lián)網(wǎng)服務(wù)提供商(ISP)提供服務(wù)的網(wǎng)絡(luò)內(nèi),對(duì)用戶請(qǐng)求的網(wǎng)絡(luò) 資源進(jìn)行內(nèi)部緩存。當(dāng)其他用戶再次請(qǐng)求同樣資源時(shí),系統(tǒng)捕獲用戶請(qǐng)求,將已緩存資源提 供給用戶,使用戶不必再通過網(wǎng)關(guān)出口向外部互聯(lián)網(wǎng)請(qǐng)求,從而達(dá)到增強(qiáng)用戶體驗(yàn),節(jié)約帶 寬成本的目的。
[0003] 在目前存在的緩存系統(tǒng)中,通常根據(jù)緩存對(duì)象的不同分為了大文件緩存系統(tǒng)和小 文件緩存系統(tǒng)。大文件一般為由用戶下載的程序文件(exe),壓縮包(rar/zip),視頻文件 (mkv/avi/wmv/rmvb)等,其文件大小通常較大,且是由用戶主動(dòng)下載,對(duì)于單個(gè)用戶請(qǐng)求頻 率相對(duì)較低,因此由大文件緩存系統(tǒng)處理。小文件一般為圖片或網(wǎng)頁(yè)相關(guān)文件(jpg/jpeg/ gif/png/html/js)等,其文件大小通常較小,且是由網(wǎng)頁(yè)自動(dòng)加載,對(duì)于單個(gè)用戶請(qǐng)求頻率 相對(duì)較高(如頁(yè)面中多幅圖片,多個(gè)javascript腳本等),因此由小文件緩存系統(tǒng)處理。由 于文件大小及請(qǐng)求頻率的差異,因此大、小文件緩存系統(tǒng)對(duì)于并發(fā)支持,大流量支持的要求 也并不同。大文件由于其請(qǐng)求頻率遠(yuǎn)低于小文件,因此若將大文件緩存系統(tǒng)應(yīng)用于小文件 的場(chǎng)景,則不能滿足性能要求;小文件由于文件較小,因此系統(tǒng)連接持續(xù)時(shí)間較短,對(duì)于長(zhǎng) 連接、斷點(diǎn)續(xù)傳等功能的支持則不如大文件緩存系統(tǒng)完善。在這種背景下,通常一個(gè)緩存系 統(tǒng)會(huì)明確定位其屬于大文件緩存系統(tǒng)還是小文件緩存系統(tǒng)。
[0004] 現(xiàn)有技術(shù)中的大、小文件緩存系統(tǒng)雖然分工明確,但由于兩套系統(tǒng)的隔離,導(dǎo)致系 統(tǒng)的部署增加了工作量和難度。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本發(fā)明提供一種緩存系統(tǒng)的實(shí)現(xiàn)方法及緩存系統(tǒng),以解決由于大、小文 件緩存系統(tǒng)隔離,導(dǎo)致緩存系統(tǒng)的部署增加了工作量和難度的問題。
[0006]為解決上述技術(shù)問題,本發(fā)明提供緩存系統(tǒng)的實(shí)現(xiàn)方法,所述緩存系統(tǒng)包括:第一 緩存系統(tǒng)和第二緩存系統(tǒng),所述第一緩存系統(tǒng)用于緩存第一文件,所述第二緩存系統(tǒng)用于 緩存第二文件,所述第一文件和所述第二文件的類型不同,其特征在于,所述方法包括:
[0007] 接收步驟:所述第一緩存系統(tǒng)接收用戶端發(fā)送的文件獲取請(qǐng)求;
[0008] 處理步驟:所述第一緩存系統(tǒng)確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的類型; 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本地存儲(chǔ)有 所述所請(qǐng)求文件時(shí),所述第一緩存系統(tǒng)將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端; 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第二文件時(shí),所述第一緩存系統(tǒng)將所述文件 獲取請(qǐng)求重定向至所述第二緩存系統(tǒng),以使得所述第二緩存系統(tǒng)能夠在本地存儲(chǔ)有所述所 請(qǐng)求文件時(shí),將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端。
[0009]優(yōu)選地,所述第一緩存系統(tǒng)將所述文件獲取請(qǐng)求重定向至所述第二緩存系統(tǒng)具體 為:
[0010] 所述第一緩存系統(tǒng)向用戶端返回重定向響應(yīng),所述重定向響應(yīng)中攜帶所述第二緩 存系統(tǒng)的地址,其中,所述用戶端在接收到所述重定向響應(yīng)后,根據(jù)所述第二緩存系統(tǒng)的地 址,自動(dòng)向所述第二緩存系統(tǒng)發(fā)送新的文件獲取請(qǐng)求。
[0011] 優(yōu)選地,所述處理步驟還包括:
[0012] 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本 地未存儲(chǔ)所述所請(qǐng)求文件時(shí),所述第一緩存系統(tǒng)根據(jù)所述文件獲取請(qǐng)求,從外部網(wǎng)絡(luò)獲取 所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件;
[0013] 所述第一緩存系統(tǒng)將獲取到的所述所請(qǐng)求文件發(fā)送給所述用戶端;
[0014] 所述第一緩存系統(tǒng)將獲取到的所述所請(qǐng)求文件緩存到本地。
[0015] 優(yōu)選地,所述第一緩存系統(tǒng)包括:域名服務(wù)器、主/備用虛擬服務(wù)器、多個(gè)負(fù)載均 衡服務(wù)器及多個(gè)緩存服務(wù)器;
[0016] 所述接收步驟具體為:
[0017] 所述域名服務(wù)器接收所述用戶端發(fā)送的文件獲取請(qǐng)求,并將所述文件獲取請(qǐng)求中 的域名解析為所述第一緩存系統(tǒng)的虛擬IP地址;
[0018] 所述接收步驟之后,所述處理步驟之前,還包括:
[0019] 所述域名服務(wù)器將所述虛擬IP地址發(fā)送給所述主/備用虛擬服務(wù)器中處于工作 狀態(tài)的虛擬服務(wù)器;
[0020] 所述處于工作狀態(tài)的虛擬服務(wù)器根據(jù)所述虛擬IP地址對(duì)所述文件獲取請(qǐng)求進(jìn)行 負(fù)載均衡處理,將所述文件獲取請(qǐng)求轉(zhuǎn)發(fā)至一所述負(fù)載均衡服務(wù)器;
[0021] 接收到所述文件獲取請(qǐng)求的負(fù)載均衡服務(wù)器根據(jù)所述文件獲取請(qǐng)求對(duì)應(yīng)的統(tǒng)一 資源定位符對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù)載均衡處理,將所述文件獲取請(qǐng)求發(fā)送至一所述緩 存服務(wù)器;
[0022] 所述處理步驟具體為:
[0023] 接收到所述文件獲取請(qǐng)求的緩存服務(wù)器確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文 件的類型;
[0024] 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述接收到所述文件 獲取請(qǐng)求的緩存服務(wù)器本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),接收到所述文件獲取請(qǐng)求的緩存服 務(wù)器將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端;
[0025] 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第二文件時(shí),接收到所述文件獲取 請(qǐng)求的緩存服務(wù)器將所述文件獲取請(qǐng)求重定向至所述第二緩存系統(tǒng)。
[0026] 優(yōu)選地,所述第一文件和所述第二文件采用以下方式進(jìn)行分類:用戶請(qǐng)求頻率、文 件大小、用戶自動(dòng)下載還是網(wǎng)頁(yè)自動(dòng)加載和/或文件后綴。
[0027] 本發(fā)明還提供一種緩存系統(tǒng),包括:第一緩存系統(tǒng)和第二緩存系統(tǒng),所述第一緩存 系統(tǒng)用于緩存第一文件,所述第二緩存系統(tǒng)用于緩存第二文件,所述第一文件和所述第二 文件的類型不同,所述第一緩存系統(tǒng)包括:
[0028] 接收模塊,用于接收用戶端發(fā)送的文件獲取請(qǐng)求;
[0029] 處理模塊,用于確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的類型;當(dāng)所述文件獲 取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本地存儲(chǔ)有所述所請(qǐng)求文 件時(shí),將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端;當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng) 求文件為所述第二文件時(shí),將所述文件獲取請(qǐng)求重定向至所述第二緩存系統(tǒng),以使得所述 第二緩存系統(tǒng)能夠在本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給 所述用戶端。
[0030] 優(yōu)選地,所述處理模塊進(jìn)一步用于向用戶端返回重定向響應(yīng),所述重定向響應(yīng)中 攜帶所述第二緩存系統(tǒng)的地址,其中,所述用戶端在接收到所述重定向響應(yīng)后,根據(jù)所述第 二緩存系統(tǒng)的地址,自動(dòng)向所述第二緩存系統(tǒng)發(fā)送新的文件獲取請(qǐng)求。
[0031] 優(yōu)選地,所述處理模塊還用于當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一 文件,且所述第一緩存系統(tǒng)本地未存儲(chǔ)所述所請(qǐng)求文件時(shí),根據(jù)所述文件獲取請(qǐng)求,從外部 網(wǎng)絡(luò)獲取所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件;并將獲取到的所述所請(qǐng)求文件緩存到本 地;以及將獲取到的所述所請(qǐng)求文件發(fā)送給所述用戶端。
[0032] 優(yōu)選地,所述接收模塊由一域名服務(wù)器實(shí)現(xiàn),所述處理模塊由一緩存服務(wù)器實(shí)現(xiàn), 所述第一緩存系統(tǒng)包括多個(gè)所述緩存服務(wù)器;所述第一緩存系統(tǒng)還包括:主/備用虛擬服 務(wù)器及多個(gè)負(fù)載均衡服務(wù)器;
[0033] 所述域名服務(wù)器,用于接收所述用戶端發(fā)送的文件獲取請(qǐng)求,將所述文件獲取請(qǐng) 求中的域名解析為所述第一緩存系統(tǒng)的虛擬IP地址;并將所述虛擬IP地址發(fā)送給所述主 /備用虛擬服務(wù)器中處于工作狀態(tài)的虛擬服務(wù)器;
[0034] 所述虛擬服務(wù)器,用于根據(jù)接收到所述虛擬IP地址對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù) 載均衡處理,將所述文件獲取請(qǐng)求轉(zhuǎn)發(fā)至一所述負(fù)載均衡服務(wù)器;
[0035] 所述負(fù)載均衡服務(wù)器,用于根據(jù)接收到的所述文件獲取請(qǐng)求對(duì)應(yīng)的統(tǒng)一資源定位 符對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù)載均衡處理,將所述文件獲取請(qǐng)求發(fā)送至一所述緩存服務(wù) 器。
[0036] 優(yōu)選地,所述第一文件和所述第二文件采用以下方式進(jìn)行分類:用戶請(qǐng)求頻率、文 件大小、用戶自動(dòng)下載還是網(wǎng)頁(yè)自動(dòng)加載和/或文件后綴。
[0037] 本發(fā)明的上述技術(shù)方案的有益效果如下:
[0038] 第一緩存系統(tǒng)和第二緩存系統(tǒng)與用戶端的接口整合為統(tǒng)一接口,用戶端在請(qǐng)求文 件時(shí)不用根據(jù)文件類型在初始請(qǐng)求時(shí)選擇緩存系統(tǒng)的入口地址,無論是何種類型的文件, 均請(qǐng)求同一地址,即第一緩存系統(tǒng)的地址,當(dāng)請(qǐng)求的文件不屬于第一緩存系統(tǒng)時(shí),由第一緩 存系統(tǒng)自動(dòng)將用戶端的文件獲取請(qǐng)求重定向至第二緩存系統(tǒng),從而實(shí)現(xiàn)了第一緩存系統(tǒng)和 第二緩存系統(tǒng)的統(tǒng)一和整合,降低了緩存系統(tǒng)的部署難度。此外,對(duì)于第一緩存系統(tǒng)和第二 緩存系統(tǒng)的網(wǎng)絡(luò)流量,也無需分別進(jìn)行處理。
【專利附圖】
【附圖說明】
[0039] 圖1為本發(fā)明實(shí)施例一的緩存系統(tǒng)的實(shí)現(xiàn)方法的流程示意圖;
[0040] 圖2為本發(fā)明實(shí)施例二的緩存系統(tǒng)的實(shí)現(xiàn)方法的流程示意圖;
[0041] 圖3為本發(fā)明實(shí)施例三的第一緩存系統(tǒng)的結(jié)構(gòu)示意圖;
[0042] 圖4為本發(fā)明實(shí)施例三的緩存系統(tǒng)的實(shí)現(xiàn)方法的流程示意圖;
[0043] 圖5為本發(fā)明實(shí)施例四的大文件緩存系統(tǒng)的結(jié)構(gòu)示意圖;
[0044] 圖6為本發(fā)明實(shí)施例四的小文件緩存系統(tǒng)的結(jié)構(gòu)示意圖;
[0045]圖7為本發(fā)明實(shí)施例五的第一緩存系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0046] 為使本發(fā)明要解決的技術(shù)問題、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具 體實(shí)施例進(jìn)行詳細(xì)描述。
[0047] 請(qǐng)參考圖1,圖1為本發(fā)明實(shí)施例一的緩存系統(tǒng)的實(shí)現(xiàn)方法的流程示意圖。
[0048] 本實(shí)施例中的緩存系統(tǒng)包括:第一緩存系統(tǒng)和第二緩存系統(tǒng),所述第一緩存系統(tǒng) 用于緩存第一文件,所述第二緩存系統(tǒng)用于緩存第二文件,所述第一文件和所述第二文件 的類型不同。
[0049] 所述第一文件和所述第二文件可以采用以下方式進(jìn)行分類:用戶請(qǐng)求頻率、文件 大小、用戶自動(dòng)下載還是網(wǎng)頁(yè)自動(dòng)加載和/或文件后綴,所述文件后綴舉例來說,如程序文 件(后綴為exe)、壓縮包(后綴為rar或zip)、視頻文件(后綴為mkv、avi、wmv、rmvb等)、圖 片(后綴為jpg、jpeg、gif、png等)或網(wǎng)頁(yè)相關(guān)文件(后綴為html或js等)。
[0050] 本實(shí)施例的緩存系統(tǒng)的實(shí)現(xiàn)方法包括以下步驟:
[0051] 步驟101:所述第一緩存系統(tǒng)接收用戶端發(fā)送的文件獲取請(qǐng)求;
[0052] 步驟102:所述第一緩存系統(tǒng)確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的類型;
[0053] 步驟103:當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一 緩存系統(tǒng)本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),所述第一緩存系統(tǒng)將本地存儲(chǔ)的所述所請(qǐng)求文件 發(fā)送給所述用戶端;
[0054] 步驟104:當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第二文件時(shí),所述第一 緩存系統(tǒng)將所述文件獲取請(qǐng)求重定向至所述第二緩存系統(tǒng),以使得所述第二緩存系統(tǒng)能夠 在本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),將所述本地存儲(chǔ)的所請(qǐng)求文件發(fā)送給所述用戶端。
[0055] 通過上述實(shí)施例提供的方法,第一緩存系統(tǒng)和第二緩存系統(tǒng)與用戶端的接口整合 為統(tǒng)一接口,用戶端在請(qǐng)求文件時(shí)不用根據(jù)文件類型在初始請(qǐng)求時(shí)選擇緩存系統(tǒng)的入口地 址,無論是何種類型的文件,均請(qǐng)求同一地址,即第一緩存系統(tǒng)的地址,當(dāng)請(qǐng)求的文件不屬 于第一緩存系統(tǒng)時(shí),由第一緩存系統(tǒng)自動(dòng)將用戶端的文件獲取請(qǐng)求重定向至第二緩存系 統(tǒng),從而實(shí)現(xiàn)了第一緩存系統(tǒng)和第二緩存系統(tǒng)的統(tǒng)一和整合,降低了緩存系統(tǒng)的部署難度。 此外,對(duì)于第一緩存系統(tǒng)和第二緩存系統(tǒng)的網(wǎng)絡(luò)流量,也無需分別進(jìn)行處理。
[0056] 上述步驟104中的"所述第一緩存系統(tǒng)將所述文件獲取請(qǐng)求重定向至所述第二緩 存系統(tǒng)"可以具體為:所述第一緩存系統(tǒng)向用戶端返回重定向響應(yīng),所述重定向響應(yīng)中攜帶 所述第二緩存系統(tǒng)的地址,其中,所述用戶端在接收到所述重定向響應(yīng)后,根據(jù)所述第二緩 存系統(tǒng)的地址,自動(dòng)向所述第二緩存系統(tǒng)發(fā)送新的文件獲取請(qǐng)求。所述第二緩存系統(tǒng)接收 到所述新的文件獲取請(qǐng)求后,如果本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),所述第二緩存系統(tǒng)將本 地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端。
[0057] 本實(shí)施例中,用戶端在接收到所述重定向響應(yīng)后,自動(dòng)向所述緩存系統(tǒng)發(fā)送新的 文件獲取請(qǐng)求,即用戶端是以靜默方式向第二緩存系統(tǒng)發(fā)起新的文件獲取請(qǐng)求的,對(duì)于用 戶端,第二次重請(qǐng)求文件的過程是不可見的,從而簡(jiǎn)化了用戶端的處理流程。
[0058] 上述實(shí)施例中,當(dāng)所述所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本地未 存儲(chǔ)所述所請(qǐng)求文件時(shí),所述第一緩存系統(tǒng)可以根據(jù)所述文件獲取請(qǐng)求,從外部網(wǎng)絡(luò)(外部 互聯(lián)網(wǎng))獲取所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件,并將獲取到的所述所請(qǐng)求文件發(fā)送給 所述用戶端;另外,所述第一緩存系統(tǒng)還可以將獲取到的所述所請(qǐng)求文件緩存到本地,以使 得所述用戶端或者其他用戶端以后請(qǐng)求該文件時(shí),可以直接將本地緩存的文件發(fā)送給發(fā)起 請(qǐng)求的用戶端。
[0059] 請(qǐng)參考圖2,圖2為本發(fā)明實(shí)施例二的緩存系統(tǒng)的實(shí)現(xiàn)方法的流程示意圖。
[0060] 本實(shí)施例中的緩存系統(tǒng)包括:第一緩存系統(tǒng)和第二緩存系統(tǒng),所述第一緩存系統(tǒng) 用于緩存第一文件,所述第二緩存系統(tǒng)用于緩存第二文件,所述第一文件和所述第二文件 的類型不同。
[0061] 本實(shí)施例的緩存系統(tǒng)的實(shí)現(xiàn)方法包括以下步驟:
[0062] 步驟201:所述第一緩存系統(tǒng)接收用戶端發(fā)送的文件獲取請(qǐng)求;
[0063] 步驟202:所述第一緩存系統(tǒng)確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的類型;
[0064] 步驟203:當(dāng)所述所請(qǐng)求文件為所述第一文件,所述第一緩存系統(tǒng)判斷本地是否 存儲(chǔ)有所述所請(qǐng)求文件,如果是,執(zhí)行步驟204,否則,執(zhí)行步驟205 ;
[0065]步驟204:當(dāng)所述第一緩存系統(tǒng)本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),所述第一緩存系 統(tǒng)將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端;
[0066] 步驟205 :當(dāng)所述第一緩存系統(tǒng)本地未存儲(chǔ)所述所請(qǐng)求文件時(shí),所述第一緩存系 統(tǒng)根據(jù)所述文件獲取請(qǐng)求,從外部網(wǎng)絡(luò)獲取所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件;
[0067] 步驟206:所述第一緩存系統(tǒng)將獲取到的所述所請(qǐng)求文件發(fā)送給所述用戶端;
[0068] 步驟207:所述第一緩存系統(tǒng)將獲取到的所述所請(qǐng)求文件緩存到本地;
[0069]步驟208:當(dāng)所述所請(qǐng)求文件為所述第二文件時(shí),所述第一緩存系統(tǒng)將所述文件 獲取請(qǐng)求重定向至所述第二緩存系統(tǒng),以使得所述第二緩存系統(tǒng)能夠在本地存儲(chǔ)有所述所 請(qǐng)求文件時(shí),將所述所請(qǐng)求文件發(fā)送給所述用戶端。
[0070]其中,步驟206和步驟207的執(zhí)行順序并不限定,在本發(fā)明的一些實(shí)施例中,可以 先執(zhí)行步驟206,也可以先執(zhí)行步驟207,或者兩個(gè)步驟同時(shí)執(zhí)行。
[0071]請(qǐng)參考圖3,圖3為本發(fā)明實(shí)施例三的第一緩存系統(tǒng)的結(jié)構(gòu)示意圖。
[0072] 所述第一緩存系統(tǒng)包括:域名服務(wù)器(DNS)、主/備用虛擬服務(wù)器、多個(gè)負(fù)載均衡 服務(wù)器(圖中以四個(gè)為例)及多個(gè)緩存服務(wù)器(圖中以四個(gè)為例)。
[0073] 上述主/備用虛擬服務(wù)器采用主備方式工作,當(dāng)主用(Master)虛擬服務(wù)器正常工 作時(shí),備用(Backup)虛擬服務(wù)器處于休眠狀態(tài),且主用虛擬服務(wù)器和備用虛擬服務(wù)器之間 采用心跳方式檢測(cè),當(dāng)主用虛擬服務(wù)器故障時(shí),備用虛擬服務(wù)器啟動(dòng),代替主用虛擬服務(wù)器 工作。上述主/備用虛擬服務(wù)器可以為L(zhǎng)inux虛擬服務(wù)器(LVS),所述虛擬服務(wù)器對(duì)后端的 多個(gè)負(fù)載均衡服務(wù)器進(jìn)行四層負(fù)載均衡處理,即根據(jù)用戶端的IP地址對(duì)文件獲取請(qǐng)求進(jìn) 行負(fù)載均衡處理。
[0074] 上述負(fù)載均衡服務(wù)器可以為Haproxy服務(wù)器。負(fù)載均衡服務(wù)器的主要功能為進(jìn)行 七層負(fù)載均衡處理,即采用對(duì)統(tǒng)一資源定位符Url)進(jìn)行散列的方式對(duì)接收到的文件獲取 請(qǐng)求進(jìn)行負(fù)載均衡。
[0075] 上述緩存服務(wù)器通過反向代理的方式獲得遠(yuǎn)端(互聯(lián)網(wǎng)上的源站)資源并緩存到 服務(wù)器本地,在下一次接收到請(qǐng)求該遠(yuǎn)端資源的用戶文件獲取請(qǐng)求時(shí),直接向用戶返回本 地緩存數(shù)據(jù)。
[0076] 請(qǐng)參考圖4,圖4為本發(fā)明實(shí)施例三的第一緩存系統(tǒng)的實(shí)現(xiàn)方法的流程示意圖。
[0077] 本發(fā)明實(shí)施例的緩存系統(tǒng)的實(shí)現(xiàn)方法包括以下步驟:
[0078] 步驟401 :所述域名服務(wù)器接收所述用戶端發(fā)送的文件獲取請(qǐng)求;
[0079] 步驟402 :所述域名服務(wù)器將所述文件獲取請(qǐng)求中的域名解析為所述第一緩存系 統(tǒng)的虛擬IP地址;
[0080] 步驟403 :所述域名服務(wù)器將所述虛擬IP地址及所述文件獲取請(qǐng)求發(fā)送給虛擬服 務(wù)器;
[0081] 步驟404 :接收到所述虛擬IP地址及所述文件獲取請(qǐng)求的虛擬服務(wù)器根據(jù)所述虛 擬IP地址對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù)載均衡處理,將所述文件獲取請(qǐng)求轉(zhuǎn)發(fā)至一負(fù)載均 衡服務(wù)器;
[0082] 步驟405:接收到所述文件獲取請(qǐng)求的負(fù)載均衡服務(wù)器根據(jù)所述文件獲取請(qǐng)求對(duì) 應(yīng)的統(tǒng)一資源定位符對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù)載均衡處理,將所述文件獲取請(qǐng)求發(fā)送至 所述第一緩存系統(tǒng)中的一緩存服務(wù)器。
[0083] 步驟406 :接收到所述文件獲取請(qǐng)求的緩存服務(wù)器確定所述文件獲取請(qǐng)求對(duì)應(yīng)的 所請(qǐng)求文件的類型;
[0084] 步驟407:當(dāng)所述所請(qǐng)求文件為所述第一文件,且本地存儲(chǔ)有所述所請(qǐng)求文件時(shí), 接收到所述文件獲取請(qǐng)求的緩存服務(wù)器將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶 端;
[0085] 步驟408:當(dāng)所述所請(qǐng)求文件為所述第二文件時(shí),接收到所述文件獲取請(qǐng)求的緩 存服務(wù)器將所述文件獲取請(qǐng)求重定向至所述第二緩存系統(tǒng),以使得所述第二緩存系統(tǒng)能夠 在本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),將所述所請(qǐng)求文件發(fā)送給所述用戶端。
[0086] 上述實(shí)施例中的第一緩存系統(tǒng)采用虛擬服務(wù)器-負(fù)載均衡服務(wù)器-緩存服務(wù)器的 分層部署,配合負(fù)載均衡策略,實(shí)現(xiàn)系統(tǒng)的分布式負(fù)載均衡。另外,對(duì)現(xiàn)有的緩存系統(tǒng)的架 構(gòu)并不改變,實(shí)現(xiàn)方法簡(jiǎn)單,實(shí)現(xiàn)成本較低。
[0087] 下面以第一緩存系統(tǒng)為大文件緩存系統(tǒng)、第二緩存系統(tǒng)為小文件緩存系統(tǒng)為例, 本發(fā)明實(shí)施例的緩存系統(tǒng)進(jìn)行說明。
[0088] 其中,所述大文件緩存系統(tǒng)用于緩存大文件,所述大文件相當(dāng)于上述實(shí)施例中的 第一文件,所述大文件可以包括程序文件(后綴為exe)、壓縮包(后綴為rar或zip)和/或 視頻文件(后綴為1111^、&¥;[、¥11^、1'11^13等)等,該種類型的文件通常較大,且由用戶主動(dòng)下載, 對(duì)于單個(gè)用戶請(qǐng)求的頻率較低。
[0089] 所述小文件緩存系統(tǒng)用于緩存小文件,所述小大文件相當(dāng)于上述實(shí)施例中的第二 文件,所述小文件可以包括圖片(后綴為jpg、jpeg、gif、png等)和/或網(wǎng)頁(yè)相關(guān)文件(后綴 為html或js等)等,該種類型的文件通常較小,且由網(wǎng)頁(yè)自動(dòng)加載,對(duì)于單個(gè)用戶請(qǐng)求的頻 率較高。
[0090] 該緩存系統(tǒng)向用戶端僅提供的統(tǒng)一的入口地址是大文件緩存系統(tǒng)的可見接口。
[0091] 請(qǐng)參考圖5和圖6,圖5為本發(fā)明實(shí)施例四的大文件緩存系統(tǒng)的結(jié)構(gòu)示意圖,圖6 為本發(fā)明實(shí)施例四的小文件緩存系統(tǒng)的結(jié)構(gòu)示意圖。
[0092] 所述大文件緩存系統(tǒng)包括:域名服務(wù)器(DNS)、主/備用linux虛擬服務(wù)器(LVS)、 多個(gè)Haproxy服務(wù)器(圖中以四個(gè)為例)及多個(gè)Nginx服務(wù)器(圖中以四個(gè)為例);
[0093] 所述小文件緩存系統(tǒng)包括:主/備用linux虛擬服務(wù)器(LVS)、多個(gè)Haproxy服務(wù) 器(圖中以四個(gè)為例)及多個(gè)Squid服務(wù)器(圖中以四個(gè)為例);
[0094] 所述linux虛擬服務(wù)器相當(dāng)于上述實(shí)施例中的虛擬服務(wù)器;
[0095] 所述Haproxy服務(wù)器相當(dāng)于上述實(shí)施例中的負(fù)載均衡服務(wù)器;
[0096] Nginx服務(wù)器相當(dāng)于上述實(shí)施例中的第一緩存系統(tǒng)的緩存服務(wù)器;;
[0097] Squid服務(wù)器相當(dāng)于上述實(shí)施例中的第二緩存系統(tǒng)的緩存服務(wù)器。
[0098] 大文件緩存系統(tǒng)的工作流程如下:
[0099] 1)域名服務(wù)器接收用戶端發(fā)送的文件獲取請(qǐng)求,將文件獲取請(qǐng)求中的域名解析為 大文件緩存系統(tǒng)的虛擬IP(VIP),并將該文件獲取請(qǐng)求及虛擬IP發(fā)送至LVS;
[0100] 2)通過LVS及Haproxy服務(wù)器的負(fù)載均衡策略,該文件獲取請(qǐng)求到達(dá)Nginx服務(wù) 器。
[0101] 3)Nginx根據(jù)所請(qǐng)求文件的文件后綴對(duì)文件獲取請(qǐng)求進(jìn)行處理(由于Nginx服務(wù) 器能夠根據(jù)不同的url格式進(jìn)行相應(yīng)的正則表達(dá)式匹配,因此為不同類型的請(qǐng)求進(jìn)行不同 的處理提供了機(jī)會(huì)):
[0102] A:若所請(qǐng)求文件為非圖片類文件(如exe/rar/zip/mkv/rmvb),則進(jìn)入常規(guī)大文 件緩存處理流程;
[0103]B:若所請(qǐng)求文件為圖片類文件(如jpg/jpeg/gif/png),則向用戶端返回http協(xié) 議中302重定向響應(yīng)頭(302TemporarilyMoved),其Location屬性值為小文件緩存系統(tǒng)的 IP地址。用戶端在接收到該重定向響應(yīng)頭后,根據(jù)小文件緩存系統(tǒng)的IP地址以靜默方式向 小文件緩存系統(tǒng)發(fā)起新的文件獲取請(qǐng)求。
[0104] 小文件緩存系統(tǒng)的工作流程如下:
[0105] 小文件緩存系統(tǒng)接收到新的文件獲取請(qǐng)求后,通過LVS及Haproxy服務(wù)器的負(fù)載 均衡策略,該文件獲取請(qǐng)求到達(dá)Squid服務(wù)器,并進(jìn)入常規(guī)小文件緩存處理流程。
[0106] Nginx服務(wù)器的關(guān)鍵配置如下:
[0107]
【權(quán)利要求】
1. 一種緩存系統(tǒng)的實(shí)現(xiàn)方法,所述緩存系統(tǒng)包括:第一緩存系統(tǒng)和第二緩存系統(tǒng),所 述第一緩存系統(tǒng)用于緩存第一文件,所述第二緩存系統(tǒng)用于緩存第二文件,所述第一文件 和所述第二文件的類型不同,其特征在于,所述方法包括: 接收步驟:所述第一緩存系統(tǒng)接收用戶端發(fā)送的文件獲取請(qǐng)求; 處理步驟:所述第一緩存系統(tǒng)確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的類型;當(dāng)所 述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本地存儲(chǔ)有所述 所請(qǐng)求文件時(shí),所述第一緩存系統(tǒng)將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端;當(dāng)所 述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第二文件時(shí),所述第一緩存系統(tǒng)將所述文件獲取 請(qǐng)求重定向至所述第二緩存系統(tǒng),以使得所述第二緩存系統(tǒng)能夠在本地存儲(chǔ)有所述所請(qǐng)求 文件時(shí),將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端。
2. 如權(quán)利要求1所述的方法,其特征在于,所述第一緩存系統(tǒng)將所述文件獲取請(qǐng)求重 定向至所述第二緩存系統(tǒng)具體為: 所述第一緩存系統(tǒng)向用戶端返回重定向響應(yīng),所述重定向響應(yīng)中攜帶所述第二緩存系 統(tǒng)的地址,其中,所述用戶端在接收到所述重定向響應(yīng)后,根據(jù)所述第二緩存系統(tǒng)的地址, 自動(dòng)向所述第二緩存系統(tǒng)發(fā)送新的文件獲取請(qǐng)求。
3. 如權(quán)利要求1所述的方法,其特征在于,所述處理步驟還包括: 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本地未 存儲(chǔ)所述所請(qǐng)求文件時(shí),所述第一緩存系統(tǒng)根據(jù)所述文件獲取請(qǐng)求,從外部網(wǎng)絡(luò)獲取所述 文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件; 所述第一緩存系統(tǒng)將獲取到的所述所請(qǐng)求文件發(fā)送給所述用戶端; 所述第一緩存系統(tǒng)將獲取到的所述所請(qǐng)求文件緩存到本地。
4. 如權(quán)利要求1所述的方法,其特征在于,所述第一緩存系統(tǒng)包括:域名服務(wù)器、主/ 備用虛擬服務(wù)器、多個(gè)負(fù)載均衡服務(wù)器及多個(gè)緩存服務(wù)器; 所述接收步驟具體為: 所述域名服務(wù)器接收所述用戶端發(fā)送的文件獲取請(qǐng)求,并將所述文件獲取請(qǐng)求中的域 名解析為所述第一緩存系統(tǒng)的虛擬IP地址; 所述接收步驟之后,所述處理步驟之前,還包括: 所述域名服務(wù)器將所述虛擬IP地址發(fā)送給所述主/備用虛擬服務(wù)器中處于工作狀態(tài) 的虛擬服務(wù)器; 所述處于工作狀態(tài)的虛擬服務(wù)器根據(jù)所述虛擬IP地址對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù)載 均衡處理,將所述文件獲取請(qǐng)求轉(zhuǎn)發(fā)至一所述負(fù)載均衡服務(wù)器; 接收到所述文件獲取請(qǐng)求的負(fù)載均衡服務(wù)器根據(jù)所述文件獲取請(qǐng)求對(duì)應(yīng)的統(tǒng)一資源 定位符對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù)載均衡處理,將所述文件獲取請(qǐng)求發(fā)送至一所述緩存服 務(wù)器; 所述處理步驟具體為: 接收到所述文件獲取請(qǐng)求的緩存服務(wù)器確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的 類型; 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述接收到所述文件獲取 請(qǐng)求的緩存服務(wù)器本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),接收到所述文件獲取請(qǐng)求的緩存服務(wù)器 將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端; 當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第二文件時(shí),接收到所述文件獲取請(qǐng)求 的緩存服務(wù)器將所述文件獲取請(qǐng)求重定向至所述第二緩存系統(tǒng)。
5. 如權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于,所述第一文件和所述第二文件采 用以下方式進(jìn)行分類:用戶請(qǐng)求頻率、文件大小、用戶自動(dòng)下載還是網(wǎng)頁(yè)自動(dòng)加載和/或文 件后綴。
6. -種緩存系統(tǒng),包括:第一緩存系統(tǒng)和第二緩存系統(tǒng),所述第一緩存系統(tǒng)用于緩存 第一文件,所述第二緩存系統(tǒng)用于緩存第二文件,所述第一文件和所述第二文件的類型不 同,其特征在于,所述第一緩存系統(tǒng)包括: 接收模塊,用于接收用戶端發(fā)送的文件獲取請(qǐng)求; 處理模塊,用于確定所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件的類型;當(dāng)所述文件獲取請(qǐng) 求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本地存儲(chǔ)有所述所請(qǐng)求文件 時(shí),將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所述用戶端;當(dāng)所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求 文件為所述第二文件時(shí),將所述文件獲取請(qǐng)求重定向至所述第二緩存系統(tǒng),以使得所述第 二緩存系統(tǒng)能夠在本地存儲(chǔ)有所述所請(qǐng)求文件時(shí),將本地存儲(chǔ)的所述所請(qǐng)求文件發(fā)送給所 述用戶端。
7. 如權(quán)利要求6所述的緩存系統(tǒng),其特征在于,所述處理模塊進(jìn)一步用于向用戶端返 回重定向響應(yīng),所述重定向響應(yīng)中攜帶所述第二緩存系統(tǒng)的地址,其中,所述用戶端在接收 到所述重定向響應(yīng)后,根據(jù)所述第二緩存系統(tǒng)的地址,自動(dòng)向所述第二緩存系統(tǒng)發(fā)送新的 文件獲取請(qǐng)求。
8. 如權(quán)利要求6所述的緩存系統(tǒng),其特征在于,所述處理模塊還用于當(dāng)所述文件獲取 請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件為所述第一文件,且所述第一緩存系統(tǒng)本地未存儲(chǔ)所述所請(qǐng)求文件 時(shí),根據(jù)所述文件獲取請(qǐng)求,從外部網(wǎng)絡(luò)獲取所述文件獲取請(qǐng)求對(duì)應(yīng)的所請(qǐng)求文件;并將獲 取到的所述所請(qǐng)求文件緩存到本地;以及將獲取到的所述所請(qǐng)求文件發(fā)送給所述用戶端。
9. 如權(quán)利要求6所述的緩存系統(tǒng),其特征在于,所述接收模塊由一域名服務(wù)器實(shí)現(xiàn),所 述處理模塊由一緩存服務(wù)器實(shí)現(xiàn),所述第一緩存系統(tǒng)包括多個(gè)所述緩存服務(wù)器;所述第一 緩存系統(tǒng)還包括:主/備用虛擬服務(wù)器及多個(gè)負(fù)載均衡服務(wù)器; 所述域名服務(wù)器,用于接收所述用戶端發(fā)送的文件獲取請(qǐng)求;并將所述文件獲取請(qǐng)求 中的域名解析為所述第一緩存系統(tǒng)的虛擬IP地址;以及將所述虛擬IP地址發(fā)送給所述主 /備用虛擬服務(wù)器中處于工作狀態(tài)的虛擬服務(wù)器; 所述虛擬服務(wù)器,用于根據(jù)接收到所述虛擬IP地址對(duì)所述文件獲取請(qǐng)求進(jìn)行負(fù)載均 衡處理,將所述文件獲取請(qǐng)求轉(zhuǎn)發(fā)至一所述負(fù)載均衡服務(wù)器; 所述負(fù)載均衡服務(wù)器,用于根據(jù)接收到的所述文件獲取請(qǐng)求對(duì)應(yīng)的統(tǒng)一資源定位符對(duì) 所述文件獲取請(qǐng)求進(jìn)行負(fù)載均衡處理,將所述文件獲取請(qǐng)求發(fā)送至一所述緩存服務(wù)器。
10. 如權(quán)利要求6至9任一項(xiàng)所述的緩存系統(tǒng),其特征在于,所述第一文件和所述第二 文件采用以下方式進(jìn)行分類:用戶請(qǐng)求頻率、文件大小、用戶自動(dòng)下載還是網(wǎng)頁(yè)自動(dòng)加載和 /或文件后綴。
【文檔編號(hào)】H04L29/12GK104519088SQ201310451731
【公開日】2015年4月15日 申請(qǐng)日期:2013年9月27日 優(yōu)先權(quán)日:2013年9月27日
【發(fā)明者】吳雨果, 李曉陽, 王軒 申請(qǐng)人:方正寬帶網(wǎng)絡(luò)服務(wù)股份有限公司