分布式索引的生成方法及裝置的制造方法
【技術領域】
[0001]本發(fā)明涉及通信領域,具體而言,涉及一種分布式索引的生成方法及裝置。
【背景技術】
[0002]隨著云時代的來臨,大數(shù)據(jù)(Big data)也吸引了越來越多的關注。大數(shù)據(jù)通常用來形容一個公司創(chuàng)造的大量非結構化和半結構化數(shù)據(jù),這些數(shù)據(jù)在下載到關系型數(shù)據(jù)庫用于分析時會耗費過多的時間和金錢。大數(shù)據(jù)分析常與云計算聯(lián)系到一起,因為實時的大型數(shù)據(jù)集分析需要像MapReduce —樣的框架來向數(shù)十、數(shù)百或甚至數(shù)千的電腦分配工作。而大數(shù)據(jù)在互聯(lián)網(wǎng)行業(yè)通常指代這樣一種現(xiàn)象:互聯(lián)網(wǎng)公司在日常運營中生成、累積的用戶網(wǎng)絡行為數(shù)據(jù)。這些數(shù)據(jù)的規(guī)模是如此龐大,以至于無法采用G或T來衡量。
[0003]大數(shù)據(jù)到底有多大?僅通過一天的時間,互聯(lián)網(wǎng)產(chǎn)生的全部內(nèi)容即可刻滿1.68億張DVD ;發(fā)送的郵件量可以達到2940億封之多;發(fā)出的社區(qū)帖子能夠達到200萬個;銷售的手機為37.8萬臺……
[0004]截止至2012年,數(shù)據(jù)量已經(jīng)從TB (1TB=1024GB)級別躍升到PB (1PB=1024TB)、EB(1EB=1024PB)乃至ZB (1ZB=1024EB)級別。國際數(shù)據(jù)公司(IDC)的研究結果表明,2008年全球產(chǎn)生的數(shù)據(jù)量為0.49ZB, 2009年全球產(chǎn)生的數(shù)據(jù)量為0.8ZB, 2010年全球產(chǎn)生的數(shù)據(jù)量增長為1.2ZB,而2011年全球產(chǎn)生的數(shù)據(jù)量更是高達1.82ZB,相當于全球每人產(chǎn)生200GB以上的數(shù)據(jù)。到2012年為止,人類生產(chǎn)的所有印刷材料的數(shù)據(jù)量是200PB,全人類歷史上說過的所有話的數(shù)據(jù)量大約是5EB。IBM的研究表明,整個人類文明所獲得的全部數(shù)據(jù)中,有90%是過去兩年內(nèi)產(chǎn)生的。而到了 2020年,全世界所產(chǎn)生的數(shù)據(jù)規(guī)模將達到今天的44倍。
[0005]目前,在大數(shù)據(jù)時代,如何從大數(shù)據(jù)中快速有效地搜索出用戶所關心的數(shù)據(jù)已經(jīng)成為日趨重要的問題。高效快速的創(chuàng)建索引是用戶進行搜索的前提,而相關技術中通常采用的創(chuàng)建索引的技術方案均為單線程的,在面對海量數(shù)據(jù)時存在性能瓶頸,由于對系統(tǒng)要求較高,并且系統(tǒng)擴展能力有限,其已經(jīng)無法滿足用戶在海量數(shù)據(jù)中快速有效地進行數(shù)據(jù)檢索的需求。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供了一種分布式索引的生成方法及裝置,以至少解決相關技術中無法對海量數(shù)據(jù)創(chuàng)建高效快速的索引的問題。
[0007]根據(jù)本發(fā)明的一個方面,提供了一種分布式索引的生成方法。
[0008]根據(jù)本發(fā)明的分布式索引的生成方法包括:根據(jù)原始數(shù)據(jù)的數(shù)據(jù)量確定Hadoop中的映射(map)作業(yè)的數(shù)量;將經(jīng)過各個map作業(yè)處理后的數(shù)據(jù)分配至多個規(guī)約(reduce)作業(yè),并生成與每個reduce作業(yè)對應的索引庫,其中,reduce作業(yè)的數(shù)量以及每個reduce作業(yè)與一個或多個map作業(yè)之間的對應關系均為預先配置完成的;對與每個reduce作業(yè)對應的索引庫進行合并。
[0009]優(yōu)選地,生成與每個reduce作業(yè)對應的索引庫包括:獲取當前支持的文件系統(tǒng)的類型;根據(jù)文件系統(tǒng)的類型確定與每個reduce作業(yè)對應的索引庫的生成方式;按照生成方式生成與每個reduce作業(yè)對應的索引庫。
[0010]優(yōu)選地,按照生成方式生成與每個reduce作業(yè)對應的索引庫包括:當文件系統(tǒng)的類型為Hadoop分布式文件系統(tǒng)(HDFS)時,在本地磁盤中生成與每個reduce作業(yè)對應的索引庫,然后將在本地磁盤中生成的索引庫均上傳至HDFS ;或者,當文件系統(tǒng)的類型為除HDFS之外的其余支持共享的分布式文件系統(tǒng)(DFS)時,直接在其余支持共享的DFS中生成與每個reduce作業(yè)對應的索引庫。
[0011]優(yōu)選地,對與每個reduce作業(yè)對應的索引庫進行合并包括:當文件系統(tǒng)的類型為HDFS時,將HDFS中的與每個reduce作業(yè)對應的索引庫下載至本地磁盤;在本地磁盤對與每個reduce作業(yè)對應的索引庫進行合并;將合并后得到的索引庫上傳至HDFS,并將本地磁盤中的與每個reduce作業(yè)對應的索引庫進行刪除。
[0012]優(yōu)選地,對與每個reduce作業(yè)對應的索引庫進行合并包括:當文件系統(tǒng)的類型為其余支持共享的DFS時,對其余支持共享的DFS中生成的與每個reduce作業(yè)對應的索引庫進行合并;將其余支持共享的DFS中生成的與每個reduce作業(yè)對應的索引庫進行刪除。
[0013]根據(jù)本發(fā)明的另一方面,提供了一種分布式索引的生成裝置。
[0014]根據(jù)本發(fā)明的分布式索引的生成裝置包括:確定模塊,用于根據(jù)原始數(shù)據(jù)的數(shù)據(jù)量確定Hadoop中的映射map作業(yè)的數(shù)量;生成模塊,用于將經(jīng)過各個map作業(yè)處理后的數(shù)據(jù)分配至多個規(guī)約reduce作業(yè),并生成與每個reduce作業(yè)對應的索引庫,其中,reduce作業(yè)的數(shù)量以及每個reduce作業(yè)與一個或多個map作業(yè)之間的對應關系均為預先配置完成的;合并模塊,用于對與每個reduce作業(yè)對應的索引庫進行合并。
[0015]優(yōu)選地,生成模塊包括:獲取單元,用于獲取當前支持的文件系統(tǒng)的類型;確定單元,用于根據(jù)文件系統(tǒng)的類型確定與每個reduce作業(yè)對應的索引庫的生成方式;生成單元,用于按照生成方式生成與每個reduce作業(yè)對應的索引庫。
[0016]優(yōu)選地,生成單元,用于當文件系統(tǒng)的類型為Hadoop分布式文件系統(tǒng)HDFS時,在本地磁盤中生成與每個reduce作業(yè)對應的索引庫,然后將在本地磁盤中生成的索引庫均上傳至HDFS ;或者,生成單元,用于當文件系統(tǒng)的類型為除HDFS之外的其余支持共享的分布式文件系統(tǒng)DFS時,直接在其余支持共享的DFS中生成與每個reduce作業(yè)對應的索引庫。
[0017]優(yōu)選地,合并模塊包括:下載單元,用于當文件系統(tǒng)的類型為HDFS時,將HDFS中的與每個reduce作業(yè)對應的索引庫下載至本地磁盤;第一合并單元,用于在本地磁盤對與每個reduce作業(yè)對應的索引庫進行合并;第一處理單元,用于將合并后得到的索引庫上傳至HDFS,并將本地磁盤中的與每個reduce作業(yè)對應的索引庫進行刪除。
[0018]優(yōu)選地,合并模塊包括:第二合并單元,用于當文件系統(tǒng)的類型為其余支持共享的DFS時,對其余支持共享的DFS中生成的與每個reduce作業(yè)對應的索引庫進行合并;第二處理單元,用于將其余支持共享的DFS中生成的與每個reduce作業(yè)對應的索引庫進行刪除。
[0019]通過本發(fā)明實施例,采用根據(jù)原始數(shù)據(jù)的數(shù)據(jù)量確定Hadoop中的map作業(yè)的數(shù)量;將經(jīng)過各個map作業(yè)處理后的數(shù)據(jù)分配至多個reduce作業(yè),并生成與每個reduce作業(yè)對應的索引庫,該reduce作業(yè)的數(shù)量以及每個reduce作業(yè)與一個或多個map作業(yè)之間的對應關系均為預先配置完成的;對與每個reduce作業(yè)對應的索引庫進行合并,即通過采用Hadoop中的map作業(yè)和reduce作業(yè)對原始數(shù)據(jù)進行處理,生成與每個reduce作業(yè)對應的索引庫,然后對與每個reduce作業(yè)對應的索引庫進行合并,由此解決了相關技術中無法對海量數(shù)據(jù)創(chuàng)建高效快速的索引的問題,進而實現(xiàn)了對海量數(shù)據(jù)高效地、快速地進行索引。
【附圖說明】
[0020]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0021]圖1是根據(jù)本發(fā)明實施例的分布式索引的生成方法的流程圖;
[0022]圖2是根據(jù)本發(fā)明優(yōu)選實施例的分布式索引的生成方法的流程圖;
[0023]圖3是根據(jù)本發(fā)明實施例的分布式索引的生成裝置的結構框圖;
[0024]圖4是根據(jù)本發(fā)明優(yōu)選實施例的分布式索引的生成裝置的結構框圖。
【具體實施方式】
[0025]下文中將參考附圖并結合實施例來詳細說明本發(fā)明。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。
[0026]圖1是根據(jù)本發(fā)明實施例的分布式索引的生成方法的流程圖。如圖1所示