繁体   English   中英

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

[英]Data Deduplication In Cloud WIth Java

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

我不确定如何继续实施。

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

我已经决定了一个简单的算法,即文件上传 - >文件分块 - > Rabin-karp哈希 - >确定是否可以上传文件。

这会没事或有任何改进吗?

我在哪里可以找到更多相关信息? 我试过环顾互联网,但我找不到任何东西。 其中大部分内容只是分解为某些实现,但没有关于文件分块或Rabin-karp散列的解释或细节。

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

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

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

你可以缩小你的问题范围。

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM