




已阅读5页,还剩67页未读, 继续免费阅读
(计算机软件与理论专业论文)rcd表达的网络缓存协作研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理一人学硕十研究生学位论文 y 6 2 0 3 3 0 r o d 表达的网络缓存协作研究 摘要 网络缓存( w e bc a c h i n g ) 把经常访问的网络对象在访问开 销较少的网络节点上存一个副本,当用户再次访问这些对象卧r , 可以直接从这个开销较少的网络节点上得到满足。从而在有限 的带宽内,达到缩短用户等待时问、提高网络性能和网络可扩 展性的目的,对于提高i n t e m e t 访问效率具有重要意义。 网络缓存分单机缓存代理服务器缓存和协作缓存 ( c o o p e r a t i v ec a c h i n g ) ,三个层次。其中协作缓存是当前研 究的热点。论文在对网络缓存技术的原理、现状和发展趋势综 述的基础上,对r c d ( r e d u c e dc a c h ed i g e s t s ) 表达的网络缓 存协作进行了研究,提出了精简的缓存摘要( r c d ) 网络缓存内 容的表达方法。该方法在缓存摘要( c o ) 的基础上,将网络对 象进一步分为最近访问的、最频繁访问的和很少访问的三类, 那么其中最近访问的和最频繁访问的两类w e b 请求在将来最有 可能再次发生。r c d 只把前两类网络对象映射到缓存目录中, 这样可减少缓存目录的存储空间,并且由于包含了网络对象的 t 太原理工火学硕士研究生学位论文 访问频率,所以特别适合于为具有相同访问特性的用户群提供 缓存服务。为此,论文讨论了在具有7 层交换功能的交换机上, 建立、更新和访问r c d 缓存目录的算法。最后在对同一局域网 上的不同用户组访问特性统计分析的基础上,对分布在本地交 换机上的r c d 缓存协作进行了讨论。 理论分析和模拟实验表明,基于r c d 的网络缓存协作方案, 克服了代理被所有的交换机共享和代理之间负载平衡的缺点, 并且充分的发挥7 层交换机的内容感知功能,为本地用户提供 了一种快速有效的访问i n t e r n e t 的途径。 关键词网络缓存,缓存协作,r c d ,访问频率,7 层交换 i i 查堕里:! 叁堂堡主竺塞生兰垡笙苎 t h es t u d yo fc o o p e r a t i v ew e bc a c h i n gu s i n gr c d e x p r e s s l 0 n a b s t r a c t w e b c a c h i n gi sat e c h n i q u ea p p l i e di ni n t e r n e t ,w i t hw h i c h t h ef r e q u e n t l y a c c e s s e dw e b o b j e c t sa r ec o p i e di na m o r e e a s i l ya c c e s s e dn e t w o r k n o d e w e b c a c h i n g c a ns h o r t e nc l i e n t s w a i t i n gt i m ea n di m p r o v ei n t e r a c t sp e r f o r m a n c e w i t h o n tb a n d w i d t hi n c r e a s e s oi tp l a y sa ni m p o r t a n tr o l ei ni m p r o v i n gt h e e f f i c i e n c yo f a c c e s s i n g i n t e r a c t w e b c a c h i n g h a st h r e ed e v e l o p i n g s t e p st h o s e a l eb r o w s e r c a c h i n g ,p r c x y c a c h i n ga n dc o o p e r a t i v ec a c h m g a m o n gt h e m ,c o o p e r a t i v ec a c h i n gi s t h e f o c u so fc u r r e n ts t u d y a f t e rr e c o u n t i n gt h et h e o r y , s t a t u sq u oa n dd e v e l o p t r e n do fw e bc a c h i n g ,t h i sa r t i c l ep u t so u tt h er c d ( r e d u c e dc a c h e d i g e s t s ) e x p r e s s i o no f t h ec a c h e dc o n t e n ta n ds t u d i e sc o o p e r a t i v ew e b c a c h i n gu s i n g r c d e x p r e s s i o n i nr c d ,t h ec o n t e n t sc a c h e di np r o x ya l ec l a s s i f i e di n t o t h r e eg r o u p s :t h er e c e n t l ya c c e s s e d 、t h ef r e q u e n t l ya c c e s s e da n dt h er a r e l y a c c e s s e d b e c a u s et h el a s t g r o u pc o m f i b m e sn o t h i n gt o t h ew h o l ec a c h e s y s t e m ,r c do n l ye x p r e s st h ef i r s tt w og r o u p s t h u st h ed i m e n s i o no ft h e c a c h e dc o n t e n t si n d e xi ss h o r t e n e d o nt h eo t h e rh a n d ,r c d e s p e c i a l l y a d a p t s t os e r v i c i n gf o rc l i e n tc l u s t e r sw i t ht h es a m ef a v o r i t i s mt ow e b c o n t e n t , b e c a u s ei tc a ns t o r et h ea c c e s s e df r e q u e n c yo fw e b o b j e c t s b a s e do nr c d s f r e q u e n c y s t o r i n g c h a r a c t e r i s t i c ,t h i s a r t i c l ed i s c u s s e st h ea r i t h m e t i co f c r e a t i n g ,r e n e w i n ga n da c c e s s i n gr c di n d e x f i n a l l y , c o n s i d e r i n gt h eu s e r s i i i 太原理工大学硕士研究生学位论文 a c c e s s i n g - f r e q u e n c y , c o o p e r a t i v ew e bc a c h i n gu s i n gr c di n d e x ,w h i c h i s d i s t r i b u t e di nl o c a ls w i t c h e s ,i sd i s c u s s e d a c a d e m i cs t u d ya n ds i m u l a t i v ee x p e r i m e n ts h o wt h a tt h ep r o b l e mt :l a t e a c hp r o x ys h a r e db ya l lc l i e n t sa n d b a l a n c i n gl o a d i n g b e t w e e n p r o x i e sc a n t b ea c h i e v e ds i m u l t a n e o u s l yi s c o n q u e r e db yt h ec o o p e r a t i v ec a c h i n gp l a n b a s e do nr c d i nt h i s p l a n ,al 7s w i t c hw i t hr e dp r o v i d e saf a s ta n d e f f e c t i v e w a y f o rl o c a lu s e rt oa c c e s s i n t e r n e t ,r e s u l t i n g f r o mi t s c o n t e n t - a w a r e n e s sa b i l i t ye x e r t e d f u l l yb y r c d k e yw o r d s :w e bc a c h i n g ,c o o p e r a t i v ec a c h i n g ,r c d ,a c c e s s i n gf r e q u e n c y , l a y e r7 s w i t c h i v 太原理i :大学硕士研究生学位论文 1 1 w e b 技术 第一章绪论 w e b 从本质上说是个很简单的概念,它包括w e b 服务器和w e b 客户 两部分,w e b 服务器接收来自w e b 客户机对网络对象( w e bo b j e c t ) 的请 求。w e b 服务器和客户之间通过标准协议进行交互,典型的标准协议是超 文本传输协议( h t t p ) 。网络对象可以把一个对象嵌入另一个对象形成关 联,这种关联使得客户机可以把有联系的网络对象一起下载:也可以在对 象之间定义超级链接,使得客户可以轻松的从一个对象转移到另一个对 象。对象之间的这些关系是用超文本链接语言( h t m l ) 定义的。 互联网上任何能够访问网络对象的计算机或是设备都是w e b 客户,客 户需要做的就是向j 下确的w e b 服务器发出h t t p 请求。把取回的w e b 内容 用于人类用户或者是本机上应用程序使用的客户称之为w e b 浏览器。因此 w e b 浏览器是网络对象的最终归宿。 每个网络对象有一个全球唯一的名字口q 做全球统一资源定位器 ( u r l ) ,客户可以用这个u r l 来找到这个网络对象。一个对象的u r l 表示 这个对象所在的服务器的名字和对象在这个服务器上的名字。比如u r l h t t p ? 跏矿r e s e a r c h a t t c o m i n f o 表示对象“i n f o ”位于 “m 职r e s e a r c h a r t c o n l ”服务器上。网络对象由某些统称为内容提供者 ( c o n t e n tp r o v i d e r ) 的公司或是个人生成和所有,属于同一个内容提供商 的网络对象形成一个w e b 站点。通常来自同一个w e b 站点的对象,它们的 u r l 的服务器名共享一个公共的前缀。实际上,这个前缀经常就已经包含 了整个服务器名称。 太原理工人学硕+ 研究生学位论文 图卜1 显示了一个简单但是功能齐全的w e b 结构。当用户输入一个对 象的u r l 或者命令浏览器下载这个对象的时候( 例如,当点击一个指向这 个对象的超链的时候) ,浏览器把带有这个对象名字的请求送到u r l 中所 标记的w e b 服务器,服务器返回带有这个被请求的对象的应答信息。一旦 这个对象到达浏览器,浏览器就把它显示给用户然后等待进一步的指令。 如果w e b 服务器的容量和网络带宽是无限的,这个简单的结构几乎就足够 完善了。我们说“几乎”是因为当用户跨越大半个互联网访问某个w e b 服务器时,出电路延迟造成的延时也是很可观的。不幸的是,带宽和w e b 服务器的容量都不是无限的。w e b 需求持续快速地增长,这种增长给互联 网和一般的w e b 服务器造成了巨大的压力。 图卜1 最简单的w e b 架构 f i g u r el - ! as i m p l ew e b 面对这种增长的压力,如何提供用户可按受的性能和可靠性称之为 w e b 的可测量性问题。为了解决这个问题,操纵网络性能的公司( i n t e r n e t s e r v i c ep r o v i d e r s ,i s p ) 不断的增加网络的性能,服务器的容量也飞快 的增长,但是对带宽和服务器的需求也在增长。事实上,随着用户接j 、互 联网的带宽的增加,w e b 页到达用户的时间缩短了并且用户可以更快的从 一个w e b 页跳转到另一个w e b 页;此外,服务器性能的提高也进一步提高 了w e b 的性能。但是,用户宽带接入催生了一批新的需求高带宽的应用, 比如付费视频。所有这些使得我们相信单纯依靠增加带宽和服务器容量这 种- 丌销巨大的方法不能解决w e b 的可测量问题。 2 太原理工人学硕士研究生学位论文 1 2 网络缓存技术给互联网带来的进步 除了增加带宽这种丌销巨大的方法,缓存是提高w e b 性能的主要方法。 缓存是一个很简单的想法。如果你使用一些信息并且认为不久的将来还会 用到这些信息,你可以在较容易访问的地方存一个副本。当你去图书馆并 且带回家一篇文章的复印件时,你已经在使用缓存了。就像缓存可以使图 书馆更好地为更多的读者服务一样,这项技术也可以充分的提高w e b 的可 测量性。正如v a nj a c o b s o n ,一位互联网的领袖缴专家所言:“凭着2 5 年 的互联网经验,我们确信找到了一种解决爆炸式增长的方法缓存”“1 。 在过去的十年中,w e b 技术使得i n t e r n e t 从少数人的研究工具发展 成很多人同常生活不可或缺的部分。由于互联网渗透到人们生活的方方面 面,如何为用户使用w e b 提供可以接受的性能变得越来越重要。与此同时, 对w e b 的容量和互联网的需求呈现总体增长的趋势,造成这种局面,一方 面是出于越来越多的用户花在网上的时问越来越长,更重要的原因是出现 了大量新的高带宽消耗的应用,比如音视频、网络游戏。除了人类用户, 计算机应用程序也越来越依赖于w e b ,应用程序对互联网性能的要求更 高。几百毫秒的延时对人类用户来蜕不算什么,可是对于计算机应用程序 就是难以容忍的,尤其是当这种延时在执行一个任务的过程中反复出现 时。 有了网络缓存,这种情况大有改观,网络缓存的优势体现在: ( 一) 减少延迟 延迟主要出两部分组成,从原始服务器到代理服务器之间的外部延迟 和从代理服务器到用户的内部延迟。研究表明,外部延迟占到了整个延迟 的7 7 一8 8 。如果在代理服务器上设置缓存,用户的请求就可以由缓存满 足,于是外部延迟就被消除了。 3 查! ! ! 坠;盔堂堡主婴壅尘堂垡笙塞 罨炉一代理一互联舟一 囊嫡服 务器” 臣i 卜2 通过代理服务器获取一个网络对象的延迟组成 f i g u r e1 1 2t h 。d 。i a y 。f l e t c h i n gaw e b 。苟e c ti sc 。t o p o s e d 。f i n t e r n a j a n de x 把m a | d e j a y ( - - ) 节省带宽 另一个使用网络缓存的原因是节省带宽。节省带宽不仅对于减少网络 的整体开销意义重大,而且减少了和原始服务器的连接从丽间接减少了延 迟。影响带宽节省的个重要因素是由用户发出的中止传输的命令,通常 情况下,用户到代理的连接要比从代理到原始服务器的连接慢得多。所以, 当代理意识到用户要求中止传输时,大量的数据已经从原始服务器下传到 了代理服务器,这样就浪费了许多不必要的带宽。如果在代理服务器上设 置一个缓存,当代理发现缓存中的内容没有及时被用户取走时,立刻停【e 从原始服务器获取内容,则可以在一定程度上节省带宽。 ( 三) 网络缓存与流媒体 随着互联网的发展,声音、录像这样的流媒体越来越多的被人们使用, 4 太原理l :大学硕士研究生学位论文 如果把这些流媒体全部保存到缓存中,势必会占用大量的缓存空间,夺取 其它类型文件被缓存的机会。对于这些大型的网络对象,网络缓存技术常 常把它开头的一小部分保存下来。当用户访问这个文件时,可以很快地播 放一段时间,与此同时,其余部分的数据就从原始服务器下传到了代理服 务器。这样,既不会需要很多的存储空间,用户也不会感到太多的延迟。 使用网络缓存对w e b 涉及到的各个群体都有好处,包括用户、i s p 、 源w e b 服务器,直至整个i n t e m e t 。对用户而言,从就近的缓存服务器上 可以比从遥远的源服务器上更快的得到请求的应答:对用户的i s p 而言, 因为请求可以在本i s p 的缓存上得到满足,网络缓存可以节省到其他i s p 的外部流量。这样根据不同i s p 之间结算方式的不同,这种外部流量的节 省可以直接带来不同程度的成本降低;对于源服务器而言,由于源服务器 不必处理由缓存满足的请求,从而可以降低源服务器的负载:最后,对整 个i n t e m e t 而言,由于缓存可以满足就近用户的请求,使得i n t e m e t 余下 的部分可以传送其他的流量,从而提高了整个i n t e m e t 的性能。 有两个指标可以反映缓存的性能: 1 命中率 p 8 0 ( h i tr a t e ) = 可被缓存满足的请求数全部请求数 2 字节命中率( b y t eh i tr a t e ) = 可由缓存提供的字节数全部字节数 可见,命中率字和字节命中率越高,就可以减少更多的延迟,节约更多的 带宽。 1 3 网络缓存相关的网络访问特性 充分了解网络访问特性对于实现网络缓存系统十分重要,网络对象 有多大? 这些对象被重复使用的机会有多大? 它们的内容多长时间更改 一次? 这些问题对于设计网络缓存的决策都有重要影响。 i 网络对象的大小 5 太原理:t :大学硕士研究生学位论文 不同的网络对象的大小差异很大,知道普遍的网络对象的大小对于决 定合适的网络缓存存储能力和网络连接带宽非常有用。研究表明:网络对 象的平均大小为l o 一1 5 k 字节,百分之七十五的被访问对象的大小要比这 个平均大小小得多,而大型的网络对象( p d f 文件、音像文件) 则不经常 被访问。 如果缓存服务器专注于存储小的网络对象,则它就可以满足更多的用 户请求,提高系统的命中率;如果缓存服务器专注于大的网络对象,则可 以充分利用缓存空问,提高系统的字节命中率。 2 网络对象的类型 如今,最经常被访问的网络对象是图形对象,其次是h t m l 页面,页 面经常包括内嵌的图片和指向其它页面的链接,它们大约占所有网络请求 的9 0 ,占所有下载字节的7 0 。对多媒体对象的访问相对较少,但它占了 相当大的字节数。 某些类型的网络对象,如动态网页等,无法被缓存。据测定,大约有 4 0 的网络对象是不能被缓存的。 3 网络对象的重复使用程度 网络对象被重复访问的频率与其频率排序之间遵循“z i p f - l i k e ”分 布,即第i 个最常被访问的w e b 对象被再次访问的概率p 是( 其中a 接近 1 ) : 公式1 p=l7 i 。 由此可见大部分网络流量是由对少数被频繁请求的网络对象的访问 构成的,甚至有许多网络对象几乎不被访河,这对于网络缓存而言是非常 有益的。 6 太原理工大学硕士研究生学位论文 4 网络对象的更新速度 了解网络对象的更新速度,对于确保用户不会接收到陈旧的内容非常 重要。研究表明,网络对象的更新对网络缓存内容与实际内容的一致性有 一定影响,但并不足以掩盖网络缓存积极的一面。 1 4 网络缓存技术蕴藏的巨大商机 网络缓存技术蕴藏着巨大的商机。网络缓存着眼于改善网络容量和性 能,己经成为w e b 底层的重要组成部分。网络缓存可以转移负载过重的 源服务器的工作,从就近的服务器上满足用户的请求,提高了w e b 的性 能和效率。但是,辅助服务器并不仅仅是因为作为改善网络的容量和性能 的手段而受到越来越多的关注,同时也是因为作为执行一系列特殊功能的 平台,这些辅助的服务器可以大大提高源服务器所提供服务的附加值。网 络缓存的发展蕴含着新的产业,比如制造缓存服务器的设备生产商,或是 提供缓存服务的服务提供商。 1 5 网络缓存的发展现状与趋势 网络缓存分三个阶段:单机缓存、代理服务器缓存和缓存协作。最简 单的缓存是在本地硬盘上保存最近访问过的网页,再次访问这些网页时可 以直接从本地硬盘读取,从而节约了用户的时间。在i e 浏览器上就使用 了这种技术。 网络缓存技术还可以在网络代理服务器上完成,依靠应用程序一级的 软件,代理服务器从一组用户群接收h t t p 请求,从存放所需内容的原始 服务器获取用户请求的网络对象,将这些对象缓存起来再发给用户。现在 教育部已经为所有的教育网用户设置了一个代理缓存服务器。 7 太原理:l 大学硕+ 研究生学位论文 图卜3 使用代理服务嚣缓存的浏览器 f i g u r ei - 3w e b b r o w s e r su s i n ga p r o x y 厂1 1 r 、 互联网 图卜4 一种协作缓存的系统模型 f i g u r e i 4as y s t e mm o d e lo f c o o p e r a t i v e c a c h i n g 单机缓存和代理缓存技术已经比较成熟了。网络缓存协作还处在试验 阶段,是网络缓存技术发展的趋势,也是当今研究的热点。网络缓存协作 8 太原理丁大学硕士研究生学位论文 使得在众多的缓存服务器之间可以实现文件共享,这种更大范围内的缓存 信息共享可以为更多数量的用户服务,进一步提高网络性能。在一个网络 缓存合作的系统内,如果网络请求在本地的缓存中未能命中,这个请求就 会被转发到与之合作的缓存服务器。因此,只要有一个服务器保存过被请 求对象的拷贝,那么这个请求就一定会命中。图1 - 4 是网络缓存协作的一 个简单模型。 1 6h t t i a 协议对网络缓存的支持 出于现在互联网上的访问流量大部分是基于h t t p ( 超文本传输协议 的) 的,网络缓存的研究也主要是基于h t t p 协议的,最新版本的h t t p l t 协议提供了很多对网络缓存技术的支持例,j 下是这些支持,使网络缓存的 实现成为可能。 1 。i i t t p 请求信息和应答信息的格式 图1 - 5h t t p l 1 协议请求信息的格式 f i g u r e1 - 5t h ef o r m a to f h t t p i 1r e q u e s t h t t p 请求已经由h t t p0 9 中只携带着请求对象的u r l 的简单信息发 展成具有许多头字段可能长达几千字节的复杂信息。图2 - 1 显示了i t t t p 1 1 中请求信息的格式。它包含着一个请求行( r e q u e s tl i h e ) 字段,后 面紧跟着公共头( g e n e r a lh e a d e r s ) 、请求头( r e q u e s th e a d e r ) 、实体 头( e n t i t yh e a d e r s ) 三类头,可能还包含着实体体( e n t i t yb o d y ) 字段 9 太原理工大学硕士研究生学位论文 用来存放用于上传的数据。在不引起误会的情况下,上面的三类头统称为 请求头( r e q u e s th e a d e r s ) 。 请求行字段描述向服务器请求的动作,各个头描述对这个请求的限 定,例如客户能理解的内容编码或是客户的验证信息。公共头指请求信息 和应答信息都有的那些头,请求头指请求信息特有的头,实体头描述包含 在请求信息晕的上传数据。 请求头描述客户的性能、信任授权和其他有助于执行请求的信息。一 个头包括一个标志这个头的关键字和一个包含信息的值。特别地,请求头 经常提供执行请求时使用缓存的控制信息。 请求头包含方法、u r l 的路径部分和协议的版本号。标准的方法有 g e t 、h e a d 、o p t i 洲s 、p o s t 、p u t 、d e l e t e 和,r r a c e 。 g e t 是最常用的方法;它用来从服务器上得到u r l 的路径部分表示的 对象。比如请求行“g e t i n d e x h t m lh t t p 1 1 ”可以用来使用h t t p l 1 从一台w e b 服务器上获取对象i n d e x h t m t 。客户使用h e a d 方法获取返回 对象的相关信息。这些信息使得客户不必下载文档就能判断对象的内容类 型是否适合自己。 p o s t 和p u t 方法用来向服务器上传信息,两种方法都是把数据存放 在请求的e n t i t yb o d y 罩。p o s t 用来向服务器提交用户填写的w e b 表格, p u t 用来在服务器上放置一个新的对象。d e l e t e 方法允许用户从服务器上 删除一个对象。为了保护服务器上存储的内容,通常的w e b 服务器限制使 用p u t 和d e l e t e 方法。o p t i o n 请求可以获取与请求中某个对象相关的服 务器的性能或是整个服务器的性能。t r a c e “”方法可以用来发现客户和服 务器之闯的代理服务器。 根据h t t p 规范,g e t 、o p t i o n s 和t r a c e 方法是安全的。这意味着使 用这些方法的请求不会对服务器有副作用。特别地,这些方法是幂等的, 1 0 太原理工人学硕士研究生学位论文 就是说使用这些方法的请求可以无危害的提交多次,并且每次得到的应答 都是一样的。此外,d e l e t e 方法也是幂等的( 但显然不是安全的) ,因为 不论它执行一次还是多次,都对服务器有相同的副作用。 l h e a d e r s t a t u sl i n e l c rl f g e n e r a lh e a d e r s l e n t i t yb o d yr e s p o n s eh e a d e r s e n t i t yi l e a d e r s 腔i1 - 6h t t p i 1 压答信息格式 f i g u r el - 6 t h ef o r m a to f h t t p i 1r e q u e s t 像h t t p 请求信息一样,h 订p 应答信息从h t t p0 9 只是简单的承 载一个对象的简单形式发展成具有几个头集合的复杂形式。图2 2 显示了 应答信息的格式。应答信息开始于状态行( s t a t u sl i n e ) ,紧跟着是公共头 ( g e n e r a lh e a d e r s ) 、应答头( r e s p o n s e h e a d e r s ) 、实体头( e n t i t y h e a d e r s ) 、 回车换档符和一个实体体( e n t i t yb o d y ) 。就像在请求信息里一样,我们 经常把应答信息里的头统称为应答头( r e s p o n s eh e a d e r s ) 。应答头像他们 对应的请求信息一样,由一个关键字和一个值构成。 表卜1h t t p l 1 中的五类状态码 应答的状态行字段包含着应答的状态,包括使用的协议的版本号,数 字形式的状态码( 称之为应答码) ,和文本形式的这个状态码的解释。当 前,h t t p i :i 定义了大约四十个状态码分为五大类,如表卜1 所示。 最常用的应答码是s u c c e s s f u l 类罩的o k 应答码( c o d e2 0 0 ) 。例如, l l 太原理工大学硕士研究生学位论文 状态行“h t t p 1 12 0 0o k ”表示w e b 服务器将使用h t t p l 1 协议返回 对象。这几类里最少使用的是“p a r t i a lc o n t e n t ”码,表示仅返回了一个对 象的一部分。单独的状奄码表示一个p u t 或是p o s t 请求成功执行。 c l i e n te r r o r 类的应答码描述客户提交的请求的错误。这些错误包括错 误的u r l ,束授权的访问,使用了错误的方法,或是不可识别的请求编 码。s e l w l - - r 蹦o t 应答码用束描述各种各样的服务器错误,比如服务器暂时 的崩溃和服务器无法执行的功能。 r e d i r e c t i o n 类的应答码在网络缓存中扮演着重要的角色,由于篇幅有 限,在这晕就不再详述了。 2 条件请求( c o n d i t i o n a l r e q u e s t s ) 条件请求在h t t p 请求的包头上注明条件,只有当注明的条件为真时, 服务器才执行这个请求并返回请求的内容,否则,服务器只返回状况代码 “3 0 4n o tm o d i f i e d ”或者“4 1 2p r e c o n d i t i o nf a i l e d ”,这两个代码说 明注明的条件为假。 客户机是用网络对象的相关信息作为请求的条件的,服务器把这些信 息放置在响应的l a s t m o d i f i e d 和e t a g 头里连同对象一起发给客户机。 l a s t m o d i f i e d 头包含着对象最后一次修改的同期和时问。e t a g 是e n t i t y t a g 的缩写,是某个对象实例的唯一标志。例如,可以使用m d 5 算法生成 对象的指印,作为这个对象的e n t i t yt a g 。e n t i t yt a g 提供了一种更可 靠的识别对象的不同版本的途径,因为l a s t m o d i f i e d 的时间最小单位是 秒,当对象的修改离上一次访问的问隔小于一秒时,单靠l a s t - m o d i f i e d 是无法识别的。 1 2 太原n - 1 人学硕士研究生学位论文 袁1 - 2 缓存中常使用的状态头 h e a d e rk e y w o r dv a l u e m e a n i n g i f - m o d i f i e d - l a s t m o d i f i e dd a t ee x e c u t er e q u e s ti fr e q u e s t e d s i e c eo b j e c tu p d a t e ds i r i c e l a s t - $ o d i l i e dd a t e if o o l l e m a t c he t a g e x e c u t er e q u e s tife t a go f r e q u e s t e do b j e c t isd i f f e r e n t 3 ,缓存对象的有效期 h 1 v r p 也为决定何时检验缓存对象的有效性提供了支持,这种支持是 基于生存期( t i m e t ol i v e ,r r l ) 概念的。对象的生存期是指缓存中的对象 被认为是有效的那段时间。在缓存中存在的时间超过了它的生存期的对象 被称为“过期的( e x p i r e ) ”。当一个对过期对象的h t t p 请求到达时,缓 存服务器必须在服务这个请求之前先向源服务器发出一个条件请求激活 这个对象,使得这个对象成为有效的。在h t t p i 1 中扮演着另一个重要 角色的相关概念是缓存对象的“年龄”,这个概念指的是缓存对象在缓存 中存在的时间或者是距离上一次激活的时间。在表卜3 中列出了用来限制 缓存服务器激活缓存对象的时间的应答头。 表1 - 3 用来限制在缓存中存在时间长度的信息头 h e a d e rv a l u e m e a n i r g k e y w r i r d e x d l r e sd a t ed a t eu n t i lw h i c ht h eo b j e c ti sv a l i d m a x - a g e s e c o n a sm a x i m u ma g et h eo b j e c tm a yr e a c hb e f o r ev a l i d a li o n a g e s e c o n d se s t i m a t e dt i m es i r i c et h eo b j e c tw a ss e r v e do rl a s t v a li d a t e db yt h eo r i g i ns e r v e r j 3 访问请求重定向 h t t p 对于网络缓存一个很重要的特征是它可以把一个请求从一个 服务器重定向到另一个服务器的机制。一台服务器可以把一个请求重定向 到一个代理服务器或镜像站点,也可以告知客户机一系列可以满足请求的 1 3 太原理上大学硕+ 研究生学位论文 代理服务器或是镜像站点。h t t p 服务器用返回带有特殊的重定向状态码 的应答柬执行请求重定向。主要的重定向状态码如表卜4 所示。 表i - 4 用于请求重定向的状态码 s t a t u sc o d eh o wr e d i r e c t i o r li n f o r m a t i o ns u p p l l e d 3 0 0m u l t i p l ec h o i c e s e n t i t yb o d y 3 0 1m o v e dp e r m a n e n t l yl o c a t i o nh e a d e r 3 0 2f o u n dl o c a t i o nh e a d e r 3 0 3s e eo t h e rl o c a t i o nh e a d e r 3 0 5u s ep r o x yl o c a t i o i lh e a d e r 3 0 7t e m p o r a r yr e d i r e c tl o e a t i o nh e a d e r 服务器可以使用带有“3 0 0m u l t i p l ec h o i c e s ”状态码的应答给客户 机提供一份可以满足请求的站点清单。应答的实体体部分描述了这些站点 和它们的特征。 4 r a n g e 请求 如果个对象的下载过程被打断的时候,客户机已经接收了这个对象 的一大部分,这个客户机可以使用r a n g e 请求头来仅仅下载剩余部分。 r a n g e 请求头指明被请求实体的几个不相关部分的字节范围。原理上,一 个请求可以包含几个r a n g e 头来指明要下载实体的哪些独立部分。带有 r a n g e 头的请求称为r a n g e 请求。服务器执行带有r a n g e 头的请求时,只 返回对象的几个部分,同时返回“2 0 6p a r t i a lc o n t e n t ”状态码,而不 是“2 0 0o k ”。 此外,如果被打断的下载部分包括e t a g 头,客户机上也有整个对象 的e 1 a g ( 由于头先于消息实体传送) 。拥有实体标志使得客户机可以确定 r a n g e 请求中请求的剩余部分和客广机已经下载的部分属于一个对象的 同一个实例。最后,客,、机可以在发出的r a n g e 请求中包含个i f r a n g e 条件头。回应这种请求的时候,当i f r a n g e 头里提供的实体标志和对象 现在的实体标志匹配时,服务器才返回对象的被请求的部分,否则返回整 1 4 太原理j :入学硕士研究生学位论文 个对象。 5 c o o k i e s 技术 h t t p 允许w e b 客户和服务器引进标准中未定义的新的信息头,只要 这些信息头的遵从“关键字:值”的格式。i i t t p 规定如果服务器或是客 户不能识别新的信息头,就忽略它们。这神革新使得可以很方便地在h t t p 中增加新的功能,不属于标准h t t p 协议的c o o k i e s 机制“1 是这种革新的 典型例证。c o o k i e s 机制提供了一种在保留h t t p 无记忆特性的前提下在 w e b 互动中存储状态的完美方法。例如,一个c o o k i e 可以记录某个电子 商务网站的销售清单或是客户的各种倾向爱好。 如果服务器需要为了将来的交互保存一些当前的用户信息,它可以在 s e t c o o k i e s 应答头中把这些信息返回给客户。客户决不会关注这些信息 ( 称之为一个c o o k i e ) ,仅仅是把这些信息存储在本地。下次客户向这个 服务器发出请求的时候,请求中会有一个c o o k i e 请求头记载着这些状态。 因此,服务器可以不必保存就得到想要得用户信息。 s e t c o o k i e s 头里定义的属性包括个c o o k i e 名,一个c o o k i e s 值 ( 保存的状态值) ,一个t i m e o u t 值,一个路径和一个域名。如果随后发 出请求的u r l 和s e t c o o k i e 头的路径和域名匹配,这个c o o k i e 的名和值 会在这个请求的c o o k i e s 头里被返回。t i m e o u t 用来表明客户必须保存这 个c o o k i e 的最短期限。 除了允许无记忆的服务器保存用户信息外,c o o k i e s 的另一个典型用 途是保存用户的认证信息。由于服务器没有记忆功能,服务器生成一个 c o o k i e 来避免重复的要求用户输入认证信息。仅仅依靠i p 地址和浏览器 来识别用户是不够的。用户可能在家和上班的时候使用不同的浏览器,而 拨号用户的i p 是动态的。前一种情况,网站会在所有的浏览器中保存同 一个c o o k i e ,仅当一个新的浏览器第一次被使用时,才会要求用户输入 1 5 太原理 = 大学硕士研究生学位论文 认证信息;后一种情况下,不管浏览器当前使用的是哪个i p 地址,都为 这个用户设最相同的c o o k i e 。 由于服务器使用c o o k i e s 为特定用户提供人性化的服务,一个显然的 问题是古有s e t - c o o k i e 头的应答不能存储在共享的缓存上,含有c o o k i e 头的请求不能从缓存服务器上得到满足 1 7 章节的安排 多个缓存服务器之间互相协作,是当今网络缓存技术的发展的最高阶 段。第二章详细介绍了现阶段网络缓存协作涉及到的方方面面的知识。第 三章详细介绍了一种网络缓存内容本地表示的新方法r c d 。第四章 讨论了利用r c d 实现网络缓存协作的方案。 1 6 太原理二i :火学硕士研究生学位论文 第二章网络缓存协作 2 1 网络缓存协作的意义 代理缓存服务器的主要任务是为众多的用户提供一个共享的缓存空 间。这样,当一个客户第一次访问某个网络对象时,只要这个对象先前被 其他的客户访问过,这个客户就可以使用共享的缓存中存储的对象副本。 从原理上说,使用这个共享的缓存空问的用户越多,缓存带来的好处就越 大。 当缓存为一个很大的客户群体服务时,有两个潜在的问题i ”。首先, 当客户数量增多时,代理服务器需要承受的被访问频率也会增大,解决访 问频率的问题称之为负载可量测性问题。其次,当客户数量增多时,大量 的客户必然分布在很分散的地理区域上,因此代理必须为大量的远离其他 客户的客户群服务。由于地理位置远,从代理服务器满足请求是否比从原 始服务器满足请求更有优势就不一定了。这种由于客户在地理上位置分散 造成的问题称之为地理可量测性问题。协作缓存使得不同的服务器用户可 以共享请求,从而可以解决负载可量测性问题;它又使得请求可以从就近 的服务器得到满足,从而解决了地理可量测性问题。因此,要想让缓存服 务器为更多的用户服务,必须实现缓存之间的协作。 2 2 缓存协作要解决的新问题 协作缓存需要解决两个最基本的问题。 1 一个代理怎样才能知道其他的哪个代理有自己需要的文档,称之为协 作缓存的定位管理。 1 7 太原理工人学硕士研究生学位论文 2 在全球网络中。源服务器也许更近或者与本地代理的连接质量更好, 一个代理如何判断是从其它的代理那里还是从源服务器得到被请求 的内容昵? 这个问题称为代理的裁剪问题。 2 2 1 定位管理 目前实现协作缓存定位管理的方法有很多,大致分为四类: 1 广播查询:指的是当代理接到个无法在本地满足的请求时,采用广 播的方式到所有与之协作的缓存查询这个请求需要的对象。 2 层次缓存:参与协作的代理按照树状层次组织起来,每个代理把无法 在本地满足的请求都转发到它的父节点上。 3 u r l 哈希映射:用一个哈希函数将所有可能的u r l 地址映射到不同的 缓存服务器上,从而每个缓存服务器都负责了不同的w e b 资源的子集。 4 如果把系统中被缓存的对象的位黉信息收集起来,由一个目录设备负 责保存这些信息,同样可以实现缓存合作,缓存服务器的内容变化都 反映在目录中。 下面介绍几种实现网络缓存协作定位管理的协议。 1 i c p i c p ( i n t e r n e tc a c h e p r o t o c 0 1 ) 是在网络缓存合作系统中最常见的 一种基于广播式查询的协议,既可用于层次式模型也可用于分布式模型。 i c p 是一种运行于u d p ( u s e rd a t a g r a mp r o t o c 0 1 ) 上的应用层协议。 在层次式缓存合作系统中,i c p 把不同层次的代理缓存区分为叶、兄 弟和父节点。如果一个请求在叶缓存不
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年心理健康教育专业硕士入学考试试题
- 2025年物流管理专业考研试卷及答案
- 2025年项目管理与成本控制基础考试试卷及答案
- 2025年图像处理与视觉艺术考试试卷及答案
- 2025年美术教育专业相关考试试题及答案
- 2025年农林经济管理专业考试试题及答案
- 2025年建筑施工安全管理知识测试题及答案
- 2025年机械制造及其自动化专业毕业设计答辩题及答案
- 2025年创业管理与实务综合能力测试卷及答案
- 2025年甘肃省平凉华亭市策底镇招聘专业化管理的村文书笔试备考试题及完整答案详解1套
- 人工肝治疗指南课件
- 2021年新教材人教A版高中数学必修第一册第五章三角函数 教学课件
- 掘进机整机出厂检验报告
- 最新版中小学校服选用自查整改报告
- 旅行社的导游管理制度
- DB4201∕T 645-2021 房地产经纪服务规范
- 拨叉综合课程设计
- 压铸件QC工程图
- 常用标准波导和法兰尺寸
- pH 值对柠檬酸缓凝效果影响的研究
- 705型试验台技术条件及说明书
评论
0/150
提交评论