[发明专利]数据存储、查找的方法及系统有效
| 申请号: | 200810116322.7 | 申请日: | 2008-07-08 |
| 公开(公告)号: | CN101626392A | 公开(公告)日: | 2010-01-13 |
| 发明(设计)人: | 薛海强;王光霁;段晓东;魏冰 | 申请(专利权)人: | 中国移动通信集团公司 |
| 主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F17/30 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 | 代理人: | 魏 杉 |
| 地址: | 100032*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 数据 存储 查找 方法 系统 | ||
技术领域
本发明涉及通信技术领域,尤其涉及数据存储、查找的方法及系统。
背景技术
DHT(Distributed Hash Table,分布式哈希表)可用于分布式的数据存储。 在不需要服务器的情况下,每个客户端负责一个小范围的路由,并负责存储一 小部分数据,从而实现整个DHT网络的寻址和存储。经典DHT使用标准哈希 函数为每一份数据分配系统内一个唯一的ID(标识),同时也根据节点的识别 符,如IP地址等,为每一个节点分配系统内唯一的ID。经典DHT使用的标准 哈希函数可以定义为KEY=Hash(data),其中data是欲生成ID的数据,KEY 是标准哈希函数的返回值。
数据ID的分配可以按如下公式执行:
数据ID=Hash(数据)
节点ID的分配可以按如下公式执行:
节点ID=Hash(节点IP地址)
图1为利用经典DHT进行数据存储的一个具体实例,图中示出了一个3bit 的ID空间(从0至2^3-1),可以称为一个ID环,每一个节点负责存储位于其 前驱及其之间的那部分ID空间对应的数据。假设ID空间为N,节点s的ID 为s.id,s的前驱为s.p,s负责存储ID为d的数据,d符合如下公式:
0<(d-s.p.id)mod N<=(s.id-s.p.id)mod N
在图1中,可以看到,系统中存在ID为0、1、3共3个节点;ID为1、2、 6共3份数据。则根据上文描述的数据存储原理,即将数据存储于节点ID大于 等于数据ID的节点中,节点ID最小的节点,则数据1应存储于节点1上,数 据2应存储于节点3上,数据6应存储于节点0上(在ID环上顺时针方向依 次查找节点)。
下面以Chord为例,具体说明经典DHT的实现方法:
Chord中,每个节点只需要保存ID环上下一个节点的地址信息,就能够保 证整个覆盖网络的连通。这时,每个节点的路由表为O(1),但是,此时查找路 径长度为O(N),扩展性很差。为了提高扩展性和路由效率,Chord节点维护O(m) 大小的指针表(finger table)。设节点A的ID为n,则节点A的指针表第i项 是在ID空间上距离节点n至少2i-1的第一个节点s,即s=successor(n+2i-1),其 中1≤i≤m。虽然指针表可以提高路由的效率,但并不能增加路由的准确性。图 2所示为ID长度为3的ID空间以及指针表。
关键字的查找是指查找该关键字在ID空间上的后继节点S保存的该关键 字对应资源的信息(存储地址等)。由于Chord节点只保存部分节点的信息, 在查找时需要经过多个节点才能到达节点S。查找过程中,每一跳都可以使到 节点S的逻辑距离减少一半,则经过m跳后,查找请求可到达节点S。由于一 致哈希可以使节点和关键字ID随机地分布在ID空间上,所以查找请求在经过 O(logN)个节点后到达S。
图3示出了没有引入指针表时的路由路径。每个节点把请求沿顺时针方向 转发,直到存储请求关键字的节点。所以,路由长度平均为O(N),缺乏扩展 性。
图4A、图4B示出了引入指针表后,Chord的路由路径。其中,图4A显 示了节点N8的指针表,图4B显示了查询路径。节点在收到请求消息后,首 先确定是否保存着所要请求的关键字,如果没有保存则从指针表的最后一项开 始遍历指针表,知道找到第一个比所要请求的关键字ID小的表项,然后把请 求消息转发给该项指向的节点。比如,N8查找关键字ID54对应的数据资源, 由于54大于指针表的最后一项,所以最后一项40的后继节点42将成为消息 的下一跳。以此类推,直到到达节点N56。
有了资源定位算法,数据查询和存储都变得顺理成章,只要先定位到应该 存储某数据的节点,然后进行查询和存储即可。
发明人在实现本发明的过程中,发现早期的DHT实现了随机化分配节点 ID和用户数据ID,但是没有考虑到数据地域性的问题。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国移动通信集团公司,未经中国移动通信集团公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810116322.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:多层易拉罐
- 下一篇:基于虚拟网卡技术的多隧道并发模型实现方法
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





