基于LVS架构的教学网站的设计与开发

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:zhulimin520
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着互联网教学网站的建立,越来越多的学生从中受益。本文介绍了一种基于可伸缩网络服务LVS架构和ASP技术的教学网站的设计与开发,实现了高可靠性的动态WEB开放式、交互式的远程教学和辅助功能,并详细阐述了设计思想、结构模式、主要功能及系统实现。
  关键词:开放学习平台;可伸缩网络服务;LVS;交互式;远程教学
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)15-30870-01
  Design and Development on the Teaching Website Base on LVS Framework
  NI Wen-zhi1,2,CHENG Jing2
  (1. Department of Computer and Electronic Engineering, Hunan Business College, Changsha 410205, China; 2. Software School of Hunan University, Changsha 410082, China)
  Abstract:With the establishment of the Internet teaching website, more and more students benefited from this. This paper introduces the design and development of a teaching website which based on the scalable network services LVS structure and the ASP technology. It achieves the dynamic web open and interactive distance learning and auxiliary functions with high reliability, and expounds the thinking of design, structure, main functions and the implementation of system.
  Key words:Open Teaching Platform; Scalable Network Services; LVS; Distance Learning
  
  1 引言
  
  开放式教学是学分制教育和教学改革的重点,在实施开放式教学的过程中,越来越多的学科专业建立了基于互联网的现代教学网站来提供交互式、开放的学习平台。随着教学网站功能的多样性、请求连接数量的不可确定性、大量教学资料的视频化、图像化,访问时间的集中性和负载的长尾特性等导致采用常规三层WEB结构的教学网站出现了网络带宽不足、请求服务不及时,可靠性不强等问题,同时很多网络服务因为访问次数爆炸式地增长而不堪重负,不能及时处理用户的请求,导致用户进行长时间的等待,大大降低了服务质量。如何为学生提供一个自主学习的高效性、高可靠性、高伸缩性的开放式学习平台就成了必须克服的难题。
  
  2 设计思想
  
  在现代信息技术情景中的教学活动中,教学网站在教学过程中扮演着一种学习(教学)资源系统或教学传输系统的角色,它以学习理论、教学理论和传播理论为基础,应用系统科学理论的观点和方法,调查、分析教学中的问题和需求,确定目标,建立解决问题的步骤,选择相应的教学活动和教学资源,评价其结果,从而使教学效果达到最优化。考虑原来传统的B/S三层结构所带的种种缺陷,优化资源,重新安排架构,使用成熟且可靠的LVS(Linux Virtual Server)负载均衡技术及其体系结构,支持集群的系统,在增加少许成本的前提下,大大提升其性能。由于Linux的集群成熟丰富,同时又是开放源代码,系统方便进行必要的裁剪,深受使用者的喜爱。LVS自1998年开始,发展到现在已经是一个较成熟的项目。基于LVS架构的教学网站系统作为开放式教学环节中重要的支撑平台,在功能与性能上主要考虑以下几个方面。
  2.1 实用性
  本系统的最终受益用户是电子信息工程专业的全体教师与学生。系统在教学内容的组织时着重按学生能力循序渐进原则,为不同年级的学生、同年级不同层次的学生的建立起阶段学习考察目标:一年级目标重在考察基础知识掌握程度;二年级目标重点考察独立思考、科学思维和发现问题、提出问题的能力,这是创新的基础;三年级目标重在考察专业知识学习,侧重于科研过程的学习与体会;四年级目标重在考察科研创新及组织管理等个性化能力。
  2.2 可靠性
  从系统的结构特点出发,高可靠性系统运行于两个或多个节点上,目的是在系统出现某些故障的情况下,仍能继续对外提供服务,最大限度地减少服务中断时间,用以提高系统可靠性、可用性、适用性(reliability、vailability、serviceability ,即RAS)。保证网络数据的正确性,具备完善的数据维护、备份策略,确保教学数据的完整性。
  2.3 稳定性
  保证持续稳定的系统运行时间变得越来越重要,而传统意义上的小型机系统让普通用户望而却步。用户需要的是更高的可用性以及更低的成本。高可用性(HA)技术能自动检测服务器节点和服务进程错误、失效,并且当发生这种情况时能够自动适当地重新配置系统,使得集群中的其他节点能够自动承担这些服务,以实现服务不中断。保证系统的正常运行,确保教学工作的顺利开展。
  2.4 可扩展性
  现在WEB服务中越来越多地使用CGI、动态主页等CPU密集型应用,这对服务器的性能有较高要求。未来的网络服务会提供更丰富的内容、更好的交互性、更高的安全性等,需要服务器具有更强的CPU和I/O处理能力。系统在设计时考虑当服务的负载增长时,系统能被扩展来满足需求,且不降低服务质量。集群系统中的结点数目可以增长到几千个,乃至上万个,其伸缩性远超过单台超级计算机。当服务的负载下降时,系统自动将“剩余”服务器关停,使其处于休眠状态。一旦负载增多,便立刻唤醒休眠机器,提供服务。
  
  3 系统结构设计
  
  系统是具有特定功能的、相互间有机联系的许多要素所构成的一个有机整体,是多种关系的复合体。系统由一些要素结合而成,各个组成部分按一定方式结合,具有特定功能。系统结构设计结合教学网站功能与性能的特点与要求,将其分为物理架构设计与软件功能模块设计。
  3.1 物理架构设计
  基于LVS可伸缩Web服务的体系结构如图1所示:前端是一个负载调度器,具有很强的吞吐率,将服务请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器池。第二层是服务器池,Web服务分别运行在每个结点上。服务器池中的结点性能可以相同,也可以不相同。性能不同时,分别以不同的权值来标示不同的节点性能,负载调度器采用加权平均值的方法进行负载调度。第三层是数据存储,通过分布式文件系统使得每个服务器结点共享相同的数据,集群中结点间是通过高速网络相连。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序。
  图1 LVS体系结构
  3.2 软件功能模块设计
  网络教学系统的使用对象包括参与开放式教学的所有主体:教学管理人员、教学、学生。此外,还需要具有一定计算机技能的技术人员进行系统维护和管理。系统功能模块结构整体上可分为:管理员模块、教师模块、学生模块、公共信息模块。
  3.2.1 管理员模块
  “管理员”模块,主要是针对网络的用户管理(包括用户的设置,用户的权限),整个教学网络的参数的控制、数据的管理,包括数据的备份、恢复。最主要的是每天核实用户的申请、对教师或学生上传资料的审核与认定。“管理员”在整个网络系统中只允许有一人操作。
  3.2.2 教师模块
  教师模块主要完成辅导管理、讨论组的选择、讨论内容的发送与显示、作业布置、教学资源的发布、专业网站推荐与管理等功能。通过辅导管理功能,教师可创建多种类型的讨论组:允许其他人旁听的一对一辅导、不允许旁听的一对一辅导、一对多辅导和多对多辅导。
  3.2.3 学生模块
  与教师模块相似,学生模块主要完成辅导管理、讨论组的选择、讨论内容的发送与显示等功能。其中辅导管理功能只能由被指定为组长的学生调用,以组织相应的讨论组,接受或拒绝学生加入,从讨论组中开除学生,适时申请教师加入讨论等。
  3.2.4 公共信息模块
  公共信息模块包括:教学师资、课程简介、公告栏、网络资源推荐栏、优秀毕业论文简介栏及在线答疑系统等。
  
  4 系统实施
  
  系统实施阶段是将新系统付诸实现的过程。根据前阶段的需求分析与系统设计所提供的结构图、模块功能图、系统配置方案及详细的设计资料,将技术设计转化为物理实际系统。
  4.1 系统平台实现
  4.1.1 硬件平台搭建
  为了实现系统功能与性能要求,考虑系统性价比,系统采用五台性能不一致的计算机作为系统物理平台,将其中一台性能中等偏上的计算机作为负载调度器;三台计算机作为服务器,经高速网络连接成集群,形成服务器池;一台计算机作为分布式文件存储系统,提供网络资源的共享。
  4.1.2 软件平台构建
  系统软件:RedHatLinux9.0;Linux内核:Kernel linux-2.4.21.tar;LVS软件:ipvs-1.0.10.tar、ipvsadm-1.21-10.src.rpm或者ipvsadm-1.21.tar、hidden-2.4.20pre10-1.diff;HA(High Availability)软件:heartbeat1.2.3、ldirectord1.2.3。
  4.2 应用程序实现
  4.2.1 数据库连接
  B/S模式中较关键的一项技术就是与数据库的连接方案。ASP除了提供一种程序设计的手段外,还提供了一组功能强大的内建对象和组件,ADO就是Active组件中的数据库访问组件,ASP通过ADO提供的Connection对象和RecordSet对象建立和管理数据库连接,使服务端的脚本通过ODBC存取和操纵数据库服务器的数据,从数据库服务器获取数据或执行更新、删除、添加数据以及获取ODBC的错误信息等。
  4.2.2 应用程序设计
  在Web服务器端用一组动态和静态的HTML页面构成应用程序,页面由Dreamweaver可视化网页制作工具设计,并用Flash制作动画。静态HTML页面不对用户的操作做出动态反映,交互能力有限,而动态ASP页面可以根据用户的请求,返回相应数据信息,是应用程序设计中的主要部分。
  
  5 结束语
  
  基于LVS架构的教学网站系统的开发,充分利用现代教育技术和计算机网络技术,以网页浏览方式进行教学的在线、实时提供,具有界面友好、灵活高效、操作简单、安全可靠等特点。另外,该系统具有很好的结构,保障了可伸缩服务的实现,全面的功能和完善的安全机制,提高了教学水平,促进了教学质量的提高。
  
  参考文献:
  [1] 洪锡军,等. 利用ASP进行WEB动态信息发布的关键技术[J]. 计算机应用,Vol.21,No.8,2001.8.
  [2] 重要的网络资源:http://www.linuxvirtualserver.org/zh/index.html.
  [3] Michael F.Systematic planning in the design of an educational website. RuffiniEducational Technology/March-April.
  [4] 李龙. 教学过程设计[M]. 内蒙古人民出版社, 2000.7.
  [5] 肖磊,陈卓,郑重, 等. 流媒体技术与应用完全手册[M]. 北京:清华大学出版社,2003.
  [6] 清汉计算机工作室. ASP开发实例[M]. 北京:机械工业出版社,2000.
其他文献
摘要:本文对Java多线程的原理与用法进行了讨论,重点讨论了将多线程机制应用到Socket编程中,从而使服务器能够同时响应来自多个客户的请求。  关键词:java;多线程;socket编程  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30796-01  The Java Multi-threading Mechanism Weaves the Applica
期刊
摘要:嵌入式系统、嵌入式产品已经广泛地应用于国防、消费、信息家电、网络通信、工业控制等各个领域。本文以在linux系统上针对目标机ARM为例,介绍了跨平台的交叉编译的概念,并详细阐述了如何自己建立基于ARM-linux的交叉编译环境,为嵌入式产品的开发打下良好的基础。  关键词:嵌入式;ARM;Linux;交叉编译  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15
期刊
摘要:利用Visual Basic语言实现对数据的最小二乘法处理,使数据处理非常方便且可靠性高,避免了大量的计算过程,保证数据处理的质量和效果.  关键词:数据处理;最小二乘法;直线拟合;visual basic  中图分类号:TP311文献标识码:A 文章编号:1009-3044(2007)15-30782-02  The VB Programming to Deal with the Data
期刊
摘要:随着多平台应用的出现,传统的开发平台已经不能适应企业级应用的需要,J2EE成为最受欢迎企业解决方案。本文通过分析J2EE体系结构及相关技术,来指导皮划艇项目系统的实现。  关键词:J2EE;C/S;三层体系结构;EJB;javabean  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30777-03  The Realization of A Rowin
期刊
摘要:EDA技术发展迅速,Electronics Workbench(简称EWB)是目前各种电子电路辅助分析与设计软件中最优秀的软件之一,该软件具有模拟和数字电路的设计、分析、仿真功能。介绍一种基于EWB仿真平台设计交通信号灯控制系统的方法。  关键词:EDA;EWB;交通信号灯;控制系统  中图分类号:TP391文献标识码:A文章编号:1009-3044(2007)15-30821-03  De
期刊
摘要:针对当前开发工具提供的系统控件的不足,通过一个自定义控件的开发实例,分析和讨论了用C#进行自定义控件开发的方法。该方法可以应用于有特殊要求的软件开发。  关键词:系统控件;自定义控件;软件开发  中图分类号:TP311文献标识码:A文章编号:1009-3044(2007)15-30797-02  Discussion of the Technique of Self-defined Cont
期刊
摘要:Struts是基于MVC设计模式的非常优秀的 Web应用框架,在Web应用开发中很好地将显示与逻辑分离,提高了代码的可重用性和灵活性。文中首先分析了Struts框架及其对Model,View和Controller层的实现原理,并通过一个实例演示Struts框架实现MVC模式的方法。  关键词:MVC设计模型;Struts框架;Servlet;Jsp  中图分类号:TP311文献标识码:A文章
期刊
摘要:粒子群算法是一种基于群智能的全局寻优方法,方法简单易于实现,寻优效果好。本文设计了一种基于粒子群算法的自整定PID控制器。它可以根据系统参数的变化实现在线的PID参数优化。仿真结果证明其性能良好。  关键词:粒子群优化;PID参数;自整定  中图分类号:TP18 文献标识码:A文章编号:1009-3044(2007)15-30836-02  A Self-tuning Controller
期刊
摘要:全文从民办高职院校培养IT技术型人才的教育特点出发,对其实践这一重要环节的内涵及范畴进行了界定。并提出走出民办院校的特色,培养学生具备社会实用能力,构建以实践为主体,产学研为主线的理论和实践相融合的立体交叉式教学体系。  关键词:高职教育;IT技术型人才;实践;创新  中图分类号:G712文献标识码:A文章编号:1009-3044(2007)15-30865-01  Applicabilit
期刊
摘要:目前,很多高校的程序设计课程都设置Java语言的教学,但在教学过程中会出现内容多、教学时数少,学生掌握的系统编程能力较差等问题。在多年的Java教学过程中,提出:项目促学、实践为主、讲授为辅的教学改革方案。强调Java教学注重从前续课程的过渡,并提出基于SIGTS进行项目教学。实践证明:进行项目教学后,学生学习主动性、编程技能等都大大提高,更好地适应了企业的需求。  关键词:过渡;项目;SI
期刊