差异文件保存算法或工具

问题描述

我正在寻找允许差异文件保存和合并的任何信息或算法。

更清楚地说,我想在修改文件内容时原始文件应保持不变,并且每次修改都必须保存在单独的文件中(与差异备份相同,但对于文件),以防出现以下情况:访问文件时,它应该使用原始文件和最后一个差异文件来重建文件的最新版本。

下图描述了我需要做的事情:

enter image description here

解决方法

要计算差异,您可以使用diff_match_patch之类的东西。

您可以存储每个文件系列的DeltaDiff。

DeltaDiff将是以下两种类型之一的元组:INSERT或DELETE。

然后,您可以按以下方式存储DeltaDiff系列:

Diff = [DeltaDiff_1,DeltaDiff_2,... DeltaDiff_n ] = [

    (INSERT,byteoffset regarding to initial file,bytes)
    (DELETE,length)
    ....
    (....)
]

将DeltaDiffs应用于初始文件将为您提供下一个文件版本,依此类推,例如:

FileVersion1 + Diff1-> FileVersion2 + Diff2-> FileVersion3 + ....

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...