WO2012083797A1 - Write lock method and system for distributed file system - Google Patents

Write lock method and system for distributed file system Download PDF

Info

Publication number
WO2012083797A1
WO2012083797A1 PCT/CN2011/083694 CN2011083694W WO2012083797A1 WO 2012083797 A1 WO2012083797 A1 WO 2012083797A1 CN 2011083694 W CN2011083694 W CN 2011083694W WO 2012083797 A1 WO2012083797 A1 WO 2012083797A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
lock
specific data
data block
request
Prior art date
Application number
PCT/CN2011/083694
Other languages
French (fr)
Chinese (zh)
Inventor
朱鹏
江凌生
王瑜
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2012083797A1 publication Critical patent/WO2012083797A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

A write lock method and system for a distributed file system are disclosed. The method comprises the following steps: when an upper-layer data location register server receives a request from a file request client for writing an opened file, the upper-layer data location register server extracting data block path information of the file, and returning the data block path information to the file request client; a lower-layer lock server, according to a request sent from the file request client for locking a specific data part in a specific data block of the file, returning write lock permission information of the specific data part of the specific data block to the file request client. The present invention not only guarantees improvement of the throughput capacity of lock submission in the distributed file system without increasing any hardware investment, but also has good extensibility as synchronous capacity expansion can be achieved when the capacity expansion of the distributed file system is performed.

Description

一种分布式文件系统的写锁定方法及系统 技术领域  Write lock method and system for distributed file system
本发明涉及数据存储领域, 具体地说, 尤其涉及一种分布式文件系统 的写锁定方法及系统。 背景技术  The present invention relates to the field of data storage, and in particular to a write locking method and system for a distributed file system. Background technique
在大型的分布式文件系统上, 为了做到海量的并发性, 同时又要保证 文件系统数据的一致性, 通常是选择一个统一的锁定节点对分布式文件系 统中存储的数据进行集中锁定管理, 该锁定节点可以为单一的服务器或集 群, 为便于表述, 下文将锁定节点 (锁定服务器或集群) 简称为锁定服务 器。 然而, 随着多媒体产业的迅猛发展, 出于成本、 可靠性等多方面的考 虑, 对于大型的分布式文件系统, 越来越多的厂商或者企业采用云的方式 来进行存储。 云存储是指通过集群应用或分布式文件系统等功能, 将网络 中大量的各种不同类型的存储设备通过应用软件集合起来协同工作, 共同 对外提供数据存储和业务访问功能的一个系统, 也就是说云存储是一个以 数据存储和管理为核心的云计算系统。 在云存储中, 既要考虑安全性, 还 要考虑成本, 因此, 如何部署云是关键。 尤其是现在, 云的规模越来越大, 越来越多的云将分布在多个地方, 既而如何部署分布式文件系统的锁定服 务器将变得异常复杂。  In large distributed file systems, in order to achieve massive concurrency and ensure the consistency of file system data, a unified locking node is usually selected to centrally lock and manage the data stored in the distributed file system. The locking node can be a single server or cluster. For convenience of description, the locking node (locking server or cluster) is simply referred to as a locking server. However, with the rapid development of the multimedia industry, due to cost, reliability and other considerations, for large distributed file systems, more and more vendors or enterprises use the cloud to store. Cloud storage refers to a system that integrates a large number of different types of storage devices on a network through application software through cluster applications or distributed file systems to provide data storage and service access functions. Cloud storage is a cloud computing system with data storage and management at its core. In cloud storage, both security and cost are considered, so how to deploy the cloud is key. Especially nowadays, the scale of the cloud is getting bigger and bigger, more and more clouds will be distributed in multiple places, and how to deploy the distributed file system locking server will become very complicated.
在云存储中, 当使用单一的锁定服务器来锁定分布式文件系统的核心 部分, 当多个程序同时访问分布式系统中不同文件的不同文件偏移量时, 需要依次访问该锁定服务器以获得对特定文件的特定文件偏移量的写锁权 限。 此时, 极大地限制了分布式文件系统的访问吞吐能力, 造成吞吐性能 下降。 而当多个程序同时访问分布式系统中同一个文件的同一文件偏移量 时, 先访问的程序得到了该特定文件的特定文件偏移量的写锁权限。 那么 此时, 其他的访问程序只能在緩存中等待。 只有当先访问的程序释放了该 特定文件的特定文件偏移量的写锁权限时, 其他的程序才能获得数据该特 定文件特定文件偏移量的写锁权限。 因此, 单一的锁定服务器成为了对于 巨型云写的瓶颈。 发明内容 In cloud storage, when a single locking server is used to lock the core part of the distributed file system, when multiple programs access different file offsets of different files in the distributed system at the same time, the locking server needs to be accessed sequentially to obtain the pair. Write lock permission for a specific file offset for a particular file. At this point, the access throughput of the distributed file system is greatly limited, resulting in a drop in throughput performance. And when multiple programs access the same file offset of the same file in the distributed system at the same time The first accessed program gets the write lock permission for the specific file offset for that particular file. Then, at this time, other access programs can only wait in the cache. Only when the first accessed program releases the write lock permission for the specific file offset of the particular file, the other program can obtain the write lock permission for the specific file offset of the specific file. Therefore, a single lock server becomes a bottleneck for giant cloud writes. Summary of the invention
本发明针对现有技术的不足, 提供一种分布式文件系统的写锁定方法 及系统,不但能够保证在硬件投入不增加的情况下, 提高分布式文件系统锁 定提交的吞吐能力, 而且还能随着分布式文件系统的扩容而同步扩容, 具 有很好的可扩展性。  The present invention is directed to the deficiencies of the prior art, and provides a write locking method and system for a distributed file system, which not only ensures that the throughput of the distributed file system lock submission is improved without increasing the hardware investment, but also can With the expansion of the distributed file system and simultaneous expansion, it has good scalability.
为解决上述技术问题, 本发明提供了以下技术方案:  In order to solve the above technical problems, the present invention provides the following technical solutions:
一种分布式文件系统的写锁定方法,包括以下步驟:  A write locking method for a distributed file system includes the following steps:
当上层数据位置寄存服务器接收到文件请求客户端发来的写打开文件 的请求时, 上层数据位置寄存服务器提取所述文件的数据块路径信息, 并 返回给所述文件请求客户端;  When the upper layer data location registration server receives the request for writing the open file sent by the file requesting client, the upper layer data location registration server extracts the data block path information of the file, and returns the file request client to the file;
下层锁定服务器根据所述文件请求客户端依据所述数据块路径信息发 来的对所述文件中定数据块特定数据部分的锁定请求, 将所述特定数据块 特定数据部分的写锁权限信息返回给所述文件请求客户端。  The lower layer locking server returns, according to the file request, a lock request of the specific data part of the specific data block of the specific data block according to the data block path information, and the write lock permission information of the specific data part of the specific data block is returned. Request the client for the file.
在本发明的一种实施例中, 所述方法还包括:  In an embodiment of the invention, the method further includes:
当所述上层数据位置寄存服务器提取所述文件的数据块路径信息且发 现没有所述文件的数据块路径信息时, 所述上层数据位置寄存服务器为所 述文件创建唯一完整的数据块路径, 记录所述文件的数据块路径信息, 并 将所述文件的数据块路径上的不同数据块的写锁权限分发到下层锁定服务 器中。  When the upper layer data location registration server extracts the data block path information of the file and finds that there is no data block path information of the file, the upper layer data location registration server creates a unique complete data block path for the file, and records Data block path information of the file, and distributes write lock rights of different data blocks on the data block path of the file to the lower layer lock server.
在本发明的一种实施例中, 所述方法还包括: 所述文件请求客户端向所述下层锁定服务器发送对所述特定数据块特 定数据部分的锁定请求; In an embodiment of the invention, the method further includes: The file requesting client sends a lock request to the lower layer lock server for a specific data portion of the specific data block;
在所述文件请求客户端向所述下层锁定服务器发送对所述特定数据块 特定数据部分的锁定请求之前, 所述方法还包括:  Before the file requesting client sends a lock request to the lower-level locking server for the specific data portion of the specific data block, the method further includes:
所述文件请求客户端判断所述特定数据部分在自身本地緩存中的锁定 情况, 当所述特定数据部分已经在自身本地緩存中且已被锁定时, 则所述 文件请求客户端不向所述下层锁定服务器发送锁定请求; 当所述特定数据 部分未被锁定时, 则所述文件请求客户端向所述下层锁定服务器发送锁定 请求。  The file requesting client determines a lock condition of the specific data portion in its own local cache, and when the specific data portion is already in its own local cache and has been locked, the file request client does not The lower layer lock server sends a lock request; when the specific data portion is not locked, the file request client sends a lock request to the lower layer lock server.
在本发明的一种实施例中, 所述下层锁定服务器根据所述文件请求客 户端的发来的对所述特定数据块特定数据部分的锁定请求之前, 所述方法 还包括: 下层锁定服务器创建数据块锁定状态信息表;  In an embodiment of the present invention, before the file requesting, by the lower layer locking server, the lock request of the specific data part of the specific data block sent by the client, the method further includes: creating a data by the lower layer locking server Block lock status information table;
所述下层锁定服务器创建数据块锁定状态信息表为:  The lower lock server creates a data block lock status information table as:
当所述下层锁定服务器接收到所述文件请求客户端发来的对所述特定 数据块特定数据部分的锁定请求时, 所述下层锁定服务器判断当前是否为 第一次接收到对所述特定数据块的锁定请求, 当为第一次时, 在所述数据 块锁定状态信息表中加入所述特定数据块及其相应的锁定请求信息; 当不 为第一次时, 在所述数据块锁定状态信息表中检索所述特定数据块特定数 据部分的锁定请求信息。  When the lower layer locking server receives the lock request sent by the file requesting client to the specific data portion of the specific data block, the lower layer locking server determines whether it is currently receiving the specific data for the first time. Block lock request, when it is the first time, adding the specific data block and its corresponding lock request information to the data block lock status information table; when not for the first time, locking the data block The lock information of the specific data portion of the specific data block is retrieved in the status information table.
在本发明的一种实施例中, 所述下层锁定服务器将所述特定数据块特 定数据部分的写锁权限信息返回给所述文件请求客户端之后, 所述方法还 包括:  In an embodiment of the present invention, after the lower-level locking server returns the write-locking right information of the specific data portion of the specific data block to the file requesting client, the method further includes:
所述下层锁定服务器根据接收到的所述文件请求客户端的锁定请求以 及返回给所述文件请求客户端的所述特定数据块特定数据部分的写锁权限 信息, 判断是否通知下层数据块服务器将所述文件请求客户端所需要的所 述特定数据部分发送给所述文件请求客户端; Determining, by the lower-layer locking server, whether the lower-layer data block server is notified according to the received lock request request of the file request client and the write lock permission information of the specific data portion of the specific data block returned to the file request client File request client needs Sending a specific data portion to the file requesting client;
所述判断是否通知下层数据块服务器将所述文件请求客户端所需要的 所述特定数据部分发送给所述文件请求客户端为:  The determining whether to notify the lower layer data block server to send the specific data portion required by the file requesting client to the file request client is:
当所述下层锁定服务器接收到所述文件请求客户端发送来的对所述特 定数据块特定数据部分的读写锁定请求后, 所述下层锁定服务器检查当前 数据块锁定状态信息表中所述特定数据部分的锁定情况, 当所述特定数据 部分未被锁定时, 在所述数据块锁定状态信息表中将所述特定数据部分的 锁定状态标记为锁定, 并通知下层数据块服务器返回所述特定数据部分给 所述文件请求客户端; 当所述特定数据部分已被锁定, 则执行锁定失败策 略;  After the lower layer locking server receives the read/write lock request sent by the file requesting client to the specific data portion of the specific data block, the lower layer locking server checks the specific content in the current data block lock status information table. a locking condition of the data portion, when the specific data portion is not locked, marking the locking state of the specific data portion as locking in the data block locking state information table, and notifying the lower layer data block server to return the specific The data portion requests the client for the file; when the specific data portion has been locked, performing a lock failure policy;
当所述下层锁定服务器接收到所述文件请求客户端发送来的对所述特 定数据块特定数据部分的写锁定请求后, 所述下层锁定服务器则检查当前 所述特定数据部分的锁定情况, 当所述特定数据部分未被锁定, 则在所述 数据块状态信息表中将所述特定数据部分的锁定状态标记为锁定, 并返回 锁定成功; 当所述特定数据部分已被锁定, 则执行锁定失败策略。  After the lower layer lock server receives the write lock request sent by the file request client for the specific data portion of the specific data block, the lower layer lock server checks the lock status of the current specific data portion, when The specific data portion is not locked, the lock status of the specific data portion is marked as locked in the data block status information table, and the lock is successfully returned; when the specific data portion has been locked, the lock is performed Failure strategy.
在本发明的一种实施例中, 所述文件请求客户端向所述下层锁定服务 器发送对所述特定数据块特定数据部分的读写锁定请求或写锁定请求为: 所述文件请求客户端检查所述特定数据部分在本地緩存中的命中情 况, 当所述本地緩存中没有所述特定数据部分时, 判断没有命中所述特定 数据部分, 并向所述下层锁定服务器发送读写锁定请求; 当所述本地緩存 中有所述特定数据块且未被锁定时, 判断所述特定数据部分命中, 并向所 述下层锁定服务器发送写锁定请求。  In an embodiment of the present invention, the file requesting client sends a read/write lock request or a write lock request to the lower layer lock server for the specific data portion of the specific data block as: the file request client check a hit situation in the local cache of the specific data portion, when the specific data portion is not in the local cache, determining that the specific data portion is not hit, and sending a read/write lock request to the lower layer lock server; When the specific data block is in the local cache and is not locked, it is determined that the specific data portion is hit, and a write lock request is sent to the lower layer lock server.
同时, 本发明还提供了一种分布式文件系统的写锁定系统, 包括文件 请求客户端、 下层数据存储模块以及设置于系统内的上层数据位置寄存选 择路径模块、 下层数据锁定模块; 其中, 所述上层数据位置寄存选择路径模块, 用于接收文件请求客户端发来 的写打开文件的请求, 并提取所述文件的数据块路径信息返回给所述文件 请求客户端; The present invention also provides a write lock system for a distributed file system, including a file request client, a lower layer data storage module, and an upper layer data location registration selection path module and a lower layer data locking module disposed in the system; The upper layer data location registration selection path module is configured to receive a request for writing an open file sent by the file request client, and extract the data block path information of the file and return the file request request to the client;
所述下层数据锁定模块, 用于根据所述文件请求客户端发来的对所述 文件中特定数据块特定数据部分的锁定请求, 将所述特定数据块特定数据 部分的写锁权限信息返回给所述文件请求客户端。  The lower layer data locking module is configured to: according to the file requesting a lock request sent by a client to a specific data portion of a specific data block in the file, returning, to the write permission authority information of the specific data portion of the specific data block The file requests the client.
在本发明的一种实施例中, 所述上层数据位置寄存选择路径模块, 还 用于在提取所述文件的数据块路径信息且发现没有所述文件的数据块路径 信息时, 为所述文件创建唯一完整的数据块路径, 记录所述文件的数据块 路径信息, 并将所述文件的数据块路径上的不同数据块的写锁权限分发到 所述下层数据锁定模块中。  In an embodiment of the present invention, the upper layer data location registration selection path module is further configured to: when extracting data block path information of the file and discovering that there is no data block path information of the file, Creating a unique complete data block path, recording data block path information of the file, and distributing write lock rights of different data blocks on the data block path of the file to the lower data lock module.
在本发明的一种实施例中, 所述文件请求客户端, 用于在向所述下层 数据锁定模块发送对所述特定数据块特定数据部分的锁定请求之前, 判断 所述特定数据部分在自身本地緩存中的锁定情况, 当所述特定数据部分已 经在自身本地緩存中且已被锁定时, 则不向所述下层数据锁定模块发送锁 定请求; 当所述特定数据部分未被锁定时, 则向所述下层数据锁定模块发 送锁定请求。  In an embodiment of the present invention, the file requesting client is configured to determine that the specific data part is in itself before sending a lock request to the lower layer data locking module for the specific data part of the specific data block. a lock condition in the local cache, when the specific data portion is already in its own local cache and has been locked, then no lock request is sent to the underlying data lock module; when the specific data portion is not locked, A lock request is sent to the underlying data locking module.
在本发明的一种实施例中, 所述下层数据锁定模块, 具体用于根据所 述文件请求客户端发来的对所述特定数据块特定数据部分的锁定请求, 创 建所述数据块锁定状态信息表, 当接收到所述文件请求客户端发来的对所 述特定数据块特定数据部分的锁定请求时, 判断当前是否为第一次接收到 对所述特定数据块的锁定请求, 当为第一次时, 在所述数据块锁定状态信 息表中加入所述特定数据块及其相应的锁定请求信息; 当不为第一次时, 在所述数据块锁定状态信息表中检索所述特定数据部分的锁定请求信息。  In an embodiment of the present invention, the lower layer data locking module is specifically configured to: according to the file request client, a lock request for a specific data portion of the specific data block, to create the data block lock status. The information table, when receiving the file requesting the client to send a lock request for the specific data portion of the specific data block, determining whether it is currently receiving the lock request for the specific data block for the first time, when The first time, the specific data block and its corresponding lock request information are added in the data block lock status information table; when not the first time, the data block lock status information table is retrieved Lock request information for a specific data portion.
在本发明的一种实施例中, 所述下层数据锁定模块, 还用于根据接收 到的所述文件请求客户端的锁定请求以及返回给所述文件请求客户端的所 述特定数据块特定数据部分的写锁权限信息, 判断是否通知所述下层数据 存储模块将所述文件请求客户端所需要的所述特定数据部分发送给所述文 件请求客户端; In an embodiment of the present invention, the lower layer data locking module is further configured to receive according to And the file requesting the client's lock request and the write lock permission information of the specific data portion of the specific data block returned to the file request client, determining whether to notify the lower layer data storage module to request the client from the file The specific data portion required is sent to the file request client;
所述下层数据锁定模块, 具体用于当接收到所述文件请求客户端发送 来的对所述特定数据块特定数据部分的读写锁请求后, 检查当前数据块锁 定状态信息表中所述特定数据部分的锁定情况, 当所述特定数据部分未被 锁定时, 则在所述数据块锁定状态信息表中将所述特定数据部分的锁定状 态标记为锁定, 并通知下层数据存储模块返回所述特定数据部分给所述文 件请求客户端; 当所述特定数据部分已被锁定时, 则执行锁定失败策略; 当接收到所述文件请求客户端发送来的对所述特定数据块特定数据部分的 写锁定请求后 , 检查当前所述数据块锁定状态信息表中所述特定数据部分 的锁定情况, 当若所述特定数据部分未被锁定, 则在所述数据块状态信息 表中将所述特定数据部分的锁定状态标记为锁定, 并返回锁定成功; 当所 述特定数据块已被锁定, 则执行锁定失败策略。  The lower layer data locking module is configured to: after receiving the read/write lock request for the specific data portion of the specific data block sent by the file requesting client, check the specific content in the current data block locking state information table. a locking condition of the data portion, when the specific data portion is not locked, marking the locking state of the specific data portion as locking in the data block locking state information table, and notifying the lower layer data storage module to return the The specific data portion requests the client for the file; when the specific data portion has been locked, executing a lock failure policy; when receiving the file requesting the client to send the specific data portion of the specific data block After the write lock request, checking a lock condition of the specific data portion in the current data block lock status information table, and if the specific data portion is not locked, the specific content is included in the data block status information table The lock status of the data portion is marked as locked, and the lock is returned successfully; when the specific data block has been Set, perform the lock failed strategy.
在本发明的一种实施例中, 所述文件请求客户端, 具体用于检查所述 特定数据部分在本地緩存中的命中情况, 当所述本地緩存中没有所述特定 数据部分时, 判断没有命中所述特定数据部分, 并向所述下层数据锁定模 块发送读写锁定请求; 当所述本地緩存中有所述特定数据部分且未被锁定 时, 判断命中所述特定数据部分, 并向所述下层数据锁定模块发送写锁定 请求。  In an embodiment of the present invention, the file requesting client is specifically configured to check a hit situation of the specific data part in a local cache, and when there is no specific data part in the local cache, determining that there is no Hiting the specific data portion, and sending a read/write lock request to the lower data lock module; when the specific data portion is in the local cache and is not locked, determining to hit the specific data portion, and The lower data locking module sends a write lock request.
由于采用了以上技术方案, 使本发明具备的有益效果在于: 通过上层 数据位置寄存服务器为文件请求客户端请求的一个或者多个文件中的确定 唯一的数据块路径, 从而把所述文件的数据块路径上的不同数据块的写锁 权限分发到下层锁定服务器中, 并将所述文件的数据块路径信息返回给所 述文件请求客户端; 文件请求客户端根据从上层数据位置寄存服务器处获 得的所述数据块路径信息, 向下层锁定服务器发起写打开所述文件中某一 个特定数据块特定数据部分的请求信息, 并从相应的下层锁定服务器内获 得所述特定数据块的写锁定权限信息。 如此, 上层数据存储位置存储服务 器将所述文件的所有数据块的写锁权限分发到下层的一个或者多个下层锁 定服务器中, 摒弃了传统的采用单一的锁定服务器来锁定分布式文件系统 的锁定方法, 一方面减少了上层数据位置寄存服务器的锁定服务器的负载; 另一方面, 也真正地实现下层锁定服务器管理分布式系统中相应下层数据 块服务器内存储的数据的写锁权限, 从而在不增加分布式文件系统硬件资 源的情况下, 提高分布式文件系统锁定提交的吞吐能力。 同时, 使用本发 明提供的锁定方法, 可以用在一个或者多个上层数据位置寄存服务器的分 布式文件系统中, 因此, 该锁定方法的提高系统吞吐量的能力还能随着分 布式文件系统的扩容而同步扩容, 具有很好的可扩展性。 附图说明 Because the above technical solution is adopted, the present invention has the beneficial effects of: determining, by the upper layer data location registration server, a unique data block path in one or more files requested by the client for the file, thereby data of the file The write lock permission of different data blocks on the block path is distributed to the lower lock server, and the data block path information of the file is returned to the a file requesting client; the file requesting client initiates, according to the data block path information obtained from the upper data location registration server, a request message for writing a specific data portion of a specific data block in the file to be written to the lower layer locking server, And obtaining write lock permission information of the specific data block from the corresponding lower layer lock server. In this way, the upper data storage location storage server distributes the write lock permission of all the data blocks of the file to one or more lower-level locking servers in the lower layer, and discards the traditional lock of the distributed file system by using a single locking server. The method, on the one hand, reduces the load of the locking server of the upper layer data location registration server; on the other hand, it also realizes the write lock permission of the data stored in the corresponding lower layer data block server in the lower layer locking server management distributed system, so that Increase the throughput of distributed file system lock submissions when adding distributed file system hardware resources. Meanwhile, the locking method provided by the present invention can be used in a distributed file system of one or more upper layer data location registration servers, and therefore, the locking method can improve the system throughput capability along with the distributed file system. Capacity expansion and simultaneous expansion, with good scalability. DRAWINGS
图 1 为本发明一种实施例的工作架构图;  1 is a diagram showing the working architecture of an embodiment of the present invention;
图 2 为本发明另一种实施例的工作流程图。 具体实施方式  2 is a flow chart of the operation of another embodiment of the present invention. detailed description
下面通过具体实施方式结合附图对本发明作进一步详细说明。  The present invention will be further described in detail below with reference to the accompanying drawings.
目前, 为了解决单一的锁定服务器造成的巨型云写的瓶颈问题, 如图 1 所示, 本发明提供了一种分布式文件系统的写锁定方法及系统, 其主要构 思是: 在分布式文件系统的下层, 使用多个分散的锁定服务器来共同锁定 分布式文件系统中存储的数据。 与传统的单一的锁定服务器相比, 本发明 将要锁定的分布式文件系统中存储的数据的锁定权限分摊到下层的多个不 同的文件系统数据服务器中。 具体地讲, 该文件系统数据服务器主要包括 下层锁定服务器和下层数据块服务器, 其中, 下层数据块服务器主要用来 存储分布式文件系统中的数据块信息, 而下层锁定服务器则主要是用于锁 定存储在下层数据块服务器的数据, 即对该数据块服务器中的数据的锁定 权限进行管理。 这里说的锁定权限主要指的是分布式文件系统中数据的写 锁权限。 具体地说, 该写锁定方法是通过上层数据位置寄存服务器为文件 请求客户端请求打开的一个或者多个文件的文件确定一个唯一完整数据块 路径, 从而该文件的数据块路径上的不同数据块的写锁权限分发到多个下 层锁定服务器中的。 实际上, 在上层数据位置存储服务器内, 存储有大量 的存储在下层数据块服务器内的数据块路径信息, 在系统内部, 也将存储 在下层数据块服务器内的数据块路径信息称为元数据。 在上层数据位置寄 存服务器处, 采用专门的锁定服务器来锁定元数据。 而在下层, 则使用分 散的多个下层锁定服务器来锁定存储在下层数据块服务器内的数据块。 当 下层锁定服务器接收到文件请求客户端发来的对该文件中特定数据块特定 数据部分的锁定请求时, 下层锁定服务器便将所述特定数据块特定数据部 分的写锁权限信息返回给文件请求客户端。 At present, in order to solve the bottleneck problem of a giant cloud write caused by a single lock server, as shown in FIG. 1, the present invention provides a write lock method and system for a distributed file system, the main idea of which is: in a distributed file system The lower layer uses multiple decentralized locking servers to collectively lock data stored in the distributed file system. Compared with the conventional single lock server, the present invention distributes the lock permission of the data stored in the distributed file system to be locked to a plurality of different file system data servers in the lower layer. Specifically, the file system data server mainly includes The lower layer locking server and the lower layer data block server, wherein the lower layer data block server is mainly used to store the data block information in the distributed file system, and the lower layer locking server is mainly used to lock the data stored in the lower layer data block server, that is, The lock permission of the data in the data block server is managed. The lock permission mentioned here mainly refers to the write lock permission of data in the distributed file system. Specifically, the write locking method determines a unique complete data block path through a file of one or more files requested by the upper layer data location registration server for the file request client to open, so that different data blocks on the data block path of the file The write lock permissions are distributed to multiple lower-level locking servers. Actually, in the upper layer data location storage server, a large amount of data block path information stored in the lower layer data block server is stored, and within the system, the data block path information stored in the lower layer data block server is also referred to as metadata. . At the upper data location registration server, a dedicated locking server is used to lock the metadata. In the lower layer, a plurality of distributed lower-level locking servers are used to lock the data blocks stored in the lower-level data block server. When the lower layer locking server receives the lock request from the file requesting client for the specific data portion of the specific data block in the file, the lower layer locking server returns the write lock permission information of the specific data portion of the specific data block to the file request. Client.
本发明提供的写锁定方法采用分散的多个下层锁定服务器来锁定分布 式文件系统中的数据的目的, 主要是为了减少上层数据位置寄存服务器的 锁定服务器的负载。 同时, 通过上层数据位置寄存服务器将文件请求客户 端请求打开的文件内的不同数据块的写锁权限分发到下层锁定服务器中, 使得下层的文件系统数据服务器不再是上层锁定服务器的一个緩沖, 真正 实现了下层锁定服务器管理分布式文件系统中数据的写锁权限。 该写锁定 方法在单或多上层数据位置寄存服务器中都可以广泛的使用, 若在多个上 层数据位置寄存服务器中使用时, 各个上层数据位置寄存服务器不具有主 备用关系。  The write locking method provided by the present invention uses a plurality of distributed lower-level locking servers to lock data in the distributed file system, mainly to reduce the load of the locking server of the upper-layer data location registration server. At the same time, the upper layer data location registration server distributes the write lock permission of different data blocks in the file requested by the client requesting client to the lower lock server, so that the lower file system data server is no longer a buffer of the upper lock server. Realize the write lock permission of the underlying lock server to manage data in the distributed file system. The write lock method can be widely used in a single or multiple upper layer data location registration server. If used in a plurality of upper layer data location registration servers, each upper layer data location registration server does not have a primary standby relationship.
在本发明的一种实施例中, 当所述上层数据位置寄存服务器提取某个 特定文件的数据块路径信息且发现没有该文件的数据块路径信息时, 例如 没有发现有文件 A的数据块路径信息,则表明此时上层数据位置寄存服务器 是第一次接收到文件请求客户端发来的对该特定文件 A的写打开请求, 那 么,上层数据位置寄存服务器则首先为该特定文件 A创建一个唯一完整的数 据块路径, 并记录文件 A 的数据块路径信息。通过文件数据块路径的创建, 从而把文件 A的数据块路径上的不同数据块的写锁权限分发到所述下层锁 定服务器中, 从而实现最细粒度的 (字节级) 的锁定。 其中该数据块路径 能够描述该文件 A内所有数据块的路径信息,主要包括该文件数据块路径上 有哪些数据块以及这些数据块存储在哪个下层数据块服务器内。 需要说明 的是, 此时, 下层锁定服务器并不知道自己管理了这些数据块的写锁权限。 In an embodiment of the present invention, when the upper layer data location registration server extracts a certain When the data block path information of the specific file is found and the data block path information of the file is not found, for example, the data block path information of the file A is not found, it indicates that the upper layer data location registration server is the first time to receive the file request client. The write open request for the specific file A is sent, then the upper data location registration server first creates a unique complete data block path for the specific file A, and records the data block path information of the file A. Through the creation of the file data block path, the write lock permission of different data blocks on the data block path of file A is distributed to the lower layer lock server, thereby achieving the finest granularity (byte level) of locking. The data block path can describe path information of all data blocks in the file A, and mainly includes which data blocks are located in the file data block path and in which lower layer data block server the data blocks are stored. It should be noted that at this time, the lower-level locking server does not know that it manages the write lock permission of these data blocks.
当再有文件请求客户端向上层数据位置寄存服务器发送写打开文件 A 的请求时, 由于此时文件 A的唯一完整的数据块路径已经创建, 因此, 上层 数据位置寄存服务器能够提取到文件 A的数据块路径信息,并返回给文件请 求客户端。应当说明的是, 第一次发送写打开文件 A请求的文件请求客户端 和第二次发送写打开文件 A请求的文件请求客户端可以为同一个文件请求 客户端, 也可以为不同的文件请求客户端。 同时当这两个文件请求客户端 需要写锁定该文件 A中的同一个数据块时,他们都会访问存储该数据块的同 一个下层数据块服务器。  When there is a file requesting the client to send a request to write the open file A to the upper layer data location registration server, since the only complete data block path of the file A has been created at this time, the upper layer data location registration server can extract the file A. The block path information is returned to the file request client. It should be noted that the file requesting client that sends the write open file A request for the first time and the file request client that sends the write open file A request for the second time can request the client for the same file, or can request for different files. Client. At the same time, when the two files request the client to write and lock the same data block in the file A, they will access the same underlying data block server that stores the data block.
在本发明的一种实施例中, 文件请求客户端在向下层锁定服务器发送 文件 A中对特定数据块特定数据部分的锁定请求之前 ,还判断该特定数据部 分在文件请求客户端本地緩存中的锁定情况。 在此, 为表述方便, 将特定 数据块简称为数据块 B。 若数据块 B特定数据部分已经在文件请求客户端本 地緩存中并且已经被该文件请求客户端锁定, 则该文件请求客户端不需要 向下层锁定服务器发送锁定请求,可以直接开始写数据块 B特定数据部分的 操作; 若数据块 B特定数据部分未被锁定, 此时可能有两种情况, 一种是在 该文件请求客户端的本地緩存中没有数据块 B特定数据部分,另一种情况则 是在该文件请求客户端的本地緩存中有数据块 B特定数据部分,但是该特定 数据部分没有被锁定, 对于这两种情况, 该文件请求客户端都会向下层锁 定服务器发送锁定请求。 In an embodiment of the present invention, the file requesting client determines, before the lower layer locking server sends a lock request for the specific data portion of the specific data block in the file A, the specific data portion is in the file request client local cache. Lock the situation. Here, for convenience of description, a specific data block is simply referred to as a data block B. If the data block B specific data portion is already in the file request client local cache and has been locked by the file request client, the file request client does not need to send a lock request to the lower layer lock server, and can directly start writing the data block B specific Operation of the data part; if the specific data part of the data block B is not locked, there may be two cases at this time, one is The file request does not have a specific data portion of the data block B in the local cache of the client, and in another case, there is a specific data portion of the data block B in the local cache of the file requesting client, but the specific data portion is not locked, for this In either case, the file requests the client to send a lock request to the lower level lock server.
在本发明的一种实施例中, 下层锁定服务器根据文件请求客户端发来 的对该特定数据块特定数据部分的锁定请求, 创建数据块锁定状态信息表, 具体方式为: 当下层锁定服务器 C接收到文件请求客户端发来的对该数据块 B特定数据部分的锁定请求时, 下层锁定服务器 C需要判断当前是否为第一 次接收到文件请求客户端发来的对该数据块 B的锁定请求, 若是, 下层锁定 服务器 C此时才知道自己管理了该数据块 B的写锁权限。 同时也表明存储在 下层锁定服务器 C内的现有数据块锁定状态信息表中, 还没有数据块 B的相 关信息。 此时下层锁定服务器 C在数据块锁定状态信息表中加入该数据块 B 的条目及其数据块 B相应的锁定请求信息; 若否, 则下层锁定服务器 C只需 要在当前的数据块锁定状态信息表中检索数据块 B特定数据部分的锁定请 求信息即可。  In an embodiment of the present invention, the lower layer locking server creates a data block lock state information table according to a lock request sent by the client to the specific data portion of the specific data block, in a specific manner: when the lower layer locks the server C Upon receiving the file requesting client to send a lock request for the specific data portion of the data block B, the lower layer locking server C needs to determine whether it is currently the first time the file request client receives the lock on the data block B. The request, if it is, the lower level lock server C knows that it manages the write lock permission of the data block B. It also indicates that there is no information about the data block B in the existing data block lock status information table stored in the lower layer lock server C. At this time, the lower layer locking server C adds the entry of the data block B and the corresponding lock request information of the data block B in the data block lock state information table; if not, the lower layer lock server C only needs to lock the state information in the current data block. The table can retrieve the lock request information of the specific data portion of the data block B.
在本发明的一种实施例中,假设下层锁定服务器 C不是第一次接收到文 件请求客户端发来的对数据块 B特定数据部分的锁定请求,也就是说,此时, 下层锁定服务器 C会根据接收到的文件请求客户端的不同锁定请求检索数 据块 B特定数据部分的相关写锁权限, 并返回给该文件请求客户端数据块 B 特定数据部分的写锁权限信息, 同时判断是否通知下层锁定服务器 C对应的 下层数据块服务器将文件请求客户端所需要的特定数据部分发送给该文件 请求客户端, 具体地说: 当下层锁定服务器接收到文件请求客户端发来的 对数据块 B特定数据部分 D的读写锁定请求时, 其中, 对于用户来说, 该特 定数据部分 D即为文件 A的偏移量。 下层锁定服务器检查当前数据块锁定信 息表中特定数据部分 D的锁定情况, 若特定数据部分 D未被锁定, 此时, 表 明特定数据部分 D还没有被其他程序锁定,则在数据块锁定状态信息表中将 特定数据部分 D的锁定状态标记为锁定,并通知下层数据块服务器返回特定 数据部分 D给文件请求客户端; 需要说明的是, 对于同一个数据块, 其中会 包含很多数据信息, 而文件请求客户端需要锁定的可能只是众多数据信息 中的某几页信息。 在此, 将这些数据信息分为多个部分, 那么文件请求客 户端需要锁定的则是多个部分中的某一个部分。 若两个文件请求客户端同 时写同一个数据块 B中不同的数据部分时,则这两个文件请求客户端是可以 同时进行写操作的。 换句话说, 从用户的角度来说, 如果两个用户需要写 锁定的是同一个文件中不同的文件偏移量, 那么这两个用户就可以同时进 行写操作。 若特定数据部分 D已被锁定, 此时, 表明特定数据部分 D已经被 其他程序锁定, 则使用相应的锁定失败策略; In an embodiment of the present invention, it is assumed that the lower-layer locking server C does not receive the lock request for the specific data portion of the data block B sent by the file requesting client for the first time, that is, at this time, the lower-layer locking server C Retrieving the relevant write lock permission of the specific data portion of the data block B according to the received file requesting the different lock request of the client, and returning the write lock permission information of the specific data portion of the client data block B to the file request, and determining whether to notify the lower layer The lower data block server corresponding to the lock server C sends the specific data portion required by the file request client to the file request client, specifically: when the lower layer lock server receives the file request client and sends the data block B specific When the data portion D is read or written by the lock request, the specific data portion D is the offset of the file A for the user. The lower lock server checks the lock status of the specific data portion D in the current data block lock information table. If the specific data portion D is not locked, the table is If the specific data portion D has not been locked by another program, the lock status of the specific data portion D is marked as locked in the data block lock status information table, and the lower data block server is notified to return the specific data portion D to the file request client; It should be noted that for the same data block, it will contain a lot of data information, and the file request client needs to lock only a few pages of the data information. Here, the data information is divided into a plurality of parts, and then the file requesting client needs to lock one of the plurality of parts. If two files request the client to write different data parts in the same data block B at the same time, then the two files request the client can write at the same time. In other words, from the user's point of view, if two users need to write locks to different file offsets in the same file, then the two users can simultaneously write. If the specific data portion D has been locked, indicating that the specific data portion D has been locked by another program, the corresponding lock failure strategy is used;
当下层锁定服务器接收到文件请求客户端发送来的对数据块 B特定数 据部分的写锁定请求时, 下层锁定服务器检查当前数据块锁定信息表中特 定数据部分的锁定情况, 若特定数据部分未被锁定, 则在数据块状态信息 表中将特定数据部分的锁定状态标记为锁定, 并返回锁定成功所述文件请 求客户端; 若特定数据部分已被锁定, 则使用相应的锁定失败策略, 具体 地说, 锁定失败策略包括锁定失败或者其他的策略。  When the lower layer locking server receives the write lock request for the specific data portion of the data block B sent by the file requesting client, the lower layer locking server checks the locking condition of the specific data portion in the current data block locking information table, if the specific data portion is not Locking, in the data block state information table, marking the locking state of the specific data portion as locking, and returning the file requesting client to the successful locking; if the specific data portion has been locked, using the corresponding locking failure policy, specifically Say, the lock failure policy includes lock failure or other strategies.
进一步说, 当文件请求客户端接收到数据块 B特定数据部分锁定成功的 消息后, 将写锁定成功的消息返回给操作用户, 用户就可以对数据块 B特定 数据部分执行开始写或修改的操作了。若文件请求客户端接收到对数据块 B 特定数据部分的执行相应的锁定失败策略的时候, 文件请求客户端可以选 择等待继续锁定, 或者直接返回写锁定失败给操作用户, 此时, 用户则没 有对数据块 B特定数据部分进行写的权限。  Further, when the file requesting client receives the message that the specific data portion of the data block B is successfully locked, the message that the write lock is successful is returned to the operation user, and the user can perform the operation of starting writing or modifying the specific data portion of the data block B. It is. If the file requesting client receives a lock failure policy corresponding to the execution of the specific data portion of the data block B, the file request client may choose to wait for the lock to continue, or directly return the write lock failure to the operation user, at this time, the user does not have Permission to write to a specific data portion of block B.
实际上, 文件请求客户端向下层数据存储服务器 C发送对数据块 B特定 数据部分的读写锁定请求或写锁定请求之前, 还检查特定数据部分在本地 緩存中的命中情况。 若本地緩存中没有特定数据部分, 即说明本地緩存中 没有存储文件请求客户端需要锁定的数据, 则判断没有命中特定数据块部 分, 并向下层锁定服务器 C发送读写锁定请求; 若本地緩存中有特定数据部 分, 即表明文件请求客户端之前对数据块 B特定数据部分执行过读操作或者 是写操作, 只是此时该特定数据部分还没有被文件请求客户端写锁定, 贝 J 判断命中该特定数据部分, 并向下层锁定服务器 C发送写锁定请求。 也就是 说, 若一个文件客户端之前对特定数据块部分执行过读操作或者写操作, 当其再一次请求该特定数据部分时, 则只需要向下层锁定服务器发送写锁 定请求即可。 In fact, the file request client checks the specific data portion locally before sending the read/write lock request or the write lock request to the specific data portion of the data block B to the lower layer data storage server C. Hits in the cache. If there is no specific data part in the local cache, that is, there is no data stored in the local cache requesting the client to lock the data, it is judged that the specific data block part is not hit, and the read/write lock request is sent to the lower layer lock server C; There is a specific data part, that is, the file requesting client performs a read operation or a write operation on the specific data portion of the data block B, but only the specific data portion has not been locked by the file request client at this time, and the J J judges the hit. A specific data portion, and a write lock request is sent to the lower layer lock server C. That is to say, if a file client has previously performed a read operation or a write operation on a specific data block portion, when it requests the specific data portion again, it only needs to send a write lock request to the lower layer lock server.
如图 2 所示, 是本发明一种实施例的方法流程图, 结合图 2, 对本发明 实施例进行详细解释。 为表述方便, 以文件请求客户端需要锁定文件 A中数 据块 B特定数据部分为例进行详细说明, 其中, Fac表示文件请求客户端, Fas表示下层的文件系统数据服务器(包括下层数据块服务器和下层锁定服 务器) , Fir表示上层数据位置寄存服务器, 具体步驟如下:  As shown in FIG. 2, it is a flowchart of a method according to an embodiment of the present invention. Referring to FIG. 2, an embodiment of the present invention is explained in detail. For convenience of description, the file request client needs to lock the specific data portion of the data block B in the file A as an example, wherein Fac represents the file request client, and Fas represents the lower file system data server (including the lower layer data block server and The lower layer locks the server), and Fir represents the upper layer data location registration server. The specific steps are as follows:
SI: Fac向 Fir发出的写打开文件 A的请求信息;  SI: Fac request information written to Fir to open file A;
S2: Fir接收 Fac发出的写打开文件 A的请求信息并提取文件 A的数据块 路径信息, 即 chunk信息, 若 Fir提取不到文件 A的 chunk信息, Fir判断当前 是否是第一次接收到 Fac发来的写打开文件 A的请求,并为文件 A创建一个能 够完整地描述文件 A内所有数据块的唯一的完整的 chunk, 并记录该 chunk 信息。 若 Fir能够提取到文件 A的 chunk信息, 则 Fir直接提取文件 A的 chunk 信息, 并返回给 Fac;  S2: Fir receives the request information of the write open file A issued by the Fac and extracts the data block path information of the file A, that is, the chunk information. If Fir cannot extract the chunk information of the file A, Fir determines whether it is the first time to receive the Fac. The incoming request to open file A is written, and a unique complete chunk that can completely describe all the data blocks in file A is created for file A, and the chunk information is recorded. If Fir can extract the chunk information of file A, Fir directly extracts the chunk information of file A and returns it to Fac;
S3: Fac判断数据块 B特定数据部分在本地緩存中的锁定情况,若特定数 据块部分在 Fac本地緩存中并且已经被锁定, 则转到步驟 S4;若特定数据部 分没有被锁定, 则转到步驟 S5;  S3: Fac determines the locking condition of the specific data part of the data block B in the local cache. If the specific data block part is in the local cache of the Fac and has been locked, go to step S4; if the specific data part is not locked, go to Step S5;
S4:已判断特定数据部分已被锁定, 则 Fac返回用户锁定成功, 可以进 行写数据块 B特定数据部分的操作; S4: It has been determined that the specific data portion has been locked, and the Fac returns the user to successfully lock, and can enter The operation of writing a specific data portion of the data block B;
S5: Fac判断数据块 B特定数据部分在本地緩存中的命中情况, 若未命 中, 则转到 S6,若命中, 则转到 S9;  S5: Fac judges the hit of the specific data part of the data block B in the local cache, if it is not, then goes to S6, if it hits, it goes to S9;
S6: Fac向 Fas内的下层数据存储服务器发送读写锁定数据块 B特定数据 部分的请求;  S6: Fac sends a request for reading and writing a block data block B to a lower data storage server in the Fas;
S7: Fas检查当前数据块锁定状态信息表数据块 B中特定数据部分是否 被锁定, 若未被锁定, 下层锁定服务器在数据块锁定状态信息表中将数据 块 B的特定数据部分的锁定状态标记为锁定,并返回该特定数据部分给文件 请求客户端; 若已被锁定, 则执行锁定失败策略;  S7: Fas checks whether the specific data portion of the current data block lock status information table data block B is locked. If not locked, the lower lock server marks the lock status of the specific data portion of the data block B in the data block lock status information table. To lock and return the specific data portion to the file request client; if it is locked, execute the lock failure policy;
S8: Fac检查 Fas返回的状态, 如果返回需要的特定数据部分, 则向用户 返回锁定成功并开始写的操作; 如果收到执行锁定失败策略, 则可以向用 户返回锁定失败或者等待一段时间后继续请求锁定。  S8: Fac checks the status returned by Fas. If the specific data part is returned, the operation returns to the user that the lock is successful and starts writing. If the execution lock failure policy is received, the user may return the lock failure or wait for a while to continue. Request a lock.
S9: Fac向 Fas内的下层数据存储服务器发送写锁定数据块 B特定数据部 分的请求;  S9: Fac sends a request to the lower data storage server in the Fas to write a lock data block B specific data portion;
S10: Fas检查当前数据块锁定状态信息表数据块 B中特定数据部分是否 被锁定, 若未被锁定, 下层锁定服务器在数据块锁定状态信息表中将数据 块 B的特定数据部分的锁定状态标记为锁定,并返回锁定成功给文件请求客 户端; 若已被锁定, 则执行锁定失败策略;  S10: Fas checks whether the specific data portion of the current data block lock status information table data block B is locked. If not locked, the lower lock server marks the lock status of the specific data portion of the data block B in the data block lock status information table. To lock and return the lock to the file request client successfully; if it is locked, execute the lock failure policy;
Sl l: Fac检查 Fas返回的状态,如果返回锁定成功,则向用户返回锁定成 功并开始写的操作; 如果收到执行锁定失败策略, 则可以向用户返回锁定 失败或者等待一段时间后继续请求锁定。  Sl l: Fac checks the status returned by Fas. If the return lock is successful, it returns the operation that the lock is successful and starts writing. If the lock execution failure policy is received, the lock failure may be returned to the user or wait for a period of time to continue to request the lock. .
同时, 本发明还提出了一种分布式文件系统的写锁定系统, 包括设置 于系统内的上层数据位置寄存选择路径模块, 下层数据锁定模块以及下层 数据存储模块; 其中,  In the meantime, the present invention also provides a write lock system for a distributed file system, comprising an upper layer data location registration selection path module, a lower layer data locking module and a lower layer data storage module disposed in the system;
上层数据位置寄存选择路径模块, 用于接收文件请求客户端发来的写 打开某个文件的请求, 并提取所述文件的数据块路径信息返回给所述文件 请求客户端; The upper layer data location registration selection path module is configured to receive the file request client to send the write Opening a request for a file, and extracting data block path information of the file is returned to the file request client;
下层数据锁定模块, 用于根据所述文件请求客户端发来的对所述文件 中特定数据块特定数据部分的锁定请求, 将所述特定数据块特定数据部分 的写锁权限信息返回给所述文件请求客户端。  a lower layer data locking module, configured to: according to the file requesting a lock request sent by a client to a specific data portion of a specific data block in the file, returning write lock authority information of the specific data portion of the specific data block to the File request client.
需要说明的是, 在上述的实施例中, 只是为了表述方便, 才以文件请 求客户端需要锁定数据块 B特定数据部分为例进行说明。 实际上, 在分布式 文件系统中, 下层的文件系统数据服务器中存储有大量的以数据块形式存 储的数据。 上层数据位置寄存服务器将同一文件划分成多个数据块, 并存 储在同一个或者是不同的下层文件系统数据服务器内, 通常是存储在不同 的文件系统数据服务器内, 具体是存储在数据块服务器内。 也就是说, 同 一个下层文件系统数据服务器内会存储有很多来自于不同文件的数据块。 而一旦上层数据位置寄存服务器确定了某个文件的一个唯一完整的数据块 路径, 那么, 所有的文件请求客户端需要锁定该文件中的某一个数据块某 个特定数据部分时, 都只能通过这个唯一的数据块路径访问并进行相应的 锁定操作。 也就是说此时, 该数据块的锁定权限已经被分发到下层文件系 统数据服务器内。 而上层数据位置寄存服务器在接收到文件请求客户端的 写打开某个文件的锁定请求时, 只会选择确定的一条副本数据块路径, 所 以本身没有提高上层数据位置寄存服务器的负载。 自此以后, 对分布式文 件系统中某个数据块的写锁定都与上层数据位置寄存服务器没有关系。  It should be noted that, in the foregoing embodiment, for convenience of description, the file requesting client needs to lock the specific data portion of the data block B as an example for description. In fact, in a distributed file system, a large number of file system data servers store a large amount of data stored in the form of data blocks. The upper data location registration server divides the same file into multiple data blocks and stores them in the same or different lower file system data servers, usually in different file system data servers, specifically in the data block server. Inside. That is to say, there are many data blocks from different files stored in the same underlying file system data server. Once the upper data location registration server determines a unique complete data block path for a file, all file request clients need to lock a particular data portion of a data block in the file. This unique block path is accessed and the corresponding lock operation is performed. That is to say, at this time, the lock permission of the data block has been distributed to the underlying file system data server. When the upper layer data location registration server receives the file request client's write request to open a file lock request, only the determined one copy data block path is selected, so that the load of the upper data location registration server is not raised by itself. Since then, write locks on a block of data in a distributed file system have nothing to do with the upper data location hosting server.
而由于下层文件系统数据服务器较多, 所以每个文件系统数据服务器 管理的数据块是有限的, 因此, 每一个文件系统数据服务器需要管理的数 据块的写锁权限也是有限的, 所以下层文件系统数据服务器的负载也不会 提高太多, 因此不会影响下层文件系统数据服务器的正常工作。 通过采用 多个文件系统数据服务器分摊了现有分布式文件系统中单一锁定服务器的 锁定负载, 在不提高该分布式文件系统本身硬件投入的情况下, 提高了分 布式文件系统锁定提交的吞吐量。 在实际应用中, 可以选择一个数据位置 寄存服务器(单 master ),也可以选择多个数据位置寄存服务器(多 master )。 若在上层使用多个数据位置寄存服务器, 并通过多个数据位置寄存服务器 将分布式文件系统内的数据写锁权限的分发到海量的下层文件系统数据服 务器内, 那么随着分布式文件系统中下层文件系统数据服务器的增长, 本 锁定系统可以跟随分布式文件系统的扩容而扩容, 从而具有很好的扩展性。 Since there are many data servers in the lower file system, the data blocks managed by each file system data server are limited. Therefore, the write lock permission of the data blocks that each file system data server needs to manage is limited, so the lower file system is limited. The load on the data server will not increase too much, so it will not affect the normal operation of the underlying file system data server. Achieve a single lock server in an existing distributed file system by using multiple file system data servers Locking the load improves the throughput of the distributed file system lock submission without increasing the hardware investment of the distributed file system itself. In practical applications, you can select a data location registration server (single master) or multiple data location registration servers (multi-master). If a plurality of data location registration servers are used in the upper layer, and data write lock permissions in the distributed file system are distributed to a large number of lower file system data servers through a plurality of data location registration servers, then in the distributed file system The growth of the underlying file system data server, the locking system can be expanded with the expansion of the distributed file system, and thus has good scalability.
在写打开同一个文件的前提下, 除了第一次向上层数据位置寄存服务 器发送写打开该文件请求的文件请求客户端端以外, 其他的每一个文件请 求客户端都只需要与上层数据位置寄存服务器通讯一次, 就可以获得需要 锁定的数据部分所在的文件的数据块路径信息。 若该文件请求客户端需要 再次获得该数据块的写锁权限时, 该文件请求客户端只需要向下层数据存 储服务器发送锁定请求, 即可从下层锁定服务器内获得该数据块的写锁权 限。 这样就减少了文件请求客户端与上层数据位置寄存服务器通讯的次数。 其中, 该数据块的写锁权限包括该数据块中存储的所有数据的写锁权限。 而对于同一个文件请求客户端来说, 只需要与上层数据位置寄存器进行一 次通讯即可, 使得上层数据位置寄存服务器基本上可以保持与不支持写锁 的文件系统有同样的性能, 从而减少了不必要的通讯开销。 能认定本发明的具体实施只局限于这些说明。 对于本发明所属技术领域的 普通技术人员来说, 在不脱离本发明构思的前提下, 还可以做出若干简单 推演或替换, 都应当视为属于本发明的保护范围。  On the premise of writing and opening the same file, except for the first time that the upper layer data location registration server sends a file request client that writes the file request for opening the file, each of the other file request clients only needs to register with the upper layer data location. Once the server communicates once, the data block path information of the file where the data portion to be locked is located can be obtained. If the file requests the client to obtain the write lock permission of the data block again, the file request client only needs to send a lock request to the lower layer data storage server, and the write lock permission of the data block can be obtained from the lower lock server. This reduces the number of times the file request client communicates with the upper data location hosting server. The write lock permission of the data block includes write lock permission of all data stored in the data block. For the same file request client, only one communication with the upper data location register is required, so that the upper data location registration server can basically maintain the same performance as the file system that does not support the write lock, thereby reducing the performance. Unnecessary communication overhead. It is to be understood that the specific embodiments of the invention are limited only by the description. It is to be understood by those skilled in the art that the present invention may be practiced without departing from the spirit and scope of the invention.

Claims

权利要求书 Claim
1、 一种分布式文件系统的写锁定方法, 其特征在于, 所述方法包括: 当上层数据位置寄存服务器接收到文件请求客户端发来的写打开文件 的请求时, 上层数据位置寄存服务器提取所述文件的数据块路径信息, 并 返回给所述文件请求客户端;  A write lock method for a distributed file system, wherein the method comprises: when an upper layer data location registration server receives a request for writing an open file sent by a file request client, the upper layer data location registration server extracts Data block path information of the file, and returned to the file request client;
下层锁定服务器根据所述文件请求客户端依据所述数据块路径信息发 来的对所述文件中特定数据块中特定数据部分的锁定请求, 将所述特定数 据块特定数据部分的写锁权限信息返回给所述文件请求客户端。  And the lower layer locking server requests, according to the file, a lock request information of a specific data part of the specific data block in the file according to the data block path information, and writes the lock permission information of the specific data part of the specific data block. Return to the file request client.
2、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括: 当所述上层数据位置寄存服务器提取所述文件的数据块路径信息且发 现没有所述文件的数据块路径信息时, 所述上层数据位置寄存服务器为所 述文件创建唯一完整的数据块路径, 记录所述文件的数据块路径信息, 并 将所述文件的数据块路径上的不同数据块的写锁权限分发到下层锁定服务 器中。  2. The method according to claim 1, wherein the method further comprises: when the upper layer data location registration server extracts data block path information of the file and finds that there is no data block path information of the file The upper data location registration server creates a unique complete data block path for the file, records data block path information of the file, and distributes write lock permissions of different data blocks on the data block path of the file to The lower layer is locked in the server.
3、 如权利要求 1所述的方法, 其特征在于, 所述方法还包括: 所述文件请求客户端依据所述数据块路径信息向所述下层锁定服务器 发送对所述特定数据块特定数据部分的锁定请求;  The method according to claim 1, wherein the method further comprises: the file requesting client transmitting, to the lower layer locking server, a specific data portion of the specific data block according to the data block path information Lock request
在所述文件请求客户端依据所述数据块路径信息向所述下层锁定服务 器发送对所述特定数据块特定数据部分的锁定请求之前, 所述方法还包括: 所述文件请求客户端判断所述特定数据部分在自身本地緩存中的锁定 情况, 当所述特定数据部分已经在自身本地緩存中且已被锁定时, 则所述 文件请求客户端不向所述下层锁定服务器发送锁定请求。  Before the file requesting client sends a lock request for the specific data portion of the specific data block to the lower layer lock server according to the data block path information, the method further includes: the file requesting client determining the The locking situation of a particular data portion in its own local cache, when the particular data portion is already in its own local cache and has been locked, then the file requesting client does not send a lock request to the underlying lock server.
4、 如权利要求 3所述的方法, 其特征在于, 所述下层锁定服务器根据 所述文件请求客户端发来的对所述特定数据块特定数据部分的锁定请求之 前, 所述方法还包括: 下层锁定服务器创建数据块锁定状态信息表; 所述下层锁定服务器创建数据块锁定状态信息表为: The method of claim 3, wherein the method further includes: before the file requesting, by the lower-layer locking server, a lock request from the client to the specific data portion of the specific data block, the method further includes: The lower lock server creates a block lock status information table; The lower lock server creates a data block lock status information table as:
当所述下层锁定服务器接收到所述文件请求客户端发来的对所述特定 数据块特定数据部分的锁定请求时, 所述下层锁定服务器判断当前是否为 第一次接收到对所述特定数据块的锁定请求, 当为第一次时, 在所述数据 块锁定状态信息表中加入所述特定数据块及其相应的锁定请求信息; 当不 为第一次时, 在所述数据块锁定状态信息表中检索所述特定数据块特定数 据部分的锁定请求信息。  When the lower layer locking server receives the lock request sent by the file requesting client to the specific data portion of the specific data block, the lower layer locking server determines whether it is currently receiving the specific data for the first time. Block lock request, when it is the first time, adding the specific data block and its corresponding lock request information to the data block lock status information table; when not for the first time, locking the data block The lock information of the specific data portion of the specific data block is retrieved in the status information table.
5、 如权利要求 4所述的方法, 其特征在于, 所述下层锁定服务器将所 述特定数据块特定数据部分的写锁权限信息返回给所述文件请求客户端之 后, 所述方法还包括:  The method of claim 4, after the lower-level locking server returns the write-locking right information of the specific data portion of the specific data block to the file requesting client, the method further includes:
所述下层锁定服务器根据接收到的所述文件请求客户端的锁定请求以 及返回给所述文件请求客户端所述特定数据块特定数据部分的写锁权限信 息, 判断是否通知下层数据块服务器将所述文件请求客户端所需要的所述 特定数据部分发送给所述文件请求客户端;  Determining, by the lower-layer locking server, whether to notify the lower-layer data block server according to the received lock request request of the file request client and the write lock authority information returned to the specific data portion of the specific data block of the file request client The specific data portion required by the file requesting client is sent to the file requesting client;
所述判断是否通知下层数据块服务器将所述文件请求客户端所需要的 所述特定数据部分发送给所述文件请求客户端为:  The determining whether to notify the lower layer data block server to send the specific data portion required by the file requesting client to the file request client is:
当所述下层锁定服务器接收到所述文件请求客户端发送来的对所述特 定数据块特定数据部分的读写锁定请求后, 所述下层锁定服务器检查当前 数据块锁定状态信息表中所述特定数据部分的锁定情况, 当所述特定数据 部分未被锁定时, 在所述数据块锁定状态信息表中将所述特定数据部分的 锁定状态标记为锁定, 并通知下层数据块服务器返回所述特定数据部分给 所述文件请求客户端; 当所述特定数据部分已被锁定, 则执行锁定失败策 略;  After the lower layer locking server receives the read/write lock request sent by the file requesting client to the specific data portion of the specific data block, the lower layer locking server checks the specific content in the current data block lock status information table. a locking condition of the data portion, when the specific data portion is not locked, marking the locking state of the specific data portion as locking in the data block locking state information table, and notifying the lower layer data block server to return the specific The data portion requests the client for the file; when the specific data portion has been locked, performing a lock failure policy;
当所述下层锁定服务器接收到所述文件请求客户端发送来的对所述特 定数据块特定数据部分的写锁定请求后, 所述下层锁定服务器检查当前所 述数据块锁定状态信息表中所述特定数据部分的锁定情况, 当所述特定数 据部分未被锁定, 则在所述数据块状态信息表中将所述特定数据部分的锁 定状态标记为锁定, 并返回锁定成功; 当所述特定数据部分已被锁定, 则 执行锁定失败策略。 After the lower layer locking server receives the write lock request sent by the file requesting client to the specific data portion of the specific data block, the lower layer locking server checks the current location a locking condition of the specific data portion in the data block locking state information table, and when the specific data portion is not locked, marking a locking state of the specific data portion as locking in the data block state information table, And returning the lock success; when the specific data portion has been locked, the lock failure policy is executed.
6、 如权利要求 5所述的方法, 其特征在于, 所述文件请求客户端向所 述下层锁定服务器发送对所述特定数据块特定数据部分的读写锁定请求或 写锁定请求为:  The method according to claim 5, wherein the file requesting client sends a read/write lock request or a write lock request to the lower layer lock server to the specific data portion of the specific data block as:
所述文件请求客户端检查所述特定数据部分在本地緩存中的命中情 况, 当所述本地緩存中没有所述特定数据部分时, 判断没有命中所述特定 数据部分, 并向所述下层锁定服务器发送读写锁定请求; 当所述本地緩存 中有所述特定数据部分且未被锁定时, 判断命中所述特定数据部分, 并向 所述下层锁定服务器发送写锁定请求。  The file requesting client checks a hit condition of the specific data portion in the local cache, and when there is no specific data portion in the local cache, determining that the specific data portion is not hit, and locking the server to the lower layer Sending a read/write lock request; when there is the specific data portion in the local cache and is not locked, determining to hit the specific data portion and transmitting a write lock request to the lower lock server.
7、 一种分布式文件系统的写锁定系统, 包括文件请求客户端、 下层数 据存储模块, 其特征在于, 所述系统还包括设置于系统内的上层数据位置 寄存选择路径模块、 下层数据锁定模块; 其中,  A write lock system for a distributed file system, comprising a file request client and a lower layer data storage module, wherein the system further comprises an upper layer data location registration selection path module and a lower layer data lock module disposed in the system. ; among them,
所述上层数据位置寄存选择路径模块, 用于接收文件请求客户端发来 的写打开文件的请求, 并提取所述文件的数据块路径信息返回给所述文件 请求客户端;  The upper layer data location registration selection path module is configured to receive a request for writing an open file sent by the file requesting client, and extract the data block path information of the file and return the data to the file request client;
所述下层数据锁定模块, 用于根据所述文件请求客户端发来的对所述 文件中特定数据块特定数据部分的锁定请求, 将所述特定数据块特定数据 部分的写锁权限信息返回给所述文件请求客户端。  The lower layer data locking module is configured to: according to the file requesting a lock request sent by a client to a specific data portion of a specific data block in the file, returning, to the write permission authority information of the specific data portion of the specific data block The file requests the client.
8、 如权利要求 7 所述的系统, 其特征在于, 所述上层数据位置寄存选 择路径模块, 还用于在提取所述文件的数据块路径信息且发现没有所述文 件的数据块路径信息时, 为所述文件创建唯一完整的数据块路径, 记录所 述文件的数据块路径信息, 并将所述文件的数据块路径上的不同数据块的 写锁权限分发到所述下层数据锁定模块中。 8. The system according to claim 7, wherein the upper layer data location registration selection path module is further configured to: when extracting data block path information of the file and discovering that there is no data block path information of the file Creating a unique complete data block path for the file, recording data block path information of the file, and different data blocks on the data block path of the file Write lock permissions are distributed to the underlying data lock module.
9、 如权利要求 7 所述的系统, 其特征在于, 所述文件请求客户端, 用 于在向所述下层数据锁定模块发送对所述特定数据块特定数据部分的锁定 请求之前, 判断所述特定数据部分在自身本地緩存中的锁定情况, 当所述 特定数据部分已经在自身本地緩存中且已被锁定时, 则不向所述下层数据 锁定模块发送锁定请求; 当所述特定数据部分未被锁定时, 则向所述下层 数据锁定模块发送锁定请求。  The system of claim 7, wherein the file requesting client is configured to determine, before sending a lock request for the specific data portion of the specific data block to the lower layer data locking module, a lock condition of a particular data portion in its own local cache, when the particular data portion is already in its own local cache and has been locked, then no lock request is sent to the underlying data lock module; when the particular data portion is not When locked, a lock request is sent to the underlying data locking module.
10、 如权利要求 9 所述的系统, 其特征在于, 所述下层数据锁定模块, 具体用于根据所述文件请求客户端发来的对所述特定数据块特定数据部分 的锁定请求, 创建所述数据块锁定状态信息表, 当接收到所述文件请求客 户端发来的对所述特定数据块特定数据部分的锁定请求时, 判断当前是否 为第一次接收到对所述特定数据块的锁定请求, 当为第一次时, 在所述数 据块锁定状态信息表中加入所述特定数据块及其相应的锁定请求信息; 当 不为第一次时, 在所述数据块锁定状态信息表中检索所述特定数据部分的 锁定请求信息。  The system of claim 9, wherein the lower layer data locking module is configured to: according to the file request client, a lock request for a specific data portion of the specific data block, a data block lock status information table, when receiving a lock request from the file requesting client for a specific data portion of the specific data block, determining whether it is currently receiving the specific data block for the first time Locking the request, when it is the first time, adding the specific data block and its corresponding lock request information to the data block lock state information table; when not the first time, locking the state information in the data block The table retrieves the lock request information for the specific data portion.
11、如权利要求 10 所述的系统,其特征在于, 所述下层数据锁定模块, 还用于根据接收到的所述文件请求客户端的锁定请求以及返回给所述文件 请求客户端的所述特定数据块特定数据部分的写锁权限信息, 判断是否通 知所述下层数据存储模块将所述文件请求客户端所需要的所述特定数据部 分发送给所述文件请求客户端:  The system of claim 10, wherein the lower layer data locking module is further configured to: request a lock request of the client according to the received file, and return the specific data to the file request client. Determining whether to notify the lower layer data storage module to send the specific data portion required by the file requesting client to the file request client by: the write lock permission information of the block specific data portion:
所述下层数据锁定模块, 具体用于当接收到所述文件请求客户端发送 来的对所述特定数据块特定数据部分的读写锁请求后, 检查当前数据块锁 定状态信息表中所述特定数据部分的锁定情况, 当所述特定数据部分未被 锁定时, 则在所述数据块锁定状态信息表中将所述特定数据部分的锁定状 态标记为锁定, 并通知下层数据存储模块返回所述特定数据部分给所述文 件请求客户端; 当所述特定数据部分已被锁定时, 则执行锁定失败策略; 当接收到所述文件请求客户端发送来的对所述特定数据块特定数据部分的 写锁定请求后 , 检查当前所述数据块锁定状态信息表中所述特定数据部分 的锁定情况, 当所述特定数据部分未被锁定, 则在所述数据块状态信息表 中将所述特定数据部分的锁定状态标记为锁定, 并返回锁定成功; 当所述 特定数据块已被锁定, 则执行锁定失败策略。 The lower layer data locking module is configured to: after receiving the read/write lock request for the specific data portion of the specific data block sent by the file requesting client, check the specific content in the current data block locking state information table. a locking condition of the data portion, when the specific data portion is not locked, marking the locking state of the specific data portion as locking in the data block locking state information table, and notifying the lower layer data storage module to return the Specific data portion to the text Requesting a client; when the specific data portion has been locked, executing a lock failure policy; after receiving the write request request sent by the client requesting the specific data portion of the specific data block, checking a lock condition of the specific data portion in the current data block lock status information table, and when the specific data portion is not locked, marking a lock status of the specific data portion in the data block status information table as Locked, and returns the lock successfully; when the specific data block has been locked, the lock failure policy is executed.
12、 如权利要求 11 所述的系统, 其特征在于, 所述文件请求客户端, 具体用于检查所述特定数据部分在本地緩存中的命中情况, 当所述本地緩 存中没有所述特定数据部分时, 判断没有命中所述特定数据部分, 并向所 述下层数据锁定模块发送读写锁定请求; 当所述本地緩存中有所述特定数 据部分且未被锁定时, 判断命中所述特定数据部分, 并向所述下层数据锁 定模块发送写锁定请求。  The system of claim 11, wherein the file requesting client is specifically configured to check a hit situation of the specific data part in a local cache, when the specific data is not in the local cache. Partially, determining that the specific data portion is not hit, and sending a read/write lock request to the lower data lock module; determining that the specific data is hit when the specific data portion of the local cache is not locked And sending a write lock request to the underlying data locking module.
PCT/CN2011/083694 2010-12-20 2011-12-08 Write lock method and system for distributed file system WO2012083797A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201010596619.5 2010-12-20
CN201010596619.5A CN102088484B (en) 2010-12-20 2010-12-20 Write lock method of distributed file system and a system thereof

Publications (1)

Publication Number Publication Date
WO2012083797A1 true WO2012083797A1 (en) 2012-06-28

Family

ID=44100096

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/083694 WO2012083797A1 (en) 2010-12-20 2011-12-08 Write lock method and system for distributed file system

Country Status (2)

Country Link
CN (1) CN102088484B (en)
WO (1) WO2012083797A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559282A (en) * 2015-09-29 2017-04-05 中兴通讯股份有限公司 A kind of lock file management method and device

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102088484B (en) * 2010-12-20 2014-12-10 南京中兴新软件有限责任公司 Write lock method of distributed file system and a system thereof
US8751493B2 (en) * 2012-04-23 2014-06-10 Google Inc. Associating a file type with an application in a network storage service
CN103095686B (en) * 2012-12-19 2016-06-08 华为技术有限公司 Focus metadata access control method and service device
CN104281442A (en) * 2013-07-12 2015-01-14 富泰华工业(深圳)有限公司 Document processing system and document processing method
CN104573428B (en) * 2013-10-12 2018-02-13 方正宽带网络服务股份有限公司 A kind of method and system for improving server cluster resource availability
CN103647850B (en) * 2013-12-25 2017-01-25 北京京东尚科信息技术有限公司 Data processing method, device and system of distributed version control system
CN105320512B (en) * 2014-07-30 2019-08-06 腾讯科技(深圳)有限公司 Distribute the method and device of trunk permission
CN105681367A (en) * 2014-11-17 2016-06-15 中国移动通信集团公司 Method, server and client for sharing file contents
CN105224255B (en) * 2015-10-14 2018-10-30 浪潮(北京)电子信息产业有限公司 A kind of storage file management method and device
CN106855871B (en) * 2015-12-09 2020-04-07 阿里巴巴集团控股有限公司 Data migration method and device
CN107146075B (en) * 2016-03-01 2020-11-10 创新先进技术有限公司 Request processing method and device
CN108647285B (en) * 2018-05-04 2021-06-22 北京小米移动软件有限公司 Renaming method and device in distributed file system and distributed file system
CN111274208B (en) * 2018-12-05 2023-06-30 杭州海康威视系统技术有限公司 Method and device for locking file
CN116055565B (en) * 2023-01-28 2023-06-06 北京蓝色星际科技股份有限公司 Data transmission method, system, device, electronic equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925515B2 (en) * 2001-05-07 2005-08-02 International Business Machines Corporation Producer/consumer locking system for efficient replication of file data
CN1771495A (en) * 2003-05-07 2006-05-10 国际商业机器公司 Distributed file serving architecture system
CN101706802A (en) * 2009-11-24 2010-05-12 成都市华为赛门铁克科技有限公司 Method, device and sever for writing, modifying and restoring data
CN102088484A (en) * 2010-12-20 2011-06-08 南京中兴新软件有限责任公司 Write lock method of distributed file system and a system thereof

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6925515B2 (en) * 2001-05-07 2005-08-02 International Business Machines Corporation Producer/consumer locking system for efficient replication of file data
CN1771495A (en) * 2003-05-07 2006-05-10 国际商业机器公司 Distributed file serving architecture system
CN101706802A (en) * 2009-11-24 2010-05-12 成都市华为赛门铁克科技有限公司 Method, device and sever for writing, modifying and restoring data
CN102088484A (en) * 2010-12-20 2011-06-08 南京中兴新软件有限责任公司 Write lock method of distributed file system and a system thereof

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106559282A (en) * 2015-09-29 2017-04-05 中兴通讯股份有限公司 A kind of lock file management method and device
WO2017054734A1 (en) * 2015-09-29 2017-04-06 中兴通讯股份有限公司 Locking file management method and device

Also Published As

Publication number Publication date
CN102088484B (en) 2014-12-10
CN102088484A (en) 2011-06-08

Similar Documents

Publication Publication Date Title
WO2012083797A1 (en) Write lock method and system for distributed file system
US11895188B2 (en) Distributed storage system with web services client interface
US8086581B2 (en) Method for managing lock resources in a distributed storage system
JP6538780B2 (en) System-wide checkpoint avoidance for distributed database systems
US20190068518A1 (en) System and method for controlling access to web services resources
RU2686594C2 (en) File service using for interface of sharing file access and transmission of represent state
CN105393243B (en) Transaction sequencing
US9076012B2 (en) Access requests with cache intentions
JP5059974B2 (en) Cluster shared volume
KR101914019B1 (en) Fast crash recovery for distributed database systems
US7739239B1 (en) Distributed storage system with support for distinct storage classes
US9424140B1 (en) Providing data volume recovery access in a distributed data store to multiple recovery agents
JP4613023B2 (en) Protocol-independent client-side caching system and method
US10397185B1 (en) Scalable cloud hosted metadata service
JP6225262B2 (en) System and method for supporting partition level journaling to synchronize data in a distributed data grid
US10708379B1 (en) Dynamic proxy for databases
US7962600B2 (en) WAFS disconnected-mode read-write access
CN112351038A (en) File request method, system and medium based on network file system
Adam Samba’s Way Toward SMB 3.0
Mullender et al. Pepys The Network is a File System
Yu et al. Atomic distributed semaphores for accessing networked data

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11850730

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11850730

Country of ref document: EP

Kind code of ref document: A1