CN102375955A - 网络文件系统联合命名空间内文件加锁的系统与方法 - Google Patents

网络文件系统联合命名空间内文件加锁的系统与方法 Download PDF

Info

Publication number
CN102375955A
CN102375955A CN2010102553716A CN201010255371A CN102375955A CN 102375955 A CN102375955 A CN 102375955A CN 2010102553716 A CN2010102553716 A CN 2010102553716A CN 201010255371 A CN201010255371 A CN 201010255371A CN 102375955 A CN102375955 A CN 102375955A
Authority
CN
China
Prior art keywords
storage medium
lock
server
agent
customer equipment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2010102553716A
Other languages
English (en)
Inventor
鲁凤成
康炜
乌雷什·瓦哈兰
让·皮尔·博诺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
EMC Corp
Original Assignee
EMC Corp
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 EMC Corp filed Critical EMC Corp
Priority to CN2010102553716A priority Critical patent/CN102375955A/zh
Priority to US12/943,042 priority patent/US8935560B2/en
Publication of CN102375955A publication Critical patent/CN102375955A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • G06F16/183Provision of network file services by network file servers, e.g. by using NFS, CIFS
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2147Locking files

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Bioethics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了一种网络文件系统联合命名空间内的文件加锁的方法、系统和装置。在一个实施例中,方法包括通过中间代理服务器在网络上访问存储介质中的目标文件。存储介质可以是网络上形成数据共享群集的存储介质群的任何一个存储介质。此外,方法包括通过锁协议经由中间代理服务器对存储介质中的目标文件加锁,以使得在任意给定时间至多只有一个用户能够访问修改目标文件。

Description

网络文件系统联合命名空间内文件加锁的系统与方法
技术领域
本公开内容一般地涉及存储设备技术领域,并且在一个实施例中,涉及网络文件系统联合命名空间内文件加锁的系统与方法。
背景技术
文件锁协议可以使得客户设备能够加锁数据网络中的存储服务器上的文件。例如,网络文件系统可以通过网络锁管理协议提供文件加锁能力。加锁文件可以防止数据损坏和/或数据不一致。然而,对数据网络结构和/或体系结构的修改会视文件锁协议在经修改的环境中不可改动。从而,在经修改的数据网络结构和/或体系结构上的文件加锁操作不可行,这将使得数据网络中的存储介质上的文件易遭受数据损坏和/或数据不一致性。
发明内容
公开了一种网络文件系统联合命名空间内文件加锁的方法、系统与装置。
一方面,方法包括通过中间代理服务器在网络上访问存储介质中的目标文件。存储介质可以是网络上形成数据共享群集的存储介质群的任何一个存储介质。此外,方法包括经由中间代理服务器通过锁协议对存储介质中的目标文件加锁,以使得在任意给定时间至多只有一个用户能够访问修改目标文件。
另一方面,中间代理服务器的方法包括从客户设备向存储介质以及从存储介质向客户设备转发锁协议消息和/或状态通知消息。中间代理服务器的方法还包括在中间代理服务器中存储转发上下文。此外,中间代理服务器的方法包括维护链路标识符以通过死机恢复处理操作改善目标文件的加锁操作的稳健性。
又一方面,系统包括客户设备、形成数据共享群集的多个存储介质、多个存储介质中包括目标文件的存储介质、和中间代理服务器。中间代理服务器通过传输介质在网络上耦合在客户设备和存储介质之间。文件加锁系统的中间代理服务器被配置成从客户设备向存储介质以及从存储介质向客户设备转发锁协议消息和/或状态通知消息。此外,中间代理服务器被配置成创建包括客户设备地址和/或客户设备端口号的转发上下文以标识来自存储介质的锁协议消息所寻址的客户设备。中间代理服务器还被配置成当从客户设备向存储介质转发锁协议消息时将锁标识符和转发上下文附加到锁协议消息。锁标识符被配置成标识来自客户设备的锁协议消息通过其被转发到存储介质的中间代理服务器和客户设备对。中间代理服务器还被配置成在中间代理服务器中存储转发上下文。此外,中间代理服务器被配置成维护链路标识符,以通过死机恢复处理操作改善目标文件的加锁操作的稳健性。
这里公开的方法、系统和装置可以以用于实现多个方面的任意方式实现。其他特征将通过附图和下文详细的说明变得明显。
附图说明
示例性实施例以示例的方式被示出,而不限于附图所示。附图中类似的标号指代相似的元素,其中:
图1是根据一个或多个实施例基于网络锁管理(NLM)/状态监视(SM)的网络文件系统联合命名空间中的分布式锁机制的系统示图。
图2是根据一个或多个实施例客户设备访问并加锁存储介质中的目标文件的远程程序调用示图。
图3是根据一个或多个实施例在网络文件系统联合命名空间环境中的锁协议消息的包示图。
图4是根据一个或多个实施例在客户设备重新启动时的死机恢复处理操作的远程程序调用示图。
图5是根据一个或多个实施例在存储介质重新启动时的死机恢复处理操作的远程程序调用示图。
图6是根据一个或多个实施例在中间代理服务器重新启动时的死机恢复处理操作的远程程序调用示图。
图7是根据一个或多个实施例在网络文件系统联合命名空间环境中将文件集从源存储介质重新安置到目的地存储介质的系统示图。
图8是根据一个或多个实施例连接网络上形成数据共享群集的存储介质群的存储介质的网状网络的网络示图。
图9是根据一个或多个实施例在网络文件系统联合命名空间环境中的锁迁移操作的远程程序调用示图。
图10是根据一个或多个实施例在网络文件系统联合命名空间环境中的锁迁移操作的参考程序的网络示图。
当前实施例的其他特征将通过附图和下文详细的说明而变得明显。
具体实施方式
公开了一种网络文件系统联合命名空间内文件加锁的方法、系统与装置。尽管参考了具体示例性实施例描述了当前实施例,但是很明显在不背离多个实施例的宽泛精神和范围的情况下,可以对这些实施例进行多种修改和改变。
网络文件系统(NFS)联合命名空间可以是从两个或更多服务器聚集体形成的逻辑命名空间,所述两个或更多服务器聚集体被配置成使用统一的协议和接口集以通过NFS协议向客户设备提供文件服务。在另一示例性实施例中,NFS联合命名空间可以是分布在两个或更多个数据服务器上的NAS数据共享群集的实现。在示例性实施例中,数据服务器可以是数据网络上的存储服务器。在一个或多个实施例中,数据服务器可以是NFS服务器。在一个或多个实施例中,数据共享群集可以是网络附接存储数据共享群集。形成数据共享群集的数据服务器群可以被配置成作为网络附接存储进行操作。在一个或多个实施例中,数据服务器可以进行聚集以形成网络附接存储。
数据存储网络可以包括一个或多个客户设备以及一个或多个存储介质,其可通信地通过网络耦合到一个或多个服务器设备。在一个或多个实施例中,数据群集可以通过聚集服务器设备而形成。在一个或多个实施例中,数据共享群集可以是被配置成共享存储介质并且共享前述存储介质上的数据的服务器设备群。在一个或多个实施例中,数据共享群集中的服务器设备可以是存储服务器设备。
在一个或多个实施例中,数据共享群集可以包括两个或更多个节点。主机操作系统可以安装在数据共享群集中的每个节点中。每个节点可以包括一个或多个数据服务器设备。每个服务器设备可以被配置为NFS服务器设备,其中NFS服务器设备被配置成向客户设备提供服务。向客户设备提供的服务可以是文件服务。这里描述的NFS服务器设备可以被配置为存储介质(这里用作“存储介质”)。
在一个或多个实施例中,NFS协议可以用来使能数据存储网络中的文件服务。在一个或多个实施例中,NFS协议可以是这样的网络协议,其被配置成使得一个或多个客户设备能够访问来自数据共享群集中的一个或多个存储介质的文件,如同所述一个或多个存储介质本地耦合(例如,网络附接存储)到客户设备一样。在一个或多个实施例中,存储介质(例如,NFS服务器设备)可以被配置成向客户设备“输出”特殊目录和文件。
在客户设备侧,由存储介质输出的目录可以被“挂装”(例如,使用挂装(mount protocol)协议)以访问数据共享群集中的存储介质。在一个或多个实施例中,NFS协议向服务器设备提供文件处理结构(称为文件处理或NFS文件处理),以使得客户设备能够唯一标识出输出的将要执行操作的特殊目录和文件。在一个或多个实施例中,操作可以包括但不限于新文件存储操作、读操作、和写操作。
在一个或多个实施例中,对存储介质中文件的操作可以由多个客户设备执行。然而,为了防止文件被多个客户设备操作,通过允许在任意特定时间单个客户设备或进程处理文件,可以提供加锁机制(称为“文件加锁”)以限制对文件的访问。
由于NFS协议是无状态的,所以可以使用网络锁管理(NLM)协议来支持NFS挂装文件的加锁。在一个或多个实施例中,NLM协议可以允许客户设备的应用加锁或解锁由偏移值和长度定义的文件区域。换句话说,锁可以扩展至整个文件,或者开始于偏移值为零和预定长度。
在一个或多个实施例中,NLM协议可以提供两类锁:共享锁和独占锁。在一个或多个实施例中,共享锁使得应用(包括将锁施加到文件的应用)能够执行对共享锁规定的文件区域内的数据的读操作。在一个或多个实施例中,两个或更多个客户设备能够保有同一文件区域上的或者文件中的重叠区域上的共享锁。在一个或多个实施例中,独占锁防止除实施锁的应用之外的应用对独占锁规定的文件区域中的数据执行读操作和/或写操作。并且,在独占锁的情形中,不允许两个或更多个客户设备在独占锁定义的存储介质中的文件区域上建立任何其他锁。
并且,可以在NFS文件系统中使用状态监视(SM)协议以支持NFS协议。在一个或多个实施例中,NLM协议和SM协议是基于远程程序调用(RPC)程序的。在联合命名空间环境中,可以通过访问节点或中间代理服务器来使能一个或多个客户设备和一个或多个存储介质之间的通信。中间代理服务器可以被配置为传输NLM和SM协议消息的一个或多个客户和数据存储群集的存储介质之间的代理。在一个或多个实施例中,中间代理服务器可以被配置成代表联合命名空间环境中的一个或多个存储介质。
在一个或多个实施例中,来自一个或多个客户设备的任何NLM请求可以被传输到中间代理服务器。在一个或多个实施例中,在联合命名空间环境中,一个或多个客户设备被配置成可以感知到中间代理服务器。然而,传输到中间代理服务器的NLM请求会被转发到数据共享群集中的存储介质。拥有目标文件的存储介质可以被配置成处理NLM请求。
图1示出了联合命名空间环境中的客户设备和一个或多个服务器设备之间的文件级别通信的示例。
参考图1,在一个或多个实施例中,客户设备108、中间代理服务器102和一个或多个存储介质中的每个被配置成维护状态监视文件。在一个或多个实施例中,任何与设备相关联的文件关联事件会被输入到设备的状态监视文件中。在一个或多个实施例中,状态监视文件可以通过SM协议守护程序(daemon)在数据存储网络中的每个设备中产生。在一个或多个实施例中,客户设备108、中间代理服务器102和存储介质104中的SM协议守护程序可以分别在客户设备108、中间代理服务器102和存储介质104中产生状态监视文件。SM协议守护程序可以是处理状态监视和产生SM_NOTIFY消息的进程。在一个或多个实施例中,每个设备中的状态监视文件可以在当数据存储网络中的任何设备重新启动时的死机恢复操作中使用。
在一个或多个实施例中,NLM协议可以被配置成使用SM协议向数据存储网络中的客户设备108、中间代理服务器102和/或一个或多个存储介质1041-N中的任何一个提供客户设备108、中间代理服务器102和/或一个或多个存储介质1041-N中的任何一个的锁状态丢失的及时通知。在一个或多个实施例中,SM协议可以提供下述服务,所述服务向数据存储网络中的设备通知联合命名空间环境的锁状态的丢失。因此,在一个或多个实施例中,当数据存储网络中的任何设备重新启动时,一个或多个存储介质和客户设备108可以获得SM通知。在一个或多个实施例中,数据共享群集112中的每个存储介质可以被配置成维护由存储介质拥有的目标文件上的锁记录。
在一个或多个实施例中,可以在联合命名空间中的存储介质1041-N之间维护网状网络。网状网络可以包括存储介质1041-N和/或中间代理服务器102。可以有不只一个中间代理服务器。中间代理服务器可以通过网状网络彼此耦合以及/或者耦合到存储介质。每个存储介质1041-N可以被配置成感测(例如,监听)NLM消息,并且通过联合命名空间提供的具体端口从联合命名空间中的任何其他存储介质1041-N接收NLM消息。在一个或多个实施例中,具体设备端口可以与专用网络相关联。在一个或多个实施例中,转发的NLM消息可以通过专用信道传输(例如,传送),以使存储介质1041-N能够区分来自客户设备108的转发消息。
图1是根据一个或多个实施例基于网络锁管理(NLM)/状态监视(SM)的NFS联合命名空间中的分布式锁机制的系统示图。在一个或多个实施例中,NFS可以是NFS版本2和/或NFS版本3。在一个或多个实施例中,NFS联合命名空间可以是从两个或更多个服务器聚集体产生的逻辑命名空间,所述两个或更多服务器聚集体被配置成使用统一的协议和接口集以通过NFS协议向客户设备提供文件服务。在另一示例性实施例中,联合命名空间可以是分布在一组存储介质1041-N上的NAS数据共享群集的实现。在示例性实施例中,中间代理服务器102可以用作在客户设备108和存储介质1041-N之间传输锁协议消息106A-B的接口。在一个或多个实施例中,中间代理服务器102可以被配置为形成网络附接存储数据共享群集112的一个或多个存储介质的代理。在一个或多个实施例中,中间代理服务器102可以被配置为网络附接存储数据共享群集112的代理。在一个或多个实施例中,存储介质1041-N可以发起向客户设备108的通信。在示例性实施例中,数据存储网络100包括中间代理服务器102、一个或多个存储介质1041-N、网络锁管理(NLM)锁协议消息106A-B、客户设备108、网络链路110和数据共享群集112。
在一个或多个实施例中,客户设备108、中间代理服务器102、一个或多个存储介质1041-N可以通过网络中的网络链路可通信地相互耦合。在一个或多个实施例中,网络链路可以是有线介质或无线介质,其中请求和响应被配置为通过网络链路进行传输。在一个或多个实施例中,中间代理服务器102可以是服务器设备,该服务器设备被配置成从客户设备接受请求以传输到一个或多个存储介质1041-N并且将响应从一个或多个存储介质1041-N传输到客户设备108。在一个或多个实施例中,由客户设备108向存储介质1041-N做出的请求可以是用于文件服务的。在一个或多个实施例中,中间代理服务器102可以是代理服务器。代理服务器可以是透明或不透明的实体,其在靠近或远离实际服务器的地方执行服务器功能的一部分或全部。在一个或多个实施例中,客户服务108将访问存储介质1041-N的全部请求传输到中间代理服务器102。在示例性实施例中,客户设备108可以通过访问被配置成形成网络附接存储数据共享群集112的任何一个存储介质,访问网络附接存储数据共享群集112中的任何共享文件。在示例性实施例中,客户设备108可以通过访问中间代理服务器102,访问网络附接存储数据共享群集112中的任何共享文件。中间代理服务器102还可以被配置为存储介质。在一个或多个实施例中,NFS联合命名空间系统可以具有一个或多个中间代理服务器。客户设备可以通过一个或多个中间代理服务器访问存储介质上的目标文件。在一个或多个实施例中,NFS协议可以在数据共享网络中实现用于文件服务,并且NLM锁协议可以被实现用于支持NFS环境中的文件加锁。
在一个或多个实施例中,NLM锁协议消息106A-B可以包括但不限于NLM_LOCK消息、NLM_TEST消息、NLM_UNLOCK消息、NLM_CANCEL消息、NLM_GRANTED消息、LCK_BLOCKED消息、LCK_GRANTED消息和/或LCK_DENIED消息。在示例性实施例中,NLM锁协议消息106A-B可以是由客户设备108、存储介质1041-N和/或中间代理服务器102做出的远程程序调用。在一个或多个实施例中,NLM锁协议消息106A可以是在客户设备108和中间代理服务器102之间传输的NLM锁协议消息。在一个或多个实施例中,NLM锁协议消息106B可以是在存储介质1041-N和中间代理服务器102之间传输的锁协议消息。在示例性实施例中,上述NLM锁协议消息106A-B可以通过中间代理服务器102在客户设备108和存储介质104之间传输,以处理与访问和/或加锁存储有目标文件的存储介质104中的目标文件相关的操作。在一个示例性实施例中,客户设备108可以传输锁请求消息(例如,NLM_LOCK)以在存储介质104之一(例如,存储介质1041)中的目标文件的一部分上执行锁操作(例如,独占锁)。在示例性实施例中,客户设备108还可以对存储介质104的整个目标文件加锁。在另一示例性实施例中,客户设备108上的应用可以通过中间代理服务器102请求对存储介质104上的目标文件加锁。
在示例性实施例中,来自客户设备108的NLM_LOCK程序调用可以在存储介质104的文件上创建锁定字节区。如果锁被授予,那么存储介质104可以返回LCK_GRANTED消息。一旦锁被授予,客户设备108可以是可以保有目标文件上的锁的客户之一。如果存在冲突锁,那么NLM_LOCK请求不会被准许。如果目标文件上保有的锁是独占锁,那么锁不会被授予。如果客户设备108将NLM_LOCK请求中的阻塞标记设置为真,那么存储介质108可以返回LCK_BLOCKED消息,其可以指示客户设备108应当预期异步的NLM_GRANTED消息,当目标文件上的现有锁被去除并且锁被授予给发出NLM_LOCK请求的客户的时候。阻塞标记可以指示客户预期存储介质104保有存储介质上的目标文件上的锁直到锁被授予。如果阻塞标记被设置为假,那么存储介质将返回LCK_DENIED消息。
在一个或多个实施例中,NLM_GRANTED消息可以是异步的锁协议消息。在一个或多个实施例中,NLM_LOCK可以是同步的锁协议消息。在示例性实施例中,当同步的锁协议消息被数据网络上的任何设备发起时,设备在发起新程序调用之前等待程序完成并获得程序调用的响应或同步锁协议消息的响应。然而,当数据存储网络上的设备发起异步锁协议消息时,设备不在发出新程序调用或锁协议消息之前等待程序完成并获得程序调用的响应。
在一个或多个实施例中,NLM_TEST程序调用可以检查存储介质104上的目标文件的锁的可用性。NLM_CANCEL程序调用可以取消阻塞的NLM_LOCK请求。NLU_UNLOCK程序调用可以解锁存储介质104上的目标文件的锁定区域。
在示例性实施例中,存储介质1041-N可以是数据网络上的存储服务器。在一个或多个实施例中,存储介质1041-N可以是NFS服务器。在一个或多个实施例中,数据共享群集112可以是网络附接存储数据共享群集。形成数据共享群集112的存储介质1041-N的群可以被配置为网络附接存储。存储介质可以是存储服务器。在一个或多个实施例中,存储服务器可以被聚集以形成网络附接存储。
在一个或多个实施例中,客户设备108可以将锁协议消息(例如,NLM锁协议消息106A)传输到存储介质1041。耦合在客户设备和存储介质1041-N之间的中间代理服务器102接收NLM锁协议消息106A。中间代理服务器102随后可以将NLM锁协议消息106B转发到存储介质1041。中间代理服务器102可以将额外数据附加到NLM锁协议消息106A并将其传输到存储介质1041。存储介质1041可以评估通过中间代理服务器102来自客户设备108的NLM锁请求,以确定目标文件上是否存在任何锁。如果在文件的一部分或整个文件上已经存在冲突锁(例如,另一独占锁),那么NLM_LOCK请求不被准许。此外,如果阻塞标记在NLM_LOCK消息中被设置,那么存储介质1041产生并通过中间代理服务器102传输LCK_BLOCKED消息到客户设备108。LCK_BLOCKED消息可以指示在目标文件上存在冲突锁,并且客户设备可以预期当锁被授予时的异步的NLM_GRANTED回叫。如果锁未被授予,那么存储介质1041返回LCK_DENIED消息,指示锁未被授予。上述锁机制不限于客户设备108和存储介质1041之间,而是可以应用于包括两个或更多个客户设备108和两个或更多个存储介质的数据存储网络。图2中解释了文件加锁机制。
图2是根据一个或多个实施例客户设备访问并加锁存储介质中的目标文件的远程程序调用示图。出于说明的目的,在本图中使用了图1中描述的组件。在一个或多个实施例中,可以存在用于文件加锁/解锁的若干RPC程序调用。这里出于说明目的使用了那些RPC程序调用的子集。这里对文件加锁/解锁的说明是基于NLM协议的。然而,还可以使用其他协议执行这里描述的文件加锁/解锁。文件加锁操作如下所述。
在操作206A,客户设备108发起NLM_LOCK程序调用以加锁存储介质104上的目标文件。客户设备发送NLM_LOCK消息到中间代理服务器102。可以在客户设备108上的状态监视文件中存储与中间代理服务器102有关的信息,其中客户设备与中间代理服务器102通信以加锁存储介质104上的目标文件。中间代理服务器102可以从客户设备108接收NLM_LOCK消息以加锁目标文件。在接收NLM_LOCK请求消息之后,可以在中间代理服务器102中发起操作210。在一个或多个实施例中,操作210可以包括解析从客户设备108发出的NLM_LOCK请求,以标识出存储了目标文件的存储介质104。此外,操作210可以包括创建包括关于中间代理服务器102的信息的锁标识符和/或转发上下文。中间代理服务器102可以将转发上下文和/或锁标识符附加到从中间代理服务器102传输到存储介质1041-N的NLM_LOCK消息中。在一个或多个实施例中,转发上下文和/或锁标识符可以是数据。
在一个或多个实施例中,中间代理服务器102中的转发上下文可以使得中间代理服务器102能够标识出来自存储介质的锁协议消息所寻址的客户设备108。转发上下文数据可以包括客户设备地址、客户设备端口号、RPC_ID、和标记,如果NLM程序是异步的话。
在一个或多个实施例中,锁标识符数据可以包括关于客户设备108和中间代理服务器102的信息,其中锁通过中间代理服务器102将被施加到存储介质104的文件上。并且,中间代理服务器102可以在中间代理服务器102上的状态监视文件中存储客户设备108信息以及客户设备108在其上保有锁的存储介质104的信息。链路标识符可以标识客户设备108和客户108在其上保有锁的存储介质104之间的映射图。映射图可以将客户设备108与相应客户设备108在其上保有锁的存储节点104相关联。中间代理服务器102上的状态监视文件可以监视客户设备108与相应客户设备108在其上保有锁的存储介质104。当客户设备108在存储介质104上的锁被去除时,状态监视文件被更新以从状态监视文件去除相应的客户设备108和存储介质104。在操作206B,客户设备108可以将NLM_LOCK请求传输到存储介质104。
存储介质104可以从中间代理服务器102接收NLM_LOCK消息,并且操作212被启动。在操作212,存储介质104可以对存储介质104上的目标文件的一部分加锁。客户设备108一旦其具有在目标文件上的锁后则可以修改目标文件。此外,LCK_GRANTED消息可以被产生。或者,如果在文件上已经存在锁并且因此不能应用锁,则LCK_BLOCKED或LCK_DENIED消息会被产生。并且,在操作212,可以在存储介质表中维护存储介质104中的目标文件上的锁记录。在一个或多个实施例中,锁状态可以被其上存在锁定目标文件的存储介质维护。此外,在操作212,如果存储介质上的锁是客户在存储介质上具有的第一个锁,那么可以在存储介质104的状态监视文件中存储与请求存储介质104上的锁的客户设备108有关的信息以及与中间代理服务器102有关的信息,其中客户设备108通过中间代理服务器102与存储介质104通信。存储介质104中的状态监视文件可以包括客户设备通过其获得存储介质104上的锁的中间代理服务器和保有存储介质104中的目标文件上的锁的客户设备的列表。在一个或多个实施例中,存储介质状态监视文件监视客户设备108和中间代理服务器102对的锁状态,其中客户设备108通过中间代理服务器102对存储介质104上的目标文件加锁。锁标识符可以标识与存储介质104中的锁相关联的客户设备108和中间代理服务器102对。
此外,在操作212,可以产生被附加到答复消息(例如,LCK_GRANTED)中的创建消息和/或context_ID。创建消息在图2中可以被示为map_ctrl=map_create消息。在一个或多个实施例中,context_ID可以从附加到NLM_LOCK消息的转发上下文产生,其中NLM_LOCK消息是从中间代理服务器102到存储介质104的。
在一个或多个实施例中,在对目标文件成功应用锁之后,可以产生锁标识符。适当的答复消息可以由存储介质104传输到中间代理服务器102(例如,具有map_ctrl消息的LCK_GRANTED)。在中间代理服务器102从存储介质104接收到消息后,操作214启动。在操作214,通过用状态信息(例如,从存储介质获得的响应)更新中间代理服务器102中的状态监视文件,LCK_GRANTED答复消息被转发给客户设备108。
在一个或多个实施例中,如果有多个中间代理服务器可通信地耦合到客户设备108和存储介质104,那么可以通过多个中间代理服务器传输对存储介质上的目标文件加锁的请求。存储介质104会视来自同一客户但是不同中间代理服务器的目标文件锁请求如同该锁请求来自不同的客户设备。因此,存储介质104会将由相同客户设备通过不同中间代理服务器做出的在同一目标文件上加锁的所有请求视为对该文件的不同锁请求。锁标识符使得存储介质能够将由客户设备通过不同中间代理服务器做出的对相同目标文件的锁请求视为不同锁请求,并且不会合并锁请求。例如,客户1可以通过中间代理服务器1请求对存储服务器1上的文件1的一部分加锁。进一步地,客户1可以通过中间代理服务器2请求对存储服务器1上的文件1的另一部分加锁。客户请求加锁的文件的多个部分可以重叠。即使锁请求是由同一客户针对存储服务器上的同一文件做出的,存储服务器也将请求视为单独锁请求对待,如同他们是来自不同客户那样,因为锁请求是通过不同的中间代理服务器做出的。与第一个锁相关联的锁标识符可以是<客户1,中间代理服务器1>的形式,而与第二个锁相关联的锁标识符可以是<客户1,中间代理服务器2>的形式。锁标识符的不同使得存储服务器1能够区分锁请求。此外,锁标识符使得存储介质104能够通过从其获得了NLM_LOCK请求的中间服务器向客户设备传输响应消息。
现在说明解锁机制。在操作206E,客户设备108发起NLM_UNLOCK请求程序调用以解锁存储介质104中的目标文件。NLM_UNLOCK请求可以被中间代理服务器102接收。在接收NLM_UNLOCK请求消息之后,在操作206F,中间代理服务器102可以将NLM_UNLOCK消息传输到存储介质104。并且,中间代理服务器102可以在中间代理服务器表中维护客户信息和存储介质104信息以监视事件的状态。
存储介质104可以从中间代理服务器102接收NLM_UNLOCK请求,并且操作216启动。在操作216,存储介质104可以执行对锁定文件的解锁操作。此外,存储介质216可以确定解锁的锁是否是存储介质104上通过相应中间代理服务器102的最后的锁。在一个或多个实施例中,当锁被去除时,可以响应于NLM_UNLOCK请求,产生LCK_GRANTED消息。如果锁是最后锁,那么去除消息可以被附加到LCK_GRANTED消息。此外,可以去除存储介质表中与通过中间代理服务器102来自客户设备108的加锁信息相关联的所有条目。在操作206G,LCK_GRANTED消息可以被传输到中间代理服务器102。在操作218,中间代理服务器102可以从中间代理服务器状态监视文件去除与客户设备108和存储介质104之间的锁相关联的状态信息的条目,其中客户设备108向存储介质104转发NLM_UNLOCK消息以解锁目标文件。可以基于中间代理服务器102接收的LCK_GRANTED消息中的去除消息,去除与客户设备108和存储介质104之间的锁相关联的状态信息的条目,其中客户设备108向存储介质104转发NLM_UNLOCK消息以解锁目标文件。在操作206H,响应于客户设备108发出的LCK_UNLOCK,LCK_GRANTED答复消息被转发给客户设备108。
图3是根据一个或多个实施例在NFS联合命名空间环境中的NLM锁请求消息的包示图。NLM锁请求消息可以包括两个主要部分,即RPC部分302和NLM部分304。附加长度306部分可以由中间代理服务器附加以包括使能NLM锁协议消息从客户设备108向存储介质1041-N的成功传输的信息。
在一个或多个实施例中,RPC部分可以包括但不限于三个主要子部分,即RPC_ID、端口和/或版本。RPC_ID子部分可以包括使能具体远程程序调用(RPC)的身份的信息。端口子部分可以包括可以传输RPC的端口信息。版本子部分可以包括RPC的版本信息。
NLM部分304可以包括但不限于三个主要部分,即上锁者子部分、锁子部分和/或标记子部分。上锁者子部分包括关于客户设备(例如,IP地址)的信息和进程ID。进程ID提供关于请求对目标文件加锁或访问的应用或进程的身份号的信息。锁子部分提供与将要加锁的目标文件的一部分的开始、偏移值和所施加的锁的类型(例如,独占锁、共享锁)有关的信息。标记信息可以提供但不限于关于RPC调用类型的信息。RPC程序调用可以具有不同程序号。RPC程序调用号可以标识调用是异步RPC调用还是同步RPC调用。在一个或多个实施例中,标记子部分可以包括但不限于阻塞标记和/或收回标记。收回标记提供用于在中间代理服务器102和/或存储介质1041-N重新启动时进行收回操作的参数。在一个或多个实施例中,NLM部分可以由客户设备基于文件加锁要求进行编辑。参数可以由客户设备输入以规定所施加的锁的类型、将要加锁的文件的部分、客户设备信息、等待信息和收回信息。
附加的长度部分306包括与中间代理服务器有关的信息(例如,端口细节)和context_ID。在一个或多个实施例中,转发上下文信息包括context_ID,其提供与客户设备有关的信息。此外,中间代理服务器信息可以包括锁标识符。在一个或多个实施例中,附加的长度306部分可以由中间代理服务器产生并且被附加到锁请求消息中。
图4是根据一个或多个实施例在客户设备重新启动时的死机恢复处理操作的远程程序调用示图。如前所述,数据存储网络中的每个设备被配置为维护状态监视文件。在一个或多个实施例中,客户设备108的客户设备状态监视文件可以被配置成包括与通过其存储介质104上的目标文件被加锁以及/或者加锁请求的状态被传输的中间代理服务器102有关的信息。在一个或多个实施例中,与通过其存储介质104上的目标文件被加锁的中间代理服务器102有关的信息可以是中间代理服务器102的IP地址和/或全称域名(FQDN)。状态监视文件可以包括与中间代理服务器102有关的其他传输与加锁相关信息。客户设备状态监视中的信息可以包括但不限于中间代理服务器102的信息。在一个或多个实施例中,当客户设备108重新启动402时(例如,从死机恢复、客户设备故障、客户设备重新启动等),操作406A启动。在操作406A,客户状态通知消息(例如,SM_NOTIFY)在客户设备108中被产生并被传输到客户设备108耦合到的中间代理服务器102。在一个或多个实施例中,在操作406A,客户状态通知消息被传输到客户通过其对多个存储介质上的文件加锁的所有中间代理服务器。在一个或多个实施例中,SM_NOTIFY消息可以是RPC协议,其通知客户设备108从死机中恢复并且现在处于有效状态。中间代理服务器102在接收SM_NOTIFY消息后启动操作404。在操作404,中间代理服务器102启动转发操作,该转发操作通过中间代理服务器102将SM_NOTIFY消息转发给客户在其上保有锁的所有存储介质。在图4的示例性实施例中,在操作406B和406C中,SM_NOTIFY消息可以被转发到客户设备108在其上维护有锁的存储介质1041和1042。可以从中间代理服务器102的中间代理服务器状态监视文件获得与客户设备108、向其传输锁请求的存储介质1041-N、和在其上施加锁的存储介质1041-N有关的信息。
在一个或多个实施例中,在接收客户设备状态通知消息后,存储介质可以发起操作408。在一个或多个实施例中,在操作408,接收客户设备状态通知消息的存储介质可以去除发出该客户设备状态通知消息的客户设备所保有的所有锁。在一个或多个实施例中,存储介质可以解锁发出客户状态通知消息的客户设备在其上保有锁的目标文件。在一个或多个实施例中,存储介质进一步可以从存储介质状态监视文件中去除相应的客户设备108和中间代理服务器对。在一个或多个实施例中,存储介质可以停止监视客户设备和存储介质对的锁状态。
图5是根据一个或多个实施例在存储介质重新启动时的死机恢复处理操作的远程程序调用示图。
类似于客户设备108的客户设备状态监视文件,存储介质1041-N也被配置成维护存储介质状态监视文件。存储介质中的存储介质状态监视文件可以用于处理在存储介质1041重新启动时的死机恢复操作。在一个或多个实施例中,存储介质状态监视文件可以包括与客户设备108和客户设备108通过其对存储介质104上的目标文件加锁的中间代理服务器102有关的信息。在一个或多个实施例中,存储介质状态监视文件可以用于监视客户设备108通过其向存储介质1041上的目标文件施加锁的中间代理服务器102和客户设备108对的锁状态。
在一个示例性实施例中,当存储介质1041重新启动的时候(例如,从死机恢复、存储介质故障、存储介质重新启动等),启动操作506A。在操作506A,存储介质状态通知消息(例如SM_NOTIFY)在存储介质1041中被产生并被传输到客户设备108通过其对存储介质1041上的文件加锁的中间代理服务器102。在一个或多个实施例中,存储介质1041使用存储介质状态监视文件来标识所有中间代理服务器和通过中间代理服务器已经或请求对存储介质中的文件施加锁的客户设备。
在一个或多个实施例中,SM_NOTIFY消息可以是RPC协议,其通知中间代理服务器102存储介质1041已从死机中恢复并且现在处于有效状态。中间代理服务器102在接收SM_NOTIFY消息后可以启动操作504。在操作504,中间代理服务器102使用中间代理服务器102的中间代理服务器状态监视文件来确定会受存储介质1041重新启动影响的客户设备。在一个或多个实施例中,受影响的客户设备是通过中间代理服务器102保有重新启动的存储介质上的目标文件上的锁的客户设备。用于受影响客户设备108的受影响客户节点可以是通过中间代理服务器102向受影响的客户设备108授予锁的存储介质。在图5示出的示例性实施例中,受影响客户可以是客户设备108并且受影响客户108的受影响存储介质可以是存储介质1042
此外,在操作504,由于中间代理服务器102可以用作形成网络附接存储数据共享群集的存储介质1041-N的代理,通过模仿重新启动事件,中间代理服务器102可以产生状态监视消息SM_NOTIFY,以向受影响客户的受影响存储介质1042通知中间代理服务器102刚刚从死机中恢复并且处于有效状态。此外,在操作504,中间代理服务器102产生另一SM_NOTIFY以通知客户设备108存储介质1041已从死机中恢复并且锁可以被客户设备108从相应的存储介质收回。在操作506B,为受影响客户的受影响存储介质1042产生的SM_NOTIFY消息可以被传输到受影响客户的受影响存储介质1042
此外,在操作506C,为受影响客户设备108产生的SM_NOTIFY消息可以被转发给受影响客户设备108,其中受影响客户设备108通过中间代理服务器102维护存储介质1041中的目标文件上的锁,客户设备108通过中间代理服务器102被授予存储介质中的目标文件上的锁。客户设备108在接收SM_NOTIFY消息之后,通过产生NLM_LOCK收回请求,发起收回锁操作。在一个或多个实施例中,由于网络附接存储数据共享群集对客户设备108不可见,所以在从中间代理服务器102接收SM_NOTIFY消息后,客户设备108可以通过中间代理服务器102转发锁收回消息,用于收回所有存储介质上的锁。锁收回消息可以是NLM_LOCK消息,其中收回标记被设置为真。在操作506D,NLM_LOCK收回消息可以被传输到存储介质1041。在一个或多个实施例中,中间代理服务器102在接收NLM_LOCK收回消息后,将NLM_LOCK收回消息转发给已重启以及/或者保持客户设备108对其保有锁的目标文件的存储介质1041。中间代理服务器102可以向其转发收回消息的存储介质1041由中间代理服务器102来确定。中间代理服务器102通过文件处理可以确定收回消息将要被转发到的存储介质1041。收回消息还可以被转发到受影响客户设备108的受影响存储介质1042,如图5所示。在操作506E,存储介质1041在接收NLM_LOCK收回消息后,确认并授予锁。在一个或多个实施例中,在操作506F,存储介质1041可以产生LCK_GRANTED消息并且通过中间代理服务器102将LCK_GRANTED消息传输到客户设备108。在操作506G,中间代理服务器可以将LCK_GRANTED消息传输到客户设备108。
在一个或多个实施例中,即使受影响客户108的受影响存储介质1042未重新启动,当客户设备108向受影响客户108的受影响存储介质1042发送锁收回消息时,转发到受影响客户108的受影响存储介质1042的SM_NOTIFY消息也可以防止任何锁状态的冲突。
图6是根据一个或多个实施例在中间代理服务器重新启动时的死机恢复处理操作的远程程序调用示图。如前所述,中间代理服务器102被配置成维护中间代理服务器状态监视文件以处理在中间代理服务器102重新启动时的死机恢复操作。在一个或多个实施例中,中间代理服务器状态监视文件可以包括通过中间代理服务器102维护存储介质1041-N中的目标文件上的锁的客户设备108和存储介质1041-N对的列表。
在一个示例性实施例中,当中间代理服务器重新启动602时(例如,从死机恢复、存储介质故障等),操作606A被启动。在操作606A,中间代理服务器102获得与客户设备和存储介质有关的信息,其中客户设备通过中间代理服务器102对存储介质上的目标文件加锁,并且存储介质通过中间代理服务器102向客户设备授予锁。此外,在操作606A,中间代理服务器102可以产生SM_NOTIFY消息,以通知存储介质1041-N中间代理服务器102代表客户设备108。产生的SM_NOTIFY消息可以由重新启动的中间代理服务器102传输到通过重新启动的中间代理服务器102向客户设备授予锁的所有存储介质。在图6示出的示例性实施例中,重新启动的中间代理服务器可以表示为中间代理服务器102。类似地,中间代理服务器102可以产生SM_NOTIFY消息以传输到通过中间代理服务器102对不同存储介质上的文件加锁的所有客户设备,以通知中间代理服务器102在重新启动之后处于有效状态。重新启动的中间代理服务器102可以不传输SM_NOTIFY消息到未通过重新启动的中间代理服务器102发起任何通信的客户设备和存储介质。
到客户设备108的SM_NOTIFY消息将使得客户设备108收回存储介质中的锁。在一个或多个实施例中,在接收SM_NOTIFY消息后,客户设备108产生NLM_LOCK消息以收回存储介质1041中的文件上的锁。在操作606C,NLM_LOCK收回消息可以被传输到存储介质1041。然而,NLM_LOCK收回消息通过中间代理服务器102到达存储介质1041。在一个或多个实施例中,中间代理服务器102在接收NLM_LOCK收回消息后,在操作606D将NLM_LOCK收回消息转发给存储介质1041。存储介质1041在从中间代理服务器102接收客户设备108的NLM_LOCK收回消息后,可以将收回消息作为新锁请求进行处理。在一个或多个实施例中,无论何时存储介质接收到SM_NOTIFY,其可以释放文件上的锁并且将NLM_LOCK收回消息视为新锁请求。存储介质可以授予文件上的锁。在一个或多个实施例中,在操作606E,存储介质1041可以产生LCK_GRANTED消息并且将LCK_GRANTED消息通过中间代理服务器102传输到客户设备108。在操作506F,中间代理服务器可以将LCK_GRANTED消息传输到客户设备108。
这里描述的实施例可以用来处理存储介质和客户设备一起重新启动、存储介质和中间代理服务器两者、以及中间代理服务器和客户设备两者同时启动的情形下的死机。
图7是根据一个或多个实施例在网络文件系统联合命名空间环境中将文件集从源存储介质重新安置到目的地存储介质的系统示图。在一个或多个实施例中,客户设备108可以包括能够通过中间代理服务器102访问和/或对一个或多个存储介质1041-N中的一个或多个文件施加锁的一个或多个应用。在一个或多个实施例中,客户设备108可以是数据处理系统。在一个或多个实施例中,数据存储网络中的客户设备108可以是被配置成执行对一个或多个存储介质1041-N中的一个或多个文件的操作的NFS客户设备。在一个或多个实施例中,客户设备108可以访问或对基于NLM协议的数据共享群集112的一个或多个存储介质1041-N中的一个或多个文件施加锁。在一个或多个实施例中,数据共享群集112可以是被配置为NAS的两个或更多个存储介质的集合,如图8所示和所说明的那样。
在一个或多个实施例中,可能需要将文件集从一个存储介质重新安置到另一存储介质(例如,由于升级、优化等)。在这种重新安置的情形中,可以产生消息队列以保持并保存指向源存储介质104S的进入的NLM消息。进入的NLM消息可以在消息队列中被管理并排队。此外,暂定对存储介质的文件的NLM操作。此外,文件上的锁状态可以存储在转储文件中。此外,文件上的锁可以被去除。一旦锁被去除,文件集7021可以被重新安置到目的地存储介质104D。在一个或多个实施例中,转储文件也可以被重新安置到目的地存储介质104D。此外,锁被重新施加到相应的文件上。锁迁移操作900在图9中被详细描述。
图8是根据一个或多个实施例耦合网络上形成数据共享群集的存储介质群的存储介质和/或中间代理服务器的网状网络的网络示图。在一个或多个实施例中,形成网络附接存储数据共享群集的存储介质群中的每个存储介质可以通过网状网络可通信地彼此耦合,以在存储介质之间传送消息。在一个或多个实施例中,网状网络可以包括存储介质1041-N和/或中间代理服务器102。在一个或多个实施例中,可以存在不只一个中间代理服务器。在一个或多个实施例中,中间代理服务器可以通过网状网络彼此耦合和/或耦合到存储介质1041-N。在一个或多个实施例中,存储介质1041-N可以是形成网络附接存储数据共享群集的存储介质群。在一个或多个实施例中,锁协议消息可以通过专用网络信道在专用端口号上从中间代理服务器转发到存储介质。存储介质可以监听专用端口号上的消息。在示例性实施例中,在存储介质处的专用端口上接收的任何消息可以区分为从中间代理服务器或形成网络附接存储数据共享群集的存储介质群的另一存储介质转发的消息。在一个或多个实施例中,端口号可以与专用网络信道相关联。
图9是根据一个或多个实施例在网络文件系统联合命名空间环境中的锁迁移操作的远程程序调用示图。
在一个或多个实施例中,为执行文件集7021重新安置和锁迁移操作,同时维护与目标文件相关联的现有锁状态,来自客户设备108的对源存储介质104S的目标文件的NLM请求可以在操作902中在源存储介质104S中暂停预定时间段。当源存储介质104S上的NLM操作暂定预定时间段的时候,操作106A和106B中所有新进入的NLM消息可以在消息队列914中排队。在一个或多个实施例中,队列可以由源存储介质104S维护。在一个或多个实施例中,在操作904,与一个或多个目标文件相关联的一个或多个锁状态可以通过串行方式从源存储介质104S传送到转储文件916。在一个或多个实施例中,串行方式可以是在存储介质中串行选择锁定文件以确定并在转储文件中串行存储文件上的锁状态的方式。
此外,操作902继续,在与一个或多个目标文件相关联的一个或多个锁状态被从源存储介质拷贝到转储文件916之后,可以恢复来自客户设备108的与目标文件相关联的锁协议消息的处理。在一个或多个实施例中,操作904继续,当与目标文件相关联的每个锁状态被拷贝到转储文件914的时候,目标文件上的锁被顺序去除。此外,在一个或多个实施例中,操作904继续,当目标文件上的所有锁被去除的时候(例如,如果多个锁存在于目标文件之上的话),源存储介质中的目标文件的存储介质状态监视文件可以被删除。在一个或多个实施例中,在操作906,去除消息可以从源存储介质104S传输到中间代理服务器102以删除中间代理服务器102中的链路标识符。在一个或多个实施例中,链路标识符可以被嵌入来自源存储介质的锁协议消息中,以标识维护源存储介质中的目标文件上的锁的客户设备和源存储介质对。
在操作908,转储文件916可以通过网络文件传输协议被传输到目的地存储介质104D。在一个或多个实施例中,包括目标文件的文件集可以通过网络文件传输协议在网络上在数据共享群集中从源存储介质104S重新安置到目的地存储介质104D。在一个或多个实施例中,可以使用适当的协议(例如文件传输协议(FTP)或超文本传输协议(HTTP))将文件集从源存储介质708传输到目的地存储介质104D
在一个或多个实施例中,在操作910中,与目标文件相关联的一个或多个锁状态可以通过解串行方式从转储文件916传送到目的地存储介质104D。在一个或多个实施例中,作为串行方式的补充,解串行方式可以是使用转储文件916来提取、建立并应用每个文件上的锁状态的方式。在一个或多个实施例中,操作910继续,基于从转储文件拷贝到目的地存储介质104D的锁状态,可以对目的地存储介质104D上重新安置的目标文件加锁。在一个或多个实施例中,操作910继续,可以在目的地存储介质104D中创建与重新安置的目标文件上的每个锁相关联的新状态监视文件。在一个或多个实施例中,重新安置的目标文件上的每个锁可以基于从转储文件916拷贝到目的地存储介质104D的锁状态。在一个或多个实施例中,创建消息可以从目的地存储介质104D被传输到中间代理服务器102以在中间代理服务器102中存储链路文件。来自目的地存储介质的链路文件可以将目的地存储介质映射到维护目的地存储介质104D中的目标文件上的锁的客户设备。
此外,在一个或多个实施例中,与重新安置的目标文件相关联的客户设备108的锁协议消息可以通过来自源存储介质104S的参考消息经由中间代理服务器102从源存储介质104S被传送到目的地存储介质104D。如果来自客户设备108的锁协议消息请求访问被重新安置到目的地存储介质104D的目标文件,那么源存储介质104S可以发出参考消息到中间代理服务器102.
图10是根据一个或多个实施例在网络文件系统联合命名空间环境中的锁迁移操作的参考程序的网络示图。在一个或多个实施例中,在网络文件系统联合命名空间中的锁迁移操作中,文件集7021可以从源存储介质104S被重新安置到目的地存储介质104D,如操作708所示。在示例性实施例中,如果客户设备108和/或中间代理服务器102不知道文件集7021被重新安置到目的地存储介质104D,那么中间代理服务器102会继续将与文件集7021中的文件有关的NLM锁协议消息转发到源存储介质104S,如图10中的操作702所示。
在一个或多个实施例中,源存储介质104S在接收与已被重新安置到目的地存储介质104D的文件集7021中的文件相关联的NLM锁协议消息之后,可以产生参考消息1002。源存储介质104S可以将参考消息转发到中间代理服务器102,其中源存储介质104S从中间代理服务器102接收访问重新安置的文件集7021的请求。在一个或多个实施例中,如果来自客户设备的锁协议消息请求源存储介质104S以访问被重新安置到目的地存储介质的目标文件,那么可以由源存储介质向中间代理服务器发出参考消息1002。在一个或多个实施例中,参考消息1002可以包括指示将文件集7021从源存储介质重新安置或迁移到目的地存储介质104D的信息。在一个或多个实施例中,中间代理服务器102可以基于参考消息1002更新中间代理服务器102上指示重新安置的文件集7021的当前位置的信息。在一个或多个实施例中,在接收参考消息1002之后,中间代理服务器102可以发起操作1004。在一个或多个实施例中,在操作1004,中间代理服务器102可以基于参考消息1002将与文件集7021中的文件有关的所有锁协议消息转发到目的地存储介质104D
尽管已经描述了本发明的一个或多个实施例,但是本领域普通技术人员在阅读了说明书和附图之后将意识到其多种修改、添加、置换和等同形式。因此本发明的实施例意在包括所有这些落在权利要求所定义的真实发明范围和精神内的修改、添加、置换和等同形式。因此,本发明的范围应当由权利要求定义,包括其全部等同形式。

Claims (27)

1.一种方法,包括:
通过中间代理服务器在网络上访问存储介质中的目标文件,其中所述存储介质是所述网络上形成数据共享群集的存储介质群中的任何一个存储介质;以及
经由所述中间代理服务器通过锁协议对所述存储介质中的所述目标文件加锁,以在任意给定时间向至多一个用户提供修改目标文件的权利。
2.如权利要求1所述的方法,进一步包括:
通过所迁移操作,在维护与所述目标文件相关联的现有锁状态的同时,在所述存储介质群中的源存储介质和目的地存储介质之间重新安置所述目标文件;以及
应用死机恢复处理操作以改善所述加锁操作的稳健性。
3.如权利要求1所述的方法,进一步包括:
经由所述中间代理服务器请求所述存储介质对所述存储介质中的所述目标文件加锁;
维护拥有所述目标文件的所述存储介质中的所述目标文件上的锁的记录;以及
通过所述中间代理服务器向客户设备授予所述存储介质中的所述目标文件上的锁。
4.如权利要求1所述的方法,进一步包括:
标识客户设备与所述中间代理服务器对,其中所述客户设备通过锁标识符经由所述中间代理服务器对所述存储介质上的所述目标文件加锁;
将所述锁标识符和转发上下文附加到从所述中间代理服务器传输到所述存储介质的锁协议消息中,其中所述锁协议消息来自所述客户设备,其中所述中间代理服务器将所述锁协议消息从所述客户设备转发到所述存储介质;
选择所述中间代理服务器,其中所述存储介质基于所述锁标识符通过所述中间代理服务器将所述锁协议消息传输到所述客户设备;以及
在所述中间代理服务器中保存所述转发上下文,所述中间代理服务器通过所述转发上下文标识来自所述存储介质的所述锁协议消息所寻址的客户设备,其中所述转发上下文包括客户设备地址和客户设备端口号中的至少一个。
5.如权利要求1所述的方法,进一步包括:
经由所述中间代理服务器在客户设备和所述存储介质之间传送锁协议消息;
通过网状网络将形成所述数据共享群集的所述存储介质群中的每个存储介质彼此耦合,以在所有存储介质之间传送消息;以及
通过多个中间代理服务器对所述存储介质上的所述目标文件加锁。
6.如权利要求1所述的方法,进一步包括:
通过在专用网络信道上从所述中间代理服务器向所述存储介质传输锁协议消息,在所述存储介质处区分经由所述中间代理服务器转发的所述锁协议消息。
7.如权利要求6所述的方法:
其中所述存储介质监听在具体设备端口号上通过所述中间代理服务器转发的消息,并且
其中所述具体设备端口号与所述专用网络信道相关联。
8.如权利要求2所述的方法,其中所述死机恢复处理操作包括:
在所述存储介质中维护存储介质状态监视文件,以在所述存储介质重启时处理死机恢复操作,其中所述存储介质状态监视文件包括所述客户设备经由其对所述存储介质上的所述目标文件加锁的所述中间代理服务器与客户设备对的列表;以及
在所述中间代理服务器中存储中间代理服务器状态监视文件,以在所述中间代理服务器重启时处理所述死机恢复操作,其中所述中间代理服务器状态监视文件包括经由所述中间代理服务器维护所述存储介质中的所述目标文件上的锁的客户设备与所述存储介质对的列表。
9.如权利要求2所述的方法,其中所述死机恢复处理操作包括:
当客户设备重启时,经由所述中间代理服务器将客户状态通知消息传输到所述客户设备对其维护所述存储介质中的所述目标文件上的锁的所有存储介质;其中所述客户设备通过所述中间代理服务器获得所述目标文件上的锁;以及
当所述中间代理服务器重启时,向通过所述中间代理服务器对所述存储介质上的所述目标文件加锁的所有客户设备广播中间代理服务器状态通知消息,并且向通过所述中间代理服务器授予所述目标文件上的锁的所有存储介质广播中间代理服务器状态通知消息。
10.如权利要求2所述的方法,其中当所述存储介质重启时,所述死机恢复处理操作包括:
经由相应的中间代理服务器,将存储介质状态通知消息转发到维护所述存储介质中的所述目标文件上的锁的每个客户设备,其中所述客户设备通过所述中间代理服务器而被授予所述存储介质上的所述目标文件上的锁;
标识出维护所述存储介质中的所述目标文件上的锁的客户设备的列表以及维护受影响存储介质中的所述目标文件上的锁的每个所述客户设备的受影响存储介质的列表;
经由所述中间代理服务器,向维护所述受影响存储介质中的所述目标文件上的锁的每个所述客户设备的所有受影响存储介质传输客户状态通知消息;以及
模仿所述中间代理服务器的重启,以将状态通知消息传输到维护所述存储介质中的所述目标文件上的锁的客户设备列表以及维护所述受影响存储介质中的所述目标文件上的锁的每个客户设备的受影响存储介质列表。
11.如权利要求2所述的方法,其中所述锁迁移操作包括:
通过将锁协议消息传送到在所述源存储介质处维护的消息队列,解析来自客户设备的与所述目标文件相关联的所述锁协议消息的处理;
在所述锁协议消息的处理被解析的同时,通过串行方式将与所述目标文件相关联的多个锁状态从所述源存储介质传送到转储文件;以及
在与所述目标文件相关联的所述多个锁状态从所述源存储介质被拷贝到所述转储文件之后,恢复来自所述客户设备的与所述目标文件相关联的所述锁协议消息的处理。
12.如权利要求11所述的方法,其中所述锁迁移操作进一步包括:
当与所述目标文件相关联的每个锁状态被拷贝到所述转储文件的时候,顺序去除所述目标文件上的锁;
如果多个锁存在于所述目标文件上,当所述目标文件上的所有锁被去除的时候,删除所述源存储介质中所述目标文件的存储介质状态监视文件;
将去除消息从所述源存储介质传输到所述中间代理服务器以删除所述中间代理服务器中的链路标识符,其中所述链路标识符被嵌入来自所述源存储介质的所述锁协议消息中,以标识维护所述源存储介质中的所述目标文件上的锁的所述客户设备与所述源存储介质对;
通过网络文件传输协议将所述转储文件传送到所述目的地存储介质;以及
通过网络文件传输协议在网络上将所述目标文件从所述源存储介质重新安置到形成所述数据共享群集的所述存储介质群中的所述目的地存储介质。
13.如权利要求11所述的方法:
其中所述锁迁移操作进一步包括:
经由所述中间代理服务器,通过来自所述存储介质的参考消息将与重新安置的目标文件相关联的所述客户设备的所述锁协议消息从所述源存储介质转发到所述目的地存储介质,并且
其中如果来自客户设备的所述锁协议消息请求访问被重新安置到所述目的地存储介质的所述目标文件,则所述参考消息由所述源存储介质发出去往所述中间代理服务器。
14.如权利要求12所述的方法,其中在将所述目标文件重新安置到所述目的地存储介质之后,所述锁迁移操作进一步包括:
通过解串行方式将与所述目标文件相关联的多个锁状态从所述转储文件传送到所述目的地存储介质;
基于从所述转储文件拷贝到所述目的地存储介质的所述锁状态,对所述目的地存储介质上重新安置的目标文件加锁;
创建与所述目的地存储介质中重新安置的目标文件上的每个锁相关联的新状态监视文件,其中重新安置的目标文件上的每个锁是基于从所述转储文件拷贝到所述目的地存储介质的所述锁状态的;以及
将创建消息从所述目的地存储介质传输到所述中间代理服务器以在所述中间代理服务器中存储链路文件,其中来自所述目的地存储介质的所述链路文件将所述目的地存储介质映射到维护所述目的地存储介质中的所述目标文件上的锁的所述客户设备。
15.如权利要求1所述的方法:
其中所述中间代理服务器耦合在网络上的所述存储介质群和客户设备之间;
其中所述客户设备、所述中间代理服务器和所述存储介质经由所述网络可通信地耦合。
16.如权利要求1所述的方法:
其中各所述锁协议是NLM锁协议;并且
其中所述数据共享群集是网络附接存储数据共享群集。
17.如权利要求4所述的方法,其中各所述锁协议消息包括:
当所述锁协议消息来自所述客户设备时的锁请求消息,以对所述存储介质中的所述目标文件加锁;以及
当所述锁协议消息来自所述存储介质和所述中间代理服务器中的至少一个时的锁授予消息,以授予所述客户设备所述存储介质中的所述目标文件上的锁。
18.如权利要求8所述的方法:
其中所述存储介质状态监视文件监视客户设备通过其对所述存储介质上的所述目标文件加锁的所述中间代理服务器与所述客户设备对的锁状态,并且
其中所述中间代理服务器状态监视文件监视经由所述中间代理服务器维护所述存储介质中的所述目标文件上的锁的所述客户设备与所述存储介质对的锁状态。
19.一种中间代理服务器的方法,包括:
从客户设备向存储介质以及从所述存储介质向所述客户设备,转发锁协议消息和状态通知消息中的至少一个;
在所述中间代理服务器中存储转发上下文;以及
维护中间代理服务器状态监视文件,以通过死机恢复处理操作改善目标文件加锁操作的稳健性。
20.如权利要求19所述的中间代理服务器的方法,进一步包括:
创建包括客户设备地址和客户设备端口号中的至少一个的所述转发上下文,以标识来自所述存储介质的所述锁协议消息所寻址的所述客户设备;以及
当从所述客户设备向所述存储介质转发所述锁协议消息的时候,将锁标识符和所述转发上下文附加到所述锁协议消息;其中所述锁标识符标识所述锁协议消息通过其从所述客户设备被转发到所述存储介质的所述中间代理服务器与所述客户设备对。
21.如权利要求19所述的中间代理服务器的方法,进一步包括:
将来自所述客户设备的异步锁协议消息改变为同步锁协议消息;以及
将来自所述客户设备的所述异步锁协议消息作为所述同步锁协议消息转发到所述存储介质。
22.如权利要求20所述的中间代理服务器的方法,其中:
链路标识符被嵌入到来自源存储介质的所述锁协议消息中,
所述链路标识符将所述存储介质映射到维护所述源存储介质中的所述目标文件上的锁的所述客户设备。
23.如权利要求19所述的中间代理服务器的方法,
其中所述死机恢复处理操作包括:
当所述客户设备重启时,经由所述中间代理服务器将客户状态通知消息传输到所述客户设备对其维护存储介质中的目标文件上的锁的所有存储介质,其中所述客户设备通过所述中间代理服务器接收对所述目标文件加锁的准许;
当所述中间代理服务器重启时,向通过所述中间代理服务器对所述存储介质上的所述目标文件加锁的所有客户设备广播代理服务器状态通知消息,并且向通过所述中间代理服务器授予所述目标文件上的锁的所有存储介质广播代理服务器状态通知消息;以及
当所述存储介质重启时,模仿重启,以将状态通知消息传输到维护所述存储介质中的所述目标文件上的锁的客户设备列表以及维护所述受影响存储介质中的所述目标文件上的锁的每个客户设备的受影响存储介质列表。
24.如权利要求19所述的中间代理服务器的方法:
其中所述死机恢复处理操作进一步包括:
经由相应的中间代理服务器,将存储介质状态通知消息转发到维护所述存储介质中的所述目标文件上的锁的每个客户设备,其中所述客户设备通过所述中间代理服务器而被授予所述存储介质上的所述目标文件上的锁;
标识出维护所述存储介质中的所述目标文件上的锁的客户设备的列表以及维护受影响存储介质中的所述目标文件上的锁的每个所述客户设备的受影响存储介质的列表;以及
经由所述中间代理服务器,向维护所述受影响存储介质中的所述目标文件上的锁的每个所述客户设备的所有受影响存储介质传输客户状态通知消息。
25.一种系统,包括:
客户设备,
形成数据共享群集的多个存储介质,所述多个存储介质中的存储介质包括目标文件;以及
中间代理服务器,通过传输介质在网络上耦合在所述客户设备和所述存储介质之间;
所述中间代理服务器被配置成:
从所述客户设备向所述存储介质以及从所述存储介质向所述客户设备,转发锁协议消息和状态通知消息中的至少一个,
创建包括客户设备地址和客户设备端口号中的至少一个的转发上下文,以标识来自所述存储介质的所述锁协议消息所寻址的所述客户设备,
当从所述客户设备向所述存储介质转发所述锁协议消息的时候,将锁标识符和所述转发上下文附加到所述锁协议消息;其中所述锁标识符标识所述锁协议消息通过其从所述客户设备被转发到所述存储介质的所述中间代理服务器与所述客户设备对,
在所述中间代理服务器中存储所述转发上下文,以及
维护链路标识符,以通过死机恢复处理操作改善目标文件加锁操作的稳健性。
26.如权利要求25所述的系统,进一步包括:
所述多个存储介质被配置成:
维护拥有所述目标文件的所述存储介质中被授予给所述客户设备的所述目标文件上的锁的记录;
通过所述中间代理服务器向所述客户设备授予所述存储介质中的所述目标文件上的锁;
通过锁迁移操作在维护与所述目标文件相关联的现有锁状态的同时,在存储介质群中的源存储介质和目的地存储介质之间重新安置所述目标文件;以及
将所述客户设备与所述客户设备经由其对所述存储介质上的所述目标文件加锁的所述中间代理服务器配对,其中所述客户设备与所述中间代理服务器对通过所述锁标识符来标识。
27.如权利要求25所述的系统,进一步包括:
所述客户设备被配置成:
经由所述中间代理服务器请求所述存储介质对所述存储介质中的所述目标文件加锁;
通过所述中间代理服务器在网络上访问所述存储介质中的所述目标文件,其中所述存储介质是所述网络上形成所述数据共享群集的存储介质群中的任何一个存储介质;以及
经由所述中间代理服务器,通过NLM锁对所述存储介质中的所述目标文件加锁,以使得在任意给定时间至多一个用户能够修改所述目标文件。
CN2010102553716A 2010-08-17 2010-08-17 网络文件系统联合命名空间内文件加锁的系统与方法 Pending CN102375955A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN2010102553716A CN102375955A (zh) 2010-08-17 2010-08-17 网络文件系统联合命名空间内文件加锁的系统与方法
US12/943,042 US8935560B2 (en) 2010-08-17 2010-11-10 System and method of file locking in a network file system federated namespace

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102553716A CN102375955A (zh) 2010-08-17 2010-08-17 网络文件系统联合命名空间内文件加锁的系统与方法

Publications (1)

Publication Number Publication Date
CN102375955A true CN102375955A (zh) 2012-03-14

Family

ID=45794546

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102553716A Pending CN102375955A (zh) 2010-08-17 2010-08-17 网络文件系统联合命名空间内文件加锁的系统与方法

Country Status (2)

Country Link
US (1) US8935560B2 (zh)
CN (1) CN102375955A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103716383A (zh) * 2013-12-13 2014-04-09 华为技术有限公司 一种访问共享资源的方法及装置
CN105229591A (zh) * 2013-04-12 2016-01-06 微软技术许可有限责任公司 为了存储管理而创建全局聚合命名空间
CN105790985A (zh) * 2014-12-23 2016-07-20 中兴通讯股份有限公司 数据倒换的方法、第一设备、第二设备及设备
WO2017181931A1 (zh) * 2016-04-22 2017-10-26 星环信息科技(上海)有限公司 一种处理分布式事务的方法与设备
CN107423454A (zh) * 2017-09-22 2017-12-01 郑州云海信息技术有限公司 一种分布式文件系统中文件锁的处理方法、装置及设备
CN108984345A (zh) * 2018-07-11 2018-12-11 吉林吉大通信设计院股份有限公司 一种基于虚拟共享目录的大数据备份方法
CN109150988A (zh) * 2018-07-27 2019-01-04 上海盛付通电子支付服务有限公司 一种请求处理方法及其服务器
CN111125048A (zh) * 2019-12-06 2020-05-08 浪潮电子信息产业股份有限公司 一种故障通知方法、装置、设备及计算机可读存储介质
WO2022077777A1 (zh) * 2020-10-16 2022-04-21 华为技术有限公司 一种锁重申方法、锁管理方法以及服务器

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9026510B2 (en) * 2011-03-01 2015-05-05 Vmware, Inc. Configuration-less network locking infrastructure for shared file systems
US9323771B2 (en) * 2013-04-24 2016-04-26 Dell Products, Lp Efficient rename in a lock-coupled traversal of B+tree
EP2853966A1 (de) * 2013-09-30 2015-04-01 Siemens Aktiengesellschaft Industrielles Automatisierungssystem mit wenigstens einer Steuerung und einem Speicher
US10642633B1 (en) * 2015-09-29 2020-05-05 EMC IP Holding Company LLC Intelligent backups with dynamic proxy in virtualized environment
CN107526537B (zh) 2016-06-22 2020-03-20 伊姆西Ip控股有限责任公司 用于锁定存储系统中的存储区域的方法和系统
CN106909384B (zh) * 2017-02-27 2020-09-04 郑州云海信息技术有限公司 一种基于集群文件系统的sanlock优化方法及装置
US10990566B1 (en) 2017-11-20 2021-04-27 Pure Storage, Inc. Persistent file locks in a storage system
CN112765111A (zh) 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 用于处理数据的方法、设备和计算机程序产品
US11469890B2 (en) * 2020-02-06 2022-10-11 Google Llc Derived keys for connectionless network protocols
CN113467960B (zh) * 2021-05-28 2024-02-27 济南浪潮数据技术有限公司 基于共享锁的多路径存储方法、系统、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336171B1 (en) * 1998-12-23 2002-01-01 Ncr Corporation Resource protection in a cluster environment
US20040199515A1 (en) * 2003-04-04 2004-10-07 Penny Brett A. Network-attached storage system, device, and method supporting multiple storage device types
US20080147942A1 (en) * 2004-12-20 2008-06-19 Emc Corporation Method to Perform Parallel Data Migration in a Clustered Storage Environment
US20100114889A1 (en) * 2008-10-30 2010-05-06 Netapp, Inc. Remote volume access and migration via a clustered server namespace

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6336171B1 (en) * 1998-12-23 2002-01-01 Ncr Corporation Resource protection in a cluster environment
US20040199515A1 (en) * 2003-04-04 2004-10-07 Penny Brett A. Network-attached storage system, device, and method supporting multiple storage device types
US20080147942A1 (en) * 2004-12-20 2008-06-19 Emc Corporation Method to Perform Parallel Data Migration in a Clustered Storage Environment
US20100114889A1 (en) * 2008-10-30 2010-05-06 Netapp, Inc. Remote volume access and migration via a clustered server namespace

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105229591B (zh) * 2013-04-12 2018-01-02 微软技术许可有限责任公司 为了存储管理而创建全局聚合命名空间的方法和计算机系统
CN105229591A (zh) * 2013-04-12 2016-01-06 微软技术许可有限责任公司 为了存储管理而创建全局聚合命名空间
CN103716383A (zh) * 2013-12-13 2014-04-09 华为技术有限公司 一种访问共享资源的方法及装置
CN105790985A (zh) * 2014-12-23 2016-07-20 中兴通讯股份有限公司 数据倒换的方法、第一设备、第二设备及设备
CN105790985B (zh) * 2014-12-23 2020-06-16 中兴通讯股份有限公司 数据倒换的方法、第一设备、第二设备及系统
WO2017181931A1 (zh) * 2016-04-22 2017-10-26 星环信息科技(上海)有限公司 一种处理分布式事务的方法与设备
US11023446B2 (en) 2016-04-22 2021-06-01 Transwarp Technology (Shanghai) Co., Ltd. Method and device for processing distributed transaction
CN107423454A (zh) * 2017-09-22 2017-12-01 郑州云海信息技术有限公司 一种分布式文件系统中文件锁的处理方法、装置及设备
CN108984345A (zh) * 2018-07-11 2018-12-11 吉林吉大通信设计院股份有限公司 一种基于虚拟共享目录的大数据备份方法
CN108984345B (zh) * 2018-07-11 2020-06-23 吉林吉大通信设计院股份有限公司 一种基于虚拟共享目录的大数据备份方法
CN109150988A (zh) * 2018-07-27 2019-01-04 上海盛付通电子支付服务有限公司 一种请求处理方法及其服务器
CN111125048A (zh) * 2019-12-06 2020-05-08 浪潮电子信息产业股份有限公司 一种故障通知方法、装置、设备及计算机可读存储介质
CN111125048B (zh) * 2019-12-06 2022-04-22 浪潮电子信息产业股份有限公司 一种故障通知方法、装置、设备及计算机可读存储介质
WO2022077777A1 (zh) * 2020-10-16 2022-04-21 华为技术有限公司 一种锁重申方法、锁管理方法以及服务器

Also Published As

Publication number Publication date
US8935560B2 (en) 2015-01-13
US20120072763A1 (en) 2012-03-22

Similar Documents

Publication Publication Date Title
CN102375955A (zh) 网络文件系统联合命名空间内文件加锁的系统与方法
US10534681B2 (en) Clustered filesystems for mix of trusted and untrusted nodes
CN105900062B (zh) 用于实现管理式目录服务的系统、介质及计算机实现方法
US8862644B2 (en) Data distribution system
US10296595B2 (en) Multi-level namespace management system and method thereof for hybrid cloud storage systems
KR102438595B1 (ko) Sfa-rest 인터페이스를 이용하는 파일 서비스 기법
US20170132265A1 (en) Distributed system for application processing
US7925751B1 (en) Mechanism for controlled sharing of files in a clustered application environment
US20240179212A1 (en) Hosted file sync with stateless sync nodes
US20130145105A1 (en) Data Storage Systems and Methods
JP4919851B2 (ja) ファイルレベルの仮想化を行う中間装置
US20040210656A1 (en) Failsafe operation of storage area network
US11468087B1 (en) System and method for bi-directional replication of data objects in a heterogeneous storage environment
CN103748548A (zh) 存储网关激活过程
JP2005011354A (ja) 通知ボンドを使用してキャッシュオブジェクトを管理するためのシステムおよび方法
CN103930879A (zh) 投影存储网关
US9083762B2 (en) System and method for providing hybrid on demand services to a work unit
JP2010009090A (ja) ファイルサーバのクラスタノード制御プログラム,クラスタノード制御方法及びクラスタノード制御装置
WO2022127762A1 (zh) 云平台及其提供的对象存储服务的桶管理方法
US8417679B1 (en) Fast storage writes
EP1927061A2 (en) Systems and methods for remote storage of electronic data
CN107466456A (zh) 加锁请求的处理方法及服务器
US7734733B1 (en) WAFS disconnected-mode read-write access
EP3534588A1 (en) Network policy exchanging method and system
WO2023040504A1 (zh) 数据处理系统、数据处理方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120314