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

數(shù)據(jù)緩存方法及系統(tǒng)的制作方法

文檔序號:7862764閱讀:196來源:國知局
專利名稱:數(shù)據(jù)緩存方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別是涉及一種數(shù)據(jù)緩存方法及系統(tǒng)。
背景技術(shù)
目前,越來越多的企業(yè)、機構(gòu)通過網(wǎng)絡(luò)來進行辦公和開展業(yè)務(wù),而且對網(wǎng)絡(luò)的質(zhì)量要求也越來越高。日益增加的數(shù)據(jù)量致使企業(yè)、機構(gòu)在網(wǎng)絡(luò)設(shè)施中投入成本越來越高。但是,據(jù)統(tǒng)計,網(wǎng)絡(luò)上大約70%的數(shù)據(jù)量都是冗余的,所以如果能削減這部分的冗余數(shù)據(jù)量,那么就能大幅提升網(wǎng)絡(luò)帶寬,降低網(wǎng)絡(luò)投入成本,提升辦公效率。各大廣域網(wǎng)優(yōu)化廠商的廣域網(wǎng)優(yōu)化系統(tǒng)除了采用傳統(tǒng)的壓縮算法壓縮數(shù)據(jù)外,常采取數(shù)據(jù)緩存的辦法來削減流量。通常在廣域網(wǎng)兩端都存儲相同的數(shù)據(jù),通過Hash查找,編碼等手段達到削減流量,即雙邊緩存。
然而傳統(tǒng)技術(shù)中的雙邊緩存方法中,服務(wù)端和客戶端優(yōu)化系統(tǒng)均需要緩存數(shù)據(jù),浪費了不少存儲資源,使得存儲資源的利用率不高。

發(fā)明內(nèi)容
基于此,有必要提供一種能提高存儲資源的利用率的數(shù)據(jù)緩存方法。一種數(shù)據(jù)緩存方法,包括客戶端接收下發(fā)數(shù)據(jù)包,計算所述下發(fā)數(shù)據(jù)包的特征碼;所述客戶端根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包,若是,則獲取與所述特征碼的生成順序?qū)?yīng)的特征碼序列并上傳;服務(wù)器獲取原始數(shù)據(jù)包,計算所述原始數(shù)據(jù)包的特征碼;所述服務(wù)器判斷所述原始數(shù)據(jù)包的特征碼是否屬于接收到的所述特征碼序列,若是,則獲取與所述原始數(shù)據(jù)包的特征碼對應(yīng)的確認信息并返回;所述客戶端根據(jù)接收到的確認信息在所述緩存中獲取數(shù)據(jù)包并轉(zhuǎn)發(fā)。在其中一個實施例中,所述客戶端根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包的步驟之后還包括若緩存中不存在所述下發(fā)數(shù)據(jù)包,則所述客戶端根據(jù)所述特征碼將所述下發(fā)數(shù)據(jù)包存儲到緩存中。在其中一個實施例中,所述客戶端根據(jù)所述特征碼將所述下發(fā)數(shù)據(jù)包存儲到緩存中的步驟為根據(jù)所述特征碼的生成順序?qū)⑺鎏卣鞔a對應(yīng)的下發(fā)數(shù)據(jù)包順序存儲到緩存中。在其中一個實施例中,所述服務(wù)器獲取與所述特征碼對應(yīng)的確認信息的步驟為所述服務(wù)器獲取屬于接收到的特征碼序列的所述原始數(shù)據(jù)包的特征碼的集合;所述服務(wù)器根據(jù)所述獲取到的特征碼的集合生成確認信息。在其中一個實施例中,所述客戶端根據(jù)接收到的確認信息在所述緩存中獲取數(shù)據(jù)包的步驟為
所述客戶端在所述接收到的確認信息中提取特征碼的集合;所述客戶端提取所述特征碼的集合中的特征碼,根據(jù)所述特征碼在所述緩存中獲取數(shù)據(jù)包。此外,還有必要提供一種能提高存儲資源的利用率的數(shù)據(jù)緩存系統(tǒng)。一種數(shù)據(jù)緩存系統(tǒng),包括客戶端和服務(wù)器,所述客戶端包括數(shù)據(jù)包接收模塊,用于接收下發(fā)數(shù)據(jù)包,計算所述下發(fā)數(shù)據(jù)包的特征碼;特征碼查詢模塊,用于根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包;特征碼上傳模塊,用于在所述緩存中存在所述下發(fā)數(shù)據(jù)包時,獲取與所述特征碼的生成順序?qū)?yīng)的特征碼序列并上傳;
所述服務(wù)器包括數(shù)據(jù)包獲取模塊,用于獲取原始數(shù)據(jù)包,計算所述原始數(shù)據(jù)包的特征碼;特征碼查詢模塊,用于判斷所述原始數(shù)據(jù)包的特征碼是否屬于接收到的所述特征碼序列;特征碼反饋模塊,用于在所述原始數(shù)據(jù)包的特征碼屬于接收到的所述特征碼序列時,獲取與所述特征碼對應(yīng)的確認信息并返回;所述客戶端的數(shù)據(jù)包接收模塊還用于根據(jù)接收到的確認信息在所述緩存中獲取下發(fā)數(shù)據(jù)包并轉(zhuǎn)發(fā)。在其中一個實施例中,所述客戶端還包括數(shù)據(jù)包緩存模塊,用于在緩存中不存在所述下發(fā)數(shù)據(jù)包時,根據(jù)所述特征碼將所述下發(fā)數(shù)據(jù)包存儲到緩存中。在其中一個實施例中,所述數(shù)據(jù)包緩存模塊還用于根據(jù)所述特征碼的生成順序?qū)⑺鎏卣鞔a對應(yīng)的下發(fā)數(shù)據(jù)包順序存儲到緩存中。在其中一個實施例中,所述特征碼反饋模塊還用于獲取屬于接收到的特征碼序列的所述原始數(shù)據(jù)包的特征碼的集合,根據(jù)所述獲取到的特征碼的集合生成確認信息。在其中一個實施例中,所述數(shù)據(jù)包接收模塊還用于在所述接收到的確認信息中提取特征碼的集合,提取所述特征碼的集合中的特征碼,根據(jù)所述特征碼在所述緩存中獲取數(shù)據(jù)包。上述數(shù)據(jù)緩存方法和系統(tǒng)中,客戶端在數(shù)據(jù)包命中時,對后續(xù)可能接收的數(shù)據(jù)包進行了預(yù)測,即按照緩存中的存儲順序獲取特征碼序列并上傳服務(wù)器,服務(wù)器不需要將數(shù)據(jù)包發(fā)送給客戶端來判斷該數(shù)據(jù)包是否在緩存中命中,而由服務(wù)器根據(jù)接收到的特征碼序列進行判斷,使得只需要在客戶端設(shè)置緩存即可實現(xiàn)傳統(tǒng)技術(shù)中的緩存效果,從而節(jié)省了服務(wù)器的存儲空間,提高了存儲資源的利用率。并且,在實際網(wǎng)絡(luò)環(huán)境中,相同的網(wǎng)絡(luò)資源在進行傳輸時,通常劃分成的相同的數(shù)據(jù)包序列順序傳輸,因此,若在網(wǎng)絡(luò)資源對應(yīng)的數(shù)據(jù)包序列中的某個數(shù)據(jù)包在緩存中命中時,按順序傳輸?shù)臄?shù)據(jù)包序列中的數(shù)據(jù)包在緩存中的命中率較高,從而提高了數(shù)據(jù)包的命中率,減少傳輸?shù)臄?shù)據(jù)量,從而降低了網(wǎng)絡(luò)擁塞程度。


圖I為一個實施例中數(shù)據(jù)緩存方法的流程圖;圖2為一個實施例中數(shù)據(jù)緩存過程的時序圖3為一個實施例中數(shù)據(jù)緩存系統(tǒng)的結(jié)構(gòu)示意圖;圖4為另一個實施例中數(shù)據(jù)緩存系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
在一個實施例中,數(shù)據(jù)緩存系統(tǒng)包括服務(wù)器和客戶端,服務(wù)器設(shè)置在推送數(shù)據(jù)包的服務(wù)節(jié)點處,客戶端設(shè)置在接收數(shù)據(jù)包的客戶節(jié)點處。服務(wù)節(jié)點通過服務(wù)器將數(shù)據(jù)包發(fā)送給客戶節(jié)點,客戶節(jié)點通過客戶端接收該數(shù)據(jù)包。在本實施例中,如圖I所示,一種數(shù)據(jù)緩存方法,包括步驟S102,客戶端接收下發(fā)數(shù)據(jù)包,計算下發(fā)數(shù)據(jù)包的特征碼。下發(fā)數(shù)據(jù)包即服務(wù)節(jié)點通過服務(wù)器向客戶節(jié)點發(fā)送的數(shù)據(jù)包??蛻艄?jié)點通過客戶端接收該下發(fā)數(shù)據(jù)包??蛻舳丝赏ㄟ^預(yù)設(shè)的哈希函數(shù)計算數(shù)據(jù)包的哈希值,并將哈希值作為下發(fā)數(shù)據(jù)包的特征碼。例如,可通過MD5、CRC等編碼算法對下發(fā)數(shù)據(jù)包進行編碼得到特征碼。在本實施例中,客戶端接收下發(fā)數(shù)據(jù)包之后轉(zhuǎn)發(fā)該下發(fā)數(shù)據(jù)包。客戶端將該下發(fā)數(shù)據(jù)包轉(zhuǎn)發(fā)給對應(yīng)的客戶節(jié)點。步驟S104,客戶端根據(jù)特征碼判斷緩存中是否存在下發(fā)數(shù)據(jù)包,若是,則執(zhí)行步驟S106獲取與特征碼的生成順序?qū)?yīng)的特征碼序列并上傳。在本實施例中,若客戶端檢測到緩存中不存在下發(fā)數(shù)據(jù)包,則執(zhí)行步驟S108客戶端根據(jù)特征碼將下發(fā)數(shù)據(jù)包存儲到緩存中。進一步的,根據(jù)特征碼將下發(fā)數(shù)據(jù)包存儲到緩存中的步驟可具體為根據(jù)特征碼的生成順序?qū)⑻卣鞔a對應(yīng)的下發(fā)數(shù)據(jù)包順序存儲到緩存中。 客戶端可通過比對特征碼來判斷緩存中是否存在與下發(fā)數(shù)據(jù)包相同的數(shù)據(jù),若存在,則表示該下發(fā)數(shù)據(jù)包在緩存中命中,否則,表示未命中??蛻舳嗽谙掳l(fā)數(shù)據(jù)包未命中時,根據(jù)生成對應(yīng)的特征碼的先后順序(即接收到下發(fā)數(shù)據(jù)包的先后順序)將下發(fā)數(shù)據(jù)包順序存儲。在本實施例中,下發(fā)數(shù)據(jù)包命中時,客戶端可以該命中的下發(fā)數(shù)據(jù)包的特征碼為起點,按照特征碼的生成順序在緩存中獲取預(yù)設(shè)個數(shù)的數(shù)據(jù)包對應(yīng)的特征碼構(gòu)成特征碼序列。特征碼序列的長度可根據(jù)網(wǎng)絡(luò)環(huán)境進行調(diào)節(jié)。在一個實施例中,下發(fā)數(shù)據(jù)包未命中時,客戶端可將下發(fā)數(shù)據(jù)包按接收順序編號,然后根據(jù)編號對下發(fā)數(shù)據(jù)包進行存儲。在另一個實施例中,可將數(shù)據(jù)包按照緩存的物理存儲區(qū)域順序存儲。例如,緩存的物理存儲介質(zhì)可以是磁盤,可將數(shù)據(jù)包按照磁盤中連續(xù)的區(qū)塊按順序存儲。步驟S110,服務(wù)器獲取原始數(shù)據(jù)包,計算原始數(shù)據(jù)包的特征碼。原始數(shù)據(jù)包為服務(wù)節(jié)點需要發(fā)送給客戶節(jié)點的數(shù)據(jù)包,先由服務(wù)器截獲該原始數(shù)據(jù)包,然后向客戶端轉(zhuǎn)發(fā)該原始數(shù)據(jù)包。客戶端接收到的該轉(zhuǎn)發(fā)的原始數(shù)據(jù)包即前述的下發(fā)數(shù)據(jù)包。在本實施例中,服務(wù)器計算原始數(shù)據(jù)包的特征碼的方法與客戶端計算下發(fā)數(shù)據(jù)包的特征碼的方法相同,即同一個數(shù)據(jù)包在服務(wù)器和客戶端計算得到的特征碼相同。步驟S112,服務(wù)器判斷原始數(shù)據(jù)包的特征碼是否屬于接收到的特征碼序列,若是,則執(zhí)行步驟S114獲取與原始數(shù)據(jù)包的特征碼對應(yīng)的確認信息并返回。服務(wù)器接收到的特征碼序列即客戶端上傳的特征碼序列。若原始數(shù)據(jù)包的特征碼屬于接收到的特征碼序列,則表示客戶端的緩存中已存在與該原始數(shù)據(jù)包的數(shù)據(jù)內(nèi)容相同的數(shù)據(jù),即原始數(shù)據(jù)包在客戶端緩存中命中;若原始數(shù)據(jù)包的特征碼不屬于接收到的特征碼序列,則表示客戶端的緩存中不存在與該原始數(shù)據(jù)包的數(shù)據(jù)內(nèi)容相同的數(shù)據(jù)。在本實施例中,若原始數(shù)據(jù)包的特征碼不屬于接收到的特征碼序列,服務(wù)器將接收到的特征碼序列清除,并執(zhí)行步驟S116將原始數(shù)據(jù)包轉(zhuǎn)發(fā)至客戶端。在本實施例中,當原始數(shù)據(jù)包的特征碼屬于接收到的特征碼序列時,可獲取原始數(shù)據(jù)包的特征碼,并將該原始數(shù)據(jù)包的特征碼作為確認信息。步驟S118,客戶端根據(jù)接收到的確認信息在緩存中獲取數(shù)據(jù)包并轉(zhuǎn)發(fā)。在本實施例中,可獲取確認信息對應(yīng)的特征碼,并在緩存中根據(jù)該特征碼獲取對 應(yīng)的數(shù)據(jù)包。確認信息為根據(jù)原始數(shù)據(jù)包的特征碼生成,因此與原始數(shù)據(jù)包的特征碼具有對應(yīng)關(guān)系,可根據(jù)該對應(yīng)關(guān)系獲取確認信息對應(yīng)的特征碼。本實施例中,確認信息即為原始數(shù)據(jù)包的特征碼,可直接根據(jù)確認信息在緩存中通過查詢獲取對應(yīng)的數(shù)據(jù)包。在一個實施例中,如圖2所示,圖2示出了服務(wù)器從服務(wù)節(jié)點獲取原始數(shù)據(jù)包并轉(zhuǎn)發(fā)至客戶端后該原始數(shù)據(jù)包在緩存中命中的場景。在一個實施例中,若客戶端根據(jù)確認信息在緩存中獲取下發(fā)數(shù)據(jù)包失敗,則客戶端可發(fā)起重傳請求,重傳請求中包括需要重傳的數(shù)據(jù)包的特征碼;服務(wù)器接收到重傳請求后,可在重傳請求中提取特征碼,然后重新發(fā)送該特征碼對應(yīng)的原始數(shù)據(jù)包。在一個實施例中,服務(wù)器獲取與特征碼對應(yīng)的確認信息的步驟可具體為服務(wù)器獲取屬于接收到的特征碼序列的原始數(shù)據(jù)包的特征碼的集合;服務(wù)器根據(jù)獲取到的特征碼的集合生成確認信息。進一步的,客戶端根據(jù)接收到的確認信息在緩存中獲取數(shù)據(jù)包的步驟可具體為客戶端在接收到的確認信息中提取特征碼集合;客戶端提取特征碼集合中的特征碼,根據(jù)特征碼在緩存中獲取數(shù)據(jù)包。例如,數(shù)據(jù)包的特征碼可以是數(shù)字形式的特征碼,若客戶端上傳的特征碼序列為I至10,則服務(wù)器每接收一個數(shù)據(jù)包則計算其特征碼,若計算得到獲取到的前6個原始數(shù)據(jù)包的特征碼按照獲取的順序分別為I至6,第7個獲取到的原始數(shù)據(jù)包的特征碼為12,則可將特征碼I和6作為確認信息并返回,并將第7個獲取到的原始數(shù)據(jù)包發(fā)送給客戶端??蛻舳私邮盏絀和6的確認信息后,可在緩存中按順序獲取對應(yīng)特征碼I至6的數(shù)據(jù)包,并發(fā)送給客戶節(jié)點。也就是說服務(wù)器在獲取到原始數(shù)據(jù)包之后,并不是根據(jù)每個原始數(shù)據(jù)包的特征碼均生成并返回一個確認信息,而是在判斷多個原始數(shù)據(jù)包是否命中之后,根據(jù)該多個原始數(shù)據(jù)包各自的特征碼生成確認信息。根據(jù)多個特征碼生成確認信息可以減少服務(wù)器返回確認信息的次數(shù),從而進一步減少帶寬占用,降低網(wǎng)絡(luò)擁塞程度。在一個實施例中,如圖3所示,數(shù)據(jù)緩存系統(tǒng)包括客戶端100和服務(wù)器200,客戶端100設(shè)置在接收數(shù)據(jù)包的客戶節(jié)點處,服務(wù)器200設(shè)置在推送數(shù)據(jù)包的服務(wù)節(jié)點處。服務(wù)節(jié)點通過服務(wù)器200將數(shù)據(jù)包發(fā)送給客戶節(jié)點,客戶節(jié)點通過客戶端100接收該數(shù)據(jù)包。在本實施例中,如圖3所示,客戶端100包括數(shù)據(jù)包接收模塊102、特征碼查詢模塊104、特征碼上傳模塊106,其中數(shù)據(jù)包接收模塊102,用于獲取下發(fā)數(shù)據(jù)包,計算所述下發(fā)數(shù)據(jù)包的特征碼;下發(fā)數(shù)據(jù)包即服務(wù)節(jié)點通過服務(wù)器200向客戶節(jié)點發(fā)送的數(shù)據(jù)包??蛻艄?jié)點通過數(shù)據(jù)包接收模塊102接收該下發(fā)數(shù)據(jù)包。數(shù)據(jù)包接收模塊102可用于通過預(yù)設(shè)的哈希函數(shù)計算數(shù)據(jù)包的哈希值,并將哈希值作為下發(fā)數(shù)據(jù)包的特征碼。例如,可通過MD5、CRC等編碼算法對下發(fā)數(shù)據(jù)包進行編碼得到特征碼。在本實施例中,數(shù)據(jù)包接收模塊102可用于接收下發(fā)數(shù)據(jù)包之后轉(zhuǎn)發(fā)該下發(fā)數(shù)據(jù)包。數(shù)據(jù)包接收模塊102可用于將該下發(fā)數(shù)據(jù)包轉(zhuǎn)發(fā)給對應(yīng)的客戶節(jié)點。特征碼查詢模塊104,用于根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包。
在本實施例中,如圖4所示,客戶端100還包括數(shù)據(jù)包緩存模塊108,用于在緩存中不存在所述下發(fā)數(shù)據(jù)包時,根據(jù)特征碼將下發(fā)數(shù)據(jù)包存儲到緩存中。進一步的,數(shù)據(jù)包緩存模塊108還用于根據(jù)特征碼的生成順序?qū)⑻卣鞔a對應(yīng)的下發(fā)數(shù)據(jù)包順序存儲到緩存中。特征碼查詢模塊104可用于通過比對特征碼來判斷緩存中是否存在與下發(fā)數(shù)據(jù)包相同的數(shù)據(jù),若存在,則表示該下發(fā)數(shù)據(jù)包在緩存中命中,否則,表示未命中。數(shù)據(jù)包緩存模塊108可用于在下發(fā)數(shù)據(jù)包未命中時,根據(jù)生成對應(yīng)的特征碼的先后順序(即接收到下發(fā)數(shù)據(jù)包的先后順序)將下發(fā)數(shù)據(jù)包順序存儲。在一個實施例中,下發(fā)數(shù)據(jù)包未命中時,數(shù)據(jù)包緩存模塊108可用于將下發(fā)數(shù)據(jù)包按接收順序編號,然后根據(jù)編號對下發(fā)數(shù)據(jù)包進行存儲。在另一個實施例中,數(shù)據(jù)包緩存模塊108可用于將數(shù)據(jù)包按照緩存的物理存儲區(qū)域順序存儲。例如,緩存的物理存儲介質(zhì)可以是磁盤,可將數(shù)據(jù)包按照磁盤中連續(xù)的區(qū)塊按順序存儲。特征碼上傳模塊106,用于在緩存中存在下發(fā)數(shù)據(jù)包時,獲取與特征碼的生成順序?qū)?yīng)的特征碼序列并上傳。在本實施例中,下發(fā)數(shù)據(jù)包命中時,特征碼上傳模塊106可用于以該命中的下發(fā)數(shù)據(jù)包的特征碼為起點,按照特征碼的生成順序在緩存中獲取預(yù)設(shè)個數(shù)的數(shù)據(jù)包對應(yīng)的特征碼構(gòu)成特征碼序列。特征碼序列的長度可根據(jù)網(wǎng)絡(luò)環(huán)境進行調(diào)節(jié)。在本實施例中,服務(wù)器200包括數(shù)據(jù)包獲取模塊202、特征碼校驗?zāi)K204以及特征碼反饋模塊206,其中數(shù)據(jù)包獲取模塊202,用于獲取原始數(shù)據(jù)包,計算原始數(shù)據(jù)包的特征碼。原始數(shù)據(jù)包為服務(wù)節(jié)點需要發(fā)送給客戶節(jié)點的數(shù)據(jù)包,先由數(shù)據(jù)包獲取模塊202截獲該原始數(shù)據(jù)包,然后向客戶端100轉(zhuǎn)發(fā)該原始數(shù)據(jù)包??蛻舳?00接收到的該轉(zhuǎn)發(fā)的原始數(shù)據(jù)包即為前述的下發(fā)數(shù)據(jù)包。在本實施例中,數(shù)據(jù)包獲取模塊202計算原始數(shù)據(jù)包的特征碼的方法與數(shù)據(jù)包接收模塊102計算下發(fā)數(shù)據(jù)包的特征碼的方法相同,即同一個數(shù)據(jù)包在客戶端100和服務(wù)器200計算得到的特征碼相同。特征碼校驗?zāi)K204,用于判斷原始數(shù)據(jù)包的特征碼是否屬于接收到的特征碼序列。特征碼反饋模塊206,用于在原始數(shù)據(jù)包的特征碼屬于接收到的特征碼序列時,獲取與原始數(shù)據(jù)包的特征碼對應(yīng)的確認信息并返回。接收到的特征碼序列即特征碼上傳模塊106上傳的特征碼序列。若原始數(shù)據(jù)包的特征碼屬于接收到的特征碼序列,則表示客戶端100的緩存中已存在與該原始數(shù)據(jù)包的數(shù)據(jù)內(nèi)容相同的數(shù)據(jù),即原始數(shù)據(jù)包在客戶端100的緩存中命中;若原始數(shù)據(jù)包的特征碼不屬于接收到的特征碼序列,則表示客戶端100的緩存中不存在與該原始數(shù)據(jù)包的數(shù)據(jù)內(nèi)容相同的數(shù)據(jù)。在本實施例中,特征碼校驗?zāi)K204還用于在原始數(shù)據(jù)包的特征碼不屬于接收到的特征碼序列時,將接收到的特征碼序列清除,并將原始數(shù)據(jù)包轉(zhuǎn)發(fā)至客戶端。在本實施例中,特征碼反饋模塊206可用于在原始數(shù)據(jù)包的特征碼屬于接收到的特征碼序列時,獲取原始數(shù)據(jù)包的特征碼,并將該原始數(shù)據(jù)包的特征碼作為確認信息。
在本實施例中,客戶端100的數(shù)據(jù)包接收模塊106還用于根據(jù)接收到的確認信息在緩存中獲取數(shù)據(jù)包并轉(zhuǎn)發(fā)。在本實施例中,數(shù)據(jù)包接收模塊106還可用于獲取確認信息對應(yīng)的特征碼,并在緩存中根據(jù)該特征碼獲取對應(yīng)的數(shù)據(jù)包。確認信息為根據(jù)原始數(shù)據(jù)包的特征碼生成,因此與原始數(shù)據(jù)包的特征碼具有對應(yīng)關(guān)系。數(shù)據(jù)包接收模塊106可用于根據(jù)該對應(yīng)關(guān)系獲取確認信息對應(yīng)的特征碼。本實施例中,確認信息即為原始數(shù)據(jù)包的特征碼,數(shù)據(jù)包接收模塊106可用于直接根據(jù)確認信息在緩存中通過查詢獲取對應(yīng)的數(shù)據(jù)包。在一個實施例中,如圖2所示,圖2示出了服務(wù)器200從服務(wù)節(jié)點獲取原始數(shù)據(jù)包并轉(zhuǎn)發(fā)至客戶端100后該原始數(shù)據(jù)包在緩存中命中的場景。在一個實施例中,客戶端100還包括重傳請求模塊(圖中未標示),服務(wù)器200還包括重傳響應(yīng)模塊(圖中未標示)。若數(shù)據(jù)包接收模塊106根據(jù)確認信息在緩存中獲取數(shù)據(jù)包失敗,則客戶端的重傳請求模塊可用于發(fā)起重傳請求,重傳請求中包括需要重傳的數(shù)據(jù)包的特征碼。服務(wù)器200的重傳響應(yīng)模塊接收到重傳請求后,可在重傳請求中提取特征碼,然后重新發(fā)送該特征碼對應(yīng)的原始數(shù)據(jù)包。在一個實施例中,特征碼反饋模塊206還可用于獲取屬于接收到的特征碼序列的原始數(shù)據(jù)包的特征碼的集合,根據(jù)獲取到的特征碼的集合生成確認信息。進一步的,數(shù)據(jù)包接收模塊102還可用于在接收到的確認信息中提取特征碼集合,提取特征碼集合中的特征碼,根據(jù)特征碼在緩存中獲取數(shù)據(jù)包。例如,數(shù)據(jù)包的特征碼可以是數(shù)字形式的特征碼,若客戶端上傳的特征碼序列為I至10,則服務(wù)器每接收一個數(shù)據(jù)包則計算其特征碼,若計算得到獲取到的前6個原始數(shù)據(jù)包的特征碼按照獲取的順序分別為I至6,第7個獲取到的原始數(shù)據(jù)包的特征碼為12,則可將特征碼I和6作為確認信息并返回,并將第7個獲取到的原始數(shù)據(jù)包發(fā)送給客戶端??蛻舳私邮盏絀和6的確認信息后,可在緩存中按順序獲取對應(yīng)特征碼I至6的數(shù)據(jù)包,并發(fā)送給客戶節(jié)點。也就是說服務(wù)器在獲取到原始數(shù)據(jù)包之后,并不是根據(jù)每個原始數(shù)據(jù)包的特征碼均生成并返回一個確認信息,而是在判斷多個原始數(shù)據(jù)包是否命中之后,根據(jù)該多個原始數(shù)據(jù)包各自的特征碼生成確認信息。根據(jù)多個特征碼生成確認信息可以減少服務(wù)器返回確認信息的次數(shù),從而進一步減少帶寬占用,降低網(wǎng)絡(luò)擁塞程度。上述數(shù)據(jù)緩存方法和系統(tǒng)中,客戶端在數(shù)據(jù)包命中時,對后續(xù)可能接收的數(shù)據(jù)包進行了預(yù)測,即按照緩存中的存儲順序獲取特征碼序列并上傳服務(wù)器,服務(wù)器不需要將數(shù)據(jù)包發(fā)送給客戶端來判斷該數(shù)據(jù)包是否在緩存中命中,而由服務(wù)器根據(jù)接收到的特征碼序列進行判斷,使得只需要在客戶端設(shè)置緩存即可實現(xiàn)傳統(tǒng)技術(shù)中的緩存效果,從而節(jié)省了服務(wù)器的存儲空間,提高了存儲資源的利用率。并且,在實際網(wǎng)絡(luò)環(huán)境中,相同的網(wǎng)絡(luò)資源在進行傳輸時,通常劃分成的相同的數(shù)據(jù)包序列順序傳輸,因此,若在網(wǎng)絡(luò)資源對應(yīng)的數(shù)據(jù)包序列中的某個數(shù)據(jù)包在緩存中命中時,按順序傳輸?shù)臄?shù)據(jù)包序列中的數(shù)據(jù)包在緩存中的命中率較高,從而提高了數(shù)據(jù)包的命中率,減少傳輸?shù)臄?shù)據(jù)量,從而降低了網(wǎng)絡(luò)擁塞程度。以上所述實施例僅表達了本發(fā)明的幾種實施方式,其描述較為具體和詳細,但并 不能因此而理解為對本發(fā)明專利范圍的限制。應(yīng)當指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本發(fā)明的保護范圍。因此,本發(fā)明專利的保護范圍應(yīng)以所附權(quán)利要求為準。
權(quán)利要求
1.一種數(shù)據(jù)緩存方法,包括 客戶端接收下發(fā)數(shù)據(jù)包,計算所述下發(fā)數(shù)據(jù)包的特征碼; 所述客戶端根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包,若是,則獲取與所述特征碼的生成順序?qū)?yīng)的特征碼序列并上傳; 服務(wù)器獲取原始數(shù)據(jù)包,計算所述原始數(shù)據(jù)包的特征碼; 所述服務(wù)器判斷所述原始數(shù)據(jù)包的特征碼是否屬于接收到的所述特征碼序列,若是,則獲取與所述原始數(shù)據(jù)包的特征碼對應(yīng)的確認信息并返回; 所述客戶端根據(jù)接收到的確認信息在所述緩存中獲取數(shù)據(jù)包并轉(zhuǎn)發(fā)。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)緩存方法,其特征在于,所述客戶端根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包的步驟之后還包括 若緩存中不存在所述下發(fā)數(shù)據(jù)包,則所述客戶端根據(jù)所述特征碼將所述下發(fā)數(shù)據(jù)包存儲到緩存中。
3.根據(jù)權(quán)利要求2所述的數(shù)據(jù)緩存方法,其特征在于,所述客戶端根據(jù)所述特征碼將所述下發(fā)數(shù)據(jù)包存儲到緩存中的步驟為 根據(jù)所述特征碼的生成順序?qū)⑺鎏卣鞔a對應(yīng)的下發(fā)數(shù)據(jù)包順序存儲到緩存中。
4.根據(jù)權(quán)利要求I所述的數(shù)據(jù)緩存方法,其特征在于,所述服務(wù)器獲取與所述特征碼對應(yīng)的確認信息的步驟為 所述服務(wù)器獲取屬于接收到的特征碼序列的所述原始數(shù)據(jù)包的特征碼的集合; 所述服務(wù)器根據(jù)所述獲取到的特征碼的集合生成確認信息。
5.根據(jù)權(quán)利要求4所述的數(shù)據(jù)緩存方法,其特征在于,所述客戶端根據(jù)接收到的確認信息在所述緩存中獲取數(shù)據(jù)包的步驟為 所述客戶端在所述接收到的確認信息中提取所述特征碼的集合; 所述客戶端提取所述特征碼的集合中的特征碼,根據(jù)所述特征碼在所述緩存中獲取數(shù)據(jù)包。
6.一種數(shù)據(jù)緩存系統(tǒng),包括客戶端和服務(wù)器,其特征在于,所述客戶端包括 數(shù)據(jù)包接收模塊,用于接收下發(fā)數(shù)據(jù)包,計算所述下發(fā)數(shù)據(jù)包的特征碼; 特征碼查詢模塊,用于根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包; 特征碼上傳模塊,用于在所述緩存中存在所述下發(fā)數(shù)據(jù)包時,獲取與所述特征碼的生成順序?qū)?yīng)的特征碼序列并上傳; 所述服務(wù)器包括 數(shù)據(jù)包獲取模塊,用于獲取原始數(shù)據(jù)包,計算所述原始數(shù)據(jù)包的特征碼; 特征碼校驗?zāi)K,用于判斷所述原始數(shù)據(jù)包的特征碼是否屬于接收到的所述特征碼序列; 特征碼反饋模塊,用于在所述原始數(shù)據(jù)包的特征碼屬于接收到的所述特征碼序列時,獲取與所述原始數(shù)據(jù)包的特征碼對應(yīng)的確認信息并返回; 所述客戶端的數(shù)據(jù)包接收模塊還用于根據(jù)接收到的確認信息在所述緩存中獲取數(shù)據(jù)包并轉(zhuǎn)發(fā)。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)緩存系統(tǒng),其特征在于,所述客戶端還包括數(shù)據(jù)包緩存模塊,用于在緩存中不存在所述下發(fā)數(shù)據(jù)包時,根據(jù)所述特征碼將所述下發(fā)數(shù)據(jù)包存儲到緩存中。
8.根據(jù)權(quán)利要求7所述的數(shù)據(jù)緩存系統(tǒng),其特征在于,所述數(shù)據(jù)包緩存模塊還用于根據(jù)所述特征碼的生成順序?qū)⑺鎏卣鞔a對應(yīng)的下發(fā)數(shù)據(jù)包順序存儲到緩存中。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)緩存系統(tǒng),其特征在于,所述特征碼反饋模塊還用于獲取屬于接收到的特征碼序列的所述原始數(shù)據(jù)包的特征碼的集合,根據(jù)所述獲取到的特征碼的集合生成確認信息。
10.根據(jù)權(quán)利要求9所述的數(shù)據(jù)緩存系統(tǒng),其特征在于,所述數(shù)據(jù)包接收模塊還用于在所述接收到的確認信息中提取特征碼的集合,提取所述特征碼的集合中的特征碼,根據(jù)所述特征碼在所述緩存中獲取數(shù)據(jù)包。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)緩存方法,包括客戶端接收下發(fā)數(shù)據(jù)包,計算所述下發(fā)數(shù)據(jù)包的特征碼;所述客戶端根據(jù)所述特征碼判斷緩存中是否存在所述下發(fā)數(shù)據(jù)包,若是,則獲取與所述特征碼的生成順序?qū)?yīng)的特征碼序列并上傳;服務(wù)器獲取原始數(shù)據(jù)包,計算所述原始數(shù)據(jù)包的特征碼;所述服務(wù)器判斷所述原始數(shù)據(jù)包的特征碼是否屬于接收到的所述特征碼序列,若是,則獲取與所述特征碼對應(yīng)的確認信息并返回;所述客戶端根據(jù)接收到的確認信息在所述緩存中獲取下發(fā)數(shù)據(jù)包并轉(zhuǎn)發(fā)。此外,還包括一種數(shù)據(jù)緩存系統(tǒng)。上述數(shù)據(jù)緩存方法及系統(tǒng)可以僅在客戶端單邊部署緩存,從而提高存儲資源的利用率。
文檔編號H04L29/06GK102932277SQ201210387278
公開日2013年2月13日 申請日期2012年10月12日 優(yōu)先權(quán)日2012年10月12日
發(fā)明者張家明, 尹巍 申請人:深信服網(wǎng)絡(luò)科技(深圳)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
周口市| 左云县| 太保市| 宿迁市| 麦盖提县| 繁峙县| 天祝| 济南市| 祁阳县| 六盘水市| 崇文区| 安泽县| 全南县| 桂阳县| 通州市| 长汀县| 潍坊市| 突泉县| 斗六市| 分宜县| 霍州市| 明水县| 山丹县| 磐安县| 红河县| 霍城县| 迁安市| 甘孜| 当阳市| 阿城市| 奉化市| 司法| 治多县| 襄城县| 抚宁县| 曲沃县| 安达市| 调兵山市| 阿城市| 东乡| 郯城县|