CN109582686A - 分布式元数据管理一致性保证方法、装置、系统及应用 - Google Patents
分布式元数据管理一致性保证方法、装置、系统及应用 Download PDFInfo
- Publication number
- CN109582686A CN109582686A CN201811525115.7A CN201811525115A CN109582686A CN 109582686 A CN109582686 A CN 109582686A CN 201811525115 A CN201811525115 A CN 201811525115A CN 109582686 A CN109582686 A CN 109582686A
- Authority
- CN
- China
- Prior art keywords
- metadata
- consistency
- client
- node
- updates
- 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
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
- G06F16/164—File meta data generation
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
- G06F16/125—File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
-
- 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
- G06F16/162—Delete operations
-
- 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/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- 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/178—Techniques for file synchronisation in file systems
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)
Abstract
本发明公开了一种分布式元数据管理一致性保证方法、装置、系统及应用,本发明在元数据集群中部署一致性节点,客户端向一致性节点发送元数据更新请求,一致性节点向客户端返回元数据更新成功的消息并顺序记录元数据更新请求,将旧元数据标记为作废,且和元数据服务器进行异步的数据同步后作废标记;客户端元数据服务器发送元数据读操作,如果元数据读操作的对象被标记为作废,则通过一致性节点返回尚未完成异步的数据同步的读数据;否则,通过元数据所在的元数据服务器直接返回读数据。本发明能够保证分布式元数据管理的一致性,在保证元数据更新的一致性的同时,尽可能提升元数据访问性能。
Description
技术领域
本发明涉及大规模数据存储的文件系统领域,具体涉及一种分布式元数据管理一致性保证方法、装置、系统及应用,用于通过在分布式文件系统的元数据集群中引入一致性节点,从而以很低的开销保证元数据一致性。
背景技术
随着人类社会积累的数据量不断增长,存储系统的规模越来越大,构建可扩展的存储系统逐步受到学术界和工业界的重视。分布式文件系统作为实现可扩展存储的一种重要手段已引起广泛的关注。传统的分布式文件系统如GFS、Lustre、GPFS、PVFS等均采用一个元数据服务器,这种方式集中式的元数据管理方法成为分布式文件系统实现性能扩展的主要障碍。近年来,多种文件系统推出分布式元数据管理手段。例如,改进版本的Lustre能够支持多个元数据服务器,且采用子树划分的方式将文件系统目录树分布到各个元数据服务器上;CephFS以子树划分为基础,还能在各个元数据服务器之间实现子树的动态迁移;GlusterFS则采用无中心架构,文件系统集群中任意节点都可用作元数据服务器。以上各种方法为实现可扩展的元数据服务提供了解决方案,但很少关注多个元数据服务器之间的数据一致性问题。
文件系统元数据的一致性一直是学术界长期关注的话题。大部分元数据更新操作的背后都涉及多次写磁盘操作,这些写操作在执行过程中随时会出现系统故障。发生系统故障时,如果只有部分写操作被持久化到磁盘中,在系统重启后则会出现数据不一致的情况。针对这一问题,当前的文件系统一般采用日志机制保证元数据一致性。即:上层应用请求文件系统更新元数据时,先将该元数据更新对应的所有写操作组装成一个事务,然后将该事务封装到一个唯一的写操作中,这个唯一的写操作可以原子执行,若其成功地持久化到存储设备上,则对应的元数据更新最终可体现在文件系统中;若该写操作在执行过程中出现系统故障,则对应的元数据更新最终会失败,不会对文件系统产生任何改变。总之,日志机制能够保证对文件系统的元数据更新要么完全成功执行,要么执行失败不会对文件系统产生任何影响,不会导致文件系统元数据出现不一致的情况。
在分布式文件系统环境下,元数据更新操作在客户端提交,由远程的元数据服务器具体执行。在此过程中,客户端和元数据服务器端任何一个节点出现故障都可能导致元数据不一致。针对这一场景,客户端一般先将更新操作发送到元数据服务器端,元数据服务器接收到更新请求后将更新日志持久化到存储设备上,然后向客户端发送确认消息,客户端收到确认消息后即可认定该更新操作可以成功执行。当分布式文件系统只有一个元数据服务器时,以上机制能够在两次网络交互后实现元数据的一致更新。然而,当前的分布式文件系统为了提高可扩展性更倾向于采用多个元数据服务器,此时为了保证元数据更新的一致性,一般采用“两阶段提交”协议。“两阶段提交”协议广泛地用于保证分布式事务的一致性,具体到分布式文件系统中,当客户端提出元数据更新请求时,可能需要更新多个元数据服务器上的文件元数据。“两阶段提交”协议的具体做法是:客户端分别向每个涉及的元数据服务器发出更新请求,这些元数据服务器接收到更新请求后以日志形式将更新操作持久化到各自的存储设备上,然后分别通知客户端日志持久化已经在元数据服务器上完成,客户端接收到所有元数据服务器发来的日志持久化成功消息后,判定该更新操作可以在所有涉及的元数据服务器上成功执行,随之通知所有元数据服务器可以真正执行元数据更新操作,最后元数据服务器还需要向客户端确认收到真正执行元数据更新操作的指令。以上过程能够在多个元数据服务器的场景下保证元数据更新的一致性,但很难保证元数据更新的性能。首先,“两阶段提交”协议涉及多次网络交互,这将显著增加元数据更新的延迟;其次,一个元数据更新操作可能涉及多个元数据服务器,只有所有元数据服务器上的日志持久化操作都完成以后,整个元数据更新操作才算完成,因此,一旦某个元数据服务器因为负载较高而响应较慢,将会增加整个元数据更新操作的延迟。总之,在分布式元数据管理场景下,现有的技术很难同时兼顾元数据更新的一致性和高性能。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种分布式元数据管理一致性保证方法、装置、系统及应用,本发明能够保证分布式元数据管理的一致性,在保证元数据更新的一致性的同时,尽可能提升元数据访问性能。
为了解决上述技术问题,本发明采用的技术方案为:
一种分布式元数据管理一致性保证方法,实施步骤包括:
1)截获来自客户端的元数据操作请求,如果元数据操作请求为元数据更新操作,则跳转执行步骤2);否则如果元数据操作请求为针对已标记作废元数据的元数据读操作,则跳转执行步骤3);
2)向客户端返回元数据更新成功的消息并顺序记录元数据更新请求,并将元数据所在元数据服务器中存储的旧元数据标记为作废;并将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;退出;
3)向客户端返回尚未完成异步同步的元数据,退出。
优选地,步骤2)的详细步骤包括:
2.1)向客户端返回元数据更新成功的消息;
2.2)将元数据更新操作封装到一个日志中,并以一个原子写操作将日志持久化到存储设备上,使得元数据更新请求至此已经在保证一致性的条件下持久化到元数据集群中;
2.3)向元数据所在的元数据服务器发送作废消息,将元数据所在元数据服务器中存储的旧元数据标记为作废;
2.4)周期性地将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;退出。
本发明还提供一种分布式元数据管理一致性保证装置,包括:
操作请求判断程序单元,用于截获来自客户端的元数据操作请求,如果元数据操作请求为元数据更新操作,则跳转执行更新操作处理程序单元;否则如果元数据操作请求为元数据读操作,则跳转执行读操作处理程序单元;
更新操作处理程序单元,用于向客户端返回元数据更新成功的消息并顺序记录元数据更新请求,并将元数据所在元数据服务器中存储的旧元数据标记为作废;并将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;
读操作处理程序单元,用于向客户端返回尚未完成异步同步的元数据。
本发明还提供一种分布式元数据管理一致性保证装置,包括至少一台计算机设备构成的一致性保证节点,所述一致性保证节点被编程以执行本发明前述分布式元数据管理一致性保证方法的步骤。
本发明还提供一种分布式元数据管理一致性保证系统,包括客户端和至少一台元数据服务器,其特征在于:所述客户端和元数据服务器之间连接有本发明前述的一致性保证节点。
本发明还提供一种前述分布式元数据管理一致性保证系统的应用方法,实施步骤包括:
S1)客户端判断其待发起的元数据操作请求的类型,如果元数据操作请求为元数据更新操作,则跳转执行步骤S2);否则如果元数据操作请求为元数据读操作,则跳转执行步骤S3);
S2)客户端选择一个一致性保证节点,并向选择的一致性保证节点发送元数据更新操作,在收到一致性保证节点返回元数据更新成功的消息后,结束并退出;
S3)客户端向元数据读操作的目标元数据服务器发送元数据读操作;
S4)目标元数据服务器判断元数据读操作的目标元数据是否存在作废标记,如果目标元数据不存在作废标记,则向客户端返回客户端目标元数据,客户端在收到返回的目标元数据后结束并退出;如果目标元数据存在作废标记,则向客户端返回目标元数据作废消息;客户端在收到返回的目标元数据作废消息后,跳转执行步骤S5);
S5)客户端选择一个一致性保证节点,并向选择的一致性保证节点发送针对已标记作废元数据的元数据读操作,且在收到一致性保证节点向客户端返回的尚未完成异步同步的元数据后,结束并退出。
优选地,步骤S2)以及步骤S5)客户端选择一个一致性保证节点时,具体是根据元数据更新操作或者元数据读操作的文件名选择对应的一致性节点。
优选地,所述根据元数据更新操作或者元数据读操作的文件名选择对应的一致性节点具体是指将元数据更新操作或者元数据读操作的文件名filename采用哈希函数h(x)选择编号为h(filename)%N的一致性节点,其中%为求余符号,N为元数据集群中一致性节点的数目。
和现有技术相比,本发明具有下述优点:
1、在元数据更新的关键路径上只有一次网络交互,保证元数据更新具有较低的延迟。在本发明的技术方案下,元数据更新时无论涉及几个元数据服务器,客户端在元数据更新的关键路径上仅需与一个一致性节点发生一次网络交互。该网络交互完成后,最新的元数据已经持久化到一致性节点上,客户端可以转向执行其它任务。相比之下,对于传统的文件系统,如果元数据更新涉及多个元数据服务器,客户端需要与这些元数据服务器分别交互,且必须等待所有交互都完成才能认定元数据更新已经完成,任何一个元数据服务器出现滞后都会增加元数据更新延迟。
2、在元数据更新的关键路径上只有一次写操作,保证元数据更新具有较低的延迟。在本发明的技术方案下,元数据更新无论涉及几个元数据服务器,客户端在元数据更新的关键路径上仅需向一个一致性节点发出一个写请求,即:一致性节点将元数据更新操作封装成日志后,以一个原子操作写到存储设备上,且该写操作以顺序写的方式提交到存储设备,能够最大程度的发挥存储设备的效能。相比之下,对于传统的文件系统,如果元数据更新涉及多个元数据服务器,客户端需要向这些元数据服务器分别提交写请求,任何一个写请求没有完成,该元数据更新就不能确认完成。
3、本发明能够实现元数据读写分流,在一定程度上降低元数据服务器的突发负载,同时充分发挥固态盘的性能。在本发明的技术方案下,元数据更新操作首先发向一致性节点、后期异步更新到元数据服务器上,元数据获取操作则直接发向元数据服务器。当元数据服务器上的读负载较重时,一致性节点上的最新数据可以暂缓更新到元数据服务器上,这种策略在一定程度上实现了元数据的读写分流。读写分流至少带来两方面的优势:①在读负载很重时推迟写负载,降低元数据服务器的负载峰值;②在固态盘上实现读写分流才能充分发挥固态盘的并发优势,本发明有助于提升以固态盘为存储设备的元数据服务器的性能。
附图说明
图1为本发明实施例中的元数据集群结构示意图。
图2为本发明实施例方法的基本流程示意图。
图3为本发明实施例中的元数据更新流程示意图。
图4为本发明实施例中的元数据读取流程示意图。
具体实施方式
传统的大规模文件系统由三类节点组成:客户端、元数据服务器、数据服务器。其中,客户端是所有读写请求的发起端,元数据服务器负责存储文件元数据、响应客户端发出的元数据请求,数据服务器负责存储文件数据、响应客户端发出的数据请求。本实施例在传统的大规模文件系统的以上基础架构上引入一类新的节点:一致性节点(ConsistentNode),用于执行元数据管理一致性保证,具体架构如图1所示。图1中列举了一个包含4个客户端、3个元数据服务器、2个一致性节点的文件系统组织架构,其中脏表示脏数据,数据服务器因为不涉及本发明的相关技术而被忽略。在以上架构中,客户端与元数据服务器的功能与传统文件系统相同,一致性节点和元数据服务器共同组成元数据集群,其中一致性节点则主要用于在元数据更新时以较低的开销保证元数据一致性。
如图2所示,本实施例分布式元数据管理一致性保证方法的实施步骤包括:
1)截获来自客户端的元数据操作请求,如果元数据操作请求为元数据更新操作,则跳转执行步骤2);否则如果元数据操作请求为针对已标记作废元数据的元数据读操作,则跳转执行步骤3);
2)向客户端返回元数据更新成功的消息并顺序记录元数据更新请求,并将元数据所在元数据服务器中存储的旧元数据标记为作废;并将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;退出;
3)向客户端返回尚未完成异步同步的元数据,退出。需要说明的是,本实施例中客户端的元数据读操作优先发往元数据服务器,只有在元数据服务器确认元数据标记为作废的情况下,客户端才会再将元数据读操作发往一致性节点。
本实施例分布式元数据管理一致性保证方法首先提出了以上引入一致性节点的大规模文件系统架构,以此为基础设计一套新的元数据读写流程,同时兼顾一致性和高性能。
如图3所示,步骤2)的详细步骤包括:
2.1)向客户端返回元数据更新成功的消息;
2.2)将元数据更新操作封装到一个日志中,并以一个原子写操作将日志持久化到存储设备上,使得元数据更新请求至此已经在保证一致性的条件下持久化到元数据集群中;
2.3)向元数据所在的元数据服务器发送作废消息,将元数据所在元数据服务器中存储的旧元数据标记为作废(此过程无需读写存储设备);
2.4)周期性地将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;退出。
对应地,本实施例还提供一种分布式元数据管理一致性保证装置,包括:
操作请求判断程序单元,用于截获来自客户端的元数据操作请求,如果元数据操作请求为元数据更新操作,则跳转执行更新操作处理程序单元;否则如果元数据操作请求为元数据读操作,则跳转执行读操作处理程序单元;
更新操作处理程序单元,用于向客户端返回元数据更新成功的消息并顺序记录元数据更新请求,并将元数据所在元数据服务器中存储的旧元数据标记为作废;并将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;
读操作处理程序单元,用于向客户端返回尚未完成异步同步的元数据。
如图2所示,本实施例还提供一种分布式元数据管理一致性保证装置,包括至少一台计算机设备构成的一致性保证节点,该一致性保证节点被编程以执行本实施例前述分布式元数据管理一致性保证方法的步骤。
如图3和图4所示,此外本实施例还提供一种前述分布式元数据管理一致性保证系统的应用方法,实施步骤包括:
S1)客户端判断其待发起的元数据操作请求的类型,如果元数据操作请求为元数据更新操作,则跳转执行步骤S2);否则如果元数据操作请求为元数据读操作,则跳转执行步骤S3);
S2)客户端选择一个一致性保证节点,并向选择的一致性保证节点发送元数据更新操作,在收到一致性保证节点返回元数据更新成功的消息后,结束并退出;
S3)客户端向元数据读操作的目标元数据服务器发送元数据读操作;
S4)目标元数据服务器判断元数据读操作的目标元数据是否存在作废标记,如果目标元数据不存在作废标记,则向客户端返回客户端目标元数据,客户端在收到返回的目标元数据后结束并退出;如果目标元数据存在作废标记,则向客户端返回目标元数据作废消息;客户端在收到返回的目标元数据作废消息后,跳转执行步骤S5);
S5)客户端选择一个一致性保证节点,并向选择的一致性保证节点发送针对已标记作废元数据的元数据读操作,且在收到一致性保证节点向客户端返回的尚未完成异步同步的元数据后,结束并退出。
本实施例中,步骤S2)以及步骤S5)客户端选择一个一致性保证节点时,具体是根据元数据更新操作或者元数据读操作的文件名选择对应的一致性节点,通过上述方式能够实现多一致性节点的负载均衡。
本实施例中,根据元数据更新操作或者元数据读操作的文件名选择对应的一致性节点具体是指将元数据更新操作或者元数据读操作的文件名filename采用哈希函数h(x)选择编号为h(filename)%N的一致性节点,其中%为求余符号,N为元数据集群中一致性节点的数目。采用这种方式的优势是:当客户端读取元数据集群发现所请求的元数据在一致性节点上、但还没有同步到元数据服务器上时,同样可以通过对文件名作哈希计算确定最新更新数据所在的一致性节点,进而获取最新的元数据。这种仅仅通过文件名定位最新元数据的方式不会带来额外的存储和IO开销。
本实施例中,客户端的应用程序通过系统调用发出元数据更新请求,该系统调用通过虚拟文件系统内嵌到本发明所设计的分布式文件系统的客户端上。
在本实施例设计的包含一致性节点的分布式文件系统中,当客户端发出元数据更新请求时,首先向一致性节点发送更新日志(相比之下,传统的分布式文件系统由客户端直接向元数据服务器发送更新请求)。一致性节点接收到更新日志后迅速持久化到本地的存储设备中,一旦持久化操作成功,即可向客户端返回元数据更新操作成功的确认消息。以上元数据更新过程存在两点特性保证元数据更新能够取得较高的性能:首先,无论该元数据更新操作涉及多少个元数据服务器,客户端仅需与一个一致性节点交互,且只需一次网络交互,网络延迟显著降低;其次,一致性节点上的持久化操作为日志的顺序写,顺序写操作在所有存储设备上都能取得较好的性能,进一步降低元数据更新持久化的延迟。至此,客户端发出的元数据更新仅仅体现在一致性节点上,还没有提交到元数据服务器上。但是,从整个元数据集群的角度看,更新状态已经在保证一致性和持久性的条件下被记录下来,剩下的工作是在元数据集群内部实现一致性节点和元数据服务器之间的数据同步。由于一致性节点已经告知客户端所更新的元数据已被持久化到元数据集群中,客户端不必等待更新的元数据从一致性节点同步到元数据服务器,可以直接转向执行其它任务。因此,从一致性节点到元数据服务器的数据同步不在IO的关键路径上,完全可以异步执行。本实施例选择在元数据服务器负载相对较轻时将一致性节点上的更新日志提交到元数据服务器上。由于一致性节点到元数据服务器的数据同步是异步执行的,元数据服务器的更新状态相比一致性节点稍显滞后。在一致性节点和元数据服务器不同步的一段时间内,客户端读取元数据服务器时不能获取最新的元数据。为了减少异步数据更新带来的负面影响,本实施例将元数据更新日志持久化到一致性节点之后,由一致性节点立即向元数据服务器发出通知,告知该元数据更新已经持久化到一致性节点上,但会滞后同步到元数据服务器上。以上通知能够通过一次网络交互完成,且元数据服务器收到该通知后只需在内存中记录这一信息,无需读写存储设备,因此不会带来过大的开销。本实施例中由于针对顺序记录的元数据更新请求与元数据所在的元数据服务器进行异步的数据同步,因此可以在元数据服务器相对空闲时同步到元数据服务器上。
本实施例设计的元数据集群包含一致性节点和元数据服务器,且这两类节点之间的数据可能是不同步的,但是数据不同步只可能发生在最近更新的元数据上,大部分元数据的最新版本仍然保存在元数据服务器上。因此,客户端发起元数据读请求时仍然首先与元数据服务器交互。在元数据服务器的内存中,有一些标记用来指明哪些元数据已经持久化到一致性节点上、但还没有同步到元数据服务器中。如果客户端请求的元数据属于这一类,元数据服务器则主动从一致性节点获取最新的元数据返回给客户端,并同时将自身保存的元数据更新到最新状态;如果元数据服务器保存的元数据本身就是最新版本(即:内存中没有标记指明该元数据的最新版本在一致性节点上),则可直接将最新版本返回给客户端。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种分布式元数据管理一致性保证方法,其特征在于实施步骤包括:
1)截获来自客户端的元数据操作请求,如果元数据操作请求为元数据更新操作,则跳转执行步骤2);否则如果元数据操作请求为针对已标记作废元数据的元数据读操作,则跳转执行步骤3);
2)向客户端返回元数据更新成功的消息并顺序记录元数据更新请求,并将元数据所在元数据服务器中存储的旧元数据标记为作废;并将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;退出;
3)向客户端返回尚未完成异步同步的元数据,退出。
2.根据权利要求1所述的分布式元数据管理一致性保证方法,其特征在于,步骤2)的详细步骤包括:
2.1)向客户端返回元数据更新成功的消息;
2.2)将元数据更新操作封装到一个日志中,并以一个原子写操作将日志持久化到存储设备上,使得元数据更新请求至此已经在保证一致性的条件下持久化到元数据集群中;
2.3)向元数据所在的元数据服务器发送作废消息,将元数据所在元数据服务器中存储的旧元数据标记为作废;
2.4)周期性地将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;退出。
3.一种分布式元数据管理一致性保证装置,其特征在于包括:
操作请求判断程序单元,用于截获来自客户端的元数据操作请求,如果元数据操作请求为元数据更新操作,则跳转执行更新操作处理程序单元;否则如果元数据操作请求为元数据读操作,则跳转执行读操作处理程序单元;
更新操作处理程序单元,用于向客户端返回元数据更新成功的消息并顺序记录元数据更新请求,并将元数据所在元数据服务器中存储的旧元数据标记为作废;并将顺序记录的元数据更新请求异步同步到元数据所在的元数据服务器并删除完成同步的元数据的作废标记;
读操作处理程序单元,用于向客户端返回尚未完成异步同步的元数据。
4.一种分布式元数据管理一致性保证装置,包括至少一台计算机设备构成的一致性保证节点,其特征在于:所述一致性保证节点被编程以执行权利要求1或2所述分布式元数据管理一致性保证方法的步骤。
5.一种分布式元数据管理一致性保证系统,包括客户端和至少一台元数据服务器,其特征在于:所述客户端和元数据服务器之间连接有权利要求4所述的一致性保证节点。
6.一种权利要求5所述分布式元数据管理一致性保证系统的应用方法,其特征在于实施步骤包括:
S1)客户端判断其待发起的元数据操作请求的类型,如果元数据操作请求为元数据更新操作,则跳转执行步骤S2);否则如果元数据操作请求为元数据读操作,则跳转执行步骤S3);
S2)客户端选择一个一致性保证节点,并向选择的一致性保证节点发送元数据更新操作,在收到一致性保证节点返回元数据更新成功的消息后,结束并退出;
S3)客户端向元数据读操作的目标元数据服务器发送元数据读操作;
S4)目标元数据服务器判断元数据读操作的目标元数据是否存在作废标记,如果目标元数据不存在作废标记,则向客户端返回客户端目标元数据,客户端在收到返回的目标元数据后结束并退出;如果目标元数据存在作废标记,则向客户端返回目标元数据作废消息;客户端在收到返回的目标元数据作废消息后,跳转执行步骤S5);
S5)客户端选择一个一致性保证节点,并向选择的一致性保证节点发送针对已标记作废元数据的元数据读操作,且在收到一致性保证节点向客户端返回的尚未完成异步同步的元数据后,结束并退出。
7.根据权利要求6所述分布式元数据管理一致性保证系统的应用方法,其特征在于,步骤S2)以及步骤S5)客户端选择一个一致性保证节点时,具体是根据元数据更新操作或者元数据读操作的文件名选择对应的一致性节点。
8.根据权利要求7所述分布式元数据管理一致性保证系统的应用方法,其特征在于,所述根据元数据更新操作或者元数据读操作的文件名选择对应的一致性节点具体是指将元数据更新操作或者元数据读操作的文件名filename采用哈希函数h(x)选择编号为h(filename)%N的一致性节点,其中%为求余符号,N为元数据集群中一致性节点的数目。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811525115.7A CN109582686B (zh) | 2018-12-13 | 2018-12-13 | 分布式元数据管理一致性保证方法、装置、系统及应用 |
PCT/CN2019/078843 WO2020118955A1 (zh) | 2018-12-13 | 2019-03-20 | 分布式元数据管理一致性保证方法、装置、系统及应用 |
US17/274,434 US20220050809A1 (en) | 2018-12-13 | 2019-03-20 | Distributed metadata management consistency assurance method, device, system and application |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811525115.7A CN109582686B (zh) | 2018-12-13 | 2018-12-13 | 分布式元数据管理一致性保证方法、装置、系统及应用 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109582686A true CN109582686A (zh) | 2019-04-05 |
CN109582686B CN109582686B (zh) | 2021-01-15 |
Family
ID=65928446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811525115.7A Active CN109582686B (zh) | 2018-12-13 | 2018-12-13 | 分布式元数据管理一致性保证方法、装置、系统及应用 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220050809A1 (zh) |
CN (1) | CN109582686B (zh) |
WO (1) | WO2020118955A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347481A (zh) * | 2019-07-17 | 2019-10-18 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式事务的方法及系统 |
CN112799835A (zh) * | 2021-01-27 | 2021-05-14 | 浪潮云信息技术股份公司 | 一种分布式数据库系统元数据的处理方法及系统 |
CN113687921A (zh) * | 2021-10-25 | 2021-11-23 | 北京金山云网络技术有限公司 | 事务处理方法、装置、分布式数据库系统及电子设备 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113553308A (zh) * | 2021-06-21 | 2021-10-26 | 深圳市证通云计算有限公司 | 一种基于CephFS分布式文件系统的多集群多活实现方法及系统 |
CN115297130B (zh) * | 2022-10-09 | 2022-12-09 | 四川蜀天信息技术有限公司 | 一种基于区块链的分布式存储网络数据同步方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2658205A1 (en) * | 2012-04-25 | 2013-10-30 | Hitachi Ltd. | Method and apparatus to keep consistency of acls among a meta data server and data servers |
CN104113597A (zh) * | 2014-07-18 | 2014-10-22 | 西安交通大学 | 一种多数据中心的hdfs数据读写系统及方法 |
CN104484470A (zh) * | 2014-12-31 | 2015-04-01 | 天津南大通用数据技术股份有限公司 | 一种数据库集群元数据管理方法 |
CN105187517A (zh) * | 2015-08-20 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种实现元数据集群的方法及元数据集群 |
CN106034160A (zh) * | 2015-03-19 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 分布式计算系统和方法 |
CN107786650A (zh) * | 2017-10-20 | 2018-03-09 | 郑州云海信息技术有限公司 | 一种存储介质和管理策略的同步方法、装置及系统 |
CN108848180A (zh) * | 2018-06-27 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种元数据同步方法、装置、设备及可读存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101188566B (zh) * | 2007-12-13 | 2010-06-02 | 东软集团股份有限公司 | 一种集群环境下数据缓存同步的方法及系统 |
US20130218934A1 (en) * | 2012-02-17 | 2013-08-22 | Hitachi, Ltd. | Method for directory entries split and merge in distributed file system |
CN103152398B (zh) * | 2013-02-07 | 2016-05-11 | 中国科学院计算技术研究所 | 一种多终端文件间的文件同步方法及系统 |
CN106021468B (zh) * | 2016-05-17 | 2019-11-19 | 上海携程商务有限公司 | 分布式缓存和本地缓存的更新方法和系统 |
-
2018
- 2018-12-13 CN CN201811525115.7A patent/CN109582686B/zh active Active
-
2019
- 2019-03-20 WO PCT/CN2019/078843 patent/WO2020118955A1/zh active Application Filing
- 2019-03-20 US US17/274,434 patent/US20220050809A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2658205A1 (en) * | 2012-04-25 | 2013-10-30 | Hitachi Ltd. | Method and apparatus to keep consistency of acls among a meta data server and data servers |
CN104113597A (zh) * | 2014-07-18 | 2014-10-22 | 西安交通大学 | 一种多数据中心的hdfs数据读写系统及方法 |
CN104484470A (zh) * | 2014-12-31 | 2015-04-01 | 天津南大通用数据技术股份有限公司 | 一种数据库集群元数据管理方法 |
CN106034160A (zh) * | 2015-03-19 | 2016-10-19 | 阿里巴巴集团控股有限公司 | 分布式计算系统和方法 |
CN105187517A (zh) * | 2015-08-20 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种实现元数据集群的方法及元数据集群 |
CN107786650A (zh) * | 2017-10-20 | 2018-03-09 | 郑州云海信息技术有限公司 | 一种存储介质和管理策略的同步方法、装置及系统 |
CN108848180A (zh) * | 2018-06-27 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种元数据同步方法、装置、设备及可读存储介质 |
Non-Patent Citations (3)
Title |
---|
LIN HUO等: "Research on Metadata Management Scheme of Distributed File System", 《2015 INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND APPLICATIONS (CSA)》 * |
易建亮等: "基于代理的并行文件系统元数据优化与实现", 《计算机研究与发展》 * |
邵冰清: "蓝鲸机群文件系统的元数据一致性协议", 《小型微型计算机系统》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347481A (zh) * | 2019-07-17 | 2019-10-18 | 北京搜狐新媒体信息技术有限公司 | 一种实现分布式事务的方法及系统 |
CN112799835A (zh) * | 2021-01-27 | 2021-05-14 | 浪潮云信息技术股份公司 | 一种分布式数据库系统元数据的处理方法及系统 |
CN113687921A (zh) * | 2021-10-25 | 2021-11-23 | 北京金山云网络技术有限公司 | 事务处理方法、装置、分布式数据库系统及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109582686B (zh) | 2021-01-15 |
WO2020118955A1 (zh) | 2020-06-18 |
US20220050809A1 (en) | 2022-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582686A (zh) | 分布式元数据管理一致性保证方法、装置、系统及应用 | |
CN107408070B (zh) | 分布式存储系统中的多事务日志 | |
US11720594B2 (en) | Synchronous replication in a distributed storage environment | |
CN103635902B (zh) | 引用计数传播 | |
EP2715553B1 (en) | Asynchronous replication in a distributed storage environment | |
US9229749B2 (en) | Compute and storage provisioning in a cloud environment | |
US9672115B2 (en) | Partition tolerance in cluster membership management | |
CN103116473B (zh) | 使用盘驱动器模拟模型来对盘i/o扼流 | |
CN100485678C (zh) | 将虚拟映射存入对象属性中的分布式基于对象的存储系统 | |
CN104598459B (zh) | 数据库处理、数据访问方法及系统 | |
CN103186554B (zh) | 分布式数据镜像方法及存储数据节点 | |
CN106446159B (zh) | 一种存储文件的方法、第一虚拟机及名称节点 | |
CN107798130A (zh) | 一种分布式存储的快照方法 | |
CN110447021A (zh) | 用于在数据中心之间维持元数据和数据的一致性的方法、装置和系统 | |
CN110377395A (zh) | 一种Kubernetes集群中的Pod迁移方法 | |
CN105549905A (zh) | 一种多虚拟机访问分布式对象存储系统的方法 | |
CN102136003A (zh) | 大规模分布式存储系统 | |
CN102158540A (zh) | 分布式数据库实现系统及方法 | |
CN104113597A (zh) | 一种多数据中心的hdfs数据读写系统及方法 | |
US20130031221A1 (en) | Distributed data storage system and method | |
CN103312624A (zh) | 一种消息队列服务系统和方法 | |
CN102411639A (zh) | 元数据的多副本存储管理方法和系统 | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
CN106095957A (zh) | 分布式文件系统的跨域多副本文件同步方法及装置 | |
CN104715044B (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20221026 Address after: 510275 No. 135 West Xingang Road, Guangzhou, Guangdong, Haizhuqu District Patentee after: SUN YAT-SEN University Patentee after: National University of Defense Technology Address before: 510275 No. 135 West Xingang Road, Guangzhou, Guangdong, Haizhuqu District Patentee before: SUN YAT-SEN University |
|
TR01 | Transfer of patent right |