




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
機(jī)械工業(yè)出版社《分布式計算、云計算與大數(shù)據(jù)》配套課件華南理工大學(xué)林偉偉主編第6章P2P原理與實踐提綱P2P概述P2P網(wǎng)絡(luò)分類P2P典型應(yīng)用系統(tǒng)舉例P2P編程實踐P2P研究現(xiàn)狀與發(fā)展前景P2P概念P2P,即Peer-to-Peer的縮寫,也稱“點對點”或“端對端”,學(xué)術(shù)上常稱為“對等計算”。P2P是一種以非集中化方式使用分布式資源來完成一些關(guān)鍵任務(wù)的系統(tǒng)和應(yīng)用。P2P與目前網(wǎng)絡(luò)中占據(jù)主導(dǎo)地位的客戶/服務(wù)器體系架構(gòu)相對應(yīng)。它表示分布式計算中各進(jìn)程之間是一種對等的關(guān)系。什么是P2P?P2P模式中,每一個結(jié)點都是信息的發(fā)布者和請求者,對等結(jié)點之間可以實現(xiàn)自治交互,無需使用服務(wù)器。C/S模式中服務(wù)器和客戶端是一對多的主從關(guān)系,系統(tǒng)的數(shù)據(jù)和信息都保存在服務(wù)器上,若要索取信息,必須先訪問服務(wù)器,且客戶端之間沒有交互能力。P2P模式與C/S模式的區(qū)別C/S模式P2P模式P2P的發(fā)展歷程第一階段第一階段,1999年至2000年左右,P2P技術(shù)由應(yīng)用開發(fā)向?qū)W術(shù)研究發(fā)展。
當(dāng)時P2P技術(shù)剛重返歷史舞臺,涌現(xiàn)出許多著名的P2P應(yīng)用系統(tǒng),但由于P2P存在安全、標(biāo)準(zhǔn)和版權(quán)等缺陷,多數(shù)應(yīng)用都被扼殺。P2P技術(shù)的完善迫在眉睫,越來越多的學(xué)者開始研究P2P技術(shù),旨在更好地應(yīng)用它。第二階段,2001年至2003年左右,隨著P2P技術(shù)的發(fā)展,開始從學(xué)術(shù)研究走向商業(yè)應(yīng)用,許多體系和標(biāo)準(zhǔn)也不斷完善。第三階段,2004年至今,P2P技術(shù)由廣泛的共識到更加全面的實用。P2P網(wǎng)絡(luò)的主要問題已解決,核心機(jī)制、整體框架已形成,在重大問題上也形成了共識。對P2P的應(yīng)用更加注重細(xì)節(jié)、高效性和實用性,并試圖整合不同的P2P應(yīng)用系統(tǒng)。如今,隨著云計算和大數(shù)據(jù)時代的到來,分布式計算得到更充分地應(yīng)用,特別是以P2P為基礎(chǔ)的分布式應(yīng)用系統(tǒng)得到業(yè)界的熱切關(guān)注。如P2P與WebServices(在第九章詳述)結(jié)合,二者優(yōu)勢互補(bǔ),使得Web服務(wù)的性能更加高效。P2P的特點非中心化可擴(kuò)展性健壯性高性價比隱私保護(hù)負(fù)載均衡P2P的廣泛應(yīng)用文件共享下載多媒體傳輸即時通訊協(xié)同工作分布式數(shù)據(jù)存儲分布式對等計算P2P搜索引擎提綱P2P概述P2P網(wǎng)絡(luò)分類P2P典型應(yīng)用系統(tǒng)舉例P2P編程實踐P2P研究現(xiàn)狀與發(fā)展前景P2P網(wǎng)絡(luò)分類P2P網(wǎng)絡(luò)的發(fā)展經(jīng)歷了不同的時代,一般可以分為四代,如圖所示。在每一代P2P網(wǎng)絡(luò)中都存在一些具體的P2P拓?fù)浣Y(jié)構(gòu),它是此代P2P網(wǎng)絡(luò)的標(biāo)志。中心化拓?fù)浣Y(jié)構(gòu)中心化拓?fù)浣Y(jié)構(gòu)中心化拓?fù)浣Y(jié)構(gòu)指的是網(wǎng)絡(luò)中資源和服務(wù)的索引都存儲在中心服務(wù)器目錄中,而資源和服務(wù)本身則存儲在網(wǎng)絡(luò)中的各結(jié)點中目標(biāo)功能優(yōu)點
實現(xiàn)了資源的檢索和傳輸?shù)姆蛛x;中心服務(wù)器的壓力得到緩解;節(jié)省了網(wǎng)絡(luò)寬帶;縮短了文件傳輸延時;資源和服務(wù)器的檢索效率較高
缺點
系統(tǒng)對中心服務(wù)器依賴過強(qiáng)使得可靠性和安全性較低;隨著客戶數(shù)量的增加,對中心服務(wù)器的維護(hù)和更新費用也將提高;易引發(fā)版權(quán)問題
中心化拓?fù)浣Y(jié)構(gòu)網(wǎng)絡(luò)適合于小型網(wǎng)絡(luò),便于管理和控制,而并不適合于較大規(guī)模的網(wǎng)絡(luò)。Napster是典型的P2P中心化拓?fù)浣Y(jié)構(gòu)系統(tǒng)。全分布式非結(jié)構(gòu)化拓?fù)?2實現(xiàn)步驟重疊網(wǎng)絡(luò)重疊(覆蓋)網(wǎng)絡(luò)是在現(xiàn)有的網(wǎng)絡(luò)體系架構(gòu)上新加一層虛擬網(wǎng)絡(luò),并將虛擬網(wǎng)絡(luò)中的每個結(jié)點與實際網(wǎng)絡(luò)中的一些結(jié)點相連,從而實現(xiàn)與實際網(wǎng)絡(luò)中各結(jié)點的聯(lián)通。全分布式非結(jié)構(gòu)化拓?fù)浣Y(jié)構(gòu)的P2P網(wǎng)絡(luò)是一種重疊網(wǎng)絡(luò)(OverlayNetwork)。02實現(xiàn)步驟關(guān)鍵代碼全分布式非結(jié)構(gòu)化拓?fù)浣Y(jié)構(gòu)全分布式非結(jié)構(gòu)化拓?fù)涞腜2P網(wǎng)絡(luò)是純粹的沒有中心服務(wù)器的網(wǎng)絡(luò),每個結(jié)點既是客戶機(jī)又是服務(wù)器,是真正的對等關(guān)系。該結(jié)構(gòu)的系統(tǒng)性能波動較大,但容錯性好,支持復(fù)雜查詢。典型的全分布式非結(jié)構(gòu)化拓?fù)涞腜2P網(wǎng)絡(luò)有Gnutella。全分布式結(jié)構(gòu)化拓?fù)銬HT網(wǎng)絡(luò)架構(gòu)全分布式結(jié)構(gòu)化拓?fù)洳捎梅植际缴⒘斜恚―istributedHashTable,簡稱DHT)來組織網(wǎng)絡(luò)中的各結(jié)點,因此該拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)也稱為DHT網(wǎng)絡(luò)。DHT網(wǎng)絡(luò)是一個由廣域范圍大量結(jié)點共同維護(hù)的龐大散列表,散列表被分割成不連續(xù)的塊,每個結(jié)點被分配一個屬于自己的散列塊,并成為這個散列塊的管理者。典型的DHT網(wǎng)絡(luò)案例有Tapestry、Pastry、Chord、CAN等。DHT網(wǎng)絡(luò)的優(yōu)點
能夠自適應(yīng)結(jié)點的動態(tài)加入或退出;具有良好的可擴(kuò)展性、魯棒性、結(jié)點ID分配均勻性和自組織能力;可以精確定位目標(biāo)結(jié)點;DHT網(wǎng)絡(luò)的缺點
系統(tǒng)維護(hù)比較困難;缺失復(fù)雜查詢機(jī)制;半分布式拓?fù)浒敕植际酵負(fù)浣Y(jié)構(gòu)半分布式拓?fù)溥x擇了性能較高的結(jié)點作為超級結(jié)點,在各個超級結(jié)點上存儲其他部分結(jié)點的信息,檢索算法僅在超級結(jié)點間轉(zhuǎn)發(fā),超級結(jié)點再將查詢請求轉(zhuǎn)發(fā)給適當(dāng)?shù)娜~子結(jié)點。該拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)系統(tǒng)有較好的性能和擴(kuò)展性、且支持復(fù)雜查詢、易于管理維護(hù)。但對超級結(jié)點仍存在一定依賴。KaZaA就是一款典型的半分布式拓?fù)涞腜2P文件共享軟件。四種P2P網(wǎng)絡(luò)拓?fù)浔容^拓?fù)淇蓴U(kuò)展性可靠性可維護(hù)性搜索算法效率復(fù)雜查詢中心化拓?fù)洳畈钭詈米罡咧С秩植际椒墙Y(jié)構(gòu)化拓?fù)洳詈米詈弥兄С秩植际浇Y(jié)構(gòu)化拓?fù)浜煤煤酶卟恢С职敕植际酵負(fù)渲兄兄兄兄С痔峋VP2P概述P2P網(wǎng)絡(luò)分類P2P典型應(yīng)用系統(tǒng)舉例P2P編程實踐P2P研究現(xiàn)狀與發(fā)展前景NAPSTERNapster是一款著名的MP3共享軟件,用戶通過它不僅可以下載自己想要的音樂,還可以為其他用戶提供下載服務(wù)。GnutellaGnutella網(wǎng)絡(luò)拓?fù)銰nutella是一種全分布式非結(jié)構(gòu)化的P2P網(wǎng)絡(luò)文件共享技術(shù),是遵守Gnutella協(xié)議和客戶端軟件的統(tǒng)稱。所有基于Gnutella技術(shù)的客戶端都被稱為在Gnutella網(wǎng)絡(luò)上,理論上可以通過連接與網(wǎng)絡(luò)上的任何一臺計算機(jī)進(jìn)行通信。Flooding搜索算法原理P2P網(wǎng)絡(luò)中,結(jié)點間通信就會牽扯到怎樣在龐大的P2P網(wǎng)絡(luò)中搜索到目標(biāo)結(jié)點,這也是P2P應(yīng)用的核心技術(shù)。早期的Gnutella采用的是基于完全隨即圖的Flooding(洪泛)搜索算法。Flooding算法會導(dǎo)致網(wǎng)絡(luò)的可擴(kuò)展性降低。Gnutella網(wǎng)絡(luò)拓?fù)銫hordChord算法查詢原理Chord算法中按結(jié)點ID大小排列成一個圓環(huán),每個結(jié)點指針表中包含了部分結(jié)點的定位信息。當(dāng)一個結(jié)點發(fā)出查詢請求時,若結(jié)點ID小于請求資源ID,則將該結(jié)點的請求信息發(fā)送給下一個結(jié)點,依次傳遞,直到下一個結(jié)點擁有所需資源并返回為止。Gnutella網(wǎng)絡(luò)拓?fù)銴aZaAKaZaA是一款優(yōu)秀的基于半分布式P2P模式的文件共享軟件,它可以用來進(jìn)行簡易搜索,獲取音樂、影片、軟件和游戲等。KaZaA網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)提綱P2P概述P2P網(wǎng)絡(luò)分類P2P典型應(yīng)用系統(tǒng)舉例P2P編程實踐P2P研究現(xiàn)狀與發(fā)展前景基于P2P范型的即時聊天系統(tǒng)系統(tǒng)的功能點對點單人聊天多人同時在線聊天用戶可以自由加入和退出系統(tǒng)具備用戶在線狀態(tài)監(jiān)視服務(wù)器主要任務(wù)客戶端主要任務(wù)創(chuàng)建Socket、綁定地址和端口號,監(jiān)聽并接受客戶端的連接請求自動獲取客戶端用戶名、IP地址和端口號,并將其保存在服務(wù)器端的用戶列表中,同時更新所有在線用戶的客戶端在線用戶列表信息當(dāng)有用戶下線時,服務(wù)器端要能即時監(jiān)聽到,并更新用戶列表信息,發(fā)送給所有在線客戶端。對在線用戶數(shù)量進(jìn)行統(tǒng)計。創(chuàng)建Socket,并調(diào)用connect()函數(shù),向中心服務(wù)器發(fā)送連接請求。在登錄后也必須充當(dāng)服務(wù)器,接收其他用戶的連接請求,需要創(chuàng)建一個用戶接收線程來監(jiān)聽用戶登錄后需要接收來自服務(wù)器的所有在線用戶信息列表,并更新本地的用戶列表信息客戶端可以使用群發(fā)功能,向在線用戶列表中的所有用戶發(fā)送聊天信息注意,服務(wù)器向所有客戶發(fā)送最新用戶列表信息,及客戶端的群發(fā)功能,都是通過簡單地遍歷用戶列表來實現(xiàn)。表示邏輯應(yīng)用邏輯服務(wù)邏輯表示邏輯應(yīng)用邏輯中心服務(wù)器啟動后會自動創(chuàng)建一個監(jiān)聽線程,以接受客戶端發(fā)來的連接請求。當(dāng)客戶端與服務(wù)器連接后,客戶端會將自己的信息寫入socket,服務(wù)器端從此socket中讀取該用戶信息,并登記到用戶信息列表中。然后,服務(wù)器將最新的用戶信息列表群發(fā)給所有在線的客戶端,以便客戶端得到最新的用戶列表。若Client2欲與Client3聊天,則Client2檢索自己的用戶信息列表,得到Client3的用戶信息后,便可與Client3進(jìn)行連接,實現(xiàn)通信。此過程,并不需要中心服務(wù)器的干預(yù)。當(dāng)有一個客戶需要下線時,例如圖中的Client1,那么Client1首先將下線請求寫入socket,中心服務(wù)器接收到含有下線請求標(biāo)記的信息后,Client1便通過握手機(jī)制下線。Client1安全下線后,中心服務(wù)器會將Client1的用戶信息從在線列表中刪除,并將更新后的數(shù)據(jù)群發(fā)給所有在線客戶端,以便客戶端得到最新的在線用戶列表。客戶下線過程類關(guān)系圖開發(fā)過程
首先設(shè)計中心服務(wù)器和客戶端系統(tǒng)界面。創(chuàng)建中心服務(wù)器Server類,派生自JFrame類。同樣,創(chuàng)建客戶端Client類,也派生自JFrame類。Server和Client都需要實現(xiàn)ActionListener接口,從而對界面上的按鈕等動作進(jìn)行監(jiān)聽。
創(chuàng)建P2P網(wǎng)絡(luò)結(jié)點Node類,其中包含用戶名、IP地址、端口號和一個結(jié)點變量next。
創(chuàng)建用戶列表類UserInfo,它用于維護(hù)中心服務(wù)器端和客戶端的在線用戶信息。
實現(xiàn)中心服務(wù)器Server類,Server類中除了包含系統(tǒng)界面上的一些組件成員外,還有用于維護(hù)在線用戶信息的UserInfo對象、用于連接的ServerSocket對象和Socket對象,及用于套接字輸入、出流的對象。
創(chuàng)建RandomPort類用于客戶端分配隨機(jī)可用端口號。系統(tǒng)測試啟動一個Client,輸入用戶名“張三”,并點擊“登錄按鈕”,之后Server端出現(xiàn)“張三”成功登錄服務(wù)器的提示信息,在線用戶列表中也出現(xiàn)用戶“張三”,同時客戶端顯示登錄成功提示,在線列表中也顯示了在線用戶信息,并創(chuàng)建了接收其他客戶連接的線程。此時的Server端如左圖所示,Client端如右圖所示?!皬埲钡卿浐骃erver端界面“張三”登錄后Client端界面“張三”端點對點聊天界面“李四”端點對點聊天界面再啟動一個Client,填寫用戶名“李四”,并單擊“登錄”按鈕。待登錄成功后,測試“張三”與“李四”的點對點聊天。接著,可以啟動多個客戶端測試群發(fā)功能。提綱P2P概述P2P網(wǎng)絡(luò)分類P2P典型應(yīng)用系統(tǒng)舉例P2P編程實踐P2P研究現(xiàn)狀與發(fā)展前景研究現(xiàn)狀國外:
微軟成立了Pastry項目組,主要負(fù)責(zé)P2P技術(shù)的研究工作,并開發(fā)了一些基于Pastry的應(yīng)用。
Intel早在2000年就成立了P2P工作組,并研發(fā)了基于.NET框架的P2PAcceleratorKit和P2P安全API軟件包,使得.NET開發(fā)人員可以迅速地建立安全的P2P應(yīng)用。
IBM提出了SmartNetworking(類似于半分布式拓?fù)涞木W(wǎng)絡(luò)),及網(wǎng)格計算技術(shù)等。
Sun公司開展的JXTA項目。JXTA是基于Java的開源P2P平臺,任何個人和組織均可加入該項目。JXTA的核心業(yè)務(wù)是認(rèn)證、資源發(fā)現(xiàn)和管理。國內(nèi):
POCO是一款領(lǐng)先的多媒體文件分享平臺,它是基于無中心服務(wù)器的第三代P2P模式的,提供了斷點續(xù)傳、多點傳輸?shù)燃夹g(shù),保障了網(wǎng)絡(luò)通信的穩(wěn)定性和高校性。
北京大學(xué)網(wǎng)絡(luò)實驗室開發(fā)的文件共享系統(tǒng)Maze,它結(jié)構(gòu)上采用類似于Napster的中心化拓?fù)?,而搜索算法上采用類似于Gnutella中的改良算法。
清華大學(xué)的P2P文件存儲服務(wù)系統(tǒng)Granary。
中科院計算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高中歷史第四單元王安石變法4.1社會危機(jī)四伏和慶歷新政練習(xí)含解析新人教版選修1
- 農(nóng)村創(chuàng)業(yè)項目申報指南
- 賣買游戲合同范例
- 個人轉(zhuǎn)讓閑置住宅合同范本
- 2025陜西省建筑安全員-A證考試題庫附答案
- 二年級口算題目全集100道
- 2025年江西省安全員A證考試題庫附答案
- 二年級口算題目大全100道
- 二年級口算題庫匯編100道
- 二年級口算題目大全100道
- 2024年物資采購?fù)稑?biāo)書:標(biāo)準(zhǔn)格式3篇
- 電氣成套廠檢驗員培訓(xùn)
- 新入職消防安全培訓(xùn)
- 醫(yī)保信息系統(tǒng)數(shù)據(jù)安全管理制度
- 第18課排序計算有方法(教案)四年級全一冊信息技術(shù)人教版
- 統(tǒng)編版五年級語文下冊1古詩三首《四時田園雜興(其三十一)》課件
- 酒店2024年保安部工作計劃024酒店工作計劃
- 規(guī)模化豬場生物安全
- 2025年春節(jié)后復(fù)產(chǎn)復(fù)工方案及安全技術(shù)措施
- 維修基金使用合同范例
- c語言課件教學(xué)下載
評論
0/150
提交評論