Highest Random Weight算法及其扩展

负载均衡 专栏收录该内容
1 篇文章 0 订阅

Highest Random Weight算法及其扩展

-Highest Random Weight算法的介绍
-扩展的HRW算法


Highest Random Weight算法的介绍

Highest Random Weight(HRW)即最高随机加权哈希是一种允许客户端实现分布式协议来均衡服务器缓存的算法,该算法解决了分布式散列表的问题:给定对象O的一组客户端,使得这些客户端在一组N个站点(例如,服务器)放置的位置上达成一致。基本思想是对于给定的对象O,使用伪随机函数Weight(O,Si)为每一个服务器Si生成一个随机权重,给定对象只能存储在具有最高权重的服务器中。HRW算法可以使用如下函数表示:
F(rK)=Si:Weight(O,Si)>=Weight(O,Sj) (1)
其中伪随机函数可以表示为:
Weight(O,Si)=(1103515245*(1103515245*Si+12345) XOR D(K))+12345) (mod 231) (2)

扩展的HRW算法

由于最高随机权重哈希是一种客户端实现的分布式协议,因此,为了降低客户端的运行时间,本文提出了一种扩展的HRW算法,并引入了虚拟节点和虚拟层次树的概念,通过降低层次结构的同时在每一层次应用HRW算法来实现O(logn)的运行时间。其中涉及的概念定义如下:
定义1 实节点 服务器,作为虚拟层次树中的叶子节点;
定义2 虚节点 将所有的实节点进行分组,每一组向上抽取出来一个虚节点,称为一层虚节点,依次地,同一层上的所有虚节点再次进行分组,每一组再向上层抽取出来一个虚节点,该层的虚节点称为二层虚节点,不断向上进行抽取,直到向上只能抽取出一个虚节点,该节点记为根节点。
定义3 虚拟层次树 由定义1和2可知,所有的实节点和虚节点构成一个虚拟层次树,该树中,除了叶子节点,其余所有的节点包括根节点全都为底层向上抽取出来的虚拟节点。
定义4 簇和扇出 将所有业叶子节点按照簇的大小进行分组,所有的虚节点按照扇出的大小进行划分,知道抽离出只有一个虚节点记为根节点。


备注:
[1]: http://math.stackexchange.com/
[2]: https://github.com/jmcmanus/pagedown-extra “Pagedown Extra”
[3]: http://meta.math.stackexchange.com/questions/5020/mathjax-basic-tutorial-and-quick-reference
[4]: http://bramp.github.io/js-sequence-diagrams/
[5]: http://adrai.github.io/flowchart.js/
[6]: https://github.com/benweet/stackedit

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值