基于微服务架构的教学管理平台设计研究
2024-06-26谢俊仕
谢俊仕
摘要:文章针对微服务架构和常见的教学管理业务展开分析研究。围绕基于微服务架构的教学管理平台,从微服务的模块化、高可用性、可扩展性、灵活性、易于维护等主要特点出发,结合教学计划管理、教学运行管理、实践教学与实验管理、教学建设与质量管理等常见的教学管理业务进行研究。重点从服务拆分、微服务架构设计、网络安全等关键技术环节入手展开研究和相关平台的设计。以期简化无纸化教学管理过程,丰富教学管理手段,提高教学质量和管理效率,降低教学管理成本,为师生提供更好的教学环境和学习环境。
关键词:微服务架构;教学管理;管理系统集成
中图分类号:TP312 文献标识码:A
文章编号:1009-3044(2024)14-0056-04 开放科学(资源服务)标识码(OSID) :
0 引言
随着信息化技术在教学管理领域的不断普及和发展,“一平台一系统多场景”的微服务架构[1],以其模块化、分布式、高可用性、灵活性等特点成为教学管理应用程序开发的主流选择之一。目前的教学管理系统存在着一些普遍性问题:缺少统一的互通标准,不同系统间的数据共享困难;系统架构固化、缺少灵活的迭代扩展机制,无法快速适应改革变化的需要;缺乏数据分析和决策支持,不利于教学管理的科学化和规范化。
传统的教学管理平台存在较大局限性,已不能满足现代教学管理的需求。因此,研究基于微服务架构的教学管理平台,以满足教学管理的需求,具有较大的实际意义。
1 微服务架构的特点
微服务是一种新型软件开发架构和组织方法,其可根据教学管理业务拆分成一个一个松散耦合且可单独部署的子服务。从技术角度看,微服务是由一个个灵活且相互独立的业务单元构成,业务单元之间既可以相互衔接配合工作,又能够自行单独启动和关闭,每个服务都拥有各自的数据库模块。在结构上实现松散耦合,在功能上表征为一个统一的界面风格、访问入口、安全管理、权限管理、日志和调度方式等的整体。
微服务架构的核心要点是通过对服务的拆分和组件划分,将业务功能分解到各个离散的服务中以实现对解决方案的解耦。再围绕业务领域组件来创建可独立地进行开发、管理和迭代的具体应用。在分散的组件中使用云架构和平台式部署、管理和服务功能,使产品交付变得更加简单[2]。主要特点包括:1) 单一性:微服务架构中的每个服务,都是含有业务逻辑的独立单元。它符合高内聚、低耦合的原则,各个单元只需关注自己的业务逻辑即可。2) 轻量级通信:微服务的使用轻量级通信机制,赋予每个微服务有足够的独立性,摆脱技术的限制。通信过程不依赖具体的语言和平台。 3) 独立性:微服务架构不仅业务独立,其部署过程也独立。业务之间高度解耦,当需要发送变化时,只需要对当前业务做出改变,就可以完成相关业务功能的开发、测试,实现更快更轻松的部署。4) 进程隔离:在微服务架构中,由于应用程序不是由单一的服务组成,为了保护进程之间互不干扰,不同的服务单元非常容易被部署到不同的主机上,实现微服务架构的高度自治和高度隔离。5) 技术多样性:微服务架构中,对不同的业务特征,可以选择最合适的技术栈和平台去针对性地解决具体业务问题,避免了在单块架构中不得不采用统一的技术方案去解决所有问题的情况。6) 易维护:业务单元的独立性和部署的独立性,决定了它可以单独升级和维护,提高了应用程序的可维护性。
2 基于微服务架构的教学管理平台建设目标
近几年,随着各大院校信息化建设的推进,校内机构、院(部)业务办理效能得到了提高,但是依然存在“各自为营”的问题,各类信息化系统主要围绕满足本单位的业务需要,各个部门及各个系统之间的业务协同能力较弱,无法满足业务整合、提质增效的目的。
基于微服务架构的教学管理平台建设的总体目标以角色管理(包括学生、教师和管理人员)为中心,在满足学校教学发展的同时、又能促进提高服务水平和管理水平、提升教学信息化的综合系统平台。平台能够对业务需求快速响应,使各方面使用者能圆满完成各项业务。本平台的建设目标主要包括:
1) 构建高效快捷的电子化交流平台,从传统的人人、人机交流向数据流、业务流进行转变,实现智能化教学管理,从而提高学校教学的管理效率和信息化水平。
2) 根据平台的所提供服务流,能满足学校的教学改革需求,不需要再重构平台框架。进一步建立符合本校教育理念的课程体系和人才培养方案、课程排选优化方案、顶岗实习实训、毕业审查策略。
3) 构建安全稳定的用户管理体系,灵活实现各管理部门与各教学部门之间的协同办公,致力于减轻管理人员的工作负担,提高办公效率。
4) 依靠微服务技术等先进技术,实现规范化、流程化和信息化的人才培养方案,可灵活适应各类招生、实习实训、专业分流等教学改革的需求。
5) 构建稳定安全的信息化教学的高效优质服务体系,为教师的放心教、学生的开心学以及管理员的轻松管提供“一站式”的教学服务环境。
6) 构建统一、安全、稳定的数据中心库,可自由设计并提供各类所需的分析数据,方便各级管理人员进行教学决策。
3 教学平台的框架设计及关键技术
3.1 服务拆分
设计微服务平台,需要将具体业务进行拆分[3],根据需要对业务进行细节化分类,合理的服务细节拆分可以提高系统的独立性与可拓展性。本文研究的基于微服务架构的教学管理平台系统按照教务处现有的各项业务进行分类,首先围绕教、学、管、测、评、服六大模块进行纵向划分,再以教师、学生、管理人员三条主线的活动轨迹进行横向细分。
整个教学环节,按照各项业务划分,具体可划分如表 1所示。
3.2 微服务平台架构设计
以跨业务域的管理平台为支撑[4],通过统一的一站式办事大厅门户,推动服务事项“网上办、掌上办、指尖办” [5],支持PC、智能手机、电脑、自助服务终端等。提升工作效率和教学管理水平,贯彻“让数据多跑路,让师生少跑路”的服务理念。将拆分后的服务进行抽象化建模,得出的教务系统框架如图1所示。
基于现实可行的设计理念,提供灵活、便捷的管理功能,可适应学校教学管理、教学改革的要求,如:学分制改革、分级教学改革、院系二级管理改革。可为学生、教师、教学秘书及管理人员提供简便、快捷的网络化信息化教学服务;系统可实现本科、专科等不同层次学生的管理,可实现普通全日制学生、留学生、交流生等多类型的学生管理,并适应多校区的管理模式;系统可适应学年制、学分制以及学年/学分混合制的管理需要。
系统业务功能基于模块化的思路构建[6],主要包括:基础资源服务、系统管理、人才培养方案、课程管理、排课服务、日常运行服务、选课服务、学籍服务、考务服务、等级考试服务、成绩服务、毕业审核服务、教学评价服务、学生服务、教师服务、移动教务服务等。
3.3 主要技术内容
目前业界比较成熟的微服务框架有Netflix、Spring Cloud 和阿里的Dubbo 等,本平台采用SpringCloud微服务框架[7],Spring Cloud是基于SpringBoot的一套实现微服务的框架,它提供了开发微服务所需的组件,跟SpringBoot一起使用开发微服务框架的云服务会变得更方便。本系统的框架设计构思如表2 所示。
3.4 通信安全协议
网络通信可能会受到网络延迟和错误的影响以及安全性问题,从而导致系统的响应时间和可靠性下降。本平台引入两项关键技术:一是轻量级的通信协议REST,它不产生新的协议,更容易被接受,它让应用之间的协同工作更加便利;二是开放的授权协议Oauth。大型教务管理平台的跨平台、跨应用之间的数据通信十分频繁,数据之间频繁共享调用会导致数据安全的不稳定。数据通信的安全授权显得尤为重要,要确保共享数据的安全可靠,就要杜绝未经授权的数据被访问。针对跨平台的应用之间授权而设计的框架协议Oauth为用户资源的授权提供了一个安全的、开放而又简易的标准。
3.5 总体性能指标
平台的性能指标参数必须包含易扩展性、可靠性、安全性和易维护性[8]。
1) 易扩展性:包括服务器的运算和存储容量的扩展能力;网络设备的网络带宽、网络规模的扩展能力等,可以满足文件系统的日益增长、数据库访问调用、数据流处理等要求。
2) 可靠性:首先因各角色使用本平台的时间不确定的原因,本平台系统须确保连续不间断地正常工作,应用软件中的任何一个模块进行更新、加载时,不能影响业务运转和服务。其次该系统须具有容灾备份的功能,发生严重的软件或硬件障碍时,系统应具有快速恢复能力。
3) 安全性:一是随着国家网络安全的升级,本系统应提供严格的安全保密措施,以确保系统和数据资源的安全。特别是对用户数据更应严格保密,有条件的情况下要实行物理隔离,防止用户数据泄密、丢失和被非法修改;二是要采用角色分级管理,即不同的使用者具有不同的数据访问权限和操作权限,其次系统管理员可以对各使用者的权限进行配置。
4) 易维护性:软件方面,任何一个功能模块或组件都可以单独升级,并应该尽量实现“在线升级”,即不能影响当前用户的使用;硬件方面,能尽量支持“热操作”;拥有完整的维护手册,在运行过程中所发生的任何错误都应该有明确的错误编号,通过编号能在维护手册中查到相应错误处理方法与步骤。
本平台的各项性能指标规划如表3所示。
4 总结
对高校而言,信息化和数字化转型是为了更好适应学校的教学、服务和管理的要求,基于微服务架构的教学管理平台的建设,通过数字化技术实现从传统教育向智慧教育转变,围绕教、学、管、测、评、服等六个方面,打造安全稳定和高效可靠的创新型智慧教学环境,将学校各相关数据进行采集、汇聚、分析、服务,实现学校优质教学。
新时期应聚焦数字化改革,撬动学校教学制度的改革,构建高水平整体“智治”体系,打造集约高效、安全可靠的智能化教学服务平台,提升数字资源配置效率,为学校数字化改革提供支撑,助力推动学校智慧化治理。通过该平台的建设以期实现学校的教学环境与教学资源相融合,推动智慧教学、智能治理的持续创新。
参考文献:
[1] 官东亮. 基于微服务的业务平台架构重构[J]. 电信科学,2020,36(9):75-83.
[2] 姜海东,张栋栋,董艺.基于微服务的区块链云平台的研究与应用[J].电脑知识与技术,2020,16(35):50-53.
[3] 李杉杉,荣国平,高邱雅,等.一种优化的数据流驱动的微服务化拆分方法[J].软件学报,2021,32(5):1284-1301.
[4] 李忠民,齐占新.业务架构的微应用化与技术架构的微服务化:兼谈微服务架构的实施实践[J].科技创新与应用,2016(35):95-96.
[5] 宗佳颖,刘洋,刘海涛,等.面向6G的微服务化无线网架构研究[J].电子技术应用,2021,47(12):1-4,14.
[6] 苏文伟,保富.浅谈微服务架构的实施实践[J].计算机产品与流通,2018(10):89.
[7] 李祥,金安安.基于Spring Cloud微服务架构的开放实验室管理系统构建研究与实践[J].中国教育信息化,2021(1):55-59.
[8] 张亚东.基于运维监控业务的微服务架构设计模式研究与应用[D].杭州:杭州师范大学,2020.
【通联编辑:唐一东】
基金项目: 厦门软件职业技术学院2023 年度校级科研课题:基于微服务化技术的教学管理平台分析研究(项目编号:RYN2023003)