在两个文件之间共享文件块

时间:2019-06-19 15:01:16

标签: windows ntfs

我想在不使用附加磁盘空间存储数据的情况下创建文件副本,类似于硬链接。

但是,我希望该数据在块/范围级别具有CoW(写入时复制)行为,因此实际上仅将修改后的数据块/范围写入磁盘,从而将磁盘使用率降至最低。我还试图将与此相关的I / O数量降至最低。

与文件之间的差异相比,文件相对较大,因此复制文件并在以后依靠重复数据删除等机制将浪费大量资源。

我无法修改的外部应用程序必须能够读取文件格式,因此在我的方案中无法使用修改文件内容的替代方法。

目前不知道这在NTFS上是否可行,并且我的搜索没有发现任何有用的信息,可能是因为我使用了错误的术语。

1 个答案:

答案 0 :(得分:1)

您可能正在寻找Data Deduplication API。 至少在没有过滤器驱动程序的情况下,至少不能在NTFS级别上完成此操作。 除此之外,您可以使用Remote Differential Compression API手动进行操作。我的FileSnap工具可以做到这一点。