2010-06-07 113 views
1

我們需要編寫持續發送的軟件(即在發送新數據時發送)將非常大的文件(幾個Tb)同時發送到多個目標。一些目的地有一個專門的光纖連接到源,而有些則沒有。通過網絡連續發送大文件

幾個問題就出來了:

  • 我們計劃使用TCP套接字這項任務。你會推薦什麼故障轉移程序來處理網絡中斷和連接丟失?
  • 上傳完成後會發生什麼情況:服務器是否關閉了套接字?如果是這樣,那麼讓另一個守護進程在另一個端口上提供文件校驗和是一個好的設計決定嗎?
  • 你能推薦一種方法來處理損壞的文件,除了再次下載它們嗎?也許我可以將它們分成10Mb塊並分別計算每個塊的校驗和?

謝謝。

+0

這不是一個編程問題。 – 2010-06-07 09:50:48

+0

如果我讓你感到困惑:我們需要編寫一個軟件來處理上述的文件共享。因此,我得出結論:這確實是一個編程問題;不是嗎? – dpq 2010-06-07 09:57:27

+1

你考慮過多播嗎?將多個相同的塊分發給多個客戶端可能非常方便。儘管路線不好。 – 2010-06-07 17:25:59

回答

0

由於沒有答案已經給出,我在這裏分享我們自己的決定:

  • 有針對數據塊和文件全部校驗提供一個單獨的守護進程。
  • 我們已經決定放棄現在使用VPN上的多點傳送的想法;我們使用多進程服務器來分發這些文件。套接字關閉,工作進程在文件下載完成後立即退出;任何損壞的塊需要單獨下載。
  • 我們使用文件系統監視器來捕獲新數據,只要它到達第1層分發服務器。