面向异构DHT存储的数据与位置解耦算法——文献笔记

文章提出vRoute算法,通过在分布式哈希表中实现数据标识与存储位置的解耦,允许数据灵活存储在任意节点,同时保持与Kademlia相近的数据寻址效率。实验表明,尽管网络开销略增,但整体性能优秀。未来将探讨更多异构DHT存储挑战如数据修改和节点动态性问题。
摘要由CSDN通过智能技术生成

标题:面向异构DHT存储的数据与位置解耦算法
作者:罗超然,金鑫,张颖, 蔡华谦, 柳熠,景翔,黄罡
摘要:分布式哈希表(distributed hash table,DHT)由于其高效的数据寻址方式而被广泛应用于分布式存储.传统 DHT必须将数据存放在指定节点中才能实现高效的数据分布式寻址,极大地限制了DHT技术的应用范围.例如,在异构存储网络中,节点的存储空间、带宽、稳定性等均有较大差异,结合数据特征和节点性能差异选择合适的数据存放节点可以很大程度上提高数据的访问效率,而传统DHT数据和存储位置紧耦合的特征导致其难以应用于异构的存储网络中.针对此问题,提出了vRoute算法以实现DHT中数据标识与其存储位置的解耦.通过构建基于Bloom Filter的分布式数据索引,vRoute算法可以在不降低数据寻址效率的基础上允许数据存储在网络中的任意节点.通过扩展Kademlia算法实现了vRoute,并从理论上证明了vRoute算法的有效性.最后,模拟实验表明vRoute以较低的存储、网络开销实现了和传统的DHT算法接近的数据寻址效率.
关键词:分布式哈希表;对等网络;异构分布式存储

问题:
结构化P2P网络,例如基于DHT的P2P存储,每个参与节点会被分配一个全网唯一的标识,节点根据自己的标识按照一定规则选择网络中符合要求的其他节点作为邻居节点,建立连接、并将邻居节点的信息存储至本地路由表中。但是数据必须按照其标识存放在全网距离最近的节点中,无法根据节点的存储空间、带宽和可用性的异构性来将数据存放在合适的节点上,导致数据访问的效率往往取决于存储网络中的短板节点。
非结构化P2P存储,其节点之间的连接关系是任意的,节点不会被分配唯一标识并可以将任何监听到的节点加入本地路由表中。非结构化P2P存储的主要缺陷在于数据寻址的效率。

两节点之间距离定义为(Kademlia算法):
距离公式

反向路由表中每个路由项为一个三元组<IDnode, address, Set[BF Vector]>,其中IDnode, address分别代表节点的标识和网络地址,Set[BF Vector]表示节点所包含的数据标识集合,由于在指定的假阳性概率下每个Bloom Filter位向量(BF Vector)可包含的最大元素个数有限,故路由项中数据标识集合以Bloom Filter位向量集合的方式表示以支持反向路由表的动态扩容。

方法:
文章提出vRoute算法以解耦DHT中的数据和其存储位置,vRoute算法允许数据存储在P2P网络中任意节点的同时不降低数据的寻址效率。vRoute算法核心思想如下:
(1)基于Kademlia算法构建节点之间连接关系,基于Kademlia的寻址本文称之为“正向寻址”,节点本地的Kademlia路由表为“正向路由表”。
(2)在数据存储阶段,确定数据存储节点后,存储节点根据正向路由表传递所存储数据的标识,直至数据标识到达全网距离最近的节点(这里的距离最近是数据标识和节点标识异或的值最小),途径节点根据消息传入节点和数据标识(目标数据的数据标识)构建“反向路由表”。
(3)在数据查询阶段,从任意节点出发按照正向路由表寻址目标数据,当在反向路由表中遇到匹配的路由项(即路由项的Set[Bf Vector]的一个BF位向量中存在目标数据的数据标识)时将消息转发给匹配节点,开始反向寻址直至找到目标数据所在的存储节点。
由于反向路由表的存在,vRoute算法可以查询到存储在任意节点上的数据.此外,正向寻址路径和反向寻址路径长度最长均为logN,因此数据寻址复杂度和传统Kademlia一致,且后续实验表明,在合理的参数配置下vRoute 算法数据寻址效率并不低于传统的Kademlia.

有效性分析:
1.在基于Kademlia算法构建的P2P网络中,从任意点出发,最多经过logN个节点即可到达Nodet(距离D最近的节点)。
2.在反向寻址路径上的节点可用的情况下,反向寻址一定能找到目标数据所在节点,Bloom Filter的假阳性不影响vRoute算法反向寻址的正确性,仅影响反向寻址复杂度。
3.在网络规模为N的vRoute存储网络中,在反向寻址会停止,且会在logN步数内停止。

实验:
1.评估vRoute算法本身的开销。更高的并行度保证了更高的反向寻址路径的可用性,但同时也增加了一定的网络开销。
2.和传统Kademlia算法的性能对比。由于Kademlia的寻址路径面向顶点呈收敛特征,而vRoute算法的反向寻址是由顶点出发向叶子节点路由的过程,呈发散特征,因而vRoute算法在数据寻址方面网络开销要略高于Kademlia算法。但实验结果表明vRoute寻址的网络开销与N(网络规模)基本成对数关系,并不会造成过多的网络开销。

总结:
在存储开销方面,vRoute算法本身所带来的额外开销并不大;在数据寻址方面,vRoute算法的寻址效率和Kademlia相当,而网络开销较Kademlia略虽有提升但仍然是和网络规模呈对数相关。

未来工作:
仅就vRoute算法的核心理念进行了详细介绍,并未就异构 DHT存储中的所有问题进行阐述,比如:如何支持数据的修改和删除,以及如何应对P2P环境下节点频繁加入退出而导致的“搅动”现象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值