[发明专利]一种SSTable文件数据处理方法及其系统在审
| 申请号: | 201210018503.2 | 申请日: | 2012-01-20 |
| 公开(公告)号: | CN103218365A | 公开(公告)日: | 2013-07-24 |
| 发明(设计)人: | 庄明强 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 北京鑫媛睿博知识产权代理有限公司 11297 | 代理人: | 龚家骅 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 sstable 文件 数据处理 方法 及其 系统 | ||
技术领域
本申请涉及通信技术领域,特别是涉及一种SSTable文件数据处理方法及其系统。
背景技术
SSTable(Sorted String Table,排序字符串表),其本质上是一种文件格式,用于存储有序的Key-Value数据到磁盘上,每个SSTable文件由多个块组成,一旦完成写入,不能修改,只能读取。
目前在分布式数据库中常用SSTable的格式存储有序的Key-Value数据,Key-Value数据都以字符串形式存储,每个SSTable中包含许多行,一定数量的行构成一个块,每行包含一个主键(RowKey)和行数据,行数据一般包含若干列,每列以列名为主键Key,列值为Value。图1示出了一种SSTable文件的行数据存储格式。
SSTable文件一般只支持稀疏存储格式。向SSTable文件写入行数据时,首先写入行主键,然后写入该行中列值不为空的列,列值为空的列不写入,不占用存储空间。这种稀疏存储方式,每行中包含的列数量不确定,并且相同的列名在不同的行中反复被存储多次,造成存储空间的浪费,特别是对行中列数量确定,且每行中大多数的列都不为空的应用。
发明内容
本申请实施例提供了一种基于SSTable文件格式的数据处理方法及其系统,用以解决现有SSTable文件数据存储机制浪费存储空间的问题。
本申请实施例提供的一种SSTable文件数据处理方法中,SSTable文件中设置有架构表,其中定义有所述SSTable文件行数据的列顺序和列属性信息,该方法包括:
读取待写入到SSTable文件的行数据;
在SSTable文件中写入行主键,并根据所述SSTable文件的架构表中定义的行数据的列顺序和列属性信息,对应所述行主键写入读取到的行数据的各列数据。
本申请实施例提供的另一种SSTable文件数据处理方法中,SSTable文件中设置有架构表,其中定义有所述SSTable文件行数据的列顺序和列属性信息,该方法包括:
接收对SSTable文件的数据查询请求;
根据所述SSTable文件中的架构表,查询所请求查询的列数据;
返回查询响应,其中携带有查询到的列数据。
本申请实施例提供的一种SSTable文件数据处理系统中,SSTable文件中设置有架构表,其中定义有所述SSTable文件行数据的列顺序和列属性信息,该系统包括:
读取模块,用于读取待写入到SSTable文件的行数据;
存储模块,用于在SSTable文件中写入行主键,并根据所述SSTable文件的架构表中定义的行数据的列顺序和列属性信息,对应所述行主键写入读取到的行数据的各列数据。
本申请实施例提供的一种SSTable文件数据处理系统中,SSTable文件中设置有架构表,其中定义有所述SSTable文件行数据的列顺序和列属性信息,该系统包括:
接收模块,用于接收对SSTable文件的数据查询请求;
查询模块,用于根据所述SSTable文件中的架构表,查询所请求查询的列数据;
返回模块,用于返回查询响应,其中携带有查询到的列数据。
本申请的上述实施例中,由于SSTable文件中设置有架构表,其中定义有所述SSTable文件行数据的列顺序和列属性信息,在对SSTable文件进行数据处理时,根据该架构表进行数据读写处理,从而实现了行数据的存储只需存储行主键和列值,列值按照架构表中规定的顺序进行存放,不必存储列名或列ID等信息,减少了存储数据量。
附图说明
图1为现有技术中SSTable文件的行数据存储格式示意图;
图2为本申请实施例提供的SSTable文件数据存储格式示意图;
图3为本申请实施例提供的结构表的存储格式示意图;
图4为本申请实施例提供的向SSTable文件写入数据的流程示意图;
图5为本申请实施例提供的从SSTable文件读取数据的流程示意图;
图6为本申请实施例提供的SSTable文件数据处理系统结构图之一;
图7为本申请实施例提供的SSTable文件数据处理系统结构图之二;
图8为本申请实施例提供的SSTable文件数据处理系统结构图之三。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210018503.2/2.html,转载请声明来源钻瓜专利网。





