CN111796767A - 一种分布式文件系统及数据管理方法 - Google Patents
一种分布式文件系统及数据管理方法 Download PDFInfo
- Publication number
- CN111796767A CN111796767A CN202010591962.4A CN202010591962A CN111796767A CN 111796767 A CN111796767 A CN 111796767A CN 202010591962 A CN202010591962 A CN 202010591962A CN 111796767 A CN111796767 A CN 111796767A
- Authority
- CN
- China
- Prior art keywords
- file
- metadata
- information
- service
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000013523 data management Methods 0.000 title claims abstract description 11
- 238000007726 management method Methods 0.000 claims abstract description 59
- 238000012217 deletion Methods 0.000 claims 3
- 230000037430 deletion Effects 0.000 claims 3
- 238000012545 processing Methods 0.000 abstract description 18
- 238000000926 separation method Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1727—Details of free space management performed by the file system
-
- 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/0629—Configuration or reconfiguration of 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/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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了分布式文件系统及数据管理方法,该系统包括:键值数据库和共享磁盘,服务端、元数据服务以及空间与IO事务管理服务;服务端用于接收客户端发送的数据操作请求,并分析数据操作请求,确定发送给元数据服务和/或空间与IO事务管理服务的操作指令;元数据服务用于将所有文件的关联关系和非普通文件的元数据存储在键值数据库中,并提供操作键值数据库来获取相关元信息的方法;空间与IO事务管理服务用来处理文件的读写请求,来开启和关闭一个文件的IO事务,并为普通文件在共享磁盘上分配存储空间。利用该系统,能够实现分布式文件系统的元数据分离管理,从而降低了元数据管理复杂性,提高元数据管理灵活性。
Description
技术领域
本发明实施例涉及数据存储技术领域,尤其涉及一种分布式文件系统及数据管理方法。
背景技术
随着信息化社会的不断发展,数据成为各行各业不断发展中最重要的资产,数据能否安全,可靠,高效地存储成为企业信息化建设的核心考量。分布式存储架构以成本低、高可靠,高性能以及高扩展性的特点备受企业青睐,逐渐被越来越多的企业用来替换传统存储架构。
网络附属存储(Network Attached Storage,NAS)分布式文件系统作为分布式存储架构的一种存储系统,能够使用企业对大吞吐量数据处理,以及高性能计算的存储需求。然而现有的NAS分布式文件系统主要采用树形结构对所有文件和目录进行管理,当文件或目录数量过多时,文件或者目录的检索性能就会极大降低,由此增加了数据的管理难度,降低了分布式文件系统的工作效率。
发明内容
本发明实施例提供一种分布式存储系统,解决了现有存储形式在数据量过大时无法灵活管理所存储数据的问题。
第一方面,本发明实施例提供了一种分布式存储系统,其特征在于,包括:服务端、键值数据库、共享磁盘、空间与IO事务管理服务以及元数据服务;
所述键值数据库,用于储存非普通文件的元数据信息及关联关系信息,以及储存普通文件的关联关系信息;
所述共享磁盘,用于储存所述普通文件的元数据信息;
所述服务端,用于接收客户端发送的数据操作请求,并分析所述数据操作请求,确定发送给所述元数据服务和/或空间与IO事务管理服务的操作指令;
所述空间与IO事务管理服务,用于在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对普通文件在所述共享磁盘上的存储空间进行管理;
所述元数据服务,用于作为一个服务接口,在接收到操作指令后,执行将非普通文件的元数据信息和关联关系信息,以及普通文件的关联关系信息存储所述键值数据库的操作;或者,执行向所述服务端反馈对应所接收操作指令的相关数据信息的操作。
第二方面,本发明实施例提供了一种数据管理方法,应用于本发明第一方面实施例提供的分布式文件系统,包括:
通过服务端接收客户端发送的数据操作请求,并分析所述数据操作请求,确定发送给所述元数据服务和/或空间与IO事务管理服务的操作指令;
通过作为一个服务接口的元数据服务,在在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对普通文件在所述共享磁盘上的存储空间进行管理;
通过所述空间与IO事务管理服务,在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对所述普通文件在所述共享磁盘上的存储空间进行管理并反馈给服务端,其中,所述共享磁盘用于储存所述普通文件的元数据信息;
通过服务端将所接收元数据服务和/或空间与IO事务管理服务发送的数据操作结果反馈给所述客户端。
本发明实施例提供了一种分布式存储系统及数据管理方法,该分布式存储系统中包括服务端、键值数据库、共享磁盘、空间与IO事务管理服务以及元数据服务,其中,键值数据库用来储存非普通文件的元数据信息及关联关系信息,以及储存所述非普通文件及普通文件的关联关系信息;共享磁盘用来储存所述普通文件的元数据信息;服务端用于接收客户端发送的数据操作请求,并分析所述数据操作请求,确定发送给所述元数据服务和/或空间与IO事务管理服务的操作指令;空间与IO事务管理服务用于在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对所述普通文件在所述共享磁盘上的存储空间进行管理;用于作为一个服务接口,在接收到操作指令后,执行将非普通文件的元数据信息和关联关系信息,以及普通文件的关联关系信息存储所述键值数据库的操作;或者,执行向所述服务端反馈对应所接收操作指令的相关数据信息的操作。上述技术方案,能够将非普通文件类型的元数据以及目录树结构存储在键值数据库上,同时将普通文件类型的文件及相应元数据存储在共享磁盘中,以此来实现分布式文件系统的元数据分离管理,从而降低了分布式文件系统元数据管理复杂性;同时,利用共享磁盘的高并发能力,能够更好的应对大量并发的读取目录和获取文件属性的业务场景,有效保证了元数据的扩展性以及数据处理的灵活性。
附图说明
图1为本发明实施例一所提供分布式文件系统的系统架构图;
图2为本发明实施例二所提供数据管理方法的流程示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一所提供分布式文件系统的系统架构图,如图1所示,该分布式文件系统包括:服务端10、键值数据库11、共享磁盘12、空间与IO事务管理服务13以及元数据服务14;其中,键值数据库11,用于储存非普通文件的元数据信息及关联关系信息,以及储存所述非普通文件及普通文件的关联关系信息;共享磁盘12,用于储存所述普通文件的元数据信息;服务端10,用于接收客户端发送的数据操作请求,并分析所述数据操作请求,确定发送给元数据服务14和/或空间与IO事务管理服务13的操作指令;空间与IO事务管理服务13,用于在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对普通文件在所述共享磁盘上的存储空间进行管理;元数据服务14,用于作为一个服务接口,在接收到操作指令后,执行将非普通文件的元数据信息和关联关系信息,以及普通文件的关联关系信息存储所述键值数据库的操作;或者,执行向所述服务端反馈对应所接收操作指令的相关数据信息的操作。
在本实施例中,所提供的分布式文件系统可看做为现有NAS分布式文件系统的优化改进,因此,首先可认为本实施例提供的分布式文件系统具备现有NAS分布式文件系统的节点集群,每个NAS节点相当于一个服务器,各节点间可以独立进行数据处理,也可以相互配合进行数据处理。
在本实施例中,服务端10可以看作一个分布式文件系统与用户侧客户端进行数据交互的消息收发端,具体可以接收用户侧客户端的请求数据转发给运行在NAS节点上的服务进程(如元数据服务14,或事物管理服务),同时,也可以将各服务进程处理后形成的处理结果反馈给用户侧客户端。此外,元数据服务14以及空间与IO事务管理服务13均可以看作部署在NAS节点上具备不同处理功能的服务进程,均可用于对客户端所发送相关数据请求的处理。
对于现有的NAS分布式文件系统而言,在进行文件数据的管理中,虽然也考虑将元数据、目录数据等非普通类型的文件与真正的文件分离存储,但所采用的存储方式直接为将元数据、目录数据存储至目录数据库,将真正的文件存储至文件数据库,且目标数据库以及文件数据库中主要采用树状结构的存储方式,当文件或目录数量过多时,因为涉及到树状检索,对文件或者目录的请求反应速度受到影响,进而分布式文件系统的工作效率。
本实施例提供的分布式文件系统,首先采用了键值数据库11和共享磁盘12来替代现有分布式文件系统下进行数据存储的数据库,并且对键值数据库11以及共享磁盘12所存储的数据类型进行了限定。
具体的,本实施例中的非普通文件可以是目录文件、软链接以及硬链接等,非普通文件具备的元数据信息(如访问权限,上次修改的时间等),以及这些非普通文件之间可能存在的关联关系信息均储存在键值数据库11中;该种限定可以将分布式系统对非普通文件的操作完全可以脱离对磁盘的读取,有效地节省了数据的检索或查询时间。
本实施例中的普通文件可以是文本文件,图片以及视频等,普通文件在分布式文件系统中的关联关系信息(如普通文件的访问路径)也同样保存在键值数据库11中。但同时限定了将普通文件本身的文件内容以及元数据信息一同保存在共享磁盘12上。因为对文件内容的读写需要经常更新文件元信息,将其一同放在共享磁盘12上,便于文件数据信息的维护,而文件的关联关系并不长改变,将其储存在键值数据库11上并不需要过多的操作键值数据库11。本实施例的该种储存设计方式,有效地降低了元数据管理的复杂性。
其次,本实施例提供的分布式文件系统,设定了服务端10、空间与IO事务管理服务13以及元数据服务14,当客户端发起了数据操作请求时,可以通过服务端10、空间与IO事务管理服务13以及元数据服务14之间的交互,向客户端反馈对数据操作请求进行响应处理后的操作结果。其中,元数据服务14具体可以作为一个服务接口,能够接收服务端针对非普通文件进行操作的相关操作指令,并可以通过该操作指令对非普通文件的元数据信息和关联关系信息,以及普通文件的关联关系信息进行到键值数据库11的存储操作以及键值数据库11进行相关数据信息读取的处理操作;空间与IO事务管理服务13具体可以在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对普通文件在所述共享磁盘12上的存储空间进行管理。
需要知道的是,本实施例提供的分布式文件系统中包括了多个NAS节点构成的集群,该种通过节点集群进行分布式处理的方式,有效的避免了单节点故障以及单节点性能瓶颈的问题。本实施例采用多节点分布式处理的前提下,本实施例所提供分布式文件系统中包含的元数据服务14以及空间与IO事务管理服务13可以采用多实例部署,且执行操作的服务可以属于同一NAS节点,也可以属于不同的NAS节点。
本发明实施例一提供的一种分布式文件系统,能够将非普通文件类型的元数据以及目录树结构存储在键值数据库11上,同时将普通文件类型的文件及相应元数据存储在共享磁盘12中,以此来实现分布式文件系统的元数据分离管理,从而降低了分布式文件系统元数据管理复杂性;同时,利用共享磁盘12的高并发能力,能够更好的应对大量并发的读取目录和获取文件属性的业务场景。有效保证了元数据的扩展性以及数据处理的灵活性。
在上述实施例的基础上,服务端10具体可以用于接收所述客户端发送的数据操作请求,分析所述数据操作请求对应的请求执行目标;如果所述请求执行目标为非普通文件,则基于所述数据操作请求形成发送给所述元数据服务的操作指令;如果所述请求执行目标为普通文件,则直接从所述共享磁盘中读取对应所述数据操作请求的数据信息;或者,基于所述数据操作请求形成发送给所述空间与IO事务管理服务的操作指令。
在本实施例中,客户端可以挺过文件系统访问协议NFS或者SMB访问服务端10,向服务端10发送数据操作请求,所述数据操作请求可以是客户端侧用户根据实际需求触发生成的请求,本实施例不对数据操作请求的实际内容做具体限定。服务端10在接收到客户端发送的数据操作请求后,可以通过对数据操作请求所包含内容的分析,确定出该数据操作请求对应的请求执行目标,所述请求执行目标具体相当于待进行操作处理的文件对象。
可以知道的是,请求执行目标,即实际的待处理文件对象,该文件对象要么为非普通文件,要么为普通文件。服务端10可以在确定请求执行目标后,根据请求执行目标的不同,确定该数据操作请求的执行对象,并生成执行对象执行进行该数据操作请求响应的操作指令。
具体的,可以在请求执行目标为非普通文件时,直接基于数据操作请求作形成发送给元数据服务14的操作指令。示例性的,假设数据操作请求为对目录信息的查询,则该目录相当于非普通文件,此时可以基于对目标信息的查询的数据操作请求生成发送给元数据服务14进行数据信息查询的读操作。
同时,当请求执行目标为普通文件时,相当于数据操作请求是对普通文件的操作处理,此时,服务端可以直接分析该数据操作请求具体对应的操作,如果是普通文件的读操作,则可以直接从共享磁盘中读取该普通文件的相关内容及元数据信息;如果是写操作或删除操作,则需要与空间与IO事务管理服务13进行配合,即基于数据操作请求生成发送给空间与IO事务管理服务13的操作指令,由空间与IO事务管理服务13先进行相关事务信息的生成,之后根据相关事务信息进行后续的处理操作。
本实施例下述给出了元数据服务14对非普通文件执行操作指令所对应相关操作的具体实现,根据所接收操作指令具体对应的操作要求不同,如,操作指令的操作要求可以包括对非普通文件的写操作以及读操作等,不同情况下元数据服务14所执行的处理操作也存在不同。
进一步地,元数据服务14可以具体用于当所接收操作指令为对非普通文件的写操作时,执行将所述非普通文件的元数据信息以及关联关系信息写入所述键值数据库的操作;当所接收操作指令为对普通文件所对应关联关系信息的写操作时,执行将所述普通文件的关联关系信息写入所述键值数据库的操作。
本优选方案给出了元数据服务14对非普通文件进行写操作的具体实现,该写操作中需要写入的信息可以是非普通文件的元数据信息以及关联关系信息;同时还给出了元数据服务14对普通文件进行写操作的具体实现,该写操作中需要写入的信息只包括普通文件的关联关系信息。
需要说明的是,本实施例将信息写入键值数据库11时,可以灵活地选定适合作为键(key)以及值(value)的内容,如key可以是待写入内容的ID等具备标识作用的信息;value直接为待写入的内容。
进一步地,分布式文件系统还包括了数据缓存模块15,该数据缓存模块15用于缓存储存在键值数据库11中的数据;相应的,元数据服务14具体可以用于:当所接收操作指令为对目标文件的读操作时,执行从所述数据缓存模块获取所述目标文件的相关数据信息的操作,其中,所述相关数据信息为所述非普通文件的元数据信息以及关联关系信息,或者所述普通文件的关联关系信息;当所述数据缓存模块内不存在所述目标文件的相关数据信息时,执行从所述键值数据库获取所述目标文件的相关数据信息的操作。
本优选方案中,进一步优化分布式系统中还包括有数据缓存模块15,该数据缓存模块15可以缓存储存在键值数据库11中的数据。可以理解的是,在为了提高数据的查询效率,可以将对查询效率敏感的文件所对应的数据信息同时保存到数据缓存模块15中,由此在接收到文件的读操作需求时,可以先尝试从数据缓存模块15中读取。
在本优选实施例中,元数据服务14所执行读操作的对象可以是非普通文件或普通文件,本实施例将这两个类型的文件统一记为目标文件,读操作相当于对数据信息的查询,由此元数据服务可以先从数据缓存模块15中获取目标文件的相关数据信息,并在数据缓存模块15内不存在相关数据信息是,再从键值数据库11中进行信息读取。可以知道的是,如果目标文件对查询效率不敏感,也可直接从键值数据库11中进行信息读取。
在上述实施例的基础上,元数据服务14具体还可以用于在执行从所述键值数据库获取所述目标文件的相关数据信息的操作后,当所述数据缓存模块中不存在相关数据信息时,将所述目标文件的相关数据信息缓存到所述数据缓存模块。
进一步地,元数据服务14具体还可以用于在针对所接收操作指令进行相应的数据操作后,将所执行数据操作的操作结果反馈给所述服务端。
需要理解的是,元数据服务14无论进行什么操作都会产生相应的操作结果,本实施例中元数据服务14需要将所产生的操作结果反馈给服务端10,以便服务端10对该操作结果进行缓存,或者直接将该操作结果反馈给客户端。
进一步地,服务端10具体用于当所述元数据服务反馈的操作结果与所述非普通文件关联时,缓存所述元数据服务反馈的操作结果并反馈给所述客户端;当所述元数据服务反馈的操作结果为与所述普通文件关联的关联关系信息时,缓存所述元素数据服务反馈的操作结果,并在从所述共享磁盘中获得所述普通文件的文件内容以及相应的元数据信息后,将所述普通文件的元数据信息、关联关系信息以及文件内容返回给所述客户端。
在元数据服务14进行操作结果反馈后,本实施例进一步给出了服务端10的后续操作,具体的,该后续操作可通过对元数据服务所反馈操作结果具体关联的文件类型来确定,当所反馈的操作结果与非普通文件关联时,相当于通过元数据服务14就能实现客户端所发送数据操作请求相对应操作指令的执行,此时,服务端10可以直接将执行后的操作结果反馈给客户端;当所反馈的操作结果与普通文件关联时,即为普通文件的关联关系信息时,服务端10可继续可以先换成该操作结果,并在从共享磁盘中获得该普通文件的文件内容以及相应的元数据信息后,再将普通文件的元数据信息、关联关系信息以及文件内容反馈给客户端。
进一步地,空间与IO事务管理服务13具体可以用于:
当所述操作指令为对所述普通文件的写操作时,在所述共享磁盘中为所述普通文件分配空间,并将对应所述写操作生成的写IO事务信息返回给所述服务端,以使所述服务端基于元数据服务所反馈普通文件的关联关系信息,将所述普通文件的元数据信息以及文件内容写入在对应分配的空间中。
在上述优选实施例中,空间与IO事务管理服务13接收到服务端10发送的操作指令后,并不直接对该操作指令的相关操作进行处理,而是相对该操作指令生成进行相应操作的IO事务信息,并将该事务信息传递给服务端,同时还可以为待存储的普通文件在共享磁盘中进行空间分配。服务端10接收到IO事务信息后,如果所接收的IO事务信息为事务成功生成,则可以由服务端10继续该操作指令相关操作的执行。如,本优选实施例中服务端10可以根据元数据服务所反馈普通文件的关联关系信息,将待存储的普通文件写入至在共享磁盘上分配的空间中。
进一步地,空间与IO事务管理服务13具体用于:
当所述第二操作指令为对所述普通文件的删除操作时,将执行所述删除操作的第三事务信息返回给服务端10,以使服务端10基于所述第一操作结果中的第二关联关系信息,从共享磁盘12中删除所述普通文件的第二元数据信息以及文件内容;
元数据服务14具体还用于:
接收到服务端10反馈的从共享磁盘12中删除所述普通文件的第二元数据信息以及文件内容的第二操作结果后,从键值数据库11删除所述普通文件的第二关联关系信息。
在本优选实施例中,基于空间与IO事务管理服务13接收的操作指令所包括具体内容的不同,空间与IO事务管理服务13以及服务端10具体执行的操作也不同。示例性的,空间与IO事务管理服务13可以在操作指令为普通文件的写操作时,将执行写操作的写IO事务信息返回给服务端10,并在共享磁盘进行空间分配,服务端10则需要基于元数据服务所反馈操作结果中的关联关系信息,将普通文件对应的待写入内容写入到所分配的空间中,同时在所分配空间中对关联的第二元数据信息进行更新。
此外,空间与IO事务管理服务13可以在操作指令为普通文件的删除操作时,将执行删除操作的删除IO事务信息返回给服务端10,服务端10则可以基于元数据服务所反馈普通文件的关联关系信息,从共享磁盘12中删除该普通文件的元数据信息以及文件内容,从所述共享磁盘中删除所述普通文件的元数据信息以及文件内容。响应于服务端10的上述操作,元数据服务14可以在接收到服务端10反馈的从共享磁盘12中删除所述普通文件的元数据信息以及文件内容的操作结果后,从键值数据库11删除所述普通文件的关联关系信息。
在上述优化的基础上,空间与IO事务管理服务13还用于:在服务启动后,将共享磁盘12的物理设备空间加载到内存的逻辑磁盘空间中。其中,这里的服务主要值空间与IO事务管理服务13。
实施例二
图2为本发明实施例二提供的一种数据管理方法的流程示意图,该方法适用于根据用户的需求对依赖分布式文件系统的数据进行管理的情况,该方法具体可以由上述实施例一提供的分布式文件系统执行。如图2所示,本实施例二所提供的数据管理方法,具体包括如下操作:
S201、通过服务端接收客户端发送的数据操作请求,并分析所述数据操作请求,确定发送给所述元数据服务和/或空间与IO事务管理服务的操作指令。
示例性的,用户可以根据实际需求,通过客户端向分布式系统的服务端发送数据操作请求,该数据操作请求的请求执行目标可以是非普通文件,此时本步骤可以基于数据操作请求确定发送给元数据服务的操作指令;请求执行目标也可以是普通文件,此时服务端在数据操作请求用于实现普通文件的读操作时,直接从共享磁盘中读取相关的文件内容以及元数据信息,也可以在数据操作请求用于实现普通文件的写或者删除操作时,可以先根据数据操作请求生成相应的操作指令发送给发送给空间与IO事务管理服务。
S202、通过作为一个服务接口的元数据服务,在在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对普通文件在所述共享磁盘上的存储空间进行管理。
示例性的,元数据服务通过该操作指令可以在接收到操作指令后将所有文件的关联关系和非普通文件的元数据存储在键值数据库中,或者,提供操作键值数据库的方法来获取如相关元数据信息的操作结果,并可将操作结果反馈给服务端。其中,所述键值数据库用于储存非普通文件的元数据信息及关联关系信息,以及储存所述非普通文件及普通文件的关联关系信息。
S203、通过所述空间与IO事务管理服务在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对所述普通文件在所述共享磁盘上的存储空间进行管理并反馈给服务端。
示例性的,空间与IO事务管理服务通过所接收的操作指令可以用来处理文件的读写请求(包括创建/打开或者关闭一个文件),该服务会开启和关闭一个文件的IO事务,并为普通文件在共享磁盘上分配存储空间。其中,所述所述共享磁盘用于储存所述普通文件的元数据信息。
S204、通过服务端将所接收元数据服务和/或空间与IO事务管理服务发送的数据操作结果反馈给所述客户端。
本步骤可以将对应数据操作请求的执行结果反馈给客户端。
本发明实施例二提供的一种数据管理方法,相当于在本申请上述实施例所提供分布式文件系统的基础上提供的一种对应分布式文件系统的执行方法,实现分布式文件系统的元数据分离管理,从而降低了分布式文件系统元数据管理复杂性;同时,利用共享磁盘的高并发能力,能够更好的应对大量并发的读取目录和获取文件属性的业务场景,有效保证了元数据的扩展性以及数据处理的灵活性。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (11)
1.一种分布式文件系统,其特征在于,包括:服务端、键值数据库、共享磁盘、空间与IO事务管理服务以及元数据服务;
所述键值数据库,用于储存非普通文件的元数据信息及关联关系信息,以及储存普通文件的关联关系信息;
所述共享磁盘,用于储存所述普通文件的元数据信息;
所述服务端,用于接收客户端发送的数据操作请求,并分析所述数据操作请求,确定发送给所述元数据服务和/或空间与IO事务管理服务的操作指令;
所述空间与IO事务管理服务,用于在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对普通文件在所述共享磁盘上的存储空间进行管理;
所述元数据服务,用于作为一个服务接口,在接收到操作指令后,执行将非普通文件的元数据信息和关联关系信息,以及普通文件的关联关系信息存储所述键值数据库的操作;或者,执行向所述服务端反馈对应所接收操作指令的相关数据信息的操作。
2.根据权利要求1所述的系统,其特征在于,所述服务端,具体用于:
接收所述客户端发送的数据操作请求,分析所述数据操作请求对应的请求执行目标;
如果所述请求执行目标为非普通文件,则基于所述数据操作请求形成发送给所述元数据服务的操作指令;
如果所述请求执行目标为普通文件,则直接从所述共享磁盘中读取对应所述数据操作请求的数据信息;或者,基于所述数据操作请求形成发送给所述空间与IO事务管理服务的操作指令。
3.根据权利要求2所述的系统,其特征在于,所述元数据服务具体用于:
当所接收操作指令为对非普通文件的写操作时,执行将所述非普通文件的元数据信息以及关联关系信息写入所述键值数据库的操作;
当所接收操作指令为对普通文件所对应关联关系信息的写操作时,执行将所述普通文件的关联关系信息写入所述键值数据库的操作。
4.根据权利要求2所述系统,其特征在于,所述系统还包括:数据缓存模块,用于缓存储存在所述键值数据库中的数据;
相应的,所述元数据服务具体用于:
当所接收操作指令为对目标文件的读操作时,执行从所述数据缓存模块获取所述目标文件的相关数据信息的操作,其中,所述相关数据信息为所述非普通文件的元数据信息以及关联关系信息,或者所述普通文件的关联关系信息;
当所述数据缓存模块内不存在所述目标文件的相关数据信息时,执行从所述键值数据库获取所述目标文件的相关数据信息的操作。
5.根据权利要求4所述的系统,其特征在于,所述元数据服务具体还用于:
在执行从所述键值数据库获取所述目标文件的相关数据信息的操作后,当所述数据缓存模块中不存在相关数据信息时,将所述目标文件的相关数据信息缓存到所述数据缓存模块。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述元数据服务具体还用于:
在针对所接收操作指令进行相应的数据操作后,将所执行数据操作的操作结果反馈给所述服务端。
7.根据权利要求6所述的系统,其特征在于,所述服务端具体用于:
当所述元数据服务反馈的操作结果与所述非普通文件关联时,缓存所述元数据服务反馈的操作结果并反馈给所述客户端;
当所述元数据服务反馈的操作结果为与所述普通文件关联的关联关系信息时,缓存所述元素数据服务反馈的操作结果,并在从所述共享磁盘中获得所述普通文件的文件内容以及相应的元数据信息后,将所述普通文件的元数据信息、关联关系信息以及文件内容返回给所述客户端。
8.根据权利要求6所述的系统,其特征在于,所述空间与IO事务管理服务具体用于:
当所述操作指令为对所述普通文件的写操作时,在所述共享磁盘中为所述普通文件分配空间,并将对应所述写操作生成的写IO事务信息返回给所述服务端,以使所述服务端基于元数据服务所反馈普通文件的关联关系信息,将所述普通文件的元数据信息以及文件内容写入在对应分配的空间中。
9.根据权利要求6所述的系统,其特征在于,所述空间与IO事务管理服务具体用于:
当所述操作指令为对所述普通文件的删除操作时,将执行所述删除操作的删除IO事务信息返回给所述服务端,以使所述服务端基于元数据服务所反馈普通文件的关联关系信息,从所述共享磁盘中删除所述普通文件的元数据信息以及文件内容;
所述元数据服务具体还用于:
接收到所述服务端反馈的从所述共享磁盘中删除所述普通文件的元数据信息以及文件内容的操作结果后,从所述键值数据库删除所述普通文件的关联关系信息。
10.根据权利要求7-9任一项所述的系统,其特征在于,所述空间与IO事务管理服务还用于:
在服务启动后,将所述共享磁盘的物理设备空间加载到内存的逻辑磁盘空间中。
11.一种数据管理方法,其特征在于,应用于权利要求1-10任一项所述的分布式文件系统,包括:
通过服务端接收客户端发送的数据操作请求,并分析所述数据操作请求,确定发送给所述元数据服务和/或空间与IO事务管理服务的操作指令;
通过作为一个服务接口的元数据服务,在在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对普通文件在所述共享磁盘上的存储空间进行管理;
通过所述空间与IO事务管理服务,在接收到操作指令后,开启或关闭一个普通文件的IO事务,以及对所述普通文件在所述共享磁盘上的存储空间进行管理并反馈给服务端,其中,所述共享磁盘用于储存所述普通文件的元数据信息;
通过服务端将所接收元数据服务和/或空间与IO事务管理服务发送的数据操作结果反馈给所述客户端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591962.4A CN111796767B (zh) | 2020-06-24 | 2020-06-24 | 一种分布式文件系统及数据管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010591962.4A CN111796767B (zh) | 2020-06-24 | 2020-06-24 | 一种分布式文件系统及数据管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111796767A true CN111796767A (zh) | 2020-10-20 |
CN111796767B CN111796767B (zh) | 2023-12-08 |
Family
ID=72804157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010591962.4A Active CN111796767B (zh) | 2020-06-24 | 2020-06-24 | 一种分布式文件系统及数据管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111796767B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114297172A (zh) * | 2022-01-04 | 2022-04-08 | 北京乐讯科技有限公司 | 一种基于云原生的分布式文件系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140095459A1 (en) * | 2012-09-28 | 2014-04-03 | International Business Machines Corporation | Supporting coordinated access to a file system's shared storage using automatic alignment of a parallel file access protocol and metadata management |
CN104657500A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种基于key-value键值对的分布式存储方法 |
WO2016180055A1 (zh) * | 2015-05-12 | 2016-11-17 | 中兴通讯股份有限公司 | 数据存储、读取的方法、装置及系统 |
US9767139B1 (en) * | 2014-06-30 | 2017-09-19 | EMC IP Holding Company LLC | End-to-end data integrity in parallel storage systems |
CN107967124A (zh) * | 2017-12-14 | 2018-04-27 | 南京云创大数据科技股份有限公司 | 一种分布式持久性内存存储系统及方法 |
US20190163754A1 (en) * | 2017-11-27 | 2019-05-30 | Snowflake Computing, Inc. | Batch Data Ingestion In Database Systems |
US20200134043A1 (en) * | 2018-10-31 | 2020-04-30 | Western Digital Technologies, Inc. | Duplicate Request Checking for File System Interfaces |
CN111124301A (zh) * | 2019-12-18 | 2020-05-08 | 深圳供电局有限公司 | 一种对象存储设备的数据一致性存储方法及系统 |
-
2020
- 2020-06-24 CN CN202010591962.4A patent/CN111796767B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140095459A1 (en) * | 2012-09-28 | 2014-04-03 | International Business Machines Corporation | Supporting coordinated access to a file system's shared storage using automatic alignment of a parallel file access protocol and metadata management |
US9767139B1 (en) * | 2014-06-30 | 2017-09-19 | EMC IP Holding Company LLC | End-to-end data integrity in parallel storage systems |
CN104657500A (zh) * | 2015-03-12 | 2015-05-27 | 浪潮集团有限公司 | 一种基于key-value键值对的分布式存储方法 |
WO2016180055A1 (zh) * | 2015-05-12 | 2016-11-17 | 中兴通讯股份有限公司 | 数据存储、读取的方法、装置及系统 |
CN106293490A (zh) * | 2015-05-12 | 2017-01-04 | 中兴通讯股份有限公司 | 数据存储、读取的方法、装置及系统 |
US20190163754A1 (en) * | 2017-11-27 | 2019-05-30 | Snowflake Computing, Inc. | Batch Data Ingestion In Database Systems |
CN107967124A (zh) * | 2017-12-14 | 2018-04-27 | 南京云创大数据科技股份有限公司 | 一种分布式持久性内存存储系统及方法 |
US20200134043A1 (en) * | 2018-10-31 | 2020-04-30 | Western Digital Technologies, Inc. | Duplicate Request Checking for File System Interfaces |
CN111124301A (zh) * | 2019-12-18 | 2020-05-08 | 深圳供电局有限公司 | 一种对象存储设备的数据一致性存储方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114297172A (zh) * | 2022-01-04 | 2022-04-08 | 北京乐讯科技有限公司 | 一种基于云原生的分布式文件系统 |
CN114297172B (zh) * | 2022-01-04 | 2022-07-12 | 北京乐讯科技有限公司 | 一种基于云原生的分布式文件系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111796767B (zh) | 2023-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11153380B2 (en) | Continuous backup of data in a distributed data store | |
US10437721B2 (en) | Efficient garbage collection for a log-structured data store | |
US9672267B2 (en) | Hybrid data management system and method for managing large, varying datasets | |
US7979478B2 (en) | Data management method | |
CN107798130B (zh) | 一种分布式存储快照的方法 | |
US9110909B2 (en) | File level hierarchical storage management system, method, and apparatus | |
US11392544B2 (en) | System and method for leveraging key-value storage to efficiently store data and metadata in a distributed file system | |
JP4912026B2 (ja) | 情報処理装置、情報処理方法 | |
CN103595797B (zh) | 一种分布式存储系统中的缓存方法 | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
CN113377868B (zh) | 一种基于分布式kv数据库的离线存储系统 | |
US9307024B2 (en) | Efficient storage of small random changes to data on disk | |
US10503693B1 (en) | Method and system for parallel file operation in distributed data storage system with mixed types of storage media | |
CN113377292B (zh) | 一种单机存储引擎 | |
US9696919B1 (en) | Source/copy reference tracking with block pointer sets | |
WO2020215580A1 (zh) | 一种分布式全局数据去重方法和装置 | |
CN114490443A (zh) | 一种基于共享内存的golang进程内缓存方法 | |
CN111796767B (zh) | 一种分布式文件系统及数据管理方法 | |
CN113051244B (zh) | 数据访问方法和装置、数据获取方法和装置 | |
CN113835613B (zh) | 一种文件读取方法、装置、电子设备和存储介质 | |
JP2013088920A (ja) | 計算機システム及びデータ管理方法 | |
CN113901018A (zh) | 一种待迁移文件识别方法、装置、计算机设备及存储介质 | |
KR100785774B1 (ko) | 객체 기반 파일 입출력 시스템 및 방법 | |
US20240028566A1 (en) | Efficient append-only file system for high-performance key-value stores | |
WO2023093091A1 (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 | ||
CB02 | Change of applicant information |
Address after: 100000 Unit 501A, Floor 5, 101, Building 1, Yard 5, Laiguangying West Road, Chaoyang District, Beijing Applicant after: Beijing Qingyun Science and Technology Co.,Ltd. Address before: 100020 601, 6 floor, 16 building, No. 36 Chuang Yuan Road, Chaoyang District, Beijing. Applicant before: Beijing Qingyun Science and Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |