專利名稱:匿名獲取文件的方法和節(jié)點(diǎn)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,特別涉及ー種匿名獲取文件的方法和節(jié)點(diǎn)。
背景技術(shù):
BT(BitTorrent,內(nèi)容分發(fā)協(xié)議)是著名的文件共享工具,擁有大量的用戶。BT 的應(yīng)用主要包括兩個步驟第一,將需要共享的文件進(jìn)行切分,得到種子文件,并上傳到 Tracker服務(wù)器或是網(wǎng)絡(luò)上;第二,在Tracker服務(wù)器或是網(wǎng)絡(luò)上下載種子文件,然后基于種子文件開始對共享文件的下載。目前,當(dāng)用戶通過BT下載文件吋,首先從Tracker服務(wù)器取回節(jié)點(diǎn)列表信息,然后向擁有請求信息的節(jié)點(diǎn)發(fā)起請求,根據(jù)BitTorrent協(xié)議中規(guī)定,節(jié)點(diǎn)如果擁有用戶所請求的信息,則開始文件傳遞;如果沒有,則請求失敗。其中,在通信過程中通信雙方都知道對方的身份,即請求或者擁有的內(nèi)容。在對現(xiàn)有技術(shù)進(jìn)行分析后,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少具有如下缺點(diǎn)在BT系統(tǒng)中,由于通信雙方都知道對方的身份,使得BT并不能提供很好的匿名保護(hù),也就是說當(dāng)用戶在用BT下載和上傳文件吋,能夠監(jiān)視局部網(wǎng)絡(luò)的攻擊者是不難發(fā)現(xiàn)通信雙方的,例如節(jié)點(diǎn)B收到節(jié)點(diǎn)A的請求,則B可以確定A想要下載什么內(nèi)容,如果B是ー個攻擊者,那么A 的隱私完全暴露。
發(fā)明內(nèi)容
為了在BT下載過程中保護(hù)互聯(lián)網(wǎng)用戶的隱私,本發(fā)明實施例提供了ー種匿名獲取文件的方法和節(jié)點(diǎn)。所述技術(shù)方案如下一方面,提供了ー種匿名獲取文件的方法,所述方法包括獲取客戶端下載文件的請求信息;根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。所述將所述文件的信息傳輸給所述客戶端,包括判斷本地是否有所述文件,如果是則將所述文件的信息按所述請求消息的傳輸路徑回傳給所述客戶端,否則返回給所述客戶端請求失敗的消息。所述將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),包括判斷本地的鄰居節(jié)點(diǎn)是否有所述文件,如果是則將所述請求信息轉(zhuǎn)發(fā)給所述鄰居 ザル所述將所述請求消息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),之后還包括接收并存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,所述文件的信息包括所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)的信息。
所述存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,包括根據(jù)預(yù)設(shè)的規(guī)則對所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)進(jìn)行篩選,將所述篩選出的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)。另ー方面,還提供了ー種節(jié)點(diǎn),所述節(jié)點(diǎn)包括獲取模塊,用于獲取客戶端下載文件的請求信息;生成模塊,用于根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;處理模塊,用于判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。所述處理模塊包括第一判斷単元,用于判斷本地是否有所述文件,如果是則將所述文件的信息按所述請求消息的傳輸路徑回傳給所述客戶端,否則返回給所述客戶端請求失敗的消息。所述處理模塊還包括第二判斷単元,用于判斷本地的鄰居節(jié)點(diǎn)是否有所述文件的鄰居節(jié)點(diǎn),如果是則將所述請求信息轉(zhuǎn)發(fā)給所述鄰居節(jié)點(diǎn)。所述處理模塊還包括存儲單元,用于將所述請求消息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn)之后,接收并存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,所述文件的信息包括所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)的信肩、ο所述存儲単元包括添加子単元,用于根據(jù)預(yù)設(shè)的規(guī)則對所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)進(jìn)行篩選,將所述篩選出的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)。本發(fā)明實施例提供的技術(shù)方案,獲取客戶端下載文件的請求信息;根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。這樣以概率轉(zhuǎn)發(fā)客戶端的請求信息,使得攻擊者并不能確定請求的發(fā)起者是誰,目的方又是誰,而只能概率猜測,從而保證了通信雙發(fā)的隱私。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例1提供的ー種匿名獲取文件的方法的流程圖;圖2是本發(fā)明實施例2提供的ー種匿名獲取文件的方法的流程圖;圖3是本發(fā)明實施例3提供的一種節(jié)點(diǎn)的示意圖;圖4是本發(fā)明實施例3提供的另ー種節(jié)點(diǎn)的示意圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)ー步地詳細(xì)描述。實施例1參見圖1,本實施例中提供了ー種匿名獲取文件的方法,包括101、獲取客戶端下載文件的請求信息;102、根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;103、判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。本實施例中,將所述文件的信息傳輸給所述客戶端,包括判斷本地是否有所述文件,如果是則將所述文件的信息按所述請求消息的傳輸路徑回傳給所述客戶端,否則返回給所述客戶端請求失敗的消息??蛇x地,本實施例中,將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),包括判斷本地的鄰居節(jié)點(diǎn)是否有所述文件,如果是則將所述請求信息轉(zhuǎn)發(fā)給所述鄰居 ザル可選地,本實施例中,將所述請求消息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),之后還包括接收并存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,所述文件的信息包括所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)的信息。優(yōu)選地,本實施例中所述存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,包括根據(jù)預(yù)設(shè)的規(guī)則對所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)進(jìn)行篩選,將所述篩選出的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)。本實施例的有益效果包括獲取客戶端下載文件的請求信息;根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。這樣以概率轉(zhuǎn)發(fā)客戶端的請求信息,使得攻擊者并不能確定請求的發(fā)起者是誰,目的方又是誰,而只能概率猜測,從而保證了通信雙發(fā)的隱私。實施例2參見圖2,本實施例提供了ー種匿名獲取文件的方法,包括201、節(jié)點(diǎn)接收客戶端發(fā)起的下載文件的請求信息。本實施例中,當(dāng)客戶端向"Tracker服務(wù)器請求下載文件吋,Tracker進(jìn)行響應(yīng),選擇部分節(jié)點(diǎn)傳輸給客戶端,同時把該節(jié)點(diǎn)加入到Swarm節(jié)點(diǎn)列表中呈現(xiàn)給客戶端,客戶端從Tracker服務(wù)器取回Swarm節(jié)點(diǎn)列表后,選擇節(jié)點(diǎn)列表中的任ー節(jié)點(diǎn)作為請求對象,井向該節(jié)點(diǎn)發(fā)起下載文件的請求。202、節(jié)點(diǎn)收到客戶端發(fā)起的請求后,根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求消息的概率。本實施例中,節(jié)點(diǎn)收到請求信息后,按照本地處理策略,可以在本地處理該請求信息,也可以將該請求信息轉(zhuǎn)發(fā)給其鄰居節(jié)點(diǎn)去處理。具體的,節(jié)點(diǎn)接收到請求信息后,隨機(jī)生成一個轉(zhuǎn)發(fā)該請求消息的概率,根據(jù)概率值決定該請求消息的處理方式。其中轉(zhuǎn)發(fā)請求消息的概率可以通過隨機(jī)生成器生成,也可以通過其它方式來生成,具體的實現(xiàn)方式現(xiàn)有技術(shù)中有很多種,對此本實施例不做具體限定。203、判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則執(zhí)行步驟204;否則執(zhí)行步驟 205。本實施例中,判斷本地生成的概率是否滿足預(yù)設(shè)的范圍,包括判斷本地生成的概率是否小于預(yù)設(shè)的閾值,其中預(yù)設(shè)的閾值是預(yù)先規(guī)定好的,可以為0. 3、0. 5或是0. 6對此本實施例不做具體限定,如果預(yù)設(shè)的閾值為0.6,規(guī)定如果生成的概率小于0.6,則在本地節(jié)點(diǎn)處理請求消息,不再將請求消息轉(zhuǎn)發(fā)給其它的鄰居節(jié)點(diǎn),如果生成的概率大于0. 6,則將該請求消息轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)處理,如本地生成的概率為0. 8,大于0. 6,則將該請求消息繼續(xù)轉(zhuǎn)發(fā)給其它的鄰居節(jié)點(diǎn)進(jìn)行處理,鄰居節(jié)點(diǎn)接收到該請求消息后,進(jìn)行與本地節(jié)點(diǎn)相應(yīng)的處理流程,即生成轉(zhuǎn)發(fā)請求消息的概率,判斷該請求消息是在本地處理還是轉(zhuǎn)發(fā)給其它鄰居節(jié)點(diǎn)處理,對此本實施例不再贅述。本實施例中,判斷本地生成的概率是否滿足預(yù)設(shè)的范圍,包括判斷本地生成的概率是否大于預(yù)設(shè)的閾值,如果大于預(yù)設(shè)的閾值則在本地節(jié)點(diǎn)處理該請求消息,如果小于預(yù)設(shè)閾值則將該請求消息轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)處理,對此本實施例不做具體限定。204、判斷本地是否有所述文件,如果是則將所述文件的信息按所述請求消息的傳輸路徑回傳給所述客戶端,使所述客戶端在本地下載所述文件;否則返回給所述客戶端請求失敗的消息。本實施例中,本地節(jié)點(diǎn)可能是Tracker服務(wù)器提供的節(jié)點(diǎn)列表中的節(jié)點(diǎn),其中將 Tracker服務(wù)器提供的節(jié)點(diǎn)列表中的節(jié)點(diǎn)稱作節(jié)點(diǎn)1,也可能是節(jié)點(diǎn)2轉(zhuǎn)發(fā)到的節(jié)點(diǎn),如節(jié)點(diǎn)1按照本地處理策略將請求信息轉(zhuǎn)發(fā)給節(jié)點(diǎn)2,節(jié)點(diǎn)2又將該請求信息轉(zhuǎn)發(fā)給節(jié)點(diǎn)3。如果本地節(jié)點(diǎn)為節(jié)點(diǎn)1,則判斷出需要在本地處理請求消息后,則直接將文件傳輸給客戶端。 如果本地節(jié)點(diǎn)是節(jié)點(diǎn)3,且節(jié)點(diǎn)3根據(jù)生成的概率判斷出需要本地處理請求信息,則該節(jié)點(diǎn)首先判斷本地是否有客戶端請求下載的文件,如果本地有客戶端請求的文件,則響應(yīng)客戶端的請求,按請求信息的傳輸路徑將文件的信息返回給客戶端,即將文件沿著節(jié)點(diǎn)3、節(jié)點(diǎn) 2到節(jié)點(diǎn)1的原路徑返回到客戶端,以使客戶端在本地下載所述文件。本實施例中,如果本地節(jié)點(diǎn)是節(jié)點(diǎn)3,則在節(jié)點(diǎn)3返回的文件信息的過程中,途徑的每個節(jié)點(diǎn)都會存儲該文件的信息,如節(jié)點(diǎn)2在接收到節(jié)點(diǎn)3返回的文件信息的時候,將文件信息保存,如果判斷出本地已存儲有該文件信息,則再將該文件信息刪除,如果發(fā)現(xiàn)本地沒有存儲有該文件信息,則保留該文件信息。本實施例中,如果本地節(jié)點(diǎn)上沒有客戶端需要下載的文件,則返回給客戶端請求失敗的信息,使得客戶端可以在Tracker服務(wù)器提供的節(jié)點(diǎn)列表中尋找其它的節(jié)點(diǎn)下載文件。205、將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。本實施例中,如果生成的概率不滿足預(yù)設(shè)的范圍,如大于預(yù)設(shè)的閾值,則將該請求信息轉(zhuǎn)發(fā)給其鄰居節(jié)點(diǎn),該鄰居節(jié)點(diǎn)再對該請求消息按照本地處理策略進(jìn)行處理。其中優(yōu)選地,將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),包括判斷本地的鄰居節(jié)點(diǎn)是否有所述文件的鄰居節(jié)點(diǎn),如果是則將所述請求信息轉(zhuǎn)發(fā)給所述鄰居節(jié)點(diǎn)。本實施例中,在將請求信息轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)之前先判斷鄰居節(jié)點(diǎn)是否存儲有客戶端需要請求下載的文件,如果其鄰居節(jié)點(diǎn)有客戶端需要下載的文件,則再將該請求信息轉(zhuǎn)發(fā)給該鄰居,這樣能降低客戶端請求失敗的概率。本實施例中,任何一個節(jié)點(diǎn)收到請求后,都會進(jìn)行概率轉(zhuǎn)發(fā),這樣攻擊者并不能確定請求的發(fā)起者是誰,目的方又是誰,而只能概率猜測,從而保證了通信雙發(fā)的隱私。206、接收并存儲鄰居節(jié)點(diǎn)返回的所述文件的信息。本實施例中,如果本地節(jié)點(diǎn)沒有處理請求信息,而是將請求信息轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)處理,如上述節(jié)點(diǎn)3決定響應(yīng)請求信息,則節(jié)點(diǎn)3沿著節(jié)點(diǎn)2,節(jié)點(diǎn)1的路徑回傳文件的信息,其中文件的信息除了包括客戶端請求下載文件的內(nèi)容外,還包括該鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)的信息,節(jié)點(diǎn)1接收到節(jié)點(diǎn)3返回的文件信息后,保存該信息,并將該鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)??蛇x地,本實施例中,節(jié)點(diǎn)1可以根據(jù)預(yù)設(shè)的規(guī)則對所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)進(jìn)行篩選,將所述篩選出的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)。具體的本實施例中,預(yù)設(shè)的規(guī)則可以是,判斷鄰居節(jié)點(diǎn)擁有的某些鄰居節(jié)點(diǎn)上是否有相同的文件信息,如果是,則可以將這些節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn),或是,判斷鄰居節(jié)點(diǎn)擁有的某些鄰居節(jié)點(diǎn)上是否有預(yù)設(shè)數(shù)量的文件信息,如超過20個文件的信息,如果是則可以將這樣的節(jié)點(diǎn)添加為鄰居節(jié)點(diǎn),并可以進(jìn)ー步對添加到的鄰居節(jié)點(diǎn)進(jìn)行篩選,將ー些通信質(zhì)量好,內(nèi)容豐富的節(jié)點(diǎn)保留為鄰居節(jié)點(diǎn),相対的,將ー些內(nèi)容少的節(jié)點(diǎn)節(jié)點(diǎn)刪除,對此本實施例不做具體限定,總的原則是以較大的概率使得擁有同一個文件分片的節(jié)點(diǎn)聚集在一起;同時要保證擁有不同分片的節(jié)點(diǎn)成為自己的鄰居,以能夠保證以很高的概率請求成功。本發(fā)明實施例提供的技術(shù)方案的有益效果是獲取客戶端下載文件的請求信息; 根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。這樣以概率轉(zhuǎn)發(fā)客戶端的請求信息, 使得攻擊者并不能確定請求的發(fā)起者是誰,目的方又是誰,而只能概率猜測,從而保證了通信雙發(fā)的隱私。并且在將請求信息轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn)之前先判斷鄰居節(jié)點(diǎn)是否有請求文件的信息,如果有則再將請求信息轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn),這樣能提高客戶端請求成功的概率。且在接收到鄰居節(jié)點(diǎn)返回的文件的信息后,存儲該文件信息,將鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn),這樣進(jìn)一步保證客戶端請求成功的概率。實施例3參見圖3,本實施例中提供了ー種節(jié)點(diǎn),所述節(jié)點(diǎn)包括獲取模塊301、生成模塊 302和處理模塊303。獲取模塊301,用于獲取客戶端下載文件的請求信息;生成模塊302,用于根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;處理模塊303,用于判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。參見圖4,本實施例中,處理模塊303包括第一判斷単元303a,用于判斷本地是否有所述文件,如果是則將所述文件的信息按所述請求消息的傳輸路徑回傳給所述客戶端,否則返回給所述客戶端請求失敗的消息??蛇x地,本實施例中處理模塊303還包括第二判斷単元30北,用于判斷本地的鄰居節(jié)點(diǎn)是否有所述文件,如果是則將所述請求信息轉(zhuǎn)發(fā)給所述鄰居節(jié)點(diǎn)。可選地,參見圖4,本實施例中,處理模塊303還包括存儲單元303c,用于將所述請求消息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn)之后,接收并存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,所述文件的信息包括所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)的
イロ‘ >Ε、。優(yōu)選地本實施例中,存儲單元303c包括添加子単元,用于根據(jù)預(yù)設(shè)的規(guī)則對所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)進(jìn)行篩選,將所述篩選出的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)。本實施例的有益效果包括獲取客戶端下載文件的請求信息;根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。這樣以概率轉(zhuǎn)發(fā)客戶端的請求信息,使得攻擊者并不能確定請求的發(fā)起者是誰,目的方又是誰,而只能概率猜測,從而保證了通信雙發(fā)的隱私。本實施例提供的節(jié)點(diǎn),具體可以與方法實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。本發(fā)明實施例提供的上述技術(shù)方案的全部或部分可以通過程序指令相關(guān)的硬件來完成,所述程序可以存儲在可讀取的存儲介質(zhì)中,該存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種獲取文件的方法,其特征在干,所述方法包括 獲取客戶端下載文件的請求信息;根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端, 否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。
2.根據(jù)權(quán)利要求1所述的方法,其特征在干,所述將所述文件的信息傳輸給所述客戶端,包括判斷本地是否有所述文件,如果是則將所述文件的信息按所述請求消息的傳輸路徑回傳給所述客戶端,否則返回給所述客戶端請求失敗的消息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在干,所述將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),包括判斷本地的鄰居節(jié)點(diǎn)是否有所述文件,如果是則將所述請求信息轉(zhuǎn)發(fā)給所述鄰居節(jié)點(diǎn)。
4.根據(jù)權(quán)利要求1-3任一項所述的方法,其特征在干,所述將所述請求消息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),之后還包括接收并存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,所述文件的信息包括所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)的信息。
5.根據(jù)權(quán)利要求4所述的方法,其特征在干,所述存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,包括根據(jù)預(yù)設(shè)的規(guī)則對所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)進(jìn)行篩選,將所述篩選出的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)。
6.ー種節(jié)點(diǎn),其特征在干,所述節(jié)點(diǎn)包括 獲取模塊,用于獲取客戶端下載文件的請求信息;生成模塊,用于根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率; 處理模塊,用于判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。
7.根據(jù)權(quán)利要求6所述的節(jié)點(diǎn),其特征在干,所述處理模塊包括第一判斷単元,用于判斷本地是否有所述文件,如果是則將所述文件的信息按所述請求消息的傳輸路徑回傳給所述客戶端,否則返回給所述客戶端請求失敗的消息。
8.根據(jù)權(quán)利要求6所述的節(jié)點(diǎn),其特征在干,所述處理模塊還包括第二判斷単元,用于判斷本地的鄰居節(jié)點(diǎn)是否有所述文件,如果是則將所述請求信息轉(zhuǎn)發(fā)給所述鄰居節(jié)點(diǎn)。
9.根據(jù)權(quán)利要求6-8任ー項所述的節(jié)點(diǎn),其特征在干,所述處理模塊還包括 存儲單元,用于將所述請求消息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn)之后,接收并存儲所述鄰居節(jié)點(diǎn)返回的所述文件的信息,所述文件的信息包括所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)的信息。
10.根據(jù)權(quán)利要求9所述的節(jié)點(diǎn),其特征在干,所述存儲単元包括添加子単元,用于根據(jù)預(yù)設(shè)的規(guī)則對所述鄰居節(jié)點(diǎn)擁有的鄰居節(jié)點(diǎn)進(jìn)行篩選,將所述篩選出的鄰居節(jié)點(diǎn)添加為本地的鄰居節(jié)點(diǎn)。
全文摘要
本發(fā)明公開了一種匿名獲取文件的方法和節(jié)點(diǎn),屬于互聯(lián)網(wǎng)領(lǐng)域。所述方法包括獲取客戶端下載文件的請求信息;根據(jù)所述請求信息生成轉(zhuǎn)發(fā)所述請求信息的概率;判斷所述概率是否滿足預(yù)設(shè)的范圍,如果是則將所述文件的信息傳輸給所述客戶端,否則將所述請求信息轉(zhuǎn)發(fā)給本地的鄰居節(jié)點(diǎn),使所述客戶端在本地的鄰居節(jié)點(diǎn)上下載所述文件。本發(fā)明實施例中以概率轉(zhuǎn)發(fā)客戶端的請求,這樣攻擊者并不能確定請求的發(fā)起者是誰,目的方又是誰,而只能概率猜測,從而保證了通信雙發(fā)的隱私。
文檔編號H04L29/06GK102546634SQ201210006349
公開日2012年7月4日 申請日期2012年1月10日 優(yōu)先權(quán)日2012年1月10日
發(fā)明者謝豐, 趙偉, 趙玲玲, 金昕, 陸天波, 陳冬青 申請人:北京郵電大學(xué)