为 Web 应用程序存储和检索大文件的架构
Architecture to store and retrieve large files for web app
我有几个用户处理大文件 (1GB)。这些文件只是数百万个点的大型原始向量。它表示长时间获取信号。
我有一个桌面软件可以可视化这些数据。基本上,我加载文件,应用过滤器(带通)和所有数据并绘制矢量。
我想做的是在 Web 应用程序上按部分可视化数据。数据块可能不会那么大,所以我不必在浏览器中加载整个文件(我什至不知道这是否可能)。文件存储在 S3 上。
那么我的问题是,如何有效地存储文件以便能够按部分快速检索它们。例如,一个文件中有 1 亿个样本,但我只想绘制样本 [125000, 150000]。例如,我如何在不必将整个文件从 S3 获取到 EC2 的情况下进行管理?我考虑过存储 10000 个数据样本块,这样我最多只能获取 3 个文件,但这是一个好方法吗?
Amazon S3 支持读取部分文件。如果您可以计算到您想要的数据点的偏移量及其长度,那么您可以只读取该部分。
此 link 展示了如何使用 HTTP GET 执行此操作:
此页面展示了如何使用适用于各种语言的 AWS 开发工具包执行此操作:
我有几个用户处理大文件 (1GB)。这些文件只是数百万个点的大型原始向量。它表示长时间获取信号。
我有一个桌面软件可以可视化这些数据。基本上,我加载文件,应用过滤器(带通)和所有数据并绘制矢量。
我想做的是在 Web 应用程序上按部分可视化数据。数据块可能不会那么大,所以我不必在浏览器中加载整个文件(我什至不知道这是否可能)。文件存储在 S3 上。
那么我的问题是,如何有效地存储文件以便能够按部分快速检索它们。例如,一个文件中有 1 亿个样本,但我只想绘制样本 [125000, 150000]。例如,我如何在不必将整个文件从 S3 获取到 EC2 的情况下进行管理?我考虑过存储 10000 个数据样本块,这样我最多只能获取 3 个文件,但这是一个好方法吗?
Amazon S3 支持读取部分文件。如果您可以计算到您想要的数据点的偏移量及其长度,那么您可以只读取该部分。
此 link 展示了如何使用 HTTP GET 执行此操作:
此页面展示了如何使用适用于各种语言的 AWS 开发工具包执行此操作: