基于云平台的数字化校园信息门户系统实践研究
2017-02-27伍绍佳
伍绍佳,杜 林,廖 丽
(肇庆广播电视大学,广东 肇庆 526060)
基于云平台的数字化校园信息门户系统实践研究
伍绍佳,杜 林,廖 丽
(肇庆广播电视大学,广东 肇庆 526060)
本文针对国内大部分院校校园信息化发展现状,利用先进的互联网技术提出一种基于云平台的数字化校园信息门户系统建设方案,并根据实践调研对该方案提出了具体的系统建设目标和详细设计,在关键技术实现部分通过研究整合JavaWeb技术、Nginx服务以及Redis数据库集群,证实了云平台化的数字校园信息门户系统的可行性和先进性。
互联网技术;云平台;集群;JavaWeb技术;Nginx服务;Redis数据库
本文著录格式:伍绍佳,杜林,廖丽. 基于云平台的数字化校园信息门户系统实践研究[J]. 软件,2017,38(1):29-33
0 引言
随着当今信息科学技术的发展,数字化校园信息系统也得到了广泛的应用。《国家中长期教育改革和发展规划纲要(2010-2020年)》明确指出:“信息技术对教育发展具有革命性影响,必须予以高度重视”[1]。但是由于最初设计模式不尽相同,编码技术也多种多样,导致现今各大高校内部的信息系统种类繁多,自成体系,系统之间信息不能共享,且需要不同的访问授权和认证,给用户带来了很多不必要的繁琐流程;同时随着当今高等教育扩招,师生人数都有明显增加,业务量和访问量的快速增加导致数据流量呈几何式增长,导致系统访问资源受限,网络拥堵,甚至在某些特殊情况下出现服务器瘫痪现象。
针对目前现状,本文提出了一种基于云平台的数字化校园信息门户系统建设方案,能够有效改善当前面临的困境。使用互联网技术致力于建设统一、灵活、开放的教育信息化平台,对高校教育信息化发展具有重大的现实意义。
1 系统建设目标
数字化校园信息门户系统目的是将学校各个部门之间的应用系统集成在一起,把校内数据资源和网络上的资源有效的整合起来,组建成一个统一、共享的信息服务入口[2]。在数字化校园建设当中,信息门户系统的建设尤为重要,不仅要解决目前所面临的系统离散、重复建设等难题,还要综合考虑未来系统的可维护性和高并发性。为此在现有资源的基础上,本系统提出以下几个建设方针[3]:
(1)统一门户系统建设。统一门户系统建设是指应用跨平台的JavaWeb技术组建统一的校园系统入口,将各部门的系统服务接口集成到一个共享的门户系统之下,以Web页面的形式展现出来,用户通过不同的操作来进入指定的系统,在保证原有功能不变的情况下进行相同的业务逻辑处理。
(2)统一身份认证与授权管理建设。统一身份认证与授权管理建设是为了解决校内各服务系统之间多套账户密码的问题。采用共享的账户信息统一认证,并通过门户系统进行甄别处理,赋予不同角色用户不同的授权方式。
(3)共享数据中心建设。共享数据中心是为了方便各子系统之间可以相互进行数据访问,减少共有资源重复建设而采取的措施。其本质在于保留各部门服务系统私有数据的前提下,抽取共享的数据资源集成到门户系统数据库中,实现公共资源的标准化、统一化管理。
(4)高性能存取服务建设。高性能存取服务建设是指在共享数据中心建设方案下,采用redis内存数据库作为其中心存储数据库,利用高性能的redis集群搭建保证了即便在高并发模式下也可以流畅的进行数据获取和存储。
(5)云平台集群建设。云平台集群建设指充分利用现有的互联网资源,对整个信息门户系统进行云端化部署,利用云平台的高可伸缩性满足应用和用户规模增长的长期需要。
基于以上建设目标的剖析,我们可以清晰的认识到云平台集群建设是需要在其他四个建设目标完成的基础上才可进行,是整个门户系统的平台支撑。根据互联网行业调研可知,目前已经有提供对外服务的云平台且技术较为成熟,如Google云平台已经拥有100多万台服务器,亚马逊、IBM、等公司的“云”均拥有几十万台服务器,其可靠性和通用性都有保障。因此,我们只要按需租赁相应供应商提供的基础硬件设施即可。
所以统一门户系统建设、统一身份认证与授权管理建设、共享数据中心建设与高性能存取服务建设是我们需要重点关注和实施的,本文将在下面具体说明该系统的详细设计以及实现过程中的关键技术。
2 系统详细设计
系统设计流程图如图1所示,在架构方面,我
们可以进一步将统一身份认证与授权管理归并为门户系统建设下的一个重要子模块,采用跨平台技术的JavaWeb技术实现整个门户系统的编码,使用Servlet或者Filter拦截用户的Http请求,运用Java面向对象的特点实现请求和响应的流程,整个系统服务程序运行在Tomcat服务器中。
图1 信息门户系统架构
在共享数据中心和高性能存取服务建设方面,采用redis内存数据库来存储各子系统的公有数据,利用redis集群来实现分布式存储,通过分片进行数据共享,可以尽可能的提高共享数据中心的高效性和可靠性。
在云平台集群建设方面,硬件基础设施无需考虑,但若想实现整个信息门户系统的云端集群化,我们仍需要使用Nginx服务器来实现负载均衡,保证每个Http请求按时间顺序逐一分配到不同的后端服务器系统,采取多台节点设备分别处理巨大并发访问和数据流量,这样可以大幅度减少系统的压力和提供用户体验[4]。设计流程图如图2所示。
图2 信息门户系统云平台集群
3 关键技术实现
3.1 JavaWeb跨平台技术
Java Web,是用Java技术来解决相关web互联网领域的技术总和。web包括:web服务器和web客户端两部分。目前纯Java技术在解决互联网问题方面并不常见,因为大量基于Java的第三方框架对Web领域的快速发展产生了强大的推动力。本文中的数字化校园信息门户系统将采用当前优秀的SpringMVC框架进行整体架构的搭建。
3.1.1 SpringMVC框架的优势
SpringMVC作为当前主流的Web MVC框架,是用Java语言编写的轻量级框架,并以控制反转原则和面向切面编程思想为基础,提供管理业务对象服务[5]。其主要优势(与Struct2对比)如下:
使用singleton单例模式,保证容器中只有一个实例对象,而不用针对每次Http请求创建新的实例。这种设计模式在系统处于高并发状态下能够充分保证应用程序的高效性。
基于组件技术,全部的应用对象,无论控制器和视图,还是业务对象都是Java组件,并且和Spring提供的其他基础结构紧密集成,实现无缝连接。
学习曲线低,相对于Struct2等复杂的MVC框架,SpringMVC只需将开发框架搭建完成之后,大部分人都能很快适应,并快速开发,提高开发效率,节约时间成本。
3.1.2 SpringMVC在本系统中的应用
在本系统中,无论从用户请求到门户系统的接口部分,还是统一身份认证和统一授权管理建设都与Spring MVC框架密切相关,系统业务逻辑流程图如图3所示。
图3 系统业务逻辑流程图
共享数据中心包括用户的统一账户信息,在进入统一门户系统后,首先进入认证/授权层。该层首先向共享数据中心获取当前所要登录账户的身份认证信息和访问权限,完成统一身份认证和授权管理,只有认证成功的用户才能进行共享数据中心和校内子系统不同授权级别的访问。
对于拥有认证和授权的用户,其访问过程中,Http请求将从Web页面发送到信息门户系统,由SpringMVC中的DispatcherServlet类接收并分发到下一级业务层,在业务层有两种处理策略:
其一,针对公有共享数据的访问,我们将在业务层调用数据DAO层,通过DAO组件提供的统一数据库接口来访问共享数据中心,最后返回需要的数据包,完成一次Http请求。
其二,根据用户发起的Http请求种类,业务层有针对性的作出判断,统一转发到校内各部门子系统中。
3.1.3 SpringMVC详细配置
Spring MVC的配置主要包括前置控制器、映射请求和视图解析器[6]。具体配置如下代码:
添加Web.xml配置文件中关于SpringMVC的配置
3.2 redis数据库集群
3.2.1 redis性能研究
Redis是一个开源的高性能键值对数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,支持字符串(String),哈希(Map),列表(list),集合(sets)和有序集合(sorted sets)等类型的存储。同时redis是一个内存数据库,所有数据都存储在内存中,由于内存的读写速度远快于硬盘,性能明显优势,无时延情况下Redis读的速度是11 W次/s,写的速度是8.1 W次/s。除此之外,Redis的列表类型键可以实现队列,并且支持阻塞式读取,可以很容易实现一个高性能的优先队列。
3.2.2 redis集群设计
redis支持主从同步,在Slave启动并连接到Master之后,它将主动发送一条SYNC命令。此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。本系统将基于主从同步模式创建读写分离的高性能Redis集群,步骤如下:
设计读写分离,创建4个Redis节点,一个主节点,三个从节点。如图4所示,一个主节点对应一个从节点,主节点负责写,从节点负责读,分别提高数据库的读写能力。
利用Sentinel(哨兵)机制,由一个Sentinel监控多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器,然后由新的主服务器代替已下线的主服务器继续处理命令请求,实现主从切换的功能。
图4 Redis读写分离设计图
3.2.3 集群配置实现
准备五个redis服务,依次命名文件夹子Master,Slave1,Slave2,Slave3,Sentinel。分别使用端口号为:6000,6001,6002,6003,6004。分别配置前四个Redis服务器中redis.conf文件和最后一个Sentinel 服务器中sentinel.conf如表1所示,分别启动对应服务即可实现Redis集群化。
3.3 Nginx负载均衡实现云平台集群
3.3.1 Nginx服务器介绍
Nginx是一款轻量级的Web服务器,同时也是一个高性能的HTTP和反向代理服务器。不仅可以按照调度规则实现动态、静态页面的分离,还能按照轮询、ip哈希、URL哈希、权重等多种方式对后端服务器做负载均衡,同时支持后端服务器的健康检查。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。
目前很多企业级系统都采用多台服务器来共同支撑企业的网站,这样不仅可以加快企业网站的访问速度,还可以避免突发情况造成的灾难,但是会由于服务器本身原因或者某些外界因素会造成各个服务器的访问速度不一,这时候我们就需要配置Http服务器的负载均衡来降低资源的浪费。
表1 Redis读写分离代码配置
3.3.2 Nginx负载均衡实现
在本系统中,利用Nginx轮询机制对后端服务器做负载均衡,如果云平台后端某个服务器挂掉,则能自动剔除。找到Nginx服务器中 Nginx安装目录下的文件:nginx. conf,需要在Http节点里添加upstream和Server的配置。具体配置代码如下所示:
Down:表示当前的server暂时不参与负载。
weight:表示轮询权重值,默认为1,weight 和访问比率成正比,当服务器性能不均时,可通过该值合理调整服务器负载。weight越大,负载的权重就越大[7]。
max_fails:允许请求失败的次数,默认为1,当超过最大次数时,返回fail_timeout:max_fails次失败后,暂停的时间。
backup:其它所有的非backup机器down或者忙的时候,请求backup机器。所以这台机器压力会最轻。
如果云平台集群数目增加,则只需要在upstream节点中增加一个对应ip的server,即可快速完成Http请求的分流操作。
4 结语
本系统利用先进的互联网技术将校园门户系统云端化,提出一套集群化的建设方案,不仅能够解决当前校内系统分散,信息孤岛,资源浪费等问题,还能弹性扩容,即便面对高并发状态,系统也能高效运行,满足应用和用户规模增长的需要。另外云平台的虚拟化和高可靠性为校园门户系统快捷、安全的运行提供了最大的保障,比本地服务器更加可靠。
本文为各大高校提供了一种实用的数字化校园门户系统建设方案,尤其针对师生基数较大的高校有显著的效果,从系统的建设目标、架构设计和关键技术实现证明了该解决方案的可行性和高效性。
[1] 刘屹. 基于云计算环境下的教育信息化资源平台分析与设计[J]. 福建电脑, 2016, 32(8).
[2] 曾振东. 浅谈数字化校园中信息门户平台的建设[J]. 价值工程, 2010, 29(14): 255-256.
[3] 王海燕. 数字化校园统一门户的设计研究[J]. 煤炭技术, 2010, 29(2): 177-179.
[4] 严方东, 刘玉凤. 利用Nginx实现网站负载均衡[J]. 数字化用户, 2013(06).
[5] 张宇, 王映辉, 张翔南. 基于Spring的MVC框架设计与实现[J]. 计算机工程, 2010, 36(4): 59-62.
[6] 薛峰, 梁锋, 徐书勋, 王彪任. 基于Spring MVC框架的Web研究与应用[J]. 合肥工业大学学报(自然科学版), 2012. 03, 35(3): 337-340.
[7] 肖明魁. 基于Nginx负载均衡技术初探[J]. 技术与应用, 2015(36): 125.
Research on The Practice of Digital Campus Information Portal System Based on Cloud Platform
WU Shao-jia, DU Lin, LIAO Li
(Zhaoqing Radio&Television University, Zhaoqing 526060, Guangdong, China)
According to most of the domestic campus informationization’s development, this paper uses an advanced Internet technology to put forward a scheme of the construction of digital campus information portal Solution based on cloud platform. And on the basis of the research, we propose the concrete system construction goal and the detailed design. In the realization part of system’s key technology, through the integration of JavaWeb technology, Nginx service technology and Redis database cluster technology, we also prove the feasibility and progressiveness of the digital campus information portal system which is based on cloud platform.
Internet technology; Cloud platform; Cluster; JavaWeb technology; Nginx service; Redis database
TP311
A
10.3969/j.issn.1003-6970.2017.01.007
广东远程开放教育科研基金项目(批准号:YJ1332)
伍绍佳,男,(1969-),讲师,主要研究方向:计算机应用与网络技术。杜林,男,(1978-),讲师,主要研究方向:计算机应用技术。廖丽,女,(1967-),高级讲师,主要研究方向:软件技术应用。