CN113312311A - 命名空间的处理方法及装置 - Google Patents

命名空间的处理方法及装置 Download PDF

Info

Publication number
CN113312311A
CN113312311A CN202010734200.5A CN202010734200A CN113312311A CN 113312311 A CN113312311 A CN 113312311A CN 202010734200 A CN202010734200 A CN 202010734200A CN 113312311 A CN113312311 A CN 113312311A
Authority
CN
China
Prior art keywords
directory
namespace
file system
hierarchy
target operation
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
CN202010734200.5A
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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN202010734200.5A priority Critical patent/CN113312311A/zh
Publication of CN113312311A publication Critical patent/CN113312311A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

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

Abstract

本申请公开了一种命名空间的处理方法及装置。其中,该方法包括:确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。本申请解决了现有技术中基于配置表的方式无法满足容器应用场景下的统一命名空间的交互需求的技术问题。

Description

命名空间的处理方法及装置
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种命名空间的处理方法及装置。
背景技术
在现有技术中,网络附属存储系统主要是基于配置表的方式实现统一命名空间,以将多个文件系统用单一的挂载域名导出。
然而这种传统的基于配置表的方式,需要在管理页面手动配置,虽然可以使用基于心跳等方式将文件系统同步至客户端,但是客户端无法自由的动态创建和删除子文件系统,即该传统的基于配置表的方式在实际使用场景中使用并不方便,并且,为了适配可能还需要改造业务,使用范围会受到很大的限制。
特别是对于类似于容器应用的场景,需要根据配置在启动时为租户动态创建工作目录,并在容器退出时删除目录,当迁移到统一命名空间时,租户的工作目录对应于一个独立的文件系统,因此需要支持客户端动态的在命名空间下创建和删除文件系统的功能。但是,传统基于配置表的方式,显然无法满足这种需求。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种命名空间的处理方法及装置,以至少解决现有技术中基于配置表的方式无法满足容器应用场景下的统一命名空间的交互需求的技术问题。
根据本申请实施例的一个方面,提供了一种命名空间的处理方法,包括:确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
根据本申请实施例的另一方面,还提供了一种命名空间的处理方法,包括:创建命名空间并将上述命名空间挂载至客户端,以使服务端在容器应用场景下,将上述命名空间虚拟成目录结构,其中,上述命名空间包括至少一个文件系统,上述目录结构包括:根目录和多级子目录,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;基于上述目录结构向上述服务端发送控制命令,以使上述服务端根据上述控制命令获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,以及根据上述目录层级控制上述目标对象执行上述目标操作。
根据本申请实施例的另一方面,还提供了一种命名空间的处理装置,包括:确定模块,用于确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;访问模块,用于在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取模块,用于获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;控制模块,用于根据上述目录层级控制上述目标对象执行上述目标操作。
根据本申请实施例的另一方面,还提供了一种命名空间的处理装置,包括:创建模块,用于创建命名空间并将上述命名空间挂载至客户端,以使服务端在容器应用场景下,将上述命名空间虚拟成目录结构,其中,上述命名空间包括至少一个文件系统,上述目录结构包括:根目录和多级子目录,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;处理模块,用于基于上述目录结构向上述服务端发送控制命令,以使上述服务端根据上述控制命令获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,以及根据上述目录层级控制上述目标对象执行上述目标操作。
根据本申请实施例的另一方面,还提供了一种存储介质,其中,上述存储介质包括存储的程序,其中,在上述程序运行时控制上述存储介质所在设备执行任意一项上述的命名空间的处理方法。
根据本申请实施例的另一方面,还提供了一种计算设备,包括:处理器;以及存储器,与上述处理器连接,用于为上述处理器提供处理以下处理步骤的指令:确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
在本申请实施例中,通过确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
容易注意到的是,在容器应用场景下,本申请实施例通过将命名空间虚拟成目录结构,其一级子目录为命名空间的至少一个子文件系统,因此可以以目录结构的方式将命名空间呈现给客户端,使上述客户端通过上述目录结构访问上述至少一个文件系统,并且通过获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,可以实现根据上述目录层级控制上述目标对象执行上述目标操作,如果目标操作是针对命名空间中目录结构的一级子目录,即为文件系统操作,否则为文件系统下的真实文件/目录操作。
由此,本申请实施例达到了满足容器应用场景下的统一命名空间的交互需求的目的,从而实现了基于原生posix接口的交互方式,客户端操作统一命名空间下的文件系统的技术效果,进而解决了现有技术中基于配置表的方式无法满足容器应用场景下的统一命名空间的交互需求的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种用于实现命名空间的处理方法的计算机终端(或移动设备)的硬件结构框图;
图2是根据本申请实施例的一种命名空间的处理方法的流程图;
图3是根据本申请实施例的一种可选的命名空间的处理方法的场景示意图;
图4是根据本申请实施例的另一种可选的命名空间的处理方法的场景示意图;
图5是根据本申请实施例的另一种可选的命名空间的处理方法的场景示意图;
图6是根据本申请实施例的又一种可选的命名空间的处理方法的场景示意图;
图7是根据本申请实施例的另一种命名空间的处理方法的流程图;
图8是根据本申请实施例的一种命名空间的处理装置的结构示意图;
图9是根据本申请实施例的另一种命名空间的处理装置的结构示意图;
图10是根据本申请实施例的一种计算设备的结构示意图;
图11是根据本申请实施例的另一种计算机终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本申请实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
网络附属存储(Network Attached Storage,NAS),是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。
统一命名空间:是NAS的一个功能,可以将多个文件系统合并为统一的挂载域名,也叫单一命名空间。
可移植操作系统接口(Portable Operating System Interface of UNIX,Posix接口):是IEEE为要在各种UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称。
私人目录(Home Directory):是指为每一个加到网上的用户账户建立的,可以为用户提供一个建立子目录、存放文件以及安装个人应用程序的地方,系统用户的主目录,或者用户工作目录,各用户之间相互独立。
实施例1
根据本申请实施例,提供了一种命名空间的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。图1示出了一种用于实现命名空间的处理方法的计算机终端(或移动设备)的硬件结构框图,如图1所示,计算机终端10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输模块106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为BUS总线的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算机终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算机终端10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的命名空间的处理方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的命名空间的处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算机终端10(或移动设备)的用户界面进行交互。
在上述运行环境下,本申请提供了如图2所示的一种命名空间的处理方法,图2是根据本申请实施例的一种命名空间的处理方法的流程图,如图2所示,上述命名空间的处理方法,包括:
步骤S202,确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;
步骤S204,在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;
步骤S206,获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;
步骤S208,根据上述目录层级控制上述目标对象执行上述目标操作。
在本申请实施例中,通过确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
容易注意到的是,在容器应用场景下,本申请实施例通过将命名空间虚拟成目录结构,其一级子目录为命名空间的至少一个子文件系统,因此可以以目录结构的方式将命名空间呈现给客户端,使上述客户端通过上述目录结构访问上述至少一个文件系统,并且通过获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,可以实现根据上述目录层级控制上述目标对象执行上述目标操作,如果目标操作是针对命名空间中目录结构的一级子目录,即为文件系统操作,否则为文件系统下的真实文件/目录操作。
由此,本申请实施例达到了满足容器应用场景下的统一命名空间的交互需求的目的,从而实现了基于原生posix接口的交互方式,客户端操作统一命名空间下的文件系统的技术效果,进而解决了现有技术中基于配置表的方式无法满足容器应用场景下的统一命名空间的交互需求的技术问题。
需要说明的是,本申请实施例的执行主体为服务端,在容器应用场景下,服务端通过将命名空间虚拟成目录结构(例如,根目录结构),目录结构的一级子目录为命名空间(例如,统一命名空间)的至少一个子文件系统,进而可以判断待执行的目标操作是针对命名空间下的子文件系统,还是针对子文件系统下的真实目录。
具体的,本申请实施例中通过将命名空间以及其下的子文件系统分别虚拟成根目录结构和一级子目录,以目录的方式呈现给客户端,进而客户端可以采用原生的posix接口操作统一命名空间下的子文件系统,包括创建、删除、遍历、重命名子文件系统,为应用提供更加友好的交互方式。并且,本申请实施例目录结构的使用方式上和普通目录没有区别,从而可以无缝的适配上层应用。
作为一种可选的实施例,结合多租户能力,客户端可以为每种业务应用创建独立的统一命名空间,并且将每个子目录作为租户的工作目录。具体的,首先在客户端创建一个命名空间以及挂载点,然后挂载在客户端,因此客户端就可以像操作普通目录一样,操作统一命名空间下的子文件系统。
例如,以容器应用为例,客户端可以为每个租户创建一个文件系统,映射在统一命名空间中作为租户的私人空间home directory。通过本申请实施例支持的posix接口的映射功能,可以让客户端通过原生posix接口(以及对应的shell命令)操作统一命名空间下的文件系统,从而达到就像使用普通目录一样的无缝使用统一命名空间,使得本申请实施例的实现过程与使用普通目录并没有任何区别,也无需特殊配置,可以极大提高客户端的运维管理效率。
需要说明的是,本申请实施例所提供的命名空间的处理方法突破了传统的基于挂载表的统一命名空间使用方式,在容器应用场景下,提供将统一命名空间以及统一命名空间下的子文件系统分别虚拟成根目录结构和一级子目录,以目录的方式呈现给客户端,因而客户端就可以用原生的posix接口操作统一命名空间下的子文件系统。
作为一种可选的实施例,本申请实施例中提出了命名空间的虚拟目录抽象,将命名空间的待执行的目标操作抽象为posix接口,并将待执行的目标操作和posix接口对接,可选的,本申请实施例中主要的4个posix接口如下所示:
1)mkdir接口,即是NAS文件系统原生的mkdir posix接口,对应的shell命令为mkdir命令;2)rmdir接口,即是NAS文件系统原生的rmdir posix接口,对应的shell命令为rmdir/rm命令;3)readdir接口,即是NAS文件系统原生的readdir posix接口,对应的shell命令为ls命令;4)rename接口,即是NAS文件系统原生的mkdir posix接口,对应的shell命令为mv命令。
因此,客户端就可以通过shell命令,或者程序直接调用posix操作接口动态实现创建、删除、遍历、重命名文件系统,就像操作普通目录一样。本申请实施例通过将NAS文件系统原生的命令映射到统一命名空间的管理操作上,为应用提供了更加友好的操作方式,并且,本申请实施例涉及的功能对用户可见,交互方式用户可感知。
在一种可选的实施例中,获取上述目标对象的上述目录层级和上述目标操作包括:
步骤S302,接收来自于上述客户端的第一控制命令,其中,上述第一控制命令用于在上述命名空间创建新的文件系统或者在当前文件系统下创建新的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;
步骤S304,基于上述第一控制命令确定上述目录层级和上述目标操作。
可选的,上述第一控制命令为NFS协议命令,具体的该第一控制命令为mkdir接口对应的mkdir shell命令,客户端在使用mkdir接口创建新的文件系统或新的目录时,发送与mkdir接口对应的mkdir shell命令至服务端。
在上述可选的实施例中,第一控制命令用于在上述命名空间创建新的文件系统或者在当前文件系统下创建新的目录,并且,由于多级子目录中一级子目录为子文件系统,则当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录,进而在服务端接收到客户端发送的第一控制命令时,该服务端根据该第一控制指令确定上述目标对象的目录层级和目标操作。
在一种可选的实施例中,根据上述目录层级控制上述目标对象执行上述目标操作包括:
步骤S402,当上述目录层级为上述一级子目录时,在上述命名空间创建新的文件系统;
步骤S404,当上述目录层级并非为上述一级子目录时,在当前文件系统下创建新的目录。
作为一种可选的实施例,如图3所示,在客户端使用mkdir接口创建新的文件系统或新的目录时,客户端将mkdir接口对应的第一控制命令发送给服务端,即NAS系统的NFS服务器,该NFS服务器根据请求内容判断是否要在命名空间下创建新的文件系统,具体的,当第一控制命令指示的目录层级为上述一级子目录时,在上述命名空间创建新的文件系统并设置目录名;当第一控制命令指示的目录层级并非为上述一级子目录时,则解析出当前文件系统信息,调用存储服务(storage)在当前文件系统下创建新的目录。
在一种可选的实施例中,获取上述目标对象的上述目录层级和上述目标操作包括:
步骤S502,接收来自于上述客户端的第二控制命令,其中,上述第二控制命令用于在上述命名空间删除目标文件系统或者在当前文件系统下删除目标目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;
步骤S504,基于上述第二控制命令确定上述目录层级和上述目标操作。
可选的,上述第二控制命令为NFS协议命令,具体的该第二控制命令为rmdir接口对应的rmdir/rm命令,作为一种可选的实施例,客户端在使用rmdir接口在上述命名空间删除目标文件系统或者在当前文件系统下删除目标目录时,客户端发送与rmdir接口对应的rmdir/rm命令至服务端,进而服务端基于上述rmdir/rm命令确定上述目录层级和上述目标操作。
在一种可选的实施例中,根据上述目录层级控制上述目标对象执行上述目标操作包括:
步骤S602,当上述目录层级为上述一级子目录时,在上述命名空间删除目标文件系统;
步骤S604,当上述目录层级并非为上述一级子目录时,在当前文件系统下删除目标目录。
作为一种可选的实施例,如图4所示,在客户端使用rmdir接口在上述命名空间删除目标文件系统或者在当前文件系统下删除目标目录时,客户端发送与该rmdir接口对应的rmdir/rm命令至服务端,即NAS系统的NFS服务器,该NFS服务器根据请求内容判断是否要在命名空间下删除文件系统,具体的,当第二控制命令指示的目录层级为上述一级子目录时,在上述命名空间查找文件系统并删除;当第二控制命令指示的目录层级并非为上述一级子目录时,则解析出当前文件系统信息,调用存储服务storage在当前文件系统下删除目标目录。
在一种可选的实施例中,获取上述目标对象的上述目录层级和上述目标操作包括:
步骤S702,接收来自于上述客户端的第三控制命令,其中,上述第三控制命令用于在上述命名空间查询已创建的文件系统或者在当前文件系统下查询已创建的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;
步骤S704,基于上述第三控制命令确定上述目录层级和上述目标操作。
可选的,上述第三控制命令为NFS协议命令,具体的该第三控制命令为readdir接口对应的ls命令,作为一种可选的实施例,客户端在使用readdir接口在上述命名空间查询已创建的文件系统或者在当前文件系统下查询已创建的目录时,客户端发送与readdir接口对应的ls命令至服务端,进而服务端基于ls命令确定上述目录层级和上述目标操作。
在一种可选的实施例中,根据上述目录层级控制上述目标对象执行上述目标操作包括:
步骤S802,当上述目录层级为上述一级子目录时,在上述命名空间查询已创建的文件系统;
步骤S804,当上述目录层级并非为上述一级子目录时,在当前文件系统下查询已创建的目录。
作为一种可选的实施例,如图5所示,在客户端使用readdir接口在上述命名空间查询已创建的文件系统或者在当前文件系统下查询已创建的目录时,客户端发送与该readdir接口对应的ls命令至服务端,即NAS系统的NFS服务器,该NFS服务器根据请求内容判断是否要列举命名空间下的文件系统,具体的,当第三控制命令指示的目录层级为上述一级子目录时,根据遍历命名空间中已创建的文件系统,并以目录entry的方式返回给客户端;当第三控制命令指示的目录层级并非为上述一级子目录时,则解析出当前文件系统信息,调用存储服务storage在当前文件系统下遍历已创建的目录。
在一种可选的实施例中,获取上述目标对象的上述目录层级和上述目标操作包括:
步骤S902,接收来自于上述客户端的第四控制命令,其中,上述第四控制命令用于在上述命名空间中的源文件系统与目的文件系统均位于上述一级子目录时,将上述源文件系统重命名为上述目的文件系统,或者,将当前文件系统下的源目录重命名为目的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;
步骤S904,基于上述第四控制命令确定上述目录层级和上述目标操作。
可选的,上述第四控制命令为NFS协议命令,具体的该第四控制命令为rename接口对应的mv命令,作为一种可选的实施例,客户端在使用rename接口在上述命名空间中的源文件系统与目的文件系统均位于上述一级子目录时,将上述源文件系统重命名为上述目的文件系统,或者,将当前文件系统下的源目录重命名为目的目录时,客户端发送与rename接口对应的mv命令至服务端,进而服务端基于mv命令确定上述目录层级和上述目标操作。
在一种可选的实施例中,根据上述目录层级控制上述目标对象执行上述目标操作包括:
步骤S1002,当上述目录层级为上述一级子目录时,将上述源文件系统重命名为上述目的文件系统;
步骤S1004,当上述目录层级并非为上述一级子目录时,将当前文件系统下的源目录重命名为目的目录。
作为一种可选的实施例,如图6所示,在客户端使用rename接口在上述命名空间中的源文件系统与目的文件系统均位于上述一级子目录时,将上述源文件系统重命名为上述目的文件系统,或者,将当前文件系统下的源目录重命名为目的目录时,客户端发送与该rename接口对应的mv命令至服务端,即NAS系统的NFS服务器,该NFS服务器根据请求内容判断是否要将源文件系统重命名为上述目的文件系统,具体的,当第四控制命令指示的目录层级为上述一级子目录时,并且源文件系统和目的文件系统在同一级目录,则将上述源文件系统重命名为上述目的文件系统,源文件系统和目的文件系统不在同一级目录,则返回错误;当上述目录层级并非为上述一级子目录时,则解析出当前文件系统信息,调用存储服务storage将当前文件系统下的源目录重命名为目的目录。
根据本申请实施例,还提供了另一种命名空间的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在上述运行环境下,本申请提供了如图7所示的另一种命名空间的处理方法,图7是根据本申请实施例的另一种命名空间的处理方法的流程图,如图7所示,上述命名空间的处理方法,包括:
步骤S1102,创建命名空间并将上述命名空间挂载至客户端,以使服务端在容器应用场景下,将上述命名空间虚拟成目录结构,其中,上述命名空间包括至少一个文件系统,上述目录结构包括:根目录和多级子目录,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;
步骤S1104,基于上述目录结构向上述服务端发送控制命令,以使上述服务端根据上述控制命令获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,以及根据上述目录层级控制上述目标对象执行上述目标操作。
在本申请实施例中,通过创建命名空间并将上述命名空间挂载至客户端,以使服务端在容器应用场景下,将上述命名空间虚拟成目录结构,其中,上述命名空间包括至少一个文件系统,上述目录结构包括:根目录和多级子目录,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;基于上述目录结构向上述服务端发送控制命令,以使上述服务端根据上述控制命令获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,以及根据上述目录层级控制上述目标对象执行上述目标操作。
容易注意到的是,在容器应用场景下,本申请实施例通过服务端将命名空间虚拟成目录结构,其一级子目录为命名空间的至少一个子文件系统,因此可以以目录结构的方式将命名空间呈现给客户端,使上述客户端通过上述目录结构访问上述至少一个文件系统,并且通过获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,可以实现根据上述目录层级控制上述目标对象执行上述目标操作,如果目标操作是针对命名空间中目录结构的一级子目录,即为文件系统操作,否则为文件系统下的真实文件/目录操作。
由此,本申请实施例达到了满足容器应用场景下的统一命名空间的交互需求的目的,从而实现了基于原生posix接口的交互方式,客户端操作统一命名空间下的文件系统的技术效果,进而解决了现有技术中基于配置表的方式无法满足容器应用场景下的统一命名空间的交互需求的技术问题。
需要说明的是,本申请实施例的执行主体为客户端,在容器应用场景下,该客户端通过创建命名空间并将上述命名空间挂载至客户端,以使服务端将上述命名空间虚拟成目录结构(例如,根目录结构),目录结构的一级子目录为命名空间(例如,统一命名空间)的至少一个子文件系统,进而可以判断待执行的目标操作是针对命名空间下的子文件系统,还是针对子文件系统下的真实目录。
具体的,本申请实施例中通过将命名空间以及其下的子文件系统分别虚拟成根目录结构和一级子目录,以目录的方式呈现给客户端,进而客户端可以采用原生的posix接口操作统一命名空间下的子文件系统,包括创建、删除、遍历、重命名子文件系统,为应用提供更加友好的交互方式。并且,本申请实施例目录结构的使用方式上和普通目录没有区别,从而可以无缝的适配上层应用。
作为一种可选的实施例,结合多租户能力,客户端可以为每种业务应用创建独立的统一命名空间,并且将每个子目录作为租户的工作目录。具体的,首先在客户端创建一个命名空间以及挂载点,然后挂载在客户端,因此客户端就可以像操作普通目录一样,操作统一命名空间下的子文件系统。
例如,以容器应用为例,客户端可以为每个租户创建一个文件系统,映射在统一命名空间中作为租户的私人空间home directory。通过本申请实施例支持的posix接口的映射功能,可以让客户端通过原生posix接口(以及对应的shell命令)操作统一命名空间下的文件系统,从而达到就像使用普通目录一样的无缝使用统一命名空间,使得本申请实施例的实现过程与使用普通目录并没有任何区别,也无需特殊配置,可以极大提高客户端的运维管理效率。
需要说明的是,本申请实施例所提供的命名空间的处理方法突破了传统的基于挂载表的统一命名空间使用方式,提供将统一命名空间以及统一命名空间下的子文件系统分别虚拟成根目录结构和一级子目录,以目录的方式呈现给客户端,因而客户端就可以用原生的posix接口操作统一命名空间下的子文件系统。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例上述的方法。
实施例2
根据本申请实施例,还提供了一种用于实施上述命名空间的处理方法的装置实施例,图8是根据本申请实施例的一种命名空间的处理装置的结构示意图,如图8所示,该装置包括:确定模块80、访问模块82、获取模块84和控制模块86,其中:
确定模块80,用于确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;访问模块82,用于在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取模块84,用于获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;控制模块86,用于根据上述目录层级控制上述目标对象执行上述目标操作。
此处需要说明的是,上述确定模块80、访问模块82、获取模块84和控制模块86对应于实施例1中的步骤S202至步骤S208,四个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
根据本申请实施例,还提供了另一种用于实施上述命名空间的处理方法的装置实施例,图9是根据本申请实施例的另一种命名空间的处理装置的结构示意图,如图9所示,该装置包括:创建模块90和处理模块92,其中:
创建模块90,用于创建命名空间并将上述命名空间挂载至客户端,以使服务端将上述命名空间虚拟成目录结构,其中,上述命名空间包括至少一个文件系统,上述目录结构包括:根目录和多级子目录,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;处理模块92,用于基于上述目录结构向上述服务端发送控制命令,以使上述服务端根据上述控制命令获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,以及根据上述目录层级控制上述目标对象执行上述目标操作。
此处需要说明的是,上述创建模块90和处理模块92对应于实施例1中的步骤S1102至步骤S1104,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例1提供的计算机终端10中。
还需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例3
根据本申请实施例,还提供了一种计算设备的实施例,该计算设备可以是计算设备群中的任意一个计算设备。图10是根据本申请实施例的一种计算设备的结构示意图,如图10所示,该计算设备包括:处理器500和存储器502,其中:
处理器500;以及存储器502,与上述处理器500连接,用于为上述处理器提供处理以下处理步骤的指令:确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
在本申请实施例中,通过确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
容易注意到的是,在容器应用场景下,本申请实施例通过将命名空间虚拟成目录结构,其一级子目录为命名空间的至少一个子文件系统,因此可以以目录结构的方式将命名空间呈现给客户端,使上述客户端通过上述目录结构访问上述至少一个文件系统,并且通过获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,可以实现根据上述目录层级控制上述目标对象执行上述目标操作,如果目标操作是针对命名空间中目录结构的一级子目录,即为文件系统操作,否则为文件系统下的真实文件/目录操作。
由此,本申请实施例达到了满足容器应用场景下的统一命名空间的交互需求的目的,从而实现了基于原生posix接口的交互方式,客户端操作统一命名空间下的文件系统的技术效果,进而解决了现有技术中基于配置表的方式无法满足容器应用场景下的统一命名空间的交互需求的技术问题。
还需要说明的是,本实施例的优选实施方式可以参见实施例1中的相关描述,此处不再赘述。
实施例4
根据本申请的实施例,还提供了一种计算机终端的实施例,该计算机终端可以是计算机终端群中的任意一个计算机终端设备。可选地,在本实施例中,上述计算机终端也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算机终端可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算机终端可以执行命名空间的处理方法中以下步骤的程序代码:确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
可选地,图11是根据本申请实施例的另一种计算机终端的结构框图,如图11所示,该计算机终端可以包括:一个或多个(图中仅示出一个)处理器602、存储器604、以及外设接口606。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的命名空间的处理方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的命名空间的处理方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
可选的,上述处理器还可以执行如下步骤的程序代码:接收来自于上述客户端的第一控制命令,其中,上述第一控制命令用于在上述命名空间创建新的文件系统或者在当前文件系统下创建新的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第一控制命令确定上述目录层级和上述目标操作。
可选的,上述处理器还可以执行如下步骤的程序代码:当上述目录层级为上述一级子目录时,在上述命名空间创建新的文件系统;当上述目录层级并非为上述一级子目录时,在当前文件系统下创建新的目录。
可选的,上述处理器还可以执行如下步骤的程序代码:接收来自于上述客户端的第二控制命令,其中,上述第二控制命令用于在上述命名空间删除目标文件系统或者在当前文件系统下删除目标目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第二控制命令确定上述目录层级和上述目标操作。
可选的,上述处理器还可以执行如下步骤的程序代码:当上述目录层级为上述一级子目录时,在上述命名空间删除目标文件系统;当上述目录层级并非为上述一级子目录时,在当前文件系统下删除目标目录。
可选的,上述处理器还可以执行如下步骤的程序代码:接收来自于上述客户端的第三控制命令,其中,上述第三控制命令用于在上述命名空间查询已创建的文件系统或者在当前文件系统下查询已创建的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第三控制命令确定上述目录层级和上述目标操作。
可选的,上述处理器还可以执行如下步骤的程序代码:当上述目录层级为上述一级子目录时,在上述命名空间查询已创建的文件系统;当上述目录层级并非为上述一级子目录时,在当前文件系统下查询已创建的目录。
可选的,上述处理器还可以执行如下步骤的程序代码:接收来自于上述客户端的第四控制命令,其中,上述第四控制命令用于在上述命名空间中的源文件系统与目的文件系统均位于上述一级子目录时,将上述源文件系统重命名为上述目的文件系统,或者,将当前文件系统下的源目录重命名为目的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第四控制命令确定上述目录层级和上述目标操作。
可选的,上述处理器还可以执行如下步骤的程序代码:当上述目录层级为上述一级子目录时,将上述源文件系统重命名为上述目的文件系统;当上述目录层级并非为上述一级子目录时,将当前文件系统下的源目录重命名为目的目录。
可选的,上述处理器还可以执行如下步骤的程序代码:创建命名空间并将上述命名空间挂载至客户端,以使服务端将上述命名空间虚拟成目录结构,其中,上述命名空间包括至少一个文件系统,上述目录结构包括:根目录和多级子目录,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;基于上述目录结构向上述服务端发送控制命令,以使上述服务端根据上述控制命令获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,以及根据上述目录层级控制上述目标对象执行上述目标操作。
采用本申请实施例,提供了一种命名空间的处理方案。在本申请实施例中,通过确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
容易注意到的是,在容器应用场景下,本申请实施例通过将命名空间虚拟成目录结构,其一级子目录为命名空间的至少一个子文件系统,因此可以以目录结构的方式将命名空间呈现给客户端,使上述客户端通过上述目录结构访问上述至少一个文件系统,并且通过获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,可以实现根据上述目录层级控制上述目标对象执行上述目标操作,如果目标操作是针对命名空间中目录结构的一级子目录,即为文件系统操作,否则为文件系统下的真实文件/目录操作。
由此,本申请实施例达到了满足容器应用场景下的统一命名空间的交互需求的目的,从而实现了基于原生posix接口的交互方式,客户端操作统一命名空间下的文件系统的技术效果,进而解决了现有技术中基于配置表的方式无法满足容器应用场景下的统一命名空间的交互需求的技术问题。
本领域普通技术人员可以理解,图11所示的结构仅为示意,计算机终端也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图11其并不对上述电子装置的结构造成限定。例如,计算机终端还可包括比图11中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图11所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例5
根据本申请的实施例,还提供了一种存储介质的实施例。可选地,在本实施例中,上述存储介质可以用于保存上述实施例中提供的命名空间的处理方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定客户端创建并挂载命名空间,其中,上述命名空间包括至少一个文件系统;在容器应用场景下,将上述命名空间虚拟成目录结构,以使上述客户端通过上述目录结构访问上述至少一个文件系统,其中,上述目录结构包括:根目录和多级子目录,其中,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作;根据上述目录层级控制上述目标对象执行上述目标操作。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于上述客户端的第一控制命令,其中,上述第一控制命令用于在上述命名空间创建新的文件系统或者在当前文件系统下创建新的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第一控制命令确定上述目录层级和上述目标操作。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当上述目录层级为上述一级子目录时,在上述命名空间创建新的文件系统;当上述目录层级并非为上述一级子目录时,在当前文件系统下创建新的目录。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于上述客户端的第二控制命令,其中,上述第二控制命令用于在上述命名空间删除目标文件系统或者在当前文件系统下删除目标目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第二控制命令确定上述目录层级和上述目标操作。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当上述目录层级为上述一级子目录时,在上述命名空间删除目标文件系统;当上述目录层级并非为上述一级子目录时,在当前文件系统下删除目标目录。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于上述客户端的第三控制命令,其中,上述第三控制命令用于在上述命名空间查询已创建的文件系统或者在当前文件系统下查询已创建的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第三控制命令确定上述目录层级和上述目标操作。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当上述目录层级为上述一级子目录时,在上述命名空间查询已创建的文件系统;当上述目录层级并非为上述一级子目录时,在当前文件系统下查询已创建的目录。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:接收来自于上述客户端的第四控制命令,其中,上述第四控制命令用于在上述命名空间中的源文件系统与目的文件系统均位于上述一级子目录时,将上述源文件系统重命名为上述目的文件系统,或者,将当前文件系统下的源目录重命名为目的目录,上述当前文件系统被虚拟成上述多级子目录中除上述一级子目录之外的其余层级子目录;基于上述第四控制命令确定上述目录层级和上述目标操作。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:当上述目录层级为上述一级子目录时,将上述源文件系统重命名为上述目的文件系统;当上述目录层级并非为上述一级子目录时,将当前文件系统下的源目录重命名为目的目录。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:创建命名空间并将上述命名空间挂载至客户端,以使服务端在容器应用场景下,将上述命名空间虚拟成目录结构,其中,上述命名空间包括至少一个文件系统,上述目录结构包括:根目录和多级子目录,上述命名空间被虚拟成上述根目录,上述至少一个文件系统被虚拟成一级子目录;基于上述目录结构向上述服务端发送控制命令,以使上述服务端根据上述控制命令获取待控制的目标对象在上述目录结构中的目录层级和待执行的目标操作,以及根据上述目录层级控制上述目标对象执行上述目标操作。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (14)

1.一种命名空间的处理方法,包括:
确定客户端创建并挂载命名空间,其中,所述命名空间包括至少一个文件系统;
在容器应用场景下,将所述命名空间虚拟成目录结构,以使所述客户端通过所述目录结构访问所述至少一个文件系统,其中,所述目录结构包括:根目录和多级子目录,其中,所述命名空间被虚拟成所述根目录,所述至少一个文件系统被虚拟成一级子目录;
获取待控制的目标对象在所述目录结构中的目录层级和待执行的目标操作;
根据所述目录层级控制所述目标对象执行所述目标操作。
2.根据权利要求1所述的方法,其中,获取所述目标对象的所述目录层级和所述目标操作包括:
接收来自于所述客户端的第一控制命令,其中,所述第一控制命令用于在所述命名空间创建新的文件系统或者在当前文件系统下创建新的目录,所述当前文件系统被虚拟成所述多级子目录中除所述一级子目录之外的其余层级子目录;
基于所述第一控制命令确定所述目录层级和所述目标操作。
3.根据权利要求2所述的方法,其中,根据所述目录层级控制所述目标对象执行所述目标操作包括:
当所述目录层级为所述一级子目录时,在所述命名空间创建新的文件系统;
当所述目录层级并非为所述一级子目录时,在当前文件系统下创建新的目录。
4.根据权利要求1所述的方法,其中,获取所述目标对象的所述目录层级和所述目标操作包括:
接收来自于所述客户端的第二控制命令,其中,所述第二控制命令用于在所述命名空间删除目标文件系统或者在当前文件系统下删除目标目录,所述当前文件系统被虚拟成所述多级子目录中除所述一级子目录之外的其余层级子目录;
基于所述第二控制命令确定所述目录层级和所述目标操作。
5.根据权利要求4所述的方法,其中,根据所述目录层级控制所述目标对象执行所述目标操作包括:
当所述目录层级为所述一级子目录时,在所述命名空间删除目标文件系统;
当所述目录层级并非为所述一级子目录时,在当前文件系统下删除目标目录。
6.根据权利要求1所述的方法,其中,获取所述目标对象的所述目录层级和所述目标操作包括:
接收来自于所述客户端的第三控制命令,其中,所述第三控制命令用于在所述命名空间查询已创建的文件系统或者在当前文件系统下查询已创建的目录,所述当前文件系统被虚拟成所述多级子目录中除所述一级子目录之外的其余层级子目录;
基于所述第三控制命令确定所述目录层级和所述目标操作。
7.根据权利要求6所述的方法,其中,根据所述目录层级控制所述目标对象执行所述目标操作包括:
当所述目录层级为所述一级子目录时,在所述命名空间查询已创建的文件系统;
当所述目录层级并非为所述一级子目录时,在当前文件系统下查询已创建的目录。
8.根据权利要求1所述的方法,其中,获取所述目标对象的所述目录层级和所述目标操作包括:
接收来自于所述客户端的第四控制命令,其中,所述第四控制命令用于在所述命名空间中的源文件系统与目的文件系统均位于所述一级子目录时,将所述源文件系统重命名为所述目的文件系统,或者,将当前文件系统下的源目录重命名为目的目录,所述当前文件系统被虚拟成所述多级子目录中除所述一级子目录之外的其余层级子目录;
基于所述第四控制命令确定所述目录层级和所述目标操作。
9.根据权利要求8所述的方法,其中,根据所述目录层级控制所述目标对象执行所述目标操作包括:
当所述目录层级为所述一级子目录时,将所述源文件系统重命名为所述目的文件系统;
当所述目录层级并非为所述一级子目录时,将当前文件系统下的源目录重命名为目的目录。
10.一种命名空间的处理方法,包括:
创建命名空间并将所述命名空间挂载至客户端,以使服务端在容器应用场景下,将所述命名空间虚拟成目录结构,其中,所述命名空间包括至少一个文件系统,所述目录结构包括:根目录和多级子目录,所述命名空间被虚拟成所述根目录,所述至少一个文件系统被虚拟成一级子目录;
基于所述目录结构向所述服务端发送控制命令,以使所述服务端根据所述控制命令获取待控制的目标对象在所述目录结构中的目录层级和待执行的目标操作,以及根据所述目录层级控制所述目标对象执行所述目标操作。
11.一种命名空间的处理装置,包括:
确定模块,用于确定客户端创建并挂载命名空间,其中,所述命名空间包括至少一个文件系统;
访问模块,用于在容器应用场景下,将所述命名空间虚拟成目录结构,以使所述客户端通过所述目录结构访问所述至少一个文件系统,其中,所述目录结构包括:根目录和多级子目录,其中,所述命名空间被虚拟成所述根目录,所述至少一个文件系统被虚拟成一级子目录;
获取模块,用于获取待控制的目标对象在所述目录结构中的目录层级和待执行的目标操作;
控制模块,用于根据所述目录层级控制所述目标对象执行所述目标操作。
12.一种命名空间的处理装置,包括:
创建模块,用于创建命名空间并将所述命名空间挂载至客户端,以使服务端在容器应用场景下,将所述命名空间虚拟成目录结构,其中,所述命名空间包括至少一个文件系统,所述目录结构包括:根目录和多级子目录,所述命名空间被虚拟成所述根目录,所述至少一个文件系统被虚拟成一级子目录;
处理模块,用于基于所述目录结构向所述服务端发送控制命令,以使所述服务端根据所述控制命令获取待控制的目标对象在所述目录结构中的目录层级和待执行的目标操作,以及根据所述目录层级控制所述目标对象执行所述目标操作。
13.一种存储介质,其中,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至10中任意一项所述的命名空间的处理方法。
14.一种计算设备,其中,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
确定客户端创建并挂载命名空间,其中,所述命名空间包括至少一个文件系统;
在容器应用场景下,将所述命名空间虚拟成目录结构,以使所述客户端通过所述目录结构访问所述至少一个文件系统,其中,所述目录结构包括:根目录和多级子目录,其中,所述命名空间被虚拟成所述根目录,所述至少一个文件系统被虚拟成一级子目录;
获取待控制的目标对象在所述目录结构中的目录层级和待执行的目标操作;
根据所述目录层级控制所述目标对象执行所述目标操作。
CN202010734200.5A 2020-07-27 2020-07-27 命名空间的处理方法及装置 Pending CN113312311A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010734200.5A CN113312311A (zh) 2020-07-27 2020-07-27 命名空间的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010734200.5A CN113312311A (zh) 2020-07-27 2020-07-27 命名空间的处理方法及装置

Publications (1)

Publication Number Publication Date
CN113312311A true CN113312311A (zh) 2021-08-27

Family

ID=77370624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010734200.5A Pending CN113312311A (zh) 2020-07-27 2020-07-27 命名空间的处理方法及装置

Country Status (1)

Country Link
CN (1) CN113312311A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115002072A (zh) * 2022-05-31 2022-09-02 济南浪潮数据技术有限公司 一种基于jmx的获取数据方法、装置及介质
CN115208640A (zh) * 2022-06-24 2022-10-18 中通服创发科技有限责任公司 一种基于区块链智能合约的命名数据网络公钥管理方法
WO2023036005A1 (zh) * 2021-09-08 2023-03-16 华为技术有限公司 信息处理方法及装置
CN116049896A (zh) * 2023-03-29 2023-05-02 中孚安全技术有限公司 一种linux系统下实现数据隔离的方法、系统、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334785A (zh) * 2008-07-30 2008-12-31 浙江大学 分布式文件系统虚拟目录组织及命名空间管理的方法
CN107870734A (zh) * 2016-09-27 2018-04-03 苏宁云商集团股份有限公司 一种分布式文件系统的交互方法及装置
CN108985086A (zh) * 2018-07-18 2018-12-11 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101334785A (zh) * 2008-07-30 2008-12-31 浙江大学 分布式文件系统虚拟目录组织及命名空间管理的方法
CN107870734A (zh) * 2016-09-27 2018-04-03 苏宁云商集团股份有限公司 一种分布式文件系统的交互方法及装置
CN108985086A (zh) * 2018-07-18 2018-12-11 中软信息系统工程有限公司 应用程序权限控制方法、装置及电子设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023036005A1 (zh) * 2021-09-08 2023-03-16 华为技术有限公司 信息处理方法及装置
CN115002072A (zh) * 2022-05-31 2022-09-02 济南浪潮数据技术有限公司 一种基于jmx的获取数据方法、装置及介质
CN115208640A (zh) * 2022-06-24 2022-10-18 中通服创发科技有限责任公司 一种基于区块链智能合约的命名数据网络公钥管理方法
CN115208640B (zh) * 2022-06-24 2024-04-12 中通服创发科技有限责任公司 一种基于区块链智能合约的命名数据网络公钥管理方法
CN116049896A (zh) * 2023-03-29 2023-05-02 中孚安全技术有限公司 一种linux系统下实现数据隔离的方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
CN113312311A (zh) 命名空间的处理方法及装置
CN105426115B (zh) 数据存储访问和检索方法及数据存储和访问系统
EP2871817B1 (en) Combined cloud storage disk client, server and system, and combined cloud storage disk service serving method
US9047443B2 (en) Data federation system and method for sociality storage service in cloud computing
CN104020961B (zh) 分布式数据存储方法、装置及系统
CN107004032A (zh) 镜像文件转换方法及装置
CN109085999B (zh) 数据处理方法及处理系统
US9201596B2 (en) Transmitting data by means of storage area network
CN106502840B (zh) 一种数据备份方法、装置及系统
CN107580011B (zh) 一种数据共享方法及桌面云服务端
WO2016011825A1 (zh) 基于云服务的数据备份与操作方法
CN103248674B (zh) 跨域云平台的共享文件管理方法
CN108306966B (zh) 文档处理方法、装置、系统、终端及服务器
US20150163282A1 (en) System and method for accessing remote disk images using a vmedia client and through a remote access appliance
RU2608676C2 (ru) Способ и устройство для резервного копирования данных и электронное устройство
CN110704158A (zh) 在容器集群内转发访问请求的方法、装置以及存储介质
CN104601666A (zh) 日志服务方法及云平台
CN109756484B (zh) 基于对象存储的网关的控制方法、控制装置、网关和介质
US10545834B1 (en) Server-assisted network data archiving
CN112988879A (zh) 访问数据库的方法、系统、装置、存储介质及处理器
CN110347656B (zh) 文件存储系统中请求的管理方法和装置
CN112434321A (zh) 一种数据存储方法、装置、计算机设备及存储介质
CN110309120B (zh) 数据处理方法和数据处理装置
CN106293339A (zh) 一种应用程序界面显示方法、系统及电子终端
CN110110004B (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40059819

Country of ref document: HK