CN113282238B - 归档数据的存储方法、系统、设备和介质 - Google Patents

归档数据的存储方法、系统、设备和介质 Download PDF

Info

Publication number
CN113282238B
CN113282238B CN202110556538.0A CN202110556538A CN113282238B CN 113282238 B CN113282238 B CN 113282238B CN 202110556538 A CN202110556538 A CN 202110556538A CN 113282238 B CN113282238 B CN 113282238B
Authority
CN
China
Prior art keywords
data
region
allocated
area
blob
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
CN202110556538.0A
Other languages
English (en)
Other versions
CN113282238A (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.)
Ucloud Technology Co ltd
Original Assignee
Ucloud Technology Co ltd
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 Ucloud Technology Co ltd filed Critical Ucloud Technology Co ltd
Priority to CN202110556538.0A priority Critical patent/CN113282238B/zh
Publication of CN113282238A publication Critical patent/CN113282238A/zh
Application granted granted Critical
Publication of CN113282238B publication Critical patent/CN113282238B/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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools

Abstract

本发明特别涉及归档数据的存储方法、系统、设备和介质。本发明的方法包括:接收归档数据写入请求,以将所述归档数据分配到相应的二进制大对象,使得所述归档数据被写入同一磁盘组的一个或多个磁盘的区域数据区域的一个或多个区域中;接收二进制大对象密封请求,以密封相应的所述二进制大对象,使得写入的所述一个或多个区域的区域元数据被写入同一磁盘组的所述一个或多个磁盘的区域元数据区域中。本发明可以实现归档数据的大容量存储,具有高可靠与低成本的特性,与现有背景技术相比在存储成本、易用性、数据取回时限间达到了更好的平衡,同时取得了比现有背景技术数据更高的数据可靠性。

Description

归档数据的存储方法、系统、设备和介质
技术领域
本发明特别涉及归档数据的存储方法、系统、设备和介质。
背景技术
随着数据时代的到来,海量数据存储需求越来越大,这些数据中有很大比例属于访问频率较低的归档数据,此类数据的特征为:(1)单文件体积相对较大,部分原始数据本身就具有此特性,如视频监控数据,其他小文件在写入存储系统前一般也会进行聚合,压缩为单个大文件后再写入;(2)归档数据单次写入后不需要再次修改;(3)归档数据一般都需要长时间保存,且写入后读取频率较低;(4)对归档数据的取回时限容忍度相对较高,不过也存在少量需要能实时取回的需求。
针对此类归档数据的存储系统,目前业界的主流解决方案为磁带库或标准对象存储系统。
磁带库可提供极低的单位GB存储成本,然而磁带库存储系统存在以下缺陷:(1)初期建设成本过高,磁带库作为一套复杂存储系统,搭建一套最小单元的存储系统也需要一次性投入大量资金以购置整套专用硬件;(2)磁带库对机房空间、温湿度等有很高要求,过高或过低的温湿度均会导致磁带粘连,进而影响数据可用性及可靠性;(3)磁带库的软硬件架构不同于通用服务器,其软件研发及运维工作存在较大难度,易用性不佳;(4)磁带库对于响应实时读取请求存在较大困难与挑战,由于在一套完整的磁带库存储系统中,磁带机的数量是有限的,因此无法对所有磁带进行并行读写,故很难满足实时读取数据的需求。以上诸多因素使得磁带库无法得到大规模应用,也无法满足需要能实时取回的归档数据的存储需求。
除磁带库外,目前业界也会使用标准对象存储系统来保存归档数据,主流标准对象存储系统基于通用服务器搭建而成,该存储系统最终会将数据写入机械硬盘(HDD,HardDisk Drive),并通过多副本技术实现数据的高可靠存储。使用标准对象存储系统来保存归档数据的主要缺陷在于其单位GB成本较高,具体原因如下:(1)单台通用服务器可连接的磁盘数量有限,一般在20余块盘以下,这就导致整个存储系统的磁盘密度受到制约;(2)存储系统中的CPU等计算资源与硬盘存储资源存在耦合关系,系统扩容时无法在不增加计算资源的情况下灵活地增加存储资源容量;(3)主流标准对象存储系统使用的多副本技术存在较大的空间浪费,以三副本为例,磁盘空间使用率仅为33%;(4)主流标准对象存储系统使用的硬盘为传统磁记录(CMR,Conventional Magnetic Recording)硬盘,此类硬盘与叠瓦式磁记录(SMR,Shingled Magnetic Recording)硬盘相比存储密度略低,因此单位GB成本高于SMR硬盘。
此外,无论是磁带库还是标准对象存储系统均无法很好地处理静默数据损坏(silent data corruption)问题,这对于需要长期保存的归档数据来说,存在较高的数据可靠性风险。
综上所述,已有技术均存在一定的缺陷,其无法完全满足归档数据的存储需求。
发明内容
本发明的目的在于提供归档数据的存储方法、系统、设备和介质,可以实现归档数据的大容量存储,具有高可靠与低成本的特性,与现有背景技术相比在存储成本、易用性、数据取回时限间达到了更好的平衡,同时取得了比现有背景技术数据更高的数据可靠性。
本发明公开了一种归档数据的存储方法,所述方法用于归档数据的存储系统,所述系统包括一个或多个磁盘簇,每个磁盘簇包括一个或多个磁盘,所有磁盘被划分为一个或多个磁盘组,每个磁盘包括区域数据区域和区域元数据区域,并且所述方法包括:
接收归档数据写入请求,以将所述归档数据分配到相应的二进制大对象,使得所述归档数据被写入同一磁盘组的一个或多个磁盘的区域数据区域的一个或多个区域中;
接收二进制大对象密封请求,以密封相应的所述二进制大对象,使得写入的所述一个或多个区域的区域元数据被写入同一磁盘组的所述一个或多个磁盘的区域元数据区域中。
可选地,所述方法还包括:
接收二进制大对象申请请求,以生成所述二进制大对象的通用唯一识别码、所述二进制大对象的长度、数据块的数量、检验块的数量和块的长度;
基于数据块的数量和检验块的数量来确定磁盘的数量,并且在同一磁盘组上分配磁盘;
基于所述二进制大对象的长度、数据块的数量和区域的长度来确定区域的数量,并且在分配的磁盘的区域数据区域上分配区域;
将所述二进制大对象的上下文信息写入内存中,所述二进制大对象的所述上下文信息包括所述二进制大对象的通用唯一识别码、数据块的数量、检验块的数量、块的长度、分配的磁盘信息、分配的区域信息和所述二进制大对象的长度。
可选地,接收归档数据写入请求,以将所述归档数据分配到相应的二进制大对象进一步包括:
接收所述归档数据写入请求,所述归档数据写入请求包括相应的所述二进制大对象的通用唯一识别码,以查找相应的所述二进制大对象的上下文信息;
基于相应的所述二进制大对象的所述上下文信息来确定数据块的数量、检验块的数量、块的长度、分配的磁盘信息、分配的区域信息和所述二进制大对象的长度;
对所述归档数据进行条带化以生成相应数量的数据块,并且对所述数据块进行编码化以生成相应数量的检验块;
将所述数据块和所述检验块写入同一磁盘组上分配的磁盘的区域数据区域中分配的区域中;
更新相应的所述二进制大对象的所述上下文信息中的所述二进制大对象的长度,并且写入内存中。
可选地,所述方法还包括:
接收归档数据读取请求,所述归档数据读取请求包括二进制大对象的通用唯一识别码,以查找所述二进制大对象的上下文信息;
基于所述二进制大对象的所述上下文信息,并且基于所述归档数据读取请求包括的偏移及长度,从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取相应的数据块;
如果相应的数据块未全部读取成功,则从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取相应的检验块。
可选地,所述方法还包括:
接收归档数据删除请求,所述归档数据删除请求包括二进制大对象的通用唯一识别码,以查找所述二进制大对象的上下文信息;
基于所述二进制大对象的所述上下文信息,从同一磁盘组上分配的磁盘中分配的数据存储区域中删除相应的数据块和检验块;
从内存中删除所述二进制大对象的所述上下文信息。
可选地,区域的区域元数据包括所述区域的识别码、所述区域的当前状态、所述区域的长度、所述区域所属的二进制大对象的上下文信息。
可选地,在分配的磁盘的区域数据区域上分配区域进一步包括:
从分配的磁盘上处于空闲状态的区域中分配区域;
更新分配的所述区域的区域元数据,以将分配的所述区域的当前状态设置为使用中状态,并且写入所属的二进制大对象的上下文信息;
发送分配的所述区域的识别码。
可选地,每个区域包括一个或多个数据段和相应的段元数据段,所述段元数据段包括相应的数据段中的当前数据的校验值,并且将所述数据块和所述检验块写入同一磁盘组上分配的磁盘的区域数据区域中分配的区域中进一步包括:
基于分配的所述区域的识别码来寻找分配的所述区域的区域元数据;
基于分配的所述区域的数据段的大小,将写入的所述数据块或所述检验块拆分为一段或多段数据;
将每段数据写入数据段,并且计算每段数据的校验值以更新相应的段元数据段中的校验值;
更新分配的所述区域的所述区域元数据中的区域的长度。
可选地,接收二进制大对象密封请求,以密封相应的所述二进制大对象进一步包括:
将分配的所述区域的当前状态设置为已密封状态;
将更新的所述区域元数据写入分配的所述区域的区域元数据区域中。
可选地,从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取数据块进一步包括:
基于分配的所述区域的识别码来寻找分配的所述区域的区域元数据;
从分配的所述区域的数据段中读取数据,并且从相应的段元数据段中读取校验值;
校验所述数据与所述校验值是否一致,并且当两者一致时发送所述数据。
可选地,从同一磁盘组上分配的磁盘中分配的数据存储区域中删除相应的数据块和检验块进一步包括:
基于分配的所述区域的识别码来寻找分配的所述区域的区域元数据;
从分配的所述区域的数据段中删除数据,并且从相应的段元数据段中删除校验值;
将分配的所述区域的当前状态设置为空闲状态。
本发明公开了一种归档数据的存储系统,所述系统包括一个或多个磁盘簇,每个磁盘簇包括一个或多个磁盘,所有磁盘被划分为一个或多个磁盘组,每个磁盘包括区域数据区域和区域元数据区域,并且所述系统还包括:
归档数据写入单元,接收归档数据写入请求,以将所述归档数据分配到相应的二进制大对象,使得所述归档数据被写入同一磁盘组的一个或多个磁盘的区域数据区域的一个或多个区域中;
二进制大对象密封单元,接收二进制大对象密封请求,以密封相应的所述二进制大对象,使得写入的所述一个或多个区域的区域元数据被写入同一磁盘组的所述一个或多个磁盘的区域元数据区域中。
本发明公开了一种计算机设备,所述计算机设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施上面描述的归档数据的存储方法。
本发明公开了一种使用计算机程序编码的计算机存储介质,所述计算机程序包括指令,所述指令被计算机执行以实施上面描述的归档数据的存储方法。
本发明与现有技术相比,主要区别及其效果在于:
(1)本发明设计了归档数据的存储方法和系统,该方法和系统可实现对归档数据的单次连续写入及任意随机读取。其中,读取同时支持正常读取及实时读取。正常读取可能存在数据取回时间延迟,不过具有更低的存储成本;实时读取则可以立即获取到需要取回的数据,不过存储成本会变高;
(2)本发明设计的存储方法和系统与磁带库存储系统相比具有更好的灵活性及易用性,且支持数据的实时读取取回;与标准对象存储系统相比具有更低的单位GB存储成本与更好的扩展性;
(3)本发明设计的存储方法和系统硬件基于大容量硬盘簇与SMR硬盘实现,此系统具有比标准对象存储系统更高的存储密度,有助于降低存储成本;
(4)本发明设计的存储方法和系统使用EC纠删码来代替多副本作为数据冗余方案,实现中通过选择合适的磁盘组大小及校验块数量,可以取得大幅优于三副本方案的磁盘空间使用率,以此大幅降低存储成本;
(5)本发明设计的存储方法和系统通过磁盘组的划分,可配合合适的IO调度策略一起使用,可将大部分磁盘配置为低功耗模式,以此进一步降低电耗及机房制冷系统能耗,优化运营成本;
(6)本发明设计的存储方法和系统实现了全链路多重数据完整性校验策略,以此有效规避静默数据损坏造成的数据可靠性风险。
附图说明
图1是实施根据本发明的归档数据的存储方法的通用服务器的结构图;
图2是根据本发明的归档数据的存储系统的结构图;
图3是根据本发明的归档数据的存储方法的流程图。
具体实施方式
为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明,提供了一种归档数据的存储方法的实施方式,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请方式所提供的方法实施方式可以在移动终端、计算机终端或者通用服务器中实施。以通用服务器为例,图1是实施根据本发明的归档数据的存储方法的通用服务器的结构图。这里的通用服务器泛指能对外提供网络、计算等服务的计算机系统,不局限于某一种特定的服务器。
如图1所示,通用服务器100可以包括一个或多个(图中仅示出一个)处理器101(处理器101可以包括但不限于中央处理器CPU、图像处理器GPU、数字信号处理器DSP、微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于与用户交互的输入输出接口102、用于存储数据的存储器103、以及用于通信功能的传输装置104。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,系统100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
输入输出接口102可以连接一个或多个显示器、触控屏等,用于显示从系统100传送的数据,还可以连接键盘、触控笔、触控板和/或鼠标等,用于输入诸如,选择、创建、编辑等的用户指令。
存储器103可用于存储数据库、队列、应用软件的软件程序以及模块,如本发明实施方式中的归档数据的存储方法对应的程序指令/模块,处理器101通过运行存储在存储器103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的归档数据的存储方法。存储器103可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器103可进一步包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至系统100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置104用于经由网络接收或者发送数据,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。上述的网络具体实例可包括系统100的通信供应商提供的互联网。
图2是根据本发明的归档数据的存储系统的结构图。如图2所示,系统包括上述的通用服务器,该通用服务器与一个或多个磁盘簇(JBOD,Just a Bunch Of Disks)硬件连接,这里的连接可通过但不限于直接连接、主机总线适配器(HBA,Host Bus Adaptor)连接等方式进行。与通用服务器连接的磁盘簇的数量可灵活扩展,实际实现中由于机柜物理空间、连接线缆长度、服务器接口数量等限制可能会制约可连接磁盘簇的最大数量,不过连接数量不应视为本申请设计的存储系统的特征。
每个磁盘簇内可插入一个或多个磁盘(Disk),具体支持的磁盘的物理尺寸大小(2.5寸或3.5寸等)及接口形式(SAS或SATA等)取决于具体磁盘簇的硬件实现,本申请对其没有要求及依赖,即,任意尺寸及接口的磁盘均适用于本申请设计的存储系统。
为取得更高的存储密度,本申请优选当前单盘容量最大的SMR硬盘作为实施例。不过应当注意,使用SMR硬盘而不使用CMR硬盘并不是本申请的核心因素,也不是本申请的依赖条件。如果未来随着热辅助磁记录(HAMR,Heat-assisted magnetic recording)及微波辅助磁记录(MAMR,Microwave Assisted Magnetic Recording)等技术的进步,CMR硬盘的容量可能超过SMR硬盘的容量,此时更优的选择是选用CMR硬盘。本申请设计的存储系统可以同时适用于SMR硬盘及CMR硬盘,选用何种硬盘取决于当前磁记录介质发展的技术水平而不应当视为本申请的限制。对于本申请设计的存储系统而言,可选用SMR或CMR硬盘中的一种,也可以二者混合使用。
基于以上硬件架构,在通用服务器上可以统一管理及访问连接在各磁盘簇中的所有磁盘。
各磁盘簇中的所有磁盘在通用服务器上均是可见的,这些磁盘被划分为一个或多个磁盘组,不同磁盘组包含的磁盘数量可以不同。
每一磁盘组中包含的磁盘数量不应太少,否则校验块所占比例会过高,进而导致存储成本上升;另一方面,磁盘数量也不应太多,在磁盘总数一定的情况下,磁盘组中的磁盘数量越多就意味着磁盘组的数量越少,而过少的磁盘组数量会影响IO调度策略的粒度,使得没有足够多的磁盘能进入低功耗模式,进而导致运营成本的上升。
磁盘组中的磁盘数量应根据磁盘总量、数据可靠性要求等因素综合决定。在本申请的优选实施例中,磁盘总量为500个,被划分为20个磁盘组,每个磁盘组中包括25个磁盘。
优选地,同一磁盘组中的所有磁盘容量是相同的,这样可以获得最大的磁盘使用率。如果磁盘容量不同,则整个磁盘组的可用容量将取决于容量最小的一个磁盘,即,大容量磁盘中的多余容量将无法被使用到。
每个磁盘被划分为两块连续区域,分别是区域数据区域(Zone数据区域)和区域元数据区域(ZoneMeta区域)。其中,区域元数据区域要求必须为CMR区域,即CMR硬盘或SMR硬盘的CMR区域;区域数据区域则可以是CMR区域,也可以是SMR区域。
区域元数据区域由一个或多个区域元数据(ZoneMeta)组成。其中,每个区域元数据的优选大小为4kiB,此大小是为了与底层磁盘硬件的扇区大小(Sector Size)对齐,不过本申请对区域元数据的大小没有依赖关系,选用其他大小也可以运行。
区域数据区域由一个或多个区域(Zone)组成,每个区域都是只能追加写的(Append Only)。其中,每个区域的大小对于SMR硬盘的SMR区域来说,就是底层磁盘物理区域的大小;对于CMR硬盘或SMR硬盘的CMR区域来说,此大小可以灵活配置。其中,区域的数量应与区域元数据区域中的区域元数据的数量相同,二者存在一一对应关系。
区域的管理是以磁盘为单位的,每个磁盘都有一个管理模块用于管理其上的区域,不同磁盘间的区域管理模块是完全解耦的,即,不同磁盘间的区域管理是独立运行的。
本申请设计的存储系统将区域元数据区域与区域数据区域分离且单独集中存放,此设计的优点是便于在系统初始化时一次性将所有区域元数据读取上来,以此提高系统启动速度。
本申请设计的存储系统通过底层远程过程调用(RPC,Remote Procedure Call)框架对外提供服务,RPC框架对上层屏蔽了底层数据通信的过程,其实现方法不属于本申请的范畴。本申请设计的存储系统可与各类开源或私有实现的RPC框架配合使用。在优选实施例中,选用了基于TCP二进制流的私有协议作为RPC实现,不过应当注意,使用何种RPC框架不应视为本申请的特性。
如图2所示,通用服务器包括二进制大对象申请单元201、归档数据写入单元202、二进制大对象密封单元203、归档数据读取单元204和归档数据删除单元205。
图3是根据本发明的归档数据的存储方法的流程图。下面结合图2至图3对本发明的实施例进行详细说明。
在步骤S31,二进制大对象申请单元201接收二进制大对象(Blob,binary largeobject)申请请求,以申请二进制大对象。
本申请设计的存储系统以二进制大对象为单位来存储归档数据,一个二进制大对象由分布在同一磁盘组上的M+N个磁盘中的一个或多个区域构成,每个磁盘上的区域的数量需要相同,可以为1个或更多个。
为了叙述的连贯性,步骤S31首先被提及,可以理解的是,二进制大对象申请步骤作为归档数据的存储方法的准备步骤,其相对于随后的归档数据写入步骤和二进制大对象密封步骤是独立的,不需要每次都与归档数据的存储方法的其他步骤一起发生。
具体地,二进制大对象申请单元201接收二进制大对象申请请求,以生成二进制大对象的通用唯一识别码(UUID,Universally Unique Identifier)、二进制大对象的长度BlobLen、数据块的数量M、检验块的数量N和块的长度SegLen。
二进制大对象以通用唯一识别码UUID来唯一标识,通用唯一识别码UUID应保证在整个存储系统中具有唯一性。通用唯一识别码UUID的生成方法可以有很多,本申请的优选实施例中采用磁盘组编号与时间戳混合编码的方式得到。通用唯一识别码UUID的编码及生成方法不属于本申请的核心,除优选实施例中给出的方法外,也可采用其他方式生成通用唯一识别码UUID,只要保证其唯一性即可。
为保证数据可靠性,本申请设计的存储系统使用纠删码(EC,Erasure Coding)作为数据冗余方案。其中,EC泛指一类编解码算法,如里德-所罗门码(RS,Reed-Solomon)、低密度奇偶检查码(LDPC,Low-Density Parity-Check)等,其共同特点在于可根据M个等长原始数据计算得到N个线性无关的校验数据,在最终得到的M+N个数据中可根据任意M个数据恢复出原始数据,即,可容忍至多N个数据丢失而不影响数据可靠性。
数据块的数量M和检验块的数量N在申请二进制大对象时确定,之后在此二进制大对象的全生命周期内不会改变,本申请设计的存储系统要求数据块的数量M和检验块的数量N需小于磁盘组的磁盘数量。EC算法属于已有技术,其具体实现方法在本申请中不做阐述,不过应当指出,本申请可使用任意EC算法而不影响存储系统的效果。优选实施例中选用RS算法作为EC算法的实现。存储系统会通过条带化处理将原始数据拆分为M个等长数据,之后进行EC编码处理,得到N个同样长度的校验数据。
然后,二进制大对象申请单元201基于数据块的数量M和检验块的数量N来确定磁盘的数量,并且在同一磁盘组上分配磁盘。
分配磁盘的方法可以有很多,例如随机挑选、散列法等,使用何种算法并不是本申请的核心,只要能选出M+N个磁盘即可。优选实施例中选用散列法进行分配。
然后,二进制大对象申请单元201基于二进制大对象的长度BlobLen、数据块的数量M和区域的长度ZoneLen来确定区域的数量,并且在分配的磁盘的区域数据区域上分配区域。
确定区域数量的计算公式如下:(BlobLen+ZoneLen*M-1)/(ZoneLen*M),其中,区域的长度ZoneLen的确定方法见下文。
最后,二进制大对象申请单元201将二进制大对象的上下文信息BlobInfo写入内存中,二进制大对象的上下文信息BlobInfo包括二进制大对象的通用唯一识别码UUID、数据块的数量M、检验块的数量N、块的长度SegLen、分配的磁盘信息、分配的区域信息和二进制大对象的长度BlobLen。优选地,二进制大对象的上下文信息BlobInfo还包括校验值,其中,校验值的作用见下文。
在步骤S32,归档数据写入单元202接收归档数据写入请求,以将归档数据分配到相应的二进制大对象,使得归档数据被写入同一磁盘组的一个或多个磁盘的区域数据区域的一个或多个区域中。
具体地,归档数据写入单元202接收归档数据写入请求,归档数据写入请求包括相应的二进制大对象的通用唯一识别码UUID,以查找相应的二进制大对象的上下文信息BlobInfo。
然后,归档数据写入单元202基于相应的二进制大对象的上下文信息BlobInfo来确定数据块的数量M、检验块的数量N、块的长度SegLen、分配的磁盘信息、分配的区域信息和二进制大对象的长度BlobLen。
优选地,归档数据写入请求还包括归档数据的数据校验码,并且归档数据写入单元202基于归档数据的数据校验码来校验数据完整性,并且流式更新相应的二进制大对象的上下文信息BlobInfo中的校验值。
完整性校验通过校验码或校验值来实现,校验码的计算方法属于已有技术,如循环冗余校验(CRC,Cyclic Redundancy Check)、MD5消息摘要算法(MD5 Message-DigestAlgorithm)、安全散列算法(SHA,Secure Hash Algorithm)等,本申请设计的存储系统对使用何种方法来计算校验码无强制要求。在优选实施例中使用了CRC32算法来生成校验码,不过需要指出的是,本申请设计的存储系统也可使用其他算法来生成校验码。
可选地,存储系统还可以根据每一次写入数据的校验值,计算得到当前整个二进制大对象所有数据的校验值。在处理密封二进制大对象请求时,将此校验值写入所有的区域元数据中。此校验值可作为额外冗余校验来判断整个二进制大对象数据的完整性。由于此校验值是流式计算的,即,每次处理数据写入请求时均会更新目标二进制大对象的校验值,在处理密封二进制大对象请求时,无需把整个密封二进制大对象中的数据都读取出来再计算。如何根据分片数据的校验值而得到完整数据的校验值是已有技术,各校验值生成算法基本都可以实现这一点。
然后,如果完整性校验通过,则归档数据写入单元202对归档数据进行条带化以生成M个数据块,并且对数据块进行编码化以生成N个检验块。
由于块的长度SegLen及数据块的数量M对某个二进制大对象来说为固定值,因此条带化处理要求原始归档数据的长度为某些离散值,即每次写入的归档数据的长度需要满足以下约束:n*SegLen*M,其中,n为任意正整数,从而可以保证每次写入的归档数据均可被完整地拆分为M个数据块。对于n大于1的情况,可以视为上述条带化处理重复执行n次。
然后,归档数据写入单元202基于相应的二进制大对象的上下文信息BlobInfo中的分配的磁盘信息和分配的区域信息,将M个数据块和N个检验块写入同一磁盘组上分配的M+N个磁盘的区域数据区域中分配的区域中。
最后,归档数据写入单元202更新相应的二进制大对象的上下文信息BlobInfo中的二进制大对象的长度BlobLen,并且写入内存中。
需要指出的是,为了避免写入放大问题,提高系统性能,把数据追加写入区域的过程并不更新此区域的区域元数据。
在步骤S33,二进制大对象密封单元203接收二进制大对象密封请求,以密封相应的二进制大对象,使得写入的一个或多个区域的区域元数据被写入同一磁盘组的一个或多个磁盘的区域元数据区域中。
具体地,二进制大对象密封单元203接收二进制大对象密封请求,二进制大对象密封请求包括相应的二进制大对象的通用唯一识别码UUID,以查找相应的二进制大对象的上下文信息BlobInfo。
优选地,二进制大对象密封请求还包括相应的二进制大对象的校验值,并且二进制大对象密封单元203校验二进制大对象密封请求中的校验值与写入内存中的相应的二进制大对象的上下文信息BlobInfo中的校验值是否一致,如果不一致则返回错误。
然后,如果校验通过,则二进制大对象密封单元203将写入的一个或多个区域的区域元数据写入同一磁盘组的一个或多个磁盘的区域元数据区域中。
通过步骤S31至S33,可以实现归档数据的大容量存储,具有高可靠与低成本的特性,与现有背景技术相比在存储成本、易用性、数据取回时限间达到了更好的平衡,同时取得了比现有背景技术数据更高的数据可靠性。
另外,归档数据读取单元204接收归档数据读取请求,归档数据读取请求包括二进制大对象的通用唯一识别码UUID,以查找二进制大对象的上下文信息BlobInfo。
然后,归档数据读取单元204基于二进制大对象的上下文信息BlobInfo,并且基于归档数据读取请求包括的偏移及长度,从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取相应的数据块。
由于上文所述的数据条带化处理是一种确定性算法,因此本申请设计的存储系统可以根据归档数据读取请求中的偏移及长度,确定要读取的归档数据对应的数据块分布在哪些磁盘的哪些区域中,如果读取成功则正常返回。
最后,如果相应的数据块未全部读取成功,例如由于各种原因读取发生错误,则归档数据读取单元204从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取相应的检验块,从而使用EC数据恢复算法将原始归档数据恢复出来再返回。如何根据校验数据来恢复原始数据属于EC算法的具体实现,不属于本申请的核心,在此不进行阐述。
优选地,归档数据读取请求还包括IO级别,并且归档数据读取单元204基于IO级别来判断归档数据读取请求是否可以进行,如果不能进行则直接返回错误。
本申请设计的存储系统还可与合适的IO调度策略配合使用,以此达到进一步降低运营成本的效果。这是本申请的一个可选项,即,有无IO调度策略,本申请设计的存储系统都可以正常工作。
在没有IO调度策略的情况下,所有磁盘组任何时候都处于正常工作状态,数据读取请求始终可以得到响应。如果加入了IO调度策略,则存储系统会根据调度策略的逻辑,将磁盘组中的所有磁盘设置为低功耗模式,以此降低系统运营能耗及成本。此时,调度策略需要根据读取请求的IO级别来判断此次IO是否可以进行。如果可以进行,则需要把对应磁盘组中的所有磁盘重新设置为正常工作状态,如果不可进行,则需要返回此IO可进行的预期时间。IO调度策略的具体设计及实现方式不属于本申请的核心。
优选地,归档数据读取单元204在返回要读取的归档数据时,还计算该归档数据的校验值。为防止网络或其他链路发生错误,在数据写入请求中包含了当前请求数据的校验值,存储系统会验证此校验值的正确性;存储系统对数据读取请求的回复中也会附加上回复数据的校验值。
另外,归档数据删除单元205接收归档数据删除请求,归档数据删除请求包括二进制大对象的通用唯一识别码UUID,以查找二进制大对象的上下文信息BlobInfo。
然后,归档数据删除单元205基于二进制大对象的上下文信息BlobInfo,从同一磁盘组上分配的磁盘中分配的数据存储区域中删除相应的数据块和检验块。
最后,归档数据删除单元205从内存中删除二进制大对象的上下文信息BlobInfo。
上文对于区域的概念及管理已有所提及,之后将统一详细阐述区域的管理方法,包括区域元数据的字段,区域的结构,区域的分配、数据写入及数据删除。
区域Zone的区域元数据ZoneMeta包括区域的识别码ZoneID、区域的当前状态ZoneStatus、区域的长度ZoneLen、区域所属的二进制大对象的上下文信息BlobInfo。以上字段只是本申请设计的区域元数据中的一些核心字段,实际实现中还可以在此基础上进行扩展。
区域以识别码ZoneID来唯一标识,识别码ZoneID应保证在一个磁盘中具有唯一性。区域的当前状态ZoneStatus包括但不限于空闲状态ZoneFree、使用中状态ZoneUsed和已密封状态ZoneSealed。区域的长度ZoneLen指示区域中的当前数据的长度。
基于此,二进制大对象申请单元201在分配的磁盘的区域数据区域上分配区域进一步包括:
首先,二进制大对象申请单元201从分配的磁盘上处于空闲状态的区域中分配区域。其中,区域的当前状态为空闲状态的区域可以构成空闲列表,分配区域时先随机从分配的磁盘的空闲列表中挑选区域,之所以使用随机挑选策略,是为了让数据能充分打散到整个磁盘上,且避免对磁盘同一区域反复读写。
然后,二进制大对象申请单元201更新分配的区域的区域元数据ZoneMeta,以将分配的区域的当前状态设置为使用中状态,并且写入所属的二进制大对象的上下文信息BlobInfo。其中,区域的当前状态为使用中状态的区域可以构成已使用列表。
最后,二进制大对象申请单元201发送分配的区域的识别码ZoneID。
每个区域包括一个或多个数据段和相应的段元数据段,其中,每个区域按照底层磁盘的物理扇区大小进行分割,每个扇区均由数据段和相应的段元数据SectorMeta段组成。段元数据段附加于数据段的前部或后部,段元数据段中的核心字段是相应的数据段中的当前数据的校验值。
基于此,归档数据写入单元202将M个数据块和N个检验块写入同一磁盘组上分配的M+N个磁盘的区域数据区域中分配的区域中进一步包括:
首先,归档数据写入单元202基于分配的区域的识别码ZoneID来寻找分配的区域的区域元数据ZoneMeta。
然后,归档数据写入单元202基于分配的区域的数据段的大小,将写入的数据块或检验块拆分为一段或多段数据。
然后,归档数据写入单元202将每段数据写入数据段,并且计算每段数据的校验值以更新相应的段元数据段中的校验值。
最后,归档数据写入单元202更新分配的区域的区域元数据中的区域的长度ZoneLen。
在每个数据扇区的段元数据中均保存了当前扇区数据的校验码,数据写入时会计算此校验码并且与数据一起写入磁盘;读取时会同时读取扇区数据及段元数据,并根据段元数据中的校验码来校验读取得到的扇区数据是否正确。通过在段元数据中加入校验码可以有效检测出磁盘静默错误的存在,避免将错误的数据返回出去。
为了避免写入放大问题,提高系统性能,写入时只写入区域数据区域,不去更新区域元数据区域。整个二进制大对象写入完成后会进行密封操作,此时会更新区域元数据区域的区域元数据。
基于此,二进制大对象密封单元203接收二进制大对象密封请求,以密封相应的二进制大对象进一步包括:
首先,二进制大对象密封单元203将分配的区域的当前状态设置为已密封状态。
最后,二进制大对象密封单元203将更新的区域元数据写入分配的区域的区域元数据区域中。
另外,归档数据读取单元204从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取数据块进一步包括:
首先,归档数据读取单元204基于分配的区域的识别码ZoneID来寻找分配的区域的区域元数据。
然后,归档数据读取单元204从分配的区域的数据段中读取数据,并且从相应的段元数据段中读取校验值。
最后,归档数据读取单元204校验数据与校验值是否一致,如果不一致则返回错误,如果一致则移除校验值并且发送数据。
另外,归档数据删除单元205从同一磁盘组上分配的磁盘中分配的数据存储区域中删除相应的数据块和检验块进一步包括:
首先,归档数据删除单元205基于分配的区域的识别码ZoneID来寻找分配的区域的区域元数据。
然后,归档数据删除单元205从分配的区域的数据段中删除数据,并且从相应的段元数据段中删除校验值。若该区域是SMR区域,则归档数据删除单元205还需要向对应区域发送重置写指针命令,以将该区域的写指针重置为0。
最后,归档数据删除单元205将分配的区域的当前状态设置为空闲状态,从而该区域由已使用列表中移除并且加入空闲列表中。
本发明还提供一种使用计算机程序编码的计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施上面描述的归档数据的存储方法。
需要说明的是,本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(Programmable Array Logic,简称“PAL”)、随机存取存储器(Random Access Memory,简称“RAM”)、可编程只读存储器(Programmable Read Only Memory,简称“PROM”)、只读存储器(Read-Only Memory,简称“ROM”)、电可擦除可编程只读存储器(Electrically ErasableProgrammable ROM,简称“EEPROM”)、磁盘、光盘、数字通用光盘(Digital Versatile Disc,简称“DVD”)等等。
需要说明的是,本发明各设备实施方式中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。
在附图中,可以以特定布置和/或顺序示出一些结构或方法特征。然而,应该理解,可能不需要这样的特定布置和/或排序。而是,在一些实施例中,这些特征可以以不同于说明性附图中所示的方式和/或顺序来布置。另外,在特定图中包括结构或方法特征并不意味着暗示在所有实施例中都需要这样的特征,并且在一些实施例中,可以不包括这些特征或者可以与其他特征组合。
需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (14)

1.一种归档数据的存储方法,其特征在于,所述方法用于归档数据的存储系统,所述系统包括一个或多个磁盘簇,每个磁盘簇包括一个或多个磁盘,所述系统的所有磁盘被划分为一个或多个磁盘组,每个磁盘包括区域数据区域和区域元数据区域,并且所述方法包括:接收归档数据写入请求,以将所述归档数据分配到相应的二进制大对象,每个二进制大对象由分布在同一磁盘组上的一个或多个磁盘的区域数据区域的一个或多个区域构成,使得所述归档数据被写入同一磁盘组的所述一个或多个磁盘的所述区域数据区域的所述一个或多个区域中;
接收二进制大对象密封请求,以密封相应的所述二进制大对象,使得写入的所述一个或多个区域的区域元数据被写入同一磁盘组的所述一个或多个磁盘的区域元数据区域中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收二进制大对象申请请求,以生成所述二进制大对象的通用唯一识别码、所述二进制大对象的长度、数据块的数量、检验块的数量和块的长度;
基于数据块的数量和检验块的数量来确定磁盘的数量,并且在同一磁盘组上分配磁盘;基于所述二进制大对象的长度、数据块的数量和区域的长度来确定区域的数量,并且在分配的磁盘的区域数据区域上分配区域;
将所述二进制大对象的上下文信息写入内存中,所述二进制大对象的所述上下文信息包括所述二进制大对象的通用唯一识别码、数据块的数量、检验块的数量、块的长度、分配的磁盘信息、分配的区域信息和所述二进制大对象的长度。
3.根据权利要求2所述的方法,其特征在于,接收归档数据写入请求,以将所述归档数据分配到相应的二进制大对象进一步包括:
接收所述归档数据写入请求,所述归档数据写入请求包括相应的所述二进制大对象的通用唯一识别码,以查找相应的所述二进制大对象的上下文信息;
基于相应的所述二进制大对象的所述上下文信息来确定数据块的数量、检验块的数量、块的长度、分配的磁盘信息、分配的区域信息和所述二进制大对象的长度;
对所述归档数据进行条带化以生成相应数量的数据块,并且对所述数据块进行编码化以生成相应数量的检验块;
将所述数据块和所述检验块写入同一磁盘组上分配的磁盘的区域数据区域中分配的区域中;
更新相应的所述二进制大对象的所述上下文信息中的所述二进制大对象的长度,并且写入内存中。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收归档数据读取请求,所述归档数据读取请求包括二进制大对象的通用唯一识别码,以查找所述二进制大对象的上下文信息;
基于所述二进制大对象的所述上下文信息,并且基于所述归档数据读取请求包括的偏移及长度,从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取相应的数据块;
如果相应的数据块未全部读取成功,则从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取相应的检验块。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
接收归档数据删除请求,所述归档数据删除请求包括二进制大对象的通用唯一识别码,以查找所述二进制大对象的上下文信息;
基于所述二进制大对象的所述上下文信息,从同一磁盘组上分配的磁盘中分配的数据存储区域中删除相应的数据块和检验块;
从内存中删除所述二进制大对象的所述上下文信息。
6.根据权利要求4或5所述的方法,其特征在于,区域的区域元数据包括所述区域的识别码、所述区域的当前状态、所述区域的长度、所述区域所属的二进制大对象的上下文信息。
7.根据权利要求6所述的方法,其特征在于,在分配的磁盘的区域数据区域上分配区域进一步包括:
从分配的磁盘上处于空闲状态的区域中分配区域;
更新分配的所述区域的区域元数据,以将分配的所述区域的当前状态设置为使用中状态,并且写入所属的二进制大对象的上下文信息;
发送分配的所述区域的识别码。
8.根据权利要求7所述的方法,其特征在于,每个区域包括一个或多个数据段和相应的段元数据段,所述段元数据段包括相应的数据段中的当前数据的校验值,并且将所述数据块和所述检验块写入同一磁盘组上分配的磁盘的区域数据区域中分配的区域中进一步包括:
基于分配的所述区域的识别码来寻找分配的所述区域的区域元数据;
基于分配的所述区域的数据段的大小,将写入的所述数据块或所述检验块拆分为一段或多段数据;
将每段数据写入数据段,并且计算每段数据的校验值以更新相应的段元数据段中的校验值;
更新分配的所述区域的所述区域元数据中的区域的长度。
9.根据权利要求8所述的方法,其特征在于,接收二进制大对象密封请求,以密封相应的所述二进制大对象进一步包括:
将分配的所述区域的当前状态设置为已密封状态;
将更新的所述区域元数据写入分配的所述区域的区域元数据区域中。
10.根据权利要求9所述的方法,其特征在于,从同一磁盘组上分配的磁盘的区域数据区域中分配的区域中读取数据块进一步包括:
基于分配的所述区域的识别码来寻找分配的所述区域的区域元数据;
从分配的所述区域的数据段中读取数据,并且从相应的段元数据段中读取校验值;
校验所述数据与所述校验值是否一致,并且当两者一致时发送所述数据。
11.根据权利要求9所述的方法,其特征在于,从同一磁盘组上分配的磁盘中分配的数据存储区域中删除相应的数据块和检验块进一步包括:
基于分配的所述区域的识别码来寻找分配的所述区域的区域元数据;
从分配的所述区域的数据段中删除数据,并且从相应的段元数据段中删除校验值;
将分配的所述区域的当前状态设置为空闲状态。
12.一种归档数据的存储系统,其特征在于,所述系统包括一个或多个磁盘簇,每个磁盘簇包括一个或多个磁盘,所述系统的所有磁盘被划分为一个或多个磁盘组,每个磁盘包括区域数据区域和区域元数据区域,并且所述系统还包括:
归档数据写入单元,接收归档数据写入请求,以将所述归档数据分配到相应的二进制大对象,每个二进制大对象由分布在同一磁盘组上的一个或多个磁盘的区域数据区域的一个或多个区域构成,使得所述归档数据被写入同一磁盘组的所述一个或多个磁盘的所述区域数据区域的所述一个或多个区域中;
二进制大对象密封单元,接收二进制大对象密封请求,以密封相应的所述二进制大对象,使得写入的所述一个或多个区域的区域元数据被写入同一磁盘组的所述一个或多个磁盘的区域元数据区域中。
13.一种计算机设备,其特征在于,所述计算机设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施根据权利要求1至11中任一项所述的归档数据的存储方法。
14.一种使用计算机程序编码的计算机存储介质,其特征在于,所述计算机程序包括指令,所述指令被计算机执行以实施根据权利要求1至11中任一项所述的归档数据的存储方法。
CN202110556538.0A 2021-05-21 2021-05-21 归档数据的存储方法、系统、设备和介质 Active CN113282238B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110556538.0A CN113282238B (zh) 2021-05-21 2021-05-21 归档数据的存储方法、系统、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110556538.0A CN113282238B (zh) 2021-05-21 2021-05-21 归档数据的存储方法、系统、设备和介质

Publications (2)

Publication Number Publication Date
CN113282238A CN113282238A (zh) 2021-08-20
CN113282238B true CN113282238B (zh) 2023-03-24

Family

ID=77280532

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110556538.0A Active CN113282238B (zh) 2021-05-21 2021-05-21 归档数据的存储方法、系统、设备和介质

Country Status (1)

Country Link
CN (1) CN113282238B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865650B1 (en) * 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
CN104461388A (zh) * 2014-12-04 2015-03-25 北京同有飞骥科技股份有限公司 一种存储阵列配置保存及仲裁方法
US10157003B1 (en) * 2015-12-17 2018-12-18 EMC IP Holding Company LLC Storage system with distributed tiered parallel file system comprising software-defined unified memory cluster
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、系统及电子设备和存储介质
CN109669632A (zh) * 2018-12-10 2019-04-23 浪潮电子信息产业股份有限公司 基于分布式对象存储系统的元数据写入方法、装置及介质
CN111159202A (zh) * 2019-12-30 2020-05-15 深信服科技股份有限公司 数据处理方法、虚拟装置、设备和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10372334B2 (en) * 2016-02-11 2019-08-06 International Business Machines Corporation Reclaiming free space in a storage system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6865650B1 (en) * 2000-09-29 2005-03-08 Emc Corporation System and method for hierarchical data storage
CN104461388A (zh) * 2014-12-04 2015-03-25 北京同有飞骥科技股份有限公司 一种存储阵列配置保存及仲裁方法
US10157003B1 (en) * 2015-12-17 2018-12-18 EMC IP Holding Company LLC Storage system with distributed tiered parallel file system comprising software-defined unified memory cluster
CN109634523A (zh) * 2018-12-10 2019-04-16 深圳市网心科技有限公司 一种磁盘管理方法、系统及电子设备和存储介质
CN109669632A (zh) * 2018-12-10 2019-04-23 浪潮电子信息产业股份有限公司 基于分布式对象存储系统的元数据写入方法、装置及介质
CN111159202A (zh) * 2019-12-30 2020-05-15 深信服科技股份有限公司 数据处理方法、虚拟装置、设备和存储介质

Also Published As

Publication number Publication date
CN113282238A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
US11662915B2 (en) Parity in a vast storage system using alternate memory
KR102240557B1 (ko) 데이터 저장 방법, 장치 및 시스템
US11593036B2 (en) Staging data within a unified storage element
US10001944B2 (en) Systems and methods for data organization in storage systems using large erasure codes
US9613040B2 (en) File system snapshot data management in a multi-tier storage environment
US20100199065A1 (en) Methods and apparatus for performing efficient data deduplication by metadata grouping
CN116431072A (zh) 集成到大容量存储设备的可访问快速耐久存储
US11093387B1 (en) Garbage collection based on transmission object models
JP2016537703A (ja) バックアップシステムの性能の改善
WO2015010327A1 (zh) 数据发送方法、数据接收方法和存储设备
JP2016512906A (ja) データを柔軟に配置するための多層記憶管理
JP2016512906A5 (zh)
US20210181992A1 (en) Data storage method and apparatus, and storage system
CN109918352B (zh) 存储器系统和存储数据的方法
CN110419029B (zh) 在分布式存储网络中部分更新数据内容的方法
CN102479118A (zh) 数据块的增量备份方法
US10503426B2 (en) Efficient space allocation in gathered-write backend change volumes
EP3697024B1 (en) Data processing method, device and distributed storage system
JP5781716B2 (ja) 計算機システム及び非同期レプリケーション管理方法
WO2021088586A1 (zh) 一种存储系统中的元数据的管理方法及装置
US10031805B2 (en) Assigning slices to storage locations based on a predicted lifespan
CN113282238B (zh) 归档数据的存储方法、系统、设备和介质
WO2023082629A1 (zh) 数据存储方法及装置、电子设备和存储介质
CN115981559A (zh) 分布式数据存储方法、装置、电子设备和可读介质
US10511665B2 (en) Efficient resource reclamation after deletion of slice from common file

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