用于多码分布式存储的装置和方法制造方法及图纸

技术编号:18737899 阅读:32 留言:0更新日期:2018-08-22 06:08
这里描述的系统和技术包括联合解码不同码的编码数据,包括不同的编码算法、有限域和/或源块大小。这里描述的技术可以用于通过允许逐渐的数据迁移来改进现有的分布式存储系统。这些技术可以进一步在现有的存储客户端中使用,以允许应用数据存储在各种不同的分布式存储系统中。

【技术实现步骤摘要】
【国外来华专利技术】用于多码分布式存储的装置和方法相关申请的交叉引用本申请根据35U.S.C.§119(e)要求于2016年1月29日提交的美国临时申请第62/288,791号的优先权,该申请通过引用整体并入本文。
技术介绍
如本领域所知,分布式存储系统可能需要一定程度的冗余来克服节点故障,增加高度请求的内容的读取带宽等。一种解决方案是在不同节点上存储内容的副本。另一种解决方案是使用前向纠错(FEC)编码,该编码允许类似的功能,但需要较少的存储开销,代价是增加的复杂性。已经使用里德所罗门(RS)码、Luby变换(LT)码、低密度奇偶校验(LDPC)码或随机线性网络码(RLNC)提出了不同的FEC编码解决方案。
技术实现思路
在此意识到许多现有的存储客户端(例如,应用)可以受益于将数据存储在两个或更多个分布式存储系统(例如,云存储系统)中。例如,存储分集可以提供对高可用性应用至关重要的附加冗余层。可用的FEC码的多样性可以使现有存储客户端难以或不可能利用各种分布式存储系统。当将数据从一个码迁移到同一分布式存储系统内的另一个码时,可能会出现同样的问题。目前唯一的解决方案是重新引入整个数据。一个更具成本效益的解决方案是保留引入的数据,并逐渐将数据转换为新的码。前述场景需要不同的FEC码的编码数据的能力,而不管所实现的编码算法、有限域大小或所选的源块大小能够被组合和联合处理。但是,缺乏用于组合不同FEC码的整体方法。关于有限域大小,存在用于将有限域的RS码变换成其基本域(即,二元基本域)的已知技术,其目的是避免复数有限域乘法运算或如何结合不同有限域的元素。然而,现有技术不允许组合码所依赖的方程式系统。这里描述的是用于组合多个不同码的编码数据的系统和技术。这里描述的系统和技术允许组合使用不同编码算法、有限域和/或源块大小的码。这些技术可以应用于任何线性码,包括但不限于RS和RLNC。这里描述的技术可以用于通过允许逐渐的数据迁移来改进现有的分布式存储系统。这些技术可以进一步在现有的存储客户端中使用,以允许应用数据存储在各种不同的分布式存储系统中。根据本公开的一个方面,一种用于多码存储系统的方法包括:接收与文件相关联的第一符号;接收与所述文件相关联的第二符号,其中所述第一或第二符号是使用线性码编码的编码符号;并联合解码第一和第二符号以恢复文件。在某些实施例中,接收第一符号包括从第一分布式存储系统接收第一符号;并且接收第二符号包括从第二分布式存储系统接收第二符号。在其他实施例中,接收第一符号和接收第二符号包括从相同的分布式存储系统接收第一和第二符号。在一些实施例中,接收第一符号包括接收使用第一线性码编码的第一编码符号;接收第二符号包括接收使用第二线性码编码的第二编码符号,其中第一和第二线性码使用不同的生成矩阵、不同的有限域或不同的块大小;并且联合解码第一和第二符号包括联合解码第一和第二编码符号。在某些实施例中,联合解码第一和第二编码符号以恢复文件包括:基于由第一码使用的生成矩阵和由第二码使用的生成矩阵来构建联合生成矩阵;并且使用联合生成矩阵、第一编码符号和第二编码符号来恢复文件。在特定实施例中,其中第一线性码使用第一生成矩阵和第二线性码使用不同的第二生成矩阵联合解码第一和第二编码符号以恢复文件包括:从第一和第二生成矩阵中的每一个提取子矩阵;组合提取的子矩阵、第一编码符号中的一个或多个和第二编码符号中的一个或多个;以及使用提取的子矩阵、第一编码符号中的一个或多个和第二编码符号中的一个或多个的组合来恢复文件。在一些实施例中,第一线性编码使用第一有限域,并且第二线性码使用不同的第二有限域,并且联合解码第一和第二编码符号以恢复文件包括:将第一和第二编码符号映射到公共子域;导出针对第一和第二码符号的映射表,以用于基于第一和第二有限域的域大小将第一和第二有限域的运算映射到映射的第一和第二编码符号上的运算;并使用映射的第一和第二编码符号以及映射表来恢复文件。在某些实施例中,第一和第二线性码中的每一个使用二进制扩展域,并且映射第一和第二编码符号包括将第一和第二编码域映射到公共二进制扩展域。在特定实施例中,其中第一和第二线性码使用不同块大小,联合解码第一和第二编码符号以恢复文件包括:取决于包含在较大源块大小的编码符号中的编码符号的数目从较小源块大小的编码符号的生成矩阵中提取一个或多个子矩阵,并且从较大源块大小的编码符号的生成矩阵中提取一个或多个子矩阵;将子矩阵级联为联合矩阵;并使用联合矩阵来恢复文件。在许多实施例中,第一和/或第二符号是使用前向纠错(FEC)码、随机线性网络码(RLNC)、里德所罗门(RS)码、低密度奇偶校验(LDPC)码和/或Luby变换(LT)码来进行编码的编码符号。根据本公开的另一方面,一种系统包括:一个或多个处理器;易失性存储器;以及存储计算机程序代码的非易失性存储器,所述计算机程序代码当在所述处理器上执行时导致跨所述一个或多个处理器上执行可操作来执行上文所述方法的实施例的过程。根据本公开的又一方面,一种有形地体现在非暂时性计算机可读介质中的计算机程序产品,所述计算机可读介质存储能执行以执行上文描述的方法的实施例的程序指令。附图说明从以下对附图的描述中可以更全面地理解前述特征,其中:图1是示出了根据本公开实施例的多码存储系统的系统图;图2是示出了根据本公开的另一实施例的多码存储系统的系统图;图3是示出了根据一些实施例的联合解码过程的图;图4是示出了根据实施例的可能在存储系统节点内发生的处理的流程图;以及图5是根据本公开的实施例的可以在其上实现本文描述的处理的处理设备的框图。附图不一定按比例绘制,或者包括系统的所有元素,重点通常放在说明本文中寻求保护的概念、结构和技术上。具体实施方式在描述本文试图保护的概念、结构和技术的实施例之前,解释一些术语。如本文所使用的,术语“多码”用于描述其中可使用两个不同码来存储数据的系统和技术。如这里所使用的,术语“存储设备”是指具有非易失性存储器并且被配置为在其上存储数据的装置。存储设备的非限制性示例包括磁盘驱动器、磁带驱动器、闪存以及其他非易失性存储器(NVM)设备。如这里所使用的,术语“线性码”是指其中码操作的数据的处理可以根据该数据在数学组上的线性函数来表示的码。在一些实施例中,这样的组也是域。如本文所使用的,术语“联合解码”和“联合地解码”是指这样的过程:符号的两个或更多个不同的集合用于恢复文件或其他数据,并且不能使用它自己的任何符号集合来恢复数据。在一些实施例中,两个符号集合都可以被编码。在其他实施例中,这些符号集中的一个可以是未编码的。参考图1,根据本公开的实施例,多码存储系统100包括连接到第一存储系统104a和第二存储系统104a的存储客户端102。存储客户端(或者简称为“客户端”)102可以对应于利用存储在多个存储系统104a、104b(一般称为104)内的数据的应用。在某些实施例中,客户端102还可以将数据写入存储系统104中的一个或多个。每个存储系统104包括一个或多个存储节点,并且每个存储节点可以包括一个或多个存储设备。在本实施例中,存储系统104a和104b分别包括一个存储节点106a和106b,而存储节点106a和106b分别包括一个存储设备116a和116b。在一些实本文档来自技高网...

【技术保护点】
1.一种用于多码存储系统的方法,所述方法包括:接收与文件相关联的第一符号;接收与所述文件相关联的第二符号,其中,所述第一符号或所述第二符号是使用线性码编码的编码符号;以及对所述第一符号和所述第二符号联合解码以恢复所述文件。

【技术特征摘要】
【国外来华专利技术】2016.01.29 US 62/288,7911.一种用于多码存储系统的方法,所述方法包括:接收与文件相关联的第一符号;接收与所述文件相关联的第二符号,其中,所述第一符号或所述第二符号是使用线性码编码的编码符号;以及对所述第一符号和所述第二符号联合解码以恢复所述文件。2.如权利要求1所述的方法,其中:接收所述第一符号包括接收使用第一线性码编码的第一编码符号;接收所述第二符号包括接收使用第二线性码编码的第二编码符号,其中,所述第一线性码和所述第二线性码使用不同的生成矩阵、不同的有限域或不同的块大小;以及对所述第一符号和所述第二符号联合解码包括对所述第一编码符号和所述第二编码符号联合解码。3.如权利要求1所述的方法,其中:接收所述第一符号包括从第一分布式存储系统接收所述第一符号;以及接收所述第二符号包括从第二分布式存储系统接收所述第二符号。4.如权利要求1所述的方法,其中,接收所述第一符号和接收所述第二符号包括从同一分布式存储系统接收所述第一符号和所述第二符号。5.如权利要求2所述的方法,其中,对所述第一编码符号和所述第二编码符号联合解码以恢复所述文件包括:基于由第一码使用的所述生成矩阵和由第二码使用的所述生成矩阵来构建联合生成矩阵;以及使用所述联合生成矩阵、所述第一编码符号和所述第二编码符号来恢复所述文件。6.如权利要求5所述的方法,其中,所述第一线性码使用第一生成矩阵并且所述第二线性码使用不同的第二生成矩阵,其中,对所述第一编码符号和所述第二编码符号联合解码以恢复所述文件包括:从所述第一生成矩阵和所述第二生成矩阵中的每一个提取子矩阵;组合提取的子矩阵、所述第一编码符号中的一个或多个和所述第二编码符号中的一个或多个;以及使用所述提取的子矩阵、所述第一编码符号中的所述一个或多个和所述第二编码符号中的所述一个或多个的组合来恢复所述文件。7.如权利要求5所述的方法,其中,所述第一线性编码使用第一有限域,并且所述第二线性码使用不同的第二有限域,其中,对所述第一编码符号和所述第二编码符号联合解码以恢复所述文件包括:将所述第一编码符...

【专利技术属性】
技术研发人员:M·梅达尔C·H·U·黑尔格
申请(专利权)人:麻省理工学院弗劳恩霍夫应用研究促进协会
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1