[发明专利]基于MapDB构建的HBase数据检索方法有效
申请号: | 201610673258.7 | 申请日: | 2016-08-16 |
公开(公告)号: | CN106326381B | 公开(公告)日: | 2019-06-25 |
发明(设计)人: | 梁猛;李永强;任姣姣 | 申请(专利权)人: | 梁猛;李永强;任姣姣 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/25;G06F16/28 |
代理公司: | 上海科律专利代理事务所(特殊普通合伙) 31290 | 代理人: | 袁亚军;金碎平 |
地址: | 510627 广东省广州*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二级索引 字段 查询 数据库 数据检索 构建 写入 数据读写操作 格式化 查询性能 分类存储 快速匹配 数据查询 数据分割 数据接口 一级索引 集合 | ||
1.一种基于MapDB构建的HBase数据检索方法,其特征在于,包括如下步骤:
a)通过数据接口操作MapDB数据库进行数据读写操作;
b)在数据写入HBase之前,先对数据进行格式化,生成Hbase的RowKey作为一级索引,并对数据分割相应字段,将用于查询的字段及其对应的RowKey写入MapDB数据库中作为二级索引;
c)接着再将数据在MapDB数据库中按照HBase的表及列进行分类存储;
d)采用二级索引查询HBase时,先通过查询字段在MapDB中获取对应的RowKey集合,再通过HBase提供的get方法进行数据查询。
2.如权利要求1所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述步骤a)通过远程rmi接口操作MapDB数据库进行数据读写操作,所述远程rmi接口调用为采用java编程语言开发的实现远程对象之间无缝调用的数据接口。
3.如权利要求1所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述步骤b)在写入HBase数据之前,每条入库数据均生成一个RowKey以及至少一个用于查询的字段,并将用于查询的字段通过rmi接口调用MapDB,将字段值及RowKey写入到MapDB中。
4.如权利要求3所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述MapDB采用哈希表HashMap存储字段值及其对应的Hbase的RowKey,并将数据按照不同的业务存储到不同的MapDB中。
5.如权利要求4所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述步骤c)中MapDB数据库采用HBase的表名作为获取HashMap的key值,采用HBase列作为HashMap中的键,并在HashMap里面存储RowKey集合。
6.如权利要求5所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述MapDB采用文件存放方式将数据写入到本地磁盘进行持久化,并在JVM关闭时关闭文件流。
7.如权利要求1所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述步骤d)通过HBase的客户端进行条件查询时,先通过rmi调用MapDB进行查询获取RowKey,再通过HBase提供的get方法获取数据。
8.如权利要求7所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述步骤b)中每条入库数据格式化生成RowKey后,按照分隔符进行分割,并将用于后续查询的字段及字段值拼接进来,写入List集合中;所述步骤c)调用MapDB的写入接口将RowKey、HBase表名及List集合传递过去,写入MapDB数据库中;所述步骤d)采用二级索引进行数据查询时,将查询条件按照入库时的拼接方式将字段及字段值进行拼接,写入List集合中,并远程rmi接口调用MapDB的查询接口将HBase表名及List集合传递过去,获取相应的RowKey集合,返回结果为List<String>集合,并通过字节流的方式返回到HBase的客户端,所述HBase的客户端采用HTable的get方法,直接将整个List<String>集合作为参数进行数据检索。
9.如权利要求7所述的基于MapDB构建的HBase数据检索方法,其特征在于,所述HBase的客户端接收到MapDB服务器返回的RowKey集合后,判断RowKey集合是否存在数据,不存在的则直接返回;如果RowKey集合中存在数据,首先遍历该RowKey集合获取所有的RowKey,构造GET对象并写入到该RowKey集合中,然后通过HBase的批量get方法获取HBase数据。
10.如权利要求1所述的基于MapDB构建的HBase数据检索方法,其特征在于,还包括查询HBase时,如果查询字段中包含一级索引RowKey中的首位字段,则直接通过HBase中的Scan操作设置StartKey和EndKey参数后进行数据查询。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于梁猛;李永强;任姣姣,未经梁猛;李永强;任姣姣许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610673258.7/1.html,转载请声明来源钻瓜专利网。