蘇志芳, 蔣文梅, 李麗峰
(中南大學 圖書館,湖南 長沙 410083)
2018年黨的十九大報告中提出建設“智慧社會”,推動著以互聯、智能、高效、便捷為主要特征的智慧圖書館研究和建設如火如荼[1],對圖書館的服務形態、服務模式、服務內容、發展方向等新生態產生著巨大的影響。作為智慧圖書館理念下的技術實踐,電子資源管理系統和自動化集成管理系統功能逐漸走向融合,新一代圖書館服務平臺(LSP,即Library System Platform)不僅能夠管理紙本、電子等信息資源,還能優化ERMS工作流程,對圖書館全資源進行管理,為讀者提供全方位的從數據到知識的“智慧化”服務[2],從而提高圖書館全資源的服務水平和社會影響力。智慧圖書館服務平臺的設計和實踐,將成為圖書館業界未來的核心工作之一。
芬蘭學者Aillola于2003年提出智慧圖書館的概念,認為智慧圖書館是讀者可感知、由智能技術和智能設備構成的無空間限制的圖書館移動服務[3]。國內最早由嚴棟于2010年在《圖書館學刊》發表了題為“基于物聯網的智慧圖書館”文章[4]。
隨著智慧圖書館理念與實踐的不斷成熟,近幾年不少高校圖書館、自動化系統開發商及數據商都在嘗試自主研發智慧圖書館系統,借助大數據分析、機器學習等技術高度整合圖書館各類型資源、提供個性化的讀者與服務的智慧圖書館門戶[5]。2015年重慶大學與重慶維普資訊公司以“平臺化”建設為核心,以整合的文獻搜索為基礎,采用用戶層、服務與管理層、資源層、評價與分析層 (數據服務層) 的架構實現管理和服務的全面信息化[6],并打造成數字化校園的教學與科研應用圖書館服務門戶[7]。2016年深圳大學圖書館基于RICE的Kuali框架的OLE系統探索研發新系統,并在CALIS的推動下和EBSCO合作開發新一代圖書館系統CLSP[8]。2018年南京大學圖書館與超星公司合作,共同推進南京大學圖書館服務平臺實驗項目,提出智慧管理平臺、中央知識庫、紙電一體化采選、大數據分析決策和智慧分析應用的智慧圖書館解決方案[9]。2018年廈門大學肖錚先后發表了2篇有關開源圖書館服務平臺FOLIO的文章,對FOLIO的項目背景、社區模式、技術架構等進行了探討[10-11],認為FOLIO采用微服務構建圖書館開放服務平臺,是對圖書館管理平臺的一次重新設計。北京大學周義剛、聶華于2019年初對正在研發中的FOLIO開放性應用模式對本地化功能及個性化需求的幫助提出了強烈的期待[12]。瑞典查爾姆斯理工大學(Chalmers University of Technology)圖書館已經確定作為FOLIO Beta版的用戶[13],用以展示FOLIO平臺不僅具備支持圖書館傳統服務的各項功能,也具有良好的擴展性,可靈活滿足圖書館的創新服務。
FOLIO(Future of Libraries is Open)項目由圖書館、服務提供方和開發者共同參與,于2016年6月啟動,突出了“開放”的理念,旨在創建一個在設計理念與技術架構上超越Alma和WMS(下一代圖書館服務平臺,SOA體系架構)的開源圖書館服務平臺。它采用高度模塊化、開放融合的微服務架構, 既能獨立開發特定的應用程序, 也能組合成統一的平臺。這種協同社群和開源的方式,是圖書館智慧化服務的未來指引[12]。
FOLIO平臺大致由基礎層、消息層、微服務層和界面層四層構成。基礎層包括數據存儲、索引和記錄數據;建立在基礎層之上的消息層,負責應用互操作、權限管理、身份驗證等;應用層是根據業務需求,通過調用不同的API(應用程序編程接口)服務,形成不同應用程序模塊;界面層根據使用場景,不同的應用被組合封裝成圖書館門戶、館員工作門戶、讀者服務門戶、微博微信門戶等不同形式[11]。
智慧圖書館平臺是圖書館建設和服務發展的基礎,集中體現一個圖書館的服務理念、管理和服務水平。
該項目圍繞核心用戶需求,從大數據管理角度出發,提出新一代智慧圖書館服務平臺的功能架構的定位是云+本地部署+微服務,功能需求的定位是紙質+電子資源+數字資源的全媒體統一管理和檢索,實現讀者畫像、資源畫像、學科競爭力分析等數據-信息-知識轉變的智慧服務,具體功能需求如圖1所示。目前圖書館服務的重點在資源建設與管理、資源發現與提供、數據分析與決策支持及空間管理等四個方面,此開放的微服務架構可根據未來圖書館核心業務的發展需求隨時增減和更新。

圖1 新一代智慧圖書管理平臺的需求框架
因此,新一代智慧圖書館服務平臺應以FOLIO為基本架構,在圖書館、讀者、數據庫出版商等用戶需求牽引下,將可獲取(購買、自建、共享、開放獲取等多途徑)的各類型資源 (紙質、電子、數字化、空間等)進行整體規劃 ,涵蓋圖書館管理系統現有和未來的所有業務應用模塊,構建一個共建共享、開放融合的知識數據服務平臺,以豐富的大數據為驅動,提供更好的精準化、知識化、智慧化服務。
智慧圖書館服務平臺(以下簡稱:新一代服務平臺,LSP)的技術架構從基礎層、消息層、應用層和前端界面等四層結構設計,如圖2所示。基礎層負責存儲、索引和記錄數據,mysql存儲普通數據,mangodb主要用來存儲文件、大數據分析和機器學習相關數據。消息層主要負責負載均衡、權限管理、身份認證、系統API網關等,選擇Nginx做Web服務器,主要是用來多服務分發。應用層是微服務級別,除了采訪、編目、典藏、流通等圖書館傳統服務的基本模塊外, 還配置了電子資源管理、智能采訪、智能典藏、資源發現、資源保障分析、學科統計分析等擴展模塊,此外,根據圖書館的業務發展還可以配置具有個性化功能要求的第三方模塊(如研修小間管理、座位預約管理、PDA薦購、個性化推薦等),使之成為滿足圖書館各項業務需求的服務平臺。前端界面層包含桌面瀏覽器、手機瀏覽器、微信等多形式的應用程序界面,更具個性化和情境友好體驗。

圖2 新一代LSP的主要技術框架圖
4.2.1 數據組織
構建圖書館大數據中心。新一代服務平臺設計了一個龐大的數據中心,不僅包含豐富的數據來源,也包含第三方系統的應用發布、統計分析模板發布、參數設置和應用功能模板發布等,主要包含五方面的數據:
A.讀者數據中心:匯集學校師生員工數據、讀者證(校園一卡通)等數據、讀者紙質文獻資源利用行為數據、讀者數字資源利用行為數據、讀者入館行為數據、讀者在圖書館空間資源利用行為數據等。
B.元數據中心:各數據庫所包含的期刊母體和圖書元數據、資源對象元數據;提供CNMARC、USMARC、DC、BIBFRAME等多種格式的資源元數據。
C.電子資源數據中心:分為庫、包、資源三個層級,包含期刊、圖書、會議論文、學位論文、標準、專利、音頻、視頻等多種文獻類型的數據資源,以及庫、包、資源的相關收錄、評分、分區等擴展信息。
D.資源輔助數據中心:各種輔助資源的匯集,提供書目簡介、作者簡介、目次、評分、評價、價格等相關資源。
E.資源建設數據中心:主要指共享的資源建設數據,例如專題書目、課程參考書、題庫、調研數據等,為大數據分析提供基礎。
新一代服務平臺也將采用當前Web開發中的主流開源技術,底層數據庫用Mysql和MongoDB,其他主要技術如下。
Nginx是一個高性能異步反向代理Web服務器。使用Nginx可實現:全站HTTPS、負載均衡、監控流量、訪問控制、熱更新、AB測試和API網關等。不同的微服務之間通過Nginx實現相互調用。
FOLIO是使用Vert.x進行開發的。Vert.x是新一代輕量級Java異步Web服務框架,其主要特點是高性能、高吞吐量。和運行在Tomcat中的同步Java應用相比,吞吐量可以提升幾倍甚至更高。
Docker應用于應用程序的自動化打包、發布、部署。Docker最大的優點是部署應用方便快捷,不需要在服務器上安裝各種應用,直接下載Docker鏡像,配置幾個啟動參數,就可以啟動一個服務。過去需要花費數小時甚至數天的部署任務,在Docker容器的處理下,只需要數秒就能完成。
Redis是高性能的內存鍵值服務器,廣泛用于各大互聯網公司的緩存層中。新一代服務平臺可使用Redis保存用戶登錄信息,緩存各種圖書信息等。使用Redis作為緩存,能大大加快響應速度,并防止用戶請求全部落到數據庫中,加大數據庫壓力。
CAS是目前使用最廣泛的單點登錄協議,新一代服務平臺的微服務要考慮支持CAS統一登錄,能方便地集成到學校的CAS統一登錄體系中去。
ES(Elasticsearch)是一個基于Lucene的檢索服務器。ES天生是分布式的,因此可以用于索引海量數據,千萬數據能達到毫秒級響應,而且當數據量增加時,可以很方便地通過增加更多ES服務節點來提供更高的服務能力。
RocketMQ是阿里開源的高性能消息隊列服務,性能非常高,經受住了多次阿里“雙11”的考驗。新一代服務平臺使用RocketMQ消息隊列以便加快系統處理消息的速度,減少請求響應時間。對于日志處理等業務,使用消息隊列異步處理,可以大大加快處理速度。
Prometheus是一個開源的監控報警系統和時序數據庫,定時(默認15 s)請求服務,獲取各種服務指標(例如CPU使用率、磁盤使用率、訪問QPS、每個請求響應時間等),如果服務不響應,就可以發送警報信息。Grafana用于對Prometheus收集到的服務指標進行圖表展示,方便進行服務分析。
由于微服務運行過程中會遇到各種各樣的問題,經常需要遠程登錄到服務器上去查看具體運行日志來定位問題,服務平臺可使用(Filebeat+Elasticsearch+Logstash+Kibana)進行日志的搜集、處理、查看。系統的運行日志通過Filebeat搜集后,發送給Logstash處理,然后再發送給ES進行索引,最后通過網頁訪問Kibana進行查看。使用FELK進行日志的處理和查看能大大加快排錯速度。
Spark機器學習集成了各種相似度算法(例如余弦相似度、歐幾里得相似度等)、各種協同過濾算法(基于物品的協同過濾和基于用戶的協同過濾、基于隱語義模型的協同過濾算法等)、各種聚類算法(kNN等)、各種分類算法(決策樹和隨機森林算法等)以及最常見的線性回歸和邏輯回歸算法。
根據Spark精準推薦算法,新一代服務平臺在讀者的個性化推薦、書目根據中央知識庫的精準推薦和熱門的大眾化推薦等三方面進行了多方位的展示。精準推薦應用示意圖如圖3~5所示。

圖3 讀者的個性化推薦示意圖

圖4 書目精準推薦示意圖
相對于其他的圖書館服務平臺,本文設計的新一代服務平臺可以彌補傳統的自動化系統相對單一的紙本資源管理的不足,還有幾大優勢:
(1)可實現統一資源的全流程管理。本平臺可實現傳統資源在內的全媒體資源管理,即包括電子、數字、紙本和空間管理及智能設備資源,以及將來可以納入的課程資源、考試資源、學生活動資源等,且這個管理過程是全流程的,即覆蓋館藏資源完整生命周期的整個過程,包括數據長期保存、項目管理、經費配置等的統一管理。還能夠支持未知館藏資源類型和元數據格式,以及接入新的知識庫,使得該平臺能夠真正獨立于任何元數據格式而中立存在。

圖5 熱門推薦示意圖
(2)構建資源畫像來實現采購決策的優化。在目前高校雙一流學科建設以及學科評估的大背景下,本系統可利用中央知識庫中的重要責任者、機構責任者,以及相關資源、相關學科、相關主題、相關分類的借閱、檢索、瀏覽等讀者行為數據,再結合網絡資源的評價、評分,構成多維度的資源標簽,得出特色學科的資源畫像模型。此畫像中的多維度標簽將為購買、推薦、校區間館藏配置等決策提供更為精準的服務。
(3)構建讀者畫像來豐富讀者個性化推送服務。根據讀者本人的屬性數據如學院、系別、專業、年級等,和行為數據如借閱、檢索、瀏覽、下載、預約、委托、評論、評分、收藏等,共同構建出讀者畫像。此畫像中的多維度標簽也將為讀者提供更深層次、更有針對性的文獻“篇級”推薦服務。
(4)可實現集群內無縫連接、有機生長。在提高信息服務的深度和廣度方面,本文設計的新一代智慧服務平臺以圖書館為主體,實現圖書館、數據庫商、書商和外接服務商的無縫對接,不僅提供全資源的管理,還可進行基于數據分析的學科知識分析、基于數據挖掘的閱讀推廣、基于閱讀數據的資源選購、基于讀者行為數據分析的知識推薦、基于數據應用的可視化服務等多維度、立體關聯的智慧化服務,各APP的單獨發展和無縫連接使得新一代圖書館服務平臺成為一個真正生長的有機體[14]。
但是,該平臺也存在因設計中未考慮周全而引起的一系列風險和不足:
(1)要盡快達成實用的目標,必須建立起足夠的各種元數據標準規范。這不僅是一個技術問題,也是管理問題,圖書館的組織架構也需要進行相應的調整和優化,將是一個不斷磨合和改進的過程。
(2)微服務切割得越細,技術的復雜度就越高,對于FOLIO構架帶來的不確定性、本地和云端相結合的部署方式在使用中如何安全又高效地運行,也仍然需要不斷進行實踐探索。
(3)讀者行為數據的分析和精細到“篇級”的數字文獻推薦是本系統的亮點之一,而在項目建設的過程中,數字文獻提供商是否密切配合非常關鍵,直接關系到階段性功能的實現,進而直接影響期待實現的更加精準的推薦到“段”或“句”的工作。
綜上所述,新一代智慧圖書館服務平臺設計是圖書館整體服務規劃的一次重要實踐,基于開源的FOLIO平臺的個性化設計有助于充分實現資源管理與資源發現的功能,將目前圖書館的各個應用分別開發成相對獨立又緊密結合的應用模塊,達到數據開放共享、共建融合的理想模式。新一代服務平臺帶來的一系列智慧化服務,必將成為智慧圖書館的核心競爭力。