当前位置: 首页 > 专利查询>中山大学专利>正文

本地文件系统的管理方法技术方案

技术编号:39602470 阅读:14 留言:0更新日期:2023-12-03 20:02
本申请公开了一种本地文件系统的管理方法

【技术实现步骤摘要】
本地文件系统的管理方法、电子设备及可读存储介质


[0001]本申请涉及文件管理
,尤其涉及一种本地文件系统的管理方法

电子设备及可读存储介质


技术介绍

[0002]随着云计算技术的高速发展,现在已经进入了云原生时代,云原生凭借其弹性伸缩

自动部署

故障自愈等特性,吸引了越来越多的应用向其靠拢

然而,云原生环境下的底层存储主要基于分布式对象存储系统来实现,而对象存储仅能提供简单的类
Key

Value
数据管理接口,并不能够有效地满足很多行业应用对于数据处理的要求,所以,目前很多应用依然需要本地文件系统接口的支持

[0003]目前,在云原生环境下使用本地文件系统时通常是通过在本地文件系统中添加虚拟块设备,以使得本地文件系统能够利用虚拟块设备进行快速格式化和挂载,但是,虚拟块设备在初始化时已固定了设备容量,后续需要重新初始化虚拟设备并恢复原先存储在虚拟块设备的内容才能实现扩容,所以,现有的在云存储环境下的本地文件系统的扩容便捷性差


技术实现思路

[0004]本申请的主要目的在于提供一种本地文件系统的管理方法

装置

电子设备及可读存储介质,旨在解决现有的在云存储环境下的本地文件系统的扩容便捷性差的技术问题

[0005]为实现上述目的,本申请提供一种本地文件系统的管理方法,所述本地文件系统中的各对象均包括多个存储了索引节点数据的文件存储区域,所述本地文件系统的管理方法包括:
[0006]获取目标文件的目标文件元数据,并提取所述目标文件元数据中的目标文件名和目标文件类型;
[0007]基于空闲索引节点队列获取空闲索引节点数据和所述空闲索引节点数据对应的目标索引节点号;
[0008]将所述目标文件元数据存储至所述空闲索引节点数据对应的文件存储区域,并依据所述目标文件名

所述目标文件类型和所述目标索引节点号,构建目标目录项;
[0009]基于线性哈希函数确定所述目标文件名对应的目标对象;
[0010]若基于多路布谷鸟哈希函数在所述目标对象中查找不到所述目标文件名,并且所述目标对象中不存在处于空闲状态的目录项槽位,则基于线性哈希函数对所述目标对象进行分裂,以创建得到空闲目录项槽位;
[0011]将所述目标目录项插入所述空闲目录项槽位,以完成所述目标文件的创建

[0012]可选地,所述基于线性哈希函数确定所述目标文件名对应的目标对象的步骤,包括:
[0013]基于父目录中的线性哈希变量初始化所述线性哈希函数,以计算所述目标文件名所在的桶号;
[0014]组合所述父目录的索引节点号和所述桶号,得到目标对象号;
[0015]以所述目标对象号为索引,在所述本地文件系统中查找所述目标对象号对应的目标对象

[0016]可选地,所述组合所述父目录的索引节点号和所述桶号,得到目标对象号的步骤之后,所述本地文件系统的管理方法还包括:
[0017]若以所述目标对象号为索引,在所述本地文件系统中查找不到所述目标对象号对应的目标对象,则将所述本地文件系统中的空闲对象作为所述目标对象与所述目标对象号进行关联,其中,所述空闲对象是指没有关联对象号的对象

[0018]可选地,所述基于空闲索引节点队列获取空闲索引节点数据和所述空闲索引节点数据对应的目标索引节点号的步骤,包括:
[0019]若在所述空闲索引节点队列中存在处于空闲状态的索引节点数据,则在所述空闲索引节点队列中将头部指针指向的第一个索引节点数据对应的索引节点号作为所述目标索引节点号,并将所述目标索引节点号对应的索引节点数据作为所述空闲索引节点数据;
[0020]若在所述空闲索引节点队列中不存在处于空闲状态的索引节点数据,则通过创建新的对象,以将新的对象包含的多个索引节点数据对应的索引节点号存储至所述空闲索引节点队列,得到目标空闲索引节点队列;
[0021]在所述目标空闲索引节点队列中将头部指针指向的第一个索引节点数据对应的索引节点号作为所述目标索引节点号,并将所述目标索引节点号对应的索引节点数据作为所述空闲索引节点数据;
[0022]所述基于线性哈希函数对所述目标对象进行分裂,以创建得到空闲目录项槽位的步骤,包括:
[0023]基于所述线性哈希函数中的轮询调度算法对所述目标对象进行分裂,以创建得到空闲目录项槽位

[0024]可选地,所述将所述目标目录项插入所述空闲目录项槽位的步骤,包括:
[0025]获取所述目标目录项中除去所述目标文件名的剩余目录项;
[0026]从所述空闲目录项槽位的头部存储所述剩余目录项,并从所述空闲目录项槽位的尾部存储所述目标文件名

[0027]可选地,所述将所述目标目录项插入所述空闲目录项槽位的步骤之后,所述本地文件系统的管理方法还包括:
[0028]响应于对所述目标文件的文件数据读取指令,提取所述目标目录项中的目标索引节点号,并获取待读取文件数据的数据大小和文件偏移量;
[0029]根据所述数据大小和所述文件偏移量,计算所述待读取文件数据所在的逻辑块号;
[0030]组合所述目标索引节点号和所述逻辑块号,得到全局对象号;
[0031]从所述全局对象号对应的存储区域读取所述目标文件中的待读取文件数据

[0032]可选地,所述将所述目标目录项插入所述空闲目录项槽位的步骤之后,所述本地文件系统的管理方法还包括:
[0033]响应于对所述目标文件的文件信息读取指令,提取所述目标目录项中的目标索引节点号;
[0034]通过读取所述目标索引节点号对应的索引节点数据,以读取所述目标文件的文件信息

[0035]可选地,所述将所述目标目录项插入所述空闲目录项槽位的步骤之后,所述本地文件系统的管理方法还包括:
[0036]响应于对所述目标文件的文件删除指令,提取所述目标目录项中的目标索引节点号;
[0037]从所述目标索引节点号对应的文件存储区域中删除所述目标文件和所述目标索引节点号;
[0038]在所述空闲索引节点队列中将所述目标索引节点号插入尾部指针指向的对象存储区域中

[0039]本申请还提供一种本地文件系统的管理装置,所述本地文件系统中的各对象均包括多个存储了索引节点数据的文件存储区域,所述本地文件系统的管理装置包括:
[0040]第一获取模块,用于获取目标文件的目标文件元数据,并提取所述目标文件元数据中的目标文件名和目标文件类型;
[0041]第二获取模块,用于基于空闲索引节点队列获取空闲索引节点数据和所述空闲索引节点数据对应的目标索引节点号;
[0042]存储模块,用于将所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种本地文件系统的管理方法,其特征在于,所述本地文件系统中的各对象均包括多个存储了索引节点数据的文件存储区域,所述本地文件系统的管理包括:获取目标文件的目标文件元数据,并提取所述目标文件元数据中的目标文件名和目标文件类型;基于空闲索引节点队列获取空闲索引节点数据和所述空闲索引节点数据对应的目标索引节点号;将所述目标文件元数据存储至所述空闲索引节点数据对应的文件存储区域,并依据所述目标文件名

所述目标文件类型和所述目标索引节点号,构建目标目录项;基于线性哈希函数确定所述目标文件名对应的目标对象;若基于多路布谷鸟哈希函数在所述目标对象中查找不到所述目标文件名,并且所述目标对象中不存在处于空闲状态的目录项槽位,则基于线性哈希函数对所述目标对象进行分裂,以创建得到空闲目录项槽位;将所述目标目录项插入所述空闲目录项槽位,以完成所述目标文件的创建
。2.
如权利要求1所述的本地文件系统的管理方法,其特征在于,所述基于线性哈希函数确定所述目标文件名对应的目标对象的步骤,包括:基于父目录中的线性哈希变量初始化所述线性哈希函数,以计算所述目标文件名所在的桶号;组合所述父目录的索引节点号和所述桶号,得到目标对象号;以所述目标对象号为索引,在所述本地文件系统中查找所述目标对象号对应的目标对象
。3.
如权利要求2所述的本地文件系统的管理方法,其特征在于,所述组合所述父目录的索引节点号和所述桶号,得到目标对象号的步骤之后,所述本地文件系统的管理方法还包括:若以所述目标对象号为索引,在所述本地文件系统中查找不到所述目标对象号对应的目标对象,则将所述本地文件系统中的空闲对象作为所述目标对象与所述目标对象号进行关联,其中,所述空闲对象是指没有关联对象号的对象
。4.
如权利要求1所述的本地文件系统的管理方法,其特征在于,所述基于空闲索引节点队列获取空闲索引节点数据和所述空闲索引节点数据对应的目标索引节点号的步骤,包括:若在所述空闲索引节点队列中存在处于空闲状态的索引节点数据,则在所述空闲索引节点队列中将头部指针指向的第一个索引节点数据对应的索引节点号作为所述目标索引节点号,并将所述目标索引节点号对应的索引节点数据作为所述空闲索引节点数据;若在所述空闲索引节点队列中不存在处于空闲状态的索引节点数据,则通过创建新的对象,以将新的对象包含的多个索引节点数据对应的索引节点号存储至所述空闲索引节点队列,得到目标空闲索引节点队列;在所述目标空闲索引节点队列中将头部指针指向的第一个索引节点数据对应的索引节点号作为所述目标索引节点号,并将所述目标索引节点号对应的索引节点数据作为所述空闲索引节点数据;所述基于线性哈希函数对所...

【专利技术属性】
技术研发人员:胡泽杰卢宇彤罗嘉文冯浚轩刘志勇陈志广
申请(专利权)人:中山大学
类型:发明
国别省市:

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

1