【畢業(yè)學(xué)位論文】(Word原稿)分布式JavaScript解析系統(tǒng)的設(shè)計(jì)與構(gòu)建-通信與信息系統(tǒng)_第1頁
【畢業(yè)學(xué)位論文】(Word原稿)分布式JavaScript解析系統(tǒng)的設(shè)計(jì)與構(gòu)建-通信與信息系統(tǒng)_第2頁
【畢業(yè)學(xué)位論文】(Word原稿)分布式JavaScript解析系統(tǒng)的設(shè)計(jì)與構(gòu)建-通信與信息系統(tǒng)_第3頁
【畢業(yè)學(xué)位論文】(Word原稿)分布式JavaScript解析系統(tǒng)的設(shè)計(jì)與構(gòu)建-通信與信息系統(tǒng)_第4頁
【畢業(yè)學(xué)位論文】(Word原稿)分布式JavaScript解析系統(tǒng)的設(shè)計(jì)與構(gòu)建-通信與信息系統(tǒng)_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

碩士學(xué)位論文 分布式 析系統(tǒng)的設(shè)計(jì)與構(gòu)建 S 者: 導(dǎo)師: 北京交通大學(xué) 2016 年 7 月 學(xué)位論文版權(quán)使用授權(quán)書 本學(xué)位論文作者完全了解北京交通大學(xué)有關(guān)保留、使用學(xué)位論文的規(guī)定。特授權(quán)北京交通大學(xué)可以將學(xué)位論文的全部或部分內(nèi)容編 入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,提供閱覽服務(wù) ,并采用影印、縮印或掃描等復(fù)制手段保存、匯編以供查閱和借閱。同意學(xué)校向國家有關(guān)部門或機(jī)構(gòu)送交論文的復(fù)印件和磁盤。 (保密的學(xué)位論文在解密后適用本授權(quán)說明) 學(xué)位論文作者簽名: 導(dǎo)師簽名: 簽字日期: 年 月 日 簽字日期: 年 月 日 i 中圖分類號: 校代碼: 10004 密級: 公開 北京交通大學(xué) 碩 士 學(xué) 位 論 文 分布式 S 者姓名: 學(xué) 號: 導(dǎo)師姓名: 職 稱: 副教授 學(xué)位類別: 工學(xué) 學(xué)位級別: 碩士 學(xué)科專業(yè): 通信與信息系統(tǒng) 研究方向: 計(jì)算機(jī)網(wǎng)絡(luò) 北京交通大學(xué) 2016 年 7 月 謝 論文的撰寫工作即將完成,我的研究生學(xué)習(xí)生活也將結(jié)束,在這兩年半的時(shí)間里,有過迷茫,也有過失落,但是更多的是堅(jiān)持和收獲。這期間我的老師、同學(xué)和家人給予了我莫大的支持和幫助,對我這段時(shí)間的成長產(chǎn)生了積極作用,在此向你們表示由衷的感謝。 首先,我要感謝我的導(dǎo)師沈波副教授,本文是在沈老師的悉心指導(dǎo)下完成的。沈老師的言談舉止、對生活和科研的態(tài)度,使我受益匪淺,對我的學(xué)習(xí)和生活產(chǎn)生了積極的影響。在論文的前期研究階段,沈老師對我的工 作要求極大提高了論文研究的效率。在論文撰寫階段,沈老師提出了很多寶貴的意見,并幫助我解決了研究過程中的很多問題。在此衷心的感謝沈老師在這兩年多的時(shí)間里對我的關(guān)心和指導(dǎo)。 同時(shí),感謝劉云教授和張振江副教授,為我在研究生學(xué)習(xí)期間提供良好的學(xué)習(xí)、科研環(huán)境,讓我參加到實(shí)驗(yàn)室的項(xiàng)目課題中,使我在實(shí)踐項(xiàng)目中快速的提高了自身的科研水平。劉老師和張老師的嚴(yán)格要求,讓我養(yǎng)成了謹(jǐn)慎的工作態(tài)度,對我在今后的工作生活產(chǎn)生了積極的影響。在此向劉老師和張老師表示真誠的感謝。 感謝我的家人,家人為我的學(xué)習(xí)和生活不辭辛勞,我在此向你們表達(dá) 誠摯的謝意,謹(jǐn)以此文獻(xiàn)給我的家人和所有關(guān)心我的親人。北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 中文摘要 文摘要 摘要: 隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)頁的頁面視圖效果越來越美觀,使用的頁面編程技術(shù)也不僅僅局限于 靜態(tài)語言。以 代表的動態(tài)腳本由于其功能強(qiáng)大,使界面觀賞程度高等優(yōu)勢越來越受到開發(fā)者和用戶的青睞。但是由于其編寫復(fù)雜程度比傳統(tǒng)的靜態(tài)網(wǎng)頁技術(shù)高,所以在搜索引擎、輿論分析等領(lǐng)域進(jìn)行網(wǎng)頁內(nèi)容抓取和分析的時(shí)候,很難對 以本論文在設(shè)計(jì)并構(gòu)建能夠高效解析網(wǎng)頁中 分 布式系統(tǒng)時(shí),能夠完成對存在于 檔中的 段進(jìn)行高效的提取和分布式解析的功能,并且在分布式計(jì)算機(jī)集群中合理的進(jìn)行任務(wù)調(diào)度。 該論文主要包括兩個(gè)研究方向:首先是對網(wǎng)頁中存在的 行有效的提取和解析;然后結(jié)合 布式計(jì)算技術(shù),在深入分析現(xiàn)有任務(wù)調(diào)度算法、結(jié)合本系統(tǒng)實(shí)際情況的基礎(chǔ)之上,設(shè)計(jì)本系統(tǒng)在分布式計(jì)算環(huán)境中的任務(wù)調(diào)度算法,合理的進(jìn)行 析任務(wù)調(diào)度,實(shí)現(xiàn)對頁面中包含的 段的高效解析。通過對 法規(guī)則和其 在網(wǎng)頁中的存在形式的研究,設(shè)計(jì)了提取流程和算法,然后借鑒瀏覽器解析 方法,使用析引擎,構(gòu)造 析環(huán)境來實(shí)現(xiàn)第一模塊。通過對現(xiàn)有務(wù)調(diào)度算法的研究、分析和對比,并結(jié)合 析任務(wù)的具體特點(diǎn)和分布式集群的環(huán)境,探究最適合本系統(tǒng)的 務(wù)調(diào)度算法。對析任務(wù)進(jìn)行合理調(diào)度,然后搭建計(jì)算機(jī)集群,對設(shè)計(jì)的分布式析系統(tǒng)進(jìn)行構(gòu)建。最后對分布式 析 系統(tǒng)進(jìn)行測試,對其應(yīng)用性能和解析準(zhǔn)確性進(jìn)行驗(yàn)證,并且總結(jié)系統(tǒng)的不足,提出后續(xù)改進(jìn)意見。 本文實(shí)現(xiàn)的分布式系統(tǒng)能夠?qū)W(wǎng)頁中存在的大量 行高效、快速的解析。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)能夠?qū)W(wǎng)頁中 段內(nèi)包含的文本文字和超鏈接內(nèi)容進(jìn)行高效、準(zhǔn)確的提取和解析。從而,本文的研究和實(shí)現(xiàn)工作能夠?yàn)樗阉饕?、輿論分析、?shù)據(jù)采集等領(lǐng)域提供更高效可靠的技術(shù)支持。 關(guān)鍵詞: 析; 務(wù)調(diào)度; 析引擎 分類號: 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 A B S T R A C T of of as of is is In of its to in of is to a to an S to a of by of is on to to a S In to of a on at S a S S of a of 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 目錄 v 目錄 中文摘要 . . 緒論 . 1 究背景 . 1 究現(xiàn)狀 . 2 作內(nèi)容 . 3 文組織結(jié)構(gòu) . 4 2 析與分布式計(jì)算 . 6 析 . 6 本語言 . 6 析引擎 . 7 布式計(jì)算 . 11 布式計(jì)算 . 11 架 . 12 究 . 13 件存取 . 15 章小結(jié) . 19 3 析與任務(wù)調(diào)度算法研究 . 20 統(tǒng)整體結(jié)構(gòu) . 20 取和運(yùn)行環(huán)境 . 21 取和解析流程 . 21 取算法 . 22 析對象 . 24 析任務(wù)調(diào)度 . 25 有調(diào)度算法 . 26 量調(diào)度算法 . 27 平調(diào)度算法 . 28 適應(yīng)調(diào)度算法 . 30 度算法總結(jié) . 31 章小結(jié) . 33 4 分布式 析系統(tǒng)的構(gòu)建 . 34 北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 目錄 統(tǒng)工作流程 . 34 頁爬取 . 35 取 . 36 析任務(wù)調(diào)度 . 37 態(tài)采集 . 37 務(wù)調(diào)度 . 38 析任務(wù)調(diào)度 . 39 析環(huán)境管理 . 39 現(xiàn) . 40 章小結(jié) . 42 5 分布式 析系統(tǒng)的測試與分析 . 43 試環(huán)境 . 43 件環(huán)境搭建 . 44 統(tǒng)測試與分析 . 44 統(tǒng)測試 . 44 果分析 . 46 試結(jié)果總結(jié) . 48 章小結(jié) . 49 6 總結(jié)與展望 . 50 文總結(jié) . 50 望 . 51 參考文獻(xiàn) . 53 作者簡歷 . 55 獨(dú)創(chuàng)性聲明 . 56 學(xué)位論文數(shù)據(jù)集 . 57 北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 緒論 1 1 緒論 究背景 隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)已經(jīng)進(jìn)入了千家萬戶,根據(jù)第 32 次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告 1統(tǒng)計(jì),到 2013 年 6 月為 止,中國的互聯(lián)網(wǎng)使用者數(shù)量已經(jīng)接近六億人,表明我國人口的 使用過互聯(lián)網(wǎng),與前一年相比,提升了兩個(gè)百分點(diǎn)。中國政府在信息化推進(jìn)領(lǐng)域的一系列政策方針和基礎(chǔ)網(wǎng)絡(luò)設(shè)施建設(shè)成效逐步釋放,寬帶普及和移動網(wǎng)絡(luò)建設(shè)等行動直接帶動人們對互聯(lián)網(wǎng)的使用。另外,截至 2013 年 6 月底,我國互聯(lián)網(wǎng)用戶使用者中農(nóng)村人口數(shù)量已經(jīng)達(dá)到了全部互聯(lián)網(wǎng)用戶的四分之一以上,規(guī)模達(dá)到 ,相比 2012 年略有提升,增加約了九百萬人。最近半年,農(nóng)村互聯(lián)網(wǎng)使用者的規(guī)模增長速度將近六個(gè)百分比,略高于城鎮(zhèn)。 隨著互聯(lián)網(wǎng)用戶數(shù)量的增加,互聯(lián)網(wǎng)的信 息含量在不斷的擴(kuò)增,并且隨著各種新媒體形式的出現(xiàn),數(shù)據(jù)的存在形式也具有很大差異。隨著物質(zhì)生活的提高,人們對精神文化的需求也越來越高,互聯(lián)網(wǎng)公司也越來越重視網(wǎng)民的用戶體驗(yàn)程度。目前的網(wǎng)絡(luò)頁面在網(wǎng)站布局,頁面動態(tài)效果等方面給人越來越強(qiáng)的視覺體驗(yàn)。然而,傳統(tǒng)的 檔中都是以標(biāo)簽的形式嵌入網(wǎng)頁內(nèi)容,設(shè)計(jì)網(wǎng)頁的頁面布局和導(dǎo)航。以這種編寫方式編寫出來的網(wǎng)頁雖然在內(nèi)容上傳播了所要表達(dá)的信息,但是在視覺效果和用戶操作體驗(yàn)方面,已經(jīng)越來越不受網(wǎng)民的歡迎了。隨著編程語言的發(fā)展,網(wǎng)頁動態(tài)語言日趨成熟,并且完成了傳統(tǒng) 簽所不能達(dá)到的視覺和操作效果。具有代表性的有 。這些動態(tài)腳本語言 2不僅為用戶帶來了新的互聯(lián)網(wǎng)體驗(yàn),而且也為網(wǎng)頁開發(fā)人員提供了方便,很多復(fù)雜功能可能只需要幾個(gè)函數(shù)調(diào)用就可以實(shí)現(xiàn)。 信息時(shí)代已經(jīng)來臨,如今人們在互聯(lián)網(wǎng)中已經(jīng)不只是閱讀、查找資料或者是收發(fā) 們可以通過互聯(lián)網(wǎng)進(jìn)行購物、娛樂和工作。而網(wǎng)民在互聯(lián)網(wǎng)中進(jìn)行各種行為和操作的時(shí)候都會產(chǎn)生數(shù)據(jù)。這些數(shù)據(jù)是很寶貴的,他不僅反映了網(wǎng)民的關(guān)注方向,也反映了網(wǎng)民在生活中的價(jià)值觀、世界觀。因此,網(wǎng)絡(luò)輿情分 析、信息采集,網(wǎng)絡(luò)安全等負(fù)責(zé)對互聯(lián)網(wǎng)信息進(jìn)行統(tǒng)計(jì),維護(hù)互聯(lián)網(wǎng)安全,保障網(wǎng)民上網(wǎng)權(quán)力和安全的互聯(lián)網(wǎng)行業(yè)出現(xiàn)了。 隨著各種網(wǎng)絡(luò)技術(shù)的出現(xiàn)和不斷提高,也給信息采集、搜索引擎、網(wǎng)絡(luò)輿論分析等領(lǐng)域帶來了很多的技術(shù)難題。傳統(tǒng)的網(wǎng)頁分析和信息采集技術(shù)能夠提取和北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 緒論 2 分析互聯(lián)網(wǎng)中以 簽形式出現(xiàn)的信息。但是隨著動態(tài)腳本語言技術(shù)的推廣和流行,動態(tài)腳本語言的形式和編寫標(biāo)準(zhǔn)越來越多,使得傳統(tǒng)的網(wǎng)頁分析和信息采集技術(shù)無法獲得隱藏在動態(tài)腳本語言中的信息。 鑒于以上情況,本文希望能夠通過對當(dāng)今最流行的 態(tài)腳本語言的研究,探究如何高效、準(zhǔn)確的解析頁面中的隱藏在 段中的信息,并且結(jié)合分布式計(jì)算技術(shù),以提高 段解析速度、進(jìn)行多線程解析為目的,將 析技術(shù)的實(shí)際應(yīng)用效果提高到最大化。為搜索引擎、網(wǎng)絡(luò)輿論分析、信息采集等領(lǐng)域提供切實(shí)可行的技術(shù)支持。 究現(xiàn)狀 針對傳統(tǒng)頁面分析技術(shù)無法對 檔中存在的 段進(jìn)行有效提取和解析的情況,作者對現(xiàn)有的 段解析方法進(jìn)行了考察和總結(jié)。目前, 段的解析手段主要有兩種 3:我們知道在瀏覽網(wǎng)頁時(shí),瀏覽器負(fù)責(zé)了 檔的解析工作,無論是傳統(tǒng)的靜態(tài)標(biāo)簽還是現(xiàn)在流行的動態(tài)語言腳本,瀏覽器都能夠準(zhǔn)確的對其進(jìn)行解析,所以,使用瀏覽器對 段進(jìn)行解析是一種手段;另一種手段是利用現(xiàn)有的 析引擎對頁面中的段進(jìn)行解析,采用這種方法需要用戶自己來創(chuàng)建 析環(huán)境。采用第二種方法對 段進(jìn)行解析,針對性更強(qiáng),而且解析效率比直接使用瀏覽器解析更快,而且在資源利用率和資源分配問題上第二種方法的利用率更高, 并且占用空間更小。 使用瀏覽器對 段進(jìn)行解析的方法主要是通過 件,將原有的檔進(jìn)行解析,利用包含在組件內(nèi)部的 析引擎對嵌入在 段進(jìn)行解析。然后把解析結(jié)果還原到 檔中。其過程如圖 1示。 雖然這種方法實(shí)現(xiàn)了對 檔中 段的解析,但是能夠看出,使用 件不僅實(shí)現(xiàn)了 段的解析,同時(shí)也對 檔的其他部分實(shí)現(xiàn)了解析(包括文字信息、超鏈接、頁面布局等信息),這 樣做的解析效率顯然是很低的。 另外一種 析手段 使用 析引擎,這種方法的針對性非常強(qiáng),排除了不必要的工作和開銷,只針對 檔中的 段進(jìn)行解析。但是采用這種方法的難點(diǎn)在于,要自行創(chuàng)建 解析環(huán)境。另外,現(xiàn)有的 析引擎中只包含了 言中包含的對象,不包含檔中的 象,因此,無法對 段中的 象進(jìn)行解北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 緒論 3 析,這就需要設(shè)計(jì)者對 段中的 象進(jìn)行解析,從而實(shí)現(xiàn)對段的準(zhǔn)確解析。 圖 1覽器解析 外,目前還沒有將分布式算法與 析相結(jié)合的研究方向,也就是說,并沒有將 段的提取和解析與大數(shù)據(jù)處理、云計(jì)算技術(shù)結(jié)合起來應(yīng)用。這樣, 段的采集和解析就不會真正的應(yīng)用到搜索引擎、信息采集、網(wǎng)絡(luò)輿情分析等領(lǐng)域中。因此本文分布式 析系統(tǒng)的設(shè)計(jì)與構(gòu)建為日后以上領(lǐng)域的擴(kuò)展和技術(shù)發(fā) 展提供了非常有意義的思路和研究方向。 作內(nèi)容 在進(jìn)行分布式 析系統(tǒng)的設(shè)計(jì)與構(gòu)建過程中,為了能夠?qū)崿F(xiàn)系統(tǒng)對頁面中包含的 段進(jìn)行高效的提取和解析,進(jìn)而得到準(zhǔn)確的解析結(jié)果,主要對以下幾個(gè)技術(shù)方向進(jìn)行細(xì)致的研究和探索: (1) 言研究。首先對 言的特點(diǎn)、語法規(guī)則和在 檔中的出現(xiàn)形式進(jìn)行研究,總結(jié)規(guī)律,為后面進(jìn)行 取做準(zhǔn)備。 (2) 析引擎。研究現(xiàn)有的一些 析引擎,總結(jié)其解析過程中的優(yōu)缺點(diǎn),并分析 其解析性能、構(gòu)建解析環(huán)境過程和基于何種語言,為系統(tǒng)設(shè)計(jì)提供支撐。 含 有J a v a S c r i p t 片 段的 頁 面J r e 有J a v a S c r i p t 片 段的 頁 面U R L 提 取 U R L 鏈 接內(nèi) 容 存 儲 U R L 隊(duì) 列北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 緒論 4 (3) 取算法。根據(jù)對 言的研究和總結(jié)出的 言在 檔中的出現(xiàn)形式,設(shè)計(jì)如何從 檔中進(jìn)行 段的提取。 (4) 析流程設(shè)計(jì)。采用前面選擇的 析引擎進(jìn)行 解析過程中主要問題是解決如何自動的對 析環(huán)境進(jìn)行構(gòu)建和管理。系統(tǒng)能夠根據(jù)任務(wù)情況自動的進(jìn)行 析環(huán)境的構(gòu)建 ,在沒有 析任務(wù)隊(duì)列時(shí),能夠自動回收 析環(huán)境。當(dāng)解析環(huán)境中創(chuàng)建的對象和方法不再需要時(shí),及時(shí)對這些變量進(jìn)行垃圾回收。 (5) 務(wù)調(diào)度算法。為了提高 段的解析效率,引入了程模型,并且,結(jié)合本系統(tǒng)的實(shí)際需求與異構(gòu)計(jì)算機(jī)集群的實(shí)際情況,對現(xiàn)有的幾種 度算法進(jìn)行分析和對比??偨Y(jié)各個(gè)算法的優(yōu)勢和劣勢。選擇適合本系統(tǒng)的任務(wù)調(diào)度算法,并結(jié)合系統(tǒng)實(shí)際需求進(jìn)行改進(jìn)。 文組織結(jié)構(gòu) 本文由六章組成,以研究順序?yàn)槲恼?總體線路進(jìn)行敘述,具體為: (1) 第一章:緒論。這一章節(jié)是對論文的背景概括,對研究現(xiàn)狀進(jìn)行了解和分析,在了解與本論文相關(guān)的現(xiàn)有技術(shù)手段的基礎(chǔ)上,安排本論文的具體研究方向和工作內(nèi)容。并且規(guī)劃論文的整體結(jié)構(gòu)。這一部分是文章的背景描述。 (2) 第二章: 了能夠從 本章首先對 言的語法規(guī)則和在面中的展現(xiàn)形式進(jìn)行了分析和研究,并且對幾種流行的 析引擎進(jìn)行了對比,為后續(xù)的 取和解析算法提供理論支持。另一方面,對 布式計(jì)算框架中兩大主要技術(shù) 型和行了研究,目的是為實(shí)現(xiàn)本系統(tǒng)的分布式結(jié)構(gòu)提供技術(shù)支撐。 (3) 第三章: 析與任務(wù)調(diào)度算法研究。在這一章節(jié)中,創(chuàng)新性的提出了在 取和解析的算法和具體流程,并且對幾種務(wù)調(diào)度算法進(jìn)行研究和對比。這一部分是系統(tǒng)的理論設(shè)計(jì)。 (4) 第四章:分布式 析系統(tǒng)的構(gòu)建。結(jié)合第三章的理論創(chuàng)新對分布式 析系統(tǒng)進(jìn)行實(shí)現(xiàn),并且在結(jié)合原有 務(wù)調(diào)度算法的基礎(chǔ)上進(jìn)行改進(jìn),目的是使系統(tǒng)能夠更加高效的對 析隊(duì)列進(jìn)行調(diào)度和解析。 (5) 第五章:分布式 析系統(tǒng)的測試與分析。對實(shí)現(xiàn)的分布式 析系統(tǒng)進(jìn)行測試,設(shè)計(jì)分布式計(jì)算機(jī)集群結(jié)構(gòu),根據(jù)各項(xiàng)測試結(jié)果,對系統(tǒng)的性能, 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 緒論 5 提取準(zhǔn)確程度,任務(wù)調(diào)度合理性進(jìn)行分析??偨Y(jié)系統(tǒng)的優(yōu)點(diǎn)和不足。 (6) 第六章:總結(jié)與展望。系統(tǒng)的設(shè)計(jì)與構(gòu)建已經(jīng)實(shí)現(xiàn),并且在進(jìn)行系統(tǒng)測試之后,系統(tǒng)的整體性能也有了評定,本章對本文的研究成果和系統(tǒng)實(shí)現(xiàn)進(jìn)行總結(jié),與研究背景、現(xiàn)狀和未來發(fā)展方向相結(jié)合,提出系統(tǒng)可改進(jìn)之處,對未來的 研究方向和研究目的進(jìn)行展望。 北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 析 與 分 布 式 計(jì) 算 6 2 對網(wǎng)頁中 含的有效信息進(jìn)行高效的提取和解析,在搜索引擎、數(shù)據(jù)采集、輿論分析等領(lǐng)域都有著非常重要的意義。要達(dá)到預(yù)期的研究目的需要使用的技術(shù)手段和創(chuàng)新研究也是非常復(fù)雜的。本章從 析, 要技術(shù)兩個(gè)方面分析本文的主要技術(shù)支撐。為后續(xù)研究和創(chuàng)新奠定基礎(chǔ)。 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,大量的互聯(lián)網(wǎng)用戶體會到了 言給網(wǎng)頁帶來的強(qiáng)大功能,和對用戶的視覺體驗(yàn)所產(chǎn)生的沖擊。但是,有 利也有弊, 制造了麻煩或者說是埋下了隱患。當(dāng)我們進(jìn)行網(wǎng)頁信息提取和分析的時(shí)候, 言的信息會隱藏起來,傳統(tǒng)的靜態(tài)頁面解析技術(shù)是無法對其進(jìn)行提取和分析的。本節(jié)首先對 言進(jìn)行研究,然后分析現(xiàn)有的 析引擎,為后續(xù)的 析流程和算法的研究和設(shè)計(jì)奠定技術(shù)基礎(chǔ)。 言 4通過在客戶瀏覽器運(yùn)行將結(jié)果展示給 面的訪問用戶。其前身是 司推出,編寫在 檔中的腳本語言,改進(jìn)后更名為 通過對 言的學(xué)習(xí)和研究, 言包括了以下幾點(diǎn)核心優(yōu)勢,具體為: (1) 基于對象: 靈活性主要就是由于它是基于對象的,能夠通過 (2) 事件驅(qū)動:當(dāng)鼠標(biāo)、按鍵等事件發(fā)生時(shí),驅(qū)動 段及時(shí)反映結(jié)果。 (3) 實(shí)時(shí)性:在客戶端就可以實(shí)現(xiàn) 件的處理,頁面對處理結(jié)果實(shí)時(shí)作出響應(yīng)。 (4) 動態(tài)性: 言本身包含很多方法和屬性,能夠靈活的響應(yīng)各種文檔頁面事件,使頁面之間進(jìn)行動態(tài)的交互。 (5) 跨平臺: 段的的運(yùn)行結(jié)果與計(jì)算機(jī)的操作系統(tǒng)無關(guān),只要該計(jì)算機(jī)中有能夠解析運(yùn)行 段的瀏覽器,該計(jì)算機(jī)就能將 北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 析 與 分 布 式 計(jì) 算 7 段的準(zhǔn)確運(yùn)行結(jié)果呈現(xiàn)給用戶。 (6) 安全性:客戶端的計(jì)算機(jī)并不能被 段訪問,更不能修改 檔中的內(nèi)容,只能被瀏覽器運(yùn)行和解析,有效的防止了計(jì)算機(jī)中的數(shù)據(jù)泄漏和非法篡改。 由此可見 生命力和潛力是很強(qiáng)的, 在提升功能性的同時(shí)也減輕了服務(wù)器的壓力?,F(xiàn)在使用的 術(shù),也是基于 言的。也正是由于 備以上特性,在網(wǎng)頁分析和處理工作中,傳統(tǒng)的 析、析,是無法從網(wǎng)頁文檔中有效提取并解析 包含的信息的。所以,在第三章中作者會結(jié)合 言的特點(diǎn),設(shè)計(jì)合理有效的 析流程和算法。 本文對 用了先提取后解析的方法,提取后,需要自動構(gòu)建析環(huán)境,因此,解析引擎是構(gòu)建解析環(huán)境的主要技術(shù)支撐。現(xiàn)在很多瀏覽器都使用自己的解析引擎來解析 且這些解析引擎的工作原理和使用的語言都有區(qū)別,工作效率也不相同。作者對幾種主流開源解析引擎進(jìn)行了研究如下: (1) 是 司的開源項(xiàng)目之一,是使用 C 語言構(gòu)造的析器。在構(gòu)建 析環(huán)境時(shí)要對 三個(gè)要素進(jìn)行構(gòu)建,即 析環(huán)境( 析上下文( 全局對象。 圖 2構(gòu)建 析環(huán)境的示意圖, 解析時(shí)所需的變量、方法和解析上下文分配空間,這是 析引擎的大環(huán)境,不同的解析上下文和各個(gè) 象都運(yùn)行在同一個(gè)解析大環(huán)境中。與 同,一個(gè)數(shù)要對應(yīng)一個(gè) 析上下文環(huán)境負(fù)責(zé) 析上下文環(huán)境代表一個(gè) 本,一 個(gè)上下文環(huán)境中不能同時(shí)運(yùn)行兩個(gè)或兩個(gè)以上的解析線程。當(dāng)一個(gè) 段被解析完成后,解析上下文環(huán)境可以交給另一個(gè) 析任務(wù),如果沒有待解析的務(wù),就要釋放解析上下文環(huán)境。而全局對象中,包含了所有 析后,要對 析環(huán)境、用到的對象、方法和變量進(jìn)行回收。 北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 析 與 分 布 式 計(jì) 算 8 圖 2析環(huán)境 用 C 語言與 言建立溝通,使用 C 語言中的變量、方法,創(chuàng)建 象,實(shí)現(xiàn)與 言的接口,也就是說,在執(zhí)行函數(shù)和方法時(shí),調(diào)用的是與其同名的 C 語言編寫的方法。 析 段的方式有兩種,一種是先將 段編譯成中間碼,在編譯過程中會執(zhí)行對 段的檢查,然后通過執(zhí)行中間碼來獲得解析結(jié)果。另一種是直接解析,不需要編譯直接運(yùn)行 段,如果報(bào)錯(cuò),系統(tǒng)會從第一個(gè)錯(cuò)誤的位置返回結(jié)果,并且中斷運(yùn)行。第二種雖然沒有檢查 法錯(cuò)誤,但是其執(zhí)行效率要比第一種快。 含了運(yùn)行環(huán)境、上下文管理、對象、數(shù)據(jù)的處理和垃圾回收機(jī)制。其功能和處理效率已經(jīng)非常優(yōu)秀,其編譯器比之前的 譯器性能提高了 20 到 40 倍。 (2) 8 司發(fā)布的 覽器得到了大批用戶的追捧,其成就不僅僅因?yàn)槠浣缑婧啙嵉奶攸c(diǎn),更重要的是 覽器打開網(wǎng)頁的速度。而 作為 析引擎是 覽器的一大技術(shù)亮點(diǎn)??梢哉f 目前市面上運(yùn)行速度最快的 析引擎之一。他的 析和執(zhí)行效率遠(yuǎn)遠(yuǎn)超過了 擎是使用 C+語言編寫的開源程序,采用了先編譯后執(zhí)行的解析過程,但是不同的是, 擎并沒有將 段編譯為字節(jié)碼,而是將其轉(zhuǎn)換為機(jī)器碼。同時(shí), 擎采用了與傳統(tǒng) 要引擎認(rèn)為此方法或者數(shù)據(jù)不會再次被調(diào)用,腳 本 ( J a v a S c r i p t )腳 本 ( J a v a S c r i p t )腳 本 ( J a v a S c r i p t )腳 本 ( J a v a S c r i p t )腳 本 ( J a v a S c r i p t )腳 本 ( J a v a S c r i p t )腳 本 上 下 文( J S C o n t e x t )腳 本 上 下 文( J S C o n t e x t )腳 本 上 下 文( J S C o n t e x t )腳 本 上 下 文( J S C o n t e x t )腳 本 上 下 文( J S C o n t e x t )腳 本 上 下 文( J S C o n t e x t )腳 本 對 象( O b j e c t )腳 本 對 象( O b j e c t )腳 本 對 象( O b j e c t )腳 本 對 象( O b j e c t )腳 本 對 象( O b j e c t )腳 本 對 象( O b j e c t )腳 本 對 象( O b j e c t )腳 本 對 象( O b j e c t )北 京 交 通 大 學(xué) 碩 士 學(xué) 位 論 文 析 與 分 布 式 計(jì) 算 9 就會將此方法或數(shù)據(jù)清 除。這樣很大程度上提高了 擎的解析和執(zhí)行速度。擎的主要特點(diǎn)如下: 快速屬性訪問:傳統(tǒng)的 析引擎在執(zhí)行腳本時(shí),會將用到的屬性存放到內(nèi)存中并且建立索引,等用到的時(shí)候去查詢。而 擎認(rèn)為這種方法的訪問效率太低,所以采用了將屬性存放到后臺的新的類中的方法,當(dāng)有新方法被執(zhí)行的時(shí)候,引擎將為其在后臺“偷偷的”創(chuàng)建一個(gè)新類,當(dāng)該方法中每當(dāng)有新

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論