吳添
(浙江省金華市職業技術學院, 圖文信息中心,浙江,金華 321000)
隨著大數據和人工智能的不斷發展,數據的潛在價值得以不斷挖掘。我國在新的十九屆四中全會戰略中明確提出將數據價值作為一個重要的生產要素,不斷完善和培育市場,提高企業和國家的數據治理能力[1-2]。近年來的相關研究成果表明[3-6],數據資源的重要性已經在經濟、文化、軍事等多種領域得到了重視,并在各行各業發揮了重要功能。圖書館作為目前重要的數字圖書資源載體,是一個國家科學文化知識的結晶,其重要性和價值不言而喻,如何將館藏圖書資料進行數字化改造,適應目前高效率的數據挖掘方式,是一個值得研究的課題。
現階段,已經有一部分高校開展了館藏數據資源的利用探索,例如美國康奈爾大學首先提出利用嵌入式算法進行科研數據整理和歸納[7];英國曼切斯特大學研究出基于DAF數據資源的圖書館數據框架存儲系統,大規模提高了數據整合能力[8]。國內關于圖書館館藏數據資源的研究和利用也逐漸開展,現有的研究成果大多集中于館藏數據資源的構建框架設計、模式分析和理論研究,相關的實踐應用成果較少[9]。針對這一問題,本文提出基于大數據框架的圖書館館藏數據庫設計方案,期望為推動我國智慧圖書館建設和圖書數據價值挖掘提供一定借鑒。
館藏資源數據是圖書館的核心競爭力,包括圖書館內存在的紙質和電子圖書數據、文獻資料數據、會議論文以及借閱數據等。目前,我國高校的圖書館逐漸實現了信息數字化改造,但是對于圖書館的重要數據如何進行合理地分析和儲存依然存在較大的提升空間,尤其在大數據時代如何構建科學的算法為圖書使用者服務是一個非常大的挑戰。目前,圖書館數據資源管理方面依然存在以下不足。
大多數圖書館已經采用數字圖書館形式進行管理,數據資源的獲取方式多種多樣,由于數據類型復雜,數據載體和格式眾多,尤其是結構化、半結構化和非結構化數據相互交錯,從而加劇了圖書館數據存儲的復雜性。數字圖書館運行過程中同樣在不斷產生新的文獻數據、空間數據、運維數據和服務數據等,對于數據的服務質量和服務效率更為苛刻。雖然目前圖書管理行業制定了相應的數字圖書館管理規范,但是其數據的標準、數字資源和管理模式還存在諸多不完善之處。
由于圖書館業務服務和數據種類呈現多樣化趨勢,普遍存在數據異構問題,不同種類數據之間的交流和融合存在影響,形成了大量數據孤島。另外,由于數字化圖書館改造過程中缺乏統一平臺標準,導致多個平臺系統同時工作,例如圖書借閱系統、館藏資源系統、圖書館網絡門戶以及移動端的圖書館App等,這些系統無法相互兼容,導致出現系統孤島,圖書館管理模式中同樣由于業務類型和管控的不一致出現管理孤島。因此,為了實現圖書館大數據資源的完美整合,必須在數據孤島、系統孤島和管理孤島方面有所銜接才能提升應用服務水平。
圖書館數據信息安全風險主要涉及館藏資料泄露風險、個人信息泄露風險、網絡攻擊安全、知識產權合法安全和數據丟失風險等。其中,數據泄露風險主要集中于應用軟件、網絡硬件設備和操作系統的保護;知識產權合法安全體現在圖書館知識產權信息以及借閱過程中防止侵權和進行合理增值;數據丟失風險應從數據庫和云服務進行改造升級。上述數據安全和風險均是數字化圖書館目前面臨的問題。
數據孤島問題容易發生在面對大量外部數據資源接入過程中無法進行有效地審計和排查。目前能夠提供數字資源的產品多達上百種,不同的資源提供商水平參差不齊,數據時效性和準確性很難保證,這就需要數字圖書館通過科學的審計手段提供可靠、準確的數據資源。
本文所提出的基于大數據戰略框架下的館藏數字資源搭建主要涉及平臺搭建、微服務框架以及相關算法模型,其主要的技術方法分析如下。
作為目前最為成熟的分布式基礎系統框架,Hadoop已經能夠完全勝任數據搜索、數據存儲和數據分析等多種功能。另外,Hadoop平臺體系內部同樣集成了諸如數據交換工具、日志收集工具、數據挖掘工具Mahout、數據流處理工具、Spark計算框架、數據倉庫和分布式數據庫等多種數據資源處理平臺,能夠極大地提高圖書館數據的互聯共享效率,如圖1所示。

圖1 Hadoop平臺的組成結構
圖書館數字資源整合采用SpringBoot微服務框架,該技術是由Spring技術發展而來,但是對Spring技術的配置進行了極大的簡化,使得開發人員可以在短時間內進行Web項目構建。SpringBoot的應用并非用于完全摒棄Spring技術,而是將Spring技術中樣本化配置進行自動處理,簡化了開發人員進行服務框架配置的流程。總體而言,SpringBoot技術具有如下特點。
(1)簡化Web項目的配置部署流程。SpringBoot借助jar包的模式進行直接運行啟動。
(2)內嵌Web Server。SpringBoot內集成有多重Web服務,例如在SpringBoot項目中可以通過默認的8080端口來啟動嵌入式Tomcat,同時該端口還留有修改配置的能力。
(3)縮短配置文件流程。正是因為SpringBoot的內部集成度高,一些較為重復和機械的文件配置可以一鍵解決,內部涵蓋多種配置文件方案,不用過多修改實現自動化配置。
(4)豐富的插件擴展。SpringBoot能夠為開發者提供非常多的擴展插件和配置選項,提高編程效率。
圖書館信息的檢索涉及用戶的長期偏好和短期偏好,或是兩種偏好的有機組合,通過合理的構建算法和模型實現了用戶畫像功能。對于用戶短期偏好,目前主要采用鄰域算法進行解決,對于長期偏好主要采用神經網絡和貝葉斯分類算法。由于圖書資源信息具有顯著的標簽特征,每個標簽的用戶重要程度均存在差別,本文采用k-means算法來進行用戶分類和建立集群。
k-means聚類算法將類型相近的樣本點進行聚類分組,形成相識度較低的簇s。然后對簇集合S={s1,s2,…,si}建立集群,本文利用數值模型求其最小值,其表達式如下:
(1)
式中,k表示聚類樣本,n表示聚類樣本數量,i表示簇集的數量,xj=ui表示聚類相識度判據計算。
圖書館大數據平臺采用Hadoop平臺架構進行設計,在此基礎上進行數據整合、存儲和分析展示,本文通過充分調研圖書館目前的運作方式、業務需求和存在的問題,將系統采用如下4個層級進行設計,如圖2所示。

圖2 系統總體架構
圖書館數據資源數量龐大,同時還存在大量結構化和非結構化數據,其安全性和訪問便捷性十分重要。本文采用云端技術解決方案,利用HDFS系統承載數據存儲,同時通過關系型數據庫MySQL實現圖書數據資源與Sqoop數據遷移之間的中轉,最后與分布式系統文件HDFS之間進行共享,其架構流程見圖3。

圖3 數據架構設計流程圖
(1)數據采集
數據采集分為全量抽取和增量抽取,本文在首次數據采集過程中進行全量抽取,在第一次采集完成后再開始增量抽取。其所采用的SQL代碼分別部署和封裝至多個系統job中,同類型job相組合生成jobgroup,不同類型的job組管理不同數據源的采集工作,以工作數據表的形式進行區分。其關鍵代碼如下:

(2)數據清洗
圖書館數據庫較為龐大,冗余數據多,進行數據清洗的目的是消除重復數據、錯誤數據和時間校正。重復數據的清洗以數據產生時間作為辨別方式,精確到秒,不同業務系統數據內時間相同的數據均可進行判別和消除。錯誤數據主要體現在字段缺失和不全,例如對于借閱圖書的信息缺失、讀者信息的缺失以及借閱信息的糾正等。對數據進行統一的格式轉換和加載,例如不同業務操作系統內對于人的性別有的采用漢子進行區分,有的采用首字母區分,這些都應建立相應的數據字段統一對照表。數據加載通過SQL語音來實現,主要是將源表中的字段與目標字段進行對應表達,其關鍵代碼如下:

圖書館數字資源數據的傳輸基于Sqoop開源平臺,首先將關系數據庫、文件系統和數據倉庫內數據導入Map任務,然后轉換為Reduce任務后生成HDFS數據,該數據的實現基于Task Translater語言進行編譯。
數據接口采用RESTful架構,該架構能夠同時兼容包括HTTP、URI、HTML和XML等多種數據類型,并為其提供設計原則和約束。該接口執行統一接口原則,以HTTP為標準完成轉換和接入操作,并且以URL為標識符進行定位。本文的圖書資源數據管理系統可以實現8個大類,共計128個接口,其中主流接口包括館藏圖書資源數據接口、借閱服務接口、管理信息系統接口、打印出版接口和移動客戶端接口(見表1)。

表1 館藏數據資源接入接口類型及地址
圖4為圖書館系統檢索導航界面,可從文獻類型、學科類型、專業數據庫三個大類中挑選自己所需的文獻數據。數據庫下方還展示了該圖書館所接入的中文數據庫列表和外文數據庫類別,數據種類豐富、歸納整潔,為圖書信息使用者提供了非常良好的數據使用體驗。

圖4 數據庫展示界面
就目前高校數字化圖書館建設過程中存在的問題,本文開展了基于大數據戰略框架下的館藏數字資源整合與規劃設計研究,結論如下。
(1)高校的圖書館在進行信息化改造過程中對于圖書館的重要數據如何進行合理分析和儲存依然存在一定障礙,主要體現在數字類型龐雜、數據孤島、數據安全和數據審計等四個方面。
(2)從系統架構設計、數據存儲設計、數據采集清洗和數據傳輸與接口等方面對圖書館館藏數據資源進行了研究和實踐,其系統界面清晰整潔,為館藏數據使用和分析提供了良好的使用體驗。
(3)本文的研究僅僅接入了圖書館現有資源和數據并進行整合,未來將擴展更寬的數據接口進行數據挖掘,實現數據挖掘的更深層價值利用。