(计算机应用技术专业论文)分布式缓存在普招网报系统的应用研究.pdf_第1页
(计算机应用技术专业论文)分布式缓存在普招网报系统的应用研究.pdf_第2页
(计算机应用技术专业论文)分布式缓存在普招网报系统的应用研究.pdf_第3页
(计算机应用技术专业论文)分布式缓存在普招网报系统的应用研究.pdf_第4页
(计算机应用技术专业论文)分布式缓存在普招网报系统的应用研究.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机应用技术专业论文)分布式缓存在普招网报系统的应用研究.pdf.pdf 免费下载

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

文档简介

河南大学研究生硕士学位论文 摘要 随着i n t e m e t 的普及。人们开始使用互联网来进行交流和信息获取。它不仅方 便快捷,而且易于操作、更有利于信息的获取和收集。因此越来越多的政府机关, 企事业团体开始利用网站发布,收集信息。河南省普招网报系统就是利用网站发 布考试信息,收集考生的资料。考生通过i n t e m e t 登录普招网站,就可以轻松获取 自己的报名信息,以及考试信息。 每年河南省的高考报名人数近百万,因此网站的设计成为普招网报系统的关 键因素。河南省普招网报系统的特点是考生的数据信息量巨大,访问量高,因此 使得分布式缓存技术成为该系统的高性能和高可扩展性的关键技术。近年来,分 布式缓存技术一直是研究的热点,很多大型的商业网站例如雅虎、新浪等都在研 究并使用分布式缓存技术。本文通过河南省普招网报系统的设计,针对数据的缓 存方式,进行分布式缓存技术的研究。利用分布式内存对象技术- m e m c a c h e d , 重点解决了分布式缓存技术中数据的分布式缓存算法、缓存替换策略,缓存的更 新策略等关键问题,并实现了一个分布式缓存系统,该系统已经应用在2 0 0 9 年的 河南省普招报名系统中,取得了良好的应用效果。 本文主要研究成果有: 分析研究河南省普招网报系统的特点,并完成了分布式缓存系统的设计与实 现。将m e m c a c h e d 技术引入到n e t 开发环境下。在使用m e m c a c h e d 技术的基础之 上,抛弃了m e m c a c h e d 自带的数据分布算法节点冗余算法,以及当前流行的 分布算法c o n s i s t e n th a s h i n g 算法,而是根据自身特点设计了符合河南省普招网报 系统的数据的分布算法节点索引算法。 在分析传统的数据的更新的基础之上,引入了版本校验方式保持数据的一致 性,以及在缓存数据失效时,使用枷锁读取方式来解决并发访问的问题。 关键词:缓存,分布式,m e m c a c h e d ,分布式内存对象,分布式缓存,普招网报系 统 第1 i 页河南大学研究生硕士学位论文 a b s t r a c t 昕出t h ep o p u l a r i t yo fi n t e r n e ti nt h ew o r l d p e o p l eb e g a nu s i n gt h ei n t e m e tt o c o m m u n i c a t ea n da c c e s st oi n f o r m a t i o n i ti sn o to n l yc o n v e n i e n ta n de a s yt oo p e r a t e , m o r ec o n d u c i v et oi n f o r m a t i o na c c e s sa n dc o l l e c t i o n s om o r ea n dm o r eg o v e r n m e n t a g e n c i e s ,e n t e r p r i s e sa n do r g a n i z a t i o n sb e g a nt ou s ew e b s i t e st oc o l l e c ti n f o r m a t i o n s u c ha sh i g h e re d u c a t i o na d m i s s i o no f f i c eo fh e n a np r o v i n c e c a n d i d a t e sl o g i nt h e h e a ow e b s i t et h r o u g ht h ei n t e r a c t , c a ne a s i l ya c c e s st h e i rr e g i s t r a t i o ni n f o r m a t i o na n d e x a mi n f o r m a t i o n i nh e n a np r o v i n c e ,t h en u m b e ro fa p p l i c a n t se a c hy e a rn e a r l y1 m i l l i o nc o l l e g ee n t r a n c ee x a m i n a t i o n ,s ot h ew e b s i t ed e s i g nh a sb e c o m ea k e yf a c t o ri n w e bo n l i n er e g i s t r a t i o ns y s t e m t h eo n l i n er e g i s t r a t i o ni n f o r m a t i o ns y s t e mi nh e n a np r o v i n c ei sc h a r a c t e r i z e db y ah u g ea m o u n to fi n f o r m a t i o nd a t a , c a n d i d a t e s ,h i g ht r a f f i c ,w h i c hm a k e sd i s t r i b u t e d c a c h i n gt e c h n o l o g yi n t ot h es y s t e mp e r f o r m a n c ea n ds c a l a b i l i t yo fk e yt e c h n o l o g i e s i n r e c e n t y e a r s ,d i s t r i b u t e dc a c h et e c h n o l o g yh a sb e e nah o tr e s e a r c h ,m a n yl a r g e c o m m e r c i a lw e b s i t e ss u c ha sy a h o o ,s i n aa n ds oo ni nt h es t u d ya n du s eo fd i s t r i b u t e d c a c h i n g t h i sp a p e rr e p o r t sh e n a nh i g h e re d u c a t i o na d m i s s i o no n l i n es y s t e md e s i g n , m e t h o d sf o rd a t a c a c h i n g ,d i s t r i b u t e dc a c h i n gt e c h n o l o g yf o r r e s e a r c h u s eo f d i s t r i b u t e dm e m o r yo b j e c tt e c h n o l o g y m e m c a c h e d ,ad i s t r i b u t e dc a c h i n gt e c h n o l o g y f o c u s e do ns o l v i n gt h ed i s t r i b u t e dd a t ac a c h i n ga l g o r i t h m s ,c a c h er e p l a c e m e n ts t r a t e g y , t h ec a c h eu p d a t ep o l i c ya n do t h e rk e yi s s u e s ,a n di m p l e m e n t a t i o no fad i s t r i b u t e d c a c h i n gs y s t e m ,t h es y s t e mh a sb e e na p p l i e dh e n a np r o v i n c ei n2 0 0 9 ,h i g h e re d u c a t i o n a d m i s s i o no n l i n er e g i s t r a t i o ns y s t e mh a sa c h i e v e dt h eb e s tr e s u l t s i nt h i sp a p e r ,r e s e a r c hr e s u l t sa r e h i g h e re d u c a t i o na d m i s s i o no n l i n er e g i s t r a t i o ns y s t e ma n a l y s i s o fh e n a n p r o v i n c er e p o r t e dc h a r a c t e r i s t i c so ft h es y s t e m ,a n dc o m p l e t e dt h ed i s t r i b u t e dc a c h e s y s t e md e s i g na n di m p l e m e n t a t i o n m e m c a c h e dt e c h n o l o g yw i l lb ei n t r o d u c e dt o n e t d e v e l o p m e n t e n v i r o n m e n t t h eu s eo ft e c h n o l o g yo nt h eb a s i so fm e m c a c h e d , a b a n d o n e dm e m c a c h e do w l ld a t ad i s t r i b u t i o na l g o r i t h m - n o d er e d u n d a n c ya l g o r i t h m , 河南大学研究生硕士学位论文第1 i i 页 a sw e l la st h ep o p u l a rd i s t r i b u t i o na l g o r i t h mc o n s i s t e n th a s h i n ga l g o r i t h m 。b u tb yt h e i r o w nc h a r a c t e r i s t i c sd e s i g n e dt om e e tt h er e p o r t i n gs y s t e mi nh e n a nh i g h e re d u c a t i o n e x a m i n a t i o no n l i n er e g i s t r a t i o ns y s t e md a t ad i s t r i b u t i o na l g o r i t h m n o d ei n d e x i n g a l g o r i t h m i nt h ea n a l y s i so ft h et r a d i t i o n a lb a s i so fu p d a t e dd a t a , t h ei n t r o d u c t i o no fv e r s i o n c h e c km e t h o dt om a i n t a i nd a t ac o n s i s t e n c y ,a n dc a c h ed a t ai si n v a l i d ,t h eu s eo f s h a c k l e st or e a dw a yt os o l v et h ec o n c u r r e n ta c c e s si s s u e s k e y w o r d s :c a c h i n g ,d i s t r i b u t e d ,m e m c a c h e d ,d i s t r i b u t e dm e m o r yo b j e c t , d i s t r i b u t e dc a c h i n g ,h i g h e re d u c a t i o ne x a m i n a t i o no n l i n er e g i s t r a t i o ns y s t e m 关于学位论文独立完成和内容创新的声明 本人向河南大学提出硕士学位中请。本人郑重声明:所呈交的学位论文是 本人在导师的指导下独立完成的,对所研究的课题有新的见解。据我所知,除 文中特别加以说明、标注和致谢的地方外,论文中不包括其他人已经发袁或撰 写过的研究成果,也不包括其他人为获得任何教育、科研机构酌学位或证书而 使用过的材料。与我一同工作的用,事对本研元所做的任何贡献均已在论文中作 了明确的说明并表示了,谢意。霉鼍麓ij j 。、砭;o :毛k 学位串霉0 喾住霎毒菇;兰:i 兰兰皇蚴:学位串请= 久学位论文作者;釜名:之:兰型5 妻洳。,。,一,衫影鼻j :j :;:0 i :爹一岳墨;乌矗“;、”c 、| 口 毒锋,。,:髭嚣一乏蠢0 g ? 、i :l 4 。“”。:i :一二 。芬, 。麓j 爷;芬蕊ij 霉鎏习( 嚷,年j 6 i 调。留日 寥书_ 彬。爹i ,彩:惑。:i“;i 爹聋。| j “薹 霎;r ;黉嚣垂鬻警i 爹h ,霪i 笺。:? ;馨 霉。关于学位论文著作权使用,授权书。7 萤 毪。彬。凑二,麓懿纛、;蒜蠹:篷鹣,罗 本人经河南大学审核批准援子,硬士学位。作为学位论文的作者,本人完全 了解并同意河南大学有关保留? 0 镳月学位论文的要求,即河南大学有权向国家 图书馆、科研信息机构、数据收集机构和本校图书馆等提供学住论文( 纸质文 本希电子文本) 以供公众检索、奎阅i 本人授枳河南大学出于宣扬、展览学校 学术发展和进行学术交流等7 日、媳髟可蟛采取影印:缩印、扫描和拷贝等复制手 段保存、汇编学住论文( 纸质文本和电子文本) 。 ( 涉及保密内容的学住论文在解奢后适用本授权书) 学住荻得者( 学位论文作者) 釜名:皇邀 2 0 婶牟6 月心日 学位论文指导教师签名: 2 0c 河南大学研究生硕士学位论文第1 页 1 1 研究背景 第一章综述 当今社会网络已经成为我们生活中不可或缺的一部分了,i n t e m e t 、局域网、 甚至手机通信的g p r s ,生活处处反映着网络的力量。i n t e m e t 是人类历史发展中 的一个伟大的里程碑,通过它,人类正进入一个前所未有的信息化社会。随着 i n t e m e t 互联网的飞速发展,人们越来越频繁的使用互联网来进行交流和信息获取。 网站已经成为人们获取重要信息的地方,同时它也在面临着巨大流量的考验。一 个高访问量的大型网站,不但拥有大量的用户,而且拥有海量的数据信息。如果 仅仅拥有美观的页面设计、完善的服务功能,但是打开网页时出现长时间的延迟, 用户最终将会无法忍受。因此如何提高网站的访问速度,为用户提供无延迟的信 息服务就尤为重要。 早期的网站设计是将网站的数据集中放在一台数据库服务器中,然后用户登 陆网站后根据不同的需求访问数据库的信息。这种设计方式结构简单易于实现, 但是随着网站的访问量增大,读取数据库的时间会越来越长根本无法满足用户的 浏览速度,网站的性能下降、稳定性较低、不利于扩充,并且一旦数据库服务器 出错整个网站将无法正常工作,带来巨大的损失。【l 】 后来在单机数据库系统的基础上出现了分布式数据库系统,它是计算机技术 和网络技术结合的产物。一个分布式数据库在逻辑上是一个统一的整体,在具体 设备方面则是分别存储在不同的物理节点上。用户通过i n t e m e t 的连接可以访问分 布在不同地理位置的数据库。从网站的访问用户的角度看,分布式数据库系统在 逻辑上和单机数据库系统一样,用户可以在任何一个分布的数据库中执行全局操 作。分布式数据库较集中式数据库相比:降低费用,允许用户在自己的本地查询、 维护等操作,实行局部控制,降低通信代价,避免集中式需要更高要求的硬件设 备。而且分布式数据库在单台机器上面数据量较少,其响应速度明显提升。提高 第2 页河南大学研究生硕士学位论文 系统整体可用性。避免了因为单台数据库的故障而造成全部瘫痪的后果。可以很 容易地扩展系统,在分布式数据库中增加一个新的节点,不影响现有系统的正常 运行【3 1 。 无论是集中式数据库系统还是分布式数据库系统,网站的数据一般存放在硬 盘的数据库上面,需要处理数据的时候,要先通过硬盘的移臂操作在旋转的盘片 中寻找数据,然后将数据读入该计算机的内存中,再进行处理,这种磁盘的机械 读取操作相当于高速的c p u 处理器速度来说效率十分底下,成为用户访问网站的 瓶颈【1 9 】。因此磁盘的i o 速度严重影响了系统c p u 的处理速度,可见这种基于硬 盘i o 的模式在很大程度上制约了网站的发展,不能满足用户的需求。【1 0 】 因此在提高网站性能方面一些网站开始考虑使用基于内存的缓存技术。内存 对象缓存技术的产生是基于这样一种考虑,即操作系统的一个经典的理论:2 0 的数据通常在8 0 的时间内被访问。因此,我们可以将在这2 0 的数据集中起来, 当它们第一次被访问后就调入到在内存中,再次访问的时候,就可以直接从内存 中读取数据并且赋予它一个的访问数量级即可。众所周知,内存的访问速度是非 常快的,容量正在以惊人的速度增加,价格也越来越便宜。这样以来使用了内存 对象技术配合c p u 的处理,网站的整个系统的处理速度就会提高数个级别。【2 】 最初的设计方法是使用在单台计算机服务器上,将数据缓存在该服务器的内存 中,但是内存容量有限,并不能满足海量数据的需求。而且一旦内存的容量过载, 用户网络和外界的联系就会被中断,有可能导致整个系统的崩溃,因此迫切需要 高性能的缓存服务系统来解决这些问题。随着分布式数据库技术的发展和应用, 很多人都在研究如何将内存对象缓存的技术引入到分布式服务器中,形成分布式 内存对象缓存机制,来提高用户访问网站的速度。 1 2 研究现状 c a c h e ( 缓存) :原本是用来描述一种高速的缓冲存储器,主要目的为了解决 河南大学研究生硕士学位论文第3 页 c p u 运算速度远远高于内存的存取速度的问题。在内存和c p u 之间建立一种容量 较小但存取速度很高的存储器一a c h e 块。这种在数据请求和主要存储结构之间 加一层或多层容量小速度快的存储器的缓存思想,也被广泛运用于软件领域,特 别是当需要大规模处理数据的领域。如数据库领域,i n t e m e t 服务,w e b 服务,操 作系统的服务等。基于内存的缓存系统中存放最经常需要访问的数据,当数据不 在内存中,再从主要存储设备中寻找数据,这样就可以大大的减少对主存( 例如 硬盘) 的访问,通过这种方式提高系统性能。【l o 】 分布式内存对象缓存系统和网站结合是一项新的研究领域,在研究网站的分 布式内存对象缓存系统时涉及到很多方面的热点技术,如分布式计算技术,分布 式数据库技术,内存管理的策略,网格计算技术各个方面。简要地介绍最主要的 几个方面的技术的研究现状:分布式计算技术,分布式数据库系统,分布式内存 对象技术。【4 】 ( 一) 分布式计算技术的发展 分布计算( d i s t r i b u t e dc o m p u t i n g ) 技术是近2 0 多年来影响计算机技术发展的最 活跃因素之一。从上世纪8 0 年代中期开始至今,分布计算技术己经走过了第一代, 目前正处于第二代的成熟期,并且正在形成第三代。 第一代:上世纪8 0 年代中期9 0 年代初,主要解决信息共享,采用经典的c s 计算模型体系结构,运用传统的计算概念。 第二代:上世纪9 0 年代,解决的主要问题是异构环境下的互用操作,采用面 向对象的c s 计算模型体系结构,关键技术特点:分布式计算+ 面向对象。 第三代:2 0 0 0 年以来,解决智能化的协同工作问题,运用自主多代理模型,采 用面向代理的拟人化交互界面技术。1 2 1 】 ( - - ) 分布式数据库系统的发展 数据库系统( d a t a b a s es y s m m s ) ,是由数据库及其管理软件组成的系统。它是 为适应数据处理的需要而发展起来的。 所谓的分布式数据库系统通常是使用多台计算机系统,计算机可以分布在不 第4 页河南大学研究生硕士学位论文 同的地域,每台计算机中都有相同的d b m s ( 数据库管理系统) ,并具有自己单 独的数据库( 将这些数据库合在一起就是一个整体的数据集合) ,分布在不同地 域的该系统内的计算机通过网络互相连接,共同组成一个完整的数据库全局 数据库。 这种分布式数据库克服了集中式数据库的弱点。第一,由于大多数的对数据 库的访问操作都是针对局部的数据库系统,而不是对其他位置的数据库访问因此 降低了数据在传送过程中的系统消耗;第二,整个数据库系统的可靠度提高了, 例如当一个节点的数据库的故障不影响其他节点数据库的数据处理工作,只有当 访问出现故障节点数据库的数据时,在一定的程度上才会受到不同的影响;第三, 便于整个数据库系统的节点扩充,例如增加一台新的数据库服务器,不会影响现 有的系统。 数据库技术的发展大致分为3 个阶段:第一代数据库系统上世纪世纪7 0 年代广泛流行的网状、层状数据库系统;第二代数据库系统上世纪8 0 年代广 泛使用的关系数据库系统;目前正在使用的是基于面向对象的数据库系统为第三 代数据库系统。数据库系统与网络通信技术、人工智能技术、面向对象技术、并 行计算技术等相互渗透、相互结合,成为当今数据库技术发展的主要方向。 分布式数据库系统是数据库系统与计算机网络两种技术的相互融合的结合的 产物。计算机网络技术应用在数据库领域不只是为了实现数据的传输,更是为了 更能适应于一个特定的系统中进行高效率的数据管理。因此分布式数据库系统需 要管理的不是集中在一台服务器的数据库系统,而是分布在许多不同区域上的多 个分布式数据库子系统。 2 0 世纪7 0 年代中期,美国的计算机公司( c c a ) 开始进行分布式数据库系 统的研究,并设计实现了第一代的分布式数据库原型系统s d d 1 ( 1 9 7 6 年至1 9 7 8 年间进行研究,1 9 7 9 年在d e c 1 0 和d e c 2 0 上实现的) 。它以a r p n e t 网络联 接,以现有的d a t ac o m p u t e r 数据库管理系统为基础【6 】。国外分布式数据库系统 ( d d b m s ) 的代表作还有: 河南大学研究生硕士学位论文第5 页 ( 1 ) r 木是i b m 圣约瑟研究实验室研制的s y s t e mr 的分布式后继; ( 2 ) 分布的i n g r e s ,是美国加州大学伯克利分校研制的i n g r e s 的分布式 后继; ( 3 ) p o r e l ,由德国斯图加特大学e j n u e h o l d 教授领导研制; ( 4 ) s u r i u s ,由法国政府通过i n a 组织的d d b m s 研究项目; ( 5 ) d d m ,也是美国计算机公司( c c a ) 设计及实现的d d b m s ,这是与a d a 研究相关的项目,它支持嵌入到a d a 中的a d a p l e x 来作为d d b 用户的接口。 我国对分布式数据库系统的研究始于2 0 世纪的8 0 年代,在短短的几年中做 出了许多有益的成果,建立和实现了几个各具特色的分布式数据库原型,其中包 括武汉大学数据库组研制的w d d b s ,东北大学数据库组研制的d m u f o 系统, 中国人民大学与知识工程研究所研制的d o s s e l s 等,这些系统的成功研制对我 国的分布式数据库技术的理论研究和开发应用起到了推动发展作用。 ( 三) 分布式缓存技术的发展 数据缓存技术在国内外的研究已有多年。但是,最近国内外偏向于分布式缓 存技术的研究,如:合作数据缓存技术、虚拟数据缓存技术、网络共享缓存技术、 自组织缓存技术等各种分布式缓存技术。还有c o l o r a d o 大学的h a r v e s t 提出了一种 分级式缓存体系结构,它增加了全网范围内的命中率,但是同时也增加了用户的 响应时间。再有m t f ( 互联网工程任务组孔ei n t e m e te n g i n e e r i n gt a s kf o r c e , 是松散的、自律的、志愿的民间学术组织,成立于1 9 8 5 年底,其主要任务是负责 互联网相关技术规范的研发和制定) 指定了i c p 草案支持网间c a c h e 的合作,d u k e 大学的c r i s p 项目提出了一种基于中心地图的协作c a c h e 方案,但是该方案在地理 上和技术上实现都有一定的困难,因此仅成为一种理论研究。【2 】 当今比较成熟的分布式缓存技术,分为基于静态内容的分布式缓存技术和动 态内容的分布式缓存技术,其中基于静态的分布式缓存技术的产品较多,而且发 展的较为成熟,例如a p s n e t 的w e b 页面缓存等。相对于缓存静态的数据,对于 动态内容的分布式缓存技术方面的研究取得了一定的发展,但总体上来看还处于 第6 页河南大学研究生硕士学位论文 一个探索和发展的起步阶段,其产品主要有j c s ( j a v ac a c h i n gs y s t e m ) 、m e m c a c h e d 和o s c a c h e 等。 j c s :属于j a k a r t a 项目的t u r b i n e 子项目即一个复合式的缓冲工具。可以将文 档缓冲到内存或者硬盘中,并且具有缓冲文档时间过期设定。j c s 可以构建具有缓 冲的分布式构架,通过管理各种动态缓存数据来加速动态w e b ,以实现高性能的应 用。和其它缓存系统一样,它也是一个用于高速读操作,低速写操作的应用程序 缓存。它把从内存中替换掉的数据重新存储到硬盘上,从而弥补了内存的空间不 足造成的负担。并且,采用可靠性高的r m i 结构来为多层系统提供连贯性缓存。 当在开发应用的时候,可以不用去构思底层的缓冲配置构架。同一个应用,只需 要修改配置,就可以改变缓冲构架,不需要修改应用的源代码。1 1 9 m e m c a c h e d :是d a n g a c o m 的i n t e r a c t i v e 小组开发的基于分布式的内存对象 缓存系统,用于动态网站的设计,通过它可以减少对数据库的检索次数,从而减 轻数据库的压力。m e m c a c h e d 是一个基于c s 的缓存结构。它独立于应用程序。 它的存储结构是一个基于k e y v a l u e 的对照表- h a s h 地图,但是并不提供冗余 技术( 当某台提供m e m c a c h e d 服务的服务器停止工作甚至崩溃了,那么所有在该 服务器上存储的k e y v a l u e 对都将丢失) 。m e m c a c h e d 在很多项目的应用中都是 作为数据库系统的数据缓存使用,因为数据库在s q l 查询、磁盘移臂调动操作方 面的开销相当的大,况且m e m c a c h e d 是基于内存的管理数据系统,所以比直接访 问数据库的数据更快。在大型的数据操作的系统中,对同一数据的读取相当的频 繁,使用它可以减轻数据库压力,提高系统的执行效率。 o s c a c h e :主要运行在j a v a 环境下。提供了在现有j s p 页面之内实现快速内存 缓冲的功能。它是一个广泛采用的高性能j z e e 缓存框架,可以用于任何j a v a 应 用程序中的缓存解决方案。它可以不受限制的缓存h 却请求或者任何j a v a 对象, 特别是对w e b 应用中部分页面的缓存,使用少量o s c a c h e 的标签后,用户就可以 很容易地实现对页面数据的缓存。并且可以将缓存内容随意的写入硬盘中,还具 有缓冲文档时间过期设定。例 河南大学研究生硕士学位论文第7 页 总的来说,分布式内存对象缓存技术主要是以软件方式缓存技术。该方式不 需要具体的硬件方面的支持,只需要将缓存系统安装在服务器上并完成具体的配 置就可以很方便的使用。分布式内存对象缓存技术的优势在于安装简单,成本低 廉,使用起来方便,更能够根据自己的需要修改升级和维护。 1 3 普招网报系统 1 3 1 项目的提出 随着i n t e m e t 进入中国,短短的十几年间在中国已经十分的普及。人们越来越 频繁的使用互联网来进行交流和信息获取。它不仅方便快捷,而且易于操作、更 有利于信息收集。因此越来越多的政府机关,企事业团体开始利用网站发布,收 集信息。由此可见,网站当今不仅给人提供了获取信息的平台,更能够通过它收 集资料,简化繁琐的人工操作。 互联网在河南也已经相当普及,据统计河南省9 7 的行政村开通了互联网业 务,1 0 0 的省内高中学校都能为学生提供上网服务,并且计算机课程已成为高中 的必修课程。很多人已经足不出户就可以了解到各种相关的信息。因此发展河南 省的普招网报系统已有了可靠的硬件前提。由于河南省人口因素的决定,每年高 考期间,考生的报名和报志愿人数都接近百万。如果使用传统的人工操作的方式, 不仅耗费巨大的人力、物力,而且也要相当长的时间进行整理和安排。对于每位 参与报名的工作人员来说压力十分的巨大。人工方式不仅需要全省各级人员的配 合,更需要省级工作人员的监督。这种方式信息采集的正确率也不高,经常出现 一些错误的信息不能及时纠正,每年都会出现部分学生需要重新采集。 因此迫切需要开发一种网上报名系统取代大量的人工采集工作。这样以来既 可以省去大量繁琐复杂的人工操作,又能够很轻松的收集考生的数据资料,同时 便于管理和监督,更有利于整理、信息的矫正。方便考生及时的查阅信息,获取 准确的考试资料,同时完成了河南省招生信息化的跨越。 第8 页河南大学研究生硕士学位论文 在河南省招生办公室与河南大学计算机与信息工程学院的共同支持下,针对 河南省考生的特点,联合开发了2 0 0 9 年河南省普通高等学校招生信息平台,2 0 1 0 年河南省普通高等学校招生网上报名系统。并在应用中取得了好评。将河南省的 普招工作又上一层楼。 1 3 2 项目的相关技术 开发环境方面:n e t 环境本身带有内置的缓存机制,可以实现一般意义上的 缓存效果,但同时存的一个基础性问题就是如何处理过时数据。当运行在单独的 w e b 服务器上,你可以很容易地清除一个已经确认被改变了的缓存。因此它没有 好的方法来支持多服务器。它允许通过基于文件系统和数据库表的触发器来清除 一个缓存。然而,这也存在问题,比如数据库触发器需要使用昂贵的轮询,以及 触发器本身冗长的编程。因此选择一种新的缓存方式:m e m c a c h e d 缓存方式。最 初它是用来完成基于u n i x 系统的分布式缓存服务,只要稍加改动同样可以在 w i n d o w s 下实现相关的操作,而且在n e t 开发环境下均可达到缓存服务的效果。 它不同于n e t 内置的缓存机制,它是一个分布式的缓存系统。任何w e b 服务器都 能更新或删除一个缓存项,并且所有其他的服务器都能在下次访问这些缓存项的 时候自动获取到更新的内容。这是通过把这些缓存项存储在一个或者多个缓存服 务器上来实现的。 m e m c a c h e d 是由d a n g a c o r ni n t e r a c t i v e 开发的,高性能的,分布式的内存对象 缓存系统,用于在动态网站设计中减轻数据库负载,提升访问速度。m e m c a c h e d 缓存是一种分布式的,因此解决了单台服务器应用缓存的局限性。m e m c a c h e d 最 初实现基于u n i x 系统,目前在w i n d o w s 下也有相关的实现。其实m e m c a c h e d 服 务可以运行在任何操作系统下,而在n e t 下均可访问这些服务。但是在使用 m e m c a c h e d 过程中应注意m e m c a c h e d 是“分布式”的内存对象缓存系统,那些不需 要“分布”的,不需要共享的,或者干脆规模小到只有一台服务器的应用,m e m c a c h e d 不会带来任何好处,相反还会拖慢系统效率,因为网络连接同样需要资源。 河南大学研究生硕士学位论文第9 页 m e m c a c h e d 使用内存管理数据,所以它是易失的,当服务器重启,或者m e m c a c h e d 进程中止,数据便会丢失,所以m e m c a c h e d 不能用来持久保存数据。【1 刀 1 4 特色与创新 本项目在具体的项目实现方面:首先由w e b 服务器和数据库服务器组成的集群 完成硬件的搭配,然后使用m e m c a c h e d 来实现分布式服务器的缓存的基本功能, 并利用h a s h 技术用于缓存的各种类型的数据,例如图像、视频、文件以及数据库 检索的结果等。 m e m c a c h e d 缓存方式最初是用来完成基于u n i x 系统的分布式服务,只要稍加 改动同样可以在w i n d o w s 下实现相关的操作。将m e m c a c h e d 技术引入到n e t 开发 环境下。在使用m e m c a c h e d 技术的基础之上,抛弃了m e m e a c h e d 自带的数据分布 算法一节点冗余算法,以及不使用当前流行的分布算法c o n s i s t e n t h a s h i n g 算法, 而是根据自身特点设计了符合河南省普招网报系统的数据的分布算法节点索 引算法。 在分析传统的数据的更新的基础之上,引入了版本校验方式保持数据的一致 性,以及在缓存数据失效时,使用枷锁读取方式来解决并发访问的问题。 值得注意的是:在使用m e m e a c h e d 过程中应注意m e m c a c h e d 是“分布式”的内 存对象缓存系统,那些不需要“分布”的,不需要共享的,或者干脆规模d , n 只有一 台服务器的应用,利用m e m c a c h e d 进行开发是不会带来任何好处的,相反还会拖 慢系统效率,因为网络连接同样需要资源,计算存储数据的节点服务器也需要占 有资源。 1 5 论文结构 本文的章节组织如下: 第一章主要从网络延迟问题引出缓存机制,进一步综述了缓存技术的发展历 史,并提出在普招网报系统中分布式缓存对象的需求。 第1 0 页河南大学研究生硕士学位论文 第二章主要介绍了当前研究分布式缓存技术的背景知识,进而能够了解当前 技术的发展方向。 第三章主要研究m 锄c a c h e d 分布式内存对象技术,从m e m c a c h e d 特点、 分布方式、存储的缺点,以及f a c t o r 因子的设置等方面剖析。 第四章主要阐述了分布式缓存技术在普招项目中的应用。首先提出了分布式 缓存系统的架构,然后从分布式缓存的算法设计、分布式缓存的管理、更新和替 换等几个方面介绍分布式缓存系统在普招网报项目中的设计与实现。 第五章主要展示普招网报项目的运行情况。进而说明分布式缓存技术在该项 目中的设计是可行的。 第六章主要分析分布式缓存技术的应用不足之处,提出改进方向。 河南大学研究生硕士学位论文第1 1 页 2 1 分布式计算技术 第二章知识背景 一、分布式系统概述 分布式系统可概括:一些相互独立的计算机的集合,但是对这个用户来说感 觉像一台计算机一样。随着c s 模式的成熟,使用这种结构的应用系统也执行得 非常的顺利。这种结构也存在一些问题,例如该结构经常会把应用系统的事务级 逻辑集成在客户端的应用程序中,因此当需要改变时,所有客户端的应用程序都 必须改变,由此可见系统的维护成本太高。虽然有一些企业把系统逻辑改写在数 据库之中,但是这样的机构有更大的问题,因为如此一来不但应用系统都绑死在 特定的数据库上,此外许多应用逻辑的程序代码并不适合在数据库之中执行,因 为使用大量计算的程序代码会严重的消耗数据库的执行效率。为了解决重复开发 应用系统的成本,以及为了增加应用系统的重复使用性,分布式计算结构在这些 方面克服了这些问题,发挥面向对象分析面向对象设计的功能,解决了传统的c s 结构存在的问题。因为整个应用系统的执行是分成多个不同的部分并且执行在不 同的机服务器上。【6 】 由于分布式结构把系统不同的运行部分分布在独立的服务器上,所以整个应 用系统的延展性也大为提升。分布式应用系统主要突出系统的稳定性、延展性以 及执行效率。所以现在有许多的分布式应用系统提供了容错能力以及负载平衡的 能力。在具备容错能力和负载平衡的能力的分布式应用系统中,主要是在应用程 序服务器部分提供多台不同的应用程序服务器,当客户端应用程序或是w e b 服务 器需要使用企业对象的服务时,可以依据目前每一台应用程序服务器的负荷以及 是否可以提供服务的情形来动态决定连接到哪一台应用程序服务器之中。 二、分布式系统设计的要点 分布式系统设计的要点主要集中在以下四点上:透明性,可靠性,高性能, 第1 2 页河南大学研究生硕士学位论文 可伸缩性。 ( 一) 透明性 所谓的透明度是指对用户隐藏系统的分布性。例如,在分布式系统中用户编 辑一个目录中的大量文件时,他并不需要知道所有编辑是在不同计算机上并行处 理的,也不必知道他已经使用了大量的文件服务。给用户感觉就像在自己的机器 上操作一样。 ( 二) 可靠性 分布式系统设计的最初目的之一就是使系统比单处理机系统更靠。一个高度 可靠的系统必须有高可用性存储的数据备份越多,可用性越高,但数据的不 一致的也就会越大,尤其是在频繁进行数据修正的情况下。同时还有考虑到安全 性和容错的要求。总之,分布式系统需要设计成能够屏蔽错误信息,例如对操作 用户进行错误隐藏。因此要尽量的做到各个节点服务器间的紧密协作,即使一两 台节点服务器出错或者崩溃了,操作用户也不会感觉到性能上的降低。1 2 l 】 ( 三) 高性能 如果建立了一个透明、灵活和可靠的分布式系统,但是运行速度却非常慢, 那么它没有什么实际的用处。如果在分布式系统中运行一个具体的应用,它的速 度不应该比在一个单处理机运行同一个应用慢。可以使用不同的性能标准进行衡 量。其中之一是响应时间,还有吞吐量( 每小时完成的工作量) 、系统的利用率和网 络容量消耗程度。 ( 四) 可伸缩性 每个分布式系统都有自己的适用范围。所以可伸缩性对于分布式系统的设计也非 常重要。 2 2 分布式数据库 数据库系统( d a t a b a s es y s t e m s ) ,是由数据库及其管理软件组成的系统。它是 为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。是存 河南大学研究生硕士学位论文第1 3 页 储介质、处理对象和管理系统的集合体。数据库系统般由4 个部分组成:数 据库,即存储在硬盘、光盘或其他外部存储设备上,按一定的结构组织起来的的 相关数据的集合。数据库管理系统( d b m s ) 。它是一组能完成描述、管理、维 护数据库的程序系统。它按照一种公用的和可控制的方法完成数据的增、删、改 和检索等操作。数据库管理员( d b a ) 。用户和应用程序。1 4 2 2 2 1 分布式数据库系统 随着计算机技术的发展,人们期望着符合现实需要、能处理分散地域、具备 数据库管理特点的新的数据库系统的出现。因此,出现了“数据库系统+ 计算机网 络”来实现分布式数据库系统。 分布式数据库系统包两个重要的组成部分分布式数据库和分布式数据库 管理系统。分布式数据库( d i s t r i b u t e dd a t ab a s e 简称d d b ) 是一组数据集合,逻辑 上它们属于同一系统,而物理上它们分散在用计算机网络连接的不同地域上,并 统一由一个分布式数据管理系统管理。 分布式数据库系统有两种:一种是地域上分布的,但逻辑上却是统一的。该 数据库只适用于功能较单一、部门不是很复杂的单位。另一种分布式数据库系统 在地域上和逻辑上都是分布的,也就是所谓联合式分布数据库系统。由于组成联 合体的各部分子数据库系统是相对独立的,这种系统可以容纳多种不同用途的、 差异较大的数据库,比较适宜于大范围内数据库的集成。 ( 一) 分布式数据库具有以下几个特点: ( 1 ) 数据透明。 首先数据独立是数据库方法的主要目标之一,它能使数据独立于应用程序之 上主要分为物理独立性和逻辑独立性。分布透明指用户不用知道数据的逻辑分区, 不必了解数据具体的物理分布位置,更不用考虑副本( 冗余数据) 的一致性问题, 同时也不用知道具体的某个区域上,该服务器的数据库支持何种数据的模型。因 此可以看出分布式数据库的透明性的优点。例如当用户编写应用程序时和单机系 第1 4 页河南大学研究生硕士学位论文 统是一样的;当增加某些数据的副本时不必修改应用程序。数据分布的内容由系 统存储在数据字典中。访问用户对其它分布地域的数据访问,分布式数据库系统 根据已经建立的数据字典进行数据的解析、传输。 2 1 1 ( 2 ) 集中式和分布式相结合。 在分布式数据库中数据的资源都是共享的。在集中式的数据库系统中,为了 保证数据库的安全性和完整性,对共享数据库的控制是集中的。在分布式数据库 中,数据的共享有两层:一是局部区域内数据的共享在局部区域数据库中存 储在该区域上的各用户的可以共享数据。一般来说这些共享的数据都是该区域内 用户经常使用的数据。二是全局数据的共享在分布式数据库的各个区域中也 存储了可供整个系统中其它区域的用户共享的数据,支持系统中的全局应用。因 此,相应的控制结构也具有两个层次:集中和自治。分布式数据库系统常常采用 集中式和各自独立相结合的控制方式,各区域的d b m s 可以独立地管理该区域的 数据库,具有独立的功能。同时,数据库系统又设有集中控制机制,协调各区域 d b m s 的工作,执行全局统一管理。一般的在不同的分布式数据库系统中,集中 程度和不同区域的独立程度不一样。有的d b m s 独立度高,连o l a p 的协调也由 各个区域内数据库系统、d b

温馨提示

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

最新文档

评论

0/150

提交评论