專利名稱:一種p2p數(shù)據(jù)被動(dòng)分發(fā)方法及節(jié)點(diǎn)客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)中,信息交換、數(shù)據(jù)共享、數(shù)據(jù)分發(fā)等技術(shù)領(lǐng)域。更具體說(shuō),涉及一種P2P數(shù)據(jù)被動(dòng)分發(fā)方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大,Internet相關(guān)的信息技術(shù)獲得了迅猛發(fā)展。然而,網(wǎng)絡(luò)用戶人數(shù)爆炸式增長(zhǎng)造成的網(wǎng)絡(luò)擁堵,日益成為制約互聯(lián)網(wǎng)發(fā)展的瓶頸,因此,如何在提高網(wǎng)絡(luò)內(nèi)容服務(wù)質(zhì)量的同時(shí)有效降低資源的消耗、提升用戶體驗(yàn),是互聯(lián)網(wǎng)應(yīng)用領(lǐng)域面臨的主要問(wèn)題之一。為了克服互聯(lián)網(wǎng)中采用的傳統(tǒng)客戶端/服務(wù)器結(jié)構(gòu)存在的可擴(kuò)展性差、易出現(xiàn)網(wǎng)絡(luò)擁堵、資源有效利用率較低等缺點(diǎn),對(duì)等計(jì)算(Peer-to-Peer,簡(jiǎn)稱P2P,又被稱為“點(diǎn)對(duì)點(diǎn)”)技術(shù)應(yīng)運(yùn)而生。P2P網(wǎng)絡(luò)是基于共享的分布式網(wǎng)絡(luò),網(wǎng)絡(luò)的參與者稱為節(jié)點(diǎn)(即Peer),所有參與者的地位平等,節(jié)點(diǎn)既是客戶端也是服務(wù)器。P2P節(jié)點(diǎn)之間通過(guò)一定的方式組織在一起,當(dāng)節(jié)點(diǎn)請(qǐng)求資源時(shí),通過(guò)一定的查找策略來(lái)定位擁有所請(qǐng)求資源的節(jié)點(diǎn),并從中獲取文件內(nèi)容。P2P技術(shù)這種節(jié)點(diǎn)與節(jié)點(diǎn)之間直接鏈接并交換數(shù)據(jù)的方式,允許個(gè)人計(jì)算機(jī)之間直接進(jìn)行資源和服務(wù)的共享,從而充分利用了節(jié)點(diǎn)之間的帶寬資源,很大程度上緩解了網(wǎng)站后端服務(wù)器的流量壓力,更好地實(shí)現(xiàn)了整個(gè)網(wǎng)絡(luò)的負(fù)載均衡。鑒于P2P技術(shù)的以上特點(diǎn)和技術(shù)優(yōu)勢(shì),其已被廣泛用于電子商務(wù)、文件共享、網(wǎng)上直播、視頻點(diǎn)播、網(wǎng)絡(luò)廣告、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療、視頻會(huì)議等眾多互聯(lián)網(wǎng)領(lǐng)域的應(yīng)用。
在P2P技術(shù)中,由源節(jié)點(diǎn)收到其它節(jié)點(diǎn)的請(qǐng)求后,被動(dòng)地把數(shù)據(jù)分發(fā)給與自己建立連接的節(jié)點(diǎn)的方式,稱為被動(dòng)分發(fā)方式。然而目前的P2P數(shù)據(jù)分發(fā),主要是通過(guò)中心服務(wù)器獲得對(duì)方節(jié)點(diǎn)數(shù)據(jù)的索引信息,然后再通過(guò)查詢鄰居節(jié)點(diǎn)進(jìn)行數(shù)據(jù)分發(fā)決策。這種使用中心服務(wù)器作為通訊的中間環(huán)節(jié)的方法,會(huì)造成中心服務(wù)器壓力大、數(shù)據(jù)分發(fā)不及時(shí)等缺點(diǎn),特別是當(dāng)網(wǎng)絡(luò)帶寬有限、節(jié)點(diǎn)數(shù)目眾多、數(shù)據(jù)請(qǐng)求頻繁時(shí),這一缺點(diǎn)就更加突出地暴露出來(lái)。例如,當(dāng)某網(wǎng)站提供“春晚(直播)”節(jié)目在線視頻播放服務(wù)或者“中國(guó)好聲音”等高收視率節(jié)目網(wǎng)絡(luò)視頻點(diǎn)播服務(wù)時(shí),很容易因短時(shí)間內(nèi)發(fā)送請(qǐng)求的用戶節(jié)點(diǎn)過(guò)多,造成中心服務(wù)器數(shù)據(jù)分發(fā)決策嚴(yán)重滯后,導(dǎo)致用戶無(wú)法正常順暢地觀看節(jié)目。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是克服現(xiàn)有P2P數(shù)據(jù)分發(fā)方法存在的服務(wù)器壓力大、數(shù)據(jù)分發(fā)不及時(shí)等缺點(diǎn),使得通訊速度更快捷。為實(shí)現(xiàn)上述的發(fā)明目的,本發(fā)明提出一套完整的P2P數(shù)據(jù)被動(dòng)分發(fā)方法的技術(shù)方案,包括以下內(nèi)容
一種P2P數(shù)據(jù)被動(dòng)分發(fā)方法,其特征在于具體包括以下內(nèi)容在一個(gè)至少包含第一節(jié)點(diǎn)和第二節(jié)點(diǎn)的P2P網(wǎng)絡(luò)中,第一節(jié)點(diǎn)與第二節(jié)點(diǎn)建立連接;第一節(jié)點(diǎn)向第二節(jié)點(diǎn)發(fā)送數(shù)據(jù)的下載請(qǐng)求;第二節(jié)點(diǎn)通過(guò)查找存儲(chǔ)于其中的第二數(shù)據(jù)信息表,判斷請(qǐng)求的所述數(shù)據(jù)是否存在于第二節(jié)點(diǎn)中;若是,則第二節(jié)點(diǎn)向第一節(jié)點(diǎn)傳送所述數(shù)據(jù),若否,則第二節(jié)點(diǎn)告知第一節(jié)點(diǎn)所述數(shù)據(jù)不存在于第二節(jié)點(diǎn)中。優(yōu)選地,在所述第一節(jié)點(diǎn)與第二節(jié)點(diǎn)建立連接之前,還包括所述第一節(jié)點(diǎn)根據(jù)存儲(chǔ)于其中的第一數(shù)據(jù)信息表,獲知其所需下載的數(shù)據(jù)。優(yōu)選地,存儲(chǔ)于節(jié)點(diǎn)中的所述數(shù)據(jù)信息表,其建立過(guò)程為所述節(jié)點(diǎn)開(kāi)始工作后,搜索其鄰居節(jié)點(diǎn)并從這些鄰居節(jié)點(diǎn)下載數(shù)據(jù),根據(jù)所述下載數(shù)據(jù)建立所述節(jié)點(diǎn)的數(shù)據(jù)信息表。優(yōu)選地,將建立的所述節(jié)點(diǎn)的數(shù)據(jù)信息表存儲(chǔ)在所述節(jié)點(diǎn)的內(nèi)存中。優(yōu)選地,所述P2P網(wǎng)絡(luò)中進(jìn)一步包括中心服務(wù)器,所述搜索由所述中心服務(wù)器執(zhí)行。優(yōu)選地,存儲(chǔ)于節(jié)點(diǎn)中的所述數(shù)據(jù)信息表,包含存在于該節(jié)點(diǎn)中的數(shù)據(jù)的數(shù)據(jù)索引。優(yōu)選地,所述第一數(shù)據(jù)信息表具體包含存在于所述第一節(jié)點(diǎn)中的文件的各個(gè)文件塊的索引。優(yōu)選地,所述第二數(shù)據(jù)信息表具體包含存在于所述第二節(jié)點(diǎn)中的文件的各個(gè)文件塊的索引。優(yōu)選地,所述第二節(jié)點(diǎn)為源節(jié)點(diǎn)。此外,為解決以上技術(shù)問(wèn)題,本發(fā)明還提供了一種P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)客戶端,該客戶端具體包括連接模塊,其使得所述節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中的另一節(jié)點(diǎn)建立連接;下載請(qǐng)求發(fā)送模塊,其將所述節(jié)點(diǎn)的數(shù)據(jù)下載請(qǐng)求發(fā)送給所述另一節(jié)點(diǎn);判斷模塊,其根據(jù)所述另一節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表,判斷請(qǐng)求的所述數(shù)據(jù)是否存在于所述另一節(jié)點(diǎn)中;執(zhí)行模塊,若判斷模塊的結(jié)果為是,其執(zhí)行將所述數(shù)據(jù)從所述另一節(jié)點(diǎn)傳送至所述節(jié)點(diǎn)的操作,若判斷模塊的結(jié)果為否,其告知所述節(jié)點(diǎn)所述數(shù)據(jù)不存在于所述另一節(jié)點(diǎn)中。優(yōu)選地,所述客戶端還包括數(shù)據(jù)信息表建立模塊,其當(dāng)所述節(jié)點(diǎn)開(kāi)始工作后,搜索所述節(jié)點(diǎn)的鄰居節(jié)點(diǎn)并從這些鄰居節(jié)點(diǎn)下載數(shù)據(jù),根據(jù)所述下載數(shù)據(jù)建立所述節(jié)點(diǎn)的數(shù)據(jù)信息表。優(yōu)選地,所述客戶端還包括內(nèi)部存儲(chǔ)器,其用于存儲(chǔ)所述數(shù)據(jù)信息表建立模塊建立的所述節(jié)點(diǎn)的數(shù)據(jù)信息表。優(yōu)選地,所述內(nèi)部存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)信息表,包含存在于所述節(jié)點(diǎn)中的數(shù)據(jù)的數(shù)據(jù)索引。優(yōu)選地,所述下載請(qǐng)求發(fā)送模塊根據(jù)存儲(chǔ)在所述內(nèi)部存儲(chǔ)器中的所述節(jié)點(diǎn)的數(shù)據(jù)信息表,獲知所述節(jié)點(diǎn)所需下載的數(shù)據(jù)。 優(yōu)選地,所述搜索由中心服務(wù)器執(zhí)行。優(yōu)選地,所述另一節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表,包含存在于所述另一節(jié)點(diǎn)中的數(shù)據(jù)的數(shù)據(jù)索引。優(yōu)選地,所述另一節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表中的數(shù)據(jù)索引,具體為存在于所述另一節(jié)點(diǎn)中的文件的各個(gè)文件塊的索引。在上述任一方案中優(yōu)選的是,所述文件為視頻文件,所述文件塊為所述視頻文件的一部分。在上述任一方案中優(yōu)選的是,所述數(shù)據(jù)索引為指向存儲(chǔ)所述數(shù)據(jù)索引所對(duì)應(yīng)的數(shù)據(jù)的指針。本發(fā)明實(shí)現(xiàn)的上述方法和客戶端,只有當(dāng)源節(jié)點(diǎn)收到對(duì)方節(jié)點(diǎn)的具體數(shù)據(jù)請(qǐng)求時(shí),才把對(duì)方需要的數(shù)據(jù)被動(dòng)分發(fā)到對(duì)方。這種方法降低了服務(wù)器負(fù)載,同時(shí)提高了數(shù)據(jù)的實(shí)時(shí)分發(fā)速度以及減少了數(shù)據(jù)分發(fā)的冗余。由于數(shù)據(jù)信息分散交換,減少了信息通訊的中間環(huán)節(jié),因此不但實(shí)現(xiàn)了根據(jù)需要分發(fā)數(shù)據(jù),即滿足按需原則,還達(dá)到讓通訊速度更為快捷的技術(shù)效果。
此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,并不構(gòu)成對(duì)本發(fā)明的限定。圖1是作為本發(fā)明一個(gè)實(shí)施例的P2P網(wǎng)絡(luò)示意圖
圖2是作為本發(fā)明一個(gè)實(shí)施例的P2P數(shù)據(jù)被動(dòng)分發(fā)方法的示意圖 圖3是作為本發(fā)明一個(gè)實(shí)施例的P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)客戶端的示意圖
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式
進(jìn)行詳細(xì)說(shuō)明。在此,實(shí)施說(shuō)明用于解釋本發(fā)明,但并不作為對(duì)本發(fā)明的限定。圖1所示為本發(fā)明實(shí)施例的典型P2P網(wǎng)絡(luò)示意圖,其描述了本發(fā)明的適用環(huán)境以及設(shè)計(jì)的理念,該實(shí)施例P2P網(wǎng)絡(luò)包括一中心服務(wù)器、兩個(gè)(但不局限于兩個(gè))P2P子網(wǎng),以及在每個(gè)子網(wǎng)下的若干P2P節(jié)點(diǎn)。以其中一個(gè)P2P子網(wǎng)的兩個(gè)節(jié)點(diǎn)A和B的為例,欲從節(jié)點(diǎn)B中獲得節(jié)點(diǎn)A所需的數(shù)據(jù),則結(jié)合圖2所示的P2P數(shù)據(jù)被動(dòng)分發(fā)方法的示意圖,其內(nèi)容具體包括
SlOl,建立各節(jié)點(diǎn)的數(shù)據(jù)信息表。具體而言,節(jié)點(diǎn)A開(kāi)始工作后,通過(guò)中心服務(wù)器搜索節(jié)點(diǎn)A的鄰居節(jié)點(diǎn)并從這些鄰居節(jié)點(diǎn)下載數(shù)據(jù),根據(jù)這些下載數(shù)據(jù)建立節(jié)點(diǎn)A的數(shù)據(jù)信息表,并將該數(shù)據(jù)信息表存儲(chǔ)于節(jié)點(diǎn)A的內(nèi)存中,所述數(shù)據(jù)信息表包括了節(jié)點(diǎn)A下載并存儲(chǔ)在其中的數(shù)據(jù)的數(shù)據(jù)索引;同樣的,節(jié)點(diǎn)B開(kāi)始工作后,通過(guò)中心服務(wù)器搜索節(jié)點(diǎn)B的鄰居節(jié)點(diǎn)并從這些鄰居節(jié)點(diǎn)下載數(shù)據(jù),根據(jù)這些下載數(shù)據(jù)建立節(jié)點(diǎn)B的數(shù)據(jù)信息表,并將該數(shù)據(jù)信息表存儲(chǔ)于節(jié)點(diǎn)B的內(nèi)存中,所述數(shù)據(jù)信息表包括了節(jié)點(diǎn)B下載并存儲(chǔ)在其中的數(shù)據(jù)的數(shù)據(jù)索引。S102,目標(biāo)節(jié)點(diǎn)獲知其所需下載的數(shù)據(jù)
具體而言,節(jié)點(diǎn)A根據(jù)存儲(chǔ)于其中的數(shù)據(jù)信息表,獲知節(jié)點(diǎn)A所需下載的數(shù)據(jù)。S103,建立兩節(jié)點(diǎn)之間的連接,目標(biāo)節(jié)點(diǎn)向源節(jié)點(diǎn)發(fā)送數(shù)據(jù)的下載請(qǐng)求
具體而言,節(jié)點(diǎn)A與節(jié)點(diǎn)B建立連接,節(jié)點(diǎn)A根據(jù)已獲知的所需下載的數(shù)據(jù),向節(jié)點(diǎn)B發(fā)送數(shù)據(jù)的下載請(qǐng)求。 S104,判斷請(qǐng)求的數(shù)據(jù)是否存在于源節(jié)點(diǎn)中。具體而言,通過(guò)查找存儲(chǔ)于節(jié)點(diǎn)B中的數(shù)據(jù)信息表中的數(shù)據(jù)索引,判斷節(jié)點(diǎn)A請(qǐng)求的數(shù)據(jù)是否存在于節(jié)點(diǎn)B中,換句話說(shuō),就是判斷節(jié)點(diǎn)B中是否存在節(jié)點(diǎn)A所需下載的數(shù)據(jù)。S105,根據(jù)判斷結(jié)果決定是否傳送數(shù)據(jù)
具體而言,若判斷的結(jié)果為是,也就是節(jié)點(diǎn)A所需下載的數(shù)據(jù)存在于節(jié)點(diǎn)B中,則節(jié)點(diǎn)B向節(jié)點(diǎn)A傳送所述數(shù)據(jù);若判斷的結(jié)果為否,也就是節(jié)點(diǎn)A所需下載的數(shù)據(jù)不存在于節(jié)點(diǎn)B中,則節(jié)點(diǎn)B告知節(jié)點(diǎn)A所述數(shù)據(jù)不存在于節(jié)點(diǎn)B中。—較佳實(shí)施例為節(jié)點(diǎn)A的數(shù)據(jù)信息表中的數(shù)據(jù)索引,為存在于節(jié)點(diǎn)A中的文件的各個(gè)文件塊的索引;節(jié)點(diǎn)B的數(shù)據(jù)信息表中的數(shù)據(jù)索引,為存在于節(jié)點(diǎn)B中的文件的各個(gè)文件塊的索引。例如,一個(gè)Rmvb格式的網(wǎng)絡(luò)視頻文件由100個(gè)文件塊組成,節(jié)點(diǎn)A已經(jīng)下載了該視頻文件的第1、3、7、10塊,則其數(shù)據(jù)信息表的內(nèi)容就是[1,3,7,10](其中“1”、“3、“7”、“10”分別為各視頻文件塊的數(shù)據(jù)索引);而節(jié)點(diǎn)B已下載了該視頻文件的第1、2、9塊,則其數(shù)據(jù)信息表的內(nèi)容就是[1,2,9]??梢?jiàn),節(jié)點(diǎn)A所需的數(shù)據(jù)為視頻文件的第I 100塊中除了第1、3、7、10塊的所有文件快。當(dāng)節(jié)點(diǎn)A根據(jù)已獲知的所需下載的文件塊,向節(jié)點(diǎn)B發(fā)送數(shù)據(jù)的下載請(qǐng)求時(shí),通過(guò)判斷,可知節(jié)點(diǎn)A所需的文件塊2、9已存在于節(jié)點(diǎn)B中,因此節(jié)點(diǎn)B向節(jié)點(diǎn)A傳送文件塊2、9 ;而節(jié)點(diǎn)A所需的其它文件塊不存在于節(jié)點(diǎn)B中,因此節(jié)點(diǎn)B告知節(jié)點(diǎn)A其所需的其它文件塊不存在于節(jié)點(diǎn)B中。另一較佳實(shí)施例為所述數(shù)據(jù)索引為指向存儲(chǔ)所述數(shù)據(jù)索引所對(duì)應(yīng)的數(shù)據(jù)的指針。
此外,本發(fā)明還提供了一種P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)客戶端,如圖3所示,該客戶端包括數(shù)據(jù)信息表建立模塊、內(nèi)部存儲(chǔ)器、連接模塊、下載請(qǐng)求發(fā)送模塊、判斷模塊以及執(zhí)行模塊,其中
當(dāng)節(jié)點(diǎn)開(kāi)始工作后,數(shù)據(jù)信息表建立模塊通過(guò)中心服務(wù)器搜索所述節(jié)點(diǎn)的鄰居節(jié)點(diǎn)并從這些鄰居節(jié)點(diǎn)下載數(shù)據(jù),根據(jù)所述下載數(shù)據(jù)建立所述節(jié)點(diǎn)的數(shù)據(jù)信息表;內(nèi)部存儲(chǔ)器存儲(chǔ)所述數(shù)據(jù)信息表建立模塊建立的所述節(jié)點(diǎn)的數(shù)據(jù)信息表;連接模塊使得所述節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中的另一節(jié)點(diǎn)建立連接;下載請(qǐng)求發(fā)送模塊將所述節(jié)點(diǎn)的數(shù)據(jù)下載請(qǐng)求發(fā)送給所述另一節(jié)點(diǎn);判斷模塊根據(jù)所述另一節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表,判斷請(qǐng)求的所述數(shù)據(jù)是否存在于所述另一節(jié)點(diǎn)中;若判斷模塊的結(jié)果為是,則執(zhí)行模塊執(zhí)行將所述數(shù)據(jù)從所述另一節(jié)點(diǎn)傳送至所述節(jié)點(diǎn)的操作,若判斷模塊的結(jié)果為否,則執(zhí)行模塊告知所述節(jié)點(diǎn)所述數(shù)據(jù)不存在于所述另一節(jié)點(diǎn)中。—較佳實(shí)施例為所述內(nèi)部存儲(chǔ)器中存儲(chǔ)的數(shù)據(jù)信息表,包含存在于所述節(jié)點(diǎn)中的數(shù)據(jù)的數(shù)據(jù)索引;所述另一節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表,包含存在于所述另一節(jié)點(diǎn)中的數(shù)據(jù)的數(shù)據(jù)索引。另一較佳實(shí)施例為所述下載請(qǐng)求發(fā)送模塊根據(jù)存儲(chǔ)在所述內(nèi)部存儲(chǔ)器中的所述節(jié)點(diǎn)的數(shù)據(jù)信息表,獲知所述節(jié)點(diǎn)所需下載的數(shù)據(jù)。另一較佳實(shí)施例為所述節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表中的數(shù)據(jù)索引,具體為存在于所述節(jié)點(diǎn)中的文件的各個(gè)文件塊的索引;所述另一節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表中的數(shù)據(jù)索弓丨,具體為存在于所述另一節(jié)點(diǎn)中的文件的各個(gè)文件塊的索引。例如所述文件為視頻文件,所述文件塊為所述視頻文件的一部分。另一較佳實(shí)施例為所述數(shù)據(jù)索引為指向存儲(chǔ)所述數(shù)據(jù)索引所對(duì)應(yīng)的數(shù)據(jù)的指針。
最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對(duì)本發(fā)明的技術(shù)方案進(jìn)行修 改或等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種P2P數(shù)據(jù)被動(dòng)分發(fā)方法,其特征在于具體包括以下內(nèi)容在一個(gè)至少包含第一節(jié)點(diǎn)和第二節(jié)點(diǎn)的P2P網(wǎng)絡(luò)中,第一節(jié)點(diǎn)與第二節(jié)點(diǎn)建立連接;第一節(jié)點(diǎn)向第二節(jié)點(diǎn)發(fā)送數(shù)據(jù)的下載請(qǐng)求;第二節(jié)點(diǎn)通過(guò)查找存儲(chǔ)于其中的第二數(shù)據(jù)信息表,判斷請(qǐng)求的所述數(shù)據(jù)是否存在于第二節(jié)點(diǎn)中;若是,則第二節(jié)點(diǎn)向第一節(jié)點(diǎn)傳送所述數(shù)據(jù),若否,則第二節(jié)點(diǎn)告知第一節(jié)點(diǎn)所述數(shù)據(jù)不存在于第二節(jié)點(diǎn)中。
2.如權(quán)利要求1所述的方法,其特征在于,在所述第一節(jié)點(diǎn)與第二節(jié)點(diǎn)建立連接之前,還包括所述第一節(jié)點(diǎn)根據(jù)存儲(chǔ)于其中的第一數(shù)據(jù)信息表,獲知其所需下載的數(shù)據(jù)。
3.如權(quán)利要求1或2所述的方法,其特征在于,存儲(chǔ)于節(jié)點(diǎn)中的所述數(shù)據(jù)信息表,其建立過(guò)程為所述節(jié)點(diǎn)開(kāi)始工作后,搜索其鄰居節(jié)點(diǎn)并從這些鄰居節(jié)點(diǎn)下載數(shù)據(jù),根據(jù)所述下載數(shù)據(jù)建立所述節(jié)點(diǎn)的數(shù)據(jù)信息表。
4.如權(quán)利要求3所述的方法,其特征在于,將建立的所述節(jié)點(diǎn)的數(shù)據(jù)信息表存儲(chǔ)在所述節(jié)點(diǎn)的內(nèi)存中。
5.如權(quán)利要求4所述的方法,其特征在于,所述P2P網(wǎng)絡(luò)中進(jìn)一步包括中心服務(wù)器,所述搜索由所述中心服務(wù)器執(zhí)行。
6.如權(quán)利要求1或2所述的方法,其特征在于,存儲(chǔ)于節(jié)點(diǎn)中的所述數(shù)據(jù)信息表,包含存在于該節(jié)點(diǎn)中的數(shù)據(jù)的數(shù)據(jù)索引。
7.如權(quán)利要求2所述的方法,其特征在于,所述第一數(shù)據(jù)信息表具體包含存在于所述第一節(jié)點(diǎn)中的文件的各個(gè)文件塊的索引。
8.如權(quán)利要求6所述的方法,其特征在于,所述第二數(shù)據(jù)信息表具體包含存在于所述第二節(jié)點(diǎn)中的文件的各個(gè)文件塊的索引。
9.如權(quán)利要求7或8所述的方法,其特征在于所述文件為視頻文件,所述文件塊為所述視頻文件的一部分。
10.一種P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)客戶端,該客戶端具體包括 連接模塊,其使得所述節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中的另一節(jié)點(diǎn)建立連接; 下載請(qǐng)求發(fā)送模塊,其將所述節(jié)點(diǎn)的數(shù)據(jù)下載請(qǐng)求發(fā)送給所述另一節(jié)點(diǎn); 判斷模塊,其根據(jù)所述另一節(jié)點(diǎn)中存儲(chǔ)的數(shù)據(jù)信息表,判斷請(qǐng)求的所述數(shù)據(jù)是否存在于所述另一節(jié)點(diǎn)中; 執(zhí)行模塊,若判斷模塊的結(jié)果為是,其執(zhí)行將所述數(shù)據(jù)從所述另一節(jié)點(diǎn)傳送至所述節(jié)點(diǎn)的操作,若判斷模塊的結(jié)果為否,其告知所述節(jié)點(diǎn)所述數(shù)據(jù)不存在于所述另一節(jié)點(diǎn)中。
全文摘要
本發(fā)明提出一套P2P數(shù)據(jù)被動(dòng)分發(fā)方法的技術(shù)方案。針對(duì)包含多個(gè)節(jié)點(diǎn)的P2P網(wǎng)絡(luò),首先通過(guò)中心服務(wù)器搜索節(jié)點(diǎn)的鄰居節(jié)點(diǎn)并從這些鄰居節(jié)點(diǎn)下載數(shù)據(jù),從而建立節(jié)點(diǎn)的數(shù)據(jù)信息表;然后建立兩節(jié)點(diǎn)之間的連接,目標(biāo)節(jié)點(diǎn)向源節(jié)點(diǎn)發(fā)送數(shù)據(jù)的下載請(qǐng)求;判斷請(qǐng)求的數(shù)據(jù)是否存在于源節(jié)點(diǎn)中;若是,則源點(diǎn)向目標(biāo)節(jié)點(diǎn)傳送所述數(shù)據(jù),若否,則源節(jié)點(diǎn)告知目標(biāo)節(jié)點(diǎn)所請(qǐng)求的數(shù)據(jù)不存在于源節(jié)點(diǎn)中。此外還根據(jù)上述技術(shù)方案提供了一種P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)客戶端。
文檔編號(hào)H04L29/08GK103037017SQ201210588198
公開(kāi)日2013年4月10日 申請(qǐng)日期2012年12月31日 優(yōu)先權(quán)日2012年12月31日
發(fā)明者趙瑞前, 李茗, 邵長(zhǎng)松, 張海, 馬宙, 李卓, 王世有 申請(qǐng)人:樂(lè)視網(wǎng)信息技術(shù)(北京)股份有限公司