謝 鵬 崔 振 李念祖
(首都圖書館,北京 100021)
ALEPH500系統是艾利貝斯(ExLibris,aPro-QuestCompany)集團開發的大型圖書館自動化集成管理系統,為公共圖書館、高校圖書館以及圖書館聯盟提供了圖書館自動化解決方案。根據美國LibraryJournal雜志的統計報告,艾利貝斯是全球規模最大的圖書館軟件服務商[1],目前全球用戶超過7000家。ALEPH500系統以Oracle數據庫為后臺,提供強大的資源共享能力、完全的系統連通性以及與第三方系統的無縫協調工作能力。模塊化的組件設計使用戶可以靈活實現圖書館的本地化需求。ALEPH500系統采用先進技術和管理理念,使圖書館的各項業務流程得到了優化,同時為圖書館業務格局的重組提供了很好的基礎,是一個完全集成的圖書館系統[2]。
當前,全球有超過2300個機構在使用ALEPH500系統,包括多個國家圖書館和世界著名的大學圖書館。自動化系統用戶包括英國國家圖書館、俄羅斯國家圖書館、日本國會圖書館以及美國哈佛大學、美國麻省理工學院、英國牛津大學等。在國內,ALEPH500系統也擁有大批用戶,國家級圖書館包括中國國家圖書館、中國科學院國家科學圖書館、中國社科院圖書館、中國版本圖書館。省級公共圖書館包括首都圖書館、上海圖書館、天津圖書館、南京圖書館、廣東省立中山圖書館、四川省圖書館。高校圖書館包括北京師范大學圖書館、復旦大學圖書館、上海交通大學圖書館、浙江大學圖書館、武漢大學圖書館、四川大學圖書館、中山大學圖書館等。據統計,ALEPH500系統在國內現有43家用戶,是國內擁有最多圖書館用戶的綜合性自動化管理系統。
公共圖書館的總分館模式,是指在一個合適的地域單元內,由一個或多個建設主體,建成一個“公共圖書館群”,形成圖書館服務體系,提供普遍均等的服務[3]。
“北京市公共圖書館計算機信息服務網絡”(以下簡稱“一卡通服務網絡”)是以首都圖書館為中心館,以區圖書館為各區總館,以街道、鄉鎮圖書館為分館,社區(村)圖書館(室)為遠程用戶的圖書館四級聯合服務網絡?!耙豢ㄍǚ站W絡”實現了全市各級公共圖書館的聯合檢索、聯合編目、館際互借、資源共享和圖書“一卡通”流通服務,它優化了北京市公共圖書館網絡服務環境,提升了北京地區公共圖書館自動化管理水平[4]。讀者可以在任意一家聯網圖書館辦理“北京市公共圖書館網絡聯合讀者卡”,不僅可以借閱圖書、期刊,在300多家聯網圖書館享受異地還書服務,還可以免費使用百余種電子資源數據庫。
截至2019年底,“一卡通服務網絡”已覆蓋了全市16個行政區、270個街道、鄉鎮,聯網成員館已達345家。包括1家省級圖書館——首都圖書館、19家地市級圖書館、4家少兒圖書館。北京市公共圖書館共有館藏文獻約3840萬冊(件),2019年新增藏量221萬冊(件),2019年全北京市公共圖書館年外借圖書超過1300萬冊次,年接待讀者近千萬人次,全市持卡讀者超過170萬人。

圖1 2019年北京市公共圖書館計算機信息服務網絡服務數據
到目前為止,“一卡通服務網絡”已經經歷了17年的發展,也經歷了不同的發展階段。2002年北京市開始建設公共圖書館計算機信息服務網絡,使用統一的業務管理系統,即“智慧2000系統”。2003年在西城區和西城區下屬的10個街道開始試運行“一卡通”業務系統。2004年將通借業務模式推向了全市,實現了分層級、廣域網范圍內的系統運行。2007年提供一卡通聯網服務的公共圖書館已覆蓋了全市10個區館及113個街道圖書館。
2012年,首都圖書館二期新館正式對外開放服務,全市公共圖書館的服務效能不斷提升,對業務管理系統的技術需求日益增強。統一的業務管理系統是整個服務網絡體系的技術支撐,原有“智慧2000”系統已經無法滿足需求。2014年,“智慧2000系統”和“ALEPH500系統”進入雙系統并行運轉階段,全市各級聯網圖書館達到177家。
2017年4月5日,北京市公共圖書館計算機信息服務網絡正式進行系統更迭,由“智慧2000系統”切換為“ALEPH500系統”,集成系統包含“采訪”“編目”“流通”等8個基礎模塊,以及“讀者管理”“統一身份認證”“聯合編目”等7個擴展模塊。
本次部署是ALEPH500系統在我國首次覆蓋一個省級行政區域內的全部公共圖書館,與全國范圍內其他ALEPH500系統實施案例有很大的不同,數據處理量大,聯網館數量多,覆蓋范圍廣,具有突破性意義。

圖2 ALEPH500系統部署示意圖
ALEPH500系統同時提供B/S、C/S兩種網絡連接模式。對于業務能力較強,涉及業務種類較多的首都圖書館中心館和各區級圖書館,主要采用B/S與C/S相結合的部署模式;對于業務類型較簡單的街道、鄉鎮、社區級圖書館,主要采用B/S架構的瀏覽器訪問模式。
ALEPH500系統的數據庫服務器和各項業務應用的服務器都部署在首都圖書館數據中心機房,對于首圖內網終端用戶,可以直接連接使用,而對于首圖以外的終端用戶,理想情況下可以通過專線網絡或者組建VPN虛擬專網來接入首圖內網使用。但是考慮到全市各圖書館的人員、經費、場地等條件各不相同,組建專網的實施難度較大,因此目前北京市各區級圖書館,以及街道、鄉鎮、社區圖書館都采用互聯網訪問的模式,首圖數據中心將ALEPH500客戶端和WEB版應用所使用的業務端口映射至公網IP地址,外網用戶使用公網域名訪問服務器,憑賬號密碼登錄系統進行應用。

圖3 外網用戶訪問方式示意圖
對于圖書館自動化集成系統來說,系統的安全可靠性是最基本的要求。圖書館自動化集成系統應當具有較為全面的安全保障機制,才符合系統的安全穩定性標準[5]。
2017年6月,《中華人民共和國網絡安全法》正式實施,明確規定國家實行網絡安全等級保護制度。網絡運營者應當按照網絡安全等級保護制度的要求,履行安全保護義務,保障網絡免受干擾、破壞或者未經授權的訪問,防止網絡數據泄露或者被竊取、篡改[6]。此次在北京市公共圖書館范圍內部署ALEPH500系統,系統安全需求參照了等級保護1.0標準。需要注意的是,在系統實施過程中的本地化和二次開發應用以及系統部署環境的改動,是否產生了新的不安全因素,對這些問題應及時進行滲透測試和漏洞修復。
大數據分析是目前的技術熱點,旨在從海量無序的數據以及信息當中選擇出最為有效的信息,同時根據決策方向而制定出一個較為有效的參考方案。這一技術在當代數字圖書館的管理與服務中也有很大用武之地,把圖書館完全融入大數據之中,增加圖書館數字產品,提升圖書館服務水平,借助大數據技術解決圖書館的有關問題[7]。ALEPH500系統會持續地記錄全市讀者的借閱行為,如果能對這些行為數據進行深度挖掘,則有利于提供個性化閱讀推介,更好地為讀者進行精準服務,從而提高圖書館管理水平與服務效能。
為滿足數據挖掘與數據分析的需求,ALEPH500系統需要一個專門的分析平臺或對外接口,提供有關數據的分析以及統計,同時還能夠根據用戶發出的指令,對于信息進行綜合提取,同時不會影響日常業務的響應速度。
北京市公共圖書館長期使用“智慧2000系統”,由于該系統研發年代久遠,在總分館模式使用中陸續暴露出了很多結構上的缺陷,給系統管理維護造成了諸多不便。
“智慧2000系統”采用雙數據庫機制,首都圖書館設置中心數據庫,各聯網圖書館設置本地數據庫。讀者借閱信息保存在中心數據庫,圖書編目信息保存在本地數據庫,單冊館藏信息則在中心庫和本地庫各保存一份。當終端進行借還操作時需要在本地、異地數據庫同步操作,這些操作由客戶端發起,經中間通訊程序匯總后執行。
由于網絡傳輸的不確定性,偶爾會發生一些數據庫指令執行失敗的情況,比如兩端數據庫未能同步修改,而執行失敗的指令會滯留在通訊程序的隊列中成為死鎖,阻礙后續指令的執行,造成業務停滯,必須由人工介入清理死鎖。由于“智慧2000系統”的業務功能沒有分割,任意一個終端發生的死鎖指令都會造成它所在通訊程序上的所有業務阻塞。隨著“一卡通服務網絡”的發展,聯網圖書館數量越來越多,網絡狀況越來越復雜,通訊服務死鎖的概率也隨之增加,系統使用體驗逐年下降。
ALEPH500系統在行業內使用廣泛,技術成熟穩定,并且采取單一數據庫集中部署方式,不再有本地、異地數據庫同步問題,理論上不會如智慧2000系統時期那樣發生數據庫死鎖問題。不過,智慧2000系統的局限性也是在十余年的長期使用中暴露出來的,可以預見ALEPH500系統的使用壽命可能會更長??紤]到未來北京市公共文化事業的長期發展,公共圖書館的服務范圍也將持續延伸,業務形態也會更加豐富多元,屆時系統壓力也會逐漸加大。從長遠角度來看,為了避免今后出現類似的困擾,應當在部署之初從根本上做出預防手段,防止單點壓力擴散到整體。
在這方面ALEPH500系統提供了很好的解決方案,其數據庫和應用分離,支持多節點的數據庫訪問,應用服務也采用模塊化設計,允許使用多臺服務器來分別承載不同的業務,客戶端使用不同的域名就可以訪問到不同服務器。
具體的劃分方式需要考慮兩個維度的條件:從業務重要性來看,使用客戶端軟件的采訪、編目、典藏、流通功能依然是圖書館核心業務,一旦中斷會造成嚴重影響,而其他外圍服務的重要性相對較弱。從館際區別來看,首都圖書館作為中心館,流通規模和社會影響力均為全市首位,應當優先保證首圖業務的連續與穩定。雖然各區館所用的ALEPH500客戶端軟件與首圖一致,但會自行采購自助設備與第三方系統,可能選擇與首圖不同的提供商,因此其接口服務器應當與首圖相分離,以防意外干擾。
根據上述“核心業務與外圍業務分離,首圖業務與區館業務分離”的原則,ALEPH500系統在正式部署時,采取分布式部署方式,共使用了3臺數據庫服務器,7臺業務服務器,見表1。

表1 首都圖書館ALEPH500服務器清單
中心數據庫使用雙機組成了OracleRAC集群,實現高可用性和負載均衡,兩臺主機并行工作,當其中一臺發生故障時,將由其他主機接管其作業,待故障主機恢復正常后,集群又會為它分配新的工作任務[8]。
應用服務器1號機專門承擔全市圖書館核心業務,包括客戶端應用(采訪、編目、典藏、流通等)以及WEB綜合業務(打印書標、門禁、物流等)。2號機承擔首都圖書館自助設備與第三方系統連接(WIFI認證、電子閱覽、自助打印等)。3號機則承擔各區館自助設備與第三方系統連接。4號機運行WEB流通程序,主要針對基層社區館的流通人員使用。5號機對讀者提供OPAC綜合檢索服務。6號機作為測試服務器專門用于開發測試新功能,以及培訓演示操作。對于數據挖掘和分析的需求,又另設有數據中臺應用服務器與數據庫服務器,其數據庫與中心庫保持鏡像同步。
ALEPH500系統為了滿足數據挖掘的需求,特別設計了數據中臺結構。所謂中臺即位于前臺應用和后臺數據之間,是數據界面的一種架構,通過數據技術將數據從應用界面復制出來,然后通過數據計算、加工,進而為上層應用提供統一標準和口徑的支撐平臺[9]。通過數據中臺,可進一步利用大數據技術及各種專業工具軟件等,有效實現數據分成、水平解耦,將公共數據有效沉淀。
該平臺單獨使用一臺數據庫服務器,具備基于數據庫日志的增量捕獲機制,實現源端數據庫到數據中臺貼源層的數據實時同步,而不對業務系統產生任何影響和額外負載,進而對借閱數據進行充分的分析統計。
該平臺將充分利用首圖中心館的資源及數據資產,重點打造數據分析共享服務化和數據應用工具化能力。轉變原有面向開發人員為主的傳統思路,構建數據資產和數據服務目錄、自助式報表工具、數據探索區等面向普通用戶的開放性功能,達到吸引用戶看數據、用數據的目的,促進數據中臺持續迭代、良性發展。
首都圖書館ALEPH500系統各業務服務器(見圖4)統一使用聯想xSystemX3850X5主機,配置為4顆E7-4820CPU,64GB內存,600GBRAID1本地磁盤,安裝RedHatEnterpriseLinux5.10操作系統。

圖4 主機業務分擔示意圖
主數據庫服務器為兩臺IBM PowerSystem S822小型機,配置為20顆物理CPU,128GB內存,通過HBA卡外接至獨立數據存儲陣列,安裝AIX7.1操作系統,并部署為OracleRAC集群。
數據中臺所用數據庫服務器為一臺IBMPowerSystem720小型機,配置為4顆CPU,64GB內存,同樣使用HBA卡外接數據存儲,AIX7.1操作系統,部署相同版本Oracle。
由于采取了互聯網直接訪問的方式,首都圖書館ALEPH500業務服務器的登錄方式事實上是向公網開放的,而北京市部分街道級圖書館,以及市內24小時自助圖書館終端普遍使用動態IP接入互聯網,沒有固定IP地址,無法通過防火墻白名單的方式直接限制終端來源。這種情況下難以識別用戶的合規性,特別是WEB版應用,此時系統的賬戶密碼便成為了唯一的驗證手段,防護能力有所欠缺。
而ALEPH500系統的WEB版應用原本使用HTTP協議方式明文傳輸,存在著易泄露、易注入、缺乏完整性檢測的問題[10],在公網中有可能被竊取數據信息,存在管理員賬戶泄露的安全隱患。
為增強ALEPH500系統在互聯網環境下的安全性,針對北京市公共圖書館網絡所使用的WEB版應用進行了額外開發的工作,全面啟用HTTPS協議,通過SSL加密方式傳輸數據防止泄露,并增加了密碼重試次數限制功能,盡可能防止了惡意破解的行為。
首都圖書館ALEPH500系統自2017年4月正式上線使用,至今已逾兩年,其間整體運行情況良好,未出現重大系統應用事故。系統各服務器負載平穩,性能充裕,從未發生因性能瓶頸而造成的業務遲滯。
截至2020年初,以ALEPH500系統中的1號應用服務器為例,針對服務器的性能監測顯示(見圖5),其CPU和內存使用情況在一周內的峰值為30%左右,屬于合理區間內。其他服務器數據與之類似,該結果驗證了前期業務分割的設計合理,很好地保障了北京市公共圖書館服務網絡的穩定運行,并且為未來長期發展保留了充足增量空間。

圖5 ALEPH500服務器性能監測數據
首都圖書館在部署ALEPH500系統的過程中,通過對服務的合理劃分,成功實踐了一種分布式部署方法,有效地支撐起了北京市公共圖書館計算機信息服務網絡的平穩運行。新系統令館藏文獻信息更準確,聯采聯編、圖書預約、聯合檢索、自助借閱等服務更加高效便捷,業務系統開源性增強,更加適應未來圖書館日益擴展的服務新手段、新內容。新系統幫助北京市建立起了一套完整的公共圖書館總分館服務體系,優化了北京市公共圖書館網絡服務環境,提升了北京地區公共圖書館計算機管理水平,進一步提升了北京市公共圖書館的技術能力與服務能力,能夠保障各級公共圖書館滿足市民多層次的文化需求。