專利名稱::一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò)及其組織方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及物聯(lián)網(wǎng)中對(duì)象名字服務(wù)
技術(shù)領(lǐng)域:
,更具體地,本發(fā)明涉及一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò)及其組織方法。
背景技術(shù):
:在物聯(lián)網(wǎng)技術(shù)中,對(duì)象名字解析服務(wù)用于將對(duì)象名字映射到物品制造商提供的信息服務(wù)地址(isURL),為用戶提供關(guān)于這個(gè)物品的相關(guān)信息。現(xiàn)有EPC(ElectronicProductCode,產(chǎn)品電子代碼,提供對(duì)物理世界對(duì)象的唯一標(biāo)識(shí))網(wǎng)絡(luò)的0NS(0bjectNamingkrvice,對(duì)象名字服務(wù))系統(tǒng)中應(yīng)用了物聯(lián)網(wǎng)的對(duì)象名字解析服務(wù)技術(shù),ONS系統(tǒng)將EPC碼映射到一個(gè)或多個(gè)URL(統(tǒng)一資源定位符),通過這些URL查找到在EPCIS服務(wù)器上關(guān)于此產(chǎn)品的詳細(xì)信息,例如物品制造商提供的信息服務(wù)。EPC-ONS是一個(gè)類似于DNS的分布式層次結(jié)構(gòu),包括映射信息、根ONS服務(wù)器、ONS服務(wù)器、ONS本地緩存和本地ONS解算器。其中,ONS服務(wù)器用于回應(yīng)本地軟件的ONS查詢;根ONS服務(wù)器處于ONS層次結(jié)構(gòu)最高層,擁有EPC名字空間中的最高層域名;ONS本地緩存保存經(jīng)常查詢和最近查詢的“EPC-URL”值,作為ONS查詢的第一入口點(diǎn);本地ONS解算器負(fù)責(zé)ONS查詢前的編碼和查詢語句格式化工作;映射信息是ONS系統(tǒng)提供服務(wù)的實(shí)際內(nèi)容,制定EPC編碼與URI的映射關(guān)系,并且存儲(chǔ)在不同層次的ONS服務(wù)器中。EPC-ONS利用了DNS現(xiàn)有的體系結(jié)構(gòu),ONS查詢過程可以分為查詢本地服務(wù)器(0NSCache)和查詢ONS服務(wù)器兩部分,前一部分工作是利用一個(gè)與DNS相同結(jié)構(gòu)的系統(tǒng)完成的,后一部分查詢工作完全是由現(xiàn)有的DNS系統(tǒng)完成的??傊F(xiàn)有的方法都是采用類似DNS的層次樹狀結(jié)構(gòu)實(shí)現(xiàn)物聯(lián)網(wǎng)中對(duì)象名稱服務(wù),這種結(jié)構(gòu)不支持多種編碼方式,并且存在高層性能瓶頸、抗攻擊性弱、配置錯(cuò)誤頻繁和負(fù)載不均衡的問題。
發(fā)明內(nèi)容為克服現(xiàn)上述各種缺陷,本發(fā)明提供一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò)及其組織方法。根據(jù)本發(fā)明的一個(gè)方面,提出了一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò),包括兩級(jí)網(wǎng)絡(luò),其中,第一級(jí)是Chord網(wǎng)絡(luò),該第一級(jí)Chord網(wǎng)絡(luò)是基于分布式散列表由各個(gè)分組的超級(jí)節(jié)點(diǎn)組構(gòu)成的網(wǎng)絡(luò);第二級(jí)網(wǎng)絡(luò)是由各個(gè)分組單獨(dú)構(gòu)成的子網(wǎng)絡(luò),每個(gè)分組負(fù)責(zé)一個(gè)組織的對(duì)象名字服務(wù),第一級(jí)網(wǎng)絡(luò)和第二級(jí)網(wǎng)絡(luò)通過各分組的超級(jí)節(jié)點(diǎn)組相關(guān)聯(lián)。其中,對(duì)于節(jié)點(diǎn)數(shù)小于Ml的分組,第二級(jí)網(wǎng)絡(luò)采用非結(jié)構(gòu)化P2P的(Gnutella網(wǎng)絡(luò),該分組的超級(jí)節(jié)點(diǎn)維護(hù)第一級(jí)網(wǎng)絡(luò)的指針表,各普通節(jié)點(diǎn)存儲(chǔ)鄰居節(jié)點(diǎn)信息;其中Ml是50、100、200或者500。其中,對(duì)于具有中等規(guī)模節(jié)點(diǎn)數(shù)的分組,第二級(jí)網(wǎng)絡(luò)采用簡(jiǎn)化Chord網(wǎng)絡(luò)SChord,其中,所述khord采用Chord的環(huán)狀結(jié)構(gòu)組織散列表,由超級(jí)節(jié)點(diǎn)維護(hù)分組的全網(wǎng)視圖和包含Chord環(huán)上所有節(jié)點(diǎn)的指針表,普通節(jié)點(diǎn)只存儲(chǔ)<key,value)對(duì)。其中,對(duì)于具有大規(guī)模節(jié)點(diǎn)數(shù)的分組,第二級(jí)網(wǎng)絡(luò)采用結(jié)構(gòu)化P2P的Chord網(wǎng)絡(luò)。根據(jù)本發(fā)明的另一方面,提出了一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò)的組織方法,包括構(gòu)造兩級(jí)網(wǎng)絡(luò),將第一級(jí)網(wǎng)絡(luò)構(gòu)造為Chord網(wǎng)絡(luò),該第一級(jí)網(wǎng)絡(luò)是基于分布式散列表由各個(gè)分組的超級(jí)節(jié)點(diǎn)組構(gòu)成的網(wǎng)絡(luò);將第二級(jí)網(wǎng)絡(luò)構(gòu)造為由各個(gè)分組單獨(dú)構(gòu)成的子網(wǎng)絡(luò),每個(gè)分組負(fù)責(zé)一個(gè)組織的對(duì)象名字服務(wù),第一級(jí)和第二級(jí)網(wǎng)絡(luò)通過各分組的超級(jí)節(jié)點(diǎn)組相關(guān)聯(lián)。本發(fā)明對(duì)層次式Chord的對(duì)象名字解析系統(tǒng)的組織進(jìn)行擴(kuò)展,針對(duì)不同規(guī)模的分組,分別采取不同的網(wǎng)絡(luò)結(jié)構(gòu)和路由算法,對(duì)于peer數(shù)目小于100的分組采用純粹P2P網(wǎng)絡(luò)GnutelIa;對(duì)于peer數(shù)目介于100和1000之間的分組采用簡(jiǎn)化后的Chord網(wǎng)絡(luò)khord;對(duì)于peer數(shù)目大于1000的分組采用Chord網(wǎng)絡(luò)。本發(fā)明提供了一種靈活的規(guī)??蓴U(kuò)展的分組網(wǎng)絡(luò)組織方法,更加適應(yīng)于分組的底層實(shí)際網(wǎng)絡(luò),提高了分組中名字查詢效率。圖1是根據(jù)本發(fā)明的層次式Chord分組網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖2是根據(jù)本發(fā)明的層次式Chord分組網(wǎng)絡(luò)動(dòng)態(tài)擴(kuò)展過程示意圖。具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明提供的一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò)及其組織方法進(jìn)行詳細(xì)描述。在對(duì)本發(fā)明具體描述前,對(duì)本發(fā)明涉及的概念加以介紹,以方便理解。物聯(lián)網(wǎng)物聯(lián)網(wǎng)就是把傳感器與傳感器網(wǎng)絡(luò)技術(shù)、通信網(wǎng)與互聯(lián)網(wǎng)技術(shù)、智能運(yùn)算技術(shù)等融為一體,實(shí)現(xiàn)全面感知、可靠傳送、智能處理為特征的并且連接物理世界的網(wǎng)絡(luò)。對(duì)象名字服務(wù)將物品的電子編碼映射到一個(gè)或者多個(gè)URL,在這些URL中可以查找到關(guān)于這個(gè)物品的詳細(xì)信息,通常是物品制造商提供的信息服務(wù)。對(duì)象名字按照某種編碼規(guī)則賦予物品唯一的電子編碼表示,現(xiàn)有的物品編碼格式將物品編碼分為產(chǎn)品制造廠商標(biāo)識(shí)碼或者組織標(biāo)識(shí)碼Cl(ManagerNumber)和產(chǎn)品標(biāo)識(shí)碼C2(SerialNumber)兩部分。分組(group):—個(gè)企業(yè)或組織的所有對(duì)象名字服務(wù)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò),用Gi表示分組,用&表示分組的ID。節(jié)點(diǎn)(peer):P2P網(wǎng)絡(luò)中的對(duì)等端,分為超級(jí)節(jié)點(diǎn)(superpeer)和普通節(jié)點(diǎn)(regularpeer),分別記作s和r。超級(jí)節(jié)點(diǎn)和普通節(jié)點(diǎn)只是邏輯上的區(qū)別,各個(gè)分組中一個(gè)或多個(gè)超級(jí)節(jié)點(diǎn)組建成上層Chord網(wǎng)絡(luò),同時(shí)作為下層分組中節(jié)點(diǎn)訪問其他分組的入口節(jié)點(diǎn)。因此,超級(jí)節(jié)點(diǎn)相比普通節(jié)點(diǎn),除了維護(hù)所在分組的Chord指針表外,還需要維護(hù)一張上級(jí)Chord網(wǎng)絡(luò)的指針表。超級(jí)節(jié)點(diǎn)組(superpeers)同一分組中的一組超級(jí)節(jié)點(diǎn),用來連接上下兩層P2P網(wǎng)絡(luò),記作Si,普通節(jié)點(diǎn)集Ri=Gi-Si0負(fù)責(zé)(responsibility)如果分組&是所有分組中距離關(guān)鍵字key最近的后繼,即&為successor(key),就說&負(fù)責(zé)key的名字服務(wù)。Chord美國(guó)MIT大學(xué)的研究人員提出的結(jié)構(gòu)化P2P覆蓋網(wǎng),Chord采用環(huán)來組織地址空間,是一個(gè)存儲(chǔ)關(guān)鍵字-值對(duì)的分布式散列表。關(guān)鍵字被散列到一個(gè)m位的標(biāo)識(shí)符環(huán)。節(jié)點(diǎn)按ID從小到大排列在一個(gè)邏輯環(huán)上,每一節(jié)點(diǎn)維護(hù)一個(gè)路由表,即指針表(fingertable)。一個(gè)節(jié)點(diǎn)將查找關(guān)鍵字k的請(qǐng)求轉(zhuǎn)發(fā)到k的最近先驅(qū),當(dāng)請(qǐng)求到達(dá)一個(gè)節(jié)點(diǎn)η,滿足k位于η及標(biāo)識(shí)符環(huán)上η的后繼之間時(shí),節(jié)點(diǎn)η匯報(bào)其后繼作為請(qǐng)求的應(yīng)答。指針表(fingertable)每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)路由表,即指針表,指向標(biāo)識(shí)符環(huán)上的其他節(jié)點(diǎn)。給定一個(gè)環(huán),具有m位的標(biāo)識(shí)符,一個(gè)指針表最多有m個(gè)表項(xiàng)。在節(jié)點(diǎn)η上,在行i的表項(xiàng)標(biāo)識(shí)η后至少遠(yuǎn)的第一個(gè)節(jié)點(diǎn),即successor(11+211),其中1<i<m。每條指針表項(xiàng)由一個(gè)節(jié)點(diǎn)ID、一個(gè)IP地址和端口對(duì)及可能的一些記錄信息組成;該指針表概念是指Chord系統(tǒng)指針表。在清楚本發(fā)明的一些具體概念之后,下面對(duì)本發(fā)明的實(shí)現(xiàn)過程做詳細(xì)說明。層次式Chord網(wǎng)絡(luò)結(jié)構(gòu)基于層次Chord的P2P(HierarchicalPeer-to-Peer)網(wǎng)絡(luò)中將物聯(lián)網(wǎng)中的對(duì)象名字解析系統(tǒng)組織為兩級(jí)Chord網(wǎng)絡(luò)。上層網(wǎng)絡(luò)TChord是基于DHT(DistributedHashTable,分布式散列表)的結(jié)構(gòu)化P2P網(wǎng)絡(luò),DHT允許節(jié)點(diǎn)基于對(duì)象的關(guān)鍵字key來訪問對(duì)象,是分布式系統(tǒng)中的一種底層基礎(chǔ),其采用Chord協(xié)議,TChord中的每個(gè)節(jié)點(diǎn)是由一個(gè)超級(jí)節(jié)點(diǎn)組構(gòu)成的虛節(jié)點(diǎn),所有分組中的超級(jí)節(jié)點(diǎn)組構(gòu)成TChord。TChord根據(jù)組織標(biāo)識(shí)碼Cl將一個(gè)對(duì)象名字解析請(qǐng)求發(fā)送到負(fù)責(zé)該名字服務(wù)的分組。節(jié)點(diǎn)通過維護(hù)一個(gè)TChord算法的指針向量表,將一個(gè)對(duì)象名字解析請(qǐng)求迅速發(fā)送到負(fù)責(zé)該名字服務(wù)的超級(jí)節(jié)點(diǎn)。Chord協(xié)議查詢效率高并且支持負(fù)載均衡,還具有簡(jiǎn)單、可靠等其他DHT模型所不具備的特點(diǎn),所以上層網(wǎng)絡(luò)采用Chord協(xié)議。第二層包括各個(gè)相互獨(dú)立的分組,根據(jù)各個(gè)生產(chǎn)廠商或組織的對(duì)象名字服務(wù)的具體情況,按照節(jié)點(diǎn)規(guī)模的大小,將其組織為Chord系統(tǒng)或者非結(jié)構(gòu)化P2P系統(tǒng)。本實(shí)施例只考慮分組中節(jié)點(diǎn)數(shù)目超過1000的大規(guī)模網(wǎng)絡(luò),將分組組織為Chord系統(tǒng)。但對(duì)于節(jié)點(diǎn)數(shù)目較小的網(wǎng)絡(luò),不排除使用非結(jié)構(gòu)化P2P系統(tǒng)。每個(gè)分組按照一定的規(guī)則選出一組超級(jí)節(jié)點(diǎn),目前PC機(jī)的處理能力已經(jīng)比較強(qiáng)大,對(duì)于一般的P2P應(yīng)用可以滿足要求,因此選擇最早加入分組的節(jié)點(diǎn),即在線時(shí)間最長(zhǎng)的節(jié)點(diǎn)作為超級(jí)節(jié)點(diǎn),每一個(gè)超級(jí)節(jié)點(diǎn)組作為TChord中一個(gè)虛節(jié)點(diǎn),構(gòu)成上級(jí)TChord網(wǎng)絡(luò)。上層Chord環(huán)(TChord)在TChord網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)包括一個(gè)超級(jí)節(jié)點(diǎn)組,通過超級(jí)節(jié)點(diǎn)組中的節(jié)點(diǎn)冗余,以提高TChord網(wǎng)絡(luò)的可靠性。首先對(duì)Chord系統(tǒng)進(jìn)行簡(jiǎn)單介紹,Chord算法在2001年由Moica等人發(fā)表,它的完美性源自于它的簡(jiǎn)單性。DHT的關(guān)鍵字是一個(gè)m位的標(biāo)識(shí)符,即在W,2m-1]區(qū)間中的整數(shù)。標(biāo)識(shí)符形成一個(gè)一維的對(duì)2m取模的標(biāo)識(shí)符環(huán),范圍為Qm-I)O。標(biāo)識(shí)符可以通過對(duì)一個(gè)節(jié)點(diǎn)的名字進(jìn)行散列獲得,例如標(biāo)識(shí)符P=hash(IP)。關(guān)鍵字K(key)是一個(gè)對(duì)象獨(dú)一無二的標(biāo)識(shí)符,它可以通過對(duì)對(duì)象名進(jìn)行散列來獲得,K=hash(V)。標(biāo)識(shí)符分為節(jié)點(diǎn)ID和關(guān)鍵字,分別標(biāo)識(shí)節(jié)點(diǎn)和對(duì)象,對(duì)象即數(shù)據(jù)項(xiàng)目,在本申請(qǐng)中可以是物品的信息服務(wù)地址URL。在Chord中,對(duì)象被關(guān)聯(lián)到Key,節(jié)點(diǎn)由節(jié)點(diǎn)ID標(biāo)識(shí),每個(gè)節(jié)點(diǎn)擁有一部分散列空間,負(fù)責(zé)保存某個(gè)范圍的key。節(jié)點(diǎn)按ID從小到大排列在一個(gè)邏輯環(huán)上,<key,value〉值對(duì)<k,v>存儲(chǔ)在k的后繼結(jié)點(diǎn)successor(k)上,successor(k)是從K開始順時(shí)針方向距離K最近的節(jié)點(diǎn),即在一個(gè)Chord環(huán)中具有順時(shí)針增長(zhǎng)ID的一個(gè)節(jié)點(diǎn)負(fù)責(zé)其逆時(shí)針方向之前的所有關(guān)鍵字。每一節(jié)點(diǎn)維護(hù)一個(gè)路由表,即指針表(fingertable),指針表的路由信息提供了鄰近節(jié)點(diǎn)和遠(yuǎn)距離連接粗粒度視圖的信息,其中遠(yuǎn)距離連接是以2的次冪為間隔增長(zhǎng)的。Chord路由算法的基本原理根據(jù)存儲(chǔ)于每個(gè)節(jié)點(diǎn)指針表中的信息,一個(gè)節(jié)點(diǎn)將查找關(guān)鍵字k的請(qǐng)求轉(zhuǎn)發(fā)到k的最近先驅(qū),該先驅(qū)根據(jù)節(jié)點(diǎn)的指針表來確定標(biāo)識(shí)符環(huán)上的k的先驅(qū)。當(dāng)請(qǐng)求到達(dá)一個(gè)節(jié)點(diǎn)n,滿足k位于η及標(biāo)識(shí)符環(huán)上η的后繼之間時(shí),節(jié)點(diǎn)η匯報(bào)其后繼作為請(qǐng)求的應(yīng)答。由于以指針I(yè)D的2的次冪的距離間隔,每一跳至少覆蓋標(biāo)識(shí)符環(huán)上當(dāng)前節(jié)點(diǎn)和目的標(biāo)示符之間剩余距離的一半。對(duì)于具有N個(gè)參與節(jié)點(diǎn)的Chord環(huán),會(huì)產(chǎn)生平均Iog2N個(gè)路由跳。TChord針對(duì)分組group的特點(diǎn)在Chord上做了一些修改,TChord中的每個(gè)虛節(jié)點(diǎn)包含一個(gè)超級(jí)節(jié)點(diǎn)組Si,因此指針表需要做相應(yīng)的修改。原指針表中第i行表項(xiàng)標(biāo)識(shí)η后至少2i-l遠(yuǎn)的第一個(gè)節(jié)點(diǎn),TChord指針表中第i行表項(xiàng)標(biāo)識(shí)η后至少2〔1遠(yuǎn)的第一個(gè)虛節(jié)點(diǎn),即TChord指針表中每個(gè)表項(xiàng)所包含的節(jié)點(diǎn)地址信息不再是一個(gè)節(jié)點(diǎn)的地址信息,而是一個(gè)指向超級(jí)節(jié)點(diǎn)組Sid的地址向量。例如指向節(jié)點(diǎn)Si的表項(xiàng)所包含的Si的地址信息是一個(gè)地址向量Vector[Si],向量Vector[Si]中各個(gè)元素依次是指向Si中各個(gè)超級(jí)節(jié)點(diǎn)的地址。下面具體詳細(xì)介紹TChord的查找、加入和穩(wěn)定算法。查找Chord節(jié)點(diǎn)查找算法是利用各個(gè)節(jié)點(diǎn)的指針表在標(biāo)識(shí)符環(huán)上尋找距離關(guān)鍵字key最近的后繼節(jié)點(diǎn)。本算法是TChord的查找算法,它同Chord查找算法基本相同,區(qū)別在于TChord采用指針向量表的結(jié)構(gòu),該指針向量表中,路由一個(gè)查詢請(qǐng)求到目標(biāo)分組,從目標(biāo)分組中的地址向量中隨機(jī)選擇一個(gè)IP地址,將查詢請(qǐng)求發(fā)送到該超級(jí)節(jié)點(diǎn),在超級(jí)節(jié)點(diǎn)之間實(shí)現(xiàn)負(fù)載均衡。TChord查找算法實(shí)現(xiàn)了搜索指針表的功能,其具體實(shí)現(xiàn)與原Chord算法的不同之處在于節(jié)點(diǎn)地址的返回上。它相對(duì)于原來的Chord算法增加了地址向量的隨機(jī)選擇過程,只要一個(gè)地址向量中的對(duì)等端沒有全部失效,就能保證算法查找的有效性。另外,通過在地址向量中隨機(jī)選擇一個(gè)返回地址實(shí)現(xiàn)了超級(jí)節(jié)點(diǎn)間的負(fù)載均衡。節(jié)點(diǎn)加入TChord中的一個(gè)虛節(jié)點(diǎn)代表包括g個(gè)超級(jí)節(jié)點(diǎn)(超級(jí)節(jié)點(diǎn)組中的節(jié)點(diǎn)可以為空)的一個(gè)超級(jí)節(jié)點(diǎn)組Si,當(dāng)分組中有節(jié)點(diǎn)加入時(shí),可能引起TChord中一個(gè)新虛節(jié)點(diǎn)的加入。假設(shè)η為加入節(jié)點(diǎn),n'=n.find_successor()(n'eS^jPn'是η的后繼節(jié)點(diǎn)。當(dāng)節(jié)點(diǎn)η請(qǐng)求加入分組Gi時(shí),有以下三種可能情況(1)如果n.Cl=n'.Cl并且Si.length=g,即Gi就是η應(yīng)當(dāng)加入的分組并且Si已滿,此時(shí)η作為一個(gè)普通節(jié)點(diǎn)(regularpeer)力口入Gi,調(diào)用函數(shù)join_as_regularpeer()。(2)若η.Cl=η'.Cl并且Si.length<g,即Gi就是η應(yīng)當(dāng)加入的分組并且Si未滿,此時(shí)首先調(diào)用joiruasjegularpeerO將η加入分組。然后調(diào)用超級(jí)節(jié)點(diǎn)插入函數(shù)insert()將節(jié)點(diǎn)η加入到Si中,更新地址向量Vector[Si],即在Vector[Si]增加一個(gè)新元素η。(3)如果n.Cl興n'.Cl,即η不屬于TChord中的任意一個(gè)分組,此時(shí)需要調(diào)用creategroupO創(chuàng)建一個(gè)新分組(;」,初始化超級(jí)節(jié)點(diǎn)集。、地址向量Vector[Sj]。然后調(diào)用虛節(jié)點(diǎn)加入函數(shù)join_in_TChord(),向TChord中加入一個(gè)新的虛擬接點(diǎn)。分組網(wǎng)絡(luò)結(jié)構(gòu)分組網(wǎng)絡(luò)通過存儲(chǔ)〈Hash(C1+C2),IS地址>這樣的<key,value)對(duì),向用戶提供對(duì)象名字到對(duì)象信息服務(wù)地址的映射。本申請(qǐng)的方法是對(duì)上述層次式Chord網(wǎng)絡(luò)結(jié)構(gòu)中的分組網(wǎng)絡(luò)進(jìn)一步擴(kuò)展。圖1示出根據(jù)本發(fā)明的層次式Chord分組網(wǎng)絡(luò)結(jié)構(gòu),其中,對(duì)于上層TChord網(wǎng)絡(luò),它的結(jié)構(gòu)和路由算法與上述層次式Chord網(wǎng)絡(luò)相同,采用結(jié)構(gòu)化P2P結(jié)構(gòu);下層網(wǎng)絡(luò)中針對(duì)分組規(guī)模大小進(jìn)行了動(dòng)態(tài)擴(kuò)展,分為三種分組網(wǎng)絡(luò)結(jié)構(gòu),①(Gnutella網(wǎng)絡(luò),其是一種目前廣泛應(yīng)用的非結(jié)構(gòu)化P2P系統(tǒng)網(wǎng)絡(luò),是Chord的一種簡(jiǎn)化網(wǎng)絡(luò),其中去除指針表,引入中心節(jié)點(diǎn),構(gòu)成中心式P2P系統(tǒng);③傳統(tǒng)Chord網(wǎng)絡(luò)。對(duì)于一個(gè)分組Gi,Gi包括超級(jí)節(jié)點(diǎn)組Si和普通節(jié)點(diǎn)集Ri兩部分,其中Si除了同Ri一樣提供對(duì)象名字解析功能外,還負(fù)責(zé)Tchord網(wǎng)絡(luò)的路由和分組查找,Ri中的節(jié)點(diǎn)只需要存儲(chǔ)組內(nèi)節(jié)點(diǎn)的路由信息,并且維護(hù)一個(gè)所在分組的超級(jí)節(jié)點(diǎn)組的地址向量Vector[S]。根據(jù)生產(chǎn)廠商或組織的對(duì)象名字服務(wù)具體情況,按照Gi節(jié)點(diǎn)規(guī)模的大小,可以將Gi組織為Chord系統(tǒng)或者非結(jié)構(gòu)化P2P網(wǎng)絡(luò)。具體策略如下(1)對(duì)于網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)小于100的小規(guī)模group,采用非結(jié)構(gòu)化P2P網(wǎng)絡(luò)(inutella,如圖G1所示,進(jìn)行消息洪泛,此時(shí)路由表只要存儲(chǔ)其鄰居節(jié)點(diǎn)信息;(2)對(duì)于網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目介于100和1000之間的中等規(guī)模group,采用簡(jiǎn)化后的Chord網(wǎng)絡(luò)SChord(SimpleChord),如圖(所示。khord采用Chord的環(huán)狀結(jié)構(gòu)組織散列表,但引入了超級(jí)節(jié)點(diǎn),由超級(jí)節(jié)點(diǎn)維護(hù)&的全網(wǎng)視圖和一張包含Chord環(huán)上所有節(jié)點(diǎn)的指針表,而&中的節(jié)點(diǎn)只要存儲(chǔ)<key,value)對(duì),不再需要維護(hù)路由信息;(3)對(duì)于網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目超過1000的大規(guī)模group,采用結(jié)構(gòu)化P2P網(wǎng)絡(luò)Chord如圖&所示,此時(shí)節(jié)點(diǎn)需要存儲(chǔ)指針表等路由信息。每類分組的最大節(jié)點(diǎn)數(shù)目M是預(yù)先定義好的,具體如表1所示。表權(quán)利要求1.一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò),包括第一級(jí)和第二級(jí)的兩級(jí)網(wǎng)絡(luò),其中,第二級(jí)網(wǎng)絡(luò)是由負(fù)責(zé)一個(gè)組織的對(duì)象名字服務(wù)的各個(gè)分組單獨(dú)構(gòu)成的子網(wǎng)絡(luò),第一級(jí)網(wǎng)絡(luò)是基于分布式散列表由對(duì)應(yīng)于第二級(jí)網(wǎng)絡(luò)的各個(gè)分組的超級(jí)節(jié)點(diǎn)組構(gòu)成的Chord網(wǎng)絡(luò);第一級(jí)網(wǎng)絡(luò)和第二級(jí)網(wǎng)絡(luò)通過各分組的超級(jí)節(jié)點(diǎn)組相關(guān)聯(lián)。2.權(quán)利要求1的網(wǎng)絡(luò),其中,所述分組包括一個(gè)企業(yè)或組織的所有對(duì)象名字服務(wù)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò)。3.權(quán)利要求1的網(wǎng)絡(luò),其中,所述超級(jí)節(jié)點(diǎn)包括最早加入該分組的節(jié)點(diǎn),并且作為第二級(jí)網(wǎng)絡(luò)的分組中節(jié)點(diǎn)訪問其他分組的入口。4.權(quán)利要求1的網(wǎng)絡(luò),其中,對(duì)于節(jié)點(diǎn)數(shù)小于Ml的分組,第二級(jí)網(wǎng)絡(luò)采用非結(jié)構(gòu)化P2P的(Gnutella網(wǎng)絡(luò),該分組的超級(jí)節(jié)點(diǎn)維護(hù)第一級(jí)網(wǎng)絡(luò)的指針表,各普通節(jié)點(diǎn)存儲(chǔ)鄰居節(jié)點(diǎn)信息;其中Ml是50、100、200或者500。5.權(quán)利要求1的網(wǎng)絡(luò),其中,對(duì)于具有中等規(guī)模節(jié)點(diǎn)數(shù)的分組,第二級(jí)網(wǎng)絡(luò)采用簡(jiǎn)化Chord網(wǎng)絡(luò)SChord,其中,所述khord采用Chord的環(huán)狀結(jié)構(gòu)組織散列表,由超級(jí)節(jié)點(diǎn)維護(hù)分組的全網(wǎng)視圖和包含Chord環(huán)上所有節(jié)點(diǎn)的指針表,普通節(jié)點(diǎn)只存儲(chǔ)<key,value)對(duì)。6.權(quán)利要求1的網(wǎng)絡(luò),其中,對(duì)于具有大規(guī)模節(jié)點(diǎn)數(shù)的分組,第二級(jí)網(wǎng)絡(luò)采用結(jié)構(gòu)化P2P的Chord網(wǎng)絡(luò)。7.權(quán)利要求4、5或者6的網(wǎng)絡(luò),其中,當(dāng)一個(gè)節(jié)點(diǎn)加入第二級(jí)網(wǎng)絡(luò)的分組時(shí),該分組的超級(jí)節(jié)點(diǎn)將當(dāng)前分組的節(jié)點(diǎn)數(shù)目和預(yù)定閾值相比較,等于該閾值時(shí),動(dòng)態(tài)擴(kuò)展第二級(jí)網(wǎng)絡(luò)并且加入擴(kuò)展后的網(wǎng)絡(luò)分組;否則將該節(jié)點(diǎn)加入當(dāng)前分組。8.權(quán)利要求7的網(wǎng)絡(luò),其中,當(dāng)節(jié)點(diǎn)要加入的Gnutella網(wǎng)絡(luò)已滿時(shí),Gnutella網(wǎng)絡(luò)的超級(jí)節(jié)點(diǎn)發(fā)出重構(gòu)消息,在重構(gòu)消息中加入自己的節(jié)點(diǎn)ID和地址信息,將該消息在Gnutella網(wǎng)絡(luò)中洪泛,普通節(jié)點(diǎn)將狀態(tài)切換為khord網(wǎng)絡(luò)狀態(tài)并將自身的節(jié)點(diǎn)ID和地址信息添加到重構(gòu)消息,普通節(jié)點(diǎn)根據(jù)收到的節(jié)點(diǎn)ID和節(jié)點(diǎn)地址信息將存儲(chǔ)的<key,value〉值對(duì)發(fā)送到相應(yīng)的節(jié)點(diǎn);超級(jí)節(jié)點(diǎn)持有分組中所有節(jié)點(diǎn)的節(jié)點(diǎn)ID和地址信息,所有的<key,value)值對(duì)分布于各個(gè)節(jié)點(diǎn)中。9.權(quán)利要求7的網(wǎng)絡(luò),其中,所述khord網(wǎng)絡(luò)中,普通節(jié)點(diǎn)加入時(shí),遷移相應(yīng)的<k,v>對(duì)到該普通節(jié)點(diǎn)上,并將節(jié)點(diǎn)ID和地址信息通知超級(jí)節(jié)點(diǎn)。10.權(quán)利要求7的網(wǎng)絡(luò),其中,當(dāng)節(jié)點(diǎn)加入khord網(wǎng)絡(luò)已滿時(shí),超級(jí)節(jié)點(diǎn)向每個(gè)節(jié)點(diǎn)分別發(fā)出重構(gòu)通知,各節(jié)點(diǎn)收到重構(gòu)消息后,將狀態(tài)變量切換為Chord網(wǎng)絡(luò)狀態(tài),通過超級(jí)節(jié)點(diǎn)下載其他節(jié)點(diǎn)的地址信息,構(gòu)造指針表,形成Chord網(wǎng)絡(luò)的分組。11.權(quán)利要求4、5或者6的網(wǎng)絡(luò),其中,當(dāng)有超級(jí)節(jié)點(diǎn)失效后,在第二級(jí)網(wǎng)絡(luò)中更新超級(jí)節(jié)點(diǎn);對(duì)于(Gnutella網(wǎng)絡(luò),通過在網(wǎng)絡(luò)中洪泛地址替換消息來更新每個(gè)節(jié)點(diǎn)中的地址向量;對(duì)于^^01~(1網(wǎng)絡(luò),由超級(jí)節(jié)點(diǎn)向網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)分別發(fā)送地址替換消息;對(duì)于Chord分組,通過在Chord環(huán)上順序傳遞地址替換消息更新環(huán)上每個(gè)節(jié)點(diǎn)的地址向量。12.一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò)的組織方法,包括構(gòu)造兩級(jí)網(wǎng)絡(luò),由負(fù)責(zé)一個(gè)組織的對(duì)象名字服務(wù)的各個(gè)分組單獨(dú)構(gòu)成的子網(wǎng)絡(luò)構(gòu)成第二級(jí)網(wǎng)絡(luò),基于分布式散列表由對(duì)應(yīng)于第二級(jí)網(wǎng)絡(luò)的各個(gè)分組的超級(jí)節(jié)點(diǎn)組構(gòu)成第一級(jí)網(wǎng)絡(luò),將第一級(jí)網(wǎng)絡(luò)構(gòu)造為Chord網(wǎng)絡(luò),第一級(jí)和第二級(jí)網(wǎng)絡(luò)通過各分組的超級(jí)節(jié)點(diǎn)組相關(guān)聯(lián)。13.權(quán)利要求12的方法,其中,所述分組包括一個(gè)企業(yè)或組織的所有對(duì)象名字服務(wù)節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò)。14.權(quán)利要求12的方法,其中,所述超級(jí)節(jié)點(diǎn)包括最早加入該分組的節(jié)點(diǎn),并且作為第二級(jí)網(wǎng)絡(luò)的分組中節(jié)點(diǎn)訪問其他分組的入口。15.權(quán)利要求12的方法,其中,對(duì)于節(jié)點(diǎn)數(shù)小于Ml的分組,采用非結(jié)構(gòu)化P2P的(Gnutella網(wǎng)絡(luò)構(gòu)造第二級(jí)網(wǎng)絡(luò),該分組的超級(jí)節(jié)點(diǎn)維護(hù)第一級(jí)網(wǎng)絡(luò)的指針表,各普通節(jié)點(diǎn)存儲(chǔ)鄰居節(jié)點(diǎn)信息;其中Ml是50、100、200或者500。16.權(quán)利要求12的方法,其中,對(duì)于具有中等規(guī)模節(jié)點(diǎn)數(shù)的分組,采用簡(jiǎn)化Chord網(wǎng)絡(luò)SChord構(gòu)造第二級(jí)網(wǎng)絡(luò),其中所述khord采用Chord的環(huán)狀結(jié)構(gòu)組織散列表,由超級(jí)節(jié)點(diǎn)維護(hù)分組的全網(wǎng)視圖和包含Chord環(huán)上所有節(jié)點(diǎn)的指針表,普通節(jié)點(diǎn)存儲(chǔ)<key,value〉對(duì)。17.權(quán)利要求12的方法,其中,對(duì)于具有大規(guī)模節(jié)點(diǎn)數(shù)的分組,采用結(jié)構(gòu)化P2P網(wǎng)絡(luò)Chord構(gòu)造第二級(jí)網(wǎng)絡(luò)。18.權(quán)利要求15、16或者17的方法,其中,當(dāng)一個(gè)節(jié)點(diǎn)加入第二級(jí)網(wǎng)絡(luò)的分組時(shí),該分組的超級(jí)節(jié)點(diǎn)將當(dāng)前分組的節(jié)點(diǎn)數(shù)目和預(yù)定閾值相比較,等于該閾值時(shí),動(dòng)態(tài)擴(kuò)展第二級(jí)網(wǎng)絡(luò)并且加入擴(kuò)展后的網(wǎng)絡(luò)分組;否則將該節(jié)點(diǎn)加入該分組。19.權(quán)利要求18的方法,其中,當(dāng)節(jié)點(diǎn)要加入的Gnutella網(wǎng)絡(luò)已滿時(shí),Gnutella網(wǎng)絡(luò)的超級(jí)節(jié)點(diǎn)發(fā)出重構(gòu)消息,在消息中加入自己的節(jié)點(diǎn)ID和地址信息,將該消息在(Gnutella網(wǎng)絡(luò)中洪泛,普通節(jié)點(diǎn)將狀態(tài)切換為khord網(wǎng)絡(luò)狀態(tài)并將自身的節(jié)點(diǎn)ID和地址信息添加到重構(gòu)消息,普通節(jié)點(diǎn)根據(jù)收到的節(jié)點(diǎn)ID和節(jié)點(diǎn)地址信息將存儲(chǔ)的<key,value)值對(duì)發(fā)送到相應(yīng)的節(jié)點(diǎn),超級(jí)節(jié)點(diǎn)持有分組中所有節(jié)點(diǎn)的節(jié)點(diǎn)ID和地址信息,所有的<key,value)值對(duì)分布于各個(gè)節(jié)點(diǎn)中。20.權(quán)利要求18的方法,其中,所述khord網(wǎng)絡(luò)中,普通節(jié)點(diǎn)加入時(shí),遷移相應(yīng)的<k,v>對(duì)到該普通節(jié)點(diǎn)上,并將節(jié)點(diǎn)ID和地址信息通知超級(jí)節(jié)點(diǎn)。21.權(quán)利要求18的方法,其中,當(dāng)節(jié)點(diǎn)加Akhord網(wǎng)絡(luò)已滿時(shí),超級(jí)節(jié)點(diǎn)向每個(gè)節(jié)點(diǎn)分別發(fā)出重構(gòu)通知,各節(jié)點(diǎn)收到重構(gòu)消息后,將狀態(tài)變量切換為Chord網(wǎng)絡(luò)狀態(tài),通過超級(jí)節(jié)點(diǎn)下載其他節(jié)點(diǎn)的地址信息,構(gòu)造指針表,形成Chord網(wǎng)絡(luò)的分組。22.權(quán)利要求15、16或者17的方法,其中,當(dāng)有超級(jí)節(jié)點(diǎn)失效后,在第二級(jí)網(wǎng)絡(luò)中更新超級(jí)節(jié)點(diǎn);對(duì)于(Gnutella網(wǎng)絡(luò),通過在網(wǎng)絡(luò)中洪泛地址替換消息更新每個(gè)節(jié)點(diǎn)中的地址向量;對(duì)于^^01~(1網(wǎng)絡(luò),由超級(jí)節(jié)點(diǎn)向網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)分別發(fā)送地址替換消息;對(duì)于Chord分組,通過在Chord環(huán)上順序傳遞地址替換消息更新環(huán)上每個(gè)節(jié)點(diǎn)的地址向量。全文摘要本發(fā)明提供一種物聯(lián)網(wǎng)中的層次式Chord分組網(wǎng)絡(luò)及其組織方法,包括構(gòu)造兩級(jí)網(wǎng)絡(luò),將第一級(jí)網(wǎng)絡(luò)構(gòu)造為Chord網(wǎng)絡(luò),該第一級(jí)網(wǎng)絡(luò)是基于分布式散列表由各個(gè)分組的超級(jí)節(jié)點(diǎn)組構(gòu)成的網(wǎng)絡(luò);將第二級(jí)網(wǎng)絡(luò)構(gòu)造為由各個(gè)分組單獨(dú)構(gòu)成的子網(wǎng)絡(luò),每個(gè)分組負(fù)責(zé)一個(gè)組織的對(duì)象名字服務(wù),第一級(jí)和第二級(jí)網(wǎng)絡(luò)通過各分組的超級(jí)節(jié)點(diǎn)組相關(guān)聯(lián)。本發(fā)明提供了一種靈活的規(guī)模可擴(kuò)展的分組網(wǎng)絡(luò)組織方法,更加適應(yīng)于分組的底層實(shí)際網(wǎng)絡(luò),提高了分組中名字查詢效率。文檔編號(hào)H04W84/18GK102378409SQ201010265950公開日2012年3月14日申請(qǐng)日期2010年8月26日優(yōu)先權(quán)日2010年8月26日發(fā)明者于海寧,何力,劉文懋,周斌,方濱興,樊華,殷麗華,譚霜,賈焰,陳娟,韓偉紅申請(qǐng)人:中國(guó)人民解放軍國(guó)防科學(xué)技術(shù)大學(xué),北京合天智匯信息技術(shù)有限公司,北京哈工大計(jì)算機(jī)網(wǎng)絡(luò)與信息安全技術(shù)研究中心