亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

下載數(shù)據(jù)的調(diào)度方法及裝置的制造方法

文檔序號:10515637閱讀:508來源:國知局
下載數(shù)據(jù)的調(diào)度方法及裝置的制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種下載數(shù)據(jù)的調(diào)度方法及裝置,涉及數(shù)據(jù)處理領(lǐng)域,解決了現(xiàn)有技術(shù)中不同客戶端在點(diǎn)播或直播同一資源時的數(shù)據(jù)利用率低的問題。本發(fā)明實(shí)施例的方法包括:當(dāng)客戶端與對端下載同一數(shù)據(jù)時,獲取對端的數(shù)據(jù)下載情況;根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊;若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊;若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。本發(fā)明實(shí)施例能夠提高不同客戶端在點(diǎn)播或直播同一資源時的數(shù)據(jù)利用率,避免不同客戶端在點(diǎn)播或直播同一資源時無法相互進(jìn)行更多的數(shù)據(jù)交互。
【專利說明】
下載數(shù)據(jù)的調(diào)度方法及裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明實(shí)施例涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種下載數(shù)據(jù)的調(diào)度方法及裝置。
【背景技術(shù)】
[0002]在生活中人們需要從網(wǎng)絡(luò)上下載各種數(shù)據(jù),傳統(tǒng)的http下載是從服務(wù)器上直接復(fù)制數(shù)據(jù)給客戶端,這種數(shù)據(jù)傳輸?shù)目炻軒挼南拗疲?dāng)一臺服務(wù)器上連接了過多的客戶端后,每個客戶端都會占用服務(wù)器一定的帶寬資源,服務(wù)器上連接的客戶端越多,客戶端下載數(shù)據(jù)的速度就越慢。
[0003]為了解決上述問題,現(xiàn)有技術(shù)中出現(xiàn)了點(diǎn)對點(diǎn)技術(shù)的(peer to peer,簡稱P2P)下載方式,一個客戶端就相當(dāng)于一個peer。在P2P網(wǎng)絡(luò)環(huán)境中,大量彼此連接的客戶端都處于對等的地位,整個網(wǎng)絡(luò)通常不依賴于一個服務(wù)器,P2P網(wǎng)絡(luò)中的每一臺客戶端既能充當(dāng)網(wǎng)絡(luò)服務(wù)的請求者,又對其他客戶端的請求作出響應(yīng),提供資源和服務(wù)。P2P軟件通常將文件分成若干塊進(jìn)行下載,通常在針對點(diǎn)播或直播進(jìn)行P2P下載時,與下載其他普通文件不同的是,為了保證播放數(shù)據(jù)的流暢性,需要按照數(shù)據(jù)塊的順序進(jìn)行順次下載。此時,當(dāng)多臺客戶端對同一頻道或節(jié)目進(jìn)行播放時,若都按照相同的順序下載數(shù)據(jù)塊,那么一臺客戶端無法從另一臺客戶端中獲取到自身沒有的數(shù)據(jù),則兩臺客戶端之間就無法進(jìn)行更多的數(shù)據(jù)交互,必須都從服務(wù)器獲取數(shù)據(jù)。這樣的話對于下載同一資源的兩臺客戶端而言,它們之間的數(shù)據(jù)利用率就會大大下降。因此,如何提高不同客戶端在點(diǎn)播或直播同一資源時的數(shù)據(jù)利用率成為使用P2P下載過程中亟待解決的問題。

【發(fā)明內(nèi)容】

[0004]本發(fā)明實(shí)施例提供一種下載數(shù)據(jù)的調(diào)度方法及裝置,用以解決現(xiàn)有技術(shù)中不同客戶端在點(diǎn)播或直播同一資源時的數(shù)據(jù)利用率低的問題。
[0005]本發(fā)明實(shí)施例提供一種下載數(shù)據(jù)的調(diào)度方法,包括:
[0006]當(dāng)客戶端與對端下載同一數(shù)據(jù)時,獲取對端的數(shù)據(jù)下載情況;
[0007]根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊;
[0008]若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊;
[0009]若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
[0010]進(jìn)一步的,所述獲取對端的數(shù)據(jù)下載情況包括:
[0011]獲取對端的位示圖,所述位示圖用于記錄完整數(shù)據(jù)中各個數(shù)據(jù)塊的下載情況。
[0012]進(jìn)一步的,根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊包括:
[0013]從對端的位示圖中查找自身未下載的數(shù)據(jù)塊。
[0014]進(jìn)一步的,所述若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊包括:
[0015]若從對端的位示圖中查找到自身未下載的數(shù)據(jù)塊,則從對端中獲取自身未下載的數(shù)據(jù)塊。
[0016]進(jìn)一步的,所述若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊從服務(wù)器進(jìn)行下載包括:
[0017]若從對端的位示圖中查找不到自身未下載的數(shù)據(jù)塊,則停止原先的順序下載,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
[0018]本發(fā)明實(shí)施例提供一種下載數(shù)據(jù)的調(diào)度裝置,包括:
[0019]獲取單元,用于當(dāng)客戶端與對端下載同一數(shù)據(jù)時,獲取對端的數(shù)據(jù)下載情況;
[0020]判斷單元,用于根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊;
[0021]所述獲取單元用于當(dāng)所述判斷單元的判斷結(jié)果為是時,從對端中獲取自身未下載的數(shù)據(jù)塊;
[0022]選擇單元,用于當(dāng)所述判斷單元的判斷結(jié)果為否時,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
[0023]進(jìn)一步的,所述獲取單元用于獲取對端的位示圖,所述位示圖用于記錄完整數(shù)據(jù)中各個數(shù)據(jù)塊的下載情況。
[0024]進(jìn)一步的,所述判斷單元用于從對端的位示圖中查找自身未下載的數(shù)據(jù)塊。
[0025]進(jìn)一步的,所述獲取單元用于當(dāng)所述判斷單元從對端的位示圖中查找到自身未下載的數(shù)據(jù)塊時,從對端中獲取自身未下載的數(shù)據(jù)塊。
[0026]進(jìn)一步的,所述獲取單元用于當(dāng)所述判斷單元從對端的位示圖中查找不到自身未下載的數(shù)據(jù)塊時,停止原先的順序下載,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
[0027]本發(fā)明實(shí)施例提供的下載數(shù)據(jù)的調(diào)度方法及裝置,當(dāng)客戶端與對端下載同一數(shù)據(jù)時,能夠由客戶端獲取對端的數(shù)據(jù)下載情況,根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊,若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊;若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。而在現(xiàn)有技術(shù)中,通常在針對點(diǎn)播或直播進(jìn)行P2P下載時,為了保證播放數(shù)據(jù)的流暢性,需要按照數(shù)據(jù)塊的順序進(jìn)行順次下載。若多臺客戶端對同一頻道或節(jié)目進(jìn)行播放時,都按照相同的順序下載數(shù)據(jù)塊,那么一臺客戶端就無法從另一臺客戶端中獲取到自身沒有的數(shù)據(jù)快,則兩臺客戶端之間就無法進(jìn)行更多的數(shù)據(jù)交互,必須都從服務(wù)器獲取數(shù)據(jù)。因此與現(xiàn)有技術(shù)中在對點(diǎn)播或直播數(shù)據(jù)進(jìn)行下載時的數(shù)據(jù)獲取效率較低的缺陷相比,本發(fā)明實(shí)施例能夠使得多臺客戶端分別下載對端不具有的數(shù)據(jù)塊,從而當(dāng)其他客戶端需要某個數(shù)據(jù)塊時能夠不從服務(wù)器下載而直接從對端獲取,大大提高了客戶端之間的數(shù)據(jù)交互,提高了數(shù)據(jù)下載的效率。
【附圖說明】
[0028]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0029]圖1為本發(fā)明實(shí)施例提供的一種下載數(shù)據(jù)的調(diào)度方法的流程圖;
[0030]圖2為本發(fā)明實(shí)施例提供的一種下載數(shù)據(jù)的調(diào)度裝置的組成框圖;[0031 ]圖3為本發(fā)明實(shí)施例提供的一種服務(wù)器的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0032]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0033]P2P軟件通常將文件分成若干塊進(jìn)行下載,在針對點(diǎn)播或直播進(jìn)行P2P下載時,為了保證播放數(shù)據(jù)的流暢性,需要按照數(shù)據(jù)塊的順序進(jìn)行順次下載。此時,當(dāng)多臺客戶端對同一頻道或節(jié)目進(jìn)行播放時,若都按照相同的順序下載數(shù)據(jù)塊,那么一臺客戶端無法從另一臺客戶端中獲取到自身沒有的數(shù)據(jù),則兩臺客戶端之間就無法進(jìn)行更多的數(shù)據(jù)交互,必須都從服務(wù)器獲取數(shù)據(jù)。這樣的話對于下載同一資源的兩臺客戶端而言,它們之間的數(shù)據(jù)利用率就會大大下降。
[0034]為了解決上述問題,本發(fā)明實(shí)施例提供一種下載數(shù)據(jù)的調(diào)度方法,如圖1所示,所述方法包括:
[0035]101、當(dāng)客戶端與對端下載同一數(shù)據(jù)時,獲取對端的數(shù)據(jù)下載情況。
[0036]在P2P網(wǎng)絡(luò)環(huán)境中,P2P軟件將完整數(shù)據(jù)分成若干個數(shù)據(jù)塊分別進(jìn)行下載。當(dāng)多臺客戶端下載同一數(shù)據(jù)時,這些客戶端之間建立了數(shù)據(jù)交互連系,當(dāng)一臺客戶端需要下載數(shù)據(jù)時可以先從其他客戶端獲取自身未下載的數(shù)據(jù)塊,若其他客戶端都不存在自身未下載的數(shù)據(jù)塊時客戶端才會從服務(wù)器下載數(shù)據(jù)塊。因此,在本發(fā)明實(shí)施例提供的下載數(shù)據(jù)的調(diào)度方法中,當(dāng)客戶端與對端下載同一數(shù)據(jù)時,首先需要客戶端獲取對端的數(shù)據(jù)下載情況。
[0037]102、根據(jù)數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊。
[0038]當(dāng)客戶端在步驟101中獲取到對端的數(shù)據(jù)下載情況之后,就需要根據(jù)對端的數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊,從而根據(jù)判斷結(jié)果確定自身后續(xù)下載數(shù)據(jù)塊的方式。
[0039]103、若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊。
[0040]當(dāng)在步驟102中判斷對端中包含自身未下載的數(shù)據(jù)塊時,客戶端就可以直接從對端中獲取未下載的數(shù)據(jù)塊,而不用從服務(wù)器獲取未下載的數(shù)據(jù)塊,從而可以不經(jīng)過中繼設(shè)備直接進(jìn)行數(shù)據(jù)交互,并且不受服務(wù)器連接的客戶端數(shù)量的影響,提高了客戶端下載數(shù)據(jù)的效率。
[0041]104、若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
[0042]當(dāng)在步驟102中判斷對端中沒有包含自身未下載的數(shù)據(jù)塊時,客戶端就可以從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載,從而使得對端在下載客戶端隨機(jī)選擇的數(shù)據(jù)塊時,能夠直接從所述客戶端獲取該數(shù)據(jù)塊。這種方式對于多臺客戶端在點(diǎn)播或直播同一個視頻資源時尤為重要,由于客戶端在使用P2P點(diǎn)播或直播視頻時,為了保證視頻播放的流暢性,需要按照數(shù)據(jù)塊的順序進(jìn)行順次下載,若多臺客戶端點(diǎn)播或直播同一個視頻時,它們都按照順序獲取數(shù)據(jù)塊,則在它們之間很難存在差異的下載數(shù)據(jù)塊,即一臺客戶端下載了某些數(shù)據(jù)塊,其他客戶端也通常下載了同樣的數(shù)據(jù)塊,或者一臺客戶端從服務(wù)器下載某些數(shù)據(jù),同時其他客戶端由于無法從對端獲取同樣的數(shù)據(jù),就只能從服務(wù)器獲取這些數(shù)據(jù),這樣就會造成客戶端節(jié)點(diǎn)之間出現(xiàn)數(shù)據(jù)塊碰撞的問題,導(dǎo)致一臺客戶端就無法從另一臺客戶端中獲取到自身沒有的數(shù)據(jù),從而造成客戶端之間無法進(jìn)行更多的數(shù)據(jù)交互,必須都從服務(wù)器獲取數(shù)據(jù)。而通過本發(fā)明實(shí)施例由客戶端在對端中未發(fā)現(xiàn)自身未下載的數(shù)據(jù)塊之后,打破原有的按照順序下載數(shù)據(jù)塊的方式,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載,使得對端在下載所述隨機(jī)選擇的數(shù)據(jù)塊時能夠直接從該客戶端獲取該數(shù)據(jù)塊。當(dāng)更多的客戶端在點(diǎn)播或直播同一個視頻資源時按照本發(fā)明實(shí)施例的方法進(jìn)行處理,就會大大提高客戶端獲取視頻的效率,提高客戶端之間數(shù)據(jù)的利用率。
[0043]本發(fā)明實(shí)施例提供的下載數(shù)據(jù)的調(diào)度方法,當(dāng)客戶端與對端下載同一數(shù)據(jù)時,能夠由客戶端獲取對端的數(shù)據(jù)下載情況,根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊,若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊;若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。而在現(xiàn)有技術(shù)中,通常在針對點(diǎn)播或直播進(jìn)行P2P下載時,為了保證播放數(shù)據(jù)的流暢性,需要按照數(shù)據(jù)塊的順序進(jìn)行順次下載。若多臺客戶端對同一頻道或節(jié)目進(jìn)行播放時,都按照相同的順序下載數(shù)據(jù)塊,那么一臺客戶端就無法從另一臺客戶端中獲取到自身沒有的數(shù)據(jù)快,則兩臺客戶端之間就無法進(jìn)行更多的數(shù)據(jù)交互,必須都從服務(wù)器獲取數(shù)據(jù)。因此與現(xiàn)有技術(shù)中在對點(diǎn)播或直播數(shù)據(jù)進(jìn)行下載時的數(shù)據(jù)獲取效率較低的缺陷相比,本發(fā)明實(shí)施例能夠使得多臺客戶端分別下載對端不具有的數(shù)據(jù)塊,從而當(dāng)其他客戶端需要某個數(shù)據(jù)塊時能夠不從服務(wù)器下載而直接從對端獲取,大大提高了客戶端之間的數(shù)據(jù)交互,提高了數(shù)據(jù)下載的效率。
[0044]為了更好的對上述圖1所示的方法進(jìn)行理解,作為對上述實(shí)施方式的細(xì)化和擴(kuò)展,本發(fā)明實(shí)施例將以兩臺客戶端(一臺稱為客戶端另一臺稱為對端)進(jìn)行點(diǎn)播或直播時下載數(shù)據(jù)為例,對上述圖1中的各個步驟進(jìn)行詳細(xì)說明。
[0045]當(dāng)客戶端與對端下載同一數(shù)據(jù)時,客戶端需要獲取對端的數(shù)據(jù)下載情況,根據(jù)對端中的數(shù)據(jù)下載情況確定自身需要通過何種方式獲取未下載數(shù)據(jù)。在獲取對端的數(shù)據(jù)下載情況時,客戶端可以通過記錄有節(jié)點(diǎn)信息的中心服務(wù)器獲取對端的位示圖,所述位示圖用于記錄完整數(shù)據(jù)中各個數(shù)據(jù)塊的下載情況,例如可以利用二進(jìn)制的一位來表示完整數(shù)據(jù)中一個數(shù)據(jù)塊的下載情況,當(dāng)其值為“O”時,表示所述數(shù)據(jù)塊未下載,當(dāng)其值為“Γ時,表示所述數(shù)據(jù)塊已下載,根據(jù)位示圖的數(shù)值就可以獲取到哪些數(shù)據(jù)塊被下載哪些數(shù)據(jù)塊未被下載。所述中心服務(wù)器并不保存需要下載的數(shù)據(jù),只是由客戶端節(jié)點(diǎn)負(fù)責(zé)發(fā)布數(shù)據(jù)信息,讓中心服務(wù)器知道它們想共享什么數(shù)據(jù),讓需要它的其他客戶端節(jié)點(diǎn)下載其可共享的數(shù)據(jù)資源。
[0046]在P2P網(wǎng)絡(luò)環(huán)境中,P2P軟件將完整數(shù)據(jù)分成若干個數(shù)據(jù)塊分別進(jìn)行下載,并且當(dāng)P2P下載環(huán)境中多臺客戶端下載同一個數(shù)據(jù)時,各個客戶端都會將所述數(shù)據(jù)分成相同的數(shù)據(jù)塊進(jìn)行下載并記錄自身的數(shù)據(jù)下載情況。在本發(fā)明實(shí)施例中,當(dāng)客戶端從對端中獲取到對端以位示圖表示的數(shù)據(jù)下載情況之后,就需要根據(jù)對端的位示圖判斷對端中是否存在自身未下載的數(shù)據(jù)塊。具體的,就是根據(jù)位示圖中記錄的各個數(shù)據(jù)塊的數(shù)值確定哪些數(shù)據(jù)塊被下載哪些數(shù)據(jù)塊未被下載。由于客戶端與對端的數(shù)據(jù)塊的個數(shù)相同,因此客戶端可以根據(jù)對端的數(shù)據(jù)塊下載情況確定其中是否存在自身未下載數(shù)據(jù)塊。
[0047]例如客戶端的位示圖記錄的代表8個數(shù)據(jù)塊的下載情況的數(shù)值為11000000,對端的位示圖記錄的代表8個數(shù)據(jù)塊的下載情況的數(shù)值也為11100000,當(dāng)客戶端開始下載第三個數(shù)據(jù)塊時,發(fā)現(xiàn)對端中第三個數(shù)據(jù)塊的數(shù)值為I,說明對端中包含自身未下載的數(shù)據(jù)塊,則客戶端可以直接從對端中獲取第三個數(shù)據(jù)塊,而不必從服務(wù)器獲取第三個數(shù)據(jù)塊,從而提尚數(shù)據(jù)塊的下載效率。
[0048]當(dāng)客戶端開始下載第四個數(shù)據(jù)塊時,發(fā)現(xiàn)對端位示圖中第四個數(shù)據(jù)塊的數(shù)值為0,則說明對端中未包含自身未下載的數(shù)據(jù)塊,則客戶端在保證自身播放正常的情況下,不以原有方式繼續(xù)按順序下載第四個數(shù)據(jù)塊,而是隨機(jī)從未下載的數(shù)據(jù)塊中選擇一個數(shù)據(jù)塊(例如第七個數(shù)據(jù)塊)進(jìn)行下載。當(dāng)所述客戶端第七個數(shù)據(jù)塊下載完成后,對端第四個數(shù)據(jù)塊也可能會下載完成,從而使得客戶端在下載第四個數(shù)據(jù)塊時能夠從對端中直接獲取,并且對端在下載第七個數(shù)據(jù)塊時能夠從客戶端中直接獲取??蛻舳送ㄟ^隨機(jī)下載未下載數(shù)據(jù)塊,打破原有的按照數(shù)據(jù)塊順序進(jìn)行下載的方式,使多臺客戶端在播放同一個資源時不再同步下載,從而不會出現(xiàn)客戶端之間找不到差異下載數(shù)據(jù)導(dǎo)致各個客戶端無法直接進(jìn)行數(shù)據(jù)交互的情況發(fā)生。
[0049]當(dāng)同時進(jìn)行點(diǎn)播或直播的客戶端越多,各個客戶端都按照本發(fā)明實(shí)施例的方法不以數(shù)據(jù)塊的順序隨機(jī)下載未下載數(shù)據(jù)時,就越能夠使得客戶端之間最大程度的從對端中獲取到自身未下載的數(shù)據(jù)塊,而不用從服務(wù)器下載,避免了各個客戶端按照數(shù)據(jù)塊順序下載數(shù)據(jù)時導(dǎo)致客戶端無法從其他客戶端獲取數(shù)據(jù)的缺陷。
[0050]作為對上述圖1所示方法的應(yīng)用,本發(fā)明實(shí)施例提供了一種下載數(shù)據(jù)的調(diào)度裝置,如圖2所示,所述裝置包括:獲取單元21、判斷單元22以及選擇單元23,其中,
[0051]獲取單元21,用于當(dāng)客戶端與對端下載同一數(shù)據(jù)時,獲取對端的數(shù)據(jù)下載情況;
[0052]判斷單元22,用于根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊;
[0053]獲取單元21用于當(dāng)判斷單元22的判斷結(jié)果為是時,從對端中獲取自身未下載的數(shù)據(jù)塊;
[0054]選擇單元23,用于當(dāng)判斷單元22的判斷結(jié)果為否時,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
[0055]進(jìn)一步的,獲取單元21用于獲取對端的位示圖,所述位示圖用于記錄完整數(shù)據(jù)中各個數(shù)據(jù)塊的下載情況。
[0056]進(jìn)一步的,判斷單元22用于從對端的位示圖中查找自身未下載的數(shù)據(jù)塊。
[0057]進(jìn)一步的,獲取單元21用于當(dāng)判斷單元22從對端的位示圖中查找到自身未下載的數(shù)據(jù)塊時,從對端中獲取自身未下載的數(shù)據(jù)塊。
[0058]進(jìn)一步的,獲取單元21用于當(dāng)判斷單元22從對端的位示圖中查找不到自身未下載的數(shù)據(jù)塊時,停止原先的順序下載,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
[0059]本發(fā)明實(shí)施例提供的下載數(shù)據(jù)的調(diào)度裝置,當(dāng)客戶端與對端下載同一數(shù)據(jù)時,能夠由客戶端獲取對端的數(shù)據(jù)下載情況,根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊,若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊;若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。而在現(xiàn)有技術(shù)中,通常在針對點(diǎn)播或直播進(jìn)行P2P下載時,為了保證播放數(shù)據(jù)的流暢性,需要按照數(shù)據(jù)塊的順序進(jìn)行順次下載。若多臺客戶端對同一頻道或節(jié)目進(jìn)行播放時,都按照相同的順序下載數(shù)據(jù)塊,那么一臺客戶端就無法從另一臺客戶端中獲取到自身沒有的數(shù)據(jù)快,則兩臺客戶端之間就無法進(jìn)行更多的數(shù)據(jù)交互,必須都從服務(wù)器獲取數(shù)據(jù)。因此與現(xiàn)有技術(shù)中在對點(diǎn)播或直播數(shù)據(jù)進(jìn)行下載時的數(shù)據(jù)獲取效率較低的缺陷相比,本發(fā)明實(shí)施例能夠使得多臺客戶端分別下載對端不具有的數(shù)據(jù)塊,從而當(dāng)其他客戶端需要某個數(shù)據(jù)塊時能夠不從服務(wù)器下載而直接從對端獲取,大大提高了客戶端之間的數(shù)據(jù)交互,提高了數(shù)據(jù)下載的效率。
[0060]此外,當(dāng)同時進(jìn)行點(diǎn)播或直播的客戶端越多,各個客戶端都通過本發(fā)明實(shí)施例的裝置不以數(shù)據(jù)塊的順序隨機(jī)下載未下載數(shù)據(jù)時,就越能夠使得客戶端之間最大程度的從對端中獲取到自身未下載的數(shù)據(jù)塊,而不用從服務(wù)器下載,避免了各個客戶端按照數(shù)據(jù)塊順序下載數(shù)據(jù)時導(dǎo)致客戶端無法從其他客戶端獲取數(shù)據(jù)的缺陷。
[0061]針對上述下載數(shù)據(jù)的調(diào)度裝置需要說明的是,凡是在本發(fā)明實(shí)施例中使用到的各個單元模塊的功能都可以通過硬件處理器(hardware processor)來實(shí)現(xiàn)。
[0062]圖3示例了一種服務(wù)器的結(jié)構(gòu)示意圖,如圖3所示,該服務(wù)器可以包括:處理器(processor)310、通信接口(Communicat1ns Interface)320、存儲器(memory)330和通信總線340,其中,處理器310,通信接口 320,存儲器330通過通信總線340完成相互間的通信。通信接口 320可以用于服務(wù)器與客戶端之間的信息傳輸。處理器310可以調(diào)用存儲器330中的邏輯指令,以執(zhí)行如下方法:基于預(yù)設(shè)的IP地址將客戶端的請求發(fā)送到過渡服務(wù)器中;所述過渡服務(wù)器將所述客戶端的請求轉(zhuǎn)發(fā)到執(zhí)行服務(wù)器中;根據(jù)所述請求在所述執(zhí)行服務(wù)器中查找對應(yīng)的域名解析結(jié)果;將所述對應(yīng)的域名解析結(jié)果返回給所述客戶端。
[0063]此外,上述的存儲器330中的邏輯指令可以通過軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(R0M,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0064]以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實(shí)施。
[0065]通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在計(jì)算機(jī)可讀存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個實(shí)施例或者實(shí)施例的某些部分所述的方法。
[0066]最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
【主權(quán)項(xiàng)】
1.一種下載數(shù)據(jù)的調(diào)度方法,其特征在于,所述方法包括: 當(dāng)客戶端與對端下載同一數(shù)據(jù)時,獲取對端的數(shù)據(jù)下載情況; 根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊; 若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊; 若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取對端的數(shù)據(jù)下載情況包括: 獲取對端的位示圖,所述位示圖用于記錄完整數(shù)據(jù)中各個數(shù)據(jù)塊的下載情況。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊包括: 從對端的位示圖中查找自身未下載的數(shù)據(jù)塊。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述若判斷結(jié)果為是,則從對端中獲取自身未下載的數(shù)據(jù)塊包括: 若從對端的位示圖中查找到自身未下載的數(shù)據(jù)塊,則從對端中獲取自身未下載的數(shù)據(jù)塊。5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述若判斷結(jié)果為否,則從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊從服務(wù)器進(jìn)行下載包括: 若從對端的位示圖中查找不到自身未下載的數(shù)據(jù)塊,則停止原先的順序下載,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。6.一種下載數(shù)據(jù)的調(diào)度裝置,其特征在于,所述裝置包括: 獲取單元,用于當(dāng)客戶端與對端下載同一數(shù)據(jù)時,獲取對端的數(shù)據(jù)下載情況; 判斷單元,用于根據(jù)所述數(shù)據(jù)下載情況判斷對端中是否包含自身未下載的數(shù)據(jù)塊; 所述獲取單元用于當(dāng)所述判斷單元的判斷結(jié)果為是時,從對端中獲取自身未下載的數(shù)據(jù)塊; 選擇單元,用于當(dāng)所述判斷單元的判斷結(jié)果為否時,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述獲取單元用于獲取對端的位示圖,所述位示圖用于記錄完整數(shù)據(jù)中各個數(shù)據(jù)塊的下載情況。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述判斷單元用于從對端的位示圖中查找自身未下載的數(shù)據(jù)塊。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取單元用于當(dāng)所述判斷單元從對端的位示圖中查找到自身未下載的數(shù)據(jù)塊時,從對端中獲取自身未下載的數(shù)據(jù)塊。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述獲取單元用于當(dāng)所述判斷單元從對端的位示圖中查找不到自身未下載的數(shù)據(jù)塊時,停止原先的順序下載,從自身未下載的數(shù)據(jù)塊中隨機(jī)選擇一個數(shù)據(jù)塊進(jìn)行下載。
【文檔編號】H04L29/08GK105871990SQ201510926185
【公開日】2016年8月17日
【申請日】2015年12月14日
【發(fā)明人】祝曉光
【申請人】樂視云計(jì)算有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1