2011-12-25 16 views
4

簡單的說我們的系統由一個服務器和一個代理組成。代理生成一個巨大的二進制文件,可能需要將其轉移到服務器。如何實現從文件生成器到服務器(Java)的巨大二進制文件的HTTP傳輸?

考慮:

  1. 系統必須現在文件應付高達1G,這很可能將增長至10G在2年內
  2. 傳輸必須通過HTTP,因爲其他端口可能被關閉。
  3. 這不是文件共享系統 - 代理只需將文件推送到服務器。
  4. 代理和服務器都是用Java編寫的。
  5. 二進制文件可能包含敏感信息,所以傳輸必須安全。

我要尋找的技術和資料庫,幫助我一份轉巨大文件。一些話題,這我知道的是:

  • 壓縮選擇哪一個?我們不會將自己限制爲gzip或deflate,只是因爲它們是HTTP流量中最受歡迎的。如果存在一些不尋常的壓縮方案,這對我們的任務產生更好的結果 - 那就這樣吧。
  • 拆分很明顯,文件需要拆分並在幾個並行會話中傳輸。
  • 背景傳輸巨大的文件需要很長時間。它是否會影響解決方案,如果有的話?
  • 安全是HTTPS的路要走嗎?或者我們應該採取另一種方法,給定數據量?
  • 現成的我完全準備好自己編寫代碼(應該很有趣),但是我無法避免是否有任何現成解決方案能夠滿足我的要求。

有沒有人在他們的產品中遇到過這個問題,它是如何處理的?

謝謝。

EDIT

有些可能質疑HTTP的選擇作爲傳輸協議。問題是,即使位於同一個公司網絡中,服務器和代理可能相互之間也是相當遠程的。我們已經遇到了許多與客戶只在其公司網絡中的節點上保持HTTP端口打開相關的問題。它不會給我們太多的選擇,但使用HTTP。使用FTP是好的,但它必須通過HTTP隧道傳輸 - 這是否意味着我們仍然具有FTP的所有優點,還是會將其癱瘓到其他替代方案更可行的地步?我不知道 - 請指教。

EDIT2

校正 - HTTPS始終是敞開的,有時(但不總是)HTTP是開放爲好。但就是這樣。

+0

HTTP的這是一個真正不好的選擇。只需使用適合您的數據的壓縮軟件壓縮源文件,並使用文件傳輸協議/工具(其中有數百個可用的,一堆可用加密,一些用於並行傳輸大小寫) – Mat 2011-12-25 08:44:50

+0

我編輯了我的問題。 – mark 2011-12-25 08:51:34

+0

如果您通過HTTP隧道傳輸FTP,則會遇到HTTP **和**所有FTP問題的所有問題。更糟的是,不要這樣做。從你的描述來看,你有大量的敏感信息 - 這應該是高價值。如果您的客戶不希望在這種情況下擁有安全文件傳輸的端口,並且更願意爲明文,無會話,不安全的協議打開端口,但這並不意味着他們需要的目的,那麼對您而言不會有太大的幫助。 – Mat 2011-12-25 08:58:55

回答

3

您可以在端口80上使用任何協議。使用HTTP是一個不錯的選擇,但您不必使用它。

壓縮哪一個可供選擇?我們不會將自己限制爲gzip或deflate,只是因爲它們是HTTP流量中最受歡迎的。如果存在一些不尋常的壓縮方案,這對我們的任務產生更好的結果 - 那就這樣吧。

最佳壓縮取決於內容。爲簡單起見,我會使用Deflator,但是BZIP2可以給出更好的結果(需要一個庫)

對於您的文件類型,您可能會首先對該類型進行某種壓縮,可以使數據發送得更小。

分割顯然,文件需要拆分並在幾個並行會話中傳輸。

這對我來說並不明顯。在並行下載數據通過抓住更多的可用帶寬(即擠出相同帶寬的其他用戶),這可能是不期望的或甚至沒有意義(如果沒有其他用戶)

背景Transfering一個巨大的文件提高性能花費很長時間。它是否會影響解決方案,如果有的話?

你會希望能夠在任何時候重新開始下載。

安全性是HTTPS的路要走嗎?或者我們應該採取另一種方法,給定數據量?

我確信它很好,不管數據量如何。

現成的我完全準備好自己編寫代碼(應該很有趣),但是我無法避免是否有任何現成的解決方案能夠滿足我的要求。

我會嘗試使用現有的網絡服務器,看看他們是否能勝任這項工作。如果沒有一臺可以完成上述所有功能的免費網絡服務器,我會感到驚訝。

這是一個選擇http://www.java-sources.net/open-source/web-servers

+0

做內容檢查的網絡如何?在這種情況下,如果您通過端口80使用自定義協議,則會出現虛警。 – rit 2011-12-25 09:17:03

+0

在這種情況下,它可能會拒絕基於HTTP但基本不相同的HTTPS。你可能需要做更多的事來欺騙內容檢查。 – 2011-12-25 09:25:41

+0

你的文件是否真的可壓縮?鑑於數據量,壓縮需要花費大量的時間。如果你知道你的文件是基於文本的,那麼很好,但如果不是,你甚至不應該打擾。 – fge 2011-12-25 10:20:55

相關問題