欢迎来到天天文库
浏览记录
ID:31173064
大小:110.50 KB
页数:8页
时间:2019-01-07
《分布式多级缓存技术在选课系统中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、分布式多级缓存技术在选课系统中的应用 【摘要】针对高校进行网上选课时Web应用服务器延迟比较大甚至宕机的现象,采用为Web应用服务器构建分布式多级缓存的办法,可以有效解决Web服务器吞吐量不够和响应时间比较长的问题。 【关键词】分布式多级缓存技术选课系统 【中图分类号】G【文献标识码】A 【文章编号】0450-9889(2014)02C-0183-03 一、高校选课系统现状分析 高校选课系统大部分都采用B/S三层结构,浏览器、Web应用服务器和数据库服务器,同时为了保证数据的一致性和完整性,数据库服务器一般只有一个,而应用
2、服务器可以设置多个,逻辑结构描述如图1所示。当多个Web应用服务器在大量用户并发提出的请求时,因为操作数据库是串行执行,那么势必导致用户请求很久都得不到回应,延迟时间比较长,甚至出现浏览器页面超时等现象。 图1高校教务系统的典型逻辑架构8 针对选课系统现有的状况,必须进行相应的改进,以提高Web应用服务器的服务质量。缓存技术是其中比较热点的解决办法,它可以缓存数据库中的数据对象,也可以缓存中间处理对象和结果对象。搭建一个缓存服务器显然作用不大,在本文中将采用分布式缓存服务器集群的方式,也就是采用Web应用服务器分布式缓存技术,这样
3、可以极大改善现有服务器所面临的高负载问题,提高Web应用服务器的吞吐量,降低响应时间,解决数据库的伸缩性等问题。 二、选课系统缓存对象分析与设计 在设置缓存之前,首先要弄清楚选课的整个流程,里面所涉及的对象,分析出其中的数据对象、过程对象和结果对象,之后考虑如何对这些对象进行缓存。 (一)选课系统流程分析。在学生进行抢选课的时候,首先进入课程页面找到自己喜欢的课程,如果该课程没有达到限定的选课人数,那么学生选择该课程成功,否则只能选择其他课程;然后当选择的课程通过后,便会进入该课程对应的教师页面,学生抢选自己喜欢的任课教师,如果
4、该任课教师没有达到限定人数,那么该学生选教师成功,也就意味着该课程整体抢选成功,否则该学生只能再选择其他教师。在选课过程中或选课结束后,学生可以随时通过结果页面查看自己选课的总体情况,以便作出调整。通过以上分析,可以得到如图2选课系统流程图。 图2选课子系统流程图8 (二)缓存对象分析。经过分析,在高校选课系统中可以进行缓存的对象包括以下对象:课程信息对象,可以是数据对象,也可以是课程信息所形成的页面对象;课程人数限制信息,这个属于数据对象;课程已选人数信息,这个属于数据对象;教师信息对象,这个可以是数据对象,也可以是教师信息所形
5、成的页面对象;教师人数限制信息,这个属于数据对象;教师已选人数信息,这个属于数据对象;选课结果信息,可以是数据对象,也可以是结果形成的页面对象。因此得出结论,这些信息都可以以数据对象的形式存储。 (三)缓存对象分类。选课系统可缓存的数据对象各有其特点,因此这些数据对象不能全部以统一的方式进行缓存,按照这些数据对象的特点,把这些数据对象分为参考数据对象、活动数据对象和资源数据对象。参考数据对象是指主要用于读取的数据对象,虽然这些数据对象很少有写入操作,却因为读取数据对象的用户数量较大,数据对象检索和列表也会产生巨大的数据对象条目。活动
6、数据对象是指进行读取和写入的数据,这些数据对象是可以调整变化的,而且存在是短暂的。资源数据指的是同时进行读写的数据对象。 按照以上分析,选课系统中的参考数据对象包括课程数据对象、课程人数限制数据对象、教师数据对象和教师人数限制数据对象;活动数据对象包括选课结果数据对象、课程已选人数数据对象和教师已选人数数据对象。 (四)缓存逻辑模型设计。根据选课子系统可缓存对象的分析结果,分为三种不同的数据对象,那么在缓存这些数据对象的时候,需要在内存中建立对应独立的存储结构单元,称之为命名缓存。这些命名缓存之间完全互相隔离,互不干扰,当有多个应
7、用程序共享同一个缓存集群时,可以为每个应用程序分别建立命名缓存。在同一个命名缓存中,对同类型的数据对象,但是内容不通的,需要对命名缓存进行分区,这样即可以解决数据冲突的问题,极大地提高检索效率。这样就得出一种新的缓存服务中数据对象新的逻辑模型,如图3所示。 图3缓存逻辑模型设计8 在本文的选课系统中,将参考数据对象类型命名为MyBasicData,并根据内容不同进行分区,分为课程数据对象分区、课程限制人数数据对象分区、教师数据对象分区和教师人数限制数据对象分区等;活动数据对象类型命名为MyActiveData,划分为选课结果数据对
8、象分区、课程已选人数分区和教师已选人数分区等;资源数据对象类型命名为MySourceData。 三、构建基于JBossCache3.0分布式多级缓存 (一)分布式多级缓存逻辑架构设计。根据选课系统的特点,这些可被缓存
此文档下载收益归作者所有