摘要:在P2P 网络中,基于衰落Bloom Filter 的弱状态路由算法试图将每条查询消息沿着成员资格信息量最强的方向传递,并最终以较低的传输代价和传输时延确保较高的查准率.衰落Bloom Filter 在传递过程中存在严重的多径叠加和噪音问题,这直接导致查询消息会以很高的概率沿着错误的方向传播,甚至会退化为泛洪路由算法.为了解决这一挑战性难题,提出了DWalker 这种基于衰落Bloom Filter 的高效弱状态路由算法.DWalker 基于有向随机网络,采用指数衰落Bloom Filter 来发布和传播每个节点共享资源的信息,且其最大传播距离小于网络中任意两点之间距离的期望值,从而有效抑制了衰落Bloom Filter 在传播过程中的多径叠加问题.DWalker 采用多个Bloom Filter 而不是单个Bloom Filter 来表达一项路由条目,在单个Bloom Filter 的错误发生概率达到设计上限时,可按需动态增加新的Bloom Filter,以将更多资源对象信息纳入到当前路由条目中.DWalker 仅根据当前节点的各项路由条目中值为1 的比特位所占的最大比例,以及查询消息在正确转发方向对应的路由条目中对应比特位中值为1 的个数的临界值,就能使进入目标对象传播范围内的查询消息以较高的概率辨认出正确的路由方向.理论分析和实验结果表明,DWalker 能够以较低的查询消息代价、较小的路由条目存储开销以及较短的查询时延,使绝大多数查询消息沿正确方向转发,从而获得较高的查准率.