数据索引方法及装置制造方法及图纸

技术编号:19903780 阅读:17 留言:0更新日期:2018-12-26 03:01
本发明专利技术实施例提供一种数据索引方法及装置,通过二级索引数据库中包括至少一条位图索引记录,各位图索引记录中包括主属性的值和至少一个从属性的值,所述至少一个从属性的值按照比特位存储,使得二级索引数据库所需的存储空间大大降低;该方法根据至少一个查询属性,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;根据各目标位图索引记录的主属性的值,查询一级索引数据库,获取各目标位图索引记录对应的至少一条原始数据记录;根据查询条件和至少一条原始数据记录,获取与查询条件对应的查询结果;通过上述数据索引过程,能够提高数据索引的效率和准确性,还可以提高数据索引的查询场景覆盖率。

【技术实现步骤摘要】
数据索引方法及装置
本专利技术实施例涉及数据处理
,尤其涉及一种数据索引方法及装置。
技术介绍
HBase(Hadoopdatabase)是一个高性能、分布式的开源数据库,它不同于一般的关系型数据库,是一个适合于非结构化数据存储的数据库。HBASE是基于Rowkey(行键)的有序存储,在明确Rowkey的条件下HBASE支持毫秒级的快速检索。然而,随着HBASE的应用的不断深入,单纯通过Rowkey检索数据的方式不再满足应用的需求,因此,需要一种针对HBASE数据库的二级索引方法。现有的HBASE二级索引方案中,根据常用的查询属性创建二级索引表,也就是说,每个二级索引表都是建立在固定的查询条件下的。因此,当查询条件为多条件时,需要按照多重查询属性依次检索不同的二级索引表,然后将从不同的二级索引表中获取的Rowkey再进行比对取重,得到符合所有查询条件的Rowkey,最后结合查询条件,根据筛选出的Rowkey进行信息提取,完成多重查询条件的查询。然而,上述现有技术中,根据不同的条件或条件组合创建多个二级索引表,HBASE数据库中的Rowkey会重复保存在不同的二级索引表中,使得存储二级索引表需要较大的存储空间。
技术实现思路
本专利技术实施例提供一种数据索引方法及装置,能够降低二级索引数据库的存储空间。第一方面,本专利技术实施例提供一种数据索引方法,包括:根据查询条件,获取所述查询条件对应的至少一个查询属性;根据所述至少一个查询属性,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;其中,所述二级索引数据库中包括至少一条位图索引记录,各所述位图索引记录中包括主属性的值和至少一个从属性的值,所述至少一个从属性的值按照比特位存储;所述目标位图索引记录中与所述查询属性匹配的目标从属性的值为预设值,所述预设值用于指示一级索引数据库中与所述目标位图索引记录对应的原始数据记录中存在所述目标从属性;根据各所述目标位图索引记录的主属性的值,查询所述一级索引数据库,获取各所述目标位图索引记录对应的至少一条原始数据记录;根据所述查询条件和所述至少一条原始数据记录,获取与所述查询条件对应的查询结果。可选的,所述根据所述至少一个查询属性,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值,包括:根据所述至少一个查询属性和位图字典,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;其中,所述位图字典中包括至少一个从属性,所述位图字典中的所述至少一个从属性与所述位图索引记录中的所述至少一个从属性的值按预设顺序依次对应。可选的,所述根据所述至少一个查询属性和位图字典,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值,包括:根据位图字典,获取各所述查询属性匹配的目标从属性,以及各所述目标从属性在所述位图字典中的位置;依次获取所述二级索引数据库中的一条位图索引记录,根据各所述目标从属性在所述位图字典中的位置和所述位图字典,获取各所述目标从属性对应到所述位图索引记录中的从属性的值;若各所述目标从属性对应到所述位图索引记录中的从属性的值均为所述预设值,则将所述位图索引记录作为目标位图索引记录。可选的,所述根据所述至少一个查询属性和位图字典,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值之前,还包括:根据所述一级索引数据库中的原始数据记录和所述位图字典,创建所述二级索引数据库。可选的,所述根据所述一级索引数据库中的原始数据记录和所述位图字典,创建所述二级索引数据库,包括:根据所述一级索引数据库中的原始数据记录,获取至少一个主属性的值;针对每个所述主属性的值,获取所述一级索引数据库中与所述主属性的值对应的至少一条原始数据记录;根据所述主属性的值对应的至少一条原始数据记录,判断所述位图字典中的各所述从属性在所述至少一条原始数据记录中是否存在;根据判断结果,生成所述主属性的值对应的位图索引记录,将所述位图索引记录存储到二级索引数据库中。可选的,所述根据所述一级索引数据库中的原始数据记录和所述位图字典,创建所述二级索引数据库之后,还包括:获取所述一级索引数据库中新增的原始数据记录;根据所述新增的原始数据记录中的主属性的值,获取所述二级索引数据库中与所述主属性的值对应的位图索引记录;针对所述位图字典中的每个所述从属性,判断所述新增的原始数据记录中是否存在所述从属性,若是,则将所述位图索引记录中与所述从属性对应的从属性的值设置为所述预设值。可选的,所述二级索引数据库存储在内存中。第二方面,本专利技术实施例提供一种数据索引装置,包括:获取模块,用于根据查询条件,获取所述查询条件对应的至少一个查询属性;第一查询模块,用于根据所述至少一个查询属性,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;其中,所述二级索引数据库中包括至少一条位图索引记录,各所述位图索引记录中包括主属性的值和至少一个从属性的值,所述至少一个从属性的值按照比特位存储;所述目标位图索引记录中与所述查询属性匹配的目标从属性的值为预设值,所述预设值用于指示一级索引数据库中与所述目标位图索引记录对应的原始数据记录中存在所述目标从属性;第二查询模块,用于根据各所述目标位图索引记录的主属性的值,查询所述一级索引数据库,获取各所述目标位图索引记录对应的至少一条原始数据记录;处理模块,用于根据所述查询条件和所述至少一条原始数据记录,获取与所述查询条件对应的查询结果。可选的,所述第一查询模块,具体用于根据所述至少一个查询属性和位图字典,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;其中,所述位图字典中包括至少一个从属性,所述位图字典中的所述至少一个从属性与所述位图索引记录中的所述至少一个从属性的值按预设顺序依次对应。可选的,所述第一查询模块具体用于:根据位图字典,获取各所述查询属性匹配的目标从属性,以及各所述目标从属性在所述位图字典中的位置;依次获取所述二级索引数据库中的一条位图索引记录,根据各所述目标从属性在所述位图字典中的位置和所述位图字典,获取各所述目标从属性对应到所述位图索引记录中的从属性的值;若各所述目标从属性对应到所述位图索引记录中的从属性的值均为所述预设值,则将所述位图索引记录作为目标位图索引记录。可选的,所述装置还包括:创建模块,用于根据所述一级索引数据库中的原始数据记录和所述位图字典,创建所述二级索引数据库。可选的,所述创建模块具体用于:根据所述一级索引数据库中的原始数据记录,获取至少一个主属性的值;针对每个所述主属性的值,获取所述一级索引数据库中与所述主属性的值对应的至少一条原始数据记录;根据所述主属性的值对应的至少一条原始数据记录,判断所述位图字典中的各所述从属性在所述至少一条原始数据记录中是否存在;根据判断结果,生成所述主属性的值对应的位图索引记录,将所述位图索引记录存储到二级索引数据库中。可选的,所述创建模块还用于:获取所述一级索引数据库中新增的原始数据记录;根据所述新增的原始数据记录中的主属性的值,获取所述二级索引数据库中与所述主属性的值对应的位图索引记录;针对所述位图字典中的每个所述从属性,判断所述新增的原始数据记录中是否存在所述从属性,若是,则将所述位图索引记录中与所述从属性对应的从属性本文档来自技高网...

【技术保护点】
1.一种数据索引方法,其特征在于,包括:根据查询条件,获取所述查询条件对应的至少一个查询属性;根据所述至少一个查询属性,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;其中,所述二级索引数据库中包括至少一条位图索引记录,各所述位图索引记录中包括主属性的值和至少一个从属性的值,所述至少一个从属性的值按照比特位存储;所述目标位图索引记录中与所述查询属性匹配的目标从属性的值为预设值,所述预设值用于指示一级索引数据库中与所述目标位图索引记录对应的原始数据记录中存在所述目标从属性;根据各所述目标位图索引记录的主属性的值,查询所述一级索引数据库,获取各所述目标位图索引记录对应的至少一条原始数据记录;根据所述查询条件和所述至少一条原始数据记录,获取与所述查询条件对应的查询结果。

【技术特征摘要】
1.一种数据索引方法,其特征在于,包括:根据查询条件,获取所述查询条件对应的至少一个查询属性;根据所述至少一个查询属性,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;其中,所述二级索引数据库中包括至少一条位图索引记录,各所述位图索引记录中包括主属性的值和至少一个从属性的值,所述至少一个从属性的值按照比特位存储;所述目标位图索引记录中与所述查询属性匹配的目标从属性的值为预设值,所述预设值用于指示一级索引数据库中与所述目标位图索引记录对应的原始数据记录中存在所述目标从属性;根据各所述目标位图索引记录的主属性的值,查询所述一级索引数据库,获取各所述目标位图索引记录对应的至少一条原始数据记录;根据所述查询条件和所述至少一条原始数据记录,获取与所述查询条件对应的查询结果。2.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个查询属性,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值,包括:根据所述至少一个查询属性和位图字典,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值;其中,所述位图字典中包括至少一个从属性,所述位图字典中的所述至少一个从属性与所述位图索引记录中的所述至少一个从属性的值按预设顺序依次对应。3.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个查询属性和位图字典,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值,包括:根据位图字典,获取各所述查询属性匹配的目标从属性,以及各所述目标从属性在所述位图字典中的位置;依次获取所述二级索引数据库中的一条位图索引记录,根据各所述目标从属性在所述位图字典中的位置和所述位图字典,获取各所述目标从属性对应到所述位图索引记录中的从属性的值;若各所述目标从属性对应到所述位图索引记录中的从属性的值均为所述预设值,则将所述位图索引记录作为目标位图索引记录。4.根据权利要求2所述的方法,其特征在于,所述根据所述至少一个查询属性和位图字典,查询二级索引数据库,获取至少一条目标位图索引记录的主属性的值之前,还包括:根据所述一级索引数据库中的原始数据记录和所述位图字典,创建所述二级索引数据库。5.根据权利要求4所述的方法,其特征在于,所述根据所述一级索引数据库中的原始数据记录和所述位图字典,创建所述二级索引数据库,包括:根据所述一级索引数据库中的原始数据记录...

【专利技术属性】
技术研发人员:王飞徐茂红潘禹霖李丹孟刚邱景慧纪贵徐翔
申请(专利权)人:中国联合网络通信集团有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1