CN117806836B - 分布式文件系统命名空间管理方法、装置和设备 - Google Patents

分布式文件系统命名空间管理方法、装置和设备 Download PDF

Info

Publication number
CN117806836B
CN117806836B CN202410225048.6A CN202410225048A CN117806836B CN 117806836 B CN117806836 B CN 117806836B CN 202410225048 A CN202410225048 A CN 202410225048A CN 117806836 B CN117806836 B CN 117806836B
Authority
CN
China
Prior art keywords
file
access
application program
virtual view
target directory
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
Application number
CN202410225048.6A
Other languages
English (en)
Other versions
CN117806836A (zh
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.)
Inspur Jinan data Technology Co ltd
Original Assignee
Inspur Jinan data Technology Co ltd
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 Inspur Jinan data Technology Co ltd filed Critical Inspur Jinan data Technology Co ltd
Priority to CN202410225048.6A priority Critical patent/CN117806836B/zh
Publication of CN117806836A publication Critical patent/CN117806836A/zh
Application granted granted Critical
Publication of CN117806836B publication Critical patent/CN117806836B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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/1734Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
    • 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

Landscapes

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

Abstract

本申请涉及一种分布式文件系统命名空间管理方法、装置和设备。主要技术方案包括:响应于应用程序访问分布式文件系统的命名空间,命名空间访问特征统计模块获取应用程序访问命名空间的特征信息,客户端向目标服务端的命名空间访问特征分析模块发送特征信息,命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件,命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,并创建应用程序的虚拟视图,元数据服务模块获取虚拟视图的元数据,并向客户端发送虚拟视图的元数据,以使用户端根据虚拟视图的元数据管理应用程序对分布式文件系统的访问请求,能够高效地处理访问请求,减少文件系统的工作负载,提升文件系统性能。

Description

分布式文件系统命名空间管理方法、装置和设备
技术领域
本申请涉及分布式存储技术领域,特别是涉及一种分布式文件系统命名空间管理方法、装置和设备。
背景技术
目前,数据中心面临非结构化数据的爆发式增长的挑战,通常基于分布式文件系统存储非结构化数据。典型的使用模式为:建设一套分布式文件系统,并在其上运行多种计算应用。其中,元数据是分布式文件系统的重要组成部分,现今海量非结构化数据场景下文件系统中对元数据的访问操作占据了系统大半的工作负载,而当前文件系统又是通过建立元数据集群来分布式地管理元数据并提升并发访问能力的,因此,高效地管理元数据是提升文件系统性能的关键。
现有的元数据管理方法主要采用哈希等简单的算法进行文件系统子树分区的分配。当应用程序访问数据时,该方法会存在跨元数据服务的锁竞争协调、子树分区的动态调整频繁等问题,导致分布式文件系统性能的降低。
发明内容
基于此,本申请提供了一种分布式文件系统命名空间管理方法、装置和设备,以提升分布式文件系统性能。
第一方面,提供一种分布式文件系统命名空间管理方法,该方法应用于分布式文件系统命名空间管理系统,该分布式文件系统命名空间管理系统包括至少一个服务端和至少一个客户端,服务端通过交换网络与客户端连接,其中,服务端设置有命名空间管理服务单元,命名空间管理服务单元包括命名空间访问特征分析模块、命名空间授权管理模块和元数据服务模块,客户端运行有应用程序且设置有命名空间访问特征统计模块,分布式文件系统包括命名空间管理服务单元和命名空间访问特征统计模块,客户端的应用程序通过分布式文件系统访问服务端上的数据资源;该方法包括:
响应于应用程序访问分布式文件系统的命名空间,命名空间访问特征统计模块获取应用程序访问命名空间的特征信息;
客户端向目标服务端的命名空间访问特征分析模块发送特征信息,其中,目标服务端为对应用程序的访问请求进行应答的服务端;
命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件;
命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,并根据目标目录/文件创建应用程序的虚拟视图;
元数据服务模块获取虚拟视图的元数据,并向客户端发送虚拟视图的元数据,以使用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求。
根据本申请实施例中一种可实现的方式,命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件,包括:
根据特征信息,获取应用程序访问命名空间中目录/文件的操作频次;
将预设时间内操作频次超过预设次数的目录/文件确定为应用程序访问的目标目录/文件。
根据本申请实施例中一种可实现的方式,客户端还设置有虚拟视图构建模块;该方法还包括:
在命名空间授权管理模块设置应用程序对目标目录/文件的访问权限之后,生成应用程序访问目标目录/文件的授权指令,并向虚拟视图构建模块发送授权指令;
虚拟视图构建模块根据授权指令,构建应用程序的虚拟视图。
根据本申请实施例中一种可实现的方式,命名空间授权管理模块根据目标目录/文件创建应用程序的虚拟视图,包括:
向分布式文件系统的命名空间申请目标目录/文件的操作权限;
在分布式文件系统的命名空间授权命名空间授权管理模块后,获取目标目录/文件对应的数据;
根据应用程序的访问请求,确定应用程序所在客户端的终端信息和授权等级;
根据目标目录/文件对应的数据、应用程序所在客户端的终端信息和授权等级,创建应用程序的虚拟视图。
根据本申请实施例中一种可实现的方式,授权指令包括应用程序所在客户端的授权等级;虚拟视图构建模块根据授权指令,构建应用程序的虚拟视图,包括:
虚拟视图构建模块接收到授权指令后,向分布式文件系统的命名空间申请目标目录/文件的操作权限;
在分布式文件系统的命名空间授权虚拟视图构建模块后,获取目标目录/文件对应的数据;
根据目标目录/文件对应的数据和应用程序所在客户端的授权等级,构建应用程序的虚拟视图。
根据本申请实施例中一种可实现的方式,命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,包括:
获取至少一个客户端对分布式文件系统的命名空间的访问信息;
根据访问信息,判断目标目录/文件是否被其他应用程序访问,得到判断结果;
根据判断结果,设置应用程序对目标目录/文件的访问权限。
根据本申请实施例中一种可实现的方式,访问信息包括目标目录/文件的访问对象;根据访问信息,判断目标目录/文件是否被其他应用程序访问,包括:
当目标目录/文件的访问对象为应用程序且无其他访问对象时,判断目标目录/文件未被其他应用程序访问;
当目标目录/文件的访问对象为多个应用程序时,判断目标目录/文件被其他应用程序访问。
根据本申请实施例中一种可实现的方式,根据判断结果,设置应用程序对目标目录/文件的访问权限,包括:
若目标目录/文件未被其他应用程序访问,设置应用程序对目标目录/文件的访问权限。
根据本申请实施例中一种可实现的方式,根据判断结果,设置应用程序对目标目录/文件的访问权限,包括:
若目标目录/文件已被其他应用程序访问,应用程序进入访问目标目录/文件的等待队列;
基于预设租约机制,确定目标目录/文件被其他应用程序访问的限制时间;
当目标目录/文件的实际访问时间超过限制时间时,基于等待队列继续判断目标目录/文件是否被其他应用程序访问;
直至当目标目录/文件被应用程序访问,设置应用程序对目标目录/文件的访问权限。
根据本申请实施例中一种可实现的方式,根据判断结果,设置应用程序对目标目录/文件的访问权限,包括:
若目标目录/文件已被其他应用程序访问,应用程序进入访问目标目录/文件的等待队列;
获取等待队列中应用程序的优先级顺序;
基于优先级顺序,当应用程序有权访问目标目录/文件时,设置应用程序对目标目录/文件的访问权限。
根据本申请实施例中一种可实现的方式,用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求,包括:
响应于应用程序对所述分布式文件系统的命名空间发起访问请求,确定访问请求对应的当前目录/文件的访问权限;
判断当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限是否具有一致性;
当当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限具有一致性时,基于应用程序的虚拟视图的元数据,处理应用程序对所述分布式文件系统中命名空间的访问请求。
根据本申请实施例中一种可实现的方式,确定当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限是否具有一致性,包括:
当虚拟视图中存在目标目录/文件的访问权限存在与当前目录/文件的访问权限相同时,确定当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限具有一致性。
根据本申请实施例中一种可实现的方式,该方法还包括:
当当前目录/文件的访问权限存在与虚拟视图中目标目录/文件的访问权限不同时,确定当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限不具有一致性。
根据本申请实施例中一种可实现的方式,该方法还包括:
当当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限不具有一致性时,向元数据服务获取差异目录/文件的访问权限,差异目录/文件为目标目录/文件中与当前目录/文件的访问权限不同的目录/文件;
接收元数据服务对差异目录/文件的授权指令,以保证当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限的一致性。
根据本申请实施例中一种可实现的方式,用户端根据虚拟视图的元数据管理应用程序对所述分布式文件系统中命名空间的访问请求,包括:
响应于多个用户同时使用应用程序对所述分布式文件系统的命名空间发起访问请求,获取多个用户中每个用户的访问请求对应的特征信息;
根据每个用户的访问请求对应的特征信息,分割应用程序的虚拟视图;
根据分割后的虚拟视图对应的元数据管理应用程序对所述分布式文件系统中命名空间的访问请求。
根据本申请实施例中一种可实现的方式,元数据服务模块向客户端发送虚拟视图的元数据,包括:
获取运行有应用程序的多个可用客户端的终端信息;
根据多个可用客户端的终端信息,确定为多个可用客户端中应用程序提供元数据的多个可用服务端;
汇总多个可用服务端为应用程序提供元数据中共有的元数据,得到公共元数据;
将公共元数据添加至应用程序的虚拟视图,以更新应用程序的虚拟视图的元数据;
向多个可用客户端中的任一可用客户端发送虚拟视图更新后的元数据。
根据本申请实施例中一种可实现的方式,元数据服务模块向客户端发送虚拟视图的元数据,包括:
元数据服务模块向命名空间授权管理模块获取虚拟视图的控制权限;
响应于命名空间授权管理模块授权元数据服务模块,元数据服务向客户端发送虚拟视图的元数据。
第二方面,提供了一种分布式文件系统命名空间管理装置,该装置于分布式文件系统命名空间管理系统,该分布式文件系统命名空间管理系统包括至少一个服务端和至少一个客户端,服务端通过交换网络与客户端连接,其中,服务端设置有命名空间管理服务单元,命名空间管理服务单元包括命名空间访问特征分析模块、命名空间授权模块和元数据服务模块,客户端运行有应用程序且设置有命名空间访问特征统计模块,分布式文件系统包括命名空间管理服务单元和命名空间访问特征统计模块,客户端的应用程序通过分布式文件系统访问服务端上的数据资源;该装置包括:
获取单元,用于响应于应用程序访问分布式文件系统的命名空间,命名空间访问特征统计模块获取应用程序访问命名空间的特征信息;
发送单元,用于客户端向目标服务端的命名空间访问特征分析模块发送特征信息,其中,目标服务端为对应用程序的访问请求进行应答的服务端;
确定单元,用于命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件;
设置单元,用于命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,并根据目标目录/文件创建应用程序的虚拟视图;
发送单元,还用于元数据服务模块获取虚拟视图的元数据,并向客户端发送虚拟视图的元数据,以使用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求。
第三方面,提供了一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述第一方面中涉及的方法。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行上述第一方面中涉及的方法。
根据本申请实施例所提供的技术内容,通过响应于应用程序访问分布式文件系统的命名空间,命名空间访问特征统计模块获取应用程序访问命名空间的访问特征信息,客户端向目标服务端的命名空间访问特征分析模块发送特征信息,其中,目标服务端为对应用程序的访问请求进行应答的服务端,命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件,命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,并根据目标目录/文件创建应用程序的虚拟视图,元数据服务模块获取虚拟视图的元数据,并向客户端发送虚拟视图的元数据,以使用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求,能够高效地处理访问请求,减少分布式文件系统的工作负载,提升分布式文件系统性能。
附图说明
图1为一个实施例中分布式文件系统命名空间管理系统的示意性结构图;
图2为一个实施例中分布式文件系统命名空间管理方法的流程示意图;
图3为一个实施例中分布式文件系统命名空间管理装置的结构框图;
图4为一个实施例中计算机设备的示意性结构图。
具体实施方式
以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
为了方便理解,首先对本申请所适用的系统进行描述。本申请提供的分布式文件系统命名空间管理方法,可以应用于如图1所示的分布式文件系统命名空间管理系统。如图1所示,分布式文件系统命名空间管理系统100包括至少一个服务端120和至少一个客户端110,服务端120通过交换网络与客户端110连接。其中,服务端120设置有命名空间管理服务单元121和数据服务122,命名空间管理服务单元121包括命名空间访问特征分析模块1211、命名空间授权管理模块1212和元数据服务模块1213,客户端110运行有应用程序111且设置有虚拟视图构建模块112和命名空间访问特征统计模块113,分布式文件系统包括命名空间管理服务单元121和命名空间访问特征统计模块113,客户端110的应用程序111通过分布式文件系统访问服务端120上的数据资源。客户端可以为用户的应用主机,服务端可以作为存储节点。虚拟视图构建模块112用于接收服务端120的授权指令,构建应用程序111的虚拟视图。
具体地,命名空间访问特征统计模块113用于统计运行于客户端110的应用程序111对分布式文件系统访问的目录级、文件级特征,这些特征包括创建、删除、权限修改等操作模式,以及元数据读写特征等。其中,应用程序111可运行于容器或标准操作系统中,如果应用程序运行于容器中,则命名空间访问特征统计模块113通过过滤容器的元数据操作信息,获取应用程序111对分布式文件系统的访问情况。如果应用程序111运行于标准操作系统中,则命名空间访问特征统计模块113通过过滤应用进程的元数据操作,获取应用程序111对分布式文件系统的访问情况。
服务端120运行分布式文件系统软件,包括命名空间管理服务单元121和数据服务122。其中,命名空间管理服务单元121,可单独运行在一个节点上,也可高可用部署。命名空间管理服务单元121中的元数据服务模块1213用于文件元数据的处理,包括目录、文件的创建、删除、权限操作等。数据服务122用于文件数据的处理,包括文件数据的读写处理、持久化等。命名空间访问特征分析模块1211对运行分布式应用程序111的客户端110发送过来的应用程序111对文件系统命名空间的访问统计信息进行分析,并给出该应用程序访问的命名空间范围。命名空间授权管理模块1212负责分布式文件系统命名空间的授权管理,为应用程序111构建并分配虚拟视图,并维护虚拟视图的租约机制等。
图2为本申请实施例提供的一种分布式文件系统命名空间管理方法的流程图,该方法可以由如图1所示的分布式文件系统命名空间管理系统执行。如图2所示,该方法可以包括以下步骤:
S210,响应于应用程序访问分布式文件系统的命名空间,命名空间访问特征统计模块获取应用程序访问命名空间的特征信息。
分布式文件系统指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过网络与存储节点相连。分布式文件系统为分布在网络上任意位置的资源提供一个逻辑上的树形文件系统结构,从而使用户访问分布在网络上的共享文件更加简便。
分布式文件系统的命名空间为将不同存储节点上的资源组合到一个或多个逻辑结构的命名空间。
应用程序通过访问分布式文件系统的命名空间以从服务端获取响应访问请求的元数据。当应用程序访问分布式文件系统的命名空间时,会产生应用程序对分布式文件系统访问的目录级、文件级特征,其中,特征信息包括对文件的创建、删除、权限修改等操作模式和操作频次。命名空间访问特征统计模块可以获取应用程序对命名空间的访问特征,以用于识别该应用程序访问的命名空间范围。
应用程序访问分布式文件系统时,若初次与命名空间管理服务通信,在未构建应用程序虚拟视图的情况下,通过普通模式访问文件系统命名空间。在应用程序通过普通模式访问分布式文件系统的过程中,命名空间访问特征统计模块会实时记录应用应用程序的文件、目录等访问特征。普通模式为日常使用的访问模式。
S220,客户端向目标服务端的命名空间访问特征分析模块发送特征信息。
其中,目标服务端为对应用程序的访问请求进行应答的服务端。当应用程序通过访问分布式文件系统的命名空间时,基于本次访问请求需要提供请求服务的来源,确定目标服务端。客户端向目标服务端的命名空间访问特征分析模块发送特征信息,命名空间访问特征分析模块可以分析特征信息,确定应用程序需要访问的目录/文件,进而确定该应用程序访问的命名空间范围。
S230,命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件。
命名空间访问特征分析模块在接收到访问特征之后,可采用人工、基于统计、基于机器学习等方法,识别应用程序对命名空间访问的局部性,即,识别应用程序对命名空间中持续访问的目录/文件,将这一类目录/文件定义为目标目录/文件。目标目录/文件限定了应用程序的命名空间范围。
S240,命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,并根据目标目录/文件创建应用程序的虚拟视图。
在确定目标目录/文件之后,应用程序若要访问需要获取相应的权限。当应用程序访问文件系统的目录时,若该目录暂无其他应用程序访问,将为应用程序赋予访问该目录的权限,若该目录已被其他应用程序访问,该应用程序则进入等待队列,并基于租约、优先级等机制设置应用程序对目标目录/文件的访问权限。命名空间授权管理模块赋予应用程序对目标目录/文件的访问权限之后,构建归属该应用程序的虚拟视图,实现客户端对分布式文件系统并发访问的隔离。
在本步骤中,命名空间授权管理模块也可以先构建归属该应用程序的虚拟视图,再赋予应用程序对虚拟视图的访问权限。
在创建归属该应用程序的虚拟视图之后,命名空间授权管理模块为应用程序分配对应的元数据服务程序,命名空间授权管理模块向应用程序所在客户端的虚拟视图构建模块发送虚拟视图的授权信息,虚拟视图构建模块为应用程序提供虚拟的命名空间视图服务。
S250,元数据服务模块获取虚拟视图的元数据,并向客户端发送虚拟视图的元数据,以使用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求。
元数据服务模块处理来自客户端对文件系统命名空间的元数据访问请求,并返回对应的元数据信息,便于应用程序进行数据读写等操作模式。
具体地,元数据服务模块向命名空间授权管理模块获取虚拟视图的控制权限;响应于命名空间授权管理模块授权元数据服务模块,元数据服务模块为应用程序提供此虚拟视图的元数据,并向客户端发送虚拟视图的元数据。
客户端可以端根据应用程序的虚拟视图的元数据管理应用程序对所述分布式文件系统中命名空间的访问请求。由于虚拟视图的元数据位于客户端,当客户端段接收到访问请求时,可以直接响应访问请求,无需从服务端获取响应访问请求的元数据,实现元数据操作的客户端本地化,提升元数据操作性能、降低服务端资源占用。
可以看出,本申请实施例通过响应于应用程序访问分布式文件系统的命名空间,命名空间访问特征统计模块获取应用程序访问命名空间的特征信息,客户端向目标服务端的命名空间访问特征分析模块发送特征信息,其中,目标服务端为对应用程序的访问请求进行应答的服务端,命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件,命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,并根据目标目录/文件创建应用程序的虚拟视图,元数据服务模块获取虚拟视图的元数据,并向客户端发送虚拟视图的元数据,以使用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求,能够高效地处理访问请求,减少分布式文件系统的工作负载,提升分布式文件系统性能。
作为一种可实现的方式,命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件,包括:
根据特征信息,获取应用程序访问命名空间中目录/文件的操作频次;
将预设时间内操作频次超过预设次数的目录/文件确定为应用程序访问的目标目录/文件。
其中,特征信息包括对目录/文件的创建、删除、权限修改等操作模式和目录/文件的操作频次。
从应用程序访问命名空间中目录/文件的访问特征,获取应用程序访问过目录/文件的操作频次。当应用程序访问目录/文件在预设时间内操作频次超过预设次数时,说明应用程序持续访问该目录/文件,将这一类目录/文件定义为目标目录/文件。预设时间和预设次数可以根据实际需求设定,比如说,在1s内操作频次超过10次。
作为一种可实现的方式,客户端还设置有虚拟视图构建模块;该方法还包括:
在命名空间授权管理模块设置应用程序对目标目录/文件的访问权限之后,生成应用程序访问目标目录/文件的授权指令,并向虚拟视图构建模块发送授权指令;
虚拟视图构建模块根据授权指令,构建应用程序的虚拟视图。
其中,授权指令包括应用程序所在客户端的授权等级、授权权限、授权目录/文件等。应用程序的虚拟视图可以由命名空间授权管理模块构建,也可以由虚拟视图构建模块构建。
在命名空间授权管理模块设置应用程序对目标目录/文件的访问权限之后,还未创建虚拟视图之前,命名空间授权管理模块生成应用程序访问目标目录/文件的授权指令,并向虚拟视图构建模块发送授权指令,虚拟视图构建模块根据授权指令获取服务端已经授权访问的目标目录/文件,依据这些授权访问的目标目录/文件构建归属应用程序的虚拟视图。虚拟视图,可包含文件系统整体目录/文件,也可包含部分目录及其子目录、文件等。
作为一种可实现的方式,命名空间授权管理模块根据目标目录/文件创建应用程序的虚拟视图,包括:
向分布式文件系统的命名空间申请目标目录/文件的操作权限;
在分布式文件系统的命名空间授权命名空间授权管理模块后,获取目标目录/文件对应的数据;
根据应用程序的访问请求,确定应用程序所在客户端的终端信息和授权等级;
根据目标目录/文件对应的数据、应用程序所在客户端的终端信息和授权等级,创建应用程序的虚拟视图。
命名空间授权管理模块若根据目标目录/文件创建应用程序的虚拟视图,需要先向分布式文件系统的命名空间申请目标目录/文件的操作权限,在分布式文件系统的命名空间授权命名空间授权管理模块后,从分布式文件系统的命名空间中获取目标目录/文件对应的数据。访问请求包含应用程序所在客户端的终端信息和授权等级,其中,终端信息包括客户端的标识号,授权等级为允许客户端执行操作模式的等级,比如说,本地保存、正常读写数据、创建文件和批量删除等。根据目标目录/文件对应的数据、应用程序所在客户端的终端信息和授权等级,创建应用程序的虚拟视图,如此,通过该虚拟视图归属的应用程序来自哪个客户端,具备怎样的授权等级,以便于服务端后续向客户端发送应用程序的虚拟视图的元数据。
作为一种可实现的方式,授权指令包括应用程序所在客户端的授权等级;虚拟视图构建模块根据授权指令,构建应用程序的虚拟视图,包括:
虚拟视图构建模块接收到授权指令后,向分布式文件系统的命名空间申请目标目录/文件的操作权限;
在分布式文件系统的命名空间授权虚拟视图构建模块后,获取目标目录/文件对应的数据;
根据目标目录/文件对应的数据和应用程序所在客户端的授权等级,构建应用程序的虚拟视图。
虚拟视图构建模块接收到授权指令后,获取授权指令允许授权应用程序的目标目录/文件,向分布式文件系统的命名空间申请目标目录/文件的操作权限。在分布式文件系统的命名空间授权虚拟视图构建模块后,虚拟视图构建模块获取目标目录/文件对应的数据,根据目标目录/文件对应的数据和该客户端的授权等级,构建应用程序的虚拟视图。由于虚拟视图构建模块在客户端构建虚拟视图,虚拟视图已存在于客户端,无需识别虚拟视图属于哪个客户端的应用程序,所以,在客户端和服务端生成虚拟视图区别在于是否需要获取应用程序所在客户端的终端信息。
作为一种可实现的方式,命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,包括:
获取至少一个客户端对分布式文件系统的命名空间的访问信息;
根据访问信息,判断目标目录/文件是否被其他应用程序访问,得到判断结果;
根据判断结果,设置应用程序对目标目录/文件的访问权限。
其中,访问信息包括目标目录/文件的访问对象、访问特征、访问时间、访问频率、访问次数等信息。
在命名空间授权管理模块设置应用程序对目标目录/文件的访问权限时,需要先判断该目标目录/文件与其他虚拟视图是否存在冲突,若目标目录/文件仅被当前应用程序访问,表明目标目录/文件与其他虚拟视图没有冲突,若目标目录/文件被其他一个或多个应用程序访问,表明目标目录/文件与其他虚拟视图存在冲突。
根据目标目录/文件的访问对象判断目标目录/文件是否被其他应用程序访问,当目标目录/文件的访问对象为应用程序且无其他访问对象时,也就是说只有当前应用程序访问,那么,判断结果为目标目录/文件未被其他应用程序访问。当目标目录/文件的访问对象为多个应用程序时,判断结果为目标目录/文件被其他应用程序访问。
根据判断结果,设置应用程序对目标目录/文件的访问权限。若目标目录/文件未被其他应用程序访问,表明该目标目录/文件与其他虚拟视图没有冲突,可以将该目标目录/文件划分至应用程序的虚拟视图中,设置应用程序对目标目录/文件的访问权限。
作为一种可实现的方式,若目标目录/文件已被其他应用程序访问,应用程序进入访问目标目录/文件的等待队列;
基于预设租约机制,确定目标目录/文件被其他应用程序访问的限制时间;
当目标目录/文件的实际访问时间超过限制时间时,基于等待队列继续判断目标目录/文件是否被其他应用程序访问;
直至当目标目录/文件被应用程序访问,设置应用程序对目标目录/文件的访问权限。
其中,预设租约机制为预先定义的租约机制,租约机制是一种在分布式文件系统常用的协议,其可约定应用程序访问分布式文件系统命名空间的时间限制。
若该目标目录/文件已有归属的虚拟视图,应用程序则进入访问目标目录/文件的等待队列,基于预设租约机制,确定目标目录/文件被其他应用程序访问的限制时间,当目标目录/文件的实际访问时间超过限制时间时,说明其他应用程序不再有对目标目录/文件的访问权限,定时回收目标目录/文件的权限到分布式文件系统的命名空间。此时,等待队列中的下一个应用程序可以访问目标目录/文件,继续判断目标目录/文件是否被其他应用程序访问,若是,则继续等待,直至当目标目录/文件被应用程序访问,设置应用程序对目标目录/文件的访问权限。应用程序对目标目录/文件的访问权限可以是应用程序对全部目标目录/文件具有访问权限,也可以是应用程序对部分目标目录/文件具有访问权限。
除了基于租约机制设置应用程序对目标目录/文件的访问权限,还可以根据应用程序的优先级顺序设置应用程序对目标目录/文件的访问权限,具体包括:
若目标目录/文件已被其他应用程序访问,应用程序进入访问目标目录/文件的等待队列;
获取等待队列中应用程序的优先级顺序;
基于优先级顺序,当应用程序有权访问目标目录/文件时,设置应用程序对目标目录/文件的访问权限。
应用程序的优先级顺序可以根据用户的实际需求设置,比如说,应用程序的使用频率,应用程序所在客户端的终端级别,操作应用程序用户的级别等,根据应用程序的紧要程度设置优先级顺序。
基于优先级顺序,等待队列中应用程序陆续访问目标目录/文件。当应用程序有权访问目标目录/文件时,设置应用程序对目标目录/文件的访问权限。根据应用程序的优先级顺序设置应用程序对目标目录/文件的访问权限可以优先分配给更需要的应用程序,加快访问请求的响应速度。
作为一种可实现的方式,用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求,包括:
响应于应用程序对分布式文件系统的命名空间发起访问请求,确定访问请求对应的当前目录/文件的访问权限;
判断当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限是否具有一致性;
当当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限具有一致性时,基于应用程序的虚拟视图的元数据,处理应用程序对分布式文件系统中命名空间的访问请求。
在创建完成应用程序的虚拟视图后,将应用程序的虚拟视图的元数据发送至客户端,当该应用程序再次发起访问请求时,客户端可以根据应用程序的虚拟视图的元数据响应访问请求。
当应用程序对分布式文件系统的命名空间发起访问请求时,确定访问请求对应的当前目录/文件的访问权限,其中,当前目录/文件是指应用程序在本次访问请求中需要访问的目录/文件。此情景下,应用程序对分布式文件系统的命名空间发起访问请求多为一次性发起多个请求。
接着,判断当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限是否具有一致性,包括:
当虚拟视图中存在目标目录/文件的访问权限存在与当前目录/文件的访问权限相同时,也就是说,应用程序在本次访问请求中需要访问的目录/文件在虚拟视图中都具有访问权限,确定当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限具有一致性。
当当前目录/文件的访问权限存在与虚拟视图中目标目录/文件的访问权限不同时,也就是说,应用程序在本次访问请求中需要访问的目录/文件在虚拟视图中部分或者全部没有访问权限,确定当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限不具有一致性。
当当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限不具有一致性时,向元数据服务获取差异目录/文件的访问权限,差异目录/文件为目标目录/文件中与当前目录/文件的访问权限不同的目录/文件;
接收元数据服务对差异目录/文件的授权指令,以保证当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限的一致性。
当当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限不具有一致性时,为了准确全面地响应访问请求,需要向元数据服务获取差异目录/文件的访问权限,开放虚拟视图中差异目录/文件的访问权项,以全面使用虚拟视图中当前目录/文件对应的元数据。
其中,元数据服务可以授权给客户端批量文件创建与删除、本地缓存的权限,降低元数据服务端的处理负载,加速元数据、数据读写操作能力,提升性能。
作为一种可实现的方式,用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求,包括:
响应于多个用户同时使用应用程序对分布式文件系统的命名空间发起访问请求,获取多个用户中每个用户的访问请求对应的特征信息;
根据每个用户的访问请求对应的特征信息,分割应用程序的虚拟视图;
根据分割后的虚拟视图对应的元数据管理应用程序对分布式文件系统中命名空间的访问请求。
当多个用户同时使用应用程序对分布式文件系统的命名空间发起访问请求时,获取多个用户中每个用户的访问请求对应的访问特征,根据每个用户的访问请求对应的访问特征确定每个用户的访问请求对应的目录/文件。以每个用户的访问请求对应的目录/文件作为个体,对应用程序的虚拟视图进行相应地分割,每个用户的访问请求有其对应的虚拟视图。根据分割后的虚拟视图对应的元数据管理应用程序对分布式文件系统中命名空间的访问请求,以实现对虚拟视图的再次分割,隔离同一应用的多个用户同时访问分布式文件系统导致的元数据处理竞争问题。
作为一种可实现的方式,元数据服务模块向客户端发送虚拟视图的元数据,包括:
获取运行有应用程序的多个可用客户端的终端信息;
根据多个可用客户端的终端信息,确定为多个可用客户端中应用程序提供元数据的多个可用服务端;
汇总多个可用服务端为应用程序提供元数据中共有的元数据,得到公共元数据;
将公共元数据添加至应用程序的虚拟视图,以更新应用程序的虚拟视图的元数据;
向多个可用客户端中的任一可用客户端发送虚拟视图更新后的元数据。
一个应用程序可以安装在多个客户端,当同一个应用程序通过多个客户端访问分布式文件系统的命名空间时,服务端提供的元数据可能会有部分相同,此时多个元数据服务模块可以协同分析。
其中,可用客户端为安装有同一个应用程序的客户端,终端信息包括可用客户端的标识号、为可用客户端的应用程序提供元数据的可用服务端的标识号等。
根据所述可用客户端的标识号确定安装有该应用程序的可用客户端,在确定可用客户端之后,根据为可用客户端的应用程序提供元数据的可用服务端的标识号确定其对应的可用服务端。汇总多个可用服务端为应用程序提供元数据中共有的元数据,得到公共元数据。将公共元数据添加至应用程序的虚拟视图,以更新应用程序的虚拟视图的元数据,向多个可用客户端中的任一可用客户端发送应用程序的虚拟视图更新后的元数据,还可以直接向应用程序发送虚拟视图更新后的元数据。本实施例依据元数据访问的局部性,以及元数据服务属主信息,多个元数据服务协同分析,确定合并、迁移策略,实现元数据服务的负载平衡、局部或全局最优。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
图3为本申请实施例提供的一种分布式文件系统命名空间管理装置的结构示意图,用以执行如图2中所示的方法流程。如图3所示,该装置可以包括:获取单元310、发送单元320、确定单元330和设置单元340,还可以进一步包括:构建单元、管理单元。其中各组成模块的主要功能如下:
获取单元310,用于响应于应用程序访问分布式文件系统的命名空间,命名空间访问特征统计模块获取应用程序访问命名空间的特征信息;
发送单元320,用于客户端向目标服务端的命名空间访问特征分析模块发送特征信息,其中,目标服务端为对应用程序的访问请求进行应答的服务端;
确定单元330,用于命名空间访问特征分析模块根据特征信息确定应用程序访问的目标目录/文件;
设置单元340,用于命名空间授权管理模块设置应用程序对目标目录/文件的访问权限,并根据目标目录/文件创建应用程序的虚拟视图;
发送单元320,还用于元数据服务模块获取虚拟视图的元数据,并向客户端发送虚拟视图的元数据,以使用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求。
作为一种可实现的方式,确定单元330,具体用于:
根据特征信息,获取应用程序访问命名空间中目录/文件的操作频次;
将预设时间内操作频次超过预设次数的目录/文件确定为应用程序访问的目标目录/文件。
作为一种可实现的方式,客户端还设置有虚拟视图构建模块,该装置还包括构建单元,用于:在命名空间授权管理模块设置应用程序对目标目录/文件的访问权限之后,生成应用程序访问目标目录/文件的授权指令,并向虚拟视图构建模块发送授权指令;
虚拟视图构建模块根据授权指令,构建应用程序的虚拟视图。
作为一种可实现的方式,设置单元340,具体用于:向分布式文件系统的命名空间申请目标目录/文件的操作权限;
在分布式文件系统的命名空间授权命名空间授权管理模块后,获取目标目录/文件对应的数据;
根据应用程序的访问请求,确定应用程序所在客户端的终端信息和授权等级;
根据目标目录/文件对应的数据、应用程序所在客户端的终端信息和授权等级,创建应用程序的虚拟视图。
作为一种可实现的方式,授权指令包括应用程序所在客户端的授权等级;构建单元,具体用于:虚拟视图构建模块接收到授权指令后,向分布式文件系统的命名空间申请目标目录/文件的操作权限;
在分布式文件系统的命名空间授权虚拟视图构建模块后,获取目标目录/文件对应的数据;
根据目标目录/文件对应的数据和应用程序所在客户端的授权等级,构建应用程序的虚拟视图。
作为一种可实现的方式,设置单元340,具体用于:获取至少一个客户端对分布式文件系统的命名空间的访问信息;
根据访问信息,判断目标目录/文件是否被其他应用程序访问,得到判断结果;
根据判断结果,设置应用程序对目标目录/文件的访问权限。
作为一种可实现的方式,访问信息包括目标目录/文件的访问对象;根据访问信息,判断目标目录/文件是否被其他应用程序访问,包括:
当目标目录/文件的访问对象为应用程序且无其他访问对象时,判断目标目录/文件未被其他应用程序访问;
当目标目录/文件的访问对象为多个应用程序时,判断目标目录/文件被其他应用程序访问。
作为一种可实现的方式,设置单元340,具体用于:若目标目录/文件未被其他应用程序访问,设置应用程序对目标目录/文件的访问权限。
作为一种可实现的方式,设置单元340,具体用于:若目标目录/文件已被其他应用程序访问,应用程序进入访问目标目录/文件的等待队列;
基于预设租约机制,确定目标目录/文件被其他应用程序访问的限制时间;
当目标目录/文件的实际访问时间超过限制时间时,基于等待队列继续判断目标目录/文件是否被其他应用程序访问;
直至当目标目录/文件被应用程序访问,设置应用程序对目标目录/文件的访问权限。
作为一种可实现的方式,设置单元340,具体用于:若目标目录/文件已被其他应用程序访问,应用程序进入访问目标目录/文件的等待队列;
获取等待队列中应用程序的优先级顺序;
基于优先级顺序,当应用程序有权访问目标目录/文件时,设置应用程序对目标目录/文件的访问权限。
作为一种可实现的方式,该装置还包括管理单元,用于用户端根据虚拟视图的元数据管理应用程序对分布式文件系统中命名空间的访问请求,包括:
响应于应用程序对分布式文件系统的命名空间发起访问请求,确定访问请求对应的当前目录/文件的访问权限;
判断当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限是否具有一致性;
当当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限具有一致性时,基于应用程序的虚拟视图的元数据,处理应用程序对分布式文件系统中命名空间的访问请求。
作为一种可实现的方式,确定单元330,还用于:当虚拟视图中存在目标目录/文件的访问权限存在与当前目录/文件的访问权限相同时,确定当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限具有一致性。
作为一种可实现的方式,确定单元330,还用于:当当前目录/文件的访问权限存在与虚拟视图中目标目录/文件的访问权限不同时,确定当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限不具有一致性。
作为一种可实现的方式,确定单元330,还用于:当当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限不具有一致性时,向元数据服务获取差异目录/文件的访问权限,差异目录/文件为目标目录/文件中与当前目录/文件的访问权限不同的目录/文件;
接收元数据服务对差异目录/文件的授权指令,以保证当前目录/文件的访问权限和虚拟视图中目标目录/文件的访问权限的一致性。
作为一种可实现的方式,管理单元,具体用于:
响应于多个用户同时使用应用程序对分布式文件系统的命名空间发起访问请求,获取多个用户中每个用户的访问请求对应的特征信息;
根据每个用户的访问请求对应的特征信息,分割应用程序的虚拟视图;
根据分割后的虚拟视图对应的元数据管理应用程序对分布式文件系统中命名空间的访问请求。
作为一种可实现的方式,发送单元320,具体用于:获取运行有应用程序的多个可用客户端的终端信息;
根据多个可用客户端的终端信息,确定为多个可用客户端中应用程序提供元数据的多个可用服务端;
汇总多个可用服务端为应用程序提供元数据中共有的元数据,得到公共元数据;
将公共元数据添加至应用程序的虚拟视图,以更新应用程序的虚拟视图的元数据;
向多个可用客户端中的任一可用客户端发送虚拟视图更新后的元数据。
作为一种可实现的方式,发送单元320,具体用于:元数据服务模块向命名空间授权管理模块获取虚拟视图的控制权限;
响应于命名空间授权管理模块授权元数据服务模块,元数据服务向客户端发送虚拟视图的元数据。
上述各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
根据本申请的实施例,本申请还提供了一种计算机设备、一种计算机可读存储介质。
如图4所示,是根据本申请实施例的计算机设备的框图。计算机设备旨在表示各种形式的数字计算机或移动装置。其中数字计算机可以包括台式计算机、便携式计算机、工作台、个人数字助理、服务器、大型计算机和其它适合的计算机。移动装置可以包括平板电脑、智能电话、可穿戴式设备等。
如图4所示,设备400包括计算单元401、ROM 402、 RAM 403 、总线404以及输入/输出(I/O)接口405 ,计算单元 401、ROM 402 以及 RAM 403 通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
计算单元401可以根据存储在只读存储器(ROM)402 中的计算机指令或者从存储单元408加载到随机访问存储器(RAM)403 中的计算机指令,来执行本申请方法实施例中的各种处理。计算单元401可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元401可以包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。在一些实施例中,本申请实施例提供的方法可被实现为计算机软件程序,其被有形地包含于计算机可读存储介质,例如存储单元408。
RAM 403还可存储设备400操作所需的各种程序和数据。计算机程序的部分或者全部可以经由ROM 802和/或通信单元409而被载入和/或安装到设备400上。
设备400中的输入单元406、输出单元407、存储单元408和通信单元409可以连接至I/O接口405。其中,输入单元406可以是诸如键盘、鼠标、触摸屏、麦克风等;输出单元407可以是诸如显示器、扬声器、指示灯等。设备400能够通过通信单元409与其他设备进行信息、数据等的交换。
需要说明的是,该设备还可以包括实现正常运行所必需的其他组件。也可以仅包含实现本申请方案所必需的组件,而不必包含图中所示的全部组件。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。
用于实施本申请的方法的计算机指令可以采用一个或多个编程语言的任何组合来编写。这些计算机指令可以提供给计算单元401,使得计算机指令当由诸如处理器等计算单元401执行时使执行本申请方法实施例中涉及的各步骤。
本申请提供的计算机可读存储介质可以是有形的介质,其可以包含或存储计算机指令,用以执行本申请方法实施例中涉及的各步骤。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的等形式的存储介质。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (19)

1.一种分布式文件系统命名空间管理方法,其特征在于,所述方法应用于分布式文件系统命名空间管理系统,所述分布式文件系统命名空间管理系统包括至少一个服务端和至少一个客户端,所述服务端通过交换网络与所述客户端连接,其中,所述服务端设置有命名空间管理服务单元,所述命名空间管理服务单元包括命名空间访问特征分析模块、命名空间授权管理模块和元数据服务模块,所述客户端运行有应用程序且设置有命名空间访问特征统计模块,分布式文件系统包括所述命名空间管理服务单元和所述命名空间访问特征统计模块,所述客户端的应用程序通过所述分布式文件系统访问所述服务端上的数据资源;所述方法包括:
响应于所述应用程序访问所述分布式文件系统的命名空间,所述命名空间访问特征统计模块获取所述应用程序访问所述命名空间的特征信息;
所述客户端向目标服务端的命名空间访问特征分析模块发送所述特征信息,其中,所述目标服务端为对所述应用程序的访问请求进行应答的服务端;
所述命名空间访问特征分析模块根据所述特征信息确定所述应用程序访问的目标目录/文件;
所述命名空间授权管理模块设置所述应用程序对所述目标目录/文件的访问权限,并根据所述目标目录/文件创建所述应用程序的虚拟视图;
所述元数据服务模块获取所述虚拟视图的元数据,并向所述客户端发送所述虚拟视图的元数据,以使用户端根据所述虚拟视图的元数据管理所述应用程序对所述分布式文件系统中命名空间的访问请求,具体包括:响应于所述应用程序对所述分布式文件系统的命名空间发起访问请求,确定所述访问请求对应的当前目录/文件的访问权限;判断所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限是否具有一致性;当所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限具有一致性时,基于所述应用程序的虚拟视图的元数据,处理所述应用程序对所述分布式文件系统中命名空间的访问请求。
2.根据权利要求1所述的方法,其特征在于,所述命名空间访问特征分析模块根据所述特征信息确定所述应用程序访问的目标目录/文件,包括:
根据所述特征信息,获取所述应用程序访问命名空间中目录/文件的操作频次;
将预设时间内操作频次超过预设次数的目录/文件确定为所述应用程序访问的目标目录/文件。
3.根据权利要求1所述的方法,其特征在于,所述客户端还设置有虚拟视图构建模块;所述方法还包括:
在所述命名空间授权管理模块设置所述应用程序对所述目标目录/文件的访问权限之后,生成所述应用程序访问所述目标目录/文件的授权指令,并向所述虚拟视图构建模块发送所述授权指令;
所述虚拟视图构建模块根据所述授权指令,构建所述应用程序的虚拟视图。
4.根据权利要求1所述的方法,其特征在于,所述命名空间授权管理模块根据所述目标目录/文件创建所述应用程序的虚拟视图,包括:
向所述分布式文件系统的命名空间申请目标目录/文件的操作权限;
在所述分布式文件系统的命名空间授权所述命名空间授权管理模块后,获取所述目标目录/文件对应的数据;
根据所述应用程序的访问请求,确定所述应用程序所在客户端的终端信息和授权等级;
根据所述目标目录/文件对应的数据、所述应用程序所在客户端的终端信息和授权等级,创建所述应用程序的虚拟视图。
5.根据权利要求3所述的方法,其特征在于,所述授权指令包括所述应用程序所在客户端的授权等级;所述虚拟视图构建模块根据所述授权指令,构建所述应用程序的虚拟视图,包括:
所述虚拟视图构建模块接收到所述授权指令后,向所述分布式文件系统的命名空间申请目标目录/文件的操作权限;
在所述分布式文件系统的命名空间授权所述虚拟视图构建模块后,获取所述目标目录/文件对应的数据;
根据所述目标目录/文件对应的数据和所述应用程序所在客户端的授权等级,构建所述应用程序的虚拟视图。
6.根据权利要求1所述的方法,其特征在于,所述命名空间授权管理模块设置所述应用程序对所述目标目录/文件的访问权限,包括:
获取所述至少一个客户端对所述分布式文件系统的命名空间的访问信息;
根据所述访问信息,判断所述目标目录/文件是否被其他应用程序访问,得到判断结果;
根据所述判断结果,设置所述应用程序对所述目标目录/文件的访问权限。
7.根据权利要求6所述的方法,其特征在于,所述访问信息包括所述目标目录/文件的访问对象;所述根据所述访问信息,判断所述目标目录/文件是否被其他应用程序访问,包括:
当所述目标目录/文件的访问对象为所述应用程序且无其他访问对象时,判断所述目标目录/文件未被其他应用程序访问;
当所述目标目录/文件的访问对象为多个应用程序时,判断所述目标目录/文件被其他应用程序访问。
8.根据权利要求6所述的方法,其特征在于,所述根据所述判断结果,设置所述应用程序对所述目标目录/文件的访问权限,包括:
若所述目标目录/文件未被其他应用程序访问,设置所述应用程序对所述目标目录/文件的访问权限。
9.根据权利要求6所述的方法,其特征在于,所述根据所述判断结果,设置所述应用程序对所述目标目录/文件的访问权限,包括:
若所述目标目录/文件已被其他应用程序访问,所述应用程序进入访问所述目标目录/文件的等待队列;
基于预设租约机制,确定所述目标目录/文件被其他应用程序访问的限制时间;
当所述目标目录/文件的实际访问时间超过所述限制时间时,基于所述等待队列继续判断所述目标目录/文件是否被其他应用程序访问;
直至当所述目标目录/文件被所述应用程序访问,设置所述应用程序对所述目标目录/文件的访问权限。
10.根据权利要求6所述的方法,其特征在于,所述根据所述判断结果,设置所述应用程序对所述目标目录/文件的访问权限,包括:
若所述目标目录/文件已被其他应用程序访问,所述应用程序进入访问所述目标目录/文件的等待队列;
获取所述等待队列中应用程序的优先级顺序;
基于优先级顺序,当所述应用程序有权访问所述目标目录/文件时,设置所述应用程序对所述目标目录/文件的访问权限。
11.根据权利要求1所述的方法,其特征在于,所述确定所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限是否具有一致性,包括:
当所述虚拟视图中存在目标目录/文件的访问权限存在与所述当前目录/文件的访问权限相同时,确定所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限具有一致性。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
当所述当前目录/文件的访问权限存在与所述虚拟视图中目标目录/文件的访问权限不同时,确定所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限不具有一致性。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
当所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限不具有一致性时,向所述元数据服务获取差异目录/文件的访问权限,所述差异目录/文件为所述目标目录/文件中与所述当前目录/文件的访问权限不同的目录/文件;
接收所述元数据服务对差异目录/文件的授权指令,以保证所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限的一致性。
14.根据权利要求1所述的方法,其特征在于,所述用户端根据所述虚拟视图的元数据管理所述应用程序对所述分布式文件系统中命名空间的访问请求,包括:
响应于多个用户同时使用所述应用程序对所述分布式文件系统的命名空间发起访问请求,获取所述多个用户中每个用户的访问请求对应的特征信息;
根据每个用户的访问请求对应的特征信息,分割所述应用程序的虚拟视图;
根据分割后的虚拟视图对应的元数据管理所述应用程序对所述分布式文件系统中命名空间的访问请求。
15.根据权利要求1所述的方法,其特征在于,所述元数据服务模块向所述客户端发送所述虚拟视图的元数据,包括:
获取运行有所述应用程序的多个可用客户端的终端信息;
根据所述多个可用客户端的终端信息,确定为所述多个可用客户端中所述应用程序提供元数据的多个可用服务端;
汇总所述多个可用服务端为所述应用程序提供元数据中共有的元数据,得到公共元数据;
将所述公共元数据添加至所述应用程序的虚拟视图,以更新所述应用程序的虚拟视图的元数据;
向所述多个可用客户端中的任一可用客户端发送所述虚拟视图更新后的元数据。
16.根据权利要求1所述的方法,其特征在于,所述元数据服务模块向所述客户端发送所述虚拟视图的元数据,包括:
所述元数据服务模块向所述命名空间授权管理模块获取所述虚拟视图的控制权限;
响应于所述命名空间授权管理模块授权所述元数据服务模块,所述元数据服务模块向所述客户端发送所述虚拟视图的元数据。
17.一种分布式文件系统命名空间管理装置,其特征在于,所述装置设置于分布式文件系统命名空间管理系统,所述分布式文件系统命名空间管理系统包括至少一个服务端和至少一个客户端,所述服务端通过交换网络与所述客户端连接,其中,所述服务端设置有命名空间管理服务单元,所述命名空间管理服务单元包括命名空间访问特征分析模块、命名空间授权模块和元数据服务模块,所述客户端运行有应用程序且设置有命名空间访问特征统计模块,分布式文件系统包括所述命名空间管理服务单元和所述命名空间访问特征统计模块,所述客户端的应用程序通过所述分布式文件系统访问所述服务端上的数据资源;所述装置包括:
获取单元,用于响应于所述应用程序访问所述分布式文件系统的命名空间,所述命名空间访问特征统计模块获取所述应用程序访问所述命名空间的特征信息;
发送单元,用于所述客户端向目标服务端的命名空间访问特征分析模块发送所述特征信息,其中,所述目标服务端为对所述应用程序的访问请求进行应答的服务端;
确定单元,用于所述命名空间访问特征分析模块根据所述特征信息确定所述应用程序访问的目标目录/文件;
设置单元,用于所述命名空间授权管理模块设置所述应用程序对所述目标目录/文件的访问权限,并根据所述目标目录/文件创建所述应用程序的虚拟视图;
所述发送单元,还用于所述元数据服务模块获取所述虚拟视图的元数据,并向所述客户端发送所述虚拟视图的元数据,以使用户端根据所述虚拟视图的元数据管理所述应用程序对所述分布式文件系统中命名空间的访问请求,具体包括:响应于所述应用程序对所述分布式文件系统的命名空间发起访问请求,确定所述访问请求对应的当前目录/文件的访问权限;判断所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限是否具有一致性;当所述当前目录/文件的访问权限和所述虚拟视图中目标目录/文件的访问权限具有一致性时,基于所述应用程序的虚拟视图的元数据,处理所述应用程序对所述分布式文件系统中命名空间的访问请求。
18.一种计算机设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机指令,所述计算机指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-16中任一项所述的方法。
19.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至16中任一项所述的方法。
CN202410225048.6A 2024-02-29 2024-02-29 分布式文件系统命名空间管理方法、装置和设备 Active CN117806836B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410225048.6A CN117806836B (zh) 2024-02-29 2024-02-29 分布式文件系统命名空间管理方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410225048.6A CN117806836B (zh) 2024-02-29 2024-02-29 分布式文件系统命名空间管理方法、装置和设备

Publications (2)

Publication Number Publication Date
CN117806836A CN117806836A (zh) 2024-04-02
CN117806836B true CN117806836B (zh) 2024-06-07

Family

ID=90423779

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410225048.6A Active CN117806836B (zh) 2024-02-29 2024-02-29 分布式文件系统命名空间管理方法、装置和设备

Country Status (1)

Country Link
CN (1) CN117806836B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074362A (zh) * 2016-05-02 2018-12-21 谷歌有限责任公司 分布式系统中的拆分和移动范围
CN111159134A (zh) * 2019-12-17 2020-05-15 复旦大学 面向多租户的分布式文件系统安全访问控制方法及系统
CN116383238A (zh) * 2023-06-06 2023-07-04 湖南红普创新科技发展有限公司 基于图结构的数据虚拟化系统、方法、装置、设备及介质
CN116955278A (zh) * 2023-08-03 2023-10-27 西安奥卡云数据科技有限公司 分布式文件系统快照的聚合访问方法、装置及计算机设备
CN117591038A (zh) * 2024-01-18 2024-02-23 济南浪潮数据技术有限公司 一种数据访问方法、装置、分布式存储系统及设备和介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11163750B2 (en) * 2018-09-27 2021-11-02 International Business Machines Corporation Dynamic, transparent manipulation of content and/or namespaces within data storage systems
CN115203141A (zh) * 2022-07-13 2022-10-18 阿里巴巴(中国)有限公司 分布式存储系统、元数据管理方法、设备及存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109074362A (zh) * 2016-05-02 2018-12-21 谷歌有限责任公司 分布式系统中的拆分和移动范围
CN111159134A (zh) * 2019-12-17 2020-05-15 复旦大学 面向多租户的分布式文件系统安全访问控制方法及系统
CN116383238A (zh) * 2023-06-06 2023-07-04 湖南红普创新科技发展有限公司 基于图结构的数据虚拟化系统、方法、装置、设备及介质
CN116955278A (zh) * 2023-08-03 2023-10-27 西安奥卡云数据科技有限公司 分布式文件系统快照的聚合访问方法、装置及计算机设备
CN117591038A (zh) * 2024-01-18 2024-02-23 济南浪潮数据技术有限公司 一种数据访问方法、装置、分布式存储系统及设备和介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
一种适用于集群文件系统分级存储的分布式锁设计与分析;张在贵;《计算机研究与发展》;20120215;第234-239页 *
大规模分布式文件系统元数据管理综述;王洋;刘星;须成忠;江松;王刚;文韬;范小朋;陆平;;集成技术;20160315(02);全文 *

Also Published As

Publication number Publication date
CN117806836A (zh) 2024-04-02

Similar Documents

Publication Publication Date Title
US9052962B2 (en) Distributed storage of data in a cloud storage system
US9697247B2 (en) Tiered data storage architecture
US9535630B1 (en) Leveraging array operations at virtualized storage processor level
CN110147407B (zh) 一种数据处理方法、装置及数据库管理服务器
US20130263117A1 (en) Allocating resources to virtual machines via a weighted cost ratio
WO2017107414A1 (zh) 文件操作方法和装置
CN109906447B (zh) 管理请求数据库系统中不存在的索引键的事务
US11947534B2 (en) Connection pools for parallel processing applications accessing distributed databases
US20200042609A1 (en) Methods and systems for searching directory access groups
CN111886592A (zh) 用于对分片数据集合执行内联接的方法和系统
US10146833B1 (en) Write-back techniques at datastore accelerators
CN109165078B (zh) 一种虚拟分布式服务器及其访问方法
CN101483668A (zh) 热点数据的网络存储和访问方法、设备及系统
WO2021051569A1 (zh) 一种数据隔离方法、装置、计算机设备及存储介质
CN110347654B (zh) 一种上线集群特性的方法和装置
CN117806836B (zh) 分布式文件系统命名空间管理方法、装置和设备
CN116431615A (zh) 一种面向复杂业务场景的灵活数据分区路由方法
US20130318192A1 (en) Composite graph cache management
CN113407108A (zh) 一种数据存储方法和系统
CN115114012B (zh) 一种任务分配方法、装置、电子设备及存储介质
US10114864B1 (en) List element query support and processing
KR102714987B1 (ko) 분산 파일 시스템의 동작 방법
JP6076882B2 (ja) 情報処理システム、管理装置及びキー割当プログラム
CN111782634A (zh) 数据分布式存储方法、装置、电子设备及存储介质
CN113127717A (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