專利名稱:一種基于節(jié)點性能的BitTorrent節(jié)點選擇方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于節(jié)點性能的BitTorrent節(jié)點選擇方法,屬于計算機(jī)網(wǎng)絡(luò)傳輸領(lǐng)域。
背景技術(shù):
Bi tTorrent協(xié)議是一種流行的P2P文件共享協(xié)議,通過有效地利用所有參與節(jié)點的帶寬來進(jìn)行并行下載,BitTorrent可以快速的在廣大節(jié)點之間分發(fā)共享文件。 BitTorrent并不集中分配資源,試圖最大化自己的下載速率是每個節(jié)點自己的責(zé)任。 BitTorrent的默認(rèn)的節(jié)點選擇為Tit-for_Tat,即本地節(jié)點根據(jù)從鄰居節(jié)點可以獲得的下載速率給予同等的上傳回報,也就是要先收到對方的分片,然后再為對方上傳分片。一個好的節(jié)點選擇策略,對于提高BitTorrent網(wǎng)絡(luò)的性能非常重要。如果一個網(wǎng)絡(luò)中節(jié)點出現(xiàn)較大的延遲抖動,不均等的帶寬大小時,綜合節(jié)點的鏈路狀態(tài)和網(wǎng)絡(luò)共享進(jìn)行節(jié)點選擇,提供差異化的上傳服務(wù)從而保證系統(tǒng)整體文件共享的效率。目前主要的節(jié)點選擇模型有BitTorrent協(xié)議默認(rèn)的基于速率的Tit-for-Tat (TFT)模型,每個節(jié)點從它可以連接的其他對等節(jié)點處下載文件,并根據(jù)對方提供的下載速度給予同等的上傳回報。基于全局貢獻(xiàn)的節(jié)點選擇策略,將鄰居節(jié)點的全局貢獻(xiàn)分為直接貢獻(xiàn)和間接貢獻(xiàn)兩種,鄰居節(jié)點向本節(jié)點提供分片上傳稱為直接貢獻(xiàn),向除本節(jié)點之外的其它節(jié)點上傳的分片數(shù),稱為間接貢獻(xiàn),節(jié)點的選擇將以全局的貢獻(xiàn)多少來確定下載服務(wù)的優(yōu)先權(quán)。基于文件可獲得性的節(jié)點選擇模型,根據(jù)文件分片副本的數(shù)量和擁有該分片的鄰居節(jié)點的服務(wù)質(zhì)量,選擇擁有分片數(shù)量最多,上傳、下載帶寬值較大,邏輯距離近的鄰居節(jié)點?;赨TAPS模型的節(jié)點選擇,利用異構(gòu)的P2P網(wǎng)絡(luò)中底層的網(wǎng)絡(luò)拓?fù)湫畔⑦x擇節(jié)點跳數(shù)距離少和往返延遲(RTT)低的鄰居節(jié)點,使數(shù)據(jù)交換大多在局部范圍進(jìn)行,但是這種方式可能會導(dǎo)致文件分片以一種波狀的方式向外傳輸,即遠(yuǎn)處的節(jié)點會較難獲得稀缺的文件分片。建立在FP⑶模式基礎(chǔ)上的節(jié)點選擇算法,即將BitTorrent協(xié)議的節(jié)點選擇和分片選擇進(jìn)行有機(jī)的結(jié)合,節(jié)點選擇之前將統(tǒng)計所有鄰居節(jié)點的分片擁有情況,找出鄰居節(jié)點之間最稀缺的文件分片,然后選擇unchoke擁有該文件分片并且具有最高下載速率的節(jié)點。雖然該方法能極大提高稀缺分片的數(shù)量,改善文件共享的效率,但是需要維護(hù)多個分片和節(jié)點列表,實現(xiàn)起來比較復(fù)雜。GA-BT模型將遺傳算法應(yīng)用到BitTorrent的節(jié)點選擇策略中,采用可分負(fù)載理論模型動態(tài)預(yù)測最佳或近似最佳的節(jié)點調(diào)度來最大化文件共享的效率,并降低計算的開銷。節(jié)點選擇策略取決于文件分片分布、網(wǎng)絡(luò)狀態(tài)和節(jié)點性能的影響,各種模型都有其適用領(lǐng)域。隨著無線通信技術(shù)的發(fā)展,無線網(wǎng)絡(luò)逐漸普及,BitTorrent節(jié)點選擇模型也將根據(jù)無線網(wǎng)絡(luò)特性出現(xiàn)更多的變化。
發(fā)明內(nèi)容
本發(fā)明的目的是克服了現(xiàn)有模型方法沒有考慮網(wǎng)絡(luò)節(jié)點的鏈路帶寬和鏈路延遲特征的不足,提供一種基于節(jié)點性能的BitTorrent節(jié)點選擇方法?;诠?jié)點性能的BitTorrent節(jié)點選擇方法的步驟如下I)鄰居節(jié)點的網(wǎng)絡(luò)狀態(tài)包括節(jié)點延遲和帶寬數(shù)值,通過消息交換的方式獲取彼此的節(jié)點網(wǎng)絡(luò)延遲和帶寬數(shù)值;2)對于鄰居節(jié)點的上傳速率和下載速率的信息則通過本地節(jié)點在相應(yīng)的阻塞算法階段進(jìn)行計算;3)判斷本地節(jié)點是否完成下載,即是種子節(jié)點或者是還在下載的節(jié)點,進(jìn)而選擇優(yōu)先權(quán)計算的方法;4)如果節(jié)點是種子結(jié)點,則計算所有鄰居節(jié)點的Trade-Off Index for Seed數(shù)值,并作為節(jié)點選擇算法的優(yōu)先權(quán)Prio ;如果節(jié)點還未完成下載,則計算該節(jié)點的所有鄰居節(jié)點的Trade-Off Index for Leecher,并作為節(jié)點選擇算法的優(yōu)先權(quán)Prio ;5)將所有的鄰居節(jié)點按優(yōu)先權(quán)Prio從大到小進(jìn)行排序,并建立一個優(yōu)先權(quán)候選節(jié)點表;6)本地節(jié)點在阻塞算法階段unchoke優(yōu)先權(quán)候選節(jié)點表中三個具有最大優(yōu)先權(quán) Prio值的鄰居節(jié)點,并向這三個鄰居節(jié)點提供分片的上傳服務(wù)直到阻塞算法階段結(jié)束。所述的步驟4)為I)設(shè)有節(jié)點i的鄰居節(jié)點j,記Bj和Tj分別為鄰居節(jié)點j的網(wǎng)絡(luò)帶寬和鏈路延遲,U(i,j)和D(i,j)分別是節(jié)點i向節(jié)點j提供的上傳速率和獲得的下載速率;2)若節(jié)點i是種子節(jié)點,則計算鄰居節(jié)點j的Trade-Off Index for Seed數(shù)值;若節(jié)點i還未完成下載,則計算節(jié)點j的Trade-Off Index for Leecher值作為優(yōu)先權(quán)Prio ;
ηTOISC;, I) = K^LiiL:;I .
TITOJLn,] I = Dii,])
4*其中TOIS(i,j)為種子節(jié)點i的鄰居節(jié)點j的優(yōu)先權(quán),T0IL(i, j)為下載節(jié)點i 的鄰居節(jié)點j的優(yōu)先權(quán),K為調(diào)整系數(shù)。3)完成所有鄰居節(jié)點的優(yōu)先權(quán)計算,最終進(jìn)行排序和節(jié)點選擇。本發(fā)明通過優(yōu)先向網(wǎng)絡(luò)中延遲低、帶寬高、貢獻(xiàn)大的節(jié)點提供文件上傳服務(wù),有效利用這些良好性能的節(jié)點帶寬,降低節(jié)點的文件下載時間。
圖I為本發(fā)明基于節(jié)點性能的BitTorrent節(jié)點選擇方法的基本流程圖;圖2為本發(fā)明基于節(jié)點性能的BitTorrent節(jié)點選擇方法在包含200個節(jié)點的網(wǎng)絡(luò)中的實施結(jié)果圖;圖3為本發(fā)明基于節(jié)點性能的BitTorrent節(jié)點選擇方法在包含1000個節(jié)點的網(wǎng)絡(luò)中的實施結(jié)果具體實施例方式基于節(jié)點性能的BitTorrent節(jié)點選擇方法的步驟如下I)鄰居節(jié)點的網(wǎng)絡(luò)狀態(tài)包括節(jié)點延遲和帶寬數(shù)值,通過消息交換的方式獲取彼此的節(jié)點網(wǎng)絡(luò)延遲和帶寬數(shù)值;2)對于鄰居節(jié)點的上傳速率和下載速率的信息則通過本地節(jié)點在相應(yīng)的阻塞算法階段進(jìn)行計算;3)判斷本地節(jié)點是否完成下載,即是種子節(jié)點或者是還在下載的節(jié)點,進(jìn)而選擇優(yōu)先權(quán)計算的方法;4)如果節(jié)點是種子結(jié)點,則計算所有鄰居節(jié)點的Trade-Off Index for Seed數(shù)值,并作為節(jié)點選擇算法的優(yōu)先權(quán)Prio ;如果節(jié)點還未完成下載,則計算該節(jié)點的所有鄰居節(jié)點的Trade-Off Index for Leecher,并作為節(jié)點選擇算法的優(yōu)先權(quán)Prio ;5)將所有的鄰居節(jié)點按優(yōu)先權(quán)Prio從大到小進(jìn)行排序,并建立一個優(yōu)先權(quán)候選節(jié)點表;6)本地節(jié)點在阻塞算法階段unchoke優(yōu)先權(quán)候選節(jié)點表中三個具有最大優(yōu)先權(quán) Prio值的鄰居節(jié)點,并向這三個鄰居節(jié)點提供分片的上傳服務(wù)直到阻塞算法階段結(jié)束。所述的步驟4)為I)設(shè)有節(jié)點i的鄰居節(jié)點j,記Bj和Tj分別為鄰居節(jié)點j的網(wǎng)絡(luò)帶寬和鏈路延遲,U(i,j)和D(i,j)分別是節(jié)點i向節(jié)點j提供的上傳速率和獲得的下載速率;2)若節(jié)點i是種子節(jié)點,則計算鄰居節(jié)點j的Trade-Off Index for Seed數(shù)值;若節(jié)點i還未完成下載,則計算節(jié)點j的Trade-Off Index for Leecher值作為優(yōu)先權(quán)Prio ;
權(quán)利要求
1.一種基于節(jié)點性能的BitTorrent節(jié)點選擇方法,其特征在于它的步驟如下1)鄰居節(jié)點的網(wǎng)絡(luò)狀態(tài)包括節(jié)點延遲和帶寬數(shù)值,通過消息交換的方式獲取彼此的節(jié)點網(wǎng)絡(luò)延遲和帶寬數(shù)值;2)對于鄰居節(jié)點的上傳速率和下載速率的信息則通過本地節(jié)點在相應(yīng)的阻塞算法階段進(jìn)行計算;3)判斷本地節(jié)點是否完成下載,即是種子節(jié)點或者是還在下載的節(jié)點,進(jìn)而選擇優(yōu)先權(quán)計算的方法;4)如果節(jié)點是種子結(jié)點,則計算所有鄰居節(jié)點的Trade-OffIndex for Seed數(shù)值,并作為節(jié)點選擇算法的優(yōu)先權(quán)Prio ;如果節(jié)點還未完成下載,則計算該節(jié)點的所有鄰居節(jié)點的Trade-Off Index for Leecher,并作為節(jié)點選擇算法的優(yōu)先權(quán)Prio ;5)將所有的鄰居節(jié)點按優(yōu)先權(quán)Prio從大到小進(jìn)行排序,并建立一個優(yōu)先權(quán)候選節(jié)點表;6)本地節(jié)點在阻塞算法階段unchoke優(yōu)先權(quán)候選節(jié)點表中三個具有最大優(yōu)先權(quán)Prio 值的鄰居節(jié)點,并向這三個鄰居節(jié)點提供分片的上傳服務(wù)直到阻塞算法階段結(jié)束。
2.根據(jù)權(quán)利要求I所述的一種基于節(jié)點性能的BitTorrent節(jié)點選擇方法,其特征在于所述的步驟4)為1)設(shè)有節(jié)點i的鄰居節(jié)點j,記Bj和Tj分別為鄰居節(jié)點j的網(wǎng)絡(luò)帶寬和鏈路延遲,U(i, j)和D(i,j)分別是節(jié)點i向節(jié)點j提供的上傳速率和獲得的下載速率;2)若節(jié)點i是種子節(jié)點,則計算鄰居節(jié)點j的Trade-OffIndex for Seed數(shù)值;若節(jié)點i還未完成下載,則計算節(jié)點j的Trade-Off Index for Leecher值作為優(yōu)先權(quán)Prio ;
全文摘要
本發(fā)明公開了一種基于節(jié)點性能的BitTorrent節(jié)點選擇方法。該方法提出一種適用于差異化的節(jié)點網(wǎng)絡(luò)狀態(tài)的BitTorrent節(jié)點選擇策略,該策略將節(jié)點的網(wǎng)絡(luò)延遲、帶寬大小和節(jié)點的網(wǎng)絡(luò)貢獻(xiàn)作為節(jié)點選擇算法unchoke的依據(jù),通過優(yōu)先向網(wǎng)絡(luò)中延遲低、帶寬高、貢獻(xiàn)大的鄰居節(jié)點提供文件上傳服務(wù),有效利用這些良好性能的節(jié)點帶寬,最終實現(xiàn)減少平均的文件下載時間。通過仿真實驗證明了該策略的有效性,表明該策略能夠在延遲波動和帶寬受限的情況下高效率的實現(xiàn)P2P方式文件共享。
文檔編號H04L29/08GK102594902SQ201210052159
公開日2012年7月18日 申請日期2012年3月1日 優(yōu)先權(quán)日2012年3月1日
發(fā)明者劉志丹, 周文, 李昆泰, 王勇超, 邢衛(wèi) 申請人:浙江大學(xué)