HBase二级索引构建装置和方法制造方法及图纸

技术编号:12338382 阅读:63 留言:0更新日期:2015-11-18 11:12
本发明专利技术提供了一种HBase二级索引构建装置,包括:数据复制单元,用于通过主从集群的架构,将写入主集群的数据,以异步方式复制到从集群;数据更新单元,用于获取从集群中复制得到的数据,对相应的索引数据进行更新处理;索引文件生成单元,用于基于更新处理后的索引数据,部署批处理服务,生成索引文件。本发明专利技术还提供了一种HBase二级索引构建方法。通过本发明专利技术的技术方案,可以在现有的索引构建方式基础上,充分利用单对象类型完成多对象类型的索引构建,建立多对象类型元数据参与的面向复杂类型索引构建的通用、统一构建思路。

【技术实现步骤摘要】
【专利说明】HBase 二级索引构建装置和方法
本专利技术涉及计算机
,具体地,涉及一种HBase 二级索引构建装置和一种HBase 二级索引构建方法。
技术介绍
HBase是一个列存数据库,每行数据只有一个主键-RowKey,无法依据指定列的数据进行检索。查询时需要通过RowKey进行检索,然后查看指定列的数据是什么,效率低下。在实际应用中,我们经常需要根据指定列进行检索,或者几个列进行组合检索,这就提出了建立HBase 二级索引的需求。目前的HBase二级索引构建方案主要有两种。第一种方案是将索引数据单独存储为一张表,通过HBase Coprocessor生成并访问索引数据。第二种方案是将索引数据与源数据存储在相同的Reg1n里,索引数据定义为一个单独的列族,也是利用Coprocessor来生成并访问索引数据。对于第一种方案,源数据表与索引表的数据一致性很难保证,访问两张不同的表也会增加10开销和远程调用的次数。对于第二种方案,单表的数据容量会急剧增加,对同一 Reg1n里的多个列族进行Split或Merge等操作时可能会造成数据丢失或不一致。因此,需要一种新的索引构建技术,可以在现有的索引构建方式基础上,充分利用单对象类型完成多对象类型的索引构建,建立多对象类型元数据参与的面向复杂类型索引构建的通用、统一构建思路。
技术实现思路
本专利技术正是基于上述问题,提出了一种新的索引构建技术,可以在现有的索引构建方式基础上,充分利用单对象类型完成多对象类型的索引构建,建立多对象类型元数据参与的面向复杂类型索引构建的通用、统一构建思路。有鉴于此,本专利技术提出了一种HBase 二级索引构建装置,包括:数据复制单元,用于通过主从集群的架构,将写入主集群的数据,以异步方式复制到从集群;数据更新单元,用于获取从集群中复制得到的数据,对相应的索引数据进行更新处理;索引文件生成单元,用于基于更新处理后的索引数据,部署批处理服务,生成索引文件。在该技术方案中,将索引文件与HBase数据文件分开存储,提高了系统的10性能,充分结合了批处理和实时处理两种流程,解决了数据一致性问题,减少了索引中的冗余数据。在上述技术方案中,优选地,所述数据复制单元,具体包括:主集群中数据写入模块,用于将待构建二级索引的数据,写入至主集群;主从集群间数据复制模块,用于将写入主集群的数据,通过主从集群间的响应机制,以异步方式复制到从集群。在该技术方案中,通过主从集群的架构设计避免了 HBase的高速读写与索引服务之间的资源竞争。 在上述技术方案中,优选地,所述数据更新单元,具体包括:索引数据更新模块,用于将从集群接收到的数据写入区域服务器和部署在从集群上的实时索引创建服务中,并更新索引数据至查询服务器;索引数据增量更新模块,用于将索引数据更新至查询服务器后,对索引数据进行增量更新,增量更新后的索引文件存储在分布式文件系统中。在该技术方案中,由于系统是部署在Hadoop集群上的,系统的处理能力和存储容量可以很方便的进行扩展,系统的安全性也得到了保障。在上述技术方案中,优选地,所述索引文件生成单元,具体包括:批处理服务部署模块,用于在从集群上部署在批处理服务中,运行批处理服务,对增量更新后的索引数据进行全量更新,读取全量更新得到的所有数据,生成索引文件并发布到查询服务器;索引数据缓存模块,用于将索引文件中的索引数据缓存在查询服务器中。在该技术方案中,批处理服务通常是定期运行的,索引数据的全量更新保证了索引数据的准确性,减少了索引文件中的垃圾数据,同时也会大幅提升检索速度。在上述技术方案中,优选地,所述索引文件生成单元,具体还包括:索引数据读取模块,用于通过辅助处理器上的插件,访问查询服务器,读取索引数据;进一步地,所述索引文件生成单元,用于基于更新处理后的索引数据,部署批处理服务,生成索引文件,并对索引文件中的索引数据进行处理。在该技术方案中,批处理与实时处理的有机结合,极大的提高了索引数据的准确度。根据本专利技术的又一个方面,还提出了一种HBase 二级索引构建方法,包括:步骤202:通过主从集群的架构,将写入主集群的数据,以异步方式复制到从集群;步骤204:获取从集群中复制得到的数据,对相应的索引数据进行更新处理;步骤206:基于更新处理后的索引数据,部署批处理服务,生成索引文件。在该技术方案中,将索引文件与HBase数据文件分开存储,提高了系统的1性能,充分结合了批处理和实时处理两种流程,解决了数据一致性问题,减少了索引中的冗余数据。在上述技术方案中,优选地,所述步骤202,具体包括:步骤302:将待构建二级索引的数据,写入至主集群;步骤304:将写入主集群的数据,通过主从集群间的响应机制,以异步方式复制到从集群。在该技术方案中,通过主从集群的架构设计避免了 HBase的高速读写与索引服务之间的资源竞争。在上述技术方案中,优选地,所述步骤204,具体包括:步骤402:将从集群接收到的数据写入区域服务器和部署在从集群上的实时索引创建服务中,并更新索引数据至查询服务器;步骤404:将索引数据更新至查询服务器后,对索引数据进行增量更新,增量更新后的索引文件存储在分布式文件系统中。在该技术方案中,由于系统是部署在Hadoop集群上的,系统的处理能力和存储容量可以很方便的进行扩展,系统的安全性也得到了保障。在上述技术方案中,优选地,所述步骤206,具体包括:步骤502:在从集群上部署在批处理服务中,运行批处理服务,对增量更新后的索引数据进行全量更新,读取全量更新得到的所有数据,生成索引文件并发布到查询服务器;步骤504:将索引文件中的索引数据缓存在查询服务器中。在该技术方案中,批处理服务通常是定期运行的,索引数据的全量更新保证了索引数据的准确性,减少了索引文件中的垃圾数据,同时也会大幅提升检索速度。在上述技术方案中,优选地,所述步骤206,具体还包括:步骤506:通过辅助处理器上的插件,访问查询服务器,读取索引数据;所述步骤206,进一步地用于基于更新处理后的索引数据,部署批处理服务,生成索引文件,并对索引文件中的索引数据进行处理。在该技术方案中,批处理与实时处理的有机结合,极大的提高了索引数据的准确度。通过以上技术方案,可以在现有的索引构建方式基础上,充分利用单对象类型完成多对象类型的索引构建,建立多对象类型元数据参与的面向复杂类型索引构建的通用、统一构建思路。【附图说明】图1示出了根据本专利技术的实施例的HBase 二级索引构建装置的框图; 图2示出了根据本专利技术的实施例的HBase 二级索引构建方法的流程图; 图3示出了根据本专利技术的实施例的数据复制单元的流程图; 图4示出了根据本专利技术的实施例的数据更新单元的流程图; 图5示出了根据本专利技术的实施例的索引文件生成单元的流程图; 图6示出了根据本专利技术的实施例的HBase 二级索引构建装置的总体架构图。【具体实施方式】为了能够更清楚地理解本专利技术的上述目的、特征和优点,下面结合附图和【具体实施方式】对本专利技术进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。在下面的描述中阐述了很多具体细节以便于充分理解本专利技术,但是,本专利技术还可以采用其他不同于在此描本文档来自技高网...

【技术保护点】
一种HBase二级索引构建装置,其特征在于,包括:数据复制单元,用于通过主从集群的架构,将写入主集群的数据,以异步方式复制到从集群;数据更新单元,用于获取从集群中复制得到的数据,对相应的索引数据进行更新处理;索引文件生成单元,用于基于更新处理后的索引数据,部署批处理服务,生成索引文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:费英林
申请(专利权)人:用友网络科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1