我们需要build立一个网站,使两个或三个大文件公开可用 – 文件将是每个1或2 terrabytes。 虽然他们会公开,但在实践中,我希望只有相对较less的科学家愿意下载它们。 什么是允许这个最好的方法?
我已经和一个networking托pipe服务提供商(rackspace)进行了一次简短的交谈,他们提出了一个混合解决scheme。
对我来说听起来不错,但我对服务器pipe理知之甚less。 是否有意义?
在此先感谢,马克
一个或两个TB的文件?
哇…呃,如果他们是公共文件,使用内容分发networking来发布它是有道理的。 你也可以考虑一下,如果其他组织愿意使用它,它是有用的信息,将它作为一个洪stream托pipe,因为这是一个最佳的方式来传播大型文件在多个来源,并作为一种内置的反垃圾邮件,腐败检查。 它会吸引有人下载一个TB的数据,并有MD5显示它已损坏。
有些人有服务的东西类似于你要求的东西。
如果你在NASA中心工作,你需要获得允许使用点对点的豁免; 这对于服务器和用户来说都是这样,所以只有通过p2p使得数据可用才能使一些科学家无法访问(除非他们愿意接受。
就个人而言,当人们要求大量的数据(它是图像和数据的多维数据集,大多数文件都在100MB以下)时,如果数据量低于几GB,我就有一些CGIs会在运行时生成tarball / zip档案。 我们正在考虑编写我们自己的下载pipe理器,但是我正在考虑进行更通用的编写BagIt界面来提供无人填充的包,以及填充包并validation它们的客户端。
对于您所谈论的大小的数据,我们有人向我们发送硬盘驱动器,然后格式化它们,并将它们邮寄回去。 可能性是,他们下载时需要磁盘空间来存储,而且每年只发生几次,所以对于我们来说,支付更多的带宽是比较有效的。 (我们昨天刚收到7个2TB硬盘的发货,希望有人想要我们在这里存档数据的两台仪器的全部数据)。
…我也试图确保我不会生成大于2GB的文件…他们只是太笨拙了,而且你开始碰到旧操作系统和文件系统的问题。
…
如果任何人有任何build议限制带宽和连接到一个给定的IP内的Apache,我将不胜感激 – 每隔几天,我从中国的人开放了所有可用的连接,从我们的系统中吮吸数据。 我一次看到超过800个。 (防火墙由另一个部门pipe理,他们将阻止IP,但不是油门)
…
您可能还想问一下地球和空间科学信息学邮件列表 – 即使这不是您的领域,我们都对数据分发问题感兴趣。
Terabyte文件,比如tebibyte,1024个gibibytes,通过HTTP? 不要这样做。
我会build议检查哪些平台(操作系统)这些文件的预期使用者使用。 如果是Windows,那么免费的7-Zip可以压缩文件并将结果输出文件分割成多个较小的文件(比如3.9 GiB大小的文件)。 在Unix上,GNU TAR可以为你做很多事情; 或者可以再次使用7-Zip,但大多数Unix用户可能没有安装。
这些较小的文件然后可以在目的地被传送和解压缩。 如果文件部分在传输过程中被损坏,那么只需要重新下载一个较小的文件 。 如果文件下载需要几天的时间才能完成,那么用户可以在小文件完全下载时closures计算机,稍后恢复下载剩余的文件。 最后,使用压缩档案给你内置的错误检查。
缺点是在压缩和解压缩过程中,用户的硬盘空闲空间大约相当于文件大小的两倍。
您可以使用普通的FTP或HTTP传输较小的文件。 FTP将是我的select,但技术上不太倾向的用户可能没有FTP客户端,然后会喜欢HTTP。 编写常见问题或常见问题列表可能是一个好主意 – 旧文件系统和FTP程序通常无法处理大于4 GB的文件(32位标头)。
编辑:乔H的build议,以便sneakernet的文件+1。 通过邮件/快递发送硬盘驱动器比通过互联网传输更快,更便宜,除非每个人都有大的互联网pipe道。
我同意sneakernetbuild议(或mabye postmailnet?)邮寄一个硬盘(或两个)可以更快,更便宜。
但是,如果文件随着时间而改变呢? 也许每个月都是一组不同的文件,你的用户希望保持更新?
在这种情况下,最好的解决办法是首先由物理媒体发送,然后下载差异。
要做到这一点,有一些明显的build议:
range头部进行部分下载)。 缺点:szync网站似乎已经过时了,你必须自己testing一下。 一个要考虑的因素是如何限制下载。 我会build议你有一个签名页面,给他们他们需要下载密钥,该密钥是有效的X天。 你可以让他们在第二次注册后再次下载它,但是这将有可能阻止人们使用它作为testing下载文件或类似的东西。
如果一次有两个密钥,你可以有一个队列,这将控制同时下载的数量。
我记得NASA的网站使用了类似的东西,因为那里有一些蓝色的大理石图像(可能还是这样)。
此外,如果你不使用torret解决scheme,我会打破文件到1GB卡盘。 我认为这就是Akami为微软的大量下载所做的。 他们自动做,但由于这些是科学家,你可能有指导如何join他们。
您需要一个提供用户访问控制和基于Java的上传/下载pipe理器的CDN。
这将解决三件事情;
所以说大CDN(Akamai等),并要求这个好。