[发明专利]一种分布式存储的本地对象存储方法及装置在审
申请号: | 201810532022.0 | 申请日: | 2018-05-29 |
公开(公告)号: | CN108763473A | 公开(公告)日: | 2018-11-06 |
发明(设计)人: | 孔帅 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 底层文件系统 聚合 分布式存储 大文件 对象存储 对象数据 小文件 末尾 写入 数据库 计算机可读存储介质 对象存储装置 海量小文件 存储压力 离散分布 连续分布 索引信息 写入性能 连续块 元数据 保存 磁盘 分配 | ||
1.一种分布式存储的本地对象存储方法,其特征在于,包括:
将对象的对象数据写入到当前聚合文件的末尾;
将所述对象的元数据全部保存到KV数据库中;
将所述对象和所述当前聚合文件的索引信息保存到所述KV数据库中;其中,所述对象的索引信息包括所述对象数据中的每个碎片在所述对象数据中的偏移量和长度及所述对象数据中的每个碎片所写入的聚合文件的id和偏移量,所述当前聚合文件的索引信息包括写入到所述当前聚合文件的每个碎片在所述当前聚合文件中的偏移量和长度、在对应的对象数据中的偏移量及文件大小和有效数据大小。
2.根据权利要求1所述的分布式存储的本地对象存储方法,其特征在于,还包括:
将追加写命令对应的新的碎片写入到所述当前聚合文件的末尾;
更新所述KV数据库中所述追加写命令对应的对象的索引信息和所述当前聚合文件的索引信息。
3.根据权利要求1所述的分布式存储的本地对象存储方法,其特征在于,还包括:
将所述KV数据库中修改写命令对应的对象和聚合文件的索引信息中的删除所述修改写命令对应的旧的碎片的信息;
将所述修改写命令对应的新的碎片写入到所述当前聚合文件的末尾;
更新所述KV数据库中所述修改写命令对应的对象的索引信息和所述当前聚合文件的索引信息。
4.根据权利要求1所述的分布式存储的本地对象存储方法,其特征在于,还包括:
将所述KV数据库中删除命令对应的对象的索引信息,及对应的聚合文件的索引信息中所述删除命令对应的对象的碎片的信息。
5.根据权利要求1所述的分布式存储的本地对象存储方法,其特征在于,还包括:
将有效数据大小与文件大小的比值小于等于回收阈值的聚合文件加入到回收队列;
根据所述回收队列中的聚合文件的索引信息,将所述回收队列中的聚合文件中的有效数据对应的碎片写入到所述当前聚合文件的末尾;
更新所述当前聚合文件的索引信息和所述回收队列中的聚合文件中的有效数据对应的碎片对应的对象的索引信息。
6.根据权利要求1所述的分布式存储的本地对象存储方法,其特征在于,所述将有效数据大小与文件大小的比值小于等于回收阈值的聚合文件加入到回收队列,包括:
将有效数据大小与文件大小的比值小于等于所述回收阈值,且在预设时间段内均未被访问的聚合文件加入到所述回收队列。
7.根据权利要求1至6任一项所述的分布式存储的本地对象存储方法,其特征在于,所述将对象的对象数据写入到当前聚合文件的末尾之前,还包括:
判断所述当前聚合文件的文件大小是否大于或等于容量阈值;
若否,则执行所述将对象的对象数据写入到当前聚合文件的末尾的步骤;
若是,则将下一聚合文件作为所述当前聚合文件,执行所述将对象的对象数据写入到当前聚合文件的末尾的步骤。
8.根据权利要求7所述的分布式存储的本地对象存储方法,其特征在于,所述将对象的对象数据写入到当前聚合文件的末尾,包括:
若当前聚合文件在写入所述对象数据的过程中,所述当前聚合文件的文件大小达到所述容量阈值,则将所述对象数据中未写入到所述当前聚合文件的碎片写入到下一聚合文件,并将所述下一聚合文件作为所述当前聚合文件。
9.一种分布式存储的本地对象存储装置,其特征在于,包括:
数据写入模块,用于将对象的对象数据写入到当前聚合文件的末尾;
第一保存模块,用于将所述对象的元数据全部保存到KV数据库中;
第二保存模块,用于将所述对象和所述当前聚合文件的索引信息保存到所述KV数据库中;其中,所述对象的索引信息包括所述对象数据中的每个碎片在所述对象数据中的偏移量和长度及所述对象数据中的每个碎片所写入的聚合文件的id和偏移量,所述当前聚合文件的索引信息包括写入到所述当前聚合文件的每个碎片在所述当前聚合文件中的偏移量和长度、在对应的对象数据中的偏移量及文件大小和有效数据大小。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至8任一项所述的分布式存储的本地对象存储方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810532022.0/1.html,转载请声明来源钻瓜专利网。