電子科技大學 電子科學技術研究院,成都 611731
電子科技大學 電子科學技術研究院,成都 611731
P2P網(wǎng)絡技術具有良好的可擴展性和健壯性,當前已被廣泛使用。由最初的有中心節(jié)點的集中式網(wǎng)絡結構,到完全隨機的泛洪方式(全分布式非結構化網(wǎng)絡),到分布式散列表(DHT)結構。P2P網(wǎng)絡拓撲在不斷變化和發(fā)展。超級節(jié)點是一個子P2P網(wǎng)絡的中心,一般通過P2P子網(wǎng)中的節(jié)點選舉擔任。超級節(jié)點負責收集子網(wǎng)中其他節(jié)點的索引信息,以提高整個P2P網(wǎng)絡的搜索查詢效率。目前,超級節(jié)點普遍采用終身制,即超級節(jié)點一旦被選出,就會一直工作到節(jié)點失效[1]。超級節(jié)點網(wǎng)絡的流量包括控制流和數(shù)據(jù)流兩部分[2]。目前對數(shù)據(jù)流量的優(yōu)化主要依靠查詢算法和數(shù)據(jù)壓縮,對于網(wǎng)絡控制流量的優(yōu)化則主要依靠改進超級節(jié)點選舉算法。
P2P網(wǎng)絡中節(jié)點具有動態(tài)性和不穩(wěn)定性,可能發(fā)生斷開、崩潰或擁堵等現(xiàn)象。由于超級節(jié)點比普通節(jié)點掌握更多的網(wǎng)絡資源,因此其突然失效會對網(wǎng)絡查詢效率產(chǎn)生很大影響。文獻[3]給出了chord網(wǎng)絡中查詢效率和節(jié)點失效率的關系公式。其中,p為chord網(wǎng)絡中平均節(jié)點失效率(即網(wǎng)絡中失效的節(jié)點占總節(jié)點數(shù)百分比),n為網(wǎng)絡中節(jié)點數(shù),h(n)為網(wǎng)絡中平均查詢跳數(shù)。h(n)越大,則查詢效率越低。

公式(1)是一個遞歸公式,由公式可以看出,隨著網(wǎng)絡中參與查詢的節(jié)點失效率增加,查詢跳數(shù)非線性增大,導致較大的網(wǎng)絡延時。
當超級節(jié)點失效時,重構網(wǎng)絡造成的開銷是相當大的。子網(wǎng)先要通過泛洪或DHT的方式通知各子網(wǎng)節(jié)點進行新一輪的選舉,在選出新繼任的超級節(jié)點后,新超級節(jié)點還要重新收集子網(wǎng)中的資源信息,以重建子網(wǎng)索引。
P2P網(wǎng)絡的帶寬占用問題一直是制約P2P技術推廣和應用的一個關鍵問題。目前,對超級節(jié)點網(wǎng)絡降低流量的研究較多集中于對超級節(jié)點的選擇標準上。文獻[4]提出以CPU動態(tài)處理能力為考量標準,建立一套超級節(jié)點選取算法。文獻[5]為每個節(jié)點設置了能力值作為選舉超級節(jié)點的標準,并結合候補節(jié)點達到降低失效率的目的。文獻[6]為超級節(jié)點選舉設計了多個標準,普通節(jié)點根據(jù)需要加入到以不同標準選擇出的子網(wǎng)中,通過分類的方式減少查詢次數(shù)。文獻[7]提出了一種基于信譽感知的超級節(jié)點選擇算法,在選舉超級節(jié)點的時候不僅以節(jié)點性能做參考標準,還增加了安全屬性。文獻[8]提出了根據(jù)節(jié)點的ISP信息選擇查詢路由,從而減少查詢跳數(shù)達到節(jié)流的目的。文獻[9]通過監(jiān)測局域網(wǎng)內(nèi)的P2P流量,合并對外的網(wǎng)絡報文達到降低下載流量的目的。文獻[10]針對P2P流媒體流量提出了利用隨機網(wǎng)絡編碼實現(xiàn)全局網(wǎng)絡流量優(yōu)化。但這些研究只關注了超級節(jié)點的選取對網(wǎng)絡查詢算法流量的優(yōu)化,卻忽略了超級節(jié)點產(chǎn)生和失效時重新收集資源對網(wǎng)絡帶寬產(chǎn)生的負擔。文獻[11]提出通過建立備選超級節(jié)點的方式減少單點失效問題,與本文的思想比較相近,但對候補超級節(jié)點的選擇沒有給出依據(jù),具有很大的隨機性。
為降低網(wǎng)絡單點失效而重新枚舉資源所產(chǎn)生控制流量的問題,本文提出了一種超級節(jié)點禪讓算法。通過統(tǒng)計用戶行為特征,對網(wǎng)絡節(jié)點失效問題進行預判,從而盡量避免不必要的流量開銷,達到網(wǎng)絡節(jié)流的目的。并且通過與常用選舉算法配套做對比仿真實驗,說明算法取得了很好的降低通信流量的效果。
圖1為一個混合型P2P網(wǎng)絡常見的拓撲結構。P2P網(wǎng)絡的每個節(jié)點是由人操作的,因此節(jié)點的存活狀態(tài)也會受人的生活狀態(tài)影響,存在一定的規(guī)律。比如上班族的工作主機通常早上9點左右開機,下午5點左右關機;學生寢室晚上11點停電;一些服務器設定早上自動開啟,晚上自動關閉等。這一類節(jié)點可以通過統(tǒng)計其生存周期,從而預先估計失效時間。對用戶行為進行分析建模是近年來十分活躍的研究課題[12],這種行為分析方式同樣可以引入節(jié)點節(jié)流算法研究中來。

圖1 混合型P2P網(wǎng)絡拓撲圖
基于這種規(guī)律,本文提出了一種超級節(jié)點禪讓算法(Super-Peers Abdication Algorithms,SPAA),通過一種新的方式達到控制節(jié)點失效開銷的目的。SPAA算法作用于超級節(jié)點選舉產(chǎn)生之后,與各種選舉算法不沖突,可以疊加使用。使用SPAA算法能夠減少由于超級節(jié)點失效產(chǎn)生的控制流量,并且降低了超級節(jié)點失效率,從而間接也能降低查詢流量。
Fernandez等人認為超級節(jié)點選舉與領導人選舉有相似的思想,可以借鑒其選舉機制[13]。但其實選舉超級節(jié)點與選領導人在實際應用中有一個本質(zhì)不同。不同之處在于人類社會關系中上一屆領導的決策會受包括個人因素在內(nèi)的多種因素影響,因此用上級指派方式無法選出真正合適的人選,需要以選舉方式加以規(guī)范和制約。但在計算機的世界中不會存在這些不確定因素,對節(jié)點性能可以有標準統(tǒng)一的評價,超級節(jié)點也不會徇私舞弊,因此用指派方式能獲得更高的效率。
超級節(jié)點的功能就是將大網(wǎng)絡劃分為小網(wǎng)絡,作為小網(wǎng)絡對外的代理,發(fā)現(xiàn)算法僅在超級節(jié)點之間轉發(fā)[14]。因此當一個超級節(jié)點失效時,自然應當從其所在子網(wǎng)中選擇一個繼任者。SPAA算法的基本思想就是在失效時間到來之前,超級節(jié)點通過主動退位的方式,將超級節(jié)點的地位和所掌握的資源通過指派的方式禪讓給子網(wǎng)中另一個更穩(wěn)定的節(jié)點。由于是主動退位而不是忽然失效,超級節(jié)點有充裕的時間將自己所掌握的資源轉移,并通知子網(wǎng)其他節(jié)點,避免重新投票和重新收集資源的開銷。
3.1 流程
超級節(jié)點的首次產(chǎn)生依然采用選舉算法,如果超級節(jié)點由于預測算法失敗而忽然失效,SPAA算法會退化回重新選舉型算法。
根據(jù)SPAA算法原理,圖2給出使用SPAA算法節(jié)點登錄的流程圖,其中PSnew為更新的節(jié)點存活率時刻表,用于估計當前節(jié)點在接下來的一段時間內(nèi)的存活率變化情況。K為網(wǎng)絡中對存活率設定的閾值,一旦超級節(jié)點的存活率低于閾值,就要啟動禪讓流程。t為從注冊時刻之后節(jié)點低于閾值的時刻,作為禪讓流程中繼任節(jié)點的選擇依據(jù)。

圖2 節(jié)點登錄流程圖
算法說明:
(1)普通節(jié)點登錄首先要進行初始化,根據(jù)前次登錄情況更新上線概率PSnew。PSnew的計算方法將會在3.2節(jié)中具體給出。
(2)然后節(jié)點連接到P2P網(wǎng)絡,從超級節(jié)點獲取網(wǎng)絡的配置閾值K。閾值K的選擇需要根據(jù)具體應用的穩(wěn)定性而定,本次仿真實驗得到的一個經(jīng)驗值為8 700左右。如果閾值選取過高,而會導致頻繁的超級節(jié)點更替,選取過低則容易導致預測失敗。
(3)普通節(jié)點計算本機存活率低于閾值的時刻t。根據(jù)普通用戶的作息規(guī)律,實驗的統(tǒng)計周期為一天,t值即為當天節(jié)點下線時間的估計值。
(4)節(jié)點將計算得到的t值注冊到子網(wǎng)的超級節(jié)點中,作為超級節(jié)點禪讓的選擇依據(jù)。同時進行動態(tài)身份認證,雙方記錄身份密鑰作為禪讓時廣播繼任節(jié)點信息的身份依據(jù)(密鑰安全認證問題不作為本文研究重點,在此不做詳細分析)。
(5)之后普通節(jié)點進行正常的P2P通信,并監(jiān)聽超級節(jié)點更換消息。
開銷比較:
與普通P2P網(wǎng)絡節(jié)點登錄相比,SPAA算法增加了K值獲取和t值注冊幾個環(huán)節(jié),只有幾個字節(jié)的通信數(shù)據(jù)增加。這些數(shù)據(jù)也可以附加在正常P2P登錄通信中,基本沒有增加開銷。并且節(jié)點注冊時間都相對分散,不會造成網(wǎng)絡的短期數(shù)據(jù)擁堵。
圖3為使用SPAA算法進行超級節(jié)點禪讓的流程圖。當超級節(jié)點自己的存活概率低于閾值時,啟動禪讓流程。從登陸流程中可以看到,此時超級節(jié)點已經(jīng)建立了一份子網(wǎng)節(jié)點的信息列表,記錄了子節(jié)點的存活情況。

圖3 超級節(jié)點禪讓流程圖
算法說明:
(1)原超級節(jié)點從子節(jié)點列表中查詢剩余在線時間t最長的節(jié)點作為繼任超級節(jié)點。
(2)原超級節(jié)點對繼任超級節(jié)點進行任命通知,并將現(xiàn)有在線子節(jié)點列表和身份密鑰信息移交給繼任超級節(jié)點。
(3)繼任超級節(jié)點根據(jù)子網(wǎng)節(jié)點列表和身份密鑰信息向所有子網(wǎng)節(jié)點通知超級節(jié)點已經(jīng)移交。
(4)子網(wǎng)節(jié)點更新超級節(jié)點信息,并重新與新任超級節(jié)點商定身份密鑰。
(5)原超級節(jié)點降級為普通子節(jié)點,等待失效。
開銷比較:
與普通P2P網(wǎng)絡超級節(jié)點失效后進行重新選舉相比,SPAA算法只增加了一次換屆信息廣播和密鑰更新,只需要建立n次連接(n為子網(wǎng)節(jié)點數(shù))。同時省去了重新選舉的網(wǎng)絡開銷,具體開銷視選舉算法而定,至少為2n~3n。另外省去了為重新收集索引信息而分散連接子節(jié)點的開銷,改為新舊超級節(jié)點間一次性數(shù)據(jù)拷貝,具體開銷視子節(jié)點所含資源量而定。
3.2 節(jié)點存活率計算
節(jié)點存活率的計算可以以相對開機的關機時間或絕對的關機時刻為時間單位,根據(jù)上一章中描述的場景,用時刻更能反映個人電腦的工作規(guī)律。節(jié)點的開關機時刻數(shù)據(jù)可通過在各節(jié)點中加入服務程序或守護進程,定時記錄在線時間。在系統(tǒng)再次啟動時就能通過讀取開機記錄,自行統(tǒng)計到主機的失效數(shù)據(jù),并計算出下線概率。
根據(jù)統(tǒng)計學原理,節(jié)點在一次檢測到的關機時刻周圍關機的概率滿足正態(tài)分布:

其中μ為服從正態(tài)分布的均值,應用中指檢測到的單次關機時刻。σ為標準差,反映數(shù)值分布的集中率,σ越小,分布越集中在μ附近,σ越大,分布越分散。
存活率的計算遵循統(tǒng)計規(guī)律,統(tǒng)計結果是否精確取決于樣本的數(shù)量和質(zhì)量兩個因素。樣本數(shù)量通過測量多個周期的節(jié)點上下線情況來確保,算法運行周期越多越精確。樣本的質(zhì)量指的樣本方差或標準差,即計算每個周期中關機曲線的變化差異情況。在公式(2)中標準差σ就反映了節(jié)點使用者的作息規(guī)律性。通過比較一個節(jié)點多個周期的關機曲線的變化差異情況,可以計算出節(jié)點的方差和標準差。節(jié)點上下線時間越規(guī)律,則σ越小。如果σ過大說明該節(jié)點用戶作息時間極不規(guī)律,不適合作為候補超級節(jié)點。σ過大會導致關機概率曲線變緩,影響閾值的選取,在小范圍內(nèi)變化則不影響算法的正確性。由于實驗條件所限,無法對真實用戶樣本方差做大范圍全面統(tǒng)計,但根據(jù)簡單的抽樣結果,有30%的普通用戶主機的作息規(guī)律能夠滿足統(tǒng)計質(zhì)量要求。限于篇幅限制和仿真方法的局限,本文沒有對樣本方差和標準差的計算仿真作深入討論,僅假設參與仿真的節(jié)點都有一致的規(guī)律性。為簡化計算,可以將滿足規(guī)律性的節(jié)點的σ值設為1。
設已知μ時刻節(jié)點產(chǎn)生失效事件,某個時刻的關機率為萬分之p,則公式(3)可以計算出此次失效事件發(fā)生后x時刻的失效率:

公式(3)為連續(xù)數(shù)值的表達式,而實際應用中時刻和計算機的存儲數(shù)據(jù)都是離散數(shù)值,因此為便于計算,將公式轉為離散型表達式。 p(x,μ)的計算以時間刻度為單位,由經(jīng)驗可知,當將一天24 h分成72份,即以每20 min為單位檢測一次節(jié)點失效情況時,曲線在前后20 min內(nèi)的變化最陡峭,比較符合實際中人們的使用情況。則μ的取值范圍為(0,71)。當|x-μ|大于4后,正態(tài)分布值小于萬分之一,概率影響可以忽略不計。因此認為μ時刻節(jié)點產(chǎn)生的失效事件,只會對(μ-4,μ+4)范圍內(nèi)時刻的概率產(chǎn)生影響,只需要重新計算前后4個點的概率值。
公式(4)將積分表達式 p(x,μ)轉換為近似的離散型求和表達式 pd(x,μ):

在時間刻度單位選定后,μ和x都是有限的離散值,如按當前取值范圍,pd(x,μ)有72×9個。使用時可以在每個節(jié)點以μ和x為坐標保存一張二維表,在每次初始化啟動時通過查表計算出 pdnew(x,μ),不需要重復進行公式計算。
設每個時刻節(jié)點的最終存活率為PS,初始情況下令每個時刻的值PS(x)=10 000。發(fā)生一次失效事件后導致該事件時刻周圍9個時刻的存活率發(fā)生變化。計算得新失效率為 pdnew(x,μ),則新存活率曲線為:

其中λ為新計算的存活率占總存活率的權值。λ越大,新事件對總存活率的影響越大,反之則存活率曲線變化更平緩。
4.1節(jié)的實驗通過實際統(tǒng)計主機的開關機情況,為算法提供數(shù)據(jù)支持。4.2節(jié)通過將常用的選舉算法和搭載了SPAA算法的網(wǎng)絡的失效開銷做對比仿真實驗,說明了算法的作用。
4.1 在線概率統(tǒng)計
首先驗證測試節(jié)點存活率PSnew的計算準確性。實驗通過后臺服務,記錄了一臺主機兩周的離線情況,再根據(jù)第3章的算法得到主機的在線時間概率統(tǒng)分布計圖。圖4中橫坐標為每天開機時刻,以20 min為單位,縱坐標表示每個時刻的存活概率,以萬分之一為單位。

圖4 主機在線時間概率統(tǒng)計圖
由圖4可知,該主機在每天17:00和24:00附近關機可能性較大,并且近期的關機時間集中在24:00點。
4.2 流量統(tǒng)計
由于本算法工作在超級節(jié)點后期,作用是降低由超級節(jié)點失效導致的控制流量開銷,因此無法與各類選舉算法做直接比較,需要與選舉算法配合工作。若SPAA算法對超級節(jié)點的關機時間預測失敗,則整個網(wǎng)絡退化為重新選舉狀態(tài)。仿真通過5臺主機和虛擬機建立的一個chord網(wǎng)絡,用網(wǎng)絡抓包工具了記錄網(wǎng)絡中接入和斷開的情況,并將超級節(jié)點設在虛擬機中。通過關閉虛擬機網(wǎng)絡模擬超級節(jié)點失效,并將多次抓包記錄導入到matlab程序中作為連接數(shù)基礎值。用matlab程序根據(jù)需要仿真的失效次數(shù)或節(jié)點數(shù),隨機選擇一次數(shù)據(jù)作為某次節(jié)點失效連接次數(shù)的累積值,計算對應使用禪讓方式的連接次數(shù),然后繪制出坐標圖。
選舉算法中通信復雜度和時間復雜度通常是互為矛盾的,為減少選舉時間通常要以增加連接數(shù)為代價。表1中給出幾種選舉算法做比較[15],通信復雜度反映了選舉算法在流量上的占用量,時間復雜度則反映一次選舉所需要通信轉發(fā)的時間計數(shù)。其中n為網(wǎng)絡中節(jié)點個數(shù),m為節(jié)點組成的聯(lián)通圖中無向邊的條數(shù),d為無向圖的網(wǎng)絡直徑。通過比較可以看出各種算法在時間復雜度和通信復雜度上是一種此消彼長的關系,使用單一的選舉算法無法同時在時間上和空間上對超級節(jié)點網(wǎng)絡進行優(yōu)化。

表1 選舉算法性能比較
由選舉算法性能比較可知,就通信復雜度而言環(huán)選舉算法是開銷最低的,因此用環(huán)選舉算法與SPAA搭配環(huán)選舉算法做對比實驗更能表現(xiàn)SPAA算法的作用。一次環(huán)選舉算法超級節(jié)點節(jié)點失效的開銷為2n~3n-1,加上重新收集節(jié)點索引開銷為n,則總開銷為3n~4n-1。SPAA算法開始會預測失敗,經(jīng)過兩個周期的失效信息記錄后就能進行失效概率的計算,但需要5~7次周期后節(jié)點的失效曲線才不會出現(xiàn)大幅波動。預測失敗時算法退化為重新環(huán)選舉算法。預測成功則只需要向網(wǎng)絡廣播一次更換超級節(jié)點消息,所需開銷為n。
實驗時為提高速度,將節(jié)點影響周期單位縮小為標準的萬分之一,即每1.2 s為一個時刻,約1.5 min為一周期。參數(shù)n為一次仿真中P2P子網(wǎng)的節(jié)點總數(shù),參數(shù)t為一次仿真時超級節(jié)點的失效次數(shù),參數(shù)y為統(tǒng)計在網(wǎng)絡中超級節(jié)點失效到新超級節(jié)點產(chǎn)生所需要的網(wǎng)絡連接總次數(shù)。
圖5反映了在擁有相同節(jié)點的P2P網(wǎng)絡中,在兩種算法下超級節(jié)點失效次數(shù)與網(wǎng)絡開銷的關系。其中O形線條代表在未加入SPAA算法前節(jié)點環(huán)選舉失效次數(shù)和網(wǎng)絡失效開銷的關系,+號線代表加入SPAA算法后二者的增長關系。

圖5 超級節(jié)點失效次數(shù)與網(wǎng)絡失效開銷關系圖
由圖5可見,隨著網(wǎng)絡超級節(jié)點失效次數(shù)增大,采用SPAA算法的網(wǎng)絡所花費的開銷約等于重新選舉開銷的1/3,與理論推導結論相符。
圖6反映了在相同超級節(jié)點失效次數(shù)下,兩種算法下網(wǎng)絡節(jié)點規(guī)模與網(wǎng)絡開銷的關系。其中O形線段表示了在未加入SPAA算法前網(wǎng)絡中節(jié)點數(shù)量增加與網(wǎng)絡失效開銷的比例關系,+號線段代表加入SPAA算法后二者的比例關系。

圖6 網(wǎng)絡節(jié)點規(guī)模網(wǎng)絡失效開銷關系圖
由圖6可見,隨著網(wǎng)絡節(jié)點數(shù)增加,采用禪讓機制的網(wǎng)絡所花費的開銷約等于重新選舉開銷的1/3,與理論推導結論相符。
本文針對P2P應用中超級節(jié)點失效時帶來網(wǎng)絡波動問題,提出了一種基于用戶行為統(tǒng)計規(guī)律的超級節(jié)點禪讓機制。在該機制中,首先通過統(tǒng)計節(jié)點的歷史失效情況,計算出在線概率分布曲線。再選取在線可能性最長的節(jié)點作為超級節(jié)點。當超級節(jié)點在線概率低于閾值時,通過禪讓機制選取網(wǎng)絡中在線率最長的節(jié)點作為新超級節(jié)點。從而避免再次選舉帶來的網(wǎng)絡開銷。仿真實驗和結果表明,在節(jié)點作息時間規(guī)則的情況下,采用禪讓機制能夠有效減小由超級節(jié)點失效帶來的網(wǎng)絡開銷。
由于研究精力和實驗條件有限,本文提出的方法存在一些不足。SPAA算法較適用于由個人用戶組成的P2P網(wǎng)絡(如電驢的kad網(wǎng)絡),目前的方法是統(tǒng)計節(jié)點開機、關機的規(guī)律,對用戶的作息規(guī)律有很大依賴,應用上存在一定的局限性。節(jié)點間由于減少了控制流量通信,可能導致較大的信息不同步。這些問題有待進一步研究。
[1]譚義紅,羅立,林亞平,等.超級節(jié)點網(wǎng)絡的構建與搜索機制研究[J].小型微型計算機系統(tǒng),2008,29(11):1-4.
[2]張國強,唐明董,程蘇琦,等.P2P流量優(yōu)化[J].中國科學:信息科學,2012,42(1):1-5.
[3]Luis G E,Keith W R,Guillaume U K,et al.Hierarchical peer-to-peerlook-up services[C]//Proc ofIEEE Infocom,2003:1-3.
[4]陳水平,吳開貴.P2P網(wǎng)絡基于CPU動態(tài)處理能力的超級節(jié)點選取[J].計算機工程與應用,2011,47(19):1-2.
[5]相有桓,熊焰,苗付友.移動P2P網(wǎng)絡中超級節(jié)點的選擇[J].計算機工程,2010,36(10):1-5.
[6]楊壽保,許通,胡云.用戶需求適應的P2P超級節(jié)點選取機制[J].電子科技大學學報,2009,38(3):1-4.
[7]劉玉枚,楊壽保,陳萬明,等.P2P系統(tǒng)中基于信譽感知的超級節(jié)點選擇算法研究[J].中國科學院研究生院學報,2008,25(2):1-6.
[8]余兆.基于ISP主動參與的P2P下載流量優(yōu)化研究[D].武漢:湖北工業(yè)大學,2011:3-7.
[9]梁卓明,黃偉強,鄭凱.P2P流量本地優(yōu)化綜合機制[J].計算機系統(tǒng)應用,2012,21(1):1-5.
[10]Tomozei D C,Massoulie L.Flow control for cost-efficient peer-to-peer streaming[C]//Proc of IEEE Infocom,2010:1-6.
[11]柴勇,劉一松,曹陽.基于分層P2P系統(tǒng)的失效恢復機制的改進[J].微計算機信息,2006,30(22):1-5.
[12]李瑾,周竹榮.基于用戶行為和社區(qū)發(fā)現(xiàn)的P2P資源檢索方法[J].計算機工程與應用,2012,48(21):1-2.
[13]Fernandez A,Jimenez E,Raynal M.Eventual leader election with weak assumptions on initial knowledge,communication reliability,and synchrony[C]//Proceedings of Dependable Systems and Networks,2006:165-179.
[14]廖小偉,王敏,王曉國.一種基于超級節(jié)點的半分布式P2P系統(tǒng)改進策略[J].計算機應用與軟件,2007,11(24):1-2.
[15]杜麗娟,余鎮(zhèn)危.分布式超級節(jié)點選舉算法[J].計算機工程與應用,2011,47(14):1-5.
基于行為特征的超級節(jié)點節(jié)流算法研究
何 欽,劉 丹,周 明
HE Qin,LIU Dan,ZHOU Ming
Research Institute of Electronic Science and Technology,University of Electronic Science and Technology of China,Chengdu 611731,China
In a super-peers-based P2P network,if super-peers fail or leave,it may bring many problems,such as resource losing, network topology changing and increasing bandwidth occupancy for re-election.To solve these problem,this paper brings up a super-peers abdicate algorithm based on user’s behavior characteristic.According to statistic characteristic of the node failure, the SPAA algorithm can forecast the node leave time and appoint next super-peer.Simulation and analysis show that the SPAA algorithm can effectively reduce the net churn by super-peer failure and reduce network traffic.
super-peer;node failure;abdicate algorithm;reduce network traff
針對P2P網(wǎng)絡中超級節(jié)點失效時帶來的資源流失、網(wǎng)絡拓撲結構變化和重新選舉網(wǎng)絡開銷增加等問題,提出了一種基于用戶行為特征統(tǒng)計的超級節(jié)點禪讓算法。根據(jù)節(jié)點的失效統(tǒng)計特征預估失效時間,預先指定繼任超級節(jié)點。仿真實驗對比結果表明,該算法可以有效降低超級節(jié)點失效時帶來的網(wǎng)絡波動,降低網(wǎng)絡流量消耗。
超級節(jié)點;節(jié)點失效;退位算法;降低網(wǎng)絡流量
A
TP393.0
10.3778/j.issn.1002-8331.1211-0245
HE Qin,LIU Dan,ZHOU Ming.Research on algorithm for low bandwidth super-peers network based on user’s behavior characteristic.Computer Engineering and Applications,2013,49(11):61-65.
寧波市科技局工業(yè)、農(nóng)業(yè)與民生領域重大科技攻關項目(No.2011C51007)。
何欽(1987—),男,碩士研究生,主要研究方向為計算機網(wǎng)絡安全及開發(fā);劉丹(1969—),男,博士,副教授,主要研究方向為計算機網(wǎng)絡安全和物聯(lián)網(wǎng)開發(fā);周明(1976—),男,研究員。E-mail:hunterheqin@163.com
2012-11-21
2013-01-23
1002-8331(2013)11-0061-05