一种分布式存储器哈希索引方法及系统技术方案

技术编号:10666292 阅读:222 留言:0更新日期:2014-11-20 12:03
本发明专利技术属于数据库、分布式信息处理技术领域,尤其涉及一种分布式存储器哈希索引方法及系统。在本发明专利技术中,将哈希表的地址范围映射到多个存储器节点中,主节点计算键key的哈希值,根据计算得到的键key的哈希值获取存储器节点编号;然后根据存储器节点编号与存储器节点IP的映射关系查找到对应的存储器节点地址,对存储器节点地址对应存储器节点进行写入、读取、或删除操作,由于通过多个存储器节点扩充了存储器容量,同时通过基于键值(key-value)分布式哈希查找,提高了数据库系统的读写性能。

【技术实现步骤摘要】
【专利摘要】本专利技术属于数据库、分布式信息处理
,尤其涉及一种分布式存储器哈希索引方法及系统。在本专利技术中,将哈希表的地址范围映射到多个存储器节点中,主节点计算键key的哈希值,根据计算得到的键key的哈希值获取存储器节点编号;然后根据存储器节点编号与存储器节点IP的映射关系查找到对应的存储器节点地址,对存储器节点地址对应存储器节点进行写入、读取、或删除操作,由于通过多个存储器节点扩充了存储器容量,同时通过基于键值(key-value)分布式哈希查找,提高了数据库系统的读写性能。【专利说明】一种分布式存储器哈希索引方法及系统
本专利技术属于数据库、分布式信息处理
,尤其涉及一种分布式存储器哈希 索引方法及系统。
技术介绍
在科技快速发展的今天,社会各个领域中的需要统计的数据都飞速增长,海量数 据的记录、查找为计算机技术带来新的发展方向,提供新的技术课题。传统基于磁盘的哈希 表,每一次磁盘I/O都要耗费大量的时间,很难满足现代交易系统(如股票等)对实时回应时 间的要求。此外对于海量数据,单机节点由于存储器容量的限制无法将全部索引保存在内 存中。
技术实现思路
本专利技术的目的在于提供一种基于多存储节点以及key-value的分布式存储器哈 希索引方法,旨在解决现有的磁盘哈希表I/O耗时长以及单机节点由于存储器容量的限制 无法将全部索引保存在内存中的问题。 本专利技术是这样实现的,一种分布式存储器哈希索引方法,包括: 将哈希表的地址范围映射到多个存储器节点中; 主节点计算键key的哈希值,根据计算得到的键key的哈希值获取存储器节点编 号; 根据存储器节点编号与存储器节点IP的映射关系查找到对应的存储器节点地 址,所述存储器节点编号与存储器节点IP的映射关系存储在路由表中,所述路由表存储在 主节点中; 对所述存储器节点地址对应存储器节点进行写入、读取、或删除操作。 进一步的,所述的根据计算得到的键值的哈希值获取节点编号,具体为: 将计算得到的key的哈希值的前m位作为节点编号,所述m为存储器节点的个数。 进一步的,所述方法还包括: 磁盘节点通过基于磁盘的哈希表保存存储器节点中的哈希表的镜像,对磁盘节点 进行写入或删除操作。 本专利技术还提供了一种分布式存储器哈希索引系统,包括:映射模块、计算模块、第 一获取模块、第一查找模块、写入模块、读取模块、删除模块; 所述映射模块,用于将哈希表的地址范围映射到多个存储器节点中; 所述计算模块,用于主节点计算键key的哈希值; 所述第一获取模块,用于根据计算得到的键key的哈希值获取存储器节点编号; 所述第一查找模块,用于根据存储器节点编号与存储器节点IP的映射关系查找 到对应的存储器节点地址,所述存储器节点编号与存储器节点IP的映射关系存储在路由 表中,所述路由表存储在主节点中; 所述写入模块,用于对所述存储器节点地址对应存储器节点进行写入操作; 所述读取模块,用于对所述存储器节点地址对应存储器节点进行读取操 作; 所述删除模块,用于对所述存储器节点地址对应存储器节点进行删除操 作。 进一步的,所述第一获取模块还包括: 第一获取子模块,用于将计算得到的key的哈希值的前m位作为节点编号,所述m 为存储器节点的个数。 进一步的,所述系统还包括:存储模块,用于磁盘节点通过基于磁盘的哈希表保存 存储器节点中的哈希表的镜像; 进一步的,所述写入模块还用于对磁盘节点进行写入操作;所述删除模块还用于 对磁盘节点进行删除操作。 在本专利技术中,将哈希表的地址范围映射到多个存储器节点中,主节点计算键key 的哈希值,根据计算得到的键key的哈希值获取存储器节点编号;然后根据存储器节点编 号与存储器节点IP的映射关系查找到对应的存储器节点地址,对存储器节点地址对应存 储器节点进行写入、读取、或删除操作,由于通过多个存储器节点扩充了存储器容量,同时 通过基于键值(key-value)分布式哈希查找,提高了数据库系统的读写性能。 【专利附图】【附图说明】 图1是本专利技术实施例提供的分布式存储器哈希索引方法的实现流程图; 图2是本专利技术实施例提供的对节点地址对应节点进行写入操作具体实现流程图; 图3是本专利技术实施例提供的对节点地址对应节点进行读取操作具体实现流程图; 图4是本专利技术实施例提供的对节点地址对应节点进行删除操作具体实现流程图; 图5是本专利技术实施例提供的分布式存储器哈希索引系统的结构框图; 图6是本专利技术实施例提供的图5中的写入模块55的结构框图; 图7是本专利技术实施例提供的图5中的读取模块56的结构框图; 图8是本专利技术实施例提供的图5中的删除模块57的结构框图。 【具体实施方式】 为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并 不用于限定本专利技术。 图1示出了本专利技术实施例提供的一种分布式存储器哈希索引方法的实现流程,详 述如下: 步骤101、将哈希表的地址范围映射到多个存储器节点中。 首先将哈希表的地址范围映射到多个存储器节点中,每个存储器节点存储相应的 哈希表也即保存索引表的一部分。所有的存储器节点组成的集群也叫储存器索引点。 步骤102、主节点计算键key的哈希值,根据计算得到的键key的哈希值获取存储 器节点编号。 -个key(键)应该映射到哪个存储器节点有主节点决定,主节点计算键key的哈 希值,根据计算得到的键key的哈希值获取存储器节点编号。在本专利技术实施例中,根据计算 得到的键值的哈希值获取节点编号,具体为:将计算得到的key的哈希值的前m位作为节点 编号,其中m为存储器节点的个数。 步骤103、根据存储器节点编号与存储器节点IP的映射关系查找到对应的存储器 节点地址。 主节点获取存储器节点编号之后,根据存储器节点编号与存储器节点IP的映射 关系查找到对应的存储器节点地址。存储器节点编号与存储器节点IP的映射关系事先存 储在路由表中,而路由表存储在主节点中。 步骤104、对上述存储器节点地址对应存储器节点进行写入、读取、或删除操作。 主节点查找到对应存储器节点的地址之后,对存储器节点地址对应存储器节点进 行写入(put)、读取(get)、或删除(delete)操作。 本专利技术实施例,由于通过多个存储器节点扩充了存储器容量,同时通过基于键值 (key-value)分布式哈希查找,提高了数据库系统的读写性能。 进一步的,为了对索引保持持久化,上述方法还包括:磁盘节点通过基于磁盘的哈 希表保存存储器节点中的哈希表的镜像,对磁盘节点进行写入或删除操作。具体的,读取操 作只针对存储器节点进行,并不会查找磁盘节点,而写入与删除操作会同时针对存储器节 点与磁盘节点进行操作,但是,针对存储器节点的操作与针对磁盘节点的操作是非同步进 行的,存储器节点的操作并不需要等待磁盘节点操作的完成,因此,磁盘节点的操作并不影 响系统整体性能。加入磁盘节点的目的是为了对索引进行持久化保本文档来自技高网...

【技术保护点】
一种分布式存储器哈希索引方法,其特征在于,包括: 将哈希表的地址范围映射到多个存储器节点中; 主节点计算键key的哈希值,根据计算得到的键key的哈希值获取存储器节点编号; 根据存储器节点编号与存储器节点IP的映射关系查找到对应的存储器节点地址,所述存储器节点编号与存储器节点IP的映射关系存储在路由表中,所述路由表存储在主节点中; 对所述存储器节点地址对应存储器节点进行写入、读取、或删除操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:许志良王寅峰赖红张运生
申请(专利权)人:深圳信息职业技术学院
类型:发明
国别省市:广东;44

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

1