基于微服务的开放大学智慧校园方案设计

2020-09-09 07:22张黎娜张文盛梁伍七
安徽开放大学学报 2020年3期
关键词:智慧校园服务

童 敏,张黎娜,张文盛,梁伍七

(安徽广播电视大学,合肥 230022)

一、引言

经过多年的发展,广播电视大学(以下简称“电大”)的信息化建设已经基本形成适应各类教育教学及管理要求的网络软硬件平台和信息资源,为高等教育大众化以及构建终身教育体系和学习型社会奠定了较坚实的基础。但随着电大向开放大学的战略转型,如何基于云计算、大数据和人工智能等新型信息技术构建资源共享、智能开放的教育教学环境,以实现现代信息技术和远程开放教育的深度融合,为学习者提供优质的教学支持服务,是远程开放教育信息化建设的重要研究课题。

随着云计算和物联网等现代信息技术的快速发展,关于智慧校园的研究也越来越多。截至2019年12月31日在知网按照主题搜索关键词“智慧校园”,得到的论文篇数结果如表1所示。

表1 按照主题搜索“智慧校园”论文数量

可以看出,自2013年以来,针对智慧校园的研究呈逐年递增的趋势,研究内容主要体现在智慧校园的体系结构、方案设计和关键技术方面。胡钦太等证明智慧校园是高校教育信息化发展的更高形态,详细阐述了信息化新技术与智慧校园的技术承载与应用融合[1];蒋东兴等提出了高校智慧校园的定义,建立了高校智慧校园的概念模型[2];陈琳等论述了智慧校园与智慧时代、教育信息化、互联网+教育和智慧教育等之间的密切关系[3];张胜春等基于大数据背景论述了高校智慧校园总体设计与实现[4];刘冬邻设计了基于云计算和各种网络及应用安全技术的高可靠双活数据中心架构方案[5];陈琳等以智慧教育的视角研究分析智慧校园的智慧本质以及战略构建方案,提出了智慧校园的设计与建设目标以及综合评估政策[6];徐青山等对智慧校园的顶层设计进行了分析,同时为高校智慧校园的顶层设计和建设实施提供了一个参考案例[7];王娟等对国内高校智慧校园研究进展和趋势进行了深入分析[8];刘勇等对高校智慧校园建设支撑技术及其目标进行了探析[9];杨萍等对智慧校园建设进行了综述并给出合理化建议[10];刘波等提出将微服务架构应用于智慧校园建设,给出了两个应用场景的微服务构建模型[11]。可见,对智慧校园和信息技术以及教育教学如何深度融合还缺乏研究,对智慧校园在具体实现层面的研究也还不够,将微服务这种新的软件架构应用于开放大学智慧校园建设还鲜有研究。

二、智慧校园架构设计

智慧校园建设的目标是,通过云计算服务中心整合物联网和学校教学、管理和服务软件系统平台,实现基础设施、网络通信、教育教学、管理服务和科学研究的有机结合,实现校园环境的智能感知、教学资源的智能获取、教学活动的智能开展以及学校治理的智能决策。开放大学智慧校园以原有数字化校园基础网络和综合数据平台为基础,利用大数据、云计算、物联网等新技术进行升级和整合,目的是适应开放大学构建资源共享、智能开放的教育教学环境的需求,为远程学习者提供优质和高效的教学支持服务。开放大学智慧校园技术架构设计如图1所示。

图1 开放大学智慧校园技术架构设计

智慧校园技术架构共分六层,另有两个方面的支撑保障体系。实现包括智能感知、网络通信、云计算、大数据、智慧应用以及智能终端六个层级。智能感知层综合采用RFID等智能感应和近场通信等物联网技术,实时采集校园环境、资源与活动的实时数据,为智慧校园的全面数据采集与实时反馈控制提供基础的感知支撑。网络通信层综合采用校园有线网络、WIFI无线网络、4G/5G移动网络等通信技术,为智慧校园提供数据通信支撑。云计算层综合采用虚拟化、分布式计算、高性能计算(HPC)等计算技术,集中存储、分布式存储等存储技术,实现基础设施云服务,为智慧校园的大数据处理和智慧应用提供计算和存储支撑。大数据层综合采用数据存储、数据组织与管理、数据挖掘、数据分析等技术,为智慧校园的各类应用提供数据支撑。智慧应用层包括教学、科研、管理和后勤服务等业务应用。智能终端层综合应用传统PC、智能终端、自助设备和可穿戴设备等在内的多种终端接入技术,围绕特定应用场景为用户提供自适应和个性化的人机交互模式和用户接入体验。支撑保障体系包括保障网络传输和业务系统的信息安全保障体系,以及保障校园基础设施和应用系统稳定运行的信息化运维服务体系,为智慧校园安全、稳定和高效运行提供保障。

三、智慧校园的微服务框架设计

早期的软件架构模式多为单体应用, 单体应用中所有业务功能虽然在逻辑上进行了分层,但是在物理上并没有分层,应用作为一个整体部署。微服务是随着互联网的发展逐渐演变成的一种软件架构模式,该模式将业务功能进行细粒度的划分,划分成的功能模块称为服务,每个服务可独立部署,运行在其独立的进程中,服务间采用轻量级的通信机制进行沟通。微服务将一个系统拆分成多个细粒度的服务,和传统的面向服务的架构(Service Orienented Architechture,SOA)相比,微服务具有更高的灵活性、可实施性和可扩展性,是一种可独立测试、部署和运行的软件架构模式[12]。

微服务可以用不同的语言和框架由单独的开发团队进行开发,每个服务有自己单独的部署和资源需求,管理众多微服务的部署需求是个难题,Docker容器技术解决了这个问题。Docker是一个开源的操作系统级别的虚拟化引擎,能够将应用程序及其依赖项打包到轻量级容器中,这些容器可以在不同发行版之间轻松移动、快速启动并彼此隔离,使得开发者在不同的环境中使用同一份Docker镜像,无须重复配置如Maven等运行环境,多个Docker容器作为独立进程在同一个底层操作系统内核上运行。

基于微服务架构的系统需要对服务进行治理,以便快速发现、配置和管理微服务,服务发现包含客户端发现和服务端发现。服务端是服务注册中心,服务提供方将生产的微服务通过配置文件在服务端进行注册,服务启动时,服务注册表会检索到该服务,服务端维护一份服务实例的列表,服务注册表通过心跳机制检查服务的健康状态。服务消费者需要调用微服务时,先到注册中心查询服务的地址,负载均衡通过服务注册表,实现服务发现。微服务架构设计如图2所示。

图2 微服务架构设计

微服务框架比较流行的有国内开源的Dubbo框架以及Spring Cloud框架。Dubbo框架实现了基础的服务注册功能,服务治理的其他功能需要扩展第三方开源组件来实现。Spring Cloud框架提供了服务治理功能的完整实现。二者的核心部件都包括服务提供方、服务消费方、服务注册中心和发现中心,Dubbo框架的核心部件还包括统计服务和调用次数以及调用时间的监控中心。Dubbo使用RPC通信协议,Spring Cloud使用HTTP协议的REST API。服务依赖方式上,Dubbo服务提供方与消费方通过接口的方式依赖,Spring Cloud通过Json方式交互。选择哪一种作为微服务实现的框架并不重要,重点是如何合理地利用微服务。

如图3所示,基于微服务的智慧校园平台由基础服务、业务/数据中台、API网关、前端应用和服务保障几部分组成。基础服务与具体业务无关,提供如文件、缓存、队列、日志和搜索等基础功能,为上层面向业务的微服务提供底层能力支持。中台聚合智慧校园基础业务微服务,如用户管理、身份认证、权限控制、应用管理和数据分析等。业务和数据服务通过API网关对外提供服务能力,API网关提供协议转换、负载均衡、服务发现和API计量和监控等功能,并将业务和数据服务进行聚合和封装,为前端应用的用户请求提供支持。服务保障由多个运维框架和系统组成,为智慧校园中所有微服务的部署、调度和监控等提供运维支持。

图3 基于微服务的智慧校园技术架构

四、智慧校园微服务设计与实现

(一)数据中心微服务

学校各部门在进行信息化建设时都是根据自己的业务需求,采取不同的标准和数据库,各业务系统间相互独立,数据无法实时更新,信息和资源无法实现高效共享,形成“信息孤岛”。建立数据中心可解决这个问题。数据中心微服务设计的基本思路是:将早期建立的人事系统、OA系统、教务系统、学工系统、财务系统等业务系统中,需要和其他应用进行交互的数据进行整理和建模,制定数据标准和数据交换标准,实现业务系统数据的交换、共享和融合。数据中心微服务设计如图4所示。

图4 数据中心微服务设计

数据库的数据包括校内核心业务数据库的数据以及学校办学多年积累的所有格式的非结构化数据。数据交换中心是数据中心的核心,通过数据抽取(Extract)、转换(Transform)和加载(Load),将业务数据库的数据和非结构化数据整合到共享数据库中。共享数据库包括供学校全局应用共享使用的各种基础数据,如教职工基础数据、学生基础数据和资产基础数据等,用于为学校各业务系统之间数据共享以及作为各类统计报表的全局数据库,为各类用户提供可靠的数据服务。共享数据库以接口的方式为面向用户的应用提供数据服务接口。数据中心同时要做好运行监控、安全控制、权限分配和日志管理等。

(二)网上办事大厅微服务

网上办事大厅为学校师生提供审批服务的一站式在线服务,是智慧校园建设的重要内容,服务对象是学校的全体教职工和在校学生。办事大厅通过对原有的业务流程进行梳理和分解,对重构后的业务流程进行服务重组,将业务流程简化和优化,实现服务的碎片化和服务模式的创新。网上办事大厅微服务设计的基本思路是:以部门和用户为视角,围绕用户和部门的个性化需求,以办事为主线,对业务流程进行重构,将可用的应用和服务在个性化门户中进行呈现。业务流程由用户自主发起,用户可全程把控流程办理的进度。实施步骤是:全面调研学校现有的业务系统情况,按照受服务对象和服务类别等进行合理的业务域划分,编制微服务总体需求,进一步细化服务流程,分角色、面向服务对象梳理服务,重构服务流程。网上办事大厅微服务设计如图5所示。

图5 网上办事大厅微服务设计

网上办事大厅对复杂的业务进行细粒度的划分,将其变成可服务用户的最小功能单元,通过一个统一的界面提供给用户,增加了用户对学校信息化的黏度,能产生更有价值的数据资源,提升学校的科学决策水平。微服务的整合有编排和编制两种方式,编排强调点对点交互,编制通过总控系统协调各服务的交互,总控系统可以是事件总线或消息队列等。通常在微服务编排中引入工作流引擎,通过工作流对分散于各微服务中的业务进行总体控制,达到业务流程实例状态的透明化和可视化。

选择使用Activiti7工作流引擎技术,实现工作流的部署管理以及申请和审批类服务的具体实现。Activiti7是一个轻量级的工作流业务管理平台框架,可以与Spring完美集成。通过调用工作流引擎提供的ProcessEngine对象获取工作流引擎提供的7种服务接口来完成用户接口的开发,完成流程定义、流程定义实例的启动和获取、任务管理和历史信息查询等。Activiti7后台自带数据库的支持,流程图的制作通过Activiti Modeler来实现。

(三)基础微服务实现技术

智慧校园微服务实现使用Spring Cloud框架。系统使用Nacos实现服务注册和服务发现。Nacos是阿里巴巴的一个开源项目,是Dubbo生态系统的注册中心实现,用于构建微服务的动态服务发现、动态配置管理和服务及其元数据管理。服务提供者在注册中心注册服务后,服务消费者可以在注册中心查找和发现服务,配置管理实现对微服务的集中统一配置和版本管理。Nacos提供agent上报模式和服务端主动检测两种健康检查模式,提供对服务的实时健康检查。

Nacos和Spring Boot以及Spring Cloud完美集成,通过引入spring-cloud-starter-alibaba-nacos-discovery模块,Spring Cloud通用模块中与服务治理相关的接口将使用Nacos实现,通过@EnableDiscoveryClient注解开启Spring Cloud的服务注册与发现功能,服务消费者调用微服务使用Feign客户端,通过@EnableFeignClients注解启用Feign客户端,@FeignClient注解定义Feign客户端,通过注解@Autowired注入所定义的Feign客户端,该对象会代理客户端完成远程微服务的调用。

外部客户端的微服务请求通过Gateway网关进行转发,Gateway网关提供一个统一入口访问内部一个或多个微服务,具有负载均衡、统一鉴权、请求过滤和路径重写等功能。采用Spring Cloud Gateway网关项目,该项目与Spring Cloud可无缝集成。Gateway收到客户端请求后,在Gateway处理映射列表中找到与请求相匹配的路由,将请求发送到Gateway Web处理器。处理器通过指定的过滤器链将请求发送到实际的服务执行业务逻辑后返回。

五、结语

电大向开放大学转型升级过程中,主要任务是完善数字化学习环境,促进现代信息技术和教育教学的深度融合,提升优质学习支持服务水平,推动终身学习体系建设,构建并深化“六网融通”人才培养模式,建设多元化质量保证体系。智慧校园高度融合现代信息技术,是顺利完成这些任务的重要支撑和保障。微服务作为一种新型的软件架构模式,就是针对业务越来越复杂的互联网应用提出的。开放大学智慧校园建设业务流程复杂,业务数据庞大,在智慧校园业务域中设计并抽取合适的微服务,构建符合开放大学智慧校园实际需要的应用场景,是开放大学智慧校园建设的重要课题。下一步,重点围绕数据中心微服务的具体实现,就微服务用于开放大学智慧校园建设开展进一步研究。

猜你喜欢
智慧校园服务
聚焦“五个一” 打通为侨服务渠道
校园的早晨
春满校园
采掘服务个股表现
有智慧的羊
智慧派
读者反馈 订阅服务
智慧决定成败
智慧往前冲,统计百分百(1)
服务与咨询