CN107273462B - 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法 - Google Patents

一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法 Download PDF

Info

Publication number
CN107273462B
CN107273462B CN201710408441.9A CN201710408441A CN107273462B CN 107273462 B CN107273462 B CN 107273462B CN 201710408441 A CN201710408441 A CN 201710408441A CN 107273462 B CN107273462 B CN 107273462B
Authority
CN
China
Prior art keywords
node
wal
queue
data
hbase cluster
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.)
Active
Application number
CN201710408441.9A
Other languages
English (en)
Other versions
CN107273462A (zh
Inventor
臧勇真
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201710408441.9A priority Critical patent/CN107273462B/zh
Publication of CN107273462A publication Critical patent/CN107273462A/zh
Application granted granted Critical
Publication of CN107273462B publication Critical patent/CN107273462B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

本发明提供一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法,在HBase集群中配置Zookeeper,建立全文索引Table_Index表;HBase集群基于Zookeeper将集群的所有节点配置成一队列,在所述队列中存放每个节点的读取WAL日志;在Table_Index表中对应的每个节点位开启单独线程,按照队列的次序,将每个节点的WAL日志对应到Table_Index表的节点位,每个节点位上设有一HBase集群节点的读取WAL日志以及节点的开启线程。对HBase集群数据建立全文索引的方法,具有很好的时效性,并且避免了额外的数据处理带来的存储和计算开销。

Description

一种构建HBase集群全文索引方法,数据读取方法以及数据写 入方法
技术领域
本发明涉及HBase集群领域,尤其涉及一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法。
背景技术
随着云计算技术的不断发展,云计算技术不断落地成为支撑各行业信息技术发展的重要支柱。基于Hadoop和HBase的分布式集群,如今已成为国内外云计算热门研究对象。Hadoop的HDFS分布式存储为云平台提供了分布式文件存储系统,而HBase因为具有良好的读写性能,并且能够支持大数据量的表,因而适用于简单业务、数据量巨大的在线数据库及数据仓库。由于HBase对事务的支持比较弱,只支持行级事务,因此业务数据库往往由mysql、oracle等成熟的关系型数据库担任,同时HBase能够轻而易举的承载海量数据,这是传统关系数据库不可比拟的,因此HBase往往用来做数据仓库,存储历史明细数据。由于历史数据数据量往往十分巨大,想要根据任意关键字查询数据,需要对每条数据的每个字段全部扫描一遍,犹如大海捞针,常用解决这个问题的手段是对数据在Solr或ElasticSearch中建立全文索引。当前对HBase数据建立全文索引,不再写入HBase,而是将数据写入消息队列,然后通过流式计算分发数据,写入HBase和建立全文索引。这种方式需要将数据存在消息队列中,并且需要编程实现流式计算,增加了存储和计算开销。
发明内容
为了克服上述现有技术中的不足,本发明提供方法包括:
在HBase集群中配置Zookeeper,建立全文索引Table_Index表;
HBase集群基于Zookeeper将集群的所有节点配置成一队列,在所述队列中存放每个节点的读取WAL日志;
在Table_Index表中对应的每个节点位开启单独线程,按照队列的次序,将每个节点的WAL日志对应到Table_Index表的节点位,每个节点位上设有一HBase集群节点的读取WAL日志以及节点的开启线程。
优选地,当队列中的节点WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除。
优选地,当队列中有新的节点加入时,生成所述节点的WAL日志,并将所述节点的WAL日志对应到Table_Index表的空闲节点位,开启所述节点线程;
所述节点的WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除。
优选地,通过获取Table_Index表中节点位的WAL日志以及开启线程,获取HBase集群中的节点,对所述节点进行配置。
优选地,对Table_Index表的操作记录建立全文索引并写入Solr或ElasticSearch中。
一种基于HBase集群的数据读取方法,方法包括:
客户端输入待操作的节点信息,对待操作的节点信息进行缓存;
客户端从HBase集群中读取Table_Index表,通过待操作的节点信息获取Table_Index表中对应的所述节点位及WAL日志;
将所述节点位对应的节点与客户端建立读取线程。
一种基于HBase集群的数据写入方法,方法包括:
客户端向HBase集群提交一个写请求;
HBase集群接收所述写请求,并将写入的数据写到WAL中;
当数据写到WAL之后,将数据对应至HBase集群的节点;
将所述节点配置到队列中,在所述队列中存放每个节点的读取WAL日志;
将所述节点的WAL日志对应到Table_Index表的空闲节点位,开启所述节点线程;
所述节点的WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除;
所述数据形成WAL日志之后,回复给发送客户端确认信息。
从以上技术方案可以看出,本发明具有以下优点:
通过对WAL日志进行读取并解析,然后对HBase集群数据建立全文索引的方法,具有很好的时效性,并且避免了额外的数据处理带来的存储和计算开销,对需要建立全文索引的Table_Index表和字段都是可配置的,无需编程,同时由于是异步进行的,对HBase集群的性能影响小。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为构建HBase集群全文索引方法流程图;
图2为基于HBase集群的数据读取方法流程图;
图3为基于HBase集群的数据写入方法流程图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。
本实施例提供一种构建HBase集群全文索引方法,如图1所示,方法包括:
S1,在HBase集群中配置Zookeeper,建立全文索引Table_Index表;
S2,HBase集群基于Zookeeper将集群的所有节点配置成一队列,在所述队列中存放每个节点的读取WAL日志;
S3,在Table_Index表中对应的每个节点位开启单独线程,按照队列的次序,将每个节点的WAL日志对应到Table_Index表的节点位,每个节点位上设有一HBase集群节点的读取WAL日志以及节点的开启线程。
本实施例中,当队列中的节点WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除。
当队列中有新的节点加入时,生成所述节点的WAL日志,并将所述节点的WAL日志对应到Table_Index表的空闲节点位,开启所述节点线程;
所述节点的WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除。
本实施例中,通过获取Table_Index表中节点位的WAL日志以及开启线程,获取HBase集群中的节点,对所述节点进行配置。
对Table_Index表的操作记录建立全文索引并写入Solr或ElasticSearch中。
通过对HBaseWAL日志进行读取并解析,然后对HBase数据建立全文索引的方法,具有很好的时效性,并且避免了额外的数据处理带来的存储和计算开销,对需要建立全文索引的HBase表和字段都是可配置的,无需编程,同时由于是异步进行的,对HBase的性能影响小。
通过解析HBase的WAL日志,使数据在写入HBase数据库的同时,文件即可分析出需要建立索引的数据,进而将解析出的数据根据配置在搜索引擎系统中建立索引。
大数据场景下的HBase数据进行异步实时构建全文索引。通过对HBase的WAL日志的读取和分析,根据用户的配置,对数据构建全文索引。具有很好的时效性。在数据写入HBase的同时,读取并分析HBase的操作日志。通过配置文件对HBase的操作日志进行分析并建立全文索引。
HBase因为具有良好的读写性能,并且能够支持大数据量的表,因而适用于简单业务、数据量巨大的在线数据库及数据仓库,供用户查询分析。由于历史数据数据量往往十分巨大,想要根据任意关键字查询数据,需要对每条数据的每个字段全部扫描一遍,需要对HBase数据建立全文索引。当前对HBase数据建立全文索引存在两大弊端:一是时效性差,影响HBase自身性能;二是需要额外的存储和计算开销。通过对HBase的操作日志进行读取并分析,可以异步的对用户所关心的数据根据配置文件建立全文索引。这种方法时效性强,数据进入HBase后立刻就能对数据进行关键字查询,并且不需要额外的存储和计算开销,同时不影响HBase自身性能。HBase的写数据过程为了保证数据的可靠性,首先将数据写入WAL日志,WAL日志只记录两种操作,写入和删除。这样在HBase发生意外宕机时,能够自动的根据WAL日志中的记录,恢复用户操作。WAL日志会定期滚动。
本发明还提供一种基于HBase集群的数据读取方法,如图2所示,方法包括:
S11,客户端输入待操作的节点信息,对待操作的节点信息进行缓存;
S12,客户端从HBase集群中读取Table_Index表,通过待操作的节点信息获取Table_Index表中对应的所述节点位及WAL日志;
S13,将所述节点位对应的节点与客户端建立读取线程。
本发明还提供一种基于HBase集群的数据写入方法,如图3所示,方法包括:
S21,客户端向HBase集群提交一个写请求;
S22,HBase集群接收所述写请求,并将写入的数据写到WAL中;
S23,当数据写到WAL之后,将数据对应至HBase集群的节点;
S24,将所述节点配置到队列中,在所述队列中存放每个节点的读取WAL日志;
S25,将所述节点的WAL日志对应到Table_Index表的空闲节点位,开启所述节点线程;
S26,所述节点的WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除;
S27,所述数据形成WAL日志之后,回复给发送客户端确认信息。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (3)

1.一种构建HBase集群全文索引方法,其特征在于,方法包括:
在HBase集群中配置Zookeeper,建立全文索引Table_Index表;
HBase集群基于Zookeeper将集群的所有节点配置成一队列,在所述队列中存放每个节点的读取WAL日志;
在Table_Index表中对应的每个节点位开启单独线程,按照队列的次序,将每个节点的WAL日志对应到Table_Index表的节点位,每个节点位上设有一HBase集群节点的读取WAL日志以及节点的开启线程;
当队列中的节点WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除;
当队列中有新的节点加入时,生成所述节点的WAL日志,并将所述节点的WAL日志对应到Table_Index表的空闲节点位,开启所述节点线程;
所述节点的WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除;
方法还包括基于HBase集群的数据读取方法:
客户端输入待操作的节点信息,对待操作的节点信息进行缓存;
客户端从HBase集群中读取Table_Index表,通过待操作的节点信息获取Table_Index表中对应的所述节点位及WAL日志;
将所述节点位对应的节点与客户端建立读取线程;
方法还包括基于HBase集群的数据写入方法:
客户端向HBase集群提交一个写请求;
HBase集群接收所述写请求,并将写入的数据写到WAL中;
当数据写到WAL之后,将数据对应至HBase集群的节点;
将所述节点配置到队列中,在所述队列中存放每个节点的读取WAL日志;
将所述节点的WAL日志对应到Table_Index表的空闲节点位,开启所述节点线程;
所述节点的WAL日志对应到Table_Index表的节点位后,将队列中的所述节点的WAL日志删除;
所述数据形成WAL日志之后,回复给发送客户端确认信息。
2.根据权利要求1所述的构建HBase集群全文索引方法,其特征在于,
通过获取Table_Index表中节点位的WAL日志以及开启线程,获取HBase集群中的节点,对所述节点进行配置。
3.根据权利要求1所述的构建HBase集群全文索引方法,其特征在于,
对Table_Index表的操作记录建立全文索引并写入Solr或ElasticSearch中。
CN201710408441.9A 2017-06-02 2017-06-02 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法 Active CN107273462B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710408441.9A CN107273462B (zh) 2017-06-02 2017-06-02 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710408441.9A CN107273462B (zh) 2017-06-02 2017-06-02 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法

Publications (2)

Publication Number Publication Date
CN107273462A CN107273462A (zh) 2017-10-20
CN107273462B true CN107273462B (zh) 2020-09-25

Family

ID=60064426

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710408441.9A Active CN107273462B (zh) 2017-06-02 2017-06-02 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法

Country Status (1)

Country Link
CN (1) CN107273462B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108418859B (zh) * 2018-01-24 2020-11-06 华为技术有限公司 写数据的方法和装置
CN110532123B (zh) * 2019-08-30 2023-08-04 北京小米移动软件有限公司 HBase系统的故障转移方法及装置
CN113821492A (zh) * 2020-06-19 2021-12-21 北京国电思达科技有限公司 一种基于Redis的风机数据读写方法、装置、系统和介质
CN112948378A (zh) * 2021-02-04 2021-06-11 上海中通吉网络技术有限公司 基于HBase的数据处理方法、装置和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870570A (zh) * 2014-03-14 2014-06-18 广州携智信息科技有限公司 一种基于远程日志备份的HBase数据可用性及持久性的方法
CN105138592A (zh) * 2015-07-31 2015-12-09 武汉虹信技术服务有限责任公司 一种基于分布式架构的日志数据存储和检索方法
CN106776795A (zh) * 2016-11-23 2017-05-31 黄健文 基于Hbase数据库的数据写入方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779185B (zh) * 2012-06-29 2014-11-12 浙江大学 一种高可用分布式全文索引方法
US9894119B2 (en) * 2014-08-29 2018-02-13 Box, Inc. Configurable metadata-based automation and content classification architecture for cloud-based collaboration platforms
CN105069151A (zh) * 2015-08-24 2015-11-18 用友网络科技股份有限公司 HBase二级索引构建装置和方法
CN106777357B (zh) * 2017-01-19 2020-06-02 郑州云海信息技术有限公司 一种异步构建HBase全文索引的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870570A (zh) * 2014-03-14 2014-06-18 广州携智信息科技有限公司 一种基于远程日志备份的HBase数据可用性及持久性的方法
CN105138592A (zh) * 2015-07-31 2015-12-09 武汉虹信技术服务有限责任公司 一种基于分布式架构的日志数据存储和检索方法
CN106776795A (zh) * 2016-11-23 2017-05-31 黄健文 基于Hbase数据库的数据写入方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HBase-WAL相关线程处理逻辑;forbabyx;《https://blog.csdn.net/cafebabyx/article/details/88347306》;20140228;全文 *

Also Published As

Publication number Publication date
CN107273462A (zh) 2017-10-20

Similar Documents

Publication Publication Date Title
CN107273462B (zh) 一种构建HBase集群全文索引方法,数据读取方法以及数据写入方法
Rautmare et al. MySQL and NoSQL database comparison for IoT application
CN103020204B (zh) 一种对分布式顺序表进行多维区间查询的方法及其系统
CN103473267B (zh) 数据存储查询方法及系统
CN104252536B (zh) 一种基于hbase的上网日志数据查询方法及装置
CN106528847A (zh) 一种海量数据的多维度处理方法及系统
Chavan et al. Survey paper on big data
CN110688382B (zh) 数据存储查询方法、装置、计算机设备及存储介质
CN106294695A (zh) 一种面向实时大数据搜索引擎的实现方法
CN105630810B (zh) 一种对于海量小文件在分布式存储系统中上载的方法
CN103744913A (zh) 一种基于搜索引擎技术的数据库检索方法
CN114461603A (zh) 多源异构数据融合方法及装置
Caldarola et al. Big data: A survey-the new paradigms, methodologies and tools
CN104199978A (zh) 基于NoSQL实现元数据缓存与分析的系统及方法
US9229969B2 (en) Management of searches in a database system
Qian et al. An evaluation of Lucene for keywords search in large-scale short text storage
KR101955376B1 (ko) 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치
US11288315B2 (en) Redirecting graph queries
CN106777357B (zh) 一种异步构建HBase全文索引的方法
CN111008198A (zh) 业务数据获取方法、装置、存储介质、电子设备
Chardonnens Big data analytics on high velocity streams
Liu et al. Storing and querying AIS data in HBase
CN112685557A (zh) 可视化信息资源管理方法及装置
Khurana An introduction to temporal graph data management
CN106980621A (zh) 基于MongoDB的事件归档和查询的方法和装置

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
TA01 Transfer of patent application right

Effective date of registration: 20200518

Address after: Building S01, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province, 250000

Applicant after: Tidal Cloud Information Technology Co.,Ltd.

Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
CB02 Change of applicant information

Address after: Building S01, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province, 250000

Applicant after: Inspur cloud Information Technology Co., Ltd

Address before: Building S01, Inspur Science Park, No. 1036, Inspur Road, high tech Zone, Jinan City, Shandong Province, 250000

Applicant before: Tidal Cloud Information Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant