【发布时间】:2020-01-09 10:17:16
【问题描述】:
我在 LAN(WiFi) 中有一个主设备和 n 个从设备,在互联网上有一个 CMS。
我需要能够通过在主服务器上选择它来将 CMS 中的数 GB 视频文件推送/下载到所有从服务器。进入局域网的流量必须加密,局域网内的加密会很好。如果任何从站丢弃了一个数据包,它应该能够从 CMS 或其他从站请求它。局域网中的所有设备都是运行安卓的平板电脑。主机应能够触发将位于互联网服务器上的视频文件分发给所有从机。此文件传输应尽可能快。服务器将重新设置,因此基本上可以运行任何东西。
Internet ------------------------> WLAN
| |
| +----Master
CMS +----Slave-1
holds large file +----Slave-...
+----Slave-n
我认为有 4 种方法可以做到这一点:
- (Trivial)给从站文件名,让他们单独下载文件。流量:O(n*filesize)
- (Trivial)将文件下载到主服务器,从服务器从主服务器而不是从 Internet 下载文件。互联网流量:O(filesize),局域网流量:O(n*filesize)
- 将文件下载到主服务器并广播给所有客户端。流量:O(2*filesize)
- 使用某些东西在 LAN 内广播文件。由于 WiFi 是共享介质,理论上每个数据包只需发送一次,流量应该是 O(filesize)。
虽然解决方案 1 很容易实现,例如scp 下载它显然会非常缓慢和低效。如果可能,我希望实施解决方案 4,但我不知道有任何可用的技术能够开箱即用地做到这一点。有什么方法可以实现3和4中描述的广播?
【问题讨论】:
标签: ssl content-management-system broadcast file-transfer large-files