[发明专利]文件合并方法和装置有效
申请号: | 201710040977.X | 申请日: | 2017-01-17 |
公开(公告)号: | CN108319625B | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 郑主能 | 申请(专利权)人: | 广州市动景计算机科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 屠长存 |
地址: | 510627 广东省广州市天河区*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 索引块 追加 数据块 写入 合并 方法和装置 文件合并 新文件 读取 元数据信息 逻辑地址 叶子节点 大文件 读性能 写性能 记录 查找 | ||
1.一种文件合并方法,所述文件存储在外部存储器中,包括文件头、数据块以及索引块,所述文件头用于记录文件的元数据信息,所述数据块用于存放值,所述索引块用于以B+树的形式存放所述值对应的键,其中,所有键及其对应的值在所述数据块中的逻辑地址均分别记录于所述B+树中的叶子节点中,该方法包括:
在第一文件之后追加写入追加数据块,其中写入第二文件的数据块中的值;
在所述追加数据块之后追加写入新索引块,所述新索引块是基于所述第一文件的索引块和所述第二文件的索引块生成的,所述新索引块中的键是以新B+树的形式存储的,所述第一文件的索引块和所述第二文件的索引块中的全部有效键及其对应的值在所述第一文件的数据块和所述追加数据块中的逻辑地址均分别记录于所述新B+树中的叶子节点中;
在所述新索引块之后追加写入新文件头,以记录合并后的新文件的元数据信息。
2.根据权利要求1所述的文件合并方法,其中,所述元数据信息包括以下一项或多项:
所述索引块中键的数量;
所述索引块中键的范围;
所述B+树的高度;
所述B+树中第一个叶子节点的逻辑地址;
所述B+树中内部节点的个数。
3.根据权利要求1所述的文件合并方法,其中,构成所述B+树的所有节点在物理上连续存储。
4.根据权利要求1所述的文件合并方法,还包括:
根据所述新文件头更新所述第一文件的文件头,以用所述新文件头中的元数据信息替换所述第一文件的文件头中的元数据信息。
5.根据权利要求4所述的文件合并方法,其中,
所述文件包括位于文件头部的前文件头和位于文件尾部的后文件头,所述前文件头和所述后文件头的内容相同,
根据所述新文件头更新所述第一文件的前文件头,作为新文件的前文件头,而以所述新文件头作为新文件的后文件头。
6.根据权利要求4或5所述的文件合并方法,还包括:
在所述新文件头中写入新文件的元数据信息的步骤出错的情况下,根据所述第一文件的文件头将新文件还原为合并前的所述第一文件;以及/或者
在更新所述第一文件的文件头的步骤出错的情况下,根据所述新文件头重新更新所述第一文件的文件头。
7.根据权利要求1-5中任何一项所述的文件合并方法,还包括执行以下步骤以从目标文件中读取请求键所对应的目标值:
获取目标文件的文件头和索引块;
根据所述文件头判断所述请求键是否在所述文件头所指示的键的范围内;
在判定所述请求键在所述范围内的情况下,基于所述索引块的B+树结构,在所述索引块中查找对应于所述请求键的叶子节点;
根据所查找到的叶子节点所存储的键所对应的值在所述目标文件中的数据块中的逻辑地址读取所述目标值。
8.一种文件合并装置,所述文件存储在外部存储器中,包括文件头、数据块以及索引块,所述文件头用于记录文件的元数据信息,所述数据块用于存放值,所述索引块用于以B+树的形式存放所述值对应的键,其中,所有键及其对应的值在所述数据块中的逻辑地址均分别记录于所述B+树中的叶子节点中,该装置包括:
第一写入单元,用于在第一文件之后写入追加数据块,其中写入第二文件的数据块中的值;
B树生成单元,用于基于所述第一文件的索引块和所述第二文件的索引块生成新B+树,所述第一文件的索引块和所述第二文件的索引块中的全部有效键及其对应的值在所述第一文件的数据块和所述追加数据块中的逻辑地址均分别记录于所述新B+树中的叶子节点中;
第二写入单元,用于在所述追加数据块之后追加写入新索引块,其中写入所述新B+树;
第三写入单元,用于在所述新索引块之后追加写入新文件头,以记录合并后的新文件的元数据信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州市动景计算机科技有限公司,未经广州市动景计算机科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710040977.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:数据加载方法及装置
- 下一篇:一种基于名称信息的对象分类方法与设备