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

正文內(nèi)容

ftp搜索引擎設(shè)計(文件)

2024-12-31 10:16 上一頁面

下一頁面
 

【正文】 ......................................................................................................... 38 參考文獻 ...................................................................................................................... 39 第 1 頁 西華大學畢業(yè)設(shè)計說明書 前言 本設(shè)計主要是研究中文分詞技術(shù)的實現(xiàn)。 中文是由連續(xù)文字組成 ,缺乏有效的間隔,雖然有句、段分隔,但在進行機器語言學習、文本語義理解分析過程中都需以詞組為最小單位的。 研究中文分詞技術(shù)的主要目的是服務(wù)于搜索引擎。也可惜應(yīng)用到其它領(lǐng)域, 使得計算機能快速準確的處理中文信息。 中文分詞簡介 在英文的行文當中,單詞與單詞之間是以空格符作為自然分界符的,但是中文只是字、句和段能夠通過明顯的分界符來簡單分開,詞卻沒有一個表面上的分界符,雖然英文也同樣存在短語的劃分問題 ,但是在詞這一層上,中文比之英文要復雜的多、困難的多。按照掃描方向來區(qū)分,又可以分為正向匹配法和逆向匹配法;按照不同長 度優(yōu)先匹配的情況,可以分為最大匹配法和最小匹配法;按照與詞性標注過程是否相結(jié)合,又可以分為單純分詞方法和分詞與標注相結(jié)合的一體化方法。它通常分為三個部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。等待更好的完善。定義兩個字的相互出現(xiàn)次數(shù),計算兩個漢字相鄰共同出現(xiàn)的概率。但是這類方法也是有一定的局限性的,會經(jīng)常抽出一些共現(xiàn)頻度高、但并不能構(gòu)成詞的常用字組,例如 “之一 ”、 “這一 ”、 “我的 ”、 “有的 ”、 “許多的 ”等等。 中文分詞技術(shù)在中文信息檢索的應(yīng)用 在信息檢索系統(tǒng)中,人們是用自然語言輸入查詢信息的。把中 文翻譯成外文,最基礎(chǔ)的條件就是分詞要正確,才可以明白中文句段,然后才能做出正確的翻譯。 2) 當程序成功登錄某個 FTP 站點之后,程序會自動獲取其各級目錄下的文件和目錄列表,并且會獲取各個文件的大小、最后修改時間,最后程序會根據(jù)對照表 對獲取的各個文件進行分類。圖 21 搜索引擎系統(tǒng)工作圖 第 6 頁 西華大學畢業(yè)設(shè)計說明書 工作流程圖 圖 22 FTP 搜索引擎工作流程圖 第 7 頁 西華大學畢業(yè)設(shè)計說明書 3 FTP 搜索引爬蟲模塊擎詳細設(shè)計 設(shè) 計目的 如今很多企業(yè)和個人都建立了自己的 FTP 站點,在各個 FTP 站點中包含有大量的資源,如何才能快速的在浩如煙海的資源中找到自己需要的資源,已經(jīng)成為一個需要我們不得不解決的難題。在本次 Ftp 搜索引擎爬蟲模塊的設(shè)計里,我采用了 IP 掃描技術(shù)和手工添加技術(shù)的中和。 1) IP 地址分為四段(如: )每一段可能出現(xiàn)的值為 0~255,用程序控制 IP 地址段的進位( 256 進 1)。在實現(xiàn)是我 IP 地址轉(zhuǎn)換為十進制進行操作。在使用時,我們需要將這些數(shù)字再次轉(zhuǎn)化為 IP 地址。 long startIP, endIP。 for (long i = startIP。 } eturn listIP。因此后來放棄了這種方法,改用套接字的方式實現(xiàn),向指定站點發(fā)送 FTP 命令,然后獲取其回傳的數(shù)據(jù),由于這種方法可以自由的使用所有 FTP 命令,所以相對原有的方法更為靈活。當需要指定用戶名和密 碼是,可通過設(shè)置 Credentials 屬性來制定用于連接服務(wù)器的憑據(jù), 也可以將它們包含在傳遞給 Create 方法的 URI 的 UserInfo 部分中 。本次設(shè)計使用面向連接的協(xié)議( FTP),在進行數(shù)據(jù)通訊時使用 Send 和 Receive 方法實現(xiàn)。 下面列舉出本次設(shè)計使用的幾條重要的 FTP 命令: LIST:獲取 FTP 站點的文件和目錄清單 SIZE:獲取 FTP 站點指定文件的大小 MDTM:獲取 FTP 站點文件的最后修改時間 USER:登錄 FTP 站點使用的用戶名 PASS:登錄 FTP 站點的用戶密碼 QUIT:關(guān)閉 FTP 連接publicstaticbool DeleteFileOnServer(Uri serverUri){ if ( != ){ returnfalse。 (Delete status: {0},)。 IPEndPoint ep = newIPEndPoint((remoteHost), remotePort)。 } Reply()。 sendCommand(USER + remoteUser)。 sendCommand(PASS + remotePass)。 error = false。 2) 實現(xiàn)方法: 使用 Socket 中的 Send 命令,向 FTP 服務(wù)器發(fā) 送 LIST 命令。 sendCommand(LIST + mask)。 mes += (buffer, 0, bytes)。 2) 實現(xiàn)方法: 使用 Socket 中的 Send 命令,向 FTP 服務(wù)器發(fā)送 LIST 命令。 sendCommand(LIST + mask)。 mes += (buffer, 0, bytes)。同樣,使用Socket 提供的命令 Receive,接收指定字節(jié)數(shù)的數(shù)據(jù),并將數(shù)據(jù)存如緩沖區(qū),此處指定的緩沖區(qū)大小為 512 個字節(jié)。 } } sendCommand(SIZE + fileName)。 } return size。 從 FTP 站點上獲取的文件名中包含后綴名,使用 split()函數(shù)將文件的后綴名分離出來用于后綴名匹配。 styleLength = (strTmp)。 i++){ styleNames[i] = strTmp。結(jié)果最終發(fā)現(xiàn)當發(fā)送的字符轉(zhuǎn)換為 GB2312 后, FTP 服務(wù)器仍然不能正確解析,獲publicString GetStyle(String name) { String[] tmp = (39。 //獲取信息 foreach (String str in styleNames) { tmp = (39。 i 。 之后又嘗試將編碼方式改為 UTF8 編碼,結(jié)果仍然是不能解決漢字問題。 經(jīng)過努力,最后終于找到了修改的方法,代碼的修改其實很簡單,卻很容易讓人忽略,其方法為將代碼 Encoding ASCII= Encoding. ASCII 改為 Encoding ASCCI = 。因此,在做數(shù)據(jù)測試時,我選用了 Linux 風格的 ServU和 Windows 風格的 IIS 分別搭建了 FTP 服務(wù)器。通過使用 ServU,用戶能夠?qū)⑷魏我慌_ PC 設(shè)置成一個 FTP 服務(wù)器,這樣,用戶或其他使用者就能夠使用 FTP 協(xié)議,通過在同一網(wǎng)絡(luò)上的任何一臺 PC 與 FTP 第 19 頁 西華大學畢業(yè)設(shè)計說明書 服務(wù)器連接,進行文件或目錄的復制,移動,創(chuàng)建,和刪除等。 在編寫代碼時,發(fā)現(xiàn)現(xiàn)在失眠上兩款被廣泛使用 FTP 服務(wù)器軟件雖然可以使用相同的 FTP 命令做它們進行操作,但是在命令執(zhí)行之后,他們回傳的數(shù)據(jù)格式并不相同。然而雖然使用FTP 命令后對服務(wù)器的操作實現(xiàn)了兼容,但是回傳數(shù)據(jù)沒有兼容。 另外,要區(qū)別這兩組數(shù)據(jù)也并不困難。經(jīng)過分析,各組數(shù)據(jù)都有一個共同的特點,就是其中的間隔數(shù)是相同的,利用這一點, 可以從字符串的指定位置提取出需要的數(shù)據(jù)。 39。 for (Int32 i = 0。 j++。 } 第 22 頁 西華大學畢業(yè)設(shè)計說明書 ServU 部分的解析代碼: 圖 312 解析 ServU返回字符串 生成數(shù)據(jù)文件 生成的數(shù)據(jù)源文件主 要用于為后面的建立索引做準備。 bool flag = false。 i 。 } } if (j == 8){ dirName = (i).Replace(\r, )。由于前期已經(jīng)將實現(xiàn)將爬取的數(shù)據(jù)分目錄暫時存在內(nèi)存中。 分析文件結(jié)構(gòu)之后,其符合使用遞歸的特點,因此這部分使用遞歸的方式進行編碼實現(xiàn)。 (/)。 } foreach (FileData df in ) { ()。 ( + )。使用 StreamWriter 類,將變量中的數(shù)據(jù)按行寫入名為 ipList 的文件。 實現(xiàn)方法 原始數(shù)據(jù)是以 FTP站點為單位分開存儲的。他主要是為了提高在建立索引時掃描和劃分文件(夾)名的效率和在檢索數(shù)據(jù)時返回結(jié)果的效率。 第 29 頁 西華大學畢業(yè)設(shè)計說明書 圖 43attr文件 匯總屬性文件 設(shè)計思路 文件的 IO 操作通常會耗費大量的時間,由于源文件分散在各個目錄中,因此在讀取是不可避免的會頻 繁的打開和關(guān)閉文件進行操作。最后得到的文件 存放在 /Index/這個目錄里既是索引所在目錄如圖: 第 30 頁 西華大學畢業(yè)設(shè)計說明書 圖 44InfoIndex文件 雙字母建立索引 設(shè)計思路 如何才能快速有效的從原始數(shù)據(jù)中找出用戶需要的數(shù)據(jù),這是索引部分索要解決的最大問題,經(jīng)過查詢資料,倒排索引是目前各大搜索引擎所常用的索引建立方式。因此若建立索引時讀入整個漢字的編碼,在程序中會自動分別兩個部分處理,在檢索時不可避免的帶來誤差,因此,為了保持檢索的準確性,我們只讀入漢字編碼的一半(即一個字節(jié))?,F(xiàn)在的處理方法是:如果是單字節(jié)字符和單字節(jié)字符,則直接取 ASCII 碼建立索引;如果是單字節(jié)字符與漢字,則取單字節(jié)字符的 ASCII 碼和漢字的第二個 ASCII 碼建立索引;如果是漢字與漢字,則取第一個漢字的第一個 ASCII 碼與第二個漢字的第二個 ASCII 碼建立索引;如果是漢字與單字節(jié)字符,則取漢字的第一個 ASCII 碼和單字節(jié) ASCII 碼建立索引。 索引數(shù)據(jù)庫 設(shè)計思路 搜索引擎是對大量的數(shù)據(jù)進行處理,因此用到數(shù)據(jù)庫是必然的。 而使用文件系統(tǒng)來存儲時,這樣的查詢耗時一般就是零點幾秒。 字符編碼 設(shè)計思路 由于 ASCII 編碼并不支持漢字,因此不能選用其作為索引文件的編碼。 如果不對編碼進行統(tǒng)一或者進行轉(zhuǎn)換, 就會出現(xiàn) 編碼不匹配引的問題,比如網(wǎng)頁 亂碼 、郵件亂碼 等會引起很多不必要的麻煩。 在文件讀入時我們以 GB2312 的格式將文件讀入,由于爬蟲部分的數(shù)據(jù)是按照 GB2312 保存的,因此在此處不需要特殊的處理。 存在的問題和不足 由于在設(shè)計之初考慮不足,前期編寫的大量核心代碼不支持多線程運行。 第 37 頁 西華大學畢業(yè)設(shè)計說明書 總結(jié) 此次畢業(yè)設(shè)計的題目在此之前雖然有所了解,但是我卻從來也沒有深入的學習思考搜索引擎爬蟲模塊的實現(xiàn)方式,如何從浩如煙海的站點中找到提供 FTP 服務(wù) 的站點, FTP 站點如何匿名登錄等等一系列的問題在此之前,都沒有進行系統(tǒng)的了解。從最初的實現(xiàn)功能到后來的完善功能,在這個過程中自己不斷的學習和成長,直到后來,發(fā)現(xiàn)一個基本的網(wǎng)絡(luò)爬蟲的實現(xiàn)其實并不困難,難的是如何讓這個網(wǎng)絡(luò)爬蟲能夠高效率并且穩(wěn)定的工作。劉老師倡導我們的獨立思考,不懂的問題自己親自動手查資料,實在是解決不了的問他會細心耐心的給我們講解。 同樣, FTP 搜索引擎由多個同學協(xié)同完成,沒有這個團隊的協(xié)作,最終也不能完成本次設(shè)計,在這里也對在本次設(shè)計中給與我?guī)椭凸膭畹耐瑢W表示感謝。在本次畢業(yè)設(shè)計中,我從對任務(wù)書上的要求完全陌生到最后能夠的完成本次畢業(yè) 設(shè)計,讓我體會到不懂不會并不可怕,通過自我學習,我們已經(jīng)能夠解決一些我們現(xiàn)在不會的問題。 總的來說,這次畢業(yè)設(shè)計完成之后,不但學到了書本以外的知識,而且還增長了自己發(fā)現(xiàn)問題解決問題的能力,同時也提高了團隊合作的意識,對以后的工作和生活將起來很大的作 用,對于所做任務(wù)網(wǎng)絡(luò)爬蟲的認識也有了很大的提
點擊復制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1