已阅读5页,还剩59页未读, 继续免费阅读
(计算机科学与技术专业论文)校园信息管理系统缓存模块的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。 同意学校向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 永铲 导师签名: 签字日期:& 1 ) lo 年6 月击f 日签字日期:功少年f 月z h 中图分类号:t p 3 1 1 u d c :0 0 4 9 学校代码:1 0 0 0 4 密级:公开 北京交通大学 硕士学位论文 校园信息管理系统缓存模块的设计与实现 t h ed e s i g na n di m p l e m e n t a t i o no fc a c h em o d u l e t h a ti nt h em a n a g e m e n ti n f o r m a t i o ns y s t e m 作者姓名:朱振 导师姓名:贾卓生 学位类别:工学 学号:0 8 1 2 0 5 0 8 职称:高级工程师 学位级别:硕士 学科专业:计算机科学与技术研究方向:网络与数据库 北京交通大学 2 0 1 0 年6 月 致谢 本论文的工作是在我的导师贾卓生老师的悉心指导下完成的,贾老师严谨的 治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢两年来贾老 师对我的关心和指导。 贾老师悉心指导我们完成了实验室的科研工作,在学习上和生活上都给予了 我很大的关心和帮助,在此向贾老师表示衷心的谢意。 贾老师对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷心的 感谢。 在实验室工作及撰写论文期间,唐宏老师以及王岫、尚治宇、李红梅等同学 对我的研究工作给予了热情帮助,在此向他们表达我的感激之情。 另外也感谢家人,他们的理解和支持使我能够在学校专心完成我的学业。 中文摘要 摘要:随着北京交通大学信息化建设的进行,在现有校园网的基础上,学校 对面向本科生的校园管理信息系统进行改进,使其集成校园现有的各应用系统的 数据,建立一个统一的平台,并在此基础上开发一些新的面向全体师生的应用模 块。北京交通大学校园管理信息系统包括了人员信息管理,学生资助,学生奖惩, 社团活动,党团建设,思测评分等功能模块,每个功能模块通过与数据库进行数 据的交互完成各自的功能。在校园管理信息系统中,作为系统用户的学生和教师 的大部分个人信息在很长一段时间之内不会发生变化,这部分个人信息在校园管 理信息系统中的使用频率很高,而数据库连接的创建和释放需要占用很多的系统 资源,如果每次应用系统需要这部分个人信息时,都通过数据库连接获得数据, 这将消耗大量的系统资源,造成系统效率的降低。 本文研究的主要内容是设计一个运行在服务器端的缓存模块,在学生或教师 登陆校园管理信息系统后,缓存模块将保存学生或教师的个人信息,在同一用户 下一次登录时,校园管理信息系统可以从缓存模块中直接获取到用户信息,避免 用户每次登陆都需要访问数据库。本文的设计思路是参照现有的j a v a 开源缓存框 架设计一个基于缓存对象最大缓存时间属性的基础缓存模块,实现在同一个j a v a 虚拟机中对数据的缓存。在此基础上,再增加把缓存对象存储在永久磁盘上的功 能实现,实现在缓存模块关闭时可以对缓存对象进行保存,在校园管理信息系统 重新启动时可以自动读取已经保存在磁盘上的缓存对象,以及在内存容量紧张时 使用特定的缓存对象清除算法把一些缓存对象临时存储在磁盘上。缓存模块的引 入能较好的提高校园管理信息系统的运行效率。 关键词:缓存;缓存模块;服务器缓存;内存缓存 分类号:t p 3 1 1 a bs t r a c t a b s t r a c t :w i t ht h ei n f o r m a t i o n i z a t i o nc o n s t r u c t i o no fb e i j i n gj i a o t o n g u n i v e r s i t y , t h en e t w o r kc e n t e rd e c i d e st oi m p r o v et h eb e i j i n gj i a o t o n gu n i v e r s i t y m a n a g e m e n ti n f o r m a t i o ns y s t e mw h i c hs e r v e r s f o r t h eu n d e r g r a d u a t e s ,i n c l u d i n g i n t e g r a t et h ee x i s t i n gc a m p u sd a t af r o mv a r i o u sa p p l i c a t i o ns y s t e m st oe s t a b l i s h a u n i f i e dp l a t f o r ma n dd e v e l o pn e wa p p l i c a t i o nm o d u l e sf o ra l ls t u d e n t sa n dt e a c h e r s t h e m o d u l e so fb e i j i n gj i a o t o n gu n i v e r s i t ym a n a g e m e n ti n f o r m a t i o ns y s t e mi n c l u d e i n f o r m a t i o nm a n a g e m e n t ,s t u d e n ta s s i s t a n c e ,s t u d e n tr e w a r d sa n dp u n i s h m e n t s ,g r o u p a c t i v i t i e s ,p a r t yb u i l d i n g , a n dt h i n k i n ge v a l u a t i o nm o d u l e s ,e a c hf u n c t i o n a lm o d u l e c o m p l e t e st h o rr e s p e c t i v ef u n c t i o n st h r o u g ht h ei n t e r a c t i o nw i t l lt h ed a t a b a s e i nt h e c a m p u sm a n a g e m e n ti n f o r m a t i o ns y s t e m ,a su s e r so ft h es y s t e m ,m o s to ft h es t u d e n t s a n dt e a c h e r s p e r s o n a li n f o r m a t i o nd o e sn o tc h a n g ei nal o n gp e r i o do ft i m e ,a n dt h e y a r eu s e df r e q u e n t l yi nt h ec a m p u sm a n a g e m e n ti n f o r m a t i o ns y s t e m ,s i n c et h ec r e a t ea n d r e l e a s eo fd a t a b a s ec o n n e c t i o n sc o s t sm u c hr e s o u r c e sa n dt i m e ,s ow h e n e v e rw en e e d t h o s ep e r s o n a li n f o r m a t i o n , w eg e tt h e mf r o mt h ed a t a b a s et h r o u g haj d b cc o n n e c t i o n , i tw i l lw a s t em u c hr e s o u r c e sa n dr e d u c et h es y s t e m se f f i c i e n c y t h em a i nc o n t e n to ft h i sp a p e ri st od e s i g nac a c h i n gm o d u l et h a tr u n n i n gi nt h e s e r v e r , i tw i l ls a v et h eu s e r s i n f o r m a t i o nw h e nt h c yl o g i ni nt h ec a m p u sm a n a g e m e n t i n f o r m a t i o ns y s t e mf o rt h ef i r s tt i m e ,w h e nt h e yl o g i ni nt h es y s t e mf o rt h es e c o n dt i m e , t h ea p p l i c a t i o nc a l lg e tt h eu s e r s i n f o r m a t i o nf r o mt h ec a c h i n gm o d u l e ,i tc a na v o i dt h e a c c e s st ot h ed a t a b a s ef o re a c hl o g i n i n g t h ed e s i g nt h o u g h ti st or e a dt h ee x i s t i n go p e n s o u r c ej a v af r a m e w o r ka n dd e s i g nac a c h i n gm o d u l et h a tb a s e do nt h em a x i m u mc a c h e t i m es t r a t e g y , i tc a ns t o r et h ed a t ai nt h es a m ej a v av i r t u a lm a c h i n e o nt h i sb a s i s ,t h e f u n c t i o no fc a c h i n go b j e c t si nt h ed i s ki sa d d e dt ot h ec a c h i n gm o d u l e ,s ot h ec a c h i n g m o d u l ec a ns a v et h eo b j e c t si nt h ed i s kw h e nt h em a n a g e m e n ti n f o r m a t i o ns y s t e ma r e c l o s e da n di tc a l lr e a dt h eo b j e c t sf r o mt h ed i s kw h e nt h em a n a g e m e n ti n f o r m a t i o n s y s t e mr e s t a r t s ,a l s ow h e nt h es e r v e ri sl a c ko fm e m o r y , i tc a ns a v eo b j e c t st o t h e t e m p o r a r ys t o r a g eo nd i s k ,w h i c h i sf i n i s h e db yt h es e l e c t i o na l g o r i t h m t h e i n t r o d u c t i o no fc a c h i n gs y s t e mc a ni m p r o v et h ee f f i c i e n c yo fm a n a g e m e n ti n f o r m a t i o n s y s t e m k e y w o r d s :c a c h e ;c a c h i n gm o d u l e ;w e bc a c h e ;s e r v e rc a c h e c l a s s n o :t p 3 1 1 目录 中文摘要i i i a b s t r a c t i v 1 引言l 1 1 研究背景1 1 2w e b 应用缓存框架的分类2 1 3 本文的主要研究内容3 2校园管理信息系统一5 2 1 校园管理信息系统的介绍5 2 2 校园管理信息系统的功能介绍一6 2 2 1 人员信息模块6 2 2 2 学生资助模块7 2 2 3 学生奖惩模块8 2 2 4 社团管理模块8 2 3 校园管理信息系统的实现。9 2 3 1 系统开发的平台和工具9 2 3 2 主要应用的技术介绍9 2 4 校园管理信息系统存在的问题一1 l 3缓存模块的设计与实现1 2 3 1 缓存模块的基本原理1 2 3 2j a v a 语言和j a v a 虚拟机1 3 3 3 缓存元素类设计与实现1 4 3 3 1 缓存元素类的设计1 4 3 3 2 缓存元素类的实现1 5 3 4 缓存类设计与实现2 1 3 4 1 缓存类的设计2 1 3 4 2 缓存类的实现2 2 3 5 缓存管理类的设计与实现2 4 3 5 1 缓存管理类的设计2 4 3 5 2 缓存管理类的实现2 5 3 6 缓存元素的存储形式2 7 3 6 1 内存缓存2 8 【 v 3 6 2 磁盘缓存31 3 7 缓存元素的清除策略。3 3 3 7 1f i 内算法实现3 6 3 7 2l r u 算法实现3 7 3 7 3l f u 算法实现3 9 3 7 4 自定义算法实现。3 9 4校园管理信息系统的性能测试4 2 4 1 缓存模块类单元测试4 2 4 2 缓存模块性能测试4 8 4 2 1 测试环境的搭建4 8 4 2 2 测试结果及结果分析5 0 5总结与展望5 2 5 1总结5 2 5 2 展望5 2 参考文献5 4 独创性声明5 6 学位论文数据集5 7 1 引言 1 1研究背景 随着i n t e m e t 的迅速发展,基于互联网的企业应用要求软件运行平台具有开放 性、分布性和平台无关性,在网络的发展过程中相继出现了i 冲c c o m c o r b a 等 技术,但这些技术在实际应用中存在着许多不足和局限性,它们的特定协议难以 通过防火墙,因而不适于w e b 上的应用开发。为了进一步开发基于w e b 的应用, s u n 公司提出了s u no n e ( o p e nn e te n v i r o n m e n t 开发网络环境) 。 s u no n e 体系结构以j a v a 语言为核心,包括j 2 s e j 2 e e j 2 m e 和一系列的标 准、技术及协议。开发人员很容易就能从网上免费获得和使用包括j a v a 集成开发 环境、j a v a 数据库、中间件和应用服务器( a p p l i c a t i o ns e r v e r ) 产品,以及它们的 源代码。s u no n e 更能满足互联网在智能化w 曲服务方面对分布性、开发性和平 台无关性的要求。随着j a v a 技术的不断发展,它根据市场进一步细分为:针对企 业网应用的j 2 e e ( j a v a2e n t e r p r i s ee d i t i o n ) 、针对普通p c 应用的j 2 s e ( j a v a2 s t a n d a r de d i t i o n ) 和针对嵌入式设备及消费类电器的j 2 m e ( j a v a2m i c r oe d i t i o n ) 三个版本。 在当今竞争激烈的市场中,各种机构正面临着一种艰难的挑战:既要在业已缩 短的开发周期内降低成本,又要提供广泛的电子商务服务。为了解决这个问题, 许多公司都币在研究如何使用j a v a 在中间层实施商业逻辑。j a v a 的使用者常常发 现,开发变得简单了,部署的速度也变快了。此外,分布式j a v a 应用的实施还可 以提高系统的可伸缩性和可靠性,结果是j a v a 大量的用于企业级应用开发中。 在企业级应用中,三层构架技术已经非常成熟,它们是处理数据库的后台, 处理商业逻辑的中间层,以及用于数据交互的显示层。在这三层中,涉及最多的 是数据的收集和处理,数据的处理是企业级应用的核心之一,系统的数据处理能 力对系统的性能起着决定性的作用。在企业级应用中,需要处理的数据通常是海 量的,这些数据生成的对象往往也非常复杂。在企业级开发中,j a v a 开发人员经 常要通过j d b c 连接从数据库中获得大量复杂的数据,并把这些数据组装成相应 的对象,如果是在集群环境下,位于不同i p 地址的多台主机共享这些对象,在这 些复杂的对象创建及使用后,j a v a 虚拟机的垃圾回收机制将回收和销毁它们,如 果系统再次需要使用这些对象,就不得不重新创建它们,这将极大的增加系统的 负担、降低系统的性能。设计一个运行在服务器端的缓存模块,将这些复杂的对 象以一定的存储形式保存在内存中,在同一个对象请求到达时,从内存中将对象 取出并返回,可以有效的避免每次操作都连接数据库,缓存模块的引入可以很好 的提升系统的性能。 1 2w e b 应用缓存框架的分类 在现代互联网的w e b 应用中,应用系统越来越重视用户和系统之间,动态网 页之间的交互,这些交互必然涉及到大量的数据库端的操作,带来大量的网络延 迟和服务器端开销。w e b 服务器的网络架构,是服务器对w e b 用户多点的传输, 在整个网络传输中包含了大量的重复内容,根据- - ) k 法则,超过8 0 的用户访问 的是2 0 的内容,基于这样的事实,缓存技术应运而生。 缓存的目的是减少网络中冗余数据的重复传输,使之最小化。通常的做法是 在服务器中开辟一块内存,把那些热门的查询结果和w e b 动态内容存储在里面, 在对象的有效期内,当客户再次发出同样的请求时,直接从内存中把内容返回给 客户,这样可以有效避免重复的数据库查询,提高服务器端的服务效率,增强服 务器的并发处理能力。 目前在服务器端的应用程序中已经有多种成熟的缓存技术,而大部分的w e b 方面的应用是基于j a v a 语言实现的,所以在此介绍可以在j a v a 程序中实现缓存的 几种主要开源框架: ( 1 ) o s c a c h e o s c a c h e 是当前应用最广的缓存方案,o s c a c h e 标记库由o p e n s y m p h o n y 设 计,它是一种高性能的j 2 e e 缓存框架,能用于任何j a v a 应用程序的普通的缓存解 决方案,j b o s s 、h i b e r n a t e 、s p r i n g 等框架都对其有支持。 o s c a c h e 的主要特点有:使用非常方便,它与多种支持j s p 的w e b 服务器兼 容,可以缓存任何i a v a 对象,主要包括对部分页面内容或者对页面级的响应内容 进行缓存,可以根据不同的需求、不同的环境选择不同的缓存级别;拥有全面的 a p i ,允许以编程方式控制其所有特性;可以选择内存、硬件空间、也可以同时使 用内存和硬盘作为缓冲区,使用内存作为缓存区能提供更好的性能,以磁盘作为 缓冲区可以在服务器重启后迅速的恢复缓存内容,同时使用内存和磁盘可以减少 内存的使用;最后o s c a c h e 也包括对集群的支持、缓存主动刷新等特性。 ( 2 ) j a v ac a c h i n gs y s t e m ( j c s ) 通过j c s 可以构建具有缓存的分布式构架,以实现高性能的应用。对于一些 需要频繁访问而且每一次访问都非常消耗资源的对象,可以临时存放在j c s 缓存 区中,这样可以提高服务的性能。j c s 缓存工具对于读操作远远多于写操作的应用 2 - i t i ,- i 性能提高非常显著。 j c s 的特点:可以将对象缓存到内存、硬盘。j c s 现在支持两种内存缓存算法 l r u 和m r u ,通常使用的是l m 算法,该算法可以设定缓存过期时间,当缓存对象 在缓存区中停留的时间超过设定时间,就会被放弃。为了防止缓存对象大小超过 虚拟机的内存,j c s 可以将超出缓存区大小的对象缓存到磁盘上,此外j c s 还有 并行式的分布缓存等特性。 ( 3 ) e h c a c h e e h c a c h e 是一个用j a v a 实现的使用简单高速、实现线程安全的缓存管理类库, e h c a c h e 提供了用内存、磁盘文件存储,以及分布式存储方式等多种灵活的c a c h e 管理方案。同时e h c a c h e 作为开放源代码项目,被广泛地用于h i b e r n a t e 、s p r i n g 等开源系统中。 ( 4 ) w h i r l y c a c h e w h i d y c a c h e 是一个快速的、可配置的、存在于内存中的对象的缓存。它能够 通过缓存对象来加快网站或应用程序的速度,否则就必须通过查询数据库或其他 代价较高的处理程序来建立。 w h i r l y c a c h e 优点:( 1 ) 以较少代码实现了最常用的几种c a c h e 策略:f i f o 、l r u 、 l f u ( 2 ) 最大缓存对象数量可控( 3 ) 效率高。 不足之处:没有提供u p d a t e 方法,在需要更新c a c h e 中的某个对象时需要先 删除,再添加,这样会丢失策略信息。 1 3本文的主要研究内容 缓存模块在需要大量处理数据的企业级应用中有着广泛的使用,在j a v a 语言 成为企业级应用主要开发语言后,一些基于j a v a 语言的缓存框架被发展,并被成 功应用于各种应用系统中,例如,基于数据库的关系对象映射产品,如h i b e r n a t e , j d o ,缓存对于这些产品性能的提高起着重要的作用。在用于显示数据的客户端, 缓存对于s e r v l e t 性能的提高也有着重要的作用,但由于这些缓存模块自身原因, 它们或多或少的都存在一些问题,如不支持集群,没有考虑数据的实时性,对用 户的操作不透明等等。 在校园管理信息系统( m i s ) 中,应用程序从数据库中取得数据集,接着把这 些数据集根据类的定义格式组装成相应的对象,应用程序使用这些对象进行业务 处理。在这些对象使用结束后,由j a v a 虚拟机中的垃圾回收机制自动的回收并销 毁。作为校园管理系统用户的学生和教师的大部分个人信息如登录名,姓名,用 户身份,所在部门,所属年级,用户权限在未来很长一段时间之内不会发生变化, 这些个人信息在校园管理信息中的使用频率又很高,如果事先对这些对象进行缓 存,以后再次使用这些对象时则可以从缓存中取得这些对象,这样就减少了从数 据库中再次读取数据所需要的资源消耗和系统占用。所以本文研究的主要内容是 设计一个运行在服务器端的缓存模块,在学生或教师登陆系统后,用于保存学生 或教师的个人信息,在同一学生或教师下次登录时,应用系统可以从缓存模块中 直接获取到用户信息,避免每次登陆都需要访问数据库,造成应用系统的资源浪 费。 本文的设计思路是参照现有的开源j a v a 缓存框架设计一个基于缓存对象最大 缓存时间属性的基础缓存模块,这个基础缓存模块运行在服务器端,可以实现在 同一个j a v a 虚拟机中对数据的内存缓存。在这个基础之上,再增加把缓存对象存 储在永久磁盘上的功能实现,实现在m i s 系统关闭时可以对内存中未过期的缓存 对象进行保存,在m i s 系统重新启动时可以自动读取已经保存在磁盘上的缓存对 象,在内存容量紧张时把一些缓存对象临时存储在磁盘上,以及通过实现缓存对 象清除算法来更新缓存对象。本人主要工作是设计并实现有上述功能的缓存模块, 并将其应用到m i s 系统中。 本论文组织结构为:第二章介绍了校园管理信息系统,包括系统主要的功能 模块及系统中存取数据库过程中存在的问题。第三章介绍了基础缓存模块的设计, 包括缓存元素类,缓存类,缓存管理类,缓存对象执行策略,缓存对象清除算法 的设计与实现,详细说明了缓存模块的基础架构。第四章介绍了校园管理信息系 统引入缓存模块前后性能测试结果。第五章是总结与展望。 4 l , i 羌攒援 北蕊 温度 风力 蘩外墁 穿在 2 ,c 1 2 昭线溺 更多o o “_ 爱走鞍挽 n 1r m 年e 日1 1 只 嚣妒,掌生嚣学弛冶赣毒二译;渤奖爸妊多漉金筝厅i 整? :“o i r 5 - t o j 薹盐强曼蠡三皓蕊基二墨皇t :【& ;璺三;奎】 莪馋暮芋乏把亨寿枝搏兰嚣露豁毂毒主题黉漭比孽串瑕 零睡绩1 2 0 i o - 5 - i , o 】 o 工搏藏攒 蔓多 ? 北尊蔓逼方掌与沪蓦畦端塔逢号拽潮鬻霄黟劳拄公霹犀蓝 埘_ 孓l l 】 【。c 高彀警雩馐悬2 2 1 匿餐院震务台,j 荦:城辞逼:2 0 1 0 5 i 1 ) 麓1 1 ;1 年幕一i 毫瓴:益空虚企业扣着世雹案末窟屠拉o m 孓u j 田书漕开展溶嚣翟等宣传月活动:籀i 05 - 1 0 】 ;笔- r 一,连 掌生r 女种 芒:嚣i ,) s1 0 1 ;手统;+ 参日鹃:孝懂辨瞎穗酏遴知:瓣l 。_ 5 _ 】 托棠奠童下学2 c 。9 二0 王l = i 茸譬托甫毫括臻蟊;带母膏0 一5 七3 船张遇芦享母雒“青孰遵爱垣雨鼯0 西座毒盒趱搏1 2 。锄】 麓联培苗忙墨罂麓手躅垮稍i 2 0 删 e 】 筹中周掌生罐动暑乏f 5 q 】 图2 1 校同管理信息系统登录界面 f i 9 2 1t h el o g i np a g eo fm i s 登陆后的界面如图2 2 所示: 5 虢班辑弱孝 | 安令铷双驺 ,盆纡寮毙露叠静话 寄幸啼单垮 母 蘑段j # 骧竞韵 要障 拄雹袭,t 力霜毂万穗 被嚣鬯糟岔;自移万法 g 按困粒务设藏跫劳 - 建点薏 霹,缆8 南 ,紧魂蕊 _ 撮 q 宅蝎 靓量曩 ,卅 1 # 骧:。 , 。 t 一渗 薹鏊 ! = 二一一一| 癸“西要蹬薜。嘲知谵十赛| 霹曼:嗽螂殇嘲富勃群蒡 囱逄寻帮哗囝退出 础弋= 秽芋膏薹设, 上。乞k 费f 。丫款2 研宄毪教芋方赛设汁矍蕊含建轺节啦f l j 我援觏牛教享受爵l 被确定嚣瓣霉罄裹够毂掌昆夥 蜇饕薹磷茹蛰里与稿靼霉嚣篁鸯零科生开旅二作禳挈i 进行 美予1 0 矗2 2 目停办毳篁嚷缮摹张溽一吠的= 蔓知 碍陵茴写量t 梦噬t 三下彳王呼辑。t 熏款嚣- e 竹鼢灌 式于- 饿掌翼矿鬟饯亿方i 去i 驽;苴遵翘 蕊鹕辱霞靠i 基五辑中盔疆工戈节秒龚盛缉士瑶罾壤嘘 北翥弱囊冀掌笛芷够士磷琶生拐苎| 三瑰呖穗i i 馐毫鼠 烈9 3 8 茸托蒙芟疆土掌铄量境燕博士譬篷皖复公录 蹙毫。霉琏芦卿蔼刀蠹:o 暑 登鐾荭箍左戤乏蠡摄盘麓睡黝置i = 2 ,兜孚学院,绵面薯甍 7 攀鲢太舜萄j 融l 嚆,雉意翼己芟一事区秽括每中霍 信爨化绣墉辞蘑遘知敲轳囊作謦垣受办公驴件i 苷麓 浩与笔事聋再宰亨安勋二r 打参矿妒 戎千教好裳放控甩券、淹泽、电话费专嘎补助- r 作曲迸知 关于傲好整盛生活静勃工住蜘爱勺 烈动9 0 l 夫子芽鬟簟三屠雾矗重隋嬲哇学生程z ,关于译逸。j t 爱室鹰犬搴鸯强之詹。懿通知 第! i 脬生r 晶幻眭寿 翔兜 甥疙坛第7 3 瀚:蛙1 亭均量卿生矮黔婷生惩撬 堵叠绝不嚣p 南电徭许谓 夫彳力宄医募捐兹锪胄q i 墨翘 图2 2 校园管理信息系统界面 f i 9 2 2t h ei n d e xp a g eo fm l s 2 2校园管理信息系统的功能介绍 2 2 1人员信息模块 校园管理信息系统的用户包括我校全体学生,学校教师,各学院辅导员和管 理员。人员信息模块在校园管理信息系统中的作用是对用户个人信息的管理,该 模块主要的功能包括用户个人信息的查询,个人信息修改和学院对学生信息的统 计,如图2 3 所示: 6 一 磁 , 嬲 蛩移 ,。麓 障学生的合法权益,我校采取了一系列的学生资助的办法,具体包括:思源助学 金、减免学杂费、临时困难补助、勤工助学、助学贷款。这些方法在校园管理信 息系统中以学生资助模块的子模块的方式出现,如图2 4 所示: 图2 4 学生资助模块 f i 9 2 4t h em o d u l eo fs t u d e n t s s u s t e n t a t i o n 7 j 匕塞交道盔堂亟堂位j 佥塞一控园筐理信息丕统 2 2 3学生奖惩模块 校园管理信息系统中的学生奖惩模块作用是学生申请个人奖学金、个人荣誉 称号、集体奖励、学院审批学生奖励申请,学院公示违纪处分学生。学生奖惩模 块分为以下几个子模块:个人奖学金,个人荣誉称号,集体奖励,违纪处分,如 图2 5 所示: 图2 5 学生奖惩模块 f i 9 2 5t h em o d u l eo fs t u d e n t s s t u d e n tr e w a r d sa n dp u n i s h m e n t s 2 2 4社团管理模块 校园管理信息系统中的社团管理模块的功能是社团负责人管理社团事务,组 织社团活动,申请社团奖励,各个学院的团委进行社团活动和奖励的审批,如图 2 6 所示: 图2 6 社团活动模块 f i 9 2 6t h em o d u l eo fc o m m u n i t ya c t i o n 2 3校园管理信息系统的实现 2 3 1系统开发的平台和工具 校园管理信息系统采用的是b s 架构,应用服务器使用的是t o m c a t5 5 ,运行 在w i n d o w ss e r v e r2 0 0 3 平台上,后台数据库使用的是o r a c l e 8 i ,原因是o r a c l e 数 据库可靠性高,支持大数据量、多用户高性能的事务处理,安全性和可靠性较高, 前端页面使用j s p ( j a v as e r v e rp a g e s ) 技术,w e b 服务器采用a p a c h e ,采用j s p 的主要原因是:( 1 ) j s p 的执行效率高,其编程语言是j a v a ,具有j a v a 一次编译, 多次运行的特性,j s p 页面第一次被请求时转化成s e r v l e t ,最后编译成c l a s s 文件, 在以后有请求相同j s p 页面时,可以直接调用c l a s s 文件( 2 ) j s p 中j a v a b e a n 组件的 重用性较高( 3 ) 将内容的生成和显示进行分离,安全性较高。 2 3 2主要应用的技术介绍 m i s 系统的应用程序使用的最关键技术是s e r v l e t 和j s p 。s e r v l e t 2 1 是使用j a v a s e r v l e t 应用程序设计接口( a p i ) 及相关类和方法的j a v a 程序。除了j a v as e r v l e t a p i ,s e r v l e t 还可以使用用以扩展和添加到a p i 的j a v a 类软件包。s e r v l e t 在启用 j a v a 的w e b 服务器上或应用服务器上运行并扩展了该服务器的能力。j a v as e r v l e t 9 对于w e b 服务器就好像j a v aa p p l e t 对于w e b 浏览器。s e r v l e t 被装入w 曲服务器 并在w 曲服务器内执行,而a p p l e t 被装入w e b 浏览器并在w e b 浏览器内执行。j a v a s e r v l e t a p i 定义了一个s e r v l e t 和j a v a 使能的服务器之间的一个标准接口,这使得 s e r v l e t 具有跨服务器平台的特性。 s e r v l e t 通过创建一个框架来扩展服务器的能力,以提供在w e b 上进行请求和 响应服务。当客户机发送请求至服务器时,服务器可以将请求信息发送给s e r v l e t , 并让s c r v l c t 建立服务器返回给客户机的响应。当w e b 服务器启动或客户机第一次 请求服务时,w e b 服务器将自动初始化并装入s e r v i a ,s e r v l e t 将一直运行,直到 服务器关闭。s e r v l e t 的功能很广,包括了以下的功能: ( 1 ) 仓i j 建并返回一个包含基于客户请求性质的动态内容的完整的h t m l 页面。 ( 2 ) 创建可嵌入到现有h t m l 页面中的一部分h t m l 页面( h t m l 片段) 。 ( 3 ) 与其它服务器资源( 包括数据库和基于j a v a 的应用程序) 进行通信。 ( 4 ) 用多个线程处理连接,接收多个客户机的输入,并将结果广播到多个客户 机上。 j s p 3 】是由s u nm i c r o s y s t e m s 公司倡导、许多公司参与一起建立的一种动态网 页技术标准。j s p 技术有点类似a s p 技术,它是在传统的网页h t m l 文件 ( * h t m ,宰h t m l ) 中插入j a v a 程序段( s c r i p t l e t ) 和j s p 标记( t a g ) ,从而形成j s p 文件( , j s p ) 。用j s p 开发的w e b 应用是跨平台的,既能在l i n u x 下运行,也能在 其他操作系统上运行。 j s p 技术使用j a v a 编程语言编写类x m l 的t a g s 和s c r i p t l e t s ,来封装产生动态 网页的处理逻辑。网页还能通过t a g s 和s c r i p t l e t s 访问存在于服务端的资源的应用 逻辑。j s p 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使 基于w 曲的应用程序的开发变得迅速和容易。 w e b 服务器在遇到访问j s p 网页的请求时,首先执行其中的程序段,然后将执 行结果连同j s p 文件中的h t m l 代码一起返回给客户。插入的j a v a 程序段可以操 作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 j s p 与j a v as e r v l e t 一样,是在服务器端执行的,通常返回该客户端的就是一 个h t m l 文本,因此客户端只要有浏览器就能浏览。j s p 页面由h t m l 代码和嵌 入其中的j a v a 代码所组成。服务器在页面被客户端请求以后对这些j a v a 代码进行 处理,然后将生成的h t m l 页面返回给客户端的浏览器。 j a v as e r v l e t 是j s p 的技术基础,而且大型的w e b 应用程序的开发需要j a v a s e r v l e t 和j s p 配合才能完成。j s p 具备了j a v a 技术的简单易用,完全的面向对象, 具有平台无关性且安全可靠,主要面向因特网的特点。 j s p 有九种内置对象,分别为:r e q u e s t ,r e s p o n s e ,o u t ,s e s s i o n ,a p p l i c a t i o n ,c o n f i g , 1 0 p a g e c o n t e x t ,p a g e ,e x c e p t i o n 。 2 4校园管理信息系统存在的问题 在校园管理信息系统中,应用程序所需的数据都是直接从数据库中读取的即 时数据,但事实上应用程序所需的数据大都是不变的数据,如个人信息,学生资 助信息,奖惩信息,党团信息,这些数据在很长一段时间内是不会变化的,由于 每次数据库连接的建立和释放都会消耗大量的系统资源,如果每次需要这些信息 时都从数据库中读取,当有高并发量的用户访问时,数据库和校园管理信息系统 的性能会下降很多。 本文着手于设计一个运行在服务器端内存中的缓存模块,在一个请求到达之 后,应用程序首先在缓存模块中查找请求所需的内容是否存在,如果存在则直接 将缓存模块中的内容读出并返回给应用程序,如果不存在,请求通过j d b c 连接 数据库获得所需要的内容,将取出的内容一份返回给应用程序,拷贝一份存在缓 存模块中。在缓存模块己满而又有新的需要缓存的对象时,需要根据配置文件中 配置的缓存对象清除算法找到需要清除的对象,在这个对象被找到后,缓存模块 会根据配置文件中配置的是否保存需要清除的对象,将这个对象缓存到特定的磁 盘上或者永久的删除,同时把它从内存缓存中清除。 缓存模块的引入可以减少校园管理信息系统连接数据库的次数,不仅能够提 高m i s 系统的响应速度,同时也可以减轻数据库的压力,对于提高m i s 系统的运 行效率有很大的帮助。 3 缓存模块的设计与实现 3 1缓存模块的基本原理 设计与实现缓存模块是一个试图提高系统效率的手段,本文实现的是在同一 个j a v a 虚拟机中对数据的内存缓存,当有一个请求到来时,应用系统会先查询缓存 模块,如果请求访问的内容在缓存模块中存在,缓存中的内容会被直接返回,无 需访问数据库,这样可以很好的提高应用程序的执行效率,因为数据库连接的建 立和释放是很消耗资源和时间的。由于访问校园管理信息系统的学生所需的信息 在一段时间内不会发生改变,有理由相信,基于这种假设,从缓存模块中获得的 数据的准确率是比较高的。如果请求所需要的内容在缓存模块中不存在,那么应 用程序将通过j d b c 访问数据库获得所需的数据,再将数据的一份拷贝存于缓存模 块中。在缓存模块中的数据已满的情况下,缓存模块会根据配置文件中配置的缓 存对象清除算法从缓存模块中找到最先应该被清除的对象,将其从内存中清除。 缓存模块工作流程图如图3 1 所示: 港求戮返 图3 1 缓存模块工作流程图 f i 9 3 1t h ef l o wc h a r to fc a c h es y s t e m 1 2 此外,缓存模块的配置文件中有被清除的对象是否缓存在磁盘中的配置项, 如果选择了不缓存在磁盘中清除对象将被永久删除,否则缓存模块会按照配置文 件中的配置路径将清除的元素存储到磁盘中。在m i s 系统关闭时,缓存模块中的有 效缓存对象将被序列化到磁盘中进行保存,在m i s 系统重新启动时,磁盘上的缓存 对象将被读入内存,在内存容量紧张时,一些缓存对象将被临时存储在磁盘上。 由于系统可能存在两个或两个以上的j a v a 虚拟机( m ) ,在这种情况下,虽 然这些j a v a 虚拟机位于同一个主机内存中,但不同的j v m 之间的数据是不能共享 的。所以基础的缓存模块是实现基于同一个主机的同一个j v m 的缓存实现。本缓 存模块是基于j a v a 语言实现的,下面将首先对j a v a 语言和j a v a 虚拟机做简要介绍。 3 2j a v a 语言和j a v a 虚拟机 j a v a 是在1 9 9 5 年由s u n 公司推出的一种极富创造力的面向对象的程序设计语 言,它由j a v a 之父詹姆斯戈士林( j a m e sg o s l i n g ) 博士设计。詹姆斯戈士林亲手设 计了j a v a 语言,并完成了j a v a 技术的原始编译器和虚拟机的开发。j a v a 最初的名 字是o a k ,在1 9 9 5 年被重命名为j a v a 。 j a v a 是一种通过解释方式来执行的语言,其语法法则
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 上海市虹口区上海外国语大学附属外国语学校2026届数学高一上期末统考试题含解析
- 溃疡性结肠炎常见症状及护理经验介绍
- 阿尔茨海默病症状讲解及护理技巧
- 学社联自我介绍
- 祖国风景名胜介绍
- 家乡的美食介绍
- 椎管内麻醉术后健康教育
- 2025年钻井技术服务项目提案报告范文
- 总体城市设计案例解析
- 青少年合理营养指南
- 长春建筑学院《马克思主义工会思想史》2024-2025学年第一学期期末试卷
- 家庭教育行为习惯
- 巴以冲突的历史和现状分析
- 全国大学生电子设计大赛备战方案
- 抗dsDNA抗体临床应用
- 有创血压的监测
- 广东英语中考必背1600词
- 教师资格认定擀情况及不规范问题在中小学教师资格定期注册制度试点工作中的处理办法
- GB/T 27904-2011火焰引燃家具和组件的燃烧性能试验方法
- GB/T 17622-2008带电作业用绝缘手套
- 湿性愈合和新型敷料选择课件
评论
0/150
提交评论