專利名稱:一種利用激勵(lì)實(shí)現(xiàn)的p2p網(wǎng)絡(luò)資源搜索方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種利用激勵(lì)機(jī)制的p2p網(wǎng)絡(luò)的資源搜索,特別涉及混合模式結(jié)構(gòu)(Hybrid Structure) p2p網(wǎng)絡(luò)的資源搜索方法。
技術(shù)背景在p2p網(wǎng)絡(luò)的應(yīng)用中, 一個(gè)重要的問題是資源搜索方法的實(shí)現(xiàn)。在實(shí)際p2p網(wǎng)絡(luò)的資源 共享中,由于節(jié)點(diǎn)的自私性,出現(xiàn)了大量的"搭便車"和"公共悲劇"現(xiàn)象,造成了網(wǎng)絡(luò)資 源的濫用。因此迫切需要研究資源搜索技術(shù),使節(jié)點(diǎn)根據(jù)自身的期望,在資源搜索策略的影 響下主觀上愿意參與資源共享。在資源搜索方法方面,己有的工作主要有專利CN1688130A公開了一種利用局部性原理的P2P覆蓋網(wǎng)絡(luò)資源搜索方法。該專利中 節(jié)點(diǎn)利用局部性原理將可能的目標(biāo)節(jié)點(diǎn)的地址和目標(biāo)范圍緩存起來,從而加快原有搜索系統(tǒng) 的搜索時(shí)效性, 一定程度上克服其浪費(fèi)網(wǎng)絡(luò)帶寬的缺陷,且不降低搜索的召回率。專利CN1688131A公開了一種基于局部性原理的P2P網(wǎng)絡(luò)的資源分布表的共享方法。該 發(fā)明認(rèn)為,資源分布表客觀地記錄了 P2P網(wǎng)絡(luò)中的資源分布情況,是節(jié)點(diǎn)不斷搜索過程的經(jīng) 驗(yàn)積累,對于其它節(jié)點(diǎn),特別是新加入節(jié)點(diǎn)來說,這個(gè)資源分布表具有較高的共享價(jià)值。專利CN1688132A和CN1694416A內(nèi)容近似,基于局部性原理,分別提出了資源均勻分布 和正態(tài)分布時(shí)P2P網(wǎng)絡(luò)的動態(tài)資源勘探方法。上述專利發(fā)明介紹了各種p2p網(wǎng)絡(luò)中的資源搜索方法,但都沒有將對節(jié)點(diǎn)主動共享資源 的激勵(lì)和資源的搜索結(jié)合起來,因此不利于提高節(jié)點(diǎn)共享資源的積極性。并且在一般的基于 泛洪的搜索中,對網(wǎng)絡(luò)資源共享貢獻(xiàn)程度不同的節(jié)點(diǎn)都分配到相同的TTL(TimeTo Live)值, 這樣不僅不利于提高節(jié)點(diǎn)共享資源的積極性,而且大量的洪泛査詢信息還會給網(wǎng)絡(luò)造成流量 負(fù)擔(dān)。本專利提出一種資源搜索技術(shù)。它將資源搜索的生命周期與節(jié)點(diǎn)對資源共享的貢獻(xiàn)程度 相結(jié)合,根據(jù)節(jié)點(diǎn)貢獻(xiàn)程度為節(jié)點(diǎn)分配激勵(lì)值,從而通過與之對應(yīng)的TTL值來確定該節(jié)點(diǎn)搜 索資源的范圍。本專利針對混合模式結(jié)構(gòu)p2p網(wǎng)絡(luò)的資源搜索,適用于基于泛洪查詢的各種 結(jié)構(gòu)的p2p網(wǎng)絡(luò),具有良好的通用性。 發(fā)明內(nèi)容本發(fā)明的目的是利用激勵(lì)機(jī)制進(jìn)行資源搜索,從而實(shí)現(xiàn)對節(jié)點(diǎn)共享資源的激勵(lì)和對節(jié)點(diǎn) 消耗網(wǎng)絡(luò)共享資源的限制,同時(shí)也在一定程度上降低p2p網(wǎng)絡(luò)中資源搜索信息的流量。 本發(fā)明利用激勵(lì)機(jī)制的p2p網(wǎng)絡(luò)資源搜索方法,包括節(jié)點(diǎn)激勵(lì)值的產(chǎn)生方法; 本發(fā)明利用激勵(lì)機(jī)制的p2p網(wǎng)絡(luò)資源搜索方法,包括超級節(jié)點(diǎn)處理本地搜索信息; 本發(fā)明利用激勵(lì)機(jī)制的p2p網(wǎng)絡(luò)資源搜索方法,包括超級節(jié)點(diǎn)處理相鄰超級節(jié)點(diǎn)轉(zhuǎn)發(fā)的搜索信息。本發(fā)明為每個(gè)節(jié)點(diǎn)分配一個(gè)激勵(lì)值記錄該節(jié)點(diǎn)提供有效資源的數(shù)量。節(jié)點(diǎn)新加入p2p網(wǎng) 絡(luò)時(shí)將獲得初始激勵(lì)值并存儲在本節(jié)點(diǎn)。在混合結(jié)構(gòu)模式的p2p網(wǎng)絡(luò)中,普通節(jié)點(diǎn)通過超級節(jié)點(diǎn)搜索網(wǎng)絡(luò)中的資源。超級節(jié)點(diǎn)首 先在本地搜索,若搜索到目標(biāo)資源則搜索完成;否則,超級節(jié)點(diǎn)根據(jù)資源下載節(jié)點(diǎn)的激勵(lì)值 為該節(jié)點(diǎn)的搜索信息分配相應(yīng)的TTL值,并將此搜索信息和與之對應(yīng)的TTL值轉(zhuǎn)發(fā)到所有 相鄰的超級節(jié)點(diǎn)。每到達(dá)一個(gè)超級節(jié)點(diǎn)則TTL值減1,直到搜索成功或TLL值為O則搜索失 敗。超級節(jié)點(diǎn)要搜索資源時(shí),首先在本地搜索,若搜索到目標(biāo)資源則搜索完成;否則,將其 TTL置最大值并轉(zhuǎn)發(fā)到所有相鄰的超級節(jié)點(diǎn)進(jìn)行進(jìn)一步資源搜索。在下載資源或上傳資源完成后,普通節(jié)點(diǎn)A將資源的傳送情況和與其進(jìn)行資源傳送的節(jié) 點(diǎn)B的ID發(fā)送到與A連接的超級節(jié)點(diǎn)。如果節(jié)點(diǎn)A和節(jié)點(diǎn)B隸屬于同一超級節(jié)點(diǎn),則該超 級節(jié)點(diǎn)根據(jù)收到的節(jié)點(diǎn)B的資源傳送情況改變節(jié)點(diǎn)B的激勵(lì)值,則在資源搜索時(shí),節(jié)點(diǎn)B的 TTL值也相應(yīng)隨之改變;否則該超級節(jié)點(diǎn)將節(jié)點(diǎn)B的資源傳送情況和節(jié)點(diǎn)ID轉(zhuǎn)發(fā)到與B相 連接的超級節(jié)點(diǎn),與節(jié)點(diǎn)B連接的超級節(jié)點(diǎn)根據(jù)收到的節(jié)點(diǎn)B的資源傳送情況改變節(jié)點(diǎn)B的 激勵(lì)值,則在資源搜索時(shí),節(jié)點(diǎn)B的TTL值也相應(yīng)隨之改變。同理,在下載資源或上傳資源 完成后,節(jié)點(diǎn)B也做類似處理。節(jié)點(diǎn)上傳資源時(shí),節(jié)點(diǎn)的激勵(lì)值增加,相應(yīng)的該節(jié)點(diǎn)進(jìn)行資源搜索時(shí)與之連接的超級節(jié) 點(diǎn)將為其增大TTL值,則其能夠達(dá)到的搜索范圍也隨之增大;節(jié)點(diǎn)下載資源時(shí),節(jié)點(diǎn)的激勵(lì) 值減小,相應(yīng)的該節(jié)點(diǎn)進(jìn)行資源搜索時(shí)與之連接的超級節(jié)點(diǎn)將為其減小TTL值,則其能夠達(dá) 到的搜索范圍也隨之減小。本專利可以有效地遏制"搭便車"和"公共悲劇"現(xiàn)象,激勵(lì)節(jié)點(diǎn)主動共享其資源,并 在一定程度上降低了 p2p網(wǎng)絡(luò)中查詢信息的洪泛流量。
圖l兩個(gè)節(jié)點(diǎn)隸屬于同一個(gè)超級節(jié)點(diǎn)時(shí)激勵(lì)值的更新示意圖; 圖2兩個(gè)節(jié)點(diǎn)隸屬于不同的超級節(jié)點(diǎn)時(shí)激勵(lì)值的更新示意圖; 圖3表示超級節(jié)點(diǎn)處理本地查詢的流程圖;圖4表示超級節(jié)點(diǎn)處理相鄰超級節(jié)點(diǎn)轉(zhuǎn)發(fā)的搜索信息的流程圖。
具體實(shí)施方式
下面結(jié)合附圖對本發(fā)明的技術(shù)方案作詳細(xì)說明。在描述具體實(shí)施步驟之前,首先說明利用激勵(lì)值設(shè)置TTL值的具體方法-禾擁激勵(lì)值分配TTL的具體實(shí)現(xiàn)方法如下設(shè)TTL的取值范圍是1 n(n為大于1的整數(shù))。根據(jù)其上傳資源的情況,節(jié)點(diǎn)的激勵(lì)值每增加m(m為大于1的整數(shù)),對應(yīng)的TTL值加1;同時(shí),根據(jù)起下載資源的情況,節(jié)點(diǎn)的激勵(lì)值每減少m,對應(yīng)的TTL值減1;若節(jié)點(diǎn)的激勵(lì)值達(dá)到mXn時(shí)該節(jié)點(diǎn)便可以成為超級節(jié)點(diǎn)。以后該節(jié)點(diǎn)進(jìn)行搜索時(shí)分配到的TTL值為最大值n。為鼓勵(lì)新節(jié)點(diǎn)的加入,新加入節(jié)點(diǎn)分配的初始激勵(lì)值為1。 激勵(lì)值的產(chǎn)生方法如下系統(tǒng)為每個(gè)節(jié)點(diǎn)分配一個(gè)初始激勵(lì)值。普通節(jié)點(diǎn)請求下載資源時(shí)發(fā)送搜索信息到所連接 的超級節(jié)點(diǎn),超級節(jié)點(diǎn)在本地或通過其它超級節(jié)點(diǎn)搜索資源,如果沒有命中目標(biāo)資源則此次 搜索失敗;否則返回?fù)碛匈Y源的節(jié)點(diǎn)ID,隨后資源下載節(jié)點(diǎn)和資源擁有節(jié)點(diǎn)便建立連接進(jìn)行資源的傳送。這兩個(gè)節(jié)點(diǎn)在網(wǎng)絡(luò)中的連接可分為以下兩種情況兩個(gè)節(jié)點(diǎn)隸屬于同一個(gè)超級節(jié) 點(diǎn)和隸屬于不同的超級節(jié)點(diǎn)。兩個(gè)節(jié)點(diǎn)連接同一個(gè)超級節(jié)點(diǎn)的激勵(lì)值更新的情況如圖1所表示101表示普通節(jié)點(diǎn)B 與普通節(jié)點(diǎn)C建立連接傳送資源,在此B是資源下載節(jié)點(diǎn),C是資源提供節(jié)點(diǎn)。資源傳送完 成之后,隨之發(fā)生事件102、 103。 102表示普通節(jié)點(diǎn)B向超級節(jié)點(diǎn)A發(fā)送傳送資源的大小和 普通節(jié)點(diǎn)C的ID,103表示普通節(jié)點(diǎn)C向超級節(jié)點(diǎn)A發(fā)送傳送資源的大小和普通節(jié)點(diǎn)B的ID。 事件102、 103完成之后,超級節(jié)點(diǎn)A根據(jù)傳送資源大小和節(jié)點(diǎn)的ID信息,對節(jié)點(diǎn)B的激勵(lì) 值減小相應(yīng)的值,對節(jié)點(diǎn)C的激勵(lì)值增加相應(yīng)的值。兩個(gè)節(jié)點(diǎn)連接不同超級節(jié)點(diǎn)的激勵(lì)值更新的情況如圖2所表示201表示普通節(jié)點(diǎn)B與 普通節(jié)點(diǎn)C建立連接傳送資源,在此C是資源下載節(jié)點(diǎn)。在201完成之后,事件202、 203 隨之發(fā)生,202表示普通節(jié)點(diǎn)C向超級節(jié)點(diǎn)A發(fā)送資源大小和普通節(jié)點(diǎn)D的ID,203表示普 通節(jié)點(diǎn)D向超級節(jié)點(diǎn)B發(fā)送資源大小和普通節(jié)點(diǎn)C的ID。其中普通節(jié)點(diǎn)C與超級節(jié)點(diǎn)A相 連接,普通節(jié)點(diǎn)D與超級節(jié)點(diǎn)B相連接。在事件202、 203完成之后,隨之發(fā)生事件204、 205。 204表示超級節(jié)點(diǎn)A向超級節(jié)點(diǎn)B發(fā)送事件202中接收到的信息,205表示超級節(jié)點(diǎn)B向超 級節(jié)點(diǎn)A發(fā)送事件203中接收的信息。事件204、 205完成之后,超級節(jié)點(diǎn)A根據(jù)資源大小 對普通節(jié)點(diǎn)C的激勵(lì)值減小相應(yīng)的值,超級節(jié)點(diǎn)B根據(jù)提供資源的大小對普通節(jié)點(diǎn)D的激勵(lì) 值增加相應(yīng)的值。資源搜索方法的實(shí)現(xiàn)如下圖3顯示了超級節(jié)點(diǎn)處理本地搜索信息的流程步驟301顯示普通節(jié)點(diǎn)向其所連接的超級節(jié)點(diǎn)發(fā)送資源搜索信息,步驟302顯示超級節(jié) 點(diǎn)在本地子網(wǎng)中進(jìn)行資源搜索,具體實(shí)現(xiàn)如下超級節(jié)點(diǎn)將搜索信息發(fā)送到本地的普通節(jié)點(diǎn),這些普通節(jié)點(diǎn)根據(jù)搜索信息在本節(jié)點(diǎn)查詢。 303表示判斷本地搜索是否命中。如果命中則轉(zhuǎn)到步驟309,如果沒有命中則轉(zhuǎn)到步驟 304。歩驟309顯示返回命中節(jié)點(diǎn)的信息。歩驟304顯示了根據(jù)激勵(lì)值生成本次搜索的TTL 值。305表示判斷TTL的值是否大于0,如果大于0則轉(zhuǎn)到306,否則轉(zhuǎn)到307。步驟306顯 示返回搜索失敗的信息。步驟307顯示將TTL及搜索信息發(fā)送給相鄰超級節(jié)點(diǎn),由相鄰超級 節(jié)點(diǎn)進(jìn)行進(jìn)一歩搜索(圖4顯示了其搜索流程)。308表示判斷相鄰超級節(jié)點(diǎn)搜索是否命中, 如果沒有命中則轉(zhuǎn)到步驟306,如果命中則轉(zhuǎn)到歩驟309。本次搜索結(jié)束。 圖4顯示了超級節(jié)點(diǎn)處理相鄰超級節(jié)點(diǎn)轉(zhuǎn)發(fā)的搜索信息的流程 步驟401顯示了超級節(jié)點(diǎn)A接收相鄰超級節(jié)點(diǎn)轉(zhuǎn)發(fā)的資源搜索信息及TTL值; 步驟402顯示了超級節(jié)點(diǎn)A在本地子網(wǎng)進(jìn)行資源搜索。步驟403判斷本地搜索是否命中, 如果搜索命中則轉(zhuǎn)到步驟409,否則轉(zhuǎn)到步驟404。步驟409顯示了返回命中節(jié)點(diǎn)的信息。步 驟404顯示了將TTL進(jìn)行減1的操作。步驟405判斷TTL的值是否大于0,如杲不大于0則轉(zhuǎn)到步驟406,否則轉(zhuǎn)到步驟407。步驟406顯示了返回未命中的信息。步驟407顯示了將 TTL的值及搜索信息轉(zhuǎn)發(fā)到相鄰的超級節(jié)點(diǎn),由相鄰超級節(jié)點(diǎn)進(jìn)行進(jìn)一步搜索。步驟408判 斷歩驟407中的搜索是否命中,如果沒有命中則轉(zhuǎn)到步驟406,否則轉(zhuǎn)到步驟409。搜索結(jié)束。
權(quán)利要求
1. 一種利用激勵(lì)實(shí)現(xiàn)的p2p網(wǎng)絡(luò)資源搜索方法,其特征在于,在混合結(jié)構(gòu)模式的p2p網(wǎng)絡(luò)中,普通節(jié)點(diǎn)通過超級節(jié)點(diǎn)搜索網(wǎng)絡(luò)資源,超級節(jié)點(diǎn)通過本地和相鄰的超級節(jié)點(diǎn)搜索網(wǎng)絡(luò)資源,資源搜索的范圍由節(jié)點(diǎn)搜索的TTL值決定。
全文摘要
本發(fā)明涉及一種利用激勵(lì)機(jī)制的p2p網(wǎng)絡(luò)的資源搜索,其特征在于,在混合結(jié)構(gòu)模式的p2p網(wǎng)絡(luò)中,普通節(jié)點(diǎn)通過超級節(jié)點(diǎn)搜索網(wǎng)絡(luò)資源,超級節(jié)點(diǎn)通過本地和相鄰的超級節(jié)點(diǎn)搜索網(wǎng)絡(luò)資源,資源搜索的范圍由節(jié)點(diǎn)搜索的TTL值決定。普通節(jié)點(diǎn)在本地搜索未命中時(shí),由超級節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)的激勵(lì)值生成此次搜索的TTL值,然后將搜索信息和TTL值發(fā)送到相鄰超級節(jié)點(diǎn)由相鄰某一超級節(jié)點(diǎn)搜索,直到TTL值減為0或搜索命中;超級節(jié)點(diǎn)接受到其他超級節(jié)點(diǎn)發(fā)送來的搜索要求后,先在本地搜索,若搜索未命中則將TTL值減1并將之發(fā)送給自己相鄰的某一超級節(jié)點(diǎn),命中則返回命中消息。此方法將資源搜索的生命周期與節(jié)點(diǎn)對資源共享的貢獻(xiàn)程度相結(jié)合,根據(jù)節(jié)點(diǎn)貢獻(xiàn)程度為節(jié)點(diǎn)分配激勵(lì)值,從而通過與之對應(yīng)的TTL值來確定該節(jié)點(diǎn)搜索資源的范圍。此方法針對混合模式結(jié)構(gòu)p2p網(wǎng)絡(luò)的資源搜索,適用于基于泛洪查詢的各種結(jié)構(gòu)的p2p網(wǎng)絡(luò),具有良好的通用性。
文檔編號H04L12/56GK101262362SQ20071004859
公開日2008年9月10日 申請日期2007年3月9日 優(yōu)先權(quán)日2007年3月9日
發(fā)明者何興高, 勇 楊, 虎 熊, 熊思民, 秦志光 申請人:電子科技大學(xué)