基于Android的图书馆非书资源管理系统的设计与实现

 2021-11-25 02:11

论文总字数:22882字

摘 要

当前,大学图书馆拥有众多的随书光盘,存储着随书附赠的视频、音频、文档和程序等电子资源,是我们学习的重要资源。目前很多大学已经使用了基于网页的非书资源管理系统,把光盘做成光盘镜像(ISO文件),存储在服务器中,供需要使用的人下载。但随着智能手机等移动设备的高速发展,越来越多的人依赖移动设备来获取信息。因此我们迫切需要开发能够在手机、平板上使用的非书资源管理系统,以方便大学师生用户访问光盘资源。

Android是应用于手机或平板的移动操作系统,是应用最广泛的移动操作系统。首先,开发基于Android的图书馆非书资源管理系统,实现下载文件到本地、直接查看光盘中的文件、在线播放或阅读等功能,可以解决师生在移动设备上访问随书资源的需求;其次,还可以实现新资源推荐、热门资源查询、资源订阅等功能,方便有需求的用户定期获得有用的光盘资源;最后,可以实现对实体光盘的可借光盘的查询及预约功能,方便对实体光盘有需求的同学借阅。

关键词:Android客户端,非书资源管理系统,在线访问

The Design and Implementation of Non-Book Resource Management System based on Android

Abstract

Currently, the University Library has numerous CDs with the books, witch store electronic resources like video, audio, documents and programs. These Resource could be important resource for our learning. At present, many universities have used the web-based Non-Book Resource Management System to make the CDs to ISO files and store ISO files in the server, so that the ISO files could be download by people who need to use. But with the rapid development of smart phones and other mobile devices, more and more people rely on mobile devices to access information. Therefore, we urgently need to develop Non-Book Resource Management System for mobile devices, so that teachers and students could access the resources easily.

Android is an operating system for mobile devices like phones and tablets, is most widely used all over the world. Developping Non-Book Resource Management System for Android is a good idea to supply teachers and students’ needs. The client could download file to local storage, look up files in ISO, play video or read books online. And then, the client could recommend the latest resource or hot resource or recommended resource to users, make it easy for people who want to get the image resource regularly. And last, the client could query CDs available to borrow and even book the CDs.

KEY WORDS: Android Client, Non-Book Resource Management System, online access

目录

摘要 I

Abstract II

第一章 绪论 1

1.1研究背景 1

1.2研究现状分析 1

1.2.1现有非书资源管理系统分析 1

1.2.2 Android客户端在线预览远程文件 3

1.2.3客户端推送的实现方案 4

1.3研究内容与目标 4

1.4论文组织结构 4

第二章 系统设计 5

2.1系统总体架构设计 5

2.2后台管理系统设计 5

2.2.1服务器部分设计 5

2.2.2 后台管理页面设计 6

2.3 Android客户端设计 7

2.3.1 在线预览功能设计 7

2.3.2 Session保持 7

2.3.3 其它 8

第三章 系统实现 9

3.1后台管理系统实现 9

3.1.1服务器网站平台和架构 9

3.1.2服务器映射框架和数据持久化框架 9

3.1.3服务器自动判断返回JSP页面或JSON数据 10

3.1.4服务器WebServer与FileServer分离 11

3.1.5 后台管理页面JSTL解析Model数据 13

3.2 Android客户端实现 14

3.2.1 Android客户端数据持久化框架 14

3.2.2 Android客户端Session保持 15

3.2.3 Android客户端文件下载 15

3.2.4 Android客户端在线预览资源 15

第四章 平台部署与测试 17

4.1 平台部署 17

4.1.1 部署WebServer 17

4.1.2 配置WebServer,连接数据库 17

4.1.3 部署FileServer 18

4.2后台管理演示和测试 18

4.2.1用户管理 19

4.2.2 书籍管理 21

4.2.3 随书资源管理 22

4.2.4借阅管理 24

4.3 Android客户端使用演示和测试 26

4.3.1 资源搜索及下载 26

4.3.2 资源在线预览 27

4.3.3 当前借阅查询 27

4.3.4 推送 28

第五章 总结与展望 31

5.1论文总结 31

5.2工作展望 31

致谢 32

参考文献 33

第一章 绪论

1.1研究背景

当前,大学图书馆拥有众多的书籍随书光盘,存储着随书附赠的视频、音频、文档和程序等电子资源,是我们在学习工程中可能用到的重要资源。使用这些资源最直接的办法是到图书馆借阅,然后在电脑中访问。但每次使用光盘都需要去图书馆借,很不方便。于是很多大学已经应用了基于网页的非书资源管理系统,把光盘上的文件做成光盘镜像(ISO文件),存储在服务器中,供需要使用的人下载。另外,如果下载了客户端,甚至可以不用下载直接查看光盘中的文件。

非书资源管理系统是非常方便实用的系统,使得我们可以在PC上快捷地访问随书光盘。但随着智能手机、平板电脑等移动设备的高速发展,越来越多的人依赖手机、平板来获取信息。因此我们迫切需要开发能够在手机、平板上使用的非书资源管理系统,以方便学校的师生用户访问光盘资源。

Android是应用于手机或平板的移动操作系统,是应用最广泛的移动操作系统。首先,开发基于Android的图书馆非书资源管理系统,实现下载文件到本地、直接查看光盘中的文件、在线播放或阅读等功能,可以解决师生在移动设备上访问随书资源的需求;其次,还可以实现新资源推荐、热门资源查询、资源订阅等功能,方便有需求的用户定期获得有用的光盘资源;最后,可以实现对实体光盘的可借光盘的查询及预约功能,方便对实体光盘有需求的同学借阅。综上所述,基于Android的图书馆非书资源管理系统有十分实用的功能,开发该系统具有重要意义。

目前,尚无投入使用的基于Android的图书馆非书资源管理系统,开发该系统需要我们从零开始,一步一步探索。本论文的意义就在于:验证基于Android的图书馆非书资源管理系统的可行性,以及探索该系统的实现方案。

1.2研究现状分析

1.2.1现有非书资源管理系统分析

现在大学使用的非书资源管理系统主要有南京昂克的“非纸质资源管理系统”、杭州卓源科技的“CD Tower 光盘系统”、杭州麦达的“博文非书资源管理系统”、畅想之星的“畅想之星非书资源管理平台”[2]。其中“畅想之星非书资源管理平台”是最为成熟、功能最为完善的系统,支持在线预览文件等核心功能;该系统已经在清华大学图书馆、北京大学图书馆、天津大学图书馆、南京大学图书馆等推广使用。该系统对于我们的课题有非常重要的借鉴意义,在此分析此系统的实现要点。

在线查看、下载ISO镜像里面的文件是十分常用的功能,是十分必要的。畅想之星的方案是在PC机上安装客户端,通过客户端与服务器的协作,客户端将服务器上的ISO镜像以网络光驱的形式挂载到本地,如图1所示。这样,就可以像访问光盘一样访问远程ISO镜像,可以查看镜像中的文件、可以复制有用的文件到本地、可以用本地软件打开镜像上的文件。该方案中网络光驱挂载的技术是畅想之星的自有技术,我们无法获取;但在线查看ISO镜像里面的文件还有另一种实现方案:在Linux系统中,将ISO镜像挂载(mount)[3]到指定目录,查看、下载镜像里面的文件时,就访问挂载目录中的文件。经测试,该方案可行,已经在本课题项目中使用。

  1. 畅想之星客户端挂载网络光驱

文件下载也是常用功能之一。畅想之星的方案是使用P2SP技术[4],如图2所示,从服务器和种子端下载数据,相应的也就要求客户端必须做为种子端一直对外提供服务。该方案不适用于移动设备,因为作为种子端对外提供服务会急剧加速电量消耗。本课题中,我们使用另一种下载方案:多线程断点续传[5]。

多线程的意义在于:同时开启几个线程请求一个文件的不同部分,使下载速度显著提升;断点续传的意义在于:下载过程中将下载位置记录到数据库中,一旦断线或暂停,可根据数据库中的记录恢复下载。该方案中,下载数据完全来源于服务器,当下载人数较多时将出现性能严重下降的问题,应使用镜像服务器和负载均衡的办法来缓解。

  1. 畅想之星提供P2SP下载

系统架构方面,畅想之星的方案几乎完全基于B/S架构[6]。无论是后台对用户、书籍、光盘镜像的管理,还是普通用户搜索、查看非书资源,都可以在浏览器中完成。但在本课题中,已经假定普通用户使用客户端搜索、查看非书资源;而后台管理方面,仍可以沿用畅想之星的方案,即B/S架构的后台管理。故最终后台架构为后台管理B/S架构、普通用户搜索查看C/S架构[6],如图3、图4所示。

  1. 后台管理时的系统结构图

  1. Android客户端与服务器交互的系统结构图

1.2.2 Android客户端在线预览远程文件

畅想之星等公司的方案,都是通过挂载远程ISO镜像的方式访问镜像里面的文件,打开镜像里的文件就像打开本地文件一样。但由于技术原因,目前并不能在Android客户端上挂载远程ISO镜像,只能在服务器端挂载镜像、访问挂载目录里面的文件,客户端通过服务器读取相应内容,以实现在线访问镜像里面的文件。随之而来一个问题,即不能再像打开本地文件一样打开远程镜像的文件了。

基于上述方案,客户端已经可以通过某个链接访问到镜像里面的文件,例如localhost:8080/getFileInIso.do?file=test.isoamp;filePath=/test.mp4。那么如何对镜像里面的文件进行在线预览呢?我们把文件分为视频文件、音频文件、图片、文档(word、excel、ppt、pdf等格式)和其它,探讨在线预览这些类型文件的现有方案。对于主流视频、音频格式文件,Android提供了MediaPlayer[7]这个公共类来播放他们,并且MediaPlayer支持播放网络上的文件,我们可以借助该类实现对主流视频、音频的在线预览;对于图片和文档,没有类似MediaPlayer这样的支持远程预览的类,但考虑到图片和文档通常较小,可以先将文件缓存到本地,然后在本地打开文件,实现文件在线预览;其它类型的文件,可以先将文件缓存到本地,然后提示“本应用不支持该类型文件,是否调用本地应用打开”。按照此方案,即可实现在线预览功能。

1.2.3客户端推送的实现方案

推送[8]是本课题中需要实现的功能之一。推送的基本原理是由客户端向推送服务器发起一个连接并保持连接(长连接),当推送服务器有新的消息时就把新消息推送给客户端。目前,Android的推送服务可以采用一下几种方案:

  • C2DM云端推送功能: Google提供了C2DM(Cloud to Device Messaging)服务,用于向客户端推送消息。C2MD仅支持Android2.2及以上系统,且依赖于C2MD服务器。由于国内的网络环境,C2MD服务器经常不可访问,故不适合用此方案实现推送。
  • 自行搭建推送服务器:我们可以基于MQTT、RSMB或XMPP协议搭建自己的推送服务器,但自行搭建推送服务器需要较高的时间成本、硬件成本和运营成本,在非必要的情况下,也并不推荐这个方案。
  • 使用第三方推送平台:目前国内出现了许多第三方推送平台,其中不乏提供免费服务的,如个推、极光推送、百度云推送、云巴。采用第三方推送平台只需简单的集成推送SDK,开发效率高,没有运营成本,是首选的推送方案。

综合来看,第三方平台是最为省时省力的方案,实现也快,更适用于本方案。

1.3研究内容与目标

剩余内容已隐藏,请支付后下载全文,论文总字数:22882字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;