国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      通信系統(tǒng)、緩存服務(wù)器、緩存內(nèi)容推送、查找方法及系統(tǒng)與流程

      文檔序號:12271633閱讀:246來源:國知局
      通信系統(tǒng)、緩存服務(wù)器、緩存內(nèi)容推送、查找方法及系統(tǒng)與流程

      本發(fā)明涉及緩存代理服務(wù)器中緩存內(nèi)容的推送技術(shù),特別是涉及一種通信系統(tǒng)、緩存服務(wù)器、緩存內(nèi)容推送、查找方法及系統(tǒng)。



      背景技術(shù):

      對于已經(jīng)在緩存服務(wù)器上緩存的內(nèi)容,有些是存在一定相同規(guī)則的,如具有相同的相對URI,或者是滿足某類正則表達(dá)式。即緩存內(nèi)容的部分路徑是相同的或者滿足一定規(guī)則。如果要及時更新這些緩存內(nèi)容,我們需要使用內(nèi)容推送的功能,使緩存服務(wù)器上的緩存內(nèi)容得到更新。通過內(nèi)容推送功能推送這一類有相同規(guī)則的緩存內(nèi)容,則匹配該規(guī)則的緩存內(nèi)容都可以得到刷新,到源站及時更新。這類內(nèi)容推送相當(dāng)于是針對一類目錄的方式進(jìn)行推送。

      傳統(tǒng)目錄推送方式采用正則表達(dá)式的方式,通過對比緩存內(nèi)容與推送規(guī)則,判斷緩存內(nèi)容是否匹配規(guī)則。但存在以下弊端:

      1)使用正則表達(dá)式進(jìn)行匹配字符串,使用的正則引擎主要有兩大類:DFA和NFA。DFA又稱確定有限狀態(tài)自動機(jī),在可識別的語言上有嚴(yán)格的限制。因為它不構(gòu)造顯示擴(kuò)展,所以它不可以捕獲子表達(dá)式。NFA引擎運行所謂的“貪婪的”匹配回溯算法。但是,因為傳統(tǒng)的NFA回溯,所以它可以訪問完全相同的狀態(tài)多次(如果通過不同的路徑到達(dá)該狀態(tài))。因此,在最壞情況下,它的執(zhí)行速度可能非常慢。常用的PCRE(Perl Compatible Regular Expressions,兼容perl的正則表達(dá)式庫)是一個NFA正則引擎,所以它在提供強(qiáng)大的匹配功能時,卻是效率低下的。

      2)如果是存在大量的內(nèi)容推送,由于事先無法知道某個緩存內(nèi)容是否匹配其中一條確定的正則表達(dá)式,所以只能采用循環(huán)遍歷查找的方式逐條匹配。對于遍歷所有正則表達(dá)式的時間復(fù)雜度達(dá)到O(n)。再加上上面描述的單條匹配效率低下的問題,整個遍歷的性能消耗相當(dāng)大。對于性能敏感的服務(wù)器,這種消耗對于服務(wù)的影響是較大的。

      3)如果是推送相同的推送規(guī)則,則需要更新原有的推送時間,保證緩存需要刷新的時間點是正確的。但是要找到原先的推送規(guī)則,也是需要循環(huán)遍歷原有的推送規(guī)則,找到相同的推送規(guī)則進(jìn)行更新,這樣的時間復(fù)雜度也是O(n)。



      技術(shù)實現(xiàn)要素:

      鑒于以上所述現(xiàn)有技術(shù)的缺點,本發(fā)明的目的在于提供一種通信系統(tǒng)、緩存服務(wù)器、緩存內(nèi)容推送、查找方法及系統(tǒng),用于解決現(xiàn)有技術(shù)中推送方式單一且推送效率低下的問題。

      為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種緩存內(nèi)容推送方法,包括:接收到一緩存推送請求時,判斷所述緩存推送請求的推送規(guī)則的類型;若所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式,則判斷是否已經(jīng)存在與推送規(guī)則的類型為正則表達(dá)式的緩存推送請求對應(yīng)的平衡樹,若存在,則在所述平衡樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建平衡樹;若所述緩存推送請求的推送規(guī)則的類型為相對路徑,則判斷是否已經(jīng)存在與推送規(guī)則的類型為相對路徑的緩存推送請求對應(yīng)的字典樹,若存在,則在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建字典樹。

      于本發(fā)明一具體實施例中,所述在所述平衡樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點的步驟還包括:若查找到,則根據(jù)所述緩存推送請求對相匹配的樹節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新;若沒查找到,則根據(jù)所述緩存推送請求在所述平衡樹中建立新的樹節(jié)點,且將所述緩存推送請求對應(yīng)的推送規(guī)則存儲于所述新的樹節(jié)點。

      于本發(fā)明一具體實施例中,所述在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點的步驟還包括:若查找到,則根據(jù)所述緩存推送請求對相匹配的樹節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新;若沒查找到,則根據(jù)所述緩存推送請求在所述字典樹中建立新的樹節(jié)點,且將所述緩存推送請求對應(yīng)的推送規(guī)則存儲于所述新的樹節(jié)點。

      于本發(fā)明一具體實施例中,在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點的步驟包括:將所述緩存推送請求的推送規(guī)則逐級進(jìn)行分解以獲得多層級的目錄,且根據(jù)預(yù)設(shè)的所述目錄的層級優(yōu)先級,在所述字典樹中依次查找與所述緩存推送請求的推送規(guī)則的各層級的目錄匹配的樹節(jié)點,且當(dāng)優(yōu)先級最低的層級對應(yīng)的所述目錄在所述字典樹中查找到對應(yīng)的樹節(jié)點時,判斷查找到與當(dāng)前緩存推送請求的推送規(guī)則匹配的樹節(jié)點。

      于本發(fā)明一具體實施例中,根據(jù)所述緩存推送請求對相匹配的樹節(jié)點的緩存內(nèi)容進(jìn)行更新的步驟包括:根據(jù)所述緩存推送請求從對應(yīng)的源站中獲取相應(yīng)的緩存內(nèi)容對相匹配的樹節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新。

      于本發(fā)明一具體實施例中,根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建平衡樹的步驟包括:在所述平衡樹的每個樹節(jié)點緩存一種正則表達(dá)式類型的推送規(guī)則;根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建字典樹的步驟包括:將相對路徑類型的所述推送規(guī)則分解為多各層級的目錄,所述字典樹的每個樹節(jié)點緩存其中一級所述目錄。

      為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種緩存內(nèi)容推送系統(tǒng),包括:推送規(guī)則類型判斷模塊,用以接收到一緩存推送請求時,判斷所述緩存推送請求的推送規(guī)則的類型,若所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式則執(zhí)行第一推送模塊,若所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式則執(zhí)行第二推送模塊;所述第一推送模塊用以在所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式時,判斷是否已經(jīng)存在與推送規(guī)則的類型為正則表達(dá)式的緩存推送請求對應(yīng)的平衡樹,若存在,則在所述平衡樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建平衡樹;第二推送模塊用以在所述緩存推送請求的推送規(guī)則的類型為相對路徑時,判斷是否已經(jīng)存在與推送規(guī)則的類型為相對路徑的緩存推送請求對應(yīng)的字典樹,若存在,則在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建字典樹。

      為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種緩存內(nèi)容查找方法,應(yīng)用于根據(jù)如上任一項所述的緩存內(nèi)容推送方法對緩存內(nèi)容進(jìn)行存儲和更新的緩存服務(wù)器,所述方法包括:接收到一緩存查找請求時,分別在所述平衡樹和字典樹查找是否存在與所述緩存查找請求匹配的樹節(jié)點;若存在,則從相應(yīng)的源站中獲取相應(yīng)的緩存內(nèi)容以響應(yīng)所述緩存查找請求;若不存在,則直接以所述緩存服務(wù)器中的緩存內(nèi)容響應(yīng)所述緩存查找請求。

      于本發(fā)明一具體實施例中,當(dāng)查找到與所述緩存查找請求匹配的樹節(jié)點時,還包括:判斷當(dāng)前樹節(jié)點對應(yīng)的緩存內(nèi)容是否可用,且當(dāng)不可用時,從相應(yīng)的源站中獲取相應(yīng)的緩存內(nèi)容以響應(yīng)所述緩存查找請求。

      為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種緩存內(nèi)容查找系統(tǒng),應(yīng)用于根據(jù)如上所述的緩存內(nèi)容推送系統(tǒng)對緩存內(nèi)容進(jìn)行存儲和更新的緩存服務(wù)器,所述系統(tǒng)包括:匹配模塊,用以接收到一緩存查找請求時,分別在所述平衡樹和字典樹查找是否存在與所述緩存查找請求匹配的樹節(jié)點;響應(yīng)模塊,用以在所述匹配模塊判斷存在與所述緩存查找請求匹配的樹節(jié)點時,則從相應(yīng)的源站中獲取相應(yīng)的緩存內(nèi)容以響應(yīng)所述緩存查找請求;且用以在所述匹配模塊判斷不存在與所述緩存查找請求匹配的樹節(jié)點時,則直接以所述緩存服務(wù)器中的緩存內(nèi)容響應(yīng)所述緩存查找請求。

      為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種緩存服務(wù)器,包括如上所述的緩存內(nèi)容推送系統(tǒng)以及如上所述的緩存內(nèi)容查找系統(tǒng)。

      為實現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明還提供一種通信系統(tǒng),包括客戶端、如上所述的緩存服務(wù)器、以及源站,所述客戶端用于發(fā)送所述緩存推送請求或所述緩存查找請求。

      如上所述,本發(fā)明提出一種通信系統(tǒng)、緩存服務(wù)器、緩存內(nèi)容推送、查找方法及系統(tǒng),其中緩存服務(wù)器根據(jù)緩存推送請求的類型分別建立平衡樹和字典樹,且對接收的緩存推送請求的類型進(jìn)行判斷,當(dāng)類型為正則表達(dá)式時,根據(jù)平衡樹查找相匹配的樹節(jié)點,當(dāng)類型為相對路徑時,根據(jù)字典樹查找相匹配的樹節(jié)點,且查找到相匹配的節(jié)點后,對節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新。本發(fā)明靈活的根據(jù)緩存推送請求的推送規(guī)則的類型對緩存內(nèi)容分別進(jìn)行不同方式的存儲和查找,查找的時間復(fù)雜度低且準(zhǔn)確性高。

      附圖說明

      圖1顯示為本發(fā)明的通信系統(tǒng)在一具體實施例中的流程示意圖。

      圖2顯示為本發(fā)明的緩存內(nèi)容推送方法在一具體實施例中的流程示意圖。

      圖3顯示為發(fā)明一具體實施例中的平衡樹的結(jié)構(gòu)示意圖。

      圖4顯示為發(fā)明一具體實施例中的字典樹的結(jié)構(gòu)示意圖。

      圖5顯示為本發(fā)明的緩存內(nèi)容推送系統(tǒng)在一具體實施例中的模塊示意圖。

      圖6顯示為本發(fā)明的緩存內(nèi)容查找方法在一具體實施例中的流程示意圖。

      圖7顯示為本發(fā)明緩存內(nèi)容查找方法在一具體實施例中的應(yīng)用示意圖。

      圖8顯示為本發(fā)明的緩存內(nèi)容查找系統(tǒng)在一具體實施例中的模塊示意圖。

      元件標(biāo)號說明

      10 通信系統(tǒng)

      11 客戶端

      12 緩存服務(wù)器

      13 源站

      20 緩存內(nèi)容推送方法

      21~24 方法步驟

      50 緩存內(nèi)容推送系統(tǒng)

      51 推送規(guī)則類型判斷模塊

      52 第一推送模塊

      53 第二推送模塊

      60 緩存內(nèi)容查找方法

      61~64 方法步驟

      80 緩存內(nèi)容查找系統(tǒng)

      81 匹配模塊

      82 響應(yīng)模塊

      具體實施方式

      以下通過特定的具體實例說明本發(fā)明的實施方式,本領(lǐng)域技術(shù)人員可由本說明書所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點與功效。本發(fā)明還可以通過另外不同的具體實施方式加以實施或應(yīng)用,本說明書中的各項細(xì)節(jié)也可以基于不同觀點與應(yīng)用,在沒有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。需說明的是,在不沖突的情況下,以下實施例及實施例中的特征可以相互組合。

      需要說明的是,以下實施例中所提供的圖示僅以示意方式說明本發(fā)明的基本構(gòu)想,遂圖示中僅顯示與本發(fā)明中有關(guān)的組件而非按照實際實施時的組件數(shù)目、形狀及尺寸繪制,其實際實施時各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。

      本發(fā)明通過將內(nèi)容推送規(guī)則分為使用正則表達(dá)式和使用相對路徑,分別使用不同的存儲方式,同時改進(jìn)推送規(guī)則的查找方式,具體改進(jìn)點如下:

      1)采用正則表達(dá)式存儲的推送規(guī)則,不再使用循環(huán)遍歷的方式,而是采用構(gòu)建成一顆平衡樹,每個樹節(jié)點緩存一條推送規(guī)則。查找推送規(guī)則,則只需要查找該平衡樹。這樣,查找的時間復(fù)雜度即為樹高,由于是構(gòu)建為平衡樹,所以整體的復(fù)雜度從O(n)降為O(log n)。

      2)采用相對路徑存儲的推送規(guī)則,對其緩存方式進(jìn)行改進(jìn),存儲緩存推送規(guī)則不再像存儲鏈表的方式存儲,而是采用數(shù)據(jù)結(jié)構(gòu)中的字典樹進(jìn)行存儲,每個節(jié)點存儲相對路徑的某一級目錄。這樣從根節(jié)點到某一節(jié)點,路徑上經(jīng)過的字符串連接起來,為從根節(jié)點開始對應(yīng)的字符串,即一條完整的相對路徑。

      3)對查找緩存規(guī)則的方法的改進(jìn),緩存推送規(guī)則的匹配過程,不再使用循環(huán)遍歷的方式匹配規(guī)則,而是采用查找樹的方式,如果對應(yīng)的緩存文件有存在一條完整的推送規(guī)則,則認(rèn)為是匹配該規(guī)則的。這樣可以把匹配的時間復(fù)雜度從O(n)降到O(log n)。

      本發(fā)明應(yīng)用于如圖1所示的通信系統(tǒng)10中,所述通信系統(tǒng)10包括客戶端11、緩存服務(wù)器12、以及源站13,所述客戶端11用于發(fā)送所述緩存推送請求或所述緩存查找請求至所述緩存服務(wù)器12。于具體應(yīng)用中,所述客戶端11例如為智能手機(jī)或電腦等智能處理終端。

      具體,請參閱圖2,顯示為本發(fā)明的緩存內(nèi)容推送方法在一具體實施例中的流程示意圖。所述緩存內(nèi)容推送方法20應(yīng)用于所述緩存服務(wù)器12中,所述方法20包括:

      21:接收一緩存推送請求;所述緩存推送請求由所述客戶端11發(fā)出。

      22:判斷所述緩存推送請求的推送規(guī)則的類型;

      23:若所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式,則判斷是否已經(jīng)存在與推送規(guī)則的類型為正則表達(dá)式的緩存推送請求對應(yīng)的平衡樹;

      231:若存在,則在所述平衡樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;于本發(fā)明的具體實施例中,所述在所述平衡樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點的步驟還包括:若查找到,則根據(jù)所述緩存推送請求對相匹配的樹節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新;若沒查找到,則根據(jù)所述緩存推送請求在所述平衡樹中建立新的樹節(jié)點,且將所述緩存推送請求對應(yīng)的推送規(guī)則存儲于所述新的樹節(jié)點。

      232:若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建平衡樹;于本發(fā)明一具體實施例中,根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建平衡樹的步驟包括:在所述平衡樹的每個樹節(jié)點緩存一種正則表達(dá)式類型的推送規(guī)則。

      參閱圖3,顯示為發(fā)明一具體實施例中的平衡樹的結(jié)構(gòu)示意圖。圖3所示的平衡樹包括6個樹節(jié)點,且每個樹節(jié)點分別對應(yīng)一條推送規(guī)則,分別為推送規(guī)則1、推送規(guī)則2、推送規(guī)則3、推送規(guī)則4、推送規(guī)則5、以及推送規(guī)則6。

      即內(nèi)容推送中像正則表達(dá)式這類無明顯特性的推送規(guī)則,優(yōu)化其存儲的數(shù)據(jù)結(jié)構(gòu),采用平衡樹的方式存儲。其中每個樹節(jié)點,即一條緩存推送規(guī)則。推送規(guī)則的存儲結(jié)構(gòu)通過壓縮整個鏈表的長度,將其轉(zhuǎn)化為樹高。同時保證樹的平衡性,使其不會退化為一條鏈表。這樣對于該類的推送規(guī)則查找的時間復(fù)雜度降為O(log n)。對于需要頻繁使用查找的服務(wù)器來說,大大縮短了其查找時間,從而提供更加快速高效的服務(wù)。

      24:若所述緩存推送請求的推送規(guī)則的類型為相對路徑,則判斷是否已經(jīng)存在與推送規(guī)則的類型為相對路徑的緩存推送請求對應(yīng)的字典樹;

      241:若存在,則在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;于本發(fā)明的具體實施例中,所述在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點的步驟還包括:若查找到,則根據(jù)所述緩存推送請求對相匹配的樹節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新;若沒查找到,則根據(jù)所述緩存推送請求在所述字典樹中建立新的樹節(jié)點,且將所述緩存推送請求對應(yīng)的推送規(guī)則存儲于所述新的樹節(jié)點。

      進(jìn)一步的,在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點的步驟包括:將所述緩存推送請求的推送規(guī)則逐級進(jìn)行分解以獲得多層級的目錄,且根據(jù)預(yù)設(shè)的所述目錄的層級優(yōu)先級,在所述字典樹中依次查找與所述緩存推送請求的推送規(guī)則的各層級的目錄匹配的樹節(jié)點,且當(dāng)優(yōu)先級最低的層級對應(yīng)的所述目錄在所述字典樹中查找到對應(yīng)的樹節(jié)點時,判斷查找到與當(dāng)前緩存推送請求的推送規(guī)則匹配的樹節(jié)點。

      242:若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建字典樹。根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建字典樹的步驟包括:將相對路徑類型的所述推送規(guī)則分解為多各層級的目錄,所述字典樹的每個樹節(jié)點緩存其中一級所述目錄。

      參閱圖4,顯示為發(fā)明一具體實施例中的字典樹的結(jié)構(gòu)示意圖。圖4所示的字典樹包括6個樹節(jié)點,且每個樹節(jié)點分別對應(yīng)一個目錄層級,且樹節(jié)點“目錄b”對應(yīng)的推送規(guī)則為“/a/b”,則6,且樹節(jié)點“目錄e”對應(yīng)的推送規(guī)則為“/d/e”,且樹節(jié)點“目錄a”對應(yīng)的推送規(guī)則為“/a”,其他以此類推。

      即內(nèi)容推送中以相對路徑URI推送的規(guī)則,不再使用鏈表的方式進(jìn)行存儲,采用字典樹進(jìn)行緩存推送規(guī)則。每個樹節(jié)點存儲相對路徑的某一級目錄。從根節(jié)點到某個節(jié)點的完整路徑,即對應(yīng)一條緩存推送規(guī)則。匹配緩存的過程,減少了規(guī)則匹配的遍歷時間。同時不使用正則表達(dá)式,免去了編譯正則表達(dá)式以及正則表達(dá)式復(fù)雜的匹配過程。極大的減少了性能的消耗。對時間成本以及系統(tǒng)資源兩方面都進(jìn)行了優(yōu)化。

      于本發(fā)明一具體實施例中,根據(jù)所述緩存推送請求對相匹配的樹節(jié)點的緩存內(nèi)容進(jìn)行更新的步驟包括:根據(jù)所述緩存推送請求從對應(yīng)的源站13中獲取相應(yīng)的緩存內(nèi)容對相匹配的樹節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新。

      所述緩存內(nèi)容推送方法使用樹進(jìn)行推送規(guī)則的匹配,而非循環(huán)遍歷鏈表的方式。提升了匹配規(guī)則的速度。對于平衡樹,整體的查找時間降為O(log n)。對于使用的字典樹,其時間復(fù)雜度由目錄的層級決定,由于相對路徑的目錄層級并不會很多,所以時間復(fù)雜度接近為O(1)。這樣整體對每個緩存進(jìn)行規(guī)則的匹配時間上做了較多優(yōu)化。不管是以何種方式進(jìn)行推送,都能提高效率。

      請參閱圖5,顯示為本發(fā)明的緩存內(nèi)容推送系統(tǒng)在一具體實施例中的模塊示意圖。所述緩存內(nèi)容推送系統(tǒng)50包括:

      推送規(guī)則類型判斷模塊51用以接收到一緩存推送請求時,判斷所述緩存推送請求的推送規(guī)則的類型,若所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式則執(zhí)行第一推送模塊52,若所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式則執(zhí)行第二推送模塊53;

      所述第一推送模塊52用以在所述緩存推送請求的推送規(guī)則的類型為正則表達(dá)式時,判斷是否已經(jīng)存在與推送規(guī)則的類型為正則表達(dá)式的緩存推送請求對應(yīng)的平衡樹,若存在,則在所述平衡樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建平衡樹;

      所述第二推送模塊53用以在所述緩存推送請求的推送規(guī)則的類型為相對路徑時,判斷是否已經(jīng)存在與推送規(guī)則的類型為相對路徑的緩存推送請求對應(yīng)的字典樹,若存在,則在所述字典樹查找與所述緩存推送請求的推送規(guī)則匹配的樹節(jié)點;若不存在,則根據(jù)所述緩存推送請求的推送規(guī)則構(gòu)建字典樹。

      所述緩存內(nèi)容推送系統(tǒng)50為與所述緩存內(nèi)容推送方法20對應(yīng)的系統(tǒng)項,兩者技術(shù)方案一一對應(yīng),所有關(guān)于所述緩存內(nèi)容推送方法20的描述均可應(yīng)用于本實施例中,在此不加贅述。

      進(jìn)一步參閱圖6,顯示為本發(fā)明的緩存內(nèi)容查找方法在一具體實施例中的流程示意圖。所述緩存內(nèi)容查找方法60應(yīng)用于根據(jù)如上所述的緩存服務(wù)器12中,所述方法60包括:

      61:接收一緩存查找請求;

      62分別在所述平衡樹和字典樹查找是否存在與所述緩存查找請求匹配的樹節(jié)點;若存在,則執(zhí)行步驟63;若不存在,則執(zhí)行步驟64;

      63:從相應(yīng)的源站中獲取相應(yīng)的緩存內(nèi)容以響應(yīng)所述緩存查找請求;

      64:直接以所述緩存服務(wù)器中的緩存內(nèi)容響應(yīng)所述緩存查找請求。

      于本發(fā)明一具體實施例中,當(dāng)查找到與所述緩存查找請求匹配的樹節(jié)點時,還包括:判斷當(dāng)前樹節(jié)點對應(yīng)的緩存內(nèi)容是否可用,且當(dāng)不可用時,從相應(yīng)的源站中獲取相應(yīng)的緩存內(nèi)容以響應(yīng)所述緩存查找請求。

      進(jìn)一步結(jié)合圖7,顯示為本發(fā)明緩存內(nèi)容查找方法在一具體實施例中的應(yīng)用示意圖。且本實施例中以字典樹為例進(jìn)行查找說明,具體為:

      1)從客戶端11的請求URL中獲取到緩存內(nèi)容的相對URI,從域名后的根目錄開始,逐級分解,將每個目錄分解出來。

      2)對緩存內(nèi)容的URI從根目錄開始的每個目錄,查找字典樹,如果從字典樹的根部開始存在該目錄,則繼續(xù)查找下一級目錄,同時字典樹也從查找到的該目錄節(jié)點繼續(xù)往下匹配。如果不存在匹配該目錄的節(jié)點,則說明不存在匹配該緩存內(nèi)容的規(guī)則,所以緩存內(nèi)容不需要刷新,直接返回給客戶端。如果存在一條完整的推送規(guī)則,獲取推送規(guī)則的相關(guān)信息,判斷該緩存內(nèi)容是否可以使用。

      3)如果緩存內(nèi)容不可以繼續(xù)使用,則繼續(xù)分解目錄且繼續(xù)查找字典樹,直到找不到樹節(jié)點匹配。

      4)如果緩存內(nèi)容可用,且緩存過期,則到后端(源站13)重新更新緩存內(nèi)容,然后返回給客戶端11。

      進(jìn)一步參閱圖8,顯示為本發(fā)明的緩存內(nèi)容查找系統(tǒng)在一具體實施例中的模塊示意圖。應(yīng)用于根據(jù)如上所述的緩存內(nèi)容推送系統(tǒng)50對緩存內(nèi)容進(jìn)行存儲和更新的緩存服務(wù)器12,所述緩存內(nèi)容查找系統(tǒng)80包括:

      匹配模塊81,用以接收到一緩存查找請求時,分別在所述平衡樹和字典樹查找是否存在與所述緩存查找請求匹配的樹節(jié)點;

      響應(yīng)模塊82,用以在所述匹配模塊81判斷存在與所述緩存查找請求匹配的樹節(jié)點時,則從相應(yīng)的源站中獲取相應(yīng)的緩存內(nèi)容以響應(yīng)所述緩存查找請求;且用以在所述匹配模塊81判斷不存在與所述緩存查找請求匹配的樹節(jié)點時,則直接以所述緩存服務(wù)器中的緩存內(nèi)容響應(yīng)所述緩存查找請求。

      所述緩存內(nèi)容查找系統(tǒng)80為與所述緩存內(nèi)容查找方法60對應(yīng)的系統(tǒng)項,兩者技術(shù)方案一一對應(yīng),所有關(guān)于所述緩存內(nèi)容查找方法60的描述均可應(yīng)用于本實施例中,在此不加贅述。

      綜上所述,本發(fā)明提出一種通信系統(tǒng)、緩存服務(wù)器、緩存內(nèi)容推送、查找方法及系統(tǒng),其中緩存服務(wù)器根據(jù)緩存推送請求的類型分別建立平衡樹和字典樹,且對接收的緩存推送請求的類型進(jìn)行判斷,當(dāng)類型為正則表達(dá)式時,根據(jù)平衡樹查找相匹配的樹節(jié)點,當(dāng)類型為相對路徑時,根據(jù)字典樹查找相匹配的樹節(jié)點,且查找到相匹配的節(jié)點后,對節(jié)點對應(yīng)的緩存內(nèi)容進(jìn)行更新。本發(fā)明靈活的根據(jù)緩存推送請求的類型對緩存內(nèi)容分別進(jìn)行不同方式的存儲和查找,查找的時間復(fù)雜度低且準(zhǔn)確性高。所以,本發(fā)明有效克服了現(xiàn)有技術(shù)中的種種缺點而具高度產(chǎn)業(yè)利用價值。

      上述實施例僅例示性說明本發(fā)明的原理及其功效,而非用于限制本發(fā)明。任何熟悉此技術(shù)的人士皆可在不違背本發(fā)明的精神及范疇下,對上述實施例進(jìn)行修飾或改變。因此,舉凡所屬技術(shù)領(lǐng)域中具有通常知識者在未脫離本發(fā)明所揭示的精神與技術(shù)思想下所完成的一切等效修飾或改變,仍應(yīng)由本發(fā)明的權(quán)利要求所涵蓋。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1