[发明专利]基于长度内容格式的数据存储及访问方法和系统有效
申请号: | 201210043397.3 | 申请日: | 2012-02-24 |
公开(公告)号: | CN103294678A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 张礼方;钟超宇;冯晓冰 | 申请(专利权)人: | 深圳市腾讯计算机系统有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 谢安昆;宋志强 |
地址: | 518057 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 长度 内容 格式 数据 存储 访问 方法 系统 | ||
技术领域
本发明实施方式涉及数据存储技术领域,更具体地,涉及一种基于长度内容(LV,Length-Value)格式的数据存储及访问方法和系统。
背景技术
Key-value分布式存储系统查询速度快、存放数据量大、支持高并发,非常适合通过主键(Key)进行查询,但不能进行复杂的条件查询。如果辅以实时搜索引擎(Real-Time Search Engine)进行复杂条件检索、全文检索,就可以替代并发性能较低的MySQL等关系型数据库,达到高并发、高性能,节省几十倍服务器数量的目的。比如:以MemcacheDB、Tokyo Tyrant为代表的Key-value分布式存储,在上万并发连接下,可以轻松地完成高速查询。
在目前传统的Key-Value形式的数据访问中,首先给定主键Key,然后得到数据Value。这种方式高效简单,但是却无法支持多列的模式。例如要存储一个学生的姓名、年龄、地址等信息时,必须把姓名、年龄和地址编码成一个数据Value然后一并存取,这样使用起来非常不便。如果使用多列模式,则类似于数据库中的表,需要提前建表,并给定表的结构,以说明各个列的名字和类型。在这种模式中,数据是编码存储在一起的有一定长度的数据块,而结构描述则说明如何解析这个数据,比如第一列是什么类型,第二列是什么类型。因此,这种模式实现起来非常复杂,并不能用于Key-Value模型的存储装置上。
由此可见,在现有技术中针对数据内容需要有特定的结构描述信息,因此数据结构复杂,数据解码需要消耗较多时间,而且任意数据都需要配合结构描述做运算后才能解析并操作具体列的内容,因此实现非常复杂。
发明内容
本发明实施方式提出一种基于长度内容格式的数据存储方法,从而实现支持多列模式的Key-value存储。
本发明实施方式还提出了一种基于长度内容格式的数据存储系统,从而实现支持多列模式的Key-value存储。
本发明实施方式还提出了一种基于长度内容格式的数据访问方法,以降低数据访问复杂度。
本发明实施方式还提出了一种基于长度内容格式的数据访问系统,以降低数据访问复杂度。
本发明实施方式的具体方案如下:
一种基于长度内容格式的数据存储方法,该方法包括:
将至少两列长度内容LV格式的数据编码为内容值Value,其中每列数据都包括表达长度部分和内容部分,所述表达长度部分用于指示该列数据的内容部分的长度,所述内容部分用于存储该列数据的内容数据;
将所述内容值Value与其主键Key存储在Key-Value存储装置中。
一种基于长度内容格式的数据存储系统,该系统包括:
数据编码单元,用于将至少两列LV格式的数据编码为内容值Value,其中每列数据都包括表达长度部分和内容部分,所述表达长度部分用于指示该列数据的内容部分的长度,所述内容部分用于存储该列数据的内容数据;
Key-Value存储装置,用于存储所述内容值Value与其主键Key。
一种基于长度内容格式的数据访问方法,该数据的内容值Value与其主键Key都存储在Key-Value存储装置中,该数据的内容值Value包括至少两列数据,其中每列数据都包括表达长度部分和内容部分,所述表达长度部分用于指示该列数据的内容部分的长度,所述内容部分用于存储该列数据的内容数据,该方法包括:
接收查询请求,所述查询请求中包含主键Key和查询列号;
根据所述主键Key从Key-Value存储装置中获取对应于该主键Key的内容值Value;
根据所述查询列号和表达长度部分,从该内容值Value的对应列的内容部分中获取内容数据。
一种基于长度内容格式的数据访问系统,该系统包括Key-Value存储装置和内容数据访问单元,其中:
Key-Value存储装置,用于存储数据的内容值Value与其主键Key,其中该数据的内容值Value包括至少两列数据,每列数据都包括表达长度部分和内容部分,所述表达长度部分用于指示该列数据的内容部分的长度,所述内容部分用于存储该列数据的内容数据;
内容数据访问单元,用于接收查询请求,其中所述查询请求中包含主键Key和查询列号,并根据所述主键Key获取对应于该主键Key的内容值Value;根据所述查询列号,从该内容值Value的对应列的内容部分中获取内容数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市腾讯计算机系统有限公司,未经深圳市腾讯计算机系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210043397.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:振动产生装置
- 下一篇:一种高效太阳能海水淡化装置
- 内容再现系统、内容提供方法、内容再现装置、内容提供装置、内容再现程序和内容提供程序
- 内容记录系统、内容记录方法、内容记录设备和内容接收设备
- 内容服务系统、内容服务器、内容终端及内容服务方法
- 内容分发系统、内容分发装置、内容再生终端及内容分发方法
- 内容发布、内容获取的方法、内容发布装置及内容传播系统
- 内容提供装置、内容提供方法、内容再现装置、内容再现方法
- 内容传输设备、内容传输方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容发送设备、内容发送方法、内容再现设备、内容再现方法、程序及内容分发系统
- 内容再现装置、内容再现方法、内容再现程序及内容提供系统
- 内容记录装置、内容编辑装置、内容再生装置、内容记录方法、内容编辑方法、以及内容再生方法