[发明专利]一种基于流量控制的树状存储结构写放大优化方法有效
申请号: | 201510684785.3 | 申请日: | 2015-10-20 |
公开(公告)号: | CN105302487B | 公开(公告)日: | 2018-05-22 |
发明(设计)人: | 岳银亮;李宇哲;王伟平 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F11/30 |
代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 司立彬 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 流量 控制 树状 存储 结构 放大 优化 方法 | ||
本发明公开了一种基于流量控制的树状存储结构写放大优化方法。本方法:1)在存储系统中设置一流量监听器;其中,该存储系统的磁盘空间和内存空间采用树状存储结构进行数据存储;2)该流量监听器根据磁盘空间的每一待监控组件的当前数据量,判断所述磁盘空间是否需要进行流量控制;如果需要控制,则选取若干待监控组件的当前数据量计算一流量控制力度;3)该流量监听器根据该流量监控力度计算一延长时间,然后根据该延长时间延长写请求的到达时间间隔。本发明能够有效降低写放大,提升LSM‑Tree的整体性能;使用本发明提供的方式优化LSM‑Tree,可以将LSM‑Tree的整体写吞吐量提升30%以上。
技术领域
本发明属于计算机软件技术领域,涉及到基于流量控制的树状存储结构LSM-Tree写放大优化方法。
背景技术
LSM Tree是一种多组件的树状存储结构。总体来说,LSM Tree由内存空间和磁盘空间两部分构成。数据首先会被缓存在内存空间中,当内存空间达到一定阈值时,内存的数据会被批量地刷写到磁盘空间上。磁盘空间由多层组件构成,各层组件都有一个存储数据大小的阈值,阈值自上而下呈指数增长。刚从内存刷写到磁盘的数据会先存储在上层组件中,当组件达到阈值时,会通过合并操作将本层数据合并到下层组件中。
写放大是目前影响LSM-Tree性能的主要原因。写放大表示一次合并操作的有效率,其计算公式为:写放大=写操作总IO量/有效移动数据总量,可以看出,写放大越大,表明此次操作的无效IO比例越大,效率就越低,性能也就越差。LSM-Tree写放大较大的原因主要是:在合并操作时,需要从待合并的上下两个组件中各读取一部分数据到内存中进行合并,合并后将结果写回下层组件,而只有上层组件的数据是有效移动数据,下层组件的数据并没有移动,所以下层组件的数据量越大,写放大就越大。在现有的LSM-Tree结构中,会经常出现某一组件数据量过大的情况,而一旦出现这种情况,其作为下层组件参与合并时,就会导致写放大较大。
发明内容
本发明的主要目的在于提出一种通过动态调整LSM-Tree上层数据流量的方法,控制LSM-Tree中各个组件数据量的范围,从而有效降低写放大,提升LSM-Tree的整体性能。
本发明的技术方案为:
一种基于流量控制的树状存储结构写放大优化方法,其步骤为:
1)在存储系统中设置一流量监听器;其中,该存储系统的磁盘空间和内存空间采用树状存储结构进行数据存储;
2)该流量监听器根据磁盘空间的每一待监控组件的当前数据量,判断所述磁盘空间是否需要进行流量控制;如果需要控制,则选取若干待监控组件的当前数据量计算一流量控制力度;
3)该流量监听器根据该流量监控力度计算一延长时间,然后根据该延长时间延长写请求的到达时间间隔。
进一步的,该流量监听器判断是否需要进行流量监控的方法为:如果所有待监控组件的当前数据量均没有超过相应阈值,则不进行流量控制;否则,需要进行流量控制。
进一步的,根据所有超过对应阈值的待监控组件的当前流量计算所述流量控制力度。
进一步的,所述流量监控力度N=0.5n
进一步的,所述延长时间T
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510684785.3/2.html,转载请声明来源钻瓜专利网。