APP下载

基于微服务架构的图书馆座位管理系统

2022-04-11罗志远罗晶晶王玉银

电脑知识与技术 2022年5期
关键词:微信小程序智慧校园图书馆

罗志远 罗晶晶 王玉银

摘要:文章以某本科大学为例,通过对图书馆座位预约使用等问题进行研究,设计并开发了一款基于微服务架构开发的图书馆座位管理系统[1]。文中介绍了该系统开发的背景和设计方案,用户可通过微信小程序预约系统或者图书馆内的计算机终端使用查询、预约、签到、暂离、定位、释放座位等功能。管理员可通过后台管理座位信息、用户信息、报表分析和黑名单等功能,系统还实现了与学校智慧校园以及图书馆管理系统互联互通。

关键词:微服务架构;图书馆;座位管理;智慧校园;微信小程序

中图分类号:TP311      文献标识码:A

文章编号:1009-3044(2022)05-0066-02

1 研究背景

图书馆拥有优良的学习环境、丰富的学习资源,作为一个用于学生查阅文献资料和自主学习的公共场所,需要不断地更新管理服务或系统功能,以适应学生用户多种需求。许多高校的图书馆都有预先空出一些座位,给学生提供自习环境,图书馆尚未开馆就有许多学生在馆外排队等候[2],特别是在考试周、考研月以及英语四六级等各种考证考试时间段馆内人数巨多,座位供不应求,有限的座位与日益剧增的学生用户形成了图书馆人数爆满的情况,再加上“恶意占座[3] ”“人走书在”等现象常常出现,就会导致仅有的座位并没有获得有效的使用。为了解决此类问题,些许高校已采用图书馆选座系统[4],该系统主要以计算机为主的座位管理系统,用户通过使用校园卡进入到管理系统,选择选座或离座操作。这类的计算机座位管理系统常因设备成本偏高、后期维护管理烦琐困难、学生用户使用体验不佳等,导致图书馆的管理并没有因此得到很大改善。鉴于此,我们团队考虑将传统的座位管理系统与微信小程序和智慧校园互联,预约选座、暂离、离座等功能使用二维码与微信小程序实现。相比于计算机选座系统,用户直接在手机上进行预约选座更加方便与快捷,这样能使选座不再单单依靠机器来使用,大大节约设备的成本,实现预约选座的智能化。用户只需在微信小程序就能查询到图书馆的座位使用详情与对空座位进行预约使用。

微信小程序是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或者搜一下即可打开应用,也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无须安装卸载。小程序可以帮助开发者快速的开发小程序,还可以在微信内被便捷地获取和传播,和原有的三种公众号(微信订阅号、微信服务号、微信企业号)是并行的体系。

微服务的概念最早是在 2014 年由 Martin Fowler 和 James Lewis 共同提出,他们定义了微服务是由单一应用程序构成的小服务,拥有自己的进程与轻量化处理,服务依业务功能设计,以全自动的方式部署,与其他服务使用 HTTP API 通讯。该架构的特点[5]:针对特定服务发布,影响小,风险小,成本低;频繁发布版本,快速交付需求;低成本扩容,弹性伸缩,适应云环境。

2 研究目的

解决占座问题的根本在于座位有限、师生人数众多与最为严重的“人走书在”等情形,一方面是图书馆内增加更多的座位数量:但图书馆设置位置有限,空间大小固定,即使新增座位也远远无法满足师生用户的需求;另一方面是有效提高图书馆座位的使用效率,使在有限的资源里发挥最大的作用。

除了占座问题,还有像考试周、考研月和各种等级证书考试期间里自习室座位申请的特定情况下,都存在申请时间集中、座位数量稀缺和并发大等特点,传统的系统[6]往往无法承受如此巨大的高并发而造成系统拒绝服务、卡顿等诸多问题,最终导致用户无法正常进入系统选座与提交申请等操作,严重影响了工作与学习效率,用户体验极差。

综上所述,本研究的目的在于提供一款能够杜绝占座问题、提高座位资源使用效率且能在高并发场景下仍然能够正常提供服务的图书馆预约选座管理系统。

3 系统设计概要

3.1 系统流程设计

本管理系统主要分成2个模块:用户管理模块和后台管理模块,2个模块对应着2种不同的操作对象,所以将系统的业务流程划分成2个对应的模块,由用户管理模块实现对座位的空位查询、预约选座、暂离座位和离开座位等功能;由后台管理模块实现信息发布、座位管理和黑名单等管理功能,系统的主要流程设计如图1所示。

经过团队近两年的实地体验和线上意见征集,收取了大多数用户的意见和建议,统一分析各大用户的需求,同时结合了现存的各大高校所使用的图书馆管理系统使用经历[7],经过反复讨论与研究,分析出了本系统的基本功能设计,系统基本功能模块如图2所示。

3.1.1 用戶管理模块

该模块主要面向对象为用户,用户进入小程序经过实名认证后,可以在微信小程序或者图书馆内的管理终端对座位进行“预约选座”“取消预约”“扫码签到”“暂离座位”和“离开座位”等功能。

1)预约选座

用户只需要在手机微信打开小程序即可远程随时查看座位空闲信息,图书馆的楼层座位信息将以平面图展示,用户根据自身喜好选择空座位进行预约使用,预约成功后在规定时间(30分钟)内到达座位进行扫码签到,否则将被记录违规一次,达到一定次数将被系统分配到黑名单,一段时间内无法使用图书馆提供的服务。

2)取消预约

当用户预约成功后突然因其他事情无法到达座位签到时,可以提前取消预约,为防止恶意预约占座,每位用户每天只能取消2次,达到3次后将被系统分配到黑名单内;当然,系统还设置了预约有效期,在预约成功后有效期内未到位置签到,座位将自动释放并记录一次用户取消预约的行为。

3)扫码签到

用户进入图书馆时刷校园卡,如果不是黑名单的用户即可在馆内计算机终端进行选座,若是小程序提前预约的可直接到所选位置上进行扫码签到,座位上布置有一个随时刷新以防远程扫码恶意占座行为;当使用时间截止前10分钟,二维码会提示续座或离座行为,小程序也会发送消息提醒用户。

4)暂离或离座

用户学习过程中可能会因接电话、上厕所、久坐需要暂时离开座位一会,可以通过座位上二维码旁的按钮点击暂离或者在微信小程序中选择暂离操作,暂离后须在20分钟内回到座位扫码续座,超时后座位将会被释放并被记录一次违规行为;若用户已经不需要座位了,可以在小程序选择离座操作或者点击座位上二维码旁的离座按钮,操作完成后需要扫码二次确认离座,成功验证后座位将会被释放。

用户操作流程图如图3所示:

3.1.2 后台管理模块

该管理模块主要面向对象为图书馆管理员,主要有信息发布、座位管理、黑名单管理等功能设置;管理员可以对管理系统中的座位进行实时监控和增删查改操作,在周末、节假日等重要时间段提前发布开闭馆通知,用户可通过小程序查看通知,而无须每次都要去图书馆官网查看;还可以对黑名单内用户进行处罚,进入黑名单的用户无法刷卡入馆,若有误判,用户向管理员提供误判证据,核实后可将用户从黑名单移除;管理员还可以智能管理座位状态,设置座位有效期时长、预约时间段、不定时检查座位状况以做出对应管理措施。

3.2 系统架构

本系统采用了Spring+SpringMVC+MyBatis架构[8]进行开发,兼容了绝大多数使用环境,只需要用户能在互联网或者连接校园局域网环境下即可使用,可选择微信小程序或者打开图书馆官网进行预约选座,操作简便且快捷;为了解决系统在高并发情况下仍能稳定运转,本项目采用了SpringCloud构建分布式微服务的方案,具体包括Nacos作为分布式配置以及服务的注册和发现等功能,使用OpenFeign完成负载均衡和服务调用,SenTinel实现服务限流与降级。系统整体交互及架构如图4所示。

4 创新点与特色

通过使用微服务架构以及接入微信小程序使系统简便易用,且成本控制到最低,后期也能进行升级维护等功能;而且通过实名认证后选座实行“一卡一人一座”制度,杜绝了大多数的占座问题,也避免了用户与用户、管理员与用户之间的纠纷;且在小程序与计算机终端中以平面图方式展示图书馆中的所有位置,使學生直观方便地找到自己所选位置;同时系统的投入使用,提高了图书馆的管理水平,减少了图书馆对管理人员的投入。

因本系统主要成本由服务器、座位二维码硬件及平时维护组成,且有大学图书馆的技术与经济支撑,可在图书馆、自习室等场合试运行一段时间,后期根据使用需求逐步改善并进行推广。本系统主要作为图书馆、自习室选座使用,主要用户为师生,也可在技术改造提升后用于其他公共事业的具体场景里使用,具有非常不错的推广应用前景。

5 结束语

本文简要介绍了基于微服务架构的图书馆座位管理系统,通过简便且人性化的方式来提高用户对座位的使用率,可替代以往传统的不够完善的管理系统,极大程度地提升用户的使用体验。但在测试过程中也发现了些许小问题:座位的预约使用时间分配不够灵活;用户的需求是不断变化的,系统也需要根据不同需求不断更新迭代。当然,管理系统的投入使用仅起到改善作用[9],要根本解决这些问题还需加强广大用户的自身道德素养,遵守公共场所的规定,营造一个优美的学习场所,为师生们提供一个良好的学习环境。

参考文献:

[1] 吴雄劲.微服务框架中的服务注册中心的设计与开发[J].工业控制计算机,2021,34(8):130-132.

[2] 李光,马妍.首都图书馆在新馆环境下的图书预约服务[J].内蒙古科技与经济,2015(3):135-137.

[3] 乔梦怡.图书馆占座的博弈分析[J].知识经济,2014(13):48,50.

[4] 魏鲁原,姜雨辰.高校图书馆座位管理系统[J].电子测试,2021(2):34-36.

[5] 桂俊,沈迎春.基于微服务架构的企业ERP设计与应用[J].计算机系统应用,2021,30(8):81-88.

[6] 黄文娟.基于Java和MySQL的图书馆信息化管理系统设计[J].电子设计工程,2019,27(2):20-24.

[7] 李鹏,张海燕.基于Java技术的图书馆预约座位管理系统的设计[J].电脑知识与技术,2021,17(8):71-73.

[8] 牛怀岗,林关成.基于SSM框架的新闻发布管理系统设计与实现[J].现代电子技术,2020,43(21):127-131.

[9] 龙俐君.高校图书馆预约培训服务调研与思考[J].内蒙古科技与经济,2021(13):149-151.

【通联编辑:谢媛媛】

收稿日期:2021-11-08

基金项目:2021年国家级大学生创新创业训练计划项目——基于微服务架构的图书馆座位管理系统(项目编号:202113645015)

作者简介:罗志远(2000—),男,广西浦北人,本科在读;罗晶晶(1998—),女,广西百色人,本科在读;王玉银(1982—),女,山西芮城人,讲师,硕士。

猜你喜欢

微信小程序智慧校园图书馆
图书馆
当图书馆遇上微信小程序
基于B/S结构的学生公寓管理信息系统的设计与实现
“智慧校园”浪潮下大学课堂教学改革与设计
智慧校园关键技术分析与研究
智能云教学系统在计算机专业教学中的运用
去图书馆