CN109271437A - 一种海量房租信息的实时查询方法 - Google Patents
一种海量房租信息的实时查询方法 Download PDFInfo
- Publication number
- CN109271437A CN109271437A CN201811133452.1A CN201811133452A CN109271437A CN 109271437 A CN109271437 A CN 109271437A CN 201811133452 A CN201811133452 A CN 201811133452A CN 109271437 A CN109271437 A CN 109271437A
- Authority
- CN
- China
- Prior art keywords
- data
- hbase
- real
- inquiry
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种海量房租信息的实时查询方法,包括部署Flume数据实时抽取系统、针对海量房租信息查询场景进行索引优化,封装数据二次检索过程,建立客户端到Hbase分布式数据库实时查询的Rest API、客户端直接调用Rest API完成多维组合即席查询,返回查询最终结果步骤,本发明将Flume应用至关系行业务数据库到Hbase分布式数据库之间的数据实时传输,保证数据传输的实时性,数据查询的一致性,通过SolrCloud分布式索引组件为Hbase中的Row Key添加二级索引,根据海量房租信息场景进行索引优化,保证系统在海量数据下对实时查询任务能在秒级作出响应,在系统封装数据二次检索过程中,二级索引对客户端完全透明,实现查询透明化。满足实时查询系统的可靠性、实时性以及操作透明性。
Description
技术领域
本发明涉及大数据分析应用技术领域,尤其涉及适用于房屋中介服务中的一种海量房租信息的实时查询方法。
背景技术
在数据时代,不论是科学研究、电子商务还是互联网应用等领域。数据量呈现爆发式增长趋势,用户和应用程序能够在任何时间、任何地点、任何状态下创造数据,随着数据生成的自动化以及数据生成速度的加快,对信息检索的高效性、可靠性、便捷性提出了严苛的性能要求。
在现实的房租信息检索场景中,用户需要在海量的数据下,压秒级内完成的多字段组合即席查询服务,且查询方式多为模糊查询,而实际服务于用户查询的数据源位于传统的关系型业务数据库中,在数据量趋于海量时,超高的延迟性严重破坏了用户的查询体验,因此实时查询任务的低延迟、高可靠性、透明性成为工业界关注的热点,现在面临的问题是急需建立实时数据传输通道,将业务数据导入分布式数据库中,以进行更高效的查询,且分布式数据库也需要提供健壮的索引机制应对复杂的多维组合即席查询任务。
发明内容
针对上述背景技术所阐述的问题,本发明目的是提供一种海量房租信息的实时查询方法,解决现有技术的问题,保证数据查询的一致性,且海量数据场景下的查询任务可以在秒级内作出响应,满足实时查询系统的可靠性、实时性以及操作透明性。
为了达到上述目的,本发明提供如下技术方案:
一种海量房租信息的实时查询方法,其特征在于:包括如下步骤:
Q1、部署Flume数据实时抽取系统,将关系型业务数据库中的实时数据导入Hbase分布式数据库中,包括:
Q1-1、根据外部关系型业务数据库部署Flume服务:
即,A、部署Flume Source,指定数据源类型、数据库URL、表名和列名;B、部署FlumeChannel,指定传输内存、事务容量等;C、部署Flume Hbase Sink,指定Hbase地址、表名、列簇;
Q1-2、在Hbase中建立数据表,用于存储传统关系型业务数据库中的数据;
Q1-3、启动Flume服务,该服务的Agent监听数据库变化并同步到Hbase分布式数据库中;
Q2、针对海量房租信息查询场景进行索引优化,根据房租信息数据,优化分词处理器优化,建立精准索引,为Hbase表中的Row Key字段添加二级索引并实时同步至SolrCloud,包括:
Q2-1、创建Solr预设文件,添加除被索引的Hbase表中的Row Key字段以外其他所有字段作为二级索引字段,单独将Row Key字段设置为Solr索引的Unique Key;
Q2-2、创建Hbase索引预设文件,指定SolrCloud Collection名称,需要写入到Solr中的字段、Row Key字段名称;
Q2-3、将Solr预设文件和Hbase索引预设文件部署到SolrCloud,并启动SolrCloud服务,SolrCloud机器中的各个节点可以通过Hbase表中的其他字段对Row Key进行检索;
Q3、封装数据二次检索过程,建立客户端到Hbase分布式数据库实时查询的RestAPI,包括:
Q3-1、客户端通过Rest API发起多维组合即席查询请求;
Q3-2、程序自动发送组合字段至SolrCloud集群查询Hbase分布式数据库中满足要求的Row Key集合;
Q3-3、利用得到的Row Key查询Hbase分布式数据库中的完整记录,并返回给客户端;
Q4、客户端直接调用Rest API完成多维组合即席查询,即客户端提交查询任务到系统指定的Rest Server端口,Rest Server监听到查询任务后启动查询程序,返回查询最终结果。
本发明通过结合中间件的方式,将Flume应用至关系行业务数据库到Hbase分布式数据库之间的数据实时传输,保证了数据传输的实时性,数据查询的一致性,通过SolrCloud分布式索引组件为Hbase中的Row Key添加二级索引,并根据海量房租信息场景进行索引优化,保证了系统在海量数据下对实时查询任务能在秒级作出响应,在系统封装数据二次检索过程中,二级索引对客户端完全透明,实现查询透明化。满足实时查询系统的可靠性、实时性以及操作透明性。
附图说明
图1是本发明实施例提供的面向海量房租信息的Rest API工作时序图;
图2是本发明实施例提供的面向海量房租信息的实时查询数据流图;
具体实施方式
下面将结合本发明的附图和实施例,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据图1、2所示,本发明实施例,说明一种海量房租信息的实时查询方法,包括如下步骤:
包括如下步骤:
Q1、部署Flume数据实时抽取系统,将关系型业务数据库中的实时数据导入Hbase分布式数据库中,包括:
Q1-1、根据外部关系型业务数据库部署Flume服务:
即,A、部署Flume Source,指定数据源类型、数据库URL、表名和列名;B、部署FlumeChannel,指定传输内存、事务容量等;C、部署Flume Hbase Sink,指定Hbase地址、表名、列簇;
Q1-2、在Hbase中建立数据表,在Hbase数据库中建立与关系型业务数据库相关联的表;为房租信息数据划分列簇,将关联度较高的维度划分到同一个列簇,但不超过2个列簇,为房租信息数据设计Row Key作为记录的一级索引用于存储传统关系型业务数据库中的数据;
Q1-3、启动Flume服务,该服务的Agent监听数据库变化并同步到Hbase分布式数据库中;
Q2、针对海量房租信息查询场景进行索引优化,根据房租信息数据,优化分词处理器优化,建立精准索引,具体为:
1、添加停止词,抽样房租信息数据获取词频逆序排序,将前百分之十无作用词加入停止次库;添加包括但不限于“*”、“@”、“!”等无意义符号或情感符号;
2、添加新词,将“整租”、“押一”、“付三”等房租时常用缩减术语加入新词字典中,保证分词正确性;
3、添加扩展词库。将“一室一厅”、“两室一厅”等户型信息保留为完整分词;
这样即为Hbase表中的Row Key字段添加二级索引并实时同步至SolrCloud,包括:
Q2-1、创建Solr预设文件,添加除被索引的Hbase表中的Row Key字段以外其他所有字段作为二级索引字段,单独将Row Key字段设置为Solr索引的Unique Key,配置solr提交方式为硬提交,数据在Hbase中刷新时同步建立索引,保证访问数据的一致性;
Q2-2、创建Hbase索引预设文件,调整索引分片(shard)数量,提高索引效率,指定SolrCloud Collection名称,需要写入到Solr中的字段、Row Key字段名称;
Q2-3、将Solr预设文件和Hbase索引预设文件部署到SolrCloud,为非Row Key字段构建完整逻辑上的倒排索引并启动SolrCloud服务,SolrCloud机器中的各个节点可以通过Hbase表中的其他字段对Row Key进行检索;
Q3、封装数据二次检索过程,建立客户端到Hbase分布式数据库实时查询的RestAPI,包括:
Q3-1、客户端通过Rest API发起多维组合即席查询请求;
Q3-2、程序自动发送组合字段至SolrCloud集群查询Hbase分布式数据库中满足要求的Row Key集合;
Q3-3、利用得到的Row Key查询Hbase分布式数据库中的完整记录,并返回给客户端;
Q4、客户端直接调用Rest API完成多维组合即席查询,即客户端提交查询任务到系统指定的Rest Server端口,即用户用前端数据展示界面键入查询需求,带有查询需求的表单发送到后台后系统后进行封装,Rest Server监听到查询任务后启动查询程序,RestAPI返回查询最终结果,将查询数据发送至前端数据展示界面,用户通过前端界面浏览查询结果
本发明主要利用如下工具软件:
1、Sqoop,Sqoop是一个常用的数据抽取工具,用来将Hadoop中HDFS和关系型数据库中的数据相互迁移,Sqoop通过MapReduce任务从数据库中导入一个表,支持全表导入和增量导入等,这个任务从关系型数据库的表中抽取一行记录,然后写入到HDFS,但是由于MapReduce任务实现数据的传输较为重量级,启动任务进程会耗费数秒时间,其应用场景往往是将数据导入数据仓库中,因此吞吐量较大、延时较高,完全不能满足用户的查询需求。
2、Hbase,Hbase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,被设计为可在廉价的PC Server搭建起大规模结构化存储集群,实现海量数据的快速随机访问,采用Key Value存储结构,在存储容量上,通过增加集群中物理节点,可轻松达到线形扩容的目的,在数据索引上,Hbase不支持条件索引,但通过优化设计Row Key可以对海量数据进行查询可以达到秒级的响应。
其创新原理为:针对面向海量房租信息的多维组合即席查询的应用场景,对数据传输、数据索引以及数据二次检索调用过程作出创新性改进,利用Cloudera提供的高可用,高可靠,分布式的海量日志采集、聚合和传输的Flume系统,通过结合中间件的方式,将Flume应用至关系行业务数据库到分布式数据库之间的数据实时传输;同时结合Apache旗下的分布式全文搜索SolrCloud系统,利用其分布式索引组件为Hbase表中的Row Key构建二级索引,且针对海量房租信息数据进行索引优化,二级索引用来响应多维组合即席查询,返回满足查询条件的Row Key集合,再通过Row Key在Hbase中查询满足条件的数据集合,封装数据的二级检索过程,提供统一的Rest API供客户端查询,实现条件查询的透明性。
本方案可以保证数据查询的一致性,且海量数据场景下的查询任务可以在秒级内作出响应。满足实时查询系统的可靠性、实时性以及操作透明性。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (1)
1.一种海量房租信息的实时查询方法,其特征在于:包括如下步骤:
包括如下步骤:
Q1、部署Flume数据实时抽取系统,将关系型业务数据库中的实时数据导入Hbase分布式数据库中,包括:
Q1-1、根据外部关系型业务数据库部署Flume服务:
即,A、部署Flume Source,指定数据源类型、数据库URL、表名和列名;B、部署FlumeChannel,指定传输内存、事务容量等;C、部署Flume Hbase Sink,指定Hbase地址、表名、列簇;
Q1-2、在Hbase中建立数据表,用于存储传统关系型业务数据库中的数据;
Q1-3、启动Flume服务,该服务的Agent监听数据库变化并同步到Hbase分布式数据库中;
Q2、针对海量房租信息查询场景进行索引优化,根据房租信息数据,优化分词处理器优化,建立精准索引,为Hbase表中的Row Key字段添加二级索引并实时同步至SolrCloud,包括:
Q2-1、创建Solr预设文件,添加除被索引的Hbase表中的Row Key字段以外其他所有字段作为二级索引字段,单独将Row Key字段设置为Solr索引的Unique Key;
Q2-2、创建Hbase索引预设文件,指定SolrCloud Collection名称,需要写入到Solr中的字段、Row Key字段名称;
Q2-3、将Solr预设文件和Hbase索引预设文件部署到SolrCloud,并启动SolrCloud服务,SolrCloud机器中的各个节点可以通过Hbase表中的其他字段对Row Key进行检索;
Q3、封装数据二次检索过程,建立客户端到Hbase分布式数据库实时查询的Rest API,包括:
Q3-1、客户端通过Rest API发起多维组合即席查询请求;
Q3-2、程序自动发送组合字段至SolrCloud集群查询Hbase分布式数据库中满足要求的Row Key集合;
Q3-3、利用得到的Row Key查询Hbase分布式数据库中的完整记录,并返回给客户端;
Q4、客户端直接调用Rest API完成多维组合即席查询,即客户端提交查询任务到系统指定的Rest Server端口,Rest Server监听到查询任务后启动查询程序,返回查询最终结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811133452.1A CN109271437A (zh) | 2018-09-27 | 2018-09-27 | 一种海量房租信息的实时查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811133452.1A CN109271437A (zh) | 2018-09-27 | 2018-09-27 | 一种海量房租信息的实时查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109271437A true CN109271437A (zh) | 2019-01-25 |
Family
ID=65199068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811133452.1A Withdrawn CN109271437A (zh) | 2018-09-27 | 2018-09-27 | 一种海量房租信息的实时查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109271437A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347722A (zh) * | 2019-07-11 | 2019-10-18 | 软通智慧科技有限公司 | 基于HBase的数据获取方法、装置、设备及存储介质 |
CN110659294A (zh) * | 2019-09-25 | 2020-01-07 | 北京明略软件系统有限公司 | 时空数据即席查询方法、系统、电子设备和存储介质 |
CN111061725A (zh) * | 2019-11-12 | 2020-04-24 | 上海麦克风文化传媒有限公司 | 一种可进行大量数据处理的存储结构 |
CN111352951A (zh) * | 2020-02-26 | 2020-06-30 | 苏宁云计算有限公司 | 一种数据导出方法、装置及系统 |
CN112687364A (zh) * | 2020-12-24 | 2021-04-20 | 宁波金唐软件有限公司 | 一种基于Hbase的医疗数据管理方法及其系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102710A (zh) * | 2014-07-15 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种海量数据查询方法 |
CN105512336A (zh) * | 2015-12-29 | 2016-04-20 | 中国建设银行股份有限公司 | 一种基于Hadoop的海量数据处理方法和装置 |
CN105760469A (zh) * | 2016-02-05 | 2016-07-13 | 大连大学 | 云计算环境下基于倒排lsh的高维近似图象检索方法 |
CN106682073A (zh) * | 2016-11-14 | 2017-05-17 | 上海轻维软件有限公司 | 基于ElasticSearch的HBase模糊检索系统 |
CN106874381A (zh) * | 2017-01-09 | 2017-06-20 | 重庆邮电大学 | 一种基于Hadoop的无线电环境地图数据处理系统 |
CN106919685A (zh) * | 2017-03-02 | 2017-07-04 | 浪潮软件集团有限公司 | 一种海量数据文件处理方法 |
CN107644050A (zh) * | 2016-12-22 | 2018-01-30 | 北京锐安科技有限公司 | 一种基于solr的Hbase的查询方法及装置 |
-
2018
- 2018-09-27 CN CN201811133452.1A patent/CN109271437A/zh not_active Withdrawn
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102710A (zh) * | 2014-07-15 | 2014-10-15 | 浪潮(北京)电子信息产业有限公司 | 一种海量数据查询方法 |
CN105512336A (zh) * | 2015-12-29 | 2016-04-20 | 中国建设银行股份有限公司 | 一种基于Hadoop的海量数据处理方法和装置 |
CN105760469A (zh) * | 2016-02-05 | 2016-07-13 | 大连大学 | 云计算环境下基于倒排lsh的高维近似图象检索方法 |
CN106682073A (zh) * | 2016-11-14 | 2017-05-17 | 上海轻维软件有限公司 | 基于ElasticSearch的HBase模糊检索系统 |
CN107644050A (zh) * | 2016-12-22 | 2018-01-30 | 北京锐安科技有限公司 | 一种基于solr的Hbase的查询方法及装置 |
CN106874381A (zh) * | 2017-01-09 | 2017-06-20 | 重庆邮电大学 | 一种基于Hadoop的无线电环境地图数据处理系统 |
CN106919685A (zh) * | 2017-03-02 | 2017-07-04 | 浪潮软件集团有限公司 | 一种海量数据文件处理方法 |
Non-Patent Citations (1)
Title |
---|
沈婷: "海事大数据查询服务平台的设计与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110347722A (zh) * | 2019-07-11 | 2019-10-18 | 软通智慧科技有限公司 | 基于HBase的数据获取方法、装置、设备及存储介质 |
CN110659294A (zh) * | 2019-09-25 | 2020-01-07 | 北京明略软件系统有限公司 | 时空数据即席查询方法、系统、电子设备和存储介质 |
CN110659294B (zh) * | 2019-09-25 | 2022-05-17 | 北京明略软件系统有限公司 | 时空数据即席查询方法、系统、电子设备和存储介质 |
CN111061725A (zh) * | 2019-11-12 | 2020-04-24 | 上海麦克风文化传媒有限公司 | 一种可进行大量数据处理的存储结构 |
CN111061725B (zh) * | 2019-11-12 | 2024-01-30 | 上海麦克风文化传媒有限公司 | 一种可进行大量数据处理的存储结构 |
CN111352951A (zh) * | 2020-02-26 | 2020-06-30 | 苏宁云计算有限公司 | 一种数据导出方法、装置及系统 |
CN112687364A (zh) * | 2020-12-24 | 2021-04-20 | 宁波金唐软件有限公司 | 一种基于Hbase的医疗数据管理方法及其系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109271437A (zh) | 一种海量房租信息的实时查询方法 | |
CN110489445B (zh) | 一种基于多形态复合的海量数据快速查询方法 | |
TWI710919B (zh) | 資料儲存裝置、轉譯裝置及資料庫存取方法 | |
CN105138592B (zh) | 一种基于分布式架构的日志数据存储和检索方法 | |
US6470333B1 (en) | Knowledge extraction system and method | |
CN104750681B (zh) | 一种海量数据的处理方法及装置 | |
CN100462979C (zh) | 分布式索引文件的检索方法、检索系统及检索服务器 | |
CN102184222B (zh) | 一种在大数据量存储中快速检索的方法 | |
US8359318B2 (en) | System and method for distributed index searching of electronic content | |
CN106708996B (zh) | 用于对关系数据库进行全文搜索的方法及系统 | |
CN108875042B (zh) | 一种混合联机分析处理系统及数据查询方法 | |
CN109947796B (zh) | 一种分布式数据库系统查询中间结果集的缓存方法 | |
CN111221791A (zh) | 一种多源异构数据导入数据湖的方法 | |
CN103488704A (zh) | 一种数据存储方法及装置 | |
CN101546308B (zh) | 一种基于检索过期的网页搜索方法及其系统 | |
CN108509437A (zh) | 一种ElasticSearch查询加速方法 | |
CN113297250A (zh) | 一种分布式数据库多表关联查询的方法及系统 | |
CN107423037B (zh) | 应用程序接口定位方法及设备 | |
CN111258978A (zh) | 一种数据存储的方法 | |
CN103077208A (zh) | 统一资源定位符匹配处理方法及装置 | |
CN113836162A (zh) | 一种业务解耦并实现多级缓存的自动化更新的方法及装置 | |
CN110109948A (zh) | 数据查询方法、计算机设备及计算机可读存储介质 | |
CN105912696A (zh) | 一种基于对数归并的dns索引创建方法及查询方法 | |
CN112417225A (zh) | 一种多源异构数据的联合查询方法与系统 | |
US11249974B1 (en) | Partition key/value pair sorting and splitting techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190125 |
|
WW01 | Invention patent application withdrawn after publication |