1.一种抑制非响应流和服务区分的双队列缓存管理方法,其特征在于,包括以下步骤:在新数据包进入路由时,SQM-LRU预先在SQ中以概率psamp采样,然后将采样结果与新数据包进行匹配比对;
若新数据包在SQ中匹配成功则该新数据包疑似长流,将其放入M-LRU中进行更新操作,若该数据包在M-LRU中命中(hit),则根据包计数器将该条目添加、移入Top位置或Mark位置,若M-LRU满,则将Bottom节点或Mark节点条目删除,其中M-LRU中大于阈值plth的流才被判断为长流;
若新数据包与采样结果不匹配,则说明该新数据包在路由器中出现不频繁,将该新数据包与M-LRU中的记录进行比较,判断其是否属于先前已记录的长流,若属于长流,则将M-LRU中该条记录带到Top节点位置,同时更新影子队列;
基于获取的分类结果将新数据包放入不同的优先级队列中,并采用轮询调度的方法在双队列中进行数据包调度。
2.根据权利要求1所述的抑制非响应流和服务区分的双队列缓存管理方法,其特征在于,所述SQM-LRU包括分类器、双队列和调度器,其分类器包括SQ和M-LRU,分别用以识别自私流和恶意流并记录其状态信息。
3.根据权利要求2所述的抑制非响应流和服务区分的双队列缓存管理方法,其特征在于,步骤所述概率psamp采样,包括:每条流被采样到的概率,表示为:
其中,bn表示属于流n的数据包在路由中的数量。
4.根据权利要求1所述的抑制非响应流和服务区分的双队列缓存管理方法,其特征在于,步骤所述采样结果与新数据包进行匹配比对,还包括以下步骤:比对后的数据包在LRU中进行更新;
若更新后包计数器pcount小于阈值pltf则将该条目移至Mark节点位置;若pcount>pltf,则将该条目移至LRU顶部;
若M-LRU空间已满,则删除Mark节点位置信息或Bottom节点位置信息,即最久未出现的长流/短流信息。
5.根据权利要求4所述的抑制非响应流和服务区分的双队列缓存管理方法,其特征在于,所述M-LRU包括哈希表和双链表,其所述双链表包括三个空节点指针Top、Mark和Bottom,所述Mark为分隔LTF流计数单元和SLS计数单元的分隔节点,其在LRU中每个节点信息pinfo包括流唯一标识fid和包计数器pcount。