一种针对海量非结构化数据的资源管理方法技术

技术编号:14983996 阅读:127 留言:0更新日期:2017-04-03 15:07
本发明专利技术提供一种针对海量非结构化数据的资源管理方法,包括:步骤a:根据非结构化数据文件的大小确定其存储方式,将文件存储在HDFS上或HBase数据库中;步骤b:将数据的元数据信息都存储在HBase中,并根据元数据的主题、标签等信息建立元数据的索引表,加快查询速度;步骤c:查询元数据时,可以根据要查找的元数据的主题或标签对元数据索引表进行查找,快速定位数据表;以及步骤d:查询非结构化数据记录时,需要根据数据索引表的命名规则找到数据表对应的数据索引表,之后在数据索引表中查找数据的语义标签,找到所要查找的数据记录主键,然后根据主键在数据表中快速定位数据。本发明专利技术方法能够对海量非结构化数据进行有效组织和管理,能够进行快速、高效地查询。

【技术实现步骤摘要】

本专利技术涉及分布式数据库HBase以及分布式文件系统HDFS领域,特别涉及一种针对海量非结构化数据的资源管理方法
技术介绍
HDFS的全称为HadoopDistributedFilesystem,是Hadoop的旗舰级文件系统。其思想来源于Google文件系统(GoogleFileSystem,GFS),并适合一次写入、多次读取的访问模式,满足城市多源数据应用场景。它是一个适合存储大文件的分布式文件系统,可以作为Hadoop和Spark的数据源。HBase是基于谷歌Bigtable开发的开源分布式数据库,它不是传统的关系型数据库,其最初的宗旨就是解决传统关系型数据库在处理大规模海量数据时理论以及实践上的不足问题。由于HBase的底层数据是存储在HDFS上,故HBase同样具有高容错性。HBase的主要特点有:1)高可扩展性。在存储容量上,HBase实现了线性水平扩展。当数据量达到一定阀值时,HBase将对数据进行水平分割,并将分割块分配到集群的上千个服务器中。当数据的规模到达集群的极限时,HBase还支持扩大集群数量,实现不停机动态无缝扩容。2)高性能。HBase的设计初衷就是要满足用户高并发的海量数据查询。它有两点机制来保障高效的并发查询。一是数据分割。HBase将数据分割到集群的每个节点,当用户查询数据时,每个节点可同时返回相应的数据块,实现并发查询。二是缓存机制。HBase设计了高效的缓存机制,特别设置了MemStore单元作为数据读写时的Cache,能够显著地提高数据访问的命中率。3)高可用性。HBase的底层是利用HDFS来存储数据的,HDFS本身即具有高容错性。当某台机器数据丢失时,HBase可通过HDFS找到这些数据的备份,并重新复制拷贝,更新系统记录表。这样保证了HBase系统的高可用性。而随着目前城市数据量日益庞大,非结构化数据种类越来越多,如何在分布式系统上对海量非结构化数据进行存储和管理正成为研究的方向。
技术实现思路
本专利技术针对城市非结构化数据日益庞大,处理日益费时的技术问题,提出一种针对海量非结构化数据的资源管理方法,该方法能够对海量非结构化数据进行有效的组织和管理。一种针对海量非结构化数据的资源管理方法,包括以下步骤:步骤a:根据非结构化数据文件的大小确定其存储方式,当所述非结构化数据文件大小超过给定阈值时,将其存入HDFS文件系统,并在HBase上创建的数据表中存储其基本信息及在HDFS上的路径;当所述非结构化数据文件大小小于等于给定阈值时,将所述文件序列化并直接存储在HBase数据库中;步骤b:根据所述非结构化数据构建元数据表和数据索引表,并利用所述元数据表构建元数据索引表;步骤c:当查询元数据时,根据要查找的元数据的主题或标签对所述元数据索引表进行查找,以获得对应的数据表;以及步骤d:当查询非结构化数据记录时,根据所述数据索引表的命名规则找到数据表对应的数据索引表,之后在所述数据索引表中查找所述非结构化数据记录的语义标签,获得所要查找的数据记录的主键,然后根据所述主键在所述数据表中快速定位数据。根据本专利技术的针对海量非结构化数据的资源管理方法,对于海量非结构化数据,可以进行有效组织和管理,能够进行快速、高效地查询,大大提高了数据处理效率。附图说明图1是根据本专利技术方法的数据处理流程图。图2是非结构化数据统一存储示例图。图3是数据库中数据表的层次结构图。图4为数据资源查询示意图。具体实施方式以下结合附图对本专利技术进行详细说明。以下实施例并不是对本专利技术的限制。在不背离专利技术构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本专利技术中。图1是根据本专利技术方法的数据处理流程图,包含数据的存储过程,元数据表、数据索引表及元数据索引创建过程,数据请求处理过程三部分。下面先对数据的存储过程进行详细说明。存储过程包括将在HBase上创建数据表以及将原始数据按要求存储在HBase和HDFS上。如图1所示,具体如下:步骤a1:首先根据要上传的数据,在HBase上创建对应数据表。创建的数据表的内容主要是非结构化数据的一些基本信息,如表名、文件大小、访问方式、内容、语义标签等。步骤a2:接着用户选择所要上传的文件,调用上传接口进行文件传输。步骤a3:判断数据文件的大小。步骤a4:若文件大小超过1MB,就将其存入HDFS,并在HBase的数据表中存储其基本信息及在HDFS上的路径,否则进入步骤a5。步骤a5:将文件序列化并直接存储在HBase数据库中。HBase是一个具有高可靠性,高性能,列存储,可扩展,实时读写特性的分布式数据库系统,能够满足城市非结构化数据对存储的一般需求。但是,由于HBase自身的设计,它在直接存储大数据对象的时候性能会有问题。例如,当HBase的region增长到一定大小的时候(默认256MB)会自动进行拆分操作(split),这时会阻塞所有对当前分区的写操作。此外,对同一个分区的大量写入会导致多次的刷写操作(flush),从而频繁触发合并操作(Compaction),占用集群的I/O。对于上述问题,一个解决方案是将非结构化数据对象存放在HDFS上,然后将文件路径写入HBase的特定列族,当要访问该非结构化数据对象时,就通过读取HDFS上的对应文件。虽然这种方案能够解决HBase存储大数据对象所引起的性能问题,但是如果不对所需存储的非结构化数据对象大小进行判断,一律采用这种方法,会导致HDFS上的小文件过多。而过多的小文件会影响到HDFS的性能。因此合理的做法是根据非结构化数据对象容量的大小来选择它的存储方式。正是基于上述的考虑,本专利技术以1MB为这两种方式的分割线。当非结构化数据对象小于等于1MB的时候,会将其序列化为Byte数组后存入HBase的特定列族。反之,则会以文件的形式将其存放在HDFS上,然后将文件的路径存放在HBase的特定列族。同时HBase会专门设置一列用来标识数据的存储方式。图2是非结构化数据统一存储示例图。例如有两个非结构化数据对象需要存储,其中a是txt格式的文件,b是png格式的图片。a的大小较小,为3KB,可以直接将文件内容转化为字节数组存放在HBase的一个列当中。而b的大小较大,为5MB,则可以将其存放在HDFS上,将路径写入HBase当中。同时通过一个标识列来判断数据对象的存储方式。如图2所示,HBase通过一个列族(ColumnFamily)来存放非结构化数据对象,这本文档来自技高网
...

【技术保护点】
一种针对海量非结构化数据的资源管理方法,其特征在于,包括以下步骤:步骤a:根据非结构化数据文件的大小确定其存储方式,当所述非结构化数据文件大小超过给定阈值时,将其存入HDFS文件系统,并在HBase上创建的数据表中存储其基本信息及在HDFS上的路径;当所述非结构化数据文件大小小于等于给定阈值时,将所述文件序列化并直接存储在HBase数据库中;步骤b:根据所述非结构化数据构建元数据表和数据索引表,并利用所述元数据表构建元数据索引表;步骤c:当查询元数据时,根据要查找的元数据的主题或标签对所述元数据索引表进行查找,以获得对应的数据表;以及步骤d:当查询非结构化数据记录时,根据所述数据索引表的命名规则找到数据表对应的数据索引表,之后在所述数据索引表中查找所述非结构化数据记录的语义标签,获得所要查找的数据记录的主键,然后根据所述主键在所述数据表中快速定位数据。

【技术特征摘要】
1.一种针对海量非结构化数据的资源管理方法,其特征在于,包括以下步骤:
步骤a:根据非结构化数据文件的大小确定其存储方式,当所述非结构化数据文
件大小超过给定阈值时,将其存入HDFS文件系统,并在HBase上创建的数据表中存储
其基本信息及在HDFS上的路径;当所述非结构化数据文件大小小于等于给定阈值时,
将所述文件序列化并直接存储在HBase数据库中;
步骤b:根据所述非结构化数据构建元数据表和数据索引表,并利用所述元数据
表构建元数据索引表;
步骤c:当查询元数据时,根据要查找的元数据的主题或标签对所述元数据索引
表进行查找,以获得对应的数据表;以及
步骤d:当查询非结构化数据记录时,根据所述数据索引表的命名规则找到数据
表对应的数据索引表,之后在所述数据索引表中查找所述非结构化数据记录的语义标
签,获得所要查找的数据记录的主键,然后根据所述主键在所述数据表中快速定位数
据。
2.根据权利要求1所述的方法,其特征在于,步骤a中,所述给定阈值为1MB,
进一步包括以下步骤:
步骤a1:首先在HBase上创建所要上传数据的数据表;
步骤a2:选择所要上传的数据文件;
步骤a3:判断所述数据文件大小;
步骤a4:若文件大小超过1MB,就将其存入HDFS,并在HBase表中存储其基本信
息及在HDFS上的路径,否则进入步骤a5;以及
步骤a5:将文件序列化并直接存储在HBase数据库中。
3.根据权利要求2所述的方法,其特征在于,步骤b进一步包括:
步骤b1:对所有非结构化数据都在HBase数据库上创建元数据表和数据索引表,
所述元数据表中包括所述非结构化数据的元数据信息;
步骤b2:根据所述元数据表中元数据信息创建元数据索引表。
4.根据权利要求3所述的方法,其特征在于,所述元数据信息是用于描述非结构
化数据属性的信息,用来支持包括指示存储位置、资源查找、文件记录的功能,所述
元数据信息包括下述字段:表名、主题、标签以及文件格式;在所述元数据信息表中
以表名作为行键,用于通过表名进行查找。
5.根据权利要求4所述的方法,其特征在于,所述主题字段是对城市...

【专利技术属性】
技术研发人员:张善海熊贵喜蔡朝辉杜博文凌萍谢志普
申请(专利权)人:博康智能网络科技股份有限公司
类型:发明
国别省市:上海;31

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

1