蘇志芳, 蔣文梅, 李麗峰
(中南大學(xué) 圖書館,湖南 長沙 410083)
2018年黨的十九大報(bào)告中提出建設(shè)“智慧社會(huì)”,推動(dòng)著以互聯(lián)、智能、高效、便捷為主要特征的智慧圖書館研究和建設(shè)如火如荼[1],對(duì)圖書館的服務(wù)形態(tài)、服務(wù)模式、服務(wù)內(nèi)容、發(fā)展方向等新生態(tài)產(chǎn)生著巨大的影響。作為智慧圖書館理念下的技術(shù)實(shí)踐,電子資源管理系統(tǒng)和自動(dòng)化集成管理系統(tǒng)功能逐漸走向融合,新一代圖書館服務(wù)平臺(tái)(LSP,即Library System Platform)不僅能夠管理紙本、電子等信息資源,還能優(yōu)化ERMS工作流程,對(duì)圖書館全資源進(jìn)行管理,為讀者提供全方位的從數(shù)據(jù)到知識(shí)的“智慧化”服務(wù)[2],從而提高圖書館全資源的服務(wù)水平和社會(huì)影響力。智慧圖書館服務(wù)平臺(tái)的設(shè)計(jì)和實(shí)踐,將成為圖書館業(yè)界未來的核心工作之一。
芬蘭學(xué)者Aillola于2003年提出智慧圖書館的概念,認(rèn)為智慧圖書館是讀者可感知、由智能技術(shù)和智能設(shè)備構(gòu)成的無空間限制的圖書館移動(dòng)服務(wù)[3]。國內(nèi)最早由嚴(yán)棟于2010年在《圖書館學(xué)刊》發(fā)表了題為“基于物聯(lián)網(wǎng)的智慧圖書館”文章[4]。
隨著智慧圖書館理念與實(shí)踐的不斷成熟,近幾年不少高校圖書館、自動(dòng)化系統(tǒng)開發(fā)商及數(shù)據(jù)商都在嘗試自主研發(fā)智慧圖書館系統(tǒng),借助大數(shù)據(jù)分析、機(jī)器學(xué)習(xí)等技術(shù)高度整合圖書館各類型資源、提供個(gè)性化的讀者與服務(wù)的智慧圖書館門戶[5]。2015年重慶大學(xué)與重慶維普資訊公司以“平臺(tái)化”建設(shè)為核心,以整合的文獻(xiàn)搜索為基礎(chǔ),采用用戶層、服務(wù)與管理層、資源層、評(píng)價(jià)與分析層 (數(shù)據(jù)服務(wù)層) 的架構(gòu)實(shí)現(xiàn)管理和服務(wù)的全面信息化[6],并打造成數(shù)字化校園的教學(xué)與科研應(yīng)用圖書館服務(wù)門戶[7]。2016年深圳大學(xué)圖書館基于RICE的Kuali框架的OLE系統(tǒng)探索研發(fā)新系統(tǒng),并在CALIS的推動(dòng)下和EBSCO合作開發(fā)新一代圖書館系統(tǒng)CLSP[8]。2018年南京大學(xué)圖書館與超星公司合作,共同推進(jìn)南京大學(xué)圖書館服務(wù)平臺(tái)實(shí)驗(yàn)項(xiàng)目,提出智慧管理平臺(tái)、中央知識(shí)庫、紙電一體化采選、大數(shù)據(jù)分析決策和智慧分析應(yīng)用的智慧圖書館解決方案[9]。2018年廈門大學(xué)肖錚先后發(fā)表了2篇有關(guān)開源圖書館服務(wù)平臺(tái)FOLIO的文章,對(duì)FOLIO的項(xiàng)目背景、社區(qū)模式、技術(shù)架構(gòu)等進(jìn)行了探討[10-11],認(rèn)為FOLIO采用微服務(wù)構(gòu)建圖書館開放服務(wù)平臺(tái),是對(duì)圖書館管理平臺(tái)的一次重新設(shè)計(jì)。北京大學(xué)周義剛、聶華于2019年初對(duì)正在研發(fā)中的FOLIO開放性應(yīng)用模式對(duì)本地化功能及個(gè)性化需求的幫助提出了強(qiáng)烈的期待[12]。瑞典查爾姆斯理工大學(xué)(Chalmers University of Technology)圖書館已經(jīng)確定作為FOLIO Beta版的用戶[13],用以展示FOLIO平臺(tái)不僅具備支持圖書館傳統(tǒng)服務(wù)的各項(xiàng)功能,也具有良好的擴(kuò)展性,可靈活滿足圖書館的創(chuàng)新服務(wù)。
FOLIO(Future of Libraries is Open)項(xiàng)目由圖書館、服務(wù)提供方和開發(fā)者共同參與,于2016年6月啟動(dòng),突出了“開放”的理念,旨在創(chuàng)建一個(gè)在設(shè)計(jì)理念與技術(shù)架構(gòu)上超越Alma和WMS(下一代圖書館服務(wù)平臺(tái),SOA體系架構(gòu))的開源圖書館服務(wù)平臺(tái)。它采用高度模塊化、開放融合的微服務(wù)架構(gòu), 既能獨(dú)立開發(fā)特定的應(yīng)用程序, 也能組合成統(tǒng)一的平臺(tái)。這種協(xié)同社群和開源的方式,是圖書館智慧化服務(wù)的未來指引[12]。
FOLIO平臺(tái)大致由基礎(chǔ)層、消息層、微服務(wù)層和界面層四層構(gòu)成?;A(chǔ)層包括數(shù)據(jù)存儲(chǔ)、索引和記錄數(shù)據(jù);建立在基礎(chǔ)層之上的消息層,負(fù)責(zé)應(yīng)用互操作、權(quán)限管理、身份驗(yàn)證等;應(yīng)用層是根據(jù)業(yè)務(wù)需求,通過調(diào)用不同的API(應(yīng)用程序編程接口)服務(wù),形成不同應(yīng)用程序模塊;界面層根據(jù)使用場景,不同的應(yīng)用被組合封裝成圖書館門戶、館員工作門戶、讀者服務(wù)門戶、微博微信門戶等不同形式[11]。
智慧圖書館平臺(tái)是圖書館建設(shè)和服務(wù)發(fā)展的基礎(chǔ),集中體現(xiàn)一個(gè)圖書館的服務(wù)理念、管理和服務(wù)水平。
該項(xiàng)目圍繞核心用戶需求,從大數(shù)據(jù)管理角度出發(fā),提出新一代智慧圖書館服務(wù)平臺(tái)的功能架構(gòu)的定位是云+本地部署+微服務(wù),功能需求的定位是紙質(zhì)+電子資源+數(shù)字資源的全媒體統(tǒng)一管理和檢索,實(shí)現(xiàn)讀者畫像、資源畫像、學(xué)科競爭力分析等數(shù)據(jù)-信息-知識(shí)轉(zhuǎn)變的智慧服務(wù),具體功能需求如圖1所示。目前圖書館服務(wù)的重點(diǎn)在資源建設(shè)與管理、資源發(fā)現(xiàn)與提供、數(shù)據(jù)分析與決策支持及空間管理等四個(gè)方面,此開放的微服務(wù)架構(gòu)可根據(jù)未來圖書館核心業(yè)務(wù)的發(fā)展需求隨時(shí)增減和更新。
圖1 新一代智慧圖書管理平臺(tái)的需求框架
因此,新一代智慧圖書館服務(wù)平臺(tái)應(yīng)以FOLIO為基本架構(gòu),在圖書館、讀者、數(shù)據(jù)庫出版商等用戶需求牽引下,將可獲取(購買、自建、共享、開放獲取等多途徑)的各類型資源 (紙質(zhì)、電子、數(shù)字化、空間等)進(jìn)行整體規(guī)劃 ,涵蓋圖書館管理系統(tǒng)現(xiàn)有和未來的所有業(yè)務(wù)應(yīng)用模塊,構(gòu)建一個(gè)共建共享、開放融合的知識(shí)數(shù)據(jù)服務(wù)平臺(tái),以豐富的大數(shù)據(jù)為驅(qū)動(dòng),提供更好的精準(zhǔn)化、知識(shí)化、智慧化服務(wù)。
智慧圖書館服務(wù)平臺(tái)(以下簡稱:新一代服務(wù)平臺(tái),LSP)的技術(shù)架構(gòu)從基礎(chǔ)層、消息層、應(yīng)用層和前端界面等四層結(jié)構(gòu)設(shè)計(jì),如圖2所示?;A(chǔ)層負(fù)責(zé)存儲(chǔ)、索引和記錄數(shù)據(jù),mysql存儲(chǔ)普通數(shù)據(jù),mangodb主要用來存儲(chǔ)文件、大數(shù)據(jù)分析和機(jī)器學(xué)習(xí)相關(guān)數(shù)據(jù)。消息層主要負(fù)責(zé)負(fù)載均衡、權(quán)限管理、身份認(rèn)證、系統(tǒng)API網(wǎng)關(guān)等,選擇Nginx做Web服務(wù)器,主要是用來多服務(wù)分發(fā)。應(yīng)用層是微服務(wù)級(jí)別,除了采訪、編目、典藏、流通等圖書館傳統(tǒng)服務(wù)的基本模塊外, 還配置了電子資源管理、智能采訪、智能典藏、資源發(fā)現(xiàn)、資源保障分析、學(xué)科統(tǒng)計(jì)分析等擴(kuò)展模塊,此外,根據(jù)圖書館的業(yè)務(wù)發(fā)展還可以配置具有個(gè)性化功能要求的第三方模塊(如研修小間管理、座位預(yù)約管理、PDA薦購、個(gè)性化推薦等),使之成為滿足圖書館各項(xiàng)業(yè)務(wù)需求的服務(wù)平臺(tái)。前端界面層包含桌面瀏覽器、手機(jī)瀏覽器、微信等多形式的應(yīng)用程序界面,更具個(gè)性化和情境友好體驗(yàn)。
圖2 新一代LSP的主要技術(shù)框架圖
4.2.1 數(shù)據(jù)組織
構(gòu)建圖書館大數(shù)據(jù)中心。新一代服務(wù)平臺(tái)設(shè)計(jì)了一個(gè)龐大的數(shù)據(jù)中心,不僅包含豐富的數(shù)據(jù)來源,也包含第三方系統(tǒng)的應(yīng)用發(fā)布、統(tǒng)計(jì)分析模板發(fā)布、參數(shù)設(shè)置和應(yīng)用功能模板發(fā)布等,主要包含五方面的數(shù)據(jù):
A.讀者數(shù)據(jù)中心:匯集學(xué)校師生員工數(shù)據(jù)、讀者證(校園一卡通)等數(shù)據(jù)、讀者紙質(zhì)文獻(xiàn)資源利用行為數(shù)據(jù)、讀者數(shù)字資源利用行為數(shù)據(jù)、讀者入館行為數(shù)據(jù)、讀者在圖書館空間資源利用行為數(shù)據(jù)等。
B.元數(shù)據(jù)中心:各數(shù)據(jù)庫所包含的期刊母體和圖書元數(shù)據(jù)、資源對(duì)象元數(shù)據(jù);提供CNMARC、USMARC、DC、BIBFRAME等多種格式的資源元數(shù)據(jù)。
C.電子資源數(shù)據(jù)中心:分為庫、包、資源三個(gè)層級(jí),包含期刊、圖書、會(huì)議論文、學(xué)位論文、標(biāo)準(zhǔn)、專利、音頻、視頻等多種文獻(xiàn)類型的數(shù)據(jù)資源,以及庫、包、資源的相關(guān)收錄、評(píng)分、分區(qū)等擴(kuò)展信息。
D.資源輔助數(shù)據(jù)中心:各種輔助資源的匯集,提供書目簡介、作者簡介、目次、評(píng)分、評(píng)價(jià)、價(jià)格等相關(guān)資源。
E.資源建設(shè)數(shù)據(jù)中心:主要指共享的資源建設(shè)數(shù)據(jù),例如專題書目、課程參考書、題庫、調(diào)研數(shù)據(jù)等,為大數(shù)據(jù)分析提供基礎(chǔ)。
新一代服務(wù)平臺(tái)也將采用當(dāng)前Web開發(fā)中的主流開源技術(shù),底層數(shù)據(jù)庫用Mysql和MongoDB,其他主要技術(shù)如下。
Nginx是一個(gè)高性能異步反向代理Web服務(wù)器。使用Nginx可實(shí)現(xiàn):全站HTTPS、負(fù)載均衡、監(jiān)控流量、訪問控制、熱更新、AB測試和API網(wǎng)關(guān)等。不同的微服務(wù)之間通過Nginx實(shí)現(xiàn)相互調(diào)用。
FOLIO是使用Vert.x進(jìn)行開發(fā)的。Vert.x是新一代輕量級(jí)Java異步Web服務(wù)框架,其主要特點(diǎn)是高性能、高吞吐量。和運(yùn)行在Tomcat中的同步Java應(yīng)用相比,吞吐量可以提升幾倍甚至更高。
Docker應(yīng)用于應(yīng)用程序的自動(dòng)化打包、發(fā)布、部署。Docker最大的優(yōu)點(diǎn)是部署應(yīng)用方便快捷,不需要在服務(wù)器上安裝各種應(yīng)用,直接下載Docker鏡像,配置幾個(gè)啟動(dòng)參數(shù),就可以啟動(dòng)一個(gè)服務(wù)。過去需要花費(fèi)數(shù)小時(shí)甚至數(shù)天的部署任務(wù),在Docker容器的處理下,只需要數(shù)秒就能完成。
Redis是高性能的內(nèi)存鍵值服務(wù)器,廣泛用于各大互聯(lián)網(wǎng)公司的緩存層中。新一代服務(wù)平臺(tái)可使用Redis保存用戶登錄信息,緩存各種圖書信息等。使用Redis作為緩存,能大大加快響應(yīng)速度,并防止用戶請(qǐng)求全部落到數(shù)據(jù)庫中,加大數(shù)據(jù)庫壓力。
CAS是目前使用最廣泛的單點(diǎn)登錄協(xié)議,新一代服務(wù)平臺(tái)的微服務(wù)要考慮支持CAS統(tǒng)一登錄,能方便地集成到學(xué)校的CAS統(tǒng)一登錄體系中去。
ES(Elasticsearch)是一個(gè)基于Lucene的檢索服務(wù)器。ES天生是分布式的,因此可以用于索引海量數(shù)據(jù),千萬數(shù)據(jù)能達(dá)到毫秒級(jí)響應(yīng),而且當(dāng)數(shù)據(jù)量增加時(shí),可以很方便地通過增加更多ES服務(wù)節(jié)點(diǎn)來提供更高的服務(wù)能力。
RocketMQ是阿里開源的高性能消息隊(duì)列服務(wù),性能非常高,經(jīng)受住了多次阿里“雙11”的考驗(yàn)。新一代服務(wù)平臺(tái)使用RocketMQ消息隊(duì)列以便加快系統(tǒng)處理消息的速度,減少請(qǐng)求響應(yīng)時(shí)間。對(duì)于日志處理等業(yè)務(wù),使用消息隊(duì)列異步處理,可以大大加快處理速度。
Prometheus是一個(gè)開源的監(jiān)控報(bào)警系統(tǒng)和時(shí)序數(shù)據(jù)庫,定時(shí)(默認(rèn)15 s)請(qǐng)求服務(wù),獲取各種服務(wù)指標(biāo)(例如CPU使用率、磁盤使用率、訪問QPS、每個(gè)請(qǐng)求響應(yīng)時(shí)間等),如果服務(wù)不響應(yīng),就可以發(fā)送警報(bào)信息。Grafana用于對(duì)Prometheus收集到的服務(wù)指標(biāo)進(jìn)行圖表展示,方便進(jìn)行服務(wù)分析。
由于微服務(wù)運(yùn)行過程中會(huì)遇到各種各樣的問題,經(jīng)常需要遠(yuǎn)程登錄到服務(wù)器上去查看具體運(yùn)行日志來定位問題,服務(wù)平臺(tái)可使用(Filebeat+Elasticsearch+Logstash+Kibana)進(jìn)行日志的搜集、處理、查看。系統(tǒng)的運(yùn)行日志通過Filebeat搜集后,發(fā)送給Logstash處理,然后再發(fā)送給ES進(jìn)行索引,最后通過網(wǎng)頁訪問Kibana進(jìn)行查看。使用FELK進(jìn)行日志的處理和查看能大大加快排錯(cuò)速度。
Spark機(jī)器學(xué)習(xí)集成了各種相似度算法(例如余弦相似度、歐幾里得相似度等)、各種協(xié)同過濾算法(基于物品的協(xié)同過濾和基于用戶的協(xié)同過濾、基于隱語義模型的協(xié)同過濾算法等)、各種聚類算法(kNN等)、各種分類算法(決策樹和隨機(jī)森林算法等)以及最常見的線性回歸和邏輯回歸算法。
根據(jù)Spark精準(zhǔn)推薦算法,新一代服務(wù)平臺(tái)在讀者的個(gè)性化推薦、書目根據(jù)中央知識(shí)庫的精準(zhǔn)推薦和熱門的大眾化推薦等三方面進(jìn)行了多方位的展示。精準(zhǔn)推薦應(yīng)用示意圖如圖3~5所示。
圖3 讀者的個(gè)性化推薦示意圖
圖4 書目精準(zhǔn)推薦示意圖
相對(duì)于其他的圖書館服務(wù)平臺(tái),本文設(shè)計(jì)的新一代服務(wù)平臺(tái)可以彌補(bǔ)傳統(tǒng)的自動(dòng)化系統(tǒng)相對(duì)單一的紙本資源管理的不足,還有幾大優(yōu)勢:
(1)可實(shí)現(xiàn)統(tǒng)一資源的全流程管理。本平臺(tái)可實(shí)現(xiàn)傳統(tǒng)資源在內(nèi)的全媒體資源管理,即包括電子、數(shù)字、紙本和空間管理及智能設(shè)備資源,以及將來可以納入的課程資源、考試資源、學(xué)生活動(dòng)資源等,且這個(gè)管理過程是全流程的,即覆蓋館藏資源完整生命周期的整個(gè)過程,包括數(shù)據(jù)長期保存、項(xiàng)目管理、經(jīng)費(fèi)配置等的統(tǒng)一管理。還能夠支持未知館藏資源類型和元數(shù)據(jù)格式,以及接入新的知識(shí)庫,使得該平臺(tái)能夠真正獨(dú)立于任何元數(shù)據(jù)格式而中立存在。
圖5 熱門推薦示意圖
(2)構(gòu)建資源畫像來實(shí)現(xiàn)采購決策的優(yōu)化。在目前高校雙一流學(xué)科建設(shè)以及學(xué)科評(píng)估的大背景下,本系統(tǒng)可利用中央知識(shí)庫中的重要責(zé)任者、機(jī)構(gòu)責(zé)任者,以及相關(guān)資源、相關(guān)學(xué)科、相關(guān)主題、相關(guān)分類的借閱、檢索、瀏覽等讀者行為數(shù)據(jù),再結(jié)合網(wǎng)絡(luò)資源的評(píng)價(jià)、評(píng)分,構(gòu)成多維度的資源標(biāo)簽,得出特色學(xué)科的資源畫像模型。此畫像中的多維度標(biāo)簽將為購買、推薦、校區(qū)間館藏配置等決策提供更為精準(zhǔn)的服務(wù)。
(3)構(gòu)建讀者畫像來豐富讀者個(gè)性化推送服務(wù)。根據(jù)讀者本人的屬性數(shù)據(jù)如學(xué)院、系別、專業(yè)、年級(jí)等,和行為數(shù)據(jù)如借閱、檢索、瀏覽、下載、預(yù)約、委托、評(píng)論、評(píng)分、收藏等,共同構(gòu)建出讀者畫像。此畫像中的多維度標(biāo)簽也將為讀者提供更深層次、更有針對(duì)性的文獻(xiàn)“篇級(jí)”推薦服務(wù)。
(4)可實(shí)現(xiàn)集群內(nèi)無縫連接、有機(jī)生長。在提高信息服務(wù)的深度和廣度方面,本文設(shè)計(jì)的新一代智慧服務(wù)平臺(tái)以圖書館為主體,實(shí)現(xiàn)圖書館、數(shù)據(jù)庫商、書商和外接服務(wù)商的無縫對(duì)接,不僅提供全資源的管理,還可進(jìn)行基于數(shù)據(jù)分析的學(xué)科知識(shí)分析、基于數(shù)據(jù)挖掘的閱讀推廣、基于閱讀數(shù)據(jù)的資源選購、基于讀者行為數(shù)據(jù)分析的知識(shí)推薦、基于數(shù)據(jù)應(yīng)用的可視化服務(wù)等多維度、立體關(guān)聯(lián)的智慧化服務(wù),各APP的單獨(dú)發(fā)展和無縫連接使得新一代圖書館服務(wù)平臺(tái)成為一個(gè)真正生長的有機(jī)體[14]。
但是,該平臺(tái)也存在因設(shè)計(jì)中未考慮周全而引起的一系列風(fēng)險(xiǎn)和不足:
(1)要盡快達(dá)成實(shí)用的目標(biāo),必須建立起足夠的各種元數(shù)據(jù)標(biāo)準(zhǔn)規(guī)范。這不僅是一個(gè)技術(shù)問題,也是管理問題,圖書館的組織架構(gòu)也需要進(jìn)行相應(yīng)的調(diào)整和優(yōu)化,將是一個(gè)不斷磨合和改進(jìn)的過程。
(2)微服務(wù)切割得越細(xì),技術(shù)的復(fù)雜度就越高,對(duì)于FOLIO構(gòu)架帶來的不確定性、本地和云端相結(jié)合的部署方式在使用中如何安全又高效地運(yùn)行,也仍然需要不斷進(jìn)行實(shí)踐探索。
(3)讀者行為數(shù)據(jù)的分析和精細(xì)到“篇級(jí)”的數(shù)字文獻(xiàn)推薦是本系統(tǒng)的亮點(diǎn)之一,而在項(xiàng)目建設(shè)的過程中,數(shù)字文獻(xiàn)提供商是否密切配合非常關(guān)鍵,直接關(guān)系到階段性功能的實(shí)現(xiàn),進(jìn)而直接影響期待實(shí)現(xiàn)的更加精準(zhǔn)的推薦到“段”或“句”的工作。
綜上所述,新一代智慧圖書館服務(wù)平臺(tái)設(shè)計(jì)是圖書館整體服務(wù)規(guī)劃的一次重要實(shí)踐,基于開源的FOLIO平臺(tái)的個(gè)性化設(shè)計(jì)有助于充分實(shí)現(xiàn)資源管理與資源發(fā)現(xiàn)的功能,將目前圖書館的各個(gè)應(yīng)用分別開發(fā)成相對(duì)獨(dú)立又緊密結(jié)合的應(yīng)用模塊,達(dá)到數(shù)據(jù)開放共享、共建融合的理想模式。新一代服務(wù)平臺(tái)帶來的一系列智慧化服務(wù),必將成為智慧圖書館的核心競爭力。