[发明专利]信息持久化和查询方法及装置有效
申请号: | 201210461233.2 | 申请日: | 2012-11-15 |
公开(公告)号: | CN103810224A | 公开(公告)日: | 2014-05-21 |
发明(设计)人: | 肖荣 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 郭润湘 |
地址: | 英属开曼群岛大开曼*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 信息 持久 查询 方法 装置 | ||
技术领域
本申请涉及信息搜索技术领域,尤其涉及一种应用于key-value数据库的信息持久化和查询方法及装置。
背景技术
HBase(Hadoop Database)是key-value数据库,其是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。
HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。与关系数据库的另一个不同的是HBase采用的是基于列存储模式。目前,针对关系数据库,已有众多关系对象映射(ORM)框架来对JDBC进行面向对象的封装,并产生了JDO(Java Data Object)和JPA(Java Persistence API)等针对由Java类表示的业务实体对象的持久化规范。其中,JDO提供了透明的业务实体对象持久化方案,除关系数据库外,其还可以提供包括对象数据库等在内的其他类型的数据库的业务实体对象持久化方案。
现有技术提供的这些方案总体来说是针对关系数据库的存储特性而提出的,并没有考虑到HBase的一些特性,如HBase是基于列的存储模式等,从而存在不支持对同一业务实体对象的多个版本的持久化和查询,在查询业务实体对象时不能充分缩减查询范围,查询通常需要扫描HBase中存储有业务实体对象的整张表,从而会浪费较多的处理资源。
发明内容
本申请实施例提供一种应用于key-value数据库的信息持久化方法和装置,用以提供一种基于key-value数据库(如HBase)的特性而提出的信息持久化方案。
本申请实施例还提供一种面向对象的查询方法和装置,用以对按照本申请实施例提供的持久化方法存储在key-value数据库(如HBase)中的信息进行查询。
本申请实施例采用以下技术方案:
一种应用于key-value数据库的信息持久化方法,包括:
根据针对业务实体对象设置的注解信息,确定存储该业务实体对象的主表、主表行键生成策略和用于生成主表行键的第一属性;确定该业务实体对象所包含的与第一属性对应的属性值,并按照在不同列中存储不同属性值的存储方式,将确定的属性值分别存储到主表的同一行的不同列中;根据主表中存储的属性值在其所在行中的第一排列顺序、主表行键生成策略以及所述确定的属性值,生成主表行键。
一种基于上述信息持久化方法的面向对象的查询方法,包括:
获得针对业务实体对象的查询条件,并通过对查询条件的解析,获得查询条件包含的属性值;根据指定属性和查询条件中包含的属性值,判断出查询条件中包含对应于指定属性的指定属性值时,针对数据表中存储的各个行键,执行分别确定生成该行键的属性值所构成的第一属性值集合;确定包含有查询条件所包含的指定属性值的第一属性值集合;从确定的包含有查询条件所包含的指定属性值的第一属性值集合所对应的行键中,确定包含的第一个字段所对应的属性值与查询条件包含的指定属性值匹配一致的行键;以及根据查询条件中包含的属性值,查询确定的行键所在的数据表的行中存储的属性值。
一种应用于key-value数据库的信息持久化装置,包括:
第一注解信息解析单元,用于根据针对业务实体对象设置的注解信息,确定存储该业务实体对象的主表、主表行键生成策略和用于生成主表行键的第一属性;第一属性值确定单元,用于确定该业务实体对象所包含的、与第一注解信息解析单元确定的第一属性对应的属性值;第一属性值存储单元,用于按照在不同列中存储不同属性值的存储方式,将第一属性值确定单元确定的属性值,分别存储到注解信息解析单元确定的主表的同一行的不同列中;主表行键生成单元,用于根据主表中存储的所述确定的属性值在其所在行中的第一排列顺序、第一注解信息解析单元单元确定的主表行键生成策略以及第一属性值确定单元确定的属性值,基于按照所述第一排列顺序排列主表行键中包含的字段所对应的属性值的方式,生成主表行键。
一种基于上述信息持久化装置的面向对象的信息查询装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210461233.2/2.html,转载请声明来源钻瓜专利网。
- 信息记录介质、信息记录方法、信息记录设备、信息再现方法和信息再现设备
- 信息记录装置、信息记录方法、信息记录介质、信息复制装置和信息复制方法
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录装置、信息再现装置、信息记录方法、信息再现方法、信息记录程序、信息再现程序、以及信息记录介质
- 信息记录设备、信息重放设备、信息记录方法、信息重放方法、以及信息记录介质
- 信息存储介质、信息记录方法、信息重放方法、信息记录设备、以及信息重放设备
- 信息存储介质、信息记录方法、信息回放方法、信息记录设备和信息回放设备
- 信息记录介质、信息记录方法、信息记录装置、信息再现方法和信息再现装置
- 信息终端,信息终端的信息呈现方法和信息呈现程序
- 信息创建、信息发送方法及信息创建、信息发送装置