網(wǎng)絡(luò)實(shí)用技術(shù)論文
網(wǎng)絡(luò)實(shí)用技術(shù)論文
網(wǎng)絡(luò)技術(shù)快速發(fā)展極大改變現(xiàn)有生產(chǎn)方式,人們通過(guò)互聯(lián)網(wǎng)進(jìn)行信息的溝通和交流,網(wǎng)絡(luò)工具已經(jīng)日益成為人們生活當(dāng)中必不可少的生活工具。下面是由學(xué)習(xí)啦小編整理的網(wǎng)絡(luò)實(shí)用技術(shù)論文,謝謝你的閱讀。
網(wǎng)絡(luò)實(shí)用技術(shù)論文篇一
基于P2P網(wǎng)絡(luò)搜索技術(shù)研究
提要在P2P系統(tǒng)中,資源分散在各個(gè)節(jié)點(diǎn)上,節(jié)點(diǎn)頻繁的加入或退出,P2P系統(tǒng)處于不斷的變化之中。本文主要分析P2P網(wǎng)絡(luò)的基本概念以及目前P2P的幾種搜索技術(shù)各自的特點(diǎn)及性能。
一、P2P技術(shù)簡(jiǎn)介
(一)概念及特征。P2P是peer to peer的縮寫(xiě),是一種用于不同用戶PC機(jī)之間共享他們所擁有的空閑軟硬件資源(處理能力、存儲(chǔ)能力、網(wǎng)絡(luò)連接能力、可共享文件等),可以不經(jīng)過(guò)中心節(jié)點(diǎn)直接互相訪問(wèn)和交換信息的技術(shù)。它打破了傳統(tǒng)的C/S式,在對(duì)等網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)都具備客戶機(jī)和服務(wù)器的雙重特性,可以同時(shí)作為服務(wù)使用者和服務(wù)提供者。與其他網(wǎng)絡(luò)模型相比較,P2P有分散化、可擴(kuò)展性和健壯性好、高性能等優(yōu)點(diǎn)。P2P技術(shù)目前的主要應(yīng)用:文件共享與交換、協(xié)同工作、搜索引擎、分布計(jì)算、智能代理。
(二)P2P與C/S的區(qū)別。每個(gè)對(duì)等點(diǎn)具有相同的地位,同時(shí)扮演著服務(wù)器和客戶端兩個(gè)角色,還具有路由和緩沖的功能。P2P中每個(gè)結(jié)點(diǎn)可以很容易加入系統(tǒng)中,其中任一結(jié)點(diǎn)可以利用網(wǎng)絡(luò)上其他對(duì)等體的信息資源、理器周期、速緩存和磁盤(pán)空間,P2P是基于內(nèi)容的尋址方式。P2P模式最主要的優(yōu)點(diǎn)就是資源的高度利用率,所有節(jié)點(diǎn)的資源總和構(gòu)成了整個(gè)網(wǎng)絡(luò)的資源,整個(gè)網(wǎng)絡(luò)可以被用作具有海量存儲(chǔ)能力和巨大計(jì)算處理能力的超級(jí)計(jì)算機(jī)。而且對(duì)等點(diǎn)越多,網(wǎng)絡(luò)性能越好,網(wǎng)絡(luò)隨著規(guī)模的增大而越穩(wěn)固。信息在網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)間直接流動(dòng),高速即時(shí),降低中轉(zhuǎn)服務(wù)成本。但P2P也有些不足,P2P不易管理,對(duì)等點(diǎn)可以隨意的加入或退出,會(huì)造成網(wǎng)絡(luò)帶寬和信息存在的不穩(wěn)定。
二、P2P的幾種搜索技術(shù)
(一)P2P搜索的幾種基本方式
1、Index集中式架構(gòu)。存在一個(gè)提供索引功能的節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)的索引儲(chǔ)存了資源所在的位置信息,給定資源的某種查詢條件,索引可以迅速找出符合條件的資源及其所在的位置
2、Hash分布式結(jié)構(gòu)。這種方式要求每一個(gè)資源都可以通過(guò)某種hash算法找到一個(gè)唯一的地址,發(fā)布資源時(shí)資源不是保存在本地,而是保存在這個(gè)資源hash后的地址所對(duì)應(yīng)的節(jié)點(diǎn)中。
3、Flooding分布式架構(gòu)。這種方式要求每個(gè)節(jié)點(diǎn)都有查詢本地資源的能力,每個(gè)節(jié)點(diǎn)都有d個(gè)鄰居,這些節(jié)點(diǎn)之間通過(guò)鄰居關(guān)系構(gòu)成一個(gè)連通的網(wǎng)絡(luò)。查詢時(shí)通過(guò)向鄰居廣播查詢請(qǐng)求來(lái)遍歷整個(gè)網(wǎng)絡(luò)進(jìn)行查找。其特點(diǎn)就是節(jié)點(diǎn)覆蓋率高。
根據(jù)拓?fù)浣Y(jié)構(gòu)的關(guān)系可以將P2P研究分為4種形式:中心化拓?fù)?、全分布式非結(jié)構(gòu)化拓?fù)?、全分布式結(jié)構(gòu)化拓?fù)?也稱作DHT網(wǎng)絡(luò))和半分布式拓?fù)洹?/p>
(二)基于集中式索引的搜索。這種搜索引擎的資源分布在世界各地,而作為搜索引擎的服務(wù)器(集群)只有一個(gè)或少量幾個(gè)。使用該模型作為搜索方法的一個(gè)典型系統(tǒng)是Napster,在這樣的系統(tǒng)中存在一個(gè)中央服務(wù)器存放其他節(jié)點(diǎn)所共享資源的一個(gè)索引,任何一個(gè)注冊(cè)的節(jié)點(diǎn)都要向中央服務(wù)器傳送自己所共享資源的索引,節(jié)點(diǎn)搜索資源時(shí),將帶有所搜索資源標(biāo)識(shí)的搜索請(qǐng)求發(fā)送到中央服務(wù)器,中央服務(wù)器檢索資源索引,告知資源請(qǐng)求者擁有該資源的節(jié)點(diǎn)的標(biāo)識(shí),然后資源請(qǐng)求者直接去訪問(wèn)資源擁有者節(jié)點(diǎn)下載所請(qǐng)求的文件或者使用其資源。這種方式并不是純粹的P2P模型,因?yàn)樗枰粋€(gè)中央服務(wù)器,中央索引模型的優(yōu)點(diǎn)在于搜索速度比較快,并且搜索全面,其他節(jié)點(diǎn)可以動(dòng)態(tài)地將信息傳至服務(wù)器,所以索引更新的速度也比較快,搜索過(guò)程中所需要的消息量小,節(jié)省了網(wǎng)絡(luò)帶寬。其缺點(diǎn)在于中央服務(wù)器的能力限制了節(jié)點(diǎn)的數(shù)量,系統(tǒng)的可伸縮性不夠,并且一旦中央服務(wù)器失敗,整個(gè)系統(tǒng)就無(wú)法運(yùn)行,容錯(cuò)性不高,還可能涉及到版權(quán)、法律等方面的問(wèn)題。
(三)基于全分布式非結(jié)構(gòu)化的搜索。全分布式非結(jié)構(gòu)化拓?fù)渌阉鞯牡湫头椒ㄊ荈LOODING。與集中目錄不同,泛洪請(qǐng)求式?jīng)]有中央目錄服務(wù)器,用戶的請(qǐng)求通過(guò)所有連接的節(jié)點(diǎn)傳遞,這些節(jié)點(diǎn)或者響應(yīng)請(qǐng)求,或者在不能滿足請(qǐng)求時(shí),交該請(qǐng)求向與自己相連的其他節(jié)點(diǎn)廣播,直到請(qǐng)求得到響應(yīng)為止。FLOODING的模式雖然簡(jiǎn)單,但是擁有高魯棒性、高可擴(kuò)展性、簡(jiǎn)便易行等種種優(yōu)點(diǎn),是天生的P2P搜索方式。但是它也存在問(wèn)題:就是會(huì)產(chǎn)生大量冗余消息,特別是當(dāng)網(wǎng)絡(luò)規(guī)模比較大,節(jié)點(diǎn)之間連通度比較高的時(shí)候。在實(shí)際的P2P網(wǎng)絡(luò)中,冗余消息增加了節(jié)點(diǎn)處理負(fù)擔(dān),也會(huì)占用大量網(wǎng)絡(luò)帶寬。解決這個(gè)問(wèn)題就是在消息中加入TTL,TTL是time-to-time的縮寫(xiě),每個(gè)消息的生存時(shí)間就是TTL的值,消息每經(jīng)過(guò)一次轉(zhuǎn)發(fā),TTL就減一,當(dāng)TTL等于0時(shí)就表明這個(gè)消息的壽命到頭了,系統(tǒng)就會(huì)丟棄這個(gè)消息。引入TTL機(jī)制雖然可以解決消息在環(huán)內(nèi)的無(wú)限循環(huán)問(wèn)題,但是帶來(lái)了另一個(gè)問(wèn)題:TTL的取值太小,很多查詢客戶端的節(jié)點(diǎn)就無(wú)法查到;TTL值太大,就會(huì)造成大量環(huán)內(nèi)的無(wú)用消息泛濫,加重網(wǎng)絡(luò)負(fù)擔(dān)。隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,TTL值不得不增加,相應(yīng)的無(wú)用消息的數(shù)量也呈指數(shù)增長(zhǎng)。另一種解決環(huán)的思路是想辦法構(gòu)造一棵以查詢起點(diǎn)為根的生成樹(shù),消息沿著可生成樹(shù)發(fā)送,自然不會(huì)造成網(wǎng)絡(luò)擁塞。為了解決消息爆炸的問(wèn)題,對(duì)FLOODING方式進(jìn)行的一些改進(jìn)方案。1、隨機(jī)漫步法,節(jié)點(diǎn)隨機(jī)選取N個(gè)鄰居節(jié)點(diǎn),把請(qǐng)求消息轉(zhuǎn)發(fā)給這些相鄰結(jié)點(diǎn),然后這些鄰居節(jié)點(diǎn)將請(qǐng)求消息隨機(jī)地向它的一個(gè)相鄰節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),此可大大減少消息的產(chǎn)生數(shù)量。2、逐步加深法,這種搜索策略是在初始階段,給TTL一個(gè)很小的值,如果在TTL減為0時(shí)還沒(méi)有搜索到資源,則給TTL重新賦更高的值,這種策略可以減少搜索的直徑。
(四)基于全分布式DHT的搜索
1、分布式散列表(DHT)。DHT的基本設(shè)計(jì)思想是:在P2P中使用一個(gè)足夠大的ID空間,系統(tǒng)中的所有節(jié)點(diǎn)和數(shù)據(jù)均具有唯一的ID標(biāo)志,每個(gè)節(jié)點(diǎn)和數(shù)據(jù)的ID是通過(guò)散列函數(shù)。即NodeID=Hash(Node);DataID=Hash(Data),這樣系統(tǒng)系統(tǒng)中所有節(jié)點(diǎn)就通過(guò)NodeID映射到了ID空間,將空間分割成若干個(gè)子空間,每個(gè)節(jié)點(diǎn)負(fù)責(zé)一個(gè)子空間;數(shù)據(jù)保存在負(fù)責(zé)DataID所在的子空間的節(jié)點(diǎn)上,系統(tǒng)中的每個(gè)節(jié)點(diǎn)需要按照一定的策略維護(hù)其PX部分節(jié)點(diǎn)的信息表(即路由表)以便進(jìn)行查找、定位和路由。
Chord使用相容散列為每個(gè)節(jié)點(diǎn)和數(shù)據(jù)分配m位的ID。節(jié)點(diǎn)按照NodeID mod 2m的順序連成一個(gè)環(huán)型拓?fù)浣Y(jié)構(gòu)。而數(shù)據(jù)k存放在第一個(gè)滿足NodeID≥DataID的節(jié)點(diǎn)上,此節(jié)點(diǎn)稱為該數(shù)據(jù)的后繼節(jié)點(diǎn),記作sucessor(k),在一個(gè)節(jié)點(diǎn)數(shù)N的系統(tǒng)中,每個(gè)節(jié)點(diǎn)維護(hù)其他O(log(N))個(gè)節(jié)點(diǎn)的信息,這些信息存儲(chǔ)在一個(gè)稱為Finger Table的路由表中,在節(jié)點(diǎn)n的Finger Table中,第i項(xiàng)包含節(jié)點(diǎn)s的信息。其中,s=successor(n+2i-1),1 2、支持多關(guān)鍵詞搜索的DHT。每一份資源都由一組關(guān)鍵詞進(jìn)行標(biāo)識(shí)。系統(tǒng)對(duì)其中的每一個(gè)關(guān)鍵詞進(jìn)行hash,根據(jù)hash的結(jié)果決定此關(guān)鍵詞對(duì)應(yīng)的那條信息由哪個(gè)節(jié)點(diǎn)負(fù)責(zé)存儲(chǔ)。用戶搜索的時(shí)候,用同樣的算法計(jì)算出每個(gè)關(guān)鍵詞的hash值,再根據(jù)hash值找到該關(guān)鍵詞對(duì)應(yīng)信息的儲(chǔ)存位置,從而能夠迅速定位資源的位置。這種方法搜索速度相當(dāng)快,但是關(guān)鍵詞出現(xiàn)在文件中的頻率不同,導(dǎo)致節(jié)點(diǎn)存儲(chǔ)信息的不對(duì)稱。
(五)半分布式拓?fù)涞乃阉?。半分布式搜索引擎中存在一個(gè)引起帶寬較大,性能較好的超級(jí)節(jié)點(diǎn),每一個(gè)超級(jí)節(jié)點(diǎn)負(fù)責(zé)周圍一片區(qū)域的搜索,所有的搜索工作都在超級(jí)節(jié)點(diǎn)中進(jìn)行,普通節(jié)點(diǎn)不參與搜索。
半分布式索引是index和flooding的結(jié)合,系統(tǒng)的節(jié)點(diǎn)分為普通節(jié)點(diǎn)和超級(jí)節(jié)點(diǎn)兩類,每一個(gè)超級(jí)節(jié)點(diǎn)維護(hù)一個(gè)索引,索引里記錄了所有本地和鄰居節(jié)點(diǎn)的資源,超級(jí)節(jié)點(diǎn)和超級(jí)節(jié)點(diǎn)之間保持鄰居關(guān)系。當(dāng)一個(gè)超級(jí)節(jié)點(diǎn)接收到一個(gè)節(jié)點(diǎn)發(fā)來(lái)的查詢請(qǐng)示時(shí),首先在本地索引查找是否有符合要求的文件,如果找不到則向鄰居超級(jí)節(jié)點(diǎn)發(fā)送查詢請(qǐng)求。每一個(gè)超級(jí)節(jié)點(diǎn)的索引隨著文件在節(jié)點(diǎn)間的移動(dòng)而改變。這種方法信賴于網(wǎng)絡(luò)結(jié)構(gòu),利用混合結(jié)構(gòu)來(lái)減少洪泛法的影響。要想減少消息轉(zhuǎn)發(fā)和獲得足夠的搜索結(jié)果,每個(gè)超級(jí)節(jié)點(diǎn)必須要有足夠多的葉子結(jié)點(diǎn)。
三、結(jié)束語(yǔ)
資源搜索是P2P網(wǎng)絡(luò)中需要解決的核心問(wèn)題之一。本文主要對(duì)P2P系統(tǒng)中,各種網(wǎng)絡(luò)搜索技術(shù)的特點(diǎn)及性能的介紹及比較。研究搜索速度快、成本低、分布性好、支持多關(guān)鍵詞搜索、帶寬要求小的P2P搜索方法,對(duì)于P2P應(yīng)用的進(jìn)一步發(fā)展具有很重要的意義。
點(diǎn)擊下頁(yè)還有更多>>>網(wǎng)絡(luò)實(shí)用技術(shù)論文