【技术实现步骤摘要】
信息持久化和查询方法及装置
本申请涉及信息搜索
,尤其涉及一种应用于key-value数据库的信息持久化和查询方法及装置。
技术介绍
HBase(HadoopDatabase)是key-value数据库,其是一个分布式的、面向列的开源数据库,该技术来源于Changetal所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。与关系数据库的另一个不同的是HBase采用的是基于列存储模式。目前,针对关系数据库,已有众多关系对象映射(ORM)框架来对JDBC进行面向对象的封装,并产生了JDO(JavaDataObject)和JPA(JavaPersistenceAPI)等针对由Java类表示的业务实体对象的持久化规范。其中,JDO提供了透明的业务实体对象持久化方案,除关系数据库外,其还可以提供包括对象数据库等在内的其他类型的数据库的业务实体对象持久化方案。现有技术提供的这些方案总体来说是针对关系数据库的存储特性而提出的,并没有考虑到HBase的一些特性,如HBase是基于列的存储模式等,从而存在不支持对同一业务实体对象的多个版本的持久化和查询,在查询业务实体对象时不能充分缩减查询范围,查询通常需要扫描HBase中存储有业务实体对象的整张表,从而会浪费较多的处理资源。
技术实现思路
本申请实施例提供一种应用于key-value数据库的信息持久化方法和装置,用以提供一种基于key-value数据库(如HBase)的特性而提出的信息持久化方案。本申请实施例还提供一种面向 ...
【技术保护点】
一种应用于key‑value数据库的信息持久化方法,其特征在于,包括:根据针对业务实体对象设置的注解信息,确定存储该业务实体对象的主表、主表行键生成策略和用于生成主表行键的第一属性;确定该业务实体对象所包含的与第一属性对应的属性值,并按照在不同列中存储不同属性值的存储方式,将确定的属性值分别存储到主表的同一行的不同列中;根据主表中存储的属性值在其所在行中的第一排列顺序、主表行键生成策略以及所述确定的属性值,生成主表行键。
【技术特征摘要】
1.一种应用于key-value数据库的信息持久化方法,其特征在于,包括:根据针对业务实体对象设置的注解信息,确定存储该业务实体对象的主表、主表行键生成策略和用于生成主表行键的第一属性;确定该业务实体对象所包含的与第一属性对应的属性值,并按照在不同列中存储不同属性值的存储方式,将确定的属性值分别存储到主表的同一行的不同列中;根据主表中存储的属性值在其所在行中的第一排列顺序、主表行键生成策略以及所述确定的属性值,生成主表行键。2.如权利要求1所述的方法,其特征在于,还包括:根据所述注解信息,确定存储该业务实体对象的索引表、索引表行键生成策略和用于生成索引表行键的第二属性;确定该业务实体对象所包含的与第二属性对应的属性值,并按照在不同列中存储不同属性值的存储方式,将确定的与第二属性对应的属性值分别存储到索引表的同一行的不同列中;根据索引表中存储的第二属性对应的属性值在其所在行中的第二排列顺序、索引表行键生成策略以及第二属性对应的属性值,基于按照第二排列顺序排列索引表行键中包含的字段所对应的属性值的方式,生成索引表行键。3.如权利要求1所述的方法,其特征在于,主表中存储属性值的列不包括第一列;则所述方法还包括:根据主表行键与用于生成主表行键的属性值的对应关系,将生成的各个主表行键对应存储到相应的属性值所在行的第一列中。4.一种基于权利要求1~3任一所述的应用于key-value数据库的信息持久化方法的面向对象的查询方法,其特征在于,包括:获得针对业务实体对象的查询条件,并通过对查询条件的解析,获得查询条件包含的属性值;根据指定属性和查询条件中包含的属性值,判断出查询条件中包含对应于指定属性的指定属性值时,针对数据表中存储的各个行键,执行分别确定生成该行键的属性值所构成的第一属性值集合;确定包含有查询条件所包含的指定属性值的第一属性值集合;从确定的包含有查询条件所包含的指定属性值的第一属性值集合所对应的行键中,确定包含的第一个字段所对应的属性值与查询条件包含的指定属性值匹配一致的行键;以及根据查询条件中包含的属性值,查询确定的行键所在的数据表的行中存储的属性值。5.如权利要求4所述的方法,其特征在于,还包括:从查询条件所包含的属性值中,确定不属于任意第一属性值集合的属性值;则根据查询条件中包含的属性值,查询确定的行键所在的数据表的行中存储的属性值之后,还包括:从查询到的对应于不同行键的属性值所分别构成的第二属性值集合中,确定包含确定的不属于任意第一属性值集合的属性值的第二属性值集合;针对包含确定的不属于任意第一属性值集合的属性值的各第二属性值集合,执行根据该第二属性值集合中包含的属性值,生成业务实体对象。6.如权利要求4所述的方法,其特征在于,还包括:从确定的包含有查询条件所包含的指定属性值的第一属性值集合中,确定包含与查询条件所包含的属性值匹配一致的属性值的个数最多的目标属性值集合;则从确定的包含有查询条件所包含的指定属性值的第一属性值集合所对应的行键中,确定包含的第一个字段所对应的属性值与查询条件包含的指定属性值匹配一致的表行键,具体包括:从确定的目标属性值集合所对应的行键中,确定包含的第一个字段所对应的属性值与查询条件包含的指定属性值匹配一致的表行键。7.一种应用于key-value数据库的信息持久化装置,其特征在于,包括:第一注解信息解析单元,用于根据针对业务实体对象设置的注解信息,确定存储该业务实体对象的主表、主表行键生成策略和用于生成主表行键的第一属性;第一属性值确定单元,用于确定该业...
【专利技术属性】
技术研发人员:肖荣,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛;KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。