P2P是英文Peer-to-Peer(對(duì)等)的簡(jiǎn)稱,又被稱為“點(diǎn)對(duì)點(diǎn)”。“對(duì)等”技術(shù),是一種網(wǎng)絡(luò)新技術(shù),依賴網(wǎng)絡(luò)中參與者的計(jì)算能力和帶寬,而不是把依賴都聚集在較少的幾臺(tái)服務(wù)器上。P2P還是英文Point to Point (點(diǎn)對(duì)點(diǎn))的簡(jiǎn)稱。它是下載術(shù)語(yǔ),意思是在你自己下載的同時(shí),自己的電腦還要繼續(xù)做主機(jī)上傳,這種下載方式,人越多速度越快但缺點(diǎn)是對(duì)硬盤損傷比較大(在寫的同時(shí)還要讀),還有對(duì)內(nèi)存占用較多,影響整機(jī)速度。
在P2P軟件中,每個(gè)用戶就是一個(gè)節(jié)點(diǎn),數(shù)據(jù)傳輸通過(guò)節(jié)點(diǎn)進(jìn)行,不需要很多的中央服務(wù)器,但為了保證數(shù)據(jù)傳輸質(zhì)量,P2P軟件會(huì)自動(dòng)分析每個(gè)節(jié)點(diǎn)的硬件資源,讓有較大帶寬和高速計(jì)算機(jī)擔(dān)任它的“超級(jí)節(jié)點(diǎn)”。一定數(shù)量的超級(jí)節(jié)點(diǎn),數(shù)千萬(wàn)的小節(jié)點(diǎn),共同組成了P2P網(wǎng)絡(luò),這個(gè)用戶越多就越強(qiáng)大的奇異的P2P網(wǎng)絡(luò)。
為了解決上述問(wèn)題,本文提出了使用文件價(jià)值來(lái)決定緩存替換的對(duì)象,同時(shí)在緩存替換之前使用閾值選擇緩存文件的策略。這種緩存策略使得系統(tǒng)只緩存價(jià)值較大的熱點(diǎn)文件,從而通過(guò)提高命中率有效地降低了網(wǎng)絡(luò)流量負(fù)載。
1 超節(jié)點(diǎn)P2P系統(tǒng)
1.1 體系結(jié)構(gòu)
在廣域網(wǎng)中存在大量的節(jié)點(diǎn)服務(wù)器,這些節(jié)點(diǎn)服務(wù)器通過(guò)P2P路由機(jī)制自組織成一個(gè)虛擬的P2P網(wǎng)絡(luò)。在這個(gè)虛擬的P2P網(wǎng)絡(luò)中,各節(jié)點(diǎn)服務(wù)器之間以無(wú)結(jié)構(gòu)的P2P的形式連接,所有的服務(wù)器具有相同的能力和責(zé)任,任意兩臺(tái)服務(wù)器之間能夠相互通信,并且所有的通信都是對(duì)等的。系統(tǒng)通過(guò)這些服務(wù)器為用戶提供服務(wù),這些節(jié)點(diǎn)服務(wù)器被稱為超節(jié)點(diǎn),而用戶節(jié)點(diǎn)被稱為普通節(jié)點(diǎn)。超節(jié)點(diǎn)P2P網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示。
從圖1可以看出,超節(jié)點(diǎn)具有管理組內(nèi)普通節(jié)點(diǎn)、向用戶返回查詢結(jié)果和轉(zhuǎn)發(fā)的功能。普通節(jié)點(diǎn)和超節(jié)點(diǎn)之間則以傳統(tǒng)的C/S模式連接在一起,并且每個(gè)超節(jié)點(diǎn)與若干個(gè)普通節(jié)點(diǎn)形成組。每個(gè)超節(jié)點(diǎn)都要維護(hù)以下信息表:
(1)本地信息表:保存本地共享資源的索引表。
(2)快捷興趣信息表:保存與本節(jié)點(diǎn)有快捷鏈接的興趣相似的超節(jié)點(diǎn)信息。該表由(interest,fag,num,address)組成,其中interest代表節(jié)點(diǎn)查詢的興趣,fag是快捷鏈接建立的標(biāo)志,取值為0或1(建立快捷鏈接),num代表查詢成功的次數(shù),初始值為0,address代表快捷鏈接的節(jié)點(diǎn)位置。
1.2 超節(jié)點(diǎn)間的資源搜索策略
本文采用一種新的搜索策略,該搜索策略可以根據(jù)超節(jié)點(diǎn)的共享興趣,逐步在具有相似興趣的超節(jié)點(diǎn)之間建立直接的快捷鏈接[4]。為了進(jìn)一步提高查詢效率,利用緩存存放訪問(wèn)頻率較高的快捷鏈接。
1.2.1 快捷鏈接的建立
P2P直接將人們聯(lián)系起來(lái),讓人們通過(guò)互聯(lián)網(wǎng)直接交互。P2P使得網(wǎng)絡(luò)上的溝通變得容易、更直接共享和交互,真正地消除中間商。P2P就是人可以直接連接到其他用戶的計(jì)算機(jī)、交換文件,而不是像過(guò)去那樣連接到服務(wù)器去瀏覽與下載。P2P另一個(gè)重要特點(diǎn)是改變互聯(lián)網(wǎng)現(xiàn)在的以大網(wǎng)站為中心的狀態(tài)、重返"非中心化",并把權(quán)力交還給用戶。 P2P看起來(lái)似乎很新,但是正如B2C、B2B是將現(xiàn)實(shí)世界中很平常的東西移植到互聯(lián)網(wǎng)上一樣,P2P并不是什么新東西。在現(xiàn)實(shí)生活中我們每天都按照P2P模式面對(duì)面地或者通過(guò)電話交流和溝通。
即使從網(wǎng)絡(luò)看,P2P也不是新概念,P2P是互聯(lián)網(wǎng)整體架構(gòu)的基礎(chǔ)。互聯(lián)網(wǎng)最基本的協(xié)議TCP/IP并沒有客戶機(jī)和服務(wù)器的概念,所有的設(shè)備都是通訊的平等的一端。在十年之前,所有的互聯(lián)網(wǎng)上的系統(tǒng)都同時(shí)具有服務(wù)器和客戶機(jī)的功能。當(dāng)然,后來(lái)發(fā)展的那些架構(gòu)在TCP/IP之上的軟件的確采用了客戶機(jī)/服務(wù)器的結(jié)構(gòu):瀏覽器和Web服務(wù)器,郵件客戶端和郵件服務(wù)器。但是,對(duì)于服務(wù)器來(lái)說(shuō),它們之間仍然是對(duì)等聯(lián)網(wǎng)的。以email為例,互聯(lián)網(wǎng)上并沒有一個(gè)巨大的、唯一的郵件服務(wù)器來(lái)處理所有的email,而是對(duì)等聯(lián)網(wǎng)的郵件服務(wù)器相互協(xié)作把email傳送到相應(yīng)的服務(wù)器上去。另外用戶之間email則一直對(duì)等的聯(lián)絡(luò)渠道。
1.2.2 快捷鏈接的緩存
當(dāng)本地快捷興趣信息表建立后,將快捷鏈接按照num值的大小進(jìn)行排隊(duì)。如果某個(gè)快捷鏈接的num值最大(說(shuō)明它經(jīng)常被使用),就把它放在緩存中,當(dāng)節(jié)點(diǎn)進(jìn)行搜索時(shí)首先調(diào)用緩存的快捷鏈接。其他沒被緩存的鏈接按num值的大小在快捷興趣信息表中排隊(duì),num值大的排在上面,其他依次類推。同時(shí)每個(gè)超節(jié)點(diǎn)的快捷興趣信息表可以自我調(diào)整,以適應(yīng)網(wǎng)絡(luò)的變化。當(dāng)一個(gè)快捷鏈接的超節(jié)點(diǎn)離開網(wǎng)絡(luò)、或長(zhǎng)時(shí)間不使用、或命中率很低時(shí),應(yīng)及時(shí)調(diào)整它的num值以及存放的位置,直到最后把該快捷鏈接去除。
1.3 超節(jié)點(diǎn)P2P系統(tǒng)中的對(duì)象定位
當(dāng)普通節(jié)點(diǎn)P0發(fā)出查詢請(qǐng)求時(shí):
(1)P0首先查詢本地緩存,若命中則查詢結(jié)束;否則轉(zhuǎn)到(2)。
(2)P0訪問(wèn)它所連接的超節(jié)點(diǎn)Pi,若在Pi中命中則由Pi將命中的內(nèi)容返回給P0,查詢結(jié)束;否則,由Pi在超節(jié)點(diǎn)間轉(zhuǎn)發(fā)查詢,具體過(guò)程是:①Pi發(fā)出資源搜索時(shí),首先通過(guò)緩存中的快捷鏈接進(jìn)行查詢,若命中,則返回結(jié)果后結(jié)束;否則轉(zhuǎn)②;②Pi向自己的快捷興趣信息表中的快捷鏈接發(fā)出查詢,若命中,則返回結(jié)果后結(jié)束;否則轉(zhuǎn)(3)。
(3)Pi將查詢請(qǐng)求轉(zhuǎn)發(fā)給文檔原來(lái)的存放站點(diǎn),若命中,則返回結(jié)果后結(jié)束;否則發(fā)回錯(cuò)誤報(bào)告。
2 緩存策略
2.1 緩存對(duì)象的選擇
在傳統(tǒng)的緩存策略中,當(dāng)用戶訪問(wèn)的文件不在離用戶最近的服務(wù)器上,那么不管該文件最近是否被訪問(wèn)過(guò),都將該文件緩存到最近的服務(wù)器上。在實(shí)際應(yīng)用中,這種緩存策略不能靈活地針對(duì)實(shí)際情況做實(shí)際的調(diào)整,有時(shí)候會(huì)降低緩存的命中率。為了克服這一缺點(diǎn),本文使用閾值來(lái)選擇緩存對(duì)象[5]。
在超節(jié)點(diǎn)P2P系統(tǒng)中,當(dāng)文件和用戶的數(shù)量足夠大時(shí),在短時(shí)間內(nèi)將會(huì)有大量的文件被訪問(wèn),而對(duì)于單個(gè)的文件來(lái)說(shuō),被訪問(wèn)的頻率是不一樣的。本文根據(jù)文件的被訪問(wèn)頻率用閾值來(lái)將它們區(qū)分為熱點(diǎn)文件和非熱點(diǎn)文件。當(dāng)一個(gè)文件的被訪問(wèn)頻率超過(guò)設(shè)定的閾值時(shí)稱為熱點(diǎn)文件,否則為非熱點(diǎn)文件。本文只緩存熱點(diǎn)文件,這樣能夠有效地利用服務(wù)器的緩存空間,防止在緩存空間不足的情況下,文件副本在緩存空間頻繁地替換而導(dǎo)致緩存的命中率下降。
為了提高緩存的作用,閾值的大小應(yīng)根據(jù)實(shí)際情況來(lái)調(diào)整。可以根據(jù)緩存空間的大小和文件類型來(lái)設(shè)置閾值的大小。當(dāng)緩存空間較大時(shí),可以適當(dāng)減小所有文件的閾值;當(dāng)緩存空間較小時(shí),應(yīng)適當(dāng)增大文件的閾值,使得緩存策略更關(guān)注那些較熱的文件。同時(shí),可以為更新較少的文件類型設(shè)置一個(gè)較小的閾值,這樣文件將更容易被緩存;為更新較多的文件類型設(shè)置一個(gè)較大的閾值,那么該類型的文件就比較難于被緩存。
2.2 緩存替換策略
本文提出了使用文件價(jià)值決定緩存替換對(duì)象的替換策略,該策略要求所有的節(jié)點(diǎn)都維護(hù)同一請(qǐng)求列表。請(qǐng)求列表中記錄著該節(jié)點(diǎn)訪問(wèn)過(guò)的所有文件的基本信息,如表1所示。
當(dāng)一個(gè)節(jié)點(diǎn)從服務(wù)器中成功地下載文件A,并判斷其被訪問(wèn)的頻率大于設(shè)定的閾值后,按照以下步驟進(jìn)行緩存替換:
(1)如果節(jié)點(diǎn)的緩存空間足夠容納文件A,那么文件被緩存。否則轉(zhuǎn)到(2)。
(2)比較文件A和緩存中候選文件的Costfile值。先與Costfile值最小的候選文件相比,若文件A的值小,則不進(jìn)行緩存替換;若文件A的值大,則將Costfile值最小的候選文件從緩存中去除,然后判斷緩存空間的大小,轉(zhuǎn)到(1)。
3 模擬實(shí)驗(yàn)和結(jié)果
為了驗(yàn)證緩存策略的實(shí)際性能,這里選取了一組Web Cache的訪問(wèn)日志作為工作負(fù)載并使用Trace-Driven的方法模擬實(shí)驗(yàn)。在實(shí)驗(yàn)中,為了進(jìn)行性能比較,對(duì)LRU[6]和LFU[7]也進(jìn)行了性能測(cè)試。
實(shí)驗(yàn)選取的Web Cache訪問(wèn)日志為學(xué)校網(wǎng)絡(luò)中心的Web服務(wù)器在一天24小時(shí)內(nèi)的日志記錄。在每一條日志記錄中包括的主要字段有:獨(dú)立用戶的IP地址、上網(wǎng)時(shí)刻、目的網(wǎng)站的域名、目的網(wǎng)站的IP地址、URL、訪問(wèn)文件的大小等。然后實(shí)驗(yàn)?zāi)M了分布在廣域網(wǎng)上的10臺(tái)節(jié)點(diǎn)服務(wù)器。所有這些節(jié)點(diǎn)服務(wù)器按照P2P路由機(jī)制組成一個(gè)完全分布式無(wú)結(jié)構(gòu)的P2P網(wǎng)絡(luò),并使用散列的方法把從日志中提取到的獨(dú)立的用戶均勻分布到這些服務(wù)器上去,同時(shí)假設(shè)用戶在物理上距離自己所分配到的服務(wù)器最近,然后用同樣的方法把從日志中提取到的互不重復(fù)的URL所對(duì)應(yīng)的文件均勻分布到這些服務(wù)器上去,假設(shè)每一個(gè)文件都位于自己所分配到的服務(wù)器上。這樣,就把Web Cache的訪問(wèn)日志紀(jì)錄映射到虛擬的超節(jié)點(diǎn)P2P網(wǎng)絡(luò)中了。
緩存策略性能的好壞可以從緩存命中率和緩存字節(jié)命中率這兩個(gè)方面來(lái)衡量。緩存命中率(Hit Ratio)表示從緩存得到服務(wù)的請(qǐng)求占總請(qǐng)求的百分比,緩存字節(jié)命中率(Byte Hit Ratio)表示從緩存得到服務(wù)的字節(jié)量占總請(qǐng)求字節(jié)量的百分比[8]。在實(shí)驗(yàn)中,只比較緩存空間在存儲(chǔ)空間中所占比重小于一半的情況,因?yàn)榫彺胬^續(xù)增加對(duì)提高性能而言效果不再明顯。圖2和圖3顯示了該緩存策略與傳統(tǒng)緩存策略LRU和LFU的性能比較。
從圖2和圖3可以看出,本文提出的緩存策略在性能上要好于傳統(tǒng)的LRU和LFU。當(dāng)緩存空間比較小時(shí),本文提出的緩存策略表現(xiàn)出更突出的性能,隨著緩存空間的逐漸增大,這三種方法所表現(xiàn)出的性能趨于相同。另外,閾值設(shè)置的大小也會(huì)影響緩存的命中率和字節(jié)命中率,因此,在實(shí)驗(yàn)過(guò)程中要根據(jù)緩存空間的大小和文件的類型及時(shí)調(diào)整閾值,以達(dá)到提高性能的目的。在參考文獻(xiàn)[5]中的部分結(jié)論選擇較為理想的,如1、2、3、4等較小的閾值,具體設(shè)置在此不做詳細(xì)論述。
本文提出了一種有效且靈活的緩存策略,該策略使用文件價(jià)值來(lái)決定緩存替換的對(duì)象,同時(shí)在緩存替換之前使用閾值選擇要緩存的文件,這使得系統(tǒng)只緩存價(jià)值較大的熱點(diǎn)文件。最后使用Trace-Driven的方法模擬實(shí)驗(yàn),并且將其與傳統(tǒng)的LRU和LFU做了性能上的比較,驗(yàn)證了該緩存策略在性能上比傳統(tǒng)的LRU和LFU要好。
-
節(jié)點(diǎn)
+關(guān)注
關(guān)注
0文章
221瀏覽量
24849 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
9717瀏覽量
87374 -
緩存
+關(guān)注
關(guān)注
1文章
245瀏覽量
27061
發(fā)布評(píng)論請(qǐng)先 登錄
基于一簇多超級(jí)節(jié)點(diǎn)的混合P2P網(wǎng)絡(luò)模型
基于P2P的新型良性蠕蟲傳播策略
基于Kademlia的P2P多維范圍查詢系統(tǒng)
混合式P2P網(wǎng)絡(luò)事務(wù)管理策略
提供可靠服務(wù)的P2P流媒體點(diǎn)播系統(tǒng)
基于結(jié)構(gòu)化P2P的語(yǔ)義查詢技術(shù)
P2P全文信息檢索系統(tǒng)的路由機(jī)制研究
一種基于P2P協(xié)作的代理緩存流媒體調(diào)度算法
P2P-VOD緩存策略MVC
P2P流量識(shí)別與管控技術(shù)應(yīng)用研究
基于JXTA的P2P遠(yuǎn)程學(xué)習(xí)系統(tǒng)的設(shè)計(jì)
P2P網(wǎng)絡(luò)中基于位置感知的節(jié)點(diǎn)選擇策略

CDN驗(yàn)證系統(tǒng)在P2P網(wǎng)絡(luò)中的應(yīng)用

評(píng)論