徐華

摘 要:當前,各高校自建圖書館管理系統,其可靠性和可擴展性較低,不能適應圖書管理工作快速發展的要求。文章基于微服務、DevOps、虛擬化等技術,提出了基于微服務的體系架構、基于數據中臺的數據共享框架兩個設計思路,圖書館能力開放平臺架構包括基礎資源層、數據共享層、應用融合層;其次,對架構的基礎資源層、數據共享層、應用融合層進行了詳細設計,并分析了各層的技術實現方法。通過應用分析,文章驗證了該能力開放平臺架構具有較好的敏捷開發能力、持續集成能力以及彈性擴展能力。
關鍵詞:圖書館;能力開放平臺;微服務;虛擬化
0 ? 引言
隨著社會發展和科技進步,圖書館在知識積累和知識查詢工作中的作用越來越重要。為提升圖書館資源的利用率,方便讀者對知識的查詢和使用,數字圖書館已成為圖書館資源管理的發展趨勢[1-2]。這種背景下,各個高校開始自建圖書館管理系統,對數字資源進行管理和使用。如何建設更加高效的圖書館管理系統,已成為當前的一個研究重點。楊思洛等[3]分析了國內外圖書館的發展趨勢,研究結果表明,大數據和人工智能技術是圖書館數據資源管理和使用的關鍵技術。“十四五”規劃綱已將大數據、人工智能等核心技術與各產業深度融合作為今后行業發展的方向。以教學工作為例,程玉等[4]提出了學生畫像、個性化學習、學習效果評價等方面的大數據應用發展路徑。考慮到圖書館數字資源的體量大、數據類型多樣,曾文等[5]分析了科技大數據領域數據的特點,提出了提升數據清洗、存儲效率的關鍵技術措施。為提升數字圖書館知識發現的效率,李潔[6]研究了知識發現算法,提出了數字圖書館知識發現服務的模式和策略。
通過對已有研究分析可知,當前研究主要集中在如何提升單個圖書館管理系統的效率。但是,每個圖書館建立自己的信息化平臺,在資源利用率、成本開銷方面存在局限性。為了提升圖書館系統的可靠性和可擴展性,本文提出構建圖書館能力開放平臺。首先提出了基于微服務的體系架構、基于數據中臺的數據共享框架兩個能力開放平臺架構的設計思路。其次,提出了圖書館能力開放平臺架構,該架構包括基礎資源層、數據共享層、應用融合層。其次,對基礎資源層、數據共享層、應用融合層3個層面進行了詳細設計,并給出了實施建議。最后,對基于微服務架構的圖書館能力開放平臺的應用方法進行了分析,驗證了體系架構,較好地實現了圖書數字資源的敏捷開發、持續集成和彈性擴展。
1 能力開放平臺架構設計
1.1 設計思路
為提升圖書館對數字資源的管理能力,本文提出基于微服務架構的圖書館能力開放平臺。該平臺需要實現資源的可擴展、可維護、可共享3個目標。為實現3個目標,本文提出基于微服務的體系架構、基于數據中臺的數據共享框架兩個設計思路,下面進行詳細介紹。
在基于微服務的體系架構方面,考慮到微服務架構與傳統體系架構的區別是服務小、易擴展。微服務技術可以根據業務需求,將圖書管理系統劃分為多個獨立的小服務,從而降低圖書管理系統修改和維護的難度。另外,基于微服務技術,可以使平臺支持Docker容器技術。在Docker容器技術環境下,虛擬機的粒度更小,可以根據需要進行遷移、關閉、擴容,從而顯著降低資源消耗,提升硬件資源的利用率。
基于數據中臺的數據共享框架方主要利用數據中臺的功能豐富、便于共享兩個優勢。隨著知識經濟的到來,知識共享已成為推動社會發展和進步的關鍵要素。圖書館作為知識積累和共享的關鍵途徑,數據共享已成為其發展的必然趨勢。在數據共享領域,數據的安全是數據共享相關方最關注的問題。為了提升數據安全共享的能力,本文采用大數據技術對數據進行安全管理,采用數據中臺技術實現數據的安全共享。
1.2 體系架構
圖書館平臺架構如圖1所示。從圖1可知,現有的圖書館系統架構如圖1(a)所示,每個圖書館構建自己的硬件平臺、系統軟件、應用軟件。這種架構存在資源浪費、可維護性差等缺點。本文提出的圖書館能力開放平臺架構如圖1(b)所示,該架構包括基礎資源層、數據共享層、應用融合層。
基礎資源層包括云計算平臺和PAAS平臺兩個模塊。云計算平臺層采用虛擬化技術,可以提升資源利用率和資源可靠性。云計算平臺的按需擴展和動態遷移技術,可以根據每個圖書館的業務需求,對資源進行動態調整。數據處理層主要包括大數據平臺層和數據中臺層。大數據平臺層主要實現數據的采集、傳輸、存儲、管理等功能。數據中臺層主要實現數據處理的共用功能。應用融合層包括微服務架構和DevOps架構。微服務架構可以將圖書館的系統進行拆分,得到多個互相獨立的微服務。這種架構可以便于圖書館開發新功能。DevOps架構是基于微服務架構實現一站式開發的一組過程和方法。在DevOps架構下,圖書館系統的開發人員和IT運維人員可以整合為同一技術人員。在這種背景下,軟件模塊的開發、測試、發布、維護、更新的效率更高,更能適應當前的開發環境。
2 各層的設計與實現
2.1 基礎資源層設計與實現
基礎資源層的實現主要采用云計算技術和Docker容器技術。在云計算平臺層,通過采用虛擬化技術,可以實現服務器、網絡設備、存儲設備的按需擴展和動態遷移。在服務器虛擬化方面,平臺可以提供的資源包括計算資源池、彈性主機服務。在網絡設備虛擬化方面,平臺可以提供網絡資源池、通信鏈路資源池。在存儲設備虛擬化方面,平臺可以提供存儲資源池、異地容災資源池。為保障云計算平臺的可靠性和穩定性,平臺提供負載均衡、安全管控等性能管理設備。
PAAS主要功能是根據業務需求,提供靈活的中間件服務。中間件服務主要采用Docker容器技術實現。Docker容器可以在云計算平臺上申請資源。Docker容器的最大優點是申請的資源容量小、部署速度快,可以滿足小型業務的計算資源、網絡資源、存儲資源的需求。采用Docker容器技術后,可以有效提升云計算平臺資源的利用率和便捷性。
2.2 數據處理層設計與實現
數據處理層主要包括大數據平臺和數據中臺兩個模塊。大數據平臺模塊主要包括數據的基礎操作功能、數據中間件兩個子模塊。數據的基礎操作功能包括數據采集和傳輸、數據存儲、數據治理等基本功能。數據治理主要是根據圖書館的預定規則,對數據進行規范化處理,便于數據在圖書館業務中使用。數據中間件模塊主要包括數據處理的消息隊列、提升數據處理速度的緩存服務等功能。
數據中臺主要完成數據匯聚、數據可視化、數據提純加工等數據處理的公共工作,便于各個圖書館可以快速方便地對數據進行處理。本文中數據中臺主要功能包括常用的機器學習算法、語音識別算法、圖像識別算法、數據可視化等數據處理功能。
在數據處理層的技術實現方面,當前大數據框架主要包括Hadoop,Spark,Storm,Flink,Samza,Presto五種。根據對各種框架的應用場景、用戶人數等特征比較,本文選擇Hadoop作為數據存儲平臺,Spark作為大數據分析架構。Hadoop主要技術包括MapReduce、HDFS、Yarn三種。其中,MapReduce作為分布式計算技術,HDFS作為分布式文件存儲系統,Yarn作為高效的資源調度工具。在Spark架構方面,平臺可以采用Scala,Java,Python等語言作為數據分析語言。考慮到人工智能技術領域使用最多的語言為Python,所以本文采用Python語言作為數據分析語言。
2.3 應用融合層設計與實現
應用融合層主要功能是為圖書館提供常用的應用開放功能。例如,圖書館數據業務功能服務接口、業務接口開發規范、大數據應用子系統、知識圖譜算法庫等常用的應用接口和子系統,主要由微服務架構和DevOps架構兩種技術實現。微服務架構的實現一般包括服務注冊、服務發現、服務負載均衡、服務網關4個關鍵要素。當前可以實現微服務架構的管理框架較多,Dubbo和Spring Cloud是當前使用比較廣泛的兩種架構[7]。
考慮到平臺的易用性,本文選擇Spring Cloud作為微服務架構的管理框架。在服務注冊和服務發現方面,平臺使用Eureka實現注冊中心功能。Eureka可以為用戶提供開放的API,便于用戶將服務注冊到注冊中心,用戶也可以在注冊中心查找感興趣的服務,并通過API進行調用。在采用Eureka實現注冊中心功能時,平臺通過構建Eureka Server,Service Provider,Service Consumer 3個角色,可以實現服務的注冊和使用。Eureka Server可以實現服務的注冊和發現功能,Service Provider可以實現服務的提供功能,Service Consumer可以實現服務的使用功能。在服務的負載均衡方面,平臺使用Ribbon組件實現服務的負載均衡功能。Ribbon組件根據服務使用情況,可以自動執行服務負載均衡策略、服務超時重試策略,從而平衡已注冊的各個服務的調用關系,提升系統的性能。在服務網關的配置方面,本文使用Zuul技術來實現。Zuul組件可以采用RESTAPI接口對外提供服務,有效降低各個服務之間因接口不同導致服務訪問失敗的概率,提升了服務的可靠性。
3 應用分析
為提升本文提出的基于微服務架構的圖書館能力開放平臺的可用性,本小節對如何使用此平臺進行分析說明。從本文提出的平臺設計框架可知,搭建平臺的基礎資源層、數據共享層、應用融合層,可以提升圖書館資源管理平臺的可擴展性、可維護性、可共享性。
搭建基礎資源層需要支持虛擬化技術的硬件環境。所以,在采購基礎網絡資源、服務器資源、存儲資源時,需要首先考慮的參數指標是對虛擬化技術的支持。在數據共享層面,平臺考慮到大數據技術和數據中臺技術包含的內容較多,在部署數據共享層時,盡量采用市場占有率較高的開源技術。這種部署策略可以有效提升數據共享層的可靠性和可擴展性,也便于后期對平臺的維護和使用。對于應用融合層,微服務的架構和相關技術已在文中描述。需要注意的關鍵問題是應用的微服務化。因為微服務主要的優勢是將大型軟件劃分為多個獨立的子模塊,便于一站式開發和應用。但是,如何進行服務的劃分,是一個比較有挑戰性的工作。所以,在應用融合層,盡量邀請實施經驗豐富的業務專家和技術專家對業務需求進行分析,制定符合業務發展需要和技術架構的應用融合功能。通過上述分析可知,本文提出的基于微服務架構的圖書館能力開放平臺,較好地提升了圖書數字資源管理平臺的敏捷開發能力、持續集成能力以及彈性擴展能力。
4?結語
隨著信息技術的發展,圖書館中的數字資源快速增加。圖書館為了滿足數字資源的存儲和使用需求,開始加大圖書館軟硬件資源的建設。但是,自建圖書館管理系統存在可靠性低,不便于擴展等問題,不能有效滿足當前圖書管理工作快速發展的要求。為解決此問題,本文提出構建圖書館能力開放平臺,對該平臺的基礎資源層、數據共享層、應用融合層進行了詳細設計,并給出了實施建議。在大數據時代下,圖書館的數字資源需要共享和使用,才能發揮數字資源的價值。下一步工作中,基于本文的研究成果,采用大數據挖掘和人工智能分析技術,研究圖書館數字資源的共享機制,從而發揮圖書館數字資源的價值。
[參考文獻]
[1]王秀艷.國外智慧圖書館研究的熱點主題和發展趨勢分析[J].情報探索,2019(8):129-134.
[2]尚麗,李玉巧.我國智慧圖書館研究演進路徑、熱點與趨勢分析[J].圖書情報導刊,2019(10):68-73.
[3]楊思洛,董嘉慧.國內外智慧圖書館研究熱點及發展趨勢探究[J].現代情報,2020(11):167-177.
[4]程玉,胡凡剛,吳運明.教育大數據價值體現、問題反思與發展路徑[J].軟件導刊,2020(5):281-284.
[5]曾文,車堯.科技大數據的情報分析技術研究[J].情報科學,2019(3):93-96.
[6]李潔.數據驅動下數字圖書館知識發現服務創新模式與策略研究[D].吉林:吉林大學,2019.
[7]張樹新,吳海斌,蒙輝,等.基于SpringCloud的航運EDI平臺IT生態環境設計[J].中國儲運,2018(2):100-103.
(編輯 王永超)