问题描述
我想解决以下一组约束:
- 我希望能够装载一个大型(16GB)远程文件的副本
- 如果应用程序写入文件的一部分,则将其写入本地副本,而不是通过网络同步
- 如果文件的一部分被读取,如果它之前被应用程序写入,它将读取本地副本。如果从未写入,则先从远程复制到本地,然后从本地读取
- 在写入之前从未读取的文件部分不应通过网络传输(这是最重要的限制)
- 文件的大小将始终相同,因此当我们从文件中读取特定字节时应该发生什么事情,永远不会有歧义。
产生这些限制的原因是单个文件的绝大多数永远不会被读取,这样的文件很多(每个文件至少有一小部分被读取),并且网络带宽极其有限。
OverlayFS 非常接近我想要的。如果我能够在文件级别而不是目录级别应用overlayfs,我会使用(可能是nfs 挂载的)远程文件作为lower_file
,使用一个空的稀疏文件作为upper_file
。
有什么可以让我做上述事情吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)