(计算机应用技术专业论文)基于访问对象大小的动态调节精简缓存摘要算法.pdf_第1页
(计算机应用技术专业论文)基于访问对象大小的动态调节精简缓存摘要算法.pdf_第2页
(计算机应用技术专业论文)基于访问对象大小的动态调节精简缓存摘要算法.pdf_第3页
(计算机应用技术专业论文)基于访问对象大小的动态调节精简缓存摘要算法.pdf_第4页
(计算机应用技术专业论文)基于访问对象大小的动态调节精简缓存摘要算法.pdf_第5页
已阅读5页,还剩67页未读 继续免费阅读

(计算机应用技术专业论文)基于访问对象大小的动态调节精简缓存摘要算法.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

太原理工大学硕士研究生学位论文 基于访问对象大小的动态调节精简缓存摘要算法 摘要 网络缓存技术认为是提高网络服务质量q o s ( q u a l i t yo fs e r v i c e ) 的 有效手段之一,它能降低i n t e r n e t 流量、提高终端用户的响应时间、减少 网络的延迟。网络缓存技术是通过在现有网络层次结构中增加一层,将广 域传输转为本地访问,根据用户提出的w e b 请求,将可能重复使用的内容 按一定的策略缓保存在相对高速的c a c h e 服务器中,保存输出内容的副本, 当有相同请求时,直接在c a c h e 中提取,由c a c h e 服务器来满足用户请求。 通过网络缓存技术可以减少网络中冗余数据的重复传输,优化网络带宽和 数据传输。 本论文通过对网络缓存的基本原理、研究动态等方面进行综合分析, 提出了根据访问对象大小来划分缓存目录,对精简缓存摘要算法进行了改 进。精简缓存摘要( r e d u c e dc a c h ed i g e s t ,r c d ) 是在缓存摘要( c a c h e d i g e s t ,c d ) 的基础上提出的新的摘要算法,它是根据访问对象的访问频 率特性将缓存目录分组:最近访问组( r e c e n t ) 和频繁访问组( f r e q u e n t ) 。 通过划分减少存储空间的使用,减少缓存目录发布时的带宽占有,在一定 程度上解决了缓存摘要c d 的局限性。但是由于r c d 是将缓存目录划分为大 小固定的两部分来分别记录最近访问的对象和频繁被访问的对象,随着大 量的访问请求的到来,缓存目录在不停地更新,由于两组的大小固定,频 繁被访问的组就会被填满,频繁被访问的对象可能就会被替换出去,导致 太原理工大学硕士研究生学位论文 缓存命中率急剧下降,在一定的程度上局限了网络缓存性能的体现。为了 进一步提高网络缓存的命中率,在改进算法中根据不同请求实现最近访问 组和频繁访问组大小的动态调节。 由于用户之间的差别,其请求对象也有很大的不同。对象之闻於差异 导致对象大小( s i z e ) 的偏差。请求对象的大小会影响网络缓存的性能。 一般地,小对象容易被大对象替换。不同大小的对象,请求访问的状况也 不尽相同。经常被访问对象的大小一般集中在某一特定的范围之内,这个 范围之外的其余对象的访问次数较少。通过以上的分析,为了减少r c d 的 弊端,本论文在划分缓存目录时着重考虑了访问对象的大小。 实验表明,以r c d 为基础,根据访问对象大小将缓存目录重新划分, 并且实现动态调节目录空间,可以显著提高缓存命中率,更好的为用户服 务。 关键词:网络缓存,分组,缓存性能,对象大小,动态调节 珏 太原理工大学硕士研究生学位论文 d y n a m i c a l l ya d j u s t e dr e d u c e d c a c h ed i g e s ta l g o r i t h m b a s e do ns i z e so f r e q u e s t e do b j e c t s a b s t r a c t w e b c a c h i n gw h i c hi sg e n e r a l l yc o n s i d e r e do n eo ft h em o s te f f e c t i v ew a y s t oi m p r o v et h en e t w o r kq u a l i t yo fs e r v i c ec a nr e d u c ei n t e m e tf l o w , i m p r o v et h e r e s p o n s et i m eo ft e r m i n a lu s e ra n dr e d u c en e t w o r kd e l a y w e bc a c h i n gm a k e s w i d et r a n s m i s s i o nt oal o c a l r e q u e s t ,i n c r e a s i n g a na d d i t i o n a l l a y e r o f h i e r a r c h i c a ls t r u c t u r e a c c o r d i n gt os o m es t r a t e g i e s ,c a c h es a v e sac o p yo ft h e c o n t e n tw h i c hc l i e n tr e q u e s t s w h e nt h es a m er e q u e s tc o m e s ,t h ec a c h ec a n p r o v i d et h ec o p y t om e e tt h eu s e r ,i n s t e a do fa s k i n gt h eo r i g i ns e r v e ra g a i n t h i s t e c h n o l o g yc a nr e d u c er e p e a t e dt r a n s m i s s i o na n do p t i m i z et h ew e bb a n d w i d t h a n dt r a f f i c b a s e do na n a l y z i n gp r i n c i p l ea n dr e s e a r c ht r e n d so fw e bc a c h i n g ,w eb u i l d a ni m p r o v e dm e t h o do fr e d u c e dc a c h i n g d i g e s tt h r o u g hd i v i d i n g c a c h e l i i 太原理工大学硕士研究生学位论文 c a t a l o g u eb a s e do ns i z e so fo b j e c t si nt h i sp a p e r r e d u c e dc a c h i n gd i g e s t ( r c d ) i san e wm e t h o db a s e do nc a c h ed i g e s t r c dd i v i d e st h ec a c h ec a t a l o g u ei n t o t w op a n s ,o n eo ft h ep a r t ss a v e st h eo b j e c t sw h i c ha r er e q u e s t e dr e c e n t l ya n dt h e o t h e rp a r ts a v e st h eo b j e c t sw h i c ha r er e q u e s t e df r e q u e n t l y t h i sd i v i s i o nc a l l r e d u c et h es p a c eo fs t o r a g ea n dt h eb a n d w i d t hw h i l ei s s u i n gt h ec a c h ec a t a l o g u e a n dc a na l l e v i a t et h el i m i t a t i o no ft h ec a c h ed i g e s t b u tt h es i z eo ft h ed i v i d i n g p a r t so fr c dc a c h ec a t a l o g u ei sf i x e d a l o n gw i t hl a r g en u m b e r so ft h ec l i e n t s r e q u e s t sc o m i n g ,t h ec o n t e n t s o fc a c h ec a t a l o g u ea r eu p d a t e dc e a s e l e s s l y b e c a u s es i z ei sf i x e d ,w h e nc l i e n t s r e q u e s t sa r ei n c r e a s i n g ,t h ef r e q u e n tp a r t m a y b ef i l l e dq u i c k l ya n do b j e c t sm a yb er e p l a c e d a tt h es a m et i m et h eh i tr a t i o o fc a c h ed e s c e n da c u t e l y a n dt h ep e r f o r m a n c eo fc a c h ei sd e c r e a s e di nac e g a i n d e g r e e i no r d e rt oi n c r e a s et h eh i tr a t i oo fw e bc a c h i n g ,w er e a l i z ed y n a m i ca d j u s t b e t w e e nr e c e n tp a r ta n df r e q u e n tp a r ti ni m p r o v e da l g o r i t h m t h eo b j e c t sw h i c h d i f f e r e n tu s e r sr e q u e s td i f f e rl a r g e l y g e n e r a l l y , s m a l lo b j e c t sc a nb er e p l a c e db y l a r g eo n e s o b j e c t sw h i c hh a v ed i f f e r e n ts i z e sc a u s ed i f f e r e n tr e q u e s t e ds t a t e s t h es i z e so fr e q u e s t e do b j e c t so f t e nf o c u so nac e r t a i ns c o p e o b j e c t so fo t h e r s i z e sa r er e q u e s t e dl e s s s ot h i sp a p e rc o n s i d e r st h es i z e so fr e q u e s t e do b j e c t s w h e nd i v i d i n gt h ec a c h ec a t a l o g u ei no r d e rt or e d u c et h ed e f e c t so fr c d e x p e r i m e n ti n d i c a t e st h a td i v i d i n gt h ec a c h ec a t a l o g u ea c c o r d i n gs i z e so f o b j e c t sa n da d j u s te a c hp a r td y n a m i c a l l yc a ni m p r o v et h ec a c h ep e r f o r m a n c e l a r g e l ya n dp r o v i d eb e t t e rs e r v i c e i v 太原理工大学硕士研究生学位论文 k e yw o r d s :w e b c a c h i n g ,d i v i s i o n ,c a c h ep e r f o r m a n c e ,o b j e c ts i z e ,a d j u s t d y n a m i c a l l y v 声明尸明 本人郑重声明:所呈交的学位论文,是本人在指导教师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本论文 不包含其他个人或集体已经发表或撰写过的科研成果。对本文的研究 做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明的 法律责任由本人承担。 论文作者签名:勃蚣日期:丝星! 厶】 关于学位论文使用权的说明 本人完全了解太原理工大学有关保管、使用学位论文的规定,其 中包括:学校有权保管、并向有关部门送交学位论文的原件与复印 件;学校可以采用影印、缩印或其它复制手段复制并保存学位论文; 学校可允许学位论文被查阅或借阅;学校可以学术交流为目的, 复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内 容( 保密学位论文在解密后遵守此规定) 。 签名:纽讼日期:塑墨:量:2 导师签名:日期: 太原理工大学硕士研究生学位论文 1 1 网络缓存产生的背景 第一章引言弟一早jl 茵 随着科技日新月异,计算机网络近年来获得了飞速的发展。2 0 年前,在我国很少有 人接触过网络。现在,i n t e r n e t 已成为我们社会结构的一个基本组成部分。根据中国 互联网络信息中心c n n i c ( c h i n ai n t e r n e tn e t w o r ki n f o r m a t i o nc e n t e r ) 第二十次 中国互联网调查,截至2 0 0 7 年6 月,中国网民总人数达到1 6 2 亿,位居世界第二,与 2 0 0 6 年末相比,新增网民2 5 0 0 万。网络的出现,使计算机的作用范围超越了地理位置 的限制,实现知识共享;网络使人们能够方便快捷的获取信息,交换共享数据信息,给 人们的工作和生活带来了极大的便利,网络对我们来说是有诸多的益处的。人们越来越 离不开网络,可以说网络在当今世界无处不在,在人们的生活中扮演重要的角色。 由于网络的广泛使用与发展,i n t e r n e t 上的信息量和用户数以前所未有的速度增 长,大规模的终端用户对带宽提出更高的要求,随之而来很多问题。由于用户数量增多, 用户需求相应增加,服务器因为要处理更多需求而变得繁忙,导致服务器的负载过重, 反应时间相对变慢,不能及时响应用户的请求,造成延迟,延迟致使用户等待请求的时 间太长而失去耐心。来自c n n i c 的调查报告表明,用户认为上网过程中最令人不满意的 地方就是网络速度过慢。由于服务器的负载过重,有时甚至会导致服务器的无法访问。 网络带宽的不够以及数据传输链路的延迟,造成网络拥塞,影响i n t e r n e t 的使用效果。 以上网络问题,成为困扰众多企业和服务商的难题。网络缓存技术正是在这种情形 下发展起来的。网络缓存是一种降低i n t e r n e t 流量和提高终端用户响应时间的网络技 术。它是用户与服务器之间的一个媒介,在现有网络层次结构中增加一层,专用于提高 网络响应时间。网络缓存服务器监视w e b 请求,检索它们,然后存储它作为缓存对象, 当后来的用户有相同请求内容时,直接从本地的缓存设备而不是真正的目标站点获取该 对象。网络缓存服务器尽可能直接地响应终端用户的请求,减少通过i n t e r n e t 传递给 提供服务的源服务器的请求数量,直接消除i n t e r n e t 获取信息速度慢的源头,提高响 应性能,减少带宽压力,提高网络服务质量。 网络应用主要是竞争带宽,将w e b 数据靠近最终用户保存,可以使服务提供商保留 带宽,相对来说,网络缓存增加了网络的带宽,节省费用。当网络缓存被命中的时候, 太原理工大学硕士研究生学位论文 就可以减少网络的延迟,还能减少网络服务器即内容提供商的负载,节省了时间。 1 2 网络缓存应用情况 网络缓存能够有效地提高网络服务质量,所以许多大中型网站的后台都在使用网络 缓存技术。由于i n t e r n e t 的迅猛发展,流媒体应用也逐渐发展起来,现在普遍的流媒 体应用有宽度视频点播,视频会议,网络直播等。流媒体的数据为网络的带宽提出了更 高的要求,而网络缓存技术为流媒体应用发展提供了技术支持。 单一缓存服务器只是为有限的客户群服务,其发挥的作用有限。将缓存服务器集中 起来,组成相互合作的缓存集群,它们的客户群也相应的增大。缓存系统的性能取决于 其客户群的大小,客户群越大,缓存的内容被再次请求的可能性就越高,相互合作的缓 存服务器集群命中率就会提高,从而提高整个缓存系统的性能,所以一般的网络缓存都 是以集群的方式进行工作的。组成集群的网络缓存形成协同高速缓存系统,其中一个著 名的例子是n l a n r ,它由位于美国境内的多个主干高速缓存服务器构成,为遍布全球的 机构内部高速缓存服务器和地区级高速缓存服务器提供服务。 目前市面上有许多的缓存产品,例如s q u i d 软件,n o v e l l 公司的i c s ( i n t e r n e t c a c h es y s t e m ) 和b o r d e r m a n a g e r 软件。 许多的公司都有生产缓存服务器,例如戴尔公司的p o w e r a p p c a c h e 服务器,c i s c o 公司的c a c h ee n g i n e 服务器,n e t w o r ka p p l i c a t i o n 公司的n e t c a c h e 服务器,联想的 i c a c h e 服务器等。 s q u i d 是目前比较流行用来缓存i n t e r n e t 数据的开源软件,许多缓存产品和服务器 都是在其基础上发展而来的。 1 3 研究课题来源、自己所作的工作及意义 目前网络缓存主要研究方向集中在设计新的替换算法、动态的调整缓存空间和自适 应缓存等相关方面。我们的研究致力于提高网络缓存的性能,考虑在动态调整缓存空间 方面做改进研究。 精简网络缓存内容摘要r c d 是对缓存摘要协议c d 的一种改进,考虑了访问对象的 频率次数,根据访问频率的不同将缓存目录划分为两部分。 不同的用户,其请求对象大小( s i z e ) 差别很大。请求对象的s i z e 会影响网络缓 2 太原理工大学硕士研究生学位论文 频率次数,根据访问频率的不同将缓存目录划分为两部分。 不同的用户,其请求对象大小( s i z e ) 差别很大。请求对象的s i z e 会影响网络缓 存的性能,一般情形下,s i z e 小的对象容易被s i z e 大的对象替换。 通过实验可以发现不同s i z e 的对象,请求访问的状况也不尽相同。访问对象的s i z e 一般集中在 i o k 的范围之内,这个范围之外的对象访问次数相对较少,考虑到缓存的 命中率等性能,我们应该在划分缓存目录时应该考虑访问文件的s i z e 。 r c d 是将缓存的目录划分为大小是固定的两部分,分别记录最近访问的对象和频繁 被访问的对象。由于根据大量的访问请求的到来,缓存的目录也在不停的更新,将缓存 目录划分固定大小的两部分存在一定的局限性。随着用户请求的增多,由于两组的大小 固定,经常被访问的组就会被填满,经常被访问的对象可能就会被替换出去,此时缓存 的命中率会下降,在一定的程度上局限了网络缓存的性能。为了提高网络缓存的性能, 我们将根据不同请求实现最近访问组( r e c e n t ) 和频繁访问组( f r e q u e n t ) 两部分大小的 动态调节。 本文对r c d 进行一定的改进,提出基于访问对象大小的动态调节r c d 算法。不仅考 虑访问对象的频率次数,而且根据对象的s i z e 将缓存目录的最近访问组( r e c e n t ) 和频 繁访问组( f r e q u e n t ) 两部分再依次划分为大、小两组,并动态调节缓存目录的大小,提 高缓存的性能。 1 4 论文组织结构 论文的章节安排如下:第二章介绍网络缓存的基本概念及相关技术,包括缓存实现 的基本原理、网络缓存的分类、协议以及网络缓存的评价指标等知识。第三章讨论了 w e b 访问对象的特性,这些特性是提出新的改进算法即基于访问对象大小的动态调节 r c d 算法的依据。之后详细阐述了改进的算法以及设计方案。第四章是实验方案以及实 验的数据分析。最后第五章是总结与展望。 太原理工大学硕士研究生学位论文 2 1 网络缓存定义 第二章网络缓存 缓存是硬盘控制器上的一块内存芯片,具有极快的存取速度,它是硬盘内 部存储和外界接口之间的缓冲器。由于硬盘的内部数据传输速度和外界介面传 输速度不同,缓存起到一个缓冲的作用。网络缓存( w e bc a c h i n g w e bc a c h e ) 技术是把硬件缓存技术拓展到网络上的应用,但其功用远不止存储和提供数据 这么简单。 网络缓存是在用户与i n t e r n e t 服务器之间设置了一个经常访问网站的存储 点,根据进来的w e b 请求,缓存会保存输出内容的副本,例如页面文件,图片 文件以及其他格式文件等。当下一个w e b 请求来到的时候,如果请求的是相同 地址并且缓存的内容在有效期t t l ( t i m et ol i v e ) 内,缓存直接使用副本响应 访问请求,而不必再次向源服务器发送请求n 3 。如下图是网络缓存的工作过程。 图2 - 1 网络缓存工作示意图 f i g 2 - 1s k e t c hm a po fw e bc a c h i n g 4 太原理工大学硕士研究生学位论文 一蒜r l 客户端i 请求分析 c a c h e 远程服务器i i 模块 存储模块 jl c a c h e 替换模块 图2 - 2 网络缓存工作过程 f i g 2 - 2w o r k i n gp r o c e s so fw e bc a c h i n g 2 2 网络缓存原理 网络缓存的基本思想是利用客户访问的时间局部性( t e m p o r a ll o c a l i t y ) 原理,将客户访问过的内容在c a c h e 中存放一个副本,当该内容下次被访问时 不必连接到源网站,而是由c a c h e 中保留的副本提供给用户。 根据研究,用户请求的频次分布为z i p f 分布瞳1 。z i p f 定律指出每个对象出 现频率与对象出现的序号存在一定的关系,z i p f 分布是指少数的对象承接了大 量用户的请求,即大量的用户请求内容是重复的。 将这些大量的可能进一步重复使用的内容保存起来,当再次有该请求时直 接用副本内容满足客户请求,这样做就可以减少网络中冗余数据的重复传输。 网络缓存技术就是采用这种原理,将广域传输转为本地或就近访问,减少重复 内容传输。这样做就降低了网络流量和网络负载,从而减轻网络拥塞,减少用 户等待时间,提高访问网络的速度,优化网络数据传输。 基于w e b 的访问是通过h t t p 协议来实现的。从客户端发一个h t t p 请求开 始,用户所经历的等待时间主要取决于域名服务器( d o m a i nn a m es e r v e r ,d n s ) 和网站的响应时间。h t t p 的请求发出之前,所要访问服务器的i p 地址必须到 d n s 处作域名解析,然后才逐个发出请求下载组成页面的各个对象。 一个请求在得到应答之前会产生延时即h t t p 的延迟反应时间,延时是由在 客户端和服务器间的若干个往返时间所决定。每个h t t p 请求都要求创建一个新 的t c p 连接,产生一个延迟,当服务器收到并处理这个请求后,用户将在经历 第二个延迟后收到所要的w e b 数据。如果这个数据中又指明在w e b 页中包含另 太原理工大学硕士研究生学位论文 外的对象( 如图像、音频文件等) ,客户端的浏览器又会新建一个t c p 连接,继 续请求这些包含在主页中的对象。h t t p 协议将很多时间花费在了等待建立连接 而不是传输数据上。如果能够减少等待时间,就可以加快网络的响应速度。 缓存服务器接受w e b 用户的请求,并将自己不能满足的请求转发给w e b 服 务器。w e b 服务器将w e b 对象拷贝返回给缓存服务器,由缓存服务器转发给用 户。缓存服务器可以将w e b 对象拷贝保存起来,以满足随后别的用户的请求。 实现了w e b 内容的关键节点存储,不用在网上重复传递查询命令和查询结果, 减少h t t p 请求的建立时间和延迟时间。 网络缓存技术缩短了客户机访问网站时数据传输的距离,减少用户请求通 过i n t e r n e t 路由到达原始服务器而取回所请求的对象的次数,减少带宽的占 用,降低了可能引起的服务延迟。网络缓存被广泛采用以提高w e b 服务系统的 性能和可扩展性,是解决网络瓶颈和延时的一种有效途径。 网络缓存扮演的角色即是服务器又是客户端。当网络缓存把满足客户请求 的信息发给客户时,相对于客户网络缓存充当的是服务器的角色;当其不能满 足客户请求,即向源服务器再次发送请求时,网络缓存相对于源服务器就是客 户端的角色。 所有的缓存都用一套规则来帮助它们决定什么时候使用c a c h e 服务器中的 副本提供服务。一般说来,遵循以下基本的规则: ( 1 ) 如果响应头信息告诉缓存服务器不要保留缓存,缓存服务器就不会缓存 相应内容; ( 2 ) 如果请求信息是需要认证或者安全加密的,相应内容也不会被缓存; ( 3 ) 如果在回应中不存在校验器,缓存服务器会认为缺乏直接的更新度信 息,内容将会被认为不可缓存。 ( 4 ) 一个缓存的副本如果含有以下信息,内容将会被认为是足够新的: 含有完整的过期时间和寿命控制头信息,并且内容仍在保鲜期内; 浏览器已经使用过缓存副本,并且在一个会话中已经检查过内容的 新鲜度; 缓存代理服务器近期内已经使用过缓存副本,并且内容的最后更新 时间在上次使用期之前; 6 太原理工大学硕士研究生学位论文 够新的副本将直接从缓存中送出,而不会向源服务器发送请求; ( 5 ) 如果缓存的副本已经太旧了,缓存服务器将向源服务器发出请求校验请 求,用于确定是否可以继续使用当前拷贝继续服务; 新鲜度和校验是确定内容是否可用的最重要途径。如果副本足够新鲜即副 本内容与服务器的原件内容相同或相似度很大,就可以直接从缓存服务器中提 取立刻使用;经缓存服务器校验后发现副本的原件没有变化,系统也会避免将 副本内容从源服务器整个重新传输一遍n 3 。 2 3 网络缓存类型 网络缓存依据不同的方式可以划分为不同的类型。 ( 一) 根据网络位置划分 网络缓存设备根据安装在网络的不同位置,可以分为基于浏览器的缓存和 代理缓存。 基于浏览器的缓存( b r o w s e rc a c h e s ) 是存于p c 中,它将用户的访问内容 暂存于本地的硬盘上,用户下次访问相同内容时可直接在本机中提取。 使用过i e 、f i r ef o x 和n e t s c a p en a v i g a t o r 等浏览器的人知道,当你按 动浏览器上的“后退 按钮,返回到前一个页面时,打开该页面的速度相对初 始打开时要快些口3 。 基于浏览器的缓存允许用户自己设置缓存的大小。但它只能为使用该电脑 的单一用户服务并且只有在该用户再次访问这个页面时才会命中缓存妲1 。例如 i e 浏览器,通过“i n t e r n e t 选项”对i n t e r n e t 临时文件进行设置,将已查看 过的i n t e r n e t 页存放在本地硬盘特定的文件夹中,以便提高以后的浏览速度。 代理缓存( p r o x yc a c h e s ) 不同于基于浏览器的缓存,它通常配置在网络 的边缘,这样可以为多个客户端提供缓存服务。代理服务器使若干个用户通过 代理服务器连接到i n t e r n e t 。当多个用户访问同一个站点时,缓存命中率就会 大于基于浏览器的缓存,当用户数量增多时,缓存命中率也相对增大口1 。 代理缓存服务器作为代理服务器的一部分来完成w e b 信息缓存任务,位于 w e b 客户端和i n t e r n e tw e b 服务器之间,首先截获客户的h t t p 请求,先要检 查一下自己是否能满足该请求,如果能的话,就将存储在本地的w e b 信息提供 7 太原理工大学硕士研究生学位论文 给用户,而不必从源服务器上去获取;如果用户请求的内容没有存储在c a c h e 中,代理服务器就将用户的请求转发给到相应的w e b 服务器上,w e b 服务器响 应用户请求传送给用户的页面会先到达代理服务器。代理服务器会将页面存放 在本地的c a c h e 中,然后再把它转发给相应的w e b 客户端。由于代理服务器是 所有用户访问i n t e r n e t 的必经之路,本地客户端和i n t e r n e t 上w e b 服务器之 间传输的所有数据包都要经过代理服务器的检查,这样一方面可能使代理服务 器成为数据传输的瓶颈,另外一方面如果代理服务器出现故障,所有通过代理 服务器访问i n t e r n e t 的用户都将无法连接i n t e r n e t 了。 ( 1 ) 正向代理缓存 正向代理需要客户的浏览器配置代理缓存的服务器的i p 地址及t c p 端 口号,这样客户的所有w e b 请求都经过缓存服务器的代理访问i n t e r n e t 。 一一口一一一y + ( 2 ) 反向代理缓存 反向代理缓存与客户端无关,提供的是对服务器端的加速访问,它的应 用方式是缓存服务器放置在源服务器前端。当用户访问应用服务器的时候, 首先经过缓存服务器,并将用户的请求和应用服务器应答内容写入缓存服 务器,从而为后来的用户的访问提供快速响应。 鼠 圜二 图2 4 反向代理缓存 f i g 2 4r e v e m ep r o x yc a c h e 铡捌潮绸珂箩 e画阍图劬爿c 参挑 太原理工大学硕士研究生学位论文 ( 3 ) 透明代理缓存 不需要在用户端进行特殊配置。它对用户的访问做出应答,并带有源服 务器的i p 地址,用户感觉不到在访问本地缓存。实现透明访问有两种解决 方案:第四层交换和基于策略的i p 路由。两种方案都可以重定向用户的w w w 访问而不影响其他的服务,而且都可以构建出一种高性能、高可靠性和可 扩展性的网络构架h 1 。 ( 二) 依据软硬件的划分 网络缓存根据其软硬件的不同可以分为代理型缓存和容器型缓存。代理型 缓存是在通用的平台上用软件来实现缓存功能,而容器型c a c h e 则是指运行于 专用硬件平台上的缓存软件。 运行于网络操作系统( 例如n e t w a r e ,w i n d o w sn t ,l i n u x 或u n i x 等) 上 的软件代理缓存有n o v e l l 公司的i c s ( i n t e r n e tc a c h es y s t e m ) 、 b o r d e r m a n a g e r ,s q uid 等缓存代理产品。 n o v e l l 公司的b o r d e r m a n a g e r 的代理缓存服务器技术( p r o x yc a c h es e r v e r t e c h n o l o g y ) 由c e r n 开发,它作为一种特殊的h t t p 服务器,具有防火墙的功 能。可以实现三种类型的缓存:标准的代理缓存,h t t p 加速器,i c p 多层缓存。 s q u i d 是目前比较流行用来缓存i n t e r n e t 数据的开源软件,它可以运行在 u n i x 系统上,也可以在m i c r o s o f tw i n d o w s 系统上运行。s q u i d 对硬件要求不 高,是用一个单独的、非模块化的、i o 驱动的进程来处理所有的客户端请求。 s q u i d 可支持f t p 、g o p h e r 、h t t p 协议和s s l ,具有多样化访问控制和代理请求 的完整日志功能。通过轻量级的i c p ( i n t e r n e tc a c h ep r o t o c o l ,i n t e r n e t 缓存协议) ,s q u i d 以网状或层次的方式分配内存,从而最大限度地节约带宽。 下载s q u i d 软件后,要对其进行编译配置后才可以运行s q u i d 代理服务陆1 。 容器型c a c h e 一般是硬件与软件的组合,产品有戴尔公司的p o w e r a p p c a c h e 服务器,c i s c o 公司的c a c h ee n g i n e ,n e t w o r ka p p l i c a t i o n 公司的n e t c a c h e , c a c h e f l o w ,联想的i c a c h e 等。i n t e l 也有数款系列缓存器。联想i c a c h e 是硬 件和软件组合的解决方案,它借助n o v e l l 公司的高速缓存文件系统。 硬件的高速缓存设备像其他硬件设备一样只需与网络连接即可使用。与软 9 太原瑗工大学硕士研究生学位论文 件代理缓存产品不同,这些设备不安装在网络操作系统之上,因此不会因操作 系统的其他任务丽降低整体性能。霉前硬件高速缓存的缺点是:价格昂贵,不 够灵活,对于一些特殊类型的应用无法胜任哺3 。 ( 三) 依据工作方式的划分 溺络缓存根据工作方式可以划分为被动缓存( p a s s i v ec a c h i n g ) 和主动缓 存( a c t i v ec a c h i n g ) 。 被动缓存是指我们一般意义上的缓存,它基于客户请求,是一种“披( p u l l ) 的技术。当客户发送请求,首先检查缓存,若缓存命中,则直接返回给客户对 象。如果缓存没有请求的对象,那么就直接连接至源服务器取回请求对象返回 给客户。如果这个对象是可缓存的,那么就备份到缓存服务器中。被动缓存服 务于部分客户端但所有的w e b 服务器都受益。 而主动缓存是指当文件过期了或者服务器上的该文件有更新,则主动缓存 服务器会自动发送请求给源服务器取得最新的文件对象。c d n 就是一种基于“推 ( p u s h ) ”的技术主动缓存。e 蹦( c o n t e n td e l i v e r yn e t w o r k c o n t e n t d i s t r i b u t i o nn e t w o r k ) 即内容分布网络,是对传统网络的一种改进,在现有 的i n t e r n e t 中增加一层新的网络架构,将网站源服务器中的内容存储到分布于 各地的节点,使用户能够就近取得所需的内容。c d n 能够主动、实时地更新缓 存服务器的内容,使缓存服务器的内容与源服务器的内容致,是一种代表源 服务器传送内容到最终用户的机制。c d n 服务于部分w e b 服务器但所有的客户 端都受益疆1 。许多门户网站、电子商务网站、新闻频道_ 以及跨国企业等都己普 遍使用c d n 服务哺3 。 2 4 网络缓存的协议 缓存系统的协议一般分为:i n t e r n e t 缓存协议、摘要缓存协议、缓存阵列路 由协议和超文本高速缓存协议。 i n t e r n e t 缓存协议( i n t e r n e tc a c h ep r o t o c o l ,i c p ) i c p 是最早嵩现的网络缓存协议,由h a r v e s tg r o u p 于1 9 9 4 年发明。i c p 定义 缓存服务器之间的相互关系,上下级之间定义为父子关系,同级之间定义为兄弟 1 0 太原理工大学硕士研究生学位论文 关系,并通过i c p 报文在缓存服务器间进行通信。该协议支持从相邻代理缓存以 及父代理缓存里发现和获取对象。 i c p 是基于广播式的方法,通过查询其他的缓存服务器来避免从一台远程服 务器上高代价地索取资源。当用户请求i n t e r n e t 上的服务器数据时,本地缓存在 收到请求时先检查客户请求的对象是否在它的缓存中,如果在则响应客户的数据 请求。当本地代理缓存没有用户请求的对象时,向它的兄弟代理广播i c p 请求, 兄弟代理回复是否有数据信息。如果有则从该兄弟代理拷贝对象信息并传回给用 户。当所有的兄弟代理都回复没有该数据对象或者超过规定时间仍没有兄弟代理 回复有对象信息时,由父代理缓存向源服务器发出请求,之后将请求的对象传回 本地缓存,进丽荐传回给发出请求的客户疆。i c p 的基本思想就是客户的请求在 本地缓存服务器中未命中时,这个缓存服务器向其他与它合作豹代理缓存服务器 发出请求,逐个查询。 其他缓存协议都是在i c p 协议的基础上发展出来的,i c p 最大的缺点在请求发 生时会因为轮询而产生额外延迟。当兄弟缓存服务器数量增多时,通信量和处理 的开销成倍增加。由于必须等到所有兄弟缓存服务器都找不到后或者超过一定时 间后,才能向父代理发出请求,从而使网络延迟增加嘲。 摘要缓存系统( c a c h ed i g e s t ,c d ) 壶予i c p 协议的本地缓存不知道哪个兄弟代理缓存存有对象,这样轮询便会 产生延迟。为了减少延迟,就应该预测哪个缓存节点存有请求数据。 c d 协议就是提供一种快速查询缓存里面对象的方法,通过保存其他缓存节点 的摘要来减少缓存间的通信量。 c d 协议的思想是每个缓存服务器将自己所缓存的内容信息收集起来,生成一 张自己缓存内容的目录摘要,c d 允许合作的缓存服务器之间交换各自的目录摘 要。每个缓存保存着所有合作缓存的摘要信息,查询时先查询这些摘要,以便定 位到存有请求信怠的缓存服务器。 当本地的缓存c a c h ea 收到用户请求时,首先检查本地缓存的缓存摘要,如 果本地缓存c a c h ea 有该请求对象时,则直接响应用户请求。当c a c h ea m 缓存摘 要里没有该对象信息时,若c a c h ea 中保存了c a c h eb 的目录摘要,c a c h ea 就 可以通过查询c a c h eb 的目录摘要,查看对象是否在c a c h eb 中。如果c a c h eb 的 太原联工大学硕士研究生学位论文 缓存目录摘要中有该对象信患,燹l j 连接c a c h eb ,到c a c h e8 中查找该对象。如果 c a c h e8 中也没有该对象,燹| j 要向源数据服务器发送请求。 不需要发送i c p 请求到所有的其他缓存节点中,而通过这种交换缓存内容目 录搦要的方法有效麴避免了i c p 请求询问造成豹网络拥塞和延迟,从两大大减少 了缓存之闽的透信量。 缓存节点的摘要由b l o o mf i l t e r 存储。b l o o mf i l t e r 是个数据结构,简明的 证嬲菜个元素是否在集合孛。b l o o mf i l t e r 的基本思想是用多个h a s h 函数来计 算数据,取得多个数组的下标并标记。 c d 虽然消除了i c p 每次请求带来的延迟,也带来了另个潜在的延迟,在层 次结构兄弟关系的c a c h e 中,巍于冲突的原因,当请求豹对象不在c a c h e 中时,这 个c a c h e 的摘要也许会返圜一个“命中”信息,这种现象称为“假命中 ( f a l s e h i t ) 。在“假命中”发生的情况下,发出请求的c a c h e 必须煎新向另外 的c & e h e 服务器发爨请求,这就带来了薪的延迟。但是的“假命中 带来的延 迟只发生在冗弟关系的c a c h e 中丽虽“假命中”发生的凡率很小,而i c p 每次请求 都会发生延迟,i c p 也可能发生“假命中”的情况,所以c d 由于“假命中”带来 的延迟霾i c p 每次请求带来的延迟毙较起来可以忽略不计。 缓存阵列路由协议c a r p ( c a c h ea r r a yr o u t i n gp r o t o c 0 1 ) c a r p 协议本质。上是一个算法n 1 ,它将整个u r l 空间进行分区,分割成不同的部 分,将每一部分指定给一组松散耦合静c a c h e 组,每个c a c h e 只负责属于揍定分区 的请求。每个请求依据其u r l 的啥希值被送到正确的代理缓存器里。晗希值的计 算般在浏览器里或者在域名服务器里进行。该协议消除了代理之间的通信,解 决了文件冗余目题。该协议易把请求送到地理位置较远豹代理,造藏嫡应时问延 长。因此,c a r p 缓存协议不适合于广域缓存共享。c a r p 能够支持凡乎秃限的线性 扩展以满足快速增长型企业的需求。当向巢个阵列中添加或移除一台服务器时, c a r p 是动调整并褥指定u r l 以有效地分毒负载。阵捌是高度可并级的,因为霹虢 向阵列添加服务器,或向分等级的架构增加阵列等级,丽无需扰乱目前的缓存解 决方案。 超文本高速缓存势议h t c p ( h y p e r t e x tc a c h i n gp r o t o c 0 1 ) h t c p 是为了解决i c p 的缺点而设计的缓存协议,比i 复杂。它是一个用来发 1 2 太原理工大学硕士研究生学位论文 现h t t p 缓冲区并储存数据、管理整套的h t t p 缓冲区和监测缓冲区活动的协议。这 是一个试验性协议口1 。 还有一种协议是w c c p ( w e bc a c h ec o m m u n i c a t i o np r o t o c 0 1 ) ,w e b 高速缓 存控制协议,是一种专用于c is c o 机器上的协议。w c c p 是路由器与缓存之间的通 信协议,定义了路由和缓存之间透明重定向的机制,在网络缓存引擎中实现负载 分配的方法、转发方式的协商等方面。 2 5 网络缓存的评价指标 一般地,我们使用命中率来评价网络缓存的性能。缓存命中率( c a c h eh i t r a t i o ) 是指不用再次向源服务器发送请求、网络缓存能够自己满足客户请求的 数量占客户总请求量的百分比。缓存命中率能够告诉我们有多少个请求被命中, 但是我们不能得知网络缓存节约了多少带宽,减少了多少延迟。 字节命

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论