基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法及裝置的制造方法
【專利摘要】本發(fā)明提供一種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法及裝置。所述方法包括,在多媒體內(nèi)容的下載過程中,執(zhí)行以下處理:從服務(wù)器端接收當(dāng)前的在線客戶端的信息;分別與所述在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從所述在線客戶端接收其存有的所述多媒體內(nèi)容的內(nèi)容部分的信息;根據(jù)接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息從所述在線客戶端接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)。采用本發(fā)明的技術(shù)方案,可以非線性地從其他客戶端下載多媒體內(nèi)容數(shù)據(jù),從而提高多媒體內(nèi)容數(shù)據(jù)傳輸?shù)撵`活性,有效地降低內(nèi)容服務(wù)器的負(fù)載。
【專利說明】
基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法及裝置?!颈尘凹夹g(shù)】
[0002]目前,通過互聯(lián)網(wǎng)收看多媒體內(nèi)容的用戶群日益擴(kuò)大,用戶可以通過收看網(wǎng)絡(luò)內(nèi)容提供商提供的各種多媒體內(nèi)容來豐富娛樂生活。例如,用戶可以使用計(jì)算機(jī)、智能手機(jī)、 平板電腦等客戶端上的多媒體播放應(yīng)用,來收看熱播電視劇、電影、綜藝節(jié)目等視頻點(diǎn)播內(nèi)容,或者收看新聞節(jié)目、體育比賽等實(shí)時(shí)轉(zhuǎn)播的視頻直播內(nèi)容。
[0003]由于一臺(tái)服務(wù)器在一定時(shí)間內(nèi)能處理的內(nèi)容下載請(qǐng)求的個(gè)數(shù)有限,若大量的用戶同時(shí)訪問網(wǎng)絡(luò)內(nèi)容提供商的內(nèi)容服務(wù)器(例如內(nèi)容分發(fā)網(wǎng)絡(luò)(CDN)節(jié)點(diǎn))來收看節(jié)目時(shí),會(huì)導(dǎo)致內(nèi)容服務(wù)器過載,運(yùn)行狀態(tài)較差,對(duì)部分用戶的訪問請(qǐng)求無法及時(shí)做出響應(yīng),使這部分用戶無法正常收看節(jié)目。
[0004]例如,大多用戶會(huì)在同一時(shí)段觀看熱播電視劇集,此時(shí)內(nèi)容服務(wù)器接收到的內(nèi)容下載請(qǐng)求的數(shù)量可能會(huì)超過額定量,造成其中的部分下載請(qǐng)求的響應(yīng)延遲,或者無法響應(yīng)。 相應(yīng)地,部分用戶觀看視頻時(shí)則會(huì)出現(xiàn)卡頓現(xiàn)象,甚至?xí)霈F(xiàn)無法播放的現(xiàn)象,降低用戶的體驗(yàn)
[0005]雖然部分用戶在觀看多媒體內(nèi)容時(shí),可以從其他客戶端下載一些多媒體內(nèi)容數(shù)據(jù),來降低多媒體內(nèi)容服務(wù)器的運(yùn)行負(fù)載。但其采用的多媒體數(shù)據(jù)下載方式都是基于索引文件按照順序進(jìn)行下載,多媒體內(nèi)容數(shù)據(jù)的傳輸形式單一,依然無法解決上述多媒體服務(wù)器運(yùn)行過載造成多媒體內(nèi)容無法正常播放的問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的在于提供一種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法及裝置,以提高多媒體內(nèi)容數(shù)據(jù)傳輸?shù)撵`活性,有助于在多媒體內(nèi)容的播放過程中降低內(nèi)容服務(wù)器的負(fù)載。
[0007]根據(jù)本發(fā)明的一方面,本發(fā)明的實(shí)施例提供一種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法,所述方法包括,在多媒體內(nèi)容的下載過程中,執(zhí)行以下處理:從服務(wù)器端接收當(dāng)前的在線客戶端的信息;分別與所述在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從所述在線客戶端接收其存有的所述多媒體內(nèi)容的內(nèi)容部分的信息;根據(jù)接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息從所述在線客戶端接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)。
[0008]進(jìn)一步地,所述方法還包括:從所述服務(wù)器端接收所述多媒體內(nèi)容的內(nèi)容部分的信息;根據(jù)所述多媒體內(nèi)容的內(nèi)容部分的信息確定本地存有的所述多媒體內(nèi)容的內(nèi)容部分的信息,以及本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。
[0009]進(jìn)一步地,所述根據(jù)接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息從所述在線客戶端節(jié)接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)的處理包括:向所述在線客戶端發(fā)送對(duì)所述本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息和接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息中共同包括的內(nèi)容部分的下載請(qǐng)求;從所述在線客戶端接收所述下載請(qǐng)求對(duì)應(yīng)的內(nèi)容部分的數(shù)據(jù)。
[0010]進(jìn)一步地,所述方法還包括:根據(jù)從所述在線客戶端接收的內(nèi)容部分的數(shù)據(jù)更新本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。
[0011]進(jìn)一步地,所述方法還包括:向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。
[0012]進(jìn)一步地,所述方法還包括:響應(yīng)于所述在線客戶端的下載請(qǐng)求,向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)。
[0013]根據(jù)本發(fā)明的另一方面,本發(fā)明的實(shí)施例還提供一種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置,所述裝置包括:客戶端信息接收模塊,用于從服務(wù)器端接收當(dāng)前的在線客戶端的信息;內(nèi)容信息接收模塊,用于分別與所述在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從所述在線客戶端接收其存有的所述多媒體內(nèi)容的內(nèi)容部分的信息;內(nèi)容數(shù)據(jù)接收模塊,用于根據(jù)接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息從所述在線客戶端接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)。
[0014]進(jìn)一步地,所述內(nèi)容信息接收模塊還用于:從服務(wù)器端接收包括所述多媒體內(nèi)容的內(nèi)容部分的信息,并根據(jù)所述多媒體內(nèi)容的內(nèi)容部分的信息確定本地存有的所述多媒體內(nèi)容的內(nèi)容部分的信息,以及本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。
[0015]進(jìn)一步地,所述內(nèi)容數(shù)據(jù)接收模塊包括:下載請(qǐng)求發(fā)送單元,用于向所述在線客戶端發(fā)送對(duì)所述本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息和接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息中共同包括的內(nèi)容部分的下載請(qǐng)求;內(nèi)容數(shù)據(jù)接收單元,用于從所述在線客戶端接收所述下載請(qǐng)求對(duì)應(yīng)的內(nèi)容部分的數(shù)據(jù)。
[0016]進(jìn)一步地,所述內(nèi)容信息接收模塊還用于:根據(jù)從所述在線客戶端接收的內(nèi)容部分的數(shù)據(jù)更新本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。[〇〇17]進(jìn)一步地,所述裝置還包括:內(nèi)容信息發(fā)送模塊,用于向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。
[0018]進(jìn)一步地,所述裝置還包括:內(nèi)容數(shù)據(jù)發(fā)送模塊,用于響應(yīng)于所述在線客戶端的下載請(qǐng)求,向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)。
[0019]本發(fā)明的實(shí)施例提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法及裝置,在多媒體內(nèi)容的下載過程中,通過服務(wù)器端與在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并依據(jù)從在線客戶端獲取的其存有的多媒體內(nèi)容的內(nèi)容部分的信息,從在線客戶端接收其存有的多媒體內(nèi)容數(shù)據(jù),從而實(shí)現(xiàn)了非線性地從其他客戶端下載多媒體內(nèi)容數(shù)據(jù),可以提高多媒體內(nèi)容數(shù)據(jù)傳輸?shù)撵`活性,有效地降低內(nèi)容服務(wù)器的負(fù)載?!靖綀D說明】
[0020]圖1是示出本發(fā)明示例性實(shí)施例一提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法的流程圖;
[0021]圖2是示出本發(fā)明示例性實(shí)施例二提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法的流程圖;
[0022]圖3是示出本發(fā)明示例性實(shí)施例三提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置的邏輯框圖;
[0023]圖4是示出本發(fā)明示例性實(shí)施例四提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置的邏輯框圖?!揪唧w實(shí)施方式】
[0024]本發(fā)明的基本構(gòu)思是提供一種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法及裝置,通過在多媒體內(nèi)容的下載過程中,利用從服務(wù)器端接收的當(dāng)前在線客戶端的信息與在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,從在線客戶端接收其存有的多媒體內(nèi)容的內(nèi)容部分的信息,并根據(jù)該信息來從在線客戶端下載其存有的多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù),而不是按照多媒體內(nèi)容的內(nèi)容部分的順序進(jìn)行下載,從而實(shí)現(xiàn)了多媒體內(nèi)容數(shù)據(jù)的非線性下載,提高多媒體內(nèi)容數(shù)據(jù)傳輸?shù)撵`活性,以降低相應(yīng)的多媒體內(nèi)容服務(wù)的運(yùn)行負(fù)載。
[0025]通常,在多媒體內(nèi)容的下載(包括邊下載邊播放)過程中,多媒體播放應(yīng)用向內(nèi)容服務(wù)器端應(yīng)用發(fā)起下載請(qǐng)求,基于HTTP實(shí)時(shí)流(HLS協(xié)議)獲取M3U8索引文件,根據(jù)M3U8索引文件從相應(yīng)的內(nèi)容服務(wù)器按照一定順序下載內(nèi)容切片文件作為緩存數(shù)據(jù)。
[0026]在此基礎(chǔ)上,本發(fā)明的示例性實(shí)施例提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法和裝置的技術(shù)方案,利用服務(wù)器端統(tǒng)計(jì)當(dāng)前下載同一多媒體內(nèi)容數(shù)據(jù)的在線客戶端的信息,使在線客戶端之間可以依據(jù)此信息基于點(diǎn)對(duì)點(diǎn)協(xié)議(Peer-to-peer,P2P)建立通信連接。在建立點(diǎn)對(duì)點(diǎn)連接之后,從其他在線客戶端獲取其存有(下載完成未播放或播放完成未刪除)的內(nèi)容切片文件的信息,根據(jù)該信息可以從其他在線客戶端下載相應(yīng)的內(nèi)容切片文件,并不按照M3U8索引文件中內(nèi)容切片的順序進(jìn)行下載。通過內(nèi)容切片文件不按照順序下載可以實(shí)現(xiàn)多媒體內(nèi)容數(shù)據(jù)的非線性傳輸,進(jìn)而提高多媒體數(shù)據(jù)傳輸?shù)撵`活性,在多媒體內(nèi)容的下載過程中,可以有效降低相應(yīng)內(nèi)容服務(wù)器的運(yùn)行負(fù)載。由此,內(nèi)容服務(wù)器可以穩(wěn)定地向更多的多媒體播放應(yīng)用提供數(shù)據(jù)訪問服務(wù),使用更多客戶都可以穩(wěn)定地下載多媒體內(nèi)容,以及觀看多媒體內(nèi)容的點(diǎn)播節(jié)目或直播節(jié)目,提升用戶的使用體驗(yàn)。[〇〇27]下面結(jié)合附圖詳細(xì)描述本發(fā)明的示例性實(shí)施例的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法和裝置。[〇〇28] 實(shí)施例一
[0029]圖1是示出本發(fā)明示例性實(shí)施例一提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法的流程圖,該方法的執(zhí)行主體可以為如圖3所示的數(shù)據(jù)傳輸裝置,或者包括該裝置的智能終端設(shè)備,例如,智能手機(jī)、平板電腦、智能電視等。
[0030]參照?qǐng)D1,在步驟S110,從服務(wù)器端接收當(dāng)前的在線客戶端的信息。[0〇31 ] 其中,在線客戶端的信息包括網(wǎng)際協(xié)議(Internet Protocol,IP)地址等信息,用于傳輸多媒體內(nèi)容的數(shù)據(jù)。本實(shí)施例中,在多個(gè)客戶端從服務(wù)器端下載同一多媒體內(nèi)容時(shí), 服務(wù)器端獲取包括這些客戶端的包括IP地址的信息,生成在線客戶端信息列表,發(fā)送給各客戶端。客戶端從服務(wù)器端接收的當(dāng)前的在線客戶端的信息即為該在線客戶端信息列表。
[0032]此外,由于各客戶端的下載進(jìn)度不同或者網(wǎng)絡(luò)連接會(huì)出現(xiàn)變化,相應(yīng)的在線客戶端的信息可能不同,因此,服務(wù)器端可以周期性的統(tǒng)計(jì)當(dāng)前的在線客戶端的信息。
[0033]在步驟S120,分別與在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從在線客戶端接收其存有的多媒體內(nèi)容的內(nèi)容部分的信息。
[0034]在客戶端接收到在線客戶端信息列表之后,利用其中的其他在線客戶端的IP地址,基于點(diǎn)對(duì)點(diǎn)協(xié)議與其他在線客戶端建立通信連接,并從其他客戶端接收其已經(jīng)下載完成并進(jìn)行存儲(chǔ)的多媒體內(nèi)容的內(nèi)容部分的信息。該信息具體可以為用于標(biāo)識(shí)出相應(yīng)的其他客戶端存有的多個(gè)內(nèi)容切片文件的信息。
[0035]在步驟S130,根據(jù)接收到的在線客戶端存有的多媒體內(nèi)容的內(nèi)容部分的信息從在線客戶端接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)。
[0036]根據(jù)本發(fā)明的基本構(gòu)思,客戶端接收到其他在線客戶端存有的多媒體內(nèi)容的內(nèi)容部分的信息之后,確定其中的信息與本地待下載的多媒體內(nèi)容的內(nèi)容部分的信息是否相同,或其中部分相同。若確定其中有相同的部分,則可以基于點(diǎn)對(duì)點(diǎn)協(xié)議,從相應(yīng)的其他在線客戶端下載這部分多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)。若確定其中未有相同的部分,則可以繼續(xù)從另一個(gè)其他在線客戶端下載本地待下載的內(nèi)容部分。
[0037]而且,若由于作為這部分多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)源的其他在線客戶端突然下線,或者由于網(wǎng)絡(luò)故障導(dǎo)致這部分多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)未傳輸完成,則可以向另一個(gè)其他在線客戶端請(qǐng)求下載前述未傳輸完成的多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)。
[0038]其中,如果接收到的其他在線客戶端存有的多媒體內(nèi)容的內(nèi)容部分的信息中包括本地待下載的內(nèi)容部分的信息,即可進(jìn)行相應(yīng)下載,無需按照多媒體內(nèi)容的內(nèi)容部分的順序進(jìn)行下載,提高多媒體內(nèi)容的下載速度,可以有效提高多媒體內(nèi)容數(shù)據(jù)傳輸?shù)撵`活性。
[0039]例如,第一客戶端在下載電視劇集《瑯琊榜》的第一劇集,此時(shí)第二客戶端也在下載電視劇集《瑯琊榜》的第一劇集,且下載進(jìn)度快于第一客戶端的下載進(jìn)度。假設(shè)第一客戶端待下載的第四個(gè)到第十個(gè)內(nèi)容切片文件,第二客戶端存有內(nèi)容切片的信息中包括這部分內(nèi)容切片文件的信息,則第一客戶端可以基于點(diǎn)對(duì)點(diǎn)協(xié)議從第二客戶端接收這部分內(nèi)容切片文件。如此,第一客戶端不用從電視劇集《瑯琊榜》相應(yīng)的內(nèi)容服務(wù)器下載這部分內(nèi)容切片文件,可以有效降低內(nèi)容服務(wù)器的運(yùn)行負(fù)載。
[0040]本發(fā)明的實(shí)施例提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法,在多媒體內(nèi)容的下載過程中,利用從服務(wù)器端接收的當(dāng)前在線客戶端的信息與在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并根據(jù)從在線客戶端接收其存有的多媒體內(nèi)容的內(nèi)容部分的信息,來其存有的多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù),無需按照本地待下載多媒體內(nèi)容的內(nèi)容部分的順序進(jìn)行下載,從而實(shí)現(xiàn)了多媒體內(nèi)容數(shù)據(jù)的非線性下載,提高多媒體內(nèi)容數(shù)據(jù)傳輸?shù)撵`活性,并且降低相應(yīng)的多媒體內(nèi)容服務(wù)的運(yùn)行負(fù)載。[〇〇41 ] 實(shí)施例二
[0042]圖2是示出本發(fā)明示例性實(shí)施例二提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法的流程圖,該方法可以視為圖1所示實(shí)施例一的方法的一種具體實(shí)現(xiàn)方式。
[0043]參照?qǐng)D2,在步驟S210,從服務(wù)器接收當(dāng)前的在線客戶端的信息和多媒體內(nèi)容的內(nèi)容部分的信息。
[0044]本實(shí)施例中,在執(zhí)行步驟S110時(shí),還從服務(wù)器端接收多媒體內(nèi)容的內(nèi)容部分的信息。其中,多媒體內(nèi)容的內(nèi)容部分的信息是由服務(wù)器端對(duì)多媒體內(nèi)容的內(nèi)容部分進(jìn)行劃分后統(tǒng)計(jì)得出的。具體地,服務(wù)器端將多媒體內(nèi)容的多個(gè)內(nèi)容切片文件劃分為多個(gè)數(shù)據(jù)塊(每個(gè)數(shù)據(jù)塊可以包括一個(gè)或多個(gè)內(nèi)容切片文件),記錄并生成包括描述各個(gè)數(shù)據(jù)塊的信息數(shù)據(jù)描述文件。此外,服務(wù)器端實(shí)時(shí)生成數(shù)據(jù)描述文件,并將該數(shù)據(jù)描述文件實(shí)時(shí)發(fā)送給各在線客戶端,作為多媒體內(nèi)容的內(nèi)容部分的信息,客戶端則實(shí)時(shí)接收該數(shù)據(jù)描述文件。
[0045]數(shù)據(jù)描述文件可以通過任意組合的數(shù)據(jù)流來生成,以方便在多媒體內(nèi)容中插入多種樣式的外部多媒體內(nèi)容數(shù)據(jù)。例如,在電視劇集播放過程中,可以插入宣傳片、廣告等內(nèi)容。
[0046]在步驟220,根據(jù)多媒體內(nèi)容的內(nèi)容部分的信息確定本地存有的多媒體內(nèi)容的內(nèi)容部分的信息,以及本地未存有的多媒體內(nèi)容的內(nèi)容部分的信息。
[0047]客戶端接收到上述數(shù)據(jù)描述文件之后,根據(jù)該數(shù)據(jù)描述根據(jù)中各個(gè)數(shù)據(jù)塊的信息,可以確定客戶端本地存有的數(shù)據(jù)塊的信息,以及本地未存有的待下載數(shù)據(jù)塊的信息,并生成包括這兩部分信息的子數(shù)據(jù)描述文件。其中,本地未存有的數(shù)據(jù)塊為本地待下載的多媒體內(nèi)容的數(shù)據(jù)塊。[〇〇48]在步驟S230,分別與在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從在線客戶端接收其存有的多媒體內(nèi)容的內(nèi)容部分的信息。步驟S230與前述步驟S120的內(nèi)容相同,可參見步驟S120 相應(yīng)內(nèi)容。
[0049]在步驟S240,向在線客戶端發(fā)送對(duì)本地未存有的多媒體內(nèi)容的內(nèi)容部分的信息和接收到的在線客戶端存有的多媒體內(nèi)容的內(nèi)容部分的信息中共同包括的內(nèi)容部分的下載請(qǐng)求。
[0050]客戶端從其他在線客戶端其存有的多媒體內(nèi)容的內(nèi)容部分的信息,具體為其他在線客戶端中的子數(shù)據(jù)描述文件。客戶端根據(jù)自身的子數(shù)據(jù)描述文件以及其他在線客戶端的子數(shù)據(jù)描述文件,可以確定其他在線客戶端是否存有本客戶端本地待下載的數(shù)據(jù)塊。若其他在線客戶端存有本客戶端本地待下載的數(shù)據(jù)塊,則向該其他在線客戶端發(fā)送對(duì)這部分?jǐn)?shù)據(jù)塊的下載請(qǐng)求。若其他在線客戶端未存有本客戶端本地待下載的數(shù)據(jù)塊,則向另一個(gè)其他在線客戶端請(qǐng)求下載本地待下載的數(shù)據(jù)塊。
[0051]在步驟S250,從在線客戶端接收下載請(qǐng)求對(duì)應(yīng)的內(nèi)容部分的數(shù)據(jù)。[〇〇52]在其他在線客戶端接收到上述下載請(qǐng)求之后,響應(yīng)于該下載請(qǐng)求將對(duì)應(yīng)的數(shù)據(jù)塊基于點(diǎn)對(duì)點(diǎn)協(xié)議發(fā)送到本客戶端,本地客戶端接收這部分?jǐn)?shù)據(jù)塊,即可完成對(duì)待下載數(shù)據(jù)塊的下載,無需從內(nèi)容服務(wù)器下載這部分多媒體數(shù)據(jù),相應(yīng)地降低了內(nèi)容服務(wù)器的運(yùn)行負(fù)載。其中,各個(gè)數(shù)據(jù)塊無需按照順序來傳輸,只要能夠傳輸完成即可,以保證數(shù)據(jù)傳輸具有較高的靈活性。
[0053]此外,為了適應(yīng)網(wǎng)絡(luò)不穩(wěn)定、抖動(dòng)較頻繁的網(wǎng)絡(luò)環(huán)境,可以在服務(wù)器端將各數(shù)據(jù)塊切分為多個(gè)數(shù)據(jù)量較小的數(shù)據(jù)片,以各數(shù)據(jù)片為最小傳輸單位進(jìn)行多媒體內(nèi)容數(shù)據(jù)的傳輸。即使在出現(xiàn)網(wǎng)絡(luò)故障時(shí),多媒體內(nèi)容數(shù)據(jù)未傳輸完成,可以向另外的其他在線客戶端請(qǐng)求下載數(shù)據(jù)塊中未下載的部分?jǐn)?shù)據(jù)片,避免造成網(wǎng)絡(luò)資源的浪費(fèi)。
[0054]在步驟S260,向在線客戶端發(fā)送本地存有的多媒體內(nèi)容的內(nèi)容部分的信息。
[0055]本實(shí)施例中,通過客戶端向其他在線客戶端發(fā)送包括本地已存有的數(shù)據(jù)塊的信息的子數(shù)據(jù)描述文件,來實(shí)現(xiàn)多個(gè)客戶端之間對(duì)已存有的數(shù)據(jù)塊的信息的交互,以方便各客戶端選擇合適的其他在線客戶端請(qǐng)求下載本地待下載的數(shù)據(jù)塊。
[0056]在步驟S270,響應(yīng)于在線客戶端的下載請(qǐng)求,向在線客戶端發(fā)送本地存有的多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)。
[0057]若本客戶端已存有的數(shù)據(jù)塊包括其他在線客戶端的待下載的數(shù)據(jù)塊,其他在線客戶端向本客戶端發(fā)送下載請(qǐng)求。在本客戶端接收到該下載請(qǐng)求之后,響應(yīng)于該下載請(qǐng)求,向?qū)?yīng)的其他在線客戶端發(fā)送該相應(yīng)的數(shù)據(jù)塊,從而實(shí)現(xiàn)對(duì)本地已存有的數(shù)據(jù)塊的分享。
[0058]優(yōu)選地,本實(shí)施例的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法還包括:根據(jù)從在線客戶端接收的內(nèi)容部分的數(shù)據(jù)更新本地未存有的多媒體內(nèi)容的內(nèi)容部分的信息。
[0059]由于客戶端持續(xù)地從服務(wù)器端或者基于點(diǎn)對(duì)點(diǎn)協(xié)議從其他在線客戶端下載多媒體內(nèi)容的數(shù)據(jù)塊,本地待下載的多媒體內(nèi)容的數(shù)據(jù)量不斷更新。因此,需要對(duì)本地已存有的數(shù)據(jù)塊的信息和本地未存有的數(shù)據(jù)塊的信息進(jìn)行更新,以方便客戶端從不同的其他在線客戶端請(qǐng)求下載待下載數(shù)據(jù)塊。具體的更新方法可以通過周期性執(zhí)行步驟S220,不斷更新客戶端中的子數(shù)據(jù)描述文件來完成。
[0060]本發(fā)明的實(shí)施例提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法,在圖1所示實(shí)施例的基礎(chǔ)上,進(jìn)一步示出了基于點(diǎn)對(duì)點(diǎn)協(xié)議從在線客戶端獲取多媒體內(nèi)容數(shù)據(jù)的具體方式,以及增加了與在線客戶端進(jìn)行多媒體內(nèi)容數(shù)據(jù)交互的方式,從而進(jìn)一步提高多媒體數(shù)據(jù)傳輸?shù)撵`活性,更加有效地降低相應(yīng)的內(nèi)容服務(wù)器的運(yùn)行負(fù)載。[0061 ] 實(shí)施例三
[0062]圖3是示出本發(fā)明示例性實(shí)施例三提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置的邏輯框圖,該裝置可用于執(zhí)行如圖1所示實(shí)施例的方法。[〇〇63]參照?qǐng)D3,該裝置包括客戶端信息接收模塊310、內(nèi)容信息接收模塊320和內(nèi)容數(shù)據(jù)接收模塊330。
[0064]其中:客戶端信息接收模塊310用于從服務(wù)器端接收當(dāng)前的在線客戶端的信息;內(nèi)容信息接收模塊320用于分別與在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從在線客戶端接收其存有的多媒體內(nèi)容的內(nèi)容部分的信息;內(nèi)容數(shù)據(jù)接收模塊330用于根據(jù)接收到的在線客戶端存有的多媒體內(nèi)容的內(nèi)容部分的信息從在線客戶端接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)。
[0065]本發(fā)明的實(shí)施例提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置,通過在多媒體內(nèi)容的下載過程中,從服務(wù)器端接收的當(dāng)前在線客戶端的信息,根據(jù)該信息與在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并根據(jù)從在線客戶端接收其存有的多媒體內(nèi)容的內(nèi)容部分的信息,來其存有的多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù),從而無需按照本地待下載多媒體內(nèi)容的內(nèi)容部分的順序進(jìn)行下載,實(shí)現(xiàn)了多媒體內(nèi)容數(shù)據(jù)的非線性下載,提高多媒體內(nèi)容數(shù)據(jù)傳輸?shù)撵`活性,以及降低相應(yīng)的多媒體內(nèi)容服務(wù)的運(yùn)行負(fù)載。
[0066]實(shí)施例四
[0067]圖4是示出本發(fā)明示例性實(shí)施例四提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置的邏輯框圖,該裝置為在圖3所示實(shí)施例的裝置的基礎(chǔ)上提供一種具體實(shí)現(xiàn)方式,該裝置可用于執(zhí)行如圖2所示實(shí)施例的方法。
[0068]參照?qǐng)D4,在圖3所示實(shí)施例的裝置的基礎(chǔ)上,該裝置還包括內(nèi)容信息發(fā)送模塊 340,用于向在線客戶端發(fā)送本地存有的多媒體內(nèi)容的內(nèi)容部分的信息。[〇〇69]進(jìn)一步地,該裝置還包括內(nèi)容信息發(fā)送模塊350,用于響應(yīng)于所述在線客戶端的下載請(qǐng)求,向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)。
[0070]進(jìn)一步地,內(nèi)容信息接收模塊320還用于:從服務(wù)器端接收包括多媒體內(nèi)容的內(nèi)容部分的信息,并根據(jù)多媒體內(nèi)容的信息確定本地存有的多媒體內(nèi)容的內(nèi)容部分的信息,以及本地未存有的多媒體內(nèi)容的內(nèi)容部分的信息。[0〇71]進(jìn)一步地,內(nèi)容數(shù)據(jù)接收模塊330包括:下載請(qǐng)求發(fā)送單元331和內(nèi)容數(shù)據(jù)接收單元332,下載請(qǐng)求發(fā)送單元331用于向在線客戶端發(fā)送對(duì)本地未存有的多媒體內(nèi)容的內(nèi)容部分的信息和接收到的在線客戶端存有的多媒體內(nèi)容的內(nèi)容部分的信息中共同包括的內(nèi)容部分的下載請(qǐng)求;內(nèi)容數(shù)據(jù)接收單元332用于從在線客戶端接收下載請(qǐng)求對(duì)應(yīng)的內(nèi)容部分的數(shù)據(jù)。
[0072]進(jìn)一步地,內(nèi)容信息接收模塊320還用于:根據(jù)從在線客戶端接收的內(nèi)容部分的數(shù)據(jù)更新本地未存有的多媒體內(nèi)容的內(nèi)容部分的信息。
[0073]本發(fā)明的實(shí)施例提供的基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置,在圖3所示實(shí)施例的基礎(chǔ)上,進(jìn)一步示出了內(nèi)容數(shù)據(jù)接收模塊基于點(diǎn)對(duì)點(diǎn)協(xié)議從在線客戶端獲取多媒體內(nèi)容數(shù)據(jù)的具體方式,以及增加了與在線客戶端進(jìn)行多媒體內(nèi)容數(shù)據(jù)交互的內(nèi)容信息發(fā)送模塊和內(nèi)容數(shù)據(jù)發(fā)送模塊等,從而進(jìn)一步提高多媒體數(shù)據(jù)傳輸?shù)撵`活性,更加有效地降低相應(yīng)的內(nèi)容服務(wù)器的運(yùn)行負(fù)載。
[0074]需要指出,根據(jù)實(shí)施的需要,可將本申請(qǐng)中描述的各個(gè)部件/步驟拆分為更多部件/步驟,也可將兩個(gè)或多個(gè)部件/步驟或者部件/步驟的部分操作組合成新的部件/步驟, 以實(shí)現(xiàn)本發(fā)明的目的。
[0075]上述根據(jù)本發(fā)明的方法可在硬件、固件中實(shí)現(xiàn),或者被實(shí)現(xiàn)為可存儲(chǔ)在記錄介質(zhì) (諸如CD R0M、RAM、軟盤、硬盤或磁光盤)中的軟件或計(jì)算機(jī)代碼,或者被實(shí)現(xiàn)通過網(wǎng)絡(luò)下載的原始存儲(chǔ)在遠(yuǎn)程記錄介質(zhì)或非暫時(shí)機(jī)器可讀介質(zhì)中并將被存儲(chǔ)在本地記錄介質(zhì)中的計(jì)算機(jī)代碼,從而在此描述的方法可被存儲(chǔ)在使用通用計(jì)算機(jī)、專用處理器或者可編程或?qū)S糜布?諸如ASIC或FPGA)的記錄介質(zhì)上的這樣的軟件處理??梢岳斫?,計(jì)算機(jī)、處理器、微處理器控制器或可編程硬件包括可存儲(chǔ)或接收軟件或計(jì)算機(jī)代碼的存儲(chǔ)組件(例如,RAM、 ROM、閃存等),當(dāng)所述軟件或計(jì)算機(jī)代碼被計(jì)算機(jī)、處理器或硬件訪問且執(zhí)行時(shí),實(shí)現(xiàn)在此描述的處理方法。此外,當(dāng)通用計(jì)算機(jī)訪問用于實(shí)現(xiàn)在此示出的處理的代碼時(shí),代碼的執(zhí)行將通用計(jì)算機(jī)轉(zhuǎn)換為用于執(zhí)行在此示出的處理的專用計(jì)算機(jī)。
[0076]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸方法,所述方法包括,在多媒體內(nèi)容的下載過程中, 執(zhí)行以下處理:從服務(wù)器端接收當(dāng)前的在線客戶端的信息;分別與所述在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從所述在線客戶端接收其存有的所述多 媒體內(nèi)容的內(nèi)容部分的信息;根據(jù)接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息從所述在線 客戶端接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述方法還包括:從所述服務(wù)器端接收所述多媒體內(nèi)容的內(nèi)容部分的信息;根據(jù)所述多媒體內(nèi)容的內(nèi)容部分的信息確定本地存有的所述多媒體內(nèi)容的內(nèi)容部分 的信息,以及本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。3.根據(jù)權(quán)利要求2所述的方法,其中,所述根據(jù)接收到的所述在線客戶端存有的所述多 媒體內(nèi)容的內(nèi)容部分的信息從所述在線客戶端節(jié)接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)的處理包括:向所述在線客戶端發(fā)送對(duì)所述本地未存有的所述多媒體內(nèi)容的內(nèi)容部分的信息和所 述接收到的在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息中共同包括的內(nèi)容部分 的下載請(qǐng)求;從所述在線客戶端接收所述下載請(qǐng)求對(duì)應(yīng)的內(nèi)容部分的數(shù)據(jù)。4.根據(jù)權(quán)利要求3所述的方法,其中,所述方法還包括:根據(jù)從所述在線客戶端接收的內(nèi)容部分的數(shù)據(jù)更新本地未存有的所述多媒體內(nèi)容的 內(nèi)容部分的信息。5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的方法,其中,所述方法還包括:向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi)容的內(nèi)容部分的信息。6.根據(jù)權(quán)利要求5所述的方法,其中,所述方法還包括:響應(yīng)于所述在線客戶端的下載請(qǐng)求,向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi) 容的內(nèi)容部分的數(shù)據(jù)。7.—種基于點(diǎn)對(duì)點(diǎn)協(xié)議的數(shù)據(jù)傳輸裝置,所述裝置包括:客戶端信息接收模塊,用于從服務(wù)器端接收當(dāng)前的在線客戶端的信息;內(nèi)容信息接收模塊,用于分別與所述在線客戶端建立點(diǎn)對(duì)點(diǎn)連接,并且從所述在線客 戶端接收其存有的所述多媒體內(nèi)容的內(nèi)容部分的信息;內(nèi)容數(shù)據(jù)接收模塊,用于根據(jù)接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容 部分的信息從所述在線客戶端接收相應(yīng)的內(nèi)容部分的數(shù)據(jù)。8.根據(jù)權(quán)利要求7所述的裝置,其中,所述內(nèi)容信息接收模塊還用于:從服務(wù)器端接收包括所述多媒體內(nèi)容的內(nèi)容部分的信息,并根據(jù)所述多媒體內(nèi)容的內(nèi) 容部分的信息確定本地存有的所述多媒體內(nèi)容的內(nèi)容部分的信息,以及本地未存有的所述 多媒體內(nèi)容的內(nèi)容部分的信息。9.根據(jù)權(quán)利要求8所述的裝置,其中,所述內(nèi)容數(shù)據(jù)接收模塊包括:下載請(qǐng)求發(fā)送單元,用于向所述在線客戶端發(fā)送對(duì)所述本地未存有的所述多媒體內(nèi)容 的內(nèi)容部分的信息和接收到的所述在線客戶端存有的所述多媒體內(nèi)容的內(nèi)容部分的信息 中共同包括的內(nèi)容部分的下載請(qǐng)求;內(nèi)容數(shù)據(jù)接收單元,用于從所述在線客戶端接收所述下載請(qǐng)求對(duì)應(yīng)的內(nèi)容部分的數(shù)據(jù)。10.根據(jù)權(quán)利要求9所述的裝置,其中,所述內(nèi)容信息接收模塊還用于:根據(jù)從所述在線客戶端接收的內(nèi)容部分的數(shù)據(jù)更新本地未存有的所述多媒體內(nèi)容的 內(nèi)容部分的信息。11.根據(jù)權(quán)利要求7至10中任一項(xiàng)所述的裝置,其中,所述裝置還包括:內(nèi)容信息發(fā)送模塊,用于向所述在線客戶端發(fā)送本地存有的所述多媒體內(nèi)容的內(nèi)容部 分的信息。12.根據(jù)權(quán)利要求11所述的裝置,其中,所述裝置還包括:內(nèi)容數(shù)據(jù)發(fā)送模塊,用于響應(yīng)于所述在線客戶端的下載請(qǐng)求,向所述在線客戶端發(fā)送 本地存有的所述多媒體內(nèi)容的內(nèi)容部分的數(shù)據(jù)。
【文檔編號(hào)】H04L29/08GK105959364SQ201610264991
【公開日】2016年9月21日
【申請(qǐng)日】2016年4月25日
【發(fā)明人】馬宙
【申請(qǐng)人】樂視控股(北京)有限公司, 樂視云計(jì)算有限公司