陶 洋,王成宇,潘蕾娜,楊 柳,王 進(jìn)
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
在移動(dòng)對(duì)等(mobile peer-to-peer,MP2P)網(wǎng)絡(luò)中,節(jié)點(diǎn)間可以進(jìn)行自由交易,并且節(jié)點(diǎn)經(jīng)常連接并離開網(wǎng)絡(luò),這將動(dòng)態(tài)地改變網(wǎng)絡(luò)拓?fù)?。因此,在選取超級(jí)節(jié)點(diǎn)時(shí),必須要考慮到超級(jí)節(jié)點(diǎn)的可靠性和穩(wěn)定性。近年來(lái),MP2P網(wǎng)絡(luò)中的超級(jí)節(jié)點(diǎn)選取策略也是受到了研究人員的廣泛關(guān)注。
賈美娟等[1]提出一種根據(jù)節(jié)點(diǎn)興趣相似度進(jìn)行動(dòng)態(tài)分組的超級(jí)節(jié)點(diǎn)選取機(jī)制,引入了中繼節(jié)點(diǎn)用于組與組間的信息交換,根據(jù)節(jié)點(diǎn)的資源類型進(jìn)行分組。郭良敏等[2]提出了一種將物理位置相近的節(jié)點(diǎn)分在一個(gè)簇中,使同組中的節(jié)點(diǎn)在物理位置上相近,降低普通節(jié)點(diǎn)與超級(jí)節(jié)點(diǎn)間的信息檢索延遲。朱廣輝等[2]提出了一種根據(jù)信息相關(guān)度進(jìn)行節(jié)點(diǎn)分組的超級(jí)節(jié)點(diǎn)選取機(jī)制。Saghiri A M等[3]提出了一種考慮節(jié)點(diǎn)的容量的對(duì)等關(guān)系進(jìn)行超級(jí)對(duì)等點(diǎn)選擇的算法,通過(guò)節(jié)點(diǎn)的數(shù)量和節(jié)點(diǎn)的容量率方面提升網(wǎng)絡(luò)的動(dòng)態(tài)性。文獻(xiàn)[4-6]主要從網(wǎng)絡(luò)拓?fù)浞矫娉霭l(fā),將節(jié)點(diǎn)進(jìn)行分層,分區(qū)處理,從而進(jìn)行超級(jí)節(jié)點(diǎn)的選取,但是主要研究點(diǎn)集中在單個(gè)超級(jí)節(jié)點(diǎn)的選取,以及若干個(gè)備選節(jié)點(diǎn)的選取工作。文獻(xiàn)[7,8]主要從節(jié)點(diǎn)的物理位置、IP地址作為分組分簇依據(jù),將網(wǎng)絡(luò)拓?fù)渲邢嘟^近的節(jié)點(diǎn)分為一組,從而減少組間節(jié)點(diǎn)交易的傳輸距離,降低信息傳輸時(shí)延。
研究發(fā)現(xiàn),大多數(shù)文獻(xiàn)主要考慮了單一因素對(duì)網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行分組,并且在選取組內(nèi)超級(jí)節(jié)點(diǎn)時(shí)都只考慮了單一或者固定節(jié)點(diǎn)數(shù)的超級(jí)節(jié)點(diǎn)[9,10],但是沒有考慮到根據(jù)群組的規(guī)模大小進(jìn)行動(dòng)態(tài)的超級(jí)節(jié)點(diǎn)群組的選取。因此,本文提出一種基于動(dòng)態(tài)分組的超級(jí)節(jié)點(diǎn)選取機(jī)制(dynamic grouping-based super node selection mechanism,DGSM)。該機(jī)制考慮節(jié)點(diǎn)的興趣向量相似性和物理拓?fù)渲泄?jié)點(diǎn)間的距離兩個(gè)因素進(jìn)行節(jié)點(diǎn)的動(dòng)態(tài)分組,然后根據(jù)閾值過(guò)濾算法和節(jié)點(diǎn)綜合能力計(jì)算選出每組的超級(jí)節(jié)點(diǎn)群組和備選超級(jí)節(jié)點(diǎn)集合,根據(jù)每組的超級(jí)節(jié)點(diǎn)負(fù)載情況動(dòng)態(tài)更新該組的超級(jí)節(jié)點(diǎn)群組。實(shí)驗(yàn)結(jié)果表明,通過(guò)該機(jī)制選出的超級(jí)節(jié)點(diǎn)在一定程度下,提供了較低的信息檢索延遲,更少的網(wǎng)絡(luò)資源定位消耗和更大的網(wǎng)絡(luò)資源定位成功率。
在每一組中,我們?yōu)楣?jié)點(diǎn)定義3個(gè)角色:超級(jí)節(jié)點(diǎn)、普通節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn)。
超級(jí)節(jié)點(diǎn)(super node,SN):維護(hù)了一個(gè)信任表和一個(gè)組中所有節(jié)點(diǎn)的文件列表的節(jié)點(diǎn)。信任表記錄組中所有節(jié)點(diǎn)的信任信息。當(dāng)節(jié)點(diǎn)請(qǐng)求一些文件時(shí),它將請(qǐng)求發(fā)送給超級(jí)節(jié)點(diǎn)。超級(jí)節(jié)點(diǎn)根據(jù)該節(jié)點(diǎn)的請(qǐng)求,首先在本組中查找是否有符合的資源。如果該資源存在,且擁有資源的節(jié)點(diǎn)的信任度較高,則超級(jí)節(jié)點(diǎn)告訴請(qǐng)求節(jié)點(diǎn)哪個(gè)組成員節(jié)點(diǎn)擁有所請(qǐng)求的文件。如果本組中無(wú)請(qǐng)求的資源,則超級(jí)節(jié)點(diǎn)將請(qǐng)求信息轉(zhuǎn)發(fā)給本組的中轉(zhuǎn)節(jié)點(diǎn),由中轉(zhuǎn)節(jié)點(diǎn)向其它組轉(zhuǎn)發(fā)該節(jié)點(diǎn)請(qǐng)求。
中轉(zhuǎn)節(jié)點(diǎn)(relay node,RN):主要用來(lái)連接兩個(gè)相鄰的組。來(lái)自不同組的節(jié)點(diǎn)之間的交易信息存儲(chǔ)在中轉(zhuǎn)節(jié)點(diǎn)中。如圖1所示,首先,ON10請(qǐng)求ON11擁有的文件。ON10向該組超級(jí)節(jié)點(diǎn)SN1發(fā)送一個(gè)查詢。如果SN1或該組的其它節(jié)點(diǎn)有被請(qǐng)求的文件,SN1向ON10發(fā)送響應(yīng),該組中某個(gè)節(jié)點(diǎn)擁有ON10 所請(qǐng)求的文件,則ON10就可以與該節(jié)點(diǎn)進(jìn)行交易。如果SN1所在組中沒有ON10所請(qǐng)求的文件,SN1將查詢發(fā)送給該組的中轉(zhuǎn)節(jié)點(diǎn)RN7。RN7將查詢轉(zhuǎn)發(fā)到不同的組的中轉(zhuǎn)節(jié)點(diǎn),RN8和RN9。中轉(zhuǎn)節(jié)點(diǎn)將查詢發(fā)送給組中的超級(jí)節(jié)點(diǎn)。因?yàn)镾N3是ON11所在組的超級(jí)節(jié)點(diǎn),所以它有該組中所有節(jié)點(diǎn)的文件列表。SN3發(fā)現(xiàn)ON11有被請(qǐng)求的文件。P2通過(guò)RN9發(fā)送響應(yīng)給RN7,該組超級(jí)節(jié)點(diǎn)SN1向ON10發(fā)送應(yīng)答響應(yīng),SN3所在組中的ON11具有請(qǐng)求的目標(biāo)文件。
圖1 動(dòng)態(tài)分組示例
普通節(jié)點(diǎn)(ordinary node,ON):ON是群組中一個(gè)不擔(dān)任轉(zhuǎn)發(fā)任務(wù)的普通節(jié)點(diǎn)。它可以請(qǐng)求來(lái)自于其它節(jié)點(diǎn)的資源,也可以將資源分享給其它節(jié)點(diǎn)。在與其它節(jié)點(diǎn)交易完成后,ON會(huì)更新與交易節(jié)點(diǎn)之間的信任值,用于其它節(jié)點(diǎn)與該節(jié)點(diǎn)進(jìn)行交易時(shí)的推薦。交易完成后將信息發(fā)送給該組的超級(jí)節(jié)點(diǎn)。
1.2.1 節(jié)點(diǎn)加入
一個(gè)新節(jié)點(diǎn)加入一個(gè)MP2P網(wǎng)絡(luò),首先為這個(gè)新的節(jié)點(diǎn)設(shè)置初始的信任值,這可以保證其它節(jié)點(diǎn)可以與之進(jìn)行交易。當(dāng)一個(gè)節(jié)點(diǎn)連接到MP2P網(wǎng)絡(luò)時(shí),該節(jié)點(diǎn)與其它節(jié)點(diǎn)之間沒有交互的信息,該節(jié)點(diǎn)與各組的超級(jí)節(jié)點(diǎn)的資源興趣相似度和與各組超級(jí)節(jié)點(diǎn)間的往返距離是可以計(jì)算出來(lái)的。這個(gè)節(jié)點(diǎn)將被添加到興趣與之最相似且距離又相對(duì)較近的組中。如果新節(jié)點(diǎn)與所有的超級(jí)節(jié)點(diǎn)的興趣相似度和往返距離都相差較大,則新節(jié)點(diǎn)自己成為一組,并作為該組的初始超級(jí)節(jié)點(diǎn)。當(dāng)許多節(jié)點(diǎn)加入MP2P網(wǎng)絡(luò)時(shí),節(jié)點(diǎn)之間的信任關(guān)系會(huì)不斷發(fā)生變化。
1.2.2 節(jié)點(diǎn)離開
普通節(jié)點(diǎn)離開網(wǎng)絡(luò)的情況。普通節(jié)點(diǎn)離開網(wǎng)絡(luò)時(shí),會(huì)向同組的其它節(jié)點(diǎn)發(fā)送其離開信息。同一組的其它普通節(jié)點(diǎn)更新鄰居的信息并重新計(jì)算信任值。同時(shí),組中的超級(jí)節(jié)點(diǎn)群組更新其路由信息表和節(jié)點(diǎn)資源列表。
中轉(zhuǎn)節(jié)點(diǎn)離開網(wǎng)絡(luò)的情況。如果中轉(zhuǎn)節(jié)點(diǎn)離開一個(gè)組,它會(huì)向同組的其它節(jié)點(diǎn)廣播其離開的消息。離開的中轉(zhuǎn)節(jié)點(diǎn)將其信息傳遞給同一組中的選出的繼任的中轉(zhuǎn)節(jié)點(diǎn)。新的中轉(zhuǎn)節(jié)點(diǎn)向超級(jí)節(jié)點(diǎn)發(fā)送信息以確認(rèn)擔(dān)當(dāng)繼任中轉(zhuǎn)節(jié)點(diǎn)的角色。超級(jí)節(jié)點(diǎn)在接收來(lái)自新的中轉(zhuǎn)節(jié)點(diǎn)的信息后,向組中的所有節(jié)點(diǎn)成員廣播關(guān)于新的中轉(zhuǎn)節(jié)點(diǎn)的消息。收到消息后,所有節(jié)點(diǎn)成員更新了關(guān)于中轉(zhuǎn)節(jié)點(diǎn)的信息。
超級(jí)節(jié)點(diǎn)離開網(wǎng)絡(luò)的情況。在一個(gè)組中,超級(jí)節(jié)點(diǎn)管理組中所有節(jié)點(diǎn)的信任消息和文件列表。因此,重要的是考慮一個(gè)超級(jí)節(jié)點(diǎn)離開的情況。首先,超級(jí)節(jié)點(diǎn)被要求廣播它的離開消息,然后從備選超級(jí)節(jié)點(diǎn)群組中選擇綜合能力值最高的節(jié)點(diǎn)作為新的超級(jí)節(jié)點(diǎn)。新的超級(jí)節(jié)點(diǎn)接收并存儲(chǔ)離開的超級(jí)節(jié)點(diǎn)傳輸?shù)慕M中節(jié)點(diǎn)的信任消息和文件列表。組中的所有節(jié)點(diǎn)更新關(guān)于新超級(jí)節(jié)點(diǎn)的信息。
備選超級(jí)節(jié)點(diǎn)離開網(wǎng)絡(luò)的情況。備選超級(jí)節(jié)點(diǎn)因?yàn)檫€未擔(dān)任超級(jí)節(jié)點(diǎn)的工作,所以當(dāng)其離開網(wǎng)絡(luò)時(shí),會(huì)像普通節(jié)點(diǎn)離開時(shí)一樣向其鄰居節(jié)點(diǎn)廣播其離開的消息,同一組的其它普通節(jié)點(diǎn)更新鄰居的信息并重新計(jì)算信任值。同時(shí),同組中的超級(jí)節(jié)點(diǎn)群組更新其路由表和文件列表。如果該節(jié)點(diǎn)離開后,組中沒有剩余的備選超級(jí)節(jié)點(diǎn),則觸發(fā)備選超級(jí)節(jié)點(diǎn)更新機(jī)制,動(dòng)態(tài)變更備選超級(jí)節(jié)點(diǎn)能力閾值,選舉出新的備選超級(jí)節(jié)點(diǎn)集合。
2.1.1 初始分組
在MP2P網(wǎng)絡(luò)中,節(jié)點(diǎn)包括資源屬性和能力屬性。本文選擇將節(jié)點(diǎn)的資源屬性作為動(dòng)態(tài)分組的依據(jù)之一,節(jié)點(diǎn)的能力屬性作為超級(jí)節(jié)點(diǎn)選取的依據(jù)。節(jié)點(diǎn)的資源屬性由興趣集來(lái)表示,節(jié)點(diǎn)i的興趣集定義為Ii={a1,a2,a3,…,ak}。 兩節(jié)點(diǎn)之間的興趣相似度計(jì)算如下式
(1)
式中:k代表節(jié)點(diǎn)的興趣集的個(gè)數(shù)。
在初始階段,首先使用K-Means算法[11]隨機(jī)選擇k個(gè)節(jié)點(diǎn)作為初始的超級(jí)節(jié)點(diǎn),在選擇時(shí)盡量考慮選擇距離位置相距較遠(yuǎn)的節(jié)點(diǎn)。然后,通過(guò)k個(gè)初始的超級(jí)節(jié)點(diǎn)建立k個(gè)對(duì)應(yīng)的初始組。對(duì)于新加入的節(jié)點(diǎn),可以通過(guò)式(1)計(jì)算它與k個(gè)初始超級(jí)節(jié)點(diǎn)的興趣相似度。
新加入的節(jié)點(diǎn)通過(guò)向各組的初始超級(jí)節(jié)點(diǎn)發(fā)送探測(cè)消息,計(jì)算其與各組的初始超級(jí)節(jié)點(diǎn)的距離,用RTT來(lái)表示。
通過(guò)式(2)計(jì)算它與k個(gè)初始超級(jí)節(jié)點(diǎn)的綜合考量值。節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的綜合考量值計(jì)算如下式
(2)
式中:α,β分別表示興趣相似度和節(jié)點(diǎn)間RTT的權(quán)重,α+β=1,且滿足0<α<1, 0<β<1。RTTmax為網(wǎng)絡(luò)中兩節(jié)點(diǎn)間最大的往返距離值,RTTi,j為節(jié)點(diǎn)i和節(jié)點(diǎn)j之間的往返距離值。
選擇新加入節(jié)點(diǎn)和各區(qū)域超級(jí)節(jié)點(diǎn)綜合考量值最大的超級(jí)節(jié)點(diǎn)所在組,并加入該組;通過(guò)重復(fù)這個(gè)過(guò)程,直至所有的節(jié)點(diǎn)都被添加到相應(yīng)的組中。
初始分組完成后,繼續(xù)重復(fù)不斷地計(jì)算各組的超級(jí)節(jié)點(diǎn)并重新分組,直到所有節(jié)點(diǎn)不再改變分組(超級(jí)節(jié)點(diǎn)位置不再改變)。即動(dòng)態(tài)分組完成。
2.1.2 閾值過(guò)濾篩選備選超級(jí)節(jié)點(diǎn)集合
首先對(duì)每組內(nèi)所有節(jié)點(diǎn)進(jìn)行閾值過(guò)濾,定義普通節(jié)點(diǎn)i的能力屬性集合為Capi={Trui,Cali,Stoi,Timi,Bani},分別代表節(jié)點(diǎn)的信任度,計(jì)算能力,存儲(chǔ)能力,平均在線時(shí)間,帶寬等。在MP2P網(wǎng)絡(luò)中對(duì)超級(jí)節(jié)點(diǎn)的能力閾值定義為:Capt={Trut,Calt,Stot,Timt,Bant}。 各項(xiàng)能力均超過(guò)超級(jí)節(jié)點(diǎn)能力需求閾值的進(jìn)入備選超級(jí)節(jié)點(diǎn)集合。其中節(jié)點(diǎn)的平均在線時(shí)間計(jì)算如下式
(3)
式中:TotTi代表節(jié)點(diǎn)的累積在線時(shí)間總長(zhǎng),n代表節(jié)點(diǎn)的上線次數(shù)。
2.1.3 超級(jí)節(jié)點(diǎn)選取策略
通過(guò)備選超級(jí)節(jié)點(diǎn)閾值篩選的備選超級(jí)節(jié)點(diǎn),根據(jù)式(4)對(duì)備選超級(jí)節(jié)點(diǎn)的綜合能力進(jìn)行計(jì)算,從中選擇綜合能力值最大的節(jié)點(diǎn)確定為初始的超級(jí)節(jié)點(diǎn)
PVal=w1PTru+w2PCal+w3PSto+w4PTim+w5PBan
(4)
式中:w1+w2+w3+w4+w5=1,PTru表示節(jié)點(diǎn)的信任度,PCal表示節(jié)點(diǎn)的計(jì)算能力,PSto表示節(jié)點(diǎn)的存儲(chǔ)能力,PTim表示節(jié)點(diǎn)的平均在線時(shí)間,PBan表示節(jié)點(diǎn)的帶寬。其中w1、w2、w3、w4、w5分別為5個(gè)能力因素的權(quán)重,需滿足w1+w2+w3+w4+w5=1。
為防止惡意節(jié)點(diǎn)和臨時(shí)節(jié)點(diǎn)被誤評(píng)為超級(jí)節(jié)點(diǎn),造成網(wǎng)絡(luò)的不穩(wěn)定,因此在選取機(jī)制中賦予w1和w4更大的權(quán)重。由此選出的超級(jí)節(jié)點(diǎn)可靠性較高,形成的網(wǎng)絡(luò)比較穩(wěn)定。
2.1.4 備選超級(jí)節(jié)點(diǎn)選取策略
超級(jí)節(jié)點(diǎn)離開時(shí)首先廣播它的離開消息,然后根據(jù)選擇備選超級(jí)節(jié)點(diǎn)群組中綜合能力最高的備選節(jié)點(diǎn)成為該組新的超級(jí)節(jié)點(diǎn)。一個(gè)新的超級(jí)節(jié)點(diǎn)確認(rèn)后,所有的信任消息和該組的文件列表都被轉(zhuǎn)移到新的超級(jí)節(jié)點(diǎn)上。新的超級(jí)節(jié)點(diǎn)接收原超級(jí)節(jié)點(diǎn)接傳輸?shù)男畔?。新超?jí)節(jié)點(diǎn)信息接收完畢后,原超級(jí)節(jié)點(diǎn)正式退出。該組中的所有節(jié)點(diǎn)更新它們對(duì)新超級(jí)節(jié)點(diǎn)的信息。
選取備選超級(jí)節(jié)點(diǎn)群組中綜合能力最強(qiáng)的備選節(jié)點(diǎn)加入現(xiàn)有超級(jí)節(jié)點(diǎn),成為超級(jí)節(jié)點(diǎn)群組,為剩余負(fù)載能力不足的超級(jí)節(jié)點(diǎn)承擔(dān)一定的負(fù)載請(qǐng)求。超過(guò)超級(jí)節(jié)點(diǎn)負(fù)載閾值后,啟動(dòng)選舉策略,選取備選超級(jí)節(jié)點(diǎn)集合中綜合能力最強(qiáng)的備選節(jié)點(diǎn)加入超級(jí)節(jié)點(diǎn)群組,與原先的若干超級(jí)節(jié)點(diǎn)共同承擔(dān)超級(jí)節(jié)點(diǎn)的工作。備選節(jié)點(diǎn)加入后,原超級(jí)節(jié)點(diǎn)將擁有的本組的信任表和該組中所有節(jié)點(diǎn)的文件列表發(fā)送給該備選節(jié)點(diǎn)。
本文算法的總體步驟如算法1所示。
算法1:動(dòng)態(tài)分組
步驟1 首先確定節(jié)點(diǎn)的資源類型個(gè)數(shù),記為k個(gè),隨機(jī)選取k個(gè)節(jié)點(diǎn)作為初始超級(jí)節(jié)點(diǎn),選取時(shí)盡量選擇物理位置相距較遠(yuǎn)的節(jié)點(diǎn);
步驟2 建立k個(gè)初始組,并將初始超級(jí)節(jié)點(diǎn)加入對(duì)應(yīng)組中;
步驟3 將加入的新節(jié)點(diǎn)根據(jù)式(2)得到與各初始超級(jí)節(jié)點(diǎn)的綜合考量值,選擇綜合考量值最大的超級(jí)節(jié)點(diǎn)所在組,并加入該組;循環(huán)此步驟直到所有節(jié)點(diǎn)全部加入對(duì)應(yīng)組中;
步驟4 所有節(jié)點(diǎn)加入對(duì)應(yīng)組后,根據(jù)算法2提出的組內(nèi)超級(jí)節(jié)點(diǎn)選取算法進(jìn)行組內(nèi)超級(jí)節(jié)點(diǎn)群組與備選超級(jí)節(jié)點(diǎn)集合的選取;
步驟5 如果組內(nèi)的超級(jí)節(jié)點(diǎn)群組與上次超級(jí)節(jié)點(diǎn)選取后的超級(jí)節(jié)點(diǎn)群組相同,則動(dòng)態(tài)分組完成;否則重復(fù)算法2。
超級(jí)節(jié)點(diǎn)群組和備選超級(jí)節(jié)點(diǎn)集合的選取算法如算法2所示。
算法2:超級(jí)節(jié)點(diǎn)群組和備選超級(jí)節(jié)點(diǎn)集合選取
步驟1 對(duì)每組內(nèi)所有節(jié)點(diǎn)進(jìn)行綜合能力的篩選,通過(guò)閾值篩選的節(jié)點(diǎn)進(jìn)入每組的初始備選超級(jí)節(jié)點(diǎn)集合;
步驟2 根據(jù)系統(tǒng)中對(duì)于超級(jí)節(jié)點(diǎn)不同能力的需求,確定各個(gè)能力屬性的權(quán)重因子;
步驟3 根據(jù)式(4)計(jì)算出所有備選超級(jí)節(jié)點(diǎn)的綜合能力值;
步驟4 選擇綜合能力值最大的節(jié)點(diǎn)作為該組的超級(jí)節(jié)點(diǎn),其它節(jié)點(diǎn)則作為備選超級(jí)節(jié)點(diǎn),當(dāng)超級(jí)節(jié)點(diǎn)退出或者被評(píng)定為惡意節(jié)點(diǎn)后,由備選超級(jí)節(jié)點(diǎn)中選擇綜合能力值最大的節(jié)點(diǎn)作為繼任的超級(jí)節(jié)點(diǎn)。
利用Matlab在DGSM、基于興趣動(dòng)態(tài)分組的超級(jí)節(jié)點(diǎn)選取機(jī)制(dynamic grouping trust model,DGTM)、基于區(qū)域劃分的超級(jí)節(jié)點(diǎn)選取機(jī)制(super node selection mechanism,SNSM)和傳統(tǒng)的未分組的SNSM進(jìn)行對(duì)比驗(yàn)證。仿真參數(shù)設(shè)置見表1。
表1 仿真參數(shù)設(shè)置
3.2.1 動(dòng)態(tài)分組后的節(jié)點(diǎn)分布
圖2、圖3分別是動(dòng)態(tài)分組前后的節(jié)點(diǎn)分布情況。會(huì)發(fā)現(xiàn)此種分組下會(huì)有一部分物理位置距離稍遠(yuǎn)但興趣相似的節(jié)點(diǎn)會(huì)分到一組中,這樣的分組方式保證了即使同組內(nèi)相距較遠(yuǎn)的兩節(jié)點(diǎn)進(jìn)行交易時(shí),雖然兩節(jié)點(diǎn)的物理位置相距較遠(yuǎn),但因?yàn)樵谕粋€(gè)分組下,省去了不同組間超級(jí)節(jié)點(diǎn)和中轉(zhuǎn)節(jié)點(diǎn)的信息傳遞和請(qǐng)求轉(zhuǎn)發(fā)的時(shí)間,減少了網(wǎng)絡(luò)中的整體的信息檢索延遲。在網(wǎng)絡(luò)規(guī)模越大的系統(tǒng)中,該種分組方式在網(wǎng)絡(luò)中信息檢索延遲和網(wǎng)絡(luò)資源定位成功率越好。
圖2 動(dòng)態(tài)分組前的節(jié)點(diǎn)分布
圖3 動(dòng)態(tài)分組后的節(jié)點(diǎn)分布
3.2.2 信息檢索延遲比較
在本實(shí)驗(yàn)中,采用類Flooding的算法,檢索延遲是消息在傳播路徑上的延遲總和,根據(jù)傳播路徑上每一跳的節(jié)點(diǎn)間的距離之和來(lái)計(jì)算。
圖4、圖5是節(jié)點(diǎn)數(shù)為200的情況下,節(jié)點(diǎn)請(qǐng)求次數(shù)分別從0到200和0到1000時(shí),DGSM和其它3種超級(jí)節(jié)點(diǎn)選取機(jī)制下網(wǎng)絡(luò)中信息檢索延遲。圖中橫坐標(biāo)代表節(jié)點(diǎn)的請(qǐng)求次數(shù),縱坐標(biāo)代表信息檢索延遲。從圖中可知,DGTM和基于區(qū)域劃分的超級(jí)節(jié)點(diǎn)選取機(jī)制下當(dāng)節(jié)點(diǎn)請(qǐng)求次數(shù)分別到達(dá)550和700時(shí),其信息檢索延遲增長(zhǎng)率會(huì)突然升高,而此時(shí)DGSM下的信息檢索延遲還處在一個(gè)較低的水平。DGSM通過(guò)形成在網(wǎng)絡(luò)物理拓?fù)渲芯嚯x相近的相似興趣節(jié)點(diǎn)進(jìn)行聚類分組,更大程度地使得資源在組內(nèi)共享,減少了由超級(jí)節(jié)點(diǎn)組成的高速轉(zhuǎn)發(fā)層的帶寬損耗,降低了網(wǎng)絡(luò)中信息檢索延遲。
圖4 請(qǐng)求次數(shù)從0到200時(shí)各機(jī)制信息檢索延遲比較
圖5 請(qǐng)求次數(shù)從0到1000時(shí)各機(jī)制信息檢索延遲比較
3.2.3 網(wǎng)絡(luò)資源定位成功率比較
圖6是各機(jī)制下網(wǎng)絡(luò)資源定位成功率的比較,如圖所示,隨著節(jié)點(diǎn)請(qǐng)求次數(shù)的增加,本文提出的機(jī)制在資源定位成功率上一直保持較高的資源定位成功率。相比于其余幾種機(jī)制,資源成功率隨著節(jié)點(diǎn)請(qǐng)求次數(shù)的增加下降數(shù)率明顯較低。且當(dāng)節(jié)點(diǎn)資源請(qǐng)求次數(shù)達(dá)到1000次時(shí),相比于其它3種超級(jí)節(jié)點(diǎn)機(jī)制,本文提出的機(jī)制在資源定位成功率上分別提高了15.4%、20%、157%,驗(yàn)證本文提出的超級(jí)節(jié)點(diǎn)選取機(jī)制可以有效的提高網(wǎng)絡(luò)中資源定位成功率。
圖6 各機(jī)制網(wǎng)絡(luò)資源定位成功率比較
本文提出了一種基于動(dòng)態(tài)分組的超級(jí)節(jié)點(diǎn)選取機(jī)制(DGSM)。通過(guò)綜合仿真結(jié)果表明本算法與其它最新算法相比,經(jīng)過(guò)動(dòng)態(tài)分組的超級(jí)節(jié)點(diǎn)選取機(jī)制可以有效地降低MP2P網(wǎng)絡(luò)的信息檢索延遲,提高網(wǎng)絡(luò)中資源定位成功率,并且具有較好的擴(kuò)展性。因此,本文提出的基于動(dòng)態(tài)分組的超級(jí)節(jié)點(diǎn)選取機(jī)制可有效提升MP2P網(wǎng)絡(luò)的動(dòng)態(tài)適應(yīng)性,降低了網(wǎng)絡(luò)的信息檢索延遲,提高了網(wǎng)絡(luò)資源定位成功率。