新四季網

Web緩存置換方法及裝置、http代理伺服器的製造方法

2023-06-08 22:04:06 2

Web緩存置換方法及裝置、http代理伺服器的製造方法
【專利摘要】本發明公開了一種WEB緩存置換方法及裝置、HTTP代理伺服器,用以解決現有的WEB緩存置換技術中存在刪除操作的效率低下、降低緩存性能的問題。在本發明實施例中,HTTP代理伺服器將緩存空間劃分為至少兩個子空間,將文件按照時間順序依次存儲到緩存空間的子空間中,並且在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間,在子空間都存儲滿後,將最先存儲滿的子空間的全部文件刪除掉,能夠在保證緩存命中率的情況下實現批量刪除文件,能夠顯著提高WEB緩存置換的刪除操作的效率,對緩存性能的降低影響較小,從而能夠解決現有的WEB緩存置換技術中所存在的刪除操作的效率低下、降低緩存性能的問題。
【專利說明】 WEB緩存置換方法及裝置、HTTP代理伺服器
【技術領域】
[0001]本發明涉及網絡通信系統,具體地,涉及一種WEB緩存置換方法及裝置、超文本傳輸協議(HTTP, Hyper Text Transfer Protocol)代理伺服器。
【背景技術】
[0002]普通的HTTP訪問過程是一個典型的客戶機與伺服器模型,如圖1所示,用戶利用計算機上的客戶端程序例如瀏覽器發出請求,遠端WEB伺服器程序響應請求並提供相應的數據,HTTP代理伺服器處於客戶機與WEB伺服器之間,進行請求和數據的轉發,對於WEB伺服器來說,HTTP代理伺服器是客戶機,HTTP代理伺服器將來自客戶機的請求轉發給WEB伺服器,WEB伺服器響應該請求;對於客戶機來說,HTTP代理伺服器是WEB伺服器,它接受客戶機的請求,並將WEB伺服器上傳來的數據轉給客戶機。
[0003]WEB緩存是一種HTTP應用加速技術,HTTP代理伺服器將客戶機訪問的可以緩存的內容存儲下來,這樣其他用戶再次訪問相同內容時,HTTP代理伺服器就可以將所存儲的內容發送給所請求的客戶機,不用跨廣域網(WAN, Wide Area Network)向伺服器去獲取,大大縮短了頁面訪問的時間,達到加速的效果。
[0004]當HTTP代理伺服器中存儲的內容達到空間上限時,需要替換掉舊的內容,填充新內容,以完成內容的更替,也即緩存置換。
[0005]緩存內容被置換掉,理論上是會對緩存命中率產生影響,緩存命中率=緩存命中的數量/客戶端請求數量,該指標體現WEB緩存對減少HTTP代理伺服器負載的貢獻程度。緩存命中率越高,說明對WEB伺服器的請求越少,緩存的貢獻程度越大。根據網上的使用經驗,一般緩存命中率能在30%?60%之間。
[0006]目前,有多種緩存置換的方法,例如:最近最少使用(LRU, Least Recently Used)算法、最近訪問頻率最少(LFU, Least Frequently Used)算法等等。這些算法都確保所刪除置換掉的內容不是當前的熱點內容即請求較多的內容。
[0007]但是,在這些算法中,在具體刪除掉操作中,均是根據算法所維護的文件信息,在存儲器中定位待刪除的文件,再逐個刪除待刪除的文件,也即刪除操作是逐一刪除的方法,這樣就造成刪除操作的效率即為低下,較為顯著地降低了緩存的性能,根據工程實踐的證明,在刪除操作的過程中,緩存的吞吐性能會下降30%?50%。
[0008]可見,現有的WEB緩存置換技術中存在刪除操作的效率低下、降低緩存性能的問題。

【發明內容】

[0009]有鑑於此,本發明實施例提供了一種WEB緩存置換方法及裝置、HTTP代理伺服器,用以解決現有的WEB緩存置換技術中存在刪除操作的效率低下、降低緩存性能的問題。
[0010]本發明實施例技術方案如下:
[0011]一種WEB緩存置換方法,包括:HTTP代理伺服器將緩存空間劃分為至少兩個子空間,每個子空間包括Ni個目錄,其中,N為預定的N進位計數的基數,i為預定的大於或等於2的自然數,並對每個子空間中的目錄進行N進位的順序編號;對待緩存的文件按照預定的命名規則對該文件的統一資源定位符(URL, Uniform Resource Locator)地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名;在待緩存的文件的文件名中確定預定數位起的i個數位的數值,在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中;並且,在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間;在全部的子空間都存儲滿後,將最先存儲滿的子空間中的文件刪除掉。
[0012]其中,根據如下公式確定所述子空間的數量為:T=D/XY,其中,T為子空間的數量,X為預定的子空間佔緩存空間容量的最大比率,Y為預定的文件存儲天數,D為預定的緩存空間中的全部文件置換一次的天數;D=S/ (M*L* (U - V)),其中,S為緩存空間的容量,M為WEB客戶機的數量,L為每個WEB客戶機每天的訪問流量,U為預定的向WEB伺服器請求訪問的流量中可被緩存的流量的比率,V為預定的緩存命中率。
[0013]具體地,將緩存空間劃分為至少兩個子空間,具體包括:將緩存空間平均劃分為至少兩個子空間;或者,按照預定的子空間之間的容量比例將緩存空間劃分為至少兩個子空間;其中,預定的子空間之間的容量比例中包括預定的子空間佔緩存空間容量的最大比率,貝U,當前子空間為當前存儲容量最小的子空間。
[0014]具體地,對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,具體包括:在N為十六進位的基數的情況下,對待緩存的文件的URL地址進行MD5校驗,得到十六進位文件名;或者,在N為二進位的基數的情況下,對待緩存的文件的URL地址的每個字符轉換為二進位的美國新型交互標準碼(ASCII, American Standard Code forInformation Interchange),得到二進位文件名。
[0015]優選地,所述方法還包括:將每個子空間劃分為兩級子目錄,一級子目錄包括N個目錄,每個一級目錄包括NH個二級目錄,其中,j為小於i的自然數;則,
[0016]在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中,具體包括:在當前子空間的一級目錄中確定目錄編號為與所述i個數位的第一位至第j位的數值相同的一級目錄,在所確定的一級目錄的二級目錄中確定目錄編號為與所述i個數位的第j+Ι位至第i位的數值相同的二級目錄;將所述待緩存的文件存儲到所確定的二級目錄中。
[0017]一種WEB緩存置換裝置,包括:緩存劃分模塊,用於將緩存空間劃分為至少兩個子空間,每個子空間包括Ni個目錄,其中,N為預定的N進位計數的基數,i為預定的大於或等於2的自然數,並對每個子空間中的目錄進行N進位的順序編號;轉換命名模塊,用於對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名;存儲模塊,用於在待緩存的文件的文件名中確定預定數位起的i個數位的數值,在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中;並且,在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間;置換刪除模塊,用於在全部的子空間都存儲滿後,將最先存儲滿的子空間中的文件刪除掉。
[0018]其中,緩存劃分模塊將緩存空間劃分為至少兩個子空間,具體用於:根據如下公式進行確定子空間的數量:T=D/XY,其中,T為子空間的數量,X為預定的子空間佔緩存空間容量的最大比率,Y為預定的文件存儲天數,D為預定的緩存空間中的全部文件置換一次的天數;D=S/ (M*L* (U - V)),其中,S為緩存空間的容量,M為WEB客戶機的數量,L為每個WEB客戶機每天的訪問流量,U為預定的向WEB伺服器請求訪問的流量中可被緩存的流量的比率,V為預定的緩存命中率。
[0019]具體地,緩存劃分模塊將緩存空間劃分為至少兩個子空間,具體用於:將緩存空間平均劃分為至少兩個子空間;或者,按照預定的子空間之間的容量比例將緩存空間劃分為至少兩個子空間;其中,預定的子空間之間的容量比例中包括預定的子空間佔緩存空間容量的最大比率,則,當前子空間為當前存儲容量最小的子空間。
[0020]具體地,轉換命名模塊,對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,具體用於:在N為十六進位的基數的情況下,對待緩存的文件的URL地址進行MD5校驗,得到十六進位文件名;或者,在N為二進位的基數的情況下,對待緩存的文件的URL地址的每個字符轉換為二進位的ASCII碼,得到二進位文件名。
[0021]優選地,緩存劃分模塊還用於:將每個子空間劃分為兩級子目錄,一級子目錄包括N個目錄,每個一級目錄包括NH個二級目錄,其中,j為小於i的自然數;則,存儲模塊在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中,具體用於:在當前子空間的一級目錄中確定目錄編號為與所述i個數位的第一位至第j位的數值相同的一級目錄,在所確定的一級目錄的二級目錄中確定目錄編號為與所述i個數位的第j+Ι位至第i位的數值相同的二級目錄;將所述待緩存的文件存儲到所確定的二級目錄中。
[0022]一種HTTP代理伺服器,包括如上所述的WEB緩存置換裝置。
[0023]根據本發明實施例的技術方案,HTTP代理伺服器將緩存空間劃分為至少兩個子空間,每個子空間包括Ni個目錄,其中,N為預定的N進位計數的基數,i為預定的大於或等於2的自然數,並對每個子空間中的目錄進行N進位的順序編號;對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名;在待緩存的文件的文件名中確定預定數位起的i個數位的數值,在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中;並且,在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間;在全部的子空間都存儲滿後,將最先存儲滿的子空間中的文件刪除掉;也即,將文件按照時間順序依次存儲到緩存空間的子空間中,並且在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間,在子空間都存儲滿後,將最先存儲滿的子空間的全部文件刪除掉,由於最先存儲滿的子空間中的文件被請求獲取的可能性較小,從而能夠在保證緩存命中率的情況下實現批量刪除文件,相比於現有技術中通過逐一定位和逐一刪除待刪除的文件的方式來實現WEB緩存置換的刪除操作,能夠顯著提高WEB緩存置換的刪除操作的效率,對緩存性能的降低影響較小,從而能夠解決現有的WEB緩存置換技術中所存在的刪除操作的效率低下、降低緩存性能的問題。
[0024]並且,將緩存空間的每個子空間劃分為Ni個目錄,對待緩存的文件的URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名,將待緩存的文件根據文件名和子空間的目錄編號進行對應存儲,由於URL地址中的字符具有隨機性,轉換命名得到文件名中的字符也相應地具有隨機性,從而在對應存儲後,子空間中的文件存儲狀態呈離散分布狀態,有利於作業系統快速定位文件,並且,隨著存儲的文件的數量增多,作業系統定位文件的速度也不會有明顯下降。
[0025]本發明的其它特徵和優點將在隨後的說明書中闡述,並且,部分地從說明書中變得顯而易見,或者通過實施本發明而了解。本發明的目的和其他優點可通過在所寫的說明書、權利要求書、以及附圖中所特別指出的結構來實現和獲得。
【專利附圖】

【附圖說明】
[0026]圖1為HTTP訪問過程的模型示意圖;
[0027]圖2為本發明實施例提供的WEB緩存置換方法的工作流程圖;
[0028]圖3為本發明實施例提供的WEB緩存置換裝置的結構框圖。
【具體實施方式】
[0029]以下結合附圖對本發明的實施例進行說明,應當理解,此處所描述的實施例僅用於說明和解釋本發明,並不用於限定本發明。
[0030]針對現有的WEB緩存置換技術中所存在的刪除操作的效率低下、降低緩存性能的問題,本發明實施例提供了一種WEB緩存置換的方法及裝置、HTTP,代理伺服器,用以解決該問題。
[0031]在本發明實施例的技術方案提出了兩種存儲機制和一種刪除機制,兩種存儲機制包括緩存分區存儲和名稱對應存儲,刪除機制為批量刪除機制。
[0032]分區存儲機制包括:將緩存空間劃分為至少兩個子空間,將文件按照時間順序依次存儲到緩存空間的子空間中,並且在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間;名稱對應存儲機制包括:將緩存空間的每個子空間劃分為Ni個目錄,對待緩存的文件的URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名,將待緩存的文件根據文件名和子空間的目錄編號進行對應存儲;批量刪除機制包括:在子空間都存儲滿後,將最先存儲滿的子空間的全部文件刪除掉。
[0033]通過分區存儲機制和批量刪除機制,最先存儲滿的子空間中的文件被請求獲取的可能性較小,從而能夠在保證緩存命中率的情況下實現批量刪除文件,相比於現有技術中通過逐一定位和逐一刪除待刪除的文件的方式來實現WEB緩存置換的刪除操作,能夠顯著提高WEB緩存置換的刪除操作的效率,對緩存性能的降低影響較小,從而能夠解決現有的WEB緩存置換技術中所存在的刪除操作的效率低下、降低緩存性能的問題。
[0034]通過名稱對應存儲機制,由於URL地址中的字符具有隨機性,轉換命名得到文件名中的字符也相應地具有隨機性,從而在對應存儲後,子空間中的文件存儲狀態呈離散分布狀態,有利於作業系統快速定位文件,並且,隨著存儲的文件的數量增多,作業系統定位文件的速度也不會有明顯下降。
[0035]下面對本發明實施例的技術方案進行詳細說明。
[0036]圖2示出了本發明實施例提供的WEB緩存置換方法的工作流程圖,該方法包括:
[0037]步驟201、HTTP代理伺服器將緩存空間劃分為至少兩個子空間,每個子空間包括Ni個目錄,其中,N為預定的N進位計數的基數,i為預定的大於或等於2的自然數,並對每個子空間中的目錄進行N進位的順序編號;
[0038]下面具體描述本發明實施例提供的緩存分區存儲機制:
[0039](I)、具體地,子空間的數量可以根據如下公式進行確定:
[0040]T=D/XY,其中,T為子空間的數量,X為預定的子空間佔緩存空間容量的最大比率,Y為預定的文件存儲天數,D為預定的緩存空間中的全部文件置換一次的天數;D=S/ (M*L*(U 一 V)),其中,S為緩存空間的容量,M為WEB客戶機的數量,L為每個WEB客戶機每天的訪問流量,U為預定的向WEB伺服器請求訪問的流量中可被緩存的流量的比率,V為預定的緩存命中率;其中,由於本發明實施例所提出的對緩存空間中的文件的刪除原則為批量刪除,則在具體應用中,對於預定的子空間佔緩存空間容量的最大比率X的設定,應當儘可能地保證緩存空間中所刪除的文件不會降低緩存命中率、也不會太頻繁地執行刪除操作、影響系統性能,例如,根據實際經驗,X可以設置為20% ;
[0041]例如,緩存空間的容量S為1T,WEB客戶機的數量M為500,每個WEB客戶機每天的訪問流量為50M,預定的向WEB伺服器請求訪問的流量中可被緩存的流量的比率U為60%,預定的緩存命中率V為30%,則,D=120天;預定的子空間佔緩存空間容量的最大比率X為20%,預定的文件存儲天數Y為30天,則,T=20 ;
[0042](2)、進一步地,將緩存空間劃分為至少兩個子空間的操作,可以通過至少以下兩種方式的其中之一實現:
[0043]方式一、將緩存空間平均劃分為至少兩個子空間,優選地,平均地劃分為T個子空間;
[0044]方式二、按照預定的子空間之間的容量比例將緩存空間劃分為至少兩個子空間,預定的子空間之間的容量比例中包括預定的子空間佔緩存空間容量的最大比率,例如,預定的子空間的容量比例為20%:20%:15%:15%:10%:10%:5%:5%,其中,20%為預定的子空間佔緩存空間容量的最大比率,則,根據該比例可以將緩存空間劃分為8個子空間;上面只是為了便於描述給出了一個子空間之間的容量比例的例子,在具體應用中,應當綜合考慮緩存命中率和系統性能,儘可能地保證緩存空間中所刪除的文件不會降低緩存命中率、也不會太頻繁地執行刪除操作、影響系統性能,從而綜合考慮設置子空間之間的容量比例;
[0045]根據上述方式一或方式二劃分存儲空間,由於規定了子空間佔緩存空間容量的最大比率,則,後期的步驟204中刪除最先存儲滿的子空間中的文件操作不會刪除超過緩存空間中超過該最大比率對應的容量的文件,使得緩存空間中保留緩存時間較晚的文件,該部分文件是WEB客戶機請求獲取的可能性較大的文件,從而不會降低緩存命中率,使得緩存命中率維持在較高水平上;
[0046](3)、設置每個子空間的所包括的Ni個目錄時,N和i的取值可以根據具體應用場景的需要而設定,例如,N為十六進位的基數,i為3,則,每個子空間中包括163=4096個目錄,如果N為二進位的基數,i為20,則每個子空間中包括22°=1048576個目錄;還可以根據具體場景的需要設置N和i為其它取值;
[0047]步驟202、對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名;
[0048]其中,預定的命名規則可以根據具體應用場景的需要而設定,例如,可以根據以下兩種方式的其中之一來進行轉換命名:[0049]方式一、在N為十六進位的基數的情況下,對待緩存的文件的URL地址進行MD5校驗,得到十六進位文件名,MD5校驗的結果為32位的十六進位數碼,也即轉換命名得到的文件名中包括至少i=3位的數碼;
[0050]方式二、在N為二進位的基數的情況下,對待緩存的文件的URL地址的每個字符轉換為ASCII碼,得到二進位文件名,通常URL地址的字符超過10個,且將每個ASCII碼字符包括8個二進位字符,則,每個轉換命名得到的文件名中包括至少i=20位的數碼;
[0051]可以理解的是,根據具體場景的需要,還可以通過其它的方式來實現對待緩存的文件的URL地址進行轉換命名;
[0052]步驟203、在待緩存的文件的文件名中確定預定數位起的i個數位的數值,在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中;並且,在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間;
[0053]下面具體描述本發明實施例提供的名稱對應存儲機制:
[0054]例如,在N為十六進位的基數的情況下,每個子空間中包括163=4096個目錄,在待緩存的文件的文件名中確定從左至右順序的第一位起的3個數位的數值,例如為A3F,則在當前子空間中確定編號為A3F的目錄,將待緩存的文件存儲到該目錄中;
[0055]又例如,在為二進位的基數的情況下,每個子空間中包括22°=1048576個目錄,在待緩存的文件的文件名中確定從右至左順序的第一位起的20個數位的數值,例如為11001011100010101001,則在當前子空間中確定編號為11001011100010101001的目錄,將待緩存的文件存儲到該目錄中;
[0056]在實際應用的過程中,可能會發生兩個文件轉換命名後的文件名一樣的情況,這樣可以將這兩個文件都存儲到同一個子目錄中;並且,在當前子空間存儲滿後再存儲另一子空間;
[0057]另一方面,根據上述步驟201中劃分子空間的方式不同,在將緩存空間平均劃分為至少兩個子空間的情況下,每個子空間的容量是相同的,則可以任選一個子空間為當前子空間,或者依次選擇一個子空間為當前子空間;在按照預定的子空間之間的容量比例將緩存空間劃分為至少兩個子空間的情況下,可以選擇當前存儲容量最小的子空間為當前子空間,這樣,在後續步驟204中每次刪除最先存儲滿的子空間的文件時,能夠在緩存空間中保留更多緩存時間較晚的文件,從而進一步提供緩存命中率;
[0058]步驟204、在全部的子空間都存儲滿後,將最先存儲滿的子空間中的文件刪除掉。
[0059]步驟204描述的即為本發明實施例提供的批量刪除機制。
[0060]通過上述處理過程,通過分區存儲機制和批量刪除機制,最先存儲滿的子空間中的文件被請求獲取的可能性較小,從而能夠在保證緩存命中率的情況下實現批量刪除文件,相比於現有技術中通過逐一定位和逐一刪除待刪除的文件的方式來實現WEB緩存置換的刪除操作,能夠顯著提高WEB緩存置換的刪除操作的效率,對緩存性能的降低影響較小,從而能夠解決現有的WEB緩存置換技術中所存在的刪除操作的效率低下、降低緩存性能的問題。
[0061]通過名稱對應存儲機制,由於URL地址中的字符具有隨機性,轉換命名得到文件名中的字符也相應地具有隨機性,從而在對應存儲後,子空間中的文件存儲狀態呈離散分布狀態,有利於作業系統快速定位文件,並且,隨著存儲的文件的數量增多,作業系統定位文件的速度也不會有明顯下降。
[0062]更進一步地,本發明實施例還對上述步驟201中在子空間中設置目錄的方法進行了改進,具體包括:
[0063]將每個子空間劃分為兩級子目錄,一級子目錄包括N個目錄,每個一級目錄包括NH個二級目錄,其中,j為小於i的自然數;
[0064]這樣就將每個子空間分成了二級目錄樹的結構,例如N為十六進位的基數、i=3的情況下,一級目錄中包括16個目錄,一級目錄編號為O?F,每個一級目錄中包括256個目錄,二級目錄的編號為00?FF ;
[0065]則,步驟203中,在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中,具體包括:
[0066]在當前子空間的一級目錄中確定目錄編號為與所述i個數位的第一位至第j位的數值相同的一級目錄,在所確定的一級目錄的二級目錄中確定目錄編號為與所述i個數位的第j+Ι位至第i位的數值相同的二級目錄;將所述待緩存的文件存儲到所確定的二級目錄中。
[0067]通過上述方式將子空間劃分為二級目錄樹的結構,能夠有利於作業系統更為快速地定位到文件。
[0068]基於相同的發明構思,本發明實施例還提供了 一種WEB緩存置換裝置,該裝置位於HTTP代理伺服器中。
[0069]圖3示出了本發明實施例提供的WEB緩存置換裝置的結構框圖,該裝置包括:
[0070]緩存劃分模塊31,用於將緩存空間劃分為至少兩個子空間,每個子空間包括Ni個目錄,其中,N為預定的N進位計數的基數,i為預定的大於或等於2的自然數,並對每個子空間中的目錄進行N進位的順序編號;
[0071]具體地,緩存劃分模塊31根據如下公式進行確定子空間的數量:T=D/XY,其中,T為子空間的數量,X為預定的子空間佔緩存空間容量的最大比率,Y為預定的文件存儲天數,D為預定的緩存空間中的全部文件置換一次的天數;D=S/ (M*L* (U - V)),其中,S為緩存空間的容量,M為WEB客戶機的數量,L為每個WEB客戶機每天的訪問流量,U為預定的向WEB伺服器請求訪問的流量中可被緩存的流量的比率,V為預定的緩存命中率;
[0072]緩存劃分模塊31將緩存空間劃分為至少兩個子空間,具體用於:將緩存空間平均劃分為至少兩個子空間;或者,按照預定的子空間之間的容量比例將緩存空間劃分為至少兩個子空間;其中,預定的子空間之間的容量比例中包括預定的子空間佔緩存空間容量的最大比率,則,當前子空間為當前存儲容量最小的子空間;
[0073]轉換命名模塊32,用於對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名;
[0074]轉換命名模塊32,對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,具體用於:在N為十六進位的基數的情況下,對待緩存的文件的URL地址進行MD5校驗,得到十六進位文件名;或者,在N為二進位的基數的情況下,對待緩存的文件的URL地址的每個字符轉換為二進位的ASCII碼,得到二進位文件名;
[0075]存儲模塊33,連接至緩存劃分模塊31和轉換命名模塊32,用於在轉換命名模塊32轉換得到的待緩存的文件的文件名中確定預定數位起的i個數位的數值,在緩存劃分模塊31劃分得到的當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中;並且,在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間;
[0076]置換刪除模塊34,連接至存儲模塊33,用於在存儲模塊33將全部的子空間都存儲滿後,將最先存儲滿的子空間中的文件刪除掉。
[0077]優選地,緩存劃分模塊31還用於:將每個子空間劃分為兩級子目錄,一級子目錄包括N個目錄,每個一級目錄包括P個二級目錄,其中,j為小於i的自然數;則,
[0078]存儲模塊33在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中,具體用於:在當前子空間的一級目錄中確定目錄編號為與所述i個數位的第一位至第j位的數值相同的一級目錄,在所確定的一級目錄的二級目錄中確定目錄編號為與所述i個數位的第j+Ι位至第i位的數值相同的二級目錄;將所述待緩存的文件存儲到所確定的二級目錄中。
[0079]通過圖3所示的裝置,將文件按照時間順序依次存儲到緩存空間的子空間中,並且在一個子空間存儲完後再將待存儲的文件存儲另一個子空間,在子空間都存儲滿後,將最先存儲滿的子空間的全部文件刪除掉,由於最先存儲滿的子空間中的文件被請求獲取的可能性較小,從而能夠在保證緩存命中率的情況下實現批量刪除文件,相比於現有技術中通過逐一定位和逐一刪除待刪除的文件的方式來實現WEB緩存置換的刪除操作,能夠顯著提高WEB緩存置換的刪除操作的效率,對緩存性能的降低影響較小,從而能夠解決現有的WEB緩存置換技術中所存在的刪除操作的效率低下、降低緩存性能的問題。
[0080]並且,將緩存空間的每個子空間劃分為Ni個目錄,對待緩存的文件的URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名,將待緩存的文件根據文件名和子空間的目錄編號進行對應存儲,由於URL地址中的字符具有隨機性,轉換命名得到文件名中的字符也相應地具有隨機性,從而在對應存儲後,子空間中的文件存儲狀態呈離散分布狀態,有利於作業系統快速定位文件,並且,隨著存儲的文件的數量增多,作業系統定位文件的速度也不會有明顯下降。
[0081 ] 基於相同的發明構思,本發明實施例還提供了 一種HTTP代理伺服器,該HTTP代理伺服器包括如圖3所示的WEB緩存置換裝置。
[0082]綜上所述,通過本發明實施例提供的分區存儲機制和批量刪除機制,最先存儲滿的子空間中的文件被請求獲取的可能性較小,從而能夠在保證緩存命中率的情況下實現批量刪除文件,相比於現有技術中通過逐一定位和逐一刪除待刪除的文件的方式來實現WEB緩存置換的刪除操作,能夠顯著提高WEB緩存置換的刪除操作的效率,對緩存性能的降低影響較小,從而能夠解決現有的WEB緩存置換技術中所存在的刪除操作的效率低下、降低緩存性能的問題。
[0083]根據本發明實施例提供的名稱對應存儲機制,由於URL地址中的字符具有隨機性,轉換命名得到文件名中的字符也相應地具有隨機性,從而在對應存儲後,子空間中的文件存儲狀態呈離散分布狀態,有利於作業系統快速定位文件,並且,隨著存儲的文件的數量增多,作業系統定位文件的速度也不會有明顯下降。
[0084]本領域普通技術人員可以理解實現上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關的硬體完成,所述的程序可以存儲於一種計算機可讀存儲介質中,該程序在執行時,包括方法實施例的步驟之一或其組合。
[0085]另外,在本發明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。所述集成的模塊如果以軟體功能模塊的形式實現並作為獨立的產品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質中。
[0086]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器和光學存儲器等)上實施的電腦程式產品的形式。
[0087]本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0088]這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0089]這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0090]顯然,本領域的技術人員可以對本發明進行各種改動和變型而不脫離本發明的精神和範圍。這樣,倘若本發明的這些修改和變型屬於本發明權利要求及其等同技術的範圍之內,則本發明也意圖包含這些改動和變型在內。
【權利要求】
1.一種WEB緩存置換方法,其特徵在於,包括: 超文本傳輸協議HTTP代理伺服器將緩存空間劃分為至少兩個子空間,每個子空間包括Ni個目錄,其中,N為預定的N進位計數的基數,i為預定的大於或等於2的自然數,並對每個子空間中的目錄進行N進位的順序編號; 對待緩存的文件按照預定的命名規則對該文件的統一定位符URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名; 在待緩存的文件的文件名中確定預定數位起的i個數位的數值,在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中;並且,在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間; 在全部的子空間都存儲滿後,將最先存儲滿的子空間中的文件刪除掉。
2.根據權利要求1所述的方法,其特徵在於,根據如下公式確定所述子空間的數量為: T=D/XY,其中,T為子空間的數量,X為預定的子空間佔緩存空間容量的最大比率,Y為預定的文件存儲天數,D為預定的緩存空間中的全部文件置換一次的天數; D=S/ (M*L* (U — V)),其中,S為緩存空間的容量,M為WEB客戶機的數量,L為每個WEB客戶機每天的訪問流量,U為預定的向WEB伺服器請求訪問的流量中可被緩存的流量的比率,V為預定的緩存命中率。
3.根據權利要求1或2所述的方法,其特徵在於,將緩存空間劃分為至少兩個子空間,具體包括:. 將緩存空間平均劃分為至少兩個子空間;或者, 按照預定的子空間之間的容量比例將緩存空間劃分為至少兩個子空間;其中,預定的子空間之間的容量比例中包括預定的子空間佔緩存空間容量的最大比率,則,當前子空間為當前存儲容量最小的子空間。
4.根據權利要求1所述的方法,其特徵在於,對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,具體包括: 在N為十六進位的基數的情況下,對待緩存的文件的URL地址進行MD5校驗,得到十六進位文件名;或者, 在N為二進位的基數的情況下,對待緩存的文件的URL地址的每個字符轉換為二進位的ASCII碼,得到二進位文件名。
5.根據權利要求1所述的方法,其特徵在於,所述方法還包括: 將每個子空間劃分為兩級子目錄,一級子目錄包括N個目錄,每個一級目錄包括NH個二級目錄,其中,j為小於i的自然數;則, 在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中,具體包括: 在當前子空間的一級目錄中確定目錄編號為與所述i個數位的第一位至第j位的數值相同的一級目錄,在所確定的一級目錄的二級目錄中確定目錄編號為與所述i個數位的第j+Ι位至第i位的數值相同的二級目錄; 將所述待緩存的文件存儲到所確定的二級目錄中。
6.一種WEB緩存置換裝置,其特徵在於,包括: 緩存劃分模塊,用於將緩存空間劃分為至少兩個子空間,每個子空間包括Ni個目錄,其中,N為預定的N進位計數的基數,i為預定的大於或等於2的自然數,並對每個子空間中的目錄進行N進位的順序編號; 轉換命名模塊,用於對待緩存的文件按照預定的命名規則對該文件的統一定位符URL地址進行轉換命名,得到所述預定的N進位的至少包括i位的文件名; 存儲模塊,用於在待緩存的文件的文件名中確定預定數位起的i個數位的數值,在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中;並且,在當前子空間不具備空閒存儲空間後將另一子空間作為新的當前子空間; 置換刪除模塊,用於在全部的子空間都存儲滿後,將最先存儲滿的子空間中的文件刪除掉。
7.根據權利要求6所述的裝置,其特徵在於,緩存劃分模塊將緩存空間劃分為至少兩個子空間,具體用於: 根據如下公式進行確定子空間的數量:T=D/XY,其中,T為子空間的數量,X為預定的子空間佔緩存空間容量的最大比率,Y為預定的文件存儲天數,D為預定的緩存空間中的全部文件置換一次的天數; D=S/ (M*L* (U — V)),其中,S為緩存空間的容量,M為WEB客戶機的數量,L為每個WEB客戶機每天的訪問流量,U為預定的向WEB伺服器請求訪問的流量中可被緩存的流量的比率,V為預定的緩存命中率。
8.根據權利要求6或7所述的裝置,其特徵在於,緩存劃分模塊將緩存空間劃分為至少兩個子空間,具體用於: 將緩存空間平均劃分為至少兩個子空間;或者, 按照預定的子空間之間的容量比例將緩存空間劃分為至少兩個子空間;其中,預定的子空間之間的容量比例中包括預定的子空間佔緩存空間容量的最大比率,則,當前子空間為當前存儲容量最小的子空間。
9.根據權利要求6所述的裝置,其特徵在於,轉換命名模塊,對待緩存的文件按照預定的命名規則對該文件的URL地址進行轉換命名,具體用於: 在N為十六進位的基數的情況下,對待緩存的文件的URL地址進行MD5校驗,得到十六進位文件名;或者, 在N為二進位的基數的情況下,對待緩存的文件的URL地址的每個字符轉換為二進位的ASCII碼,得到二進位文件名。
10.根據權利要求6所述的裝置,其特徵在於,緩存劃分模塊還用於:將每個子空間劃分為兩級子目錄,一級子目錄包括N個目錄,每個一級目錄包括NH個二級目錄,其中,j為小於i的自然數;則, 存儲模塊在當前子空間中確定目錄編號與所述i個數位的數值相同的目錄,將該待緩存的文件存儲到所確定的目錄中,具體用於:在當前子空間的一級目錄中確定目錄編號為與所述i個數位的第一位至第j位的數值相同的一級目錄,在所確定的一級目錄的二級目錄中確定目錄編號為與所述i個數位的第j+Ι位至第i位的數值相同的二級目錄; 將所述待緩存的文件存儲到所確定的二級目錄中。
11.一種超文本傳輸協議HTTP代理伺服器,其特徵在於,包括如權利要求6?10中任一項所述的WEB緩存置換裝.置。
【文檔編號】H04L29/06GK103442000SQ201310370226
【公開日】2013年12月11日 申請日期:2013年8月22日 優先權日:2013年8月22日
【發明者】陳晨星 申請人:北京星網銳捷網絡技術有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀