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