以内容为中心的网络中保持缓存一致性的方法技术

技术编号:7976534 阅读:240 留言:0更新日期:2012-11-16 01:54
本发明专利技术公开了一种以内容为中心的网络中保持缓存一致性的方法,以解决以内容为中心的网络中缓存内容可能与数据源内容不一致的问题。其实现步骤是:在每个内容的属性中加入版本号作为新字段,当内容的版本升级时其版本号随之增加;当用户要获取某内容时,先向存储有该内容的数据源服务器查询其最新版本号,再向网络发出包含有版本号的Interest包;网络结点收到Interest包后,在缓存中查找对应数据片,并将数据片的版本号与Interest包中的版本号比对,当版本号相同时视为缓存查找成功,并返还数据片,反之视为查找失败,继续转发Interest包。本发明专利技术具有实现了缓存强一致性的优点,可用于以内容为中心的网络中对数据的缓存。

【技术实现步骤摘要】

本专利技术属于网络
,涉及在以内容为中心的网络中保持缓存一致性,可用于以内容为中心的网络中对数据的缓存。
技术介绍
以内容为中心的网络,相对于现有的互联网,是一种革命性的演进。现有互联网是以主机为中心的,当用户要访问某一内容时,需指明该内容存储在哪个主机上,然后由用户到该主机去访问该内容。而在以内容为中心的网络中,当用户想访问某一内容时,只需要向网络提交访问该内容的请求,无需指明到哪里去获得该内容,而由网络负责将该内容送交用户。 在施乐Parc提出的以内容为中心的网络架构中,实现了根据名字路由的机制。当用户想获取某内容时,向网络提交一个Interest包,其中包含了该内容的名字。网络结点收到Interest包时,先在本结点的缓存中查找该内容;若该内容已在本结点的缓存中,则直接将数据返回给用户;若该内容不在本结点的缓存中,则根据其名字向网络转发该Interest包,交给下一个网络结点,直到该Interest被响应。网络响应Interest包的方式,是沿原路返回Data包;网络结点收到返回的Data包时,会将其存在本结点的缓存中,以备以后使用。当数据源服务器的内容发生变化时,网络结点的缓存并不知晓,缓存中的内容保持不变,导致网络结点中的缓存内容与数据源服务器中的内容不一致,这就是以内容为中心的网络中的缓存一致性问题。数据源服务器内容发生变化的原因,可能是内容版本升级,或者内容被删除。以内容为中心的网络中的缓存一致性问题与传统大规模并行处理系统MPP中的缓存一致性问题有很大不同。MPP中缓存的位置是系统可掌握的,系统可以通知所有缓存更新内容。而在以内容为中心的网络中,由于缓存可能位于全网各处,数据源服务器无法掌握全部缓存的位置,因而无法主动通知所有缓存更新内容。以内容为中心的网络中的缓存一致性问题与Web缓存中的一致性问题有相似之处,但也有很大不同。相似之处是,Web缓存中的缓存也是分布于全网各处。不同之处在于,Web缓存中的缓存,在缓存一致性模型中以单一结点的形式出现。而在以内容为中心的网络中,从用户结点到数据源服务器的通路上所有结点都有缓存,缓存结点是一条线,而非单点。当数据源服务器的内容更新时,这条线上的所有结点的缓存都应更新。这一不同导致以内容为中心的网络中,保持缓存一致性的策略与Web缓存有所不同,不能直接照搬Web缓存中的一致性算法。例如Web缓存中的TTL机制为每个缓存对象设置一个TTL值,当缓存时间小于TTL值时,认为缓存数据是最新的,把其返回给用户;否则当缓存时间大于TTL值时,就认为数据已过期,要向Web服务器发出一个请求,以确认缓存的副本是否仍然有效。TTL机制的缺点是必须等到缓存时间大于TTL时,才会检查缓存副本与原始服务器的一致性,增加了不一致的概率。Web缓存中的客户端定期轮询机制在用户每次访问Web资源时,缓存都认为数据已过期,要向Web服务器发送IF-Modified-Since的HTTP头来确认数据是否是最新的。客户端定期轮询机制导致资源在没有改变时,服务器要发回很多304Not Modified响应,浪费带宽资源与服务器资源。Web缓存的服务器端无效机制是当服务器检测到一个Web资源改变时,就向最近访问过该资源和缓存过该资源的所有客户端发送无效消息。月艮务器端无效机制需要服务器跟踪最近访问过一个资源的客户端列表,并向列表中的客户端发送无效消息,当客户端很多时,服务器将过载。在以内容为中心的网络中,缓存分布在全网很多地方,数据源服务器不可能记录所有缓存过一个内容的网络结点,因此服务器端无效机制不可能实现。Web缓存的捎带无效机制包括三种捎带缓存认证PCV、捎带服务器无效认证PSI、PSI与PCV的结合。三种捎带机制都是在缓存结点和服务器间的正常通信中捎带加入资源认证信息。但是在以内容为中心的网络中,从用户结点到数据源服务器结点的传输路径上的每个网络结点里都有缓存,在正常通信时分组流过传输路径上的每个网络结点,不可能把每个网络结点需要的资源认证信息都捎带上,因此三种捎带机制都不可能在以内容为中心的网络中应用。综上,Web缓存策略有些不能在以内容为中心的网络中应用,有些则存在不一致的概率大、或者浪费带宽资源、或者服务器负载大等缺点,需要针对以内容为中心的网络设计一种全新的缓存一致性策略。
技术实现思路
本专利技术的目的在于提出一种全新的,以解决以内容为中心的网络中缓存内容可能与数据源内容不一致的问题。实现本专利技术目的技术方案包括如下步骤(I)在每个内容的属性中加入一个版本号作为新字段,并将该版本号放入内容的每个数据片中;当内容的版本升级时,其版本号随之增加;当内容被删除时,其版本号为零;(2)当用户要获取某个内容时,先向网络发出一个对该内容的版本号的查询请求Query 包;(3)网络中的中间结点收到版本号查询请求Query包时,由中间结点转发此请求而不响应此请求;(4)网络中存储有步骤(2)要获取内容的数据源服务器响应版本号查询请求Query包,即在响应Response包中放入该内容的最新版本号后,返还给用户;(5)用户获取到最新版本号后,开始正式请求数据,不断向网络发出包含有最新版本号的数据请求Interest包;若版本号为零,则向用户反馈内容被删除的消息;(6)网络中的中间结点收到Interest包时,在缓存中查找Interest包所请求的数据片;当缓存中查找到所请求的数据片时,再将该数据片的版本号与Interest包中的版本号比对;若该数据片的版本号等于Interest包中的版本号,则视为缓存查找成功,将数据片返还给用户;若该数据片的版本号不等于Interest包中的版本号,则视为缓存查找失败,接着转发该Interest包,直到该Interest包被后续的中间结点响应,或者最终被数据源服务器响应。本专利技术具有如下优点I)用版本号记录内容的更新情况,可适应内容多次更新的情况;2)用版本号零表示内容被删除的情况,可向用户快速反馈内容被删除;3)过时的低版本数据由缓存替换算法自动清除,不增加系统的时间开销;4)版本号请求与响应过程只在每个内容正式传输数据前发生一次,增加的网络负载不重,增加的响应延迟不大。5)理论分析证明,本专利技术可保证从缓存返还给用户的数据片与数据源服务器中的数据片始终保持一致,实现了缓存的强一致性。附图说明图I是本专利技术的总流程图; 图2是本专利技术中版本号请求与响应的示意图;图3是本专利技术中Query包的格式图;图4是本专利技术中Response包的格式图;图5是本专利技术中Interest包被网络中间结点响应的示意图;图6是本专利技术中Interest包的格式图;图7是本专利技术中Interest包被数据源服务器响应的示意图。具体实施例方式参照图1,本专利技术,包括以下步骤步骤1,在每个内容的属性中加入一个版本号作为新字段,并将该版本号放入内容的每个数据片中;当内容的版本升级时,其版本号随之增加;当内容被删除时,其版本号为零。例如,将版本号设置为8位,则最多支持256个版本。在每个内容的属性中加入一个版本号作为新字段,是分别为每个内容增加一个版本号属性,各内容的版本号彼此独立。步骤2,当用户要获取某个内容时,先向网络发出一个对该内容的版本号的查询请求Query包,查询某内容的本文档来自技高网
...

【技术保护点】
一种以内容为中心的网络中保持缓存一致性的方法,包括以下步骤:(1)在每个内容的属性中加入一个版本号作为新字段,并将该版本号放入内容的每个数据片中;当内容的版本升级时,其版本号随之增加;当内容被删除时,其版本号为零;(2)当用户要获取某个内容时,先向网络发出一个对该内容的版本号的查询请求Query包;(3)网络中的中间结点收到版本号查询请求Query包时,由中间结点转发此请求而不响应此请求;(4)网络中存储有步骤(2)要获取内容的数据源服务器响应版本号查询请求Query包,即在响应Response包中放入该内容的最新版本号后,返还给用户;(5)用户获取到最新版本号后,开始正式请求数据,不断向网络发出包含有最新版本号的数据请求Interest包;若版本号为零,则向用户反馈内容被删除的消息;(6)网络中的中间结点收到Interest包时,在缓存中查找Interest包所请求的数据片;当缓存中查找到所请求的数据片时,再将该数据片的版本号与Interest包中的版本号比对;若该数据片的版本号等于Interest包中的版本号,则视为缓存查找成功,将数据片返还给用户;若该数据片的版本号不等于Interest包中的版本号,则视为缓存查找失败,接着转发该Interest包,直到该Interest包被后续的中间结点响应,或者最终被数据源服务器响应。...

【技术特征摘要】
1.一种以内容为中心的网络中保持缓存一致性的方法,包括以下步骤 (1)在每个内容的属性中加入一个版本号作为新字段,并将该版本号放入内容的每个数据片中;当内容的版本升级时,其版本号随之增加;当内容被删除时,其版本号为零; (2)当用户要获取某个内容时,先向网络发出一个对该内容的版本号的查询请求Query包; (3)网络中的中间结点收到版本号查询请求Query包时,由中间结点转发此请求而不响应此请求; (4)网络中存储有步骤(2)要获取内容的数据源服务器响应版本号查询请求Query包,即在响应Response包中放入该内容的最新版本号后,返还给用户; (5)用户获取到最新版本号后,开始正式请求数据,不断向网络发出包含有最新版本号的数据请求Interest包;若版本号为零,则向用户反馈内容被删除的消息; (6)网络中的中间结点收到Interest包时,在缓存中查找Interest包所请求的数据片;当缓存中查找到所请求的数据片时,再将该数据片的版本号与Interest包中的版本号比对;若该数据片的版本号等于Interest包中的版本号,则视为缓存查找成功,将数据片返还给用户;若该数据片的版本号不等于Interest包中的版本号,则视为缓存查找失败,接着转发该Interest包,直到该Interest包被后续的中间结点响应,或者最终被数据源服务器响应。2.根据权利要求I所述的以内容为中心的网络中保持缓存一致性的方法,其特征在于,步骤(I)所述的在每个内容的属性中加入一个版本号作为新字段,是分别为每个内容增加一个版本号属性,各内容的版本号彼此独立。3.根据权利要求I所述的...

【专利技术属性】
技术研发人员:盛立杰杨利英
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1