[发明专利]一种数据分块存储方法、装置及电子设备在审
申请号: | 201910511095.6 | 申请日: | 2019-06-13 |
公开(公告)号: | CN110377227A | 公开(公告)日: | 2019-10-25 |
发明(设计)人: | 阳振坤;赵裕众 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据宏块 数据分块存储 存储空间 转储 装置及电子设备 临时空间 数据合并 形式组织 有效减少 磁盘IO 低层 微块 重写 下层 紧凑 数据库 存储 上层 消耗 合并 应用 | ||
1.一种数据分块存储方法,应用于采用LSM树的数据库,所述LSM树采用N层数据结构,第i层的存储空间小于第i+1层的存储空间,i包含0至N-1的整数,所述方法包括:通过如下步骤在所述LSM树的第0层写满多个数据宏块:
按数据顺序获得内存中M条有序数据,并对所述M条有序数据进行压缩,获得数据微块,M为大于0的整数;
将所述数据微块追加至第0层中的当前数据宏块,直至所述当前数据宏块的大小达到预设数值,将下一个形成的数据微块写入下一个数据宏块;
在所述LSM树的第0层写满多个数据宏块之后,确定所述LSM树中待合并的第j层,j为0至N-1的整数;
将所述第j层中的数据宏块合并至第j+1层,包括:如果所述第j层中的第一数据宏块与所述第j+1层中的数据宏块间不存在主键相同的交叉数据,将所述第一数据宏块按数据顺序直接转储至所述j+1层;
清空所述第j层,清空后的所述第j层用于存储第j-1层转储的数据宏块。
2.如权利要求1所述的方法,所述确定所述LSM树中待合并的第j层,包括:
将所述LSM树中剩余存储空间不能存储待存储数据的层作为所述第j层。
3.如权利要求2所述的方法,所述待存储数据为所述第0层接收到待写入的数据微块,如果所述第0层的剩余存储空间小于一个数据宏块大小,表明所述第0层不能存储所述待写入的数据微块;或
所述待存储数据为所述LSM树中当前层的上一层中的数据宏块。
4.如权利要求1所述的方法,所述确定所述LSM树中待合并的第j层,包括:
将所述LSM树中剩余存储空间小于预设容量的层作为所述第j层。
5.如权利要求1所述的方法,所述将所述第j层中的数据宏块合并至第j+1层,包括:
如果所述第j层中第二数据宏块与所述第j+1层的第三数据宏块间存在主键相同的交叉数据,将所述第三数据宏块中相同主键的数据内容更新为所述第二数据宏块中所述相同主键的数据内容,获得更新后的第三数据宏块;
将所述第二数据宏块中除所述交叉数据之外的其他数据与更新后的第三数据宏块中的数据按顺序排列后,形成新的数据宏块,将所述新的数据宏块按顺序存储至所述第j+1层。
6.如权利要求1所述的方法,所述LSM树中各层存储的数据宏块的大小为预设的固定数值。
7.一种数据分块存储装置,应用于采用LSM树的数据库,所述LSM树采用N层数据结构,第i层的存储空间小于第i+1层的存储空间,i包含0至N-1的整数,所述装置包括压缩单元和存储单元:通过所述压缩单元和所述存储单元分别执行如下步骤,在所述LSM树的第0层写满多个数据宏块:
所述压缩单元按数据顺序获得内存中M条有序数据,并对所述M条有序数据进行压缩,获得数据微块,M为大于0的整数;
所述存储单元将所述数据微块追加至第0层中的当前数据宏块,直至所述当前数据宏块的大小达到预设数值,将下一个形成的数据微块写入下一个数据宏块;
确定单元,用于在所述LSM树的第0层写满多个数据宏块之后,确定所述LSM树中待合并的第j层,j为0至N-1的整数;
合并单元,用于将所述第j层中的数据宏块合并至第j+1层,如果所述第j层中的第一数据宏块与所述第j+1层中的数据宏块间不存在主键相同的交叉数据,将所述第一数据宏块按数据顺序直接转储至所述j+1层;
清空单元,用于清空所述第j层,清空后的所述第j层用于存储第j-1层转储的数据宏块。
8.如权利要求7所述的装置,所述确定单元具体用于:
将所述LSM树中剩余存储空间不能存储待存储数据的层作为所述第j层。
9.如权利要求8所述的装置,所述待存储数据为所述第0层接收到待写入的数据微块,如果所述第0层的剩余存储空间小于一个数据宏块大小,表明所述第0层不能存储所述待写入的数据微块;或
所述待存储数据为所述LSM树中当前层的上一层中的数据宏块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910511095.6/1.html,转载请声明来源钻瓜专利网。