彭智彬 羅曉瑩 朱弘揚 韓曉強


摘 要:當今信息化時代,學生面對多種多樣的信息會產(chǎn)生迷茫,特別是面對圖書館內龐大的信息,更是難以找尋適合自己的學習資料。本系統(tǒng)是針對大學生而設計的高效率人性化圖書館管理系統(tǒng)。該系統(tǒng)采用分布式數(shù)據(jù)庫Hbase來實現(xiàn)對超大規(guī)模數(shù)據(jù)的實時隨機訪問,并保證系統(tǒng)的穩(wěn)定性。大數(shù)據(jù)模塊還會根據(jù)用戶信息與日志信息,從而通過一系列的指標進行個性化推薦,這種方法可以大大地提高學生學習效率,充分地利用好圖書館內的資源。
關鍵詞:圖書館;分布式數(shù)據(jù)庫Hbase個性化推薦
DOI:10.12249/j.issn.1005-4669.2020.25.160
基金項目:大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目”智能圖書館大數(shù)據(jù)研究“(項目編號:570119130)。
信息時代數(shù)據(jù)的變革必然給圖書館帶來沖擊,對圖書館的知識服務提出更高的要求和前所未有的挑戰(zhàn),對一般傳統(tǒng)的手工檢索而言,不僅學生無法達到高效性學習,圖書館本身也難以靈活地給學生以個性化服務。為了更好地提高學生自學效率和時間利用率,實現(xiàn)1+i的學習,大學圖書館的智能推薦系統(tǒng)對我校現(xiàn)有的圖書數(shù)據(jù)進行挖掘,以標簽的形式分門別類,對學生的專業(yè)和年齡性別進行匹配并推薦圖書。
1 項目描述
這是一款根據(jù)學生專業(yè)和興趣來推薦相應的書籍與習題的智能系統(tǒng):高校圖書館的智能推薦系統(tǒng),主要根據(jù)學生的訪問行為與個人信息,如專業(yè),則可以匹配到學校圖書館里有相關聯(lián)系的學習書籍與習題,從而推薦給學生去查閱。同時,這些書籍都是通過有效數(shù)據(jù)處理而分成不同的閱讀難度,這樣能更好地提高學生自學效率和時間利用率,實現(xiàn)i+1的學習。
此外,智能圖書館還會添加題庫功能供學生學習和備考,收集各科教科書上習題以及考試題型,為每科復習提供考點題型復習,習題練習與解析,錯題相同考點題目練習。為學生提供良好的復習平臺。
2 核心技術說明
2.1 分布式數(shù)據(jù)庫Hbase
本系統(tǒng)采用分布式數(shù)據(jù)庫Hbase,HBase(HadoopDatabase),是一個高可靠,高性能,面向列,可伸縮的分布式數(shù)據(jù)庫,主要用來存儲非結構化和半結構化的松散數(shù)據(jù)的NoSQL的分布式數(shù)據(jù)存儲系統(tǒng),實現(xiàn)對大型數(shù)據(jù)的實時、隨機的讀寫訪問。該數(shù)據(jù)庫是建立在HDFS之上,同樣是基于這種主從式的一種運行機制,即用一個master節(jié)點協(xié)調管理多個slave從屬機。其中,HBase位于結構化存儲層,利用HadoopHDFS作為其文件存儲系統(tǒng),利用HadoopMapReduce來處理HBase中的海量數(shù)據(jù),Zookeeper為其提供分布式協(xié)同服務,使得查找數(shù)據(jù),訪問速度快,如圖1所示。
此外,該系統(tǒng)使用了數(shù)據(jù)-->flume-->kafka-->flume-->HDFS的數(shù)據(jù)采集模型,分布式發(fā)布訂閱消息系統(tǒng)Kafka提供了對數(shù)據(jù)的緩存,保證了系統(tǒng)的高吞吐量,當收集信息遇到峰值時,F(xiàn)lume會在數(shù)據(jù)生產(chǎn)者和數(shù)據(jù)收容器之間做出調整,保證其能夠在兩者之間提供平穩(wěn)的數(shù)據(jù)。由于采集到HBase的原生數(shù)據(jù)的格式無法滿足我們對數(shù)據(jù)處理的基本要求,且數(shù)據(jù)量過于龐大,難以全部加載到內存中進行分析,這時HadoopMapReduce會將數(shù)據(jù)分到集群的每個節(jié)點進行運算,每個節(jié)點得到的數(shù)據(jù)又會構建成平衡二叉樹的結構,通過對平衡二叉樹進行遍歷,就可以得到我們需要的數(shù)據(jù),MapReduce高性能的計算能力方便了我們后面的統(tǒng)計分析,可以使我們根據(jù)不同的業(yè)務需求對數(shù)據(jù)進行處理。
2.2 個性化推薦技術
用戶在訪問智能圖書館系統(tǒng)時,系統(tǒng)會對用戶的訪問行為產(chǎn)生相應的埋點日志(比如點擊、收藏、搜索等),這些埋點日志會被發(fā)送給系統(tǒng)的后臺服務器,大數(shù)據(jù)模塊會根據(jù)這些日志信息分析再結合用戶的個人信息分析用戶的訪問行為,并得出一系列統(tǒng)計指標,根據(jù)這些統(tǒng)計指標進行系統(tǒng)的書籍推薦、廣告推薦等工作。
上報到后臺服務器的日志信息數(shù)據(jù)會經(jīng)過數(shù)據(jù)采集、過濾、存儲、分析、可視化這5個步驟,系統(tǒng)通過對海量用戶行為數(shù)據(jù)的分析,可以針對用戶建立精準的用戶畫像或者說是用戶分類。同時,系統(tǒng)將根據(jù)對用戶的行為分析,進行書籍推薦和廣告推薦等工作。
用戶在進入智能圖書館系統(tǒng)之后,session將會開始記錄用戶的操作,用戶在訪問系統(tǒng)的過程,就稱之為一次session,當用戶操作完畢、離開網(wǎng)站、關閉瀏覽器或者長時間沒有做操作,那session就結束了。簡單理解,session就是某一天某一個時間段內,某個用戶進入系統(tǒng),并進行了某些操作,最后退出的過程,就叫做session。
可以將session當做系統(tǒng)中的最基本的數(shù)據(jù)。對用戶進行大數(shù)據(jù)分析,最基本的就是對用戶訪問session/用戶訪問行為的分析。
日志信息發(fā)送給后臺web服務器(nginx),nginx將日志數(shù)據(jù)負載均衡到多個Tomcat服務器上,Tomcat服務器將會不斷將日志數(shù)據(jù)寫入Tomcat日志文件中,之后日志采集系統(tǒng)Flume會將采集到的數(shù)據(jù)寫入到消息隊列Kafka之中,之后消息隊列Kafka會將數(shù)據(jù)存入分布式存儲系統(tǒng)HBase,計算框架MapReduce將會從分布式存儲系統(tǒng)HBase中拉取數(shù)據(jù),然后根據(jù)數(shù)據(jù)信息對用戶進行行為分析和分類,最后將提取出來的有效數(shù)據(jù)存入MySQL數(shù)據(jù)庫。
3 結論與展望
為了更好地實現(xiàn)高校圖書館信息化,利用高校圖書館的智能推薦系統(tǒng)對我校現(xiàn)有的圖書數(shù)據(jù)進行挖掘,實現(xiàn)對學生進行推薦圖書的功能。圖書館的圖書智能推薦系統(tǒng)的實現(xiàn)提高了學生自學效率和時間利用率并且改善對傳統(tǒng)圖書館系統(tǒng)使用的流暢性。該系統(tǒng)通過大數(shù)據(jù)采集、過濾、存儲、分析為高校學生實現(xiàn)個性化推薦,并且能夠為圖書館帶來更好的內在潛力和系統(tǒng)價值。
參考文獻
[1]謝琳惠.推薦系統(tǒng)在高校數(shù)字圖書館的應用研究[J].現(xiàn)代情報,2006(11):72-74.
[2]丁雪.基于數(shù)據(jù)挖掘的圖書智能推薦系統(tǒng)研究[J].情報理論與實踐,2010(33):107-110.
[3]李衛(wèi)華.淺談數(shù)字圖書館個性化信息推薦系統(tǒng)[J].科技廣場,2007(7):109-110.
[4]謝地.基于HBase的海量數(shù)據(jù)存儲和快速檢索[J].電腦知識與技術,2019(15).
[5]莊沅英.圖書館智能管理系統(tǒng)設計[J].計算機產(chǎn)品與流通,2018(10).