2015-06-25 16 views
-3

我有這個奇怪的問題。我想創建一個下載工具。我想到的想法是,當從源文件下載任何文件時,我應該能夠將文件分成大塊。例如。如果文件大小爲100 MB,那麼我希望5個流指向我的機器同時下載20MB,以便使5 * 20 = 100。 我對這個問題的解決方案是,我的客戶端下載工具將有一臺服務器。首先將文件下載到雲服務器上(因爲速度非常快,需要數秒)。然後從我的服務器,我可以根據文件的大小獲取儘可能多的流。這個想法將使我利用連接的全部帶寬。下載算法

我正在使用java btw !!!

+8

什麼是問題? –

+2

你剛剛說明你想要做什麼。那很棒。聽起來不錯。 SO是針對具體的開發問題的。你有什麼? – MadConan

回答

2

如果文件的原始位置在慢速服務器上,則將其下載到雲服務器的速度不會很快。

當它位於雲服務器上時,它將不會更快地以單獨的塊下載而不是一塊。

因此,您的想法並不真正起作用,除非由於某種原因雲服務器能夠比您直接下載文件更快。

這只是不是如何聯網工作。

+0

那麼你有什麼建議?你能列出一些下載算法嗎?我知道的一個是預測算法和我說的一個..有很多方法來加速下載..我在其中之一..建議如果你有話要說.. –

+0

我建議你閱讀網絡。然後你就會明白你的想法爲什麼不起作用,並且可能會學到新的東西。 – Kayaman

0

那麼.. @kayaman我做了一些關於我問的問題。並發現大多數服務器允許跳過字節和多個連接到數據。所以,如果我想下載一個大小爲80MB的文件,那麼我可以得到8個連接指向服務器上的相同文件,每個可以幫助我下載80/8 = 10MB。 要更清楚..例如..如果字節範圍是從0到80(其重量總共80MB)..

連接1 - 0-10 MB。

連接2 - 11-20 MB。

....

....

連接8 - 71-80 MB

和HTTP還與在標頭範圍屬性支持此.. 應該有一個檢查在此下載器中,如果服務器允許多個連接到文件更安全的一面..「但大多數」「

我只是想法錯誤的方式」文件服務器到我的服務器,然後多個連接到客戶端」。它只是大多數的文件服務器已經具有內置的功能.. 而你指出的其他東西不能增加帶寬窗口..這是真的..但是,如果你用一個連接線性地下載文件,它的速度慢於文件以塊的形式下載。我不知道爲什麼,但這個作品..:p

謝謝,