基于p2p網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及裝置,涉及信息技術(shù)領(lǐng)域,主要在于解決目前無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)膯?wèn)題。所述方法包括:獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度,其中,所述數(shù)據(jù)傳輸策略包括第一P2P節(jié)點(diǎn)每次向第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量;確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略;根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。本發(fā)明適用于基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸。
【專利說(shuō)明】
基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及信息技術(shù)領(lǐng)域,尤其涉及一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及
目.ο
【背景技術(shù)】
[0002]在點(diǎn)對(duì)點(diǎn)(Peer-t0-Peer,P2P)網(wǎng)絡(luò)中,各個(gè)節(jié)點(diǎn)為平等的同等節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)既可以從其他節(jié)點(diǎn)得到服務(wù),也可以向其他節(jié)點(diǎn)提供服務(wù)。目前,在P2P網(wǎng)絡(luò)中節(jié)點(diǎn)與節(jié)點(diǎn)之間進(jìn)行數(shù)據(jù)交互時(shí),需要在節(jié)點(diǎn)間傳送信令。其中,信令主要包含心跳信息、發(fā)送數(shù)據(jù)的信息、索要數(shù)據(jù)的信息等,并根據(jù)信令中攜帶的索要數(shù)據(jù)信息向其他節(jié)點(diǎn)發(fā)送相應(yīng)的數(shù)據(jù);各個(gè)節(jié)點(diǎn)通常將一個(gè)大文件按相同的規(guī)則切分成若干個(gè)小數(shù)據(jù)塊pi eceO?pi eceN,這些piece是節(jié)點(diǎn)間分享數(shù)據(jù)的基本單位,piece的字節(jié)大小通常為一個(gè)定值,并且每個(gè)piece都有相應(yīng)的編號(hào)idx,該編號(hào)為索要和分享數(shù)據(jù)塊的標(biāo)識(shí)。其中。在P2P網(wǎng)絡(luò)中節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行傳輸數(shù)據(jù)時(shí),每次只傳輸一個(gè)Piece。然而,由于節(jié)點(diǎn)之間的數(shù)據(jù)切分為多個(gè)piece,每次只傳輸一個(gè)Piece,節(jié)點(diǎn)之間需要進(jìn)行多次交互,從而造成網(wǎng)絡(luò)資源浪費(fèi)。
[0003]目前,為了解決上述問(wèn)題,在P2P網(wǎng)絡(luò)中節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行傳輸數(shù)據(jù)時(shí),每次傳輸多個(gè)Piece。然而,當(dāng)網(wǎng)絡(luò)狀況非常好時(shí),每次傳輸piece數(shù)量,即數(shù)據(jù)的數(shù)據(jù)量過(guò)小時(shí)會(huì)造成網(wǎng)絡(luò)資源的浪費(fèi),當(dāng)網(wǎng)絡(luò)狀況不好時(shí),傳輸piece數(shù)量過(guò)大時(shí)會(huì)造成傳送緩慢,數(shù)據(jù)擁堵或數(shù)據(jù)丟失。因此,在P2P網(wǎng)絡(luò)中節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行傳輸數(shù)據(jù),合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸已成為目前亟待解決的問(wèn)題。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及裝置,用以解決現(xiàn)有技術(shù)中無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)娜毕荨?br>[0005]本發(fā)明實(shí)施例提供一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法,包括:
[0006]獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度,其中,所述數(shù)據(jù)傳輸策略包括第一點(diǎn)對(duì)點(diǎn)P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量;
[0007]確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略;
[0008]根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。
[0009]進(jìn)一步地,所述獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度包括:
[0010]獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的數(shù)據(jù)的數(shù)據(jù)量大小,以及所述數(shù)據(jù)的傳輸時(shí)間;
[0011 ]根據(jù)所述數(shù)據(jù)量大小和所述傳輸時(shí)間,計(jì)算所述不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。
[0012]進(jìn)一步地,所述獲取所述數(shù)據(jù)的傳輸時(shí)間包括:
[0013]記錄所述第一P2P節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)的時(shí)間以及所述第一 P2P節(jié)點(diǎn)接收到所述數(shù)據(jù)的時(shí)間;
[0014]根據(jù)所述請(qǐng)求所述數(shù)據(jù)的時(shí)間和所述接收到所述數(shù)據(jù)的時(shí)間,獲取所述數(shù)據(jù)的傳輸時(shí)間。
[0015]進(jìn)一步地,所述根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)之前,所述方法還包括:
[0016]接收所述第二P2P節(jié)點(diǎn)發(fā)送的傳輸數(shù)據(jù)信令,所述傳輸數(shù)據(jù)信令中攜帶有待傳輸數(shù)據(jù)的標(biāo)識(shí)信息;
[0017]所述根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)包括:
[0018]根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息;
[0019]根據(jù)所述標(biāo)識(shí)信息,向所述第二P2P節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)信令。
[0020]進(jìn)一步地,所述根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息之前,還包括:
[0021]判斷所述第一P2P節(jié)點(diǎn)本地中是否存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù);
[0022]所述根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息包括:
[0023]若不存在,則根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。
[0024]本發(fā)明實(shí)施例提供一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置,包括:
[0025]獲取單元,用于獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度,其中,所述數(shù)據(jù)傳輸策略包括第一點(diǎn)對(duì)點(diǎn)P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量;
[0026]確定單元,用于確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略;
[0027]請(qǐng)求單元,用于根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。
[0028]進(jìn)一步地,所述獲取單元包括:
[0029]獲取模塊,用于獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的數(shù)據(jù)的數(shù)據(jù)量大小,以及所述數(shù)據(jù)的傳輸時(shí)間;
[0030]計(jì)算模塊,用于根據(jù)所述數(shù)據(jù)量大小和所述傳輸時(shí)間,計(jì)算所述不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。
[0031]進(jìn)一步地,所述獲取模塊,具體用于記錄所述第一P2P節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)的時(shí)間以及所述第一P2P節(jié)點(diǎn)接收到所述數(shù)據(jù)的時(shí)間;
[0032]所述獲取模塊,具體還用于根據(jù)所述請(qǐng)求所述數(shù)據(jù)的時(shí)間和所述接收到所述數(shù)據(jù)的時(shí)間,獲取所述數(shù)據(jù)的傳輸時(shí)間。
[0033]進(jìn)一步地,所述裝置還包括:接收單元,
[0034]所述接收單元,用于接收所述第二P2P節(jié)點(diǎn)發(fā)送的傳輸數(shù)據(jù)信令,所述傳輸數(shù)據(jù)信令中攜帶有待傳輸數(shù)據(jù)的標(biāo)識(shí)信息;
[0035]所述請(qǐng)求單元包括:選擇模塊和請(qǐng)求模塊,
[0036]所述選擇模塊,用于根據(jù)所述數(shù)據(jù)傳輸策略,從所述待輸達(dá)數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息;
[0037]所述請(qǐng)求模塊,用于根據(jù)所述標(biāo)識(shí)信息,向所述第二P2P節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)信令。
[0038]進(jìn)一步地,所述請(qǐng)求單元還包括:判斷模塊,
[0039]所述判斷模塊,用于判斷所述第一P2P節(jié)點(diǎn)本地中是否存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù);
[0040]所述選擇模塊,具體用于若所述第一P2P節(jié)點(diǎn)本地中不存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù),則根據(jù)所述數(shù)據(jù)傳輸策略,從所述待輸達(dá)數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。
[0041]本發(fā)明實(shí)施例提供的基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法及裝置,通過(guò)根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸,其中,不同的數(shù)據(jù)傳輸策略對(duì)應(yīng)不同的數(shù)據(jù)量,改變了現(xiàn)有技術(shù)無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)娜毕?,?shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)傳輸,從而能夠在避免網(wǎng)絡(luò)資源浪費(fèi)的同時(shí)保證數(shù)據(jù)傳輸?shù)乃俣取?br>【附圖說(shuō)明】
[0042]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0043]圖1為本發(fā)明實(shí)施例提供的一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法流程圖;
[0044]圖2為本發(fā)明實(shí)施例提供的另一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法流程圖;
[0045]圖3為本發(fā)明實(shí)施例提供的一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖;
[0046]圖4為本發(fā)明實(shí)施例提供的一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0047]為使本發(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ù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0048]本發(fā)明實(shí)施例提供了一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法,可以應(yīng)用于P2P節(jié)點(diǎn)服務(wù)器,如圖1所示,所述方法包括:
[0049]101、獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。
[0050]其中,所述數(shù)據(jù)傳輸策略包括第一P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。
[0051]在P2P網(wǎng)絡(luò)中,通常第二P2P節(jié)點(diǎn)向第一P2P節(jié)點(diǎn)傳達(dá)數(shù)據(jù)時(shí),需要向第一P2P節(jié)點(diǎn)先發(fā)送信令,其中,信令中包括該第二P2P節(jié)點(diǎn)擁有數(shù)據(jù)的數(shù)據(jù)信息列表。然后,第一P2P節(jié)點(diǎn)根據(jù)實(shí)際需求,向第二P2P節(jié)點(diǎn)索要數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)狀態(tài)較好時(shí),第一P2P節(jié)點(diǎn)一次向第二P2P節(jié)點(diǎn)索要數(shù)據(jù)的數(shù)據(jù)量過(guò)少時(shí),會(huì)造成網(wǎng)絡(luò)資源的浪費(fèi);當(dāng)網(wǎng)絡(luò)狀態(tài)較差時(shí),第一P2P節(jié)點(diǎn)一次向第二 P2P節(jié)點(diǎn)索要數(shù)據(jù)的數(shù)據(jù)量過(guò)多時(shí),會(huì)造成數(shù)據(jù)傳輸較慢。因此,在第一 P2P節(jié)點(diǎn)向第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)前,需要對(duì)網(wǎng)絡(luò)狀態(tài)進(jìn)行測(cè)試,制定不同的數(shù)據(jù)傳輸策略,即第一 P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求不同數(shù)據(jù)量的數(shù)據(jù),然后獲取傳輸不同數(shù)據(jù)量的數(shù)據(jù)分別需要的傳輸速度。
[0052]例如,節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送的信令中包括數(shù)據(jù)信息列表dataIistl = [1,100],表示節(jié)點(diǎn)A擁有第I塊到第100塊的數(shù)據(jù)。節(jié)點(diǎn)B接收到datalistl后,會(huì)與本地中的datalist2進(jìn)行比較,通過(guò)比較確認(rèn)需要向節(jié)點(diǎn)A索要第10塊到第100塊的數(shù)據(jù)。因此,在節(jié)點(diǎn)A向節(jié)點(diǎn)B請(qǐng)求數(shù)據(jù)前,需要對(duì)網(wǎng)絡(luò)狀態(tài)進(jìn)行測(cè)試,制定不同的數(shù)據(jù)傳輸策略。即節(jié)點(diǎn)A每次向節(jié)點(diǎn)B請(qǐng)求不同數(shù)據(jù)量的數(shù)據(jù),然后獲取傳輸不同數(shù)據(jù)量的數(shù)據(jù)分別需要的傳輸速度。具體地,第一種數(shù)據(jù)傳輸策略:節(jié)點(diǎn)A每次向節(jié)點(diǎn)B請(qǐng)求第101塊數(shù)據(jù),根據(jù)I塊數(shù)據(jù)的大小和傳輸時(shí)間,獲取傳輸?shù)?01塊數(shù)據(jù)的傳輸速度Vl;第二種數(shù)據(jù)傳輸策略:節(jié)點(diǎn)A每次向節(jié)點(diǎn)B請(qǐng)求2塊數(shù),根據(jù)2塊數(shù)據(jù)的大小和傳輸時(shí)間據(jù),獲取傳輸2塊數(shù)據(jù)的傳輸速度V2。
[0053]102、確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略。
[0054]例如,總共有三種數(shù)據(jù)傳輸策略分別為:節(jié)點(diǎn)B每次向節(jié)點(diǎn)A請(qǐng)求I塊數(shù)據(jù);節(jié)點(diǎn)B每次向節(jié)點(diǎn)A請(qǐng)求2塊數(shù)據(jù);節(jié)點(diǎn)B每次向節(jié)點(diǎn)A請(qǐng)求3塊數(shù)據(jù)。三種數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度為V1、V2、V3。其中,V1、V2、V3中V3最快,則當(dāng)節(jié)點(diǎn)B需要向節(jié)點(diǎn)A索要第10塊到第100塊的數(shù)據(jù)時(shí),可以每次向節(jié)點(diǎn)A索要3塊數(shù)據(jù),從而獲取所有需要索要的數(shù)據(jù)。在實(shí)際的應(yīng)用中,可以實(shí)時(shí)獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度,如當(dāng)數(shù)據(jù)傳輸一段時(shí)間后,網(wǎng)絡(luò)狀態(tài)發(fā)生變化時(shí),V2在Vl、V2、V3中最快,則節(jié)點(diǎn)B可以每次向節(jié)點(diǎn)A索要2塊數(shù)據(jù),從而獲取剩余的需要索要的數(shù)據(jù)。
[0055]對(duì)于本發(fā)明實(shí)施例,通過(guò)根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸,能夠克服現(xiàn)有技術(shù)無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)娜毕荩瑢?shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)傳輸,從而能夠在避免網(wǎng)絡(luò)資源浪費(fèi)的同時(shí)保證數(shù)據(jù)傳輸?shù)乃俣取?br>[0056]103、根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略,向第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。
[0057]對(duì)于本發(fā)明實(shí)施例,所述向第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)具體可以為:向第二P2P節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)信令,所述請(qǐng)求數(shù)據(jù)信令中攜帶有請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息,所述標(biāo)識(shí)信息可以為數(shù)據(jù)的編號(hào),也可以為數(shù)據(jù)的名稱,本發(fā)明實(shí)施例不做限定。
[0058]本發(fā)明實(shí)施例提供的一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法,通過(guò)根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸,其中,不同的數(shù)據(jù)傳輸策略對(duì)應(yīng)不同的數(shù)據(jù)量,改變了現(xiàn)有技術(shù)無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)娜毕荩瑢?shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)傳輸,從而能夠在避免網(wǎng)絡(luò)資源浪費(fèi)的同時(shí)保證數(shù)據(jù)傳輸?shù)乃俣取?br>[0059]本發(fā)明實(shí)施例提供了另一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法,可以應(yīng)用于P2P節(jié)點(diǎn)服務(wù)器,如圖2所示,所述方法包括:
[0060]201、獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。
[0061]其中,所述數(shù)據(jù)傳輸策略包括第一P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。
[0062]對(duì)于本發(fā)明實(shí)施例,步驟201具體可以為:獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的數(shù)據(jù)的數(shù)據(jù)量大小,以及所述數(shù)據(jù)的傳輸時(shí)間;根據(jù)所述數(shù)據(jù)量大小和所述傳輸時(shí)間,計(jì)算所述不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。
[0063]例如,第一種數(shù)據(jù)傳輸策略對(duì)應(yīng)的I塊數(shù)據(jù)的大小為:Sizel,該數(shù)據(jù)的傳輸時(shí)間為Tl,則第一數(shù)據(jù)傳輸策略對(duì)應(yīng)的傳輸速度Vl = Sizel/Tl;第二種數(shù)據(jù)傳輸策略對(duì)應(yīng)的2塊數(shù)據(jù)的大小為:Size2,該數(shù)據(jù)的傳輸時(shí)間為T2,則第一數(shù)據(jù)傳輸策略對(duì)應(yīng)的傳輸速度V2 =Size2/T2o
[0064]對(duì)于本發(fā)明實(shí)施例,所述獲取所述數(shù)據(jù)的傳輸時(shí)間包括:記錄所述第一P2P節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)的時(shí)間以及所述第一 P2P節(jié)點(diǎn)接收到所述數(shù)據(jù)的時(shí)間;根據(jù)所述請(qǐng)求所述數(shù)據(jù)的時(shí)間和所述接收到所述數(shù)據(jù)的時(shí)間,獲取所述數(shù)據(jù)的傳輸時(shí)間。
[0065]例如,節(jié)點(diǎn)B向節(jié)點(diǎn)A請(qǐng)求第10塊數(shù)據(jù)的時(shí)間為tl,即向節(jié)點(diǎn)A發(fā)送信令的時(shí)間,接收到節(jié)點(diǎn)A發(fā)送的第10塊數(shù)據(jù)的時(shí)間為t2,即接收到第二P2P節(jié)點(diǎn)發(fā)送信令的時(shí)間,則第10塊數(shù)據(jù)的傳輸時(shí)間TI = 11 -t 2。
[0066]202、確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略。
[0067]對(duì)于本發(fā)明實(shí)施例,通過(guò)根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸,能夠克服現(xiàn)有技術(shù)無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)娜毕荩瑢?shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)傳輸,從而能夠在避免網(wǎng)絡(luò)資源浪費(fèi)的同時(shí)保證數(shù)據(jù)傳輸?shù)乃俣取?br>[0068]203、接收第二 P2P節(jié)點(diǎn)發(fā)送的傳輸數(shù)據(jù)信令。
[0069]其中,所述傳輸數(shù)據(jù)信令中攜帶有待傳輸數(shù)據(jù)的標(biāo)識(shí)信息。
[0070]204、根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略,從待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。
[0071]其中,所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息可以為數(shù)據(jù)的編號(hào),也可以為數(shù)據(jù)的名稱,本發(fā)明實(shí)施例不做限定。
[0072]對(duì)于本發(fā)明實(shí)施例,步驟204之前,具體還可以包括:判斷所述第一P2P節(jié)點(diǎn)本地中是否存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù)。此時(shí)步驟204具體可以為:若不存在,則根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。
[0073]例如,節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送的信令中包括數(shù)據(jù)信息列表dataIistl= [1,100],表示節(jié)點(diǎn)A擁有第I塊到第100塊的數(shù)據(jù)。節(jié)點(diǎn)B中已擁有第I塊到第10塊的數(shù)據(jù),節(jié)點(diǎn)B只需要向節(jié)點(diǎn)A索要第10塊到第100塊的數(shù)據(jù)。當(dāng)節(jié)點(diǎn)B每次向節(jié)點(diǎn)A請(qǐng)求3塊數(shù)據(jù)的傳輸速度最快時(shí),節(jié)點(diǎn)B從第10塊到第100塊的數(shù)據(jù)的標(biāo)識(shí)信息中,選擇第10塊到第12塊數(shù)據(jù)的標(biāo)識(shí)信息,然后向節(jié)點(diǎn)A請(qǐng)求第1塊到第12塊數(shù)據(jù)。當(dāng)接收到第1塊到第12塊數(shù)據(jù)后,再向節(jié)點(diǎn)A請(qǐng)求第13塊到第15塊數(shù)據(jù),直到獲取到第100塊數(shù)據(jù)。
[0074]205、根據(jù)請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息,向第二P2P節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)信令。
[0075]本發(fā)明實(shí)施例提供的另一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸方法,通過(guò)根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸,其中,不同的數(shù)據(jù)傳輸策略對(duì)應(yīng)不同的數(shù)據(jù)量,改變了現(xiàn)有技術(shù)無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)娜毕?,?shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)傳輸,從而能夠在避免網(wǎng)絡(luò)資源浪費(fèi)的同時(shí)保證數(shù)據(jù)傳輸?shù)乃俣取?br>[0076]進(jìn)一步地,作為圖1和圖2的具體實(shí)現(xiàn),本發(fā)明實(shí)施例提供了一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置,如圖3所示,所述裝置包括:獲取單元31、確定單元32、請(qǐng)求單元33。
[0077]獲取單元31,用于獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度,其中,所述數(shù)據(jù)傳輸策略包括第一點(diǎn)對(duì)點(diǎn)P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量。獲取單元31為本基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度的主要功能模塊。
[0078]確定單元32,用于確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略。確定單元32為本基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略的主要功能模塊。
[0079]請(qǐng)求單元33,用于根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。確定單元32為本基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置向所述第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的主要功能模塊。
[0080]所述獲取單元31包括:獲取模塊3101和計(jì)算模塊3102。
[0081]獲取模塊3101,用于獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的數(shù)據(jù)的數(shù)據(jù)量大小,以及所述數(shù)據(jù)的傳輸時(shí)間。
[0082]計(jì)算模塊3102,用于根據(jù)所述數(shù)據(jù)量大小和所述傳輸時(shí)間,計(jì)算所述不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。
[0083]所述獲取模塊3101,具體用于記錄所述第一P2P節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)的時(shí)間以及所述第一P2P節(jié)點(diǎn)接收到所述數(shù)據(jù)的時(shí)間。
[0084]所述獲取模塊3101,具體還用于根據(jù)所述請(qǐng)求所述數(shù)據(jù)的時(shí)間和所述接收到所述數(shù)據(jù)的時(shí)間,獲取所述數(shù)據(jù)的傳輸時(shí)間。
[0085]如圖4,所述裝置還包括:接收單元34。
[0086]所述接收單元34,用于接收所述第二P2P節(jié)點(diǎn)發(fā)送的傳輸數(shù)據(jù)信令,所述傳輸數(shù)據(jù)信令中攜帶有待傳輸數(shù)據(jù)的標(biāo)識(shí)信息。接收單元34為本基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置接收所述第二 P2P節(jié)點(diǎn)發(fā)送的傳輸數(shù)據(jù)信令的主要功能模塊。
[0087]所述請(qǐng)求單元33包括:選擇模塊3301和請(qǐng)求模塊3302。
[0088]所述選擇模塊3301,用于根據(jù)所述數(shù)據(jù)傳輸策略,從所述待輸達(dá)數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。
[0089]所述請(qǐng)求模塊3302,用于根據(jù)所述標(biāo)識(shí)信息,向所述第二P2P節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)信令。
[0090]所述請(qǐng)求單元33還包括:判斷模塊3303。
[0091]所述判斷模塊3303,用于判斷所述第一P2P節(jié)點(diǎn)本地中是否存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù)。
[0092]所述選擇模塊3301,具體用于若所述第一P2P節(jié)點(diǎn)本地中不存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù),則根據(jù)所述數(shù)據(jù)傳輸策略,從所述待輸達(dá)數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。
[0093]需要說(shuō)明的是,本發(fā)明實(shí)施例提供的一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置所涉及各功能單元的其他相應(yīng)描述,可以參考圖1和圖2所示方法的對(duì)應(yīng)描述,在此不再贅述。本發(fā)明實(shí)施例中可以通過(guò)硬件處理器來(lái)實(shí)現(xiàn)相關(guān)功能模塊。
[0094]本發(fā)明實(shí)施例提供的一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置,通過(guò)根據(jù)最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略進(jìn)行數(shù)據(jù)傳輸,其中,不同的數(shù)據(jù)傳輸策略對(duì)應(yīng)不同的數(shù)據(jù)量,改變了現(xiàn)有技術(shù)無(wú)法合理地利用網(wǎng)絡(luò)資源,選擇合理數(shù)據(jù)量的數(shù)據(jù)進(jìn)行傳輸?shù)娜毕荩瑢?shí)現(xiàn)了根據(jù)網(wǎng)絡(luò)狀態(tài)進(jìn)行數(shù)據(jù)傳輸,從而能夠在避免網(wǎng)絡(luò)資源浪費(fèi)的同時(shí)保證數(shù)據(jù)傳輸?shù)乃俣取?br>[0095]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
[0096]通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0097]最后應(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ò)的數(shù)據(jù)傳輸方法,其特征在于,包括: 獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度,其中,所述數(shù)據(jù)傳輸策略包括第一點(diǎn)對(duì)點(diǎn)P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量; 確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略; 根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度包括: 獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的數(shù)據(jù)的數(shù)據(jù)量大小,以及所述數(shù)據(jù)的傳輸時(shí)間; 根據(jù)所述數(shù)據(jù)量大小和所述傳輸時(shí)間,計(jì)算所述不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述獲取所述數(shù)據(jù)的傳輸時(shí)間包括: 記錄所述第一 P2P節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)的時(shí)間以及所述第一 P2P節(jié)點(diǎn)接收到所述數(shù)據(jù)的時(shí)間; 根據(jù)所述請(qǐng)求所述數(shù)據(jù)的時(shí)間和所述接收到所述數(shù)據(jù)的時(shí)間,獲取所述數(shù)據(jù)的傳輸時(shí)間。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)之前,所述方法還包括: 接收所述第二 P2P節(jié)點(diǎn)發(fā)送的傳輸數(shù)據(jù)信令,所述傳輸數(shù)據(jù)信令中攜帶有待傳輸數(shù)據(jù)的標(biāo)識(shí)信息; 所述根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)包括: 根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息; 根據(jù)所述標(biāo)識(shí)信息,向所述第二 P2P節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)信令。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息之前,還包括: 判斷所述第一 P2P節(jié)點(diǎn)本地中是否存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù);所述根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息包括: 若不存在,則根據(jù)所述數(shù)據(jù)傳輸策略,從所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。6.一種基于P2P網(wǎng)絡(luò)的數(shù)據(jù)傳輸裝置,其特征在于,包括: 獲取單元,用于獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度,其中,所述數(shù)據(jù)傳輸策略包括第一點(diǎn)對(duì)點(diǎn)P2P節(jié)點(diǎn)每次向第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)的數(shù)據(jù)量; 確定單元,用于確定最快傳輸速度對(duì)應(yīng)的數(shù)據(jù)傳輸策略; 請(qǐng)求單元,用于根據(jù)所述數(shù)據(jù)傳輸策略,向所述第二 P2P節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述獲取單元包括: 獲取模塊,用于獲取不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的數(shù)據(jù)的數(shù)據(jù)量大小,以及所述數(shù)據(jù)的傳輸時(shí)間; 計(jì)算模塊,用于根據(jù)所述數(shù)據(jù)量大小和所述傳輸時(shí)間,計(jì)算所述不同數(shù)據(jù)傳輸策略分別對(duì)應(yīng)的傳輸速度。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于, 所述獲取模塊,具體用于記錄所述第一 P2P節(jié)點(diǎn)請(qǐng)求所述數(shù)據(jù)的時(shí)間以及所述第一 P2P節(jié)點(diǎn)接收到所述數(shù)據(jù)的時(shí)間; 所述獲取模塊,具體還用于根據(jù)所述請(qǐng)求所述數(shù)據(jù)的時(shí)間和所述接收到所述數(shù)據(jù)的時(shí)間,獲取所述數(shù)據(jù)的傳輸時(shí)間。9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括:接收單元, 所述接收單元,用于接收所述第二 P2P節(jié)點(diǎn)發(fā)送的傳輸數(shù)據(jù)信令,所述傳輸數(shù)據(jù)信令中攜帶有待傳輸數(shù)據(jù)的標(biāo)識(shí)信息; 所述請(qǐng)求單元包括:選擇模塊和請(qǐng)求模塊, 所述選擇模塊,用于根據(jù)所述數(shù)據(jù)傳輸策略,從所述待輸達(dá)數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息; 所述請(qǐng)求模塊,用于根據(jù)所述標(biāo)識(shí)信息,向所述第二 P2P節(jié)點(diǎn)發(fā)送請(qǐng)求數(shù)據(jù)信令。10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述請(qǐng)求單元還包括:判斷模塊, 所述判斷模塊,用于判斷所述第一 P2P節(jié)點(diǎn)本地中是否存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù); 所述選擇模塊,具體用于若所述第一 P2P節(jié)點(diǎn)本地中不存在與所述待傳輸數(shù)據(jù)的標(biāo)識(shí)信息對(duì)應(yīng)的數(shù)據(jù),則根據(jù)所述數(shù)據(jù)傳輸策略,從所述待輸達(dá)數(shù)據(jù)的標(biāo)識(shí)信息中選擇請(qǐng)求數(shù)據(jù)的標(biāo)識(shí)信息。
【文檔編號(hào)】H04L29/08GK105872001SQ201510968257
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2015年12月21日
【發(fā)明人】李卓
【申請(qǐng)人】樂(lè)視云計(jì)算有限公司