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

正文內(nèi)容

ftp搜索引擎設(shè)計(jì)-wenkub.com

2024-12-03 10:16 本頁(yè)面
   

【正文】 這次畢業(yè)設(shè)計(jì)對(duì)我的自學(xué)能力也是一個(gè)驗(yàn)證,大學(xué)四年,最大的收獲就是老師培養(yǎng)了我們自我的學(xué)習(xí)的能力,在此對(duì)老師們表示感謝。 第 38 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 致謝 在劉老師的耐心指導(dǎo)下,經(jīng)過(guò)長(zhǎng)三個(gè)月的漫長(zhǎng)實(shí)踐,我順利的完成了這次畢業(yè)設(shè)計(jì)任務(wù)。 然而通過(guò)網(wǎng)上查閱資料和查看劉老師提供的資料,漸漸發(fā)現(xiàn)網(wǎng)絡(luò)爬蟲(chóng)其實(shí)并沒(méi)有自己想象中那么神秘,經(jīng)過(guò)自己的不斷學(xué)習(xí)和摸索以及劉老師耐性的指導(dǎo),F(xiàn)TP 搜索引擎爬蟲(chóng)模塊的框架漸漸在我的腦海中清晰起來(lái),如何獲取 FTP 站點(diǎn)地址,如何從 FTP 站點(diǎn)獲取文件,如何實(shí)現(xiàn) Linux 和 Windows 下 FTP 站點(diǎn)的兼容,甚至如何利用 IIS 和 ServU 配置一個(gè)自己的 FTP 站點(diǎn),這些問(wèn)題一個(gè)一個(gè)被解決。在以后的設(shè)計(jì)中對(duì)這類問(wèn)題應(yīng)該盡可能的避免。 圖 11 索引運(yùn)行結(jié)果 經(jīng)過(guò)該程序的運(yùn)行在 /Index/目錄下自動(dòng)生成了 文件。我們的搜索引擎一般也是針對(duì)這些平臺(tái)上的文件,為了使搜索引擎對(duì)數(shù)據(jù) 第 34 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 的處理更為有效,我們將此 FTP 搜索引擎文件的編碼統(tǒng)一為 GB2312。字符的編碼有多種包括 ASCII編碼 、 EBCDIC編碼、 GB2312編碼、 Unicode編碼、 UTF8編碼、以及 Base64編碼。這次次設(shè)計(jì)中,利用雙字幕建立了一個(gè)文件系統(tǒng),達(dá)到了快速搜索的要求。 比如一個(gè)采用 MySQL存儲(chǔ)的客戶信息表數(shù)據(jù)記錄達(dá)到 500萬(wàn)行以上時(shí),就算增加再多的索引,采用標(biāo)準(zhǔn) select語(yǔ)句執(zhí)行查詢時(shí),所需時(shí)間至少也在 2分鐘以上, Oracle數(shù)據(jù)庫(kù)雖然可以采用分區(qū),或采用 Oracle的內(nèi)置函數(shù)來(lái)輔助查詢, 但 時(shí)間也在 1分鐘以上。以此類推直到掃描完整個(gè) path文件。這是因?yàn)?178 和 214 組成了一個(gè)新的字“倉(cāng)”,如果我們以連續(xù)的兩個(gè) ASCII 碼建立索引,當(dāng)搜索“倉(cāng)”時(shí)含有圓周的項(xiàng)將顯示出來(lái),然而圓周里面并不含有倉(cāng)字。 由于我們采用 ASCII 碼建立索引,而漢字編碼 GB2312 編碼長(zhǎng)度為 ASCII 碼的 第 31 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 兩倍。 由于整個(gè) attr 文件存儲(chǔ)位置的特殊性,所以在匯總時(shí)是比較容易的。得到這兩個(gè)文件后就進(jìn)入下一步。 Path 文件是一個(gè)用來(lái)存放原始數(shù)據(jù)文件名、文件夾名以及目錄記錄的如圖 。因此,提前執(zhí)行一次數(shù)據(jù)處理,這樣在后面建立文件索引時(shí)效率會(huì)有效的提高。在程序運(yùn)行結(jié)束之后,類型為 ListString的變量中存儲(chǔ)的數(shù)據(jù)即為有效的FTP 站點(diǎn)信息。 } ( + )。 foreach (DocumentData t in ) { (dir_tmp[ 1])。 privatevoid show(DocumentData dd) { if (key) { key = false。如此重復(fù),直到列出了所有的資源數(shù)據(jù)。 } 第 23 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 設(shè)計(jì)思路 這部分功能主要是將爬蟲(chóng)模塊獲取的文件按照指定的格式存為文件,以便為建立索引,方便檢索。 j++。 for (Int32 i = 0。 39。 } } return dirName。 } else{ if (blank != chars[i]) { flag = false。 Char[] chars = ()。 Char blank = 39。 rwrwrw 1 user group 0 Mar 29 23:14 aa (2) .txt rwrwrw 1 user group 0 Mar 29 23:14 aa (3).txt rwrwrw 1 user group 0 Mar 29 23:14 aa (4).txt rwrwrw 1 user group 0 Mar 29 23:14 aa (5).txt rwrwrw 1 user group 0 Mar 29 23:14 aa (6).txt rwrwrw 1 user group 0 Mar 29 23:14 aa (7).txt rwrwrw 1 user group 0 Mar 29 23:14 aa (8).txt rwrwrw 1 user group 56755096 Mar 27 11:24 drwxrwxrwx 1 user group 0 Apr 22 16:43 New Folder 032911 11:14PM 0 aa (2) .txt 032911 11:14PM 0 aa (3).txt 032911 11:14PM 0 aa (4).txt 032911 11:14PM 0 aa (5).txt 032911 11:14PM 0 aa (6).txt 032911 11:14PM 0 aa (7).txt 032911 11:14PM 0 aa (8).txt 032711 11:24AM 56755096 042211 04:43PM DIR New Folder 第 21 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 由于回傳字符串的問(wèn)題,對(duì)于這兩種風(fēng)格的字符串必須分別編寫代碼對(duì)它們進(jìn)行解析。但是經(jīng)過(guò)觀察,兩組數(shù)據(jù)的相同點(diǎn)也有很多,比如各組數(shù)據(jù)在其中所占的字符數(shù)大致相同(文件名除外),這為我從中提取有效數(shù)據(jù)帶來(lái)了很多便利。 解決方法 如何解決兼容性問(wèn)題是程序開(kāi)發(fā)中的一個(gè)難題,在本次設(shè)計(jì)開(kāi)始之初,我就考慮過(guò)這個(gè)問(wèn)題,盡量的 使用了標(biāo)準(zhǔn)的命令來(lái)對(duì)服務(wù)器進(jìn)行操作。 問(wèn)題描述 由于可用于搭建 FTP 站點(diǎn)的服務(wù)器多種多樣,如何能夠較好的兼容各 種社會(huì)上所使用的 FTP 服務(wù)器成為一個(gè)不容我忽視的問(wèn)題。 ServU 是目前眾多的 FTP 服務(wù)器軟件之一。 服務(wù)器兼容 測(cè)試環(huán)境介紹 現(xiàn)階段市面上使用的操作系統(tǒng)只要有 Windows 系列和 Linux,而兩個(gè)系統(tǒng)的數(shù)據(jù)傳輸?shù)娘L(fēng)格并不相同。由于改動(dòng)這個(gè)FTP 類會(huì)對(duì)本程序造成較大的改動(dòng),所 以我仍然決定在現(xiàn)有的基礎(chǔ)上對(duì)程序進(jìn)行修改。 } 第 18 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 取文件大小以及最后修改時(shí)間是仍然會(huì)發(fā)生錯(cuò)誤。 for (Int32 i = 1。 String extensionName = tmp[ 1]。因?yàn)?ASCII 編碼不支持漢字,而 GB2312 支持漢字。 (strTmp = ()) != null。 strTmp = ()。 2) 實(shí)現(xiàn)方法: 使用 . Framework 中提供的文件讀取類 StreamReader,將文件分類列表讀入內(nèi)存,與從 FTP 站點(diǎn)上獲取的文件的后綴名進(jìn)行逐一的匹配操作,若成功,返回類型編號(hào),失敗返回一個(gè)默認(rèn)值。 } else{ thrownewIOException((4))。 } catch { return null。 2) 實(shí)現(xiàn)方法: 使用 Socket 中的 Send 命令,向 FTP 服務(wù)器發(fā)送 SIZE 命令。 while (true) { Int32 bytes = (buffer, , 0)。 下面是用于獲取數(shù)據(jù)的主要代碼: 圖 35 獲取目錄列表 Socket cSocket = createDataSocket()。 在此處遇到了一個(gè)服務(wù)其兼容的問(wèn)題,測(cè)試時(shí)發(fā)現(xiàn) FTP 服務(wù)器返回的數(shù)據(jù)格式風(fēng)格不同,如 IIS 和 ServU, IIS 返回的數(shù)據(jù)為 Windows 風(fēng)格,而 ServU返回的數(shù)據(jù)則是 Linux 風(fēng)格,因此這里對(duì)于返回?cái)?shù)據(jù)的處理不可能用同樣的方法,具體解決方法請(qǐng)參見(jiàn) 服務(wù)器兼容中的描述。 while (true) { Int32 bytes = (buffer, , 0)。 下面是用于獲取數(shù)據(jù)的主要代碼: Socket cSocket = createDataSocket()。 在此處遇到了一個(gè)服務(wù)其兼容的問(wèn)題,測(cè)試時(shí)發(fā)現(xiàn) FTP 服務(wù)器返回的數(shù)據(jù)格式風(fēng)格不同,如 IIS 和 ServU, IIS 返回的數(shù)據(jù)為 Windows 風(fēng)格,而 ServU返回的數(shù)據(jù)則是 Linux 風(fēng)格,因此這里對(duì)于返回?cái)?shù)據(jù)的處理不可能用同樣的方法,具體解決方法請(qǐng)參見(jiàn) 服務(wù)器兼容中的描述。 } } logined = true。 } if (retValue != 230){ if (debug) (PASS xxx)。 } if (debug) (USER + remoteUser)。 } catch (Exception ex) { thrownewIOException()。 } 第 12 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 下面給出部分代碼(用于登錄 FTP 服務(wù)器): 圖 33 socket方式 publicvoid login(){ clientSocket = newSocket(, , )。 FtpWebResponse response = (FtpWebResponse) ()。 使用套接字實(shí)現(xiàn)獲取數(shù)據(jù),可以在代碼中選取自己需要的 FTP 命令使用,因此相比使用 FtpWebRequest 類庫(kù),這種方式擁 有更好的靈活性,可以按照自己程序的需要定制。(如 ListDirectory 對(duì)應(yīng)的是FTP 命令中的 NLIST 命令, ListDirectoryDetails 對(duì)應(yīng)的是 FTP 命令中的 LIST命令)下面簡(jiǎn)要介紹一下這種方法的使用方式(以下代碼執(zhí)行了一次文件刪除操作) 第 11 頁(yè) 西華大學(xué)畢業(yè)設(shè)計(jì)說(shuō)明書(shū) 圖 32FtpWebRequest 方式 2) 使用套接字( Socket)方式: 如果編寫過(guò)網(wǎng)絡(luò)程序,那么您對(duì)這種實(shí)現(xiàn)方法一定并不陌生,在 . 中Socket 類為網(wǎng)絡(luò)提供了一套豐富的方法和屬性。注意,這里 必須擁有服務(wù)器的有效用戶名和密碼,或者服務(wù)器必須允許匿名登錄 。但是后來(lái)發(fā)現(xiàn)FtpWebRequest 類庫(kù)中提供的功能并不能很好的滿足本次設(shè)計(jì)的需要,并且對(duì)目標(biāo) FTP 站點(diǎn)的配置有一定的要求。 (())。 resultIP。 FTP 站點(diǎn)會(huì)根據(jù)請(qǐng)求回傳的數(shù)據(jù),若請(qǐng)求有誤,則會(huì)回傳錯(cuò) publicListString newGetIPList() { ListString listIP = newListstring()。 在上面的循環(huán)操作執(zhí)行完成之后,我們可以得到一個(gè) IP 地址表,注意,此時(shí) IP 地址表中的 IP 地址均以十進(jìn)制的數(shù)字方式保存。由十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換得到啟發(fā)。 實(shí)現(xiàn)方法 根據(jù)網(wǎng)段生成 IP 地址的方法多種多樣,在本次設(shè)計(jì)時(shí),我考慮過(guò)以下兩種方法。 功能模塊設(shè)計(jì) 網(wǎng)段掃描 設(shè)計(jì)思路 經(jīng)過(guò)查閱 資料,由于 Ftp 搜索引擎與 WWW 搜索引擎最大的區(qū)別就在于 Ftp 站點(diǎn)內(nèi)沒(méi)有與 WWW 頁(yè)面相對(duì)應(yīng)的超鏈接,因而 Ftp 搜索引擎的站點(diǎn)獲得策略就不能模仿搜索引擎業(yè)非常時(shí)興的超鏈分析技術(shù)。 在索引模塊中,會(huì)根據(jù)爬蟲(chóng)模塊獲取的數(shù)據(jù),進(jìn)行處理,建立索引數(shù)據(jù)庫(kù)。 FTP 搜索引
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1