新四季網

過濾式緩存方法及其裝置、緩存系統的製作方法

2023-05-01 19:58:21

專利名稱:過濾式緩存方法及其裝置、緩存系統的製作方法
技術領域:
本發明涉及網際網路數據緩存領域,尤其涉及一種過濾式緩存方法及其裝置、緩 存系統。
背景技術:
在網際網路應用領域中,數據緩存技術至關重要,尤其是頁面數據緩存技術,不 僅要保證緩存的簡易性,還要保證緩存的性能、可擴展性。網際網路緩存技術一般都是通 過反向代理方式來實現的。如圖1,在反向代理方式中,由代理伺服器來接受網際網路上 的連接請求,然後將請求轉發給WEB伺服器,並將從WEB伺服器上得到的結果返回給 網際網路上請求連接的客戶端,此時代理伺服器對網際網路提供服務,將WEB伺服器屏蔽。 反向代理伺服器如果發現本地有緩存的數據內容,並且未過期,就不再請求內部網絡的 WEB伺服器了,直接返回給用戶,節省了 WEB伺服器上代碼執行和生成頁面的時間, 因此可以看出反向代理方式存在以下兩個問題(1)如果增加代理伺服器來提高訪問效率,必然降低命中率,因為不同的代理服 務器緩存的數據在不同的WEB伺服器上,如果用戶的數據請求(如頁面數據請求)對於 每個WEB伺服器都為首次請求(也即每個WEB伺服器上都沒有該用戶所要請求的緩存 數據),那麼對於該用戶每次的同一個數據請求,該請求每次被隨機分配不同的WEB服 務器,這時每次不同的代理伺服器都需要調用內部網絡的WEB伺服器,從而降低WEB 伺服器的命中率。(2)可緩存的數據量無法通過增加代理伺服器來擴展,因為任何一個數據請求都 可能訪問到任何一臺代理伺服器,增加可緩存的數據量就需要對每臺代理伺服器增加存 儲量,這樣就會大大提高了運營的成本,從而使其擴展性比較差。

發明內容
本發明的實施例旨在提供一種過濾式緩存方法及裝置,以解決現有技術緩存數 據命中率低和擴展性差的問題。為實現上述目的,本發明的實施例提供一種過濾式緩存方法,包括下述步驟Si:根據用戶請求,獲取用戶請求中的key;S2根據所述key,選擇與該用戶請求相應的緩存伺服器;
S3從所述選擇的緩存伺服器中查 詢該用戶請求的數據,將查找到的數據直接 返回給該用戶。根據本發明的一個實施例,所述過濾式緩存方法還包括S4若在所述選擇的緩存伺服器中查找不到該用戶請求的數據,則執行業務邏 輯從資料庫中查詢該用戶請求的數據;S5根據從資料庫中查找到的數據的key,將該查找到的數據緩存到所述選擇 的緩存伺服器中,並將該數據返回給用戶。
根據本發明的一個實施例,所述步驟Sl中所述key為用戶請求中的網頁地址。根據本發明的一個實施例,所述步驟S2具體為對所述key進行哈希編碼,將 生成的哈希碼模除緩存伺服器的數量,所獲得餘數為所述與該用戶請求相應的緩存服務 器的索引號。相應於本發明的過濾式緩存方法,本發明還提供一種過濾式緩存裝置,包括key獲取模塊,用於根據用戶請求,獲取用戶請求中的key;伺服器選擇模塊,用於根據所述key,選擇與該用戶請求相應的緩存伺服器;查詢模塊,用於從所述選擇的緩存伺服器中查詢該用戶請求的數據,將查找到 的數據直接返回給該用戶。根據本發明的一個實施例,所述過濾式緩存裝置還包括業務邏輯執行模塊,用於在所述選擇的緩存伺服器中查找不到該用戶請求的數 據時,從資料庫中查詢該用戶請求的數據;緩存模塊,用於根據從資料庫中查找到的數據的key,將該查找到的數據緩存到 所述選擇的緩存伺服器中,並將該數據返回給用戶。為了實現上述過濾式緩存方法,本發明還提供一種緩存系統,包括至少一個 WEB伺服器和至少一個緩存伺服器;其中每個WEB伺服器,直接接收用戶的請求,並根據該用戶請求從至少一個緩 存伺服器中選中一個緩存伺服器進行數據的緩存和查詢;其中每個緩存伺服器相應於用戶請求的key來緩存該用戶所請求的數據。根據本發明的一個實施例,所述緩存系統還包括資料庫,其中所述每個WEB服 務器根據用戶請求,從該資料庫中查找該用戶請求的數據,並將該數據緩存到所述選擇 的緩存伺服器中。由上述技術方案可知,本發明的實施例由於取消了代理伺服器,直接由WEB服 務器直接進行數據的緩存和查詢,通過針對用戶請求,選中一個緩存伺服器,直接在緩 存伺服器中進行查詢和緩存數據,能夠提高緩存命中率,並且由於緩存伺服器和WEB服 務器分離,可以通過增加緩存伺服器的數量來擴展緩存容量,提高了容量的擴展性,並 降低了運營成本。


圖1為反向代理方式的系統結構示意圖;圖2為本發明的一種實施例的緩存系統結構示意圖;圖3為本發明的過濾式查詢方法的流程圖;圖4為本發明的過濾式查詢方法的一種實施例的流程圖;圖5本發明的過濾式查詢裝置 的結構示意圖。
具體實施例方式下面將詳細描述本發明的具體實施例。應當注意,這裡描述的實施例只用於舉 例說明,並不用於限制本發明。
本發明的主要構思在於取消反向代理方式中的代理伺服器,直接將WEB伺服器面向用戶,通過在WEB伺服器中增加過濾功能,根據用戶的請求來選擇WEB伺服器後 端的緩存伺服器,從而避免了由於反向代理方式所帶來的命中率低和擴展性差的問題。 下面將結合附圖詳細說明本發明的技術方案。首先,參考圖2,顯示了本發明的過濾式緩存系統的結構圖,該系統包括至少一 個WEB伺服器和至少一個緩存伺服器,其中在WEB伺服器中設置有過濾器,該過濾器 用來根據用戶的請求在所述至少一個緩存伺服器進行選擇,這樣可以針對用戶請求只需 要選擇其相應的緩存伺服器就可實現數據的緩存或對緩存數據的查詢過程。結合圖2所示的過濾式緩存系統的結構,並參考圖3,詳細介紹本發明的過濾式 緩存方法,該方法包括以下步驟Sl 根據用戶請求,選擇用戶請求中的key ;S2根據所述key,選擇與該用戶請求相應的緩存伺服器;S3從所述選擇的緩存伺服器中查詢該用戶請求的數據,將查找到的數據直接 返回給該用戶。根據本發明的一個實施例,其中在步驟Sl中,至少一個WEB伺服器中的一個 WEB伺服器接收到用戶的連接請求,比如說請求獲取某個頁面內容,這時,可以將連接 請求中的頁面地址(如資源定位符URL)作為key ;根據本發明的一個實施例,其中在步驟S2中,可以對所述key作哈希編碼,然 後將所述key的hash code(哈希碼)模除所有緩存伺服器的數量,所得到的餘數即為針對 某用戶請求選中的緩存伺服器的索引,從而可以根據該索引選擇與該用戶請求相應的緩 存伺服器,針對性的根據用戶請求進行緩存服務,從而提高了緩存的命中率。根據本發明的一個實施例,其中在步驟S3中,在所獲取到的緩存伺服器中查詢 用戶請求的數據時,可以根據key來進行查詢,這是由於在緩存伺服器中緩存數據時,可 以以key作為索引號對數據進行緩存。在步驟S3中如果查找到用戶請求的數據,則表明 該用戶請求應不是首次請求,所請求的數據(比如說頁面內容)已經緩存在緩存伺服器中 了,可以直接查找到,在查到後,直接將查找到的數據返回給用戶。根據本發明的一個實施例,在緩存伺服器中查找不到用戶請求的數據時,例如 當該用戶為首次請求時,可以由WEB伺服器執行業務邏輯(主要是訪問數據的邏輯), 從後臺的資料庫中查詢該用戶所要請求的數據(比如頁面內容),然後將查找到的數據 (如頁面內容)中返回給用戶請求並存入該用戶請求選擇的緩存伺服器中,以便於對於後 續的同一請求訪問,能夠直接通過緩存伺服器訪問數據。這裡,根據本發明的一個實施例,可以根據查找到的數據的key,將該數據緩存 到選擇的緩存伺服器中,比如將查找到的網頁地址URL作為key,將該頁面內容作為key 對應的value緩存到選擇的緩存伺服器中;在緩存到選擇的緩存伺服器時,將該數據輸出 給用戶。參考圖4,本發明的過濾式緩存方法的一個具體實施例如下1、WEB Server接收用戶(訪問查詢)請求;2、WEB Server的過濾器攔截住請求,取出請求的URL,將URL作為key作hash code,模除緩存伺服器的數量,得出餘數,即是選中緩存伺服器的index;
3、過濾器將URL作為key,從選中的緩存伺服器中查詢,如果找到,直接返回 給用戶;4、第3步如果找不到,將執行業務邏輯,業務邏輯查詢資料庫,並且以URL作 為key,輸出頁面內容作為value,寫入到選中的緩存伺服器,並輸出給用戶。本發明的緩存技術,通過將key做hashcode,然後模除伺服器數量,得到的餘數 就是將要緩存伺服器的序號(0開始),相同的key不會緩存到不同的兩臺伺服器),所以 提高了可擴展性,如果數據增加,只需要增加緩存伺服器即可,而不需要如反向代理方 式中通過對每臺代理伺服器增加相同容量的硬體。同一 key的數據在不同次的訪問中都 會緩存在同一緩存伺服器中,所以緩存命中率也有所提高,下面舉例說明如果緩存的 有效時間是1小時,每小時用戶訪問量是1000,有100臺伺服器,如果使用反向代理, 命中率=(1000-100)/1000 = 90%,如果使用本緩存策略,緩存命中率=(1000-1)/1000 =99.9%,每個頁面每小時減少了 99次資料庫訪問,不僅降低了資料庫壓力,並且提高 了平均訪問效率。根據本發明的一個實施例,本發明的過濾式緩存方法可通過相應的過濾式緩存 裝置來實現,參照圖5,該過濾式緩存裝置包括key獲取模塊,用於根據用戶請求,獲取用戶請求中的key;伺服器選中模塊,用於根據所述key,獲取與該用戶請求相應的緩存伺服器;查詢模塊,用於從所述獲取到的緩存伺服器中查詢該用戶請求的數據,將查找 到的數據直接返回給該用戶。其中,所述裝置還包括業務邏輯執行模塊,用於在所述獲取到的緩存伺服器中查找不到該用戶請求的 數據時,執行業務邏輯從資料庫中查詢該用戶請求的數據;緩存模塊,用於根據從數據 庫中查找到的數據的key,將該查找到的數據緩存到 所述獲取到的緩存伺服器中,並將該數據返回給用戶。雖然已參照幾個典型實施例描述了本發明,但應當理解,所用的術語是說明和 示例性、而非限制性的術語。由於本發明能夠以多種形式具體實施而不脫離發明的精神 或實質,所以應當理解,上述實施例不限於任何前述的細節,而應在隨附權利要求所限 定的精神和範圍內廣泛地解釋,因此落入權利要求或其等效範圍內的全部變化和改型都 應為隨附權利要求所涵蓋。
權利要求
1.一種過濾式緩存方法,包括下述步驟 Si:根據用戶請求,獲取用戶請求中的key;S2根據所述key,選擇與該用戶請求相應的緩存伺服器;S3從所述選擇的緩存伺服器中查詢該用戶請求的數據,將查找到的數據直接返回 給該用戶。
2.根據權利要求1所述的方法,所述方法還包括S4 若在所述選擇的緩存伺服器中查找不到該用戶請求的數據,則從資料庫中查詢 該用戶請求的數據;S5根據從資料庫中查找到的數據的key,將該查找到的數據以及所述key緩存到所 述選擇的緩存伺服器中,並將該數據返回給用戶。
3.根據權利要求1所述的方法,所述步驟Sl中所述key為用戶請求中的網頁地址。
4.根據權利要求1所述的方法,所述步驟S2具體為對所述key進行哈希編碼,將 生成的哈希碼模除緩存伺服器的數量,所獲得餘數為所述與該用戶請求相應的緩存服務 器的索引號。
5.—種過濾式緩存裝置,包括key獲取模塊,用於根據用戶請求,獲取用戶請求中的key; 伺服器選擇模塊,用於根據所述key,選擇與該用戶請求相應的緩存伺服器; 查詢模塊,用於從所述選擇的緩存伺服器中查詢該用戶請求的數據,將查找到的數 據直接返回給該用戶。
6.根據權利要求5所述的裝置,所述裝置還包括業務邏輯執行模塊,用於在所述獲取到的緩存伺服器中查找不到該用戶請求的數據 時,從資料庫中查詢該用戶請求的數據;緩存模塊,用於根據從資料庫中查找到的數據的key,將該查找到的數據緩存到所述 選擇的緩存伺服器中,並將該數據返回給用戶。
7.—種緩存系統,包括至少一個WEB伺服器和至少一個緩存伺服器;其中每個WEB伺服器直接接收用戶請求,並根據該用戶請求從所述至少一個緩存服 務器中選擇一個緩存伺服器進行數據的緩存和查詢;其中每個緩存伺服器相應於用戶請求的key來緩存該用戶所請求的數據。
8.根據權利要求7所述的緩存系統,還包括資料庫,其中所述每個WEB伺服器根據 用戶請求,從該資料庫中查找該用戶請求的數據,並將該數據緩存到所述選擇的緩存服 務器中。
全文摘要
本發明公開了一種過濾式緩存方法及其裝置、緩存系統,其中過濾式緩存方法為根據用戶請求,獲取用戶請求中的key;S2根據所述key,選擇與該用戶請求相應的緩存伺服器;S3從所述選擇的緩存伺服器中查詢該用戶請求的數據,將查找到的數據直接返回給該用戶。本發明的過濾式緩存方法能夠提高緩存數據命中率,並提高了緩存的擴展性。
文檔編號G06F17/30GK102012931SQ201010569449
公開日2011年4月13日 申請日期2010年12月1日 優先權日2010年12月1日
發明者王紅寶 申請人:北京瑞信在線系統技術有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀