專利名稱:采用小區(qū)動態(tài)劃分技術(shù)的對等網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及Peer-to-Peer(P2P)對等網(wǎng)絡(luò)技術(shù),尤指一種利用P2P網(wǎng)絡(luò)技術(shù)在Internet上進(jìn)行信息交互、共享的系統(tǒng)方法。
背景技術(shù):
縱觀P2P網(wǎng)絡(luò)技術(shù)的發(fā)展,由于其對服務(wù)器的依賴性小、為客戶端提供的服務(wù)質(zhì)量一定程度上優(yōu)于服務(wù)器-客戶端模式,使得它在近期隨著寬帶接入的普及得到了巨大發(fā)展。但現(xiàn)有的系統(tǒng)中普遍采用基于“洪泛法”進(jìn)行搜索和維護(hù),消耗了大量帶寬導(dǎo)致資源利用率低,事實(shí)上已經(jīng)給電信運(yùn)營商帶來了巨大負(fù)擔(dān),成為阻礙P2P發(fā)展的一個(gè)屏障。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種基于P2P網(wǎng)絡(luò)技術(shù)的信息交互、共享系統(tǒng)方法。系統(tǒng)將所有用戶進(jìn)行動態(tài)分區(qū)管理,同時(shí)有選舉出一些節(jié)點(diǎn)對小區(qū)的信息進(jìn)行管理。當(dāng)系統(tǒng)中的節(jié)點(diǎn)發(fā)起搜索另一個(gè)節(jié)點(diǎn)時(shí),將通過選舉出的節(jié)點(diǎn)進(jìn)行查找,改變了進(jìn)行大規(guī)模泛洪的模式。
具體實(shí)施例方式
采用小區(qū)動態(tài)劃分技術(shù)的對等網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)方法具有以下特點(diǎn)1.整個(gè)系統(tǒng)除全局唯一的一臺注冊服務(wù)器外,不需要其他服務(wù)器,并且采用定向的資源定位方式可以極大的減少網(wǎng)絡(luò)中搜索信息的傳播。在最優(yōu)的情況下,資源定位只需要在一個(gè)節(jié)點(diǎn)上做一次查詢;在最壞的情況下,也只需要在三個(gè)節(jié)點(diǎn)上分別做一次查詢。
2.系統(tǒng)中的每一個(gè)節(jié)點(diǎn)都擁有系統(tǒng)唯一的標(biāo)識(ID)、在網(wǎng)絡(luò)中的性能評估值。每個(gè)節(jié)點(diǎn)的ID由用戶首次在系統(tǒng)注冊時(shí)由用戶記錄,注冊服務(wù)器確保全局其唯一性;系統(tǒng)中根據(jù)節(jié)點(diǎn)的性能,一共存在三種類型的節(jié)點(diǎn)普通節(jié)點(diǎn)(Common Node,CN)、高級節(jié)點(diǎn)(Higher Node,HN)、超級節(jié)點(diǎn)(Super Node,SN),并且性能依次遞增。各類節(jié)點(diǎn)之間的數(shù)量比例由系統(tǒng)設(shè)計(jì)參數(shù)確定,并支持動態(tài)調(diào)整。
3.每個(gè)節(jié)點(diǎn)根據(jù)其類型保存一張相鄰的IP-ID路由表,是搜索其他節(jié)點(diǎn)的唯一工具。各類節(jié)點(diǎn)IP-ID路由表結(jié)構(gòu)都不同CN保存有管理它的HN、SN的IP-ID信息,HN保存有其管理的所以CN的IP-ID信息以及管理它的SN的IP-ID信息,SN保存有系統(tǒng)中所有SN的IP-ID信息以及它管理的所有HN的IP-ID信息。
4.由于節(jié)點(diǎn)唯一標(biāo)識ID與SN、HN的小區(qū)上下界同為英文字母、數(shù)字串,所以參考字典順序可以確定任意兩個(gè)標(biāo)識或小區(qū)上下界的偏序關(guān)系只需要從左至右按位比較,在可以區(qū)分偏序關(guān)系時(shí)即可停止。
5.設(shè)RH、RL分別是一個(gè)HN的上、下邊界,ID是CN的唯一標(biāo)識,并且一個(gè)HN最多管理N個(gè)CN,則根據(jù)字典順序,這個(gè)HN所管理的CN是這樣一個(gè)集合{IDi,IDj|RL<IDi≤RH(i=0,1,2L,N-1),IDj<IDj+1(j=0,1,2L,N-2),IDi≠IDj(i≠j)}。
6.某一個(gè)SN管理的所有HN的小區(qū)的并集與此SN管轄的小區(qū)范圍相等,并且每個(gè)HN所管轄的小區(qū)范圍沒有重疊,即∪iHNi.Area=SN.Area,∀HNi∈SN]]>并且{i≠j|HNi·AreaI HNj·Area=;HNi,HNj∈SN}。
7.一個(gè)HN管理一定數(shù)量的CN,當(dāng)所管理CN的數(shù)量達(dá)到HN的閾值(N)時(shí),將進(jìn)行普通節(jié)點(diǎn)小區(qū)分裂。分裂的原則是將原本一個(gè)HN所管理的CN進(jìn)行平分,一半CN由原來的HN繼續(xù)管理;并從另一半CN中選出性能值最高的節(jié)點(diǎn)升級為HN,管理余下的CN。在分裂的過程中,需要對新HN的路由表進(jìn)行維護(hù),也需對管理HN的SN的路由表進(jìn)行更新。網(wǎng)絡(luò)中節(jié)點(diǎn)的個(gè)數(shù)是隨時(shí)間變化的,在一段時(shí)間內(nèi)小區(qū)內(nèi)CN會大量退出,產(chǎn)生一個(gè)HN管理的CN數(shù)目很少的情況。若一個(gè)SN下屬的相鄰兩個(gè)HN所管理的CN個(gè)數(shù)之和小于k1,則這兩個(gè)HN所管理的小區(qū)將被合并。
8.一個(gè)SN同樣管理多個(gè)HN,當(dāng)HN的數(shù)量達(dá)到SN的閾值(N′)時(shí),采用與普通節(jié)點(diǎn)小區(qū)分裂類似的方法,將小區(qū)平分。新SN節(jié)點(diǎn)是從本SN管理的第一個(gè)HN的下屬CN中選出性能最優(yōu)的節(jié)點(diǎn),升級為SN。相關(guān)的HN、SN路由表都需要更新。
9.當(dāng)節(jié)點(diǎn)在服務(wù)器注冊完畢后,服務(wù)器將返回給節(jié)點(diǎn)系統(tǒng)中一個(gè)當(dāng)前在線的SN的IP-ID路由信息,節(jié)點(diǎn)將其保存在IP-ID路由表中。當(dāng)一個(gè)節(jié)點(diǎn)加入時(shí),其默認(rèn)類型是CN,該節(jié)點(diǎn)首先在IP-ID路由表中查詢HN的記錄并且發(fā)送數(shù)據(jù)包確認(rèn)其在線a.若該HN在線,則CN將其ID發(fā)送給HN。HN進(jìn)行ID與本小區(qū)上下界的比較,若CN屬于本小區(qū),則將CN的IP、ID信息保存在IP-ID路由表中,然后HN判斷所管理的CN數(shù)量是否超過閾值(N),若沒有超過,則CN登錄成功,否則在HN進(jìn)行普通節(jié)點(diǎn)小區(qū)分裂之后,CN完成登錄。若CN不屬于本小區(qū),HN在IP-ID路由表中查找另外一個(gè)HN,如果存在并且CN屬于該HN,則將其IP、ID返回給CN,CN重新開始登錄過程;若不存在,則將CN的ID與SN所管理的區(qū)域范圍進(jìn)行比較,若CN屬于該SN,則返回SN的IP、ID給CN,CN再重新開始登錄過程,若CN不屬于該SN,則SN將返回CN正確的SN使CN重新登錄。
b.若該加入節(jié)點(diǎn)沒有找到或者記錄中的HN不在線,將與SN進(jìn)行聯(lián)系。SN在收到CN信息之后,首先將加入節(jié)點(diǎn)的ID與本小區(qū)上下界的比較。若CN屬于本小區(qū),則SN在其IP-ID路由表中查找管理CN的HN,如果找到,則將HN的IP、ID發(fā)送給CN,CN繼續(xù)從此HN登錄;若沒有找到HN,說明SN中沒有HN存在,則將此CN升級為HN。若CN不屬于本小區(qū),由于SN與系統(tǒng)中其他SN保持IP、ID的信息同步,則SN在其IP-ID路由表中查找管理CN的SN,并將結(jié)果返回給CN,重新開始登錄過程。
當(dāng)CN在HN、SN登錄都失敗時(shí),將詢問注冊服務(wù)器系統(tǒng)中存在的SN,服務(wù)器返回給CN當(dāng)前在線的一個(gè)SN的IP、ID信息,CN重新開始登錄過程。
10.在系統(tǒng)剛建立時(shí),系統(tǒng)中沒有任何節(jié)點(diǎn),只存在一個(gè)注冊服務(wù)器。當(dāng)?shù)谝粋€(gè)節(jié)點(diǎn)加入系統(tǒng)時(shí),此時(shí)服務(wù)器將把這個(gè)節(jié)點(diǎn)設(shè)置成為SN。
11.每個(gè)節(jié)點(diǎn)登錄系統(tǒng)后,定時(shí)給上層節(jié)點(diǎn)發(fā)送在線消息,上層節(jié)點(diǎn)以此確認(rèn)該節(jié)點(diǎn)在系統(tǒng)中。上層節(jié)點(diǎn)在收到下層節(jié)點(diǎn)的在線信息后,同樣將返回給下層節(jié)點(diǎn)在線信息。節(jié)點(diǎn)失效分兩種情況正常退出和掉線。
a.當(dāng)CN正常退出時(shí),需向管理它的HN通知其退出,HN則在IP-ID路由表中刪除該節(jié)點(diǎn)的IP-ID項(xiàng);當(dāng)CN發(fā)生掉線時(shí),HN由于沒有按時(shí)收到CN發(fā)來的在線信息,在超時(shí)一定時(shí)間后,判定該CN退出系統(tǒng),并把IP-ID路由表中相對應(yīng)的記錄刪除。
b.當(dāng)HN正常退出時(shí),將在其管理的CN中選出一個(gè)性能值最高的節(jié)點(diǎn),并將其設(shè)為HN,在將要退出的HN的IP-ID信息復(fù)制給新的HN之后,新HN進(jìn)行相關(guān)的SN、CN的IP-ID路由表更新,此時(shí)舊HN退出系統(tǒng)。當(dāng)HN發(fā)生掉線時(shí),其管理的CN將得不到從HN返回的在線信息,此時(shí)CN將重復(fù)節(jié)點(diǎn)登錄過程,重新找到HN。此過程中,由于管理HN的SN也將收不到HN的在線信息,SN將首先從與此HN相鄰的兩個(gè)HN中選擇管理CN數(shù)較少的一個(gè),修改其管轄的范圍的上或者下界,使得覆蓋掉線HN的管理范圍。相應(yīng)的CN、HN、SN的IP-ID路由表更新也是必須的。
c.SN節(jié)點(diǎn)失效時(shí),其管理的HN也會發(fā)生收不到SN在線的反饋信息。此時(shí)多個(gè)HN都從自己所管理的CN中各選出一個(gè)性能最優(yōu)的節(jié)點(diǎn),再經(jīng)過比較,選出性能值最高的一個(gè)CN作為新的SN,相應(yīng)的IP-ID路由表也將得到更新。
權(quán)利要求
1.一種采用小區(qū)動態(tài)劃分技術(shù)的對等網(wǎng)絡(luò)系統(tǒng)實(shí)現(xiàn)方法,其特征在于該方法根據(jù)網(wǎng)絡(luò)中節(jié)點(diǎn)的唯一標(biāo)識ID(英文字母、數(shù)字串)進(jìn)行系統(tǒng)節(jié)點(diǎn)小區(qū)動態(tài)劃分,并且節(jié)點(diǎn)含有關(guān)于網(wǎng)絡(luò)中其他節(jié)點(diǎn)的路由表(反映其他節(jié)點(diǎn)的ID與IP地址的對應(yīng)關(guān)系),系統(tǒng)結(jié)構(gòu)屬于半分布式結(jié)構(gòu)化模型。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于系統(tǒng)中的每一個(gè)節(jié)點(diǎn)都擁有系統(tǒng)唯一的標(biāo)識(ID)、在網(wǎng)絡(luò)中的性能評估值。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于小區(qū)的規(guī)模,即一個(gè)小區(qū)中節(jié)點(diǎn)的個(gè)數(shù),在系統(tǒng)初始化時(shí)設(shè)定,可根據(jù)網(wǎng)絡(luò)條件進(jìn)行調(diào)整,并且具有上下界閾值。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于在小區(qū)內(nèi)用戶數(shù)超過上界閾值時(shí),進(jìn)行小區(qū)的分裂;在小區(qū)用戶數(shù)小于下界閾值時(shí),進(jìn)行小區(qū)合并。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于系統(tǒng)中節(jié)點(diǎn)類型有三種普通節(jié)點(diǎn)(CN)、高級節(jié)點(diǎn)(HN)、超級節(jié)點(diǎn)(SN)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于每個(gè)節(jié)點(diǎn)的類型確定與其性能評估指和系統(tǒng)中小區(qū)的狀態(tài)相關(guān),三種類型節(jié)點(diǎn)數(shù)量的比例在系統(tǒng)初始化時(shí)設(shè)定,并且進(jìn)行動態(tài)調(diào)整。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于小區(qū)中的節(jié)點(diǎn)類型都為普通節(jié)點(diǎn),并由高級節(jié)點(diǎn)進(jìn)行管理,一定數(shù)量的高級節(jié)點(diǎn)又由超級節(jié)點(diǎn)進(jìn)行管理。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于在一個(gè)節(jié)點(diǎn)發(fā)起查詢其他節(jié)點(diǎn)信息時(shí),首先通過管理本小區(qū)的高級節(jié)點(diǎn)在小區(qū)內(nèi)進(jìn)行查找,若找到目的節(jié)點(diǎn),則結(jié)束查找。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于在一個(gè)節(jié)點(diǎn)發(fā)起查詢其他節(jié)點(diǎn)信息時(shí),首先通過管理本小區(qū)的高級節(jié)點(diǎn)在小區(qū)內(nèi)進(jìn)行查找,若沒有找到,則由超級節(jié)點(diǎn)協(xié)助查找,最終返回目的節(jié)點(diǎn)的位置信息。
全文摘要
本發(fā)明提供了一種基于P2P網(wǎng)絡(luò)技術(shù)的信息交互、共享系統(tǒng)方法,該方法包括以下特點(diǎn)系統(tǒng)中唯一的注冊服務(wù)器管理系統(tǒng)中節(jié)點(diǎn)的ID,保證ID在系統(tǒng)中的唯一性。并保存有系統(tǒng)中部分的節(jié)點(diǎn)信息。系統(tǒng)中的所有節(jié)點(diǎn)根據(jù)其在網(wǎng)絡(luò)中的性能以及系統(tǒng)狀態(tài)被分為三種類型普通、高級、超級。普通節(jié)點(diǎn)的信息由超級節(jié)點(diǎn)進(jìn)行管理,高級節(jié)點(diǎn)的信息由超級節(jié)點(diǎn)進(jìn)行管理,超級節(jié)點(diǎn)的信息在系統(tǒng)中進(jìn)行同步。系統(tǒng)將所有用戶進(jìn)行動態(tài)分區(qū)管理,小區(qū)由普通節(jié)點(diǎn)組成由高級節(jié)點(diǎn)進(jìn)行管理,一定數(shù)量的高級節(jié)點(diǎn)又由超級節(jié)點(diǎn)管理。當(dāng)系統(tǒng)中的節(jié)點(diǎn)發(fā)起搜索另一個(gè)節(jié)點(diǎn)時(shí),將通過高級節(jié)點(diǎn)、超級節(jié)點(diǎn)進(jìn)行查找,改變了在網(wǎng)絡(luò)中進(jìn)行大規(guī)模泛洪的模式,而且支持節(jié)點(diǎn)的精確定位。小區(qū)的規(guī)模,即小區(qū)中普通節(jié)點(diǎn)的數(shù)量由系統(tǒng)初始化時(shí)設(shè)定,并可根據(jù)實(shí)際情況進(jìn)行調(diào)整,這使整個(gè)系統(tǒng)具有良好的擴(kuò)展性。
文檔編號H04L12/46GK1845524SQ20061008140
公開日2006年10月11日 申請日期2006年5月18日 優(yōu)先權(quán)日2006年5月18日
發(fā)明者馬明輝, 王延炯, 張春紅, 武穆清, 廖青, 徐春秀, 朱新寧, 任春陽, 魏宇欣 申請人:北京郵電大學(xué)