一种海量动态数据管理方法

文档序号:9667455阅读:668来源:国知局
一种海量动态数据管理方法
【技术领域】
[0001]本发明属于数据处理技术领域,涉及一种海量动态数据管理方法。
【背景技术】
[0002]在传统的数据管理方法中,设计者通常会预先定义好每个实体有多少个属性,每个属性的数据类型、长度,是否允许为空,约束条件等,这些定义是完全静态的,数据表创建时就全部定义好,不能动态修改。但是对于实体的属性变化很快,如动态感知的环境数据,或者实体和属性需要由非程序设计人员在系统中个性化定制的情况时,原有的传统数据库模式设计不能满足需求。
[0003]现在通常用来存储海量数据的Hbase,具有结构松散,可动态扩展等特点,但是Hbase不能快速查询数据库结构,不能分组查询等功能限制,使其不能快速设计和修改数据库及表结构,而且不能适应复杂数据查询的情况。
[0004]中国发明专利201410841294.0等公开了一种线性可动态扩展的数据管理方法及系统,主要包括时间信息的唯一 ID,数据库以时间段划分,数据存储在不同的划分中。上述发明专利设计的存储方式并不能适应属性变化快的海量动态数据。
[0005]中国发明专利201210407470.0和201310511740.7等公开了一种海量数据管理方法及系统,主要内容:当满足碎片整理条件时,判断待整理的存储空间或数据库中的数据是否满足预设的垃圾数据规则。上述发明专利主要涉及海量数据产生的碎片或垃圾数据处理,并没有具体涉及海量数据管理。

【发明内容】

[0006]有鉴于此,本发明的目的在于提供一种海量动态数据管理方法,该方法可以适应海量动态数据属性变化很快或者属性需要由非程序设计人员在系统中个性化定制的需求,同时可以满足快速设计和修改数据库及表结构、分组查询等复杂查询需求。
[0007]为达到上述目的,本发明提供如下技术方案:
[0008]—种海量动态数据管理方法,包括以下步骤:
[0009]1)、使用关系型数据库建立管理相关的表,包括用户表、Hbase表名表、Hbase列名表、分组表、用户操作表;
[0010]2)、用户建立一个动态感知表时,表的名称及表的列信息作为输入数据,分别插入到关系型数据库的Hbase表名表和Hbase列名表中;
[0011]3)、根据表名、列名在Hbase中创建对应的表和列;
[0012]4)、插入数据时,根据关系型数据库中的Hbase表名表和Hbase列名表提取出列信息,提供与之对应的数据,向Hbase中批量插入动态数据;
[0013]5)、浏览数据时,根据关系型数据库中的Hbase表名表和Hbase列名表提取出列信息,从Hbase浏览指定表的数据信息;
[0014]6)、条件查询数据时,根据关系型数据库中的Hbase表名表和Hbase列名表提取出列信息,从Hbase中查询特定条件的数据信息;
[0015]7)、分组查询任务时,根据定制需要,使用定时任务,将分组结果存储在关系型数据库的分组表中;
[0016]8 )、需要动态扩展表时,首先向Hb a s e列名表中插入新的列信息,之后在对应Hbase表添加列,之后插入的数据信息应符合扩展后的结构。
[0017]进一步,在步骤1)中,所述Hbase表名表,具有表唯一编号列,表显示名称列,对应Hbase表名列,使用状态列,所属用户列,该表管理所有出现在Hbase数据库中实际存储数据的表。
[0018]进一步,在步骤1)中,所述Hbase列名表,具有列唯一编号列,列显示名称列,所属表编号列,对应Hbase列名称列,值类型列,值计量单位列,其中所属表编号列作为外键与Hbase表名表中表编号列关联,如果存储具有计量单位的数据时需要在计量单位列存储;该表管理Hbase数据库中除RowKey列外所有出现在Hbase数据库中的列。
[0019]进一步,在步骤1)中,所述分组表具有列唯一编号列,所要分组的属性列,所属表编号列,其中所属表编号列作为外键与Hbase表名表中表编号列关联,该表管理待查询分组任务结果,分组查询时可以直接从此表中查询分组结果。
[0020]进一步,在步骤2)中,所述表的列信息包括列列显示名称,所属表编号,对应Hbase列名称,值类型,值单位,所属表编号为通过向Hbase表名表插入表的名称时生成的唯一编号。
[0021]进一步,在步骤3)中,所述在Hbase中创建表和列,RowKey应该以时间和某一项或几项重要信息的组合构成。
[0022]进一步,在步骤4)中,所述对应的数据,应包含所有关系型数据库中的Hbase表名表和Hbase列名表对应的列信息,其中构成Hbase中RowKey列不能为空,其他属性如果为空,则不赋值。
[0023]进一步,在步骤5)中,所述从Hbase中浏览指定表的数据信息,由于Hbase数据都是以字典序排序,浏览数据信息时应倒叙浏览,保证浏览时顺序为从新到旧。
[0024]进一步,在步骤6)中,所述从Hbase中查询指定表的数据信息,由于Hbase数据都是以字典序排序,查看查询结果信息时应倒叙查看,保证查看时顺序为从新到旧。
[0025]进一步,在步骤6)中,所述查询特定条件的数据信息,由于RowKey列以时间和某一项或几项重要信息的组合构成并且查询条件为包含这几项时,应该使用定制的条件筛选器保证适应这种特殊的条件查询方式。
[0026]本发明的有益效果在于:
[0027]1、关系型数据库管理Hbase,通过查询关系型数据库从而快速查看当前数据库的结构信息。
[0028]2、通过Hbase存储数据,从而利用Hbase的特点,实现适应海量动态数据属性变化很快或者实体和属性需要由非程序设计人员在系统中个性化定制的需求。
[0029]3、通过Hbase存储数据,从而利用Hbase的特点,实现数据快速批量插入,适用于高并发写的情形,尤其适用于大量复杂传感器数据的存储。
[0030]4、通过关系型数据库中的分组表,从而满足单独查询特定列、分组查询等复杂查询需求。
[0031]5、通过Hbase中RowKey列以时间和某一项或几项重要信息的组合构成,利用Hbase的存储特性,从而将更容易一起查询的数据存到一起,提高查询效率。
【附图说明】
[0032]为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
[0033]图1为本发明关系型数据库表结构示意图;
[0034]图2为本发明关系型数据库表管理Hbase结构示意图;
[0035]图3为Hbase数据表结构。
【具体实施方式】
[0036]下面将结合附图,对本发明的优选实施例进行详细的描述。
[0037]本发明所述的一种海量动态数据管理方法,包括以下步骤:使用关系型数据库建立用户表、Hbase表名表、Hbase列名表、分组表、用户操作表;用户建立一个动态感知表时,表的名称表的列及表列信息作为输入数据,分别插入到Hbase表名表
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1