当前位置:首页 期刊杂志

基于uni-app框架的机房运维管理系统设计与实现

时间:2024-07-28

马青松,熊新国,刘拥军

(河南职业技术学院电子与物联网学院 河南 郑州 450000)

0 引言

随着信息技术的发展,各类机房设备和系统不断增加,采用客户端软件或浏览器查看机房设备运行状态,机房运维管理部门不能及时获取机房资源和报警信息[1]。移动应用的普及,也为机房运维系统注入新的活力。机房运维移动应用的种类也从原生APP 应用逐渐向Android、IOS、微信小程序、H5 等多种类型全面发展。众所周知,原生方式开发应用需要不同的生产环境和不同的语言进行开发,如Android APP 需要采用Android Studio 开发工具,编程需要采用Java 或Kotlin 语言,IOS APP 需要采用Xcode、iPhone Simulator 开发工具,编程语言采用Object-C 或Swift 开发语言[2]。原生开发因为测试和应用环境的不同,存在适配难、开发成本高、效率低、用户体验差,跨平台应用开发一次开发,多端运行,开发一款机房运维的跨平台移动应用程序对机房运维的信息化建设具有非常重要的意义。

基于以上背景,本系统以uni-app 和Spring boot 为核心框架,采用HTML5、CSS3、JavaScript、Java 语言和MySQL 数据库,实现一种机房运维系统,系统可以查看机房资源、异常、报表和消息通知等。该系统能较大程度上简化用户操作,提高机房管理人员的工作效率,达到实时查看机房资源信息、异常等信息的目的。

1 系统架构

系统采用前后端分离模式。系统前端通过HBuilderX进行开发、调试和发布,架构方案采用MVVM 设计模式,符合Vue 规范的uni-app 跨平台应用框架[3]。系统后端通过IntelliJ IDEA 进行开发和调试,架构方案采用MVC 设计模式,使用Java 语言的Spring Boot 框架。后端为前端提供API 接口,客户端可以用Android APP、IOS APP和各类小程序请求数据。通过远程连接阿里云CentOS 服务器部署Web 服务器和MySQL 的数据库服务器。系统框架结构如图1所示。

图1 系统框架结构

1.1 跨平台移动APP

与传统原生开发相比,跨平台移动APP 采用单个代码库在不同平台上运行的方式,不需要为每个平台单独开发独立APP。软件开发人员将单一代码库翻译成多种编程语言,最大限度的重用代码可以减少系统部署和维护成本,缩短开发时间和节省资源[2]。由于采用单一代码库,跨平台移动开发APP 拥有统一外观,可确保多个平台APP 的外观一致,用户体验好。与原生开发类似,跨平台移动APP也支持丰富多彩的插件,借助第三方插件可以大大简化开发过程。

目前,跨平台移动应用开发主流解决方案主要有自绘UI 和JavaScrpit 衔接的混合式开发技术。采用自绘UI 的混合式开发技术的主要代表为Google 推出的开源UI 工具包Flutter,Flutter 拥有丰富的组件、接口,但由于其基于Dart 语言开发和与原生协作问题,针对IOS和Android 平台,Flutter 需要开发两套UI 代码,增加了技术实现难度[4]。JavaScript 衔接的混合式开发技术主要有React Native 和uni-app 等。React Native 是Facebook 开源JavaScript 框架React 在原生移动应用平台的产品,React Native 虽然支持IOS 和Android 平台,但需要两套UI 代码,并且在开发过程中要与原生协作,也面临技术难度大、实现成本高的问题[5]。

1.2 uni-app 框架

uni-app 是DCloud 团队采用Vue.js 开发的国产跨平台移动应用框架,支持发布到IOS、Android、H5 以及微信小程序、百度小程序、头条小程序、支付宝小程序等多个平台,跨平台能力极强[6]。与Flutter 和React Native相比,uni-app 只需要编写一套代码就可以发布到多个平台。软件开发人员只需要学习Vue,开发过程不用与原生协作,学习成本和难度是最低的[7]。uni-app 的社区活跃度高,具有组件丰富、生态繁荣、体验好、平台能力不受限、速度快、支持原生渲染、支持原生代码混写和原生软件开发工具包等优势[8]。uni-app实现了“一套代码、多端发行”,有效降低开发和维护成本。

1.3 Spring Boot

Spring Boot 是Pivotal 团队在Spring 的基础上研发的一套全新的开源框架,其设计目的是用来简化应用的搭建和开发过程[9]。与Spring 应用相比,由于Spring Boot框架去除大量的XML 配置文件和高集成第三方库配置,大部分的Spring Boot 应用只需要少量的配置代码,大大简化了依赖管理,因此可以使开发者更加专注于业务逻辑,淡化配置代码,深受软件开发人员喜爱,是目前后端开发的主流技术[10]。

1.4 MySQL 数据库

MySQL 是由瑞典MySQL AB 公司开发的关系型数据库管理系统,目前属于Oracle 旗下产品。MySQL 具有体积小、速度快、成本低、跨平台、兼容性好、开放源码等特点。MySQL 数据库目前是互联网、社交系统、各类应用软件等系统的常见技术选择。MySQL 数据库是与Java、Python、PHP 等主流编程语言紧密结合的数据库系统[11]。

2 系统设计

2.1 软件功能设计

基于uni-app 的机房运维管理系统的总体功能设计如表1所示。包括总览模块、资源模块、异常模块、报表模块、消息模块和个人信息模块。

表1 系统总体功能

2.1.1 总览模块

总览模块包括系统概览、异常总览和路由切换功能。用户身份认证及授权成功后,默认展示总览模块,系统概览功能采用柱状图展示网络设备、服务器、硬件资源、软件资源、机房设备正常和异常数量;异常总览功能采用饼图展示灾难、严重、一般、警告、信息各级别异常的数量和比例;路由切换功能可以切换至资源、异常、报表和消息模块。

2.1.2 资源模块

资源模块包括资源列表页面和资源详情页面。资源模块列表页面、异常模块列表页面、报表模块列表页面、消息模块列表页面均默认展示20 条资源信息,用户通过上拉操作进行数据刷新,下拉操作进行数据分页加载。资源模块列表页默认展示资源序号、资源名称、资源健康度,健康度采用灰、红、黄、绿四色分级方式;资源类型有网络设备、交换机、路由器、防火墙、软件资源、数据库、中间件、云服务器等,输入关键字和资源类型模糊查询。通过点击某条资源信息,进入到资源详情页面。资源详情包括资源信息、资源指标、CPU、内存、磁盘、接口、关键端口和关键进程功能。资源信息展示资源名称、管理IP 等信息,资源指标展示资源名称和取值结果。

2.1.3 异常模块

异常模块包括异常列表页面和异常详情页面。异常列表页面默认展示异常指标和异常级别,异常级别采用红、橙、黄三色分级方式;采用输入关键字和选择异常时间段模糊查询异常列表。通过点击某条异常信息,进入到异常详情页面。异常详情页面包括异常信息和指标阈值功能。异常信息展示资源名称、子资源名称、指标名称、是否恢复、持续时间、异常级别、异常次数、异常描述等字段。指标阈值通过表格展示异常级别、比较方式、阈值和异常过滤字段。

2.1.4 报表模块

报表模块包括报表列表页面和报表详情页面。报表列表默认展示20 条报表数据,采用输入关键字和选择报表时间段模糊查询报表。通过点击某条报表信息,进入到报表详情页面。报表详情采用表格方式展示报表中资源信息和异常信息。

2.1.5 消息模块

消息模块包括消息列表和消息详情页面。消息列表默认展示20 条消息数据,采用输入关键字模糊查询消息。消息状态有已读和未读状态,通过点击某条消息信息,进入到消息详情页面。消息详情展示消息的发布时间、发布人和详细描述。

2.1.6 个人信息模块

个人信息模块分为我的页面和登录页面,用户输入服务器地址、用户名和密码授权登录,我的页面展示用户名、部门、邮箱和联系方式信息。

2.2 数据库设计

本系统使用MySQL 数据库。根据软件功能列表,主要数据表设计如下:资源表(tb_resource)记录资源信息,包括资源ID、资源名称、管理IP、资源类型、资源地域、厂商、健康度、可用率等。异常表(tb_exception)记录异常信息,包括异常ID、异常指标、异常级别、异常次数、异常指标、异常时间、异常描述等。报表(tb_sheets)记录生成日常报表信息,包括报表ID、报表日期、报表资源信息、报表异常信息等。消息表(tb_messages)记录消息信息,包括消息ID、消息日期、消息状态、消息详情等。用户表(tb_user)记录用户信息,包括主键ID、用户名、部门、联系方式、邮箱等。

3 系统展示

3.1 开发环境

基于机房运维管理系统的设计,系统前端采用uniapp 和Spring Boot 开发,uni-app 主要用来数据展示,Spring Boot 用来逻辑处理和开发接口,实现总览模块、资源模块、异常模块、报表模块、消息模块和个人信息模块。开发环境和编程环境如表2所示。

表2 系统开发环境

3.2 模块展示

首先管理员账号“admin”在登录页面分别输入服务器地址、用户名和密码,登录成功并跳转至总览页面,总览页面展示系统概览和异常总览,可以Tab 切换,点击系统概览柱状图出现当前类型的正常和异常设备数量,通过点击资源、异常、报表和消息图表,分别进入到对应模块,也可以通过底部导航访问模块。总览页面如图2所示。

图2 总览页面

资源列表页面默认展示20 条资源数据,可以通过点击下拉框,底部弹出下拉选项,检索相应类型的资源,点击某条资源,进入到资源详情页面。资源页面如图3所示。在异常列表页面点击某条异常,进入到资源详情页面。异常页面和异常详情页面如图4所示。

图3 资源列表页面

图4 异常详情页面

报表列表页面可以按照本月、本周、本日、上周、全部等方式查询报表,点击某条报表,进入到报表详情页面。消息列表页面按照时间顺序展示最新20 条消息,消息未被点击,消息状态为未读,点击某条消息,进入到消息详情页面,消息状态变更为已读。报表列表页面和消息列表页面分别如图5、图6所示。

图5 报表列表页面

图6 消息页面

4 结论

针对机房运维管理中存在的问题,前端采用uni-app框架,后端采用Spring Boot 开发了一种机房运维管理系统,主流框架为系统的实现提供了良好的技术保障。实现了用户登录、总览、资源、异常、报表和消息模块,最后对系统进行测试,验证了该系统能较大程度上简化用户操作、增强系统安全性,系统可以查看机房资源信息、异常信息、报表信息和消息通知等,系统数据传输稳定性好,应用软件人机操作界面稳定易用。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!