[发明专利]一种数据存储方法及装置在审
申请号: | 201811615999.5 | 申请日: | 2018-12-27 |
公开(公告)号: | CN109739854A | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 詹鹏 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/27 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 赵丽娜 |
地址: | 450000 河南省郑州市高新技*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 标签索引 目标数据 数据存储 检索 存储空间 存储数据 检索数据 检索条件 数据查询 数据库库 数据入库 有效减少 申请 标签 入库 查询 | ||
本申请实施例提供了一种数据存储方法及装置,其中,在存储数据的时候,利用该数据的所有标签值确定该数据的标签索引,一条数据只需要建立一个用于数据查询的标签索引。在需要检索数据的时候,基于检索条件,确定所要检索的目标数据的标签索引,继而利用确定的一个或多个标签索引即可查询到所要检索的目标数据,本申请实施例有效减少了数据存入HBASE数据库库时需要同时入库的标签索引的数量,提高了数据入库的效率,节省了存储空间。
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据存储方法及装置。
背景技术
在大数据兴起的今天,HBASE(分布式存储数据库)作为列式数据库在数据存储、检索方面占据着重要的地位。HBASE不同于一般的关系型数据库,它是一个适合于非结构化数据存储的数据库,具有高可靠性、高性能、面向列、可伸缩、扩展性好、无缝水平扩展、开源性的特点。
在数据入库HBASE的时候,HBASE可以为每个数据的标签(属性)建立索引。用户在检索具有某一标签的数据时,利用上述索引即可查询到对应的数据。一条数据可能具有很多的标签,因此一条数据可能需要建立多个索引,这就给数据的入库造成很大的压力,尤其是在数据量巨大的时候,数据入库的效率非常低,同时,大量的索引也引发了索引膨胀,浪费了不必要的存储空间。
发明内容
有鉴于此,本申请实施例的目的在于提供一种数据存储方法及装置,数据存入HBASE数据库时,一条数据只需要存储一个标签索引;数据检索时,基于检索条件能够确定所要检索的目标数据的标签索引,继而利用确定的一个或多个标签索引即可查询到所要查询的数据,本申请实施例有效减少了数据存入HBASE数据库时需要同时入库的索引的数量,提高了数据入库的效率,节省了存储空间。
第一方面,本申请实施例提供了一种数据存储方法,包括:
获取每条待存储数据对应的每个标签的标签值;
针对每条待存储数据,基于获取的该条待存储数据的所有标签值,确定该条待存储数据的行键;
将该条待存储数据以及该条待存储数据的行键存入HBASE数据库;
将所述待存储数据存入HBASE数据库后,将获取的该条待存储数据的所有标签值存入关系型数据库。
在一种可能的实施方式中,所述基于获取的该条待存储数据的所有标签值,确定该条待存储数据的行键,包括:
计算获取的该条待存储数据的所有标签值的和,得到该条待存储数据的特征和;
利用预定算法对该条待存储数据的特征和进行处理,得到该条待存储数据的标签索引;
将所述标签索引、所述待存储数据的生成时间和所述待存储数据的唯一标识符组成所述待存储数据的行键。
在一种可能的实施方式中,所述将获取的该条待存储数据的所有标签值存入关系型数据库,包括:
查询所述关系型数据库中是否存在一行数据中的标签值与所述待存储数据的所有标签值相同;
若存在,则将查找到的该行数据对应的计数值增加固定值;
若不存在,则在所述关系型数据库中插入一行数据,插入的该行数据用于记录获取的该条待存储数据的所有标签值,并将该行数据对应的计数值配置为初始值。
在一种可能的实施方式中,所述数据存储方法还包括:
获取目标数据的检索条件;所述检索条件包括至少一个标签值;
从所述关系型数据库中,查找与所述检索条件匹配的目标行;
获取每个目标行中的所有标签值,并基于获取的每个目标行中的所有标签值,分别确定每个目标行对应的标签索引;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811615999.5/2.html,转载请声明来源钻瓜专利网。