摘" 要:随着智慧校园建设的推进,高校实验室管理面临着诸多挑战。为了提高高校实验设备的利用率与教学实践的工作效率,设计并实现了一种基于微服务架构的高校实验室管理系统。该系统采用SpringCloud微服务架构技术,通过将实验室管理功能拆分成多个独立的微服务模块,实现了系统的灵活性、可扩展性和可维护性。实验结果表明,所设计的高校实验室管理系统在实现实验室资源的有效管理和利用方面具有良好的性能和可行性,为高校实验室设备管理的信息化、实验教学工作的智能化提供了解决方案。
关键词:微服务架构;SpringCloud;实验室管理系统
中图分类号:TP311" 文献标识码:A" 文章编号:2096-4706(2024)24-0077-05
Design and Implementation of University Laboratory Management System Based on Microservice
HU Jifang, NI Qian, MEI Jiaqi, LIU Song
(Jiangsu Vocational College of Agriculture and Forestry, Zhenjiang" 212400, China)
Abstract: With the advancement of smart campus construction, university laboratory management faces numerous challenges. In order to enhance the utilization rate of university laboratory equipment and the working efficiency of teaching practice, a university laboratory management system based on microservice architecture is designed and implemented. This system uses the Spring Cloud microservice architecture technology and achieves flexibility, scalability, and maintainability by breaking down laboratory management functions into multiple independent microservice modules. Experimental results indicate that the designed university laboratory management system has good performance and feasibility in realizing the effective management and utilization of laboratory resources, providing a solution for the informatization of university laboratory equipment management and the intelligence of experimental teaching work.
Keywords: microservice architecture; SpringCloud; laboratory management system
0" 引" 言
实验室管理的创新和发展是推动高校科研和教学工作的重要动力[1-2]。然而,部分高校实验室存在科研成果转化能力不足、实验室建设规划不合理等问题,影响了实验室的创新和发展。加强科研成果转化和科技服务能力建设,制定长远的实验室发展规划,推动实验室管理的创新和发展是实现高校高质量发展的必由之路[3-5]。因此,只有通过持续不断的改进和创新,才能进一步提升实验室管理水平,推动高校科研和教学事业的持续发展。此外,实验室作为高校科研和教学的重要场所,在大学教育体系中起着至关重要的作用,实验室管理的质量直接影响到科研成果的产出和教学效果的提升。
苏婉怡等采用Java技术栈构建了一个用户友好且功能强大的实验室管理平台,通过优化数据库设计,从而达到实验室资源的高效管理[6]。林圣峰等基于SpringBoot+Vue框架,将实验室信息管理、数据处理智能交互等融为一体,设计与实现了实用的B/S架构管理系统,为高校实验室管理系统提供了解决方案[7]。赵惠采用ADO方式实现系统与数据库之间的连接,提出了一种基于B/S模式的实验室管理系统设计方案[8]。尽管目前已有很多学者对实验室管理系统进行研究,但是与目前推行的数字化校园建设,及数字化场景教学还有一定的距离。因此,本设计采用主流SpringCloud微服务架构作为技术基础,根据不同业务将系统进行划分和封装,并形成独立的服务进行开发和部署,让服务解耦,提升服务的高可用和高并发能力。
1" 系统建设目标
1.1" 实验室的使用信息化
实验室的信息化管理,有助于各个部门登录系统查看当前实验室的使用情况和未来实验室的使用安排,实现全校实验室资源数据的纵向流通,实验室的合理分配,从而使实验室资源得到高效合理地利用,推动学校实践教学和科研工作有序开展。
1.2" 实验室的课程数字化
实验室的课程数字化管理,有利于教师及时地了解课上和课后学生的实验完成情况,充分的了解学生的知识掌握情况和学生的动手实践能力,从而优化实验室课堂教学的管理与利用,有效提升实验室的利用率。学生可以通过实验开放共享平台,预约自己感兴趣的实验课程,充分发挥学生的主观能动性和自主创新能力,实现实验室的使用的多元化。
1.3" 实验室的资源共享化
实验室的资源共享化管理,方便实验室工作人员摆脱人工的统计实验耗材采购和使用信息、实验仪器设备的租赁信息和实验设备维护等信息。共享化的实验室管理平台,为实验室工作人员提供了实时查看实验设备的租用情况、实验耗材的购买申请情况和仪器设备维修情况,极大地提高了实验室工作人员的工作效率。
2" 系统整体设计
2.1" 系统设计原则
系统设计原则主要有以下几点:
1)模块化设计。模块化对于实验室管理系统的设计至关重要,通过将整个系统分解成独立的、相互协作的模块,以实现系统的可维护性、可扩展性和可重用性。每个模块可以独立开发、测试和部署,同时具有清晰的接口和交互方式,使得系统更易于维护和扩展。通过模块化设计,高校实验室管理系统能够更好地适应不断变化的需求,为教学科研工作提供有效支持。
2)低耦合设计。低耦合设计可实现业务划分明确,接口相互隔离,每个模块接口定义清晰的,模块间通过接口进行通信和交互,而不是直接依赖于其他模块的内部实现,从而降低模块间的关联度,提高系统的灵活性,降低系统的风险和复杂性。
3)高内聚设计。高内聚的原则指在系统的模块划分和组织上,将具有相关功能和目标的代码集中到一个模块或组件中,以确保模块内部的各个元素紧密相关、功能一致,实现单一职责原则。将相似功能和逻辑封装到对应的模块中,提高代码的复用性和可维护性,从而有助于系统的高效管理和数据的稳定储存。
2.2" 系统关键技术
本系统服务端采用SpringCloud+Nacos+Docker整合框架实现,每个单独的服务采用SpringBoot框架进行开发,Nacos作为每个微服务的注册中心进行配置管理,前后端交互通过Nginx代理进行转发,Docker作为服务部署容器运行各类应用,通过微服务集群模式可有效地保证服务的高可用和高并发。系统关键技术主要有以下几点:
1)SpringCloud。SpringCloud是基于SpringBoot构建,提供了一系列解决微服务架构中常见问题的组件和工具的开源微服务框架,其组件包括Open Feign、Ribbon及Hystrix[9]。其中Open Feign是一个声明式的RestfulAPI接口,用于实现Web服务的客户端调用;Ribbon可以定义并实现服务器端负载均衡规则,通过动态的服务器端负载均衡策略,选择一个访问量相对少的服务进行调用;Hystrix可以将每个依赖服务的调用进行隔离,以防止某个依赖服务的问题影响整个系统。
2)Nacos配置中心。Nacos是Alibaba开源的一款微服务治理组件,可作为多实例集群化部署的注册配置管理中心,为微服务提供服务注册与服务发现、动态修改应用程序的配置信息等功能[10-11]。与Eureka和Zookeeper注册中心相比,Nacos提供了基于DNS的服务发现,及基于RPC的方式的访问,并且能够进行流量控制和实现负载均衡策略。使用Nacos作为注册中心,服务的提供者的注册信息可以通过心跳机制实时更新,并通过负载均衡策略提供给服务消费者,且服务间的相互调用,通过注册到Nacos的服务名称即可实现。
3)Docker容器。Docker容器是一种轻量级、可移植的虚拟化平台,为应用程序的开发、测试、部署和运维提供了一种高效、一致和灵活的解决方案。Docker容器允许将应用程序及其所有依赖项打包到一个标准化的单元中,启动速度快,占用资源少,并且每个容器都是相互隔离的,拥有自己的文件系统、进程空间和网络接口,这确保了应用程序之间不会互相干扰。
2.3" 系统架构设计
为了提升系统的高可靠性和高并发能力,满足业务的扩展,本系统采用微服务架构设计,系统整体架构如图1所示。微服务架构设计具有分布式存储、高性能、高可用、可伸缩、智能化部署等优势,在高并发场景下能够实现服务熔断、服务降级和服务限流,从而有效避免服务雪崩[12-13]。因此,将实验室管理系统拆分为系统功能管理、实验教学管理和仪器设备管理三个服务,每个服务单独开发和部署,服务与服务之间采用RPC方式调用,从而降低服务间的耦合,提供系统的可靠性。
3" 系统功能设计
3.1" 功能模块设计
基于当前实验室管理现状,通过研究和分析,将实验室管理系统分为系统管理模块、实验教学管理模块和仪器设备管理模块三大模块。其中,在系统管理模块中,主要涉及用户管理、角色管理和通知公告,通过以上几个功能模块,可实现对用户权限的管理,及实验教学和仪器使用等情况的通知下发;在实验教学管理模块中,包括了学生考勤管理、教学资源管理、教学计划管理和实验教室管理四个子模块;在仪器设备管理中,主要包括设备采购管理、
仪器使用管理、仪器设备管理和设备维修管理四个模块。系统功能模块图如图2所示。
3.2" 业务流程设计
本设计的实验室管理系统包括系统功能管理、实验教学管理和仪器设备管理三大模块,每个模块下又为多个二级子功能,以满足不同用户的需求,整个系统是相互依存,相互联系的,其运行由管理员维护,不同的模块、不同的角色的权限和功能也不尽相同。实验室管理平台涉及如下几个角色:实验室管理员、教师、学生。其中实验室管理员是负责系统的管理和运维系统,教师主要是通过该平台实现教学资料管理、课程安排、实验教学管理等,学生则是通过该平台更好地实现实验资源查询、实验指导资料获取、实验报告提交等。整改系统分为管理员工作流程、教师工作流程和学生工作流程,系统工作流程如图3所示。
4" 系统功能实现
4.1" 系统登录模块
登录功能是用户进入系统的入口,管理员、教师和学生访问系统需先注册,注册完成之后在登录页面输入用户名、密码和验证码。登录页面首先会判断输入的信息是否完整,针对输入不完整的信息不允许提交表单;如果用户仍然提交表单,前端页面控制器会禁止请求,并且会出现相应提示窗口;如果输入信息完整,则允许提交表单,并通过数据库接口与数据库进行联系,校验数据正确性,校验无误的信息方可登录系统。实验室管理系统登录界面控制核心代码如下:
function login() {
$.modal.loading($(\"#btnSubmit\").data(\"loading\"));
var username = $.common.trim($(\"input[name=
username]\").val());
var password = $.common.trim($(\"input[name=
password]\").val());
var validateCode = $(\"input[name=validateCode
]\").val();
var rememberMe = $(\"input[name=rememberme
]\").is(:checked);
$.ajax({
type: \"post\",
url: ctx + \"login\",
data: {
\"username\": username,
\"password\": password,
\"validateCode\": validateCode,
\"rememberMe\": rememberMe
},
success: function(r) {
if (r.code == web_status.SUCCESS) {
location.href = ctx + index;
} else {
$.modal.closeLoading();
$(.imgcode).click();
$(\".code\").val(\"\");
$.modal.msg(r.msg);
}
}
});
}
4.2" 系统角色管理模块
系统角色管理模块共包括超级管理员、系统管理员、普通管理员、教师和学生五个角色,以便于系统的使用和维护。其中超级管理员拥有整个系统所有操作权限,系统管理员则仅有系统功能管理模块的权限,普通管理员、教师和学生则根据实际需求赋予不同的操作权限。添加角色的同时会为该觉得添加相应的菜单权限,角色添加如图4所示。
4.3" 实验教学管理模块
实验教学管理模块主要涵盖了学生考勤管理、教学计划管理、教学资源管理、实验教室管理,是实验教学流程的核心管理模块。其教学资源管理主要功能是协助教师进行数字化教学资源管理,课前教师可以将下一节课学习的实验内容提前下发给学生预习;课上教师可以将课题作业通过系统下发给学生;课后教师可以把课后作业通过系统下发给学生。所有的教学资源材料都由系统管理和保存,方便教学资源管理。教学资源添加功能如图5所示。
4.4" 仪器设备管理模块
仪器设备管理模块,是管理实验室中仪器设备的关键模块,包括设备采购、仪器设备管理、设备维修使用损耗以及仪器耗材使用功能,实验室管理人员可以通过系统实时查看仪器设备的采购、使用、报修等情况。
5" 结" 论
随着智慧校园建设的推进,从实验教学和实验设备管理角度考量,提出了基于微服务的实验室管理系统的设计,采用主流SpringCloud微服务架构实现了系统功能管理、实验教学管理和仪器设备管理的业务拆分和开发。在系统功能管理模块中,从用户角度出发,提供了不同角色设置不同菜单权限的管理;在实验教学管理模块中,为教师进行实验教学考勤管理、实验室预约使用、教学资源管理和教学计划管理提供了极大帮助;在仪器设备管理模块中,为实验室管理人员提供了实时查看仪器设备的采购、使用、报修等情况,方便了实验室管理人员对实验室的日常维护。实验结果表明,本系统能够满足高校实验室管理的实际需求,所划分的各个模块能实现对学校实验室进行科学、有效的管理。
参考文献:
[1] 吴祝武,白向玉,袁玲,等.教育新基建背景下实验室信息平台建设与应用 [J].实验室研究与探索,2022,41(10):287-290.
[2] 单以才,骆德云,武凯,等.“双高”背景下的高职院校专业实验室集群建设 [J].实验室研究与探索,2020,39(3):224-228.
[3] 夏春琴,刘芫健.基于信息化平台建设的高校实验室管理系统 [J].实验室研究与探索,2020,39(11):246-249+284.
[4] 杨海明,张文豪.基于JavaWeb的SSH高校实验室设备管理系统设计 [J].现代信息科技,2024,8(21):67-72.
[5] 杨邻睿,郑博,武晓峰.一种智能实验室管理系统的设计与实现 [J].电子制作,2024,32(19):19-23.
[6] 苏婉怡,揣小龙,刘美瑜,等.基于Java技术的实验室管理系统设计与实现 [J].无线互联科技,2023,20(23):58-60.
[7] 林圣峰,姚锦江,林涛,等.基于SpringBoot的高校实验室管理系统设计 [J].无线互联科技,2023,20(18):80-82.
[8] 赵惠.基于B/S模式的实验室管理系统设计和实现 [J].中国新通信,2023,25(21):72-74.
[9] 谢颐,胡黎.基于SpringCloud框架微服务架构的融合媒体云平台设计 [J].软件,2024,45(1):134-136+173.
[10] 李静.面向多租户的微服务架构电商交易平台的设计与实现 [D].沈阳:沈阳工业大学,2024.
[11] 潘一宁.基于云平台的高可靠微服务系统设计与实现 [D].成都:电子科技大学,2023.
[12] 陆生强.市级国土空间基础信息平台关键技术研究 [J].国土资源信息化,2020(3):28-32.
[13] 余雨,杨洁,包永强.基于微服务的软件信道仿真器架构设计与实现 [J].南京工程学院学报:自然科学版,2023,21(2):16-22.
作者简介:胡继方(2004.02—),男,汉族,江苏徐州人,研究方向:互联网软件应用技术;倪倩(2003.11—),女,汉族,江苏扬州人,研究方向:互联网软件应用技术;梅佳琪(1993.01—),女,汉族,湖北武汉人,博士,研究方向:农业工程;通信作者:刘松(1990.04—),男,汉族,江苏徐州人,讲师,硕士,研究方向:计算机应用技术、农业人工智能。