基于链表和N-ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质制造方法及图纸

技术编号:21453845 阅读:22 留言:0更新日期:2019-06-26 04:45
本申请提供基于链表和N‑ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质,所述方法包括:基于N‑ary树结构管理文件系统所存储在物理存储空间的数据,以令文件数据在物理存储空间内随机存储;基于链表管理文件中逻辑数据页的快照版本,执行文件系统的数据快照和回滚。本申请采用N‑ary树结构管理文件系统所存储在物理地址空间的数据,实现文件数据在物理存储空间内的随机存储,基于链表管理文件中逻辑数据页的快照版本,实现文件系统的数据快照和回滚。

【技术实现步骤摘要】
基于链表和N-ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质
本申请涉及文件系统管理
,特别是涉及基于链表和N-ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质。
技术介绍
随着NVDIMM、3DXpoint等新型存储技术的发展及IBM对存储级内存(StorageClassMemory,SCM)架构的提出,基于混合内存系统架构及管理的非易失存储NVM成为研究热点。新型存储技术SCM具有非易失性、读快写快、功耗低等特点,但与DRAM相比仍有差距,有限的写擦循环寿命也降低了系统的可靠性。现有技术中,基于新型存储技术SCM提出过多种内存组织方式和优化方法。随着大数据、云计算、物联网等技术的发展,数据正以前所未有的速度不断增长和累积。如何管理和组织这些数据,对传统的文件系统来说是一个挑战。尽管当前的文件系统为应用提供了一种易用的数据组织方式,然而该数据组织方式是基于块设备的硬件特点设计的,无法充分发挥SCM可随机访问的性能特点。因此,如何有效地组织数据,让应用程序能够以更接近内存的方式使用和访问,而又能保持文件系统可靠、易维护和共享等优势,最大化地提高系统整体运行效率成为亟待解决的问题。申请内容鉴于以上所述现有技术的缺点,本申请的目的在于提供基于链表和N-ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质,用于解决现有技术中的问题。为实现上述目的及其他相关目的,本申请的第一方面提供一种基于链表和N-ary树结构实现快速回滚的文件系统管理方法,其包括:基于N-ary树结构管理文件系统所存储在物理存储空间的数据,以令文件数据在物理存储空间内随机存储;基于链表管理文件中逻辑数据页的快照版本,执行文件系统的数据快照和回滚。于本申请的第一方面的一些实施例中,所述文件系统设有:iNode区,其存储有多个iNode节点;各所述iNode节点包括iNode节点信息字段、N-ary树级数字段、N-ary树根节点字段、以及快照版本指针字段;其中,所述iNode节点信息字段用于存储文件的管理信息;所述N-ary树级数字段用于存储文件所采用N-ary树结构的级数;所述N-ary树根节点字段用于存储文件第N级节点页PageN起始物理地址;所述快照版本指针字段用于指向该iNode节点的最近一次快照所对应的快照iNode节点;数据区,用于存储文件数据;所述数据区的页包括相互混排的节点页和数据页;其中,以文件所对应的第N级节点页页号为根节点,以第(N-1)级节点页页号为第1级子节点,以此类推,以第1级节点页页号为第(N-1)级子节点,形成一个N-ary树以对该文件的所有数据进行存储管理;所有数据页占据N-ary树的最后一级节点,其根节点物理地址和树的级数被记录在iNode区中该文件所对应的iNode结构中;链表区,用于管理文件中逻辑数据页的快照版本;所述链表区包括多条页索引记录,各条索引记录对应所述数据区的一物理页面。数据区中每个数据页所对应的页索引记录内保存该数据页的创建时间及其上一个版本数据页的位置信息,从而在数据区形成数据页链表,每条数据页链表中所有数据页对应文件中某个逻辑数据页的当前版本和快照产生的全部历史版本。于本申请的第一方面的一些实施例中,根据iNode节点的创建时间与最近一次快照时间的比较结果信息,选择相应的该iNode节点的更新方式。创建快照时,文件系统记录当前快照时间,系统请求更新数据页时,若该数据页创建时间先于当前快照时间,则将更新数据写入空闲页,作为新的数据页,将原数据页位置信息和当前时间写入新数据页对应的索引记录中,使得新数据页插入到数据页链表的头部,并更新节点页内容使其指向新数据页;若该数据页创建时间晚于当前快照时间,说明当前数据页还未备份过,则可基于当前数据页多次更新数据,直至下一次快照时间到达。于本申请的第一方面的一些实施例中,所述方法包括:若该iNode节点的创建时间晚于最近一次快照时间,则在该iNode节点上进行更新;若该iNode节点的创建时间早于最近一次快照时间,则在iNode区分配一空闲iNode节点作为原iNode节点的备份节点,并令原iNode节点存储备份节点的节点号后进行更新。于本申请的第一方面的一些实施例中,所述文件系统在根文件夹下维护一个快照文件夹,并将根文件夹的内容映射至快照文件夹下;其中:在通过根文件夹路径访问的情况下,读写操作直接针对文件数据的当前版本完成;在通过快照文件夹路径访问的情况下,拒绝写操作,并对读操作返回文件数据中在指定快照时间之前的最新版本。于本申请的第一方面的一些实施例中,所述方法包括:文件系统在响应读操作文件系统以POSIX方式访问时,通过如下步骤访问指定时间的数据存储状态:进程请求访问该时刻之前的逻辑页;文件系统遍历链表区域该逻辑页相对应的页索引链表,以获取早于该时刻且距离该时刻最近的页表索引记录;根据所述索引记录中所保存的页物理地址更新N-ary树结构中该逻辑页在相应节点页中对应的物理地址信息。于本申请的第一方面的一些实施例中,所述方法包括:通过如下步骤回滚至某一快照点:关闭当前打开的文件;遍历文件系统的iNode区,将创建时间晚于快照时间的iNode节点删除回收;将删除时间晚于快照时间但创建时间早于快照时间的iNode节点恢复,并对链接关系作出相应修改;其它iNode节点保留不变;遍历链表区,将创建时间晚于快照时间的数据页通过更改位图区相应比特进行回收,并对链接关系作出相应修改,恢复文件数据至快照点版本;其它数据页保留不变。为实现上述目的及其他相关目的,本申请的第二方面提供一种基于链表和N-ary树结构实现快速回滚的文件系统管理装置,其包括:数据存储模块,用于基于N-ary树结构管理文件系统所存储在物理存储空间的数据,以令文件数据在物理存储空间内随机存储;数据快照和回滚模块,用于基于链表管理文件中逻辑数据页的快照版本,执行文件系统的数据快照和回滚。为实现上述目的及其他相关目的,本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述基于链表和N-ary树结构实现快速回滚的文件系统管理方法。为实现上述目的及其他相关目的,本申请的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述基于链表和N-ary树结构实现快速回滚的文件系统管理方法。如上所述,本申请的基于链表和N-ary树结构实现快速回滚的文件系统管理方法、装置、终端、介质,具有以下有益效果:本申请采用N-ary树结构管理文件系统所存储在物理地址空间的数据,实现文件数据在物理存储空间内的随机存储,基于链表管理文件中逻辑数据页的快照版本,实现文件系统的数据快照和回滚。附图说明图1显示为本申请一实施例中基于链表和N-ary树结构实现快速回滚的文件系统管理方法的流程示意图。图2显示为本申请一实施例中N-ary树结构的文件系统的示意图。图3显示为本申请一实施例中文件系统的平面布局示意图。图4显示为本申请一实施例中iNode区的结构示意图。图5显示为本申请一实施例中文件的N-ary树结构以及文件数据在数据区的分布示意图。图6本文档来自技高网...

【技术保护点】
1.一种基于链表和N‑ary树结构实现快速回滚的文件系统管理方法,其特征在于,包括:基于N‑ary树结构管理文件系统所存储在物理存储空间的数据,以令文件数据在物理存储空间内随机存储;基于链表管理文件中逻辑数据页的快照版本,执行文件系统的数据快照和回滚。

【技术特征摘要】
1.一种基于链表和N-ary树结构实现快速回滚的文件系统管理方法,其特征在于,包括:基于N-ary树结构管理文件系统所存储在物理存储空间的数据,以令文件数据在物理存储空间内随机存储;基于链表管理文件中逻辑数据页的快照版本,执行文件系统的数据快照和回滚。2.根据权利要求1所述的方法,其特征在于,所述文件系统设有:iNode区,其存储有多个iNode节点;各所述iNode节点包括iNode节点信息字段、N-ary树级数字段、N-ary树根节点字段、以及快照版本指针字段;其中,所述iNode节点信息字段用于存储文件的管理信息;所述N-ary树级数字段用于存储文件所采用N-ary树结构的级数;所述N-ary树根节点字段用于存储文件第N级节点页PageN起始物理地址;所述快照版本指针字段用于指向该iNode节点的最近一次快照所对应的快照iNode节点;数据区,用于存储文件数据;所述数据区的页包括相互混排的节点页和数据页;其中,以文件所对应的第N级节点页页号为根节点,以第(N-1)级节点页页号为第1级子节点,以此类推,以第1级节点页页号为第(N-1)级子节点,形成一个N-ary树以对该文件的所有数据进行存储管理;所有数据页占据N-ary树的最后一级节点,其根节点物理地址和树的级数被记录在iNode区中该文件所对应的iNode结构中;链表区,用于管理文件中逻辑数据页的快照版本;所述链表区包括多条页索引记录,各条索引记录对应所述数据区的一物理页面;数据区中每个数据页所对应的页索引记录内保存该数据页的创建时间及其上一个版本数据页的位置信息,以在数据区形成数据页链表,每条数据页链表中所有数据页对应文件中某个逻辑数据页的当前版本和快照产生的全部历史版本。3.根据权利要求2所述的方法,其特征在于,所述方法包括:根据iNode节点的创建时间与最近一次快照时间的比较结果信息,选择相应的该iNode节点的更新方式;其中,创建快照时,文件系统记录当前快照时间,系统请求更新数据页时,若该数据页创建时间先于当前快照时间,则将更新数据写入空闲页,作为新的数据页,将原数据页位置信息和当前时间写入新数据页对应的索引记录中,使得新数据页插入到数据页链表的头部,并更新节点页内容使其指向新数据页;若该数据页创建时间晚于当前快照时间,说明当前数据页还未备份过,则可基于当前数据页多次更新数据,直至下一次快照时间到达。4.根据权利要求3所述的方法,其特征在于,所述方法包括:若该iNode节点的创建时间晚于最近一次快照时间,则在该iNode节点上进行更新;若该iNode节点的创建时间早于最近一次快照时间,则在iNode区分配一空闲iNode节点作为原iNode节点的备份节点,并令原iNode节点存储备份节点的节点号后进行更新。5.根据权利要求1所述的方法,其特征在于,所述文件系统在根文件夹下维护一个快照文件夹,并将根文件夹的内容映射至快照文件夹下;其中:在通过根文件夹路径访问的情况下,读写操作直接针对文件数据的当前版本完成;在通过快照文件夹路径访问的情况下,拒绝写操作,并对读...

【专利技术属性】
技术研发人员:李顺芳陈小刚韩文炳段有康宋志棠
申请(专利权)人:中国科学院上海微系统与信息技术研究所
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1