【问题标题】:Something like a message digest but that progressively describes a file类似于消息摘要但逐步描述文件的东西
【发布时间】:2012-02-17 23:46:29
【问题描述】:

我有一组具有异构操作系统的地理远程节点,这些节点需要使用我正在编写的 Java 程序来传输文件和更新。目前,如果文件更改,我需要再次发送整个文件。有没有办法确定文件中不同的部分并只发送这些部分(请注意,这些文件不一定是文本,它们可以是任何格式)。我能想到的唯一方法是将文件分成块,对块进行哈希处理并将哈希发送回请求者,然后请求者只请求它需要的块,但是对于小块和大文件,这是一个很大的开销,所以有没有如何发送一些描述我的文件的消息,以便可以分析单个消息以提供需要传输的块的列表?

大多数摘要函数的设计是这样的

【问题讨论】:

    标签: java hash diff file-transfer message-digest


    【解决方案1】:

    如果我正确理解您的问题,您需要在两个系统上保持文件同步。有一个名为rsync 的工具可以通过仅发送对文件所做的更改来同步两个文件(或整个目录)。

    您可能也对Rsync algorithm感兴趣。

    【讨论】:

    • rsync 也是我首先想到的。甚至还有 Java 包装器(尽管我不推荐任何现有的包装器)。
    • 绝对完美,我无法完全使用现有库,因为它需要使用我的自定义通信协议。这个算法看起来正是我优化系统所需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多