APP下载

基于微服务架构的移动教学平台设计研究
——以《计算机应用基础》课程为例

2023-08-28郝佳晶

山西电子技术 2023年4期
关键词:计算机应用基础架构教学资源

郝佳晶

(山西职业技术学院,山西 太原030006)

0 引言

随着计算机技术的广泛应用,计算机基础应用成为高职院校学生和社会在职人员所必须掌握的一项公共专业技能,《计算机应用基础》课程不仅只在计算机专业开设,还需要面向其他专业学生、社会用户提供相关方面的教学服务。迅速扩大的学习群体、多元化的用户需求,《计算机应用基础》传统的课堂教学模式已经很难满足,因此本研究提出了基于《计算机应用基础》课程的线上移动教学平台解决方案,借助网络技术与移动通讯技术构建更为灵活的教学模式,为用户提供丰富的学习共享资源,满足用户随时随地的学习需求。

1 移动教学平台的关键技术

1.1 微服务架构

微服务架构是基于微服务的一种系统解决方案,而微服务是指能够协同工作的、功能明确且自治的“小”服务[1]。这些服务能够独立开发、迭代和模块化部署,服务与服务之间可以采用统一的数据格式进行通信,大大降低了系统开发难度,简化了代码量。

微服务架构所具有的优势主要有以下几个方面:

1) 服务的异构性,微服务架构提供了统一化、标准化数据通信格式和服务调度机制,因此微服务的开发只需考虑业务需求本身,无需被开发技术、开发语言、开发框架所局限,微服务对于底层服务的异构性实现很好的屏蔽。

2) 系统的容错性,微服务框架将服务以组件方式接入到服务系统当中,服务与服务之间具有明确的服务边界,单个服务实例的错误不会导致系统其他功能的正常运行,大大提高了系统的容错性。

3) 易于扩展和部署,紧耦合方式开发的系统,在功能扩展和系统部署时,代码改动量会非常大,而且每次都需要对整个系统进行打包和部署。微服务架构则只需要以模块的形式对所涉及的服务进行代码修改或部署即可,既不会影响整个系统的结构设计,也无需对整个系统进行部署。

1.2 移动WEB开发

移动WEB开发是指基于移动端的WEB服务开发,所涉及的核心技术有HTML5、Jquery、SpringBoot等。

1) HTML5是WEB开发最为核心的语言标准之一,HTML5提供了前端页面的各类元素显示与设备交互的规范,并新增了智能表单、绘图画布、多线程处理等功能,能够适配各种显示终端,包括移动端和PC端。

2) Jquery框架是以JavaScript语言为核心、集合了CSS动态样式的封装框架,集合了JavaScript语言的执行高效、封装性高、体量小等技术优势,主要用于系统前端HTML页面的动画效果实现和逻辑事务的动态控制。采用Jquery框架可以快速实现页面样式的统一化风格设计,也可以进行前端页面访问的安全验证。

3) SpringBoot框架是基于JAVA核心语言库所构建的轻量级企业软件开发框架,适用于微服务组件的划分和重组[2]。其核心容器采用BeanFactory代码框架,将代码开发与框架配置实现了解耦,通过Spring上下文完成框架配置的文件构建,最后通过Spring所构建的多个抽象层分别实现微服务模块的逻辑隔离、数据库交互异常处理等功能。

2 移动教学平台需求分析

移动教学平台旨在实现《计算机应用基础》课程线上教学资源的共享和在线教学活动的开展,主要面向的用户包括教师、学生、社会在职人员,以及系统管理员[3]。

面向教师用户,移动教学平台需要具备教学资源管理、教学活动管理和学生信息统计等功能。其中教学资源管理主要是指对教学资源的上传、下载、编辑、修改、删除等操作功能,教师用户可以通过该功能模块针对自己上传的教学资源进行管理,并对资源的浏览量数据进行统计、查看;教学活动管理包括学员分组管理、主题交流管理、指定教学资源的分享对象管理等功能,教师通过该模块可以实现与学员的在线主题交流、在线资源分享;学生信息统计功能可以协助教师用户对所属自己任课班级的学生进行相关信息的统计,包括学生在线学习时长、资源浏览次数、平台活跃度等。

面向学生和社会在职人员两类用户,移动教学平台需要提供可匿名访问的共享资源和通过身份验证的权限内共享资源两种服务模式。其中无限制的资源共享包括各类教学相关的资讯、公告和通识基础类教学内容等,身份验证后可共享的资源是指教师发布资源时有指定受众范围的,包括面向教师授课班级、社会培训班级范围内发布的课程资源、交流主题、作业、课外拓展等资源。

系统管理员则主要负责维护系统后台,包括所有的用户数据和教学资源。

3 移动教学平台的架构设计与功能设计

3.1 平台架构

移动教学平台的架构设计采用B/S架构,前端浏览器包括PC端的数据管理系统与移动端的教学服务系统两大模块,后端服务器包括WEB服务端与其他异构服务器两部分。如图1所示。

图1 移动教学平台的架构设计

前端浏览器的PC端数据管理系统主要服务于系统管理员,系统管理员通过浏览器页面可以进行系统数据的增、删、改、查,以及系统基本参数设置、日志管理、数据备份等操作。而移动端的教学服务系统主要面向应用用户,提供各类教学资源的服务和交互功能。

后端服务器以WEB服务器为核心,设计了分层式微服务架构,包括微服务治理层、微服务通信层和微服务提供层。通过层次式微服务可以实现底层异构服务的接入和共享,如各类关系型数据库的接入、存储服务和计算服务的接入等。

其中微服务治理层主要用于接收与响应来自客户端的微服务请求事件,首先用户提交的服务请求会通过API网关设置WEB接口进行接收,然后通过熔断服务对请求中所需的微服务进行状态查询,以判断该服务是否可用,如可用,则通过中间层微服务通信层进行调用。为了确保系统的安全可靠,治理层还提供了访问限流机制,当用户并发数超过了设定阈值,就会出发限流机制对系统进行保护。

微服务通信层用于规划各个微服务之间的通信机制和调用方式。考虑到微服务之间还存在互相调用的情况,因此通信格式需标准化、统一化,以便于服务的接入和扩展。该层的通信机制设计主要采用异步方式,消息发送后即继续处理其他事务,当有数据返回时,再切换到消息接收角色,进行数据处理;通信格式主要是JSON数据封装格式,JSON数据包通过序列化字符串标记数据对象,大大减少了数据长度,以提高数据传输度,是一种轻量级的数据传输格式,且内置有多种函数用于实现不同数据格式的解析和封装。

微服务提供层用于实现对微服务的管理与调度,具体包括用户管理服务、消息管理服务、应用服务等。用户管理服务包括对用户身份的合法性验证、用户信息管理等功能;消息管理服务包括系统消息、用户消息的发布、编辑、管理等功能;应用服务包括存储空间管理、数据计算等服务。微服务调度机制的设计分为3个步骤:1)对接入底层的微服务进行实例注册,注册后微服务实例才允许被调度;2)为微服务分配端口,API网关通过查询服务注册表获取需调用的微服务的接口;3)根据预先设置的调度策略从注册列表选择合适的微服务实例进行调用。

后端异构服务用于实现具体的微服务接入,针对系统的具体功能需求,接入所需微服务,当微服务接入到平台后端,就会向微服务提供层提交注册请求,完成信息注册,每个微服务都可以共享微服务提供层的注册列表,以便于微服务之间的互相调用。

3.2 平台功能

移动教学平台功能设计主要包括4个模块:微课视频、教学咨询、交流互动、系统设置,如图2所示。

图2 移动教学平台的功能设计

微课视频模块提供了《计算机应用基础》课程中的3个模块的视频学习资源,并能够记录用户的相关学习数据,包括学习时长、视频浏览个数、收藏数、点赞数等,便于用户对个人的学习情况进行查询。

教学咨询模块面向用户提供了课程学习以外的相关服务功能,包括课外资源共享、教学通知查询、学习积分查询3个子功能模块。课外资源共享主要是提供了课程学习所需的电子文档资源,用户可以在线浏览相关资源,但不能下载;教学通知查询是为了便于用户查询课程的各类教学安排,以便用户及时跟进学习进度;学习积分查询可供用户查询个人的学习积分,并按照视频学习情况、习题练习情况等细项分别统计用户的学习情况。

交流互动模块为用户提供了线上交流功能,用户通过该模块可以在线发布意见反馈、参与调查问卷、发布个人的学习作品、进行习题练习等。

4 结论

为了满足各类社会群体对《计算机应用基础》课程的学习需求,同时考虑到用户涉及面广、数量多、需求复杂等问题,本研究尝试设计与实现了一个基于微服务架构的移动教学平台,以实现移动端线上教学资源的共享与管理,以便于用户随时随地进行课程学习。采用微服务架构大大提高了系统的功能可扩展性与易维护性,有利于平台资源的长期共享。

猜你喜欢

计算机应用基础架构教学资源
基于FPGA的RNN硬件加速架构
功能架构在电子电气架构开发中的应用和实践
LSN DCI EVPN VxLAN组网架构研究及实现
《计算机应用基础》微课设计与制作实践
中职学校会计专业《计算机应用基础》课程教学改革探讨
任务驱动和专题式相结合教学法在计算机应用基础课程中的应用
初中语文数字化教学资源应用探索
一种基于FPGA+ARM架构的μPMU实现
初探教学资源开发的系统思维
临床实验教学中教学资源的整合优化与应用