国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多屬性的海量Web數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)及檢索系統(tǒng)

2014-09-15 01:23李春花黃永峰廖正霜
關(guān)鍵詞:屬性數(shù)據(jù)網(wǎng)頁分布式

羅 芳,李春花,周 可,黃永峰,廖正霜

(1.華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430074;2.清華大學(xué)電子工程系,北京 100084)

基于多屬性的海量Web數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)及檢索系統(tǒng)

羅 芳1,李春花1,周 可1,黃永峰2,廖正霜1

(1.華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430074;2.清華大學(xué)電子工程系,北京 100084)

傳統(tǒng)的Web數(shù)據(jù)檢索一般采用全文檢索方法,該方法具有很好的靈活性,但輿情分析往往需要獲得相關(guān)的網(wǎng)頁屬性及統(tǒng)計(jì)信息。針對傳統(tǒng)的Web檢索方法無法滿足上述需求,基于Hadoop平臺(tái)設(shè)計(jì)并實(shí)現(xiàn)了一種基于多屬性的海量Web數(shù)據(jù)的關(guān)聯(lián)存儲(chǔ)及檢索系統(tǒng),為輿情分析提供基礎(chǔ)檢索與統(tǒng)計(jì)服務(wù)。主要實(shí)現(xiàn)HDFS上基于屬性的網(wǎng)頁數(shù)據(jù)的分類和聚類存儲(chǔ),解決小文件存儲(chǔ)同時(shí)提高數(shù)據(jù)訪問吞吐量;建立原始網(wǎng)頁數(shù)據(jù)與屬性數(shù)據(jù)之間的關(guān)聯(lián)映射;基于HBase的已有索引機(jī)制,結(jié)合分布式本地索引機(jī)制解決基于HBase的動(dòng)態(tài)屬性多條件選擇查詢的輔助索引問題。

分類存儲(chǔ);多條件選擇查詢;關(guān)聯(lián)映射;輔助索引

1 引言

海量Web數(shù)據(jù)具有非結(jié)構(gòu)化、更新速度快、數(shù)據(jù)類型多樣化等特點(diǎn),對數(shù)據(jù)管理系統(tǒng)提出了新的挑戰(zhàn)。分布式存儲(chǔ)計(jì)算環(huán)境可以有效地利用集群的資源為海量數(shù)據(jù)提供分布式存儲(chǔ)和計(jì)算支持,同時(shí)也帶來了許多技術(shù)上的挑戰(zhàn)。

Hadoop是典型的分布式存儲(chǔ)計(jì)算平臺(tái),其中HDFS(Hadoop Distributed File System)[1]是分布式文件系統(tǒng),能夠提供高吞吐量的數(shù)據(jù)訪問,具有良好的擴(kuò)展性和數(shù)據(jù)容錯(cuò)性,滿足大規(guī)模數(shù)據(jù)處理需求,可用于海量Web數(shù)據(jù)的存儲(chǔ)。由于HDFS適合于存儲(chǔ)超大數(shù)據(jù)文件(幾百M(fèi)B、GB甚至TB),不適合將單個(gè)的Web網(wǎng)頁數(shù)據(jù)直接保存到單個(gè)文件,因此需要對Web網(wǎng)頁數(shù)據(jù)進(jìn)行合并存儲(chǔ)。為提高相關(guān)性網(wǎng)頁數(shù)據(jù)讀取的吞吐量,可以利用Web網(wǎng)頁數(shù)據(jù)之間的屬性相關(guān)性,對Web網(wǎng)頁進(jìn)行分類歸并存儲(chǔ)。然而,由于HDFS不支持隨機(jī)寫操作,故只能采用追加寫方式,保證單個(gè)文件的數(shù)據(jù)整體相關(guān)性。

HBase[2]是Hadoop的一個(gè)面向列的分布式存儲(chǔ)系統(tǒng),適合于海量結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ),也支持非結(jié)構(gòu)化數(shù)據(jù)的存儲(chǔ),也具有很好的可擴(kuò)展性和容錯(cuò)性。原始的網(wǎng)頁文件中一般存儲(chǔ)大量的屬性描述數(shù)據(jù),在輿情分析系統(tǒng)中,如何有效地獲取、組織、管理和檢索這些屬性數(shù)據(jù)是輿情分析研究的基礎(chǔ)。為方便屬性數(shù)據(jù)的存儲(chǔ)和擴(kuò)展,我們采用HBase作為屬性數(shù)據(jù)的存儲(chǔ)支持。由于異構(gòu)源(如門戶網(wǎng)站、BBS、博客、微博)的網(wǎng)頁信息具有不同的屬性數(shù)據(jù),屬性數(shù)據(jù)的值域又分為離散型數(shù)據(jù)域(如新聞來源)和連續(xù)型數(shù)據(jù)域(如評論數(shù)),因此需要設(shè)計(jì)滿足不同需求的屬性數(shù)據(jù)的存儲(chǔ)模型,實(shí)現(xiàn)屬性數(shù)據(jù)和原始網(wǎng)頁數(shù)據(jù)的關(guān)聯(lián)存儲(chǔ)映射。該映射機(jī)制能夠?qū)Ξ悩?gòu)數(shù)據(jù)進(jìn)行雙向定位訪問,同時(shí)減少分布式環(huán)境下的網(wǎng)絡(luò)開銷。

由于HBase僅支持主索引結(jié)構(gòu),無法滿足多條件選擇查詢需求。為此需要設(shè)計(jì)滿足該查詢需求的索引機(jī)制,該索引應(yīng)具有較好的動(dòng)態(tài)擴(kuò)展性、可維護(hù)性和較高的檢索性能。由于HBase的數(shù)據(jù)存儲(chǔ)模型的改變,傳統(tǒng)的關(guān)系型數(shù)據(jù)管理系統(tǒng)中的輔助索引技術(shù)無法被簡單地遷移過來,因此,基于HBase屬性數(shù)據(jù)管理系統(tǒng)需解決以下幾個(gè)方面的問題:輔助索引應(yīng)充分利用分布式計(jì)算環(huán)境的并行計(jì)算能力來提高數(shù)據(jù)分布式檢索效率;分布式環(huán)境下屬性數(shù)據(jù)的添加、刪除、修改、遷移等可以較方便地進(jìn)行索引維護(hù);保證高并發(fā)查詢效率的同時(shí)需要盡量減少網(wǎng)絡(luò)查詢開銷;針對輿情分析需求,該索引機(jī)制應(yīng)該具有較高的數(shù)據(jù)統(tǒng)計(jì)能力。

本文的第2節(jié)將介紹相關(guān)的研究工作;第3節(jié)詳細(xì)描述Hadoop平臺(tái)下實(shí)現(xiàn)Web屬性數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)與檢索的相關(guān)技術(shù),包括Web數(shù)據(jù)的分類聚類存儲(chǔ)算法,屬性數(shù)據(jù)和原始網(wǎng)頁數(shù)據(jù)的關(guān)聯(lián)映射和定位技術(shù),HBase輔助索引機(jī)制的構(gòu)建、維護(hù)和檢索算法,以及整個(gè)系統(tǒng)實(shí)現(xiàn)的主要流程;第4節(jié)中給出了相關(guān)的實(shí)驗(yàn)結(jié)果;最后對本文進(jìn)行歸納總結(jié)。

2 相關(guān)工作

2.1 小文件合并存儲(chǔ)和定位技術(shù)

對于小文件問題,Hadoop自身提供了三種解決方案[1]:Hadoop Archive、Sequence File和CombineFileInputFormat。這三種方法不能自動(dòng)刪除原始小文件,且不能將動(dòng)態(tài)增加的數(shù)據(jù)合并到已歸類的文件。WebGIS[3]結(jié)合數(shù)據(jù)的相關(guān)特征,將相鄰地理位置的小文件合并成大文件,把小于16 MB的文件作為小文件進(jìn)行合并處理,將其合并成64 MB的數(shù)據(jù)塊并構(gòu)建索引。BlueSky[4]主要基于HDFS存放教學(xué)PPT文件、視頻文件及一些文件快照,此方法的合并準(zhǔn)則十分簡單,要求合并的文件具有明確相關(guān)性和本地性。但是,考慮網(wǎng)頁數(shù)據(jù)具有海量且關(guān)聯(lián)不確定性特點(diǎn),不應(yīng)將合并后的文件的大小限制在較小范圍;同時(shí),需要采用相關(guān)的聚類算法來確定網(wǎng)頁之間的關(guān)聯(lián)性,實(shí)現(xiàn)合并存儲(chǔ)。

2.2 網(wǎng)頁數(shù)據(jù)的分類聚類算法

由于輿情分析[5]中網(wǎng)頁的主題和時(shí)間是非常重要的查詢屬性,本文實(shí)現(xiàn)了對網(wǎng)頁數(shù)據(jù)進(jìn)行基于主題和時(shí)間的分類。在文件合并的過程中考慮文件的相關(guān)性,采用相關(guān)的聚類算法對網(wǎng)頁文件進(jìn)行分類合并存儲(chǔ),可以有效提高網(wǎng)頁數(shù)據(jù)訪問的吞吐量。

在對網(wǎng)頁數(shù)據(jù)進(jìn)行基于屬性的歸并存儲(chǔ)過程中,需要對網(wǎng)頁進(jìn)行預(yù)處理,獲得網(wǎng)頁的文本向量表示。常用的文本表示方法有:布爾模型、向量空間模型、語義模型和生成模型LDA(Latent Dirichlet Allocation)。實(shí)現(xiàn)主題分類的過程中,主要采用經(jīng)典的SVM(Support Vector Machine)模型[6]。利用聚類算法對文本進(jìn)行聚類存儲(chǔ)。有許多經(jīng)典的聚類算法[6],如劃分聚類、層次聚類、密度聚類等??紤]Web數(shù)據(jù)海量、動(dòng)態(tài)等特點(diǎn),本文采用聚類算法實(shí)現(xiàn)海量Web數(shù)據(jù)的合并存儲(chǔ),并基于MapReduce框架實(shí)現(xiàn)并行化。

2.3 云數(shù)據(jù)管理的輔助索引機(jī)制

云環(huán)境下輔助索引機(jī)制主要分為集中式和分布式兩種方案[7]。集中式方案中,被索引字段上的所有值被全局排序并集中管理。檢索過程中首先在全局排序的索引結(jié)構(gòu)中找到符合的索引項(xiàng);然后定位到對應(yīng)的數(shù)據(jù)節(jié)點(diǎn);再根據(jù)該節(jié)點(diǎn)的聚集索引定位到完整記錄。該方案沒有充分利用集群的整體計(jì)算能力,限制了查詢的性能。分布式索引方案在各數(shù)據(jù)節(jié)點(diǎn)獨(dú)立建立各自管理的局部數(shù)據(jù)索引,但對于任何一個(gè)檢索請求,都會(huì)分別發(fā)送到各個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行并發(fā)查詢,在高并發(fā)查詢環(huán)境下顯然增加了無用的數(shù)據(jù)節(jié)點(diǎn)?;诜制粓D的索引方案[8]為數(shù)據(jù)檢索提供了較好的支持,但針對不斷更新的海量數(shù)據(jù),該索引機(jī)制具有一定的使用限制。

3 基于屬性的Web數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)

3.1 原始網(wǎng)頁數(shù)據(jù)的歸并存儲(chǔ)

3.1.1 網(wǎng)頁原始數(shù)據(jù)的關(guān)聯(lián)存儲(chǔ)過程

首先基于主題和時(shí)間等屬性對原始網(wǎng)頁數(shù)據(jù)進(jìn)行分類存儲(chǔ),下面以如表1所示的新浪新聞信息網(wǎng)頁為例進(jìn)行說明。

Table 1 Partial Sina-news instances

以時(shí)間和主題為劃分標(biāo)準(zhǔn),對原始網(wǎng)頁數(shù)據(jù)進(jìn)行分類,其中主題列表基于《中文新聞信息分類標(biāo)準(zhǔn)及代碼》[5]構(gòu)建,得到如圖1所示的網(wǎng)頁數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)。其中InfoWebSet是基于網(wǎng)頁的其他屬性(網(wǎng)頁來源、發(fā)布媒體、評論數(shù)、信息關(guān)鍵字),通過基于MapReduce的聚類算法對同一分類下的網(wǎng)頁數(shù)據(jù)進(jìn)行聚類存儲(chǔ)。聚類屬性的選擇主要是為了滿足輿情統(tǒng)計(jì)需求[9]。

Figure 1 Organization structure of webpage based on HDFS圖1 網(wǎng)頁數(shù)據(jù)在HDFS中的組織結(jié)構(gòu)

3.1.2 網(wǎng)頁數(shù)據(jù)歸并存儲(chǔ)算法

(1)基于主題的網(wǎng)頁數(shù)據(jù)分類算法。

Figure 2 Parallelization of web page associated-storage based on MapReduce model圖2 網(wǎng)頁歸并存儲(chǔ)的MapReduce并行化實(shí)現(xiàn)

由于網(wǎng)頁數(shù)據(jù)源的異構(gòu)性,需要采用相關(guān)的分類算法對網(wǎng)頁進(jìn)行主題分類。本文主要利用基于貝葉斯理論的SVM模型對網(wǎng)頁數(shù)據(jù)進(jìn)行分類,實(shí)現(xiàn)過程中針對不同的異構(gòu)源(新聞網(wǎng)站、博客、BBS、微博),首先選取新浪新聞網(wǎng)站、新浪博客、天涯論壇和新浪微博已確定分類的數(shù)據(jù)作為訓(xùn)練集,獲取SVM分類器;以其他動(dòng)態(tài)增長的網(wǎng)頁數(shù)據(jù)作為樣本,采用SVM模型對樣本數(shù)據(jù)進(jìn)行分類,從而確定網(wǎng)頁數(shù)據(jù)的存儲(chǔ)路徑。該過程主要通過Map函數(shù)完成。Map函數(shù)實(shí)現(xiàn)的主要工作如下:

① 根據(jù)待爬的URL獲取原始網(wǎng)頁P(yáng)age(i)。

② 對原始網(wǎng)頁進(jìn)行預(yù)處理獲得特征向量。

③ 利用SVM訓(xùn)練模型得到網(wǎng)頁分類,獲取存儲(chǔ)目錄Dir_path(j)。

④ 以Dir_path(j)為key,Page(i)作為value輸出給Reduce函數(shù)進(jìn)行聚類,完成網(wǎng)頁數(shù)據(jù)歸并存儲(chǔ)。

(2)基于多屬性的網(wǎng)頁數(shù)據(jù)聚類算法。

本文基于K-means算法[10]對同主題下的網(wǎng)頁數(shù)據(jù)進(jìn)行基于屬性的聚類。選擇K-means算法實(shí)現(xiàn)網(wǎng)頁數(shù)據(jù)聚類存儲(chǔ)具有以下優(yōu)點(diǎn):K-means算法復(fù)雜度低,速度快,實(shí)現(xiàn)簡單,滿足海量數(shù)據(jù)的聚類需求,能保證聚類效率;根據(jù)聚類目的和聚類結(jié)果將網(wǎng)頁數(shù)據(jù)存儲(chǔ)到對應(yīng)的文件中,故需要使用排他型聚類算法,K-means算法滿足這種需求;可以簡單地滿足動(dòng)態(tài)網(wǎng)頁數(shù)據(jù)的聚類需求。

聚類過程主要在Reduce函數(shù)中實(shí)現(xiàn),輸入的key為文檔所屬目錄的絕對路徑,value為該路徑下的所有文檔。主要完成以下工作:

① 對每個(gè)路徑下的所有文檔進(jìn)行聚類。

② 計(jì)算每個(gè)聚類中心New_center(i)與已有的K個(gè)聚類中心的距離。

③獲得與New_center(i)距離最近的聚類Old_center(j):若距離小于閾值t1,讀取Old_center(j)的存儲(chǔ)路徑Path(j),將New_center(i)的所有網(wǎng)頁數(shù)據(jù)追加到Path(j);否則,為該聚類在該目錄下創(chuàng)建新的存儲(chǔ)文件Path(m),將new_center(i)的所有網(wǎng)頁數(shù)據(jù)追加到Path(m)中。

(3)算法實(shí)現(xiàn)。

上面主要闡述了采用Map/Reduce框架實(shí)現(xiàn)網(wǎng)頁數(shù)據(jù)合并存儲(chǔ)的主要工作。其中Map函數(shù)主要完成了對網(wǎng)頁數(shù)據(jù)的分類,獲得其存儲(chǔ)的目錄;Reduce函數(shù)主要對同分類下的網(wǎng)頁數(shù)據(jù)聚類,根據(jù)聚類結(jié)果將網(wǎng)頁數(shù)據(jù)追加存儲(chǔ)到對應(yīng)的HDFS文件中。Map過程的偽代碼如下:

voidmap(ImmutableBytesWritableibw, Resultresult, Contextcontext)

{

Stringurl=getUrl(ibw);/*get url from HBase*

Pagepage=getWebPage(url);//download webpage

DocVectordocVector=getVector(page);

SVMersvm=getSVM();//get svm classifier

Clscid=SVM(docVecto,svm);//training by SVM

PathdirPath=getPath(cid); /*get storage path with cid*/

Context.write(new Text(dirPath), new Text(page));

}

Reduce過程的偽代碼如下:

voidreduce(TextdirPath, Iterator〈Text〉pages, Contextcontext)

{//clustering new Pages

intk=Configuration.get(“cluster_num”); /*get k number*/

intt1=Configuration.get(“cluster_distance”);

List〈Center〉centers=get_k_center(pages,k);

List〈Cluster〉clusters=kmeans_training(pages,k,centers); //get clusters byk-means

List〈ClusterCenter〉old_centers=get_oldcenter(dirPath);

FOR (Clustercluster:clusters)

{//compute cluster distance to old clusters

Centercenter=getCenter(cluster);

Centermincenter=getMin(center,old_centers);

IF (distance(center,mincenter)

{/*ifdistance

TextPathtextPath=getTextPath(mincenter,dirPath);

append(textPath,cluster); }

ELSE

{//create new cluster file and append data into it

TextPathtextPath=newTextPath(++k,dirPath);

append(textPath,cluster);/*append data to file*/}

}//endFor

/*output cluster path info to database for further retrieval*/

}

3.2 屬性數(shù)據(jù)的存儲(chǔ)

3.2.1 屬性數(shù)據(jù)的類型

(1)從網(wǎng)頁中解析獲得的屬性數(shù)據(jù):URL、標(biāo)題、發(fā)布時(shí)間、媒體來源、評論人數(shù)、參與人數(shù)、網(wǎng)頁正文的關(guān)鍵字(主要通過對正文、標(biāo)題進(jìn)行分詞、過濾無效詞等獲得);

(2)原始網(wǎng)頁數(shù)據(jù)分類聚類獲得的屬性:主題,原始網(wǎng)頁在HDFS中的存儲(chǔ)路徑,原始網(wǎng)頁在聚類文件中的偏移量。

3.2.2 屬性數(shù)據(jù)的存儲(chǔ)模型

為充分利用分布式并行計(jì)算能力,采用HBase作為屬性數(shù)據(jù)的存儲(chǔ)支持[11]。在基于HBase固有索引機(jī)制的基礎(chǔ)上構(gòu)建良好的分布式輔助索引機(jī)制,需要設(shè)計(jì)良好的屬性數(shù)據(jù)存儲(chǔ)模型[12]。表2是屬性數(shù)據(jù)在HBase中的存儲(chǔ)模型。

Table 2 A storage model of attributes data based on HBase

根據(jù)Web數(shù)據(jù)更新速度快和輿情分析需求,在設(shè)計(jì)屬性數(shù)據(jù)存儲(chǔ)模型時(shí)優(yōu)先考慮時(shí)間屬性,同時(shí)考慮到異構(gòu)網(wǎng)頁源的屬性特征不同,因此將HBase中的表名設(shè)計(jì)為SOURCE_YYYY屬性。同時(shí),為保證索引和被索引數(shù)據(jù)的操作具有事務(wù)性,每個(gè)索引以RowKey索引單元,基于HBase存儲(chǔ),且使用相同的RowKey作為其存儲(chǔ)的行關(guān)鍵字,保證索引與被索引的數(shù)據(jù)在同一個(gè)RegionServer上。由于網(wǎng)頁數(shù)據(jù)具有更新的特點(diǎn),我們可充分利用HBase的時(shí)間戳機(jī)制來存儲(chǔ)更新。

同時(shí),我們在數(shù)據(jù)庫中采用相關(guān)字段來存儲(chǔ)對應(yīng)原始網(wǎng)頁數(shù)據(jù)的位置信息,使得該系統(tǒng)能夠在獲得屬性數(shù)據(jù)的同時(shí)支持查看完整的原始網(wǎng)頁數(shù)據(jù)。

3.3 HBase輔助索引的構(gòu)建

基于HBase原有的主索引方式設(shè)計(jì)分布式本地索引。索引以RowKey為主鍵,對相同的RowKey中的屬性數(shù)據(jù)建立本地索引,構(gòu)建的索引數(shù)據(jù)基于HBase存儲(chǔ),且與被索引的數(shù)據(jù)共享相同的RowKey,保證在分布式環(huán)境下,當(dāng)屬性數(shù)據(jù)發(fā)生遷移時(shí),對應(yīng)的索引數(shù)據(jù)也能始終遷移到相同的節(jié)點(diǎn)上,可減少檢索過程中的網(wǎng)絡(luò)開銷。同時(shí),為了充分利用分布式節(jié)點(diǎn)的計(jì)算能力,我們在各個(gè)RegionServer上構(gòu)建本地檢索模塊,利用本地索引,對局部時(shí)間域的數(shù)據(jù)進(jìn)行并行檢索,最后將各節(jié)點(diǎn)返回的數(shù)據(jù)求并即得到了整體時(shí)間域的數(shù)據(jù)檢索。

表3是本文設(shè)計(jì)的屬性索引存儲(chǔ)模型。從中可以看出,將屬性索引和屬性數(shù)據(jù)采用無差別存儲(chǔ),屬性數(shù)據(jù)采用Url列族名,屬性索引采用Index列族存儲(chǔ),對相同表中相同RowKey下的屬性數(shù)據(jù)進(jìn)行索引。這樣就可以利用分布式節(jié)點(diǎn)的計(jì)算能力對被檢索的屬性進(jìn)行分布式檢索然后歸并。

Table 3 Storage model of attributes’ indexing

為了提高多條件檢索的效率,實(shí)際系統(tǒng)中一般采用聯(lián)合索引機(jī)制存儲(chǔ)索引,再采用對應(yīng)的決策樹查詢算法進(jìn)行本地?cái)?shù)據(jù)檢索。針對輿情需求,被索引的屬性數(shù)據(jù)主要包括:媒體來源和檢索網(wǎng)頁的關(guān)鍵字。下面給出基于HBase的多屬性條件選擇查詢算法:

輸入:用戶需要查詢的屬性域{Attr1,Attr2, …,Attrn};

輸出:滿足查詢條件的網(wǎng)頁屬性數(shù)據(jù)對象集合。

步驟1 接收用戶輸入的屬性參數(shù)。

步驟2 根據(jù)用戶選擇的網(wǎng)頁源和年閾值(默認(rèn)是有時(shí)間范圍的)確定所需檢索的數(shù)據(jù)表;根據(jù)時(shí)間的月/日來確定RowKey的startRowKey和endRowKey,獲取需要檢索的RegionServer,將其他查詢參數(shù)進(jìn)行連接封裝到查詢請求中并發(fā)送到對應(yīng)RegionServer。

步驟3 采用RegionServer自帶的類對請求進(jìn)行反序列化,生成需要的請求對象,解析請求對象中包含的查詢參數(shù)。

步驟4 針對各查詢參數(shù)循環(huán)構(gòu)造查詢條件,再調(diào)用Get()方法返回查詢結(jié)果。

步驟5 在RegionServer上對返回的數(shù)據(jù)進(jìn)行布爾運(yùn)算求交集,為了加快處理速度,存儲(chǔ)時(shí)對數(shù)據(jù)進(jìn)行排序存儲(chǔ)以提高效率。

步驟6 利用交集數(shù)據(jù)循環(huán)構(gòu)造查詢條件進(jìn)行Get()查詢,返回最終數(shù)據(jù)給客戶端。

步驟7 客戶端對不同時(shí)間域的數(shù)據(jù)進(jìn)行求交并返回、顯示對應(yīng)的屬性數(shù)。

3.4 Web數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)及檢索系統(tǒng)框架圖

前面主要介紹了本系統(tǒng)實(shí)現(xiàn)的關(guān)鍵技術(shù),系統(tǒng)的整體框架圖如圖3所示。

Figure 3 Associated storage and retrival system framework of massive web data based on attributes圖3 基于屬性的海量Web數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)和檢索系統(tǒng)框架

系統(tǒng)從功能上分為:存儲(chǔ)層、計(jì)算層和服務(wù)層。其中,存儲(chǔ)層主要分為對原始非結(jié)構(gòu)化信息的存儲(chǔ)、結(jié)構(gòu)化屬性信息的存儲(chǔ)及索引數(shù)據(jù)的存儲(chǔ)。計(jì)算層主要包括數(shù)據(jù)的聚類存儲(chǔ)模塊,屬性數(shù)據(jù)和原始網(wǎng)頁數(shù)據(jù)之間的關(guān)聯(lián)映射模塊,數(shù)據(jù)的檢索、結(jié)果的緩存和統(tǒng)計(jì)模塊,由于Web數(shù)據(jù)具有更新特點(diǎn),故還建立了對應(yīng)的更新模塊,主要針對更新數(shù)據(jù)進(jìn)行處理。最上層則是服務(wù)層,主要對下面相關(guān)的處理模塊進(jìn)行封裝。給供分析人員提供執(zhí)行相關(guān)檢索和統(tǒng)計(jì)的API,為后期的輿情分析提供基礎(chǔ)服務(wù),同時(shí)構(gòu)建了一個(gè)用戶查詢界面提供功能展示服務(wù)。

4 實(shí)驗(yàn)

按照以上設(shè)計(jì)思想,本文實(shí)現(xiàn)了基于多屬性檢索的Web信息查詢系統(tǒng)。由于我們的數(shù)據(jù)關(guān)聯(lián)存儲(chǔ)和檢索系統(tǒng)主要是為輿情分析提供基礎(chǔ)服務(wù),主要提供了相關(guān)查詢統(tǒng)計(jì)和網(wǎng)頁獲取的API接口。圖4給出了對新浪某類新聞在2010~2012年的新聞發(fā)布數(shù)的統(tǒng)計(jì)結(jié)果。

Figure 4 A trend statistics of certain SinaNews topic圖4 新浪某分類新聞的走勢統(tǒng)計(jì)

本文還搭建了一個(gè)功能演示界面,如圖5所示。圖5中查詢設(shè)定的參數(shù)有:時(shí)間范圍參數(shù)是2010年7月1日到2013年4月1日,信息來源為新浪新聞,查詢的主題為軍事,檢索的關(guān)鍵詞為“釣魚島”,返回了相關(guān)的查詢結(jié)果,點(diǎn)擊可以在下方查看某新聞的內(nèi)容和相關(guān)的屬性信息,右圖還給出了以時(shí)間為維度的頻率統(tǒng)計(jì)圖,另外下方的url還支持查看原始網(wǎng)頁來源。

Figure 5 Web data retrieval demo based on multi-attributes圖5 基于多屬性的Web數(shù)據(jù)檢索系統(tǒng)

5 結(jié)束語

本文基于Hadoop和HBase平臺(tái),設(shè)計(jì)并實(shí)現(xiàn)了一種基于屬性的海量Web數(shù)據(jù)的關(guān)聯(lián)存儲(chǔ)和檢索系統(tǒng)。主要做了如下工作:對爬取的原始網(wǎng)頁數(shù)據(jù)采用分類聚類算法實(shí)現(xiàn)歸并存儲(chǔ),使用HDFS作為原始網(wǎng)頁存儲(chǔ)庫。該方法使得基于屬性檢索的結(jié)果數(shù)據(jù)在原始網(wǎng)頁存儲(chǔ)庫中也具有位置相關(guān)性,能夠提高原始數(shù)據(jù)讀取的吞吐量;從原始信息網(wǎng)頁中抽取出屬性數(shù)據(jù),以時(shí)間為閾值進(jìn)行基于HBase的存儲(chǔ),設(shè)計(jì)了相關(guān)的屬性數(shù)據(jù)存儲(chǔ)模型;在屬性數(shù)據(jù)和原始網(wǎng)頁數(shù)據(jù)之間建立關(guān)聯(lián)映射;基于屬性數(shù)據(jù)的存儲(chǔ)模型設(shè)計(jì)了屬性數(shù)據(jù)的索引模型,并使用分布式節(jié)點(diǎn)中的本地計(jì)算能力實(shí)現(xiàn)對多屬性的選擇查詢。最終實(shí)現(xiàn)了對海量Web數(shù)據(jù)的基于屬性的關(guān)聯(lián)存儲(chǔ)和檢索系統(tǒng)。該系統(tǒng)的相關(guān)算法設(shè)計(jì)和索引效率有待改進(jìn),結(jié)合全文檢索能力可以進(jìn)一步完善整體系統(tǒng)的功能,這將是我們后期需要展開的工作。

[1] Apache Hadoop project[EB/OL].[2012-09-10]. http://hadoop.apache.org.

[2] Apache HBase project [EB/OL].[2012-11-25]. http://hb- ase.apache.org.

[3] Liu Xu-hui, Han Ji-zhong, Zhong Yun-qin, et al. Implementing WebGIS on Hadoop:A case study of improving small file I/O performance on HDFS[C]∥Proc of CLUSTER, 2009:1-8.

[4] Dong Bo, Qiu Jie, Zheng Qing-hua, et al. A novel approach to improving the efficiency of storing and accessing small files on Hadoop:A case study by PowerPoint files[C]∥Proc of the 2010 IEEE International Conference on Services Computing, 2010:65-72.

[5] Qian Ai-bing. A model for analyzing public opinion under the web and its implementation[J]. Information Analysis and Research, 2008(4):49-55.(in Chinese)

[6] Zhang Xue-gong. Pattern recognition[M]. 3rd ed. Beijing:Tsinghua University Press, 2010.(in Chinese)

[7] Hbase-transactional-tableindexed[EB/OL].[2002-10-26]. h-ttps://github.com/hbase-trx/hbase-transactional-tableindexed.

[8] Meng Bi-ping, Wang Teng-jiao, Li Hong-yan, et al. Regional bitmap index:A secondary index for data management in could computing environment[J]. Chinese Journal of Computers,2012,35(11):2306-2316.(in Chinese)

[9] Wang Ming-yan. Keyword and key concept extraction technique based on web page[D]. Beijing:Beijing University of Technology,2003.(in Chinese)

[10] Jiang Xiao-ping, Li Cheng-hua, Xiang Wen, et al. Parallel implementingk-means clustering algorithm using MapReduce programming mode[J]. Journal of Huazhong University of Science and Technology(Natural Science Edition),2011,39( Sup Ⅰ):120-124.(in Chinese)

[11] Yu Ge, Gu Yu, Bao Yu-bin, et al. Large scale graph data processing on cloud computing environments[J]. Chinese Journal of Computers,2011,34(10):1753-1767.(in Chinese)

[12] He Yun-feng, Yu Jun-qing, Tang Jiu-fei, et al. Video data organization and management based on MPEG-7[J]. Journal of Wuhan University(Natural Science Edition),2010, 56(6):711-716.(in Chinese)

附中文參考文獻(xiàn):

[5] 錢愛兵.基于主題的網(wǎng)絡(luò)輿情分析模型及其實(shí)現(xiàn)[J]. 情報(bào)分析與研究, 2008(4):49-55.

[6] 張學(xué)工.模式識(shí)別[M].第3版. 北京:清華大學(xué)出版社,2010.

[8] 孟必平,王騰蛟,李紅燕,等. 分片位圖索引:一種使用于云數(shù)據(jù)管理的輔助索引機(jī)制[J]. 計(jì)算機(jī)學(xué)報(bào), 2012,35(11):2306-2316.

[9] 王明燕,基于WEB頁面的關(guān)鍵詞與關(guān)鍵概念提取技術(shù)[D]. 北京:北京工業(yè)大學(xué), 2003.

[10] 江小平,李成華,向文,等.k-means聚類算法的MapReduce并行化實(shí)現(xiàn)[J]. 華中科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,(Sup Ⅰ)39:120-124.

[11] 于戈,谷峪,鮑玉斌,等. 云計(jì)算環(huán)境下的大規(guī)模圖數(shù)據(jù)處理技術(shù)[J].計(jì)算機(jī)學(xué)報(bào),2011,34(10):1753-1767.

[12] 何云峰,于俊清,唐九飛,等. 基于MPEG-7的視頻數(shù)據(jù)組織與管理[J]. 武漢大學(xué)學(xué)報(bào)(理學(xué)版) ,2010,56(6):711-716.

LUO Fang,born in 1989,MS candidate,her research interests include cloud storage, and big data.

An associated storage and retrieval system of massive Web data based on multi-attributes

LUO Fang1,LI Chun-hua1,ZHOU Ke1,HUANG Yong-feng2,LIAO Zheng-shuang1
(1.School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074;2.Department of Electronic Engineering,Tsinghua University,Beijing 100084,China)

Traditional Web Retrievals commonly use the full-text search method which has good flexibility. However, as the analysis of public opinion usually needs relative information of web attributes and statistics, the traditional retrieval method can not satisfy it well. An associated storage and retrieval system based on the Hadoop platform is designed and implemented, which can offer good basic service for the analysis of public opinion. Firstly, the associated storage of web data based on HDFS is realized by machine learning. Secondly, the problem of small files storage together with the access efficiency of associated data is solved. Thirdly, the mapping between original web data and the extracted attributes is established. Finally, the retrieval of dynamic multiple attributes based on the existed indexing on HBase and the distributed local indexing are realized.

category storage;multi-conditions selectable query;associated mapping;secondary indexing

2013-06-08;

2013-10-20

國家863計(jì)劃資助項(xiàng)目(2012AA011004);清華大學(xué)自主科研項(xiàng)目基金(20111081023)

1007-130X(2014)03-0404-07

TP391.3

A

10.3969/j.issn.1007-130X.2014.03.005

羅芳(1989-),女,安徽郎溪人,碩士生,研究方向?yàn)樵拼鎯?chǔ)和大數(shù)據(jù)。E-mail:fsailuo@gmail.com

通信地址:430074 湖北省武漢市華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院

Address:School of Computer Science and Technology,Huazhong University of Science and Technology,Wuhan 430074,Hubei,P.R.China

猜你喜歡
屬性數(shù)據(jù)網(wǎng)頁分布式
基于GIS的房產(chǎn)測繪管理信息系統(tǒng)架構(gòu)研究
無源多傳感器綜合數(shù)據(jù)關(guān)聯(lián)算法研究
屬性數(shù)據(jù)分析教學(xué)改革初探
基于CSS的網(wǎng)頁導(dǎo)航欄的設(shè)計(jì)
分布式光伏熱錢洶涌
分布式光伏:爆發(fā)還是徘徊
基于URL和網(wǎng)頁類型的網(wǎng)頁信息采集研究
網(wǎng)頁制作在英語教學(xué)中的應(yīng)用
基于DDS的分布式三維協(xié)同仿真研究
10個(gè)必知的網(wǎng)頁設(shè)計(jì)術(shù)語