freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于hadoop平臺的教育資源垂直搜索系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文-資料下載頁

2025-07-01 20:21本頁面

【導(dǎo)讀】本人授權(quán)江蘇大學(xué)可以將本學(xué)位論文的全部內(nèi)容或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫。進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本學(xué)位論文。保密,在年解密后適用本授權(quán)書。師的指導(dǎo)下進(jìn)行的研究工作及取得的成果。盡我所知,除文中特別加。而使用過的材料。均已在文中作了明確的說明并表示了謝意。究所取得的研究成果。除了文中特別加以標(biāo)注引用的內(nèi)容外,本論文。不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫的成果作品。究做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。全意識到本聲明的法律后果由本人承擔(dān)。同意學(xué)校保留并向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。涉密論文按學(xué)校規(guī)定處理?;ヂ?lián)網(wǎng)的出現(xiàn)改變了我們的生活、工作、學(xué)習(xí)乃至娛樂的方式。以提高用戶獲取教育資源信息的速度和準(zhǔn)確度。

  

【正文】 ockreport包括了某個 Datanode所有的數(shù)據(jù)塊列表。每個 block都有指定的最小數(shù)目的副本。當(dāng) Namenode檢測確認(rèn)某個 Datanode的數(shù)據(jù)塊副本的最小數(shù)目,那么該 Datanode就會被認(rèn)為是安全的;如果一定百分比(這個參數(shù)可江蘇大學(xué)碩士研究生畢業(yè)論文 15 配置)的數(shù)據(jù)塊檢測確認(rèn)是安全的,那么 Namenode將退出 SafeMode狀態(tài),接下來它會確定還有哪些 數(shù)據(jù)塊的副本沒有達(dá)到指定數(shù)目,并將這些 block復(fù)制到其他Datanode。 數(shù)據(jù)組織 HDFS支持海量文件處理。應(yīng)用程序可以處理大數(shù)據(jù)集。這些程序一次寫入數(shù)據(jù)多次讀取,因此需要一個比較好的流讀取速度。 HDFS典型的塊大小是 64M,一個 HDFS文件可以最多被切分成 128MB個塊,每一個塊分布在不同的數(shù)據(jù)節(jié)點(diǎn)上。 客戶端請求創(chuàng)建文件時,并不立即請求名字節(jié)點(diǎn)。 HDFS客戶端在本地的文件中緩存文件數(shù)據(jù),應(yīng)用程序?qū)?shù)據(jù)寫到這個臨時的本地文件。當(dāng)本地文件堆積到大于 HDFS塊大小的時候,客戶端聯(lián)系名字節(jié) 點(diǎn)。名字節(jié)點(diǎn)插入文件名到文件系統(tǒng)層次當(dāng)中,然后分配一個數(shù)據(jù)塊。名字節(jié)點(diǎn)把請求包括數(shù)據(jù)節(jié)點(diǎn) (可能多個 )的標(biāo)識和目標(biāo)數(shù)據(jù)塊反饋給客戶端,客戶端再將本地的臨時文件轉(zhuǎn)移到數(shù)掘節(jié)點(diǎn)數(shù)據(jù)塊中。當(dāng)文件關(guān)閉,還有一些沒有刷新的本地臨時文件也被傳遞到數(shù)據(jù)節(jié)點(diǎn)??蛻舳穗S后通知名字節(jié)點(diǎn),這個文件已經(jīng)關(guān)閉。假如名字節(jié)點(diǎn)在文件關(guān)閉之前死掉,文件就會丟失 [182]。 數(shù)據(jù)塊 兼容 HDFS的應(yīng)用都是處理大數(shù)據(jù)集合的。這些應(yīng)用都是寫數(shù)據(jù)一次,讀卻是一次到多次,并且讀的速度要滿足流式讀。 HDFS支持文件的 write oncereadmany語義。一個典型的 block大小是 64MB,因而,文件總是按照 64M切分成 chunk,每個 chunk存儲于不同的 Datanode。 步驟 某個客戶端創(chuàng)建文件的請求其實并沒有立即發(fā)給 Namenode,事實上, HDFS客戶端會將文件數(shù)據(jù)緩存到本地的一個臨時文件。應(yīng)用的寫被透明地重定向到這個臨時文件。當(dāng)這個臨時文件累積的數(shù)據(jù)超過一個 block的大?。J(rèn) 64M),客戶端才會聯(lián)系 Namenode。 Namenode將文件名插入文件系統(tǒng)的層次結(jié)構(gòu)中,并且分配一個數(shù)據(jù)塊給它,然后返回 Datanode的標(biāo)識 符和目標(biāo)數(shù)據(jù)塊給客戶端??蛻舳藢⒈镜嘏R時文件 flush到指定的 Datanode上。當(dāng)文件關(guān)閉時,在臨時文件中剩余的沒有 flush的數(shù)據(jù)也會傳輸?shù)街付ǖ?Datanode,然后客戶端告訴 Namenode文件已經(jīng)關(guān)閉。此時 Namenode才將文件創(chuàng)建操作提交到持久存儲。如果 Namenode在文件關(guān)閉前掛了,該文件將丟失 [1820]。 江蘇大學(xué)碩士研究生畢業(yè)論文 16 上述方法是對通過對 HDFS上運(yùn)行的目標(biāo)應(yīng)用認(rèn)真考慮的結(jié)果。如果不采用客戶端緩存,由于網(wǎng)絡(luò)速度和網(wǎng)絡(luò)堵塞會對吞估量造成比較大的影響。 流水線復(fù)制 當(dāng)某個客戶端向 HDFS文件寫數(shù) 據(jù)的時候,一開始是寫入本地臨時文件,假設(shè)該文件的 replication因子設(shè)置為 3,那么客戶端會從 Namenode 獲取一張Datanode列表來存放副本。然后客戶端開始向第一個 Datanode傳輸數(shù)據(jù),第一個Datanode一小部分一小部分( 4kb)地接收數(shù)據(jù),將每個部分寫入本地倉庫,并且同時傳輸該部分到第二個 Datanode節(jié)點(diǎn)。第二個 Datanode也是這樣,邊收邊傳,一小部分一小部分地收,存儲在本地倉庫,同時傳給第三個 Datanode,第三個Datanode就僅僅是接收并存儲了。這就是流水線式的復(fù)制 。 Map/Reduce技術(shù) 主要操作實現(xiàn) 1) Map 操作 Map操作是并行的,所以輸入文件先被劃分為幾個“文件片斷 。如果單個文件的大小達(dá)到了影響搜索時間的程度,這個文件也會被劃分為幾個“片段”。在文件劃分的時候并不考慮輸入文件的內(nèi)部邏輯結(jié)構(gòu),例如一個按行記錄的文本文件也會被按照二進(jìn)制字節(jié)數(shù)大小進(jìn)行片段劃分。然后,每個“文件片段”會對應(yīng)的創(chuàng)建一個新的 Map任務(wù)。 當(dāng)一個單獨(dú)的 Map任務(wù)開始時,對應(yīng)的都會按照每個 Reduce任務(wù)配置輸出文件寫操作者。然后 Map任務(wù)會使用從指定的 lnputFormat類獲得的 ReeordReader類來讀取它的 FileSplit屬性。 InputFormat類負(fù)責(zé)解析輸入和生成 Key/ Value對。 InputFormat也需要處理達(dá)到 FileSplit邊界值的記錄。例如 TextlnputFormat會讀取超過分割邊界值的 FileSplit的最后一行,當(dāng)讀到其他的非第一個FileSplit時, TextlnputFormat會忽略第一個新行以上部分的內(nèi)容。 對于 InputFormat類來說,沒有必要同時產(chǎn)生有意義的索引鍵和值。例如TextlnputFormat的默認(rèn)輸出包含以輸入行為值以及以毫無意義的行在文件中的偏移量為索引鍵的內(nèi)容。絕大多數(shù)的應(yīng)用僅僅使用行的內(nèi)容而忽略行在文件中的偏移量。 N個輸入文件會產(chǎn)生 M個待運(yùn)行的 Map任務(wù),每個 Map任務(wù)都會產(chǎn)生由系統(tǒng)配置江蘇大學(xué)碩士研究生畢業(yè)論文 17 好的規(guī)約任務(wù)數(shù)量相同的輸出文件。每個輸出文件對應(yīng)一個規(guī)約任務(wù),所有 Map對象的輸出鍵值對都會被路由以保證每一個給定的索引鍵的所有鍵值對會最終出現(xiàn)在指定的一個 Reduce任務(wù)中。 2) Combine 操作 當(dāng) Map操作輸出了它的 Key/Value對后就會駐留在內(nèi)存中。由于效率的原因,有時需要充分利用這個事實的優(yōu) 點(diǎn)去提供一個執(zhí)行規(guī)約類型功能的 Combiner類。如果使用了一個 Combiner類,則映射過程產(chǎn)生的 Key/ Value對就不會立刻寫到輸出。與此相反的是,輸出會先被收集到列表,每個索引鍵對應(yīng)一個列表。當(dāng)一定數(shù)量的鍵值對被寫入時,這個緩沖區(qū)里的所有鍵值對會被清空轉(zhuǎn)移到 Combiner類的 Reduce方法中,然后將合并操作產(chǎn)生的鍵值對像原有的 Map操作一樣輸出。 3) Reduce 操作 當(dāng)一個 Reduce任務(wù)開始時,它的輸入來源于分散在多個節(jié)點(diǎn)上的 Map任務(wù)所產(chǎn)生的許多文件。如果 Reduce過程是運(yùn)行在分布式模式下的 話,需要在拷貝階段先將這些文件拷貝到 Reduce任務(wù)所在節(jié)點(diǎn)的本地文件系統(tǒng)。 一旦本地數(shù)據(jù)準(zhǔn)備就緒所有的數(shù)據(jù)都會以追加到文件最后。然后這個文件會被歸并排序以保證給定一個索引鍵。這使得實際的 Reduce操作非常簡單:文件被順序讀入然后輸入文件中的一個索引鍵的所有對應(yīng)值會被一個迭代器順次傳遞給 Reduce方法直到下一個索引鍵開始。最后,每個執(zhí)行的 Reduce任務(wù)的輸出都會包含一個輸出文件。輸出文件的格式由 JobConf. setOutputFormat方法來指定。如果使用了 SequentialOutputFormat類,則輸出索引鍵和索引鍵對應(yīng)值得類型都必須指定 [2124]。 Map/Reduce 執(zhí)行流程 Map/Reduce的系統(tǒng)執(zhí)行流程如圖 ,從數(shù)據(jù)流的角度展示了Map/Reduce算法模型。下面詳細(xì)講解一下每一個步驟的作用: 江蘇大學(xué)碩士研究生畢業(yè)論文 18 圖 操作流程圖 1. 分割文件 (fork) 首先,將眾多文件分成大小不等的若干小塊數(shù)據(jù),數(shù)據(jù)塊大小由用戶給定參數(shù)控制,然后啟動機(jī)器集群中的眾多程序拷貝。 2. 指派 Map/Reduce 任務(wù) 在眾多程序拷貝中有一個管理機(jī) (master)的主程序,其他的均為工作站(worker)程序,工作站程序有管理機(jī)指派任務(wù)。主程序指派空閑的工作站程序執(zhí)行 Map任務(wù)或是 Reduce任務(wù)。 3. 讀取 (read) 被指派執(zhí)行 Map任務(wù)的工作站讀取相關(guān)的數(shù)據(jù)塊,從原始數(shù)據(jù)中解析出Key/Value對,經(jīng)過 Map函數(shù)處理,得到中問鍵值時,存入內(nèi)存緩沖區(qū)。 4. 本地寫 A,(10cal write) 內(nèi)存中的數(shù)據(jù)組被劃分函數(shù)周期性的劃分到 R個區(qū)域?qū)懭氡镜卮疟P。這些在本地磁盤的數(shù)據(jù)數(shù)列的存放位置信息被送回管理機(jī),管理機(jī)負(fù)責(zé)將這些位置信息傳送到執(zhí)行 Reduce任務(wù)的工作站。 5. 遠(yuǎn)程讀取 (remote read) 當(dāng)執(zhí)行 Reduce任務(wù)的工作站被告知這些數(shù)據(jù)的位置,它通過遠(yuǎn)程方式讀耿執(zhí)行 Map任務(wù)的工作站中的本地緩沖數(shù)據(jù)。 Reduce工作站讀取完所有中問數(shù)據(jù)后,江蘇大學(xué)碩士研究生畢業(yè)論文 19 通過中問關(guān)鍵字對數(shù)據(jù)進(jìn)行排列,把具有相同關(guān)鍵字的數(shù)據(jù)分為一類。排序操作是必須的,因為具有不同的關(guān)鍵字 Map后會進(jìn)行相同的 Reduce操作。如果中間數(shù)據(jù)的數(shù)量太大不適合存入內(nèi)存,就啟用外部存儲。 6. 寫到輸出文件 (write) Reduce工作站對每一個由唯一的中間關(guān)鍵字對應(yīng)的中間數(shù)據(jù)進(jìn)行排列,它發(fā)送關(guān)鍵字和相對應(yīng)的中間值給用戶的 Reduce函數(shù)。 Reduce函 數(shù)的輸出結(jié)果將被添加到最后的輸出文件中。 當(dāng)所有的 Map任務(wù)和 Reduce任務(wù)都已經(jīng)完成了的時候, Master激活用戶程序。在這時候 Map/Reduce返回用戶程序的調(diào)用點(diǎn)。 基于 Hadoop 的 MDVSP 平臺的多層分布式架構(gòu) 系統(tǒng)體系結(jié)構(gòu) 圖 在前面理論分析的基礎(chǔ)上我們可以得出,對于本系統(tǒng)我們可以采用 B/S 結(jié)構(gòu)比較好。如圖 所示,在 Browser/Server 三層體系結(jié)構(gòu)下,表示層、邏輯層、數(shù)據(jù)存儲層被分割成三個相對獨(dú)立的單元,有效地實現(xiàn)了數(shù)據(jù)存儲、功能邏輯與用戶 使用界面的分離,并真正實現(xiàn)了顯示、計算、數(shù)據(jù)的分離。如此設(shè)計可 以大江蘇大學(xué)碩士研究生畢業(yè)論文 20 以大大減輕網(wǎng)站服務(wù)器的網(wǎng)站,而且使他們之間互相不影響,既較好兼顧了用戶的查詢效率,同時也可以專門設(shè)計網(wǎng)頁的采集與分析時間,保證系統(tǒng)的工作效率和利用率。 表示層:表示層用于生成用戶訪問的 Web 頁面,該層是用來實現(xiàn)系統(tǒng)與用戶的一個人機(jī)接口。 邏輯層:這一層是非常重要也是非常關(guān)鍵的一層,因為他是真正意義上實現(xiàn)用戶層與數(shù)據(jù)存儲計算的紐帶。在這一層里我們利用相應(yīng)的代碼實現(xiàn)前面設(shè)計好的一些關(guān)鍵算法。所以說該層的設(shè)計是實現(xiàn)系統(tǒng)健壯性、可重用性、可擴(kuò)展性和可 維護(hù)性的關(guān)鍵因素。 數(shù)據(jù)存儲計算層:該層的實現(xiàn)是由 Hadoop平臺實現(xiàn)。存儲數(shù)據(jù)庫選用 Hadoop組件中的 HBase,由圖 底層結(jié)構(gòu)化數(shù)據(jù),數(shù)據(jù)存儲層主要包括兩個大規(guī)模的數(shù)據(jù)庫,一是面向爬蟲所得頁面與抽取信息的寫入,二是面向客戶查詢的信息的讀取。在 Hadoop 平臺中我們選擇多個數(shù)據(jù)節(jié)點(diǎn)即 DataNode,用于提高存儲 Capacity 和計算效率。 MDVSP平臺數(shù)據(jù)處理模型整體框架 因為 MDVSP 是基于 Inter 的 B/S 結(jié)構(gòu)的 Web 服務(wù),而且采用了多層結(jié)構(gòu)來設(shè)計,所以這就決定了數(shù)據(jù)處理模型相對較復(fù)雜,如圖 所示。 圖 數(shù)據(jù)處理模型框架 江蘇大學(xué)碩士研究生畢業(yè)論文 21 數(shù)據(jù)處理模型中所有的業(yè)務(wù)計算都在 Hadoop 平臺上,利用 Map/Reduce 技術(shù)計算,查詢用戶數(shù)據(jù)、更新聚焦爬蟲數(shù)據(jù)。用戶上傳的視頻、音頻等數(shù)據(jù)存放在存儲設(shè)備中。為了提高用戶的訪問速度,在 Web 服務(wù)器前端假設(shè)了負(fù)載均衡設(shè)備,提高 Webserver 的吞吐能力?;?Hadoop 平臺的業(yè)務(wù)數(shù)據(jù)并行計算,將在后面章節(jié)詳細(xì)展開論述。 MDVSP平臺數(shù)據(jù)在 HDFS中存放結(jié)構(gòu) 為了讓用戶自己上傳 的數(shù)據(jù)能快速、準(zhǔn)確查詢到,我們把爬蟲的數(shù)據(jù)與用戶上傳的數(shù)據(jù)分開。用戶上傳數(shù)據(jù)的優(yōu)先級大于爬蟲優(yōu)先級,客戶端查詢的時候返回結(jié)果也采用相同的處理優(yōu)先級,見圖 圖 數(shù)據(jù)存放目錄結(jié)構(gòu) MDVSP通信數(shù)據(jù)模型設(shè)計 數(shù)據(jù)模型分析 從前面提到的可以看出 Hbase 分布式數(shù)據(jù)庫數(shù)據(jù)存儲具有一定的哈希性質(zhì),非常適合處理 Key/ Value 類型的數(shù)據(jù),以及結(jié)構(gòu)稀疏的大規(guī)模數(shù)據(jù)。但它不適合于處理關(guān)系型很強(qiáng)的結(jié)構(gòu)化數(shù)據(jù),因為它本身并不是完全的關(guān)系型數(shù)據(jù)。 Hbase本身不保證數(shù)據(jù)的一致性,提供的查詢機(jī) 制也比較簡單。但是 Hbase 在大規(guī)模數(shù)江蘇大學(xué)碩士研究生畢業(yè)論文 22 據(jù) (TB 級 )的存儲和處理方面上有獨(dú)特的優(yōu)勢。它不建議用戶經(jīng)常修改數(shù)據(jù)?!耙淮螌懭?,多次讀取”是 Hbase 數(shù)據(jù)庫最大的特色。而這種特色正好滿足分析系統(tǒng)的要求。聚焦爬蟲每天都會獲取龐大的數(shù)據(jù)量,以單臺爬蟲服務(wù)器單線程為例,每天至少 30G 的數(shù)據(jù)量,如果多臺爬蟲服務(wù)器并行,那么數(shù)據(jù)量有肯能達(dá)到 TB級別。數(shù)據(jù)查詢或者數(shù)據(jù)傳輸任何一個地方存在瓶頸就會造成分析結(jié)果的低效或者失敗。在設(shè)計系統(tǒng)數(shù)據(jù)模型之前,我們先分析一下 MDVSP 業(yè)務(wù)處理的需求。爬蟲數(shù)據(jù)經(jīng)過主題過濾、分類后的格式主要包括 : TraceID:爬行后產(chǎn)生的唯一 ID號。 Type:爬行數(shù)據(jù)的類型,這個決定了后臺服務(wù)器如何處理爬行到的原始數(shù)據(jù)。URL:記錄原始數(shù)據(jù)的位置 [2526]。 數(shù)據(jù)模型設(shè)計 Hbase 是一個稀疏的,排序的,長期存儲在硬盤上的,多維度的,映射表。這張表的索引是行關(guān)鍵字,列關(guān)鍵字和時間戳。每個值是一個不解釋的字符數(shù)組,數(shù)據(jù)都是字符串。用戶在表格中存儲數(shù)據(jù),每一行都有一個可排序的主鍵和任意多的列。由于是稀疏存儲的,所以同一張表的每一行數(shù)據(jù)都可以有截然不同的列。列名字的格式是” family: label”,都是由字符串組成,每一張表有一個family
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1