终端有可能看不到所有的缓冲( 二 )
单调性(Monotonicity)单调性是指如果已经有一些内容通过哈希分派到了相应的缓冲中 , 又有新的缓冲区加入到系统中 , 那么哈希的结果应能够保证原有已分配的内容可以被映射到新的缓冲区中去 , 而不会被映射到旧的缓冲集合中的其他缓冲区 。 简单的哈希算法往往不能满足单调性的要求 , 如最简单的线性哈希:x\n = (ax + b) mod \n(P) , 在上式中 , P表示全部缓冲的大小 。 不难看出 , 当缓冲大小发生变化时(从P1到P2) , 原来所有的哈希结果均会发生变化 , 从而不满足单调性的要求 。 哈希结果的变化意味着当缓冲空间发生变化时 , 所有的映射关系需要在系统内全部更新 。 而在P2P系统内 , 缓冲的变化等价于Peer加入或退出系统 , 这一情况在P2P系统中会频繁发生 , 因此会带来极大计算和传输负荷 。 单调性就是要求哈希算法能够应对这种情况 。
分散性(Spread)在分布式环境中 , 终端有可能看不到所有的缓冲 , 而是只能看到其中的一部分 。 当终端希望通过哈希过程将内容映射到缓冲上时 , 由于不同终端所见的缓冲范围有可能不同 , 从而导致哈希的结果不一致 , 最终的结果是相同的内容被不同的终端映射到不同的缓冲区中 。 这种情况显然是应该避免的 , 因为它导致相同内容被存储到不同缓冲中去 , 降低了系统存储的效率 。 分散性的定义就是上述情况发生的严重程度 。 好的哈希算法应能够尽量避免不一致的情况发生 , 也就是尽量降低分散性 。
推荐阅读
- 三国杀|三国杀:有没有可能一张杀干掉七个人?加伤尿分叉缺一不可!
- 穿越火线|CF:从挑战模式的现实需要出发,未来有可能出现哪些功能性道具?
- 万圣节|全开者战队:万圣节专场来袭,破坏凯撒有可能是介人的父亲!
- 宿舍|王者荣耀:李信这次周年庆过后,还有可能出新皮肤?暗信玩家哭了
- 穿越火线|还记得穿越火线的兵服和战服吗?如今在CFHD都看不到了
- 手机游戏|DNF手游今年上线无望,体验服已经彻底凉凉,热闹街区看不到一个人
- rw战队|KPL前瞻:Hero对阵RW侠首发公布,黑鲸的Flag真有可能实现
- 白鲨|王者中的无皮英雄谁最有可能摆脱这个称号?狼狗表示我绝无可能
- 许秀|DK并非王者之师,LPL赛区依然有可能夺冠,Showmaker成为最大问题!
- 大唐|梦幻西游:黑市拍卖中最恶心人的事,头像全亮还有可能会亏钱呢