專利名稱:索引服務(wù)器及其方法
技術(shù)領(lǐng)域:
本發(fā)明總地涉及對(duì)等(Peer-to-Peer,P2P)網(wǎng)絡(luò),具體而言涉及P2P網(wǎng)絡(luò)的索引服務(wù)器(indexing server)及其方法。
背景技術(shù):
P2P網(wǎng)絡(luò)是由多個(gè)用戶以自組織的方式形成的分布式網(wǎng)絡(luò)。這些用戶可被稱為“節(jié) 點(diǎn)”。節(jié)點(diǎn)可共享各種資源,例如數(shù)據(jù)文件、計(jì)算能力、存儲(chǔ)能力和帶寬。數(shù)據(jù)文件(以下也稱為“數(shù)據(jù)”或“文件”)可包括圖像文件、音頻文件、視頻文件等等。當(dāng)節(jié)點(diǎn)想要下載一個(gè)文件時(shí),它必須知道P2P網(wǎng)絡(luò)中的哪些節(jié)點(diǎn)有該文件,即可以提供該文件?,F(xiàn)有的P2P系統(tǒng)通常使用集中式的索引服務(wù)器來(lái)存儲(chǔ)文件的元數(shù)據(jù)。文件的元數(shù)據(jù)描述該文件的屬性,例如文件的大小,以及可提供該文件的節(jié)點(diǎn)。此元數(shù)據(jù)可被能夠提供該文件的節(jié)點(diǎn)報(bào)告給索引服務(wù)器。在接收到來(lái)自想要下載文件的節(jié)點(diǎn)(“請(qǐng)求方節(jié)點(diǎn)”)的請(qǐng)求時(shí),索引服務(wù)器通過(guò)參考信息的元數(shù)據(jù)把能夠提供該文件的節(jié)點(diǎn)的子集通知給請(qǐng)求方節(jié)點(diǎn)。然后在請(qǐng)求方節(jié)點(diǎn)與該節(jié)點(diǎn)子集之間發(fā)生文件的傳送。通常,現(xiàn)有的索引服務(wù)器會(huì)隨機(jī)地選擇這樣的子集來(lái)通知給請(qǐng)求方節(jié)點(diǎn)。這種隨機(jī)答復(fù)將導(dǎo)致嚴(yán)重的“跨ISP流量”問(wèn)題。即,由第一互聯(lián)網(wǎng)服務(wù)提供商(ISP) ISPl服務(wù)或者換言之在ISPl中的節(jié)點(diǎn)將從ISP2中的節(jié)點(diǎn)下載數(shù)據(jù),雖然ISPl中的另一節(jié)點(diǎn)也有該數(shù)據(jù)可供下載。為了減少跨ISP流量,已經(jīng)提出了一種位置知曉存儲(chǔ)結(jié)構(gòu)來(lái)為大規(guī)模P2P網(wǎng)絡(luò)系統(tǒng)存儲(chǔ)存儲(chǔ)器。大規(guī)模P2P網(wǎng)絡(luò)的元數(shù)據(jù)信息的存儲(chǔ)和搜索問(wèn)題可以描述如下。假定大小為O(NXD)的元數(shù)據(jù)表,其中D為P2P網(wǎng)絡(luò)中共享的文件的總數(shù),并且N是P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)的總數(shù)。該元數(shù)據(jù)表包括分別與D個(gè)文件相關(guān)聯(lián)的D個(gè)元數(shù)據(jù)。與一個(gè)文件相關(guān)聯(lián)的一個(gè)元數(shù)據(jù)在下文中也將被稱為例如“文件的元數(shù)據(jù)”或“與文件相關(guān)聯(lián)的元數(shù)據(jù)條目”。元數(shù)據(jù)條目可包括一個(gè)或多個(gè)節(jié)點(diǎn)信息項(xiàng),每個(gè)節(jié)點(diǎn)信息項(xiàng)描述一個(gè)提供該文件的節(jié)點(diǎn)。I.如何以可擴(kuò)展的方式將各個(gè)文件的元數(shù)據(jù)條目分布在多個(gè)索引服務(wù)器中。2.當(dāng)接收到來(lái)自請(qǐng)求方節(jié)點(diǎn)的請(qǐng)求Req(M, Di, T)時(shí),其中M為請(qǐng)求方節(jié)點(diǎn)的標(biāo)識(shí)(例如IP地址),Di是想要的文件的標(biāo)識(shí),并且T是節(jié)點(diǎn)M想要獲取的與文件Di相關(guān)聯(lián)的節(jié)點(diǎn)信息項(xiàng)(例如節(jié)點(diǎn)的地址)的數(shù)目,則應(yīng)當(dāng)如下構(gòu)造響應(yīng)i)如果元數(shù)據(jù)表中與文件Di相關(guān)聯(lián)的節(jié)點(diǎn)信息項(xiàng)的數(shù)目小于或等于T,則向請(qǐng)求方節(jié)點(diǎn)返回盡可能多的節(jié)點(diǎn)信息項(xiàng);ii)如果元數(shù)據(jù)表與文件Di相關(guān)聯(lián)的節(jié)點(diǎn)信息項(xiàng)的數(shù)目大于T,則從與文件D相關(guān)聯(lián)的節(jié)點(diǎn)信息項(xiàng)中選擇T個(gè)節(jié)點(diǎn)信息項(xiàng),所選的T個(gè)節(jié)點(diǎn)信息項(xiàng)指示的節(jié)點(diǎn)應(yīng)當(dāng)與請(qǐng)求方節(jié)點(diǎn)盡可能接近。在這里,節(jié)點(diǎn)的位置例如可定義為(ISP,Region),指示出為該節(jié)點(diǎn)服務(wù)的互聯(lián)網(wǎng)服務(wù)提供商,以及該節(jié)點(diǎn)的地理區(qū)域。節(jié)點(diǎn)與請(qǐng)求方節(jié)點(diǎn)之間的“接近度”是如下定義的。對(duì)于兩個(gè)節(jié)點(diǎn)A和B,如果節(jié)點(diǎn)A與請(qǐng)求方節(jié)點(diǎn)在同一 ISP中,而節(jié)點(diǎn)B不在,那么節(jié)點(diǎn)A比節(jié)點(diǎn)B更接近請(qǐng)求方節(jié)點(diǎn)。此外,如果節(jié)點(diǎn)A和B都與請(qǐng)求方節(jié)點(diǎn)在同一 ISP中或者A和B都不與請(qǐng)求方節(jié)點(diǎn)在同一 ISP中,并且如果節(jié)點(diǎn)A與請(qǐng)求方節(jié)點(diǎn)在同一區(qū)域中而節(jié)點(diǎn)B不在,那么節(jié)點(diǎn)A比節(jié)點(diǎn)B更接近請(qǐng)求方節(jié)點(diǎn)。此外,如果節(jié)點(diǎn)A和B都與請(qǐng)求方節(jié)點(diǎn)在同一ISP和同一區(qū)域中,或者如果節(jié)點(diǎn)A和B都與請(qǐng)求方節(jié)點(diǎn)在不同ISP且不同區(qū)域中,則節(jié)點(diǎn)A和B就其與請(qǐng)求方節(jié)點(diǎn)的“接近度”而言可被隨機(jī)排序。在邵濟(jì)平的題為“一種P2P網(wǎng)絡(luò)及其調(diào)度方法”的CN101355591中,在文件維度上分布元數(shù)據(jù)表。具體而言,多個(gè)索引服務(wù)器形成一 DHT網(wǎng)絡(luò)。每個(gè)文件的元數(shù)據(jù)表根據(jù)該文件的ID被存儲(chǔ)在相應(yīng)的索引服務(wù)器中。當(dāng)請(qǐng)求方節(jié)點(diǎn)請(qǐng)求一數(shù)據(jù)文件時(shí),或者更具體而言請(qǐng)求關(guān)于能夠提供該數(shù)據(jù)文件的節(jié)點(diǎn)的信息時(shí),請(qǐng)求方節(jié)點(diǎn)向其歸屬索引服務(wù)器(home indexing server)發(fā)送請(qǐng)求。該請(qǐng)求在DHT網(wǎng)絡(luò)中被路由到基于文件的ID被分配存儲(chǔ)該文件的元數(shù)據(jù)的目的地索引服務(wù)器(destination indexing server)。目的地索引服務(wù)器將文件的元數(shù)據(jù)發(fā)送到歸屬索引服務(wù)器,并且歸屬索引服務(wù)器把元數(shù)據(jù)所指示的節(jié)點(diǎn)根據(jù)其與請(qǐng)求方節(jié)點(diǎn)的“接近度”排序,并且把N個(gè)最接近的節(jié)點(diǎn)通知給請(qǐng)求方節(jié)點(diǎn)。具體而言,每個(gè)索引服務(wù)器維護(hù)一個(gè)本地手指表(Finger Table)。當(dāng)接收到請(qǐng)求時(shí),索引服務(wù)器在手指表上執(zhí)行DHT查找。如果該索引服務(wù)器存儲(chǔ)著所請(qǐng)求的文件的元數(shù)據(jù),則將發(fā)生命中。否則,手指表將指向下一跳索引服務(wù)器,該請(qǐng)求則將被路由到該下一跳索引服務(wù)器。DHT算法可保證請(qǐng)求所經(jīng)過(guò)的跳數(shù)為O (log (η)),其中η是DHT網(wǎng)絡(luò)中的索引服務(wù)器的數(shù)目ο DHT算法的實(shí)現(xiàn)細(xì)節(jié)可在I. Stoica, R. Morris, D. Karger, M. F. Kaashoek,and H. Balakrishnan, Chord A Scalable Peer-to-peer Lookup Service for InternetApplications, In Proceedings of SIGCOMM 2001, San Deigo, CA, August 2001 中找到??梢钥闯?,隨著P2P網(wǎng)絡(luò)中提供一數(shù)據(jù)文件的節(jié)點(diǎn)的數(shù)目變得越來(lái)越大,相應(yīng)索引服務(wù)器中存儲(chǔ)的與該數(shù)據(jù)文件相關(guān)聯(lián)的元數(shù)據(jù)條目的大小也相應(yīng)地增大。例如,據(jù)PPLive (Gale Huang,PPLive-A Practical P2P Live System with Huge Amount of Users)的運(yùn)營(yíng)數(shù)據(jù)報(bào)告,2005年在高峰時(shí)段有超過(guò)25萬(wàn)用戶觀看流行的電視節(jié)目“超級(jí)女生”的在線實(shí)況視頻。從而,很難將關(guān)于所有這些用戶(節(jié)點(diǎn))的信息存儲(chǔ)在被分配來(lái)存儲(chǔ)數(shù)據(jù)文件“超級(jí)女生”實(shí)況視頻的節(jié)點(diǎn)信息的一個(gè)服務(wù)器中。同時(shí),當(dāng)從請(qǐng)求方節(jié)點(diǎn)接收到對(duì)與數(shù)據(jù)文件相關(guān)聯(lián)的節(jié)點(diǎn)信息的請(qǐng)求時(shí),服務(wù)器必須花費(fèi)大量時(shí)間來(lái)按位置對(duì)提供數(shù)據(jù)文件的所有節(jié)點(diǎn)排序,這將導(dǎo)致在對(duì)請(qǐng)求方節(jié)點(diǎn)做出響應(yīng)時(shí)發(fā)生不可接受的延遲。從而,需要一種能夠以高效方式存儲(chǔ)和搜索P2P網(wǎng)絡(luò)的元數(shù)據(jù)的索引服務(wù)器及操作其的方法。
發(fā)明內(nèi)容
為了解決上述和其他問(wèn)題,提供了 P2P網(wǎng)絡(luò)的索引服務(wù)器及其方法。根據(jù)本發(fā)明的一個(gè)方面,提供了一種對(duì)等網(wǎng)絡(luò)的索引服務(wù)器,包括元數(shù)據(jù)存儲(chǔ)單元,其存儲(chǔ)一個(gè)或多個(gè)條目,每個(gè)條目與一數(shù)據(jù)文件相關(guān)聯(lián)并且包括多個(gè)信息項(xiàng),每個(gè)信息項(xiàng)指示出提供該數(shù)據(jù)文件的節(jié)點(diǎn)和該節(jié)點(diǎn)的位置;以及節(jié)點(diǎn)信息管理單元,其監(jiān)視所述元數(shù)據(jù)存儲(chǔ)單元以識(shí)別所述元數(shù)據(jù)存儲(chǔ)單元中存儲(chǔ)的信息項(xiàng)數(shù)目超過(guò)閾值的條目,并且將識(shí)別出的條目中包括的一部分信息項(xiàng)傳送到另一服務(wù)器,所傳送的部分包括盡可能多的指示出位置相互接近的節(jié)點(diǎn)的信息項(xiàng)。根據(jù)本發(fā)明的另一方面,提供了一種用于對(duì)等網(wǎng)絡(luò)的索引服務(wù)器的方法,所述索引服務(wù)器包括元數(shù)據(jù)存儲(chǔ)單元,該元數(shù)據(jù)存儲(chǔ)單元存儲(chǔ)一個(gè)或多個(gè)條目,每個(gè)條目與一數(shù)據(jù)文件相關(guān)聯(lián)并且包括多個(gè)信息項(xiàng),每個(gè)信息項(xiàng)指示出提供該數(shù)據(jù)文件的節(jié)點(diǎn)和該節(jié)點(diǎn)的位置,所述方法包括以下步驟監(jiān)視所述元數(shù)據(jù)存儲(chǔ)單元以識(shí)別所述元數(shù)據(jù)存儲(chǔ)單元中存儲(chǔ)的信息項(xiàng)數(shù)目超過(guò)閾值的條目;以及將識(shí)別出的條目中包括的一部分信息項(xiàng)傳送到另一服務(wù)器,所傳送的部分包括盡可能多的指示出位置相互接近的節(jié)點(diǎn)的信息項(xiàng)。
通過(guò)聯(lián)系附圖閱讀以下詳細(xì)描述可以更好地理解本發(fā)明的以上和其他特征和優(yōu)點(diǎn),附圖中相同或相似的標(biāo)號(hào)用于標(biāo)示相同或相似的元素,其中圖I是示出根據(jù)本發(fā)明第一實(shí)施例的索引服務(wù)器的框圖; 圖2是示出第一實(shí)施例的索引服務(wù)器的節(jié)點(diǎn)信息管理單元的操作的流程圖;圖3是示出根據(jù)第一實(shí)施例的索引服務(wù)器的消息處理單元、節(jié)點(diǎn)信息搜索單元和其他組件的操作的流程圖;圖4是更詳細(xì)示出第一實(shí)施例的索引服務(wù)器的節(jié)點(diǎn)信息搜索單元的操作的流程圖;圖5是示出根據(jù)本發(fā)明第二實(shí)施例的索引服務(wù)器的框圖;圖6是示出根據(jù)第二實(shí)施例的索引服務(wù)器的消息處理單元、節(jié)點(diǎn)信息搜索單元、DHT查找單元和其他組件的操作的流程圖;圖7是示出根據(jù)本發(fā)明第三實(shí)施例的索引服務(wù)器的框圖;并且圖8是示出根據(jù)第三實(shí)施例的索引服務(wù)器的消息處理單元和其他組件的操作的流程圖。
具體實(shí)施例方式下面將參考附圖來(lái)詳細(xì)描述本發(fā)明的實(shí)施例。圖I是示出根據(jù)本發(fā)明第一實(shí)施例的索引服務(wù)器100的框圖。圖2是示出第一實(shí)施例的索引服務(wù)器100的節(jié)點(diǎn)信息管理單元102的操作的流程圖。圖3是示出根據(jù)第一實(shí)施例的索引服務(wù)器100的消息處理單元104、節(jié)點(diǎn)信息搜索單元105和其他組件的操作的流程圖。圖4是更詳細(xì)示出第一實(shí)施例的索引服務(wù)器100的節(jié)點(diǎn)信息搜索單元105的操作的流程圖。下面將聯(lián)系圖1-4來(lái)描述索引服務(wù)器100的結(jié)構(gòu)和操作。索引服務(wù)器100包括元數(shù)據(jù)存儲(chǔ)單元101、節(jié)點(diǎn)信息管理單元102、傳送日志存儲(chǔ)單元103、消息處理單元104和節(jié)點(diǎn)信息搜索單元105。元數(shù)據(jù)存儲(chǔ)單元101為P2P網(wǎng)絡(luò)存儲(chǔ)元數(shù)據(jù)。具體而言,索引服務(wù)器100可被分配來(lái)存儲(chǔ)與P2P網(wǎng)絡(luò)中共享的一個(gè)或多個(gè)數(shù)據(jù)文件相關(guān)聯(lián)的元數(shù)據(jù)。本領(lǐng)域的技術(shù)人員將會(huì)明白分配索引服務(wù)器來(lái)存儲(chǔ)與數(shù)據(jù)文件相關(guān)聯(lián)的元數(shù)據(jù)的不同方式,其中一種是像DHT網(wǎng)絡(luò)中那樣根據(jù)數(shù)據(jù)文件的ID來(lái)確定用于存儲(chǔ)該數(shù)據(jù)文件的索引服務(wù)器,如以上“背景技術(shù)”部分以及以下的第二實(shí)施例中所述。然而,本發(fā)明并不限于分配、指定或確定用于存儲(chǔ)特定數(shù)據(jù)文件的元數(shù)據(jù)的任何具體方式。更具體而言,元數(shù)據(jù)存儲(chǔ)單元101存儲(chǔ)一個(gè)或多個(gè)元數(shù)據(jù)條目,其中每個(gè)元數(shù)據(jù)條目與一個(gè)或多個(gè)數(shù)據(jù)文件中的一個(gè)不同的數(shù)據(jù)文件相關(guān)聯(lián)。每個(gè)條目包括一個(gè)或多個(gè)節(jié)點(diǎn)信息項(xiàng)。每個(gè)節(jié)點(diǎn)信息項(xiàng)指示出已知提供相關(guān)聯(lián)的數(shù)據(jù)文件的一個(gè)節(jié)點(diǎn),以及該節(jié)點(diǎn)的位置。例如,元數(shù)據(jù)存儲(chǔ)單元101中存儲(chǔ)的一個(gè)條目可以采取以下形式data_id:node_idl (ipl, port I, locationl) , node_id2 (ip2 , port2,location2),其中data_id是與該條目相關(guān)聯(lián)的數(shù)據(jù)文件的標(biāo)識(shí)(ID), node_idl (ipl, portl,locationl)是指示出提供該數(shù)據(jù)文件的一個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)信息項(xiàng),其中該節(jié)點(diǎn)的ID是node_idl,該節(jié)點(diǎn)的地址是(ipl, portl),并且該節(jié)點(diǎn)的位置是locationl。如上所述,節(jié)點(diǎn)的位置可被定義為(ISP, Region)。
本領(lǐng)域的技術(shù)人員可以明白,數(shù)據(jù)文件的元數(shù)據(jù)可包括關(guān)于文件的其他屬性的信息,例如文件的大小。這里為了簡(jiǎn)明省略了這些屬性。節(jié)點(diǎn)信息管理單元102監(jiān)視元數(shù)據(jù)存儲(chǔ)單元101以判定在元數(shù)據(jù)存儲(chǔ)單元中是否存儲(chǔ)有節(jié)點(diǎn)信息項(xiàng)數(shù)目超過(guò)了閾值的條目,并且響應(yīng)于肯定的判定,將這些節(jié)點(diǎn)信息項(xiàng)的一部分傳送到另一服務(wù)器,所傳送的部分包括盡可能多的如下節(jié)點(diǎn)信息項(xiàng)這種節(jié)點(diǎn)信息項(xiàng)指示出位置相互接近的節(jié)點(diǎn)。轉(zhuǎn)到圖2,將詳細(xì)描述節(jié)點(diǎn)信息管理單元102的操作。如圖2所示,節(jié)點(diǎn)信息管理單元102在步驟SlOl中持續(xù)地或周期性地監(jiān)視元數(shù)據(jù)存儲(chǔ)單元101并且判定元數(shù)據(jù)存儲(chǔ)單元101中是否存儲(chǔ)著節(jié)點(diǎn)信息項(xiàng)數(shù)目超過(guò)了閾值的條目,或者換言之,提供如下數(shù)據(jù)文件的節(jié)點(diǎn)的數(shù)目是否已變得大于閾值該數(shù)據(jù)文件的元數(shù)據(jù)的存儲(chǔ)被分配給索引服務(wù)器100。如果判定結(jié)果是否定,則過(guò)程返回到步驟S101,在該步驟中節(jié)點(diǎn)信息管理單元102繼續(xù)監(jiān)視元數(shù)據(jù)存儲(chǔ)單元101,否則過(guò)程前進(jìn)到步驟S103。例如,假定索引服務(wù)器100被分配存儲(chǔ)與數(shù)據(jù)文件Dl相關(guān)聯(lián)的元數(shù)據(jù)條目。當(dāng)P2P網(wǎng)絡(luò)中能夠提供數(shù)據(jù)文件Dl的節(jié)點(diǎn)的數(shù)目變得越來(lái)越大時(shí),元數(shù)據(jù)存儲(chǔ)單元101中存儲(chǔ)的與數(shù)據(jù)文件Dl相關(guān)聯(lián)的條目中的節(jié)點(diǎn)信息項(xiàng)的數(shù)目將升高到超過(guò)閾值,比如說(shuō)TH1。在此情況下,在步驟S103中,節(jié)點(diǎn)信息管理單元102將發(fā)起傳送過(guò)程,在此過(guò)程期間,節(jié)點(diǎn)信息項(xiàng)數(shù)目變得太大的條目中的一些或全部節(jié)點(diǎn)信息項(xiàng)將被傳送到另外的負(fù)擔(dān)較輕的服務(wù)器。傳送的部分包括盡可能多的如下節(jié)點(diǎn)信息項(xiàng)這種節(jié)點(diǎn)信息項(xiàng)指示出位置相互接近的節(jié)點(diǎn)。例如,節(jié)點(diǎn)信息管理單元102將該條目中包括的節(jié)點(diǎn)信息項(xiàng)按ISP劃分成一個(gè)或多個(gè)群組,使得每個(gè)群組包括指示出一不同ISP中的節(jié)點(diǎn)的節(jié)點(diǎn)信息項(xiàng)。節(jié)點(diǎn)信息管理單元102隨后確定各個(gè)群組中的節(jié)點(diǎn)信息項(xiàng)的數(shù)目,并且識(shí)別出這一個(gè)或多個(gè)群組之中的節(jié)點(diǎn)信息項(xiàng)數(shù)目最大的群組(以下將稱之為最大群組)。然后,節(jié)點(diǎn)信息管理單元102可判定最大群組中的節(jié)點(diǎn)信息項(xiàng)的數(shù)目是否大于閾值,例如閾值TH1。如果判定結(jié)果為否定,則節(jié)點(diǎn)信息管理單元102將把該組節(jié)點(diǎn)信息項(xiàng)從索引服務(wù)器100傳送到被判定為負(fù)擔(dān)較輕的另一索引服務(wù)器,換言之,當(dāng)前沒(méi)有存儲(chǔ)太多節(jié)點(diǎn)信息的另一索引服務(wù)器。本領(lǐng)域的技術(shù)人員可以理解判定這種負(fù)擔(dān)較輕的服務(wù)器的各種方式,并且本發(fā)明并不限于任何特定方式。作為一種簡(jiǎn)單且高效的方式的示例,索引服務(wù)器100可以從與索引服務(wù)器100服務(wù)于相同P2P網(wǎng)絡(luò)的索引服務(wù)器的列表中隨機(jī)選擇兩個(gè)其他索引服務(wù)器,并且選擇具有較輕負(fù)擔(dān)的那個(gè)作為節(jié)點(diǎn)信息傳送的目的地。另一方面,如果最大群組中的節(jié)點(diǎn)信息項(xiàng)的數(shù)目大于閾值,則節(jié)點(diǎn)信息管理單元102可按區(qū)域?qū)⒆畲笕航M中包括的節(jié)點(diǎn)信息項(xiàng)進(jìn)一步劃分成一個(gè)或多個(gè)子群組,使得每個(gè)子群組包括指示出一不同區(qū)域中的節(jié)點(diǎn)的節(jié)點(diǎn)信息項(xiàng)。節(jié)點(diǎn)信息管理單元102隨后可將這一個(gè)或多個(gè)子群組中節(jié)點(diǎn)信息項(xiàng)數(shù)目最大的子群組傳送到負(fù)擔(dān)較輕的服務(wù)器。此外,節(jié)點(diǎn)信息管理單元102還可將其他子群組傳送到一個(gè)或多個(gè)其他負(fù)擔(dān)較輕的服務(wù)器。如果,在最大群組中的節(jié)點(diǎn)信息項(xiàng)被傳送到一個(gè)或多個(gè)其他索引服務(wù)器之后,該條目中剩余的節(jié)點(diǎn)信息項(xiàng)的數(shù)目仍大于閾值,則節(jié)點(diǎn)信息管理單元102可針對(duì)剩余節(jié)點(diǎn)信息項(xiàng)重復(fù)上述過(guò)程,直到該條目中剩余的節(jié)點(diǎn)信息項(xiàng)的數(shù)目小于閾值為止。節(jié)點(diǎn)信息管理單元102可針對(duì)元數(shù)據(jù)存儲(chǔ)單元101中的節(jié)點(diǎn)信息項(xiàng)數(shù)目超過(guò)閾值的任何其他條目重復(fù)上述過(guò)程。返回參考圖1,如其中所示,索引服務(wù)器100還包括傳送日志存儲(chǔ)單元103。傳送日志存儲(chǔ)單元103可存儲(chǔ)傳送日志的表。因此,當(dāng)在步驟S103中一條目中的一部分或全部節(jié)點(diǎn)信息項(xiàng)被傳送到另外的服務(wù)器時(shí),節(jié)點(diǎn)信息管理單元102在步驟S104中更新傳送日志存儲(chǔ)單元103。具體而言,節(jié)點(diǎn)信息管理單元102在傳送日志存儲(chǔ)單元103中創(chuàng)建或更新一傳送日志,以使得該傳送日志反映出與被傳送部分相關(guān)聯(lián)的數(shù)據(jù)文件、該部分被傳送到的其他服務(wù)器、被傳送部分所指示的節(jié)點(diǎn)的位置范圍(例如(ISP,Region))。例如,該表可采取以下形式。
權(quán)利要求
1.一種對(duì)等網(wǎng)絡(luò)的索引服務(wù)器,包括 元數(shù)據(jù)存儲(chǔ)單元,其存儲(chǔ)一個(gè)或多個(gè)條目,每個(gè)條目與一數(shù)據(jù)文件相關(guān)聯(lián)并且包括多個(gè)信息項(xiàng),每個(gè)信息項(xiàng)指示出提供該數(shù)據(jù)文件的節(jié)點(diǎn)和該節(jié)點(diǎn)的位置;以及 節(jié)點(diǎn)信息管理單元,其監(jiān)視所述元數(shù)據(jù)存儲(chǔ)單元以識(shí)別所述元數(shù)據(jù)存儲(chǔ)單元中存儲(chǔ)的信息項(xiàng)數(shù)目超過(guò)閾值的條目,并且將識(shí)別出的條目中包括的一部分信息項(xiàng)傳送到另一服務(wù)器,所傳送的部分包括盡可能多的指示出位置相互接近的節(jié)點(diǎn)的信息項(xiàng)。
2.如權(quán)利要求I所述的索引服務(wù)器,還包括傳送日志存儲(chǔ)單元,并且其中 當(dāng)所述部分被傳送到另一服務(wù)器時(shí),所述節(jié)點(diǎn)信息管理單元?jiǎng)?chuàng)建或更新存儲(chǔ)在所述傳送日志存儲(chǔ)單元中的傳送日志,以使得該傳送日志反映出與所述部分相關(guān)聯(lián)的數(shù)據(jù)文件、所述部分被傳送到的所述另一服務(wù)器以及所述部分中包括的信息項(xiàng)所指示的節(jié)點(diǎn)的位置范圍。
3.如權(quán)利要求I所述的索引服務(wù)器,其中所述另一服務(wù)器是被判定為具有輕負(fù)擔(dān)的服務(wù)器。
4.如權(quán)利要求I所述的索引服務(wù)器,其中,所述節(jié)點(diǎn)信息管理單元通過(guò)以下操作來(lái)執(zhí)行所述傳送將識(shí)別出的條目中包括的信息項(xiàng)劃分成一個(gè)或多個(gè)群組,每個(gè)群組包括指示出由一不同的互聯(lián)網(wǎng)服務(wù)提供商(ISP)服務(wù)的節(jié)點(diǎn)的信息項(xiàng);并且將所述一個(gè)或多個(gè)群組之中包括最大數(shù)目的信息項(xiàng)的群組傳送到所述另一服務(wù)器。
5.如權(quán)利要求I所述的索引服務(wù)器,其中,所述節(jié)點(diǎn)信息管理單元通過(guò)以下操作來(lái)執(zhí)行所述傳送將識(shí)別出的條目中包括的信息項(xiàng)劃分成一個(gè)或多個(gè)群組,每個(gè)群組包括指示出由一不同的互聯(lián)網(wǎng)服務(wù)提供商(ISP)服務(wù)的節(jié)點(diǎn)的信息項(xiàng);識(shí)別所述一個(gè)或多個(gè)群組之中包括最大數(shù)目的信息項(xiàng)的群組;判定所述最大數(shù)目是否超過(guò)所述閾值;并且如果所述最大數(shù)目不超過(guò)所述閾值則將識(shí)別出的群組傳送到所述另一服務(wù)器,或者如果所述最大數(shù)目超過(guò)所述閾值,則將識(shí)別出的群組中包括的信息項(xiàng)劃分成一個(gè)或多個(gè)子群組,每個(gè)子群組包括指示出一不同區(qū)域中的節(jié)點(diǎn)的信息項(xiàng),并且將所述一個(gè)或多個(gè)子群組之中信息項(xiàng)數(shù)目最大的子群組傳送到所述另一服務(wù)器。
6.如權(quán)利要求I所述的索引服務(wù)器,其中, 如果在第一信息項(xiàng)已被傳送到所述另一服務(wù)器之后,接收到了指示出提供與所述第一信息項(xiàng)相關(guān)聯(lián)的數(shù)據(jù)文件并且位置與所述第一信息項(xiàng)所指示的節(jié)點(diǎn)接近的節(jié)點(diǎn)的第二信息項(xiàng),則所述節(jié)點(diǎn)信息管理單元將所述第二信息項(xiàng)傳送到所述另一服務(wù)器。
7.如權(quán)利要求2所述的索引服務(wù)器,還包括 節(jié)點(diǎn)信息搜索單元,其可操作來(lái)根據(jù)為請(qǐng)求方節(jié)點(diǎn)的對(duì)關(guān)于提供指定數(shù)據(jù)文件的節(jié)點(diǎn)的信息的請(qǐng)求,在所述元數(shù)據(jù)存儲(chǔ)單元和所述傳送日志存儲(chǔ)單元中執(zhí)行搜索以從所述元數(shù)據(jù)存儲(chǔ)單元和與所述指定數(shù)據(jù)文件相關(guān)聯(lián)的一部分信息項(xiàng)已被傳送到的另一服務(wù)器中的至少一個(gè)獲取指示出提供所述指定數(shù)據(jù)文件并且位置與所述請(qǐng)求方節(jié)點(diǎn)盡可能接近的節(jié)點(diǎn)的信息項(xiàng)。
8.如權(quán)利要求7所述的索引服務(wù)器,其中,所述請(qǐng)求指定所述索引服務(wù)器為目的地索引服務(wù)器。
9.如權(quán)利要求7所述的索引服務(wù)器,還包括 分布式哈希表(DHT)查找單元,其可操作來(lái)響應(yīng)于所述請(qǐng)求利用所述指定數(shù)據(jù)文件的標(biāo)識(shí)執(zhí)行DHT查找以判定在所述索引服務(wù)器上是否發(fā)生命中,并且如果未發(fā)生命中則在所述索引服務(wù)器所屬的DHT網(wǎng)絡(luò)中路由所述請(qǐng)求,或者如果發(fā)生命中則使得所述節(jié)點(diǎn)信息搜索單元執(zhí)行所述搜索。
10.如權(quán)利要求9所述的索引服務(wù)器,其中,所述請(qǐng)求不指定所述索引服務(wù)器為目的地索引服務(wù)器。
11.一種用于對(duì)等網(wǎng)絡(luò)的索引服務(wù)器的方法,所述索引服務(wù)器包括元數(shù)據(jù)存儲(chǔ)單元,該元數(shù)據(jù)存儲(chǔ)單元存儲(chǔ)一個(gè)或多個(gè)條目,每個(gè)條目與一數(shù)據(jù)文件相關(guān)聯(lián)并且包括多個(gè)信息項(xiàng),每個(gè)信息項(xiàng)指示出提供該數(shù)據(jù)文件的節(jié)點(diǎn)和該節(jié)點(diǎn)的位置,所述方法包括以下步驟 監(jiān)視所述元數(shù)據(jù)存儲(chǔ)單元以識(shí)別所述元數(shù)據(jù)存儲(chǔ)單元中存儲(chǔ)的信息項(xiàng)數(shù)目超過(guò)閾值的條目;以及 將識(shí)別出的條目中包括的一部分信息項(xiàng)傳送到另一服務(wù)器,所傳送的部分包括盡可能多的指示出位置相互接近的節(jié)點(diǎn)的信息項(xiàng)。
12.如權(quán)利要求11所述的方法,其中,所述索引服務(wù)器還包括傳送日志存儲(chǔ)單元,并且所述方法還包括 當(dāng)所述部分被傳送到另一服務(wù)器時(shí),創(chuàng)建或更新存儲(chǔ)在所述傳送日志存儲(chǔ)單元中的傳送日志,以使得該傳送日志反映出與所述部分相關(guān)聯(lián)的數(shù)據(jù)文件、所述部分被傳送到的所述另一服務(wù)器以及所述部分中包括的信息項(xiàng)所指示的節(jié)點(diǎn)的位置范圍。
13.如權(quán)利要求11所述的方法,其中所述另一服務(wù)器是被判定為具有輕負(fù)擔(dān)的服務(wù)器。
14.如權(quán)利要求11所述的方法,其中,所述傳送步驟包括 將識(shí)別出的條目中包括的信息項(xiàng)劃分成一個(gè)或多個(gè)群組,每個(gè)群組包括指示出由一不同的互聯(lián)網(wǎng)服務(wù)提供商(ISP)服務(wù)的節(jié)點(diǎn)的信息項(xiàng);以及 將所述一個(gè)或多個(gè)群組之中包括最大數(shù)目的信息項(xiàng)的群組傳送到所述另一服務(wù)器。
15.如權(quán)利要求11所述的方法,其中,所述傳送步驟包括 將識(shí)別出的條目中包括的信息項(xiàng)劃分成一個(gè)或多個(gè)群組,每個(gè)群組包括指示出由一不同的互聯(lián)網(wǎng)服務(wù)提供商(ISP)服務(wù)的節(jié)點(diǎn)的信息項(xiàng); 識(shí)別所述一個(gè)或多個(gè)群組之中包括最大數(shù)目的信息項(xiàng)的群組; 判定所述最大數(shù)目是否超過(guò)所述閾值;以及 如果所述最大數(shù)目不超過(guò)所述閾值,則將識(shí)別出的群組傳送到所述另一服務(wù)器,或者否則 如果所述最大數(shù)目超過(guò)所述閾值,則將識(shí)別出的群組中包括的信息項(xiàng)劃分成一個(gè)或多個(gè)子群組,每個(gè)子群組包括指示出一不同區(qū)域中的節(jié)點(diǎn)的信息項(xiàng),并且將所述一個(gè)或多個(gè)子群組之中信息項(xiàng)數(shù)目最大的子群組傳送到所述另一服務(wù)器。
16.如權(quán)利要求11所述的方法,還包括 如果在第一信息項(xiàng)已被傳送到所述另一服務(wù)器之后,接收到了指示出提供與所述第一信息項(xiàng)相關(guān)聯(lián)的數(shù)據(jù)文件并且位置與所傳送的部分中包括的第一信息項(xiàng)所指示的節(jié)點(diǎn)接近的節(jié)點(diǎn)的第二信息項(xiàng),則將所述第二信息項(xiàng)傳送到所述另一服務(wù)器。
17.如權(quán)利要求12所述的方法,還包括 根據(jù)為請(qǐng)求方節(jié)點(diǎn)的對(duì)關(guān)于提供指定數(shù)據(jù)文件的信息的請(qǐng)求,在所述元數(shù)據(jù)存儲(chǔ)單元和所述傳送日志存儲(chǔ)單元中執(zhí)行搜索以從所述元數(shù)據(jù)存儲(chǔ)單元和與所述指定數(shù)據(jù)文件相關(guān)聯(lián)的一部分信息項(xiàng)已被傳送到的另一服務(wù)器中的至少一個(gè)獲取指示出提供所述指定數(shù)據(jù)文件并且位置與所述請(qǐng)求方節(jié)點(diǎn)盡可能接近的節(jié)點(diǎn)的信息項(xiàng)。
18.如權(quán)利要求17所述的方法,其中,所述請(qǐng)求指定所述索引服務(wù)器為目的地索引服務(wù)器。
19.如權(quán)利要求17所述的方法,還包括 響應(yīng)于所述請(qǐng)求,利用所述指定數(shù)據(jù)文件的標(biāo)識(shí)執(zhí)行DHT查找以判定在所述索引服務(wù)器上是否發(fā)生命中,并且如果未發(fā)生命中則在所述索引服務(wù)器所屬的DHT網(wǎng)絡(luò)中路由所述請(qǐng)求,或者如果發(fā)生命中則使得所述搜索被執(zhí)行。
20.如權(quán)利要求19所述的方法,其中,所述請(qǐng)求不指定所述索引服務(wù)器為目的地索引服務(wù)器。
全文摘要
提供了P2P網(wǎng)絡(luò)的索引服務(wù)器及其方法。索引服務(wù)器包括元數(shù)據(jù)存儲(chǔ)單元,其存儲(chǔ)一個(gè)或多個(gè)條目,每個(gè)條目與一數(shù)據(jù)文件相關(guān)聯(lián)并且包括多個(gè)信息項(xiàng),每個(gè)信息項(xiàng)指示出提供該數(shù)據(jù)文件的節(jié)點(diǎn)和該節(jié)點(diǎn)的位置;以及節(jié)點(diǎn)信息管理單元,其監(jiān)視所述元數(shù)據(jù)存儲(chǔ)單元以識(shí)別所述元數(shù)據(jù)存儲(chǔ)單元中存儲(chǔ)的信息項(xiàng)數(shù)目超過(guò)閾值的條目,并且將識(shí)別出的條目中包括的一部分信息項(xiàng)傳送到另一服務(wù)器,所傳送的部分包括盡可能多的指示出位置相互接近的節(jié)點(diǎn)的信息項(xiàng)。
文檔編號(hào)G06F17/30GK102947821SQ201080004047
公開(kāi)日2013年2月27日 申請(qǐng)日期2010年3月26日 優(yōu)先權(quán)日2010年3月26日
發(fā)明者劉永強(qiáng), 夏勇, 胡艷, 黃權(quán) 申請(qǐng)人:日電(中國(guó))有限公司