亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法和系統(tǒng)的制作方法

文檔序號:435706閱讀:314來源:國知局

專利名稱::在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及計算機網(wǎng)絡(luò)
技術(shù)領(lǐng)域
,特別涉及一種在基于分布式哈希表(DistributedHashTable,DHT)的對等(PeertoPeer,P2P)網(wǎng)絡(luò)中查找數(shù)據(jù)的方法和系統(tǒng)。技術(shù)背景區(qū)別于傳統(tǒng)的客戶端(Client)/服務(wù)器(Server)模式的網(wǎng)絡(luò),P2P網(wǎng)絡(luò)中的每一參與的節(jié)點都是對等的,每一節(jié)點共享其擁有的一部分硬件資源(如處理能力、存儲能力、網(wǎng)絡(luò)鏈接能力、打印機等),這些共享資源通過網(wǎng)絡(luò)提供的服務(wù)和內(nèi)容能被其它對等節(jié)點直接訪問而無需經(jīng)過中間實體。也就是說,在P2P網(wǎng)絡(luò)中的參與節(jié)點既是資源(如服務(wù)和內(nèi)容)提供者(相當于服務(wù)器),又是資源獲取者(相當于客戶端)。在新一代的P2P技術(shù)中,采用DHT構(gòu)建P2P網(wǎng)絡(luò)。DHT是一種分布式存儲方法。DHT中每個節(jié)點負責存儲一小部分數(shù)據(jù),并負責一個小范圍的路由,從而實現(xiàn)整個DHT網(wǎng)絡(luò)的存儲和尋址。DHT中,首先將需要存儲的數(shù)據(jù)通過散列函數(shù)得到定長的數(shù)據(jù)鍵值(Key),同時,為組成Overlay網(wǎng)絡(luò)中的節(jié)點也利用散列函數(shù)分配一個節(jié)點鍵值。特定鍵值的節(jié)點上負責一部分鍵值的數(shù)據(jù)的存儲。各個節(jié)點間可以查找某鍵值的數(shù)據(jù)所在的節(jié)點?,F(xiàn)有技術(shù)中,可以采用多種算法實現(xiàn)DHT,例如有Chord、Pastry、CAN及Bamboo等。以下以Chord算法為例,介紹基于DHT的P2P實現(xiàn)方式。Chord中每個數(shù)據(jù)關(guān)^fe字和節(jié)點都分別擁有一個m比特的標識符。數(shù)據(jù)V的關(guān)^:字標識符設(shè)為K,可以通過卩合希算法得到。節(jié)點標識符設(shè)為N,可以通過節(jié)點的IP地址由哈希算法得到。上面的哈希函數(shù)可以選用安全散列算法1(SecureHashAlgrithom-1,SHA-1),或其它哈希函數(shù)。所有節(jié)點按照其節(jié)點標識符后其特征在于從小到大沿著順時針方向排列在一個邏輯的標識圓環(huán)上(稱為Chord環(huán))。Chord的映射規(guī)則是關(guān)^^A字標識為K的(K,V)對存儲在這樣的節(jié)點上,該節(jié)點的節(jié)點標識等于K或者在Chord環(huán)上緊跟在K之后,這個節(jié)點被稱為K的后繼節(jié)點,表示為successor(K)。因為標識符采用m位二進制數(shù)表示,并且從0到2m-1順序排列成一個圓圈,successor(K)就是從K開始順時針方向距離K最近的節(jié)點。圖1示出了一個111=6的環(huán)。該!11=6的環(huán)中最多可以包括26個節(jié)點,這里以該1!1=6的環(huán)中分布了IO個節(jié)點,存儲了5個關(guān)鍵字為例進行說明,節(jié)點標識前加上N而關(guān)4建字前加上K以示區(qū)別。如圖中10個節(jié)點分別表示為Nl、N8、N14、N21、N32、N38、N42、N48、N51、N56;5個關(guān)4建字分別表示為K10、K24、K30、K38、K54。因為successor(10)=14,所以關(guān)鍵字為K10的數(shù)據(jù)存儲到節(jié)點N14上。同理,關(guān)鍵字為K24和K30的數(shù)據(jù)存儲到節(jié)點N32上,關(guān)鍵字為K38的數(shù)據(jù)存儲到節(jié)點N38上,關(guān)鍵字為K54的數(shù)據(jù)存儲到節(jié)點N56上。仍以圖1中所示的Chord算法中數(shù)據(jù)存儲和節(jié)點關(guān)系的原理圖為例,圖2示出了Chord的查詢原理圖。圖中每個節(jié)點維護一個路由表,稱為指針表(fingertable)。每個數(shù)據(jù)關(guān)鍵字和節(jié)點標識符用m位二進制數(shù)表示,那么,每個節(jié)點的指針表中最多含有m個表項。節(jié)點N的指針表中第i項的節(jié)點是圓環(huán)上標識大于或等于n+2i的第一個節(jié)點(比較是以2m為模進行的)。例如若s=successor(n+21),(KK(m-1),則稱節(jié)點s為節(jié)點N的第i個指針。另外,當查找的數(shù)據(jù)關(guān)鍵字大于指針表中的最大范圍時,對應(yīng)指針表中的最后一個節(jié)點,即下表中的數(shù)據(jù)關(guān)鍵字大于N8+16時,對應(yīng)指針表中的節(jié)點N42。指針表中每一項既包含相關(guān)節(jié)點的標識,又包含相關(guān)節(jié)點的IP地址(和端口號)。如圖中的節(jié)點N8可以維護下面所示的指針表表l.節(jié)點N8維護的指針表<table>tableseeoriginaldocumentpage6</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>上表給出了節(jié)點8的指針表,例如節(jié)點14是環(huán)上緊接在(8+2°)mod26=9之后的第一個節(jié)點,所以節(jié)點8的第一個指針是節(jié)點14;同理,因為節(jié)點21是環(huán)上緊接在(8+23)mod2^16之后的第一個節(jié)點,所以節(jié)點8的第3個指針是節(jié)點21。其它指針和其它節(jié)點維護的指針表可以以此類推。上述維護指針表使得每個節(jié)點只需要知道網(wǎng)絡(luò)中一小部分節(jié)點的信息,而且離它越近的節(jié)點,它知道的信息越多。這樣,任何一個節(jié)點收到查詢關(guān)鍵字為K的數(shù)據(jù)V的請求時,首先檢查關(guān)鍵字K是否落在該節(jié)點標識和它的后繼節(jié)點標識之間,如果是,這個后繼節(jié)點就是存儲目標(K,V)對的節(jié)點。否則,節(jié)點將查找自身維護的指針表,找到表中節(jié)點標識符不超過K的最大的節(jié)點,并將這個查詢請求轉(zhuǎn)發(fā)給該節(jié)點。通過重復(fù)這個過程,最終可以定位到K的后繼節(jié)點,即存儲有目標(K,V)對的節(jié)點。本領(lǐng)域技術(shù)人員知道,疊加(Overlay)網(wǎng)絡(luò)是應(yīng)用層網(wǎng)絡(luò),它是面向應(yīng)用層的,不考慮或很少考慮網(wǎng)絡(luò)層、物理層的問題。具體的,Overlay網(wǎng)絡(luò)是指建立在一個網(wǎng)絡(luò)上的網(wǎng)絡(luò)。很多P2P網(wǎng)絡(luò)就是Overlay網(wǎng)絡(luò),因為它運行在互連網(wǎng)的上層。實際中,可以有多種不同層次的Overlay網(wǎng)絡(luò)共同構(gòu)成P2P網(wǎng)絡(luò)。圖3示出了具有兩個層次Overlay網(wǎng)絡(luò)的P2P網(wǎng)絡(luò)拓樸圖。兩個層次的Overlay分別為上層(top-level)Overlay和下層(bottom-level)Overlay。bottom-levelOverlay中包括若干普通節(jié)點,且每個bottom-levelOverlay通過一個普通節(jié)點與top-levelOverlay傳遞數(shù)據(jù),這時,這個用于在不同層次疊加網(wǎng)絡(luò)中傳遞翁:據(jù)的普通節(jié)點稱為超級節(jié)點,該超級節(jié)點同時屬于bottom-levelOverlay網(wǎng)絡(luò)和top-levelOverlay網(wǎng)絡(luò)。如圖3中分層次的Overlay網(wǎng)絡(luò)中查詢數(shù)據(jù)的方法可以舉例如下步驟A:top-levelOverlay中的一個超級節(jié)點接收查詢請求,按照該查詢請求中的長度為m比特的數(shù)據(jù)關(guān)鍵字K查詢top-levelOverlay中的超級節(jié)點。步驟B:當在top-levelOverlay中查詢到最接近的超級節(jié)點時,在該超級節(jié)點所在的bottom-levelOverlay中繼續(xù)按照長度為m比特的數(shù)據(jù)關(guān)鍵字K查找。上述步驟中的查詢可以是前面提到的Chord方式。例如,如圖3中,環(huán)D為top-levelOverlay,其上包括三個超級節(jié)點,關(guān)鍵字分別為010101,110110和101001。環(huán)A、環(huán)B和環(huán)C都是bottom-levelOverlay,其中,環(huán)A上包括與環(huán)D共有的關(guān)鍵字為010101的超級節(jié)點,還包括節(jié)點010001和011000。當環(huán)D中收到一個查詢關(guān)4建字為010001的數(shù)據(jù)查詢:清求時,首先在環(huán)d中以該關(guān)4定字逐個查詢。之后,在環(huán)A上也以關(guān)鍵:字010001的繼續(xù)查詢。在對現(xiàn)有技術(shù)的研究和實踐過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中存在以下問題由于在一個環(huán)內(nèi),僅需要查詢關(guān)鍵字的某些位即可得到查詢結(jié)果,而現(xiàn)有技術(shù)在不同層次的環(huán)內(nèi)進行查詢時始終采用同一長度的關(guān)鍵字進行查詢,查詢效率不高。例如上述過程中,在環(huán)D內(nèi)的超級節(jié)點,如果不同超級節(jié)點的頭兩位不同,那么,只需查找關(guān)鍵字的頭兩位即可判斷是否找到對應(yīng)的超級節(jié)點,如果此時仍按照6位長度查詢,效率不是很高。同樣,在環(huán)A內(nèi)的普通節(jié)點,如果不同普通節(jié)點的后四位不同,那么,只需查找關(guān)鍵字的后四位即可判斷是否找到對應(yīng)的普通節(jié)點,如果此時仍按照6位長度查詢,效率也不高。
發(fā)明內(nèi)容本發(fā)明實施例的目的是提供一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法和系統(tǒng),以克服現(xiàn)有技術(shù)中始終采用同一長度的關(guān)鍵字進行查詢而導(dǎo)致的查詢效率不高的缺點。為解決上述技術(shù)問題,本發(fā)明實施例提供一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法和系統(tǒng)是這樣實現(xiàn)的一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法,所述對等網(wǎng)絡(luò)包括至少兩層疊加網(wǎng)絡(luò),每層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點,所述節(jié)點的節(jié)點標識包括區(qū)域標識和本地標識,相鄰的兩層疊加網(wǎng)絡(luò)通過超級節(jié)點傳遞數(shù)據(jù),該方法并包括上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點接收查詢請求;所述查詢請求中包含待查找tb悟的區(qū)3或標識和本;也標識;在所述上層疊加網(wǎng)絡(luò)中從第一超級節(jié)點開始,查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點;在所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地標識查找數(shù)據(jù)所在節(jié)點。一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的系統(tǒng),所述對等網(wǎng)絡(luò)包括至少兩層疊加網(wǎng)絡(luò),每層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點,所述節(jié)點的節(jié)點標識包括區(qū)域標識和本地標識,相鄰的兩層疊加網(wǎng)絡(luò)通過超級節(jié)點傳遞凝:據(jù),其中,上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點用于接收查詢請求,并在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識;所述超級節(jié)點所在的下層疊加網(wǎng)絡(luò),用于以所述查詢請求中的本地標識在所述下層疊加網(wǎng)絡(luò)中進行查找。一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的節(jié)點,位于上層疊加網(wǎng)絡(luò)中,所述上層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點標識為包括區(qū)域標識和本地標識的所述節(jié)點,且所述節(jié)點包括查詢請求接收單元,用于接收查詢請求,;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)i或標識和本;也標識;查找單元,用于在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域標識的超級節(jié)點。一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的節(jié)點,位于下層疊加網(wǎng)絡(luò)中,所述下層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點標識為包括區(qū)域標識和本地標識的所述節(jié)點,且所述節(jié)點包括查詢請求接收單元,用于接收查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識;查找單元,用于以接收到的查詢請求中的本地標識在所述下層疊加網(wǎng)絡(luò)中進行查找。由以上本發(fā)明實施例提供的技術(shù)方案可見,接收到查詢請求后,在上層疊加網(wǎng)絡(luò)中查找相同區(qū)域ID的超級節(jié)點,在該超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地ID進行查找,這樣,在不同層次的疊加網(wǎng)絡(luò)中進行查詢時采用不同的關(guān)鍵字,而不需要采用全部字段的關(guān)鍵字進行查詢,也就是說采用全部關(guān)鍵字中的部分字段進行查詢,從而提高了查詢效率。圖1為現(xiàn)有技術(shù)Chord算法中數(shù)據(jù)存儲和節(jié)點關(guān)系的原理圖;圖2為現(xiàn)有技術(shù)Chord算法的查詢原理圖;圖3為現(xiàn)有技術(shù)中包含上層和下層疊加網(wǎng)絡(luò)的對等網(wǎng)絡(luò)拓樸圖;圖4為本發(fā)明方法實施例的流程圖;圖5為本發(fā)明方法一個完整實施例的網(wǎng)絡(luò)拓樸圖;圖6為本發(fā)明方法一個完整實施例中上層疊加網(wǎng)絡(luò)的節(jié)點圖;圖7為本發(fā)明方法一個完整實施例中下層疊加網(wǎng)絡(luò)的節(jié)點圖。具體實施方式本發(fā)明實施例提供一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法,上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點接收查詢請求,在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點,在所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢:清求中的本地標識進^f亍查找。為了使本
技術(shù)領(lǐng)域
的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實施方式對本發(fā)明實施例作進一步的詳細說明。本方法實施例中提供一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法,所述對等網(wǎng)絡(luò)包括至少兩層疊加網(wǎng)絡(luò),每層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點,所述節(jié)點的節(jié)點標識包括區(qū)域標識和本地標識,相鄰的兩層疊加網(wǎng)絡(luò)通過超級節(jié)點傳遞數(shù)據(jù)。所述區(qū)域ID是節(jié)點所屬區(qū)域的標識,不同區(qū)域的節(jié)點其區(qū)域ID不同。所述本地ID是節(jié)點在所屬區(qū)域內(nèi)的標識,同一區(qū)域內(nèi)的不同的節(jié)點其本地ID不同。如圖4所示,該方法實施例包括下面步驟步驟401:上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點接收到查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識。該步驟中,查詢請求最初可以是直接發(fā)送到所述第一超級節(jié)點,也可以是通過下層疊加網(wǎng)絡(luò)傳遞到所述上層疊加網(wǎng)絡(luò)。如果是后一種情況,則可以包括下面步驟A和B:步驟A:下層疊加網(wǎng)絡(luò)中的第一普通節(jié)點接收到查詢請求后,判斷查詢請求中的區(qū)域ID是否與自身區(qū)域ID相同。該步驟中,首先通過查詢請求中的區(qū)域ID判斷是否需要在接收查詢請求的第一普通節(jié)點所在疊加網(wǎng)絡(luò)中查找。首先通過區(qū)域ID的判斷,可以預(yù)先排除不需要查找的疊加網(wǎng)絡(luò),這樣可以避免無效的查找,從而提高查找效率。步驟B:當所述查詢請求中的區(qū)域ID與所述接收查詢請求的第一普通節(jié)點的區(qū)域ID不同時,將查詢請求通過所述第一普通節(jié)點所在下層疊加網(wǎng)絡(luò)與上層疊加網(wǎng)絡(luò)連接的所述第一超級節(jié)點定向到所述上層疊加網(wǎng)絡(luò)。另外,當所述查詢請求中的區(qū)域ID與所述下層疊加網(wǎng)絡(luò)的區(qū)域ID相同時,以查詢請求中的本地ID在所述接收查詢請求的第一普通節(jié)點所在層次的疊加網(wǎng)絡(luò)中查找。步驟402:在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域ID的第二超級節(jié)點。具體查詢過程可以采用前述提到的Chord方式,當然也可以采用其它可性的方式。這樣,可以保證后續(xù)查找過程在區(qū)域ID相同的情況下查找,而不會在不同區(qū)域ID的疊加網(wǎng)絡(luò)中查找,提高了查找效率。步驟403:在所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地ID進行查找。該步驟中,所查找的范圍在與查詢請求中相同區(qū)域ID的下層疊加網(wǎng)絡(luò)中,即將查找范圍鎖定在合理有效的較小范圍內(nèi),從而提高了查找效率。上述查找過程中,可以預(yù)先將節(jié)點的區(qū)域ID設(shè)置為與該節(jié)點的物理位置相關(guān)。例如,對于國內(nèi)的不同省市的節(jié)點來說,可以將同在北京的節(jié)點設(shè)置為相同的區(qū)域ID,將同在天津的節(jié)點設(shè)置為另一相同的區(qū)域ID。這樣,查找過程中,盡可能的在同一區(qū)域上查找,避免跨區(qū)域查找引起的延時長的問題??梢圆捎渺o態(tài)配置的方式實現(xiàn)將節(jié)點的區(qū)域ID設(shè)置為與該節(jié)點的物理位置相關(guān),即將物理位置相同的節(jié)點的區(qū)域ID設(shè)置為相同。例如,設(shè)北京的區(qū)域ID為OIO,則可以將同在北京的節(jié)點設(shè)置為相同的區(qū)域ID(即OIO)。也可以釆用擴展動態(tài)主才幾配置十辦i義(DynamicHostConfigurationProtocol,DHCP)消息的方式實現(xiàn)。具體的,節(jié)點加入網(wǎng)絡(luò)時,采用DHCP分配IP地址。則,分配地址的DHCP消息中,可以增加區(qū)域ID的標識給請求加入的節(jié)點,且物理位置相同的節(jié)點其區(qū)域ID相同。例如,當某一節(jié)點加入網(wǎng)絡(luò)時,由網(wǎng)絡(luò)通過DHCP分配IP地址,該網(wǎng)絡(luò)所在區(qū)域為天津,設(shè)其區(qū)域ID為022,則在分配IP地址的DHCP中增加天津?qū)?yīng)的區(qū)域ID(即022),這樣,所述加入該網(wǎng)絡(luò)的節(jié)點相同的天津?qū)?yīng)的區(qū)域ID(022)。依此類推,任一加入該網(wǎng)絡(luò)的節(jié)點都具有天津?qū)?yīng)的區(qū)域ID,即具有相同的區(qū)域ID。還可以采用網(wǎng)際協(xié)議版本6(IPv6)中的3各由通告(RouterAdvertisement,RA)的方式實現(xiàn)。具體的,不同節(jié)點加入同一路由器以下的網(wǎng)絡(luò)時,路由器將自身的前綴(prefix)通過RA消息通告給所述節(jié)點的同時在RA消息中攜帶區(qū)域ID擴展字段。這樣,所述路由器以下網(wǎng)絡(luò)中的所有節(jié)點具有相同的區(qū)域ID。也可以將多個位置接近的路由器設(shè)置相同的區(qū)域ID,他們在RA消息中攜帶相同的區(qū)域ID。另外,上述過程中,不同層次的疊加網(wǎng)絡(luò)可以用不同的ID來組織路由,即設(shè)置和存儲每個節(jié)點的路由表項。如top-levelOverlay可以采用區(qū)域ID組織路由,而bottom-levelOverlay可以采用本地ID組織路由。其中,超級節(jié)點既是上層疊加網(wǎng)絡(luò)的節(jié)點,也是下層疊加網(wǎng)絡(luò)的節(jié)點,超級節(jié)點同時支持上述兩種路由組織方式。這里的組織路由,即設(shè)置節(jié)點上存儲的路由表,與現(xiàn)有技術(shù)不同的,這里對節(jié)點上存儲的路由表的設(shè)置,在top-levelOverlay采用區(qū)域ID設(shè)置,在bottom-levelOverlay采用本地ID設(shè)置。換句話說,是采用全部ID中的部分來設(shè)置,而不是現(xiàn)有技術(shù)中的采用全部ID設(shè)置,這樣,相對于現(xiàn)有技術(shù)中組織路由的方式,可以節(jié)省路由表項的體積。在采用Chord的查詢方式中,這里的路由表即指針表,具體可以如下面例子中所示。相應(yīng)地,所述在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)^U示識的第二超級節(jié)點,在所述超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地標識查找數(shù)據(jù),由以下方式實現(xiàn)在所述上層疊加網(wǎng)絡(luò)節(jié)點上存儲的由區(qū)域標識組織的路由表項中查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點;在所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中的普通節(jié)點上存儲的由本地標識組織的路由表項中,以所述查詢請求中的本地標識進行查找。上述實施例以兩層overlay為例進行說明,而本發(fā)明完全可以擴展到多層overlay,例如將區(qū)域ID進一步細分為國家ID,地區(qū)ID,然后依據(jù)上述原則進行層次化的查找。以下以圖5所示的網(wǎng)絡(luò)為例,例舉一個本發(fā)明方法的完整實施例。為了說明方便,將每個節(jié)點的區(qū)域ID和本地ID之間加"."以區(qū)分。由圖5可見,環(huán)A、環(huán)B和環(huán)C為bottom-levelOverlay,環(huán)D為top-levelOverlay。環(huán)A上節(jié)點都處于同一物理位置,且區(qū)域ID都為001,環(huán)B上節(jié)點都處于同一物理位置,且區(qū)域ID都為010,環(huán)C上節(jié)點都處于同一物理位置,且區(qū)域ID都為110。環(huán)A與環(huán)D通過超級節(jié)點A8/D1相連,環(huán)B與環(huán)D通過超級節(jié)點Bl/D2相連,環(huán)C與環(huán)D通過超級節(jié)點Cl/D6相連。則包括以下流程步驟a:Al收到查找關(guān)鍵字為110.1100的數(shù)據(jù)的請求。步驟b:Al判斷查詢請求中的區(qū)域ID(110)與自身的區(qū)域ID(001)不同。步驟c:Al將查詢請求定向到環(huán)A的超級節(jié)點A8/D1上。步驟d:Dl在環(huán)D上根據(jù)區(qū)域ID查找到與所述查詢請求區(qū)域ID(110)相同的超級節(jié)點Cl/D6。步驟e:C1在環(huán)C上根據(jù)查詢請求中的本地ID查找所在節(jié)點,最終找到關(guān)鍵字為110.1100的數(shù)據(jù)在節(jié)點C13上??梢园凑涨懊嫣岬降腃hord方法在每個環(huán)中進行查找。舉例如下節(jié)點D1中存儲有如下所示的指針表表2.節(jié)點D1維護的指針表<table>tableseeoriginaldocumentpage14</column></row><table>當Dl接收到查詢關(guān)4建字為110.1100的lt據(jù)的請求,在環(huán)D上的查找可以如圖6所示。數(shù)據(jù)關(guān)鍵字的區(qū)域ID十進制為6,按照上面表中,大于Dl+2(3),因此定位在對應(yīng)節(jié)點D6上。此時,數(shù)據(jù)關(guān)鍵字6正好等于D6的區(qū)域ID,這樣,在D6(也就是C1)所在的下層疊加網(wǎng)絡(luò)中繼續(xù)查找。節(jié)點C1中存儲有如下所示的指針表:表3.節(jié)點C1維護的指針表<table>tableseeoriginaldocumentpage14</column></row><table>當Cl接收到查詢關(guān)鍵字為110.1100的數(shù)據(jù)的請求,在環(huán)c上的查找可以如圖7所示。節(jié)點C1中存儲有如圖所示的表,數(shù)據(jù)關(guān)鍵字的本地ID十進制為12,按照上面的表,定位到節(jié)點C9上。節(jié)點C9中存儲有如下所示的指針表表4.節(jié)點C9維護的指針表數(shù)據(jù)關(guān)鍵字范圍節(jié)點節(jié)點的IP地址(和端口號)C9+l(10)C13C13的IP地址(和端口號)C9+2(11)C13C13的IP地址(和端口號)大于C9+2(11)且小于等于C9+4(13)C13C13的IP地址(和端口號)大于C9+4(13).-.-.而12大于C9+2(C11),且12小于C9+4(C13),按照上面的表,定位到節(jié)點C13上,在節(jié)點C13上查找到關(guān)鍵字為110.1100的數(shù)據(jù)。在環(huán)A中的查找與上面過程類似,在此不再贅述。當然,除了采用上面的Chord方式查找,還可以采用其它方式。需要說明的是,上述完整實施例中,上層疊加網(wǎng)絡(luò)中的每個節(jié)點上可以儲存區(qū)域ID字長個數(shù)的表項,下層疊加網(wǎng)絡(luò)中的每個節(jié)點上可以儲存本地ID字長個數(shù)的表項。由上述實施例可見,上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點接收到查詢請求后,在上層疊加網(wǎng)絡(luò)中查找相同區(qū)域ID的第二超級節(jié)點,在該第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地ID進行查找,這樣,在不同層次的疊加網(wǎng)絡(luò)中進行查詢時采用不同的關(guān)鍵字,即采用全部關(guān)鍵字中的部分字段進行查詢,從而提高了查詢效率。另外,預(yù)先將節(jié)點的區(qū)域ID設(shè)置為與該節(jié)點的物理位置相關(guān),這樣,在查找過程中,保證盡可能的在同一區(qū)域上查找,從而避免了不必要的跨區(qū)域查找引起的延時長的問題。以下介紹本發(fā)明的系統(tǒng)實施例。一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的系統(tǒng),所述對等網(wǎng)絡(luò)包括至少兩層疊加網(wǎng)絡(luò),每層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點,所述節(jié)點的節(jié)點標識包括區(qū)域標識和本地標識,相鄰的兩層疊加網(wǎng)絡(luò)通過超級節(jié)點傳遞數(shù)據(jù),其中,上層疊加網(wǎng)絡(luò)中的超級節(jié)點用于接收查詢請求,并在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域ID的超級節(jié)點;所述超級節(jié)點所在的下層疊加網(wǎng)絡(luò),用于以所述查詢請求中的本地ID在所述下層疊加網(wǎng)絡(luò)中進行查找。所述下層疊加網(wǎng)絡(luò)還用于下層疊加網(wǎng)絡(luò)中接收到查詢請求的節(jié)點判斷查詢請求中的區(qū)域ID是否與自身區(qū)域ID相同;當所述查詢請求中的區(qū)域ID與所述節(jié)點的區(qū)域ID不同時,將查詢請求通過所述節(jié)點所在下層疊加網(wǎng)絡(luò)的第一超級節(jié)點定向到上層疊加網(wǎng)絡(luò)。所述下層疊加網(wǎng)絡(luò)的區(qū)域ID與所述查詢請求中的區(qū)域ID相同時,所述下層疊加網(wǎng)絡(luò)還用于以查詢請求中的本地ID查找。所述下層疊加網(wǎng)絡(luò)的區(qū)域ID與所述查詢請求中的區(qū)域ID相同時,所述下層疊加網(wǎng)絡(luò)還用于以查詢請求中的本地ID查找。所述上層疊加網(wǎng)絡(luò)和下層疊加網(wǎng)絡(luò)中的節(jié)點,其區(qū)域ID分別設(shè)置為與該節(jié)點的物理位置相關(guān)。所述上層疊加網(wǎng)絡(luò)中的節(jié)點采用區(qū)域ID組織路由,下層疊加網(wǎng)絡(luò)中的節(jié)點采用本地ID組織路由,其中,超級節(jié)點既是上層疊加網(wǎng)絡(luò)的節(jié)點,也是下層疊加網(wǎng)絡(luò)的節(jié)點,超級節(jié)點同時支持上述兩種路由組織方式;相應(yīng)地,所述上層疊加網(wǎng)絡(luò)在其包含的節(jié)點上存儲的由區(qū)域ID組織的路由表項中查找與所述查詢請求相同區(qū)域ID的超級節(jié)點;所述超級節(jié)點所在的下層疊加網(wǎng)絡(luò)在其包含的節(jié)點上存儲的由本地ID組織的路由表項中,以所述查詢請求中的本地ID進行查找。利用上述系統(tǒng)實施例實現(xiàn)查找數(shù)據(jù)的方法與前面方法類似,在此不再贅述。以下介紹本發(fā)明的節(jié)點實施例。一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的節(jié)點,位于上層疊加網(wǎng)絡(luò)中,所述上層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點標識為包括區(qū)域標識和本地標識的所述節(jié)點,且所迷節(jié)點包括查詢請求接收單元,用于接收查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)i或才示i只和本i也標i只;查找單元,用于在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域標識的超級節(jié)點。一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的節(jié)點,位于下層疊加網(wǎng)絡(luò)中,所述下層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點標識為包括區(qū)域標識和本地標識的所述節(jié)點,且所述節(jié)點包括查詢請求接收單元,用于接收查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識;查找單元,用于以接收到的查詢請求中的本地標識在所述下層疊加網(wǎng)絡(luò)中進行查找。利用上述節(jié)點實施例實現(xiàn)查找數(shù)據(jù)的方法與前面方法類似,在此不再贅述。由以上實施例可見,上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點接收到查詢請求后,在所述上層疊加網(wǎng)絡(luò)中查找相同區(qū)域ID的第二超級節(jié)點,在該第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地ID進行查找,這樣,在不同層次的疊加網(wǎng)絡(luò)中進行查詢時釆用不同的關(guān)鍵字,即采用全部關(guān)鍵字中的部分字段進行查詢,從而提高了查詢效率。雖然通過實施例描繪了本發(fā)明實施例,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。權(quán)利要求1、一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法,其特征在于,所述對等網(wǎng)絡(luò)包括至少兩層疊加網(wǎng)絡(luò),每層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點,所述節(jié)點的節(jié)點標識包括區(qū)域標識和本地標識,相鄰的兩層疊加網(wǎng)絡(luò)通過超級節(jié)點傳遞數(shù)據(jù),該方法包括上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點接收查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識;在所述上層疊加網(wǎng)絡(luò)中從第一超級節(jié)點開始,查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點;在所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地標識查找數(shù)據(jù)所在節(jié)點。2、如權(quán)利要求l所述的方法,其特征在于,所述上層疊加網(wǎng)絡(luò)中的超級節(jié)點接收查詢請求之前,還包括下層疊加網(wǎng)絡(luò)中接收到查詢請求的普通節(jié)點判斷查詢請求中的區(qū)域標識是否與自身區(qū)域標識相同;當所述查詢請求中的區(qū)域標識與所述普通節(jié)點的區(qū)域標識不同時,將查詢請求通過所述普通節(jié)點所在下層疊加網(wǎng)絡(luò)的第一超級節(jié)點定向到上層疊加網(wǎng)絡(luò)。3、如權(quán)利要求2所述的方法,其特征在于,還包括當所述查詢請求中的區(qū)域標識與所述下層疊加網(wǎng)絡(luò)的區(qū)域標識相同時,以查詢請求中的本地標識在所在的疊加網(wǎng)絡(luò)中查找。4、如權(quán)利要求1所述的方法,其特征在于,所述方還包括預(yù)先將節(jié)點的區(qū)域標識設(shè)置為與該節(jié)點的物理位置相關(guān)。5、如權(quán)利要求l所述的方法,其特征在于,還包括上層疊加網(wǎng)絡(luò)中的超級節(jié)點采用區(qū)域標識組織路由,下層疊加網(wǎng)絡(luò)中的普通節(jié)點采用本地標識組織路由;其中,超級節(jié)點既是上層疊加網(wǎng)絡(luò)的節(jié)點,也是下層疊加網(wǎng)絡(luò)的節(jié)點,超級節(jié)點同時支持上述兩種路由組織方式;相應(yīng)地,所述在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點,在所述超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地標識查找^t據(jù),由以下方式實現(xiàn)在所述上層疊加網(wǎng)絡(luò)節(jié)點上存儲的由區(qū)域標識組織的路由表項中查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點;在所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中的普通節(jié)點上存儲的由本地標識組織的路由表項中,以所述查詢請求中的本地標識進行查找。6、一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的系統(tǒng),其特征在于,所述對等網(wǎng)絡(luò)包括至少兩層疊加網(wǎng)絡(luò),每層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點,所述節(jié)點的節(jié)點標識包括區(qū)域標識和本地標識,相鄰的兩層疊加網(wǎng)絡(luò)通過超級節(jié)點傳遞數(shù)據(jù),其中,上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點用于接收查詢請求,并在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識;所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò),用于以所述查詢請求中的本地標識在所述下層疊加網(wǎng)絡(luò)中進行查找。7、如權(quán)利要求6所述的系統(tǒng),其特征在于,所述下層疊加網(wǎng)絡(luò)還用于下層疊加網(wǎng)絡(luò)中接收到查詢請求的普通節(jié)點判斷查詢請求中的區(qū)域標識是否與自身區(qū)域標識相同;當所述查詢請求中的區(qū)域標識與所述普通節(jié)點的區(qū)域標識不同時,將查詢請求通過所述普通節(jié)點所在下層疊加網(wǎng)絡(luò)的第一超級節(jié)點定向到上層疊加網(wǎng)絡(luò)。8、如權(quán)利要求7所述的系統(tǒng),其特征在于,所述下層疊加網(wǎng)絡(luò)的區(qū)域標識與所述查詢請求中的區(qū)域標識相同時,所述下層疊加網(wǎng)絡(luò)還用于以查詢請求中的本地標識查找。9、如權(quán)利要求7所述的系統(tǒng),其特征在于,所述上層疊加網(wǎng)絡(luò)和下層疊加網(wǎng)絡(luò)中的節(jié)點,其區(qū)域標識分別設(shè)置為與該節(jié)點的物理位置相關(guān)。10、如權(quán)利要求7所述的系統(tǒng),其特征在于,所述上層疊加網(wǎng)絡(luò)中的超級節(jié)點采用區(qū)域標識組織路由,下層疊加網(wǎng)絡(luò)中的普通節(jié)點采用本地標識組織路由,其中,超級節(jié)點既是上層疊加網(wǎng)絡(luò)的節(jié)點,也是下層疊加網(wǎng)絡(luò)的節(jié)點,超級節(jié)點同時支持上述兩種路由組織方式;相應(yīng)地,所述上層疊加網(wǎng)絡(luò)在其包含的超級節(jié)點上存儲的由區(qū)域標識組織的路由表項中查找與所述查詢請求相同區(qū)域標識的超級節(jié)點;所述超級節(jié)點所在的下層疊加網(wǎng)絡(luò)在其包含的普通節(jié)點上存儲的由本地標識組織的路由表項中,以所述查詢請求中的本地標識進行查找。11、一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的節(jié)點,其特征在于,所述上層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點標識為包括區(qū)域標識和本地標識的所述節(jié)點,且所述節(jié)點包括查詢請求接收單元,用于接收查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識;查找單元,用于在所述上層疊加網(wǎng)絡(luò)中查找與所述查詢請求相同區(qū)域標識的超級節(jié)點。12、一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的節(jié)點,其特征在于,所述下層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點標識為包括區(qū)域標識和本地標識的所述節(jié)點,且所述節(jié)點包括查詢請求接收單元,用于接收查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)3成才示i只和本i也才示識;查找單元,用于以接收到的查詢請求中的本地標識在所述下層疊加網(wǎng)絡(luò)中進4亍查找。全文摘要本發(fā)明公開了一種在基于分布式哈希表的對等網(wǎng)絡(luò)中查找數(shù)據(jù)的方法,所述對等網(wǎng)絡(luò)包括至少兩層疊加網(wǎng)絡(luò),每層疊加網(wǎng)絡(luò)中包括至少一個節(jié)點,所述節(jié)點的節(jié)點標識包括區(qū)域標識和本地標識,相鄰的兩層疊加網(wǎng)絡(luò)通過超級節(jié)點傳遞數(shù)據(jù),該方法包括上層疊加網(wǎng)絡(luò)中的第一超級節(jié)點接收查詢請求;所述查詢請求中包含待查找數(shù)據(jù)的區(qū)域標識和本地標識;在所述上層疊加網(wǎng)絡(luò)中從第一超級節(jié)點開始,查找與所述查詢請求相同區(qū)域標識的第二超級節(jié)點;在所述第二超級節(jié)點所在的下層疊加網(wǎng)絡(luò)中以所述查詢請求中的本地標識查找數(shù)據(jù)所在節(jié)點。本發(fā)明還公開了相應(yīng)系統(tǒng)和節(jié)點。利用本發(fā)明,在不同層次的疊加網(wǎng)絡(luò)中進行查詢時采用不同的關(guān)鍵字,可以提高查詢效率。文檔編號H04L12/46GK101399743SQ20071015140公開日2009年4月1日申請日期2007年9月28日優(yōu)先權(quán)日2007年9月28日發(fā)明者徐小虎申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1