APP下载

基于Android的移动图书馆功能设计与实现

2021-07-28达州职业技术学院张彬

网信军民融合 2021年5期
关键词:图书数据库图书馆

达州职业技术学院 张彬

随着智能图书馆和数字图书馆的出现,传统功能图书馆的传播社会文化和提供文献信息等相关功能也发生了改变。在此背景下,本文通过运用新一代信息技术,在图书馆中有效运用Android平台,实现移动图书馆功能设计与实现,为用户提供更加方便快捷的服务。

随着网络时代的到来,移动通信用户数量稳步增长,各种各样的移动通信工具成为人们生活中的必需品,将无线通信技术运用到人们日常生活中是大势所趋[1]。以手机为代表的移动终端的广泛使用、互联网的高速发展,带来了信息的快速整合与传播,这已经彻底改变了人们传统的社交、通信、娱乐和信息获取的方式,进入了一个新媒体时代[2]。Android操作系统凭借着自身完整、可靠、开放等优势,在智能移动通信终端的操作系统平台中脱颖而出,占有着大量的市场份额,并随着使用者数量的持续增多和基于此平台应用程序种类的日渐丰富,平台技术逐渐走向成熟[3]。目前,Android系统已经逐渐成为全球第一大智能操作系统。作为轻量级Web应用服务器的Tomcat由于其先进的技术、卓越的稳定性及可扩展性,而且是免费的,在中小型系统开发和并发访问该系统的用户不会很多的情况下被普遍使用。Tomcat深受广大Java爱好者的喜爱以及部分应用开发商的认可,已经成为当下比较流行的Web应用服务器。基于Android+Tomcat的系统架构可同时满足客户端的用户体验与服务器端系统的复杂信息处理功能,是移动应用的一种较完善的开发模式。

随着信息技术的不断发展,图书馆作用也发生了很大改变。智能图书馆和数字图书馆已经将传统功能图书馆逐渐替代,随着新技术的发展,传统功能图书馆的传播社会文化和提供文献信息等相关功能性也发生了改变。开发和研究移动图书管理系统,不但使图书管理员工作的地点会更加灵活,学生也能够随时地预约和查询以及挂失图书[4]。手机客户端形式的图书管理系统,能够促使学生接触更多的图书馆信息。为此,本文开展基于Android的移动图书馆系统体系结构设计、功能设计以及实现方法研究,相对于传统Web应用,该系统与生活更加贴近,使图书馆信息更加具有实时性。

一、系统体系结构设计

移动图书管理系统采用B/S+C/S架构构成,见图1所示。

图1为系统展示端,分成移动设备端和PC机端。移动设备采用的是C/S结构,C/S即客户端/服务器的方式,C为客户端,由用户自行安装客户端定制的应用软件,进行数据的录入和展示,S为服务器端,则提供数据的处理与存储。PC端采用的是B/S结构,B/S的S端和C/S的S端类似,都是提供数据,不同的是展示端由B浏览器进行显示。C/S结构下的展示端可以自行设计更简单易用的界面,提升用户的使用体验。移动校友录的C/S架构设计成让移动用户自行安装系统对应的Android系统的apk文件,主要用于学生或老师登录系统进行移动查阅图书刊物,进行电子杂志的阅读,并实现移动聊天功能。B/S架构设计主要用于系统管理员进行基础数据的维护,不需要华丽的操作界面,只需要一台能连入互联网的PC机,打开浏览器就可以进行系统的维护操作。

图1 系统架构图

图书馆是一个需要进行海量信息存储的平台,因此系统服务器端采用了云存储的方式。云存储的数据服务器除了能对海量数据保存,并能提供安全高效的数据并发处理和保护功能。云存储能保证传统数据库数据的正常访问,同时也能对大量传统文件进行快速高效的读取服务,这些特点印证了云存储是移动图书馆数据服务端的首选技术。图2为系统网络结构。

图2 系统网络结构图

二、系统运行平台设计

构建基于云存储结构的存储平台,自然而然就会想到去运用处理海量数据的云结构Hadoop。用Hadoop的HDFS进行分布式数据存储,运用MapReduce进行并行编程模型,把其与最经典的系统平台结构MVC进行结合。

基础层主要采取的是Hadoop和mysql数据库结合的方式进行处理。Hadoop主要用来对非结构化或半结构化(HBase)数据进行存储和分析,而结构化的数据则一般使用数据库来进行存储和访问。因此,基于Hadoop集群实现结构化的海量图书馆数据存储,比如馆藏查询、电子书籍、视频等大文件系统。而对于系统个人信息模块产生的数据,暂时采取的是对云技术支持的开源mysql数据库进行存储。

平台层主要考虑的是如何将云计算存储的信息系统进行部署,并采用并行方式调度云存储数据。Apache Hadoop是一款支持数据密集型分布式应用并以Apache 2.0许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序,并实现了MapReduce的编程范式:应用程序被分割成许多小部分,而每个部分都能在集群中的任意节点上执行或重新执行。Apache Hadoop成为大数据处理的标准,但由于它对负载平衡性要求比较高,就决定了它对硬件需求比较高和部署、运行的复杂性,因此运行在此平台上就不得不让人有安全上的顾虑,并且系统出故障的话会难于下手等,这些难题让其无法充分发挥Hadoop的威力。通过把Apache Hadoop节点从底层物理基础架构剥离,VMware可以将云基础架构的优势带给Hadoop,包括快速部署、高可用性、最佳资源利用率、安全多用户。

业务层的核心功能在于让用户快速查询到想要的馆藏资源,进行在线阅读,并能预约图书,下载电子资料到手机进行离线阅读。这一层考虑用Android和Hadoop都能支持的Java语言进行编码实现。

用户层是直接面向用户,采取的是面向用户的Web2.0设计模式,在移动设备上的应用和在电脑上的应用给用户的体验必然不一样,因此需要遵循移动设计的准则。由于本系统采用以B/S和C/S结构相结合的方式,移动端和PC端都进行设计,都要遵循Web2.0的准则,以用户体验为上。

系统整体代码组织模式为MVC方式,即模型-控制器-视图(Model、Controller、View)模式。

Model(模型)主要用一系列的方法提供应用程序的数据来源,在移动图书管理系统中系统的数据来源于用Jdbc获取Mysql的数据和Hadoop的HDFS获取的文件映射。从Hadoop处获取的资源性能是高于直接运用jdbc获取的资源,这里为了提高性能,改成用Hadoop的Hbase技术将Mysql数据库进一步封装,提高性能。

Controller(控制器)是对数据进行处理,衔接数据层和视图层,起到承上启下的关键作用。因为图书馆是具有大数据量的系统,并且本系统涉及的图书馆有三个子馆,决定了数据只能通过云存储的数据集方式进行存储。多台服务器同时运行时,就需要用并行处理性能高的MapReduce。本系统中的控制层主要是用MapReduce处理并行查询,并行下载期刊资源,对数据进行挖掘推送显示。

三、基于Android的移动图书馆功能设计

Android平台主要包括五个部分,即应用程序框架、关键应用程序、Android运行库、C/C++函数库以及优化了的Linux。根据Android平台,设计移动图书馆管理系统功能的模块,见图3所示。

图3 移动图书馆管理系统功能模块图

(一)管理员客户端

管理员将用户名及密码输入,进入到软件主页面,图书管理、学生用户管理、借阅预约图书、罚款缴费、挂失归还图书以及帮助和注销等操作便可以进行。(1)图书管理功能:书号输入,进入详细的图书信息页面,对图书有关信息可以查询;新书入库,并且将新书的有关信息录入;(2)学生管理功能:学生学号输入,查看和删除以及修改的操作都可以进行;(3)借阅预约图书功能:学生学号输入,对学生预约和借阅图书情况进行查看;(4)罚款缴费功能:学生学号输入,对学生欠费的信息进行查看;(5)挂失归还图书:学生学号输入,该学生借阅的全部图书显示出来,进行归还和挂失的操作;(6)管理员的管理功能:该功能主要是为超级管理员设计的,删除和修改管理员的操作。

(二)学生客户端

学生将用户名及密码输入,进入软件主页面,查询、预约、挂失、帮助、注销以及退出等相关操作便可以进行。(1)查询功能:查询个人借书和查询馆内图书。查询还分为高级查询和简单查询,并且对模糊查询也给予支持。(2)预约功能:预约图书号输入,若未被借阅,便能够进行预约;否则不可以被借阅。预约管理主要对预约图书信息以及预约取消进行查询。(3)挂失功能:学生学号和密码输入,该学生借的全部图书显示出来,再将需要挂失的图书进行选择。(4)帮助功能:介绍基于Android的移动图书馆的系统功能的使用方法。(5)注销功能:用其他用户登录,或者用户退出移动图书馆管理系统。

四、基于Android的移动图书馆功能的实现

(一)设计数据库

该系统主要运用了Mysql数据库,由许多不同客户程序、数据库以及1个服务器守护程序构成。数据库是系统实现的基础,设计的过程中,合理性必须要保证。合理科学地设计数据库,无论是数据库的应用,还是后期维护数据,都会比较方便。根据需要,构建了管理员基本信息表、用户基本信息表、借阅图书信息表、图书基本信息表、超期图书信息表、借阅图书信息表、图书基本信息表以及挂失图书信息表等数据表。

(二)实现移动图书馆管理系统的模块功能

根据需要,对要求功能进行分析,使各模块功能得以实现。为了使移动图书馆管理系统安全性能够有效地提升,无论是管理员客户端,还是学生客户端都要单独开发。这样能够避免学生得到管理员密码以后,登录系统并且将数据库信息改动。

例如,学生登录,先进入欢迎页面,学生将用户名及密码输入,进入操作主页面。主页面按钮主要有查询、挂失、预约、注销、关于、帮助以及退出。

点击学生主界面上的查询按钮,进入到查询图书的界面,该界面主要包括查询个人节约和查询馆内图书以及返回到上一界面的功能,两个查询按钮左侧的图标,提示用户进行单击。对图书信息查询的按钮进行单击,进入到查询图书信息的界面,该界面又分为高级查询和简单查询,单击高级查询按钮和简单查询按钮,不同界面就会显示出来,界面下方为动画控件,既可以点缀图像,又可以添加广告。

(三)测试

测试机器运用实体机与虚拟机集合测试,测试不同用户登录。其一,管理员用户的登录软件,对图书管理、用户管理、借阅管理、查询图书、预约管理、缴费管理、挂失归还管理以及管理员管理等操作进行测试;其二,学生用户登录软件,对预约和查询以及挂失图书等操作进行测试。经过测试,软件能够正常地运行,实现基于Android的移动图书馆功能与分析需求相符合。

五、结束语

分析和研究基于Android的移动图书馆的主要目的,就是将当前应用图书馆扩展到手机终端,广大的教师和学生不用亲自到图书馆,运用手机就能够操作查询和预约以及续借图书等,并且新书到图书馆以后,系统会用短信的形式将提醒信息发送。既给师生书刊借阅和文献提供了方便,又能够协助图书馆管理藏书的借出、整理、归还、催还以及归类等。

猜你喜欢

图书数据库图书馆
图书推荐
欢迎来到图书借阅角
图书馆
班里有个图书角
数据库
数据库
数据库
数据库
去图书馆