CN103488704B - 一种数据存储方法及装置 - Google Patents

一种数据存储方法及装置 Download PDF

Info

Publication number
CN103488704B
CN103488704B CN201310403001.6A CN201310403001A CN103488704B CN 103488704 B CN103488704 B CN 103488704B CN 201310403001 A CN201310403001 A CN 201310403001A CN 103488704 B CN103488704 B CN 103488704B
Authority
CN
China
Prior art keywords
attribute field
hbase
rowkey
conditioned
data base
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310403001.6A
Other languages
English (en)
Other versions
CN103488704A (zh
Inventor
张秀伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xinle Visual Intelligent Electronic Technology Tianjin Co ltd
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Original Assignee
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Leshi Zhixin Electronic Technology Tianjin Co Ltd filed Critical Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority to CN201310403001.6A priority Critical patent/CN103488704B/zh
Publication of CN103488704A publication Critical patent/CN103488704A/zh
Application granted granted Critical
Publication of CN103488704B publication Critical patent/CN103488704B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/221Column-oriented storage; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2453Query optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据存储方法及装置,涉及数据库技术领域,能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。该方法包括:存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中。

Description

一种数据存储方法及装置
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据存储方法及装置。
背景技术
Hadoop是一个分布式系统基础架构,主要由分布式文件系统(HDFS,Hadoop Distributed File System)、MapReduce和Hbase组成。其中,HBase是一个分布式的、面向列的开源数据库。它以表的形式存储数据,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的结构化查询语言(sql,Structured Query Language)查询功能。其优点是学习成本低,可以通过类sql语句快速实现简单的统计,十分适合数据仓库的统计分析。
在现有技术中,HBase中的Rowkey设计简单,在检索数据记录时,通过hive语句对HBase表中的数据进行查询。例如,hive中的时间过滤是通过属性字段,select*from tv_report wherets=’2013-07-23’。
但是,通过hive语句查询HBase中的数据,需要对HBase表中的数据全部进行扫描,检索效率低,耗费时间长。
发明内容
本发明的实施例提供一种数据存储方法及装置,能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明实施例提供一种数据存储方法,包括:
获取待存储的数据记录;
确定所述数据记录中满足预设条件的属性字段;
将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;
将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。
所述将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:
根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;
将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。
所述确定所述数据记录中满足预设条件的属性字段之后,所述方法还包括:
确定所述数据记录中不满足所述预设条件的属性字段;
将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;
将所述列存储至HBase数据库中。
所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。
所述将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:
将所述Rowkey存储至HBase数据库中;
根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。
本发明实施例提供的一种存储装置,包括:
获取单元,用于获取待存储的数据记录;
处理单元,用于确定所述数据记录中满足预设条件的属性字段;将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;
存储单元,用于将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。
所处理单元将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:
根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;
将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。
所述处理单元确定所述数据记录中满足预设条件的属性字段之后,还包括:
确定所述数据记录中不满足所述预设条件的属性字段;
将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;
将所述列存储至HBase数据库中。
所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。
所述存储单元将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:
将所述Rowkey存储至HBase数据库中;
根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。
本发明提供了一种数据存储方法及装置,存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的数据存储方法的流程示意图一;
图2为本发明实施例的数据存储方法的流程示意图二;
图3为本发明实施例的存储装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Hadoop是一个分布式系统基础架构,主要由分布式文件系统(HDFS,Hadoop Distributed File System)、MapReduce和Hbase组成。它是一个可以更容易开发和运行处理大规模数据的软件平台,用户可以在不了解分布式底层细节的情况下开发分布式程序。
HBase是一个分布式的、面向列的开源数据库,它不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,是基于列的而不是基于行的模式。现有技术中,Bigtable是一个疏松的分布式的持久的多维排序的映射(map),这个map被行键(Rowkey),列键,和时间戳索引。HBase使用和Bigtable非常相同的数据模型,用户存储数据行在一个表里,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。一个数据行拥有一个可选择的键和任意数量的列,表是疏松的存储的,因此用户可以给行定义各种不同的列。HBase表中所有的记录按Rowkey排序,访问HBase表的记录有三种方式,分别为:通过单个Rowkey访问、通过Rowkey的范围、全表扫描。
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能。其优点是学习成本低,可以通过类sql语句快速实现简单的统计,十分适合数据仓库的统计分析。
实施例一
本发明实施例提供数据存储方法,如图1所示,该方法包括:
S101、存储装置获取待存储的数据记录。
具体的,存储装置在存储数据时,先要获得待存储的数据记录。
其中,数据记录至少包括事件以及时间属性,事件包括开启、关闭、触发中的至少一个。
S102、存储装置确定数据记录中满足预设条件的属性字段。
其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。
具体的,预设条件是在分析数据时由用户自行设置的。
可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。
具体的,在存储装置读取待存储的数据记录后,存储装置根据所述预设条件,从所述数据记录中查询确定出满足预设条件的属性字段。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段。
S103、存储装置将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head。
具体的,存储装置在记录数据记录并确定满足条件的属性字段后,将满足条件的属性字段添加至HBase数据库的行键Rowkey中。
其中,HBase的行键Rowkey分为两部分,第一部分为固定长度的前缀Head,第二部分为Tail。
满足条件的属性字段添加至HBase数据库的行键Rowkey中,能够有利于数据查询,提高效率。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中。
S104、存储装置将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。
其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。
具体的,预设条件是在分析数据时由用户自行设置的。
具体的,存储装置在确定Rowkey后,将已添加内容的Rowkey保存至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中,将已放置账号和起始时间的Rowkey保存至HBase数据库中,以使得在HBase中按照账号和起始时间分析数据时,通过查询Rowkey的前缀即可获得满足预设条件的属性字段。
本发明提供了一种数据存储方法,存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。
实施例二
本发明实施例提供数据存储方法,如图2所示,该方法包括:
S201、存储装置获取待存储的数据记录。
具体的,存储装置在存储数据时,先要获得待存储的数据记录。
其中,数据记录至少包括事件以及时间属性,事件包括开启、关闭、触发中的至少一个。
S202、存储装置确定数据记录中满足预设条件的属性字段。
其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。
具体的,预设条件是在分析数据时由用户自行设置的。
可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。
具体的,在存储装置读取待存储的数据记录后,存储装置根据所述预设条件,从所述数据记录中查询确定出满足预设条件的属性字段。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将账号和起始时间确定为满足预设条件的属性字段。
S203、存储装置确定数据记录中不满足预设条件的属性字段。
其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。
具体的,预设条件是在分析数据时由用户自行设置的。
可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。
具体的,在存储装置读取待存储的数据记录后,存储装置根据所述预设条件,从所述数据记录中查询确定出满足预设条件的属性字段,相应的,需要确定出不满足预设条件的属性字段。
进一步地,存储装置在分析数据记录后,将该数据记录存储于HBase中。HBase是以表的形式存储数据,表是由行和列组成,存储装置按照表格分布存储数据,在确定满足预设条件的属性字段后,也需要确定不满足预设条件的属性字段。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将账号和起始时间确定为满足预设条件的属性字段,将用户访问日志除账号和起始时间外的所有属性字段确定为不满足预设条件的属性字段。
S204、存储装置将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head。
HBase是一个分布式的、面向列的开源数据库。它以表的形式存储数据,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。
具体的,存储装置在记录数据记录并确定满足条件的属性字段后,将满足条件的属性字段添加至HBase数据库的行键Rowkey中。
其中,HBase的行键Rowkey分为两部分,第一部分为固定长度的前缀Head,第二部分为后缀Tail。
可选的,行键Rowkey的前缀Head的长度是根据用户需求自行设置的,内容包括时间,事件和MD5计算的摘要值。
其中,存储装置根据信息摘要算法MD5计算出满足预设条件的属性字段的摘要值,其中,摘要值为十六进制的字符串。
可选的,长度为26字节的Head可以包括以下信息:
[MD5hash of mac]16bytes
[0x00]1byte保留字节
[Event type]1byte,0x00-0xFF,最多支持256种事件
[事件时间YYYYmmdd]8bytes,使用String.getBytes()生成
其中,MD5hash of mac为根据MD5散列的物理地址;Event type为事件类型;事件为开启、关闭、触发中的至少一个;事件时间为事件发生的时间,可以使用String.getBytes()函数生成。
具体的,Rowkey还包括后缀,后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。
具体的,存储装置将满足条件的属性字段添加至HBase数据库的行键Rowkey中,该满足预设条件的属性字段记录在HBase的一个列中。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中。在HBase中,数据记录中的账号和起始时间记录在HBase的一个列中。
S205、存储装置将不满足预设条件的属性字段作为HBase数据库的列。
HBase是一个分布式的、面向列的开源数据库。它以表的形式存储数据,表是由行和列组成,列划分为若干个列簇,一行由行键Rowkey,时间戳和若干列组成。行键Rowkey类似于关系数据库的主键,用于检索记录。
具体的,存储装置在记录数据记录并确定不满足预设条件的属性字段后,将不满足预设条件的属性字段添加至HBase数据库的列,该不满足预设条件的属性字段所在列形成一个列簇。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。按照起始时间和账号对用户访问日志的数据进行分析,则将除账号和起始时间以外的所有属性字段确定为不满足预设条件的属性字段,并将该将不满足所述预设条件的属性字段作为HBase数据库的列,该其他属性字段所在列形成一个列簇。
S206、存储装置将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。
具体的,存储装置在确定Rowkey后,将已添加内容的Rowkey保存至HBase数据库中,在HBase中查询满足预设条件的属性字段时,根据Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段,即可获得所需数据。
其中,预设条件包括时间、事件和账号中的至少一个,事件包括开启、关闭、触发中的至少一个。
具体的,预设条件是在分析数据时由用户自行设置的。
可选的,预设条件可以是特定条件,也可以是组合条件。例如,预设条件为时间和/或事件,则存储装置按照时间和/或事件,对待存储数据记录进行分析,确定该数据记录中满足时间和/或事件的属性字段。
例如,假设数据记录为用户访问日志,该用户访问之日中包含有用户信息表以及用户访问的具体信息,分别为:账号、性别、公司、起始时间、结束时间、访问页面。若数据分析是按照起始时间和账号对用户访问日志的数据进行分析,则将用户访问日志中的账号和起始时间确定为满足预设条件的属性字段,并将账号和起始时间添加至Rowkey的Head中,将已放置账号和起始时间的Rowkey保存至HBase数据库中。在HBase中按照账号和起始时间分析数据时,根据Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足账号和起始时间的Rowkey,即可获得所需数据。
本发明提供了一种数据存储方法,存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。
实施例三
本发明提供了一种存储装置,如图3所示,包括:
获取单元10,用于获取待存储的数据记录;
处理单元11,用于确定所述数据记录中满足预设条件的属性字段;将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;
存储单元12,用于将所述Rowkey存储至所述HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段。
进一步地,所处理单元11将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:
根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;
将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。
进一步地,所述处理单元11确定所述数据记录中满足预设条件的属性字段之后,还用于:
确定所述数据记录中不满足所述预设条件的属性字段;
将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;
将所述列存储至HBase数据库中。
进一步地,所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。
进一步地,所述存储单元12将所述Rowkey存储至HBase数据库中,以使得在所述HBase中查询所述满足预设条件的属性字段时,通过查询所述Rowkey的前缀获得满足预设条件的属性字段,具体包括:
将所述Rowkey存储至HBase数据库中;
根据所述Hbase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。
本发明提供了一种存储装置,主要包括获取单元、处理单元和存储单元。存储装置获取待存储的数据记录,然后确定数据记录中满足预设条件的属性字段,并将满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head,最后将Rowkey存储至HBase数据库中,以使得在HBase中查询满足预设条件的属性字段时,通过查询Rowkey的前缀获得满足预设条件的属性字段。通过该方案,存储装置能够根据预设条件设置保存HBase数据库中的行键Rowkey,提高数据查询速度,提高检索效率,减少了时间的耗费。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (8)

1.一种数据存储方法,其特征在于,应用于HBase数据库的数据存储过程中,该方法包括:
获取待存储的数据记录;
确定所述数据记录中满足预设条件的属性字段;
将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;
将所述Rowkey存储至HBase数据库中;
根据所述HBase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。
2.根据权利要求1所述的数据存储方法,其特征在于,所述将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:
根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;
将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。
3.根据权利要求1所述的数据存储方法,其特征在于,所述确定所述数据记录中满足预设条件的属性字段之后,所述方法还包括:
确定所述数据记录中不满足所述预设条件的属性字段;
将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;
将所述列存储至HBase数据库中。
4.根据权利要求1所述的数据存储方法,其特征在于,所述Rowkey还包括后缀(Tail),所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。
5.一种存储装置,其特征在于,包括:
获取单元,用于获取待存储的数据记录;
处理单元,用于确定所述数据记录中满足预设条件的属性字段;将所述满足预设条件的属性字段作为HBase数据库的行键Rowkey的前缀Head;
存储单元,用于将所述Rowkey存储至HBase数据库中;
所述处理单元,还用于根据所述HBase中最新的模糊过滤FuzzyRowFilter正则表达式的查询机制,查询满足预设条件的属性字段。
6.根据权利要求5所述的存储装置,其特征在于,所处理单元将所述满足预设条件的属性字段作为所述HBase数据库的行键Rowkey的前缀Head,包括:
根据信息摘要算法MD5计算出所述满足预设条件的属性字段的摘要值,所述摘要值为十六进制的字符串;
将所述摘要值作为所述HBase数据库的行键Rowkey的前缀Head。
7.根据权利要求5所述的存储装置,其特征在于,所述处理单元确定所述数据记录中满足预设条件的属性字段之后,还包括:
确定所述数据记录中不满足所述预设条件的属性字段;
将所述不满足所述预设条件的属性字段作为所述HBase数据库的列;
将所述列存储至HBase数据库中。
8.根据权利要求5所述的存储装置,其特征在于,所述Rowkey还包括后缀,所述后缀长度固定为9个字节,是由一个“=”和8字节表示的long整数组成。
CN201310403001.6A 2013-09-06 2013-09-06 一种数据存储方法及装置 Active CN103488704B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310403001.6A CN103488704B (zh) 2013-09-06 2013-09-06 一种数据存储方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310403001.6A CN103488704B (zh) 2013-09-06 2013-09-06 一种数据存储方法及装置

Publications (2)

Publication Number Publication Date
CN103488704A CN103488704A (zh) 2014-01-01
CN103488704B true CN103488704B (zh) 2016-10-05

Family

ID=49828930

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310403001.6A Active CN103488704B (zh) 2013-09-06 2013-09-06 一种数据存储方法及装置

Country Status (1)

Country Link
CN (1) CN103488704B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331460A (zh) * 2014-10-31 2015-02-04 北京思特奇信息技术股份有限公司 一种基于Hbase的数据读写操作方法及系统
CN104376053B (zh) * 2014-11-04 2017-12-22 南京信息工程大学 一种基于海量气象数据的存储与检索方法
CN104391910B (zh) * 2014-11-17 2016-06-08 西安交通大学 一种基于HBase的税收统计报表存储与计算的方法
CN106326317A (zh) * 2015-07-09 2017-01-11 中国移动通信集团山西有限公司 数据处理方法及装置
CN106570036B (zh) * 2015-10-13 2019-11-12 北京国双科技有限公司 基于HBase数据库的数据添加方法和装置
CN107515867B (zh) * 2016-06-15 2021-06-29 阿里巴巴集团控股有限公司 一种NoSQL数据库的数据存储、查询方法和装置以及一种rowKey全组合的生成方法和装置
CN106156338A (zh) * 2016-07-12 2016-11-23 复旦大学无锡研究院 一种信息发现服务器的数据存储方法和信息发现方法
CN106326381B (zh) * 2016-08-16 2019-06-25 梁猛 基于MapDB构建的HBase数据检索方法
CN106528674B (zh) * 2016-10-31 2019-10-01 厦门服云信息科技有限公司 基于Hbase行健的高性能查询方法和装置
CN106777258B (zh) * 2016-12-28 2020-01-03 银江股份有限公司 一种医疗大数据存储中Hbase行键的编码及压缩方法
CN106940627B (zh) * 2017-03-24 2020-08-25 联想(北京)有限公司 一种数据处理方法及服务器集群
CN107291881A (zh) * 2017-06-19 2017-10-24 北京计算机技术及应用研究所 基于HBase的海量日志存储和查询方法
CN109918425A (zh) * 2017-12-14 2019-06-21 北京京东尚科信息技术有限公司 一种实现数据导入非关系型数据库的方法和系统
CN109271413A (zh) * 2018-10-11 2019-01-25 江苏易润信息技术有限公司 一种数据查询的方法、装置及计算机存储介质
CN109597857A (zh) * 2018-12-06 2019-04-09 中电工业互联网有限公司 一种基于Spark的物联网大数据计算方法
CN112699149B (zh) * 2020-12-31 2023-09-19 青岛海尔科技有限公司 目标数据获取方法、装置和存储介质及电子装置
CN112817969B (zh) * 2021-01-14 2023-04-14 内蒙古蒙商消费金融股份有限公司 数据查询方法、系统、电子设备和存储介质
CN117597676A (zh) * 2021-10-20 2024-02-23 贝宝公司 使用排序键的数据库管理

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852842B2 (en) * 2004-03-31 2010-12-14 Lg Electronics Inc. Data processing method for network layer
CN101916262A (zh) * 2010-07-29 2010-12-15 北京用友政务软件有限公司 一种财政要素匹配的加速方法
CN101950297A (zh) * 2010-09-10 2011-01-19 北京大学 一种海量语义数据的存储和查询方法及装置
CN103116610A (zh) * 2013-01-23 2013-05-22 浙江大学 基于HBase的矢量空间大数据存储方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7852842B2 (en) * 2004-03-31 2010-12-14 Lg Electronics Inc. Data processing method for network layer
CN101916262A (zh) * 2010-07-29 2010-12-15 北京用友政务软件有限公司 一种财政要素匹配的加速方法
CN101950297A (zh) * 2010-09-10 2011-01-19 北京大学 一种海量语义数据的存储和查询方法及装置
CN103116610A (zh) * 2013-01-23 2013-05-22 浙江大学 基于HBase的矢量空间大数据存储方法

Also Published As

Publication number Publication date
CN103488704A (zh) 2014-01-01

Similar Documents

Publication Publication Date Title
CN103488704B (zh) 一种数据存储方法及装置
CN104252536B (zh) 一种基于hbase的上网日志数据查询方法及装置
CN102122285B (zh) 一种数据缓存系统中的数据查询系统和数据查询方法
CN103942289B (zh) 一种Hadoop上面向范围查询的内存缓存方法
CN104750681B (zh) 一种海量数据的处理方法及装置
US9871727B2 (en) Routing lookup method and device and method for constructing B-tree structure
CN103646051B (zh) 一种基于列存储的大数据并行处理系统及方法
CN102629269B (zh) 一种嵌入式数据库的检索及存储方法
CN104361113B (zh) 一种内存‑闪存混合存储模式下的olap查询优化方法
CN104252528B (zh) 基于标识符空间映射的大数据二级索引构建方法
CN104915383B (zh) 一种通用数据库访问中自动适配对象的方法
CN105138592A (zh) 一种基于分布式架构的日志数据存储和检索方法
CN104850572A (zh) HBase非主键索引构建与查询方法及其系统
CN107040422A (zh) 一种基于物化缓存的网络大数据可视化方法
CN103617216B (zh) 一种通过哈希值表实现数据快速检索的方法和系统
CN102332030A (zh) 用于分布式键-值存储系统的数据存储、管理和查询方法及系统
CN103678491A (zh) 一种基于Hadoop中小文件优化和倒排索引的方法
CN103795811B (zh) 一种基于元数据保存存储信息及统计管理数据的方法
CN105488043A (zh) 基于Key-Value数据块的数据查询方法及系统
CN102479189B (zh) 一种内存中海量时间戳型数据高速均匀访问的索引方法
CN104424258A (zh) 多维数据查询的方法、查询服务器、列存储服务器及系统
CN103914483B (zh) 文件存储方法、装置及文件读取方法、装置
CN103761102B (zh) 一种统一数据服务平台及其实现方法
CN103226591B (zh) 一种支持多关键字快速访问方法和装置
CN105159616A (zh) 一种磁盘空间管理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
PP01 Preservation of patent right

Effective date of registration: 20170721

Granted publication date: 20161005

PP01 Preservation of patent right
PD01 Discharge of preservation of patent
PD01 Discharge of preservation of patent

Date of cancellation: 20200721

Granted publication date: 20161005

CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 300453 Tianjin Binhai New Area, Tianjin Eco-city, No. 126 Animation and Animation Center Road, Area B1, Second Floor 201-427

Patentee after: Xinle Visual Intelligent Electronic Technology (Tianjin) Co.,Ltd.

Address before: 300467 Tianjin Binhai New Area, Tianjin ecological city animation Middle Road, building, No. two, B1 District, 201-427

Patentee before: LE SHI ZHI XIN ELECTRONIC TECHNOLOGY (TIANJIN) Ltd.

Address after: Room 301-1, Room 301-3, Area B2, Animation Building, No. 126 Animation Road, Zhongxin Eco-city, Tianjin Binhai New Area, Tianjin

Patentee after: LE SHI ZHI XIN ELECTRONIC TECHNOLOGY (TIANJIN) Ltd.

Address before: 300453 Tianjin Binhai New Area, Tianjin Eco-city, No. 126 Animation and Animation Center Road, Area B1, Second Floor 201-427

Patentee before: Xinle Visual Intelligent Electronic Technology (Tianjin) Co.,Ltd.

PP01 Preservation of patent right
PP01 Preservation of patent right

Effective date of registration: 20210201

Granted publication date: 20161005