王秀慧
(山西大同大學(xué)教育科學(xué)與技術(shù)學(xué)院 山西省大同市 037009)
近些年隨著社會信息化的不斷發(fā)展,信息數(shù)據(jù)呈現(xiàn)出爆炸式的增長,科技成果數(shù)據(jù)也不例外。對于如此龐大的數(shù)據(jù),單一的存儲服務(wù)器模式已經(jīng)不能滿足企業(yè)的需求,如何存儲海量科技成果數(shù)據(jù)成為亟待解決的問題;同時企業(yè)針對海量科技成果數(shù)據(jù)不知所措,因?yàn)闊o法準(zhǔn)確的查找到本身需要的數(shù)據(jù),導(dǎo)致了科技成果轉(zhuǎn)化率低,成為制約企業(yè)發(fā)展的瓶頸。
針對以上問題,結(jié)合科技成果數(shù)據(jù)的特點(diǎn)與企業(yè)對科技成果需求的實(shí)際情況,構(gòu)建了基于Hadoop的科技成果轉(zhuǎn)化平臺。該平臺數(shù)據(jù)是以分布式的結(jié)構(gòu)進(jìn)行存儲,通過擴(kuò)展相應(yīng)存儲設(shè)備來對數(shù)據(jù)進(jìn)行數(shù)據(jù)擴(kuò)容,并且分布式結(jié)構(gòu)極大地降低了平臺的耦合度,使其可獨(dú)立部署[1];同時運(yùn)用余弦相似度算法計(jì)算數(shù)據(jù)之間的相似程度,給企業(yè)推送所需科技成果數(shù)據(jù)以及相關(guān)數(shù)據(jù)。這樣不僅提升了企業(yè)科技成果轉(zhuǎn)化率,而且還提高了科技成果轉(zhuǎn)化的質(zhì)量,進(jìn)而達(dá)到使企業(yè)核心競爭力增強(qiáng)的目的。
基于Hadoop的科技成果轉(zhuǎn)化平臺分為兩部分:
(1)通過HDFS(分布式文件系統(tǒng))來存儲海量的科技成果數(shù)據(jù),同時應(yīng)用MapReduce并結(jié)合余弦相似度算法計(jì)算數(shù)據(jù)之間相似情況,以便為企業(yè)推送所需數(shù)據(jù)。
(2)采用B/S結(jié)構(gòu)、按照J(rèn)avaEE標(biāo)準(zhǔn)框架標(biāo)準(zhǔn)設(shè)計(jì)與實(shí)現(xiàn)用戶服務(wù),以便企業(yè)通過注冊登錄后可查詢所需數(shù)據(jù),平臺架構(gòu)圖如圖1所示。
HDFS是Hadoop項(xiàng)目的核心子項(xiàng)目,是Hadoop中的存儲組件,由于它涉及到數(shù)據(jù)存儲,MapReduce等計(jì)算模型都要依賴于存儲在HDFS中的數(shù)據(jù),因此它也是最為基礎(chǔ)的一部分。HDFS是一個分布式文件系統(tǒng),它采用了主從(Master/Slave)結(jié)構(gòu)模式,由NameNode和DataNode組成。其中NameNode是主服務(wù)器,統(tǒng)籌管理著文件系統(tǒng)與文件數(shù)據(jù)的操作,而DataNode作為服務(wù)節(jié)點(diǎn),管理著數(shù)據(jù)的存儲,其中數(shù)據(jù)是以塊的形式存儲,Hadoop2.0中數(shù)據(jù)塊默認(rèn)大小是128MB。
HDFS的數(shù)據(jù)訪問使用流式模式:一次寫入,多次讀取,這樣更加關(guān)注的是讀取整個數(shù)據(jù)集的整體時間,提升了數(shù)據(jù)的讀寫吞吐量,但由于流式讀取,無法高效存儲大量小文件,也不支持多用戶寫入,寫操作總是以添加形式在文件數(shù)據(jù)末尾追加,并且還無法在任意位置進(jìn)行修改。
MapReduce是一種編程模型,適應(yīng)于大規(guī)模數(shù)據(jù)的并行運(yùn)算。主要思想是通過Map(映射)把一組鍵值對映射成一組新的鍵值對,并自動劃分計(jì)算數(shù)據(jù)和計(jì)算任務(wù),然后指定并發(fā)的Reduce函數(shù)來收集計(jì)算結(jié)果并再次規(guī)約計(jì)算,使得所有映射的鍵值對中的每一個共享相同的鍵組。這樣編程人員在沒有掌握分布式并行編程的情況下,就可以將自己的程序運(yùn)行在分布式系統(tǒng)上,同時數(shù)據(jù)的處理、通信和運(yùn)算等操作都交由MapReduce負(fù)責(zé)處理,大大的減少了軟件開發(fā)人員的工作量。
圖1:平臺架構(gòu)圖
余弦相似度[2]是一種數(shù)學(xué)模型,用于計(jì)算兩個向量的夾角角度,0度角的余弦值是1,90度角的余弦值是0,而其他任何角度的余弦值都不大于1,180度角的余弦值是-1,且是其最小值。由于余弦相似度的特性,人們發(fā)現(xiàn)其計(jì)算數(shù)據(jù)間的相似程度有著天生的優(yōu)勢,而且計(jì)算比較簡單方便,因此在計(jì)算文本數(shù)據(jù)之間相似度的過程中得到了廣泛的應(yīng)用,同時規(guī)定其取值范圍是0到1之間。其原理是:把文本數(shù)據(jù)轉(zhuǎn)化成向量數(shù)據(jù),即文本含有的特征項(xiàng)的權(quán)重來表示向量數(shù)據(jù)。設(shè)文本的向量表示:di=(w1,w2,…,wp,…,wn),wp表示某文本特征項(xiàng)的權(quán)重值,d'i=(w'1,w'2,…,w'p,…,w'n),則di與d'i之間的余弦相似度計(jì)算公式如下:
圖2:平臺功能模塊圖
根據(jù)科技成果轉(zhuǎn)化平臺的實(shí)際需求進(jìn)行功能設(shè)計(jì),主要完成以下幾個目標(biāo):
(1)上傳各類科技成果數(shù)據(jù),并審核;
(2)展示平臺各類科技成果數(shù)據(jù);
(3)瀏覽查看科技成果相關(guān)文檔;
(4)瀏覽查看科技成果相關(guān)專家;
(5)推送科技成果數(shù)據(jù);
(6)計(jì)算科技成果數(shù)據(jù)間相似度;
(7)科技成果數(shù)據(jù)分布式存儲;
(8)提交企業(yè)用戶的需求信息,并審核;
(9)注冊、登錄平臺;
(10)瀏覽查看平臺新聞、咨詢、政策、通知等。
該平臺主要功能包含科技成果管理、用戶管理、專家管理、信息管理(其中包括新聞管理、通知管理、資訊管理、政策管理)、需求管理、統(tǒng)計(jì)管理等。平臺主要功能如圖2所示。
平臺選用Hadoop2.7作為科技成果數(shù)據(jù)存儲介質(zhì),并承載數(shù)據(jù)間相似度計(jì)算;同時應(yīng)用Jdk9.0配置Java開發(fā)環(huán)境,運(yùn)用Tomcat8.0作為Web服務(wù)器,數(shù)據(jù)庫使用MySql5.5,頁面設(shè)計(jì)工具使用Dream weaver2018,程序開發(fā)工具運(yùn)用MyEclipse2014。
該平臺主要完成海量科技成果數(shù)據(jù)的存儲與精確數(shù)據(jù)的推送(即相似度的計(jì)算)的實(shí)現(xiàn),下面是數(shù)據(jù)相似度計(jì)算源代碼。
該平臺采用Hadoop、按照J(rèn)avaEE框架標(biāo)準(zhǔn)、使用余弦相似度等信息技術(shù),根據(jù)科技成果轉(zhuǎn)化實(shí)際需要進(jìn)行開發(fā),實(shí)現(xiàn)了全部設(shè)計(jì)需求,做到了界面友好、平臺運(yùn)行安全、可操作性強(qiáng)等特點(diǎn)。此平臺的實(shí)現(xiàn)將科技成果數(shù)據(jù)以分布式的結(jié)構(gòu)進(jìn)行存儲,解決了海量數(shù)據(jù)存儲難的問題;同時使用余弦相似度計(jì)算數(shù)據(jù)間相似程度,解決了為企業(yè)推送所需數(shù)據(jù)難的問題。我們相信隨著此平臺在科技成果轉(zhuǎn)化工作中的逐步深入,將會大大提升企業(yè)科技成果轉(zhuǎn)化率、提高科技成果轉(zhuǎn)化質(zhì)量。