CN117648297A - 基于对象存储小文件离线合并方法、***、设备及介质 - Google Patents

基于对象存储小文件离线合并方法、***、设备及介质 Download PDF

Info

Publication number
CN117648297A
CN117648297A CN202410122524.1A CN202410122524A CN117648297A CN 117648297 A CN117648297 A CN 117648297A CN 202410122524 A CN202410122524 A CN 202410122524A CN 117648297 A CN117648297 A CN 117648297A
Authority
CN
China
Prior art keywords
data
pool
small
metadata
written
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202410122524.1A
Other languages
English (en)
Other versions
CN117648297B (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202410122524.1A priority Critical patent/CN117648297B/zh
Publication of CN117648297A publication Critical patent/CN117648297A/zh
Application granted granted Critical
Publication of CN117648297B publication Critical patent/CN117648297B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及了一种基于对象存储小文件离线合并方法、***、设备及介质,在将对象数据判断出是小对象数据且写入缓存池时,生成写入时刻的时间戳,增加了基于时间戳的索引,在定期选取批量小对象数据归并时,会基于时间戳的索引选取的是同一时刻或同一时间段写入缓存池的一批小对象数据,通过在对象存储网关层对小对象数据按照时间序列进行离线合并,然后再将合并之后的大对象写入到数据池,更新相应的元数据后再删除写入的小对象数据,保证了在不影响对象存储原有业务的前提下,减少存储后台的元数据开销,保证存储性能的平稳性。而且避免了小文件合并后,过期删除所带来的文件空洞问题。

Description

基于对象存储小文件离线合并方法、***、设备及介质
技术领域
本申请实施例涉及数据存储技术领域,尤其涉及一种基于对象存储小文件离线合并方法、***、设备及介质。
背景技术
在海量小文件存储场景下,现有的对象存储架构会存在性能下降的问题。主要因为现有文件***大多数是为了大文件而设计的,海量小文件场景文件***的元数据会急剧增加,元数据的查询开销加大,导致IO读写变得缓慢。而且现阶段的小文件合并,还存在过期删除所带来的文件空洞问题。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制保护范围。
本公开实施例的主要目的在于提出一种基于对象存储小文件离线合并方法、***、设备及介质。能够减少存储后台元数据开销,保证存储性能平稳性,而且能避免小文件合并后,过期删除所带来的文件空洞问题。
为实现上述目的,本公开实施例的第一方面提出了一种基于对象存储小文件离线合并方法,所述基于对象存储小文件离线合并方法包括:
接收客户端发送的第一数据;
当所述第一数据的数据量低于第一阈值,将所述第一数据看作小对象数据写入至缓存池中,并在元数据索引池中更新所述第一数据对应的第一元数据,以及在所述缓存池中生成包含所述第一数据写入所述缓存池的时间戳和身份信息的第一证明信息;
根据所述第一证明信息,从所述缓存池中选取与所述第一数据同一时刻或同一时间段写入所述缓存池中的若干个小对象数据,当所述若干个小对象数据的数据量之和高于第二阈值,将所述若干个小对象数据归并成一个大对象数据;其中,所述若干个小对象数据包括所述第一数据,每个小对象数据在写入所述缓存池时均生成包含有对应时间戳和身份信息的证明信息;
将所述大对象数据写入至数据池中,并在所述元数据索引池中更新所述第一数据的第一元数据;
删除所述缓存池中的所述第一数据和所述第一证明信息。
在一些实施例中,在所述将所述若干个小对象数据归并成一个大对象数据之后,所述基于对象存储小文件离线合并方法还包括:
记载所述第一数据在所述大对象数据中的位置。
在一些实施例中,在所述接收客户端发送的第一数据之后,所述基于对象存储小文件离线合并方法还包括:
当所述第一数据的数据量高于所述第一阈值,将所述第一数据看作大对象数据,并将所述第一数据写入至所述数据池中,在所述元数据索引池更新所述第一数据的第一元数据。
在一些实施例中,所述基于对象存储小文件离线合并方法还包括:
根据第二证明信息,从所述缓存池中选取已写入的第二数据;其中,所述第二数据是数据量低于所述第一阈值的小对象数据,且所述第二数据写入至所述缓存池时生成了所述第二证明信息,所述第二证明信息中包括所述第二数据写入至所述缓存池的时间戳和身份信息;
根据所述第二数据在所述元数据索引池中对应的第二元数据,判断所述第二数据是否被归并;当所述第二数据已经归并和写入所述数据池后,删除所述缓存池中的所述第二数据和所述第二证明信息。
在一些实施例中,所述基于对象存储小文件离线合并方法包括:
接收所述客户端获取所述第一数据的请求;所述请求中携带有所述第一数据的身份信息;
根据所述第一数据的身份信息从所述元数据索引池中获取所述第一数据的第一元数据;
根据所述第一数据的第一元数据,判断所述第一数据的位置,当所述第一数据位于所述缓存池中,则从所述缓存池中提取所述第一数据;
将提取的所述第一数据及其第一元数据组装后发送至所述客户端。
在一些实施例中,所述基于对象存储小文件离线合并方法包括:
当所述第一数据位于所述数据池中,从所述数据池中提取包括所述第一数据的所述大对象数据;
根据记载的所述第一数据在所述大对象数据中的位置,从所述大对象数据中提取出所述第一数据;
将提取的所述第一数据及其第一元数据组装后发送至所述客户端。
在一些实施例中,所述第一数据的身份信息为所述第一数据的数据名。
为实现上述目的,本公开实施例的第二方面提出了一种基于对象存储小文件离线合并***,所述基于对象存储小文件离线合并***包括:
数据接收单元,用于接收客户端发送的第一数据;
小对象写入单元,用于当所述第一数据的数据量低于第一阈值,将所述第一数据看作小对象数据写入至缓存池中,并在元数据索引池中更新所述第一数据对应的第一元数据,以及在所述缓存池中生成包含所述第一数据写入所述缓存池的时间戳和身份信息的第一证明信息;
小对象归并单元,用于根据所述第一证明信息,从所述缓存池中选取与所述第一数据同一时刻或同一时间段写入所述缓存池中的若干个小对象数据,当所述若干个小对象数据的数据量之和高于第二阈值,将所述若干个小对象数据归并成一个大对象数据;其中,所述若干个小对象数据包括所述第一数据,每个小对象数据在写入所述缓存池时均生成包含有对应时间戳和身份信息的证明信息;
大对象写入单元,用于将所述大对象数据写入至数据池中,并在所述元数据索引池中更新所述第一数据的第一元数据;
后处理单元,用于删除所述缓存池中的所述第一数据和所述第一证明信息。
为实现上述目的,本公开实施例的第三方面提出了一种电子设备,包括至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:
如第一方面实施例任一项所述的基于对象存储小文件离线合并方法。
为实现上述目的,本公开实施例的第四方面还提出一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如第一方面实施例任一项所述的基于对象存储小文件离线合并方法。
本申请实施例第一方面提供了基于对象存储小文件离线合并方法,本方法在将对象数据判断出是小对象数据且写入缓存池时,生成写入时刻的时间戳,增加了基于时间戳的索引,在定期选取批量小对象数据归并时,会基于时间戳的索引选取的是同一时刻或同一时间段写入缓存池的一批小对象数据,通过在对象存储网关层对小对象数据按照时间序列进行离线合并,然后再将合并之后的大对象写入到数据池,更新相应的元数据后再删除写入的小对象数据,保证了在不影响对象存储原有业务的前提下,减少存储后台的元数据开销,保证存储性能的平稳性。而且避免了小文件合并后,过期删除所带来的文件空洞问题。
可以理解的是,上述第二方面至第四方面和相关技术相比存在的有益效果和上述第一方面和相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的对象存储的架构图;
图2是本申请一个实施例提供的基于对象存储小文件离线合并方法的流程示意图;
图3是本申请一个实施例提供的对象写入流程框图;
图4是本申请一个实施例提供的对象归并流程框图;
图5是本申请一个实施例提供的对象读取流程框图;
图6是本申请一个实施例提供的基于对象存储小文件离线合并***的结构示意图;
图7是本申请一个实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语和属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
以下先介绍本申请实施例的部分技术概念:
对象存储,也叫做基于对象的存储,是用来描述解决和处理离散单元的方法的通用术语,这些离散单元被称作为对象。
就像文件一样,对象包含数据,但是和文件不同的是,对象在一个层结构中不会再有层级结构。每个对象都在一个被称作存储池的扁平地址空间的同一级别里,一个对象不会属于另一个对象的下一级。文件和对象都有与它们所包含的数据相关的元数据,但是对象是以扩展元数据为特征的。每个对象都被分配一个唯一的标识符,允许一个服务器或者最终用户来检索对象,而不必知道数据的物理地址。这种方法对于在云计算环境中自动化和简化数据存储有帮助。对象存储经常被比作在一家高级餐厅代客停车。当一个顾客需要代客停车时,他就把钥匙交给别人,换来一张收据。这个顾客不用知道他的车被停在哪,也不用知道在他用餐时服务员会把他的车移动多少次。在这个比喻中,一个存储对象的唯一标识符就代表顾客的收据。
对象存储网关,是对象存储提供的一种服务,使得客户能够利用标准对象存储API来访问对象存储集群,而对象存储网关通过内部接口来访问底下的存储引擎。
对象存储网关一般为web服务,提供标准的restful接口,在对象网关层可以进行用户权限的控制、协议的转换以及数据分析处理等,极大的丰富了对象存储的使用场景。
海量小文件存储,在信息***时代,每天产生的数据不仅存储容量巨大,而且还具有数据类型繁多、数据大小变化大、流动快等显著特点,往往能够产生千万级、亿级甚至十亿、百亿级的海量小文件。而目前的文件***,包括本地文件***、分布式文件***和对象存储***,都是针对大文件设计的,比如XFS/EXT4、GlusterFS、GFS、HDFS,在元数据管理、数据布局、缓存管理等实现策略上侧重大文件,而海量小文件应用在性能和存储效率等方面要大幅度下降。
在海量小文件存储场景下,普通的linux文件***中,读取一个文件包含三次磁盘IO:首先读取目录元数据到内存,其次把文件的inode节点装载到内存,最后读取实际的文件内容。由于小文件个数太多,无法将所有的目录及文件的inode信息缓存到内存,因此磁盘IO次数很难达到每个图片读取只需要一次磁盘IO的理想状态。对于LOSF存储而言,IOPS/OPS是关键性能指标,造成性能和存储效率降低的主要原因包括元数据管理、数据布局和IO管理、Cache管理、网络开销等方面。从理论上分析LOSF优化时间来看,优化应该从元数据管理、缓存机制、小文件合并等方面展开。在现有的解决方案中,小文件合并存储是目前优化LOSF问题最为成功的策略,已经被包含Facebook的haystack和淘宝TFS在内多个分布式存储***采用。它通过多个逻辑文件共享一个同一个物理文件,将多个小文件合并存储到一个大文件中,实现高效的小文件存储。
在海量小文件存储场景下,现有的对象存储架构会存在性能下降的问题。主要因为现有文件***大多数是为了大文件而设计的,海量小文件场景文件***的元数据会急剧增加,元数据的查询开销加大,导致IO读写变得缓慢。而且现阶段的小文件合并,通常在后台归并时,通常基于对象名进行排序后归并,这样会导致不同时间写入的对象会归并到同一个大对象中,导致过去删除时会形成空洞,增加了后续空间回收的压力。而且其需频繁监控小文件的总数和大小,增加了元数据的资源消耗。以下说明空洞问题:
形成空洞和对象存储的生命周期特性相关,生命周期特性一般是基于时间来转移对象,例如一个大对象包含ABC三个小对象,A对象是22号写入的,B对象是23号写入的,C对象是24号写入的。生命周期的策略是超过3天后,把对象转移到冷存储池进行归档,这样在25号会把对象A转移到冷存储池,由于对象BC还没有达到3天的生命周期,所以不会转移。这样不同时间写入的对象合并到一个大对象,就会导致在生命周期转移时,由于时间长短不一,导致转移后形成空洞。
本申请的目的在于:通过在对象存储网关层对小对象(小文件)按照时间序列进行离线合并,然后再将合并之后的大对象(大文件)写入到存储节点,更新相应的元数据后再删除前台写入的小对象,保证了在不影响对象存储原有业务的前提下,减少存储后台的元数据开销,保证存储性能的平稳性。而且避免了小文件合并后,过期删除所带来的文件空洞问题。
以下介绍本申请的实施例:
参照图1,图1是本实施例提供的对象存储的架构图,其架构主要包括如下部分:
(1)对象网关(对象存储网关层),包括有业务网关和后端网关;
对于业务网关,其作用有:接受客户端请求(包括写入和读取),对于写请求,如果对象的大小小于规定阈值,则把对象写入缓存池,并更新对象于索引池对应元数据;如果对象的大小大于规定阈值,则把数据写入数据池,并更新对应元数据。对于读请求,通过索引池获取对应元数据,并基于元数据在缓存池/数据池获取对应数据,并回复客户端响应;
对于后端网关:定时通过获取元数据池的相关索引信息,基于索引信息执行一些后台任务,例如 生命周期相关操作、小对象的后台合并等。
(2)元数据中心集群;
维护整个集群的状态,以及路由规则,路由规则主要是指对象与存储节点的对应关系。
(3)数据存储集群:负责对象的存储以及副本之间的一致性;
Pool:基于osd(磁盘的业务进程)之上的逻辑概念,主要是为了在逻辑上对各类数据类型进行隔离存储;
数据池(Data pool):存储归并后大对象的实际数据;
缓存池(Cache pool):存储待归并小对象的实际数据;
元数据索引池(Index pool):存储对象的元数据。
参照图2,图2是本申请的一个实施例,提供一种基于对象存储小文件离线合并方法,基于对象存储小文件离线合并方法包括如下步骤S101、步骤S103、步骤S105、步骤S107和步骤S109:
步骤S101、接收客户端发送的第一数据。
其中,第一数据是客户端需写入的任意一个数据,这里不限定其具体形式。第一数据有可能是大对象数据也有可能是小对象数据,具体根据步骤S103进行判断,不同数据量的对象数据将存储于不同的位置。
其中,客户端发送第一数据是直接发送至业务网关(属于对象网关)。
步骤S103、当第一数据的数据量低于第一阈值,将第一数据看作小对象数据写入至缓存池中,并在元数据索引池中更新第一数据对应的第一元数据,以及在缓存池中生成包含第一数据写入缓存池的时间戳和身份信息的第一证明信息。
其中,第一阈值是提前设置用于判断第一数据是大对象数据还是小对象数据的阈值,其数值这里不作限定。当第一数据的数据量小于第一阈值,则该数据为小对象数据,小对象数据将写至缓存池中,在元数据索引池中将更新第一数据对应的第一元数据(作为第一数据索引数据)。
与现阶段技术不同的是,本申请于步骤S103中将生成第一数据对应的第一证明信息,其中证明信息包括:时间戳与身份信息。时间戳是证明第一数据写入的时刻,用于后续的离线归并,身份信息是为了后续的网关能够基于该身份信息进行数据的归并,第一证明信息在缓存池中,第一元数据是具备时间戳的索引数据。
在一些实施例中,身份信息是指对象数据的对象名。
需要注意的是,在步骤S103中,任意一个小对象数据只要写入至缓存池中,都会生成其对应一个时间戳以及更新时间戳索引。
步骤S105、根据第一证明信息,从缓存池中选取与第一数据同一时刻或同一时间段写入缓存池中的若干个小对象数据,当若干个小对象数据的数据量之和高于第二阈值,将若干个小对象数据归并成一个大对象数据;其中,若干个小对象数据包括第一数据,每个小对象数据在写入缓存池时均生成包含有对应时间戳和身份信息的证明信息。
与相关技术不同的是,后端网关将每隔一段时间,从缓存池中选取相同时刻写入的一批小对象数据或者同一时段写入的一批小对象数据,将这一批小对象数据归并成大对象数据。第二阈值是提前设置用于判断一批小对象数据归并后是大对象数据还是小对象数据的阈值。其数值这里不作限定,第二阈值在数值上可以等于第一阈值。
根据上述步骤介绍,证明信息中包含对应的对象数据的时间戳与身份信息,且第一数据已写入至缓存池中,那么步骤S105中,后端网关根据小对象数据对应的身份信息与时间戳,从缓存池中选取出包含第一数据在内的同一时刻或同一时间段写入的若干个小对象数据,并判断包含第一数据在内的若干个小对象数据的数据量之和是否大于第二阈值,若大于第二阈值,则根据每一个小对象数据对应的身份信息,将若干个小对象数据离线归并成一个大对象数据,进而对大对象数据进行写入存储。
需要注意的是,这里的离线归并是指先把小对象写到存储中,然后后台再合并;在线归并是指写数据的同时做大对象合并。
步骤S107、将大对象数据写入至数据池中,并在元数据索引池中更新第一数据的第一元数据。
步骤S109、删除缓存池中的第一数据和第一证明信息。
本申请具有如下有益效果:
本方法在将判断出是小对象数据且写入缓存池时,生成写入时刻的时间戳,增加了基于时间戳的索引,在定期选取批量小对象数据归并时,会基于时间戳的索引选取的是同一时刻或同一时间段写入缓存池的一批小对象数据,通过在对象存储网关层对小对象数据按照时间序列进行离线合并,然后再将合并之后的大对象写入到数据池,更新相应的元数据后再删除前台写入的小对象数据,保证了在不影响对象存储原有业务的前提下,减少存储后台的元数据开销,保证存储性能的平稳性。而且避免了小文件合并后,过期删除所带来的文件空洞问题。
在本申请的一些实施例中,在步骤S105将若干个小对象数据归并成一个大对象数据之后,本方法还包括:
步骤S106、记载第一数据在大对象数据中的位置。
当第一数据与其余小对象数据归并成一个大对象数据后,记载第一数据在大对象数据中的位置,能够便于后续从大对象数据中读取到第一数据。
在本申请的一些实施例中,在步骤S101接收客户端发送的第一数据之后,本方法还包括:
步骤S102、当第一数据的数据量高于第一阈值,将第一数据看作大对象数据,并将第一数据写入至数据池中,在元数据索引池更新第一数据的第一元数据。
在本申请的一些实施例中,本方法还包括:
步骤S1101、根据第二证明信息,从缓存池中选取已写入的第二数据;其中,第二数据是数据量低于第一阈值的小对象数据,且第二数据写入至缓存池时生成了第二证明信息,第二证明信息中包括第二数据写入至缓存池的时间戳和身份信息;
步骤S1102、根据第二数据在元数据索引池中对应的第二元数据,判断第二数据是否被归并;当第二数据已经归并和写入数据池后,删除缓存池中的第二数据和第二证明信息。
在步骤S1101和步骤S1102当中,后端网关对缓存池中的小对象数据进行管理,即基于时间戳索引,后端对象定期列举缓存池的小对象数据,并检查该小对象对应的元数据,如果该小对象的元数据表明为处于已经归并的状态,则表明该小对象属于已经归并的对象,则直接删除缓存池中的该小对象数据和证明信息,以减少存储后台的元数据开销。
需要注意的是,上述步骤S1101至S1102均为“写入”过程。
在本申请的一些实施例中,基于对象存储小文件离线合并方法包括:
步骤S201、接收客户端获取第一数据的请求;请求中携带有第一数据的身份信息。
步骤S203、根据第一数据的身份信息从元数据索引池中获取第一数据的第一元数据。
步骤S205、根据第一数据的第一元数据,判断第一数据的位置;
步骤S2071、当第一数据位于缓存池中,则从缓存池中提取第一数据。
步骤S2072、当第一数据位于数据池中,从数据池中提取包括第一数据的大对象数据,根据记载的第一数据在大对象数据中的位置,从大对象数据中提取出第一数据。
步骤S209、将提取的第一数据及其第一元数据组装后发送至客户端。
需要注意的是,步骤S201至S209是上述写入步骤的逆过程,此处不再细述。
为了便于理解,基于图1所述的架构,提供一种数据写入过程和读取的过程。
如图3和4所示,写入过程包括:
步骤S301、客户端向对象存储网关发送写入数据请求,其中包括待写入数据。(例如虚线部分的待写入数据1和实线部分的待写入数据2)
步骤S302、对象存储网关接受到请求,先根据待写入数据的大小进行判断,结合对象大小写入相应的存储池,并在元数据索引池更新小对象数据的元数据:
步骤S3021、如果待写入数据大于阈值,则把待写入数据直接写入数据池,写入成功后,在元数据索引池更新对应的元数据信息。
步骤S3022、如果待写入数据小于阈值,则认为是小对象,需要进行归并,因此待写入数据写入缓存池,并在元数据索引池更新待写入数据的元数据;在更新待写入对象元数据的同时,同时写入一条时间戳+对象名的key,便于后续进行数据归并。
步骤S303、后端网关通对缓存池的小对象进行后台归并:
步骤S3031、后端网关通过列举时间戳为前缀的记录,获取同一时刻或同一时间段写入的小对象信息;如图4中的小对象1和小对象2。
步骤S3032、后端网关基于所获取的小对象信息,从缓存池读取对应小对象数据,并把读取的数据进行内存归并。
步骤S3033、如果内存中的归并数据大于某一阈值后,后端网关生成一个大对象名,并记录小对象在该大对象的位置信息,然后基于该大对象名把归并数据写入到数据池。
步骤S304、数据写入成功后,后端网关更新已归并的小对象对应的元数据信息,并删除索引池中对应时间戳+对象名的key。
步骤S304、元数据更新成功后,后端对象删除在缓存池对应的小对象数据;
步骤S305、后端网关定期列举缓存池的小对象,并检查该小对象对应的元数据,如果该小对象的元数据表明为处于已经归并的状态,则表明该小对象属于已经归并的对象,则直接删除缓存池中的该小对象。
上述的步骤S301至S304在将判断出是小对象数据且写入缓存池时,生成写入时刻的时间戳,增加了基于时间戳的索引,在定期选取批量小对象数据归并时,会基于时间戳的索引选取的是同一时刻或同一时间段写入缓存池的一批小对象数据,通过在对象存储网关层对小对象数据按照时间序列进行离线合并,然后再将合并之后的大对象写入到数据池,更新相应的元数据后再删除前台写入的小对象数据,保证了在不影响对象存储原有业务的前提下,减少存储后台的元数据开销,保证存储性能的平稳性。而且避免了小文件合并后,过期删除所带来的文件空洞问题。
上述的步骤S305中,如果元数据更新成功,但是删除缓存池的小对象数据失败,对象网关需要定期List 高性能缓存池中,写入时间超过一定阈值的对象,并通过查询元数据确认这些对象是否已经进行了小文件归并,如果已经归并则删除该文件。
参照图5,读取过程包括:
步骤S401、客户端调用对象存储网关读取小对象。
步骤S402、对象存储网关层根据对象名字去索引池获取对象元数据。
步骤S4021、如果对象位于缓存池,对象直接从缓存池读取对应对象的数据。如图5中的小对象。
步骤S4022、如果对象属于归并后的对象,位于数据池,根据索引去数据池读取对应的大文件中的数据。如图5中的大对象。
步骤S403、获取到小对象的数据体,将数据和元数据组装反馈至客户端。
在本实施例中,针对海量小文件存储,会导致文件***的元数据剧增,文件***的IO请求次数变多。本实施例通过在对象网关层对小文件按照时间序列进行离线合并,然后再将合并之后的大对象写入到存储节点,更新相应的元数据后再删除后台写入的小对象,保证了再不影响对象存储原有业务的前提下,减少存储后台的元数据开销,保证存储性能的平稳性。
生命周期是对象存储比较常用的特性,用户可以对 Bucket(水桶)中的对象配置一条或多条生命周期规则。每条规则定义了对 Bucket 中的相匹配的对象定时执行相关操作(例如超过一定时间后把对象删除,或者从高性能存储池转移到低性能的存储池上),以达到节约存储成本的目的。由于生命周期的相关操作都是和对象的写入时间强相关,如果把相同写入时间的小对象归并到同一个后台大对象,能够大大减少数据空洞、gc空间回收的概率,提高存储***的平稳性。
客户端上传对象到对象网关层,网关层把小对象写入存储后台的高性能缓存池,并依据待写入小对象的名字,找到小对象所关联的索引对象,在索引对象中更新该小对象的元数据。更新小对象的元数据的同时,在索引对象中生成一条当前写入时间+小对象名的索引记录,便于后续小文件合并时进行索引查询。
后端网关定时查询索引对象中的索引记录,通过获取基于时间前缀的索引记录,得到相同时间片写入的小对象信息。获取同一个时间片段的小对象元数据,基于所获取的信息读取对应的小对象数据,并对对应的小对象数据进行内存合并,合并到某一个阈值后(例如合并后对象大小达到16M,或者合并后的小文件数目超过100个),生成一个大对象并写入后端存储的数据池中。当大对象写入成功后,更新对应的小对象信息,同时删除对应的时间序列索引以及在高性能缓存池中对应的小对象数据。
由于更新小文件的元数据和删除对应的时间序列的操作,属于同一个索引对象内的操作,因此两个操作相关的元数据可以保证事务性,能够同时处理成功或者同时失败。
如果元数据更新成功,但是删除缓存池的小对象数据失败,后端网关需要定期List 高性能缓存池中,写入时间超过一定阈值的对象,并通过查询元数据确认这些对象是否已经进行了小文件归并,如果已经归并则删除该文件上述的写入和读取方法在对象存储海量小文件场景下,减少了文件***的元数据,提高了文件的读性能,且减少了对象存储常见的过期删除场景所带来的文件空洞问题,减少了过期删除后的空间浪费和垃圾回收成本。
参照图6,本申请的一个实施例,提供了一种基于对象存储小文件离线合并***,基于对象存储小文件离线合并***包括数据接收单元1100、小对象写入单元1200、小对象归并单元1300、大对象写入单元1400和后处理单元1500,具体包括:
数据接收单元1100用于接收客户端发送的第一数据。
小对象写入单元1200用于当第一数据的数据量低于第一阈值,将第一数据看作小对象数据写入至缓存池中,并在元数据索引池中更新第一数据对应的第一元数据,以及在缓存池中生成包含第一数据写入缓存池的时间戳和身份信息的第一证明信息。
小对象归并单元1300用于根据第一证明信息,从缓存池中选取与第一数据同一时刻或同一时间段写入缓存池中的若干个小对象数据,当若干个小对象数据的数据量之和高于第二阈值,将若干个小对象数据归并成一个大对象数据;其中,若干个小对象数据包括第一数据,每个小对象数据在写入缓存池时均生成包含有对应时间戳和身份信息的证明信息。
大对象写入单元1400用于将大对象数据写入至数据池中,并在元数据索引池中更新第一数据的第一元数据。
后处理单元1500用于删除缓存池中的第一数据和第一证明信息。
需要注意的是,本***与上述的方法实施例是基于相同的发明构思,因此上述方法实施例的相关内容同样适用于本***实施例,此处不再进行赘述。
参照图7,本申请实施例还提供了一种电子设备,本电子设备包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
程序被存储在存储器中,处理器执行至少一个程序以实现本公开实施上述的基于对象存储小文件离线合并方法。
该电子设备可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、车载电脑等任意智能终端。
下面对本申请实施例的电子设备进行详细介绍。
处理器,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
存储器,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器中,并由处理器来调用执行本公开实施例的基于对象存储小文件离线合并方法。
输入/输出接口,用于实现信息输入及输出;
通信接口,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线,在设备的各个组件(例如处理器、存储器、输入/输出接口和通信接口)之间传输信息;
其中处理器、存储器、输入/输出接口和通信接口通过总线实现彼此之间在设备内部的通信连接。
本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述基于对象存储小文件离线合并方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。

Claims (10)

1.一种基于对象存储小文件离线合并方法,其特征在于,所述基于对象存储小文件离线合并方法包括:
接收客户端发送的第一数据;
当所述第一数据的数据量低于第一阈值,将所述第一数据看作小对象数据写入至缓存池中,并在元数据索引池中更新所述第一数据对应的第一元数据,以及在所述缓存池中生成包含所述第一数据写入所述缓存池的时间戳和身份信息的第一证明信息;
根据所述第一证明信息,从所述缓存池中选取与所述第一数据同一时刻或同一时间段写入所述缓存池中的若干个小对象数据,当所述若干个小对象数据的数据量之和高于第二阈值,将所述若干个小对象数据归并成一个大对象数据;其中,所述若干个小对象数据包括所述第一数据,每个小对象数据在写入所述缓存池时均生成包含有对应时间戳和身份信息的证明信息;
将所述大对象数据写入至数据池中,并在所述元数据索引池中更新所述第一数据的第一元数据;
删除所述缓存池中的所述第一数据和所述第一证明信息。
2.根据权利要求1所述的基于对象存储小文件离线合并方法,其特征在于,在所述将所述若干个小对象数据归并成一个大对象数据之后,所述基于对象存储小文件离线合并方法还包括:
记载所述第一数据在所述大对象数据中的位置。
3.根据权利要求1所述的基于对象存储小文件离线合并方法,其特征在于,在所述接收客户端发送的第一数据之后,所述基于对象存储小文件离线合并方法还包括:
当所述第一数据的数据量高于所述第一阈值,将所述第一数据看作大对象数据,并将所述第一数据写入至所述数据池中,在所述元数据索引池更新所述第一数据的第一元数据。
4.根据权利要求1所述的基于对象存储小文件离线合并方法,其特征在于,所述基于对象存储小文件离线合并方法还包括:
根据第二证明信息,从所述缓存池中选取已写入的第二数据;其中,所述第二数据是数据量低于所述第一阈值的小对象数据,且所述第二数据写入至所述缓存池时生成了所述第二证明信息,所述第二证明信息中包括所述第二数据写入至所述缓存池的时间戳和身份信息;
根据所述第二数据在所述元数据索引池中对应的第二元数据,判断所述第二数据是否被归并;当所述第二数据已经归并和写入所述数据池后,删除所述缓存池中的所述第二数据和所述第二证明信息。
5.根据权利要求2至4任一项所述的基于对象存储小文件离线合并方法,其特征在于,所述基于对象存储小文件离线合并方法包括:
接收所述客户端获取所述第一数据的请求;所述请求中携带有所述第一数据的身份信息;
根据所述第一数据的身份信息从所述元数据索引池中获取所述第一数据的第一元数据;
根据所述第一数据的第一元数据,判断所述第一数据的位置,当所述第一数据位于所述缓存池中,则从所述缓存池中提取所述第一数据;
将提取的所述第一数据及其第一元数据组装后发送至所述客户端。
6.根据权利要求5所述的基于对象存储小文件离线合并方法,其特征在于,所述基于对象存储小文件离线合并方法包括:
当所述第一数据位于所述数据池中,从所述数据池中提取包括所述第一数据的所述大对象数据;
根据记载的所述第一数据在所述大对象数据中的位置,从所述大对象数据中提取出所述第一数据;
将提取的所述第一数据及其第一元数据组装后发送至所述客户端。
7.根据权利要求1所述的基于对象存储小文件离线合并方法,其特征在于,所述第一数据的身份信息为所述第一数据的数据名。
8.一种基于对象存储小文件离线合并***,其特征在于,所述基于对象存储小文件离线合并***包括:
数据接收单元,用于接收客户端发送的第一数据;
小对象写入单元,用于当所述第一数据的数据量低于第一阈值,将所述第一数据看作小对象数据写入至缓存池中,并在元数据索引池中更新所述第一数据对应的第一元数据,以及在所述缓存池中生成包含所述第一数据写入所述缓存池的时间戳和身份信息的第一证明信息;
小对象归并单元,用于根据所述第一证明信息,从所述缓存池中选取与所述第一数据同一时刻或同一时间段写入所述缓存池中的若干个小对象数据,当所述若干个小对象数据的数据量之和高于第二阈值,将所述若干个小对象数据归并成一个大对象数据;其中,所述若干个小对象数据包括所述第一数据,每个小对象数据在写入所述缓存池时均生成包含有对应时间戳和身份信息的证明信息;
大对象写入单元,用于将所述大对象数据写入至数据池中,并在所述元数据索引池中更新所述第一数据的第一元数据;
后处理单元,用于删除所述缓存池中的所述第一数据和所述第一证明信息。
9.一种电子设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个计算机程序;
所述计算机程序被存储在所述存储器中,处理器执行所述至少一个计算机程序以实现:
如权利要求1至7任一项所述的基于对象存储小文件离线合并方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如权利要求1至7任一项所述的基于对象存储小文件离线合并方法。
CN202410122524.1A 2024-01-30 2024-01-30 基于对象存储小文件离线合并方法、***、设备及介质 Active CN117648297B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410122524.1A CN117648297B (zh) 2024-01-30 2024-01-30 基于对象存储小文件离线合并方法、***、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410122524.1A CN117648297B (zh) 2024-01-30 2024-01-30 基于对象存储小文件离线合并方法、***、设备及介质

Publications (2)

Publication Number Publication Date
CN117648297A true CN117648297A (zh) 2024-03-05
CN117648297B CN117648297B (zh) 2024-06-11

Family

ID=90049978

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410122524.1A Active CN117648297B (zh) 2024-01-30 2024-01-30 基于对象存储小文件离线合并方法、***、设备及介质

Country Status (1)

Country Link
CN (1) CN117648297B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107948A1 (zh) * 2015-12-23 2017-06-29 中兴通讯股份有限公司 文件的写聚合、读聚合方法及***和客户端
US10261944B1 (en) * 2016-03-29 2019-04-16 EMC IP Holding Company LLC Managing file deletions in storage systems
CN110888837A (zh) * 2019-11-15 2020-03-17 星辰天合(北京)数据科技有限公司 对象存储小文件归并方法及装置
CN112416880A (zh) * 2021-01-22 2021-02-26 南京群顶科技有限公司 一种基于实时归并的海量小文件存储性能优化方法及装置
US10949387B1 (en) * 2016-09-29 2021-03-16 Triad National Security, Llc Scalable filesystem enumeration and metadata operations
CN113449065A (zh) * 2021-06-29 2021-09-28 苏州链约科技有限公司 一种面向数据删重的去中心化存储方法及存储装置
CN113722072A (zh) * 2021-09-14 2021-11-30 华瑞指数云(河南)科技有限公司 一种基于智能分流的存储***文件合并方法及装置
CN113946577A (zh) * 2021-09-28 2022-01-18 星辰天合(北京)数据科技有限公司 对象归并方法及装置
CN113971163A (zh) * 2020-07-23 2022-01-25 深圳市杉岩数据技术有限公司 一种小文件合并存储方法、读取方法以及服务器
US20220156231A1 (en) * 2020-11-13 2022-05-19 Vmware, Inc. Scalable i/o operations on a log-structured merge (lsm) tree
US20230090190A1 (en) * 2021-09-10 2023-03-23 Intertrust Technologies Corporation Data management and governance systems and methods
CN116303139A (zh) * 2023-02-17 2023-06-23 济南浪潮数据技术有限公司 一种分级缓存数据转移的方法、装置、设备及介质
CN116501700A (zh) * 2023-06-29 2023-07-28 深圳瑞信建筑科技有限公司 一种app格式化文件离线存储方法、装置、设备及存储介质
US20230325363A1 (en) * 2022-04-08 2023-10-12 Intertrust Technologies Corporation Time series data layered storage systems and methods

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017107948A1 (zh) * 2015-12-23 2017-06-29 中兴通讯股份有限公司 文件的写聚合、读聚合方法及***和客户端
US10261944B1 (en) * 2016-03-29 2019-04-16 EMC IP Holding Company LLC Managing file deletions in storage systems
US10949387B1 (en) * 2016-09-29 2021-03-16 Triad National Security, Llc Scalable filesystem enumeration and metadata operations
CN110888837A (zh) * 2019-11-15 2020-03-17 星辰天合(北京)数据科技有限公司 对象存储小文件归并方法及装置
CN113971163A (zh) * 2020-07-23 2022-01-25 深圳市杉岩数据技术有限公司 一种小文件合并存储方法、读取方法以及服务器
US20220156231A1 (en) * 2020-11-13 2022-05-19 Vmware, Inc. Scalable i/o operations on a log-structured merge (lsm) tree
CN112416880A (zh) * 2021-01-22 2021-02-26 南京群顶科技有限公司 一种基于实时归并的海量小文件存储性能优化方法及装置
CN113449065A (zh) * 2021-06-29 2021-09-28 苏州链约科技有限公司 一种面向数据删重的去中心化存储方法及存储装置
US20230090190A1 (en) * 2021-09-10 2023-03-23 Intertrust Technologies Corporation Data management and governance systems and methods
CN113722072A (zh) * 2021-09-14 2021-11-30 华瑞指数云(河南)科技有限公司 一种基于智能分流的存储***文件合并方法及装置
CN113946577A (zh) * 2021-09-28 2022-01-18 星辰天合(北京)数据科技有限公司 对象归并方法及装置
US20230325363A1 (en) * 2022-04-08 2023-10-12 Intertrust Technologies Corporation Time series data layered storage systems and methods
CN116303139A (zh) * 2023-02-17 2023-06-23 济南浪潮数据技术有限公司 一种分级缓存数据转移的方法、装置、设备及介质
CN116501700A (zh) * 2023-06-29 2023-07-28 深圳瑞信建筑科技有限公司 一种app格式化文件离线存储方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN117648297B (zh) 2024-06-11

Similar Documents

Publication Publication Date Title
CN107169083B (zh) 公安卡口海量车辆数据存储与检索方法及装置、电子设备
CN103020315B (zh) 一种基于主从分布式文件***的海量小文件存储方法
US10747746B2 (en) Efficient read replicas
CN106775446B (zh) 基于固态硬盘加速的分布式文件***小文件访问方法
CN103179185B (zh) 一种分布式文件***客户端缓存中文件创建方法及其***
US20170024315A1 (en) Efficient garbage collection for a log-structured data store
US11061924B2 (en) Multi-region, multi-master replication of database tables
CN105183400B (zh) 一种基于内容寻址的对象存储方法和***
JPWO2013018808A1 (ja) 分散ストレージシステムおよび方法
US20140012867A1 (en) Method And Process For Enabling Distributing Cache Data Sources For Query Processing And Distributed Disk Caching Of Large Data And Analysis Requests
CN102855239A (zh) 一种分布式地理文件***
US11151081B1 (en) Data tiering service with cold tier indexing
US11210211B2 (en) Key data store garbage collection and multipart object management
CN111177159B (zh) 一种数据处理的***、方法和数据更新设备
CN113377868A (zh) 一种基于分布式kv数据库的离线存储***
US10642530B2 (en) Global occupancy aggregator for global garbage collection scheduling
CN111159176A (zh) 一种海量流数据的存储和读取的方法和***
WO2019040146A1 (en) KEY ENTRY SYSTEM WITH COMPETITIVE ACCESS WITHOUT LOCKING AND WITH VERSION MANAGEMENT
CN112334891B (zh) 用于搜索服务器的集中式存储
CN103049574A (zh) 实现文件动态副本的键值文件***及方法
US11210212B2 (en) Conflict resolution and garbage collection in distributed databases
CN114610680A (zh) 分布式文件***元数据管理方法、装置、设备及存储介质
CN104021137A (zh) 一种基于目录授权的客户端本地开闭文件的方法及***
CN103136294B (zh) 文件操作方法及装置
CN101483668A (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