趙佩章,張同光
(新鄉(xiāng)學(xué)院計(jì)算機(jī)與信息工程學(xué)院 新鄉(xiāng) 453003)
近來(lái)P2P網(wǎng)絡(luò)飛速發(fā)展,已成為互聯(lián)網(wǎng)中最流行的應(yīng)用之一。作為一個(gè)分布式的網(wǎng)絡(luò),其效率在很大程度上依賴于資源搜索的機(jī)制。盡管近年來(lái)關(guān)于P2P資源搜索的研究很多,但是在資源搜索方面一直存在很多需要解決的問題[1]。通常情況下,結(jié)構(gòu)化P2P網(wǎng)絡(luò)更傾向于采用DHT(distributed hash table,分布式散列表)的搜索方式;對(duì)于無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)來(lái)說(shuō),例如Gnutella[2],資源搜索主要是使用洪泛(flooding)或者有一定控制的洪泛來(lái)進(jìn)行,如隨機(jī)走(random walk)[3],由于這樣會(huì)在資源搜索過程中訪問大量不相關(guān)的節(jié)點(diǎn),因此造成較低的搜索效率。為了提高無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)資源搜索效率,研究人員提出了許多搜索機(jī)制[4~7],但是這些搜索機(jī)制都沒有考慮到節(jié)點(diǎn)之間語(yǔ)義的相關(guān)性,因此這些搜索機(jī)制仍然具有較高的搜索開銷。
在語(yǔ)義相關(guān)的P2P網(wǎng)絡(luò)中,相關(guān)的節(jié)點(diǎn)連接在一起,形成一個(gè)語(yǔ)義組。GES[8]和CSS[9]兩種搜索機(jī)制都使用VSM(vector space mode,向量空間模型)[10]來(lái)計(jì)算節(jié)點(diǎn)的語(yǔ)義相關(guān)度。GES首先會(huì)對(duì)每一個(gè)節(jié)點(diǎn)進(jìn)行矢量抽取,然后借助于VSM來(lái)計(jì)算節(jié)點(diǎn)間語(yǔ)義相關(guān)度,并依據(jù)計(jì)算出來(lái)的語(yǔ)義相關(guān)度數(shù)值生成網(wǎng)絡(luò)拓?fù)?,最后采用語(yǔ)義目標(biāo)節(jié)點(diǎn)定位和洪泛相結(jié)合的搜索方式。CSS在GES的基礎(chǔ)上,將每個(gè)節(jié)點(diǎn)按照所含內(nèi)容的不同種類再細(xì)分為更小的虛擬節(jié)點(diǎn),此法雖然可以提高資源查詢的精準(zhǔn)度,但是虛擬節(jié)點(diǎn)的引入?yún)s極大地增加了網(wǎng)絡(luò)的開銷。
在本文中,提出了一種新穎高效的資源搜索機(jī)制SKIP。在GES和CSS中,當(dāng)通過biased walk(偏好查找)方法找到一個(gè)語(yǔ)義目標(biāo)節(jié)點(diǎn)后,使用洪泛的方式在語(yǔ)義組中進(jìn)行查詢。本文提出的SKIP搜索機(jī)制將使用K-層迭代優(yōu)先選擇的方法來(lái)取代GES和CSS中的洪泛方式,同時(shí),在整個(gè)拓?fù)浣Y(jié)構(gòu)的維護(hù)中,SKIP與GES所產(chǎn)生的開銷相同,SKIP在查準(zhǔn)率和查詢開銷上的表現(xiàn)要優(yōu)于GES,而CSS卻要產(chǎn)生更大的虛擬節(jié)點(diǎn)開銷。
一般來(lái)說(shuō),P2P網(wǎng)絡(luò)分為結(jié)構(gòu)化P2P網(wǎng)絡(luò)和無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)兩種。對(duì)于結(jié)構(gòu)化P2P網(wǎng)絡(luò)來(lái)說(shuō),通常使用DHT技術(shù),例如CAN[11]、Pastry[12]和Chord[13]都是使用DHT對(duì)資源進(jìn)行搜索。DHT方法盡管有著較高的搜索效率,但是它只能對(duì)關(guān)鍵字進(jìn)行精確匹配,無(wú)法進(jìn)行語(yǔ)義相關(guān)的查詢。無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò),例如Gnutella,能夠使用語(yǔ)義相關(guān)信息來(lái)進(jìn)行資源搜索,但是其搜索的效率卻比較低。
當(dāng)前無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)被廣泛應(yīng)用,對(duì)于無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的搜索來(lái)說(shuō),主要有盲目搜索和非盲目搜索。盲目搜索算法,是不依靠任何提示信息而對(duì)其所有鄰居節(jié)點(diǎn)或者部分鄰居節(jié)點(diǎn)進(jìn)行盲目的消息轉(zhuǎn)發(fā),直到滿足停止的條件,如洪泛、random walk、BFS(breadth first search,寬度優(yōu)先搜索)[14]等。非盲目搜索算法主要是路由索引[15]的方式。
為了減少洪泛的使用和提高搜索效率,一些搜索算法引入了歷史查詢信息。參考文獻(xiàn)[16,17]所述算法是基于興趣定位的搜索算法,假設(shè)節(jié)點(diǎn)A中有節(jié)點(diǎn)B需要的某一類內(nèi)容,那么節(jié)點(diǎn)A中的另外一些類的內(nèi)容也是節(jié)點(diǎn)B所感興趣的,在節(jié)點(diǎn)B發(fā)起搜索查詢時(shí),首先會(huì)將查詢請(qǐng)求消息發(fā)送到節(jié)點(diǎn)A中。參考文獻(xiàn)[18]提出了一種SON(semantic overlay network,語(yǔ)義覆蓋網(wǎng)絡(luò))的搜索機(jī)制,對(duì)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)所包含的內(nèi)容進(jìn)行分類,并向全網(wǎng)絡(luò)廣播。每一個(gè)新加入的節(jié)點(diǎn)都需要廣播,這樣極大地增加了網(wǎng)絡(luò)開銷。
還有一些P2P搜索機(jī)制,如SETS(search enhanced by topic segmentation,話題分割搜索)[9],它是采用超級(jí)節(jié)點(diǎn)方式,每個(gè)超級(jí)節(jié)點(diǎn)負(fù)責(zé)一類的內(nèi)容,同時(shí)根據(jù)普通節(jié)點(diǎn)所含不同的內(nèi)容連接到不同的超級(jí)節(jié)點(diǎn)上。SETS的搜索路由分為全局路由和本地路由。全局路由就是在不同的超級(jí)節(jié)點(diǎn)之間進(jìn)行路由,尋找不同類的內(nèi)容;本地路由就是主要在某一個(gè)超級(jí)節(jié)點(diǎn)的范圍內(nèi)進(jìn)行洪泛查詢。由于采用超級(jí)節(jié)點(diǎn)的方式,因此單點(diǎn)失效是SETS機(jī)制的一個(gè)致命問題。GES[5]采用分布式的方法,并且通過語(yǔ)義相關(guān)性建立連接,形成語(yǔ)義組。在進(jìn)行資源搜索時(shí),GES使用biased walk算法找到目標(biāo)語(yǔ)義節(jié)點(diǎn),通過目標(biāo)語(yǔ)義節(jié)點(diǎn)在語(yǔ)義組中進(jìn)行洪泛查詢。在GES的基礎(chǔ)上,有研究人員提出了CSS[15],CSS把每一個(gè)節(jié)點(diǎn)里面不同種類的內(nèi)容再分成不同的虛擬節(jié)點(diǎn),這樣提高了查詢的效率,但是卻忽略了分割虛擬節(jié)點(diǎn)的開銷。
VSM[10]是一種使用節(jié)點(diǎn)所包含的關(guān)鍵詞來(lái)表示節(jié)點(diǎn)內(nèi)容的方法。在VSM方法中,使用關(guān)鍵詞的矢量來(lái)表示每一個(gè)文檔或者查詢消息,通過余弦內(nèi)積和的計(jì)算方法來(lái)判斷是否語(yǔ)義相關(guān),對(duì)于一個(gè)文檔D和查詢消息Q來(lái)說(shuō),其計(jì)算方法為:
在式(1)中,t是在文檔D和查詢消息 Q中同時(shí)出現(xiàn)的關(guān)鍵詞,fD,t是關(guān)鍵詞t在文檔 D中的權(quán)重,fQ,t是關(guān)鍵詞t在查詢消息Q中的權(quán)重。
在這一部分中,將詳細(xì)闡述SKIP,分為節(jié)點(diǎn)矢量、拓?fù)錁?gòu)建和搜索協(xié)議3個(gè)子部分。
對(duì)于每一個(gè)節(jié)點(diǎn)來(lái)說(shuō),把它的關(guān)鍵詞按照權(quán)重抽取出來(lái),形成節(jié)點(diǎn)矢量,使用節(jié)點(diǎn)矢量來(lái)表示這個(gè)節(jié)點(diǎn)的內(nèi)容。使用VSM來(lái)計(jì)算節(jié)點(diǎn)矢量間的語(yǔ)義相關(guān)度。首先,對(duì)于一個(gè)節(jié)點(diǎn)中的每一個(gè)文檔按權(quán)重抽取出關(guān)鍵詞,每一個(gè)關(guān)鍵詞的權(quán)重根據(jù)該關(guān)鍵詞在文檔中出現(xiàn)的頻率來(lái)確定;其次,對(duì)于一個(gè)節(jié)點(diǎn)來(lái)說(shuō),將節(jié)點(diǎn)中每個(gè)文檔的帶權(quán)重關(guān)鍵詞加起來(lái),便得到該節(jié)點(diǎn)的權(quán)重關(guān)鍵詞,其計(jì)算方法為在這里,n是該節(jié)點(diǎn)中文檔數(shù)目,t是各個(gè)文檔相同的關(guān)鍵詞。最后,把所有按照上述方法計(jì)算出來(lái)的帶權(quán)重關(guān)鍵詞組合在一起,便形成了該節(jié)點(diǎn)的節(jié)點(diǎn)矢量。
以節(jié)點(diǎn)X和節(jié)點(diǎn)Y為例,它們的節(jié)點(diǎn)間語(yǔ)義相關(guān)度用節(jié)點(diǎn)矢量的計(jì)算方式如下:
在式(2)中,t是在節(jié)點(diǎn)X的節(jié)點(diǎn)矢量和節(jié)點(diǎn)Y的節(jié)點(diǎn)矢量中共同擁有的關(guān)鍵詞。fX,t是關(guān)鍵詞t在節(jié)點(diǎn)X中的權(quán)重,fY,t是關(guān)鍵詞t在節(jié)點(diǎn)Y中的權(quán)重。如果通過式(2)計(jì)算出來(lái)的相關(guān)度數(shù)值大于或等于某一個(gè)門限值,那么這兩個(gè)節(jié)點(diǎn)被認(rèn)為是語(yǔ)義相關(guān),反之,則不相關(guān)。
同樣,可以用如下的式子來(lái)計(jì)算節(jié)點(diǎn)X和查詢消息Q之間的相關(guān)度:
每一個(gè)節(jié)點(diǎn)有兩類鄰居:一類是隨機(jī)鄰居,即是通過式(2)計(jì)算出來(lái)的語(yǔ)義相關(guān)度數(shù)值小于設(shè)定的相關(guān)度門限值REL_THRESHOLD;一類是語(yǔ)義鄰居,即通過式(2)計(jì)算出來(lái)的語(yǔ)義相關(guān)度數(shù)值大于或等于設(shè)定的相關(guān)度門限值REL_THRESHOLD。拓?fù)錁?gòu)建的目標(biāo)有兩個(gè),一是把語(yǔ)義相關(guān)的節(jié)點(diǎn)通過語(yǔ)義連接組成語(yǔ)義組,二是每個(gè)節(jié)點(diǎn)保持一定數(shù)目的隨機(jī)連接以便于發(fā)現(xiàn)新的語(yǔ)義連接。拓?fù)錁?gòu)建算法包含兩個(gè)部分,一個(gè)是鄰居發(fā)現(xiàn)部分,另一個(gè)是鄰居維持部分。
在鄰居發(fā)現(xiàn)部分,起始節(jié)點(diǎn)會(huì)發(fā)起一個(gè)消息,該消息包含有本節(jié)點(diǎn)的節(jié)點(diǎn)矢量信息、語(yǔ)義相關(guān)度門限值REL_THRESHOLD、TTL(time-to-live,生命周期)等,該消息將隨機(jī)地發(fā)送給其他節(jié)點(diǎn)。當(dāng)消息到達(dá)一個(gè)節(jié)點(diǎn)后,該節(jié)點(diǎn)將會(huì)用式 (2)計(jì)算與起始節(jié)點(diǎn)的語(yǔ)義相關(guān)度,然后把TTL的數(shù)值減去1,再隨機(jī)地發(fā)送出去,直到TTL的數(shù)值等于0,這條消息將會(huì)被丟棄。
MAX_SEM_LINKS是每個(gè)節(jié)點(diǎn)允許的最大語(yǔ)義鄰居連接數(shù),MAX_RND_LINKS是每個(gè)節(jié)點(diǎn)允許的最大隨機(jī)鄰居連接數(shù)。同時(shí),每個(gè)節(jié)點(diǎn)有2個(gè)鄰居候選cache:一個(gè)是隨機(jī)鄰居cache;一個(gè)是語(yǔ)義鄰居cache。根據(jù)式(2)計(jì)算出來(lái)的語(yǔ)義相關(guān)度數(shù)值,該節(jié)點(diǎn)將會(huì)被起始節(jié)點(diǎn)按照是否語(yǔ)義相關(guān)分別放入隨機(jī)鄰居cache和語(yǔ)義鄰居cache中,起始節(jié)點(diǎn)將會(huì)從語(yǔ)義鄰居cache中選擇語(yǔ)義相關(guān)度最高的前MAX_SEM_LINKS個(gè)語(yǔ)義相關(guān)節(jié)點(diǎn)作為它的語(yǔ)義鄰居;同時(shí)從隨機(jī)鄰居cache中隨機(jī)選擇MAX_RND_LINKS個(gè)節(jié)點(diǎn)作為隨機(jī)鄰居。對(duì)于語(yǔ)義鄰居,起始節(jié)點(diǎn)會(huì)將它們按照語(yǔ)義相關(guān)度的數(shù)值從高到低進(jìn)行排序。
在鄰居維持部分,其任務(wù)就是從鄰居候選cache中選擇新的鄰居以及保持現(xiàn)有符合要求的鄰居。每個(gè)節(jié)點(diǎn)會(huì)周期性地從它的語(yǔ)義鄰居cache中選擇新的語(yǔ)義鄰居來(lái)更新它的語(yǔ)義鄰居連接,其算法為adapt_sem_neighbors(),需要注意的是,當(dāng)語(yǔ)義相關(guān)度數(shù)值大于或等于門限值REL_THRESHOLD的節(jié)點(diǎn)數(shù)大于最大語(yǔ)義鄰居連接數(shù)MAX_SEM_LINKS時(shí),起始節(jié)點(diǎn)將選擇相關(guān)度最高的前MAX_SEM_LINKS作為新的語(yǔ)義鄰居。同理,節(jié)點(diǎn)的隨機(jī)鄰居數(shù)也不能超過MAX_RND_LINKS。節(jié)點(diǎn)的鄰居重新連接后,每個(gè)節(jié)點(diǎn)根據(jù)語(yǔ)義相關(guān)度的數(shù)值從高到低對(duì)語(yǔ)義鄰居進(jìn)行排序。在圖1中,給出了鄰居拓?fù)湔{(diào)整與維持的偽代碼。
圖1 鄰居調(diào)整與維持的偽代碼
SKIP資源搜索定位查詢算法的主要思想簡(jiǎn)言之就是:優(yōu)先搜索查詢語(yǔ)義相關(guān)度最高的那部分節(jié)點(diǎn)。
當(dāng)一個(gè)節(jié)點(diǎn)發(fā)起查詢請(qǐng)求時(shí),首先使用biased_walk()函數(shù)找到語(yǔ)義目標(biāo)節(jié)點(diǎn),然后再發(fā)起SKIP查詢,具體如下。
用M(M≤MAX_SEM_LINKS)來(lái)表示某一個(gè)節(jié)點(diǎn)的語(yǔ)義鄰居個(gè)數(shù),然后將該節(jié)點(diǎn)的所有語(yǔ)義鄰居按照之前網(wǎng)絡(luò)拓?fù)錁?gòu)建時(shí)計(jì)算出來(lái)的節(jié)點(diǎn)之間的語(yǔ)義相關(guān)度數(shù)值進(jìn)行排序,排序的規(guī)則是按節(jié)點(diǎn)之間語(yǔ)義相關(guān)度數(shù)值從高到低進(jìn)行排序。排完序之后,將這些語(yǔ)義鄰居按照語(yǔ)義相關(guān)度數(shù)值由高到低平均分成m個(gè)子組。當(dāng)查詢消息找到語(yǔ)義目標(biāo)節(jié)點(diǎn)后,就是從目標(biāo)節(jié)點(diǎn)語(yǔ)義相關(guān)度最高的一個(gè)子組,即語(yǔ)義相關(guān)度數(shù)值最高的[M/m]個(gè)語(yǔ)義鄰居(在這里[]表示高斯取整函數(shù))開始繼續(xù)進(jìn)行資源搜索定位查詢。
資源搜索定位查詢消息每轉(zhuǎn)發(fā)一次,其生命周期TTL的數(shù)值將被減去1,當(dāng)TTL=0時(shí),資源搜索定位查詢消息將不再轉(zhuǎn)發(fā),而被直接丟棄。如果通過第一個(gè)子組的語(yǔ)義最相關(guān)的[M/m]個(gè)語(yǔ)義鄰居的查詢后,仍然沒有滿足要求,那么目標(biāo)節(jié)點(diǎn)將會(huì)從第二個(gè)語(yǔ)義子組開始轉(zhuǎn)發(fā)資源搜索定位查詢消息,直到搜索查詢到的滿足要求;若仍然無(wú)法滿足源節(jié)點(diǎn)的資源搜索查詢請(qǐng)求,將從第3個(gè)子組繼續(xù)往下搜索查詢;以此類推。
值得注意的是,資源搜索定位查詢消息每往下轉(zhuǎn)發(fā)一次,相當(dāng)于往下一層迭代了一次,因?yàn)樵谙乱粚拥拿恳粋€(gè)節(jié)點(diǎn),同樣地將會(huì)把自己的語(yǔ)義鄰居節(jié)點(diǎn)按照語(yǔ)義鄰居節(jié)點(diǎn)之間的語(yǔ)義相關(guān)度數(shù)值進(jìn)行排序,排序的規(guī)則是從高到低。在對(duì)該節(jié)點(diǎn)的所有語(yǔ)義鄰居按照之前網(wǎng)絡(luò)拓?fù)錁?gòu)建時(shí)計(jì)算出來(lái)的節(jié)點(diǎn)之間的語(yǔ)義相關(guān)度數(shù)值排完序之后,將這些語(yǔ)義鄰居按語(yǔ)義相關(guān)度數(shù)值由高到低平均分成m個(gè)子組。資源搜索定位查詢消息將會(huì)按照語(yǔ)義相關(guān)度數(shù)值最高的[M/m]個(gè)語(yǔ)義鄰居優(yōu)先選擇的機(jī)制,在下一層語(yǔ)義鄰居節(jié)點(diǎn)中繼續(xù)查找,一旦找到滿足源節(jié)點(diǎn)要求數(shù)量的語(yǔ)義相關(guān)資源時(shí),查詢立即終止。圖2是biased_walk()和SKIP資源搜索定位查詢算法的偽代碼。
如圖3所示,以語(yǔ)義子組數(shù)m=2,最大語(yǔ)義鄰居鏈接數(shù)MAX_SEM_LINKS=4為例,介紹一下搜索路徑。圓形節(jié)點(diǎn)為語(yǔ)義相關(guān)的語(yǔ)義鄰居,方形節(jié)點(diǎn)為語(yǔ)義不相關(guān)的隨機(jī)鄰居。當(dāng)查詢消息找到語(yǔ)義相關(guān)的目標(biāo)節(jié)點(diǎn)X后,該資源搜索定位查詢消息將會(huì)用式(3)、(4)計(jì)算節(jié)點(diǎn)X中的每一個(gè)資源文檔與這個(gè)資源搜索定位查詢消息的語(yǔ)義相關(guān)度。虛線是語(yǔ)義相關(guān)度最高的子組,黑體實(shí)線是語(yǔ)義相關(guān)度次高的子組,首先會(huì)從虛線子組開始查詢,若查詢到的結(jié)果滿足要求,查詢終止;若不滿足,則從黑體實(shí)線子組繼續(xù)查詢。
圖2 搜索協(xié)議偽代碼
在測(cè)試數(shù)據(jù)的選取上,使用TREC[19]作為仿真實(shí)驗(yàn)中的測(cè)試數(shù)據(jù)。TREC是一個(gè)在信息資源檢索領(lǐng)域廣泛使用的標(biāo)準(zhǔn)數(shù)據(jù)集。在仿真實(shí)驗(yàn)中,主要采用查準(zhǔn)率(即最大相關(guān)資源數(shù)/獲取總的相關(guān)資源數(shù))和查詢開銷(即訪問節(jié)點(diǎn)數(shù))作為實(shí)驗(yàn)的性能指標(biāo)來(lái)衡量SKIP搜索算法的優(yōu)勢(shì)。
表1中列出了相關(guān)實(shí)驗(yàn)參數(shù)的設(shè)置。
表1 搜索策略仿真實(shí)驗(yàn)參數(shù)
仿真實(shí)驗(yàn)結(jié)果如圖4、圖5所示。GES方式只對(duì)應(yīng)m=1時(shí)情況。SKIP搜索方式對(duì)應(yīng)m=1,2,3,4時(shí)的情況
從圖4中可以清楚地看到,對(duì)于同樣的資源搜索定位查詢消息生命周期TTL值,當(dāng)語(yǔ)義子組參數(shù)m的值從1遞增到4時(shí),GES搜索查詢算法的查準(zhǔn)率是最低的。而對(duì)于SKIP資源搜索定位查詢算法來(lái)說(shuō),m的值越大,查準(zhǔn)率越高。換句話說(shuō),隨著語(yǔ)義子組數(shù)的增加,也就是m值的增加,SKIP資源搜索定位查詢算法將使用更小的粒度來(lái)進(jìn)行優(yōu)先選擇搜索,因此,其資源的查準(zhǔn)率也將越高。
從圖5中可以清楚地看到,當(dāng)TTL的值較?。═TL=1以及TTL=2)時(shí),SKIP算法與GES算法的查詢開銷的差別不是太大。但是,當(dāng)TTL的值增加時(shí),GES的開銷迅速上升,而SKIP算法的查詢開銷卻仍然保持在一個(gè)較低的狀態(tài)。換句話說(shuō),GES查詢消息在資源搜索時(shí),訪問了大量的節(jié)點(diǎn),造成了巨大的開銷;反觀SKIP查詢算法,在完成相同的查詢?nèi)蝿?wù)的情況下,極大地減少了查詢消息對(duì)于節(jié)點(diǎn)的訪問量,減小了搜索查詢的開銷。
綜上所述,SKIP查詢算法與GES查詢算法相比,優(yōu)先選擇語(yǔ)義相關(guān)度更高的部分語(yǔ)義鄰居節(jié)點(diǎn)進(jìn)行搜索定位查詢,具有更好的資源查準(zhǔn)率和更低的查詢開銷。
在本文中,提出了SKIP資源搜索算法,由于其采用優(yōu)先選擇與層層迭代的方式,具有很高的查詢效率和較低的查詢開銷。仿真實(shí)驗(yàn)也顯示了SKIP在查準(zhǔn)率和查詢開銷方面優(yōu)于GES。將來(lái),筆者還要考慮異構(gòu)環(huán)境下的拓?fù)錁?gòu)建和搜索策略。
1 Risson J,Moors T. Survey of research towards robust peer-to-peernetworks:search methods.ComputerNetworks,2006,50(17):3 485~3 521
2 Gnutella 0.6.http://rfc-gnutella.sourceforge.net/src/rfc-06-draft.html
3 Yang B,Garcia-Molina H.Improving search in peer-to-peer networks.Proceedings of the ICDCS 2002,Vienna,Austria,2002:5~14
4 Lv Q,Cao P,Cohen E.Search and replication in unstructured peer-to-peer networks.Proceedings of 16th ACM Ann Int’l Conf Supercomputing(ICS),New York,USA,2002:84~95
5 Cohen E,Kaplan H,Fiat A.Associative search in peer-to-peer networks:harnessing latent semantics.Proceedings of IEEE INFOCOM,2003,2(4):1 261~1 271
6 SpripanidkulchaiK,MaggsB,Zhang H.Efficientcontent location using interest-based locality in peer-to-peer systems.Proceedings of IEEE INFOCOM,2003,3(3):2 166~2 176
7 Bawa M,Manku G,Raghavan P.SETS:search enhanced by topic segmentation.Proceedings of26th Ann Int’l ACM SIGIR Conf,Toronto,Canada,2003:306~313
8 Zhu Y,Hu Y.Enhancing search performance on gnutella-like P2P systems.IEEE Transactions on Parallel and Distributed Systems,2006,17(12):1 482~1 495
9 Guo L,Jiang S,Xiao L,et al.Exploiting content localities for efficient search in P2P systems.Proceedings of 18th Ann Conf Distributed Computing (DISC’04),Amsterdam,Netherlands,2004
10 Berry M W,Drmac Z,Jessup E R.Matrices,vector spaces,and information retrieval.SIAM Review,1999,41(2):335~362
11 Ratnasamy S,Francis P,Handley M,et al.A scalable content addressablenetwork.ProceedingsofACM SIGCOMM,San Diego,CA,USA,2001:161~172
12 Rowstron A,Druschel P.Pastry:scalable,distributed object location and routing for large-scale peer-to-peer systems.Proceedings of the 18th IFIP/ACM International Conference on Distributed System Platforms (Middleware), Heidelberg,Germany,2001:329~350
13 Stoica I,MorrisR,KargerD,etal.Chord:a scalable peer-to-peer lookup protocol for internet applications.IEEE/ACM Transactions on Networking,2003,11(1):17~32
14 Crespo A,Garcia-Molina H.Routing indices for peer-to-peer systems.Proceedings of the 22nd International Conference on Distributed Computing(IEEE ICDCS’02),Vienna,Austria,2002
15 Crespo A,Garcia-Molina H.Semantic Overlay Networks for P2P Systems.Technical Report,University of Stanford,May 2004
16 Risson J, Moors T.Survey of research towards robust peer-to-peernetworks:search methods.ComputerNetworks,2006,50(17):3 485~3 521
17 HuangJ,LiX,Wu J.A class-based search system in unstructured P2P networks.Proceedingsofthe IEEE 21st International Conference on Advanced Information Networking and Applications,2007:76~83
18 Guo L,Jiang S,Xiao L,et al.Fast and low cost search schemes by exploiting localities in P2P networks.Parallel and Distributed Computing,2005,65(6):729~742
19 Text REtrieval Conference(TREC).http://trec.nist.gov