将大文件上传到服务器



我正在处理的项目记录了分布式设备上的数据,这些数据需要加入到远程服务器上的单个数据库中。

日志在记录时无法流式传输(网络可能不可用等),因此必须偶尔以 0.5-1GB 基于文本的庞大 csv 文件发送它们。

据我了解,这意味着由于文件大小的原因,让 Web 服务以发布请求的形式接收数据是不可能的。

到目前为止,我已经提出了这种方法:使用一些文件传输协议(ftp或类似协议)将文件从设备上传到服务器。设备必须找出一个唯一的文件名才能执行此操作。让服务器定期检查新文件,通过将新文件提交到数据库并在之后删除它们来处理它们。

这似乎是一种非常幼稚的方法,但实施起来很简单。

但是,我想在实施任何细节之前避免任何陷阱。这种方法是否可扩展(更多设备,更大的文件)?实施将使用私有/公司拥有的服务器或云服务(例如Azure)完成 - 它是否适用于不同的平台?

在Web 服务器中为 post request 设置了更高的值(PHP 为post_max_sizeupload_max_filesize之后,您实际上也可以通过 web/http 执行此操作。这将允许设备与平台无关地进行交互。从任何设备制作POST请求服务器应该不会太难。一个简单的 cURL 请求就可以完成这项工作。 FTP也是可能的。或者SCP,以使其更安全。

无论哪种方式,我认为这确实需要服务器上的一些应用程序才能使用数据库获取和管理这些文件。也许是一个小型网络应用程序?;)

至于唯一名称,您可以使用设备的唯一ID/名称以及当前unix时间的组合。如果你愿意,你甚至可以在之后对此进行哈希处理(md5/sh1)。

相关内容

  • 没有找到相关文章

最新更新