[发明专利]存储数据的方法和装置有效
申请号: | 201610061190.7 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105740405B | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 毕杰山;郭益君 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/29 |
代理公司: | 北京龙双利达知识产权代理有限公司 11329 | 代理人: | 毛威;孙涛 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 数据 方法 装置 | ||
本发明公开了一种存储数据的方法和装置。该方法包括:获取数据对象的主索引,其中,该主索引的行标识包括至少一个字段;根据该主索引的行标识确定该数据对象的二级索引的行标识,其中,该二级索引的行标识包括索引字段和该主索引的行标识的至少一个字段中除该索引字段外的字段,该索引字段与该主索引的行标识的至少一个字段中第一个字段不同;根据该二级索引的行标识生成该数据对象的二级索引;根据该主索引和该二级索引存储该数据对象。本发明实施例的存储数据的方法和装置,能够节省存储空间。
技术领域
本发明涉及信息技术领域,并且更具体地,涉及存储数据的方法和装置。
背景技术
分布式数据库是指将物理上分散的多个数据存储单元连接起来组成一个逻辑上的统一数据库。在分布式数据库中,一张用户数据表有一个主索引数据,基于主索引数据的行键(RowKey)进行查询,可以很快查到期望的用户数据。如果基于任意的一个列的条件进行查询,需要引入二级索引,从而使得分布式数据库支持更多维度的灵活查询能力。
在现有技术中,对于二级索引的RowKey的设计比较类似,大多是基于查询列的主索引和该查询列创建对应的二级索引。这样存在的问题是,如果查询列在主索引的RowKey和二级索引的RowKey中同时出现时,该列会被重复存储,造成数据冗余。
发明内容
本发明实施例提供了一种存储数据的方法和装置,能够节省存储空间。
第一方面,提供了一种存储数据的方法,包括:获取数据对象的主索引,其中,该主索引的行标识包括至少一个字段;
根据该主索引的行标识确定该数据对象的二级索引的行标识,其中,该二级索引的行标识包括索引字段和该主索引的行标识的至少一个字段中除该索引字段外的字段,该索引字段与该主索引的行标识的至少一个字段中第一个字段不同;
根据该二级索引的行标识生成该数据对象的二级索引;
根据该主索引和该二级索引存储该数据对象。
本发明实施例的存储数据的方法,通过根据主索引的行标识确定数据对象的二级索引的行标识,该二级索引的行标识包括索引字段和该主索引的行标识的至少一个字段中除该索引字段外的字段,可以避免重复存储索引字段,从而降低了数据冗余,节省了存储空间。
结合第一方面,在第一种可能的实现方式,该至少一个字段中的每个字段为该数据对象的列属性、随机数、常量或对该数据对象的列数据的处理。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在该主索引的行标识的该至少一个字段中不包括该索引字段时,该二级索引的行标识包括该索引字段和该主索引的行标识的该至少一个字段中的所有字段。
这里,主索引的行标识中不包括该索引字段时,该二级索引的行标识包括该索引字段和该主索引的行标识中的所有字段。
结合上述方面任一中可能的实现方式,在第三种可能的实现方式中,该方法还包括:
接收数据查询请求,该数据查询请求指示根据该索引字段的值查询该数据对象中的数据;
根据该索引字段的值查询该数据对象的二级索引,确定该数据对象中的该数据对应的二级索引的行标识的值;
根据该二级索引的行标识的值确定该数据对象的该数据对应的主索引的行标识的值;
根据该主索引的行标识的值获取该数据对象中的该数据。
结合第一方面的第三种可能的实现方式中,该根据该二级索引的行标识的值确定该数据对象的该数据对应的主索引的行标识的值包括:
在该主索引的行标识的该至少一个字段中包括该索引字段时,重组该二级索引的行标识的值,得到该主索引的行标识的值;或者,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610061190.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于引擎的语言信息管理系统和方法
- 下一篇:时序数据曲线处理方法和装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置