CN110196682B - 数据管理方法、装置、计算设备及存储介质 - Google Patents

数据管理方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN110196682B
CN110196682B CN201810617158.1A CN201810617158A CN110196682B CN 110196682 B CN110196682 B CN 110196682B CN 201810617158 A CN201810617158 A CN 201810617158A CN 110196682 B CN110196682 B CN 110196682B
Authority
CN
China
Prior art keywords
data
data storage
block
storage block
blocks
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
CN201810617158.1A
Other languages
English (en)
Other versions
CN110196682A (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.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing 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 Tencent Technology Shenzhen Co Ltd, Tencent Cloud Computing Beijing Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201810617158.1A priority Critical patent/CN110196682B/zh
Publication of CN110196682A publication Critical patent/CN110196682A/zh
Application granted granted Critical
Publication of CN110196682B publication Critical patent/CN110196682B/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/0608Saving storage space on 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/064Management of blocks
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了数据管理方法、装置、计算设备及存储介质。其中,一种数据管理方法,包括:响应于对资源池中第一数据存储块的一次或多次数据存储请求,在第一数据存储块中写入与所述一次或多次数据存储请求对应的数据,并在资源池中写入所述第一数据存储块中数据的副本,其中,第一数据存储块为包含至少一个数据存储块的一个存储块组中任一数据存储块;读取存储块组中数据,并对读取到的数据进行编码而得到编码结果;将所述编码结果写入所述资源池。

Description

数据管理方法、装置、计算设备及存储介质
技术领域
本申请涉及数据存储领域,尤其涉及数据管理方法、装置、计算设备及存储介质。
背景技术
随着互联网的发展,云存储系统被广泛应用于存储大量数据。为了提高数据存储的可靠性,云存储系统可以采用冗余编码方式生成待存储数据的校验数据,然后将待存储数据和校验数据写入到云存储系统的存储空间中。
发明内容
本申请提出了一种数据管理方案,能够在以冗余编码方式存储数据时提高数据存储的响应速度。
根据本申请一方面,提供一种数据管理方法,包括:响应于对资源池中第一数据存储块的一次或多次数据存储请求,在所述第一数据存储块中写入与所述一次或多次数据存储请求对应的数据,并在所述资源池中写入所述第一数据存储块中数据的副本,其中,所述第一数据存储块为所述资源池中包含至少一个数据存储块的一个存储块组中任一数据存储块;读取所述存储块组中所述至少一个数据存储块中数据,并对读取到的数据进行编码而得到编码结果,所述编码结果用于恢复所述至少一个数据存储块中数据;将所述编码结果写入所述资源池。
根据本申请一方面,提供一种数据管理方法,包括:响应于数据存储请求,为待存储的数据分配资源池中具有绑定关系的第一数据存储块和副本块,所述第一数据存储块用于存储所述数据,所述副本块用于存储所述数据的副本,所述第一数据存储块为所述资源池中包含至少一个数据存储块的一个存储块组中任一数据存储块;返回所述第一数据存储块的地址,使得所述第一数据存储块存储所述数据,并使得所述副本块存储所述数据的副本;发送对所述存储块组中的数据进行编码的指示,使得编码结果被存储在所述资源池中,其中,所述编码结果用于恢复所述存储块组中的数据。
根据本申请一方面,提供一种数据管理装置,包括:存储管理单元,用于响应于对资源池中第一数据存储块的一次或多次数据存储请求,在所述第一数据存储块中写入与所述一次或多次数据存储请求对应的数据,并在所述资源池中写入所述第一数据存储块中数据的副本,其中,所述第一数据存储块为所述资源池中包含至少一个数据存储块的一个存储块组中任一数据存储块;编码管理单元,用于读取所述存储块组中所述至少一个数据存储块中数据,并对读取到的数据进行编码而得到编码结果,所述编码结果用于恢复所述至少一个数据存储块中数据,将所述编码结果写入所述资源池。
根据本申请一方面,提供一种数据管理装置,包括:分配管理单元,用于响应于数据存储请求,为待存储的数据分配资源池中具有绑定关系的第一数据存储块和副本块,所述第一数据存储块用于存储所述数据,所述副本块用于存储所述数据的副本,所述第一数据存储块为所述资源池中包含至少一个数据存储块的一个存储块组中任一数据存储块;地址返回单元,用于返回所述第一数据存储块的地址,使得所述第一数据存储块存储所述数据,并使得所述副本块存储所述数据的副本;编码管理单元,用于发送对所述存储块组中的数据进行编码的指示,使得编码结果被存储在所述资源池中,其中,所述编码结果用于恢复所述存储块组中的数据。
根据本申请一方面,提供一种计算设备,包括:处理器和存储器,所述存储器中存储有计算机可读指令,所述指令可以使所述处理器执行本申请的数据管理方法的指令。
根据本申请一个方面,提供一种存储介质,存储有计算机可读指令,可以使至少一个处理器执行本申请的数据管理方法。
综上,本申请的数据管理方案,在需要以冗余编码方式存储数据时,可以避免在数据累积到一定量之后生成校验数据才可以将数据存储到资源池的麻烦。这里,本申请的数据管理方案能够以“多副本”方式在资源池中写入数据并返回响应消息,然后可以对已写入资源池的数据进行冗余编码。换言之,本申请的数据管理方案能够首先以多副本方式快速写入数据并且保证数据安全,然后将数据从“多副本”存储方式转换为冗余编码方式,以节省存储资源。这样,本申请的数据管理方案既可以保证数据存储块中数据的高效写入,也可以在保证数据安全性的同时节省存储资源。
另外说明的是,本申请的数据管理方案可以将数据对象的数据分散存储到不同存储块组的数据存储块中,并可以按照存储块组对数据存储块进行编码管理。这样,在存储数据对象时,本申请的数据管理方案可以避免将每个数据对象分别作为一个独立的编码对象而进行编码,而是能够将存储块组作为独立的编码对象而进行编码。需要说明的是,在一个实施例中,数据对象可以占用一个或多个数据存储块。假如该实施例不以预分配的存储块组为编码对象,而是以数据对象整体为编码对象。由于数据对象的大小不固定,数据对象所占用的数据存储块可能未存满数据并且不可以写入其他数据对象。这样,以数据对象为独立编码对象的方式会造成存储空间的浪费。由上述说明可知,本申请的数据管理方案可以避免将一个数据对象单独生成存储块组,而是在每个存储块组中存储来自一个或多个数据对象的数据分片并对各存储块组分别进行编码。这样,本申请的数据管理方案可以充分利用数据存储块对各种大小的数据对象进行高效写入和低冗余地存储。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1A示出了根据本申请一些实施例的应用场景的示意图;
图1B示出了根据本申请一些实施例的应用场景的示意图;
图2示出了根据本申请一些实施例的数据处理方法200的流程图;
图3示出了根据本申请一些实施例的数据处理方法300的流程图;
图4示出了根据本申请一些实施例的数据处理方法400的流程图;
图5示出了根据本申请一些实施例的数据处理方法500的流程图;
图6示出了根据本申请一些实施例的资源池的状态变化示意图;
图7示出了根据本申请一些实施例的数据处理装置700的示意图;
图8示出了根据本申请一些实施例的数据处理装置800的示意图;以及
图9示出了一个计算设备的组成结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一些实施例中,云存储系统(也可以称为数据存储系统)需要以冗余编码方式将数据安全存储在资源池中。这里,资源池例如可以包括多个数据节点的磁盘。响应于一个或多个存储请求,云存储系统可以接收待存储的数据。在将数据存储到资源池(即将数据写入磁盘中)之前,云存储系统首先需要将数据缓存在内存中。这里,云存储系统通常在一个数据节点的内存中缓存数据。换言之,云存储系统需要在一个数据节点中接收待存储的数据。当内存中数据积累到一定量时,云存储系统可以对所积累的数据进行校验编码而得到校验数据。在此基础上,云存储系统可以将所积累的数据和校验数据存储到资源池中。在所积累的数据和校验数据已存储到资源池之后,云存储系统可以向发送存储请求的设备返回表示数据已安全存储的响应消息。这里,由于云存储系统需要先累积数据并经过校验计算之后才可以写入资源池,云存储系统的响应速度有待提高。
图1A示出了根据本申请一些实施例的应用场景的示意图。如图1A所示,应用场景100可以包括数据上传系统110和数据存储系统120。
这里,数据上传系统110可以包括一个或多个数据上传设备。数据上传设备例如可以是台式电脑、膝上计算机、移动电话、平板电脑等各种终端设备。数据上传设备也可以是一个服务器节点或者虚拟服务器,本申请对此不做限制。
数据存储系统120通过网络130与数据上传系统110通信。数据存储系统120可以接收并存储数据上传系统110所上传的数据。数据存储系统120例如可以是各种云存储系统。例如,对象存储系统或者归档存储系统等等。这里,对象存储系统可以存储各种类型的数据对象,例如可以是视频文件、音频文件、软件资源包、文本文件等等。归档存储系统可以将任意数量和形式的非结构化数据进行存储。
数据存储系统120可以包括一个或多个数据节点。每个数据节点可以是一个能够存储数据的服务器节点。每个数据节点例如可以包括一个或多个磁盘,但不限于此。在包括多个数据节点时,数据存储系统120可以被称为存储集群。
这里,存储集群例如可以基于哈杜普分布式文件系统(Hadoop Distributed FileSystem,缩写为HDFS)而构建,但不限于此。需要说明的是,数据存储系统120可以将其内部的持久性存储资源(例如磁盘等)划分为存储块进行管理。每个磁盘例如可以包括一个或多个存储块。数据存储系统120中存储块的集合可以称为资源池。
需要说明的是,按照用途分类,资源池中存储块可以包括数据存储块、校验块和副本块。其中,数据存储块用于存储数据。副本块可以用于存储数据存储块中数据的副本。校验块可以用于恢复数据存储块中数据。这里,校验块可以存储数据存储块中数据的编码信息,例如为数据的纠删码等等。
例如,根据纠删码算法,数据存储系统120可以将K个数据存储块,编码生成校验数据并将校验数据写入M个(M<K)校验块。其中,K和M均为正整数。这K+M个块可以组成一个存储块组。换言之,本申请的存储块组是指包括K个数据存储块和N个校验块的冗余存储结构。这里,一个存储块组可以称为一个条带(strip)。一个条带中存储块可以分散布置在多个数据节点中。其中,任意X个(X<=M)存储块故障时,数据存储系统120从条带剩余存储块中任选K个块进行计算,从而可以恢复这X个存储块中数据。
图1B示出了根据本申请一些实施例的应用场景的示意图。如图1B所示,数据存储系统120可以包括管理节点121。数据存储系统120还可以包括多个数据节点,例如图1B中标出的122至125。
数据存储系统120中数据节点例如可以分布在一个或多个可用区(AvailableZone,缩写为AZ)。同一个地域可以包括一个或多个区域。每个区域可以称为一个可用区,可以部署一个或多个数据节点。
在每个可用区中,数据存储系统120例如可以包括一个独立部署的机房。例如,数据存储系统120可以包括可用区1、2和n。可用区1可以包括数据节点122和123。可用区2可以包括数据节点124和125。
数据存储系统120中数据节点的集合可以称为数据区。数据存储系统120的数据区的存储资源可以划分成存储块。数据存储系统120中存储块的集合可以称为资源池。
管理节点121可以对数据区进行元信息管理,例如对资源池进行资源分配和编码控制。
另外,数据存储系统120还可以包括一个或多个备用的管理节点(图1B未示出)。
在一个实施例中,数据上传系统110可以向管理节点121申请存储空间。这样,管理节点121可以向数据上传系统110返回数据区中存储块的地址。数据上传系统110可以根据地址向数据区上传数据。在数据区存储数据之后,数据存储系统120可以向数据上传系统110返回上传结果通知。换言之,数据存储系统120可以返回表示数据已存储的响应消息。
图2示出了根据本申请一些实施例的数据管理方法200的流程图。数据管理方法200例如可以在数据存储系统120中执行。
在步骤S201中,响应于对资源池中第一数据存储块的一次或多次数据存储请求,在第一数据存储块中写入与所述一次或多次数据存储请求对应的数据,并在资源池中写入所述第一数据存储块中数据的副本。其中,第一数据存储块为资源池中包含至少一个数据存储块的一个存储块组中任一数据存储块。这里,资源池可以包括N个存储块组。N为正整数。
在一个实施例中,对于上述一次或多次数据存储请求中任一次数据存储请求,数据存储系统120可以返回第一数据存储块的地址,使得发送该存储资源请求的设备(例如数据上传系统110)根据第一数据存储块的地址上传数据。
在一个实施例中,步骤S201可以在资源池的副本块中写入第一数据存储块中数据的副本。这里,副本块与第一数据存储块具有绑定关系。需要说明的是,资源池中存储块可以包括多个绑定副本块的数据存储块和多个未绑定副本块的数据存储块。为了简化描述,步骤S201以第一数据存储块为例进行说明。针对第一数据存储块,本申请的实施例可以绑定一个或多个副本块。每个与第一数据存储块绑定的副本块可以存储第一数据存储块的一份副本。
在一个实施例中,数据存储系统120可以包括多个数据节点。第一数据存储块和与其绑定的副本块可以分布在不同的数据节点中,以便提高数据的存储安全性。
在一个实施例中,数据上传系统110可以向数据存储系统120传输各种类型的数据对象,例如可以是视频文件、音频文件、软件资源包、文本文件等等。这里,数据上传系统120可以存储各种尺寸的数据对象。数据对象的大小范围例如可以从千字节(KiloByte,缩写为KB)级别到太字节(TeraByte,缩写为TB)级别。换言之,数据上传系统110可以支持各种类型的数据存储场景。取决于待存储的数据对象的大小,数据上传系统120可以将数据对象分为一个或多个数据分片。针对每个数据对象,数据上传系统120可以向数据存储系统发送一次数据存储请求。数据存储系统120可以为每个数据分片分配一个绑定有副本块的数据存储块。这里,每个数据存储块的存储容量可以容纳一个或多个数据分片。第一数据存储块可以存储来自一个数据对象的数据分片,或者存储来自多个数据对象的数据分片,本申请对此不做限制。
在一个实施例中,步骤S201可以响应于一次存储资源请求,返回第一数据存储块的地址。这里,存储资源请求例如是针对一个数据对象。这里,数据对象可以包括一个或多个数据分片。取决于数据分片的数量,步骤S201可以分配一个或者多个绑定有副本块的数据存储块。步骤S201所分配的一个数据存储块为第一数据存储块。在此基础上,步骤S201可以返回第一数据存储块的地址。这样,发送存储资源请求的设备(例如数据上传系统110)可以根据第一数据存储块的地址向第一数据存储块所处的数据节点发送待存储到第一数据存储块的数据。这里,待存储到第一数据存储块的数据例如是一个或多个数据分片。
在一个实施例中,步骤S201可以基于第一数据存储块中数据,在副本块中存储第一数据存储块中数据的副本。
在一个实施例中,步骤S201可以向发送存储资源请求的设备发送与第一数据存储块绑定的副本块的地址。这样,发送存储资源请求的设备可以根据副本块的地址向副本块所处的数据节点发送待存储到第一数据存储块的数据的副本。在此基础上,步骤S201可以在第一数据存储块所处的数据节点中接收并存储待存储到第一数据存储块的数据。步骤S201可以在副本块所处的数据节点中接收并存储待存储到第一数据存储块的数据的副本。
综上,步骤S201通过在第一数据存储块存储数据并存储第一数据存储块的副本,从而能够以“多副本”方式在数据存储系统120中写入数据。这样,响应于数据存储请求,数据存储系统120通过步骤S201,可以快速将数据写入到资源池中并保证数据安全性,并向发送资源存储请求的设备返回响应消息。例如,对于一个数据存储请求对应的第一数据对象而言,在数据存储系统120存储第一数据对象之后,如果存储第一数据对象的一个或多个数据存储块数据丢失,数据存储系统120可以基于副本块和未丢失数据的数据存储块来恢复已丢失的数据。
在步骤S202中,读取存储块组中各数据存储块中数据,并对读取到的数据进行编码而得到编码结果。编码结果用于恢复存储块组中至少一个数据存储块中数据。这里,步骤S202可以采用各种冗余编码方式进行编码,例如纠删码方式等等。
在一个实施例中,当确定存储块组中各数据存储块均满足编码条件时,步骤S202对读取到的数据进行编码而得到编码结果。
在一个实施例中,步骤S202可以检测存储块组中各数据存储块的数据量。当确定各数据存储块存满数据时,步骤S202可以确定各数据存储块满足编码条件。
在步骤S203中将编码结果写入资源池。在一个实施例中,步骤S203可以将编码结果写入到资源池的校验块中。在一个实施例中,存储块组还包括一个或多个校验块。这样,存储块组中数据的编码结构可以存储到该存储块组的校验块中。
在一个实施例中,数据存储系统120可以在初始化阶段,将资源池中存储块划分为数据存储块、校验块和副本块。另外,为了提高存储块组的容错能力,数据存储系统120可以将每个存储块组中数据存储块和校验块分散布置在数据存储系统120的数据区中。另外,数据存储系统120可以在初始化阶段为资源池中一部分存储块组各自的数据存储块分别绑定副本块。这样,数据存储系统120可以在存储数据时,将数据对象的数据分片存储到绑定有副本块的数据存储块(例如第一数据存储块)中。在存储编码结果时,数据存储系统120可以将编码结果存储到校验块中。
综上,通过步骤S201、S202和步骤S203的组合,数据存储系统120在需要以冗余编码方式存储数据时,可以避免在数据累积到一定量之后生成校验数据才可以将数据存储到资源池的麻烦。这里,数据存储系统120能够以“多副本”方式在资源池中写入数据并返回响应消息,然后可以对已写入资源池的数据进行冗余编码。换言之,数据存储系统120能够首先以多副本方式快速写入数据并且保证数据安全,然后将数据从“多副本”存储方式转换为冗余编码方式,以节省存储资源。这样,方法200既可以保证数据存储块中数据的高效写入,也可以在保证数据安全性的同时节省存储资源。
另外说明的是,方法200可以通过步骤S201将数据对象的数据分散存储到不同存储块组的数据存储块中,并可以在步骤S202中按照存储块组对数据存储块进行编码管理。这样,在存储数据对象时,方法200可以避免将每个数据对象分别作为一个独立的编码对象而进行编码,而是能够将存储块组作为独立的编码对象而进行编码。需要说明的是,在一个实施例中,数据对象可以占用一个或多个数据存储块。假如该实施例不以预分配的存储块组为编码对象,而是以数据对象整体为编码对象。由于数据对象的大小不固定,数据对象所占用的数据存储块可能未存满数据并且不可以写入其他数据对象。这样,以数据对象为独立编码对象的方式会造成存储空间的浪费。由上述说明可知,方法200可以避免将一个数据对象单独生成存储块组,而是在每个存储块组中存储来自一个或多个数据对象的数据分片并对各存储块组分别进行编码。这样,方法200可以充分利用数据存储块对各种大小的数据对象进行高效写入和低冗余地存储。
图3示出了根据本申请一些实施例的数据管理方法300的流程图。数据管理方法300例如可以在数据存储系统120中执行。
方法300可以包括步骤S301至步骤S303。这里,步骤S301-S303的实施方式分别与步骤S201-S203一致,这里不再赘述。
在步骤S303将编码结果写入资源池之后,方法300可以执行步骤S304。在步骤S304中删除上述至少一个数据存储块中数据的副本。在一个实施例中,步骤S304可以通过解除副本块与第一数据存储块的绑定关系,以实现删除第一数据块中数据的副本。另外,步骤S304还可以解除存储块组中其他数据存储块与相应副本块的绑定关系。这样,步骤S304通过解除绑定关系的方式可以使得副本块可以回收利用。换言之,步骤S304可以解除步骤S303中存储编码结果的存储块组中各数据存储块与各数据存储块所绑定的副本块的绑定关系。在一个实施例中,数据存储系统120可以定期检测资源池中存储块组的存储状态,并对已存储编码结果的存储块组中各数据存储块执行解除与副本块的绑定关系的操作。
在步骤S305中,将与第一数据存储块解除绑定关系的副本块与资源池中第二数据存储块进行绑定,以使副本块存储第二数据存储块中数据的副本。这里,第二数据存储块可以是不包含第一数据存储块的一个存储块组中任一个数据存储块。
在一个实施例中,当检测到资源池中绑定有副本块的数据存储块的数量低于第一阈值时,步骤S305将副本块与第二数据存储块进行绑定。这里,第一阈值可以根据资源池规模进行确定,例如为1000。这样,数据存储系统120可以循环利用副本块存储副本。
在一个实施例中,资源池包括N个存储块组,N为正整数。步骤S305可以检测包含绑定有副本块的数据存储块的存储块组的数量。当检测到包含绑定有副本块的数据存储块的存储块组的数量低于第二阈值时,可以执行将副本块与第二数据存储块进行绑定的操作。这里,第二阈值例如为200,但不限于此。
在一个实施例中,步骤S304可以将解除绑定关系的副本块转化为空闲块,以便数据存储系统120可以集中管理空闲块。这里,空闲块是指资源池中未分配用途的存储块。换言之,数据存储系统120可以将空闲块转化为数据存储块、校验块或者副本块等等。步骤S305可以将空闲块转化为副本块,并将副本块与第二数据存储块进行绑定。
综上,方法300通过将副本块与第二数据存储块绑定,可以循环利用副本块与数据存储块进行绑定,从而能够循环利用有限的副本块存储数据存储块中数据的副本。这样,方法300只需要将少部分存储块用作副本块,从而可以提高数据存储块在资源池中占比,进而提高资源池的数据存储能力。
图4示出了根据本申请一些实施例的数据管理方法400的示意图。数据管理方法400例如可以在数据存储系统120的管理节点121中执行。
在步骤S401中,响应于数据存储请求,为待存储的数据分配资源池中绑定的第一数据存储块和副本块。这里,资源池包括多个数据存储块和多个副本块。数据存储块用于存储数据,副本块用于存储数据的副本。资源池可以包括N个存储块组,N为正整数。每个存储块组可以包括至少一个数据存储块。第一数据存储块可以是一个存储块组中任一数据存储块。
具体而言,管理节点121可以管理资源池的元信息。管理节点121可以根据资源池的元信息为数据分配绑定的数据存储块和副本块。
在一个实施例中,针对待存储的数据(例如为一个数据对象中一个或多个数据分片),步骤S401可以为其分配资源池中绑定的第一数据存储块和副本块。
在一个实施例中,针对与存储资源请求有关的一个数据对象,步骤S401在分配第一数据存储块时,还可以为数据对象分配其他的数据存储块,例如第三数据存储块和第四数据存储块等等。这样,第三和第四数据存储块可以用于存储这个数据对象的数据分片。
在步骤S402中,返回第一数据存储块的地址,使得第一数据存储块存储数据,并使得副本块存储数据的副本。
在一个实施例中,步骤S402可以向发送资源存储请求的设备(例如数据上传系统110)返回第一数据存储块的地址,使得该设备根据第一数据存储块的地址向数据节点发送数据,并使得数据节点在第一数据存储块中存储数据。步骤S402可以基于存储到第一数据存储块的数据,在副本块中存储该数据的副本。
在一个实施例中,步骤S402可以向发送资源存储请求的设备(例如数据上传系统110)返回第一数据存储块的地址和副本块的地址,使得该设备根据第一数据存储块的地址和副本块的地址向数据节点发送数据,并使得数据节点在第一数据存储块中存储数据并在副本块中存储数据的副本。
在步骤S403中,发送对第一数据存储块中的数据进行编码的指示,使得编码结果被存储在资源池中。其中,编码结果用于恢复第一数据存储块中的数据。
在一个实施例中,步骤S403可以向一个数据节点发送对第一数据存储块中的数据进行编码的指示,使得数据节点在进行编码后,将编码结果存储到资源池中的校验块中。
在一个实施例中,当确定存储块组(例如包含第一数据存储块的存储块组)中各数据存储块均满足编码条件时,步骤S403可以发送对存储块组中的数据进行编码的指示。在一个实施例中,步骤S403可以检测存储块组中各数据存储块的数据量。当确定各数据存储块存满数据时,步骤S403可以确定各数据存储块满足编码条件。在一个实施例中,资源池分布在多个数据节点中。步骤S403可以通知多个数据节点中一个数据节点对存储块组中数据进行编码。
在一个实施例中,对于一个待编码的存储块组(例如包含第一数据存储块的第一存储块组),管理节点121可以通知一个数据节点对该存储块组进行纠删编码。具体而言,管理节点121可以将该存储块组中各数据存储块的地址和各数据存储块绑定的副本块的地址发送到数据节点。这样,数据节点可以基于各数据存储块的地址和副本块的地址,获取到存储块组所存储的一份完整数据。这样,数据节点可以对存储块组所存储的数据进行纠删编码,并将编码结果写入到存储块组的校验块中。在一个实施例中,一个存储块组中各数据存储块以及各数据存储块绑定的副本块分布在多个数据节点中。数据节点能够通过哈希方式确定各数据存储块所存储的数据的来源(即确定从数据存储块或者从副本块获取数据),从而使得数据区中各数据节点负载均衡。
综上,方法400能够以多副本方式在数据存储块中写入数据,并且以冗余编码方式保护数据存储块中数据的安全性。这样,方法400既可以保证数据存储块中数据的高效写入,也可以在保证数据安全性的同时节省存储资源。
另外,方法400可以通过步骤S401将数据对象的数据分散存储到各数据存储块中,并可以在步骤S402中按照存储块组对数据存储块进行编码管理。这样,方法400可以避免将每个数据对象分别作为一个独立的编码对象而进行编码,而是能够将存储块组作为独立的编码对象而进行编码。换言之,方法400可以避免将一个数据对象单独生成存储块组,而是在每个存储块组中存储来自一个或多个数据对象的数据分片并对各存储块组分别进行编码。这样,方法400可以充分利用数据存储块对各种大小的数据对象进行高效写入和低冗余地存储。
图5示出了根据本申请一些实施例的数据管理方法500的示意图。数据管理方法500例如可以在数据存储系统120的管理节点121中执行。数据存储系统120的资源池可以包括数据存储块、校验块和副本块。另外,资源池可以包括空闲块。
S501,响应于存储资源请求,为待存储的数据分配资源池中绑定的第一数据存储块和副本块。
S502,返回第一数据存储块的地址,使得第一数据存储块存储数据,并使得副本块存储数据的副本。
S503,发送对第一数据存储块中的数据进行编码的指示,使得编码结果被存储在资源池中。其中,编码结果用于恢复存储块组中的数据。
这里,步骤S501至S503的实施方式与步骤S401至S403一致,这里不再赘述。
S504,当确定编码结果被存储在所述资源池中之后,解除第一数据存储块和副本块的绑定关系。
S505,将副本块与资源池中第二数据存储块进行绑定。这样,副本块可以存储第二数据存储块中数据的副本。这里,第二数据存储块可以是资源池中未绑定副本块的任一个待存储数据的数据存储块。
在一个实施例中,数据存储系统120可以周期性检测资源池中绑定的数据存储块和副本块的数量。这里,每组绑定的数据存储块和副本块的状态可以称为多副本状态。在一个实施例中,当检测到资源池中绑定有副本块的数据存储块的数量低于第一阈值时,步骤S505可以将副本块与第二数据存储块进行绑定。这里,第一阈值可以根据资源池规模进行确定,例如为1000。这样,数据存储系统120可以循环利用副本块存储副本。
在一个实施例中,资源池包括N个存储块组,N为正整数。步骤S505可以检测包含绑定有副本块的数据存储块的存储块组的数量。当检测到包含绑定有副本块的数据存储块的存储块组的数量低于第二阈值时,可以执行将副本块与第二数据存储块进行绑定的操作。这里,第二阈值例如为200,但不限于此。
在一个实施例中,步骤S504可以将解除绑定关系的副本块转化为一个空闲块。相应地,步骤S505可以将该空闲块转化为副本块,将副本块与第二数据存储块进行绑定而得到绑定的第二数据存储块和副本块。
综上,基于步骤S404,方法500可以循环利用副本块与数据存储块进行绑定,从而能够循环利用有限的副本块存储数据存储块中数据的副本。这样,方法500只需要将少部分存储块用作副本块,从而可以提高数据存储块在资源池中占比,进而提高资源池的数据存储能力。
为了更形象解释方法500的执行过程,下面结合图6进行说明。
图6示出了根据本申请一些实施例的资源池的状态变化示意图。如图6所示,在S1的初始化阶段,数据存储系统120可以将资源池中存储资源划分为存储块进行管理。存储块可以包括数据存储块、校验块和空闲块。另外,数据存储系统120可以将数据存储块和校验块按照存储块组进行管理,例如图6中示出的第一存储块组A1和第二存储块组A2。
在S2阶段,数据存储系统120可以将空闲块转化为副本块,并且绑定数据存储块和副本块。例如,数据存储系统120为第一存储块组A1中各数据存储块分别绑定一个副本块。第一数据存储块例如是第一存储块组A1中标出的601。应当理解,数据存储系统120可以为一个数据存储块绑定多个副本块,本申请对此不做限制。这里,S2阶段更具体的实施方式与步骤S505一致,这里不再赘述。
在S3的数据上传阶段,数据存储系统120可以在绑定的副本块和数据存储块中写入数据。例如,数据存储系统120可以在包含第一存储块组A1在内的多个存储块组的数据存储块中写入数据分片。这里,S3的数据上传过程与步骤S502一致,这里不再赘述。
在S4的编码阶段,数据存储系统120可以生成存储块组的编码结果并存储到校验块中,例如,数据存储系统120可以对第一存储块组A1中数据存储块进行纠删编码,并将结果写入到存储块组A1的校验块中。这里,S4的编码阶段更具体的实施方式与步骤S503一致,这里不再赘述。这里,数据存储系统120可以响应于对第一存储块组A1中数据存储块的访问请求,从第一存储块组A1中读取数据。
在S5的解绑阶段,数据存储系统120可以解除数据存储块和副本块的绑定关系。例如,数据存储系统120可以解除存储块组A1中各数据存储块与相应副本块的绑定关系。数据存储系统120可以将解除绑定关系的副本块转化为空闲块。S5的解绑阶段更具体的实施方式与步骤S504一致,这里不再赘述。
对于副本块转化成的空闲块,数据存储系统120可以在S6循环绑定阶段,继续将数据存储块与副本块进行绑定。例如,数据存储系统120可以为第二存储块组A2中各数据存储块绑定相应的副本块。第二数据存储块例如为第二存储块组A2中602。这里,S6循环绑定阶段更具体的实施方式与步骤S505一致,这里不再赘述。这样,第一存储块组A2能够以多副本方式存储数据。
图7示出了根据本申请一些实施例的数据管理装置700的示意图。这里,数据管理装置700例如可以驻留在数据存储系统120中。数据管理装置700可以包括存储管理单元701、编码管理单元702和绑定管理单元703。
存储管理单元701用于响应于对资源池中第一数据存储块的一次或多次数据存储请求,在第一数据存储块中写入与所述一次或多次数据存储请求对应的数据,并在资源池中写入第一数据存储块中数据的副本。其中,第一数据存储块为资源池中包含至少一个数据存储块的一个存储块组中任一数据存储块。
在一个实施例中,对于上述一次或多次数据存储请求中任一次数据存储请求,存储管理单元701可以返回第一数据存储块的地址,使得发送该存储资源请求的设备根据第一数据存储块的地址上传数据。
在一个实施例中,存储管理单元701可以在资源池的副本块中写入第一数据存储块中数据的副本。副本块与第一数据存储块具有绑定关系。
在一个实施例中,存储块组还包括校验块。存储管理单元701可以将编码结果写入校验块中。
在一个实施例中,在将编码结果写入资源池之后,存储管理单元701删除上述至少一个数据存储块中数据的副本。
编码管理单元702用于读取存储块组中上述至少一个数据存储块中数据,并对读取到的数据进行编码而得到编码结果。编码结果用于恢复所述至少一个数据存储块中数据。编码管理单元702还可以将编码结果写入资源池。在一个实施例中,当确定存储块组中各数据存储块均满足编码条件时,编码管理单元702可以对读取到的数据进行编码而得到所述编码结果。在一个实施例中,编码管理单元702可以检测存储块组中各数据存储块的数据量。当确定各数据存储块存满数据时,编码管理单元702可以确定各数据存储块满足编码条件。
在编码结果已存储之后,绑定管理单元703用于解除副本块与第一数据存储块的绑定关系。在一个实施例中,在将编码结果写入资源池之后,绑定管理单元703可以解除副本块与第一数据存储块的绑定关系。
在一个实施例中,绑定管理单元703可以将解除绑定关系的副本块与资源池中第二数据存储块进行绑定,以使副本块存储第二数据存储块中数据的副本。
在一个实施例中,当检测到资源池中绑定有副本块的数据存储块的数量低于第一阈值时,绑定管理单元703可以将副本块与第二数据存储块进行绑定。
在一个实施例中,资源池包括N个存储块组,N为正整数。当检测到N个存储块组中,包含绑定有副本块的数据存储块的存储块组的数量低于第二阈值时,绑定管理单元703可以执行将副本块与第二数据存储块进行绑定的操作。装置700更具体的实施方式与数据管理方法300一致,这里不再赘述。
图8示出了根据本申请一些实施例的数据管理装置800的示意图。数据管理装置800例如可以驻留在数据存储系统120的管理节点121中。数据管理装置800可以包括分配管理单元801、地址返回单元802、编码管理单元803、绑定管理单元804。
分配管理单元801用于响应于存储资源请求,为待存储的数据分配资源池中具有绑定关系的第一数据存储块和副本块。其中,第一数据存储块用于存储数据,副本块用于存储第一数据存储块中数据的副本。第一数据存储块为资源池中包含至少一个数据存储块的一个存储块组中任一数据存储块。
地址返回单元802用于返回第一数据存储块的地址,使得第一数据存储块存储待存储的数据,并使得副本块存储第一数据存储块中数据的副本。
在一个实施例中,地址返回单元802可以向发送资源存储请求的设备返回第一数据存储块的地址,使得设备根据第一数据存储块的地址向资源池发送数据,而使得第一数据存储块中存储数据,并使得副本块中存储第一数据存储块中数据的副本。
编码管理单元803用于发送对存储块组中的数据进行编码的指示,使得编码结果被存储到资源池中。其中,编码结果用于恢复存储块组中的数据。在一个实施例中,当确定存储块组中各数据存储块均满足编码条件时,编码管理单元803发送对存储块组中的数据进行编码的指示。在一个实施例中,编码管理单元803可以检测存储块组中各数据存储块的数据量。当确定各数据存储块存满数据时,编码管理单元803确定各数据存储块满足编码条件。
在一个实施例中,资源池包括N个存储块组。第一数据存储块位于N个存储块组的第一存储块组中。资源池分布在多个数据节点中。编码管理单元803可以通知一个数据节点对第一存储块组中待编码的各数据存储块的数据进行组合并编码。
绑定管理单元804用于当确定编码结果被存储在所述资源池中之后,解除第一数据存储块和副本块的绑定关系。
在一个实施例中,在解除第一数据存储块和副本块的绑定关系之后,绑定管理单元804可以将副本块与资源池中第二数据存储块进行绑定。在一个实施例中,在检测到资源池中绑定有副本块的数据存储块的数量低于第一阈值时,绑定管理单元804可以执行将副本块与第二数据存储块进行绑定的操作。在一个实施例中,资源池包括N个存储块组。第一数据存储块位于N个存储块组中的第一存储块组中。第二数据存储块位于N个存储块组中的第二存储块组中。绑定管理单元804可以检测N个存储块组中,包含有绑定有副本块的数据存储块的存储块组的数量。当检测到存储块组的数量低于第二阈值时,绑定管理单元804可以执行将副本块与第二数据存储块进行绑定的操作。装置800更具体的实施方式请参见数据管理方法500,这里不再赘述。
图9示出了一个计算设备的组成结构图。如图9所示,该计算设备包括一个或者多个处理器(CPU)902、通信模块904、存储器906、用户接口910,以及用于互联这些组件的通信总线908。
处理器902可通过通信模块904接收和发送数据以实现网络通信和/或本地通信。
用户接口910包括一个或多个输出设备912,其包括一个或多个扬声器和/或一个或多个可视化显示器。用户接口910也包括一个或多个输入设备914。用户接口910例如可以接收遥控器的指令,但不限于此。
存储器906可以是高速随机存取存储器,诸如DRAM、SRAM、DDR RAM、或其他随机存取固态存储设备;或者非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备,或其他非易失性固态存储设备。
存储器906存储处理器902可执行的指令集,包括:
操作系统916,包括用于处理各种基本系统服务和用于执行硬件相关任务的程序;
应用918,包括用于实现上述视角调节方法的各种程序,这种程序能够实现上述各实施例中的数据管理流程,比如可以包括图7所示数据管理装置700或者图8所示的数据管理装置800。
另外,本申请的每一个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本申请。
此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本申请。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如CD-ROM等)、磁光存储介质(如MO等)等。
因此本申请还公开了一种非易失性存储介质,其中存储有数据处理程序,该数据处理程序用于执行本申请上述数据管理方法的任意一种实施例。
另外,本申请所述的方法步骤除了可以用数据处理程序来实现,还可以由硬件来实现,例如,可以由逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器和嵌微控制器等来实现。因此这种可以实现本申请所述方法的硬件也可以构成本申请。
以上所述仅为本申请的可选实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (9)

1.一种数据管理方法,其特征在于,应用于数据存储系统,其中所述数据存储系统包括多个数据节点,其中,所述数据存储系统的资源池中的存储块被划分为数据存储块、校验块和副本块,多个数据存储块和多个校验块组成存储块组,每个存储块组中各数据存储块分布在多个数据节点中,所述资源池中一个副本块在与存储块组中数据存储块绑定时,用于存储与该副本块绑定的数据存储块中数据的副本;
所述方法包括:
响应于对资源池中第一数据存储块的一次或多次数据存储请求,在所述第一数据存储块中写入与所述一次或多次数据存储请求对应的第一数据,并在与所述第一数据块绑定的副本块中写入所述第一数据存储块中第一数据的副本,其中,所述第一数据存储块为所述资源池中第一存储块组中任一数据存储块;
检测所述第一存储块组中各数据存储块的数据量;
当确定所述各数据存储块存满数据时,读取所述第一存储块组中各数据存储块中数据,并对读取到的数据进行编码而得到编码结果,所述编码结果用于恢复所述各数据存储块中数据;
将所述编码结果写入所述第一存储块组的校验块;
在所述编码结果写入所述存储块组的校验块之后,解除所述副本块与所述第一数据存储块的绑定关系;
将解除所述绑定关系的所述副本块与所述资源池中第二数据存储块进行绑定,以使所述副本块存储所述第二数据存储块中数据的副本。
2.如权利要求1所述的方法,其中,所述响应于对资源池中第一数据存储块的一次或多次数据存储请求,在所述第一数据存储块中写入与所述一次或多次数据存储请求对应的第一数据,包括:
对于所述一次或多次数据存储请求中任一次数据存储请求,返回所述第一数据存储块的地址,使得发送该存储资源请求的设备根据所述第一数据存储块的地址上传第一数据。
3.如权利要求1所述的方法,其中,所述将解除所述绑定关系的所述副本块与所述资源池中第二数据存储块进行绑定,包括:当检测到所述资源池中绑定有副本块的数据存储块的数量低于第一阈值时,将所述副本块与所述第二数据存储块进行绑定。
4.如权利要求1所述的方法,其中,所述资源池包括N个存储块组,N为正整数;所述将所述副本块与所述资源池中第二数据存储块进行绑定,包括:
当检测到所述N个存储块组中,包含绑定有副本块的数据存储块的存储块组的数量低于第二阈值时,执行将所述副本块与所述第二数据存储块进行绑定的操作。
5.一种数据管理方法,其特征在于,应用于数据存储系统中的管理节点,其中所述数据存储系统包括多个数据节点,其中,所述数据存储系统的资源池中的存储块被划分为数据存储块、校验块和副本块,多个数据存储块和多个校验块组成存储块组,每个存储块组中各数据存储块分布在多个数据节点中,所述资源池中一个副本块在与存储块组中数据存储块绑定时,用于存储与该副本块绑定的数据存储块中数据的副本;
所述方法包括:
响应于数据存储请求,为待存储的第一数据分配资源池中具有绑定关系的第一数据存储块和副本块,所述第一数据存储块用于存储所述第一数据,所述第一数据存储块绑定的副本块用于存储所述第一数据的副本,所述第一数据存储块为所述资源池中第一存储块组中任一数据存储块;
返回所述第一数据存储块的地址,使得所述第一数据存储块存储所述第一数据,并使得所述第一数据存储块绑定的副本块存储所述第一数据的副本;
检测所述第一存储块组中各数据存储块的数据量;
当确定所述各数据存储块存满数据时,发送对所述第一存储块组中的数据进行编码的指示,使得编码结果被存储在所述第一存储块组的校验块,其中,所述编码结果用于恢复所述第一存储块组中的数据;
在所述编码结果写入所述存储块组的校验块之后,解除所述副本块与所述第一数据存储块的绑定关系;
将解除所述绑定关系的所述副本块与所述资源池中第二数据存储块进行绑定,以使所述副本块存储所述第二数据存储块中数据的副本。
6.一种数据管理装置,其特征在于,应用于数据存储系统,其中所述数据存储系统包括多个数据节点,其中,所述数据存储系统的资源池中的存储块被划分为数据存储块、校验块和副本块,多个数据存储块和多个校验块组成存储块组,每个存储块组中各数据存储块分布在多个数据节点中,所述资源池中一个副本块在与存储块组中数据存储块绑定时,用于存储与该副本块绑定的数据存储块中数据的副本;
所述装置包括:
存储管理单元,用于响应于对资源池中第一数据存储块的一次或多次数据存储请求,在所述第一数据存储块中写入与所述一次或多次数据存储请求对应的第一数据,并在与所述第一数据块绑定的副本块中写入所述第一数据存储块中第一数据的副本,其中,所述第一数据存储块为所述资源池中第一存储块组中任一数据存储块;
编码管理单元,用于检测所述第一存储块组中各数据存储块的数据量,当确定所述各数据存储块存满数据时,读取所述存储块组中各数据存储块中数据,并对读取到的数据进行编码而得到编码结果,所述编码结果用于恢复所述各数据存储块中数据,将所述编码结果写入所述第一存储块组的校验块;
绑定管理单元,在所述编码管理单元将所述编码结果写入所述存储块组的校验块之后,所述绑定管理单元解除所述副本块与所述第一数据存储块的绑定关系;将解除所述绑定关系的所述副本块与所述资源池中第二数据存储块进行绑定,以使所述副本块存储所述第二数据存储块中数据的副本。
7.一种数据管理装置,其特征在于,应用于数据存储系统中的管理节点,其中所述数据存储系统包括多个数据节点,其中,所述数据存储系统的资源池中的存储块被划分为数据存储块、校验块和副本块,多个数据存储块和多个校验块组成存储块组,每个存储块组中各数据存储块分布在多个数据节点中,所述资源池中一个副本块在与存储块组中数据存储块绑定时,用于存储与该副本块绑定的数据存储块中数据的副本;
所述装置包括:
分配管理单元,用于响应于数据存储请求,为待存储的第一数据分配资源池中具有绑定关系的第一数据存储块和副本块,所述第一数据存储块用于存储所述第一数据,所述第一数据存储块绑定的副本块用于存储所述第一数据的副本,所述第一数据存储块为所述资源池中第一存储块组中任一数据存储块;
地址返回单元,用于返回所述第一数据存储块的地址,使得所述第一数据存储块存储所述第一数据,并使得所述第一数据存储块绑定的副本块存储所述第一数据的副本;
编码管理单元,用于检测所述第一存储块组中各数据存储块的数据量,当确定所述各数据存储块存满数据时,发送对所述第一存储块组中的数据进行编码的指示,使得编码结果被存储在所述第一存储块组的校验块,其中,所述编码结果用于恢复所述第一存储块组中的数据;
绑定管理单元,在所述编码管理单元将所述编码结果写入所述第一存储块组的校验块之后,所述绑定管理单元解除所述副本块与所述第一数据存储块的绑定关系;
将解除所述绑定关系的所述副本块与所述资源池中第二数据存储块进行绑定,以使所述副本块存储所述第二数据存储块中数据的副本。
8.一种计算设备,其特征在于,包括:
处理器和存储器,所述存储器中存储有计算机可读指令,所述指令可以使所述处理器执行如权利要求1至4中任一项所述的方法。
9.一种存储介质,存储有计算机可读指令,可以使至少一个处理器执行如权利要求1至4中任一项所述的方法。
CN201810617158.1A 2018-06-15 2018-06-15 数据管理方法、装置、计算设备及存储介质 Active CN110196682B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810617158.1A CN110196682B (zh) 2018-06-15 2018-06-15 数据管理方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810617158.1A CN110196682B (zh) 2018-06-15 2018-06-15 数据管理方法、装置、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN110196682A CN110196682A (zh) 2019-09-03
CN110196682B true CN110196682B (zh) 2022-03-18

Family

ID=67751385

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810617158.1A Active CN110196682B (zh) 2018-06-15 2018-06-15 数据管理方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN110196682B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414271B (zh) * 2020-03-17 2023-10-13 上海爱数信息技术股份有限公司 一种基于自适应存储冗余策略的存储方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118133B (zh) * 2013-02-28 2015-09-02 浙江大学 基于文件访问频次的混合云存储方法
US9354991B2 (en) * 2013-06-25 2016-05-31 Microsoft Technology Licensing, Llc Locally generated simple erasure codes
US9367253B2 (en) * 2014-03-13 2016-06-14 Vmware, Inc. Catastrophic data loss avoidance
CN103838860A (zh) * 2014-03-19 2014-06-04 华存数据信息技术有限公司 一种基于动态副本策略的文件存储系统及其存储方法
US9389950B2 (en) * 2014-11-14 2016-07-12 International Business Machines Corporation Techniques for information protection in a solid-state device based storage pool
CN106161523B (zh) * 2015-04-02 2019-11-22 腾讯科技(深圳)有限公司 一种数据处理方法和设备
EP3345360B1 (en) * 2015-09-04 2021-03-03 Nec Corporation Method for storing an object on a plurality of storage nodes
EP3208714B1 (en) * 2015-12-31 2019-08-21 Huawei Technologies Co., Ltd. Data reconstruction method, apparatus and system in distributed storage system
CN106227731B (zh) * 2016-07-06 2019-10-29 联想(北京)有限公司 一种数据处理方法、装置及分布式文件系统
CN106708653B (zh) * 2016-12-29 2020-06-30 广州中国科学院软件应用技术研究所 一种基于纠删码与多副本的混合税务大数据安全保护方法
CN106776146A (zh) * 2016-12-29 2017-05-31 华为技术有限公司 一种数据校验方法、装置及系统
CN106649891A (zh) * 2017-02-24 2017-05-10 深圳市中博睿存信息技术有限公司 一种分布式数据存储方法和系统
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置

Also Published As

Publication number Publication date
CN110196682A (zh) 2019-09-03

Similar Documents

Publication Publication Date Title
US10545823B2 (en) Accelerating erasure code replication in distributed systems
US10489422B2 (en) Reducing data volume durability state for block-based storage
US9405483B1 (en) Optimized write performance at block-based storage during volume snapshot operations
US9720620B1 (en) Efficient data volume replication for block-based storage
US9846540B1 (en) Data durability using un-encoded copies and encoded combinations
US11698728B2 (en) Data updating technology
CN106708653B (zh) 一种基于纠删码与多副本的混合税务大数据安全保护方法
WO2019001521A1 (zh) 数据存储方法、存储设备、客户端及系统
CN108733311B (zh) 用于管理存储系统的方法和设备
US9164856B2 (en) Persistent messaging mechanism
CN102938784A (zh) 应用于分布式存储系统中的数据存储方法和系统
CN110096220B (zh) 一种分布式存储系统、数据处理方法和存储节点
JPWO2018154667A1 (ja) スケールアウト型のストレージシステム
CN111309245B (zh) 一种分层存储写入方法和装置、读取方法和装置及系统
US20190347165A1 (en) Apparatus and method for recovering distributed file system
CN111078127B (zh) 数据迁移方法、系统及装置
CN110196682B (zh) 数据管理方法、装置、计算设备及存储介质
CN108958660B (zh) 分布式存储系统及其数据处理方法和装置
EP4170499A1 (en) Data storage method, storage system, storage device, and storage medium
CN111666047A (zh) 一种分布式系统中存储卷的生成方法和相关装置
US9342419B2 (en) Persistent messaging mechanism
CN115470041A (zh) 一种数据灾备管理方法及装置
JP7193515B2 (ja) 情報ライフサイクル管理のための同期オブジェクト配置
CN111435302B (zh) 一种应用程序的处理方法及装置
CN113778346A (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