欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

緩存優(yōu)化的方法、緩存器和緩存優(yōu)化的系統(tǒng)與流程

文檔序號:12662033閱讀:228來源:國知局
緩存優(yōu)化的方法、緩存器和緩存優(yōu)化的系統(tǒng)與流程
本發(fā)明實(shí)施例涉及通信領(lǐng)域,并且更具體地,涉及緩存優(yōu)化的方法、緩存器和緩存優(yōu)化的系統(tǒng)。

背景技術(shù):
近年來互聯(lián)網(wǎng)的發(fā)展對社會和人們的生活產(chǎn)生了巨大的影響,互聯(lián)網(wǎng)用戶數(shù)、互聯(lián)網(wǎng)應(yīng)用種類、網(wǎng)絡(luò)帶寬等都呈現(xiàn)出爆炸式的增長。這些應(yīng)用給客戶帶來豐富的互聯(lián)網(wǎng)體驗(yàn),但是也導(dǎo)致了網(wǎng)絡(luò)流量激增。網(wǎng)絡(luò)的運(yùn)營者和管理者為了滿足不斷增長的用戶需求,主要采用擴(kuò)容帶寬、控制流量、引入網(wǎng)絡(luò)緩存(webcache)、引入內(nèi)容源等方法。相比于擴(kuò)容帶寬、流量控制、引入網(wǎng)絡(luò)緩存、引入內(nèi)容源帶來的有限改善,電信運(yùn)營商還可以選擇在網(wǎng)絡(luò)中部署緩存節(jié)點(diǎn)對熱門的內(nèi)容進(jìn)行緩存,從而以降低帶寬的方式實(shí)現(xiàn)低成本運(yùn)營并提升服務(wù)質(zhì)量,即運(yùn)營商主動在其網(wǎng)絡(luò)中部署OTT(overthetop)緩存節(jié)點(diǎn)。通常,將OTT緩存節(jié)點(diǎn)部署在網(wǎng)絡(luò)的互聯(lián)網(wǎng)出口旁邊,在路由器上部署策略路由,將超級文本傳送協(xié)議(HTTP,HyperTextTransportProtocol)業(yè)務(wù)路由到緩存節(jié)點(diǎn)上,如果緩存節(jié)點(diǎn)上緩存有終端所請求的內(nèi)容,則由緩存節(jié)點(diǎn)直接提供服務(wù),如果緩存節(jié)點(diǎn)上沒有緩存終端所請求的內(nèi)容,則由緩存節(jié)點(diǎn)代理終端向內(nèi)容源請求內(nèi)容后再交付給終端。OTT緩存節(jié)點(diǎn)在通過HTTP協(xié)議從內(nèi)容源獲取到內(nèi)容后,如果發(fā)現(xiàn)內(nèi)容源返回的HTTP響應(yīng)消息中攜帶的緩存控制頭域表明內(nèi)容可以緩存,則根據(jù)緩存控制頭域來緩存內(nèi)容;如果發(fā)現(xiàn)內(nèi)容源返回的HTTP響應(yīng)消息中沒有攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存,則默認(rèn)對內(nèi)容不做緩存。一般而言,業(yè)務(wù)提供商/內(nèi)容提供商(SP/CP,serviceprovider/contentprovider)出于保護(hù)自己業(yè)務(wù)和內(nèi)容的考慮,不傾向讓運(yùn)營商的網(wǎng)絡(luò)對自己的內(nèi)容進(jìn)行緩存,因此在響應(yīng)消息中經(jīng)常默認(rèn)不攜帶緩存控制頭域或者攜帶緩存控制頭域指示不緩存。那么,OTT緩存節(jié)點(diǎn)如果總是按照緩存控制頭域來決定內(nèi)容的緩存和刷新將會導(dǎo)致緩存的效果差,大量的業(yè)務(wù)請求仍然需要上到內(nèi)容源,起不到降低帶寬以及提升終端業(yè)務(wù)體驗(yàn)的效果?;蛘?,運(yùn)營商對SP/CP提供的流量比較大的內(nèi)容離線進(jìn)行是否可以緩存的分析,再將分析結(jié)果作為策略配置到OTT緩存節(jié)點(diǎn)上。但是,配置策略的刷新不夠靈活及時,因此不能快速跟蹤業(yè)務(wù)的變化,一旦內(nèi)容源修改規(guī)則,則可能影響其服務(wù)質(zhì)量。

技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供了緩存優(yōu)化的方法、緩存器和緩存優(yōu)化的系統(tǒng),能夠避免完全根據(jù)HTTP響應(yīng)頭中的緩存控制頭域來決定是否緩存而影響服務(wù)質(zhì)量的問題。一方面,提供了一種緩存優(yōu)化的方法,包括:接收終端對第一統(tǒng)一資源定位符(URL,UniformResourceLocator)的多個業(yè)務(wù)請求,并基于所述多個業(yè)務(wù)請求從內(nèi)容源分別接收多個第一響應(yīng)消息,當(dāng)所述多個第一響應(yīng)消息中均不攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存,分別確定所述多個第一響應(yīng)消息中包含的內(nèi)容的第一簽名值;比較多個所述第一簽名值,如果相同,則緩存所述第一響應(yīng)消息中包含的內(nèi)容以及所述第一URL,如果不相同,不緩存所述第一響應(yīng)消息中包含的內(nèi)容。另一方面,提供了一種緩存器,包括:處理單元,用于接收終端對第一URL的多個業(yè)務(wù)請求,并基于所述多個業(yè)務(wù)請求從內(nèi)容源分別接收多個第一響應(yīng)消息,當(dāng)所述多個第一響應(yīng)消息中均不攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存,分別確定所述多個第一響應(yīng)消息中包含的內(nèi)容的第一簽名值;比較單元,用于比較多個所述第一簽名值,如果相同,則所述緩存器緩存所述第一響應(yīng)消息中包含的內(nèi)容以及所述第一URL,如果不相同,所述緩存器不緩存所述第一響應(yīng)消息中包含的內(nèi)容。又一方面,提供了一種緩存優(yōu)化的系統(tǒng),包括:多個緩存器;業(yè)務(wù)管理裝置;可擴(kuò)展消息處理現(xiàn)場協(xié)議XMPP服務(wù)器,用于獲取所述業(yè)務(wù)管理裝置發(fā)布的緩存規(guī)則以及每個所述緩存器發(fā)布的對URL是否可以緩存的分析結(jié)果,以便所述業(yè)務(wù)管理裝置通過所述XMPP服務(wù)器獲知每個所述緩存器發(fā)布的對統(tǒng)一資源定位符URL是否可以緩存的分析結(jié)果,以及每個所述緩存器通過所述XMPP服務(wù)器獲知所述業(yè)務(wù)管理裝置發(fā)布的緩存規(guī)則和其他緩存器發(fā)布的對所述URL是否可以緩存的分析結(jié)果。本發(fā)明實(shí)施例的緩存優(yōu)化的方法、緩存器和緩存優(yōu)化的系統(tǒng)可以基于請求的業(yè)務(wù)內(nèi)容的簽名值確定緩存在本地緩存設(shè)備中的緩存內(nèi)容,從而降低帶寬,提升終端業(yè)務(wù)體驗(yàn)。附圖說明為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是根據(jù)本發(fā)明實(shí)施例的緩存優(yōu)化的方法的流程圖。圖2是根據(jù)本發(fā)明實(shí)施例的緩存器的結(jié)構(gòu)示意圖。圖3是根據(jù)本發(fā)明另一實(shí)施例的緩存器的結(jié)構(gòu)示意圖。圖4是根據(jù)本發(fā)明又一實(shí)施例的緩存器的結(jié)構(gòu)示意圖。圖5是根據(jù)本發(fā)明再一實(shí)施例的緩存器的結(jié)構(gòu)示意圖。圖6是根據(jù)本發(fā)明又一實(shí)施例的緩存器的結(jié)構(gòu)示意圖。圖7是根據(jù)本發(fā)明實(shí)施例的緩存優(yōu)化的系統(tǒng)的結(jié)構(gòu)示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供一種緩存優(yōu)化的方法,即一種對內(nèi)容主動緩存的方法,實(shí)現(xiàn)簡單,且對終端、內(nèi)容源和運(yùn)營商透明。通過本發(fā)明實(shí)施例的方法可以自動對熱門的統(tǒng)一資源定位符(URL,UniformResourceLocator)進(jìn)行自動分析,通過分析對應(yīng)URL的多次請求的響應(yīng)消息來判斷內(nèi)容是否可以緩存。此外,還可以根據(jù)實(shí)際內(nèi)容的簽名值來識別緩存的內(nèi)容,因此即使在URL變化時也可以提升緩存內(nèi)容的比率,讓熱度相對較高的實(shí)際可以緩存的內(nèi)容在緩存節(jié)點(diǎn)上緩存下來,從而起到降低帶寬,提升終端業(yè)務(wù)體驗(yàn)的效果。并且本發(fā)明的方案可以快速跟蹤業(yè)務(wù)的變化,讓熱門的內(nèi)容盡快終結(jié)在本地。以下將結(jié)合圖1具體描述根據(jù)本發(fā)明實(shí)施例的緩存優(yōu)化的方法。通過在路由器上配置策略路由(PBR,Policy-BasedRouting)將用戶訪問外網(wǎng)服務(wù)器的流量通過PBR轉(zhuǎn)向緩存節(jié)點(diǎn),從而將HTTP流量從路由器引流到緩存節(jié)點(diǎn),然后再由緩存節(jié)點(diǎn)代理用戶去外網(wǎng)服務(wù)器下載內(nèi)容后提供給用戶。也就是,用戶的HTTP訪問請求通過PBR牽引到緩存節(jié)點(diǎn);如果緩存節(jié)點(diǎn)本地沒有緩存用戶所請求的內(nèi)容,則代理用戶向外網(wǎng)服務(wù)器發(fā)起HTTP訪問請求;外網(wǎng)服務(wù)器依據(jù)HTTP訪問請求返回響應(yīng)消息給緩存節(jié)點(diǎn);緩存節(jié)點(diǎn)再將響應(yīng)消息返回給用戶。在緩存節(jié)點(diǎn)為用戶提供內(nèi)容交付的過程中,對于收到的每個HTTP請求,如果本地沒有緩存對應(yīng)的內(nèi)容,則需要向SP/CP的內(nèi)容源服務(wù)器請求內(nèi)容。對于從內(nèi)容源服務(wù)器收到的響應(yīng)消息,緩存節(jié)點(diǎn)需要檢查其緩存控制頭域,如果緩存控制頭域攜帶可以緩存的頭域,則可以直接緩存在緩存節(jié)點(diǎn)本地,對于響應(yīng)消息不攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存時,則緩存節(jié)點(diǎn)對熱門的URL進(jìn)行分析來判斷響應(yīng)消息包含的內(nèi)容是否可以緩存。在圖1中,緩存優(yōu)化的方法包括以下步驟:11,緩存節(jié)點(diǎn)接收終端對第一統(tǒng)一資源定位符URL的多個業(yè)務(wù)請求,并基于該多個業(yè)務(wù)請求從內(nèi)容源(例如,內(nèi)容源服務(wù)器)分別接收多個第一響應(yīng)消息,如果該多個第一響應(yīng)消息中均不攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存,分別確定該多個第一響應(yīng)消息中包含的內(nèi)容的第一簽名值。也就是說,當(dāng)終端向緩存節(jié)點(diǎn)發(fā)起對第一URL的業(yè)務(wù)請求,緩存節(jié)點(diǎn)從內(nèi)容源分別接收第一響應(yīng)消息,如果該第一響應(yīng)消息中不攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存,則緩存節(jié)點(diǎn)確定該第一響應(yīng)消息中包含的內(nèi)容的第一簽名值??梢岳斫?,第一簽名值可以針對第一響應(yīng)消息中包含的內(nèi)容的全部內(nèi)容或者部分內(nèi)容而確定。此時,緩存節(jié)點(diǎn)中并不保存該第一URL及其對應(yīng)的內(nèi)容。如果終端之后還多次向緩存節(jié)點(diǎn)發(fā)起對第一URL的業(yè)務(wù)請求,緩存節(jié)點(diǎn)依然按照對應(yīng)的內(nèi)容計(jì)算多個第一簽名值。此時,緩存節(jié)點(diǎn)仍然不保存該第一URL及其對應(yīng)的內(nèi)容。通常,由于終端向緩存節(jié)點(diǎn)發(fā)起的業(yè)務(wù)請求很多,因此涉及的URL也很多。優(yōu)選地,可以在緩存節(jié)點(diǎn)接收終端對第一URL的多個業(yè)務(wù)請求之前,首先統(tǒng)計(jì)該第一URL的熱度,如果該第一URL的熱度沒有達(dá)到閾值,則緩存節(jié)點(diǎn)無需考慮保存該第一URL及其對應(yīng)的業(yè)務(wù)內(nèi)容,只有當(dāng)該第一URL的熱度超出閾值,并且確定該第一URL未被靜態(tài)配置以及未在黑名單中,才進(jìn)行上述計(jì)算第一簽名值的操作。這樣,緩存節(jié)點(diǎn)主動對訪問熱度高的URL進(jìn)行分析,比較多次請求的結(jié)果,如果一致則強(qiáng)制本地緩存,如果不一致則不緩存并且令該URL進(jìn)入不緩存黑名單,就可以避免重復(fù)分析。由上可知,當(dāng)緩存節(jié)點(diǎn)確定了多個第一簽名值時,可以針對同一個第一URL的多個第一簽名值確定是否緩存該第一URL及其對應(yīng)的內(nèi)容。12,緩存節(jié)點(diǎn)比較多個所述第一簽名值,如果相同,則緩存第一響應(yīng)消息中包含的內(nèi)容以及該第一URL,否則,不緩存第一響應(yīng)消息中包含的內(nèi)容。一旦緩存節(jié)點(diǎn)確定對應(yīng)于第一URL的內(nèi)容可以被緩存,則將該第一URL以及對應(yīng)于第一URL的內(nèi)容緩存在本地。當(dāng)終端再次發(fā)起對該第一URL的業(yè)務(wù)請求時,就無需等待SP/CP的內(nèi)容源服務(wù)器反饋有關(guān)內(nèi)容了,而只需直接從本地緩存設(shè)備中獲取所需內(nèi)容。也就是說,本發(fā)明實(shí)施例的緩存優(yōu)化的方法可以基于請求的業(yè)務(wù)內(nèi)容的簽名值確定緩存在本地緩存設(shè)備中的緩存內(nèi)容,從而降低帶寬,提升終端業(yè)務(wù)體驗(yàn)。具體而言,對于某個URL(例如,第一URL)訪問請求,如果內(nèi)容源服務(wù)器返回的響應(yīng)消息中不攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存,則緩存節(jié)點(diǎn)不緩存從內(nèi)容源服務(wù)器獲得的響應(yīng)消息攜帶的內(nèi)容,但是緩存節(jié)點(diǎn)基于訪問次數(shù)實(shí)時統(tǒng)計(jì)該第一URL的熱度。當(dāng)?shù)谝籙RL的熱度到達(dá)設(shè)定的閾值(threshold)后,檢查針對該第一URL是否有靜態(tài)配置的緩存策略可以匹配上,如果有則可以按照對應(yīng)的靜態(tài)策略來處理。所謂靜態(tài)配置是指,如果明確地知道有些URL是屬于動態(tài)URL而不能緩存,就可以針對這些URL配置靜態(tài)的緩存策略明確對這些URL不緩存。當(dāng)緩存節(jié)點(diǎn)確定該第一URL沒有靜態(tài)配置的緩存策略,則檢查該第一URL是否在不緩存的黑名單中,如果在黑名單中則不進(jìn)行后續(xù)處理,否則繼續(xù)進(jìn)行如下處理:當(dāng)緩存節(jié)點(diǎn)又收到對應(yīng)該第一URL的業(yè)務(wù)請求后,由于本地沒有緩存對應(yīng)的內(nèi)容,緩存節(jié)點(diǎn)仍然需要從內(nèi)容源服務(wù)器獲取內(nèi)容。在從內(nèi)容源服務(wù)器獲取內(nèi)容的過程中,針對本次獲取到的內(nèi)容生成簽名值,生成簽名值的算法可以有多種選擇,如消息摘要算法第五版(MD5,MessageDigestAlgorithm5)或者是安全散列算法(SHA,SecureHashAlgorithm)。計(jì)算簽名值時可以針對內(nèi)容源服務(wù)器返回的整個內(nèi)容進(jìn)行計(jì)算而生成單個簽名值,也可以為了減少計(jì)算量對內(nèi)容進(jìn)行抽樣生成單個或者多個簽名值,例如只是使用返回內(nèi)容的前16KB(Kbyte)的內(nèi)容計(jì)算簽名值,或者對前16KB和最后的16KB都分別計(jì)算簽名值。計(jì)算得到的簽名值作為從內(nèi)容源服務(wù)器獲取的內(nèi)容屬性緩存下來,這時從內(nèi)容源服務(wù)器獲取的內(nèi)容仍然先不用保存在本地。之后,當(dāng)緩存節(jié)點(diǎn)又收到對應(yīng)該第一URL的業(yè)務(wù)請求后,由于本地沒有緩存對應(yīng)的內(nèi)容,緩存節(jié)點(diǎn)仍然需要從內(nèi)容源服務(wù)器獲取內(nèi)容。在從內(nèi)容源服務(wù)器獲取內(nèi)容的過程中采用上述算法計(jì)算簽名值,并將本次計(jì)算的簽名值和之前計(jì)算的簽名值進(jìn)行比較。如果連續(xù)多次(例如,2次或3次)從內(nèi)容源服務(wù)器下載的內(nèi)容的簽名值的比較結(jié)果都一致時,則認(rèn)為對應(yīng)該第一URL的內(nèi)容可以緩存,即這時從內(nèi)容源服務(wù)器獲取的內(nèi)容可以保存在本地,后續(xù)再收到針對該第一URL的業(yè)務(wù)請求就可以利用緩存在本地的內(nèi)容直接提供服務(wù)。如果出現(xiàn)簽名值結(jié)果不一致,例如連續(xù)兩次計(jì)算的簽名值不一致,說明每次從內(nèi)容源服務(wù)器獲取的內(nèi)容存在差異,因此對該第一URL的內(nèi)容不能在本地緩存,則該第一URL需要進(jìn)入到不緩存的黑名單中或者降低該第一URL的熱度統(tǒng)計(jì)值,避免進(jìn)行后續(xù)的是否可以緩存的判斷處理。為了進(jìn)一步優(yōu)化上述的緩存方法,可以為所緩存的第一響應(yīng)消息中包含的內(nèi)容設(shè)置生存時間TTL(TimeToLive),以便當(dāng)所述TTL超時時,強(qiáng)制刪除所緩存的第一響應(yīng)消息中包含的內(nèi)容。具體而言,對于本地緩存下來的內(nèi)容設(shè)置不同的TTL值。當(dāng)TTL超時時,強(qiáng)制刪除本地緩存的內(nèi)容,當(dāng)收到新的業(yè)務(wù)請求時重新從內(nèi)容源服務(wù)器請求內(nèi)容。這樣,可以避免實(shí)際內(nèi)容發(fā)生小的變化而根據(jù)部分內(nèi)容技術(shù)的簽名值仍然一致的低概率事件,從而確保緩存的內(nèi)容與內(nèi)容源服務(wù)器上的內(nèi)容相一致。其中,設(shè)置TTL可以基于如下的原則。根據(jù)不同的域名設(shè)置:例如對于主要提供視頻內(nèi)容的域名,其內(nèi)容的變化頻度低,因此可以設(shè)置較長的TTL;對于主要提供資訊的域名,其內(nèi)容的變化頻度較高,因此設(shè)置的TTL相對要短一些。根據(jù)所請求內(nèi)容的擴(kuò)展名來設(shè)置:不同的擴(kuò)展名實(shí)際對應(yīng)不同的內(nèi)容類型,因此可以設(shè)置不同的TTL。當(dāng)然可以將域名和擴(kuò)展名結(jié)合起來設(shè)置:即針對不同的域名,相同擴(kuò)展名的內(nèi)容可以設(shè)置不同的TTL值。在用本地強(qiáng)制緩存的內(nèi)容提供服務(wù)時,繼續(xù)向內(nèi)容源服務(wù)器發(fā)送攜帶“如果被修改(If-Modified-Since)”頭域或者“如果不匹配(If-None-Match)”頭域的請求,讓內(nèi)容源服務(wù)器能記錄用戶訪問日志,同時有利于保證內(nèi)容的及時刷新。因?yàn)樵谟行﹫鼍跋?,SP/CP需要看到原始用戶的請求從而收集用戶的訪問日志,這時緩存節(jié)點(diǎn)可以模擬終端向內(nèi)容源服務(wù)器發(fā)起業(yè)務(wù)請求,以便內(nèi)容源服務(wù)器根據(jù)業(yè)務(wù)請求中攜帶的被請求變量的實(shí)體值信息來檢查緩存中的內(nèi)容是否發(fā)生了變化。例如,在If-Modified-Since頭域攜帶緩存的內(nèi)容生成的時間信息,內(nèi)容源服務(wù)器可以根據(jù)該信息判斷緩存的內(nèi)容是否刷新過;或者If-None-Match頭域攜帶緩存的內(nèi)容生成的實(shí)體值(Etag)簽名信息,內(nèi)容源服務(wù)器可以根據(jù)該簽名信息判斷緩存的內(nèi)容是否刷新過。具體而言,在緩存節(jié)點(diǎn)發(fā)送的HTTP下載(HTTPGet)請求消息中攜帶If-Modified-Since頭域或者If-None-Match頭域,內(nèi)容源服務(wù)器可以直接根據(jù)If-Modified-Since頭域攜帶的時間信息或者If-None-Match頭域攜帶的被請求變量的Etag簽名信息來檢查內(nèi)容是否發(fā)生了變化。如果沒有發(fā)生變化,可以直接回復(fù)“304:notmodified(沒有修改)”響應(yīng)消息,在響應(yīng)消息中不用攜帶實(shí)際的數(shù)據(jù),因此同樣可以降低帶寬。根據(jù)如圖1所示的緩存優(yōu)化的方法,一旦緩存節(jié)點(diǎn)確定對應(yīng)于第一URL的內(nèi)容可以被緩存,則將該第一URL以及對應(yīng)于第一URL的內(nèi)容緩存在本地。當(dāng)終端再次發(fā)起對該第一URL的業(yè)務(wù)請求時,就無需等待SP/CP的內(nèi)容源服務(wù)器反饋有關(guān)內(nèi)容了,而只需直接從本地緩存設(shè)備中獲取所需內(nèi)容。然而,在部署實(shí)際業(yè)務(wù)時,SP/CP出于保護(hù)自己業(yè)務(wù)和內(nèi)容的考慮,除了在響應(yīng)消息中默認(rèn)不攜帶緩存控制頭域或者攜帶緩存控制頭域指示不緩存外,還會變換針對同一個內(nèi)容的URL,即SP/CP針對同一個內(nèi)容向不同的用戶發(fā)布不同的URL。從緩存節(jié)點(diǎn)收到的請求來看,每個請求的URL都不一樣,如果只是根據(jù)URL去查找緩存的內(nèi)容則基本都是本地不命中。針對上述情況,仍然可以利用簽名值來實(shí)現(xiàn)主動緩存,從而降低帶寬,提升終端業(yè)務(wù)體驗(yàn),詳細(xì)實(shí)現(xiàn)流程如下。首先,緩存節(jié)點(diǎn)從內(nèi)容源服務(wù)器獲取到內(nèi)容后同時計(jì)算部分內(nèi)容的簽名值,例如計(jì)算前16KB內(nèi)容的簽名值和后16KB內(nèi)容的簽名值,計(jì)算得到的簽名值和內(nèi)容都保存在本地,同時建立前16KB內(nèi)容的簽名值與內(nèi)容的對應(yīng)關(guān)系,即除了可以根據(jù)URL索引到緩存的內(nèi)容之外,也可以根據(jù)簽名值索引到緩存的內(nèi)容。當(dāng)緩存節(jié)點(diǎn)收到對應(yīng)第二URL的新的訪問請求時,將根據(jù)第二URL查找本地是否緩存有與請求的第二URL對應(yīng)的內(nèi)容,如果有則可以基于緩存的內(nèi)容提供服務(wù)。如果沒有則先向內(nèi)容源服務(wù)器請求前16KB的內(nèi)容,請求前16KB的內(nèi)容可以通過在HTTPGet請求消息中攜帶范圍(Range)頭域指示請求范圍來實(shí)現(xiàn),例如:Range:bytes=0-16383。在緩存節(jié)點(diǎn)收到前16KB的內(nèi)容后,對這16KB的內(nèi)容計(jì)算簽名值,將計(jì)算出來的簽名值作為索引查找本地緩存的內(nèi)容,如果沒有找到匹配的結(jié)果則說明本地沒有緩存所請求的內(nèi)容,因此需要從內(nèi)容源服務(wù)器繼續(xù)請求剩下的內(nèi)容交付給終端,請求剩下的內(nèi)容可以通過在HTTPGet請求消息中攜帶Range頭域指示請求范圍來實(shí)現(xiàn),例如:Range:bytes=16384-。在從內(nèi)容源服務(wù)器請求內(nèi)容的過程中再計(jì)算后16KB內(nèi)容的簽名值并將請求的內(nèi)容和對應(yīng)的簽名值緩存在本地。如果找到有本地緩存的內(nèi)容的簽名值和本次計(jì)算出來的前16KB的內(nèi)容的簽名值一樣,則說明本地緩存的內(nèi)容可能就是本次業(yè)務(wù)請求的內(nèi)容。為了確認(rèn)可以做進(jìn)一步的校驗(yàn)和核實(shí),緩存節(jié)點(diǎn)再向內(nèi)容源服務(wù)器請求最后16KB的內(nèi)容,這也可以通過在HTTPGet請求消息中攜帶Range頭域指示請求范圍來實(shí)現(xiàn),例如:Range:bytes=-16384。在緩存節(jié)點(diǎn)收到后16KB的內(nèi)容后,對后16KB的內(nèi)容也計(jì)算簽名值,將計(jì)算出來的簽名值和之前根據(jù)前16KB內(nèi)容的簽名值索引到的本地緩存內(nèi)容的后16KB內(nèi)容的簽名值進(jìn)行比較。如果一致,則說明可以利用本地緩存的內(nèi)容來為終端用戶提供服務(wù),如果不一致,則說明本地沒有緩存所請求的內(nèi)容,因此需要從內(nèi)容源服務(wù)器繼續(xù)請求剩下的內(nèi)容交付給終端,請求剩下的內(nèi)容可以通過在HTTPGet請求消息中攜帶Range頭域指示請求范圍來實(shí)現(xiàn),例如:Range:bytes=16384-。通過上面的描述可以看出,除了可以根據(jù)原始請求的URL來標(biāo)示緩存的內(nèi)容之外,還可以根據(jù)內(nèi)容的簽名值來標(biāo)示內(nèi)容。按照這種方案處理時,對于熱點(diǎn)內(nèi)容,即使請求的URL不同,在根據(jù)簽名值識別出來內(nèi)容之后還是可以利用本地緩存的內(nèi)容來提供服務(wù)。在實(shí)際應(yīng)用中,如果為了提升性能,后16KB內(nèi)容對應(yīng)的簽名值的生成和校驗(yàn)也可以省略,即只是根據(jù)前面16KB內(nèi)容的簽名值來識別內(nèi)容。當(dāng)然,實(shí)際中用來計(jì)算簽名值的內(nèi)容可以有多種變化方式,例如將原始文件分片,從每片中抽取部分字節(jié)組合到一起再計(jì)算簽名值。綜上所述,可選地,除了緩存第一響應(yīng)消息中包含的內(nèi)容以及第一URL外,緩存節(jié)點(diǎn)建立并緩存所緩存的第一響應(yīng)消息中包含的內(nèi)容與第一簽名值之間的對應(yīng)關(guān)系。因此,當(dāng)緩存節(jié)點(diǎn)接收到終端對第二ULR的業(yè)務(wù)請求時,如果該第二URL與所緩存的第一URL相同,則向終端發(fā)送對應(yīng)于該第一URL的所緩存的第一響應(yīng)消息中包含的內(nèi)容,否則基于對第二URL的業(yè)務(wù)請求以及所緩存的第一響應(yīng)消息中包含的內(nèi)容與第一簽名值之間的對應(yīng)關(guān)系從所述內(nèi)容源(服務(wù)器)接收第二響應(yīng)消息,并確定該第二響應(yīng)消息中包含的內(nèi)容的第二簽名值。緩存節(jié)點(diǎn)比較第二簽名值與第一簽名值,如果相同,則將所緩存的第一響應(yīng)消息中包含的內(nèi)容發(fā)送給終端,否則將從內(nèi)容源(服務(wù)器)接收的第二響應(yīng)消息中包含的內(nèi)容的全部內(nèi)容發(fā)送給終端。圖2中示出了根據(jù)本發(fā)明實(shí)施例的緩存器。在圖2中,緩存器20包括處理單元21和比較單元22。其中,處理單元21用于接收終端對第一URL的多個業(yè)務(wù)請求,并基于所述多個業(yè)務(wù)請求從內(nèi)容源分別接收多個第一響應(yīng)消息,當(dāng)所述多個第一響應(yīng)消息中均不攜帶緩存控制頭域或者攜帶的緩存控制頭域指示不緩存,分別確定所述多個第一響應(yīng)消息中包含的內(nèi)容的第一簽名值。例如,處理單元21可以依據(jù)所述第一響應(yīng)消息中包含的內(nèi)容的部分內(nèi)容確定第一簽名值;或者可以依據(jù)所述第一響應(yīng)消息中包含的內(nèi)容的全部內(nèi)容確定第一簽名值。比較單元22用于比較多個所述第一簽名值,如果相同,則所述緩存器緩存所述第一響應(yīng)消息中包含的內(nèi)容以及所述第一URL,否則所述緩存器不緩存所述第一響應(yīng)消息中包含的內(nèi)容。因此,本發(fā)明實(shí)施例的緩存器可以基于請求的業(yè)務(wù)內(nèi)容的簽名值確定緩存在本地緩存設(shè)備中的緩存內(nèi)容,從而降低帶寬,提升終端業(yè)務(wù)體驗(yàn)。圖3中示出了根據(jù)本發(fā)明另一實(shí)施例的緩存器。在圖3中,除了處理單元21和比較單元22,緩存器30還包括統(tǒng)計(jì)單元23和確定單元24。其中,統(tǒng)計(jì)單元23用于統(tǒng)計(jì)所述URL的熱度。確定單元24用于當(dāng)所述URL的熱度超出閾值時,確定所述URL未被靜態(tài)配置以及未在黑名單中。圖4中示出了根據(jù)本發(fā)明又一實(shí)施例的緩存器。在圖4中,除了處理單元21、比較單元22、統(tǒng)計(jì)單元23和確定單元24,緩存器40還包括設(shè)置單元25。該設(shè)置單元25用于為所緩存的第一響應(yīng)消息中包含的內(nèi)容設(shè)置生存時間TTL,以便當(dāng)所述TTL超時時,強(qiáng)制刪除所緩存的第一響應(yīng)消息中包含的內(nèi)容。圖5中示出了根據(jù)本發(fā)明再一實(shí)施例的緩存器。在圖5中,除了處理單元21、比較單元22、統(tǒng)計(jì)單元23、確定單元24和設(shè)置單元25,緩存器50還包括模擬單元26。該模擬單元26用于模擬終端向所述內(nèi)容源發(fā)起業(yè)務(wù)請求,以便所述內(nèi)容源根據(jù)所述業(yè)務(wù)請求中攜帶的被請求變量的實(shí)體值信息來檢查內(nèi)容是否發(fā)生了變化。圖6中示出了根據(jù)本發(fā)明又一實(shí)施例的緩存器。在圖6中,除了處理單元21、比較單元22、統(tǒng)計(jì)單元23、確定單元24、設(shè)置單元25和模擬單元26,緩存器60還包括建立單元27,該建立單元27用于建立所緩存的第一響應(yīng)消息中包含的內(nèi)容及所述第一簽名值之間的對應(yīng)關(guān)系。由此,處理單元21進(jìn)一步用于接收終端對第二ULR的業(yè)務(wù)請求,如果所述第二URL與所緩存的第一URL相同,則向終端發(fā)送對應(yīng)于所述第一URL的所緩存的第一響應(yīng)消息中包含的內(nèi)容,否則基于對第二URL的業(yè)務(wù)請求以及所述對應(yīng)關(guān)系從所述內(nèi)容源接收第二響應(yīng)消息,確定所述第二響應(yīng)消息中包含的內(nèi)容的第二簽名值。比較單元22進(jìn)一步用于比較所述第二簽名值與所述第一簽名值,如果相同,則所述緩存器將所緩存的第一響應(yīng)消息中包含的內(nèi)容發(fā)送給所述終端,否則所述緩存器將從所述內(nèi)容源接收的第二響應(yīng)消息中包含的內(nèi)容的全部內(nèi)容發(fā)送給終端。綜上所述,本發(fā)明實(shí)施例的緩存器可以實(shí)時跟蹤內(nèi)容的熱度變化,將熱度高并且實(shí)際可以緩存的內(nèi)容盡可能本地緩存下來,從而起到降低帶寬,提升終端業(yè)務(wù)體驗(yàn)的效果。此外,本發(fā)明實(shí)施例的緩存器在用本地強(qiáng)制緩存的內(nèi)容提供服務(wù)時,根據(jù)需要繼續(xù)向內(nèi)容源服務(wù)器發(fā)送攜帶If-Modified-Since頭域或者If-None-Match頭域的請求,內(nèi)容源服務(wù)器可以繼續(xù)保持對用戶訪問日志的記錄,但是不需要實(shí)際返回內(nèi)容,因此也提升了內(nèi)容源服務(wù)器的性能。圖7示出了根據(jù)本發(fā)明實(shí)施例的緩存優(yōu)化的系統(tǒng)。在多個緩存節(jié)點(diǎn)之間實(shí)時共享對URL是否可以緩存的分析結(jié)果,即整個網(wǎng)絡(luò)中能共享緩存策略,從而避免多個緩存節(jié)點(diǎn)的重復(fù)計(jì)算,讓能緩存的內(nèi)容盡快緩存到本地,進(jìn)而提升整個緩存系統(tǒng)的性能。例如,如圖7所示,根據(jù)本發(fā)明實(shí)施例的緩存優(yōu)化的系統(tǒng)70包括多個緩存器71、業(yè)務(wù)管理裝置72和可擴(kuò)展消息處理現(xiàn)場協(xié)議(XMPP,TheExtensibleMessagingandPresenceProtocol)服務(wù)器73。其中,多個緩存器71可以是如圖2至圖6所示的緩存器。XMPP服務(wù)器73,可以獲取業(yè)務(wù)管理裝置72發(fā)布的緩存規(guī)則以及每個緩存器71發(fā)布的對URL是否可以緩存的分析結(jié)果,以便業(yè)務(wù)管理裝置72通過XMPP服務(wù)器73獲知每個緩存器71發(fā)布的對URL是否可以緩存的分析結(jié)果,以及每個緩存器71通過XMPP服務(wù)器73獲知業(yè)務(wù)管理裝置72發(fā)布的緩存規(guī)則和其他緩存器發(fā)布的對該URL是否可以緩存的分析結(jié)果。因此,本發(fā)明實(shí)施例的緩存優(yōu)化的系統(tǒng)可以基于請求的業(yè)務(wù)內(nèi)容的簽名值確定緩存在本地緩存設(shè)備中的緩存內(nèi)容,從而降低帶寬,提升終端業(yè)務(wù)體驗(yàn)。在實(shí)際中,可以通過共享各個緩存節(jié)點(diǎn)(例如,緩存器71)的分析結(jié)果,從而優(yōu)化整體緩存性能。例如,基于XMPP協(xié)議的發(fā)布/訂閱模型來實(shí)現(xiàn)緩存分析結(jié)果的發(fā)布和共享。具體而言,業(yè)務(wù)管理裝置72可以作為發(fā)布者,可以根據(jù)配置向XMPP服務(wù)器73發(fā)布已知的緩存規(guī)則;每個緩存節(jié)點(diǎn)(例如,緩存器71)也可以作為發(fā)布者,向XMPP服務(wù)器73實(shí)時發(fā)布該緩存節(jié)點(diǎn)對URL是否可以緩存的分析結(jié)果;業(yè)務(wù)管理裝置72同時也作為訂閱者,向XMPP服務(wù)器73訂閱其它緩存節(jié)點(diǎn)實(shí)時發(fā)布的對URL是否可以緩存的分析結(jié)果,這些結(jié)果可以幫助運(yùn)營商進(jìn)行更深層次的分析和歸納,最終可以形成靜態(tài)規(guī)則而配置到所有的緩存節(jié)點(diǎn)上;每個緩存節(jié)點(diǎn)(例如,緩存器71)同時也都是作為訂閱者,向XMPP服務(wù)器73訂閱業(yè)務(wù)管理裝置72下發(fā)的緩存規(guī)則,同時也訂閱其它緩存節(jié)點(diǎn)發(fā)布的對URL是否可以緩存的分析結(jié)果。例如,如果一個緩存節(jié)點(diǎn)(例如,緩存器71)從其它緩存節(jié)點(diǎn)收到某個URL可以緩存而本地目前是作為不能緩存處理的,則在熱度達(dá)到閾值后可以直接緩存在本地而不用計(jì)算校驗(yàn)是否一致;如果一個緩存節(jié)點(diǎn)(例如,緩存器71)從其它緩存節(jié)點(diǎn)收到某個URL不可以緩存則直接將該URL放到不能緩存的黑名單中。通過這種多個緩存節(jié)點(diǎn)之間共享分析結(jié)果,可以減少整個網(wǎng)絡(luò)內(nèi)校驗(yàn)比較的操作,從而提升了整個系統(tǒng)的性能。本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲器(RAM,RandomAccessMemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
织金县| 芮城县| 理塘县| 烟台市| 宿州市| 金寨县| 昭通市| 泉州市| 海淀区| 加查县| 岳普湖县| 荥经县| 海晏县| 盖州市| 昌黎县| 天津市| 临高县| 阳西县| 辽中县| 射阳县| 尼玛县| 石城县| 涞水县| 甘孜县| 宜昌市| 蓝山县| 麻栗坡县| 七台河市| 安徽省| 香河县| 缙云县| 宜良县| 荆门市| 德昌县| 两当县| 蒙山县| 德化县| 逊克县| 庄浪县| 会泽县| 华安县|