主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)——界面及數(shù)據(jù)庫(kù)模塊設(shè)計(jì)-畢業(yè)論文_第1頁(yè)
主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)——界面及數(shù)據(jù)庫(kù)模塊設(shè)計(jì)-畢業(yè)論文_第2頁(yè)
主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)——界面及數(shù)據(jù)庫(kù)模塊設(shè)計(jì)-畢業(yè)論文_第3頁(yè)
主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)——界面及數(shù)據(jù)庫(kù)模塊設(shè)計(jì)-畢業(yè)論文_第4頁(yè)
主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)——界面及數(shù)據(jù)庫(kù)模塊設(shè)計(jì)-畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)本科畢業(yè)論文(科研訓(xùn)練、畢業(yè)設(shè)計(jì))題 目: 主題網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn) 界面及數(shù)據(jù)庫(kù)模塊設(shè)計(jì)姓 名:學(xué) 院:軟件學(xué)院系:軟件工程專 業(yè):軟件工程年 級(jí):學(xué) 號(hào):指導(dǎo)教師: 職稱: 年 月摘要隨著網(wǎng)絡(luò)信息的迅速發(fā)展,搜索引擎已成為人們獲取有用信息必不可少的工具。以何種策略有效地訪問(wèn)網(wǎng)絡(luò)資源是專業(yè)搜索引擎中網(wǎng)絡(luò)爬蟲(chóng)研究的主要問(wèn)題。本文對(duì)搜索引擎中網(wǎng)絡(luò)爬蟲(chóng)的搜索策略進(jìn)行簡(jiǎn)要分析,總結(jié)提高搜索效率的因素,使人們對(duì)網(wǎng)絡(luò)爬蟲(chóng)的搜索算法有個(gè)大概了解,以及對(duì)新一代搜索引擎的期望, 以便更快捷獲取自己需要的信息。搜索引擎作為網(wǎng)絡(luò)信息搜尋的工具,它以一定的策略在互聯(lián)網(wǎng)中搜集、發(fā)現(xiàn)信息,對(duì)信息進(jìn)行理解、提取、組織和處理,并為用戶提供檢索服務(wù)。爬蟲(chóng)搜索引擎主要由三部分組成:搜索器、數(shù)據(jù)庫(kù)和用戶界面。搜索器搜索到Internet的Web頁(yè)面后,將頁(yè)面信息存入索引數(shù)據(jù)庫(kù),最后通過(guò)用戶界面提供給用戶。文章主要介紹數(shù)據(jù)庫(kù)的組織和索引過(guò)程的實(shí)現(xiàn)。本文簡(jiǎn)要描述了主題爬蟲(chóng)設(shè)計(jì)中主題相關(guān)度分析以及爬蟲(chóng)具體實(shí)現(xiàn)過(guò)程,側(cè)重點(diǎn)在于系統(tǒng)的界面設(shè)計(jì)及數(shù)據(jù)庫(kù)設(shè)計(jì)模塊。界面部分通過(guò)引入插件來(lái)改變?cè)忻姘宓耐庥^,以達(dá)到美化的效果;數(shù)據(jù)庫(kù)部分對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)特點(diǎn)、方法以及步驟等做了簡(jiǎn)單的介紹,通過(guò)對(duì)系統(tǒng)的需求分析進(jìn)行數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。另外本文還介紹了爬蟲(chóng)系統(tǒng)的各模塊之間的相互關(guān)系,結(jié)合圖例給于說(shuō)明分析,通過(guò)對(duì)爬蟲(chóng)系統(tǒng)的運(yùn)行流程進(jìn)行簡(jiǎn)要分析,測(cè)試并驗(yàn)證了系統(tǒng)的可行性和有效性。最后對(duì)開(kāi)發(fā)工具以及所用到的插件做了相關(guān)說(shuō)明。關(guān)鍵詞:網(wǎng)絡(luò)爬蟲(chóng) 搜索引擎 插件 索引AbstractIn recent years, search engine turns more and more impo rtant for us to get useful info rmation. How can Web crawler visit the web efficiently in the domain of Topic Specific Search Engine has become the main problem. Th is paper analysizes web craw lers search ing st rategies. This paper wants to make people know the web crawlers strategy and long for the new search ing engine so as to get info rmation quickly which they need. Search engine is a tool of serching information in the internet, it collect, discovers an information in the Internet by certain strategy and carry on comprehension, withdraw to the information, organization and processing, and provide an index service for the customer.Web crawlers search engine of a Internet consists of three parts: searcher, Database and user interface. Searcher searches Web page of a Internet and then saves the page information into index Database and provides them for users by interface in the end. This paper introduces organization of Database and the implement of index process.This paper synopsis introduce the related degree analysis and the process of the web crawler design.The main part is the interface design and the database design. The interface part leads plug-ins to change original external appearance of front-panel so as to change the effect of beautification. And simply introduce the design characteristics, method and step of database part, design the logic structure, the concept structure and the physical structure of the database after the need analysis.Moreover this paper also introduced the correlation of of each mold piece of web craler system and combine a diagram example to give an ordinary explain. After analysing the process of the web craler system, we test and verified the possibility and usefulness of system. Finally we also make a simple introduction to the develop tool and plug-ins.Key words: web crawler search engine plug-in index目錄第一章 主題網(wǎng)絡(luò)爬蟲(chóng)概述71.1主題網(wǎng)絡(luò)爬蟲(chóng)的目標(biāo)71.2主題網(wǎng)絡(luò)爬蟲(chóng)的系統(tǒng)組成81.3主題爬蟲(chóng)的解決方案91.3.1基于關(guān)鍵詞的主題爬蟲(chóng)91.3.2基于概念分析的主題爬蟲(chóng)101.3.3基于本體語(yǔ)義分析的主題爬蟲(chóng)111.4主題爬蟲(chóng)界面和數(shù)據(jù)庫(kù)設(shè)計(jì)概述131.4.1界面設(shè)計(jì)概述131.4.2數(shù)據(jù)庫(kù)設(shè)計(jì)概述13第二章 系統(tǒng)界面設(shè)計(jì)152.1界面設(shè)計(jì)目標(biāo)152.2爬蟲(chóng)界面設(shè)計(jì)152.2.1界面功能152.2.2界面元素分析162.2.3過(guò)程分析172.3用戶搜索界面設(shè)計(jì)172.3.1界面功能172.3.2界面元素分析172.3.3過(guò)程分析19第三章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)203.1數(shù)據(jù)庫(kù)設(shè)計(jì)目標(biāo)213.2系統(tǒng)需求分析213.2.1需求分析的任務(wù)213.2.2需求分析的方法223.3概念結(jié)構(gòu)設(shè)計(jì)223.3.1概念結(jié)構(gòu)223.3.2概念結(jié)構(gòu)設(shè)計(jì)233.4邏輯結(jié)構(gòu)設(shè)計(jì)253.4.1邏輯結(jié)構(gòu)253.4.2邏輯結(jié)構(gòu)設(shè)計(jì)253.5數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)263.5.1物理結(jié)構(gòu)263.5.2物理結(jié)構(gòu)設(shè)計(jì)26第四章 開(kāi)發(fā)工具簡(jiǎn)析及實(shí)驗(yàn)結(jié)果294.1.net平臺(tái)294.2SQL server 2005304.3AJAX技術(shù)314.4實(shí)驗(yàn)結(jié)果數(shù)據(jù)32第五章 總結(jié)33致謝語(yǔ)34參考文獻(xiàn)35附錄36ContentsChapter 1 The summarize of the subject web crawler71.1The gole of the subject web crawler71.2The makeup of the subject web crawler81.3The scheme of the subject web crawler91.3.1The subject web crawler based on keywords91.3.2The subject web crawler based on conception analysing101.3.3The subject web crawler based on itself111.4The interface and database of the web crawler131.4.1The introduction of the interface design131.4.2The introduction of the database design13Chapter 2 The interface design of system152.1The gole of the interface design152.2Design of the crawler interface152.2.1The function of the interface152.2.2Elements of the interface162.2.3Process analysing172.3Design of the searching interface172.3.1The function of the interface172.3.2Elements of the interface172.3.3Process analysing19Chapter 1 Design of the system database203.1The gole of the database designing213.2Requirement of the system213.2.1The method of analysing system requirement213.2.2Data dictionary223.3Design of notional structure223.3.1Notional structure223.3.2Design of notional structure233.4Design of logistic structure253.4.1Logistic structure253.4.2Design of logistic structure253.5Design of physical structure263.5.1Physical structure263.5.2Design of physical structure26Chapter 4 Introduction of the tools and the result of the flat294.2SQL server 2005304.3AJAX plug-in314.4The result of the program32Chapter 5 Summarize33Acknowledgement34References35Supplement36第一章 主題網(wǎng)絡(luò)爬蟲(chóng)概述搜索引擎為用戶提供信息檢索服務(wù)1,大約經(jīng)歷了三代的更新發(fā)展:第一代出現(xiàn)于1994年,此類搜索引擎索引網(wǎng)頁(yè)少,極少重新搜集網(wǎng)頁(yè)并刷新索引,檢索速度非常慢;第二代大約出現(xiàn)在1996年,大多采用分布式方案來(lái)提高數(shù)據(jù)規(guī)模、響應(yīng)速度和用戶數(shù)量;1998年至今為第三代,索引數(shù)據(jù)庫(kù)的規(guī)模繼續(xù)增大,開(kāi)始出現(xiàn)主題搜索和地域搜索,檢索結(jié)果相關(guān)度評(píng)價(jià)成為研究的焦點(diǎn),開(kāi)始使用自動(dòng)分類技術(shù)。按照信息搜集方法和服務(wù)提供方式的不同,搜索引擎系統(tǒng)可以分為三大類2:目錄式搜索引擎、機(jī)器人搜索引擎和元搜索引擎。不論是從縱向看還是橫向看,目前的搜索引擎大多數(shù)是面向所有信息,可稱之為綜合性搜索引擎3。隨著信息多元化的增長(zhǎng),適用于所有用戶的綜合性搜索引擎顯然已經(jīng)不能滿足特定用戶更深入的查詢需求,他們對(duì)信息的需求往往是針對(duì)受限領(lǐng)域和面向特定主題,綜合性搜索引擎的召回率和精確率都很低。針對(duì)這種情況,需要一個(gè)分類細(xì)致精確、數(shù)據(jù)全面深入、更新及時(shí)的面向主題的搜索引擎,有人認(rèn)為這種主題搜索引擎是第四代搜索引擎的發(fā)展方向。主題爬蟲(chóng)是主題搜索引擎的基礎(chǔ)和核心4。本文主要研究主題爬蟲(chóng)的相關(guān)設(shè)計(jì),包括界面設(shè)計(jì)和數(shù)據(jù)庫(kù)方面的設(shè)計(jì),其目的是人從網(wǎng)上盡可能多地獲取受限領(lǐng)域的針對(duì)特定主題的信息,并保證所得到信息的完整性和有效性,從而更好的滿足用戶的需求。1.1 主題網(wǎng)絡(luò)爬蟲(chóng)的目標(biāo)主題爬蟲(chóng)是主題搜索引擎的核心部分。主題爬蟲(chóng)在網(wǎng)絡(luò)中漫游,從中搜集優(yōu)等的與主題相關(guān)的網(wǎng)絡(luò)資源,通過(guò)索引器的索引再由檢索器排序輸出給用戶,以此完成主題搜索引擎整個(gè)過(guò)程。因此,對(duì)于主題搜索引擎來(lái)說(shuō),主題爬蟲(chóng)的性能優(yōu)劣直接影響到整個(gè)搜索引擎的性能。主題爬蟲(chóng)中另一個(gè)重要方面的設(shè)計(jì)就是數(shù)據(jù)庫(kù)的設(shè)計(jì),因?yàn)樗薪?jīng)過(guò)爬行系統(tǒng)篩選后的主題及其內(nèi)容等都是整個(gè)系統(tǒng)運(yùn)行的最主要結(jié)果,對(duì)這些數(shù)據(jù)信息保存的完整性和安全性相當(dāng)重要,因此設(shè)計(jì)一個(gè)高效可行的數(shù)據(jù)庫(kù)也是爬蟲(chóng)系統(tǒng)設(shè)計(jì)不容忽略的一個(gè)重要部分。主題爬蟲(chóng)的基本工作流程是按照事先給出的主題,分析Web中的超鏈接和已經(jīng)下載的網(wǎng)頁(yè)內(nèi)容,來(lái)預(yù)測(cè)下一個(gè)要爬行的URL,保證盡可能多地下載與主題相關(guān)的網(wǎng)頁(yè)的,盡可能少的下載無(wú)關(guān)的網(wǎng)頁(yè),以此來(lái)提高主題爬蟲(chóng)的效率與準(zhǔn)確率。主題爬行器的設(shè)計(jì)主要從以下幾個(gè)方面來(lái)考慮: 下載高質(zhì)量的網(wǎng)頁(yè)。前面已經(jīng)說(shuō)過(guò),隨著Web網(wǎng)頁(yè)數(shù)量的急劇增長(zhǎng),爬蟲(chóng)不可能下載所有的網(wǎng)頁(yè),要最大程度的滿足用戶的需求,就必須提高所下載網(wǎng)頁(yè)的質(zhì)量,以保證下載的網(wǎng)頁(yè)可用價(jià)值盡量高 判斷已經(jīng)下載的網(wǎng)頁(yè)與主題的相關(guān)性。對(duì)于已經(jīng)下載的網(wǎng)頁(yè),我們可以通過(guò)提取網(wǎng)頁(yè)中的文字信息,包括圍繞在鏈接周圍的文字和網(wǎng)頁(yè)內(nèi)容,從而充分利用信息,按照一定的方法來(lái)計(jì)算網(wǎng)頁(yè)與文本的相關(guān)性。 決定爬待爬行URL的訪問(wèn)次序。通過(guò)搜索引擎以搜集海量數(shù)據(jù)為目標(biāo),爬蟲(chóng)在爬行的時(shí)候只需按照深度優(yōu)先遍歷或者廣度優(yōu)先遍歷的方法下載頁(yè)面,盡量提高爬蟲(chóng)的爬行范圍,而主題爬蟲(chóng)因其自身的物點(diǎn),在爬行的過(guò)程中就要考慮優(yōu)先訪問(wèn)與主題相關(guān)頁(yè)面,即要考慮如何管理待爬行的URL隊(duì)列,從而使每次爬行都從相關(guān)度最高的頁(yè)面開(kāi)始。 盡量降低被爬行網(wǎng)站的負(fù)擔(dān)。因?yàn)榕老x(chóng)在爬行的過(guò)程中,需要訪問(wèn)別人的服務(wù)器,這樣就占用了對(duì)方的計(jì)算機(jī)資源,如CPU、磁盤(pán)空間等,同時(shí)也占用了網(wǎng)絡(luò)帶寬,增加了網(wǎng)絡(luò)的負(fù)擔(dān)。爬蟲(chóng)的設(shè)計(jì)應(yīng)該將這些消耗降到最小,否則網(wǎng)站W(wǎng)eb管理員會(huì)屏蔽爬蟲(chóng)。1.2 主題網(wǎng)絡(luò)爬蟲(chóng)的系統(tǒng)組成最初的設(shè)計(jì)思想是考慮對(duì)頁(yè)面的過(guò)濾,不像普通爬蟲(chóng)對(duì)所有頁(yè)面的鏈接進(jìn)行處理,先對(duì)頁(yè)面與受限領(lǐng)域的主題相關(guān)度進(jìn)行分析,只有當(dāng)其主題相關(guān)度符合要求時(shí)才處理該頁(yè)面中的鏈接,因?yàn)槿绻擁?yè)面和本領(lǐng)域比較無(wú)關(guān),它所包含的鏈接和領(lǐng)域相關(guān)的幾率也較大,這樣提高了爬行精度,雖然會(huì)遺漏少數(shù)頁(yè)面,但綜合效果是令人滿意的。因此,主題相關(guān)度的分析是主題爬蟲(chóng)設(shè)計(jì)的關(guān)鍵,最簡(jiǎn)單的可以基于關(guān)鍵詞進(jìn)行分析,更深入的可以上升到語(yǔ)義和概念層次。基于關(guān)鍵詞的主題相關(guān)度分析的主要思路是:首先在領(lǐng)域?qū)<业膮⑴c下,確定一組帶有權(quán)重的能夠代表受限領(lǐng)域的關(guān)鍵詞,用它表示確定的主題;然后對(duì)頁(yè)面進(jìn)行關(guān)鍵詞提取,采用向量空間模型算法計(jì)算網(wǎng)頁(yè)的主題相關(guān)度決定頁(yè)面的取舍。主題爬蟲(chóng)的設(shè)計(jì)是以普通爬蟲(chóng)為基礎(chǔ)的,實(shí)際上它是對(duì)一個(gè)普通爬蟲(chóng)進(jìn)行功能上的擴(kuò)充。在對(duì)網(wǎng)頁(yè)的整個(gè)處理過(guò)程中需要增加模塊:主題確立模塊、優(yōu)化初始種子模塊、主題相關(guān)度分析模塊、排序模塊(數(shù)據(jù)庫(kù)模塊)。題確立模塊用于確立爬蟲(chóng)面向的主題;主題相關(guān)度分析模塊用來(lái)進(jìn)行網(wǎng)頁(yè)主題相關(guān)度的計(jì)算;初始種子模塊用于生成面向特定主題的較好的種子站點(diǎn),使爬行模塊能夠順利展開(kāi)爬行工作;主題相關(guān)度分析模塊是主題爬蟲(chóng)的核心模塊,它決定頁(yè)面的取舍;排序模塊是對(duì)頁(yè)面的最終處理,給與主題相關(guān)頁(yè)面的價(jià)值一個(gè)較為全面的評(píng)價(jià)排序。主題爬蟲(chóng)的系統(tǒng)組成圖如圖1.2所示。系統(tǒng)的工作流程如下2:第一步,爬行模塊取回網(wǎng)頁(yè);第二步,調(diào)用相關(guān)度分析模塊,對(duì)網(wǎng)頁(yè)進(jìn)行相關(guān)度分析;第三步,爬行模塊根據(jù)分析的不同結(jié)果進(jìn)行相應(yīng)的處理;第四步,爬行模塊從數(shù)據(jù)庫(kù)取出等待處理的URL繼續(xù)工作,返回到第一步,直至沒(méi)有新的URL;第五步,對(duì)網(wǎng)頁(yè)的重要程度進(jìn)行排序。HTML文檔爬行模塊相關(guān)度分析模塊主題確立模塊初始種子模塊排序模塊數(shù)據(jù)庫(kù)圖1.2 系統(tǒng)組成1.3 主題爬蟲(chóng)的解決方案1.3.1 基于關(guān)鍵詞的主題爬蟲(chóng)在基于關(guān)鍵詞的方案中,把關(guān)鍵詞的個(gè)數(shù)n作為向量空間的維數(shù),每個(gè)關(guān)鍵詞的權(quán)重wi作為每一維分量的大小,則主題用向量表示為:對(duì)頁(yè)面進(jìn)行分析,統(tǒng)計(jì)關(guān)鍵詞出現(xiàn)頻率,求出頻率之比,以出現(xiàn)頻率最高的關(guān)鍵詞為基準(zhǔn),其頻率用xi = 1表示;通過(guò)頻率比,求出其他關(guān)鍵詞的頻率xi,則該頁(yè)面對(duì)應(yīng)向量的每一維分量為xiwi,頁(yè)面主題用向量表示為:用兩個(gè)向量夾角的余弦表示頁(yè)面的主題相關(guān)度:指定一個(gè)閾值r,當(dāng)時(shí)就可以認(rèn)為該頁(yè)面和主題是比較相關(guān)的,r的取值根據(jù)經(jīng)驗(yàn)和實(shí)際要求確定。如果想獲得較多的頁(yè)面,可以把r設(shè)小一點(diǎn);要獲得較少的頁(yè)面,可以把r設(shè)得大一點(diǎn)。1.3.2 基于概念分析的主題爬蟲(chóng)在基于概念的方案中,由于“知網(wǎng)”(英文名稱為Hownet)能夠?yàn)闈h語(yǔ)語(yǔ)義處理提供一個(gè)比較全面的語(yǔ)義知識(shí)庫(kù),可以此作為基于概念的主題相關(guān)度分析的概念網(wǎng)絡(luò)。所有的關(guān)鍵詞t形成關(guān)鍵詞集合,設(shè)關(guān)鍵詞有個(gè)概念義,記:從關(guān)鍵詞集合T轉(zhuǎn)化擴(kuò)充得到關(guān)鍵詞概念集合,其元素為每個(gè)關(guān)鍵詞的每個(gè)概念義,令,其中,表示第i個(gè)關(guān)鍵詞的第j個(gè)概念義,則有考慮一詞多義,刪除其他完全相同的概念,將集合變?yōu)楦拍罴螩,設(shè)由m 個(gè)概念組成,記為。把概念的個(gè)數(shù)m 為向量的維數(shù),每個(gè)概念的權(quán)重 (該概念對(duì)于主題的貢獻(xiàn)度) 作為每一維分量的大小,得到主題的新的向量表示。然后,與基于關(guān)鍵詞的方案對(duì)應(yīng),對(duì)頁(yè)面進(jìn)行概念提取,在概念集合C上頁(yè)面d的特征向量為:其中為概念在頁(yè)面d中的權(quán)重5 ,最終得到新的頁(yè)面主題向量表示。最后,計(jì)算, 并將它和指定的閾值r進(jìn)行比較,來(lái)判斷頁(yè)面的主題相關(guān)度,決定頁(yè)面的取舍。1.3.3 基于本體語(yǔ)義分析的主題爬蟲(chóng)要根據(jù)語(yǔ)義判定主題相關(guān)性,可采用從頁(yè)面分析入手,將頁(yè)面中與主題詞具有相同概念的其他關(guān)鍵詞(主要指其同義詞和下義詞) 都替換成概念,這樣頁(yè)面與主題特征向量R 就能實(shí)現(xiàn)語(yǔ)義層次上的相似性判斷,而且不會(huì)增加主題特征向量R的維數(shù),也不存在新添加概念的權(quán)值確定問(wèn)題。由于ontology 具有良好的概念層次及概念間、屬性間關(guān)系定義,因而能很方便地獲得一個(gè)詞語(yǔ)的同義詞或上、下義詞。Hownet 是一個(gè)人工構(gòu)建的目前已被廣泛認(rèn)可的ontology ,它以詞語(yǔ)所代表的概念為描述對(duì)象,以揭示概念和概念之間以及概念所具有的屬性之間的關(guān)系為基本內(nèi)容6。因此本分析中直接采用Hownet,而不另外構(gòu)建ontology。一種做法是檢查頁(yè)面中所有名詞(因?yàn)橹黝}特征項(xiàng)一般都是名詞)的同義詞和n 代上義詞看能否與主題特征集中的特征項(xiàng)匹配,能的話則將該名詞替換成該特征項(xiàng),從而實(shí)現(xiàn)將關(guān)鍵詞聚集成概念,如算法1。算法1 頁(yè)面語(yǔ)義化算法 頁(yè)面中每一個(gè)名詞;主題特征集k;基于語(yǔ)義的新頁(yè)面 (初始時(shí)與原頁(yè)面相同); 每個(gè)特征項(xiàng)在語(yǔ)義頁(yè)面中總共出現(xiàn)的頻率;在頁(yè)面中各個(gè)位置中出現(xiàn)的頻率,n表示特征詞出現(xiàn)位置(如標(biāo)題,鏈接,加強(qiáng)文本等);對(duì)每個(gè)將及用Hownet 擴(kuò)展出的的同義詞及n 代上義詞,存入集合temp;對(duì)k 中的每個(gè)特征項(xiàng) If (在的集合temp中) 將中的替換成;+;/計(jì)算出現(xiàn)頻率根據(jù)在頁(yè)面中位置n,計(jì)算在頁(yè)面中不同位置出現(xiàn)的頻率;由于算法1需對(duì)頁(yè)面中的每個(gè)名詞都進(jìn)行擴(kuò)展,再進(jìn)行匹配,會(huì)浪費(fèi)許多時(shí)間在擴(kuò)展主題無(wú)關(guān)名詞上,使算法的效率不高,難于適應(yīng)實(shí)時(shí)過(guò)濾的需求。實(shí)際上關(guān)鍵是要計(jì)算語(yǔ)義頁(yè)面的特征向量。由于要實(shí)現(xiàn)網(wǎng)頁(yè)的實(shí)時(shí)過(guò)濾,所以不采用傳統(tǒng)的TF-IDF公式計(jì)算權(quán)值,而采用根據(jù)網(wǎng)頁(yè)中信息的位置改進(jìn)的權(quán)值計(jì)算公式。因而只需獲得每個(gè)特征項(xiàng)在語(yǔ)義頁(yè)面中出現(xiàn)的頻率及在語(yǔ)義頁(yè)面中不同位置的出現(xiàn)頻率。根據(jù)這個(gè)需求,提出算法2。算法2計(jì)算每個(gè)特征詞的所有擴(kuò)展詞在頁(yè)面中出現(xiàn)的頻率,也就是特征詞在語(yǔ)義頁(yè)面中的出現(xiàn)頻率。這樣達(dá)到了與算法1同樣的效果,卻大大降低了算法的復(fù)雜性,需要的只是簡(jiǎn)單的求和,適合實(shí)時(shí)過(guò)濾。算法2 頁(yè)面語(yǔ)義化改進(jìn)算法對(duì)k 中的每個(gè)特征項(xiàng)記集合,其中表示用Hownet擴(kuò)展出的同義詞或n 代下義詞;將temp中各元素在頁(yè)面中出現(xiàn)的頻率累加得;據(jù)temp中各元素在頁(yè)面中的位置得出在頁(yè)面中不同位置出現(xiàn)的頻率;網(wǎng)頁(yè)上不同位置的信息具有不同的重要性(如標(biāo)題文本一般比普通文本重要),我們提出了實(shí)時(shí)過(guò)濾的加權(quán)特征項(xiàng)權(quán)值計(jì)算公式 (1)其中,表示位置加權(quán)系數(shù),用特征詞出現(xiàn)的位置權(quán)值與對(duì)應(yīng)位置的頻率的乘積和來(lái)計(jì)算??捎伤惴?獲得,而位置權(quán)值的確定,研究發(fā)現(xiàn)網(wǎng)頁(yè)中的錨文本(anchor text)最能反映頁(yè)面內(nèi)容,應(yīng)賦予最高權(quán)值;而標(biāo)題(title)、大標(biāo)題(H1、H2)、加強(qiáng)文本( strong)也比較能反映頁(yè)面內(nèi)容,賦予次高權(quán)值。具體賦值如下:,表示頁(yè)面中的特征項(xiàng)的標(biāo)準(zhǔn)化頻率,即用特征項(xiàng)在頁(yè)面中出現(xiàn)的頻率除以在頁(yè)面中出現(xiàn)頻率最高的特征項(xiàng)的頻率。,都可由算法2。表示特征項(xiàng)預(yù)先給定的權(quán)值。在計(jì)算出語(yǔ)義頁(yè)面的特征向量后,就可以計(jì)算與主題特征向量R 的相關(guān)性。1.4 主題爬蟲(chóng)界面和數(shù)據(jù)庫(kù)設(shè)計(jì)概述1.4.1 界面設(shè)計(jì)概述界面設(shè)計(jì)是開(kāi)發(fā)中一個(gè)重要的方面,并將涉及到整個(gè)開(kāi)發(fā)隊(duì)伍。有效的界面設(shè)計(jì)經(jīng)常是預(yù)見(jiàn)的過(guò)程,設(shè)計(jì)目標(biāo)是開(kāi)發(fā)者根據(jù)自己對(duì)用戶需求的理解而制定的。優(yōu)秀的界面簡(jiǎn)單且用戶樂(lè)于使用,這意味著設(shè)計(jì)需適應(yīng)硬件的局限。成功的界面設(shè)計(jì)不僅僅依賴于圖片或聲音,還依賴于比圖片和聲音更精細(xì)的元素。真正豐富多彩的是用戶和多媒體本身(即計(jì)算機(jī))帶到工作臺(tái)來(lái)的期望度。主要期望在于機(jī)器在與用戶對(duì)話時(shí),首先要確定用戶在等待計(jì)算機(jī)反應(yīng)時(shí)能忍耐多長(zhǎng)時(shí)間;其次是要事先給機(jī)器規(guī)定的例子是,多媒體產(chǎn)品中選擇項(xiàng)的范圍寬度,或各種各樣分散的選擇項(xiàng)應(yīng)集成的程度7。由于多媒體產(chǎn)品總是為某類用戶制作的,在設(shè)計(jì)用戶界面時(shí)要考慮的最重要的因素是用戶的期望。盡管制作界面的創(chuàng)新外觀存在極大的可能性,統(tǒng)一的外觀仍很重要,當(dāng)同這一媒介對(duì)話時(shí),用戶應(yīng)能作出智能選擇,以便享受體驗(yàn)或發(fā)現(xiàn)它的用處。在界面設(shè)計(jì)中,形式應(yīng)當(dāng)符合功能。值得記住的是當(dāng)設(shè)計(jì)者為用戶建立了某一功能,用戶希望這一功能在全部多媒體體驗(yàn)中是一致的。界面設(shè)計(jì)者,也即多媒體開(kāi)發(fā)組的科學(xué)掌舵人主要是要回答類似的問(wèn)題8。從藝術(shù)、技術(shù),有時(shí)是商業(yè)角度看,界面設(shè)計(jì)也許是整個(gè)項(xiàng)目中最重要的決策。本文主要通過(guò)對(duì)本系統(tǒng)用戶可能需要功能的預(yù)測(cè),對(duì)爬蟲(chóng)系統(tǒng)窗口以及搜索窗口的布局設(shè)計(jì),爭(zhēng)取達(dá)到視覺(jué)和功能的統(tǒng)一,為后期系統(tǒng)應(yīng)用進(jìn)程奠定良好的基礎(chǔ)。1.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)概述性能良好的數(shù)據(jù)庫(kù)是應(yīng)用系統(tǒng)成功的基礎(chǔ)和保證9。但一個(gè)性能良好的數(shù)據(jù)庫(kù)的設(shè)計(jì)和開(kāi)發(fā)卻是一項(xiàng)龐大而復(fù)雜的工程。從事數(shù)據(jù)庫(kù)設(shè)計(jì)的人員,不僅要具備數(shù)據(jù)庫(kù)知識(shí)和數(shù)據(jù)庫(kù)設(shè)計(jì)技術(shù),還要有系統(tǒng)開(kāi)發(fā)的實(shí)際經(jīng)驗(yàn)。數(shù)據(jù)庫(kù)設(shè)計(jì)人員必須深入實(shí)際環(huán)境,密切聯(lián)系用戶,了解需求,學(xué)習(xí)業(yè)務(wù),這樣可以少走彎路,提高設(shè)計(jì)的成效。在本系統(tǒng)設(shè)計(jì)過(guò)程中需要對(duì)各種狀態(tài)下的URL進(jìn)行分析存儲(chǔ)設(shè)計(jì),具體描述如下。為了能夠方便的處理鏈接和主題相關(guān)度的計(jì)算,需要使用5個(gè)URL隊(duì)列,每個(gè)隊(duì)列保存著同一處理狀態(tài)的URL: 等待隊(duì)列 在這個(gè)隊(duì)列中,URL等待被爬蟲(chóng)處理,新發(fā)現(xiàn)的URL被加入到該隊(duì)列。 處理隊(duì)列 爬蟲(chóng)開(kāi)始處理URL時(shí),被傳送到這一隊(duì)列,為了保證同一個(gè)URL不能多次被處理,當(dāng)一個(gè)URL被處理過(guò)后,被移送到錯(cuò)誤隊(duì)列或者拋棄隊(duì)列或者完成隊(duì)列。 錯(cuò)誤隊(duì)列 如果在下載網(wǎng)頁(yè)時(shí)發(fā)生錯(cuò)誤,它的URL將被加入到錯(cuò)誤隊(duì)列,一旦移入錯(cuò)誤隊(duì)列,爬蟲(chóng)不會(huì)對(duì)它作進(jìn)一步處理。 拋棄隊(duì)列 如果下載網(wǎng)頁(yè)沒(méi)有發(fā)生錯(cuò)誤,且經(jīng)過(guò)主題相關(guān)度的計(jì)算小于閾值,則放入該隊(duì)列,一旦移入拋棄隊(duì)列,爬蟲(chóng)不會(huì)對(duì)它作進(jìn)一步處理。 完成隊(duì)列 如果下載網(wǎng)頁(yè)沒(méi)有發(fā)生錯(cuò)誤,如果下載網(wǎng)頁(yè)沒(méi)有發(fā)生錯(cuò)誤,且經(jīng)過(guò)主題相關(guān)度的計(jì)算大于等于閾值,就要把從中發(fā)現(xiàn)的URL放入等待隊(duì)列,處理完畢把它加入到完成隊(duì)列,到達(dá)這一隊(duì)列將等待排序模塊的處理。本系統(tǒng)原則上對(duì)每個(gè)狀態(tài)的隊(duì)列都有一張數(shù)據(jù)庫(kù)表與之對(duì)應(yīng),但由于系統(tǒng)所涉及的數(shù)據(jù)量比較龐大,對(duì)每種狀態(tài)都進(jìn)行數(shù)據(jù)庫(kù)存取操作,這樣對(duì)數(shù)據(jù)的存儲(chǔ)機(jī)制會(huì)造成一定的壓力,綜合考慮后只保留最終結(jié)果,即完成隊(duì)列,對(duì)于其他狀態(tài)下的隊(duì)列采取內(nèi)存緩存存儲(chǔ),這樣雖然占用的系統(tǒng)資源比較多,但爬行系統(tǒng)的工作效率會(huì)有顯著的提高,第二章 系統(tǒng)界面設(shè)計(jì)界面設(shè)計(jì)是人與機(jī)器之間傳遞和交換信息的媒介,包括硬件界面和軟件界面,是計(jì)算機(jī)科學(xué)與心理學(xué)、設(shè)計(jì)藝術(shù)學(xué)、認(rèn)知科學(xué)和人機(jī)工程學(xué)的交叉研究領(lǐng)域。軟件用戶界面(Software User Interface)是指軟件用于和用戶交流的外觀、部件和程序等等。軟件界面的設(shè)計(jì),既要從外觀上進(jìn)行創(chuàng)意以到達(dá)吸引眼球的目的,還要結(jié)合圖形和版面設(shè)計(jì)的相關(guān)原理,從而使得軟件設(shè)計(jì)變成了一門(mén)獨(dú)特的藝術(shù)。通常的講,企業(yè)軟件用戶界面的設(shè)計(jì)應(yīng)遵循幾個(gè)基本原則:用戶導(dǎo)向(User oriented)原則、KISS(Keep It Simple And Stupid)原則、布局控制、視覺(jué)平衡、色彩的搭配和文字的可閱讀性、和諧與一致性以及個(gè)性化。近年來(lái),隨著信息技術(shù)與計(jì)算機(jī)技術(shù)的迅速發(fā)展,網(wǎng)絡(luò)技術(shù)的突飛猛進(jìn),人機(jī)界面設(shè)計(jì)和開(kāi)發(fā)已成為國(guó)際計(jì)算機(jī)界和設(shè)計(jì)界最為活躍的研究方向。2.1 界面設(shè)計(jì)目標(biāo)界面設(shè)計(jì)主要是為了達(dá)到以下目的: 以用戶為中心。設(shè)計(jì)由用戶控制的界面,而不是界面控制用戶。 清楚一致的設(shè)計(jì)。所有界面的風(fēng)格保持一致,所有具有相同含義的術(shù)語(yǔ)保持一致,易于理解和使用。 擁有良好的直覺(jué)特征。以用戶所熟悉的現(xiàn)實(shí)世界事務(wù)的抽象來(lái)給用戶暗示和隱喻,來(lái)幫助用戶能迅速學(xué)會(huì)軟件的使用。 較快的響應(yīng)速度。 簡(jiǎn)潔、美觀。2.2 爬蟲(chóng)界面設(shè)計(jì)2.2.1 界面功能本界面是爬蟲(chóng)系統(tǒng)的主要設(shè)計(jì)部分,使用對(duì)象一般為管理員,通過(guò)此界面管理員可以為所需要爬行的主題做些前期準(zhǔn)備,包括主題的錄入和主題相關(guān)的關(guān)鍵字權(quán)重的設(shè)置,以及管理員為當(dāng)前主題精心篩選的優(yōu)良種子等信息,待管理員設(shè)置完畢后這些信息將被存到對(duì)應(yīng)該的數(shù)據(jù)庫(kù)表中以備使用,管理員可以通過(guò)添加按鈕隨時(shí)添加所需主題。界面還提供了爬蟲(chóng)運(yùn)行時(shí)的狀態(tài)顯示,以及爬蟲(chóng)數(shù)量的設(shè)置。在系統(tǒng)執(zhí)行分布式爬行時(shí)此界面還提供了控制中心(服務(wù)端)的IP地址指向,以便將爬行結(jié)果及時(shí)反饋給控制中心并申請(qǐng)新的任務(wù)。2.2.2 界面元素分析爬蟲(chóng)系統(tǒng)界面運(yùn)行結(jié)果如下圖:圖2.2.1 爬蟲(chóng)界面結(jié)果圖界面中各元素的標(biāo)簽、控件名稱、控件類型以及功能介紹如下表所示:表2.2.2 界面元素分析表標(biāo)簽控件名稱控件類型作用控制中心txtControlCentreTextBox實(shí)現(xiàn)控制多臺(tái)主機(jī)爬行的主機(jī)IP地址爬蟲(chóng)數(shù)量txtCountTextBox人工設(shè)置主題爬蟲(chóng)所需數(shù)量主題txtSubjectTextBox添加新主題或者輸入已存在的主題準(zhǔn)備爬行啟動(dòng)按鈕btnStartButton主題相關(guān)設(shè)置完畢后啟動(dòng)爬行系統(tǒng)添加按鈕btnAddsubjectButton添加按鈕把新主題添加到數(shù)據(jù)庫(kù)中停止按鈕btnStopButton停止當(dāng)前的爬行狀態(tài)主題設(shè)置dgvKeyWordsDataGridView顯示已有主題或設(shè)置新主題的關(guān)鍵字和權(quán)重種子設(shè)置dgvSeedsDataGridView顯示已有主題或設(shè)置新主題的搜索入口URL狀態(tài)欄statusStripStatusStrip顯示當(dāng)前爬行網(wǎng)頁(yè)狀態(tài)和活動(dòng)爬蟲(chóng)數(shù)量2.2.3 過(guò)程分析運(yùn)行過(guò)程流程如下圖2.2.3所示,首先若采用的是分布式爬蟲(chóng)策略即由一臺(tái)主機(jī)控制多臺(tái)客戶端的模式運(yùn)行,則需在客戶端的控制中心處設(shè)置此主機(jī)的IP地址,接著設(shè)置爬蟲(chóng)的數(shù)量,數(shù)量沒(méi)有限制,管理員可以根據(jù)實(shí)際機(jī)器的負(fù)載能力調(diào)節(jié);其次是在主題框處輸入所需爬行的主題,如果存在則可直接啟動(dòng)爬行系統(tǒng);否則應(yīng)設(shè)置主題的關(guān)鍵字和對(duì)應(yīng)關(guān)鍵字的權(quán)重值,接著設(shè)置為此主題挑選好的優(yōu)良種子URL;然后將添加保存上述設(shè)置后即可啟動(dòng)爬行系統(tǒng)。圖2.2.3 運(yùn)行流程圖2.3 用戶搜索界面設(shè)計(jì)2.3.1 界面功能本界面主要是針對(duì)的是用戶群,用戶可以通過(guò)此搜索界面搜索數(shù)據(jù)庫(kù)中已存在的相關(guān)主題,并將搜索結(jié)果,包括主題名稱以及主題相關(guān)內(nèi)容簡(jiǎn)述顯示在搜索頁(yè)面上,用戶可以點(diǎn)擊搜索結(jié)果查看完整信息;如果數(shù)據(jù)庫(kù)中不存在用戶所需要的主題,系統(tǒng)則將新主題存入新主題數(shù)據(jù)庫(kù)表,等待管理員重新爬行后更新數(shù)據(jù)庫(kù)。此外,搜索頁(yè)面輸入框還帶有自動(dòng)提示功能,可以將用戶所輸入的內(nèi)容作為前綴在數(shù)據(jù)庫(kù)主題表中進(jìn)行檢索,把符合條件的主題顯示在列表里供用戶選擇。2.3.2 界面元素分析 搜索界面運(yùn)行結(jié)果如下圖:圖1 搜索界面圖 搜索結(jié)果如下圖:圖2 搜索結(jié)果圖界面界面中各元素的標(biāo)簽、控件名稱、控件類型以及功能介紹如下表所示:表2.3.2 界面元素分析表標(biāo)簽控件名稱控件類型作用頁(yè)面LogoLogoTextBox頁(yè)面標(biāo)志主題輸入txtKeywordTextBox接收用戶所搜索主題的錄入搜索按鈕btnSearchTextBox啟動(dòng)搜索引擎插件控件autoCompleteExtenderAutoCompleteExtender實(shí)現(xiàn)自動(dòng)提示功能的控件插件控件scriptManagerScriptManager顯示自動(dòng)提示檢索結(jié)果結(jié)果顯示rptResultRptResult顯示用戶搜索結(jié)果2.3.3 過(guò)程分析運(yùn)行過(guò)程流程如下圖2.3.3所示,首先用戶將所需搜索的主題輸入搜索框,啟動(dòng)搜索引擎,如果主題存在數(shù)據(jù)庫(kù)中則頁(yè)面返回搜索結(jié)果;若主題不存在則跳轉(zhuǎn)到出錯(cuò)頁(yè)面,提示用戶沒(méi)有所搜索的主題,系統(tǒng)自動(dòng)將新主題錄入到后臺(tái)數(shù)據(jù)庫(kù)新主題表中。圖2.3.3 運(yùn)行流程圖第三章 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)(Database Design)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫(kù)模式,建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)數(shù)據(jù),滿足各種用戶的應(yīng)用需求(信息要求和處理要求)。數(shù)據(jù)庫(kù)設(shè)計(jì)有三個(gè)特點(diǎn),首先數(shù)據(jù)庫(kù)建設(shè)是硬件、軟件和干件的結(jié)合;其次數(shù)據(jù)庫(kù)設(shè)計(jì)應(yīng)該與應(yīng)用系統(tǒng)設(shè)計(jì)相結(jié)合;再次數(shù)據(jù)庫(kù)設(shè)計(jì)是結(jié)構(gòu)和行為分離的設(shè)計(jì)。從設(shè)計(jì)過(guò)程形式化的程度來(lái)看,數(shù)據(jù)庫(kù)設(shè)計(jì)方法可分為三大類:手工試湊法、規(guī)范設(shè)計(jì)法、計(jì)算機(jī)輔助設(shè)計(jì)法10。 手工試湊法。與設(shè)計(jì)人員的經(jīng)驗(yàn)和技巧有直接關(guān)系,可以用于設(shè)計(jì)一些小型系統(tǒng)。它是一種技藝而不是工程技術(shù)。 規(guī)范化設(shè)計(jì)方法。是對(duì)手工試湊法的改進(jìn),人們運(yùn)用軟件工程的思想和方法,提出了各種設(shè)計(jì)準(zhǔn)則或規(guī)程,形成了規(guī)范化設(shè)計(jì)方法。這其中比較著名的有新奧爾良方法、Howe的十二步法和Barker方法。規(guī)范化方法都強(qiáng)調(diào)設(shè)計(jì)過(guò)程的工程化管理及設(shè)計(jì)文檔的重要性。 計(jì)算機(jī)輔助設(shè)計(jì)方法。是利用一些專門(mén)的軟件工具來(lái)支持?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)過(guò)程。早期的工具只能支持?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)的某一階段。近十年來(lái),市場(chǎng)已出現(xiàn)了一些支持(幾乎)整個(gè)數(shù)據(jù)庫(kù)生命周期的大型商品化工具,其中較著名的如表3.1所示:表3.1數(shù)據(jù)庫(kù)輔助設(shè)計(jì)工具產(chǎn)品功能公司Power Designer支持?jǐn)?shù)據(jù)庫(kù)建模和應(yīng)用開(kāi)發(fā)且不一定要求Sybase數(shù)據(jù)庫(kù)環(huán)境。SybaseDesigner分析設(shè)計(jì)工具,支持?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)的各個(gè)階段,常和Developer(應(yīng)用開(kāi)發(fā)工具)一起使用。需要Oracle數(shù)據(jù)庫(kù)環(huán)境。OracleERwin支持?jǐn)?shù)據(jù)庫(kù)設(shè)計(jì)的各個(gè)階段,還支持事務(wù)和數(shù)據(jù)倉(cāng)庫(kù)設(shè)計(jì)。Computer AssociatesVisio、Database DesignerVisio是圖形工具集,其中提供了設(shè)計(jì)ER圖的工具。Database Designer是一個(gè)嵌入在SQL Server和Access中的圖形工具。所建立的圖稱為Database Diagram這種圖不是ER圖,它實(shí)際上是數(shù)據(jù)庫(kù)邏輯模式的圖形化。Microsoft3.1 數(shù)據(jù)庫(kù)設(shè)計(jì)目標(biāo)數(shù)據(jù)庫(kù)的設(shè)計(jì)主要是為了達(dá)到以下目的: 數(shù)據(jù)的存儲(chǔ)量和精確度盡可能地滿足用戶的需求。 良好的數(shù)據(jù)庫(kù)性能。 提高存儲(chǔ)空間的利用率,減少冗余數(shù)據(jù)。 良好的處理多線程互斥的能力。3.2 系統(tǒng)需求分析需求分析簡(jiǎn)單地說(shuō)就是分析用戶的要求。需求分析是設(shè)計(jì)數(shù)據(jù)庫(kù)的起點(diǎn),需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用。3.2.1 需求分析的任務(wù)需求分析的任務(wù)是通過(guò)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門(mén)、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求,然后在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來(lái)設(shè)計(jì)數(shù)據(jù)庫(kù)。需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求11: 信息要求是指用戶需要從數(shù)據(jù)庫(kù)中獲得信息的內(nèi)容與性質(zhì)。由用戶的信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫(kù)中需要存儲(chǔ)哪些數(shù)據(jù)。 處理要求是指用戶要求完成什么處理功能,對(duì)處理的響應(yīng)時(shí)間有什么要求,處理方式是批處理還是聯(lián)機(jī)處理。 新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。根據(jù)需求分析以上三個(gè)重點(diǎn)對(duì)主題網(wǎng)絡(luò)爬蟲(chóng)特別是數(shù)據(jù)方面的需求分析得到,首先主題爬蟲(chóng)爬行的對(duì)象是整個(gè)Internet,從中篩選出符合條件的資源,包括URL指向,關(guān)鍵詞以及相關(guān)的內(nèi)容等等,由此可見(jiàn)所涉及的信息量是巨大的。通過(guò)分析,本系統(tǒng)主要存儲(chǔ)的數(shù)據(jù)為像URL、主題、關(guān)鍵字和相關(guān)內(nèi)容等文本數(shù)據(jù);還有就是像主題ID號(hào)、關(guān)鍵字權(quán)重值等數(shù)字?jǐn)?shù)據(jù)。本系統(tǒng)的處理方式采用的是聯(lián)機(jī)處理,對(duì)處理的響應(yīng)時(shí)間由網(wǎng)絡(luò)帶寬和搜索策略及搜索算法決定,在網(wǎng)絡(luò)帶寬受限的情況下應(yīng)該盡可能的改進(jìn)策略和算法,使處理速度得以提升。對(duì)數(shù)據(jù)存儲(chǔ)方面應(yīng)該通過(guò)實(shí)驗(yàn)計(jì)算取得數(shù)據(jù)庫(kù)存取速度和存儲(chǔ)性能的平衡點(diǎn),不要因?yàn)檫^(guò)度頻繁地訪問(wèn)數(shù)據(jù)庫(kù)造成數(shù)據(jù)庫(kù)存儲(chǔ)性能的下降。對(duì)數(shù)據(jù)安全性和完整性方面,數(shù)據(jù)庫(kù)表中字段類型,長(zhǎng)度應(yīng)該把握好,能夠在爬行系統(tǒng)將爬行到的結(jié)果傳來(lái)時(shí)不存入臟數(shù)據(jù),不丟失數(shù)據(jù),數(shù)據(jù)存儲(chǔ)量盡可能滿足用戶的需求。3.2.2 需求分析的方法進(jìn)行需求分析首先是調(diào)查清楚用戶的實(shí)際要求,與用戶達(dá)成共識(shí),然后分析與表達(dá)這些需求。需求分析的一般步驟是:(1) 繪制系統(tǒng)關(guān)聯(lián)圖,這種關(guān)聯(lián)圖是用于定義系統(tǒng)與系統(tǒng)外部實(shí)體間的界限和接口的簡(jiǎn)單模型。同時(shí)它也明確了通過(guò)接口的信息流和物質(zhì)流。(2) 創(chuàng)建用戶接口原型,當(dāng)開(kāi)發(fā)人員或用戶不能確定需求時(shí),開(kāi)發(fā)一個(gè)用戶接口原型,一個(gè)可能的局部實(shí)現(xiàn)這樣使得許多概念和可能發(fā)生的事更為直觀明了。用戶通過(guò)評(píng)價(jià)原型將使項(xiàng)目參與者能更好地相互理解所要解決的問(wèn)題。注意要找出需求文檔與原型之間所有的沖突之處。(3) 分析需求可行性,在允許的成本、性能要求下,分析每項(xiàng)需求實(shí)施的可行性,明確與每項(xiàng)需求實(shí)現(xiàn)相聯(lián)系的風(fēng)險(xiǎn),包括與其它需求的沖突,對(duì)外界因素的依賴和技術(shù)障礙。(4) 確定需求的優(yōu)先級(jí)別,應(yīng)用分析方法來(lái)確定使用實(shí)例、產(chǎn)品特性或單項(xiàng)需求實(shí)現(xiàn)的優(yōu)先級(jí)別。以優(yōu)先級(jí)為基礎(chǔ)確定產(chǎn)品版本將包括哪些特性或哪類需求。當(dāng)允許需求變更時(shí),在特定的版本中加入每一項(xiàng)變更,并在那個(gè)版本計(jì)劃中作出需要的變更。(5) 為需求建立模型,需求的圖形分析模型是軟件需求規(guī)格說(shuō)明極好的補(bǔ)充說(shuō)明。它們能提供不同的信息與關(guān)系以有助于找到不正確的、不一致的、遺漏的和冗余的需求。這樣的模型包括數(shù)據(jù)流圖、實(shí)體關(guān)系圖、狀態(tài)變換圖、對(duì)話框圖、對(duì)象類及交互作用圖。(6) 創(chuàng)建數(shù)據(jù)字典,數(shù)據(jù)字典是對(duì)系統(tǒng)用到的所有數(shù)據(jù)項(xiàng)和結(jié)構(gòu)的定義,以確保開(kāi)發(fā)人員使用統(tǒng)一的數(shù)據(jù)定義。在需求階段,數(shù)據(jù)字典至少應(yīng)定義客戶數(shù)據(jù)項(xiàng)以確??蛻襞c開(kāi)發(fā)小組是使用一致的定義和術(shù)語(yǔ)。分析和設(shè)計(jì)工具通常包括數(shù)據(jù)字典組件。3.3 概念結(jié)構(gòu)設(shè)計(jì)3.3.1 概念結(jié)構(gòu)在需求分析階段所得到的應(yīng)用需求應(yīng)該首先抽象為信息世界的結(jié)構(gòu),才能更好地、更準(zhǔn)確地用某一DBMS實(shí)現(xiàn)這些需求。概念結(jié)構(gòu)的主要特點(diǎn)是:(1) 能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理需求,是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型;(2) 易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見(jiàn),用戶的積極參與是數(shù)據(jù)庫(kù)設(shè)計(jì)成功的關(guān)鍵(3) 易于修改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和擴(kuò)充;(4) 易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的有力工具是E-R模型。下面將用E-R模型來(lái)描述概念結(jié)構(gòu)。3.3.2 概念結(jié)構(gòu)設(shè)計(jì)對(duì)什么條件的事物可以作為屬性來(lái)對(duì)待,以下給出現(xiàn)兩條準(zhǔn)則:(1) 作為“屬性”,不能再具有需要描述的性質(zhì)。“屬性”必須是不可分的數(shù)據(jù)項(xiàng),不能包含其他的屬性。(2) “屬性”不能與其他實(shí)體具有聯(lián)系,即E-R圖中所表示的聯(lián)系是實(shí)體之間的聯(lián)系。首先對(duì)爬蟲(chóng)系統(tǒng)中用到的實(shí)體進(jìn)行分析: 圖1 管理員圖2 用戶圖3 索引主題圖4 爬蟲(chóng)系統(tǒng)圖5 萬(wàn)維網(wǎng)圖6 搜索引擎 圖7 數(shù)據(jù)庫(kù)圖8 主題合并分實(shí)體,形成完整的E-R(實(shí)體-聯(lián)系)圖如下:圖9 系統(tǒng)完整E-R圖3.4 邏輯結(jié)構(gòu)設(shè)計(jì)3.4.1 邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)化為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。設(shè)計(jì)邏輯結(jié)構(gòu)時(shí)一般要分3步進(jìn)行:(1) 將概念結(jié)構(gòu)轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型;(2) 將轉(zhuǎn)換來(lái)的關(guān)系、網(wǎng)狀、層次模型向特定的DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3) 對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化。一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。3.4.2 邏輯結(jié)構(gòu)設(shè)計(jì)對(duì)于實(shí)體間的聯(lián)系有以下不同的情況:(1) 一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并;(2) 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并;(3) 一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式;(4) 3個(gè)或是3個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系可以轉(zhuǎn)換為一個(gè)關(guān)系模式;(5) 具有相同碼的關(guān)系模式可合并。下面把圖9中的系統(tǒng)完整E-R圖轉(zhuǎn)化為關(guān)系模型,關(guān)系的碼用下劃線標(biāo)出。 管理員(管理員ID,姓名,);此為管理員實(shí)體對(duì)應(yīng)的關(guān)系模式。 主題(主題ID,主題名,關(guān)鍵字,權(quán)重,種子,);此為主題實(shí)體對(duì)應(yīng)的關(guān)系模式。 爬蟲(chóng)系統(tǒng)(爬蟲(chóng)數(shù)量,爬蟲(chóng)地址,爬蟲(chóng)狀態(tài),);此為爬蟲(chóng)系統(tǒng)實(shí)體對(duì)應(yīng)關(guān)系模式。 萬(wàn)維網(wǎng)(地址URL,內(nèi)容,權(quán)限,);此為萬(wàn)維網(wǎng)實(shí)體對(duì)應(yīng)的關(guān)系模式。 搜索引擎(目標(biāo)地址,返回地址,搜索結(jié)果,效率,);此為搜索引擎關(guān)系模式。 數(shù)據(jù)庫(kù)(數(shù)據(jù)庫(kù)名,數(shù)據(jù)庫(kù)列表,大小,表的數(shù)量,);此為數(shù)據(jù)庫(kù)對(duì)應(yīng)關(guān)系模式。 索引主題(主題ID,主題名稱,);此為索引主題實(shí)體對(duì)應(yīng)的關(guān)系模式。 用戶(用戶名,用戶類型,);此為用戶實(shí)體對(duì)應(yīng)的關(guān)系模式。形成了一般的數(shù)據(jù)模型后,下一步就是向特定的RDBMS的模型轉(zhuǎn)換。對(duì)于目前的大部分RDBMS來(lái)說(shuō),一般不必轉(zhuǎn)換。3.5 數(shù)據(jù)庫(kù)物理結(jié)構(gòu)設(shè)計(jì)3.5.1 物理結(jié)構(gòu)數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論