趙丹陽(yáng)
(國(guó)家圖書館,北京 100081)
網(wǎng)絡(luò)信息時(shí)代,數(shù)字信息逐漸成為人類文明記憶的載體。中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心發(fā)布第45次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》[1]顯示,截至2019年12月,我國(guó)網(wǎng)站數(shù)量為497萬(wàn)個(gè),網(wǎng)頁(yè)數(shù)量2 978億個(gè)。然而,網(wǎng)絡(luò)信息更新快、易流失,要更好地傳承數(shù)字時(shí)代的文化、文明,及時(shí)、完整地保存網(wǎng)絡(luò)信息資源非常重要,這也是國(guó)家圖書館履行文獻(xiàn)保存與保護(hù)的職責(zé)所在。
作為國(guó)家公共文化服務(wù)體系的重要組成部分,國(guó)家圖書館一直重視網(wǎng)絡(luò)信息資源的保存與服務(wù)。最早于2003年開展的網(wǎng)絡(luò)信息資源采集與保存試驗(yàn)項(xiàng)目(Web Information Collection and Preservation,WICP)[2],開始實(shí)驗(yàn)性地對(duì)中國(guó)境內(nèi)的互聯(lián)網(wǎng)資源進(jìn)行采集與保存。2007年,國(guó)家圖書館正式加入并成為國(guó)際互聯(lián)網(wǎng)保存聯(lián)盟(International Internet Preservation Consortium,IIPC)成員單位。在聯(lián)盟框架下,國(guó)家圖書館廣泛地進(jìn)行交流與合作,并基于國(guó)際通用的標(biāo)準(zhǔn)和技術(shù)體系,開展了國(guó)內(nèi)網(wǎng)絡(luò)資源保存,進(jìn)而促進(jìn)了該項(xiàng)工作的國(guó)際化和標(biāo)準(zhǔn)化進(jìn)程。2009年成立了國(guó)家圖書館互聯(lián)網(wǎng)信息保存保護(hù)中心,致力于中國(guó)互聯(lián)網(wǎng)信息資源長(zhǎng)期保存和保護(hù);2012年開通網(wǎng)站服務(wù),對(duì)采集到的互聯(lián)網(wǎng)資源進(jìn)行組織與展示;2014年依托“網(wǎng)事典藏”項(xiàng)目,聯(lián)合全國(guó)公共圖書館共同開展互聯(lián)網(wǎng)資源的保存和服務(wù);2018年研發(fā)并推廣部署網(wǎng)絡(luò)資源采集與保存平臺(tái),實(shí)現(xiàn)互聯(lián)網(wǎng)資源高效和規(guī)范化地采集、編目、回放、發(fā)布和服務(wù);截至2018年底,全國(guó)各級(jí)公共圖書館累計(jì)采集網(wǎng)站2.3萬(wàn)余個(gè),實(shí)現(xiàn)了涵蓋政府公開信息、國(guó)內(nèi)外重要網(wǎng)站網(wǎng)頁(yè)等互聯(lián)網(wǎng)資源的保存與保護(hù)。
國(guó)家圖書館網(wǎng)絡(luò)資源采集模式分為全域采集[3]和專題性采集兩種。
全域采集也是整站采集,是以域名為單位對(duì)網(wǎng)站全部對(duì)象數(shù)據(jù)進(jìn)行采集與保存。在采集網(wǎng)站與網(wǎng)絡(luò)信息的選取方面,人工介入與定量、定性的考量成為必不可少的要素。國(guó)家圖書館的網(wǎng)絡(luò)資源保存工作以保存中華數(shù)字記憶為主要職責(zé),遴選具有重要保存價(jià)值的優(yōu)質(zhì)網(wǎng)絡(luò)文化資源進(jìn)行采集。此外,在采集過(guò)程中充分考慮采集的延續(xù)性和采集后數(shù)據(jù)的有效利用。其中,政府網(wǎng)站是采集的主體,特別是在《政府信息公開條例》和數(shù)字圖書館推廣工程的推動(dòng)和支持下,國(guó)家圖書館聯(lián)合全國(guó)各級(jí)公共圖書館,對(duì)我國(guó)黨政機(jī)關(guān)網(wǎng)站進(jìn)行全面采集,政府級(jí)別涵蓋中央級(jí)、省部級(jí)、地市級(jí)、縣級(jí)、鄉(xiāng)鎮(zhèn)及以下等,其中國(guó)家圖書館負(fù)責(zé)中央級(jí)網(wǎng)站采集,各級(jí)公共圖書館負(fù)責(zé)采集各自區(qū)域及相對(duì)應(yīng)級(jí)別的政府網(wǎng)站。多年來(lái),采集的資源為民眾查閱政府信息和學(xué)者研究提供了良好的資源保障,同時(shí)也記錄了中國(guó)政府機(jī)構(gòu)改革歷程,為國(guó)家決策提供參考。
專題性采集是指圍繞國(guó)家重要領(lǐng)域和社會(huì)熱點(diǎn),對(duì)相關(guān)主題的網(wǎng)絡(luò)資源進(jìn)行采集和保存,并提供給社會(huì)大眾更有深度、更有挖掘價(jià)值的整合性信息。采集的資源包括各網(wǎng)站的專題欄目、相關(guān)網(wǎng)頁(yè)及其他類型的網(wǎng)絡(luò)資源。網(wǎng)絡(luò)專題資源建設(shè)可以說(shuō)是數(shù)字圖書館在新環(huán)境下提供資源服務(wù)的重要方式,不僅在于數(shù)字遺產(chǎn)的保存與傳承,還可以為社會(huì)提供數(shù)據(jù)整合后的知識(shí)服務(wù)。國(guó)家圖書館目前每年會(huì)建設(shè)60個(gè)左右的專題資源庫(kù),并構(gòu)建若干重點(diǎn)專題,通過(guò)資源聚類、可視化、關(guān)聯(lián)分析等技術(shù)創(chuàng)新服務(wù)模式,提升服務(wù)體驗(yàn)效果。
截至2018年底,國(guó)家圖書館已采集政府網(wǎng)站超過(guò)2萬(wàn)個(gè)/次,國(guó)內(nèi)網(wǎng)站2 319個(gè)/次,國(guó)外網(wǎng)站5 583個(gè)/次,專題超過(guò)276個(gè),數(shù)據(jù)量總計(jì)超過(guò)210TB。網(wǎng)絡(luò)資源已成為圖書館數(shù)字資源建設(shè)的重要組成部分,為政府決策、科學(xué)研究和滿足民眾信息需求提供重要支持。
為了應(yīng)對(duì)海量網(wǎng)絡(luò)資源的采集與保存挑戰(zhàn),國(guó)家圖書館已經(jīng)初步形成較為完整的網(wǎng)絡(luò)資源保存體系和有效服務(wù)機(jī)制,通過(guò)標(biāo)準(zhǔn)規(guī)范、技術(shù)應(yīng)用、平臺(tái)建設(shè)、數(shù)據(jù)挖掘和分析,以及用戶服務(wù)體驗(yàn)、分工合作等方式,實(shí)現(xiàn)網(wǎng)絡(luò)資源保存工作的長(zhǎng)期、科學(xué)、可持續(xù)發(fā)展。
網(wǎng)絡(luò)資源在分類、結(jié)構(gòu)以及表現(xiàn)形式、數(shù)據(jù)特點(diǎn)等方面與傳統(tǒng)的數(shù)字資源相比,有很多獨(dú)特的性質(zhì)。當(dāng)完成大規(guī)模的資源采集和歸檔后,要用客觀性、完整性、統(tǒng)一性的規(guī)范化語(yǔ)言進(jìn)行描述,進(jìn)而才能為進(jìn)一步的長(zhǎng)期保存、有效揭示以及深度的數(shù)據(jù)挖掘奠定基礎(chǔ)。國(guó)家圖書館在研究現(xiàn)有數(shù)字資源元數(shù)據(jù)規(guī)范的基礎(chǔ)上,結(jié)合網(wǎng)絡(luò)資源的數(shù)據(jù)特點(diǎn)和傳播特點(diǎn),建立了一套較為完善的網(wǎng)絡(luò)資源元數(shù)據(jù)著錄規(guī)范,實(shí)現(xiàn)對(duì)國(guó)內(nèi)外網(wǎng)站資源、網(wǎng)絡(luò)專題資源等規(guī)范化著錄。同時(shí),為促進(jìn)網(wǎng)絡(luò)資源聯(lián)建與共享,制定了“數(shù)字圖書館推廣工程”網(wǎng)絡(luò)資源元數(shù)據(jù)規(guī)范,并成為各地方館資源建設(shè)的參考標(biāo)準(zhǔn)。
中國(guó)政府公開信息整合服務(wù)平臺(tái),是國(guó)家圖書館聯(lián)合全國(guó)各級(jí)公共圖書館共同建設(shè)的。目前已經(jīng)230余家公共圖書館參與到項(xiàng)目建設(shè)之中,所有參與館采用統(tǒng)一的元數(shù)據(jù)標(biāo)準(zhǔn)和規(guī)范,各自采集整合本行政區(qū)的政府公開信息,通過(guò)“分層建設(shè)、共建共享”模式,將采集到的網(wǎng)絡(luò)資源有序整合與統(tǒng)一發(fā)布服務(wù),實(shí)現(xiàn)公共圖書館對(duì)政府公開信息的收集、整理、保存并服務(wù)于公眾。
作為國(guó)家公共文化服務(wù)體系的重要組成部分,國(guó)家圖書館重視并積極推動(dòng)中國(guó)網(wǎng)絡(luò)資源保存與服務(wù)的知識(shí)普及、能力提升、業(yè)務(wù)推廣。從2014年開始,依托國(guó)家“數(shù)字圖書館推廣工程”,國(guó)家圖書館聯(lián)合全國(guó)各地市級(jí)圖書館,基于“統(tǒng)一調(diào)度、分工采集、集中索引、分散保存”模式,逐步構(gòu)建了覆蓋全國(guó)的分級(jí)分布的網(wǎng)絡(luò)信息保存體系。
在網(wǎng)絡(luò)資源保存體系中,創(chuàng)立了“網(wǎng)事典藏”項(xiàng)目,廣泛號(hào)召各個(gè)圖書館參與到該項(xiàng)工作中。在“網(wǎng)事典藏”項(xiàng)目中,參與圖書館采集并保存反映當(dāng)?shù)卣?、?jīng)濟(jì)、文化發(fā)展的重要網(wǎng)站和熱點(diǎn)專題資源。其中網(wǎng)站采集主要以當(dāng)?shù)厝嗣裾跋聦贆C(jī)構(gòu)網(wǎng)站為主,整站采集;專題資源采集圍繞當(dāng)?shù)刂卮笪幕录⒌胤矫耧L(fēng)民俗、地方文化保護(hù)等主題,采集本地區(qū)完整的、延續(xù)性較好的重點(diǎn)專題的網(wǎng)絡(luò)資源,采集對(duì)象為網(wǎng)站專題頻道和網(wǎng)頁(yè)。參與該項(xiàng)目的圖書館逐年遞增,2014年首都圖書館、湖北省圖書館、浙江圖書館、吉林圖書館以及新疆建設(shè)兵團(tuán)圖書館5家省級(jí)公共圖書館成為首批聯(lián)建成員。2015年有78家省市級(jí)圖書館積極申報(bào)網(wǎng)絡(luò)信息保存工作,此后逐年遞增,到2018年申報(bào)的圖書館數(shù)量已經(jīng)達(dá)到115家。
國(guó)家圖書館的網(wǎng)絡(luò)資源保存業(yè)務(wù)從2005年開始基于開源軟件Heritrix[4-5]進(jìn)行采集、編目和保存?;诰W(wǎng)絡(luò)資源的增多、業(yè)務(wù)效率的提升以及存儲(chǔ)空間的有效利用等因素,國(guó)家圖書館在網(wǎng)絡(luò)資源采集與保存的工作中,一直跟蹤業(yè)界技術(shù)發(fā)展,尤其關(guān)注存儲(chǔ)技術(shù)、分布式結(jié)構(gòu)以及云服務(wù)架構(gòu),在業(yè)務(wù)實(shí)踐中通過(guò)不斷自行開發(fā)軟件程序?qū)崿F(xiàn)網(wǎng)絡(luò)資源采集與保存平臺(tái)的功能改進(jìn)。隨著全國(guó)范圍內(nèi)多個(gè)圖書館參與到網(wǎng)絡(luò)資源保存工作中,更加需要一個(gè)規(guī)范性、開放性、共享性的軟件平臺(tái),用以適應(yīng)不同基礎(chǔ)硬件環(huán)境的圖書館網(wǎng)絡(luò)采集業(yè)務(wù)需求,并可以支撐多個(gè)圖書館基于同一軟件平臺(tái)共同開展網(wǎng)絡(luò)資源采集和保存工作,共同促進(jìn)中國(guó)的網(wǎng)絡(luò)資源保存事業(yè)的發(fā)展。
國(guó)家圖書館基于近十年的軟件開發(fā)基礎(chǔ)和平臺(tái)功能改善積累,在2018年研發(fā)出一套分布式云存儲(chǔ)架構(gòu)的網(wǎng)絡(luò)資源采集與保存平臺(tái)。該平臺(tái)基于開源軟件Heritrix進(jìn)行定制開發(fā),通過(guò)模塊化和流程化,實(shí)現(xiàn)網(wǎng)絡(luò)資源采集和保存全流程業(yè)務(wù)的規(guī)范化管理和可視化操作,提升了工作效率。平臺(tái)采集的資源以國(guó)際通用標(biāo)準(zhǔn)WARC[6]格式存儲(chǔ)在分布式文件系統(tǒng)中,經(jīng)質(zhì)檢合格后的數(shù)據(jù)即可作為發(fā)布級(jí)數(shù)據(jù)用于網(wǎng)站前端展示。同時(shí),質(zhì)檢合格的所有WARC數(shù)據(jù)經(jīng)過(guò)封裝后提交國(guó)家圖書館長(zhǎng)期保存系統(tǒng)進(jìn)行長(zhǎng)期保存。平臺(tái)的數(shù)據(jù)處理能力能支持至少100萬(wàn)條元數(shù)據(jù)數(shù)據(jù)的管理和使用。根據(jù)實(shí)際業(yè)務(wù)需要,平臺(tái)共設(shè)計(jì)有8個(gè)功能區(qū),即采集、編目、回放、內(nèi)容管理與發(fā)布、數(shù)據(jù)保存、統(tǒng)計(jì)、用戶管理、維護(hù)備份,每個(gè)功能區(qū)采用模塊化設(shè)計(jì),便于進(jìn)一步的擴(kuò)展和改進(jìn),也可實(shí)現(xiàn)模塊化輕量級(jí)部署和服務(wù)。
網(wǎng)絡(luò)資源采集與保存平臺(tái)采用了分布式云架構(gòu),可以實(shí)現(xiàn)國(guó)家圖書館與多個(gè)圖書館(機(jī)構(gòu))共同開展網(wǎng)絡(luò)采集業(yè)務(wù)。網(wǎng)絡(luò)資源采集與保存平臺(tái)的中心節(jié)點(diǎn)部署在國(guó)家圖書館,由國(guó)家圖書館進(jìn)行統(tǒng)一操作和管理。其他圖書館作為并行節(jié)點(diǎn),可以按照自身的業(yè)務(wù)需求,以定制化的方式安裝業(yè)務(wù)需要的功能模塊。在云架構(gòu)下的每個(gè)圖書館,可以依靠本地所有的服務(wù)器設(shè)備和網(wǎng)絡(luò)進(jìn)行資源采集,并實(shí)現(xiàn)本地存儲(chǔ);也可以統(tǒng)一使用平臺(tái)中心節(jié)點(diǎn)所包含的服務(wù)器設(shè)備和網(wǎng)絡(luò)進(jìn)行資源采集,并實(shí)現(xiàn)中心節(jié)點(diǎn)統(tǒng)一存儲(chǔ)。云架構(gòu)下的所有采集節(jié)點(diǎn)采集到的網(wǎng)絡(luò)資源元數(shù)據(jù)集中存儲(chǔ)于中心節(jié)點(diǎn)上,進(jìn)而實(shí)現(xiàn)多機(jī)構(gòu)網(wǎng)絡(luò)采集數(shù)據(jù)的集中管理和使用。
網(wǎng)絡(luò)資源采集與保存平臺(tái)有較為完善的用戶和權(quán)限控制機(jī)制,既做到分工明確,又可以確保平臺(tái)上各個(gè)圖書館自有的資源和操作不受干擾。位于國(guó)家圖書館的平臺(tái)中心,統(tǒng)一管理全國(guó)各個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)信息保存任務(wù),同時(shí)也是所有圖書館節(jié)點(diǎn)的信息聚合點(diǎn),平臺(tái)中心可實(shí)時(shí)了解各個(gè)時(shí)間段、各個(gè)節(jié)點(diǎn)網(wǎng)絡(luò)信息保存任務(wù)的進(jìn)行情況,對(duì)信息保存相關(guān)業(yè)務(wù)進(jìn)行調(diào)度與管理。
國(guó)家圖書館根據(jù)自有的網(wǎng)絡(luò)資源采集和保存的業(yè)務(wù)特點(diǎn)及業(yè)務(wù)管理需求,同時(shí)考慮到面向全國(guó)多機(jī)構(gòu)共同開展業(yè)務(wù),設(shè)計(jì)了網(wǎng)絡(luò)資源采集與保存平臺(tái)的系統(tǒng)架構(gòu)及功能,使其具有自動(dòng)化、分布式、云管理的個(gè)性化特點(diǎn)。
以往在IIPC框架下實(shí)現(xiàn)的網(wǎng)絡(luò)資源采集和保存的整個(gè)業(yè)務(wù)流程,類似于種子鏈接的部署、采集結(jié)果的匯總、索引文件的建立以及發(fā)布鏈接的質(zhì)檢等操作,均需要業(yè)務(wù)人員手工進(jìn)行操作和干預(yù),并且這類工作經(jīng)常需要重復(fù)操作。隨著業(yè)務(wù)的持續(xù)發(fā)展,在各個(gè)業(yè)務(wù)環(huán)節(jié)中產(chǎn)生及需要處理的數(shù)據(jù)量大幅增長(zhǎng),手工操作已經(jīng)無(wú)法滿足業(yè)務(wù)發(fā)展的需求。此外,由于全國(guó)不同圖書館的業(yè)務(wù)人員的計(jì)算機(jī)知識(shí)水平不等,在進(jìn)行網(wǎng)絡(luò)資源采集和保存的工作中存在很大的困難,嚴(yán)重阻礙各地圖書館的網(wǎng)絡(luò)資源采集和保存業(yè)務(wù)的推進(jìn)和發(fā)展。
新構(gòu)建的平臺(tái)要以用戶為中心,降低業(yè)務(wù)操作難度,規(guī)范業(yè)務(wù)流程,提高業(yè)務(wù)工作效率;此外,還要通過(guò)模塊化的形式,使得網(wǎng)絡(luò)資源采集和保存的完整流程切分成多個(gè)合理的、彼此有關(guān)聯(lián)、個(gè)體相對(duì)獨(dú)立的業(yè)務(wù)模塊。平臺(tái)具有可視化的操作界面,讓不具備深入的網(wǎng)絡(luò)資源采集或計(jì)算機(jī)知識(shí)的業(yè)務(wù)人員也可以操作和完成工作,進(jìn)而讓更多的圖書館加入到網(wǎng)絡(luò)資源采集與保存的業(yè)務(wù)中,以共同實(shí)現(xiàn)網(wǎng)絡(luò)資源的及時(shí)保存和有效服務(wù)。
以往的網(wǎng)絡(luò)資源采集與保存業(yè)務(wù),使用多臺(tái)服務(wù)器,每臺(tái)服務(wù)器部署一個(gè)Heritrix實(shí)例,由這臺(tái)服務(wù)器單獨(dú)運(yùn)行Heritrix的采集進(jìn)程,完成指定采集任務(wù)。這種模式依靠服務(wù)器的處理性能以及運(yùn)行的Heritrix實(shí)例數(shù)量來(lái)決定采集的效率和采集的頻度。當(dāng)承擔(dān)不同的采集任務(wù)時(shí),服務(wù)器的工作負(fù)荷會(huì)有較大區(qū)別;采集網(wǎng)絡(luò)資源需要的網(wǎng)絡(luò)帶寬負(fù)荷、存儲(chǔ)空間負(fù)荷均會(huì)有較大區(qū)別。經(jīng)過(guò)一段時(shí)間的監(jiān)控,發(fā)現(xiàn)在實(shí)際網(wǎng)絡(luò)資源采集業(yè)務(wù)中,會(huì)出現(xiàn)部分服務(wù)器內(nèi)存、CPU等占用較滿,網(wǎng)絡(luò)帶寬占用較多,而與此同時(shí),還有一些服務(wù)器處于閑置狀態(tài)。這種模式不能充分利用所有硬件資源,對(duì)網(wǎng)絡(luò)帶寬、存儲(chǔ)空間利用均有或多或少的資源浪費(fèi)。
新構(gòu)建的平臺(tái)要適應(yīng)國(guó)家圖書館及全國(guó)多個(gè)圖書館共同進(jìn)行網(wǎng)絡(luò)資源采集的業(yè)務(wù)模式,因此要整合所有服務(wù)器的資源,根據(jù)采集業(yè)務(wù)的實(shí)際情況動(dòng)態(tài)調(diào)整服務(wù)器配置和采集業(yè)務(wù)的任務(wù),進(jìn)而支持持續(xù)性、不間斷、大數(shù)據(jù)量、多機(jī)構(gòu)的網(wǎng)絡(luò)資源采集和保存業(yè)務(wù);同時(shí),還要較大程度地發(fā)揮服務(wù)器集群的整體性能,以虛擬化和分布式的模式整體調(diào)配服務(wù)器硬件、網(wǎng)絡(luò)及存儲(chǔ)資源,讓其為網(wǎng)絡(luò)資源采集和保存發(fā)揮最大的效能。
在以往的網(wǎng)絡(luò)資源采集業(yè)務(wù)流程中,以網(wǎng)絡(luò)資源采集任務(wù)為保存目標(biāo),將其保存為warc格式的文件,并壓縮處理成為gz格式進(jìn)行最終的保存,所有采集到的資源保存于存域網(wǎng)的在線存儲(chǔ)空間中。這種存儲(chǔ)模式,不但限制了Heritrix軟件對(duì)于網(wǎng)絡(luò)資源在單次采集中的最大抓取數(shù)量,而且會(huì)產(chǎn)生存儲(chǔ)空間的失衡。因?yàn)樵贖eritrix實(shí)例運(yùn)行過(guò)程中,其所在服務(wù)器連接的存域網(wǎng)空間是獨(dú)享給該服務(wù)器使用的,當(dāng)Heritrix實(shí)例采集的網(wǎng)絡(luò)資源容量接近或者超出其服務(wù)器所支配的存儲(chǔ)空間容量時(shí),Heritrix軟件的采集進(jìn)程會(huì)受到影響甚至中斷。此外,由于單臺(tái)服務(wù)器的存儲(chǔ)模式是獨(dú)享其連接的存域網(wǎng)空間,不支持服務(wù)器虛擬化以及Heritrix多線程的虛擬化采集模式,不能為虛擬化后的分布式集群提供存儲(chǔ)服務(wù)。
新構(gòu)建的平臺(tái)所采用的存儲(chǔ)模式要適應(yīng)虛擬化和分布式的硬件架構(gòu),形成可以共享的云存儲(chǔ)池為國(guó)家圖書館以及平臺(tái)上的其他機(jī)構(gòu)提供可靠的數(shù)據(jù)存儲(chǔ)服務(wù);此外,云存儲(chǔ)池可以實(shí)現(xiàn)根據(jù)業(yè)務(wù)需求,擴(kuò)充存儲(chǔ)空間、調(diào)度存儲(chǔ)分配策略等,進(jìn)而實(shí)現(xiàn)對(duì)采集業(yè)務(wù)的有效支撐。
網(wǎng)絡(luò)采集與保存平臺(tái)需最大化地提高原采集方式的自動(dòng)化程度,且需持續(xù)性地進(jìn)行海量的網(wǎng)絡(luò)資源的采集、保存和服務(wù)。因此,基于平臺(tái)要建設(shè)的分布式硬件架構(gòu)、集群化批量采集模式以及共享式的存儲(chǔ)空間管理,平臺(tái)采用IIPC的Heritrix(采集)、Wayback[7](索引)和回放服務(wù)的基本采集流程框架(見(jiàn)圖1),保障網(wǎng)絡(luò)資源采集和保存的整體流程完整和規(guī)范;此外,在基礎(chǔ)框架上進(jìn)行了多個(gè)個(gè)性化功能的改造和研發(fā),充分發(fā)揮了開源工具的優(yōu)勢(shì)。
為了有效、統(tǒng)一管理整個(gè)網(wǎng)絡(luò)采集與保存平臺(tái),在基礎(chǔ)框架之上研發(fā)了一個(gè)B/S模式的管理端,不但可以實(shí)現(xiàn)本地采集任務(wù)的分發(fā)配置、采集資源的自動(dòng)調(diào)度等管理,還可以實(shí)現(xiàn)平臺(tái)上不同機(jī)構(gòu)的采集任務(wù)的監(jiān)控和管理。在擴(kuò)展采集服務(wù)器的同時(shí),使用虛擬化技術(shù),形成服務(wù)器集群,并且部署多個(gè)Heritrix采集節(jié)點(diǎn),運(yùn)用Heritrix多線程的采集特點(diǎn),形成大規(guī)模的、分布式采集結(jié)構(gòu);優(yōu)化管理平臺(tái)程序,調(diào)用Heritrix接口,實(shí)現(xiàn)批量采集任務(wù)的部署。摒棄以往直連式、獨(dú)享式存儲(chǔ)空間管理模式,采用GlusterFS分布式文件系統(tǒng),作為Heritrix采集結(jié)果的統(tǒng)一組織和存儲(chǔ)容器。采用Openwayback和NutchWAX[8]組件,對(duì)分布式文件系統(tǒng)中保存的采集數(shù)據(jù)進(jìn)行URL索引和全文索引,解決以往傳統(tǒng)架構(gòu)中需要人工參與索引操作的問(wèn)題。
網(wǎng)絡(luò)采集與保存平臺(tái)整體架構(gòu)為分層、分級(jí)的云架構(gòu)(見(jiàn)圖2),對(duì)于普通用戶來(lái)說(shuō),可以通過(guò)互聯(lián)網(wǎng)發(fā)布平臺(tái)來(lái)獲取本平臺(tái)的資源服務(wù);對(duì)于業(yè)務(wù)人員來(lái)說(shuō),可以通過(guò)管理平臺(tái)來(lái)控制和管理網(wǎng)絡(luò)資源的采集和保存全流程?;ヂ?lián)網(wǎng)發(fā)布平臺(tái)與管理平臺(tái)之間通過(guò)標(biāo)準(zhǔn)接口來(lái)實(shí)現(xiàn)數(shù)據(jù)和需求的互通,彼此之間都是透明的。管理平臺(tái)完整地管理接入到本平臺(tái)上所有機(jī)構(gòu)的網(wǎng)絡(luò)資源采集與保存的全流程,基于分步式云存儲(chǔ)架構(gòu)實(shí)現(xiàn)了分層分級(jí)式資源共享和集成管理。
圖1 基于IIPC工具的采集存檔流程框架
圖2 網(wǎng)絡(luò)資源采集與保存平臺(tái)整體架構(gòu)
(1)統(tǒng)一調(diào)度的實(shí)現(xiàn)。網(wǎng)絡(luò)采集與保存平臺(tái)的“管理平臺(tái)”部署在一臺(tái)主服務(wù)器上,采集節(jié)點(diǎn)部署在多臺(tái)服務(wù)器上。管理平臺(tái)與采集服務(wù)器節(jié)點(diǎn)之間建立通信反饋,對(duì)采集節(jié)點(diǎn)及其節(jié)點(diǎn)上的多個(gè)采集線程之間的采集任務(wù)進(jìn)行統(tǒng)一配置和調(diào)度,并負(fù)責(zé)所有部署完成的待采集任務(wù)組成的任務(wù)隊(duì)列的調(diào)度管理,分配采集節(jié)點(diǎn)的空閑資源,調(diào)度待采集任務(wù)進(jìn)行爬蟲和抓取操作。
(2)分布式采集的實(shí)現(xiàn)。網(wǎng)絡(luò)采集與保存平臺(tái)采用分布式存儲(chǔ)架構(gòu),可平行擴(kuò)展增加多臺(tái)物理服務(wù)器,每臺(tái)物理服務(wù)器進(jìn)行虛擬劃分部署作為Heritrix采集節(jié)點(diǎn),利用Heritrix多線程的特點(diǎn),一個(gè)或者多個(gè)采集URL在多個(gè)線程中并行運(yùn)行,進(jìn)而提升采集的效率,充分利用采集服務(wù)器的性能。為了保障分布式采集的高效和統(tǒng)一,平臺(tái)還要監(jiān)控所有采集任務(wù)的執(zhí)行情況,平衡每個(gè)采集節(jié)點(diǎn)網(wǎng)絡(luò)及硬件資源效率;針對(duì)部署的任務(wù)隊(duì)列采集和完成情況,調(diào)度Heritrix開展任務(wù)的抓取。
(3)分布式存儲(chǔ)和服務(wù)的實(shí)現(xiàn)。為了實(shí)現(xiàn)分布式采集多個(gè)節(jié)點(diǎn)的采集數(shù)據(jù)統(tǒng)一歸檔、有效索引,平臺(tái)采用高可用性、高性能、擴(kuò)展性強(qiáng)以及對(duì)硬件性能要求低的GlusterFS分布式文件系統(tǒng)[9]實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)管理。
平臺(tái)在GlusterFS分布式技術(shù)的應(yīng)用上,摒棄了元數(shù)據(jù)服務(wù)器,消除整個(gè)系統(tǒng)的單點(diǎn)故障,提高對(duì)數(shù)據(jù)的并行存取速度。引用mysql作為數(shù)據(jù)庫(kù)服務(wù),存儲(chǔ)平臺(tái)相關(guān)的元數(shù)據(jù),通過(guò)OMP在精度要求相同的情況下,加快算法的收斂速度。采用彈性HASH算法,數(shù)據(jù)分布存儲(chǔ)在每個(gè)文件中,每個(gè)存儲(chǔ)節(jié)點(diǎn)均有相同的目錄結(jié)構(gòu),每個(gè)節(jié)點(diǎn)存儲(chǔ)的數(shù)據(jù)HASH值為66635/節(jié)點(diǎn)數(shù),第一個(gè)節(jié)點(diǎn)為0-65535/節(jié)點(diǎn)數(shù),第二個(gè)節(jié)點(diǎn)為65535/節(jié)點(diǎn)數(shù)-2*65535/節(jié)點(diǎn)數(shù),以此類推,這種散列分布算法解決了單點(diǎn)故障的問(wèn)題。存儲(chǔ)系統(tǒng)橫向擴(kuò)展、節(jié)點(diǎn)增加時(shí),重新計(jì)算節(jié)點(diǎn)的HASH值,可以將所有數(shù)據(jù)平衡到各存儲(chǔ)節(jié)點(diǎn),實(shí)現(xiàn)節(jié)點(diǎn)的負(fù)載均衡隨機(jī)可控,提高系統(tǒng)的吞吐量。
平臺(tái)的采集節(jié)點(diǎn)通過(guò)InfiniBand和部署GlusterFS分布式文件系統(tǒng)的存儲(chǔ)服務(wù)器進(jìn)行通信和數(shù)據(jù)傳輸,抓取到的采集數(shù)據(jù)以warc格式進(jìn)行存儲(chǔ)。采集任務(wù)結(jié)束后,采集節(jié)點(diǎn)將warc格式數(shù)據(jù)轉(zhuǎn)移至GlusterFS分布式文件系統(tǒng)中,運(yùn)用其全局統(tǒng)一的命名空間管理[10]將數(shù)據(jù)資源統(tǒng)一放在GlusterFS集群虛擬存儲(chǔ)池中,做統(tǒng)一的組織和存儲(chǔ)。利用服務(wù)器磁盤中的多個(gè)Brick(GlusterFS的基本存儲(chǔ)單元),形成存儲(chǔ)卷后掛載到GlusterFS客戶端,通過(guò)掛載點(diǎn)來(lái)共享所有的采集存檔數(shù)據(jù),并在平臺(tái)前端顯示存儲(chǔ)的路徑。部署的Wayback和NutchWAX組件會(huì)對(duì)存檔數(shù)據(jù)進(jìn)行URL索引和全文索引,并進(jìn)行后續(xù)的發(fā)布服務(wù)。
網(wǎng)絡(luò)采集與保存平臺(tái)將國(guó)家圖書館設(shè)為平臺(tái)的中心節(jié)點(diǎn)。中心節(jié)點(diǎn)作為管理者,統(tǒng)一管理國(guó)家圖書館以及連接到平臺(tái)下的所有機(jī)構(gòu)的網(wǎng)絡(luò)采集任務(wù),同時(shí)也是所有節(jié)點(diǎn)的信息聚合點(diǎn),中心平臺(tái)可實(shí)時(shí)了解各個(gè)時(shí)間段、各個(gè)節(jié)點(diǎn)網(wǎng)絡(luò)信息采集任務(wù)的進(jìn)展情況,對(duì)網(wǎng)絡(luò)資源保存相關(guān)業(yè)務(wù)進(jìn)行管理與調(diào)整。平臺(tái)完整的硬件架構(gòu)及軟件系統(tǒng)均部署在國(guó)家圖書館,其他圖書館根據(jù)自身的業(yè)務(wù)需求可以模塊化地部署自己需要的業(yè)務(wù)模塊。在云架構(gòu)的統(tǒng)一管理下,所有圖書館(機(jī)構(gòu))的硬件資源共同構(gòu)成了網(wǎng)絡(luò)資源采集與保存平臺(tái)的硬件環(huán)境。在整體架構(gòu)下的每個(gè)圖書館都可以利用自己本地的服務(wù)器、網(wǎng)絡(luò)和存儲(chǔ)空間完成網(wǎng)絡(luò)資源的采集和保存,不同圖書館之間不會(huì)互相干擾。平臺(tái)架構(gòu)下的所有圖書館采集到的網(wǎng)絡(luò)資源的元數(shù)據(jù),全部同步和集中到中心節(jié)點(diǎn)的數(shù)據(jù)庫(kù)中,進(jìn)而實(shí)現(xiàn)元集中的管理模式和服務(wù)模式。
網(wǎng)絡(luò)資源采集與保存平臺(tái)已在國(guó)家圖書館和3家省級(jí)圖書館投入使用數(shù)月,服務(wù)平臺(tái)訪問(wèn)首頁(yè)見(jiàn)圖3。截至2019年2月,已采集數(shù)據(jù)總量4.2TB(壓縮),URL總數(shù)11 150個(gè),整站采集總數(shù)為32個(gè),平均采集速度23.75KB/s。目前平臺(tái)運(yùn)行效果良好,中心節(jié)點(diǎn)和機(jī)構(gòu)節(jié)點(diǎn)用戶均可通過(guò)登錄瀏覽器客戶端實(shí)現(xiàn)網(wǎng)絡(luò)資源高效和規(guī)范化的采集、編目、回放、發(fā)布和服務(wù)、數(shù)據(jù)保存等工作流程,大幅提高了工作自動(dòng)化程度,在采集任務(wù)的批量部署自動(dòng)分發(fā)、采集節(jié)點(diǎn)任務(wù)調(diào)度等方面極大地節(jié)省了人力成本。同時(shí),基于系統(tǒng)架構(gòu)的可擴(kuò)展性,平臺(tái)中心節(jié)點(diǎn)已經(jīng)實(shí)現(xiàn)由3臺(tái)物理服務(wù)器擴(kuò)展為7臺(tái),21臺(tái)虛擬機(jī)的百余個(gè)采集節(jié)點(diǎn),實(shí)現(xiàn)分布式采集的同時(shí)確保了平臺(tái)的穩(wěn)定高效運(yùn)行,系統(tǒng)擴(kuò)展性得到充分驗(yàn)證。
國(guó)家圖書館互聯(lián)網(wǎng)信息保存保護(hù)中心多年來(lái)一直致力于網(wǎng)絡(luò)存檔相關(guān)領(lǐng)域的研究,積極探索相關(guān)技術(shù)、政策、發(fā)展趨勢(shì)等,自主研發(fā)的網(wǎng)絡(luò)資源采集與保存平臺(tái)的平穩(wěn)運(yùn)行,為建設(shè)國(guó)家范圍、多機(jī)構(gòu)、分級(jí)分步的網(wǎng)絡(luò)資源采集與保存奠定了基礎(chǔ)。未來(lái),國(guó)家圖書館還將不斷地?cái)U(kuò)大網(wǎng)絡(luò)存檔規(guī)模、加強(qiáng)技術(shù)研發(fā)和創(chuàng)新、探索數(shù)據(jù)保存和分析的新模式,以期待滿足業(yè)務(wù)和用戶需求的不斷改變。
圖3 服務(wù)平臺(tái)訪問(wèn)首頁(yè)展示