gpt4 book ai didi

java - 使用 Java 进行云中的重复数据删除

转载 作者:行者123 更新时间:2023-12-02 04:48:29 24 4
gpt4 key购买 nike

我正在尝试使用 Java 在云中实现重复数据删除程序。

我不确定如何继续实现。

首先,我想对文件大小、日期和文件名进行简单的文件比较。但是,这是无效的,因为文件可能具有相同的内容但名称不同。

我决定采用一个简单的算法,即文件上传->文件分块->Rabin-karp哈希->判断是否可以上传文件。

这样可以吗,或者有什么改进吗?

我在哪里可以找到更多这方面的信息?我尝试在互联网上查找,但找不到任何东西。其中大部分只是分解为某些实现,但没有对文件分块或 Rabin-karp 哈希进行解释或详细信息。

我想知道关于这个程序我应该研究哪些 Java 库。

最佳答案

如果你说明你的问题限制会更容易。假设如下:

  • 最小的不可分割的数据单元是文件
  • 文件相当小,适合内存计算哈希
  • 您的文件位于某个云存储桶或可以列出所有文件的位置。这也消除了相同的文件名。

您或许可以缩小问题范围。

  1. 使用一些快速哈希算法(例如基本的 CRC 校验和)迭代所有文件中的所有文件并构建映射。 (可以轻松并行化)。
  2. 过滤掉所有有冲突的文件。您可以轻松地忽略其余文件,出于所有实际目的,这些文件应该是相当合理的数据 block 。
  3. 使用加密哈希(或者最坏的情况,匹配整个文件)运行剩余的文件子集并识别匹配项。

这可以根据基础数据进行细化。

但是,这就是我处理问题并给出其结构的方式;这个问题可以很容易地划分并以并行方式解决。请随意详细说明,以便我们能够找到一个好的解决方案。

关于java - 使用 Java 进行云中的重复数据删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56463492/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com