CN113868605B - 授权管理方法、装置及系统 - Google Patents
授权管理方法、装置及系统 Download PDFInfo
- Publication number
- CN113868605B CN113868605B CN202111160772.8A CN202111160772A CN113868605B CN 113868605 B CN113868605 B CN 113868605B CN 202111160772 A CN202111160772 A CN 202111160772A CN 113868605 B CN113868605 B CN 113868605B
- Authority
- CN
- China
- Prior art keywords
- authorization
- file
- server
- target file
- client
- 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.)
- Active
Links
- 238000013475 authorization Methods 0.000 title claims abstract description 502
- 238000007726 management method Methods 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 claims abstract description 35
- 238000011084 recovery Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 10
- 239000000758 substrate Substances 0.000 claims 2
- 238000004064 recycling Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005856 abnormality Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/14—Details of searching files based on file metadata
- G06F16/148—File search processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种授权管理方法、装置及系统,该方法包括:若接收到第一客户端发送的针对目标文件的操作请求消息,则基于操作请求消息确定目标文件对应的文件标识;确定分布式存储集群是否存在文件标识对应的授权信息表项;若存在文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,则从授权信息表项中查询目的服务器的设备信息;若设备信息是第二服务器的设备信息,则向第二服务器发送第一授权回收通知,以使第二服务器基于第一授权回收通知从当前正在对目标文件进行操作的第二客户端回收目标文件的授权,将授权信息表项中的授权状态更新为已回收。通过本申请的技术方案,每个客户端均可以基于目标文件的授权对目标文件进行操作。
Description
技术领域
本申请涉及通信技术领域,尤其是涉及一种授权管理方法、装置及系统。
背景技术
在分布式存储集群中,可以包括服务器和分布式文件系统,分布式文件系统用于存储文件(如大量文件),客户端可以对分布式文件系统中存储的文件进行读写操作。为了保证在同一时刻,只能有一个客户端对分布式文件系统中存储的文件进行读写操作,引入了授权机制(即Delegation机制)。
比如说,在客户端1对分布式文件系统中存储的文件1进行读写操作时,可以为客户端1分配文件1的授权,客户端1可以基于该授权对文件1进行读写操作。但是,在客户端1的读写操作过程中,若客户端2需要对分布式文件系统中存储的文件1进行读写操作,由于文件1的授权已分配给客户端1,无法分配给客户端2,导致客户端2无法对文件1进行读写操作。
发明内容
本申请提供一种授权管理方法,分布式存储集群包括多个服务器和分布式文件系统,所述分布式文件系统存储有目标文件,所述方法应用于第一服务器,所述第一服务器是所述分布式存储集群的任一服务器,所述方法包括:
若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于所述操作请求消息确定所述目标文件对应的文件标识;
确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项;
若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已分配,则从所述授权信息表项中查询目的服务器的设备信息;
若所述设备信息是第二服务器的设备信息,则基于所述设备信息向所述第二服务器发送第一授权回收通知,以使所述第二服务器基于所述第一授权回收通知从当前正在对所述目标文件进行操作的第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
本申请提供一种授权管理装置,分布式存储集群包括多个服务器和分布式文件系统,所述分布式文件系统存储有目标文件,所述装置应用于第一服务器,所述第一服务器是所述分布式存储集群的任一服务器,所述装置包括:
确定模块,用于若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于所述操作请求消息确定所述目标文件对应的文件标识;以及,确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项;
处理模块,用于若存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,则从授权信息表项中查询目的服务器的设备信息;
发送模块,用于若所述设备信息是第二服务器的设备信息,则基于所述设备信息向所述第二服务器发送第一授权回收通知,以使所述第二服务器基于所述第一授权回收通知从当前正在对所述目标文件进行操作的第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
本申请提供一种分布式存储集群,所述分布式存储集群包括第一服务器、第二服务器和分布式文件系统,所述分布式文件系统存储有目标文件;
所述第二服务器,用于若接收到第二客户端发送的针对所述目标文件的操作请求消息,则基于该操作请求消息确定所述目标文件对应的文件标识;若不存在所述文件标识对应的授权信息表项,则将所述目标文件的授权发送给所述第二客户端,以使所述第二客户端基于所述目标文件的授权对所述目标文件进行操作;以及,在所述分布式文件系统创建所述文件标识对应的授权信息表项,并将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为所述第二服务器的设备信息;
所述第一服务器,用于若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于该操作请求消息确定所述目标文件对应的文件标识;若已存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,则从授权信息表项中查询目的服务器的设备信息;若所述设备信息是第二服务器的设备信息,则基于所述设备信息向第二服务器发送第一授权回收通知;
所述第二服务器,还用于在接收到第一授权回收通知后,从第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
基于上述技术方案,本申请实施例中,可以在分布式文件系统中维护授权信息表项,该授权信息表项包括授权状态和目的服务器的设备信息,第二服务器将目标文件的授权分配给第二客户端时,可以将授权状态更新为已分配,并将目的服务器的设备信息更新为第二服务器的设备信息。在此基础上,第一服务器接收到第一客户端发送的针对目标文件的操作请求消息后,就可以基于授权信息表项向第二服务器发送授权回收通知,以使第二服务器从第二客户端回收目标文件的授权。这样,第一服务器可以将目标文件的授权分配给第一客户端,使得第一客户端基于目标文件的授权对目标文件进行操作。在上述方式中,每个客户端均可以基于目标文件的授权对目标文件进行操作,在多客户端访问分布式文件系统中目标文件的场景下,可以保证每个客户端均能够对目标文件进行操作,在不影响业务组网部署的前提下,通过增加服务器之间的通信流程,使得服务器之间能够发送授权回收通知,从而对目标文件的授权进行回收。
附图说明
图1是本申请一种实施方式中的授权管理方法的流程图;
图2是本申请一种实施方式中的分布式存储集群的结构示意图;
图3是本申请一种实施方式中的授权管理方法的流程图;
图4是本申请一种实施方式中的分布式存储集群的结构示意图;
图5是本申请一种实施方式中的授权管理方法的流程图;
图6是本申请一种实施方式中的授权管理装置的结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例中提出一种授权管理方法,该方法可以应用于分布式存储集群,该分布式存储集群可以包括多个服务器和分布式文件系统,该分布式文件系统存储有目标文件(将分布式文件系统存储的每个文件称为目标文件,由于每个目标文件的操作过程相同,后续以一个目标文件为例)。该授权管理方法可以应用于第一服务器,第一服务器是分布式存储集群的任一服务器。
参见图1所示,为该授权管理方法的流程示意图,该方法可以包括:
步骤101、若接收到第一客户端发送的针对目标文件的操作请求消息,则基于该操作请求消息确定该目标文件对应的文件标识。
示例性的,目标文件对应的文件标识可以是该目标文件对应的文件句柄(filehandle),在此基础上,针对步骤101,第一服务器可以从该操作请求消息中获取目标文件的文件名称。然后,基于已配置的文件名称与文件句柄的对应关系,第一服务器可以确定该目标文件的文件名称对应的文件句柄。
示例性的,目标文件对应的文件标识可以是该目标文件对应的信息节点标识(inode号,即information node),在此基础上,针对步骤101,第一服务器可以从该操作请求消息中获取目标文件的文件名称。然后,基于已配置的文件名称与信息节点标识的对应关系,第一服务器可以确定该目标文件的文件名称对应的信息节点标识,这个信息节点标识也就是目标文件对应的文件标识。
步骤102、确定分布式文件系统是否存在该文件标识对应的授权信息表项。
示例性的,分布式文件系统可以创建授权信息表,该授权信息表的每个表项称为授权信息表项,该授权信息表项可以包括文件标识、目的服务器的设备信息和授权状态之间的对应关系,在此基础上,针对步骤102,可以查询分布式文件系统的授权信息表中是否存在该文件标识对应的授权信息表项。
步骤103、若存在该文件标识对应的授权信息表项,且该授权信息表项中的授权状态是已分配,则从该授权信息表项中查询目的服务器的设备信息。
步骤104、若该设备信息是第二服务器的设备信息(如地址信息等),则基于该设备信息向第二服务器发送第一授权回收通知,以使第二服务器基于该第一授权回收通知从当前正在对目标文件进行操作的第二客户端回收该目标文件的授权,并将该授权信息表项中的授权状态更新为已回收。
示例性的,由于授权信息表项包括文件标识、目的服务器的设备信息和授权状态之间的对应关系,因此,基于该文件标识对应的授权信息表项,可以从该授权信息表项中获取到授权状态和目的服务器的设备信息,若授权状态是已分配,则可以基于该设备信息向第二服务器发送第一授权回收通知。
在一种可能的实施方式中,确定分布式文件系统是否存在该文件标识对应的授权信息表项之后,若存在该文件标识对应的授权信息表项,且该授权信息表项中的授权状态是已回收,则第一服务器可以将目标文件的授权发送给第一客户端,以使第一客户端基于该目标文件的授权对该目标文件进行操作。以及,第一服务器还可以将该授权信息表项中的授权状态更新为已分配,并将该授权信息表项中的目的服务器的设备信息更新为本第一服务器的设备信息。
比如说,确定分布式文件系统是否存在该文件标识对应的授权信息表项之后,若存在该文件标识对应的授权信息表项,且该授权信息表项中的授权状态是已分配,则第一服务器还可以向第一客户端发送延迟消息,该延迟消息用于使第一客户端在延迟预设时长之后,重新发送针对目标文件的操作请求消息。
在此基础上,第一服务器在接收到第一客户端重新发送的操作请求消息之后,基于该操作请求消息确定目标文件对应的文件标识。若存在该文件标识对应的授权信息表项,且该授权信息表项中的授权状态是已回收(参见步骤104,由第二服务器将该授权信息表项中的授权状态更新为已回收),则第一服务器可以将目标文件的授权发送给第一客户端,显然,在第一客户端重新发送操作请求消息之后,第一服务器就可以将目标文件的授权发送给第一客户端。
在一种可能的实施方式中,确定分布式文件系统是否存在该文件标识对应的授权信息表项之后,若不存在该文件标识对应的授权信息表项,则可以将该目标文件的授权发送给第一客户端,以使第一客户端基于目标文件的授权对目标文件进行操作。以及,第一服务器可以在分布式文件系统创建该文件标识对应的授权信息表项,并将该授权信息表项中的授权状态更新为已分配,并将授权信息表项中的目的服务器的设备信息更新为本第一服务器的设备信息。
在一种可能的实施方式中,第一服务器将目标文件的授权发送给第一客户端之后,即由第一服务器将该授权信息表项中的授权状态更新为已分配,且已经将授权信息表项中的目的服务器的设备信息更新为本第一服务器的设备信息,若第一服务器接收到第三服务器发送的第二授权回收通知,则确定当前正在对目标文件进行操作的第一客户端,并向第一客户端发送授权回收请求,该授权回收请求用于回收目标文件的授权。若接收到第一客户端返回的授权回收应答(用于表示第一客户端已经释放目标文件的授权),则第一服务器确定目标文件的授权已成功回收,并将授权信息表项中的授权状态更新为已回收。然后,第一服务器向第三服务器发送目标文件的授权已成功回收的信息。
在一种可能的实施方式中,针对步骤104,第一服务器基于该设备信息向第二服务器发送第一授权回收通知,可以包括但不限于:第一服务器可以基于该设备信息与第二服务器建立RPC(Remote Procedure Call,远程过程调用)通道,并基于该RPC通道将第一授权回收通知发送给第二服务器。
基于上述技术方案,本申请实施例中,可以在分布式文件系统中维护授权信息表项,该授权信息表项包括授权状态和目的服务器的设备信息,第二服务器将目标文件的授权分配给第二客户端时,可以将授权状态更新为已分配,并将目的服务器的设备信息更新为第二服务器的设备信息。在此基础上,第一服务器接收到第一客户端发送的针对目标文件的操作请求消息后,就可以基于授权信息表项向第二服务器发送授权回收通知,以使第二服务器从第二客户端回收目标文件的授权。这样,第一服务器可以将目标文件的授权分配给第一客户端,使得第一客户端基于目标文件的授权对目标文件进行操作。在上述方式中,每个客户端均可以基于目标文件的授权对目标文件进行操作,在多客户端访问分布式文件系统中目标文件的场景下,可以保证每个客户端均能够对目标文件进行操作,在不影响业务组网部署的前提下,通过增加服务器之间的通信流程,使得服务器之间能够发送授权回收通知,从而对目标文件的授权进行回收。
以下结合具体应用场景,对本申请实施例的技术方案进行说明。
分布式存储集群可以包括服务器(如多个服务器)和分布式文件系统,参见图2所示,为分布式存储集群的结构示意图。针对每个服务器来说,该服务器可以是支持NFS(Network File System,网络文件系统)协议的服务器,即客户端与服务器之间通过NFS协议通信,当然,客户端与服务器之间也可以采用其它协议通信,对此不做限制。针对分布式文件系统来说,该分布式文件系统可以存储大量文件,如采用各种类型的数据库存储文件,对此存储方式不做限制。为了区分方便,将分布式文件系统存储的每个文件称为目标文件,由于每个目标文件的操作过程相同,后续实施例中,以一个目标文件为例进行说明。
其中,分布式文件系统是由大量存储资源组成的存储系统,用于存储目标文件,关于分布式文件系统的存储资源,可以将多个服务器的存储资源作为分布式文件系统的存储资源,即多个服务器的存储资源组成分布式文件系统,对此不做限制,只要分布式文件系统能够存储大量目标文件即可。
参见图2所示,分布式存储集群可以包括多个服务器,如服务器1、服务器2、...、服务器n,即以n个服务器为例进行说明。针对多个客户端(如客户端1、客户端2、...、客户端m等,m可以大于n,m也可以小于或者等于n)中的每个客户端来说,均可以对分布式文件系统中存储的目标文件进行读写操作。
针对每个客户端(以客户端1为例)来说,在客户端1对分布式文件系统中存储的目标文件进行读写操作时,客户端1可能对目标文件进行修改,且需要保证客户端1缓存的有效性,即客户端1需要将修改后的目标文件更新到分布式文件系统。为了实现上述功能,保证每个客户端缓存的有效性,需要在同一时刻,只能有一个客户端对分布式文件系统中存储的目标文件进行读写操作。
为了保证在同一时刻,只能有一个客户端对分布式文件系统中存储的目标文件进行读写操作,引入了授权机制(即Delegation机制),授权机制是一种保持客户端缓存有效性及一致性的机制,能够有效保证客户端缓存的有效性。
参见图3所示,为授权管理方法的流程示意图,该方法可以包括:
步骤301、在客户端1需要对分布式文件系统中存储的目标文件a进行读写操作时,可以向服务器1发送操作请求消息1(如open file消息)。
步骤302、服务器1接收到操作请求消息1后,为客户端1分配目标文件a的授权(Delegation),将目标文件a的授权发送给客户端1。客户端1持有目标文件a的授权之后,可以对分布式文件系统中的目标文件a进行读写操作。
步骤303、在客户端x(在图2中并未示出,且假设客户端x与服务器1具有连接关系)需要对分布式文件系统中存储的目标文件a进行读写操作时,客户端x可以向服务器1发送操作请求消息2(如open file消息)。
步骤304、服务器1在接收到操作请求消息2后,可以向客户端1发送授权回收请求,该授权回收请求可以为delegation recall请求,对此不做限制。
步骤305、客户端1在接收到授权回收请求之后,将本地缓存信息更新到分布式文件系统,即根据本地缓存信息对分布式文件系统中的目标文件a进行更新。在更新完成后,客户端1可以向服务器1发送授权回收应答,该授权回收应答可以为delegation return应答,对此不做限制。服务器1接收到授权回收应答之后,获知目标文件a的授权已成功回收,可以分配给其它客户端使用。
步骤306、客户端x向服务器1重新发送操作请求消息3(如open file消息)。
步骤307、服务器1在接收到操作请求消息3后,为客户端x分配目标文件a的授权,将目标文件a的授权发送给客户端x。客户端x持有目标文件a的授权之后,可以对分布式文件系统中的目标文件a进行读写操作。
在一种可能的实施方式中,参见图2所示,分布式存储集群可以包括多个服务器,且这多个服务器均对外提供服务。在HPC(High Performance Computing,高性能计算)、数字媒体资产管理及区块链等应用场景下,会涉及部分客户端对目标文件进行数据写入,而部分客户端对目标文件进行数据读取等业务需求,为了实现负载均衡,提高IO并发和有效带宽利用,需要不同客户端访问不同服务器进行业务操作,而不是所有客户端均访问同一个服务器进行业务操作。
参见图2所示,客户端1通过NFS协议挂载到服务器1,客户端1可以通过服务器1对目标文件进行读写操作,客户端2通过NFS协议挂载到服务器2,客户端2可以通过服务器2对目标文件进行读写操作,客户端3通过NFS协议挂载到服务器3,客户端3可以通过服务器3对目标文件进行读写操作,以此类推。当然,在实际部署中,多个客户端也可能挂载到同一个服务器。
示例性的,参见图3所示,授权机制(即Delegation机制)只限于本服务器进行冲突检测,即采用图3所示的流程进行冲突检测,导致服务器分配的授权作用范围仅限制在与本服务器通信的客户端,对于挂载到其它服务器的客户端,则无法进行冲突检测。例如,客户端1需要对目标文件a进行读写操作时,向服务器1发送操作请求消息,服务器1接收到操作请求消息后,为客户端1分配目标文件a的授权,使得客户端1基于目标文件a的授权对目标文件a进行读写操作。客户端2需要对目标文件a进行读写操作时,向服务器2发送操作请求消息,服务器2接收到操作请求消息后,由于并不知道服务器1已经将目标文件a的授权分配给客户端1,因此,服务器2会为客户端2分配目标文件a的授权,使得客户端2基于目标文件a的授权对目标文件a进行读写操作。
综上所述,目标文件a的授权被分配给客户端1和客户端2,客户端1和客户端2均会对目标文件a进行读写操作,导致目标文件a的读写操作出现异常。
针对上述问题,本申请实施例中,提出一种NFS协议统一命名空间下的全局授权分配方案,能够保证客户端缓存有效性及一致性,并且,可以做到兼容升级,无需进行数据迁移。其中,NFS协议是指各服务器均支持NFS协议,服务器与客户端之间通过NFS协议进行通信。统一命名空间是指针对同一个目标文件,这个目标文件在每个服务器上的文件标识相同,即文件标识在所有服务器具有唯一性,是同一个文件标识。全局授权分配是指授权作用范围是与所有服务器通信的客户端,对于挂载到所有服务器的客户端进行冲突检测。
本申请实施例中,参见图4所示,可以在分布式文件系统中创建授权信息表(如delegation info table),并增加不同服务器之间的通信机制。通过不同服务器之间的通信机制以及该授权信息表,就可以实现NFS协议统一命名空间下的全局授权分配方案,从而能够保证客户端缓存有效性及一致性。
示例性的,该授权信息表可以位于分布式文件系统的指定存储介质,对此授权信息表的存储位置不做限制,只要每个服务器均能够访问授权信息表即可。
该授权信息表的初始状态为空,在后续过程中,针对被访问的每个目标文件,可以在授权信息表中添加与该目标文件对应的表项,将授权信息表中的每个表项称为授权信息表项,该授权信息表项可以包括文件标识、目的服务器的设备信息和授权状态之间的对应关系,参见表1所述,为授权信息表的示例。
由于分布式文件系统中存储大量目标文件,每个目标文件可能对应一个授权信息表项,即授权信息表不断更新,表1是某个时刻的授权信息表。
表1
文件标识 | 目的服务器的设备信息 | 授权状态 |
文件标识1 | 设备信息1 | 已分配 |
文件标识2 | 设备信息2 | 已分配 |
文件标识3 | 设备信息3 | 已回收 |
参见表1所示,针对每个授权信息表项来说,文件标识表示目标文件的唯一标识,该文件标识在所有服务器具有唯一性,是同一个文件标识。该文件标识可以是文件句柄(file handle),也可以信息节点标识(inode号,即information node),对此不做限制。目的服务器的设备信息可以是目的服务器的设备标识,也可以是目的服务器的IP地址,还可以是目的服务器的设备标识和IP地址,对此不做限制,只要通过该设备信息能够与目的服务器通信即可。授权状态可以是已分配或者已回收,“已分配”表示与文件标识对应的目标文件的授权已分配,无法将该目标文件的授权分配给新客户端,“已回收”表示与文件标识对应的目标文件的授权未分配,可以将该目标文件的授权分配给新客户端。
示例性的,假设客户端1、客户端2和客户端3均需要访问目标文件a,目标文件a的文件标识是文件标识4,客户端1通过NFS协议挂载到服务器1,客户端2通过NFS协议挂载到服务器2,客户端3通过NFS协议挂载到服务器3,将客户端1记为第一客户端,将服务器1记为第一服务器,将客户端3记为第二客户端,将服务器3记为第二服务器,将客户端3记为第三客户端,将服务器3记为第三服务器,在此基础上,本申请实施例的授权管理方法,可以包括:
步骤S11、第二客户端需要对分布式文件系统中的目标文件a进行读写操作时,向第二服务器发送操作请求消息1(如open file消息或者renamefile消息等)。
步骤S12、第二服务器接收到操作请求消息1后,基于操作请求消息1确定目标文件a对应的文件标识,如目标文件a对应的文件标识是文件标识4。
示例性的,若目标文件a对应的文件标识是文件句柄,则第二服务器可以从操作请求消息1中获取目标文件a的文件名称,并基于已配置的文件名称与文件句柄的对应关系,确定目标文件a的文件名称对应的文件句柄。
比如说,可以预先配置文件名称与文件句柄的对应关系,对此对应关系不做限制。文件名称是用户感知的目标文件的唯一标识,客户端发送操作请求消息时,该操作请求消息携带的是文件名称。文件句柄是服务器感知的目标文件的唯一标识,服务器对目标文件进行操作时,是基于文件句柄查询目标文件。
基于已配置的文件名称与文件句柄的对应关系,第二服务器从操作请求消息1中获取到目标文件a的文件名称之后,就可以通过目标文件a的文件名称查询该对应关系,得到目标文件a的文件名称对应的文件句柄。
示例性的,若目标文件a对应的文件标识是信息节点标识,则第二服务器可以从操作请求消息1中获取目标文件a的文件名称,基于已配置的文件名称与信息节点标识的对应关系,确定目标文件a的文件名称对应的信息节点标识。
比如说,可以预先配置文件名称与信息节点标识的对应关系,对此对应关系不做限制。信息节点标识可以是服务器感知的目标文件的唯一标识,服务器对目标文件进行操作时,是基于信息节点标识查询目标文件。
基于已配置的文件名称与信息节点标识的对应关系,第二服务器从操作请求消息1中获取到目标文件a的文件名称之后,就可以通过目标文件a的文件名称查询该对应关系,得到目标文件a的文件名称对应的信息节点标识。
步骤S13、第二服务器确定分布式文件系统的授权信息表(参见表1所示)中是否存在该文件标识(如文件标识4)对应的授权信息表项。
步骤S14、若不存在文件标识4对应的授权信息表项,则第二服务器为第二客户端分配目标文件a的授权(Delegation),并将目标文件a的授权发送给第二客户端。第二客户端持有目标文件a的授权之后,基于目标文件a的授权对目标文件a进行操作,即对分布式文件系统中的目标文件a进行读写操作。
步骤S15、第二服务器在分布式文件系统的授权信息表中创建文件标识4对应的授权信息表项,并将该授权信息表项中的授权状态更新为已分配,并将该授权信息表项中的目的服务器的设备信息更新为第二服务器的设备信息。
参见表2所示,为更新后的授权信息表,该授权信息表增加了文件标识4对应的授权信息表项,该授权信息表项中的目的服务器的设备信息是设备信息2,且设备信息2表示第二服务器的设备信息,如第二服务器的IP地址。
表2
文件标识 | 目的服务器的设备信息 | 授权状态 |
文件标识1 | 设备信息1 | 已分配 |
文件标识2 | 设备信息2 | 已分配 |
文件标识3 | 设备信息3 | 已回收 |
文件标识4 | 设备信息2 | 已分配 |
步骤S16、第一客户端需要对分布式文件系统中的目标文件a进行读写操作时,向第一服务器发送操作请求消息2(如open file消息或者renamefile消息等)。
步骤S17、第一服务器接收到操作请求消息2后,基于操作请求消息2确定目标文件a对应的文件标识,如目标文件a对应的文件标识是文件标识4。
步骤S18、第一服务器确定分布式文件系统的授权信息表(参见表2所示)中是否存在该文件标识(如文件标识4)对应的授权信息表项。
步骤S19、若存在文件标识4对应的授权信息表项,且该授权信息表项中的授权状态是已分配,则表示当前还无法将目标文件a的授权分配给第一客户端,因此,第一服务器从该授权信息表项中查询目的服务器的设备信息。
步骤S20、若该设备信息是第二服务器的设备信息(如IP地址等),则第一服务器基于该设备信息向第二服务器发送第一授权回收通知。
参见表2所示,由于存在文件标识4对应的授权信息表项,且该授权信息表项中的授权状态是已分配,因此,第一服务器可以从该授权信息表项中查询目的服务器的设备信息4。第一服务器基于设备信息4(如第二服务器的IP地址)向第二服务器发送第一授权回收通知,该第一授权回收通知用于促使第二服务器回收目标文件a的授权,比如说,第一授权回收通知可以包括目标文件a的文件标识4,使得第二服务器基于文件标识4回收目标文件a的授权。
示例性的,第一服务器可以基于设备信息4(如第二服务器的IP地址)与第二服务器建立RPC通道,对此RPC通道的建立方式不做限制,基于已建立的RPC通道,第一服务器可以将第一授权回收通知发送给第二服务器。
步骤S21、若存在文件标识4对应的授权信息表项,且该授权信息表项中的授权状态是已分配,则表示当前还无法将目标文件a的授权分配给第一客户端,因此,第一服务器还可以向第一客户端发送延迟消息(如delay消息),该延迟消息用于使第一客户端在延迟预设时长(该预设时长可以根据经验配置,对此预设时长不做限制)之后,重新发送针对目标文件a的操作请求消息。
步骤S22、第二服务器在接收到第一授权回收通知后,确定当前正在对目标文件a进行操作的第二客户端,并向第二客户端发送授权回收请求,该授权回收请求用于回收目标文件a的授权。若接收到第二客户端返回的授权回收应答(用于表示第二客户端已经释放目标文件a的授权),则第二服务器确定目标文件a的授权已成功回收,即成功从第二客户端回收目标文件a的授权。
比如说,第二服务器可以从第一授权回收通知中解析出目标文件a的文件标识4,并确定当前正在对文件标识4对应的目标文件a进行操作的客户端(即第二客户端)。然后,第二服务器向第二客户端发送授权回收请求,该授权回收请求可以为delegation recall请求,对此不做限制。第二客户端在接收到授权回收请求之后,将本地缓存信息更新到分布式文件系统,即根据本地缓存信息对分布式文件系统中的目标文件a进行更新。在更新完成后,第二客户端可以向第二服务器发送授权回收应答,该授权回收应答可以为delegationreturn应答,对此不做限制。第二服务器在接收到该授权回收应答之后,获知目标文件a的授权已成功回收,目标文件a的授权可以分配给其它客户端使用。
步骤S23、第二服务器确定目标文件a的授权已成功回收之后,还可以向第一服务器发送目标文件a的授权已成功回收的信息(如recall成功消息等),这样,第一服务器就可以获知目标文件a的授权已成功回收。
步骤S24、第二服务器确定目标文件a的授权已成功回收之后,还可以将授权信息表项中的授权状态更新为已回收。比如说,第二服务器可以将文件标识4对应的权信息表项中的授权状态更新为已回收,参见表3所示。
表3
文件标识 | 目的服务器的设备信息 | 授权状态 |
文件标识1 | 设备信息1 | 已分配 |
文件标识2 | 设备信息2 | 已分配 |
文件标识3 | 设备信息3 | 已回收 |
文件标识4 | 设备信息2 | 已回收 |
步骤S25、第一客户端在接收到延迟消息(如delay消息)之后,在延迟预设时长之后,重新向第一服务器发送针对目标文件a的操作请求消息3。
步骤S26、第一服务器接收到操作请求消息3后,基于操作请求消息3确定目标文件a对应的文件标识,如目标文件a对应的文件标识是文件标识4。
步骤S27、第一服务器确定分布式文件系统的授权信息表(参见表3所示)中是否存在该文件标识(如文件标识4)对应的授权信息表项。
步骤S28、若存在文件标识4对应的授权信息表项,且该授权信息表项中的授权状态是已回收,则第一服务器为第一客户端分配目标文件a的授权,并将目标文件a的授权发送给第一客户端。第一客户端持有目标文件a的授权之后,基于目标文件a的授权对目标文件a进行操作,即对目标文件a进行读写操作。
步骤S29、第一服务器将该授权信息表项中的授权状态更新为已分配,并将该授权信息表项中的目的服务器的设备信息更新为第一服务器的设备信息。
参见表4所示,为更新后的授权信息表,针对文件标识4对应的授权信息表项,目的服务器的设备信息是设备信息1,即第一服务器的IP地址。
表4
文件标识 | 目的服务器的设备信息 | 授权状态 |
文件标识1 | 设备信息1 | 已分配 |
文件标识2 | 设备信息2 | 已分配 |
文件标识3 | 设备信息3 | 已回收 |
文件标识4 | 设备信息1 | 已分配 |
步骤S30、第三客户端需要对分布式文件系统中的目标文件a进行读写操作时,向第三服务器发送操作请求消息3(如open file消息或者renamefile消息等)。
步骤S31、第三服务器接收到操作请求消息3后,基于操作请求消息3确定目标文件a对应的文件标识,如目标文件a对应的文件标识是文件标识4。
步骤S32、第三服务器确定分布式文件系统的授权信息表(参见表4所示)中是否存在该文件标识(如文件标识4)对应的授权信息表项。
步骤S33、若存在文件标识4对应的授权信息表项,且该授权信息表项中的授权状态是已分配,则表示当前还无法将目标文件a的授权分配给第三客户端,因此,第三服务器从该授权信息表项中查询目的服务器的设备信息。
步骤S34、若该设备信息是第一服务器的设备信息(如IP地址等),则第三服务器基于该设备信息向第一服务器发送第二授权回收通知。
步骤S35、第一服务器在接收到第二授权回收通知后,确定当前正在对目标文件a进行操作的第一客户端,并向第一客户端发送授权回收请求,该授权回收请求用于回收目标文件a的授权。若接收到第一客户端返回的授权回收应答(用于表示第一客户端已经释放目标文件a的授权),则第一服务器确定目标文件a的授权已成功回收,即成功从第一客户端回收目标文件a的授权。
步骤S36、第一服务器确定目标文件a的授权已成功回收之后,还可以向第三服务器发送目标文件a的授权已成功回收的信息(如recall成功消息等),这样,第三服务器就可以获知目标文件a的授权已成功回收。
步骤S37、第一服务器确定目标文件a的授权已成功回收之后,还可以将授权信息表项中的授权状态更新为已回收。比如说,第一服务器可以将文件标识4对应的权信息表项中的授权状态更新为已回收,参见表5所示。
表5
文件标识 | 目的服务器的设备信息 | 授权状态 |
文件标识1 | 设备信息1 | 已分配 |
文件标识2 | 设备信息2 | 已分配 |
文件标识3 | 设备信息3 | 已回收 |
文件标识4 | 设备信息1 | 已回收 |
基于上述过程,第三服务器就可以将目标文件a的授权分配给第三客户端,对此分配过程不再重复赘述。以此类推,可以保证只将目标文件a的授权分配给一个客户端,从而避免多个客户端同时占用目标文件a的授权。
示例性的,上述执行顺序只是为了方便描述给出的示例,在实际应用中,还可以改变步骤之间的执行顺序,对此执行顺序不做限制。而且,在其它实施例中,并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其它实施例中可能被分解为多个步骤进行描述;本说明书中所描述的多个步骤,在其它实施例也可能被合并为单个步骤进行描述。
以下结合图5所示的流程图,对上述授权管理方法进行说明。
步骤501、客户端1向服务器1发送针对目标文件a的open file消息1。
步骤502、服务器1基于open file消息1确定目标文件a对应的文件标识4,若不存在文件标识4对应的授权信息表项,则在授权信息表中创建文件标识4对应的授权信息表项,并将该授权信息表项中的授权状态更新为已分配,并将该授权信息表项中的目的服务器的设备信息更新为服务器1的IP地址。
步骤503、服务器1为客户端1分配目标文件a的授权,并将目标文件a的授权发送给客户端1,客户端1基于目标文件a的授权对目标文件a进行操作。
步骤504、客户端2向服务器2发送针对目标文件a的open file消息2。
步骤505、服务器2基于open file消息2确定目标文件a对应的文件标识4,由于已存在文件标识4对应的授权信息表项,且该授权信息表项中的授权状态是已分配,则服务器2从该授权信息表项中查询到服务器1的IP地址。
步骤506、服务器2基于服务器1的IP地址向服务器1发送授权回收通知。以及,服务器2可以向客户端2发送延迟消息(如delay消息)。
步骤507、服务器1在接收到授权回收通知后,向客户端1发送授权回收请求,该授权回收请求可以为delegation recall请求,对此不做限制。
步骤508、客户端1在接收到授权回收请求后,根据本地缓存信息对目标文件a进行更新。在目标文件a的更新完成后,客户端1向服务器1发送授权回收应答,该授权回收应答可以为delegation return应答,对此不做限制。
步骤509、服务器1接收到授权回收应答后,向服务器2发送目标文件a的授权已成功回收的信息(如recall成功消息等),并将授权状态更新为已回收。
步骤510、客户端2在接收到延迟消息(如delay消息)之后,在延迟预设时长之后,重新向服务器2发送针对目标文件a的open file消息3。
步骤511、服务器2基于open file消息3确定目标文件a对应的文件标识4,由于已存在文件标识4对应的授权信息表项,且该授权信息表项中的授权状态是已回收,则服务器2将该授权信息表项中的授权状态更新为已分配,并将该授权信息表项中的目的服务器的设备信息更新为服务器2的IP地址。
步骤512、服务器2为客户端2分配目标文件a的授权,并将目标文件a的授权发送给客户端2,客户端2基于目标文件a的授权对目标文件a进行操作。
基于上述技术方案,本申请实施例中,每个客户端均可以基于目标文件的授权对目标文件进行操作,在多客户端访问分布式文件系统中目标文件的场景下,可以保证每个客户端均能够对目标文件进行操作,在不影响业务组网部署的前提下,通过增加服务器之间的通信流程,使得服务器之间能够发送授权回收通知,从而对目标文件的授权进行回收。增加了服务器之间的通信机制和全局的授权信息表(delegation info table),可以做到兼容升级,也不需要组网改造和数据迁移。多个客户端可以通过NFS协议访问不同服务器,在读写业务分离的业务场景下,数据可以及时更新,不会因为都持有授权导致异常,避免数据不一致导致的业务中断或者业务阻塞等待,提高读写效率及可靠一致性等。
基于与上述方法同样的申请构思,本申请实施例中提出一种授权管理装置,分布式存储集群包括多个服务器和分布式文件系统,所述分布式文件系统存储有目标文件,所述装置应用于第一服务器,所述第一服务器是所述分布式存储集群的任一服务器,参见图6所示,为所述装置的结构示意图,所述装置包括:
确定模块61,用于若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于所述操作请求消息确定所述目标文件对应的文件标识;以及,确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项;
处理模块62,用于若存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,则从授权信息表项中查询目的服务器的设备信息;
发送模块63,用于若所述设备信息是第二服务器的设备信息,则基于所述设备信息向所述第二服务器发送第一授权回收通知,以使所述第二服务器基于所述第一授权回收通知从当前正在对所述目标文件进行操作的第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
在一种可能的实施方式中,在所述确定模块61确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项之后,所述发送模块63,还用于若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已回收,则将所述目标文件的授权发送给所述第一客户端,以使所述第一客户端基于所述目标文件的授权对所述目标文件进行操作;所述处理模块62,还用于将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为本第一服务器的设备信息。
在一种可能的实施方式中,在所述确定模块61确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项之后,所述发送模块63,还用于若不存在所述文件标识对应的授权信息表项,则将所述目标文件的授权发送给所述第一客户端,以使所述第一客户端基于所述目标文件的授权对所述目标文件进行操作;所述处理模块62,还用于在分布式文件系统创建所述文件标识对应的授权信息表项,并将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为本第一服务器的设备信息。
在一种可能的实施方式中,所述发送模块63,还用于若接收到第三服务器发送的第二授权回收通知,则确定当前正在对所述目标文件进行操作的第一客户端,并向所述第一客户端发送授权回收请求;其中,所述授权回收请求用于回收所述目标文件的授权;所述处理模块62,还用于若接收到所述第一客户端返回的授权回收应答,则确定所述目标文件的授权已成功回收,并将所述授权信息表项中的授权状态更新为已回收;所述发送模块63,还用于向所述第三服务器发送所述目标文件的授权已成功回收的信息。
在一种可能的实施方式中,在所述确定模块61确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项之后,所述发送模块63,还用于若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已分配,则向所述第一客户端发送延迟消息,所述延迟消息用于使所述第一客户端在延迟预设时长之后,重新发送针对所述目标文件的操作请求消息。
示例性的,所述发送模块63基于所述设备信息向所述第二服务器发送第一授权回收通知时具体用于:基于所述设备信息与所述第二服务器建立RPC通道,并基于所述RPC通道将所述第一授权回收通知发送给所述第二服务器。
在一种可能的实施方式中,所述确定模块61基于所述操作请求消息确定所述目标文件对应的文件标识时具体用于:从所述操作请求消息中获取所述目标文件的文件名称;若所述文件标识是文件句柄,则基于已配置的文件名称与文件句柄的对应关系,确定所述目标文件的文件名称对应的文件句柄;或者,若所述文件标识是信息节点标识,则基于已配置的文件名称与信息节点标识的对应关系,确定所述目标文件的文件名称对应的信息节点标识。
基于与上述方法同样的申请构思,本申请实施例中还提出一种分布式存储集群,所述分布式存储集群可以包括第一服务器、第二服务器和分布式文件系统,所述分布式文件系统存储有目标文件;其中:
所述第二服务器,用于若接收到第二客户端发送的针对所述目标文件的操作请求消息,则基于该操作请求消息确定所述目标文件对应的文件标识;若不存在所述文件标识对应的授权信息表项,则将所述目标文件的授权发送给所述第二客户端,以使所述第二客户端基于所述目标文件的授权对所述目标文件进行操作;以及,在所述分布式文件系统创建所述文件标识对应的授权信息表项,并将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为所述第二服务器的设备信息;
所述第一服务器,用于若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于该操作请求消息确定所述目标文件对应的文件标识;若已存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,则从授权信息表项中查询目的服务器的设备信息;若所述设备信息是第二服务器的设备信息,则基于所述设备信息向第二服务器发送第一授权回收通知;
所述第二服务器,还用于在接收到第一授权回收通知后,从第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
在一种可能的实施方式中,若已存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,所述第一服务器,还用于向所述第一客户端发送延迟消息,所述延迟消息用于使所述第一客户端在延迟预设时长之后,重新发送针对所述目标文件的操作请求消息;
所述第一服务器,还用于在接收到所述第一客户端重新发送的操作请求消息之后,若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已回收,则将所述目标文件的授权发送给所述第一客户端,以使所述第一客户端基于所述目标文件的授权对所述目标文件进行操作;
以及,将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为所述第一服务器的设备信息。
基于与上述方法同样的申请构思,本申请实施例中提出一种电子设备,该电子设备可以为上述实施例的各服务器,所述电子设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述实施例的授权管理方法,对此授权管理方法的流程,本实施例中在此不再重复赘述。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的授权管理方法。
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (10)
1.一种授权管理方法,其特征在于,分布式存储集群包括多个服务器和分布式文件系统,所述分布式文件系统存储有目标文件,所述方法应用于第一服务器,所述第一服务器是所述分布式存储集群的任一服务器,所述方法包括:
若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于所述操作请求消息确定所述目标文件对应的文件标识;
确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项;
若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已分配,则从所述授权信息表项中查询目的服务器的设备信息;
若所述设备信息是第二服务器的设备信息,则基于所述设备信息向所述第二服务器发送第一授权回收通知,以使所述第二服务器基于所述第一授权回收通知从当前正在对所述目标文件进行操作的第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
2.根据权利要求1所述的方法,其特征在于,所述确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项之后,所述方法还包括:
若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已回收,则将所述目标文件的授权发送给所述第一客户端,以使所述第一客户端基于所述目标文件的授权对所述目标文件进行操作;
以及,将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为本第一服务器的设备信息。
3.根据权利要求1所述的方法,其特征在于,所述确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项之后,所述方法还包括:
若不存在所述文件标识对应的授权信息表项,则将所述目标文件的授权发送给所述第一客户端,以使所述第一客户端基于所述目标文件的授权对所述目标文件进行操作;以及,在所述分布式文件系统创建所述文件标识对应的授权信息表项,并将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为本第一服务器的设备信息。
4.根据权利要求2或3所述的方法,其特征在于,
所述将所述目标文件的授权发送给所述第一客户端之后,还包括:
若接收到第三服务器发送的第二授权回收通知,则确定当前正在对所述目标文件进行操作的第一客户端,并向所述第一客户端发送授权回收请求;其中,所述授权回收请求用于回收所述目标文件的授权;
若接收到所述第一客户端返回的授权回收应答,则确定所述目标文件的授权已成功回收,并将所述授权信息表项中的授权状态更新为已回收;
向所述第三服务器发送所述目标文件的授权已成功回收的信息。
5.根据权利要求1所述的方法,其特征在于,所述确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项之后,所述方法还包括:
若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已分配,则向所述第一客户端发送延迟消息,所述延迟消息用于使所述第一客户端在延迟预设时长之后,重新发送针对所述目标文件的操作请求消息。
6.根据权利要求1所述的方法,其特征在于,
所述基于所述设备信息向所述第二服务器发送第一授权回收通知,包括:
基于所述设备信息与所述第二服务器建立远程过程调用RPC通道,并基于所述RPC通道将所述第一授权回收通知发送给所述第二服务器。
7.根据权利要求1所述的方法,其特征在于,
所述基于所述操作请求消息确定所述目标文件对应的文件标识,包括:
从所述操作请求消息中获取所述目标文件的文件名称;
若所述文件标识是文件句柄,则基于已配置的文件名称与文件句柄的对应关系,确定所述目标文件的文件名称对应的文件句柄;或者,
若所述文件标识是信息节点标识,则基于已配置的文件名称与信息节点标识的对应关系,确定所述目标文件的文件名称对应的信息节点标识。
8.一种授权管理装置,其特征在于,分布式存储集群包括多个服务器和分布式文件系统,所述分布式文件系统存储有目标文件,所述装置应用于第一服务器,所述第一服务器是所述分布式存储集群的任一服务器,所述装置包括:
确定模块,用于若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于所述操作请求消息确定所述目标文件对应的文件标识;以及,确定所述分布式文件系统是否存在所述文件标识对应的授权信息表项;
处理模块,用于若存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,则从授权信息表项中查询目的服务器的设备信息;
发送模块,用于若所述设备信息是第二服务器的设备信息,则基于所述设备信息向所述第二服务器发送第一授权回收通知,以使所述第二服务器基于所述第一授权回收通知从当前正在对所述目标文件进行操作的第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
9.一种分布式存储集群,其特征在于,所述分布式存储集群包括第一服务器、第二服务器和分布式文件系统,所述分布式文件系统存储有目标文件;
所述第二服务器,用于若接收到第二客户端发送的针对所述目标文件的操作请求消息,则基于该操作请求消息确定所述目标文件对应的文件标识;若不存在所述文件标识对应的授权信息表项,则将所述目标文件的授权发送给所述第二客户端,以使所述第二客户端基于所述目标文件的授权对所述目标文件进行操作;以及,在所述分布式文件系统创建所述文件标识对应的授权信息表项,并将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为所述第二服务器的设备信息;
所述第一服务器,用于若接收到第一客户端发送的针对所述目标文件的操作请求消息,则基于该操作请求消息确定所述目标文件对应的文件标识;若已存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,则从授权信息表项中查询目的服务器的设备信息;若所述设备信息是第二服务器的设备信息,则基于所述设备信息向第二服务器发送第一授权回收通知;
所述第二服务器,还用于在接收到第一授权回收通知后,从第二客户端回收所述目标文件的授权,并将所述授权信息表项中的授权状态更新为已回收。
10.根据权利要求9所述的分布式存储集群,其特征在于,若已存在所述文件标识对应的授权信息表项,且授权信息表项中的授权状态是已分配,所述第一服务器,还用于向所述第一客户端发送延迟消息,所述延迟消息用于使所述第一客户端在延迟预设时长之后,重新发送针对所述目标文件的操作请求消息;
所述第一服务器,还用于在接收到所述第一客户端重新发送的操作请求消息之后,若存在所述文件标识对应的授权信息表项,且所述授权信息表项中的授权状态是已回收,则将所述目标文件的授权发送给所述第一客户端,以使所述第一客户端基于所述目标文件的授权对所述目标文件进行操作;
以及,将所述授权信息表项中的授权状态更新为已分配,并将所述授权信息表项中的目的服务器的设备信息更新为所述第一服务器的设备信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111160772.8A CN113868605B (zh) | 2021-09-30 | 2021-09-30 | 授权管理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111160772.8A CN113868605B (zh) | 2021-09-30 | 2021-09-30 | 授权管理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113868605A CN113868605A (zh) | 2021-12-31 |
CN113868605B true CN113868605B (zh) | 2024-03-22 |
Family
ID=79001172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111160772.8A Active CN113868605B (zh) | 2021-09-30 | 2021-09-30 | 授权管理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113868605B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
CN107766699A (zh) * | 2016-08-16 | 2018-03-06 | 新华三技术有限公司 | 一种授权分配方法和装置 |
CN107979590A (zh) * | 2017-11-02 | 2018-05-01 | 财付通支付科技有限公司 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
CN109543365A (zh) * | 2018-11-26 | 2019-03-29 | 新华三技术有限公司 | 一种授权方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10038752B2 (en) * | 2015-12-07 | 2018-07-31 | Dell Products L.P. | Method and system for execution of client-initiated operations on file handles in a distributed server system |
-
2021
- 2021-09-30 CN CN202111160772.8A patent/CN113868605B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179185A (zh) * | 2012-12-25 | 2013-06-26 | 中国科学院计算技术研究所 | 一种分布式文件系统客户端缓存中文件创建方法及其系统 |
CN107766699A (zh) * | 2016-08-16 | 2018-03-06 | 新华三技术有限公司 | 一种授权分配方法和装置 |
CN107979590A (zh) * | 2017-11-02 | 2018-05-01 | 财付通支付科技有限公司 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
CN109543365A (zh) * | 2018-11-26 | 2019-03-29 | 新华三技术有限公司 | 一种授权方法及装置 |
Non-Patent Citations (1)
Title |
---|
一种基于授权机制的分布式文件系统小文件访问优化策略;曹风华;;计算机系统应用;20130715(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113868605A (zh) | 2021-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110324177B (zh) | 一种微服务架构下的服务请求处理方法、系统及介质 | |
CN111091429A (zh) | 电子票据标识分配方法及装置、电子票据生成系统 | |
CN101751415B (zh) | 元数据服务系统、元数据同步方法与写服务器更新方法 | |
US20040261082A1 (en) | System and method for managing cached objects using notification bonds | |
EP1589691A2 (en) | Method, system and apparatus for managing computer identity | |
CN106997557B (zh) | 订单信息采集方法及装置 | |
CN108259218B (zh) | 一种ip地址分配方法和装置 | |
CN109600410B (zh) | 数据存储系统以及方法 | |
CN112765182A (zh) | 云服务器集群间的数据同步方法及装置 | |
CN111901705B (zh) | 一种olt设备的omci功能虚拟化系统 | |
CN105095313A (zh) | 一种数据访问方法和设备 | |
US8046345B2 (en) | Method and system for managing file metadata transparent about address changes of data servers and movements of their disks | |
WO2019045799A1 (en) | DISTRIBUTED DATA STORAGE SYSTEMS | |
CN116610676B (zh) | 一种分布式系统中标识的生成方法、装置、设备及介质 | |
CN111796772B (zh) | 缓存的管理方法、缓存节点及分布式存储系统 | |
CN103905512A (zh) | 一种数据处理方法和设备 | |
CN113868605B (zh) | 授权管理方法、装置及系统 | |
US10467143B1 (en) | Event-driven cache | |
CN110830492B (zh) | 一种基于CoreDNS注册服务的边缘应用相互调度的方法及系统 | |
US20100010961A1 (en) | Distributed directories | |
CN114493602B (zh) | 区块链交易的执行方法、装置、电子设备和存储介质 | |
CN113505111B (zh) | 一种共享目录挂载方法及分布式网络附加存储系统 | |
JP2006277158A (ja) | データ更新システム、サーバ及びプログラム | |
CN102833295A (zh) | 分布式缓存系统中的数据操作方法和装置 | |
CN113973294B (zh) | 信令处理方法、网络仓库功能网元和通信系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |