CN113722275A - 对象存储空间管理方法、装置、服务器及存储介质 - Google Patents

对象存储空间管理方法、装置、服务器及存储介质 Download PDF

Info

Publication number
CN113722275A
CN113722275A CN202111052025.2A CN202111052025A CN113722275A CN 113722275 A CN113722275 A CN 113722275A CN 202111052025 A CN202111052025 A CN 202111052025A CN 113722275 A CN113722275 A CN 113722275A
Authority
CN
China
Prior art keywords
metadirectory
created
file
storage
size
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
CN202111052025.2A
Other languages
English (en)
Other versions
CN113722275B (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.)
Chongqing Unisinsight Technology Co Ltd
Original Assignee
Chongqing Unisinsight Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Unisinsight Technology Co Ltd filed Critical Chongqing Unisinsight Technology Co Ltd
Priority to CN202111052025.2A priority Critical patent/CN113722275B/zh
Publication of CN113722275A publication Critical patent/CN113722275A/zh
Application granted granted Critical
Publication of CN113722275B publication Critical patent/CN113722275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/13File access structures, e.g. distributed indices
    • 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
    • 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/18File system types
    • G06F16/1805Append-only file systems, e.g. using logs or journals to store data
    • G06F16/1815Journaling 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/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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]

Abstract

本发明涉及存储技术领域,提供了一种对象存储空间管理方法、装置、服务器及存储介质,所述方法包括:接收客户端发送的用于创建元目录的第一创建请求,其中,第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,待创建元目录的存储空间由对象存储集群提供的存储对象组成;根据业务特性确定待创建元目录的存储对象大小;根据待创建元目录的名称、存储空间大小及存储对象大小,创建待创建元目录。本发明使得创建的元目录在提供服务时既能保证元目录中的存储对象的空间不被浪费,又能保证元目录的访问性能。

Description

对象存储空间管理方法、装置、服务器及存储介质
技术领域
本发明涉及存储技术领域,具体而言,涉及一种对象存储空间管理方法、装置、服务器及存储介质。
背景技术
对象存储技术以其强大的可扩展性成为安防领域的首选,再加上其具有动态空间布局的特点,为安防领域的数据存储带来了很高的灵活性,但是虽然对象存储中的存储对象大小不受限制,可以根据实际需求任意申请,但是由于对象存储不支持随机修改写,只能按照整个存储对象进行覆盖写,如果存储对象过大,需要写的数据量太小,会造成覆盖写性能的下降,同时也造成空间的巨大浪费,如果存储对象过小,虽然可以减小空间浪费,但同时又会造成存储对象管理工作量的激增,而在安防领域,不同应用场景下的业务特性相差较大,例如,视频流业务通常是顺序的大数据块的访问,人脸图片通常是顺序的小数据块的访问,如何对对象存储空间进行合理管理,既保证对象存储空间的利用率又能保证较高的访问性能是本领域技术人员亟待解决的问题。
发明内容
本发明提供了一种对象存储空间管理方法、装置、服务器及存储介质,其能够根据业务特性确定与业务特性较为匹配的存储对象大小,使得创建的元目录中的存储对象既能保证对象存储空间的利用率又能保证较高的访问性能。
为了实现上述目的,本发明采用的技术方案如下:
第一方面,本发明提供一种对象存储空间管理方法,应用于服务器,所述服务器与客户端及对象存储集群均通信连接,所述方法包括:接收所述客户端发送的用于创建元目录的第一创建请求,其中,所述第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,所述待创建元目录的存储空间由所述对象存储集群提供的存储对象组成;根据所述业务特性确定所述待创建元目录的存储对象大小;根据所述待创建元目录的名称、存储空间大小及存储对象大小,创建所述待创建元目录。
第二方面,本发明提供一种对象存储空间管理装置,应用于服务器,所述服务器与客户端及对象存储集群均通信连接,所述装置包括:接收模块,用于接收所述客户端发送的用于创建元目录的第一创建请求,其中,所述第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,所述待创建元目录的存储空间由所述对象存储集群提供的存储对象组成;确定模块,用于根据所述业务特性确定所述待创建元目录的存储对象大小;创建模块,用于根据所述待创建元目录的名称、存储空间大小及存储对象大小,创建所述待创建元目录。
第三方面,本发明提供一种服务器,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述的对象存储空间管理方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述的对象存储空间管理方法。
与现有技术相比,本发明在创建元目录时,根据待创建元目录的业务特性确定待创建元目录的存储对象大小,再根据待创建元目录的名称、存储空间大小及存储对象大小,创建待创建元目录,使得创建的元目录在提供服务时既能保证元目录中的存储对象的空间不被浪费,又能保证元目录的访问性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的应用场景的示例图。
图2为本发明实施例提供的具体的应用场景的示例图。
图3为本发明实施例提供的服务器的方框示意图。
图4为本发明实施例提供的一种对象存储空间管理方法的流程示例图。
图5为本发明实施例提供的系统元数据区和元目录信息区的布局示例图。
图6为本发明实施例提供的另一种对象存储空间管理方法的流程示例图。
图7为本发明实施例提供的另一种对象存储空间管理方法的流程示例图。
图8为本发明实施例提供的另一种对象存储空间管理方法的流程示例图。
图9为本发明实施例提供的另一种对象存储空间管理方法的流程示例图。
图10为本发明实施例提供的文件系统的元数据布局的示例图。
图11为本发明实施例提供的另一种对象存储空间管理方法的流程示例图。
图12为本发明实施例提供的待写文件的布局示例图。
图13为本发明实施例提供的三个线程及对应任务的示例图。
图14为本发明实施例提供的文件系统的架构图。
图15为本发明实施例提供的对象存储空间管理装置100的方框示意图。
图标:10-服务器;11-处理器;12-存储器;13-总线;14-通信接口;20-客户端;30-对象存储集群;100-对象存储空间管理装置;110-接收模块;120-确定模块;130-创建模块;140-写处理模块;150-更新模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
请参考图1,图1为本发明实施例提供的一种应用场景的示例图,图1中,服务器10与客户端20及对象存储集群30均通信连接,本发明实施例提供的对象存储空间管理方法应用于服务器10,客户端20通过服务器10使用对象存储集群30提供的存储服务,包括提供存储空间的服务及对存储空间的访问服务。
客户端20可以是普通主机或者一个应用平台,例如视图应用平台,客户端20是存储需求方,其可以根据不同的业务特性在服务器10上创建对应的元目录,用户可以在元目录中创建自己所需的普通目录或者文件,也可以在普通目录下再创建下一级的普通子目录或者文件等。
服务器10可以是一台服务器或者多台服务器组成的服务器集群,服务器集群可以提供更大的并发能力和更高的可靠性,以满足大量客户端20同时发起的存储需求。服务器10是存储服务的中间方,其不直接提供存储空间,但是可以对申请到的存储空间进行合理管理,以最大限度地满足客户端20的业务需求,服务器10通过向对象存储集群30申请存储对象,以为用户在元目录的文件中写入的数据提供存储空间,也就是说,元目录的文件际上是存储于对象存储集群30中。
对象存储集群30是以存储对象的形式提供存储服务器的存储集群,对象存储集群30包括存储对象的对象池,是存储空间的提供方,例如各存储商家提供的第三方的存储云,这些存储云通常利用统一的协议提供统一的访问接口,服务器10还可以将该统一的访问接口转换成客户端20所需的接口形式。
基于图1,本发明实施例还提供了另一种具体的应用场景的示例,请参照图2,图2为本发明实施例提供的具体的应用场景的示例图,图2中,客户端20为视图应用平台,该视图应用平台需要将获取的视频数据或者图片数据进行存储,服务器10为有3台服务器节点组成的服务器集群,其可以对客户端20屏蔽不同架构的存储集群的存储资源之间的差异,例如块存储资源、文件存储资源和对象存储资源之间的差异,将不同架构的存储集群进行统一整合和管理,因此,也称为异构存储集群,其中的每一台服务器均以软件开发工具包SDK(Software Development Kit)的形式和视图应用平台进行交互。
本发明实施例提供的对象存储空间管理方法可以应用于每一台服务器,每一台服务器上均部署有根据本发明实施例提供的方法创建的文件系统,也称为弹性文件系统EFS(Elastic File System,EFS),每一台服务器上的EFS均有一个用于唯一标识该文件系统的标识,可以基于每一台服务器上的EFS创建元目录并在该元目录上创建普通目录或者下一级普通子目录或者文件等。对象存储集群30是有多个存储对象组成的存储对象池,可以同时向不同的服务器10提供存储空间,同一台服务器中的存储空间可以来自于对象存储集群30中不同的磁盘或者磁盘阵列提供的存储对象。为了便于统一,不同商家的对象存储集群可以采用相同的协议提供存储访问接口,例如采用S3/Swift协议。
在图1和图2的基础上,本发明实施例还提供了图1和图2中服务器10的方框示意图。请参照图3,图3为本发明实施例提供的服务器10的方框示意图。服务器10包括处理器11、存储器12、总线13、通信接口14。处理器11、存储器12通过总线13连接,处理器11通过通信接口14与客户端20或者对象存储集群30通信。
处理器11可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如本发明实施例中的对象存储空间管理装置100,对象存储空间管理装置100均包括至少一个可以软件或固件(firmware)的形式存储于存储器12中的软件功能模块,处理器11在接收到执行指令后,执行所述程序以实现本发明实施例中的对象存储空间管理方法。
存储器12可能包括高速随机存取存储器(RAM:Random Access Memory),也可能还包括非易失存储器(non-volatile memory)。可选地,存储器12可以是内置于处理器11中的存储装置,也可以是独立于处理器11的存储装置。
总线13可以是ISA总线、PCI总线或EISA总线等。图3仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
在本实施例中,由于对象存储空间的管理体现于各种文件、普通目录、元目录等管理流程中的方方面面,而对于文件、普通目录、元目录等的管理存在一定的关联,例如,访问文件之前首先要创建文件,创建文件是基于已创建的元目录进行创建的,而元目录的创建又是基于已创建的弹性文件系统进行创建的,为了更清楚地描述本发明实施例提供的对象存储空间管理方法,本发明实施例采用创建文件系统、创建元目录、创建文件、写文件的顺序依次进行详细描述。
请参照图4,图4为本发明实施例提供的一种对象存储空间管理方法的流程示例图,具体为对象存储空间管理方法中创建文件系统的流程示例图,该方法包括以下步骤:
步骤S100,接收客户端发送的创建文件系统的第三创建请求,其中,第三创建请求包括待创建文件系统的大小、及待创建文件系统配置的元目录的个数。
在本实施例中,第一创建请求是创建元目录的请求,第二创建请求是创建文件的请求,第三创建请求是创建文件系统的请求,此处的文件系统即为上文所述的弹性文件系统,如果未特别说明,本文中的文件系统指弹性文件系统。
在本实施例中,服务器10会预设一个文件系统可以支持的最大元目录的个数,例如4095个,服务器10会为其预留足够的用于存储所有元目录的基本信息的元目录信息区,而用户通过客户端在创建文件系统时,可以根据实际需要指定所需配置的元目录的个数,例如,64个,在文件系统创建以后,当创建文件系统时配置的元目录的个数不够时,也可以增加元目录的个数,但是最大不能超过文件系统可以支持的最大元目录的个数。
在本实施例中,待创建文件系统的大小为待创建文件系统可以使用的存储空间的大小,也即是待创建文件系统可以管理的对象存储空间的大小。在待创建文件系统的大小不能满足需要时,可以对待创建文件系统进行扩容。
步骤S110,生成待创建文件系统的标识。
在本实施例中,每一文件系统均有一个唯一表征该文件系统的标识,当服务器10是由多台服务器组成的服务器集群中,每一台服务器上的文件系统的标识均是唯一的。作为一种具体实施方式,文件系统的标识可以是[0,4095]内的整数,可以从中确定一个未被其他文件系统使用的整数作为待创建文件系统的标识。
步骤S120,将待创建文件系统的标识及大小更新至系统元数据区。
在本实施例中,服务器10中预留有系统元数据区,系统元数据区用于待创建存储文件系统的基本信息,例如,待创建文件系统的标识及大小,作为一种具体实现方式,系统元数据区占用的存储空间可以设置为4KB。
在本实施例中,如果后续发现待创建文件的大小不能满足需求,则可以对其进行扩容,扩容时,只需要将系统元数据区中待创建文件系统的大小修改为扩容后的容量即可,由此可以快速地实现文件系统的扩容,提高扩容效率。
步骤S130,根据待创建文件系统配置的元目录的个数初始化元目录信息区,以创建待创建文件系统。
在本实施例中,元目录信息区用于存储元目录的基本信息,例如,目录名称、存储空间大小及存储对象大小等。作为一种具体实施方式,每一个元目录对应一个信息列表,元目录信息区包括的信息列表的个数为待创建文件系统可以支持的最大的元目录的个数,创建文件系统时,根据配置的元目录的个数将对应个数的信息列表的设置为可用,也可以将其状态设置为空闲,其余的信息列表的设置为预留,意味着后续如果用户需要新增元目录的个数,只能为新增元目录从预留的信息列表中选择。
请参照图5,图5为本发明实施例提供的系统元数据区和元目录信息区的布局示例图。图5中,元目录信息区包括多个信息列表,信息列表的个数与文件系统支持的最大元目录的个数相同,一个信息列表用于存储一个元目录的基本信息。
本发明实施例提供的上述创建文件系统的方法,只需要将待创建文件系统的基本信息更新至系统元数据区,并对元目录信息区进行简单的设置即可实现文件系统的创建,极大地提高了文件系统的创建效率。
基于创建的文件系统,本发明实施例还提供了对象存储空间管理方法中创建元目录的流程,请参照图6,图6为本发明实施例提供的另一种对象存储空间管理方法的流程示例图,具体为对象存储空间管理方法中创建元目录的流程示例图,该方法包括以下步骤:
步骤S200,接收客户端发送的用于创建元目录的第一创建请求,其中,第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,待创建元目录的存储空间由对象存储集群提供的存储对象组成。
在本实施例中,待创建元目录的存储空间大小可以为待创建元目录可以管理的存储对象的存储空间大小。
在本实施例中,业务特性用于表征待创建元目录上承担的业务的特点,包括但不限于,待创建元目录上存储的数据类型,例如数据类型是视频还是图片,待创建元目录上数据的访问类型,例如,顺序访问和随机访问的占比,访问大数据和访问小数据的占比(可以根据实际场景需要定义数据大小,例如在预设区间内的为小数据,否则为大数据)等。例如,业务特性为<视频,顺序IO>,或者业务特性为<小图,顺序IO>等。
步骤S210,根据业务特性确定待创建元目录的存储对象大小。
在本实施例中,可以预先设定典型的业务特性及对应的存储对象大小之间的映射关系,以便根据待创建元目录的业务特性为其确定对应的存储对象大小,例如,<视频,顺序IO>的存储对象大小设置为64MB,<小图,顺序IO>的存储对象大小设置为4MB。
步骤S220,根据待创建元目录的名称、存储空间大小及存储对象大小,创建待创建元目录。
本发明实施例提供的上述方法,通过使不同的业务特性采用不同的存储对象大小,可以既不浪费元目录中的存储对象的存储空间又能保证元目录的访问性能,同时可以实现不同元目录上业务之间的隔离,即一个元目录出现故障不会影响到其他元目录上的业务。
在图6,请参照图7,图7为本发明实施例提供的另一种对象存储空间管理方法的流程示例图,步骤S220包括以下子步骤:
子步骤S2201,将状态为空闲的元目录信息区作为目标信息区。
在本实施例中,服务器预先运行有文件系统,待创建元目录基于文件系统创建,服务器包括按序编号的至少一个元目录信息区,一个元目录信息区用于保存一个元目录的名称、存储空间大小及存储对象大小,若元目录信息区的状态为空闲,则表明该元目录信息区中尚未存储有效的元目录的信息,否则若元目录信息区的状态为占用,则表明该元目录信息区中已经存储有效的元目录的信息。
在本实施例中,作为一种具体实现方式,对文件系统的所有元目录信息区进行编号,从1开始,按照元目录信息区的编号,将编号最小的且状态为空闲的元目录信息区作为目标信息区。
子步骤S2202,根据文件系统的标识及目标信息区的编号,生成待创建元目录的标识。
在本实施例中,作为一种具体实现方式,待创建元目录的标识可以占用64bits,高12bits为文件系统的标识,中间12bits为目标信息区的编号,尾部40bits清零。
子步骤S2203,将待创建元目录的名称、存储空间大小、存储对象大小及所述待创建元目录的标识更新至目标信息区,以基于文件系统创建待创建元目录。
可以理解的是,将待创建元目录的名称、存储空间大小、存储对象大小及所述待创建元目录的标识更新至目标信息区后,该目标信息区存储了有效的元目录的信息,此时,还需要将目标信息区的状态设置为占用。
本发明实施例提供的上述方法,根据文件系统的标识及目标信息区的编号,生成待创建元目录的标识,可以通过待创建元目录的标识得到文件系统的标识及目标信息区的编号,方便相互查找,提高查找效率,将待创建元目录的名称、存储空间大小、存储对象大小及所述待创建元目录的标识更新至目标信息区,通过目标信息区可以快速地找到元目录的相关信息。
基于创建的元目录,本发明实施例还提供了对象存储空间管理方法中创建文件的流程,请参照图8,图8为本发明实施例提供的另一种对象存储空间管理方法的流程示例图,具体为对象存储空间管理方法中创建文件的流程示例图,该方法包括以下步骤:
步骤S300,接收客户端发送的用于创建文件的第二创建请求,其中,第二创建请求包括待创建文件的名称和路径。
在本实施例中,待创建文件的路径包括从待创建文件所属的目标元目录到待创建文件父目录的多层路径,待创建文件的名称和待创建文件的路径一起也统称为待创建文件的全路径,例如,当在目标元目录的直接下一级创建文件时,例如,目标元目录为A,则在A的下一级直接创建文件1.txt,此时,文件1.txt的全路径为/A/1.txt,其父目录和所述的目标元目录是同一个,当在目标元目录的子目录的下一级创建文件时,例如,目标元目录为A,A有一个子目录为A1,在A1的下一级创建文件2.txt,此时,文件2.txt的全路径为:/A/A1/1.txt,其父目录为A1,目标元目录为A。
在本实施例中,作为另一种具体实现方式,可以在第二创建请求中包括待创建文件的全路径,由待创建文件的全路径可以得到待创建文件的名称、路径及所属的目标元目录,待创建文件的全路径的第一层路径为待创建文件的所属的目标元目录、待创建文件的全路径的最后一层路径为待创建文件的名称,例如,第二创建请求包括的全路径为:/A/A1/1.txt,则待创建文件所属的目标元目录为/A,待创建文件的名称为1.txt。步骤S310,将目标元目录对应的状态为空闲、且类型为文件类型的索引节点作为目标节点。
在本实施例中,为了便于元目录中的文件和各级子目录进行管理,每一文件和每一子目录均对应一个索引节点,一个元目录中的所有索引节点按序编号,从0开始编号,索引节点的类型包括两种:文件类型和目标类型,索引节点的状态包括空闲和占用,空闲状态的索引节点中未存储有效的文件或者目录的信息,占用的索引节点中存储有效的文件或者目录的信息。
在本实施例中,作为一种具体实现方式,索引节点的可以在创建待创建元目录时分批创建,比如第一次创建待创建元目录的总索引节点的1/4,第二次翻倍到3/4,第三次翻倍到6/4。
步骤S320,将待创建文件的路径中的第一层路径作为待创建文件所属的目标元目录。
在本实施例中,待创建文件的路径可以包括多层,例如,文件3.txt的全路径为:/A1/A2/A3/3.txt,根据全路径查找3.txt时,首先查找A1,在A1的下一级目录下查找A2,在A2的下一级目录下查找A3,在A3的下一级找到文件3.txt。
步骤S330,根据目标元目录的标识及目标节点的编号,生成待创建文件的标识。
在本实施例中,作为一种具体实施方式,将目标元目录的所有索引节点待创建文件的标识可以占用64bits,高24bits同目标元目录的标识的高24bits,低40bits为目标节点的编号。
步骤S340,将待创建文件的名称、路径及待创建文件的标识更新至目标节点,以创建待创建文件。
在本实施例中,将待创建文件的路径更新至目标节点可以包括将待创建文件的父目录的标识更新至目标节点。
在本实施例中,作为一种具体实现方式,第二创建请求还可以包括待创建文件的大小,此时,还需要将待创建文件的大小也更新至目标节点。
本发明实施例提供的上述方法,根据目标元目录的标识及目标节点的编号,生成待创建文件的标识,可以通过待创建文件的标识得到目标元目录的标识及目标节点的编号,方便相互查找,提高查找效率,将待创建文件的名称、路径及待创建文件的标识更新至目标节点,可以通过目标节点快速地实现文件的检索。
需要说明的是,也可以在元目录的下一级创建普通目录,或者在普通目录的下一级创建文件或者子目录,可以在子目录下创建多层级的子目录,其创建方式和文件的创建方式类似,具体方法可以是:
首先,接收客户端发送的用于创建普通目录的第四创建请求,其中,第四创建请求包括待创建普通目录的名称和路径。
其次,将待创建普通目录的路径中的第一层路径作为待创建普通目录所属的目标元目录。
第三,将目标元目录对应的状态为空闲、且类型为目录类型的索引节点作为目标节点。
第四,根据目标元目录的标识及目标节点的编号,生成待创建普通目录的标识。
最后,将待创建普通目录的名称、路径及待创建普通目录的标识更新至目标节点,以创建待创建普通目录。
还需要说明的是,作为一种具体实现方式,还可以根据索引节点中的目录层次和父目录在服务器的内存中建立目录层级的红黑树,以便对元目录中各层级的文件或者普通目录极其子目录进行快速检索。
在本实施例中,基于元目录创建的文件、普通目录,普通目录的下一层级的子目录,其中每一个文件或者普通目录或者各层级的子目录都对应一个索引节点,针对其进行的任何创建、删除、修改都会导致对应索引节点的更新,为了提高索引节点的更新效率,同时保证索引节点的可靠性,本实施例还提供一种对索引节点进行更新的具体实现方式,请参照图9,图9为本发明实施例提供的另一种对象存储空间管理方法的流程示例图,具体为对象存储空间管理方法中更新索引节点的流程示例图,该方法包括以下步骤:
步骤S400,当对元目录的任意一个索引节点执行更新操作时,将更新操作记录于日志文件。
在本实施例中,每一个元目录对应一个日志文件,该日志文件一方面可以实现索引节点的批量更新,另一方面,借助该日志文件可以实现级联创建/删除普通目录,或者批量创建文件等操作的事务性,保证上述操作的一致性,使得索引节点的更新更可靠。该日志文件也对应一个索引节点,作为一种具体实现方式,可以将元目录中编号最小的、类型为文件的索引节点作为日志文件对应的索引节点,为了便于管理,还可以将日志文件对应的索引节点的标识更新至该元目录的元目录信息区。
步骤S410,定时根据日志文件中的更新操作对对应的索引节点进行更新。
在本实施例中,为了不至于使日志文件因存储过多的更新操作过于膨胀,也为了使索引节点得到及时更新,本发明实施例可以设置预设周期,按照预设周期定时根据日志文件中的更新操作对对应的索引节点进行更新,例如,预设周期设置为30秒,即每30秒根据日志文件对索引节点进行更新。
本实施例提供的上述方法,先将更新索引节点的更新操作记录于日志文件,再根据日志文件定时对索引节点进行更新,一方面可以实现索引节点的批量更新,提高更新效率,另一方面通过日志文件更新索引节点的可靠性。
在本实施例中,为了便于对索引节点进行管理,作为一种实施方式,可以将索引节点分为多个管理组,每一个管理组对应第一预设个数的目录类型的索引节点和第二预设个数的文件类型的索引节点,为了保证管理组的可靠性,还可以为每一管理组设置一个校验字段。进一步地,作为另一种实施方式,还可以将多个管理组统一组织为一个线性区。
上文中的系统元数据区、元目录信息区、索引节点都属于文件系统的元数据,为了更清楚地对整个文件系统的元数据的布局进行说明,请参照图10,图10为本发明实施例提供的文件系统的元数据布局的示例图。图10中,文件系统的元数据包括三大部分:系统元数据区(也称Super区)、元目录信息区(也称Meta inode table区)、及线性命名空间区(linear name space)。Meta inode table区包括多个元目录列表(也称为mdir),mdir的个数与该文件系统最大支持的元目录的个数相同,每一个元目录列表保存一个元目录的基本信息,linear name space包括多个线性区(也称为linear area),linear area的个数可以根据每一个linear area可以管理的空间大小及元目录的存储空间大小确定,一个lineararea包括多个管理组(也称为inode unit),每一个管理组包括一个校验字段、N个目录类型的索引节点(也称为DNode或者目录索引节点)和M个文件类型的索引节点(也称为FNode或者文件索引节点),索引节点也称inode,索引节点的标识也称为inode号。
Super区记录文件系统级元数据信息,占用4KB,主要包括文件系统ID、对象存储空间大小、Meta Inode Table包括的mdir的个数和一个linear area可以管理的空间大小,文件系统ID可以为[0,4095]之间的整数,且在服务器10为多个服务器组成的服务器集群时,在该服务器集群中文件系统ID是全局唯一的。
mdir记录对应元目录的基本信息(或者称为元目录的元数据信息),占用128Bytes,主要包括空闲标志位、元目录名称、元目录的标识、日志文件对应的inode号、元目录的存储空间大小、linear area个数和文件布局(也称为文件layout),文件layout表示元目录的线性存储空间(Linear Storage Space)中的文件与存储对象的映射关系及存储对象大小,元目录的线性空间是一个逻辑空间,并不是元目录中文件实际存储的物理空间,只是和该物理空间存在映射关系,通过逻辑空间的地址可以找到对应的物理空间,以找到所需的文件数据。通常情况下线性存储空间可以扩容到64bits地址空间,其包含的有效linear area可以管理的对象空间总和,一般为元目录对象存储空间大小的1.5倍,保证存储对象的标识不会被重复利用。
线性命名空间linear name space用于保存目录和文件的inode,划分为多个线性区linear area管理,每个linear area包含若干个inode unit,每个inode unit大小为4KB,包含DNode和FNode两种类型的inode。DNode记录目录的基本信息(也称为目录的元数据信息),占用128Bytes,主要包括空闲标志位、目录名称、所在路径层次、inode号、父目录inode号和创建修改时间信息;FNode记录文件的基本信息(也称为文件的元数据信息),占用128Bytes,主要包括空闲标志位、文件名称、所在路径层次、inode号、父目录inode号、文件大小和创建修改时间信息。目录和文件的inode号均占用64bits,高24bits同元目录inode号的高24bits,低40bits编码inode在inode table中的下标,从0开始编码;目录层次和父目录inode号可以用于在内存中建立目录层级红黑树。每inode unit的第一个128Bytes作为校验字段,用于记录校验checksum信息。每个元目录的linear name space的第一个FNode,默认作为日志文件inode,其父目录为对应的元目录。
Meta Inode Table包括的mdir的个数可动态配置,如64,最大允许配置4095,可以是32的整数倍;一个linear area可以管理的空间大小可固定配置,初始化后不允许修改,另外,一个linear area可以管理的空间大小和linear area大小是不同的,linear area大小是指linear area本身占用的空间,例如,linear area大小为4MB,其管理的对象存储空间的大小为1TB。
以文件系统的存储空间大小为1PB为例,Meta Inode Table包括的mdir的个数设置为64,可以按需扩容,linear area可以管理的对象存储空间大小配置为1TB,初始化后不允许修改。inode unit中DNode和FNode按照1:1配置,即每inode unit包含15*DNODE和16*FNODE。按照每FNode关联的文件平均大小64MB计算,则linear area大小为4MB。
需要说明的是,图10只是元数据布局的一种实现方式,不同的实现方式,其具体的元数据布局可以有差别,本领域可以根据本发明实施例公开的内容无需付出创造性劳动进行改进或者变形,得到新的技术方案,这些都应涵盖在本发明的保护范围之内。
在本实施例中,基于上述创建的文件,本发明实施例还提供了一种写文件的实现方式,请参照图11,图11为本发明实施例提供的另一种对象存储空间管理方法的流程示例图,具体为对象存储空间管理方法中写文件的流程示例图,该方法包括以下步骤:
步骤S500,接收客户端发送的写文件的写请求,其中,写请求包括待写文件的名称、大小及所属的待写元目录。
在本实施例中,待写文件的待写数据可以是图片、视频、文字等数据。
步骤S510,根据待写文件的名称、大小及所属的待写元目录,从对象存储集群中分配待写存储对象。
在本实施例中,待写存储对象用于存储待写文件,可以是服务器10从对象存储集群中申请的。根据待写文件的大小和待写元目录的存储对象大小,待写存储对象可以是一个或者多个。
作为一种具体实现方式,分配待写对象的方法可以是:
首先,根据待写文件的大小及待写元目录的存储对象大小,确定待写存储对象的个数。
其次,根据待写文件的名称从待写元目录的索引节点中确定待写文件的索引节点。
第三,根据待写文件的索引节点的标识,确定待写存储对象的标识。
在本实施例中,当待写存储对象为多个时,可以将所有待写存储对象按序编号,每一待写存储对象的标识可以由待写文件的索引节点的标识和待写存储对象的编号组合而成,例如,待写文件的索引节点的标识为1000,待写存储对象的编号为00000000,则该待写存储对象的标识为1000.00000000。
最后,根据待写存储对象的标识,从对象存储集群中分配待写存储对象。
在本实施例中,可以将待写存储对象的标识作为入参调用对象存储集群提供的申请存储对象的接口,得到每一待写分片对应的待写存储对象。
步骤S520,将待写文件写入待写存储对象。
本实施例提供的上述方法,根据待写文件的大小及存储对象大小确定待写存储对象的个数,使得写文件可以按照合理的大小进行分割,既提高了待写文件访问性能,又不浪费待写文件占用的对象存储空间。
作为一种具体实现方式,可以将待写文件分布式存储于多个待写存储对象中,具体来讲,可以先按照预设条带大小先将待写文件分割为多个条带,每一个条带还可以包括多个条带单元,可以设置条带单元的大小及一个条带包括的条带单元的个数,然后将切分后的条带存储到待写存储对象中。请参照图12,图12为本发明实施例提供的待写文件的布局示例图,图12中,文件的线性存储空间中开始位置用于存储日志文件,其后依次存储file1、file2、file3,对于待存储文件file4,其按照预设条带大小进行分割,每个条带包括4个条带单元,图中示出其中的条带1~8,条带8之后的条带用…代替,file4的索引节点标识为:0x1000,一共有4个待写存储对象,其标识分别为:1000.00000000、1000.00000002、1000.00000003、1000.000000004,对于条带1,包括的4个条带单元分别为:unit1、unit2、unit3及unit4,这4个条带单元以分布式方式分布于4个待写存储对象中,其他条带与之类似,此处不再赘述。
需要说明的是,图12只是元目录中的文件在存储对象中的分布的一种具体布局方式,实施上还可根据需要进行与之不同的布局方式,例如,直接将元目录中的文件按照次序依次存储于各存储对象中,另外,除了元目录的存储对象大小,还可以根据需要存储于文件对象布局信息,文件对象布局信息包括、但不限于条带单元的大小,一个预设条带包括的条带单元的个数进行设置并将其写入对应元目录的元目录信息区中,例如将条带单元的大小设置为4MB,将条带单元的个数设置为4。
在本实施例中,作为另一种具体实现方式,当写待写文件中间的某个位置时,待写请求中可以包括待写文件的名称,写入位置,待写数据大小,按照图12所示的布局方式,可以通过文件对象布局信息及写入位置确定待写数据要写入的待写存储对象的标识及在待写存储对象中的偏移位置,在待写存储对象的偏移位置写入待写数据。
在本实施例中,系统元数据区、元目录信息区及索引节点中存储的都是元数据,系统元数据区中存储的是系统文件的元数据,元目录信息区存储的是元目录的元数据,索引节点中存储的是目录和文件的元数据,对于系统元数据区和元目录信息区的更新,主要包括两类操作:(1)文件系统扩容、元目录扩容和增删元目录;(2)增删文件操作;对于(1)的操作较少,对于(2)的操作,通常需要更新元目录容量,该操作较为频繁,但是元目录容量可以根据元目录的索引节点中记录的文件的大小计算得到,因此,系统元数据区和元目录信息区可以不通过日志文件以事务操作的方式进行可靠性保证。
在本实施例中,作为一种具体实施方式,在服务器中,系统元数据区、元目录信息区合并保存在一个文件中,该文件的文件名称命令规则为:高12bits为文件系统的标识,低52bits清零;每个元目录的linear name space单独保存在一个文件中,以元目录的inode号命名;每元目录的日志文件单独保存在一个文件中,以该文件的inode号命名。上述元数据的文件的副本还存储于对象存储集群中,在对象存储集群中,上述元数据的文件可以按照图12所示方式,保存在一组对象中,其中linear name space的文件可以以linear area大小作为object size和stripe unit,stripe count可以配置为1。
在本实施例中,除了上述元数据,还有一类用户数据,即用户通过客户端需要存储的数据,例如视频、图片、文本等数据。对于元数据而言,为了既保证其访问性能,又保证其可靠性,将元数据存储于服务器10中,同时在对象存储集群中存储元数据的副本,以便于在服务器10出现故障时,可以从对象存储集群中获取元数据,再根据元数据恢复文件系统。作为一种具体实现方式,可以定时将服务器10的元数据备份至对象存储集群中。对于用户数据而言,将用户数据存储于对象存储集群。
在本实施例中,将用户数据和元数据分离,且将元数据分层部署,使用户数据和元数据的访问互不影响。
在本实施例中,为了对元数据进行管理,服务器运行有三类线程:第一线程、第二线程及第三线程,第一线程也称Submit线程,负责元目录的Submit任务,该任务是将索引节点的操作写入日志文件;第二线程也称Replay线程,负责元目录的Replay任务,该任务根据日志文件更新索引节点及定时将日志文件和目录和文件元数据备份至对象存储集群,作为一种具体实施方式,对于日志文件,可以配置以1/4linear area大小的频率进行备份,对于linear name space,可以配置每天0点全备份;第三线程也称垃圾回收GC(GarbageCollection,GC)线程,负责元目录的GC任务,该任务用于回收被删除文件包括的存储对象。文件系统建立之初,由于各任务的压力不大,所有元目录共享全局的Submit线程、Replay线程和GC线程,全局的Replay线程同时负责super和Meta Inode Table的备份。当元目录的任务压力变大时,每一元目录均可以有自己的第一线程、第二线程和第三线程,以提高三个线程处理任务的效率。为了更形象地说明三个线程负责的对应的任务的情况,请参照图13,图13为本发明实施例提供的三个线程及对应任务的示例图,图13中,开始时,mdir1和mdir2的3个任务共用三个线程,之后,由于mdir2的任务负载过大,mdir2和mdir1各自由自己的三个线程执行对应的任务。
在本实施例,为了提高文件系统的可兼容性,本发明实施例还提供了一种对文件系统进行扩展的架构,请参照图14,图14为本发明实施例提供的文件系统的架构图,图14中,文件系统架构中包括块驱动Block Driver模块、文件驱动File Driver模块、对象驱动Object Driver和接口模块(也称libEFS模块),Block Driver模块用于管理IPSAN(存储区域网络,Storage Area Net)资源和分布式块资源,File Driver模块用于管理NAS(网络附属存储,Network Attached Storage)存储资源,Object Driver模块用于管理对象存储资源,libEFS模块对外提供两类操作:create/seek/write/read/close接口可以用于视频文件操作;writeful/readful接口可以用于图片数据操作。
在本实施例中,对于块存储资源,通过iSCSI协议方式访问,具有静态空间布局,即块存储单元在整个存储空间中的位置固定,并且支持对任意存储单元进行随机修改写;可以采用类似于EXT4/XFS等标准文件系统的静态文件系统布局方式,统一纳管不同的块存储资源,划分固定的文件系统元数据区和数据区。文件系统元数据区通常具有小块输入输出IO(InputOutput)随机访问的特性,而数据区则表现为大块IO顺序追加写入。
对于文件存储资源,通常采用网络文件系统NFS(Network File System,NFS)方式访问。
对于对象存储资源,通过S3/Swift协议方式访问。与块存储资源不同,对象存储单元不支持随机修改写,只能全对象覆盖写,并且覆盖写涉及对象元数据的加载,存在性能损耗的问题。对象存储资源的这种特性,可以看作是具有动态空间布局。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种对象存储空间管理装置100的实现方式。请参照图15,图15示出了本发明实施例提供的对象存储空间管理装置100的方框示意图。需要说明的是,本实施例所提供的对象存储空间管理装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
对象存储空间管理装置100包括接收模块110、确定模块120、创建模块130及写处理模块140。
接收模块110,用于接收客户端发送的用于创建元目录的第一创建请求,其中,第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,待创建元目录的存储空间由对象存储集群提供的存储对象组成。
作为一种具体实施方式,接收模块110还用于接收客户端发送的用于创建文件的第二创建请求,其中,第二创建请求包括待创建文件的名称和路径。
作为一种具体实施方式,接收模块110还用于接收客户端发送的写文件的写请求,其中,写请求包括待写文件的名称、大小及所属的待写元目录。
作为一种具体实施方式,接收模块110还用于接收客户端发送的创建文件系统的第三创建请求,其中,第三创建请求包括待创建文件系统的大小、及待创建文件系统配置的元目录的个数。
确定模块120,用于根据业务特性确定待创建元目录的存储对象大小。
作为一种具体实施方式,确定模块120还用于:将目标元目录对应的状态为空闲、且类型为文件类型的索引节点作为目标节点;根据父目录确定待创建文件的路径层次;根据目标元目录的标识及目标节点的编号,生成待创建文件的标识。
创建模块130,用于根据待创建元目录的名称、存储空间大小及存储对象大小,创建待创建元目录。
作为一种具体实施方式,服务器预先运行有文件系统,服务器包括按序编号的至少一个元目录信息区,一个元目录信息区用于保存一个元目录的名称、存储空间大小及存储对象大小,创建模块130具体用于:将状态为空闲的元目录信息区作为目标信息区;根据文件系统的标识及目标信息区的编号,生成待创建元目录的标识;将待创建元目录的名称、存储空间大小、存储对象大小及待创建元目录的标识更新至目标信息区,以基于文件系统创建待创建元目录。
作为一种具体实施方式,创建模块130还用于:将待创建文件的名称、路径及待创建文件的标识更新至目标节点,以创建待创建文件。
作为一种具体实施方式,创建模块130还用于:生成待创建文件系统的标识;将待创建文件系统的标识及大小更新至系统元数据区;根据待创建文件系统配置的元目录的个数初始化元目录信息区,以创建待创建文件系统。
写处理模块140,用于:根据待写文件的名称、大小及所属的待写元目录,从对象存储集群中分配待写存储对象;将待写文件写入待写存储对象。
作为一种具体实施方式,写处理模块140具体用于:根据待写文件的大小及待写元目录的存储对象大小,确定待写存储对象的个数;根据待写文件的名称从待写元目录的索引节点中确定待写文件的索引节点;根据待写文件的索引节点的标识,确定待写存储对象的标识;根据待写存储对象的标识,从对象存储集群中分配待写存储对象。
更新模块150,用于当对元目录的任意一个索引节点执行更新操作时,将更新操作记录于日志文件,一个元目录包括一个日志文件及多个按序编号的索引节点;定时根据日志文件中的更新操作对对应的索引节点进行更新。
综上所述,本发明实施例提供了一种对象存储空间管理方法、装置、服务器及存储介质,应用于服务器,服务器与客户端及对象存储集群均通信连接,所述方法包括:接收客户端发送的用于创建元目录的第一创建请求,其中,第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,待创建元目录的存储空间由对象存储集群提供的存储对象组成;根据业务特性确定待创建元目录的存储对象大小;根据待创建元目录的名称、存储空间大小及存储对象大小,创建待创建元目录。与现有技术相比,本发明实施例在创建元目录时,根据待创建元目录的业务特性确定待创建元目录的存储对象大小,再根据待创建元目录的名称、存储空间大小及存储对象大小,创建待创建元目录,使得创建的元目录在提供服务时既能保证元目录中的存储对象的空间不被浪费,又能保证元目录的访问性能。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种对象存储空间管理方法,其特征在于,应用于服务器,所述服务器与客户端及对象存储集群均通信连接,所述方法包括:
接收所述客户端发送的用于创建元目录的第一创建请求,其中,所述第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,所述待创建元目录的存储空间由所述对象存储集群提供的存储对象组成;
根据所述业务特性确定所述待创建元目录的存储对象大小;
根据所述待创建元目录的名称、存储空间大小及存储对象大小,创建所述待创建元目录。
2.如权利要求1所述的对象存储空间管理方法,其特征在于,所述服务器预先运行有文件系统,所述服务器包括按序编号的至少一个元目录信息区,一个所述元目录信息区用于保存一个元目录的名称、存储空间大小及存储对象大小,所述根据所述待创建元目录的名称、存储空间大小及存储对象大小,创建所述待创建元目录的步骤包括:
将状态为空闲的元目录信息区作为目标信息区;
根据所述文件系统的标识及所述目标信息区的编号,生成所述待创建元目录的标识;
将所述待创建元目录的名称、存储空间大小、存储对象大小及所述待创建元目录的标识更新至所述目标信息区,以基于所述文件系统创建所述待创建元目录。
3.如权利要求2所述的对象存储空间管理方法,其特征在于,一个元目录包括多个按序编号的索引节点,所述索引节点的类型包括文件类型,所述方法包括:
接收所述客户端发送的用于创建文件的第二创建请求,其中,所述第二创建请求包括待创建文件的名称和路径;
将所述目标元目录对应的状态为空闲、且类型为文件类型的索引节点作为目标节点;
将所述待创建文件的路径中的第一层路径作为所述待创建文件所属的目标元目录;
根据所述目标元目录的标识及所述目标节点的编号,生成所述待创建文件的标识;
将所述待创建文件的名称、路径及所述待创建文件的标识更新至所述目标节点,以创建待创建文件。
4.如权利要求3所述的对象存储空间管理方法,其特征在于,所述方法还包括:
接收所述客户端发送的写文件的写请求,其中,所述写请求包括待写文件的名称、大小及所属的待写元目录;
根据所述待写文件的名称、大小及所属的待写元目录,从所述对象存储集群中分配待写存储对象;
将所述待写文件写入所述待写存储对象。
5.如权利要求4所述的对象存储空间管理方法,其特征在于,所述根据所述待写文件的名称、大小及所属的待写元目录,从所述对象存储集群中分配待写存储对象的步骤包括:
根据所述待写文件的大小及所述待写元目录的存储对象大小,确定待写存储对象的个数;
根据所述待写文件的名称从所述待写元目录的索引节点中确定所述待写文件的索引节点;
根据所述待写文件的索引节点的标识,确定所述待写存储对象的标识;
根据所述待写存储对象的标识,从所述对象存储集群中分配所述待写存储对象。
6.如权利要求1所述的对象存储空间管理方法,其特征在于,所述服务器还包括系统元数据区及元目录信息区,所述方法还包括:
接收所述客户端发送的创建文件系统的第三创建请求,其中,所述第三创建请求包括待创建文件系统的大小、及所述待创建文件系统配置的元目录的个数;
生成所述待创建文件系统的标识;
将所述待创建文件系统的标识及大小更新至所述系统元数据区;
根据所述待创建文件系统配置的元目录的个数初始化所述元目录信息区,以创建待创建文件系统。
7.如权利要求1所述的对象存储空间管理方法,其特征在于,一个元目录包括一个日志文件及多个按序编号的索引节点,所述方法还包括:
当对所述元目录的任意一个索引节点执行更新操作时,将所述更新操作记录于所述日志文件;
定时根据所述日志文件中的更新操作对对应的索引节点进行更新。
8.一种对象存储空间管理装置,其特征在于,应用于服务器,所述服务器与客户端及对象存储集群均通信连接,所述装置包括:
接收模块,用于接收所述客户端发送的用于创建元目录的第一创建请求,其中,所述第一创建请求包括待创建元目录的名称、存储空间大小及业务特性,所述待创建元目录的存储空间由所述对象存储集群提供的存储对象组成;
确定模块,用于根据所述业务特性确定所述待创建元目录的存储对象大小;
创建模块,用于根据所述待创建元目录的名称、存储空间大小及存储对象大小,创建所述待创建元目录。
9.一种服务器,包括存储器和处理器,其特征在于,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的对象存储空间管理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-7中任一项所述的对象存储空间管理方法。
CN202111052025.2A 2021-09-08 2021-09-08 对象存储空间管理方法、装置、服务器及存储介质 Active CN113722275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111052025.2A CN113722275B (zh) 2021-09-08 2021-09-08 对象存储空间管理方法、装置、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111052025.2A CN113722275B (zh) 2021-09-08 2021-09-08 对象存储空间管理方法、装置、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN113722275A true CN113722275A (zh) 2021-11-30
CN113722275B CN113722275B (zh) 2022-08-26

Family

ID=78682658

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111052025.2A Active CN113722275B (zh) 2021-09-08 2021-09-08 对象存储空间管理方法、装置、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN113722275B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138209A (zh) * 2022-02-07 2022-03-04 苏州浪潮智能科技有限公司 一种部署osd的方法、装置及计算机可读存储介质
CN114415971A (zh) * 2022-03-25 2022-04-29 阿里云计算有限公司 数据处理方法以及装置
CN114866570A (zh) * 2022-04-18 2022-08-05 北京快乐茄信息技术有限公司 一种信息处理方法、装置、电子设备及存储介质
CN115098466A (zh) * 2022-07-18 2022-09-23 重庆紫光华山智安科技有限公司 元数据管理方法、装置、存储节点及可读存储介质
CN116028312A (zh) * 2023-02-27 2023-04-28 浪潮电子信息产业股份有限公司 一种固态硬盘寿命到期处理方法、装置及介质
CN116719481A (zh) * 2023-08-08 2023-09-08 腾讯科技(深圳)有限公司 配置数据处理方法、装置及相关设备
WO2024082787A1 (zh) * 2022-10-17 2024-04-25 北京奥星贝斯科技有限公司 一种创建表空间的方法、装置、存储介质及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040286A1 (en) * 2012-06-18 2014-02-06 Maldivica Inc. Method and system for the normalization, filtering and securing of associated metadata information on file objects deposited into an object store
US20160314134A1 (en) * 2015-04-24 2016-10-27 Google Inc. Apparatus and Methods for Optimizing Dirty Memory Pages in Embedded Devices
CN109582235A (zh) * 2018-11-27 2019-04-05 杭州宏杉科技股份有限公司 管理元数据存储方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140040286A1 (en) * 2012-06-18 2014-02-06 Maldivica Inc. Method and system for the normalization, filtering and securing of associated metadata information on file objects deposited into an object store
US20160314134A1 (en) * 2015-04-24 2016-10-27 Google Inc. Apparatus and Methods for Optimizing Dirty Memory Pages in Embedded Devices
CN109582235A (zh) * 2018-11-27 2019-04-05 杭州宏杉科技股份有限公司 管理元数据存储方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114138209A (zh) * 2022-02-07 2022-03-04 苏州浪潮智能科技有限公司 一种部署osd的方法、装置及计算机可读存储介质
CN114138209B (zh) * 2022-02-07 2022-04-22 苏州浪潮智能科技有限公司 一种部署osd的方法、装置及计算机可读存储介质
CN114415971A (zh) * 2022-03-25 2022-04-29 阿里云计算有限公司 数据处理方法以及装置
CN114866570A (zh) * 2022-04-18 2022-08-05 北京快乐茄信息技术有限公司 一种信息处理方法、装置、电子设备及存储介质
CN115098466A (zh) * 2022-07-18 2022-09-23 重庆紫光华山智安科技有限公司 元数据管理方法、装置、存储节点及可读存储介质
WO2024082787A1 (zh) * 2022-10-17 2024-04-25 北京奥星贝斯科技有限公司 一种创建表空间的方法、装置、存储介质及电子设备
CN116028312A (zh) * 2023-02-27 2023-04-28 浪潮电子信息产业股份有限公司 一种固态硬盘寿命到期处理方法、装置及介质
CN116719481A (zh) * 2023-08-08 2023-09-08 腾讯科技(深圳)有限公司 配置数据处理方法、装置及相关设备
CN116719481B (zh) * 2023-08-08 2024-01-26 腾讯科技(深圳)有限公司 配置数据处理方法、装置及相关设备

Also Published As

Publication number Publication date
CN113722275B (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
CN113722275B (zh) 对象存储空间管理方法、装置、服务器及存储介质
US11755415B2 (en) Variable data replication for storage implementing data backup
US7603529B1 (en) Methods, systems, and computer program products for mapped logical unit (MLU) replications, storage, and retrieval in a redundant array of inexpensive disks (RAID) environment
WO2018040591A1 (zh) 一种远程数据复制方法及系统
US11687265B2 (en) Transferring snapshot copy to object store with deduplication preservation and additional compression
US8055864B2 (en) Efficient hierarchical storage management of a file system with snapshots
US9507800B2 (en) Data management in distributed file systems
US8423733B1 (en) Single-copy implicit sharing among clones
JP5007350B2 (ja) ハードウェアベースのファイルシステムのための装置および方法
US11868312B2 (en) Snapshot storage and management within an object store
US8515911B1 (en) Methods and apparatus for managing multiple point in time copies in a file system
US8204858B2 (en) Snapshot reset method and apparatus
US8209289B1 (en) Technique for accelerating the creation of a point in time representation of a virtual file system
US11797477B2 (en) Defragmentation for objects within object store
US11630807B2 (en) Garbage collection for objects within object store
US20110010496A1 (en) Method for management of data objects
US20080183988A1 (en) Application Integrated Storage System Volume Copy and Remote Volume Mirror
US11899620B2 (en) Metadata attachment to storage objects within object store
KR20130108298A (ko) 폐기가능 파일들의 카드-기반 관리
CN113377292B (zh) 一种单机存储引擎
US20210103400A1 (en) Storage system and data migration method
CN114780043A (zh) 基于多层缓存的数据处理方法及装置、电子设备
CN116627709A (zh) 一种数据处理系统、方法及设备
CN116490847A (zh) 支持分布式文件系统中的垃圾收集的虚拟数据复制
CN117290298A (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