[发明专利]一种基于键排序的数据存储方法和装置有效
申请号: | 201210541207.0 | 申请日: | 2012-12-14 |
公开(公告)号: | CN103870492B | 公开(公告)日: | 2017-08-04 |
发明(设计)人: | 陈峥;邓大付 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 张驰,宋志强 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 排序 数据 存储 方法 装置 | ||
技术领域
本发明实施方式涉及信息处理技术领域,更具体地,涉及一种基于键(Key)排序的数据存储方法和装置。
背景技术
在当今的信息时代中,各种信息设备应运而生:有用于话音传输的固定电话、移动电话;有用于信息资源共享、处理的服务器和个人电脑;有用于视频数据显示的各种电视机等等。这些设备都是在特定领域内为解决实际的需求而产生的。随着电子消费、计算机、通信(3C)融合的到来,人们越来越多地将注意力放到了对各个不同领域的信息设备进行综合利用的研究上,以充分利用现有资源设备来为人们更好的服务。
Key-value分布式存储系统具有查询速度快、存放数据量大、支持高并发等优点,非常适合通过主键进行查询,但不能进行复杂的条件查询。如果辅以Real-Time Search Engine(实时搜索引擎)进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数量的目的。以MemcacheDB、Tokyo Tyrant为代表的Key-value分布式存储,在上万并发连接下,轻松地完成高速查询。
在目前有序Key的存储技术中,现有技术方案是以单个Key为存储单位,很难选取一个基准Key进行前缀压缩,导致压缩效率低,而且存储空间的利用率很低。
而且,在现有技术的数据压缩技术中,当需要读取数据时,需要遍历整个文件,解析力度大,而且定位查询速度慢。
发明内容
本发明实施方式提出一种键排序的数据存储方法,从而提高存储空间的利用率。
本发明实施方式还提出一种键排序的数据存储装置,从而提高存储空间的利用率,从而提高提醒事务的处理效率。
本发明实施方式的具体方案如下:
一种基于键排序的数据存储方法,该方法包括:
在第一数据块中存储定长键及其值,其中所述存储定长键包括:统一存储各个定长键的公共前缀,并分别存储各个定长键去除公共前缀后的剩余部分;
在第二数据块存储变长键及其值,其中所述存储变长键包括:全量存储基准键类型的变长键,而对前缀压缩键类型的变长键执行前缀压缩。
一种基于键排序的数据存储装置,该装置包括定长键存储单元和变长键存储单元,其中:
定长键存储单元,用于在在第一数据块中存储定长键及其值,其中所述存储定长键包括:统一存储各个定长键的公共前缀,并分别存储各个定长键去除公共前缀后的剩余部分;
变长键存储单元,用于在第二数据块存储变长键及其值,其中所述存储变长键包括:全量存储基准键类型的变长键,而对前缀压缩键类型的变长键执行前缀压缩。
从上述技术方案可以看出,在本发明实施方式中,在第一数据块中存储定长键及其值,其中所述存储定长键包括:统一存储各个定长键的公共前缀,并分别存储各个定长键去除公共前缀后的剩余部分;在第二数据块存储变长键及其值,其中所述存储变长键包括:全量存储基准键类型的变长键,而对前缀压缩键类型的变长键执行前缀压缩。由此可见,应用本发明实施方式之后,变长键数据块内采用前缀压缩方式,以及优选对每个数据块进行压缩,因此可以有效减小数据的存储空间,提高机器磁盘利用率。
另外,不同于现有技术中以单个Key为存储单位,本发明实施方式以数据块为存储单元,因此可以有利于IO和解析的力度。
而且,本发明实施方式在读取数据时,可以依据索引块以及数据块内部的有序性,快速定位查询的数据,从而提高查询效率。
附图说明
图1为根据本发明实施方式的键排序的数据存储方法流程图;
图2为根据本发明实施方式的文件格式示意图;
图3为根据本发明实施方式的数据块的变长Key的写入示意图;
图4为根据本发明实施方式的数据块的定长Key的写入示意图;
图5为根据本发明实施方式的布隆过滤器的存储结构示意图;
图6为根据本发明实施方式的索引块(Block Index)的存储结构示意图;
图7为根据本发明实施方式的文件头(Header)的存储结构示意图;
图8为根据本发明实施方式的记录(record)数据写入流程示意图;
图9为根据本发明实施方式的读取顺序示意图;
图10为根据本发明实施方式的记录(record)数据读取流程示意图;
图11为根据本发明实施方式的键排序的数据存储装置结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210541207.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种二维码图片的优化处理方法及移动终端
- 下一篇:熔盐组合物
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置