孔德麗,屈會(huì)雪,卞志勇
(南京機(jī)電職業(yè)技術(shù)學(xué)院,江蘇 南京 211135)
目前,高校數(shù)據(jù)中心建設(shè)主要分為兩種形式:一是直接使用傳統(tǒng)服務(wù)器搭建數(shù)據(jù)中心的存儲(chǔ)及應(yīng)用。服務(wù)器的架構(gòu)價(jià)格高,能源消耗高,資源利用率偏低。二是采用專業(yè)的VMware虛擬化軟件對(duì)IT基礎(chǔ)設(shè)施虛擬化成資源池供各類應(yīng)用部署。
基于Hadoop的高職院校大數(shù)據(jù)平臺(tái)[1-2],避免了傳統(tǒng)數(shù)據(jù)中心的各種弊端,不僅可以充分發(fā)揮集群的威力,還能夠充分挖掘大數(shù)據(jù)中的隱藏信息,在職業(yè)院校決策、管理與服務(wù)中可以得到更廣泛的應(yīng)用,以提高學(xué)院的工作效率。
本項(xiàng)目是在linux開發(fā)環(huán)境下開發(fā)的,大數(shù)據(jù)云平臺(tái)總體架構(gòu)及各分平臺(tái)的設(shè)計(jì)思路及大數(shù)據(jù)云平臺(tái)總體架構(gòu)設(shè)計(jì)如圖1所示。
圖1 大數(shù)據(jù)云平臺(tái)總體架構(gòu)設(shè)計(jì)
以Hadoop為基礎(chǔ)構(gòu)建的大數(shù)據(jù)云平臺(tái),可以很方便地與現(xiàn)有各類業(yè)務(wù)信息系統(tǒng)實(shí)現(xiàn)集成。
1) 結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)與設(shè)計(jì)
高職院?,F(xiàn)有數(shù)據(jù)庫(kù)大多為關(guān)系型數(shù)據(jù)庫(kù),HBase數(shù)據(jù)庫(kù)對(duì)結(jié)構(gòu)化數(shù)據(jù)支持不足。為解決這個(gè)問(wèn)題,以Apache開源軟件開發(fā)的Hive數(shù)據(jù)倉(cāng)庫(kù)工具作為接口,將結(jié)構(gòu)化的數(shù)據(jù)文件映射為HBase數(shù)據(jù)庫(kù)的一張表,并提供完整的SQL查詢功能。還可以將SQL語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)來(lái)運(yùn)行,充分利用并行運(yùn)算的速度優(yōu)勢(shì)。使用Hive,不僅解決了結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)問(wèn)題,而且提高了數(shù)據(jù)查詢和存儲(chǔ)的速度,提高了工作效率。下面以一卡通信息系統(tǒng)中常用的結(jié)構(gòu)化數(shù)據(jù)為例,針對(duì)結(jié)構(gòu)化數(shù)據(jù),使用Hive數(shù)據(jù)倉(cāng)庫(kù)平臺(tái),實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和查詢。結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)設(shè)計(jì)如圖2所示。
圖2 結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)設(shè)計(jì)
2) 非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ)設(shè)計(jì)
在視頻教學(xué)系統(tǒng)中會(huì)產(chǎn)生大量視頻或圖片文件,常規(guī)存儲(chǔ)方式速度太慢。以典型的7200r/min的硬盤為例,其最大傳輸速度約為22.3MB/s,這極大地限制了映像文件的存儲(chǔ)和查詢速度,而以分布式存儲(chǔ)能解決這個(gè)問(wèn)題。本文以視頻教學(xué)系統(tǒng)視頻和圖片等文件存儲(chǔ)為例,闡述如何解決非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)過(guò)程中的核心問(wèn)題。
非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)在視頻教學(xué)系統(tǒng)中,單個(gè)課堂教學(xué)視頻文件往往會(huì)有數(shù)百兆大小的文件。以HBase存儲(chǔ)保證數(shù)據(jù)安全性的同時(shí)不僅可以實(shí)現(xiàn)數(shù)據(jù)的快速查詢和存儲(chǔ),還能實(shí)現(xiàn)對(duì)歷史視頻或圖片文件的快速查詢。非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng)架構(gòu)設(shè)計(jì)如圖3所示。
圖3 非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)系統(tǒng)架構(gòu)設(shè)計(jì)
3) 機(jī)器學(xué)習(xí)平臺(tái)的設(shè)計(jì)
以Hadoop為基礎(chǔ)的分布式計(jì)算對(duì)大數(shù)據(jù)的機(jī)器學(xué)習(xí)具有更高的效率。在本項(xiàng)目中使用開源項(xiàng)目Mahout提供的機(jī)器學(xué)習(xí)工具[3],開發(fā)機(jī)器學(xué)習(xí)模塊,在此模塊基礎(chǔ)上采用機(jī)器學(xué)習(xí)的結(jié)果為教學(xué)工作者提供建議,優(yōu)化教學(xué)流程,還可以作為數(shù)據(jù)挖掘的基礎(chǔ)為更高級(jí)功能提供基礎(chǔ)架構(gòu)?;贖adoop的機(jī)器學(xué)習(xí)平臺(tái)如圖4所示。
圖4 機(jī)器學(xué)習(xí)平臺(tái)設(shè)計(jì)
機(jī)器學(xué)習(xí)的系統(tǒng)底層是Hadoop框架,從HBase和Hive中獲取數(shù)據(jù),通過(guò)MapReduce進(jìn)行分布式計(jì)算提供機(jī)器學(xué)習(xí)算法,利用Mahout數(shù)據(jù)進(jìn)行整合、清理,然后進(jìn)行機(jī)器學(xué)習(xí)[4]。獲取數(shù)據(jù)之后,使用Mahout提供的算法,這些算法包括樸素貝葉斯分類、支持向量機(jī)、隨機(jī)森林等分類算法和EM聚類、K-means等聚類算法,利用其API實(shí)現(xiàn)對(duì)數(shù)據(jù)中心數(shù)據(jù)的有效利用。
數(shù)據(jù)共享交換平臺(tái)主要包括以下幾個(gè)部分:數(shù)據(jù)交換引擎;安全管理服務(wù);系統(tǒng)管理服務(wù);Web服務(wù)管理;Service接口;中心數(shù)據(jù)庫(kù)。將分散建設(shè)的若干應(yīng)用信息進(jìn)行整合,進(jìn)行數(shù)據(jù)傳輸與共享。此平臺(tái)可以接入學(xué)院所有業(yè)務(wù)系統(tǒng)的數(shù)據(jù),在中心數(shù)據(jù)庫(kù)匯聚,并為學(xué)院各部門提供數(shù)據(jù)業(yè)務(wù)協(xié)同功能,推動(dòng)智慧校園建設(shè)。
基于Hadoop構(gòu)建的學(xué)院大數(shù)據(jù)云平臺(tái),對(duì)結(jié)構(gòu)化與非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的優(yōu)化設(shè)計(jì),不僅滿足了學(xué)院大規(guī)模業(yè)務(wù)數(shù)據(jù)存儲(chǔ)的需求,還提供了強(qiáng)大的云計(jì)算能力。學(xué)院數(shù)據(jù)中心存儲(chǔ)了教務(wù)信息、學(xué)工信息、科研信息、招生信息、就業(yè)信息等各類業(yè)務(wù)系統(tǒng)的海量信息,利用這些信息可以對(duì)教學(xué)改革、科研方向規(guī)劃、招生宣傳、專業(yè)設(shè)置、就業(yè)導(dǎo)向等提供數(shù)據(jù)支持,輔助學(xué)院高層領(lǐng)導(dǎo)決策。