





[摘 要]針對當前高校多校區圖書資源通借困難、管理效率低下等問題,設計基于微架構的圖書通借系統。系統采用“Struts+Spring+Hibernate”開發框架,后端采用Java EE開發相關技術,數據存儲選用Oracle數據庫。系統整體架構由終端層、表示層、Web層、邏輯層和服務器層組成。從業務邏輯功能和數據庫設計兩方面闡述系統的技術實現過程。在進行性能測試和功能測試后發現,系統在響應時間、并發數、吞吐量等性能指標中表現較優,具有顯著的系統功能優越性。支持多表示環境和多系統運行環境,手機端、PC端等終端可并行登錄,能識別和控制多類型身份,系統的業務邏輯功能得以實現。能夠滿足跨校區圖書的通借需求,符合系統設計預期技術目標。
[關鍵詞]微架構 系統設計 Oracle 系統測試
[分類號]TP391
多校區運作為高校發展的基本模式,而異校區圖書館采用總分館、學科館或主題館的協同模式[1]。在“四新”學科的交叉與融合背景下,跨區域的圖書通借需求日益增加。限于經濟成本、人力資源和管理機制等因素,多數圖書館缺乏高效的業務協同系統、業務處理進度查詢功能和三方暢通的溝通渠道。且由于缺乏相應技術和系統,目前開展的通借服務通常采用讀者入館填寫跨校區圖書預約單的形式,費時費力、溝通成本高、服務效能低下。為了解決這些問題,筆者設計了一款跨校區圖書通借業務系統,其區別于同類系統的最大技術優勢在于運用微架構技術搭建整體結構,將業務邏輯模塊高度集成,為用戶提供更多的訪問終端入口。
1 圖書通借系統設計
1.1 系統整體架構
考慮用戶在局域網內和局域網外同時訪問圖書通借系統的利用需求,筆者采用多并發數、廣連接性和高開放性的微架構模式作為圖書通借系統的底層網絡架構[2]。根據系統設計目標、技術需求和圖書通借業務邏輯設計出基于微架構的圖書通借系統整體架構,采用服務器層、邏輯層、Web層、表示層和終端層五級架構方法,如圖1所示。
1.2 系統架構剖析
1.2.1 終端層
終端層為系統的基礎層和物理層,向用戶展示各類系統服務,實現用戶與系統的友好交互[3]。用戶在終端層體驗和使用系統的圖書通借功能。終端層向表示層提出應用需求,表示層將計算和解析結果輸出顯示至多種類型的終端界面。在WLAN、LAN、WPAN、GSM、5G和CDPD等多類型組網環境下,用戶形成通過移動終端、IPAD、PC機和可穿戴設備訪問圖書通借系統的需求,因此筆者設計的圖書通借系統支持用戶多渠道使用,滿足多終端訪問的技術要求。
1.2.2 表示層
表示層通過域名服務器與Web層建立連接并進行數據交互。表示層通過GET、POST或者FTP等請求服務器向Web層發送HTTP請求,Web層渲染JSON后將圖書通借業務邏輯HTML網頁數據輸出至表示層。在圖書通借系統設計方案可行性分析時,用戶存在校內局域網(LAN)和校外廣域網(WAN)兩種訪問模式。設計的系統需具備廣開放、多用戶并發數、可移植、易擴展和支持異構系統連接等特征。筆者采用的微架構網絡模式可以滿足以上技術特征要求,運用“瘦客戶端”的技術方案,用戶終端統一采用Browser方式,支持IE、Safari和Firefox等多瀏覽器訪問模式,將系統業務邏輯的核心部分集中于Web服務器和數據庫服務器上,用戶可以在不同網絡環境、不同校區、不同學習研究環境中實現便捷連接和訪問系統。簡化系統開發、維護和使用流程,較好地改善系統的擴展性、易用性、兼容性和開放性。
1.2.3 Web層
Web層為表示層和邏輯層的銜接層,是實現異物理空間圖書通借功能的關鍵。Web層的重要作用為接受來自表示層的HTTP請求或者域名請求,通過DNS服務系統解析HTTP請求或域名請求中的URL并定位模板文件,運用Apache、IIS、ASP、ADO、.NET和PWS應用程序調用圖書通借系統邏輯層的各種業務邏輯模塊。對系統邏輯層的數據邏輯處理結果進行渲染JSON,根據HTTP請求或域名請求中URL的參數和模板文件生成HTML文件并返回至表示層。
1.2.4 邏輯層
邏輯層為圖書通借系統的核心層,是圖書通借業務的承載層,接受來自Web層的業務邏輯調用請求,對圖書通借業務數據進行邏輯處理后返回至Web層。為了提高系統的運行效率,邏輯層通過調用MELINETS系統提取用戶賬戶信息、圖書狀態信息、圖書館藏信息、圖書索書號和圖書流通狀態等基礎數據,并向服務器層發出SQL請求,申請進一步的業務數據處理和業務數據分析。在前期用戶調研、文獻調研和其他信息機構實踐路徑分析的基礎上,設計和劃定出系統邏輯層的核心業務模塊,主要包括身份認證、圖書通借、圖書、進度處理、業務協同和反饋互動模塊。
1.2.5 服務器層
服務器層為系統的后端,執行系統大多數事務邏輯和應用邏輯的運算、處理與實現。服務器層的主要作用為接受來自邏輯層的SQL請求,并調用相應模塊對數據進行獨立運算、深度分析后將處理結果返回至邏輯層,同時支持系統開發人員通過調用MELINETS系統對Oracle數據庫進行數據清洗、信息查詢等技術功能。服務器層包括硬件模塊(CPU、GPU、UPS)、軟件模塊(代理服務器軟件、服務器管理軟件)、存儲模塊(磁盤陣列)、權限控制模塊、讀寫模塊(DMA)、計算模塊、解析模塊和輸出模塊(通信設備)等。筆者所選用的微架構網絡架構將服務器置于廣域網環境中,保證系統具有高度的開放性和交互性,服務器層安裝Oracle數據庫,服務器后臺通過一定的權限控制實現多用戶有效訪問的技術目標。在系統服務器后臺進行升級時,系統前端無需升級瀏覽器客戶端軟件,提高了圖書通借系統的易用性和適用性。
1.3 系統運行流程設計
圖書通借指的是用戶在本地分館借閱其他異地分館的圖書[4]。請求響應、處理進度、協同效率和有效反饋為影響用戶利用圖書通借服務的關鍵因素[5],考慮以上關鍵因素,結合圖書通借事務的處理邏輯設計出系統的圖書通借流程,如圖2所示。圖書通借的基本流程為:用戶通過MELINETS系統檢索到目標圖書,當該書在本地分館未收錄而在異地分館在架可借時,用戶在圖書通借系統中提交目標圖書預借申請,異地分館接收、審核用戶提交的預借申請信息,之后在書庫中尋找、打包、運送目標圖書至用戶所在分館。用戶所在分館接收、核對目標圖書后在系統中發送預約圖書取書通知,用戶在系統約定的取書時間范圍內取書,并由該分館為其辦理正式圖書借閱手續。
2 圖書通借系統實現
2.1 系統業務邏輯功能實現
圖書通借系統的業務邏輯功能主要包含身份認證、圖書通借、進度處理、業務協同和反饋互動模塊。筆者設計的業務邏輯功能模塊之間存在數據關聯,可根據應用需求切換。
2.1.1 身份認證模塊
通過“admin”數據表添加、修改或刪除管理人員的狀態信息和系統權限。“admin”記錄管理人員的姓名(real name)、用戶名(login_name)、密碼(password)和權限等級(level_type)等數據字段。在“reader”數據表執行添加、修改普通讀者的賬戶信息。“reader”記錄姓名(name)、卡號(card_number)和狀態(status)等數據字段。狀態(status)數據字段對讀者的信用積分進行判定,如低于設置的系統最低信用積分將被限制申請請求。
2.1.2 圖書通借模塊
讀者在OPAC中查詢到所需圖書在本地館已全部被借出或無收藏,但在異地分館有收藏且處于可借狀態時,可通過圖書通借模塊提交圖書通借申請。圖書通借申請網頁(XML/HTML)中包含申請者個人信息、所在校區、所在分館、目標圖書題名、目標圖書著者和目標圖書ISBN號等狀態信息,通過“borrow_books_help”數據表實現圖書通借功能,該表包括圖書館id(library_id)、圖書詳情鏈接(details_url)和讀者id(reader_id)等字段。讀者通過圖書通借模塊提交具體的目標圖書狀態數據,管理人員在接收到圖書通借申請后進行數據審核和數據校驗。
2.1.3 進度處理模塊
進度處理模塊用以添加、修改、確認和更新業務邏輯處理的進展情況,具備高度的網絡開放性和系統兼容性,能夠滿足異構網絡環境下異地管理人員同步進行進度處理操作的技術需求,通過“Progress_processing”數據表實現業務邏輯處理進度控制功能。數據表包含分館id(branch_library_id)、圖書預借請求處理(book_pre_loan_request_processing)、圖書驗收(book_acceptance)和物流進度(logistics_progress)等字段,所形成的大量圖書通借業務進度處理字段數據為業務協同模塊、反饋互動模塊提供數據支撐。
2.1.4 業務協同模塊
業務協同模塊通過“coordination”數據表實現多區域、跨系統的管理人員協同處理功能。數據表中包含分館id(branch_library_id)、圖書預借協同處理(book_pre_loan_coordination)和物流協同處理(logistics_collaboration)等字段。在圖書通借的物流進程、圖書驗收和典藏地點調整等環節中需多分館管理人員通過業務協同模塊協同處理。
2.1.5 反饋互動模塊
通過“Feedback_interaction”數據表實現不同類型人員的反饋與互動。主要實現以下功能:系統開發人員向管理人員發送技術指南、升級公告和使用提示;管理人員向系統開發人員發送系統運行故障參數情況;管理人員之間進行圖書代借、物流配送、問題書處理和違約規則等事宜的溝通;管理人員與普通讀者約定待借書取書時間和讀者使用評價反饋等事宜。數據表包含分館id(branch_library_id)、技術指南(technical_guidelines)、物流進程(logistics_process)、服務約定(service_agreement)和讀者評價(readers'_evaluation)等字段。
2.2 系統數據庫設計
在系統業務邏輯實現過程中,數據庫的構建尤為重要。數據表為數據庫中的存儲層和數據層模型,在數據庫中發揮著裝載實際業務邏輯運行數據的作用。數據庫設計為圖書通借系統實現中的基礎部分,其設計的合理性、有效性和擴展性關系到系統的運行效率和應用拓展,須確保數據庫的一致性和完整性,確認數據表間的相互關系,盡可能降低數據的冗余[5]。筆者設計的數據庫包含的主要數據如表1所示,其中僅列舉出部分數據表名稱和主要字段。
3 圖書通借系統測試驗證與分析
3.1 性能測試
為了評估此圖書通借系統的運行性能,運用常用的性能測試工具LoadRunner模擬多種正常、峰值、負載等條件對多個樣本系統進行性能測試[6]。測試樣本分別為:基于微信公眾號的圖書通借系統(樣本A)、業務系統嵌入式圖書通借系統(樣本B)、基于微信小程序的圖書通借系統(樣本C)和筆者所設計的系統(樣本D)。LoadRunner包含3個部分,分別為User Generator、Controller和Analysis。User Generator用于設置虛擬用戶和錄制腳本,Controller用于設置和運行場景,Analysis用于分析測試結果。將測試腳本設置為讀者驗證、業務請求和狀態參數查看,設置虛擬用戶的數量為200,每15秒啟動5個用戶,用戶啟動完成后運行5分鐘,之后每15秒停止5個用戶,場景設置為手動測試場景。LoadRunner性能測試流程見圖3,性能測試指標以及測試結果見表2。
3.2 功能測試
為了驗證和測試筆者所設計系統功能的優越性,設置系統的功能測試指標,如表3所示。選取200名信息機構的用戶按照指標體系對4種樣本系統進行打分,樣本系統的得分依據為在各項指標中的加權平均值。
表3 樣本圖書通借系統功能測試指標體系
[一級指標 權重 二級指標 權重 a:系統功能 0.55 a1:身份認證 0.05 a2:通借申請 0.15 a3:進度處理 0.12 a4:業務協同 0.13 a5:反饋互動 0.10 b:易用性 0.45 b1:易學性 0.15 b2:界面簡潔 0.10 b3:多終端入口 0.10 b4:多網絡環境 0.10 ]
樣本A的總評分值為6.7,樣本B的總評分值為4.8,樣本C的總評分值為5.4,樣本D的總評分值為8.5。由此可知,筆者所設計的系統在系統功能、易用性兩個核心測試指標方面具有較大的優勢,更能滿足用戶的跨區域圖書通借服務需求,更為接近用戶的圖書通借系統利用期望值。
3.3 測試結果分析
為了驗證筆者所設計系統的性能優勢和功能優勢,采用系統性能測試和系統功能測試雙重測試方法。經過LoadRunner進行性能測試,發現其在響應時間、并發數、吞吐量等系統性能指標中表現較優。運用基于用戶使用評價的方法進行功能測試,發現其具有更顯著的系統功能優越性。
4 結語
筆者從系統整體架構、系統微觀剖析和系統運行流程設計3個視角設計出基于微架構的圖書通借系統。從系統業務邏輯功能和系統數據庫設計兩方面闡述系統的具體技術實現思路和實現過程。經過雙重測試,筆者所設計系統在性能和功能兩個維度均有顯著優勢,支持多瀏覽器界面表示和多操作系統環境運行,可供手機端、PC端等多用戶設備并行登錄,可對多類型用戶身份的賬戶進行識別和訪問控制,能實現系統的圖書通借模塊、進度處理控制模塊和反饋互動模塊等業務邏輯功能。后期本系統可與物聯網、人工智能技術結合,有望實現讀者代借圖書的智能識別、智能暫存和自助提取,以及讀者與系統的智能交互,亦可運用神經網絡算法為讀者智能推薦符合其興趣的書目。
參考文獻:
[1] 李燦.高校多校區圖書館通借通還系統設計與實現[J].圖書館學刊,2010(12):93-95.
[2] 黃海.大數據時代圖書館微服務研究[J].河南圖書館學刊,2023(3):59-62.
[3] 張宸,王惠森.基于微服務架構的圖書館機構知識庫設計研究[J].圖書館學研究,2017(8):59-63,97.
[4] 呂霞,宋嬌,范澤華.多校區圖書館通借通服務設計與實現——以華中科技大學圖書館為例[J].現代信息科技,2022(10):91-93,98.
[5] 朱東.海量數據庫的設計與優化[J].電腦知識與技術,2016(28):24.
[6] 林生旭,盤茂杰.軟件測試技術及其測試工具的研究與應用[J].現代計算機,2023(12):37-43.
杜文龍 男,1986年生。碩士,副研究館員。研究方向:信息技術與計算機應用。
徐光輝 男,1975年生。碩士,館員。研究方向:計算機技術與應用。
柴 源 男,1985年生。碩士,副研究館員。研究方向:知識組織。
(收稿日期:2023-05-21;責編:鄧鈺。)