專利名稱:一種無(wú)結(jié)構(gòu)p2p網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)等網(wǎng)絡(luò)(Peer-to-Peer,P2P)技術(shù)領(lǐng)域,尤其涉及一種無(wú)結(jié)構(gòu)P2P網(wǎng) 絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法。
背景技術(shù):
P2P技術(shù)已經(jīng)被證實(shí)是能夠?qū)嵤┓植际綉?yīng)用的一種有效方式,而部署在hternet 上的最主要的P2P應(yīng)用還是P2P文件共享系統(tǒng),它提供了一種大規(guī)模異構(gòu)環(huán)境下資源共享 的有效途徑,只要用戶給出所需資源的關(guān)鍵字描述,P2P系統(tǒng)就能返回一組符合用戶需求的 資源列表。因此,P2P系統(tǒng)中資源搜索的效率直接決定著系統(tǒng)的可用性,而資源搜索是要以 一定的覆蓋網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為前提的,好的覆蓋網(wǎng)絡(luò)拓?fù)淠軌驕p少查詢中冗余消息的數(shù)量直 接影響網(wǎng)絡(luò)的通信負(fù)載,對(duì)P2P系統(tǒng)的性能起著決定性的影響。因此,P2P系統(tǒng)的一個(gè)最核 心的問(wèn)題就是如何構(gòu)建覆蓋網(wǎng)絡(luò)拓?fù)涫蛊淠芸焖俚仨憫?yīng)用戶的資源請(qǐng)求,同時(shí)降低網(wǎng)絡(luò)帶 寬消耗,保證系統(tǒng)可擴(kuò)展性。
構(gòu)建覆蓋網(wǎng)絡(luò)拓?fù)涞谋举|(zhì)是讓網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)分別存儲(chǔ)網(wǎng)絡(luò)中部分節(jié)點(diǎn)的信 息,通過(guò)節(jié)點(diǎn)間的合作轉(zhuǎn)發(fā)在覆蓋網(wǎng)中實(shí)現(xiàn)路由,從而能夠?yàn)樨S富多樣的P2P應(yīng)用提供支 持。因此,覆蓋網(wǎng)絡(luò)的構(gòu)建效率對(duì)整個(gè)P2P系統(tǒng)的運(yùn)作有著重大影響。當(dāng)前P2P網(wǎng)絡(luò)根據(jù)其 覆蓋拓?fù)浣Y(jié)構(gòu)的不同主要分為集中式P2P網(wǎng)絡(luò)、無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)、有結(jié)構(gòu)P2P網(wǎng)絡(luò)三種。由 于基于DHT的有結(jié)構(gòu)P2P系統(tǒng)只能支持精確的對(duì)象鍵值搜索,缺乏模糊搜索能力并且維護(hù) 開(kāi)銷過(guò)大,而無(wú)結(jié)構(gòu)P2P系統(tǒng)具有容錯(cuò)性好,能夠支持復(fù)雜查詢、靈活等更優(yōu)的特性使得這 類系統(tǒng)得到了廣泛的應(yīng)用。無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)中節(jié)點(diǎn)之間采用隨機(jī)圖的方式進(jìn)行組織,每個(gè) 節(jié)點(diǎn)隨機(jī)接入網(wǎng)絡(luò),并與自己的鄰居節(jié)點(diǎn)通過(guò)端到端連接構(gòu)成一個(gè)邏輯覆蓋網(wǎng)絡(luò),查詢消 息在結(jié)點(diǎn)之間轉(zhuǎn)發(fā)實(shí)現(xiàn)匹配檢索。但是無(wú)結(jié)構(gòu)網(wǎng)絡(luò)中結(jié)點(diǎn)之間的邏輯拓?fù)潢P(guān)系較為松散, 結(jié)點(diǎn)之間隨意互聯(lián)組織成覆蓋網(wǎng)絡(luò),節(jié)點(diǎn)的發(fā)現(xiàn)依賴于洪泛式的PING,P0NG,這就給目標(biāo)發(fā) 現(xiàn)帶來(lái)了相當(dāng)?shù)碾y度,資源搜索過(guò)程中消息的路由存在很大的盲目性,產(chǎn)生了大量低效冗 余請(qǐng)求,嚴(yán)重限制了無(wú)結(jié)構(gòu)化系統(tǒng)的伸縮性和可擴(kuò)展性。為此需要對(duì)覆蓋網(wǎng)絡(luò)的構(gòu)建進(jìn)行 優(yōu)化,以提高搜索效率并減少網(wǎng)絡(luò)的開(kāi)銷。
目前針對(duì)無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的拓?fù)鋬?yōu)化技術(shù)主要分為三類(1)基于拓?fù)涮匦缘母?蓋網(wǎng)絡(luò)優(yōu)化;( 基于底層網(wǎng)絡(luò)信息的覆蓋網(wǎng)絡(luò)優(yōu)化;C3)基于被請(qǐng)求內(nèi)容的覆蓋網(wǎng)絡(luò)優(yōu) 化。基于拓?fù)涮匦缘母采w網(wǎng)絡(luò)優(yōu)化技術(shù)是在覆蓋網(wǎng)絡(luò)中維護(hù)某種特殊的拓?fù)浣Y(jié)構(gòu),利用該 拓?fù)湫再|(zhì)來(lái)達(dá)到提升資源搜索的效率。Brian F. Cooper提出優(yōu)化無(wú)結(jié)構(gòu)P2P拓?fù)錇槠椒礁?拓?fù)渚褪腔谕負(fù)涮匦詢?yōu)化的一種思想,它以降低搜索路徑為目標(biāo),提出平方根規(guī)律的結(jié) 點(diǎn)度分布優(yōu)化策略,使每個(gè)節(jié)點(diǎn)的度和其共享文件的流行性系數(shù)的平方根成比例,但它做 了很強(qiáng)的假設(shè),一方面假設(shè)路徑長(zhǎng)度沒(méi)有TTL限制,另一方面假設(shè)每個(gè)數(shù)據(jù)對(duì)象在系統(tǒng)中 只有一個(gè)副本,這是不太現(xiàn)實(shí)的。這一類基于拓?fù)涮匦缘母采w網(wǎng)絡(luò)優(yōu)化方法都是通過(guò)加強(qiáng) 覆蓋拓?fù)湫再|(zhì)來(lái)提高資源搜索的效率。但是這類方法也不可避免地具有與結(jié)構(gòu)化P2P系統(tǒng) 類似的缺點(diǎn)1)在覆蓋網(wǎng)絡(luò)中維護(hù)特定的拓?fù)浣Y(jié)構(gòu)必然要付出相應(yīng)的代價(jià);2)面對(duì)動(dòng)態(tài)的P2P環(huán)境,要想維持覆蓋網(wǎng)絡(luò)的拓?fù)湫再|(zhì)同樣需要付出相應(yīng)的代價(jià),在節(jié)點(diǎn)頻繁離開(kāi)/加入 的情況下必須保持系統(tǒng)的連通性。另一類關(guān)于底層網(wǎng)絡(luò)信息的拓?fù)鋬?yōu)化是針對(duì)覆蓋網(wǎng)絡(luò)中 節(jié)點(diǎn)間的協(xié)作忽略底層真實(shí)的物理網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)而提出的。
拓?fù)洳黄ヅ?Topology Mismatching)問(wèn)題給底層基礎(chǔ)設(shè)施帶來(lái)很大的負(fù)擔(dān),它 的高效解決可以使非結(jié)構(gòu)化P2P系統(tǒng)更合理地使用底層的基礎(chǔ)設(shè)施,增強(qiáng)系統(tǒng)的伸縮性。 AOTO(參見(jiàn)文獻(xiàn)1)就是針對(duì)拓?fù)洳黄ヅ鋯?wèn)題提出的來(lái)動(dòng)態(tài)優(yōu)化邏輯拓?fù)湟赃_(dá)到提高資源 搜索的綜合性能。AOTO包含兩步(1)有選擇性的洪泛。每個(gè)節(jié)點(diǎn)和它的直接鄰居間建立 一個(gè)基于最小生成樹(shù)的覆蓋多播樹(shù),路由消息在樹(shù)上傳播可以大大減少通信開(kāi)銷并不縮小 搜索范圍。( 主動(dòng)拓?fù)洹C恳粋€(gè)節(jié)點(diǎn)獨(dú)立的優(yōu)化覆蓋多播樹(shù),通過(guò)不斷的替代位置較遠(yuǎn)的 間接鄰居作為其直接的邏輯鄰居來(lái)減輕網(wǎng)絡(luò)不匹配問(wèn)題。這一類覆蓋網(wǎng)絡(luò)優(yōu)化方法的基礎(chǔ) 都是通過(guò)網(wǎng)絡(luò)中節(jié)點(diǎn)間的通信延遲來(lái)衡量節(jié)點(diǎn)間位置,不斷的剔除中長(zhǎng)距離低效的連接并 添加近距離的高效連接來(lái)實(shí)現(xiàn)覆蓋拓?fù)涞膬?yōu)化,因此節(jié)點(diǎn)間通信延遲的獲取是一個(gè)關(guān)鍵問(wèn) 題。特別是在網(wǎng)絡(luò)動(dòng)態(tài)變化的時(shí)候,很難在延遲信息的及時(shí)性和獲取代價(jià)所需開(kāi)銷之間作 出很好的平衡。并且,這一類方法操作很復(fù)雜,在實(shí)際使用中需要一個(gè)比較長(zhǎng)的準(zhǔn)備時(shí)間才 能實(shí)現(xiàn)對(duì)覆蓋網(wǎng)絡(luò)進(jìn)行優(yōu)化。基于被請(qǐng)求內(nèi)容的優(yōu)化這一類技術(shù)提出的基礎(chǔ)是來(lái)自P2P文 件共享系統(tǒng)中資源的分布,節(jié)點(diǎn)的請(qǐng)求內(nèi)容都具有某種客觀規(guī)律,而不是完全隨機(jī)的,這些 在現(xiàn)有的覆蓋網(wǎng)絡(luò)構(gòu)建策略中往往被忽略,導(dǎo)致系統(tǒng)中存在大量盲目、低效的請(qǐng)求。因此, 我們可以對(duì)覆蓋網(wǎng)絡(luò)進(jìn)行優(yōu)化,利用系統(tǒng)中被請(qǐng)求內(nèi)容的客觀規(guī)律,為更高效的目標(biāo)搜索 提供充分的支持?,F(xiàn)有的方法主要是將節(jié)點(diǎn)按照請(qǐng)求內(nèi)容的相關(guān)性進(jìn)行分簇,使相同興趣 的節(jié)點(diǎn)都在同一個(gè)簇中。由于節(jié)點(diǎn)的興趣隨時(shí)會(huì)發(fā)生改變,而且一個(gè)節(jié)點(diǎn)可能會(huì)有多種興 趣,使得分簇的實(shí)際效果并不是很明顯。
文獻(xiàn) 1 -adaptive overlay topology optimization in unstructured P2P systems. Global Telecommunications Conference,2003. GL0BEC0M' 03. IEEE.發(fā)明內(nèi)容
針對(duì)上述存在的技術(shù)問(wèn)題,本發(fā)明的目的是提供一種無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣 的自適應(yīng)拓?fù)鋬?yōu)化方法,該方法在搜索過(guò)程中根據(jù)節(jié)點(diǎn)共享內(nèi)容的興趣相似性動(dòng)態(tài)調(diào)整節(jié) 點(diǎn)之間的連接,添加興趣相近的節(jié)點(diǎn)作為其直接鄰居而斷掉興趣差異較大的邏輯連接,引 導(dǎo)查詢快速的發(fā)現(xiàn)目標(biāo)資源,不僅可以提高搜索成功率,而且網(wǎng)絡(luò)消耗較小,顯著提高資源 搜索的性能。
為達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案
①緩存表的更新步驟,該步驟中每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)緩存表,緩存表中存放的是從 該節(jié)點(diǎn)發(fā)起查詢的命中節(jié)點(diǎn)的信息,包含節(jié)點(diǎn)ID、共享的文件信息和權(quán)重,節(jié)點(diǎn)的權(quán)重與節(jié) 點(diǎn)的命中次數(shù)有關(guān),動(dòng)態(tài)反應(yīng)該節(jié)點(diǎn)相對(duì)于查詢發(fā)起節(jié)點(diǎn)在當(dāng)前周期的重要性;
②相似度的計(jì)算步驟,該步驟中每個(gè)節(jié)點(diǎn)都定義自己的興趣向量,通過(guò)向量運(yùn)算 獲得節(jié)點(diǎn)之間的興趣相似度;
③添加連接步驟,該步驟將興趣相似度大的節(jié)點(diǎn)添加到自己的鄰居列表中;
④替換連接步驟,該步驟將興趣相似度較小的節(jié)點(diǎn)從自己的鄰居中替換掉。
所述步驟①中節(jié)點(diǎn)緩存表?xiàng)l目中的權(quán)重字段是一個(gè)(0,1)之間的數(shù)字,權(quán)重越大的節(jié)點(diǎn)命中的幾率越大,越可能與其建立直接連接,節(jié)點(diǎn)權(quán)重計(jì)算表達(dá)式為
權(quán)利要求
1.一種無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其特征在于,包括以下步驟①緩存表的更新步驟,該步驟中每個(gè)節(jié)點(diǎn)維護(hù)一個(gè)緩存表,緩存表中存放的是從該節(jié) 點(diǎn)發(fā)起查詢的命中節(jié)點(diǎn)的信息,包含節(jié)點(diǎn)ID、共享的文件信息和權(quán)重,節(jié)點(diǎn)的權(quán)重與節(jié)點(diǎn)的 命中次數(shù)有關(guān),動(dòng)態(tài)反應(yīng)該節(jié)點(diǎn)相對(duì)于查詢發(fā)起節(jié)點(diǎn)在當(dāng)前周期的重要性;②相似度的計(jì)算步驟,該步驟中每個(gè)節(jié)點(diǎn)都定義自己的興趣向量,通過(guò)向量運(yùn)算獲得 節(jié)點(diǎn)之間的興趣相似度;③添加連接步驟,該步驟將興趣相似度大的節(jié)點(diǎn)添加到自己的鄰居列表中;④替換連接步驟,該步驟將興趣相似度較小的節(jié)點(diǎn)從自己的鄰居中替換掉。
2.根據(jù)權(quán)利要求1所述的無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其特征 在于所述步驟①中節(jié)點(diǎn)緩存表?xiàng)l目中的權(quán)重字段是一個(gè)(0,1)之間的數(shù)字,權(quán)重越大的節(jié) 點(diǎn)命中的幾率越大,越可能與其建立直接連接,節(jié)點(diǎn)權(quán)重計(jì)算表達(dá)式為
3.根據(jù)權(quán)利要求1或2所述的無(wú)結(jié)構(gòu)Ρ2Ρ網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其 特征在于所述步驟②中假設(shè)系統(tǒng)中節(jié)點(diǎn)共享的文件根據(jù)語(yǔ)義劃分為本體集T= IT1, T2, L TJ, 對(duì)于任何一個(gè)節(jié)點(diǎn)u e V,節(jié)點(diǎn)u的興趣定義為Iu = Kt1, Wa,!>, <t2,waj2>, IXti, WaaM,其 中t代表語(yǔ)義類別,t e T,w代表該語(yǔ)義類別的權(quán)重,w e (0,1);假定節(jié)點(diǎn)u的興趣向量為Kt1, Wu^Xt2Wiu2X IXti^uaM,節(jié)點(diǎn)ν的興趣向量為Kt1,wva>, <t2,Wv,2>, L<tj, Wv, j>},則節(jié)點(diǎn)U和V的興趣相似度計(jì)算為
4.根據(jù)權(quán)利要求1或2所述的無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其 特征在于所述步驟③中,如果節(jié)點(diǎn)當(dāng)前連接未超過(guò)其最大連接上限,則節(jié)點(diǎn)從緩存表中選取權(quán) 值超過(guò)閾值Wjhreshold的最大非鄰居節(jié)點(diǎn)直接建立連接。
5.根據(jù)權(quán)利要求1-3中任一項(xiàng)所述的無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方 法,其特征在于所述步驟④中,當(dāng)節(jié)點(diǎn)的鄰居總數(shù)達(dá)到其最大連接上限,節(jié)點(diǎn)添加新連接時(shí)需替換掉 一條舊的連接,假定在節(jié)點(diǎn)u的緩存表中選擇待建立連接的節(jié)點(diǎn)為1\,而選擇待刪除的鄰居節(jié)點(diǎn)為V,只要滿足SatAll (u,Pk, v) > SatAll (u, ν, Pk)則Pk可以替換ν,其中SatAlKu, Pk, ν)為節(jié)點(diǎn)Pk的全局滿意度,SatAll (u,ν, Pk)為 節(jié)點(diǎn)ν的全局滿意度。
6.一種無(wú)結(jié)構(gòu)Ρ2Ρ網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其特征在于,包括以下步驟①假定當(dāng)前節(jié)點(diǎn)為u,從u的緩存表中選取權(quán)值超過(guò)閾值Wjhreshold的最大非鄰居節(jié) 點(diǎn)k,所述^Threshold是系統(tǒng)配置的參數(shù);②如果節(jié)點(diǎn)u沒(méi)有達(dá)到其最大連接數(shù),則插入節(jié)點(diǎn)k到鄰居列表中將k作為直接鄰居, 否則,轉(zhuǎn)步驟③;③從鄰居列表中選擇相似度小于閾值Njhreshold的權(quán)值相似度最小的節(jié)點(diǎn)假定為ν ;④計(jì)算節(jié)點(diǎn)k的全局滿意度MtAll(u,k,ν);⑤計(jì)算節(jié)點(diǎn)ν的全局滿意度SatAll(u, ν, k);⑥比較節(jié)點(diǎn)k的全局收益是否大于節(jié)點(diǎn)ν的全局收益,如果滿足則將節(jié)點(diǎn)u的鄰居ν 替換為k。否則,轉(zhuǎn)步驟⑦;⑦從u的鄰居中選取相似度次小的節(jié)點(diǎn)v,轉(zhuǎn)步驟④。
7.根據(jù)權(quán)利要求6所述的無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其特征 在于所述步驟①中,每個(gè)節(jié)點(diǎn)都有一個(gè)緩存表存放由該節(jié)點(diǎn)發(fā)起的查詢而命中的節(jié)點(diǎn)信 息,包含節(jié)點(diǎn)的ID,節(jié)點(diǎn)所負(fù)載的文件信息和節(jié)點(diǎn)的權(quán)重值。
8.根據(jù)權(quán)利要求6或7所述的無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其 特征在于所述步驟②中,每個(gè)節(jié)點(diǎn)都有一個(gè)鄰居列表,記錄自己的直接鄰居信息,節(jié)點(diǎn)所能承受 的最大連接的數(shù)目L可以計(jì)算為L(zhǎng)丄W其中C為節(jié)點(diǎn)的容量,W為建立一條連接所需的平均帶寬。
9.根據(jù)權(quán)利要求6或7所述的無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法,其 特征在于所述步驟⑥中,一旦找到一個(gè)節(jié)點(diǎn)ν的全局收益小于步驟①中選出的節(jié)點(diǎn)k的全局收 益,則不需要再在鄰居列表中找相似度次小的鄰居節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求6-9中任一項(xiàng)所述的無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化 方法,其特征在于所述步驟④和步驟⑤中的全局滿意度計(jì)算公式為 SatAllju,Pk,ν) = SatLocal(u,Pk)^SatLocal(Pk,v)定義節(jié)點(diǎn)的局部滿意度,假定節(jié)點(diǎn)u的緩存表中有節(jié)點(diǎn)Pk,則節(jié)點(diǎn)Pk相對(duì)于節(jié)點(diǎn)u的 局部滿意度為SatLocal (u, Pk) = β SimIn (u, Pk) + (1- β ) Cff1 (u, Pk)其中β是參數(shù),并且O < β < 1,其中
全文摘要
本發(fā)明涉及對(duì)等網(wǎng)絡(luò)(Peer-to-Peer,P2P)技術(shù)領(lǐng)域,尤其涉及一種無(wú)結(jié)構(gòu)P2P網(wǎng)絡(luò)的基于興趣的自適應(yīng)拓?fù)鋬?yōu)化方法。本發(fā)明在搜索過(guò)程中根據(jù)節(jié)點(diǎn)共享內(nèi)容的興趣相似性動(dòng)態(tài)調(diào)整節(jié)點(diǎn)之間的連接,添加興趣相近的節(jié)點(diǎn)作為其直接鄰居而斷掉興趣差異較大的邏輯連接,引導(dǎo)查詢快速的發(fā)現(xiàn)目標(biāo)資源,包括緩存表的更新、相似度的計(jì)算、添加連接、替換連接。本發(fā)明解決了搜索過(guò)程中開(kāi)銷過(guò)大和搜索效率低下的問(wèn)題,能根據(jù)節(jié)點(diǎn)的即時(shí)興趣,自適應(yīng)的添加興趣相似的節(jié)點(diǎn)作為直接鄰居并刪除興趣差異較大的鄰居,能顯著提高搜索效率并節(jié)省網(wǎng)絡(luò)開(kāi)銷。
文檔編號(hào)H04L12/24GK102045392SQ201010586660
公開(kāi)日2011年5月4日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2010年12月14日
發(fā)明者朱永瓊, 楊紅云, 胡瑞敏, 譚小瓊, 陳鐃 申請(qǐng)人:武漢大學(xué)