Project Idea |支持可用性的分布式重复数据消除

项目名称: 支持可用性的分布式重复数据消除 问题陈述: 在这个项目中,我们的目标是减少云供应商用于存储和管理大量数据的存储空间、I/O磁盘操作等资源。此外,我们的目标是提供一个高度可用和可靠的环境。

null

想法/摘要: 使用云存储的用户数量与日俱增,因此存储的数据也呈指数级增长。但很多数据是重复的,因为两个或多个用户可能会上传相同的数据(例如,人们在社交网络应用程序上共享的文件/视频)。此外,为了使存储系统可靠且高度可用,云存储供应商为用户通过复制上传的相同数据创建冗余副本。这些巨大的数据必须存储在服务器组的分布式环境中。为了为上述问题提供有效的解决方案,我们提出了分布式环境中的重复数据消除策略,该策略将通过复制来保证可靠性,并通过重复检测来删除重复数据。我们提供了一个多功能、实用的主存储重复数据消除平台,既适用于复制,也适用于重复数据消除。为了实现这一点,我们开发了一种新的内存数据结构,它将有效地检测重复数据,并负责复制。

本项目中使用的数据结构: 链表和哈希作为内存中的数据结构,以及用于重复数据消除和复制的SHA算法。

什么是重复数据消除? 重复数据消除是指消除数据集中冗余数据的技术。在重复数据消除过程中,会删除相同数据的额外副本,只剩下一个副本可供存储。对数据进行分析,以确定重复的字节模式,以确保重复部分的单个实例被考虑并存储在服务器中。 为什么要进行重复数据消除?

  • 它减少了给定文件集所需的存储量。
  • 它在独特的存储环境中降低了成本并提高了空间效率。
  • 它减少了I/O磁盘操作。

为什么要复制? 复制始终以可靠且高可用的方式提供服务,并且它应该能够在系统故障中生存下来,而不会丢失数据。执行的低开销。 重复数据消除类型和级别: 两种类型:

  • 后处理
  • 内联进程

两个层次:

  • 文件级重复数据消除
  • 块级重复数据消除

哈希算法: 在这个项目中,我们使用哈希算法来识别数据的“块”。哈希算法是将数据字符串转换为固定长度的数字字符串输出的函数。哈希算法的输出是不可逆的,即我们不能从哈希算法的输出生成输入字符串。哈希函数的输入长度可变,但生成的输出大小始终固定。 常用的哈希算法有-

  • MD5
  • SHA256

结论: 我们已经成功创建了一个内存数据结构,它能够检测重复数据,并且只存储重复数据的一个实例,从而改善了云供应商的存储空间、磁盘I/O操作等资源。此外,我们能够成功地为用户提供高可用性和更可靠的环境。因此,我们成功地实现了一个支持可用性的分布式重复数据消除系统。

今后的工作: 重复数据消除服务器瓶颈:

  • 负载平衡——对于这个问题,我们必须创建多个主服务器来平衡网络流量。
  • 内存哈希表——如果主服务器出现故障或重新启动,整个系统将崩溃。因此,为了解决这个问题,我们必须制作持久存储,它可以在每次更新后立即获取整个内存数据结构的快照。
  • 支持ls、chmod、chown等文件系统命令。

项目的GitHub链接: https://github.com/andh001/project_deduplication

团队成员:

  • Prashant Sonsale(7276176311,prashantsonsale96@gmail.com)
  • 阿南德·法卡卡尔(8237516939,aanandf@gmail.com)
  • 尼森特·阿格拉瓦尔(9921822904,尼森特)。agarwal050@gmail.com)
  • 阿迪蒂亚·霍拉(9762977289,阿迪蒂亚。khowala51295@gmail.com)

注: 这个项目的想法是为了 ProGeek Cup 2.0——Geeksforgeks举办的项目竞赛。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享