一種并行傳輸圖片的方法、裝置及系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明涉及網絡技術領域,尤其涉及一種并行傳輸圖片的方法、裝置及系統(tǒng)。
【背景技術】
[0002]隨著網絡技術的發(fā)展,出現了許多圖片瀏覽網站或多媒體網站,目前,對于這些網站而言,常常會遇到許多個終端同時到服務器請求同一個圖片的情況。對于這種情況,在絕對時間上,目前服務器只能首先響應其中一個終端的圖片傳輸請求,給一個終端傳輸圖片,其他所有終端都需要等待服務器依次響應該圖片傳輸請求??梢?,目前對于多終端同時請求傳輸同一圖片的解決方法傳輸效率比較低,即使帶寬允許也只能輪候傳輸,不能充分利用網絡資源。因此,需要一種能夠使服務器同時響應多個終端對同一圖片的傳輸請求,實現同一圖片并行傳輸給多個終端的方案,以提高圖片的網絡傳輸效率。
【發(fā)明內容】
[0003]本發(fā)明提供一種并行傳輸圖片的方法、裝置及系統(tǒng),用于實現同一圖片并行傳輸給多個終端,提高圖片的網絡傳輸效率的目的。
[0004]本發(fā)明提供的一種并行傳輸圖片的方法,包括:
[0005]服務器根據多個請求終端對同一圖片的傳輸請求,將被請求圖片分割為N個圖片塊,所述N為大于等于所述多個請求終端的總數的正整數;
[0006]服務器向所述多個請求終端并行傳輸被請求圖片的不同圖片塊,直至向每個請求終端傳輸完被請求圖片的所有圖片塊。
[0007]本發(fā)明實施例的一些有益效果可以包括:
[0008]本發(fā)明提供的并行傳輸圖片的方法通過將被請求圖片分成多個圖片塊,然后在同一時刻向不同的請求終端發(fā)送被請求圖片的不同圖片塊,因此能夠同時向多個請求終端發(fā)送被請求圖片的不同部位數據,實現了同一圖片并行傳輸給多個終端的目的,提高了圖片的傳輸效率。
[0009]在一個實施例中,所述服務器向所述多個請求終端并行傳輸被請求圖片的不同圖片塊之前,還包括步驟:
[0010]服務器根據預定編號規(guī)則為被請求圖片的每個圖片塊編號;
[0011]服務器生成所述多個請求終端對應的多個圖片塊編號序列;每個請求終端對應的圖片塊編號序列包括所述被請求圖片的N個圖片塊的編號,且任意兩個不同請求終端對應的圖片塊編號序列的對應位置的圖片塊編號不同;
[0012]所述服務器向所述多個請求終端并行傳輸被請求圖片的不同圖片塊,包括:對于每一個請求終端,服務器根據該請求終端對應的圖片塊編號序列向該請求終端順序傳輸每個圖片塊編號對應的圖片塊,且同一時刻向所述多個請求終端并行傳輸所述多個請求終端對應的多個圖片塊編號序列中同一位置的圖片塊編號對應的圖片塊。
[0013]該實施例中,提供了服務器為分割被請求圖片得到的圖片塊編號,由此根據為每個請求終端生成的編號生成圖片塊的編號序列的方法,只需保證多個請求終端的編號序列的同一位置的圖片塊編號不同即可,使得服務器主動為請求終端并行發(fā)送不同的圖片塊的方案有序可行。
[0014]在一個實施例中,所述服務器生成所述多個請求終端對應的多個圖片塊編號序列,包括:服務器將所述第M個請求終端對應的圖片塊編號序列的編號順序生成為:所述被請求圖片的第M個圖片塊編號至第N個圖片塊編號,隨后為被請求圖片的第I個圖片塊編號至第N-1個圖片塊編號;其中,所述M = 1,...,N,M為同時發(fā)出所述被請求圖片的傳輸請求的請求終端總數。
[0015]該實施例中,提供了服務器采用錯位編號方法生成多個請求終端的編號序列的方法,該方法簡單可行,不易出錯。
[0016]在一個實施例中,所述服務器生成所述多個請求終端對應的多個圖片塊編號序列,包括:
[0017]服務器通知所述多個請求終端被請求圖片的圖片塊數量N ;
[0018]服務器獲取各請求終端根據所述被請求圖片的圖片塊數量N各自生成的隨機數序列;所述隨機數序列包括隨機排列的N個數,任意兩個不同請求終端生成的隨機數序列中的N個數相同,且任意兩個不同請求終端生成的隨機數序列中對應位置的數不同;
[0019]服務器建立所述被請求圖片的N個圖片塊編號和所述隨機數序列中的N個數的
--對應關系,并根據各請求終端生成的隨機數序列,生成所述多個請求終端對應的多個圖片塊編號序列。
[0020]該實施例中,各請求終端根據所述被請求圖片的圖片塊數量N各自生成隨機數序列并提供給服務器,服務器根據各請求終端的隨機數序列生成各請求終端對應的圖片塊編號序列,隨后服務器按照編號序列主動向請求終端圖片塊發(fā)送即可,實施簡單可行。
[0021 ] 在一個實施例中,所述服務器向所述多個請求終端并行傳輸被請求圖片的不同圖片塊之前,還包括:
[0022]服務器根據預定編號規(guī)則將被請求圖片的N個圖片塊分別編號為I至N ;
[0023]服務器通知所述多個請求終端被請求圖片的圖片塊數量N ;
[0024]每個請求終端根據所述被請求圖片的圖片塊數量N生成一個隨機數序列;所述隨機數序列包括隨機排列的數I至N,且任意兩個不同請求終端生成的隨機數序列中對應位置的數不同;
[0025]各請求終端將自身產生的隨機數序列中的數順序作為圖片塊請求發(fā)送至服務器;
[0026]所述服務器向所述多個請求終端并行傳輸被請求圖片的不同圖片塊,包括:所述服務器根據各請求終端發(fā)來的圖片塊請求,向所述多個請求終端并行傳輸各終端發(fā)來的圖片塊請求中的編號對應的圖片塊。
[0027]該實施例中提供了服務器向各請求終端的發(fā)送圖片塊的順序由各請求終端決定的方法,服務器將被請求圖片編號為I至N,請求終端各自生成包含I至N的隨機數序列,并根據自身的隨機數序列依次向服務器主動請求編號對應于當前隨機數的圖片塊。圖片塊的發(fā)送順序由請求終端決定,只需要在請求終端添加相關的隨機數序列生成及請求程序即可實現。
[0028]在一個實施例中,所述服務器向每個請求終端傳輸完被請求圖片的所有圖片塊之后,還包括:服務器緩存本次被請求圖片的圖片塊數量N的值、所有請求終端的ID以及各請求終端的隨機數序列;
[0029]所述服務器通知所述多個請求終端被請求圖片的圖片塊數量N之前,還包括:
[0030]所述服務器判斷是否緩存有本次發(fā)來傳輸請求的所有請求終端的ID,并判斷本次分割被請求圖片得到的圖片塊數量是否等于緩存的被請求圖片的圖片塊數量N的值,若緩存有本次發(fā)來傳輸請求的所有請求終端的ID以及本次分割被請求圖片得到的圖片塊數量等于緩存的N的值,則提取已緩存的本次發(fā)來傳輸請求的所有請求終端的隨機數序列,并根據各請求終端的隨機數序列向多個請求終端并行傳輸被請求圖片的不同圖片塊;否則,服務器通知所述多個請求終端被請求圖片的圖片塊數量N并繼續(xù)后續(xù)步驟。
[0031]該實施例中,在每次采用上述并行傳輸圖片的方法向多個終端發(fā)送圖片之后,月艮務器緩存本次被請求圖片的圖片塊數量N的值、所有請求終端的ID以及各請求終端的隨機數序列,這樣,在下一次收到圖片傳輸請求時,若已緩存過當前所有請求終端的上一次隨機數序列且上一次的圖片塊數量N可用時,可根據緩存的上一次的圖片分割和并行傳輸方法直接給當前的各請求終端發(fā)送圖片塊,因此無需再次執(zhí)行請求終端生成隨機數的過程,圖片發(fā)送流程更為省時,圖片并行發(fā)送效率高。
[0032]本發(fā)明提供的一種并行傳輸圖片的裝置,用于服務器,包括:
[0033]第一分割模塊,用于根據多個請求終端對同一圖片的傳輸請求,將被請求圖片分割為N個圖片塊,所述N為大于等于請求圖片的請求終端總數的正整數;
[0034]第一傳輸模塊,用于向所述多個請求終端并行傳輸分割得到的被請求圖片的不同圖片塊,直至向每個請求終端傳輸完被請求圖片的所有圖片塊。
[0035]在一個實施例中,所述并行傳輸圖片的裝置還包括:
[0036]排序模塊,用于根據預定編號規(guī)則為所述第一分割模塊分割得到的被請求圖片的每個圖片塊編號,并生成所述多個請求終端各自對應的圖片塊編號序列;其中,每個請求終端對應的圖片塊編號序列包括所述被請求圖片的N個圖片塊的編號,且任意兩個不同請求終端對應的圖片塊編號序列的對應位置的圖片塊編號不同;
[0037]所述第一傳輸模塊用于根據所述排序模塊生成的各請求終端對應的圖片塊編號序列,向各請求終端順序傳輸其對應的圖片塊編號序列中每個圖片塊編號對應的圖片塊,且同一時刻向所述多個請求終端并行傳輸所述多個請求終端對應的多個圖片塊編號序列中同一位置的圖片塊編號對應的圖片塊。
[0038]本發(fā)明提供的一種并行傳輸圖片的系統(tǒng),包括:服務器和多個請求終端;所述服務器包括第二分割模塊、編號模塊、第二傳輸模塊;所述請求終端包括隨機數序列生成模塊、請求模塊和接收模塊;
[0039]所述第二分割模塊用于根據多個請求終端對同一圖片的傳輸請求,將