達州職業(yè)技術(shù)學(xué)院 張彬
隨著智能圖書館和數(shù)字圖書館的出現(xiàn),傳統(tǒng)功能圖書館的傳播社會文化和提供文獻信息等相關(guān)功能也發(fā)生了改變。在此背景下,本文通過運用新一代信息技術(shù),在圖書館中有效運用Android平臺,實現(xiàn)移動圖書館功能設(shè)計與實現(xiàn),為用戶提供更加方便快捷的服務(wù)。
隨著網(wǎng)絡(luò)時代的到來,移動通信用戶數(shù)量穩(wěn)步增長,各種各樣的移動通信工具成為人們生活中的必需品,將無線通信技術(shù)運用到人們?nèi)粘I钪惺谴髣菟匸1]。以手機為代表的移動終端的廣泛使用、互聯(lián)網(wǎng)的高速發(fā)展,帶來了信息的快速整合與傳播,這已經(jīng)徹底改變了人們傳統(tǒng)的社交、通信、娛樂和信息獲取的方式,進入了一個新媒體時代[2]。Android操作系統(tǒng)憑借著自身完整、可靠、開放等優(yōu)勢,在智能移動通信終端的操作系統(tǒng)平臺中脫穎而出,占有著大量的市場份額,并隨著使用者數(shù)量的持續(xù)增多和基于此平臺應(yīng)用程序種類的日漸豐富,平臺技術(shù)逐漸走向成熟[3]。目前,Android系統(tǒng)已經(jīng)逐漸成為全球第一大智能操作系統(tǒng)。作為輕量級Web應(yīng)用服務(wù)器的Tomcat由于其先進的技術(shù)、卓越的穩(wěn)定性及可擴展性,而且是免費的,在中小型系統(tǒng)開發(fā)和并發(fā)訪問該系統(tǒng)的用戶不會很多的情況下被普遍使用。Tomcat深受廣大Java愛好者的喜愛以及部分應(yīng)用開發(fā)商的認(rèn)可,已經(jīng)成為當(dāng)下比較流行的Web應(yīng)用服務(wù)器?;贏ndroid+Tomcat的系統(tǒng)架構(gòu)可同時滿足客戶端的用戶體驗與服務(wù)器端系統(tǒng)的復(fù)雜信息處理功能,是移動應(yīng)用的一種較完善的開發(fā)模式。
隨著信息技術(shù)的不斷發(fā)展,圖書館作用也發(fā)生了很大改變。智能圖書館和數(shù)字圖書館已經(jīng)將傳統(tǒng)功能圖書館逐漸替代,隨著新技術(shù)的發(fā)展,傳統(tǒng)功能圖書館的傳播社會文化和提供文獻信息等相關(guān)功能性也發(fā)生了改變。開發(fā)和研究移動圖書管理系統(tǒng),不但使圖書管理員工作的地點會更加靈活,學(xué)生也能夠隨時地預(yù)約和查詢以及掛失圖書[4]。手機客戶端形式的圖書管理系統(tǒng),能夠促使學(xué)生接觸更多的圖書館信息。為此,本文開展基于Android的移動圖書館系統(tǒng)體系結(jié)構(gòu)設(shè)計、功能設(shè)計以及實現(xiàn)方法研究,相對于傳統(tǒng)Web應(yīng)用,該系統(tǒng)與生活更加貼近,使圖書館信息更加具有實時性。
移動圖書管理系統(tǒng)采用B/S+C/S架構(gòu)構(gòu)成,見圖1所示。
圖1為系統(tǒng)展示端,分成移動設(shè)備端和PC機端。移動設(shè)備采用的是C/S結(jié)構(gòu),C/S即客戶端/服務(wù)器的方式,C為客戶端,由用戶自行安裝客戶端定制的應(yīng)用軟件,進行數(shù)據(jù)的錄入和展示,S為服務(wù)器端,則提供數(shù)據(jù)的處理與存儲。PC端采用的是B/S結(jié)構(gòu),B/S的S端和C/S的S端類似,都是提供數(shù)據(jù),不同的是展示端由B瀏覽器進行顯示。C/S結(jié)構(gòu)下的展示端可以自行設(shè)計更簡單易用的界面,提升用戶的使用體驗。移動校友錄的C/S架構(gòu)設(shè)計成讓移動用戶自行安裝系統(tǒng)對應(yīng)的Android系統(tǒng)的apk文件,主要用于學(xué)生或老師登錄系統(tǒng)進行移動查閱圖書刊物,進行電子雜志的閱讀,并實現(xiàn)移動聊天功能。B/S架構(gòu)設(shè)計主要用于系統(tǒng)管理員進行基礎(chǔ)數(shù)據(jù)的維護,不需要華麗的操作界面,只需要一臺能連入互聯(lián)網(wǎng)的PC機,打開瀏覽器就可以進行系統(tǒng)的維護操作。
圖1 系統(tǒng)架構(gòu)圖
圖書館是一個需要進行海量信息存儲的平臺,因此系統(tǒng)服務(wù)器端采用了云存儲的方式。云存儲的數(shù)據(jù)服務(wù)器除了能對海量數(shù)據(jù)保存,并能提供安全高效的數(shù)據(jù)并發(fā)處理和保護功能。云存儲能保證傳統(tǒng)數(shù)據(jù)庫數(shù)據(jù)的正常訪問,同時也能對大量傳統(tǒng)文件進行快速高效的讀取服務(wù),這些特點印證了云存儲是移動圖書館數(shù)據(jù)服務(wù)端的首選技術(shù)。圖2為系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)。
圖2 系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖
構(gòu)建基于云存儲結(jié)構(gòu)的存儲平臺,自然而然就會想到去運用處理海量數(shù)據(jù)的云結(jié)構(gòu)Hadoop。用Hadoop的HDFS進行分布式數(shù)據(jù)存儲,運用MapReduce進行并行編程模型,把其與最經(jīng)典的系統(tǒng)平臺結(jié)構(gòu)MVC進行結(jié)合。
基礎(chǔ)層主要采取的是Hadoop和mysql數(shù)據(jù)庫結(jié)合的方式進行處理。Hadoop主要用來對非結(jié)構(gòu)化或半結(jié)構(gòu)化(HBase)數(shù)據(jù)進行存儲和分析,而結(jié)構(gòu)化的數(shù)據(jù)則一般使用數(shù)據(jù)庫來進行存儲和訪問。因此,基于Hadoop集群實現(xiàn)結(jié)構(gòu)化的海量圖書館數(shù)據(jù)存儲,比如館藏查詢、電子書籍、視頻等大文件系統(tǒng)。而對于系統(tǒng)個人信息模塊產(chǎn)生的數(shù)據(jù),暫時采取的是對云技術(shù)支持的開源mysql數(shù)據(jù)庫進行存儲。
平臺層主要考慮的是如何將云計算存儲的信息系統(tǒng)進行部署,并采用并行方式調(diào)度云存儲數(shù)據(jù)。Apache Hadoop是一款支持?jǐn)?shù)據(jù)密集型分布式應(yīng)用并以Apache 2.0許可協(xié)議發(fā)布的開源軟件框架。它支持在商品硬件構(gòu)建的大型集群上運行的應(yīng)用程序,并實現(xiàn)了MapReduce的編程范式:應(yīng)用程序被分割成許多小部分,而每個部分都能在集群中的任意節(jié)點上執(zhí)行或重新執(zhí)行。Apache Hadoop成為大數(shù)據(jù)處理的標(biāo)準(zhǔn),但由于它對負(fù)載平衡性要求比較高,就決定了它對硬件需求比較高和部署、運行的復(fù)雜性,因此運行在此平臺上就不得不讓人有安全上的顧慮,并且系統(tǒng)出故障的話會難于下手等,這些難題讓其無法充分發(fā)揮Hadoop的威力。通過把Apache Hadoop節(jié)點從底層物理基礎(chǔ)架構(gòu)剝離,VMware可以將云基礎(chǔ)架構(gòu)的優(yōu)勢帶給Hadoop,包括快速部署、高可用性、最佳資源利用率、安全多用戶。
業(yè)務(wù)層的核心功能在于讓用戶快速查詢到想要的館藏資源,進行在線閱讀,并能預(yù)約圖書,下載電子資料到手機進行離線閱讀。這一層考慮用Android和Hadoop都能支持的Java語言進行編碼實現(xiàn)。
用戶層是直接面向用戶,采取的是面向用戶的Web2.0設(shè)計模式,在移動設(shè)備上的應(yīng)用和在電腦上的應(yīng)用給用戶的體驗必然不一樣,因此需要遵循移動設(shè)計的準(zhǔn)則。由于本系統(tǒng)采用以B/S和C/S結(jié)構(gòu)相結(jié)合的方式,移動端和PC端都進行設(shè)計,都要遵循Web2.0的準(zhǔn)則,以用戶體驗為上。
系統(tǒng)整體代碼組織模式為MVC方式,即模型-控制器-視圖(Model、Controller、View)模式。
Model(模型)主要用一系列的方法提供應(yīng)用程序的數(shù)據(jù)來源,在移動圖書管理系統(tǒng)中系統(tǒng)的數(shù)據(jù)來源于用Jdbc獲取Mysql的數(shù)據(jù)和Hadoop的HDFS獲取的文件映射。從Hadoop處獲取的資源性能是高于直接運用jdbc獲取的資源,這里為了提高性能,改成用Hadoop的Hbase技術(shù)將Mysql數(shù)據(jù)庫進一步封裝,提高性能。
Controller(控制器)是對數(shù)據(jù)進行處理,銜接數(shù)據(jù)層和視圖層,起到承上啟下的關(guān)鍵作用。因為圖書館是具有大數(shù)據(jù)量的系統(tǒng),并且本系統(tǒng)涉及的圖書館有三個子館,決定了數(shù)據(jù)只能通過云存儲的數(shù)據(jù)集方式進行存儲。多臺服務(wù)器同時運行時,就需要用并行處理性能高的MapReduce。本系統(tǒng)中的控制層主要是用MapReduce處理并行查詢,并行下載期刊資源,對數(shù)據(jù)進行挖掘推送顯示。
Android平臺主要包括五個部分,即應(yīng)用程序框架、關(guān)鍵應(yīng)用程序、Android運行庫、C/C++函數(shù)庫以及優(yōu)化了的Linux。根據(jù)Android平臺,設(shè)計移動圖書館管理系統(tǒng)功能的模塊,見圖3所示。
圖3 移動圖書館管理系統(tǒng)功能模塊圖
管理員將用戶名及密碼輸入,進入到軟件主頁面,圖書管理、學(xué)生用戶管理、借閱預(yù)約圖書、罰款繳費、掛失歸還圖書以及幫助和注銷等操作便可以進行。(1)圖書管理功能:書號輸入,進入詳細(xì)的圖書信息頁面,對圖書有關(guān)信息可以查詢;新書入庫,并且將新書的有關(guān)信息錄入;(2)學(xué)生管理功能:學(xué)生學(xué)號輸入,查看和刪除以及修改的操作都可以進行;(3)借閱預(yù)約圖書功能:學(xué)生學(xué)號輸入,對學(xué)生預(yù)約和借閱圖書情況進行查看;(4)罰款繳費功能:學(xué)生學(xué)號輸入,對學(xué)生欠費的信息進行查看;(5)掛失歸還圖書:學(xué)生學(xué)號輸入,該學(xué)生借閱的全部圖書顯示出來,進行歸還和掛失的操作;(6)管理員的管理功能:該功能主要是為超級管理員設(shè)計的,刪除和修改管理員的操作。
學(xué)生將用戶名及密碼輸入,進入軟件主頁面,查詢、預(yù)約、掛失、幫助、注銷以及退出等相關(guān)操作便可以進行。(1)查詢功能:查詢個人借書和查詢館內(nèi)圖書。查詢還分為高級查詢和簡單查詢,并且對模糊查詢也給予支持。(2)預(yù)約功能:預(yù)約圖書號輸入,若未被借閱,便能夠進行預(yù)約;否則不可以被借閱。預(yù)約管理主要對預(yù)約圖書信息以及預(yù)約取消進行查詢。(3)掛失功能:學(xué)生學(xué)號和密碼輸入,該學(xué)生借的全部圖書顯示出來,再將需要掛失的圖書進行選擇。(4)幫助功能:介紹基于Android的移動圖書館的系統(tǒng)功能的使用方法。(5)注銷功能:用其他用戶登錄,或者用戶退出移動圖書館管理系統(tǒng)。
該系統(tǒng)主要運用了Mysql數(shù)據(jù)庫,由許多不同客戶程序、數(shù)據(jù)庫以及1個服務(wù)器守護程序構(gòu)成。數(shù)據(jù)庫是系統(tǒng)實現(xiàn)的基礎(chǔ),設(shè)計的過程中,合理性必須要保證。合理科學(xué)地設(shè)計數(shù)據(jù)庫,無論是數(shù)據(jù)庫的應(yīng)用,還是后期維護數(shù)據(jù),都會比較方便。根據(jù)需要,構(gòu)建了管理員基本信息表、用戶基本信息表、借閱圖書信息表、圖書基本信息表、超期圖書信息表、借閱圖書信息表、圖書基本信息表以及掛失圖書信息表等數(shù)據(jù)表。
根據(jù)需要,對要求功能進行分析,使各模塊功能得以實現(xiàn)。為了使移動圖書館管理系統(tǒng)安全性能夠有效地提升,無論是管理員客戶端,還是學(xué)生客戶端都要單獨開發(fā)。這樣能夠避免學(xué)生得到管理員密碼以后,登錄系統(tǒng)并且將數(shù)據(jù)庫信息改動。
例如,學(xué)生登錄,先進入歡迎頁面,學(xué)生將用戶名及密碼輸入,進入操作主頁面。主頁面按鈕主要有查詢、掛失、預(yù)約、注銷、關(guān)于、幫助以及退出。
點擊學(xué)生主界面上的查詢按鈕,進入到查詢圖書的界面,該界面主要包括查詢個人節(jié)約和查詢館內(nèi)圖書以及返回到上一界面的功能,兩個查詢按鈕左側(cè)的圖標(biāo),提示用戶進行單擊。對圖書信息查詢的按鈕進行單擊,進入到查詢圖書信息的界面,該界面又分為高級查詢和簡單查詢,單擊高級查詢按鈕和簡單查詢按鈕,不同界面就會顯示出來,界面下方為動畫控件,既可以點綴圖像,又可以添加廣告。
測試機器運用實體機與虛擬機集合測試,測試不同用戶登錄。其一,管理員用戶的登錄軟件,對圖書管理、用戶管理、借閱管理、查詢圖書、預(yù)約管理、繳費管理、掛失歸還管理以及管理員管理等操作進行測試;其二,學(xué)生用戶登錄軟件,對預(yù)約和查詢以及掛失圖書等操作進行測試。經(jīng)過測試,軟件能夠正常地運行,實現(xiàn)基于Android的移動圖書館功能與分析需求相符合。
分析和研究基于Android的移動圖書館的主要目的,就是將當(dāng)前應(yīng)用圖書館擴展到手機終端,廣大的教師和學(xué)生不用親自到圖書館,運用手機就能夠操作查詢和預(yù)約以及續(xù)借圖書等,并且新書到圖書館以后,系統(tǒng)會用短信的形式將提醒信息發(fā)送。既給師生書刊借閱和文獻提供了方便,又能夠協(xié)助圖書館管理藏書的借出、整理、歸還、催還以及歸類等。