2013-09-22 53 views
0

假設我需要通過HTTP從遠程主機下載很多小文件,並且我有一個要下載的URL列表。假設遠程主機只允許K連接到我的本地網絡。我的本地網絡有M電腦,我想平均分配文件。我所有的電腦都運行Linux。現在我想知道如何組織下載。如何用幾臺Linux電腦下載很多遠程文件?

現在我假設一臺計算機足以處理所有K連接並將所有這些文件存儲在其本地文件系統中。因此,我將分配一臺計算機將文件「下載」到以M本地主機命名的M文件夾中。本地主機將文件從這些文件夾複製(移動)到其文件系統。是否有意義 ?實現它的最簡單方法是什麼?

回答

1

您的方法很好,但有一個假設,所有文件的大小相同,所有計算機的性能相同。 如果一臺計算機完成其中的文件,其他計算機仍處於中途會發生什麼情況?在這種情況下,儘管您有可用的處理器,但它將閒置。 但是爲了實現這個,你將需要分佈式計算,這將會變得更加複雜,所以我會說如果這是一次性任務,或者如果總時間不是很大,那麼你的方法應該沒問題,否則你需要評估分佈式方法。

+0

恐怕這不是「一次性任務」。你會推薦什麼樣的分佈式方法? – Michael

+0

那麼,我仍然建議只有在必須的時候才採用分佈式方法。所以這裏是我將如何做到這一點,我會得到一個web服務運行在每臺可以下載文件的機器上。現在我將運行一個與所有機器交互的主程序。因此,可以說我有10臺機器,每臺機器可以一次下載5個文件。現在我將發送5個文件的第一個請求到每臺機器,當每臺機器迴應成功的下載時,我會發送下一個請求。 – Lokesh

+0

我明白了。謝謝。 – Michael

相關問題