如何将软件更新分发到具有有限服务器资源的远程终端

时间:2014-08-08 11:50:54

标签: c#

有一家公司在全市拥有约5000个终端,满足公众需求。这些终端运行内部软件,需要每周或每两周更新一次。该软件包括可执行代码,图像,配置文件和页面模板。定期更新的大小各不相同,平均约为25-30 MB。终端通过GPRS连接到互联网。

该公司有一台服务器,为这些终端提供动态数据。在更新方面,服务器无法立即处理所有终端。更新所有这些都需要1-2周。需要尽可能减少更新时间,但公司无法承担额外的服务器资源。

可以使用哪些外部资源来缩短更新时间?该软件可以加密并使其公开可用不是问题。 Google Drive是一种选择吗?如果没有,互联网上有哪些免费或低成本的资源来上传软件并让终端同时下载它? (5000个终端,25-30 MB同时使用标准协议 - ftp,http等...)

1 个答案:

答案 0 :(得分:2)

Google for" free webhosting"在你的国家。从软件基础设施的角度来看,提供具有可恢复的分块下载服务和可恢复的安全FTP下载服务的HTTP服务器是非常常见且便宜的。

在终端方面,您可以使用类似cURL的内容。

您描述的问题也称为Content Delivery Network (CDN),因此Google也适用于您所在国家/地区的CDN提供商。

为了减少下载量,您可以以某种binary diff delta patch的形式分发更新包,而不是全尺寸更新图像

  

..这家公司有一个服务器..当涉及到更新(每周或两周)时,服务器无法处理所有终端..但公司无法承担额外的服务器资源..

此方案可以通过仅在需要时雇用Software as a service (SaaS)某处"in the cloud"来解决。公司不必大量投资服务器资源,只需每周或每两周支付一些费用


https://stackoverflow.com/help/on-topic:" .. 4。要求我们推荐或查找书籍,工具,软件库,教程或其他场外资源的问题都是Stack Overflow的主题.. "