《一种海量数据查询方法.pdf》由会员分享,可在线阅读,更多相关《一种海量数据查询方法.pdf(9页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104102710A43申请公布日20141015CN104102710A21申请号201410336964322申请日20140715G06F17/30200601H04L29/0620060171申请人浪潮(北京)电子信息产业有限公司地址100085北京市海淀区上地信息路2号21号C栋1层72发明人赵仁明辛国茂亓开元房体盈74专利代理机构北京安信方达知识产权代理有限公司11262代理人吴梓菲李丹54发明名称一种海量数据查询方法57摘要本发明公开了一种海量数据查询方法,其特征在于,包括建立HBASE非行键值ROWKEY查询字段与ROWKEY的索引映射;查询时,根据所述索引映。
2、射关系,在SOLRCLOUD中查询到查询字段对应的ROWKEY;使用所述ROWKEY在HBASE中进行查找,并将查询结果分页显示。51INTCL权利要求书1页说明书4页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图3页10申请公布号CN104102710ACN104102710A1/1页21一种海量数据查询方法,其特征在于,包括建立HBASE非行键值ROWKEY查询字段与ROWKEY的索引映射;查询时,根据所述索引映射关系,在SOLRCLOUD中查询到查询字段对应的ROWKEY;使用所述ROWKEY在HBASE中进行查找,并将查询结果分页显示。2如权利要求。
3、1所述的方法,其特征在于,在HBASE中的数据发生变化时,定期的更新SOLRCLOUD中的索引映射。3如权利要求2所述的方法,其特征在于,所述索引映射是分布式存储的,当主服务器接收索引映射的更新时,将更新的索引映射发送到同一分片的其他副本服务器上;当副本服务器接收索引映射的更新时,将更新的索引映射发送到所属的主服务器上。4如权利要求1所述的方法,其特征在于,使用MAPREDUCE模型加速索引映射的建立。5一种海量数据查询装置,其特征在于,包括映射模块,对HBASE非ROWKEY查询字段建立与ROWKEY的索引映射;查询模块,根据索引映射关系,先在SOLRCLOUD中查询到该查询字段所对应的HB。
4、ASEROWKEY,再使用该ROWKEY在HBASE中查询所需的数据;显示模块,将查询结果向用户分页显示。6如权利要求5所述的装置,其特征在于,还包括更新模块,当HBASE中的数据变更时,定期的更新SOLRCLOUD中的索引映射。7如权利要求5所述的装置,其特征在于,还包括同步模块,在该装置作为主服务器时,将更新的索引映射发送到同一分片的其他副本服务器上。8如权利要求7所述的装置,其特征在于,同步模块,在该装置作为副本服务器时,当更新模块对索引映射更新后,同步模块将更新的索引映射发送到所属的主服务器上。权利要求书CN104102710A1/4页3一种海量数据查询方法技术领域0001本发明涉及大。
5、数据领域,具体涉及一种基于SOLRCLOUD和HBASE的海量数据查询方法。背景技术0002大数据BIGDATA通常用来形容一个公司创造的大量非结构化数据和半结构化数据,这些数据在下载到关系型数据库用于分析时会花费过多时间和金钱。大数据分析常和云计算联系到一起,因为实时的大型数据集分析需要像MAPREDUCE、HBASE一样的框架来向数十、数百或甚至数千的电脑分配工作。大数据分析相比于传统的数据仓库应用,具有数据量大、查询分析复杂等特点。大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的技术,包括大规模并行处理MPP数据库、数据挖掘电网、分布式文件系统、分布式数据库、。
6、云计算平台、互联网和可扩展的存储系统。0003SOLR是一个独立的企业级搜索应用服务器,它对外提供类似于WEBSERVICE的API接口。用户可以通过HTTP请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过HTTPGET操作提出查找请求,并得到XML或JSON格式的返回结果。SOLRCLOUD是SOLR40版本以后基于SOLR和ZOOKEEPER的分布式搜索方案。SOLRCLOUD是SOLR的基于ZOOKEEPER一种部署方式。0004HBASE是一个分布式的、面向列的开源数据库,该技术来源于FAYCHANG所撰写的GOOGLE论文“BIGTABLE一个结构化数据的分布式存。
7、储系统”。HBASEHADOOPDATABASE,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBASE技术可在廉价PCSERVER上搭建起大规模结构化存储集群。HBASE在提供高并发读写操作支持的同时,也存在着一些显著的缺陷由于HBASE只对ROWKEY行键值进行排序,所以HBASE无法实现对于ROWKEY以外字段的快速查找和检索。同时HBASE也无法实现基于查询的分页显示和逐页查询。因此,设计一种基于SOLRCLOUD和HBASE的海量数据查询方法,可以有效的解决这些问题。发明内容0005为了解决上述技术问题,本发明提供了一种海量数据查询方法及装置,实现了灵活的海量数据的多。
8、条件查询,模糊查询及查询结果的分页。0006一种海量数据查询方法,包括0007建立HBASE非行键值ROWKEY查询字段与ROWKEY的索引映射;0008查询时,根据所述索引映射关系,在SOLRCLOUD中查询到查询字段对应的ROWKEY;0009使用所述ROWKEY在HBASE中进行查找,并将查询结果分页显示。0010优选地,在HBASE中的数据发生变化时,定期的更新SOLRCLOUD中的索引映射。0011优选地,所述索引映射是分布式存储的,0012当主服务器接收索引映射的更新时,将更新的索引映射发送到同一分片的其他副说明书CN104102710A2/4页4本服务器上;0013当副本服务器接。
9、收索引映射的更新时,将更新的索引映射发送到所属的主服务器上。0014优选地,使用MAPREDUCE模型加速索引映射的建立。0015一种海量数据查询装置,包括0016映射模块,对HBASE非ROWKEY查询字段建立与ROWKEY的索引映射;0017查询模块,根据索引映射关系,先在SOLRCLOUD中查询到该查询字段所对应的HBASEROWKEY,再使用该ROWKEY在HBASE中查询所需的数据;0018显示模块,将查询结果向用户分页显示。0019优选地,更新模块,当HBASE中的数据变更时,定期的更新SOLRCLOUD中的索引映射。0020优选地,同步模块,在该装置作为主服务器时,将更新的索引映。
10、射发送到同一分片的其他副本服务器上。0021优选地,同步模块,在该装置作为副本服务器时,当更新模块对索引映射更新后,同步模块将更新的索引映射发送到所属的主服务器上。0022本申请的技术方案使用SOLRCLOUD存储和维护HBASE中的需要查询的非ROWKEY字段到ROWKEY的索引映射,根据查询条件查找到对应的ROWKEY,再使用ROWKEY在HBASE中进行数据的查找,从而实现了灵活的海量数据的多条件查询,模糊查询及查询结果的分页;同时,SOLRCLOUD采用分布式方式部署,可以实现集中式的信息存储,自动容错,近实时搜索和自动的负载均衡。附图说明0023此处所说明的附图用来提供对本发明的进一。
11、步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中0024图1是本发明实施例的SOLRHBASE查询示意图;0025图2是本发明实施例的HBASEROWKEY索引映射示意图;0026图3是本发明实施例的SOLRCLOUD集群分布示意图;0027图4是本发明实施例的海量数据查询方法流程图;0028图5是本发明实施例的海量数据查询装置结构图。具体实施方式0029本发明采用基于SOLRCLOUDHBASE的方法,可以对HBASE中的指定的非ROWKEY字段建立与ROWKEY的索引映射,查询时先找到所要查询的字段对应的ROWKEY,然后在HBA。
12、SE中查找,避免了HBASE直接查询时查询条件单一的问题。本发明在显示查询结果时,可以分页显示;从而提供了方便易实现的多条件查询及查询结果分页,同时提供了传统HBASE存储所不具备的全文索引,模糊查询的能力。对于数量统计类的请求,直接通过SOLR的索引映射即可取得结果,不必再对HBASE进行查询请求。0030下面结合附图及具体实施例对本发明进行详细说明。0031HBASE中的每条记录是根据ROWKEY进行有序索引的,其索引的方式如图2中描述说明书CN104102710A3/4页5的一样,是一个多级索引的形式,采用类似于3层B树的定位。首先是从ZOOKEEPER中找到ROOTREGION所在的位。
13、置,从而加载ROOT这个REGION。ROOTREGION是META表的第一个REGION,里面存放了META表的其他所有REGION的位置信息。而META表是常驻在所有REGIONSERVER的内存中的,其中存放着所有数据表的REGION位置信息。当通过ROWKEY在HBASE中查询时,就是通过查找ROOT,META然后定位到数据所在的REGION,然后从该REGION中取出有效数据的。由于每一步的索引都是已经建立好的且有序的,所以在HBASE中使用这种基于ROWKEY的查询效率是很高的。但对于非ROWKEY的查询,效率就显著下降。0032为了解决这一问题,本发明使用SOLRCLOUD预先对。
14、非ROWKEY查询字段建立其对应ROWKEY的一组索引映射,查询过程如图1所示,先在SOLRCLOUD中查询到该查询条件所对应的HBASEROWKEY,再使用该ROWKEY在HBASE中查询数据,最后,向客户端返回查询结果。这种方式可以大大提高查询效率。0033SOLRCLOUD采用分布式方式部署,可以实现集中式的信息存储,自动容错,近实时搜索和自动的负载均衡。如图3所示,这是一个拥有6个节点服务器的SOLRCLOUD集群,索引映射分布在两个SHARD分片里面,每个SHARD包含三个SOLR节点,一个LEADER主节点,两个REPLICA副本节点。每一个SHARD同时存在3个副本,当2个节点同。
15、时宕机时,系统仍可正常工作。集群的所有状态信息由ZOOKEEPER集群统一维护。对于这6个节点,任何一个节点都可以接受索引映射的更新请求,从而实现了负载均衡。例如当SERVER4这个节点收到了关于SHARD1索引映射的更新请求,SERVER4会将信息转发给索引映射应当所属的那个LEADER节点,即SERVER1。SERVER1节点更新结束后,将版本号和索引映射发给同属于一个SHARD的其他REPLICAS节点,即SERVER2和SERVER3,来完成同步。0034本发明提供的海量数据查询方法,如图4所示,包括0035步骤401,对HBASE非ROWKEY查询字段建立与ROWKEY的索引映射。0。
16、036当HBASE的数据建立时,根据设置的查询条件,使用SOLRCLOUD建立非ROWKEY字段与ROWKEY的索引映射。所述查询条件是针对HBASE非ROWKEY字段设置的。0037在SOLR索引映射建立的阶段,可使用MAPREDUCE模型加速索引映射的建立。0038步骤402,查询时,根据索引映射关系,在SOLRCLOUD中查询到对应的ROWKEY。0039当需要进行查询时,根据索引映射关系,先在SOLRCLOUD中查询到该查询条件所对应的HBASEROWKEY,再使用该ROWKEY在HBASE中查询所需的数据。0040优选地,所述索引映射是分布式存储的,0041当主服务器接收索引映射的更。
17、新时,将更新的索引映射发送到同一分片的其他副本服务器上;0042当副本服务器接收索引映射的更新时,将更新的索引映射发送到所属的主服务器上。0043步骤403,将查询结果向用户分页显示。0044根据ROWKEY在HBASE中获得数据后,向用户显示时,根据设置的分页方式,向用户显示。0045在HBASE原有的方式中,查询结果不支持分页显示,用户对查询结果只能全部查看。而本发明的改进是,对查询结果分页显示,例如每页显示20项,用户可以对所显示的说明书CN104102710A4/4页6项目一目了然。0046优选地,该方法还可以包括当HBASE中的数据变更时,定期的更新SOLRCLOUD中的索引映射。0。
18、047本发明还提供了相应的海量数据查询装置,如图5所示,包括0048映射模块,对HBASE非ROWKEY查询字段建立与ROWKEY的索引映射;0049查询模块,根据索引映射关系,先在SOLRCLOUD中查询到该查询条件所对应的HBASEROWKEY,再使用该ROWKEY在HBASE中查询所需的数据;0050显示模块,将查询结果向用户分页显示。0051优选地,该装置还包括更新模块,当HBASE中的数据变更时,定期的更新SOLRCLOUD中的索引映射。0052本发明所述的海量数据查询装置可以作为一个服务器节点,如图3所示,在每个服务器中都可以设置,构成一个集群。0053优选地,还装置还包括同步模块。
19、,在该装置作为副本服务器时,当更新模块对索引映射更新后,同步模块将更新的索引映射发送到所属的主服务器上。0054优选地,同步模块,在该装置作为主服务器时,将更新的索引映射发送到同一分片的其他副本服务器上。0055应用实施例00561SOLRSCHEMA架构文件的定义和配置0057修改SCHEMAXML文件,在其中添加需要索引的字段。同时修改原来的UNIQUEKEY,设置HBASE表中的ROWKEY为SOLR的UNIQUEKEY。00582索引映射的建立0059通过HBASEAPI全表扫描SCAN的方式或者通过MAPREDUCE的方式对HBASE中的数据建立SOLR索引。00603查询和分页的实。
20、现0061查询的时候,在SOLR中查找到查询条件所对应的一个或一组ROWKEY。在获得了这些ROWKEY之后,分组的使用ROWKEY在HBASE中进行查询,从而查询到实际的结果并且实现了分页查找。0062本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。0063以上所述,仅为本发明的较佳实例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。说明书CN104102710A1/3页7图1说明书附图CN104102710A2/3页8图2说明书附图CN104102710A3/3页9图3图4图5说明书附图CN104102710A。