[发明专利]用于快速地并且有效地访问数据的文件格式有效
申请号: | 201910700762.5 | 申请日: | 2019-07-31 |
公开(公告)号: | CN110879807B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | M.鲁普;S.塞克梅尔 | 申请(专利权)人: | SAP欧洲公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/242 |
代理公司: | 北京市柳沈律师事务所 11105 | 代理人: | 邵亚丽 |
地址: | 德国瓦*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 快速 并且 有效地 访问 数据 文件格式 | ||
1.一种存储由设备的至少一个处理单元可执行的程序的非暂时性机器可读介质,所述程序包括用于以下的指令集:
接收从包括多个行的表创建用于存储数据的文件的请求,所述多个行中的每个行被划分为列集合,所述列集合中的每个列被配置为存储一类型的数据;
将多个行划分为多个行块,所述多个行块中的每个行块包括所述多个行的一部分;
对于多个行块中的每个行块的列集合中的至少一列:
基于存储在列中的数据类型对行块的列中的数据进行编码,
将编码数据作为单独的数据页存储在文件中,和
确定用于所述行块的列中的数据的最小值和最大值;
产生数据元数据集合,该数据元数据集合包含所确定的用于在所述多个行块中的每个行块的列集合中的至少一列中的数据的最小值和最大值;
使用所述数据元数据集合生成用于所述列集合中的至少一列的树数据结构,其中所述树数据结构的每个叶节点存储所述数据元数据集合的最小值和最大值;以及
将所述树数据结构作为单独的数据页进行存储。
2.根据权利要求1所述的非暂时性机器可读介质,其中,所述程序还包括用于以下的指令集:
对于多个行块中的每个行块的列集合中的至少一列:
压缩编码数据,以及
将编码和压缩数据作为单独的数据页进行存储。
3.根据权利要求1所述的非暂时性机器可读介质,其中,列集合中的列被配置为存储整数值作为数据类型,其中,所述程序还包括用于以下的指令集:
对于多个行块中的每个行块的列:
基于存储在行块的列中的数据,从多个整数编码方案中自动地选择整数编码方案;以及
使用选择的整数编码方案对行块的列中的数据进行编码。
4.根据权利要求3所述的非暂时性机器可读介质,其中,使用多个整数编码方案中的不同整数编码方案对不同行块的列中的数据进行编码。
5.根据权利要求1所述的非暂时性机器可读介质,其中,列集合中的列被配置为存储串值作为数据类型,其中,所述程序还包括用于以下的指令集:
对于多个行块中的每个行块的列,使用串编码方案对行块的列中的数据进行编码。
6.根据权利要求1所述的非暂时性机器可读介质,其中,所述程序还包括:用于在文件的每端处存储文件格式标识符的指令集。
7.一种方法,包括:
接收从包括多个行的表创建用于存储数据的文件的请求,所述多个行中的每个行被划分为列集合,所述列集合中的每个列被配置为存储一类型的数据;
将多个行划分为多个行块,所述多个行块中的每个行块包括所述多个行的一部分;
对于多个行块中的每个行块的列集合中的至少一列:
基于存储在列中的数据类型对行块的列中的数据进行编码,
将编码数据作为单独的数据页存储在文件中,和
确定用于所述行块的列中的数据的最小值和最大值;
产生数据元数据集合,该数据元数据集合包含所确定的用于在所述多个行块中的每个行块的列集合中的至少一列中的数据的最小值和最大值;
使用所述数据元数据集合生成用于所述列集合中的至少一列的树数据结构,其中所述树数据结构的每个叶节点存储所述数据元数据集合的最小值和最大值;以及
将所述树数据结构作为单独的数据页进行存储。
8.根据权利要求7所述的方法,还包括:
对于多个行块中的每个行块的列集合中的至少一列:
压缩编码数据,以及
将编码和压缩数据作为单独的数据页进行存储。
9.根据权利要求7所述的方法,其中,列集合中的列被配置为存储整数值作为数据类型,其中,所述方法还包括:
对于多个行块中的每个行块的列:
基于存储在行块的列中的数据,从多个整数编码方案中自动地选择整数编码方案;以及
使用选择的整数编码方案对行块的列中的数据进行编码。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于SAP欧洲公司,未经SAP欧洲公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910700762.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:使用超集树数据结构搜索数据
- 下一篇:用于同轴电缆的端子单元