通过网络连续发送大文件

时间:2010-06-07 09:40:03

标签: sockets large-files reliability continuous

我们需要编写能够连续(即新数据在可用时发送)的软件同时向几个目的地发送非常大的文件(几个Tb)。有些目的地有一个专用光纤连接到源,而有些则没有。

出现了几个问题:

  • 我们计划使用TCP套接字执行此任务。为了处理网络中断和断开连接,您会建议使用哪种故障转移程序?
  • 上传完成后会发生什么:服务器应该关闭套接字吗?如果是这样,那么让另一个守护进程在另一个端口上提供文件校验和是一个很好的设计决策吗?
  • 除了再次下载文件外,您能推荐一种处理损坏文件的方法吗?也许我可以将它们分成10Mb块并分别计算每个块的校验和?

感谢。

1 个答案:

答案 0 :(得分:0)

由于没有给出答案,我在这里分享我们自己的决定:

  • 有一个单独的守护程序,用于为块和整个文件提供校验和。
  • 我们现在决定放弃在VPN上使用多播的想法;我们使用多进程服务器来分发文件。套接字关闭,文件下载完成后工作进程退出;任何损坏的块都需要单独下载。
  • 我们使用文件系统监视器一旦到达第1层分发服务器就捕获新数据。