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 | |
US10691722B2 (en) | Consistent query execution for big data analytics in a hybrid database | |
CN102937980B (zh) | 一种集群数据库数据查询方法 | |
CN104484472B (zh) | 一种混合多种异构数据源的数据库集群及实现方法 | |
CN107291807B (zh) | 一种基于图遍历的sparql查询优化方法 | |
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 | |
CN107506464A (zh) | 一种基于ES实现HBase二级索引的方法 | |
WO2018036324A1 (zh) | 一种智慧城市信息共享的方法和装置 | |
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 | |
CN114697325B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20141217 |
|
RJ01 | Rejection of invention patent application after publication |