首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分布式存储系统中的数据冗余和故障转移算法?

分布式存储系统中的数据冗余和故障转移算法?
EN

Software Engineering用户
提问于 2013-06-29 06:09:06
回答 1查看 972关注 0票数 0

我正在构建一个具有不同存储大小的分布式存储系统。例如,我的存储设备在一个系统中的大小为50 in、70 in、150 in、250 in、1000 in、5个存储系统。我的应用程序会将任何文件存储到存储系统中。

问题:我如何建立一个分布式存储的想法,数据冗余和故障转移,以存储文件,视频,任何类型的文件,同时确保如果任何一个存储设备故障,这些文件的另一个副本在另一个存储设备。然而,值得关注的是,50 in的存储只能存储这个最大数量的文件,而不是70 in、150 in等。考虑到一个存储,就像云存储这样的5个存储系统,有什么逻辑方法可以通过我的应用程序分发或存储这些文件呢?

如何通过不同的存储大小来确保数据冗余?是否有将多个blob文件整理成单个文件存档的算法?对于一个具有多个不同存储大小的云存储,最佳解决方案是什么?

在开始讨论这个主题时,我的目标是讨论实现这一想法的最佳方法,假设简单,这种实现的问题是什么,性能度量和对限制的讨论。

EN

回答 1

Software Engineering用户

发布于 2013-06-29 12:39:00

有两个经典的NP难题与你的问题有关。

  • 装箱问题
  • 背包问题

因为它们都是NP难的,所以真的没有一个“完美”的先验算法来解决这个问题。这就回答了你的第三个问题--没有一个“最好的系统”来解决这个问题。另一方面,这些文章提供了相当多的近似,您可以使用它来“欺骗”问题并提出一个合理的解决方案。

从更高的角度来看,考虑拥有某种元数据存储层(也称为数据库),以便跟踪备份系统中的文件以及主副本和备份副本所在的位置。这对你的第一个问题有帮助。拥有冗余副本只是业务逻辑的一部分,您可以编写规则来验证逻辑是否满足,或者通过复制来采取纠正措施。

对于第二个问题,背包问题直接适用--一个文件中的多个blobs是经典问题的一个非常简单的重复。

票数 2
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/203135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档