999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MapReduce的海量文件檢索方法研究

2016-09-02 09:06:23譚黔林莫春娟
河池學(xué)院學(xué)報 2016年2期
關(guān)鍵詞:特征內(nèi)容

譚黔林, 莫春娟

(河池學(xué)院 計算機與信息工程學(xué)院, 廣西 宜州 546300)

?

基于MapReduce的海量文件檢索方法研究

譚黔林, 莫春娟

(河池學(xué)院計算機與信息工程學(xué)院, 廣西宜州546300)

在文件檢索的方法中,目前主要是基于數(shù)據(jù)庫進行檢索。但是,當待檢索的數(shù)據(jù)量變得非常大的時候,再使用這種檢索方式,大量的檢索操作就會集中在一臺主機上進行,這會導(dǎo)致檢索效率降低。基于這種情況,擬采用分布式系統(tǒng)來解決這個問題。在分布式系統(tǒng)中進行資源檢索時,可以基于MapReduce架構(gòu)來實現(xiàn)檢索,這樣,檢索操作的壓力將分散到分布式系統(tǒng)的各個節(jié)點中,這樣可以有效降低機器的壓力,大大提高檢索的效率。采用傳統(tǒng)方式檢索100萬條數(shù)據(jù),需要耗時500 s,而采用基于MapReduce架構(gòu)的分布式系統(tǒng)的方法來檢索100萬的數(shù)據(jù),只需要花費40 s,相對于傳統(tǒng)檢索方法采用基于MapReduce架構(gòu)的分布式系統(tǒng)檢索可使檢索效率提升接近12.5倍。

大數(shù)據(jù);MapReduce;檢索;分布式系統(tǒng)

0 引言

大規(guī)模數(shù)據(jù)如果集中在一臺機器上進行檢索,其檢索速度將十分緩慢,如何解決這個問題至關(guān)重要。目前很多文件檢索的方式都是基于數(shù)據(jù)庫系統(tǒng)進行[1],當數(shù)據(jù)量較大的時候,檢索的效率將會變得相當?shù)停虼耍A繑?shù)據(jù)背景下,研究一種大規(guī)模數(shù)據(jù)集下的檢索方式至關(guān)重要。

1 基于MapReduce的系統(tǒng)設(shè)計

1.1MapReduce的概述

MapReduce定義為一種編程模型,用于大規(guī)模數(shù)據(jù)集的并行運算[2]。在對分布式并行編程不熟悉的情況下,Mapreduce極大地方便了編程人員將程序在分布式系統(tǒng)上運行。

1.2MapReduce架構(gòu)應(yīng)用

J.Dean和S.Ghemawat在“MapReduce:Simplied Data Processing on Large Clusters”一文中講述了MapReduce框架的具體實現(xiàn)[3]。Hadoop主要為MapReduce提供了數(shù)據(jù)存儲以及計算的環(huán)境。

要提高分布式系統(tǒng)中文件檢索的效率,就要實現(xiàn)在分布式系統(tǒng)中,各個節(jié)點對數(shù)據(jù)流的并行處理,在MapReduce框架中可以用Map來實現(xiàn)在分布式系統(tǒng)中各個節(jié)點的并行處理。Map階段中,用戶向系統(tǒng)提交請求,jobtracker主線程接收這些請求,之后對數(shù)據(jù)集進行劃分,使每個分片都能并行運行。Map接到指令后將分片分解為鍵值對(key-value),并會根據(jù)定義的Map函數(shù)對這些鍵值對進行處理,之后生成相對應(yīng)的中間結(jié)果,并將這些中間結(jié)果進行分區(qū)和排序。

圖1 MapReduce處理過程

實現(xiàn)了分布式系統(tǒng)中各個節(jié)點的并行處理后, 還應(yīng)當把分布式系統(tǒng)各個節(jié)點中處理的數(shù)據(jù)匯總到一起,匯總的過程可以用Reduce實現(xiàn),將這些處理過的中間結(jié)果傳遞給Reduce進行再次處理[4-7]。在Reduce階段中,Reduce會接收到歸檔后的中間鍵值對,并根據(jù)這些接收到的數(shù)據(jù)進行相關(guān)計算,最后得到計算結(jié)果終鍵值對(ckey-cvalue),過程如圖1所示。

利用MapReduce框架,可以實現(xiàn)分布式系統(tǒng)中各節(jié)點的并行處理,這樣可以提高分布式系統(tǒng)資源檢索的效率。

上述過程用代碼表示如下:

Map階段:(key,value)-->list(mkey,mvalue)

Reduce階段:(mkey,list(mvalue))-->list(ckey,cvalue)

1.3文件資源系統(tǒng)

在分布式系統(tǒng)中最常用的是Hadoop分布式文件系統(tǒng),即HDFS文件系統(tǒng),Reduce部分的計算結(jié)果Cvalue最終存儲在HDFS中,如圖1所示。

HDFS文件系統(tǒng)的特點[8]主要有以下幾個方面:

(1)處理超大文件;

(2)運行于廉價機器上;

(3)流式數(shù)據(jù)訪問。

2 基于MapReduce的海量文件檢索方法的實現(xiàn)

2.1文件檢索相似度的計算

檢索時,首先需要進行檢索詞與索引數(shù)據(jù)庫詞相似度的計算。在計算相似度的過程中,需要根據(jù)待搜索的關(guān)鍵字與文件資源的文件名特征和內(nèi)容特征的相近程度進行相應(yīng)的計算,同時還要考慮待搜索關(guān)鍵字的同義詞、文件資源庫里文件名特征和文件內(nèi)容特征。

特征提取過程即根據(jù)對應(yīng)特征的定義去計算該文本的特征值,比如,統(tǒng)計某個詞出現(xiàn)多少次,然后按照以下提及的特征值公式并以算術(shù)方法去計算。

假設(shè)需要檢索的文件為file0,在整個文件庫中,有若干的文件,這些文件可以表示為file[n],n為文件庫中文件的總數(shù)量。

如果要對文件庫中的某一個文件file[x]進行特征提取,則需要進行四類特征提取:文件名特征、文件內(nèi)容特征、檢索同義詞文件名特征、檢索同義詞內(nèi)容特征。假設(shè)文件名特征用FM表示,文件內(nèi)容特征用FC表示,檢索詞同義詞文件名特征用CFM表示,檢索詞同義詞內(nèi)容特征用CFC表示,最后根據(jù)查詢、分析原理對文件的四類特征進行提取[10]。

待檢索關(guān)鍵詞與文件名的相似程度,用該關(guān)鍵詞在文件名中出現(xiàn)的次數(shù)按比例進行計算,該特征可用關(guān)鍵字在文件名中出現(xiàn)的字數(shù)總和除以文件名字數(shù)總和進行計算。例如,需要檢索的關(guān)鍵詞是“心理”,檢索庫中存在文件名是“心理學(xué)心理書”的文件,那么待檢索的關(guān)鍵詞與該文件的相似程度為4/6,該相似程度即為文件名特征。假設(shè)關(guān)鍵詞在文件名中出現(xiàn)的字數(shù)總和是Kall,而文件名字數(shù)總和是FNall,那么有如下公式:

FM=Kall/FNall

(1)

根據(jù)2IDF算法中,關(guān)鍵詞的出現(xiàn)次數(shù)與文章字數(shù)權(quán)重關(guān)系,在文本特征提取過程中,通過關(guān)鍵詞在文本中出現(xiàn)的次數(shù)與文本字數(shù)之間的比例關(guān)系來確定。比如,假設(shè) 需要檢索的關(guān)鍵字是“心理”,檢索庫中某一文件內(nèi)容為“一個人的心理,如果每一顆心都是有是好的,那么,心理學(xué)也不錯”,那么檢索關(guān)鍵詞與文件內(nèi)容的相似程度就是2/26,即“心理”這個關(guān)鍵詞在內(nèi)容中出現(xiàn)了兩次,而內(nèi)容總字數(shù)為26字。假設(shè)關(guān)鍵詞在內(nèi)容中出現(xiàn)的總次數(shù)用Ktall表示,文章內(nèi)容的總字數(shù)用Fcall表示,那么有如下公式:

Fc=Ktall/Fcall

(2)

接下來 將討論待檢關(guān)鍵詞的同義詞的相關(guān)特征計算。文件檢索過程中,檢索與一個關(guān)鍵詞相關(guān)的文件,不僅要考慮該關(guān)鍵詞,還要考慮該關(guān)鍵詞的同義詞,比如 “心理”,那么其關(guān)聯(lián)詞可能是“心理學(xué)”、“心理健康”、“心理咨詢”等。所以,在計算同義詞特征時,需要依次計算關(guān)鍵詞的每個同義詞。

假設(shè)待選關(guān)鍵詞的同義詞個數(shù)一共有n個,同義詞i(1≤i≤n)字數(shù)是Call,同義詞i在文件內(nèi)容中出現(xiàn)的次數(shù)是Ctall次,那么將有如下公式:

(3)

(4)

以上(1)~(4)式是計算文件庫中的每個文件與檢索詞相似的特征的計算方法。

計算出各文件的特征值之后,需要綜合計算出某個文件與待檢索關(guān)鍵詞的相關(guān)性,相關(guān)性的計算方式如下:

Sim=FM*w1+Fc*w2+CFM*w3+CFC*w4

(5)

其中,w1+w2+w3+w4=1,w1,w2,w3,w4分別為文件名特征、文件內(nèi)容特征、檢索詞同義詞文件名特征、檢索詞同義詞內(nèi)容特征的權(quán)重值。最終由公式(5)對每個文件求得一個值,該值是該文件與待檢索關(guān)鍵詞的相關(guān)性,由此,可以按數(shù)字從大到小對文件進行排序即得到按相關(guān)性從大到小進行排序的文件。

2.2Map與Reduce算法

在MapReduce核心是Map和Reduce算法,其算法描述過程如下。

Map算法,首先,讀取需要檢索的關(guān)鍵詞及讀取文件庫中某文件的數(shù)據(jù);其次,獲取文件庫中現(xiàn)在讀取的文件的地址,如果滿足檢索條件,則比較關(guān)鍵詞與文件名的相似度、比較關(guān)鍵字與文件內(nèi)容的相似度、比較關(guān)鍵詞同義詞與文件名的相似度、比較關(guān)鍵詞同義詞與文件內(nèi)容的相似度,隨后,綜合四種特征計算總相似度;最后,提交相似度與文件地址。

Reduce算法,首先對各文件按相似度從大到小進行排序,然后提交經(jīng)過排序后的文件相似度和文件地址。

在MapReduce架構(gòu)中,Map算法主要執(zhí)行待檢文本的關(guān)鍵詞提取,計算文本數(shù)與待檢索關(guān)鍵詞的特征向量,得出向量指標后,根據(jù)每項特征的權(quán)重指標,用各項特征乘以對應(yīng)的權(quán)重再相加,再將該文件的綜合相似度指標提交給Reduce進行化簡操作。

2.3匹配

上面的論述中,分析了檢索的原理以及Map和Reduce實現(xiàn)的過程,但沒有具體涉及匹配的過程,本節(jié)將會具體闡述匹配的各項過程與任務(wù),具體的實現(xiàn)過程如下。

(1)檢索請求的提交階段:匹配過程中,首先需要進行檢索請求的提交,即用戶提交檢索請求的過程,檢索請求提交標志著任務(wù)的開始,是進行匹配步驟的第一階段,完成后方可執(zhí)行后續(xù)階段。

(2)作業(yè)分配階段:系統(tǒng)收到請求后,由JobTracker執(zhí)行。JobTracker執(zhí)行各項任務(wù)的分配,將檢索任務(wù)合理地分配到各個節(jié)點之上,為各節(jié)點之間的并行運行提供了基礎(chǔ)。

(3)Map階段:分配任務(wù)之后,會調(diào)度各項Map任務(wù)并行處理,Map任務(wù)的并行執(zhí)行,可以提高分布式系統(tǒng)檢索的效率。

(4)Reduce階段:完成Map任務(wù)之后,Reduce會收集Map階段產(chǎn)生的中間結(jié)果。

(5)任務(wù)完成階段:Reduce計算之后,通過Internet返回給用戶,實現(xiàn)過程結(jié)束。

3 實驗分析

3.1Hadoop分布式系統(tǒng)搭建

表1 服務(wù)器配置信息表

Hadoop為MapReduce提供了分布式存儲和計算環(huán)境。我們將在Hadoop中進行MapReduce相關(guān)的試驗。

在阿里云平臺上搭建Hadoop環(huán)境,機器數(shù)量為三臺,編號1為傳統(tǒng)方法,編號2為2個數(shù)據(jù)節(jié)點的MapReduce檢索方法,編號3為3個數(shù)據(jù)節(jié)點的MapReduce檢索方法,分別配置如表1所示。

3.2性能分析

圖2 傳統(tǒng)方式檢索效率與分布式方式檢索效率的性能對比

在測試該分布式系統(tǒng)的性能時,采用不同的數(shù)據(jù)集以及不同的節(jié)點數(shù)來進行測試,測試結(jié)果如圖2所示。

(1)當數(shù)據(jù)在15和30萬條時,傳統(tǒng)方式所消耗的時間稍長,此時檢索所消耗時間差距并不大;

(2)隨著數(shù)據(jù)量的增大,Hadoop系統(tǒng)的性能優(yōu)勢越明顯。當數(shù)據(jù)量超過30萬條時,用傳統(tǒng)方式進行檢索所耗時間急速上升,相比之下利用MapReduce架構(gòu)進行檢索時,節(jié)點數(shù)越多檢索所消耗的時間就越少;

(3)隨著數(shù)據(jù)量的增大,在MapReduce架構(gòu)下的多結(jié)點檢索系統(tǒng)的優(yōu)勢越突出,并且檢索效率隨著節(jié)點數(shù)的增加而提高;

(4)對比分布式系統(tǒng)常規(guī)檢索方法(單節(jié)點)的檢索效果與經(jīng)過優(yōu)化的檢索方法的檢索效果,可以看得出,經(jīng)過優(yōu)化的檢索方法比常規(guī)檢索方法的檢索效果要優(yōu)越很多,并且效果隨著優(yōu)化的節(jié)點數(shù)的增加而增強。

4 結(jié)論及展望

使用MapReduce在分布式系統(tǒng)上進行文件檢索的相關(guān)操作,核心部分是待檢索關(guān)鍵詞與文件相關(guān)性的計算,本文算法在實現(xiàn)過程中根據(jù)文件名檢索、根據(jù)文件內(nèi)容來檢索、根據(jù)本關(guān)鍵詞來檢索以及根據(jù)關(guān)鍵詞的同義詞來進行檢索,在一定程度上提高了文件檢索的準確率。本文實現(xiàn)了基于MapReduce在分布式系統(tǒng)中進行文件的高放檢索,檢索峰值測試優(yōu)化檢索算法,以提高分布式系統(tǒng)的檢索效率,是下一步所要開展的研究。

[1]陳立博,李金友,畢建偉,黃灝.基于數(shù)據(jù)庫檢索信息的一種實現(xiàn)方法[J].黑龍江科技信息,2015,11(2):156.

[2]宋杰,劉雪冰,朱志良等.一種能效優(yōu)化的MapReduce資源比模型[J].計算機學(xué)報,2015(1):59-73.

[3]應(yīng)毅,劉亞軍.MapReduce并行計算技術(shù)發(fā)展綜述[J].計算機系統(tǒng)應(yīng)用,2014(4):1-6,11.

[4]荀亞玲,張繼福,秦嘯.MapReduce集群環(huán)境下的數(shù)據(jù)放置策略[J].軟件學(xué)報,2015(8):2056-2073.

[5]宋杰,王智,李甜甜,于戈.一種優(yōu)化MapReduce系統(tǒng)能耗的數(shù)據(jù)布局算法[J].軟件學(xué)報,2015(8):2091-2110.

[6]韓海雯.MapReduce計算任務(wù)調(diào)度的資源配置優(yōu)化研究[D].廣州:華南理工大學(xué),2013.

[7]江務(wù)學(xué),張璟,王志明.MapReduce并行編程架構(gòu)模型研究[J].微電子學(xué)與計算機,2011(6):168-170,175.

[8]黃斌,許舒人,蒲衛(wèi).基于MapReduce的數(shù)據(jù)挖掘平臺設(shè)計與實現(xiàn)[J].計算機工程與設(shè)計,2013(2):495-501.

[9]李偉衛(wèi),趙航,張陽,王勇.基于MapReduce的海量數(shù)據(jù)挖掘技術(shù)研究[J].計算機工程與應(yīng)用,2013(20):112-117.

[10]趙輝,楊樹強,陳志坤,尹洪,金松昌.基于MapReduce模型的范圍查詢分析優(yōu)化技術(shù)研究[J].計算機研究與發(fā)展,2014(3):606-617.

[Abstract]In the document retrieval method, the key is built on the database search. However, when the amount of data to be retrieved becomes very large, using this search method, a large number of retrieval operations will be concentrated on a single host, which can result in reduced efficiency of retrieval. Under this background, a distributed system can be used to solve the problem. Retrieving resources in a distributed system can be based on MapReduce architecture to achieve retrieval. Thus, the pressure of retrieval operation will be allocated to each node in a distributed system, which can effectively reduce the pressure of the machine and greatly improve the retrieval efficiency. Using the traditional way, retrieving 1 million data consumes 500 seconds, while using the method based on MapReduce architecture for distributed systems to retrieve one million data only needs 40 seconds. Compared with traditional search method, method of distributed systems based on MapReduce architecture can promote efficiency to 12.5 times.

[Key words]big data; MapReduce; searching; distributed system

[責任編輯劉景平]

Research on Massive File Retrieval Method Based on MapReduce

TAN Qian-lin, MO Chun-juan

(School of Computer and Information Engineering, Hechi University, Yizhou, Guangxi 546300, China)

TP311

A

1672-9021(2016)02-0101-05

譚黔林(1983-),男,貴州鳳岡人,河池學(xué)院計算機與信息工程學(xué)院教師,主要研究方向:數(shù)據(jù)挖掘與信息分析研究。

廣西高校科學(xué)技術(shù)研究項目(LX2014320);CALIS廣西壯族自治區(qū)文獻信息服務(wù)中心預(yù)研項目(LALISGX2014006)。

2016-01-07

猜你喜歡
特征內(nèi)容
抓住特征巧觀察
內(nèi)容回顧溫故知新
內(nèi)容回顧 溫故知新
內(nèi)容回顧溫故知新
新型冠狀病毒及其流行病學(xué)特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
抓住特征巧觀察
主要內(nèi)容
臺聲(2016年2期)2016-09-16 01:06:53
線性代數(shù)的應(yīng)用特征
河南科技(2014年23期)2014-02-27 14:19:15
主站蜘蛛池模板: 久久这里只有精品66| 国产极品美女在线| 欧洲高清无码在线| 中文字幕欧美日韩| 亚洲视频无码| 激情网址在线观看| 亚洲第一极品精品无码| 国产综合无码一区二区色蜜蜜| 久久情精品国产品免费| 国产精品丝袜在线| 日韩国产精品无码一区二区三区| 亚洲精品国产精品乱码不卞| 99在线观看国产| 亚洲V日韩V无码一区二区| 亚洲最新在线| 在线观看无码a∨| 亚洲人成网7777777国产| 亚洲国产综合自在线另类| 日韩精品一区二区三区大桥未久| 精品国产一二三区| 天天摸夜夜操| 欧美日韩激情在线| 久久久久人妻一区精品色奶水 | 人妻无码中文字幕一区二区三区| 国产精品亚洲精品爽爽| 免费国产在线精品一区| 欧洲亚洲欧美国产日本高清| 亚洲一区免费看| 欧美a级完整在线观看| 不卡午夜视频| 精品久久高清| 精品色综合| 人妻丰满熟妇AV无码区| 亚洲无码高清视频在线观看| 色窝窝免费一区二区三区 | 中文字幕免费播放| 啊嗯不日本网站| 国产一级毛片yw| 亚洲天堂网视频| 亚洲高清中文字幕在线看不卡| 毛片一级在线| 九九久久精品免费观看| 国产丝袜91| 欧美亚洲日韩不卡在线在线观看| 狠狠色丁婷婷综合久久| 九九九精品成人免费视频7| 亚洲国产高清精品线久久| 欧美成人精品在线| 毛片免费网址| 99视频在线免费观看| 亚洲区视频在线观看| 国产精品人成在线播放| 亚洲男人在线| 欧美日韩另类国产| 中文无码精品A∨在线观看不卡| 婷婷六月综合| 久久精品无码中文字幕| 最近最新中文字幕在线第一页| 亚洲高清免费在线观看| 视频二区欧美| 色吊丝av中文字幕| 欧美成一级| 欧美日韩91| 欧美一级色视频| 青青草国产在线视频| 久久男人资源站| 国产成人综合欧美精品久久| 亚洲国产日韩欧美在线| 91香蕉国产亚洲一二三区| 国产日产欧美精品| 精品丝袜美腿国产一区| 亚洲国产精品一区二区高清无码久久| 人妻夜夜爽天天爽| 亚洲天堂视频网| 极品av一区二区| 四虎影视国产精品| 国产a在视频线精品视频下载| 一本色道久久88| 国产自在线拍| 免费人欧美成又黄又爽的视频| 国产91在线|日本| 无码中字出轨中文人妻中文中|