吳雪琴 舒曉苓
摘要:隨著云計算的快速發(fā)展,信息呈現(xiàn)爆炸式增長。廉價的云存儲和計算能力,加速了大數(shù)據(jù)的產(chǎn)生,也使得解決大數(shù)據(jù)的信息收集和信息檢索成為必然。大數(shù)據(jù)超過50%是非結構化數(shù)據(jù),所以它們絕大部分以文件的形式存儲。大數(shù)據(jù)被分成許多塊存儲在塊服務器中,同時也產(chǎn)生存儲在主服務器上的相應元數(shù)據(jù)。該文就如何收集大數(shù)據(jù)的web-url及關鍵詞,又如何檢索其中的信息,作了探討。
關鍵詞:云計算;大數(shù)據(jù);信息收集;檢索機制
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)10-2388-03
Abstract: With the rapid development of cloud computing, information increases rapidly. Cheap cloud storage and computing accelerates the datas generation. It also makes that the solution to large data information collection and information retrieval has become inevitable. Over 50 percent of large data is non-structured, so the majority of them are stored as files. Big data is divided into many blocks stored in a block server. And at the same time it also generates the corresponding metadata stored on the master server. This article discussed on how to collect web-url and its keyword of big data and how to retrieve its information.
Key words: cloud computing; big data; information collection; retrieval mechanism
隨著云服務的快速增長,越來越多的個人和企業(yè)把業(yè)務遷移到在線應用。在線的貿(mào)易,社交網(wǎng)絡,自動傳感系統(tǒng),移動設備的應用,以及科學儀器的使用等產(chǎn)生了大量的數(shù)據(jù)。其中社交網(wǎng)絡(音頻、視頻和圖片等)和電子商務的應用使得數(shù)據(jù)增長極為迅速,這些數(shù)據(jù)可能需要用GB、TB、PB,EB, 甚至 ZB才能描述。那么什么是大數(shù)據(jù)呢?云計算如何正確地處理它呢?如何從這些海量的數(shù)據(jù)中獲取有用的信息呢?如果能從這些信息中獲取日常生活必要的有用信息,無疑將極大便利整個人類社會。那么大數(shù)據(jù)也將具有巨大的價值。因此,對云計算中大數(shù)據(jù)的信息收集和信息檢索將會成為一個熱點。
1 大數(shù)據(jù)的存儲特征及元數(shù)據(jù)
大數(shù)據(jù)是隨著云計算的超級計算能力而產(chǎn)生的。大數(shù)據(jù)指的是:大量的結構化和半結構化的數(shù)據(jù)。它有四個特征。首先,體積大(Volume),第二是數(shù)據(jù)類型的多樣化(Variety),第三是價值密度低(Value),第四是有快速處理的能力(Velocity)。大數(shù)據(jù)的這四個特征表明了他們的存儲、收集和檢索有別于傳統(tǒng)的方式。
如果用傳統(tǒng)的關系數(shù)據(jù)庫保存大數(shù)據(jù),那么既耗時又耗錢,實現(xiàn)起來相當麻煩。超過50%的大數(shù)據(jù)是非結構化的數(shù)據(jù),它是以文件形式存儲的。目前,基于云計算的集群文件系統(tǒng)已成為了大數(shù)據(jù)的傳輸中心了?,F(xiàn)在,云計算中的文件系統(tǒng)的存儲技術主要有GFS和HDFS,以下GFS [1] 系統(tǒng)闡釋了大數(shù)據(jù)的存儲機制,如圖1所示。
集群文件系統(tǒng)的基本思想是:一個大數(shù)據(jù)文件被劃分成許多塊。塊數(shù)據(jù)存儲在塊服務器中,每個塊有相應的元數(shù)據(jù)。元數(shù)據(jù)存儲在主服務器中。主服務器保存元素據(jù)的三種主要類型:文件和塊的命名空間;塊的映射文件;每個塊數(shù)據(jù)備份的位置。以上的元數(shù)據(jù)存儲在主服務器器的存儲器中。命名空間元數(shù)據(jù)被用于維護文件系統(tǒng)的命名空間,通過查詢命名空間能查詢指定的文件和目錄路徑的屬性信息,該路徑指向了相應的內(nèi)容。另一種元數(shù)據(jù)記錄了文件存儲的位置信息,通過查詢該信息,就能知道數(shù)據(jù)塊位置的偏移量。關鍵詞元數(shù)據(jù)被組織成動態(tài)的彈性的索引結果。由于非直接描述的文本信息如果被誤用,將誤導搜索引擎工作。所以很多大公司如谷歌對元數(shù)據(jù)的準確描述相當重視。
2 Web信息收集與信息檢索
價值密度與信息總量的大小成反比。在成千上億,甚至千億的頁面中,滿足自己需求的頁面通常只有幾個至幾千個。例如,一個小時的視頻,有用的數(shù)據(jù)通常只有幾秒。云計算有超強的計算能力,只有通過云數(shù)據(jù)快速地獲得處理結果。云計算如何更迅速地挖掘數(shù)據(jù)的價值是急需解決的問題。
作信息檢索,百度和谷歌等是這行業(yè)方面的領先公司。在基于云計算的大數(shù)據(jù)時代,核心思想仍然借鑒了百度和谷歌搜索引擎的思想?;谠朴嬎愕拇髷?shù)據(jù)信息檢索系統(tǒng)中,信息檢索分為兩個過程:網(wǎng)頁收錄過程和檢索過程。
2.1 收錄網(wǎng)頁
檢索云中的各個服務器,并對各個節(jié)點上的存儲服務器中的數(shù)據(jù)信息進行分析排序,得出“相關度”排在前面的服務器。并對這些存儲服務器進行并行分布式檢索,檢索方式主要有“深度優(yōu)先”、“廣度優(yōu)先”。檢索的結果收錄在Index Repository;網(wǎng)頁收錄在搜索引擎的索引,用戶提出請求的搜索過程實際上是在Index Repository進行搜索。將網(wǎng)頁內(nèi)容與索引詞庫結合網(wǎng)頁的倒排序索引中。其中網(wǎng)頁標題和鏈接數(shù)據(jù)被保存在一個索引中,用于廣度優(yōu)先搜索;網(wǎng)頁內(nèi)容保存在另一個索引中,以用于檢索頻率不高的長尾、個性化、深度優(yōu)先搜索。
檢索云中的各主服務器上的數(shù)據(jù),分析后整理成元數(shù)據(jù)。得出“相關度”排在前面的服務器,并對這些存儲器作并行分布式檢索。檢索方法主要有“深度優(yōu)先”、“廣度優(yōu)先”,檢索的結果收錄在Index Repository中。網(wǎng)頁收錄在搜索引擎的索引,用戶提出請求的搜索過程實際上是在Index Repository進行搜索,如圖2所示。頁面內(nèi)容及按照PageRank算法計算出的倒序索引列表都存儲在索引存儲器中。其中頁面的標題及鏈接數(shù)據(jù)被存儲為一個索引,用于廣度優(yōu)先搜索。網(wǎng)頁內(nèi)容保存在另一個索引中,用于檢索使用率低的長尾、個性化、深度優(yōu)先搜索。
無論是在收錄網(wǎng)頁的過程中,還是用戶提出請求的檢索的過程中,都會用到相關度計算方法。相關度計算方法中各參數(shù)說明:N :表示關鍵詞的總數(shù)量,M表示所有在線資源的總數(shù)量。T={t1,t2,...,tN }表示索引關鍵詞集合。R={r1,r2,...,rN }表示被索引元數(shù)據(jù)資源的集合。TT={t1t1, t1t2,...,tNtN}表示關鍵詞之間的關聯(lián)度。TR={t1t1, t1t2,...,tNtN }表示關鍵詞與元數(shù)據(jù)對于資源的關聯(lián)度。FT:關鍵詞使用的頻率,F(xiàn)R:GFS元數(shù)據(jù)使用的頻率。Ri表關鍵詞ti所標記的在線資源集;Rj表示關鍵詞tj所標記的在線資源集表關鍵詞t所標記的在線資源集。
用戶在查詢時所得到的查詢結果并非是及時的,而是在搜索引擎的緩存區(qū)已經(jīng)大體排好的。雖然索引引擎不會知道用戶會查詢哪些關鍵詞,但為了通過搜索的效率,它建立一個關鍵詞詞庫,當其處理用戶查詢請求的時候,會將其請求按照詞庫進行分詞。分詞后的關鍵詞匹配關鍵詞詞庫,索引引擎緩沖區(qū)。
3 檢索過程
當用戶提出查詢要求,并將關鍵詞提交給檢索代理,檢索代理將檢索關鍵詞發(fā)送給了索引存儲器,將檢索結果重新按相關度進行排序后,傳到用戶檢索界面呈現(xiàn)在用戶面前.大大提高了檢索能力和檢索速度,如圖3所示。
3.1對提交的搜索請求分析
搜索用戶在搜索引擎上鍵入關鍵詞,提交搜索請求,一步一步找到匹配的網(wǎng)頁顯示出來,搜索引擎將會對這次搜索請求進行詳細分析。對搜索請求的詳細分析主要是做分詞處理。
如何分詞?如果是應用請求就按照空格分詞,得到分詞集,排除重復后,就得到了查詢的關鍵詞。如果是中文分詞,就要復雜多了,但對中文用戶是重要的,而且也是必要的,中文分詞采用了以下三種方式:
1)基于字符串匹配
基于字符串的匹配有三種方式:正向最大匹配法、逆向最大匹配法、最少切分。正向最大匹配法是從左到右地將索引問題分詞為一些詞語。逆向最大匹配法是從右到左地將索引問題分詞為一些詞語。最少切分就是將一個個詞組最細化,甚者會一個字地出現(xiàn)。
2) 理解分詞方法
搜索引擎模擬人類的思維去理解句子,進行分詞。詞和表達式進行整合以便于理解?;镜乃枷胧牵涸诜衷~的同時將通過語法和語義分析處理歧義。它通常由三部分組成:分詞子系統(tǒng),語法子系統(tǒng)和語義子系統(tǒng),總控制系統(tǒng)。在總控制系統(tǒng)的協(xié)作下,語義子系統(tǒng)得到詞,句子和其他語義信息。它模擬人類理解句子的方式去工作。
3) 統(tǒng)計分詞方法
相鄰的字同時出現(xiàn)的次數(shù)越多,中文分詞就會可能把出現(xiàn)相鄰的字當成你一個詞。搜索用戶在鍵入關鍵詞時,或多或少會出現(xiàn)不少停止詞,像“的”“嗎”,在進行分詞時,通常會被去掉。
3.2 匹配搜索請求
當搜索引擎接收到搜索請求詳細分析之后,便會匹配URL(當然重點是標題和摘要片段),匹配的URL有成千上萬個,怎樣才能有序顯示出來了,這就需要搜索引擎按URL的匹配程度排序。
系統(tǒng)將網(wǎng)頁的PageRank值與文檔分詞后的信息以及鏈接文件中的網(wǎng)頁描述信息相結合起來確定檢索結果排序的權值,這樣就能客觀地對網(wǎng)頁進行排序,從而極大限度地保障搜索出來的結果與用戶的查詢相一致。PageRank的基本思路是:如果一個網(wǎng)也被其他網(wǎng)頁多次指向,這就說明本網(wǎng)頁比較重要或者質(zhì)量較高。除了考慮網(wǎng)頁鏈接數(shù)量之外,Google還要參考鏈接網(wǎng)頁本身的級別,以及這個網(wǎng)頁有多少正向鏈接到其它網(wǎng)頁。當然“重要”的網(wǎng)頁的鏈接就會有更高的權重。PageRank的簡化計算公式:
4 總結
在大數(shù)據(jù)檢索技術中仍然面臨很多挑戰(zhàn)。比如如何有效地應對多媒體類型—圖形,聲音,視頻等大數(shù)據(jù)的檢索。智能終端越來越普及,如何在這些智能終端應用搜索,獲取相關的應用。如何利用檢索技術做出有價值的信息推薦??傊?,大數(shù)據(jù)的檢索技術的研究仍有很長的路要走。
參考文獻:
[1] Google File System(GFS).http://wenku.baidu.com/view/8a839535ee06eff9aef8074d.html,2012.
[2] 谷歌搜索引擎工作原理簡介.http://wenku.baidu.com/view/ff86db2ced630b1c59eeb56a.html.