CN116185962A - 基于分布式文件系统的数据处理方法及装置 - Google Patents
基于分布式文件系统的数据处理方法及装置 Download PDFInfo
- Publication number
- CN116185962A CN116185962A CN202211637746.4A CN202211637746A CN116185962A CN 116185962 A CN116185962 A CN 116185962A CN 202211637746 A CN202211637746 A CN 202211637746A CN 116185962 A CN116185962 A CN 116185962A
- Authority
- CN
- China
- Prior art keywords
- metadata
- operation information
- client
- target
- metadata server
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 21
- 230000001360 synchronised effect Effects 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims abstract description 15
- 238000012986 modification Methods 0.000 claims description 57
- 230000004048 modification Effects 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 37
- 238000012217 deletion Methods 0.000 claims description 16
- 230000037430 deletion Effects 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 9
- 238000013461 design Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000011161 development Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 238000012546 transfer 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/16—File or folder operations, e.g. details of user interfaces specifically adapted to 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/172—Caching, prefetching or hoarding of files
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Information Transfer Between Computers (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供一种基于分布式文件系统的数据处理方法及装置,涉及计算机存储技术领域,用于解决传统的分布式文件系统中同步写效率低的问题。该方法包括:元数据服务器获取第一客户端的操作信息;第一客户端为多个客户端中的任意一个;操作信息用于反映第一客户端对分布式文件系统进行的操作;元数据服务器根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作;元数据服务器基于目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志;更新日志用于指示各客户端中的元数据与更新后的元数据服务器中的元数据保持同步。
Description
技术领域
本申请涉及计算机存储技术领域,尤其涉及一种基于分布式文件系统的数据处理方法及装置。
背景技术
随着大数据、云计算的飞速发展,以及用户数据量的不断扩大,分布式文件系统的发展也愈发迅速。
但是,在传统的分布式文件系统中,对于多客户端写同一文件的支持并不友好。比如Cephfs文件系统,当多个客户端操作同一个文件时,绕过了本地缓存,采用同步写的方式,利用分布式锁机制保证强一致性。
因此当前对于多客户端写同一文件时,由于绕过了本地缓存,导致写时延相较于写缓存较高,使得写效率较低。
发明内容
本申请提供一种基于分布式文件系统的数据处理方法及装置,用于解决传统的分布式文件系统中同步写效率低的问题。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种基于分布式文件系统的数据处理方法,分布式文件系统包括元数据服务器以及多个客户端;方法包括:元数据服务器获取第一客户端的操作信息;第一客户端为多个客户端中的任意一个;操作信息用于反映第一客户端对分布式文件系统进行的操作;元数据服务器根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作;元数据服务器基于目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志;更新日志用于指示各客户端中的元数据与更新后的元数据服务器中的元数据保持同步。
可选的,操作信息包括创建操作信息、写操作信息、删除操作信息或者修改操作信息;创建操作信息表示第一客户端创建目标文件;创建操作信息包括第一客户的创建时间以及目标文件的标识;写操作信息表示第一客户端向目标文件写入内容;写操作信息包括第一客户向目标文件写入的写入内容、写入时间以及目标文件的标识;删除操作信息表示第一客户端删除目标文件;删除操作信息包括目标文件的标识;修改操作信息表示第一客户端修改目标元数据的内容;修改操作信息包括第一客户修改目标元数据的修改内容、修改时间以及目标元数据的标识。
可选的,元数据服务器基于目标更新操作,对元数据服务器中的元数据进行更新,包括:在操作信息为创建操作信息的情况下,若元数据服务器中不存在目标文件,元数据服务器则创建目标文件;若元数据服务器中存在目标文件,且已存在的目标文件的创建时间晚于第一客户端的创建时间,元数据服务器则删除已存在的目标文件,重新创建目标文件。
可选的,元数据服务器基于目标更新操作,对元数据服务器中的元数据进行更新,包括:在操作信息为写操作信息的情况下,若元数据服务器中不存在目标文件,元数据服务器向第一客户端反馈目标文件不存在的指示信息;若元数据服务器中存在目标文件,且已存在的目标文件的更新时间早于第一客户端的写入时间,元数据服务器则根据第一客户端的写入内容,修改目标文件对应的元数据。
可选的,元数据服务器基于目标更新操作,对元数据服务器中的元数据进行更新,包括:在操作信息为删除操作信息的情况下,若元数据服务器中不存在目标文件,元数据服务器向第一客户端反馈目标文件不存在的指示信息;若元数据服务器中存在目标文件,元数据服务器则删除目标文件对应的元数据。
可选的,元数据服务器基于目标更新操作,对元数据服务器中的元数据进行更新,包括:在操作信息为修改操作信息的情况下,若元数据服务器中不存在目标元数据,元数据服务器向第一客户端反馈目标元数据不存在的指示信息;若元数据服务器中存在目标元数据,且已存在的目标元数据的更新时间早于第一客户端的修改时间,元数据服务器则根据第一客户端的修改内容,修改目标元数据。
第二方面,提供一种基于分布式文件系统的数据处理装置,分布式文件系统包括元数据服务器以及多个客户端;数据处理装置包括获取单元、确定单元以及处理单元;获取单元,用于获取第一客户端的操作信息;第一客户端为多个客户端中的任意一个;操作信息用于反映第一客户端对分布式文件系统进行的操作;确定单元,用于根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作;处理单元,用于基于目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志;更新日志用于指示各客户端中的元数据与更新后的元数据服务器中的元数据保持同步。
可选的,操作信息包括创建操作信息、写操作信息、删除操作信息或者修改操作信息;创建操作信息表示第一客户端创建目标文件;创建操作信息包括第一客户的创建时间以及目标文件的标识;写操作信息表示第一客户端向目标文件写入内容;写操作信息包括第一客户向目标文件写入的写入内容、写入时间以及目标文件的标识;删除操作信息表示第一客户端删除目标文件;删除操作信息包括目标文件的标识;修改操作信息表示第一客户端修改目标元数据的内容;修改操作信息包括第一客户修改目标元数据的修改内容、修改时间以及目标元数据的标识。
可选的,处理单元,具体用于:在操作信息为创建操作信息的情况下,若元数据服务器中不存在目标文件,则创建目标文件;若元数据服务器中存在目标文件,且已存在的目标文件的创建时间晚于第一客户端的创建时间,则删除已存在的目标文件,重新创建目标文件。
可选的,处理单元,具体用于:在操作信息为写操作信息的情况下,若元数据服务器中不存在目标文件,向第一客户端反馈目标文件不存在的指示信息;若元数据服务器中存在目标文件,且已存在的目标文件的更新时间早于第一客户端的写入时间,则根据第一客户端的写入内容,修改目标文件对应的元数据。
可选的,处理单元,具体用于:在操作信息为删除操作信息的情况下,若元数据服务器中不存在目标文件,向第一客户端反馈目标文件不存在的指示信息;若元数据服务器中存在目标文件,则删除目标文件对应的元数据。
可选的,处理单元,具体用于:在操作信息为修改操作信息的情况下,若元数据服务器中不存在目标元数据,向第一客户端反馈目标元数据不存在的指示信息;若元数据服务器中存在目标元数据,且已存在的目标元数据的更新时间早于第一客户端的修改时间,则根据第一客户端的修改内容,修改目标元数据。
第三方面,提供一种元数据服务器,包括:处理器、用于存储处理器可执行的指令的存储器;其中,处理器被配置为执行指令,以实现上述第一方面的基于分布式文件系统的数据处理方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当计算机可读存储介质中的指令由元数据服务器的处理器执行时,使得元数据服务器能够执行如上述第一方面的基于分布式文件系统的数据处理方法。
本申请实施例提供的技术方案至少带来以下有益效果:元数据服务器获取第一客户端的操作信息。由于第一客户端为多个客户端中的任意一个,操作信息用于反映第一客户端对分布式文件系统进行的操作,因此元数据服务器可使用多线程并发处理各客户端的操作信息,这样使得各客户端可以在本地进行对分布式文件系统的操作。进一步的,元数据服务器根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作,基于目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志。由于更新日志用于指示各客户端中的元数据与更新后的元数据服务器中的元数据保持同步,使得元数据服务器可以始终保持拥有分布式文件系统全部最新的元数据,且还能指示各客户端中的元数据保持同步,进而解决多客户端对同一文件的操作冲突,提高了分布式文件系统中同步写效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种分布式文件系统的结构示意图;
图2为本申请实施例提供的一种元数据服务器的结构示意图一;
图3为本申请实施例提供的一种元数据服务器与客户端的映射关系示意图;
图4为本申请实施例提供的一种元数据服务器与客户端的元数据同步示意图;
图5为本申请实施例提供的一种数据处理方法的流程示意图一;
图6为本申请实施例提供的一种数据处理方法的流程示意图二;
图7为本申请实施例提供的一种创建文件的过程示意图;
图8为本申请实施例提供的一种数据处理方法的流程示意图三;
图9为本申请实施例提供的一种写文件的过程示意图;
图10为本申请实施例提供的一种数据处理方法的流程示意图四;
图11为本申请实施例提供的一种删除文件的过程示意图;
图12为本申请实施例提供的一种数据处理方法的流程示意图五;
图13为本申请实施例提供的一种数据处理装置的结构示意图;
图14为本申请实施例提供的一种元数据服务器的结构示意图二。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
还需要说明的是,本申请实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
在对本申请实施例进行详细地解释说明之前,先对本申请实施例涉及到的一些技术术语以及相关技术进行介绍。
分布式存储系统,是将数据分散存储在多台独立的设备上。传统的网络存储系统采用集中的存储服务器存放所有数据,存储服务器成为系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
分布式文件系统(Distributed File System,DFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点(可简单的理解为一台计算机)相连;或是若干不同的逻辑磁盘分区或卷标组合在一起而形成的完整的有层次的文件系统。DFS为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。单独的DFS共享文件夹的作用是相对于通过网络上的其他共享文件夹的访问点。
元数据(Metadata),又称中介数据、中继数据,为描述数据的数据(data aboutdata),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
同步是一种计算机术语,一般指的是在两个或多个数据库、文件、模块、线程之间用来保持数据内容一致性的机制。
随着大数据、云计算的飞速发展,以及用户数据量的不断扩大,分布式存储系统的发展也愈发迅速。Ceph分布式存储系统就是其中之一,该系统提供了对象、块以及文件存储功能,其可靠性高、管理简便。Ceph分布式存储系统可供成千的用户访问PB乃至EB级的数据。其中,Cephfs是可移植操作系统接口(Portable Operating System Interface,POSIX)兼容的文件系统,它使用Ceph存储集群来存储数据。对于Cephfs文件系统来说,其主要由集群监视器(Cluster Monitors,MON)、对象存储集群(Object Storage cluster,OSD)、元数据服务器(Metadata Server cluster,MDS)组成。MON是监控节点,负责监控整个Cephfs文件系统的状态;MDS是元数据服务器,负责管理元数据;OSD是存储服务,负责存储数据。
目前,用户通过各客户端,例如FUSE(Filesystem in Userspace,用户空间文件系统),NFS(Network File System,网络文件系统)等,可以实现对Cepfs文件系统的访问,实现数据的读写。
但是,对于Cephfs文件系统来说,对于多客户端写同一文件的支持并不友好。比如Cephfs文件系统,当多个客户端操作同一个文件时,绕过了本地缓存,采用同步写的方式,利用分布式锁机制保证强一致性。
因此当前对于多客户端写同一文件时,由于绕过了本地缓存,导致写时延相较于写缓存较高,使得写效率较低。
鉴于此,本申请实施例提供了一种基于分布式文件系统的数据处理方法及装置,不需要提供分布式锁保证强一致性,只需使用读写锁保证服务端数据一致性即可,所以元数据服务可使用多线程并发处理客户端元数据请求,从而提高写效率。
下面结合附图对本申请实施例提供的基于分布式文件系统的数据处理方法(以下简称数据处理方法)进行详细说明。
本申请实施例提供的数据处理方法可以适用于分布式文件系统,图1示出了该分布式文件系统的一种结构示意图。如图1所示,分布式文件系统10包括元数据服务器11以及多个客户端12。其中,元数据服务器11与各客户端12通信连接。
可选的,如图2所示,元数据服务器11包括Paxos模块和Elector模块。其中,Paxos模块和Elector模块是Multi Paxos算法的实现过程,目的在于保证分布式系统一致性的基础。Elector和Paxos模块是实现过程的两个阶段,首先经过Elector的选举后,选举出leader角色,leader角色负责维护更新集群中所有服务状态的更新,并通过Paxos模块进行提案,将更新推送到所有参与者和订阅者。一旦leader异常后,其他参与者同样经过一轮选举达成新的一致性集合。
可选的,如图3所示,一个元数据服务器11可以服务于多个客户端12,不同的元数据服务器11所服务器的客户端12不同。其中,MDS.0服务于Client0-Client2,MDS.1服务于Client3,MDS.2服务于Client5、Client6。各MDS主要用于响应Client端的消息,每个Client只关心挂载区域的目录树,同一区域内的所有Client请求均由同一个Server响应,区域与Server间目前使用Hash策略做映射。Server端的目录树,journal信息及对象等均以区域名做隔离。
可选的,如图4所示,客户端第一次启动时,通过Puller线程,从MDS拉取journal日志,并回放journal日志,更新本地元数据信息。对于元数据的更新,客户端先更新本地元数据,并且生成本次操作的journal日志,然后通过异步的方式回放journal日志请求元数据中心更新元数据,客户端请求MDS更新元数据成功后,再将文件数据同步到对象存储。
图5是根据一些示例性实施例示出的一种数据处理方法的流程示意图。在一些实施例中,上述数据处理方法可以应用到如图1所示的元数据服务器,也可以应用到其他类似设备。
如图5所示,本申请实施例提供的数据处理方法,包括下述S201-S203。
S201、元数据服务器获取第一客户端的操作信息。
其中,第一客户端为多个客户端中的任意一个;操作信息用于反映第一客户端对分布式文件系统进行的操作。
作为一种可能的实现方式,第一客户端在本地对分布式文件系统进行的操作之后,将操作信息反馈给元数据服务器,进而使得元数据服务器得到第一客户端的操作信息。
可选的,操作信息包括创建操作信息、写操作信息、删除操作信息或者修改操作信息;创建操作信息表示第一客户端创建目标文件;创建操作信息包括第一客户的创建时间以及目标文件的标识;写操作信息表示第一客户端向目标文件写入内容;写操作信息包括第一客户向目标文件写入的写入内容、写入时间以及目标文件的标识;删除操作信息表示第一客户端删除目标文件;删除操作信息包括目标文件的标识;修改操作信息表示第一客户端修改目标元数据的内容;修改操作信息包括第一客户修改目标元数据的修改内容、修改时间以及目标元数据的标识。
S202、元数据服务器根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作。
需要说明的,预设映射关系为运维人员预先在元数据服务器中设置的。该预设映射关系中不同的操作信息对应有不同的更新操作。
作为一种可能的实现方式,元数据服务器得到第一客户端的操作信息之后,根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作。
可以理解的,元数据服务器可以依据该预设映射关系确定对应的更新操作,并执行对应的更新操作,以使第一客户端在本地对分布式文件系统进行的操作后,保障分布式文件系统中文件的一致性。
S203、元数据服务器基于目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志。
其中,更新日志用于指示各客户端中的元数据与更新后的元数据服务器中的元数据保持同步。
作为一种可能的实现方式,元数据服务器在从包括多个操作信息以及多个更新操作的预设映射关系中确定出目标更新操作后,执行目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志。进一步的,各客户端可以从元数据服务器中获取更新日志,以保证每个客户端上的元数据与元数据服务器中的元数据一致。
需要说明的,更新日志中记录元数据服务器本次更新的元数据。在实际应用中,更新日志可以为Journal日志。当开启Journal日志后,写入数据库的每个操作都会被记录,当出现宕机时,在恢复至最近的checkpoint点后,可以继续重放后续的操作日志,恢复数据。
本申请实施例提供的技术方案至少带来以下有益效果:元数据服务器获取第一客户端的操作信息。由于第一客户端为多个客户端中的任意一个,操作信息用于反映第一客户端对分布式文件系统进行的操作,因此元数据服务器可使用多线程并发处理各客户端的操作信息,这样使得各客户端可以在本地进行对分布式文件系统的操作。进一步的,元数据服务器根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作,基于目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志。由于更新日志用于指示各客户端中的元数据与更新后的元数据服务器中的元数据保持同步,使得元数据服务器可以始终保持拥有分布式文件系统全部最新的元数据,且还能指示各客户端中的元数据保持同步,进而解决多客户端对同一文件的操作冲突,提高了分布式文件系统中同步写效率。
在一种设计中,为了对元数据服务器中的元数据进行更新,如图6所示,本申请实施例提供上述S203具体包括S2031-S2033:
S2031、在操作信息为创建操作信息的情况下,元数据服务器判断是否存在目标文件。
作为一种可能的实现方式,在操作信息为创建操作信息的情况下,元数据服务器检测分布式文件系统中是否存在目标文件。
S2032、若元数据服务器中不存在目标文件,元数据服务器则创建目标文件。
作为一种可能的实现方式,若元数据服务器中不存在目标文件,元数据服务器则直接创建目标文件。
S2033、若元数据服务器中存在目标文件,且已存在的目标文件的创建时间晚于第一客户端的创建时间,元数据服务器则删除已存在的目标文件,重新创建目标文件。
作为一种可能的实现方式,若元数据服务器中存在目标文件,元数据服务器则将第一客户端的创建时间与已存在的目标文件的创建时间进行对比。若已存在的目标文件的创建时间晚于第一客户端的创建时间,元数据服务器则删除已存在的目标文件,重新创建目标文件。否则,元数据服务器则直接丢弃第一客户端的本次创建操作。
示例性的,如图7所示,示出了一种创建文件的过程。多客户端创建同名文件时,MDS检测到已经存在同名文件的元数据,则对比创建请求携带的创建时间和本地元数据的创建时间,如果新请求的创建时间更晚,则直接丢弃本次创建操作,否则会删除原有的文件,重新创建文件,并生成journal日志,同步到其他客户端,所有客户端的都会回放本次journal日志,保证最终一致。
在一种设计中,为了对元数据服务器中的元数据进行更新,如图8所示,本申请实施例提供上述S203具体包括S2034-S2036:
S2034、在操作信息为写操作信息的情况下,元数据服务器判断是否存在目标文件。
作为一种可能的实现方式,在操作信息为写操作信息的情况下,元数据服务器检测分布式文件系统中是否存在目标文件。
S2035、若元数据服务器中不存在目标文件,元数据服务器向第一客户端反馈目标文件不存在的指示信息。
作为一种可能的实现方式,若元数据服务器中不存在目标文件,元数据服务器则向第一客户端发送指示信息,以反馈目标文件不存在。
S2036、若元数据服务器中存在目标文件,且已存在的目标文件的更新时间早于第一客户端的写入时间,元数据服务器则根据第一客户端的写入内容,修改目标文件对应的元数据。
作为一种可能的实现方式,若元数据服务器中存在目标文件,元数据服务器则将第一客户端的写入时间与已存在的目标文件的更新时间进行对比。若已存在的目标文件的更新时间早于第一客户端的写入时间,元数据服务器则根据第一客户端的写入内容,修改目标文件对应的元数据。否则,元数据服务器则直接丢弃第一客户端的本次写操作。
示例性的,如图9所示,示出了一种写文件的过程。多客户端写文件时,MDS检查写请求的mtime和本地元数据的mtime,如果写mtime不是最新的,则直接丢弃本次写操作,否则处理写请求,更新MDS元数据,并生成journal日志,同步到其他客户端。
在一种设计中,为了对元数据服务器中的元数据进行更新,如图10所示,本申请实施例提供上述S203具体包括S2037-S2039:
S2037、在操作信息为删除操作信息的情况下,元数据服务器判断是否存在目标文件。
作为一种可能的实现方式,在操作信息为删除操作信息的情况下,元数据服务器检测分布式文件系统中是否存在目标文件。
S2038、若元数据服务器中不存在目标文件,元数据服务器向第一客户端反馈目标文件不存在的指示信息。
作为一种可能的实现方式,若元数据服务器中不存在目标文件,元数据服务器则向第一客户端发送指示信息,以反馈目标文件不存在。
S2039、若元数据服务器中存在目标文件,元数据服务器则删除目标文件对应的元数据。
作为一种可能的实现方式,若元数据服务器中存在目标文件,元数据服务器则响应于第一客户端的删除操作,删除目标文件对应的元数据。
示例性的,如图11所示,示出了一种删除文件的过程。删除文件或者目录时,MDS检查文件不存在,直接返回成功。否则删除元数据并且生成journal日志,同步到所有客户端。
在一种设计中,为了对元数据服务器中的元数据进行更新,如图12所示,本申请实施例提供上述S203具体包括S20310-S20312:
S20310、在操作信息为修改操作信息的情况下,元数据服务器判断是否存在目标文件。
S20311、若元数据服务器中不存在目标元数据,元数据服务器向第一客户端反馈目标元数据不存在的指示信息。
S20312、若元数据服务器中存在目标元数据,且已存在的目标元数据的更新时间早于第一客户端的修改时间,元数据服务器则根据第一客户端的修改内容,修改目标元数据。
需要说明的,操作信息为修改操作信息的情况与操作信息为写操作信息的情况类似,对比元数据中心本地的mtime和请求的mtime决定是覆盖还是丢弃。具体可以参考上述S2034-S2036,此处不再赘述。
上述实施例主要从装置(设备)的角度对本申请实施例提供的方案进行了介绍。可以理解的是,为了实现上述方法,装置或设备包含了执行各个方法流程相应的硬件结构和/或软件模块,这些执行各个方法流程相应的硬件结构和/或软件模块可以构成一个物料信息的确定装置。本领域技术人员应该很容易意识到,结合本文中所发明的实施例描述的各示例的算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对装置或设备进行功能模块的划分,例如,装置或设备可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图13是根据一示例性实施例示出的数据处理装置的结构示意图。参照图13所示,本申请实施例提供的数据处理装置30包括获取单元301、确定单元302以及处理单元303。
获取单元301,用于获取第一客户端的操作信息;第一客户端为多个客户端中的任意一个;操作信息用于反映第一客户端对分布式文件系统进行的操作;确定单元302,用于根据操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作;处理单元303,用于基于目标更新操作,对元数据服务器中的元数据进行更新,并生成更新日志;更新日志用于指示各客户端中的元数据与更新后的元数据服务器中的元数据保持同步。
可选的,操作信息包括创建操作信息、写操作信息、删除操作信息或者修改操作信息;创建操作信息表示第一客户端创建目标文件;创建操作信息包括第一客户的创建时间以及目标文件的标识;写操作信息表示第一客户端向目标文件写入内容;写操作信息包括第一客户向目标文件写入的写入内容、写入时间以及目标文件的标识;删除操作信息表示第一客户端删除目标文件;删除操作信息包括目标文件的标识;修改操作信息表示第一客户端修改目标元数据的内容;修改操作信息包括第一客户修改目标元数据的修改内容、修改时间以及目标元数据的标识。
可选的,处理单元303,具体用于:在操作信息为创建操作信息的情况下,若元数据服务器中不存在目标文件,则创建目标文件;若元数据服务器中存在目标文件,且已存在的目标文件的创建时间晚于第一客户端的创建时间,则删除已存在的目标文件,重新创建目标文件。
可选的,处理单元303,具体用于:在操作信息为写操作信息的情况下,若元数据服务器中不存在目标文件,向第一客户端反馈目标文件不存在的指示信息;若元数据服务器中存在目标文件,且已存在的目标文件的更新时间早于第一客户端的写入时间,则根据第一客户端的写入内容,修改目标文件对应的元数据。
可选的,处理单元303,具体用于:在操作信息为删除操作信息的情况下,若元数据服务器中不存在目标文件,向第一客户端反馈目标文件不存在的指示信息;若元数据服务器中存在目标文件,则删除目标文件对应的元数据。
可选的,处理单元303,具体用于:在操作信息为修改操作信息的情况下,若元数据服务器中不存在目标元数据,向第一客户端反馈目标元数据不存在的指示信息;若元数据服务器中存在目标元数据,且已存在的目标元数据的更新时间早于第一客户端的修改时间,则根据第一客户端的修改内容,修改目标元数据。
图14是本申请提供的一种元数据服务器的结构示意图。如图14,该元数据服务器40可以包括至少一个处理器401以及用于存储处理器可执行指令的存储器402其中,处理器401被配置为执行存储器402中的指令,以实现上述实施例中的数据处理方法。
另外,元数据服务器40还可以包括通信总线403以及至少一个通信接口404。
处理器401可以是一个处理器(central processing units,CPU),微处理单元,ASIC,或一个或多个用于控制本申请方案程序执行的集成电路。
通信总线403可包括一通路,在上述组件之间传送信息。
通信接口404,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,RAN),无线局域网(wireless local areanetworks,WLAN)等。
存储器402可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、只读光盘(compact disc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器可以是独立存在,通过总线与处理器401相连接。存储器也可以和处理器401集成在一起。
其中,存储器402用于存储执行本申请方案的指令,并由处理器401来控制执行。处理器401用于执行存储器402中存储的指令,从而实现本申请方法中的功能。
作为一个示例,结合图13,数据处理装置30中的获取单元301、确定单元302以及处理单元303实现的功能与图14中的处理器401的功能相同。
在具体实现中,作为一种实施例,处理器401可以包括一个或多个CPU,例如图14中的CPU0和CPU1。
在具体实现中,作为一种实施例,元数据服务器40可以包括多个处理器,例如图14中的处理器401和处理器407。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,元数据服务器40还可以包括输出设备405和输入设备406。输出设备405和处理器401通信,可以以多种方式来显示信息。例如,输出设备405可以是液晶显示器(liquid crystal display,LCD),发光二级管(light emitting diode,LED)显示设备,阴极射线管(cathode ray tube,CRT)显示设备,或投影仪(projector)等。输入设备406和处理器401通信,可以以多种方式接受用户对象的输入。例如,输入设备406可以是鼠标、键盘、触摸屏设备或传感设备等。
本领域技术人员可以理解,图14中示出的结构并不构成对元数据服务器40的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
另外,本申请还提供一种计算机可读存储介质,当计算机可读存储介质中的指令由元数据服务器的处理器执行时,使得元数据服务器能够执行如上述实施例所提供的数据处理方法。
另外,本申请还提供一种计算机程序产品,包括计算机指令,当计算机指令在元数据服务器上运行时,使得元数据服务器执行如上述实施例所提供的数据处理方法。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由权利要求指出。
Claims (14)
1.一种基于分布式文件系统的数据处理方法,其特征在于,所述分布式文件系统包括元数据服务器以及多个客户端;所述方法包括:
所述元数据服务器获取第一客户端的操作信息;所述第一客户端为所述多个客户端中的任意一个;所述操作信息用于反映所述第一客户端对所述分布式文件系统进行的操作;
所述元数据服务器根据所述操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作;
所述元数据服务器基于所述目标更新操作,对所述元数据服务器中的元数据进行更新,并生成更新日志;所述更新日志用于指示各所述客户端中的元数据与更新后的所述元数据服务器中的元数据保持同步。
2.根据权利要求1所述的基于分布式文件系统的数据处理方法,其特征在于,所述操作信息包括创建操作信息、写操作信息、删除操作信息或者修改操作信息;所述创建操作信息表示所述第一客户端创建目标文件;所述创建操作信息包括所述第一客户的创建时间以及所述目标文件的标识;所述写操作信息表示所述第一客户端向所述目标文件写入内容;所述写操作信息包括所述第一客户端向所述目标文件写入的写入内容、写入时间以及所述目标文件的标识;所述删除操作信息表示所述第一客户端删除目标文件;所述删除操作信息包括所述目标文件的标识;所述修改操作信息表示所述第一客户端修改所述目标元数据的内容;所述修改操作信息包括所述第一客户修改所述目标元数据的修改内容、修改时间以及所述目标元数据的标识。
3.根据权利要求2所述的基于分布式文件系统的数据处理方法,其特征在于,所述元数据服务器基于所述目标更新操作,对所述元数据服务器中的元数据进行更新,包括:
在所述操作信息为所述创建操作信息的情况下,若所述元数据服务器中不存在所述目标文件,则所述元数据服务器创建所述目标文件;
若所述元数据服务器中存在所述目标文件,且已存在的所述目标文件的创建时间晚于所述第一客户端的创建时间,则所述元数据服务器删除已存在的所述目标文件,重新创建所述目标文件。
4.根据权利要求2所述的基于分布式文件系统的数据处理方法,其特征在于,所述元数据服务器基于所述目标更新操作,对所述元数据服务器中的元数据进行更新,包括:
在所述操作信息为所述写操作信息的情况下,若所述元数据服务器中不存在所述目标文件,所述元数据服务器向所述第一客户端反馈所述目标文件不存在的指示信息;
若所述元数据服务器中存在所述目标文件,且已存在的所述目标文件的更新时间早于所述第一客户端的所述写入时间,所述元数据服务器则根据所述第一客户端的所述写入内容,修改所述目标文件对应的元数据。
5.根据权利要求2所述的基于分布式文件系统的数据处理方法,其特征在于,所述元数据服务器基于所述目标更新操作,对所述元数据服务器中的元数据进行更新,包括:
在所述操作信息为所述删除操作信息的情况下,若所述元数据服务器中不存在所述目标文件,所述元数据服务器向所述第一客户端反馈所述目标文件不存在的指示信息;
若所述元数据服务器中存在所述目标文件,则所述元数据服务器删除所述目标文件对应的元数据。
6.根据权利要求2所述的基于分布式文件系统的数据处理方法,其特征在于,所述元数据服务器基于所述目标更新操作,对所述元数据服务器中的元数据进行更新,包括:
在所述操作信息为所述修改操作信息的情况下,若所述元数据服务器中不存在所述目标元数据,所述元数据服务器向所述第一客户端反馈所述目标元数据不存在的指示信息;
若所述元数据服务器中存在所述目标元数据,且已存在的所述目标元数据的更新时间早于所述第一客户端的所述修改时间,则所述元数据服务器根据所述第一客户端的所述修改内容,修改所述目标元数据。
7.一种基于分布式文件系统的数据处理装置,其特征在于,所述分布式文件系统包括元数据服务器以及多个客户端;所述数据处理装置包括获取单元、确定单元以及处理单元;
所述获取单元,用于获取第一客户端的操作信息;所述第一客户端为所述多个客户端中的任意一个;所述操作信息用于反映所述第一客户端对所述分布式文件系统进行的操作;
所述确定单元,用于根据所述操作信息,从包括多个操作信息以及多个更新操作的预设映射关系中,确定目标更新操作;
所述处理单元,用于基于所述目标更新操作,对所述元数据服务器中的元数据进行更新,并生成更新日志;所述更新日志用于指示各所述客户端中的元数据与更新后的所述元数据服务器中的元数据保持同步。
8.根据权利要求7所述的基于分布式文件系统的数据处理装置,其特征在于,所述操作信息包括创建操作信息、写操作信息、删除操作信息或者修改操作信息;所述创建操作信息表示所述第一客户端创建目标文件;所述创建操作信息包括所述第一客户端的创建时间以及所述目标文件的标识;所述写操作信息表示所述第一客户端向所述目标文件写入内容;所述写操作信息包括所述第一客户向所述目标文件写入的写入内容、写入时间以及所述目标文件的标识;所述删除操作信息表示所述第一客户端删除目标文件;所述删除操作信息包括所述目标文件的标识;所述修改操作信息表示所述第一客户端修改所述目标元数据的内容;所述修改操作信息包括所述第一客户修改所述目标元数据的修改内容、修改时间以及所述目标元数据的标识。
9.根据权利要求8所述的基于分布式文件系统的数据处理装置,其特征在于,所述处理单元,具体用于:
在所述操作信息为所述创建操作信息的情况下,若所述元数据服务器中不存在所述目标文件,则创建所述目标文件;
若所述元数据服务器中存在所述目标文件,且已存在的所述目标文件的创建时间晚于所述第一客户端的创建时间,则删除已存在的所述目标文件,重新创建所述目标文件。
10.根据权利要求8所述的基于分布式文件系统的数据处理装置,其特征在于,所述处理单元,具体用于:
在所述操作信息为所述写操作信息的情况下,若所述元数据服务器中不存在所述目标文件,向所述第一客户端反馈所述目标文件不存在的指示信息;
若所述元数据服务器中存在所述目标文件,且已存在的所述目标文件的更新时间早于所述第一客户端的所述写入时间,则根据所述第一客户端的所述写入内容,修改所述目标文件对应的元数据。
11.根据权利要求8所述的基于分布式文件系统的数据处理装置,其特征在于,所述处理单元,具体用于:
在所述操作信息为所述删除操作信息的情况下,若所述元数据服务器中不存在所述目标文件,向所述第一客户端反馈所述目标文件不存在的指示信息;
若所述元数据服务器中存在所述目标文件,则删除所述目标文件对应的元数据。
12.根据权利要求8所述的基于分布式文件系统的数据处理装置,其特征在于,所述处理单元,具体用于:
在所述操作信息为所述修改操作信息的情况下,若所述元数据服务器中不存在所述目标元数据,向所述第一客户端反馈所述目标元数据不存在的指示信息;
若所述元数据服务器中存在所述目标元数据,且已存在的所述目标元数据的更新时间早于所述第一客户端的所述修改时间,则根据所述第一客户端的所述修改内容,修改所述目标元数据。
13.一种元数据服务器,其特征在于,包括:处理器、用于存储所述处理器可执行的指令的存储器;其中,所述处理器被配置为执行指令,以实现所述权利要求1-6中任一项所述的基于分布式文件系统的数据处理方法。
14.一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,其特征在于,当所述计算机可读存储介质中的指令由元数据服务器的处理器执行时,使得所述元数据服务器能够执行如权利要求1-6中任一项所述的基于分布式文件系统的数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211637746.4A CN116185962A (zh) | 2022-12-16 | 2022-12-16 | 基于分布式文件系统的数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211637746.4A CN116185962A (zh) | 2022-12-16 | 2022-12-16 | 基于分布式文件系统的数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116185962A true CN116185962A (zh) | 2023-05-30 |
Family
ID=86443290
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211637746.4A Pending CN116185962A (zh) | 2022-12-16 | 2022-12-16 | 基于分布式文件系统的数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185962A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116668372A (zh) * | 2023-08-01 | 2023-08-29 | 腾讯科技(深圳)有限公司 | 一种流量控制方法和相关装置 |
CN117112525A (zh) * | 2023-08-21 | 2023-11-24 | 北京志凌海纳科技有限公司 | 分布式文件系统及分布式文件系统中维护文件一致性方法 |
CN117312264A (zh) * | 2023-12-01 | 2023-12-29 | 中孚信息股份有限公司 | 虚拟磁盘系统中的文件同步方法、系统、设备及介质 |
-
2022
- 2022-12-16 CN CN202211637746.4A patent/CN116185962A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116668372A (zh) * | 2023-08-01 | 2023-08-29 | 腾讯科技(深圳)有限公司 | 一种流量控制方法和相关装置 |
CN116668372B (zh) * | 2023-08-01 | 2023-11-03 | 腾讯科技(深圳)有限公司 | 一种流量控制方法和相关装置 |
CN117112525A (zh) * | 2023-08-21 | 2023-11-24 | 北京志凌海纳科技有限公司 | 分布式文件系统及分布式文件系统中维护文件一致性方法 |
CN117312264A (zh) * | 2023-12-01 | 2023-12-29 | 中孚信息股份有限公司 | 虚拟磁盘系统中的文件同步方法、系统、设备及介质 |
CN117312264B (zh) * | 2023-12-01 | 2024-02-20 | 中孚信息股份有限公司 | 虚拟磁盘系统中的文件同步方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704290B2 (en) | Methods, devices and systems for maintaining consistency of metadata and data across data centers | |
US11003685B2 (en) | Commit protocol for synchronizing content items | |
CN116185962A (zh) | 基于分布式文件系统的数据处理方法及装置 | |
US8458181B2 (en) | Distributed free block map for a clustered redirect-on-write file system | |
US8904006B2 (en) | In-flight block map for a clustered redirect-on-write filesystem | |
JP4912026B2 (ja) | 情報処理装置、情報処理方法 | |
CN112236758A (zh) | 云存储分布式文件系统 | |
CN112162846B (zh) | 事务处理方法、设备及计算机可读存储介质 | |
US10152493B1 (en) | Dynamic ephemeral point-in-time snapshots for consistent reads to HDFS clients | |
US20230418811A1 (en) | Transaction processing method and apparatus, computing device, and storage medium | |
US11687533B2 (en) | Centralized storage for search servers | |
CN112948178A (zh) | 一种数据处理方法、装置、系统、设备及介质 | |
CN113032356A (zh) | 一种客舱分布式文件存储系统及实现方法 | |
Matri et al. | Týr: blob storage meets built-in transactions | |
Hiraga et al. | PPMDS: A distributed metadata server based on nonblocking transactions | |
Hiraga et al. | Scalable Distributed Metadata Server Based on Nonblocking Transactions. | |
Tchaye-Kondi et al. | Hadoop Perfect File: A fast access container for small files with direct in disc metadata access | |
CN117873967B (zh) | 分布式文件系统的数据管理方法、装置、设备及存储介质 | |
AU2021409880B2 (en) | Data model and data service for content management system | |
CN114077477A (zh) | 元数据的更新方法、系统、对象节点及存储介质 | |
CN118445364A (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 |