微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

差异文件保存算法或工具

如何解决差异文件保存算法或工具

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

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

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

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 + ....

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。