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

一种分布式B+树索引系统及构建方法技术方案

技术编号:3850569 阅读:1007 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种分布式B+树索引系统及构建方法,其特征在于:它包括主服务器、事务服务器机群、索引服务器机群和版本控制服务器;事务服务器机群包括多个事务服务器,索引服务器机群包括多台索引服务器;主服务器负责管理META数据,并对索引服务器机群进行负载平衡调度;事务服务器机群负责对分布式文件系统中索引数据访问的事务控制;索引服务器机群负责管理和读写分布式文件系统中的索引数据。本发明专利技术提出了一种细粒度、小网络流量的索引事务机制,由于本发明专利技术的事务基本操作是基于B+树的键值粒度,事务基本操作在执行时只需要传输几十个字节的B+树索引键值对,因此本发明专利技术有效地实现了并发环境下索引数据的事务功能。

【技术实现步骤摘要】

本专利技术涉及一种数据索引系统及构建方法,特别是一种用于云存储环境下的 分布式B+树索引系统及构建方法
技术介绍
随着互联网技术的发展和Web2. 0时代的到来,由于应用过程中需要对海量数 据进行处理和运算,这样的应用环境对Web应用数据管理系统的可扩展性、可靠 性和高效性提出了更高的要求。随着云环境技术的日益成熟,云存储系统在如今 Web数据管理方面体现出越来越明显的优势。云存储是指通过机群应用、网格技术或分布式文件系统等功能,将网络中大 量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据 存储和业务访问功能的一个系统。现有的云存储系统如Bigtable、 Hbase、 PNUTS 等,它们在对海量数据的索引方面都存在着一些不足,主要包括1)现有系统都 只有对数据的主键上的索引,缺乏对数据的其他属性的有效索引方式;如果客户 端应用服务器需要依据数据的某些其他属性上的检索条件进行查询时,系统只能 通过遍历所有数据的方式实施查询,从而使得査询效率非常低。2)现有系统在索 引操作中缺乏有效的并发控制事务机制;这样的缺陷直接导致客户端应用服务器 在使用索引接口时必须通过自己的编码来保证并发环境下的事务一致性,这使得 客户端应用服务器的开发变得复杂,缺乏对不同索引操作的普适支持。综上所述,为了在云存储系统中提供高效的结构化查询能力,开发一种有效 的云存储系统下的索引系统有着重要的意义。
技术实现思路
针对上述问题,本专利技术的目的是提供一种在云存储环境下能够增强索引操作 中的并发控制事务支持的分布式B+树索引系统及构建方法。为实现上述目的,本专利技术采取以下技术方案 一种分布式B+树索引系统,其 特征在于它包括主服务器、事务服务器机群、索引服务器机群和版本控制服务 器;所述事务服务器机群包括多个事务服务器,所述索引服务器机群包括多个索 引服务器;所述主服务器负责管理META数据,并对所述索引服务器机群进行负载 平衡调度;所述事务服务器机群负责对分布式文件系统中索引数据访问的事务控制;所述索引服务器机群负责管理和读写所述分布式文件系统中的索引数据;所 述版本控制服务器负责在并发环境下所述索引服务器机群中的索引数据备份的一 致性控制;云存储系统通过所述事务服务器机群向所述索弓I服务器机群并发起事 务基本操作。所述负载平衡调度包括当有新索引数据插入系统时,所述主服务器调度当前 负载较低的所述索弓I服务器来管理所述新索弓I数据。一种实现如权利要求1或2所述系统的分布式B+树索引构建方法,其步骤包 括1)云存储系统发起事务访问请求,事务服务器机群将所述事务访问请求分解 为若干事务基本操作,同类事务基本操作组成事务基本操作序列;2)所述索引服 务器根据所述事务基本操作序列中的读操作,读取分布式文件系统中的索引数据 并进行备份;其余事务基本操作序列缓存在所述事务服务器机群中;3)各索引服 务器结合有效性验证条件对事务基本操作序列进行事务有效性验证;4)如果所述 事务服务器机群接收到的各个索引服务器的事务有效性验证返回结果都为成功, 则执行步骤5);否则各个索引服务器从缓冲区中将所述事务访问请求的事务基本 操作序列删除,所述事务服务器机群向所述云存储系统发送事务执行结果为失败; 5)所述各索引服务器执行缓存在所述索引服务器机群中的除写操作之外的其余事 务基本操作序列,之后将操作执行结果保存在副本中,执行写操作,返回提交成 功结果给所述事务服务器机群,如果所述事务服务器机群收到的所有所述索引服 务器的操作执行结果都为成功,则执行步骤6);如果存在某个索引服务器的操作 执行结果为失败,各个索引服务器将所述副本删除,所述事务服务器机群向所述 云存储系统发送事务执行结果为失败;6)所述各索引服务器将所述副本标记为已 提交版本储存在所述分布式文件系统中;之后所述事务服务器机群向所述云存储 系统发送所述操作执行结果的返回值;7)所述云存储系统将所述事务服务器机群 的各个所述事务基本操作执行结果进行归并,得到满足所述事务访问请求的索引 数据。所述步骤2)中,主服务器对具有索引数据备份的索引服务器进行选择,选择 相对空闲的索引服务器响应事务基本操作序列。所述步骤3)中,所述有效性验证条件根据所述云存储系统设定的事务一致性 级别定制。所述步骤3)中,所述事务基本操作序列包括当前索引服务器正在执行的或已 执行完成,但执行结束时间晚于当前事务基本操作序列开始时间的事务基本操作序列。所述事务基本操作的类别包括获取下一个结点操作、读操作、写操作、分裂 操作和合并操作。本专利技术由于采取以上技术方案,其具有以下优点1、本专利技术由于采用主服务器对各索引服务器进行负载平衡调度,使得索引结构具有良好的扩展性,支持依据主属性外的其他属性上的检索条件进行査询,从而提高査询效率。2、本专利技术的事务服务器将客户端发出的事务访问请求分解成若干个事物基本操作,再将事物 基本操作按照类别组成事物基本操作序列发送到对应的索引服务器中,使得本专利技术的系统能够在云环境下显著得提高结构化查询的效率。3、本专利技术提出了一种细 粒度、小网络流量的索引上的事务机制,由于本专利技术的事务基本操作是基于B+树 的键值粒度,事务基本操作在执行时只需要传输几十个字节的B+树索引键值对, 而现有方法的事务机制是基于B+树结点粒度, 一般以几K个字节大小的B+树结点 作为基本单位进行传输,因此本专利技术有效地实现了并发环境下索引数据的事务功 能。附图说明图1是本专利技术分布式B+树索引系统框架示意图 图2是本专利技术分布式B+树索引中事务执行的流程示意图 具体实施例方式下面结合附图和实施例对本专利技术进行详细的描述。本专利技术提供了一种基于云存储环境下的分布式B+树索引构建方法及系统,可 以直接获取到满足用户查询条件的网页的存储位置信息,从而直接获取网页数据 返回给用户,而不再需要遍历整个系统中保存的网页集合,极大地提高了索引效 率。其中,B+树索引是一种综合效率较高的用于数据库索引的数据结构,其特点 在于所有的关键字都出现在叶子结点的链表中,且链表中的关键字恰好是有序 的;搜索只有达到叶子结点才结束;搜索过程等价于在关键字全集内做一次二分 查找;非叶子结点相当于叶子结点的索引,叶子结点相当于存储索引数据的数据 层。如图1所示,本专利技术的分布式B+树索引系统包括主服务器1、事务服务器机 群2、索引服务器机群3和版本控制服务器4。其中,事务服务器机群2包括多个 事务服务器21,索引服务器机群3包括多台索引服务器31。主服务器l负责管理 分布式B+树索引系统中的META数据。当有新的索引服务器31进入索引服务器机 群3时,由主服务器1对索引服务器机群3进行负载平衡调度使得系统具有良好的扩展性。当有新的索引数据插入分布式B+树索引系统时,主服务器l调度当前 负载较低的索引服务器31来管理新索引数据。事务服务器机群2负责对分布式文 件系统6中索引数据访问的事务控制,由事务服务器21将云存储系统5发出的事 务访问请求分解成若干个由同类事务基本操作组成的事物基本操作序列,通过这 些事务基本操作序列访问索弓I服务器机群3获得索引数据并返回云存储系统5 。索 引服务器机群3负责管理和读写分布式文件系统6中的索引数据,每台索引服本文档来自技高网...

【技术保护点】
一种分布式B+树索引系统,其特征在于:它包括主服务器、事务服务器机群、索引服务器机群和版本控制服务器;所述事务服务器机群包括多个事务服务器,所述索引服务器机群包括多个索引服务器;所述主服务器负责管理META数据,并对所述索引服务器机群进行负载平衡调度;所述事务服务器机群负责对分布式文件系统中索引数据访问的事务控制;所述索引服务器机群负责管理和读写所述分布式文件系统中的索引数据;所述版本控制服务器负责在并发环境下所述索引服务器机群中的索引数据备份的一致性控制;云存储系统通过所述事务服务器机群向所述索引服务器机群并发起事务基本操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:汤成高军王腾蛟杨冬青
申请(专利权)人:北京大学
类型:发明
国别省市:11[中国|北京]

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

1