專利名稱:一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,特別是對等網(wǎng)絡(luò)搜索優(yōu)化和資源放置優(yōu)化問題。
背景技術(shù):
對等網(wǎng)絡(luò)是下一代網(wǎng)絡(luò)的核心概念,與傳統(tǒng)的中心服務(wù)器與客戶端模式不同。在對等網(wǎng)絡(luò)中,各個節(jié)點既從其余節(jié)點獲得自己想要的資源,也向其余的節(jié)點提供自己共享的資源。在對等網(wǎng)絡(luò)的實現(xiàn)中,由于不存在中心服務(wù)器,如何快速的定位各種資源和服務(wù)是一個關(guān)鍵技術(shù)。當前關(guān)于對等網(wǎng)的快速搜索的研究將對等網(wǎng)分為了結(jié)構(gòu)對等網(wǎng)和無結(jié)構(gòu)對等網(wǎng)。 無結(jié)構(gòu)對等網(wǎng)相對于使用分布式哈希表(Distributed Hash Table)的結(jié)構(gòu)對等網(wǎng)而言,在精確搜索上效率降低,但是其自身維護開銷顯著減少,具有良好的擴展性,便于大范圍內(nèi)組網(wǎng)。在無結(jié)構(gòu)對等網(wǎng)中,信息的搜索分為盲目搜索和導(dǎo)向性搜索。盲目搜索以泛洪 (Flooding)搜索為基礎(chǔ),節(jié)點將搜索信息無差別的,或是隨機的選擇若干個鄰居節(jié)點進行轉(zhuǎn)發(fā),搜索具有盲目性;導(dǎo)向性搜索的常用技術(shù)是根據(jù)節(jié)點已有的搜索歷史,將信息轉(zhuǎn)發(fā)到搜索成功率更高的節(jié)點上。導(dǎo)向性搜索中轉(zhuǎn)發(fā)節(jié)點的選擇是根據(jù)節(jié)點的搜索歷史進行篩選,因此其轉(zhuǎn)發(fā)節(jié)點往往跟查詢節(jié)點具有一些相同的性質(zhì),比如擁有相似的興趣內(nèi)容,或是在線時間相似等等。 在一定程度上導(dǎo)向性搜索比盲目搜索的成功率要大,同時減少了網(wǎng)絡(luò)中的轉(zhuǎn)發(fā)信息冗余。 但經(jīng)過一段時間后,由于網(wǎng)絡(luò)中部分節(jié)點其維護的內(nèi)容較多,且服務(wù)能力好(例如,一個局部地區(qū)的小型服務(wù)器),使其漸漸的成為周邊節(jié)點的共同轉(zhuǎn)發(fā)節(jié)點。這樣就形成了對等網(wǎng)中的一些過熱節(jié)點或者稱之為超級節(jié)點,它們承擔著網(wǎng)絡(luò)中很大一部分搜索信息的處理和轉(zhuǎn)發(fā)。另一方面,以歷史信息為導(dǎo)向的搜索,在搜索流行文件時效果顯著,在處理冷門文件時,由于用戶之間的差異性,使得效果并不明顯。一個可能的情況即為網(wǎng)絡(luò)中某節(jié)點對某種稀有資源發(fā)出搜索信息,并將其導(dǎo)向性的發(fā)送給超級節(jié)點,而超級節(jié)點不存在這種資源,但實質(zhì)上在需求節(jié)點周圍的某個葉子節(jié)點上即存在此資源,從而導(dǎo)致即使資源節(jié)點在需求節(jié)點可達的范圍內(nèi),搜索依然失敗。針對這些情況,當前常用的技術(shù)就是進行資源的優(yōu)化放置,對冷門資源進行合理緩存,提高冷門資源的搜索成功率。該技術(shù)一個基本思路是在每次搜索成功后,將搜索信息和資源節(jié)點的基本信息緩存在整個查詢鏈路的節(jié)點上,當下一次有相同的搜索信息轉(zhuǎn)發(fā)到此鏈路的節(jié)點時,節(jié)點發(fā)現(xiàn)此搜索信息與自身緩存的搜索信息相同,則將資源節(jié)點的基本信息反饋給搜索節(jié)點,搜索節(jié)點從而和資源節(jié)點建立直接連接,從而減少了開銷(圖2)?,F(xiàn)有的索引緩存技術(shù)也有了不少研究成果。有的將搜索信息和資源節(jié)點的地址的索引值直接緩存到搜索鏈路上的每一個點;有的將搜索信息和網(wǎng)絡(luò)中的節(jié)點地址進行哈希計算,只將資源緩存到哈希值相匹配的節(jié)點。這些技術(shù)都很好的提高了搜索的效率,減少了搜索造成的開銷。另一方面,緩存技術(shù)一個關(guān)鍵的問題是要保證索引的有效性,節(jié)點需定期的向源節(jié)點發(fā)送信息,確定索引匹配的資源是否還有效。如資源已經(jīng)不存在,則更新自身的索引。 常用技術(shù)是將索引和搜索信息分別設(shè)立時間節(jié)點t1;t2,索引的有效期為At。若t2e (tl, ti+At),則認為此時的索引信息是有效的,直接轉(zhuǎn)發(fā)搜索信息到資源節(jié)點。否則,緩存索引的節(jié)點可以先詢問資源節(jié)點是否還保持此資源,再選擇轉(zhuǎn)發(fā)搜索信息。最后,當前的技術(shù)對索引的緩存以提高搜索成功率為目的。網(wǎng)絡(luò)中的索引緩存存在著很多冗余放置。在小規(guī)模局域網(wǎng)中,由于節(jié)點和資源都相對較少,冗余放置在提高搜索成功率基礎(chǔ)上不會對節(jié)點緩存產(chǎn)生很大影響。而在大范圍組網(wǎng)中,尤其是稠密的網(wǎng)絡(luò)中,節(jié)點可能無法承載過多的緩存,從而影響網(wǎng)絡(luò)的可擴展性。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題克服現(xiàn)有技術(shù)的不足,提供一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,該方法使得網(wǎng)絡(luò)中對資源的搜索成功率增加,搜索開銷減少。本發(fā)明的技術(shù)解決方案一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,實現(xiàn)步驟如
圖1所示,具體如下A.在對等網(wǎng)絡(luò)每一個運行周期開始時,網(wǎng)絡(luò)中的每個節(jié)點統(tǒng)計上一個周期內(nèi)的自身被訪問的次數(shù);B.根據(jù)訪問次數(shù)將每個節(jié)點分成了葉子節(jié)點和超級節(jié)點,訪問次數(shù)超過設(shè)定閾值的節(jié)點定義為熱門節(jié)點,也稱之為超級節(jié)點,訪問次數(shù)沒達到閾值的節(jié)點稱為葉子節(jié)點;所有的節(jié)點向其周圍的節(jié)點發(fā)送一個表明自己身份的信息,從而網(wǎng)絡(luò)中每個節(jié)點均知曉自己周圍的超級節(jié)點和葉子節(jié)點;C.葉子節(jié)點根據(jù)自己接收到的步驟B中所述身份信息,統(tǒng)計出自己路由表中的超級節(jié)點,并計算所述這些超級節(jié)點與自己的行為相似性;所述葉子節(jié)點與超級節(jié)點間的行為相似性是指上個周期內(nèi)葉子節(jié)點與超級節(jié)點共同在線時間的比重;此外,葉子節(jié)點統(tǒng)計上一周期內(nèi)自身的資源訪問次數(shù),將訪問次數(shù)低于設(shè)定閾值的資源定義為冷門資源;D.所述超級節(jié)點根據(jù)自己接收到的步驟B中所述身份信息,統(tǒng)計出自己路由表中存在的超級節(jié)點和葉子節(jié)點,并計算所述這些超級節(jié)點與自身之間的連通度,再將所述連通度發(fā)送給其路由表中的葉子節(jié)點;E.葉子節(jié)點根據(jù)步驟C中所述的與超級節(jié)點之間的行為相似性,以及接收到的D 中所述的超級節(jié)點之間的連通度信息,建立一個以每個葉子節(jié)點放置的資源索引數(shù)最小為目標函數(shù)的整數(shù)規(guī)劃模型,所述目標函數(shù)的整數(shù)規(guī)劃模型為
Kl^⑴
(1 (2)
>β) (ysNr,SNp,-SNq(,aSN)min V X.. A^l mj;=1
s.t.m ΤΛ· ;=1X · mj
X . 八nir+Xnip++Xniq
權(quán)利要求
1. 一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,其特征在于實現(xiàn)步驟如下A.在對等網(wǎng)絡(luò)每一個運行周期開始時,網(wǎng)絡(luò)中的每個節(jié)點統(tǒng)計上一個周期內(nèi)的自身被訪問的次數(shù);B.每個節(jié)點根據(jù)訪問次數(shù)確定自己為葉子節(jié)點或者超級節(jié)點,訪問次數(shù)超過設(shè)定閾值的節(jié)點定義為熱門節(jié)點,也稱之為超級節(jié)點,訪問次數(shù)沒達到閾值的節(jié)點稱為葉子節(jié)點;所有的節(jié)點向其周圍的節(jié)點發(fā)送一個表明自己身份的信息,從而網(wǎng)絡(luò)中每個節(jié)點均知曉自己周圍的超級節(jié)點和葉子節(jié)點;C.葉子節(jié)點根據(jù)自己接收到的步驟B中所述身份信息,統(tǒng)計出自己路由表里的超級節(jié)點,并計算所述這些超級節(jié)點與自己的行為相似性;所述葉子節(jié)點與超級節(jié)點間的行為相似性是指上個周期內(nèi)葉子節(jié)點與超級節(jié)點共同在線時間的比重;此外,葉子節(jié)點統(tǒng)計上一周期內(nèi)自身的資源訪問次數(shù),將訪問次數(shù)低于設(shè)定閾值的資源定義為冷門資源;D.所述超級節(jié)點根據(jù)自己接收到的步驟B中所述身份信息,統(tǒng)計出自己路由表中存在的超級節(jié)點和葉子節(jié)點,并計算這些超級節(jié)點與自身之間的連通度,再將所述連通度發(fā)送給其路由表中的葉子節(jié)點;E.葉子節(jié)點根據(jù)步驟C中所述的與超級節(jié)點之間的行為相似性,以及接收到的D中所述的超級節(jié)點之間的連通度信息,建立一個以每個葉子節(jié)點放置的資源索引數(shù)最小為目標函數(shù)的整數(shù)規(guī)劃模型,所述目標函數(shù)的整數(shù)規(guī)劃模型為mm' -、yΣ ^;=1mSi. y P11 · Xmi ·\ε\> λ(1)L·^ V ny I j \;=1Xnir+Xni^-'+Xnic^ 1⑵(if Connectl(SNr,SNp,--SNcfΑτι’.η JW+、丨+…水|>β) (ysNr,SNv,."SNc^nsN)Xnij = 0,1(3)其中XnU描述葉子節(jié)點Ni將冷門資源fn的索引存儲于超級節(jié)點S 上這個事件,Xnij =1表示在S 存儲該索引,否則Xnu = 0,m為超級節(jié)點的個數(shù);模型的約束條件(1)中的Pu表示節(jié)點Ni將冷門資源fn的索引存儲于超級節(jié)點SNj的概率,Pu可以用行為相似性來表示,λ是一個給定的閾值;模型的約束條件O)中Qsn表示超級節(jié)點的集合,Lp Lp,…,Ltl表示的是超級節(jié)點S凡, SNp,…,SNq的路由表中節(jié)點集合,Lr π ρ...π q表示的是這些超級節(jié)點路由表中的共同連接節(jié)點的集合,I ·|表示集合的大小,當連通度指定的閾值時只在其中的一個節(jié)點上放置同一個文件的索引,從而減少網(wǎng)絡(luò)的資源放置開銷;F.求解步驟E中所述整數(shù)規(guī)劃模型,得出放置資源索引的超級節(jié)點的集合;G.葉子節(jié)點將步驟C中所述的自身的冷門資源的索引緩存到步驟F所得的最優(yōu)解中對應(yīng)的超級節(jié)點上。
2.根據(jù)權(quán)利要求1所述的一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,其特征在于所述步驟A中的周期指一個時間段單位,為一周或者一個月,具體時間長度視網(wǎng)絡(luò)負載和資源流行時間,更新頻率等情況而定。
3.根據(jù)權(quán)利要求1所述的一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,其特征在于所述步驟C中行為相似度的計算公式為T1^T1Sim(N^Nj) =T其中,用Ni, Nj來表示網(wǎng)絡(luò)中的任意兩個節(jié)點,Sim(Ni, Nj)表示Ni, Nj之間的行為相似度,T表示一個周期的時長;Ti, Tj分別表示節(jié)點NpNj在T時長里的在線時間,Ti Π Tj表示 Ni, Nj在T時長里的共同在線時長,在具體的實施中,每個節(jié)點在每次進入網(wǎng)絡(luò)和離開網(wǎng)絡(luò)時都向其路由表中的節(jié)點發(fā)送一個消息,從而可以得到每個節(jié)點的具體在線時長。
4.根據(jù)權(quán)利要求1所述的一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,其特征在于所述步驟D中超級節(jié)點在每個周期內(nèi)開始放置索引前先計算其相互之間的連通度,任選其中若干個超級節(jié)點S&,SNi+1,…,SNj,其連通度的計算公式為r_ |Αη +ι-η;|—’.為)其中,用Li, Li+1,…,Lj表示對應(yīng)的超級節(jié)點SNi, SNi+1…,SNj的路由表中節(jié)點集合;超級節(jié)點首先檢索自身路由表中的超級節(jié)點,然后與這些超級節(jié)點互相交換各自的路由表信息并對路由表中節(jié)點ID進行比對,得到連接的共同節(jié)點的集合,用Lini+1...…表示,I · I表示集合的大?。划斶B通度Wm,,)大于設(shè)定的閾值時只在其中的一個節(jié)點上放置同一個文件的索引,從而減少網(wǎng)絡(luò)的資源放置開銷。
5.根據(jù)權(quán)利要求1所述的一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,其特征在于所述步驟F中采用貪婪算法去求整數(shù)規(guī)劃模型,具體步驟為步驟5. 1 任意選取網(wǎng)絡(luò)中一個待放置索引的葉子節(jié)點,表示為Ni,首先計算Ni路由表中的超級節(jié)點SN1, SN2,…,SNn,其中η為Ni的路由表中的超級節(jié)點的個數(shù),得到一個相似度集合P= (P1, P2, "·Ρη),其中每個分量PiG = 1,2···η)表示超級節(jié)點SNi和葉子節(jié)點 Ni在一個周期內(nèi)的共同在線時長比重;如果葉子節(jié)點Ni路由表中一個超級節(jié)點也沒有,即戶=0,則算法停止;否則,對P降序排序得到P' = (p' ρρ' 2,…ρ' n),設(shè)最優(yōu)解集合 S為空集,S吖=0,轉(zhuǎn)步驟5. 2;步驟5. 2:如果最優(yōu)解中超級節(jié)點所連接的葉子節(jié)點數(shù)超過設(shè)定的閾值λ,即Σ^ ·ΚΙ" 1,則停止,輸出最優(yōu)解集合S ;否則轉(zhuǎn)步驟5. 3 ;;=1步驟5.3:設(shè)當前P'中的值最大的分量為P' k,在第一次計算時,k= 1,找到P' k對應(yīng)的節(jié)點SNk,并更新P',更新方法為將當前的p' k從P'中去掉,如果最優(yōu)解集合S中存在若干個超級節(jié)點與SNk之間連接的共同節(jié)點數(shù)的比例超過閾值β,即存在SNi, SNi+1··· SNj e S,使得連通度&> β,則舍去SNk,即S = S,返回執(zhí)行步驟5. 3 ;否則轉(zhuǎn)步驟5. 4 ;步驟5. 4:用S 表示當前集合S中的超級節(jié)點,S 路由表中的節(jié)點數(shù)表示為ILjI, 其中j為算法每次迭代過程中加入集合S中的具體節(jié)點下標,如果最優(yōu)解中已有的超級節(jié)點所連接的葉子節(jié)點數(shù)和SNk所連接的葉子節(jié)點數(shù)的期望超過了設(shè)定的閾值λ,即
全文摘要
一種對等網(wǎng)絡(luò)中冷門資源索引的優(yōu)化放置方法,將對等網(wǎng)絡(luò)中的緩存索引的節(jié)點選擇,索引的均衡放置等進行了數(shù)學的抽象,從數(shù)學角度提供了一個資源優(yōu)化放置的模型,由此提高了對等網(wǎng)絡(luò)中冷門文件的搜索成功率,同時減少了緩存索引的開銷,從而使得整個網(wǎng)絡(luò)的總開銷減少,使網(wǎng)絡(luò)更具有擴展性。
文檔編號H04L12/24GK102377826SQ201110385538
公開日2012年3月14日 申請日期2011年11月28日 優(yōu)先權(quán)日2011年11月28日
發(fā)明者吳鴿鵬, 姜志鵬, 孫靜, 安然, 楊文國, 王慎娜, 趙彤, 鄧浩江, 郭田德, 高隨祥 申請人:中國科學院研究生院