[发明专利]一种数据存储方法和装置有效
申请号: | 201710363351.2 | 申请日: | 2017-05-16 |
公开(公告)号: | CN107273430B | 公开(公告)日: | 2021-05-18 |
发明(设计)人: | 李振炜;李远策;陈永强;翟鑫达 | 申请(专利权)人: | 北京奇虎科技有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245;G06F16/2457;G06F16/28 |
代理公司: | 北京恒博知识产权代理有限公司 11528 | 代理人: | 范胜祥 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 存储 方法 装置 | ||
本发明公开了一种数据存储方法和装置。其中方法包括:将数据进行列式存储;若一列数据的类型为数值型,将该列数据按数据取值的离散度划分为M个组,并为各组分别生成对应的组值;将M个组值作为该列数据的元数据进行保存。该技术方案提供的这种存储手段,为一列数据添加了更多的描述信息,使得在查询等场景下可以利用存储的元数据来判断是否需要读取一列数据,提高了查询效率,减少了资源浪费。
技术领域
本发明涉及数据存储技术领域,具体涉及一种数据存储方法和装置。
背景技术
数据的存储形式往往是与数据的应用场景息息相关的,例如在OLAP(OnlineAnalytical Processing,联机分析处理)等场景下,用户关心的往往是大数据表中的某几个列。对于传统的行式数据库而言,由于数据按行存储,需要把包含这些列的所有行的数据全部读取,而这些行中包含了用户并不关系的许多无用的列,因而会读取较多无用的数据,十分不适于大数据的场景。
而采用列式存储的列式数据库可以很好地应对该问题。但是目前在许多查询场景下,当查询的对象是数值型的数据时,待查询的列很可能不包含所要查询的对象,但依然需要将该列中的所有数据进行读取,这就造成查询效率偏低,资源利用率差,究其原因是现有的列式存储不能很好地支持这种查询场景。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的数据存储方法和装置。
依据本发明的一个方面,提供了一种数据存储方法,包括:
将数据进行列式存储;
若一列数据的类型为数值型,将该列数据按数据取值的离散度划分为M个组,并为各组分别生成对应的组值;
将M个组值作为该列数据的元数据进行保存。
可选地,所述将数据进行列式存储包括:将数据按parquet格式进行列式存储。
可选地,所述将该列数据按数据取值的离散度划分为M个组,并为各组分别生成对应的组值包括:
对该列数据进行指定类型的统计计算;
根据统计计算结果将该列数据划分为M个组,并为各组分别生成对应的组值。
可选地,所述对该列数据进行指定类型的统计计算包括:
对该列数据进行求均值计算,将求得的均值记为μ;
对该列数据进行求标准差计算,将求得的标准差记为σ。
可选地,所述根据统计计算结果将该列数据划分为M个组,并为各组分别生成对应的组值包括:
根据μ和σ,对该列的每个数据xi进行标准化处理,得到相应的标准化的数据xi’;
对每个标准化的数据xi’,以如下公式确定原数据xi所在分组的组值m:其中xmax为该列数据中的最大值,xmin为该列数据中的最小值,N为不小于1的自然数。
可选地,所述将M个组值作为该列数据的元数据进行保存包括:
设置一个长度为N+1的二进制串,该二进制串各位上的数据的初始值为0;
对于得到的各组值m,将该二进制串上第m+1位上的数据修改为1;
将所述二进制串作为该列数据的元数据进行保存。
可选地,所述将所述二进制串作为该列数据的元数据进行保存包括:
适于设置一个字节数为的字节数组,用于存储该二进制串。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司,未经北京奇虎科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710363351.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置