基本信息
- 项目名称:
- 基于Flex和P2P的分布式选课系统的研究
- 来源:
- 第十二届“挑战杯”省赛作品
- 小类:
- 信息技术
- 大类:
- 自然科学类学术论文
- 简介:
- 本文提出了基于Flex RIA和P2P的分布式选课系统以应对网上选课系统因短时内高负载而出错的问题。客户端方面,利用Flex的处理能力和客户端电脑的性能,使客户端节点之间通过Flex平台以P2P的方式直接交换部分选课数据;同时将部分数据处理工作转移到客户端进行,减轻服务器负担。服务器端方面,采用分布式技术,利用反向代理和均衡负载使多台服务器组成集群共同提供服务,以提高整体的性能和可用性。
- 详细介绍:
- 目前高校已普遍实行网上选课的制度,而其采用的网上选课系统基本上是传统的基于B/S(Browser/Server,即浏览器/服务器)架构的瘦客户端类型,即服务器端接收来自浏览器的请求,运行相关的业务逻辑进行数据处理,在生成全部页面之后,返回给浏览器,浏览器仅负责将页面呈现给用户。传统的网上选课系统在给学校管理带来部分便利的同时,也因为其系统架构上的固有缺陷给用户带来了许多麻烦。 传统的网上选课系统的基于页面刷新、请求-响应机制的架构迫使用户在刷新时面对空白的页面和忍受较长的等待,严重影响操作流畅度和用户体验。更重要的是,客户端浏览器没有数据存储和处理的能力,用户每次刷新页面时需要服务器消耗大量的资源用于对页面内容的反复查询和生成。采用这种架构的选课系统在访问用户数量较少时尚体现不出它的弊端,而遇到选课高峰时,一台或简单的几台服务器往往无法承受高并发连接数和巨大请求量所带来的沉重负担而造成响应缓慢、页面出错和拒绝服务,这严重影响了选课过程的正常进行。 随着网络带宽和客户端电脑性能的提升,在当前服务器单机硬件性能由于技术和成本原因无法大幅提高的情况下,应采取措施充分利用网络系统和客户端电脑的剩余性能,将部分原本需要从服务器端获取的数据改为从其他客户端获得,同时将原本属于服务器的部分业务处理工作交予客户机执行;另外,为应对高并发给服务器所带来的沉重压力,应采取措施将大量请求均衡地交给几台服务器来处理,以减少单机的负载,同时不会因为一台服务器出现故障而造成系统无法正常工作,以增加系统的稳定性和可用性。 基于此,本文设计了一种基于Flex富互联网应用和点对点技术(P2P)的分布式选课系统,从当前热门的Flex技术和分布式系统出发,结合传统C/S(Client/Server,即客户机/服务器)架构和B/S架构的优点,在客户端和服务器端两个方面对选课系统的软硬件架构进行了改良。客户端方面,采用P2P技术,依靠校内高带宽网络和Flex强大的处理能力,充分挖掘客户端的性能,使客户端节点之间通过Flex平台直接交换数据;同时,将大部分业务逻辑和数据处理转移到客户端进行,从而减轻服务器负担,提高选课的效率。服务器端方面,考虑到选课系统的复杂性和庞大的数据库,迁移至全新的系统需耗费大量精力,且会给维护带来困难,所以本系统在保留原有系统服务器端应用程序和数据库结构的基础之上,应用分布式技术,利用 Nginx服务器软件提供的强大的反向代理和均衡负载能力,使多台运行原有系统的服务器组成集群,共同提供服务,同时加入缓存层的考虑。优化了服务器端的整体性能、提高了整个系统的稳定性和可用性。
作品专业信息
撰写目的和基本思路
- 传统的网上选课系统采用的系统架构无法承受选课高峰时期的大规模的并发访问量,导致系统反应缓慢出错甚至崩溃,严重影响选课的进行。随着网络和客户端性能的提升,在服务器单机性能由于技术和成本无法大幅提高的情况下,应充分利用网络系统和客户端电脑的剩余性能,同时将原本属于服务器的部分业务处理工作交予客户机执行;同时,服务器端采用分布式技术,使用多台服务器和反向代理进行均衡负载,以提高性能和增加稳定性。
科学性、先进性及独特之处
- 本作品创新性地在系统架构中采用了Flex作为前台技术,通过Flex互联网技术的应用,可使客户端获得强大的数据处理、界面表现和直接与其他客户端通信的能力,因此可有效减少客户端与服务器端的通信量,进而减轻服务器端的压力,增加整体的性能和稳定性。同时在服务器端方面,通过对访问量巨大的网站如Google、百度、新浪的系统架构的研究,本作品成功地建立了应对中高规模访问量的分布式架构并将其应用到选课系统中。
应用价值和现实意义
- 依据本作品中的设计架构,服务器端方面,可在充分利用之前已有的服务器硬件、Web程序和数据库的基础之上,大幅提高整个系统的性能和稳定性,不会因为并发访问量大就反应迟缓甚至崩溃;在客户端方面,由于Flex富互联网程序所提供的强大的数据处理能力和表现力,可在充分利用网络和客户端性能的同时,给选课同学以良好的用户体验,提高选课的效率和成功率,使选课过程不再成为学生的维护人员噩梦。
学术论文摘要
- 本文针对网上选课系统因短时内高负载而导致的响应缓慢、出错等问题,提出了基于Flex RIA和P2P的分布式选课系统。从Flex和分布式系统出发,结合C/S和B/S架构的优点,分别在客户端和服务器端对选课系统的架构进行了优化。客户端方面,依靠校园网高带宽、Flex强大的处理能力,充分利用客户端电脑的性能,使客户端节点之间通过Flex平台以P2P的方式直接交换部分选课数据;同时,将部分业务逻辑和数据处理工作转移到客户端进行。服务器端方面,采用分布式技术,利用反向代理和均衡负载使多台服务器组成集群共同提供服务。在充分兼容原有系统架构的基础之上,提高了系统整体的性能和可用性。
获奖情况
- 无
鉴定结果
- 无
参考文献
- [1]文捷等,复旦大学选课系统的性能优化策略研究和实践[J],中山大学学报(自然科学版),2009,48; [2]叶建芳,应用FLEX技术构建RIA系统[D],浙江大学,计算机与软件学院,2006; [3]袁芳等,高负载选课系统运行技术的研究与实践[J],中山大学学报(自然科学版),2009;
同类课题研究水平概述
- 经过通过万方数据库检索(),在2000-2011年的文献中,得到如下结果: 1、国内尚未有采用Flex作为前端技术的选课系统; 2、关于分布式选课系统,检索到两篇相关论文如下: (1)基于分布式Web服务器集群的选课系统研究与设计,孙延海,2006 作者在论文中提出了采用第四层交换技术来均衡负载,相对于本作品中所采用的反向代理的方式,第四层交换技术除了在性能上相比于反向代理有一定的提高外,在配置复杂程度和灵活性方面均不如反向代理的方式。 (2)分布式选课系统的研究与设计,杨红飞, 2008 作者在论文中提出了采用P2P技术以解决高负载的问题,但是其采用的是陈旧的基于Java的JXTA技术,相比本作品中所采用的基于Adobe Cirrus 2的P2P技术,JXTA技术不仅要求客户端安装JRE环境,且需要对原有系统做较大改动,同时编码复杂。而采用Adobe Cirrus 2技术,因为它是基于Flash Player中运行的,而Flash Player在全球电脑中有超过80%的保有量,所以基本不存在客户端不兼容的问题,且Adobe Cirrus 2技术可以使开发者通过更为简单的编码就可实现基于Flex平台的P2P网络,并且功能更为强大。