[发明专利]利用日志结构合并树将数据写入的存储设备及其方法有效
申请号: | 201710538198.2 | 申请日: | 2017-07-04 |
公开(公告)号: | CN109213432B | 公开(公告)日: | 2021-10-26 |
发明(设计)人: | 吴章玲 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 熊永强;李稷芳 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 利用 日志 结构 合并 数据 写入 存储 设备 及其 方法 | ||
1.一种利用日志结构合并树将数据写入存储设备的方法,其特征在于,所述存储设备包含控制器和硬盘,所述方法包括:
所述控制器接收第一写请求;其中,所述第一写请求携带第一键值对;
所述控制器将所述第一写请求写入所述硬盘的第一逻辑层中的第一日志表以及所述控制器的内存中的第一数据写入表;所述第一逻辑层用于存储最新的日志表;
所述第一数据写入表和所述第一日志表属于第一日志结构合并树;
其中,所述方法还包括:
当所述第一数据写入表的容量达到预定值时,将所述第一数据写入表转为第一只读数据表,将所述第一日志表转为第二日志表,其中,所述第二日志表属于所述第一日志结构合并树;
其中,所述方法还包括:
读取所述第一逻辑层中的多个需合并的日志表;其中,所述多个需合并的日志表包含所述第二日志表;
将多个需合并的第二日志表合并得到合并数据表;
将所述合并数据表存储到所述硬盘的第二逻辑层。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:删除所述内存中的第二只读数据表;所述第二只读数据表属于第一日志结构合并树。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:为所述第一写请求在第一索引表中创建索引项,其中,当所述第一数据写入表的容量达到所述预定值时,将所述第一索引表转为第二索引表。
4.如权利要求3所述的方法,其特征在于,所述读取第一逻辑层中的所述多个需合并的日志表具体包括:从所述内存读取第一只读数据表,并根据所述第二索引表从所述第一逻辑层中读取与所述第二只读数据表对应的日志表。
5.如权利要求1-4中任一项所述的方法,其特征在于,还包括:
所述控制器接收第二写请求;其中,所述第二写请求携带第二键值对;
所述控制器将所述第二写请求写入所述硬盘的所述第一逻辑层中的第三日志表以及所述内存中的第二数据写入表;其中,所述第二数据写入表和所述第三日志表属于第二日志结构合并树。
6.一种利用日志结构合并树将数据写入的存储设备,其特征在于,所述存储设备包含控制器和硬盘,所述控制器包括接收单元,写入单元和内存;其中
所述接收单元,用于接收第一写请求;其中,所述第一写请求携带第一键值对;
所述写入单元,用于将所述第一写请求写入所述硬盘的第一逻辑层中的第一日志表以及所述内存中的第一数据写入表;其中,所述第一逻辑层用于存储最新的日志表,所述第一数据写入表和所述第一日志表属于第一日志结构合并树;
其中,所述控制器还包括:
转换单元,用于当所述第一数据写入表的容量达到预定值时,将所述第一数据写入表转为第一只读数据表,将所述第一日志表转为第二日志表;其中,所述第二日志表属于所述第一日志结构合并树;
其中,所述控制器还包括:
读取单元,用于读取所述第一逻辑层中的多个需合并的日志表;其中,所述多个需合并的日志表包含所述第二日志表;
合并单元,用于将所述多个需合并第二日志表合并得到合并数据表;
存储单元,用于将所述合并数据表存储到所述硬盘的第二逻辑层。
7.如权利要求6所述的存储设备,其特征在于,所述控制器还包括:
删除单元,用于删除所述内存中的第二只读数据表;所述第二只读数据表属于第一日志结构合并树。
8.如权利要求7所述的存储设备,其特征在于,所述写入单元还用于为所述第一写请求在第一索引表中创建索引项;其中,当所述第一数据写入表的容量达到所述预定值时,所述转换单元将所述第一索引表转为第二索引表。
9.如权利要求8所述的存储设备,其特征在于,所述读取单元具体用于:从所述内存读取第一只读数据表,并根据所述第二索引表从所述第一逻辑层中读取与所述第二只读数据表对应的日志表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710538198.2/1.html,转载请声明来源钻瓜专利网。