[发明专利]一种文件合并方法及装置有效
申请号: | 201710245993.2 | 申请日: | 2017-04-14 |
公开(公告)号: | CN108733306B | 公开(公告)日: | 2020-04-21 |
发明(设计)人: | 朱云生 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 合并 方法 装置 | ||
本发明实施例提供了一种文件合并方法、装置和存储系统所述存储系统包括控制器和固态硬盘。所述控制器读取所述固态硬盘的第一文件和第二文件,其中第一文件包括第一数据以及所述第一数据的关键字。第二文件包括第二数据以及第二数据的关键字。所述控制器中保存有第一数据的物理地址与第一文件的标识之间的对应关系,以及所述第二数据的物理地址与第二文件的标识之间的对应关系。然后,所述控制器判断所述第一数据的关键字与所述第二数据的关键字是否相同,当所述第一数据的关键字与所述第二数据的关键字不相同时,所述控制器创建第三文件,将所述第一数据和第二数据分别重定向到所述第三文件。可以消除固态硬盘的写放大。
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种文件合并方法及装置。
背景技术
日志结构合并树(log structured merge tree,LSMtree)是相对应B+树的一种数据结构,其主要是为了克服B+树的大量随机IO导致性能低的问题,本质是实现读写之前取得平衡,牺牲读性能来大幅度提高写性能。
业界有很多基于LSMtree原理实现的KV存储引擎,这些存储引擎被广泛应用各种数据存储系统中。这些应用实现KV存储引擎的核心思想是将随机IO转化为顺序IO写入,数据再通过内存整理为局部有序的文件存储到文件系统,最后再对多个文件系统中的文件进行合并和排序提升读取性能。具体的,存储引擎先从固态硬盘中获取待合并的多个文件,对这些文件执行合并操作,再将合并后的数据写入固态硬盘中。然而待合并的文件中通常包含一些关键字不同的数据,而对于关键字不同的数据在合并的过程中并不会产生新的数据。因此存储引擎将这些数据再次写入固态硬盘会造成固态硬盘的写放大。
发明内容
本发明公开了一种文件合并方法、装置和存储系统,可以消除固态硬盘的写放大。
第一方面提供了一种文件合并方法,该方法应用于存储系统中。所述存储系统包括控制器和固态硬盘。所述控制器读取所述固态硬盘的第一文件和第二文件,其中第一文件包括第一数据以及所述第一数据的关键字。第二文件包括第二数据以及第二数据的关键字。所述第一数据存储于所述固态硬盘中的实际地址为第一数据的物理地址,所述第二数据存储于所述固态硬盘中的实际地址为所述第二数据的物理地址。所述控制器中保存有第一数据的物理地址与第一文件的标识之间的对应关系,以及所述第二数据的物理地址与第二文件的标识之间的对应关系。然后,所述控制器判断所述第一数据的关键字与所述第二数据的关键字是否相同,当所述第一数据的关键字与所述第二数据的关键字不相同时,所述控制器创建第三文件,为所述第三文件分配标识。所述控制器创建所述第一数据的物理地址与所述第三文件的标识之间的对应关系,并且创建所述第二数据的物理地址与所述第三文件的标识之间的对应关系,删除所述第一数据的物理地址与所述第一文件的标识之间的对应关系,以及删除所述第二数据的物理地址与所述第二文件的标识之间的对应关系。
按照第一方面提供的文件合并方法,对于关键字不同的数据,控制器重新建立关键字不同的数据的关键字与新的文件标识之间的对应关系,删除关键字与原有的文件标识之间的对应关系,而并没有将这些关键字不同的数据再次写入固态硬盘,从而消除了固态硬盘的写放大。
基于第一方面,在第一种实现方式中,所述存储系统采用日志结构合并树的结构存储数据。所述日志结构合并树包括至少两个层级,其中至少两个层级中的第一层级中的多个文件均是没有经过合并的文件,所述至少两个层级中的第二层级中的文件是由所述第一层级中的多个文件合并而来的文件。第一层级包括所述第一文件和所述第二文件,所述第二层级包括所述第三文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710245993.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:存储器装置、系统及其操作方法
- 下一篇:存储管理方法、设备以及计算机可读介质