Sci论文 - 至繁归于至简,Sci论文网。 设为首页|加入收藏
当前位置:首页 > 计算机论文 > 正文

基于MinIO存储的综合实践管理平台开发论文

发布时间:2023-01-30 10:02:58 文章来源:SCI论文网 我要评论














SCI论文(www.lunwensci.com):
 
  摘要:针对当前高职院校的综合实践管理成本高、效率低,且缺少过程监控、量化考核、资料收集不及时等问题,设计并实现一款基于MinIO对象存储的综合实践智能管理平台。平台以开源的MinIO分布式存储系统和MySQL数据库作为数据的存储载体,利用SpringBoot+Vue前后端分离技术,实现用户管理、实习管理、毕业设计管理、资料管理、成绩管理、消息管理及统计分析等功能。经测试,该平台运行稳定,不但解决了综合实践管理难的问题,也提高了管理效率。
 
  关键词:综合实践;MinIO服务;前后端分离;管理效率
 
  Development of a Comprehensive Practice Management Platform Based on MinIO Object Storage
 
  ZHAO Jingjing,JIN Huifeng,LI Xiao
 
  (College of Artificial Intelligence,Zhejiang Industry&Trade Vocational College,Wenzhou Zhejiang 325002)
 
  【Abstract】:Aiming at the high cost and low efficiency of comprehensive practice management in current vocational colleges,and the lack of process monitoring,quantitative assessment,and untimely data collection,a comprehensive practice intelligent management platform based on MinIO object storage is designed and implemented.The platform uses open source MinIO distributed storage system and MySQL database as data storage carrier,and uses SpringBoot+Vue frontend-backend separation technology to realize user management,internship management,graduation design management,data management,score management,message management and statistical analysis.After testing,the platform runs stably,which not only solves the difficult problem of comprehensive practice management,but also improves management efficiency.
 
  【Key words】:comprehensive practice;MinIO service;frontend-backend separation;management efficiency
 
  0引言
 
  随着信息技术发展与智慧校园信息化不断建设,各高校对信息化管理提出了更高的要求,综合实践作为高职院校专业教育的重要组成部分,其实习形式、管理内容、管理流程及考核方式等都发生了较大变化[1,2]。传统的实践管理系统主要存在两方面问题:(1)功能不全,缺乏过程管理与监督,例如对实习形式、实习地点的变化更新不及时,对实习材料收集不及时,对实习效果研判不准确,对实习状态统计不智能等。(2)系统使用技术比较传统,不支持手机、平版等移动终端,功能可扩展性差,同时对非结构化数据管理不科学,更无法接入智慧校园平台以达到智慧校园信息化建设要求。

\
 
  本文提出了一种基于MinIO对象存储的综合实践管理平台,平台使用目前较流行的SpringBoot+Vue框架搭建,结合某高职院校的综合实践设置(综合实践包含顶岗实习和毕业设计,其中顶岗实习包含中期实习和毕业实习两个阶段)进行开发,增加实习地点管理、综合评价管理、消息管理及统计分析等功能。系统根据实践业务进行模块划分,每个模块提供独立的过程监督管理系统,通过搭建MinIO集群为平台提供对象存储服务,为实习中各种材料的收集与查阅提供统一存储管理,全面提升综合实践的管理效能,同时也为智慧校园建设过程中教师教学资源管理系统、科研管理系统等文件资源对象的存储问题提供解决方案。
 
  1系统概述
 
  1.1关键技术介绍
 
  1.1.1 MinIO对象存储
 
  MinIO是一款基于Apache Licensev2.0的高性能、分布式开源的项目,提供对象存储服务,与文件存储相比[3,4],扁平化管理更加灵活;与Ceph对象服务相比较[5],学习成本低,安装运维简单。MinIO提供了Kubernetes、Docker等容器化技术深度集成方案,能够简单地实现具有弹性伸缩能力的原生对象存储服务[6]。对于有对象存储需求且不使用阿里云OSS、腾讯云COS和百度云BOS等[7]云厂商提供的对象存储服务的企业或用户来讲,自己搭建MinIO对象存储服务是不错的选择。
 
  1.1.2前后端分离模式
 
  前后端分离模式与传统的MVC(Model-View-Controller)模式相比,不再将Jstl标签内嵌在HTML页面,通过Controller控制器将Model模型交给View视图进行展示,而是将前端从前后端混合的模式中分离出来,使用MVVM(Model-View-ViewMode)模式进行开发。前端通过MVVM模式实现对数据的双向绑定,即Model和View之间不再直接联系,利用ViewModel将两者关联起来,View的变化会自动更新到ViewModel,而View-Model的变化也会自动同步到View上显示[8]。后端负责业务处理并按照约定的数据格式提供可调用的API服务,前端HTML页面通过HTTP协议向后端发送请求,获取到数据后进行页面的组装和渲染,完成与用户的交互。前后端分离模式可以将前端和后端有效的解耦,方便后期项目维护。
 
  1.2系统介绍
 
  综合实践管理平台主要解决某高职院校在校生实习实践的高效管理问题,通过学校、企业双方对学生实习过程的管理与监控,达到真正的实习效果。参考教育部对高职院校实习要求并结合某高职院校实践设置的实际情况,确定综合实践管理平台主要提供基本功能、综合实践管理、消息管理和统计分析四个功能模块。系统功能结构如图1所示。(1)系统基本功能。包括登陆验证功能、个人信息管理功能、用户管理功能、角色管理功能、用户权限分配功能和系统菜单管理功能等。根据管理员、班主任、指导老师与学生4种角色,设置不同权限,系统根据角色显示菜单列表。(2)综合实践管理。
 
  提供中期实习、毕业实习、毕业设计等3个阶段的实习过程管理与监督功能,每阶段实践过程独立运行。毕业设计功能提供毕业设计课题选择功能,由指导老师发布课题,学生进行选择、确认,也可由学生发起课题申请,指导老师确认,课题确认后一般不做修改,如修改则毕业设计管理内容也会相应发生变化,比如需要重新上传任务书、开题报告等资源。(3)消息管理。主要用于管理员或指导老师等发布一些政策、任务安排等通知通告,也用于系统消息提醒,比如提醒学生毕业设计课题、实践周记等状态发生的变化。(4)统计分析。主要统计分析学生实习期间任务完成情况以及实习的类别、人数、阶段、地区、岗位等信息,可从学校、分院、专业等角度分类统计,也可根据地域、岗位信息进行多维度统计。

\
 
 
  2系统总体设计
 
  2.1系统架构设计
 
  综合实践管理平台的系统架构自底部向上依次为数据存储、后端和前端,系统采用SpringBoot+Vue前后端分离技术方案,后端借助SpringBoot+Mybaits为前端提供服务,前端使用MVVM模式的Vue实现双向数据绑定,借助ElementUI和Echarts完成页面设计和数据可视化。系统架构及使用的技术如图2所示。

\
 
  (1)数据存储。描述了平台在实现过程中涉及到的数据类型、内容及存储方式,主要用于保存各功能模块的相关数据,包括用户信息数据、实习过程产生的数据、系统日志、对象索引、缓存数据等。数据存储层要满足并支持多数据源及类型,其中持久化的关系型业务数据使用MySQL管理,临时非结构化数据(验证码、业务缓存等)使用Redis管理,而文件等对象数据则使用MinIO系统提供的对象服务进行管理。
 
  (2)后端服务,即Web服务。使用SpringBoot快速搭建配置项目,为前端提供接口服务,主要负责数据的处理和业务逻辑处理,并提供各模块功能业务支持。后端主要包括控制层(Controller层)、业务逻辑层(Service层)和持久层(Mapper层)三个层。控制层接收前端传过来的数据,并注入Service层进行逻辑业务处理,为前端提供RESTful API接口。业务逻辑层,接收Controller层传过来的数据,处理用户访问逻辑,调用MinIO SDK接口完成对象数据的管理,同时完成各个模块之间的信息处理。持久层使用Druid数据源提高数据库访问效率,利用Redis作为二级缓存,提高查询速度。

\
 
  (3)前端服务。主要通过电脑、手机、平板等各类终端进行用户交互与数据通信。使用Vue-cli3脚手架工具自动构建前端项目环境和结构,采用SPA单页面模式开发,通过ElementUI和ECharts组件快速完成界面布局,利用Vue-Router进行路由切换,使用VueX对存储项目交互和重用的数据进行统一状态管理,采用ES6的Promise封装的Axios进行HTTP协议交互,调用后端RESTfulAPI接口完成POST、GET、PUT和DELETE等方式的数据通信,通信过程统一使用JSON数据。
 
  2.2系统存储方案设计
 
  目前每学期实践学生在10000人次左右,管理过程中会产生大量的相关数据,数据主要包含两类,一类是用户信息、角色权限信息、实习相关的各种记录数据等系统业务的结构化基础数据,这类数据是数字、字符或日期等基本类型数据,且在逻辑上存在一定的关联关系;另一类是任务书、开题报告、论文、作品等非结构化文件对象数据,这类数据往往数据量比较大、结构比较复杂。针对以上情况,本文提供MySQL+MinIO+Reids的存储方案,如图3所示。

\
 
  MySQL数据库用于存储传统业务基础数据,为保证数据的一致性与安全性使用带事务处理的InnoDB引擎,利用字段的主键、外键等约束建立各表之间的关联,对象数据存储于MinIO服务器,其Key值作为表字段存储于MySQL数据库中,毕业设计作品表的设计与记录如图4和图5所示。对查询频繁的结构化数据,使用Redis作为缓存数据库以提升查询速度。

\
\
 
 
  3系统主要功能实现
 
  根据系统业务分析和系统总体设计,综合实践管理平台在开发实现过程中采用服务端与前端同时进行的多人协作并行模式开发[9]。通过部署MinIO服务为平台提供对象存储服务,前后端数据交互采用JSON格式进行处理,后端使用Tomcat作为Web服务器,封装统一响应格式的ResponseResult类,并为前端提供RESTful API接口。
 
  3.1对象服务功能实现
 
  MinIO服务为实践管理平台的文件上传、下载、查询和删除等功能提供支撑,搭建时采用去中心化无共享架构的多主机多硬盘模式进行分布式部署,以方便后期有效扩容。前端和后端根据不同业务需求可分别与MinIO服务进行通信,后端主要封装文件对象的上传、下载等功能,通过接收前端发过来Request的请求,再将请求数据交由文件服务进行处理,文件服务通过与MinIO服务通信完成文件对象的管理,并将响应结果返回给前端。前端主要访问静态资源,根据URL直接向MinIO服务发送请求,对象存储系统的访问处理如图6所示。

\
 
  MinIOJava SDK使用Amazon S3协议访问MinIO服务器,因此后端实现对象管理服务时,需要将MinIO整合到SpirngBoot中,首先在Maven中添加MinIO、OkHttp和Web3j等3个相关依赖包,再将MinIO服务的对象操作进行封装,提供文件服务。在实现时,连接MinIO服务器的相关配置属性值存放于YAML文件中,使用ConfigurationProperties(prefix="minio")自动配置的方式将MinIO Config Properties属性自动注入,文件对象上传操作的核心代码如下。
 
  public String uploadFile(String prefix,Stringfilename,InputStream inputStream){
 
  //文件名处理
 
  String filePath=builderFilePath(prefix,filename);
 
  try{
 
  //上传参数设置
 
  PutObjectArgs putObjectArgs=PutObjectArgs
 
  .builder().object(filePath)
 
  .bucket(minIOConfigProperties.getBucket())
 
  .stream(inputStream,inputStream.available(),-1).build();
 
  //通过minio客户端上传
 
  minioClient.putObject(putObjectArgs);
 
  //访问地址url处理
 
  StringBuilder urlPath=newStringBuilder(min IOConfigProperties.getReadPath());
 
  urlPath.append(separator+minIOConfigPrope rties.getBucket());
 
  urlPath.append(separator);
 
  urlPath.append(filePath);
 
  return urlPath.toString();
 
  }catch(Exception ex){
 
  log.error("minio putfile error.",ex);
 
  throw new RuntimeException("上传文件失败");
 
  }
 
  }
 
  用户在使用管理平台过程中,会因重复上传等操作使MinIO系统中存在大量的垃圾文件,占用大量的存储空间,使用Quartz定时任务借助Redis缓存技术及时清理垃圾文件,避免造成资源浪费。
 
  3.2核心功能模块实现
 
  3.2.1系统基本功能模块实现
 
  系统基本功能具有常规系统的用户管理模块、角色权限管理模块、日志管理模块等,重写SpringBoot Security框架的Filter实现动态角色和权限的配置功能,权限列表存储于MySQL数据库中,利用JWT完成Token验证,其他应用模块接入统一认证系统,根据是否有Token令牌判断登录状态。系统菜单根据用户的权限列表动态加载,使用Vue路由配置完成分层管理。
 
  3.2.2综合实践管理模块实现
 
  本模块包含中期实习、毕业实习和毕业设计三个应用系统,后端为每个管理内容提供相对应的服务且用户操作界面风格保持一致,根据用户、角色、权限、状态等之间的关联关系,为用户提供可使用的功能,主要功能有实习方案、实习大纲、实习单位、任务书、周记、交流记录、提问与作业、实地考查、实习总结、成绩管理、签约单位等。过程管理中通过调用文件对象存储服务,实现任务书、作品等文件对象的上传与下载等功能。中期实习过程管理如图7所示。

\
 
 
  3.2.3统计分析模块实现
 
  统计分析主要包括综合实践过程中学生任务完成度和实习就业基本情况两部分的统计与分析,不同的角色拥有不同的查看权限。功能实现时将需要的基本数据封装成实体类,根据用户选择的年份、专业、地域等关键字信息进行数据筛选统计,再使用ECharts组件完成数据的直观、生动的可视化展示,为用户的过程管理及学生就业趋势等提供参考价值,毕业实习基本情况统计
 
\
  如图8所示。
 
  4结语
 
  基于MinIO对象存储的综合实践智能管理平台,实现了综合实践管理的信息化,使用SpringBoot+Vue前后端分离技术架构,将各类实习进行模块化处理并增加过程管理与监控功能,利用统计模块的智能化分析,及时掌握学生的动态变化,为综合实践的质量提供了保障。通过部署分布式MinIO集群,为平台操作过程中产生的海量实习资料、日志等数据提供对象存储服务,采用MySQL关系数据库与MinIO对象存储相结合的方式,以提高数据存储与管理性能。本项目解决了综合实践信息化管理难、管理效率低的问题,同时也为智慧校园建设中海量数据管理提供了一定的参考价值。
 
  参考文献
 
  [1]商坤.高职院校顶岗实习信息化管理体系研究[J].大众标准化,2021(2):223-224.
 
  [2]潘书才,魏建军,徐小明.产教融合视域下高职院校顶岗实习管理创新研究[J].常州信息职业技术学院学报,2022,21(2):5-8.

       [3]张兴斌.一种基于HDFS的高性能文件存储与管理系统[D].广州:广东工业大学,2020.
 
  [4]胡豆豆,罗飞,张园.对象存储系统的自动化管理技术[J].电信科学,2017,33(11):154-161.
 
  [5]苏进.基于Ceph的对象存储服务系统的研究与实现[D].南京:东南大学,2017.
 
  [6]李兵,王连忠,司运成.MinIO存储在监拍系统中的应用设计[J].工业控制计算机,2020,33(9):79-80+82.
 
  [7]马泽.对象存储服务对空间非结构化数据存储的探讨—以阿里云OSS为例[J].江西科学,2018,36(2):347-352.
 
  [8]喻莹莹,李新,陈远平.前后端分离的终端自适应动态表单设计[J].计算机系统应用,2018,27(4):70–75.
 
  [9]徐小辉,刘江涛,高涵,等.基于SpringBoot+Vue框架的采气方案系统开发[J].计算机仿真,2021,38(6):248-250+382.
 
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!

文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/50465.html

发表评论

Sci论文网 - Sci论文发表 - Sci论文修改润色 - Sci论文期刊 - Sci论文代发
Copyright © Sci论文网 版权所有 | SCI论文网手机版 | 鄂ICP备2022005580号-2 | 网站地图xml | 百度地图xml