【技术实现步骤摘要】
一种分布式存储系统的读写控制方法和系统
本专利技术涉及分布式存储
,尤其涉及一种分布式存储系统的读写控制方法和系统。
技术介绍
现有的分布式存储系统,其底层架构多采用新型对象存储引擎Bluestore进行落盘管理。Bulestore会将所有元数据以kv(key-value,键值对)形式写入分布式存储系统的RocksDB中。RocksDB是一个C++数据库,用于存储kv数据并且支持原子读写,在配置上具有较高灵活性,并且RockDB能够在各种生产环境中运行。RocksDB是基于LSM-Tree数据结构的,能够将离散的随机写请求都转换成批量的顺序写请求,从而提高写性能。但RocksDB也同时引入读放大和写放大等问题。读放大是因为RockDB基于LSM-Tree数据结构,因此Bluestore在对RockDB执行读请求时,需要一层一层对磁盘空间进行二分法查询,这过程可能会进行多次IO操作;另外,写放大是指Bluestore实际写入的数据要比写请求大。在机械硬盘HDD作为主流存储介质时,写放大的问题并没有很明显,原因是HDD的顺序读写性能远远优于随机读写性能,足以抵消写放大带来的开销;HDD的写入量基本不影响其使用寿命。然而,现在固态硬盘SDD逐渐成为主流存储介质,其写放大的问题明显:因为SSD顺序读写性能与随机读写性能差距相对HDD不大,这就导致SSD必须先擦除(erase)再写入,现有的磁盘读写方式严重降低SSD的使用寿命。
技术实现思路
本专利技术提供了一种分布式存储的读写控制方 ...
【技术保护点】
1.一种分布式存储系统的读写控制方法,其特征在于,包括:/n根据磁盘的层写入顺序,将SST文件写入磁盘的空余层,其中,所述SST文件包括key值;/n当所述空余层写满时,根据key值与磁盘存储空间对应关系,按照预设压缩策略对同key值的SST文件进行合并压缩;/n根据所述层写入顺序,将合并压缩后的所述SST文件写入所述磁盘的下一空余层;/n当需要读取所述SST文件时,根据所述key值与磁盘存储空间对应关系,读取所述磁盘中的SST文件。/n
【技术特征摘要】
1.一种分布式存储系统的读写控制方法,其特征在于,包括:
根据磁盘的层写入顺序,将SST文件写入磁盘的空余层,其中,所述SST文件包括key值;
当所述空余层写满时,根据key值与磁盘存储空间对应关系,按照预设压缩策略对同key值的SST文件进行合并压缩;
根据所述层写入顺序,将合并压缩后的所述SST文件写入所述磁盘的下一空余层;
当需要读取所述SST文件时,根据所述key值与磁盘存储空间对应关系,读取所述磁盘中的SST文件。
2.根据权利要求1所述的读写控制方法,其特征在于,其特征在于,所述根据key值与磁盘存储空间对应关系,按照预设压缩策略对同key值的SST文件进行合并压缩的步骤,包括:
通过所述SST文件的key值从所述SST文件获取hash值;
使用所述磁盘的level-hash对照表,判断是否已有同key值的SST文件写入所述磁盘;
若判定已有同key值的SST文件写入所述磁盘,则根据所述level-hash对照表以及所述磁盘的block-hash对照表,查找并合并所述同key值的SST文件;
若判定未有同key值的SST文件写入所述磁盘,则根据所述SST文件需要写入的位置,修改所述磁盘的level-hash对照表和block-hash对照表。
3.根据权利要求2所述的读写控制方法,其特征在于,所述根据key值与磁盘存储空间对应关系,读取所述磁盘中的SST文件的步骤,包括:
使用读请求的key值,计算得到所述读请求的hash值;
使用所述hash值查询所述level-hash对照表和所述block-hash对照表,获取所述读请求的SST文件所在磁盘的位置;
将所述读请求的key值与查找到的所述SST文件的key值进行匹配;
若所述key值匹配成功,则读取所述SST文件。
4.根据权利要求1所述的读写控制方法,其特征在于,在将SST文件写入磁盘的空余层的步骤之前,所述方法还包括:
将写请求的数据写入预写式日志WAL;
使用追加模式,将所述写请求的数据写入内存数据结构中;
当所述内存数据结构写满时,以所述SST文件的形式将所述写请求的数据下刷至所述磁盘中。
5.根据权利要求1所述的读写控制方法,其特征在于,所述根据层写入顺序,将合并压缩后的所述SST文件写入所述磁盘的下一空余层的步骤,包括:
根据所述合并压缩后的SST文件在所述下一空余层的位置,修改所述磁盘的level-hash对照表和block-hash对照表。
6.一种分布式存储系统的读写控制系统...
【专利技术属性】
技术研发人员:彭超峰,侯斌,
申请(专利权)人:济南浪潮数据技术有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。