一种基于蚁群算法的内容中心网络缓存定位方法

文档序号:7806225阅读:208来源:国知局
一种基于蚁群算法的内容中心网络缓存定位方法
【专利摘要】本发明提供一种基于蚁群算法的内容中心网络缓存定位方法,在本发明中,考虑到内容中心网络局部流量特性,缓存节点在局部范围内主动发送通告蚂蚁,可达范围内的节点获知此缓存的位置,提高了缓存的利用率,同时缓存生存时间的考虑也会提高缓存的命中率。范围外的节点主动发送探测蚂蚁,从节点所有接口出发寻找缓存内容,发现内容过程中收集沿途的信息。生成的更新蚂蚁按原路返回,并利用收集的信息更新接口概率,概率将影响请求发出时接口的选择,进一步提高了网络缓存资源的充分利用,增加了缓存的命中概率,从而整体上提高内容中心网络的性能。
【专利说明】一种基于蚁群算法的内容中心网络缓存定位方法
【技术领域】
[0001] 本发明属于内容中心网络领域,具体涉及内容中心网络缓存定位方法。
【背景技术】
[0002]当今互联网在起源之初,主要的应用需求是计算资源共享,而经过50多年的发展,互联网的使用已发生了巨大的变化,现在互联网的主要使用需求是内容的获取和分发。虽然应用发生了很大的变化,但互联网的体系结构仍然是主机到主机(Host-to-Host)通信模式。对于以发布和获取信息为主的互联网应用,端到端通信模式存在明显的不足,比如每次存取内容,都要间接映射到内容所在的设备。目前广泛应用的端到端(P2P)技术和内容分发网络(CDN)技术,虽然在一定程度上缓解了用户对“内容/信息共享”的需求,但仍无法克服用户根本需求与网络设计理念不匹配带来的诸多问题。
[0003]针对上述问题,国际上主流的研究思路是建立内容中心网络CCN (ContentCentric Network),根据整个网络的需求,重新思考和定义网络的架构,使网络中的通信不再关注内容的存储位置,而仅关心需要获取的内容本身。
[0004]CCN是内容分布式存储的网络,缓存的充分利用对CCN性能的提升至关重要。现有的缓存策略主要有全路径缓存、随机缓存等,前者是数据返回时,整个路径上的节点都缓存内容;后者是在每个节点处以一定概率决定是否缓存,但是这两种策略都会带来网络缓存冗余。针对这两个策略的不足,有研究提出了一种改进方案,综合考虑距离和节点中心度这两个因素,缓存概率大小由这两个因素共同决定。但是上述策略共同的缺点都是路径外的节点无法感知周围的缓存,导致缓存利用率不高,网络冗余流量大。
[0005]目前蚁群算法已经在多个领域广泛应用,其在内容中心网络中的研究主要有文献[I]提出的SoCCeR路由算法,其核心思想是利用发送探测包的方式寻找网络中的缓存内容,并对网络状态进行考察,沿途更新信息素表。蚁群算法的自适应调节能力可以改善大范围内可能出现的链路拥塞。SoCCeR的优势显而易见:能够实现分布式的、自适应的网络路由机制,能够将蚁群算法的优势发挥出来,比如鲁棒性,自治性,可控性,协同性,多样性等。
[0006]但是,CCN 一大特点就是具有局部流量特性,即在一定的范围,大多数都是重复请求相同的内容。SoCCeR算法虽然能在全局范围内定位到缓存,但是没有考虑局部网络的流量特性以及缓存生存时间的有效性,在局部范围内主动探测缓存,会导致局部范围开销和延迟很大。
[0007]为了解决局部范围内缓存定位问题,一些协作缓存路由算法被提出。具有代表性的有节点与邻居节点交换缓存信息以及节点向周围节点通告缓存信息。这些算法能解决局部范围流量冗余问题,请求无需重复被转发,网络中的冗余流量将大大减少,请求响应时间也会减小。
[0008]对比文件
[0009][ I] S.Shanbhag, N.Schwan, 1.Rimac, and M.Varvel Ιο, ?ζ Soccer: servicesover content-centric routing, ” in ACM SIGCOMM workshop on Information-centricnetworking, 2011,pp.62 - 67.
【发明内容】

[0010]本发明的目的是提供一种基于蚁群算法的内容中心网络缓存定位方法,通过双向蚂蚁的主动通告和探测,提高网络中缓存的利用率,从而提高内容中心网络的整体性能。
[0011]为了达到上述目的,本发明采用以下技术方案:
[0012]I)本发明采用三种蚂蚁类型,通告蚂蚁、探测蚂蚁和更新蚂蚁。路由器缓存内容后,会生成通告蚂蚁,通告蚂蚁用于广播缓存内容信息。缓存内容信息的通告需要限定在一定的跳数内,因为CCN具有局部流量特性,同时需要限定缓存的生存时间,若缓存生存时间超时,缓存信息即失效。本发明还设计了蚂蚁信息表AIT (Ant Information Table),蚂蚁信息表由内容名、接口、缓存存放时间、缓存生存时间、概率构成,通告蚂蚁广播时需要携带缓存生存时间、缓存存放时间,每个节点将在AIT中记录这两个时间,用于之后的时间条件判断,以提高缓存的命中率。
[0013]2)相对于距离范围内的节点,范围外的节点对此缓存内容的请求会少一些,所以通告蚂蚁无需主动向这些节点通告。范围外的节点可以在网络空闲的时候,为其路由表中的内容事先定位好缓存位置。如果范围外的节点此时想要获取上述通告缓存,它们无法通过通告蚂蚁定位此缓存。范围外的节点通过发送探测蚂蚁,主动去探测缓存内容的位置。探测蚂蚁同时担负着监测网络状态的任务,所以探测蚂蚁需要沿途记录到达每个节点的时间。当到达缓存节点时,生成更新蚂蚁,更新蚂蚁沿探测蚂蚁到达的路径返回,沿途更新各节点AIT表中的接口概率。
[0014]具体包括以下步骤:
[0015]步骤一,缓存节点缓存内容后生成通告蚂蚁,从所有接口将通告蚂蚁发出,除了内容到达的接口。
[0016]步骤二,通告蚂蚁更新范围内节点的AIT表。
[0017]步骤三,范围外的节点在请求到达之前,从转发信息表(FIB)中随机选择一个内容,生成探测蚂蚁,从此节点的所有接口发出去。
[0018]步骤四,探测蚂蚁到达中间节点时,查看AIT表,判断时间条件是否满足,若满足,则直接从最大概率接口发出去初始情况下,概率被设为默认值,直接从满足时间条件的所有接口转发出去。若AIT表中没有此内容或者时间不满足,查看FIB表,从相应的接口转发。若FIB表中也没有此内容,则探测蚂蚁死亡,不再转发。
[0019]步骤五,探测蚂蚁到达缓存节点或源节点后,生成更新蚂蚁,并将沿途收集的信息复制给更新蚂蚁。
[0020]步骤六,更新蚂蚁按探测蚂蚁的反向路径返回,并沿途更新每个节点的AIT表中接口概率。
[0021 ] 本发明的有益效果体现在:
[0022]I)本发明同时考虑局部和全局范围内缓存定位问题,通过在局部范围内主动通告缓存信息、局部范围之外主动探测缓存,以达到有效定位缓存位置的目的,同时考虑缓存的生存时间,不仅降低网络的冗余流量而且提高缓存的命中率;
[0023]2)本发明基于蚁群算法定位缓存,在定位缓存的同时,能根据网络状态调整转发策略,避免遇到拥塞堵塞,在确保内容网络的稳定性的前提下充分利用缓存、提升了整个网络的性能。
【专利附图】

【附图说明】
[0024]图1是本发明实例中通告蚂蚁的结构示意图;
[0025]图2是本发明实例中探测蚂蚁的结构示意图;
[0026]图3是本发明实例中更新蚂蚁的结构示意图;
[0027]图4是本发明实例中AIT表的结构示意图;
[0028]图5是本发明实例中内容网络中的网络拓扑图;
[0029]图6是本发明实例中通告的流程图;
[0030]图7是本发明实例中探测和更新的流程图;
[0031]图8是本发明实例中探测过程中时间判断的示意图。
【具体实施方式】
[0032]下面结合附图,对本发明的技术方案作进一步详细说明。
[0033]本实施例中,网络拓扑如图5所示,主要包括以下步骤:
[0034]步骤一,内容到达A节点后,将内容放入缓存寄存器,生成通告蚂蚁,在通告蚂蚁中记录缓存存放时间tst_、缓存生存时间TsmviTC。将通告蚂蚁从所有接口发送出去,除了内容到达的接口。根据网络规模设置通告蚂蚁的最大跳数,每经过一跳,跳数增加一跳,如果没有达到最大跳数,通告蚂蚁继续转发。
[0035]步骤二,通告蚂蚁到达D节点后,更新D节点的AIT表,AIT表结构如图4所示,将缓存存放时间、缓存生存时间放入AIT表,同时跳数增加一跳,若已达到最大跳数,通告蚂蚁停止转发,整个通告过程的流程如图6所示。
[0036]步骤三,G节点在通告蚂蚁的可达范围外,G节点在网络空闲的时候,G节点可以利用探测蚂蚁,主动发现缓存位置。G节点随机从FIB表中找到一个内容,产生相应的探测蚂蚁,向该节点的所有接口发送探测蚂蚁。当到中间节点时,比如探测蚂蚁ta?iTC时刻到达D节点,D节点需要判断从哪个接口将探测蚂蚁转发出去,具体包括以下步骤:
[0037]1.先查看AIT表,若表中有此内容,判断此接口是否满足时间条件,即缓存内容是否有效。如图8所示,时间条件判断公式为:
[0038]?arrive ^store〈 ^survive
[0039]若时间条件满足,则从概率最大的接口转发出去。若时间条件不满足,继续判断概率排序第二的接口是否满足条件。若所有接口的时间条件都不满足,则转到下一步骤。
[0040]I1.若所有接口的时间条件都不满足,或者AIT表中没有此内容,则查看FIB表,并从相应的接口转发出去。若FIB表中也无此内容,则探测蚂蚁停止转发,探测蚂蚁死亡。
[0041]步骤四,当探测蚂蚁到达A节点时,生成更新蚂蚁,同时探测蚂蚁沿途收集的时间复制一份给更新蚂蚁,更新蚂蚁按原路返回,返回时携带缓存的剩余生存时间。由于蚂蚁同内容网络的兴趣包、内容包类似,所以更新蚂蚁返回时,同内容包返回过程。探测和更新过程的流程如图7所示。更新蚂蚁返回过程中计算沿途节点接口的信息素值,更新接口概率大小,具体步骤描述 如下:[0042]探测蚂蚁到达缓存节点A之后,将沿途收集的时间复制给更新蚂蚁,更新蚂蚁结构同探测蚂蚁相同。更新蚂蚁沿探测蚂蚁反向路径返回,当到达中间节点时,利用携带的信息计算此接口的信息素值大小,每个节点包含此内容的所有接口满足信息素归一化,即:
【权利要求】
1.一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,包括以下步骤:1)节点缓存内容后,生成通告蚂蚁,主动广播缓存信息,缓存信息的通告限定在一定的跳数范围内,同时通告蚂蚁广播时携带缓存生存时间和缓存存放时间,收到通告蚂蚁的节点更新本地蚂蚁信息表(AIT) ;2)范围外的其它节点主动通过发送探测蚂蚁,探测缓存内容的位置,并记录沿途到达每个节点的时间,当到达缓存节点时,生成更新蚂蚁,更新蚂蚁沿探测蚂蚁到达时的路径返回,沿途更新各节点AIT表中的接口概率。
2.根据权利要求1所述,一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,所述蚂蚁和AIT表具体构成为: 通告蚂蚁由内容名、类型、缓存存放时间、缓存生存时间构成; 探测蚂蚁由内容名、类型、时间栈构成; 更新蚂蚁由内容名、类型、时间栈、缓存生存剩余构成; AIT表由内容名、接口、缓存存放时间、缓存生存时间、概率构成。
3.根据权利要求1所述,一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,所述步骤I)具体包括以下步骤: 1.缓存节点主动生成缓存通告蚂蚁,并限定通告蚂蚁的广播范围; I1.通告蚂蚁广播时携带缓存存放时间和缓存生存时间; II1.收到通告蚂蚁的节点更新AIT表中的缓存存放时间和缓存生存时间。
4.根据权利要求1所述,一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,所述步骤2)具体包括以下步骤: 1.探测蚂蚁到达中间节点时,查看AlT表,若表中有此内容,判断此接口是否满足时间条件;若时间条件满足,则从概率最大的接口转发; I1.当探测蚂蚁到达缓存节点时,生成更新蚂蚁。计算缓存剩余生存时间,由更新蚂蚁携带,沿原路径返回; II1.更新蚂蚁返回时,计算沿途节点接口的信息素值,更新接口概率大小。
5.根据权利要求4所述,一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,所述时间条件按照如下公式判断: 1~ _1~ <cT T
arrive store1 survive 其中,tmiTC是探测蚂蚁到达节点的时刻,tstore,Tsurvive分别是内容在缓存节点存放的时间和缓存生存时间,当探测蚂蚁到达中间节点时,查找AIT表,获取tst_和Tsurvive,进行时间条件判断。
6.根据权利要求4所述,一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,所述缓存剩余生存时间按照如下公式计算: T T —t _1~
1j1 survive refresh store 其中tMfMsh、tstore和Tsurvive分别代表更新蚂蚁返回的时间,缓存存放的时间和缓存的生存时间,当生成更新蚂蚁时,计算缓存的剩余生存时间,并记录在更新蚂蚁内,由更新蚂蚁返回时携带。
7.根据权利要求4所述,一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,所述信息素值按照如下公式计算: 信息素值大小的计算公式为:
8.根据权利要求7所述,一种基于蚁群算法的内容中心网络缓存定位方法,其特征在于,所述路径开销按照如下公式计算: 路径开销O (i,j)的计算公式为:
【文档编号】H04L12/861GK103997461SQ201410265770
【公开日】2014年8月20日 申请日期:2014年6月13日 优先权日:2014年6月13日
【发明者】胡骞, 武穆清, 王宁, 郭嵩, 徐春秀, 赵敏, 韩海龙, 胡谦, 刘红宝, 彭蠡, 王振华 申请人:北京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1