首页> 中国专利> 一种文件系统的管理方法、装置、文件系统及存储介质

一种文件系统的管理方法、装置、文件系统及存储介质

摘要

本发明实施例提供一种文件系统的管理方法、装置、文件系统及存储介质,其中方法包括:通过逻辑卷管理节点获取所述文件系统的进程请求操作的目标地址;如果所述目标地址未分配数据片,通过所述逻辑卷管理节点发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片;记录所述数据片的添加状态,其中,所述添加状态包括多个状态;若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述添加状态返回所述第N个状态;执行所述第N个状态下的处理逻辑。本发明实施例可可靠的保证元数据一致性,降低对分布式系统的性能影响,提升分布式系统的服务可用性。

著录项

  • 公开/公告号CN113064546A

    专利类型发明专利

  • 公开/公告日2021-07-02

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN202010000714.8

  • 发明设计人 刘赞;吴忠杰;吴波;

    申请日2020-01-02

  • 分类号G06F3/06(20060101);G06F16/11(20190101);G06F16/182(20190101);

  • 代理机构31327 上海知锦知识产权代理事务所(特殊普通合伙);

  • 代理人汤陈龙

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-06-19 11:42:32

说明书

技术领域

本发明实施例涉及存储技术领域,具体涉及一种文件系统的管理方法、装置、文件系统及存储介质。

背景技术

逻辑卷管理节点是为了让用户态软件栈支持多进程高效的共享物理存储设备所使用的组件。在分布式系统中,逻辑卷管理节点可创建稀疏卷(Sparse Volume,SV),并利用稀疏卷实现物理存储设备中物理数据片的分配。

目前在稀疏卷分配物理数据片的过程,需要对反映物理数据片分配过程的元数据进行更新,这个过程中,若进程异常重启,则元数据一致性难以保证;因此如何提供文件系统的管理方案,以可靠的保证元数据一致性,成为了本领域技术人员亟需解决的问题。

发明内容

有鉴于此,本发明实施例提供一种文件系统的管理方法、装置、文件系统及存储介质,以可靠的保证元数据一致性,降低对分布式系统的性能影响。

为实现上述目的,本发明实施例提供如下技术方案:

一种文件系统的管理方法,包括:

通过逻辑卷管理节点获取所述文件系统的进程请求操作的目标地址;

如果所述目标地址未分配数据片,通过所述逻辑卷管理节点发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片;

记录所述数据片的添加状态,其中,所述添加状态包括多个状态;

若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述添加状态返回所述第N个状态;

执行所述第N个状态下的处理逻辑。

本发明实施例还提供一种文件系统的管理方法,包括:

通过逻辑卷管理节点获取所述文件系统的进程请求删除数据片的目标地址;

通过所述逻辑卷管理节点发起请求,所述请求用于删除与所述目标地址对应的数据片;

记录所述数据片的删除状态,其中,所述删除状态包括多个状态;

若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述删除状态返回所述第N个状态;

执行所述第N个状态下的处理逻辑。

本发明实施例还提供一种文件系统的管理装置,包括:

目标地址获取模块,用于通过逻辑卷管理节点获取所述文件系统的进程请求操作的目标地址;

添加请求发起模块,用于如果所述目标地址未分配数据片,通过所述逻辑卷管理节点发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片;

状态记录模块,用于记录所述数据片的添加状态,其中,所述添加状态包括多个状态;

状态控制模块,用于若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述添加状态返回所述第N个状态;

逻辑执行模块,用于执行所述第N个状态下的处理逻辑。

本发明实施例还提供一种文件系统的管理装置,包括:

逻辑卷管理节点,所述逻辑卷管理节点部署一个或多个稀疏卷,所述稀疏卷用于:

获取所述文件系统的进程请求操作的目标地址,所述进程与所述稀疏卷绑定;

如果所述目标地址未分配数据片,则发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片;

记录所述数据片的添加状态,其中,所述添加状态包括多个状态;

若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述添加状态返回所述第N个状态;

执行所述第N个状态下的处理逻辑。

本发明实施例还提供一种文件系统的管理装置,包括:

删除地址获取模块,用于通过逻辑卷管理节点获取所述文件系统的进程请求删除数据片的目标地址;

删除请求发起模块,用于通过所述逻辑卷管理节点发起请求,所述请求用于删除与所述目标地址对应的数据片;

删除状态记录模块,用于记录所述数据片的删除状态,其中,所述删除状态包括多个状态;

删除状态控制模块,用于若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述删除状态返回所述第N个状态;

执行模块,用于执行所述第N个状态下的处理逻辑。

本发明实施例还提供一种文件系统的管理装置,包括:

逻辑卷管理节点,所述逻辑卷管理节点部署一个或多个稀疏卷,所述稀疏卷用于:

获取所述文件系统的进程请求删除数据片的目标地址,所述进程与所述稀疏卷绑定;

发起请求,所述请求用于删除与所述目标地址对应的数据片;

记录所述数据片的删除状态,其中,所述删除状态包括多个状态;

若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述删除状态返回所述第N个状态;

执行所述第N个状态下的处理逻辑。

本发明实施例还提供一种文件系统,包括:上述任一项所述的文件系统的管理装置。

本发明实施例还提供一种文件系统的管理装置,包括:

至少一个存储器,用于存储一条或多条计算机可执行指令;

至少一个处理器,用于调用所述一条或多条计算机可执行指令,以执行上述任一项所述的文件系统的管理方法。

本发明实施例还提供一种可读存储介质,所述可读存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令用于执行上述任一项所述的文件系统的管理方法。

本发明实施例可在数据片的添加状态由第N个状态进入第N+1个状态前,若进程发生异常重启,控制所述添加状态返回第N个状态,执行所述第N个状态下的处理逻辑,从而保障进程异常重启,数据片的添加状态重新返回第N个状态后,本发明实施例每次在第N个状态下执行处理逻辑的结果具备幂等性,能够可靠的保证元数据一致性。并且本发明实施例可在进程发生异常重启时,使得数据片的添加状态进入进程异常重启前的状态,保障分布式系统的服务快速恢复运行,降低对分布式系统的性能影响,提升分布式系统的服务可用性。可见,本发明实施例提供的文件系统的管理方法,能够可靠的保证元数据一致性,降低对分布式系统的性能影响,提升分布式系统的服务可用性。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为分布式系统中存储节点的逻辑结构示例图;

图2为本发明实施例提供的文件系统的管理方法的流程图;

图3为本发明实施例提供的文件系统的管理方法的另一流程图;

图4为数据片的添加状态的示例图;

图5为本发明实施例提供的文件系统的管理方法的再一流程图;

图6为本发明实施例提供的添加物理数据片的流程图;

图7为本发明实施例提供的文件系统的管理方法的又一流程图;

图8为本发明实施例提供的文件系统的管理装置的框图;

图9为本发明实施例提供的文件系统的管理装置的另一框图;

图10为文件系统的管理装置的硬件结构图。

具体实施方式

目前分布式系统往往设置多个存储节点,单个存储节点同时部署多个存储服务进程,且该多个进程共享存储节点的物理存储设备。分布式系统中存储节点的可选逻辑结构可如图1所示,图1所示结构可以用于用户态,参照图1,该逻辑结构可以包括:物理存储设备10,逻辑卷管理节点20,和分布式文件系统30。

作为一种示例,物理存储设备10可以例如内存、磁盘等具有存储功能的存储器件;物理存储设备的存储空间可以通过切片(Slice)处理,切分为多个物理数据片(PhysicalSlice,PS),一个物理数据片对应一段连续的、固定大小的存储空间;所切分出的所有物理数据片的集合可以构成数据片池(Slice Pool,SP),数据片池中的物理数据片又会归聚为一系列的数据片组,以方便进行元数据管理和数据片分配管理。

逻辑卷管理节点20是在分布式文件系统30和物理存储设备10之间引入的虚拟化层,逻辑卷管理节点支持在单个物理存储设备上创建多个稀疏卷并将分布式文件系统挂载(mount)在稀疏卷之上,在一种可选实现中,逻辑卷管理节点例如用户态存储逻辑卷管理器(User Space Storage Logic Volume Manager,USSLVM);在本发明实施例中,逻辑卷管理节点可创建多个稀疏卷,如图1所示稀疏卷1至稀疏卷n,不同的稀疏卷绑定文件系统的不同进程,如图1所示进程1绑定稀疏卷1,进程2绑定稀疏卷2,以此类推;

稀疏卷主要用于为文件系统按需分配地址空间;具体的,稀疏卷可将逻辑地址空间通过切片(Slice)处理,切分为多个逻辑数据片(Logic Slice,LS),一个逻辑数据片可以认为是切片形成的一段连续的、固定大小的逻辑地址空间;并且,稀疏卷可根据需要为逻辑地址空间分配物理数据片(如添加或删除物理数据片),同时负责管理逻辑数据片到物理数据片的映射关系;也就是说,逻辑数据片可以认为是稀疏卷进行存储空间管理的基本单元,稀疏卷负责管理逻辑数据片到物理数据片的映射关系。在物理数据片的分配方面,稀疏卷可与数据片分配器配合进行物理数据片的分配管理。

分布式文件系统是指文件系统管理的存储资源不一定直接连接在本地节点上,而是可通过计算机网络与其他节点相连。

基于上述逻辑结构,可以看出,稀疏卷可以为逻辑地址空间分配物理数据片,如稀疏卷可为逻辑地址空间添加或删除物理数据片;当稀疏卷在分配物理数据片时,稀疏卷需要对反映物理数据片的分配过程的元数据进行更新,即在稀疏卷为逻辑地址空间分配物理数据片时,需执行元数据更新(Metadata Update,MU);然而,在稀疏卷分配物理数据片的过程中,若进程异常重启,则元数据一致性(Metadata Consistency,MC)难以保证。

需要说明的是,元数据(Metadata)是关于数据的组织、属性及数据之间的关系的描述性信息,简而言之,元数据就是描述数据的数据;元数据与用户向磁盘上写入的文件中所包含的用户数据不同,而是与分布式系统的内部结构、映射关系、组织方式、以及文件系统的结构相关联;根据元数据,能够获知分布式系统是如何对地址空间(如物理地址空间和逻辑地址空间)及文件系统进行管理的,并且能够利用元数据来恢复分布式系统的地址空间和文件系统的数据等。

在一种解决元数据一致性问题的方式中,分布式系统一般会设计日志系统,在稀疏卷分配物理数据片的过程中,若进程异常重启,则可以通过日志重放保证元数据一致性;然而,这种方式需要日志系统实现日志的持久化支持,这无疑增加了系统的复杂度,影响分布式系统的性能,同时,无法适用于无日志的分布式系统。

另一种解决元数据一致性问题的方式中,在稀疏卷分配物理数据片的过程中,若进程异常重启,稀疏卷可以选择重新加载该进程对应的稀疏卷的元数据,从而保证元数据的一致性;然而,这种方式需要扫描USSLVM设备,以便在内存中重构异常进程对应的稀疏卷的元数据,这无疑增加了异常进程的重启时间,影响了分布式系统的服务可用性,对分布式系统的性能造成了影响;

同时,这种方式在重构异常进程对应的稀疏卷的元数据时,为了保证元数据一致性,需要在共享物理存储设备的所有进程之间进行同步操作,这无疑影响了其他进程的存储服务,对分布式系统的性能造成了影响。

可以看出,目前保证元数据一致性的方式均存在影响分布式系统性能的问题,因此如何可靠的保证元数据一致性,降低对分布式系统的性能影响,成为了本领域技术人员亟需解决的问题。

基于此,本发明实施例提供一种文件系统的管理方法、装置、文件系统及存储介质,以可靠的保证元数据一致性,降低对分布式系统的性能影响。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

作为本发明实施例公开内容的一种可选实现,以添加数据片的情况进行说明,图2示出了本发明实施例提供的文件系统的管理方法的一种可选流程,可选的,图2所示流程可由逻辑卷管理节点执行,具体可由逻辑卷管理节点中的稀疏卷执行;参照图2,本发明提供的文件系统的管理方法可以包括:

步骤S100、通过逻辑卷管理节点获取所述文件系统的进程请求操作的目标地址。

文件系统可以具有多个进程,每个进程绑定有逻辑卷管理节点的稀疏卷,为实现存储服务,进程可处理写请求或读请求,在进程处理写请求或读请求时,进程写请求或读请求的地址可以认为是,进程请求操作的目标地址;在本发明实施例中,逻辑卷管理节点可获取进程请求操作的目标地址,例如,该目标地址可以是进程的写请求对应的逻辑地址空间。

在可选实现中,可以通过所述进程绑定的稀疏卷获取所述进程请求操作的目标地址,即以所述进程绑定的稀疏卷执行图2所示流程。

步骤S110、如果所述目标地址未分配数据片,通过所述逻辑卷管理节点发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片。

如果目标地址没有分配数据片,此时逻辑卷管理节点可发起请求,为进程添加与所述目标地址对应的数据片,例如进程的写请求对应的逻辑地址空间没有分配数据片,则逻辑卷管理节点可发起请求,为该逻辑地址空间添加数据片。基于逻辑卷管理节点发起的请求,本发明实施例可进入数据片的添加状态,在数据片的添加状态下完成为所述目标地址添加数据片的过程。

步骤S120、记录所述数据片的添加状态,其中,所述添加状态包括多个状态。

数据片的添加状态可具有递进的多个状态;逻辑卷管理节点可在数据片的添加状态的各状态下,分别执行相应的处理逻辑,从而实现分配物理数据片的过程;其中,在逻辑卷管理节点执行完当前状态对应的处理逻辑后,所述添加状态可由当前状态进入下一状态。

本发明实施例可对数据片的添加状态进行记录,以记录所述添加状态当前处于的状态,可选的,本发明实施例可在预设的内存区域记录所述数据片的添加状态。

步骤S130、若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述添加状态返回所述第N个状态。

第N个状态可以为所述添加状态的当前状态,第N+1个状态可以为第N个状态的下一状态;在本发明实施例中,如果所述添加状态由第N个状态进入第N+1个状态前,进程发生异常重启,则本发明实施例可控制数据片的添加状态返回第N个状态,即所述添加状态重新进入第N个状态。

在一种可选实现中,本发明实施例可根据预设的内存区域当前记录的添加状态,控制所述分配状态返回所述第N个状态;其中,在由第N个状态进入第N+1个状态前,预设的内存区域当前记录的添加状态为第N个状态,在由第N个状态成功进入第N+1个状态后,预设的内存区域当前记录的添加状态调整为第N+1个状态。

步骤S140、执行所述第N个状态下的处理逻辑。

在数据片的添加状态重新进入第N个状态后,逻辑卷管理节点可执行第N个状态下的处理逻辑;即,无论添加状态由第N个状态进入第N+1个状态前,进程发生了多少次的异常重启,逻辑卷管理节点均可控制所述添加状态返回第N个状态,执行所述第N个状态下的处理逻辑;从而在进程异常重启的情况下,保障逻辑卷管理节点每次在第N个状态下的执行结果具备幂等性,也就是说,无论数据片的添加状态重新进入第N个状态多少次,逻辑卷管理节点在所述添加状态每次重新进入第N个状态的执行结果均相同,能够可靠的保证元数据一致性。

需要说明的是,动作幂等性(Action Idempotency,AI)表征一种行为属性,即某动作无论执行一次还是多次,其结果都无差异;这一特性对于要求安全的场景非常有价值,有利于系统快速恢复,提升服务可用性。

在步骤S140执行所述第N个状态下的处理逻辑后,逻辑卷管理节点可控制数据片的添加状态由第N个状态进入第N+1个状态;当然,如果在第N个状态进入第N+1个状态前,进程再次发生异常重启,则所述添加状态继续重新返回第N个状态,以此循环,直至所述添加状态成功进入第N+1个状态;所述添加状态成功进入第N+1个状态后,此时第N+1个状态作为下一个的当前状态,以图2所示流程循环执行,直至逻辑卷管理节点执行完分配物理数据片的过程。

本发明实施例可在数据片的添加状态由第N个状态进入第N+1个状态前,若进程发生异常重启,控制所述添加状态返回第N个状态,执行所述第N个状态下的处理逻辑,从而保障进程异常重启,数据片的添加状态重新返回第N个状态后,本发明实施例每次在第N个状态下执行处理逻辑的结果具备幂等性,能够可靠的保证元数据一致性。并且本发明实施例可在进程发生异常重启时,使得数据片的添加状态进入进程异常重启前的状态,保障分布式系统的服务快速恢复运行,降低对分布式系统的性能影响,提升分布式系统的服务可用性。可见,本发明实施例提供的文件系统的管理方法,能够可靠的保证元数据一致性,降低对分布式系统的性能影响,提升分布式系统的服务可用性。

作为一种可选实现,本发明实施例可在数据片的添加状态由第N个状态进入第N+1个状态前,保持当前记录的添加状态为第N个状态,在由第N个状态成功进入第N+1个状态后,将当前记录的添加状态调整为第N+1个状态;可选的,图3示出了本发明实施例提供的文件系统的管理方法的另一种可选流程,参照图3,该流程可以包括:

步骤S200、通过逻辑卷管理节点获取所述文件系统的进程请求操作的目标地址。

步骤S210、如果所述目标地址未分配数据片,通过所述逻辑卷管理节点发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片。

示例的,以进程的写请求为例,若逻辑卷管理节点判断写请求对应的逻辑地址空间未分配物理数据片,则逻辑卷管理节点需为该逻辑地址空间添加物理数据片,此时逻辑卷管理节点可发起为该逻辑地址空间添加物理数据片的请求,以进入数据片的添加状态。

步骤S220、在预设的内存区域记录所述数据片的添加状态,其中,所述添加状态包括多个状态。

本发明实施例提供的数据片的添加状态可以如图4所示,包括递进的多个状态:空闲状态,搜寻可用物理数据片组的状态(也称为可用物理数据片组搜寻状态),将元数据备份到内存的状态(也称为内存元数据预置状态),更新元数据的内存副本的状态(也称为元数据内存副本更新状态),持久化元数据内存副本的状态(也称为元数据内存副本持久化状态),更新内存中元数据的状态(也称为内存元数据后期处理状态),清除状态信息的状态(也称为内存元数据回滚状态);作为一种示例,逻辑卷管理节点可在所述添加状态的搜寻可用物理数据片组的状态下,执行相应的处理逻辑,在将元数据备份到内存的状态下,执行相应的处理逻辑,以此类推,从而逻辑卷管理节点在所述添加状态递进的各状态下,分别执行相应的处理逻辑,可实现为逻辑地址空间添加物理数据片。

步骤S230、在执行完所述添加状态的第N个状态对应的处理逻辑后,控制所述添加状态由第N个状态进入第N+1个状态;其中,在所述添加状态由第N个状态成功进入第N+1个状态前,预设的内存区域保持记录的添加状态为第N个状态。

本发明实施例提供的文件系统的管理方法需要实现的效果是:数据片的添加状态由第N个状态进入第N+1个状态前(例如,在由搜寻可用物理数据片组的状态进入,将元数据备份到内存的状态前),进程发生异常重启,保证元数据的一致性。

为实现上述目的,一方面,本发明实施例可在所述添加状态由第N个状态进入第N+1个状态前,保持预设的内存区域记录的状态为第N个状态;从而在所述添加状态进入第N+1个状态前,如果进程发生异常重启,则逻辑卷管理节点可根据预设的内存区域记录的状态,控制所述添加状态返回所述第N个状态;当然,如果数据片的添加状态由第N个状态成功进入第N+1个状态,则可调整预设的内存区域记录的状态为第N+1个状态,此时第N+1个状态作为下一个当前状态,以图3所示方法循环执行,直到逻辑卷管理节点执行完分配物理数据片的过程。

步骤S240、若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则根据预设的内存区域当前记录的添加状态,控制所述添加状态返回所述第N个状态。

步骤S250、执行所述第N个状态下的处理逻辑。

示例的,如果数据片的添加状态由搜寻可用物理数据片组的状态进入,将元数据备份到内存的状态前,进程发生异常重启,则进程重启后,逻辑卷管理节点可启动数据片的添加状态(如启动数据片的添加状态机),从而根据预设的内存区域记录的搜寻可用物理数据片组的状态,控制添加状态重新进入搜寻可用物理数据片组的状态;从而,逻辑卷管理节点可执行搜寻可用物理数据片组的状态下对应的处理逻辑,保障所述添加状态重新进入搜寻可用物理数据片组的状态后,逻辑卷管理节点的执行结果的一致,实现可靠保证元数据一致性。

作为一种可选实现,图5示出了本发明实施例提供的文件系统的管理方法的再一流程,如图5所示,以逻辑卷管理节创建的稀疏卷为逻辑地址添加物理数据片为例,数据片的添加状态可以包括递进的如下状态:空闲状态,搜寻可用物理数据片组的状态,将元数据备份到内存的状态,更新元数据的内存副本的状态,持久化元数据内存副本的状态,更新内存中元数据的状态,清除状态信息的状态;

基于上述添加状态,图5所示流程可以包括:

步骤S1、在空闲状态下,稀疏卷请求为逻辑地址空间添加物理数据片。

可选的,如果进程的写请求对应的逻辑地址空间为空洞区,即逻辑地址空间未分配物理数据片,则稀疏卷可请求为逻辑地址空间添加物理数据片。

步骤S2、由空闲状态进入搜寻可用物理数据片组的状态。

稀疏卷执行完步骤S1后,所述添加状态由空闲状态进入搜寻可用物理数据片组的状态;这个过程中,预设的内存区域可保持记录的状态为空闲状态,直至所述添加状态成功进入搜寻可用物理数据片组的状态后,才修改预设的内存区域记录的状态为搜寻可用物理数据片组的状态。

步骤S3、在进入搜寻可用物理数据片组的状态前,进程异常重启,返回空闲状态。

在进入搜寻可用物理数据片组的状态前,发生了进程异常重启,则稀疏卷可基于预设的内存区域记录的空闲状态,控制所述添加状态返回空闲状态;在返回空闲状态后,本发明实施例可返回执行步骤S1,使得稀疏卷执行空闲状态下对应的处理逻辑,保障进程异常重启,数据片的添加状态重新进入空闲状态后,稀疏卷的执行结果的幂等性,实现可靠的保证元数据一致性。

如图5所示,所述添加状态成功进入搜寻可用物理数据片组的状态,可执行步骤S4。

步骤S4、向锁管理节点申请可用物理数据片组的锁。

锁管理节点可用于维护存储资源的锁,如以存储资源为物理数据片组为例,锁管理节点可维护物理数据片组的锁。在一种可选实现中,锁管理节点例如数据片分配器。

需要说明的是,为便于进行物理数据片的分配管理和元数据管理,数据片池中的物理数据片可被归聚为一系列物理数据片组(Slice Group,SG),一个物理数据片组可以包括多个物理数据片;在搜寻可用物理数据片组的状态下,稀疏卷可申请可用物理数据片组的锁,以从数据片池的多个物理数据片组中锁定可用物理数据片组;在稀疏卷持锁可用物理数据片组后,稀疏卷可将可用物理数据片组中的物理数据片添加给所述逻辑地址空间;可用物理数据片组可以认为是锁未被其他进程持有,且具有空闲物理数据片的物理数据片组。

步骤S5、由搜寻可用物理数据片组的状态进入,将元数据备份到内存的状态。

稀疏卷执行完步骤S4后,所述添加状态由搜寻可用物理数据片组的状态进入,将元数据备份到内存的状态;在进入将元数据备份到内存的状态前,预设的内存区域可保持记录的状态为搜寻可用物理数据片组的状态,直至所述添加状态成功进入将元数据备份到内存的状态后,才修改预设的内存区域记录的状态为将元数据备份到内存的状态。

步骤S6、在进入将元数据备份到内存的状态前,进程异常重启,返回搜寻可用物理数据片组的状态。

在进入将元数据备份到内存的状态前,发生了进程异常重启,则在进程重启后,稀疏卷基于预设的内存区域记录的搜寻可用物理数据片组的状态,控制所述添加状态重新返回搜寻可用物理数据片组的状态;在返回搜寻可用物理数据片组的状态后,本发明实施例可返回执行步骤S4,使得稀疏卷执行搜寻可用物理数据片组的状态下对应的处理逻辑,从而保障稀疏卷的执行结果的幂等性,实现可靠的保证元数据一致性。

在可选实现中,物理数据片组的锁可由稀疏卷持有,进程与稀疏卷存在绑定,由于进程异常重启,而进程绑定的稀疏卷不变,因此在进程异常重启时,若绑定的稀疏卷已对可用物理数据片组持锁,则进程异常重启后,所绑定的稀疏卷也可重新获得可用物理数据片组的锁,不会发生自锁情况。

如图5所示,数据片的添加状态成功进入将元数据备份到内存的状态(也称为内存元数据预置状态)后,可执行步骤S7。

步骤S7、稀疏卷从持锁的物理数据片组中预分配物理数据片,对预分配物理数据片对应的元数据执行局部快照处理。

进入将元数据备份到内存的状态后,稀疏卷可从持锁的可用物理数据片组中预分配物理数据片,并对该预分配物理数据片对应的元数据执行局部快照处理;可选的,预分配物理数据片可以认为是计划分配给所述逻辑地址空间但还未实际分配的物理数据片,稀疏卷可记录该预分配物理数据片,并对该预分配物理数据片对应的元数据执行局部快照处理;快照可以认为是一份元数据的合集,局部快照处理即对涉及预分配物理数据片的少量元数据进行快照处理,如对预分配物理数据片相关的少量元数据进行备份。

在一种可选实现中,稀疏卷可将稀疏卷需更新的预分配物理数据片的元数据域,和数据片分配器需更新的预分配物理数据片的元数据域,备份到内存中所述稀疏卷对应的元数据快照区,从而实现对预分配物理数据片对应的元数据执行局部快照处理。

可以看出,本发明实施例可在进入将元数据备份到内存的状态后,对涉及预分配物理数据片相关的少量元数据进行快照处理,因此所要求的CPU和内存开销可以非常小;并且通过对预分配物理数据片对应的元数据执行局部快照处理,可以在出现进程异常重启时,为进一步高效保证元数据一致性提供基础。

步骤S8、由将元数据备份到内存的状态进入,更新元数据的内存副本的状态。

稀疏卷执行完步骤S7后,数据片的添加状态由将元数据备份到内存的状态,进入更新元数据的内存副本的状态;这个过程中,预设的内存区域可保持记录的状态为将元数据备份到内存的状态,直至成功进入更新元数据的内存副本的状态后,才修改预设的内存区域记录的状态为更新元数据的内存副本的状态。

步骤S9、在进入更新元数据的内存副本的状态前,进程异常重启,返回将元数据备份到内存的状态。

在进入更新元数据的内存副本的状态前,若进程异常重启,则在进程重新启动后,稀疏卷可基于预设的内存区域记录的将元数据备份到内存的状态,控制所述添加状态重新返回将元数据备份到内存的状态;进而,本发明实施例可返回执行步骤S7,稀疏卷可执行将元数据备份到内存的状态下对应的处理逻辑,保障稀疏卷执行结果的幂等性,实现可靠的保证元数据一致性。

由于预分配物理数据片并没有改变实际的元数据(即预分配物理数据片仅是计划分配物理数据片,并未实际分配物理数据片),因此在进程异常重启后,重新进入将元数据备份到内存的状态,稀疏卷重新预分配物理数据片并执行局部快照处理时,仍可以从可用数据片组中预分配到与上次相同的物理数据片,并保持相同的局部快照处理,即稀疏卷在将元数据备份到内存的状态下的执行结果具备幂等性,可以可靠保证元数据一致性。

如图5所示,数据片的添加状态成功进入更新元数据的内存副本的状态后,可执行步骤S10。

步骤S10、稀疏卷根据执行局部快照处理后的快照值,更新元数据的内存副本中与预分配物理数据片对应的元数据。

进入更新元数据的内存副本的状态后,稀疏卷可根据步骤S7对预分配物理数据片对应的元数据执行局部快照处理后的快照值,更新元数据的内存副本中与预分配物理数据片对应的元数据。

可选的,数据片池中的物理数据片被归聚为一系列的物理数据片组后,各物理数据片组的元数据可通过数据片组元数据单元进行管理;数据片组元数据单元可通过记录数据片组内各物理数据片的分配状态及映射信息,实现元数据的管理;

作为一种可选实现,本发明实施例可确定元数据的内存副本中与预分配物理数据片对应的数据片组元数据单元,所述数据片组元数据单元至少记录对应的物理数据片组内各物理数据片的元数据;从而根据执行所述局部快照处理后的快照值,更新所述数据片组元数据单元记录的元数据;此处所指的更新可以认为是基于所述快照值,修改数据片组元数据单元的元数据的映射信息,计数值等。

步骤S11、由更新元数据的内存副本的状态进入,持久化元数据内存副本的状态。

稀疏卷执行完步骤S10后,数据片的添加状态由更新元数据的内存副本的状态进入,持久化元数据内存副本的状态;这个过程中,预设的内存区域可保持记录的状态为更新元数据的内存副本的状态,直至成功进入持久化元数据内存副本的状态后,才修改预设的内存区域记录的状态为持久化元数据内存副本的状态。

步骤S12、在进入持久化元数据内存副本的状态前,进程异常重启,返回更新元数据的内存副本的状态。

在进入持久化元数据内存副本的状态前,进程异常重启,稀疏卷可基于预设的内存区域记录的更新元数据的内存副本的状态,控制所述添加状态重新返回更新元数据的内存副本的状态;进而,本发明实施例可返回执行步骤S10,在返回更新元数据的内存副本的状态后,稀疏卷执行更新元数据的内存副本的状态下对应的处理逻辑,保障稀疏卷的执行结果的幂等性,实现可靠保证元数据一致性。

可见,在进程异常重启,添加状态重新进入更新元数据的内存副本的状态时,稀疏卷可重新进行元数据的内存副本更新操作,无论元数据的内存副本中与预分配物理数据片对应的数据片组元数据单元在之前是否被设置过,稀疏卷均执行本轮添加物理数据片的过程中,首次进入更新元数据的内存副本的状态相应的处理逻辑,因此稀疏卷的执行结果具有幂等性,可实现可靠保证元数据一致性。

如图5所示,添加状态成功进入持久化元数据内存副本的状态后,可执行步骤S13。

步骤S13、稀疏卷对元数据的内存副本进行持久化操作。

成功进入持久化元数据内存副本的状态后,稀疏卷可对元数据的内存副本进行持久化操作,以使得元数据的内存副本可被持久化存储。

步骤S14、添加状态由持久化元数据内存副本的状态进入,更新内存中元数据的状态。

稀疏卷执行完步骤S13后,添加状态可由持久化元数据内存副本的状态进入,更新内存中元数据的状态;在进入更新内存中元数据的状态前,预设的内存区域可保持记录的状态为持久化元数据内存副本的状态,直至添加状态成功进入更新内存中元数据的状态后,才修改预设的内存区域记录的状态为更新内存中元数据的状态。

步骤S15、在进入更新内存中元数据的状态前,进程异常重启,返回持久化元数据内存副本的状态。

在进入更新内存中元数据的状态前,若进程异常重启,则稀疏卷基于预设的内存区域记录的状态,可控制添加状态重新返回持久化元数据内存副本的状态,从而返回执行步骤S13;稀疏卷可基于本轮添加物理数据片的过程中,持久化元数据内存副本的状态下对应的处理逻辑,重新进行元数据的内存副本的持久化操作,由于稀疏卷进行持久化的内容和地址不变,因此稀疏卷的执行结果具有幂等性,可实现可靠保证元数据一致性。

如图5所示,添加状态成功进入更新内存中元数据的状态后,可执行步骤S16。

步骤S16、根据执行所述局部快照处理后的快照值,对内存中的元数据进行增量更新处理。

进入更新内存中元数据的状态后,稀疏卷可根据上述执行局部快照处理后的快照值,对内存中相应的元数据进行增量更新处理,例如根据所述快照值,调整内存中元数据记录的空闲物理数据片的数量,如调整内存元数据记录的数据片组元数据单元内空闲物理数据片的数量等。可以看出,本发明实施例是以所述执行局部快照处理后的快照值为基准,对内存中的元数据进行增量更新处理,这就可在内存元数据未完全更新而进程异常重启时,避免以已更新的数据为基础再次更新内存元数据的情况,从而可进一步高效保证元数据一致性。

可见,本发明实施例中,稀疏卷以所述执行局部快照处理后的快照值为基准,进行内存元数据的增量更新,可进一步保证稀疏卷的执行结果的幂等性;从而,本发明实施例在进程异常重启后,能够进一步快速恢复分布式系统服务和保证元数据一致性。

步骤S17、数据片添加状态由更新内存中元数据的状态进入,清除状态信息的状态。

稀疏卷执行完步骤S16后,添加状态由更新内存中元数据的状态进入,清除状态信息的状态;这个过程中,预设的内存区域可保持记录的状态为更新内存中元数据的状态,直至成功进入清除状态信息的状态后,才修改预设的内存区域记录的状态为清除状态信息的状态。

步骤S18、在进入清除状态信息的状态前,进程异常重启,返回更新内存中元数据的状态。

在进入清除状态信息的状态前,发生了进程异常重启,则稀疏卷可基于预设的内存区域记录的更新内存中元数据的状态,控制添加状态重新返回更新内存中元数据的状态;从而,本发明实施例可返回执行步骤S16,使得稀疏卷执行本轮添加物理数据片的过程中,更新内存中元数据的状态下对应的处理逻辑,保障进程异常重启后,稀疏卷的执行结果的幂等性,实现可靠保证元数据一致性。

由于本发明实施例中,稀疏卷是基于所述快照值对内存元数据进行增量更新处理,即本发明实施例是对预分配物理数据片对应的元数据执行局部快照处理,并基于相应快照值进行内存元数据的增量更新,因此添加状态进入清除状态信息的状态前,进程异常重启了多少次,在重新返回更新内存中元数据的状态后,稀疏卷均是根据所述快照值对内存元数据进行增量更新处理,稀疏卷的执行结果均具备幂等性,可高效可靠的保证元数据的一致性。

示例的,以数据片组元数据单元内空闲物理数据片的数量为2个为例,从该数据片组元数据单元成功分配一个物理数据片并持久化元数据的内存副本后,该数据片组元数据单元内空闲物理数据片数量的计数值需被调整到1;

在稀疏卷根据所述快照值对内存元数据进行增量更新处理的基础上,当添加状态进入清除状态信息的状态前,进程异常重启了,则在添加状态返回更新内存中元数据的状态后,稀疏卷可重新根据所述快照值对内存元数据进行增量更新处理,从而使得数据片组元数据单元内空闲物理数据片数量的计数值调整为1,保障元数据一致性;

作为一种反例,如果不根据所述快照值对内存元数据进行增量更新处理,则在稀疏卷已调整过该计数值的基础上,添加状态返回更新内存中元数据的状态,稀疏卷将在已调整计数值的基础上,继续调整计数值到0,从而使得内存元数据不再正确,无法保证元数据一致性。

如图5所示,添加状态成功进入清除状态信息的状态后,可执行步骤S19。

步骤S19、稀疏卷清除添加状态的状态信息。

步骤S20、添加状态由清除状态信息的状态返回空闲状态。

稀疏卷执行完步骤S19后,添加状态由清除状态信息的状态返回空闲状态;这个过程中,预设的内存区域可保持记录的状态为清除状态信息的状态,直至成功返回空闲状态后,才修改预设的内存区域记录的状态为空闲状态。

步骤S21、添加状态返回空闲状态前,进程异常重启,返回清除状态信息的状态。

在返回空闲状态前,发生了进程异常重启,则稀疏卷基于预设的内存区域记录的清除状态信息的状态,重新返回清除状态信息的状态;此时,本发明实施例可返回执行步骤S19,使得稀疏卷执行本轮添加物理数据片的过程中,清除状态信息的状态下对应的处理逻辑,保障稀疏卷执行结果的幂等性,实现可靠保证元数据一致性。

可见,本发明实施例由添加状态的第N个状态进入第N+1个状态前,若进程异常重启,则添加状态返回第N个状态,执行所述第N个状态下的处理逻辑,保障稀疏卷的执行结果的幂等性,实现可靠保证元数据一致性;并且本发明实施例可在发生进程异常重启后,使得添加状态快速的进入进程异常重启前的状态,使得分布式系统的服务快速恢复运行,降低对分布式系统的性能影响,提升分布式系统的服务可用性。本发明实施例能够可靠保证元数据一致性,降低对分布式系统的性能影响,提升分布式系统的服务可用性。

进一步的,在本发明实施例中,稀疏卷以对执行局部快照处理后的快照值为基准,对内存的元数据进行增量更新处理,可以进一步保证稀疏卷的执行结果的幂等性,能够高效实现元数据一致性的可靠保证。

作为一种可选实现,以稀疏卷为逻辑地址添加物理数据片为例,在进程不出现异常重启的情况下,图6示出了本发明实施例提供的为逻辑地址添加物理数据片的一种可选流程;该流程可基于稀疏卷,数据片分配器,元数据内存副本和驱动对象实现;

其中,稀疏卷是逻辑卷管理节点创建的,稀疏卷用于分配地址空间、并负责管理逻辑数据片到物理数据片的映射关系;数据片分配器可以与稀疏卷相配合的进行物理数据片的分配管理;元数据内存副本是指内存中的元数据副本;驱动对象是驱动物理存储设备的对象。

参照图6,该流程可以包括:

步骤S01、稀疏卷确定写请求对应的逻辑地址空间未分配物理数据片,请求为逻辑地址空间添加物理数据片。

稀疏卷可判断进程的写请求对应的逻辑地址空间是否分配了物理数据片;若判断结果为是,即逻辑地址空间分配了物理数据片,则认为已建立了逻辑地址空间的逻辑数据片到物理数据片的映射关系,可正常处理写请求;若判断结果为否,则认为逻辑地址空间为空洞区,即逻辑地址空间未分配物理数据片,当前还未建立逻辑地址空间的逻辑数据片到物理数据片的映射关系,此时稀疏卷可请求为逻辑地址空间添加物理数据片,以发起为逻辑地址空间添加物理数据片的添加状态。

步骤S02、稀疏卷从数据片分配器中锁定可用物理数据片组。

在执行步骤S02时,数据片的添加状态已由空闲状态成功进入到搜寻可用物理数据片组的状态。

数据片的添加状态进入搜寻可用物理数据片组的状态后,稀疏卷可从数据片分配器锁定可用物理数据片组,即从数据片分配器获得可用物理数据片组的锁。

可选的,在本发明实施例中,稀疏卷可根据trylock(尝试持锁)方式,从数据片分配器依次尝试获得物理数据片组的管理权,直至成功获得到可用物理数据片组的锁;具体的,如果当前尝试获得锁的数据片组不可用(如数据片组的锁被其他进程持有,或者,数据片组无空闲物理数据片),则稀疏卷可切换到下一个数据片组尝试获得锁,以此类推,直至稀疏卷成功获得到可用物理数据片组的锁;

需要说明的是,trylock方式是防止自锁的一个重要方式;trylock方式是有返回值的,它表示用来尝试获取锁,如果获取成功,则返回true,如果获取失败(即锁已被其他线程获取),则返回false。

可选的,进一步,如果稀疏卷从数据片分配器未获得可用物理数据片组的锁,则添加状态退回到空闲状态并进行报错。

步骤S03、稀疏卷从可用物理数据片组中预分配物理数据片,对预分配物理数据片对应的元数据执行局部快照处理。

在执行步骤S03时,数据片的添加状态已由搜寻可用物理数据片组的状态成功进入到,将元数据备份到内存的状态。

步骤S04、稀疏卷根据执行所述局部快照处理后的快照值,更新元数据的内存副本中与预分配物理数据片对应的元数据。

在执行步骤S04时,数据片的添加状态成功进入到更新元数据的内存副本的状态;稀疏卷可根据步骤S03对预分配物理数据片对应的元数据执行局部快照处理后的快照值,更新元数据内存副本中与预分配物理数据片对应的元数据;可选的,本发明实施例可根据所述快照值,更新元数据内存副本中与预分配物理数据片对应的数据片组元数据单元(SGMDU)的元数据。

步骤S05、稀疏卷通过驱动对象对元数据的内存副本进行持久化操作。

在执行步骤S05时,添加状态已成功进入持久化元数据内存副本的状态。

步骤S06、稀疏卷根据所述快照值对相应内存元数据进行增量更新处理。

在执行步骤S06时,添加状态已成功进入更新内存中元数据的状态;稀疏卷可根据上述执行局部快照处理后的快照值,对内存中相应的内存元数据进行增量更新处理,例如,根据所述快照值,调整相应的内存元数据记录的数据片组元数据单元内空闲物理数据片的数量等。

步骤S07、稀疏卷清除添加状态的状态信息。

在执行步骤S07时,添加状态已成功进入清除状态信息的状态。

进一步,在执行步骤S07后,添加状态可返回空闲状态。

需要说明的是,本发明实施例提供的文件系统的管理方法可适用于数据片的添加状态的任意两个递进的状态。

本发明实施例在删除数据片的情况下,还提供相应的文件系统的管理方法。可选的,图7示出了本发明实施例提供的文件系统的管理方法的又一流程,如图7所示,该流程可以包括:

步骤S300、通过逻辑卷管理节点获取所述文件系统的进程请求删除数据片的目标地址。

文件系统的进程在需释放逻辑地址空间的数据片时,所述进程可请求删除逻辑地址空间的数据片,此时,逻辑卷管理节点可获取到进程请求删除数据片的逻辑地址空间。

步骤S310、通过所述逻辑卷管理节点发起请求,所述请求用于删除与所述目标地址对应的数据片。

逻辑卷管理节点可发起请求,以删除与所述目标地址对应的数据片。基于逻辑卷管理节点发起的请求,本发明实施例可进入数据片的删除状态,在数据片的删除状态下完成为所述目标地址删除数据片。

步骤S320、记录所述数据片的删除状态,其中,所述删除状态包括多个状态。

数据片的删除状态可具有递进的多个状态;逻辑卷管理节点可在数据片的删除状态的各状态下,分别执行相应的处理逻辑,从而实现删除物理数据片的过程;其中,在稀疏卷执行完所述删除状态的当前状态对应的处理逻辑后,所述删除状态可由当前状态进入下一状态。本发明实施例可对数据片的删除状态进行记录,以记录所述删除状态当前处于的状态。

步骤S330、若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述删除状态返回所述第N个状态。

在一种可选实现中,本发明实施例可根据预设的内存区域当前记录的删除状态,控制所述删除状态返回所述第N个状态;其中,在由第N个状态进入第N+1个状态前,预设的内存区域当前记录的删除状态为第N个状态,在由第N个状态成功进入第N+1个状态后,预设的内存区域当前记录的删除状态调整为第N+1个状态。

步骤S340、执行所述第N个状态下的处理逻辑。

在为目标地址(如逻辑地址空间)删除物理数据片的情况下,保证元数据一致性的原理可参照前文描述,即在删除物理数据片的过程中,当数据片的删除状态由当前状态进入下一状态前,发生进程异常重启,则返回当前状态,从而稀疏卷可执行当前状态下的处理逻辑,保障稀疏卷的执行结果的幂等性,实现可靠保证元数据一致性。

上文描述了本发明实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本发明实施例披露、公开的实施例方案。

下面对本发明实施例提供的文件系统的管理装置进行介绍,下文描述的文件系统的管理装置可以认为是,为实现本发明实施例提供的文件系统的管理方法所需设置的程序模块。下文描述的文件系统的管理装置的内容,可与上文描述的文件系统的管理方法的内容相互对应参照。

在添加数据片的情况下,图8示出了本发明实施例提供的文件系统的管理装置的可选框图,参照图8,该文件系统的管理装置可以包括:

目标地址获取模块100,用于通过逻辑卷管理节点获取所述文件系统的进程请求操作的目标地址;

添加请求发起模块110,用于如果所述目标地址未分配数据片,通过所述逻辑卷管理节点发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片;

状态记录模块120,用于记录所述数据片的添加状态,其中,所述添加状态包括多个状态;

状态控制模块130,用于若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述添加状态返回所述第N个状态;

逻辑执行模块140,用于执行所述第N个状态下的处理逻辑。

可选的,状态控制模块130,用于控制所述添加状态返回所述第N个状态,包括:

根据预设的内存区域当前记录的添加状态,控制所述分配状态返回所述第N个状态;其中,在由第N个状态进入第N+1个状态前,预设的内存区域当前记录的添加状态为第N个状态,在由第N个状态成功进入第N+1个状态后,预设的内存区域当前记录的添加状态调整为第N+1个状态。

可选的,目标地址获取模块100,用于通过逻辑卷管理节点获取所述文件系统的进程请求操作的目标地址,包括:

获取所述进程的写请求;

确定所述写请求对应的逻辑地址空间。

可选的,逻辑执行模块140,用于执行所述第N个状态下的处理逻辑,包括:

若所述第N个状态为搜寻可用物理数据片组的状态,通过所述逻辑卷管理节点向锁管理节点申请可用物理数据片组的锁;其中,所述可用物理数据片组为锁未被与所述进程不同的其他进程持有,且具有空闲物理数据片的物理数据片组。

可选的,逻辑执行模块140,用于通过所述逻辑卷管理节点向锁管理节点申请可用物理数据片组的锁包括:

通过所述逻辑卷管理节点轮询物理数据片组;

若当前访问的物理数据片组具有空闲物理数据片,且锁未被所述其他进程持有,从所述锁管理节点获得所述当前访问的物理数据片组的锁;

若当前访问的物理数据片组不具有空闲物理数据片,和/或,锁被所述其他进程持有,切换到下一个物理数据片组进行访问,以对下一个物理数据片组申请持锁。

可选的,进一步,逻辑执行模块140,用于执行所述第N个状态下的处理逻辑,还包括:

若所述第N个状态为将元数据备份到内存的状态,通过所述逻辑卷管理节点从持锁的物理数据片组中预分配物理数据片,对预分配物理数据片对应的元数据执行局部快照处理。

可选的,逻辑执行模块140,用于对预分配物理数据片对应的元数据执行局部快照处理,包括:

将所述逻辑卷管理节点需更新的预分配物理数据片的元数据域,和锁管理节点需更新的预分配物理数据片的元数据域,备份到内存中所述逻辑卷管理节点对应的元数据快照区。

可选的,进一步,逻辑执行模块140,用于执行所述第N个状态下的处理逻辑,还包括:

若所述第N个状态为更新元数据的内存副本的状态,根据执行所述局部快照处理后的快照值,更新元数据的内存副本中与预分配物理数据片对应的元数据。

可选的,逻辑执行模块140,用于根据执行所述局部快照处理后的快照值,更新元数据的内存副本中与预分配物理数据片对应的元数据,包括:

确定元数据的内存副本中与预分配物理数据片对应的数据片组元数据单元;所述数据片组元数据单元至少记录对应的物理数据片组内各物理数据片的元数据;

根据执行所述局部快照处理后的快照值,更新所述数据片组元数据单元记录的元数据。

可选的,进一步,逻辑执行模块140,用于执行所述第N个状态下的处理逻辑,还包括:

若所述第N个状态为更新内存中元数据的状态,根据执行所述局部快照处理后的快照值,对内存中的元数据进行增量更新处理。

可选的,逻辑执行模块140,用于根据执行所述局部快照处理后的快照值,对内存中的元数据进行增量更新处理,包括:

根据所述快照值,调整内存中元数据记录的空闲物理数据片的数量。

在可选实现中,基于添加数据片的情况,结合图1所示,本发明实施例提供的文件系统的管理装置的逻辑结构可以包括:

逻辑卷管理节点,所述逻辑卷管理节点部署一个或多个稀疏卷,所述稀疏卷用于:

获取所述文件系统的进程请求操作的目标地址,所述进程与所述稀疏卷绑定;

如果所述目标地址未分配数据片,则发起请求,所述请求用于为所述进程添加与所述目标地址对应的数据片;

记录所述数据片的添加状态,其中,所述添加状态包括多个状态;

若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述添加状态返回所述第N个状态;

执行所述第N个状态下的处理逻辑。

可选的,本发明实施例提供的文件系统的管理装置还可以包括:状态管理节点,用于管理所述添加状态的状态变化。可选的,所述状态管理节点例如数据片的添加状态机。

可选的,本发明实施例提供的管理装置还可以包括:如图1所示的物理存储设备;所述物理存储设备用于部署存储资源;所述存储资源包括与所述目标地址对应的数据片。

可选的,本发明实施例提供的管理装置还可以包括:锁管理节点,用于维护所述存储资源的锁状态。

可选的,所述锁管理节点可以包括数据片分配器;所述数据片分配器与所述逻辑卷管理节点配合进行数据片分配管理。

在删除数据片的情况下,图9示出了本发明实施例提供的文件系统的管理装置的可选框图,参照图9,该文件系统的管理装置可以包括:

删除地址获取模块300,用于通过逻辑卷管理节点获取所述文件系统的进程请求删除数据片的目标地址;

删除请求发起模块310,用于通过所述逻辑卷管理节点发起请求,所述请求用于删除与所述目标地址对应的数据片;

删除状态记录模块320,用于记录所述数据片的删除状态,其中,所述删除状态包括多个状态;

删除状态控制模块330,用于若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述删除状态返回所述第N个状态;

执行模块340,用于执行所述第N个状态下的处理逻辑。

可选的,在删除数据片的情况下,本发明实施例提供的管理装置的逻辑结构可以结合图1所示,包括:

逻辑卷管理节点,所述逻辑卷管理节点部署一个或多个稀疏卷,所述稀疏卷用于:

获取所述文件系统的进程请求删除数据片的目标地址,所述进程与所述稀疏卷绑定;

发起请求,所述请求用于删除与所述目标地址对应的数据片;

记录所述数据片的删除状态,其中,所述删除状态包括多个状态;

若由所述多个状态中的第N个状态进入第N+1个状态前,所述进程发生异常重启,则控制所述删除状态返回所述第N个状态;

执行所述第N个状态下的处理逻辑。

可选的,本发明实施例提供的管理装置还可以包括:状态管理节点,用于管理所述删除状态的状态变化。可选的,所述状态管理节点例如数据片的删除状态机。

本发明实施例还提供一种文件系统,包括上述任一项所述的文件系统的管理装置,如上述添加或删除物理数据片情况下对应的任一项管理装置。

本发明实施例提供的文件系统的管理装置的硬件结构可如图10所示,包括:至少一个处理器1,至少一个通信接口2,至少一个存储器3和至少一个通信总线4;

可选的,处理器1可能是CPU(中央处理器),GPU(Graphics Processing Unit,图形处理器),NPU(嵌入式神经网络处理器),FPGA(Field Programmable Gate Array,现场可编程逻辑门阵列),TPU(张量处理单元),AI芯片,特定集成电路ASIC(Application SpecificIntegrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等。

存储器3可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。

其中,存储器3存储一条或多条计算机可执行指令,处理器1调用所述一条或多条计算机可执行指令,以执行本发明实施例提供的文件系统的管理方法。该管理方法可以是上述添加或删除物理数据片情况下对应的任一项管理方法。

本发明实施例还提供一种可读存储介质,该可读存储介质可以存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令可用于执行本发明实施例提供的文件系统的管理方法。该管理方法可以是上述添加或删除物理数据片情况下对应的任一项管理方法。

虽然本发明实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号