CN116820353B - 分布式存储系统的数据处理方法、系统、设备及存储介质 - Google Patents
分布式存储系统的数据处理方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116820353B CN116820353B CN202311085803.7A CN202311085803A CN116820353B CN 116820353 B CN116820353 B CN 116820353B CN 202311085803 A CN202311085803 A CN 202311085803A CN 116820353 B CN116820353 B CN 116820353B
- Authority
- CN
- China
- Prior art keywords
- sub
- snapshot
- cache
- cache blocks
- group
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000013507 mapping Methods 0.000 claims abstract description 109
- 230000004044 response Effects 0.000 claims abstract description 51
- 238000011084 recovery Methods 0.000 claims abstract description 30
- 238000000034 method Methods 0.000 claims description 30
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 4
- 238000004064 recycling Methods 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 41
- 230000004048 modification Effects 0.000 description 16
- 238000012986 modification Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 238000013480 data collection Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001680 brushing effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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]
-
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
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
技术领域
本发明涉及存储领域,具体涉及一种分布式存储系统的数据处理方法、系统、设备及存储介质。
背景技术
在分布式存储集群中,若集群的数据池采用追加写模式,在修改写的场景下,就会不断有存储对象失效,为了数据池的空间能够持续使用,需要对数据池的存储对象进行回收的动作,回收的时候,通过存储对象的摘要信息判断存储对象的有效数据量小于回收阈值后,开启回收操作,当确定可回收的数据范围和对应的业务对象,读取可回收的数据,重新进行新的存储对象的写入,并修改与业务对象的映射关系。
但是在快照场景下,尤其是在分布式存储集群中的快照数量多时,存储对象的一块数据区域有可能对应着业务对象和多个快照对象,在这种场景下,回收的时候,就需要遍历所有的快照对象来进行元数据的更新,严重影响垃圾回收的性能,同时对前端业务也造成很大的影响。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种数据处理方法,包括以下步骤:
为存储对象申请若干个缓存块,所述存储对象包括多个子区域,其中每一个所述缓存块对应一个子区域,并建立所述缓存块与所述子区域的第一映射关系;
响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系;
响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象;
确定每一个所述回收的子区域对应的缓存块并基于所述新的存储对象修改每一个确定的所述缓存块对应的第一映射关系,进而使所述快照对象与所述新的存储对象关联。
在一些实施例中,所述为存储对象申请若干个缓存块的步骤,进一步包括:
响应于接收到业务对象,将所述业务对象保存到列表中;
判断所述列表中写入的数据是否符合预设条件;
响应于符合预设条件,将所述列表中的多个业务对象对应的数据聚合并申请存储对象;
基于所述存储对象将聚合后的数据写入到数据池。
在一些实施例中,还包括:
根据每一个所述业务对象的偏移和长度确定对应的第一组缓存块,并确定第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度;
建立每一个所述业务对象与所述第一组缓存块之间的第三映射关系。
在一些实施例中,所述建立每一个所述业务对象与所述第一组缓存块之间的第三映射关系的步骤,进一步包括对每一个业务对象执行以下步骤:
根据所述业务对象的唯一标识遍历元数据并判断是否能够获取对应的第三映射关系;
响应于未获取到对应的第三映射关系,建立所述业务对象与所述第一组缓存块之间的第三映射关系,并将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的所述第一组缓存块中。
在一些实施例中,所述建立所述业务对象与所述第一组缓存块之间的第三映射关系的步骤,进一步还包括:
以所述业务对象的唯一标识作为key,所述第一组缓存块中的每一个的ID以及所述第一组缓存块中的每一个记录的子偏移和子长度共同作为value建立第三映射关系并保存到所述业务对象的元数据中。
在一些实施例中,还包括:
响应于建立所述第三映射关系,将所述第一组缓存块的引用计数加一。
在一些实施例中,还包括:
响应于获取到对应的第三映射关系,从获取到的第三映射关系中确定所述业务对象对应的第二组缓存块的ID以及所述第二组缓存块中记录的子偏移和子长度;
利用所述第一组缓存块的ID更新获取到的第三映射关系中第二组缓存块中至少一个的ID,并基于所述业务对象的偏移和长度更新获取到的第三映射关系中的所述第二组缓存块中至少一个对应的子偏移和子长度。
在一些实施例中,还包括:
基于所述业务对象的偏移和长度更新在所述第二组缓存块中至少一个中保存的子偏移和子长度;
将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的第一组缓存块中。
在一些实施例中,还包括:
判断所述第二组缓存块中保存的子偏移和子长度是否为空;
响应于为空,将对应的所述第二组缓存块的引用计数减一。
在一些实施例中,所述响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系的步骤,还包括:
响应于接收到对所述业务对象进行快照的请求,生成快照对象,建立快照对象与所述业务对象对应的所述第一组缓存块之间的第二映射关系,并将所述第一组缓存块的引用计数加一。
在一些实施例中,所述响应于接收到对所述业务对象进行快照的请求,生成快照对象的步骤,进一步还包括:
获取请求中携带的第一快照ID以及本地保存的第二快照ID并比对;
响应于所述第一快照ID大于所述第二快照ID,进行快照操作并生成快照对象。
在一些实施例中,还包括:
响应于接收到删除快照对象的请求,根据所述第二映射关系获取待删除的快照对象对应的缓存块;
将所述对应的缓存块的引用计数减一。
在一些实施例中,还包括:
响应于检测到存在缓存块的引用计数为0,将引用计数为0的缓存块的ID写入到对应的存储对象的摘要中。
在一些实施例中,所述响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象的步骤,进一步包括:
响应于所述存储对象中有效数据的占比小于阈值,触发数据回收。
在一些实施例中,所述响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象的步骤,进一步包括:
响应于触发数据回收,从摘要中获取引用计数不为0的缓存块的ID;
根据引用计数不为0的缓存块的ID确定回收的子区域。
在一些实施例中,还包括:
将多个存储对象中回收的子区域重新聚合成新的存储对象。
在一些实施例中,为存储对象申请若干个缓存块,进一步包括:
为存储对象申请若干个相同大小的缓存块,其中每一个缓存块的大小为32k、64k、128k、256k或512k。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种数据处理系统,包括:
申请模块,配置用于为存储对象申请若干个缓存块,所述存储对象包括多个子区域,其中每一个所述缓存块对应一个子区域,并建立所述缓存块与所述子区域的第一映射关系;
快照模块,配置为响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系;
回收模块,配置为响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象;
更新模块,配置为确定每一个所述回收的子区域对应的缓存块并基于所述新的存储对象修改每一个确定的所述缓存块对应的第一映射关系,进而使所述快照对象与所述新的存储对象关联。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时执行如上所述的任一种数据处理方法的步骤。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种数据处理方法的步骤。
本发明具有以下有益技术效果之一:本发明提出的方案通过在存储对象前增加一层缓存层,使得一个存储对象对应若干个定长的缓存块,并将与缓存块对应的子区域大小作为回收单元进行数据回收,对于元数据的修改只需要修改缓存块对应的存储对象即可,这样就能保障数据回收与快照数量不存在关联,解决了快照数量多的时候数据回收性能低下的问题,降低了数据回收对前端业务的影响。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明的实施例提供的数据处理方法的流程示意图;
图2为本发明的实施例提供的业务对象、缓存块、存储对象之间的对应关系图;
图3为本发明的实施例提供的分布式存储集群的结构示意图;
图4为本发明的实施例提供的数据处理方法的时序图;
图5为本发明的实施例提供的数据处理系统的结构示意图;
图6为本发明的实施例提供的计算机设备的结构示意图;
图7为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
根据本发明的一个方面,本发明的实施例提出一种数据处理方法,如图1所示,其可以包括步骤:
S1,为存储对象申请若干个缓存块,所述存储对象包括多个子区域,其中每一个所述缓存块对应一个子区域,并建立所述缓存块与所述子区域的第一映射关系;
S2,响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系;
S3,响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象;
S4,确定每一个所述回收的子区域对应的缓存块并基于所述新的存储对象修改每一个确定的所述缓存块对应的第一映射关系,进而使所述快照对象与所述新的存储对象关联。
本发明提出的方案通过在存储对象前增加一层缓存层,使得一个存储对象对应若干个定长的缓存块,并将与缓存块对应的子区域大小作为回收单元进行数据回收,对于元数据的修改只需要修改缓存块对应的存储对象即可,这样就能保障数据回收与快照数量不存在关联,解决了快照数量多的时候数据回收性能低下的问题,降低了数据回收对前端业务的影响。
在一些实施例中,步骤S1中为存储对象申请若干个缓存块,所述存储对象包括多个子区域,其中每一个所述缓存块对应一个子区域,并建立所述缓存块与所述子区域的第一映射关系,具体的,如图2所示,本发明在业务对象与存储对象之间增加了缓存层(由多个相同大小的缓存块组成),一个存储对象(例如4M大小)对应固定个数的缓存块,每一个缓存块按照顺序对应存储对象的固定偏移位置,即每一个缓存块对应存储对象的一个子区域,比如缓存块的大小是64K,则一个4M大小的存储对象可以对应64个缓存块,这样第一个缓存块对应存储对象0-64k的子区域,第二个缓存块对应65K-128K的子区域,依次类推,这样通过每一个所述缓存块与所述子区域之间的对应关系即可建立第一映射关系,通过第一映射关系可以确定每一个缓存块所对应的子区域。
在一些实施例中,所述为存储对象申请若干个缓存块的步骤,进一步包括:
响应于接收到业务对象,将所述业务对象保存到列表中;
判断所述列表中写入的数据是否符合预设条件;
响应于符合预设条件,将所述列表中的多个业务对象对应的数据聚合并申请存储对象;
基于所述存储对象将聚合后的数据写入到数据池。
具体的,如图3所示,分布式存储集群可以分为缓存池和数据池,其中缓存池可以包括多个副本,优选采用三副本,而数据池可以根据采用纠删码的形式对数据进行存储。为了提高存储系统性能,可以采用聚合追加写的方式进行数据存储。当接收到客户端IO时,利用业务处理模块申请一个业务对象,利用IO数据缓存模块将客户端IO中的数据写入到多副本的缓存池,保证数据落盘后给客户端返回写入成功。缓存池将写入的IO数据缓存在主OSD的内存中,例如可以将数据保存到列表中,以进行数据聚合的准备工作,同时计算本次写入的数据长度,累计的数据长度达到存储对象大小,利用缓存下刷模块开始进行聚合下刷,在数据池中申请一个数据池存储对象,将主OSD缓存的数据写入到数据池,保证数据池的对象一直是追加写。其中,客户端写入缓存池时的对象称之为业务对象,数据池中存储的是聚合后的对象,称之为存储对象。
在一些实施例中,如图3所示,业务模块还可以将热点数据从存储池中缓存到缓存池中。缓存池中还可以包括容量统计上报模块,容量统计上报模块与监控器连接,从而获取到集群的容量和状态,并利用管理软件实现对集群的部署,还可以利用管理软件根据集群的容量和状态对集群中缓存池和/或数据池进行扩容、换盘、管理等。
在一些实施例中,还包括:
根据每一个所述业务对象的偏移和长度确定对应的第一组缓存块,并确定第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度;
建立每一个所述业务对象与所述第一组缓存块之间的第三映射关系。
具体的,如图2所示,一个缓存块对应的是存储对象的一个子区域,根据业务对象的大小,一个子区域可以对应多个业务对象,也有可能多个子区域对应一个业务对象,因此一个业务对象也可以对应一组缓存块,一组缓存块中可以包括至少一个缓存块。这样,根据业务对象的偏移和长度可以确定与之对应的一组缓存块,然后一组缓存块中每一个缓存块可以对应该业务对象的一个子偏移和子长度。而当业务对象只对应一个缓存块,则该缓存块对应的业务对象的子偏移和子长度为该业务对象的偏移和长度。从而根据每一个业务对象对应的一组缓存块以及该组缓存块中的每一个对应的所述业务对象的子偏移和子长度,即可建立第三映射关系,根据第三映射关系可以确定每一个业务对象的每一部分对应的缓存块。
需要说明的是,业务对象的偏移和长度,或业务对象的子偏移和子长度,均是指业务对象中携带的地址参数。由于每一个存储对象对应固定个数的缓存块,每一个缓存块的大小都是相同的,即每一个缓存块对应的长度总和为缓存块的大小,因此可以从第一个业务对象开始,根据每一个业务对象的地址参数(偏移和长度)确定对应的一组缓存块。
例如业务对象A的大小为32K,业务对象B的大小为48K,业务对象C的大小为96K,则业务对象A可以对应一个缓存块A;缓存块A还可以与32K大小的业务对象对应,因此可以将业务对象B拆分成32K和16K两部分,32K部分对应缓存块A,16K部分对应缓存块B,这样业务对象B则对应缓存块A和缓存块B,而缓存块A则对应业务对象A的偏移和长度,以及业务对象B的32K部分的子偏移和子长度;缓存块B还可以与32K大小的业务对象对应,因此可以将业务对象C拆分成32K和64K两部分,32K部分对应缓存块B,64K部分对应缓存块C,这样业务对象C则对应缓存块B和缓存块C,而缓存块C则无法与其他业务对象相对应。而缓存块A则对应业务对象B的16K部分的子偏移和子长度,以及业务对象C的32K部分的子偏移和子长度。
在一些实施例中,所述建立每一个所述业务对象与所述第一组缓存块之间的第三映射关系的步骤,进一步包括对每一个业务对象执行以下步骤:
根据所述业务对象的唯一标识遍历元数据并判断是否能够获取对应的第三映射关系;
响应于未获取到对应的第三映射关系,建立所述业务对象与所述第一组缓存块之间的第三映射关系,并将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的所述第一组缓存块中。
在一些实施例中,所述建立所述业务对象与所述第一组缓存块之间的第三映射关系的步骤,进一步还包括:
以所述业务对象的唯一标识作为key,所述第一组缓存块中的每一个的ID以及所述第一组缓存块中的每一个记录的子偏移和子长度共同作为value建立第三映射关系并保存到所述业务对象的元数据中。
在一些实施例中,还包括:
响应于建立所述第三映射关系,将所述第一组缓存块的引用计数加一。
具体的,如图4所示,在触发存储对象写流程,待存储对象写入数据池成功后,触发写入成功的回调,开始在图3所示的元数据管理模块中进行元数据修改的流程,即开始修改第三映射关系。在修改元数据时,可以先基于每一个业务对象的唯一标识遍历元数据,判断是否能够获取到该业务对象的第三映射关系,如果没有获取到,说明是新写对象,则直接所述业务对象的唯一标识为key,该业务对象对应的一组缓存块以及每一个缓存块对应的子偏移和子长度共同作为value建立第三映射关系并保存到所述业务对象的元数据中,同时将该组缓存块中的每一个缓存块对应的子偏移和子长度记录到相应的缓存块中。例如,上述业务对象A为新写对象,则将业务对象A的唯一标识为key,缓存块A的ID和缓存块A对应的业务对象A的偏移和长度作为value建立映射关系,同时将业务对象A的偏移和长度记录到缓存块A中;上述业务对象B为新写对象,则将业务对象B的唯一标识为key,将缓存块A的ID和缓存块A对应的业务对象B的32K部分的子偏移和子长度、缓存块B的ID和缓存块B对应的业务对象B的16K部分的子偏移和子长度作为value建立映射关系,同时将业务对象B的32K部分的子偏移和子长度记录到缓存块A中、业务对象B的16K部分的子偏移和子长度记录到缓存块B中。并且由于缓存块A记录了业务对象A的偏移和长度,则将缓存块A的引用计数加一,同时其又记录了业务对象B的16K部分的子偏移和子长度,则将缓存块A的引用计数再加一,此时缓存块A的引用计数为二。
在一些实施例中,还包括:
响应于获取到对应的第三映射关系,从获取到的第三映射关系中确定所述业务对象对应的第二组缓存块的ID以及所述第二组缓存块中记录的子偏移和子长度;
利用所述第一组缓存块的ID更新获取到的第三映射关系中第二组缓存块中至少一个的ID,并基于所述业务对象的偏移和长度更新获取到的第三映射关系中的所述第二组缓存块中至少一个对应的子偏移和子长度。
具体的,如图4所示,若根据业务对象的唯一标识能够获取到对应的第三映射关系,说明为修改写场景,则根据业务对象的唯一标识获取到第三映射关系中对应的第二组缓存块的ID以及第二组缓存块中的每一个记录的子偏移和子长度,然后根据上述流程确定的业务对象对应的第一组缓存块以及第一组缓存块中的每一个对应的子偏移和子长度来更新第三映射关系,即根据本次修改的偏移和长度(即该业务对象中携带的偏移和长度)来修改第三映射关系,同时修改更新保存在第二组缓存块中的子偏移和子长度。
例如,根据业务对象A的唯一标识能够获取到第三映射关系,且根据第三映射关系确定业务对象A对应的第二组缓存块为缓存块D和缓存块E,以及缓存块D对应的第一子偏移和第一子长度、缓存块E对应的第二子偏移和第二子长度,将业务对象A本次携带的偏移和长度与第一子偏移和第一子长度、第二子偏移和第二子长度进行对比,确定本次修改的偏移和长度,若本次修改的偏移和长度为第一子偏移和第一子长度,则将第三映射关系中的缓存块D更新为缓存块A,缓存块D对应的第一子偏移和第一子长度更新为缓存块A对应的偏移和长度。若本次修改的偏移和长度为第一子偏移和第一子长度中一部分,第二子偏移和第二子长度中的一部分,则在第三映射关系中新增缓存块A的ID以及缓存块A对应的偏移和长度,并将第三映射关系中缓存块D对应的第一子偏移和第一子长度删除与本次修改的偏移和长度相对应的部分、缓存块E对应的第二子偏移和第二子长度删除与本次修改的偏移和长度相对应的部分。
在一些实施例中,还包括:
基于所述业务对象的偏移和长度更新在所述第二组缓存块中至少一个中保存的子偏移和子长度;
将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的第一组缓存块中。
具体的,如图4所示,在修改写场景,除了需要更新第三映射关系,还需要更新缓存块中记录的偏移和长度,并将本次修改的偏移和长度记录到相应的缓存块中。例如,若上述业务对象A本次修改的偏移和长度为第一子偏移和第一子长度,则将缓存块D中记录的第一子偏移和第一子长度删除,而本次修改的偏移和长度记录到缓存块A中;若上述业务对象A本次修改的偏移和长度为第一子偏移和第一子长度中一部分,第二子偏移和第二子长度中的一部分,则将缓存块D中记录的相应部分删除,缓存块E中记录的相应部分删除,而本次修改的偏移和长度记录到缓存块A中。
在一些实施例中,还包括:
判断所述第二组缓存块中保存的子偏移和子长度是否为空;
响应于为空,将对应的所述第二组缓存块的引用计数减一。
具体的,如图4所示,由于在修改写场景中,需要对缓存块中记录的偏移和长度进行更新,因此需要在更新后检测缓存块中保存的子偏移和子长度是否为空,若为空,引用计数减1。
在一些实施例中,所述响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系的步骤,还包括:
响应于接收到对所述业务对象进行快照的请求,生成快照对象,建立快照对象与所述业务对象对应的所述第一组缓存块之间的第二映射关系,并将所述第一组缓存块的引用计数加一。
在一些实施例中,所述响应于接收到对所述业务对象进行快照的请求,生成快照对象的步骤,进一步还包括:
获取请求中携带的第一快照ID以及本地保存的第二快照ID并比对;
响应于所述第一快照ID大于所述第二快照ID,进行快照操作并生成快照对象。
在一些实施例中,还包括:
响应于接收到删除快照对象的请求,根据所述第二映射关系获取待删除的快照对象对应的缓存块;
将所述对应的缓存块的引用计数减一。
具体的,如图4所示,如果接收到对所述业务对象进行快照的请求,即写流程中带有业务对象的快照ID,并且快照ID比本地快照对象的元数据中保存的大,则说明需要对该业务对象进行打快照操作得到快照对象,同时根据第三映射关系确定该业务对象对应的一组缓存块,并将快照对象与对应的一组缓存块建立第二映射关系,并将该组缓存块中的每一个的引用计数加1。同样的流程,删除快照会在元数据更新的流程中,遍历快照对象的元数据,根据所述第二映射关系获取待删除的快照对象对应的缓存块,将缓存块的引用计数减1。
在一些实施例中,还包括:
响应于检测到存在缓存块的引用计数为0,将引用计数为0的缓存块的ID写入到对应的存储对象的摘要中。
具体的,如果引用计数减为0,则说明这个缓存块不在有业务对应映射,更新缓存块对应存储对象的摘要信息,把这个缓存块ID保存到存储对象摘要中,说明这个缓存块没有引用。
在一些实施例中,所述响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象的步骤,进一步包括:
响应于所述存储对象中有效数据的占比小于阈值,触发数据回收。
在一些实施例中,所述响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象的步骤,进一步包括:
响应于触发数据回收,从摘要中获取引用计数不为0的缓存块的ID;
根据引用计数不为0的缓存块的ID确定回收的子区域。
在一些实施例中,还包括:
将多个存储对象中回收的子区域重新聚合成新的存储对象。
具体的,如图4所示,可以利用图3所示的垃圾回收模块检测存储对象的有效数据占比,当检测到存储对象内部的有效数据量的占比小于阈值,触发数据回收,这时可以从存储对象的摘要信息中,获取到可回收的缓存块,即获取引用计数不为0的缓存块的ID,这样就可以得到需要整理的子区域,数据回收按照缓存块大小(64K)进行回收,按照缓存块对应的子区域进行数据的读取,数据读取成功后,与其他存储对象回收的数据在组成新的存储对象,重新进行数据聚合下刷的流程,然后在元数据更新的流程中更新缓存块对应的存储对象ID和映射的子区域。因此在数据回收的时候,不需要关心这个缓存块有多少个快照对象在引用,只需要完成缓存块和存储对象的映射修改即可,无需修改每一个快照对象与存储对象的映射,解决快照数量多对数据回收的影响。
在一些实施例中,为存储对象申请若干个缓存块,进一步包括:
为存储对象申请若干个相同大小的缓存块,其中每一个缓存块的大小为32k、64k、128k、256k或512k。
具体的,缓存块的大小要可以根据实际需求设定,若缓存块设计太大会造成空间浪费,设计太小修改写场景元数据量更新会变多,优选设计缓存块大小为64k。
本发明提出的方案通过在存储对象前增加一层缓存层,使得一个存储对象对应若干个定长的缓存块,并将与缓存块对应的子区域大小作为回收单元进行数据回收,对于元数据的修改只需要修改缓存块对应的存储对象即可,这样就能保障数据回收与快照数量不存在关联,解决了快照数量多的时候数据回收性能低下的问题,降低了数据回收对前端业务的影响。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种数据处理系统400,如图5所示,包括:
申请模块401,配置用于为存储对象申请若干个缓存块,所述存储对象包括多个子区域,其中每一个所述缓存块对应一个子区域,并建立所述缓存块与所述子区域的第一映射关系;
快照模块402,配置为响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系;
回收模块403,配置为响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象;
更新模块404,配置为确定每一个所述回收的子区域对应的缓存块并基于所述新的存储对象修改每一个确定的所述缓存块对应的第一映射关系,进而使所述快照对象与所述新的存储对象关联。
在一些实施例中,还包括聚合模块,配置为:
响应于接收到业务对象,将所述业务对象保存到列表中;
判断所述列表中写入的数据是否符合预设条件;
响应于符合预设条件,将所述列表中的多个业务对象对应的数据聚合并申请存储对象;
基于所述存储对象将聚合后的数据写入到数据池。
在一些实施例中,元数据模块,配置为:
根据每一个所述业务对象的偏移和长度确定对应的第一组缓存块,并确定第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度;
建立每一个所述业务对象与所述第一组缓存块之间的第三映射关系。
在一些实施例中,元数据模块还配置为:
根据所述业务对象的唯一标识遍历元数据并判断是否能够获取对应的第三映射关系;
响应于未获取到对应的第三映射关系,建立所述业务对象与所述第一组缓存块之间的第三映射关系,并将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的所述第一组缓存块中。
在一些实施例中,元数据模块还配置为:
以所述业务对象的唯一标识作为key,所述第一组缓存块中的每一个的ID以及所述第一组缓存块中的每一个记录的子偏移和子长度共同作为value建立第三映射关系并保存到所述业务对象的元数据中。
在一些实施例中,元数据模块还配置为:
响应于建立所述第三映射关系,将所述第一组缓存块的引用计数加一。
在一些实施例中,元数据模块还配置为:
响应于获取到对应的第三映射关系,从获取到的第三映射关系中确定所述业务对象对应的第二组缓存块的ID以及所述第二组缓存块中记录的子偏移和子长度;
利用所述第一组缓存块的ID更新获取到的第三映射关系中第二组缓存块中至少一个的ID,并基于所述业务对象的偏移和长度更新获取到的第三映射关系中的所述第二组缓存块中至少一个对应的子偏移和子长度。
在一些实施例中,元数据模块还配置为:
基于所述业务对象的偏移和长度更新在所述第二组缓存块中至少一个中保存的子偏移和子长度;
将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的第一组缓存块中。
在一些实施例中,元数据模块还配置为:
判断所述第二组缓存块中保存的子偏移和子长度是否为空;
响应于为空,将对应的所述第二组缓存块的引用计数减一。
在一些实施例中,快照模块402还配置为:
响应于接收到对所述业务对象进行快照的请求,生成快照对象,建立快照对象与所述业务对象对应的所述第一组缓存块之间的第二映射关系,并将所述第一组缓存块的引用计数加一。
在一些实施例中,快照模块402还配置为:
获取请求中携带的第一快照ID以及本地保存的第二快照ID并比对;
响应于所述第一快照ID大于所述第二快照ID,进行快照操作并生成快照对象。
在一些实施例中,快照模块402还配置为:
响应于接收到删除快照对象的请求,根据所述第二映射关系获取待删除的快照对象对应的缓存块;
将所述对应的缓存块的引用计数减一。
在一些实施例中,还包括检测模块,配置为:
响应于检测到存在缓存块的引用计数为0,将引用计数为0的缓存块的ID写入到对应的存储对象的摘要中。
在一些实施例中,所述响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象的步骤,进一步包括:
响应于所述存储对象中有效数据的占比小于阈值,触发数据回收。
在一些实施例中,回收模块403还配置为:
响应于触发数据回收,从摘要中获取引用计数不为0的缓存块的ID;
根据引用计数不为0的缓存块的ID确定回收的子区域。
在一些实施例中,回收模块403还配置为:
将多个存储对象中回收的子区域重新聚合成新的存储对象。
在一些实施例中,申请模块还配置为:
为存储对象申请若干个相同大小的缓存块,其中每一个缓存块的大小为32k、64k、128k、256k或512k。
基于同一发明构思,根据本发明的另一个方面,如图6所示,本发明的实施例还提供了一种计算机设备501,包括:
至少一个处理器520;以及
存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种数据处理方法的步骤。
基于同一发明构思,根据本发明的另一个方面,如图7所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序610,计算机程序610被处理器执行时执行如上的任一种数据处理方法的步骤。
最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (20)
1.一种分布式存储系统的数据处理方法,其特征在于,包括以下步骤:
为存储对象申请若干个缓存块,所述存储对象包括多个子区域,其中每一个所述缓存块对应一个子区域,并建立所述缓存块与所述子区域的第一映射关系;
响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系;
响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象;
确定每一个所述回收的子区域对应的缓存块并基于所述新的存储对象修改每一个确定的所述缓存块对应的第一映射关系,进而使所述快照对象与所述新的存储对象关联。
2.如权利要求1所述的方法,其特征在于,所述为存储对象申请若干个缓存块的步骤,进一步包括:
响应于接收到业务对象,将所述业务对象保存到列表中;
判断所述列表中写入的数据是否符合预设条件;
响应于符合预设条件,将所述列表中的多个业务对象对应的数据聚合并申请存储对象;
基于所述存储对象将聚合后的数据写入到数据池。
3.如权利要求2所述的方法,其特征在于,还包括:
根据每一个所述业务对象的偏移和长度确定对应的第一组缓存块,并确定第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度;
建立每一个所述业务对象与所述第一组缓存块之间的第三映射关系。
4.如权利要求3所述的方法,其特征在于,所述建立每一个所述业务对象与所述第一组缓存块之间的第三映射关系的步骤,进一步包括对每一个业务对象执行以下步骤:
根据所述业务对象的唯一标识遍历元数据并判断是否能够获取对应的第三映射关系;
响应于未获取到对应的第三映射关系,建立所述业务对象与所述第一组缓存块之间的第三映射关系,并将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的所述第一组缓存块中。
5.如权利要求4所述的方法,其特征在于,所述建立所述业务对象与所述第一组缓存块之间的第三映射关系的步骤,进一步还包括:
以所述业务对象的唯一标识作为key,所述第一组缓存块中的每一个的ID以及所述第一组缓存块中的每一个记录的子偏移和子长度共同作为value建立第三映射关系并保存到所述业务对象的元数据中。
6.如权利要求5所述的方法,其特征在于,还包括:
响应于建立所述第三映射关系,将所述第一组缓存块的引用计数加一。
7.如权利要求4所述的方法,其特征在于,还包括:
响应于获取到对应的第三映射关系,从获取到的第三映射关系中确定所述业务对象对应的第二组缓存块的ID以及所述第二组缓存块中记录的子偏移和子长度;
利用所述第一组缓存块的ID更新获取到的第三映射关系中第二组缓存块中至少一个的ID,并基于所述业务对象的偏移和长度更新获取到的第三映射关系中的所述第二组缓存块中至少一个对应的子偏移和子长度。
8.如权利要求7所述的方法,其特征在于,还包括:
基于所述业务对象的偏移和长度更新在所述第二组缓存块中至少一个中保存的子偏移和子长度;
将所述第一组缓存块中的每一个对应的所述业务对象的子偏移和子长度分别写入到相应的第一组缓存块中。
9.如权利要求8所述的方法,其特征在于,还包括:
判断所述第二组缓存块中保存的子偏移和子长度是否为空;
响应于为空,将对应的所述第二组缓存块的引用计数减一。
10.如权利要求3所述的方法,其特征在于,所述响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系的步骤,还包括:
响应于接收到对所述业务对象进行快照的请求,生成快照对象,建立快照对象与所述业务对象对应的所述第一组缓存块之间的第二映射关系,并将所述第一组缓存块的引用计数加一。
11.如权利要求10所述的方法,其特征在于,所述响应于接收到对所述业务对象进行快照的请求,生成快照对象的步骤,进一步还包括:
获取请求中携带的第一快照ID以及本地保存的第二快照ID并比对;
响应于所述第一快照ID大于所述第二快照ID,进行快照操作并生成快照对象。
12.如权利要求10所述的方法,其特征在于,还包括:
响应于接收到删除快照对象的请求,根据所述第二映射关系获取待删除的快照对象对应的缓存块;
将所述对应的缓存块的引用计数减一。
13.如权利要求9或12所述的方法,其特征在于,还包括:
响应于检测到存在缓存块的引用计数为0,将引用计数为0的缓存块的ID写入到对应的存储对象的摘要中。
14.如权利要求1所述的方法,其特征在于,所述响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象的步骤,进一步包括:
响应于所述存储对象中有效数据的占比小于阈值,触发数据回收。
15.如权利要求13所述的方法,其特征在于,所述响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象的步骤,进一步包括:
响应于触发数据回收,从摘要中获取引用计数不为0的缓存块的ID;
根据引用计数不为0的缓存块的ID确定回收的子区域。
16.如权利要求15所述的方法,其特征在于,还包括:
将多个存储对象中回收的子区域重新聚合成新的存储对象。
17.如权利要求1所述的方法,其特征在于,为存储对象申请若干个缓存块,进一步包括:
为存储对象申请若干个相同大小的缓存块,其中每一个缓存块的大小为32k、64k、128k、256k或512k。
18.一种数据处理系统,其特征在于,包括:
申请模块,配置用于为存储对象申请若干个缓存块,所述存储对象包括多个子区域,其中每一个所述缓存块对应一个子区域,并建立所述缓存块与所述子区域的第一映射关系;
快照模块,配置为响应于接收到快照请求,生成快照对象并建立所述快照对象与所述缓存块的第二映射关系;
回收模块,配置为响应于触发数据回收,以所述子区域为粒度进行回收并将回收的多个子区域重新聚合成新的存储对象;
更新模块,配置为确定每一个所述回收的子区域对应的缓存块并基于所述新的存储对象修改每一个确定的所述缓存块对应的第一映射关系,进而使所述快照对象与所述新的存储对象关联。
19.一种计算机设备,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如权利要求1-17任意一项所述的方法的步骤。
20.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行如权利要求1-17任意一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085803.7A CN116820353B (zh) | 2023-08-28 | 2023-08-28 | 分布式存储系统的数据处理方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311085803.7A CN116820353B (zh) | 2023-08-28 | 2023-08-28 | 分布式存储系统的数据处理方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116820353A CN116820353A (zh) | 2023-09-29 |
CN116820353B true CN116820353B (zh) | 2024-01-26 |
Family
ID=88120681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311085803.7A Active CN116820353B (zh) | 2023-08-28 | 2023-08-28 | 分布式存储系统的数据处理方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116820353B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104182353A (zh) * | 2014-08-21 | 2014-12-03 | 段超 | 一种采用不同存储介质的数据存储系统 |
US9317213B1 (en) * | 2013-05-10 | 2016-04-19 | Amazon Technologies, Inc. | Efficient storage of variably-sized data objects in a data store |
US9792298B1 (en) * | 2010-05-03 | 2017-10-17 | Panzura, Inc. | Managing metadata and data storage for a cloud controller in a distributed filesystem |
CN111587423A (zh) * | 2017-11-13 | 2020-08-25 | 维卡艾欧有限公司 | 分布式存储系统的分层数据策略 |
CN111797119A (zh) * | 2020-05-19 | 2020-10-20 | 武汉乐程软工科技有限公司 | 一种缓存装置、系统及缓存方法 |
CN114968949A (zh) * | 2022-05-23 | 2022-08-30 | 三星(中国)半导体有限公司 | 缓存数据的方法、主机设备和存储系统 |
-
2023
- 2023-08-28 CN CN202311085803.7A patent/CN116820353B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9792298B1 (en) * | 2010-05-03 | 2017-10-17 | Panzura, Inc. | Managing metadata and data storage for a cloud controller in a distributed filesystem |
US9317213B1 (en) * | 2013-05-10 | 2016-04-19 | Amazon Technologies, Inc. | Efficient storage of variably-sized data objects in a data store |
CN104182353A (zh) * | 2014-08-21 | 2014-12-03 | 段超 | 一种采用不同存储介质的数据存储系统 |
CN111587423A (zh) * | 2017-11-13 | 2020-08-25 | 维卡艾欧有限公司 | 分布式存储系统的分层数据策略 |
CN111797119A (zh) * | 2020-05-19 | 2020-10-20 | 武汉乐程软工科技有限公司 | 一种缓存装置、系统及缓存方法 |
CN114968949A (zh) * | 2022-05-23 | 2022-08-30 | 三星(中国)半导体有限公司 | 缓存数据的方法、主机设备和存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116820353A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9836362B2 (en) | Cyclic commit transaction protocol | |
CN108319602B (zh) | 数据库管理方法及数据库系统 | |
EP0501180A2 (en) | Dynamic, finite versioning for concurrent transaction and query processing | |
US20120259863A1 (en) | Low Level Object Version Tracking Using Non-Volatile Memory Write Generations | |
US20100146213A1 (en) | Data Cache Processing Method, System And Data Cache Apparatus | |
CN111506253B (zh) | 一种分布式存储系统及其存储方法 | |
CN112131140B (zh) | 基于ssd的支持高效存储空间管理的键值分离存储方法 | |
US7610320B2 (en) | Technique for remapping data in a storage management system | |
CN112860594B (zh) | 一种固态盘地址重映射方法、设备及固态盘 | |
US10761936B2 (en) | Versioned records management using restart era | |
CN112817962B (zh) | 基于对象存储的数据存储方法、装置和计算机设备 | |
CN116820353B (zh) | 分布式存储系统的数据处理方法、系统、设备及存储介质 | |
CN109325005B (zh) | 一种数据处理方法和电子设备 | |
CN113821476B (zh) | 数据处理方法及装置 | |
CN113687783B (zh) | 一种对象聚合方法、系统、装置及计算机存储介质 | |
CN115543868A (zh) | 一种数据存储方法、装置、电子设备及可读介质 | |
CN115421648A (zh) | 内存垃圾回收方法、装置、设备、存储介质和程序产品 | |
JP2003122646A (ja) | Icカードおよびicカードのメモリアクセス制御方法 | |
KR100941423B1 (ko) | 메모리의 페이지 할당 방법 및 이를 수행하기 위한프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체 | |
CN111078465A (zh) | 一种数据恢复方法、装置及计算机可读存储介质 | |
CN111581157A (zh) | 一种对象存储平台以及对象操作方法、装置和服务器 | |
CN116775506B (zh) | 内存回收方法、装置、设备和介质 | |
CN118069074B (zh) | 一种数据处理方法及装置、存储介质、计算机程序产品 | |
CN114880277A (zh) | 块设备快照方法、系统和存储介质 | |
CN115774516A (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 |