[发明专利]一种大数据分析自定义编码储存结构及编码、解码方法在审
申请号: | 201910553340.X | 申请日: | 2019-06-25 |
公开(公告)号: | CN110287190A | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | 杨凡 | 申请(专利权)人: | 四川深度在线广告传媒有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245 |
代理公司: | 成都君合集专利代理事务所(普通合伙) 51228 | 代理人: | 尹玉 |
地址: | 610000 四川省成都市由贸易试*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 索引数组 数据信息 头部信息 属性值类型 自定义编码 解码 储存结构 实际属性 大数据 数据信息存储 查询 编解码器 编码存储 查询数据 存储偏移 分开存储 分块存储 快速查询 数据编码 索引获取 索引信息 依赖关系 字段存储 定长 索引 分析 | ||
本发明公开了一种大数据分析自定义编码储存结构及编码、解码方法,所述编码存储结构包括头部信息、索引数组、数据信息;所述头部信息包括魔数、布隆信息、键值对的个数;所述索引数组将查询数据的索引信息和数据信息分开存储;所述数据信息存储了属性名称、属性值以及属性值类型的信息,且通过1个字节的定长字段存储属性值类型。本发明通过对头部信息、索引数组、数据信息的划分,实现了将数据编码的描述定义、查询索引、实际属性信息进行了分块存储,相互之间存在依赖关系,查询索引数组的长度是在头部心中进行定义,而实际属性值的存储偏移信息,则是通过索引获取,以上三部分结合起来实现整个编解码器的快速查询和属性值个数的扩展。
技术领域
本发明属于数据处理的技术领域,具体涉及一种大数据分析自定义编码储存结构及编码、解码方法。
背景技术
大数据时代,PB级别的数据处理分析已成为互联网企业和传统企业的标准配置。数据维度的膨胀,导致传统的BI系统和OLAP系统在维度扩展和维度自定义的需求日趋强烈。当前主流的OLAP分析处理组件,如Kylin、Druid,均需要预先定义指标维度字段,当业务需求变更,或是研发ToB的产品时,灵活的自定义维度查询分析是不可避免的问题。
分布式关系型数据库(如Hive),一般采用Map的数据结构去存储不确定属性个数的数据需求,但Map源于高级编程语言,它的值类型是确定的,因此它仅满足属性维度的自定义,不满足属性类型的自定义。
一种可选择的方案是采用半结构化的JSON数据结构实现自定义属性存储,通过JSON的组合嵌套可以实现值类型的自定义,但由于JSON编解码效率低下,在大规模数据分析场景下,查询效率不能满足业务场景需求。
发明内容
本发明的目的在于提供一种大数据分析自定义编码储存结构,本发明通过对头部信息、索引数组、数据信息的划分,实现了将数据编码的描述定义、查询索引、实际属性信息进行了分块存储,相互之间存在依赖关系,查询索引数组的长度是在头部心中进行定义,而实际属性值的存储偏移信息,则是通过索引获取,以上三部分结合起来实现整个编解码器的快速查询和属性值个数的扩展,具有较好的实用性。
本发明还提供了一种大数据分析自定义编码储存结构编码方法,本发明实现了属性维度可扩展,具有较好的实用性。
本发明还提供了一种大数据分析自定义编码储存结构解码方法,本发明基于存储结构提高了查询的效率,具有较好的实用性。
本发明主要通过以下技术方案实现:一种大数据分析自定义编码储存结构,包括头部信息、索引数组、数据信息;所述头部信息包括魔数、布隆信息、键值对的个数;所述索引数组将查询数据的索引信息和数据信息分开存储;所述数据信息存储了属性名称、属性值以及属性值类型的信息,且通过1个字节的定长字段存储属性值类型。
通过头部信息的常量魔数,可以在解码数据时快速确定数据是否是通过合法编码器编码;而当存储的属性值比较稀疏时,通过对属性的key做布隆过滤,可以快速确定是否存在某个key;键值对的个数是对索引信息数组的长度进行定义说明,是索引数组和数据信息进行编解码的必要参数。
为了更好的实现本发明,进一步的,所述索引数组存储属性名称的长度、属性值的长度以及属性数据存储的偏移地址,所述索引数组按照Key的字母顺序进行有序存储,在索引查询时,采用二分查找算法,对key进行快速定位查询。
为了更好的实现本发明,进一步的,所述索引数组中索引信息存储的是每一对key和value,在编码后的数据中的存储位置信息,索引信息以数组的形式编码存储,数组的长度为头部信息中的键值对的个数。
为了更好的实现本发明,进一步的,所述索引数组的每一个元素的属性信息编码存储为二进制字节数组后的起始偏移量offset,长度为8个字节;属性名称编码后的长度为4个字节;属性值编码后的长度为4个字节。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川深度在线广告传媒有限公司,未经四川深度在线广告传媒有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910553340.X/2.html,转载请声明来源钻瓜专利网。