本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種緩存方法及裝置。
背景技術(shù):
內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)的工作原理是盡可能的避開網(wǎng)絡(luò)中有可能影響數(shù)據(jù)傳輸速度和穩(wěn)定性的瓶頸和環(huán)節(jié),使數(shù)據(jù)傳輸?shù)母?、更穩(wěn)定。CDN廣泛采用各種緩存服務(wù)器,將這些緩存服務(wù)器分布到用戶訪問相對(duì)集中的網(wǎng)絡(luò)中,當(dāng)用戶想要訪問服務(wù)器時(shí),CDN利用全局負(fù)載技術(shù)將用戶的訪問指向距離最近的CDN上,由緩存服務(wù)器直接響應(yīng)用戶請(qǐng)求。
CDN緩存服務(wù)器的數(shù)據(jù)緩存效率受網(wǎng)絡(luò)緩存技術(shù)的直接影響,CDN緩存服務(wù)器包含普通磁盤區(qū)和高速緩存區(qū),現(xiàn)有的緩存方法是根據(jù)用戶訪問文件的頻次,來判斷文件熱度,將訪問熱度低的文件進(jìn)行淘汰,將熱度高的文件放入高速緩存區(qū)。在用戶訪問的高峰期和非高峰期的緩存方法相同,然而CDN緩存服務(wù)器的高速緩存區(qū)空間大小固定,能接受緩存的文件數(shù)量有限,當(dāng)處于用戶訪問文件的高峰期,即文件被多次訪問時(shí),伴隨著高速緩存區(qū)不斷緩存文件,這給CDN緩存服務(wù)器帶來很大的緩存壓力,當(dāng)處于用戶訪問文件的非高峰期時(shí),文件訪問次數(shù)顯著降低,需要很長(zhǎng)一段時(shí)間才能緩存該文件,高速緩存區(qū)的利用率較低,影響緩存效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種緩存方法及裝置,減輕CDN緩存服務(wù)器的緩存壓力,提高高速緩存區(qū)的利用率,改善緩存效果。具體技術(shù)方案如下:
本發(fā)明實(shí)施例提供了一種緩存方法,包括:
接收用戶發(fā)送的訪問請(qǐng)求信息,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量;
在所述訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū);
計(jì)算所述高速緩存區(qū)的緩存空間變化率;
根據(jù)所述緩存空間變化率,更新所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,以使所述訪問請(qǐng)求信息的數(shù)量超過所述下一個(gè)更新閾值時(shí),將與所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至所述高速緩存區(qū)。
具體的,所述在所述訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū)之前,所述方法還包括:
接收用戶發(fā)送的訪問請(qǐng)求信息,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量;
在所述訪問請(qǐng)求信息的數(shù)量超過預(yù)設(shè)訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū);
計(jì)算所述高速緩存區(qū)的緩存空間變化率;
根據(jù)所述緩存空間變化率,更新所述預(yù)設(shè)訪問請(qǐng)求信息數(shù)量的閾值,得到所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值。
具體的,所述計(jì)算所述高速緩存區(qū)的緩存空間變化率,包括:
根據(jù)公式:INC=|(SIZE2-SIZE1)/TOTAL|,計(jì)算所述緩存空間變化率;其中,INC表示所述緩存空間變化率,SIZE1表示緩存所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件前緩存空間大小值,SIZE2表示緩存所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件后緩存空間大小值,TOTAL表示緩存空間總大小值。
具體的,所述根據(jù)所述緩存空間變化率更新所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,包括:
將所述緩存空間變化率分別與,預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值進(jìn)行比較,得到一個(gè)比較結(jié)果;
根據(jù)比較結(jié)果,得到下一個(gè)更新閾值。
具體的,所述根據(jù)比較結(jié)果得到下一個(gè)更新閾值,包括:
若所述比較結(jié)果為緩存空間變化率大于所述預(yù)設(shè)緩存空間變化率最大值,則判定所述緩存空間變化率增大,將所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值更新至N1=N0+(INC-MAX)/a;
若比較結(jié)果為所述緩存空間變化率小于所述預(yù)設(shè)緩存空間變化率最小值,則判定所述緩存空間變化率減小,將所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值更新至N1=N0-(MIN-INC)/b;
其中N1為下一個(gè)更新閾值,N0為所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,INC表示所述緩存空間變化率,MAX為所述預(yù)設(shè)緩存空間變化率最大值,MIN為所述預(yù)設(shè)緩存空間變化率最小值,a和b均為常數(shù)。
具體的,所述統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量,包括:
統(tǒng)計(jì)所述用戶的訪問請(qǐng)求信息中用戶的工號(hào)、用戶的IP地址、用戶的姓名中的至少一種的數(shù)量。
具體的,所述統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量,包括:
通過統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的頻次,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
本發(fā)明實(shí)施例還提供了一種緩存裝置,包括:
接收模塊,用于接收用戶發(fā)送的訪問請(qǐng)求信息,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量;
緩存模塊,用于在所述訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū);
計(jì)算模塊,用于計(jì)算所述高速緩存區(qū)的緩存空間變化率;
更新模塊,用于根據(jù)所述緩存空間變化率,更新所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,以使所述訪問請(qǐng)求信息的數(shù)量超過所述下一個(gè)更新閾值時(shí),將與所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至所述高速緩存區(qū)。
具體的,所述計(jì)算模塊,具體用于:
根據(jù)公式:INC=|(SIZE2-SIZE1)/TOTAL|,計(jì)算所述緩存空間變化率;其中,INC表示所述緩存空間變化率,SIZE1表示緩存所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件前緩存空間大小值,SIZE2表示緩存所述訪問請(qǐng)求信息所對(duì)應(yīng)的文件后緩存空間大小值,TOTAL表示緩存空間總大小值。
具體的,所述更新模塊,包括:
第一更新子模塊,用于將所述緩存空間變化率分別與,預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值進(jìn)行比較,得到一個(gè)比較結(jié)果;
第二更新子模塊,用于根據(jù)比較結(jié)果,得到下一個(gè)更新閾值。
具體的,所述第二更新子模塊,具體用于:
若所述比較結(jié)果為緩存空間變化率大于所述預(yù)設(shè)緩存空間變化率最大值,則判定所述緩存空間變化率增大,將所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值更新至N1=N0+(INC-MAX)/a;
若比較結(jié)果為所述緩存空間變化率小于所述預(yù)設(shè)緩存空間變化率最小值,則判定所述緩存空間變化率減小,將所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值更新至N1=N0-(MIN-INC)/b;
其中N1為下一個(gè)更新閾值,N0為所述預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,INC表示所述緩存空間變化率,MAX為所述預(yù)設(shè)緩存空間變化率最大值,MIN為所述預(yù)設(shè)緩存空間變化率最小值,a和b均為常數(shù)。
具體的,所述接收模塊,具體用于統(tǒng)計(jì)所述用戶的訪問請(qǐng)求信息中用戶的工號(hào)、用戶的IP地址、用戶的姓名中的至少一種的數(shù)量。
具體的,所述接收模塊,具體用于通過統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的頻次,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
本發(fā)明實(shí)施例提供的一種緩存方法及裝置,通過計(jì)算高速緩存區(qū)的緩存空間變化率,更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,CDN緩存服務(wù)器根據(jù)高速緩存區(qū)的緩存空間變化率自適應(yīng)緩存空間的大小,減輕了大量用戶訪問文件時(shí)的壓力,根據(jù)用戶在不同時(shí)期的訪問狀態(tài)調(diào)整訪問請(qǐng)求信息數(shù)量的閾值,提高了高速緩存區(qū)的利用率,改善服務(wù)器的緩存效果,使服務(wù)器實(shí)現(xiàn)智能緩存。本方法當(dāng)然,實(shí)施本發(fā)明的任一產(chǎn)品或方法必不一定需要同時(shí)達(dá)到以上所述的所有優(yōu)點(diǎn)。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例緩存方法的流程圖;
圖2為本發(fā)明實(shí)施例在訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū)之前的流程圖;
圖3為本發(fā)明實(shí)施例計(jì)算高速緩存區(qū)的緩存空間變化率的流程圖;
圖4為本發(fā)明實(shí)施例更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值的流程圖;
圖5為本發(fā)明實(shí)施例緩存裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
CDN緩存服務(wù)器的緩存效率受網(wǎng)絡(luò)緩存技術(shù)的直接影響,CDN緩存服務(wù)器包含普通磁盤區(qū)和高速緩存區(qū),現(xiàn)有的緩存方法是根據(jù)用戶訪問文件的頻次,來判斷文件熱度,將訪問熱度低的文件進(jìn)行淘汰,將熱度高的文件放入高速緩存區(qū)。在用戶訪問的高峰期和非高峰期的緩存方法相同,然而高速緩存區(qū)空間大小固定,能接受緩存的文件數(shù)量有限,當(dāng)處于用戶訪問文件的高峰期,即文件被多次訪問時(shí),伴隨著高速緩存區(qū)不斷緩存文件,給服務(wù)器帶來很大的緩存壓力,當(dāng)處于用戶訪問文件的非高峰期,即文件訪問次數(shù)低,此時(shí)需要很長(zhǎng)一段時(shí)間才能緩存該文件,高速緩存區(qū)的利用率較低,影響了緩存效果。本發(fā)明實(shí)施例的目的在于提供一種緩存方法及裝置,減輕CDN緩存服務(wù)器的緩存壓力,提高高速緩存區(qū)的利用率,改善緩存效果。
下面首先對(duì)本發(fā)明實(shí)施例提供的緩存方法進(jìn)行詳細(xì)說明。
圖1為本發(fā)明實(shí)施例提供的緩存方法的流程圖,具體包括以下步驟:
步驟101,接收用戶發(fā)送的訪問請(qǐng)求信息,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
當(dāng)用戶想要訪問文件時(shí),會(huì)向服務(wù)器發(fā)送該文件的訪問請(qǐng)求信息,服務(wù)器接收用戶發(fā)送的訪問請(qǐng)求信息,并統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。統(tǒng)計(jì)訪問請(qǐng)求信息數(shù)量的目的是為了統(tǒng)計(jì)文件被訪問的熱度,統(tǒng)計(jì)方式有多種。例如,當(dāng)多個(gè)用戶向服務(wù)器發(fā)送訪問請(qǐng)求信息時(shí),服務(wù)器的普通磁盤區(qū)接收用戶發(fā)送的訪問請(qǐng)求信息,并且統(tǒng)計(jì)訪問請(qǐng)求信息的數(shù)量,這個(gè)訪問請(qǐng)求信息的數(shù)量可以是多個(gè)用戶發(fā)送的,也可以來自于一個(gè)用戶的多次訪問發(fā)送的。
具體的,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量,包括:
統(tǒng)計(jì)用戶的訪問請(qǐng)求信息中用戶的工號(hào)、用戶的IP地址、用戶的姓名中的至少一種的數(shù)量。
用戶的工號(hào)、用戶的IP地址、用戶的姓名都可以代表用戶,統(tǒng)計(jì)用戶的訪問請(qǐng)求信息的數(shù)量可以通過統(tǒng)計(jì)訪問請(qǐng)求信息中用戶的工號(hào)、用戶的IP地址、用戶的姓名中的至少一種的數(shù)量的方法。
具體的,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量,包括:
通過統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的頻次,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
當(dāng)用戶想要對(duì)某個(gè)文件分段訪問時(shí),會(huì)集中多次的訪問該文件,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的頻次,也可以得到用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
步驟102,在訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū)。
預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值不是根據(jù)用戶需求或者工業(yè)需要設(shè)定的,這個(gè)閾值是由預(yù)設(shè)訪問請(qǐng)求信息數(shù)量的閾值決定的,而預(yù)設(shè)訪問請(qǐng)求信息的閾值是由服務(wù)器的特性決定的,根據(jù)高速緩存區(qū)的緩存空間大小決定預(yù)設(shè)訪問請(qǐng)求信息的閾值,預(yù)設(shè)訪問請(qǐng)求信息的閾值最小值為2。服務(wù)器統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量,當(dāng)訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),就會(huì)將與該訪問請(qǐng)求信息所對(duì)應(yīng)的文件放入高速緩存區(qū)。
步驟103,計(jì)算高速緩存區(qū)的緩存空間變化率。
在文件被放入高速緩存區(qū)后,高速緩存區(qū)的自由空間會(huì)發(fā)生變化,此時(shí)需要計(jì)算高速緩存區(qū)的緩存空間變化率,可以得到在緩存了一定量的文件后或者在一段時(shí)間內(nèi)的高速緩存區(qū)的緩存空間變化率。
步驟104,根據(jù)緩存空間變化率,更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,以使訪問請(qǐng)求信息的數(shù)量超過下一個(gè)更新閾值時(shí),將與訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū)。
由步驟103中計(jì)算得到的緩存空間變化率,可以更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,緩存空間變化率反映了在一段時(shí)間內(nèi),緩存空間內(nèi)緩存文件的速率,當(dāng)緩存空間變化率的數(shù)值比較大時(shí),表明在一段時(shí)間內(nèi),緩存文件的數(shù)量較多,緩存速率較快;當(dāng)緩存空間變化率的數(shù)值比較大時(shí),表明在一段時(shí)間內(nèi),緩存文件的數(shù)量較少,緩存速率較慢。
本發(fā)明實(shí)施例提供的一種緩存方法,通過計(jì)算高速緩存區(qū)的緩存空間變化率,更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,CDN緩存服務(wù)器根據(jù)高速緩存區(qū)的緩存空間變化率自適應(yīng)緩存空間的大小,根據(jù)用戶在不同時(shí)期的訪問狀態(tài)調(diào)整訪問請(qǐng)求信息數(shù)量的閾值,提高了高速緩存區(qū)的利用率,改善服務(wù)器的緩存效果,使服務(wù)器實(shí)現(xiàn)智能緩存。
具體的,在訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū)之前,得到預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值的流程,如圖2所示,包括如下步驟:
步驟201,接收用戶發(fā)送的訪問請(qǐng)求信息,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
當(dāng)用戶想要訪問文件時(shí),會(huì)向服務(wù)器發(fā)送該文件的訪問請(qǐng)求信息,服務(wù)器接收用戶發(fā)送的訪問請(qǐng)求信息,并統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
步驟202,在訪問請(qǐng)求信息的數(shù)量超過預(yù)設(shè)訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū)。
服務(wù)器統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量,當(dāng)訪問請(qǐng)求信息的數(shù)量超過預(yù)設(shè)訪問請(qǐng)求信息數(shù)量的閾值時(shí),就會(huì)將與該訪問請(qǐng)求信息所對(duì)應(yīng)的文件放入高速緩存區(qū)。預(yù)設(shè)訪問請(qǐng)求信息的閾值是由服務(wù)器的特性決定的,根據(jù)高速緩存區(qū)的緩存空間大小決定預(yù)設(shè)訪問請(qǐng)求信息的閾值。
步驟203,計(jì)算高速緩存區(qū)的緩存空間變化率。
在文件被放入高速緩存區(qū)后,高速緩存區(qū)的空閑空間會(huì)發(fā)生變化,此時(shí)需要計(jì)算高速緩存區(qū)的緩存空間變化率,可以得到在緩存了文件后或者在預(yù)設(shè)時(shí)間間隔后的高速緩存區(qū)的緩存空間變化率。預(yù)設(shè)時(shí)間間隔根據(jù)用戶需求或者工業(yè)需要決定,本發(fā)明實(shí)施例的預(yù)設(shè)時(shí)間間隔是由用戶需求靈活決定的,例如,用戶想要統(tǒng)計(jì)10分鐘內(nèi)服務(wù)器緩存文件的情況,則會(huì)計(jì)算得到高速緩存區(qū)10分鐘內(nèi)的緩存空間變化率。
步驟204,根據(jù)所述緩存空間變化率,更新預(yù)設(shè)訪問請(qǐng)求信息數(shù)量的閾值,得到預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值。
根據(jù)步驟203中計(jì)算得到的緩存空間變化率,可以更新預(yù)設(shè)訪問請(qǐng)求信息數(shù)量的閾值,得到預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值。
具體的,計(jì)算高速緩存區(qū)的緩存空間變化率的流程如圖3所示:
步驟301,記錄緩存空間總大小值TOTAL、緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件前緩存空間大小值SIZE1、緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件后緩存空間大小值SIZE2。
高速緩存區(qū)的緩存空間大小值是固定的,由服務(wù)器的特性決定,記為TOTAL;緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件前緩存空間大小值SIZE1和緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件后緩存空間大小值SIZE2分別是經(jīng)過預(yù)設(shè)時(shí)間間隔前、預(yù)設(shè)時(shí)間間隔后的緩存空間大小值。
步驟302,根據(jù)公式:INC=|(SIZE2-SIZE1)/TOTAL|,計(jì)算緩存空間變化率。
緩存空間變化率是經(jīng)過預(yù)設(shè)時(shí)間間隔后與預(yù)設(shè)時(shí)間間隔前的差值與,緩存空間總大小值的比值,表示在預(yù)設(shè)時(shí)間間隔內(nèi)的緩存空間變化率。例如,緩存空間總大小值TOTAL為100,緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件前緩存空間大小值SIZE1為80,緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件后緩存空間大小值SIZE2為60,則根據(jù)公式,得到緩存空間變化率INC為(1/5)。
具體的,根據(jù)緩存空間變化率更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,包括:
將緩存空間變化率分別與,預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值進(jìn)行比較,得到一個(gè)比較結(jié)果;
根據(jù)比較結(jié)果,得到下一個(gè)更新閾值。
預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值是根據(jù)用戶需求或者工業(yè)需要任意設(shè)定的,本發(fā)明實(shí)施例的預(yù)設(shè)緩存空間變化率最小值小于,預(yù)設(shè)緩存空間變化率最大值,預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值是根據(jù)用戶長(zhǎng)期測(cè)算分析得到的,分別為0.4和1.2。由步驟302得到的緩存空間變化率,與預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值進(jìn)行比較,比較結(jié)果將會(huì)影響下一個(gè)更新閾值。
圖4為本發(fā)明實(shí)施例中更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值的流程圖,包括如下步驟:
步驟401,將緩存空間變化率分別與,預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值進(jìn)行比較,這一步驟中還包括:
步驟401a,若比較結(jié)果為緩存空間變化率大于預(yù)設(shè)緩存空間變化率最大值,則判定緩存空間變化率增大,將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值增大到N1=N0+(INC-MAX)/a;
當(dāng)緩存空間變化率大于預(yù)設(shè)緩存空間變化率最大值時(shí),則表明此時(shí)超過緩存空間所能允許的緩存空間變化率的最大值,正值服務(wù)器的高峰期,用戶發(fā)送訪問請(qǐng)求信息的數(shù)量多,需要將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值增大,并且增大到N1=N0+(INC-MAX)/a,才能減輕高速緩存區(qū)的緩存壓力,其中N1為下一個(gè)更新閾值,N0為預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,MAX為預(yù)設(shè)緩存空間變化率最大值,a為常數(shù)。
步驟401b,若比較結(jié)果為緩存空間變化率小于預(yù)設(shè)緩存空間變化率最小值,則判定緩存空間變化率減小,將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值減小到N1=N0-(MIN-INC)/b;
當(dāng)緩存空間變化率小于預(yù)設(shè)緩存空間變化率最小值時(shí),則表明此時(shí)的緩存空間變化率已經(jīng)小于緩存空間變化率的最小值,此時(shí)是服務(wù)器的非高峰期,用戶發(fā)送訪問請(qǐng)求信息的數(shù)量少,緩存空間沒有得到充分利用,需要將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值減小,并且減小到N1=N0-(MIN-INC)/b,才能提高高速緩存區(qū)的利用率,其中N1為下一個(gè)更新閾值,N0為預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,MIN為預(yù)設(shè)緩存空間變化率最小值,b為常數(shù)。例如,當(dāng)計(jì)算得到的緩存空間變化率小于0.4時(shí),將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值減小到N1=N0-(0.4-INC)/b;當(dāng)計(jì)算得到的緩存空間變化率大于1.2時(shí),將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值增大到N1=N0+(INC-1.2)/a。
本發(fā)明所公開的緩存方法,通過計(jì)算緩存空間變化率更新訪問請(qǐng)求信息數(shù)量的閾值,使得服務(wù)器在用戶訪問文件的不同時(shí)間內(nèi)實(shí)現(xiàn)智能緩存。當(dāng)緩存空間變化率預(yù)設(shè)緩存空間變化率最大值時(shí),表明超過緩存空間所能允許的緩存空間變化率的最大值,用戶發(fā)送訪問請(qǐng)求信息的數(shù)量多,高速緩存區(qū)需要不斷緩存文件,緩存壓力大,此時(shí)需要提高訪問請(qǐng)求信息數(shù)量的閾值;當(dāng)緩存空間變化率小于預(yù)設(shè)緩存空間變化率最小值時(shí),表明此時(shí)緩存空間變化率已經(jīng)小于緩存空間變化率的最小值,用戶發(fā)送訪問請(qǐng)求信息的數(shù)量少,緩存空間沒有得到充分利用,此時(shí)需要降低訪問請(qǐng)求信息數(shù)量的閾值,使得文件在訪問次數(shù)少的情況下得以緩存,以提高緩存區(qū)的利用率。本發(fā)明所提供的緩存方法通過更新訪問請(qǐng)求信息數(shù)量的閾值,不斷適應(yīng)空閑緩存空間的大小變化,可以有效減輕高峰期的緩存壓力,提高非高峰期的緩存利用率。
本發(fā)明實(shí)施例還提供了一種緩存裝置,圖5為本發(fā)明實(shí)施例的裝置結(jié)構(gòu)示意圖,該裝置包括:
接收模塊501,用于接收用戶發(fā)送的訪問請(qǐng)求信息,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量;
緩存模塊502,用于在訪問請(qǐng)求信息的數(shù)量超過預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值時(shí),將與訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū);
計(jì)算模塊503,用于計(jì)算高速緩存區(qū)的緩存空間變化率;
更新模塊504,用于根據(jù)緩存空間變化率,更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,以使訪問請(qǐng)求信息的數(shù)量超過下一個(gè)更新閾值時(shí),將與訪問請(qǐng)求信息所對(duì)應(yīng)的文件緩存至高速緩存區(qū)。
本發(fā)明實(shí)施例提供的一種緩存裝置,通過計(jì)算高速緩存區(qū)的緩存空間變化率,更新預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,得到下一個(gè)更新閾值,CDN緩存服務(wù)器根據(jù)高速緩存區(qū)的緩存空間變化率自適應(yīng)緩存空間的大小,根據(jù)用戶在不同時(shí)期的訪問狀態(tài)調(diào)整訪問請(qǐng)求信息數(shù)量的閾值,提高了高速緩存區(qū)的利用率,改善服務(wù)器的緩存效果,使服務(wù)器實(shí)現(xiàn)智能緩存。
需要說明的是,本發(fā)明實(shí)施例的裝置是應(yīng)用上述緩存方法的裝置,則上述緩存方法的所有實(shí)施例均適用于該裝置,且均能達(dá)到相同或相似的有益效果。
具體的,計(jì)算模塊,具體用于:
根據(jù)公式:INC=|(SIZE2-SIZE1)/TOTAL|,計(jì)算緩存空間變化率;其中,INC表示緩存空間變化率,SIZE1表示緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件前緩存空間大小值,SIZE2表示緩存訪問請(qǐng)求信息所對(duì)應(yīng)的文件后緩存空間大小值,TOTAL表示緩存空間總大小值。
具體的,更新模塊,包括:
第一更新子模塊,用于將緩存空間變化率分別與,預(yù)設(shè)緩存空間變化率最小值和預(yù)設(shè)緩存空間變化率最大值進(jìn)行比較,得到一個(gè)比較結(jié)果;
第二更新子模塊,用于根據(jù)比較結(jié)果,得到下一個(gè)更新閾值。
具體的,第二更新子模塊,具體用于:
若比較結(jié)果為緩存空間變化率大于預(yù)設(shè)緩存空間變化率最大值,則判定緩存空間變化率增大,將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值更新至N1=N0+(INC-MAX)/a;
若比較結(jié)果為緩存空間變化率小于預(yù)設(shè)緩存空間變化率最小值,則判定緩存空間變化率減小,將預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值更新至N1=N0-(MIN-INC)/b;
其中N1為下一個(gè)更新閾值,N0為預(yù)先更新的訪問請(qǐng)求信息數(shù)量的閾值,INC表示緩存空間變化率,MAX為預(yù)設(shè)緩存空間變化率最大值,MIN為預(yù)設(shè)緩存空間變化率最小值,a和b均為常數(shù)。
具體的,接收模塊,具體用于統(tǒng)計(jì)用戶的訪問請(qǐng)求信息中用戶的工號(hào)、用戶的IP地址、用戶的姓名中的至少一種的數(shù)量。
具體的,接收模塊,具體用于通過統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的頻次,統(tǒng)計(jì)用戶發(fā)送的訪問請(qǐng)求信息的數(shù)量。
需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語(yǔ)僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
本說明書中的各個(gè)實(shí)施例均采用相關(guān)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均包含在本發(fā)明的保護(hù)范圍內(nèi)。