一種p2p網(wǎng)絡(luò)節(jié)點(diǎn)連接方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例提供一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法、裝置及系統(tǒng),涉及通信技術(shù)領(lǐng)域,主要目的是提高P2P網(wǎng)絡(luò)節(jié)點(diǎn)的分享效率。本發(fā)明實(shí)施例所采用的技術(shù)方案是:確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,若所述第一節(jié)點(diǎn)下載的數(shù)據(jù)已下載完成,則獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,將所述第一節(jié)點(diǎn)與P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接,接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。本發(fā)明主要用于P2P網(wǎng)絡(luò)中節(jié)點(diǎn)的連接。
【專利說(shuō)明】
一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法、裝置及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]在客戶機(jī)/服務(wù)器(Client/server system,C/S)系統(tǒng)中,數(shù)據(jù)的分發(fā)均采用專門的服務(wù)器,多個(gè)客戶端從該服務(wù)器中獲取數(shù)據(jù),然而這種模式下的服務(wù)器個(gè)數(shù)有限或者只有一個(gè),容易導(dǎo)致單一服務(wù)器面多眾多的客戶端,而由于服務(wù)器的中央處理器(CentralProcessing Unit,CPU)能力、內(nèi)存能力和網(wǎng)絡(luò)帶寬有限,同時(shí)可服務(wù)的客戶端也非常有限,可擴(kuò)展性差。
[0003]現(xiàn)有的對(duì)等計(jì)算(Peerto Peer, P2P)技術(shù)能夠解決C/S系統(tǒng)存在的問題,P2P技術(shù)又稱對(duì)等互聯(lián)網(wǎng)技術(shù),是相對(duì)于C/S系統(tǒng)模式下的一種網(wǎng)絡(luò)信息交互方式。在P2P網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)既可以從其他節(jié)點(diǎn)得到服務(wù),同時(shí)也可向其他節(jié)點(diǎn)提供服務(wù),這樣解決了 C/S系統(tǒng)中單一服務(wù)器的可擴(kuò)展性差的問題。
[0004]在上述的P2P網(wǎng)絡(luò)節(jié)點(diǎn)之間交互數(shù)據(jù)下載時(shí),節(jié)點(diǎn)A與節(jié)點(diǎn)B之間保持著連接關(guān)系,但是當(dāng)節(jié)點(diǎn)A與節(jié)點(diǎn)B的完成數(shù)據(jù)下載后,仍然保持著節(jié)點(diǎn)之間的連接關(guān)系,而由于節(jié)點(diǎn)的CPU能力、內(nèi)存能力和網(wǎng)絡(luò)帶寬的限制,對(duì)于網(wǎng)絡(luò)中的任一節(jié)點(diǎn)都有連接節(jié)點(diǎn)上限,這樣使得節(jié)點(diǎn)A與節(jié)點(diǎn)B雖然完成下載但相互占用對(duì)方的連接名額,導(dǎo)致它們無(wú)法向其他未下載完成的節(jié)點(diǎn)傳輸數(shù)據(jù),影響了 P2P網(wǎng)絡(luò)節(jié)點(diǎn)的分享效率。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法、裝置及系統(tǒng),提高了 P2P網(wǎng)絡(luò)節(jié)點(diǎn)的分享效率。
[0006]依據(jù)本發(fā)明一方面,提供了一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法,包括:
[0007]確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,所述第一節(jié)點(diǎn)為對(duì)等計(jì)算P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn);
[0008]若所述第一節(jié)點(diǎn)下載的數(shù)據(jù)下載已完成,則獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),所述第二節(jié)點(diǎn)為與所述第一節(jié)點(diǎn)連接的所述P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn);
[0009]若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為完成下載,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,并通知服務(wù)器更新連接狀態(tài)信息。
[0010]可選地,還包括:將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接;
[0011]接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。
[0012]可選地,所述確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,包括:
[0013]獲取所述第一節(jié)點(diǎn)下載的數(shù)據(jù)的屬性信息;
[0014]根據(jù)所述數(shù)據(jù)的屬性信息,確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成。
[0015]可選地,所述數(shù)據(jù)的屬性信息,包括:數(shù)據(jù)大小、數(shù)據(jù)時(shí)間長(zhǎng)度和數(shù)據(jù)類型。
[0016]可選地,所述獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),包括:
[0017]所述第一節(jié)點(diǎn)接收的所述第二節(jié)點(diǎn)發(fā)送的心跳消息,所述心跳消息中攜帶有所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài);
[0018]根據(jù)所述心跳消息獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)。
[0019]依據(jù)本發(fā)明另一方面,提供一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置,包括:
[0020]確定單元,用于確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,所述第一節(jié)點(diǎn)為對(duì)等計(jì)算P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn);
[0021]獲取單元,用于若所述第一節(jié)點(diǎn)下載的數(shù)據(jù)下載已完成,則獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),所述第二節(jié)點(diǎn)為與所述第一節(jié)點(diǎn)連接的所述P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn);
[0022]斷開單元,用于若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為完成下載,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,并通知服務(wù)器更新連接狀態(tài)信息。
[0023]可選地,還包括發(fā)送單元,用于將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接;
[0024]接收單元,用于接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。
[0025]可選地,所述確定單元,包括:
[0026]第一獲取模塊,用于獲取所述第一節(jié)點(diǎn)下載的數(shù)據(jù)的屬性信息;
[0027]確定模塊,用于根據(jù)所述數(shù)據(jù)的屬性信息,確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成。
[0028]可選地所述數(shù)據(jù)的屬性信息,包括:數(shù)據(jù)大小、數(shù)據(jù)時(shí)間長(zhǎng)度和數(shù)據(jù)類型。
[0029]可選地,所述獲取單元,包括:
[0030]接收模塊,用于所述第一節(jié)點(diǎn)接收的所述第二節(jié)點(diǎn)發(fā)送的心跳消息,所述心跳消息中攜帶有所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài);
[0031]第二獲取模塊,根據(jù)所述心跳消息獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)。
[0032]依據(jù)本發(fā)明又一方面,提供一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接系統(tǒng),包括:上述的P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置、服務(wù)器,
[0033]所述P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置,用于將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器;
[0034]所述服務(wù)器,用于根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接。
[0035]本發(fā)明實(shí)施例提供的一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法、裝置及系統(tǒng),在通過確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成后,獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,這樣避免了兩個(gè)節(jié)點(diǎn)之間雖然完成了數(shù)據(jù)下載但仍然保持著連接的情況,減小了資源浪費(fèi),通過將所述第一節(jié)點(diǎn)與P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接,從而有效利用節(jié)點(diǎn)資源,提高了 P2P網(wǎng)絡(luò)節(jié)點(diǎn)的分享效率。
【附圖說(shuō)明】
[0036]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作以簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0037]圖1為本發(fā)明實(shí)施例提供的一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法流程圖;
[0038]圖2為本發(fā)明實(shí)施例提供的另一種確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成的方法流程圖;
[0039]圖3為本發(fā)明實(shí)施例提供的一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置組成框圖;
[0040]圖4為本發(fā)明實(shí)施例提供的另一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置組成框圖;
[0041]圖5為本發(fā)明實(shí)施例提供的另一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置組成框圖;
[0042]圖6為本發(fā)明實(shí)施例提供的一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接系統(tǒng)框圖;
[0043]圖7為本發(fā)明實(shí)施例提供的一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0044]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0045]本發(fā)明實(shí)施例提供了一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法,如圖1所示,所述方法包括:
[0046]101、確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成。
[0047]其中,所述第一節(jié)點(diǎn)為P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn),這里的節(jié)點(diǎn)可以為客戶端,具體可以為一臺(tái)電腦或者其他設(shè)備終端,本發(fā)明對(duì)所述節(jié)點(diǎn)不做任何限定,可根據(jù)實(shí)際情況進(jìn)行選取。
[0048]上述的P2P網(wǎng)絡(luò)為一種對(duì)等網(wǎng)絡(luò),網(wǎng)絡(luò)中包含多個(gè)工作節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)有相同的功能,無(wú)主從之分,節(jié)點(diǎn)之間通過互相交換進(jìn)而實(shí)現(xiàn)共享節(jié)點(diǎn)資源和服務(wù)。
[0049]102、若所述第一節(jié)點(diǎn)下載的數(shù)據(jù)下載已完成,則獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)。
[0050]其中,所述第二節(jié)點(diǎn)為與所述第一節(jié)點(diǎn)連接的任一節(jié)點(diǎn),該第二節(jié)點(diǎn)從所述第一節(jié)點(diǎn)下載第一節(jié)點(diǎn)已經(jīng)下載的數(shù)據(jù)。
[0051]具體地,在獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)時(shí),本發(fā)明實(shí)施例可以采用但不局限于以下的方法實(shí)現(xiàn),該方法具體為:所述第一節(jié)點(diǎn)接收所述第二節(jié)點(diǎn)發(fā)送的心跳消息,其中,所述心跳消息中攜帶有所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),這里的心跳消息可以為節(jié)點(diǎn)之間互相傳遞的心跳包,所述心跳包為節(jié)點(diǎn)之間互相傳遞用來(lái)告知對(duì)方自己狀態(tài)的一個(gè)自己定義的命令字,按照一定的時(shí)間間隔發(fā)送;所述第一節(jié)點(diǎn)根據(jù)所述心跳消息能夠獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),例如,當(dāng)?shù)诙?jié)點(diǎn)從第一節(jié)點(diǎn)下載第一節(jié)點(diǎn)已下載完成的視頻數(shù)據(jù),該視頻數(shù)據(jù)在存儲(chǔ)的過程中可以分為若干個(gè)數(shù)據(jù)塊,然后第二節(jié)點(diǎn)會(huì)定時(shí)發(fā)送給第一節(jié)點(diǎn)一個(gè)心跳消息,該心跳消息中包含有此時(shí)第二節(jié)點(diǎn)已經(jīng)下載完成多少個(gè)數(shù)據(jù)塊、還需要下載多少個(gè)數(shù)據(jù)塊等下載數(shù)據(jù)的下載狀態(tài)。
[0052]103、若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為完成下載,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,并通知服務(wù)器更新連接狀態(tài)信息。
[0053]這里若根據(jù)步驟102中獲取的第二節(jié)點(diǎn)的數(shù)據(jù)下載狀態(tài)為完成下載,則表明第一節(jié)點(diǎn)與第二節(jié)點(diǎn)之間的數(shù)據(jù)下載已完成,兩個(gè)節(jié)點(diǎn)之間沒有互相的數(shù)據(jù)傳輸,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接。需要說(shuō)明的是,這里的斷開可以為單方面的斷開,當(dāng)所述第一節(jié)點(diǎn)根據(jù)第二節(jié)點(diǎn)的下載狀態(tài)確認(rèn)第二節(jié)點(diǎn)已經(jīng)完成下載,則第一節(jié)點(diǎn)可以自動(dòng)斷開與第二節(jié)點(diǎn)的連接。
[0054]本發(fā)明實(shí)施例提供了一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法,在通過確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成后,獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,這樣避免了兩個(gè)節(jié)點(diǎn)之間雖然完成了數(shù)據(jù)下載但仍然保持著連接的情況,減小了資源浪費(fèi)。
[0055]在本發(fā)明另一實(shí)施例中,還可以包括:
[0056]104、將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接。
[0057]這里的第一節(jié)點(diǎn)的連接狀態(tài)為所述第一節(jié)點(diǎn)與P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài),根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)可以統(tǒng)計(jì)出所述第一節(jié)點(diǎn)所連接節(jié)點(diǎn)的數(shù)量,由于步驟103中第一節(jié)點(diǎn)與第二節(jié)點(diǎn)斷開連接,此時(shí)第一節(jié)點(diǎn)的連接狀態(tài)會(huì)有更新,統(tǒng)計(jì)出的連接數(shù)量表明所述第一節(jié)點(diǎn)有空閑的節(jié)點(diǎn),并將當(dāng)前第一節(jié)點(diǎn)的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接。
[0058]上述的服務(wù)器是在P2P網(wǎng)絡(luò)中負(fù)責(zé)管理P2P網(wǎng)絡(luò)節(jié)點(diǎn)的服務(wù)器,這里的管理可以為協(xié)調(diào)各節(jié)點(diǎn)的連接關(guān)系,根據(jù)各節(jié)點(diǎn)反饋至服務(wù)器的各節(jié)點(diǎn)的連接狀態(tài),對(duì)各節(jié)點(diǎn)進(jìn)行連接分配。
[0059]105、接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。
[0060]需要說(shuō)明的是,這里的第三節(jié)點(diǎn)為未完成數(shù)據(jù)下載的節(jié)點(diǎn),服務(wù)器根據(jù)所述第三節(jié)點(diǎn)反饋的數(shù)據(jù)下載狀態(tài),將所述第三節(jié)點(diǎn)分配與第一節(jié)點(diǎn)建立連接以實(shí)現(xiàn)數(shù)據(jù)下載,有效利用了節(jié)點(diǎn)資源,同時(shí)避免網(wǎng)絡(luò)中的資源浪費(fèi)。
[0061]本發(fā)明實(shí)施例中,通過將所述第一節(jié)點(diǎn)與P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接,從而有效利用節(jié)點(diǎn)資源,提高了 P2P網(wǎng)絡(luò)節(jié)點(diǎn)的分享效率。
[0062]進(jìn)一步地,本發(fā)明實(shí)施例在確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成時(shí),可以采用但不限制于一下的方法實(shí)現(xiàn),如圖2所示,所述方法包括:
[0063]201、獲取所述第一節(jié)點(diǎn)下載的數(shù)據(jù)的屬性信息。
[0064]其中,根據(jù)所述第一節(jié)點(diǎn)下載數(shù)據(jù)的來(lái)源處獲取所述第一節(jié)點(diǎn)下載的數(shù)據(jù)的屬性信息,這里的來(lái)源處可以是本地?cái)?shù)據(jù)也可以是其他節(jié)點(diǎn)中的數(shù)據(jù),所述數(shù)據(jù)的屬性信息,主要包括:數(shù)據(jù)大小、數(shù)據(jù)時(shí)間長(zhǎng)度和數(shù)據(jù)類型,其中,數(shù)據(jù)大小主要指文件所包含的字節(jié)數(shù),數(shù)據(jù)時(shí)間長(zhǎng)度主要指視頻數(shù)據(jù)的時(shí)間總長(zhǎng)度,可以將視頻數(shù)據(jù)分塊存儲(chǔ),此時(shí)的數(shù)據(jù)時(shí)間長(zhǎng)度可以為視頻數(shù)據(jù)的多個(gè)數(shù)據(jù)塊,數(shù)據(jù)類型主要指該數(shù)據(jù)為什么格式的數(shù)據(jù),可以為音頻數(shù)據(jù),也可以為視頻數(shù)據(jù)等等,本發(fā)明實(shí)施例對(duì)上述的數(shù)據(jù)的屬性信息不做任何限定。
[0065]202、根據(jù)所述數(shù)據(jù)的屬性信息,確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成。
[0066]進(jìn)一步地,所述第一節(jié)點(diǎn)根據(jù)自身的下載的進(jìn)度,結(jié)合所述數(shù)據(jù)文件的屬性信息來(lái)確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)是否完成下載。例如,當(dāng)所述第一節(jié)點(diǎn)點(diǎn)播一個(gè)視頻數(shù)據(jù),此時(shí)根據(jù)點(diǎn)播視頻數(shù)據(jù)的屬性信息可以通過下載數(shù)據(jù)的來(lái)源處獲取,例如,下載的視頻數(shù)據(jù)包括多少個(gè)數(shù)據(jù)塊、視頻數(shù)據(jù)的大小和視頻數(shù)據(jù)的類型等,進(jìn)而第一節(jié)點(diǎn)根據(jù)自身的下載進(jìn)度,判斷已經(jīng)下載了多少個(gè)數(shù)據(jù)塊,還需要下載多少個(gè)數(shù)據(jù)塊。若當(dāng)獲取到第一節(jié)點(diǎn)已經(jīng)完成下載該視頻數(shù)據(jù)的所有的數(shù)據(jù)塊,則確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)已經(jīng)完成下載。
[0067]本發(fā)明實(shí)施例中,在通過確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成后,獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,這樣避免了兩個(gè)節(jié)點(diǎn)之間雖然完成了數(shù)據(jù)下載但仍然保持著連接的情況,減小了資源浪費(fèi)。
[0068]基于上述方法實(shí)施例,本發(fā)明實(shí)施例還提供一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置,本裝置實(shí)施例與前述方法實(shí)施例對(duì)應(yīng),能夠?qū)崿F(xiàn)前述方法實(shí)施例中的全部?jī)?nèi)容。為便于閱讀,本裝置實(shí)施例僅對(duì)前述方法實(shí)施例中的內(nèi)容進(jìn)行概要性描述,不對(duì)方法實(shí)施例中的細(xì)節(jié)內(nèi)容進(jìn)行逐一贅述。如圖3所示,該裝置包括:確定單元31、獲取單元32、斷開單元33、發(fā)送單元34、接收單元35。
[0069]所述確定單元31,用于確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,所述第一節(jié)點(diǎn)為P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn);
[0070]所述獲取單元32,用于若所述第一節(jié)點(diǎn)下載的數(shù)據(jù)已下載完成,則獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),所述第二節(jié)點(diǎn)為與所述第一節(jié)點(diǎn)連接的所述P2P網(wǎng)絡(luò)中任一節(jié)占.V,
[0071]所述斷開單元33,用于若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,并通知服務(wù)器更新連接狀態(tài)信息。
[0072]本發(fā)明實(shí)施例提供了一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置,在通過確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成后,獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,這樣避免了兩個(gè)節(jié)點(diǎn)之間雖然完成了數(shù)據(jù)下載但仍然保持著連接的情況,減小了資源浪費(fèi)。
[0073]在本發(fā)明另一實(shí)施例中,還包括:
[0074]所述發(fā)送單元34,用于將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接;
[0075]所述接收單元35,用于接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。
[0076]在本發(fā)明實(shí)施例中,通過將所述第一節(jié)點(diǎn)與P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接,從而有效利用節(jié)點(diǎn)資源,提高了 P2P網(wǎng)絡(luò)節(jié)點(diǎn)的分享效率。
[0077]進(jìn)一步地,如圖4所示,所述確定單元31,包括:
[0078]第一獲取模塊,用于獲取所述第一節(jié)點(diǎn)下載的數(shù)據(jù)的屬性信息;
[0079]確定模塊,用于根據(jù)所述數(shù)據(jù)的屬性信息,確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,其中,所述數(shù)據(jù)的屬性信息,包括:數(shù)據(jù)大小、數(shù)據(jù)時(shí)間長(zhǎng)度和數(shù)據(jù)類型。
[0080]進(jìn)一步地,如圖5所示,所述獲取單元32,包括:
[0081]接收模塊,用于所述第一節(jié)點(diǎn)接收的所述第二節(jié)點(diǎn)發(fā)送的心跳消息,所述心跳消息中攜帶有所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài);
[0082]第二獲取模塊,根據(jù)所述心跳消息獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)。
[0083]進(jìn)一步地,本發(fā)明實(shí)施例提供了一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接系統(tǒng),本系統(tǒng)實(shí)施例與前述方法實(shí)施例對(duì)應(yīng),能夠?qū)崿F(xiàn)前述方法實(shí)施例中的全部?jī)?nèi)容。為便于閱讀,本系統(tǒng)實(shí)施例僅對(duì)前述方法實(shí)施例中的內(nèi)容進(jìn)行概要性描述,不對(duì)方法實(shí)施例中的細(xì)節(jié)內(nèi)容進(jìn)行逐一贅述。如圖6所示,所述系統(tǒng)包括:P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置41、服務(wù)器42。
[0084]所述P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置41,用于將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配其他節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接;
[0085]所述服務(wù)器42,用于根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接。
[0086]所述P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置41,還用于接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。
[0087]綜上所述,本發(fā)明實(shí)施例提供的一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法、裝置及系統(tǒng),在通過確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成后,獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,這樣避免了兩個(gè)節(jié)點(diǎn)之間雖然完成了數(shù)據(jù)下載但仍然保持著連接的情況,減小了資源浪費(fèi),通過將所述第一節(jié)點(diǎn)與P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接,從而有效利用節(jié)點(diǎn)資源,提高了 P2P網(wǎng)絡(luò)節(jié)點(diǎn)的分享效率。
[0088]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0089]需要說(shuō)明的是,針對(duì)上述P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置,凡是本發(fā)明實(shí)施例中使用到的各個(gè)單元模塊的功能都可以通過硬件處理器(hardware processor)來(lái)實(shí)現(xiàn)。
[0090]示例性的,如圖7所示,圖7示出了本發(fā)明實(shí)施例提供的一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置結(jié)構(gòu)示意圖,該裝置可以包括:處理器(processor) 51、通信接口(Communicat1nsInterface) 72、存儲(chǔ)器(memory) 53和總線54,其中,處理器51、通信接口 52、存儲(chǔ)器53通過總線54完成相互間的通信。通信接口 52可以用于服務(wù)器與客戶端之間的信息傳輸。處理器51可以調(diào)用存儲(chǔ)器53中的邏輯指令,以執(zhí)行如下方法:確定第一節(jié)點(diǎn)的數(shù)據(jù)是否下載完成,若所述第一節(jié)點(diǎn)的數(shù)據(jù)已下載完成,則獲取所述第二節(jié)點(diǎn)的數(shù)據(jù)下載狀態(tài),若所述第二節(jié)點(diǎn)的數(shù)據(jù)下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,將所述第一節(jié)點(diǎn)的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配其他節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接,接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。
[0091]此外,上述的存儲(chǔ)器53中的邏輯指令可以通過軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(R0M,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0092]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0093]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0094]最后應(yīng)說(shuō)明的是:以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接方法,其特征在于,包括: 確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,所述第一節(jié)點(diǎn)為對(duì)等計(jì)算P2P網(wǎng)絡(luò)中任一節(jié)占.V, 若所述第一節(jié)點(diǎn)下載的數(shù)據(jù)已下載完成,則獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),所述第二節(jié)點(diǎn)為與所述第一節(jié)點(diǎn)連接的所述P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn); 若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,并通知服務(wù)器更新連接狀態(tài)信息。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接; 接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,包括: 獲取所述第一節(jié)點(diǎn)下載的數(shù)據(jù)的屬性信息; 根據(jù)所述數(shù)據(jù)的屬性信息,確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述數(shù)據(jù)的屬性信息,包括:數(shù)據(jù)大小、數(shù)據(jù)時(shí)間長(zhǎng)度和數(shù)據(jù)類型。5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),包括: 所述第一節(jié)點(diǎn)接收所述第二節(jié)點(diǎn)發(fā)送的心跳消息,所述心跳消息中攜帶有所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài); 根據(jù)所述心跳消息獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)。6.一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置,其特征在于,包括: 確定單元,用于確定第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完成,所述第一節(jié)點(diǎn)為對(duì)等計(jì)算P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn); 獲取單元,用于若所述第一節(jié)點(diǎn)下載的數(shù)據(jù)已下載完成,則獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài),所述第二節(jié)點(diǎn)為與所述第一節(jié)點(diǎn)連接的所述P2P網(wǎng)絡(luò)中任一節(jié)點(diǎn); 斷開單元,用于若所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)為已下載完成,則斷開所述第一節(jié)點(diǎn)與所述第二節(jié)點(diǎn)之間的連接,并通知服務(wù)器更新連接狀態(tài)信息。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,還包括: 發(fā)送單元,用于將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器,以便所述服務(wù)器根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接; 接收單元,用于接收所述服務(wù)器分配的第三節(jié)點(diǎn)并建立所述第一節(jié)點(diǎn)與所述第三節(jié)點(diǎn)之間的連接。8.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述確定單元,包括: 第一獲取模塊,用于獲取所述第一節(jié)點(diǎn)下載的數(shù)據(jù)的屬性信息; 確定模塊,用于根據(jù)所述數(shù)據(jù)的屬性信息,確定所述第一節(jié)點(diǎn)下載的數(shù)據(jù)是否下載完 成。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述數(shù)據(jù)的屬性信息,包括:數(shù)據(jù)大小、數(shù)據(jù)時(shí)間長(zhǎng)度和數(shù)據(jù)類型。10.根據(jù)權(quán)利要求6或7所述的裝置,其特征在于,所述獲取單元,包括: 接收模塊,用于所述第一節(jié)點(diǎn)接收的所述第二節(jié)點(diǎn)發(fā)送的心跳消息,所述心跳消息中攜帶有所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài); 第二獲取模塊,根據(jù)所述心跳消息獲取所述第二節(jié)點(diǎn)下載數(shù)據(jù)的下載狀態(tài)。11.一種P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接系統(tǒng),其特征在于,所述系統(tǒng)包括權(quán)利要求6至10中任一項(xiàng)所述的P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置、以及服務(wù)器,其中: 所述P2P網(wǎng)絡(luò)節(jié)點(diǎn)連接裝置,用于將所述第一節(jié)點(diǎn)與所述P2P網(wǎng)絡(luò)中其他節(jié)點(diǎn)連接的連接狀態(tài)發(fā)送至服務(wù)器; 所述服務(wù)器,用于根據(jù)所述第一節(jié)點(diǎn)的連接狀態(tài)分配所述P2P網(wǎng)絡(luò)中的節(jié)點(diǎn)與所述第一節(jié)點(diǎn)建立連接。
【文檔編號(hào)】H04L29/08GK105871999SQ201510967776
【公開日】2016年8月17日
【申請(qǐng)日】2015年12月21日
【發(fā)明人】李卓
【申請(qǐng)人】樂視云計(jì)算有限公司