CN110531936B - 基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法 - Google Patents

基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法 Download PDF

Info

Publication number
CN110531936B
CN110531936B CN201910810633.1A CN201910810633A CN110531936B CN 110531936 B CN110531936 B CN 110531936B CN 201910810633 A CN201910810633 A CN 201910810633A CN 110531936 B CN110531936 B CN 110531936B
Authority
CN
China
Prior art keywords
storage
data
tree
block data
erasure code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910810633.1A
Other languages
English (en)
Other versions
CN110531936A (zh
Inventor
董小社
李征
张兴军
王宇菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201910810633.1A priority Critical patent/CN110531936B/zh
Publication of CN110531936A publication Critical patent/CN110531936A/zh
Application granted granted Critical
Publication of CN110531936B publication Critical patent/CN110531936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明公开了基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法,其特征为在分布式存储系统中将纠删码的数据块数据放置到固态硬盘存储,将纠删码校验块数据放置到机械硬盘存储。其包括一下步骤:步骤(1)对分布式存储系统中数据存储介质进行分类,并建立林型混合存储结构;步骤(2)将分布式存储系统中纠删码数据进行分类,其中分为数据块数据与校验块数据并标记;步骤(3)将分类好的纠删码数据放置到林型存储结构的特定树上分发落盘。以此实现分布式存储上纠删码数据的基于多种存储介质的混合架构存储。本发明可以解决纠删码写放大对SSD的过度磨损,以更低成本提高系统性能,延长使用寿命,增强可靠性。

Description

基于多种存储介质的分布式纠删码混合存储的林型存储结构 及方法
技术领域
本发明涉及分布式存储领域,特别涉及基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法。
背景技术
大容量、低成本、高性能的存储系统设计一直是存储领域研究的热点,随着人类进入了大数据时代,数据量成爆炸式的增长对存储系统提出了更高的要求,传统的数据管理方式也遇到了巨大挑战,而大数据技术随之逐渐兴起。大数据技术中很重要的一点为如何快速高效的存储管理大数据。一方面存储系统既要能够在低成本前提下实现大容量存储,另一方面存储和计算之间的性能差距不断的扩大,这就需要具有在海量数据规模下与计算性能相匹配的高性能数据访问能力。为解决此问题,分布式存储技术得到了极大的发展,更多的研究点都集中在了分布式存储的效率、高性能、可靠性及寿命上。
传统分布式存储采用多副本的存储技术,通过保存多份数据提供高可靠性。多副本带来高可靠性的同时,存储代价也是多倍的。纠删码作为以更小的存储代价获得相同可靠性的方法,已经得到越来越多的应用。
自2000年后计算机硬件的迅速发展,计算机的计算能力、网络通信等都得到了极大的提高,然而硬盘却是个例外,尤其是HDD方面。目前比较好的HDD受物理限制其带宽、iops、读写性能比较差,且延迟较高。很难适用于现在大数据的读写需求,更影响到了分布式存储的读写性能以及随即性能和响应速度。为了避免机械机构带来的诸多不利,固态硬盘(SSD)采用了新结构来提高读写效率与响应速度。SSD作为一种利用集成电路组件作为内存的数据持久化存储设备,相比于HDD来说,SSD具有显著的读写行性能优势。抛开了HDD的机械机构,SSD是由固态电子存储芯片组成,它在接口规范和定义、功能以及使用方式上与HDD完全一样,然而SSD相比与HDD具有更多的优势,其I/O速度更快、防震、低功耗、低噪音、更轻量级等优势。
然而SSD的使用寿命对与写操作敏感,对于读操作不敏感。主要由所使用材料(目前为SLC、MLC和TLC)所决定,其所使用材料有特定的擦写次数的限制,其中SLC擦写次数为5000左右,MLC为3000左右,TLS为1000次。因此,SSD的寿命主要是由数据的擦写量影响,而数据的读取对SSD的使用寿命影响不大。对于目前大数据读多写少的情况来说,SSD寿命比HDD长,同时其可靠性也相对HDD高。
目前,SSD因为材料成本较高且制造复杂,SSD相对HDD价格较高。纯SSD系统性能优异但单位存储价格昂贵,而传统的三副本存储技术导致实际数据存储利用率仅为1/3,SSD的昂贵价格根本无法负担三副本所带来的成本代价;分布式存储中纠删码存储方法的存储利用率比较高,可以适应SSD的昂贵成本代价。然而纠删码因其固有的编码性质导致纠删码在分布式存储使用过程中,会产生及大的写放大,导致SSD过度磨损,寿命降低,可靠性降低。
发明内容
本发明提出了基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法,本发明能够利用较低的代价实现分布式存储系统更长的寿命、更高的可靠性与更好的性能。
本发明的技术方案如下:
基于多种存储介质的分布式纠删码混合存储的林型存储结构,包括若干相互独立的树型存储单元,任意一个树型存储单元为分布式存储集群中基于同一种存储介质的硬盘的树形归类,其中每个树型存储单元的树根节点为存储入口,每个树型存储单元的叶子节点为硬盘,每个树型存储单元的中间节点包括服务器和机架;若干相互独立的树型存储单元的树根在同一水平地址上;所述硬盘包括机械硬盘和基于不同存储颗粒的固态硬盘。当数据在存储落盘时,经过树根节点和中间节点,最后落盘至叶子节点。
每个树形存储单元为基于一种存储介质的硬盘在存储集群中拓扑结构的树型归类;将存储集群中机械硬盘归入一棵树形存储单元,将不同介质的固态硬盘按其介质的分类情况归入多颗树形存储单元。
基于多种存储介质的分布式纠删码混合存储方法,包括以下过程:
将分布式存储上纠删码数据存储的数据块数据与校验块数据分别落盘到林型存储结构中不同类别的存储介质上,其中,将数据块数据发送到固态硬盘对应的树型存储单元存储,将校验块数据发送到机械硬盘对应的树型存储单元存储,以将纠删码的数据块存储在固态硬盘中,将纠删码的校验块存储到机械硬盘;。
基于多种存储介质的分布式纠删码混合存储方法具体包括如下步骤:
S1,发送数据到分布式存储系统,分布式存储系统对所接收数据进行纠删编码,通过遍历纠删码编码矩阵中的系数将纠删编码得到的数据分为数据块数据与校验块数据;对数据块数据与校验块数据区别分开进行标记,将数据块数据放入数据块存储队列,将校验块数据放入校验块存储队列;
S2,将数据块存储队列中的数据块数据发送到某类存储颗粒的固态硬盘对应的树型存储单元进行存储;
将校验块存储队列中的校验块数据发送至机械硬盘对应的的树型存储单元进行存储。
S1中,针对所使用的纠删码编码方式区分纠删码数据的数据块数据与校验块数据。
S1中,区分纠删码数据的数据块数据与校验块数据的过程包括:
在galois域上根据纠删码编码规则对纠删码编码矩阵按行进行子阵分解,若某一行中只有与行序号相等的列上系数为1,其余列系数为0,则与该行相对应的编码后数据为数据块数据;若某一行中存在多个不为0的系数则与该行对应编码后数据为校验块数据。
S2中,存储数据块数据和校验块数据时,先将数据块数据和校验块数据各自发送至相应存储介质的树型存储单元的树根节点上,由各树型存储单元自行将数据从树根节点向叶子节点进行分布落盘。
本发明具有如下有益效果:
本发明基于多种存储介质的分布式纠删码混合存储的林型存储结构,林型存储结构中任意一个树型存储单元为一种类别的存储介质的树形归类,数据在存储落盘时经过根节点、中间节点最后落盘至叶子节点,能够保证在数据进行落盘时可以精确的将分类好的数据落盘至预设种类的存储介质。而在同一树型存储单元下,采用的是同一存储介质,这样又保证了数据落盘的随机性,维持了系统的负载平衡与提高容错能力。当利用本发明的林型存储结构存储数据时,将分布式存储上纠删码数据存储的数据块数据与校验块数据分别落盘到林型存储结构中不同类别的存储介质上,即将数据块数据发送到固态硬盘对应的树型存储单元存储,将校验块数据发送到机械硬盘对应的树型存储单元存储,以将纠删码的数据块存储在固态硬盘中,将纠删码的校验块存储到机械硬盘这样能够充分利用不同存储介质的存储能力,解决纠删码写放大对于存储介质过度磨损导致存储介质寿命缩短、可靠性降低及存储介质的存储代价问题。因此本发明能够使用较低的代价实现分布式存储系统更长的寿命、更高的可靠性与更好的性能。此外本发明的林型存储结构保证了整个系统对于存储介质分类的准确性,且更易于扩展。
本发明的基于多种存储介质的分布式纠删码混合存储方法能够充分利用不同存储介质的存储能力,能够使用较低的代价实现分布式存储系统更长的寿命、更高的可靠性与更好的性能。
附图说明
图1为本发明基于多种存储介质的分布式纠删码混合存储的林型存储结构的抽象拓扑图;
图2为本发明集合了林型存储结构与分布式纠删码混合存储方法的系统整体流程图。
具体实施方式
下面结合附图和实施例来对本发明做进一步的说明。
参照图1,本发明基于多种存储介质的分布式纠删码混合存储的林型存储结构,包括若干相互独立的树型存储结构,若干相互独立的树型存储单元的树根在同一水平地址上;任意一个树型存储单元为一种类别的存储介质硬盘的树形归类,其中硬盘包括机械硬盘和固态硬盘,任意一个树型存储单元为基于某类存储介质的固态硬盘的树形归类(如SSD-TLC树型存储单元,SSD-MLC树型存储单元)或机械硬盘的树形归类,其中每个树型存储单元的树根节点为存储入口,每个树型存储单元的叶子节点为当前存储介质的硬盘,每个树型存储单元的中间节点包括服务器和机架;当数据在存储落盘时,经过树根节点和中间节点,最后落盘至叶子节点。
参照图1,本发明中将存储集群种的不同存储介质的硬盘按照其介质属性进行分类,并根据在存储集群种的拓扑结构将其归入所属的树型存储单元。
参照图2,本发明基于多种存储介质的分布式纠删码混合存储方法,包括以下过程:
将分布式存储上纠删码数据存储的数据块数据与校验块数据分别落盘到林型存储结构中不同类别的存储介质上,其中,将数据块数据发送到固态硬盘对应的树型存储单元进行存储,将校验块数据发送到机械硬盘对应的树型存储单元进行存储,以将纠删码的数据块存储在固态硬盘中,将纠删码的校验块存储到机械硬盘。
作为本发明优选的实施方案,基于多种存储介质的分布式纠删码混合存储方法具体包括如下步骤:
S1,发送数据到分布式存储系统,分布式存储系统对所接收数据进行纠删编码,通过遍历纠删码编码矩阵中的系数将纠删编码得到的数据分为数据块数据与校验块数据;对数据块数据与校验块数据区别分开进行标记,将数据块数据放入数据块存储队列,将校验块数据放入校验块存储队列;
S2,将数据块存储队列中的数据块数据发送到固态硬盘对应的树型存储单元进行存储;
将校验块存储队列中的校验块数据发送至机械硬盘对应的的树型存储单元进行存储。
作为本发明优选的实施方案,S1中,针对所使用的纠删码编码方式区分纠删码数据的数据块数据与校验块数据。
作为本发明优选的实施方案,S1中,区分纠删码数据的数据块数据与校验块数据的过程包括:
在galois域上根据纠删码编码规则对纠删码编码矩阵按行进行子阵分解,若某一行中只有与行序号相等的列上系数为1,其余列系数为0,则与该行相对应的编码后数据为数据块数据;若某一行中存在多个不为0的系数则与该行对应编码后数据为校验块数据。
作为本发明优选的实施方案,S1中,对数据块数据与校验块数据区别分开进行标记,将数据块数据归入数据块存储队列,将校验块数据归入校验块存储队列,包括如下过程:
建立纠删码数据到编码矩阵行之间的映射关系,使用map标记记录出所有数据块数据与编码矩阵中行映射对应的结果,以及校验块数据与编码矩阵中行映射对应的结果;
将映射关系按照映射结果值的不同分为数据块存储队列与校验块存储队列,并分别将数据块存储队中数据块数据ID与校验块存储队列中校验块数据ID分别存入数据块数据记录表与校验块数据记录表。
作为本发明优选的实施方案,S2中,存储数据块数据和校验块数据时,先将数据块数据和校验块数据各自发送至相应存储介质的树型存储单元的树根节点上,由各树型存储单元自行将数据从树根节点向叶子节点进行分布落盘。
实施例
本实施例基于多种存储介质的分布式纠删码混合存储方法,包括以下步骤:
步骤1:客户端节点发送要存储数据到存储节点,存储节点根据所选的纠删码编码规则对要存储数据进行纠删编码,生成纠删编码数据。存储节点根据纠删码编码规则及所选的编码矩阵,存储节点将已编码数据进行分类划分,将其划分为数据块数据与校验块数据,并将分类出的数据块数据存放到固态硬盘,将校验块数据存储到机械硬盘,来实现纠删码基于多种存储介质的混合存储过程。具体步骤如下:
1)其中步骤1中,存储节点对客户端数据进行编码过程为采用已有纠删码编码方式,如RS纠删码等现有的系统性纠删码生成客户端数据的纠删码编码后数据。
2)针对所使用的纠删码编码方式区分纠删码数据的数据块数据与校验块数据。
3)其具体分辨方法为:在galois域上根据纠删码编码规则对纠删码编码矩阵按行进行子阵分解,其中每一行为一个单位。若其中某一行中只有与行序号相等的列上为有效编码位(例如系统码编码矩阵中行编码系数为1),其余列均为无效编码或者编码系数为0,则认为与该行相对应的编码后数据为数据块数据。若其中某一行中存在多个不为0的编码系数,则与该行对应的编码后数据为校验快数据。
4)根据上述分辨方法对编码后的每一块数据进行判别,并将判别为数据块数据的数据ID加入到数据块存储队列,将判别为校验块数据的数据ID加入到校验块存储队列;
5)为实现基于此系统的可扩展的混合架构系统,本发明设计了记录不同存储设备特性的林型存储结构,以满足存储集群的通用性与可扩展性。
步骤2:根据不同存储介质的不同特性建立分布式存储集群某一特性存储介质的树型存储单元(在此仅将存储介质区分为SSD与HDD),将多种存储介质的集合分别建立多颗特性树型存储单元,由集群内的所有树型存储单元一起建立多种存储介质的林型存储结构。其具体细节如下所示:
1)将集群中的存储介质进行分类,按照存储介质的不同分为SSD存储与HDD存储,其中对SSD存储介质进行标记区分,SSD盘标为1,HDD标为0。
2)根据标记情况将对应的磁盘ID及其所属集群、机架、服务器,等信息综合归档,存入对应的表进行记录,SSD所有信息存入SSD表,HDD相关所有信息存入HDD表。若有其他特性的存储介质需要区分,则根据其相应规则同理进行建表。
3)根据上述SSD表和HDD表所记录信息建立特性树型存储单元,该树中仅包含一种特性的存储设备,且每张表仅建立一棵树,每棵树需包含集群中的所有同类存储设备。其中在构造树型存储单元时,树的根节点设置为数据落盘入口,设置其标记ID为一个负数如-1,-2等,并不包含实际意义,仅为数据进行存储的入口节点标识;树的中间节点为集群中磁盘的拓扑信息,每一级中间节点记录其所属单机、机架、集群等的层级关系,整体结构的信息记录模式与集群的实际拓扑结构相同,且中间节点记录的ID与集群实际拓扑结构中的编号相同,以方便加速对底层实际存储设备的寻址选择;树型存储单元中叶子节点为最底层的实际存储设备如HDD和SSD,其在树中的ID为设备的实际地址号。
4)按照上述方法对所有的存储设备进行分类建树,整个集群的树型存储单元集合为该集群的林型存储结构。
5)数据在林型存储结构上落盘时,只需将数据发送至林型存储结构中的某几颗树的根节点上,由树的根节点将数据按照数的拓扑结构发送至叶子节点进行落盘。
6)根据上述方法为集群建立多个SSD树型存储单元与HDD树型存储单元。
在上述建立林型存储结构时,本发明提供了自感知的林型存储结构建立方式,其细节如下:
1)自感知的林型存储结构建立:管理节点发送询问信息至每一个存储节点,读取其回执信息根据带宽及延迟感知出所属节点及机架信息,判断是否与其他节点处于同一机架,同理可以判断出是否同属于集群等拓扑位置信息;通过感知同一单机下不同存储设备(不同存储盘)的具体属性信息来判断其为SSD还是HDD,进一步对SSD存储盘的存储介质颗粒类型进行区分。最后根据其所判断得到的信息,按照上述方法同理建立林型存储结构。
2)自感知林型存储结构建立的优点在于自动化程度高,运维成本低,可以实时的动态建立异构介质林型存储结构,适应集群状况的变化,可以与场景结合密切。
本发明设计了针对纠删码的混合存储的林型存储结构,需将纠删码数据放置到上述林型存储结构每一棵树的叶子节点上进行落盘。
步骤3:根据步骤1中对纠删码数据进行分类的结果,需要将纠删码数据块数据发送至SSD设备存储,将纠删码校验块数据发送至HDD存储。其具体步骤如下:
1)根据步骤1中数据的分类,按照已分类的数据块记录表中的数据块序列ID,将数据块数据包发送至林型存储结构的SSD树型存储单元进行落盘,首先将数据发送至符合需求类型的SSD树型存储单元的根节点上,然后SSD树型存储单元会根据原有集群的一定规则将接收的数据块从树的根节点开始依次选出集群,机架,单机到最后的存储盘,直到数据块放置到集群中的SSD存储设备上,以适应分布式存储集群的区域容错能力。
2)落盘完毕向上返回存储该块数据包的磁盘信息,其中包括磁盘ID、所在位置等元数据信息。
3)将每一数据块数据按照如上方法发送至树型存储单元上进行存储,当每个数据发送至树型存储单元并且落盘结束,向上回复ACK信息,进入完毕消息回复队列。
4)将已分好类的纠删码校验块数据集合按照相同的方法发送至林型存储结构中的HDD树型存储单元中存储。
5)校验块数据落盘与回复完毕消息过程同上。
6)当所有数据均落盘结束,所有的元数据信息依次按照如上方法返回,主存储节点整理汇总所有的元数据信息记录在表里,以便在访问时可以绕过树型存储单元,并发的直接访问磁盘上的数据,提高访问效率。
7)当主节点收到所有数据落盘结束消息,清空消息队列,整个落盘过程结束。
本发明述基于纠删码的混合存储系统将存储集群中不同存储盘根据其读写带宽与介质类型自动划分到不同的存储介质集合;通过对存储集群分布状态的感知,建立存储集群中不同存储介质的拓扑图;按照介质类型将其建立为一颗完整的树型存储单元,将多颗不同介质树型存储单元统一编码,建立为一个完整的林型存储结构。最后根据所建立的多介质林型存储结构,先感知纠删码编码矩阵,然后将纠删码编码所得数据分为数据段数据与校验段数据,最后将数据段数据与校验段数据分别放置到林型存储结构中不同的介质树型存储单元上落盘。由此可以解决纠删码写放大对于新型存储介质(SSD,NVM)过度磨损导致新介质寿命缩短,可靠性降低及新介质的存储代价问题。
其根据纠删码的特性综合利用了HDD磁盘与SSD磁盘的性能及其优缺点,通过构建分布式存储系统上基于多种存储介质的林型存储结构,同时将分布式存储上纠删码数据存储的数据块数据与校验块数据分别落盘到林型存储结构中不同特性的存储介质上,以使用较低的代价实现分布式存储系统更长的寿命、更高的可靠性与更好的性能。为大数据存储提供了更好的方式,为分布式存储中新型存储介质与纠删码的广泛使用提供铺垫。
由于本发明首先要建立分布式存储集群纠删码的混合架构,然后才能将原数据编码产生的数据切割分别放置到不同的存储介质上落盘,将从分布式存系统纠删码混合存储架构的建立与数据动态放置过程分别进行叙述。
分布式纠删码混合存储架构的建立实施方案:
1.分布式存储集群监视节点获取当前集群的拓扑感知信息,将当前分布式存储集群上各节点按照机架内,机架间,机房内,机房间的粒度区分出来,建立整个分布式存储集群的拓扑关系图。
2.分布式存储集群上监视节点发送存储盘状态检测指令到集群中的每一个节点。检测存储盘的存储带宽、单盘IOPS以及存储介质。
3.各节点在收到监视节点存储盘测试指令后,将对本机上所有属于当前存储集群的存储盘及进行测试,将测试结果发送回集群监视节点。
4.集群监视节点根据获得的存储集群拓扑图以及集群内每个节点上存储盘的状态测试结果进行区分,根据各存储盘的存储速度、单盘IOPS以及存储介质类型,将存储集群中每一块盘进行分类为HDD、SSD和NVM等。
5.特别的,监视节点对集群中HDD与SSD存储盘进行标记,按照存储介质的不同分为SSD存储盘与HDD存储盘,并对SSD按照存储颗粒类型进行更细粒度区分标记(使系统适用于多种存储情况),其中SSD盘标为1,HDD标为0。
6.根据标记情况将对应的磁盘ID及其所属集群,机架,服务器,的拓扑信息综合归档,存入对应的表进行记录,SSD所有信息存入SSD表,HDD相关所有信息存入HDD表。若有其他特性的存储介质需要区分,则根据其相应规则同理进行建表。
7.根据上述表所记录信息建立特性树型存储单元,该树中仅包含相同特性的存储设备,且每张表仅建立一棵树,每棵树包含集群中的所有同类存储设备。其中在构造树型存储单元时,树的根节点设置为数据落盘入口,为区分存储介质的类型标记,将树根节点设置其标记ID为相应的负值-1,-2等,并不包含实际意义,仅为数据进行存储的入口节点;树的中间节点为集群中磁盘的拓扑信息,每一级中间节点记录其所属单机,机架,机房,集群等的层级关系,整体结构的信息记录模式与集群的实际拓扑结构相同,且中间节点记录的ID与集群实际拓扑结构中的编号相同,以方便加速对底层实际存储设备的寻址选择;树型存储单元中叶子节点为最底层的实际存储设备如HDD和SSD,其在树中的ID为设备的实际地址号。
8.按照上述方法对所有的存储设备进行分类建树,整个集群的树型存储单元集合为该集群的林型存储结构,而林中每棵树的根节点在同一梯度上进行标定,如图1所示。
分布式纠删码混合存储的林型存储结构上数据的放置过程实施方案:
1.客户端发送数据到存储集群主节点,主节点从监视节点获取存储集群中已分好类的不同介质树型存储单元的拓扑图。
2.主节点采用客户端选定的纠删码编码规则对客户端发送的数据进行编码,产生多个编码块。
3.主节点遍历所使用的纠删码编码矩阵,感知出其中的数据块数据序号与校验块数据序号,将编码所产生块进行分类建立数据块到编码矩阵数据块数据序号的映射关系,同时建立校验块到编码矩阵中校验行序号的映射关系。
4.将分类好的数据块数据与校验块数据分别归入不同的存储队列,数据块存储队列与校验块存储队列,当客户端将所有数据编码结束且全部归入存储队列后,对数据块与校验快分别建立数据段专用ID与校验段专用ID,最后将数据块集合与校验块集合进行上锁操作。
5.主节点将数据段集合中的数据块一一发送到所建立的SSD树型存储单元上,将校验段集合中的校验块发送到所建立的HDD树型存储单元上,并汇报监视节点。
6.监视节点根据SSD树型存储单元上故障域隔离条件,将发送到每棵树上的数据从树型存储单元的根分发到多个机架,等机架分发结束,再将数据分发到每个机架上不同的存储节点上,最后存储节点根据节点上每个存储盘的负载状况,将数据存储在不同的SSD上。最后存储节点将数据块数据ID与所在SSD树型存储单元中的位置结合落盘成功ACK信号发送给主节点。主节点收到信号后暂不更新元数据。
7.同步骤6,将编码所产生校验数据以同样的方式分别分发到HDD树型存储单元上的不同叶子节点,最后反馈校验块ID+HDD树型存储单元中的拓扑位置+落盘结束ACK信号给主节点,主节点收到信号后暂不更新元数据。
8.当主节点收到所有数据块数据与校验块数据落盘结束的ACK信号后,根据每个节点所发来的数据块数据ID或校验块数据ID以及树型存储单元中的位置更新本次对象的元数据。然后对上述两个数据存储集合解锁,主节点更新元数据结束后向监视节点发送数据落盘结束ACK信号。
9.监视节点收到主节点落盘结束ACK信号后,反馈当前ACK信号序列号+1给主节点。
10.主节点收到监视节点的反馈后,释放数据段存储集合与校验段存储集合中已过期内容,当前数据对象的存储事务结束。
11.本次存储过程结束。
从本发明的上述方案可以看出,本发明可以解决纠删码写放大对SSD的过度磨损,以更低成本提高系统性能,延长使用寿命,增强可靠性。

Claims (3)

1.基于多种存储介质的分布式纠删码混合存储方法,其特征在于,包括以下过程:
将分布式存储上纠删码数据存储的数据块数据与校验块数据分别落盘到林型存储结构中不同类别的存储介质上,其中,将数据块数据发送到固态硬盘对应的树型存储单元存储,将校验块数据发送到机械硬盘对应的树型存储单元存储,以将纠删码的数据块存储在固态硬盘中,将纠删码的校验块存储到机械硬盘;
将分布式存储上纠删码数据存储的数据块数据与校验块数据分别落盘到林型存储结构中不同类别的存储介质包括如下步骤:
S1,发送数据到分布式存储系统,分布式存储系统对所接收数据进行纠删编码,通过遍历纠删码编码矩阵中的系数将纠删编码得到的数据分为数据块数据与校验块数据;对数据块数据与校验块数据区别分开进行标记,将数据块数据放入数据块存储队列,将校验块数据放入校验块存储队列;
S2,将数据块存储队列中的数据块数据发送到某类存储颗粒的固态硬盘对应的树型存储单元进行存储;
将校验块存储队列中的校验块数据发送至机械硬盘对应的的树型存储单元进行存储;
S1中,针对所使用的纠删码编码方式区分纠删码数据的数据块数据与校验块数据;
S1中,区分纠删码数据的数据块数据与校验块数据的过程包括:
在galois域上根据纠删码编码规则对纠删码编码矩阵按行进行子阵分解,若某一行中只有与行序号相等的列上系数为1,其余列系数为0,则与该行相对应的编码后数据为数据块数据;若某一行中存在多个不为0的系数则与该行对应编码后数据为校验块数据。
2.根据权利要求1所述的基于多种存储介质的分布式纠删码混合存储方法,其特征在于,S2中,存储数据块数据和校验块数据时,先将数据块数据和校验块数据各自发送至相应存储介质的树型存储单元的树根节点上,由各树型存储单元自行将数据从树根节点向叶子节点进行分布落盘。
3.根据权利要求1所述的基于多种存储介质的分布式纠删码混合存储方法,其特征在于,林型存储结构包括若干相互独立的树型存储单元,任意一个树型存储单元为分布式存储集群中基于同一种存储介质的硬盘的树形归类,其中每个树型存储单元的树根节点为存储入口,每个树型存储单元的叶子节点为硬盘,每个树型存储单元的中间节点包括服务器和机架;若干相互独立的树型存储单元的树根在同一水平地址上;
所述硬盘包括机械硬盘和基于不同存储颗粒的固态硬盘;
每个树形存储单元为基于一种存储介质的硬盘在存储集群中拓扑结构的树型归类;将存储集群中机械硬盘归入一棵树形存储单元,将不同介质的固态硬盘按其介质的分类情况归入多颗树形存储单元。
CN201910810633.1A 2019-08-29 2019-08-29 基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法 Active CN110531936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910810633.1A CN110531936B (zh) 2019-08-29 2019-08-29 基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910810633.1A CN110531936B (zh) 2019-08-29 2019-08-29 基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法

Publications (2)

Publication Number Publication Date
CN110531936A CN110531936A (zh) 2019-12-03
CN110531936B true CN110531936B (zh) 2021-05-28

Family

ID=68665289

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910810633.1A Active CN110531936B (zh) 2019-08-29 2019-08-29 基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法

Country Status (1)

Country Link
CN (1) CN110531936B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113918378A (zh) * 2020-07-10 2022-01-11 华为技术有限公司 数据存储方法、存储系统、存储设备及存储介质
CN112799607B (zh) * 2021-04-12 2021-06-22 骊阳(广东)节能科技股份有限公司 一种根据数据大小分区式存放的数据存储方法
CN114297172B (zh) * 2022-01-04 2022-07-12 北京乐讯科技有限公司 一种基于云原生的分布式文件系统
CN115964445B (zh) * 2023-02-23 2024-03-05 合肥申威睿思信息科技有限公司 一种分布式数据库的多副本实现方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227464A (zh) * 2016-07-14 2016-12-14 中国科学院计算技术研究所 一种双层冗余存储系统及其数据写入、读取及恢复方法
CN106527982A (zh) * 2016-10-25 2017-03-22 西安交通大学 一种针对由异构存储设备组成的对象存储系统的对象分布算法
US9984090B1 (en) * 2014-03-13 2018-05-29 EMC IP Holding Company LLC Method and system for compressing file system namespace of a storage system
CN109992204A (zh) * 2019-03-19 2019-07-09 新华三技术有限公司成都分公司 数据存储方法及装置
CN110169040A (zh) * 2018-07-10 2019-08-23 深圳花儿数据技术有限公司 基于多层一致性哈希的分布式数据存储方法与系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311252B2 (en) * 2013-08-26 2016-04-12 Globalfoundries Inc. Hierarchical storage for LSM-based NoSQL stores
US9830342B2 (en) * 2014-11-20 2017-11-28 International Business Machines Corporation Optimizing database deduplication
US9734051B2 (en) * 2015-02-16 2017-08-15 Quantum Corporation Garbage collection and defragmentation for solid state drives (SSD) and shingled magnetic recording (SMR) drives
CN107526544A (zh) * 2017-08-16 2017-12-29 国家电网公司 一种分布式存储Ceph集群硬件选型设计方法
CN107491529B (zh) * 2017-08-18 2020-05-08 华为技术有限公司 一种快照删除方法及节点
CN107844269B (zh) * 2017-10-17 2020-06-02 华中科技大学 一种基于一致性哈希的分层混合存储系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9984090B1 (en) * 2014-03-13 2018-05-29 EMC IP Holding Company LLC Method and system for compressing file system namespace of a storage system
CN106227464A (zh) * 2016-07-14 2016-12-14 中国科学院计算技术研究所 一种双层冗余存储系统及其数据写入、读取及恢复方法
CN106527982A (zh) * 2016-10-25 2017-03-22 西安交通大学 一种针对由异构存储设备组成的对象存储系统的对象分布算法
CN110169040A (zh) * 2018-07-10 2019-08-23 深圳花儿数据技术有限公司 基于多层一致性哈希的分布式数据存储方法与系统
CN109992204A (zh) * 2019-03-19 2019-07-09 新华三技术有限公司成都分公司 数据存储方法及装置

Also Published As

Publication number Publication date
CN110531936A (zh) 2019-12-03

Similar Documents

Publication Publication Date Title
CN110531936B (zh) 基于多种存储介质的分布式纠删码混合存储的林型存储结构及方法
CN103902623B (zh) 用于在存储系统上存取文件的方法和系统
CN105573681B (zh) 一种ssd盘片内部raid组建方法及系统
CN106708427A (zh) 一种适用于键值对数据的存储方法
CN106055277A (zh) 一种去中心化的分布式异构存储系统数据分布方法
CN107209714A (zh) 分布式存储系统及分布式存储系统的控制方法
CN107924291A (zh) 存储系统
TWI750910B (zh) 在儲存伺服器中進行資料壓縮管理的方法及設備
CN107273046B (zh) 一种基于固态盘阵列的数据处理方法及系统
US11175857B2 (en) Storage device and storage management method
US11372576B2 (en) Data processing apparatus, non-transitory computer-readable storage medium, and data processing method
US11449386B2 (en) Method and system for optimizing persistent memory on data retention, endurance, and performance for host memory
CN106293492A (zh) 一种存储管理方法及分布式文件系统
US20210357147A1 (en) Method and system for facilitating memory media as a file storage device based on real-time hashing
CN109407985B (zh) 一种数据管理的方法以及相关装置
CN105677236A (zh) 一种存储设备及其存储数据的方法
CN107506145A (zh) 一种物理存储调度方法及云主机创建方法
CN110147203A (zh) 一种文件管理方法、装置、电子设备及存储介质
CN115328389A (zh) 用于可定制元数据的存储装置、系统和方法
US20170277451A1 (en) Method to limit impact of partial media failure of disk drive and detect/report the loss of data for objects due to partial failure of media
CN104461388A (zh) 一种存储阵列配置保存及仲裁方法
KR20240045993A (ko) 데이터 저장 방법 및 장치
CN109408416B (zh) 一种地址映射表项页管理方法及装置
CN106547484A (zh) 一种基于raid5的实现内存数据可靠性方法及系统
CN106844491A (zh) 一种临时数据的写入、读取方法及写入、读取装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant