[发明专利]一种大数据分析自定义编码储存结构及编码、解码方法在审
申请号: | 201910553340.X | 申请日: | 2019-06-25 |
公开(公告)号: | CN110287190A | 公开(公告)日: | 2019-09-27 |
发明(设计)人: | 杨凡 | 申请(专利权)人: | 四川深度在线广告传媒有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/245 |
代理公司: | 成都君合集专利代理事务所(普通合伙) 51228 | 代理人: | 尹玉 |
地址: | 610000 四川省成都市由贸易试*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 索引数组 数据信息 头部信息 属性值类型 自定义编码 解码 储存结构 实际属性 大数据 数据信息存储 查询 编解码器 编码存储 查询数据 存储偏移 分开存储 分块存储 快速查询 数据编码 索引获取 索引信息 依赖关系 字段存储 定长 索引 分析 | ||
1.一种大数据分析自定义编码储存结构,其特征在于,包括头部信息、索引数组、数据信息;所述头部信息包括魔数、布隆信息、键值对的个数;所述索引数组将查询数据的索引信息和数据信息分开存储;所述数据信息存储了属性名称、属性值以及属性值类型的信息,且通过1个字节的定长字段存储属性值类型。
2.根据权利要求1所述的一种大数据分析自定义编码储存结构,其特征在于,所述索引数组存储属性名称的长度、属性值的长度以及属性数据存储的偏移地址,所述索引数组按照Key的字母顺序进行有序存储,在索引查询时,采用二分查找算法,对key进行快速定位查询。
3.根据权利要求1或2所述的一种大数据分析自定义编码储存结构,其特征在于,所述索引数组中索引信息存储的是每一对key和value,在编码后的数据中的存储位置信息,索引信息以数组的形式编码存储,数组的长度为头部信息中键值对的个数。
4.根据权利要求3所述的一种大数据分析自定义编码储存结构,其特征在于,所述索引数组的每一个元素的属性信息编码存储为二进制字节数组后的起始偏移量offset,长度为8个字节;属性名称编码后的长度为4个字节;属性值编码后的长度为4个字节。
5.根据权利要求4所述的一种大数据分析自定义编码储存结构,其特征在于,属性值类型的长度固定为一个字节,通过起始偏移量、属性值类型的长度,属性名称的长度、属性值的长度以及属性在索引数组的位置信息,可以快速计算出属性值类型、属性名称、属性值在字节编码中的位置信息,具体计算公式如下:
定义:position_range=(start_position,end_position)
offset_position_range=(16+pos*16,16+pos*16+8+8)
offset=getOffset(encodeBytes,offset_position_range)
type_position_range=(offset,offset+1);
key_position_range=(offset+1,offset+1+keyLen);
value_position_range=offset+1+keyLen,offset+1+keyLen+valueLen
通过计算出来的存储偏移区间,解码计算出key和Value Type,根据Value Type和Value的存储偏移区间解码出value的值。
6.根据权利要求1所述的一种大数据分析自定义编码储存结构,其特征在于,所述魔数作为校验字段,值为int类型,以4个字节固定长度存储;所述布隆信息为对key的哈希值进行布隆化后的二进制信息,用于对稀疏的属性进行快速查询,所述布隆信息的长度为8个字节;所述键值对个数信息的值为int类型,以4个字节固定长度存储。
7.一种大数据分析自定义编码储存结构编码方法,其特征在于,主要包括以下步骤:
步骤S01:输入一组自定义类型的属性键值对;按属性名称的字母顺序进行排序;
步骤S02:然后对魔数进行编码;
步骤S03:若属性名称是稀疏类型,则进行Bloom Filter编码,否则对属性的键值对的个数进行编码;
步骤S04:循环编码key和Value,并编码索引信息和数据信息;
步骤S05:将以上编码的二进制块数据按照定义的存储结构组成字节数组返回。
8.一种大数据分析自定义编码储存结构解码方法,其特征在于,主要包括以下步骤:
步骤S1:输入自定义属性编码字节数组和要查询的属性名称;
步骤S2:根据输入的编码字节数组解码出头部信息;
步骤S3:根据头部信息中的魔数判断数据是否合法,若合法,则进行步骤S4,否则返回解码失败;
步骤S4:若属性名称是稀疏类型,是则根据头部信息中的Bloom Filter数据判断名称是否存在,若不存在,则直接返回空值,若存在,则进行解码索引数组信息;若属性名称不是稀疏类型,则进行解码索引数组信息;
步骤S5:根据头部信息中的键值对的个数以及索引数组,利用二分查找算法,确定属性名称的索引信息;如果属性名称不存在,则返回空值;否则根据索引数据组中的信息和数据信息,获取属性值返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川深度在线广告传媒有限公司,未经四川深度在线广告传媒有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910553340.X/1.html,转载请声明来源钻瓜专利网。