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

CDN驗證系統在P2P網絡中的應用

評論