用于使用MOJETTE变换投影来创建冗余块装置的方法和装置与流程

文档序号:22400682发布日期:2020-09-29 18:12阅读:402来源:国知局
用于使用MOJETTE变换投影来创建冗余块装置的方法和装置与流程



背景技术:

将一组块装置视为mojette变换中的行和投影,这意指块装置块与mojette变换像素之间的映射。

本发明将一组块装置视为mojette变换(mt)中的行和投影。这意指块装置块与mojette变换像素之间的映射。通过在无块模式下运行mojette变换,将所有填充推至mojette变换块的末端,因此我们可以通过将固定数目的块保留在每个块装置的末端处来处理mojette变换近优性质。本质上,这将用作作为众所周知且经过验证的解决方案的无速率raid-4/5(标准raid等级)。在块写入操作期间,我们使用部分更新(pu)来减少进行触摸以完成操作所需的块数目。这通过计算旧块与新块之间的差异来起作用。将新块写入至数据装置并且使用所述差异修补奇偶校验装置上的奇偶校验块。可以在所有数据装置上条带化写入至数据装置的块,以加快读取操作和写入操作两者。应注意,块是计算机存储系统中的重载术语。在此文档中,我们指读取和写入数据块的块装置。每个块具有一个扇区大小。这与在块装置的顶部分层的文件系统所使用的块大小无关。

相关技术的描述

传统上,独立磁盘冗余阵列(raid)在需要磁盘容错和/或优化性能的企业和组织中实施。商业数据中心(dc)中的服务器和网络连接存储(nas)服务器通常具有硬件raid控制器,但是许多当今的实施方式依赖于用于dc和消费者硬件两者中的冗余的软件解决方案。

软件raid意味着您可以设置raid,而不需要专用硬件raid控制器。存在多个raid等级,并且您选择的raid等级取决于您是否使用raid来提高性能和/或容错。

作为实例,本文描述raid等级5。raid5是用于企业服务器和企业nas装置的通用raid配置。此raid可以提供比镜像以及容错更好的性能和冗余。通过raid5,在三个或更多个磁盘上条带化用于恢复的数据和奇偶校验。如果磁盘出现错误或开始发生故障,则从此分布数据和奇偶校验中无缝地且自动地重新创建数据。即使在一个磁盘发生故障时,系统仍可操作。raid5的另一益处在于,raid5允许nas和服务器驱动器为“热可交换的”,这意味着在驱动器发生故障的情况下,所述驱动器可以与新驱动器交换,而无需关闭服务器或nas且不必中断可能正在访问服务器或nas的用户。raid的容错非常重要,因为当驱动器发生故障时,可以在更换故障磁盘时将数据重建到新磁盘。当今的标准raid5的缺点是执行大量写入操作的服务器的性能受到影响。例如,通过在具有许多员工在工作日访问的数据库的服务器上使用raid5,可能会出现明显滞后。raid不是备份(bu),并且无法替代灾难恢复(dr)的业务策略或包含常规受控bu和dr测试的数据保护策略。

可以使用不同算法来创建raid功能,但是优选算法是mojette变换(mt),即radon变换的离散且精确版本。mojette变换本质上是非系统代码,并且奇偶校验块的大小(1+ε)比对应系统块(k)大,其中ε是ε>0,使得奇偶校验块(m)包含比数据块更多的信息。根据设计,mojette变换在不具有高级加速特征的cpu上也具有很高的性能,并且即使在性能较弱的cpu上也传递良好的结果,但是在存在时可以充分利用现代cpu特征。mt还可以在不同硬件平台之间移植,这表示mt可以用于所有架构层,例如,数据中心、客户端应用程序和边缘装置。mt是一种无速率算法,这意味着可以将任何冗余等级设置为用于最佳功能的特定用例,并且在将数据从热存储分层到冷存储或反之亦然时,可以添加或减少冗余等级而不会产生明显的性能影响。参看pierreverbert、vincentricordel、jean-pierregu′edon的论文“用于有效编码的mojette变换投影的分析”,多媒体交互式服务的图像分析研讨会(wiamis),葡萄牙葡京,2004年4月,2004.<hal-00451338>。

需要一种以软件或硬件实施的改进的无速率raid解决方案。用于下一代磁盘的使用mojette变换投影的冗余块装置(rbd_mt)可以像云原生解决方案一样进行更多通信,并且通过网络在分布式框架中工作以用于高性能用例。

附图说明

图1a示出mojette变换的图形说明,包括其中计算三个投影的4x4块。

图1b示出2装置/行mojette变换的图形表示,其示出两个投影005p(1,1)和006p(-1,1)。

图2示出装置的初始状态,其中所有装置被清零,包括4个装置,其中在2+2配置中,两(2)个用于数据以及两(2)个用于奇偶校验。

图3a示出由a表示的对块1∶1的块顺序写入(bsw)中的4个装置。

图3b示出由b表示的对块2∶1的块顺序写入(bsw)中的4个装置。

图3c示出由c表示的对块1∶2的块顺序写入(bsw)中的4个装置。

图3d示出由d表示的对块2∶2的块顺序写入(bsw)中的4个装置。

图3e示出由e表示的对块1∶3的块顺序写入(bsw)中的4个装置。

图3f示出由f表示的对块2∶3的块顺序写入(bsw)中的4个装置。

图4a示出由s表示的对块1∶10的块随机写入(brw)中的4个装置。

图4b示出由t表示的对块2∶10的块随机写入(brw)中的4个装置。

图4c示出由q表示的对块1∶9的块随机写入(brw)中的4个装置。

图5a示出由x表示的对块1∶5的块更新中的4个装置。

图5b示出由y表示的对块2∶5的块更新中的4个装置。

图6示出用于块的部分更新(pu)的表格。表格将使用部分更新的益处形象化。不需要读取块2∶1或2∶3。

图7a示出根据本公开的示例性方面的用于具有21个像素的pu实例的源数据。

图7b示出根据本公开的示例性方面的置于每行具有7个像素的3行矩阵中的7a源数据。

图7c示出根据本公开的示例性方面的在计算投影p(1,1)和p(2,1)的矩阵上的mojette变换,其中此处^-运算符是xor运算。

图7d示出根据本公开的示例性方面的部分更新的源数据,其中灰色区域表示源代码的部分更新部分。

图7e示出根据本公开的示例性方面的3行矩阵,其中部分更新的源数据插入有所得数据块,此处第一行是由表示的灰色区域指示的新数据块。

图7f示出根据本公开的示例性方面的在对部分更新的源代码计算部分更新的投影p(1,1)和p(2,1)的矩阵上的mojette变换。

图7g示出根据本公开的示例性方面的在源数据的部分更新之前和之后的第一行k数据块。

图7h示出根据本公开的示例性方面的在原始第一行k数据块与新的部分更新的k数据块之间的差异的计算。

图7i示出根据本公开的示例性方面的何时将原始第一行k数据块与部分更新的k数据块之间的差异根据数据索引和投影角度应用于mt投影p(1,1)和p(2,1)。

图7j示出根据本公开的示例性方面的仅具有源代码的部分更新的mtpu更新的结果,其中灰色表示两个m奇偶校验块p(1,1)和p(2,1)中的更新数据。

图8是根据本公开的实施方案的计算机实施方式的示意图示。

具体实施方式

上述实施方案仅作为实例提供,并且应理解,所提出的技术不限于此。本领域的技术人员应理解,在不脱离如所附权利要求书所定义的本发明范围的情况下,可以对实施方案作出各种修改、组合和改变。具体来说,在技术上可能的情况下,不同实施方案中的不同部分解决方案可以在其它配置中组合。

在使用mojette变换投影的冗余块装置(rbd_mt)的实例中,使用2+2配置(2个数据装置和2个奇偶校验装置)。具有蓝色/灰色背景的单元格指示已通过操作触摸的块。如图1b中所示,具有红色背景的单元格指示保留块。

在pierreverbert、vincentricordel、jean-pierreguedon的“用于有效编码的mojette变换投影的分析”的第2章节中,描述mt的基本原理,其提供用于与一组mt投影一起使用的块的配置的等式。在图1b中,示出投影p(p,q)=(1,1)006。如果此投影用于如图1b所示的具有两个数据磁盘的配置,则额外块007的数目将为一(1)。这可以通过从分仓数目(投影元素)中减去q来计算。例如,使用等式3,其中p=2且q=10,总共提供11个分仓,额外行=分仓-q=11-10=1,这为图1b额外块007提供基础。如果将使用一个或多个不同投影,则可以找到提供最大的额外分仓数的投影,并且此投影随后决定额外块007的数目。

在图2中,以上配置用于使用投影p(1,1)和p(-1,1)的两个奇偶校验磁盘,所述两个投影具有相同数目的图1b额外块007,即一(1)个。在完成磁盘的配置之后将所有块清零。如下表所描述,图2中的磁盘的配置执行以下步骤。

表格:块装置的配置

针对每种不同情况提供实例,包括对rbd_mt的块顺序写入(bsw)、块随机写入以及块更新。

图3a示出由a表示的对块1∶1的块顺序写入(bsw)中的4个装置,其中mt已计算用于对块3∶1的投影p(1,1)和对块4∶2的投影p(-1,1)的块配置奇偶校验块。

图3b示出由b表示的对块2∶1的块顺序写入(bsw)中的4个装置,其中mt已计算用于对块3∶2的投影p(1,1)和对块4∶1的投影p(-1,1)的块配置奇偶校验块。

图3c示出由c表示的对块1∶2的块顺序写入(bsw)中的4个装置,其中mt已使用作为xor运算的^-运算符以及当前b和对块4:3的p(-1,1)计算用于对块3:2的投影p(1,1)的块配置奇偶校验块。

图3d示出由d表示的对块2∶2的块顺序写入(bsw)中的4个装置,其中mt已计算用于对块3∶3的投影p(1,1)和对块4∶2的投影p(-1,1)的块配置奇偶校验块,其中用a^d执行xor运算。

图3e示出由e表示的对块1∶3的块顺序写入(bsw)中的4个装置,其中mt已通过xor运算d^e和对块4∶4的p(-1,1)计算用于对块3∶3的投影p(1,1)的块配置奇偶校验块。

图3f示出由f表示的对块2∶3的块顺序写入(bsw)中的4个装置,其中mt已通过xor运算c∧f计算用于对块3∶4的投影p(1,1)以及对块4∶3的投影p(-1,1)的块配置奇偶校验块。

可以使用bsw写入数据,直到使用相同块mt配置将装置充满为止。

参考图4a、图4b和图4c执行对相同配置的rbd_mt的随机写入。

图4a示出由s表示的对块1∶10的块随机写入(brw)中的4个装置,其中mt已计算用于对块3∶10的投影p(1,1)和对块4∶11的投影p(-1,1)的块配置奇偶校验块。

图4b示出由t表示的对块2∶10的块随机写入(brw)中的4个装置,其中mt已计算用于对块3∶11的投影p(1,1)和对块4∶10的投影p(-1,1)的块配置奇偶校验块。

图4c示出由q表示的对块1∶9的块随机写入(brw)中的4个装置,其中mt已通过xor运算q^t计算用于对块3∶9的投影p(1,1)以及对块4∶10的投影p(-1,1)的块配置奇偶校验块。

然后,这些随机写入可以继续填充磁盘/存储器,直到充满为止,这表示所有块包含写入信息/数据。

参考图5a和图5b描述块更新。

图5a示出完全写入的块装置,所述块装置具有写入至数据磁盘上的所有可用块中的a-t以及通过块配置2+2以及p(1,1)、p(-1,1)使用mt计算和变换至每个相应块中的奇偶校验投影。在图5a中,将包含“i”1∶5的块更新至“x”,将具有xor运算的用于p(1,1)3∶5的相应奇偶校验块更新至h^x,并且将具有xor运算的用于p(-1,1)4∶6的奇偶校验块更新至x^l。

图5b示出完全写入的块装置,所述块装置具有写入至数据磁盘上的所有可用块中的a-t(其中i更新至x)以及通过块配置2+2以及p(1,1)、p(-1,1)使用mt计算和变换至每个相应块中的奇偶校验投影。在图5b中,将包含“j”2∶5的块更新至“y”,将具有xor运算的用于p(1,1)3∶6的相应奇偶校验块更新至y∧k,并且将具有xor运算的用于p(-1,1)4∶5的奇偶校验块更新至g∧y。

写入块的更新可以继续,直到磁盘/存储器充满为止。

图6中的表格将使用部分更新(pu)的益处形象化。在此实例中,不需要读取块2∶1或2∶3(b和f)来重新计算奇偶校验块。可以使用旧数据块(c)和新数据块(x)来计算差异(c∧x)。然后使用此差异来修补两个奇偶校验块。因此,为了更新单个块,需要执行1个块差异计算、m个块修补计算、m+1个读取和m+1个写入。

例如,将块1∶2从c更新至x。将差异计算为c^x。并且用计算出的差异修补奇偶校验块3∶2和4∶3。结果分别是b^x和x^f。

块的部分更新(pu)是减少使用rbd_mt时必要的运算数目的重要特征。此实例表明,mt编码数据的普通部分更新(pu)减少了在更新一个或多个数据块之后重新编码奇偶校验块时所需的运算数目。如果将数据块传输至执行重新编码的机器,则由于需要在网络上传输的数据块较少,这也会减少网络流量。在图7a中,从a至u表示数据代码。然后,可以由计算机硬件上的应用程序使用此数据,并且对数据进行更新,仅影响图7a中的数据代码的部分。图7b示出具有k=3和m=2的矩阵,其中k是行数并且m是冗余投影的数目。在图7c中示出投影p(1,1)和p(2,1)。在图7c中,还执行mt运算。具体来说,对数据执行xor运算。在图7d中,用户对数据的一部分进行更新,这用x和y表示。图7e示出更新在矩阵中的位置,并且此数据位于第一行中。图7f示出在mt运算之后的更新的投影p(1,1)和p(2,1)并且指示其中存在x和y的分仓。在图7g中,示出原始行与更新行之间的差异。在图7h中,计算第一行的块之间的差异。在图7i中,与图7h的差异插入至两个投影p(1,1)和p(2,1)中,并且针对更新的分仓计算更新的差异。在图7j中,示出使用mt运算的pu的最终结果并且标记用于每个投影的更新分仓。

参考图8,本公开的实施方案还提供计算机装置800,其包括处理器810、存储器820、通信接口830和总线840。

存储器820被配置成存储程序850,并且处理器810通过使用总线840连接至存储器820。当计算机装置800正运行时,处理器810执行存储于存储器820中的程序850,使得计算机装置800执行上文所描述的功能。参考其它图,处理器810被配置成执行上述功能。

存储器820可以包括高速随机存取存储器(ram)存储器。任选地,存储器820还可以包括非易失性存储器。例如,存储器820可以包括磁盘存储器。

处理器810可以是中央处理单元(cpu),或处理器810可以是专用集成电路(asic),或处理器810可以是被配置成实施本公开的实施方案的一个或多个集成电路。

本领域的普通技术人员将理解,实施方案中的全部或一些方法步骤可以由指示相关硬件的程序实施。程序可以存储于计算机可读存储媒体,例如,非暂时性计算机可读存储媒体中。存储媒体可以包括只读存储器(rom)、ram、磁盘,或光盘。

迫切需要一种用于下一代磁盘的以软件或硬件实施的改进的无速率raid解决方案。用于下一代磁盘的使用mojette变换投影的冗余块装置(rbd_mt)可以像云原生解决方案一样进行更多通信,并且通过网络在分布式框架中工作以用于高性能用例。

上述实施方案仅作为实例提供,并且应理解,所提出的技术不限于此。本领域的技术人员应理解,在不脱离如所附权利要求书所定义的本发明范围的情况下,可以对实施方案作出各种修改、组合和改变。具体来说,在技术上可能的情况下,不同实施方案中的不同部分解决方案可以在其它配置中组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1