[发明专利]一种基于LevelDB的文件系统加速方法及系统在审
| 申请号: | 202211524055.3 | 申请日: | 2022-12-01 |
| 公开(公告)号: | CN116226038A | 公开(公告)日: | 2023-06-06 |
| 发明(设计)人: | 赵泽钧;袁苇 | 申请(专利权)人: | 福建新大陆通信科技股份有限公司 |
| 主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/23 |
| 代理公司: | 福州市京华专利代理事务所(普通合伙) 35212 | 代理人: | 宋连梅 |
| 地址: | 350000 福建省福州市马尾开发区儒*** | 国省代码: | 福建;35 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 leveldb 文件系统 加速 方法 系统 | ||
本发明提供了软件工程技术领域的一种基于Leve l DB的文件系统加速方法及系统,方法包括如下步骤:步骤S10、在用户空间内创建一Leve l DB表;步骤S20、通过全局计数器为各待存储的文件申请i node号;步骤S30、设定一容量阈值,基于所述容量阈值以及i node号将文件存储至内核空间的本地文件系统或者Leve l DB表中;步骤S40、将所述Leve l DB表以及Leve l DB表的更新日志存储至本地文件系统;步骤S50、基于本地文件系统的所述Leve l DB表对小文件进行快速访问。本发明的优点在于:极大的提升了小文件访问性能。
技术领域
本发明涉及软件工程技术领域,特别指一种基于LevelDB的文件系统加速方法及系统。
背景技术
目前的文件系统,目录项以线性数组的方式存储在单个文件中,并且简单地将其与inode(索引节点)号关联起来。例如ext4的文件系统使用哈希表进行目录的关联操作,而XFS、ZFS等使用B树用于索引目录;同时,LFS、ZFS等还使用日志技术来分批处理文件系统中元数据的变化,并以顺序方式写入,这些技术可以将访问一个文件所需的所有元数据集中起来。
随着大数据时代的到来,有大量小文件被存储至文件系统,而传统的文件系统适用于高带宽、大文件的传输,在访问大量的小文件时,因为缓存覆盖范围有限而经常遭遇到低性能的问题。
因此,如何提供一种基于LevelDB的文件系统加速方法及系统,实现提升小文件访问性能,成为一个亟待解决的技术问题。
发明内容
本发明要解决的技术问题,在于提供一种基于LevelDB的文件系统加速方法及系统,实现提升小文件访问性能。
第一方面,本发明提供了一种基于LevelDB的文件系统加速方法,包括如下步骤:
步骤S10、在用户空间内创建一LevelDB表;
步骤S20、通过全局计数器为各待存储的文件申请inode号;
步骤S30、设定一容量阈值,基于所述容量阈值以及inode号将文件存储至内核空间的本地文件系统或者LevelDB表中;
步骤S40、将所述LevelDB表以及LevelDB表的更新日志存储至本地文件系统;
步骤S50、基于本地文件系统的所述LevelDB表对小文件进行快速访问。
进一步地,所述步骤S10中,所述LevelDB表采用键值结构,键长为128位,前64位的键为父目录的inode号,后64位的键为小文件的文件名的哈希值,每一行的值至少包括小文件的文件名、inode号、访问权限、文件大小、时间戳、小文件携带的数据。
进一步地,所述步骤S20中,所述inode号采用64位长。
进一步地,所述步骤S30具体为:
设定一容量阈值,基于所述容量阈值将文件分类为大文件和小文件,基于所述inode号将大文件存储至内核空间的本地文件系统,基于所述inode号将小文件存储至LevelDB表。
进一步地,所述步骤S40具体为:
将所述LevelDB表存储至本地文件系统,所述LevelDB表基于自带的预写日志功能,将所述LevelDB表的更新日志基于预设的同步周期同步至本地文件系统。
第二方面,本发明提供了一种基于LevelDB的文件系统加速系统,包括如下模块:
LevelDB表创建模块,用于在用户空间内创建一LevelDB表;
inode号申请模块,用于通过全局计数器为各待存储的文件申请inode号;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建新大陆通信科技股份有限公司,未经福建新大陆通信科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211524055.3/2.html,转载请声明来源钻瓜专利网。





