书签 分享 收藏 举报 版权申诉 / 6

一种面向海量数据检索的多级桶哈希索引方法.pdf

  • 上传人:柴****2
  • 文档编号:5806884
  • 上传时间:2019-03-21
  • 格式:PDF
  • 页数:6
  • 大小:268.97KB
  • 摘要
    申请专利号:

    CN200910256103.3

    申请日:

    2009.12.29

    公开号:

    CN101782922A

    公开日:

    2010.07.21

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    专利权人的姓名或者名称、地址的变更IPC(主分类):G06F 17/30变更事项:专利权人变更前:山东山大鸥玛软件有限公司变更后:山东山大鸥玛软件股份有限公司变更事项:地址变更前:250101 山东省济南市高新区天辰大街1318号变更后:250101 山东省济南市高新区伯乐路128号|||授权|||实质审查的生效IPC(主分类):G06F 17/30申请日:20091229|||公开

    IPC分类号:

    G06F17/30

    主分类号:

    G06F17/30

    申请人:

    山东山大鸥玛软件有限公司

    发明人:

    王希常; 马磊; 刘江

    地址:

    250101 山东省济南市高新区天辰大街1318号

    优先权:

    专利代理机构:

    济南金迪知识产权代理有限公司 37219

    代理人:

    王绪银

    PDF完整版下载: PDF下载
    内容摘要

    一种面向海量数据检索的多级桶哈希索引方法,涉及海量数据存储领域。其特征在于:(1)提供桶映射表,用于减小哈希索引文件在磁盘上的占用空间(2)哈希索引采用了多级桶,磁盘块的大小是扇区大小的整数倍,每个磁盘块有一个或多个基本桶,可以有块内溢出桶,具有全局溢出桶(3)提供索引文件的数据缓存结构,提供了数据缓存映射表,数据缓存的管理使用缓存映射表上的双向链表实现。本发明通过映射表减小索引文件在磁盘上的占用空间,磁盘块是磁盘扇区大小的整数倍,并通过数据缓存结构减少了磁盘读写次数,提高了内存利用效率和数据的检索效率。

    权利要求书

    1: 一种面向海量数据检索的多级桶哈希索引方法,其特征在于,方法包括哈希索引的创建方法和检索方法,哈希索引的创建方法如下: 1)对创建索引的信息确定一个关键字; 2)在计算机内存中建立索引桶的映射表,即关键字的哈希值h和索引桶在磁盘上的存储位置c; 3)判断索引桶是否在磁盘上,即判断存储位置的值是否等于8个字节的最大值;如果等于8个字节的最大值,说明磁盘上没有已存储的索引桶,继续步骤4);如果不等于8个字节的最大值,说明磁盘上已有已存储的索引桶,转步骤(7); 4)磁盘上没有已存储的索引桶时,在磁盘上创建一个新的磁盘块d并存储信息,建立一个新的索引桶,确定新的索引桶在磁盘块d内的序号; 5)更新映射表,使c=d; 6)更新磁盘,反复存储; 7)磁盘上已有已存储的索引桶时,确定该索引桶在磁盘块内的序号; 8)判断该索引桶是否有足够的空间存储新的关键字,如果有足够的空间,转步骤(6);如果没有足够的空间,关键字在该索引桶溢出,存储到磁盘块内溢出桶;如果磁盘块内溢出桶也没有足够的空间,关键字在磁盘块内溢出桶溢出,存储到全局溢出桶。 哈希索引的检索方法如下: 1)对待检索索引的信息确定一个关键字; 2)读映射表; 3)判断待检索索引桶是否在磁盘上,即判断存储位置的值是否等于8个字节的最大值;如果等于8个字节的最大值,说明磁盘上没有已存储的待检索索引桶,检索结束;如果不等于8个字节的最大值,说明磁盘上已有已存储的待检索索引桶,转步骤(4); 4)如果不等于8个字节的最大值,从映射表内获取待检索索引桶号和该索引桶所在磁盘块的磁盘块号; 5)桶内检索,如果检索到,则检索结束;如果检索不到,在磁盘块内溢出桶检索; 6)在磁盘块内溢出桶检索到,检索结束;如果在磁盘块内溢出桶检索不到,则在全局溢出桶检索,检索结束。

    说明书


    一种面向海量数据检索的多级桶哈希索引方法

        【技术领域】

        本发明涉及一种面向海量数据检索的多级桶哈希索引方法,属于数据存储、检索技术领域。

        背景技术

        检索效率是海量数据存储、服务应用系统的一个重要指标,索引技术在数据空间组织和检索中具有重要的作用,目前大型数据库和数据存储应用系统都支持哈希表索引技术,数据来源迅速增长,如何快捷准确地获取感兴趣的信息,成为人们关注的主要问题,因此对海量等特性对检索技术提出了更高的要求,各种信息检索、过滤、提取技术逐渐成为研究的重点。哈希索引的一个非常重要的优点是检索效率不随数据量的增长而增加,影响哈希性能的主要因素是磁盘读写次数和哈希冲突问题。目前哈希索引主要有两种方式,静态哈希索引和动态哈希索引。

        【发明内容】

        针对现有技术的不足,本发明提供一种面向海量数据检索的多级桶哈希索引方法。

        一种面向海量数据检索的多级桶哈希索引方法,包括哈希索引的创建方法和检索方法,哈希索引的创建方法如下:

        1)对创建索引的信息确定一个关键字;

        2)在计算机内存中建立索引桶的映射表,即关键字的哈希值h和索引桶在磁盘上的存储位置c;

        3)判断索引桶是否在磁盘上,即判断存储位置的值是否等于8个字节的最大值;如果等于8个字节的最大值,说明磁盘上没有已存储的索引桶,继续步骤4);如果不等于8个字节的最大值,说明磁盘上已有已存储的索引桶,转步骤(7);

        4)磁盘上没有已存储的索引桶时,在磁盘上创建一个新的磁盘块d并存储信息,建立一个新的索引桶,确定新的索引桶在磁盘块d内的序号;

        5)更新映射表,使c=d;

        6)更新磁盘,反复存储;

        7)磁盘上已有已存储的索引桶时,确定该索引桶在磁盘块内的序号;

        8)判断该索引桶是否有足够的空间存储新的关键字,如果有足够的空间,转步骤(6);如果没有足够的空间,关键字在该索引桶溢出,存储到磁盘块内溢出桶;如果磁盘块内溢出桶也没有足够的空间,关键字在磁盘块内溢出桶溢出,存储到全局溢出桶。

        哈希索引的检索方法如下:

        1)对待检索索引的信息确定一个关键字;

        2)读映射表;

        3)判断待检索索引桶是否在磁盘上,即判断存储位置的值是否等于8个字节的最大值;如果等于8个字节的最大值,说明磁盘上没有已存储的待检索索引桶,检索结束;如果不等于8个字节的最大值,说明磁盘上已有已存储的待检索索引桶,转步骤(4);

        4)如果不等于8个字节的最大值,从映射表内获取待检索索引桶号和该索引桶所在磁盘块的磁盘块号;

        5)桶内检索,如果检索到,则检索结束;如果检索不到,在磁盘块内溢出桶检索;

        6)在磁盘块内溢出桶检索到,检索结束;如果在磁盘块内溢出桶检索不到,则在全局溢出桶检索,检索结束。

        当存储和检索海量数据时,索引文件本身较大,哈希索引占用空间较大,为了尽量减小哈希索引文件,提高磁盘利用效率和文件读性能,本发明提供了桶映射表,避免了哈希索引文件中的空桶;数据检索时,为了减少磁盘读次数,本发明提供了缓存管理,提高了内存的利用率,当桶的数据在内存中时,直接从内存取数据,避免了磁盘的读操作;为了减少哈希冲突引起的性能下降,本发明提供了基于磁盘块结构的块内溢出桶和全局溢出桶,减少了冲突引起的磁盘读写操作,提高了效率,实验证明本发明具有很高的实用价值。

        本发明能充分利用磁盘和内存,并减少磁盘读写次数,提高海量数据存储、检索效率。

        【附图说明】

        图1为索引创建流程图。

        图2为索引检索流程图。

        具体实施方式:

        实施例:

        一种面向海量数据检索的多级桶哈希索引方法,包括哈希索引的创建方法和检索方法,哈希索引的创建方法如下:

        1)对创建索引的信息确定一个关键字;

        2)在计算机内存中建立索引桶地映射表,即关键字的哈希值h和索引桶在磁盘上的存储位置c;

        3)判断索引桶是否在磁盘上,即判断存储位置的值是否等于8个字节的最大值;如果等于8个字节的最大值,说明磁盘上没有已存储的索引桶,继续步骤4);如果不等于8个字节的最大值,说明磁盘上已有已存储的索引桶,转步骤(7);

        4)磁盘上没有已存储的索引桶时,在磁盘上创建一个新的磁盘块d并存储信息,建立一个新的索引桶,确定新的索引桶在磁盘块d内的序号;

        5)更新映射表,使c=d;

        6)更新磁盘,反复存储;

        7)磁盘上已有已存储的索引桶时,确定该索引桶在磁盘块内的序号;

        8)判断该索引桶是否有足够的空间存储新的关键字,如果有足够的空间,转步骤(6);如果没有足够的空间,关键字在该索引桶溢出,存储到磁盘块内溢出桶;如果磁盘块内溢出桶也没有足够的空间,关键字在磁盘块内溢出桶溢出,存储到全局溢出桶。

        哈希索引的检索方法如下:

        1)对待检索索引的信息确定一个关键字;

        2)读映射表;

        3)判断待检索索引桶是否在磁盘上,即判断存储位置的值是否等于8个字节的最大值;如果等于8个字节的最大值,说明磁盘上没有已存储的待检索索引桶,检索结束;如果不等于8个字节的最大值,说明磁盘上已有已存储的待检索索引桶,转步骤(4);

        4)如果不等于8个字节的最大值,从映射表内获取待检索索引桶号和该索引桶所在磁盘块的磁盘块号;

        5)桶内检索,如果检索到,则检索结束;如果检索不到,在磁盘块内溢出桶检索;

        6)在磁盘块内溢出桶检索到,检索结束;如果在磁盘块内溢出桶检索不到,则在全局溢出桶检索,检索结束。

    关 键  词:
    一种 面向 海量 数据 检索 多级 桶哈希 索引 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种面向海量数据检索的多级桶哈希索引方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-5806884.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1