CN110568993A - 一种数据更新方法及相关装置 - Google Patents

一种数据更新方法及相关装置 Download PDF

Info

Publication number
CN110568993A
CN110568993A CN201910722687.2A CN201910722687A CN110568993A CN 110568993 A CN110568993 A CN 110568993A CN 201910722687 A CN201910722687 A CN 201910722687A CN 110568993 A CN110568993 A CN 110568993A
Authority
CN
China
Prior art keywords
data
blocks
updated
read
block
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.)
Granted
Application number
CN201910722687.2A
Other languages
English (en)
Other versions
CN110568993B (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.)
New H3C Technologies Co Ltd Chengdu Branch
Original Assignee
New H3C Technologies Co Ltd Chengdu Branch
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 New H3C Technologies Co Ltd Chengdu Branch filed Critical New H3C Technologies Co Ltd Chengdu Branch
Priority to CN201910722687.2A priority Critical patent/CN110568993B/zh
Publication of CN110568993A publication Critical patent/CN110568993A/zh
Application granted granted Critical
Publication of CN110568993B publication Critical patent/CN110568993B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供一种数据更新方法及相关装置,涉及数据处理领域。该方法包括:当数据条带存在待更新数据块时,根据待更新数据块以及数据条带确定待读取数据块;其中,待读取数据块的个数小于或等于保留数据块的个数;保留数据块为数据条带中除待更新数据块之外的数据块,数据条带为基于纠删码配置的存储数据;读取待读取数据块,并根据待读取数据块对数据条带进行更新。由于确定的待读取数据块的个数小于或等于保留数据块的个数,故每次在对数据条带进行更新时,对待读取数据块的读取次数均小于或等于保留数据块的个数,保证了在对数据条带进行更新时,能够减少额外的数据读取,达到提升数据读写性能的目的。

Description

一种数据更新方法及相关装置
技术领域
本发明涉及数据处理领域,具体而言,涉及一种数据更新方法及相关装置。
背景技术
纠删码(ErasureCoding,EC)是一种能够提高数据保存能力的技术,能够显著提升存储系统的容量利用率。它可以将待存储数据分割成N个数据分块以及M个校验分块进行存储,并可以在丢失部分分块的情况下,根据剩余分块将丢失的分块重建出来,其中,一组完整的N个数据分块以及M个校验分块被称为一个数据条带。
但是,当要更新数据条带时,需要对该数据条带进行多次读取操作,才能实现该数据条带的更新,即会引起额外的数据读取,并且该额外的数据读取次数常常接近数据条带的分块总数。
因此,目前的数据条带的更新方法存在着额外的数据读取次数多,数据读写性能较低的问题。
发明内容
有鉴于此,本发明的目的在于提供一种数据更新方法及相关装置,达到在对数据条带进行更新时,减少额外的数据读取,提升数据读写性能的目的。
为了实现上述目的,本发明实施例采用的技术方案如下:
第一方面,本发明实施例提供了一种数据更新方法,该方法包括:当数据条带存在待更新数据块时,根据所述待更新数据块以及所述数据条带确定待读取数据块;其中,所述待读取数据块的个数小于或等于保留数据块的个数;所述保留数据块为所述数据条带中除所述待更新数据块之外的数据块,所述数据条带为基于纠删码配置的存储数据;读取所述待读取数据块,并根据所述待读取数据块对所述数据条带进行更新。
第二方面,本发明实施例还提供了一种数据更新装置,包括:确定模块,用于当数据条带存在待更新数据块时,根据所述待更新数据块以及所述数据条带确定待读取数据块;其中,所述待读取数据块的个数小于或等于保留数据块的个数;所述保留数据块为所述数据条带中除所述待更新数据块之外的数据块,所述数据条带为基于纠删码配置的存储数据;更新模块,用于读取所述待读取数据块,并根据所述待读取数据块对所述数据条带进行更新。
第三方面,本发明实施例还提供了一种存储节点,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器可执行机器可执行指令以实现上述的数据更新方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的数据更新方法。
第五方面,本发明实施例还提供了一种分布式存储系统分布式存储系统包括多个存储节点,多个存储节点中的任一存储节点用于在运行时实现上述的数据更新方法。
本发明实施例提供的一种数据更新方法及相关装置。该方法包括:当数据条带存在待更新数据块时,根据所述待更新数据块以及所述数据条带确定待读取数据块;其中,所述待读取数据块的个数小于或等于保留数据块的个数;所述保留数据块为所述数据条带中除所述待更新数据块之外的数据块,所述数据条带为基于纠删码配置的存储数据;读取所述待读取数据块,并根据所述待读取数据块对所述数据条带进行更新。由于确定的待读取数据块的个数小于或等于保留数据块的个数,故每次在对数据条带进行更新时,对待读取数据块的读取次数均小于或等于保留数据块的个数,保证了在对数据条带进行更新时,能够减少额外的数据读取,达到提升数据读写性能的目的。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的更新数据块d1、d2更新数据条带A的示意图。
图2示出了本申请实施例所提供的分布式存储系统的组成示意图。
图3示出了本申请实施例所提供的数据更新方法的一种流程示意图。
图4示出了本申请实施例所提供的数据更新方法的另一种流程示意图。
图5为图4中增加S100的一种流程示意图。
图6为图4中增加S100的另一种流程示意图。
图7示出了本申请实施例所提供的更新数据块d1-d5更新数据条带A的示意图。
图8示出了本申请实施例所提供的更新数据块d1-d6更新数据条带A的示意图。
图9示出了本申请实施例提供的一种数据更新装置的功能模块图。
图10示出了本申请实施例提供的存储节点的方框示意图。
图标:100-分布式存储系统;110-存储节点;111-存储器;112-通信接口;113-处理器;114-总线;200-数据更新装置;210-确定模块;220-更新模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在实现本申请实施例的技术方案的过程中,本申请发明人发现:
为了保证存储数据的数据持久性(Data Durability),一般采用多副本技术或纠删码技术。与多副本技术相比,纠删码技术不仅可以保证存储数据的持久性,还能提高存储空间的利用率。在应用纠删码技术对待存储数据进行存储时,基于纠删码的配置会将待存储数据划分为多个数据块以及多个校验块进行存储,其中,一组完整的数据块以及校验块被称为一个数据条带。然而纠删码技术在存储空间的利用率方面的提升存在缺陷,其缺陷主要包括:纠删码技术存在写放大问题,即当要用更新数据块更新已存储数据条带的数据块时,需要进行额外的数据读写才完成已存储的数据的更新。
假设纠删码的配置为N:M,如图1所示,已存储的数据条带A包括8个数据块(D1-D8),2个校验块(P1、P2),当使用更新数据块d1、d2对该数据条带中的数据块D1、D2进行更新时,为简要描述,称D1、D2为待更新数据块,D3-D8为保留数据块。基于图1所示的待更新数据条带,目前主要有两种数据更新方法实现更新。第一种方法是基于更新数据块和保留数据块进行更新,具体的,该方法需要读取保留数据块D3-D8,然后根据D3-D8以及更新数据块d1、d2计算出更新校验块P1`、P2`,再将更新数据块d1、d2以及更新校验块P1`、P2`写入被更新的数据条带,由此可见,该方法引入了额外的6次读取以及2次写入。第二种方法是基于更新数据块、待更新数据块以及数据条带的校验块进行更新。具体的,该方法需要读取待更新数据块D1、D2以及校验块P1、P2,然后根据待更新数据块D1、D2、校验块P1、P2以及更新数据块d1、d2计算出更新校验块P1`、P2`,再将更新数据块d1、d2以及更新校验块P1`、P2`写入被更新的数据条带,由此可见,该方法引入了额外的4次读取以及2次写入。
需要说明的是,当纠删码的配置为N:M时,则表示一个数据条带的数据分块的个数为N个,校验分块的个数为M个,即数据条带的数据块个数与校验块个数的比为N:M与纠删码的配置为N:M是一致的表述。
对于更一般的情形,假设待更新数据块的个数为s,保留数据块的个数为t,则第一种方法所引起的额外的数据读取次数为t,第二种方法所引起的额外的数据读取次数为s+校验块的个数。对于第一种方法,在s较小时所引起的额外读写次数较多;对于第二种方法,随着待更新数据块的个数s的增加,其引起的额外数据读写次数随之增加,即第一种方法在s较大时所引起的额外读写次数较多。故上述的两种数据更新方法较为简单,数据读写性能低,都只能在s位于某个特定范围时才起到减少额外的数据读写次数的作用,而在实际应用中上述的两种数据更新方法的额外数据读取次数常常接近数据条带的分块总数,不能很好地解决写放大问题。
基于对上述缺陷的研究,本实施例提出一种数据更新方法及相关装置,通过使确定的待读取数据块的个数小于或等于保留数据块的个数,故每次在对数据条带进行更新时,对待读取数据块的读取次数均小于或等于保留数据块的个数,保证了在对数据条带进行更新时,能够减少额外的数据读取,达到提升数据读写性能的目的,进而解决纠删码的写放大问题。需要说明的是,以上现有技术中的方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本发明实施例针对上述问题所提出的解决方案,都应该是发明人在本发明过程中对本发明做出的贡献。下面,对本发明实施例提供的数据更新方法及相关装置进行详细阐述。
首先,请参照图2,图2为本申请实施例所提供的分布式存储系统的组成示意图。该分布式存储系统100包括多个存储节点110,每个存储节点110包括多个存储子空间,该分布式存储系统100的存储空间由上述多个存储节点110中的至少部分存储节点的存储子空间构成。在分布式存储系统100中预先设置有第一存储池以及第二存储池,第一存储池包括分布式存储系统100的存储空间的多个存储子空间,第二存储池包括分布式存储系统100的存储空间中的多个存储子空间。可以理解的是,第一存储池与第二存储池中不包括相同的存储子空间。
在本实施例中,分布式存储系统100的存储节点110可以基于纠删码配置的数据存储方式将待存储的数据存储至存储空间的存储子空间中,即将待存储的数据转换为待存储的数据条带,并将该待存储的数据条带存储至存储空间的存储子空间中。其中,将待存储的数据条带的数据块存储至第二存储池,将待存储的数据条带的校验块存储至第一存储池。假设纠删码配置为N:M,则将待存储的数据分成N个定长的数据块,并根据这N个定长的数据块计算出M个定长的校验块,然后将上述的N个数据块存储至第一存储池的存储子空间中,将上述M个校验块存储至第二存储池的存储子空间中,可以理解,该N个定长的数据块和M个校验块即组成一个数据条带。
可以理解的是,实现该分布式存储系统100的软件架构包括但不限于GlusterFS分布式存储系统、Ceph分布式存储系统等。存储子空间可以是存储介质,例如固态硬盘(SolidState Drive,SSD)、传统硬盘(Hard Disk Drive,HDD)、随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read Only Memory,ROM)、闪存(FLASH)等。图2中的分布式存储系统100的存储空间的分配仅是一种可能的实施方式,在具体应用中,分布式存储系统100的存储空间所包含的存储子空间的个数、第一存储池的存储子空间的个数以及第二存储池的存储子空间的个数可以根据实际需求确定。
作为一种可选地实施方式,第一存储池的读写速度大于第二存储池的读写速度,以使分布式存储系统更快地响应数据读写需求,提升分布式存储系统的IOPS(Input/Output Per Second,每秒进行读写操作的次数)性能。例如,第一存储池可以采用固态硬盘,其数据读写性能比传统磁盘的读写性能高,第二存储池可以采用传统磁盘,例如串行连接SCSI(Serial Attached SCSI,SAS)盘、串口硬盘SATA(Serial ATA,SATA)盘等。
作为一种可选地实施方式,第一存储池与第二存储池的容量比(存储空间大小的比)与预设比值一致,其中,预设比值为数据条带的数据块个数与校验块个数的比,也即是数据条带的数据块个数与校验块个数的比。例如,当数据条带的数据块个数与校验块个数的比为8:2时,则第一存储池可以配置为8TB(Terabyte,太字节),第二存储池可以配置为2TB。由于第一存储池与第二存储池的容量比与数据条带的数据块个数与校验块个数的比一致,在写入数据条带时,第一存储池与第二存储池会以相同比例消耗,从而使分布式存储系统能够尽可能多地存储数据条带,存储能力最大化。
需要说明的是,上述的第一存储池的读写速度大于第二存储池的读写速度的配置,以及第一存储池与第二存储池的容量比与预设比值一致的配置可以根据分布式存储系统的具体软件架构实现,例如,在GlusterFS分布式存储系统中可以利用DHT(DistributedHash Table,分布式哈希表)算法实现,在Ceph分布式存储系统中可以利用CRUSH算法实现。
请参照图3,图3为本申请实施例所提供的数据更新方法的一种流程示意图。该方法的执行主体可以是上述分布式存储系统中的任一存储节点,该方法包括以下步骤:
S110,当数据条带存在待更新数据块时,根据待更新数据块以及数据条带确定待读取数据块;
其中,待读取数据块的个数小于或等于保留数据块的个数;保留数据块为数据条带中除待更新数据块之外的数据块,数据条带为基于纠删码配置的存储数据。
在本实施例中,当数据条带存在待更新数据块时,总是可以根据待更新数据块以及数据条带从数据条带的数据块中选取确定出待读取数据块,并且该待读取数据块的个数满足小于或等于保留数据块的个数的条件,以及能够根据该待读取数据块对数据条带进行更新。具体的,以图1所示的待更新数据条带为例,当使用更新数据块d1、d2对该数据条带中的数据块D1、D2进行更新时,可以将待更新数据块以及校验块作为待读取数据块,以实现对数据条带的更新;当使用更新数据块d1、d2、d3、d4、d5对该数据条带中的数据块D1-D5进行更新时,可以将保留数据块作为待读取数据块,以实现对数据条带的更新。从而确保待读取数据块的个数小于或等于保留数据块的个数,使得待读取数据块的个数尽可能地少,即读取待读取数据块次数尽可能少。
S120,读取待读取数据块,并根据待读取数据块对数据条带进行更新。
在本实施例中,当数据条带存在待更新数据块时,由于确定的待读取数据块的个数小于或等于保留数据块的个数,然后读取待读取数据块,并根据待读取数据块对数据条带进行更新。从而保证每次在进行数据条带更新时,能够尽可能少地进行读写,进而解决纠删码的写放大问题。
在图3的基础上,下面给出一种完整方案可能的实现方式,具体请参照图4,图4为本申请实施例所提供的数据更新方法的另一种流程示意图。需要说明的是,本发明实施例提供的数据更新方法并不以图4以及以下的具体顺序为限制,应当理解,在其它实施例中,本发明实施例提供的数据更新方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。下面将对图4所示的具体流程进行详细阐述。
S111,判断待更新数据块的个数与预设数值之和是否小于保留数据块的个数;预设数值大于或等于数据条带的校验块的个数且小于数据条带的数据块的个数。当待更新数据块的个数与预设数值之和小于保留数据块的个数时,则执行S112;当待更新数据块的个数与预设数值之和大于或等于保留数据块的个数时,则执行S113。
对于S111中的数据条带,以图2所示的分布式存储系统为例,该数据条带的数据块可以存储在第二存储池中,数据条带的校验块可以存储在第一存储池中,其中,第一存储池的读写速度大于第二存储池的读写速度。也即是说,当接收到一个待存储的数据条带时,可以将待存储的数据条带的数据块存储至第二存储池,将待存储的数据条带的校验块存储至第一存储池。
需要注意的是,当需要更新数据条带的全部数据块,即当数据条带存在待更新数据块的个数为数据条带的数据块个数时,不需要对数据条带中的数据块和校验块进行读取,只将更新数据块以及根据更新数据块计算出的校验块直接写入即可。因此,在本实施例中,待更新数据块的个数的范围可以是属于小于数据条带的数据块个数的正整数集合。
进一步的,为了尽可能将在对数据条带进行更新时所引起的额外的读写请求转化到第一存储池完成,以利用第一存储池读写速度更快的特点提升数据条带更新的速度,方法还可以包括:S100,当待更新数据块的个数大于或等于预设阈值时,从数据条带的校验块中选取至少n个校验块作为待读取数据块;其中,预设阈值为数据条带的数据块的个数与校验块的个数的差值,n为保留数据块的个数。
在一种可能的实施方式中,S100可以在S111之前执行,如图5所示,方法具体可以包括:
S100-1A,判断待更新数据块的个数是否大于或等于预设阈值;当待更新数据块的个数大于或等于预设阈值时,执行S100-2A;否则,执行S111;
S100-2A,从数据条带的校验块中选取至少n个校验块作为待读取数据块;其中,预设阈值为数据条带的数据块的个数与校验块的个数的差值,n为保留数据块的个数。
在另一种可能的实施方式中,S100可以在S111之后执行,如图6所示,当S111的判断结果为待更新数据块的个数与预设数值之和大于或等于保留数据块的个数时,方法具体可以包括:
S100-1B,判断待更新数据块的个数是否大于或等于预设阈值;当待更新数据块的个数大于或等于预设阈值时,执行S100-2B;否则,执行S112;
S100-2B,从数据条带的校验块中选取至少n个校验块作为待读取数据块;其中,预设阈值为数据条带的数据块的个数与校验块的个数的差值,n为保留数据块的个数。
在本实施例中,假设数据条带的数据块个数与校验块个数的比为N:M,则预设阈值为N-M的值。假设待更新数据块的个数为K,则待更新数据块的个数大于或等于预设阈值可以表示为K>=(N-M)。从而,S100又可以表述为,当K>=(N-M)时,可以从数据条带的校验块中选取至少n个校验块作为待读取数据块。由于保留数据块的个数即为数据条带的数据块个数与待更新数据块的差值即N-K,从而n为N-K。由K>=(N-M)可知,M>=(N-K)。从而,当K>=(N-M)时,从数据条带的校验块中选取至少n个校验块作为待读取数据块是可行的。
其中,对于S100中的数据条带,以图2所示的分布式存储系统为例,该数据条带的数据块可以存储在第二存储池中,数据条带的校验块可以存储在第一存储池中,其中,第一存储池的读写速度大于第二存储池的读写速度。也即是说,当接收到一个待存储的数据条带时,可以将待存储的数据条带的数据块存储至第二存储池,将待存储的数据条带的校验块存储至第一存储池。
需要说明的是,在实际应用中,S100可以在S111之前执行,也可以在S111之后执行,或者与S111并行执行,本申请实施例对此不做限定。
S112,将待更新数据块与校验块作为待读取数据块。
S113,将保留数据块作为待读取数据块。
在本实施例中,待更新数据块的个数与预设数值之和大于保留数据块的个数(条件A)时,也可能满足待更新数据块的个数大于或等于预设阈值的条件(条件B),此时,既可以将保留数据块作为待读取数据块,也可以从校验块中选取至少n个校验块作为待读取数据块。由于本申请实施例提供的分布式存储系统的存储节点将待存储的数据条带的数据块存储至第二存储池,将待存储的数据条带的校验块存储至第一存储池,并且可以配置第一存储池的读写速度大于第二存储池的读写速度。因此,作为一种可选的实施方式,当同时满足条件A和条件B时,则从数据条带的校验块中选取至少n个校验块作为待读取数据块(即执行S100-2A)。进而能够更快地响应数据读写需求,提升分布式存储系统的读写性能(IOPS性能)。
S120,读取待读取数据块,并根据待读取数据块对数据条带进行更新。
在本实施例中,存储节点读取待读取数据块,并根据待读取数据块以及与待更新数据块对应的更新数据块对数据条带进行更新。具体的,存储节点首先读取出待读取数据块,然后根据该待读取数据块以及更新数据块计算出更新校验块,最后将更新数据块以及更新校验块写入其对应的存储位置,从而完成数据条带的更新。
进一步的,S120具体可以包括:当读取的待读取数据块为待更新数据块与校验块时,根据待更新数据块、校验块以及与待更新数据块对应的更新数据块对数据条带进行更新。其中,对数据条带进行更新具体可以根据如下第一公式计算出更新校验块,并将更新数据块以及更新校验块写入其对应的存储位置以完成数据条带的更新:
其中,当数据条带的数据块个数与校验块个数的比为N:M时,i为不大于M的正整数,S表示待更新数据块的集合,T表示保留数据块的集合,Dj`表示更新数据块,Dj表示数据条带的数据块,Bij表示用于计算校验块的预设数据,例如,Bij可以是伽罗华域(Galois Field)中的用于计算校验块的预设数据,Pi表示数据条带的校验块,Pi`表示计算出的更新校验块;
当读取的待读取数据块为至少n个校验块时,根据至少n个校验块以及与待更新数据块对应的更新数据块对数据条带进行更新。具体的,根据读取的至少n个校验块以及更新数据块计算出更新校验块,并根据更新数据块以及更新校验块对数据条带进行更新,其中,可以基于纠删码的恢复原理,根据读取的至少n个校验块以及更新数据块计算出更新校验块,然后根据更新数据块以及更新校验块对数据条带进行更新。
当读取的待读取数据块为保留数据块时,根据保留数据块以及与待更新数据块对应的更新数据块对数据条带进行更新。其中,对数据条带进行更新具体可以根据如下第二公式计算出更新校验块,并将更新数据块以及更新校验块写入其对应的存储位置以完成数据条带的更新:
其中,当数据条带的数据块个数与校验块个数的比为N:M时,i为不大于M的正整数,S表示待更新数据块的集合,T表示保留数据块的集合,Dj`表示更新数据块,Dj表示数据条带的数据块,Bij表示用于计算校验块的预设数据,例如,Bij可以是伽罗华域(Galois Field)中的用于计算校验块的预设数据,Pi`表示计算出的更新校验块。
可以理解,由于在本申请所提供的数据更新方法中,存储节点在进行数据条带的更新时,通过判断待更新数据块的个数所满足的条件,能够实现待更新数据块的个数在全取值范围都能确定并读取个数最少的待读取数据块。而现有的数据条带更新方法未实现待更新数据块的个数所满足的条件的判断,以及未实现待更新数据块的个数在全取值范围时都能确定并读取个数最少的待读取数据块,故本申请所提供的方法实施例能够实现减少额外的数据读取,达到提升数据读写性能的目的,进而解决纠删码的写放大问题的有益效果。
下面,以图1所示的待更新数据条带为例,结合实际应用对上述S111-S120做进一步解释说明。
由于数据块的个数为8,校验块的个数为2,则预设阈值为6,并可以假设预设数值为2。当数据条带存在待更新数据块,即存储节点获得与待更新数据块对应的更新数据块时,判断待更新数据块的个数是否满足以下条件:
条件1、待更新数据块的个数与预设数值之和小于保留数据块的个数。
条件2、待更新数据块的个数大于或等于预设阈值。
请再参照图1,D1-D8为数据条带的数据块,P1、P2为校验块,d1、d2为与待更新数据块对应的更新数据块。其中,D1、D2为待更新数据块,D3-D8为保留数据块,则可以确定待更新数据块的个数为2,保留数据块的个数为7。由于2+2<7且2<6,故确定满足条件1,根据上述的第一公式计算出更新校验块,并将更新数据块以及更新校验块写入其对应的存储位置以完成数据条带的更新。
在另一情况下,如图7所示,D1-D8为数据条带的数据块,P1、P2为校验块,d1-d5为与待更新数据块对应的更新数据块。其中,D1-D5为待更新数据块,D6-D8为保留数据块,则可以确定待更新数据块的个数为5,保留数据块的个数为3。由于5+2>3且5<6,故确定即不满足条件1也不满足条件2,此时根据上述第二公式计算出更新校验块,并将更新数据块以及更新校验块写入其对应的存储位置以完成数据条带的更新。
在另一情况下,如图8所示,D1-D8为数据条带的数据块,P1、P2为校验块,d1-d6为与待更新数据块对应的更新数据块。其中,D1-D6为待更新数据块,D7-D8为保留数据块,则可以确定待更新数据块的个数为6,保留数据块的个数为2。由于6+2>2且6>=6,故确定满足条件2,此时数据条带的更新包括两种方式:方式1、可以根据上述第二公式计算出更新校验块,并将更新数据块以及更新校验块写入其对应的存储位置,完成数据条带的更新;方式2、可以从已存储的数据条带中选取至少n个校验块,并根据至少n个校验块以及与待更新数据块对应的更新数据块对数据条带进行更新。
在实际应用中,上述方式1与方式2所引起的额外读写次数一致。但由于本申请实施例提供的分布式存储系统的存储节点将待存储的数据条带的数据块存储至第二存储池,将待存储的数据条带的校验块存储至第一存储池,并且可以配置第一存储池的读写速度大于第二存储池的读写速度。从而优选的,当满足上述条件2时,从已存储的数据条带中选取至少n个校验块,并根据至少n个校验块以及与待更新数据块对应的更新数据块对数据条带进行更新(执行方式2)。从而能够更快地响应数据读写需求,提升分布式存储系统的读写性能(IOPS性能)。
进一步的,请参照下表1,为本申请实施例所提供的数据更新方法与现有数据更新方法的额外读写次数比较表,以进一步阐述本申请所提供的数据方法的有益效果。其中,S1表示现有技术中的第一种方法,基于更新数据块、待更新数据块以及数据条带的校验块进行更新。S2表示现有技术中的第二种方法,基于更新数据块和保留数据块进行更新。
表1
基于上述表1,可以清楚地知道,本申请所提供的数据更新方法具有能够减少额外的数据读取,达到提升数据读写性能的目的,进而解决纠删码的写放大问题的有益效果。
进一步的,本申请还提供另一种数据更新方法,假设数据条带的数据块个数与校验块个数的比为N:M,该方法具体包括步骤如下:
S1,当待更新数据块的个数小于时,则将待更新数据块与校验块作为待读取数据块,根据上述第一公式计算出更新校验块,并将更新数据块以及更新校验块写入其对应的存储位置以完成数据条带的更新;其中,[x]表示对x取整,例如,
S2,当待更新数据块的个数大于或等于时,确定待更新数据块的个数是否大于或等于N-M。
S3,当待更新数据块的个数大于或等于且待更新数据块的个数大于或等于N-M时,则从数据条带的校验块中读取至少n个校验块,并根据至少n个校验块以及与待更新数据块对应的更新数据块对数据条带进行更新。其中,n为保留数据块的个数。
S4,当待更新数据块的个数大于或等于且待更新数据块的个数小于N-M时,则将保留数据块作为待读取数据块,根据上述第二公式计算出更新校验块,并将更新数据块以及更新校验块写入其对应的存储位置以完成数据条带的更新。
进而可以理解,只需要根据待更新数据块以及数据条带确定待读取数据块的个数满足小于或等于保留数据块的个数的条件,总是能从待更新的数据条带中确定出能够对待更新数据块进行更新的待读取数据块。因此,本申请实施例对如何选取待读取数据块的判断条件并不做限制,在实际应用中可以根据实际情况对如何选取待读取数据块的判断条件进行合理设置。
与现有技术相比,本申请实施例具有以下有益效果:
首先,由于确定的待读取数据块的个数小于或等于保留数据块的个数,然后读取待读取数据块,使得在实现对数据条带更新的过程中,额外的数据读取次数尽可能地减少,提升数据条带更新时的数据读写性能,进而解决了纠删码的写放大问题。具体的,根据待更新数据块个数的不同,选择不同的读取方式,达到减少读取次数,提高读取速度的效果,从而获得较高的数据读写性能。
然后,在分布式存储系统中,通过第一存储池、第二存储池的容量和读写速度的配置,并利用第一存储池读写速度高的特点,在对数据条带进行更新时,尽量减少对数据块的读请求,从而提升数据条带的写入性能,并且由于第二存储池的读写性能低于第一存储池,而读写性能低的存储介质成本较低,从而本申请所提供的实施例还具有降低成本的效果。
最后,结合上述数据更新方法以及对分布式存储系统的存储容量和读写速度的配置,以尽量小的读取代价完成校验块的计算,达到减少读取次数,提高读取速度的效果,从而获得较高的数据读写性能。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种数据更新装置的实现方式,请参阅图9,图9为本发明实施例提供的一种数据更新装置的功能模块图。需要说明的是,本实施例所提供的数据更新装置200,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该数据更新装置200包括:确定模块210、更新模块220。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图1所示的存储节点110的存储器中或固化于该存储节点110的操作系统(Operating System,OS)中,并可由存储节点110中的处理器执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储节点110的存储器中。
确定模块210用于当数据条带存在待更新数据块时,根据待更新数据块以及数据条带确定待读取数据块;
其中,待读取数据块的个数小于或等于保留数据块的个数;保留数据块为数据条带中除待更新数据块之外的数据块,数据条带为基于纠删码配置的存储数据。
可以理解的是,确定模块210可以执行上述S110。
在本实施例中,确定模块210还用于判断待更新数据块的个数与预设数值之和是否小于保留数据块的个数;预设数值大于或等于数据条带的校验块的个数且小于数据条带的数据块的个数。其中,数据条带的数据块可以存储在第二存储池中,数据条带的校验块可以存储在第一存储池中,其中,第一存储池的读写速度大于第二存储池的读写速度。
可以理解的是,确定模块210可以执行上述S111。
进一步的,当待更新数据块的个数与预设数值之和小于保留数据块的个数时,确定模块210还用于将待更新数据块与校验块作为待读取数据块。当待更新数据块的个数与预设数值之和大于或等于保留数据块的个数时,确定模块210还用于将保留数据块作为待读取数据块。
可以理解的是,确定模块210可以执行上述S112、S113。
在一种可选的实施例中,确定模块210还用于判断待更新数据块的个数是否大于或等于预设阈值;当待更新数据块的个数大于或等于预设阈值时,从数据条带的校验块中选取至少n个校验块作为待读取数据块;其中,预设阈值为数据条带的数据块的个数与校验块的个数的差值,n为保留数据块的个数。
可以理解的是,确定模块210可以执行上述S100-1A、S100-2A。
在一种可选的实施例中,确定模块210还用于判断待更新数据块的个数是否大于或等于预设阈值;当待更新数据块的个数大于或等于预设阈值时,从数据条带的校验块中选取至少n个校验块作为待读取数据块;其中,预设阈值为数据条带的数据块的个数与校验块的个数的差值,n为保留数据块的个数。
可以理解的是,确定模块210可以执行上述S100-1B、S100-2B。
在本实施例中,本申请提供的数据更新装置200可以应用于图2中的任一存储节点。第一存储池与第二存储池的容量比与预设比值一致;其中,预设比值为数据条带的数据块个数与校验块个数的比。
请参照图10,图10示出了本申请实施例提供的存储节点的方框示意图。在本发明实施例中,存储节点可以是图2中任意一个存储节点110,存储节点110可以是,但不限于,主机、实体服务器等能提供与所述服务器或者虚拟机有相同功能的实体的服务端。存储节点110的操作系统可以是,但不限于,Windows系统、Linux系统等。所述存储节点110包括存储器111、通信接口112、处理器113和总线114,所述存储器111、通信接口112和处理器113通过总线114连接,处理器113用于执行存储器111中存储的可执行模块,例如计算机程序。
其中,存储器111可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口112(可以是有线或者无线)实现该存储节点110与至少一个其他存储节点、以及外部存储设备之间的通信连接。
总线114可以是ISA总线、PCI总线或EISA总线等。图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器111用于存储程序,所述处理器113在接收到执行指令后,执行所述程序以实现本发明上述实施例揭示的数据更新方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器113执行时实现上述实施例揭示的数据更新方法。
应当理解的是,图10所示的结构仅为存储节点110的结构示意图,所述存储节点110还可包括比图10中所示更多或者更少的组件,或者具有与图10所示不同的配置。图10中所示的各组件可以采用硬件、软件或其组合实现。
综上所述,本发明实施例所提供的数据更新方法及相关装置。该方法包括:当数据条带存在待更新数据块时,根据待更新数据块以及数据条带确定待读取数据块;其中,待读取数据块的个数小于或等于保留数据块的个数;保留数据块为数据条带中除待更新数据块之外的数据块,数据条带为基于纠删码配置的存储数据;读取待读取数据块,并根据待读取数据块对数据条带进行更新。由于确定的待读取数据块的个数小于或等于保留数据块的个数,故每次在对数据条带进行更新时,对待读取数据块的读取次数均小于或等于保留数据块的个数,保证了在对数据条带进行更新时,能够减少额外的数据读取,达到提升数据读写性能的目的。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

Claims (10)

1.一种数据更新方法,其特征在于,所述方法包括:
当数据条带存在待更新数据块时,根据所述待更新数据块以及所述数据条带确定待读取数据块;
其中,所述待读取数据块的个数小于或等于保留数据块的个数;所述保留数据块为所述数据条带中除所述待更新数据块之外的数据块,所述数据条带为基于纠删码配置的存储数据;
读取所述待读取数据块,并根据所述待读取数据块对所述数据条带进行更新。
2.根据权利要求1所述的方法,其特征在于,所述数据条带的数据块存储在第二存储池中,所述数据条带的校验块存储在第一存储池中;所述第一存储池的读写速度大于所述第二存储池的读写速度。
3.根据权利要求1或2所述的方法,其特征在于,所述当数据条带存在待更新数据块时,根据所述待更新数据块以及所述数据条带确定待读取数据块的步骤包括:
判断所述待更新数据块的个数与预设数值之和是否小于所述保留数据块的个数;所述预设数值大于或等于所述数据条带的校验块的个数且小于所述数据条带的数据块的个数;
当所述待更新数据块的个数与预设数值之和小于所述保留数据块的个数时,则将所述待更新数据块与所述校验块作为所述待读取数据块;
当所述待更新数据块的个数与预设数值之和大于或等于所述保留数据块的个数时,则将所述保留数据块作为所述待读取数据块。
4.根据权利要求2所述的方法,其特征在于,所述当数据条带存在待更新数据块时,根据所述待更新数据块以及所述数据条带确定待读取数据块的步骤包括:
当所述待更新数据块的个数大于或等于预设阈值时,从所述数据条带的校验块中选取至少n个校验块作为所述待读取数据块;
其中,所述预设阈值为所述数据条带的数据块的个数与所述校验块的个数的差值,所述n为所述保留数据块的个数。
5.根据权利要求4所述的方法,其特征在于,所述第一存储池与所述第二存储池的容量比与预设比值一致;其中,所述预设比值为所述数据条带的数据块个数与校验块个数的比。
6.一种数据更新装置,其特征在于,包括:
确定模块,用于当数据条带存在待更新数据块时,根据所述待更新数据块以及所述数据条带确定待读取数据块;
其中,所述待读取数据块的个数小于或等于保留数据块的个数;所述保留数据块为所述数据条带中除所述待更新数据块之外的数据块,所述数据条带为基于纠删码配置的存储数据;
更新模块,用于读取所述待读取数据块,并根据所述待读取数据块对所述数据条带进行更新。
7.根据权利要求6所述的装置,其特征在于,所述数据条带的数据块存储在第二存储池中,所述数据条带的校验块存储在第一存储池中;所述第一存储池的读写速度大于所述第二存储池的读写速度。
8.一种存储节点,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现如权利要求1-5任一所述的数据更新方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的数据更新方法。
10.一种分布式存储系统,其特征在于,所述分布式存储系统包括多个存储节点,所述多个存储节点中的任一存储节点用于在运行时实现如权利要求1-5中任一项所述的数据更新方法。
CN201910722687.2A 2019-08-06 2019-08-06 一种数据更新方法及相关装置 Active CN110568993B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910722687.2A CN110568993B (zh) 2019-08-06 2019-08-06 一种数据更新方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910722687.2A CN110568993B (zh) 2019-08-06 2019-08-06 一种数据更新方法及相关装置

Publications (2)

Publication Number Publication Date
CN110568993A true CN110568993A (zh) 2019-12-13
CN110568993B CN110568993B (zh) 2022-04-12

Family

ID=68774675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910722687.2A Active CN110568993B (zh) 2019-08-06 2019-08-06 一种数据更新方法及相关装置

Country Status (1)

Country Link
CN (1) CN110568993B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022179377A1 (zh) * 2021-02-25 2022-09-01 浪潮电子信息产业股份有限公司 一种raid 5校验值的更新方法、装置和介质
CN115543215A (zh) * 2022-11-28 2022-12-30 苏州浪潮智能科技有限公司 数据写操作、数据读操作方法、装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219752B1 (en) * 1997-08-08 2001-04-17 Kabushiki Kaisha Toshiba Disk storage data updating method and disk storage controller
US20060107127A1 (en) * 2004-11-03 2006-05-18 Jong-Yeol Park Data management technique for improving data reliability
CN102546755A (zh) * 2011-12-12 2012-07-04 华中科技大学 云存储系统的数据存储方法
US20130117516A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Staged Deduplication
US8612680B1 (en) * 2010-06-30 2013-12-17 Emc Corporation Data caching system and method
CN106445726A (zh) * 2016-09-28 2017-02-22 上海爱数信息技术股份有限公司 一种分布式纠删码存储系统的数据修复方法
CN107094186A (zh) * 2017-06-15 2017-08-25 深圳市云舒网络技术有限公司 一种分布式存储系统的纠删码优化方法
WO2017206436A1 (zh) * 2016-06-03 2017-12-07 杭州海康威视数字技术股份有限公司 网络硬盘空间的回收方法、装置和系统
WO2018001110A1 (zh) * 2016-06-29 2018-01-04 中兴通讯股份有限公司 一种基于纠删码的存储数据重构方法和装置、存储节点

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219752B1 (en) * 1997-08-08 2001-04-17 Kabushiki Kaisha Toshiba Disk storage data updating method and disk storage controller
US20060107127A1 (en) * 2004-11-03 2006-05-18 Jong-Yeol Park Data management technique for improving data reliability
US8612680B1 (en) * 2010-06-30 2013-12-17 Emc Corporation Data caching system and method
US20130117516A1 (en) * 2011-11-07 2013-05-09 Nexgen Storage, Inc. Primary Data Storage System with Staged Deduplication
CN102546755A (zh) * 2011-12-12 2012-07-04 华中科技大学 云存储系统的数据存储方法
WO2017206436A1 (zh) * 2016-06-03 2017-12-07 杭州海康威视数字技术股份有限公司 网络硬盘空间的回收方法、装置和系统
WO2018001110A1 (zh) * 2016-06-29 2018-01-04 中兴通讯股份有限公司 一种基于纠删码的存储数据重构方法和装置、存储节点
CN106445726A (zh) * 2016-09-28 2017-02-22 上海爱数信息技术股份有限公司 一种分布式纠删码存储系统的数据修复方法
CN107094186A (zh) * 2017-06-15 2017-08-25 深圳市云舒网络技术有限公司 一种分布式存储系统的纠删码优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MYRA B. COHEN等: "Steiner triple systems as multiple erasure correcting codes in large disk arrays", 《CONFERENCE PROCEEDINGS OF THE 2000 IEEE INTERNATIONAL PERFORMANCE, COMPUTING, AND COMMUNICATIONS CONFERENCE》 *
那文武等: "一种优化的小写操作RAID6算法", 《计算机工程》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022179377A1 (zh) * 2021-02-25 2022-09-01 浪潮电子信息产业股份有限公司 一种raid 5校验值的更新方法、装置和介质
CN115543215A (zh) * 2022-11-28 2022-12-30 苏州浪潮智能科技有限公司 数据写操作、数据读操作方法、装置

Also Published As

Publication number Publication date
CN110568993B (zh) 2022-04-12

Similar Documents

Publication Publication Date Title
US9740403B2 (en) Methods for managing storage in a data storage cluster with distributed zones based on parity values and devices thereof
US8947988B2 (en) Efficient access to storage devices with usage bitmaps
WO2013080464A1 (en) Optimizing migration/copy of de-duplicated data
KR101729636B1 (ko) 파일 처리 방법 및 저장 디바이스
CN110568993B (zh) 一种数据更新方法及相关装置
KR101285900B1 (ko) 컨트롤러, 기억 장치, 및 컴퓨터 판독 가능한 매체
CN104583930A (zh) 数据迁移的方法、控制器和数据迁移装置
CN110413454B (zh) 基于存储阵列的数据重建方法、装置及存储介质
US10579540B2 (en) Raid data migration through stripe swapping
US20170270000A1 (en) Method for storage management and storage device
CN104750432A (zh) 一种数据存储方法及装置
US9892004B2 (en) Space efficient persistence of an in-memory table
US20180032433A1 (en) Storage system and data writing control method
KR20150035876A (ko) 데이터 중복 제거 방법 및 장치
US9223652B2 (en) Triple parity encoding to facilitate data recovery
CN110658994B (zh) 一种基于hdd和ssd混合磁盘阵列的数据处理方法及装置
US9977599B2 (en) Data deduplication with support for both thick and thin provisioning of storage objects
US11561859B2 (en) Method, device and computer program product for managing data
CN111124257A (zh) 用于管理独立盘冗余阵列的方法、设备和计算机程序产品
CN111857560B (zh) 用于管理数据的方法、设备和计算机程序产品
US20240103722A1 (en) Metadata management for transparent block level compression
US11403186B1 (en) Accelerating backup by writing to performance ranked memory
US10430124B1 (en) Disk managing method and raid controller
CN115599314B (zh) 数据冗余策略变更方法、装置、存储节点和存储介质
US8225040B1 (en) Systems and methods for redundant data storage

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