圖書館信息系統(tǒng)【多租戶模型的圖書館信息系統(tǒng)研究】
發(fā)布時間:2020-03-10 來源: 感悟愛情 點擊:
[摘要]在分析現(xiàn)有圖書館信息系統(tǒng)建設模式的基礎上,提出基于軟件即服務思想的圖書館信息系統(tǒng)建設思路。介紹軟件即服務的定義、特征和成熟度模型,重點闡述基于多租戶模型的圖書館信息系統(tǒng)的數(shù)據(jù)庫設計、多租戶應用設計、可配置性設計和可伸縮性設計。對多租戶信息系統(tǒng)實現(xiàn)中涉及的文件分布式存儲、應用服務器的可伸縮性、數(shù)據(jù)庫服務器的可伸縮性以及應用安全等關(guān)鍵技術(shù)作深入的討論。
[關(guān)鍵詞]多租戶 圖書館 信息系統(tǒng) 軟件即服務 云計算
[分類號]G250.71
1 引 言
現(xiàn)有的圖書館信息系統(tǒng)一般都采用自購相關(guān)軟硬件系統(tǒng)并配備專門維護人員的建設模式,且一套系統(tǒng)只服務于一個單位。這種應用模式存在投資費用高、設備利用率低、維護升級與信息共享困難等缺陷。軟件即服務(Software-as-a-Service,SaaS)為圖書館信息系統(tǒng)的建設與應用開拓了一個新的方向。
目前SaaS的研究主要集中在體系結(jié)構(gòu)、評價方法、安全保護以及推廣模式等方面。文獻[3]從保障租戶性能的角度,提出了一種多租戶架構(gòu)-MDSA;文獻[4]提出了一種支持多類終端與服務定制的SaaS軟件服務架構(gòu);文獻[5]提出了基于SaaS模式的軟件服務質(zhì)量評價方法;文獻[6]從多租戶安全保護的角度;提出了隔離租戶數(shù)據(jù)的相關(guān)模型,文獻[7]從可應用性的角度討論了零宕機SaaS應用系統(tǒng)的建立。
在實際應用上,主要集中在客戶關(guān)系與供應鏈管理SaaS系統(tǒng)以及一些傳統(tǒng)的單用戶軟件移植到Web上的應用,如Salesforce公司的客戶關(guān)系管理系統(tǒng),Google的在線辦公以及國內(nèi)的百會寫寫等。在圖書館應用方面,OCLC開發(fā)了OCLC FirstSearch,CALIS也提出了構(gòu)建CALIS云服務平臺,提供館際互借、參考咨詢等SaaS服務,文獻[8]的實證研究表明真正的SaaS提供商還很少,文獻[9]指出了當前的許多SaaS應用為單租戶、多用戶模式,而非真正意義上的多租戶、多用戶的SaaS應用,并闡述了多租戶SaaS應用的核心挑戰(zhàn)以及單租戶系統(tǒng)向多租戶遷移的途徑。
本文從圖書館信息系統(tǒng)的特點和需求出發(fā),重點研究如何構(gòu)建真正意義上的多租戶、多用戶的圖書館信息系統(tǒng)的設計與開發(fā)策略,提出了數(shù)據(jù)庫與數(shù)據(jù)架構(gòu)均共享的多租戶圖書館信息系統(tǒng)的數(shù)據(jù)庫模型,并闡述了多租戶信息系統(tǒng)的數(shù)據(jù)、功能、界面可配置的實現(xiàn)方法,同時對多租戶系統(tǒng)可伸縮性的實現(xiàn)等關(guān)鍵技術(shù)做了深入的探討。
2 軟件即服務
2.1 軟件即服務含義
SaaS是隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和應用而產(chǎn)生的一種創(chuàng)新的軟件應用模式。在這種模式下,廠商將應用軟件統(tǒng)一部署在自己的服務器上,租戶按需定購軟件的服務功能并付費。SaaS服務將原本由使用者所承擔的軟硬件系統(tǒng)建設與維護的費用,轉(zhuǎn)變成支付給服務提供商的服務費用。而SaaS服務提供商則通過提高服務規(guī)模,平攤軟硬件、維護等運營成本,達成多贏的目標。對于中小型企業(yè)來說,SaaS是獲取先進信息化管理技術(shù)的最好途徑,它消除了企業(yè)構(gòu)建與維護基礎設施以及應用程序所需要的龐大的前期投入和人力限制,降低了企業(yè)信息化建設門檻,將成為軟件使用的主流模式。SaaS服務模型如圖1所示:
2.2 SaaS成熟度模型
SaaS軟件服務于多個租戶,高性能、可配置、可伸縮是SaaS服務的主要特征,SaaS成熟度模型一般分為四級:
第一級:定制的SaaS。即每個客戶擁有單獨的應用實例和定制的代碼,服務商提供硬件并負責管理維護。由于服務提供商能整合資源并服務于多個客戶,從而降低軟件應用的總體成本。
第二級:可配置的SaaS。每個客戶仍彼此獨立安裝軟件并完全隔離使用,但所有軟件使用相同的代碼,客戶可以通過配置選項來改變應用的外觀和行為。由于客戶的應用實例具有相同的代碼,應用代碼的任何改變都會立刻作用到所有客戶,可大幅降低SaaS應用的維護和升級成本。
第三級:可配置與多租戶的SaaS。服務提供商借助其共享實例服務于所有客戶,采用可配置的元數(shù)據(jù)為不同的客戶提供個性的使用體驗和功能,通過權(quán)限控制和安全策略確保每個客戶的數(shù)據(jù)被單獨存放或與其他客戶的數(shù)據(jù)相隔離,這就使得服務提供商計算資源的利用效率大大提高,也無需為新增的客戶增添硬件資源,從而直接降低了成本。
第四級:可伸縮的多租戶SaaS。服務供應商將通過運行一個負載均衡的具備權(quán)限驗證功能的平臺來為眾多的客戶同時服務,每個客戶的業(yè)務數(shù)據(jù)將被單獨存放,同時提供個性功能定制服務。這樣的SaaS系統(tǒng)無需修改架構(gòu)設計,通過增減后端服務器的數(shù)量,就能適應服務大規(guī)模客戶的需要,具備高度可擴展性。
3 系統(tǒng)設計策略
根據(jù)SaaS應用成熟度模型,只有達到第三級以上要求的SaaS服務,才能稱得上真正意義上的軟件即服務。因此,多租戶的圖書館信息系統(tǒng)的設計重點在于共享實例、多租戶、可配置與可擴展幾個方面。
3.1 系統(tǒng)的數(shù)據(jù)庫設計
在多租戶模式的信息系統(tǒng)中,租戶的數(shù)據(jù)存儲和隔離模式直接影響到租戶的使用信心和數(shù)據(jù)安全。SaaS應用的數(shù)據(jù)庫主要有三種方法:①獨立數(shù)據(jù)庫模式:每一個租戶擁有獨立的數(shù)據(jù)庫,數(shù)據(jù)模式的擴展設計較為方便,數(shù)據(jù)恢復簡單,也可滿足租戶的獨特需求。但由于每一個租戶獨立使用一個數(shù)據(jù)庫,沒有發(fā)揮SaaS軟件的規(guī)模效應。②隔離數(shù)據(jù)架構(gòu)模式:所有租戶共享一個數(shù)據(jù)庫,每個租戶擁有獨立的數(shù)據(jù)模式(Schema),在邏輯上隔離了不同租戶的數(shù)據(jù),具有較高的安全性,每個數(shù)據(jù)庫也可以支持更多的租戶數(shù)量,但由于共享數(shù)據(jù)庫,在出現(xiàn)數(shù)據(jù)故障時,如果采用直接恢復數(shù)據(jù)庫的方法,將影響到其他租戶的數(shù)據(jù)。因此,需要采用更為復雜的數(shù)據(jù)備份和恢復模型。③數(shù)據(jù)庫與數(shù)據(jù)架構(gòu)共享模式:所有租戶共享同一個數(shù)據(jù)庫和Schema,但在數(shù)據(jù)表中通過增加租戶ID字段來區(qū)分數(shù)據(jù)屬于屬于哪個租戶。這種模式具有維護成本低、共享程度高、支持租戶數(shù)量多的優(yōu)點,但數(shù)據(jù)隔離低、安全性低、在設計時需增加應用安全的開發(fā)、數(shù)據(jù)備份恢復困難,需逐表逐條進行處理。三種數(shù)據(jù)庫設計模式見圖2。
數(shù)據(jù)的隔離和共享策略是SaaS服務數(shù)據(jù)庫設計的關(guān)鍵因素,由于圖書館信息系統(tǒng)數(shù)據(jù)規(guī)范、標準化程度高、數(shù)據(jù)結(jié)構(gòu)一致性好、數(shù)據(jù)內(nèi)容同一性多、數(shù)據(jù)共享要求高獨立性低、數(shù)據(jù)隱密性低以及系統(tǒng)成本要求低等特點,采用數(shù)據(jù)庫與數(shù)據(jù)架構(gòu)都共享模式較為適宜。
3.2 多租戶的應用設計
SaaS圖書館信息系統(tǒng)需服務于多個租戶,較傳統(tǒng)的圖書館信息系統(tǒng),需增加租戶管理的相關(guān)功能,包括:租戶注冊、租戶的用戶注冊、服務定制、使用日志、計費以及個性化配置文件管理、租戶權(quán)限等。 共享數(shù)據(jù)庫及數(shù)據(jù)架構(gòu)意味著所有租戶的數(shù)據(jù)混存于同一個數(shù)據(jù)表中,為了實現(xiàn)租戶的數(shù)據(jù)隔離和系統(tǒng)的安全應用,首先需在相關(guān)數(shù)據(jù)表中的每一行數(shù)據(jù)中增加租戶ID,以標志該行數(shù)據(jù)所屬的具體租戶,然后在應用系統(tǒng)的功能設計中,對于錄入的內(nèi)容增加租戶ID,最后,建立租戶定制功能和權(quán)限配置表,并在相關(guān)應用(如查詢、修改、刪除和統(tǒng)計)執(zhí)行前,判斷租戶的權(quán)限,以保證租戶間的數(shù)據(jù)隔離和數(shù)據(jù)安全。
3.3 多租戶的可配置性設計
在多租戶環(huán)境下,SaaS服務的通用性和普適性要求更高,易用的可配置是SaaS服務的重要特征。多租戶SaaS系統(tǒng)的可配置設計包括數(shù)據(jù)可配置、功能可配置、界面可配置等。
3.3.1 數(shù)據(jù)可配置性 在傳統(tǒng)的應用中,每個客戶具有獨立的應用實例,當客戶提出個性需求時(如聯(lián)系方式增加QQ號),直接在數(shù)據(jù)表中增加字段即可。在多租戶的SaaS應用中,所有租戶使用同一實例,不同租戶的個性需求各異,如果直接在數(shù)據(jù)表中增加擴展性數(shù)據(jù)的字段,將會破壞數(shù)據(jù)表的規(guī)范結(jié)構(gòu),導致數(shù)據(jù)管理困難,數(shù)據(jù)表空間資源的嚴重浪費,還會引發(fā)數(shù)據(jù)庫的性能下降。通過建立租戶的個性化擴展數(shù)據(jù)配置表,使得系統(tǒng)的基本數(shù)據(jù)和個性化擴展的數(shù)據(jù)分開存儲,能較好地避免上述缺陷。SaaS服務擴展數(shù)據(jù)應用模型的設計及數(shù)據(jù)表關(guān)系見圖3。
圖3中,表“User”為公共數(shù)據(jù)表,表“Config”為租戶個性擴展數(shù)據(jù)配置表,租戶“1001”擴展了宿舍和QQ號兩種聯(lián)系方式,而租戶“1002”擴展了住處和電話號碼兩種聯(lián)系方式,通過“User”、“Config”和“Data_ext”三個表的連接操作,即可方便地獲取相關(guān)信息內(nèi)容,滿足了不同租戶的個性化數(shù)據(jù)擴展需求:
3.3.2 功能可配置 SaaS服務需要面對為數(shù)眾多、功能需求不同的租戶,因此,SaaS服務應能支持租戶有選擇地定制自己需要的功能,并形成完整的功能集合,真正體現(xiàn)SaaS應用的“按需使用,按需付費”的精神。
原子功能的劃分是實現(xiàn)功能可配置的基礎。在原子功能劃分過程中,應遵循原子功能有價值、不可再細分、相互間不重疊、不循環(huán)依賴和確保系統(tǒng)功能完整的分解原則。同時,由于原子功能過分細小以及各功能間存在一定的依賴關(guān)系,在實際設計中,還應根據(jù)租戶的類型、應用場景、業(yè)務邏輯和使用習慣,將原子功能進行整合,形成相對獨立的功能包,并按不同的商業(yè)意圖,劃分為最小版、標準版、完全版等銷售包。如SaaS圖書館信息系統(tǒng)可以整合成基本版、標準版、完全版或按行業(yè)的特殊狀況劃分成公共圖書館版、中小學圖書館版、高校圖書館版等不同銷售包供用戶租用。
3.3.3 界面可配置 傳統(tǒng)定制的應用系統(tǒng),其用戶界面能基本符合用戶的需求。在多租戶的SaaS應用中,租戶訂購的功能不同,王作界面也要隨租戶定制功能動態(tài)改變,界面配置主要包括系統(tǒng)菜單和頁面內(nèi)容可配置。
3.4 多租戶的可伸縮性設計
多租戶的可伸縮性是指在系統(tǒng)架構(gòu)不做調(diào)整的基礎上,只需增減相應的硬件設備就能保證服務水平的能力。多租戶的可伸縮性是SaaS系統(tǒng)的一個重要的評價指標,主要包括應用服務器的可伸縮性、數(shù)據(jù)庫服務器的可伸縮性、存儲體系的可伸縮性等。應用服務器的可伸縮性主要通過設計一定的負載均衡機制,使得訪問和應用服務能夠均攤到多臺應用服務器。當訪問增加較多時,可以通過增加應用服務器,確保應用層具有良好的伸縮性和服務性能。數(shù)據(jù)庫的可伸縮性可通過分析應用和數(shù)據(jù)的特征,采用數(shù)據(jù)切分、讀寫分離等方法,將服務壓力分散到多臺數(shù)據(jù)庫服務器。
4 關(guān)鍵技術(shù)選擇
4.1 文件的分布式存儲
目前,傳統(tǒng)的SAN方式已不能滿足SaaS應用的存儲需求,分布式存儲和冗余存儲已成為SaaS服務主要的存儲技術(shù)。
當前分布式數(shù)據(jù)存儲技術(shù)主要有谷歌的GFS(Google File System)和Hadoop開發(fā)團隊開發(fā)的HDFS(Hadoo PDistributed File System)。大部分IT廠商,包括雅虎、英特爾的“云”計劃采用的都是HDFS的數(shù)據(jù)存儲技術(shù)。
Hadoop是由Apache基金會開發(fā)的一個能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理的開源軟件框架,充分利用了集群的高速運算和大容量存儲的特點,具有高容錯、低廉部署、高傳輸率、支持超大數(shù)據(jù)集、開放、開源、免費等優(yōu)點。因此,Hadoop技術(shù)是實現(xiàn)圖書館信息系統(tǒng)SaaS應用的較好選擇,Hadoop的相關(guān)程序和應用示例可從Apache網(wǎng)站下載。
4.2 應用服務器的負載均衡
負載均衡是維持大規(guī)模應用并發(fā)請求和提升SaaS系統(tǒng)服務性能的重要保證;谟布呢撦d均衡性能高,但價格昂貴。采用開源Apache http Server的負載均衡功能,可滿足多租戶圖書館信息系統(tǒng)的需求。
在Apachehttp Server中,通過Load Blance配置,應用層的壓力就會均攤到多臺應用服務器上,可保證應用層具有良好的伸縮性。負載均衡的關(guān)鍵點是眾多用戶的請求分配和請求保持,Apache Server提供了3種Session請求的保持策略:①將Session復制到所有的應用服務器,這樣無論前端怎樣分發(fā)請求,都能保持會話請求,但大量的Session復制會嚴重影響應用服務器的性能;②將同一用戶的請求轉(zhuǎn)發(fā)到特定的應用服務器上,避免了Session復制,但這種模式在某臺服務器“宕機”時,服務器上的所有用戶的Session都將失效;③將Session集中到一臺獨立的Session服務器上,使用集中式的Cache代替本地的Session。在這種模式下,應用服務基本實現(xiàn)了完全的水平擴展,而集中式的Session服務器在Session數(shù)量達到一臺服務器無法承擔時,也可以通過增加服務器來擴展,可較好地應用于SaaS服務中。
4.3 數(shù)據(jù)庫服務器的可伸縮性
數(shù)據(jù)庫是信息系統(tǒng)中的重要支撐,也常常成為整個應用系統(tǒng)的瓶頸。數(shù)據(jù)庫層的可伸縮性可以通過數(shù)據(jù)庫的垂直切分、水平切分、讀寫分離和混合應用等幾種方式來解決。數(shù)據(jù)庫的垂直切分是將不同功能模塊所涉及的數(shù)據(jù)表的列劃分到不同的數(shù)據(jù)庫中,以便減輕數(shù)據(jù)表的訪問壓力,但某些強關(guān)聯(lián)的應用不易劃分且相應的連接操作對性能影響較大。數(shù)據(jù)庫的水平切分是按某種規(guī)則將數(shù)據(jù)表的行劃分到不同的數(shù)據(jù)庫中,在具體應用時,定位到特定數(shù)據(jù)庫訪問數(shù)據(jù)。數(shù)據(jù)庫的讀寫分離是將同一個數(shù)據(jù)庫在多個服務器上保留備份并彼此同步,對于寫操作都統(tǒng)一到一個主服務器上,而讀操作則分攤到多臺服務器上。
基于多租戶模型的圖書館信息系統(tǒng)的數(shù)據(jù)在總體上具有相同的模式。因此,當數(shù)據(jù)庫服務器負荷超過一定限度時,可以將數(shù)據(jù)表中的數(shù)據(jù)按所屬租戶進行水平切分,采用多個數(shù)據(jù)庫完成整個的應用。同時,圖書館信息系統(tǒng)中的大量用戶是查詢相關(guān)文獻資料,而真正進行錄入和修改等寫操作的用戶只有圖書館的工作人員,根據(jù)這一實際情況,可以采用讀寫分離的方式,對數(shù)據(jù)庫進行擴展。
4.4 應用安全
有別于傳統(tǒng)局域網(wǎng)內(nèi)的信息系統(tǒng)應用模式和基于Web的應用,SaaS服務是基于開放互聯(lián)網(wǎng)的多租戶應用,其應用和數(shù)據(jù)保存在云端,不但要防范基于互聯(lián)網(wǎng)的各種安全攻擊,更要保證多租戶架構(gòu)下的各自的數(shù)據(jù)安全,因此,SaaS應用安全是租戶最為擔心的問題,也是SaaS應用推廣的重要障礙之一。
云計算的應用安全主要有兩個方面:一是可信,沒有可信一切設計都是白費力氣;二是安全,沒有安全,一切應用都是免談,理想的單位云是可信安全云,其特點是人和設備達到可信計算和認證的目的,具體可以從三方面加以控制和實現(xiàn):①身份管理,身份的確認是云計算可信和安全應用的最基礎的內(nèi)容,非可信客戶應拒之門外,可從身份認證、權(quán)限分配、操作日志和關(guān)鍵應用實時監(jiān)控等方面加以管理和實現(xiàn);②數(shù)據(jù)安全,對于SaaS應用來說,客戶最擔心保留在他處的數(shù)據(jù)的完整性和保密性,可從租戶間的數(shù)據(jù)隔離、數(shù)據(jù)庫連接安全、敏感數(shù)據(jù)加密和數(shù)據(jù)量監(jiān)控等方面加以管理和實現(xiàn);③網(wǎng)絡安全,完全基于互聯(lián)網(wǎng)使用的SaaS應用,數(shù)據(jù)在傳輸過程中更容易受到攻擊,應用的穩(wěn)定性也更易受網(wǎng)絡的影響,可從加密的數(shù)據(jù)傳輸,分層部署的攻擊防范和網(wǎng)絡可用性方面加以管理和實現(xiàn)。
5 總 結(jié)
云計算一方面可將更大范圍內(nèi)的計算資源整合為一個統(tǒng)一的資源為用戶服務,另一方面,云計算又可對租戶的實際需求實現(xiàn)按需定制、按實付費的信息化應用模式,其低成本、高可靠以及快速、便捷的優(yōu)點將逐步成為信息化建設和應用的主流模式。作為云計算最為典型應用的SaaS服務,在圖書館信息系統(tǒng)領域的開發(fā)與推廣應用,必將為推進圖書館信息化建設、提升圖書館信息服務水平、降低圖書館信息化建設的成本等方面起到至關(guān)重要的作用。
相關(guān)熱詞搜索:租戶 信息系統(tǒng) 模型 多租戶模型的圖書館信息系統(tǒng)研究 信息通信專業(yè) 數(shù)字化用戶
熱點文章閱讀