当前位置: 首页 > 专利查询>北京大学专利>正文

一种云环境中基于分片位图索引的查询方法技术

技术编号:7837837 阅读:347 留言:0更新日期:2012-10-12 02:41
本发明专利技术提出一种云环境中基于分片位图索引的查询方法,1)建立分片位图索引,1.1)对云环境中数据表上的索引属性进行值域划分,生成属性值的全局排序表,全局排序表对元组用设定的规则排序;1.2)根据值域划分结果建立每个数据节点上的指示位图,指示位图记录局部属性值存储情况;1.3)根据云环境构架在各数据节点上建立局部位图索引,完成分片位图索引的创建;2)输入查询条件,主节点根据查询条件建立条件位图,并分发至各个数据节点,条件位图覆盖查询条件所包含所有可能;各数据节点并发执行检索任务,主节点收集各个数据节点的查询结果,并向用户返回各数据节点上查询结果的并集。通过建立分片位图索引可以充分利用了云环境中的可配置的并行计算资源,能够为以比较大小为条件的数据查询请求提供快速响应。

【技术实现步骤摘要】

本专利技术属于信息
,涉及一种云环境中的分布式位图索引方法以及利用该方法对数据进行查询。
技术介绍
云计算环境以及数据管理云计算技术的快速发展为海量数据的存储和管理提供了可能。相比传统的单机计算环境,云环境可以有效地利用分布式集群的庞大计算资源来满足海量数据管理对计算资 源和存储资源的需求,并且拥有易于维护、易于扩展和易于管理等优良特性。面对数据量的快速增长,云计算技术能够快速调整并分配所需资源以适应数据的疯狂膨胀;同时能够为非机构化数据提供具有弹性的、松散组织的存储模式以及建立在这种存储模式之上的分布式并行计算资源。随着网络时代数据的迅速膨胀,管理大规模数据成为了一个非常迫切的需求。云环境在计算资源与存储资源方面的优势使其具备了存储和管理大规模数据的能力。位图索引位图索引是一种使用位图的特殊的数据库索引技术。在位图索引中,位图中每个位的取值为0或1,表示对应的元组在是否在被索引属性上取得某项给定的取值。因此位图的长度等于元组总数。属性A上的位图索引将为该属性上所有可能的取值建立一个位图,用以指示各元组在该属性上的取值情况。如果属性A上可能的取值较多,将产生较多个位图。在这种情况下,可以使用B+树来组织这些位图。B+树可以保证快速定位所欲查找的位图。位图索引的优势在于,可以利用传统计算机高效的按位逻辑操作来快速处理复合的查询条件。例如,将在属性A1上检索得到的位图和在属性A2上检索得到的位图执行逻辑按位与即可得到同时满足这两个属性上的查询条件的结果。云环境中索引的集中式管理方案在集中式方案中,被索引字段上的所有值被全局排序并集中管理。具体而言,每条记录对应的索引项将包含被索引的字段的值以及该记录对应的主键值。在索引结构中,这些索引项按照被索引字段的值全局排序。系统处理被索引字段上的查询请求的过程分为两个步骤。首先在全局排序的索引结构中找到符合条件的索引项,从而得知相应记录的主键值。然后,依据主键值访问聚集索引从而定位完整的记录。集中式方案的最大挑战莫过于全局排序了的索引项的管理。一个最直接的方法是将这些索引项如同其他一般数据一样分布式的存储在数据管理系统中。以开源项目HBase中的主键检索机制为例,图I展示了集中式方案中索引结构的构成与访问方式,其中根表记录了目标元组应当对应于哪一个元数据表,而元数据表则记录了目标元组在数据表中真实的位置。检索过程中,首先通过第1,2,3步获得目标元组所对应的主键值,然后经过第5,6,7步根据主键值找到目标元组。通过这种方式,庞大的索引结构也可以享受到海量数据管理系统提供的可靠性、可扩展性和易管理性。但是,整个访问过程中的每一个步骤仅有一个单独的数据节点参与完成,这并没有有效利用分布式计算资源带来的优势。从而,查询的响应时间将会非常长。云环境中索引的分布式管理方案在分布式方案中,各数据节点上独立建立各自管理的局部数据上的索引。分布式方案没有维护索引值的全局排序,而是将其局部化到每个单独的数据节点上。从而,数据节点相互之间不存在依赖关系,这为查询请求的并发执行带来了便利。当被索引键值上的查询请求到达时,检索任务将被分发到所有的 数据节点上并以并发方式执行,最终的查询结果是所有数据节点上返回结果的并集。每个数据节点上数据的索引将被独立维护,因此其局部的索引结构具有很强的灵活性各节点使用的索引技术可以是同构的,例如均使用B+树索引;也可以使异构的,例如有的节点上使用B+树索引,而其他的节点上则使用位图索引等等。异构的局部索引允许各数据节点依据自身的计算资源来选择所使用的索引技术,例如,主存资源不充足的节点可以使用B+树索引并仅在主存中维护B+树靠近根部两层的节点。而CPU计算能力较差的节点则可以使用位图索引,从而利用位图上的逻辑操作来降低计算量。图2展示了分布式方案中索引结构的构成与访问方式。通过这种方式,索引结构依附于数据本身而被分散到各个节点中。节点之间具有独立性。检索任务也分配到各节点中独立执行,从而,并行计算资源得到很好地利用。但是,特别以最常用到的等值条件为代表,由于绝大多数检索任务的目标记录数量很少,在分布式集群中并行地执行该任务往往造成很多未存储任何目标记录的数据节点也触发了检索过程,而最终将返回空集。在检索任务频繁的情况下,这一并行执行过程将会耗费大量的不必要的计算资源,最终将会降低系统的吞吐量。
技术实现思路
本专利技术的目的在于提供一种云环境中的分布式位图索引方法——分片位图索引(Regional Bitmap Index,RBI)以及利用该方法对大规模数据进行高效查询。本专利技术吸取了集中式索引方案和分布式索引方案中各自的优点,提出分片位图索引结构通过属性值的全局排序机制而建立指示位图使得各数据节点可以了解局部数据在全局数据中的分布情况;通过将索引结构局部化,使得数据节点之间尽可能相互独立从而便于并行检索的实施。本专利技术中的方法充分利用了云环境中的并行计算资源显著提高的查询的响应时间,同时各数据节点利用值域上的数值分布信息避免了在大量无命中的数据节点中进行检索而引起的不必要的计算代价和开销,从而查询吞吐量也获得了提高。本专利技术提出,其步骤包括I)建立分片位图索引,I. I)对云环境中每个元组的属性值进行值域划分,生成属性值的全局排序表,所述全局排序表对元组用设定的规则排序;I. 2)根据值域划分结果,在每个分布式数据节点上建立指示位图,所述指示位图记录局部属性值存储情况;I. 3)根据云环境构架在各分布式数据节点上建立局部位图索引,完成分片位图索弓I的创建;2)输入查询条件,主节点根据查询条件建立条件位图,并分发至各个数据节点,所述条件位图覆盖查询条件所包含所有可能;各数据节点并发执行检索任务,主节点收集各个数据节点的查询结果,并向用户返回各数据节点上查询结果的并集。用长为Zi1C,的位串表示每个元组,其中,元组的属性i的值域被切割为Ci个子域,f是参与切割的属性的个数,I彡i彡f。所述Ci个子域构成集合Ci,并用笛卡尔积Des1^f=C1XC2XC3X…Cf表示,所述笛卡尔积的大小为=n: I Ci O所述位串进行全局排序,得到的排序值与任意元组在被查询字段上的取值唯一对应,所述元组对应位串的所有可能取值按照从小到大的顺序排序。所述指示位图的长度等于该元组属性值域被划分子域的个数,与笛卡尔积的大小·B相同。步骤3)中建立位图索引的方法是对该节点上存在的元组所对应的位串的全局排序值建立B+树,树的叶节点中的每一个键对应于一个排序值;为B+树的叶子节点上的各个键附加一个长度为本数据节点所管理的元组总数的位图作为相应排序值所对应的元组位图。当查询条件为单个查询条件时,a)各计算节点分别将条件位图拆分为属性笛卡尔积内的元素所对应的位串,并将拆分得到的位串转换为相应的排序值建立一目标排序值集合;b)生成长度等于B的全0位串cb,并将属于目标排序值集合内的位置为I ;c)检查逻辑按位与eb&cb的计算结果是否为0,其中eb表示该计算节点上的指示位图,cb是元组位串;d)如果为0则在该计算节点上直接返回空集作为计算结果;e)否则,搜索该计算节点的局部B+树并找到对应的叶子节点及其上附着的元组位图,一一检查元组位图中被置为I的位所对应的元组是否满足条件。当本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1. 一种云环境中基于分片位图索引的查询方法,其步骤包括 1)建立分片位图索引, 1.1)对云环境中每个元组的属性值进行值域划分,生成属性值的全局排序表,所述全局排序表对元组用设定的规则排序; I. 2)根据值域划分结果,在每个分布式数据节点上建立指示位图,所述指示位图记录局部属性值存储情况; 1.3)根据云环境构架在各分布式数据节点上建立局部位图索引,完成分片位图索引的创建; 2)输入查询条件,主节点根据查询条件建立条件位图,并分发至各个数据节点,所述条件位图覆盖查询条件所包含所有可能;各数据节点并发执行检索任务,主节点收集各个数据节点的查询结果,并向用户返回各数据节点上查询结果的并集。2.如权利要求I所述的云环境中基于分片位图索引的查询方法,其特征在于,用长为3.如权利要求2所述的云环境中基于分片位图索引的查询方法,其特征在于,所述Ci个子域构成集合Ci,并用笛卡尔积Des1... ^C1 X C2 X C3 X…Cf表示,所述笛卡尔积的大小为4.如权利要求2所述的云环境中基于分片位图索引的查询方法,其特征在于,对所述位串进行全局排序,得到的排序值与任意元组在被查询字段上的取值唯一对应,所述元组对应位串的所有可能取值按照从小到大的顺序排序。5.如权利要求I或3所述的云环境中基于分片位图索引的查询方法,其特征在于,所述指示位图的长度等于该元组属性值域被划分子域的个数,与笛卡尔积的大小B相同。6.如权利要求I所述的云环境中基于分片位图索引的查询方法,其特征在于,步骤3)中建立位图索引的方法是对该节点上存在的元组所对应的位串的全局排序值建立B+树,树的叶节点中的每一个键对应于一个排序值 ’为B...

【专利技术属性】
技术研发人员:孟必平王腾蛟李红燕高军杨冬青唐世渭
申请(专利权)人:北京大学
类型:发明
国别省市:

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

1