CN104216962A - 一种基于HBase的海量网管数据索引设计方法 - Google Patents
一种基于HBase的海量网管数据索引设计方法 Download PDFInfo
- Publication number
- CN104216962A CN104216962A CN201410415958.7A CN201410415958A CN104216962A CN 104216962 A CN104216962 A CN 104216962A CN 201410415958 A CN201410415958 A CN 201410415958A CN 104216962 A CN104216962 A CN 104216962A
- Authority
- CN
- China
- Prior art keywords
- index
- node
- hbase
- nodes
- locations
- 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.)
- Pending
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
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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于HBase的海量网管数据索引设计方法,根据网管***的功能特点,结合HBase列式存储的特点,主键依然采用Key-Value式的散列索引,这样不仅可以获得很高的检索效率,而且可以保持负载均衡;主键之外的其他属性列将采用基于HBase的索引技术。通过本发明提出的方法,可以解决查询非主键属性时间复杂度高的问题,有效提高了网管***的查询效率,提高了***的服务质量。
Description
技术领域
本发明属于涉及一种基于HBase的海量网管数据索引设计方法,属于云计算领域。
背景技术
随着三网融合的发展以及网络功能的日益扩大和加强,网络的规模和应用得到不断发展,网络结构变得越来越复杂和多样化。网络管理***所面对的数据也越来越庞大和多样化,面对海量网络数据的存储、查询和分析,传统的关系数据库是无法胜任的。传统的关系型数据库处理的结构化数据在GB级别,分析大数据时力不从心,并且目标数据的处理需求以及数据的高可用性需求一直在增长,关系数据库也无法适应这种可扩展性和高可用性。
云计算的兴起,非关系数据库的出现为解决这一问题提供了新的思路和途径。HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储***,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群,具有强大的数据存储与计算能力。然而,当前版本的HBase***并没有提供二级索引功能,当用户基于非主键査询HBase表中数据的时候,只能通过Scan全表扫描或者使用MapReduce架构全表扫描获取满足条件的数据,但这两种方式效率太低,延迟较大,无法满足实时査询的需要。为了实现海量网络管理数据的实时查询,必须为HBase建立索引机制。高效的索引机制是高性能的数据存取与查询服务的基础,索引可以快速定位所查询数据的位置,有效地提高数据的查询效率,进而提高网络管理***整体的服务质量。
针对HBase基于非主键查询效率低,延迟大的问题,根据应用场景不同,人们设计了不同的索引方案,目前主要采用的是基于二级索引的实现方案,包括ITHBase、IHBase和CCIndex,这些方案主要应用于key-value存储的云数据库管理***中,如Bigtable、HBase等。从现有的技术方案来看,HBase的索引技术大都采用的静态索引结构或者比较单一的索引更新方案。静态索引结构是指这种索引结构在初始创建、数据装入时就已经定型,而且在整个***运行期间,索引的结构不发生变化,只是数据在更新;静态索引结构的优点是结构定型、索引建立方法简单,存取方便;缺点是不利于索引的更新,当索引需要更新时,需要重新建立索引,索引的***和删除效率很低。与静态索引结构相比,动态索引结构是指在整个***运行期间,索引的结构随着***的增删会随时调整,以保持最佳的搜索效率;动态索引结构的优点是在***或者删除时能够自动调整索引的结构,以保持最佳的搜索效率;缺点是实现方法比较复杂。
发明内容
技术问题:本发明的目的是提供一种基于HBase的海量网管数据索引设计方法,以解决在网管数据量较大的情况下,基于非主键查询时间开销高的问题。
技术方案:本发明提出的基于HBase的海量网管数据索引的创建采用动态的方式,当管理员用户添加新的位置节点时,索引也随之创建;当在位置节点增加新的被管设备或者删除设备,以及用户删除位置节点时,对应的索引列也随之更新。索引动态创建流程如下:
1)树型存储结构设计:以位置ID作为主键,列族包括:treeNum(子节点个数)、father(父节点)和SubTree(子节点)。SubTree可以有任意多个,体现了HBase的稀疏存储特点。表结构可用表达式<location id> -->{<column family>:[<treeNum>,<father>,<subTree1>,<subTree2>, ...]}表示;
2) 索引表设计:以位置ID为Rowkey,以设备ID和位置为value,存储由位置ID到设备ID和位置的映射,表结构可用表达式<location id> -->{<column family>:[<location>,<devID1>,<devID2>,<devID3>,...]}表示;
3) 管理员用户在某位置节点a下,新增管理位置节点b;
4) 查询位置层次关系表,判断新增位置节点b,在父节点a下是否已经存在同名的节点,存在,则添加失败,方法结束;
5) 不存在,则查询索引表主键为RecentID的值,增加一行以RecentID为Rowkey,以用户输入的位置b为value,更新RecentID=RecentID+1,作为下一次新增位置节点的rowkey;同时在设备位置关系表a所对应的行,增加新的一列值为b,更新子节点数目treeNum=treeNum+1。
附图说明
图1是本发明的***框架图。
图2是本发明的索引创建流程图。
图3是本发明的用户增加管理设备,索引更新算法流程图。
图4是本发明的用户删除某一管理设备,索引更新算法流程图。
图5是本发明的用户删除某位置节点,索引更新算法流程图。
具体实施方式
下面结合附图与具体实施方式对本发明作进一步详细描述。
图1是本发明的在网管***中的应用示意图。本发明考虑的新一代融合网络,网络结构复杂,规模庞大,网络中所存在的设备具有多厂商、多技术特点,网管***所面对的数据量也越来越庞大。为了实现网管***的位置管理功能,我们在HBase中创建了三张数据表,其中每张表的作用如下:
位置关系表: 表示位置之间的层次关系,位置分为一级位置节点,二级位置节点等,每级位置节点下有所要管理的设备,便于管理员用户对设备进行按地理位置分级管理。表结构可以用表达式<location id> -->{column family:[treeNum,father,SubTree1,SubTree2,...]}表示。
设备信息表: 表示网管***所管理设备的信息,是网络管理***的基本表之一。表中包含了***所有被管设备的基本信息,表结构可用表达式<dev id> -->{column family:[devIP,devName,devType,devLocation,devState,devMac,systemService]}表示。
索引表: 表示由非主键的位置ID到主键设备ID的映射,主要用来存储位置ID到设备ID的映射关系,表结构可用表达式<location id> -->{column family:[location ,dev id1,dev id2,dev id3,...]}表示。
用户通过客户端登录***,***根据用户的区域权限,以区域权限为Rowkey查询位置关系表,得到用户所管理区域的所有位置ID;再以位置ID为Rowkey查询索引表,得到所管理的所有区域位置信息,进而确定管理员所管理的区域。在网络管理***中,是以设备作为管理的中心,所有设备的基本信息以及设备的运行信息,均以设备ID作为主键存储在HBase中。当管理员用户提交根据“位置”查询信息时,首先以位置ID为Rowkey查询索引表得到某一位置所对应的设备ID,再以设备ID查询对应的信息表,得到所查询位置下的所有信息。
图2是本发明的索引创建流程图。索引的创建是与用户加入新数据时,同步进行的。该索引的创建目的是为了方便用户根据“位置”来查询信息。基于HBase的海量网管数据索引创建方法分为如下步骤:
1. 用户在某父节点a下新增一个管理节点b;
2. 判断位置节点a下是否已经存在b;
3. 不存在,则执行步骤4;存在则执行步骤7;
4. 查询索引表,根据主键RecentID查询到所对应的value1;
5. 以查询到的value1作为rowkey,以新增位置节点b作为value,存入索引表;同时更新RecentID=RecentID+1,作为下一次新增位置节点的rowkey;
6. 查询位置关系表,以父节点a的位置ID为rowkey,加入新的一列,列值为b;同时更新记录父节点下子节点数目treeNum=treeNum+1;
7. 结束。
本文所提出的索引设计方法与传统的静态索引构建方法最大的不同,是该方法可以通过动态的更新索引表中的数据,在用户新增设备、删除设备和删除位置节点时,索引表中数据会随之更新,而不用重新构建索引。图3、图4、图5分别描述了索引在不同情况下的更新算法流程。
图3是本发明的用户增加管理设备时,索引更新方法流程图。索引表存储的是位置ID到设备ID的映射关系,当管理员新增设备时,索引表必须进行相应的更新。方法步骤如下:
1. 用户增加一台被管设备,输入设备MAC、IP、位置ID等基本信息。
2. 根据用户输入的设备MAC和IP,判断此新增设备是否已经存在。
3. 不存在,则继续执行;存在,则执行步骤5。
4. 查询索引表,找到位置ID对应的行,加入一列,值为新增设备的ID。
5. 结束。
图4是本发明的用户删除某一台管理设备时,索引更新方法流程图。当网管***所管理的某台设备,不再使用或者移除管理***,设备信息表就需要删除此台设备的信息,索引表中的数据也需要做相应的更新,方法步骤如下:
1. 用户删除一台被管设备,输入设备ID;
2. 根据设备ID,查询设备信息表,记录下设备的位置ID,删除此设备信息;
3. 根据位置ID,查询索引表,删除对应的值为设备ID的列;
4. 结束。
图5是是本发明的用户删除某位置节点时,索引更新算法流程图。当管理员所管理的位置区域,某位置节点下不存在管理设备和下一级子节点时,此节点相当于废置节点,管理员可以删除此节点。方法步骤如下:
1. 用户删除某一位置节点a;
2. 查询索引表判断位置节点a下,是否存在设备ID的列;存在则执行步骤7,不存在则执行步骤3;
3. 查询位置关系表,记录下节点a的父节点father;根据treeNum列的值,判断位置节点a下,是否存在子节点;treeNum=0表示不存在子节点,则执行步骤4,否则执行步骤7;
4. 根据节点a的父节点father位置ID,查询到所对应的一行,删除列值为节点a的一列,同时更新treeNum=treeNum-1;
5. 删除位置关系表位置节点a的一行;
6. 删除索引表位置节点a对应的一行;
7. 结束。
本文发明所提出的索引设计方法,索引的创建和更新维护都可以动态的进行,与传统的静态索引相比,此方法更适应于索引需要频繁更新的应用领域。该索引方案在网络管理***的位置管理功能中得到了应用,有效的解决了海量网管数据查询时间复杂度高的问题,提升了***的服务质量。
Claims (1)
1.一种基于HBase的海量网管数据索引设计方法,当管理员用户添加新的位置节点时,索引也随之创建;当在位置节点增加新的被管设备或者删除设备,以及用户删除位置节点时,对应的索引列也随之更新,其特征在于,索引的动态创建流程:
1)树型存储结构设计:以位置ID作为主键,列族包括:treeNum(子节点个数)、father(父节点)和SubTree(子节点);SubTree可以有任意多个,体现了HBase的稀疏存储特点;表结构可用表达式<location id> -->{<column family>:[<treeNum>,<father>,<subTree1>,<subTree2>, ...]}表示;
2) 索引表设计:以位置ID为Rowkey,以设备ID和位置为value,存储由位置ID到设备ID和位置的映射,表结构可用表达式<location id> -->{<column family>:[<location>,<devID1>,<devID2>,<devID3>,...]}表示;
3) 管理员用户在某位置节点a下,新增管理位置节点b;
4) 查询位置层次关系表,判断新增位置节点b,在父节点a下是否已经存在同名的节点,存在,则添加失败,方法结束;
5) 不存在,则查询索引表主键为RecentID的值,增加一行以RecentID为Rowkey,以用户输入的位置b为value,更新RecentID=RecentID+1,作为下一次新增位置节点的rowkey;同时在设备位置关系表a所对应的行,增加新的一列值为b,更新子节点数目treeNum=treeNum+1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410415958.7A CN104216962A (zh) | 2014-08-22 | 2014-08-22 | 一种基于HBase的海量网管数据索引设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410415958.7A CN104216962A (zh) | 2014-08-22 | 2014-08-22 | 一种基于HBase的海量网管数据索引设计方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104216962A true CN104216962A (zh) | 2014-12-17 |
Family
ID=52098452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410415958.7A Pending CN104216962A (zh) | 2014-08-22 | 2014-08-22 | 一种基于HBase的海量网管数据索引设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104216962A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573022A (zh) * | 2015-01-12 | 2015-04-29 | 浪潮软件股份有限公司 | 一种HBase的数据查询方法及装置 |
CN104731969A (zh) * | 2015-04-10 | 2015-06-24 | 北京大学深圳研究生院 | 分布式环境下海量数据连接聚集查询方法、装置和*** |
CN104809170A (zh) * | 2015-04-08 | 2015-07-29 | 南京邮电大学 | 一种云环境下面向树型数据的存储方法 |
CN105069078A (zh) * | 2015-07-31 | 2015-11-18 | 天脉聚源(北京)传媒科技有限公司 | 一种处理增量索引合并失败的方法及装置 |
CN106777387A (zh) * | 2017-02-16 | 2017-05-31 | 江苏海平面数据科技有限公司 | 一种基于HBase的物联网大数据存取方法 |
CN107273482A (zh) * | 2017-06-12 | 2017-10-20 | 北京市天元网络技术股份有限公司 | 基于HBase的告警数据存储方法及装置 |
CN107704585A (zh) * | 2017-10-09 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种查询hdfs数据方法及*** |
CN109492008A (zh) * | 2018-11-13 | 2019-03-19 | 上海理想信息产业(集团)有限公司 | 一种基于HBase的网络大数据模型设计方法及*** |
CN109710667A (zh) * | 2018-11-27 | 2019-05-03 | 中科曙光国际信息产业有限公司 | 一种基于大数据平台的多源数据融合共享实现方法及*** |
CN110830836A (zh) * | 2019-11-18 | 2020-02-21 | 电子科技大学 | 一种视频广告播出监测方法 |
CN111488341A (zh) * | 2020-03-27 | 2020-08-04 | 北京金山云网络技术有限公司 | 数据库索引的管理方法、装置及电子设备 |
CN112597191A (zh) * | 2020-12-29 | 2021-04-02 | 拉卡拉支付股份有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112795A1 (en) * | 2005-11-15 | 2007-05-17 | Microsoft Corporation | Scalable retrieval of data entries using an array index or a secondary key |
CN103390038A (zh) * | 2013-07-16 | 2013-11-13 | 西安交通大学 | 一种基于HBase的构建和检索增量索引的方法 |
-
2014
- 2014-08-22 CN CN201410415958.7A patent/CN104216962A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070112795A1 (en) * | 2005-11-15 | 2007-05-17 | Microsoft Corporation | Scalable retrieval of data entries using an array index or a secondary key |
CN103390038A (zh) * | 2013-07-16 | 2013-11-13 | 西安交通大学 | 一种基于HBase的构建和检索增量索引的方法 |
Non-Patent Citations (2)
Title |
---|
JIANLING SUN 等: "Scalable RDF Store Based on HBase and MapReduce", 《2010 3RD INTERNATIONAL CONFERENCE ON ADVANCED COMPUTER THEORY AND ENGINEERING》 * |
张榆 等: "一种基于Hbase的高效空间关键字查询策略", 《小型微型计算机***》 * |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104573022A (zh) * | 2015-01-12 | 2015-04-29 | 浪潮软件股份有限公司 | 一种HBase的数据查询方法及装置 |
CN104809170B (zh) * | 2015-04-08 | 2018-06-01 | 南京邮电大学 | 一种云环境下面向树型数据的存储方法 |
CN104809170A (zh) * | 2015-04-08 | 2015-07-29 | 南京邮电大学 | 一种云环境下面向树型数据的存储方法 |
CN104731969A (zh) * | 2015-04-10 | 2015-06-24 | 北京大学深圳研究生院 | 分布式环境下海量数据连接聚集查询方法、装置和*** |
CN105069078A (zh) * | 2015-07-31 | 2015-11-18 | 天脉聚源(北京)传媒科技有限公司 | 一种处理增量索引合并失败的方法及装置 |
CN106777387B (zh) * | 2017-02-16 | 2020-10-30 | 江苏海平面数据科技有限公司 | 一种基于HBase的物联网大数据存取方法 |
CN106777387A (zh) * | 2017-02-16 | 2017-05-31 | 江苏海平面数据科技有限公司 | 一种基于HBase的物联网大数据存取方法 |
CN107273482A (zh) * | 2017-06-12 | 2017-10-20 | 北京市天元网络技术股份有限公司 | 基于HBase的告警数据存储方法及装置 |
CN107704585A (zh) * | 2017-10-09 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种查询hdfs数据方法及*** |
CN109492008A (zh) * | 2018-11-13 | 2019-03-19 | 上海理想信息产业(集团)有限公司 | 一种基于HBase的网络大数据模型设计方法及*** |
CN109710667A (zh) * | 2018-11-27 | 2019-05-03 | 中科曙光国际信息产业有限公司 | 一种基于大数据平台的多源数据融合共享实现方法及*** |
CN110830836A (zh) * | 2019-11-18 | 2020-02-21 | 电子科技大学 | 一种视频广告播出监测方法 |
CN111488341A (zh) * | 2020-03-27 | 2020-08-04 | 北京金山云网络技术有限公司 | 数据库索引的管理方法、装置及电子设备 |
CN111488341B (zh) * | 2020-03-27 | 2023-08-22 | 北京金山云网络技术有限公司 | 数据库索引的管理方法、装置及电子设备 |
CN112597191A (zh) * | 2020-12-29 | 2021-04-02 | 拉卡拉支付股份有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
CN112597191B (zh) * | 2020-12-29 | 2024-06-11 | 拉卡拉支付股份有限公司 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216962A (zh) | 一种基于HBase的海量网管数据索引设计方法 | |
CN109299102B (zh) | 一种基于Elastcisearch的HBase二级索引***及方法 | |
CN108431804B (zh) | 将多个容器数据库分组为单个容器数据库集群的能力 | |
US10803078B2 (en) | Ability to group multiple container databases as a single container database cluster | |
US10635675B2 (en) | Supporting pluggable databases with heterogeneous database character sets in a container database | |
US20200117569A1 (en) | Graphical user interface for visual correlation of virtual machine information and storage volume information | |
US10783124B2 (en) | Data migration in a networked computer environment | |
CN102541990B (zh) | 利用虚拟分区的数据库重新分布方法和*** | |
CN102937980B (zh) | 一种集群数据库数据查询方法 | |
CN104484472B (zh) | 一种混合多种异构数据源的数据库集群及实现方法 | |
CN107291807B (zh) | 一种基于图遍历的sparql查询优化方法 | |
US20180349458A1 (en) | Consistent query execution for big data analytics in a hybrid database | |
CN108536778B (zh) | 一种数据应用共享平台及方法 | |
US11249899B2 (en) | Filesystem management for cloud object storage | |
CN105138661A (zh) | 一种基于Hadoop的网络安全日志k-means聚类分析***及方法 | |
US8209440B2 (en) | Device-configuration-information optimum arrangement method and device-configuration-information optimum arrangement system | |
WO2018036324A1 (zh) | 一种智慧城市信息共享的方法和装置 | |
CN107506464A (zh) | 一种基于ES实现HBase二级索引的方法 | |
CN109150964B (zh) | 一种可迁移的数据管理方法及服务迁移方法 | |
CN103365987A (zh) | 一种基于共享磁盘架构的集群数据库***及数据处理方法 | |
CN103177046B (zh) | 一种基于行存储数据库的数据处理方法和设备 | |
US9229969B2 (en) | Management of searches in a database system | |
JP6084700B2 (ja) | 検索システム及び検索方法 | |
KR101955376B1 (ko) | 비공유 아키텍처 기반의 분산 스트림 처리 엔진에서 관계형 질의를 처리하는 방법, 이를 수행하기 위한 기록 매체 및 장치 | |
Suganya et al. | Efficient fragmentation and allocation in distributed databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141217 |
|
RJ01 | Rejection of invention patent application after publication |