[发明专利]小文件性能优化方法及系统有效
申请号: | 202110032463.6 | 申请日: | 2021-01-11 |
公开(公告)号: | CN112597104B | 公开(公告)日: | 2023-07-04 |
发明(设计)人: | 谌显;尹微;文中领;周泽湘 | 申请(专利权)人: | 武汉飞骥永泰科技有限公司 |
主分类号: | G06F16/13 | 分类号: | G06F16/13;G06F16/16;G06F16/172;G06F3/06 |
代理公司: | 北京方韬法业专利代理事务所(普通合伙) 11303 | 代理人: | 党小林 |
地址: | 430000 湖北省武汉市武汉东湖新技术开发区关山大*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 性能 优化 方法 系统 | ||
本发明提供了一种小文件性能优化方法及系统。该方法包括:将小文件的数据内容及元数据组成元数据数据库;以及通过访问元数据数据库,执行对小文件的IO操作;还包括:将多个小文件缓存,合并成一个大数据块;依据合并后的大数据块,执行小文件的IO操作。本发明提供的小文件性能优化方法及系统能够提升小文件的IO性能。
技术领域
本发明涉及存储系统技术领域,特别是涉及一种小文件性能优化方法及系统。
背景技术
通常文件系统(包括本地文件系统、分布式文件系统)存储数据时分为元数据(metadata)和数据(data)。数据是文件本身的数据内容,元数据描述文件的属性(用户、ACL、创建时间等)、数据块在存储设备上的位置信息等。为了提升数据访问性能,部分文件系统的实现将元数据信息用高性能数据库管理,用来索引文件位置。我们将这个数据库称为元数据数据库。
本地文件系统和分布式文件系统都可以采用这种存储模式。这种存储模式在大量小文件读写场景下,性能不够好。
现有技术方案写一个文件时,先写数据块(文件数据内容),再写元数据(向元数据数据库插入一条记录)。参考图1。
现有技术方案读一个文件时,先从元数据数据库读取元数据,然后根据元数据描述的位置信息,从存储设备读取数据块。参考图2。
无论是大文件还是小文件,读和写都需要2次IO:一次访问存储设备,一次访问元数据数据库。对于大文件而言,2次IO完成数据访问,是可以接受的。但对于小文件,2次IO完成数据访问,显得效率比较低。
发明内容
本发明要解决的技术问题是提供一种小文件性能优化方法及系统,能够提升小文件的IO性能。
为解决上述技术问题,本发明提供了一种小文件性能优化方法,所述方法包括:将小文件的数据内容及元数据组成元数据数据库;以及通过访问元数据数据库,执行对小文件的IO操作;还包括:将多个小文件缓存,合并成一个大数据块;依据合并后的大数据块,执行小文件的IO操作。
在一些实施方式中,依据合并后的大数据块,执行小文件的IO操作,包括:在元数据数据库中增加多条记录,用于描述每个小文件在大数据块中的位置信息。
在一些实施方式中,将多个小文件缓存,合并成一个大数据块,包括:缓存文件数量到达数量上限时,将多个小文件缓存合并成一个大数据块。
在一些实施方式中,将多个小文件缓存,合并成一个大数据块,包括:文件缓存时间到达时间上限,将多个小文件缓存合并成一个大数据块。
在一些实施方式中,还包括:统计小文件的IO频度,并根据得到的IO频度动态调整存储方式。
在一些实施方式中,统计小文件的IO频度,并根据得到的IO频度动态调整存储方式,包括:根据IO频度,动态调整数量上限。
在一些实施方式中,统计小文件的IO频度,并根据得到的IO频度动态调整存储方式,包括:根据IO频度,动态调整时间上限。
在一些实施方式中,小文件性能优化方法适用于本地文件系统及分布式文件系统。
此外,本发明还提供了一种小文件性能优化系统,所述系统包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据前文所述的小文件性能优化方法。
采用这样的设计后,本发明至少具有以下优点:
1.设计了“直接索引存储”和“合并存储”2种存储方式,一个系统同时兼容2种存储方式。
2.设计了“存储策略决策器”,可以根据业务特点动态控制使用哪种存储方式。
3.本优化方案适用于本地文件系统和分布式文件系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉飞骥永泰科技有限公司,未经武汉飞骥永泰科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110032463.6/2.html,转载请声明来源钻瓜专利网。