一個小型搜索引擎的設(shè)計與實現(xiàn)-ASP語言畢業(yè)設(shè)計_第1頁
一個小型搜索引擎的設(shè)計與實現(xiàn)-ASP語言畢業(yè)設(shè)計_第2頁
一個小型搜索引擎的設(shè)計與實現(xiàn)-ASP語言畢業(yè)設(shè)計_第3頁
一個小型搜索引擎的設(shè)計與實現(xiàn)-ASP語言畢業(yè)設(shè)計_第4頁
一個小型搜索引擎的設(shè)計與實現(xiàn)-ASP語言畢業(yè)設(shè)計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、分類號分類號:TP315 U D C: D10621-408-(20XX) 5794-0 密密 級級:公公 開開 編編 號號:20XX215061 X X 科科 技技 大大 學(xué)學(xué) 學(xué)學(xué) 位位 論論 文文 一個小型搜索引擎的設(shè)計與實現(xiàn)一個小型搜索引擎的設(shè)計與實現(xiàn) 論文作者姓名論文作者姓名: 王王 海海 鈺鈺 申請學(xué)位專業(yè)申請學(xué)位專業(yè): 網(wǎng)絡(luò)工程網(wǎng)絡(luò)工程 申請學(xué)位類別申請學(xué)位類別: 工學(xué)學(xué)士工學(xué)學(xué)士 指指導(dǎo)導(dǎo)教教師師姓姓名名 (職職稱稱 ): 王王 翔翔 論文提交日期論文提交日期: 20XX 年年 07 月月 25 日日 一個小型搜索引擎的設(shè)計與實現(xiàn)一個小型搜索引擎的設(shè)計與實現(xiàn) 摘摘 要要 隨著互

2、聯(lián)網(wǎng)和寬帶上網(wǎng)的普及,搜索引擎在中國異軍突起,并日益滲透到人們 的日常生活中,在互聯(lián)網(wǎng)普及之前,人們查閱資料首先想到的是擁有大量書籍的資 料的圖書館。但是今天很多人都會選擇一種更方便、快捷、全面、準(zhǔn)確的查閱 方式-互聯(lián)網(wǎng)。而幫助我們在整個互聯(lián)網(wǎng)上快速地查找到目標(biāo)信息的就是越來 越被重視的搜索引擎。 本文通過分析國內(nèi)外搜索引擎的發(fā)展現(xiàn)狀,提出了一種功能強(qiáng)大,操作簡單, 通用性強(qiáng),可以滿足用戶對信息搜索需要,利用 ASP 技術(shù)實現(xiàn)的一個 B/S 體系結(jié) 構(gòu)的搜索引擎系統(tǒng)方案。文中著重論述了該系統(tǒng)的功能與實現(xiàn)、數(shù)據(jù)流程與存 儲、后臺管理等。并對關(guān)鍵的有關(guān)技術(shù)作了較詳細(xì)的介紹。論文在撰寫過程中, 力求

3、將理論與系統(tǒng)應(yīng)用相結(jié)合,對各種理論進(jìn)行闡述的同時配合系統(tǒng)從實際應(yīng)用 和操作技巧上加以說明,希望能夠更充分地體現(xiàn)到這些知識與技術(shù)在本系統(tǒng)中的 應(yīng)用與實現(xiàn)。 關(guān)鍵詞關(guān)鍵詞:搜索引擎;ASP;B/S;關(guān)鍵字 The Design and Implementation of a Small Search Engine Abstract With the popularization of the Internet and surfing the Net broadband search engine likes a dark horse in China, going to peoples daily

4、 life day by day. Before this, when people consult materials the first thought is the library that has a large number of books. Now, more and more people will choose Internet to search for information. Its more convenient, and accurate for searching information. The search engine that helps us in th

5、e whole Internet to quickly identify target information is played more and more attention to. Through analyzing the current development of search engine in domestic and international, this paper gives a plan that achieves the formidable function, simply operating, stronger versatility and satisfies

6、the users to the information search need, and realizes a systematic scheme of search engine of B/S system structure with the technology of ASP. This paper mainly describes the function and realization of this system, data procedure and storing, back-stage management, etc. And also introduces to the

7、key relevant technology in detail. During this period, Ive made a lot effort to union the theory and practice, and coordinates with system to explain from practical application and operation skill while explaining various kinds of theories, hope to more fully reflect the knowledge and application in

8、 this system of technology and realize. Key words: Search Engine; ASP; B/S; Keyword 目目 錄錄 論文總頁數(shù):23 頁 1 引言引言.1 1.1 課題背景.1 1.2 搜索引擎的發(fā)展動向.1 2 系統(tǒng)所用技系統(tǒng)所用技術(shù)術(shù)分析分析.2 2.1 系統(tǒng)開發(fā)環(huán)境.2 2.2 B/S 結(jié)構(gòu).2 2.3 IIS 簡介.2 2.4 Microsoft Access 簡介.2 2.5 ASP 簡介.3 3 系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計.3 3.1 數(shù)據(jù)庫設(shè)計.3 3.2 系統(tǒng)功能模塊圖.5 4 系統(tǒng)前臺模塊設(shè)計系統(tǒng)前臺模塊設(shè)計.6

9、4.1 網(wǎng)站搜索及圖片搜索模塊的實現(xiàn).6 4.1.1 功能描述.6 4.1.2 流程圖.6 4.1.3 界面設(shè)計.6 4.1.4 工作流程和代碼設(shè)計.7 4.2 分類目錄模塊的實現(xiàn).9 4.2.1 功能描述.9 4.2.2 代碼設(shè)計.9 4.3 網(wǎng)站登錄模塊的實現(xiàn).10 4.3.1 功能描述.10 4.3.2 數(shù)據(jù)流程圖.11 4.3.3 工作流程.11 4.4 網(wǎng)站修改模塊.12 4.4.1 功能描述.12 4.4.2 界面設(shè)計.13 4.4.3 工作流程.13 5 系統(tǒng)后臺模塊設(shè)計系統(tǒng)后臺模塊設(shè)計.14 5.1 網(wǎng)站管理模塊的實現(xiàn).15 5.1.1 功能描述.14 5.1.2 工作流程和代

10、碼設(shè)計.15 5.2 網(wǎng)站審核.16 5.3 分類管理模塊.16 5.3.1 分類編輯.16 5.3.2 分類添加.17 5.3.3 分類刪除.19 6 系統(tǒng)性能測試系統(tǒng)性能測試.20 6.1 系統(tǒng)測試環(huán)境.20 6.2 測試結(jié)果.20 結(jié)結(jié) 論論.20 參考文獻(xiàn)參考文獻(xiàn).21 致致 謝謝.22 聲聲 明明.23 第 1 頁 共 23 頁 1 引言引言 1.1 課題背景課題背景 隨著因特網(wǎng)的迅猛發(fā)展、Web 信息的增加,用戶要在信息海洋里查找信息, 就像大海撈針一樣, 搜索引擎技術(shù)恰好解決了這一難題。目前,搜索引擎系統(tǒng)可 以分類三大類,分別是:目錄式搜索引擎:以人工方式或半自動方式搜集信息,由

11、編 輯員查看信息之后,人工形成信息摘要,并將信息置于事先確定的分類框架中。機(jī) 器人搜索引擎:由一個稱為蜘蛛的機(jī)器人程序以某種策略自動地在互聯(lián)網(wǎng)中搜集 和發(fā)現(xiàn)信息,由索引器為搜集到的信息建立索引,由檢索器根據(jù)用戶的查詢輸入檢 索索引庫,并將查詢結(jié)果返回給用戶。元搜索引擎:這類搜索引擎沒有自己的數(shù)據(jù),而 是將用戶的查詢請求同時向多個搜索引擎遞交,將返回的結(jié)果進(jìn)行重復(fù)排除、重 新排序等處理后,作為自己的結(jié)果返回給用戶。 1.2 搜索引擎的發(fā)展動向搜索引擎的發(fā)展動向 搜索引擎已成為一個新的研究、開發(fā)領(lǐng)域。因為它要用到信息檢索、人工 智能、計算機(jī)網(wǎng)絡(luò)、分布式處理、數(shù)據(jù)庫、數(shù)據(jù)挖掘、數(shù)字圖書館、自然語言

12、處理等多領(lǐng)域的理論和技術(shù),所以具有綜合性和挑戰(zhàn)性。又由于搜索引擎有大量 的用戶,有很好的經(jīng)濟(jì)價值,所以引起了世界各國計算機(jī)科學(xué)界和信息產(chǎn)業(yè)界的高 度關(guān)注,目前的研究、開發(fā)十分活躍,并出現(xiàn)了很多值得注意的動向: (1)十分注意提高信息查詢結(jié)果的精度,提高檢索的有效性。用戶在搜索引擎 上進(jìn)行信息查詢時,并不十分關(guān)注返回結(jié)果的多少,而是看結(jié)果是否和自己的需求 吻合。 (2)基于智能代理的信息過濾和個性化服務(wù)。信息智能代理是另外一種利用 互聯(lián)網(wǎng)信息的機(jī)制。它使用自動獲得的領(lǐng)域模型(如 Web 知識、信息處理、與 用戶興趣相關(guān)的信息資源、領(lǐng)域組織結(jié)構(gòu))、用戶模型(如用戶背景、興趣、行 為、風(fēng)格)知識進(jìn)行

13、信息搜集、索引、過濾(包括興趣過濾和不良信息過濾),并自 動地將用戶感興趣的、對用戶有用的信息提交給用戶。 (3)采用分布式體系結(jié)構(gòu)提高系統(tǒng)規(guī)模和性能。搜索引擎的實現(xiàn)可以采用集 中式體系結(jié)構(gòu)和分布式體系結(jié)構(gòu),兩種方法各有千秋。但當(dāng)系統(tǒng)規(guī)模到達(dá)一定程 度(如網(wǎng)頁數(shù)達(dá)到億級)時,必然要采用某種分布式方法,以提高系統(tǒng)性能。 (4)重視交叉語言檢索的研究和開發(fā)。交叉語言信息檢索是指用戶用母語提 交查詢,搜索引擎在多種語言的數(shù)據(jù)庫中進(jìn)行信息檢索,返回能夠回答用戶問題的 所有語言的文檔。如果再加上機(jī)器翻譯,返回結(jié)果可以用母語顯示。該技術(shù)目前 還處于初步研究階段,主要的困難在于語言之間在表達(dá)方式和語義對應(yīng)上

14、的不確 定性。 第 2 頁 共 23 頁 2 系統(tǒng)所用技術(shù)分析系統(tǒng)所用技術(shù)分析 通過基于 Internet 互聯(lián)網(wǎng)的動態(tài) Web 數(shù)據(jù)庫技術(shù),可以解決遠(yuǎn)程的數(shù)據(jù)傳輸 與讀取,遠(yuǎn)程的客戶終端可以通過 Web 頁面提交請求,查詢遠(yuǎn)端的數(shù)據(jù)服務(wù)器上 的信息,同時還可以向遠(yuǎn)端數(shù)據(jù)服務(wù)器的數(shù)據(jù)庫中存儲信息以實現(xiàn)信息的共享,同 時利用 Internet 技術(shù)可以降低軟件的開發(fā)和部署成本,只要在服務(wù)器端安裝 WEB 應(yīng)用就可以使每個客戶端都能瀏覽使用。 2.1 系統(tǒng)開發(fā)環(huán)境系統(tǒng)開發(fā)環(huán)境 本搜索引擎系統(tǒng)是一個 B/S 結(jié)構(gòu)的系統(tǒng),它的發(fā)布需要有 Web 服務(wù)器的支 持,且需要數(shù)據(jù)庫系統(tǒng)來方便的對系統(tǒng)數(shù)據(jù)進(jìn)行存

15、儲,查詢,修改,刪除,及時更新系 統(tǒng)信息,同時需要一種簡單,方便的編程工具可以與數(shù)據(jù)庫進(jìn)行交互。鑒于上述需 求我選擇 IIS 5.0Microsoft AccessASP 作為我的開發(fā)環(huán)境。 2.2 B/S 結(jié)構(gòu)結(jié)構(gòu) B/S 結(jié)構(gòu),即 Browser/Server(瀏覽器/服務(wù)器)結(jié)構(gòu),是隨著 Internet 技術(shù)的興起, 對 C/S 結(jié)構(gòu)的一種改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶界面完全通過 WWW 瀏覽器 實現(xiàn),一部分事務(wù)邏輯在前端實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實現(xiàn),形成 3 層 結(jié)構(gòu)。B/S 結(jié)構(gòu)主要利用了不斷成熟的 WWW 瀏覽器技術(shù),結(jié)合瀏覽器的多種 Script 語言,用通用瀏覽器就

16、實現(xiàn)了原來需要復(fù)雜專用軟件才能實現(xiàn)的強(qiáng)大功能, 并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。 2.3 IIS 簡介簡介 IIS 是 Internet 信息服務(wù)(Internet Information Server)的縮寫,它是一種 Web 服 務(wù),主要包括 WWW 服務(wù)器、FTP 服務(wù)器等,使得在 Intranet(局域網(wǎng))或 Internet(因 特網(wǎng))上發(fā)布信息成了一件很容易的事。WWW 服務(wù)提供維護(hù)網(wǎng)站和網(wǎng)頁,并回 復(fù)基于瀏覽器的請求。有了 WWW 服務(wù)和它內(nèi)置的功能,通過 Internet 信息服務(wù) 器可以創(chuàng)建各種各樣的 Internet 應(yīng)用程序,加上其內(nèi)置的對數(shù)據(jù)庫連接的支持

17、,IIS 的功能就更強(qiáng)大。SQL 數(shù)據(jù)庫信息或其他任何符合 ODBC 的數(shù)據(jù)庫信息都能在 Internet/Intranet 上靈活應(yīng)用。 2.4 Microsoft Access 簡介簡介 Access 是 Office 系列軟件中用來專門管理數(shù)據(jù)庫的應(yīng)用軟件。所謂數(shù)據(jù)庫 是指經(jīng)過組織的、關(guān)于特定主題或?qū)ο蟮男畔⒓?。?shù)據(jù)庫管理系統(tǒng)分為兩類: 文件管理系統(tǒng)和關(guān)系型管理系統(tǒng)。Access 應(yīng)用程序就是一種功能強(qiáng)大且使用方 便的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),一般也稱關(guān)系型數(shù)據(jù)庫管理軟件。它可運(yùn)行于各種 Microsoft Windows 系統(tǒng)環(huán)境中,由于它繼承了 Windows 的特性,不僅易于使用,而

18、 且界面友好,如今在世界各地廣泛流行。它并不需要數(shù)據(jù)庫管理者具有專業(yè)的程 第 3 頁 共 23 頁 序設(shè)計水平,任何非專業(yè)的用戶都可以用它來創(chuàng)建功能強(qiáng)大的數(shù)據(jù)庫管理系統(tǒng)。 2.5 ASP 簡介簡介 ASP 全稱為 Active Server Pages,即動態(tài)服務(wù)器頁面,它是一套微軟開發(fā)的服 務(wù)器端腳本環(huán)境,ASP 內(nèi)含于 IIS 3.0 以上版本中,通過 ASP 我們可以結(jié)合 HTML 網(wǎng)頁、ASP 指令建立動態(tài)、交互且高效的 Web 服務(wù)器應(yīng)用程序。ASP 腳本在服 務(wù)器端解釋執(zhí)行,結(jié)果自動生成符合 HTML 語言的主頁去響應(yīng)用戶的請求。ASP 目前已成為目前應(yīng)用最廣泛的動態(tài)網(wǎng)頁開發(fā)工具,

19、同時應(yīng)用 ASP 進(jìn)行網(wǎng)絡(luò)化的信 息管理系統(tǒng)也逐步得到推廣。ASP 本身并不是一種腳本語言,它只是提供了一種 使鑲嵌在 HTML 頁面中的腳本程序得以運(yùn)行的環(huán)境。ASP 程序其實是以擴(kuò)展名 為.asp 的純文本形式存在于 Web 服務(wù)器上的,可以用任何文本編輯器打開它。 ASP 程序中可以包含純文本、HTML 標(biāo)記以及腳本命令。用戶只需將.asp 程序 放在 Web 服務(wù)器的虛擬目錄下(該目錄必須要有可執(zhí)行權(quán)限),就可以通過 WWW 的方式訪問 ASP 程序了。 3 系統(tǒng)結(jié)構(gòu)設(shè)計系統(tǒng)結(jié)構(gòu)設(shè)計 本系統(tǒng)是一個 B/S 結(jié)構(gòu)的系統(tǒng),采用 IIS 5.0Microsoft AccessASP 作為開

20、發(fā)環(huán)境。它的發(fā)布需要有 Web 服務(wù)器的支持,且需要數(shù)據(jù)庫系統(tǒng)來對系統(tǒng)數(shù)據(jù) 進(jìn)行存儲,查詢,修改,刪除,及時更新系統(tǒng)信息。系統(tǒng)設(shè)計 6 個功能模塊,分別是網(wǎng) 站搜索模塊、圖片搜索模塊、分類目錄模塊、網(wǎng)站登錄模塊、網(wǎng)站管理模塊和 管理員登錄模塊。用戶登錄到首頁,首先進(jìn)入的是網(wǎng)站搜索界面。點擊頁面上其 他功能模塊的超鏈接,可進(jìn)入相應(yīng)的模塊界面。網(wǎng)站登錄模塊和網(wǎng)站管理模塊需 要用戶輸入用戶名和密碼,成功通過驗證才能進(jìn)入相應(yīng)的管理模塊,如果驗證失敗 則返回到前一個功能模塊界面。管理員登錄模塊同樣需要成功通過驗證才能進(jìn) 入相應(yīng)的管理模塊。但他又提供了網(wǎng)站審核、網(wǎng)站管理和分類目錄修改 3 個子 模塊。 3

21、.1 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計幾乎所有的 Web 項目都要基于數(shù)據(jù)庫,這使得數(shù)據(jù)庫的設(shè) 計在整個項目中舉足輕重。本購物系統(tǒng)中大部分前臺的顯示信息都是從數(shù)據(jù)庫 中讀取所需信息,而系統(tǒng)管理員則只需在后臺通過修改數(shù)據(jù)庫中的數(shù)據(jù)即可達(dá)到 改變前臺顯示內(nèi)容的目的,所以數(shù)據(jù)庫在本系統(tǒng)中作為中間介質(zhì)連接前臺和后臺, 其重要性不言而喻。本設(shè)計根據(jù)系統(tǒng)需求分析,選用 Microsoft Access 作為該系 統(tǒng)的數(shù)據(jù)庫。數(shù)據(jù)庫取名為 SEARCH.MDB,其中包含了系統(tǒng)中所有的數(shù)據(jù)。下 面對一些關(guān)鍵表作詳細(xì)說明。 網(wǎng)站登錄數(shù)據(jù)信息數(shù)據(jù)庫在數(shù)據(jù)庫中標(biāo)記的是 Web 數(shù)據(jù)表,它記錄的是網(wǎng) 第 4 頁

22、共 23 頁 站名稱、網(wǎng)站簡介、網(wǎng)站 Adress、是否審核、網(wǎng)站關(guān)鍵字、聯(lián)系人姓名、聯(lián)系 人 E-mail、聯(lián)系人 qq 號碼、聯(lián)系人 Adress、聯(lián)系人郵政編碼、網(wǎng)站登錄時間、 網(wǎng)站單擊次數(shù)、所屬子類名稱、子類路徑和所屬子類 ID。Web 表的具體結(jié)構(gòu)如 表 1 所示: 表 1 網(wǎng)站登錄數(shù)據(jù)表 字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型說明說明主關(guān)鍵字主關(guān)鍵字 ID自動編號編號* Title文本網(wǎng)站名稱 Content文本網(wǎng)站內(nèi)容簡介 URL文本網(wǎng)站 Adress Verify是/否管理員是否已經(jīng)確認(rèn) Keyword文本網(wǎng)站關(guān)鍵字 Name文本聯(lián)系人姓名 Email文本聯(lián)系人 E-mail QQ文

23、本聯(lián)系人 qq Address文本聯(lián)系人 Adress PostCode文本聯(lián)系人郵政編碼 Time日期/時間網(wǎng)站登錄時間 Click數(shù)字網(wǎng)站訪問次數(shù) Sort文本子類名稱 Sort_path文本子類路徑 Sort_ID數(shù)字子類 ID 分類目錄數(shù)據(jù)庫表在數(shù)據(jù)庫中標(biāo)記的是 Sort 數(shù)據(jù)表,它記錄的是子類信息,包 括子類名稱、父類 ID 和是否在首頁顯示。Sort 表的具體結(jié)構(gòu)如表 2 所示: 表 2 分類目錄數(shù)據(jù)表 字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型說明說明主關(guān)鍵字主關(guān)鍵字 ID自動編號編號* Sort文本子類名稱 Sort-ID數(shù)字父類 ID Show數(shù)字是否在首頁顯示 管理員數(shù)據(jù)表即:數(shù)據(jù)表

24、 Admin,記錄的是管理員的登錄名和密碼。具體結(jié)構(gòu) 第 5 頁 共 23 頁 如表 3 所示: 表 3 管理員數(shù)據(jù)表 字段名稱字段名稱字段名稱字段名稱說明說明字段名稱字段名稱 ID自動編號編號* UserName文本管理員登錄名 Password文本管理員密碼 圖片數(shù)據(jù)表即:PIC 數(shù)據(jù)表,記錄的是圖片編號、圖片名稱、圖片介紹、圖片 Adress、是否確認(rèn)、圖片關(guān)鍵字、小圖片相對路徑、大圖片相對路徑、圖片添 加的日期、網(wǎng)站訪問次數(shù)。具體結(jié)構(gòu)如表 5 所示: 表 4 圖片數(shù)據(jù)表 字段名稱字段名稱數(shù)據(jù)類型數(shù)據(jù)類型說明說明主關(guān)鍵字主關(guān)鍵字 id自動編號編號* Name文本圖片名稱 Introduc

25、e文本圖片內(nèi)容簡介 URL文本圖片 Adress Verify是/否管理員是否已經(jīng)確認(rèn) Keyword文本圖片關(guān)鍵字 smallImg文本小圖片相對路徑 bigImg文本大圖片相對路徑 recommendDate日期/時間設(shè)置為圖片添加的日期 Click數(shù)字網(wǎng)站訪問次數(shù) 3.2 系統(tǒng)的功能模塊圖系統(tǒng)的功能模塊圖 系統(tǒng)的功能模塊圖如圖 1 所示: 主界面 網(wǎng)站搜索 管理員登錄 圖片搜索 分類搜索 網(wǎng)站管理 網(wǎng)站登錄 第 6 頁 共 23 頁 圖 1 系統(tǒng)的功能模塊圖 4 系統(tǒng)前臺模塊設(shè)計系統(tǒng)前臺模塊設(shè)計 4.1 網(wǎng)站搜索及圖片搜索模塊的實現(xiàn)網(wǎng)站搜索及圖片搜索模塊的實現(xiàn) 4.1.1 功能描述功能描

26、述 用戶訪問系統(tǒng)時,首先接觸到的是首頁面 index.asp,它提供了到達(dá) 6 個功能模 塊的超鏈接,默認(rèn)顯示為網(wǎng)站搜索模塊。另外頁面還提供一個表單 from,讓用戶 輸入要搜索的關(guān)鍵字,當(dāng)用戶輸入關(guān)鍵字單擊搜索按鈕后,表單中的數(shù)據(jù)將被提交 到 search.asp 文件中處理。在 search.asp 首先讀取傳遞過來的數(shù)據(jù),然后判斷該數(shù) 據(jù)是否為空。如果不為空。則將數(shù)據(jù)分割為多個關(guān)鍵字,然后在數(shù)據(jù)庫中查找匹 配的記錄,并在頁面上顯示。 4.1.2 流程圖流程圖 在網(wǎng)站搜索模塊中,數(shù)據(jù)流程如圖 2 所示: 數(shù)據(jù)是否為空關(guān)鍵字處理否 是 輸入關(guān)鍵字 搜索并顯示 結(jié) 圖 2 網(wǎng)站搜索流程圖 4.

27、1.3 界面設(shè)計界面設(shè)計 搜索模塊的界面設(shè)計如圖 3 所示: 第 7 頁 共 23 頁 圖 3 網(wǎng)頁搜索模塊界面圖 圖片搜索結(jié)果如圖 4 所示: 圖 4 圖片搜索結(jié)果圖 4.1.4 代碼設(shè)計代碼設(shè)計 輸入關(guān)鍵字后,數(shù)據(jù)被提交到 search.asp 中,首先使用 Request 對象的 第 8 頁 共 23 頁 QueryString()方法讀取表單傳遞過來的關(guān)鍵字。 if keyword= then關(guān)鍵詞為空 給出提示,返回前一頁。history.back() 函數(shù)的作用是返回前一頁 response.write window.alert(請輸入關(guān)鍵詞!);history.back(); e

28、lse 然后將多個關(guān)鍵字進(jìn)行處理后分開保存在一維數(shù)組中: keyword = replace(keyword, )用空格替換關(guān)鍵詞中的字符 keyword = replace(keyword, )用空格替換關(guān)鍵詞中的字符 keyword = replace(keyword, )用空格替換關(guān)鍵詞中的字符 keyword = replace(keyword, )用空格替換關(guān)鍵詞中的中文字符, keyword = replace(keyword, ) 用空格替換關(guān)鍵詞中的英文字 符, keyword = replace(keyword, , ) keyword = replace(keyword,

29、, ) keyword = replace(keyword, , ) 清除多余的空格 keyword=ltrim(rtrim(keyword) 去掉關(guān)鍵詞左邊和右邊的空格。 函數(shù) LTrim 去掉字符串左邊空格,函數(shù) RTrim 去掉字符串右邊空格 keywordlist=split(keyword) 將用戶輸入的關(guān)鍵詞用空格分 成多個關(guān)鍵詞并保存在一維數(shù)組 keywordlist 中 然后在循環(huán)寫出查詢的 spl 語句: set rs=server.createobject(adodb.recordset)建立 RecordSet 對 象 for i=0 to ubound(keywordl

30、ist)ubound 函數(shù) 獲得數(shù)組最大下標(biāo)值 keywordlist(i) = Trim(keywordlist(i)Trim 函數(shù)去掉字 符串左邊和右邊函數(shù) sql=sql _ history.back(); else if email= then 聯(lián)系人電子郵 response.writewindow.alert(電子郵箱不能為空 );_ history.back(); 如果二者都不為空,則從數(shù)據(jù)庫中查詢 email 列的值為輸入電子郵箱的記錄。如 果存在記錄,則判斷輸入的用戶名是否正確,如果不正確,返回到登錄頁面。如果 全部正確,則登錄成功,保存聯(lián)系人登錄的電子郵箱和 id,并將頁面轉(zhuǎn)

31、到 jion_edit_ok.asp 修改頁面。進(jìn)行網(wǎng)站登錄信息的修改。 5 系統(tǒng)后臺模塊設(shè)計系統(tǒng)后臺模塊設(shè)計 前臺頁面可以看成是對數(shù)據(jù)庫中表的查詢,讀入,而后臺則是對數(shù)據(jù)庫中表 中的信息進(jìn)行修改,添加,刪除,從而改變前臺的顯示信息。后臺由管理員通過管 理員 id 和密碼登錄進(jìn)行操作。管理員登錄模塊示意圖如圖 7 所示: 管理員登錄 網(wǎng)站管理 網(wǎng)站審核 分類管理 退出系統(tǒng) 添加分類 刪除分類 修改分類 修改已審核網(wǎng)站 刪除已審核網(wǎng)站 修改未審核網(wǎng)站 刪除未審核網(wǎng)站 第 16 頁 共 23 頁 圖 7 管理員登錄模塊示意圖 5.1 網(wǎng)站管理模塊的實現(xiàn)網(wǎng)站管理模塊的實現(xiàn) 5.1.1 功能描述功能描

32、述 管理員登錄之后,首先進(jìn)入的就是網(wǎng)站管理模塊,該模塊管理員能夠?qū)σ褜徍?的網(wǎng)站進(jìn)行修改和刪除操作。網(wǎng)站管理模塊的界面如圖 8: 第 17 頁 共 23 頁 圖 8 管理模塊界面圖 5.1.2 工作流程和代碼設(shè)計工作流程和代碼設(shè)計 進(jìn)入該界面時,程序首先從數(shù)據(jù)庫中查詢 verify=0 的記錄,然后將所有的記錄 分頁顯示在頁面上。當(dāng)管理員單擊某個網(wǎng)站對應(yīng)的“刪除”超連接,就可以將該網(wǎng) 站及其所有信息從數(shù)據(jù)庫中刪除。執(zhí)行刪除文件的部分代碼如下: if session(admin)= then response.writewindow.alert(你目前還沒登錄,請先登錄!);_ location

33、.replace(index.asp); end if If Request(action)=delete Then delid=replace(request(id),)獲得要刪除記錄的 id,Replace 過程將獲得的 id 字符串中的用空字符替換 if delid= or isnull(delid) then要刪除的記錄 id 為空 則給出提示 response.write alert(操作失敗,沒有選擇合適參數(shù),請單擊確 定返回!); response.redirect main.asp返回到網(wǎng)站管理界 面 response.end elseid 存在 第 18 頁 共 23 頁 執(zhí)

34、行數(shù)據(jù)庫中的刪除操作,刪除數(shù)據(jù)庫中 id 列的值在 delid 數(shù)組中 的記錄 conn.Execute(delete * from web where ID in ( response.redirect main.asp 5.2 網(wǎng)站審核網(wǎng)站審核 網(wǎng)站審核模塊與網(wǎng)站管理模塊非常相似。不同的地方在于,網(wǎng)站審核模塊顯 示的所有網(wǎng)站均為未審核網(wǎng)站,已經(jīng)審核了的網(wǎng)站將不會在次頁面顯示。而網(wǎng)站 管理模塊顯示的是已審核網(wǎng)站,網(wǎng)站審核模塊查詢數(shù)據(jù)庫的代碼如下: Set rs=server,createobject(“adodb.recordset”) rs.open”select id,sort_id,t

35、itle.url.verify.click.time.from web where verify=-1 order by id desc”.conn,1,1 5.3 分類管理模塊分類管理模塊 5.3.1 分類編輯分類編輯 在分類顯示界面的每個分類的下面,對應(yīng)著一個“編輯”超連接,單擊該超連接,進(jìn) 入該分類的編輯界面,分類編輯界面和分類添加界面相同,二者的界面是由同一個 文件生成,進(jìn)入某一分類的界面,則在界面上顯示該分類保存在數(shù)據(jù)庫中的信息。 當(dāng)用戶輸入修改后的信息,單擊確定按扭,所有的數(shù)據(jù)將被提交到 sort_ok.asp 文件 中處理,部分處理代碼如下: case edit action 的

36、值為 edit show=request.form(show) 是否首頁顯示 sort_id=request.form(sort_id)上級 ID set rs=server.createobject(adodb.recordset)創(chuàng)建 RecordSet 對象 從數(shù)據(jù)庫中查詢 id 列的值為 request.form(id)的記錄,將結(jié)果保存在 rs 中 rs.open select * from sort where id= location.replace(sort_manage.asp); else response.write window.alert(分類修改成功); locat

37、ion.replace(sort.asp?sort_id= end If case delete 刪除操作 delid=request.QueryString(id) 讀取要刪除記錄的 id sort_id=Request.QueryString(sort_id)讀取 sort_id 的值 If sort_id = Then sort_id = 0 End If Del sort_id,delid if sort_id=0 then 判斷 sort_id 的值,并根據(jù) sort_id 的值 返回到不同的界面 response.write window.alert(分類刪除成功); locati

38、on.replace(sort_manage.asp); else response.write window.alert(分類刪除成功); location.replace(sort.asp?sort_id= end If end select 5.3.2 分類添加分類添加 在分類顯示界面的最下方,有一個“添加分類”超連接。單擊該超連接,能夠添 加當(dāng)前分類的下一層分類。界面中包含表單 forms,用來輸入要添加的分類信息。 表單中定義分類名稱文本域為 sort。首頁顯示為一個下拉列表 show??梢赃x擇 是否要在首頁顯示,默認(rèn)為否,上級 id 文本域為 sort_id。操作文本域為 acti

39、on。它 為只讀型,當(dāng)操作為添加時,文本域中顯示“add”。表單中還定義了一個隱藏域 id, 用來保存當(dāng)前分類的 id。其頁面顯示如圖 9 所示: 第 20 頁 共 23 頁 圖 9 分類添加界面圖 當(dāng)輸入要添加的分類信息并單擊“確定”按鈕后,表單中的數(shù)據(jù)被提交到 sort_ok.asp 文件中處理。在 sort_ok.asp 文件中,首先判斷用戶是否登錄,如果登錄,則 讀取操作 action 的值,如果 action 的值為 add,則執(zhí)行添加處理。分類添加的部分 代碼如下: action = request(action)h 讀取 action 的值 select case action

40、select 條件語句 case add action 的值為 add show=request.form(show) 是否首頁顯示 sort_id=request.form(sort_id)上級 ID set rs=server.createobject(adodb.recordset)創(chuàng)建 RecordSet 對象 從數(shù)據(jù)庫中查詢 id 為空的記錄,將結(jié)果保存在 rs 中 rs.open select * from sort where id is null,conn,1,3 rs.addnew 添加新記錄 rs(sort)=request.form(sort)分類名稱 rs(sort_i

41、d)=sort_id end If rs.update 更新數(shù)據(jù)庫 rs.close 關(guān)閉 RecordSet 對象 第 21 頁 共 23 頁 Set rs=nothing if sort_id= or sort_id = 0 then 判斷 sort_id 的值,并根據(jù) sort_id 的值返回到不同的界面 response.writewindow.alert(分類添加成功);_ location.replace(sort_manage.asp); else response.write window.alert(分類添加成功);_ location.replace(sort.asp?so

42、rt_id= end If 5.3.3 分類刪除分類刪除 刪除操作也是在 sort_ok.asp 文件中執(zhí)行的。在 sort_ok.asp 文件中,如果讀取 action 的值為 delete,則執(zhí)行刪除操作,在代碼中,首先讀取 id 和 sort_id 的值,然后 執(zhí)行 del()過程將所有相關(guān)分類刪除,最后根據(jù) sort_id 的值將頁面轉(zhuǎn)到相關(guān)頁。 其中 del()過程是一個遞歸過程,其基本思想是:首先判斷改分類的下級分類,對每 一個下級分類,如果是,則直接刪除改分類,完成操作。如果不是最下級分類,則查 詢該分類的下級分類,對每一下級分類,執(zhí)行與該分類同樣的操作,即首先根據(jù)情 況處理。最

43、后直到所有的下級分類以及下下級分類等都刪除掉,然后再將改分類 刪除。del()的具體代碼如下: Function Del(sort_id,id) Set drs = Server.CreateObject(ADODB.RecordSet) drs.Open Select * from sort where sort_id=&id,conn,1,3 If drs.EOF or drs.BOF Then 不存在滿足條件的 記錄,即該分類是最下級分類 conn.Execute(delete * from sort where ID=&id) 刪除該分類 Exit Function 跳出 Functi

44、on 過程 Else 還存在下級分類 Do While Not drs.EOF 循環(huán)處理每一個下 級分類 nid = drs(id) 下級分類的 id Del id,nid 刪除該下級分 類 drs.MoveNext 指向下一條記 錄 第 22 頁 共 23 頁 Loop End If drs.Close 關(guān)閉 RecordSet 對象 Set drs = nothing conn.Execute(delete * from sort where id=&id) 刪除該分類 End Function 6 系統(tǒng)性能測試系統(tǒng)性能測試 6.1 系統(tǒng)測試環(huán)境系統(tǒng)測試環(huán)境 本系統(tǒng)測試環(huán)境:CPU int

45、el(R)2.10GHz,內(nèi)存 SDRAM 256M,WIN20XX/XP,20XX 下均測試通過。 6.2 測試結(jié)果測試結(jié)果 在系統(tǒng)的各個模塊設(shè)計完成之后,需要對整個系統(tǒng)進(jìn)行全面的測試。目的是 讓整個系統(tǒng)能夠快速、穩(wěn)定、安全的運(yùn)行。在進(jìn)行系統(tǒng)測試過程中會出現(xiàn)如下 幾種情況: 1管理員能準(zhǔn)確無誤的對數(shù)據(jù)庫進(jìn)行修改。 2客戶能順利的進(jìn)行查詢、登錄和修改。 3管理員和客戶都能進(jìn)行基本信息的修改。 4可以安全退出系統(tǒng)。 5. 權(quán)限控制,通過 session 會話變量對管理員和用戶的權(quán)限進(jìn)行控制。 6. 頁面的編碼方式不同,需要的對字符串進(jìn)行轉(zhuǎn)碼操作。 結(jié)結(jié) 論論 通過此次課題的設(shè)計,我們深刻感覺到代

46、碼重用和合理建庫的重要性。代碼 重用是近年來軟件工程領(lǐng)域一直提倡的開發(fā)方法。同時,在開發(fā)過程中要注意質(zhì) 量管理,否則開發(fā)工作一旦進(jìn)行到后期,無論怎樣通過測試和補(bǔ)漏洞,都會無濟(jì)于 事。編碼的錯誤容易查出,但設(shè)計的錯誤如果帶到編碼階段就會使錯誤逐步擴(kuò)大, 最終很可能造成嚴(yán)重的后果。所以應(yīng)編寫一些公共的類的方法,提供統(tǒng)一的數(shù)據(jù) 讀寫方法,以降低代碼重用率。 文章首先介紹了搜索引擎的發(fā)展動向,然后對該系統(tǒng)所采用的技術(shù)以及數(shù)據(jù) 庫的設(shè)計作了詳細(xì)的分析和說明。然后再深入剖析該系統(tǒng)各功能模塊的詳細(xì)設(shè) 計思路。在論文的最后,建立了測試系統(tǒng),并根據(jù)系統(tǒng)的要求,對實現(xiàn)的功能進(jìn)行 第 23 頁 共 23 頁 了測試

47、。該系統(tǒng)操作簡單,通用性強(qiáng),可以滿足用戶對信息搜索的需要。并且對用 戶設(shè)定了網(wǎng)站的管理權(quán)限。普通用戶不需要登錄便可使用搜索功能。但是系統(tǒng) 還有如下工作需要進(jìn)一步研究: (1)數(shù)據(jù)庫的大小與搜索性能的關(guān)系 。目前并沒對數(shù)據(jù)庫的設(shè)計做優(yōu)化處 理。檢索速度的快慢會隨著數(shù)據(jù)庫的增大而變慢。因此下一步將對數(shù)據(jù)庫的優(yōu) 化作進(jìn)一步的研究。 (2)搜索功能缺乏人性化。目前比較流行的搜索引擎,如“百渡”和“谷歌”,都有 自己獨(dú)特的中文分詞算法和強(qiáng)大的中文分詞庫。對用戶輸入的關(guān)鍵字再進(jìn)行分 詞,才體現(xiàn)出現(xiàn)代搜索引擎的人性化特點。因此下一步還要對中文分詞的功能作 進(jìn)一步研究。 參考文獻(xiàn)參考文獻(xiàn) 1 張海藩.軟件工程導(dǎo)論M.北京:清華大學(xué)出版社,1999 2 方睿,刁仁宏,吳四九. 網(wǎng)絡(luò)數(shù)據(jù)庫原理及應(yīng)用M四川:四川大學(xué)出版社 3 鄧文淵.,陳惠貞. ASP 與網(wǎng)絡(luò)數(shù)據(jù)庫技術(shù)M.北京:中國鐵道出版社,20XX 4 吳濤.網(wǎng)站全程設(shè)計技術(shù)J.北京:清華大學(xué)出版社,20XX。 5 周楓,劉曉燕,李秀敏,李丹.軟件工程J.重慶:重慶大學(xué)出版社,1998 6 尹喆,馮碼,賈志博. Visual Basic 數(shù)據(jù)庫編程寶典譯M.北京:電子工業(yè)出版社,1998 7 石志國. ASP 精解案例教程M. 北方

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論