[收稿日期]2019-11-28
[基金项目]淮北职业技术学院自然科学研究重点项目“高职院校网上评教系统的设计与研究”(项目编号:2017-A-5)。[作者简介]杨萌(1979-),女,安徽淮北人,讲师,工程师,主要研究方向为计算机应用。
基于SpringCloud的高校网上评教系统的设计与实现springcloud怎么读音
杨 萌
(淮北职业技术学院,安徽淮北235000)
[摘要]随着信息技术高速发展,目前国内兴起第二次互联网热潮。各行各业都在信息化上转型,以达到智能中国,智能城市,智能办公等要求。面对此种情况,高校急需一套公开、透明、公平的评教系统,实时的根据事实情况评定教师教学质量。以此为基础,基于时下流行SpringCloud技术,构建了一套高可用、高可靠、可扩展的智能网上评教系统。构建的系统对于提高高校教师的教学水平具有直接的推动力。
[关键词]SpringCloud;微服务;评教系统
[中图分类号]TP311.13 [文献标识码]A [文章编号]1671-5330(2020)02-0043-04
随着信息技术高速发展,目前国内兴起第二次互联网热。各行各业都在信息化上转型,达到
智能中国,智能城市,智能办公等要求[1]。而高
校处于科学前沿,高科技人才聚集地,所以高校办公和教学系统也必须改造和升级,以适应智能化的教学。高校评教系统以前多采用人工调查或者抽样调查问卷方式,几乎以应付的方式完成工作。这种手工方式难免存在不公开、不透明、不公平评教缺陷,无法调动学生或者教师评教积极性,无法推动教师教学质量提升和鼓励教师潜心专研教学。所以高校急需一套公开、透明、公平的评教系统,实时的根据事实情况评定教师教学质量。本系统基于时下流行SpringCloud技术,构建了一套高可用、高可靠、可扩展的智能网上评教系统。本系统可根据教师教学实际情况,灵活配置评教内容和评教方式,支持可公开、可匿名,并具有统计分析功能,便于教师横向和纵向对比等。本文
构建的系统对于提高高校教师教学水平具有直接的推动力。
1 系统功能及主要技术
1.1 系统功能
本系统按照功能模块包括:用户模块(包括用户管理、权限管理等);评价系统模块(包括评分功能、评价查看、评价修改及管理、打印管理、评价结果展示等);统计报表模块(包括各种维度报表统计等);配置模块(包括评价内容及方式配置等);登录模块(包括系统登录和退出功能)。1.2 关键技术
本系统采用SpringCloud架构以微服务方式部署系统。本方案使用技术栈为S
pringboot+Mysql+zookeeper+activemq+redis。具体通过Springboot开发微服务独立程序,利用Mysql存储系统数据,并且采用主从方式部署,提高系统可靠性;利用z
ookeeper协调微服务,提升服务的可用
性;使用activemq提供消息队列,所有微服务接口使用消息队列交互方式提供系统的服务消费能力。此外,为提升系统的服务响应能力,将Redis部署在服务端前端。
SpringCloud实际上为基于Springboot的快速构建分布式系统的工具集。其支持开发程序在docker和PivotalCloudFoundry上部署。可基于JVM的云进行原生应用开发,如配置管理、服务发现、熔断器、智能路由、微代理、控制总线、分布式会话和集状态管理等操作。
作为第二代微服务的代表性框架,SpringCloud已经在国内众多公司中应用。例如,拍拍贷资深架构师杨波老师就根据自己的实际经验以及对SpringCloud的深入调研,并结合国内一线互联网厂商开源项目应用经验,认为SpringCloud技术栈中的有些组件离生产级尚存在一定的差距,并基于此提出了一个可供中小团队参考的微服务架构技术栈,又被称为“中国特的微服务
架构技术栈1.0”,如图1所示[8]
。
图1 SpringCloud解决方案
SpringCloud核心组件包括SpringCloudNet flix
、SpringCloudConfig、SpringCloudBus、SpringCloudSecurity、SpringCloudConsul模块等。其中SpringCloudNetflix包括如下组件:Eureka服务治理组件(包含服务注册与发现);Hystrix容错管理组件,可实现熔断器操作;Ribbon客户端负载均衡的服务调用组件;基于Ribbon和Hystrix的声明式服务调用组件;网关组件,可提供智能路由、访问过滤等功能;外部化配置组件。
SpringCloudConfi配置管理工具,可实现应用配置的外部化存储,支持客户端配置信息刷新、加密/解密配置内容等。
SpringCloudBus事件、消息总线,可用于传播
集中的状态变化或事件,以及触发后续的处理[
9]
。SpringCloudSecurity基于Springsecurity的安全工具包,可为应用程序添加安全控制。
SpringCloudConsul封装了Consul操作,可实现服务发现与工具配置(与Eureka作用类似),与Docker容器可以无缝集成。
2 系统的实现
本系统基于SpringCloud框架实现网上评教系统的项目配置、微服务注册、服务提供及消费等功能,具体系统服务消费和注册流程如图2
所示。
图2 系统服务消费和注册流程
用户可在前端页面操作,前端调用的是消费者(Service-App)提供的rest接口,消费者去调用服务提供者的具体服务(发现)然后将结果返回给消费者,继而返回给用户。利用IntelliJIDEA结合SpringInitializer自动生成工程结构,其中主要模块如下表1所示。
其中springcloud-eureka-server为注册中心,所有微服务启动之后均需要在注册中心注册,为便于消费者访问,用户登录本系统需发送登录请求,登录后台模块则先在注册中心注册,然后为用户登录动作提供服务。例如学生发起评测动作,则评测服务提供模块先在注册中心注册,然后为学生评测动作提供服务。
springcloud-provider-user-service用户服务提供模块,此模块主要提供登录服务,评测服务,配置服务,基本校验服务等。
springcloud-consumer-h5系统前端,主要为用户使用界面,例如登录操作,评测,统计,分析等界面操作。
springcloud-gateway模块,主要利用zuul提
4
4安阳师范学院学报 2020年
供服务注册网关,便于服务调用和访问。
表1 各模块说明
模块名称模块说明
springcloud-eureka
-server分布式服务注册中心(单点)springcloud-eureka-server-ha分布式服务注册中心(高可用版本)springcloud-provid
er-user-service用户服务提供者
springcloud-con sumer-h5用户服务调用者,采用原始的RestTemplate调用springcloud-con
sumer-h5-ribbon-
hystrix用户服务调用者,采用ribbon
做客户端负载均衡
springcloud-con
sumer-h5-feignfeign声明式服务调用者
springcloud-g
ate
way网关服务
springcloud-config
-serve
r
配置中心
下文对于本系统部分功能代码进行详细说明[10]。
本系统采用基于SpringBoot框架的Web和JPA模块实现RestfulAPI的常用方法。其中En tity类包括User.java(用户DAO),Role.java(角DAO),EvaluateRecord.java(评价记录DAO),Configuaton.java(配置Dao),UserType.java(用户类型Dao)等。其中Role.java具体代码如下:
业务逻辑Service服务类包括UserService.ja va,EvaluateService.java,ConfiguationSercie.java等,其中UserService.java代码如下:
业务逻辑控制层主要为后天业务逻辑控制代码,本文主要通过User实现完整的RestfulAPI的UserController,主要代码如下:
5
4第2期 杨萌:基于SpringCloud的高校网上评教系统的设计与实现
本系统主要基于SpringCloud微服务架构,将所有模块拆解为服务,在服务中心进行注册,并提供服务。而业务逻辑模块均改造为微服务,单独部署启动,注册到服务中心,并为消费者提供服务。本系统根据业务逻辑分为登录服务,评价服务,管理服务等。
4 结语
本系统基于SpringCloud构建高校网上评教系统,支持微服务独立部署,支持用户管理、评教管理、统计分析、配置管理等功能,同时具备高可
用、高可靠、可扩展能力。本系统对于高校网上评教系统建设具有较强的借鉴意义,有利于高校教学水平的提升。
[参考文献]
[1]吕永鑫.基于Web的网络数据库安全技术研究[J].
信息与电脑:理论版,2019(18):2-13.
[2]麦英健.基于Web网站的用户体验量化分析研究
[J].电子测试,2019(20):31-34.
[3]陈香.浅谈高职院校Web在线考试系统的应用[J].
信息系统工程,2016(11):23-28.
[4]彭彬,甘早斌.Web应用系统的性能和伸缩性评价
[J].计算机工程,2006(11):11-15.
[5]左为平,杨晓亚.软件测试在WEB应用系统中的实现
[
J].信息系统工程,2011(11):6-24.[6]苏亚丽.高校教学评价系统设计与研究[J].玉溪师范
学院学报,2015(08):45-50.
[7]孙颖,李涛.“网络信息安全”教学平台中教学评价系
统的研究与设计[J].科教文汇:下旬刊,2013(04):12-16.
[8]李宏坤.基于J2EE的网络教学评价系统的研究[J].
计算机光盘软件与应用,2014(20):286-287.[9]陈建勋,谢妙,熊春荣.开发分布式动态Web应用系统
的技术探讨[J].玉林师范学院学报,2003(03):23-25.
[10]孙凌玲,孙佳帝,田晶.对基于Struts+Spring+Hiber
nate架构构建Web应用系统的研究[J].硅谷,2010(17):23-33
DesignandImplementationofOnlineEvaluationSystemof
HigherVocationalCollegesBasedonSpringCloud
YANGMeng
(HuaibeiVocationalandTechnicalCollege,Huaibei235000,China)
Abstract:Thissystemisbasedonthespringcloudfra
meworktodevelopanonlineevaluationandteachingsys tem,whichsupportsthedeploymentandoperationofmicroservices.Thissystemhastheabilityofuserman agement,teachingevaluation,statisticalanalysis,evaluationcontentconfigurationandsoon.Thesystemhastheabilityofhighavailabilityandreliability,andsupportstheservicelevelexpansion.Itisofgreatsignifi cancetopromotetheteachinglevelofhighervocationalcolleges.Keywords:Springcloud;Microserviceteaching;evaluationsystem
[责任编辑:杜燕军]
6
4安阳师范学院学报 2020年
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论