[发明专利]基于HBASE键值索引的复杂类型编码序列化算法的实现方法有效
申请号: | 201810551154.8 | 申请日: | 2018-05-31 |
公开(公告)号: | CN108829649B | 公开(公告)日: | 2020-04-10 |
发明(设计)人: | 齐勇;李晓宇;侯迪;王培健 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F40/126 | 分类号: | G06F40/126;G06F40/151 |
代理公司: | 西安智大知识产权代理事务所 61215 | 代理人: | 张震国 |
地址: | 710049 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 hbase 键值 索引 复杂 类型 编码 序列 算法 实现 方法 | ||
本发明的基于HBASE键值索引的复杂类型编码序列化算法的实现方法,对rowkey中整型和浮点型等数值的二进制字节码进行特定的序列化,使rowkey中复杂数值类型二进制字节码在序列化后保持与实际数值有相同的序关系,使其逻辑上连贯的数据在物理存储上也保持连贯有序且一一对应,提高Hbase范围查询效率,同时对于扩展优化Hbase rowkey复杂类型键值索引研究也有重大的借鉴意义。
技术领域
本发明属于计算机领域,涉及一种基于HBASE键值索引的复杂类型编码序列化算法的实现方法。
背景技术
本发明所要研究的两种复杂类型编码序列化算法包括整型和浮点型,整型数值大小与对应字节编码值(补码)之间序关系见图1a;浮点型数值大小与对应字节编码值(IEEE754下)之间序关系见图1b;无论是单精度还是双精度在存储中都分为三个部分:一、符号位(Sign):0代表正,1代表为负;二、指数位(Exponent):用于存储科学计数法中的指数数据,并且采用移位存储;三、尾数部分(Mantissa):尾数部分。
Hbase是三维有序存储,分别为rowkey(行主键),columnkey(columnFamily+qualifier),timestamp(时间戳)。rowkey是行的主键,而且HBASE只能用一个rowkey,或者一个rowkey范围即scan来查找数据。所以rowkey的设计是至关重要的,关系到应用层的查询效率。rowkey是按照所存储数据二进制字节编码的字典序进行排序,即rowkey的ASCII码次序升序排列,如字符型和数值型,均是按照其对应字节编码数组依次进行字典前后排序存储;column key是第二维,数据按rowkey字典排序后,如果rowkey相同,则是根据columnkey来排序的,也是按字典排序;timestamp时间戳,是第三维,这是个按降序排序的,即最新的数据排在最前面。
由于Hbase rowkey的排序方式是按照字节(二进制编码)的字典顺序(ASCII码顺序)来排序和存储,而作为rowkey的复杂数据类型值与其对应的二进制字节码值在IEEE754下并不是有序且对应的,传统方法是通过对基本类型数据值进行前缀补0作为rowkey等,因此造成了在范围查询过程中逻辑上连贯的数据在Hbase rowkey的物理存储和排序上不一致不连续、内存反复倒换效率低、无法查询结果等问题。现有的rowkey范围查询大多应用场景是其他非数值类型的rowkey检索,对于复杂数值类型的有效检索相对较少,由此可见,如何高效准确地进行HBASE中数值类型的键值索引是HBASE检索中一大重要突破和研究方向。
发明内容
本发明的目的在于克服现有技术不足,提供一种基于HBASE键值索引的复杂类型编码序列化算法的实现方法,对rowkey中整型和浮点型等数值的二进制字节码进行特定的序列化,提高Hbase范围查询效率。
为实现上述目的本发明采用如下方案:
基于HBASE键值索引的复杂类型编码序列化算法的实现方法,预先对复杂类型编码对应的二进制字节码进行序列化处理,使复杂数值类型对应的二进制字节码值在序列化后与实际数值保持相同连续的序关系,使得逻辑上连贯的复杂类型数据在Hbase rowkey的物理存储和排序上也保持相同的序关系。
进一步,复杂类型编码包括整型和浮点型两种复杂数值类型,在IEEE754标准下对两种复杂数值类型的编码格式和对应的二进制字节码值分别进行序列化处理;
对于整型数编码序列化算法步骤如下:
1)首先获取整型数编码对应的二进制字节码;
2)将该字节码与0x80000000进行按位异或操作并返回;
对于浮点型数编码序列化算法步骤如下:
1)首先获取浮点型数编码对应的二进制字节码L;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810551154.8/2.html,转载请声明来源钻瓜专利网。