CN111767010B - 数据处理方法、装置、设备及存储介质 - Google Patents
数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111767010B CN111767010B CN202010612046.4A CN202010612046A CN111767010B CN 111767010 B CN111767010 B CN 111767010B CN 202010612046 A CN202010612046 A CN 202010612046A CN 111767010 B CN111767010 B CN 111767010B
- Authority
- CN
- China
- Prior art keywords
- data
- storage unit
- stripes
- check block
- stripe
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed 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
技术领域
本申请实施例涉及数据存储技术领域,特别涉及一种数据处理方法、装置、设备及存储介质。
背景技术
在云存储系统中,存储节点可以采用对象存储的方式对诸如图片之类的数据进行存储,譬如,将用户连续存入的图片存储至对象(object)中,并且,为了保证数据存储的可靠性和安全性,可以采用基于纠删码的方式来存储。
为了支持数据的删除业务,通常是在对象索引中对所删除的数据进行标记,但没有真正的清理存储单元,如此以来,导致存储单元无法被重复利用,譬如,若一个2G的对象只剩一张1M大小的图片,剩余近2G的存储空间也无法用来写入新数据,造成存储空间浪费。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备及存储介质,可以解决相关技术中在数据删除时由于没有真正对存储单元进行清理导致造成存储空间浪费的问题。所述技术方案如下:
一方面,提供了一种数据处理方法,所述方法包括:
接收管理节点发送的删除信息,所述删除信息包括对象标识和第一数据标记信息,所述对象标识用于标识被标记删除的数据所在的对象,所述第一数据标记信息用于确定所述被标识删除的数据在所述对象中的位置;
根据所述对象标识和所述第一数据标记信息,确定所述被标记删除的数据所占的存储空间;
若所占的存储空间包括至少一个完整的存储单元,对所述至少一个完整的存储单元进行清理;
基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块;
存储重新生成的校验块。
可选地,所述至少一个完整的存储单元对应的条带的数量为多个,所述基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块,包括:
若多个条带中存在包括未清理的存储单元的目标条带,基于所述目标条带中未清理的存储单元内的数据,重新确定所述目标条带中的数据对应的校验块,得到所述目标条带的第一校验块;
所述存储重新生成的校验块,包括:
对所述目标条带的第一校验块进行存储。
可选地,所述至少一个完整的存储单元对应的条带的数量为多个,所述基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块,包括:
若多个条带中还包括未清理的存储单元,如果所述多个条带中存在满足合并条件的条带,将满足合并条件的条带进行合并;
基于所述多个条带中合并后的条带内的数据,重新确定所述合并后的条带内的数据对应的校验块,得到第二校验块,以及基于所述多个条带中未合并的条带内的数据,重新确定所述未合并的条带内的数据对应的校验块,得到第三校验块;
所述存储重新生成的校验块,包括:
分别对所述第二校验块和所述第三校验块进行存储。
可选地,所述方法还包括:
若所述多个条带中的部分条带包括的未清理的存储单元的数量总和为参考数量阈值,将所述部分条带确定为满足合并条件的条带。
可选地,所述方法还包括:
若所占的存储空间包括一个完整存储单元中的部分存储单元,确定占所述部分存储单元的数据对应的第二数据标记信息;
将所述对象标识和所述第二数据标记信息发送给所述管理节点。
另一方面,提供了一种数据处理装置,所述装置包括:
接收模块,用于接收管理节点发送的删除信息,所述删除信息包括对象标识和第一数据标记信息,所述对象标识用于标识被标记删除的数据所在的对象,所述第一数据标记信息用于确定所述被标识删除的数据在所述对象中的位置;
确定模块,用于根据所述对象标识和所述第一数据标记信息,确定所述被标记删除的数据所占的存储空间;
清理模块,用于若所占的存储空间包括至少一个完整的存储单元,对所述至少一个完整的存储单元进行清理;
生成模块,用于基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块;
存储模块,用于存储重新生成的校验块。
可选地,所述至少一个完整的存储单元对应的条带的数量为多个;所述生成模块用于:
若多个条带中存在包括未清理的存储单元的目标条带,基于所述目标条带中未清理的存储单元内的数据,重新确定所述目标条带中的数据对应的校验块,得到所述目标条带的第一校验块;
所述存储模块用于:
对所述目标条带的第一校验块进行存储。
可选地,所述至少一个完整的存储单元对应的条带的数量为多个;所述生成模块用于:
若多个条带中还包括未清理的存储单元,如果所述多个条带中存在满足合并条件的条带,将满足合并条件的条带进行合并;
基于所述多个条带中合并后的条带内的数据,重新确定所述合并后的条带内的数据对应的校验块,得到第二校验块,以及基于所述多个条带中未合并的条带内的数据,重新确定所述未合并的条带内的数据对应的校验块,得到第三校验块;
所述存储模块用于:
分别对所述第二校验块和所述第三校验块进行存储。
可选地,所述生成模块还用于:
若所述多个条带中的部分条带包括的未清理的存储单元的数量总和为参考数量阈值,将所述部分条带确定为满足合并条件的条带。
可选地,所述存储模块还用于:
若所占的存储空间包括一个完整存储单元中的部分存储单元,确定占所述部分存储单元的数据对应的第二数据标记信息;
将所述对象标识和所述第二数据标记信息发送给所述管理节点。
另一方面,提供了一种计算机设备,所述计算机设备包括处理器、通信接口、存储器和通信总线,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的程序,以实现上述所述数据处理方法的步骤。
另一方面,提供了一种计算机可读存储介质,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述所述数据处理方法的步骤。
另一方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的数据处理方法的步骤。
本申请实施例提供的技术方案至少可以带来以下有益效果:
在本申请实施例中,接收管理节点发送的对象标识和第一数据标记信息,根据该对象标识和该第一数据标记信息,可以确定被标记删除的数据在哪个对象中,以及在该对象中的位置,从而,可以确定该被标记删除的数据所占的存储空间。若所占的存储空间包括至少一个完整的存储单元,说明该至少一个完整的存储单元中不包括其他数据,所以可以对该至少一个完整的存储单元进行清理,并基于清理后剩余的数据重新生成校验块进行存储。如此,可以使得该至少一个完整的存储节点被重新利用存储其他新数据,进而可以避免存储空间浪费。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种数据处理方法的流程图;
图3是本申请实施例提供的一种对象的示意图;
图4是本申请实施例提供的另一种对象的示意图;
图5是本申请实施例提供的另一种对象的示意图;
图6是本申请实施例提供的另一种对象的示意图;
图7是本申请实施例提供的另一种对象的示意图;
图8是本申请实施例提供的另一种对象的示意图;
图9是本申请实施例提供的一种数据处理装置的结构示意图;
图10是本申请实施例提供的一种存储节点的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在对本申请实施例提供的数据处理方法进行详细的解释说明之前,先对本申请实施例提供的实施环境进行介绍。
本申请实施例提供的数据处理方法应用于云存储系统中,请参考图1,图1是根据一示例性实施例示出的一种实施环境的示意图。该实施环境包括存储节点110、管理节点120和客户端130,该存储节点110可以分别与管理节点120以及客户端130建立有通信连接,该管理节点120可以与客户端130建立有通信连接,该通信连接可以为有线连接或者无线连接,本申请实施例对此不做限定。
其中,该存储节点110中可以提供有存储模块和服务模块,存储模块包括磁盘之类的存储介质,以通过磁盘对数据进行存储,服务模块可以用于对存储模块存储的数据进行管理,譬如,在满足一定的条件下,可以对存储模块中的数据进行清理。
其中,该管理节点120可以用于对存储节点110中存储的数据的索引信息进行集中管理,譬如,当客户端需要读取存储节点110中的数据时,可以由管理节点120确定所要读取的数据的存储位置,并将该存储位置的索引信息发送给客户端,以便于客户端根据索引信息从存储节点110中读取数据。再如,若存储节点110中的某数据需要删除,管理节点120可以在所要删除的数据对应的索引信息中进行标记,如此,后续客户端读取该被标记删除的数据时,管理节点120不再将该被标记删除的数据对应的索引信息发给客户端。
其中,该客户端130可以用于向存储节点110写入数据,或者,从存储节点110中读取数据等。该客户端130可以为独立的实体设备,或者,也可以配置于终端设备中,该终端设备可以是任何一种可与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互的电子产品,例如PC(Personal Computer,个人计算机)、手机、智能手机、PDA(Personal Digital Assistant,个人数字助手)、可穿戴设备、掌上电脑PPC(Pocket PC)、平板电脑、智能车机、智能电视、智能音箱等。
本领域技术人员应能理解上述云存储系统仅为举例,其他现有的或今后可能出现的云存储系统如可适用于本申请实施例,也应包含在本申请实施例保护范围以内,并在此以引用方式包含于此。
在介绍完本申请实施例提供的实施环境后,接下来将结合附图对本申请实施例提供的数据处理方法进行详细的解释说明。
图2是本申请实施例提供的一种数据处理方法的流程图,该方法应用于上述图1所示的实施环境中,主要由存储节点来执行。该方法可以包括如下几个实现步骤:
步骤201:接收管理节点发送的删除信息,该删除信息包括对象标识和第一数据标记信息,该对象标识用于标识被标记删除的数据所在的对象,该第一数据标记信息用于确定该被标识删除的数据在该对象中的位置。
其中,该对象标识可以用于唯一指示一个对象。在云存储系统中,存储节点可以以对象的方式对数据进行存储,一个对象中通常可以存储多个数据,譬如,该数据为图片,某个对象中可以存储上万张图片。为了便于区分不同的对象,通常采用对象标识来指示一个对象。
其中,该删除信息中包括的对象标识的数量可能为一个,也可能为多个。当该删除信息中的对象标识的数量为多个时,说明该存储节点内有多个对象中存在被标记删除的数据,在该种情况下,可以采用如下技术过程分别针对每个对象对应的存储单元进行处理。
作为一种示例,该第一数据标记信息可以包括该被标记删除的数据在该对象中的起始位置以及数据长度,该数据长度用于表示数据大小,譬如,该数据长度为2K。进一步地,若该被标记删除的数据包括多个,该第一数据标记信息包括多组信息,每组信息可以包括起始位置和数据长度。
作为一种示例,管理节点可以周期性地向存储节点下发删除信息。示例性的,每当有数据要删除时,管理节点通常会在对应的索引信息中进行标记,并记录对应的删除信息,需要注意的是,在标记的过程中,实际上并没有对存储节点的数据真正的删除,即存储节点中被标记删除的数据实际上没有被清理掉。
在此过程中,每隔指定时长,该管理节点统计所记录的删除信息,并向对应的存储节点发送该删除信息,相应的,存储节点接收该管理节点发送的删除信息。
其中,该指定时长可以由用户根据实际需求进行设置,或者,也可以由该存储节点默认设置,本申请实施例对此不做限定。
步骤202:根据该对象标识和该第一数据标记信息,确定该被标记删除的数据所占的存储空间。
存储节点接收到该删除信息后,可以对该删除信息进行解析,以得到该对象标识和该第一数据标记信息。正如前文所述,由于一个对象标识可以唯一标识一个对象,所以,根据该对象标识可以确定被标记删除的数据是属于哪个对象的。另外,由于该第一数据标记信息可以用于确定该被标记删除的数据在该对象中的位置,所以,确定该被标记删除的数据是属于哪个对象后,可以根据该第一数据标记信息,确定该被标记删除的数据在对象中的位置。由于存储节点可以感知各个对象占用哪些存储空间,所以,确定该被标记删除的数据在对象中的位置后,即可确定该被标记删除的数据占用存储节点的哪些存储空间。
作为一种示例,假设该对象标识为objectA,该第一数据标记信息包括1_1和2.5K,其中,该1_1表示该被标记删除的数据在该对象中的起始位置,该2.5K表示该被标记删除的数据的数据长度。请参考图3,若该对象中每个存储单元的大小为1K,则可以确定该被标记删除的数据所占的存储空间为图3中的阴影部分所示,即占用了存储单元1_1、存储单元1_2,且还占用了存储单元1_3中的一部分。由此可见,在一些实施例中,一个数据(譬如一张图片)可能跨多个存储单元,且起止边界可能位于一个存储单元的内部。
作为另一种示例,假设该对象标识为objectA,该第一数据标记信息包括多个,分别为1_1和2.5K,以及2_3和1K,请参考图4,若该对象中每个存储单元的大小为1K,则可以确定该被标记删除的数据所占的存储空间为图4中的阴影部分所示,即2.5K的数据占用了存储单元1_1、存储单元1_2,且还占用了存储单元1_3中的一部分,另外,1K的数据占用了存储单元2_3。
步骤203:若所占的存储空间包括至少一个完整的存储单元,对该至少一个完整的存储单元进行清理。
不难理解,该被标记删除的数据所占用的存储空间可能包括有至少一个完整的存储单元,若包括至少一个完整的存储单元,说明该至少一个完整的存储单元中仅存储该被标记删除的数据,没有存储其他数据,所以,该存储节点可以对该至少一个完整的存储单元进行清理,以便于该至少一个完整的存储单元后续能够重新被用来存储其他的数据。
譬如,如图3所示,该被标记删除的数据所占的存储空间包括存储单元1_1、存储单元1_2和半个存储单元1_3,即所占的存储空间包括两个完整的存储单元,分别为存储单元1_1和存储单元1_2,在该种情况下,可以确定该存储单元1_1和存储单元1_2中除了存有被标记删除的数据之外,不存有其他的数据,所以,在该种情况下,可以对该存储单元1_1和存储单元1_2进行清理,如此,可以保证在不影响其他数据存储的同时,使得存储单元1_1和存储单元1_2能够重新被利用。
再如,请参考图5,假设该被标记删除的数据包括多个,所占的存储空间包括存储单元1_2、存储单元2_3、存储单元3_1、存储单元3_3和存储单元4_4,此时,可以理解为一个数据正好占用一个存储单元。由于该存储单元1_2、存储单元2_3、存储单元3_1、存储单元3_3和存储单元4_4均为完整的存储单元,即这几个存储单元中除了存有被标记删除的数据之外,没有存储其他数据,所以,该存储节点可以对该存储单元1_2、存储单元2_3、存储单元3_1、存储单元3_3和存储单元4_4进行清理,使得这几个存储单元后续可以被重新用来存储其他的数据。
步骤204:基于该至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块。
也即是,本申请实施例提供的方法能够应用于基于纠删码的云存储系统中。在对条带中的部分数据进行清理后,条带内的数据发生变化,在该种情况下,为了便于后续在需要时能够基于条带对应的校验块,对条带内剩余的数据进行有效恢复,电子设备在进行数据清理后,需要基于清理后剩余的数据,重新生成被清理的条带的检验块。
作为一种示例,该至少一个完整的存储单元对应的条带的数量为多个,此时,基于该至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块的具体实现可以包括:若多个条带中存在包括未清理的存储单元的目标条带,基于该目标条带中未清理的存储单元内的数据,重新确定该目标条带中的数据对应的校验块,得到该目标条带的第一校验块。
其中,该目标条带的数量可能为一个,也可能为多个。
示例性的,若该目标条带的数量为一个,则可以直接基于该目标条带中剩余未清理的数据,生成该目标条带对应的校验块,得到该目标条带的第一校验块。
譬如,请参考图6,该至少一个完整的存储单元对应的条带包括条带d和条带e,该条带e中被清理的存储单元包括存储单元5_1、存储单元5_2、存储单元5_3和存储单元5_4。该条带d中被清理的存储单元为存储单元4_4,剩余的未被清理的存储单元包括存储单元4_1、存储单元4_2和存储单元4_3。该存储节点基于该存储单元4_1、存储单元4_2和存储单元4_3内的数据,重新确定条带d对应的校验块。
示例性的,当该目标条带的数量为多个时,可以分别基于每个目标条带中未清理的存储单元内的数据,重新确定每个目标条带中的数据对应的校验块,得到每个目标条带的第一校验块。
作为另一种示例,该至少一个完整的存储单元对应的条带的数量为多个,此时,基于至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块的具体实现可以包括:若多个条带中还包括未清理的存储单元,如果该多个条带中存在满足合并条件的条带,将满足合并条件的条带进行合并,基于该多个条带中合并后的条带内的数据,重新确定该合并后的条带内的数据对应的校验块,得到第二校验块,以及基于该多个条带中未合并的条带内的数据,重新确定该未合并的条带内的数据对应的校验块,得到第三校验块。
也就是说,如果该多个条带中有满足合并条件的条带,就将满足合并条件的条带进行合并。然后,对于合并了的条带,基于合并后的条带内的数据重新生成对应的校验块,对于未合并的条带,基于未合并的条带内的数据重新生成对应的校验块。
作为一种示例,若该多个条带中的部分条带包括的未清理的存储单元的数量总和为参考数量阈值,将该部分条带确定为满足合并条件的条带。
其中,该参考数量阈值可以由用户根据实际需求进行设置,或者,可以由该存储节点默认设置,示例性的,该参考数量阈值可以为8,16等,本申请实施例对此不做限定。
在该多个条带中,如果存在一部分条带所包括的未清理的存储单元的数量总和满足另一种规则的大条带的合并条件,则可以进行条带合并,并基于合并后的条带内的数据,重新确定校验块,以便于可以进一步节省部分校验块占用的空间。
示例性的,假设该参考数量阈值为8,请参考图7,在该多个条带中,条带a、条带b和条带c这三个条带包括的未清理的存储单元的数量总和为8,此时,可以确定该条带a、条带b和条带c为满足合并条件的条带。在确定该条带a、条带b和条带c为满足合并条件的条带后,可以将该条带a、条带b和条带c进行合并,得到包括8个存储单元的数据块,然后可以基于该8个存储单元内的数据,重新确定校验块,此时得到的校验块包括4个,也即是,最终得到的是8+4的大条带。
值得一提的是,若未进行合并,则条带a中包括两个校验块,条带b中包括两个校验块,以及条带c中也包括两个校验块,即该三个条带共计包括6个校验块,但经过合并后,最终得到的条带中仅包括4个校验块。由此可见,相比于未合并前,可以节省2个校验块占用的空间。
需要说明的是,上述仅是以该至少一个完整的存储单元对应的条带的数量总和为多个的情况下,对满足合并条件的条带进行合并为例进行说明,在另一实施例中,在该至少一个完整的存储单元对应的条带的数量总和为多个的情况下,也可以不进行条带合并,而是直接基于各个条带中剩余的存储单元内的数据进行运算,以重新确定各个条带的校验块。
需要说明的是,上述是以该至少一个完整的存储单元对应的条带的数量为多个为例进行说明。不难理解,若该至少一个完整的存储单元对应的条带的数量为一个,且该条带中还包括未清理的存储单元,则基于该条带中清理后剩余的数据,重新生成该条带的校验块。譬如,请参考图8,该至少一个完整的存储单元对应的条带包括条带f,该条带f中被清理的存储单元为存储单元6_3和存储单元6_4,剩余的未被清理的存储单元包括存储单元6_1和存储单元6_2,该存储节点基于该存储单元6_1和存储单元6_2内的数据,重新确定条带f对应的校验块。
步骤205:存储重新生成的校验块。
作为一种示例,若在上述重新确定校验块过程中得到第一校验块,则存储重新生成的校验块的实现可以包括:对目标条带的第一校验块进行存储。
作为另一种示例,若在上述重新确定校验块过程中得到第二校验块和第三校验块,则存储重新生成的校验块的实现可以包括:分别对第二校验块和第三校验块进行存储。
作为一种示例,若所占的存储空间包括一个完整存储单元中的部分存储单元,确定占该部分存储单元的数据对应的第二数据标记信息,将该对象标识和该第二数据标记信息发送给该管理节点。
其中,该第二数据标记信息可以用于确定部分存储单元中被标记删除的数据在对应的对象中的位置。在实施中,该存储节点可以确定该部分存储单元在条带中的位置,以及确定该条带在对象中的位置,进而确定该第二数据标记信息。示例性地,该第二数据标记信息可以包括起始位置和数据长度。
也即是,在一些情况下,该被标记删除的数据可能仅占某个存储单元的一部分,即该存储单元除了包括被标记删除的数据之外,还包括未被标记删除的数据,或者说,该存储单元中还包括有用的数据。在该种情况下,如果对该存储单元进行清理,容易影响该存储单元中的其他未被标记删除的数据,譬如,可能会导致未被标记删除的数据丢失。所以,该存储节点可以不对该存储单元进行清理处理,从而避免误删等处理导致有用数据丢失。
此外,不难理解,在未来的某个时间,可能该存储单元内的有用数据也被标记为删除的数据,在该种情况下,由于该存储单元内的数据都被标记为删除的数据,即该存储单元内的数据都是无用的数据,所以,可以对该存储单元进行清理。为此,在当前时刻,可以记录该存储单元内被标记删除的数据,在本实施例中,可以确定该存储单元中被标记删除的数据的第二数据标记信息,并将该第二数据标记信息和所在的对象的对象标识发送给管理节点,由该管理节点记录该第二数据标记信息和该对象标识,以便于后续可以以删除信息的方式再次下发给该存储节点。
譬如,请参考图3,被标记删除的数据占存储单元1_3的一半,即该存储单元1_3中除了包括被标记删除的数据之外,还包括其他未被标记删除的数据。在该种情况下,该存储节点不对该存储单元1_3进行清理。由于该存储单元1_3中被标记删除的数据没有被清理掉,为了便于后续在该存储单元1_3中另一部分数据也被标记删除的情况下,能够对该存储单元1_3进行清理,该存储节点可以确定存储单元1_3中被标记删除但没有被清理的数据对应的第二数据标记信息,然后将该第二数据标记信息和该对象标识发送给管理节点,由管理节点对该第二数据标记信息和对象标识进行记录,以便于在下一个周期以删除信息的方式发送给该存储节点。
需要说明的是,上述仅是以若所占的存储空间包括一个完整存储单元中的部分存储单元,确定占该部分存储单元的数据对应的第二数据标记信息,并将该对象标识和该第二数据标记信息发送给该管理节点为例进行说明。在另一实施例中,若所占的存储空间包括一个完整存储单元中的部分存储单元,还可以由该存储节点在本地记录占该部分存储单元的数据对应的第二数据标记信息和对象标识,以便于后续在确定所占的存储单元的另一部分数据也被标记删除的情况下,对该存储单元进行清理。
在本申请实施例中,在本申请实施例中,接收管理节点发送的对象标识和第一数据标记信息,根据该对象标识和该第一数据标记信息,可以确定被标记删除的数据在哪个对象中,以及在该对象中的位置,从而,可以确定该被标记删除的数据所占的存储空间。若所占的存储空间包括至少一个完整的存储单元,说明该至少一个完整的存储单元中不包括其他数据,所以可以对该至少一个完整的存储单元进行清理,并基于清理后剩余的数据重新生成校验块进行存储。如此,可以使得该至少一个完整的存储节点被重新利用存储其他新数据,进而可以避免存储空间浪费。
图9是本申请实施例提供的一种数据处理装置的结构示意图,请参考图9,该装置包括:
接收模块910,用于接收管理节点发送的删除信息,所述删除信息包括对象标识和第一数据标记信息,所述对象标识用于标识被标记删除的数据所在的对象,所述第一数据标记信息用于确定所述被标识删除的数据在所述对象中的位置;
确定模块920,用于根据所述对象标识和所述第一数据标记信息,确定所述被标记删除的数据所占的存储空间;
清理模块930,用于若所占的存储空间包括至少一个完整的存储单元,对所述至少一个完整的存储单元进行清理;
生成模块940,用于基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块;
存储模块950,用于存储重新生成的校验块。
可选地,所述至少一个完整的存储单元对应的条带的数量为多个;所述生成模块940用于:
若多个条带中存在包括未清理的存储单元的目标条带,基于所述目标条带中未清理的存储单元内的数据,重新确定所述目标条带中的数据对应的校验块,得到所述目标条带的第一校验块;
所述存储模块950用于:
对所述目标条带的第一校验块进行存储。
可选地,所述生成模块940用于:
若多个条带中还包括未清理的存储单元,如果所述多个条带中存在满足合并条件的条带,将满足合并条件的条带进行合并;
基于所述多个条带中合并后的条带内的数据,重新确定所述合并后的条带内的数据对应的校验块,得到第二校验块,以及基于所述多个条带中未合并的条带内的数据,重新确定所述未合并的条带内的数据对应的校验块,得到第三校验块;
所述存储模块950用于:
分别对所述第二校验块和所述第三校验块进行存储。
可选地,所述生成模块940还用于:
若所述多个条带中的部分条带包括的未清理的存储单元的数量总和为参考数量阈值,将所述部分条带确定为满足合并条件的条带。
可选地,所述存储模块950还用于:
若所占的存储空间包括一个完整存储单元中的部分存储单元,确定占所述部分存储单元的数据对应的第二数据标记信息;
将所述对象标识和所述第二数据标记信息发送给所述管理节点。
在本申请实施例中,接收管理节点发送的对象标识和第一数据标记信息,根据该对象标识和该第一数据标记信息,可以确定被标记删除的数据在哪个对象中,以及在该对象中的位置,从而,可以确定该被标记删除的数据所占的存储空间。若所占的存储空间包括至少一个完整的存储单元,说明该至少一个完整的存储单元中不包括其他数据,所以可以对该至少一个完整的存储单元进行清理,并基于清理后剩余的数据重新生成校验块进行存储。如此,可以使得该至少一个完整的存储节点被重新利用存储其他新数据,进而可以避免存储空间浪费。
需要说明的是:上述实施例提供的数据处理装置在处理数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据处理装置与数据处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图10是本申请实施例提供的一种存储节点的结构示意图。存储节点1000包括中央处理单元(CPU)1001、包括随机存取存储器(RAM)1002和只读存储器(ROM)1003的系统存储器1004,以及连接系统存储器1004和中央处理单元1001的系统总线1005。存储节点1000还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1006,和用于存储操作系统1013、应用程序1014和其他程序模块1015的大容量存储设备1007。
基本输入/输出系统1006包括有用于显示信息的显示器1008和用于用户输入信息的诸如鼠标、键盘之类的输入设备1009。其中显示器1008和输入设备1009都通过连接到系统总线1005的输入输出控制器1010连接到中央处理单元1001。基本输入/输出系统1006还可以包括输入输出控制器1010以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1010还提供输出到显示屏、打印机或其他类型的输出设备。
大容量存储设备1007通过连接到系统总线1005的大容量存储控制器(未示出)连接到中央处理单元1001。大容量存储设备1007及其相关联的计算机可读介质为存储节点1000提供非易失性存储。也就是说,大容量存储设备1007可以包括诸如硬盘或者CD-ROM驱动器之类的计算机可读介质(未示出)。
不失一般性,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知计算机存储介质不局限于上述几种。上述的系统存储器1004和大容量存储设备1007可以统称为存储器。
根据本申请各种实施例,存储节点1000还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即存储节点1000可以通过连接在系统总线1005上的网络接口单元1011连接到网络1012,或者说,也可以使用网络接口单元1011来连接到其他类型的网络或远程计算机系统(未示出)。
上述存储器还包括一个或者一个以上的程序,一个或者一个以上程序存储于存储器中,被配置由CPU执行。
在一些实施例中,还提供了一种计算机可读存储介质,该存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例中数据处理方法的步骤。例如,所述计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。
应当理解的是,实现上述实施例的全部或部分步骤可以通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。所述计算机指令可以存储在上述计算机可读存储介质中。
也即是,在一些实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述所述的数据处理方法的步骤。
以上所述为本申请提供的实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (9)
1.一种数据处理方法,其特征在于,所述方法包括:
接收管理节点发送的删除信息,所述删除信息包括对象标识和第一数据标记信息,所述对象标识用于标识被标记删除的数据所在的对象,所述第一数据标记信息用于确定所述被标识删除的数据在所述对象中的位置;
根据所述对象标识和所述第一数据标记信息,确定所述被标记删除的数据所占的存储空间;
若所占的存储空间包括至少一个完整的存储单元,对所述至少一个完整的存储单元进行清理;
基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块;
存储重新生成的校验块;
所述方法还包括:
若所占的存储空间包括一个完整存储单元中的部分存储单元,确定占所述部分存储单元的数据对应的第二数据标记信息;
在本地记录所述对象标识和所述第二数据标记信息,或者将所述对象标识和所述第二数据标记信息发送给所述管理节点,由所述管理节点记录所述对象标识和所述第二数据标记信息。
2.如权利要求1所述的方法,其特征在于,所述至少一个完整的存储单元对应的条带的数量为多个,所述基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块,包括:
若多个条带中存在包括未清理的存储单元的目标条带,基于所述目标条带中未清理的存储单元内的数据,重新确定所述目标条带中的数据对应的校验块,得到所述目标条带的第一校验块;
所述存储重新生成的校验块,包括:
对所述目标条带的第一校验块进行存储。
3.如权利要求1所述的方法,其特征在于,所述至少一个完整的存储单元对应的条带的数量为多个,所述基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块,包括:
若多个条带中还包括未清理的存储单元,如果所述多个条带中存在满足合并条件的条带,将满足合并条件的条带进行合并;
基于所述多个条带中合并后的条带内的数据,重新确定所述合并后的条带内的数据对应的校验块,得到第二校验块,以及基于所述多个条带中未合并的条带内的数据,重新确定所述未合并的条带内的数据对应的校验块,得到第三校验块;
所述存储重新生成的校验块,包括:
分别对所述第二校验块和所述第三校验块进行存储。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
若所述多个条带中的部分条带包括的未清理的存储单元的数量总和为参考数量阈值,将所述部分条带确定为满足合并条件的条带。
5.一种数据处理装置,其特征在于,所述装置包括:
接收模块,用于接收管理节点发送的删除信息,所述删除信息包括对象标识和第一数据标记信息,所述对象标识用于标识被标记删除的数据所在的对象,所述第一数据标记信息用于确定所述被标识删除的数据在所述对象中的位置;
确定模块,用于根据所述对象标识和所述第一数据标记信息,确定所述被标记删除的数据所占的存储空间;
清理模块,用于若所占的存储空间包括至少一个完整的存储单元,对所述至少一个完整的存储单元进行清理;
生成模块,用于基于所述至少一个完整的存储单元对应的条带中清理后剩余的数据,重新生成被清理的条带的校验块;
存储模块,用于存储重新生成的校验块;
所述存储模块还用于:
若所占的存储空间包括一个完整存储单元中的部分存储单元,确定占所述部分存储单元的数据对应的第二数据标记信息;
在本地记录所述对象标识和所述第二数据标记信息,或者将所述对象标识和所述第二数据标记信息发送给所述管理节点,由所述管理节点记录所述对象标识和所述第二数据标记信息。
6.如权利要求5所述的装置,其特征在于,所述至少一个完整的存储单元对应的条带的数量为多个;所述生成模块用于:
若多个条带中存在包括未清理的存储单元的目标条带,基于所述目标条带中未清理的存储单元内的数据,重新确定所述目标条带中的数据对应的校验块,得到所述目标条带的第一校验块;
所述存储模块用于:
对所述目标条带的第一校验块进行存储。
7.如权利要求5所述的装置,其特征在于,所述至少一个完整的存储单元对应的条带的数量为多个;所述生成模块用于:
若多个条带中还包括未清理的存储单元,如果所述多个条带中存在满足合并条件的条带,将满足合并条件的条带进行合并;
基于所述多个条带中合并后的条带内的数据,重新确定所述合并后的条带内的数据对应的校验块,得到第二校验块,以及基于所述多个条带中未合并的条带内的数据,重新确定所述未合并的条带内的数据对应的校验块,得到第三校验块;
所述存储模块用于:
分别对所述第二校验块和所述第三校验块进行存储。
8.一种计算机设备,其特征在于,所述计算机设备包括处理器、通信接口、存储器和通信总线,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信,所述存储器用于存放计算机程序,所述处理器用于执行所述存储器上所存放的程序,以实现权利要求1-4任一所述方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-4任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612046.4A CN111767010B (zh) | 2020-06-30 | 2020-06-30 | 数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010612046.4A CN111767010B (zh) | 2020-06-30 | 2020-06-30 | 数据处理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111767010A CN111767010A (zh) | 2020-10-13 |
CN111767010B true CN111767010B (zh) | 2023-03-14 |
Family
ID=72722929
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010612046.4A Active CN111767010B (zh) | 2020-06-30 | 2020-06-30 | 数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111767010B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463333A (zh) * | 2016-06-03 | 2017-12-12 | 杭州海康威视数字技术股份有限公司 | 网络硬盘空间的回收方法、装置和系统 |
CN109426622A (zh) * | 2017-08-31 | 2019-03-05 | 香港理工大学深圳研究院 | 一种提高闪存固态盘寿命的方法及高寿命闪存固态盘 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140124674A (ko) * | 2013-04-17 | 2014-10-27 | 한국전자통신연구원 | 파일 수준의 데이터 분산 저장 방법 |
-
2020
- 2020-06-30 CN CN202010612046.4A patent/CN111767010B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463333A (zh) * | 2016-06-03 | 2017-12-12 | 杭州海康威视数字技术股份有限公司 | 网络硬盘空间的回收方法、装置和系统 |
CN109426622A (zh) * | 2017-08-31 | 2019-03-05 | 香港理工大学深圳研究院 | 一种提高闪存固态盘寿命的方法及高寿命闪存固态盘 |
Also Published As
Publication number | Publication date |
---|---|
CN111767010A (zh) | 2020-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110399310B (zh) | 一种存储空间的回收方法及装置 | |
CN107643880A (zh) | 基于分布式文件系统的文件数据迁移的方法及装置 | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN101909189B (zh) | 文件恢复方法、系统及dvr | |
CN112925759A (zh) | 数据文件的处理方法和装置、存储介质、电子装置 | |
CN111459399A (zh) | 一种数据写入方法、数据读取方法及装置 | |
CN104462148B (zh) | 一种数据存储管理方法及装置 | |
CN115756955A (zh) | 一种数据备份、数据恢复的方法、装置及计算机设备 | |
CN108829355B (zh) | 一种垃圾回收方法及装置 | |
CN109542841B (zh) | 集群中创建数据快照的方法及终端设备 | |
CN102257498B (zh) | 配置文件的注释生成方法及配置文件生成设备 | |
CN111767010B (zh) | 数据处理方法、装置、设备及存储介质 | |
WO2024119760A1 (zh) | 一种卷创建方法及装置、卷读写方法及装置、电子设备 | |
CN108205559B (zh) | 一种数据管理方法及其设备 | |
CN113064553A (zh) | 数据存储方法、装置、设备及介质 | |
CN111628996A (zh) | 一种基于物联网的电子数据通信方法及系统 | |
CN112596949A (zh) | 一种高效率的ssd删除数据恢复方法及系统 | |
CN111399759B (zh) | 读数据、写数据的方法、以及对象文件系统 | |
CN115934999A (zh) | 一种基于块文件的视频流数据存储方法、装置及介质 | |
CN105045542A (zh) | 一种实现快照管理的方法及装置 | |
CN112540733A (zh) | 一种数据管理方法、装置、电子设备及存储介质 | |
CN113254273A (zh) | 一种实时恢复主元数据的方法、系统、设备及介质 | |
CN114217741A (zh) | 存储装置的存储方法及存储装置 | |
CN110990394B (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 |