[发明专利]一种数据存储方法及装置有效
申请号: | 202010145051.9 | 申请日: | 2020-03-04 |
公开(公告)号: | CN111367916B | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 赵建波;魏齐良 | 申请(专利权)人: | 浙江大华技术股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 张秀英 |
地址: | 310051 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 | ||
本发明提供了一种数据存储方法及装置,该方法包括:接收待存储数据;根据该时间戳确定该待存储数据为有序数据或无序数据;在该待存储数据为有序数据且检测到B+树已创建的最后一个叶子节点中已存储数据的数据量大于或等于第一预设阈值的情况下,创建第一叶子节点,并将该待存储数据以键值的方式存储到该第一叶子节点中;在该待存储数据为无序数据的情况下,将该待存储数据以键值的方式插入该B+树已创建的叶子节点中,可以解决相关技术中通过比较叶子节点和数据的大小,判断叶子节点是否满,如果叶子节点满则进行B+树的分裂导致存储空间利用率不高的问题,提高了B+树叶子节点使用率以及查询效率。
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种数据存储方法及装置。
背景技术
标准B+树定义每个叶子节点(除根节点外)里面至少保存T个数据,最多保存2T个数据,当叶子节点中已经保存有2T个数据之后,如果还需要往该节点里面添加数据,就会触发原来的叶子节点进行分裂,将一个叶子节点分裂成2个叶子节点,其中一个叶子节点保存T个数据,另外一个叶子节点保存T+1个数据;B+树的这种写满在写的情况下需要分裂是为了解决后续写入的数据是无序的情况下,新加入的数据可能需要存储到前面的叶子节点上的时候,在前面的叶子节点里面有空间保存新的数据。
图1是根据相关技术中的数据存储的示意图一,如图1所示,一个节点里面最多可以保存10个数据;当原来的叶子节点中已经有10个数据0、1、2、3、4、5、6、7、8和9的情况下,新增数据10之后叶子节点被写满,此时B+树需要分裂产生2个叶子节点,并且第一个叶子节点保存5个数据,数据分别为0、1、2、3和4;第二个叶子节点保存6个数据,数据分别为5、6、7、8、9和10。
当删除叶子节点里面的数据之后,如果2个相邻的叶子节点里面的数据数量都小于T,则将这2个相邻的叶子节点合并为一个叶子节点。图2是根据相关技术中的数据存储的示意图二,如图2所示,有2个叶子节点,其中一个叶子节点有5个数据,分别为:0、1、2、3和4,另外一个叶子节点有6个数据,分别为:5、6、7、8、9和10;先删除数据4,第一个叶子节点只剩下4个数据,再删除数据5和6,第二个叶子节点里面的数据剩下4个,2个相邻的叶子节点里面的数据量都小于(T=5),将2个叶子节点合并成一个叶子节点,该叶子节点里面的数据分别为:0、1、2、3、7、8、9和10一共8个数据。
B+树节点里面数据满之后再插入数据需要分裂的技术,如果每次需要插入B+树中的数据是升序的,后面插入的数据比前面的数据要更大,这样就会造成后面的叶子节点一直都在分裂,并且由于新增加的数据都比前面加入的数据要大,所以前面的叶子节点里面都不会新增加新的数据,结果就是造成基本所有的叶子节点里面都只有一半的数据量,只有最后一个叶子节点里面的数据量大于叶子节点最大数据量的一半。
图3是根据相关技术中的数据存储的示意图三,如图3所示,虽然每个叶子节点可以最多保存10个数据,但是实际在使用的过程中发现每个叶子节点基本只有5个数据,从这个来看空间利用率不高,并且每次读硬盘IO之后获取到的有效数据也比较少,造成查询效率不高。
针对相关技术中通过比较叶子节点和数据的大小,判断叶子节点是否满,如果叶子节点满则进行B+树的分裂导致存储空间利用率不高的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种数据存储方法及装置,以至少解决相关技术中通过比较叶子节点和数据的大小,判断叶子节点是否满,如果叶子节点满则进行B+树的分裂导致存储空间利用率不高的问题。
根据本发明的一个实施例,提供了一种数据存储方法,包括:
接收待存储数据,其中,所述待存储数据中携带有时间戳;
根据所述时间戳确定所述待存储数据为有序数据或无序数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大华技术股份有限公司,未经浙江大华技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010145051.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于5G网络的医疗手术多频道监测系统
- 下一篇:废水再利用系统
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置