[发明专利]一种优化的磁盘空间管理的方法及装置有效
申请号: | 201510515369.0 | 申请日: | 2015-08-20 |
公开(公告)号: | CN105117169B | 公开(公告)日: | 2018-07-06 |
发明(设计)人: | 刘志勇;成金祥;李大生 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 第一数据 使用频度 数据块 磁盘 磁盘空间管理 局部负载 优化 写入 存储 回收 | ||
1.一种优化的磁盘空间管理的方法,其特征在于,包括:
计算磁盘中各个空的数据块的使用频度;
按照使用频度从小到大的顺序对所述各个空的数据块进行排列;
当IO数据传入时,从所述各个空的数据块中选取使用频度最小的空的第一数据块并写入所述IO数据;
当所述第一数据块中存储的所述IO数据写出时,对所述第一数据块进行回收,并将所述第一数据块的使用频度计数加一;
从所述各个空的数据块中选取使用频度最小的空的数据块并写入所述IO数据之后,当所述IO数据进行更改时,从所述磁盘中剩余的数据块中选取使用频度最小的第二数据块,将所述第一数据块中的IO数据转入内存中进行修改,并将修改后的IO数据转至所述第二数据块。
2.如权利要求1所述的方法,其特征在于,所述按照使用频度从小到大的顺序对所述各个空的数据块进行排列,包括:
采用B+树算法,按照使用频度从小到大的顺序对所述各个空的数据块进行排列。
3.如权利要求2所述的方法,其特征在于,采用B+树算法,按照使用频度从小到大的顺序对所述各个空的数据块进行排列,包括:
建立一个B+树;其中,所述B+树为空块树;所述空块树上每个树元素用来保存当前空的数据块,所述空块树上的每个树元素的标记包括保存的空的数据块的块号和使用频度;
利用B+算法对所述B+树进行改变,将B+树变换为使用频度由小到大分布的空块树;其中,所述B+树中的最左侧的树元素为使用频度最小的空的数据块。
4.如权利要求1所述的方法,其特征在于,所述当所述IO数据进行更改时,从所述磁盘中剩余的数据块中选取使用频度最小的第二数据块,将所述第一数据块中的IO数据转入内存中进行修改,并将修改后的IO数据转至所述第二数据块,包括:
当所述IO数据进行更改时,从所述磁盘中剩余的数据块中选取使用频度最小的第二数据块,将所述第二数据块映射到内存中,形成所述第二数据块的映射镜像;
将所述第一数据块中的所述IO数据复制到所述第二数据块的映射镜像中,在所述第二数据块的映射镜像中形成IO数据复本;
将所述第二数据块的映射镜像中的IO数据复本进行修改,将改后的IO数据复本写入至所述第二数据块中;
删除所述第一数据块中的所述IO数据,回收所述第一数据块,将所述第一数据块的使用频度计数加一。
5.一种优化的磁盘空间管理的装置,其特征在于,包括:
计算模块,用于计算磁盘中各个空的数据块的使用频度;
排列模块,用于按照使用频度从小到大的顺序对所述各个空的数据块进行排列;
写入模块,用于当IO数据传入时,从所述各个空的数据块中选取使用频度最小的空的第一数据块并写入所述IO数据;
计数模块,用于当所述第一数据块中存储的所述IO数据写出时,对所述第一数据块进行回收,并将所述第一数据块的使用频度计数加一;
数据更改模块,用于当所述IO数据进行更改时,从所述磁盘中剩余的数据块中选取使用频度最小的第二数据块,将所述第一数据块中的IO数据转入内存中进行修改,并将修改后的IO数据转至所述第二数据块。
6.如权利要求5所述的装置,其特征在于,所述排列模块包括B+树排列模块,用于采用B+树算法,按照使用频度从小到大的顺序对所述各个空的数据块进行排列。
7.如权利要求6所述的装置,其特征在于,所述B+树排列模块包括:
建立单元,用于建立一个B+树;其中,所述B+树为空块树;所述空块树上每个树元素用来保存当前空的数据块,所述空块树上的每个树元素的标记包括保存的空的数据块的块号和使用频度;
变换单元,用于利用B+算法对该B+树进行改变,将B+树变换为使用频度由小到大分布的空块树;其中,所述B+树中的最左侧的树元素为使用频度最小的空的数据块。
8.如权利要求5所述的装置,其特征在于,所述数据更改模块包括:
选取单元,用于当所述IO数据进行更改时,从所述磁盘中剩余的数据块中选取使用频度最小的第二数据块,将所述第二数据块映射到内存中,形成所述第二数据块的映射镜像;
复制单元,用于将所述第一数据块中的所述IO数据复制到所述第二数据块的映射镜像中,在所述第二数据块的映射镜像中形成IO数据复本;
修改单元,用于将所述第二数据块的映射镜像中的IO数据复本进行修改,将改后的IO数据复本写入至所述第二数据块中;
回收模块,用于删除所述第一数据块中的所述IO数据,回收所述第一数据块,将所述第一数据块的使用频度计数加一。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510515369.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:高隔间主龙骨
- 下一篇:一种安装外排水管用的工具