吳兆立
【摘 要】隨著互聯(lián)網(wǎng)的迅速發(fā)展,網(wǎng)上的信息資源海量增加,在給用戶提供共享的同時也給用戶搜索、定位和獲取信息資源帶來了巨大的困難。傳統(tǒng)的搜索技術(shù)采用集中式架構(gòu),存在很多問題,對搜索性能產(chǎn)生了很大的影響。P2P作為一種新的網(wǎng)絡模式,具有自組織、分布式、可擴展性的特點。它的出現(xiàn)給搜索引擎技術(shù)的發(fā)展帶來了新的機遇。本文首先介紹課題的研究背景,闡述當前P2P搜索引擎的國內(nèi)外研究現(xiàn)狀。然后介紹搜索引擎的發(fā)展歷史、原理以及未來的發(fā)展趨勢以及P2P技術(shù)的基本概念并分析其主要優(yōu)點。最后介紹一種新的基于Chord協(xié)議的P2P網(wǎng)絡模型。
【關鍵詞】P2P網(wǎng)絡 搜索模型 Group Chord協(xié)議
隨著網(wǎng)絡的快速發(fā)展,網(wǎng)絡上的資源海量增加?;ヂ?lián)網(wǎng)的出現(xiàn),開創(chuàng)了文類文化信息化的新時代。它向公眾開放的信息資源比世界上任何一個圖書館或任何一個信息存儲機構(gòu)都要多。人類的生活、學習、工作都離不開網(wǎng)絡。因此,如何在這海量的信息資源之中獲取對自身有價值的信息已成為人們?nèi)找骊P注的問題。搜索引擎技術(shù)是一種幫助網(wǎng)絡用戶查詢所需信息的搜索工具,是為論文解決網(wǎng)上信息查詢困難的難題應用而生的,它可以有效地幫助用戶在網(wǎng)絡上查找到自己所需要的信息。如果說絡改變了人類的生活,那么搜索引擎正是改變?nèi)祟惿畹墓ぞ摺?/p>
一、基于Chord協(xié)議的P2P網(wǎng)絡
(一)Chord的拓撲結(jié)構(gòu)
Chord將整個網(wǎng)絡抽象為一個環(huán)形的拓撲結(jié)構(gòu),通過一致性哈希變換(Consistent Hashing),通常使用哈希函數(shù)SHA-1,給每一個節(jié)點和文檔都賦予一個m位的標識符key,節(jié)點的標識符是通過對節(jié)點的IP地址進行哈希變換得到的,文檔的標識符是通過對文檔的內(nèi)容進行哈希變換得到的①。標識符的長度m應該足夠大,使得Chord環(huán)能夠容納最大可能的參與節(jié)點數(shù),并且使得任意兩個節(jié)點或者文檔經(jīng)過哈希變換后得到相同標識符的概率可以忽略不計。Chord網(wǎng)絡中所有的節(jié)點根據(jù)標識符從小到大的順序以順時針的方向構(gòu)成一個邏輯環(huán)形的拓撲結(jié)構(gòu),文檔保存在后繼節(jié)點上。后繼節(jié)點(Successor)是節(jié)點標識符大于或者等于當前節(jié)點標識符的最小的一個節(jié)點,形象說后繼節(jié)點就是邏輯環(huán)中順時針方向第一個跟著當前節(jié)點的實際存在的節(jié)點;前置節(jié)點(Predecessor)與后繼節(jié)點正相反,是邏輯環(huán)中逆時針方向第一個跟著當前節(jié)點的實際存在的節(jié)點,方便節(jié)點逆時針方向的查找,節(jié)點m的后繼節(jié)點和前置節(jié)點分別記為Successor(m)和Predecessor(m)。
(二)Chord的資源搜索機制
在Chord網(wǎng)絡中,簡單的資源搜索機制是每個節(jié)點只需要保存其后繼節(jié)點的信息,這樣查詢消息就可以沿著Chord環(huán)以順時針的方向一步一跳的傳遞,直到找到匹配的節(jié)點②。這種通過節(jié)點的鄰接關系進行消息順序傳遞的方法雖然簡單可行,但是效率非常低,網(wǎng)絡中的兩個節(jié)點為了找到對方很可能將消息繞環(huán)傳遞一周。為了提高查詢效率,減少定位開銷,網(wǎng)絡中的每個節(jié)點保存一個具有n個表項的Finger表(Finger Table,鄰居表),這樣網(wǎng)絡中的每個節(jié)點只需要維護自身Finger表中的小部分節(jié)點,無需掌握網(wǎng)絡中其他節(jié)點的信息,就可以通過節(jié)點之間的通信,找到任一節(jié)點。
二、新的P2P網(wǎng)絡模型的基本思想
Chord通過把網(wǎng)絡虛擬成環(huán)形的拓撲結(jié)構(gòu),完成了信息的快速搜索,提高了查詢效率,但是存在以下兩方面的問題:
(1)以Chord為代表的結(jié)構(gòu)化P2P網(wǎng)絡在構(gòu)建網(wǎng)絡的時候沒有考慮節(jié)點的實際物理拓撲結(jié)構(gòu),都忽視了覆蓋網(wǎng)絡與底層網(wǎng)絡的差異,這樣將會導致在實際網(wǎng)絡中相距很近的兩個節(jié)點通過函數(shù)映射在覆蓋網(wǎng)絡上卻相距很遠,而在覆蓋網(wǎng)絡中距離很遠的節(jié)點卻可能成為實際網(wǎng)絡中的臨近節(jié)點,即Chord網(wǎng)絡的繞路(Detouring)問題。這樣的底層網(wǎng)絡與覆蓋網(wǎng)絡的不一致,將致使覆蓋網(wǎng)絡上的兩個臨近節(jié)點理論上看似距離很近,但實際上要想找到對方卻要經(jīng)過很長的路徑,使得基于這種覆蓋網(wǎng)絡所做的評測的不可靠;相反實際距離很近的兩個節(jié)點,因為被映射到了覆蓋網(wǎng)絡上距離很遠的位置,卻要在網(wǎng)絡中白白的繞一圈才能找到對方,致使走了大量重復路徑,增加網(wǎng)絡流量,浪費帶寬。
(2)目前的非結(jié)構(gòu)化P2P網(wǎng)絡已經(jīng)充分的考慮了節(jié)點性能(包括計算能力、存儲能力、網(wǎng)絡帶寬等性能)的差異,但是傳統(tǒng)的結(jié)構(gòu)化P2P網(wǎng)絡尚沒有考慮這一點,不加區(qū)分的賦予網(wǎng)絡中的所有節(jié)點以同一的責任,這將造成高性能的節(jié)點沒有充分發(fā)揮其能力的空間,而相對性能較差的節(jié)點卻擔負著無法負擔的責任,嚴重影響了網(wǎng)絡的穩(wěn)定性和搜索信息的速度。
三、新模型的體系結(jié)構(gòu)
模型與Chord網(wǎng)絡不同的是,它改變了Chord協(xié)議的單一環(huán)形空間的拓撲結(jié)構(gòu),而引入了分層分布式的模型結(jié)構(gòu)。整個網(wǎng)絡是由多個Chord環(huán)彼此互連構(gòu)成的,每個Chord環(huán)是根據(jù)節(jié)點的實際物理地址劃分的,是相對獨立的,Chord環(huán)中的節(jié)點依然按照Chord協(xié)議的規(guī)則組成結(jié)構(gòu)化的P2P網(wǎng)絡,而每個Chord環(huán)之間則是以完全分布式的方式連接的。
四、新模型介紹
新模型繼承了Chord網(wǎng)絡在可擴展性和魯棒性等方面的優(yōu)點,同時考慮了節(jié)點的實際物理地址和節(jié)點性能的差異,它是一個將網(wǎng)絡中的節(jié)點按照實際物理地址的鄰近性劃分群組的分層分布式結(jié)構(gòu)的網(wǎng)絡模型。網(wǎng)絡中實際鄰近的節(jié)點在覆蓋網(wǎng)絡模型中也相距很近,使得網(wǎng)絡拓撲和實際物理地址相對一致。
五、結(jié)論
P2P技術(shù)在網(wǎng)絡應用領域顯示出很強的技術(shù)優(yōu)勢,最近幾年的迅速發(fā)展,受到廣泛、關注。由于網(wǎng)絡用戶以及網(wǎng)絡資源的增加,C/S模式下的網(wǎng)絡對服務器要求很高,越來越難提供滿意的服務性能。P2P技術(shù)的分散特性⑤與因特網(wǎng)的協(xié)議和結(jié)構(gòu)完全相適應,具有極強的適應性和網(wǎng)絡服務能力。因此,設計高效的搜索機制,快速而準確地找到所需要的資源,才能使P2P網(wǎng)絡得以廣泛應用。本文在分析了現(xiàn)有P2P搜索方法的優(yōu)缺點基礎上介紹了一種搜索模型,該模型能夠以很小的開銷獲得很高的性能。
參考文獻:
[1]毛薇,姚青,李濤.基于P2P的高效搜索引擎的研究[J].武漢理工大學學報(信息與管理工程版),2002,24(4):43.
[2]呂建明,劉悅,丁林,等.P2P與信息檢索[J].信息技術(shù)快報,2005,(2).