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