高校图书馆讨论室新型预约系统的设计与实现

2019-06-17 09:28
计算机应用与软件 2019年6期
关键词:黑名单模块图书馆

艾 琼 杨 晨 游 林

1(杭州电子科技大学图书馆 浙江 杭州 310018)2(杭州电子科技大学网络空间安全学院 浙江 杭州 310018)

0 引 言

随着国内若干高校在向科学研究型高校发展的过程中,高校图书馆在传统信息服务的基础上,服务方式和服务内容也产生了必要的延伸与拓展[1],其中一个很典型的服务方式是在图书馆内设立为教师、研究生或高年级本科生提供的(学术)讨论室。我们通过实际调研及查阅有关的资料文献,发现在讨论室预约管理方面,一般分为两种类型:即现场人工预约和网上自助预约。绝大多数的高校都采用了前一种的预约管理方式。通过对使用了商业公司预约系统的高校图书馆进行调研,我们发现网络在线自助预约系统可以大大提高讨论室的管理效率,减少人工预约易导致的读者预约时不按规则流程等难以监管的行为,减轻工作人员工作负担,同时可以减少工作人员与读者间的矛盾。本文通过调研并结合本校图书馆讨论室的实际使用情况研发了适用于馆内现有终端的新型预约服务系统,该系统目前的使用效果良好,试运行期间得到了师生的广泛好评。

1 系统需求及实现框架

1.1 当前讨论室管理和应用的现状

1.1.1国内部分高校图书馆讨论室的应用情况

南京中医药大学图书馆开设了三间讨论室,这些讨论室采取现场凭证件预约的管理办法[2],为该校师生提供研讨、学习的专用场所。清华大学、中国人民大学、社科院研究生院采用了联创公司开发的研修间网络预约系统[3]。通过对近150所高校图书馆的调研,发现讨论室预约管理是以现场预约确认、网络自主预约两种方式为主,以及电话预约与邮件接收预约申请单等传统方式与新时代的微信公众号预约并存发展,详情见表1[4]。大多数图书馆都采用了两种及两种以上的预约方式,以方便师生使用。

1.1.2讨论室预约系统的需求

通过对用户需求进行调查[5],97%的使用者需要或想要使用预约系统进行预约,75%的用户希望通过图书馆内的预约机器在线预约。即大部分学生在完成日常学习过程中需要使用预约系统,并希望通过图书馆内的预约机器完成预约,方便来馆即能够快速进行预约。此外有87%的用户希望通过手机等移动客户端在线预约。

我们认为一个好的预约系统应该拥有这些能力:可靠、全面、负责、关怀、可感知[6]。且讨论室预约系统首先要在适用于馆内现有设备的基础上进行设计改造,并提供用户可操作的友好界面和较完善的功能,能在使用过程中给出一定的提示性语句,并设置自动匹配讨论室等简化用户操作的按钮,最终根据规则判断预约是否有效,当场给出预约的结果。预约成功后或无用户操作时,主界面将显示列出所有讨论室的预约记录,给出所有讨论室预约情况,并且需要在手机微信等移动客户端中也配备预约功能,方便用户随时预约。

1.2 实现框架

讨论室预约系统是一种自助式系统,用户通过馆内终端预约获取一段时间内讨论室的使用权限。系统结构图如图1示。

图1 讨论室预约流程图

读者通过现场终端机或者手机微信,可以获取实时的、表格化的讨论室使用信息,便于用户查看所有讨论室的使用情况和自己所预约的讨论室信息,也可透明化讨论室的管理。预约讨论室时,通过学校身份验证API判断用户的合法性。由于馆内已上线使用较多的自助化系统(如:自助复印、打印,自助借还书机,人脸识别入馆),具有相关的API接口,通过对相关API的调用,可以验证读者身份,进行房间预约、取消等操作,所有操作都将实时反馈至系统主界面。预约成功后,在规定时间内签到即可使用讨论室。

2 预约系统实现过程

本节基于软件工程设计中自顶向下设计的基本思路,先使系统的所有模块都小到便于掌握,之后整合模块至系统各要素,最终完成系统的开发。

2.1 数据库设计

整个系统共用一个数据库资源,所以首先应构建数据库系统;数据库下设有以下几个表:每日配置表、黑名单表、预约信息表、历史记录表、统计表、管理员账户表等。

2.2 系统各模块设计

2.2.1讨论室列表信息模块

讨论室信息以列表的形式展现在系统首页上,向借阅者展示讨论室的预约记录及状态。模块采用内部时钟控制,每间隔一段时间或进行一次记录更新就刷新一次记录表,每条记录按照日期、讨论室号、时间进行排列,方便用户查找。每条预约记录按照不同的使用状态,用不同的颜色标识。终端机主界面如图2所示。

图2 系统主界面图(经裁剪后)

图2中每一行表示一条预约记录,灰色表示本记录已使用完本讨论室,深灰色条目为已取消的无效条目,还有更详细的使用状态在第七栏用文字说明。通过讨论室列表信息模块,读者可清晰地了解各个讨论室的预约使用情况,对读者起指示作用。不过预约时不用通过查表来看是否有空闲讨论室可约,系统在预约功能模块提供了自动匹配讨论室的功能可以供读者使用。如读者拟预约的时间内没有空闲的讨论室,则给出提示:此时间段没有可供预约的讨论室。

2.2.2用户身份验证模块

模块使用校园一卡通的接口API和图书馆汇文管理系统的接口,借鉴了文献[7]的一些思路。以下简单介绍图书馆汇文接口类的创建和使用:

第一步,新建一个“初始化”的方法,以对象为目的的方式先访问汇文网站,将得到并返回的初次的信息进行保存。

第二步,新建一个“获取验证码”的方法,再以对象为目的的方式提交原到汇文的验证码地址服务器,将返回的字节集合形式的“图片验证码”进行保存,然后将两次产生的信息合并为新的信息。

第三步,新建一个“登录”的方法,我们以number+学号+&captcha+验证码+&passwd+密码+&returnUrl=&select=cert_no为提交数据,并以POST方式提交到访问的汇文,完成整个登录及获取信息的操作。

至此完成模块主体的制作,此模块可帮助我们之后区分用户身份,方便管理,并授予登录的馆内管理员管理权限。

2.2.3预约模块

预约模块较为复杂,且为整个系统的重点,需要整合多个数据库与子模块中类的方法来实现。

1) 预约界面合法要素的生成 由于许多客观因素的限制(如讨论室节假日的开放时间有别于平常或有时需要临时关闭某一讨论室以留用),预约界面的生成需要多方面条件综合后给出,如:只生成已被管理员开启预约的日期及其中开启预约的讨论室。这就要求根据管理员设置的不同读取每日配置数据库生成预约界面,引导读者填写正确的预约信息。

2) 预约请求合法性判断 为了管理的需要,完成预约要进行多个条件的判断。如每次预约是否超过1小时且小于或等于4小时;每位读者每天预约次数是否超过限制;欲预约时段讨论室是否已经有人预约;预约人是否在黑名单内等;以上多条限制完全通过后再将预约信息写入数据库,并提示预约成功。

2.2.4黑名单模块与区块链技术

在预约系统使用过程中,为避免读者滥用公共资源(如预约后多次不赴约,占用讨论室做与研究和学术无关的事、大声吵闹或发生破坏公物等行为),所以依据我校图书馆以前讨论室人工预约系统的经验,建立了黑名单制度对此类行为进行一定程度的惩罚。解决办法是在系统设计中增加了黑名单模块线程,轮询判定违约和处理记录更新。有违约情况的用户将被写入黑名单列表数据库,禁止该用户一段时间内的预约操作。当然管理员也可以对其他违约行为手动添加违约记录,被列入黑名单的用户只能等待系统设定的解禁时间结束或向管理员申诉进行解禁。且可在预约系统设置:当进入黑名单列表中的读者的违约记录超过约定数量时,将其列入学校的学籍或诚信档案。

此外,为防止黑名单遭到网络攻击、管理员密码泄露或蓄意篡改黑名单记录的现象,可以建立基于区块链技术黑名单列表系统。区块链是一种基于密码算法与共识算法的去中心化、点对点传输的分布式网络数据库。区块链的特点是去中心化、数据公开可信且不可篡改、人人(网络节点)或若干具有某种属性的人(网络节点集)均可平等参与数据库记录。区块链上数据的安全性与用户的隐私保护是基于密码算法的。设计基于公有区块链技术的黑名单数据库,使得若干指定的管理员可以共同参与黑名单的记录,但任何一个管理员都不能够徇私更改先前已记录的黑名单,且可抵御外来的针对黑名单的篡改攻击。同时记录在黑名单上的读者的隐私信息(如班级、姓名、学号、违规信息)均可以采用匿名地址、可链接环签名、非交互式零知识证明等隐私保护技术进行保护。

2.2.5在线升级模块

软件系统的升级再开发是软件生命周期必不可少一部分。如果没有在线升级模块,系统的馆内终端(馆内300余台主机)的升级维护每次都将会是一件非常困难的事情。升级模块利用了腾讯云的对象存储服务,腾讯云将确保其云服务及网络的安全可靠,进而确保系统终端使用过程中的稳定升级。升级模块从腾讯云下载新文件,并对软件系统相应文件进行替换,完成软件系统的升级。

2.2.6人脸识别模块

本模块作为验证身份的辅助手段使用,可使很多验证环节得以简化,毕竟“科技的本质就是让用户体验不到科技的存在”。例如,在签到时用户只需从签到机前经过然后确认个人信息点击签到,即可完成签到,极为方便。该模块需要用户事先确认开通人脸面部特征或图像识别功能,并拍下3~5张照片留存人脸库中,系统使用人脸特征识别算法对用户在经过签到机时进行面部特征提取,并基于欧式距离误差阈值等判别方法进行对比识别来确定用户的身份。

人脸识别技术[8]已成为除指纹识别技术外应用最广泛的生物特征识别技术。人脸识别方法主要有三类:即特征脸方法、局部二值模方法,以及Fisherface方法。在我们预约系统中的人脸识别模块采用基于主成分分析法(PCA)的特征脸方法。由于卡片式校园一卡通容易发生丢失、被盗、损坏、忘记携带等现象,所以目前许多高校已采用了基于生物特征识别技术的校园无卡通系统。经调研,一般都是采用指纹或人脸识别技术。在一些涉及安全级别很高的重要机构,则可同时采用多种生物特征识别技术混合的访问控制系统,如银行金库、军事物资等管理系统。

为了防止违规替代他人预约讨论室或假冒预约读者进入讨论室的情况,计划后续在对预约系统进行升级时,设计基于人脸或指纹识别技术加手机预约验证码进入讨论室的访问控制模块。手机预约验证码的有效时间可设置为某固定时间。

2.3 系统API的编写

此组API提供系统外平台访问本系统的独立接口,而不用对外接平台编写已有应用。使用时只需调用相应模块的API即可。在工业4.0时代,本系统今后可成为智能图书馆系统直接对接的API接口,对接后实现全自动查询,开发以个体为对象的智能互动式服务系统[9]。且在手机使用率越来越高的今天,可以在服务器运行软件系统实体,而在微信、QQ等平台使用API接口来运行预约系统。手机预约方便用户使用,而且减少了系统附加设备主机的开销,一举两得。API使用的过程是,在使用开始时首先要对请求用户的账号和密码加密传输给服务端,服务端验证登录,如果成功,则生成加密的Token返回给用户端。客户端请求API时在请求中带上Token,服务端收到请求验证Token有效性,解密后执行指令即完成整套API的调用。图3是系统API的设计思路,具体编写代码不再赘述。

图3 系统API使用流程

3 使用效果与改进策略

目前预约系统尚处于馆内试运营阶段。由于馆内原有查询终端众多并都已上线提供讨论室预约服务,因此使得读者在使用本系统时感觉便捷且实际使用效率高。在半年的测试服务中系统表现良好,很好地解决了原有手工填表预约时的表格填写混乱、违规预约过多的问题。使用过该预约系统的师生对用手机微信预约和人脸识别签到的反响很高,对图书馆与时俱进的创新服务纷纷表示了赞赏。

自2017年9月8日预约系统开始线上使用以来至2017年12月18日(共计101天),系统中的18间讨论室共使用3 993次,10 559小时。平均每天服务39.5次,104.5小时(6-07号讨论室有一段时间被暂停使用,故该讨论室记录到的使用次数较少),预约统计如表2所示。

表2 预约信息统计汇总

续表2

通过本次测试,读者和工作人员也提出如下改进意见:(1) 用手机微信预约讨论室后,增加使用时间与结束时间快到时的手机平台提醒功能,使读者能提前做好让出讨论室给下一位预约的读者使用,或者两个预约使用时间段间能留出一个5至10分钟的使用空档,使图书馆服务讨论室的使用能更加有序、高效,也更能提升师生对图书馆服务的认知度[10]。(2) 增加传感器(可采用温度传感器)对已签到讨论室无人使用的情况进行检测,记录预约者违约,增加公共空间使用效率。传感器可采用温度传感器。如果不考虑涉及个人隐私的话,可采用视频监测的方式对讨论室的使用情况进行监测。(3) 使用环境传感器对声音过大的讨论室进行提醒,对多次提醒无效的讨论室,对主预约人记一次违约并记入黑名单一次,且停止其本次讨论室的使用。(4) 预约系统可增加一些信息插件对用户予以适当的提醒与引导,针对教师、研究生、本科生、外籍学生、以及新用户等不同群体的用户给予不同的支持[11]。比如针对外籍学生,预约系统可增加英文或其他外语的中外文对照的文字引导或声音提示。

4 结 语

本系统可拓展至其他需要“预约功能”的场合使用,软件只需要进行一些简单的程序名称与相应规则的修改即可。比如医院的专家预约就诊、网上挂号、大学校园里的会议室使用、场馆租借等场所的预约使用等。图书馆讨论室作为理想的预约系统的实践场所,检验了本系统的可靠性与实用性,可为同类软件系统的开发过程提供一定的指导。

现代图书馆提供了越来越丰富的人性化服务。讨论室(或研究室、研修室)作为其中重要的必不可少的资源空间对学校师生实行开放使用的同时,如何使图书馆公共资源得到更合理的利用是一个十分重要的课题。本文从本校图书馆讨论室当前的人工管理模式与师生的实际需求入手,以基于手机端的讨论室预约系统,改进了传统的人工管理模式,为大数据时代下图书馆自助管理与创新服务模式给出了一个有很好的有较好实际应用意义的研发方向。

考虑到因为我校预约系统出现违约与违规使用的情况较多,所以黑名单列表在预约系统占有较重要的地位,因此后期计划将预约系统开发升级成一款基于区块链技术的手机App预约系统。这样不仅可以很方便地增加重要或特殊书刊借阅预约、网络打印预约、订餐预约、书刊订购推荐、预约系统使用建议反馈,以及针对管理人员的服务质量的意见反馈等新功能,而且可防止黑名单发生篡改的现象。

本文以杭州电子科技大学图书馆讨论室的预约系统为例,详细阐述了开发过程,研发的预约系统也为其他院校图书馆讨论室(或研究室、研修室)或其他类似的预约系统提供了参考。

猜你喜欢
黑名单模块图书馆
防晒黑名单?第2款就翻车了!
28通道收发处理模块设计
“选修3—3”模块的复习备考
你的卫生巾上“黑名单”了吗?
图书馆
震惊!100多个地方政府上了失信黑名单
黑名单
去图书馆
集成水空中冷器的进气模块