摘要

针对当前简单发现算法(SDP)中线性链表式存储结构对多层节点查找时延偏高和内存占用大的问题,提出一种基于分层布隆过滤器的发布/订阅自动发现算法(HBFADA)。使用动态布隆计数树(DBCT)型数据结构,根据添加元素个数动态创建节点,把待查询元素录入为集合,利用集合的相交运算判断元素是否存在于网络;对每个字节增加一个计数器,记录对应字节被置位的次数,解决布隆过滤器元素删除困难的问题。实验结果表明,HBFADA算法的时延参数和内存消耗明显低于SDP和BFSDP,能够删除已存在的节点信息,在允许低误报率的情况下,满足现实应用的需求。