CN104252528A - 基于标识符空间映射的大数据二级索引构建方法 - Google Patents
基于标识符空间映射的大数据二级索引构建方法 Download PDFInfo
- Publication number
- CN104252528A CN104252528A CN201410449359.7A CN201410449359A CN104252528A CN 104252528 A CN104252528 A CN 104252528A CN 201410449359 A CN201410449359 A CN 201410449359A CN 104252528 A CN104252528 A CN 104252528A
- Authority
- CN
- China
- Prior art keywords
- index
- node
- data
- identifier space
- property
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提出了一种基于标识符空间映射的大数据二级索引构建方法,包括:根据查询属性生成索引条目,利用Baton协议组织索引节点及索引条目,建立Baton索引组织;数据处理节点在查询非Rowkey属性时,将查询所需数据请求发送给索引节点,索引节点通过Baton路由协议将数据检索请求发送到需检索索引条目所在的索引节点,所述索引节点通过物理地址获取所需数据,并发送给相应的数据处理节点。本发明有益效果:二级索引构建技术改进了HBase不支持索引构建与使用的缺点;利用云计算资源管理大量的属性索引,满足大量数据分析处理的二级索引需求;数据的检索与获得由索引节点完成,减轻了数据处理节点的负担,提高数据处理的效率。
Description
技术领域
本发明涉及大数据处理领域,尤其涉及一种大数据二级索引构建方法。
背景技术
在企业信息化与智能化过程中,数据量快速增长,业务数据种类也呈现多样化趋势。建立高效的企业智能决策支持系统,需要一种大数据管理系统,将各类业务数据统一存储,并提供正确、快速数据分析处理能力。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,为大数据存储与分析处理提供较为完备的解决方案。
然而,HBase不支持二级索引,当需要查询非Rowkey属性时只能通过全表扫描方式,数据分析效率严重降低。为大数据建立索引,需要管理大量的索引条目,这需要利用云计算资源完成。而且,HBase的存储单位为HFile,HFile是一种分布式存储,不同于传统的磁盘存储,所以原有的磁盘索引不再适用。因此,结合大数据特征,本文给出一种HBase二级索引构建方法。
发明内容
本发明的目的就是为了支持大数据在HBase的高效数据分析处理,提出了一种基于标识符空间映射的大数据二级索引构建方法,该方法能够满足以下需求:1)可管理多种业务数据的索引及大量的索引条目;2)索引查询操作时间高效;3)适应HBase的分布式存储结构;4)利用云计算资源管理二级索引,并保证负载均衡。
为了解决上述问题,本发明采用如下技术方案:
一种基于标识符空间映射的大数据二级索引构建方法,包括以下步骤:
(1)根据查询属性生成索引条目,利用Baton协议组织索引节点及索引条目,建立Baton索引组织;
(2)查询操作:数据处理节点在查询非Rowkey属性时,将查询所需数据请求发送给索引节点,索引节点通过Baton路由协议将数据检索请求发送到需检索索引条目所在的索引节点,所述索引节点通过物理地址获取所需数据,并发送给相应的数据处理节点。
所述步骤(1)中建立索引组织的方法包括:
a)对所有的属性索引统一编号;每一个属性索引都由若干索引条目组成,设ej为索引条目,Ii为属性索引,则Ii=∪{ej};其中,i为属性索引的编号,j为索引条目编号;
b)每个索引条目ej都通过映射函数映射到标识符空间D的某个位置;所述标识符空间D为映射函数的值域范围;
c)利用Baton组织索引节点,每个索引节点负责管理部分标识符空间,所有索引节点组成一个关于标识符空间D的覆盖网络,各索引节点基于Baton组成一个树型结构;
d)确定各索引节点负责管理的索引条目,每个索引节点利用B+树存储自己所负责的索引条目;
e)每个索引条目指向数据存储物理地址。
所述Baton协议为一种利用树形结构组织对等网络的协议,所述Baton协议能够替换为其他类型的网络结构。
所述索引条目ej由属性值aj与存储位置pj组成,即ej:<aj,pj>,存储位置pj指向存储数据记录的HFile标号及逻辑偏移量。
所述索引条目ej通过映射函数映射到标识符空间D的某个位置的方法为:
1)将标识符空间D分割为n个等大小的属性索引区,属性索引区表示为B;将每个属性索引对应存储到一个B中;
2)对于属性索引Ii的任意索引条目ej:<aj,pj>,计算ej在D的位置的方法为:
Lj=B*i+B*(min+aj)/(max-min) (1)
其中,Lj是ej映射到标识符空间D中的位置,i为属性索引的编号,max与min分别为属性值aj可取值的最大值与最小值。
所述步骤(2)的具体方法为:
Ⅰ)对于一个查询命令Q,数据处理节点解析查询命令Q要使用的属性索引Ii及索引条目ej;
Ⅱ)选择任意一个索引节点作为入口查询节点;
Ⅲ)计算索引条目ej在D的位置,根据Baton路由协议将查询命令Q发送到负责索引条目ej的索引节点;
IV)所述索引节点根据索引条目ej指向的物理地址,获得数据记录;所述索引节点可进行并行查询;
V)索引节点将数据记录返回给数据处理节点;
VI)数据处理节点获得数据,进行查询处理。
本发明有益效果:
(1)二级索引构建技术改进了HBase不支持索引构建与使用的缺点,提高了分析时常用属性的数据处理效率。
(2)可利用云计算资源管理大量的属性索引,满足大量数据分析处理的二级索引需求。
(3)数据的检索与获得由索引节点完成,减轻了数据处理节点的负担,提高数据处理的效率。
(4)索引条目直接指向记录的HFile标号及逻辑偏移量,适应HBase分布式存储系统。
(5)基于Baton协议可动态地均衡负载,节省节点资源。
附图说明
图1为本发明索引框架图;
图2为本发明索引建立与查询示意图;
图3为本发明索引建立流程图;
图4为本发明索引查询流程图。
具体实施方式
下面结合附图与具体实施例对本发明做进一步说明:
为提高大数据分析处理的效率,提出一种基于标识符空间映射的大数据二级索引构建方法。针对数据分析人员常用的查询属性,建立二级索引。索引框架如图1所示,主要思想为:
1)HBase索引机制部署在由N个索引节点(IndexServer)组成的对等网络,节点间利用Baton协议组织。
2)索引节点(IndexServer)存储二级索引,每个索引指向数据存储的HFile标号及逻辑偏移量。HFile是数据存储节点(DataNode)的文件存储单元。
3)数据处理节点(RegionServer)在查询非Rowkey属性时,将查询所需数据请求发送给索引机制。索引机制中拥有所需索引条目的索引节点通过物理地址取得数据,并发送到RegionServer。RegionServer负责处理数据。
为方便描述,给出所需的术语定义。
定义1:属性索引为提高查询效率,在Table某个属性建立的键值与存储位置对应关系的集合称为属性索引,表示为Ii,i为属性索引的编号。所有Table的属性索引统一编号,因此每个属性索引在系统中有唯一的编号。一个属性索引是由若干索引条目组成的,设ej为索引条目,则Ii=∪{ej},j为索引条目编号。索引条目是由属性值a与存储位置p组成的,即ej=<aj,pj>。存储位置pj指向存储数据记录的HFile及偏移量。
定义2:标识符空间所有索引条目通过一致性哈希映射的值域范围称为标识符空间,用D表示。每个ej都通过映射函数映射到D的某个位置,每个索引节点都负责部分空间范围并组成一个关于D的覆盖网络。因此ej一定会被某个索引节点所管理。
定义3:索引节点负责管理索引条目的节点称为索引节点。每个索引节点负责一部分标识符空间,通过映射函数落入该部分的索引条目都被此节点管理与存储。
索引方法中二级索引建立如图2及图3所示,查询的过程如图2及图4所示。
索引建立步骤为:
a)对所有属性索引统一编号。
b)确定每个索引条目ej在标识符空间D的位置。对于属性索引Ii的ej,利用公式(1)映射到D。
c)利用Baton组织索引节点及索引条目。一个索引节点负责管理一定范围的D,各索引节点组成一个树型结构。每个索引节点利用B+树管理自己所负责的索引条目。
在实施中,可设置D的大小为2128,B的大小为296,则可建立232个属性索引。若I0的e0的属性值a0=1,且其max与min值分别为0与296。那么利用公式(1)计算其在D中的值为1;若索引节点a负责标识符空间范围为[0,2120],那么e0被索引节点a所管理与存储。e0以映射后的值加入a的B+树。
索引查询步骤为:
a)对于一个查询Q,RegionServer解析Q要使用的属性索引及索引条目ej。
b)选择任意一个索引节点作为入口查询节点。
c)利用函数(1)计算ej在D位置,通过Baton路由协议将Q发送到负责ej的节点。
d)索引节点根据索引条目ej指向的物理地址,获得数据记录。由于Baton支持范围查询,所以索引节点可以并行的查询。
e)索引节点将数据记录返回给RegionServer。
f)RegionServer获得数据,进行查询处理。
例如,一个RegionServer需查询I0中属性值a0=1的数据,则通过公式(1)计算要检索的索引条目在D中的值为1;若索引节点a管理标识符空间范围包含1,可根据Baton路由协议将查询指令发送到索引节点a;a节点在HFile中获得数据,并将数据返回给RegionServer,RegionServer再处理数据。
提出的二级索引方法利用索引节点并行提取数据,再将数据传输回RegionServer进行处理,有效提高了查询效率。由于是对等网络结构,索引机制可无限扩展,并且在查询与更新时可并行处理数据。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (6)
1.一种基于标识符空间映射的大数据二级索引构建方法,其特征是,包括以下步骤:
(1)根据查询属性生成索引条目,利用Baton协议组织索引节点及索引条目,建立Baton索引组织;
(2)查询操作:数据处理节点在查询非Rowkey属性时,将查询所需数据请求发送给索引节点,索引节点通过Baton路由协议将数据检索请求发送到需检索索引条目所在的索引节点,所述索引节点通过物理地址获取所需数据,并发送给相应的数据处理节点。
2.如权利要求1所述的一种基于标识符空间映射的大数据二级索引构建方法,其特征是,所述步骤(1)中建立索引组织的方法包括:
a)对所有的属性索引统一编号;每一个属性索引都由若干索引条目组成,设ej为索引条目,Ii为属性索引,则Ii=∪{ej};其中,i为属性索引的编号,j为索引条目编号;
b)每个索引条目ej都通过映射函数映射到标识符空间D的某个位置;所述标识符空间D为映射函数的值域范围;
c)利用Baton组织索引节点,每个索引节点负责管理部分标识符空间,所有索引节点组成一个关于标识符空间D的覆盖网络,各索引节点基于Baton组成一个树型结构;
d)确定各索引节点负责管理的索引条目,每个索引节点利用B+树存储自己所负责的索引条目;
e)每个索引条目指向数据存储物理地址。
3.如权利要求1所述的一种基于标识符空间映射的大数据二级索引构建方法,其特征是,所述Baton协议为一种利用树形结构组织对等网络的协议,所述Baton协议能够替换为其他类型的网络结构。
4.如权利要求1所述的一种基于标识符空间映射的大数据二级索引构建方法,其特征是,所述索引条目ej由属性值aj与存储位置pj组成,即ej:<aj,pj>,存储位置pj指向存储数据记录的HFile标号及逻辑偏移量。
5.如权利要求1所述的一种基于标识符空间映射的大数据二级索引构建方法,其特征是,所述索引条目ej通过映射函数映射到标识符空间D的某个位置的方法为:
1)将标识符空间D分割为n个等大小的属性索引区,属性索引区表示为B;将每个属性索引对应存储到一个B中;
2)对于属性索引Ii的任意索引条目ej:<aj,pj>,计算ej在D的位置的方法为:
Lj=B*i+B*(min+aj)/(max-min) (1)
其中,Lj是ej映射到标识符空间D中的位置,i为属性索引的编号,max与min分别为属性值aj可取值的最大值与最小值。
6.如权利要求1所述的一种基于标识符空间映射的大数据二级索引构建方法,其特征是,所述步骤(2)的具体方法为:
Ⅰ)对于一个查询命令Q,数据处理节点解析查询命令Q要使用的属性索引Ii及索引条目ej;
Ⅱ)选择任意一个索引节点作为入口查询节点;
Ⅲ)计算索引条目ej在D的位置,根据Baton路由协议将查询命令Q发送到负责索引条目ej的索引节点;
IV)所述索引节点根据索引条目ej指向的物理地址,获得数据记录;所述索引节点可进行并行查询;
V)索引节点将数据记录返回给数据处理节点;
VI)数据处理节点获得数据,进行查询处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410449359.7A CN104252528B (zh) | 2014-09-04 | 2014-09-04 | 基于标识符空间映射的大数据二级索引构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410449359.7A CN104252528B (zh) | 2014-09-04 | 2014-09-04 | 基于标识符空间映射的大数据二级索引构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104252528A true CN104252528A (zh) | 2014-12-31 |
CN104252528B CN104252528B (zh) | 2017-04-26 |
Family
ID=52187418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410449359.7A Active CN104252528B (zh) | 2014-09-04 | 2014-09-04 | 基于标识符空间映射的大数据二级索引构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104252528B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141689A (zh) * | 2015-02-05 | 2015-12-09 | 物联智慧科技(深圳)有限公司 | 管理服务器及其操作方法与服务器系统 |
CN105160002A (zh) * | 2015-09-09 | 2015-12-16 | 浙江中控技术股份有限公司 | 一种全局索引的方法及系统 |
CN106156271A (zh) * | 2016-06-20 | 2016-11-23 | 南京航空航天大学 | 基于分布式存储的关联信息索引系统及其建立与使用方法 |
CN106484684A (zh) * | 2016-10-11 | 2017-03-08 | 语联网(武汉)信息技术有限公司 | 一种对数据库中的数据进行术语匹配的方法 |
WO2018157333A1 (zh) * | 2017-03-01 | 2018-09-07 | 深圳市博信诺达经贸咨询有限公司 | 处理大数据的方法及系统 |
CN108920708A (zh) * | 2018-07-20 | 2018-11-30 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN109325023A (zh) * | 2018-07-20 | 2019-02-12 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN110287198A (zh) * | 2019-07-01 | 2019-09-27 | 四川新网银行股份有限公司 | 基于HBase数据库的金融数据索引方法 |
CN110866003A (zh) * | 2018-08-27 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 索引值数目的估算方法和装置以及电子设备 |
CN112612805A (zh) * | 2020-12-24 | 2021-04-06 | 北京浪潮数据技术有限公司 | 一种hbase数据索引到查询引擎的方法和相关装置 |
CN114780146A (zh) * | 2022-06-17 | 2022-07-22 | 深流微智能科技(深圳)有限公司 | 资源地址查询方法、装置、系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140059017A1 (en) * | 2012-08-22 | 2014-02-27 | Bitvore Corp. | Data relationships storage platform |
WO2014082198A1 (en) * | 2012-11-27 | 2014-06-05 | Nokia Siemens Networks Oy | Multiple fields parallel query method and corresponding storage organization |
-
2014
- 2014-09-04 CN CN201410449359.7A patent/CN104252528B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140059017A1 (en) * | 2012-08-22 | 2014-02-27 | Bitvore Corp. | Data relationships storage platform |
WO2014082198A1 (en) * | 2012-11-27 | 2014-06-05 | Nokia Siemens Networks Oy | Multiple fields parallel query method and corresponding storage organization |
Non-Patent Citations (4)
Title |
---|
BLUISHGLC: "HBase高性能复杂条件查询引擎", 《博客》 * |
KLOSE: "HBase二级索引方案总结_klose", 《新浪博客》 * |
卓海艺: "基于HBase的海量数据实时查询系统设计", 《中国优秀硕士学位论文全文数据库》 * |
风声水起: "(转)HBase二级索引与Join", 《博客园》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105141689A (zh) * | 2015-02-05 | 2015-12-09 | 物联智慧科技(深圳)有限公司 | 管理服务器及其操作方法与服务器系统 |
CN105141689B (zh) * | 2015-02-05 | 2019-07-19 | 物联智慧科技(深圳)有限公司 | 管理服务器及其操作方法与服务器系统 |
CN105160002B (zh) * | 2015-09-09 | 2019-03-12 | 浙江中控技术股份有限公司 | 一种全局索引的方法及系统 |
CN105160002A (zh) * | 2015-09-09 | 2015-12-16 | 浙江中控技术股份有限公司 | 一种全局索引的方法及系统 |
CN106156271A (zh) * | 2016-06-20 | 2016-11-23 | 南京航空航天大学 | 基于分布式存储的关联信息索引系统及其建立与使用方法 |
CN106484684A (zh) * | 2016-10-11 | 2017-03-08 | 语联网(武汉)信息技术有限公司 | 一种对数据库中的数据进行术语匹配的方法 |
CN106484684B (zh) * | 2016-10-11 | 2019-04-05 | 语联网(武汉)信息技术有限公司 | 一种对数据库中的数据进行术语匹配的方法 |
WO2018157333A1 (zh) * | 2017-03-01 | 2018-09-07 | 深圳市博信诺达经贸咨询有限公司 | 处理大数据的方法及系统 |
CN109325023A (zh) * | 2018-07-20 | 2019-02-12 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN108920708A (zh) * | 2018-07-20 | 2018-11-30 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN109325023B (zh) * | 2018-07-20 | 2021-02-26 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN108920708B (zh) * | 2018-07-20 | 2021-04-27 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN110866003A (zh) * | 2018-08-27 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 索引值数目的估算方法和装置以及电子设备 |
CN110866003B (zh) * | 2018-08-27 | 2023-09-26 | 阿里云计算有限公司 | 索引值数目的估算方法和装置以及电子设备 |
CN110287198A (zh) * | 2019-07-01 | 2019-09-27 | 四川新网银行股份有限公司 | 基于HBase数据库的金融数据索引方法 |
CN112612805A (zh) * | 2020-12-24 | 2021-04-06 | 北京浪潮数据技术有限公司 | 一种hbase数据索引到查询引擎的方法和相关装置 |
CN112612805B (zh) * | 2020-12-24 | 2023-12-22 | 北京浪潮数据技术有限公司 | 一种hbase数据索引到查询引擎的方法和相关装置 |
CN114780146A (zh) * | 2022-06-17 | 2022-07-22 | 深流微智能科技(深圳)有限公司 | 资源地址查询方法、装置、系统 |
CN114780146B (zh) * | 2022-06-17 | 2022-08-26 | 深流微智能科技(深圳)有限公司 | 资源地址查询方法、装置、系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104252528B (zh) | 2017-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252528A (zh) | 基于标识符空间映射的大数据二级索引构建方法 | |
CN101594319B (zh) | 表项查找方法和装置 | |
CN104376053B (zh) | 一种基于海量气象数据的存储与检索方法 | |
CN106326381A (zh) | 基于MapDB构建的HBase数据检索方法 | |
CN103544261B (zh) | 一种海量结构化日志数据全局索引管理方法及装置 | |
CN105991660B (zh) | 一种多云存储系统间资源共享的系统 | |
CN102567495A (zh) | 一种海量信息存储系统及实现方法 | |
CN103019953A (zh) | 一种元数据的构建系统及其方法 | |
CN107092673B (zh) | 一种网络通信资产识别管理的系统、建模方法及检索方法 | |
CN105930345A (zh) | 基于分布式实时数据库的层次索引方法 | |
US8015195B2 (en) | Modifying entry names in directory server | |
CN103198153A (zh) | 一种应用于分布式文件系统的元数据分簇管理方法和模块 | |
CN103544300B (zh) | 一种云环境下可扩展存储索引结构的实现方法 | |
CN106095850A (zh) | 一种数据处理方法及设备 | |
CN102378407B (zh) | 一种物联网中的对象名字解析系统及其解析方法 | |
CN104636368A (zh) | 数据检索方法、装置及服务器 | |
US11386103B2 (en) | Query enhancement system and method for constructing elastic field based on time delay | |
US20180205790A1 (en) | Distributed data structure in a software defined networking environment | |
CN109246102B (zh) | 一种支撑大规模认证数据快速存储及检索的系统及方法 | |
CN1852145A (zh) | 一种利用关联查询进行鉴权的系统及其方法 | |
CN104717639A (zh) | 一种移动客户端访问互联网的方法和接入网关服务器 | |
CN102685222A (zh) | 一种用于电力系统的云存储资源管理装置 | |
CN102402530A (zh) | 一种元数据分布式查询方法、装置及系统 | |
CN107294855B (zh) | 一种高性能计算网络下的tcp查找优化方法 | |
CN109408467A (zh) | 一种实现数据存储的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |