[发明专利]一种分布式存储的本地对象存储方法及装置在审
申请号: | 201810532022.0 | 申请日: | 2018-05-29 |
公开(公告)号: | CN108763473A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 孔帅 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 底层文件系统 聚合 分布式存储 大文件 对象存储 对象数据 小文件 末尾 写入 数据库 计算机可读存储介质 对象存储装置 海量小文件 存储压力 离散分布 连续分布 索引信息 写入性能 连续块 元数据 保存 磁盘 分配 | ||
本发明公开了一种分布式存储的本地对象存储方法,包括:将对象的对象数据写入到当前聚合文件的末尾;将对象的元数据全部保存到KV数据库中;将对象和当前聚合文件的索引信息保存到KV数据库中;本发明通过将对象的对象数据写入到当前聚合文件的末尾,利用底层文件系统对大文件分配连续块的特性,将小文件在磁盘上的较离散分布变成大文件的较连续分布,有效提高了海量小文件的写入性能;同时将小文件聚合成大文件,可以减少底层文件系统中的文件个数,减少底层文件系统的存储压力。此外,本发明还公开了一种分布式存储的本地对象存储装置及计算机可读存储介质,同样具有上述有益效果。
技术领域
本发明涉及分布式存储系统领域,特别涉及一种分布式存储的本地对象存储方法、装置及计算机可读存储介质。
背景技术
随着现代社会科技的发展,分布式存储系统的应用越来越广泛。在分布式存储系统中,本地对象存储位于最底层,负责将数据实际写入磁盘中。
目前主流的本地对象存储引擎为FileStore,其基于本地的xfs文件系统实现,对象的对象数据保存在一个固定大小的文件中,对象的元数据保存在文件的扩展属性或者本地独立的KV数据库中。然而,这样的本地对象存储方式在写入海量小文件时,会对普通的机械磁盘产生大量的随机IO,增大磁盘压力;且在写入海量小文件后,对底层xfs文件系统产生较大的存储压力,严重时会出现磁盘有容量但是无法写入的现象。因此,如何提高海量小文件的写入性能,减少底层文件系统的存储压力,是现今亟需解决的问题。
发明内容
本发明的目的是提供一种分布式存储的本地对象存储方法、装置及计算机可读存储介质,以提高海量小文件的写入性能,减少底层文件系统的存储压力。
为解决上述技术问题,本发明提供一种分布式存储的本地对象存储方法,包括:
将对象的对象数据写入到当前聚合文件的末尾;
将所述对象的元数据全部保存到KV数据库中;
将所述对象和所述当前聚合文件的索引信息保存到所述KV数据库中;其中,所述对象的索引信息包括所述对象数据中的每个碎片在所述对象数据中的偏移量和长度及所述对象数据中的每个碎片所写入的聚合文件的id和偏移量,所述当前聚合文件的索引信息包括写入到所述当前聚合文件的每个碎片在所述当前聚合文件中的偏移量和长度、在对应的对象数据中的偏移量及文件大小和有效数据大小。
可选的,该方法还包括:
将追加写命令对应的新的碎片写入到所述当前聚合文件的末尾;
更新所述KV数据库中所述追加写命令对应的对象的索引信息和所述当前聚合文件的索引信息。
可选的,该方法还包括:
将所述KV数据库中修改写命令对应的对象和聚合文件的索引信息中的删除所述修改写命令对应的旧的碎片的信息;
将所述修改写命令对应的新的碎片写入到所述当前聚合文件的末尾;
更新所述KV数据库中所述修改写命令对应的对象的索引信息和所述当前聚合文件的索引信息。
可选的,该方法还包括:
将所述KV数据库中删除命令对应的对象的索引信息,及对应的聚合文件的索引信息中所述删除命令对应的对象的碎片的信息。
可选的,该方法还包括:
将有效数据大小与文件大小的比值小于等于回收阈值的聚合文件加入到回收队列;
根据所述回收队列中的聚合文件的索引信息,将所述回收队列中的聚合文件中的有效数据对应的碎片写入到所述当前聚合文件的末尾;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810532022.0/2.html,转载请声明来源钻瓜专利网。