1 平台架构设计
1.1 平台框架设计概述
B/S结构中平台客户端和后台采用浏览器/服务器结构。它由3层结构形成,客户端浏览器是用户的使用界面,极少部分的事务逻辑在前端浏览器(Browser)实现,主要事务逻辑在服务器端(Server)实现,系统数据主要存放在数据库服务器中。利用成熟的网络前端技术,以及先进的服务器端技术,实现原来需要复杂的专用软件才能实现的强大功能。该结构具有操作使用简单、维护和升级方式简单、开发成本相对较低的特点。
系统平台的整体分为数据访问层、业务逻辑层和表示层,以典型3层结构实现。数据访问层也称为持久层,其功能主要负责数据库服务器的数据处理。实现对数据表的sel
ect(查询),Insert(插入),updat
e(更新),dele
te(删除)等事务操作,并把最终的执行的结果返回给服务器。业务逻辑层处于表示层与数据访问层之间,表示层调用它,而数据访问层被它调用,它在数据交换中起到了承上启下的作用,执行业务处理逻辑以及页面存储管理功能,接收客户端的访问请求,根据请求类型调用相应的处理程序。表示层为用户提供交互界面,用来显示数据和接收用户的输入信息,但表示层并没有业务处理功能。
1.2 系统功能设计
系统主要功能模块。
(1)注册会员审核的分组权限管理。指学生填写登陆用户名、学号、姓名、邮箱等信息,提交注册申请。系统赋予各院系管理者分组权限,分组以院系为单位,各院系管理者可以对相应学院的注册申请进行审核,通过分组权限管理,可以提高注册会员的审核效率。
(2)项目类型、院系、班级三级权限管理。指该系统包含项目发布的三级管理权限,一级权限为项目管理权限,由校级管理部门控制,该权限赋予管理者制定素质拓展项目类型和信息说明的权限;二级权限为学院管理权限,包括注册会员分组审核权限,以及根据素质拓展项目类型,发布具体项目内容的权限;三级权限为班级管理权限,包括依照二级权限认定的项目内容对班级成员可参与项目进行发布的权限。通过项目发布的三级权限管理,提高认证系统项目发布效率。
(3)素质拓展项目的网上申请与审批。在素质拓展项目的具体来源上,以院系、学生会、协会等学校组织机构申报活动为主,这些具体的活动项目经过网上申请与审批后,通过校级、院系、班级三级管理系统进行公布,网上申请与审批功能可以实现对素质拓展项目进行集中管理,避免漏报和重复申报。
(4)基于班级、学院、学校的三级网络认证。学生可采取线下参与活动,线上申请学分的方式申报素质拓展项目学分,该申请提交后,将由班级、学院、学校逐层认证审核,与项目发布中的由上到下不同,项目审核采取由下到上的方式,以保证项目审核的及时性与准确性。
(5)信息发布与反馈功能。认证系统平台提供公告信息发布功能及反馈功能,使得用户与平台之间可以信息互动、互通,增强了认证系统在信息收集上的能力。(6)用户操作日志记录与管理功能。平台的系统日志能够实时记录用户的登陆情况,以及访问者的IP地址和在平台上具体操作情况。如果以后平台产生安全问题,该记录是解决问题的依据。
1.3 后台服务器及数据库设计
(1)后台服务器设计
后台服务器采用LAMP架构,即Linux操作系统、Apache服务器、MySQL数据库、超文本预处理器(Hypertext Preprocessor,PHP)语言。它是目前Web开发领域的主流解决方案,其中PHP脚本语言、MySQL数据库管理系统、Apache服务器都是开源软件,除了可以给企业降低成本外,还可以为企业构建强健的分布式网络系统平台。
分布式的Web系统采用LAMP 技术开发,由于单个技术的稳定性和强健性以及良好的兼容性,用LAMP开发的系统可以做到兼顾成本和系统的健壮性。所以,LAMP架构无论是从性能、质量还是价格上都是网络分布式系统实现的最佳选择。
(2)数据库结构设计
系统后台数据采用开源的MySQL,考虑到系统是基于B/S架构的多用户系统,后台数据库采用开源的MySQL数据库系统,MySQL是目前运行速度最快的SQL语言数据库,并且完全免费,可以直接节省系统的开发成本,MySQL支持多用户、多线程、多种操作系统。MySQL的稳定性体现在了它拥有非常快速而且稳定的基于线程的内存分配系统。它还具有优异的SQL算法,相对于同级别的数据库系统有效地提高了数据的更新效率。系统的用户分为:学生用户、班级管理员、院系管理员、校级管理员、系统管理员5级用户。根据需求分析,建立以下数据字段,以满足设计的要求和系统功能模块的设立。
2 系统关键技术分析及实现
2.1 利用AJAX实现页面的异步交互系统的用户体验直接影响系统的使用效果,必须保证使用中页面的提交、响应及重新加载页面的过程顺畅,操作过程中系统用户需要进行大量的提交动作,如果采用传统Web响应处理技术,用户客户端浏览器发送请求在未得到服务器相应时,客户端只能等待。这种请求模式是独占式的,它与服务器的响应时间同步。在这种模式下,客户端即使只有一小部分更新数据,浏览器的整个页面都需要重新加载。在系统的交互请求频繁时,系统会经常处于一种不连续的状态,这样导致了系统的资源大量被占用,性能也相应降低。如果采用AJAX异步交互模式,可以实现异步的页面局部数据刷新,解决传统的Web页面整体加载问题。系统实现异步交互模式步骤如下:
(1)创建一个异步请求对象-XMLHttpRequestJavaScript中的XMLHttpRequest对象是异步请求实现的核心,首先创建XMLHttpRequest对象。
(2)创建HTTP 请求,指定该请求的方法、URL地址、验证信息创建XMLHttpRequest对象后,使用XMLHttp-Request对象中的open()和send()方法向服务器端发送请求。xmlmyhttp.open(GET,AjaxServer,true);xmlmyhttp.send(null);
(3)设置回调函数,用来对应HTTP请求的状态变化回调函数用来响应XMLHttpRequest对象发送的HTTP 请求,该函数由XMLHttpRequest对象的onreadystatechange属性来指定:
2.2 安全保护策略
网络系统的安全已经成为一个系统实施成功的因素之一,保证系统高效地运行,系统中的数据如何防止被意外破坏,是必须考虑的重要问题。设计采取以下安全策略以保证系统安全稳定的运行。
(1)及时更新最新版本的服务器端软件。软件发展的过程就是不断修补自身漏洞,不断增强自身功能的过程,及时更新软件,可以提高系统安全稳定性。
(2)对系统访问IP进行过滤。只允许校内的IP用户访问,以达到降低风险的目的。由系统管理员配置IP分组过滤表,过滤模块根据IP分组中报头的源地址、目的地址、端口号等信息,对访问的IP分组进行过滤,来禁止校外的IP地址对系统的访问。
(3)对系统的数据库进行定期备份,防止系统意外崩溃而导致的信息丢失。系统后台数据库采用MySQL 数据库系统,使用MySQL 自带的mysqldump工具对数据进行定期备份,备份的数据以sql文件形式保存。这种备份方法的优点是能够与正在运行的MySQL自动协同工作,在运行期间可以确保备份是当时的点,它会自动将对应操作的表锁定,不允许其他用户修改。
(4)移去或锁定某些系统账号,比如sys、adm等等。
(5)完善系统的日志功能,记录每个管理员的日常登录和操作,为出现安全问题后查找原因提供线索。
2.3 负载均衡的实现
Web系统在特定的场景下访问人数过多,使Web服务器的负载加重,造成系统的超负荷运转。硬件方式实现负载均衡需要投入大量的资金,考虑到实施成本问题,系统采用软件方式实现并达到相应的效果。该方案不需要用户购买专用的负载均衡设备、Web服务器集群系统,成本低且使用方便灵活。该方案参照硬件负载均衡原理,使用一台装有双网卡的服务器做为负载均衡设备,实质上通过对TCP/IP协议数据报文的解包、再打包、转发,将系统的负载分配到不同的Web服务器上以实现负载均衡。
3 系统实现和测试分析
3.1 系统实现及功能测试
系统实现了预期的设计功能,系统登录界面及主功能界面。界面美观,经测试系统登录注册、学院项目管理、学生申请的认证管理、特殊项目的管理等模块都能稳定运行。
3.2 系统兼容性测试
B/S架构具有很好的扩展性与兼容性,当需要对系统应用进行扩展升级时,只需更新服务器端的软件就可以。针对客户端,在不同的操作系统上只要使用浏览器就可以访问系统。然而,实际中系统面向的用户运行环境不一,用户对浏览器软件的使用习惯差别很大,经过对目前常用的主流浏览器软件测试后,常见的火狐浏览器、谷歌浏览器、360浏览器、QQ 浏览器以及IE浏览器就能正常显示。
4 结语
系统使用LAMP+AJAX 技术设计并实现了大学生素质拓展认证系统,保证了系统的稳定性和可扩展性。系统将学生的基本情况以及参加素质拓展项目的情况予以完整记录,实时反映学生参加各类项目的活动数据,并可动态查询学生素质拓展学分修学进度等。该系统在实际工作中提高了大学生素质拓展活动管理的信息化和网络化水平。