2011-12-25 121 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

相关问题