一种数据存储方法及装置制造方法

文档序号:6510462阅读:142来源:国知局
一种数据存储方法及装置制造方法【专利摘要】本发明提供了一种数据存储方法及装置,涉及数据库【
技术领域
】,能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。该方法包括:存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中。【专利说明】一种数据存储方法及装置【
技术领域
】[0001]本发明涉及数据库【
技术领域
】,尤其涉及一种数据存储方法及装置。【
背景技术
】[0002]Hadoop是一个分布式系统基础架构,主要由分布式文件系统(HDFS,HadoopDistributedFileSystem)、MapReduce和Hbase组成。其中,HBase是一个分布式的、面向列的开源数据库。它以表的形式存储数据,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。[0003]hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的结构化查询语言(sql,StructuredQueryLanguage)查询功能。其优点是学习成本低,可以通过类sql语句快速实现简单的统计,十分适合数据仓库的统计分析。[0004]在现有技术中,HBase中的Rowkey设计简单,在检索数据记录时,通过hive语句对HBase表中的数据进行查询。例如,hive中的时间过滤是通过属性字段,select*fromtv_reportwherets=,2013-07-23,。[0005]但是,通过hive语句查询HBase中的数据,需要对HBase表中的数据全部进行扫描,检索效率低,耗费时间长。【
发明内容】[0006]本发明的实施例提供一种数据存储方法及装置,能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。[0007]为达到上述目的,本发明的实施例采用如下技术方案:[0008]本发明实施例提供一种数据存储方法,包括:[0009]获取待存储的数据记录;[0010]确定所述数据记录中满足预设条件的属性字段;[0011]将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;[0012]将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。[0013]所述将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:[0014]根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;[0015]将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。[0016]所述确定所述数据记录中满足预设条件的属性字段之后,所述方法还包括:[0017]确定所述数据记录中不满足所述预设条件的属性字段;[0018]将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;[0019]将所述列存储至HBase数据库中。[0020]所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。[0021]所述将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:[0022]将所述Rowkey存储至HBase数据库中;[0023]根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。[0024]本发明实施例提供的一种存储装置,包括:[0025]获取单元,用于获取待存储的数据记录;[0026]处理单元,用于确定所述数据记录中满足预设条件的属性字段;将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;[0027]存储单元,用于将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。[0028]所处理单元将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:[0029]根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;[0030]将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。[0031]所述处理单元确定所述数据记录中满足预设条件的属性字段之后,还包括:[0032]确定所述数据记录中不满足所述预设条件的属性字段;[0033]将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;[0034]将所述列存储至HBase数据库中。[0035]所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。[0036]所述存储单元将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:[0037]将所述Rowkey存储至HBase数据库中;[0038]根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。[0039]本发明提供了一种数据存储方法及装置,存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。【专利附图】【附图说明】[0040]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0041]图1为本发明实施例的数据存储方法的流程示意图一;[0042]图2为本发明实施例的数据存储方法的流程示意图二;[0043]图3为本发明实施例的存储装置结构示意图。【具体实施方式】[0044]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0045]Hadoop是一个分布式系统基础架构,主要由分布式文件系统(HDFS,HadoopDistributedFileSystem)、MapReduce和Hbase组成。它是一个可以更容易开发和运行处理大规模数据的软件平台,用户可以在不了解分布式底层细节的情况下开发分布式程序。[0046]HBase是一个分布式的、面向列的开源数据库,它不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,是基于列的而不是基于行的模式。现有技术中,Bigtable是一个疏松的分布式的持久的多维排序的映射(map),这个map被行键(Rowkey),列键,和时间戳索引。HBase使用和Bigtable非常相同的数据模型,用户存储数据行在一个表里,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。一个数据行拥有一个可选择的键和任意数量的列,表是疏松的存储的,因此用户可以给行定义各种不同的列。HBase表中所有的记录按Rowkey排序,访问HBase表的记录有三种方式,分别为:通过单个Rowkey访问、通过Rowkey的范围、全表扫描。[0047]hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能。其优点是学习成本低,可以通过类sql语句快速实现简单的统计,十分适合数据仓库的统计分析。[0048]实施例一[0049]本发明实施例提供数据存储方法,如图1所示,该方法包括:[0050]SlOl、存储装置获取待存储的数据记录。[0051]具体的,存储装置在存储数据时,先要获得待存储的数据记录。[0052]其中,数据记录至少包括事件以及时间属性,事件包括开启、关闭、触发中的至少一个。[0053]S102、存储装置确定数据记录中满足预设条件的属性字段。[0054]其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。[0055]具体的,预设条件是在分析数据时由用户自行设置的。[0056]可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。[0057]具体的,在存储装置读取待存储的数据记录后,存储装置根据所述预设条件,从所述数据记录中查询确定出满足预设条件的属性字段。[0058]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段。[0059]S103、存储装置将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head0[0060]具体的,存储装置在记录数据记录并确定满足条件的属性字段后,将满足条件的属性字段添加至HBase数据库的行键Rowkey中。[0061]其中,HBase的行键Rowkey分为两部分,第一部分为固定长度的前缀Head,第二部分为Tail。[0062]满足条件的属性字段添加至HBase数据库的行键Rowkey中,能够有利于数据查询,提高效率。[0063]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中。[0064]S104、存储装置将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。[0065]其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。[0066]具体的,预设条件是在分析数据时由用户自行设置的。[0067]具体的,存储装置在确定Rowkey后,将已添加内容的Rowkey保存至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。[0068]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中,将已放置账号和起始时间的Rowkey保存至HBase数据库中,以使得在HBase中按照账号和起始时间分析数据时,通过查询Rowkey的前缀即可获得满足预设条件的属性字段。[0069]本发明提供了一种数据存储方法,存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。[0070]实施例二[0071]本发明实施例提供数据存储方法,如图2所示,该方法包括:[0072]S201、存储装置获取待存储的数据记录。[0073]具体的,存储装置在存储数据时,先要获得待存储的数据记录。[0074]其中,数据记录至少包括事件以及时间属性,事件包括开启、关闭、触发中的至少一个。[0075]S202、存储装置确定数据记录中满足预设条件的属性字段。[0076]其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。[0077]具体的,预设条件是在分析数据时由用户自行设置的。[0078]可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。[0079]具体的,在存储装置读取待存储的数据记录后,存储装置根据所述预设条件,从所述数据记录中查询确定出满足预设条件的属性字段。[0080]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将账号和起始时间确定为满足预设条件的属性字段。[0081]S203、存储装置确定数据记录中不满足预设条件的属性字段。[0082]其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。[0083]具体的,预设条件是在分析数据时由用户自行设置的。[0084]可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。[0085]具体的,在存储装置读取待存储的数据记录后,存储装置根据所述预设条件,从所述数据记录中查询确定出满足预设条件的属性字段,相应的,需要确定出不满足预设条件的属性字段。[0086]进一步地,存储装置在分析数据记录后,将该数据记录存储于HBase中。HBase是以表的形式存储数据,表是由行和列组成,存储装置按照表格分布存储数据,在确定满足预设条件的属性字段后,也需要确定不满足预设条件的属性字段。[0087]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将账号和起始时间确定为满足预设条件的属性字段,将用户访问日志除账号和起始时间外的所有属性字段确定为不满足预设条件的属性字段。[0088]S204、存储装置将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head0[0089]HBase是一个分布式的、面向列的开源数据库。它以表的形式存储数据,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。[0090]具体的,存储装置在记录数据记录并确定满足条件的属性字段后,将满足条件的属性字段添加至HBase数据库的行键Rowkey中。[0091]其中,HBase的行键Rowkey分为两部分,第一部分为固定长度的前缀Head,第二部分为后缀Tail。[0092]可选的,行键Rowkey的前缀Head的长度是根据用户需求自行设置的,内容包括时间,事件和MD5计算的摘要值。[0093]其中,存储装置根据信息摘要算法MD5计算出满足预设条件的属性字段的摘要值,其中,摘要值为十六进制的字符串。[0094]可选的,长度为26字节的Head可以包括以下信息:[0095][MD5hashofmac]16bytes[0096][0x00]lbyte保留字节[0097][Eventtype]lbyte,OxOO-OxFF,最多支持256种事件[0098][事件时间YYYYmmdd]8bytes,使用String.getBytes()生成[0099]其中,MD5hashofmac为根据MD5散列的物理地址;Eventtype为事件类型;事件为开启、关闭、触发中的至少一个;事件时间为事件发生的时间,可以使用String.getBytesO函数生成。[0100]具体的,Rowkey还包括后缀,后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。[0101]具体的,存储装置将满足条件的属性字段添加至HBase数据库的行键Rowkey中,该满足预设条件的属性字段记录在HBase的一个列中。[0102]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中。在HBase中,数据记录中的账号和起始时间记录在HBase的一个列中。[0103]S205、存储装置将不满足预设条件的属性字段作为HBase数据库的列。[0104]HBase是一个分布式的、面向列的开源数据库。它以表的形式存储数据,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。[0105]具体的,存储装置在记录数据记录并确定不满足预设条件的属性字段后,将不满足预设条件的属性字段添加至HBase数据库的列,该不满足预设条件的属性字段所在列形成一个列簇。[0106]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。按照起始时间和账号对用户访问日志的数据进行分析,则将除账号和起始时间以外的所有属性字段确定为不满足预设条件的属性字段,并将该将不满足所述预设条件的属性字段作为HBase数据库的列,该其他属性字段所在列形成一个列簇。[0107]S206、存储装置将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。[0108]具体的,存储装置在确定Rowkey后,将已添加内容的Rowkey保存至HBase数据库中,在HBase中查询满足预设条件的属性字段时,根据Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段,即可获得所需数据。[0109]其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。[0110]具体的,预设条件是在分析数据时由用户自行设置的。[0111]可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。[0112]例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中,将已放置账号和起始时间的Rowkey保存至HBase数据库中。在HBase中按照账号和起始时间分析数据时,根据Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足账号和起始时间的Rowkey,即可获得所需数据。[0113]本发明提供了一种数据存储方法,存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。[0114]实施例三[0115]本发明提供了一种存储装置,如图3所示,包括:[0116]获取单元10,用于获取待存储的数据记录;[0117]处理单元11,用于确定所述数据记录中满足预设条件的属性字段;将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;[0118]存储单元12,用于将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。[0119]进一步地,所处理单元11将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:[0120]根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;[0121]将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。[0122]进一步地,所述处理单元11确定所述数据记录中满足预设条件的属性字段之后,还用于:[0123]确定所述数据记录中不满足所述预设条件的属性字段;[0124]将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;[0125]将所述列存储至HBase数据库中。[0126]进一步地,所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。[0127]进一步地,所述存储单元12将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:[0128]将所述Rowkey存储至HBase数据库中;[0129]根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。[0130]本发明提供了一种存储装置,主要包括获取单元、处理单元和存储单元。存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。[0131]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0132]在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。[0133]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【
技术领域
】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。【权利要求】1.一种数据存储方法,其特征在于,应用于HBase数据库的数据存储过程中,该方法包括:获取待存储的数据记录;确定所述数据记录中满足预设条件的属性字段;将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。2.根据权利要求1所述的数据存储方法,其特征在于,所述将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。3.根据权利要求1所述的数据存储方法,其特征在于,所述确定所述数据记录中满足预设条件的属性字段之后,所述方法还包括:确定所述数据记录中不满足所述预设条件的属性字段;将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;将所述列存储至HBase数据库中。4.根据权利要求1所述的数据存储方法,其特征在于,所述Rowkey还包括后缀(Tail),所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。5.根据权利要求1所述的数据存储方法,其特征在于,所述将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:将所述Rowkey存储至HBase数据库中;根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。6.一种存储装置,其特征在于,包括:获取单元,用于获取待存储的数据记录;处理单元,用于确定所述数据记录中满足预设条件的属性字段;将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;存储单元,用于将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。7.根据权利要求6所述的存储装置,其特征在于,所处理单元将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。8.根据权利要求6所述的存储装置,其特征在于,所述处理单元确定所述数据记录中满足预设条件的属性字段之后,还包括:确定所述数据记录中不满足所述预设条件的属性字段;将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;将所述列存储至HBase数据库中。9.根据权利要求6所述的存储装置,其特征在于,所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。10.根据权利要求6所述的存储装置,其特征在于,所述存储单元将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:将所述Rowkey存储至HBase数据库中;根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。`【文档编号】G06F17/30GK103488704SQ201310403001【公开日】2014年1月1日申请日期:2013年9月6日优先权日:2013年9月6日【发明者】张秀伟申请人:乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1