[发明专利]一种基于HBase的海量网管数据索引设计方法在审
| 申请号: | 201410415958.7 | 申请日: | 2014-08-22 |
| 公开(公告)号: | CN104216962A | 公开(公告)日: | 2014-12-17 |
| 发明(设计)人: | 杨建东;张登银;任春韶 | 申请(专利权)人: | 南京邮电大学 |
| 主分类号: | G06F17/30 | 分类号: | G06F17/30 |
| 代理公司: | 江苏爱信律师事务所 32241 | 代理人: | 唐小红 |
| 地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 hbase 海量 网管 数据 索引 设计 方法 | ||
技术领域
本发明属于涉及一种基于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。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410415958.7/2.html,转载请声明来源钻瓜专利网。





