当前位置: 首页 > 专利查询>张真专利>正文

一种带有数据立方存储索引结构的云计算系统技术方案

技术编号:7460593 阅读:203 留言:0更新日期:2012-06-24 17:21
本发明专利技术公开了一种带有数据立方存储索引结构的云计算系统,本系统由一个或多个管理节点,一个或多个计算及存储节点(数据节点)组成,系统在数据建立与查询时,分布式建立与应用数据立方索引结构,在数据建立及存储时,对规范化的数据设定1个或多个关键字字段,将不同的关键字字段分别建立索引,每张不同的索引生成一张独立的B+树结构,多个B+树结构垛叠在一起,与全局数据表形成一个完整的数据立方结构。利用数据立方存储索引结构,可方便快捷的在海量数据云计算系统中准确检索定位数据。

【技术实现步骤摘要】

本专利技术涉及电子信息
,尤其涉及一种带有数据立方存储索引结构的云计算系统
技术介绍
爆炸化的数据增长导致了数据存储困难、检索复杂和可靠性降低等多重问题。云计算和云存储技术的出现,为海量数据的处理与存储提供了有效的解决途径。在通常的云计算解决方案中,通过Hadoop (—种分布式系统基础架构)的HDFS (— 种分布式文件系统)可以方便的实现海量数据存储,同时有效防止单点故障,避免不必要的损失。但是,在HDFS上进行数据检索时,常用的方法是开启全局搜索MapReduce(大规模数据并行运算),这需要完整过滤一遍HDFS上存储的所有数据。在云计算中,尤其是在海量数据情况下,这样做会对系统资源造成巨大的浪费,耗费大量的时间,这显然不是一个适合投入现实生产环境的方式。
技术实现思路
专利技术目的本专利技术的目的在于克服现有技术的不足,提供一种带有数据立方存储索引结构的云计算系统,通过索引查询的方式,提高在云计算中海量数据检索速度,降低资源浪费,节省时间,同时保障云计算系统内数据的安全。对此本专利技术提供了一种带有数据立方存储索引结构的云计算系统,本系统在数据存储时对数据的各个关键字建立索引,通过检索对应关键字索引,快速定位到要读取和查找的源数据文件,进行数据过滤。在本专利技术中,每个字段的索引被分布式存储在不同的数据节点上,查询索引的过程是一个同步的查询过程,每一台数据节点的机器都去查找各自索引的内容,检索出相关源文件记录后再过滤汇总,形成完整的结果。本专利技术提供了一种带有数据立方存储索引结构的云计算系统,本系统采用完全分布式索引,分布式入库到各个不同的数据节点上,每个数据节点分别对该节点上的数据独立的建立索引。每个集群节点单独建立索引,在云中存在多个索引的备份,根据文件的冗余备份方式,不同的文件可能被分别指向了不同的节点索引。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,在数据建立及存储时,对规范化的数据设定1个或多个关键字字段,将不同的关键字字段分别建立索引,每张不同的索引生成一张独立的B+树结构,多个B+树结构垛叠在一起,与数据存储形成一个完整的数据立方结构。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,数据在建立及存储同时建立由插入B+树构成的数据立方索引。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,由插入B+树构成的数据立方索引是分布式方法建立的,多节点多机器同步并行处理。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,数据设定的关键字字段可以为1个或多个,针对每一个关键字字段分别建立索引,每个索引的增加也同时增加数据立方的厚度。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,索引以B+树的结构生成,每一条新的记录只需要插入到B+树中。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,B+树的插入仅在叶结点上进行。每插入一个索引项后都要判断结点中的子树棵数是否超出范围。当插入后结点中的子树棵数大于某一值时,该数值可根据需要设定为任意数值,需要将叶结点分裂为两个结点。它们的双亲结点中应同时包含这两个结点的最大关键码和结点地址。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,在非叶结点插入时,与叶结点的插入类似,非叶结点中的子树棵数的上限为一个范围,此范围可根据需要设定为任意数值,超出这个范围也要进行结点分裂。在做根结点分裂时,创建新的双亲结点, 作为树的新根。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,当有新的记录到来时,将新的数据记录对应的一条索引记录插入到所有的字段索引中,采取一定的写入策略。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,所述的写入策略如下当新的记录积累到若干条(可根据需要任意设定)或经过一定时间(可根据需要任意设定)时,对于存储在MemCache (分布式缓存服务器)中的字段索引,可以将这些数据记录对应的索引记录一次性批量写入;当新的记录积累到若干条(可根据需要人已设定)或经过一定时间(可根据需要任意设定)时,可以将这些数据记录对应的索引记录一次性批量写入HDFS (固态磁盘)上的索引文件。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,对B+树的查找类似于二分查找,对于m阶,叶子节点中记录个数为η的B+树来说,其查找的时间复杂度为 0(log m+(n+l)/2)。因此对于值匹配和范围查找来说,有很快的速度。此外,由于对值按照大小顺序进行了指针链接,因此m阶B+树还可以进行对值进行顺序查找。本专利技术提供的一种带有数据立方存储索引结构的云计算系统,对重要字段建立索弓I,存储在HDFS(固态磁盘)上。将最近常用的字段索引加载到MemCache(高性能的分布式的内存对象缓存系统)中,同时删除最不常用的字段索引以节省空间。对于每次查询,系统统计每个字段索引被调用的次数,对于被调用次数最多的那些字段索引就被加载到MemCache 中,而在MemCache中被调用次数最少的某些字段将被删除。附图说明图1为数据立方存储索引结构图。图2为某一关键字字段基于B+树的索引结构图。具体实施例方式下面结合附图对本专利技术的实施方式作出说明本专利技术的一种带有数据立方存储索引结构的云计算系统,图1为数据立方存储索引结构,由全局数据表1、索引面2组成,全局数据表1中,X轴方向表示不同的关键字字段3,y轴方向表示不同的数据记录4,数据记录与关键字字段组合组成了不同数据记录及其关键字字段内容的对应关系,不同关键字字段构成不同的索引面,每一张索引面分别是某一字段基于B+树的索引表。本专利技术的一种带有数据立方存储索引结构的云计算系统,所述的索引表按如下方式建立如图2所示B+树索引表索引建立时对数据中重要字段建立索引,以B+树的结构生成,每一条新的记录只需要插入到B+树中。B+树的插入仅在叶结点上进行。每插入一个 (关键码-指针)索引项后都要判断结点中的子树棵数是否超出范围。当插入后结点中的子树棵数大于m时,需要将叶结点分裂为两个结点。它们的双亲结点中应同时包含这两个结点的最大关键码和结点地址。在非叶结点中关键码的插入与叶结点的插入类似,非叶结点中的子树棵数的上限为m,超出这个范围也要进行结点分裂。在做根结点分裂时,因为没有双亲结点,就必须创建新的双亲结点,作为树的新根。这样树的高度就增加一层了。当有新的记录到来时,我们要将新的数据记录对应的一条索引记录插入到所有的字段索引中,这时要采取一定的写入策略当新的记录积累到nl条或经过一定时间tl时, 对于存储在MemCache中的字段索引,可以将这些数据记录对应的索引记录一次性批量写入;当新的记录积累到n2条或经过一定时间t2时,可以将这些数据记录对应的索引记录一次性批量写入HDFS (固态磁盘)上的索引文件。对B+树的查找类似于二分查找,对于m阶,叶子节点中记录个数为η的B+树来说, 其查找的时间复杂度为0(log m+(n+l)/2)。因此对于值匹配和范围查找来说,有很快的速度。此外,由于对值按照大小顺序进行了指针链接,因此m阶B+树还可以进行对值进行顺序查找。另外,本专利技术的一种带有数据立方存储索引结构的云计算系统将最近常用的字段索引加载到MemCache (高性能的分布式的内存对象缓存系统)中,同时删除最本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:张真
申请(专利权)人:张真
类型:发明
国别省市:

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

1
相关领域技术